From b82cd63ea0804ae922bb3f3497d34098414a9253 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 12 Nov 2013 09:23:09 +0200 Subject: [PATCH 001/420] Change CRCHOLD to NETHOLD in paper_crc_thread This makes the hold-off mechanism the same for both paper_crc_thread and paper_net_thread. --- src/paper_crc_thread.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/paper_crc_thread.c b/src/paper_crc_thread.c index bfaff46d..f58f06fe 100644 --- a/src/paper_crc_thread.c +++ b/src/paper_crc_thread.c @@ -78,18 +78,18 @@ static void *run(hashpipe_thread_args_t * args) // Force ourself into the hold off state hashpipe_status_lock_safe(&st); - hputi4(st.buf, "CRCHOLD", 1); + hputi4(st.buf, "NETHOLD", 1); hashpipe_status_unlock_safe(&st); while(holdoff) { // We're not in any hurry to startup sleep(1); hashpipe_status_lock_safe(&st); - // Look for CRCHOLD value - hgeti4(st.buf, "CRCHOLD", &holdoff); + // Look for NETHOLD value + hgeti4(st.buf, "NETHOLD", &holdoff); if(!holdoff) { // Done holding, so delete the key - hdel(st.buf, "CRCHOLD"); + hdel(st.buf, "NETHOLD"); } hashpipe_status_unlock_safe(&st); } From 0a28c448435658d37a3aeefb70ec5839dd0739dc Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 12 Nov 2013 11:21:49 +0200 Subject: [PATCH 002/420] Add xtor_up.sh and xtor_down.sh scripts --- src/Makefile.am | 4 +- src/xtor_down.sh | 96 +++++++++++++++++++++++++++++++++++ src/xtor_up.sh | 129 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+), 1 deletion(-) create mode 100755 src/xtor_down.sh create mode 100755 src/xtor_up.sh diff --git a/src/Makefile.am b/src/Makefile.am index 294b3399..e8a5a603 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -33,7 +33,9 @@ paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" # Installed scripts dist_bin_SCRIPTS = paper_init.sh \ paper_crc_init.sh \ - xeng_init.sh + xeng_init.sh \ + xtor_down.sh \ + xtor_up.sh # Non-installed test programs noinst_PROGRAMS = paper_fluff_test diff --git a/src/xtor_down.sh b/src/xtor_down.sh new file mode 100755 index 00000000..71fb2ec5 --- /dev/null +++ b/src/xtor_down.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +# Script to totally take down the paper correlator X engines. +# +# Usage: xtor_down.sh [SLICES] +# +# SLICES is optional. It is a list of numbers corresponding to pxN hosts. If +# not given, it defaults to {1..8}, i.e. all pxN hosts for PSA256. +# +# Examples: +# +# # Shutdown px1..px8 +# $ xtor_down.sh +# +# # Shutdown px3 only +# $ xtor_down.sh 3 +# +# # Shutdown px1, px2, and px3 only +# $ xtor_down.sh 1 2 3 + +# Name of PAPER server +PAPER=paper1 + +# Make sure we are on the PAPER server +hostname=`hostname -s` +if [ $hostname != $PAPER ] +then + echo "This script must be run on the PAPER server (i.e. ${PAPER}), not ${hostname}" + exit 1 +fi + +# If no parameters are given (the normal case), use slices {1..8} +if [ $# -eq 0 ] +then + set {1..8} +fi + +# Stop taking data +echo -n "stopping cn_rx.py" +pkill -INT cn_rx.py + +# Wait upto 20 seconds for data taking to stop +timeout=20 +while [ $timeout -gt 0 ] && pgrep cn_rx.py > /dev/null +do + echo -n . + timeout=$((timeout-1)) + sleep 1 +done +echo + +if [ $timeout -eq 0 ] +then + echo 'timeout!' +fi + +if pgrep cn_rx.py > /dev/null +then + echo 'cn_rx.py still running!' +fi + +# Just to be sure +echo "killing cn_rx.py (just to be sure)" +pkill cn_rx.py +pkill -9 cn_rx.py + +# Stop integrations +echo "stopping integrations" +paper_ctl.rb stop + +# Stop hashpipe-redis gateways +echo "stopping hashpipe-redis gateways" +redis-cli -h redishost publish hashpipe:///gateway quit + +# Just to be sure +echo "killing any remaining hashpipe-redis gateways" +for x; do ssh px$x pkill -f hashpipe_redis_gateway.rb; done +for x; do ssh px$x pkill -9 -f hashpipe_redis_gateway.rb; done + +# Stop hashpipe instances +echo "killing hashpipe instances" +for x; do ssh px$x pkill hashpipe; done +for x; do ssh px$x pkill -9 hashpipe; done + +# Delete shared memory and semaphores +echo "deleting shared memory and semaphores" +for x; do + for i in {0..3}; do + ssh px$x hashpipe_clean_shmem -d -I $i > /dev/null + done +done + +# Just to be sure +echo "nuking any remaining shared memory and semaphores" +for x; do ssh px$x 'ipcs -m | awk "/0x/{print \"ipcrm -m\", \$2}" | sh'; done +for x; do ssh px$x 'ipcs -s | awk "/0x/{print \"ipcrm -s\", \$2}" | sh'; done diff --git a/src/xtor_up.sh b/src/xtor_up.sh new file mode 100755 index 00000000..0a49dabc --- /dev/null +++ b/src/xtor_up.sh @@ -0,0 +1,129 @@ +#!/bin/bash + +# Script to bring up the PAPER correlator. Assumes that correlator is +# completely down (e.g. after power up or after running xtor_down.sh). + +# Usage: xtor_up.sh [-f [-m MODE]] [-x|-c] [SLICES] + +# Passing the "-f" option brings up the F engines. +# Passing the "-x" option brings up the X engines. +# Passing the "-c" option brings up the CRC check engines. +# Passing both -x and -c is not allowed. +# +# Passing -m MODE allows setting the corner turner mode of the F engines. +# +# MODE=0 == 8-way correlator (8 ROACH2s + 8 X Boxes) +# MODE=1 == 4-way correlator (4 ROACH2s + 4 X Boxes) +# MODE=2 == 2-way correlator (2 ROACH2s + 4 X Boxes) +# MODE=3 == 1-way correlator (1 ROACH2 + 1 X Boxes) +# +# Examples: +# +# # Bring up the PAPER correlator +# $ xtor_up.sh +# +# # Bring up slice 1 F engine only (pf1) with corner tuner mode 3 +# $ xtor_up.sh -f -m 3 1 +# +# # Bring up slices 1..4 CRC check engines only (px1..px4) +# $ xtor_up.sh -c 1..4 + +do_f= +do_x= +do_c= +paper_init=paper_init.sh +xc=X +ctmode=0 + +while getopts :fxcm: opt +do + case $opt in + f) + do_f=1 + ;; + m) + ctmode=$OPTARG + ;; + x) + do_x=1 + ;; + c) + do_c=1 + paper_init=paper_crc_init.sh + xc=C + ;; + ?) + echo Invalid option: -$OPTARG + echo usage: `basename $0` [-f] [-x] [-c] [SLICES] + exit + ;; + esac +done +shift $((OPTIND-1)) + +# If both x and c were given, error out +if [ -n "${do_x}" -a -n "${do_c}" ] +then + echo "error: cannot give both x and c options" + exit 1 +# Else, if neither f nor x nor c given, assume f and x +elif [ -z "${do_f}${do_x}${do_c}" ] +then + do_f=1 + do_x=1 +fi + +# If no slices were given, do slices 1..8 +if [ $# -eq 0 ] +then + set {1..8} +fi + +fhosts=$(echo "$@" | sed 's/^/pf/;s/ / pf/g') +xhosts=$(echo "$@" | sed 's/^/px/;s/ / px/g') + +#echo do_f=${do_f} +#echo mode=${ctmode} +#echo do_x=${do_x} +#echo do_c=${do_c} +#echo "slices: ${@}" +#echo "fhosts: ${fhosts}" +#echo "xhosts: ${xhosts}" +#exit + +if [ -n "$do_f" ] +then + # Program ROACH2 FPGAs with roach2_fengine design + echo Programming F Engines $fhosts + for f in $fhosts; do adc16_init.rb $f roach2_fengine; done + + # Initialize F engines + echo Initializing F Engines $fhosts + paper_feng_init.rb -m $ctmode $fhosts +fi + +if [ -n "$do_x" -o "$do_c" ] +then + # Start X engines + echo Starting $xc Engine instances on $xhosts + for x in $xhosts + do + ssh $x ${paper_init} 0 1 2 3 & + done + + wait + + # Start hashpipe-redis gateways + echo Starting hashpipe-redis gateways on $xhosts + for x in $xhosts + do + ssh $x hashpipe_redis_gateway.rb -g $x + done + + # Let the gateways come up + sleep 1 + + # Turn off HOLD flag on all instances + echo Enabling all X Engine network threads + redis-cli -h redishost publish hashpipe:///set NETHOLD=0 +fi From c5c8b0ca614c164fe9ae9e72bc24b98a6b33e583 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 12 Nov 2013 11:40:45 +0200 Subject: [PATCH 003/420] Provide -h and --help options for xtor scripts --- src/xtor_down.sh | 64 +++++++++++++++++++++++++++++----------- src/xtor_up.sh | 76 +++++++++++++++++++++++++++++------------------- 2 files changed, 93 insertions(+), 47 deletions(-) diff --git a/src/xtor_down.sh b/src/xtor_down.sh index 71fb2ec5..00d0dc87 100755 --- a/src/xtor_down.sh +++ b/src/xtor_down.sh @@ -1,22 +1,52 @@ #!/bin/bash -# Script to totally take down the paper correlator X engines. -# -# Usage: xtor_down.sh [SLICES] -# -# SLICES is optional. It is a list of numbers corresponding to pxN hosts. If -# not given, it defaults to {1..8}, i.e. all pxN hosts for PSA256. -# -# Examples: -# -# # Shutdown px1..px8 -# $ xtor_down.sh -# -# # Shutdown px3 only -# $ xtor_down.sh 3 -# -# # Shutdown px1, px2, and px3 only -# $ xtor_down.sh 1 2 3 +show_help_and_exit() { +cat <<. +Script to totally take down the paper correlator X engines. + +Usage: xtor_down.sh [-h] [SLICES] + +The -h option shows this help message. + +SLICES is optional. It is a list of numbers corresponding to pxN hosts. If +not given, it defaults to {1..8}, i.e. all pxN hosts for PSA256. + +Examples: + + # Shutdown px1..px8 + $ xtor_down.sh + + # Shutdown px3 only + $ xtor_down.sh 3 + + # Shutdown px1, px2, and px3 only + $ xtor_down.sh 1 2 3 +. +exit $1 +} + +while getopts :h-: opt +do + case $opt in + h) + show_help_and_exit 0 + ;; + -) + if [ $OPTARG == 'help' ] + then + show_help_and_exit 0 + else + echo Invalid option: --$OPTARG + show_help_and_exit 1 + fi + ;; + ?) + echo Invalid option: -$OPTARG + show_help_and_exit 1 + ;; + esac +done +shift $((OPTIND-1)) # Name of PAPER server PAPER=paper1 diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 0a49dabc..24999062 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -1,32 +1,37 @@ #!/bin/bash -# Script to bring up the PAPER correlator. Assumes that correlator is -# completely down (e.g. after power up or after running xtor_down.sh). - -# Usage: xtor_up.sh [-f [-m MODE]] [-x|-c] [SLICES] - -# Passing the "-f" option brings up the F engines. -# Passing the "-x" option brings up the X engines. -# Passing the "-c" option brings up the CRC check engines. -# Passing both -x and -c is not allowed. -# -# Passing -m MODE allows setting the corner turner mode of the F engines. -# -# MODE=0 == 8-way correlator (8 ROACH2s + 8 X Boxes) -# MODE=1 == 4-way correlator (4 ROACH2s + 4 X Boxes) -# MODE=2 == 2-way correlator (2 ROACH2s + 4 X Boxes) -# MODE=3 == 1-way correlator (1 ROACH2 + 1 X Boxes) -# -# Examples: -# -# # Bring up the PAPER correlator -# $ xtor_up.sh -# -# # Bring up slice 1 F engine only (pf1) with corner tuner mode 3 -# $ xtor_up.sh -f -m 3 1 -# -# # Bring up slices 1..4 CRC check engines only (px1..px4) -# $ xtor_up.sh -c 1..4 +show_help_and_exit() { +cat <<. +Script to bring up the PAPER correlator. Assumes that correlator is +completely down (e.g. after power up or after running xtor_down.sh). + +Usage: xtor_up.sh [-f [-m MODE]] [-x|-c] [SLICES] + +Passing the "-f" option brings up the F engines. +Passing the "-x" option brings up the X engines. +Passing the "-c" option brings up the CRC check engines. +Passing both -x and -c is not allowed. + +Passing -m MODE allows setting the corner turner mode of the F engines. + +MODE=0 == 8-way correlator (8 ROACH2s + 8 X Boxes) +MODE=1 == 4-way correlator (4 ROACH2s + 4 X Boxes) +MODE=2 == 2-way correlator (2 ROACH2s + 4 X Boxes) +MODE=3 == 1-way correlator (1 ROACH2 + 1 X Boxes) + +Examples: + + # Bring up the PAPER correlator + $ xtor_up.sh + + # Bring up slice 1 F engine only (pf1) with corner tuner mode 3 + $ xtor_up.sh -f -m 3 1 + + # Bring up slices 1..4 CRC check engines only (px1..px4) + $ xtor_up.sh -c 1..4 +. +exit $1 +} do_f= do_x= @@ -35,7 +40,7 @@ paper_init=paper_init.sh xc=X ctmode=0 -while getopts :fxcm: opt +while getopts :fxcm:h-: opt do case $opt in f) @@ -52,10 +57,21 @@ do paper_init=paper_crc_init.sh xc=C ;; + h) + show_help_and_exit 0 + ;; + -) + if [ $OPTARG == 'help' ] + then + show_help_and_exit 0 + else + echo Invalid option: --$OPTARG + show_help_and_exit 1 + fi + ;; ?) echo Invalid option: -$OPTARG - echo usage: `basename $0` [-f] [-x] [-c] [SLICES] - exit + show_help_and_exit 1 ;; esac done From 078054c714e7fbe104c2c41dc29f0e16d23595ad Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Sat, 16 Nov 2013 18:17:44 +0200 Subject: [PATCH 004/420] Set digital gain of 4 in xtor_up.sh I think we might need to have individual gain settings for all the input channels... --- src/xtor_up.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 24999062..c3616909 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -111,7 +111,7 @@ if [ -n "$do_f" ] then # Program ROACH2 FPGAs with roach2_fengine design echo Programming F Engines $fhosts - for f in $fhosts; do adc16_init.rb $f roach2_fengine; done + for f in $fhosts; do adc16_init.rb -r 0x2a=0x4444 $f roach2_fengine; done # Initialize F engines echo Initializing F Engines $fhosts From e16ebc7fb0bd5fa052f27001066283949e01b38d Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Mon, 18 Nov 2013 10:05:51 +0200 Subject: [PATCH 005/420] Remove obsolete xeng_init.sh script It has been superseded by xtor_up.sh. --- src/Makefile.am | 1 - src/xeng_init.sh | 42 ------------------------------------------ 2 files changed, 43 deletions(-) delete mode 100755 src/xeng_init.sh diff --git a/src/Makefile.am b/src/Makefile.am index e8a5a603..ce17f3cc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -33,7 +33,6 @@ paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" # Installed scripts dist_bin_SCRIPTS = paper_init.sh \ paper_crc_init.sh \ - xeng_init.sh \ xtor_down.sh \ xtor_up.sh diff --git a/src/xeng_init.sh b/src/xeng_init.sh deleted file mode 100755 index 79bcb2af..00000000 --- a/src/xeng_init.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# xeng_init.sh - Initialize X engines - -xeng_hosts=$(echo px{1..8}) -instances="0 1" - -paper_init=/usr/local/bin/paper_init.sh -hpr_gateway=/usr/local/bin/hashpipe_redis_gateway.rb -cudarc=/usr/local/cuda/cuda.sh - -function start() { - for x in $xeng_hosts - do - echo "Starting X engines on ${x}" - ssh obs@$x " - source $cudarc; - $paper_init ${instances} /dev/null 2>&1; - $hpr_gateway -g ${x} /dev/null 2>&1 & - " - done - sleep 1 - echo 'Clearing MISSEDPK counters' - redis-cli -h redishost publish hashpipe:///set MISSEDPK=0 > /dev/null -} - -function stop() { - for x in $xeng_hosts - do - echo "${2:-Stopping} X engines on ${x}" - ssh obs@$x " - pkill $1 hashpipe - pkill $1 -f hashpipe_redis_gateway.rb - " - done -} - -case ${1} in - start|stop) ${1};; - kill) stop -9 Killing;; - *) echo "$(basename $0) {start|stop|kill}" -esac From c8d73d7bab0af29374b1ef5186c17edf9ecf2296 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Mon, 18 Nov 2013 11:49:12 +0200 Subject: [PATCH 006/420] Start two gateways per X host (one per NUMA node) Also start them via taskset so they are locked to the "OS" core, i.e. core 0 or core 6 (ncores/2). --- src/xtor_up.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index c3616909..cd335450 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -133,7 +133,12 @@ then echo Starting hashpipe-redis gateways on $xhosts for x in $xhosts do - ssh $x hashpipe_redis_gateway.rb -g $x + # Start two gateways on each host: one gateway per NUMA node, two instances + # per gateway. The gateways run on the OS core (0 or 6) + ssh $x " + taskset 0x0001 hashpipe_redis_gateway.rb -g $x -i 0,1; + taskset 0x0040 hashpipe_redis_gateway.rb -g $x -i 2,3 + " done # Let the gateways come up From 8e66a32daeb22f601c84fee838eb57b4e4b1b099 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Mon, 18 Nov 2013 11:50:47 +0200 Subject: [PATCH 007/420] Track min/max stats about net thread times --- src/paper_net_thread.c | 72 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 9 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index 1b6a45bd..471fdd17 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -23,6 +23,14 @@ #define DEBUG_NET +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + typedef struct { uint64_t mcnt; int fid; // Fengine ID @@ -473,12 +481,22 @@ static void *run(hashpipe_thread_args_t * args) /* Main loop */ uint64_t packet_count = 0; - uint64_t elapsed_wait_ns = 0; - uint64_t elapsed_recv_ns = 0; - uint64_t elapsed_proc_ns = 0; - float ns_per_wait = 0.0; - float ns_per_recv = 0.0; - float ns_per_proc = 0.0; + uint64_t wait_ns = 0; // ns for most recent wait + uint64_t recv_ns = 0; // ns for most recent recv + uint64_t proc_ns = 0; // ns for most recent proc + uint64_t min_wait_ns = 99999; // min ns per single wait + uint64_t min_recv_ns = 99999; // min ns per single recv + uint64_t min_proc_ns = 99999; // min ns per single proc + uint64_t max_wait_ns = 0; // max ns per single wait + uint64_t max_recv_ns = 0; // max ns per single recv + uint64_t max_proc_ns = 0; // max ns per single proc + uint64_t elapsed_wait_ns = 0; // cumulative wait time per block + uint64_t elapsed_recv_ns = 0; // cumulative recv time per block + uint64_t elapsed_proc_ns = 0; // cumulative proc time per block + uint64_t status_ns = 0; // User to fetch ns values from status buffer + float ns_per_wait = 0.0; // Average ns per wait over 1 block + float ns_per_recv = 0.0; // Average ns per recv over 1 block + float ns_per_proc = 0.0; // Average ns per proc over 1 block struct timespec start, stop; struct timespec recv_start, recv_stop; @@ -522,16 +540,28 @@ static void *run(hashpipe_thread_args_t * args) const uint64_t mcnt = write_paper_packet_to_blocks((paper_input_databuf_t *)db, &p); clock_gettime(CLOCK_MONOTONIC, &stop); - elapsed_wait_ns += ELAPSED_NS(recv_start, start); - elapsed_recv_ns += ELAPSED_NS(start, recv_stop); - elapsed_proc_ns += ELAPSED_NS(recv_stop, stop); + wait_ns = ELAPSED_NS(recv_start, start); + recv_ns = ELAPSED_NS(start, recv_stop); + proc_ns = ELAPSED_NS(recv_stop, stop); + elapsed_wait_ns += wait_ns; + elapsed_recv_ns += recv_ns; + elapsed_proc_ns += proc_ns; + // Update min max values + min_wait_ns = MIN(wait_ns, min_wait_ns); + min_recv_ns = MIN(recv_ns, min_recv_ns); + min_proc_ns = MIN(proc_ns, min_proc_ns); + max_wait_ns = MAX(wait_ns, max_wait_ns); + max_recv_ns = MAX(recv_ns, max_recv_ns); + max_proc_ns = MAX(proc_ns, max_proc_ns); if(mcnt != -1) { // Update status ns_per_wait = (float)elapsed_wait_ns / packet_count; ns_per_recv = (float)elapsed_recv_ns / packet_count; ns_per_proc = (float)elapsed_proc_ns / packet_count; + hashpipe_status_lock_busywait_safe(&st); + hputu8(st.buf, "NETMCNT", mcnt); // Gbps = bits_per_packet / ns_per_packet // (N_BYTES_PER_PACKET excludes header, so +8 for the header) @@ -539,7 +569,31 @@ static void *run(hashpipe_thread_args_t * args) hputr4(st.buf, "NETWATNS", ns_per_wait); hputr4(st.buf, "NETRECNS", ns_per_recv); hputr4(st.buf, "NETPRCNS", ns_per_proc); + + // Get and put min and max values. The "get-then-put" allows the + // user to reset the min max values in the status buffer. + hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + min_wait_ns = MIN(min_wait_ns, status_ns); + hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + min_wait_ns = MIN(min_recv_ns, status_ns); + hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + min_wait_ns = MIN(min_proc_ns, status_ns); + hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + max_wait_ns = MAX(max_wait_ns, status_ns); + hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + max_wait_ns = MAX(max_recv_ns, status_ns); + hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + max_wait_ns = MAX(max_proc_ns, status_ns); + + hputi8(st.buf, "NETWATMN", min_wait_ns); + hputi8(st.buf, "NETRECMN", min_recv_ns); + hputi8(st.buf, "NETPRCMN", min_proc_ns); + hputi8(st.buf, "NETWATMX", max_wait_ns); + hputi8(st.buf, "NETRECMX", max_recv_ns); + hputi8(st.buf, "NETPRCMX", max_proc_ns); + hashpipe_status_unlock_safe(&st); + // Start new average elapsed_wait_ns = 0; elapsed_recv_ns = 0; From bab88a686b4de2018c8381953066e6250d636861 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Mon, 18 Nov 2013 19:12:46 +0200 Subject: [PATCH 008/420] In xtor_up.sh, release NETHOLDs one by one This is to reduce the instantaneous startup load. --- src/xtor_up.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index cd335450..467aa97a 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -146,5 +146,11 @@ then # Turn off HOLD flag on all instances echo Enabling all X Engine network threads - redis-cli -h redishost publish hashpipe:///set NETHOLD=0 + for i in 3 2 1 0 + do + for x in $xhosts + do + redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 + done + done fi From c92e13784077643e817e1e3528a0bc48ec8e87d6 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Mon, 18 Nov 2013 19:13:35 +0200 Subject: [PATCH 009/420] Reset NET*MN/NET*MN status variables after startup This is to clear out any bogus values that were detected during startup. --- src/xtor_up.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 467aa97a..a4b221c5 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -153,4 +153,20 @@ then redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 done done + + sleep 1 + + # Reset all NET{WAT,REC,PRC}M{N,X} counters + echo Resetting all network stats counters + for i in 3 2 1 0 + do + for x in $xhosts + do + for k in NET{WAT,REC,PRC} + do + redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MN=99999 + redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MX=0 + done + done + done fi From 1c1520d04ef62a6c27010726dd2961a25250e87b Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 19 Nov 2013 01:16:13 +0200 Subject: [PATCH 010/420] Hide redis-cli output in xtor_up.sh --- src/xtor_up.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index a4b221c5..86a8b674 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -150,7 +150,7 @@ then do for x in $xhosts do - redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 + redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 > /dev/null done done @@ -164,8 +164,8 @@ then do for k in NET{WAT,REC,PRC} do - redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MN=99999 - redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MX=0 + redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MN=99999 > /dev/null + redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MX=0 > /dev/null done done done From 10c0f6a099b6bee7ea32fb3e8225d3d4b8339064 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Mon, 18 Nov 2013 23:26:05 +0200 Subject: [PATCH 011/420] Major re-write of paper_net_thread mcnt handling This is a major rewrite of paper_net_thread's mcnt handling logic. The old logic would mark blocks as filled out of sequence, which led to lockups. I think the new logic is more cohesive and commented. --- src/paper_net_thread.c | 375 ++++++++++++++++++++++++----------------- 1 file changed, 221 insertions(+), 154 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index 471fdd17..38756ad0 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -45,8 +45,6 @@ typedef struct { int initialized; int32_t self_xid; uint64_t mcnt_start; - uint64_t mcnt_offset; - uint64_t mcnt_prior; int out_of_seq_cnt; int block_i; // The m,x,f fields hold three of the five dimensional indices for @@ -69,8 +67,8 @@ void print_pkt_header(packet_header_t * pkt_header) { } void print_block_info(block_info_t * binfo) { - printf("binfo : mcnt_start %012lx mcnt_offset %012lx block_i %d m=%02d f=%d\n", - binfo->mcnt_start, binfo->mcnt_offset, binfo->block_i, binfo->m, binfo->f); + printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", + binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); } void print_block_active(block_info_t * binfo) { @@ -94,6 +92,12 @@ void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { } } +// Returns physical block number for given mcnt +static inline int block_for_mcnt(uint64_t mcnt) +{ + return (mcnt / Nm) % N_INPUT_BLOCKS; +} + // Returns (block_i - n) modulo N_INPUT_BLOCKS static inline int subtract_block_i(int block_i, int n) { @@ -152,78 +156,71 @@ static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binf } #endif -int set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo, int block_i) +// This sets the "current" block to be marked as filled. The current block is +// the block corresponding to binfo->mcnt_start. Returns mcnt of the block +// being marked filled. +static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) { static int last_filled = -1; - uint32_t block_missed_pkt_cnt=0, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; + uint32_t block_missed_pkt_cnt=N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; - if(binfo->block_active[block_i]) { + uint32_t block_i = block_for_mcnt(binfo->mcnt_start); - // if all packets are accounted for, mark this block as good - if(binfo->block_active[block_i] == N_PACKETS_PER_BLOCK) { - paper_input_databuf_p->block[block_i].header.good_data = 1; - } + // If all packets are accounted for, mark this block as good + if(binfo->block_active[block_i] == N_PACKETS_PER_BLOCK) { + paper_input_databuf_p->block[block_i].header.good_data = 1; + } - last_filled = (last_filled+1) % N_INPUT_BLOCKS; - if(last_filled != block_i) { - printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); + // Validate that we're filling blocks in the proper sequence + last_filled = (last_filled+1) % N_INPUT_BLOCKS; + if(last_filled != block_i) { + printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); #ifdef DIE_ON_OUT_OF_SEQ_FILL - die(paper_input_databuf_p, binfo); -#else - binfo->initialized = 0; - return 0; + die(paper_input_databuf_p, binfo); #endif - } + } - if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); - pthread_exit(NULL); - return 0; - } + // Set the block as filled + if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); + pthread_exit(NULL); + } - block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_active[block_i]; - // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we - // are missing one or more F engines. Any missed packets beyond an - // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered - // as dropped packets. - block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; - block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; - - // Reinitialize our XID to -1 (unknown until read from status buffer) - binfo->self_xid = -1; - - hashpipe_status_lock_busywait_safe(st_p); - hputu4(st_p->buf, "NETBKOUT", block_i); - hputu4(st_p->buf, "MISSEDFE", block_missed_feng); - if(block_missed_mod_cnt) { - // Increment MISSEDPK by number of missed packets for this block - hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); - missed_pkt_cnt += block_missed_mod_cnt; - hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); - // fprintf(stderr, "got %d packets instead of %d\n", - // binfo->block_active[block_i], N_PACKETS_PER_BLOCK); - } - // Update our XID from status buffer - hgeti4(st_p->buf, "XID", &binfo->self_xid); - hashpipe_status_unlock_safe(st_p); + // Calculate missing packets. + block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_active[block_i]; + // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we + // are missing one or more F engines. Any missed packets beyond an + // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered + // as dropped packets. + block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; + block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; + + // Reinitialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; - binfo->block_active[block_i] = 0; + // Update status buffer + hashpipe_status_lock_busywait_safe(st_p); + hputu4(st_p->buf, "NETBKOUT", block_i); + hputu4(st_p->buf, "MISSEDFE", block_missed_feng); + if(block_missed_mod_cnt) { + // Increment MISSEDPK by number of missed packets for this block + hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + missed_pkt_cnt += block_missed_mod_cnt; + hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + // fprintf(stderr, "got %d packets instead of %d\n", + // binfo->block_active[block_i], N_PACKETS_PER_BLOCK); } + // Update our XID from status buffer + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); - return block_missed_pkt_cnt; + return binfo->mcnt_start; } static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) { - if(pkt_header->mcnt < binfo->mcnt_start) { - char msg[120]; - sprintf(msg, "current packet mcnt %012lx less than mcnt start %012lx", pkt_header->mcnt, binfo->mcnt_start); - hashpipe_error(__FUNCTION__, msg); - //hashpipe_error(__FUNCTION__, "current packet mcnt less than mcnt start"); - //pthread_exit(NULL); - return -1; - } else if(pkt_header->fid >= Nf) { + if(pkt_header->fid >= Nf) { hashpipe_error(__FUNCTION__, "current packet FID %u out of range (0-%d)", pkt_header->fid, Nf-1); @@ -233,65 +230,48 @@ static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_ "unexpected packet XID %d (expected %d)", pkt_header->xid, binfo->self_xid); return -1; - } else { - binfo->mcnt_offset = pkt_header->mcnt - binfo->mcnt_start; } - binfo->block_i = (binfo->mcnt_offset) / N_SUB_BLOCKS_PER_INPUT_BLOCK % N_INPUT_BLOCKS; - binfo->m = (binfo->mcnt_offset) % Nm; + binfo->m = pkt_header->mcnt % Nm; binfo->f = pkt_header->fid; return 0; } -#define MAX_MCNT_DIFF 64 -static inline int out_of_seq_mcnt(block_info_t * binfo, uint64_t pkt_mcnt) { -// mcnt rollovers are seen and treated like any other out of sequence mcnt - - if(abs(pkt_mcnt - binfo->mcnt_prior) <= MAX_MCNT_DIFF) { - binfo->mcnt_prior = pkt_mcnt; - binfo->out_of_seq_cnt = 0; - return 0; - } else { - printf("Out of seq : mcnt jumps from %012lx to %012lx\n", binfo->mcnt_prior, pkt_mcnt); - binfo->out_of_seq_cnt++; - return 1; - } -} +// This allows for 2 out of sequence packets from each F engine (in a row) +#define MAX_OUT_OF_SEQ (2*Nf) -#define MAX_OUT_OF_SEQ 5 -static inline int handle_out_of_seq_mcnt(block_info_t * binfo) { +// This allows packets to be two full databufs late without being considered +// out of sequence. +#define LATE_PKT_MCNT_THRESHOLD (2*Nm*N_INPUT_BLOCKS) - if(binfo->out_of_seq_cnt > MAX_OUT_OF_SEQ) { - printf("exceeded max (%d) out of sequence mcnts - restarting\n", MAX_OUT_OF_SEQ); - binfo->initialized = 0; - } - return -1; -} - -static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, block_info_t * binfo, uint64_t pkt_mcnt) { +// Initialize a block by clearing its "good data" flag and saving the first +// (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a +// multiple of Nm (number of mcnts per block). In theory, the block's data +// could be cleared as well, but that takes time and is largely unnecessary in +// a properly functionong system. +static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) +{ + int block_i = block_for_mcnt(mcnt); - paper_input_databuf_p->block[binfo->block_i].header.good_data = 0; + paper_input_databuf_p->block[block_i].header.good_data = 0; // Round pkt_mcnt down to nearest multiple of Nm - paper_input_databuf_p->block[binfo->block_i].header.mcnt = pkt_mcnt - (pkt_mcnt%Nm); + paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%Nm); } -static inline void initialize_block_info(paper_input_databuf_t *paper_input_databuf_p, block_info_t * binfo, uint64_t pkt_mcnt) { +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo) { int i; - // We might be restarting so mark all currently active blocks, with the exception - // of block_i, as filled. We will restart at block_i. On program startup, this loop - // as no functional effect as no blocks are active and all block_active elements are 0. + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + for(i = 0; i < N_INPUT_BLOCKS; i++) { - if(i == binfo->block_i) { - binfo->block_active[i] = 0; - } else { - if(binfo->block_active[i]) { - paper_input_databuf_p->block[i].header.good_data = 0; // all data are bad at this point - set_block_filled(paper_input_databuf_p, binfo, i); - } - } + binfo->block_active[i] = 0; } // Initialize our XID to -1 (unknown until read from status buffer) @@ -301,11 +281,10 @@ static inline void initialize_block_info(paper_input_databuf_t *paper_input_data hgeti4(st_p->buf, "XID", &binfo->self_xid); hashpipe_status_unlock_safe(st_p); - // On program startup block_i will be zero. If we are restarting, this will set - // us up to restart at the beginning of block_i. - binfo->mcnt_start = pkt_mcnt - binfo->block_i * N_SUB_BLOCKS_PER_INPUT_BLOCK; + // On startup mcnt_start will be zero. + binfo->mcnt_start = 0; + binfo->block_i = 0; - binfo->mcnt_prior = pkt_mcnt; binfo->out_of_seq_cnt = 0; binfo->initialized = 1; } @@ -315,23 +294,33 @@ static inline void initialize_block_info(paper_input_databuf_t *paper_input_data // Any return value other than -1 will be stored in the status memory as // NETMCNT, so it is important that values other than -1 are returned rarely // (i.e. when marking a block as filled)!!! -static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper_input_databuf_p, struct hashpipe_udp_packet *p) { +static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper_input_databuf_p, struct hashpipe_udp_packet *p) +{ static block_info_t binfo; packet_header_t pkt_header; const uint64_t *payload_p; - int rv; - int i; + int pkt_block_i; uint64_t *dest_p; - uint64_t netmcnt = -1; // Value to store in status memory + uint64_t pkt_mcnt; + uint64_t cur_mcnt; + uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) #if N_DEBUG_INPUT_BLOCKS == 1 static uint64_t debug_remaining = -1ULL; static off_t debug_offset = 0; uint64_t * debug_ptr; #endif - // housekeeping for each packet + // Lazy init binfo + if(!binfo.initialized) { + initialize_block_info(&binfo); + } + + // Parse packet header get_header(p, &pkt_header); + pkt_mcnt = pkt_header.mcnt; + pkt_block_i = block_for_mcnt(pkt_mcnt); + cur_mcnt = binfo.mcnt_start; #if N_DEBUG_INPUT_BLOCKS == 1 debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; @@ -344,56 +333,108 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper } #endif - if(! binfo.initialized) { - // insist that we start on a multiple of sub_blocks/block - if(pkt_header.mcnt % N_SUB_BLOCKS_PER_INPUT_BLOCK != 0) { - return -1; - } - initialize_block_info(paper_input_databuf_p, &binfo, pkt_header.mcnt); - } - if(out_of_seq_mcnt(&binfo, pkt_header.mcnt)) { - return(handle_out_of_seq_mcnt(&binfo)); - } - if((rv = calc_block_indexes(&binfo, &pkt_header))) { - return rv; - } - if(! binfo.block_active[binfo.block_i]) { - // new block, pass along the block for N_INPUT_BLOCKS/2 blocks ago - i = subtract_block_i(binfo.block_i, N_INPUT_BLOCKS/2); -#if N_DEBUG_INPUT_BLOCKS == 1 -#define DEBUG_EXTRA (0x10000) - if(set_block_filled(paper_input_databuf_p, &binfo, i) && debug_remaining > DEBUG_EXTRA) { - debug_remaining = DEBUG_EXTRA; - } -#else - set_block_filled(paper_input_databuf_p, &binfo, i); -#endif - netmcnt = paper_input_databuf_p->block[i].header.mcnt; - // Wait (hopefully not long!) for free block for this packet - if((rv = paper_input_databuf_busywait_free(paper_input_databuf_p, binfo.block_i)) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - return -1; - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - return -1; + // We expect packets for the current block, the next block, and the block after. + if(cur_mcnt <= pkt_mcnt && pkt_mcnt < cur_mcnt + 3*Nm) { + // If the packet is for the block after the next block (i.e. current + // block + 2 blocks) + if(pkt_mcnt > cur_mcnt + 2*Nm) { + // Mark the current block as filled + netmcnt = set_block_filled(paper_input_databuf_p, &binfo); + + // Advance mcnt_start to next block + cur_mcnt += Nm; + binfo.mcnt_start += Nm; + binfo.block_i++; + + // Wait (hopefully not long!) to acquire the block after next (i.e. + // the block that gets the current packet). + if(paper_input_databuf_busywait_free(paper_input_databuf_p, pkt_block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } } + + // Initialize the newly acquired block + initialize_block(paper_input_databuf_p, pkt_mcnt); + // Reset binfo's packet counter for thei packet's block + binfo.block_active[pkt_block_i] = 0; } - initialize_block(paper_input_databuf_p, &binfo, pkt_header.mcnt); - } - binfo.block_active[binfo.block_i]++; // increment packet count for block - // end housekeeping + // Reset out-of-seq counter + binfo.out_of_seq_cnt = 0; + + // Increment packet count for block + binfo.block_active[pkt_block_i]++; + + // Validate header FID and XID and calculate "m" and "f" indexes into + // block (stored in binfo). + if(calc_block_indexes(&binfo, &pkt_header)) { + // Bad packet, error already reported + return -1; + } + + // Calculate starting points for unpacking this packet into block's data buffer. + dest_p = paper_input_databuf_p->block[pkt_block_i].data + + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); + payload_p = (uint64_t *)(p->data+8); - // Calculate starting points for unpacking this packet into block's data buffer. - dest_p = paper_input_databuf_p->block[binfo.block_i].data - + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); - payload_p = (uint64_t *)(p->data+8); + // Copy data into buffer + memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); - // Copy data into buffer - memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); + return netmcnt; + } + // Else, if packet is late, but not too late (so we can handle to handle F + // engine restarts and MCNT rollover), then ignore it + else if(pkt_mcnt < cur_mcnt && pkt_mcnt > cur_mcnt - LATE_PKT_MCNT_THRESHOLD) { + hashpipe_warn("paper_net_thread", + "Ignoring late packet (%d mcnts late)", + cur_mcnt - pkt_mcnt); + return -1; + } + // Else, it is an "out-of-order" packet. + else { + hashpipe_warn("paper_net_thread", + "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", + pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); + + // Increment out-of-seq packet counter + binfo.out_of_seq_cnt++; + + // If too may out-of-seq packets + if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { + // Reset current mcnt. The value to reset to must be the first + // value greater than or equal to pkt_mcnt that corresponds to the + // same databuf block as the old current mcnt. + if(binfo.block_i > pkt_block_i) { + // Advance pkt_mcnt to correspond to binfo.block_i + pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); + } else if(pkt_block_i < binfo.block_i) { + // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks + pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); + } + // Round pkt_mcnt down to nearest multiple of Nm + binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); + binfo.block_i = block_for_mcnt(binfo.mcnt_start); + hashpipe_warn("paper_net_thread", + "resetting to mcnt %012lx", binfo.mcnt_start); + // Reinitialize/recycle our two already acquired blocks with new + // mcnt values. + initialize_block(paper_input_databuf_p, pkt_mcnt); + initialize_block(paper_input_databuf_p, pkt_mcnt+Nm); + // Reset binfo's packet counters for these blocks. + binfo.block_active[binfo.block_i] = 0; + binfo.block_active[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; + } + return -1; + } return netmcnt; } @@ -479,6 +520,32 @@ static void *run(hashpipe_thread_args_t * args) pthread_cleanup_push((void *)hashpipe_udp_close, &up); #endif + // Acquire first two blocks to start + if(paper_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + if(paper_input_databuf_busywait_free(db, 1) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + + // Initialize the newly acquired block + initialize_block(db, 0); + initialize_block(db, Nm); + /* Main loop */ uint64_t packet_count = 0; uint64_t wait_ns = 0; // ns for most recent wait From 87f03236a1617a84b1f344ccb01788b57f70f78a Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 19 Nov 2013 10:39:29 +0200 Subject: [PATCH 012/420] Fix paper_net_thread reset logic Silly bugs. Make logging more friendly: Do not log late packets. Do not log out of seq packets if expected mnct is 0 (i.e. on startup). Add more details to reset log message. --- src/paper_net_thread.c | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index 38756ad0..9d5fc5e8 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -302,6 +302,7 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper const uint64_t *payload_p; int pkt_block_i; uint64_t *dest_p; + int64_t pkt_mcnt_dist; uint64_t pkt_mcnt; uint64_t cur_mcnt; uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) @@ -322,6 +323,10 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper pkt_block_i = block_for_mcnt(pkt_mcnt); cur_mcnt = binfo.mcnt_start; + // Packet mcnt distance (how far away is this packet's mcnt from the + // current mcnt). Positive distance for pcnt mcnts > current mcnt. + pkt_mcnt_dist = pkt_mcnt - cur_mcnt; + #if N_DEBUG_INPUT_BLOCKS == 1 debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; debug_ptr[debug_offset++] = be64toh(*(uint64_t *)(p->data)); @@ -334,10 +339,10 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper #endif // We expect packets for the current block, the next block, and the block after. - if(cur_mcnt <= pkt_mcnt && pkt_mcnt < cur_mcnt + 3*Nm) { + if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { // If the packet is for the block after the next block (i.e. current // block + 2 blocks) - if(pkt_mcnt > cur_mcnt + 2*Nm) { + if(pkt_mcnt_dist > 2*Nm) { // Mark the current block as filled netmcnt = set_block_filled(paper_input_databuf_p, &binfo); @@ -363,7 +368,7 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper // Initialize the newly acquired block initialize_block(paper_input_databuf_p, pkt_mcnt); - // Reset binfo's packet counter for thei packet's block + // Reset binfo's packet counter for this packet's block binfo.block_active[pkt_block_i] = 0; } @@ -392,18 +397,21 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper } // Else, if packet is late, but not too late (so we can handle to handle F // engine restarts and MCNT rollover), then ignore it - else if(pkt_mcnt < cur_mcnt && pkt_mcnt > cur_mcnt - LATE_PKT_MCNT_THRESHOLD) { - hashpipe_warn("paper_net_thread", - "Ignoring late packet (%d mcnts late)", - cur_mcnt - pkt_mcnt); + else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { + //hashpipe_warn("paper_net_thread", + // "Ignoring late packet (%d mcnts late)", + // cur_mcnt - pkt_mcnt); return -1; } // Else, it is an "out-of-order" packet. else { - hashpipe_warn("paper_net_thread", - "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", - pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); + // If not at start-up, issue warning. + if(cur_mcnt != 0) { + hashpipe_warn("paper_net_thread", + "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", + pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); + } // Increment out-of-seq packet counter binfo.out_of_seq_cnt++; @@ -416,7 +424,7 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper if(binfo.block_i > pkt_block_i) { // Advance pkt_mcnt to correspond to binfo.block_i pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); - } else if(pkt_block_i < binfo.block_i) { + } else if(binfo.block_i < pkt_block_i) { // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); } @@ -424,11 +432,12 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("paper_net_thread", - "resetting to mcnt %012lx", binfo.mcnt_start); + "resetting to mcnt %012lx block %d based on packet mcnt %012lx", + binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); // Reinitialize/recycle our two already acquired blocks with new // mcnt values. - initialize_block(paper_input_databuf_p, pkt_mcnt); - initialize_block(paper_input_databuf_p, pkt_mcnt+Nm); + initialize_block(paper_input_databuf_p, binfo.mcnt_start); + initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); // Reset binfo's packet counters for these blocks. binfo.block_active[binfo.block_i] = 0; binfo.block_active[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; From a635a75f8ad79f5b337fe597559642728a55ab8f Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 19 Nov 2013 14:33:29 +0200 Subject: [PATCH 013/420] Fixed bug in block-after-next detection When checking "pkt_mcnt_dist" for the block after the next block, the comparision needs to be greater than OR EQUAL TO (i.e. ">=") rather than just greater than (i.e. ">"). Thanks to Matt!!! --- src/paper_net_thread.c | 130 ++++++++++++++++++++++++++--------------- 1 file changed, 82 insertions(+), 48 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index 9d5fc5e8..fa5b0ddf 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -51,7 +51,7 @@ typedef struct { // the first data word of the current packet (i.e. t=0 and c=0). int m; // formerly known as sub_block_i int f; - int block_active[N_INPUT_BLOCKS]; + int block_packet_counter[N_INPUT_BLOCKS]; } block_info_t; static hashpipe_status_t *st_p; @@ -71,13 +71,13 @@ void print_block_info(block_info_t * binfo) { binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); } -void print_block_active(block_info_t * binfo) { +void print_block_packet_counter(block_info_t * binfo) { int i; for(i=0;iblock_i) { - fprintf(stdout, "*%03d ", binfo->block_active[i]); + fprintf(stdout, "*%03d ", binfo->block_packet_counter[i]); } else { - fprintf(stdout, " %03d ", binfo->block_active[i]); + fprintf(stdout, " %03d ", binfo->block_packet_counter[i]); } } fprintf(stdout, "\n"); @@ -98,26 +98,32 @@ static inline int block_for_mcnt(uint64_t mcnt) return (mcnt / Nm) % N_INPUT_BLOCKS; } -// Returns (block_i - n) modulo N_INPUT_BLOCKS -static inline int subtract_block_i(int block_i, int n) -{ - int d = block_i - n; - return(d < 0 ? d + N_INPUT_BLOCKS : d); -} - #ifdef LOG_MCNTS #define MAX_MCNT_LOG (1024*1024) -static uint64_t mcnt_log[MAX_MCNT_LOG]; -static int mcnt_log_idx = 0; - -void dump_mcnt_log() +//static uint64_t mcnt_log[MAX_MCNT_LOG]; +//static int mcnt_log_idx = 0; +static int total_packets_counted = 0; +static int expected_packets_counted = 0; +static int late_packets_counted = 0; +static int outofseq_packets_counted = 0; +static int filled_packets_counted = 0; + +void dump_mcnt_log(int xid) { - int i; - FILE *f = fopen("mcnt.log","w"); - for(i=0; imcnt; + total_packets_counted++; + //mcnt_log[mcnt_log_idx++] = pkt_header->mcnt; + //if(mcnt_log_idx == MAX_MCNT_LOG) { + // dump_mcnt_log(pkt_header->xid); + // abort(); + //} + if(total_packets_counted == 10*1000*1000) { + dump_mcnt_log(pkt_header->xid); + abort(); + } #endif } @@ -147,7 +162,7 @@ static inline void get_header (struct hashpipe_udp_packet *p, packet_header_t * static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) { print_block_info(binfo); - print_block_active(binfo); + print_block_packet_counter(binfo); print_ring_mcnts(paper_input_databuf_p); #ifdef LOG_MCNTS dump_mcnt_log(); @@ -167,11 +182,6 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b uint32_t block_i = block_for_mcnt(binfo->mcnt_start); - // If all packets are accounted for, mark this block as good - if(binfo->block_active[block_i] == N_PACKETS_PER_BLOCK) { - paper_input_databuf_p->block[block_i].header.good_data = 1; - } - // Validate that we're filling blocks in the proper sequence last_filled = (last_filled+1) % N_INPUT_BLOCKS; if(last_filled != block_i) { @@ -181,6 +191,21 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b #endif } + // Validate that block_i matches binfo->block_i + if(block_i != binfo->block_i) { + hashpipe_warn(__FUNCTION__, + "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", + block_i, binfo->block_i); + } +#ifdef LOG_MCNTS + filled_packets_counted += binfo->block_packet_counter[block_i]; +#endif + + // If all packets are accounted for, mark this block as good + if(binfo->block_packet_counter[block_i] == N_PACKETS_PER_BLOCK) { + paper_input_databuf_p->block[block_i].header.good_data = 1; + } + // Set the block as filled if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); @@ -188,7 +213,7 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b } // Calculate missing packets. - block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_active[block_i]; + block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we // are missing one or more F engines. Any missed packets beyond an // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered @@ -209,7 +234,7 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b missed_pkt_cnt += block_missed_mod_cnt; hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); // fprintf(stderr, "got %d packets instead of %d\n", - // binfo->block_active[block_i], N_PACKETS_PER_BLOCK); + // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); } // Update our XID from status buffer hgeti4(st_p->buf, "XID", &binfo->self_xid); @@ -261,8 +286,8 @@ static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_ // This function must be called once and only once per block_info structure! // Subsequent calls are no-ops. -static inline void initialize_block_info(block_info_t * binfo) { - +static inline void initialize_block_info(block_info_t * binfo) +{ int i; // If this block_info structure has already been initialized @@ -271,7 +296,7 @@ static inline void initialize_block_info(block_info_t * binfo) { } for(i = 0; i < N_INPUT_BLOCKS; i++) { - binfo->block_active[i] = 0; + binfo->block_packet_counter[i] = 0; } // Initialize our XID to -1 (unknown until read from status buffer) @@ -294,7 +319,7 @@ static inline void initialize_block_info(block_info_t * binfo) { // Any return value other than -1 will be stored in the status memory as // NETMCNT, so it is important that values other than -1 are returned rarely // (i.e. when marking a block as filled)!!! -static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper_input_databuf_p, struct hashpipe_udp_packet *p) +static inline uint64_t process_packet(paper_input_databuf_t *paper_input_databuf_p, struct hashpipe_udp_packet *p) { static block_info_t binfo; @@ -342,14 +367,14 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { // If the packet is for the block after the next block (i.e. current // block + 2 blocks) - if(pkt_mcnt_dist > 2*Nm) { + if(pkt_mcnt_dist >= 2*Nm) { // Mark the current block as filled netmcnt = set_block_filled(paper_input_databuf_p, &binfo); // Advance mcnt_start to next block cur_mcnt += Nm; binfo.mcnt_start += Nm; - binfo.block_i++; + binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; // Wait (hopefully not long!) to acquire the block after next (i.e. // the block that gets the current packet). @@ -369,14 +394,17 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper // Initialize the newly acquired block initialize_block(paper_input_databuf_p, pkt_mcnt); // Reset binfo's packet counter for this packet's block - binfo.block_active[pkt_block_i] = 0; + binfo.block_packet_counter[pkt_block_i] = 0; } // Reset out-of-seq counter binfo.out_of_seq_cnt = 0; // Increment packet count for block - binfo.block_active[pkt_block_i]++; + binfo.block_packet_counter[pkt_block_i]++; +#ifdef LOG_MCNTS + expected_packets_counted++; +#endif // Validate header FID and XID and calculate "m" and "f" indexes into // block (stored in binfo). @@ -395,26 +423,32 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper return netmcnt; } - // Else, if packet is late, but not too late (so we can handle to handle F - // engine restarts and MCNT rollover), then ignore it + // Else, if packet is late, but not too late (so we can handle F engine + // restarts and MCNT rollover), then ignore it else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { - //hashpipe_warn("paper_net_thread", - // "Ignoring late packet (%d mcnts late)", - // cur_mcnt - pkt_mcnt); + hashpipe_warn("paper_net_thread", + "Ignoring late packet (%d mcnts late)", + cur_mcnt - pkt_mcnt); +#ifdef LOG_MCNTS + late_packets_counted++; +#endif return -1; } // Else, it is an "out-of-order" packet. else { // If not at start-up, issue warning. - if(cur_mcnt != 0) { + //if(cur_mcnt != 0) { hashpipe_warn("paper_net_thread", "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); - } + //} // Increment out-of-seq packet counter binfo.out_of_seq_cnt++; +#ifdef LOG_MCNTS + outofseq_packets_counted++; +#endif // If too may out-of-seq packets if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { @@ -439,8 +473,8 @@ static inline uint64_t write_paper_packet_to_blocks(paper_input_databuf_t *paper initialize_block(paper_input_databuf_p, binfo.mcnt_start); initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); // Reset binfo's packet counters for these blocks. - binfo.block_active[binfo.block_i] = 0; - binfo.block_active[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; + binfo.block_packet_counter[binfo.block_i] = 0; + binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; } return -1; } @@ -613,7 +647,7 @@ static void *run(hashpipe_thread_args_t * args) packet_count++; // Copy packet into any blocks where it belongs. - const uint64_t mcnt = write_paper_packet_to_blocks((paper_input_databuf_t *)db, &p); + const uint64_t mcnt = process_packet((paper_input_databuf_t *)db, &p); clock_gettime(CLOCK_MONOTONIC, &stop); wait_ns = ELAPSED_NS(recv_start, start); From 15439df8f07bc55a363e2ad0fb8a59a8c8b77d7e Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 19 Nov 2013 15:24:05 +0200 Subject: [PATCH 014/420] Be more conservative about logging Log late packets except after mcnt reset. Log out of seq packets except at startup. --- src/paper_net_thread.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index fa5b0ddf..ec966387 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -45,6 +45,7 @@ typedef struct { int initialized; int32_t self_xid; uint64_t mcnt_start; + uint64_t mcnt_log_late; int out_of_seq_cnt; int block_i; // The m,x,f fields hold three of the five dimensional indices for @@ -306,8 +307,9 @@ static inline void initialize_block_info(block_info_t * binfo) hgeti4(st_p->buf, "XID", &binfo->self_xid); hashpipe_status_unlock_safe(st_p); - // On startup mcnt_start will be zero. + // On startup mcnt_start will be zero and mcnt_log_late will be Nm. binfo->mcnt_start = 0; + binfo->mcnt_log_late = Nm; binfo->block_i = 0; binfo->out_of_seq_cnt = 0; @@ -426,10 +428,12 @@ static inline uint64_t process_packet(paper_input_databuf_t *paper_input_databuf // Else, if packet is late, but not too late (so we can handle F engine // restarts and MCNT rollover), then ignore it else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { - hashpipe_warn("paper_net_thread", - "Ignoring late packet (%d mcnts late)", - cur_mcnt - pkt_mcnt); - + // If not just after an mcnt reset, issue warning. + if(cur_mcnt >= binfo.mcnt_log_late) { + hashpipe_warn("paper_net_thread", + "Ignoring late packet (%d mcnts late)", + cur_mcnt - pkt_mcnt); + } #ifdef LOG_MCNTS late_packets_counted++; #endif @@ -438,11 +442,11 @@ static inline uint64_t process_packet(paper_input_databuf_t *paper_input_databuf // Else, it is an "out-of-order" packet. else { // If not at start-up, issue warning. - //if(cur_mcnt != 0) { + if(cur_mcnt != 0) { hashpipe_warn("paper_net_thread", "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); - //} + } // Increment out-of-seq packet counter binfo.out_of_seq_cnt++; @@ -464,6 +468,7 @@ static inline uint64_t process_packet(paper_input_databuf_t *paper_input_databuf } // Round pkt_mcnt down to nearest multiple of Nm binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); + binfo.mcnt_log_late = binfo.mcnt_start + Nm; binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("paper_net_thread", "resetting to mcnt %012lx block %d based on packet mcnt %012lx", From 858f086a30c69d46aad8c122fd16d4aa4e95d021 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Tue, 19 Nov 2013 15:25:53 +0200 Subject: [PATCH 015/420] Fix mix/max status buffer fields There were some cut-and-paste errors. --- src/paper_net_thread.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index ec966387..2660e540 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -688,24 +688,29 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); - min_wait_ns = MIN(min_wait_ns, status_ns); + status_ns = MIN(min_wait_ns, status_ns); + hputi8(st.buf, "NETWATMN", status_ns); + hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); - min_wait_ns = MIN(min_recv_ns, status_ns); + status_ns = MIN(min_recv_ns, status_ns); + hputi8(st.buf, "NETRECMN", status_ns); + hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); - min_wait_ns = MIN(min_proc_ns, status_ns); + status_ns = MIN(min_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMN", status_ns); + hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); - max_wait_ns = MAX(max_wait_ns, status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); - max_wait_ns = MAX(max_recv_ns, status_ns); + status_ns = MAX(max_wait_ns, status_ns); + hputi8(st.buf, "NETWATMX", status_ns); + hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); - max_wait_ns = MAX(max_proc_ns, status_ns); - - hputi8(st.buf, "NETWATMN", min_wait_ns); - hputi8(st.buf, "NETRECMN", min_recv_ns); - hputi8(st.buf, "NETPRCMN", min_proc_ns); - hputi8(st.buf, "NETWATMX", max_wait_ns); - hputi8(st.buf, "NETRECMX", max_recv_ns); - hputi8(st.buf, "NETPRCMX", max_proc_ns); + status_ns = MAX(max_recv_ns, status_ns); + hputi8(st.buf, "NETRECMX", status_ns); + + hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + status_ns = MAX(max_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMX", status_ns); + hashpipe_status_unlock_safe(&st); From 80a9dcf82198b062096341de4b13b0e74c624ceb Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Sat, 21 Jun 2014 13:38:42 +0200 Subject: [PATCH 016/420] Require at least one of -f/-x/-c in xtor_up.sh If none are given, show help and exit. --- src/xtor_up.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 86a8b674..f736f89c 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -21,8 +21,8 @@ MODE=3 == 1-way correlator (1 ROACH2 + 1 X Boxes) Examples: - # Bring up the PAPER correlator - $ xtor_up.sh + # Bring up all F and X engines of the PAPER correlator + $ xtor_up.sh -f -x # Bring up slice 1 F engine only (pf1) with corner tuner mode 3 $ xtor_up.sh -f -m 3 1 @@ -77,6 +77,12 @@ do done shift $((OPTIND-1)) +# If none of -f, -x, or -c were given, show help +if [ -z "${do_f}${do_x}${do_c}" ] +then + show_help_and_exit +fi + # If both x and c were given, error out if [ -n "${do_x}" -a -n "${do_c}" ] then From b358c950b22f9150bb29733261fa7db5b131946c Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Sat, 21 Jun 2014 13:40:07 +0200 Subject: [PATCH 017/420] Fix typo in help message in xtor_up.sh --- src/xtor_up.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index f736f89c..e237693f 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -14,9 +14,9 @@ Passing both -x and -c is not allowed. Passing -m MODE allows setting the corner turner mode of the F engines. -MODE=0 == 8-way correlator (8 ROACH2s + 8 X Boxes) +MODE=0 == 8-way correlator (8 ROACH2s + 8 X Boxes) [default] MODE=1 == 4-way correlator (4 ROACH2s + 4 X Boxes) -MODE=2 == 2-way correlator (2 ROACH2s + 4 X Boxes) +MODE=2 == 2-way correlator (2 ROACH2s + 2 X Boxes) MODE=3 == 1-way correlator (1 ROACH2 + 1 X Boxes) Examples: From 10abebe06e69fdc0dfc151ffbb3681abd2bf6be7 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Fri, 27 Jun 2014 12:39:37 +0200 Subject: [PATCH 018/420] Only print out-of-seq warning for first bad packet This will hopefully limit the growth of log files. --- src/paper_net_thread.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index 2660e540..299c7df3 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -441,8 +441,9 @@ static inline uint64_t process_packet(paper_input_databuf_t *paper_input_databuf } // Else, it is an "out-of-order" packet. else { - // If not at start-up, issue warning. - if(cur_mcnt != 0) { + // If not at start-up and this is the first out of order packet, + // issue warning. + if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { hashpipe_warn("paper_net_thread", "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); From 77f645a698b3bdf32971037a3d1ed067fb0e5f3d Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 24 Jul 2017 11:12:46 +0200 Subject: [PATCH 019/420] Use initialization for F-eng with no F->X ptp link --- src/xtor_up.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index e237693f..da678174 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -121,7 +121,8 @@ then # Initialize F engines echo Initializing F Engines $fhosts - paper_feng_init.rb -m $ctmode $fhosts + #paper_feng_init.rb -m $ctmode $fhosts + hera_roach_feng_init.py $fhosts fi if [ -n "$do_x" -o "$do_c" ] From 617f5401ea3a7e9066157e89193a80cda24ace4e Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Thu, 27 Jul 2017 14:50:30 +0200 Subject: [PATCH 020/420] Pre-load OUTDUMPS from status buffer Before incrmenting OUTDUMPS, the value is read from the status buffer. This allows the user to reset OUTDUMPS by writing a new value to the status buffer. This was found uncommitted in the source tree. Not sure when it went into production. --- src/paper_gpu_output_thread.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/paper_gpu_output_thread.c b/src/paper_gpu_output_thread.c index c4bdeec2..843e0823 100644 --- a/src/paper_gpu_output_thread.c +++ b/src/paper_gpu_output_thread.c @@ -543,6 +543,7 @@ static void *run(hashpipe_thread_args_t * args) perror("send"); // Update stats hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); hputu4(st.buf, "OUTDUMPS", ++dumps); hputr4(st.buf, "OUTSECS", 0.0); hputr4(st.buf, "OUTMBPS", 0.0); @@ -573,6 +574,7 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &stop); hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); hputu4(st.buf, "OUTDUMPS", ++dumps); hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); hputr4(st.buf, "OUTMBPS", (1e3*8*bytes_per_dump)/ELAPSED_NS(start,stop)); From ff67e7410fe6c2508ff9c929acbe3efa73afce36 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Thu, 27 Jul 2017 14:56:36 +0200 Subject: [PATCH 021/420] Add paper_pktsock_thread.c This is a packet socket version of paper_net_thread.c. It performs about 50% faster than paper_net_thread when using standard 8 KB sized PAPER F Engine packets. --- src/Makefile.am | 1 + src/paper_net_thread.c | 12 +- src/paper_pktsock_thread.c | 840 +++++++++++++++++++++++++++++++++++++ 3 files changed, 849 insertions(+), 4 deletions(-) create mode 100644 src/paper_pktsock_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index ce17f3cc..87edf2da 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,6 +17,7 @@ paper_threads = paper_fake_net_thread.c \ paper_gpu_thread.c \ paper_fluff_thread.c \ paper_net_thread.c \ + paper_pktsock_thread.c \ paper_crc_thread.c paper_fluff = paper_fluff.h \ diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c index 299c7df3..ceccb8f6 100644 --- a/src/paper_net_thread.c +++ b/src/paper_net_thread.c @@ -57,7 +57,8 @@ typedef struct { static hashpipe_status_t *st_p; -void print_pkt_header(packet_header_t * pkt_header) { +#if 0 +static void print_pkt_header(packet_header_t * pkt_header) { static long long prior_mcnt; @@ -66,13 +67,15 @@ void print_pkt_header(packet_header_t * pkt_header) { prior_mcnt = pkt_header->mcnt; } +#endif -void print_block_info(block_info_t * binfo) { +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void print_block_info(block_info_t * binfo) { printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); } -void print_block_packet_counter(block_info_t * binfo) { +static void print_block_packet_counter(block_info_t * binfo) { int i; for(i=0;iblock_i) { @@ -84,7 +87,7 @@ void print_block_packet_counter(block_info_t * binfo) { fprintf(stdout, "\n"); } -void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { +static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { int i; @@ -92,6 +95,7 @@ void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { printf("block %d mcnt %012lx\n", i, paper_input_databuf_p->block[i].header.mcnt); } } +#endif // DIE_ON_OUT_OF_SEQ_FILL // Returns physical block number for given mcnt static inline int block_for_mcnt(uint64_t mcnt) diff --git a/src/paper_pktsock_thread.c b/src/paper_pktsock_thread.c new file mode 100644 index 00000000..b1a0911a --- /dev/null +++ b/src/paper_pktsock_thread.c @@ -0,0 +1,840 @@ +/* paper_pktsock_thread.c + * + * Routine to read packets from network and put them + * into shared memory blocks. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +#define DEBUG_NET + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#define PKTSOCK_BYTES_PER_FRAME (16384) +#define PKTSOCK_FRAMES_PER_BLOCK (8) +#define PKTSOCK_NBLOCKS (800) +#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) + +typedef struct { + uint64_t mcnt; + int fid; // Fengine ID + int xid; // Xengine ID +} packet_header_t; + +// The fields of a block_info_t structure hold (at least) two different kinds +// of data. Some fields hold data that persist over many packets while other +// fields hold data that are only applicable to the current packet (or the +// previous packet). +typedef struct { + int initialized; + int32_t self_xid; + uint64_t mcnt_start; + uint64_t mcnt_log_late; + int out_of_seq_cnt; + int block_i; + // The m,x,f fields hold three of the five dimensional indices for + // the first data word of the current packet (i.e. t=0 and c=0). + int m; // formerly known as sub_block_i + int f; + int block_packet_counter[N_INPUT_BLOCKS]; +} block_info_t; + +static hashpipe_status_t *st_p; + +#if 0 +static void print_pkt_header(packet_header_t * pkt_header) { + + static long long prior_mcnt; + + printf("packet header : mcnt %012lx (diff from prior %lld) fid %d xid %d\n", + pkt_header->mcnt, pkt_header->mcnt-prior_mcnt, pkt_header->fid, pkt_header->xid); + + prior_mcnt = pkt_header->mcnt; +} +#endif + +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void print_block_info(block_info_t * binfo) { + printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", + binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); +} + +static void print_block_packet_counter(block_info_t * binfo) { + int i; + for(i=0;iblock_i) { + fprintf(stdout, "*%03d ", binfo->block_packet_counter[i]); + } else { + fprintf(stdout, " %03d ", binfo->block_packet_counter[i]); + } + } + fprintf(stdout, "\n"); +} + +static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { + + int i; + + for(i=0; i < N_INPUT_BLOCKS; i++) { + printf("block %d mcnt %012lx\n", i, paper_input_databuf_p->block[i].header.mcnt); + } +} +#endif // DIE_ON_OUT_OF_SEQ_FILL + +// Returns physical block number for given mcnt +static inline int block_for_mcnt(uint64_t mcnt) +{ + return (mcnt / Nm) % N_INPUT_BLOCKS; +} + +#ifdef LOG_MCNTS +#define MAX_MCNT_LOG (1024*1024) +//static uint64_t mcnt_log[MAX_MCNT_LOG]; +//static int mcnt_log_idx = 0; +static int total_packets_counted = 0; +static int expected_packets_counted = 0; +static int late_packets_counted = 0; +static int outofseq_packets_counted = 0; +static int filled_packets_counted = 0; + +void dump_mcnt_log(int xid) +{ + //int i; + char fname[80]; + FILE *f; + sprintf(fname, "mcnt.xid%02d.log", xid); + f = fopen(fname,"w"); + fprintf(f, "expected packets counted = %d\n", expected_packets_counted); + fprintf(f, "late packets counted = %d\n", late_packets_counted); + fprintf(f, "outofseq packets counted = %d\n", outofseq_packets_counted); + fprintf(f, "total packets counted = %d\n", total_packets_counted); + fprintf(f, "filled packets counted = %d\n", filled_packets_counted); + //for(i=0; imcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; + pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; + pkt_header->fid = (pkt_counter ) % (Nq*Nf); + pkt_counter++; +#else + uint64_t raw_header; + raw_header = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); + pkt_header->mcnt = raw_header >> 16; + pkt_header->xid = raw_header & 0x00000000000000FF; + pkt_header->fid = (raw_header >> 8) & 0x00000000000000FF; +#endif + +#ifdef LOG_MCNTS + total_packets_counted++; + //mcnt_log[mcnt_log_idx++] = pkt_header->mcnt; + //if(mcnt_log_idx == MAX_MCNT_LOG) { + // dump_mcnt_log(pkt_header->xid); + // abort(); + //} + if(total_packets_counted == 10*1000*1000) { + dump_mcnt_log(pkt_header->xid); + abort(); + } +#endif +} + +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) +{ + print_block_info(binfo); + print_block_packet_counter(binfo); + print_ring_mcnts(paper_input_databuf_p); +#ifdef LOG_MCNTS + dump_mcnt_log(); +#endif + abort(); // End process and generate core file (if ulimit allows) +} +#endif + +// This sets the "current" block to be marked as filled. The current block is +// the block corresponding to binfo->mcnt_start. Returns mcnt of the block +// being marked filled. +static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) +{ + static int last_filled = -1; + + uint32_t block_missed_pkt_cnt=N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; + + uint32_t block_i = block_for_mcnt(binfo->mcnt_start); + + // Validate that we're filling blocks in the proper sequence + last_filled = (last_filled+1) % N_INPUT_BLOCKS; + if(last_filled != block_i) { + printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); +#ifdef DIE_ON_OUT_OF_SEQ_FILL + die(paper_input_databuf_p, binfo); +#endif + } + + // Validate that block_i matches binfo->block_i + if(block_i != binfo->block_i) { + hashpipe_warn(__FUNCTION__, + "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", + block_i, binfo->block_i); + } +#ifdef LOG_MCNTS + filled_packets_counted += binfo->block_packet_counter[block_i]; +#endif + + // If all packets are accounted for, mark this block as good + if(binfo->block_packet_counter[block_i] == N_PACKETS_PER_BLOCK) { + paper_input_databuf_p->block[block_i].header.good_data = 1; + } + + // Set the block as filled + if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); + pthread_exit(NULL); + } + + // Calculate missing packets. + block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we + // are missing one or more F engines. Any missed packets beyond an + // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered + // as dropped packets. + block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; + block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; + + // Reinitialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; + + // Update status buffer + hashpipe_status_lock_busywait_safe(st_p); + hputu4(st_p->buf, "NETBKOUT", block_i); + hputu4(st_p->buf, "MISSEDFE", block_missed_feng); + if(block_missed_mod_cnt) { + // Increment MISSEDPK by number of missed packets for this block + hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + missed_pkt_cnt += block_missed_mod_cnt; + hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + // fprintf(stderr, "got %d packets instead of %d\n", + // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); + } + // Update our XID from status buffer + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); + + return binfo->mcnt_start; +} + +static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) +{ + if(pkt_header->fid >= Nf) { + hashpipe_error(__FUNCTION__, + "current packet FID %u out of range (0-%d)", + pkt_header->fid, Nf-1); + return -1; + } else if(pkt_header->xid != binfo->self_xid && binfo->self_xid != -1) { + hashpipe_error(__FUNCTION__, + "unexpected packet XID %d (expected %d)", + pkt_header->xid, binfo->self_xid); + return -1; + } + + binfo->m = pkt_header->mcnt % Nm; + binfo->f = pkt_header->fid; + + return 0; +} + +// This allows for 2 out of sequence packets from each F engine (in a row) +#define MAX_OUT_OF_SEQ (2*Nf) + +// This allows packets to be two full databufs late without being considered +// out of sequence. +#define LATE_PKT_MCNT_THRESHOLD (2*Nm*N_INPUT_BLOCKS) + +// Initialize a block by clearing its "good data" flag and saving the first +// (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a +// multiple of Nm (number of mcnts per block). In theory, the block's data +// could be cleared as well, but that takes time and is largely unnecessary in +// a properly functionong system. +static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) +{ + int block_i = block_for_mcnt(mcnt); + + paper_input_databuf_p->block[block_i].header.good_data = 0; + // Round pkt_mcnt down to nearest multiple of Nm + paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%Nm); +} + +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo) +{ + int i; + + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + + for(i = 0; i < N_INPUT_BLOCKS; i++) { + binfo->block_packet_counter[i] = 0; + } + + // Initialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; + // Update our XID from status buffer + hashpipe_status_lock_busywait_safe(st_p); + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); + + // On startup mcnt_start will be zero and mcnt_log_late will be Nm. + binfo->mcnt_start = 0; + binfo->mcnt_log_late = Nm; + binfo->block_i = 0; + + binfo->out_of_seq_cnt = 0; + binfo->initialized = 1; +} + +// This function returns -1 unless the given packet causes a block to be marked +// as filled in which case this function returns the marked block's first mcnt. +// Any return value other than -1 will be stored in the status memory as +// NETMCNT, so it is important that values other than -1 are returned rarely +// (i.e. when marking a block as filled)!!! +static inline uint64_t process_packet( + paper_input_databuf_t *paper_input_databuf_p, unsigned char*p_frame) +{ + + static block_info_t binfo; + packet_header_t pkt_header; + const uint64_t *payload_p; + int pkt_block_i; + uint64_t *dest_p; + int64_t pkt_mcnt_dist; + uint64_t pkt_mcnt; + uint64_t cur_mcnt; + uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) +#if N_DEBUG_INPUT_BLOCKS == 1 + static uint64_t debug_remaining = -1ULL; + static off_t debug_offset = 0; + uint64_t * debug_ptr; +#endif + + // Lazy init binfo + if(!binfo.initialized) { + initialize_block_info(&binfo); + } + + // Parse packet header + get_header(p_frame, &pkt_header); + pkt_mcnt = pkt_header.mcnt; + pkt_block_i = block_for_mcnt(pkt_mcnt); + cur_mcnt = binfo.mcnt_start; + + // Packet mcnt distance (how far away is this packet's mcnt from the + // current mcnt). Positive distance for pcnt mcnts > current mcnt. + pkt_mcnt_dist = pkt_mcnt - cur_mcnt; + +#if N_DEBUG_INPUT_BLOCKS == 1 + debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; + debug_ptr[debug_offset++] = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); + if(--debug_remaining == 0) { + exit(1); + } + if(debug_offset >= sizeof(paper_input_block_t)/sizeof(uint64_t)) { + debug_offset = 0; + } +#endif + + // We expect packets for the current block, the next block, and the block after. + if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { + // If the packet is for the block after the next block (i.e. current + // block + 2 blocks) + if(pkt_mcnt_dist >= 2*Nm) { + // Mark the current block as filled + netmcnt = set_block_filled(paper_input_databuf_p, &binfo); + + // Advance mcnt_start to next block + cur_mcnt += Nm; + binfo.mcnt_start += Nm; + binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; + + // Wait (hopefully not long!) to acquire the block after next (i.e. + // the block that gets the current packet). + if(paper_input_databuf_busywait_free(paper_input_databuf_p, pkt_block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } + } + + // Initialize the newly acquired block + initialize_block(paper_input_databuf_p, pkt_mcnt); + // Reset binfo's packet counter for this packet's block + binfo.block_packet_counter[pkt_block_i] = 0; + } + + // Reset out-of-seq counter + binfo.out_of_seq_cnt = 0; + + // Increment packet count for block + binfo.block_packet_counter[pkt_block_i]++; +#ifdef LOG_MCNTS + expected_packets_counted++; +#endif + + // Validate header FID and XID and calculate "m" and "f" indexes into + // block (stored in binfo). + if(calc_block_indexes(&binfo, &pkt_header)) { + // Bad packet, error already reported + return -1; + } + + // Calculate starting points for unpacking this packet into block's data buffer. + dest_p = paper_input_databuf_p->block[pkt_block_i].data + + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); + payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8); + + // Copy data into buffer + memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); + + return netmcnt; + } + // Else, if packet is late, but not too late (so we can handle F engine + // restarts and MCNT rollover), then ignore it + else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { + // If not just after an mcnt reset, issue warning. + if(cur_mcnt >= binfo.mcnt_log_late) { + hashpipe_warn("paper_pktsock_thread", + "Ignoring late packet (%d mcnts late)", + cur_mcnt - pkt_mcnt); + } +#ifdef LOG_MCNTS + late_packets_counted++; +#endif + return -1; + } + // Else, it is an "out-of-order" packet. + else { + // If not at start-up and this is the first out of order packet, + // issue warning. + if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { + hashpipe_warn("paper_pktsock_thread", + "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", + pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); + } + + // Increment out-of-seq packet counter + binfo.out_of_seq_cnt++; +#ifdef LOG_MCNTS + outofseq_packets_counted++; +#endif + + // If too may out-of-seq packets + if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { + // Reset current mcnt. The value to reset to must be the first + // value greater than or equal to pkt_mcnt that corresponds to the + // same databuf block as the old current mcnt. + if(binfo.block_i > pkt_block_i) { + // Advance pkt_mcnt to correspond to binfo.block_i + pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); + } else if(binfo.block_i < pkt_block_i) { + // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks + pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); + } + // Round pkt_mcnt down to nearest multiple of Nm + binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); + binfo.mcnt_log_late = binfo.mcnt_start + Nm; + binfo.block_i = block_for_mcnt(binfo.mcnt_start); + hashpipe_warn("paper_pktsock_thread", + "resetting to mcnt %012lx block %d based on packet mcnt %012lx", + binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); + // Reinitialize/recycle our two already acquired blocks with new + // mcnt values. + initialize_block(paper_input_databuf_p, binfo.mcnt_start); + initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); + // Reset binfo's packet counters for these blocks. + binfo.block_packet_counter[binfo.block_i] = 0; + binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; + } + return -1; + } + + return netmcnt; +} + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +static int init(hashpipe_thread_args_t *args) +{ + /* Read network params */ + char bindhost[80]; + int bindport = 8511; + + strcpy(bindhost, "0.0.0.0"); + + hashpipe_status_t st = args->st; + + hashpipe_status_lock_safe(&st); + // Get info from status buffer if present (no change if not present) + hgets(st.buf, "BINDHOST", 80, bindhost); + hgeti4(st.buf, "BINDPORT", &bindport); + // Store bind host/port info etc in status buffer + hputs(st.buf, "BINDHOST", bindhost); + hputi4(st.buf, "BINDPORT", bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hashpipe_status_unlock_safe(&st); + +#ifndef TIMING_TEST + /* Set up pktsock */ + struct hashpipe_pktsock *p_ps = (struct hashpipe_pktsock *) + malloc(sizeof(struct hashpipe_pktsock)); + + if(!p_ps) { + perror(__FUNCTION__); + return -1; + } + + // Make frame_size be a divisor of block size so that frames will be + // contiguous in mapped mempory. block_size must also be a multiple of + // page_size. Easiest way is to oversize the frames to be 16384 bytes, which + // is bigger than we need, but keeps things easy. + p_ps->frame_size = PKTSOCK_BYTES_PER_FRAME; + // total number of frames + p_ps->nframes = PKTSOCK_NFRAMES; + // number of blocks + p_ps->nblocks = PKTSOCK_NBLOCKS; + + int rv = hashpipe_pktsock_open(p_ps, bindhost, PACKET_RX_RING); + if (rv!=HASHPIPE_OK) { + hashpipe_error("paper_pktsock_thread", "Error opening pktsock."); + pthread_exit(NULL); + } + + // Store packet socket pointer in args + args->user_data = p_ps; +#endif + + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our output buffer happens to be a paper_input_databuf + paper_input_databuf_t *db = (paper_input_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + st_p = &st; // allow global (this source file) access to the status buffer + + // Flag that holds off the net thread + int holdoff = 1; + + // Force ourself into the hold off state + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "NETHOLD", 1); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); + + while(holdoff) { + // We're not in any hurry to startup + sleep(1); + hashpipe_status_lock_safe(&st); + // Look for NETHOLD value + hgeti4(st.buf, "NETHOLD", &holdoff); + if(!holdoff) { + // Done holding, so delete the key + hdel(st.buf, "NETHOLD"); + hputs(st.buf, status_key, "running"); + } + hashpipe_status_unlock_safe(&st); + } + +#ifdef DEBUG_SEMS + fprintf(stderr, "s/tid %lu/NET/' <<.\n", pthread_self()); +#endif + +#if 0 + /* Copy status buffer */ + char status_buf[HASHPIPE_STATUS_SIZE]; + hashpipe_status_lock_busywait_safe(st_p); + memcpy(status_buf, st_p->buf, HASHPIPE_STATUS_SIZE); + hashpipe_status_unlock_safe(st_p); +#endif + + // Acquire first two blocks to start + if(paper_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + if(paper_input_databuf_busywait_free(db, 1) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + + // Initialize the newly acquired block + initialize_block(db, 0); + initialize_block(db, Nm); + + /* Read network params */ + int bindport = 8511; + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + size_t expected_packet_size = N_BYTES_PER_PACKET + 8; + +#ifndef TIMING_TEST + /* Get pktsock from args*/ + struct hashpipe_pktsock * p_ps = (struct hashpipe_pktsock*)args->user_data; + pthread_cleanup_push(free, p_ps); + pthread_cleanup_push((void (*)(void *))hashpipe_pktsock_close, p_ps); + + // Drop all packets to date + unsigned char *p_frame; + while((p_frame=hashpipe_pktsock_recv_frame_nonblock(p_ps))) { + hashpipe_pktsock_release_frame(p_frame); + } + + hashpipe_status_lock_safe(&st); + // Get info from status buffer + hgeti4(st.buf, "BINDPORT", &bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hputs(st.buf, status_key, "running"); + hashpipe_status_unlock_safe(&st); +#endif + + /* Main loop */ + uint64_t packet_count = 0; + uint64_t wait_ns = 0; // ns for most recent wait + uint64_t recv_ns = 0; // ns for most recent recv + uint64_t proc_ns = 0; // ns for most recent proc + uint64_t min_wait_ns = 99999; // min ns per single wait + uint64_t min_recv_ns = 99999; // min ns per single recv + uint64_t min_proc_ns = 99999; // min ns per single proc + uint64_t max_wait_ns = 0; // max ns per single wait + uint64_t max_recv_ns = 0; // max ns per single recv + uint64_t max_proc_ns = 0; // max ns per single proc + uint64_t elapsed_wait_ns = 0; // cumulative wait time per block + uint64_t elapsed_recv_ns = 0; // cumulative recv time per block + uint64_t elapsed_proc_ns = 0; // cumulative proc time per block + uint64_t status_ns = 0; // User to fetch ns values from status buffer + float ns_per_wait = 0.0; // Average ns per wait over 1 block + float ns_per_recv = 0.0; // Average ns per recv over 1 block + float ns_per_proc = 0.0; // Average ns per proc over 1 block + unsigned int pktsock_pkts = 0; // Stats counter from socket packet + unsigned int pktsock_drops = 0; // Stats counter from socket packet + uint64_t pktsock_pkts_total = 0; // Stats total for socket packet + uint64_t pktsock_drops_total = 0; // Stats total for socket packet + struct timespec start, stop; + struct timespec recv_start, recv_stop; + + while (run_threads()) { + +#ifndef TIMING_TEST + /* Read packet */ + clock_gettime(CLOCK_MONOTONIC, &recv_start); + do { + clock_gettime(CLOCK_MONOTONIC, &start); + //p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); + p_frame = hashpipe_pktsock_recv_udp_frame_nonblock(p_ps, bindport); + clock_gettime(CLOCK_MONOTONIC, &recv_stop); + } while (!p_frame && run_threads()); + + if(!run_threads()) break; + + // Make sure received packet size matches expected packet size. Allow + // for optional 8 byte CRC in received packet. Zlib's crc32 function + // is too slow to use in realtime, so CRCs cannot be checked on the + // fly. If data errors are suspected, a separate CRC checking utility + // should be used to read the packets from the network and verify CRCs. + int packet_size = PKT_UDP_SIZE(p_frame) - 8; // -8 for the UDP header + if (expected_packet_size != packet_size-8 && expected_packet_size != packet_size) { + // Log warning and ignore wrongly sized packet + #ifdef DEBUG_NET + hashpipe_warn("paper_pktsock_thread", "Invalid pkt size (%d)", packet_size); + #endif + hashpipe_pktsock_release_frame(p_frame); + continue; + } +#endif + packet_count++; + + // Copy packet into any blocks where it belongs. + const uint64_t mcnt = process_packet((paper_input_databuf_t *)db, p_frame); + // Release frame back to kernel + hashpipe_pktsock_release_frame(p_frame); + + clock_gettime(CLOCK_MONOTONIC, &stop); + wait_ns = ELAPSED_NS(recv_start, start); + recv_ns = ELAPSED_NS(start, recv_stop); + proc_ns = ELAPSED_NS(recv_stop, stop); + elapsed_wait_ns += wait_ns; + elapsed_recv_ns += recv_ns; + elapsed_proc_ns += proc_ns; + // Update min max values + min_wait_ns = MIN(wait_ns, min_wait_ns); + min_recv_ns = MIN(recv_ns, min_recv_ns); + min_proc_ns = MIN(proc_ns, min_proc_ns); + max_wait_ns = MAX(wait_ns, max_wait_ns); + max_recv_ns = MAX(recv_ns, max_recv_ns); + max_proc_ns = MAX(proc_ns, max_proc_ns); + + if(mcnt != -1) { + // Update status + ns_per_wait = (float)elapsed_wait_ns / packet_count; + ns_per_recv = (float)elapsed_recv_ns / packet_count; + ns_per_proc = (float)elapsed_proc_ns / packet_count; + + // Get stats from packet socket + hashpipe_pktsock_stats(p_ps, &pktsock_pkts, &pktsock_drops); + + hashpipe_status_lock_busywait_safe(&st); + + hputu8(st.buf, "NETMCNT", mcnt); + // Gbps = bits_per_packet / ns_per_packet + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); + hputr4(st.buf, "NETWATNS", ns_per_wait); + hputr4(st.buf, "NETRECNS", ns_per_recv); + hputr4(st.buf, "NETPRCNS", ns_per_proc); + + // Get and put min and max values. The "get-then-put" allows the + // user to reset the min max values in the status buffer. + hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + status_ns = MIN(min_wait_ns, status_ns); + hputi8(st.buf, "NETWATMN", status_ns); + + hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + status_ns = MIN(min_recv_ns, status_ns); + hputi8(st.buf, "NETRECMN", status_ns); + + hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + status_ns = MIN(min_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMN", status_ns); + + hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + status_ns = MAX(max_wait_ns, status_ns); + hputi8(st.buf, "NETWATMX", status_ns); + + hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + status_ns = MAX(max_recv_ns, status_ns); + hputi8(st.buf, "NETRECMX", status_ns); + + hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + status_ns = MAX(max_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMX", status_ns); + + hputu8(st.buf, "NETPKTS", pktsock_pkts); + hputu8(st.buf, "NETDROPS", pktsock_drops); + + hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); + hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); + + hashpipe_status_unlock_safe(&st); + + // Start new average + elapsed_wait_ns = 0; + elapsed_recv_ns = 0; + elapsed_proc_ns = 0; + packet_count = 0; + } + +#if defined TIMING_TEST || defined NET_TIMING_TEST + +#define END_LOOP_COUNT (1*1000*1000) + static int loop_count=0; + static struct timespec tt_start, tt_stop; + if(loop_count == 0) { + clock_gettime(CLOCK_MONOTONIC, &tt_start); + } + //if(loop_count == 1000000) pthread_exit(NULL); + if(loop_count == END_LOOP_COUNT) { + clock_gettime(CLOCK_MONOTONIC, &tt_stop); + int64_t elapsed = ELAPSED_NS(tt_start, tt_stop); + printf("processed %d packets in %.6f ms (%.3f us per packet)\n", + END_LOOP_COUNT, elapsed/1e6, elapsed/1e3/END_LOOP_COUNT); + exit(0); + } + loop_count++; +#endif + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + +#ifndef TIMING_TEST + /* Have to close all push's */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_pktsock_close) */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ +#endif + + return NULL; +} + +static hashpipe_thread_desc_t pktsock_thread = { + name: "paper_pktsock_thread", + skey: "NETSTAT", + init: init, + run: run, + ibuf_desc: {NULL}, + obuf_desc: {paper_input_databuf_create} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&pktsock_thread); +} + +// vi: set ts=8 sw=4 noet : From a81d7674f49e50265b559972aef83b60df143987 Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 6 Oct 2017 03:32:26 +0200 Subject: [PATCH 022/420] Increase ADC digital gain to 8 (was 4) --- src/xtor_up.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index da678174..785f35d1 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -36,7 +36,7 @@ exit $1 do_f= do_x= do_c= -paper_init=paper_init.sh +paper_init=paper_pktsock_init.sh xc=X ctmode=0 @@ -117,7 +117,7 @@ if [ -n "$do_f" ] then # Program ROACH2 FPGAs with roach2_fengine design echo Programming F Engines $fhosts - for f in $fhosts; do adc16_init.rb -r 0x2a=0x4444 $f roach2_fengine; done + for f in $fhosts; do adc16_init.rb -r 0x2a=0x8888 $f roach2_fengine; done # Initialize F engines echo Initializing F Engines $fhosts From 96c87bff11588e1235e7cd77e5cd62a2628d4a65 Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 6 Oct 2017 04:46:24 +0200 Subject: [PATCH 023/420] Make gain factor 8 (code != gain factor) After checking HMCAD1511 data sheet (table 21) it turns out a register value of 4 = gain 4, but a register value of 8 = gain 12.5. register val 6 = gain 8 --- src/xtor_up.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 785f35d1..6b4eb76c 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -117,7 +117,7 @@ if [ -n "$do_f" ] then # Program ROACH2 FPGAs with roach2_fengine design echo Programming F Engines $fhosts - for f in $fhosts; do adc16_init.rb -r 0x2a=0x8888 $f roach2_fengine; done + for f in $fhosts; do adc16_init.rb -r 0x2a=0x6666 $f roach2_fengine; done # Initialize F engines echo Initializing F Engines $fhosts From 9d4340813b099ebb14d2493f2f51ce86c3583136 Mon Sep 17 00:00:00 2001 From: Jack H Date: Sat, 7 Oct 2017 02:31:42 +0200 Subject: [PATCH 024/420] Explicitly set EQ to 840 An ~sqrt(2) increase from the default value of 600 --- src/xtor_up.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 6b4eb76c..2b7b02bd 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -122,7 +122,7 @@ then # Initialize F engines echo Initializing F Engines $fhosts #paper_feng_init.rb -m $ctmode $fhosts - hera_roach_feng_init.py $fhosts + hera_roach_feng_init.py -e 840 $fhosts fi if [ -n "$do_x" -o "$do_c" ] From c6ec6211a86b386c4feee1ef608b537c58bbe074 Mon Sep 17 00:00:00 2001 From: Jack H Date: Thu, 23 Nov 2017 06:52:09 +0200 Subject: [PATCH 025/420] Add hera-spec netthread --- src/hera_pktsock_thread.c | 842 ++++++++++++++++++++++++++++++++++++++ src/paper_databuf.h | 82 ++++ 2 files changed, 924 insertions(+) create mode 100644 src/hera_pktsock_thread.c diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c new file mode 100644 index 00000000..850e9003 --- /dev/null +++ b/src/hera_pktsock_thread.c @@ -0,0 +1,842 @@ +/* hera_pktsock_thread.c + * + * Routine to read packets from network and put them + * into shared memory blocks. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +#define DEBUG_NET + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#define PKTSOCK_BYTES_PER_FRAME (16384) +#define PKTSOCK_FRAMES_PER_BLOCK (8) +#define PKTSOCK_NBLOCKS (800) +#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) + +typedef struct { + uint64_t mcnt; + int fid; // Fengine ID + int xid; // Xengine ID +} packet_header_t; + +// The fields of a block_info_t structure hold (at least) two different kinds +// of data. Some fields hold data that persist over many packets while other +// fields hold data that are only applicable to the current packet (or the +// previous packet). +typedef struct { + int initialized; + int32_t self_xid; + uint64_t mcnt_start; + uint64_t mcnt_log_late; + int out_of_seq_cnt; + int block_i; + // The m,x,f fields hold three of the five dimensional indices for + // the first data word of the current packet (i.e. t=0 and c=0). + int m; // formerly known as sub_block_i + int f; + int block_packet_counter[N_INPUT_BLOCKS]; +} block_info_t; + +static hashpipe_status_t *st_p; + +#if 0 +static void print_pkt_header(packet_header_t * pkt_header) { + + static long long prior_mcnt; + + printf("packet header : mcnt %012lx (diff from prior %lld) fid %d xid %d\n", + pkt_header->mcnt, pkt_header->mcnt-prior_mcnt, pkt_header->fid, pkt_header->xid); + + prior_mcnt = pkt_header->mcnt; +} +#endif + +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void print_block_info(block_info_t * binfo) { + printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", + binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); +} + +static void print_block_packet_counter(block_info_t * binfo) { + int i; + for(i=0;iblock_i) { + fprintf(stdout, "*%03d ", binfo->block_packet_counter[i]); + } else { + fprintf(stdout, " %03d ", binfo->block_packet_counter[i]); + } + } + fprintf(stdout, "\n"); +} + +static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { + + int i; + + for(i=0; i < N_INPUT_BLOCKS; i++) { + printf("block %d mcnt %012lx\n", i, paper_input_databuf_p->block[i].header.mcnt); + } +} +#endif // DIE_ON_OUT_OF_SEQ_FILL + +// Returns physical block number for given mcnt +static inline int block_for_mcnt(uint64_t mcnt) +{ + return (mcnt / Nm) % N_INPUT_BLOCKS; +} + +#ifdef LOG_MCNTS +#define MAX_MCNT_LOG (1024*1024) +//static uint64_t mcnt_log[MAX_MCNT_LOG]; +//static int mcnt_log_idx = 0; +static int total_packets_counted = 0; +static int expected_packets_counted = 0; +static int late_packets_counted = 0; +static int outofseq_packets_counted = 0; +static int filled_packets_counted = 0; + +void dump_mcnt_log(int xid) +{ + //int i; + char fname[80]; + FILE *f; + sprintf(fname, "mcnt.xid%02d.log", xid); + f = fopen(fname,"w"); + fprintf(f, "expected packets counted = %d\n", expected_packets_counted); + fprintf(f, "late packets counted = %d\n", late_packets_counted); + fprintf(f, "outofseq packets counted = %d\n", outofseq_packets_counted); + fprintf(f, "total packets counted = %d\n", total_packets_counted); + fprintf(f, "filled packets counted = %d\n", filled_packets_counted); + //for(i=0; imcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; + pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; + pkt_header->fid = (pkt_counter ) % (Nq*Nf); + pkt_counter++; +#else + uint64_t raw_header; + raw_header = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); + pkt_header->mcnt = (raw_header >> 27) & ((1<<37)-1); + pkt_header->chan = (raw_header >> 16) & ((1<<11)-1); + pkt_header->ant = raw_header & ((1<<16)-1); +#endif + +#ifdef LOG_MCNTS + total_packets_counted++; + //mcnt_log[mcnt_log_idx++] = pkt_header->mcnt; + //if(mcnt_log_idx == MAX_MCNT_LOG) { + // dump_mcnt_log(pkt_header->xid); + // abort(); + //} + // HERA TODO + if(total_packets_counted == 10*1000*1000) { + dump_mcnt_log(pkt_header->xid); + abort(); + } +#endif +} + +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) +{ + print_block_info(binfo); + print_block_packet_counter(binfo); + print_ring_mcnts(paper_input_databuf_p); +#ifdef LOG_MCNTS + dump_mcnt_log(); +#endif + abort(); // End process and generate core file (if ulimit allows) +} +#endif + +// This sets the "current" block to be marked as filled. The current block is +// the block corresponding to binfo->mcnt_start. Returns mcnt of the block +// being marked filled. +static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) +{ + static int last_filled = -1; + + uint32_t block_missed_pkt_cnt=HERA_N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; + + uint32_t block_i = block_for_mcnt(binfo->mcnt_start); + + // Validate that we're filling blocks in the proper sequence + last_filled = (last_filled+1) % N_INPUT_BLOCKS; + if(last_filled != block_i) { + printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); +#ifdef DIE_ON_OUT_OF_SEQ_FILL + die(paper_input_databuf_p, binfo); +#endif + } + + // Validate that block_i matches binfo->block_i + if(block_i != binfo->block_i) { + hashpipe_warn(__FUNCTION__, + "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", + block_i, binfo->block_i); + } +#ifdef LOG_MCNTS + filled_packets_counted += binfo->block_packet_counter[block_i]; +#endif + + // If all packets are accounted for, mark this block as good + if(binfo->block_packet_counter[block_i] == HERA_N_PACKETS_PER_BLOCK) { + paper_input_databuf_p->block[block_i].header.good_data = 1; + } + + // Set the block as filled + if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); + pthread_exit(NULL); + } + + // Calculate missing packets. + block_missed_pkt_cnt = HERA_N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we + // are missing one or more F engines. Any missed packets beyond an + // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered + // as dropped packets. + block_missed_feng = block_missed_pkt_cnt / HERA_N_PACKETS_PER_BLOCK_PER_F; + block_missed_mod_cnt = block_missed_pkt_cnt % HERA_N_PACKETS_PER_BLOCK_PER_F; + + // Reinitialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; + + // Update status buffer + hashpipe_status_lock_busywait_safe(st_p); + hputu4(st_p->buf, "NETBKOUT", block_i); + hputu4(st_p->buf, "MISSEDFE", block_missed_feng); + if(block_missed_mod_cnt) { + // Increment MISSEDPK by number of missed packets for this block + hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + missed_pkt_cnt += block_missed_mod_cnt; + hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + // fprintf(stderr, "got %d packets instead of %d\n", + // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); + } + // Update our XID from status buffer + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); + + return binfo->mcnt_start; +} + +static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) +{ + if(pkt_header->fid >= Nf) { + hashpipe_error(__FUNCTION__, + "current packet FID %u out of range (0-%d)", + pkt_header->fid, Nf-1); + return -1; + } else if(pkt_header->xid != binfo->self_xid && binfo->self_xid != -1) { + hashpipe_error(__FUNCTION__, + "unexpected packet XID %d (expected %d)", + pkt_header->xid, binfo->self_xid); + return -1; + } + + binfo->m = pkt_header->mcnt % Nm; + binfo->f = pkt_header->fid; + + return 0; +} + +// This allows for 2 out of sequence packets from each F engine (in a row) +#define MAX_OUT_OF_SEQ (2*Nf) + +// This allows packets to be two full databufs late without being considered +// out of sequence. +#define LATE_PKT_MCNT_THRESHOLD (2*Nm*N_INPUT_BLOCKS) + +// Initialize a block by clearing its "good data" flag and saving the first +// (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a +// multiple of Nm (number of mcnts per block). In theory, the block's data +// could be cleared as well, but that takes time and is largely unnecessary in +// a properly functionong system. +static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) +{ + int block_i = block_for_mcnt(mcnt); + + paper_input_databuf_p->block[block_i].header.good_data = 0; + // Round pkt_mcnt down to nearest multiple of Nm + paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%Nm); +} + +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo) +{ + int i; + + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + + for(i = 0; i < N_INPUT_BLOCKS; i++) { + binfo->block_packet_counter[i] = 0; + } + + // Initialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; + // Update our XID from status buffer + hashpipe_status_lock_busywait_safe(st_p); + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); + + // On startup mcnt_start will be zero and mcnt_log_late will be Nm. + binfo->mcnt_start = 0; + binfo->mcnt_log_late = Nm; + binfo->block_i = 0; + + binfo->out_of_seq_cnt = 0; + binfo->initialized = 1; +} + +// This function returns -1 unless the given packet causes a block to be marked +// as filled in which case this function returns the marked block's first mcnt. +// Any return value other than -1 will be stored in the status memory as +// NETMCNT, so it is important that values other than -1 are returned rarely +// (i.e. when marking a block as filled)!!! +static inline uint64_t process_packet( + paper_input_databuf_t *paper_input_databuf_p, unsigned char*p_frame) +{ + + static block_info_t binfo; + packet_header_t pkt_header; + const uint64_t *payload_p; + int pkt_block_i; + uint64_t *dest_p; + int64_t pkt_mcnt_dist; + uint64_t pkt_mcnt; + uint64_t cur_mcnt; + uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) +#if N_DEBUG_INPUT_BLOCKS == 1 + static uint64_t debug_remaining = -1ULL; + static off_t debug_offset = 0; + uint64_t * debug_ptr; +#endif + + // Lazy init binfo + if(!binfo.initialized) { + initialize_block_info(&binfo); + } + + // Parse packet header + get_header(p_frame, &pkt_header); + pkt_mcnt = pkt_header.mcnt; + pkt_block_i = block_for_mcnt(pkt_mcnt); + cur_mcnt = binfo.mcnt_start; + + // Packet mcnt distance (how far away is this packet's mcnt from the + // current mcnt). Positive distance for pcnt mcnts > current mcnt. + pkt_mcnt_dist = pkt_mcnt - cur_mcnt; + +#if N_DEBUG_INPUT_BLOCKS == 1 + debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; + debug_ptr[debug_offset++] = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); + if(--debug_remaining == 0) { + exit(1); + } + if(debug_offset >= sizeof(paper_input_block_t)/sizeof(uint64_t)) { + debug_offset = 0; + } +#endif + + // We expect packets for the current block, the next block, and the block after. + if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { + // If the packet is for the block after the next block (i.e. current + // block + 2 blocks) + if(pkt_mcnt_dist >= 2*Nm) { + // Mark the current block as filled + netmcnt = set_block_filled(paper_input_databuf_p, &binfo); + + // Advance mcnt_start to next block + cur_mcnt += Nm; + binfo.mcnt_start += Nm; + binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; + + // Wait (hopefully not long!) to acquire the block after next (i.e. + // the block that gets the current packet). + if(paper_input_databuf_busywait_free(paper_input_databuf_p, pkt_block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } + } + + // Initialize the newly acquired block + initialize_block(paper_input_databuf_p, pkt_mcnt); + // Reset binfo's packet counter for this packet's block + binfo.block_packet_counter[pkt_block_i] = 0; + } + + // Reset out-of-seq counter + binfo.out_of_seq_cnt = 0; + + // Increment packet count for block + binfo.block_packet_counter[pkt_block_i]++; +#ifdef LOG_MCNTS + expected_packets_counted++; +#endif + + // Validate header FID and XID and calculate "m" and "f" indexes into + // block (stored in binfo). + if(calc_block_indexes(&binfo, &pkt_header)) { + // Bad packet, error already reported + return -1; + } + + // Calculate starting points for unpacking this packet into block's data buffer. + dest_p = paper_input_databuf_p->block[pkt_block_i].data + + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); + payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8); + + // Copy data into buffer + memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); + + return netmcnt; + } + // Else, if packet is late, but not too late (so we can handle F engine + // restarts and MCNT rollover), then ignore it + else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { + // If not just after an mcnt reset, issue warning. + if(cur_mcnt >= binfo.mcnt_log_late) { + hashpipe_warn("hera_pktsock_thread", + "Ignoring late packet (%d mcnts late)", + cur_mcnt - pkt_mcnt); + } +#ifdef LOG_MCNTS + late_packets_counted++; +#endif + return -1; + } + // Else, it is an "out-of-order" packet. + else { + // If not at start-up and this is the first out of order packet, + // issue warning. + if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { + hashpipe_warn("hera_pktsock_thread", + "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", + pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); + } + + // Increment out-of-seq packet counter + binfo.out_of_seq_cnt++; +#ifdef LOG_MCNTS + outofseq_packets_counted++; +#endif + + // If too may out-of-seq packets + if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { + // Reset current mcnt. The value to reset to must be the first + // value greater than or equal to pkt_mcnt that corresponds to the + // same databuf block as the old current mcnt. + if(binfo.block_i > pkt_block_i) { + // Advance pkt_mcnt to correspond to binfo.block_i + pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); + } else if(binfo.block_i < pkt_block_i) { + // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks + pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); + } + // Round pkt_mcnt down to nearest multiple of Nm + binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); + binfo.mcnt_log_late = binfo.mcnt_start + Nm; + binfo.block_i = block_for_mcnt(binfo.mcnt_start); + hashpipe_warn("hera_pktsock_thread", + "resetting to mcnt %012lx block %d based on packet mcnt %012lx", + binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); + // Reinitialize/recycle our two already acquired blocks with new + // mcnt values. + initialize_block(paper_input_databuf_p, binfo.mcnt_start); + initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); + // Reset binfo's packet counters for these blocks. + binfo.block_packet_counter[binfo.block_i] = 0; + binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; + } + return -1; + } + + return netmcnt; +} + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +static int init(hashpipe_thread_args_t *args) +{ + /* Read network params */ + char bindhost[80]; + int bindport = 8511; + + strcpy(bindhost, "0.0.0.0"); + + hashpipe_status_t st = args->st; + + hashpipe_status_lock_safe(&st); + // Get info from status buffer if present (no change if not present) + hgets(st.buf, "BINDHOST", 80, bindhost); + hgeti4(st.buf, "BINDPORT", &bindport); + // Store bind host/port info etc in status buffer + hputs(st.buf, "BINDHOST", bindhost); + hputi4(st.buf, "BINDPORT", bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hashpipe_status_unlock_safe(&st); + +#ifndef TIMING_TEST + /* Set up pktsock */ + struct hashpipe_pktsock *p_ps = (struct hashpipe_pktsock *) + malloc(sizeof(struct hashpipe_pktsock)); + + if(!p_ps) { + perror(__FUNCTION__); + return -1; + } + + // Make frame_size be a divisor of block size so that frames will be + // contiguous in mapped mempory. block_size must also be a multiple of + // page_size. Easiest way is to oversize the frames to be 16384 bytes, which + // is bigger than we need, but keeps things easy. + p_ps->frame_size = PKTSOCK_BYTES_PER_FRAME; + // total number of frames + p_ps->nframes = PKTSOCK_NFRAMES; + // number of blocks + p_ps->nblocks = PKTSOCK_NBLOCKS; + + int rv = hashpipe_pktsock_open(p_ps, bindhost, PACKET_RX_RING); + if (rv!=HASHPIPE_OK) { + hashpipe_error("hera_pktsock_thread", "Error opening pktsock."); + pthread_exit(NULL); + } + + // Store packet socket pointer in args + args->user_data = p_ps; +#endif + + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our output buffer happens to be a paper_input_databuf + paper_input_databuf_t *db = (paper_input_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + st_p = &st; // allow global (this source file) access to the status buffer + + // Flag that holds off the net thread + int holdoff = 1; + + // Force ourself into the hold off state + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "NETHOLD", 1); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); + + while(holdoff) { + // We're not in any hurry to startup + sleep(1); + hashpipe_status_lock_safe(&st); + // Look for NETHOLD value + hgeti4(st.buf, "NETHOLD", &holdoff); + if(!holdoff) { + // Done holding, so delete the key + hdel(st.buf, "NETHOLD"); + hputs(st.buf, status_key, "running"); + } + hashpipe_status_unlock_safe(&st); + } + +#ifdef DEBUG_SEMS + fprintf(stderr, "s/tid %lu/NET/' <<.\n", pthread_self()); +#endif + +#if 0 + /* Copy status buffer */ + char status_buf[HASHPIPE_STATUS_SIZE]; + hashpipe_status_lock_busywait_safe(st_p); + memcpy(status_buf, st_p->buf, HASHPIPE_STATUS_SIZE); + hashpipe_status_unlock_safe(st_p); +#endif + + // Acquire first two blocks to start + if(paper_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + if(paper_input_databuf_busywait_free(db, 1) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + + // Initialize the newly acquired block + initialize_block(db, 0); + initialize_block(db, Nm); + + /* Read network params */ + int bindport = 8511; + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + size_t expected_packet_size = N_BYTES_PER_PACKET + 8; + +#ifndef TIMING_TEST + /* Get pktsock from args*/ + struct hashpipe_pktsock * p_ps = (struct hashpipe_pktsock*)args->user_data; + pthread_cleanup_push(free, p_ps); + pthread_cleanup_push((void (*)(void *))hashpipe_pktsock_close, p_ps); + + // Drop all packets to date + unsigned char *p_frame; + while((p_frame=hashpipe_pktsock_recv_frame_nonblock(p_ps))) { + hashpipe_pktsock_release_frame(p_frame); + } + + hashpipe_status_lock_safe(&st); + // Get info from status buffer + hgeti4(st.buf, "BINDPORT", &bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hputs(st.buf, status_key, "running"); + hashpipe_status_unlock_safe(&st); +#endif + + /* Main loop */ + uint64_t packet_count = 0; + uint64_t wait_ns = 0; // ns for most recent wait + uint64_t recv_ns = 0; // ns for most recent recv + uint64_t proc_ns = 0; // ns for most recent proc + uint64_t min_wait_ns = 99999; // min ns per single wait + uint64_t min_recv_ns = 99999; // min ns per single recv + uint64_t min_proc_ns = 99999; // min ns per single proc + uint64_t max_wait_ns = 0; // max ns per single wait + uint64_t max_recv_ns = 0; // max ns per single recv + uint64_t max_proc_ns = 0; // max ns per single proc + uint64_t elapsed_wait_ns = 0; // cumulative wait time per block + uint64_t elapsed_recv_ns = 0; // cumulative recv time per block + uint64_t elapsed_proc_ns = 0; // cumulative proc time per block + uint64_t status_ns = 0; // User to fetch ns values from status buffer + float ns_per_wait = 0.0; // Average ns per wait over 1 block + float ns_per_recv = 0.0; // Average ns per recv over 1 block + float ns_per_proc = 0.0; // Average ns per proc over 1 block + unsigned int pktsock_pkts = 0; // Stats counter from socket packet + unsigned int pktsock_drops = 0; // Stats counter from socket packet + uint64_t pktsock_pkts_total = 0; // Stats total for socket packet + uint64_t pktsock_drops_total = 0; // Stats total for socket packet + struct timespec start, stop; + struct timespec recv_start, recv_stop; + + while (run_threads()) { + +#ifndef TIMING_TEST + /* Read packet */ + clock_gettime(CLOCK_MONOTONIC, &recv_start); + do { + clock_gettime(CLOCK_MONOTONIC, &start); + //p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); + p_frame = hashpipe_pktsock_recv_udp_frame_nonblock(p_ps, bindport); + clock_gettime(CLOCK_MONOTONIC, &recv_stop); + } while (!p_frame && run_threads()); + + if(!run_threads()) break; + + // Make sure received packet size matches expected packet size. Allow + // for optional 8 byte CRC in received packet. Zlib's crc32 function + // is too slow to use in realtime, so CRCs cannot be checked on the + // fly. If data errors are suspected, a separate CRC checking utility + // should be used to read the packets from the network and verify CRCs. + int packet_size = PKT_UDP_SIZE(p_frame) - 8; // -8 for the UDP header + if (expected_packet_size != packet_size-8 && expected_packet_size != packet_size) { + // Log warning and ignore wrongly sized packet + #ifdef DEBUG_NET + hashpipe_warn("hera_pktsock_thread", "Invalid pkt size (%d)", packet_size); + #endif + hashpipe_pktsock_release_frame(p_frame); + continue; + } +#endif + packet_count++; + + // Copy packet into any blocks where it belongs. + const uint64_t mcnt = process_packet((paper_input_databuf_t *)db, p_frame); + // Release frame back to kernel + hashpipe_pktsock_release_frame(p_frame); + + clock_gettime(CLOCK_MONOTONIC, &stop); + wait_ns = ELAPSED_NS(recv_start, start); + recv_ns = ELAPSED_NS(start, recv_stop); + proc_ns = ELAPSED_NS(recv_stop, stop); + elapsed_wait_ns += wait_ns; + elapsed_recv_ns += recv_ns; + elapsed_proc_ns += proc_ns; + // Update min max values + min_wait_ns = MIN(wait_ns, min_wait_ns); + min_recv_ns = MIN(recv_ns, min_recv_ns); + min_proc_ns = MIN(proc_ns, min_proc_ns); + max_wait_ns = MAX(wait_ns, max_wait_ns); + max_recv_ns = MAX(recv_ns, max_recv_ns); + max_proc_ns = MAX(proc_ns, max_proc_ns); + + if(mcnt != -1) { + // Update status + ns_per_wait = (float)elapsed_wait_ns / packet_count; + ns_per_recv = (float)elapsed_recv_ns / packet_count; + ns_per_proc = (float)elapsed_proc_ns / packet_count; + + // Get stats from packet socket + hashpipe_pktsock_stats(p_ps, &pktsock_pkts, &pktsock_drops); + + hashpipe_status_lock_busywait_safe(&st); + + hputu8(st.buf, "NETMCNT", mcnt); + // Gbps = bits_per_packet / ns_per_packet + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); + hputr4(st.buf, "NETWATNS", ns_per_wait); + hputr4(st.buf, "NETRECNS", ns_per_recv); + hputr4(st.buf, "NETPRCNS", ns_per_proc); + + // Get and put min and max values. The "get-then-put" allows the + // user to reset the min max values in the status buffer. + hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + status_ns = MIN(min_wait_ns, status_ns); + hputi8(st.buf, "NETWATMN", status_ns); + + hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + status_ns = MIN(min_recv_ns, status_ns); + hputi8(st.buf, "NETRECMN", status_ns); + + hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + status_ns = MIN(min_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMN", status_ns); + + hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + status_ns = MAX(max_wait_ns, status_ns); + hputi8(st.buf, "NETWATMX", status_ns); + + hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + status_ns = MAX(max_recv_ns, status_ns); + hputi8(st.buf, "NETRECMX", status_ns); + + hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + status_ns = MAX(max_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMX", status_ns); + + hputu8(st.buf, "NETPKTS", pktsock_pkts); + hputu8(st.buf, "NETDROPS", pktsock_drops); + + hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); + hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); + + hashpipe_status_unlock_safe(&st); + + // Start new average + elapsed_wait_ns = 0; + elapsed_recv_ns = 0; + elapsed_proc_ns = 0; + packet_count = 0; + } + +#if defined TIMING_TEST || defined NET_TIMING_TEST + +#define END_LOOP_COUNT (1*1000*1000) + static int loop_count=0; + static struct timespec tt_start, tt_stop; + if(loop_count == 0) { + clock_gettime(CLOCK_MONOTONIC, &tt_start); + } + //if(loop_count == 1000000) pthread_exit(NULL); + if(loop_count == END_LOOP_COUNT) { + clock_gettime(CLOCK_MONOTONIC, &tt_stop); + int64_t elapsed = ELAPSED_NS(tt_start, tt_stop); + printf("processed %d packets in %.6f ms (%.3f us per packet)\n", + END_LOOP_COUNT, elapsed/1e6, elapsed/1e3/END_LOOP_COUNT); + exit(0); + } + loop_count++; +#endif + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + +#ifndef TIMING_TEST + /* Have to close all push's */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_pktsock_close) */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ +#endif + + return NULL; +} + +static hashpipe_thread_desc_t pktsock_thread = { + name: "hera_pktsock_thread", + skey: "NETSTAT", + init: init, + run: run, + ibuf_desc: {NULL}, + obuf_desc: {paper_input_databuf_create} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&pktsock_thread); +} + +// vi: set ts=8 sw=4 noet : diff --git a/src/paper_databuf.h b/src/paper_databuf.h index b073b114..e2ca8e37 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -18,6 +18,7 @@ #define N_BYTES_PER_PACKET (8192) // X engine sizing (from xGPU) +#define N_ANTS XGPU_NSTATION #define N_INPUTS (2*XGPU_NSTATION) #define N_TIME_PER_BLOCK XGPU_NTIME #define N_CHAN_PER_X XGPU_NFREQUENCY @@ -46,6 +47,35 @@ #define PAGE_SIZE (4096) #define CACHE_ALIGNMENT (128) +// The HERA correlator is based largely on the PAPER correlator. The first +// generation HERA array will match the sizing of the PSA128 (or PSA256 if you +// count by inputs rather than antennas) correlator. In fact, it will use the +// same XGPU build as the last generation PAPER correlator. The main +// difference will be in the F engines. The ROACH2 based F engines are being +// replaced by SNAP based F engines. Because SNAPs have a different number of +// inputs, the F engine packet format must change. Because SNAPs handle a +// non-power-of-2 number of inputs (6), the most generic solution is to put +// each antenna (pair of inputs) into a packet. Fears of small packets have +// eased somewhat (thanks to interrupt coalescing), so the HERA F engine +// packets are now also smaller (1 KB instead of 8 KB). The main message is +// that HERA F engine packets are quite different from the PAPER F engine +// packets. Even though the X engines are the same, the network thread and the +// fluffing threads for HERA are somewhat different. The data buffer format +// for the GPU thread's input buffer is exactly the same. The fluffing +// thread's input buffer is therefore sized the same (i.e. half the size of the +// GPU input buffer), but the format is different since the packet's stored by +// the network thread will be different size/format. Also changed is the +// number of time samples per packet i(and therefore per mcount). The HERA +// specific sizing parameters are given here, but they are all prefixed with +// "HERA_" to disambiguate them from the non-prefixed PAPER versions. + +// HERA_N_BYTES_PER_PACKET excludes header (and footer)! +#define HERA_N_BYTES_PER_PACKET (1024) +#define HERA_N_INPUTS_PER_PACKET (2) +#define HERA_N_CHAN_PER_PACKET (16) + +// Derived from above quantities +#define HERA_N_TIME_PER_PACKET (HERA_N_BYTES_PER_PACKET/HERA_N_INPUTS_PER_PACKET/HERA_N_CHAN_PER_PACKET) /* * INPUT BUFFER STRUCTURES */ @@ -66,6 +96,8 @@ typedef uint8_t paper_input_header_cache_alignment[ // == paper_databuf_input_t == // +// For PAPER: +// // * Net thread output // * Fluffer thread input // * Ordered sequence of packets in "data" field: @@ -103,6 +135,56 @@ typedef uint8_t paper_input_header_cache_alignment[ #define paper_input_databuf_data_idx(m,f,t,c) \ ((N_INPUTS_PER_FENGINE/sizeof(uint64_t))*(c+Nc*(t+Nt*(f+Nf*m)))) +// For HERA: +// +// * HERA net thread output +// * HERA fluffer thread input +// * Ordered sequence of packets in "data" field: +// +// +-- mcount +// | +-- Antenna +// | | |<-packets->| +// V V | | +// m a |c t | +// == == |== ==| +// m0 }--> a0 }--> |c0 }---> t0|\ +// m1 a1 |c1 t1| \ +// m2 a2 |c2 t2| \ chan 0 +// : : |: : | / packet +// : : |: : | / +// : : |: : |/ +// : : +---- ------+ +// : : |Nc/2 }-> t0|\ +// : : |: t1| \ +// : : |: t2| \ chan Nc/2 +// : : |: : | / packet +// : : |: : | / +// : : |: : |/ +// == == === == +// Nm Na Nc Nt +// +// Each time sample is 2 bytes comprising two 4b+4b complex values. +// Note that the bits may not all be contiguous to facilitate fluffing. +// +// m = packet's mcount - block's first mcount +// a = packet's antenna number +// c = channel within within X engine +// t = time sample within channel (0 to Nt-1) + +#define HERA_Nm (N_TIME_PER_BLOCK/HERA_N_TIME_PER_PACKET) +#define HERA_Na N_ANTS +#define HERA_Nc N_CHAN_PER_X +#define HERA_Nt HERA_N_TIME_PER_PACKET + +// HERA mcount index = m * Na * Nc * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) +// HERA ant index = a * Nc * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) +// HERA chan index = c * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) +// +// Computes paper_input_databuf_t data word (uint64_t) offset for complex data +// word corresponding to the given parameters for HERA F engine packets. +#define hera_input_databuf_data_idx(m,a,c) \ + (((m * HERA_Na + a) * HERA_Nc + c) * HERA_Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t)) + typedef struct paper_input_block { paper_input_header_t header; paper_input_header_cache_alignment padding; // Maintain cache alignment From 3727e9d5fbfd6d8bc9b1ca8dd41b8af892560046 Mon Sep 17 00:00:00 2001 From: Jack H Date: Thu, 23 Nov 2017 06:55:58 +0200 Subject: [PATCH 026/420] Make EQ scaling 600. As used in current observations --- src/xtor_up.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 2b7b02bd..62307ea6 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -122,7 +122,7 @@ then # Initialize F engines echo Initializing F Engines $fhosts #paper_feng_init.rb -m $ctmode $fhosts - hera_roach_feng_init.py -e 840 $fhosts + hera_roach_feng_init.py -e 600 $fhosts fi if [ -n "$do_x" -o "$do_c" ] From b481b16668165ae1ad0d5685a0ad7f3ecbde2065 Mon Sep 17 00:00:00 2001 From: Jack H Date: Tue, 23 Jan 2018 10:43:07 -0800 Subject: [PATCH 027/420] Change comments ending in \ to end \. so as not to trigger gcc multi-line comment errors --- src/paper_databuf.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index e2ca8e37..006c652e 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -147,19 +147,19 @@ typedef uint8_t paper_input_header_cache_alignment[ // V V | | // m a |c t | // == == |== ==| -// m0 }--> a0 }--> |c0 }---> t0|\ -// m1 a1 |c1 t1| \ +// m0 }--> a0 }--> |c0 }---> t0|\. +// m1 a1 |c1 t1| \. // m2 a2 |c2 t2| \ chan 0 // : : |: : | / packet -// : : |: : | / -// : : |: : |/ +// : : |: : | /. +// : : |: : |/. // : : +---- ------+ -// : : |Nc/2 }-> t0|\ -// : : |: t1| \ +// : : |Nc/2 }-> t0|\. +// : : |: t1| \. // : : |: t2| \ chan Nc/2 // : : |: : | / packet -// : : |: : | / -// : : |: : |/ +// : : |: : | /. +// : : |: : |/. // == == === == // Nm Na Nc Nt // From 23461367a2540c1da5402606f89544374c51aa1d Mon Sep 17 00:00:00 2001 From: Jack H Date: Thu, 25 Jan 2018 09:25:23 -0800 Subject: [PATCH 028/420] Use simple LUT fluffer --- src/paper_fake_net_thread.c | 13 +- src/paper_fluff.c | 37 +- src/paper_fluff.h | 8198 +++++++++++++++++++++++++++++++++++ 3 files changed, 8237 insertions(+), 11 deletions(-) diff --git a/src/paper_fake_net_thread.c b/src/paper_fake_net_thread.c index 4e906709..6853e1e7 100644 --- a/src/paper_fake_net_thread.c +++ b/src/paper_fake_net_thread.c @@ -30,9 +30,9 @@ static void *run(hashpipe_thread_args_t * args) int i, rv; uint64_t mcnt = 0; uint64_t *data; - int m,f,t,c; + int m,a,t,c; #ifdef FAKE_TEST_INPUT1 - int f1; + int a1; #endif int block_idx = 0; while (run_threads()) { @@ -70,6 +70,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "receiving"); hputi4(st.buf, "NETBKOUT", block_idx); + hputi4(st.buf, "NETMCNT", mcnt); hashpipe_status_unlock_safe(&st); // Fill in sub-block headers @@ -95,17 +96,17 @@ static void *run(hashpipe_thread_args_t * args) memset(data, 0, N_BYTES_PER_BLOCK); c = FAKE_TEST_CHAN; - f = FAKE_TEST_FID; + a = FAKE_TEST_FID; #ifdef FAKE_TEST_INPUT1 #define FAKE_TEST_FID1 (FAKE_TEST_INPUT1/N_INPUTS_PER_PACKET) - f1 = FAKE_TEST_FID1; + a1 = FAKE_TEST_FID1; #endif for(m=0; m +#include //#include //#include //#include @@ -11,7 +12,8 @@ #define N_WORD128_PER_PACKET (N_BYTES_PER_PACKET/sizeof(__m128i)) // OUTPUT_STRIDE in is units of __m256i -#define OUTPUT_STRIDE ((2*Nf*N_INPUTS_PER_FENGINE)/sizeof(__m256i)) +//#define OUTPUT_STRIDE ((2*Nf*N_INPUTS_PER_PACKET)/sizeof(__m256i)) +#define OUTPUT_STRIDE ((2*Na)/sizeof(__m256i)) #if 0 typedef union { @@ -61,7 +63,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; - int m, f, w; + int m, a, w; __m128i lo128, hi128; __m256i out256 = _mm256_setzero_si256(); @@ -71,11 +73,12 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) const __m128i mask = _mm_set_epi64((__m64)0xf0f0f0f0f0f0f0f0ULL, (__m64)0xf0f0f0f0f0f0f0f0ULL); for(m=0; m>1; i++) { + out32[i] = lut[in16[i]]; + } + + //uint64_t * in64 = (uint64_t *) in; + //uint64_t * out64 = (uint64_t *) out; + //int i; + + //for(i=0; i>3; i++) { + // out64[2*i] = (lut[(in64[i]>>48)] << 32) + (lut[(in64[i]>>32) & 0xff]); + // out64[2*i + 1] = (lut[(in64[i]>>16) & 0xff] << 32) + (lut[(in64[i] & 0xff)]); + //} + + // Return number of 64 bit words fluffed + return N_BYTES_PER_BLOCK >> 3; } diff --git a/src/paper_fluff.h b/src/paper_fluff.h index 4eb3bab8..10635078 100644 --- a/src/paper_fluff.h +++ b/src/paper_fluff.h @@ -1,3 +1,8201 @@ #include "paper_databuf.h" int paper_fluff(const uint64_t const * const in, uint64_t * out); + +int paper_fluff_lut(const uint64_t const * const in, uint64_t * out); + +static const uint64_t lut[65536] = +{ +0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000005, 0x00000006, 0x00000007, +0x000000f8, 0x000000f9, 0x000000fa, 0x000000fb, 0x000000fc, 0x000000fd, 0x000000fe, 0x000000ff, +0x00000100, 0x00000101, 0x00000102, 0x00000103, 0x00000104, 0x00000105, 0x00000106, 0x00000107, +0x000001f8, 0x000001f9, 0x000001fa, 0x000001fb, 0x000001fc, 0x000001fd, 0x000001fe, 0x000001ff, +0x00000200, 0x00000201, 0x00000202, 0x00000203, 0x00000204, 0x00000205, 0x00000206, 0x00000207, +0x000002f8, 0x000002f9, 0x000002fa, 0x000002fb, 0x000002fc, 0x000002fd, 0x000002fe, 0x000002ff, +0x00000300, 0x00000301, 0x00000302, 0x00000303, 0x00000304, 0x00000305, 0x00000306, 0x00000307, +0x000003f8, 0x000003f9, 0x000003fa, 0x000003fb, 0x000003fc, 0x000003fd, 0x000003fe, 0x000003ff, +0x00000400, 0x00000401, 0x00000402, 0x00000403, 0x00000404, 0x00000405, 0x00000406, 0x00000407, +0x000004f8, 0x000004f9, 0x000004fa, 0x000004fb, 0x000004fc, 0x000004fd, 0x000004fe, 0x000004ff, +0x00000500, 0x00000501, 0x00000502, 0x00000503, 0x00000504, 0x00000505, 0x00000506, 0x00000507, +0x000005f8, 0x000005f9, 0x000005fa, 0x000005fb, 0x000005fc, 0x000005fd, 0x000005fe, 0x000005ff, +0x00000600, 0x00000601, 0x00000602, 0x00000603, 0x00000604, 0x00000605, 0x00000606, 0x00000607, +0x000006f8, 0x000006f9, 0x000006fa, 0x000006fb, 0x000006fc, 0x000006fd, 0x000006fe, 0x000006ff, +0x00000700, 0x00000701, 0x00000702, 0x00000703, 0x00000704, 0x00000705, 0x00000706, 0x00000707, +0x000007f8, 0x000007f9, 0x000007fa, 0x000007fb, 0x000007fc, 0x000007fd, 0x000007fe, 0x000007ff, +0x0000f800, 0x0000f801, 0x0000f802, 0x0000f803, 0x0000f804, 0x0000f805, 0x0000f806, 0x0000f807, +0x0000f8f8, 0x0000f8f9, 0x0000f8fa, 0x0000f8fb, 0x0000f8fc, 0x0000f8fd, 0x0000f8fe, 0x0000f8ff, +0x0000f900, 0x0000f901, 0x0000f902, 0x0000f903, 0x0000f904, 0x0000f905, 0x0000f906, 0x0000f907, +0x0000f9f8, 0x0000f9f9, 0x0000f9fa, 0x0000f9fb, 0x0000f9fc, 0x0000f9fd, 0x0000f9fe, 0x0000f9ff, +0x0000fa00, 0x0000fa01, 0x0000fa02, 0x0000fa03, 0x0000fa04, 0x0000fa05, 0x0000fa06, 0x0000fa07, +0x0000faf8, 0x0000faf9, 0x0000fafa, 0x0000fafb, 0x0000fafc, 0x0000fafd, 0x0000fafe, 0x0000faff, +0x0000fb00, 0x0000fb01, 0x0000fb02, 0x0000fb03, 0x0000fb04, 0x0000fb05, 0x0000fb06, 0x0000fb07, +0x0000fbf8, 0x0000fbf9, 0x0000fbfa, 0x0000fbfb, 0x0000fbfc, 0x0000fbfd, 0x0000fbfe, 0x0000fbff, +0x0000fc00, 0x0000fc01, 0x0000fc02, 0x0000fc03, 0x0000fc04, 0x0000fc05, 0x0000fc06, 0x0000fc07, +0x0000fcf8, 0x0000fcf9, 0x0000fcfa, 0x0000fcfb, 0x0000fcfc, 0x0000fcfd, 0x0000fcfe, 0x0000fcff, +0x0000fd00, 0x0000fd01, 0x0000fd02, 0x0000fd03, 0x0000fd04, 0x0000fd05, 0x0000fd06, 0x0000fd07, +0x0000fdf8, 0x0000fdf9, 0x0000fdfa, 0x0000fdfb, 0x0000fdfc, 0x0000fdfd, 0x0000fdfe, 0x0000fdff, +0x0000fe00, 0x0000fe01, 0x0000fe02, 0x0000fe03, 0x0000fe04, 0x0000fe05, 0x0000fe06, 0x0000fe07, +0x0000fef8, 0x0000fef9, 0x0000fefa, 0x0000fefb, 0x0000fefc, 0x0000fefd, 0x0000fefe, 0x0000feff, +0x0000ff00, 0x0000ff01, 0x0000ff02, 0x0000ff03, 0x0000ff04, 0x0000ff05, 0x0000ff06, 0x0000ff07, +0x0000fff8, 0x0000fff9, 0x0000fffa, 0x0000fffb, 0x0000fffc, 0x0000fffd, 0x0000fffe, 0x0000ffff, +0x00010000, 0x00010001, 0x00010002, 0x00010003, 0x00010004, 0x00010005, 0x00010006, 0x00010007, +0x000100f8, 0x000100f9, 0x000100fa, 0x000100fb, 0x000100fc, 0x000100fd, 0x000100fe, 0x000100ff, +0x00010100, 0x00010101, 0x00010102, 0x00010103, 0x00010104, 0x00010105, 0x00010106, 0x00010107, +0x000101f8, 0x000101f9, 0x000101fa, 0x000101fb, 0x000101fc, 0x000101fd, 0x000101fe, 0x000101ff, +0x00010200, 0x00010201, 0x00010202, 0x00010203, 0x00010204, 0x00010205, 0x00010206, 0x00010207, +0x000102f8, 0x000102f9, 0x000102fa, 0x000102fb, 0x000102fc, 0x000102fd, 0x000102fe, 0x000102ff, +0x00010300, 0x00010301, 0x00010302, 0x00010303, 0x00010304, 0x00010305, 0x00010306, 0x00010307, +0x000103f8, 0x000103f9, 0x000103fa, 0x000103fb, 0x000103fc, 0x000103fd, 0x000103fe, 0x000103ff, +0x00010400, 0x00010401, 0x00010402, 0x00010403, 0x00010404, 0x00010405, 0x00010406, 0x00010407, +0x000104f8, 0x000104f9, 0x000104fa, 0x000104fb, 0x000104fc, 0x000104fd, 0x000104fe, 0x000104ff, +0x00010500, 0x00010501, 0x00010502, 0x00010503, 0x00010504, 0x00010505, 0x00010506, 0x00010507, +0x000105f8, 0x000105f9, 0x000105fa, 0x000105fb, 0x000105fc, 0x000105fd, 0x000105fe, 0x000105ff, +0x00010600, 0x00010601, 0x00010602, 0x00010603, 0x00010604, 0x00010605, 0x00010606, 0x00010607, +0x000106f8, 0x000106f9, 0x000106fa, 0x000106fb, 0x000106fc, 0x000106fd, 0x000106fe, 0x000106ff, +0x00010700, 0x00010701, 0x00010702, 0x00010703, 0x00010704, 0x00010705, 0x00010706, 0x00010707, +0x000107f8, 0x000107f9, 0x000107fa, 0x000107fb, 0x000107fc, 0x000107fd, 0x000107fe, 0x000107ff, +0x0001f800, 0x0001f801, 0x0001f802, 0x0001f803, 0x0001f804, 0x0001f805, 0x0001f806, 0x0001f807, +0x0001f8f8, 0x0001f8f9, 0x0001f8fa, 0x0001f8fb, 0x0001f8fc, 0x0001f8fd, 0x0001f8fe, 0x0001f8ff, +0x0001f900, 0x0001f901, 0x0001f902, 0x0001f903, 0x0001f904, 0x0001f905, 0x0001f906, 0x0001f907, +0x0001f9f8, 0x0001f9f9, 0x0001f9fa, 0x0001f9fb, 0x0001f9fc, 0x0001f9fd, 0x0001f9fe, 0x0001f9ff, +0x0001fa00, 0x0001fa01, 0x0001fa02, 0x0001fa03, 0x0001fa04, 0x0001fa05, 0x0001fa06, 0x0001fa07, +0x0001faf8, 0x0001faf9, 0x0001fafa, 0x0001fafb, 0x0001fafc, 0x0001fafd, 0x0001fafe, 0x0001faff, +0x0001fb00, 0x0001fb01, 0x0001fb02, 0x0001fb03, 0x0001fb04, 0x0001fb05, 0x0001fb06, 0x0001fb07, +0x0001fbf8, 0x0001fbf9, 0x0001fbfa, 0x0001fbfb, 0x0001fbfc, 0x0001fbfd, 0x0001fbfe, 0x0001fbff, +0x0001fc00, 0x0001fc01, 0x0001fc02, 0x0001fc03, 0x0001fc04, 0x0001fc05, 0x0001fc06, 0x0001fc07, +0x0001fcf8, 0x0001fcf9, 0x0001fcfa, 0x0001fcfb, 0x0001fcfc, 0x0001fcfd, 0x0001fcfe, 0x0001fcff, +0x0001fd00, 0x0001fd01, 0x0001fd02, 0x0001fd03, 0x0001fd04, 0x0001fd05, 0x0001fd06, 0x0001fd07, +0x0001fdf8, 0x0001fdf9, 0x0001fdfa, 0x0001fdfb, 0x0001fdfc, 0x0001fdfd, 0x0001fdfe, 0x0001fdff, +0x0001fe00, 0x0001fe01, 0x0001fe02, 0x0001fe03, 0x0001fe04, 0x0001fe05, 0x0001fe06, 0x0001fe07, +0x0001fef8, 0x0001fef9, 0x0001fefa, 0x0001fefb, 0x0001fefc, 0x0001fefd, 0x0001fefe, 0x0001feff, +0x0001ff00, 0x0001ff01, 0x0001ff02, 0x0001ff03, 0x0001ff04, 0x0001ff05, 0x0001ff06, 0x0001ff07, +0x0001fff8, 0x0001fff9, 0x0001fffa, 0x0001fffb, 0x0001fffc, 0x0001fffd, 0x0001fffe, 0x0001ffff, +0x00020000, 0x00020001, 0x00020002, 0x00020003, 0x00020004, 0x00020005, 0x00020006, 0x00020007, +0x000200f8, 0x000200f9, 0x000200fa, 0x000200fb, 0x000200fc, 0x000200fd, 0x000200fe, 0x000200ff, +0x00020100, 0x00020101, 0x00020102, 0x00020103, 0x00020104, 0x00020105, 0x00020106, 0x00020107, +0x000201f8, 0x000201f9, 0x000201fa, 0x000201fb, 0x000201fc, 0x000201fd, 0x000201fe, 0x000201ff, +0x00020200, 0x00020201, 0x00020202, 0x00020203, 0x00020204, 0x00020205, 0x00020206, 0x00020207, +0x000202f8, 0x000202f9, 0x000202fa, 0x000202fb, 0x000202fc, 0x000202fd, 0x000202fe, 0x000202ff, +0x00020300, 0x00020301, 0x00020302, 0x00020303, 0x00020304, 0x00020305, 0x00020306, 0x00020307, +0x000203f8, 0x000203f9, 0x000203fa, 0x000203fb, 0x000203fc, 0x000203fd, 0x000203fe, 0x000203ff, +0x00020400, 0x00020401, 0x00020402, 0x00020403, 0x00020404, 0x00020405, 0x00020406, 0x00020407, +0x000204f8, 0x000204f9, 0x000204fa, 0x000204fb, 0x000204fc, 0x000204fd, 0x000204fe, 0x000204ff, +0x00020500, 0x00020501, 0x00020502, 0x00020503, 0x00020504, 0x00020505, 0x00020506, 0x00020507, +0x000205f8, 0x000205f9, 0x000205fa, 0x000205fb, 0x000205fc, 0x000205fd, 0x000205fe, 0x000205ff, +0x00020600, 0x00020601, 0x00020602, 0x00020603, 0x00020604, 0x00020605, 0x00020606, 0x00020607, +0x000206f8, 0x000206f9, 0x000206fa, 0x000206fb, 0x000206fc, 0x000206fd, 0x000206fe, 0x000206ff, +0x00020700, 0x00020701, 0x00020702, 0x00020703, 0x00020704, 0x00020705, 0x00020706, 0x00020707, +0x000207f8, 0x000207f9, 0x000207fa, 0x000207fb, 0x000207fc, 0x000207fd, 0x000207fe, 0x000207ff, +0x0002f800, 0x0002f801, 0x0002f802, 0x0002f803, 0x0002f804, 0x0002f805, 0x0002f806, 0x0002f807, +0x0002f8f8, 0x0002f8f9, 0x0002f8fa, 0x0002f8fb, 0x0002f8fc, 0x0002f8fd, 0x0002f8fe, 0x0002f8ff, +0x0002f900, 0x0002f901, 0x0002f902, 0x0002f903, 0x0002f904, 0x0002f905, 0x0002f906, 0x0002f907, +0x0002f9f8, 0x0002f9f9, 0x0002f9fa, 0x0002f9fb, 0x0002f9fc, 0x0002f9fd, 0x0002f9fe, 0x0002f9ff, +0x0002fa00, 0x0002fa01, 0x0002fa02, 0x0002fa03, 0x0002fa04, 0x0002fa05, 0x0002fa06, 0x0002fa07, +0x0002faf8, 0x0002faf9, 0x0002fafa, 0x0002fafb, 0x0002fafc, 0x0002fafd, 0x0002fafe, 0x0002faff, +0x0002fb00, 0x0002fb01, 0x0002fb02, 0x0002fb03, 0x0002fb04, 0x0002fb05, 0x0002fb06, 0x0002fb07, +0x0002fbf8, 0x0002fbf9, 0x0002fbfa, 0x0002fbfb, 0x0002fbfc, 0x0002fbfd, 0x0002fbfe, 0x0002fbff, +0x0002fc00, 0x0002fc01, 0x0002fc02, 0x0002fc03, 0x0002fc04, 0x0002fc05, 0x0002fc06, 0x0002fc07, +0x0002fcf8, 0x0002fcf9, 0x0002fcfa, 0x0002fcfb, 0x0002fcfc, 0x0002fcfd, 0x0002fcfe, 0x0002fcff, +0x0002fd00, 0x0002fd01, 0x0002fd02, 0x0002fd03, 0x0002fd04, 0x0002fd05, 0x0002fd06, 0x0002fd07, +0x0002fdf8, 0x0002fdf9, 0x0002fdfa, 0x0002fdfb, 0x0002fdfc, 0x0002fdfd, 0x0002fdfe, 0x0002fdff, +0x0002fe00, 0x0002fe01, 0x0002fe02, 0x0002fe03, 0x0002fe04, 0x0002fe05, 0x0002fe06, 0x0002fe07, +0x0002fef8, 0x0002fef9, 0x0002fefa, 0x0002fefb, 0x0002fefc, 0x0002fefd, 0x0002fefe, 0x0002feff, +0x0002ff00, 0x0002ff01, 0x0002ff02, 0x0002ff03, 0x0002ff04, 0x0002ff05, 0x0002ff06, 0x0002ff07, +0x0002fff8, 0x0002fff9, 0x0002fffa, 0x0002fffb, 0x0002fffc, 0x0002fffd, 0x0002fffe, 0x0002ffff, +0x00030000, 0x00030001, 0x00030002, 0x00030003, 0x00030004, 0x00030005, 0x00030006, 0x00030007, +0x000300f8, 0x000300f9, 0x000300fa, 0x000300fb, 0x000300fc, 0x000300fd, 0x000300fe, 0x000300ff, +0x00030100, 0x00030101, 0x00030102, 0x00030103, 0x00030104, 0x00030105, 0x00030106, 0x00030107, +0x000301f8, 0x000301f9, 0x000301fa, 0x000301fb, 0x000301fc, 0x000301fd, 0x000301fe, 0x000301ff, +0x00030200, 0x00030201, 0x00030202, 0x00030203, 0x00030204, 0x00030205, 0x00030206, 0x00030207, +0x000302f8, 0x000302f9, 0x000302fa, 0x000302fb, 0x000302fc, 0x000302fd, 0x000302fe, 0x000302ff, +0x00030300, 0x00030301, 0x00030302, 0x00030303, 0x00030304, 0x00030305, 0x00030306, 0x00030307, +0x000303f8, 0x000303f9, 0x000303fa, 0x000303fb, 0x000303fc, 0x000303fd, 0x000303fe, 0x000303ff, +0x00030400, 0x00030401, 0x00030402, 0x00030403, 0x00030404, 0x00030405, 0x00030406, 0x00030407, +0x000304f8, 0x000304f9, 0x000304fa, 0x000304fb, 0x000304fc, 0x000304fd, 0x000304fe, 0x000304ff, +0x00030500, 0x00030501, 0x00030502, 0x00030503, 0x00030504, 0x00030505, 0x00030506, 0x00030507, +0x000305f8, 0x000305f9, 0x000305fa, 0x000305fb, 0x000305fc, 0x000305fd, 0x000305fe, 0x000305ff, +0x00030600, 0x00030601, 0x00030602, 0x00030603, 0x00030604, 0x00030605, 0x00030606, 0x00030607, +0x000306f8, 0x000306f9, 0x000306fa, 0x000306fb, 0x000306fc, 0x000306fd, 0x000306fe, 0x000306ff, +0x00030700, 0x00030701, 0x00030702, 0x00030703, 0x00030704, 0x00030705, 0x00030706, 0x00030707, +0x000307f8, 0x000307f9, 0x000307fa, 0x000307fb, 0x000307fc, 0x000307fd, 0x000307fe, 0x000307ff, +0x0003f800, 0x0003f801, 0x0003f802, 0x0003f803, 0x0003f804, 0x0003f805, 0x0003f806, 0x0003f807, +0x0003f8f8, 0x0003f8f9, 0x0003f8fa, 0x0003f8fb, 0x0003f8fc, 0x0003f8fd, 0x0003f8fe, 0x0003f8ff, +0x0003f900, 0x0003f901, 0x0003f902, 0x0003f903, 0x0003f904, 0x0003f905, 0x0003f906, 0x0003f907, +0x0003f9f8, 0x0003f9f9, 0x0003f9fa, 0x0003f9fb, 0x0003f9fc, 0x0003f9fd, 0x0003f9fe, 0x0003f9ff, +0x0003fa00, 0x0003fa01, 0x0003fa02, 0x0003fa03, 0x0003fa04, 0x0003fa05, 0x0003fa06, 0x0003fa07, +0x0003faf8, 0x0003faf9, 0x0003fafa, 0x0003fafb, 0x0003fafc, 0x0003fafd, 0x0003fafe, 0x0003faff, +0x0003fb00, 0x0003fb01, 0x0003fb02, 0x0003fb03, 0x0003fb04, 0x0003fb05, 0x0003fb06, 0x0003fb07, +0x0003fbf8, 0x0003fbf9, 0x0003fbfa, 0x0003fbfb, 0x0003fbfc, 0x0003fbfd, 0x0003fbfe, 0x0003fbff, +0x0003fc00, 0x0003fc01, 0x0003fc02, 0x0003fc03, 0x0003fc04, 0x0003fc05, 0x0003fc06, 0x0003fc07, +0x0003fcf8, 0x0003fcf9, 0x0003fcfa, 0x0003fcfb, 0x0003fcfc, 0x0003fcfd, 0x0003fcfe, 0x0003fcff, +0x0003fd00, 0x0003fd01, 0x0003fd02, 0x0003fd03, 0x0003fd04, 0x0003fd05, 0x0003fd06, 0x0003fd07, +0x0003fdf8, 0x0003fdf9, 0x0003fdfa, 0x0003fdfb, 0x0003fdfc, 0x0003fdfd, 0x0003fdfe, 0x0003fdff, +0x0003fe00, 0x0003fe01, 0x0003fe02, 0x0003fe03, 0x0003fe04, 0x0003fe05, 0x0003fe06, 0x0003fe07, +0x0003fef8, 0x0003fef9, 0x0003fefa, 0x0003fefb, 0x0003fefc, 0x0003fefd, 0x0003fefe, 0x0003feff, +0x0003ff00, 0x0003ff01, 0x0003ff02, 0x0003ff03, 0x0003ff04, 0x0003ff05, 0x0003ff06, 0x0003ff07, +0x0003fff8, 0x0003fff9, 0x0003fffa, 0x0003fffb, 0x0003fffc, 0x0003fffd, 0x0003fffe, 0x0003ffff, +0x00040000, 0x00040001, 0x00040002, 0x00040003, 0x00040004, 0x00040005, 0x00040006, 0x00040007, +0x000400f8, 0x000400f9, 0x000400fa, 0x000400fb, 0x000400fc, 0x000400fd, 0x000400fe, 0x000400ff, +0x00040100, 0x00040101, 0x00040102, 0x00040103, 0x00040104, 0x00040105, 0x00040106, 0x00040107, +0x000401f8, 0x000401f9, 0x000401fa, 0x000401fb, 0x000401fc, 0x000401fd, 0x000401fe, 0x000401ff, +0x00040200, 0x00040201, 0x00040202, 0x00040203, 0x00040204, 0x00040205, 0x00040206, 0x00040207, +0x000402f8, 0x000402f9, 0x000402fa, 0x000402fb, 0x000402fc, 0x000402fd, 0x000402fe, 0x000402ff, +0x00040300, 0x00040301, 0x00040302, 0x00040303, 0x00040304, 0x00040305, 0x00040306, 0x00040307, +0x000403f8, 0x000403f9, 0x000403fa, 0x000403fb, 0x000403fc, 0x000403fd, 0x000403fe, 0x000403ff, +0x00040400, 0x00040401, 0x00040402, 0x00040403, 0x00040404, 0x00040405, 0x00040406, 0x00040407, +0x000404f8, 0x000404f9, 0x000404fa, 0x000404fb, 0x000404fc, 0x000404fd, 0x000404fe, 0x000404ff, +0x00040500, 0x00040501, 0x00040502, 0x00040503, 0x00040504, 0x00040505, 0x00040506, 0x00040507, +0x000405f8, 0x000405f9, 0x000405fa, 0x000405fb, 0x000405fc, 0x000405fd, 0x000405fe, 0x000405ff, +0x00040600, 0x00040601, 0x00040602, 0x00040603, 0x00040604, 0x00040605, 0x00040606, 0x00040607, +0x000406f8, 0x000406f9, 0x000406fa, 0x000406fb, 0x000406fc, 0x000406fd, 0x000406fe, 0x000406ff, +0x00040700, 0x00040701, 0x00040702, 0x00040703, 0x00040704, 0x00040705, 0x00040706, 0x00040707, +0x000407f8, 0x000407f9, 0x000407fa, 0x000407fb, 0x000407fc, 0x000407fd, 0x000407fe, 0x000407ff, +0x0004f800, 0x0004f801, 0x0004f802, 0x0004f803, 0x0004f804, 0x0004f805, 0x0004f806, 0x0004f807, +0x0004f8f8, 0x0004f8f9, 0x0004f8fa, 0x0004f8fb, 0x0004f8fc, 0x0004f8fd, 0x0004f8fe, 0x0004f8ff, +0x0004f900, 0x0004f901, 0x0004f902, 0x0004f903, 0x0004f904, 0x0004f905, 0x0004f906, 0x0004f907, +0x0004f9f8, 0x0004f9f9, 0x0004f9fa, 0x0004f9fb, 0x0004f9fc, 0x0004f9fd, 0x0004f9fe, 0x0004f9ff, +0x0004fa00, 0x0004fa01, 0x0004fa02, 0x0004fa03, 0x0004fa04, 0x0004fa05, 0x0004fa06, 0x0004fa07, +0x0004faf8, 0x0004faf9, 0x0004fafa, 0x0004fafb, 0x0004fafc, 0x0004fafd, 0x0004fafe, 0x0004faff, +0x0004fb00, 0x0004fb01, 0x0004fb02, 0x0004fb03, 0x0004fb04, 0x0004fb05, 0x0004fb06, 0x0004fb07, +0x0004fbf8, 0x0004fbf9, 0x0004fbfa, 0x0004fbfb, 0x0004fbfc, 0x0004fbfd, 0x0004fbfe, 0x0004fbff, +0x0004fc00, 0x0004fc01, 0x0004fc02, 0x0004fc03, 0x0004fc04, 0x0004fc05, 0x0004fc06, 0x0004fc07, +0x0004fcf8, 0x0004fcf9, 0x0004fcfa, 0x0004fcfb, 0x0004fcfc, 0x0004fcfd, 0x0004fcfe, 0x0004fcff, +0x0004fd00, 0x0004fd01, 0x0004fd02, 0x0004fd03, 0x0004fd04, 0x0004fd05, 0x0004fd06, 0x0004fd07, +0x0004fdf8, 0x0004fdf9, 0x0004fdfa, 0x0004fdfb, 0x0004fdfc, 0x0004fdfd, 0x0004fdfe, 0x0004fdff, +0x0004fe00, 0x0004fe01, 0x0004fe02, 0x0004fe03, 0x0004fe04, 0x0004fe05, 0x0004fe06, 0x0004fe07, +0x0004fef8, 0x0004fef9, 0x0004fefa, 0x0004fefb, 0x0004fefc, 0x0004fefd, 0x0004fefe, 0x0004feff, +0x0004ff00, 0x0004ff01, 0x0004ff02, 0x0004ff03, 0x0004ff04, 0x0004ff05, 0x0004ff06, 0x0004ff07, +0x0004fff8, 0x0004fff9, 0x0004fffa, 0x0004fffb, 0x0004fffc, 0x0004fffd, 0x0004fffe, 0x0004ffff, +0x00050000, 0x00050001, 0x00050002, 0x00050003, 0x00050004, 0x00050005, 0x00050006, 0x00050007, +0x000500f8, 0x000500f9, 0x000500fa, 0x000500fb, 0x000500fc, 0x000500fd, 0x000500fe, 0x000500ff, +0x00050100, 0x00050101, 0x00050102, 0x00050103, 0x00050104, 0x00050105, 0x00050106, 0x00050107, +0x000501f8, 0x000501f9, 0x000501fa, 0x000501fb, 0x000501fc, 0x000501fd, 0x000501fe, 0x000501ff, +0x00050200, 0x00050201, 0x00050202, 0x00050203, 0x00050204, 0x00050205, 0x00050206, 0x00050207, +0x000502f8, 0x000502f9, 0x000502fa, 0x000502fb, 0x000502fc, 0x000502fd, 0x000502fe, 0x000502ff, +0x00050300, 0x00050301, 0x00050302, 0x00050303, 0x00050304, 0x00050305, 0x00050306, 0x00050307, +0x000503f8, 0x000503f9, 0x000503fa, 0x000503fb, 0x000503fc, 0x000503fd, 0x000503fe, 0x000503ff, +0x00050400, 0x00050401, 0x00050402, 0x00050403, 0x00050404, 0x00050405, 0x00050406, 0x00050407, +0x000504f8, 0x000504f9, 0x000504fa, 0x000504fb, 0x000504fc, 0x000504fd, 0x000504fe, 0x000504ff, +0x00050500, 0x00050501, 0x00050502, 0x00050503, 0x00050504, 0x00050505, 0x00050506, 0x00050507, +0x000505f8, 0x000505f9, 0x000505fa, 0x000505fb, 0x000505fc, 0x000505fd, 0x000505fe, 0x000505ff, +0x00050600, 0x00050601, 0x00050602, 0x00050603, 0x00050604, 0x00050605, 0x00050606, 0x00050607, +0x000506f8, 0x000506f9, 0x000506fa, 0x000506fb, 0x000506fc, 0x000506fd, 0x000506fe, 0x000506ff, +0x00050700, 0x00050701, 0x00050702, 0x00050703, 0x00050704, 0x00050705, 0x00050706, 0x00050707, +0x000507f8, 0x000507f9, 0x000507fa, 0x000507fb, 0x000507fc, 0x000507fd, 0x000507fe, 0x000507ff, +0x0005f800, 0x0005f801, 0x0005f802, 0x0005f803, 0x0005f804, 0x0005f805, 0x0005f806, 0x0005f807, +0x0005f8f8, 0x0005f8f9, 0x0005f8fa, 0x0005f8fb, 0x0005f8fc, 0x0005f8fd, 0x0005f8fe, 0x0005f8ff, +0x0005f900, 0x0005f901, 0x0005f902, 0x0005f903, 0x0005f904, 0x0005f905, 0x0005f906, 0x0005f907, +0x0005f9f8, 0x0005f9f9, 0x0005f9fa, 0x0005f9fb, 0x0005f9fc, 0x0005f9fd, 0x0005f9fe, 0x0005f9ff, +0x0005fa00, 0x0005fa01, 0x0005fa02, 0x0005fa03, 0x0005fa04, 0x0005fa05, 0x0005fa06, 0x0005fa07, +0x0005faf8, 0x0005faf9, 0x0005fafa, 0x0005fafb, 0x0005fafc, 0x0005fafd, 0x0005fafe, 0x0005faff, +0x0005fb00, 0x0005fb01, 0x0005fb02, 0x0005fb03, 0x0005fb04, 0x0005fb05, 0x0005fb06, 0x0005fb07, +0x0005fbf8, 0x0005fbf9, 0x0005fbfa, 0x0005fbfb, 0x0005fbfc, 0x0005fbfd, 0x0005fbfe, 0x0005fbff, +0x0005fc00, 0x0005fc01, 0x0005fc02, 0x0005fc03, 0x0005fc04, 0x0005fc05, 0x0005fc06, 0x0005fc07, +0x0005fcf8, 0x0005fcf9, 0x0005fcfa, 0x0005fcfb, 0x0005fcfc, 0x0005fcfd, 0x0005fcfe, 0x0005fcff, +0x0005fd00, 0x0005fd01, 0x0005fd02, 0x0005fd03, 0x0005fd04, 0x0005fd05, 0x0005fd06, 0x0005fd07, +0x0005fdf8, 0x0005fdf9, 0x0005fdfa, 0x0005fdfb, 0x0005fdfc, 0x0005fdfd, 0x0005fdfe, 0x0005fdff, +0x0005fe00, 0x0005fe01, 0x0005fe02, 0x0005fe03, 0x0005fe04, 0x0005fe05, 0x0005fe06, 0x0005fe07, +0x0005fef8, 0x0005fef9, 0x0005fefa, 0x0005fefb, 0x0005fefc, 0x0005fefd, 0x0005fefe, 0x0005feff, +0x0005ff00, 0x0005ff01, 0x0005ff02, 0x0005ff03, 0x0005ff04, 0x0005ff05, 0x0005ff06, 0x0005ff07, +0x0005fff8, 0x0005fff9, 0x0005fffa, 0x0005fffb, 0x0005fffc, 0x0005fffd, 0x0005fffe, 0x0005ffff, +0x00060000, 0x00060001, 0x00060002, 0x00060003, 0x00060004, 0x00060005, 0x00060006, 0x00060007, +0x000600f8, 0x000600f9, 0x000600fa, 0x000600fb, 0x000600fc, 0x000600fd, 0x000600fe, 0x000600ff, +0x00060100, 0x00060101, 0x00060102, 0x00060103, 0x00060104, 0x00060105, 0x00060106, 0x00060107, +0x000601f8, 0x000601f9, 0x000601fa, 0x000601fb, 0x000601fc, 0x000601fd, 0x000601fe, 0x000601ff, +0x00060200, 0x00060201, 0x00060202, 0x00060203, 0x00060204, 0x00060205, 0x00060206, 0x00060207, +0x000602f8, 0x000602f9, 0x000602fa, 0x000602fb, 0x000602fc, 0x000602fd, 0x000602fe, 0x000602ff, +0x00060300, 0x00060301, 0x00060302, 0x00060303, 0x00060304, 0x00060305, 0x00060306, 0x00060307, +0x000603f8, 0x000603f9, 0x000603fa, 0x000603fb, 0x000603fc, 0x000603fd, 0x000603fe, 0x000603ff, +0x00060400, 0x00060401, 0x00060402, 0x00060403, 0x00060404, 0x00060405, 0x00060406, 0x00060407, +0x000604f8, 0x000604f9, 0x000604fa, 0x000604fb, 0x000604fc, 0x000604fd, 0x000604fe, 0x000604ff, +0x00060500, 0x00060501, 0x00060502, 0x00060503, 0x00060504, 0x00060505, 0x00060506, 0x00060507, +0x000605f8, 0x000605f9, 0x000605fa, 0x000605fb, 0x000605fc, 0x000605fd, 0x000605fe, 0x000605ff, +0x00060600, 0x00060601, 0x00060602, 0x00060603, 0x00060604, 0x00060605, 0x00060606, 0x00060607, +0x000606f8, 0x000606f9, 0x000606fa, 0x000606fb, 0x000606fc, 0x000606fd, 0x000606fe, 0x000606ff, +0x00060700, 0x00060701, 0x00060702, 0x00060703, 0x00060704, 0x00060705, 0x00060706, 0x00060707, +0x000607f8, 0x000607f9, 0x000607fa, 0x000607fb, 0x000607fc, 0x000607fd, 0x000607fe, 0x000607ff, +0x0006f800, 0x0006f801, 0x0006f802, 0x0006f803, 0x0006f804, 0x0006f805, 0x0006f806, 0x0006f807, +0x0006f8f8, 0x0006f8f9, 0x0006f8fa, 0x0006f8fb, 0x0006f8fc, 0x0006f8fd, 0x0006f8fe, 0x0006f8ff, +0x0006f900, 0x0006f901, 0x0006f902, 0x0006f903, 0x0006f904, 0x0006f905, 0x0006f906, 0x0006f907, +0x0006f9f8, 0x0006f9f9, 0x0006f9fa, 0x0006f9fb, 0x0006f9fc, 0x0006f9fd, 0x0006f9fe, 0x0006f9ff, +0x0006fa00, 0x0006fa01, 0x0006fa02, 0x0006fa03, 0x0006fa04, 0x0006fa05, 0x0006fa06, 0x0006fa07, +0x0006faf8, 0x0006faf9, 0x0006fafa, 0x0006fafb, 0x0006fafc, 0x0006fafd, 0x0006fafe, 0x0006faff, +0x0006fb00, 0x0006fb01, 0x0006fb02, 0x0006fb03, 0x0006fb04, 0x0006fb05, 0x0006fb06, 0x0006fb07, +0x0006fbf8, 0x0006fbf9, 0x0006fbfa, 0x0006fbfb, 0x0006fbfc, 0x0006fbfd, 0x0006fbfe, 0x0006fbff, +0x0006fc00, 0x0006fc01, 0x0006fc02, 0x0006fc03, 0x0006fc04, 0x0006fc05, 0x0006fc06, 0x0006fc07, +0x0006fcf8, 0x0006fcf9, 0x0006fcfa, 0x0006fcfb, 0x0006fcfc, 0x0006fcfd, 0x0006fcfe, 0x0006fcff, +0x0006fd00, 0x0006fd01, 0x0006fd02, 0x0006fd03, 0x0006fd04, 0x0006fd05, 0x0006fd06, 0x0006fd07, +0x0006fdf8, 0x0006fdf9, 0x0006fdfa, 0x0006fdfb, 0x0006fdfc, 0x0006fdfd, 0x0006fdfe, 0x0006fdff, +0x0006fe00, 0x0006fe01, 0x0006fe02, 0x0006fe03, 0x0006fe04, 0x0006fe05, 0x0006fe06, 0x0006fe07, +0x0006fef8, 0x0006fef9, 0x0006fefa, 0x0006fefb, 0x0006fefc, 0x0006fefd, 0x0006fefe, 0x0006feff, +0x0006ff00, 0x0006ff01, 0x0006ff02, 0x0006ff03, 0x0006ff04, 0x0006ff05, 0x0006ff06, 0x0006ff07, +0x0006fff8, 0x0006fff9, 0x0006fffa, 0x0006fffb, 0x0006fffc, 0x0006fffd, 0x0006fffe, 0x0006ffff, +0x00070000, 0x00070001, 0x00070002, 0x00070003, 0x00070004, 0x00070005, 0x00070006, 0x00070007, +0x000700f8, 0x000700f9, 0x000700fa, 0x000700fb, 0x000700fc, 0x000700fd, 0x000700fe, 0x000700ff, +0x00070100, 0x00070101, 0x00070102, 0x00070103, 0x00070104, 0x00070105, 0x00070106, 0x00070107, +0x000701f8, 0x000701f9, 0x000701fa, 0x000701fb, 0x000701fc, 0x000701fd, 0x000701fe, 0x000701ff, +0x00070200, 0x00070201, 0x00070202, 0x00070203, 0x00070204, 0x00070205, 0x00070206, 0x00070207, +0x000702f8, 0x000702f9, 0x000702fa, 0x000702fb, 0x000702fc, 0x000702fd, 0x000702fe, 0x000702ff, +0x00070300, 0x00070301, 0x00070302, 0x00070303, 0x00070304, 0x00070305, 0x00070306, 0x00070307, +0x000703f8, 0x000703f9, 0x000703fa, 0x000703fb, 0x000703fc, 0x000703fd, 0x000703fe, 0x000703ff, +0x00070400, 0x00070401, 0x00070402, 0x00070403, 0x00070404, 0x00070405, 0x00070406, 0x00070407, +0x000704f8, 0x000704f9, 0x000704fa, 0x000704fb, 0x000704fc, 0x000704fd, 0x000704fe, 0x000704ff, +0x00070500, 0x00070501, 0x00070502, 0x00070503, 0x00070504, 0x00070505, 0x00070506, 0x00070507, +0x000705f8, 0x000705f9, 0x000705fa, 0x000705fb, 0x000705fc, 0x000705fd, 0x000705fe, 0x000705ff, +0x00070600, 0x00070601, 0x00070602, 0x00070603, 0x00070604, 0x00070605, 0x00070606, 0x00070607, +0x000706f8, 0x000706f9, 0x000706fa, 0x000706fb, 0x000706fc, 0x000706fd, 0x000706fe, 0x000706ff, +0x00070700, 0x00070701, 0x00070702, 0x00070703, 0x00070704, 0x00070705, 0x00070706, 0x00070707, +0x000707f8, 0x000707f9, 0x000707fa, 0x000707fb, 0x000707fc, 0x000707fd, 0x000707fe, 0x000707ff, +0x0007f800, 0x0007f801, 0x0007f802, 0x0007f803, 0x0007f804, 0x0007f805, 0x0007f806, 0x0007f807, +0x0007f8f8, 0x0007f8f9, 0x0007f8fa, 0x0007f8fb, 0x0007f8fc, 0x0007f8fd, 0x0007f8fe, 0x0007f8ff, +0x0007f900, 0x0007f901, 0x0007f902, 0x0007f903, 0x0007f904, 0x0007f905, 0x0007f906, 0x0007f907, +0x0007f9f8, 0x0007f9f9, 0x0007f9fa, 0x0007f9fb, 0x0007f9fc, 0x0007f9fd, 0x0007f9fe, 0x0007f9ff, +0x0007fa00, 0x0007fa01, 0x0007fa02, 0x0007fa03, 0x0007fa04, 0x0007fa05, 0x0007fa06, 0x0007fa07, +0x0007faf8, 0x0007faf9, 0x0007fafa, 0x0007fafb, 0x0007fafc, 0x0007fafd, 0x0007fafe, 0x0007faff, +0x0007fb00, 0x0007fb01, 0x0007fb02, 0x0007fb03, 0x0007fb04, 0x0007fb05, 0x0007fb06, 0x0007fb07, +0x0007fbf8, 0x0007fbf9, 0x0007fbfa, 0x0007fbfb, 0x0007fbfc, 0x0007fbfd, 0x0007fbfe, 0x0007fbff, +0x0007fc00, 0x0007fc01, 0x0007fc02, 0x0007fc03, 0x0007fc04, 0x0007fc05, 0x0007fc06, 0x0007fc07, +0x0007fcf8, 0x0007fcf9, 0x0007fcfa, 0x0007fcfb, 0x0007fcfc, 0x0007fcfd, 0x0007fcfe, 0x0007fcff, +0x0007fd00, 0x0007fd01, 0x0007fd02, 0x0007fd03, 0x0007fd04, 0x0007fd05, 0x0007fd06, 0x0007fd07, +0x0007fdf8, 0x0007fdf9, 0x0007fdfa, 0x0007fdfb, 0x0007fdfc, 0x0007fdfd, 0x0007fdfe, 0x0007fdff, +0x0007fe00, 0x0007fe01, 0x0007fe02, 0x0007fe03, 0x0007fe04, 0x0007fe05, 0x0007fe06, 0x0007fe07, +0x0007fef8, 0x0007fef9, 0x0007fefa, 0x0007fefb, 0x0007fefc, 0x0007fefd, 0x0007fefe, 0x0007feff, +0x0007ff00, 0x0007ff01, 0x0007ff02, 0x0007ff03, 0x0007ff04, 0x0007ff05, 0x0007ff06, 0x0007ff07, +0x0007fff8, 0x0007fff9, 0x0007fffa, 0x0007fffb, 0x0007fffc, 0x0007fffd, 0x0007fffe, 0x0007ffff, +0x00f80000, 0x00f80001, 0x00f80002, 0x00f80003, 0x00f80004, 0x00f80005, 0x00f80006, 0x00f80007, +0x00f800f8, 0x00f800f9, 0x00f800fa, 0x00f800fb, 0x00f800fc, 0x00f800fd, 0x00f800fe, 0x00f800ff, +0x00f80100, 0x00f80101, 0x00f80102, 0x00f80103, 0x00f80104, 0x00f80105, 0x00f80106, 0x00f80107, +0x00f801f8, 0x00f801f9, 0x00f801fa, 0x00f801fb, 0x00f801fc, 0x00f801fd, 0x00f801fe, 0x00f801ff, +0x00f80200, 0x00f80201, 0x00f80202, 0x00f80203, 0x00f80204, 0x00f80205, 0x00f80206, 0x00f80207, +0x00f802f8, 0x00f802f9, 0x00f802fa, 0x00f802fb, 0x00f802fc, 0x00f802fd, 0x00f802fe, 0x00f802ff, +0x00f80300, 0x00f80301, 0x00f80302, 0x00f80303, 0x00f80304, 0x00f80305, 0x00f80306, 0x00f80307, +0x00f803f8, 0x00f803f9, 0x00f803fa, 0x00f803fb, 0x00f803fc, 0x00f803fd, 0x00f803fe, 0x00f803ff, +0x00f80400, 0x00f80401, 0x00f80402, 0x00f80403, 0x00f80404, 0x00f80405, 0x00f80406, 0x00f80407, +0x00f804f8, 0x00f804f9, 0x00f804fa, 0x00f804fb, 0x00f804fc, 0x00f804fd, 0x00f804fe, 0x00f804ff, +0x00f80500, 0x00f80501, 0x00f80502, 0x00f80503, 0x00f80504, 0x00f80505, 0x00f80506, 0x00f80507, +0x00f805f8, 0x00f805f9, 0x00f805fa, 0x00f805fb, 0x00f805fc, 0x00f805fd, 0x00f805fe, 0x00f805ff, +0x00f80600, 0x00f80601, 0x00f80602, 0x00f80603, 0x00f80604, 0x00f80605, 0x00f80606, 0x00f80607, +0x00f806f8, 0x00f806f9, 0x00f806fa, 0x00f806fb, 0x00f806fc, 0x00f806fd, 0x00f806fe, 0x00f806ff, +0x00f80700, 0x00f80701, 0x00f80702, 0x00f80703, 0x00f80704, 0x00f80705, 0x00f80706, 0x00f80707, +0x00f807f8, 0x00f807f9, 0x00f807fa, 0x00f807fb, 0x00f807fc, 0x00f807fd, 0x00f807fe, 0x00f807ff, +0x00f8f800, 0x00f8f801, 0x00f8f802, 0x00f8f803, 0x00f8f804, 0x00f8f805, 0x00f8f806, 0x00f8f807, +0x00f8f8f8, 0x00f8f8f9, 0x00f8f8fa, 0x00f8f8fb, 0x00f8f8fc, 0x00f8f8fd, 0x00f8f8fe, 0x00f8f8ff, +0x00f8f900, 0x00f8f901, 0x00f8f902, 0x00f8f903, 0x00f8f904, 0x00f8f905, 0x00f8f906, 0x00f8f907, +0x00f8f9f8, 0x00f8f9f9, 0x00f8f9fa, 0x00f8f9fb, 0x00f8f9fc, 0x00f8f9fd, 0x00f8f9fe, 0x00f8f9ff, +0x00f8fa00, 0x00f8fa01, 0x00f8fa02, 0x00f8fa03, 0x00f8fa04, 0x00f8fa05, 0x00f8fa06, 0x00f8fa07, +0x00f8faf8, 0x00f8faf9, 0x00f8fafa, 0x00f8fafb, 0x00f8fafc, 0x00f8fafd, 0x00f8fafe, 0x00f8faff, +0x00f8fb00, 0x00f8fb01, 0x00f8fb02, 0x00f8fb03, 0x00f8fb04, 0x00f8fb05, 0x00f8fb06, 0x00f8fb07, +0x00f8fbf8, 0x00f8fbf9, 0x00f8fbfa, 0x00f8fbfb, 0x00f8fbfc, 0x00f8fbfd, 0x00f8fbfe, 0x00f8fbff, +0x00f8fc00, 0x00f8fc01, 0x00f8fc02, 0x00f8fc03, 0x00f8fc04, 0x00f8fc05, 0x00f8fc06, 0x00f8fc07, +0x00f8fcf8, 0x00f8fcf9, 0x00f8fcfa, 0x00f8fcfb, 0x00f8fcfc, 0x00f8fcfd, 0x00f8fcfe, 0x00f8fcff, +0x00f8fd00, 0x00f8fd01, 0x00f8fd02, 0x00f8fd03, 0x00f8fd04, 0x00f8fd05, 0x00f8fd06, 0x00f8fd07, +0x00f8fdf8, 0x00f8fdf9, 0x00f8fdfa, 0x00f8fdfb, 0x00f8fdfc, 0x00f8fdfd, 0x00f8fdfe, 0x00f8fdff, +0x00f8fe00, 0x00f8fe01, 0x00f8fe02, 0x00f8fe03, 0x00f8fe04, 0x00f8fe05, 0x00f8fe06, 0x00f8fe07, +0x00f8fef8, 0x00f8fef9, 0x00f8fefa, 0x00f8fefb, 0x00f8fefc, 0x00f8fefd, 0x00f8fefe, 0x00f8feff, +0x00f8ff00, 0x00f8ff01, 0x00f8ff02, 0x00f8ff03, 0x00f8ff04, 0x00f8ff05, 0x00f8ff06, 0x00f8ff07, +0x00f8fff8, 0x00f8fff9, 0x00f8fffa, 0x00f8fffb, 0x00f8fffc, 0x00f8fffd, 0x00f8fffe, 0x00f8ffff, +0x00f90000, 0x00f90001, 0x00f90002, 0x00f90003, 0x00f90004, 0x00f90005, 0x00f90006, 0x00f90007, +0x00f900f8, 0x00f900f9, 0x00f900fa, 0x00f900fb, 0x00f900fc, 0x00f900fd, 0x00f900fe, 0x00f900ff, +0x00f90100, 0x00f90101, 0x00f90102, 0x00f90103, 0x00f90104, 0x00f90105, 0x00f90106, 0x00f90107, +0x00f901f8, 0x00f901f9, 0x00f901fa, 0x00f901fb, 0x00f901fc, 0x00f901fd, 0x00f901fe, 0x00f901ff, +0x00f90200, 0x00f90201, 0x00f90202, 0x00f90203, 0x00f90204, 0x00f90205, 0x00f90206, 0x00f90207, +0x00f902f8, 0x00f902f9, 0x00f902fa, 0x00f902fb, 0x00f902fc, 0x00f902fd, 0x00f902fe, 0x00f902ff, +0x00f90300, 0x00f90301, 0x00f90302, 0x00f90303, 0x00f90304, 0x00f90305, 0x00f90306, 0x00f90307, +0x00f903f8, 0x00f903f9, 0x00f903fa, 0x00f903fb, 0x00f903fc, 0x00f903fd, 0x00f903fe, 0x00f903ff, +0x00f90400, 0x00f90401, 0x00f90402, 0x00f90403, 0x00f90404, 0x00f90405, 0x00f90406, 0x00f90407, +0x00f904f8, 0x00f904f9, 0x00f904fa, 0x00f904fb, 0x00f904fc, 0x00f904fd, 0x00f904fe, 0x00f904ff, +0x00f90500, 0x00f90501, 0x00f90502, 0x00f90503, 0x00f90504, 0x00f90505, 0x00f90506, 0x00f90507, +0x00f905f8, 0x00f905f9, 0x00f905fa, 0x00f905fb, 0x00f905fc, 0x00f905fd, 0x00f905fe, 0x00f905ff, +0x00f90600, 0x00f90601, 0x00f90602, 0x00f90603, 0x00f90604, 0x00f90605, 0x00f90606, 0x00f90607, +0x00f906f8, 0x00f906f9, 0x00f906fa, 0x00f906fb, 0x00f906fc, 0x00f906fd, 0x00f906fe, 0x00f906ff, +0x00f90700, 0x00f90701, 0x00f90702, 0x00f90703, 0x00f90704, 0x00f90705, 0x00f90706, 0x00f90707, +0x00f907f8, 0x00f907f9, 0x00f907fa, 0x00f907fb, 0x00f907fc, 0x00f907fd, 0x00f907fe, 0x00f907ff, +0x00f9f800, 0x00f9f801, 0x00f9f802, 0x00f9f803, 0x00f9f804, 0x00f9f805, 0x00f9f806, 0x00f9f807, +0x00f9f8f8, 0x00f9f8f9, 0x00f9f8fa, 0x00f9f8fb, 0x00f9f8fc, 0x00f9f8fd, 0x00f9f8fe, 0x00f9f8ff, +0x00f9f900, 0x00f9f901, 0x00f9f902, 0x00f9f903, 0x00f9f904, 0x00f9f905, 0x00f9f906, 0x00f9f907, +0x00f9f9f8, 0x00f9f9f9, 0x00f9f9fa, 0x00f9f9fb, 0x00f9f9fc, 0x00f9f9fd, 0x00f9f9fe, 0x00f9f9ff, +0x00f9fa00, 0x00f9fa01, 0x00f9fa02, 0x00f9fa03, 0x00f9fa04, 0x00f9fa05, 0x00f9fa06, 0x00f9fa07, +0x00f9faf8, 0x00f9faf9, 0x00f9fafa, 0x00f9fafb, 0x00f9fafc, 0x00f9fafd, 0x00f9fafe, 0x00f9faff, +0x00f9fb00, 0x00f9fb01, 0x00f9fb02, 0x00f9fb03, 0x00f9fb04, 0x00f9fb05, 0x00f9fb06, 0x00f9fb07, +0x00f9fbf8, 0x00f9fbf9, 0x00f9fbfa, 0x00f9fbfb, 0x00f9fbfc, 0x00f9fbfd, 0x00f9fbfe, 0x00f9fbff, +0x00f9fc00, 0x00f9fc01, 0x00f9fc02, 0x00f9fc03, 0x00f9fc04, 0x00f9fc05, 0x00f9fc06, 0x00f9fc07, +0x00f9fcf8, 0x00f9fcf9, 0x00f9fcfa, 0x00f9fcfb, 0x00f9fcfc, 0x00f9fcfd, 0x00f9fcfe, 0x00f9fcff, +0x00f9fd00, 0x00f9fd01, 0x00f9fd02, 0x00f9fd03, 0x00f9fd04, 0x00f9fd05, 0x00f9fd06, 0x00f9fd07, +0x00f9fdf8, 0x00f9fdf9, 0x00f9fdfa, 0x00f9fdfb, 0x00f9fdfc, 0x00f9fdfd, 0x00f9fdfe, 0x00f9fdff, +0x00f9fe00, 0x00f9fe01, 0x00f9fe02, 0x00f9fe03, 0x00f9fe04, 0x00f9fe05, 0x00f9fe06, 0x00f9fe07, +0x00f9fef8, 0x00f9fef9, 0x00f9fefa, 0x00f9fefb, 0x00f9fefc, 0x00f9fefd, 0x00f9fefe, 0x00f9feff, +0x00f9ff00, 0x00f9ff01, 0x00f9ff02, 0x00f9ff03, 0x00f9ff04, 0x00f9ff05, 0x00f9ff06, 0x00f9ff07, +0x00f9fff8, 0x00f9fff9, 0x00f9fffa, 0x00f9fffb, 0x00f9fffc, 0x00f9fffd, 0x00f9fffe, 0x00f9ffff, +0x00fa0000, 0x00fa0001, 0x00fa0002, 0x00fa0003, 0x00fa0004, 0x00fa0005, 0x00fa0006, 0x00fa0007, +0x00fa00f8, 0x00fa00f9, 0x00fa00fa, 0x00fa00fb, 0x00fa00fc, 0x00fa00fd, 0x00fa00fe, 0x00fa00ff, +0x00fa0100, 0x00fa0101, 0x00fa0102, 0x00fa0103, 0x00fa0104, 0x00fa0105, 0x00fa0106, 0x00fa0107, +0x00fa01f8, 0x00fa01f9, 0x00fa01fa, 0x00fa01fb, 0x00fa01fc, 0x00fa01fd, 0x00fa01fe, 0x00fa01ff, +0x00fa0200, 0x00fa0201, 0x00fa0202, 0x00fa0203, 0x00fa0204, 0x00fa0205, 0x00fa0206, 0x00fa0207, +0x00fa02f8, 0x00fa02f9, 0x00fa02fa, 0x00fa02fb, 0x00fa02fc, 0x00fa02fd, 0x00fa02fe, 0x00fa02ff, +0x00fa0300, 0x00fa0301, 0x00fa0302, 0x00fa0303, 0x00fa0304, 0x00fa0305, 0x00fa0306, 0x00fa0307, +0x00fa03f8, 0x00fa03f9, 0x00fa03fa, 0x00fa03fb, 0x00fa03fc, 0x00fa03fd, 0x00fa03fe, 0x00fa03ff, +0x00fa0400, 0x00fa0401, 0x00fa0402, 0x00fa0403, 0x00fa0404, 0x00fa0405, 0x00fa0406, 0x00fa0407, +0x00fa04f8, 0x00fa04f9, 0x00fa04fa, 0x00fa04fb, 0x00fa04fc, 0x00fa04fd, 0x00fa04fe, 0x00fa04ff, +0x00fa0500, 0x00fa0501, 0x00fa0502, 0x00fa0503, 0x00fa0504, 0x00fa0505, 0x00fa0506, 0x00fa0507, +0x00fa05f8, 0x00fa05f9, 0x00fa05fa, 0x00fa05fb, 0x00fa05fc, 0x00fa05fd, 0x00fa05fe, 0x00fa05ff, +0x00fa0600, 0x00fa0601, 0x00fa0602, 0x00fa0603, 0x00fa0604, 0x00fa0605, 0x00fa0606, 0x00fa0607, +0x00fa06f8, 0x00fa06f9, 0x00fa06fa, 0x00fa06fb, 0x00fa06fc, 0x00fa06fd, 0x00fa06fe, 0x00fa06ff, +0x00fa0700, 0x00fa0701, 0x00fa0702, 0x00fa0703, 0x00fa0704, 0x00fa0705, 0x00fa0706, 0x00fa0707, +0x00fa07f8, 0x00fa07f9, 0x00fa07fa, 0x00fa07fb, 0x00fa07fc, 0x00fa07fd, 0x00fa07fe, 0x00fa07ff, +0x00faf800, 0x00faf801, 0x00faf802, 0x00faf803, 0x00faf804, 0x00faf805, 0x00faf806, 0x00faf807, +0x00faf8f8, 0x00faf8f9, 0x00faf8fa, 0x00faf8fb, 0x00faf8fc, 0x00faf8fd, 0x00faf8fe, 0x00faf8ff, +0x00faf900, 0x00faf901, 0x00faf902, 0x00faf903, 0x00faf904, 0x00faf905, 0x00faf906, 0x00faf907, +0x00faf9f8, 0x00faf9f9, 0x00faf9fa, 0x00faf9fb, 0x00faf9fc, 0x00faf9fd, 0x00faf9fe, 0x00faf9ff, +0x00fafa00, 0x00fafa01, 0x00fafa02, 0x00fafa03, 0x00fafa04, 0x00fafa05, 0x00fafa06, 0x00fafa07, +0x00fafaf8, 0x00fafaf9, 0x00fafafa, 0x00fafafb, 0x00fafafc, 0x00fafafd, 0x00fafafe, 0x00fafaff, +0x00fafb00, 0x00fafb01, 0x00fafb02, 0x00fafb03, 0x00fafb04, 0x00fafb05, 0x00fafb06, 0x00fafb07, +0x00fafbf8, 0x00fafbf9, 0x00fafbfa, 0x00fafbfb, 0x00fafbfc, 0x00fafbfd, 0x00fafbfe, 0x00fafbff, +0x00fafc00, 0x00fafc01, 0x00fafc02, 0x00fafc03, 0x00fafc04, 0x00fafc05, 0x00fafc06, 0x00fafc07, +0x00fafcf8, 0x00fafcf9, 0x00fafcfa, 0x00fafcfb, 0x00fafcfc, 0x00fafcfd, 0x00fafcfe, 0x00fafcff, +0x00fafd00, 0x00fafd01, 0x00fafd02, 0x00fafd03, 0x00fafd04, 0x00fafd05, 0x00fafd06, 0x00fafd07, +0x00fafdf8, 0x00fafdf9, 0x00fafdfa, 0x00fafdfb, 0x00fafdfc, 0x00fafdfd, 0x00fafdfe, 0x00fafdff, +0x00fafe00, 0x00fafe01, 0x00fafe02, 0x00fafe03, 0x00fafe04, 0x00fafe05, 0x00fafe06, 0x00fafe07, +0x00fafef8, 0x00fafef9, 0x00fafefa, 0x00fafefb, 0x00fafefc, 0x00fafefd, 0x00fafefe, 0x00fafeff, +0x00faff00, 0x00faff01, 0x00faff02, 0x00faff03, 0x00faff04, 0x00faff05, 0x00faff06, 0x00faff07, +0x00fafff8, 0x00fafff9, 0x00fafffa, 0x00fafffb, 0x00fafffc, 0x00fafffd, 0x00fafffe, 0x00faffff, +0x00fb0000, 0x00fb0001, 0x00fb0002, 0x00fb0003, 0x00fb0004, 0x00fb0005, 0x00fb0006, 0x00fb0007, +0x00fb00f8, 0x00fb00f9, 0x00fb00fa, 0x00fb00fb, 0x00fb00fc, 0x00fb00fd, 0x00fb00fe, 0x00fb00ff, +0x00fb0100, 0x00fb0101, 0x00fb0102, 0x00fb0103, 0x00fb0104, 0x00fb0105, 0x00fb0106, 0x00fb0107, +0x00fb01f8, 0x00fb01f9, 0x00fb01fa, 0x00fb01fb, 0x00fb01fc, 0x00fb01fd, 0x00fb01fe, 0x00fb01ff, +0x00fb0200, 0x00fb0201, 0x00fb0202, 0x00fb0203, 0x00fb0204, 0x00fb0205, 0x00fb0206, 0x00fb0207, +0x00fb02f8, 0x00fb02f9, 0x00fb02fa, 0x00fb02fb, 0x00fb02fc, 0x00fb02fd, 0x00fb02fe, 0x00fb02ff, +0x00fb0300, 0x00fb0301, 0x00fb0302, 0x00fb0303, 0x00fb0304, 0x00fb0305, 0x00fb0306, 0x00fb0307, +0x00fb03f8, 0x00fb03f9, 0x00fb03fa, 0x00fb03fb, 0x00fb03fc, 0x00fb03fd, 0x00fb03fe, 0x00fb03ff, +0x00fb0400, 0x00fb0401, 0x00fb0402, 0x00fb0403, 0x00fb0404, 0x00fb0405, 0x00fb0406, 0x00fb0407, +0x00fb04f8, 0x00fb04f9, 0x00fb04fa, 0x00fb04fb, 0x00fb04fc, 0x00fb04fd, 0x00fb04fe, 0x00fb04ff, +0x00fb0500, 0x00fb0501, 0x00fb0502, 0x00fb0503, 0x00fb0504, 0x00fb0505, 0x00fb0506, 0x00fb0507, +0x00fb05f8, 0x00fb05f9, 0x00fb05fa, 0x00fb05fb, 0x00fb05fc, 0x00fb05fd, 0x00fb05fe, 0x00fb05ff, +0x00fb0600, 0x00fb0601, 0x00fb0602, 0x00fb0603, 0x00fb0604, 0x00fb0605, 0x00fb0606, 0x00fb0607, +0x00fb06f8, 0x00fb06f9, 0x00fb06fa, 0x00fb06fb, 0x00fb06fc, 0x00fb06fd, 0x00fb06fe, 0x00fb06ff, +0x00fb0700, 0x00fb0701, 0x00fb0702, 0x00fb0703, 0x00fb0704, 0x00fb0705, 0x00fb0706, 0x00fb0707, +0x00fb07f8, 0x00fb07f9, 0x00fb07fa, 0x00fb07fb, 0x00fb07fc, 0x00fb07fd, 0x00fb07fe, 0x00fb07ff, +0x00fbf800, 0x00fbf801, 0x00fbf802, 0x00fbf803, 0x00fbf804, 0x00fbf805, 0x00fbf806, 0x00fbf807, +0x00fbf8f8, 0x00fbf8f9, 0x00fbf8fa, 0x00fbf8fb, 0x00fbf8fc, 0x00fbf8fd, 0x00fbf8fe, 0x00fbf8ff, +0x00fbf900, 0x00fbf901, 0x00fbf902, 0x00fbf903, 0x00fbf904, 0x00fbf905, 0x00fbf906, 0x00fbf907, +0x00fbf9f8, 0x00fbf9f9, 0x00fbf9fa, 0x00fbf9fb, 0x00fbf9fc, 0x00fbf9fd, 0x00fbf9fe, 0x00fbf9ff, +0x00fbfa00, 0x00fbfa01, 0x00fbfa02, 0x00fbfa03, 0x00fbfa04, 0x00fbfa05, 0x00fbfa06, 0x00fbfa07, +0x00fbfaf8, 0x00fbfaf9, 0x00fbfafa, 0x00fbfafb, 0x00fbfafc, 0x00fbfafd, 0x00fbfafe, 0x00fbfaff, +0x00fbfb00, 0x00fbfb01, 0x00fbfb02, 0x00fbfb03, 0x00fbfb04, 0x00fbfb05, 0x00fbfb06, 0x00fbfb07, +0x00fbfbf8, 0x00fbfbf9, 0x00fbfbfa, 0x00fbfbfb, 0x00fbfbfc, 0x00fbfbfd, 0x00fbfbfe, 0x00fbfbff, +0x00fbfc00, 0x00fbfc01, 0x00fbfc02, 0x00fbfc03, 0x00fbfc04, 0x00fbfc05, 0x00fbfc06, 0x00fbfc07, +0x00fbfcf8, 0x00fbfcf9, 0x00fbfcfa, 0x00fbfcfb, 0x00fbfcfc, 0x00fbfcfd, 0x00fbfcfe, 0x00fbfcff, +0x00fbfd00, 0x00fbfd01, 0x00fbfd02, 0x00fbfd03, 0x00fbfd04, 0x00fbfd05, 0x00fbfd06, 0x00fbfd07, +0x00fbfdf8, 0x00fbfdf9, 0x00fbfdfa, 0x00fbfdfb, 0x00fbfdfc, 0x00fbfdfd, 0x00fbfdfe, 0x00fbfdff, +0x00fbfe00, 0x00fbfe01, 0x00fbfe02, 0x00fbfe03, 0x00fbfe04, 0x00fbfe05, 0x00fbfe06, 0x00fbfe07, +0x00fbfef8, 0x00fbfef9, 0x00fbfefa, 0x00fbfefb, 0x00fbfefc, 0x00fbfefd, 0x00fbfefe, 0x00fbfeff, +0x00fbff00, 0x00fbff01, 0x00fbff02, 0x00fbff03, 0x00fbff04, 0x00fbff05, 0x00fbff06, 0x00fbff07, +0x00fbfff8, 0x00fbfff9, 0x00fbfffa, 0x00fbfffb, 0x00fbfffc, 0x00fbfffd, 0x00fbfffe, 0x00fbffff, +0x00fc0000, 0x00fc0001, 0x00fc0002, 0x00fc0003, 0x00fc0004, 0x00fc0005, 0x00fc0006, 0x00fc0007, +0x00fc00f8, 0x00fc00f9, 0x00fc00fa, 0x00fc00fb, 0x00fc00fc, 0x00fc00fd, 0x00fc00fe, 0x00fc00ff, +0x00fc0100, 0x00fc0101, 0x00fc0102, 0x00fc0103, 0x00fc0104, 0x00fc0105, 0x00fc0106, 0x00fc0107, +0x00fc01f8, 0x00fc01f9, 0x00fc01fa, 0x00fc01fb, 0x00fc01fc, 0x00fc01fd, 0x00fc01fe, 0x00fc01ff, +0x00fc0200, 0x00fc0201, 0x00fc0202, 0x00fc0203, 0x00fc0204, 0x00fc0205, 0x00fc0206, 0x00fc0207, +0x00fc02f8, 0x00fc02f9, 0x00fc02fa, 0x00fc02fb, 0x00fc02fc, 0x00fc02fd, 0x00fc02fe, 0x00fc02ff, +0x00fc0300, 0x00fc0301, 0x00fc0302, 0x00fc0303, 0x00fc0304, 0x00fc0305, 0x00fc0306, 0x00fc0307, +0x00fc03f8, 0x00fc03f9, 0x00fc03fa, 0x00fc03fb, 0x00fc03fc, 0x00fc03fd, 0x00fc03fe, 0x00fc03ff, +0x00fc0400, 0x00fc0401, 0x00fc0402, 0x00fc0403, 0x00fc0404, 0x00fc0405, 0x00fc0406, 0x00fc0407, +0x00fc04f8, 0x00fc04f9, 0x00fc04fa, 0x00fc04fb, 0x00fc04fc, 0x00fc04fd, 0x00fc04fe, 0x00fc04ff, +0x00fc0500, 0x00fc0501, 0x00fc0502, 0x00fc0503, 0x00fc0504, 0x00fc0505, 0x00fc0506, 0x00fc0507, +0x00fc05f8, 0x00fc05f9, 0x00fc05fa, 0x00fc05fb, 0x00fc05fc, 0x00fc05fd, 0x00fc05fe, 0x00fc05ff, +0x00fc0600, 0x00fc0601, 0x00fc0602, 0x00fc0603, 0x00fc0604, 0x00fc0605, 0x00fc0606, 0x00fc0607, +0x00fc06f8, 0x00fc06f9, 0x00fc06fa, 0x00fc06fb, 0x00fc06fc, 0x00fc06fd, 0x00fc06fe, 0x00fc06ff, +0x00fc0700, 0x00fc0701, 0x00fc0702, 0x00fc0703, 0x00fc0704, 0x00fc0705, 0x00fc0706, 0x00fc0707, +0x00fc07f8, 0x00fc07f9, 0x00fc07fa, 0x00fc07fb, 0x00fc07fc, 0x00fc07fd, 0x00fc07fe, 0x00fc07ff, +0x00fcf800, 0x00fcf801, 0x00fcf802, 0x00fcf803, 0x00fcf804, 0x00fcf805, 0x00fcf806, 0x00fcf807, +0x00fcf8f8, 0x00fcf8f9, 0x00fcf8fa, 0x00fcf8fb, 0x00fcf8fc, 0x00fcf8fd, 0x00fcf8fe, 0x00fcf8ff, +0x00fcf900, 0x00fcf901, 0x00fcf902, 0x00fcf903, 0x00fcf904, 0x00fcf905, 0x00fcf906, 0x00fcf907, +0x00fcf9f8, 0x00fcf9f9, 0x00fcf9fa, 0x00fcf9fb, 0x00fcf9fc, 0x00fcf9fd, 0x00fcf9fe, 0x00fcf9ff, +0x00fcfa00, 0x00fcfa01, 0x00fcfa02, 0x00fcfa03, 0x00fcfa04, 0x00fcfa05, 0x00fcfa06, 0x00fcfa07, +0x00fcfaf8, 0x00fcfaf9, 0x00fcfafa, 0x00fcfafb, 0x00fcfafc, 0x00fcfafd, 0x00fcfafe, 0x00fcfaff, +0x00fcfb00, 0x00fcfb01, 0x00fcfb02, 0x00fcfb03, 0x00fcfb04, 0x00fcfb05, 0x00fcfb06, 0x00fcfb07, +0x00fcfbf8, 0x00fcfbf9, 0x00fcfbfa, 0x00fcfbfb, 0x00fcfbfc, 0x00fcfbfd, 0x00fcfbfe, 0x00fcfbff, +0x00fcfc00, 0x00fcfc01, 0x00fcfc02, 0x00fcfc03, 0x00fcfc04, 0x00fcfc05, 0x00fcfc06, 0x00fcfc07, +0x00fcfcf8, 0x00fcfcf9, 0x00fcfcfa, 0x00fcfcfb, 0x00fcfcfc, 0x00fcfcfd, 0x00fcfcfe, 0x00fcfcff, +0x00fcfd00, 0x00fcfd01, 0x00fcfd02, 0x00fcfd03, 0x00fcfd04, 0x00fcfd05, 0x00fcfd06, 0x00fcfd07, +0x00fcfdf8, 0x00fcfdf9, 0x00fcfdfa, 0x00fcfdfb, 0x00fcfdfc, 0x00fcfdfd, 0x00fcfdfe, 0x00fcfdff, +0x00fcfe00, 0x00fcfe01, 0x00fcfe02, 0x00fcfe03, 0x00fcfe04, 0x00fcfe05, 0x00fcfe06, 0x00fcfe07, +0x00fcfef8, 0x00fcfef9, 0x00fcfefa, 0x00fcfefb, 0x00fcfefc, 0x00fcfefd, 0x00fcfefe, 0x00fcfeff, +0x00fcff00, 0x00fcff01, 0x00fcff02, 0x00fcff03, 0x00fcff04, 0x00fcff05, 0x00fcff06, 0x00fcff07, +0x00fcfff8, 0x00fcfff9, 0x00fcfffa, 0x00fcfffb, 0x00fcfffc, 0x00fcfffd, 0x00fcfffe, 0x00fcffff, +0x00fd0000, 0x00fd0001, 0x00fd0002, 0x00fd0003, 0x00fd0004, 0x00fd0005, 0x00fd0006, 0x00fd0007, +0x00fd00f8, 0x00fd00f9, 0x00fd00fa, 0x00fd00fb, 0x00fd00fc, 0x00fd00fd, 0x00fd00fe, 0x00fd00ff, +0x00fd0100, 0x00fd0101, 0x00fd0102, 0x00fd0103, 0x00fd0104, 0x00fd0105, 0x00fd0106, 0x00fd0107, +0x00fd01f8, 0x00fd01f9, 0x00fd01fa, 0x00fd01fb, 0x00fd01fc, 0x00fd01fd, 0x00fd01fe, 0x00fd01ff, +0x00fd0200, 0x00fd0201, 0x00fd0202, 0x00fd0203, 0x00fd0204, 0x00fd0205, 0x00fd0206, 0x00fd0207, +0x00fd02f8, 0x00fd02f9, 0x00fd02fa, 0x00fd02fb, 0x00fd02fc, 0x00fd02fd, 0x00fd02fe, 0x00fd02ff, +0x00fd0300, 0x00fd0301, 0x00fd0302, 0x00fd0303, 0x00fd0304, 0x00fd0305, 0x00fd0306, 0x00fd0307, +0x00fd03f8, 0x00fd03f9, 0x00fd03fa, 0x00fd03fb, 0x00fd03fc, 0x00fd03fd, 0x00fd03fe, 0x00fd03ff, +0x00fd0400, 0x00fd0401, 0x00fd0402, 0x00fd0403, 0x00fd0404, 0x00fd0405, 0x00fd0406, 0x00fd0407, +0x00fd04f8, 0x00fd04f9, 0x00fd04fa, 0x00fd04fb, 0x00fd04fc, 0x00fd04fd, 0x00fd04fe, 0x00fd04ff, +0x00fd0500, 0x00fd0501, 0x00fd0502, 0x00fd0503, 0x00fd0504, 0x00fd0505, 0x00fd0506, 0x00fd0507, +0x00fd05f8, 0x00fd05f9, 0x00fd05fa, 0x00fd05fb, 0x00fd05fc, 0x00fd05fd, 0x00fd05fe, 0x00fd05ff, +0x00fd0600, 0x00fd0601, 0x00fd0602, 0x00fd0603, 0x00fd0604, 0x00fd0605, 0x00fd0606, 0x00fd0607, +0x00fd06f8, 0x00fd06f9, 0x00fd06fa, 0x00fd06fb, 0x00fd06fc, 0x00fd06fd, 0x00fd06fe, 0x00fd06ff, +0x00fd0700, 0x00fd0701, 0x00fd0702, 0x00fd0703, 0x00fd0704, 0x00fd0705, 0x00fd0706, 0x00fd0707, +0x00fd07f8, 0x00fd07f9, 0x00fd07fa, 0x00fd07fb, 0x00fd07fc, 0x00fd07fd, 0x00fd07fe, 0x00fd07ff, +0x00fdf800, 0x00fdf801, 0x00fdf802, 0x00fdf803, 0x00fdf804, 0x00fdf805, 0x00fdf806, 0x00fdf807, +0x00fdf8f8, 0x00fdf8f9, 0x00fdf8fa, 0x00fdf8fb, 0x00fdf8fc, 0x00fdf8fd, 0x00fdf8fe, 0x00fdf8ff, +0x00fdf900, 0x00fdf901, 0x00fdf902, 0x00fdf903, 0x00fdf904, 0x00fdf905, 0x00fdf906, 0x00fdf907, +0x00fdf9f8, 0x00fdf9f9, 0x00fdf9fa, 0x00fdf9fb, 0x00fdf9fc, 0x00fdf9fd, 0x00fdf9fe, 0x00fdf9ff, +0x00fdfa00, 0x00fdfa01, 0x00fdfa02, 0x00fdfa03, 0x00fdfa04, 0x00fdfa05, 0x00fdfa06, 0x00fdfa07, +0x00fdfaf8, 0x00fdfaf9, 0x00fdfafa, 0x00fdfafb, 0x00fdfafc, 0x00fdfafd, 0x00fdfafe, 0x00fdfaff, +0x00fdfb00, 0x00fdfb01, 0x00fdfb02, 0x00fdfb03, 0x00fdfb04, 0x00fdfb05, 0x00fdfb06, 0x00fdfb07, +0x00fdfbf8, 0x00fdfbf9, 0x00fdfbfa, 0x00fdfbfb, 0x00fdfbfc, 0x00fdfbfd, 0x00fdfbfe, 0x00fdfbff, +0x00fdfc00, 0x00fdfc01, 0x00fdfc02, 0x00fdfc03, 0x00fdfc04, 0x00fdfc05, 0x00fdfc06, 0x00fdfc07, +0x00fdfcf8, 0x00fdfcf9, 0x00fdfcfa, 0x00fdfcfb, 0x00fdfcfc, 0x00fdfcfd, 0x00fdfcfe, 0x00fdfcff, +0x00fdfd00, 0x00fdfd01, 0x00fdfd02, 0x00fdfd03, 0x00fdfd04, 0x00fdfd05, 0x00fdfd06, 0x00fdfd07, +0x00fdfdf8, 0x00fdfdf9, 0x00fdfdfa, 0x00fdfdfb, 0x00fdfdfc, 0x00fdfdfd, 0x00fdfdfe, 0x00fdfdff, +0x00fdfe00, 0x00fdfe01, 0x00fdfe02, 0x00fdfe03, 0x00fdfe04, 0x00fdfe05, 0x00fdfe06, 0x00fdfe07, +0x00fdfef8, 0x00fdfef9, 0x00fdfefa, 0x00fdfefb, 0x00fdfefc, 0x00fdfefd, 0x00fdfefe, 0x00fdfeff, +0x00fdff00, 0x00fdff01, 0x00fdff02, 0x00fdff03, 0x00fdff04, 0x00fdff05, 0x00fdff06, 0x00fdff07, +0x00fdfff8, 0x00fdfff9, 0x00fdfffa, 0x00fdfffb, 0x00fdfffc, 0x00fdfffd, 0x00fdfffe, 0x00fdffff, +0x00fe0000, 0x00fe0001, 0x00fe0002, 0x00fe0003, 0x00fe0004, 0x00fe0005, 0x00fe0006, 0x00fe0007, +0x00fe00f8, 0x00fe00f9, 0x00fe00fa, 0x00fe00fb, 0x00fe00fc, 0x00fe00fd, 0x00fe00fe, 0x00fe00ff, +0x00fe0100, 0x00fe0101, 0x00fe0102, 0x00fe0103, 0x00fe0104, 0x00fe0105, 0x00fe0106, 0x00fe0107, +0x00fe01f8, 0x00fe01f9, 0x00fe01fa, 0x00fe01fb, 0x00fe01fc, 0x00fe01fd, 0x00fe01fe, 0x00fe01ff, +0x00fe0200, 0x00fe0201, 0x00fe0202, 0x00fe0203, 0x00fe0204, 0x00fe0205, 0x00fe0206, 0x00fe0207, +0x00fe02f8, 0x00fe02f9, 0x00fe02fa, 0x00fe02fb, 0x00fe02fc, 0x00fe02fd, 0x00fe02fe, 0x00fe02ff, +0x00fe0300, 0x00fe0301, 0x00fe0302, 0x00fe0303, 0x00fe0304, 0x00fe0305, 0x00fe0306, 0x00fe0307, +0x00fe03f8, 0x00fe03f9, 0x00fe03fa, 0x00fe03fb, 0x00fe03fc, 0x00fe03fd, 0x00fe03fe, 0x00fe03ff, +0x00fe0400, 0x00fe0401, 0x00fe0402, 0x00fe0403, 0x00fe0404, 0x00fe0405, 0x00fe0406, 0x00fe0407, +0x00fe04f8, 0x00fe04f9, 0x00fe04fa, 0x00fe04fb, 0x00fe04fc, 0x00fe04fd, 0x00fe04fe, 0x00fe04ff, +0x00fe0500, 0x00fe0501, 0x00fe0502, 0x00fe0503, 0x00fe0504, 0x00fe0505, 0x00fe0506, 0x00fe0507, +0x00fe05f8, 0x00fe05f9, 0x00fe05fa, 0x00fe05fb, 0x00fe05fc, 0x00fe05fd, 0x00fe05fe, 0x00fe05ff, +0x00fe0600, 0x00fe0601, 0x00fe0602, 0x00fe0603, 0x00fe0604, 0x00fe0605, 0x00fe0606, 0x00fe0607, +0x00fe06f8, 0x00fe06f9, 0x00fe06fa, 0x00fe06fb, 0x00fe06fc, 0x00fe06fd, 0x00fe06fe, 0x00fe06ff, +0x00fe0700, 0x00fe0701, 0x00fe0702, 0x00fe0703, 0x00fe0704, 0x00fe0705, 0x00fe0706, 0x00fe0707, +0x00fe07f8, 0x00fe07f9, 0x00fe07fa, 0x00fe07fb, 0x00fe07fc, 0x00fe07fd, 0x00fe07fe, 0x00fe07ff, +0x00fef800, 0x00fef801, 0x00fef802, 0x00fef803, 0x00fef804, 0x00fef805, 0x00fef806, 0x00fef807, +0x00fef8f8, 0x00fef8f9, 0x00fef8fa, 0x00fef8fb, 0x00fef8fc, 0x00fef8fd, 0x00fef8fe, 0x00fef8ff, +0x00fef900, 0x00fef901, 0x00fef902, 0x00fef903, 0x00fef904, 0x00fef905, 0x00fef906, 0x00fef907, +0x00fef9f8, 0x00fef9f9, 0x00fef9fa, 0x00fef9fb, 0x00fef9fc, 0x00fef9fd, 0x00fef9fe, 0x00fef9ff, +0x00fefa00, 0x00fefa01, 0x00fefa02, 0x00fefa03, 0x00fefa04, 0x00fefa05, 0x00fefa06, 0x00fefa07, +0x00fefaf8, 0x00fefaf9, 0x00fefafa, 0x00fefafb, 0x00fefafc, 0x00fefafd, 0x00fefafe, 0x00fefaff, +0x00fefb00, 0x00fefb01, 0x00fefb02, 0x00fefb03, 0x00fefb04, 0x00fefb05, 0x00fefb06, 0x00fefb07, +0x00fefbf8, 0x00fefbf9, 0x00fefbfa, 0x00fefbfb, 0x00fefbfc, 0x00fefbfd, 0x00fefbfe, 0x00fefbff, +0x00fefc00, 0x00fefc01, 0x00fefc02, 0x00fefc03, 0x00fefc04, 0x00fefc05, 0x00fefc06, 0x00fefc07, +0x00fefcf8, 0x00fefcf9, 0x00fefcfa, 0x00fefcfb, 0x00fefcfc, 0x00fefcfd, 0x00fefcfe, 0x00fefcff, +0x00fefd00, 0x00fefd01, 0x00fefd02, 0x00fefd03, 0x00fefd04, 0x00fefd05, 0x00fefd06, 0x00fefd07, +0x00fefdf8, 0x00fefdf9, 0x00fefdfa, 0x00fefdfb, 0x00fefdfc, 0x00fefdfd, 0x00fefdfe, 0x00fefdff, +0x00fefe00, 0x00fefe01, 0x00fefe02, 0x00fefe03, 0x00fefe04, 0x00fefe05, 0x00fefe06, 0x00fefe07, +0x00fefef8, 0x00fefef9, 0x00fefefa, 0x00fefefb, 0x00fefefc, 0x00fefefd, 0x00fefefe, 0x00fefeff, +0x00feff00, 0x00feff01, 0x00feff02, 0x00feff03, 0x00feff04, 0x00feff05, 0x00feff06, 0x00feff07, +0x00fefff8, 0x00fefff9, 0x00fefffa, 0x00fefffb, 0x00fefffc, 0x00fefffd, 0x00fefffe, 0x00feffff, +0x00ff0000, 0x00ff0001, 0x00ff0002, 0x00ff0003, 0x00ff0004, 0x00ff0005, 0x00ff0006, 0x00ff0007, +0x00ff00f8, 0x00ff00f9, 0x00ff00fa, 0x00ff00fb, 0x00ff00fc, 0x00ff00fd, 0x00ff00fe, 0x00ff00ff, +0x00ff0100, 0x00ff0101, 0x00ff0102, 0x00ff0103, 0x00ff0104, 0x00ff0105, 0x00ff0106, 0x00ff0107, +0x00ff01f8, 0x00ff01f9, 0x00ff01fa, 0x00ff01fb, 0x00ff01fc, 0x00ff01fd, 0x00ff01fe, 0x00ff01ff, +0x00ff0200, 0x00ff0201, 0x00ff0202, 0x00ff0203, 0x00ff0204, 0x00ff0205, 0x00ff0206, 0x00ff0207, +0x00ff02f8, 0x00ff02f9, 0x00ff02fa, 0x00ff02fb, 0x00ff02fc, 0x00ff02fd, 0x00ff02fe, 0x00ff02ff, +0x00ff0300, 0x00ff0301, 0x00ff0302, 0x00ff0303, 0x00ff0304, 0x00ff0305, 0x00ff0306, 0x00ff0307, +0x00ff03f8, 0x00ff03f9, 0x00ff03fa, 0x00ff03fb, 0x00ff03fc, 0x00ff03fd, 0x00ff03fe, 0x00ff03ff, +0x00ff0400, 0x00ff0401, 0x00ff0402, 0x00ff0403, 0x00ff0404, 0x00ff0405, 0x00ff0406, 0x00ff0407, +0x00ff04f8, 0x00ff04f9, 0x00ff04fa, 0x00ff04fb, 0x00ff04fc, 0x00ff04fd, 0x00ff04fe, 0x00ff04ff, +0x00ff0500, 0x00ff0501, 0x00ff0502, 0x00ff0503, 0x00ff0504, 0x00ff0505, 0x00ff0506, 0x00ff0507, +0x00ff05f8, 0x00ff05f9, 0x00ff05fa, 0x00ff05fb, 0x00ff05fc, 0x00ff05fd, 0x00ff05fe, 0x00ff05ff, +0x00ff0600, 0x00ff0601, 0x00ff0602, 0x00ff0603, 0x00ff0604, 0x00ff0605, 0x00ff0606, 0x00ff0607, +0x00ff06f8, 0x00ff06f9, 0x00ff06fa, 0x00ff06fb, 0x00ff06fc, 0x00ff06fd, 0x00ff06fe, 0x00ff06ff, +0x00ff0700, 0x00ff0701, 0x00ff0702, 0x00ff0703, 0x00ff0704, 0x00ff0705, 0x00ff0706, 0x00ff0707, +0x00ff07f8, 0x00ff07f9, 0x00ff07fa, 0x00ff07fb, 0x00ff07fc, 0x00ff07fd, 0x00ff07fe, 0x00ff07ff, +0x00fff800, 0x00fff801, 0x00fff802, 0x00fff803, 0x00fff804, 0x00fff805, 0x00fff806, 0x00fff807, +0x00fff8f8, 0x00fff8f9, 0x00fff8fa, 0x00fff8fb, 0x00fff8fc, 0x00fff8fd, 0x00fff8fe, 0x00fff8ff, +0x00fff900, 0x00fff901, 0x00fff902, 0x00fff903, 0x00fff904, 0x00fff905, 0x00fff906, 0x00fff907, +0x00fff9f8, 0x00fff9f9, 0x00fff9fa, 0x00fff9fb, 0x00fff9fc, 0x00fff9fd, 0x00fff9fe, 0x00fff9ff, +0x00fffa00, 0x00fffa01, 0x00fffa02, 0x00fffa03, 0x00fffa04, 0x00fffa05, 0x00fffa06, 0x00fffa07, +0x00fffaf8, 0x00fffaf9, 0x00fffafa, 0x00fffafb, 0x00fffafc, 0x00fffafd, 0x00fffafe, 0x00fffaff, +0x00fffb00, 0x00fffb01, 0x00fffb02, 0x00fffb03, 0x00fffb04, 0x00fffb05, 0x00fffb06, 0x00fffb07, +0x00fffbf8, 0x00fffbf9, 0x00fffbfa, 0x00fffbfb, 0x00fffbfc, 0x00fffbfd, 0x00fffbfe, 0x00fffbff, +0x00fffc00, 0x00fffc01, 0x00fffc02, 0x00fffc03, 0x00fffc04, 0x00fffc05, 0x00fffc06, 0x00fffc07, +0x00fffcf8, 0x00fffcf9, 0x00fffcfa, 0x00fffcfb, 0x00fffcfc, 0x00fffcfd, 0x00fffcfe, 0x00fffcff, +0x00fffd00, 0x00fffd01, 0x00fffd02, 0x00fffd03, 0x00fffd04, 0x00fffd05, 0x00fffd06, 0x00fffd07, +0x00fffdf8, 0x00fffdf9, 0x00fffdfa, 0x00fffdfb, 0x00fffdfc, 0x00fffdfd, 0x00fffdfe, 0x00fffdff, +0x00fffe00, 0x00fffe01, 0x00fffe02, 0x00fffe03, 0x00fffe04, 0x00fffe05, 0x00fffe06, 0x00fffe07, +0x00fffef8, 0x00fffef9, 0x00fffefa, 0x00fffefb, 0x00fffefc, 0x00fffefd, 0x00fffefe, 0x00fffeff, +0x00ffff00, 0x00ffff01, 0x00ffff02, 0x00ffff03, 0x00ffff04, 0x00ffff05, 0x00ffff06, 0x00ffff07, +0x00fffff8, 0x00fffff9, 0x00fffffa, 0x00fffffb, 0x00fffffc, 0x00fffffd, 0x00fffffe, 0x00ffffff, +0x01000000, 0x01000001, 0x01000002, 0x01000003, 0x01000004, 0x01000005, 0x01000006, 0x01000007, +0x010000f8, 0x010000f9, 0x010000fa, 0x010000fb, 0x010000fc, 0x010000fd, 0x010000fe, 0x010000ff, +0x01000100, 0x01000101, 0x01000102, 0x01000103, 0x01000104, 0x01000105, 0x01000106, 0x01000107, +0x010001f8, 0x010001f9, 0x010001fa, 0x010001fb, 0x010001fc, 0x010001fd, 0x010001fe, 0x010001ff, +0x01000200, 0x01000201, 0x01000202, 0x01000203, 0x01000204, 0x01000205, 0x01000206, 0x01000207, +0x010002f8, 0x010002f9, 0x010002fa, 0x010002fb, 0x010002fc, 0x010002fd, 0x010002fe, 0x010002ff, +0x01000300, 0x01000301, 0x01000302, 0x01000303, 0x01000304, 0x01000305, 0x01000306, 0x01000307, +0x010003f8, 0x010003f9, 0x010003fa, 0x010003fb, 0x010003fc, 0x010003fd, 0x010003fe, 0x010003ff, +0x01000400, 0x01000401, 0x01000402, 0x01000403, 0x01000404, 0x01000405, 0x01000406, 0x01000407, +0x010004f8, 0x010004f9, 0x010004fa, 0x010004fb, 0x010004fc, 0x010004fd, 0x010004fe, 0x010004ff, +0x01000500, 0x01000501, 0x01000502, 0x01000503, 0x01000504, 0x01000505, 0x01000506, 0x01000507, +0x010005f8, 0x010005f9, 0x010005fa, 0x010005fb, 0x010005fc, 0x010005fd, 0x010005fe, 0x010005ff, +0x01000600, 0x01000601, 0x01000602, 0x01000603, 0x01000604, 0x01000605, 0x01000606, 0x01000607, +0x010006f8, 0x010006f9, 0x010006fa, 0x010006fb, 0x010006fc, 0x010006fd, 0x010006fe, 0x010006ff, +0x01000700, 0x01000701, 0x01000702, 0x01000703, 0x01000704, 0x01000705, 0x01000706, 0x01000707, +0x010007f8, 0x010007f9, 0x010007fa, 0x010007fb, 0x010007fc, 0x010007fd, 0x010007fe, 0x010007ff, +0x0100f800, 0x0100f801, 0x0100f802, 0x0100f803, 0x0100f804, 0x0100f805, 0x0100f806, 0x0100f807, +0x0100f8f8, 0x0100f8f9, 0x0100f8fa, 0x0100f8fb, 0x0100f8fc, 0x0100f8fd, 0x0100f8fe, 0x0100f8ff, +0x0100f900, 0x0100f901, 0x0100f902, 0x0100f903, 0x0100f904, 0x0100f905, 0x0100f906, 0x0100f907, +0x0100f9f8, 0x0100f9f9, 0x0100f9fa, 0x0100f9fb, 0x0100f9fc, 0x0100f9fd, 0x0100f9fe, 0x0100f9ff, +0x0100fa00, 0x0100fa01, 0x0100fa02, 0x0100fa03, 0x0100fa04, 0x0100fa05, 0x0100fa06, 0x0100fa07, +0x0100faf8, 0x0100faf9, 0x0100fafa, 0x0100fafb, 0x0100fafc, 0x0100fafd, 0x0100fafe, 0x0100faff, +0x0100fb00, 0x0100fb01, 0x0100fb02, 0x0100fb03, 0x0100fb04, 0x0100fb05, 0x0100fb06, 0x0100fb07, +0x0100fbf8, 0x0100fbf9, 0x0100fbfa, 0x0100fbfb, 0x0100fbfc, 0x0100fbfd, 0x0100fbfe, 0x0100fbff, +0x0100fc00, 0x0100fc01, 0x0100fc02, 0x0100fc03, 0x0100fc04, 0x0100fc05, 0x0100fc06, 0x0100fc07, +0x0100fcf8, 0x0100fcf9, 0x0100fcfa, 0x0100fcfb, 0x0100fcfc, 0x0100fcfd, 0x0100fcfe, 0x0100fcff, +0x0100fd00, 0x0100fd01, 0x0100fd02, 0x0100fd03, 0x0100fd04, 0x0100fd05, 0x0100fd06, 0x0100fd07, +0x0100fdf8, 0x0100fdf9, 0x0100fdfa, 0x0100fdfb, 0x0100fdfc, 0x0100fdfd, 0x0100fdfe, 0x0100fdff, +0x0100fe00, 0x0100fe01, 0x0100fe02, 0x0100fe03, 0x0100fe04, 0x0100fe05, 0x0100fe06, 0x0100fe07, +0x0100fef8, 0x0100fef9, 0x0100fefa, 0x0100fefb, 0x0100fefc, 0x0100fefd, 0x0100fefe, 0x0100feff, +0x0100ff00, 0x0100ff01, 0x0100ff02, 0x0100ff03, 0x0100ff04, 0x0100ff05, 0x0100ff06, 0x0100ff07, +0x0100fff8, 0x0100fff9, 0x0100fffa, 0x0100fffb, 0x0100fffc, 0x0100fffd, 0x0100fffe, 0x0100ffff, +0x01010000, 0x01010001, 0x01010002, 0x01010003, 0x01010004, 0x01010005, 0x01010006, 0x01010007, +0x010100f8, 0x010100f9, 0x010100fa, 0x010100fb, 0x010100fc, 0x010100fd, 0x010100fe, 0x010100ff, +0x01010100, 0x01010101, 0x01010102, 0x01010103, 0x01010104, 0x01010105, 0x01010106, 0x01010107, +0x010101f8, 0x010101f9, 0x010101fa, 0x010101fb, 0x010101fc, 0x010101fd, 0x010101fe, 0x010101ff, +0x01010200, 0x01010201, 0x01010202, 0x01010203, 0x01010204, 0x01010205, 0x01010206, 0x01010207, +0x010102f8, 0x010102f9, 0x010102fa, 0x010102fb, 0x010102fc, 0x010102fd, 0x010102fe, 0x010102ff, +0x01010300, 0x01010301, 0x01010302, 0x01010303, 0x01010304, 0x01010305, 0x01010306, 0x01010307, +0x010103f8, 0x010103f9, 0x010103fa, 0x010103fb, 0x010103fc, 0x010103fd, 0x010103fe, 0x010103ff, +0x01010400, 0x01010401, 0x01010402, 0x01010403, 0x01010404, 0x01010405, 0x01010406, 0x01010407, +0x010104f8, 0x010104f9, 0x010104fa, 0x010104fb, 0x010104fc, 0x010104fd, 0x010104fe, 0x010104ff, +0x01010500, 0x01010501, 0x01010502, 0x01010503, 0x01010504, 0x01010505, 0x01010506, 0x01010507, +0x010105f8, 0x010105f9, 0x010105fa, 0x010105fb, 0x010105fc, 0x010105fd, 0x010105fe, 0x010105ff, +0x01010600, 0x01010601, 0x01010602, 0x01010603, 0x01010604, 0x01010605, 0x01010606, 0x01010607, +0x010106f8, 0x010106f9, 0x010106fa, 0x010106fb, 0x010106fc, 0x010106fd, 0x010106fe, 0x010106ff, +0x01010700, 0x01010701, 0x01010702, 0x01010703, 0x01010704, 0x01010705, 0x01010706, 0x01010707, +0x010107f8, 0x010107f9, 0x010107fa, 0x010107fb, 0x010107fc, 0x010107fd, 0x010107fe, 0x010107ff, +0x0101f800, 0x0101f801, 0x0101f802, 0x0101f803, 0x0101f804, 0x0101f805, 0x0101f806, 0x0101f807, +0x0101f8f8, 0x0101f8f9, 0x0101f8fa, 0x0101f8fb, 0x0101f8fc, 0x0101f8fd, 0x0101f8fe, 0x0101f8ff, +0x0101f900, 0x0101f901, 0x0101f902, 0x0101f903, 0x0101f904, 0x0101f905, 0x0101f906, 0x0101f907, +0x0101f9f8, 0x0101f9f9, 0x0101f9fa, 0x0101f9fb, 0x0101f9fc, 0x0101f9fd, 0x0101f9fe, 0x0101f9ff, +0x0101fa00, 0x0101fa01, 0x0101fa02, 0x0101fa03, 0x0101fa04, 0x0101fa05, 0x0101fa06, 0x0101fa07, +0x0101faf8, 0x0101faf9, 0x0101fafa, 0x0101fafb, 0x0101fafc, 0x0101fafd, 0x0101fafe, 0x0101faff, +0x0101fb00, 0x0101fb01, 0x0101fb02, 0x0101fb03, 0x0101fb04, 0x0101fb05, 0x0101fb06, 0x0101fb07, +0x0101fbf8, 0x0101fbf9, 0x0101fbfa, 0x0101fbfb, 0x0101fbfc, 0x0101fbfd, 0x0101fbfe, 0x0101fbff, +0x0101fc00, 0x0101fc01, 0x0101fc02, 0x0101fc03, 0x0101fc04, 0x0101fc05, 0x0101fc06, 0x0101fc07, +0x0101fcf8, 0x0101fcf9, 0x0101fcfa, 0x0101fcfb, 0x0101fcfc, 0x0101fcfd, 0x0101fcfe, 0x0101fcff, +0x0101fd00, 0x0101fd01, 0x0101fd02, 0x0101fd03, 0x0101fd04, 0x0101fd05, 0x0101fd06, 0x0101fd07, +0x0101fdf8, 0x0101fdf9, 0x0101fdfa, 0x0101fdfb, 0x0101fdfc, 0x0101fdfd, 0x0101fdfe, 0x0101fdff, +0x0101fe00, 0x0101fe01, 0x0101fe02, 0x0101fe03, 0x0101fe04, 0x0101fe05, 0x0101fe06, 0x0101fe07, +0x0101fef8, 0x0101fef9, 0x0101fefa, 0x0101fefb, 0x0101fefc, 0x0101fefd, 0x0101fefe, 0x0101feff, +0x0101ff00, 0x0101ff01, 0x0101ff02, 0x0101ff03, 0x0101ff04, 0x0101ff05, 0x0101ff06, 0x0101ff07, +0x0101fff8, 0x0101fff9, 0x0101fffa, 0x0101fffb, 0x0101fffc, 0x0101fffd, 0x0101fffe, 0x0101ffff, +0x01020000, 0x01020001, 0x01020002, 0x01020003, 0x01020004, 0x01020005, 0x01020006, 0x01020007, +0x010200f8, 0x010200f9, 0x010200fa, 0x010200fb, 0x010200fc, 0x010200fd, 0x010200fe, 0x010200ff, +0x01020100, 0x01020101, 0x01020102, 0x01020103, 0x01020104, 0x01020105, 0x01020106, 0x01020107, +0x010201f8, 0x010201f9, 0x010201fa, 0x010201fb, 0x010201fc, 0x010201fd, 0x010201fe, 0x010201ff, +0x01020200, 0x01020201, 0x01020202, 0x01020203, 0x01020204, 0x01020205, 0x01020206, 0x01020207, +0x010202f8, 0x010202f9, 0x010202fa, 0x010202fb, 0x010202fc, 0x010202fd, 0x010202fe, 0x010202ff, +0x01020300, 0x01020301, 0x01020302, 0x01020303, 0x01020304, 0x01020305, 0x01020306, 0x01020307, +0x010203f8, 0x010203f9, 0x010203fa, 0x010203fb, 0x010203fc, 0x010203fd, 0x010203fe, 0x010203ff, +0x01020400, 0x01020401, 0x01020402, 0x01020403, 0x01020404, 0x01020405, 0x01020406, 0x01020407, +0x010204f8, 0x010204f9, 0x010204fa, 0x010204fb, 0x010204fc, 0x010204fd, 0x010204fe, 0x010204ff, +0x01020500, 0x01020501, 0x01020502, 0x01020503, 0x01020504, 0x01020505, 0x01020506, 0x01020507, +0x010205f8, 0x010205f9, 0x010205fa, 0x010205fb, 0x010205fc, 0x010205fd, 0x010205fe, 0x010205ff, +0x01020600, 0x01020601, 0x01020602, 0x01020603, 0x01020604, 0x01020605, 0x01020606, 0x01020607, +0x010206f8, 0x010206f9, 0x010206fa, 0x010206fb, 0x010206fc, 0x010206fd, 0x010206fe, 0x010206ff, +0x01020700, 0x01020701, 0x01020702, 0x01020703, 0x01020704, 0x01020705, 0x01020706, 0x01020707, +0x010207f8, 0x010207f9, 0x010207fa, 0x010207fb, 0x010207fc, 0x010207fd, 0x010207fe, 0x010207ff, +0x0102f800, 0x0102f801, 0x0102f802, 0x0102f803, 0x0102f804, 0x0102f805, 0x0102f806, 0x0102f807, +0x0102f8f8, 0x0102f8f9, 0x0102f8fa, 0x0102f8fb, 0x0102f8fc, 0x0102f8fd, 0x0102f8fe, 0x0102f8ff, +0x0102f900, 0x0102f901, 0x0102f902, 0x0102f903, 0x0102f904, 0x0102f905, 0x0102f906, 0x0102f907, +0x0102f9f8, 0x0102f9f9, 0x0102f9fa, 0x0102f9fb, 0x0102f9fc, 0x0102f9fd, 0x0102f9fe, 0x0102f9ff, +0x0102fa00, 0x0102fa01, 0x0102fa02, 0x0102fa03, 0x0102fa04, 0x0102fa05, 0x0102fa06, 0x0102fa07, +0x0102faf8, 0x0102faf9, 0x0102fafa, 0x0102fafb, 0x0102fafc, 0x0102fafd, 0x0102fafe, 0x0102faff, +0x0102fb00, 0x0102fb01, 0x0102fb02, 0x0102fb03, 0x0102fb04, 0x0102fb05, 0x0102fb06, 0x0102fb07, +0x0102fbf8, 0x0102fbf9, 0x0102fbfa, 0x0102fbfb, 0x0102fbfc, 0x0102fbfd, 0x0102fbfe, 0x0102fbff, +0x0102fc00, 0x0102fc01, 0x0102fc02, 0x0102fc03, 0x0102fc04, 0x0102fc05, 0x0102fc06, 0x0102fc07, +0x0102fcf8, 0x0102fcf9, 0x0102fcfa, 0x0102fcfb, 0x0102fcfc, 0x0102fcfd, 0x0102fcfe, 0x0102fcff, +0x0102fd00, 0x0102fd01, 0x0102fd02, 0x0102fd03, 0x0102fd04, 0x0102fd05, 0x0102fd06, 0x0102fd07, +0x0102fdf8, 0x0102fdf9, 0x0102fdfa, 0x0102fdfb, 0x0102fdfc, 0x0102fdfd, 0x0102fdfe, 0x0102fdff, +0x0102fe00, 0x0102fe01, 0x0102fe02, 0x0102fe03, 0x0102fe04, 0x0102fe05, 0x0102fe06, 0x0102fe07, +0x0102fef8, 0x0102fef9, 0x0102fefa, 0x0102fefb, 0x0102fefc, 0x0102fefd, 0x0102fefe, 0x0102feff, +0x0102ff00, 0x0102ff01, 0x0102ff02, 0x0102ff03, 0x0102ff04, 0x0102ff05, 0x0102ff06, 0x0102ff07, +0x0102fff8, 0x0102fff9, 0x0102fffa, 0x0102fffb, 0x0102fffc, 0x0102fffd, 0x0102fffe, 0x0102ffff, +0x01030000, 0x01030001, 0x01030002, 0x01030003, 0x01030004, 0x01030005, 0x01030006, 0x01030007, +0x010300f8, 0x010300f9, 0x010300fa, 0x010300fb, 0x010300fc, 0x010300fd, 0x010300fe, 0x010300ff, +0x01030100, 0x01030101, 0x01030102, 0x01030103, 0x01030104, 0x01030105, 0x01030106, 0x01030107, +0x010301f8, 0x010301f9, 0x010301fa, 0x010301fb, 0x010301fc, 0x010301fd, 0x010301fe, 0x010301ff, +0x01030200, 0x01030201, 0x01030202, 0x01030203, 0x01030204, 0x01030205, 0x01030206, 0x01030207, +0x010302f8, 0x010302f9, 0x010302fa, 0x010302fb, 0x010302fc, 0x010302fd, 0x010302fe, 0x010302ff, +0x01030300, 0x01030301, 0x01030302, 0x01030303, 0x01030304, 0x01030305, 0x01030306, 0x01030307, +0x010303f8, 0x010303f9, 0x010303fa, 0x010303fb, 0x010303fc, 0x010303fd, 0x010303fe, 0x010303ff, +0x01030400, 0x01030401, 0x01030402, 0x01030403, 0x01030404, 0x01030405, 0x01030406, 0x01030407, +0x010304f8, 0x010304f9, 0x010304fa, 0x010304fb, 0x010304fc, 0x010304fd, 0x010304fe, 0x010304ff, +0x01030500, 0x01030501, 0x01030502, 0x01030503, 0x01030504, 0x01030505, 0x01030506, 0x01030507, +0x010305f8, 0x010305f9, 0x010305fa, 0x010305fb, 0x010305fc, 0x010305fd, 0x010305fe, 0x010305ff, +0x01030600, 0x01030601, 0x01030602, 0x01030603, 0x01030604, 0x01030605, 0x01030606, 0x01030607, +0x010306f8, 0x010306f9, 0x010306fa, 0x010306fb, 0x010306fc, 0x010306fd, 0x010306fe, 0x010306ff, +0x01030700, 0x01030701, 0x01030702, 0x01030703, 0x01030704, 0x01030705, 0x01030706, 0x01030707, +0x010307f8, 0x010307f9, 0x010307fa, 0x010307fb, 0x010307fc, 0x010307fd, 0x010307fe, 0x010307ff, +0x0103f800, 0x0103f801, 0x0103f802, 0x0103f803, 0x0103f804, 0x0103f805, 0x0103f806, 0x0103f807, +0x0103f8f8, 0x0103f8f9, 0x0103f8fa, 0x0103f8fb, 0x0103f8fc, 0x0103f8fd, 0x0103f8fe, 0x0103f8ff, +0x0103f900, 0x0103f901, 0x0103f902, 0x0103f903, 0x0103f904, 0x0103f905, 0x0103f906, 0x0103f907, +0x0103f9f8, 0x0103f9f9, 0x0103f9fa, 0x0103f9fb, 0x0103f9fc, 0x0103f9fd, 0x0103f9fe, 0x0103f9ff, +0x0103fa00, 0x0103fa01, 0x0103fa02, 0x0103fa03, 0x0103fa04, 0x0103fa05, 0x0103fa06, 0x0103fa07, +0x0103faf8, 0x0103faf9, 0x0103fafa, 0x0103fafb, 0x0103fafc, 0x0103fafd, 0x0103fafe, 0x0103faff, +0x0103fb00, 0x0103fb01, 0x0103fb02, 0x0103fb03, 0x0103fb04, 0x0103fb05, 0x0103fb06, 0x0103fb07, +0x0103fbf8, 0x0103fbf9, 0x0103fbfa, 0x0103fbfb, 0x0103fbfc, 0x0103fbfd, 0x0103fbfe, 0x0103fbff, +0x0103fc00, 0x0103fc01, 0x0103fc02, 0x0103fc03, 0x0103fc04, 0x0103fc05, 0x0103fc06, 0x0103fc07, +0x0103fcf8, 0x0103fcf9, 0x0103fcfa, 0x0103fcfb, 0x0103fcfc, 0x0103fcfd, 0x0103fcfe, 0x0103fcff, +0x0103fd00, 0x0103fd01, 0x0103fd02, 0x0103fd03, 0x0103fd04, 0x0103fd05, 0x0103fd06, 0x0103fd07, +0x0103fdf8, 0x0103fdf9, 0x0103fdfa, 0x0103fdfb, 0x0103fdfc, 0x0103fdfd, 0x0103fdfe, 0x0103fdff, +0x0103fe00, 0x0103fe01, 0x0103fe02, 0x0103fe03, 0x0103fe04, 0x0103fe05, 0x0103fe06, 0x0103fe07, +0x0103fef8, 0x0103fef9, 0x0103fefa, 0x0103fefb, 0x0103fefc, 0x0103fefd, 0x0103fefe, 0x0103feff, +0x0103ff00, 0x0103ff01, 0x0103ff02, 0x0103ff03, 0x0103ff04, 0x0103ff05, 0x0103ff06, 0x0103ff07, +0x0103fff8, 0x0103fff9, 0x0103fffa, 0x0103fffb, 0x0103fffc, 0x0103fffd, 0x0103fffe, 0x0103ffff, +0x01040000, 0x01040001, 0x01040002, 0x01040003, 0x01040004, 0x01040005, 0x01040006, 0x01040007, +0x010400f8, 0x010400f9, 0x010400fa, 0x010400fb, 0x010400fc, 0x010400fd, 0x010400fe, 0x010400ff, +0x01040100, 0x01040101, 0x01040102, 0x01040103, 0x01040104, 0x01040105, 0x01040106, 0x01040107, +0x010401f8, 0x010401f9, 0x010401fa, 0x010401fb, 0x010401fc, 0x010401fd, 0x010401fe, 0x010401ff, +0x01040200, 0x01040201, 0x01040202, 0x01040203, 0x01040204, 0x01040205, 0x01040206, 0x01040207, +0x010402f8, 0x010402f9, 0x010402fa, 0x010402fb, 0x010402fc, 0x010402fd, 0x010402fe, 0x010402ff, +0x01040300, 0x01040301, 0x01040302, 0x01040303, 0x01040304, 0x01040305, 0x01040306, 0x01040307, +0x010403f8, 0x010403f9, 0x010403fa, 0x010403fb, 0x010403fc, 0x010403fd, 0x010403fe, 0x010403ff, +0x01040400, 0x01040401, 0x01040402, 0x01040403, 0x01040404, 0x01040405, 0x01040406, 0x01040407, +0x010404f8, 0x010404f9, 0x010404fa, 0x010404fb, 0x010404fc, 0x010404fd, 0x010404fe, 0x010404ff, +0x01040500, 0x01040501, 0x01040502, 0x01040503, 0x01040504, 0x01040505, 0x01040506, 0x01040507, +0x010405f8, 0x010405f9, 0x010405fa, 0x010405fb, 0x010405fc, 0x010405fd, 0x010405fe, 0x010405ff, +0x01040600, 0x01040601, 0x01040602, 0x01040603, 0x01040604, 0x01040605, 0x01040606, 0x01040607, +0x010406f8, 0x010406f9, 0x010406fa, 0x010406fb, 0x010406fc, 0x010406fd, 0x010406fe, 0x010406ff, +0x01040700, 0x01040701, 0x01040702, 0x01040703, 0x01040704, 0x01040705, 0x01040706, 0x01040707, +0x010407f8, 0x010407f9, 0x010407fa, 0x010407fb, 0x010407fc, 0x010407fd, 0x010407fe, 0x010407ff, +0x0104f800, 0x0104f801, 0x0104f802, 0x0104f803, 0x0104f804, 0x0104f805, 0x0104f806, 0x0104f807, +0x0104f8f8, 0x0104f8f9, 0x0104f8fa, 0x0104f8fb, 0x0104f8fc, 0x0104f8fd, 0x0104f8fe, 0x0104f8ff, +0x0104f900, 0x0104f901, 0x0104f902, 0x0104f903, 0x0104f904, 0x0104f905, 0x0104f906, 0x0104f907, +0x0104f9f8, 0x0104f9f9, 0x0104f9fa, 0x0104f9fb, 0x0104f9fc, 0x0104f9fd, 0x0104f9fe, 0x0104f9ff, +0x0104fa00, 0x0104fa01, 0x0104fa02, 0x0104fa03, 0x0104fa04, 0x0104fa05, 0x0104fa06, 0x0104fa07, +0x0104faf8, 0x0104faf9, 0x0104fafa, 0x0104fafb, 0x0104fafc, 0x0104fafd, 0x0104fafe, 0x0104faff, +0x0104fb00, 0x0104fb01, 0x0104fb02, 0x0104fb03, 0x0104fb04, 0x0104fb05, 0x0104fb06, 0x0104fb07, +0x0104fbf8, 0x0104fbf9, 0x0104fbfa, 0x0104fbfb, 0x0104fbfc, 0x0104fbfd, 0x0104fbfe, 0x0104fbff, +0x0104fc00, 0x0104fc01, 0x0104fc02, 0x0104fc03, 0x0104fc04, 0x0104fc05, 0x0104fc06, 0x0104fc07, +0x0104fcf8, 0x0104fcf9, 0x0104fcfa, 0x0104fcfb, 0x0104fcfc, 0x0104fcfd, 0x0104fcfe, 0x0104fcff, +0x0104fd00, 0x0104fd01, 0x0104fd02, 0x0104fd03, 0x0104fd04, 0x0104fd05, 0x0104fd06, 0x0104fd07, +0x0104fdf8, 0x0104fdf9, 0x0104fdfa, 0x0104fdfb, 0x0104fdfc, 0x0104fdfd, 0x0104fdfe, 0x0104fdff, +0x0104fe00, 0x0104fe01, 0x0104fe02, 0x0104fe03, 0x0104fe04, 0x0104fe05, 0x0104fe06, 0x0104fe07, +0x0104fef8, 0x0104fef9, 0x0104fefa, 0x0104fefb, 0x0104fefc, 0x0104fefd, 0x0104fefe, 0x0104feff, +0x0104ff00, 0x0104ff01, 0x0104ff02, 0x0104ff03, 0x0104ff04, 0x0104ff05, 0x0104ff06, 0x0104ff07, +0x0104fff8, 0x0104fff9, 0x0104fffa, 0x0104fffb, 0x0104fffc, 0x0104fffd, 0x0104fffe, 0x0104ffff, +0x01050000, 0x01050001, 0x01050002, 0x01050003, 0x01050004, 0x01050005, 0x01050006, 0x01050007, +0x010500f8, 0x010500f9, 0x010500fa, 0x010500fb, 0x010500fc, 0x010500fd, 0x010500fe, 0x010500ff, +0x01050100, 0x01050101, 0x01050102, 0x01050103, 0x01050104, 0x01050105, 0x01050106, 0x01050107, +0x010501f8, 0x010501f9, 0x010501fa, 0x010501fb, 0x010501fc, 0x010501fd, 0x010501fe, 0x010501ff, +0x01050200, 0x01050201, 0x01050202, 0x01050203, 0x01050204, 0x01050205, 0x01050206, 0x01050207, +0x010502f8, 0x010502f9, 0x010502fa, 0x010502fb, 0x010502fc, 0x010502fd, 0x010502fe, 0x010502ff, +0x01050300, 0x01050301, 0x01050302, 0x01050303, 0x01050304, 0x01050305, 0x01050306, 0x01050307, +0x010503f8, 0x010503f9, 0x010503fa, 0x010503fb, 0x010503fc, 0x010503fd, 0x010503fe, 0x010503ff, +0x01050400, 0x01050401, 0x01050402, 0x01050403, 0x01050404, 0x01050405, 0x01050406, 0x01050407, +0x010504f8, 0x010504f9, 0x010504fa, 0x010504fb, 0x010504fc, 0x010504fd, 0x010504fe, 0x010504ff, +0x01050500, 0x01050501, 0x01050502, 0x01050503, 0x01050504, 0x01050505, 0x01050506, 0x01050507, +0x010505f8, 0x010505f9, 0x010505fa, 0x010505fb, 0x010505fc, 0x010505fd, 0x010505fe, 0x010505ff, +0x01050600, 0x01050601, 0x01050602, 0x01050603, 0x01050604, 0x01050605, 0x01050606, 0x01050607, +0x010506f8, 0x010506f9, 0x010506fa, 0x010506fb, 0x010506fc, 0x010506fd, 0x010506fe, 0x010506ff, +0x01050700, 0x01050701, 0x01050702, 0x01050703, 0x01050704, 0x01050705, 0x01050706, 0x01050707, +0x010507f8, 0x010507f9, 0x010507fa, 0x010507fb, 0x010507fc, 0x010507fd, 0x010507fe, 0x010507ff, +0x0105f800, 0x0105f801, 0x0105f802, 0x0105f803, 0x0105f804, 0x0105f805, 0x0105f806, 0x0105f807, +0x0105f8f8, 0x0105f8f9, 0x0105f8fa, 0x0105f8fb, 0x0105f8fc, 0x0105f8fd, 0x0105f8fe, 0x0105f8ff, +0x0105f900, 0x0105f901, 0x0105f902, 0x0105f903, 0x0105f904, 0x0105f905, 0x0105f906, 0x0105f907, +0x0105f9f8, 0x0105f9f9, 0x0105f9fa, 0x0105f9fb, 0x0105f9fc, 0x0105f9fd, 0x0105f9fe, 0x0105f9ff, +0x0105fa00, 0x0105fa01, 0x0105fa02, 0x0105fa03, 0x0105fa04, 0x0105fa05, 0x0105fa06, 0x0105fa07, +0x0105faf8, 0x0105faf9, 0x0105fafa, 0x0105fafb, 0x0105fafc, 0x0105fafd, 0x0105fafe, 0x0105faff, +0x0105fb00, 0x0105fb01, 0x0105fb02, 0x0105fb03, 0x0105fb04, 0x0105fb05, 0x0105fb06, 0x0105fb07, +0x0105fbf8, 0x0105fbf9, 0x0105fbfa, 0x0105fbfb, 0x0105fbfc, 0x0105fbfd, 0x0105fbfe, 0x0105fbff, +0x0105fc00, 0x0105fc01, 0x0105fc02, 0x0105fc03, 0x0105fc04, 0x0105fc05, 0x0105fc06, 0x0105fc07, +0x0105fcf8, 0x0105fcf9, 0x0105fcfa, 0x0105fcfb, 0x0105fcfc, 0x0105fcfd, 0x0105fcfe, 0x0105fcff, +0x0105fd00, 0x0105fd01, 0x0105fd02, 0x0105fd03, 0x0105fd04, 0x0105fd05, 0x0105fd06, 0x0105fd07, +0x0105fdf8, 0x0105fdf9, 0x0105fdfa, 0x0105fdfb, 0x0105fdfc, 0x0105fdfd, 0x0105fdfe, 0x0105fdff, +0x0105fe00, 0x0105fe01, 0x0105fe02, 0x0105fe03, 0x0105fe04, 0x0105fe05, 0x0105fe06, 0x0105fe07, +0x0105fef8, 0x0105fef9, 0x0105fefa, 0x0105fefb, 0x0105fefc, 0x0105fefd, 0x0105fefe, 0x0105feff, +0x0105ff00, 0x0105ff01, 0x0105ff02, 0x0105ff03, 0x0105ff04, 0x0105ff05, 0x0105ff06, 0x0105ff07, +0x0105fff8, 0x0105fff9, 0x0105fffa, 0x0105fffb, 0x0105fffc, 0x0105fffd, 0x0105fffe, 0x0105ffff, +0x01060000, 0x01060001, 0x01060002, 0x01060003, 0x01060004, 0x01060005, 0x01060006, 0x01060007, +0x010600f8, 0x010600f9, 0x010600fa, 0x010600fb, 0x010600fc, 0x010600fd, 0x010600fe, 0x010600ff, +0x01060100, 0x01060101, 0x01060102, 0x01060103, 0x01060104, 0x01060105, 0x01060106, 0x01060107, +0x010601f8, 0x010601f9, 0x010601fa, 0x010601fb, 0x010601fc, 0x010601fd, 0x010601fe, 0x010601ff, +0x01060200, 0x01060201, 0x01060202, 0x01060203, 0x01060204, 0x01060205, 0x01060206, 0x01060207, +0x010602f8, 0x010602f9, 0x010602fa, 0x010602fb, 0x010602fc, 0x010602fd, 0x010602fe, 0x010602ff, +0x01060300, 0x01060301, 0x01060302, 0x01060303, 0x01060304, 0x01060305, 0x01060306, 0x01060307, +0x010603f8, 0x010603f9, 0x010603fa, 0x010603fb, 0x010603fc, 0x010603fd, 0x010603fe, 0x010603ff, +0x01060400, 0x01060401, 0x01060402, 0x01060403, 0x01060404, 0x01060405, 0x01060406, 0x01060407, +0x010604f8, 0x010604f9, 0x010604fa, 0x010604fb, 0x010604fc, 0x010604fd, 0x010604fe, 0x010604ff, +0x01060500, 0x01060501, 0x01060502, 0x01060503, 0x01060504, 0x01060505, 0x01060506, 0x01060507, +0x010605f8, 0x010605f9, 0x010605fa, 0x010605fb, 0x010605fc, 0x010605fd, 0x010605fe, 0x010605ff, +0x01060600, 0x01060601, 0x01060602, 0x01060603, 0x01060604, 0x01060605, 0x01060606, 0x01060607, +0x010606f8, 0x010606f9, 0x010606fa, 0x010606fb, 0x010606fc, 0x010606fd, 0x010606fe, 0x010606ff, +0x01060700, 0x01060701, 0x01060702, 0x01060703, 0x01060704, 0x01060705, 0x01060706, 0x01060707, +0x010607f8, 0x010607f9, 0x010607fa, 0x010607fb, 0x010607fc, 0x010607fd, 0x010607fe, 0x010607ff, +0x0106f800, 0x0106f801, 0x0106f802, 0x0106f803, 0x0106f804, 0x0106f805, 0x0106f806, 0x0106f807, +0x0106f8f8, 0x0106f8f9, 0x0106f8fa, 0x0106f8fb, 0x0106f8fc, 0x0106f8fd, 0x0106f8fe, 0x0106f8ff, +0x0106f900, 0x0106f901, 0x0106f902, 0x0106f903, 0x0106f904, 0x0106f905, 0x0106f906, 0x0106f907, +0x0106f9f8, 0x0106f9f9, 0x0106f9fa, 0x0106f9fb, 0x0106f9fc, 0x0106f9fd, 0x0106f9fe, 0x0106f9ff, +0x0106fa00, 0x0106fa01, 0x0106fa02, 0x0106fa03, 0x0106fa04, 0x0106fa05, 0x0106fa06, 0x0106fa07, +0x0106faf8, 0x0106faf9, 0x0106fafa, 0x0106fafb, 0x0106fafc, 0x0106fafd, 0x0106fafe, 0x0106faff, +0x0106fb00, 0x0106fb01, 0x0106fb02, 0x0106fb03, 0x0106fb04, 0x0106fb05, 0x0106fb06, 0x0106fb07, +0x0106fbf8, 0x0106fbf9, 0x0106fbfa, 0x0106fbfb, 0x0106fbfc, 0x0106fbfd, 0x0106fbfe, 0x0106fbff, +0x0106fc00, 0x0106fc01, 0x0106fc02, 0x0106fc03, 0x0106fc04, 0x0106fc05, 0x0106fc06, 0x0106fc07, +0x0106fcf8, 0x0106fcf9, 0x0106fcfa, 0x0106fcfb, 0x0106fcfc, 0x0106fcfd, 0x0106fcfe, 0x0106fcff, +0x0106fd00, 0x0106fd01, 0x0106fd02, 0x0106fd03, 0x0106fd04, 0x0106fd05, 0x0106fd06, 0x0106fd07, +0x0106fdf8, 0x0106fdf9, 0x0106fdfa, 0x0106fdfb, 0x0106fdfc, 0x0106fdfd, 0x0106fdfe, 0x0106fdff, +0x0106fe00, 0x0106fe01, 0x0106fe02, 0x0106fe03, 0x0106fe04, 0x0106fe05, 0x0106fe06, 0x0106fe07, +0x0106fef8, 0x0106fef9, 0x0106fefa, 0x0106fefb, 0x0106fefc, 0x0106fefd, 0x0106fefe, 0x0106feff, +0x0106ff00, 0x0106ff01, 0x0106ff02, 0x0106ff03, 0x0106ff04, 0x0106ff05, 0x0106ff06, 0x0106ff07, +0x0106fff8, 0x0106fff9, 0x0106fffa, 0x0106fffb, 0x0106fffc, 0x0106fffd, 0x0106fffe, 0x0106ffff, +0x01070000, 0x01070001, 0x01070002, 0x01070003, 0x01070004, 0x01070005, 0x01070006, 0x01070007, +0x010700f8, 0x010700f9, 0x010700fa, 0x010700fb, 0x010700fc, 0x010700fd, 0x010700fe, 0x010700ff, +0x01070100, 0x01070101, 0x01070102, 0x01070103, 0x01070104, 0x01070105, 0x01070106, 0x01070107, +0x010701f8, 0x010701f9, 0x010701fa, 0x010701fb, 0x010701fc, 0x010701fd, 0x010701fe, 0x010701ff, +0x01070200, 0x01070201, 0x01070202, 0x01070203, 0x01070204, 0x01070205, 0x01070206, 0x01070207, +0x010702f8, 0x010702f9, 0x010702fa, 0x010702fb, 0x010702fc, 0x010702fd, 0x010702fe, 0x010702ff, +0x01070300, 0x01070301, 0x01070302, 0x01070303, 0x01070304, 0x01070305, 0x01070306, 0x01070307, +0x010703f8, 0x010703f9, 0x010703fa, 0x010703fb, 0x010703fc, 0x010703fd, 0x010703fe, 0x010703ff, +0x01070400, 0x01070401, 0x01070402, 0x01070403, 0x01070404, 0x01070405, 0x01070406, 0x01070407, +0x010704f8, 0x010704f9, 0x010704fa, 0x010704fb, 0x010704fc, 0x010704fd, 0x010704fe, 0x010704ff, +0x01070500, 0x01070501, 0x01070502, 0x01070503, 0x01070504, 0x01070505, 0x01070506, 0x01070507, +0x010705f8, 0x010705f9, 0x010705fa, 0x010705fb, 0x010705fc, 0x010705fd, 0x010705fe, 0x010705ff, +0x01070600, 0x01070601, 0x01070602, 0x01070603, 0x01070604, 0x01070605, 0x01070606, 0x01070607, +0x010706f8, 0x010706f9, 0x010706fa, 0x010706fb, 0x010706fc, 0x010706fd, 0x010706fe, 0x010706ff, +0x01070700, 0x01070701, 0x01070702, 0x01070703, 0x01070704, 0x01070705, 0x01070706, 0x01070707, +0x010707f8, 0x010707f9, 0x010707fa, 0x010707fb, 0x010707fc, 0x010707fd, 0x010707fe, 0x010707ff, +0x0107f800, 0x0107f801, 0x0107f802, 0x0107f803, 0x0107f804, 0x0107f805, 0x0107f806, 0x0107f807, +0x0107f8f8, 0x0107f8f9, 0x0107f8fa, 0x0107f8fb, 0x0107f8fc, 0x0107f8fd, 0x0107f8fe, 0x0107f8ff, +0x0107f900, 0x0107f901, 0x0107f902, 0x0107f903, 0x0107f904, 0x0107f905, 0x0107f906, 0x0107f907, +0x0107f9f8, 0x0107f9f9, 0x0107f9fa, 0x0107f9fb, 0x0107f9fc, 0x0107f9fd, 0x0107f9fe, 0x0107f9ff, +0x0107fa00, 0x0107fa01, 0x0107fa02, 0x0107fa03, 0x0107fa04, 0x0107fa05, 0x0107fa06, 0x0107fa07, +0x0107faf8, 0x0107faf9, 0x0107fafa, 0x0107fafb, 0x0107fafc, 0x0107fafd, 0x0107fafe, 0x0107faff, +0x0107fb00, 0x0107fb01, 0x0107fb02, 0x0107fb03, 0x0107fb04, 0x0107fb05, 0x0107fb06, 0x0107fb07, +0x0107fbf8, 0x0107fbf9, 0x0107fbfa, 0x0107fbfb, 0x0107fbfc, 0x0107fbfd, 0x0107fbfe, 0x0107fbff, +0x0107fc00, 0x0107fc01, 0x0107fc02, 0x0107fc03, 0x0107fc04, 0x0107fc05, 0x0107fc06, 0x0107fc07, +0x0107fcf8, 0x0107fcf9, 0x0107fcfa, 0x0107fcfb, 0x0107fcfc, 0x0107fcfd, 0x0107fcfe, 0x0107fcff, +0x0107fd00, 0x0107fd01, 0x0107fd02, 0x0107fd03, 0x0107fd04, 0x0107fd05, 0x0107fd06, 0x0107fd07, +0x0107fdf8, 0x0107fdf9, 0x0107fdfa, 0x0107fdfb, 0x0107fdfc, 0x0107fdfd, 0x0107fdfe, 0x0107fdff, +0x0107fe00, 0x0107fe01, 0x0107fe02, 0x0107fe03, 0x0107fe04, 0x0107fe05, 0x0107fe06, 0x0107fe07, +0x0107fef8, 0x0107fef9, 0x0107fefa, 0x0107fefb, 0x0107fefc, 0x0107fefd, 0x0107fefe, 0x0107feff, +0x0107ff00, 0x0107ff01, 0x0107ff02, 0x0107ff03, 0x0107ff04, 0x0107ff05, 0x0107ff06, 0x0107ff07, +0x0107fff8, 0x0107fff9, 0x0107fffa, 0x0107fffb, 0x0107fffc, 0x0107fffd, 0x0107fffe, 0x0107ffff, +0x01f80000, 0x01f80001, 0x01f80002, 0x01f80003, 0x01f80004, 0x01f80005, 0x01f80006, 0x01f80007, +0x01f800f8, 0x01f800f9, 0x01f800fa, 0x01f800fb, 0x01f800fc, 0x01f800fd, 0x01f800fe, 0x01f800ff, +0x01f80100, 0x01f80101, 0x01f80102, 0x01f80103, 0x01f80104, 0x01f80105, 0x01f80106, 0x01f80107, +0x01f801f8, 0x01f801f9, 0x01f801fa, 0x01f801fb, 0x01f801fc, 0x01f801fd, 0x01f801fe, 0x01f801ff, +0x01f80200, 0x01f80201, 0x01f80202, 0x01f80203, 0x01f80204, 0x01f80205, 0x01f80206, 0x01f80207, +0x01f802f8, 0x01f802f9, 0x01f802fa, 0x01f802fb, 0x01f802fc, 0x01f802fd, 0x01f802fe, 0x01f802ff, +0x01f80300, 0x01f80301, 0x01f80302, 0x01f80303, 0x01f80304, 0x01f80305, 0x01f80306, 0x01f80307, +0x01f803f8, 0x01f803f9, 0x01f803fa, 0x01f803fb, 0x01f803fc, 0x01f803fd, 0x01f803fe, 0x01f803ff, +0x01f80400, 0x01f80401, 0x01f80402, 0x01f80403, 0x01f80404, 0x01f80405, 0x01f80406, 0x01f80407, +0x01f804f8, 0x01f804f9, 0x01f804fa, 0x01f804fb, 0x01f804fc, 0x01f804fd, 0x01f804fe, 0x01f804ff, +0x01f80500, 0x01f80501, 0x01f80502, 0x01f80503, 0x01f80504, 0x01f80505, 0x01f80506, 0x01f80507, +0x01f805f8, 0x01f805f9, 0x01f805fa, 0x01f805fb, 0x01f805fc, 0x01f805fd, 0x01f805fe, 0x01f805ff, +0x01f80600, 0x01f80601, 0x01f80602, 0x01f80603, 0x01f80604, 0x01f80605, 0x01f80606, 0x01f80607, +0x01f806f8, 0x01f806f9, 0x01f806fa, 0x01f806fb, 0x01f806fc, 0x01f806fd, 0x01f806fe, 0x01f806ff, +0x01f80700, 0x01f80701, 0x01f80702, 0x01f80703, 0x01f80704, 0x01f80705, 0x01f80706, 0x01f80707, +0x01f807f8, 0x01f807f9, 0x01f807fa, 0x01f807fb, 0x01f807fc, 0x01f807fd, 0x01f807fe, 0x01f807ff, +0x01f8f800, 0x01f8f801, 0x01f8f802, 0x01f8f803, 0x01f8f804, 0x01f8f805, 0x01f8f806, 0x01f8f807, +0x01f8f8f8, 0x01f8f8f9, 0x01f8f8fa, 0x01f8f8fb, 0x01f8f8fc, 0x01f8f8fd, 0x01f8f8fe, 0x01f8f8ff, +0x01f8f900, 0x01f8f901, 0x01f8f902, 0x01f8f903, 0x01f8f904, 0x01f8f905, 0x01f8f906, 0x01f8f907, +0x01f8f9f8, 0x01f8f9f9, 0x01f8f9fa, 0x01f8f9fb, 0x01f8f9fc, 0x01f8f9fd, 0x01f8f9fe, 0x01f8f9ff, +0x01f8fa00, 0x01f8fa01, 0x01f8fa02, 0x01f8fa03, 0x01f8fa04, 0x01f8fa05, 0x01f8fa06, 0x01f8fa07, +0x01f8faf8, 0x01f8faf9, 0x01f8fafa, 0x01f8fafb, 0x01f8fafc, 0x01f8fafd, 0x01f8fafe, 0x01f8faff, +0x01f8fb00, 0x01f8fb01, 0x01f8fb02, 0x01f8fb03, 0x01f8fb04, 0x01f8fb05, 0x01f8fb06, 0x01f8fb07, +0x01f8fbf8, 0x01f8fbf9, 0x01f8fbfa, 0x01f8fbfb, 0x01f8fbfc, 0x01f8fbfd, 0x01f8fbfe, 0x01f8fbff, +0x01f8fc00, 0x01f8fc01, 0x01f8fc02, 0x01f8fc03, 0x01f8fc04, 0x01f8fc05, 0x01f8fc06, 0x01f8fc07, +0x01f8fcf8, 0x01f8fcf9, 0x01f8fcfa, 0x01f8fcfb, 0x01f8fcfc, 0x01f8fcfd, 0x01f8fcfe, 0x01f8fcff, +0x01f8fd00, 0x01f8fd01, 0x01f8fd02, 0x01f8fd03, 0x01f8fd04, 0x01f8fd05, 0x01f8fd06, 0x01f8fd07, +0x01f8fdf8, 0x01f8fdf9, 0x01f8fdfa, 0x01f8fdfb, 0x01f8fdfc, 0x01f8fdfd, 0x01f8fdfe, 0x01f8fdff, +0x01f8fe00, 0x01f8fe01, 0x01f8fe02, 0x01f8fe03, 0x01f8fe04, 0x01f8fe05, 0x01f8fe06, 0x01f8fe07, +0x01f8fef8, 0x01f8fef9, 0x01f8fefa, 0x01f8fefb, 0x01f8fefc, 0x01f8fefd, 0x01f8fefe, 0x01f8feff, +0x01f8ff00, 0x01f8ff01, 0x01f8ff02, 0x01f8ff03, 0x01f8ff04, 0x01f8ff05, 0x01f8ff06, 0x01f8ff07, +0x01f8fff8, 0x01f8fff9, 0x01f8fffa, 0x01f8fffb, 0x01f8fffc, 0x01f8fffd, 0x01f8fffe, 0x01f8ffff, +0x01f90000, 0x01f90001, 0x01f90002, 0x01f90003, 0x01f90004, 0x01f90005, 0x01f90006, 0x01f90007, +0x01f900f8, 0x01f900f9, 0x01f900fa, 0x01f900fb, 0x01f900fc, 0x01f900fd, 0x01f900fe, 0x01f900ff, +0x01f90100, 0x01f90101, 0x01f90102, 0x01f90103, 0x01f90104, 0x01f90105, 0x01f90106, 0x01f90107, +0x01f901f8, 0x01f901f9, 0x01f901fa, 0x01f901fb, 0x01f901fc, 0x01f901fd, 0x01f901fe, 0x01f901ff, +0x01f90200, 0x01f90201, 0x01f90202, 0x01f90203, 0x01f90204, 0x01f90205, 0x01f90206, 0x01f90207, +0x01f902f8, 0x01f902f9, 0x01f902fa, 0x01f902fb, 0x01f902fc, 0x01f902fd, 0x01f902fe, 0x01f902ff, +0x01f90300, 0x01f90301, 0x01f90302, 0x01f90303, 0x01f90304, 0x01f90305, 0x01f90306, 0x01f90307, +0x01f903f8, 0x01f903f9, 0x01f903fa, 0x01f903fb, 0x01f903fc, 0x01f903fd, 0x01f903fe, 0x01f903ff, +0x01f90400, 0x01f90401, 0x01f90402, 0x01f90403, 0x01f90404, 0x01f90405, 0x01f90406, 0x01f90407, +0x01f904f8, 0x01f904f9, 0x01f904fa, 0x01f904fb, 0x01f904fc, 0x01f904fd, 0x01f904fe, 0x01f904ff, +0x01f90500, 0x01f90501, 0x01f90502, 0x01f90503, 0x01f90504, 0x01f90505, 0x01f90506, 0x01f90507, +0x01f905f8, 0x01f905f9, 0x01f905fa, 0x01f905fb, 0x01f905fc, 0x01f905fd, 0x01f905fe, 0x01f905ff, +0x01f90600, 0x01f90601, 0x01f90602, 0x01f90603, 0x01f90604, 0x01f90605, 0x01f90606, 0x01f90607, +0x01f906f8, 0x01f906f9, 0x01f906fa, 0x01f906fb, 0x01f906fc, 0x01f906fd, 0x01f906fe, 0x01f906ff, +0x01f90700, 0x01f90701, 0x01f90702, 0x01f90703, 0x01f90704, 0x01f90705, 0x01f90706, 0x01f90707, +0x01f907f8, 0x01f907f9, 0x01f907fa, 0x01f907fb, 0x01f907fc, 0x01f907fd, 0x01f907fe, 0x01f907ff, +0x01f9f800, 0x01f9f801, 0x01f9f802, 0x01f9f803, 0x01f9f804, 0x01f9f805, 0x01f9f806, 0x01f9f807, +0x01f9f8f8, 0x01f9f8f9, 0x01f9f8fa, 0x01f9f8fb, 0x01f9f8fc, 0x01f9f8fd, 0x01f9f8fe, 0x01f9f8ff, +0x01f9f900, 0x01f9f901, 0x01f9f902, 0x01f9f903, 0x01f9f904, 0x01f9f905, 0x01f9f906, 0x01f9f907, +0x01f9f9f8, 0x01f9f9f9, 0x01f9f9fa, 0x01f9f9fb, 0x01f9f9fc, 0x01f9f9fd, 0x01f9f9fe, 0x01f9f9ff, +0x01f9fa00, 0x01f9fa01, 0x01f9fa02, 0x01f9fa03, 0x01f9fa04, 0x01f9fa05, 0x01f9fa06, 0x01f9fa07, +0x01f9faf8, 0x01f9faf9, 0x01f9fafa, 0x01f9fafb, 0x01f9fafc, 0x01f9fafd, 0x01f9fafe, 0x01f9faff, +0x01f9fb00, 0x01f9fb01, 0x01f9fb02, 0x01f9fb03, 0x01f9fb04, 0x01f9fb05, 0x01f9fb06, 0x01f9fb07, +0x01f9fbf8, 0x01f9fbf9, 0x01f9fbfa, 0x01f9fbfb, 0x01f9fbfc, 0x01f9fbfd, 0x01f9fbfe, 0x01f9fbff, +0x01f9fc00, 0x01f9fc01, 0x01f9fc02, 0x01f9fc03, 0x01f9fc04, 0x01f9fc05, 0x01f9fc06, 0x01f9fc07, +0x01f9fcf8, 0x01f9fcf9, 0x01f9fcfa, 0x01f9fcfb, 0x01f9fcfc, 0x01f9fcfd, 0x01f9fcfe, 0x01f9fcff, +0x01f9fd00, 0x01f9fd01, 0x01f9fd02, 0x01f9fd03, 0x01f9fd04, 0x01f9fd05, 0x01f9fd06, 0x01f9fd07, +0x01f9fdf8, 0x01f9fdf9, 0x01f9fdfa, 0x01f9fdfb, 0x01f9fdfc, 0x01f9fdfd, 0x01f9fdfe, 0x01f9fdff, +0x01f9fe00, 0x01f9fe01, 0x01f9fe02, 0x01f9fe03, 0x01f9fe04, 0x01f9fe05, 0x01f9fe06, 0x01f9fe07, +0x01f9fef8, 0x01f9fef9, 0x01f9fefa, 0x01f9fefb, 0x01f9fefc, 0x01f9fefd, 0x01f9fefe, 0x01f9feff, +0x01f9ff00, 0x01f9ff01, 0x01f9ff02, 0x01f9ff03, 0x01f9ff04, 0x01f9ff05, 0x01f9ff06, 0x01f9ff07, +0x01f9fff8, 0x01f9fff9, 0x01f9fffa, 0x01f9fffb, 0x01f9fffc, 0x01f9fffd, 0x01f9fffe, 0x01f9ffff, +0x01fa0000, 0x01fa0001, 0x01fa0002, 0x01fa0003, 0x01fa0004, 0x01fa0005, 0x01fa0006, 0x01fa0007, +0x01fa00f8, 0x01fa00f9, 0x01fa00fa, 0x01fa00fb, 0x01fa00fc, 0x01fa00fd, 0x01fa00fe, 0x01fa00ff, +0x01fa0100, 0x01fa0101, 0x01fa0102, 0x01fa0103, 0x01fa0104, 0x01fa0105, 0x01fa0106, 0x01fa0107, +0x01fa01f8, 0x01fa01f9, 0x01fa01fa, 0x01fa01fb, 0x01fa01fc, 0x01fa01fd, 0x01fa01fe, 0x01fa01ff, +0x01fa0200, 0x01fa0201, 0x01fa0202, 0x01fa0203, 0x01fa0204, 0x01fa0205, 0x01fa0206, 0x01fa0207, +0x01fa02f8, 0x01fa02f9, 0x01fa02fa, 0x01fa02fb, 0x01fa02fc, 0x01fa02fd, 0x01fa02fe, 0x01fa02ff, +0x01fa0300, 0x01fa0301, 0x01fa0302, 0x01fa0303, 0x01fa0304, 0x01fa0305, 0x01fa0306, 0x01fa0307, +0x01fa03f8, 0x01fa03f9, 0x01fa03fa, 0x01fa03fb, 0x01fa03fc, 0x01fa03fd, 0x01fa03fe, 0x01fa03ff, +0x01fa0400, 0x01fa0401, 0x01fa0402, 0x01fa0403, 0x01fa0404, 0x01fa0405, 0x01fa0406, 0x01fa0407, +0x01fa04f8, 0x01fa04f9, 0x01fa04fa, 0x01fa04fb, 0x01fa04fc, 0x01fa04fd, 0x01fa04fe, 0x01fa04ff, +0x01fa0500, 0x01fa0501, 0x01fa0502, 0x01fa0503, 0x01fa0504, 0x01fa0505, 0x01fa0506, 0x01fa0507, +0x01fa05f8, 0x01fa05f9, 0x01fa05fa, 0x01fa05fb, 0x01fa05fc, 0x01fa05fd, 0x01fa05fe, 0x01fa05ff, +0x01fa0600, 0x01fa0601, 0x01fa0602, 0x01fa0603, 0x01fa0604, 0x01fa0605, 0x01fa0606, 0x01fa0607, +0x01fa06f8, 0x01fa06f9, 0x01fa06fa, 0x01fa06fb, 0x01fa06fc, 0x01fa06fd, 0x01fa06fe, 0x01fa06ff, +0x01fa0700, 0x01fa0701, 0x01fa0702, 0x01fa0703, 0x01fa0704, 0x01fa0705, 0x01fa0706, 0x01fa0707, +0x01fa07f8, 0x01fa07f9, 0x01fa07fa, 0x01fa07fb, 0x01fa07fc, 0x01fa07fd, 0x01fa07fe, 0x01fa07ff, +0x01faf800, 0x01faf801, 0x01faf802, 0x01faf803, 0x01faf804, 0x01faf805, 0x01faf806, 0x01faf807, +0x01faf8f8, 0x01faf8f9, 0x01faf8fa, 0x01faf8fb, 0x01faf8fc, 0x01faf8fd, 0x01faf8fe, 0x01faf8ff, +0x01faf900, 0x01faf901, 0x01faf902, 0x01faf903, 0x01faf904, 0x01faf905, 0x01faf906, 0x01faf907, +0x01faf9f8, 0x01faf9f9, 0x01faf9fa, 0x01faf9fb, 0x01faf9fc, 0x01faf9fd, 0x01faf9fe, 0x01faf9ff, +0x01fafa00, 0x01fafa01, 0x01fafa02, 0x01fafa03, 0x01fafa04, 0x01fafa05, 0x01fafa06, 0x01fafa07, +0x01fafaf8, 0x01fafaf9, 0x01fafafa, 0x01fafafb, 0x01fafafc, 0x01fafafd, 0x01fafafe, 0x01fafaff, +0x01fafb00, 0x01fafb01, 0x01fafb02, 0x01fafb03, 0x01fafb04, 0x01fafb05, 0x01fafb06, 0x01fafb07, +0x01fafbf8, 0x01fafbf9, 0x01fafbfa, 0x01fafbfb, 0x01fafbfc, 0x01fafbfd, 0x01fafbfe, 0x01fafbff, +0x01fafc00, 0x01fafc01, 0x01fafc02, 0x01fafc03, 0x01fafc04, 0x01fafc05, 0x01fafc06, 0x01fafc07, +0x01fafcf8, 0x01fafcf9, 0x01fafcfa, 0x01fafcfb, 0x01fafcfc, 0x01fafcfd, 0x01fafcfe, 0x01fafcff, +0x01fafd00, 0x01fafd01, 0x01fafd02, 0x01fafd03, 0x01fafd04, 0x01fafd05, 0x01fafd06, 0x01fafd07, +0x01fafdf8, 0x01fafdf9, 0x01fafdfa, 0x01fafdfb, 0x01fafdfc, 0x01fafdfd, 0x01fafdfe, 0x01fafdff, +0x01fafe00, 0x01fafe01, 0x01fafe02, 0x01fafe03, 0x01fafe04, 0x01fafe05, 0x01fafe06, 0x01fafe07, +0x01fafef8, 0x01fafef9, 0x01fafefa, 0x01fafefb, 0x01fafefc, 0x01fafefd, 0x01fafefe, 0x01fafeff, +0x01faff00, 0x01faff01, 0x01faff02, 0x01faff03, 0x01faff04, 0x01faff05, 0x01faff06, 0x01faff07, +0x01fafff8, 0x01fafff9, 0x01fafffa, 0x01fafffb, 0x01fafffc, 0x01fafffd, 0x01fafffe, 0x01faffff, +0x01fb0000, 0x01fb0001, 0x01fb0002, 0x01fb0003, 0x01fb0004, 0x01fb0005, 0x01fb0006, 0x01fb0007, +0x01fb00f8, 0x01fb00f9, 0x01fb00fa, 0x01fb00fb, 0x01fb00fc, 0x01fb00fd, 0x01fb00fe, 0x01fb00ff, +0x01fb0100, 0x01fb0101, 0x01fb0102, 0x01fb0103, 0x01fb0104, 0x01fb0105, 0x01fb0106, 0x01fb0107, +0x01fb01f8, 0x01fb01f9, 0x01fb01fa, 0x01fb01fb, 0x01fb01fc, 0x01fb01fd, 0x01fb01fe, 0x01fb01ff, +0x01fb0200, 0x01fb0201, 0x01fb0202, 0x01fb0203, 0x01fb0204, 0x01fb0205, 0x01fb0206, 0x01fb0207, +0x01fb02f8, 0x01fb02f9, 0x01fb02fa, 0x01fb02fb, 0x01fb02fc, 0x01fb02fd, 0x01fb02fe, 0x01fb02ff, +0x01fb0300, 0x01fb0301, 0x01fb0302, 0x01fb0303, 0x01fb0304, 0x01fb0305, 0x01fb0306, 0x01fb0307, +0x01fb03f8, 0x01fb03f9, 0x01fb03fa, 0x01fb03fb, 0x01fb03fc, 0x01fb03fd, 0x01fb03fe, 0x01fb03ff, +0x01fb0400, 0x01fb0401, 0x01fb0402, 0x01fb0403, 0x01fb0404, 0x01fb0405, 0x01fb0406, 0x01fb0407, +0x01fb04f8, 0x01fb04f9, 0x01fb04fa, 0x01fb04fb, 0x01fb04fc, 0x01fb04fd, 0x01fb04fe, 0x01fb04ff, +0x01fb0500, 0x01fb0501, 0x01fb0502, 0x01fb0503, 0x01fb0504, 0x01fb0505, 0x01fb0506, 0x01fb0507, +0x01fb05f8, 0x01fb05f9, 0x01fb05fa, 0x01fb05fb, 0x01fb05fc, 0x01fb05fd, 0x01fb05fe, 0x01fb05ff, +0x01fb0600, 0x01fb0601, 0x01fb0602, 0x01fb0603, 0x01fb0604, 0x01fb0605, 0x01fb0606, 0x01fb0607, +0x01fb06f8, 0x01fb06f9, 0x01fb06fa, 0x01fb06fb, 0x01fb06fc, 0x01fb06fd, 0x01fb06fe, 0x01fb06ff, +0x01fb0700, 0x01fb0701, 0x01fb0702, 0x01fb0703, 0x01fb0704, 0x01fb0705, 0x01fb0706, 0x01fb0707, +0x01fb07f8, 0x01fb07f9, 0x01fb07fa, 0x01fb07fb, 0x01fb07fc, 0x01fb07fd, 0x01fb07fe, 0x01fb07ff, +0x01fbf800, 0x01fbf801, 0x01fbf802, 0x01fbf803, 0x01fbf804, 0x01fbf805, 0x01fbf806, 0x01fbf807, +0x01fbf8f8, 0x01fbf8f9, 0x01fbf8fa, 0x01fbf8fb, 0x01fbf8fc, 0x01fbf8fd, 0x01fbf8fe, 0x01fbf8ff, +0x01fbf900, 0x01fbf901, 0x01fbf902, 0x01fbf903, 0x01fbf904, 0x01fbf905, 0x01fbf906, 0x01fbf907, +0x01fbf9f8, 0x01fbf9f9, 0x01fbf9fa, 0x01fbf9fb, 0x01fbf9fc, 0x01fbf9fd, 0x01fbf9fe, 0x01fbf9ff, +0x01fbfa00, 0x01fbfa01, 0x01fbfa02, 0x01fbfa03, 0x01fbfa04, 0x01fbfa05, 0x01fbfa06, 0x01fbfa07, +0x01fbfaf8, 0x01fbfaf9, 0x01fbfafa, 0x01fbfafb, 0x01fbfafc, 0x01fbfafd, 0x01fbfafe, 0x01fbfaff, +0x01fbfb00, 0x01fbfb01, 0x01fbfb02, 0x01fbfb03, 0x01fbfb04, 0x01fbfb05, 0x01fbfb06, 0x01fbfb07, +0x01fbfbf8, 0x01fbfbf9, 0x01fbfbfa, 0x01fbfbfb, 0x01fbfbfc, 0x01fbfbfd, 0x01fbfbfe, 0x01fbfbff, +0x01fbfc00, 0x01fbfc01, 0x01fbfc02, 0x01fbfc03, 0x01fbfc04, 0x01fbfc05, 0x01fbfc06, 0x01fbfc07, +0x01fbfcf8, 0x01fbfcf9, 0x01fbfcfa, 0x01fbfcfb, 0x01fbfcfc, 0x01fbfcfd, 0x01fbfcfe, 0x01fbfcff, +0x01fbfd00, 0x01fbfd01, 0x01fbfd02, 0x01fbfd03, 0x01fbfd04, 0x01fbfd05, 0x01fbfd06, 0x01fbfd07, +0x01fbfdf8, 0x01fbfdf9, 0x01fbfdfa, 0x01fbfdfb, 0x01fbfdfc, 0x01fbfdfd, 0x01fbfdfe, 0x01fbfdff, +0x01fbfe00, 0x01fbfe01, 0x01fbfe02, 0x01fbfe03, 0x01fbfe04, 0x01fbfe05, 0x01fbfe06, 0x01fbfe07, +0x01fbfef8, 0x01fbfef9, 0x01fbfefa, 0x01fbfefb, 0x01fbfefc, 0x01fbfefd, 0x01fbfefe, 0x01fbfeff, +0x01fbff00, 0x01fbff01, 0x01fbff02, 0x01fbff03, 0x01fbff04, 0x01fbff05, 0x01fbff06, 0x01fbff07, +0x01fbfff8, 0x01fbfff9, 0x01fbfffa, 0x01fbfffb, 0x01fbfffc, 0x01fbfffd, 0x01fbfffe, 0x01fbffff, +0x01fc0000, 0x01fc0001, 0x01fc0002, 0x01fc0003, 0x01fc0004, 0x01fc0005, 0x01fc0006, 0x01fc0007, +0x01fc00f8, 0x01fc00f9, 0x01fc00fa, 0x01fc00fb, 0x01fc00fc, 0x01fc00fd, 0x01fc00fe, 0x01fc00ff, +0x01fc0100, 0x01fc0101, 0x01fc0102, 0x01fc0103, 0x01fc0104, 0x01fc0105, 0x01fc0106, 0x01fc0107, +0x01fc01f8, 0x01fc01f9, 0x01fc01fa, 0x01fc01fb, 0x01fc01fc, 0x01fc01fd, 0x01fc01fe, 0x01fc01ff, +0x01fc0200, 0x01fc0201, 0x01fc0202, 0x01fc0203, 0x01fc0204, 0x01fc0205, 0x01fc0206, 0x01fc0207, +0x01fc02f8, 0x01fc02f9, 0x01fc02fa, 0x01fc02fb, 0x01fc02fc, 0x01fc02fd, 0x01fc02fe, 0x01fc02ff, +0x01fc0300, 0x01fc0301, 0x01fc0302, 0x01fc0303, 0x01fc0304, 0x01fc0305, 0x01fc0306, 0x01fc0307, +0x01fc03f8, 0x01fc03f9, 0x01fc03fa, 0x01fc03fb, 0x01fc03fc, 0x01fc03fd, 0x01fc03fe, 0x01fc03ff, +0x01fc0400, 0x01fc0401, 0x01fc0402, 0x01fc0403, 0x01fc0404, 0x01fc0405, 0x01fc0406, 0x01fc0407, +0x01fc04f8, 0x01fc04f9, 0x01fc04fa, 0x01fc04fb, 0x01fc04fc, 0x01fc04fd, 0x01fc04fe, 0x01fc04ff, +0x01fc0500, 0x01fc0501, 0x01fc0502, 0x01fc0503, 0x01fc0504, 0x01fc0505, 0x01fc0506, 0x01fc0507, +0x01fc05f8, 0x01fc05f9, 0x01fc05fa, 0x01fc05fb, 0x01fc05fc, 0x01fc05fd, 0x01fc05fe, 0x01fc05ff, +0x01fc0600, 0x01fc0601, 0x01fc0602, 0x01fc0603, 0x01fc0604, 0x01fc0605, 0x01fc0606, 0x01fc0607, +0x01fc06f8, 0x01fc06f9, 0x01fc06fa, 0x01fc06fb, 0x01fc06fc, 0x01fc06fd, 0x01fc06fe, 0x01fc06ff, +0x01fc0700, 0x01fc0701, 0x01fc0702, 0x01fc0703, 0x01fc0704, 0x01fc0705, 0x01fc0706, 0x01fc0707, +0x01fc07f8, 0x01fc07f9, 0x01fc07fa, 0x01fc07fb, 0x01fc07fc, 0x01fc07fd, 0x01fc07fe, 0x01fc07ff, +0x01fcf800, 0x01fcf801, 0x01fcf802, 0x01fcf803, 0x01fcf804, 0x01fcf805, 0x01fcf806, 0x01fcf807, +0x01fcf8f8, 0x01fcf8f9, 0x01fcf8fa, 0x01fcf8fb, 0x01fcf8fc, 0x01fcf8fd, 0x01fcf8fe, 0x01fcf8ff, +0x01fcf900, 0x01fcf901, 0x01fcf902, 0x01fcf903, 0x01fcf904, 0x01fcf905, 0x01fcf906, 0x01fcf907, +0x01fcf9f8, 0x01fcf9f9, 0x01fcf9fa, 0x01fcf9fb, 0x01fcf9fc, 0x01fcf9fd, 0x01fcf9fe, 0x01fcf9ff, +0x01fcfa00, 0x01fcfa01, 0x01fcfa02, 0x01fcfa03, 0x01fcfa04, 0x01fcfa05, 0x01fcfa06, 0x01fcfa07, +0x01fcfaf8, 0x01fcfaf9, 0x01fcfafa, 0x01fcfafb, 0x01fcfafc, 0x01fcfafd, 0x01fcfafe, 0x01fcfaff, +0x01fcfb00, 0x01fcfb01, 0x01fcfb02, 0x01fcfb03, 0x01fcfb04, 0x01fcfb05, 0x01fcfb06, 0x01fcfb07, +0x01fcfbf8, 0x01fcfbf9, 0x01fcfbfa, 0x01fcfbfb, 0x01fcfbfc, 0x01fcfbfd, 0x01fcfbfe, 0x01fcfbff, +0x01fcfc00, 0x01fcfc01, 0x01fcfc02, 0x01fcfc03, 0x01fcfc04, 0x01fcfc05, 0x01fcfc06, 0x01fcfc07, +0x01fcfcf8, 0x01fcfcf9, 0x01fcfcfa, 0x01fcfcfb, 0x01fcfcfc, 0x01fcfcfd, 0x01fcfcfe, 0x01fcfcff, +0x01fcfd00, 0x01fcfd01, 0x01fcfd02, 0x01fcfd03, 0x01fcfd04, 0x01fcfd05, 0x01fcfd06, 0x01fcfd07, +0x01fcfdf8, 0x01fcfdf9, 0x01fcfdfa, 0x01fcfdfb, 0x01fcfdfc, 0x01fcfdfd, 0x01fcfdfe, 0x01fcfdff, +0x01fcfe00, 0x01fcfe01, 0x01fcfe02, 0x01fcfe03, 0x01fcfe04, 0x01fcfe05, 0x01fcfe06, 0x01fcfe07, +0x01fcfef8, 0x01fcfef9, 0x01fcfefa, 0x01fcfefb, 0x01fcfefc, 0x01fcfefd, 0x01fcfefe, 0x01fcfeff, +0x01fcff00, 0x01fcff01, 0x01fcff02, 0x01fcff03, 0x01fcff04, 0x01fcff05, 0x01fcff06, 0x01fcff07, +0x01fcfff8, 0x01fcfff9, 0x01fcfffa, 0x01fcfffb, 0x01fcfffc, 0x01fcfffd, 0x01fcfffe, 0x01fcffff, +0x01fd0000, 0x01fd0001, 0x01fd0002, 0x01fd0003, 0x01fd0004, 0x01fd0005, 0x01fd0006, 0x01fd0007, +0x01fd00f8, 0x01fd00f9, 0x01fd00fa, 0x01fd00fb, 0x01fd00fc, 0x01fd00fd, 0x01fd00fe, 0x01fd00ff, +0x01fd0100, 0x01fd0101, 0x01fd0102, 0x01fd0103, 0x01fd0104, 0x01fd0105, 0x01fd0106, 0x01fd0107, +0x01fd01f8, 0x01fd01f9, 0x01fd01fa, 0x01fd01fb, 0x01fd01fc, 0x01fd01fd, 0x01fd01fe, 0x01fd01ff, +0x01fd0200, 0x01fd0201, 0x01fd0202, 0x01fd0203, 0x01fd0204, 0x01fd0205, 0x01fd0206, 0x01fd0207, +0x01fd02f8, 0x01fd02f9, 0x01fd02fa, 0x01fd02fb, 0x01fd02fc, 0x01fd02fd, 0x01fd02fe, 0x01fd02ff, +0x01fd0300, 0x01fd0301, 0x01fd0302, 0x01fd0303, 0x01fd0304, 0x01fd0305, 0x01fd0306, 0x01fd0307, +0x01fd03f8, 0x01fd03f9, 0x01fd03fa, 0x01fd03fb, 0x01fd03fc, 0x01fd03fd, 0x01fd03fe, 0x01fd03ff, +0x01fd0400, 0x01fd0401, 0x01fd0402, 0x01fd0403, 0x01fd0404, 0x01fd0405, 0x01fd0406, 0x01fd0407, +0x01fd04f8, 0x01fd04f9, 0x01fd04fa, 0x01fd04fb, 0x01fd04fc, 0x01fd04fd, 0x01fd04fe, 0x01fd04ff, +0x01fd0500, 0x01fd0501, 0x01fd0502, 0x01fd0503, 0x01fd0504, 0x01fd0505, 0x01fd0506, 0x01fd0507, +0x01fd05f8, 0x01fd05f9, 0x01fd05fa, 0x01fd05fb, 0x01fd05fc, 0x01fd05fd, 0x01fd05fe, 0x01fd05ff, +0x01fd0600, 0x01fd0601, 0x01fd0602, 0x01fd0603, 0x01fd0604, 0x01fd0605, 0x01fd0606, 0x01fd0607, +0x01fd06f8, 0x01fd06f9, 0x01fd06fa, 0x01fd06fb, 0x01fd06fc, 0x01fd06fd, 0x01fd06fe, 0x01fd06ff, +0x01fd0700, 0x01fd0701, 0x01fd0702, 0x01fd0703, 0x01fd0704, 0x01fd0705, 0x01fd0706, 0x01fd0707, +0x01fd07f8, 0x01fd07f9, 0x01fd07fa, 0x01fd07fb, 0x01fd07fc, 0x01fd07fd, 0x01fd07fe, 0x01fd07ff, +0x01fdf800, 0x01fdf801, 0x01fdf802, 0x01fdf803, 0x01fdf804, 0x01fdf805, 0x01fdf806, 0x01fdf807, +0x01fdf8f8, 0x01fdf8f9, 0x01fdf8fa, 0x01fdf8fb, 0x01fdf8fc, 0x01fdf8fd, 0x01fdf8fe, 0x01fdf8ff, +0x01fdf900, 0x01fdf901, 0x01fdf902, 0x01fdf903, 0x01fdf904, 0x01fdf905, 0x01fdf906, 0x01fdf907, +0x01fdf9f8, 0x01fdf9f9, 0x01fdf9fa, 0x01fdf9fb, 0x01fdf9fc, 0x01fdf9fd, 0x01fdf9fe, 0x01fdf9ff, +0x01fdfa00, 0x01fdfa01, 0x01fdfa02, 0x01fdfa03, 0x01fdfa04, 0x01fdfa05, 0x01fdfa06, 0x01fdfa07, +0x01fdfaf8, 0x01fdfaf9, 0x01fdfafa, 0x01fdfafb, 0x01fdfafc, 0x01fdfafd, 0x01fdfafe, 0x01fdfaff, +0x01fdfb00, 0x01fdfb01, 0x01fdfb02, 0x01fdfb03, 0x01fdfb04, 0x01fdfb05, 0x01fdfb06, 0x01fdfb07, +0x01fdfbf8, 0x01fdfbf9, 0x01fdfbfa, 0x01fdfbfb, 0x01fdfbfc, 0x01fdfbfd, 0x01fdfbfe, 0x01fdfbff, +0x01fdfc00, 0x01fdfc01, 0x01fdfc02, 0x01fdfc03, 0x01fdfc04, 0x01fdfc05, 0x01fdfc06, 0x01fdfc07, +0x01fdfcf8, 0x01fdfcf9, 0x01fdfcfa, 0x01fdfcfb, 0x01fdfcfc, 0x01fdfcfd, 0x01fdfcfe, 0x01fdfcff, +0x01fdfd00, 0x01fdfd01, 0x01fdfd02, 0x01fdfd03, 0x01fdfd04, 0x01fdfd05, 0x01fdfd06, 0x01fdfd07, +0x01fdfdf8, 0x01fdfdf9, 0x01fdfdfa, 0x01fdfdfb, 0x01fdfdfc, 0x01fdfdfd, 0x01fdfdfe, 0x01fdfdff, +0x01fdfe00, 0x01fdfe01, 0x01fdfe02, 0x01fdfe03, 0x01fdfe04, 0x01fdfe05, 0x01fdfe06, 0x01fdfe07, +0x01fdfef8, 0x01fdfef9, 0x01fdfefa, 0x01fdfefb, 0x01fdfefc, 0x01fdfefd, 0x01fdfefe, 0x01fdfeff, +0x01fdff00, 0x01fdff01, 0x01fdff02, 0x01fdff03, 0x01fdff04, 0x01fdff05, 0x01fdff06, 0x01fdff07, +0x01fdfff8, 0x01fdfff9, 0x01fdfffa, 0x01fdfffb, 0x01fdfffc, 0x01fdfffd, 0x01fdfffe, 0x01fdffff, +0x01fe0000, 0x01fe0001, 0x01fe0002, 0x01fe0003, 0x01fe0004, 0x01fe0005, 0x01fe0006, 0x01fe0007, +0x01fe00f8, 0x01fe00f9, 0x01fe00fa, 0x01fe00fb, 0x01fe00fc, 0x01fe00fd, 0x01fe00fe, 0x01fe00ff, +0x01fe0100, 0x01fe0101, 0x01fe0102, 0x01fe0103, 0x01fe0104, 0x01fe0105, 0x01fe0106, 0x01fe0107, +0x01fe01f8, 0x01fe01f9, 0x01fe01fa, 0x01fe01fb, 0x01fe01fc, 0x01fe01fd, 0x01fe01fe, 0x01fe01ff, +0x01fe0200, 0x01fe0201, 0x01fe0202, 0x01fe0203, 0x01fe0204, 0x01fe0205, 0x01fe0206, 0x01fe0207, +0x01fe02f8, 0x01fe02f9, 0x01fe02fa, 0x01fe02fb, 0x01fe02fc, 0x01fe02fd, 0x01fe02fe, 0x01fe02ff, +0x01fe0300, 0x01fe0301, 0x01fe0302, 0x01fe0303, 0x01fe0304, 0x01fe0305, 0x01fe0306, 0x01fe0307, +0x01fe03f8, 0x01fe03f9, 0x01fe03fa, 0x01fe03fb, 0x01fe03fc, 0x01fe03fd, 0x01fe03fe, 0x01fe03ff, +0x01fe0400, 0x01fe0401, 0x01fe0402, 0x01fe0403, 0x01fe0404, 0x01fe0405, 0x01fe0406, 0x01fe0407, +0x01fe04f8, 0x01fe04f9, 0x01fe04fa, 0x01fe04fb, 0x01fe04fc, 0x01fe04fd, 0x01fe04fe, 0x01fe04ff, +0x01fe0500, 0x01fe0501, 0x01fe0502, 0x01fe0503, 0x01fe0504, 0x01fe0505, 0x01fe0506, 0x01fe0507, +0x01fe05f8, 0x01fe05f9, 0x01fe05fa, 0x01fe05fb, 0x01fe05fc, 0x01fe05fd, 0x01fe05fe, 0x01fe05ff, +0x01fe0600, 0x01fe0601, 0x01fe0602, 0x01fe0603, 0x01fe0604, 0x01fe0605, 0x01fe0606, 0x01fe0607, +0x01fe06f8, 0x01fe06f9, 0x01fe06fa, 0x01fe06fb, 0x01fe06fc, 0x01fe06fd, 0x01fe06fe, 0x01fe06ff, +0x01fe0700, 0x01fe0701, 0x01fe0702, 0x01fe0703, 0x01fe0704, 0x01fe0705, 0x01fe0706, 0x01fe0707, +0x01fe07f8, 0x01fe07f9, 0x01fe07fa, 0x01fe07fb, 0x01fe07fc, 0x01fe07fd, 0x01fe07fe, 0x01fe07ff, +0x01fef800, 0x01fef801, 0x01fef802, 0x01fef803, 0x01fef804, 0x01fef805, 0x01fef806, 0x01fef807, +0x01fef8f8, 0x01fef8f9, 0x01fef8fa, 0x01fef8fb, 0x01fef8fc, 0x01fef8fd, 0x01fef8fe, 0x01fef8ff, +0x01fef900, 0x01fef901, 0x01fef902, 0x01fef903, 0x01fef904, 0x01fef905, 0x01fef906, 0x01fef907, +0x01fef9f8, 0x01fef9f9, 0x01fef9fa, 0x01fef9fb, 0x01fef9fc, 0x01fef9fd, 0x01fef9fe, 0x01fef9ff, +0x01fefa00, 0x01fefa01, 0x01fefa02, 0x01fefa03, 0x01fefa04, 0x01fefa05, 0x01fefa06, 0x01fefa07, +0x01fefaf8, 0x01fefaf9, 0x01fefafa, 0x01fefafb, 0x01fefafc, 0x01fefafd, 0x01fefafe, 0x01fefaff, +0x01fefb00, 0x01fefb01, 0x01fefb02, 0x01fefb03, 0x01fefb04, 0x01fefb05, 0x01fefb06, 0x01fefb07, +0x01fefbf8, 0x01fefbf9, 0x01fefbfa, 0x01fefbfb, 0x01fefbfc, 0x01fefbfd, 0x01fefbfe, 0x01fefbff, +0x01fefc00, 0x01fefc01, 0x01fefc02, 0x01fefc03, 0x01fefc04, 0x01fefc05, 0x01fefc06, 0x01fefc07, +0x01fefcf8, 0x01fefcf9, 0x01fefcfa, 0x01fefcfb, 0x01fefcfc, 0x01fefcfd, 0x01fefcfe, 0x01fefcff, +0x01fefd00, 0x01fefd01, 0x01fefd02, 0x01fefd03, 0x01fefd04, 0x01fefd05, 0x01fefd06, 0x01fefd07, +0x01fefdf8, 0x01fefdf9, 0x01fefdfa, 0x01fefdfb, 0x01fefdfc, 0x01fefdfd, 0x01fefdfe, 0x01fefdff, +0x01fefe00, 0x01fefe01, 0x01fefe02, 0x01fefe03, 0x01fefe04, 0x01fefe05, 0x01fefe06, 0x01fefe07, +0x01fefef8, 0x01fefef9, 0x01fefefa, 0x01fefefb, 0x01fefefc, 0x01fefefd, 0x01fefefe, 0x01fefeff, +0x01feff00, 0x01feff01, 0x01feff02, 0x01feff03, 0x01feff04, 0x01feff05, 0x01feff06, 0x01feff07, +0x01fefff8, 0x01fefff9, 0x01fefffa, 0x01fefffb, 0x01fefffc, 0x01fefffd, 0x01fefffe, 0x01feffff, +0x01ff0000, 0x01ff0001, 0x01ff0002, 0x01ff0003, 0x01ff0004, 0x01ff0005, 0x01ff0006, 0x01ff0007, +0x01ff00f8, 0x01ff00f9, 0x01ff00fa, 0x01ff00fb, 0x01ff00fc, 0x01ff00fd, 0x01ff00fe, 0x01ff00ff, +0x01ff0100, 0x01ff0101, 0x01ff0102, 0x01ff0103, 0x01ff0104, 0x01ff0105, 0x01ff0106, 0x01ff0107, +0x01ff01f8, 0x01ff01f9, 0x01ff01fa, 0x01ff01fb, 0x01ff01fc, 0x01ff01fd, 0x01ff01fe, 0x01ff01ff, +0x01ff0200, 0x01ff0201, 0x01ff0202, 0x01ff0203, 0x01ff0204, 0x01ff0205, 0x01ff0206, 0x01ff0207, +0x01ff02f8, 0x01ff02f9, 0x01ff02fa, 0x01ff02fb, 0x01ff02fc, 0x01ff02fd, 0x01ff02fe, 0x01ff02ff, +0x01ff0300, 0x01ff0301, 0x01ff0302, 0x01ff0303, 0x01ff0304, 0x01ff0305, 0x01ff0306, 0x01ff0307, +0x01ff03f8, 0x01ff03f9, 0x01ff03fa, 0x01ff03fb, 0x01ff03fc, 0x01ff03fd, 0x01ff03fe, 0x01ff03ff, +0x01ff0400, 0x01ff0401, 0x01ff0402, 0x01ff0403, 0x01ff0404, 0x01ff0405, 0x01ff0406, 0x01ff0407, +0x01ff04f8, 0x01ff04f9, 0x01ff04fa, 0x01ff04fb, 0x01ff04fc, 0x01ff04fd, 0x01ff04fe, 0x01ff04ff, +0x01ff0500, 0x01ff0501, 0x01ff0502, 0x01ff0503, 0x01ff0504, 0x01ff0505, 0x01ff0506, 0x01ff0507, +0x01ff05f8, 0x01ff05f9, 0x01ff05fa, 0x01ff05fb, 0x01ff05fc, 0x01ff05fd, 0x01ff05fe, 0x01ff05ff, +0x01ff0600, 0x01ff0601, 0x01ff0602, 0x01ff0603, 0x01ff0604, 0x01ff0605, 0x01ff0606, 0x01ff0607, +0x01ff06f8, 0x01ff06f9, 0x01ff06fa, 0x01ff06fb, 0x01ff06fc, 0x01ff06fd, 0x01ff06fe, 0x01ff06ff, +0x01ff0700, 0x01ff0701, 0x01ff0702, 0x01ff0703, 0x01ff0704, 0x01ff0705, 0x01ff0706, 0x01ff0707, +0x01ff07f8, 0x01ff07f9, 0x01ff07fa, 0x01ff07fb, 0x01ff07fc, 0x01ff07fd, 0x01ff07fe, 0x01ff07ff, +0x01fff800, 0x01fff801, 0x01fff802, 0x01fff803, 0x01fff804, 0x01fff805, 0x01fff806, 0x01fff807, +0x01fff8f8, 0x01fff8f9, 0x01fff8fa, 0x01fff8fb, 0x01fff8fc, 0x01fff8fd, 0x01fff8fe, 0x01fff8ff, +0x01fff900, 0x01fff901, 0x01fff902, 0x01fff903, 0x01fff904, 0x01fff905, 0x01fff906, 0x01fff907, +0x01fff9f8, 0x01fff9f9, 0x01fff9fa, 0x01fff9fb, 0x01fff9fc, 0x01fff9fd, 0x01fff9fe, 0x01fff9ff, +0x01fffa00, 0x01fffa01, 0x01fffa02, 0x01fffa03, 0x01fffa04, 0x01fffa05, 0x01fffa06, 0x01fffa07, +0x01fffaf8, 0x01fffaf9, 0x01fffafa, 0x01fffafb, 0x01fffafc, 0x01fffafd, 0x01fffafe, 0x01fffaff, +0x01fffb00, 0x01fffb01, 0x01fffb02, 0x01fffb03, 0x01fffb04, 0x01fffb05, 0x01fffb06, 0x01fffb07, +0x01fffbf8, 0x01fffbf9, 0x01fffbfa, 0x01fffbfb, 0x01fffbfc, 0x01fffbfd, 0x01fffbfe, 0x01fffbff, +0x01fffc00, 0x01fffc01, 0x01fffc02, 0x01fffc03, 0x01fffc04, 0x01fffc05, 0x01fffc06, 0x01fffc07, +0x01fffcf8, 0x01fffcf9, 0x01fffcfa, 0x01fffcfb, 0x01fffcfc, 0x01fffcfd, 0x01fffcfe, 0x01fffcff, +0x01fffd00, 0x01fffd01, 0x01fffd02, 0x01fffd03, 0x01fffd04, 0x01fffd05, 0x01fffd06, 0x01fffd07, +0x01fffdf8, 0x01fffdf9, 0x01fffdfa, 0x01fffdfb, 0x01fffdfc, 0x01fffdfd, 0x01fffdfe, 0x01fffdff, +0x01fffe00, 0x01fffe01, 0x01fffe02, 0x01fffe03, 0x01fffe04, 0x01fffe05, 0x01fffe06, 0x01fffe07, +0x01fffef8, 0x01fffef9, 0x01fffefa, 0x01fffefb, 0x01fffefc, 0x01fffefd, 0x01fffefe, 0x01fffeff, +0x01ffff00, 0x01ffff01, 0x01ffff02, 0x01ffff03, 0x01ffff04, 0x01ffff05, 0x01ffff06, 0x01ffff07, +0x01fffff8, 0x01fffff9, 0x01fffffa, 0x01fffffb, 0x01fffffc, 0x01fffffd, 0x01fffffe, 0x01ffffff, +0x02000000, 0x02000001, 0x02000002, 0x02000003, 0x02000004, 0x02000005, 0x02000006, 0x02000007, +0x020000f8, 0x020000f9, 0x020000fa, 0x020000fb, 0x020000fc, 0x020000fd, 0x020000fe, 0x020000ff, +0x02000100, 0x02000101, 0x02000102, 0x02000103, 0x02000104, 0x02000105, 0x02000106, 0x02000107, +0x020001f8, 0x020001f9, 0x020001fa, 0x020001fb, 0x020001fc, 0x020001fd, 0x020001fe, 0x020001ff, +0x02000200, 0x02000201, 0x02000202, 0x02000203, 0x02000204, 0x02000205, 0x02000206, 0x02000207, +0x020002f8, 0x020002f9, 0x020002fa, 0x020002fb, 0x020002fc, 0x020002fd, 0x020002fe, 0x020002ff, +0x02000300, 0x02000301, 0x02000302, 0x02000303, 0x02000304, 0x02000305, 0x02000306, 0x02000307, +0x020003f8, 0x020003f9, 0x020003fa, 0x020003fb, 0x020003fc, 0x020003fd, 0x020003fe, 0x020003ff, +0x02000400, 0x02000401, 0x02000402, 0x02000403, 0x02000404, 0x02000405, 0x02000406, 0x02000407, +0x020004f8, 0x020004f9, 0x020004fa, 0x020004fb, 0x020004fc, 0x020004fd, 0x020004fe, 0x020004ff, +0x02000500, 0x02000501, 0x02000502, 0x02000503, 0x02000504, 0x02000505, 0x02000506, 0x02000507, +0x020005f8, 0x020005f9, 0x020005fa, 0x020005fb, 0x020005fc, 0x020005fd, 0x020005fe, 0x020005ff, +0x02000600, 0x02000601, 0x02000602, 0x02000603, 0x02000604, 0x02000605, 0x02000606, 0x02000607, +0x020006f8, 0x020006f9, 0x020006fa, 0x020006fb, 0x020006fc, 0x020006fd, 0x020006fe, 0x020006ff, +0x02000700, 0x02000701, 0x02000702, 0x02000703, 0x02000704, 0x02000705, 0x02000706, 0x02000707, +0x020007f8, 0x020007f9, 0x020007fa, 0x020007fb, 0x020007fc, 0x020007fd, 0x020007fe, 0x020007ff, +0x0200f800, 0x0200f801, 0x0200f802, 0x0200f803, 0x0200f804, 0x0200f805, 0x0200f806, 0x0200f807, +0x0200f8f8, 0x0200f8f9, 0x0200f8fa, 0x0200f8fb, 0x0200f8fc, 0x0200f8fd, 0x0200f8fe, 0x0200f8ff, +0x0200f900, 0x0200f901, 0x0200f902, 0x0200f903, 0x0200f904, 0x0200f905, 0x0200f906, 0x0200f907, +0x0200f9f8, 0x0200f9f9, 0x0200f9fa, 0x0200f9fb, 0x0200f9fc, 0x0200f9fd, 0x0200f9fe, 0x0200f9ff, +0x0200fa00, 0x0200fa01, 0x0200fa02, 0x0200fa03, 0x0200fa04, 0x0200fa05, 0x0200fa06, 0x0200fa07, +0x0200faf8, 0x0200faf9, 0x0200fafa, 0x0200fafb, 0x0200fafc, 0x0200fafd, 0x0200fafe, 0x0200faff, +0x0200fb00, 0x0200fb01, 0x0200fb02, 0x0200fb03, 0x0200fb04, 0x0200fb05, 0x0200fb06, 0x0200fb07, +0x0200fbf8, 0x0200fbf9, 0x0200fbfa, 0x0200fbfb, 0x0200fbfc, 0x0200fbfd, 0x0200fbfe, 0x0200fbff, +0x0200fc00, 0x0200fc01, 0x0200fc02, 0x0200fc03, 0x0200fc04, 0x0200fc05, 0x0200fc06, 0x0200fc07, +0x0200fcf8, 0x0200fcf9, 0x0200fcfa, 0x0200fcfb, 0x0200fcfc, 0x0200fcfd, 0x0200fcfe, 0x0200fcff, +0x0200fd00, 0x0200fd01, 0x0200fd02, 0x0200fd03, 0x0200fd04, 0x0200fd05, 0x0200fd06, 0x0200fd07, +0x0200fdf8, 0x0200fdf9, 0x0200fdfa, 0x0200fdfb, 0x0200fdfc, 0x0200fdfd, 0x0200fdfe, 0x0200fdff, +0x0200fe00, 0x0200fe01, 0x0200fe02, 0x0200fe03, 0x0200fe04, 0x0200fe05, 0x0200fe06, 0x0200fe07, +0x0200fef8, 0x0200fef9, 0x0200fefa, 0x0200fefb, 0x0200fefc, 0x0200fefd, 0x0200fefe, 0x0200feff, +0x0200ff00, 0x0200ff01, 0x0200ff02, 0x0200ff03, 0x0200ff04, 0x0200ff05, 0x0200ff06, 0x0200ff07, +0x0200fff8, 0x0200fff9, 0x0200fffa, 0x0200fffb, 0x0200fffc, 0x0200fffd, 0x0200fffe, 0x0200ffff, +0x02010000, 0x02010001, 0x02010002, 0x02010003, 0x02010004, 0x02010005, 0x02010006, 0x02010007, +0x020100f8, 0x020100f9, 0x020100fa, 0x020100fb, 0x020100fc, 0x020100fd, 0x020100fe, 0x020100ff, +0x02010100, 0x02010101, 0x02010102, 0x02010103, 0x02010104, 0x02010105, 0x02010106, 0x02010107, +0x020101f8, 0x020101f9, 0x020101fa, 0x020101fb, 0x020101fc, 0x020101fd, 0x020101fe, 0x020101ff, +0x02010200, 0x02010201, 0x02010202, 0x02010203, 0x02010204, 0x02010205, 0x02010206, 0x02010207, +0x020102f8, 0x020102f9, 0x020102fa, 0x020102fb, 0x020102fc, 0x020102fd, 0x020102fe, 0x020102ff, +0x02010300, 0x02010301, 0x02010302, 0x02010303, 0x02010304, 0x02010305, 0x02010306, 0x02010307, +0x020103f8, 0x020103f9, 0x020103fa, 0x020103fb, 0x020103fc, 0x020103fd, 0x020103fe, 0x020103ff, +0x02010400, 0x02010401, 0x02010402, 0x02010403, 0x02010404, 0x02010405, 0x02010406, 0x02010407, +0x020104f8, 0x020104f9, 0x020104fa, 0x020104fb, 0x020104fc, 0x020104fd, 0x020104fe, 0x020104ff, +0x02010500, 0x02010501, 0x02010502, 0x02010503, 0x02010504, 0x02010505, 0x02010506, 0x02010507, +0x020105f8, 0x020105f9, 0x020105fa, 0x020105fb, 0x020105fc, 0x020105fd, 0x020105fe, 0x020105ff, +0x02010600, 0x02010601, 0x02010602, 0x02010603, 0x02010604, 0x02010605, 0x02010606, 0x02010607, +0x020106f8, 0x020106f9, 0x020106fa, 0x020106fb, 0x020106fc, 0x020106fd, 0x020106fe, 0x020106ff, +0x02010700, 0x02010701, 0x02010702, 0x02010703, 0x02010704, 0x02010705, 0x02010706, 0x02010707, +0x020107f8, 0x020107f9, 0x020107fa, 0x020107fb, 0x020107fc, 0x020107fd, 0x020107fe, 0x020107ff, +0x0201f800, 0x0201f801, 0x0201f802, 0x0201f803, 0x0201f804, 0x0201f805, 0x0201f806, 0x0201f807, +0x0201f8f8, 0x0201f8f9, 0x0201f8fa, 0x0201f8fb, 0x0201f8fc, 0x0201f8fd, 0x0201f8fe, 0x0201f8ff, +0x0201f900, 0x0201f901, 0x0201f902, 0x0201f903, 0x0201f904, 0x0201f905, 0x0201f906, 0x0201f907, +0x0201f9f8, 0x0201f9f9, 0x0201f9fa, 0x0201f9fb, 0x0201f9fc, 0x0201f9fd, 0x0201f9fe, 0x0201f9ff, +0x0201fa00, 0x0201fa01, 0x0201fa02, 0x0201fa03, 0x0201fa04, 0x0201fa05, 0x0201fa06, 0x0201fa07, +0x0201faf8, 0x0201faf9, 0x0201fafa, 0x0201fafb, 0x0201fafc, 0x0201fafd, 0x0201fafe, 0x0201faff, +0x0201fb00, 0x0201fb01, 0x0201fb02, 0x0201fb03, 0x0201fb04, 0x0201fb05, 0x0201fb06, 0x0201fb07, +0x0201fbf8, 0x0201fbf9, 0x0201fbfa, 0x0201fbfb, 0x0201fbfc, 0x0201fbfd, 0x0201fbfe, 0x0201fbff, +0x0201fc00, 0x0201fc01, 0x0201fc02, 0x0201fc03, 0x0201fc04, 0x0201fc05, 0x0201fc06, 0x0201fc07, +0x0201fcf8, 0x0201fcf9, 0x0201fcfa, 0x0201fcfb, 0x0201fcfc, 0x0201fcfd, 0x0201fcfe, 0x0201fcff, +0x0201fd00, 0x0201fd01, 0x0201fd02, 0x0201fd03, 0x0201fd04, 0x0201fd05, 0x0201fd06, 0x0201fd07, +0x0201fdf8, 0x0201fdf9, 0x0201fdfa, 0x0201fdfb, 0x0201fdfc, 0x0201fdfd, 0x0201fdfe, 0x0201fdff, +0x0201fe00, 0x0201fe01, 0x0201fe02, 0x0201fe03, 0x0201fe04, 0x0201fe05, 0x0201fe06, 0x0201fe07, +0x0201fef8, 0x0201fef9, 0x0201fefa, 0x0201fefb, 0x0201fefc, 0x0201fefd, 0x0201fefe, 0x0201feff, +0x0201ff00, 0x0201ff01, 0x0201ff02, 0x0201ff03, 0x0201ff04, 0x0201ff05, 0x0201ff06, 0x0201ff07, +0x0201fff8, 0x0201fff9, 0x0201fffa, 0x0201fffb, 0x0201fffc, 0x0201fffd, 0x0201fffe, 0x0201ffff, +0x02020000, 0x02020001, 0x02020002, 0x02020003, 0x02020004, 0x02020005, 0x02020006, 0x02020007, +0x020200f8, 0x020200f9, 0x020200fa, 0x020200fb, 0x020200fc, 0x020200fd, 0x020200fe, 0x020200ff, +0x02020100, 0x02020101, 0x02020102, 0x02020103, 0x02020104, 0x02020105, 0x02020106, 0x02020107, +0x020201f8, 0x020201f9, 0x020201fa, 0x020201fb, 0x020201fc, 0x020201fd, 0x020201fe, 0x020201ff, +0x02020200, 0x02020201, 0x02020202, 0x02020203, 0x02020204, 0x02020205, 0x02020206, 0x02020207, +0x020202f8, 0x020202f9, 0x020202fa, 0x020202fb, 0x020202fc, 0x020202fd, 0x020202fe, 0x020202ff, +0x02020300, 0x02020301, 0x02020302, 0x02020303, 0x02020304, 0x02020305, 0x02020306, 0x02020307, +0x020203f8, 0x020203f9, 0x020203fa, 0x020203fb, 0x020203fc, 0x020203fd, 0x020203fe, 0x020203ff, +0x02020400, 0x02020401, 0x02020402, 0x02020403, 0x02020404, 0x02020405, 0x02020406, 0x02020407, +0x020204f8, 0x020204f9, 0x020204fa, 0x020204fb, 0x020204fc, 0x020204fd, 0x020204fe, 0x020204ff, +0x02020500, 0x02020501, 0x02020502, 0x02020503, 0x02020504, 0x02020505, 0x02020506, 0x02020507, +0x020205f8, 0x020205f9, 0x020205fa, 0x020205fb, 0x020205fc, 0x020205fd, 0x020205fe, 0x020205ff, +0x02020600, 0x02020601, 0x02020602, 0x02020603, 0x02020604, 0x02020605, 0x02020606, 0x02020607, +0x020206f8, 0x020206f9, 0x020206fa, 0x020206fb, 0x020206fc, 0x020206fd, 0x020206fe, 0x020206ff, +0x02020700, 0x02020701, 0x02020702, 0x02020703, 0x02020704, 0x02020705, 0x02020706, 0x02020707, +0x020207f8, 0x020207f9, 0x020207fa, 0x020207fb, 0x020207fc, 0x020207fd, 0x020207fe, 0x020207ff, +0x0202f800, 0x0202f801, 0x0202f802, 0x0202f803, 0x0202f804, 0x0202f805, 0x0202f806, 0x0202f807, +0x0202f8f8, 0x0202f8f9, 0x0202f8fa, 0x0202f8fb, 0x0202f8fc, 0x0202f8fd, 0x0202f8fe, 0x0202f8ff, +0x0202f900, 0x0202f901, 0x0202f902, 0x0202f903, 0x0202f904, 0x0202f905, 0x0202f906, 0x0202f907, +0x0202f9f8, 0x0202f9f9, 0x0202f9fa, 0x0202f9fb, 0x0202f9fc, 0x0202f9fd, 0x0202f9fe, 0x0202f9ff, +0x0202fa00, 0x0202fa01, 0x0202fa02, 0x0202fa03, 0x0202fa04, 0x0202fa05, 0x0202fa06, 0x0202fa07, +0x0202faf8, 0x0202faf9, 0x0202fafa, 0x0202fafb, 0x0202fafc, 0x0202fafd, 0x0202fafe, 0x0202faff, +0x0202fb00, 0x0202fb01, 0x0202fb02, 0x0202fb03, 0x0202fb04, 0x0202fb05, 0x0202fb06, 0x0202fb07, +0x0202fbf8, 0x0202fbf9, 0x0202fbfa, 0x0202fbfb, 0x0202fbfc, 0x0202fbfd, 0x0202fbfe, 0x0202fbff, +0x0202fc00, 0x0202fc01, 0x0202fc02, 0x0202fc03, 0x0202fc04, 0x0202fc05, 0x0202fc06, 0x0202fc07, +0x0202fcf8, 0x0202fcf9, 0x0202fcfa, 0x0202fcfb, 0x0202fcfc, 0x0202fcfd, 0x0202fcfe, 0x0202fcff, +0x0202fd00, 0x0202fd01, 0x0202fd02, 0x0202fd03, 0x0202fd04, 0x0202fd05, 0x0202fd06, 0x0202fd07, +0x0202fdf8, 0x0202fdf9, 0x0202fdfa, 0x0202fdfb, 0x0202fdfc, 0x0202fdfd, 0x0202fdfe, 0x0202fdff, +0x0202fe00, 0x0202fe01, 0x0202fe02, 0x0202fe03, 0x0202fe04, 0x0202fe05, 0x0202fe06, 0x0202fe07, +0x0202fef8, 0x0202fef9, 0x0202fefa, 0x0202fefb, 0x0202fefc, 0x0202fefd, 0x0202fefe, 0x0202feff, +0x0202ff00, 0x0202ff01, 0x0202ff02, 0x0202ff03, 0x0202ff04, 0x0202ff05, 0x0202ff06, 0x0202ff07, +0x0202fff8, 0x0202fff9, 0x0202fffa, 0x0202fffb, 0x0202fffc, 0x0202fffd, 0x0202fffe, 0x0202ffff, +0x02030000, 0x02030001, 0x02030002, 0x02030003, 0x02030004, 0x02030005, 0x02030006, 0x02030007, +0x020300f8, 0x020300f9, 0x020300fa, 0x020300fb, 0x020300fc, 0x020300fd, 0x020300fe, 0x020300ff, +0x02030100, 0x02030101, 0x02030102, 0x02030103, 0x02030104, 0x02030105, 0x02030106, 0x02030107, +0x020301f8, 0x020301f9, 0x020301fa, 0x020301fb, 0x020301fc, 0x020301fd, 0x020301fe, 0x020301ff, +0x02030200, 0x02030201, 0x02030202, 0x02030203, 0x02030204, 0x02030205, 0x02030206, 0x02030207, +0x020302f8, 0x020302f9, 0x020302fa, 0x020302fb, 0x020302fc, 0x020302fd, 0x020302fe, 0x020302ff, +0x02030300, 0x02030301, 0x02030302, 0x02030303, 0x02030304, 0x02030305, 0x02030306, 0x02030307, +0x020303f8, 0x020303f9, 0x020303fa, 0x020303fb, 0x020303fc, 0x020303fd, 0x020303fe, 0x020303ff, +0x02030400, 0x02030401, 0x02030402, 0x02030403, 0x02030404, 0x02030405, 0x02030406, 0x02030407, +0x020304f8, 0x020304f9, 0x020304fa, 0x020304fb, 0x020304fc, 0x020304fd, 0x020304fe, 0x020304ff, +0x02030500, 0x02030501, 0x02030502, 0x02030503, 0x02030504, 0x02030505, 0x02030506, 0x02030507, +0x020305f8, 0x020305f9, 0x020305fa, 0x020305fb, 0x020305fc, 0x020305fd, 0x020305fe, 0x020305ff, +0x02030600, 0x02030601, 0x02030602, 0x02030603, 0x02030604, 0x02030605, 0x02030606, 0x02030607, +0x020306f8, 0x020306f9, 0x020306fa, 0x020306fb, 0x020306fc, 0x020306fd, 0x020306fe, 0x020306ff, +0x02030700, 0x02030701, 0x02030702, 0x02030703, 0x02030704, 0x02030705, 0x02030706, 0x02030707, +0x020307f8, 0x020307f9, 0x020307fa, 0x020307fb, 0x020307fc, 0x020307fd, 0x020307fe, 0x020307ff, +0x0203f800, 0x0203f801, 0x0203f802, 0x0203f803, 0x0203f804, 0x0203f805, 0x0203f806, 0x0203f807, +0x0203f8f8, 0x0203f8f9, 0x0203f8fa, 0x0203f8fb, 0x0203f8fc, 0x0203f8fd, 0x0203f8fe, 0x0203f8ff, +0x0203f900, 0x0203f901, 0x0203f902, 0x0203f903, 0x0203f904, 0x0203f905, 0x0203f906, 0x0203f907, +0x0203f9f8, 0x0203f9f9, 0x0203f9fa, 0x0203f9fb, 0x0203f9fc, 0x0203f9fd, 0x0203f9fe, 0x0203f9ff, +0x0203fa00, 0x0203fa01, 0x0203fa02, 0x0203fa03, 0x0203fa04, 0x0203fa05, 0x0203fa06, 0x0203fa07, +0x0203faf8, 0x0203faf9, 0x0203fafa, 0x0203fafb, 0x0203fafc, 0x0203fafd, 0x0203fafe, 0x0203faff, +0x0203fb00, 0x0203fb01, 0x0203fb02, 0x0203fb03, 0x0203fb04, 0x0203fb05, 0x0203fb06, 0x0203fb07, +0x0203fbf8, 0x0203fbf9, 0x0203fbfa, 0x0203fbfb, 0x0203fbfc, 0x0203fbfd, 0x0203fbfe, 0x0203fbff, +0x0203fc00, 0x0203fc01, 0x0203fc02, 0x0203fc03, 0x0203fc04, 0x0203fc05, 0x0203fc06, 0x0203fc07, +0x0203fcf8, 0x0203fcf9, 0x0203fcfa, 0x0203fcfb, 0x0203fcfc, 0x0203fcfd, 0x0203fcfe, 0x0203fcff, +0x0203fd00, 0x0203fd01, 0x0203fd02, 0x0203fd03, 0x0203fd04, 0x0203fd05, 0x0203fd06, 0x0203fd07, +0x0203fdf8, 0x0203fdf9, 0x0203fdfa, 0x0203fdfb, 0x0203fdfc, 0x0203fdfd, 0x0203fdfe, 0x0203fdff, +0x0203fe00, 0x0203fe01, 0x0203fe02, 0x0203fe03, 0x0203fe04, 0x0203fe05, 0x0203fe06, 0x0203fe07, +0x0203fef8, 0x0203fef9, 0x0203fefa, 0x0203fefb, 0x0203fefc, 0x0203fefd, 0x0203fefe, 0x0203feff, +0x0203ff00, 0x0203ff01, 0x0203ff02, 0x0203ff03, 0x0203ff04, 0x0203ff05, 0x0203ff06, 0x0203ff07, +0x0203fff8, 0x0203fff9, 0x0203fffa, 0x0203fffb, 0x0203fffc, 0x0203fffd, 0x0203fffe, 0x0203ffff, +0x02040000, 0x02040001, 0x02040002, 0x02040003, 0x02040004, 0x02040005, 0x02040006, 0x02040007, +0x020400f8, 0x020400f9, 0x020400fa, 0x020400fb, 0x020400fc, 0x020400fd, 0x020400fe, 0x020400ff, +0x02040100, 0x02040101, 0x02040102, 0x02040103, 0x02040104, 0x02040105, 0x02040106, 0x02040107, +0x020401f8, 0x020401f9, 0x020401fa, 0x020401fb, 0x020401fc, 0x020401fd, 0x020401fe, 0x020401ff, +0x02040200, 0x02040201, 0x02040202, 0x02040203, 0x02040204, 0x02040205, 0x02040206, 0x02040207, +0x020402f8, 0x020402f9, 0x020402fa, 0x020402fb, 0x020402fc, 0x020402fd, 0x020402fe, 0x020402ff, +0x02040300, 0x02040301, 0x02040302, 0x02040303, 0x02040304, 0x02040305, 0x02040306, 0x02040307, +0x020403f8, 0x020403f9, 0x020403fa, 0x020403fb, 0x020403fc, 0x020403fd, 0x020403fe, 0x020403ff, +0x02040400, 0x02040401, 0x02040402, 0x02040403, 0x02040404, 0x02040405, 0x02040406, 0x02040407, +0x020404f8, 0x020404f9, 0x020404fa, 0x020404fb, 0x020404fc, 0x020404fd, 0x020404fe, 0x020404ff, +0x02040500, 0x02040501, 0x02040502, 0x02040503, 0x02040504, 0x02040505, 0x02040506, 0x02040507, +0x020405f8, 0x020405f9, 0x020405fa, 0x020405fb, 0x020405fc, 0x020405fd, 0x020405fe, 0x020405ff, +0x02040600, 0x02040601, 0x02040602, 0x02040603, 0x02040604, 0x02040605, 0x02040606, 0x02040607, +0x020406f8, 0x020406f9, 0x020406fa, 0x020406fb, 0x020406fc, 0x020406fd, 0x020406fe, 0x020406ff, +0x02040700, 0x02040701, 0x02040702, 0x02040703, 0x02040704, 0x02040705, 0x02040706, 0x02040707, +0x020407f8, 0x020407f9, 0x020407fa, 0x020407fb, 0x020407fc, 0x020407fd, 0x020407fe, 0x020407ff, +0x0204f800, 0x0204f801, 0x0204f802, 0x0204f803, 0x0204f804, 0x0204f805, 0x0204f806, 0x0204f807, +0x0204f8f8, 0x0204f8f9, 0x0204f8fa, 0x0204f8fb, 0x0204f8fc, 0x0204f8fd, 0x0204f8fe, 0x0204f8ff, +0x0204f900, 0x0204f901, 0x0204f902, 0x0204f903, 0x0204f904, 0x0204f905, 0x0204f906, 0x0204f907, +0x0204f9f8, 0x0204f9f9, 0x0204f9fa, 0x0204f9fb, 0x0204f9fc, 0x0204f9fd, 0x0204f9fe, 0x0204f9ff, +0x0204fa00, 0x0204fa01, 0x0204fa02, 0x0204fa03, 0x0204fa04, 0x0204fa05, 0x0204fa06, 0x0204fa07, +0x0204faf8, 0x0204faf9, 0x0204fafa, 0x0204fafb, 0x0204fafc, 0x0204fafd, 0x0204fafe, 0x0204faff, +0x0204fb00, 0x0204fb01, 0x0204fb02, 0x0204fb03, 0x0204fb04, 0x0204fb05, 0x0204fb06, 0x0204fb07, +0x0204fbf8, 0x0204fbf9, 0x0204fbfa, 0x0204fbfb, 0x0204fbfc, 0x0204fbfd, 0x0204fbfe, 0x0204fbff, +0x0204fc00, 0x0204fc01, 0x0204fc02, 0x0204fc03, 0x0204fc04, 0x0204fc05, 0x0204fc06, 0x0204fc07, +0x0204fcf8, 0x0204fcf9, 0x0204fcfa, 0x0204fcfb, 0x0204fcfc, 0x0204fcfd, 0x0204fcfe, 0x0204fcff, +0x0204fd00, 0x0204fd01, 0x0204fd02, 0x0204fd03, 0x0204fd04, 0x0204fd05, 0x0204fd06, 0x0204fd07, +0x0204fdf8, 0x0204fdf9, 0x0204fdfa, 0x0204fdfb, 0x0204fdfc, 0x0204fdfd, 0x0204fdfe, 0x0204fdff, +0x0204fe00, 0x0204fe01, 0x0204fe02, 0x0204fe03, 0x0204fe04, 0x0204fe05, 0x0204fe06, 0x0204fe07, +0x0204fef8, 0x0204fef9, 0x0204fefa, 0x0204fefb, 0x0204fefc, 0x0204fefd, 0x0204fefe, 0x0204feff, +0x0204ff00, 0x0204ff01, 0x0204ff02, 0x0204ff03, 0x0204ff04, 0x0204ff05, 0x0204ff06, 0x0204ff07, +0x0204fff8, 0x0204fff9, 0x0204fffa, 0x0204fffb, 0x0204fffc, 0x0204fffd, 0x0204fffe, 0x0204ffff, +0x02050000, 0x02050001, 0x02050002, 0x02050003, 0x02050004, 0x02050005, 0x02050006, 0x02050007, +0x020500f8, 0x020500f9, 0x020500fa, 0x020500fb, 0x020500fc, 0x020500fd, 0x020500fe, 0x020500ff, +0x02050100, 0x02050101, 0x02050102, 0x02050103, 0x02050104, 0x02050105, 0x02050106, 0x02050107, +0x020501f8, 0x020501f9, 0x020501fa, 0x020501fb, 0x020501fc, 0x020501fd, 0x020501fe, 0x020501ff, +0x02050200, 0x02050201, 0x02050202, 0x02050203, 0x02050204, 0x02050205, 0x02050206, 0x02050207, +0x020502f8, 0x020502f9, 0x020502fa, 0x020502fb, 0x020502fc, 0x020502fd, 0x020502fe, 0x020502ff, +0x02050300, 0x02050301, 0x02050302, 0x02050303, 0x02050304, 0x02050305, 0x02050306, 0x02050307, +0x020503f8, 0x020503f9, 0x020503fa, 0x020503fb, 0x020503fc, 0x020503fd, 0x020503fe, 0x020503ff, +0x02050400, 0x02050401, 0x02050402, 0x02050403, 0x02050404, 0x02050405, 0x02050406, 0x02050407, +0x020504f8, 0x020504f9, 0x020504fa, 0x020504fb, 0x020504fc, 0x020504fd, 0x020504fe, 0x020504ff, +0x02050500, 0x02050501, 0x02050502, 0x02050503, 0x02050504, 0x02050505, 0x02050506, 0x02050507, +0x020505f8, 0x020505f9, 0x020505fa, 0x020505fb, 0x020505fc, 0x020505fd, 0x020505fe, 0x020505ff, +0x02050600, 0x02050601, 0x02050602, 0x02050603, 0x02050604, 0x02050605, 0x02050606, 0x02050607, +0x020506f8, 0x020506f9, 0x020506fa, 0x020506fb, 0x020506fc, 0x020506fd, 0x020506fe, 0x020506ff, +0x02050700, 0x02050701, 0x02050702, 0x02050703, 0x02050704, 0x02050705, 0x02050706, 0x02050707, +0x020507f8, 0x020507f9, 0x020507fa, 0x020507fb, 0x020507fc, 0x020507fd, 0x020507fe, 0x020507ff, +0x0205f800, 0x0205f801, 0x0205f802, 0x0205f803, 0x0205f804, 0x0205f805, 0x0205f806, 0x0205f807, +0x0205f8f8, 0x0205f8f9, 0x0205f8fa, 0x0205f8fb, 0x0205f8fc, 0x0205f8fd, 0x0205f8fe, 0x0205f8ff, +0x0205f900, 0x0205f901, 0x0205f902, 0x0205f903, 0x0205f904, 0x0205f905, 0x0205f906, 0x0205f907, +0x0205f9f8, 0x0205f9f9, 0x0205f9fa, 0x0205f9fb, 0x0205f9fc, 0x0205f9fd, 0x0205f9fe, 0x0205f9ff, +0x0205fa00, 0x0205fa01, 0x0205fa02, 0x0205fa03, 0x0205fa04, 0x0205fa05, 0x0205fa06, 0x0205fa07, +0x0205faf8, 0x0205faf9, 0x0205fafa, 0x0205fafb, 0x0205fafc, 0x0205fafd, 0x0205fafe, 0x0205faff, +0x0205fb00, 0x0205fb01, 0x0205fb02, 0x0205fb03, 0x0205fb04, 0x0205fb05, 0x0205fb06, 0x0205fb07, +0x0205fbf8, 0x0205fbf9, 0x0205fbfa, 0x0205fbfb, 0x0205fbfc, 0x0205fbfd, 0x0205fbfe, 0x0205fbff, +0x0205fc00, 0x0205fc01, 0x0205fc02, 0x0205fc03, 0x0205fc04, 0x0205fc05, 0x0205fc06, 0x0205fc07, +0x0205fcf8, 0x0205fcf9, 0x0205fcfa, 0x0205fcfb, 0x0205fcfc, 0x0205fcfd, 0x0205fcfe, 0x0205fcff, +0x0205fd00, 0x0205fd01, 0x0205fd02, 0x0205fd03, 0x0205fd04, 0x0205fd05, 0x0205fd06, 0x0205fd07, +0x0205fdf8, 0x0205fdf9, 0x0205fdfa, 0x0205fdfb, 0x0205fdfc, 0x0205fdfd, 0x0205fdfe, 0x0205fdff, +0x0205fe00, 0x0205fe01, 0x0205fe02, 0x0205fe03, 0x0205fe04, 0x0205fe05, 0x0205fe06, 0x0205fe07, +0x0205fef8, 0x0205fef9, 0x0205fefa, 0x0205fefb, 0x0205fefc, 0x0205fefd, 0x0205fefe, 0x0205feff, +0x0205ff00, 0x0205ff01, 0x0205ff02, 0x0205ff03, 0x0205ff04, 0x0205ff05, 0x0205ff06, 0x0205ff07, +0x0205fff8, 0x0205fff9, 0x0205fffa, 0x0205fffb, 0x0205fffc, 0x0205fffd, 0x0205fffe, 0x0205ffff, +0x02060000, 0x02060001, 0x02060002, 0x02060003, 0x02060004, 0x02060005, 0x02060006, 0x02060007, +0x020600f8, 0x020600f9, 0x020600fa, 0x020600fb, 0x020600fc, 0x020600fd, 0x020600fe, 0x020600ff, +0x02060100, 0x02060101, 0x02060102, 0x02060103, 0x02060104, 0x02060105, 0x02060106, 0x02060107, +0x020601f8, 0x020601f9, 0x020601fa, 0x020601fb, 0x020601fc, 0x020601fd, 0x020601fe, 0x020601ff, +0x02060200, 0x02060201, 0x02060202, 0x02060203, 0x02060204, 0x02060205, 0x02060206, 0x02060207, +0x020602f8, 0x020602f9, 0x020602fa, 0x020602fb, 0x020602fc, 0x020602fd, 0x020602fe, 0x020602ff, +0x02060300, 0x02060301, 0x02060302, 0x02060303, 0x02060304, 0x02060305, 0x02060306, 0x02060307, +0x020603f8, 0x020603f9, 0x020603fa, 0x020603fb, 0x020603fc, 0x020603fd, 0x020603fe, 0x020603ff, +0x02060400, 0x02060401, 0x02060402, 0x02060403, 0x02060404, 0x02060405, 0x02060406, 0x02060407, +0x020604f8, 0x020604f9, 0x020604fa, 0x020604fb, 0x020604fc, 0x020604fd, 0x020604fe, 0x020604ff, +0x02060500, 0x02060501, 0x02060502, 0x02060503, 0x02060504, 0x02060505, 0x02060506, 0x02060507, +0x020605f8, 0x020605f9, 0x020605fa, 0x020605fb, 0x020605fc, 0x020605fd, 0x020605fe, 0x020605ff, +0x02060600, 0x02060601, 0x02060602, 0x02060603, 0x02060604, 0x02060605, 0x02060606, 0x02060607, +0x020606f8, 0x020606f9, 0x020606fa, 0x020606fb, 0x020606fc, 0x020606fd, 0x020606fe, 0x020606ff, +0x02060700, 0x02060701, 0x02060702, 0x02060703, 0x02060704, 0x02060705, 0x02060706, 0x02060707, +0x020607f8, 0x020607f9, 0x020607fa, 0x020607fb, 0x020607fc, 0x020607fd, 0x020607fe, 0x020607ff, +0x0206f800, 0x0206f801, 0x0206f802, 0x0206f803, 0x0206f804, 0x0206f805, 0x0206f806, 0x0206f807, +0x0206f8f8, 0x0206f8f9, 0x0206f8fa, 0x0206f8fb, 0x0206f8fc, 0x0206f8fd, 0x0206f8fe, 0x0206f8ff, +0x0206f900, 0x0206f901, 0x0206f902, 0x0206f903, 0x0206f904, 0x0206f905, 0x0206f906, 0x0206f907, +0x0206f9f8, 0x0206f9f9, 0x0206f9fa, 0x0206f9fb, 0x0206f9fc, 0x0206f9fd, 0x0206f9fe, 0x0206f9ff, +0x0206fa00, 0x0206fa01, 0x0206fa02, 0x0206fa03, 0x0206fa04, 0x0206fa05, 0x0206fa06, 0x0206fa07, +0x0206faf8, 0x0206faf9, 0x0206fafa, 0x0206fafb, 0x0206fafc, 0x0206fafd, 0x0206fafe, 0x0206faff, +0x0206fb00, 0x0206fb01, 0x0206fb02, 0x0206fb03, 0x0206fb04, 0x0206fb05, 0x0206fb06, 0x0206fb07, +0x0206fbf8, 0x0206fbf9, 0x0206fbfa, 0x0206fbfb, 0x0206fbfc, 0x0206fbfd, 0x0206fbfe, 0x0206fbff, +0x0206fc00, 0x0206fc01, 0x0206fc02, 0x0206fc03, 0x0206fc04, 0x0206fc05, 0x0206fc06, 0x0206fc07, +0x0206fcf8, 0x0206fcf9, 0x0206fcfa, 0x0206fcfb, 0x0206fcfc, 0x0206fcfd, 0x0206fcfe, 0x0206fcff, +0x0206fd00, 0x0206fd01, 0x0206fd02, 0x0206fd03, 0x0206fd04, 0x0206fd05, 0x0206fd06, 0x0206fd07, +0x0206fdf8, 0x0206fdf9, 0x0206fdfa, 0x0206fdfb, 0x0206fdfc, 0x0206fdfd, 0x0206fdfe, 0x0206fdff, +0x0206fe00, 0x0206fe01, 0x0206fe02, 0x0206fe03, 0x0206fe04, 0x0206fe05, 0x0206fe06, 0x0206fe07, +0x0206fef8, 0x0206fef9, 0x0206fefa, 0x0206fefb, 0x0206fefc, 0x0206fefd, 0x0206fefe, 0x0206feff, +0x0206ff00, 0x0206ff01, 0x0206ff02, 0x0206ff03, 0x0206ff04, 0x0206ff05, 0x0206ff06, 0x0206ff07, +0x0206fff8, 0x0206fff9, 0x0206fffa, 0x0206fffb, 0x0206fffc, 0x0206fffd, 0x0206fffe, 0x0206ffff, +0x02070000, 0x02070001, 0x02070002, 0x02070003, 0x02070004, 0x02070005, 0x02070006, 0x02070007, +0x020700f8, 0x020700f9, 0x020700fa, 0x020700fb, 0x020700fc, 0x020700fd, 0x020700fe, 0x020700ff, +0x02070100, 0x02070101, 0x02070102, 0x02070103, 0x02070104, 0x02070105, 0x02070106, 0x02070107, +0x020701f8, 0x020701f9, 0x020701fa, 0x020701fb, 0x020701fc, 0x020701fd, 0x020701fe, 0x020701ff, +0x02070200, 0x02070201, 0x02070202, 0x02070203, 0x02070204, 0x02070205, 0x02070206, 0x02070207, +0x020702f8, 0x020702f9, 0x020702fa, 0x020702fb, 0x020702fc, 0x020702fd, 0x020702fe, 0x020702ff, +0x02070300, 0x02070301, 0x02070302, 0x02070303, 0x02070304, 0x02070305, 0x02070306, 0x02070307, +0x020703f8, 0x020703f9, 0x020703fa, 0x020703fb, 0x020703fc, 0x020703fd, 0x020703fe, 0x020703ff, +0x02070400, 0x02070401, 0x02070402, 0x02070403, 0x02070404, 0x02070405, 0x02070406, 0x02070407, +0x020704f8, 0x020704f9, 0x020704fa, 0x020704fb, 0x020704fc, 0x020704fd, 0x020704fe, 0x020704ff, +0x02070500, 0x02070501, 0x02070502, 0x02070503, 0x02070504, 0x02070505, 0x02070506, 0x02070507, +0x020705f8, 0x020705f9, 0x020705fa, 0x020705fb, 0x020705fc, 0x020705fd, 0x020705fe, 0x020705ff, +0x02070600, 0x02070601, 0x02070602, 0x02070603, 0x02070604, 0x02070605, 0x02070606, 0x02070607, +0x020706f8, 0x020706f9, 0x020706fa, 0x020706fb, 0x020706fc, 0x020706fd, 0x020706fe, 0x020706ff, +0x02070700, 0x02070701, 0x02070702, 0x02070703, 0x02070704, 0x02070705, 0x02070706, 0x02070707, +0x020707f8, 0x020707f9, 0x020707fa, 0x020707fb, 0x020707fc, 0x020707fd, 0x020707fe, 0x020707ff, +0x0207f800, 0x0207f801, 0x0207f802, 0x0207f803, 0x0207f804, 0x0207f805, 0x0207f806, 0x0207f807, +0x0207f8f8, 0x0207f8f9, 0x0207f8fa, 0x0207f8fb, 0x0207f8fc, 0x0207f8fd, 0x0207f8fe, 0x0207f8ff, +0x0207f900, 0x0207f901, 0x0207f902, 0x0207f903, 0x0207f904, 0x0207f905, 0x0207f906, 0x0207f907, +0x0207f9f8, 0x0207f9f9, 0x0207f9fa, 0x0207f9fb, 0x0207f9fc, 0x0207f9fd, 0x0207f9fe, 0x0207f9ff, +0x0207fa00, 0x0207fa01, 0x0207fa02, 0x0207fa03, 0x0207fa04, 0x0207fa05, 0x0207fa06, 0x0207fa07, +0x0207faf8, 0x0207faf9, 0x0207fafa, 0x0207fafb, 0x0207fafc, 0x0207fafd, 0x0207fafe, 0x0207faff, +0x0207fb00, 0x0207fb01, 0x0207fb02, 0x0207fb03, 0x0207fb04, 0x0207fb05, 0x0207fb06, 0x0207fb07, +0x0207fbf8, 0x0207fbf9, 0x0207fbfa, 0x0207fbfb, 0x0207fbfc, 0x0207fbfd, 0x0207fbfe, 0x0207fbff, +0x0207fc00, 0x0207fc01, 0x0207fc02, 0x0207fc03, 0x0207fc04, 0x0207fc05, 0x0207fc06, 0x0207fc07, +0x0207fcf8, 0x0207fcf9, 0x0207fcfa, 0x0207fcfb, 0x0207fcfc, 0x0207fcfd, 0x0207fcfe, 0x0207fcff, +0x0207fd00, 0x0207fd01, 0x0207fd02, 0x0207fd03, 0x0207fd04, 0x0207fd05, 0x0207fd06, 0x0207fd07, +0x0207fdf8, 0x0207fdf9, 0x0207fdfa, 0x0207fdfb, 0x0207fdfc, 0x0207fdfd, 0x0207fdfe, 0x0207fdff, +0x0207fe00, 0x0207fe01, 0x0207fe02, 0x0207fe03, 0x0207fe04, 0x0207fe05, 0x0207fe06, 0x0207fe07, +0x0207fef8, 0x0207fef9, 0x0207fefa, 0x0207fefb, 0x0207fefc, 0x0207fefd, 0x0207fefe, 0x0207feff, +0x0207ff00, 0x0207ff01, 0x0207ff02, 0x0207ff03, 0x0207ff04, 0x0207ff05, 0x0207ff06, 0x0207ff07, +0x0207fff8, 0x0207fff9, 0x0207fffa, 0x0207fffb, 0x0207fffc, 0x0207fffd, 0x0207fffe, 0x0207ffff, +0x02f80000, 0x02f80001, 0x02f80002, 0x02f80003, 0x02f80004, 0x02f80005, 0x02f80006, 0x02f80007, +0x02f800f8, 0x02f800f9, 0x02f800fa, 0x02f800fb, 0x02f800fc, 0x02f800fd, 0x02f800fe, 0x02f800ff, +0x02f80100, 0x02f80101, 0x02f80102, 0x02f80103, 0x02f80104, 0x02f80105, 0x02f80106, 0x02f80107, +0x02f801f8, 0x02f801f9, 0x02f801fa, 0x02f801fb, 0x02f801fc, 0x02f801fd, 0x02f801fe, 0x02f801ff, +0x02f80200, 0x02f80201, 0x02f80202, 0x02f80203, 0x02f80204, 0x02f80205, 0x02f80206, 0x02f80207, +0x02f802f8, 0x02f802f9, 0x02f802fa, 0x02f802fb, 0x02f802fc, 0x02f802fd, 0x02f802fe, 0x02f802ff, +0x02f80300, 0x02f80301, 0x02f80302, 0x02f80303, 0x02f80304, 0x02f80305, 0x02f80306, 0x02f80307, +0x02f803f8, 0x02f803f9, 0x02f803fa, 0x02f803fb, 0x02f803fc, 0x02f803fd, 0x02f803fe, 0x02f803ff, +0x02f80400, 0x02f80401, 0x02f80402, 0x02f80403, 0x02f80404, 0x02f80405, 0x02f80406, 0x02f80407, +0x02f804f8, 0x02f804f9, 0x02f804fa, 0x02f804fb, 0x02f804fc, 0x02f804fd, 0x02f804fe, 0x02f804ff, +0x02f80500, 0x02f80501, 0x02f80502, 0x02f80503, 0x02f80504, 0x02f80505, 0x02f80506, 0x02f80507, +0x02f805f8, 0x02f805f9, 0x02f805fa, 0x02f805fb, 0x02f805fc, 0x02f805fd, 0x02f805fe, 0x02f805ff, +0x02f80600, 0x02f80601, 0x02f80602, 0x02f80603, 0x02f80604, 0x02f80605, 0x02f80606, 0x02f80607, +0x02f806f8, 0x02f806f9, 0x02f806fa, 0x02f806fb, 0x02f806fc, 0x02f806fd, 0x02f806fe, 0x02f806ff, +0x02f80700, 0x02f80701, 0x02f80702, 0x02f80703, 0x02f80704, 0x02f80705, 0x02f80706, 0x02f80707, +0x02f807f8, 0x02f807f9, 0x02f807fa, 0x02f807fb, 0x02f807fc, 0x02f807fd, 0x02f807fe, 0x02f807ff, +0x02f8f800, 0x02f8f801, 0x02f8f802, 0x02f8f803, 0x02f8f804, 0x02f8f805, 0x02f8f806, 0x02f8f807, +0x02f8f8f8, 0x02f8f8f9, 0x02f8f8fa, 0x02f8f8fb, 0x02f8f8fc, 0x02f8f8fd, 0x02f8f8fe, 0x02f8f8ff, +0x02f8f900, 0x02f8f901, 0x02f8f902, 0x02f8f903, 0x02f8f904, 0x02f8f905, 0x02f8f906, 0x02f8f907, +0x02f8f9f8, 0x02f8f9f9, 0x02f8f9fa, 0x02f8f9fb, 0x02f8f9fc, 0x02f8f9fd, 0x02f8f9fe, 0x02f8f9ff, +0x02f8fa00, 0x02f8fa01, 0x02f8fa02, 0x02f8fa03, 0x02f8fa04, 0x02f8fa05, 0x02f8fa06, 0x02f8fa07, +0x02f8faf8, 0x02f8faf9, 0x02f8fafa, 0x02f8fafb, 0x02f8fafc, 0x02f8fafd, 0x02f8fafe, 0x02f8faff, +0x02f8fb00, 0x02f8fb01, 0x02f8fb02, 0x02f8fb03, 0x02f8fb04, 0x02f8fb05, 0x02f8fb06, 0x02f8fb07, +0x02f8fbf8, 0x02f8fbf9, 0x02f8fbfa, 0x02f8fbfb, 0x02f8fbfc, 0x02f8fbfd, 0x02f8fbfe, 0x02f8fbff, +0x02f8fc00, 0x02f8fc01, 0x02f8fc02, 0x02f8fc03, 0x02f8fc04, 0x02f8fc05, 0x02f8fc06, 0x02f8fc07, +0x02f8fcf8, 0x02f8fcf9, 0x02f8fcfa, 0x02f8fcfb, 0x02f8fcfc, 0x02f8fcfd, 0x02f8fcfe, 0x02f8fcff, +0x02f8fd00, 0x02f8fd01, 0x02f8fd02, 0x02f8fd03, 0x02f8fd04, 0x02f8fd05, 0x02f8fd06, 0x02f8fd07, +0x02f8fdf8, 0x02f8fdf9, 0x02f8fdfa, 0x02f8fdfb, 0x02f8fdfc, 0x02f8fdfd, 0x02f8fdfe, 0x02f8fdff, +0x02f8fe00, 0x02f8fe01, 0x02f8fe02, 0x02f8fe03, 0x02f8fe04, 0x02f8fe05, 0x02f8fe06, 0x02f8fe07, +0x02f8fef8, 0x02f8fef9, 0x02f8fefa, 0x02f8fefb, 0x02f8fefc, 0x02f8fefd, 0x02f8fefe, 0x02f8feff, +0x02f8ff00, 0x02f8ff01, 0x02f8ff02, 0x02f8ff03, 0x02f8ff04, 0x02f8ff05, 0x02f8ff06, 0x02f8ff07, +0x02f8fff8, 0x02f8fff9, 0x02f8fffa, 0x02f8fffb, 0x02f8fffc, 0x02f8fffd, 0x02f8fffe, 0x02f8ffff, +0x02f90000, 0x02f90001, 0x02f90002, 0x02f90003, 0x02f90004, 0x02f90005, 0x02f90006, 0x02f90007, +0x02f900f8, 0x02f900f9, 0x02f900fa, 0x02f900fb, 0x02f900fc, 0x02f900fd, 0x02f900fe, 0x02f900ff, +0x02f90100, 0x02f90101, 0x02f90102, 0x02f90103, 0x02f90104, 0x02f90105, 0x02f90106, 0x02f90107, +0x02f901f8, 0x02f901f9, 0x02f901fa, 0x02f901fb, 0x02f901fc, 0x02f901fd, 0x02f901fe, 0x02f901ff, +0x02f90200, 0x02f90201, 0x02f90202, 0x02f90203, 0x02f90204, 0x02f90205, 0x02f90206, 0x02f90207, +0x02f902f8, 0x02f902f9, 0x02f902fa, 0x02f902fb, 0x02f902fc, 0x02f902fd, 0x02f902fe, 0x02f902ff, +0x02f90300, 0x02f90301, 0x02f90302, 0x02f90303, 0x02f90304, 0x02f90305, 0x02f90306, 0x02f90307, +0x02f903f8, 0x02f903f9, 0x02f903fa, 0x02f903fb, 0x02f903fc, 0x02f903fd, 0x02f903fe, 0x02f903ff, +0x02f90400, 0x02f90401, 0x02f90402, 0x02f90403, 0x02f90404, 0x02f90405, 0x02f90406, 0x02f90407, +0x02f904f8, 0x02f904f9, 0x02f904fa, 0x02f904fb, 0x02f904fc, 0x02f904fd, 0x02f904fe, 0x02f904ff, +0x02f90500, 0x02f90501, 0x02f90502, 0x02f90503, 0x02f90504, 0x02f90505, 0x02f90506, 0x02f90507, +0x02f905f8, 0x02f905f9, 0x02f905fa, 0x02f905fb, 0x02f905fc, 0x02f905fd, 0x02f905fe, 0x02f905ff, +0x02f90600, 0x02f90601, 0x02f90602, 0x02f90603, 0x02f90604, 0x02f90605, 0x02f90606, 0x02f90607, +0x02f906f8, 0x02f906f9, 0x02f906fa, 0x02f906fb, 0x02f906fc, 0x02f906fd, 0x02f906fe, 0x02f906ff, +0x02f90700, 0x02f90701, 0x02f90702, 0x02f90703, 0x02f90704, 0x02f90705, 0x02f90706, 0x02f90707, +0x02f907f8, 0x02f907f9, 0x02f907fa, 0x02f907fb, 0x02f907fc, 0x02f907fd, 0x02f907fe, 0x02f907ff, +0x02f9f800, 0x02f9f801, 0x02f9f802, 0x02f9f803, 0x02f9f804, 0x02f9f805, 0x02f9f806, 0x02f9f807, +0x02f9f8f8, 0x02f9f8f9, 0x02f9f8fa, 0x02f9f8fb, 0x02f9f8fc, 0x02f9f8fd, 0x02f9f8fe, 0x02f9f8ff, +0x02f9f900, 0x02f9f901, 0x02f9f902, 0x02f9f903, 0x02f9f904, 0x02f9f905, 0x02f9f906, 0x02f9f907, +0x02f9f9f8, 0x02f9f9f9, 0x02f9f9fa, 0x02f9f9fb, 0x02f9f9fc, 0x02f9f9fd, 0x02f9f9fe, 0x02f9f9ff, +0x02f9fa00, 0x02f9fa01, 0x02f9fa02, 0x02f9fa03, 0x02f9fa04, 0x02f9fa05, 0x02f9fa06, 0x02f9fa07, +0x02f9faf8, 0x02f9faf9, 0x02f9fafa, 0x02f9fafb, 0x02f9fafc, 0x02f9fafd, 0x02f9fafe, 0x02f9faff, +0x02f9fb00, 0x02f9fb01, 0x02f9fb02, 0x02f9fb03, 0x02f9fb04, 0x02f9fb05, 0x02f9fb06, 0x02f9fb07, +0x02f9fbf8, 0x02f9fbf9, 0x02f9fbfa, 0x02f9fbfb, 0x02f9fbfc, 0x02f9fbfd, 0x02f9fbfe, 0x02f9fbff, +0x02f9fc00, 0x02f9fc01, 0x02f9fc02, 0x02f9fc03, 0x02f9fc04, 0x02f9fc05, 0x02f9fc06, 0x02f9fc07, +0x02f9fcf8, 0x02f9fcf9, 0x02f9fcfa, 0x02f9fcfb, 0x02f9fcfc, 0x02f9fcfd, 0x02f9fcfe, 0x02f9fcff, +0x02f9fd00, 0x02f9fd01, 0x02f9fd02, 0x02f9fd03, 0x02f9fd04, 0x02f9fd05, 0x02f9fd06, 0x02f9fd07, +0x02f9fdf8, 0x02f9fdf9, 0x02f9fdfa, 0x02f9fdfb, 0x02f9fdfc, 0x02f9fdfd, 0x02f9fdfe, 0x02f9fdff, +0x02f9fe00, 0x02f9fe01, 0x02f9fe02, 0x02f9fe03, 0x02f9fe04, 0x02f9fe05, 0x02f9fe06, 0x02f9fe07, +0x02f9fef8, 0x02f9fef9, 0x02f9fefa, 0x02f9fefb, 0x02f9fefc, 0x02f9fefd, 0x02f9fefe, 0x02f9feff, +0x02f9ff00, 0x02f9ff01, 0x02f9ff02, 0x02f9ff03, 0x02f9ff04, 0x02f9ff05, 0x02f9ff06, 0x02f9ff07, +0x02f9fff8, 0x02f9fff9, 0x02f9fffa, 0x02f9fffb, 0x02f9fffc, 0x02f9fffd, 0x02f9fffe, 0x02f9ffff, +0x02fa0000, 0x02fa0001, 0x02fa0002, 0x02fa0003, 0x02fa0004, 0x02fa0005, 0x02fa0006, 0x02fa0007, +0x02fa00f8, 0x02fa00f9, 0x02fa00fa, 0x02fa00fb, 0x02fa00fc, 0x02fa00fd, 0x02fa00fe, 0x02fa00ff, +0x02fa0100, 0x02fa0101, 0x02fa0102, 0x02fa0103, 0x02fa0104, 0x02fa0105, 0x02fa0106, 0x02fa0107, +0x02fa01f8, 0x02fa01f9, 0x02fa01fa, 0x02fa01fb, 0x02fa01fc, 0x02fa01fd, 0x02fa01fe, 0x02fa01ff, +0x02fa0200, 0x02fa0201, 0x02fa0202, 0x02fa0203, 0x02fa0204, 0x02fa0205, 0x02fa0206, 0x02fa0207, +0x02fa02f8, 0x02fa02f9, 0x02fa02fa, 0x02fa02fb, 0x02fa02fc, 0x02fa02fd, 0x02fa02fe, 0x02fa02ff, +0x02fa0300, 0x02fa0301, 0x02fa0302, 0x02fa0303, 0x02fa0304, 0x02fa0305, 0x02fa0306, 0x02fa0307, +0x02fa03f8, 0x02fa03f9, 0x02fa03fa, 0x02fa03fb, 0x02fa03fc, 0x02fa03fd, 0x02fa03fe, 0x02fa03ff, +0x02fa0400, 0x02fa0401, 0x02fa0402, 0x02fa0403, 0x02fa0404, 0x02fa0405, 0x02fa0406, 0x02fa0407, +0x02fa04f8, 0x02fa04f9, 0x02fa04fa, 0x02fa04fb, 0x02fa04fc, 0x02fa04fd, 0x02fa04fe, 0x02fa04ff, +0x02fa0500, 0x02fa0501, 0x02fa0502, 0x02fa0503, 0x02fa0504, 0x02fa0505, 0x02fa0506, 0x02fa0507, +0x02fa05f8, 0x02fa05f9, 0x02fa05fa, 0x02fa05fb, 0x02fa05fc, 0x02fa05fd, 0x02fa05fe, 0x02fa05ff, +0x02fa0600, 0x02fa0601, 0x02fa0602, 0x02fa0603, 0x02fa0604, 0x02fa0605, 0x02fa0606, 0x02fa0607, +0x02fa06f8, 0x02fa06f9, 0x02fa06fa, 0x02fa06fb, 0x02fa06fc, 0x02fa06fd, 0x02fa06fe, 0x02fa06ff, +0x02fa0700, 0x02fa0701, 0x02fa0702, 0x02fa0703, 0x02fa0704, 0x02fa0705, 0x02fa0706, 0x02fa0707, +0x02fa07f8, 0x02fa07f9, 0x02fa07fa, 0x02fa07fb, 0x02fa07fc, 0x02fa07fd, 0x02fa07fe, 0x02fa07ff, +0x02faf800, 0x02faf801, 0x02faf802, 0x02faf803, 0x02faf804, 0x02faf805, 0x02faf806, 0x02faf807, +0x02faf8f8, 0x02faf8f9, 0x02faf8fa, 0x02faf8fb, 0x02faf8fc, 0x02faf8fd, 0x02faf8fe, 0x02faf8ff, +0x02faf900, 0x02faf901, 0x02faf902, 0x02faf903, 0x02faf904, 0x02faf905, 0x02faf906, 0x02faf907, +0x02faf9f8, 0x02faf9f9, 0x02faf9fa, 0x02faf9fb, 0x02faf9fc, 0x02faf9fd, 0x02faf9fe, 0x02faf9ff, +0x02fafa00, 0x02fafa01, 0x02fafa02, 0x02fafa03, 0x02fafa04, 0x02fafa05, 0x02fafa06, 0x02fafa07, +0x02fafaf8, 0x02fafaf9, 0x02fafafa, 0x02fafafb, 0x02fafafc, 0x02fafafd, 0x02fafafe, 0x02fafaff, +0x02fafb00, 0x02fafb01, 0x02fafb02, 0x02fafb03, 0x02fafb04, 0x02fafb05, 0x02fafb06, 0x02fafb07, +0x02fafbf8, 0x02fafbf9, 0x02fafbfa, 0x02fafbfb, 0x02fafbfc, 0x02fafbfd, 0x02fafbfe, 0x02fafbff, +0x02fafc00, 0x02fafc01, 0x02fafc02, 0x02fafc03, 0x02fafc04, 0x02fafc05, 0x02fafc06, 0x02fafc07, +0x02fafcf8, 0x02fafcf9, 0x02fafcfa, 0x02fafcfb, 0x02fafcfc, 0x02fafcfd, 0x02fafcfe, 0x02fafcff, +0x02fafd00, 0x02fafd01, 0x02fafd02, 0x02fafd03, 0x02fafd04, 0x02fafd05, 0x02fafd06, 0x02fafd07, +0x02fafdf8, 0x02fafdf9, 0x02fafdfa, 0x02fafdfb, 0x02fafdfc, 0x02fafdfd, 0x02fafdfe, 0x02fafdff, +0x02fafe00, 0x02fafe01, 0x02fafe02, 0x02fafe03, 0x02fafe04, 0x02fafe05, 0x02fafe06, 0x02fafe07, +0x02fafef8, 0x02fafef9, 0x02fafefa, 0x02fafefb, 0x02fafefc, 0x02fafefd, 0x02fafefe, 0x02fafeff, +0x02faff00, 0x02faff01, 0x02faff02, 0x02faff03, 0x02faff04, 0x02faff05, 0x02faff06, 0x02faff07, +0x02fafff8, 0x02fafff9, 0x02fafffa, 0x02fafffb, 0x02fafffc, 0x02fafffd, 0x02fafffe, 0x02faffff, +0x02fb0000, 0x02fb0001, 0x02fb0002, 0x02fb0003, 0x02fb0004, 0x02fb0005, 0x02fb0006, 0x02fb0007, +0x02fb00f8, 0x02fb00f9, 0x02fb00fa, 0x02fb00fb, 0x02fb00fc, 0x02fb00fd, 0x02fb00fe, 0x02fb00ff, +0x02fb0100, 0x02fb0101, 0x02fb0102, 0x02fb0103, 0x02fb0104, 0x02fb0105, 0x02fb0106, 0x02fb0107, +0x02fb01f8, 0x02fb01f9, 0x02fb01fa, 0x02fb01fb, 0x02fb01fc, 0x02fb01fd, 0x02fb01fe, 0x02fb01ff, +0x02fb0200, 0x02fb0201, 0x02fb0202, 0x02fb0203, 0x02fb0204, 0x02fb0205, 0x02fb0206, 0x02fb0207, +0x02fb02f8, 0x02fb02f9, 0x02fb02fa, 0x02fb02fb, 0x02fb02fc, 0x02fb02fd, 0x02fb02fe, 0x02fb02ff, +0x02fb0300, 0x02fb0301, 0x02fb0302, 0x02fb0303, 0x02fb0304, 0x02fb0305, 0x02fb0306, 0x02fb0307, +0x02fb03f8, 0x02fb03f9, 0x02fb03fa, 0x02fb03fb, 0x02fb03fc, 0x02fb03fd, 0x02fb03fe, 0x02fb03ff, +0x02fb0400, 0x02fb0401, 0x02fb0402, 0x02fb0403, 0x02fb0404, 0x02fb0405, 0x02fb0406, 0x02fb0407, +0x02fb04f8, 0x02fb04f9, 0x02fb04fa, 0x02fb04fb, 0x02fb04fc, 0x02fb04fd, 0x02fb04fe, 0x02fb04ff, +0x02fb0500, 0x02fb0501, 0x02fb0502, 0x02fb0503, 0x02fb0504, 0x02fb0505, 0x02fb0506, 0x02fb0507, +0x02fb05f8, 0x02fb05f9, 0x02fb05fa, 0x02fb05fb, 0x02fb05fc, 0x02fb05fd, 0x02fb05fe, 0x02fb05ff, +0x02fb0600, 0x02fb0601, 0x02fb0602, 0x02fb0603, 0x02fb0604, 0x02fb0605, 0x02fb0606, 0x02fb0607, +0x02fb06f8, 0x02fb06f9, 0x02fb06fa, 0x02fb06fb, 0x02fb06fc, 0x02fb06fd, 0x02fb06fe, 0x02fb06ff, +0x02fb0700, 0x02fb0701, 0x02fb0702, 0x02fb0703, 0x02fb0704, 0x02fb0705, 0x02fb0706, 0x02fb0707, +0x02fb07f8, 0x02fb07f9, 0x02fb07fa, 0x02fb07fb, 0x02fb07fc, 0x02fb07fd, 0x02fb07fe, 0x02fb07ff, +0x02fbf800, 0x02fbf801, 0x02fbf802, 0x02fbf803, 0x02fbf804, 0x02fbf805, 0x02fbf806, 0x02fbf807, +0x02fbf8f8, 0x02fbf8f9, 0x02fbf8fa, 0x02fbf8fb, 0x02fbf8fc, 0x02fbf8fd, 0x02fbf8fe, 0x02fbf8ff, +0x02fbf900, 0x02fbf901, 0x02fbf902, 0x02fbf903, 0x02fbf904, 0x02fbf905, 0x02fbf906, 0x02fbf907, +0x02fbf9f8, 0x02fbf9f9, 0x02fbf9fa, 0x02fbf9fb, 0x02fbf9fc, 0x02fbf9fd, 0x02fbf9fe, 0x02fbf9ff, +0x02fbfa00, 0x02fbfa01, 0x02fbfa02, 0x02fbfa03, 0x02fbfa04, 0x02fbfa05, 0x02fbfa06, 0x02fbfa07, +0x02fbfaf8, 0x02fbfaf9, 0x02fbfafa, 0x02fbfafb, 0x02fbfafc, 0x02fbfafd, 0x02fbfafe, 0x02fbfaff, +0x02fbfb00, 0x02fbfb01, 0x02fbfb02, 0x02fbfb03, 0x02fbfb04, 0x02fbfb05, 0x02fbfb06, 0x02fbfb07, +0x02fbfbf8, 0x02fbfbf9, 0x02fbfbfa, 0x02fbfbfb, 0x02fbfbfc, 0x02fbfbfd, 0x02fbfbfe, 0x02fbfbff, +0x02fbfc00, 0x02fbfc01, 0x02fbfc02, 0x02fbfc03, 0x02fbfc04, 0x02fbfc05, 0x02fbfc06, 0x02fbfc07, +0x02fbfcf8, 0x02fbfcf9, 0x02fbfcfa, 0x02fbfcfb, 0x02fbfcfc, 0x02fbfcfd, 0x02fbfcfe, 0x02fbfcff, +0x02fbfd00, 0x02fbfd01, 0x02fbfd02, 0x02fbfd03, 0x02fbfd04, 0x02fbfd05, 0x02fbfd06, 0x02fbfd07, +0x02fbfdf8, 0x02fbfdf9, 0x02fbfdfa, 0x02fbfdfb, 0x02fbfdfc, 0x02fbfdfd, 0x02fbfdfe, 0x02fbfdff, +0x02fbfe00, 0x02fbfe01, 0x02fbfe02, 0x02fbfe03, 0x02fbfe04, 0x02fbfe05, 0x02fbfe06, 0x02fbfe07, +0x02fbfef8, 0x02fbfef9, 0x02fbfefa, 0x02fbfefb, 0x02fbfefc, 0x02fbfefd, 0x02fbfefe, 0x02fbfeff, +0x02fbff00, 0x02fbff01, 0x02fbff02, 0x02fbff03, 0x02fbff04, 0x02fbff05, 0x02fbff06, 0x02fbff07, +0x02fbfff8, 0x02fbfff9, 0x02fbfffa, 0x02fbfffb, 0x02fbfffc, 0x02fbfffd, 0x02fbfffe, 0x02fbffff, +0x02fc0000, 0x02fc0001, 0x02fc0002, 0x02fc0003, 0x02fc0004, 0x02fc0005, 0x02fc0006, 0x02fc0007, +0x02fc00f8, 0x02fc00f9, 0x02fc00fa, 0x02fc00fb, 0x02fc00fc, 0x02fc00fd, 0x02fc00fe, 0x02fc00ff, +0x02fc0100, 0x02fc0101, 0x02fc0102, 0x02fc0103, 0x02fc0104, 0x02fc0105, 0x02fc0106, 0x02fc0107, +0x02fc01f8, 0x02fc01f9, 0x02fc01fa, 0x02fc01fb, 0x02fc01fc, 0x02fc01fd, 0x02fc01fe, 0x02fc01ff, +0x02fc0200, 0x02fc0201, 0x02fc0202, 0x02fc0203, 0x02fc0204, 0x02fc0205, 0x02fc0206, 0x02fc0207, +0x02fc02f8, 0x02fc02f9, 0x02fc02fa, 0x02fc02fb, 0x02fc02fc, 0x02fc02fd, 0x02fc02fe, 0x02fc02ff, +0x02fc0300, 0x02fc0301, 0x02fc0302, 0x02fc0303, 0x02fc0304, 0x02fc0305, 0x02fc0306, 0x02fc0307, +0x02fc03f8, 0x02fc03f9, 0x02fc03fa, 0x02fc03fb, 0x02fc03fc, 0x02fc03fd, 0x02fc03fe, 0x02fc03ff, +0x02fc0400, 0x02fc0401, 0x02fc0402, 0x02fc0403, 0x02fc0404, 0x02fc0405, 0x02fc0406, 0x02fc0407, +0x02fc04f8, 0x02fc04f9, 0x02fc04fa, 0x02fc04fb, 0x02fc04fc, 0x02fc04fd, 0x02fc04fe, 0x02fc04ff, +0x02fc0500, 0x02fc0501, 0x02fc0502, 0x02fc0503, 0x02fc0504, 0x02fc0505, 0x02fc0506, 0x02fc0507, +0x02fc05f8, 0x02fc05f9, 0x02fc05fa, 0x02fc05fb, 0x02fc05fc, 0x02fc05fd, 0x02fc05fe, 0x02fc05ff, +0x02fc0600, 0x02fc0601, 0x02fc0602, 0x02fc0603, 0x02fc0604, 0x02fc0605, 0x02fc0606, 0x02fc0607, +0x02fc06f8, 0x02fc06f9, 0x02fc06fa, 0x02fc06fb, 0x02fc06fc, 0x02fc06fd, 0x02fc06fe, 0x02fc06ff, +0x02fc0700, 0x02fc0701, 0x02fc0702, 0x02fc0703, 0x02fc0704, 0x02fc0705, 0x02fc0706, 0x02fc0707, +0x02fc07f8, 0x02fc07f9, 0x02fc07fa, 0x02fc07fb, 0x02fc07fc, 0x02fc07fd, 0x02fc07fe, 0x02fc07ff, +0x02fcf800, 0x02fcf801, 0x02fcf802, 0x02fcf803, 0x02fcf804, 0x02fcf805, 0x02fcf806, 0x02fcf807, +0x02fcf8f8, 0x02fcf8f9, 0x02fcf8fa, 0x02fcf8fb, 0x02fcf8fc, 0x02fcf8fd, 0x02fcf8fe, 0x02fcf8ff, +0x02fcf900, 0x02fcf901, 0x02fcf902, 0x02fcf903, 0x02fcf904, 0x02fcf905, 0x02fcf906, 0x02fcf907, +0x02fcf9f8, 0x02fcf9f9, 0x02fcf9fa, 0x02fcf9fb, 0x02fcf9fc, 0x02fcf9fd, 0x02fcf9fe, 0x02fcf9ff, +0x02fcfa00, 0x02fcfa01, 0x02fcfa02, 0x02fcfa03, 0x02fcfa04, 0x02fcfa05, 0x02fcfa06, 0x02fcfa07, +0x02fcfaf8, 0x02fcfaf9, 0x02fcfafa, 0x02fcfafb, 0x02fcfafc, 0x02fcfafd, 0x02fcfafe, 0x02fcfaff, +0x02fcfb00, 0x02fcfb01, 0x02fcfb02, 0x02fcfb03, 0x02fcfb04, 0x02fcfb05, 0x02fcfb06, 0x02fcfb07, +0x02fcfbf8, 0x02fcfbf9, 0x02fcfbfa, 0x02fcfbfb, 0x02fcfbfc, 0x02fcfbfd, 0x02fcfbfe, 0x02fcfbff, +0x02fcfc00, 0x02fcfc01, 0x02fcfc02, 0x02fcfc03, 0x02fcfc04, 0x02fcfc05, 0x02fcfc06, 0x02fcfc07, +0x02fcfcf8, 0x02fcfcf9, 0x02fcfcfa, 0x02fcfcfb, 0x02fcfcfc, 0x02fcfcfd, 0x02fcfcfe, 0x02fcfcff, +0x02fcfd00, 0x02fcfd01, 0x02fcfd02, 0x02fcfd03, 0x02fcfd04, 0x02fcfd05, 0x02fcfd06, 0x02fcfd07, +0x02fcfdf8, 0x02fcfdf9, 0x02fcfdfa, 0x02fcfdfb, 0x02fcfdfc, 0x02fcfdfd, 0x02fcfdfe, 0x02fcfdff, +0x02fcfe00, 0x02fcfe01, 0x02fcfe02, 0x02fcfe03, 0x02fcfe04, 0x02fcfe05, 0x02fcfe06, 0x02fcfe07, +0x02fcfef8, 0x02fcfef9, 0x02fcfefa, 0x02fcfefb, 0x02fcfefc, 0x02fcfefd, 0x02fcfefe, 0x02fcfeff, +0x02fcff00, 0x02fcff01, 0x02fcff02, 0x02fcff03, 0x02fcff04, 0x02fcff05, 0x02fcff06, 0x02fcff07, +0x02fcfff8, 0x02fcfff9, 0x02fcfffa, 0x02fcfffb, 0x02fcfffc, 0x02fcfffd, 0x02fcfffe, 0x02fcffff, +0x02fd0000, 0x02fd0001, 0x02fd0002, 0x02fd0003, 0x02fd0004, 0x02fd0005, 0x02fd0006, 0x02fd0007, +0x02fd00f8, 0x02fd00f9, 0x02fd00fa, 0x02fd00fb, 0x02fd00fc, 0x02fd00fd, 0x02fd00fe, 0x02fd00ff, +0x02fd0100, 0x02fd0101, 0x02fd0102, 0x02fd0103, 0x02fd0104, 0x02fd0105, 0x02fd0106, 0x02fd0107, +0x02fd01f8, 0x02fd01f9, 0x02fd01fa, 0x02fd01fb, 0x02fd01fc, 0x02fd01fd, 0x02fd01fe, 0x02fd01ff, +0x02fd0200, 0x02fd0201, 0x02fd0202, 0x02fd0203, 0x02fd0204, 0x02fd0205, 0x02fd0206, 0x02fd0207, +0x02fd02f8, 0x02fd02f9, 0x02fd02fa, 0x02fd02fb, 0x02fd02fc, 0x02fd02fd, 0x02fd02fe, 0x02fd02ff, +0x02fd0300, 0x02fd0301, 0x02fd0302, 0x02fd0303, 0x02fd0304, 0x02fd0305, 0x02fd0306, 0x02fd0307, +0x02fd03f8, 0x02fd03f9, 0x02fd03fa, 0x02fd03fb, 0x02fd03fc, 0x02fd03fd, 0x02fd03fe, 0x02fd03ff, +0x02fd0400, 0x02fd0401, 0x02fd0402, 0x02fd0403, 0x02fd0404, 0x02fd0405, 0x02fd0406, 0x02fd0407, +0x02fd04f8, 0x02fd04f9, 0x02fd04fa, 0x02fd04fb, 0x02fd04fc, 0x02fd04fd, 0x02fd04fe, 0x02fd04ff, +0x02fd0500, 0x02fd0501, 0x02fd0502, 0x02fd0503, 0x02fd0504, 0x02fd0505, 0x02fd0506, 0x02fd0507, +0x02fd05f8, 0x02fd05f9, 0x02fd05fa, 0x02fd05fb, 0x02fd05fc, 0x02fd05fd, 0x02fd05fe, 0x02fd05ff, +0x02fd0600, 0x02fd0601, 0x02fd0602, 0x02fd0603, 0x02fd0604, 0x02fd0605, 0x02fd0606, 0x02fd0607, +0x02fd06f8, 0x02fd06f9, 0x02fd06fa, 0x02fd06fb, 0x02fd06fc, 0x02fd06fd, 0x02fd06fe, 0x02fd06ff, +0x02fd0700, 0x02fd0701, 0x02fd0702, 0x02fd0703, 0x02fd0704, 0x02fd0705, 0x02fd0706, 0x02fd0707, +0x02fd07f8, 0x02fd07f9, 0x02fd07fa, 0x02fd07fb, 0x02fd07fc, 0x02fd07fd, 0x02fd07fe, 0x02fd07ff, +0x02fdf800, 0x02fdf801, 0x02fdf802, 0x02fdf803, 0x02fdf804, 0x02fdf805, 0x02fdf806, 0x02fdf807, +0x02fdf8f8, 0x02fdf8f9, 0x02fdf8fa, 0x02fdf8fb, 0x02fdf8fc, 0x02fdf8fd, 0x02fdf8fe, 0x02fdf8ff, +0x02fdf900, 0x02fdf901, 0x02fdf902, 0x02fdf903, 0x02fdf904, 0x02fdf905, 0x02fdf906, 0x02fdf907, +0x02fdf9f8, 0x02fdf9f9, 0x02fdf9fa, 0x02fdf9fb, 0x02fdf9fc, 0x02fdf9fd, 0x02fdf9fe, 0x02fdf9ff, +0x02fdfa00, 0x02fdfa01, 0x02fdfa02, 0x02fdfa03, 0x02fdfa04, 0x02fdfa05, 0x02fdfa06, 0x02fdfa07, +0x02fdfaf8, 0x02fdfaf9, 0x02fdfafa, 0x02fdfafb, 0x02fdfafc, 0x02fdfafd, 0x02fdfafe, 0x02fdfaff, +0x02fdfb00, 0x02fdfb01, 0x02fdfb02, 0x02fdfb03, 0x02fdfb04, 0x02fdfb05, 0x02fdfb06, 0x02fdfb07, +0x02fdfbf8, 0x02fdfbf9, 0x02fdfbfa, 0x02fdfbfb, 0x02fdfbfc, 0x02fdfbfd, 0x02fdfbfe, 0x02fdfbff, +0x02fdfc00, 0x02fdfc01, 0x02fdfc02, 0x02fdfc03, 0x02fdfc04, 0x02fdfc05, 0x02fdfc06, 0x02fdfc07, +0x02fdfcf8, 0x02fdfcf9, 0x02fdfcfa, 0x02fdfcfb, 0x02fdfcfc, 0x02fdfcfd, 0x02fdfcfe, 0x02fdfcff, +0x02fdfd00, 0x02fdfd01, 0x02fdfd02, 0x02fdfd03, 0x02fdfd04, 0x02fdfd05, 0x02fdfd06, 0x02fdfd07, +0x02fdfdf8, 0x02fdfdf9, 0x02fdfdfa, 0x02fdfdfb, 0x02fdfdfc, 0x02fdfdfd, 0x02fdfdfe, 0x02fdfdff, +0x02fdfe00, 0x02fdfe01, 0x02fdfe02, 0x02fdfe03, 0x02fdfe04, 0x02fdfe05, 0x02fdfe06, 0x02fdfe07, +0x02fdfef8, 0x02fdfef9, 0x02fdfefa, 0x02fdfefb, 0x02fdfefc, 0x02fdfefd, 0x02fdfefe, 0x02fdfeff, +0x02fdff00, 0x02fdff01, 0x02fdff02, 0x02fdff03, 0x02fdff04, 0x02fdff05, 0x02fdff06, 0x02fdff07, +0x02fdfff8, 0x02fdfff9, 0x02fdfffa, 0x02fdfffb, 0x02fdfffc, 0x02fdfffd, 0x02fdfffe, 0x02fdffff, +0x02fe0000, 0x02fe0001, 0x02fe0002, 0x02fe0003, 0x02fe0004, 0x02fe0005, 0x02fe0006, 0x02fe0007, +0x02fe00f8, 0x02fe00f9, 0x02fe00fa, 0x02fe00fb, 0x02fe00fc, 0x02fe00fd, 0x02fe00fe, 0x02fe00ff, +0x02fe0100, 0x02fe0101, 0x02fe0102, 0x02fe0103, 0x02fe0104, 0x02fe0105, 0x02fe0106, 0x02fe0107, +0x02fe01f8, 0x02fe01f9, 0x02fe01fa, 0x02fe01fb, 0x02fe01fc, 0x02fe01fd, 0x02fe01fe, 0x02fe01ff, +0x02fe0200, 0x02fe0201, 0x02fe0202, 0x02fe0203, 0x02fe0204, 0x02fe0205, 0x02fe0206, 0x02fe0207, +0x02fe02f8, 0x02fe02f9, 0x02fe02fa, 0x02fe02fb, 0x02fe02fc, 0x02fe02fd, 0x02fe02fe, 0x02fe02ff, +0x02fe0300, 0x02fe0301, 0x02fe0302, 0x02fe0303, 0x02fe0304, 0x02fe0305, 0x02fe0306, 0x02fe0307, +0x02fe03f8, 0x02fe03f9, 0x02fe03fa, 0x02fe03fb, 0x02fe03fc, 0x02fe03fd, 0x02fe03fe, 0x02fe03ff, +0x02fe0400, 0x02fe0401, 0x02fe0402, 0x02fe0403, 0x02fe0404, 0x02fe0405, 0x02fe0406, 0x02fe0407, +0x02fe04f8, 0x02fe04f9, 0x02fe04fa, 0x02fe04fb, 0x02fe04fc, 0x02fe04fd, 0x02fe04fe, 0x02fe04ff, +0x02fe0500, 0x02fe0501, 0x02fe0502, 0x02fe0503, 0x02fe0504, 0x02fe0505, 0x02fe0506, 0x02fe0507, +0x02fe05f8, 0x02fe05f9, 0x02fe05fa, 0x02fe05fb, 0x02fe05fc, 0x02fe05fd, 0x02fe05fe, 0x02fe05ff, +0x02fe0600, 0x02fe0601, 0x02fe0602, 0x02fe0603, 0x02fe0604, 0x02fe0605, 0x02fe0606, 0x02fe0607, +0x02fe06f8, 0x02fe06f9, 0x02fe06fa, 0x02fe06fb, 0x02fe06fc, 0x02fe06fd, 0x02fe06fe, 0x02fe06ff, +0x02fe0700, 0x02fe0701, 0x02fe0702, 0x02fe0703, 0x02fe0704, 0x02fe0705, 0x02fe0706, 0x02fe0707, +0x02fe07f8, 0x02fe07f9, 0x02fe07fa, 0x02fe07fb, 0x02fe07fc, 0x02fe07fd, 0x02fe07fe, 0x02fe07ff, +0x02fef800, 0x02fef801, 0x02fef802, 0x02fef803, 0x02fef804, 0x02fef805, 0x02fef806, 0x02fef807, +0x02fef8f8, 0x02fef8f9, 0x02fef8fa, 0x02fef8fb, 0x02fef8fc, 0x02fef8fd, 0x02fef8fe, 0x02fef8ff, +0x02fef900, 0x02fef901, 0x02fef902, 0x02fef903, 0x02fef904, 0x02fef905, 0x02fef906, 0x02fef907, +0x02fef9f8, 0x02fef9f9, 0x02fef9fa, 0x02fef9fb, 0x02fef9fc, 0x02fef9fd, 0x02fef9fe, 0x02fef9ff, +0x02fefa00, 0x02fefa01, 0x02fefa02, 0x02fefa03, 0x02fefa04, 0x02fefa05, 0x02fefa06, 0x02fefa07, +0x02fefaf8, 0x02fefaf9, 0x02fefafa, 0x02fefafb, 0x02fefafc, 0x02fefafd, 0x02fefafe, 0x02fefaff, +0x02fefb00, 0x02fefb01, 0x02fefb02, 0x02fefb03, 0x02fefb04, 0x02fefb05, 0x02fefb06, 0x02fefb07, +0x02fefbf8, 0x02fefbf9, 0x02fefbfa, 0x02fefbfb, 0x02fefbfc, 0x02fefbfd, 0x02fefbfe, 0x02fefbff, +0x02fefc00, 0x02fefc01, 0x02fefc02, 0x02fefc03, 0x02fefc04, 0x02fefc05, 0x02fefc06, 0x02fefc07, +0x02fefcf8, 0x02fefcf9, 0x02fefcfa, 0x02fefcfb, 0x02fefcfc, 0x02fefcfd, 0x02fefcfe, 0x02fefcff, +0x02fefd00, 0x02fefd01, 0x02fefd02, 0x02fefd03, 0x02fefd04, 0x02fefd05, 0x02fefd06, 0x02fefd07, +0x02fefdf8, 0x02fefdf9, 0x02fefdfa, 0x02fefdfb, 0x02fefdfc, 0x02fefdfd, 0x02fefdfe, 0x02fefdff, +0x02fefe00, 0x02fefe01, 0x02fefe02, 0x02fefe03, 0x02fefe04, 0x02fefe05, 0x02fefe06, 0x02fefe07, +0x02fefef8, 0x02fefef9, 0x02fefefa, 0x02fefefb, 0x02fefefc, 0x02fefefd, 0x02fefefe, 0x02fefeff, +0x02feff00, 0x02feff01, 0x02feff02, 0x02feff03, 0x02feff04, 0x02feff05, 0x02feff06, 0x02feff07, +0x02fefff8, 0x02fefff9, 0x02fefffa, 0x02fefffb, 0x02fefffc, 0x02fefffd, 0x02fefffe, 0x02feffff, +0x02ff0000, 0x02ff0001, 0x02ff0002, 0x02ff0003, 0x02ff0004, 0x02ff0005, 0x02ff0006, 0x02ff0007, +0x02ff00f8, 0x02ff00f9, 0x02ff00fa, 0x02ff00fb, 0x02ff00fc, 0x02ff00fd, 0x02ff00fe, 0x02ff00ff, +0x02ff0100, 0x02ff0101, 0x02ff0102, 0x02ff0103, 0x02ff0104, 0x02ff0105, 0x02ff0106, 0x02ff0107, +0x02ff01f8, 0x02ff01f9, 0x02ff01fa, 0x02ff01fb, 0x02ff01fc, 0x02ff01fd, 0x02ff01fe, 0x02ff01ff, +0x02ff0200, 0x02ff0201, 0x02ff0202, 0x02ff0203, 0x02ff0204, 0x02ff0205, 0x02ff0206, 0x02ff0207, +0x02ff02f8, 0x02ff02f9, 0x02ff02fa, 0x02ff02fb, 0x02ff02fc, 0x02ff02fd, 0x02ff02fe, 0x02ff02ff, +0x02ff0300, 0x02ff0301, 0x02ff0302, 0x02ff0303, 0x02ff0304, 0x02ff0305, 0x02ff0306, 0x02ff0307, +0x02ff03f8, 0x02ff03f9, 0x02ff03fa, 0x02ff03fb, 0x02ff03fc, 0x02ff03fd, 0x02ff03fe, 0x02ff03ff, +0x02ff0400, 0x02ff0401, 0x02ff0402, 0x02ff0403, 0x02ff0404, 0x02ff0405, 0x02ff0406, 0x02ff0407, +0x02ff04f8, 0x02ff04f9, 0x02ff04fa, 0x02ff04fb, 0x02ff04fc, 0x02ff04fd, 0x02ff04fe, 0x02ff04ff, +0x02ff0500, 0x02ff0501, 0x02ff0502, 0x02ff0503, 0x02ff0504, 0x02ff0505, 0x02ff0506, 0x02ff0507, +0x02ff05f8, 0x02ff05f9, 0x02ff05fa, 0x02ff05fb, 0x02ff05fc, 0x02ff05fd, 0x02ff05fe, 0x02ff05ff, +0x02ff0600, 0x02ff0601, 0x02ff0602, 0x02ff0603, 0x02ff0604, 0x02ff0605, 0x02ff0606, 0x02ff0607, +0x02ff06f8, 0x02ff06f9, 0x02ff06fa, 0x02ff06fb, 0x02ff06fc, 0x02ff06fd, 0x02ff06fe, 0x02ff06ff, +0x02ff0700, 0x02ff0701, 0x02ff0702, 0x02ff0703, 0x02ff0704, 0x02ff0705, 0x02ff0706, 0x02ff0707, +0x02ff07f8, 0x02ff07f9, 0x02ff07fa, 0x02ff07fb, 0x02ff07fc, 0x02ff07fd, 0x02ff07fe, 0x02ff07ff, +0x02fff800, 0x02fff801, 0x02fff802, 0x02fff803, 0x02fff804, 0x02fff805, 0x02fff806, 0x02fff807, +0x02fff8f8, 0x02fff8f9, 0x02fff8fa, 0x02fff8fb, 0x02fff8fc, 0x02fff8fd, 0x02fff8fe, 0x02fff8ff, +0x02fff900, 0x02fff901, 0x02fff902, 0x02fff903, 0x02fff904, 0x02fff905, 0x02fff906, 0x02fff907, +0x02fff9f8, 0x02fff9f9, 0x02fff9fa, 0x02fff9fb, 0x02fff9fc, 0x02fff9fd, 0x02fff9fe, 0x02fff9ff, +0x02fffa00, 0x02fffa01, 0x02fffa02, 0x02fffa03, 0x02fffa04, 0x02fffa05, 0x02fffa06, 0x02fffa07, +0x02fffaf8, 0x02fffaf9, 0x02fffafa, 0x02fffafb, 0x02fffafc, 0x02fffafd, 0x02fffafe, 0x02fffaff, +0x02fffb00, 0x02fffb01, 0x02fffb02, 0x02fffb03, 0x02fffb04, 0x02fffb05, 0x02fffb06, 0x02fffb07, +0x02fffbf8, 0x02fffbf9, 0x02fffbfa, 0x02fffbfb, 0x02fffbfc, 0x02fffbfd, 0x02fffbfe, 0x02fffbff, +0x02fffc00, 0x02fffc01, 0x02fffc02, 0x02fffc03, 0x02fffc04, 0x02fffc05, 0x02fffc06, 0x02fffc07, +0x02fffcf8, 0x02fffcf9, 0x02fffcfa, 0x02fffcfb, 0x02fffcfc, 0x02fffcfd, 0x02fffcfe, 0x02fffcff, +0x02fffd00, 0x02fffd01, 0x02fffd02, 0x02fffd03, 0x02fffd04, 0x02fffd05, 0x02fffd06, 0x02fffd07, +0x02fffdf8, 0x02fffdf9, 0x02fffdfa, 0x02fffdfb, 0x02fffdfc, 0x02fffdfd, 0x02fffdfe, 0x02fffdff, +0x02fffe00, 0x02fffe01, 0x02fffe02, 0x02fffe03, 0x02fffe04, 0x02fffe05, 0x02fffe06, 0x02fffe07, +0x02fffef8, 0x02fffef9, 0x02fffefa, 0x02fffefb, 0x02fffefc, 0x02fffefd, 0x02fffefe, 0x02fffeff, +0x02ffff00, 0x02ffff01, 0x02ffff02, 0x02ffff03, 0x02ffff04, 0x02ffff05, 0x02ffff06, 0x02ffff07, +0x02fffff8, 0x02fffff9, 0x02fffffa, 0x02fffffb, 0x02fffffc, 0x02fffffd, 0x02fffffe, 0x02ffffff, +0x03000000, 0x03000001, 0x03000002, 0x03000003, 0x03000004, 0x03000005, 0x03000006, 0x03000007, +0x030000f8, 0x030000f9, 0x030000fa, 0x030000fb, 0x030000fc, 0x030000fd, 0x030000fe, 0x030000ff, +0x03000100, 0x03000101, 0x03000102, 0x03000103, 0x03000104, 0x03000105, 0x03000106, 0x03000107, +0x030001f8, 0x030001f9, 0x030001fa, 0x030001fb, 0x030001fc, 0x030001fd, 0x030001fe, 0x030001ff, +0x03000200, 0x03000201, 0x03000202, 0x03000203, 0x03000204, 0x03000205, 0x03000206, 0x03000207, +0x030002f8, 0x030002f9, 0x030002fa, 0x030002fb, 0x030002fc, 0x030002fd, 0x030002fe, 0x030002ff, +0x03000300, 0x03000301, 0x03000302, 0x03000303, 0x03000304, 0x03000305, 0x03000306, 0x03000307, +0x030003f8, 0x030003f9, 0x030003fa, 0x030003fb, 0x030003fc, 0x030003fd, 0x030003fe, 0x030003ff, +0x03000400, 0x03000401, 0x03000402, 0x03000403, 0x03000404, 0x03000405, 0x03000406, 0x03000407, +0x030004f8, 0x030004f9, 0x030004fa, 0x030004fb, 0x030004fc, 0x030004fd, 0x030004fe, 0x030004ff, +0x03000500, 0x03000501, 0x03000502, 0x03000503, 0x03000504, 0x03000505, 0x03000506, 0x03000507, +0x030005f8, 0x030005f9, 0x030005fa, 0x030005fb, 0x030005fc, 0x030005fd, 0x030005fe, 0x030005ff, +0x03000600, 0x03000601, 0x03000602, 0x03000603, 0x03000604, 0x03000605, 0x03000606, 0x03000607, +0x030006f8, 0x030006f9, 0x030006fa, 0x030006fb, 0x030006fc, 0x030006fd, 0x030006fe, 0x030006ff, +0x03000700, 0x03000701, 0x03000702, 0x03000703, 0x03000704, 0x03000705, 0x03000706, 0x03000707, +0x030007f8, 0x030007f9, 0x030007fa, 0x030007fb, 0x030007fc, 0x030007fd, 0x030007fe, 0x030007ff, +0x0300f800, 0x0300f801, 0x0300f802, 0x0300f803, 0x0300f804, 0x0300f805, 0x0300f806, 0x0300f807, +0x0300f8f8, 0x0300f8f9, 0x0300f8fa, 0x0300f8fb, 0x0300f8fc, 0x0300f8fd, 0x0300f8fe, 0x0300f8ff, +0x0300f900, 0x0300f901, 0x0300f902, 0x0300f903, 0x0300f904, 0x0300f905, 0x0300f906, 0x0300f907, +0x0300f9f8, 0x0300f9f9, 0x0300f9fa, 0x0300f9fb, 0x0300f9fc, 0x0300f9fd, 0x0300f9fe, 0x0300f9ff, +0x0300fa00, 0x0300fa01, 0x0300fa02, 0x0300fa03, 0x0300fa04, 0x0300fa05, 0x0300fa06, 0x0300fa07, +0x0300faf8, 0x0300faf9, 0x0300fafa, 0x0300fafb, 0x0300fafc, 0x0300fafd, 0x0300fafe, 0x0300faff, +0x0300fb00, 0x0300fb01, 0x0300fb02, 0x0300fb03, 0x0300fb04, 0x0300fb05, 0x0300fb06, 0x0300fb07, +0x0300fbf8, 0x0300fbf9, 0x0300fbfa, 0x0300fbfb, 0x0300fbfc, 0x0300fbfd, 0x0300fbfe, 0x0300fbff, +0x0300fc00, 0x0300fc01, 0x0300fc02, 0x0300fc03, 0x0300fc04, 0x0300fc05, 0x0300fc06, 0x0300fc07, +0x0300fcf8, 0x0300fcf9, 0x0300fcfa, 0x0300fcfb, 0x0300fcfc, 0x0300fcfd, 0x0300fcfe, 0x0300fcff, +0x0300fd00, 0x0300fd01, 0x0300fd02, 0x0300fd03, 0x0300fd04, 0x0300fd05, 0x0300fd06, 0x0300fd07, +0x0300fdf8, 0x0300fdf9, 0x0300fdfa, 0x0300fdfb, 0x0300fdfc, 0x0300fdfd, 0x0300fdfe, 0x0300fdff, +0x0300fe00, 0x0300fe01, 0x0300fe02, 0x0300fe03, 0x0300fe04, 0x0300fe05, 0x0300fe06, 0x0300fe07, +0x0300fef8, 0x0300fef9, 0x0300fefa, 0x0300fefb, 0x0300fefc, 0x0300fefd, 0x0300fefe, 0x0300feff, +0x0300ff00, 0x0300ff01, 0x0300ff02, 0x0300ff03, 0x0300ff04, 0x0300ff05, 0x0300ff06, 0x0300ff07, +0x0300fff8, 0x0300fff9, 0x0300fffa, 0x0300fffb, 0x0300fffc, 0x0300fffd, 0x0300fffe, 0x0300ffff, +0x03010000, 0x03010001, 0x03010002, 0x03010003, 0x03010004, 0x03010005, 0x03010006, 0x03010007, +0x030100f8, 0x030100f9, 0x030100fa, 0x030100fb, 0x030100fc, 0x030100fd, 0x030100fe, 0x030100ff, +0x03010100, 0x03010101, 0x03010102, 0x03010103, 0x03010104, 0x03010105, 0x03010106, 0x03010107, +0x030101f8, 0x030101f9, 0x030101fa, 0x030101fb, 0x030101fc, 0x030101fd, 0x030101fe, 0x030101ff, +0x03010200, 0x03010201, 0x03010202, 0x03010203, 0x03010204, 0x03010205, 0x03010206, 0x03010207, +0x030102f8, 0x030102f9, 0x030102fa, 0x030102fb, 0x030102fc, 0x030102fd, 0x030102fe, 0x030102ff, +0x03010300, 0x03010301, 0x03010302, 0x03010303, 0x03010304, 0x03010305, 0x03010306, 0x03010307, +0x030103f8, 0x030103f9, 0x030103fa, 0x030103fb, 0x030103fc, 0x030103fd, 0x030103fe, 0x030103ff, +0x03010400, 0x03010401, 0x03010402, 0x03010403, 0x03010404, 0x03010405, 0x03010406, 0x03010407, +0x030104f8, 0x030104f9, 0x030104fa, 0x030104fb, 0x030104fc, 0x030104fd, 0x030104fe, 0x030104ff, +0x03010500, 0x03010501, 0x03010502, 0x03010503, 0x03010504, 0x03010505, 0x03010506, 0x03010507, +0x030105f8, 0x030105f9, 0x030105fa, 0x030105fb, 0x030105fc, 0x030105fd, 0x030105fe, 0x030105ff, +0x03010600, 0x03010601, 0x03010602, 0x03010603, 0x03010604, 0x03010605, 0x03010606, 0x03010607, +0x030106f8, 0x030106f9, 0x030106fa, 0x030106fb, 0x030106fc, 0x030106fd, 0x030106fe, 0x030106ff, +0x03010700, 0x03010701, 0x03010702, 0x03010703, 0x03010704, 0x03010705, 0x03010706, 0x03010707, +0x030107f8, 0x030107f9, 0x030107fa, 0x030107fb, 0x030107fc, 0x030107fd, 0x030107fe, 0x030107ff, +0x0301f800, 0x0301f801, 0x0301f802, 0x0301f803, 0x0301f804, 0x0301f805, 0x0301f806, 0x0301f807, +0x0301f8f8, 0x0301f8f9, 0x0301f8fa, 0x0301f8fb, 0x0301f8fc, 0x0301f8fd, 0x0301f8fe, 0x0301f8ff, +0x0301f900, 0x0301f901, 0x0301f902, 0x0301f903, 0x0301f904, 0x0301f905, 0x0301f906, 0x0301f907, +0x0301f9f8, 0x0301f9f9, 0x0301f9fa, 0x0301f9fb, 0x0301f9fc, 0x0301f9fd, 0x0301f9fe, 0x0301f9ff, +0x0301fa00, 0x0301fa01, 0x0301fa02, 0x0301fa03, 0x0301fa04, 0x0301fa05, 0x0301fa06, 0x0301fa07, +0x0301faf8, 0x0301faf9, 0x0301fafa, 0x0301fafb, 0x0301fafc, 0x0301fafd, 0x0301fafe, 0x0301faff, +0x0301fb00, 0x0301fb01, 0x0301fb02, 0x0301fb03, 0x0301fb04, 0x0301fb05, 0x0301fb06, 0x0301fb07, +0x0301fbf8, 0x0301fbf9, 0x0301fbfa, 0x0301fbfb, 0x0301fbfc, 0x0301fbfd, 0x0301fbfe, 0x0301fbff, +0x0301fc00, 0x0301fc01, 0x0301fc02, 0x0301fc03, 0x0301fc04, 0x0301fc05, 0x0301fc06, 0x0301fc07, +0x0301fcf8, 0x0301fcf9, 0x0301fcfa, 0x0301fcfb, 0x0301fcfc, 0x0301fcfd, 0x0301fcfe, 0x0301fcff, +0x0301fd00, 0x0301fd01, 0x0301fd02, 0x0301fd03, 0x0301fd04, 0x0301fd05, 0x0301fd06, 0x0301fd07, +0x0301fdf8, 0x0301fdf9, 0x0301fdfa, 0x0301fdfb, 0x0301fdfc, 0x0301fdfd, 0x0301fdfe, 0x0301fdff, +0x0301fe00, 0x0301fe01, 0x0301fe02, 0x0301fe03, 0x0301fe04, 0x0301fe05, 0x0301fe06, 0x0301fe07, +0x0301fef8, 0x0301fef9, 0x0301fefa, 0x0301fefb, 0x0301fefc, 0x0301fefd, 0x0301fefe, 0x0301feff, +0x0301ff00, 0x0301ff01, 0x0301ff02, 0x0301ff03, 0x0301ff04, 0x0301ff05, 0x0301ff06, 0x0301ff07, +0x0301fff8, 0x0301fff9, 0x0301fffa, 0x0301fffb, 0x0301fffc, 0x0301fffd, 0x0301fffe, 0x0301ffff, +0x03020000, 0x03020001, 0x03020002, 0x03020003, 0x03020004, 0x03020005, 0x03020006, 0x03020007, +0x030200f8, 0x030200f9, 0x030200fa, 0x030200fb, 0x030200fc, 0x030200fd, 0x030200fe, 0x030200ff, +0x03020100, 0x03020101, 0x03020102, 0x03020103, 0x03020104, 0x03020105, 0x03020106, 0x03020107, +0x030201f8, 0x030201f9, 0x030201fa, 0x030201fb, 0x030201fc, 0x030201fd, 0x030201fe, 0x030201ff, +0x03020200, 0x03020201, 0x03020202, 0x03020203, 0x03020204, 0x03020205, 0x03020206, 0x03020207, +0x030202f8, 0x030202f9, 0x030202fa, 0x030202fb, 0x030202fc, 0x030202fd, 0x030202fe, 0x030202ff, +0x03020300, 0x03020301, 0x03020302, 0x03020303, 0x03020304, 0x03020305, 0x03020306, 0x03020307, +0x030203f8, 0x030203f9, 0x030203fa, 0x030203fb, 0x030203fc, 0x030203fd, 0x030203fe, 0x030203ff, +0x03020400, 0x03020401, 0x03020402, 0x03020403, 0x03020404, 0x03020405, 0x03020406, 0x03020407, +0x030204f8, 0x030204f9, 0x030204fa, 0x030204fb, 0x030204fc, 0x030204fd, 0x030204fe, 0x030204ff, +0x03020500, 0x03020501, 0x03020502, 0x03020503, 0x03020504, 0x03020505, 0x03020506, 0x03020507, +0x030205f8, 0x030205f9, 0x030205fa, 0x030205fb, 0x030205fc, 0x030205fd, 0x030205fe, 0x030205ff, +0x03020600, 0x03020601, 0x03020602, 0x03020603, 0x03020604, 0x03020605, 0x03020606, 0x03020607, +0x030206f8, 0x030206f9, 0x030206fa, 0x030206fb, 0x030206fc, 0x030206fd, 0x030206fe, 0x030206ff, +0x03020700, 0x03020701, 0x03020702, 0x03020703, 0x03020704, 0x03020705, 0x03020706, 0x03020707, +0x030207f8, 0x030207f9, 0x030207fa, 0x030207fb, 0x030207fc, 0x030207fd, 0x030207fe, 0x030207ff, +0x0302f800, 0x0302f801, 0x0302f802, 0x0302f803, 0x0302f804, 0x0302f805, 0x0302f806, 0x0302f807, +0x0302f8f8, 0x0302f8f9, 0x0302f8fa, 0x0302f8fb, 0x0302f8fc, 0x0302f8fd, 0x0302f8fe, 0x0302f8ff, +0x0302f900, 0x0302f901, 0x0302f902, 0x0302f903, 0x0302f904, 0x0302f905, 0x0302f906, 0x0302f907, +0x0302f9f8, 0x0302f9f9, 0x0302f9fa, 0x0302f9fb, 0x0302f9fc, 0x0302f9fd, 0x0302f9fe, 0x0302f9ff, +0x0302fa00, 0x0302fa01, 0x0302fa02, 0x0302fa03, 0x0302fa04, 0x0302fa05, 0x0302fa06, 0x0302fa07, +0x0302faf8, 0x0302faf9, 0x0302fafa, 0x0302fafb, 0x0302fafc, 0x0302fafd, 0x0302fafe, 0x0302faff, +0x0302fb00, 0x0302fb01, 0x0302fb02, 0x0302fb03, 0x0302fb04, 0x0302fb05, 0x0302fb06, 0x0302fb07, +0x0302fbf8, 0x0302fbf9, 0x0302fbfa, 0x0302fbfb, 0x0302fbfc, 0x0302fbfd, 0x0302fbfe, 0x0302fbff, +0x0302fc00, 0x0302fc01, 0x0302fc02, 0x0302fc03, 0x0302fc04, 0x0302fc05, 0x0302fc06, 0x0302fc07, +0x0302fcf8, 0x0302fcf9, 0x0302fcfa, 0x0302fcfb, 0x0302fcfc, 0x0302fcfd, 0x0302fcfe, 0x0302fcff, +0x0302fd00, 0x0302fd01, 0x0302fd02, 0x0302fd03, 0x0302fd04, 0x0302fd05, 0x0302fd06, 0x0302fd07, +0x0302fdf8, 0x0302fdf9, 0x0302fdfa, 0x0302fdfb, 0x0302fdfc, 0x0302fdfd, 0x0302fdfe, 0x0302fdff, +0x0302fe00, 0x0302fe01, 0x0302fe02, 0x0302fe03, 0x0302fe04, 0x0302fe05, 0x0302fe06, 0x0302fe07, +0x0302fef8, 0x0302fef9, 0x0302fefa, 0x0302fefb, 0x0302fefc, 0x0302fefd, 0x0302fefe, 0x0302feff, +0x0302ff00, 0x0302ff01, 0x0302ff02, 0x0302ff03, 0x0302ff04, 0x0302ff05, 0x0302ff06, 0x0302ff07, +0x0302fff8, 0x0302fff9, 0x0302fffa, 0x0302fffb, 0x0302fffc, 0x0302fffd, 0x0302fffe, 0x0302ffff, +0x03030000, 0x03030001, 0x03030002, 0x03030003, 0x03030004, 0x03030005, 0x03030006, 0x03030007, +0x030300f8, 0x030300f9, 0x030300fa, 0x030300fb, 0x030300fc, 0x030300fd, 0x030300fe, 0x030300ff, +0x03030100, 0x03030101, 0x03030102, 0x03030103, 0x03030104, 0x03030105, 0x03030106, 0x03030107, +0x030301f8, 0x030301f9, 0x030301fa, 0x030301fb, 0x030301fc, 0x030301fd, 0x030301fe, 0x030301ff, +0x03030200, 0x03030201, 0x03030202, 0x03030203, 0x03030204, 0x03030205, 0x03030206, 0x03030207, +0x030302f8, 0x030302f9, 0x030302fa, 0x030302fb, 0x030302fc, 0x030302fd, 0x030302fe, 0x030302ff, +0x03030300, 0x03030301, 0x03030302, 0x03030303, 0x03030304, 0x03030305, 0x03030306, 0x03030307, +0x030303f8, 0x030303f9, 0x030303fa, 0x030303fb, 0x030303fc, 0x030303fd, 0x030303fe, 0x030303ff, +0x03030400, 0x03030401, 0x03030402, 0x03030403, 0x03030404, 0x03030405, 0x03030406, 0x03030407, +0x030304f8, 0x030304f9, 0x030304fa, 0x030304fb, 0x030304fc, 0x030304fd, 0x030304fe, 0x030304ff, +0x03030500, 0x03030501, 0x03030502, 0x03030503, 0x03030504, 0x03030505, 0x03030506, 0x03030507, +0x030305f8, 0x030305f9, 0x030305fa, 0x030305fb, 0x030305fc, 0x030305fd, 0x030305fe, 0x030305ff, +0x03030600, 0x03030601, 0x03030602, 0x03030603, 0x03030604, 0x03030605, 0x03030606, 0x03030607, +0x030306f8, 0x030306f9, 0x030306fa, 0x030306fb, 0x030306fc, 0x030306fd, 0x030306fe, 0x030306ff, +0x03030700, 0x03030701, 0x03030702, 0x03030703, 0x03030704, 0x03030705, 0x03030706, 0x03030707, +0x030307f8, 0x030307f9, 0x030307fa, 0x030307fb, 0x030307fc, 0x030307fd, 0x030307fe, 0x030307ff, +0x0303f800, 0x0303f801, 0x0303f802, 0x0303f803, 0x0303f804, 0x0303f805, 0x0303f806, 0x0303f807, +0x0303f8f8, 0x0303f8f9, 0x0303f8fa, 0x0303f8fb, 0x0303f8fc, 0x0303f8fd, 0x0303f8fe, 0x0303f8ff, +0x0303f900, 0x0303f901, 0x0303f902, 0x0303f903, 0x0303f904, 0x0303f905, 0x0303f906, 0x0303f907, +0x0303f9f8, 0x0303f9f9, 0x0303f9fa, 0x0303f9fb, 0x0303f9fc, 0x0303f9fd, 0x0303f9fe, 0x0303f9ff, +0x0303fa00, 0x0303fa01, 0x0303fa02, 0x0303fa03, 0x0303fa04, 0x0303fa05, 0x0303fa06, 0x0303fa07, +0x0303faf8, 0x0303faf9, 0x0303fafa, 0x0303fafb, 0x0303fafc, 0x0303fafd, 0x0303fafe, 0x0303faff, +0x0303fb00, 0x0303fb01, 0x0303fb02, 0x0303fb03, 0x0303fb04, 0x0303fb05, 0x0303fb06, 0x0303fb07, +0x0303fbf8, 0x0303fbf9, 0x0303fbfa, 0x0303fbfb, 0x0303fbfc, 0x0303fbfd, 0x0303fbfe, 0x0303fbff, +0x0303fc00, 0x0303fc01, 0x0303fc02, 0x0303fc03, 0x0303fc04, 0x0303fc05, 0x0303fc06, 0x0303fc07, +0x0303fcf8, 0x0303fcf9, 0x0303fcfa, 0x0303fcfb, 0x0303fcfc, 0x0303fcfd, 0x0303fcfe, 0x0303fcff, +0x0303fd00, 0x0303fd01, 0x0303fd02, 0x0303fd03, 0x0303fd04, 0x0303fd05, 0x0303fd06, 0x0303fd07, +0x0303fdf8, 0x0303fdf9, 0x0303fdfa, 0x0303fdfb, 0x0303fdfc, 0x0303fdfd, 0x0303fdfe, 0x0303fdff, +0x0303fe00, 0x0303fe01, 0x0303fe02, 0x0303fe03, 0x0303fe04, 0x0303fe05, 0x0303fe06, 0x0303fe07, +0x0303fef8, 0x0303fef9, 0x0303fefa, 0x0303fefb, 0x0303fefc, 0x0303fefd, 0x0303fefe, 0x0303feff, +0x0303ff00, 0x0303ff01, 0x0303ff02, 0x0303ff03, 0x0303ff04, 0x0303ff05, 0x0303ff06, 0x0303ff07, +0x0303fff8, 0x0303fff9, 0x0303fffa, 0x0303fffb, 0x0303fffc, 0x0303fffd, 0x0303fffe, 0x0303ffff, +0x03040000, 0x03040001, 0x03040002, 0x03040003, 0x03040004, 0x03040005, 0x03040006, 0x03040007, +0x030400f8, 0x030400f9, 0x030400fa, 0x030400fb, 0x030400fc, 0x030400fd, 0x030400fe, 0x030400ff, +0x03040100, 0x03040101, 0x03040102, 0x03040103, 0x03040104, 0x03040105, 0x03040106, 0x03040107, +0x030401f8, 0x030401f9, 0x030401fa, 0x030401fb, 0x030401fc, 0x030401fd, 0x030401fe, 0x030401ff, +0x03040200, 0x03040201, 0x03040202, 0x03040203, 0x03040204, 0x03040205, 0x03040206, 0x03040207, +0x030402f8, 0x030402f9, 0x030402fa, 0x030402fb, 0x030402fc, 0x030402fd, 0x030402fe, 0x030402ff, +0x03040300, 0x03040301, 0x03040302, 0x03040303, 0x03040304, 0x03040305, 0x03040306, 0x03040307, +0x030403f8, 0x030403f9, 0x030403fa, 0x030403fb, 0x030403fc, 0x030403fd, 0x030403fe, 0x030403ff, +0x03040400, 0x03040401, 0x03040402, 0x03040403, 0x03040404, 0x03040405, 0x03040406, 0x03040407, +0x030404f8, 0x030404f9, 0x030404fa, 0x030404fb, 0x030404fc, 0x030404fd, 0x030404fe, 0x030404ff, +0x03040500, 0x03040501, 0x03040502, 0x03040503, 0x03040504, 0x03040505, 0x03040506, 0x03040507, +0x030405f8, 0x030405f9, 0x030405fa, 0x030405fb, 0x030405fc, 0x030405fd, 0x030405fe, 0x030405ff, +0x03040600, 0x03040601, 0x03040602, 0x03040603, 0x03040604, 0x03040605, 0x03040606, 0x03040607, +0x030406f8, 0x030406f9, 0x030406fa, 0x030406fb, 0x030406fc, 0x030406fd, 0x030406fe, 0x030406ff, +0x03040700, 0x03040701, 0x03040702, 0x03040703, 0x03040704, 0x03040705, 0x03040706, 0x03040707, +0x030407f8, 0x030407f9, 0x030407fa, 0x030407fb, 0x030407fc, 0x030407fd, 0x030407fe, 0x030407ff, +0x0304f800, 0x0304f801, 0x0304f802, 0x0304f803, 0x0304f804, 0x0304f805, 0x0304f806, 0x0304f807, +0x0304f8f8, 0x0304f8f9, 0x0304f8fa, 0x0304f8fb, 0x0304f8fc, 0x0304f8fd, 0x0304f8fe, 0x0304f8ff, +0x0304f900, 0x0304f901, 0x0304f902, 0x0304f903, 0x0304f904, 0x0304f905, 0x0304f906, 0x0304f907, +0x0304f9f8, 0x0304f9f9, 0x0304f9fa, 0x0304f9fb, 0x0304f9fc, 0x0304f9fd, 0x0304f9fe, 0x0304f9ff, +0x0304fa00, 0x0304fa01, 0x0304fa02, 0x0304fa03, 0x0304fa04, 0x0304fa05, 0x0304fa06, 0x0304fa07, +0x0304faf8, 0x0304faf9, 0x0304fafa, 0x0304fafb, 0x0304fafc, 0x0304fafd, 0x0304fafe, 0x0304faff, +0x0304fb00, 0x0304fb01, 0x0304fb02, 0x0304fb03, 0x0304fb04, 0x0304fb05, 0x0304fb06, 0x0304fb07, +0x0304fbf8, 0x0304fbf9, 0x0304fbfa, 0x0304fbfb, 0x0304fbfc, 0x0304fbfd, 0x0304fbfe, 0x0304fbff, +0x0304fc00, 0x0304fc01, 0x0304fc02, 0x0304fc03, 0x0304fc04, 0x0304fc05, 0x0304fc06, 0x0304fc07, +0x0304fcf8, 0x0304fcf9, 0x0304fcfa, 0x0304fcfb, 0x0304fcfc, 0x0304fcfd, 0x0304fcfe, 0x0304fcff, +0x0304fd00, 0x0304fd01, 0x0304fd02, 0x0304fd03, 0x0304fd04, 0x0304fd05, 0x0304fd06, 0x0304fd07, +0x0304fdf8, 0x0304fdf9, 0x0304fdfa, 0x0304fdfb, 0x0304fdfc, 0x0304fdfd, 0x0304fdfe, 0x0304fdff, +0x0304fe00, 0x0304fe01, 0x0304fe02, 0x0304fe03, 0x0304fe04, 0x0304fe05, 0x0304fe06, 0x0304fe07, +0x0304fef8, 0x0304fef9, 0x0304fefa, 0x0304fefb, 0x0304fefc, 0x0304fefd, 0x0304fefe, 0x0304feff, +0x0304ff00, 0x0304ff01, 0x0304ff02, 0x0304ff03, 0x0304ff04, 0x0304ff05, 0x0304ff06, 0x0304ff07, +0x0304fff8, 0x0304fff9, 0x0304fffa, 0x0304fffb, 0x0304fffc, 0x0304fffd, 0x0304fffe, 0x0304ffff, +0x03050000, 0x03050001, 0x03050002, 0x03050003, 0x03050004, 0x03050005, 0x03050006, 0x03050007, +0x030500f8, 0x030500f9, 0x030500fa, 0x030500fb, 0x030500fc, 0x030500fd, 0x030500fe, 0x030500ff, +0x03050100, 0x03050101, 0x03050102, 0x03050103, 0x03050104, 0x03050105, 0x03050106, 0x03050107, +0x030501f8, 0x030501f9, 0x030501fa, 0x030501fb, 0x030501fc, 0x030501fd, 0x030501fe, 0x030501ff, +0x03050200, 0x03050201, 0x03050202, 0x03050203, 0x03050204, 0x03050205, 0x03050206, 0x03050207, +0x030502f8, 0x030502f9, 0x030502fa, 0x030502fb, 0x030502fc, 0x030502fd, 0x030502fe, 0x030502ff, +0x03050300, 0x03050301, 0x03050302, 0x03050303, 0x03050304, 0x03050305, 0x03050306, 0x03050307, +0x030503f8, 0x030503f9, 0x030503fa, 0x030503fb, 0x030503fc, 0x030503fd, 0x030503fe, 0x030503ff, +0x03050400, 0x03050401, 0x03050402, 0x03050403, 0x03050404, 0x03050405, 0x03050406, 0x03050407, +0x030504f8, 0x030504f9, 0x030504fa, 0x030504fb, 0x030504fc, 0x030504fd, 0x030504fe, 0x030504ff, +0x03050500, 0x03050501, 0x03050502, 0x03050503, 0x03050504, 0x03050505, 0x03050506, 0x03050507, +0x030505f8, 0x030505f9, 0x030505fa, 0x030505fb, 0x030505fc, 0x030505fd, 0x030505fe, 0x030505ff, +0x03050600, 0x03050601, 0x03050602, 0x03050603, 0x03050604, 0x03050605, 0x03050606, 0x03050607, +0x030506f8, 0x030506f9, 0x030506fa, 0x030506fb, 0x030506fc, 0x030506fd, 0x030506fe, 0x030506ff, +0x03050700, 0x03050701, 0x03050702, 0x03050703, 0x03050704, 0x03050705, 0x03050706, 0x03050707, +0x030507f8, 0x030507f9, 0x030507fa, 0x030507fb, 0x030507fc, 0x030507fd, 0x030507fe, 0x030507ff, +0x0305f800, 0x0305f801, 0x0305f802, 0x0305f803, 0x0305f804, 0x0305f805, 0x0305f806, 0x0305f807, +0x0305f8f8, 0x0305f8f9, 0x0305f8fa, 0x0305f8fb, 0x0305f8fc, 0x0305f8fd, 0x0305f8fe, 0x0305f8ff, +0x0305f900, 0x0305f901, 0x0305f902, 0x0305f903, 0x0305f904, 0x0305f905, 0x0305f906, 0x0305f907, +0x0305f9f8, 0x0305f9f9, 0x0305f9fa, 0x0305f9fb, 0x0305f9fc, 0x0305f9fd, 0x0305f9fe, 0x0305f9ff, +0x0305fa00, 0x0305fa01, 0x0305fa02, 0x0305fa03, 0x0305fa04, 0x0305fa05, 0x0305fa06, 0x0305fa07, +0x0305faf8, 0x0305faf9, 0x0305fafa, 0x0305fafb, 0x0305fafc, 0x0305fafd, 0x0305fafe, 0x0305faff, +0x0305fb00, 0x0305fb01, 0x0305fb02, 0x0305fb03, 0x0305fb04, 0x0305fb05, 0x0305fb06, 0x0305fb07, +0x0305fbf8, 0x0305fbf9, 0x0305fbfa, 0x0305fbfb, 0x0305fbfc, 0x0305fbfd, 0x0305fbfe, 0x0305fbff, +0x0305fc00, 0x0305fc01, 0x0305fc02, 0x0305fc03, 0x0305fc04, 0x0305fc05, 0x0305fc06, 0x0305fc07, +0x0305fcf8, 0x0305fcf9, 0x0305fcfa, 0x0305fcfb, 0x0305fcfc, 0x0305fcfd, 0x0305fcfe, 0x0305fcff, +0x0305fd00, 0x0305fd01, 0x0305fd02, 0x0305fd03, 0x0305fd04, 0x0305fd05, 0x0305fd06, 0x0305fd07, +0x0305fdf8, 0x0305fdf9, 0x0305fdfa, 0x0305fdfb, 0x0305fdfc, 0x0305fdfd, 0x0305fdfe, 0x0305fdff, +0x0305fe00, 0x0305fe01, 0x0305fe02, 0x0305fe03, 0x0305fe04, 0x0305fe05, 0x0305fe06, 0x0305fe07, +0x0305fef8, 0x0305fef9, 0x0305fefa, 0x0305fefb, 0x0305fefc, 0x0305fefd, 0x0305fefe, 0x0305feff, +0x0305ff00, 0x0305ff01, 0x0305ff02, 0x0305ff03, 0x0305ff04, 0x0305ff05, 0x0305ff06, 0x0305ff07, +0x0305fff8, 0x0305fff9, 0x0305fffa, 0x0305fffb, 0x0305fffc, 0x0305fffd, 0x0305fffe, 0x0305ffff, +0x03060000, 0x03060001, 0x03060002, 0x03060003, 0x03060004, 0x03060005, 0x03060006, 0x03060007, +0x030600f8, 0x030600f9, 0x030600fa, 0x030600fb, 0x030600fc, 0x030600fd, 0x030600fe, 0x030600ff, +0x03060100, 0x03060101, 0x03060102, 0x03060103, 0x03060104, 0x03060105, 0x03060106, 0x03060107, +0x030601f8, 0x030601f9, 0x030601fa, 0x030601fb, 0x030601fc, 0x030601fd, 0x030601fe, 0x030601ff, +0x03060200, 0x03060201, 0x03060202, 0x03060203, 0x03060204, 0x03060205, 0x03060206, 0x03060207, +0x030602f8, 0x030602f9, 0x030602fa, 0x030602fb, 0x030602fc, 0x030602fd, 0x030602fe, 0x030602ff, +0x03060300, 0x03060301, 0x03060302, 0x03060303, 0x03060304, 0x03060305, 0x03060306, 0x03060307, +0x030603f8, 0x030603f9, 0x030603fa, 0x030603fb, 0x030603fc, 0x030603fd, 0x030603fe, 0x030603ff, +0x03060400, 0x03060401, 0x03060402, 0x03060403, 0x03060404, 0x03060405, 0x03060406, 0x03060407, +0x030604f8, 0x030604f9, 0x030604fa, 0x030604fb, 0x030604fc, 0x030604fd, 0x030604fe, 0x030604ff, +0x03060500, 0x03060501, 0x03060502, 0x03060503, 0x03060504, 0x03060505, 0x03060506, 0x03060507, +0x030605f8, 0x030605f9, 0x030605fa, 0x030605fb, 0x030605fc, 0x030605fd, 0x030605fe, 0x030605ff, +0x03060600, 0x03060601, 0x03060602, 0x03060603, 0x03060604, 0x03060605, 0x03060606, 0x03060607, +0x030606f8, 0x030606f9, 0x030606fa, 0x030606fb, 0x030606fc, 0x030606fd, 0x030606fe, 0x030606ff, +0x03060700, 0x03060701, 0x03060702, 0x03060703, 0x03060704, 0x03060705, 0x03060706, 0x03060707, +0x030607f8, 0x030607f9, 0x030607fa, 0x030607fb, 0x030607fc, 0x030607fd, 0x030607fe, 0x030607ff, +0x0306f800, 0x0306f801, 0x0306f802, 0x0306f803, 0x0306f804, 0x0306f805, 0x0306f806, 0x0306f807, +0x0306f8f8, 0x0306f8f9, 0x0306f8fa, 0x0306f8fb, 0x0306f8fc, 0x0306f8fd, 0x0306f8fe, 0x0306f8ff, +0x0306f900, 0x0306f901, 0x0306f902, 0x0306f903, 0x0306f904, 0x0306f905, 0x0306f906, 0x0306f907, +0x0306f9f8, 0x0306f9f9, 0x0306f9fa, 0x0306f9fb, 0x0306f9fc, 0x0306f9fd, 0x0306f9fe, 0x0306f9ff, +0x0306fa00, 0x0306fa01, 0x0306fa02, 0x0306fa03, 0x0306fa04, 0x0306fa05, 0x0306fa06, 0x0306fa07, +0x0306faf8, 0x0306faf9, 0x0306fafa, 0x0306fafb, 0x0306fafc, 0x0306fafd, 0x0306fafe, 0x0306faff, +0x0306fb00, 0x0306fb01, 0x0306fb02, 0x0306fb03, 0x0306fb04, 0x0306fb05, 0x0306fb06, 0x0306fb07, +0x0306fbf8, 0x0306fbf9, 0x0306fbfa, 0x0306fbfb, 0x0306fbfc, 0x0306fbfd, 0x0306fbfe, 0x0306fbff, +0x0306fc00, 0x0306fc01, 0x0306fc02, 0x0306fc03, 0x0306fc04, 0x0306fc05, 0x0306fc06, 0x0306fc07, +0x0306fcf8, 0x0306fcf9, 0x0306fcfa, 0x0306fcfb, 0x0306fcfc, 0x0306fcfd, 0x0306fcfe, 0x0306fcff, +0x0306fd00, 0x0306fd01, 0x0306fd02, 0x0306fd03, 0x0306fd04, 0x0306fd05, 0x0306fd06, 0x0306fd07, +0x0306fdf8, 0x0306fdf9, 0x0306fdfa, 0x0306fdfb, 0x0306fdfc, 0x0306fdfd, 0x0306fdfe, 0x0306fdff, +0x0306fe00, 0x0306fe01, 0x0306fe02, 0x0306fe03, 0x0306fe04, 0x0306fe05, 0x0306fe06, 0x0306fe07, +0x0306fef8, 0x0306fef9, 0x0306fefa, 0x0306fefb, 0x0306fefc, 0x0306fefd, 0x0306fefe, 0x0306feff, +0x0306ff00, 0x0306ff01, 0x0306ff02, 0x0306ff03, 0x0306ff04, 0x0306ff05, 0x0306ff06, 0x0306ff07, +0x0306fff8, 0x0306fff9, 0x0306fffa, 0x0306fffb, 0x0306fffc, 0x0306fffd, 0x0306fffe, 0x0306ffff, +0x03070000, 0x03070001, 0x03070002, 0x03070003, 0x03070004, 0x03070005, 0x03070006, 0x03070007, +0x030700f8, 0x030700f9, 0x030700fa, 0x030700fb, 0x030700fc, 0x030700fd, 0x030700fe, 0x030700ff, +0x03070100, 0x03070101, 0x03070102, 0x03070103, 0x03070104, 0x03070105, 0x03070106, 0x03070107, +0x030701f8, 0x030701f9, 0x030701fa, 0x030701fb, 0x030701fc, 0x030701fd, 0x030701fe, 0x030701ff, +0x03070200, 0x03070201, 0x03070202, 0x03070203, 0x03070204, 0x03070205, 0x03070206, 0x03070207, +0x030702f8, 0x030702f9, 0x030702fa, 0x030702fb, 0x030702fc, 0x030702fd, 0x030702fe, 0x030702ff, +0x03070300, 0x03070301, 0x03070302, 0x03070303, 0x03070304, 0x03070305, 0x03070306, 0x03070307, +0x030703f8, 0x030703f9, 0x030703fa, 0x030703fb, 0x030703fc, 0x030703fd, 0x030703fe, 0x030703ff, +0x03070400, 0x03070401, 0x03070402, 0x03070403, 0x03070404, 0x03070405, 0x03070406, 0x03070407, +0x030704f8, 0x030704f9, 0x030704fa, 0x030704fb, 0x030704fc, 0x030704fd, 0x030704fe, 0x030704ff, +0x03070500, 0x03070501, 0x03070502, 0x03070503, 0x03070504, 0x03070505, 0x03070506, 0x03070507, +0x030705f8, 0x030705f9, 0x030705fa, 0x030705fb, 0x030705fc, 0x030705fd, 0x030705fe, 0x030705ff, +0x03070600, 0x03070601, 0x03070602, 0x03070603, 0x03070604, 0x03070605, 0x03070606, 0x03070607, +0x030706f8, 0x030706f9, 0x030706fa, 0x030706fb, 0x030706fc, 0x030706fd, 0x030706fe, 0x030706ff, +0x03070700, 0x03070701, 0x03070702, 0x03070703, 0x03070704, 0x03070705, 0x03070706, 0x03070707, +0x030707f8, 0x030707f9, 0x030707fa, 0x030707fb, 0x030707fc, 0x030707fd, 0x030707fe, 0x030707ff, +0x0307f800, 0x0307f801, 0x0307f802, 0x0307f803, 0x0307f804, 0x0307f805, 0x0307f806, 0x0307f807, +0x0307f8f8, 0x0307f8f9, 0x0307f8fa, 0x0307f8fb, 0x0307f8fc, 0x0307f8fd, 0x0307f8fe, 0x0307f8ff, +0x0307f900, 0x0307f901, 0x0307f902, 0x0307f903, 0x0307f904, 0x0307f905, 0x0307f906, 0x0307f907, +0x0307f9f8, 0x0307f9f9, 0x0307f9fa, 0x0307f9fb, 0x0307f9fc, 0x0307f9fd, 0x0307f9fe, 0x0307f9ff, +0x0307fa00, 0x0307fa01, 0x0307fa02, 0x0307fa03, 0x0307fa04, 0x0307fa05, 0x0307fa06, 0x0307fa07, +0x0307faf8, 0x0307faf9, 0x0307fafa, 0x0307fafb, 0x0307fafc, 0x0307fafd, 0x0307fafe, 0x0307faff, +0x0307fb00, 0x0307fb01, 0x0307fb02, 0x0307fb03, 0x0307fb04, 0x0307fb05, 0x0307fb06, 0x0307fb07, +0x0307fbf8, 0x0307fbf9, 0x0307fbfa, 0x0307fbfb, 0x0307fbfc, 0x0307fbfd, 0x0307fbfe, 0x0307fbff, +0x0307fc00, 0x0307fc01, 0x0307fc02, 0x0307fc03, 0x0307fc04, 0x0307fc05, 0x0307fc06, 0x0307fc07, +0x0307fcf8, 0x0307fcf9, 0x0307fcfa, 0x0307fcfb, 0x0307fcfc, 0x0307fcfd, 0x0307fcfe, 0x0307fcff, +0x0307fd00, 0x0307fd01, 0x0307fd02, 0x0307fd03, 0x0307fd04, 0x0307fd05, 0x0307fd06, 0x0307fd07, +0x0307fdf8, 0x0307fdf9, 0x0307fdfa, 0x0307fdfb, 0x0307fdfc, 0x0307fdfd, 0x0307fdfe, 0x0307fdff, +0x0307fe00, 0x0307fe01, 0x0307fe02, 0x0307fe03, 0x0307fe04, 0x0307fe05, 0x0307fe06, 0x0307fe07, +0x0307fef8, 0x0307fef9, 0x0307fefa, 0x0307fefb, 0x0307fefc, 0x0307fefd, 0x0307fefe, 0x0307feff, +0x0307ff00, 0x0307ff01, 0x0307ff02, 0x0307ff03, 0x0307ff04, 0x0307ff05, 0x0307ff06, 0x0307ff07, +0x0307fff8, 0x0307fff9, 0x0307fffa, 0x0307fffb, 0x0307fffc, 0x0307fffd, 0x0307fffe, 0x0307ffff, +0x03f80000, 0x03f80001, 0x03f80002, 0x03f80003, 0x03f80004, 0x03f80005, 0x03f80006, 0x03f80007, +0x03f800f8, 0x03f800f9, 0x03f800fa, 0x03f800fb, 0x03f800fc, 0x03f800fd, 0x03f800fe, 0x03f800ff, +0x03f80100, 0x03f80101, 0x03f80102, 0x03f80103, 0x03f80104, 0x03f80105, 0x03f80106, 0x03f80107, +0x03f801f8, 0x03f801f9, 0x03f801fa, 0x03f801fb, 0x03f801fc, 0x03f801fd, 0x03f801fe, 0x03f801ff, +0x03f80200, 0x03f80201, 0x03f80202, 0x03f80203, 0x03f80204, 0x03f80205, 0x03f80206, 0x03f80207, +0x03f802f8, 0x03f802f9, 0x03f802fa, 0x03f802fb, 0x03f802fc, 0x03f802fd, 0x03f802fe, 0x03f802ff, +0x03f80300, 0x03f80301, 0x03f80302, 0x03f80303, 0x03f80304, 0x03f80305, 0x03f80306, 0x03f80307, +0x03f803f8, 0x03f803f9, 0x03f803fa, 0x03f803fb, 0x03f803fc, 0x03f803fd, 0x03f803fe, 0x03f803ff, +0x03f80400, 0x03f80401, 0x03f80402, 0x03f80403, 0x03f80404, 0x03f80405, 0x03f80406, 0x03f80407, +0x03f804f8, 0x03f804f9, 0x03f804fa, 0x03f804fb, 0x03f804fc, 0x03f804fd, 0x03f804fe, 0x03f804ff, +0x03f80500, 0x03f80501, 0x03f80502, 0x03f80503, 0x03f80504, 0x03f80505, 0x03f80506, 0x03f80507, +0x03f805f8, 0x03f805f9, 0x03f805fa, 0x03f805fb, 0x03f805fc, 0x03f805fd, 0x03f805fe, 0x03f805ff, +0x03f80600, 0x03f80601, 0x03f80602, 0x03f80603, 0x03f80604, 0x03f80605, 0x03f80606, 0x03f80607, +0x03f806f8, 0x03f806f9, 0x03f806fa, 0x03f806fb, 0x03f806fc, 0x03f806fd, 0x03f806fe, 0x03f806ff, +0x03f80700, 0x03f80701, 0x03f80702, 0x03f80703, 0x03f80704, 0x03f80705, 0x03f80706, 0x03f80707, +0x03f807f8, 0x03f807f9, 0x03f807fa, 0x03f807fb, 0x03f807fc, 0x03f807fd, 0x03f807fe, 0x03f807ff, +0x03f8f800, 0x03f8f801, 0x03f8f802, 0x03f8f803, 0x03f8f804, 0x03f8f805, 0x03f8f806, 0x03f8f807, +0x03f8f8f8, 0x03f8f8f9, 0x03f8f8fa, 0x03f8f8fb, 0x03f8f8fc, 0x03f8f8fd, 0x03f8f8fe, 0x03f8f8ff, +0x03f8f900, 0x03f8f901, 0x03f8f902, 0x03f8f903, 0x03f8f904, 0x03f8f905, 0x03f8f906, 0x03f8f907, +0x03f8f9f8, 0x03f8f9f9, 0x03f8f9fa, 0x03f8f9fb, 0x03f8f9fc, 0x03f8f9fd, 0x03f8f9fe, 0x03f8f9ff, +0x03f8fa00, 0x03f8fa01, 0x03f8fa02, 0x03f8fa03, 0x03f8fa04, 0x03f8fa05, 0x03f8fa06, 0x03f8fa07, +0x03f8faf8, 0x03f8faf9, 0x03f8fafa, 0x03f8fafb, 0x03f8fafc, 0x03f8fafd, 0x03f8fafe, 0x03f8faff, +0x03f8fb00, 0x03f8fb01, 0x03f8fb02, 0x03f8fb03, 0x03f8fb04, 0x03f8fb05, 0x03f8fb06, 0x03f8fb07, +0x03f8fbf8, 0x03f8fbf9, 0x03f8fbfa, 0x03f8fbfb, 0x03f8fbfc, 0x03f8fbfd, 0x03f8fbfe, 0x03f8fbff, +0x03f8fc00, 0x03f8fc01, 0x03f8fc02, 0x03f8fc03, 0x03f8fc04, 0x03f8fc05, 0x03f8fc06, 0x03f8fc07, +0x03f8fcf8, 0x03f8fcf9, 0x03f8fcfa, 0x03f8fcfb, 0x03f8fcfc, 0x03f8fcfd, 0x03f8fcfe, 0x03f8fcff, +0x03f8fd00, 0x03f8fd01, 0x03f8fd02, 0x03f8fd03, 0x03f8fd04, 0x03f8fd05, 0x03f8fd06, 0x03f8fd07, +0x03f8fdf8, 0x03f8fdf9, 0x03f8fdfa, 0x03f8fdfb, 0x03f8fdfc, 0x03f8fdfd, 0x03f8fdfe, 0x03f8fdff, +0x03f8fe00, 0x03f8fe01, 0x03f8fe02, 0x03f8fe03, 0x03f8fe04, 0x03f8fe05, 0x03f8fe06, 0x03f8fe07, +0x03f8fef8, 0x03f8fef9, 0x03f8fefa, 0x03f8fefb, 0x03f8fefc, 0x03f8fefd, 0x03f8fefe, 0x03f8feff, +0x03f8ff00, 0x03f8ff01, 0x03f8ff02, 0x03f8ff03, 0x03f8ff04, 0x03f8ff05, 0x03f8ff06, 0x03f8ff07, +0x03f8fff8, 0x03f8fff9, 0x03f8fffa, 0x03f8fffb, 0x03f8fffc, 0x03f8fffd, 0x03f8fffe, 0x03f8ffff, +0x03f90000, 0x03f90001, 0x03f90002, 0x03f90003, 0x03f90004, 0x03f90005, 0x03f90006, 0x03f90007, +0x03f900f8, 0x03f900f9, 0x03f900fa, 0x03f900fb, 0x03f900fc, 0x03f900fd, 0x03f900fe, 0x03f900ff, +0x03f90100, 0x03f90101, 0x03f90102, 0x03f90103, 0x03f90104, 0x03f90105, 0x03f90106, 0x03f90107, +0x03f901f8, 0x03f901f9, 0x03f901fa, 0x03f901fb, 0x03f901fc, 0x03f901fd, 0x03f901fe, 0x03f901ff, +0x03f90200, 0x03f90201, 0x03f90202, 0x03f90203, 0x03f90204, 0x03f90205, 0x03f90206, 0x03f90207, +0x03f902f8, 0x03f902f9, 0x03f902fa, 0x03f902fb, 0x03f902fc, 0x03f902fd, 0x03f902fe, 0x03f902ff, +0x03f90300, 0x03f90301, 0x03f90302, 0x03f90303, 0x03f90304, 0x03f90305, 0x03f90306, 0x03f90307, +0x03f903f8, 0x03f903f9, 0x03f903fa, 0x03f903fb, 0x03f903fc, 0x03f903fd, 0x03f903fe, 0x03f903ff, +0x03f90400, 0x03f90401, 0x03f90402, 0x03f90403, 0x03f90404, 0x03f90405, 0x03f90406, 0x03f90407, +0x03f904f8, 0x03f904f9, 0x03f904fa, 0x03f904fb, 0x03f904fc, 0x03f904fd, 0x03f904fe, 0x03f904ff, +0x03f90500, 0x03f90501, 0x03f90502, 0x03f90503, 0x03f90504, 0x03f90505, 0x03f90506, 0x03f90507, +0x03f905f8, 0x03f905f9, 0x03f905fa, 0x03f905fb, 0x03f905fc, 0x03f905fd, 0x03f905fe, 0x03f905ff, +0x03f90600, 0x03f90601, 0x03f90602, 0x03f90603, 0x03f90604, 0x03f90605, 0x03f90606, 0x03f90607, +0x03f906f8, 0x03f906f9, 0x03f906fa, 0x03f906fb, 0x03f906fc, 0x03f906fd, 0x03f906fe, 0x03f906ff, +0x03f90700, 0x03f90701, 0x03f90702, 0x03f90703, 0x03f90704, 0x03f90705, 0x03f90706, 0x03f90707, +0x03f907f8, 0x03f907f9, 0x03f907fa, 0x03f907fb, 0x03f907fc, 0x03f907fd, 0x03f907fe, 0x03f907ff, +0x03f9f800, 0x03f9f801, 0x03f9f802, 0x03f9f803, 0x03f9f804, 0x03f9f805, 0x03f9f806, 0x03f9f807, +0x03f9f8f8, 0x03f9f8f9, 0x03f9f8fa, 0x03f9f8fb, 0x03f9f8fc, 0x03f9f8fd, 0x03f9f8fe, 0x03f9f8ff, +0x03f9f900, 0x03f9f901, 0x03f9f902, 0x03f9f903, 0x03f9f904, 0x03f9f905, 0x03f9f906, 0x03f9f907, +0x03f9f9f8, 0x03f9f9f9, 0x03f9f9fa, 0x03f9f9fb, 0x03f9f9fc, 0x03f9f9fd, 0x03f9f9fe, 0x03f9f9ff, +0x03f9fa00, 0x03f9fa01, 0x03f9fa02, 0x03f9fa03, 0x03f9fa04, 0x03f9fa05, 0x03f9fa06, 0x03f9fa07, +0x03f9faf8, 0x03f9faf9, 0x03f9fafa, 0x03f9fafb, 0x03f9fafc, 0x03f9fafd, 0x03f9fafe, 0x03f9faff, +0x03f9fb00, 0x03f9fb01, 0x03f9fb02, 0x03f9fb03, 0x03f9fb04, 0x03f9fb05, 0x03f9fb06, 0x03f9fb07, +0x03f9fbf8, 0x03f9fbf9, 0x03f9fbfa, 0x03f9fbfb, 0x03f9fbfc, 0x03f9fbfd, 0x03f9fbfe, 0x03f9fbff, +0x03f9fc00, 0x03f9fc01, 0x03f9fc02, 0x03f9fc03, 0x03f9fc04, 0x03f9fc05, 0x03f9fc06, 0x03f9fc07, +0x03f9fcf8, 0x03f9fcf9, 0x03f9fcfa, 0x03f9fcfb, 0x03f9fcfc, 0x03f9fcfd, 0x03f9fcfe, 0x03f9fcff, +0x03f9fd00, 0x03f9fd01, 0x03f9fd02, 0x03f9fd03, 0x03f9fd04, 0x03f9fd05, 0x03f9fd06, 0x03f9fd07, +0x03f9fdf8, 0x03f9fdf9, 0x03f9fdfa, 0x03f9fdfb, 0x03f9fdfc, 0x03f9fdfd, 0x03f9fdfe, 0x03f9fdff, +0x03f9fe00, 0x03f9fe01, 0x03f9fe02, 0x03f9fe03, 0x03f9fe04, 0x03f9fe05, 0x03f9fe06, 0x03f9fe07, +0x03f9fef8, 0x03f9fef9, 0x03f9fefa, 0x03f9fefb, 0x03f9fefc, 0x03f9fefd, 0x03f9fefe, 0x03f9feff, +0x03f9ff00, 0x03f9ff01, 0x03f9ff02, 0x03f9ff03, 0x03f9ff04, 0x03f9ff05, 0x03f9ff06, 0x03f9ff07, +0x03f9fff8, 0x03f9fff9, 0x03f9fffa, 0x03f9fffb, 0x03f9fffc, 0x03f9fffd, 0x03f9fffe, 0x03f9ffff, +0x03fa0000, 0x03fa0001, 0x03fa0002, 0x03fa0003, 0x03fa0004, 0x03fa0005, 0x03fa0006, 0x03fa0007, +0x03fa00f8, 0x03fa00f9, 0x03fa00fa, 0x03fa00fb, 0x03fa00fc, 0x03fa00fd, 0x03fa00fe, 0x03fa00ff, +0x03fa0100, 0x03fa0101, 0x03fa0102, 0x03fa0103, 0x03fa0104, 0x03fa0105, 0x03fa0106, 0x03fa0107, +0x03fa01f8, 0x03fa01f9, 0x03fa01fa, 0x03fa01fb, 0x03fa01fc, 0x03fa01fd, 0x03fa01fe, 0x03fa01ff, +0x03fa0200, 0x03fa0201, 0x03fa0202, 0x03fa0203, 0x03fa0204, 0x03fa0205, 0x03fa0206, 0x03fa0207, +0x03fa02f8, 0x03fa02f9, 0x03fa02fa, 0x03fa02fb, 0x03fa02fc, 0x03fa02fd, 0x03fa02fe, 0x03fa02ff, +0x03fa0300, 0x03fa0301, 0x03fa0302, 0x03fa0303, 0x03fa0304, 0x03fa0305, 0x03fa0306, 0x03fa0307, +0x03fa03f8, 0x03fa03f9, 0x03fa03fa, 0x03fa03fb, 0x03fa03fc, 0x03fa03fd, 0x03fa03fe, 0x03fa03ff, +0x03fa0400, 0x03fa0401, 0x03fa0402, 0x03fa0403, 0x03fa0404, 0x03fa0405, 0x03fa0406, 0x03fa0407, +0x03fa04f8, 0x03fa04f9, 0x03fa04fa, 0x03fa04fb, 0x03fa04fc, 0x03fa04fd, 0x03fa04fe, 0x03fa04ff, +0x03fa0500, 0x03fa0501, 0x03fa0502, 0x03fa0503, 0x03fa0504, 0x03fa0505, 0x03fa0506, 0x03fa0507, +0x03fa05f8, 0x03fa05f9, 0x03fa05fa, 0x03fa05fb, 0x03fa05fc, 0x03fa05fd, 0x03fa05fe, 0x03fa05ff, +0x03fa0600, 0x03fa0601, 0x03fa0602, 0x03fa0603, 0x03fa0604, 0x03fa0605, 0x03fa0606, 0x03fa0607, +0x03fa06f8, 0x03fa06f9, 0x03fa06fa, 0x03fa06fb, 0x03fa06fc, 0x03fa06fd, 0x03fa06fe, 0x03fa06ff, +0x03fa0700, 0x03fa0701, 0x03fa0702, 0x03fa0703, 0x03fa0704, 0x03fa0705, 0x03fa0706, 0x03fa0707, +0x03fa07f8, 0x03fa07f9, 0x03fa07fa, 0x03fa07fb, 0x03fa07fc, 0x03fa07fd, 0x03fa07fe, 0x03fa07ff, +0x03faf800, 0x03faf801, 0x03faf802, 0x03faf803, 0x03faf804, 0x03faf805, 0x03faf806, 0x03faf807, +0x03faf8f8, 0x03faf8f9, 0x03faf8fa, 0x03faf8fb, 0x03faf8fc, 0x03faf8fd, 0x03faf8fe, 0x03faf8ff, +0x03faf900, 0x03faf901, 0x03faf902, 0x03faf903, 0x03faf904, 0x03faf905, 0x03faf906, 0x03faf907, +0x03faf9f8, 0x03faf9f9, 0x03faf9fa, 0x03faf9fb, 0x03faf9fc, 0x03faf9fd, 0x03faf9fe, 0x03faf9ff, +0x03fafa00, 0x03fafa01, 0x03fafa02, 0x03fafa03, 0x03fafa04, 0x03fafa05, 0x03fafa06, 0x03fafa07, +0x03fafaf8, 0x03fafaf9, 0x03fafafa, 0x03fafafb, 0x03fafafc, 0x03fafafd, 0x03fafafe, 0x03fafaff, +0x03fafb00, 0x03fafb01, 0x03fafb02, 0x03fafb03, 0x03fafb04, 0x03fafb05, 0x03fafb06, 0x03fafb07, +0x03fafbf8, 0x03fafbf9, 0x03fafbfa, 0x03fafbfb, 0x03fafbfc, 0x03fafbfd, 0x03fafbfe, 0x03fafbff, +0x03fafc00, 0x03fafc01, 0x03fafc02, 0x03fafc03, 0x03fafc04, 0x03fafc05, 0x03fafc06, 0x03fafc07, +0x03fafcf8, 0x03fafcf9, 0x03fafcfa, 0x03fafcfb, 0x03fafcfc, 0x03fafcfd, 0x03fafcfe, 0x03fafcff, +0x03fafd00, 0x03fafd01, 0x03fafd02, 0x03fafd03, 0x03fafd04, 0x03fafd05, 0x03fafd06, 0x03fafd07, +0x03fafdf8, 0x03fafdf9, 0x03fafdfa, 0x03fafdfb, 0x03fafdfc, 0x03fafdfd, 0x03fafdfe, 0x03fafdff, +0x03fafe00, 0x03fafe01, 0x03fafe02, 0x03fafe03, 0x03fafe04, 0x03fafe05, 0x03fafe06, 0x03fafe07, +0x03fafef8, 0x03fafef9, 0x03fafefa, 0x03fafefb, 0x03fafefc, 0x03fafefd, 0x03fafefe, 0x03fafeff, +0x03faff00, 0x03faff01, 0x03faff02, 0x03faff03, 0x03faff04, 0x03faff05, 0x03faff06, 0x03faff07, +0x03fafff8, 0x03fafff9, 0x03fafffa, 0x03fafffb, 0x03fafffc, 0x03fafffd, 0x03fafffe, 0x03faffff, +0x03fb0000, 0x03fb0001, 0x03fb0002, 0x03fb0003, 0x03fb0004, 0x03fb0005, 0x03fb0006, 0x03fb0007, +0x03fb00f8, 0x03fb00f9, 0x03fb00fa, 0x03fb00fb, 0x03fb00fc, 0x03fb00fd, 0x03fb00fe, 0x03fb00ff, +0x03fb0100, 0x03fb0101, 0x03fb0102, 0x03fb0103, 0x03fb0104, 0x03fb0105, 0x03fb0106, 0x03fb0107, +0x03fb01f8, 0x03fb01f9, 0x03fb01fa, 0x03fb01fb, 0x03fb01fc, 0x03fb01fd, 0x03fb01fe, 0x03fb01ff, +0x03fb0200, 0x03fb0201, 0x03fb0202, 0x03fb0203, 0x03fb0204, 0x03fb0205, 0x03fb0206, 0x03fb0207, +0x03fb02f8, 0x03fb02f9, 0x03fb02fa, 0x03fb02fb, 0x03fb02fc, 0x03fb02fd, 0x03fb02fe, 0x03fb02ff, +0x03fb0300, 0x03fb0301, 0x03fb0302, 0x03fb0303, 0x03fb0304, 0x03fb0305, 0x03fb0306, 0x03fb0307, +0x03fb03f8, 0x03fb03f9, 0x03fb03fa, 0x03fb03fb, 0x03fb03fc, 0x03fb03fd, 0x03fb03fe, 0x03fb03ff, +0x03fb0400, 0x03fb0401, 0x03fb0402, 0x03fb0403, 0x03fb0404, 0x03fb0405, 0x03fb0406, 0x03fb0407, +0x03fb04f8, 0x03fb04f9, 0x03fb04fa, 0x03fb04fb, 0x03fb04fc, 0x03fb04fd, 0x03fb04fe, 0x03fb04ff, +0x03fb0500, 0x03fb0501, 0x03fb0502, 0x03fb0503, 0x03fb0504, 0x03fb0505, 0x03fb0506, 0x03fb0507, +0x03fb05f8, 0x03fb05f9, 0x03fb05fa, 0x03fb05fb, 0x03fb05fc, 0x03fb05fd, 0x03fb05fe, 0x03fb05ff, +0x03fb0600, 0x03fb0601, 0x03fb0602, 0x03fb0603, 0x03fb0604, 0x03fb0605, 0x03fb0606, 0x03fb0607, +0x03fb06f8, 0x03fb06f9, 0x03fb06fa, 0x03fb06fb, 0x03fb06fc, 0x03fb06fd, 0x03fb06fe, 0x03fb06ff, +0x03fb0700, 0x03fb0701, 0x03fb0702, 0x03fb0703, 0x03fb0704, 0x03fb0705, 0x03fb0706, 0x03fb0707, +0x03fb07f8, 0x03fb07f9, 0x03fb07fa, 0x03fb07fb, 0x03fb07fc, 0x03fb07fd, 0x03fb07fe, 0x03fb07ff, +0x03fbf800, 0x03fbf801, 0x03fbf802, 0x03fbf803, 0x03fbf804, 0x03fbf805, 0x03fbf806, 0x03fbf807, +0x03fbf8f8, 0x03fbf8f9, 0x03fbf8fa, 0x03fbf8fb, 0x03fbf8fc, 0x03fbf8fd, 0x03fbf8fe, 0x03fbf8ff, +0x03fbf900, 0x03fbf901, 0x03fbf902, 0x03fbf903, 0x03fbf904, 0x03fbf905, 0x03fbf906, 0x03fbf907, +0x03fbf9f8, 0x03fbf9f9, 0x03fbf9fa, 0x03fbf9fb, 0x03fbf9fc, 0x03fbf9fd, 0x03fbf9fe, 0x03fbf9ff, +0x03fbfa00, 0x03fbfa01, 0x03fbfa02, 0x03fbfa03, 0x03fbfa04, 0x03fbfa05, 0x03fbfa06, 0x03fbfa07, +0x03fbfaf8, 0x03fbfaf9, 0x03fbfafa, 0x03fbfafb, 0x03fbfafc, 0x03fbfafd, 0x03fbfafe, 0x03fbfaff, +0x03fbfb00, 0x03fbfb01, 0x03fbfb02, 0x03fbfb03, 0x03fbfb04, 0x03fbfb05, 0x03fbfb06, 0x03fbfb07, +0x03fbfbf8, 0x03fbfbf9, 0x03fbfbfa, 0x03fbfbfb, 0x03fbfbfc, 0x03fbfbfd, 0x03fbfbfe, 0x03fbfbff, +0x03fbfc00, 0x03fbfc01, 0x03fbfc02, 0x03fbfc03, 0x03fbfc04, 0x03fbfc05, 0x03fbfc06, 0x03fbfc07, +0x03fbfcf8, 0x03fbfcf9, 0x03fbfcfa, 0x03fbfcfb, 0x03fbfcfc, 0x03fbfcfd, 0x03fbfcfe, 0x03fbfcff, +0x03fbfd00, 0x03fbfd01, 0x03fbfd02, 0x03fbfd03, 0x03fbfd04, 0x03fbfd05, 0x03fbfd06, 0x03fbfd07, +0x03fbfdf8, 0x03fbfdf9, 0x03fbfdfa, 0x03fbfdfb, 0x03fbfdfc, 0x03fbfdfd, 0x03fbfdfe, 0x03fbfdff, +0x03fbfe00, 0x03fbfe01, 0x03fbfe02, 0x03fbfe03, 0x03fbfe04, 0x03fbfe05, 0x03fbfe06, 0x03fbfe07, +0x03fbfef8, 0x03fbfef9, 0x03fbfefa, 0x03fbfefb, 0x03fbfefc, 0x03fbfefd, 0x03fbfefe, 0x03fbfeff, +0x03fbff00, 0x03fbff01, 0x03fbff02, 0x03fbff03, 0x03fbff04, 0x03fbff05, 0x03fbff06, 0x03fbff07, +0x03fbfff8, 0x03fbfff9, 0x03fbfffa, 0x03fbfffb, 0x03fbfffc, 0x03fbfffd, 0x03fbfffe, 0x03fbffff, +0x03fc0000, 0x03fc0001, 0x03fc0002, 0x03fc0003, 0x03fc0004, 0x03fc0005, 0x03fc0006, 0x03fc0007, +0x03fc00f8, 0x03fc00f9, 0x03fc00fa, 0x03fc00fb, 0x03fc00fc, 0x03fc00fd, 0x03fc00fe, 0x03fc00ff, +0x03fc0100, 0x03fc0101, 0x03fc0102, 0x03fc0103, 0x03fc0104, 0x03fc0105, 0x03fc0106, 0x03fc0107, +0x03fc01f8, 0x03fc01f9, 0x03fc01fa, 0x03fc01fb, 0x03fc01fc, 0x03fc01fd, 0x03fc01fe, 0x03fc01ff, +0x03fc0200, 0x03fc0201, 0x03fc0202, 0x03fc0203, 0x03fc0204, 0x03fc0205, 0x03fc0206, 0x03fc0207, +0x03fc02f8, 0x03fc02f9, 0x03fc02fa, 0x03fc02fb, 0x03fc02fc, 0x03fc02fd, 0x03fc02fe, 0x03fc02ff, +0x03fc0300, 0x03fc0301, 0x03fc0302, 0x03fc0303, 0x03fc0304, 0x03fc0305, 0x03fc0306, 0x03fc0307, +0x03fc03f8, 0x03fc03f9, 0x03fc03fa, 0x03fc03fb, 0x03fc03fc, 0x03fc03fd, 0x03fc03fe, 0x03fc03ff, +0x03fc0400, 0x03fc0401, 0x03fc0402, 0x03fc0403, 0x03fc0404, 0x03fc0405, 0x03fc0406, 0x03fc0407, +0x03fc04f8, 0x03fc04f9, 0x03fc04fa, 0x03fc04fb, 0x03fc04fc, 0x03fc04fd, 0x03fc04fe, 0x03fc04ff, +0x03fc0500, 0x03fc0501, 0x03fc0502, 0x03fc0503, 0x03fc0504, 0x03fc0505, 0x03fc0506, 0x03fc0507, +0x03fc05f8, 0x03fc05f9, 0x03fc05fa, 0x03fc05fb, 0x03fc05fc, 0x03fc05fd, 0x03fc05fe, 0x03fc05ff, +0x03fc0600, 0x03fc0601, 0x03fc0602, 0x03fc0603, 0x03fc0604, 0x03fc0605, 0x03fc0606, 0x03fc0607, +0x03fc06f8, 0x03fc06f9, 0x03fc06fa, 0x03fc06fb, 0x03fc06fc, 0x03fc06fd, 0x03fc06fe, 0x03fc06ff, +0x03fc0700, 0x03fc0701, 0x03fc0702, 0x03fc0703, 0x03fc0704, 0x03fc0705, 0x03fc0706, 0x03fc0707, +0x03fc07f8, 0x03fc07f9, 0x03fc07fa, 0x03fc07fb, 0x03fc07fc, 0x03fc07fd, 0x03fc07fe, 0x03fc07ff, +0x03fcf800, 0x03fcf801, 0x03fcf802, 0x03fcf803, 0x03fcf804, 0x03fcf805, 0x03fcf806, 0x03fcf807, +0x03fcf8f8, 0x03fcf8f9, 0x03fcf8fa, 0x03fcf8fb, 0x03fcf8fc, 0x03fcf8fd, 0x03fcf8fe, 0x03fcf8ff, +0x03fcf900, 0x03fcf901, 0x03fcf902, 0x03fcf903, 0x03fcf904, 0x03fcf905, 0x03fcf906, 0x03fcf907, +0x03fcf9f8, 0x03fcf9f9, 0x03fcf9fa, 0x03fcf9fb, 0x03fcf9fc, 0x03fcf9fd, 0x03fcf9fe, 0x03fcf9ff, +0x03fcfa00, 0x03fcfa01, 0x03fcfa02, 0x03fcfa03, 0x03fcfa04, 0x03fcfa05, 0x03fcfa06, 0x03fcfa07, +0x03fcfaf8, 0x03fcfaf9, 0x03fcfafa, 0x03fcfafb, 0x03fcfafc, 0x03fcfafd, 0x03fcfafe, 0x03fcfaff, +0x03fcfb00, 0x03fcfb01, 0x03fcfb02, 0x03fcfb03, 0x03fcfb04, 0x03fcfb05, 0x03fcfb06, 0x03fcfb07, +0x03fcfbf8, 0x03fcfbf9, 0x03fcfbfa, 0x03fcfbfb, 0x03fcfbfc, 0x03fcfbfd, 0x03fcfbfe, 0x03fcfbff, +0x03fcfc00, 0x03fcfc01, 0x03fcfc02, 0x03fcfc03, 0x03fcfc04, 0x03fcfc05, 0x03fcfc06, 0x03fcfc07, +0x03fcfcf8, 0x03fcfcf9, 0x03fcfcfa, 0x03fcfcfb, 0x03fcfcfc, 0x03fcfcfd, 0x03fcfcfe, 0x03fcfcff, +0x03fcfd00, 0x03fcfd01, 0x03fcfd02, 0x03fcfd03, 0x03fcfd04, 0x03fcfd05, 0x03fcfd06, 0x03fcfd07, +0x03fcfdf8, 0x03fcfdf9, 0x03fcfdfa, 0x03fcfdfb, 0x03fcfdfc, 0x03fcfdfd, 0x03fcfdfe, 0x03fcfdff, +0x03fcfe00, 0x03fcfe01, 0x03fcfe02, 0x03fcfe03, 0x03fcfe04, 0x03fcfe05, 0x03fcfe06, 0x03fcfe07, +0x03fcfef8, 0x03fcfef9, 0x03fcfefa, 0x03fcfefb, 0x03fcfefc, 0x03fcfefd, 0x03fcfefe, 0x03fcfeff, +0x03fcff00, 0x03fcff01, 0x03fcff02, 0x03fcff03, 0x03fcff04, 0x03fcff05, 0x03fcff06, 0x03fcff07, +0x03fcfff8, 0x03fcfff9, 0x03fcfffa, 0x03fcfffb, 0x03fcfffc, 0x03fcfffd, 0x03fcfffe, 0x03fcffff, +0x03fd0000, 0x03fd0001, 0x03fd0002, 0x03fd0003, 0x03fd0004, 0x03fd0005, 0x03fd0006, 0x03fd0007, +0x03fd00f8, 0x03fd00f9, 0x03fd00fa, 0x03fd00fb, 0x03fd00fc, 0x03fd00fd, 0x03fd00fe, 0x03fd00ff, +0x03fd0100, 0x03fd0101, 0x03fd0102, 0x03fd0103, 0x03fd0104, 0x03fd0105, 0x03fd0106, 0x03fd0107, +0x03fd01f8, 0x03fd01f9, 0x03fd01fa, 0x03fd01fb, 0x03fd01fc, 0x03fd01fd, 0x03fd01fe, 0x03fd01ff, +0x03fd0200, 0x03fd0201, 0x03fd0202, 0x03fd0203, 0x03fd0204, 0x03fd0205, 0x03fd0206, 0x03fd0207, +0x03fd02f8, 0x03fd02f9, 0x03fd02fa, 0x03fd02fb, 0x03fd02fc, 0x03fd02fd, 0x03fd02fe, 0x03fd02ff, +0x03fd0300, 0x03fd0301, 0x03fd0302, 0x03fd0303, 0x03fd0304, 0x03fd0305, 0x03fd0306, 0x03fd0307, +0x03fd03f8, 0x03fd03f9, 0x03fd03fa, 0x03fd03fb, 0x03fd03fc, 0x03fd03fd, 0x03fd03fe, 0x03fd03ff, +0x03fd0400, 0x03fd0401, 0x03fd0402, 0x03fd0403, 0x03fd0404, 0x03fd0405, 0x03fd0406, 0x03fd0407, +0x03fd04f8, 0x03fd04f9, 0x03fd04fa, 0x03fd04fb, 0x03fd04fc, 0x03fd04fd, 0x03fd04fe, 0x03fd04ff, +0x03fd0500, 0x03fd0501, 0x03fd0502, 0x03fd0503, 0x03fd0504, 0x03fd0505, 0x03fd0506, 0x03fd0507, +0x03fd05f8, 0x03fd05f9, 0x03fd05fa, 0x03fd05fb, 0x03fd05fc, 0x03fd05fd, 0x03fd05fe, 0x03fd05ff, +0x03fd0600, 0x03fd0601, 0x03fd0602, 0x03fd0603, 0x03fd0604, 0x03fd0605, 0x03fd0606, 0x03fd0607, +0x03fd06f8, 0x03fd06f9, 0x03fd06fa, 0x03fd06fb, 0x03fd06fc, 0x03fd06fd, 0x03fd06fe, 0x03fd06ff, +0x03fd0700, 0x03fd0701, 0x03fd0702, 0x03fd0703, 0x03fd0704, 0x03fd0705, 0x03fd0706, 0x03fd0707, +0x03fd07f8, 0x03fd07f9, 0x03fd07fa, 0x03fd07fb, 0x03fd07fc, 0x03fd07fd, 0x03fd07fe, 0x03fd07ff, +0x03fdf800, 0x03fdf801, 0x03fdf802, 0x03fdf803, 0x03fdf804, 0x03fdf805, 0x03fdf806, 0x03fdf807, +0x03fdf8f8, 0x03fdf8f9, 0x03fdf8fa, 0x03fdf8fb, 0x03fdf8fc, 0x03fdf8fd, 0x03fdf8fe, 0x03fdf8ff, +0x03fdf900, 0x03fdf901, 0x03fdf902, 0x03fdf903, 0x03fdf904, 0x03fdf905, 0x03fdf906, 0x03fdf907, +0x03fdf9f8, 0x03fdf9f9, 0x03fdf9fa, 0x03fdf9fb, 0x03fdf9fc, 0x03fdf9fd, 0x03fdf9fe, 0x03fdf9ff, +0x03fdfa00, 0x03fdfa01, 0x03fdfa02, 0x03fdfa03, 0x03fdfa04, 0x03fdfa05, 0x03fdfa06, 0x03fdfa07, +0x03fdfaf8, 0x03fdfaf9, 0x03fdfafa, 0x03fdfafb, 0x03fdfafc, 0x03fdfafd, 0x03fdfafe, 0x03fdfaff, +0x03fdfb00, 0x03fdfb01, 0x03fdfb02, 0x03fdfb03, 0x03fdfb04, 0x03fdfb05, 0x03fdfb06, 0x03fdfb07, +0x03fdfbf8, 0x03fdfbf9, 0x03fdfbfa, 0x03fdfbfb, 0x03fdfbfc, 0x03fdfbfd, 0x03fdfbfe, 0x03fdfbff, +0x03fdfc00, 0x03fdfc01, 0x03fdfc02, 0x03fdfc03, 0x03fdfc04, 0x03fdfc05, 0x03fdfc06, 0x03fdfc07, +0x03fdfcf8, 0x03fdfcf9, 0x03fdfcfa, 0x03fdfcfb, 0x03fdfcfc, 0x03fdfcfd, 0x03fdfcfe, 0x03fdfcff, +0x03fdfd00, 0x03fdfd01, 0x03fdfd02, 0x03fdfd03, 0x03fdfd04, 0x03fdfd05, 0x03fdfd06, 0x03fdfd07, +0x03fdfdf8, 0x03fdfdf9, 0x03fdfdfa, 0x03fdfdfb, 0x03fdfdfc, 0x03fdfdfd, 0x03fdfdfe, 0x03fdfdff, +0x03fdfe00, 0x03fdfe01, 0x03fdfe02, 0x03fdfe03, 0x03fdfe04, 0x03fdfe05, 0x03fdfe06, 0x03fdfe07, +0x03fdfef8, 0x03fdfef9, 0x03fdfefa, 0x03fdfefb, 0x03fdfefc, 0x03fdfefd, 0x03fdfefe, 0x03fdfeff, +0x03fdff00, 0x03fdff01, 0x03fdff02, 0x03fdff03, 0x03fdff04, 0x03fdff05, 0x03fdff06, 0x03fdff07, +0x03fdfff8, 0x03fdfff9, 0x03fdfffa, 0x03fdfffb, 0x03fdfffc, 0x03fdfffd, 0x03fdfffe, 0x03fdffff, +0x03fe0000, 0x03fe0001, 0x03fe0002, 0x03fe0003, 0x03fe0004, 0x03fe0005, 0x03fe0006, 0x03fe0007, +0x03fe00f8, 0x03fe00f9, 0x03fe00fa, 0x03fe00fb, 0x03fe00fc, 0x03fe00fd, 0x03fe00fe, 0x03fe00ff, +0x03fe0100, 0x03fe0101, 0x03fe0102, 0x03fe0103, 0x03fe0104, 0x03fe0105, 0x03fe0106, 0x03fe0107, +0x03fe01f8, 0x03fe01f9, 0x03fe01fa, 0x03fe01fb, 0x03fe01fc, 0x03fe01fd, 0x03fe01fe, 0x03fe01ff, +0x03fe0200, 0x03fe0201, 0x03fe0202, 0x03fe0203, 0x03fe0204, 0x03fe0205, 0x03fe0206, 0x03fe0207, +0x03fe02f8, 0x03fe02f9, 0x03fe02fa, 0x03fe02fb, 0x03fe02fc, 0x03fe02fd, 0x03fe02fe, 0x03fe02ff, +0x03fe0300, 0x03fe0301, 0x03fe0302, 0x03fe0303, 0x03fe0304, 0x03fe0305, 0x03fe0306, 0x03fe0307, +0x03fe03f8, 0x03fe03f9, 0x03fe03fa, 0x03fe03fb, 0x03fe03fc, 0x03fe03fd, 0x03fe03fe, 0x03fe03ff, +0x03fe0400, 0x03fe0401, 0x03fe0402, 0x03fe0403, 0x03fe0404, 0x03fe0405, 0x03fe0406, 0x03fe0407, +0x03fe04f8, 0x03fe04f9, 0x03fe04fa, 0x03fe04fb, 0x03fe04fc, 0x03fe04fd, 0x03fe04fe, 0x03fe04ff, +0x03fe0500, 0x03fe0501, 0x03fe0502, 0x03fe0503, 0x03fe0504, 0x03fe0505, 0x03fe0506, 0x03fe0507, +0x03fe05f8, 0x03fe05f9, 0x03fe05fa, 0x03fe05fb, 0x03fe05fc, 0x03fe05fd, 0x03fe05fe, 0x03fe05ff, +0x03fe0600, 0x03fe0601, 0x03fe0602, 0x03fe0603, 0x03fe0604, 0x03fe0605, 0x03fe0606, 0x03fe0607, +0x03fe06f8, 0x03fe06f9, 0x03fe06fa, 0x03fe06fb, 0x03fe06fc, 0x03fe06fd, 0x03fe06fe, 0x03fe06ff, +0x03fe0700, 0x03fe0701, 0x03fe0702, 0x03fe0703, 0x03fe0704, 0x03fe0705, 0x03fe0706, 0x03fe0707, +0x03fe07f8, 0x03fe07f9, 0x03fe07fa, 0x03fe07fb, 0x03fe07fc, 0x03fe07fd, 0x03fe07fe, 0x03fe07ff, +0x03fef800, 0x03fef801, 0x03fef802, 0x03fef803, 0x03fef804, 0x03fef805, 0x03fef806, 0x03fef807, +0x03fef8f8, 0x03fef8f9, 0x03fef8fa, 0x03fef8fb, 0x03fef8fc, 0x03fef8fd, 0x03fef8fe, 0x03fef8ff, +0x03fef900, 0x03fef901, 0x03fef902, 0x03fef903, 0x03fef904, 0x03fef905, 0x03fef906, 0x03fef907, +0x03fef9f8, 0x03fef9f9, 0x03fef9fa, 0x03fef9fb, 0x03fef9fc, 0x03fef9fd, 0x03fef9fe, 0x03fef9ff, +0x03fefa00, 0x03fefa01, 0x03fefa02, 0x03fefa03, 0x03fefa04, 0x03fefa05, 0x03fefa06, 0x03fefa07, +0x03fefaf8, 0x03fefaf9, 0x03fefafa, 0x03fefafb, 0x03fefafc, 0x03fefafd, 0x03fefafe, 0x03fefaff, +0x03fefb00, 0x03fefb01, 0x03fefb02, 0x03fefb03, 0x03fefb04, 0x03fefb05, 0x03fefb06, 0x03fefb07, +0x03fefbf8, 0x03fefbf9, 0x03fefbfa, 0x03fefbfb, 0x03fefbfc, 0x03fefbfd, 0x03fefbfe, 0x03fefbff, +0x03fefc00, 0x03fefc01, 0x03fefc02, 0x03fefc03, 0x03fefc04, 0x03fefc05, 0x03fefc06, 0x03fefc07, +0x03fefcf8, 0x03fefcf9, 0x03fefcfa, 0x03fefcfb, 0x03fefcfc, 0x03fefcfd, 0x03fefcfe, 0x03fefcff, +0x03fefd00, 0x03fefd01, 0x03fefd02, 0x03fefd03, 0x03fefd04, 0x03fefd05, 0x03fefd06, 0x03fefd07, +0x03fefdf8, 0x03fefdf9, 0x03fefdfa, 0x03fefdfb, 0x03fefdfc, 0x03fefdfd, 0x03fefdfe, 0x03fefdff, +0x03fefe00, 0x03fefe01, 0x03fefe02, 0x03fefe03, 0x03fefe04, 0x03fefe05, 0x03fefe06, 0x03fefe07, +0x03fefef8, 0x03fefef9, 0x03fefefa, 0x03fefefb, 0x03fefefc, 0x03fefefd, 0x03fefefe, 0x03fefeff, +0x03feff00, 0x03feff01, 0x03feff02, 0x03feff03, 0x03feff04, 0x03feff05, 0x03feff06, 0x03feff07, +0x03fefff8, 0x03fefff9, 0x03fefffa, 0x03fefffb, 0x03fefffc, 0x03fefffd, 0x03fefffe, 0x03feffff, +0x03ff0000, 0x03ff0001, 0x03ff0002, 0x03ff0003, 0x03ff0004, 0x03ff0005, 0x03ff0006, 0x03ff0007, +0x03ff00f8, 0x03ff00f9, 0x03ff00fa, 0x03ff00fb, 0x03ff00fc, 0x03ff00fd, 0x03ff00fe, 0x03ff00ff, +0x03ff0100, 0x03ff0101, 0x03ff0102, 0x03ff0103, 0x03ff0104, 0x03ff0105, 0x03ff0106, 0x03ff0107, +0x03ff01f8, 0x03ff01f9, 0x03ff01fa, 0x03ff01fb, 0x03ff01fc, 0x03ff01fd, 0x03ff01fe, 0x03ff01ff, +0x03ff0200, 0x03ff0201, 0x03ff0202, 0x03ff0203, 0x03ff0204, 0x03ff0205, 0x03ff0206, 0x03ff0207, +0x03ff02f8, 0x03ff02f9, 0x03ff02fa, 0x03ff02fb, 0x03ff02fc, 0x03ff02fd, 0x03ff02fe, 0x03ff02ff, +0x03ff0300, 0x03ff0301, 0x03ff0302, 0x03ff0303, 0x03ff0304, 0x03ff0305, 0x03ff0306, 0x03ff0307, +0x03ff03f8, 0x03ff03f9, 0x03ff03fa, 0x03ff03fb, 0x03ff03fc, 0x03ff03fd, 0x03ff03fe, 0x03ff03ff, +0x03ff0400, 0x03ff0401, 0x03ff0402, 0x03ff0403, 0x03ff0404, 0x03ff0405, 0x03ff0406, 0x03ff0407, +0x03ff04f8, 0x03ff04f9, 0x03ff04fa, 0x03ff04fb, 0x03ff04fc, 0x03ff04fd, 0x03ff04fe, 0x03ff04ff, +0x03ff0500, 0x03ff0501, 0x03ff0502, 0x03ff0503, 0x03ff0504, 0x03ff0505, 0x03ff0506, 0x03ff0507, +0x03ff05f8, 0x03ff05f9, 0x03ff05fa, 0x03ff05fb, 0x03ff05fc, 0x03ff05fd, 0x03ff05fe, 0x03ff05ff, +0x03ff0600, 0x03ff0601, 0x03ff0602, 0x03ff0603, 0x03ff0604, 0x03ff0605, 0x03ff0606, 0x03ff0607, +0x03ff06f8, 0x03ff06f9, 0x03ff06fa, 0x03ff06fb, 0x03ff06fc, 0x03ff06fd, 0x03ff06fe, 0x03ff06ff, +0x03ff0700, 0x03ff0701, 0x03ff0702, 0x03ff0703, 0x03ff0704, 0x03ff0705, 0x03ff0706, 0x03ff0707, +0x03ff07f8, 0x03ff07f9, 0x03ff07fa, 0x03ff07fb, 0x03ff07fc, 0x03ff07fd, 0x03ff07fe, 0x03ff07ff, +0x03fff800, 0x03fff801, 0x03fff802, 0x03fff803, 0x03fff804, 0x03fff805, 0x03fff806, 0x03fff807, +0x03fff8f8, 0x03fff8f9, 0x03fff8fa, 0x03fff8fb, 0x03fff8fc, 0x03fff8fd, 0x03fff8fe, 0x03fff8ff, +0x03fff900, 0x03fff901, 0x03fff902, 0x03fff903, 0x03fff904, 0x03fff905, 0x03fff906, 0x03fff907, +0x03fff9f8, 0x03fff9f9, 0x03fff9fa, 0x03fff9fb, 0x03fff9fc, 0x03fff9fd, 0x03fff9fe, 0x03fff9ff, +0x03fffa00, 0x03fffa01, 0x03fffa02, 0x03fffa03, 0x03fffa04, 0x03fffa05, 0x03fffa06, 0x03fffa07, +0x03fffaf8, 0x03fffaf9, 0x03fffafa, 0x03fffafb, 0x03fffafc, 0x03fffafd, 0x03fffafe, 0x03fffaff, +0x03fffb00, 0x03fffb01, 0x03fffb02, 0x03fffb03, 0x03fffb04, 0x03fffb05, 0x03fffb06, 0x03fffb07, +0x03fffbf8, 0x03fffbf9, 0x03fffbfa, 0x03fffbfb, 0x03fffbfc, 0x03fffbfd, 0x03fffbfe, 0x03fffbff, +0x03fffc00, 0x03fffc01, 0x03fffc02, 0x03fffc03, 0x03fffc04, 0x03fffc05, 0x03fffc06, 0x03fffc07, +0x03fffcf8, 0x03fffcf9, 0x03fffcfa, 0x03fffcfb, 0x03fffcfc, 0x03fffcfd, 0x03fffcfe, 0x03fffcff, +0x03fffd00, 0x03fffd01, 0x03fffd02, 0x03fffd03, 0x03fffd04, 0x03fffd05, 0x03fffd06, 0x03fffd07, +0x03fffdf8, 0x03fffdf9, 0x03fffdfa, 0x03fffdfb, 0x03fffdfc, 0x03fffdfd, 0x03fffdfe, 0x03fffdff, +0x03fffe00, 0x03fffe01, 0x03fffe02, 0x03fffe03, 0x03fffe04, 0x03fffe05, 0x03fffe06, 0x03fffe07, +0x03fffef8, 0x03fffef9, 0x03fffefa, 0x03fffefb, 0x03fffefc, 0x03fffefd, 0x03fffefe, 0x03fffeff, +0x03ffff00, 0x03ffff01, 0x03ffff02, 0x03ffff03, 0x03ffff04, 0x03ffff05, 0x03ffff06, 0x03ffff07, +0x03fffff8, 0x03fffff9, 0x03fffffa, 0x03fffffb, 0x03fffffc, 0x03fffffd, 0x03fffffe, 0x03ffffff, +0x04000000, 0x04000001, 0x04000002, 0x04000003, 0x04000004, 0x04000005, 0x04000006, 0x04000007, +0x040000f8, 0x040000f9, 0x040000fa, 0x040000fb, 0x040000fc, 0x040000fd, 0x040000fe, 0x040000ff, +0x04000100, 0x04000101, 0x04000102, 0x04000103, 0x04000104, 0x04000105, 0x04000106, 0x04000107, +0x040001f8, 0x040001f9, 0x040001fa, 0x040001fb, 0x040001fc, 0x040001fd, 0x040001fe, 0x040001ff, +0x04000200, 0x04000201, 0x04000202, 0x04000203, 0x04000204, 0x04000205, 0x04000206, 0x04000207, +0x040002f8, 0x040002f9, 0x040002fa, 0x040002fb, 0x040002fc, 0x040002fd, 0x040002fe, 0x040002ff, +0x04000300, 0x04000301, 0x04000302, 0x04000303, 0x04000304, 0x04000305, 0x04000306, 0x04000307, +0x040003f8, 0x040003f9, 0x040003fa, 0x040003fb, 0x040003fc, 0x040003fd, 0x040003fe, 0x040003ff, +0x04000400, 0x04000401, 0x04000402, 0x04000403, 0x04000404, 0x04000405, 0x04000406, 0x04000407, +0x040004f8, 0x040004f9, 0x040004fa, 0x040004fb, 0x040004fc, 0x040004fd, 0x040004fe, 0x040004ff, +0x04000500, 0x04000501, 0x04000502, 0x04000503, 0x04000504, 0x04000505, 0x04000506, 0x04000507, +0x040005f8, 0x040005f9, 0x040005fa, 0x040005fb, 0x040005fc, 0x040005fd, 0x040005fe, 0x040005ff, +0x04000600, 0x04000601, 0x04000602, 0x04000603, 0x04000604, 0x04000605, 0x04000606, 0x04000607, +0x040006f8, 0x040006f9, 0x040006fa, 0x040006fb, 0x040006fc, 0x040006fd, 0x040006fe, 0x040006ff, +0x04000700, 0x04000701, 0x04000702, 0x04000703, 0x04000704, 0x04000705, 0x04000706, 0x04000707, +0x040007f8, 0x040007f9, 0x040007fa, 0x040007fb, 0x040007fc, 0x040007fd, 0x040007fe, 0x040007ff, +0x0400f800, 0x0400f801, 0x0400f802, 0x0400f803, 0x0400f804, 0x0400f805, 0x0400f806, 0x0400f807, +0x0400f8f8, 0x0400f8f9, 0x0400f8fa, 0x0400f8fb, 0x0400f8fc, 0x0400f8fd, 0x0400f8fe, 0x0400f8ff, +0x0400f900, 0x0400f901, 0x0400f902, 0x0400f903, 0x0400f904, 0x0400f905, 0x0400f906, 0x0400f907, +0x0400f9f8, 0x0400f9f9, 0x0400f9fa, 0x0400f9fb, 0x0400f9fc, 0x0400f9fd, 0x0400f9fe, 0x0400f9ff, +0x0400fa00, 0x0400fa01, 0x0400fa02, 0x0400fa03, 0x0400fa04, 0x0400fa05, 0x0400fa06, 0x0400fa07, +0x0400faf8, 0x0400faf9, 0x0400fafa, 0x0400fafb, 0x0400fafc, 0x0400fafd, 0x0400fafe, 0x0400faff, +0x0400fb00, 0x0400fb01, 0x0400fb02, 0x0400fb03, 0x0400fb04, 0x0400fb05, 0x0400fb06, 0x0400fb07, +0x0400fbf8, 0x0400fbf9, 0x0400fbfa, 0x0400fbfb, 0x0400fbfc, 0x0400fbfd, 0x0400fbfe, 0x0400fbff, +0x0400fc00, 0x0400fc01, 0x0400fc02, 0x0400fc03, 0x0400fc04, 0x0400fc05, 0x0400fc06, 0x0400fc07, +0x0400fcf8, 0x0400fcf9, 0x0400fcfa, 0x0400fcfb, 0x0400fcfc, 0x0400fcfd, 0x0400fcfe, 0x0400fcff, +0x0400fd00, 0x0400fd01, 0x0400fd02, 0x0400fd03, 0x0400fd04, 0x0400fd05, 0x0400fd06, 0x0400fd07, +0x0400fdf8, 0x0400fdf9, 0x0400fdfa, 0x0400fdfb, 0x0400fdfc, 0x0400fdfd, 0x0400fdfe, 0x0400fdff, +0x0400fe00, 0x0400fe01, 0x0400fe02, 0x0400fe03, 0x0400fe04, 0x0400fe05, 0x0400fe06, 0x0400fe07, +0x0400fef8, 0x0400fef9, 0x0400fefa, 0x0400fefb, 0x0400fefc, 0x0400fefd, 0x0400fefe, 0x0400feff, +0x0400ff00, 0x0400ff01, 0x0400ff02, 0x0400ff03, 0x0400ff04, 0x0400ff05, 0x0400ff06, 0x0400ff07, +0x0400fff8, 0x0400fff9, 0x0400fffa, 0x0400fffb, 0x0400fffc, 0x0400fffd, 0x0400fffe, 0x0400ffff, +0x04010000, 0x04010001, 0x04010002, 0x04010003, 0x04010004, 0x04010005, 0x04010006, 0x04010007, +0x040100f8, 0x040100f9, 0x040100fa, 0x040100fb, 0x040100fc, 0x040100fd, 0x040100fe, 0x040100ff, +0x04010100, 0x04010101, 0x04010102, 0x04010103, 0x04010104, 0x04010105, 0x04010106, 0x04010107, +0x040101f8, 0x040101f9, 0x040101fa, 0x040101fb, 0x040101fc, 0x040101fd, 0x040101fe, 0x040101ff, +0x04010200, 0x04010201, 0x04010202, 0x04010203, 0x04010204, 0x04010205, 0x04010206, 0x04010207, +0x040102f8, 0x040102f9, 0x040102fa, 0x040102fb, 0x040102fc, 0x040102fd, 0x040102fe, 0x040102ff, +0x04010300, 0x04010301, 0x04010302, 0x04010303, 0x04010304, 0x04010305, 0x04010306, 0x04010307, +0x040103f8, 0x040103f9, 0x040103fa, 0x040103fb, 0x040103fc, 0x040103fd, 0x040103fe, 0x040103ff, +0x04010400, 0x04010401, 0x04010402, 0x04010403, 0x04010404, 0x04010405, 0x04010406, 0x04010407, +0x040104f8, 0x040104f9, 0x040104fa, 0x040104fb, 0x040104fc, 0x040104fd, 0x040104fe, 0x040104ff, +0x04010500, 0x04010501, 0x04010502, 0x04010503, 0x04010504, 0x04010505, 0x04010506, 0x04010507, +0x040105f8, 0x040105f9, 0x040105fa, 0x040105fb, 0x040105fc, 0x040105fd, 0x040105fe, 0x040105ff, +0x04010600, 0x04010601, 0x04010602, 0x04010603, 0x04010604, 0x04010605, 0x04010606, 0x04010607, +0x040106f8, 0x040106f9, 0x040106fa, 0x040106fb, 0x040106fc, 0x040106fd, 0x040106fe, 0x040106ff, +0x04010700, 0x04010701, 0x04010702, 0x04010703, 0x04010704, 0x04010705, 0x04010706, 0x04010707, +0x040107f8, 0x040107f9, 0x040107fa, 0x040107fb, 0x040107fc, 0x040107fd, 0x040107fe, 0x040107ff, +0x0401f800, 0x0401f801, 0x0401f802, 0x0401f803, 0x0401f804, 0x0401f805, 0x0401f806, 0x0401f807, +0x0401f8f8, 0x0401f8f9, 0x0401f8fa, 0x0401f8fb, 0x0401f8fc, 0x0401f8fd, 0x0401f8fe, 0x0401f8ff, +0x0401f900, 0x0401f901, 0x0401f902, 0x0401f903, 0x0401f904, 0x0401f905, 0x0401f906, 0x0401f907, +0x0401f9f8, 0x0401f9f9, 0x0401f9fa, 0x0401f9fb, 0x0401f9fc, 0x0401f9fd, 0x0401f9fe, 0x0401f9ff, +0x0401fa00, 0x0401fa01, 0x0401fa02, 0x0401fa03, 0x0401fa04, 0x0401fa05, 0x0401fa06, 0x0401fa07, +0x0401faf8, 0x0401faf9, 0x0401fafa, 0x0401fafb, 0x0401fafc, 0x0401fafd, 0x0401fafe, 0x0401faff, +0x0401fb00, 0x0401fb01, 0x0401fb02, 0x0401fb03, 0x0401fb04, 0x0401fb05, 0x0401fb06, 0x0401fb07, +0x0401fbf8, 0x0401fbf9, 0x0401fbfa, 0x0401fbfb, 0x0401fbfc, 0x0401fbfd, 0x0401fbfe, 0x0401fbff, +0x0401fc00, 0x0401fc01, 0x0401fc02, 0x0401fc03, 0x0401fc04, 0x0401fc05, 0x0401fc06, 0x0401fc07, +0x0401fcf8, 0x0401fcf9, 0x0401fcfa, 0x0401fcfb, 0x0401fcfc, 0x0401fcfd, 0x0401fcfe, 0x0401fcff, +0x0401fd00, 0x0401fd01, 0x0401fd02, 0x0401fd03, 0x0401fd04, 0x0401fd05, 0x0401fd06, 0x0401fd07, +0x0401fdf8, 0x0401fdf9, 0x0401fdfa, 0x0401fdfb, 0x0401fdfc, 0x0401fdfd, 0x0401fdfe, 0x0401fdff, +0x0401fe00, 0x0401fe01, 0x0401fe02, 0x0401fe03, 0x0401fe04, 0x0401fe05, 0x0401fe06, 0x0401fe07, +0x0401fef8, 0x0401fef9, 0x0401fefa, 0x0401fefb, 0x0401fefc, 0x0401fefd, 0x0401fefe, 0x0401feff, +0x0401ff00, 0x0401ff01, 0x0401ff02, 0x0401ff03, 0x0401ff04, 0x0401ff05, 0x0401ff06, 0x0401ff07, +0x0401fff8, 0x0401fff9, 0x0401fffa, 0x0401fffb, 0x0401fffc, 0x0401fffd, 0x0401fffe, 0x0401ffff, +0x04020000, 0x04020001, 0x04020002, 0x04020003, 0x04020004, 0x04020005, 0x04020006, 0x04020007, +0x040200f8, 0x040200f9, 0x040200fa, 0x040200fb, 0x040200fc, 0x040200fd, 0x040200fe, 0x040200ff, +0x04020100, 0x04020101, 0x04020102, 0x04020103, 0x04020104, 0x04020105, 0x04020106, 0x04020107, +0x040201f8, 0x040201f9, 0x040201fa, 0x040201fb, 0x040201fc, 0x040201fd, 0x040201fe, 0x040201ff, +0x04020200, 0x04020201, 0x04020202, 0x04020203, 0x04020204, 0x04020205, 0x04020206, 0x04020207, +0x040202f8, 0x040202f9, 0x040202fa, 0x040202fb, 0x040202fc, 0x040202fd, 0x040202fe, 0x040202ff, +0x04020300, 0x04020301, 0x04020302, 0x04020303, 0x04020304, 0x04020305, 0x04020306, 0x04020307, +0x040203f8, 0x040203f9, 0x040203fa, 0x040203fb, 0x040203fc, 0x040203fd, 0x040203fe, 0x040203ff, +0x04020400, 0x04020401, 0x04020402, 0x04020403, 0x04020404, 0x04020405, 0x04020406, 0x04020407, +0x040204f8, 0x040204f9, 0x040204fa, 0x040204fb, 0x040204fc, 0x040204fd, 0x040204fe, 0x040204ff, +0x04020500, 0x04020501, 0x04020502, 0x04020503, 0x04020504, 0x04020505, 0x04020506, 0x04020507, +0x040205f8, 0x040205f9, 0x040205fa, 0x040205fb, 0x040205fc, 0x040205fd, 0x040205fe, 0x040205ff, +0x04020600, 0x04020601, 0x04020602, 0x04020603, 0x04020604, 0x04020605, 0x04020606, 0x04020607, +0x040206f8, 0x040206f9, 0x040206fa, 0x040206fb, 0x040206fc, 0x040206fd, 0x040206fe, 0x040206ff, +0x04020700, 0x04020701, 0x04020702, 0x04020703, 0x04020704, 0x04020705, 0x04020706, 0x04020707, +0x040207f8, 0x040207f9, 0x040207fa, 0x040207fb, 0x040207fc, 0x040207fd, 0x040207fe, 0x040207ff, +0x0402f800, 0x0402f801, 0x0402f802, 0x0402f803, 0x0402f804, 0x0402f805, 0x0402f806, 0x0402f807, +0x0402f8f8, 0x0402f8f9, 0x0402f8fa, 0x0402f8fb, 0x0402f8fc, 0x0402f8fd, 0x0402f8fe, 0x0402f8ff, +0x0402f900, 0x0402f901, 0x0402f902, 0x0402f903, 0x0402f904, 0x0402f905, 0x0402f906, 0x0402f907, +0x0402f9f8, 0x0402f9f9, 0x0402f9fa, 0x0402f9fb, 0x0402f9fc, 0x0402f9fd, 0x0402f9fe, 0x0402f9ff, +0x0402fa00, 0x0402fa01, 0x0402fa02, 0x0402fa03, 0x0402fa04, 0x0402fa05, 0x0402fa06, 0x0402fa07, +0x0402faf8, 0x0402faf9, 0x0402fafa, 0x0402fafb, 0x0402fafc, 0x0402fafd, 0x0402fafe, 0x0402faff, +0x0402fb00, 0x0402fb01, 0x0402fb02, 0x0402fb03, 0x0402fb04, 0x0402fb05, 0x0402fb06, 0x0402fb07, +0x0402fbf8, 0x0402fbf9, 0x0402fbfa, 0x0402fbfb, 0x0402fbfc, 0x0402fbfd, 0x0402fbfe, 0x0402fbff, +0x0402fc00, 0x0402fc01, 0x0402fc02, 0x0402fc03, 0x0402fc04, 0x0402fc05, 0x0402fc06, 0x0402fc07, +0x0402fcf8, 0x0402fcf9, 0x0402fcfa, 0x0402fcfb, 0x0402fcfc, 0x0402fcfd, 0x0402fcfe, 0x0402fcff, +0x0402fd00, 0x0402fd01, 0x0402fd02, 0x0402fd03, 0x0402fd04, 0x0402fd05, 0x0402fd06, 0x0402fd07, +0x0402fdf8, 0x0402fdf9, 0x0402fdfa, 0x0402fdfb, 0x0402fdfc, 0x0402fdfd, 0x0402fdfe, 0x0402fdff, +0x0402fe00, 0x0402fe01, 0x0402fe02, 0x0402fe03, 0x0402fe04, 0x0402fe05, 0x0402fe06, 0x0402fe07, +0x0402fef8, 0x0402fef9, 0x0402fefa, 0x0402fefb, 0x0402fefc, 0x0402fefd, 0x0402fefe, 0x0402feff, +0x0402ff00, 0x0402ff01, 0x0402ff02, 0x0402ff03, 0x0402ff04, 0x0402ff05, 0x0402ff06, 0x0402ff07, +0x0402fff8, 0x0402fff9, 0x0402fffa, 0x0402fffb, 0x0402fffc, 0x0402fffd, 0x0402fffe, 0x0402ffff, +0x04030000, 0x04030001, 0x04030002, 0x04030003, 0x04030004, 0x04030005, 0x04030006, 0x04030007, +0x040300f8, 0x040300f9, 0x040300fa, 0x040300fb, 0x040300fc, 0x040300fd, 0x040300fe, 0x040300ff, +0x04030100, 0x04030101, 0x04030102, 0x04030103, 0x04030104, 0x04030105, 0x04030106, 0x04030107, +0x040301f8, 0x040301f9, 0x040301fa, 0x040301fb, 0x040301fc, 0x040301fd, 0x040301fe, 0x040301ff, +0x04030200, 0x04030201, 0x04030202, 0x04030203, 0x04030204, 0x04030205, 0x04030206, 0x04030207, +0x040302f8, 0x040302f9, 0x040302fa, 0x040302fb, 0x040302fc, 0x040302fd, 0x040302fe, 0x040302ff, +0x04030300, 0x04030301, 0x04030302, 0x04030303, 0x04030304, 0x04030305, 0x04030306, 0x04030307, +0x040303f8, 0x040303f9, 0x040303fa, 0x040303fb, 0x040303fc, 0x040303fd, 0x040303fe, 0x040303ff, +0x04030400, 0x04030401, 0x04030402, 0x04030403, 0x04030404, 0x04030405, 0x04030406, 0x04030407, +0x040304f8, 0x040304f9, 0x040304fa, 0x040304fb, 0x040304fc, 0x040304fd, 0x040304fe, 0x040304ff, +0x04030500, 0x04030501, 0x04030502, 0x04030503, 0x04030504, 0x04030505, 0x04030506, 0x04030507, +0x040305f8, 0x040305f9, 0x040305fa, 0x040305fb, 0x040305fc, 0x040305fd, 0x040305fe, 0x040305ff, +0x04030600, 0x04030601, 0x04030602, 0x04030603, 0x04030604, 0x04030605, 0x04030606, 0x04030607, +0x040306f8, 0x040306f9, 0x040306fa, 0x040306fb, 0x040306fc, 0x040306fd, 0x040306fe, 0x040306ff, +0x04030700, 0x04030701, 0x04030702, 0x04030703, 0x04030704, 0x04030705, 0x04030706, 0x04030707, +0x040307f8, 0x040307f9, 0x040307fa, 0x040307fb, 0x040307fc, 0x040307fd, 0x040307fe, 0x040307ff, +0x0403f800, 0x0403f801, 0x0403f802, 0x0403f803, 0x0403f804, 0x0403f805, 0x0403f806, 0x0403f807, +0x0403f8f8, 0x0403f8f9, 0x0403f8fa, 0x0403f8fb, 0x0403f8fc, 0x0403f8fd, 0x0403f8fe, 0x0403f8ff, +0x0403f900, 0x0403f901, 0x0403f902, 0x0403f903, 0x0403f904, 0x0403f905, 0x0403f906, 0x0403f907, +0x0403f9f8, 0x0403f9f9, 0x0403f9fa, 0x0403f9fb, 0x0403f9fc, 0x0403f9fd, 0x0403f9fe, 0x0403f9ff, +0x0403fa00, 0x0403fa01, 0x0403fa02, 0x0403fa03, 0x0403fa04, 0x0403fa05, 0x0403fa06, 0x0403fa07, +0x0403faf8, 0x0403faf9, 0x0403fafa, 0x0403fafb, 0x0403fafc, 0x0403fafd, 0x0403fafe, 0x0403faff, +0x0403fb00, 0x0403fb01, 0x0403fb02, 0x0403fb03, 0x0403fb04, 0x0403fb05, 0x0403fb06, 0x0403fb07, +0x0403fbf8, 0x0403fbf9, 0x0403fbfa, 0x0403fbfb, 0x0403fbfc, 0x0403fbfd, 0x0403fbfe, 0x0403fbff, +0x0403fc00, 0x0403fc01, 0x0403fc02, 0x0403fc03, 0x0403fc04, 0x0403fc05, 0x0403fc06, 0x0403fc07, +0x0403fcf8, 0x0403fcf9, 0x0403fcfa, 0x0403fcfb, 0x0403fcfc, 0x0403fcfd, 0x0403fcfe, 0x0403fcff, +0x0403fd00, 0x0403fd01, 0x0403fd02, 0x0403fd03, 0x0403fd04, 0x0403fd05, 0x0403fd06, 0x0403fd07, +0x0403fdf8, 0x0403fdf9, 0x0403fdfa, 0x0403fdfb, 0x0403fdfc, 0x0403fdfd, 0x0403fdfe, 0x0403fdff, +0x0403fe00, 0x0403fe01, 0x0403fe02, 0x0403fe03, 0x0403fe04, 0x0403fe05, 0x0403fe06, 0x0403fe07, +0x0403fef8, 0x0403fef9, 0x0403fefa, 0x0403fefb, 0x0403fefc, 0x0403fefd, 0x0403fefe, 0x0403feff, +0x0403ff00, 0x0403ff01, 0x0403ff02, 0x0403ff03, 0x0403ff04, 0x0403ff05, 0x0403ff06, 0x0403ff07, +0x0403fff8, 0x0403fff9, 0x0403fffa, 0x0403fffb, 0x0403fffc, 0x0403fffd, 0x0403fffe, 0x0403ffff, +0x04040000, 0x04040001, 0x04040002, 0x04040003, 0x04040004, 0x04040005, 0x04040006, 0x04040007, +0x040400f8, 0x040400f9, 0x040400fa, 0x040400fb, 0x040400fc, 0x040400fd, 0x040400fe, 0x040400ff, +0x04040100, 0x04040101, 0x04040102, 0x04040103, 0x04040104, 0x04040105, 0x04040106, 0x04040107, +0x040401f8, 0x040401f9, 0x040401fa, 0x040401fb, 0x040401fc, 0x040401fd, 0x040401fe, 0x040401ff, +0x04040200, 0x04040201, 0x04040202, 0x04040203, 0x04040204, 0x04040205, 0x04040206, 0x04040207, +0x040402f8, 0x040402f9, 0x040402fa, 0x040402fb, 0x040402fc, 0x040402fd, 0x040402fe, 0x040402ff, +0x04040300, 0x04040301, 0x04040302, 0x04040303, 0x04040304, 0x04040305, 0x04040306, 0x04040307, +0x040403f8, 0x040403f9, 0x040403fa, 0x040403fb, 0x040403fc, 0x040403fd, 0x040403fe, 0x040403ff, +0x04040400, 0x04040401, 0x04040402, 0x04040403, 0x04040404, 0x04040405, 0x04040406, 0x04040407, +0x040404f8, 0x040404f9, 0x040404fa, 0x040404fb, 0x040404fc, 0x040404fd, 0x040404fe, 0x040404ff, +0x04040500, 0x04040501, 0x04040502, 0x04040503, 0x04040504, 0x04040505, 0x04040506, 0x04040507, +0x040405f8, 0x040405f9, 0x040405fa, 0x040405fb, 0x040405fc, 0x040405fd, 0x040405fe, 0x040405ff, +0x04040600, 0x04040601, 0x04040602, 0x04040603, 0x04040604, 0x04040605, 0x04040606, 0x04040607, +0x040406f8, 0x040406f9, 0x040406fa, 0x040406fb, 0x040406fc, 0x040406fd, 0x040406fe, 0x040406ff, +0x04040700, 0x04040701, 0x04040702, 0x04040703, 0x04040704, 0x04040705, 0x04040706, 0x04040707, +0x040407f8, 0x040407f9, 0x040407fa, 0x040407fb, 0x040407fc, 0x040407fd, 0x040407fe, 0x040407ff, +0x0404f800, 0x0404f801, 0x0404f802, 0x0404f803, 0x0404f804, 0x0404f805, 0x0404f806, 0x0404f807, +0x0404f8f8, 0x0404f8f9, 0x0404f8fa, 0x0404f8fb, 0x0404f8fc, 0x0404f8fd, 0x0404f8fe, 0x0404f8ff, +0x0404f900, 0x0404f901, 0x0404f902, 0x0404f903, 0x0404f904, 0x0404f905, 0x0404f906, 0x0404f907, +0x0404f9f8, 0x0404f9f9, 0x0404f9fa, 0x0404f9fb, 0x0404f9fc, 0x0404f9fd, 0x0404f9fe, 0x0404f9ff, +0x0404fa00, 0x0404fa01, 0x0404fa02, 0x0404fa03, 0x0404fa04, 0x0404fa05, 0x0404fa06, 0x0404fa07, +0x0404faf8, 0x0404faf9, 0x0404fafa, 0x0404fafb, 0x0404fafc, 0x0404fafd, 0x0404fafe, 0x0404faff, +0x0404fb00, 0x0404fb01, 0x0404fb02, 0x0404fb03, 0x0404fb04, 0x0404fb05, 0x0404fb06, 0x0404fb07, +0x0404fbf8, 0x0404fbf9, 0x0404fbfa, 0x0404fbfb, 0x0404fbfc, 0x0404fbfd, 0x0404fbfe, 0x0404fbff, +0x0404fc00, 0x0404fc01, 0x0404fc02, 0x0404fc03, 0x0404fc04, 0x0404fc05, 0x0404fc06, 0x0404fc07, +0x0404fcf8, 0x0404fcf9, 0x0404fcfa, 0x0404fcfb, 0x0404fcfc, 0x0404fcfd, 0x0404fcfe, 0x0404fcff, +0x0404fd00, 0x0404fd01, 0x0404fd02, 0x0404fd03, 0x0404fd04, 0x0404fd05, 0x0404fd06, 0x0404fd07, +0x0404fdf8, 0x0404fdf9, 0x0404fdfa, 0x0404fdfb, 0x0404fdfc, 0x0404fdfd, 0x0404fdfe, 0x0404fdff, +0x0404fe00, 0x0404fe01, 0x0404fe02, 0x0404fe03, 0x0404fe04, 0x0404fe05, 0x0404fe06, 0x0404fe07, +0x0404fef8, 0x0404fef9, 0x0404fefa, 0x0404fefb, 0x0404fefc, 0x0404fefd, 0x0404fefe, 0x0404feff, +0x0404ff00, 0x0404ff01, 0x0404ff02, 0x0404ff03, 0x0404ff04, 0x0404ff05, 0x0404ff06, 0x0404ff07, +0x0404fff8, 0x0404fff9, 0x0404fffa, 0x0404fffb, 0x0404fffc, 0x0404fffd, 0x0404fffe, 0x0404ffff, +0x04050000, 0x04050001, 0x04050002, 0x04050003, 0x04050004, 0x04050005, 0x04050006, 0x04050007, +0x040500f8, 0x040500f9, 0x040500fa, 0x040500fb, 0x040500fc, 0x040500fd, 0x040500fe, 0x040500ff, +0x04050100, 0x04050101, 0x04050102, 0x04050103, 0x04050104, 0x04050105, 0x04050106, 0x04050107, +0x040501f8, 0x040501f9, 0x040501fa, 0x040501fb, 0x040501fc, 0x040501fd, 0x040501fe, 0x040501ff, +0x04050200, 0x04050201, 0x04050202, 0x04050203, 0x04050204, 0x04050205, 0x04050206, 0x04050207, +0x040502f8, 0x040502f9, 0x040502fa, 0x040502fb, 0x040502fc, 0x040502fd, 0x040502fe, 0x040502ff, +0x04050300, 0x04050301, 0x04050302, 0x04050303, 0x04050304, 0x04050305, 0x04050306, 0x04050307, +0x040503f8, 0x040503f9, 0x040503fa, 0x040503fb, 0x040503fc, 0x040503fd, 0x040503fe, 0x040503ff, +0x04050400, 0x04050401, 0x04050402, 0x04050403, 0x04050404, 0x04050405, 0x04050406, 0x04050407, +0x040504f8, 0x040504f9, 0x040504fa, 0x040504fb, 0x040504fc, 0x040504fd, 0x040504fe, 0x040504ff, +0x04050500, 0x04050501, 0x04050502, 0x04050503, 0x04050504, 0x04050505, 0x04050506, 0x04050507, +0x040505f8, 0x040505f9, 0x040505fa, 0x040505fb, 0x040505fc, 0x040505fd, 0x040505fe, 0x040505ff, +0x04050600, 0x04050601, 0x04050602, 0x04050603, 0x04050604, 0x04050605, 0x04050606, 0x04050607, +0x040506f8, 0x040506f9, 0x040506fa, 0x040506fb, 0x040506fc, 0x040506fd, 0x040506fe, 0x040506ff, +0x04050700, 0x04050701, 0x04050702, 0x04050703, 0x04050704, 0x04050705, 0x04050706, 0x04050707, +0x040507f8, 0x040507f9, 0x040507fa, 0x040507fb, 0x040507fc, 0x040507fd, 0x040507fe, 0x040507ff, +0x0405f800, 0x0405f801, 0x0405f802, 0x0405f803, 0x0405f804, 0x0405f805, 0x0405f806, 0x0405f807, +0x0405f8f8, 0x0405f8f9, 0x0405f8fa, 0x0405f8fb, 0x0405f8fc, 0x0405f8fd, 0x0405f8fe, 0x0405f8ff, +0x0405f900, 0x0405f901, 0x0405f902, 0x0405f903, 0x0405f904, 0x0405f905, 0x0405f906, 0x0405f907, +0x0405f9f8, 0x0405f9f9, 0x0405f9fa, 0x0405f9fb, 0x0405f9fc, 0x0405f9fd, 0x0405f9fe, 0x0405f9ff, +0x0405fa00, 0x0405fa01, 0x0405fa02, 0x0405fa03, 0x0405fa04, 0x0405fa05, 0x0405fa06, 0x0405fa07, +0x0405faf8, 0x0405faf9, 0x0405fafa, 0x0405fafb, 0x0405fafc, 0x0405fafd, 0x0405fafe, 0x0405faff, +0x0405fb00, 0x0405fb01, 0x0405fb02, 0x0405fb03, 0x0405fb04, 0x0405fb05, 0x0405fb06, 0x0405fb07, +0x0405fbf8, 0x0405fbf9, 0x0405fbfa, 0x0405fbfb, 0x0405fbfc, 0x0405fbfd, 0x0405fbfe, 0x0405fbff, +0x0405fc00, 0x0405fc01, 0x0405fc02, 0x0405fc03, 0x0405fc04, 0x0405fc05, 0x0405fc06, 0x0405fc07, +0x0405fcf8, 0x0405fcf9, 0x0405fcfa, 0x0405fcfb, 0x0405fcfc, 0x0405fcfd, 0x0405fcfe, 0x0405fcff, +0x0405fd00, 0x0405fd01, 0x0405fd02, 0x0405fd03, 0x0405fd04, 0x0405fd05, 0x0405fd06, 0x0405fd07, +0x0405fdf8, 0x0405fdf9, 0x0405fdfa, 0x0405fdfb, 0x0405fdfc, 0x0405fdfd, 0x0405fdfe, 0x0405fdff, +0x0405fe00, 0x0405fe01, 0x0405fe02, 0x0405fe03, 0x0405fe04, 0x0405fe05, 0x0405fe06, 0x0405fe07, +0x0405fef8, 0x0405fef9, 0x0405fefa, 0x0405fefb, 0x0405fefc, 0x0405fefd, 0x0405fefe, 0x0405feff, +0x0405ff00, 0x0405ff01, 0x0405ff02, 0x0405ff03, 0x0405ff04, 0x0405ff05, 0x0405ff06, 0x0405ff07, +0x0405fff8, 0x0405fff9, 0x0405fffa, 0x0405fffb, 0x0405fffc, 0x0405fffd, 0x0405fffe, 0x0405ffff, +0x04060000, 0x04060001, 0x04060002, 0x04060003, 0x04060004, 0x04060005, 0x04060006, 0x04060007, +0x040600f8, 0x040600f9, 0x040600fa, 0x040600fb, 0x040600fc, 0x040600fd, 0x040600fe, 0x040600ff, +0x04060100, 0x04060101, 0x04060102, 0x04060103, 0x04060104, 0x04060105, 0x04060106, 0x04060107, +0x040601f8, 0x040601f9, 0x040601fa, 0x040601fb, 0x040601fc, 0x040601fd, 0x040601fe, 0x040601ff, +0x04060200, 0x04060201, 0x04060202, 0x04060203, 0x04060204, 0x04060205, 0x04060206, 0x04060207, +0x040602f8, 0x040602f9, 0x040602fa, 0x040602fb, 0x040602fc, 0x040602fd, 0x040602fe, 0x040602ff, +0x04060300, 0x04060301, 0x04060302, 0x04060303, 0x04060304, 0x04060305, 0x04060306, 0x04060307, +0x040603f8, 0x040603f9, 0x040603fa, 0x040603fb, 0x040603fc, 0x040603fd, 0x040603fe, 0x040603ff, +0x04060400, 0x04060401, 0x04060402, 0x04060403, 0x04060404, 0x04060405, 0x04060406, 0x04060407, +0x040604f8, 0x040604f9, 0x040604fa, 0x040604fb, 0x040604fc, 0x040604fd, 0x040604fe, 0x040604ff, +0x04060500, 0x04060501, 0x04060502, 0x04060503, 0x04060504, 0x04060505, 0x04060506, 0x04060507, +0x040605f8, 0x040605f9, 0x040605fa, 0x040605fb, 0x040605fc, 0x040605fd, 0x040605fe, 0x040605ff, +0x04060600, 0x04060601, 0x04060602, 0x04060603, 0x04060604, 0x04060605, 0x04060606, 0x04060607, +0x040606f8, 0x040606f9, 0x040606fa, 0x040606fb, 0x040606fc, 0x040606fd, 0x040606fe, 0x040606ff, +0x04060700, 0x04060701, 0x04060702, 0x04060703, 0x04060704, 0x04060705, 0x04060706, 0x04060707, +0x040607f8, 0x040607f9, 0x040607fa, 0x040607fb, 0x040607fc, 0x040607fd, 0x040607fe, 0x040607ff, +0x0406f800, 0x0406f801, 0x0406f802, 0x0406f803, 0x0406f804, 0x0406f805, 0x0406f806, 0x0406f807, +0x0406f8f8, 0x0406f8f9, 0x0406f8fa, 0x0406f8fb, 0x0406f8fc, 0x0406f8fd, 0x0406f8fe, 0x0406f8ff, +0x0406f900, 0x0406f901, 0x0406f902, 0x0406f903, 0x0406f904, 0x0406f905, 0x0406f906, 0x0406f907, +0x0406f9f8, 0x0406f9f9, 0x0406f9fa, 0x0406f9fb, 0x0406f9fc, 0x0406f9fd, 0x0406f9fe, 0x0406f9ff, +0x0406fa00, 0x0406fa01, 0x0406fa02, 0x0406fa03, 0x0406fa04, 0x0406fa05, 0x0406fa06, 0x0406fa07, +0x0406faf8, 0x0406faf9, 0x0406fafa, 0x0406fafb, 0x0406fafc, 0x0406fafd, 0x0406fafe, 0x0406faff, +0x0406fb00, 0x0406fb01, 0x0406fb02, 0x0406fb03, 0x0406fb04, 0x0406fb05, 0x0406fb06, 0x0406fb07, +0x0406fbf8, 0x0406fbf9, 0x0406fbfa, 0x0406fbfb, 0x0406fbfc, 0x0406fbfd, 0x0406fbfe, 0x0406fbff, +0x0406fc00, 0x0406fc01, 0x0406fc02, 0x0406fc03, 0x0406fc04, 0x0406fc05, 0x0406fc06, 0x0406fc07, +0x0406fcf8, 0x0406fcf9, 0x0406fcfa, 0x0406fcfb, 0x0406fcfc, 0x0406fcfd, 0x0406fcfe, 0x0406fcff, +0x0406fd00, 0x0406fd01, 0x0406fd02, 0x0406fd03, 0x0406fd04, 0x0406fd05, 0x0406fd06, 0x0406fd07, +0x0406fdf8, 0x0406fdf9, 0x0406fdfa, 0x0406fdfb, 0x0406fdfc, 0x0406fdfd, 0x0406fdfe, 0x0406fdff, +0x0406fe00, 0x0406fe01, 0x0406fe02, 0x0406fe03, 0x0406fe04, 0x0406fe05, 0x0406fe06, 0x0406fe07, +0x0406fef8, 0x0406fef9, 0x0406fefa, 0x0406fefb, 0x0406fefc, 0x0406fefd, 0x0406fefe, 0x0406feff, +0x0406ff00, 0x0406ff01, 0x0406ff02, 0x0406ff03, 0x0406ff04, 0x0406ff05, 0x0406ff06, 0x0406ff07, +0x0406fff8, 0x0406fff9, 0x0406fffa, 0x0406fffb, 0x0406fffc, 0x0406fffd, 0x0406fffe, 0x0406ffff, +0x04070000, 0x04070001, 0x04070002, 0x04070003, 0x04070004, 0x04070005, 0x04070006, 0x04070007, +0x040700f8, 0x040700f9, 0x040700fa, 0x040700fb, 0x040700fc, 0x040700fd, 0x040700fe, 0x040700ff, +0x04070100, 0x04070101, 0x04070102, 0x04070103, 0x04070104, 0x04070105, 0x04070106, 0x04070107, +0x040701f8, 0x040701f9, 0x040701fa, 0x040701fb, 0x040701fc, 0x040701fd, 0x040701fe, 0x040701ff, +0x04070200, 0x04070201, 0x04070202, 0x04070203, 0x04070204, 0x04070205, 0x04070206, 0x04070207, +0x040702f8, 0x040702f9, 0x040702fa, 0x040702fb, 0x040702fc, 0x040702fd, 0x040702fe, 0x040702ff, +0x04070300, 0x04070301, 0x04070302, 0x04070303, 0x04070304, 0x04070305, 0x04070306, 0x04070307, +0x040703f8, 0x040703f9, 0x040703fa, 0x040703fb, 0x040703fc, 0x040703fd, 0x040703fe, 0x040703ff, +0x04070400, 0x04070401, 0x04070402, 0x04070403, 0x04070404, 0x04070405, 0x04070406, 0x04070407, +0x040704f8, 0x040704f9, 0x040704fa, 0x040704fb, 0x040704fc, 0x040704fd, 0x040704fe, 0x040704ff, +0x04070500, 0x04070501, 0x04070502, 0x04070503, 0x04070504, 0x04070505, 0x04070506, 0x04070507, +0x040705f8, 0x040705f9, 0x040705fa, 0x040705fb, 0x040705fc, 0x040705fd, 0x040705fe, 0x040705ff, +0x04070600, 0x04070601, 0x04070602, 0x04070603, 0x04070604, 0x04070605, 0x04070606, 0x04070607, +0x040706f8, 0x040706f9, 0x040706fa, 0x040706fb, 0x040706fc, 0x040706fd, 0x040706fe, 0x040706ff, +0x04070700, 0x04070701, 0x04070702, 0x04070703, 0x04070704, 0x04070705, 0x04070706, 0x04070707, +0x040707f8, 0x040707f9, 0x040707fa, 0x040707fb, 0x040707fc, 0x040707fd, 0x040707fe, 0x040707ff, +0x0407f800, 0x0407f801, 0x0407f802, 0x0407f803, 0x0407f804, 0x0407f805, 0x0407f806, 0x0407f807, +0x0407f8f8, 0x0407f8f9, 0x0407f8fa, 0x0407f8fb, 0x0407f8fc, 0x0407f8fd, 0x0407f8fe, 0x0407f8ff, +0x0407f900, 0x0407f901, 0x0407f902, 0x0407f903, 0x0407f904, 0x0407f905, 0x0407f906, 0x0407f907, +0x0407f9f8, 0x0407f9f9, 0x0407f9fa, 0x0407f9fb, 0x0407f9fc, 0x0407f9fd, 0x0407f9fe, 0x0407f9ff, +0x0407fa00, 0x0407fa01, 0x0407fa02, 0x0407fa03, 0x0407fa04, 0x0407fa05, 0x0407fa06, 0x0407fa07, +0x0407faf8, 0x0407faf9, 0x0407fafa, 0x0407fafb, 0x0407fafc, 0x0407fafd, 0x0407fafe, 0x0407faff, +0x0407fb00, 0x0407fb01, 0x0407fb02, 0x0407fb03, 0x0407fb04, 0x0407fb05, 0x0407fb06, 0x0407fb07, +0x0407fbf8, 0x0407fbf9, 0x0407fbfa, 0x0407fbfb, 0x0407fbfc, 0x0407fbfd, 0x0407fbfe, 0x0407fbff, +0x0407fc00, 0x0407fc01, 0x0407fc02, 0x0407fc03, 0x0407fc04, 0x0407fc05, 0x0407fc06, 0x0407fc07, +0x0407fcf8, 0x0407fcf9, 0x0407fcfa, 0x0407fcfb, 0x0407fcfc, 0x0407fcfd, 0x0407fcfe, 0x0407fcff, +0x0407fd00, 0x0407fd01, 0x0407fd02, 0x0407fd03, 0x0407fd04, 0x0407fd05, 0x0407fd06, 0x0407fd07, +0x0407fdf8, 0x0407fdf9, 0x0407fdfa, 0x0407fdfb, 0x0407fdfc, 0x0407fdfd, 0x0407fdfe, 0x0407fdff, +0x0407fe00, 0x0407fe01, 0x0407fe02, 0x0407fe03, 0x0407fe04, 0x0407fe05, 0x0407fe06, 0x0407fe07, +0x0407fef8, 0x0407fef9, 0x0407fefa, 0x0407fefb, 0x0407fefc, 0x0407fefd, 0x0407fefe, 0x0407feff, +0x0407ff00, 0x0407ff01, 0x0407ff02, 0x0407ff03, 0x0407ff04, 0x0407ff05, 0x0407ff06, 0x0407ff07, +0x0407fff8, 0x0407fff9, 0x0407fffa, 0x0407fffb, 0x0407fffc, 0x0407fffd, 0x0407fffe, 0x0407ffff, +0x04f80000, 0x04f80001, 0x04f80002, 0x04f80003, 0x04f80004, 0x04f80005, 0x04f80006, 0x04f80007, +0x04f800f8, 0x04f800f9, 0x04f800fa, 0x04f800fb, 0x04f800fc, 0x04f800fd, 0x04f800fe, 0x04f800ff, +0x04f80100, 0x04f80101, 0x04f80102, 0x04f80103, 0x04f80104, 0x04f80105, 0x04f80106, 0x04f80107, +0x04f801f8, 0x04f801f9, 0x04f801fa, 0x04f801fb, 0x04f801fc, 0x04f801fd, 0x04f801fe, 0x04f801ff, +0x04f80200, 0x04f80201, 0x04f80202, 0x04f80203, 0x04f80204, 0x04f80205, 0x04f80206, 0x04f80207, +0x04f802f8, 0x04f802f9, 0x04f802fa, 0x04f802fb, 0x04f802fc, 0x04f802fd, 0x04f802fe, 0x04f802ff, +0x04f80300, 0x04f80301, 0x04f80302, 0x04f80303, 0x04f80304, 0x04f80305, 0x04f80306, 0x04f80307, +0x04f803f8, 0x04f803f9, 0x04f803fa, 0x04f803fb, 0x04f803fc, 0x04f803fd, 0x04f803fe, 0x04f803ff, +0x04f80400, 0x04f80401, 0x04f80402, 0x04f80403, 0x04f80404, 0x04f80405, 0x04f80406, 0x04f80407, +0x04f804f8, 0x04f804f9, 0x04f804fa, 0x04f804fb, 0x04f804fc, 0x04f804fd, 0x04f804fe, 0x04f804ff, +0x04f80500, 0x04f80501, 0x04f80502, 0x04f80503, 0x04f80504, 0x04f80505, 0x04f80506, 0x04f80507, +0x04f805f8, 0x04f805f9, 0x04f805fa, 0x04f805fb, 0x04f805fc, 0x04f805fd, 0x04f805fe, 0x04f805ff, +0x04f80600, 0x04f80601, 0x04f80602, 0x04f80603, 0x04f80604, 0x04f80605, 0x04f80606, 0x04f80607, +0x04f806f8, 0x04f806f9, 0x04f806fa, 0x04f806fb, 0x04f806fc, 0x04f806fd, 0x04f806fe, 0x04f806ff, +0x04f80700, 0x04f80701, 0x04f80702, 0x04f80703, 0x04f80704, 0x04f80705, 0x04f80706, 0x04f80707, +0x04f807f8, 0x04f807f9, 0x04f807fa, 0x04f807fb, 0x04f807fc, 0x04f807fd, 0x04f807fe, 0x04f807ff, +0x04f8f800, 0x04f8f801, 0x04f8f802, 0x04f8f803, 0x04f8f804, 0x04f8f805, 0x04f8f806, 0x04f8f807, +0x04f8f8f8, 0x04f8f8f9, 0x04f8f8fa, 0x04f8f8fb, 0x04f8f8fc, 0x04f8f8fd, 0x04f8f8fe, 0x04f8f8ff, +0x04f8f900, 0x04f8f901, 0x04f8f902, 0x04f8f903, 0x04f8f904, 0x04f8f905, 0x04f8f906, 0x04f8f907, +0x04f8f9f8, 0x04f8f9f9, 0x04f8f9fa, 0x04f8f9fb, 0x04f8f9fc, 0x04f8f9fd, 0x04f8f9fe, 0x04f8f9ff, +0x04f8fa00, 0x04f8fa01, 0x04f8fa02, 0x04f8fa03, 0x04f8fa04, 0x04f8fa05, 0x04f8fa06, 0x04f8fa07, +0x04f8faf8, 0x04f8faf9, 0x04f8fafa, 0x04f8fafb, 0x04f8fafc, 0x04f8fafd, 0x04f8fafe, 0x04f8faff, +0x04f8fb00, 0x04f8fb01, 0x04f8fb02, 0x04f8fb03, 0x04f8fb04, 0x04f8fb05, 0x04f8fb06, 0x04f8fb07, +0x04f8fbf8, 0x04f8fbf9, 0x04f8fbfa, 0x04f8fbfb, 0x04f8fbfc, 0x04f8fbfd, 0x04f8fbfe, 0x04f8fbff, +0x04f8fc00, 0x04f8fc01, 0x04f8fc02, 0x04f8fc03, 0x04f8fc04, 0x04f8fc05, 0x04f8fc06, 0x04f8fc07, +0x04f8fcf8, 0x04f8fcf9, 0x04f8fcfa, 0x04f8fcfb, 0x04f8fcfc, 0x04f8fcfd, 0x04f8fcfe, 0x04f8fcff, +0x04f8fd00, 0x04f8fd01, 0x04f8fd02, 0x04f8fd03, 0x04f8fd04, 0x04f8fd05, 0x04f8fd06, 0x04f8fd07, +0x04f8fdf8, 0x04f8fdf9, 0x04f8fdfa, 0x04f8fdfb, 0x04f8fdfc, 0x04f8fdfd, 0x04f8fdfe, 0x04f8fdff, +0x04f8fe00, 0x04f8fe01, 0x04f8fe02, 0x04f8fe03, 0x04f8fe04, 0x04f8fe05, 0x04f8fe06, 0x04f8fe07, +0x04f8fef8, 0x04f8fef9, 0x04f8fefa, 0x04f8fefb, 0x04f8fefc, 0x04f8fefd, 0x04f8fefe, 0x04f8feff, +0x04f8ff00, 0x04f8ff01, 0x04f8ff02, 0x04f8ff03, 0x04f8ff04, 0x04f8ff05, 0x04f8ff06, 0x04f8ff07, +0x04f8fff8, 0x04f8fff9, 0x04f8fffa, 0x04f8fffb, 0x04f8fffc, 0x04f8fffd, 0x04f8fffe, 0x04f8ffff, +0x04f90000, 0x04f90001, 0x04f90002, 0x04f90003, 0x04f90004, 0x04f90005, 0x04f90006, 0x04f90007, +0x04f900f8, 0x04f900f9, 0x04f900fa, 0x04f900fb, 0x04f900fc, 0x04f900fd, 0x04f900fe, 0x04f900ff, +0x04f90100, 0x04f90101, 0x04f90102, 0x04f90103, 0x04f90104, 0x04f90105, 0x04f90106, 0x04f90107, +0x04f901f8, 0x04f901f9, 0x04f901fa, 0x04f901fb, 0x04f901fc, 0x04f901fd, 0x04f901fe, 0x04f901ff, +0x04f90200, 0x04f90201, 0x04f90202, 0x04f90203, 0x04f90204, 0x04f90205, 0x04f90206, 0x04f90207, +0x04f902f8, 0x04f902f9, 0x04f902fa, 0x04f902fb, 0x04f902fc, 0x04f902fd, 0x04f902fe, 0x04f902ff, +0x04f90300, 0x04f90301, 0x04f90302, 0x04f90303, 0x04f90304, 0x04f90305, 0x04f90306, 0x04f90307, +0x04f903f8, 0x04f903f9, 0x04f903fa, 0x04f903fb, 0x04f903fc, 0x04f903fd, 0x04f903fe, 0x04f903ff, +0x04f90400, 0x04f90401, 0x04f90402, 0x04f90403, 0x04f90404, 0x04f90405, 0x04f90406, 0x04f90407, +0x04f904f8, 0x04f904f9, 0x04f904fa, 0x04f904fb, 0x04f904fc, 0x04f904fd, 0x04f904fe, 0x04f904ff, +0x04f90500, 0x04f90501, 0x04f90502, 0x04f90503, 0x04f90504, 0x04f90505, 0x04f90506, 0x04f90507, +0x04f905f8, 0x04f905f9, 0x04f905fa, 0x04f905fb, 0x04f905fc, 0x04f905fd, 0x04f905fe, 0x04f905ff, +0x04f90600, 0x04f90601, 0x04f90602, 0x04f90603, 0x04f90604, 0x04f90605, 0x04f90606, 0x04f90607, +0x04f906f8, 0x04f906f9, 0x04f906fa, 0x04f906fb, 0x04f906fc, 0x04f906fd, 0x04f906fe, 0x04f906ff, +0x04f90700, 0x04f90701, 0x04f90702, 0x04f90703, 0x04f90704, 0x04f90705, 0x04f90706, 0x04f90707, +0x04f907f8, 0x04f907f9, 0x04f907fa, 0x04f907fb, 0x04f907fc, 0x04f907fd, 0x04f907fe, 0x04f907ff, +0x04f9f800, 0x04f9f801, 0x04f9f802, 0x04f9f803, 0x04f9f804, 0x04f9f805, 0x04f9f806, 0x04f9f807, +0x04f9f8f8, 0x04f9f8f9, 0x04f9f8fa, 0x04f9f8fb, 0x04f9f8fc, 0x04f9f8fd, 0x04f9f8fe, 0x04f9f8ff, +0x04f9f900, 0x04f9f901, 0x04f9f902, 0x04f9f903, 0x04f9f904, 0x04f9f905, 0x04f9f906, 0x04f9f907, +0x04f9f9f8, 0x04f9f9f9, 0x04f9f9fa, 0x04f9f9fb, 0x04f9f9fc, 0x04f9f9fd, 0x04f9f9fe, 0x04f9f9ff, +0x04f9fa00, 0x04f9fa01, 0x04f9fa02, 0x04f9fa03, 0x04f9fa04, 0x04f9fa05, 0x04f9fa06, 0x04f9fa07, +0x04f9faf8, 0x04f9faf9, 0x04f9fafa, 0x04f9fafb, 0x04f9fafc, 0x04f9fafd, 0x04f9fafe, 0x04f9faff, +0x04f9fb00, 0x04f9fb01, 0x04f9fb02, 0x04f9fb03, 0x04f9fb04, 0x04f9fb05, 0x04f9fb06, 0x04f9fb07, +0x04f9fbf8, 0x04f9fbf9, 0x04f9fbfa, 0x04f9fbfb, 0x04f9fbfc, 0x04f9fbfd, 0x04f9fbfe, 0x04f9fbff, +0x04f9fc00, 0x04f9fc01, 0x04f9fc02, 0x04f9fc03, 0x04f9fc04, 0x04f9fc05, 0x04f9fc06, 0x04f9fc07, +0x04f9fcf8, 0x04f9fcf9, 0x04f9fcfa, 0x04f9fcfb, 0x04f9fcfc, 0x04f9fcfd, 0x04f9fcfe, 0x04f9fcff, +0x04f9fd00, 0x04f9fd01, 0x04f9fd02, 0x04f9fd03, 0x04f9fd04, 0x04f9fd05, 0x04f9fd06, 0x04f9fd07, +0x04f9fdf8, 0x04f9fdf9, 0x04f9fdfa, 0x04f9fdfb, 0x04f9fdfc, 0x04f9fdfd, 0x04f9fdfe, 0x04f9fdff, +0x04f9fe00, 0x04f9fe01, 0x04f9fe02, 0x04f9fe03, 0x04f9fe04, 0x04f9fe05, 0x04f9fe06, 0x04f9fe07, +0x04f9fef8, 0x04f9fef9, 0x04f9fefa, 0x04f9fefb, 0x04f9fefc, 0x04f9fefd, 0x04f9fefe, 0x04f9feff, +0x04f9ff00, 0x04f9ff01, 0x04f9ff02, 0x04f9ff03, 0x04f9ff04, 0x04f9ff05, 0x04f9ff06, 0x04f9ff07, +0x04f9fff8, 0x04f9fff9, 0x04f9fffa, 0x04f9fffb, 0x04f9fffc, 0x04f9fffd, 0x04f9fffe, 0x04f9ffff, +0x04fa0000, 0x04fa0001, 0x04fa0002, 0x04fa0003, 0x04fa0004, 0x04fa0005, 0x04fa0006, 0x04fa0007, +0x04fa00f8, 0x04fa00f9, 0x04fa00fa, 0x04fa00fb, 0x04fa00fc, 0x04fa00fd, 0x04fa00fe, 0x04fa00ff, +0x04fa0100, 0x04fa0101, 0x04fa0102, 0x04fa0103, 0x04fa0104, 0x04fa0105, 0x04fa0106, 0x04fa0107, +0x04fa01f8, 0x04fa01f9, 0x04fa01fa, 0x04fa01fb, 0x04fa01fc, 0x04fa01fd, 0x04fa01fe, 0x04fa01ff, +0x04fa0200, 0x04fa0201, 0x04fa0202, 0x04fa0203, 0x04fa0204, 0x04fa0205, 0x04fa0206, 0x04fa0207, +0x04fa02f8, 0x04fa02f9, 0x04fa02fa, 0x04fa02fb, 0x04fa02fc, 0x04fa02fd, 0x04fa02fe, 0x04fa02ff, +0x04fa0300, 0x04fa0301, 0x04fa0302, 0x04fa0303, 0x04fa0304, 0x04fa0305, 0x04fa0306, 0x04fa0307, +0x04fa03f8, 0x04fa03f9, 0x04fa03fa, 0x04fa03fb, 0x04fa03fc, 0x04fa03fd, 0x04fa03fe, 0x04fa03ff, +0x04fa0400, 0x04fa0401, 0x04fa0402, 0x04fa0403, 0x04fa0404, 0x04fa0405, 0x04fa0406, 0x04fa0407, +0x04fa04f8, 0x04fa04f9, 0x04fa04fa, 0x04fa04fb, 0x04fa04fc, 0x04fa04fd, 0x04fa04fe, 0x04fa04ff, +0x04fa0500, 0x04fa0501, 0x04fa0502, 0x04fa0503, 0x04fa0504, 0x04fa0505, 0x04fa0506, 0x04fa0507, +0x04fa05f8, 0x04fa05f9, 0x04fa05fa, 0x04fa05fb, 0x04fa05fc, 0x04fa05fd, 0x04fa05fe, 0x04fa05ff, +0x04fa0600, 0x04fa0601, 0x04fa0602, 0x04fa0603, 0x04fa0604, 0x04fa0605, 0x04fa0606, 0x04fa0607, +0x04fa06f8, 0x04fa06f9, 0x04fa06fa, 0x04fa06fb, 0x04fa06fc, 0x04fa06fd, 0x04fa06fe, 0x04fa06ff, +0x04fa0700, 0x04fa0701, 0x04fa0702, 0x04fa0703, 0x04fa0704, 0x04fa0705, 0x04fa0706, 0x04fa0707, +0x04fa07f8, 0x04fa07f9, 0x04fa07fa, 0x04fa07fb, 0x04fa07fc, 0x04fa07fd, 0x04fa07fe, 0x04fa07ff, +0x04faf800, 0x04faf801, 0x04faf802, 0x04faf803, 0x04faf804, 0x04faf805, 0x04faf806, 0x04faf807, +0x04faf8f8, 0x04faf8f9, 0x04faf8fa, 0x04faf8fb, 0x04faf8fc, 0x04faf8fd, 0x04faf8fe, 0x04faf8ff, +0x04faf900, 0x04faf901, 0x04faf902, 0x04faf903, 0x04faf904, 0x04faf905, 0x04faf906, 0x04faf907, +0x04faf9f8, 0x04faf9f9, 0x04faf9fa, 0x04faf9fb, 0x04faf9fc, 0x04faf9fd, 0x04faf9fe, 0x04faf9ff, +0x04fafa00, 0x04fafa01, 0x04fafa02, 0x04fafa03, 0x04fafa04, 0x04fafa05, 0x04fafa06, 0x04fafa07, +0x04fafaf8, 0x04fafaf9, 0x04fafafa, 0x04fafafb, 0x04fafafc, 0x04fafafd, 0x04fafafe, 0x04fafaff, +0x04fafb00, 0x04fafb01, 0x04fafb02, 0x04fafb03, 0x04fafb04, 0x04fafb05, 0x04fafb06, 0x04fafb07, +0x04fafbf8, 0x04fafbf9, 0x04fafbfa, 0x04fafbfb, 0x04fafbfc, 0x04fafbfd, 0x04fafbfe, 0x04fafbff, +0x04fafc00, 0x04fafc01, 0x04fafc02, 0x04fafc03, 0x04fafc04, 0x04fafc05, 0x04fafc06, 0x04fafc07, +0x04fafcf8, 0x04fafcf9, 0x04fafcfa, 0x04fafcfb, 0x04fafcfc, 0x04fafcfd, 0x04fafcfe, 0x04fafcff, +0x04fafd00, 0x04fafd01, 0x04fafd02, 0x04fafd03, 0x04fafd04, 0x04fafd05, 0x04fafd06, 0x04fafd07, +0x04fafdf8, 0x04fafdf9, 0x04fafdfa, 0x04fafdfb, 0x04fafdfc, 0x04fafdfd, 0x04fafdfe, 0x04fafdff, +0x04fafe00, 0x04fafe01, 0x04fafe02, 0x04fafe03, 0x04fafe04, 0x04fafe05, 0x04fafe06, 0x04fafe07, +0x04fafef8, 0x04fafef9, 0x04fafefa, 0x04fafefb, 0x04fafefc, 0x04fafefd, 0x04fafefe, 0x04fafeff, +0x04faff00, 0x04faff01, 0x04faff02, 0x04faff03, 0x04faff04, 0x04faff05, 0x04faff06, 0x04faff07, +0x04fafff8, 0x04fafff9, 0x04fafffa, 0x04fafffb, 0x04fafffc, 0x04fafffd, 0x04fafffe, 0x04faffff, +0x04fb0000, 0x04fb0001, 0x04fb0002, 0x04fb0003, 0x04fb0004, 0x04fb0005, 0x04fb0006, 0x04fb0007, +0x04fb00f8, 0x04fb00f9, 0x04fb00fa, 0x04fb00fb, 0x04fb00fc, 0x04fb00fd, 0x04fb00fe, 0x04fb00ff, +0x04fb0100, 0x04fb0101, 0x04fb0102, 0x04fb0103, 0x04fb0104, 0x04fb0105, 0x04fb0106, 0x04fb0107, +0x04fb01f8, 0x04fb01f9, 0x04fb01fa, 0x04fb01fb, 0x04fb01fc, 0x04fb01fd, 0x04fb01fe, 0x04fb01ff, +0x04fb0200, 0x04fb0201, 0x04fb0202, 0x04fb0203, 0x04fb0204, 0x04fb0205, 0x04fb0206, 0x04fb0207, +0x04fb02f8, 0x04fb02f9, 0x04fb02fa, 0x04fb02fb, 0x04fb02fc, 0x04fb02fd, 0x04fb02fe, 0x04fb02ff, +0x04fb0300, 0x04fb0301, 0x04fb0302, 0x04fb0303, 0x04fb0304, 0x04fb0305, 0x04fb0306, 0x04fb0307, +0x04fb03f8, 0x04fb03f9, 0x04fb03fa, 0x04fb03fb, 0x04fb03fc, 0x04fb03fd, 0x04fb03fe, 0x04fb03ff, +0x04fb0400, 0x04fb0401, 0x04fb0402, 0x04fb0403, 0x04fb0404, 0x04fb0405, 0x04fb0406, 0x04fb0407, +0x04fb04f8, 0x04fb04f9, 0x04fb04fa, 0x04fb04fb, 0x04fb04fc, 0x04fb04fd, 0x04fb04fe, 0x04fb04ff, +0x04fb0500, 0x04fb0501, 0x04fb0502, 0x04fb0503, 0x04fb0504, 0x04fb0505, 0x04fb0506, 0x04fb0507, +0x04fb05f8, 0x04fb05f9, 0x04fb05fa, 0x04fb05fb, 0x04fb05fc, 0x04fb05fd, 0x04fb05fe, 0x04fb05ff, +0x04fb0600, 0x04fb0601, 0x04fb0602, 0x04fb0603, 0x04fb0604, 0x04fb0605, 0x04fb0606, 0x04fb0607, +0x04fb06f8, 0x04fb06f9, 0x04fb06fa, 0x04fb06fb, 0x04fb06fc, 0x04fb06fd, 0x04fb06fe, 0x04fb06ff, +0x04fb0700, 0x04fb0701, 0x04fb0702, 0x04fb0703, 0x04fb0704, 0x04fb0705, 0x04fb0706, 0x04fb0707, +0x04fb07f8, 0x04fb07f9, 0x04fb07fa, 0x04fb07fb, 0x04fb07fc, 0x04fb07fd, 0x04fb07fe, 0x04fb07ff, +0x04fbf800, 0x04fbf801, 0x04fbf802, 0x04fbf803, 0x04fbf804, 0x04fbf805, 0x04fbf806, 0x04fbf807, +0x04fbf8f8, 0x04fbf8f9, 0x04fbf8fa, 0x04fbf8fb, 0x04fbf8fc, 0x04fbf8fd, 0x04fbf8fe, 0x04fbf8ff, +0x04fbf900, 0x04fbf901, 0x04fbf902, 0x04fbf903, 0x04fbf904, 0x04fbf905, 0x04fbf906, 0x04fbf907, +0x04fbf9f8, 0x04fbf9f9, 0x04fbf9fa, 0x04fbf9fb, 0x04fbf9fc, 0x04fbf9fd, 0x04fbf9fe, 0x04fbf9ff, +0x04fbfa00, 0x04fbfa01, 0x04fbfa02, 0x04fbfa03, 0x04fbfa04, 0x04fbfa05, 0x04fbfa06, 0x04fbfa07, +0x04fbfaf8, 0x04fbfaf9, 0x04fbfafa, 0x04fbfafb, 0x04fbfafc, 0x04fbfafd, 0x04fbfafe, 0x04fbfaff, +0x04fbfb00, 0x04fbfb01, 0x04fbfb02, 0x04fbfb03, 0x04fbfb04, 0x04fbfb05, 0x04fbfb06, 0x04fbfb07, +0x04fbfbf8, 0x04fbfbf9, 0x04fbfbfa, 0x04fbfbfb, 0x04fbfbfc, 0x04fbfbfd, 0x04fbfbfe, 0x04fbfbff, +0x04fbfc00, 0x04fbfc01, 0x04fbfc02, 0x04fbfc03, 0x04fbfc04, 0x04fbfc05, 0x04fbfc06, 0x04fbfc07, +0x04fbfcf8, 0x04fbfcf9, 0x04fbfcfa, 0x04fbfcfb, 0x04fbfcfc, 0x04fbfcfd, 0x04fbfcfe, 0x04fbfcff, +0x04fbfd00, 0x04fbfd01, 0x04fbfd02, 0x04fbfd03, 0x04fbfd04, 0x04fbfd05, 0x04fbfd06, 0x04fbfd07, +0x04fbfdf8, 0x04fbfdf9, 0x04fbfdfa, 0x04fbfdfb, 0x04fbfdfc, 0x04fbfdfd, 0x04fbfdfe, 0x04fbfdff, +0x04fbfe00, 0x04fbfe01, 0x04fbfe02, 0x04fbfe03, 0x04fbfe04, 0x04fbfe05, 0x04fbfe06, 0x04fbfe07, +0x04fbfef8, 0x04fbfef9, 0x04fbfefa, 0x04fbfefb, 0x04fbfefc, 0x04fbfefd, 0x04fbfefe, 0x04fbfeff, +0x04fbff00, 0x04fbff01, 0x04fbff02, 0x04fbff03, 0x04fbff04, 0x04fbff05, 0x04fbff06, 0x04fbff07, +0x04fbfff8, 0x04fbfff9, 0x04fbfffa, 0x04fbfffb, 0x04fbfffc, 0x04fbfffd, 0x04fbfffe, 0x04fbffff, +0x04fc0000, 0x04fc0001, 0x04fc0002, 0x04fc0003, 0x04fc0004, 0x04fc0005, 0x04fc0006, 0x04fc0007, +0x04fc00f8, 0x04fc00f9, 0x04fc00fa, 0x04fc00fb, 0x04fc00fc, 0x04fc00fd, 0x04fc00fe, 0x04fc00ff, +0x04fc0100, 0x04fc0101, 0x04fc0102, 0x04fc0103, 0x04fc0104, 0x04fc0105, 0x04fc0106, 0x04fc0107, +0x04fc01f8, 0x04fc01f9, 0x04fc01fa, 0x04fc01fb, 0x04fc01fc, 0x04fc01fd, 0x04fc01fe, 0x04fc01ff, +0x04fc0200, 0x04fc0201, 0x04fc0202, 0x04fc0203, 0x04fc0204, 0x04fc0205, 0x04fc0206, 0x04fc0207, +0x04fc02f8, 0x04fc02f9, 0x04fc02fa, 0x04fc02fb, 0x04fc02fc, 0x04fc02fd, 0x04fc02fe, 0x04fc02ff, +0x04fc0300, 0x04fc0301, 0x04fc0302, 0x04fc0303, 0x04fc0304, 0x04fc0305, 0x04fc0306, 0x04fc0307, +0x04fc03f8, 0x04fc03f9, 0x04fc03fa, 0x04fc03fb, 0x04fc03fc, 0x04fc03fd, 0x04fc03fe, 0x04fc03ff, +0x04fc0400, 0x04fc0401, 0x04fc0402, 0x04fc0403, 0x04fc0404, 0x04fc0405, 0x04fc0406, 0x04fc0407, +0x04fc04f8, 0x04fc04f9, 0x04fc04fa, 0x04fc04fb, 0x04fc04fc, 0x04fc04fd, 0x04fc04fe, 0x04fc04ff, +0x04fc0500, 0x04fc0501, 0x04fc0502, 0x04fc0503, 0x04fc0504, 0x04fc0505, 0x04fc0506, 0x04fc0507, +0x04fc05f8, 0x04fc05f9, 0x04fc05fa, 0x04fc05fb, 0x04fc05fc, 0x04fc05fd, 0x04fc05fe, 0x04fc05ff, +0x04fc0600, 0x04fc0601, 0x04fc0602, 0x04fc0603, 0x04fc0604, 0x04fc0605, 0x04fc0606, 0x04fc0607, +0x04fc06f8, 0x04fc06f9, 0x04fc06fa, 0x04fc06fb, 0x04fc06fc, 0x04fc06fd, 0x04fc06fe, 0x04fc06ff, +0x04fc0700, 0x04fc0701, 0x04fc0702, 0x04fc0703, 0x04fc0704, 0x04fc0705, 0x04fc0706, 0x04fc0707, +0x04fc07f8, 0x04fc07f9, 0x04fc07fa, 0x04fc07fb, 0x04fc07fc, 0x04fc07fd, 0x04fc07fe, 0x04fc07ff, +0x04fcf800, 0x04fcf801, 0x04fcf802, 0x04fcf803, 0x04fcf804, 0x04fcf805, 0x04fcf806, 0x04fcf807, +0x04fcf8f8, 0x04fcf8f9, 0x04fcf8fa, 0x04fcf8fb, 0x04fcf8fc, 0x04fcf8fd, 0x04fcf8fe, 0x04fcf8ff, +0x04fcf900, 0x04fcf901, 0x04fcf902, 0x04fcf903, 0x04fcf904, 0x04fcf905, 0x04fcf906, 0x04fcf907, +0x04fcf9f8, 0x04fcf9f9, 0x04fcf9fa, 0x04fcf9fb, 0x04fcf9fc, 0x04fcf9fd, 0x04fcf9fe, 0x04fcf9ff, +0x04fcfa00, 0x04fcfa01, 0x04fcfa02, 0x04fcfa03, 0x04fcfa04, 0x04fcfa05, 0x04fcfa06, 0x04fcfa07, +0x04fcfaf8, 0x04fcfaf9, 0x04fcfafa, 0x04fcfafb, 0x04fcfafc, 0x04fcfafd, 0x04fcfafe, 0x04fcfaff, +0x04fcfb00, 0x04fcfb01, 0x04fcfb02, 0x04fcfb03, 0x04fcfb04, 0x04fcfb05, 0x04fcfb06, 0x04fcfb07, +0x04fcfbf8, 0x04fcfbf9, 0x04fcfbfa, 0x04fcfbfb, 0x04fcfbfc, 0x04fcfbfd, 0x04fcfbfe, 0x04fcfbff, +0x04fcfc00, 0x04fcfc01, 0x04fcfc02, 0x04fcfc03, 0x04fcfc04, 0x04fcfc05, 0x04fcfc06, 0x04fcfc07, +0x04fcfcf8, 0x04fcfcf9, 0x04fcfcfa, 0x04fcfcfb, 0x04fcfcfc, 0x04fcfcfd, 0x04fcfcfe, 0x04fcfcff, +0x04fcfd00, 0x04fcfd01, 0x04fcfd02, 0x04fcfd03, 0x04fcfd04, 0x04fcfd05, 0x04fcfd06, 0x04fcfd07, +0x04fcfdf8, 0x04fcfdf9, 0x04fcfdfa, 0x04fcfdfb, 0x04fcfdfc, 0x04fcfdfd, 0x04fcfdfe, 0x04fcfdff, +0x04fcfe00, 0x04fcfe01, 0x04fcfe02, 0x04fcfe03, 0x04fcfe04, 0x04fcfe05, 0x04fcfe06, 0x04fcfe07, +0x04fcfef8, 0x04fcfef9, 0x04fcfefa, 0x04fcfefb, 0x04fcfefc, 0x04fcfefd, 0x04fcfefe, 0x04fcfeff, +0x04fcff00, 0x04fcff01, 0x04fcff02, 0x04fcff03, 0x04fcff04, 0x04fcff05, 0x04fcff06, 0x04fcff07, +0x04fcfff8, 0x04fcfff9, 0x04fcfffa, 0x04fcfffb, 0x04fcfffc, 0x04fcfffd, 0x04fcfffe, 0x04fcffff, +0x04fd0000, 0x04fd0001, 0x04fd0002, 0x04fd0003, 0x04fd0004, 0x04fd0005, 0x04fd0006, 0x04fd0007, +0x04fd00f8, 0x04fd00f9, 0x04fd00fa, 0x04fd00fb, 0x04fd00fc, 0x04fd00fd, 0x04fd00fe, 0x04fd00ff, +0x04fd0100, 0x04fd0101, 0x04fd0102, 0x04fd0103, 0x04fd0104, 0x04fd0105, 0x04fd0106, 0x04fd0107, +0x04fd01f8, 0x04fd01f9, 0x04fd01fa, 0x04fd01fb, 0x04fd01fc, 0x04fd01fd, 0x04fd01fe, 0x04fd01ff, +0x04fd0200, 0x04fd0201, 0x04fd0202, 0x04fd0203, 0x04fd0204, 0x04fd0205, 0x04fd0206, 0x04fd0207, +0x04fd02f8, 0x04fd02f9, 0x04fd02fa, 0x04fd02fb, 0x04fd02fc, 0x04fd02fd, 0x04fd02fe, 0x04fd02ff, +0x04fd0300, 0x04fd0301, 0x04fd0302, 0x04fd0303, 0x04fd0304, 0x04fd0305, 0x04fd0306, 0x04fd0307, +0x04fd03f8, 0x04fd03f9, 0x04fd03fa, 0x04fd03fb, 0x04fd03fc, 0x04fd03fd, 0x04fd03fe, 0x04fd03ff, +0x04fd0400, 0x04fd0401, 0x04fd0402, 0x04fd0403, 0x04fd0404, 0x04fd0405, 0x04fd0406, 0x04fd0407, +0x04fd04f8, 0x04fd04f9, 0x04fd04fa, 0x04fd04fb, 0x04fd04fc, 0x04fd04fd, 0x04fd04fe, 0x04fd04ff, +0x04fd0500, 0x04fd0501, 0x04fd0502, 0x04fd0503, 0x04fd0504, 0x04fd0505, 0x04fd0506, 0x04fd0507, +0x04fd05f8, 0x04fd05f9, 0x04fd05fa, 0x04fd05fb, 0x04fd05fc, 0x04fd05fd, 0x04fd05fe, 0x04fd05ff, +0x04fd0600, 0x04fd0601, 0x04fd0602, 0x04fd0603, 0x04fd0604, 0x04fd0605, 0x04fd0606, 0x04fd0607, +0x04fd06f8, 0x04fd06f9, 0x04fd06fa, 0x04fd06fb, 0x04fd06fc, 0x04fd06fd, 0x04fd06fe, 0x04fd06ff, +0x04fd0700, 0x04fd0701, 0x04fd0702, 0x04fd0703, 0x04fd0704, 0x04fd0705, 0x04fd0706, 0x04fd0707, +0x04fd07f8, 0x04fd07f9, 0x04fd07fa, 0x04fd07fb, 0x04fd07fc, 0x04fd07fd, 0x04fd07fe, 0x04fd07ff, +0x04fdf800, 0x04fdf801, 0x04fdf802, 0x04fdf803, 0x04fdf804, 0x04fdf805, 0x04fdf806, 0x04fdf807, +0x04fdf8f8, 0x04fdf8f9, 0x04fdf8fa, 0x04fdf8fb, 0x04fdf8fc, 0x04fdf8fd, 0x04fdf8fe, 0x04fdf8ff, +0x04fdf900, 0x04fdf901, 0x04fdf902, 0x04fdf903, 0x04fdf904, 0x04fdf905, 0x04fdf906, 0x04fdf907, +0x04fdf9f8, 0x04fdf9f9, 0x04fdf9fa, 0x04fdf9fb, 0x04fdf9fc, 0x04fdf9fd, 0x04fdf9fe, 0x04fdf9ff, +0x04fdfa00, 0x04fdfa01, 0x04fdfa02, 0x04fdfa03, 0x04fdfa04, 0x04fdfa05, 0x04fdfa06, 0x04fdfa07, +0x04fdfaf8, 0x04fdfaf9, 0x04fdfafa, 0x04fdfafb, 0x04fdfafc, 0x04fdfafd, 0x04fdfafe, 0x04fdfaff, +0x04fdfb00, 0x04fdfb01, 0x04fdfb02, 0x04fdfb03, 0x04fdfb04, 0x04fdfb05, 0x04fdfb06, 0x04fdfb07, +0x04fdfbf8, 0x04fdfbf9, 0x04fdfbfa, 0x04fdfbfb, 0x04fdfbfc, 0x04fdfbfd, 0x04fdfbfe, 0x04fdfbff, +0x04fdfc00, 0x04fdfc01, 0x04fdfc02, 0x04fdfc03, 0x04fdfc04, 0x04fdfc05, 0x04fdfc06, 0x04fdfc07, +0x04fdfcf8, 0x04fdfcf9, 0x04fdfcfa, 0x04fdfcfb, 0x04fdfcfc, 0x04fdfcfd, 0x04fdfcfe, 0x04fdfcff, +0x04fdfd00, 0x04fdfd01, 0x04fdfd02, 0x04fdfd03, 0x04fdfd04, 0x04fdfd05, 0x04fdfd06, 0x04fdfd07, +0x04fdfdf8, 0x04fdfdf9, 0x04fdfdfa, 0x04fdfdfb, 0x04fdfdfc, 0x04fdfdfd, 0x04fdfdfe, 0x04fdfdff, +0x04fdfe00, 0x04fdfe01, 0x04fdfe02, 0x04fdfe03, 0x04fdfe04, 0x04fdfe05, 0x04fdfe06, 0x04fdfe07, +0x04fdfef8, 0x04fdfef9, 0x04fdfefa, 0x04fdfefb, 0x04fdfefc, 0x04fdfefd, 0x04fdfefe, 0x04fdfeff, +0x04fdff00, 0x04fdff01, 0x04fdff02, 0x04fdff03, 0x04fdff04, 0x04fdff05, 0x04fdff06, 0x04fdff07, +0x04fdfff8, 0x04fdfff9, 0x04fdfffa, 0x04fdfffb, 0x04fdfffc, 0x04fdfffd, 0x04fdfffe, 0x04fdffff, +0x04fe0000, 0x04fe0001, 0x04fe0002, 0x04fe0003, 0x04fe0004, 0x04fe0005, 0x04fe0006, 0x04fe0007, +0x04fe00f8, 0x04fe00f9, 0x04fe00fa, 0x04fe00fb, 0x04fe00fc, 0x04fe00fd, 0x04fe00fe, 0x04fe00ff, +0x04fe0100, 0x04fe0101, 0x04fe0102, 0x04fe0103, 0x04fe0104, 0x04fe0105, 0x04fe0106, 0x04fe0107, +0x04fe01f8, 0x04fe01f9, 0x04fe01fa, 0x04fe01fb, 0x04fe01fc, 0x04fe01fd, 0x04fe01fe, 0x04fe01ff, +0x04fe0200, 0x04fe0201, 0x04fe0202, 0x04fe0203, 0x04fe0204, 0x04fe0205, 0x04fe0206, 0x04fe0207, +0x04fe02f8, 0x04fe02f9, 0x04fe02fa, 0x04fe02fb, 0x04fe02fc, 0x04fe02fd, 0x04fe02fe, 0x04fe02ff, +0x04fe0300, 0x04fe0301, 0x04fe0302, 0x04fe0303, 0x04fe0304, 0x04fe0305, 0x04fe0306, 0x04fe0307, +0x04fe03f8, 0x04fe03f9, 0x04fe03fa, 0x04fe03fb, 0x04fe03fc, 0x04fe03fd, 0x04fe03fe, 0x04fe03ff, +0x04fe0400, 0x04fe0401, 0x04fe0402, 0x04fe0403, 0x04fe0404, 0x04fe0405, 0x04fe0406, 0x04fe0407, +0x04fe04f8, 0x04fe04f9, 0x04fe04fa, 0x04fe04fb, 0x04fe04fc, 0x04fe04fd, 0x04fe04fe, 0x04fe04ff, +0x04fe0500, 0x04fe0501, 0x04fe0502, 0x04fe0503, 0x04fe0504, 0x04fe0505, 0x04fe0506, 0x04fe0507, +0x04fe05f8, 0x04fe05f9, 0x04fe05fa, 0x04fe05fb, 0x04fe05fc, 0x04fe05fd, 0x04fe05fe, 0x04fe05ff, +0x04fe0600, 0x04fe0601, 0x04fe0602, 0x04fe0603, 0x04fe0604, 0x04fe0605, 0x04fe0606, 0x04fe0607, +0x04fe06f8, 0x04fe06f9, 0x04fe06fa, 0x04fe06fb, 0x04fe06fc, 0x04fe06fd, 0x04fe06fe, 0x04fe06ff, +0x04fe0700, 0x04fe0701, 0x04fe0702, 0x04fe0703, 0x04fe0704, 0x04fe0705, 0x04fe0706, 0x04fe0707, +0x04fe07f8, 0x04fe07f9, 0x04fe07fa, 0x04fe07fb, 0x04fe07fc, 0x04fe07fd, 0x04fe07fe, 0x04fe07ff, +0x04fef800, 0x04fef801, 0x04fef802, 0x04fef803, 0x04fef804, 0x04fef805, 0x04fef806, 0x04fef807, +0x04fef8f8, 0x04fef8f9, 0x04fef8fa, 0x04fef8fb, 0x04fef8fc, 0x04fef8fd, 0x04fef8fe, 0x04fef8ff, +0x04fef900, 0x04fef901, 0x04fef902, 0x04fef903, 0x04fef904, 0x04fef905, 0x04fef906, 0x04fef907, +0x04fef9f8, 0x04fef9f9, 0x04fef9fa, 0x04fef9fb, 0x04fef9fc, 0x04fef9fd, 0x04fef9fe, 0x04fef9ff, +0x04fefa00, 0x04fefa01, 0x04fefa02, 0x04fefa03, 0x04fefa04, 0x04fefa05, 0x04fefa06, 0x04fefa07, +0x04fefaf8, 0x04fefaf9, 0x04fefafa, 0x04fefafb, 0x04fefafc, 0x04fefafd, 0x04fefafe, 0x04fefaff, +0x04fefb00, 0x04fefb01, 0x04fefb02, 0x04fefb03, 0x04fefb04, 0x04fefb05, 0x04fefb06, 0x04fefb07, +0x04fefbf8, 0x04fefbf9, 0x04fefbfa, 0x04fefbfb, 0x04fefbfc, 0x04fefbfd, 0x04fefbfe, 0x04fefbff, +0x04fefc00, 0x04fefc01, 0x04fefc02, 0x04fefc03, 0x04fefc04, 0x04fefc05, 0x04fefc06, 0x04fefc07, +0x04fefcf8, 0x04fefcf9, 0x04fefcfa, 0x04fefcfb, 0x04fefcfc, 0x04fefcfd, 0x04fefcfe, 0x04fefcff, +0x04fefd00, 0x04fefd01, 0x04fefd02, 0x04fefd03, 0x04fefd04, 0x04fefd05, 0x04fefd06, 0x04fefd07, +0x04fefdf8, 0x04fefdf9, 0x04fefdfa, 0x04fefdfb, 0x04fefdfc, 0x04fefdfd, 0x04fefdfe, 0x04fefdff, +0x04fefe00, 0x04fefe01, 0x04fefe02, 0x04fefe03, 0x04fefe04, 0x04fefe05, 0x04fefe06, 0x04fefe07, +0x04fefef8, 0x04fefef9, 0x04fefefa, 0x04fefefb, 0x04fefefc, 0x04fefefd, 0x04fefefe, 0x04fefeff, +0x04feff00, 0x04feff01, 0x04feff02, 0x04feff03, 0x04feff04, 0x04feff05, 0x04feff06, 0x04feff07, +0x04fefff8, 0x04fefff9, 0x04fefffa, 0x04fefffb, 0x04fefffc, 0x04fefffd, 0x04fefffe, 0x04feffff, +0x04ff0000, 0x04ff0001, 0x04ff0002, 0x04ff0003, 0x04ff0004, 0x04ff0005, 0x04ff0006, 0x04ff0007, +0x04ff00f8, 0x04ff00f9, 0x04ff00fa, 0x04ff00fb, 0x04ff00fc, 0x04ff00fd, 0x04ff00fe, 0x04ff00ff, +0x04ff0100, 0x04ff0101, 0x04ff0102, 0x04ff0103, 0x04ff0104, 0x04ff0105, 0x04ff0106, 0x04ff0107, +0x04ff01f8, 0x04ff01f9, 0x04ff01fa, 0x04ff01fb, 0x04ff01fc, 0x04ff01fd, 0x04ff01fe, 0x04ff01ff, +0x04ff0200, 0x04ff0201, 0x04ff0202, 0x04ff0203, 0x04ff0204, 0x04ff0205, 0x04ff0206, 0x04ff0207, +0x04ff02f8, 0x04ff02f9, 0x04ff02fa, 0x04ff02fb, 0x04ff02fc, 0x04ff02fd, 0x04ff02fe, 0x04ff02ff, +0x04ff0300, 0x04ff0301, 0x04ff0302, 0x04ff0303, 0x04ff0304, 0x04ff0305, 0x04ff0306, 0x04ff0307, +0x04ff03f8, 0x04ff03f9, 0x04ff03fa, 0x04ff03fb, 0x04ff03fc, 0x04ff03fd, 0x04ff03fe, 0x04ff03ff, +0x04ff0400, 0x04ff0401, 0x04ff0402, 0x04ff0403, 0x04ff0404, 0x04ff0405, 0x04ff0406, 0x04ff0407, +0x04ff04f8, 0x04ff04f9, 0x04ff04fa, 0x04ff04fb, 0x04ff04fc, 0x04ff04fd, 0x04ff04fe, 0x04ff04ff, +0x04ff0500, 0x04ff0501, 0x04ff0502, 0x04ff0503, 0x04ff0504, 0x04ff0505, 0x04ff0506, 0x04ff0507, +0x04ff05f8, 0x04ff05f9, 0x04ff05fa, 0x04ff05fb, 0x04ff05fc, 0x04ff05fd, 0x04ff05fe, 0x04ff05ff, +0x04ff0600, 0x04ff0601, 0x04ff0602, 0x04ff0603, 0x04ff0604, 0x04ff0605, 0x04ff0606, 0x04ff0607, +0x04ff06f8, 0x04ff06f9, 0x04ff06fa, 0x04ff06fb, 0x04ff06fc, 0x04ff06fd, 0x04ff06fe, 0x04ff06ff, +0x04ff0700, 0x04ff0701, 0x04ff0702, 0x04ff0703, 0x04ff0704, 0x04ff0705, 0x04ff0706, 0x04ff0707, +0x04ff07f8, 0x04ff07f9, 0x04ff07fa, 0x04ff07fb, 0x04ff07fc, 0x04ff07fd, 0x04ff07fe, 0x04ff07ff, +0x04fff800, 0x04fff801, 0x04fff802, 0x04fff803, 0x04fff804, 0x04fff805, 0x04fff806, 0x04fff807, +0x04fff8f8, 0x04fff8f9, 0x04fff8fa, 0x04fff8fb, 0x04fff8fc, 0x04fff8fd, 0x04fff8fe, 0x04fff8ff, +0x04fff900, 0x04fff901, 0x04fff902, 0x04fff903, 0x04fff904, 0x04fff905, 0x04fff906, 0x04fff907, +0x04fff9f8, 0x04fff9f9, 0x04fff9fa, 0x04fff9fb, 0x04fff9fc, 0x04fff9fd, 0x04fff9fe, 0x04fff9ff, +0x04fffa00, 0x04fffa01, 0x04fffa02, 0x04fffa03, 0x04fffa04, 0x04fffa05, 0x04fffa06, 0x04fffa07, +0x04fffaf8, 0x04fffaf9, 0x04fffafa, 0x04fffafb, 0x04fffafc, 0x04fffafd, 0x04fffafe, 0x04fffaff, +0x04fffb00, 0x04fffb01, 0x04fffb02, 0x04fffb03, 0x04fffb04, 0x04fffb05, 0x04fffb06, 0x04fffb07, +0x04fffbf8, 0x04fffbf9, 0x04fffbfa, 0x04fffbfb, 0x04fffbfc, 0x04fffbfd, 0x04fffbfe, 0x04fffbff, +0x04fffc00, 0x04fffc01, 0x04fffc02, 0x04fffc03, 0x04fffc04, 0x04fffc05, 0x04fffc06, 0x04fffc07, +0x04fffcf8, 0x04fffcf9, 0x04fffcfa, 0x04fffcfb, 0x04fffcfc, 0x04fffcfd, 0x04fffcfe, 0x04fffcff, +0x04fffd00, 0x04fffd01, 0x04fffd02, 0x04fffd03, 0x04fffd04, 0x04fffd05, 0x04fffd06, 0x04fffd07, +0x04fffdf8, 0x04fffdf9, 0x04fffdfa, 0x04fffdfb, 0x04fffdfc, 0x04fffdfd, 0x04fffdfe, 0x04fffdff, +0x04fffe00, 0x04fffe01, 0x04fffe02, 0x04fffe03, 0x04fffe04, 0x04fffe05, 0x04fffe06, 0x04fffe07, +0x04fffef8, 0x04fffef9, 0x04fffefa, 0x04fffefb, 0x04fffefc, 0x04fffefd, 0x04fffefe, 0x04fffeff, +0x04ffff00, 0x04ffff01, 0x04ffff02, 0x04ffff03, 0x04ffff04, 0x04ffff05, 0x04ffff06, 0x04ffff07, +0x04fffff8, 0x04fffff9, 0x04fffffa, 0x04fffffb, 0x04fffffc, 0x04fffffd, 0x04fffffe, 0x04ffffff, +0x05000000, 0x05000001, 0x05000002, 0x05000003, 0x05000004, 0x05000005, 0x05000006, 0x05000007, +0x050000f8, 0x050000f9, 0x050000fa, 0x050000fb, 0x050000fc, 0x050000fd, 0x050000fe, 0x050000ff, +0x05000100, 0x05000101, 0x05000102, 0x05000103, 0x05000104, 0x05000105, 0x05000106, 0x05000107, +0x050001f8, 0x050001f9, 0x050001fa, 0x050001fb, 0x050001fc, 0x050001fd, 0x050001fe, 0x050001ff, +0x05000200, 0x05000201, 0x05000202, 0x05000203, 0x05000204, 0x05000205, 0x05000206, 0x05000207, +0x050002f8, 0x050002f9, 0x050002fa, 0x050002fb, 0x050002fc, 0x050002fd, 0x050002fe, 0x050002ff, +0x05000300, 0x05000301, 0x05000302, 0x05000303, 0x05000304, 0x05000305, 0x05000306, 0x05000307, +0x050003f8, 0x050003f9, 0x050003fa, 0x050003fb, 0x050003fc, 0x050003fd, 0x050003fe, 0x050003ff, +0x05000400, 0x05000401, 0x05000402, 0x05000403, 0x05000404, 0x05000405, 0x05000406, 0x05000407, +0x050004f8, 0x050004f9, 0x050004fa, 0x050004fb, 0x050004fc, 0x050004fd, 0x050004fe, 0x050004ff, +0x05000500, 0x05000501, 0x05000502, 0x05000503, 0x05000504, 0x05000505, 0x05000506, 0x05000507, +0x050005f8, 0x050005f9, 0x050005fa, 0x050005fb, 0x050005fc, 0x050005fd, 0x050005fe, 0x050005ff, +0x05000600, 0x05000601, 0x05000602, 0x05000603, 0x05000604, 0x05000605, 0x05000606, 0x05000607, +0x050006f8, 0x050006f9, 0x050006fa, 0x050006fb, 0x050006fc, 0x050006fd, 0x050006fe, 0x050006ff, +0x05000700, 0x05000701, 0x05000702, 0x05000703, 0x05000704, 0x05000705, 0x05000706, 0x05000707, +0x050007f8, 0x050007f9, 0x050007fa, 0x050007fb, 0x050007fc, 0x050007fd, 0x050007fe, 0x050007ff, +0x0500f800, 0x0500f801, 0x0500f802, 0x0500f803, 0x0500f804, 0x0500f805, 0x0500f806, 0x0500f807, +0x0500f8f8, 0x0500f8f9, 0x0500f8fa, 0x0500f8fb, 0x0500f8fc, 0x0500f8fd, 0x0500f8fe, 0x0500f8ff, +0x0500f900, 0x0500f901, 0x0500f902, 0x0500f903, 0x0500f904, 0x0500f905, 0x0500f906, 0x0500f907, +0x0500f9f8, 0x0500f9f9, 0x0500f9fa, 0x0500f9fb, 0x0500f9fc, 0x0500f9fd, 0x0500f9fe, 0x0500f9ff, +0x0500fa00, 0x0500fa01, 0x0500fa02, 0x0500fa03, 0x0500fa04, 0x0500fa05, 0x0500fa06, 0x0500fa07, +0x0500faf8, 0x0500faf9, 0x0500fafa, 0x0500fafb, 0x0500fafc, 0x0500fafd, 0x0500fafe, 0x0500faff, +0x0500fb00, 0x0500fb01, 0x0500fb02, 0x0500fb03, 0x0500fb04, 0x0500fb05, 0x0500fb06, 0x0500fb07, +0x0500fbf8, 0x0500fbf9, 0x0500fbfa, 0x0500fbfb, 0x0500fbfc, 0x0500fbfd, 0x0500fbfe, 0x0500fbff, +0x0500fc00, 0x0500fc01, 0x0500fc02, 0x0500fc03, 0x0500fc04, 0x0500fc05, 0x0500fc06, 0x0500fc07, +0x0500fcf8, 0x0500fcf9, 0x0500fcfa, 0x0500fcfb, 0x0500fcfc, 0x0500fcfd, 0x0500fcfe, 0x0500fcff, +0x0500fd00, 0x0500fd01, 0x0500fd02, 0x0500fd03, 0x0500fd04, 0x0500fd05, 0x0500fd06, 0x0500fd07, +0x0500fdf8, 0x0500fdf9, 0x0500fdfa, 0x0500fdfb, 0x0500fdfc, 0x0500fdfd, 0x0500fdfe, 0x0500fdff, +0x0500fe00, 0x0500fe01, 0x0500fe02, 0x0500fe03, 0x0500fe04, 0x0500fe05, 0x0500fe06, 0x0500fe07, +0x0500fef8, 0x0500fef9, 0x0500fefa, 0x0500fefb, 0x0500fefc, 0x0500fefd, 0x0500fefe, 0x0500feff, +0x0500ff00, 0x0500ff01, 0x0500ff02, 0x0500ff03, 0x0500ff04, 0x0500ff05, 0x0500ff06, 0x0500ff07, +0x0500fff8, 0x0500fff9, 0x0500fffa, 0x0500fffb, 0x0500fffc, 0x0500fffd, 0x0500fffe, 0x0500ffff, +0x05010000, 0x05010001, 0x05010002, 0x05010003, 0x05010004, 0x05010005, 0x05010006, 0x05010007, +0x050100f8, 0x050100f9, 0x050100fa, 0x050100fb, 0x050100fc, 0x050100fd, 0x050100fe, 0x050100ff, +0x05010100, 0x05010101, 0x05010102, 0x05010103, 0x05010104, 0x05010105, 0x05010106, 0x05010107, +0x050101f8, 0x050101f9, 0x050101fa, 0x050101fb, 0x050101fc, 0x050101fd, 0x050101fe, 0x050101ff, +0x05010200, 0x05010201, 0x05010202, 0x05010203, 0x05010204, 0x05010205, 0x05010206, 0x05010207, +0x050102f8, 0x050102f9, 0x050102fa, 0x050102fb, 0x050102fc, 0x050102fd, 0x050102fe, 0x050102ff, +0x05010300, 0x05010301, 0x05010302, 0x05010303, 0x05010304, 0x05010305, 0x05010306, 0x05010307, +0x050103f8, 0x050103f9, 0x050103fa, 0x050103fb, 0x050103fc, 0x050103fd, 0x050103fe, 0x050103ff, +0x05010400, 0x05010401, 0x05010402, 0x05010403, 0x05010404, 0x05010405, 0x05010406, 0x05010407, +0x050104f8, 0x050104f9, 0x050104fa, 0x050104fb, 0x050104fc, 0x050104fd, 0x050104fe, 0x050104ff, +0x05010500, 0x05010501, 0x05010502, 0x05010503, 0x05010504, 0x05010505, 0x05010506, 0x05010507, +0x050105f8, 0x050105f9, 0x050105fa, 0x050105fb, 0x050105fc, 0x050105fd, 0x050105fe, 0x050105ff, +0x05010600, 0x05010601, 0x05010602, 0x05010603, 0x05010604, 0x05010605, 0x05010606, 0x05010607, +0x050106f8, 0x050106f9, 0x050106fa, 0x050106fb, 0x050106fc, 0x050106fd, 0x050106fe, 0x050106ff, +0x05010700, 0x05010701, 0x05010702, 0x05010703, 0x05010704, 0x05010705, 0x05010706, 0x05010707, +0x050107f8, 0x050107f9, 0x050107fa, 0x050107fb, 0x050107fc, 0x050107fd, 0x050107fe, 0x050107ff, +0x0501f800, 0x0501f801, 0x0501f802, 0x0501f803, 0x0501f804, 0x0501f805, 0x0501f806, 0x0501f807, +0x0501f8f8, 0x0501f8f9, 0x0501f8fa, 0x0501f8fb, 0x0501f8fc, 0x0501f8fd, 0x0501f8fe, 0x0501f8ff, +0x0501f900, 0x0501f901, 0x0501f902, 0x0501f903, 0x0501f904, 0x0501f905, 0x0501f906, 0x0501f907, +0x0501f9f8, 0x0501f9f9, 0x0501f9fa, 0x0501f9fb, 0x0501f9fc, 0x0501f9fd, 0x0501f9fe, 0x0501f9ff, +0x0501fa00, 0x0501fa01, 0x0501fa02, 0x0501fa03, 0x0501fa04, 0x0501fa05, 0x0501fa06, 0x0501fa07, +0x0501faf8, 0x0501faf9, 0x0501fafa, 0x0501fafb, 0x0501fafc, 0x0501fafd, 0x0501fafe, 0x0501faff, +0x0501fb00, 0x0501fb01, 0x0501fb02, 0x0501fb03, 0x0501fb04, 0x0501fb05, 0x0501fb06, 0x0501fb07, +0x0501fbf8, 0x0501fbf9, 0x0501fbfa, 0x0501fbfb, 0x0501fbfc, 0x0501fbfd, 0x0501fbfe, 0x0501fbff, +0x0501fc00, 0x0501fc01, 0x0501fc02, 0x0501fc03, 0x0501fc04, 0x0501fc05, 0x0501fc06, 0x0501fc07, +0x0501fcf8, 0x0501fcf9, 0x0501fcfa, 0x0501fcfb, 0x0501fcfc, 0x0501fcfd, 0x0501fcfe, 0x0501fcff, +0x0501fd00, 0x0501fd01, 0x0501fd02, 0x0501fd03, 0x0501fd04, 0x0501fd05, 0x0501fd06, 0x0501fd07, +0x0501fdf8, 0x0501fdf9, 0x0501fdfa, 0x0501fdfb, 0x0501fdfc, 0x0501fdfd, 0x0501fdfe, 0x0501fdff, +0x0501fe00, 0x0501fe01, 0x0501fe02, 0x0501fe03, 0x0501fe04, 0x0501fe05, 0x0501fe06, 0x0501fe07, +0x0501fef8, 0x0501fef9, 0x0501fefa, 0x0501fefb, 0x0501fefc, 0x0501fefd, 0x0501fefe, 0x0501feff, +0x0501ff00, 0x0501ff01, 0x0501ff02, 0x0501ff03, 0x0501ff04, 0x0501ff05, 0x0501ff06, 0x0501ff07, +0x0501fff8, 0x0501fff9, 0x0501fffa, 0x0501fffb, 0x0501fffc, 0x0501fffd, 0x0501fffe, 0x0501ffff, +0x05020000, 0x05020001, 0x05020002, 0x05020003, 0x05020004, 0x05020005, 0x05020006, 0x05020007, +0x050200f8, 0x050200f9, 0x050200fa, 0x050200fb, 0x050200fc, 0x050200fd, 0x050200fe, 0x050200ff, +0x05020100, 0x05020101, 0x05020102, 0x05020103, 0x05020104, 0x05020105, 0x05020106, 0x05020107, +0x050201f8, 0x050201f9, 0x050201fa, 0x050201fb, 0x050201fc, 0x050201fd, 0x050201fe, 0x050201ff, +0x05020200, 0x05020201, 0x05020202, 0x05020203, 0x05020204, 0x05020205, 0x05020206, 0x05020207, +0x050202f8, 0x050202f9, 0x050202fa, 0x050202fb, 0x050202fc, 0x050202fd, 0x050202fe, 0x050202ff, +0x05020300, 0x05020301, 0x05020302, 0x05020303, 0x05020304, 0x05020305, 0x05020306, 0x05020307, +0x050203f8, 0x050203f9, 0x050203fa, 0x050203fb, 0x050203fc, 0x050203fd, 0x050203fe, 0x050203ff, +0x05020400, 0x05020401, 0x05020402, 0x05020403, 0x05020404, 0x05020405, 0x05020406, 0x05020407, +0x050204f8, 0x050204f9, 0x050204fa, 0x050204fb, 0x050204fc, 0x050204fd, 0x050204fe, 0x050204ff, +0x05020500, 0x05020501, 0x05020502, 0x05020503, 0x05020504, 0x05020505, 0x05020506, 0x05020507, +0x050205f8, 0x050205f9, 0x050205fa, 0x050205fb, 0x050205fc, 0x050205fd, 0x050205fe, 0x050205ff, +0x05020600, 0x05020601, 0x05020602, 0x05020603, 0x05020604, 0x05020605, 0x05020606, 0x05020607, +0x050206f8, 0x050206f9, 0x050206fa, 0x050206fb, 0x050206fc, 0x050206fd, 0x050206fe, 0x050206ff, +0x05020700, 0x05020701, 0x05020702, 0x05020703, 0x05020704, 0x05020705, 0x05020706, 0x05020707, +0x050207f8, 0x050207f9, 0x050207fa, 0x050207fb, 0x050207fc, 0x050207fd, 0x050207fe, 0x050207ff, +0x0502f800, 0x0502f801, 0x0502f802, 0x0502f803, 0x0502f804, 0x0502f805, 0x0502f806, 0x0502f807, +0x0502f8f8, 0x0502f8f9, 0x0502f8fa, 0x0502f8fb, 0x0502f8fc, 0x0502f8fd, 0x0502f8fe, 0x0502f8ff, +0x0502f900, 0x0502f901, 0x0502f902, 0x0502f903, 0x0502f904, 0x0502f905, 0x0502f906, 0x0502f907, +0x0502f9f8, 0x0502f9f9, 0x0502f9fa, 0x0502f9fb, 0x0502f9fc, 0x0502f9fd, 0x0502f9fe, 0x0502f9ff, +0x0502fa00, 0x0502fa01, 0x0502fa02, 0x0502fa03, 0x0502fa04, 0x0502fa05, 0x0502fa06, 0x0502fa07, +0x0502faf8, 0x0502faf9, 0x0502fafa, 0x0502fafb, 0x0502fafc, 0x0502fafd, 0x0502fafe, 0x0502faff, +0x0502fb00, 0x0502fb01, 0x0502fb02, 0x0502fb03, 0x0502fb04, 0x0502fb05, 0x0502fb06, 0x0502fb07, +0x0502fbf8, 0x0502fbf9, 0x0502fbfa, 0x0502fbfb, 0x0502fbfc, 0x0502fbfd, 0x0502fbfe, 0x0502fbff, +0x0502fc00, 0x0502fc01, 0x0502fc02, 0x0502fc03, 0x0502fc04, 0x0502fc05, 0x0502fc06, 0x0502fc07, +0x0502fcf8, 0x0502fcf9, 0x0502fcfa, 0x0502fcfb, 0x0502fcfc, 0x0502fcfd, 0x0502fcfe, 0x0502fcff, +0x0502fd00, 0x0502fd01, 0x0502fd02, 0x0502fd03, 0x0502fd04, 0x0502fd05, 0x0502fd06, 0x0502fd07, +0x0502fdf8, 0x0502fdf9, 0x0502fdfa, 0x0502fdfb, 0x0502fdfc, 0x0502fdfd, 0x0502fdfe, 0x0502fdff, +0x0502fe00, 0x0502fe01, 0x0502fe02, 0x0502fe03, 0x0502fe04, 0x0502fe05, 0x0502fe06, 0x0502fe07, +0x0502fef8, 0x0502fef9, 0x0502fefa, 0x0502fefb, 0x0502fefc, 0x0502fefd, 0x0502fefe, 0x0502feff, +0x0502ff00, 0x0502ff01, 0x0502ff02, 0x0502ff03, 0x0502ff04, 0x0502ff05, 0x0502ff06, 0x0502ff07, +0x0502fff8, 0x0502fff9, 0x0502fffa, 0x0502fffb, 0x0502fffc, 0x0502fffd, 0x0502fffe, 0x0502ffff, +0x05030000, 0x05030001, 0x05030002, 0x05030003, 0x05030004, 0x05030005, 0x05030006, 0x05030007, +0x050300f8, 0x050300f9, 0x050300fa, 0x050300fb, 0x050300fc, 0x050300fd, 0x050300fe, 0x050300ff, +0x05030100, 0x05030101, 0x05030102, 0x05030103, 0x05030104, 0x05030105, 0x05030106, 0x05030107, +0x050301f8, 0x050301f9, 0x050301fa, 0x050301fb, 0x050301fc, 0x050301fd, 0x050301fe, 0x050301ff, +0x05030200, 0x05030201, 0x05030202, 0x05030203, 0x05030204, 0x05030205, 0x05030206, 0x05030207, +0x050302f8, 0x050302f9, 0x050302fa, 0x050302fb, 0x050302fc, 0x050302fd, 0x050302fe, 0x050302ff, +0x05030300, 0x05030301, 0x05030302, 0x05030303, 0x05030304, 0x05030305, 0x05030306, 0x05030307, +0x050303f8, 0x050303f9, 0x050303fa, 0x050303fb, 0x050303fc, 0x050303fd, 0x050303fe, 0x050303ff, +0x05030400, 0x05030401, 0x05030402, 0x05030403, 0x05030404, 0x05030405, 0x05030406, 0x05030407, +0x050304f8, 0x050304f9, 0x050304fa, 0x050304fb, 0x050304fc, 0x050304fd, 0x050304fe, 0x050304ff, +0x05030500, 0x05030501, 0x05030502, 0x05030503, 0x05030504, 0x05030505, 0x05030506, 0x05030507, +0x050305f8, 0x050305f9, 0x050305fa, 0x050305fb, 0x050305fc, 0x050305fd, 0x050305fe, 0x050305ff, +0x05030600, 0x05030601, 0x05030602, 0x05030603, 0x05030604, 0x05030605, 0x05030606, 0x05030607, +0x050306f8, 0x050306f9, 0x050306fa, 0x050306fb, 0x050306fc, 0x050306fd, 0x050306fe, 0x050306ff, +0x05030700, 0x05030701, 0x05030702, 0x05030703, 0x05030704, 0x05030705, 0x05030706, 0x05030707, +0x050307f8, 0x050307f9, 0x050307fa, 0x050307fb, 0x050307fc, 0x050307fd, 0x050307fe, 0x050307ff, +0x0503f800, 0x0503f801, 0x0503f802, 0x0503f803, 0x0503f804, 0x0503f805, 0x0503f806, 0x0503f807, +0x0503f8f8, 0x0503f8f9, 0x0503f8fa, 0x0503f8fb, 0x0503f8fc, 0x0503f8fd, 0x0503f8fe, 0x0503f8ff, +0x0503f900, 0x0503f901, 0x0503f902, 0x0503f903, 0x0503f904, 0x0503f905, 0x0503f906, 0x0503f907, +0x0503f9f8, 0x0503f9f9, 0x0503f9fa, 0x0503f9fb, 0x0503f9fc, 0x0503f9fd, 0x0503f9fe, 0x0503f9ff, +0x0503fa00, 0x0503fa01, 0x0503fa02, 0x0503fa03, 0x0503fa04, 0x0503fa05, 0x0503fa06, 0x0503fa07, +0x0503faf8, 0x0503faf9, 0x0503fafa, 0x0503fafb, 0x0503fafc, 0x0503fafd, 0x0503fafe, 0x0503faff, +0x0503fb00, 0x0503fb01, 0x0503fb02, 0x0503fb03, 0x0503fb04, 0x0503fb05, 0x0503fb06, 0x0503fb07, +0x0503fbf8, 0x0503fbf9, 0x0503fbfa, 0x0503fbfb, 0x0503fbfc, 0x0503fbfd, 0x0503fbfe, 0x0503fbff, +0x0503fc00, 0x0503fc01, 0x0503fc02, 0x0503fc03, 0x0503fc04, 0x0503fc05, 0x0503fc06, 0x0503fc07, +0x0503fcf8, 0x0503fcf9, 0x0503fcfa, 0x0503fcfb, 0x0503fcfc, 0x0503fcfd, 0x0503fcfe, 0x0503fcff, +0x0503fd00, 0x0503fd01, 0x0503fd02, 0x0503fd03, 0x0503fd04, 0x0503fd05, 0x0503fd06, 0x0503fd07, +0x0503fdf8, 0x0503fdf9, 0x0503fdfa, 0x0503fdfb, 0x0503fdfc, 0x0503fdfd, 0x0503fdfe, 0x0503fdff, +0x0503fe00, 0x0503fe01, 0x0503fe02, 0x0503fe03, 0x0503fe04, 0x0503fe05, 0x0503fe06, 0x0503fe07, +0x0503fef8, 0x0503fef9, 0x0503fefa, 0x0503fefb, 0x0503fefc, 0x0503fefd, 0x0503fefe, 0x0503feff, +0x0503ff00, 0x0503ff01, 0x0503ff02, 0x0503ff03, 0x0503ff04, 0x0503ff05, 0x0503ff06, 0x0503ff07, +0x0503fff8, 0x0503fff9, 0x0503fffa, 0x0503fffb, 0x0503fffc, 0x0503fffd, 0x0503fffe, 0x0503ffff, +0x05040000, 0x05040001, 0x05040002, 0x05040003, 0x05040004, 0x05040005, 0x05040006, 0x05040007, +0x050400f8, 0x050400f9, 0x050400fa, 0x050400fb, 0x050400fc, 0x050400fd, 0x050400fe, 0x050400ff, +0x05040100, 0x05040101, 0x05040102, 0x05040103, 0x05040104, 0x05040105, 0x05040106, 0x05040107, +0x050401f8, 0x050401f9, 0x050401fa, 0x050401fb, 0x050401fc, 0x050401fd, 0x050401fe, 0x050401ff, +0x05040200, 0x05040201, 0x05040202, 0x05040203, 0x05040204, 0x05040205, 0x05040206, 0x05040207, +0x050402f8, 0x050402f9, 0x050402fa, 0x050402fb, 0x050402fc, 0x050402fd, 0x050402fe, 0x050402ff, +0x05040300, 0x05040301, 0x05040302, 0x05040303, 0x05040304, 0x05040305, 0x05040306, 0x05040307, +0x050403f8, 0x050403f9, 0x050403fa, 0x050403fb, 0x050403fc, 0x050403fd, 0x050403fe, 0x050403ff, +0x05040400, 0x05040401, 0x05040402, 0x05040403, 0x05040404, 0x05040405, 0x05040406, 0x05040407, +0x050404f8, 0x050404f9, 0x050404fa, 0x050404fb, 0x050404fc, 0x050404fd, 0x050404fe, 0x050404ff, +0x05040500, 0x05040501, 0x05040502, 0x05040503, 0x05040504, 0x05040505, 0x05040506, 0x05040507, +0x050405f8, 0x050405f9, 0x050405fa, 0x050405fb, 0x050405fc, 0x050405fd, 0x050405fe, 0x050405ff, +0x05040600, 0x05040601, 0x05040602, 0x05040603, 0x05040604, 0x05040605, 0x05040606, 0x05040607, +0x050406f8, 0x050406f9, 0x050406fa, 0x050406fb, 0x050406fc, 0x050406fd, 0x050406fe, 0x050406ff, +0x05040700, 0x05040701, 0x05040702, 0x05040703, 0x05040704, 0x05040705, 0x05040706, 0x05040707, +0x050407f8, 0x050407f9, 0x050407fa, 0x050407fb, 0x050407fc, 0x050407fd, 0x050407fe, 0x050407ff, +0x0504f800, 0x0504f801, 0x0504f802, 0x0504f803, 0x0504f804, 0x0504f805, 0x0504f806, 0x0504f807, +0x0504f8f8, 0x0504f8f9, 0x0504f8fa, 0x0504f8fb, 0x0504f8fc, 0x0504f8fd, 0x0504f8fe, 0x0504f8ff, +0x0504f900, 0x0504f901, 0x0504f902, 0x0504f903, 0x0504f904, 0x0504f905, 0x0504f906, 0x0504f907, +0x0504f9f8, 0x0504f9f9, 0x0504f9fa, 0x0504f9fb, 0x0504f9fc, 0x0504f9fd, 0x0504f9fe, 0x0504f9ff, +0x0504fa00, 0x0504fa01, 0x0504fa02, 0x0504fa03, 0x0504fa04, 0x0504fa05, 0x0504fa06, 0x0504fa07, +0x0504faf8, 0x0504faf9, 0x0504fafa, 0x0504fafb, 0x0504fafc, 0x0504fafd, 0x0504fafe, 0x0504faff, +0x0504fb00, 0x0504fb01, 0x0504fb02, 0x0504fb03, 0x0504fb04, 0x0504fb05, 0x0504fb06, 0x0504fb07, +0x0504fbf8, 0x0504fbf9, 0x0504fbfa, 0x0504fbfb, 0x0504fbfc, 0x0504fbfd, 0x0504fbfe, 0x0504fbff, +0x0504fc00, 0x0504fc01, 0x0504fc02, 0x0504fc03, 0x0504fc04, 0x0504fc05, 0x0504fc06, 0x0504fc07, +0x0504fcf8, 0x0504fcf9, 0x0504fcfa, 0x0504fcfb, 0x0504fcfc, 0x0504fcfd, 0x0504fcfe, 0x0504fcff, +0x0504fd00, 0x0504fd01, 0x0504fd02, 0x0504fd03, 0x0504fd04, 0x0504fd05, 0x0504fd06, 0x0504fd07, +0x0504fdf8, 0x0504fdf9, 0x0504fdfa, 0x0504fdfb, 0x0504fdfc, 0x0504fdfd, 0x0504fdfe, 0x0504fdff, +0x0504fe00, 0x0504fe01, 0x0504fe02, 0x0504fe03, 0x0504fe04, 0x0504fe05, 0x0504fe06, 0x0504fe07, +0x0504fef8, 0x0504fef9, 0x0504fefa, 0x0504fefb, 0x0504fefc, 0x0504fefd, 0x0504fefe, 0x0504feff, +0x0504ff00, 0x0504ff01, 0x0504ff02, 0x0504ff03, 0x0504ff04, 0x0504ff05, 0x0504ff06, 0x0504ff07, +0x0504fff8, 0x0504fff9, 0x0504fffa, 0x0504fffb, 0x0504fffc, 0x0504fffd, 0x0504fffe, 0x0504ffff, +0x05050000, 0x05050001, 0x05050002, 0x05050003, 0x05050004, 0x05050005, 0x05050006, 0x05050007, +0x050500f8, 0x050500f9, 0x050500fa, 0x050500fb, 0x050500fc, 0x050500fd, 0x050500fe, 0x050500ff, +0x05050100, 0x05050101, 0x05050102, 0x05050103, 0x05050104, 0x05050105, 0x05050106, 0x05050107, +0x050501f8, 0x050501f9, 0x050501fa, 0x050501fb, 0x050501fc, 0x050501fd, 0x050501fe, 0x050501ff, +0x05050200, 0x05050201, 0x05050202, 0x05050203, 0x05050204, 0x05050205, 0x05050206, 0x05050207, +0x050502f8, 0x050502f9, 0x050502fa, 0x050502fb, 0x050502fc, 0x050502fd, 0x050502fe, 0x050502ff, +0x05050300, 0x05050301, 0x05050302, 0x05050303, 0x05050304, 0x05050305, 0x05050306, 0x05050307, +0x050503f8, 0x050503f9, 0x050503fa, 0x050503fb, 0x050503fc, 0x050503fd, 0x050503fe, 0x050503ff, +0x05050400, 0x05050401, 0x05050402, 0x05050403, 0x05050404, 0x05050405, 0x05050406, 0x05050407, +0x050504f8, 0x050504f9, 0x050504fa, 0x050504fb, 0x050504fc, 0x050504fd, 0x050504fe, 0x050504ff, +0x05050500, 0x05050501, 0x05050502, 0x05050503, 0x05050504, 0x05050505, 0x05050506, 0x05050507, +0x050505f8, 0x050505f9, 0x050505fa, 0x050505fb, 0x050505fc, 0x050505fd, 0x050505fe, 0x050505ff, +0x05050600, 0x05050601, 0x05050602, 0x05050603, 0x05050604, 0x05050605, 0x05050606, 0x05050607, +0x050506f8, 0x050506f9, 0x050506fa, 0x050506fb, 0x050506fc, 0x050506fd, 0x050506fe, 0x050506ff, +0x05050700, 0x05050701, 0x05050702, 0x05050703, 0x05050704, 0x05050705, 0x05050706, 0x05050707, +0x050507f8, 0x050507f9, 0x050507fa, 0x050507fb, 0x050507fc, 0x050507fd, 0x050507fe, 0x050507ff, +0x0505f800, 0x0505f801, 0x0505f802, 0x0505f803, 0x0505f804, 0x0505f805, 0x0505f806, 0x0505f807, +0x0505f8f8, 0x0505f8f9, 0x0505f8fa, 0x0505f8fb, 0x0505f8fc, 0x0505f8fd, 0x0505f8fe, 0x0505f8ff, +0x0505f900, 0x0505f901, 0x0505f902, 0x0505f903, 0x0505f904, 0x0505f905, 0x0505f906, 0x0505f907, +0x0505f9f8, 0x0505f9f9, 0x0505f9fa, 0x0505f9fb, 0x0505f9fc, 0x0505f9fd, 0x0505f9fe, 0x0505f9ff, +0x0505fa00, 0x0505fa01, 0x0505fa02, 0x0505fa03, 0x0505fa04, 0x0505fa05, 0x0505fa06, 0x0505fa07, +0x0505faf8, 0x0505faf9, 0x0505fafa, 0x0505fafb, 0x0505fafc, 0x0505fafd, 0x0505fafe, 0x0505faff, +0x0505fb00, 0x0505fb01, 0x0505fb02, 0x0505fb03, 0x0505fb04, 0x0505fb05, 0x0505fb06, 0x0505fb07, +0x0505fbf8, 0x0505fbf9, 0x0505fbfa, 0x0505fbfb, 0x0505fbfc, 0x0505fbfd, 0x0505fbfe, 0x0505fbff, +0x0505fc00, 0x0505fc01, 0x0505fc02, 0x0505fc03, 0x0505fc04, 0x0505fc05, 0x0505fc06, 0x0505fc07, +0x0505fcf8, 0x0505fcf9, 0x0505fcfa, 0x0505fcfb, 0x0505fcfc, 0x0505fcfd, 0x0505fcfe, 0x0505fcff, +0x0505fd00, 0x0505fd01, 0x0505fd02, 0x0505fd03, 0x0505fd04, 0x0505fd05, 0x0505fd06, 0x0505fd07, +0x0505fdf8, 0x0505fdf9, 0x0505fdfa, 0x0505fdfb, 0x0505fdfc, 0x0505fdfd, 0x0505fdfe, 0x0505fdff, +0x0505fe00, 0x0505fe01, 0x0505fe02, 0x0505fe03, 0x0505fe04, 0x0505fe05, 0x0505fe06, 0x0505fe07, +0x0505fef8, 0x0505fef9, 0x0505fefa, 0x0505fefb, 0x0505fefc, 0x0505fefd, 0x0505fefe, 0x0505feff, +0x0505ff00, 0x0505ff01, 0x0505ff02, 0x0505ff03, 0x0505ff04, 0x0505ff05, 0x0505ff06, 0x0505ff07, +0x0505fff8, 0x0505fff9, 0x0505fffa, 0x0505fffb, 0x0505fffc, 0x0505fffd, 0x0505fffe, 0x0505ffff, +0x05060000, 0x05060001, 0x05060002, 0x05060003, 0x05060004, 0x05060005, 0x05060006, 0x05060007, +0x050600f8, 0x050600f9, 0x050600fa, 0x050600fb, 0x050600fc, 0x050600fd, 0x050600fe, 0x050600ff, +0x05060100, 0x05060101, 0x05060102, 0x05060103, 0x05060104, 0x05060105, 0x05060106, 0x05060107, +0x050601f8, 0x050601f9, 0x050601fa, 0x050601fb, 0x050601fc, 0x050601fd, 0x050601fe, 0x050601ff, +0x05060200, 0x05060201, 0x05060202, 0x05060203, 0x05060204, 0x05060205, 0x05060206, 0x05060207, +0x050602f8, 0x050602f9, 0x050602fa, 0x050602fb, 0x050602fc, 0x050602fd, 0x050602fe, 0x050602ff, +0x05060300, 0x05060301, 0x05060302, 0x05060303, 0x05060304, 0x05060305, 0x05060306, 0x05060307, +0x050603f8, 0x050603f9, 0x050603fa, 0x050603fb, 0x050603fc, 0x050603fd, 0x050603fe, 0x050603ff, +0x05060400, 0x05060401, 0x05060402, 0x05060403, 0x05060404, 0x05060405, 0x05060406, 0x05060407, +0x050604f8, 0x050604f9, 0x050604fa, 0x050604fb, 0x050604fc, 0x050604fd, 0x050604fe, 0x050604ff, +0x05060500, 0x05060501, 0x05060502, 0x05060503, 0x05060504, 0x05060505, 0x05060506, 0x05060507, +0x050605f8, 0x050605f9, 0x050605fa, 0x050605fb, 0x050605fc, 0x050605fd, 0x050605fe, 0x050605ff, +0x05060600, 0x05060601, 0x05060602, 0x05060603, 0x05060604, 0x05060605, 0x05060606, 0x05060607, +0x050606f8, 0x050606f9, 0x050606fa, 0x050606fb, 0x050606fc, 0x050606fd, 0x050606fe, 0x050606ff, +0x05060700, 0x05060701, 0x05060702, 0x05060703, 0x05060704, 0x05060705, 0x05060706, 0x05060707, +0x050607f8, 0x050607f9, 0x050607fa, 0x050607fb, 0x050607fc, 0x050607fd, 0x050607fe, 0x050607ff, +0x0506f800, 0x0506f801, 0x0506f802, 0x0506f803, 0x0506f804, 0x0506f805, 0x0506f806, 0x0506f807, +0x0506f8f8, 0x0506f8f9, 0x0506f8fa, 0x0506f8fb, 0x0506f8fc, 0x0506f8fd, 0x0506f8fe, 0x0506f8ff, +0x0506f900, 0x0506f901, 0x0506f902, 0x0506f903, 0x0506f904, 0x0506f905, 0x0506f906, 0x0506f907, +0x0506f9f8, 0x0506f9f9, 0x0506f9fa, 0x0506f9fb, 0x0506f9fc, 0x0506f9fd, 0x0506f9fe, 0x0506f9ff, +0x0506fa00, 0x0506fa01, 0x0506fa02, 0x0506fa03, 0x0506fa04, 0x0506fa05, 0x0506fa06, 0x0506fa07, +0x0506faf8, 0x0506faf9, 0x0506fafa, 0x0506fafb, 0x0506fafc, 0x0506fafd, 0x0506fafe, 0x0506faff, +0x0506fb00, 0x0506fb01, 0x0506fb02, 0x0506fb03, 0x0506fb04, 0x0506fb05, 0x0506fb06, 0x0506fb07, +0x0506fbf8, 0x0506fbf9, 0x0506fbfa, 0x0506fbfb, 0x0506fbfc, 0x0506fbfd, 0x0506fbfe, 0x0506fbff, +0x0506fc00, 0x0506fc01, 0x0506fc02, 0x0506fc03, 0x0506fc04, 0x0506fc05, 0x0506fc06, 0x0506fc07, +0x0506fcf8, 0x0506fcf9, 0x0506fcfa, 0x0506fcfb, 0x0506fcfc, 0x0506fcfd, 0x0506fcfe, 0x0506fcff, +0x0506fd00, 0x0506fd01, 0x0506fd02, 0x0506fd03, 0x0506fd04, 0x0506fd05, 0x0506fd06, 0x0506fd07, +0x0506fdf8, 0x0506fdf9, 0x0506fdfa, 0x0506fdfb, 0x0506fdfc, 0x0506fdfd, 0x0506fdfe, 0x0506fdff, +0x0506fe00, 0x0506fe01, 0x0506fe02, 0x0506fe03, 0x0506fe04, 0x0506fe05, 0x0506fe06, 0x0506fe07, +0x0506fef8, 0x0506fef9, 0x0506fefa, 0x0506fefb, 0x0506fefc, 0x0506fefd, 0x0506fefe, 0x0506feff, +0x0506ff00, 0x0506ff01, 0x0506ff02, 0x0506ff03, 0x0506ff04, 0x0506ff05, 0x0506ff06, 0x0506ff07, +0x0506fff8, 0x0506fff9, 0x0506fffa, 0x0506fffb, 0x0506fffc, 0x0506fffd, 0x0506fffe, 0x0506ffff, +0x05070000, 0x05070001, 0x05070002, 0x05070003, 0x05070004, 0x05070005, 0x05070006, 0x05070007, +0x050700f8, 0x050700f9, 0x050700fa, 0x050700fb, 0x050700fc, 0x050700fd, 0x050700fe, 0x050700ff, +0x05070100, 0x05070101, 0x05070102, 0x05070103, 0x05070104, 0x05070105, 0x05070106, 0x05070107, +0x050701f8, 0x050701f9, 0x050701fa, 0x050701fb, 0x050701fc, 0x050701fd, 0x050701fe, 0x050701ff, +0x05070200, 0x05070201, 0x05070202, 0x05070203, 0x05070204, 0x05070205, 0x05070206, 0x05070207, +0x050702f8, 0x050702f9, 0x050702fa, 0x050702fb, 0x050702fc, 0x050702fd, 0x050702fe, 0x050702ff, +0x05070300, 0x05070301, 0x05070302, 0x05070303, 0x05070304, 0x05070305, 0x05070306, 0x05070307, +0x050703f8, 0x050703f9, 0x050703fa, 0x050703fb, 0x050703fc, 0x050703fd, 0x050703fe, 0x050703ff, +0x05070400, 0x05070401, 0x05070402, 0x05070403, 0x05070404, 0x05070405, 0x05070406, 0x05070407, +0x050704f8, 0x050704f9, 0x050704fa, 0x050704fb, 0x050704fc, 0x050704fd, 0x050704fe, 0x050704ff, +0x05070500, 0x05070501, 0x05070502, 0x05070503, 0x05070504, 0x05070505, 0x05070506, 0x05070507, +0x050705f8, 0x050705f9, 0x050705fa, 0x050705fb, 0x050705fc, 0x050705fd, 0x050705fe, 0x050705ff, +0x05070600, 0x05070601, 0x05070602, 0x05070603, 0x05070604, 0x05070605, 0x05070606, 0x05070607, +0x050706f8, 0x050706f9, 0x050706fa, 0x050706fb, 0x050706fc, 0x050706fd, 0x050706fe, 0x050706ff, +0x05070700, 0x05070701, 0x05070702, 0x05070703, 0x05070704, 0x05070705, 0x05070706, 0x05070707, +0x050707f8, 0x050707f9, 0x050707fa, 0x050707fb, 0x050707fc, 0x050707fd, 0x050707fe, 0x050707ff, +0x0507f800, 0x0507f801, 0x0507f802, 0x0507f803, 0x0507f804, 0x0507f805, 0x0507f806, 0x0507f807, +0x0507f8f8, 0x0507f8f9, 0x0507f8fa, 0x0507f8fb, 0x0507f8fc, 0x0507f8fd, 0x0507f8fe, 0x0507f8ff, +0x0507f900, 0x0507f901, 0x0507f902, 0x0507f903, 0x0507f904, 0x0507f905, 0x0507f906, 0x0507f907, +0x0507f9f8, 0x0507f9f9, 0x0507f9fa, 0x0507f9fb, 0x0507f9fc, 0x0507f9fd, 0x0507f9fe, 0x0507f9ff, +0x0507fa00, 0x0507fa01, 0x0507fa02, 0x0507fa03, 0x0507fa04, 0x0507fa05, 0x0507fa06, 0x0507fa07, +0x0507faf8, 0x0507faf9, 0x0507fafa, 0x0507fafb, 0x0507fafc, 0x0507fafd, 0x0507fafe, 0x0507faff, +0x0507fb00, 0x0507fb01, 0x0507fb02, 0x0507fb03, 0x0507fb04, 0x0507fb05, 0x0507fb06, 0x0507fb07, +0x0507fbf8, 0x0507fbf9, 0x0507fbfa, 0x0507fbfb, 0x0507fbfc, 0x0507fbfd, 0x0507fbfe, 0x0507fbff, +0x0507fc00, 0x0507fc01, 0x0507fc02, 0x0507fc03, 0x0507fc04, 0x0507fc05, 0x0507fc06, 0x0507fc07, +0x0507fcf8, 0x0507fcf9, 0x0507fcfa, 0x0507fcfb, 0x0507fcfc, 0x0507fcfd, 0x0507fcfe, 0x0507fcff, +0x0507fd00, 0x0507fd01, 0x0507fd02, 0x0507fd03, 0x0507fd04, 0x0507fd05, 0x0507fd06, 0x0507fd07, +0x0507fdf8, 0x0507fdf9, 0x0507fdfa, 0x0507fdfb, 0x0507fdfc, 0x0507fdfd, 0x0507fdfe, 0x0507fdff, +0x0507fe00, 0x0507fe01, 0x0507fe02, 0x0507fe03, 0x0507fe04, 0x0507fe05, 0x0507fe06, 0x0507fe07, +0x0507fef8, 0x0507fef9, 0x0507fefa, 0x0507fefb, 0x0507fefc, 0x0507fefd, 0x0507fefe, 0x0507feff, +0x0507ff00, 0x0507ff01, 0x0507ff02, 0x0507ff03, 0x0507ff04, 0x0507ff05, 0x0507ff06, 0x0507ff07, +0x0507fff8, 0x0507fff9, 0x0507fffa, 0x0507fffb, 0x0507fffc, 0x0507fffd, 0x0507fffe, 0x0507ffff, +0x05f80000, 0x05f80001, 0x05f80002, 0x05f80003, 0x05f80004, 0x05f80005, 0x05f80006, 0x05f80007, +0x05f800f8, 0x05f800f9, 0x05f800fa, 0x05f800fb, 0x05f800fc, 0x05f800fd, 0x05f800fe, 0x05f800ff, +0x05f80100, 0x05f80101, 0x05f80102, 0x05f80103, 0x05f80104, 0x05f80105, 0x05f80106, 0x05f80107, +0x05f801f8, 0x05f801f9, 0x05f801fa, 0x05f801fb, 0x05f801fc, 0x05f801fd, 0x05f801fe, 0x05f801ff, +0x05f80200, 0x05f80201, 0x05f80202, 0x05f80203, 0x05f80204, 0x05f80205, 0x05f80206, 0x05f80207, +0x05f802f8, 0x05f802f9, 0x05f802fa, 0x05f802fb, 0x05f802fc, 0x05f802fd, 0x05f802fe, 0x05f802ff, +0x05f80300, 0x05f80301, 0x05f80302, 0x05f80303, 0x05f80304, 0x05f80305, 0x05f80306, 0x05f80307, +0x05f803f8, 0x05f803f9, 0x05f803fa, 0x05f803fb, 0x05f803fc, 0x05f803fd, 0x05f803fe, 0x05f803ff, +0x05f80400, 0x05f80401, 0x05f80402, 0x05f80403, 0x05f80404, 0x05f80405, 0x05f80406, 0x05f80407, +0x05f804f8, 0x05f804f9, 0x05f804fa, 0x05f804fb, 0x05f804fc, 0x05f804fd, 0x05f804fe, 0x05f804ff, +0x05f80500, 0x05f80501, 0x05f80502, 0x05f80503, 0x05f80504, 0x05f80505, 0x05f80506, 0x05f80507, +0x05f805f8, 0x05f805f9, 0x05f805fa, 0x05f805fb, 0x05f805fc, 0x05f805fd, 0x05f805fe, 0x05f805ff, +0x05f80600, 0x05f80601, 0x05f80602, 0x05f80603, 0x05f80604, 0x05f80605, 0x05f80606, 0x05f80607, +0x05f806f8, 0x05f806f9, 0x05f806fa, 0x05f806fb, 0x05f806fc, 0x05f806fd, 0x05f806fe, 0x05f806ff, +0x05f80700, 0x05f80701, 0x05f80702, 0x05f80703, 0x05f80704, 0x05f80705, 0x05f80706, 0x05f80707, +0x05f807f8, 0x05f807f9, 0x05f807fa, 0x05f807fb, 0x05f807fc, 0x05f807fd, 0x05f807fe, 0x05f807ff, +0x05f8f800, 0x05f8f801, 0x05f8f802, 0x05f8f803, 0x05f8f804, 0x05f8f805, 0x05f8f806, 0x05f8f807, +0x05f8f8f8, 0x05f8f8f9, 0x05f8f8fa, 0x05f8f8fb, 0x05f8f8fc, 0x05f8f8fd, 0x05f8f8fe, 0x05f8f8ff, +0x05f8f900, 0x05f8f901, 0x05f8f902, 0x05f8f903, 0x05f8f904, 0x05f8f905, 0x05f8f906, 0x05f8f907, +0x05f8f9f8, 0x05f8f9f9, 0x05f8f9fa, 0x05f8f9fb, 0x05f8f9fc, 0x05f8f9fd, 0x05f8f9fe, 0x05f8f9ff, +0x05f8fa00, 0x05f8fa01, 0x05f8fa02, 0x05f8fa03, 0x05f8fa04, 0x05f8fa05, 0x05f8fa06, 0x05f8fa07, +0x05f8faf8, 0x05f8faf9, 0x05f8fafa, 0x05f8fafb, 0x05f8fafc, 0x05f8fafd, 0x05f8fafe, 0x05f8faff, +0x05f8fb00, 0x05f8fb01, 0x05f8fb02, 0x05f8fb03, 0x05f8fb04, 0x05f8fb05, 0x05f8fb06, 0x05f8fb07, +0x05f8fbf8, 0x05f8fbf9, 0x05f8fbfa, 0x05f8fbfb, 0x05f8fbfc, 0x05f8fbfd, 0x05f8fbfe, 0x05f8fbff, +0x05f8fc00, 0x05f8fc01, 0x05f8fc02, 0x05f8fc03, 0x05f8fc04, 0x05f8fc05, 0x05f8fc06, 0x05f8fc07, +0x05f8fcf8, 0x05f8fcf9, 0x05f8fcfa, 0x05f8fcfb, 0x05f8fcfc, 0x05f8fcfd, 0x05f8fcfe, 0x05f8fcff, +0x05f8fd00, 0x05f8fd01, 0x05f8fd02, 0x05f8fd03, 0x05f8fd04, 0x05f8fd05, 0x05f8fd06, 0x05f8fd07, +0x05f8fdf8, 0x05f8fdf9, 0x05f8fdfa, 0x05f8fdfb, 0x05f8fdfc, 0x05f8fdfd, 0x05f8fdfe, 0x05f8fdff, +0x05f8fe00, 0x05f8fe01, 0x05f8fe02, 0x05f8fe03, 0x05f8fe04, 0x05f8fe05, 0x05f8fe06, 0x05f8fe07, +0x05f8fef8, 0x05f8fef9, 0x05f8fefa, 0x05f8fefb, 0x05f8fefc, 0x05f8fefd, 0x05f8fefe, 0x05f8feff, +0x05f8ff00, 0x05f8ff01, 0x05f8ff02, 0x05f8ff03, 0x05f8ff04, 0x05f8ff05, 0x05f8ff06, 0x05f8ff07, +0x05f8fff8, 0x05f8fff9, 0x05f8fffa, 0x05f8fffb, 0x05f8fffc, 0x05f8fffd, 0x05f8fffe, 0x05f8ffff, +0x05f90000, 0x05f90001, 0x05f90002, 0x05f90003, 0x05f90004, 0x05f90005, 0x05f90006, 0x05f90007, +0x05f900f8, 0x05f900f9, 0x05f900fa, 0x05f900fb, 0x05f900fc, 0x05f900fd, 0x05f900fe, 0x05f900ff, +0x05f90100, 0x05f90101, 0x05f90102, 0x05f90103, 0x05f90104, 0x05f90105, 0x05f90106, 0x05f90107, +0x05f901f8, 0x05f901f9, 0x05f901fa, 0x05f901fb, 0x05f901fc, 0x05f901fd, 0x05f901fe, 0x05f901ff, +0x05f90200, 0x05f90201, 0x05f90202, 0x05f90203, 0x05f90204, 0x05f90205, 0x05f90206, 0x05f90207, +0x05f902f8, 0x05f902f9, 0x05f902fa, 0x05f902fb, 0x05f902fc, 0x05f902fd, 0x05f902fe, 0x05f902ff, +0x05f90300, 0x05f90301, 0x05f90302, 0x05f90303, 0x05f90304, 0x05f90305, 0x05f90306, 0x05f90307, +0x05f903f8, 0x05f903f9, 0x05f903fa, 0x05f903fb, 0x05f903fc, 0x05f903fd, 0x05f903fe, 0x05f903ff, +0x05f90400, 0x05f90401, 0x05f90402, 0x05f90403, 0x05f90404, 0x05f90405, 0x05f90406, 0x05f90407, +0x05f904f8, 0x05f904f9, 0x05f904fa, 0x05f904fb, 0x05f904fc, 0x05f904fd, 0x05f904fe, 0x05f904ff, +0x05f90500, 0x05f90501, 0x05f90502, 0x05f90503, 0x05f90504, 0x05f90505, 0x05f90506, 0x05f90507, +0x05f905f8, 0x05f905f9, 0x05f905fa, 0x05f905fb, 0x05f905fc, 0x05f905fd, 0x05f905fe, 0x05f905ff, +0x05f90600, 0x05f90601, 0x05f90602, 0x05f90603, 0x05f90604, 0x05f90605, 0x05f90606, 0x05f90607, +0x05f906f8, 0x05f906f9, 0x05f906fa, 0x05f906fb, 0x05f906fc, 0x05f906fd, 0x05f906fe, 0x05f906ff, +0x05f90700, 0x05f90701, 0x05f90702, 0x05f90703, 0x05f90704, 0x05f90705, 0x05f90706, 0x05f90707, +0x05f907f8, 0x05f907f9, 0x05f907fa, 0x05f907fb, 0x05f907fc, 0x05f907fd, 0x05f907fe, 0x05f907ff, +0x05f9f800, 0x05f9f801, 0x05f9f802, 0x05f9f803, 0x05f9f804, 0x05f9f805, 0x05f9f806, 0x05f9f807, +0x05f9f8f8, 0x05f9f8f9, 0x05f9f8fa, 0x05f9f8fb, 0x05f9f8fc, 0x05f9f8fd, 0x05f9f8fe, 0x05f9f8ff, +0x05f9f900, 0x05f9f901, 0x05f9f902, 0x05f9f903, 0x05f9f904, 0x05f9f905, 0x05f9f906, 0x05f9f907, +0x05f9f9f8, 0x05f9f9f9, 0x05f9f9fa, 0x05f9f9fb, 0x05f9f9fc, 0x05f9f9fd, 0x05f9f9fe, 0x05f9f9ff, +0x05f9fa00, 0x05f9fa01, 0x05f9fa02, 0x05f9fa03, 0x05f9fa04, 0x05f9fa05, 0x05f9fa06, 0x05f9fa07, +0x05f9faf8, 0x05f9faf9, 0x05f9fafa, 0x05f9fafb, 0x05f9fafc, 0x05f9fafd, 0x05f9fafe, 0x05f9faff, +0x05f9fb00, 0x05f9fb01, 0x05f9fb02, 0x05f9fb03, 0x05f9fb04, 0x05f9fb05, 0x05f9fb06, 0x05f9fb07, +0x05f9fbf8, 0x05f9fbf9, 0x05f9fbfa, 0x05f9fbfb, 0x05f9fbfc, 0x05f9fbfd, 0x05f9fbfe, 0x05f9fbff, +0x05f9fc00, 0x05f9fc01, 0x05f9fc02, 0x05f9fc03, 0x05f9fc04, 0x05f9fc05, 0x05f9fc06, 0x05f9fc07, +0x05f9fcf8, 0x05f9fcf9, 0x05f9fcfa, 0x05f9fcfb, 0x05f9fcfc, 0x05f9fcfd, 0x05f9fcfe, 0x05f9fcff, +0x05f9fd00, 0x05f9fd01, 0x05f9fd02, 0x05f9fd03, 0x05f9fd04, 0x05f9fd05, 0x05f9fd06, 0x05f9fd07, +0x05f9fdf8, 0x05f9fdf9, 0x05f9fdfa, 0x05f9fdfb, 0x05f9fdfc, 0x05f9fdfd, 0x05f9fdfe, 0x05f9fdff, +0x05f9fe00, 0x05f9fe01, 0x05f9fe02, 0x05f9fe03, 0x05f9fe04, 0x05f9fe05, 0x05f9fe06, 0x05f9fe07, +0x05f9fef8, 0x05f9fef9, 0x05f9fefa, 0x05f9fefb, 0x05f9fefc, 0x05f9fefd, 0x05f9fefe, 0x05f9feff, +0x05f9ff00, 0x05f9ff01, 0x05f9ff02, 0x05f9ff03, 0x05f9ff04, 0x05f9ff05, 0x05f9ff06, 0x05f9ff07, +0x05f9fff8, 0x05f9fff9, 0x05f9fffa, 0x05f9fffb, 0x05f9fffc, 0x05f9fffd, 0x05f9fffe, 0x05f9ffff, +0x05fa0000, 0x05fa0001, 0x05fa0002, 0x05fa0003, 0x05fa0004, 0x05fa0005, 0x05fa0006, 0x05fa0007, +0x05fa00f8, 0x05fa00f9, 0x05fa00fa, 0x05fa00fb, 0x05fa00fc, 0x05fa00fd, 0x05fa00fe, 0x05fa00ff, +0x05fa0100, 0x05fa0101, 0x05fa0102, 0x05fa0103, 0x05fa0104, 0x05fa0105, 0x05fa0106, 0x05fa0107, +0x05fa01f8, 0x05fa01f9, 0x05fa01fa, 0x05fa01fb, 0x05fa01fc, 0x05fa01fd, 0x05fa01fe, 0x05fa01ff, +0x05fa0200, 0x05fa0201, 0x05fa0202, 0x05fa0203, 0x05fa0204, 0x05fa0205, 0x05fa0206, 0x05fa0207, +0x05fa02f8, 0x05fa02f9, 0x05fa02fa, 0x05fa02fb, 0x05fa02fc, 0x05fa02fd, 0x05fa02fe, 0x05fa02ff, +0x05fa0300, 0x05fa0301, 0x05fa0302, 0x05fa0303, 0x05fa0304, 0x05fa0305, 0x05fa0306, 0x05fa0307, +0x05fa03f8, 0x05fa03f9, 0x05fa03fa, 0x05fa03fb, 0x05fa03fc, 0x05fa03fd, 0x05fa03fe, 0x05fa03ff, +0x05fa0400, 0x05fa0401, 0x05fa0402, 0x05fa0403, 0x05fa0404, 0x05fa0405, 0x05fa0406, 0x05fa0407, +0x05fa04f8, 0x05fa04f9, 0x05fa04fa, 0x05fa04fb, 0x05fa04fc, 0x05fa04fd, 0x05fa04fe, 0x05fa04ff, +0x05fa0500, 0x05fa0501, 0x05fa0502, 0x05fa0503, 0x05fa0504, 0x05fa0505, 0x05fa0506, 0x05fa0507, +0x05fa05f8, 0x05fa05f9, 0x05fa05fa, 0x05fa05fb, 0x05fa05fc, 0x05fa05fd, 0x05fa05fe, 0x05fa05ff, +0x05fa0600, 0x05fa0601, 0x05fa0602, 0x05fa0603, 0x05fa0604, 0x05fa0605, 0x05fa0606, 0x05fa0607, +0x05fa06f8, 0x05fa06f9, 0x05fa06fa, 0x05fa06fb, 0x05fa06fc, 0x05fa06fd, 0x05fa06fe, 0x05fa06ff, +0x05fa0700, 0x05fa0701, 0x05fa0702, 0x05fa0703, 0x05fa0704, 0x05fa0705, 0x05fa0706, 0x05fa0707, +0x05fa07f8, 0x05fa07f9, 0x05fa07fa, 0x05fa07fb, 0x05fa07fc, 0x05fa07fd, 0x05fa07fe, 0x05fa07ff, +0x05faf800, 0x05faf801, 0x05faf802, 0x05faf803, 0x05faf804, 0x05faf805, 0x05faf806, 0x05faf807, +0x05faf8f8, 0x05faf8f9, 0x05faf8fa, 0x05faf8fb, 0x05faf8fc, 0x05faf8fd, 0x05faf8fe, 0x05faf8ff, +0x05faf900, 0x05faf901, 0x05faf902, 0x05faf903, 0x05faf904, 0x05faf905, 0x05faf906, 0x05faf907, +0x05faf9f8, 0x05faf9f9, 0x05faf9fa, 0x05faf9fb, 0x05faf9fc, 0x05faf9fd, 0x05faf9fe, 0x05faf9ff, +0x05fafa00, 0x05fafa01, 0x05fafa02, 0x05fafa03, 0x05fafa04, 0x05fafa05, 0x05fafa06, 0x05fafa07, +0x05fafaf8, 0x05fafaf9, 0x05fafafa, 0x05fafafb, 0x05fafafc, 0x05fafafd, 0x05fafafe, 0x05fafaff, +0x05fafb00, 0x05fafb01, 0x05fafb02, 0x05fafb03, 0x05fafb04, 0x05fafb05, 0x05fafb06, 0x05fafb07, +0x05fafbf8, 0x05fafbf9, 0x05fafbfa, 0x05fafbfb, 0x05fafbfc, 0x05fafbfd, 0x05fafbfe, 0x05fafbff, +0x05fafc00, 0x05fafc01, 0x05fafc02, 0x05fafc03, 0x05fafc04, 0x05fafc05, 0x05fafc06, 0x05fafc07, +0x05fafcf8, 0x05fafcf9, 0x05fafcfa, 0x05fafcfb, 0x05fafcfc, 0x05fafcfd, 0x05fafcfe, 0x05fafcff, +0x05fafd00, 0x05fafd01, 0x05fafd02, 0x05fafd03, 0x05fafd04, 0x05fafd05, 0x05fafd06, 0x05fafd07, +0x05fafdf8, 0x05fafdf9, 0x05fafdfa, 0x05fafdfb, 0x05fafdfc, 0x05fafdfd, 0x05fafdfe, 0x05fafdff, +0x05fafe00, 0x05fafe01, 0x05fafe02, 0x05fafe03, 0x05fafe04, 0x05fafe05, 0x05fafe06, 0x05fafe07, +0x05fafef8, 0x05fafef9, 0x05fafefa, 0x05fafefb, 0x05fafefc, 0x05fafefd, 0x05fafefe, 0x05fafeff, +0x05faff00, 0x05faff01, 0x05faff02, 0x05faff03, 0x05faff04, 0x05faff05, 0x05faff06, 0x05faff07, +0x05fafff8, 0x05fafff9, 0x05fafffa, 0x05fafffb, 0x05fafffc, 0x05fafffd, 0x05fafffe, 0x05faffff, +0x05fb0000, 0x05fb0001, 0x05fb0002, 0x05fb0003, 0x05fb0004, 0x05fb0005, 0x05fb0006, 0x05fb0007, +0x05fb00f8, 0x05fb00f9, 0x05fb00fa, 0x05fb00fb, 0x05fb00fc, 0x05fb00fd, 0x05fb00fe, 0x05fb00ff, +0x05fb0100, 0x05fb0101, 0x05fb0102, 0x05fb0103, 0x05fb0104, 0x05fb0105, 0x05fb0106, 0x05fb0107, +0x05fb01f8, 0x05fb01f9, 0x05fb01fa, 0x05fb01fb, 0x05fb01fc, 0x05fb01fd, 0x05fb01fe, 0x05fb01ff, +0x05fb0200, 0x05fb0201, 0x05fb0202, 0x05fb0203, 0x05fb0204, 0x05fb0205, 0x05fb0206, 0x05fb0207, +0x05fb02f8, 0x05fb02f9, 0x05fb02fa, 0x05fb02fb, 0x05fb02fc, 0x05fb02fd, 0x05fb02fe, 0x05fb02ff, +0x05fb0300, 0x05fb0301, 0x05fb0302, 0x05fb0303, 0x05fb0304, 0x05fb0305, 0x05fb0306, 0x05fb0307, +0x05fb03f8, 0x05fb03f9, 0x05fb03fa, 0x05fb03fb, 0x05fb03fc, 0x05fb03fd, 0x05fb03fe, 0x05fb03ff, +0x05fb0400, 0x05fb0401, 0x05fb0402, 0x05fb0403, 0x05fb0404, 0x05fb0405, 0x05fb0406, 0x05fb0407, +0x05fb04f8, 0x05fb04f9, 0x05fb04fa, 0x05fb04fb, 0x05fb04fc, 0x05fb04fd, 0x05fb04fe, 0x05fb04ff, +0x05fb0500, 0x05fb0501, 0x05fb0502, 0x05fb0503, 0x05fb0504, 0x05fb0505, 0x05fb0506, 0x05fb0507, +0x05fb05f8, 0x05fb05f9, 0x05fb05fa, 0x05fb05fb, 0x05fb05fc, 0x05fb05fd, 0x05fb05fe, 0x05fb05ff, +0x05fb0600, 0x05fb0601, 0x05fb0602, 0x05fb0603, 0x05fb0604, 0x05fb0605, 0x05fb0606, 0x05fb0607, +0x05fb06f8, 0x05fb06f9, 0x05fb06fa, 0x05fb06fb, 0x05fb06fc, 0x05fb06fd, 0x05fb06fe, 0x05fb06ff, +0x05fb0700, 0x05fb0701, 0x05fb0702, 0x05fb0703, 0x05fb0704, 0x05fb0705, 0x05fb0706, 0x05fb0707, +0x05fb07f8, 0x05fb07f9, 0x05fb07fa, 0x05fb07fb, 0x05fb07fc, 0x05fb07fd, 0x05fb07fe, 0x05fb07ff, +0x05fbf800, 0x05fbf801, 0x05fbf802, 0x05fbf803, 0x05fbf804, 0x05fbf805, 0x05fbf806, 0x05fbf807, +0x05fbf8f8, 0x05fbf8f9, 0x05fbf8fa, 0x05fbf8fb, 0x05fbf8fc, 0x05fbf8fd, 0x05fbf8fe, 0x05fbf8ff, +0x05fbf900, 0x05fbf901, 0x05fbf902, 0x05fbf903, 0x05fbf904, 0x05fbf905, 0x05fbf906, 0x05fbf907, +0x05fbf9f8, 0x05fbf9f9, 0x05fbf9fa, 0x05fbf9fb, 0x05fbf9fc, 0x05fbf9fd, 0x05fbf9fe, 0x05fbf9ff, +0x05fbfa00, 0x05fbfa01, 0x05fbfa02, 0x05fbfa03, 0x05fbfa04, 0x05fbfa05, 0x05fbfa06, 0x05fbfa07, +0x05fbfaf8, 0x05fbfaf9, 0x05fbfafa, 0x05fbfafb, 0x05fbfafc, 0x05fbfafd, 0x05fbfafe, 0x05fbfaff, +0x05fbfb00, 0x05fbfb01, 0x05fbfb02, 0x05fbfb03, 0x05fbfb04, 0x05fbfb05, 0x05fbfb06, 0x05fbfb07, +0x05fbfbf8, 0x05fbfbf9, 0x05fbfbfa, 0x05fbfbfb, 0x05fbfbfc, 0x05fbfbfd, 0x05fbfbfe, 0x05fbfbff, +0x05fbfc00, 0x05fbfc01, 0x05fbfc02, 0x05fbfc03, 0x05fbfc04, 0x05fbfc05, 0x05fbfc06, 0x05fbfc07, +0x05fbfcf8, 0x05fbfcf9, 0x05fbfcfa, 0x05fbfcfb, 0x05fbfcfc, 0x05fbfcfd, 0x05fbfcfe, 0x05fbfcff, +0x05fbfd00, 0x05fbfd01, 0x05fbfd02, 0x05fbfd03, 0x05fbfd04, 0x05fbfd05, 0x05fbfd06, 0x05fbfd07, +0x05fbfdf8, 0x05fbfdf9, 0x05fbfdfa, 0x05fbfdfb, 0x05fbfdfc, 0x05fbfdfd, 0x05fbfdfe, 0x05fbfdff, +0x05fbfe00, 0x05fbfe01, 0x05fbfe02, 0x05fbfe03, 0x05fbfe04, 0x05fbfe05, 0x05fbfe06, 0x05fbfe07, +0x05fbfef8, 0x05fbfef9, 0x05fbfefa, 0x05fbfefb, 0x05fbfefc, 0x05fbfefd, 0x05fbfefe, 0x05fbfeff, +0x05fbff00, 0x05fbff01, 0x05fbff02, 0x05fbff03, 0x05fbff04, 0x05fbff05, 0x05fbff06, 0x05fbff07, +0x05fbfff8, 0x05fbfff9, 0x05fbfffa, 0x05fbfffb, 0x05fbfffc, 0x05fbfffd, 0x05fbfffe, 0x05fbffff, +0x05fc0000, 0x05fc0001, 0x05fc0002, 0x05fc0003, 0x05fc0004, 0x05fc0005, 0x05fc0006, 0x05fc0007, +0x05fc00f8, 0x05fc00f9, 0x05fc00fa, 0x05fc00fb, 0x05fc00fc, 0x05fc00fd, 0x05fc00fe, 0x05fc00ff, +0x05fc0100, 0x05fc0101, 0x05fc0102, 0x05fc0103, 0x05fc0104, 0x05fc0105, 0x05fc0106, 0x05fc0107, +0x05fc01f8, 0x05fc01f9, 0x05fc01fa, 0x05fc01fb, 0x05fc01fc, 0x05fc01fd, 0x05fc01fe, 0x05fc01ff, +0x05fc0200, 0x05fc0201, 0x05fc0202, 0x05fc0203, 0x05fc0204, 0x05fc0205, 0x05fc0206, 0x05fc0207, +0x05fc02f8, 0x05fc02f9, 0x05fc02fa, 0x05fc02fb, 0x05fc02fc, 0x05fc02fd, 0x05fc02fe, 0x05fc02ff, +0x05fc0300, 0x05fc0301, 0x05fc0302, 0x05fc0303, 0x05fc0304, 0x05fc0305, 0x05fc0306, 0x05fc0307, +0x05fc03f8, 0x05fc03f9, 0x05fc03fa, 0x05fc03fb, 0x05fc03fc, 0x05fc03fd, 0x05fc03fe, 0x05fc03ff, +0x05fc0400, 0x05fc0401, 0x05fc0402, 0x05fc0403, 0x05fc0404, 0x05fc0405, 0x05fc0406, 0x05fc0407, +0x05fc04f8, 0x05fc04f9, 0x05fc04fa, 0x05fc04fb, 0x05fc04fc, 0x05fc04fd, 0x05fc04fe, 0x05fc04ff, +0x05fc0500, 0x05fc0501, 0x05fc0502, 0x05fc0503, 0x05fc0504, 0x05fc0505, 0x05fc0506, 0x05fc0507, +0x05fc05f8, 0x05fc05f9, 0x05fc05fa, 0x05fc05fb, 0x05fc05fc, 0x05fc05fd, 0x05fc05fe, 0x05fc05ff, +0x05fc0600, 0x05fc0601, 0x05fc0602, 0x05fc0603, 0x05fc0604, 0x05fc0605, 0x05fc0606, 0x05fc0607, +0x05fc06f8, 0x05fc06f9, 0x05fc06fa, 0x05fc06fb, 0x05fc06fc, 0x05fc06fd, 0x05fc06fe, 0x05fc06ff, +0x05fc0700, 0x05fc0701, 0x05fc0702, 0x05fc0703, 0x05fc0704, 0x05fc0705, 0x05fc0706, 0x05fc0707, +0x05fc07f8, 0x05fc07f9, 0x05fc07fa, 0x05fc07fb, 0x05fc07fc, 0x05fc07fd, 0x05fc07fe, 0x05fc07ff, +0x05fcf800, 0x05fcf801, 0x05fcf802, 0x05fcf803, 0x05fcf804, 0x05fcf805, 0x05fcf806, 0x05fcf807, +0x05fcf8f8, 0x05fcf8f9, 0x05fcf8fa, 0x05fcf8fb, 0x05fcf8fc, 0x05fcf8fd, 0x05fcf8fe, 0x05fcf8ff, +0x05fcf900, 0x05fcf901, 0x05fcf902, 0x05fcf903, 0x05fcf904, 0x05fcf905, 0x05fcf906, 0x05fcf907, +0x05fcf9f8, 0x05fcf9f9, 0x05fcf9fa, 0x05fcf9fb, 0x05fcf9fc, 0x05fcf9fd, 0x05fcf9fe, 0x05fcf9ff, +0x05fcfa00, 0x05fcfa01, 0x05fcfa02, 0x05fcfa03, 0x05fcfa04, 0x05fcfa05, 0x05fcfa06, 0x05fcfa07, +0x05fcfaf8, 0x05fcfaf9, 0x05fcfafa, 0x05fcfafb, 0x05fcfafc, 0x05fcfafd, 0x05fcfafe, 0x05fcfaff, +0x05fcfb00, 0x05fcfb01, 0x05fcfb02, 0x05fcfb03, 0x05fcfb04, 0x05fcfb05, 0x05fcfb06, 0x05fcfb07, +0x05fcfbf8, 0x05fcfbf9, 0x05fcfbfa, 0x05fcfbfb, 0x05fcfbfc, 0x05fcfbfd, 0x05fcfbfe, 0x05fcfbff, +0x05fcfc00, 0x05fcfc01, 0x05fcfc02, 0x05fcfc03, 0x05fcfc04, 0x05fcfc05, 0x05fcfc06, 0x05fcfc07, +0x05fcfcf8, 0x05fcfcf9, 0x05fcfcfa, 0x05fcfcfb, 0x05fcfcfc, 0x05fcfcfd, 0x05fcfcfe, 0x05fcfcff, +0x05fcfd00, 0x05fcfd01, 0x05fcfd02, 0x05fcfd03, 0x05fcfd04, 0x05fcfd05, 0x05fcfd06, 0x05fcfd07, +0x05fcfdf8, 0x05fcfdf9, 0x05fcfdfa, 0x05fcfdfb, 0x05fcfdfc, 0x05fcfdfd, 0x05fcfdfe, 0x05fcfdff, +0x05fcfe00, 0x05fcfe01, 0x05fcfe02, 0x05fcfe03, 0x05fcfe04, 0x05fcfe05, 0x05fcfe06, 0x05fcfe07, +0x05fcfef8, 0x05fcfef9, 0x05fcfefa, 0x05fcfefb, 0x05fcfefc, 0x05fcfefd, 0x05fcfefe, 0x05fcfeff, +0x05fcff00, 0x05fcff01, 0x05fcff02, 0x05fcff03, 0x05fcff04, 0x05fcff05, 0x05fcff06, 0x05fcff07, +0x05fcfff8, 0x05fcfff9, 0x05fcfffa, 0x05fcfffb, 0x05fcfffc, 0x05fcfffd, 0x05fcfffe, 0x05fcffff, +0x05fd0000, 0x05fd0001, 0x05fd0002, 0x05fd0003, 0x05fd0004, 0x05fd0005, 0x05fd0006, 0x05fd0007, +0x05fd00f8, 0x05fd00f9, 0x05fd00fa, 0x05fd00fb, 0x05fd00fc, 0x05fd00fd, 0x05fd00fe, 0x05fd00ff, +0x05fd0100, 0x05fd0101, 0x05fd0102, 0x05fd0103, 0x05fd0104, 0x05fd0105, 0x05fd0106, 0x05fd0107, +0x05fd01f8, 0x05fd01f9, 0x05fd01fa, 0x05fd01fb, 0x05fd01fc, 0x05fd01fd, 0x05fd01fe, 0x05fd01ff, +0x05fd0200, 0x05fd0201, 0x05fd0202, 0x05fd0203, 0x05fd0204, 0x05fd0205, 0x05fd0206, 0x05fd0207, +0x05fd02f8, 0x05fd02f9, 0x05fd02fa, 0x05fd02fb, 0x05fd02fc, 0x05fd02fd, 0x05fd02fe, 0x05fd02ff, +0x05fd0300, 0x05fd0301, 0x05fd0302, 0x05fd0303, 0x05fd0304, 0x05fd0305, 0x05fd0306, 0x05fd0307, +0x05fd03f8, 0x05fd03f9, 0x05fd03fa, 0x05fd03fb, 0x05fd03fc, 0x05fd03fd, 0x05fd03fe, 0x05fd03ff, +0x05fd0400, 0x05fd0401, 0x05fd0402, 0x05fd0403, 0x05fd0404, 0x05fd0405, 0x05fd0406, 0x05fd0407, +0x05fd04f8, 0x05fd04f9, 0x05fd04fa, 0x05fd04fb, 0x05fd04fc, 0x05fd04fd, 0x05fd04fe, 0x05fd04ff, +0x05fd0500, 0x05fd0501, 0x05fd0502, 0x05fd0503, 0x05fd0504, 0x05fd0505, 0x05fd0506, 0x05fd0507, +0x05fd05f8, 0x05fd05f9, 0x05fd05fa, 0x05fd05fb, 0x05fd05fc, 0x05fd05fd, 0x05fd05fe, 0x05fd05ff, +0x05fd0600, 0x05fd0601, 0x05fd0602, 0x05fd0603, 0x05fd0604, 0x05fd0605, 0x05fd0606, 0x05fd0607, +0x05fd06f8, 0x05fd06f9, 0x05fd06fa, 0x05fd06fb, 0x05fd06fc, 0x05fd06fd, 0x05fd06fe, 0x05fd06ff, +0x05fd0700, 0x05fd0701, 0x05fd0702, 0x05fd0703, 0x05fd0704, 0x05fd0705, 0x05fd0706, 0x05fd0707, +0x05fd07f8, 0x05fd07f9, 0x05fd07fa, 0x05fd07fb, 0x05fd07fc, 0x05fd07fd, 0x05fd07fe, 0x05fd07ff, +0x05fdf800, 0x05fdf801, 0x05fdf802, 0x05fdf803, 0x05fdf804, 0x05fdf805, 0x05fdf806, 0x05fdf807, +0x05fdf8f8, 0x05fdf8f9, 0x05fdf8fa, 0x05fdf8fb, 0x05fdf8fc, 0x05fdf8fd, 0x05fdf8fe, 0x05fdf8ff, +0x05fdf900, 0x05fdf901, 0x05fdf902, 0x05fdf903, 0x05fdf904, 0x05fdf905, 0x05fdf906, 0x05fdf907, +0x05fdf9f8, 0x05fdf9f9, 0x05fdf9fa, 0x05fdf9fb, 0x05fdf9fc, 0x05fdf9fd, 0x05fdf9fe, 0x05fdf9ff, +0x05fdfa00, 0x05fdfa01, 0x05fdfa02, 0x05fdfa03, 0x05fdfa04, 0x05fdfa05, 0x05fdfa06, 0x05fdfa07, +0x05fdfaf8, 0x05fdfaf9, 0x05fdfafa, 0x05fdfafb, 0x05fdfafc, 0x05fdfafd, 0x05fdfafe, 0x05fdfaff, +0x05fdfb00, 0x05fdfb01, 0x05fdfb02, 0x05fdfb03, 0x05fdfb04, 0x05fdfb05, 0x05fdfb06, 0x05fdfb07, +0x05fdfbf8, 0x05fdfbf9, 0x05fdfbfa, 0x05fdfbfb, 0x05fdfbfc, 0x05fdfbfd, 0x05fdfbfe, 0x05fdfbff, +0x05fdfc00, 0x05fdfc01, 0x05fdfc02, 0x05fdfc03, 0x05fdfc04, 0x05fdfc05, 0x05fdfc06, 0x05fdfc07, +0x05fdfcf8, 0x05fdfcf9, 0x05fdfcfa, 0x05fdfcfb, 0x05fdfcfc, 0x05fdfcfd, 0x05fdfcfe, 0x05fdfcff, +0x05fdfd00, 0x05fdfd01, 0x05fdfd02, 0x05fdfd03, 0x05fdfd04, 0x05fdfd05, 0x05fdfd06, 0x05fdfd07, +0x05fdfdf8, 0x05fdfdf9, 0x05fdfdfa, 0x05fdfdfb, 0x05fdfdfc, 0x05fdfdfd, 0x05fdfdfe, 0x05fdfdff, +0x05fdfe00, 0x05fdfe01, 0x05fdfe02, 0x05fdfe03, 0x05fdfe04, 0x05fdfe05, 0x05fdfe06, 0x05fdfe07, +0x05fdfef8, 0x05fdfef9, 0x05fdfefa, 0x05fdfefb, 0x05fdfefc, 0x05fdfefd, 0x05fdfefe, 0x05fdfeff, +0x05fdff00, 0x05fdff01, 0x05fdff02, 0x05fdff03, 0x05fdff04, 0x05fdff05, 0x05fdff06, 0x05fdff07, +0x05fdfff8, 0x05fdfff9, 0x05fdfffa, 0x05fdfffb, 0x05fdfffc, 0x05fdfffd, 0x05fdfffe, 0x05fdffff, +0x05fe0000, 0x05fe0001, 0x05fe0002, 0x05fe0003, 0x05fe0004, 0x05fe0005, 0x05fe0006, 0x05fe0007, +0x05fe00f8, 0x05fe00f9, 0x05fe00fa, 0x05fe00fb, 0x05fe00fc, 0x05fe00fd, 0x05fe00fe, 0x05fe00ff, +0x05fe0100, 0x05fe0101, 0x05fe0102, 0x05fe0103, 0x05fe0104, 0x05fe0105, 0x05fe0106, 0x05fe0107, +0x05fe01f8, 0x05fe01f9, 0x05fe01fa, 0x05fe01fb, 0x05fe01fc, 0x05fe01fd, 0x05fe01fe, 0x05fe01ff, +0x05fe0200, 0x05fe0201, 0x05fe0202, 0x05fe0203, 0x05fe0204, 0x05fe0205, 0x05fe0206, 0x05fe0207, +0x05fe02f8, 0x05fe02f9, 0x05fe02fa, 0x05fe02fb, 0x05fe02fc, 0x05fe02fd, 0x05fe02fe, 0x05fe02ff, +0x05fe0300, 0x05fe0301, 0x05fe0302, 0x05fe0303, 0x05fe0304, 0x05fe0305, 0x05fe0306, 0x05fe0307, +0x05fe03f8, 0x05fe03f9, 0x05fe03fa, 0x05fe03fb, 0x05fe03fc, 0x05fe03fd, 0x05fe03fe, 0x05fe03ff, +0x05fe0400, 0x05fe0401, 0x05fe0402, 0x05fe0403, 0x05fe0404, 0x05fe0405, 0x05fe0406, 0x05fe0407, +0x05fe04f8, 0x05fe04f9, 0x05fe04fa, 0x05fe04fb, 0x05fe04fc, 0x05fe04fd, 0x05fe04fe, 0x05fe04ff, +0x05fe0500, 0x05fe0501, 0x05fe0502, 0x05fe0503, 0x05fe0504, 0x05fe0505, 0x05fe0506, 0x05fe0507, +0x05fe05f8, 0x05fe05f9, 0x05fe05fa, 0x05fe05fb, 0x05fe05fc, 0x05fe05fd, 0x05fe05fe, 0x05fe05ff, +0x05fe0600, 0x05fe0601, 0x05fe0602, 0x05fe0603, 0x05fe0604, 0x05fe0605, 0x05fe0606, 0x05fe0607, +0x05fe06f8, 0x05fe06f9, 0x05fe06fa, 0x05fe06fb, 0x05fe06fc, 0x05fe06fd, 0x05fe06fe, 0x05fe06ff, +0x05fe0700, 0x05fe0701, 0x05fe0702, 0x05fe0703, 0x05fe0704, 0x05fe0705, 0x05fe0706, 0x05fe0707, +0x05fe07f8, 0x05fe07f9, 0x05fe07fa, 0x05fe07fb, 0x05fe07fc, 0x05fe07fd, 0x05fe07fe, 0x05fe07ff, +0x05fef800, 0x05fef801, 0x05fef802, 0x05fef803, 0x05fef804, 0x05fef805, 0x05fef806, 0x05fef807, +0x05fef8f8, 0x05fef8f9, 0x05fef8fa, 0x05fef8fb, 0x05fef8fc, 0x05fef8fd, 0x05fef8fe, 0x05fef8ff, +0x05fef900, 0x05fef901, 0x05fef902, 0x05fef903, 0x05fef904, 0x05fef905, 0x05fef906, 0x05fef907, +0x05fef9f8, 0x05fef9f9, 0x05fef9fa, 0x05fef9fb, 0x05fef9fc, 0x05fef9fd, 0x05fef9fe, 0x05fef9ff, +0x05fefa00, 0x05fefa01, 0x05fefa02, 0x05fefa03, 0x05fefa04, 0x05fefa05, 0x05fefa06, 0x05fefa07, +0x05fefaf8, 0x05fefaf9, 0x05fefafa, 0x05fefafb, 0x05fefafc, 0x05fefafd, 0x05fefafe, 0x05fefaff, +0x05fefb00, 0x05fefb01, 0x05fefb02, 0x05fefb03, 0x05fefb04, 0x05fefb05, 0x05fefb06, 0x05fefb07, +0x05fefbf8, 0x05fefbf9, 0x05fefbfa, 0x05fefbfb, 0x05fefbfc, 0x05fefbfd, 0x05fefbfe, 0x05fefbff, +0x05fefc00, 0x05fefc01, 0x05fefc02, 0x05fefc03, 0x05fefc04, 0x05fefc05, 0x05fefc06, 0x05fefc07, +0x05fefcf8, 0x05fefcf9, 0x05fefcfa, 0x05fefcfb, 0x05fefcfc, 0x05fefcfd, 0x05fefcfe, 0x05fefcff, +0x05fefd00, 0x05fefd01, 0x05fefd02, 0x05fefd03, 0x05fefd04, 0x05fefd05, 0x05fefd06, 0x05fefd07, +0x05fefdf8, 0x05fefdf9, 0x05fefdfa, 0x05fefdfb, 0x05fefdfc, 0x05fefdfd, 0x05fefdfe, 0x05fefdff, +0x05fefe00, 0x05fefe01, 0x05fefe02, 0x05fefe03, 0x05fefe04, 0x05fefe05, 0x05fefe06, 0x05fefe07, +0x05fefef8, 0x05fefef9, 0x05fefefa, 0x05fefefb, 0x05fefefc, 0x05fefefd, 0x05fefefe, 0x05fefeff, +0x05feff00, 0x05feff01, 0x05feff02, 0x05feff03, 0x05feff04, 0x05feff05, 0x05feff06, 0x05feff07, +0x05fefff8, 0x05fefff9, 0x05fefffa, 0x05fefffb, 0x05fefffc, 0x05fefffd, 0x05fefffe, 0x05feffff, +0x05ff0000, 0x05ff0001, 0x05ff0002, 0x05ff0003, 0x05ff0004, 0x05ff0005, 0x05ff0006, 0x05ff0007, +0x05ff00f8, 0x05ff00f9, 0x05ff00fa, 0x05ff00fb, 0x05ff00fc, 0x05ff00fd, 0x05ff00fe, 0x05ff00ff, +0x05ff0100, 0x05ff0101, 0x05ff0102, 0x05ff0103, 0x05ff0104, 0x05ff0105, 0x05ff0106, 0x05ff0107, +0x05ff01f8, 0x05ff01f9, 0x05ff01fa, 0x05ff01fb, 0x05ff01fc, 0x05ff01fd, 0x05ff01fe, 0x05ff01ff, +0x05ff0200, 0x05ff0201, 0x05ff0202, 0x05ff0203, 0x05ff0204, 0x05ff0205, 0x05ff0206, 0x05ff0207, +0x05ff02f8, 0x05ff02f9, 0x05ff02fa, 0x05ff02fb, 0x05ff02fc, 0x05ff02fd, 0x05ff02fe, 0x05ff02ff, +0x05ff0300, 0x05ff0301, 0x05ff0302, 0x05ff0303, 0x05ff0304, 0x05ff0305, 0x05ff0306, 0x05ff0307, +0x05ff03f8, 0x05ff03f9, 0x05ff03fa, 0x05ff03fb, 0x05ff03fc, 0x05ff03fd, 0x05ff03fe, 0x05ff03ff, +0x05ff0400, 0x05ff0401, 0x05ff0402, 0x05ff0403, 0x05ff0404, 0x05ff0405, 0x05ff0406, 0x05ff0407, +0x05ff04f8, 0x05ff04f9, 0x05ff04fa, 0x05ff04fb, 0x05ff04fc, 0x05ff04fd, 0x05ff04fe, 0x05ff04ff, +0x05ff0500, 0x05ff0501, 0x05ff0502, 0x05ff0503, 0x05ff0504, 0x05ff0505, 0x05ff0506, 0x05ff0507, +0x05ff05f8, 0x05ff05f9, 0x05ff05fa, 0x05ff05fb, 0x05ff05fc, 0x05ff05fd, 0x05ff05fe, 0x05ff05ff, +0x05ff0600, 0x05ff0601, 0x05ff0602, 0x05ff0603, 0x05ff0604, 0x05ff0605, 0x05ff0606, 0x05ff0607, +0x05ff06f8, 0x05ff06f9, 0x05ff06fa, 0x05ff06fb, 0x05ff06fc, 0x05ff06fd, 0x05ff06fe, 0x05ff06ff, +0x05ff0700, 0x05ff0701, 0x05ff0702, 0x05ff0703, 0x05ff0704, 0x05ff0705, 0x05ff0706, 0x05ff0707, +0x05ff07f8, 0x05ff07f9, 0x05ff07fa, 0x05ff07fb, 0x05ff07fc, 0x05ff07fd, 0x05ff07fe, 0x05ff07ff, +0x05fff800, 0x05fff801, 0x05fff802, 0x05fff803, 0x05fff804, 0x05fff805, 0x05fff806, 0x05fff807, +0x05fff8f8, 0x05fff8f9, 0x05fff8fa, 0x05fff8fb, 0x05fff8fc, 0x05fff8fd, 0x05fff8fe, 0x05fff8ff, +0x05fff900, 0x05fff901, 0x05fff902, 0x05fff903, 0x05fff904, 0x05fff905, 0x05fff906, 0x05fff907, +0x05fff9f8, 0x05fff9f9, 0x05fff9fa, 0x05fff9fb, 0x05fff9fc, 0x05fff9fd, 0x05fff9fe, 0x05fff9ff, +0x05fffa00, 0x05fffa01, 0x05fffa02, 0x05fffa03, 0x05fffa04, 0x05fffa05, 0x05fffa06, 0x05fffa07, +0x05fffaf8, 0x05fffaf9, 0x05fffafa, 0x05fffafb, 0x05fffafc, 0x05fffafd, 0x05fffafe, 0x05fffaff, +0x05fffb00, 0x05fffb01, 0x05fffb02, 0x05fffb03, 0x05fffb04, 0x05fffb05, 0x05fffb06, 0x05fffb07, +0x05fffbf8, 0x05fffbf9, 0x05fffbfa, 0x05fffbfb, 0x05fffbfc, 0x05fffbfd, 0x05fffbfe, 0x05fffbff, +0x05fffc00, 0x05fffc01, 0x05fffc02, 0x05fffc03, 0x05fffc04, 0x05fffc05, 0x05fffc06, 0x05fffc07, +0x05fffcf8, 0x05fffcf9, 0x05fffcfa, 0x05fffcfb, 0x05fffcfc, 0x05fffcfd, 0x05fffcfe, 0x05fffcff, +0x05fffd00, 0x05fffd01, 0x05fffd02, 0x05fffd03, 0x05fffd04, 0x05fffd05, 0x05fffd06, 0x05fffd07, +0x05fffdf8, 0x05fffdf9, 0x05fffdfa, 0x05fffdfb, 0x05fffdfc, 0x05fffdfd, 0x05fffdfe, 0x05fffdff, +0x05fffe00, 0x05fffe01, 0x05fffe02, 0x05fffe03, 0x05fffe04, 0x05fffe05, 0x05fffe06, 0x05fffe07, +0x05fffef8, 0x05fffef9, 0x05fffefa, 0x05fffefb, 0x05fffefc, 0x05fffefd, 0x05fffefe, 0x05fffeff, +0x05ffff00, 0x05ffff01, 0x05ffff02, 0x05ffff03, 0x05ffff04, 0x05ffff05, 0x05ffff06, 0x05ffff07, +0x05fffff8, 0x05fffff9, 0x05fffffa, 0x05fffffb, 0x05fffffc, 0x05fffffd, 0x05fffffe, 0x05ffffff, +0x06000000, 0x06000001, 0x06000002, 0x06000003, 0x06000004, 0x06000005, 0x06000006, 0x06000007, +0x060000f8, 0x060000f9, 0x060000fa, 0x060000fb, 0x060000fc, 0x060000fd, 0x060000fe, 0x060000ff, +0x06000100, 0x06000101, 0x06000102, 0x06000103, 0x06000104, 0x06000105, 0x06000106, 0x06000107, +0x060001f8, 0x060001f9, 0x060001fa, 0x060001fb, 0x060001fc, 0x060001fd, 0x060001fe, 0x060001ff, +0x06000200, 0x06000201, 0x06000202, 0x06000203, 0x06000204, 0x06000205, 0x06000206, 0x06000207, +0x060002f8, 0x060002f9, 0x060002fa, 0x060002fb, 0x060002fc, 0x060002fd, 0x060002fe, 0x060002ff, +0x06000300, 0x06000301, 0x06000302, 0x06000303, 0x06000304, 0x06000305, 0x06000306, 0x06000307, +0x060003f8, 0x060003f9, 0x060003fa, 0x060003fb, 0x060003fc, 0x060003fd, 0x060003fe, 0x060003ff, +0x06000400, 0x06000401, 0x06000402, 0x06000403, 0x06000404, 0x06000405, 0x06000406, 0x06000407, +0x060004f8, 0x060004f9, 0x060004fa, 0x060004fb, 0x060004fc, 0x060004fd, 0x060004fe, 0x060004ff, +0x06000500, 0x06000501, 0x06000502, 0x06000503, 0x06000504, 0x06000505, 0x06000506, 0x06000507, +0x060005f8, 0x060005f9, 0x060005fa, 0x060005fb, 0x060005fc, 0x060005fd, 0x060005fe, 0x060005ff, +0x06000600, 0x06000601, 0x06000602, 0x06000603, 0x06000604, 0x06000605, 0x06000606, 0x06000607, +0x060006f8, 0x060006f9, 0x060006fa, 0x060006fb, 0x060006fc, 0x060006fd, 0x060006fe, 0x060006ff, +0x06000700, 0x06000701, 0x06000702, 0x06000703, 0x06000704, 0x06000705, 0x06000706, 0x06000707, +0x060007f8, 0x060007f9, 0x060007fa, 0x060007fb, 0x060007fc, 0x060007fd, 0x060007fe, 0x060007ff, +0x0600f800, 0x0600f801, 0x0600f802, 0x0600f803, 0x0600f804, 0x0600f805, 0x0600f806, 0x0600f807, +0x0600f8f8, 0x0600f8f9, 0x0600f8fa, 0x0600f8fb, 0x0600f8fc, 0x0600f8fd, 0x0600f8fe, 0x0600f8ff, +0x0600f900, 0x0600f901, 0x0600f902, 0x0600f903, 0x0600f904, 0x0600f905, 0x0600f906, 0x0600f907, +0x0600f9f8, 0x0600f9f9, 0x0600f9fa, 0x0600f9fb, 0x0600f9fc, 0x0600f9fd, 0x0600f9fe, 0x0600f9ff, +0x0600fa00, 0x0600fa01, 0x0600fa02, 0x0600fa03, 0x0600fa04, 0x0600fa05, 0x0600fa06, 0x0600fa07, +0x0600faf8, 0x0600faf9, 0x0600fafa, 0x0600fafb, 0x0600fafc, 0x0600fafd, 0x0600fafe, 0x0600faff, +0x0600fb00, 0x0600fb01, 0x0600fb02, 0x0600fb03, 0x0600fb04, 0x0600fb05, 0x0600fb06, 0x0600fb07, +0x0600fbf8, 0x0600fbf9, 0x0600fbfa, 0x0600fbfb, 0x0600fbfc, 0x0600fbfd, 0x0600fbfe, 0x0600fbff, +0x0600fc00, 0x0600fc01, 0x0600fc02, 0x0600fc03, 0x0600fc04, 0x0600fc05, 0x0600fc06, 0x0600fc07, +0x0600fcf8, 0x0600fcf9, 0x0600fcfa, 0x0600fcfb, 0x0600fcfc, 0x0600fcfd, 0x0600fcfe, 0x0600fcff, +0x0600fd00, 0x0600fd01, 0x0600fd02, 0x0600fd03, 0x0600fd04, 0x0600fd05, 0x0600fd06, 0x0600fd07, +0x0600fdf8, 0x0600fdf9, 0x0600fdfa, 0x0600fdfb, 0x0600fdfc, 0x0600fdfd, 0x0600fdfe, 0x0600fdff, +0x0600fe00, 0x0600fe01, 0x0600fe02, 0x0600fe03, 0x0600fe04, 0x0600fe05, 0x0600fe06, 0x0600fe07, +0x0600fef8, 0x0600fef9, 0x0600fefa, 0x0600fefb, 0x0600fefc, 0x0600fefd, 0x0600fefe, 0x0600feff, +0x0600ff00, 0x0600ff01, 0x0600ff02, 0x0600ff03, 0x0600ff04, 0x0600ff05, 0x0600ff06, 0x0600ff07, +0x0600fff8, 0x0600fff9, 0x0600fffa, 0x0600fffb, 0x0600fffc, 0x0600fffd, 0x0600fffe, 0x0600ffff, +0x06010000, 0x06010001, 0x06010002, 0x06010003, 0x06010004, 0x06010005, 0x06010006, 0x06010007, +0x060100f8, 0x060100f9, 0x060100fa, 0x060100fb, 0x060100fc, 0x060100fd, 0x060100fe, 0x060100ff, +0x06010100, 0x06010101, 0x06010102, 0x06010103, 0x06010104, 0x06010105, 0x06010106, 0x06010107, +0x060101f8, 0x060101f9, 0x060101fa, 0x060101fb, 0x060101fc, 0x060101fd, 0x060101fe, 0x060101ff, +0x06010200, 0x06010201, 0x06010202, 0x06010203, 0x06010204, 0x06010205, 0x06010206, 0x06010207, +0x060102f8, 0x060102f9, 0x060102fa, 0x060102fb, 0x060102fc, 0x060102fd, 0x060102fe, 0x060102ff, +0x06010300, 0x06010301, 0x06010302, 0x06010303, 0x06010304, 0x06010305, 0x06010306, 0x06010307, +0x060103f8, 0x060103f9, 0x060103fa, 0x060103fb, 0x060103fc, 0x060103fd, 0x060103fe, 0x060103ff, +0x06010400, 0x06010401, 0x06010402, 0x06010403, 0x06010404, 0x06010405, 0x06010406, 0x06010407, +0x060104f8, 0x060104f9, 0x060104fa, 0x060104fb, 0x060104fc, 0x060104fd, 0x060104fe, 0x060104ff, +0x06010500, 0x06010501, 0x06010502, 0x06010503, 0x06010504, 0x06010505, 0x06010506, 0x06010507, +0x060105f8, 0x060105f9, 0x060105fa, 0x060105fb, 0x060105fc, 0x060105fd, 0x060105fe, 0x060105ff, +0x06010600, 0x06010601, 0x06010602, 0x06010603, 0x06010604, 0x06010605, 0x06010606, 0x06010607, +0x060106f8, 0x060106f9, 0x060106fa, 0x060106fb, 0x060106fc, 0x060106fd, 0x060106fe, 0x060106ff, +0x06010700, 0x06010701, 0x06010702, 0x06010703, 0x06010704, 0x06010705, 0x06010706, 0x06010707, +0x060107f8, 0x060107f9, 0x060107fa, 0x060107fb, 0x060107fc, 0x060107fd, 0x060107fe, 0x060107ff, +0x0601f800, 0x0601f801, 0x0601f802, 0x0601f803, 0x0601f804, 0x0601f805, 0x0601f806, 0x0601f807, +0x0601f8f8, 0x0601f8f9, 0x0601f8fa, 0x0601f8fb, 0x0601f8fc, 0x0601f8fd, 0x0601f8fe, 0x0601f8ff, +0x0601f900, 0x0601f901, 0x0601f902, 0x0601f903, 0x0601f904, 0x0601f905, 0x0601f906, 0x0601f907, +0x0601f9f8, 0x0601f9f9, 0x0601f9fa, 0x0601f9fb, 0x0601f9fc, 0x0601f9fd, 0x0601f9fe, 0x0601f9ff, +0x0601fa00, 0x0601fa01, 0x0601fa02, 0x0601fa03, 0x0601fa04, 0x0601fa05, 0x0601fa06, 0x0601fa07, +0x0601faf8, 0x0601faf9, 0x0601fafa, 0x0601fafb, 0x0601fafc, 0x0601fafd, 0x0601fafe, 0x0601faff, +0x0601fb00, 0x0601fb01, 0x0601fb02, 0x0601fb03, 0x0601fb04, 0x0601fb05, 0x0601fb06, 0x0601fb07, +0x0601fbf8, 0x0601fbf9, 0x0601fbfa, 0x0601fbfb, 0x0601fbfc, 0x0601fbfd, 0x0601fbfe, 0x0601fbff, +0x0601fc00, 0x0601fc01, 0x0601fc02, 0x0601fc03, 0x0601fc04, 0x0601fc05, 0x0601fc06, 0x0601fc07, +0x0601fcf8, 0x0601fcf9, 0x0601fcfa, 0x0601fcfb, 0x0601fcfc, 0x0601fcfd, 0x0601fcfe, 0x0601fcff, +0x0601fd00, 0x0601fd01, 0x0601fd02, 0x0601fd03, 0x0601fd04, 0x0601fd05, 0x0601fd06, 0x0601fd07, +0x0601fdf8, 0x0601fdf9, 0x0601fdfa, 0x0601fdfb, 0x0601fdfc, 0x0601fdfd, 0x0601fdfe, 0x0601fdff, +0x0601fe00, 0x0601fe01, 0x0601fe02, 0x0601fe03, 0x0601fe04, 0x0601fe05, 0x0601fe06, 0x0601fe07, +0x0601fef8, 0x0601fef9, 0x0601fefa, 0x0601fefb, 0x0601fefc, 0x0601fefd, 0x0601fefe, 0x0601feff, +0x0601ff00, 0x0601ff01, 0x0601ff02, 0x0601ff03, 0x0601ff04, 0x0601ff05, 0x0601ff06, 0x0601ff07, +0x0601fff8, 0x0601fff9, 0x0601fffa, 0x0601fffb, 0x0601fffc, 0x0601fffd, 0x0601fffe, 0x0601ffff, +0x06020000, 0x06020001, 0x06020002, 0x06020003, 0x06020004, 0x06020005, 0x06020006, 0x06020007, +0x060200f8, 0x060200f9, 0x060200fa, 0x060200fb, 0x060200fc, 0x060200fd, 0x060200fe, 0x060200ff, +0x06020100, 0x06020101, 0x06020102, 0x06020103, 0x06020104, 0x06020105, 0x06020106, 0x06020107, +0x060201f8, 0x060201f9, 0x060201fa, 0x060201fb, 0x060201fc, 0x060201fd, 0x060201fe, 0x060201ff, +0x06020200, 0x06020201, 0x06020202, 0x06020203, 0x06020204, 0x06020205, 0x06020206, 0x06020207, +0x060202f8, 0x060202f9, 0x060202fa, 0x060202fb, 0x060202fc, 0x060202fd, 0x060202fe, 0x060202ff, +0x06020300, 0x06020301, 0x06020302, 0x06020303, 0x06020304, 0x06020305, 0x06020306, 0x06020307, +0x060203f8, 0x060203f9, 0x060203fa, 0x060203fb, 0x060203fc, 0x060203fd, 0x060203fe, 0x060203ff, +0x06020400, 0x06020401, 0x06020402, 0x06020403, 0x06020404, 0x06020405, 0x06020406, 0x06020407, +0x060204f8, 0x060204f9, 0x060204fa, 0x060204fb, 0x060204fc, 0x060204fd, 0x060204fe, 0x060204ff, +0x06020500, 0x06020501, 0x06020502, 0x06020503, 0x06020504, 0x06020505, 0x06020506, 0x06020507, +0x060205f8, 0x060205f9, 0x060205fa, 0x060205fb, 0x060205fc, 0x060205fd, 0x060205fe, 0x060205ff, +0x06020600, 0x06020601, 0x06020602, 0x06020603, 0x06020604, 0x06020605, 0x06020606, 0x06020607, +0x060206f8, 0x060206f9, 0x060206fa, 0x060206fb, 0x060206fc, 0x060206fd, 0x060206fe, 0x060206ff, +0x06020700, 0x06020701, 0x06020702, 0x06020703, 0x06020704, 0x06020705, 0x06020706, 0x06020707, +0x060207f8, 0x060207f9, 0x060207fa, 0x060207fb, 0x060207fc, 0x060207fd, 0x060207fe, 0x060207ff, +0x0602f800, 0x0602f801, 0x0602f802, 0x0602f803, 0x0602f804, 0x0602f805, 0x0602f806, 0x0602f807, +0x0602f8f8, 0x0602f8f9, 0x0602f8fa, 0x0602f8fb, 0x0602f8fc, 0x0602f8fd, 0x0602f8fe, 0x0602f8ff, +0x0602f900, 0x0602f901, 0x0602f902, 0x0602f903, 0x0602f904, 0x0602f905, 0x0602f906, 0x0602f907, +0x0602f9f8, 0x0602f9f9, 0x0602f9fa, 0x0602f9fb, 0x0602f9fc, 0x0602f9fd, 0x0602f9fe, 0x0602f9ff, +0x0602fa00, 0x0602fa01, 0x0602fa02, 0x0602fa03, 0x0602fa04, 0x0602fa05, 0x0602fa06, 0x0602fa07, +0x0602faf8, 0x0602faf9, 0x0602fafa, 0x0602fafb, 0x0602fafc, 0x0602fafd, 0x0602fafe, 0x0602faff, +0x0602fb00, 0x0602fb01, 0x0602fb02, 0x0602fb03, 0x0602fb04, 0x0602fb05, 0x0602fb06, 0x0602fb07, +0x0602fbf8, 0x0602fbf9, 0x0602fbfa, 0x0602fbfb, 0x0602fbfc, 0x0602fbfd, 0x0602fbfe, 0x0602fbff, +0x0602fc00, 0x0602fc01, 0x0602fc02, 0x0602fc03, 0x0602fc04, 0x0602fc05, 0x0602fc06, 0x0602fc07, +0x0602fcf8, 0x0602fcf9, 0x0602fcfa, 0x0602fcfb, 0x0602fcfc, 0x0602fcfd, 0x0602fcfe, 0x0602fcff, +0x0602fd00, 0x0602fd01, 0x0602fd02, 0x0602fd03, 0x0602fd04, 0x0602fd05, 0x0602fd06, 0x0602fd07, +0x0602fdf8, 0x0602fdf9, 0x0602fdfa, 0x0602fdfb, 0x0602fdfc, 0x0602fdfd, 0x0602fdfe, 0x0602fdff, +0x0602fe00, 0x0602fe01, 0x0602fe02, 0x0602fe03, 0x0602fe04, 0x0602fe05, 0x0602fe06, 0x0602fe07, +0x0602fef8, 0x0602fef9, 0x0602fefa, 0x0602fefb, 0x0602fefc, 0x0602fefd, 0x0602fefe, 0x0602feff, +0x0602ff00, 0x0602ff01, 0x0602ff02, 0x0602ff03, 0x0602ff04, 0x0602ff05, 0x0602ff06, 0x0602ff07, +0x0602fff8, 0x0602fff9, 0x0602fffa, 0x0602fffb, 0x0602fffc, 0x0602fffd, 0x0602fffe, 0x0602ffff, +0x06030000, 0x06030001, 0x06030002, 0x06030003, 0x06030004, 0x06030005, 0x06030006, 0x06030007, +0x060300f8, 0x060300f9, 0x060300fa, 0x060300fb, 0x060300fc, 0x060300fd, 0x060300fe, 0x060300ff, +0x06030100, 0x06030101, 0x06030102, 0x06030103, 0x06030104, 0x06030105, 0x06030106, 0x06030107, +0x060301f8, 0x060301f9, 0x060301fa, 0x060301fb, 0x060301fc, 0x060301fd, 0x060301fe, 0x060301ff, +0x06030200, 0x06030201, 0x06030202, 0x06030203, 0x06030204, 0x06030205, 0x06030206, 0x06030207, +0x060302f8, 0x060302f9, 0x060302fa, 0x060302fb, 0x060302fc, 0x060302fd, 0x060302fe, 0x060302ff, +0x06030300, 0x06030301, 0x06030302, 0x06030303, 0x06030304, 0x06030305, 0x06030306, 0x06030307, +0x060303f8, 0x060303f9, 0x060303fa, 0x060303fb, 0x060303fc, 0x060303fd, 0x060303fe, 0x060303ff, +0x06030400, 0x06030401, 0x06030402, 0x06030403, 0x06030404, 0x06030405, 0x06030406, 0x06030407, +0x060304f8, 0x060304f9, 0x060304fa, 0x060304fb, 0x060304fc, 0x060304fd, 0x060304fe, 0x060304ff, +0x06030500, 0x06030501, 0x06030502, 0x06030503, 0x06030504, 0x06030505, 0x06030506, 0x06030507, +0x060305f8, 0x060305f9, 0x060305fa, 0x060305fb, 0x060305fc, 0x060305fd, 0x060305fe, 0x060305ff, +0x06030600, 0x06030601, 0x06030602, 0x06030603, 0x06030604, 0x06030605, 0x06030606, 0x06030607, +0x060306f8, 0x060306f9, 0x060306fa, 0x060306fb, 0x060306fc, 0x060306fd, 0x060306fe, 0x060306ff, +0x06030700, 0x06030701, 0x06030702, 0x06030703, 0x06030704, 0x06030705, 0x06030706, 0x06030707, +0x060307f8, 0x060307f9, 0x060307fa, 0x060307fb, 0x060307fc, 0x060307fd, 0x060307fe, 0x060307ff, +0x0603f800, 0x0603f801, 0x0603f802, 0x0603f803, 0x0603f804, 0x0603f805, 0x0603f806, 0x0603f807, +0x0603f8f8, 0x0603f8f9, 0x0603f8fa, 0x0603f8fb, 0x0603f8fc, 0x0603f8fd, 0x0603f8fe, 0x0603f8ff, +0x0603f900, 0x0603f901, 0x0603f902, 0x0603f903, 0x0603f904, 0x0603f905, 0x0603f906, 0x0603f907, +0x0603f9f8, 0x0603f9f9, 0x0603f9fa, 0x0603f9fb, 0x0603f9fc, 0x0603f9fd, 0x0603f9fe, 0x0603f9ff, +0x0603fa00, 0x0603fa01, 0x0603fa02, 0x0603fa03, 0x0603fa04, 0x0603fa05, 0x0603fa06, 0x0603fa07, +0x0603faf8, 0x0603faf9, 0x0603fafa, 0x0603fafb, 0x0603fafc, 0x0603fafd, 0x0603fafe, 0x0603faff, +0x0603fb00, 0x0603fb01, 0x0603fb02, 0x0603fb03, 0x0603fb04, 0x0603fb05, 0x0603fb06, 0x0603fb07, +0x0603fbf8, 0x0603fbf9, 0x0603fbfa, 0x0603fbfb, 0x0603fbfc, 0x0603fbfd, 0x0603fbfe, 0x0603fbff, +0x0603fc00, 0x0603fc01, 0x0603fc02, 0x0603fc03, 0x0603fc04, 0x0603fc05, 0x0603fc06, 0x0603fc07, +0x0603fcf8, 0x0603fcf9, 0x0603fcfa, 0x0603fcfb, 0x0603fcfc, 0x0603fcfd, 0x0603fcfe, 0x0603fcff, +0x0603fd00, 0x0603fd01, 0x0603fd02, 0x0603fd03, 0x0603fd04, 0x0603fd05, 0x0603fd06, 0x0603fd07, +0x0603fdf8, 0x0603fdf9, 0x0603fdfa, 0x0603fdfb, 0x0603fdfc, 0x0603fdfd, 0x0603fdfe, 0x0603fdff, +0x0603fe00, 0x0603fe01, 0x0603fe02, 0x0603fe03, 0x0603fe04, 0x0603fe05, 0x0603fe06, 0x0603fe07, +0x0603fef8, 0x0603fef9, 0x0603fefa, 0x0603fefb, 0x0603fefc, 0x0603fefd, 0x0603fefe, 0x0603feff, +0x0603ff00, 0x0603ff01, 0x0603ff02, 0x0603ff03, 0x0603ff04, 0x0603ff05, 0x0603ff06, 0x0603ff07, +0x0603fff8, 0x0603fff9, 0x0603fffa, 0x0603fffb, 0x0603fffc, 0x0603fffd, 0x0603fffe, 0x0603ffff, +0x06040000, 0x06040001, 0x06040002, 0x06040003, 0x06040004, 0x06040005, 0x06040006, 0x06040007, +0x060400f8, 0x060400f9, 0x060400fa, 0x060400fb, 0x060400fc, 0x060400fd, 0x060400fe, 0x060400ff, +0x06040100, 0x06040101, 0x06040102, 0x06040103, 0x06040104, 0x06040105, 0x06040106, 0x06040107, +0x060401f8, 0x060401f9, 0x060401fa, 0x060401fb, 0x060401fc, 0x060401fd, 0x060401fe, 0x060401ff, +0x06040200, 0x06040201, 0x06040202, 0x06040203, 0x06040204, 0x06040205, 0x06040206, 0x06040207, +0x060402f8, 0x060402f9, 0x060402fa, 0x060402fb, 0x060402fc, 0x060402fd, 0x060402fe, 0x060402ff, +0x06040300, 0x06040301, 0x06040302, 0x06040303, 0x06040304, 0x06040305, 0x06040306, 0x06040307, +0x060403f8, 0x060403f9, 0x060403fa, 0x060403fb, 0x060403fc, 0x060403fd, 0x060403fe, 0x060403ff, +0x06040400, 0x06040401, 0x06040402, 0x06040403, 0x06040404, 0x06040405, 0x06040406, 0x06040407, +0x060404f8, 0x060404f9, 0x060404fa, 0x060404fb, 0x060404fc, 0x060404fd, 0x060404fe, 0x060404ff, +0x06040500, 0x06040501, 0x06040502, 0x06040503, 0x06040504, 0x06040505, 0x06040506, 0x06040507, +0x060405f8, 0x060405f9, 0x060405fa, 0x060405fb, 0x060405fc, 0x060405fd, 0x060405fe, 0x060405ff, +0x06040600, 0x06040601, 0x06040602, 0x06040603, 0x06040604, 0x06040605, 0x06040606, 0x06040607, +0x060406f8, 0x060406f9, 0x060406fa, 0x060406fb, 0x060406fc, 0x060406fd, 0x060406fe, 0x060406ff, +0x06040700, 0x06040701, 0x06040702, 0x06040703, 0x06040704, 0x06040705, 0x06040706, 0x06040707, +0x060407f8, 0x060407f9, 0x060407fa, 0x060407fb, 0x060407fc, 0x060407fd, 0x060407fe, 0x060407ff, +0x0604f800, 0x0604f801, 0x0604f802, 0x0604f803, 0x0604f804, 0x0604f805, 0x0604f806, 0x0604f807, +0x0604f8f8, 0x0604f8f9, 0x0604f8fa, 0x0604f8fb, 0x0604f8fc, 0x0604f8fd, 0x0604f8fe, 0x0604f8ff, +0x0604f900, 0x0604f901, 0x0604f902, 0x0604f903, 0x0604f904, 0x0604f905, 0x0604f906, 0x0604f907, +0x0604f9f8, 0x0604f9f9, 0x0604f9fa, 0x0604f9fb, 0x0604f9fc, 0x0604f9fd, 0x0604f9fe, 0x0604f9ff, +0x0604fa00, 0x0604fa01, 0x0604fa02, 0x0604fa03, 0x0604fa04, 0x0604fa05, 0x0604fa06, 0x0604fa07, +0x0604faf8, 0x0604faf9, 0x0604fafa, 0x0604fafb, 0x0604fafc, 0x0604fafd, 0x0604fafe, 0x0604faff, +0x0604fb00, 0x0604fb01, 0x0604fb02, 0x0604fb03, 0x0604fb04, 0x0604fb05, 0x0604fb06, 0x0604fb07, +0x0604fbf8, 0x0604fbf9, 0x0604fbfa, 0x0604fbfb, 0x0604fbfc, 0x0604fbfd, 0x0604fbfe, 0x0604fbff, +0x0604fc00, 0x0604fc01, 0x0604fc02, 0x0604fc03, 0x0604fc04, 0x0604fc05, 0x0604fc06, 0x0604fc07, +0x0604fcf8, 0x0604fcf9, 0x0604fcfa, 0x0604fcfb, 0x0604fcfc, 0x0604fcfd, 0x0604fcfe, 0x0604fcff, +0x0604fd00, 0x0604fd01, 0x0604fd02, 0x0604fd03, 0x0604fd04, 0x0604fd05, 0x0604fd06, 0x0604fd07, +0x0604fdf8, 0x0604fdf9, 0x0604fdfa, 0x0604fdfb, 0x0604fdfc, 0x0604fdfd, 0x0604fdfe, 0x0604fdff, +0x0604fe00, 0x0604fe01, 0x0604fe02, 0x0604fe03, 0x0604fe04, 0x0604fe05, 0x0604fe06, 0x0604fe07, +0x0604fef8, 0x0604fef9, 0x0604fefa, 0x0604fefb, 0x0604fefc, 0x0604fefd, 0x0604fefe, 0x0604feff, +0x0604ff00, 0x0604ff01, 0x0604ff02, 0x0604ff03, 0x0604ff04, 0x0604ff05, 0x0604ff06, 0x0604ff07, +0x0604fff8, 0x0604fff9, 0x0604fffa, 0x0604fffb, 0x0604fffc, 0x0604fffd, 0x0604fffe, 0x0604ffff, +0x06050000, 0x06050001, 0x06050002, 0x06050003, 0x06050004, 0x06050005, 0x06050006, 0x06050007, +0x060500f8, 0x060500f9, 0x060500fa, 0x060500fb, 0x060500fc, 0x060500fd, 0x060500fe, 0x060500ff, +0x06050100, 0x06050101, 0x06050102, 0x06050103, 0x06050104, 0x06050105, 0x06050106, 0x06050107, +0x060501f8, 0x060501f9, 0x060501fa, 0x060501fb, 0x060501fc, 0x060501fd, 0x060501fe, 0x060501ff, +0x06050200, 0x06050201, 0x06050202, 0x06050203, 0x06050204, 0x06050205, 0x06050206, 0x06050207, +0x060502f8, 0x060502f9, 0x060502fa, 0x060502fb, 0x060502fc, 0x060502fd, 0x060502fe, 0x060502ff, +0x06050300, 0x06050301, 0x06050302, 0x06050303, 0x06050304, 0x06050305, 0x06050306, 0x06050307, +0x060503f8, 0x060503f9, 0x060503fa, 0x060503fb, 0x060503fc, 0x060503fd, 0x060503fe, 0x060503ff, +0x06050400, 0x06050401, 0x06050402, 0x06050403, 0x06050404, 0x06050405, 0x06050406, 0x06050407, +0x060504f8, 0x060504f9, 0x060504fa, 0x060504fb, 0x060504fc, 0x060504fd, 0x060504fe, 0x060504ff, +0x06050500, 0x06050501, 0x06050502, 0x06050503, 0x06050504, 0x06050505, 0x06050506, 0x06050507, +0x060505f8, 0x060505f9, 0x060505fa, 0x060505fb, 0x060505fc, 0x060505fd, 0x060505fe, 0x060505ff, +0x06050600, 0x06050601, 0x06050602, 0x06050603, 0x06050604, 0x06050605, 0x06050606, 0x06050607, +0x060506f8, 0x060506f9, 0x060506fa, 0x060506fb, 0x060506fc, 0x060506fd, 0x060506fe, 0x060506ff, +0x06050700, 0x06050701, 0x06050702, 0x06050703, 0x06050704, 0x06050705, 0x06050706, 0x06050707, +0x060507f8, 0x060507f9, 0x060507fa, 0x060507fb, 0x060507fc, 0x060507fd, 0x060507fe, 0x060507ff, +0x0605f800, 0x0605f801, 0x0605f802, 0x0605f803, 0x0605f804, 0x0605f805, 0x0605f806, 0x0605f807, +0x0605f8f8, 0x0605f8f9, 0x0605f8fa, 0x0605f8fb, 0x0605f8fc, 0x0605f8fd, 0x0605f8fe, 0x0605f8ff, +0x0605f900, 0x0605f901, 0x0605f902, 0x0605f903, 0x0605f904, 0x0605f905, 0x0605f906, 0x0605f907, +0x0605f9f8, 0x0605f9f9, 0x0605f9fa, 0x0605f9fb, 0x0605f9fc, 0x0605f9fd, 0x0605f9fe, 0x0605f9ff, +0x0605fa00, 0x0605fa01, 0x0605fa02, 0x0605fa03, 0x0605fa04, 0x0605fa05, 0x0605fa06, 0x0605fa07, +0x0605faf8, 0x0605faf9, 0x0605fafa, 0x0605fafb, 0x0605fafc, 0x0605fafd, 0x0605fafe, 0x0605faff, +0x0605fb00, 0x0605fb01, 0x0605fb02, 0x0605fb03, 0x0605fb04, 0x0605fb05, 0x0605fb06, 0x0605fb07, +0x0605fbf8, 0x0605fbf9, 0x0605fbfa, 0x0605fbfb, 0x0605fbfc, 0x0605fbfd, 0x0605fbfe, 0x0605fbff, +0x0605fc00, 0x0605fc01, 0x0605fc02, 0x0605fc03, 0x0605fc04, 0x0605fc05, 0x0605fc06, 0x0605fc07, +0x0605fcf8, 0x0605fcf9, 0x0605fcfa, 0x0605fcfb, 0x0605fcfc, 0x0605fcfd, 0x0605fcfe, 0x0605fcff, +0x0605fd00, 0x0605fd01, 0x0605fd02, 0x0605fd03, 0x0605fd04, 0x0605fd05, 0x0605fd06, 0x0605fd07, +0x0605fdf8, 0x0605fdf9, 0x0605fdfa, 0x0605fdfb, 0x0605fdfc, 0x0605fdfd, 0x0605fdfe, 0x0605fdff, +0x0605fe00, 0x0605fe01, 0x0605fe02, 0x0605fe03, 0x0605fe04, 0x0605fe05, 0x0605fe06, 0x0605fe07, +0x0605fef8, 0x0605fef9, 0x0605fefa, 0x0605fefb, 0x0605fefc, 0x0605fefd, 0x0605fefe, 0x0605feff, +0x0605ff00, 0x0605ff01, 0x0605ff02, 0x0605ff03, 0x0605ff04, 0x0605ff05, 0x0605ff06, 0x0605ff07, +0x0605fff8, 0x0605fff9, 0x0605fffa, 0x0605fffb, 0x0605fffc, 0x0605fffd, 0x0605fffe, 0x0605ffff, +0x06060000, 0x06060001, 0x06060002, 0x06060003, 0x06060004, 0x06060005, 0x06060006, 0x06060007, +0x060600f8, 0x060600f9, 0x060600fa, 0x060600fb, 0x060600fc, 0x060600fd, 0x060600fe, 0x060600ff, +0x06060100, 0x06060101, 0x06060102, 0x06060103, 0x06060104, 0x06060105, 0x06060106, 0x06060107, +0x060601f8, 0x060601f9, 0x060601fa, 0x060601fb, 0x060601fc, 0x060601fd, 0x060601fe, 0x060601ff, +0x06060200, 0x06060201, 0x06060202, 0x06060203, 0x06060204, 0x06060205, 0x06060206, 0x06060207, +0x060602f8, 0x060602f9, 0x060602fa, 0x060602fb, 0x060602fc, 0x060602fd, 0x060602fe, 0x060602ff, +0x06060300, 0x06060301, 0x06060302, 0x06060303, 0x06060304, 0x06060305, 0x06060306, 0x06060307, +0x060603f8, 0x060603f9, 0x060603fa, 0x060603fb, 0x060603fc, 0x060603fd, 0x060603fe, 0x060603ff, +0x06060400, 0x06060401, 0x06060402, 0x06060403, 0x06060404, 0x06060405, 0x06060406, 0x06060407, +0x060604f8, 0x060604f9, 0x060604fa, 0x060604fb, 0x060604fc, 0x060604fd, 0x060604fe, 0x060604ff, +0x06060500, 0x06060501, 0x06060502, 0x06060503, 0x06060504, 0x06060505, 0x06060506, 0x06060507, +0x060605f8, 0x060605f9, 0x060605fa, 0x060605fb, 0x060605fc, 0x060605fd, 0x060605fe, 0x060605ff, +0x06060600, 0x06060601, 0x06060602, 0x06060603, 0x06060604, 0x06060605, 0x06060606, 0x06060607, +0x060606f8, 0x060606f9, 0x060606fa, 0x060606fb, 0x060606fc, 0x060606fd, 0x060606fe, 0x060606ff, +0x06060700, 0x06060701, 0x06060702, 0x06060703, 0x06060704, 0x06060705, 0x06060706, 0x06060707, +0x060607f8, 0x060607f9, 0x060607fa, 0x060607fb, 0x060607fc, 0x060607fd, 0x060607fe, 0x060607ff, +0x0606f800, 0x0606f801, 0x0606f802, 0x0606f803, 0x0606f804, 0x0606f805, 0x0606f806, 0x0606f807, +0x0606f8f8, 0x0606f8f9, 0x0606f8fa, 0x0606f8fb, 0x0606f8fc, 0x0606f8fd, 0x0606f8fe, 0x0606f8ff, +0x0606f900, 0x0606f901, 0x0606f902, 0x0606f903, 0x0606f904, 0x0606f905, 0x0606f906, 0x0606f907, +0x0606f9f8, 0x0606f9f9, 0x0606f9fa, 0x0606f9fb, 0x0606f9fc, 0x0606f9fd, 0x0606f9fe, 0x0606f9ff, +0x0606fa00, 0x0606fa01, 0x0606fa02, 0x0606fa03, 0x0606fa04, 0x0606fa05, 0x0606fa06, 0x0606fa07, +0x0606faf8, 0x0606faf9, 0x0606fafa, 0x0606fafb, 0x0606fafc, 0x0606fafd, 0x0606fafe, 0x0606faff, +0x0606fb00, 0x0606fb01, 0x0606fb02, 0x0606fb03, 0x0606fb04, 0x0606fb05, 0x0606fb06, 0x0606fb07, +0x0606fbf8, 0x0606fbf9, 0x0606fbfa, 0x0606fbfb, 0x0606fbfc, 0x0606fbfd, 0x0606fbfe, 0x0606fbff, +0x0606fc00, 0x0606fc01, 0x0606fc02, 0x0606fc03, 0x0606fc04, 0x0606fc05, 0x0606fc06, 0x0606fc07, +0x0606fcf8, 0x0606fcf9, 0x0606fcfa, 0x0606fcfb, 0x0606fcfc, 0x0606fcfd, 0x0606fcfe, 0x0606fcff, +0x0606fd00, 0x0606fd01, 0x0606fd02, 0x0606fd03, 0x0606fd04, 0x0606fd05, 0x0606fd06, 0x0606fd07, +0x0606fdf8, 0x0606fdf9, 0x0606fdfa, 0x0606fdfb, 0x0606fdfc, 0x0606fdfd, 0x0606fdfe, 0x0606fdff, +0x0606fe00, 0x0606fe01, 0x0606fe02, 0x0606fe03, 0x0606fe04, 0x0606fe05, 0x0606fe06, 0x0606fe07, +0x0606fef8, 0x0606fef9, 0x0606fefa, 0x0606fefb, 0x0606fefc, 0x0606fefd, 0x0606fefe, 0x0606feff, +0x0606ff00, 0x0606ff01, 0x0606ff02, 0x0606ff03, 0x0606ff04, 0x0606ff05, 0x0606ff06, 0x0606ff07, +0x0606fff8, 0x0606fff9, 0x0606fffa, 0x0606fffb, 0x0606fffc, 0x0606fffd, 0x0606fffe, 0x0606ffff, +0x06070000, 0x06070001, 0x06070002, 0x06070003, 0x06070004, 0x06070005, 0x06070006, 0x06070007, +0x060700f8, 0x060700f9, 0x060700fa, 0x060700fb, 0x060700fc, 0x060700fd, 0x060700fe, 0x060700ff, +0x06070100, 0x06070101, 0x06070102, 0x06070103, 0x06070104, 0x06070105, 0x06070106, 0x06070107, +0x060701f8, 0x060701f9, 0x060701fa, 0x060701fb, 0x060701fc, 0x060701fd, 0x060701fe, 0x060701ff, +0x06070200, 0x06070201, 0x06070202, 0x06070203, 0x06070204, 0x06070205, 0x06070206, 0x06070207, +0x060702f8, 0x060702f9, 0x060702fa, 0x060702fb, 0x060702fc, 0x060702fd, 0x060702fe, 0x060702ff, +0x06070300, 0x06070301, 0x06070302, 0x06070303, 0x06070304, 0x06070305, 0x06070306, 0x06070307, +0x060703f8, 0x060703f9, 0x060703fa, 0x060703fb, 0x060703fc, 0x060703fd, 0x060703fe, 0x060703ff, +0x06070400, 0x06070401, 0x06070402, 0x06070403, 0x06070404, 0x06070405, 0x06070406, 0x06070407, +0x060704f8, 0x060704f9, 0x060704fa, 0x060704fb, 0x060704fc, 0x060704fd, 0x060704fe, 0x060704ff, +0x06070500, 0x06070501, 0x06070502, 0x06070503, 0x06070504, 0x06070505, 0x06070506, 0x06070507, +0x060705f8, 0x060705f9, 0x060705fa, 0x060705fb, 0x060705fc, 0x060705fd, 0x060705fe, 0x060705ff, +0x06070600, 0x06070601, 0x06070602, 0x06070603, 0x06070604, 0x06070605, 0x06070606, 0x06070607, +0x060706f8, 0x060706f9, 0x060706fa, 0x060706fb, 0x060706fc, 0x060706fd, 0x060706fe, 0x060706ff, +0x06070700, 0x06070701, 0x06070702, 0x06070703, 0x06070704, 0x06070705, 0x06070706, 0x06070707, +0x060707f8, 0x060707f9, 0x060707fa, 0x060707fb, 0x060707fc, 0x060707fd, 0x060707fe, 0x060707ff, +0x0607f800, 0x0607f801, 0x0607f802, 0x0607f803, 0x0607f804, 0x0607f805, 0x0607f806, 0x0607f807, +0x0607f8f8, 0x0607f8f9, 0x0607f8fa, 0x0607f8fb, 0x0607f8fc, 0x0607f8fd, 0x0607f8fe, 0x0607f8ff, +0x0607f900, 0x0607f901, 0x0607f902, 0x0607f903, 0x0607f904, 0x0607f905, 0x0607f906, 0x0607f907, +0x0607f9f8, 0x0607f9f9, 0x0607f9fa, 0x0607f9fb, 0x0607f9fc, 0x0607f9fd, 0x0607f9fe, 0x0607f9ff, +0x0607fa00, 0x0607fa01, 0x0607fa02, 0x0607fa03, 0x0607fa04, 0x0607fa05, 0x0607fa06, 0x0607fa07, +0x0607faf8, 0x0607faf9, 0x0607fafa, 0x0607fafb, 0x0607fafc, 0x0607fafd, 0x0607fafe, 0x0607faff, +0x0607fb00, 0x0607fb01, 0x0607fb02, 0x0607fb03, 0x0607fb04, 0x0607fb05, 0x0607fb06, 0x0607fb07, +0x0607fbf8, 0x0607fbf9, 0x0607fbfa, 0x0607fbfb, 0x0607fbfc, 0x0607fbfd, 0x0607fbfe, 0x0607fbff, +0x0607fc00, 0x0607fc01, 0x0607fc02, 0x0607fc03, 0x0607fc04, 0x0607fc05, 0x0607fc06, 0x0607fc07, +0x0607fcf8, 0x0607fcf9, 0x0607fcfa, 0x0607fcfb, 0x0607fcfc, 0x0607fcfd, 0x0607fcfe, 0x0607fcff, +0x0607fd00, 0x0607fd01, 0x0607fd02, 0x0607fd03, 0x0607fd04, 0x0607fd05, 0x0607fd06, 0x0607fd07, +0x0607fdf8, 0x0607fdf9, 0x0607fdfa, 0x0607fdfb, 0x0607fdfc, 0x0607fdfd, 0x0607fdfe, 0x0607fdff, +0x0607fe00, 0x0607fe01, 0x0607fe02, 0x0607fe03, 0x0607fe04, 0x0607fe05, 0x0607fe06, 0x0607fe07, +0x0607fef8, 0x0607fef9, 0x0607fefa, 0x0607fefb, 0x0607fefc, 0x0607fefd, 0x0607fefe, 0x0607feff, +0x0607ff00, 0x0607ff01, 0x0607ff02, 0x0607ff03, 0x0607ff04, 0x0607ff05, 0x0607ff06, 0x0607ff07, +0x0607fff8, 0x0607fff9, 0x0607fffa, 0x0607fffb, 0x0607fffc, 0x0607fffd, 0x0607fffe, 0x0607ffff, +0x06f80000, 0x06f80001, 0x06f80002, 0x06f80003, 0x06f80004, 0x06f80005, 0x06f80006, 0x06f80007, +0x06f800f8, 0x06f800f9, 0x06f800fa, 0x06f800fb, 0x06f800fc, 0x06f800fd, 0x06f800fe, 0x06f800ff, +0x06f80100, 0x06f80101, 0x06f80102, 0x06f80103, 0x06f80104, 0x06f80105, 0x06f80106, 0x06f80107, +0x06f801f8, 0x06f801f9, 0x06f801fa, 0x06f801fb, 0x06f801fc, 0x06f801fd, 0x06f801fe, 0x06f801ff, +0x06f80200, 0x06f80201, 0x06f80202, 0x06f80203, 0x06f80204, 0x06f80205, 0x06f80206, 0x06f80207, +0x06f802f8, 0x06f802f9, 0x06f802fa, 0x06f802fb, 0x06f802fc, 0x06f802fd, 0x06f802fe, 0x06f802ff, +0x06f80300, 0x06f80301, 0x06f80302, 0x06f80303, 0x06f80304, 0x06f80305, 0x06f80306, 0x06f80307, +0x06f803f8, 0x06f803f9, 0x06f803fa, 0x06f803fb, 0x06f803fc, 0x06f803fd, 0x06f803fe, 0x06f803ff, +0x06f80400, 0x06f80401, 0x06f80402, 0x06f80403, 0x06f80404, 0x06f80405, 0x06f80406, 0x06f80407, +0x06f804f8, 0x06f804f9, 0x06f804fa, 0x06f804fb, 0x06f804fc, 0x06f804fd, 0x06f804fe, 0x06f804ff, +0x06f80500, 0x06f80501, 0x06f80502, 0x06f80503, 0x06f80504, 0x06f80505, 0x06f80506, 0x06f80507, +0x06f805f8, 0x06f805f9, 0x06f805fa, 0x06f805fb, 0x06f805fc, 0x06f805fd, 0x06f805fe, 0x06f805ff, +0x06f80600, 0x06f80601, 0x06f80602, 0x06f80603, 0x06f80604, 0x06f80605, 0x06f80606, 0x06f80607, +0x06f806f8, 0x06f806f9, 0x06f806fa, 0x06f806fb, 0x06f806fc, 0x06f806fd, 0x06f806fe, 0x06f806ff, +0x06f80700, 0x06f80701, 0x06f80702, 0x06f80703, 0x06f80704, 0x06f80705, 0x06f80706, 0x06f80707, +0x06f807f8, 0x06f807f9, 0x06f807fa, 0x06f807fb, 0x06f807fc, 0x06f807fd, 0x06f807fe, 0x06f807ff, +0x06f8f800, 0x06f8f801, 0x06f8f802, 0x06f8f803, 0x06f8f804, 0x06f8f805, 0x06f8f806, 0x06f8f807, +0x06f8f8f8, 0x06f8f8f9, 0x06f8f8fa, 0x06f8f8fb, 0x06f8f8fc, 0x06f8f8fd, 0x06f8f8fe, 0x06f8f8ff, +0x06f8f900, 0x06f8f901, 0x06f8f902, 0x06f8f903, 0x06f8f904, 0x06f8f905, 0x06f8f906, 0x06f8f907, +0x06f8f9f8, 0x06f8f9f9, 0x06f8f9fa, 0x06f8f9fb, 0x06f8f9fc, 0x06f8f9fd, 0x06f8f9fe, 0x06f8f9ff, +0x06f8fa00, 0x06f8fa01, 0x06f8fa02, 0x06f8fa03, 0x06f8fa04, 0x06f8fa05, 0x06f8fa06, 0x06f8fa07, +0x06f8faf8, 0x06f8faf9, 0x06f8fafa, 0x06f8fafb, 0x06f8fafc, 0x06f8fafd, 0x06f8fafe, 0x06f8faff, +0x06f8fb00, 0x06f8fb01, 0x06f8fb02, 0x06f8fb03, 0x06f8fb04, 0x06f8fb05, 0x06f8fb06, 0x06f8fb07, +0x06f8fbf8, 0x06f8fbf9, 0x06f8fbfa, 0x06f8fbfb, 0x06f8fbfc, 0x06f8fbfd, 0x06f8fbfe, 0x06f8fbff, +0x06f8fc00, 0x06f8fc01, 0x06f8fc02, 0x06f8fc03, 0x06f8fc04, 0x06f8fc05, 0x06f8fc06, 0x06f8fc07, +0x06f8fcf8, 0x06f8fcf9, 0x06f8fcfa, 0x06f8fcfb, 0x06f8fcfc, 0x06f8fcfd, 0x06f8fcfe, 0x06f8fcff, +0x06f8fd00, 0x06f8fd01, 0x06f8fd02, 0x06f8fd03, 0x06f8fd04, 0x06f8fd05, 0x06f8fd06, 0x06f8fd07, +0x06f8fdf8, 0x06f8fdf9, 0x06f8fdfa, 0x06f8fdfb, 0x06f8fdfc, 0x06f8fdfd, 0x06f8fdfe, 0x06f8fdff, +0x06f8fe00, 0x06f8fe01, 0x06f8fe02, 0x06f8fe03, 0x06f8fe04, 0x06f8fe05, 0x06f8fe06, 0x06f8fe07, +0x06f8fef8, 0x06f8fef9, 0x06f8fefa, 0x06f8fefb, 0x06f8fefc, 0x06f8fefd, 0x06f8fefe, 0x06f8feff, +0x06f8ff00, 0x06f8ff01, 0x06f8ff02, 0x06f8ff03, 0x06f8ff04, 0x06f8ff05, 0x06f8ff06, 0x06f8ff07, +0x06f8fff8, 0x06f8fff9, 0x06f8fffa, 0x06f8fffb, 0x06f8fffc, 0x06f8fffd, 0x06f8fffe, 0x06f8ffff, +0x06f90000, 0x06f90001, 0x06f90002, 0x06f90003, 0x06f90004, 0x06f90005, 0x06f90006, 0x06f90007, +0x06f900f8, 0x06f900f9, 0x06f900fa, 0x06f900fb, 0x06f900fc, 0x06f900fd, 0x06f900fe, 0x06f900ff, +0x06f90100, 0x06f90101, 0x06f90102, 0x06f90103, 0x06f90104, 0x06f90105, 0x06f90106, 0x06f90107, +0x06f901f8, 0x06f901f9, 0x06f901fa, 0x06f901fb, 0x06f901fc, 0x06f901fd, 0x06f901fe, 0x06f901ff, +0x06f90200, 0x06f90201, 0x06f90202, 0x06f90203, 0x06f90204, 0x06f90205, 0x06f90206, 0x06f90207, +0x06f902f8, 0x06f902f9, 0x06f902fa, 0x06f902fb, 0x06f902fc, 0x06f902fd, 0x06f902fe, 0x06f902ff, +0x06f90300, 0x06f90301, 0x06f90302, 0x06f90303, 0x06f90304, 0x06f90305, 0x06f90306, 0x06f90307, +0x06f903f8, 0x06f903f9, 0x06f903fa, 0x06f903fb, 0x06f903fc, 0x06f903fd, 0x06f903fe, 0x06f903ff, +0x06f90400, 0x06f90401, 0x06f90402, 0x06f90403, 0x06f90404, 0x06f90405, 0x06f90406, 0x06f90407, +0x06f904f8, 0x06f904f9, 0x06f904fa, 0x06f904fb, 0x06f904fc, 0x06f904fd, 0x06f904fe, 0x06f904ff, +0x06f90500, 0x06f90501, 0x06f90502, 0x06f90503, 0x06f90504, 0x06f90505, 0x06f90506, 0x06f90507, +0x06f905f8, 0x06f905f9, 0x06f905fa, 0x06f905fb, 0x06f905fc, 0x06f905fd, 0x06f905fe, 0x06f905ff, +0x06f90600, 0x06f90601, 0x06f90602, 0x06f90603, 0x06f90604, 0x06f90605, 0x06f90606, 0x06f90607, +0x06f906f8, 0x06f906f9, 0x06f906fa, 0x06f906fb, 0x06f906fc, 0x06f906fd, 0x06f906fe, 0x06f906ff, +0x06f90700, 0x06f90701, 0x06f90702, 0x06f90703, 0x06f90704, 0x06f90705, 0x06f90706, 0x06f90707, +0x06f907f8, 0x06f907f9, 0x06f907fa, 0x06f907fb, 0x06f907fc, 0x06f907fd, 0x06f907fe, 0x06f907ff, +0x06f9f800, 0x06f9f801, 0x06f9f802, 0x06f9f803, 0x06f9f804, 0x06f9f805, 0x06f9f806, 0x06f9f807, +0x06f9f8f8, 0x06f9f8f9, 0x06f9f8fa, 0x06f9f8fb, 0x06f9f8fc, 0x06f9f8fd, 0x06f9f8fe, 0x06f9f8ff, +0x06f9f900, 0x06f9f901, 0x06f9f902, 0x06f9f903, 0x06f9f904, 0x06f9f905, 0x06f9f906, 0x06f9f907, +0x06f9f9f8, 0x06f9f9f9, 0x06f9f9fa, 0x06f9f9fb, 0x06f9f9fc, 0x06f9f9fd, 0x06f9f9fe, 0x06f9f9ff, +0x06f9fa00, 0x06f9fa01, 0x06f9fa02, 0x06f9fa03, 0x06f9fa04, 0x06f9fa05, 0x06f9fa06, 0x06f9fa07, +0x06f9faf8, 0x06f9faf9, 0x06f9fafa, 0x06f9fafb, 0x06f9fafc, 0x06f9fafd, 0x06f9fafe, 0x06f9faff, +0x06f9fb00, 0x06f9fb01, 0x06f9fb02, 0x06f9fb03, 0x06f9fb04, 0x06f9fb05, 0x06f9fb06, 0x06f9fb07, +0x06f9fbf8, 0x06f9fbf9, 0x06f9fbfa, 0x06f9fbfb, 0x06f9fbfc, 0x06f9fbfd, 0x06f9fbfe, 0x06f9fbff, +0x06f9fc00, 0x06f9fc01, 0x06f9fc02, 0x06f9fc03, 0x06f9fc04, 0x06f9fc05, 0x06f9fc06, 0x06f9fc07, +0x06f9fcf8, 0x06f9fcf9, 0x06f9fcfa, 0x06f9fcfb, 0x06f9fcfc, 0x06f9fcfd, 0x06f9fcfe, 0x06f9fcff, +0x06f9fd00, 0x06f9fd01, 0x06f9fd02, 0x06f9fd03, 0x06f9fd04, 0x06f9fd05, 0x06f9fd06, 0x06f9fd07, +0x06f9fdf8, 0x06f9fdf9, 0x06f9fdfa, 0x06f9fdfb, 0x06f9fdfc, 0x06f9fdfd, 0x06f9fdfe, 0x06f9fdff, +0x06f9fe00, 0x06f9fe01, 0x06f9fe02, 0x06f9fe03, 0x06f9fe04, 0x06f9fe05, 0x06f9fe06, 0x06f9fe07, +0x06f9fef8, 0x06f9fef9, 0x06f9fefa, 0x06f9fefb, 0x06f9fefc, 0x06f9fefd, 0x06f9fefe, 0x06f9feff, +0x06f9ff00, 0x06f9ff01, 0x06f9ff02, 0x06f9ff03, 0x06f9ff04, 0x06f9ff05, 0x06f9ff06, 0x06f9ff07, +0x06f9fff8, 0x06f9fff9, 0x06f9fffa, 0x06f9fffb, 0x06f9fffc, 0x06f9fffd, 0x06f9fffe, 0x06f9ffff, +0x06fa0000, 0x06fa0001, 0x06fa0002, 0x06fa0003, 0x06fa0004, 0x06fa0005, 0x06fa0006, 0x06fa0007, +0x06fa00f8, 0x06fa00f9, 0x06fa00fa, 0x06fa00fb, 0x06fa00fc, 0x06fa00fd, 0x06fa00fe, 0x06fa00ff, +0x06fa0100, 0x06fa0101, 0x06fa0102, 0x06fa0103, 0x06fa0104, 0x06fa0105, 0x06fa0106, 0x06fa0107, +0x06fa01f8, 0x06fa01f9, 0x06fa01fa, 0x06fa01fb, 0x06fa01fc, 0x06fa01fd, 0x06fa01fe, 0x06fa01ff, +0x06fa0200, 0x06fa0201, 0x06fa0202, 0x06fa0203, 0x06fa0204, 0x06fa0205, 0x06fa0206, 0x06fa0207, +0x06fa02f8, 0x06fa02f9, 0x06fa02fa, 0x06fa02fb, 0x06fa02fc, 0x06fa02fd, 0x06fa02fe, 0x06fa02ff, +0x06fa0300, 0x06fa0301, 0x06fa0302, 0x06fa0303, 0x06fa0304, 0x06fa0305, 0x06fa0306, 0x06fa0307, +0x06fa03f8, 0x06fa03f9, 0x06fa03fa, 0x06fa03fb, 0x06fa03fc, 0x06fa03fd, 0x06fa03fe, 0x06fa03ff, +0x06fa0400, 0x06fa0401, 0x06fa0402, 0x06fa0403, 0x06fa0404, 0x06fa0405, 0x06fa0406, 0x06fa0407, +0x06fa04f8, 0x06fa04f9, 0x06fa04fa, 0x06fa04fb, 0x06fa04fc, 0x06fa04fd, 0x06fa04fe, 0x06fa04ff, +0x06fa0500, 0x06fa0501, 0x06fa0502, 0x06fa0503, 0x06fa0504, 0x06fa0505, 0x06fa0506, 0x06fa0507, +0x06fa05f8, 0x06fa05f9, 0x06fa05fa, 0x06fa05fb, 0x06fa05fc, 0x06fa05fd, 0x06fa05fe, 0x06fa05ff, +0x06fa0600, 0x06fa0601, 0x06fa0602, 0x06fa0603, 0x06fa0604, 0x06fa0605, 0x06fa0606, 0x06fa0607, +0x06fa06f8, 0x06fa06f9, 0x06fa06fa, 0x06fa06fb, 0x06fa06fc, 0x06fa06fd, 0x06fa06fe, 0x06fa06ff, +0x06fa0700, 0x06fa0701, 0x06fa0702, 0x06fa0703, 0x06fa0704, 0x06fa0705, 0x06fa0706, 0x06fa0707, +0x06fa07f8, 0x06fa07f9, 0x06fa07fa, 0x06fa07fb, 0x06fa07fc, 0x06fa07fd, 0x06fa07fe, 0x06fa07ff, +0x06faf800, 0x06faf801, 0x06faf802, 0x06faf803, 0x06faf804, 0x06faf805, 0x06faf806, 0x06faf807, +0x06faf8f8, 0x06faf8f9, 0x06faf8fa, 0x06faf8fb, 0x06faf8fc, 0x06faf8fd, 0x06faf8fe, 0x06faf8ff, +0x06faf900, 0x06faf901, 0x06faf902, 0x06faf903, 0x06faf904, 0x06faf905, 0x06faf906, 0x06faf907, +0x06faf9f8, 0x06faf9f9, 0x06faf9fa, 0x06faf9fb, 0x06faf9fc, 0x06faf9fd, 0x06faf9fe, 0x06faf9ff, +0x06fafa00, 0x06fafa01, 0x06fafa02, 0x06fafa03, 0x06fafa04, 0x06fafa05, 0x06fafa06, 0x06fafa07, +0x06fafaf8, 0x06fafaf9, 0x06fafafa, 0x06fafafb, 0x06fafafc, 0x06fafafd, 0x06fafafe, 0x06fafaff, +0x06fafb00, 0x06fafb01, 0x06fafb02, 0x06fafb03, 0x06fafb04, 0x06fafb05, 0x06fafb06, 0x06fafb07, +0x06fafbf8, 0x06fafbf9, 0x06fafbfa, 0x06fafbfb, 0x06fafbfc, 0x06fafbfd, 0x06fafbfe, 0x06fafbff, +0x06fafc00, 0x06fafc01, 0x06fafc02, 0x06fafc03, 0x06fafc04, 0x06fafc05, 0x06fafc06, 0x06fafc07, +0x06fafcf8, 0x06fafcf9, 0x06fafcfa, 0x06fafcfb, 0x06fafcfc, 0x06fafcfd, 0x06fafcfe, 0x06fafcff, +0x06fafd00, 0x06fafd01, 0x06fafd02, 0x06fafd03, 0x06fafd04, 0x06fafd05, 0x06fafd06, 0x06fafd07, +0x06fafdf8, 0x06fafdf9, 0x06fafdfa, 0x06fafdfb, 0x06fafdfc, 0x06fafdfd, 0x06fafdfe, 0x06fafdff, +0x06fafe00, 0x06fafe01, 0x06fafe02, 0x06fafe03, 0x06fafe04, 0x06fafe05, 0x06fafe06, 0x06fafe07, +0x06fafef8, 0x06fafef9, 0x06fafefa, 0x06fafefb, 0x06fafefc, 0x06fafefd, 0x06fafefe, 0x06fafeff, +0x06faff00, 0x06faff01, 0x06faff02, 0x06faff03, 0x06faff04, 0x06faff05, 0x06faff06, 0x06faff07, +0x06fafff8, 0x06fafff9, 0x06fafffa, 0x06fafffb, 0x06fafffc, 0x06fafffd, 0x06fafffe, 0x06faffff, +0x06fb0000, 0x06fb0001, 0x06fb0002, 0x06fb0003, 0x06fb0004, 0x06fb0005, 0x06fb0006, 0x06fb0007, +0x06fb00f8, 0x06fb00f9, 0x06fb00fa, 0x06fb00fb, 0x06fb00fc, 0x06fb00fd, 0x06fb00fe, 0x06fb00ff, +0x06fb0100, 0x06fb0101, 0x06fb0102, 0x06fb0103, 0x06fb0104, 0x06fb0105, 0x06fb0106, 0x06fb0107, +0x06fb01f8, 0x06fb01f9, 0x06fb01fa, 0x06fb01fb, 0x06fb01fc, 0x06fb01fd, 0x06fb01fe, 0x06fb01ff, +0x06fb0200, 0x06fb0201, 0x06fb0202, 0x06fb0203, 0x06fb0204, 0x06fb0205, 0x06fb0206, 0x06fb0207, +0x06fb02f8, 0x06fb02f9, 0x06fb02fa, 0x06fb02fb, 0x06fb02fc, 0x06fb02fd, 0x06fb02fe, 0x06fb02ff, +0x06fb0300, 0x06fb0301, 0x06fb0302, 0x06fb0303, 0x06fb0304, 0x06fb0305, 0x06fb0306, 0x06fb0307, +0x06fb03f8, 0x06fb03f9, 0x06fb03fa, 0x06fb03fb, 0x06fb03fc, 0x06fb03fd, 0x06fb03fe, 0x06fb03ff, +0x06fb0400, 0x06fb0401, 0x06fb0402, 0x06fb0403, 0x06fb0404, 0x06fb0405, 0x06fb0406, 0x06fb0407, +0x06fb04f8, 0x06fb04f9, 0x06fb04fa, 0x06fb04fb, 0x06fb04fc, 0x06fb04fd, 0x06fb04fe, 0x06fb04ff, +0x06fb0500, 0x06fb0501, 0x06fb0502, 0x06fb0503, 0x06fb0504, 0x06fb0505, 0x06fb0506, 0x06fb0507, +0x06fb05f8, 0x06fb05f9, 0x06fb05fa, 0x06fb05fb, 0x06fb05fc, 0x06fb05fd, 0x06fb05fe, 0x06fb05ff, +0x06fb0600, 0x06fb0601, 0x06fb0602, 0x06fb0603, 0x06fb0604, 0x06fb0605, 0x06fb0606, 0x06fb0607, +0x06fb06f8, 0x06fb06f9, 0x06fb06fa, 0x06fb06fb, 0x06fb06fc, 0x06fb06fd, 0x06fb06fe, 0x06fb06ff, +0x06fb0700, 0x06fb0701, 0x06fb0702, 0x06fb0703, 0x06fb0704, 0x06fb0705, 0x06fb0706, 0x06fb0707, +0x06fb07f8, 0x06fb07f9, 0x06fb07fa, 0x06fb07fb, 0x06fb07fc, 0x06fb07fd, 0x06fb07fe, 0x06fb07ff, +0x06fbf800, 0x06fbf801, 0x06fbf802, 0x06fbf803, 0x06fbf804, 0x06fbf805, 0x06fbf806, 0x06fbf807, +0x06fbf8f8, 0x06fbf8f9, 0x06fbf8fa, 0x06fbf8fb, 0x06fbf8fc, 0x06fbf8fd, 0x06fbf8fe, 0x06fbf8ff, +0x06fbf900, 0x06fbf901, 0x06fbf902, 0x06fbf903, 0x06fbf904, 0x06fbf905, 0x06fbf906, 0x06fbf907, +0x06fbf9f8, 0x06fbf9f9, 0x06fbf9fa, 0x06fbf9fb, 0x06fbf9fc, 0x06fbf9fd, 0x06fbf9fe, 0x06fbf9ff, +0x06fbfa00, 0x06fbfa01, 0x06fbfa02, 0x06fbfa03, 0x06fbfa04, 0x06fbfa05, 0x06fbfa06, 0x06fbfa07, +0x06fbfaf8, 0x06fbfaf9, 0x06fbfafa, 0x06fbfafb, 0x06fbfafc, 0x06fbfafd, 0x06fbfafe, 0x06fbfaff, +0x06fbfb00, 0x06fbfb01, 0x06fbfb02, 0x06fbfb03, 0x06fbfb04, 0x06fbfb05, 0x06fbfb06, 0x06fbfb07, +0x06fbfbf8, 0x06fbfbf9, 0x06fbfbfa, 0x06fbfbfb, 0x06fbfbfc, 0x06fbfbfd, 0x06fbfbfe, 0x06fbfbff, +0x06fbfc00, 0x06fbfc01, 0x06fbfc02, 0x06fbfc03, 0x06fbfc04, 0x06fbfc05, 0x06fbfc06, 0x06fbfc07, +0x06fbfcf8, 0x06fbfcf9, 0x06fbfcfa, 0x06fbfcfb, 0x06fbfcfc, 0x06fbfcfd, 0x06fbfcfe, 0x06fbfcff, +0x06fbfd00, 0x06fbfd01, 0x06fbfd02, 0x06fbfd03, 0x06fbfd04, 0x06fbfd05, 0x06fbfd06, 0x06fbfd07, +0x06fbfdf8, 0x06fbfdf9, 0x06fbfdfa, 0x06fbfdfb, 0x06fbfdfc, 0x06fbfdfd, 0x06fbfdfe, 0x06fbfdff, +0x06fbfe00, 0x06fbfe01, 0x06fbfe02, 0x06fbfe03, 0x06fbfe04, 0x06fbfe05, 0x06fbfe06, 0x06fbfe07, +0x06fbfef8, 0x06fbfef9, 0x06fbfefa, 0x06fbfefb, 0x06fbfefc, 0x06fbfefd, 0x06fbfefe, 0x06fbfeff, +0x06fbff00, 0x06fbff01, 0x06fbff02, 0x06fbff03, 0x06fbff04, 0x06fbff05, 0x06fbff06, 0x06fbff07, +0x06fbfff8, 0x06fbfff9, 0x06fbfffa, 0x06fbfffb, 0x06fbfffc, 0x06fbfffd, 0x06fbfffe, 0x06fbffff, +0x06fc0000, 0x06fc0001, 0x06fc0002, 0x06fc0003, 0x06fc0004, 0x06fc0005, 0x06fc0006, 0x06fc0007, +0x06fc00f8, 0x06fc00f9, 0x06fc00fa, 0x06fc00fb, 0x06fc00fc, 0x06fc00fd, 0x06fc00fe, 0x06fc00ff, +0x06fc0100, 0x06fc0101, 0x06fc0102, 0x06fc0103, 0x06fc0104, 0x06fc0105, 0x06fc0106, 0x06fc0107, +0x06fc01f8, 0x06fc01f9, 0x06fc01fa, 0x06fc01fb, 0x06fc01fc, 0x06fc01fd, 0x06fc01fe, 0x06fc01ff, +0x06fc0200, 0x06fc0201, 0x06fc0202, 0x06fc0203, 0x06fc0204, 0x06fc0205, 0x06fc0206, 0x06fc0207, +0x06fc02f8, 0x06fc02f9, 0x06fc02fa, 0x06fc02fb, 0x06fc02fc, 0x06fc02fd, 0x06fc02fe, 0x06fc02ff, +0x06fc0300, 0x06fc0301, 0x06fc0302, 0x06fc0303, 0x06fc0304, 0x06fc0305, 0x06fc0306, 0x06fc0307, +0x06fc03f8, 0x06fc03f9, 0x06fc03fa, 0x06fc03fb, 0x06fc03fc, 0x06fc03fd, 0x06fc03fe, 0x06fc03ff, +0x06fc0400, 0x06fc0401, 0x06fc0402, 0x06fc0403, 0x06fc0404, 0x06fc0405, 0x06fc0406, 0x06fc0407, +0x06fc04f8, 0x06fc04f9, 0x06fc04fa, 0x06fc04fb, 0x06fc04fc, 0x06fc04fd, 0x06fc04fe, 0x06fc04ff, +0x06fc0500, 0x06fc0501, 0x06fc0502, 0x06fc0503, 0x06fc0504, 0x06fc0505, 0x06fc0506, 0x06fc0507, +0x06fc05f8, 0x06fc05f9, 0x06fc05fa, 0x06fc05fb, 0x06fc05fc, 0x06fc05fd, 0x06fc05fe, 0x06fc05ff, +0x06fc0600, 0x06fc0601, 0x06fc0602, 0x06fc0603, 0x06fc0604, 0x06fc0605, 0x06fc0606, 0x06fc0607, +0x06fc06f8, 0x06fc06f9, 0x06fc06fa, 0x06fc06fb, 0x06fc06fc, 0x06fc06fd, 0x06fc06fe, 0x06fc06ff, +0x06fc0700, 0x06fc0701, 0x06fc0702, 0x06fc0703, 0x06fc0704, 0x06fc0705, 0x06fc0706, 0x06fc0707, +0x06fc07f8, 0x06fc07f9, 0x06fc07fa, 0x06fc07fb, 0x06fc07fc, 0x06fc07fd, 0x06fc07fe, 0x06fc07ff, +0x06fcf800, 0x06fcf801, 0x06fcf802, 0x06fcf803, 0x06fcf804, 0x06fcf805, 0x06fcf806, 0x06fcf807, +0x06fcf8f8, 0x06fcf8f9, 0x06fcf8fa, 0x06fcf8fb, 0x06fcf8fc, 0x06fcf8fd, 0x06fcf8fe, 0x06fcf8ff, +0x06fcf900, 0x06fcf901, 0x06fcf902, 0x06fcf903, 0x06fcf904, 0x06fcf905, 0x06fcf906, 0x06fcf907, +0x06fcf9f8, 0x06fcf9f9, 0x06fcf9fa, 0x06fcf9fb, 0x06fcf9fc, 0x06fcf9fd, 0x06fcf9fe, 0x06fcf9ff, +0x06fcfa00, 0x06fcfa01, 0x06fcfa02, 0x06fcfa03, 0x06fcfa04, 0x06fcfa05, 0x06fcfa06, 0x06fcfa07, +0x06fcfaf8, 0x06fcfaf9, 0x06fcfafa, 0x06fcfafb, 0x06fcfafc, 0x06fcfafd, 0x06fcfafe, 0x06fcfaff, +0x06fcfb00, 0x06fcfb01, 0x06fcfb02, 0x06fcfb03, 0x06fcfb04, 0x06fcfb05, 0x06fcfb06, 0x06fcfb07, +0x06fcfbf8, 0x06fcfbf9, 0x06fcfbfa, 0x06fcfbfb, 0x06fcfbfc, 0x06fcfbfd, 0x06fcfbfe, 0x06fcfbff, +0x06fcfc00, 0x06fcfc01, 0x06fcfc02, 0x06fcfc03, 0x06fcfc04, 0x06fcfc05, 0x06fcfc06, 0x06fcfc07, +0x06fcfcf8, 0x06fcfcf9, 0x06fcfcfa, 0x06fcfcfb, 0x06fcfcfc, 0x06fcfcfd, 0x06fcfcfe, 0x06fcfcff, +0x06fcfd00, 0x06fcfd01, 0x06fcfd02, 0x06fcfd03, 0x06fcfd04, 0x06fcfd05, 0x06fcfd06, 0x06fcfd07, +0x06fcfdf8, 0x06fcfdf9, 0x06fcfdfa, 0x06fcfdfb, 0x06fcfdfc, 0x06fcfdfd, 0x06fcfdfe, 0x06fcfdff, +0x06fcfe00, 0x06fcfe01, 0x06fcfe02, 0x06fcfe03, 0x06fcfe04, 0x06fcfe05, 0x06fcfe06, 0x06fcfe07, +0x06fcfef8, 0x06fcfef9, 0x06fcfefa, 0x06fcfefb, 0x06fcfefc, 0x06fcfefd, 0x06fcfefe, 0x06fcfeff, +0x06fcff00, 0x06fcff01, 0x06fcff02, 0x06fcff03, 0x06fcff04, 0x06fcff05, 0x06fcff06, 0x06fcff07, +0x06fcfff8, 0x06fcfff9, 0x06fcfffa, 0x06fcfffb, 0x06fcfffc, 0x06fcfffd, 0x06fcfffe, 0x06fcffff, +0x06fd0000, 0x06fd0001, 0x06fd0002, 0x06fd0003, 0x06fd0004, 0x06fd0005, 0x06fd0006, 0x06fd0007, +0x06fd00f8, 0x06fd00f9, 0x06fd00fa, 0x06fd00fb, 0x06fd00fc, 0x06fd00fd, 0x06fd00fe, 0x06fd00ff, +0x06fd0100, 0x06fd0101, 0x06fd0102, 0x06fd0103, 0x06fd0104, 0x06fd0105, 0x06fd0106, 0x06fd0107, +0x06fd01f8, 0x06fd01f9, 0x06fd01fa, 0x06fd01fb, 0x06fd01fc, 0x06fd01fd, 0x06fd01fe, 0x06fd01ff, +0x06fd0200, 0x06fd0201, 0x06fd0202, 0x06fd0203, 0x06fd0204, 0x06fd0205, 0x06fd0206, 0x06fd0207, +0x06fd02f8, 0x06fd02f9, 0x06fd02fa, 0x06fd02fb, 0x06fd02fc, 0x06fd02fd, 0x06fd02fe, 0x06fd02ff, +0x06fd0300, 0x06fd0301, 0x06fd0302, 0x06fd0303, 0x06fd0304, 0x06fd0305, 0x06fd0306, 0x06fd0307, +0x06fd03f8, 0x06fd03f9, 0x06fd03fa, 0x06fd03fb, 0x06fd03fc, 0x06fd03fd, 0x06fd03fe, 0x06fd03ff, +0x06fd0400, 0x06fd0401, 0x06fd0402, 0x06fd0403, 0x06fd0404, 0x06fd0405, 0x06fd0406, 0x06fd0407, +0x06fd04f8, 0x06fd04f9, 0x06fd04fa, 0x06fd04fb, 0x06fd04fc, 0x06fd04fd, 0x06fd04fe, 0x06fd04ff, +0x06fd0500, 0x06fd0501, 0x06fd0502, 0x06fd0503, 0x06fd0504, 0x06fd0505, 0x06fd0506, 0x06fd0507, +0x06fd05f8, 0x06fd05f9, 0x06fd05fa, 0x06fd05fb, 0x06fd05fc, 0x06fd05fd, 0x06fd05fe, 0x06fd05ff, +0x06fd0600, 0x06fd0601, 0x06fd0602, 0x06fd0603, 0x06fd0604, 0x06fd0605, 0x06fd0606, 0x06fd0607, +0x06fd06f8, 0x06fd06f9, 0x06fd06fa, 0x06fd06fb, 0x06fd06fc, 0x06fd06fd, 0x06fd06fe, 0x06fd06ff, +0x06fd0700, 0x06fd0701, 0x06fd0702, 0x06fd0703, 0x06fd0704, 0x06fd0705, 0x06fd0706, 0x06fd0707, +0x06fd07f8, 0x06fd07f9, 0x06fd07fa, 0x06fd07fb, 0x06fd07fc, 0x06fd07fd, 0x06fd07fe, 0x06fd07ff, +0x06fdf800, 0x06fdf801, 0x06fdf802, 0x06fdf803, 0x06fdf804, 0x06fdf805, 0x06fdf806, 0x06fdf807, +0x06fdf8f8, 0x06fdf8f9, 0x06fdf8fa, 0x06fdf8fb, 0x06fdf8fc, 0x06fdf8fd, 0x06fdf8fe, 0x06fdf8ff, +0x06fdf900, 0x06fdf901, 0x06fdf902, 0x06fdf903, 0x06fdf904, 0x06fdf905, 0x06fdf906, 0x06fdf907, +0x06fdf9f8, 0x06fdf9f9, 0x06fdf9fa, 0x06fdf9fb, 0x06fdf9fc, 0x06fdf9fd, 0x06fdf9fe, 0x06fdf9ff, +0x06fdfa00, 0x06fdfa01, 0x06fdfa02, 0x06fdfa03, 0x06fdfa04, 0x06fdfa05, 0x06fdfa06, 0x06fdfa07, +0x06fdfaf8, 0x06fdfaf9, 0x06fdfafa, 0x06fdfafb, 0x06fdfafc, 0x06fdfafd, 0x06fdfafe, 0x06fdfaff, +0x06fdfb00, 0x06fdfb01, 0x06fdfb02, 0x06fdfb03, 0x06fdfb04, 0x06fdfb05, 0x06fdfb06, 0x06fdfb07, +0x06fdfbf8, 0x06fdfbf9, 0x06fdfbfa, 0x06fdfbfb, 0x06fdfbfc, 0x06fdfbfd, 0x06fdfbfe, 0x06fdfbff, +0x06fdfc00, 0x06fdfc01, 0x06fdfc02, 0x06fdfc03, 0x06fdfc04, 0x06fdfc05, 0x06fdfc06, 0x06fdfc07, +0x06fdfcf8, 0x06fdfcf9, 0x06fdfcfa, 0x06fdfcfb, 0x06fdfcfc, 0x06fdfcfd, 0x06fdfcfe, 0x06fdfcff, +0x06fdfd00, 0x06fdfd01, 0x06fdfd02, 0x06fdfd03, 0x06fdfd04, 0x06fdfd05, 0x06fdfd06, 0x06fdfd07, +0x06fdfdf8, 0x06fdfdf9, 0x06fdfdfa, 0x06fdfdfb, 0x06fdfdfc, 0x06fdfdfd, 0x06fdfdfe, 0x06fdfdff, +0x06fdfe00, 0x06fdfe01, 0x06fdfe02, 0x06fdfe03, 0x06fdfe04, 0x06fdfe05, 0x06fdfe06, 0x06fdfe07, +0x06fdfef8, 0x06fdfef9, 0x06fdfefa, 0x06fdfefb, 0x06fdfefc, 0x06fdfefd, 0x06fdfefe, 0x06fdfeff, +0x06fdff00, 0x06fdff01, 0x06fdff02, 0x06fdff03, 0x06fdff04, 0x06fdff05, 0x06fdff06, 0x06fdff07, +0x06fdfff8, 0x06fdfff9, 0x06fdfffa, 0x06fdfffb, 0x06fdfffc, 0x06fdfffd, 0x06fdfffe, 0x06fdffff, +0x06fe0000, 0x06fe0001, 0x06fe0002, 0x06fe0003, 0x06fe0004, 0x06fe0005, 0x06fe0006, 0x06fe0007, +0x06fe00f8, 0x06fe00f9, 0x06fe00fa, 0x06fe00fb, 0x06fe00fc, 0x06fe00fd, 0x06fe00fe, 0x06fe00ff, +0x06fe0100, 0x06fe0101, 0x06fe0102, 0x06fe0103, 0x06fe0104, 0x06fe0105, 0x06fe0106, 0x06fe0107, +0x06fe01f8, 0x06fe01f9, 0x06fe01fa, 0x06fe01fb, 0x06fe01fc, 0x06fe01fd, 0x06fe01fe, 0x06fe01ff, +0x06fe0200, 0x06fe0201, 0x06fe0202, 0x06fe0203, 0x06fe0204, 0x06fe0205, 0x06fe0206, 0x06fe0207, +0x06fe02f8, 0x06fe02f9, 0x06fe02fa, 0x06fe02fb, 0x06fe02fc, 0x06fe02fd, 0x06fe02fe, 0x06fe02ff, +0x06fe0300, 0x06fe0301, 0x06fe0302, 0x06fe0303, 0x06fe0304, 0x06fe0305, 0x06fe0306, 0x06fe0307, +0x06fe03f8, 0x06fe03f9, 0x06fe03fa, 0x06fe03fb, 0x06fe03fc, 0x06fe03fd, 0x06fe03fe, 0x06fe03ff, +0x06fe0400, 0x06fe0401, 0x06fe0402, 0x06fe0403, 0x06fe0404, 0x06fe0405, 0x06fe0406, 0x06fe0407, +0x06fe04f8, 0x06fe04f9, 0x06fe04fa, 0x06fe04fb, 0x06fe04fc, 0x06fe04fd, 0x06fe04fe, 0x06fe04ff, +0x06fe0500, 0x06fe0501, 0x06fe0502, 0x06fe0503, 0x06fe0504, 0x06fe0505, 0x06fe0506, 0x06fe0507, +0x06fe05f8, 0x06fe05f9, 0x06fe05fa, 0x06fe05fb, 0x06fe05fc, 0x06fe05fd, 0x06fe05fe, 0x06fe05ff, +0x06fe0600, 0x06fe0601, 0x06fe0602, 0x06fe0603, 0x06fe0604, 0x06fe0605, 0x06fe0606, 0x06fe0607, +0x06fe06f8, 0x06fe06f9, 0x06fe06fa, 0x06fe06fb, 0x06fe06fc, 0x06fe06fd, 0x06fe06fe, 0x06fe06ff, +0x06fe0700, 0x06fe0701, 0x06fe0702, 0x06fe0703, 0x06fe0704, 0x06fe0705, 0x06fe0706, 0x06fe0707, +0x06fe07f8, 0x06fe07f9, 0x06fe07fa, 0x06fe07fb, 0x06fe07fc, 0x06fe07fd, 0x06fe07fe, 0x06fe07ff, +0x06fef800, 0x06fef801, 0x06fef802, 0x06fef803, 0x06fef804, 0x06fef805, 0x06fef806, 0x06fef807, +0x06fef8f8, 0x06fef8f9, 0x06fef8fa, 0x06fef8fb, 0x06fef8fc, 0x06fef8fd, 0x06fef8fe, 0x06fef8ff, +0x06fef900, 0x06fef901, 0x06fef902, 0x06fef903, 0x06fef904, 0x06fef905, 0x06fef906, 0x06fef907, +0x06fef9f8, 0x06fef9f9, 0x06fef9fa, 0x06fef9fb, 0x06fef9fc, 0x06fef9fd, 0x06fef9fe, 0x06fef9ff, +0x06fefa00, 0x06fefa01, 0x06fefa02, 0x06fefa03, 0x06fefa04, 0x06fefa05, 0x06fefa06, 0x06fefa07, +0x06fefaf8, 0x06fefaf9, 0x06fefafa, 0x06fefafb, 0x06fefafc, 0x06fefafd, 0x06fefafe, 0x06fefaff, +0x06fefb00, 0x06fefb01, 0x06fefb02, 0x06fefb03, 0x06fefb04, 0x06fefb05, 0x06fefb06, 0x06fefb07, +0x06fefbf8, 0x06fefbf9, 0x06fefbfa, 0x06fefbfb, 0x06fefbfc, 0x06fefbfd, 0x06fefbfe, 0x06fefbff, +0x06fefc00, 0x06fefc01, 0x06fefc02, 0x06fefc03, 0x06fefc04, 0x06fefc05, 0x06fefc06, 0x06fefc07, +0x06fefcf8, 0x06fefcf9, 0x06fefcfa, 0x06fefcfb, 0x06fefcfc, 0x06fefcfd, 0x06fefcfe, 0x06fefcff, +0x06fefd00, 0x06fefd01, 0x06fefd02, 0x06fefd03, 0x06fefd04, 0x06fefd05, 0x06fefd06, 0x06fefd07, +0x06fefdf8, 0x06fefdf9, 0x06fefdfa, 0x06fefdfb, 0x06fefdfc, 0x06fefdfd, 0x06fefdfe, 0x06fefdff, +0x06fefe00, 0x06fefe01, 0x06fefe02, 0x06fefe03, 0x06fefe04, 0x06fefe05, 0x06fefe06, 0x06fefe07, +0x06fefef8, 0x06fefef9, 0x06fefefa, 0x06fefefb, 0x06fefefc, 0x06fefefd, 0x06fefefe, 0x06fefeff, +0x06feff00, 0x06feff01, 0x06feff02, 0x06feff03, 0x06feff04, 0x06feff05, 0x06feff06, 0x06feff07, +0x06fefff8, 0x06fefff9, 0x06fefffa, 0x06fefffb, 0x06fefffc, 0x06fefffd, 0x06fefffe, 0x06feffff, +0x06ff0000, 0x06ff0001, 0x06ff0002, 0x06ff0003, 0x06ff0004, 0x06ff0005, 0x06ff0006, 0x06ff0007, +0x06ff00f8, 0x06ff00f9, 0x06ff00fa, 0x06ff00fb, 0x06ff00fc, 0x06ff00fd, 0x06ff00fe, 0x06ff00ff, +0x06ff0100, 0x06ff0101, 0x06ff0102, 0x06ff0103, 0x06ff0104, 0x06ff0105, 0x06ff0106, 0x06ff0107, +0x06ff01f8, 0x06ff01f9, 0x06ff01fa, 0x06ff01fb, 0x06ff01fc, 0x06ff01fd, 0x06ff01fe, 0x06ff01ff, +0x06ff0200, 0x06ff0201, 0x06ff0202, 0x06ff0203, 0x06ff0204, 0x06ff0205, 0x06ff0206, 0x06ff0207, +0x06ff02f8, 0x06ff02f9, 0x06ff02fa, 0x06ff02fb, 0x06ff02fc, 0x06ff02fd, 0x06ff02fe, 0x06ff02ff, +0x06ff0300, 0x06ff0301, 0x06ff0302, 0x06ff0303, 0x06ff0304, 0x06ff0305, 0x06ff0306, 0x06ff0307, +0x06ff03f8, 0x06ff03f9, 0x06ff03fa, 0x06ff03fb, 0x06ff03fc, 0x06ff03fd, 0x06ff03fe, 0x06ff03ff, +0x06ff0400, 0x06ff0401, 0x06ff0402, 0x06ff0403, 0x06ff0404, 0x06ff0405, 0x06ff0406, 0x06ff0407, +0x06ff04f8, 0x06ff04f9, 0x06ff04fa, 0x06ff04fb, 0x06ff04fc, 0x06ff04fd, 0x06ff04fe, 0x06ff04ff, +0x06ff0500, 0x06ff0501, 0x06ff0502, 0x06ff0503, 0x06ff0504, 0x06ff0505, 0x06ff0506, 0x06ff0507, +0x06ff05f8, 0x06ff05f9, 0x06ff05fa, 0x06ff05fb, 0x06ff05fc, 0x06ff05fd, 0x06ff05fe, 0x06ff05ff, +0x06ff0600, 0x06ff0601, 0x06ff0602, 0x06ff0603, 0x06ff0604, 0x06ff0605, 0x06ff0606, 0x06ff0607, +0x06ff06f8, 0x06ff06f9, 0x06ff06fa, 0x06ff06fb, 0x06ff06fc, 0x06ff06fd, 0x06ff06fe, 0x06ff06ff, +0x06ff0700, 0x06ff0701, 0x06ff0702, 0x06ff0703, 0x06ff0704, 0x06ff0705, 0x06ff0706, 0x06ff0707, +0x06ff07f8, 0x06ff07f9, 0x06ff07fa, 0x06ff07fb, 0x06ff07fc, 0x06ff07fd, 0x06ff07fe, 0x06ff07ff, +0x06fff800, 0x06fff801, 0x06fff802, 0x06fff803, 0x06fff804, 0x06fff805, 0x06fff806, 0x06fff807, +0x06fff8f8, 0x06fff8f9, 0x06fff8fa, 0x06fff8fb, 0x06fff8fc, 0x06fff8fd, 0x06fff8fe, 0x06fff8ff, +0x06fff900, 0x06fff901, 0x06fff902, 0x06fff903, 0x06fff904, 0x06fff905, 0x06fff906, 0x06fff907, +0x06fff9f8, 0x06fff9f9, 0x06fff9fa, 0x06fff9fb, 0x06fff9fc, 0x06fff9fd, 0x06fff9fe, 0x06fff9ff, +0x06fffa00, 0x06fffa01, 0x06fffa02, 0x06fffa03, 0x06fffa04, 0x06fffa05, 0x06fffa06, 0x06fffa07, +0x06fffaf8, 0x06fffaf9, 0x06fffafa, 0x06fffafb, 0x06fffafc, 0x06fffafd, 0x06fffafe, 0x06fffaff, +0x06fffb00, 0x06fffb01, 0x06fffb02, 0x06fffb03, 0x06fffb04, 0x06fffb05, 0x06fffb06, 0x06fffb07, +0x06fffbf8, 0x06fffbf9, 0x06fffbfa, 0x06fffbfb, 0x06fffbfc, 0x06fffbfd, 0x06fffbfe, 0x06fffbff, +0x06fffc00, 0x06fffc01, 0x06fffc02, 0x06fffc03, 0x06fffc04, 0x06fffc05, 0x06fffc06, 0x06fffc07, +0x06fffcf8, 0x06fffcf9, 0x06fffcfa, 0x06fffcfb, 0x06fffcfc, 0x06fffcfd, 0x06fffcfe, 0x06fffcff, +0x06fffd00, 0x06fffd01, 0x06fffd02, 0x06fffd03, 0x06fffd04, 0x06fffd05, 0x06fffd06, 0x06fffd07, +0x06fffdf8, 0x06fffdf9, 0x06fffdfa, 0x06fffdfb, 0x06fffdfc, 0x06fffdfd, 0x06fffdfe, 0x06fffdff, +0x06fffe00, 0x06fffe01, 0x06fffe02, 0x06fffe03, 0x06fffe04, 0x06fffe05, 0x06fffe06, 0x06fffe07, +0x06fffef8, 0x06fffef9, 0x06fffefa, 0x06fffefb, 0x06fffefc, 0x06fffefd, 0x06fffefe, 0x06fffeff, +0x06ffff00, 0x06ffff01, 0x06ffff02, 0x06ffff03, 0x06ffff04, 0x06ffff05, 0x06ffff06, 0x06ffff07, +0x06fffff8, 0x06fffff9, 0x06fffffa, 0x06fffffb, 0x06fffffc, 0x06fffffd, 0x06fffffe, 0x06ffffff, +0x07000000, 0x07000001, 0x07000002, 0x07000003, 0x07000004, 0x07000005, 0x07000006, 0x07000007, +0x070000f8, 0x070000f9, 0x070000fa, 0x070000fb, 0x070000fc, 0x070000fd, 0x070000fe, 0x070000ff, +0x07000100, 0x07000101, 0x07000102, 0x07000103, 0x07000104, 0x07000105, 0x07000106, 0x07000107, +0x070001f8, 0x070001f9, 0x070001fa, 0x070001fb, 0x070001fc, 0x070001fd, 0x070001fe, 0x070001ff, +0x07000200, 0x07000201, 0x07000202, 0x07000203, 0x07000204, 0x07000205, 0x07000206, 0x07000207, +0x070002f8, 0x070002f9, 0x070002fa, 0x070002fb, 0x070002fc, 0x070002fd, 0x070002fe, 0x070002ff, +0x07000300, 0x07000301, 0x07000302, 0x07000303, 0x07000304, 0x07000305, 0x07000306, 0x07000307, +0x070003f8, 0x070003f9, 0x070003fa, 0x070003fb, 0x070003fc, 0x070003fd, 0x070003fe, 0x070003ff, +0x07000400, 0x07000401, 0x07000402, 0x07000403, 0x07000404, 0x07000405, 0x07000406, 0x07000407, +0x070004f8, 0x070004f9, 0x070004fa, 0x070004fb, 0x070004fc, 0x070004fd, 0x070004fe, 0x070004ff, +0x07000500, 0x07000501, 0x07000502, 0x07000503, 0x07000504, 0x07000505, 0x07000506, 0x07000507, +0x070005f8, 0x070005f9, 0x070005fa, 0x070005fb, 0x070005fc, 0x070005fd, 0x070005fe, 0x070005ff, +0x07000600, 0x07000601, 0x07000602, 0x07000603, 0x07000604, 0x07000605, 0x07000606, 0x07000607, +0x070006f8, 0x070006f9, 0x070006fa, 0x070006fb, 0x070006fc, 0x070006fd, 0x070006fe, 0x070006ff, +0x07000700, 0x07000701, 0x07000702, 0x07000703, 0x07000704, 0x07000705, 0x07000706, 0x07000707, +0x070007f8, 0x070007f9, 0x070007fa, 0x070007fb, 0x070007fc, 0x070007fd, 0x070007fe, 0x070007ff, +0x0700f800, 0x0700f801, 0x0700f802, 0x0700f803, 0x0700f804, 0x0700f805, 0x0700f806, 0x0700f807, +0x0700f8f8, 0x0700f8f9, 0x0700f8fa, 0x0700f8fb, 0x0700f8fc, 0x0700f8fd, 0x0700f8fe, 0x0700f8ff, +0x0700f900, 0x0700f901, 0x0700f902, 0x0700f903, 0x0700f904, 0x0700f905, 0x0700f906, 0x0700f907, +0x0700f9f8, 0x0700f9f9, 0x0700f9fa, 0x0700f9fb, 0x0700f9fc, 0x0700f9fd, 0x0700f9fe, 0x0700f9ff, +0x0700fa00, 0x0700fa01, 0x0700fa02, 0x0700fa03, 0x0700fa04, 0x0700fa05, 0x0700fa06, 0x0700fa07, +0x0700faf8, 0x0700faf9, 0x0700fafa, 0x0700fafb, 0x0700fafc, 0x0700fafd, 0x0700fafe, 0x0700faff, +0x0700fb00, 0x0700fb01, 0x0700fb02, 0x0700fb03, 0x0700fb04, 0x0700fb05, 0x0700fb06, 0x0700fb07, +0x0700fbf8, 0x0700fbf9, 0x0700fbfa, 0x0700fbfb, 0x0700fbfc, 0x0700fbfd, 0x0700fbfe, 0x0700fbff, +0x0700fc00, 0x0700fc01, 0x0700fc02, 0x0700fc03, 0x0700fc04, 0x0700fc05, 0x0700fc06, 0x0700fc07, +0x0700fcf8, 0x0700fcf9, 0x0700fcfa, 0x0700fcfb, 0x0700fcfc, 0x0700fcfd, 0x0700fcfe, 0x0700fcff, +0x0700fd00, 0x0700fd01, 0x0700fd02, 0x0700fd03, 0x0700fd04, 0x0700fd05, 0x0700fd06, 0x0700fd07, +0x0700fdf8, 0x0700fdf9, 0x0700fdfa, 0x0700fdfb, 0x0700fdfc, 0x0700fdfd, 0x0700fdfe, 0x0700fdff, +0x0700fe00, 0x0700fe01, 0x0700fe02, 0x0700fe03, 0x0700fe04, 0x0700fe05, 0x0700fe06, 0x0700fe07, +0x0700fef8, 0x0700fef9, 0x0700fefa, 0x0700fefb, 0x0700fefc, 0x0700fefd, 0x0700fefe, 0x0700feff, +0x0700ff00, 0x0700ff01, 0x0700ff02, 0x0700ff03, 0x0700ff04, 0x0700ff05, 0x0700ff06, 0x0700ff07, +0x0700fff8, 0x0700fff9, 0x0700fffa, 0x0700fffb, 0x0700fffc, 0x0700fffd, 0x0700fffe, 0x0700ffff, +0x07010000, 0x07010001, 0x07010002, 0x07010003, 0x07010004, 0x07010005, 0x07010006, 0x07010007, +0x070100f8, 0x070100f9, 0x070100fa, 0x070100fb, 0x070100fc, 0x070100fd, 0x070100fe, 0x070100ff, +0x07010100, 0x07010101, 0x07010102, 0x07010103, 0x07010104, 0x07010105, 0x07010106, 0x07010107, +0x070101f8, 0x070101f9, 0x070101fa, 0x070101fb, 0x070101fc, 0x070101fd, 0x070101fe, 0x070101ff, +0x07010200, 0x07010201, 0x07010202, 0x07010203, 0x07010204, 0x07010205, 0x07010206, 0x07010207, +0x070102f8, 0x070102f9, 0x070102fa, 0x070102fb, 0x070102fc, 0x070102fd, 0x070102fe, 0x070102ff, +0x07010300, 0x07010301, 0x07010302, 0x07010303, 0x07010304, 0x07010305, 0x07010306, 0x07010307, +0x070103f8, 0x070103f9, 0x070103fa, 0x070103fb, 0x070103fc, 0x070103fd, 0x070103fe, 0x070103ff, +0x07010400, 0x07010401, 0x07010402, 0x07010403, 0x07010404, 0x07010405, 0x07010406, 0x07010407, +0x070104f8, 0x070104f9, 0x070104fa, 0x070104fb, 0x070104fc, 0x070104fd, 0x070104fe, 0x070104ff, +0x07010500, 0x07010501, 0x07010502, 0x07010503, 0x07010504, 0x07010505, 0x07010506, 0x07010507, +0x070105f8, 0x070105f9, 0x070105fa, 0x070105fb, 0x070105fc, 0x070105fd, 0x070105fe, 0x070105ff, +0x07010600, 0x07010601, 0x07010602, 0x07010603, 0x07010604, 0x07010605, 0x07010606, 0x07010607, +0x070106f8, 0x070106f9, 0x070106fa, 0x070106fb, 0x070106fc, 0x070106fd, 0x070106fe, 0x070106ff, +0x07010700, 0x07010701, 0x07010702, 0x07010703, 0x07010704, 0x07010705, 0x07010706, 0x07010707, +0x070107f8, 0x070107f9, 0x070107fa, 0x070107fb, 0x070107fc, 0x070107fd, 0x070107fe, 0x070107ff, +0x0701f800, 0x0701f801, 0x0701f802, 0x0701f803, 0x0701f804, 0x0701f805, 0x0701f806, 0x0701f807, +0x0701f8f8, 0x0701f8f9, 0x0701f8fa, 0x0701f8fb, 0x0701f8fc, 0x0701f8fd, 0x0701f8fe, 0x0701f8ff, +0x0701f900, 0x0701f901, 0x0701f902, 0x0701f903, 0x0701f904, 0x0701f905, 0x0701f906, 0x0701f907, +0x0701f9f8, 0x0701f9f9, 0x0701f9fa, 0x0701f9fb, 0x0701f9fc, 0x0701f9fd, 0x0701f9fe, 0x0701f9ff, +0x0701fa00, 0x0701fa01, 0x0701fa02, 0x0701fa03, 0x0701fa04, 0x0701fa05, 0x0701fa06, 0x0701fa07, +0x0701faf8, 0x0701faf9, 0x0701fafa, 0x0701fafb, 0x0701fafc, 0x0701fafd, 0x0701fafe, 0x0701faff, +0x0701fb00, 0x0701fb01, 0x0701fb02, 0x0701fb03, 0x0701fb04, 0x0701fb05, 0x0701fb06, 0x0701fb07, +0x0701fbf8, 0x0701fbf9, 0x0701fbfa, 0x0701fbfb, 0x0701fbfc, 0x0701fbfd, 0x0701fbfe, 0x0701fbff, +0x0701fc00, 0x0701fc01, 0x0701fc02, 0x0701fc03, 0x0701fc04, 0x0701fc05, 0x0701fc06, 0x0701fc07, +0x0701fcf8, 0x0701fcf9, 0x0701fcfa, 0x0701fcfb, 0x0701fcfc, 0x0701fcfd, 0x0701fcfe, 0x0701fcff, +0x0701fd00, 0x0701fd01, 0x0701fd02, 0x0701fd03, 0x0701fd04, 0x0701fd05, 0x0701fd06, 0x0701fd07, +0x0701fdf8, 0x0701fdf9, 0x0701fdfa, 0x0701fdfb, 0x0701fdfc, 0x0701fdfd, 0x0701fdfe, 0x0701fdff, +0x0701fe00, 0x0701fe01, 0x0701fe02, 0x0701fe03, 0x0701fe04, 0x0701fe05, 0x0701fe06, 0x0701fe07, +0x0701fef8, 0x0701fef9, 0x0701fefa, 0x0701fefb, 0x0701fefc, 0x0701fefd, 0x0701fefe, 0x0701feff, +0x0701ff00, 0x0701ff01, 0x0701ff02, 0x0701ff03, 0x0701ff04, 0x0701ff05, 0x0701ff06, 0x0701ff07, +0x0701fff8, 0x0701fff9, 0x0701fffa, 0x0701fffb, 0x0701fffc, 0x0701fffd, 0x0701fffe, 0x0701ffff, +0x07020000, 0x07020001, 0x07020002, 0x07020003, 0x07020004, 0x07020005, 0x07020006, 0x07020007, +0x070200f8, 0x070200f9, 0x070200fa, 0x070200fb, 0x070200fc, 0x070200fd, 0x070200fe, 0x070200ff, +0x07020100, 0x07020101, 0x07020102, 0x07020103, 0x07020104, 0x07020105, 0x07020106, 0x07020107, +0x070201f8, 0x070201f9, 0x070201fa, 0x070201fb, 0x070201fc, 0x070201fd, 0x070201fe, 0x070201ff, +0x07020200, 0x07020201, 0x07020202, 0x07020203, 0x07020204, 0x07020205, 0x07020206, 0x07020207, +0x070202f8, 0x070202f9, 0x070202fa, 0x070202fb, 0x070202fc, 0x070202fd, 0x070202fe, 0x070202ff, +0x07020300, 0x07020301, 0x07020302, 0x07020303, 0x07020304, 0x07020305, 0x07020306, 0x07020307, +0x070203f8, 0x070203f9, 0x070203fa, 0x070203fb, 0x070203fc, 0x070203fd, 0x070203fe, 0x070203ff, +0x07020400, 0x07020401, 0x07020402, 0x07020403, 0x07020404, 0x07020405, 0x07020406, 0x07020407, +0x070204f8, 0x070204f9, 0x070204fa, 0x070204fb, 0x070204fc, 0x070204fd, 0x070204fe, 0x070204ff, +0x07020500, 0x07020501, 0x07020502, 0x07020503, 0x07020504, 0x07020505, 0x07020506, 0x07020507, +0x070205f8, 0x070205f9, 0x070205fa, 0x070205fb, 0x070205fc, 0x070205fd, 0x070205fe, 0x070205ff, +0x07020600, 0x07020601, 0x07020602, 0x07020603, 0x07020604, 0x07020605, 0x07020606, 0x07020607, +0x070206f8, 0x070206f9, 0x070206fa, 0x070206fb, 0x070206fc, 0x070206fd, 0x070206fe, 0x070206ff, +0x07020700, 0x07020701, 0x07020702, 0x07020703, 0x07020704, 0x07020705, 0x07020706, 0x07020707, +0x070207f8, 0x070207f9, 0x070207fa, 0x070207fb, 0x070207fc, 0x070207fd, 0x070207fe, 0x070207ff, +0x0702f800, 0x0702f801, 0x0702f802, 0x0702f803, 0x0702f804, 0x0702f805, 0x0702f806, 0x0702f807, +0x0702f8f8, 0x0702f8f9, 0x0702f8fa, 0x0702f8fb, 0x0702f8fc, 0x0702f8fd, 0x0702f8fe, 0x0702f8ff, +0x0702f900, 0x0702f901, 0x0702f902, 0x0702f903, 0x0702f904, 0x0702f905, 0x0702f906, 0x0702f907, +0x0702f9f8, 0x0702f9f9, 0x0702f9fa, 0x0702f9fb, 0x0702f9fc, 0x0702f9fd, 0x0702f9fe, 0x0702f9ff, +0x0702fa00, 0x0702fa01, 0x0702fa02, 0x0702fa03, 0x0702fa04, 0x0702fa05, 0x0702fa06, 0x0702fa07, +0x0702faf8, 0x0702faf9, 0x0702fafa, 0x0702fafb, 0x0702fafc, 0x0702fafd, 0x0702fafe, 0x0702faff, +0x0702fb00, 0x0702fb01, 0x0702fb02, 0x0702fb03, 0x0702fb04, 0x0702fb05, 0x0702fb06, 0x0702fb07, +0x0702fbf8, 0x0702fbf9, 0x0702fbfa, 0x0702fbfb, 0x0702fbfc, 0x0702fbfd, 0x0702fbfe, 0x0702fbff, +0x0702fc00, 0x0702fc01, 0x0702fc02, 0x0702fc03, 0x0702fc04, 0x0702fc05, 0x0702fc06, 0x0702fc07, +0x0702fcf8, 0x0702fcf9, 0x0702fcfa, 0x0702fcfb, 0x0702fcfc, 0x0702fcfd, 0x0702fcfe, 0x0702fcff, +0x0702fd00, 0x0702fd01, 0x0702fd02, 0x0702fd03, 0x0702fd04, 0x0702fd05, 0x0702fd06, 0x0702fd07, +0x0702fdf8, 0x0702fdf9, 0x0702fdfa, 0x0702fdfb, 0x0702fdfc, 0x0702fdfd, 0x0702fdfe, 0x0702fdff, +0x0702fe00, 0x0702fe01, 0x0702fe02, 0x0702fe03, 0x0702fe04, 0x0702fe05, 0x0702fe06, 0x0702fe07, +0x0702fef8, 0x0702fef9, 0x0702fefa, 0x0702fefb, 0x0702fefc, 0x0702fefd, 0x0702fefe, 0x0702feff, +0x0702ff00, 0x0702ff01, 0x0702ff02, 0x0702ff03, 0x0702ff04, 0x0702ff05, 0x0702ff06, 0x0702ff07, +0x0702fff8, 0x0702fff9, 0x0702fffa, 0x0702fffb, 0x0702fffc, 0x0702fffd, 0x0702fffe, 0x0702ffff, +0x07030000, 0x07030001, 0x07030002, 0x07030003, 0x07030004, 0x07030005, 0x07030006, 0x07030007, +0x070300f8, 0x070300f9, 0x070300fa, 0x070300fb, 0x070300fc, 0x070300fd, 0x070300fe, 0x070300ff, +0x07030100, 0x07030101, 0x07030102, 0x07030103, 0x07030104, 0x07030105, 0x07030106, 0x07030107, +0x070301f8, 0x070301f9, 0x070301fa, 0x070301fb, 0x070301fc, 0x070301fd, 0x070301fe, 0x070301ff, +0x07030200, 0x07030201, 0x07030202, 0x07030203, 0x07030204, 0x07030205, 0x07030206, 0x07030207, +0x070302f8, 0x070302f9, 0x070302fa, 0x070302fb, 0x070302fc, 0x070302fd, 0x070302fe, 0x070302ff, +0x07030300, 0x07030301, 0x07030302, 0x07030303, 0x07030304, 0x07030305, 0x07030306, 0x07030307, +0x070303f8, 0x070303f9, 0x070303fa, 0x070303fb, 0x070303fc, 0x070303fd, 0x070303fe, 0x070303ff, +0x07030400, 0x07030401, 0x07030402, 0x07030403, 0x07030404, 0x07030405, 0x07030406, 0x07030407, +0x070304f8, 0x070304f9, 0x070304fa, 0x070304fb, 0x070304fc, 0x070304fd, 0x070304fe, 0x070304ff, +0x07030500, 0x07030501, 0x07030502, 0x07030503, 0x07030504, 0x07030505, 0x07030506, 0x07030507, +0x070305f8, 0x070305f9, 0x070305fa, 0x070305fb, 0x070305fc, 0x070305fd, 0x070305fe, 0x070305ff, +0x07030600, 0x07030601, 0x07030602, 0x07030603, 0x07030604, 0x07030605, 0x07030606, 0x07030607, +0x070306f8, 0x070306f9, 0x070306fa, 0x070306fb, 0x070306fc, 0x070306fd, 0x070306fe, 0x070306ff, +0x07030700, 0x07030701, 0x07030702, 0x07030703, 0x07030704, 0x07030705, 0x07030706, 0x07030707, +0x070307f8, 0x070307f9, 0x070307fa, 0x070307fb, 0x070307fc, 0x070307fd, 0x070307fe, 0x070307ff, +0x0703f800, 0x0703f801, 0x0703f802, 0x0703f803, 0x0703f804, 0x0703f805, 0x0703f806, 0x0703f807, +0x0703f8f8, 0x0703f8f9, 0x0703f8fa, 0x0703f8fb, 0x0703f8fc, 0x0703f8fd, 0x0703f8fe, 0x0703f8ff, +0x0703f900, 0x0703f901, 0x0703f902, 0x0703f903, 0x0703f904, 0x0703f905, 0x0703f906, 0x0703f907, +0x0703f9f8, 0x0703f9f9, 0x0703f9fa, 0x0703f9fb, 0x0703f9fc, 0x0703f9fd, 0x0703f9fe, 0x0703f9ff, +0x0703fa00, 0x0703fa01, 0x0703fa02, 0x0703fa03, 0x0703fa04, 0x0703fa05, 0x0703fa06, 0x0703fa07, +0x0703faf8, 0x0703faf9, 0x0703fafa, 0x0703fafb, 0x0703fafc, 0x0703fafd, 0x0703fafe, 0x0703faff, +0x0703fb00, 0x0703fb01, 0x0703fb02, 0x0703fb03, 0x0703fb04, 0x0703fb05, 0x0703fb06, 0x0703fb07, +0x0703fbf8, 0x0703fbf9, 0x0703fbfa, 0x0703fbfb, 0x0703fbfc, 0x0703fbfd, 0x0703fbfe, 0x0703fbff, +0x0703fc00, 0x0703fc01, 0x0703fc02, 0x0703fc03, 0x0703fc04, 0x0703fc05, 0x0703fc06, 0x0703fc07, +0x0703fcf8, 0x0703fcf9, 0x0703fcfa, 0x0703fcfb, 0x0703fcfc, 0x0703fcfd, 0x0703fcfe, 0x0703fcff, +0x0703fd00, 0x0703fd01, 0x0703fd02, 0x0703fd03, 0x0703fd04, 0x0703fd05, 0x0703fd06, 0x0703fd07, +0x0703fdf8, 0x0703fdf9, 0x0703fdfa, 0x0703fdfb, 0x0703fdfc, 0x0703fdfd, 0x0703fdfe, 0x0703fdff, +0x0703fe00, 0x0703fe01, 0x0703fe02, 0x0703fe03, 0x0703fe04, 0x0703fe05, 0x0703fe06, 0x0703fe07, +0x0703fef8, 0x0703fef9, 0x0703fefa, 0x0703fefb, 0x0703fefc, 0x0703fefd, 0x0703fefe, 0x0703feff, +0x0703ff00, 0x0703ff01, 0x0703ff02, 0x0703ff03, 0x0703ff04, 0x0703ff05, 0x0703ff06, 0x0703ff07, +0x0703fff8, 0x0703fff9, 0x0703fffa, 0x0703fffb, 0x0703fffc, 0x0703fffd, 0x0703fffe, 0x0703ffff, +0x07040000, 0x07040001, 0x07040002, 0x07040003, 0x07040004, 0x07040005, 0x07040006, 0x07040007, +0x070400f8, 0x070400f9, 0x070400fa, 0x070400fb, 0x070400fc, 0x070400fd, 0x070400fe, 0x070400ff, +0x07040100, 0x07040101, 0x07040102, 0x07040103, 0x07040104, 0x07040105, 0x07040106, 0x07040107, +0x070401f8, 0x070401f9, 0x070401fa, 0x070401fb, 0x070401fc, 0x070401fd, 0x070401fe, 0x070401ff, +0x07040200, 0x07040201, 0x07040202, 0x07040203, 0x07040204, 0x07040205, 0x07040206, 0x07040207, +0x070402f8, 0x070402f9, 0x070402fa, 0x070402fb, 0x070402fc, 0x070402fd, 0x070402fe, 0x070402ff, +0x07040300, 0x07040301, 0x07040302, 0x07040303, 0x07040304, 0x07040305, 0x07040306, 0x07040307, +0x070403f8, 0x070403f9, 0x070403fa, 0x070403fb, 0x070403fc, 0x070403fd, 0x070403fe, 0x070403ff, +0x07040400, 0x07040401, 0x07040402, 0x07040403, 0x07040404, 0x07040405, 0x07040406, 0x07040407, +0x070404f8, 0x070404f9, 0x070404fa, 0x070404fb, 0x070404fc, 0x070404fd, 0x070404fe, 0x070404ff, +0x07040500, 0x07040501, 0x07040502, 0x07040503, 0x07040504, 0x07040505, 0x07040506, 0x07040507, +0x070405f8, 0x070405f9, 0x070405fa, 0x070405fb, 0x070405fc, 0x070405fd, 0x070405fe, 0x070405ff, +0x07040600, 0x07040601, 0x07040602, 0x07040603, 0x07040604, 0x07040605, 0x07040606, 0x07040607, +0x070406f8, 0x070406f9, 0x070406fa, 0x070406fb, 0x070406fc, 0x070406fd, 0x070406fe, 0x070406ff, +0x07040700, 0x07040701, 0x07040702, 0x07040703, 0x07040704, 0x07040705, 0x07040706, 0x07040707, +0x070407f8, 0x070407f9, 0x070407fa, 0x070407fb, 0x070407fc, 0x070407fd, 0x070407fe, 0x070407ff, +0x0704f800, 0x0704f801, 0x0704f802, 0x0704f803, 0x0704f804, 0x0704f805, 0x0704f806, 0x0704f807, +0x0704f8f8, 0x0704f8f9, 0x0704f8fa, 0x0704f8fb, 0x0704f8fc, 0x0704f8fd, 0x0704f8fe, 0x0704f8ff, +0x0704f900, 0x0704f901, 0x0704f902, 0x0704f903, 0x0704f904, 0x0704f905, 0x0704f906, 0x0704f907, +0x0704f9f8, 0x0704f9f9, 0x0704f9fa, 0x0704f9fb, 0x0704f9fc, 0x0704f9fd, 0x0704f9fe, 0x0704f9ff, +0x0704fa00, 0x0704fa01, 0x0704fa02, 0x0704fa03, 0x0704fa04, 0x0704fa05, 0x0704fa06, 0x0704fa07, +0x0704faf8, 0x0704faf9, 0x0704fafa, 0x0704fafb, 0x0704fafc, 0x0704fafd, 0x0704fafe, 0x0704faff, +0x0704fb00, 0x0704fb01, 0x0704fb02, 0x0704fb03, 0x0704fb04, 0x0704fb05, 0x0704fb06, 0x0704fb07, +0x0704fbf8, 0x0704fbf9, 0x0704fbfa, 0x0704fbfb, 0x0704fbfc, 0x0704fbfd, 0x0704fbfe, 0x0704fbff, +0x0704fc00, 0x0704fc01, 0x0704fc02, 0x0704fc03, 0x0704fc04, 0x0704fc05, 0x0704fc06, 0x0704fc07, +0x0704fcf8, 0x0704fcf9, 0x0704fcfa, 0x0704fcfb, 0x0704fcfc, 0x0704fcfd, 0x0704fcfe, 0x0704fcff, +0x0704fd00, 0x0704fd01, 0x0704fd02, 0x0704fd03, 0x0704fd04, 0x0704fd05, 0x0704fd06, 0x0704fd07, +0x0704fdf8, 0x0704fdf9, 0x0704fdfa, 0x0704fdfb, 0x0704fdfc, 0x0704fdfd, 0x0704fdfe, 0x0704fdff, +0x0704fe00, 0x0704fe01, 0x0704fe02, 0x0704fe03, 0x0704fe04, 0x0704fe05, 0x0704fe06, 0x0704fe07, +0x0704fef8, 0x0704fef9, 0x0704fefa, 0x0704fefb, 0x0704fefc, 0x0704fefd, 0x0704fefe, 0x0704feff, +0x0704ff00, 0x0704ff01, 0x0704ff02, 0x0704ff03, 0x0704ff04, 0x0704ff05, 0x0704ff06, 0x0704ff07, +0x0704fff8, 0x0704fff9, 0x0704fffa, 0x0704fffb, 0x0704fffc, 0x0704fffd, 0x0704fffe, 0x0704ffff, +0x07050000, 0x07050001, 0x07050002, 0x07050003, 0x07050004, 0x07050005, 0x07050006, 0x07050007, +0x070500f8, 0x070500f9, 0x070500fa, 0x070500fb, 0x070500fc, 0x070500fd, 0x070500fe, 0x070500ff, +0x07050100, 0x07050101, 0x07050102, 0x07050103, 0x07050104, 0x07050105, 0x07050106, 0x07050107, +0x070501f8, 0x070501f9, 0x070501fa, 0x070501fb, 0x070501fc, 0x070501fd, 0x070501fe, 0x070501ff, +0x07050200, 0x07050201, 0x07050202, 0x07050203, 0x07050204, 0x07050205, 0x07050206, 0x07050207, +0x070502f8, 0x070502f9, 0x070502fa, 0x070502fb, 0x070502fc, 0x070502fd, 0x070502fe, 0x070502ff, +0x07050300, 0x07050301, 0x07050302, 0x07050303, 0x07050304, 0x07050305, 0x07050306, 0x07050307, +0x070503f8, 0x070503f9, 0x070503fa, 0x070503fb, 0x070503fc, 0x070503fd, 0x070503fe, 0x070503ff, +0x07050400, 0x07050401, 0x07050402, 0x07050403, 0x07050404, 0x07050405, 0x07050406, 0x07050407, +0x070504f8, 0x070504f9, 0x070504fa, 0x070504fb, 0x070504fc, 0x070504fd, 0x070504fe, 0x070504ff, +0x07050500, 0x07050501, 0x07050502, 0x07050503, 0x07050504, 0x07050505, 0x07050506, 0x07050507, +0x070505f8, 0x070505f9, 0x070505fa, 0x070505fb, 0x070505fc, 0x070505fd, 0x070505fe, 0x070505ff, +0x07050600, 0x07050601, 0x07050602, 0x07050603, 0x07050604, 0x07050605, 0x07050606, 0x07050607, +0x070506f8, 0x070506f9, 0x070506fa, 0x070506fb, 0x070506fc, 0x070506fd, 0x070506fe, 0x070506ff, +0x07050700, 0x07050701, 0x07050702, 0x07050703, 0x07050704, 0x07050705, 0x07050706, 0x07050707, +0x070507f8, 0x070507f9, 0x070507fa, 0x070507fb, 0x070507fc, 0x070507fd, 0x070507fe, 0x070507ff, +0x0705f800, 0x0705f801, 0x0705f802, 0x0705f803, 0x0705f804, 0x0705f805, 0x0705f806, 0x0705f807, +0x0705f8f8, 0x0705f8f9, 0x0705f8fa, 0x0705f8fb, 0x0705f8fc, 0x0705f8fd, 0x0705f8fe, 0x0705f8ff, +0x0705f900, 0x0705f901, 0x0705f902, 0x0705f903, 0x0705f904, 0x0705f905, 0x0705f906, 0x0705f907, +0x0705f9f8, 0x0705f9f9, 0x0705f9fa, 0x0705f9fb, 0x0705f9fc, 0x0705f9fd, 0x0705f9fe, 0x0705f9ff, +0x0705fa00, 0x0705fa01, 0x0705fa02, 0x0705fa03, 0x0705fa04, 0x0705fa05, 0x0705fa06, 0x0705fa07, +0x0705faf8, 0x0705faf9, 0x0705fafa, 0x0705fafb, 0x0705fafc, 0x0705fafd, 0x0705fafe, 0x0705faff, +0x0705fb00, 0x0705fb01, 0x0705fb02, 0x0705fb03, 0x0705fb04, 0x0705fb05, 0x0705fb06, 0x0705fb07, +0x0705fbf8, 0x0705fbf9, 0x0705fbfa, 0x0705fbfb, 0x0705fbfc, 0x0705fbfd, 0x0705fbfe, 0x0705fbff, +0x0705fc00, 0x0705fc01, 0x0705fc02, 0x0705fc03, 0x0705fc04, 0x0705fc05, 0x0705fc06, 0x0705fc07, +0x0705fcf8, 0x0705fcf9, 0x0705fcfa, 0x0705fcfb, 0x0705fcfc, 0x0705fcfd, 0x0705fcfe, 0x0705fcff, +0x0705fd00, 0x0705fd01, 0x0705fd02, 0x0705fd03, 0x0705fd04, 0x0705fd05, 0x0705fd06, 0x0705fd07, +0x0705fdf8, 0x0705fdf9, 0x0705fdfa, 0x0705fdfb, 0x0705fdfc, 0x0705fdfd, 0x0705fdfe, 0x0705fdff, +0x0705fe00, 0x0705fe01, 0x0705fe02, 0x0705fe03, 0x0705fe04, 0x0705fe05, 0x0705fe06, 0x0705fe07, +0x0705fef8, 0x0705fef9, 0x0705fefa, 0x0705fefb, 0x0705fefc, 0x0705fefd, 0x0705fefe, 0x0705feff, +0x0705ff00, 0x0705ff01, 0x0705ff02, 0x0705ff03, 0x0705ff04, 0x0705ff05, 0x0705ff06, 0x0705ff07, +0x0705fff8, 0x0705fff9, 0x0705fffa, 0x0705fffb, 0x0705fffc, 0x0705fffd, 0x0705fffe, 0x0705ffff, +0x07060000, 0x07060001, 0x07060002, 0x07060003, 0x07060004, 0x07060005, 0x07060006, 0x07060007, +0x070600f8, 0x070600f9, 0x070600fa, 0x070600fb, 0x070600fc, 0x070600fd, 0x070600fe, 0x070600ff, +0x07060100, 0x07060101, 0x07060102, 0x07060103, 0x07060104, 0x07060105, 0x07060106, 0x07060107, +0x070601f8, 0x070601f9, 0x070601fa, 0x070601fb, 0x070601fc, 0x070601fd, 0x070601fe, 0x070601ff, +0x07060200, 0x07060201, 0x07060202, 0x07060203, 0x07060204, 0x07060205, 0x07060206, 0x07060207, +0x070602f8, 0x070602f9, 0x070602fa, 0x070602fb, 0x070602fc, 0x070602fd, 0x070602fe, 0x070602ff, +0x07060300, 0x07060301, 0x07060302, 0x07060303, 0x07060304, 0x07060305, 0x07060306, 0x07060307, +0x070603f8, 0x070603f9, 0x070603fa, 0x070603fb, 0x070603fc, 0x070603fd, 0x070603fe, 0x070603ff, +0x07060400, 0x07060401, 0x07060402, 0x07060403, 0x07060404, 0x07060405, 0x07060406, 0x07060407, +0x070604f8, 0x070604f9, 0x070604fa, 0x070604fb, 0x070604fc, 0x070604fd, 0x070604fe, 0x070604ff, +0x07060500, 0x07060501, 0x07060502, 0x07060503, 0x07060504, 0x07060505, 0x07060506, 0x07060507, +0x070605f8, 0x070605f9, 0x070605fa, 0x070605fb, 0x070605fc, 0x070605fd, 0x070605fe, 0x070605ff, +0x07060600, 0x07060601, 0x07060602, 0x07060603, 0x07060604, 0x07060605, 0x07060606, 0x07060607, +0x070606f8, 0x070606f9, 0x070606fa, 0x070606fb, 0x070606fc, 0x070606fd, 0x070606fe, 0x070606ff, +0x07060700, 0x07060701, 0x07060702, 0x07060703, 0x07060704, 0x07060705, 0x07060706, 0x07060707, +0x070607f8, 0x070607f9, 0x070607fa, 0x070607fb, 0x070607fc, 0x070607fd, 0x070607fe, 0x070607ff, +0x0706f800, 0x0706f801, 0x0706f802, 0x0706f803, 0x0706f804, 0x0706f805, 0x0706f806, 0x0706f807, +0x0706f8f8, 0x0706f8f9, 0x0706f8fa, 0x0706f8fb, 0x0706f8fc, 0x0706f8fd, 0x0706f8fe, 0x0706f8ff, +0x0706f900, 0x0706f901, 0x0706f902, 0x0706f903, 0x0706f904, 0x0706f905, 0x0706f906, 0x0706f907, +0x0706f9f8, 0x0706f9f9, 0x0706f9fa, 0x0706f9fb, 0x0706f9fc, 0x0706f9fd, 0x0706f9fe, 0x0706f9ff, +0x0706fa00, 0x0706fa01, 0x0706fa02, 0x0706fa03, 0x0706fa04, 0x0706fa05, 0x0706fa06, 0x0706fa07, +0x0706faf8, 0x0706faf9, 0x0706fafa, 0x0706fafb, 0x0706fafc, 0x0706fafd, 0x0706fafe, 0x0706faff, +0x0706fb00, 0x0706fb01, 0x0706fb02, 0x0706fb03, 0x0706fb04, 0x0706fb05, 0x0706fb06, 0x0706fb07, +0x0706fbf8, 0x0706fbf9, 0x0706fbfa, 0x0706fbfb, 0x0706fbfc, 0x0706fbfd, 0x0706fbfe, 0x0706fbff, +0x0706fc00, 0x0706fc01, 0x0706fc02, 0x0706fc03, 0x0706fc04, 0x0706fc05, 0x0706fc06, 0x0706fc07, +0x0706fcf8, 0x0706fcf9, 0x0706fcfa, 0x0706fcfb, 0x0706fcfc, 0x0706fcfd, 0x0706fcfe, 0x0706fcff, +0x0706fd00, 0x0706fd01, 0x0706fd02, 0x0706fd03, 0x0706fd04, 0x0706fd05, 0x0706fd06, 0x0706fd07, +0x0706fdf8, 0x0706fdf9, 0x0706fdfa, 0x0706fdfb, 0x0706fdfc, 0x0706fdfd, 0x0706fdfe, 0x0706fdff, +0x0706fe00, 0x0706fe01, 0x0706fe02, 0x0706fe03, 0x0706fe04, 0x0706fe05, 0x0706fe06, 0x0706fe07, +0x0706fef8, 0x0706fef9, 0x0706fefa, 0x0706fefb, 0x0706fefc, 0x0706fefd, 0x0706fefe, 0x0706feff, +0x0706ff00, 0x0706ff01, 0x0706ff02, 0x0706ff03, 0x0706ff04, 0x0706ff05, 0x0706ff06, 0x0706ff07, +0x0706fff8, 0x0706fff9, 0x0706fffa, 0x0706fffb, 0x0706fffc, 0x0706fffd, 0x0706fffe, 0x0706ffff, +0x07070000, 0x07070001, 0x07070002, 0x07070003, 0x07070004, 0x07070005, 0x07070006, 0x07070007, +0x070700f8, 0x070700f9, 0x070700fa, 0x070700fb, 0x070700fc, 0x070700fd, 0x070700fe, 0x070700ff, +0x07070100, 0x07070101, 0x07070102, 0x07070103, 0x07070104, 0x07070105, 0x07070106, 0x07070107, +0x070701f8, 0x070701f9, 0x070701fa, 0x070701fb, 0x070701fc, 0x070701fd, 0x070701fe, 0x070701ff, +0x07070200, 0x07070201, 0x07070202, 0x07070203, 0x07070204, 0x07070205, 0x07070206, 0x07070207, +0x070702f8, 0x070702f9, 0x070702fa, 0x070702fb, 0x070702fc, 0x070702fd, 0x070702fe, 0x070702ff, +0x07070300, 0x07070301, 0x07070302, 0x07070303, 0x07070304, 0x07070305, 0x07070306, 0x07070307, +0x070703f8, 0x070703f9, 0x070703fa, 0x070703fb, 0x070703fc, 0x070703fd, 0x070703fe, 0x070703ff, +0x07070400, 0x07070401, 0x07070402, 0x07070403, 0x07070404, 0x07070405, 0x07070406, 0x07070407, +0x070704f8, 0x070704f9, 0x070704fa, 0x070704fb, 0x070704fc, 0x070704fd, 0x070704fe, 0x070704ff, +0x07070500, 0x07070501, 0x07070502, 0x07070503, 0x07070504, 0x07070505, 0x07070506, 0x07070507, +0x070705f8, 0x070705f9, 0x070705fa, 0x070705fb, 0x070705fc, 0x070705fd, 0x070705fe, 0x070705ff, +0x07070600, 0x07070601, 0x07070602, 0x07070603, 0x07070604, 0x07070605, 0x07070606, 0x07070607, +0x070706f8, 0x070706f9, 0x070706fa, 0x070706fb, 0x070706fc, 0x070706fd, 0x070706fe, 0x070706ff, +0x07070700, 0x07070701, 0x07070702, 0x07070703, 0x07070704, 0x07070705, 0x07070706, 0x07070707, +0x070707f8, 0x070707f9, 0x070707fa, 0x070707fb, 0x070707fc, 0x070707fd, 0x070707fe, 0x070707ff, +0x0707f800, 0x0707f801, 0x0707f802, 0x0707f803, 0x0707f804, 0x0707f805, 0x0707f806, 0x0707f807, +0x0707f8f8, 0x0707f8f9, 0x0707f8fa, 0x0707f8fb, 0x0707f8fc, 0x0707f8fd, 0x0707f8fe, 0x0707f8ff, +0x0707f900, 0x0707f901, 0x0707f902, 0x0707f903, 0x0707f904, 0x0707f905, 0x0707f906, 0x0707f907, +0x0707f9f8, 0x0707f9f9, 0x0707f9fa, 0x0707f9fb, 0x0707f9fc, 0x0707f9fd, 0x0707f9fe, 0x0707f9ff, +0x0707fa00, 0x0707fa01, 0x0707fa02, 0x0707fa03, 0x0707fa04, 0x0707fa05, 0x0707fa06, 0x0707fa07, +0x0707faf8, 0x0707faf9, 0x0707fafa, 0x0707fafb, 0x0707fafc, 0x0707fafd, 0x0707fafe, 0x0707faff, +0x0707fb00, 0x0707fb01, 0x0707fb02, 0x0707fb03, 0x0707fb04, 0x0707fb05, 0x0707fb06, 0x0707fb07, +0x0707fbf8, 0x0707fbf9, 0x0707fbfa, 0x0707fbfb, 0x0707fbfc, 0x0707fbfd, 0x0707fbfe, 0x0707fbff, +0x0707fc00, 0x0707fc01, 0x0707fc02, 0x0707fc03, 0x0707fc04, 0x0707fc05, 0x0707fc06, 0x0707fc07, +0x0707fcf8, 0x0707fcf9, 0x0707fcfa, 0x0707fcfb, 0x0707fcfc, 0x0707fcfd, 0x0707fcfe, 0x0707fcff, +0x0707fd00, 0x0707fd01, 0x0707fd02, 0x0707fd03, 0x0707fd04, 0x0707fd05, 0x0707fd06, 0x0707fd07, +0x0707fdf8, 0x0707fdf9, 0x0707fdfa, 0x0707fdfb, 0x0707fdfc, 0x0707fdfd, 0x0707fdfe, 0x0707fdff, +0x0707fe00, 0x0707fe01, 0x0707fe02, 0x0707fe03, 0x0707fe04, 0x0707fe05, 0x0707fe06, 0x0707fe07, +0x0707fef8, 0x0707fef9, 0x0707fefa, 0x0707fefb, 0x0707fefc, 0x0707fefd, 0x0707fefe, 0x0707feff, +0x0707ff00, 0x0707ff01, 0x0707ff02, 0x0707ff03, 0x0707ff04, 0x0707ff05, 0x0707ff06, 0x0707ff07, +0x0707fff8, 0x0707fff9, 0x0707fffa, 0x0707fffb, 0x0707fffc, 0x0707fffd, 0x0707fffe, 0x0707ffff, +0x07f80000, 0x07f80001, 0x07f80002, 0x07f80003, 0x07f80004, 0x07f80005, 0x07f80006, 0x07f80007, +0x07f800f8, 0x07f800f9, 0x07f800fa, 0x07f800fb, 0x07f800fc, 0x07f800fd, 0x07f800fe, 0x07f800ff, +0x07f80100, 0x07f80101, 0x07f80102, 0x07f80103, 0x07f80104, 0x07f80105, 0x07f80106, 0x07f80107, +0x07f801f8, 0x07f801f9, 0x07f801fa, 0x07f801fb, 0x07f801fc, 0x07f801fd, 0x07f801fe, 0x07f801ff, +0x07f80200, 0x07f80201, 0x07f80202, 0x07f80203, 0x07f80204, 0x07f80205, 0x07f80206, 0x07f80207, +0x07f802f8, 0x07f802f9, 0x07f802fa, 0x07f802fb, 0x07f802fc, 0x07f802fd, 0x07f802fe, 0x07f802ff, +0x07f80300, 0x07f80301, 0x07f80302, 0x07f80303, 0x07f80304, 0x07f80305, 0x07f80306, 0x07f80307, +0x07f803f8, 0x07f803f9, 0x07f803fa, 0x07f803fb, 0x07f803fc, 0x07f803fd, 0x07f803fe, 0x07f803ff, +0x07f80400, 0x07f80401, 0x07f80402, 0x07f80403, 0x07f80404, 0x07f80405, 0x07f80406, 0x07f80407, +0x07f804f8, 0x07f804f9, 0x07f804fa, 0x07f804fb, 0x07f804fc, 0x07f804fd, 0x07f804fe, 0x07f804ff, +0x07f80500, 0x07f80501, 0x07f80502, 0x07f80503, 0x07f80504, 0x07f80505, 0x07f80506, 0x07f80507, +0x07f805f8, 0x07f805f9, 0x07f805fa, 0x07f805fb, 0x07f805fc, 0x07f805fd, 0x07f805fe, 0x07f805ff, +0x07f80600, 0x07f80601, 0x07f80602, 0x07f80603, 0x07f80604, 0x07f80605, 0x07f80606, 0x07f80607, +0x07f806f8, 0x07f806f9, 0x07f806fa, 0x07f806fb, 0x07f806fc, 0x07f806fd, 0x07f806fe, 0x07f806ff, +0x07f80700, 0x07f80701, 0x07f80702, 0x07f80703, 0x07f80704, 0x07f80705, 0x07f80706, 0x07f80707, +0x07f807f8, 0x07f807f9, 0x07f807fa, 0x07f807fb, 0x07f807fc, 0x07f807fd, 0x07f807fe, 0x07f807ff, +0x07f8f800, 0x07f8f801, 0x07f8f802, 0x07f8f803, 0x07f8f804, 0x07f8f805, 0x07f8f806, 0x07f8f807, +0x07f8f8f8, 0x07f8f8f9, 0x07f8f8fa, 0x07f8f8fb, 0x07f8f8fc, 0x07f8f8fd, 0x07f8f8fe, 0x07f8f8ff, +0x07f8f900, 0x07f8f901, 0x07f8f902, 0x07f8f903, 0x07f8f904, 0x07f8f905, 0x07f8f906, 0x07f8f907, +0x07f8f9f8, 0x07f8f9f9, 0x07f8f9fa, 0x07f8f9fb, 0x07f8f9fc, 0x07f8f9fd, 0x07f8f9fe, 0x07f8f9ff, +0x07f8fa00, 0x07f8fa01, 0x07f8fa02, 0x07f8fa03, 0x07f8fa04, 0x07f8fa05, 0x07f8fa06, 0x07f8fa07, +0x07f8faf8, 0x07f8faf9, 0x07f8fafa, 0x07f8fafb, 0x07f8fafc, 0x07f8fafd, 0x07f8fafe, 0x07f8faff, +0x07f8fb00, 0x07f8fb01, 0x07f8fb02, 0x07f8fb03, 0x07f8fb04, 0x07f8fb05, 0x07f8fb06, 0x07f8fb07, +0x07f8fbf8, 0x07f8fbf9, 0x07f8fbfa, 0x07f8fbfb, 0x07f8fbfc, 0x07f8fbfd, 0x07f8fbfe, 0x07f8fbff, +0x07f8fc00, 0x07f8fc01, 0x07f8fc02, 0x07f8fc03, 0x07f8fc04, 0x07f8fc05, 0x07f8fc06, 0x07f8fc07, +0x07f8fcf8, 0x07f8fcf9, 0x07f8fcfa, 0x07f8fcfb, 0x07f8fcfc, 0x07f8fcfd, 0x07f8fcfe, 0x07f8fcff, +0x07f8fd00, 0x07f8fd01, 0x07f8fd02, 0x07f8fd03, 0x07f8fd04, 0x07f8fd05, 0x07f8fd06, 0x07f8fd07, +0x07f8fdf8, 0x07f8fdf9, 0x07f8fdfa, 0x07f8fdfb, 0x07f8fdfc, 0x07f8fdfd, 0x07f8fdfe, 0x07f8fdff, +0x07f8fe00, 0x07f8fe01, 0x07f8fe02, 0x07f8fe03, 0x07f8fe04, 0x07f8fe05, 0x07f8fe06, 0x07f8fe07, +0x07f8fef8, 0x07f8fef9, 0x07f8fefa, 0x07f8fefb, 0x07f8fefc, 0x07f8fefd, 0x07f8fefe, 0x07f8feff, +0x07f8ff00, 0x07f8ff01, 0x07f8ff02, 0x07f8ff03, 0x07f8ff04, 0x07f8ff05, 0x07f8ff06, 0x07f8ff07, +0x07f8fff8, 0x07f8fff9, 0x07f8fffa, 0x07f8fffb, 0x07f8fffc, 0x07f8fffd, 0x07f8fffe, 0x07f8ffff, +0x07f90000, 0x07f90001, 0x07f90002, 0x07f90003, 0x07f90004, 0x07f90005, 0x07f90006, 0x07f90007, +0x07f900f8, 0x07f900f9, 0x07f900fa, 0x07f900fb, 0x07f900fc, 0x07f900fd, 0x07f900fe, 0x07f900ff, +0x07f90100, 0x07f90101, 0x07f90102, 0x07f90103, 0x07f90104, 0x07f90105, 0x07f90106, 0x07f90107, +0x07f901f8, 0x07f901f9, 0x07f901fa, 0x07f901fb, 0x07f901fc, 0x07f901fd, 0x07f901fe, 0x07f901ff, +0x07f90200, 0x07f90201, 0x07f90202, 0x07f90203, 0x07f90204, 0x07f90205, 0x07f90206, 0x07f90207, +0x07f902f8, 0x07f902f9, 0x07f902fa, 0x07f902fb, 0x07f902fc, 0x07f902fd, 0x07f902fe, 0x07f902ff, +0x07f90300, 0x07f90301, 0x07f90302, 0x07f90303, 0x07f90304, 0x07f90305, 0x07f90306, 0x07f90307, +0x07f903f8, 0x07f903f9, 0x07f903fa, 0x07f903fb, 0x07f903fc, 0x07f903fd, 0x07f903fe, 0x07f903ff, +0x07f90400, 0x07f90401, 0x07f90402, 0x07f90403, 0x07f90404, 0x07f90405, 0x07f90406, 0x07f90407, +0x07f904f8, 0x07f904f9, 0x07f904fa, 0x07f904fb, 0x07f904fc, 0x07f904fd, 0x07f904fe, 0x07f904ff, +0x07f90500, 0x07f90501, 0x07f90502, 0x07f90503, 0x07f90504, 0x07f90505, 0x07f90506, 0x07f90507, +0x07f905f8, 0x07f905f9, 0x07f905fa, 0x07f905fb, 0x07f905fc, 0x07f905fd, 0x07f905fe, 0x07f905ff, +0x07f90600, 0x07f90601, 0x07f90602, 0x07f90603, 0x07f90604, 0x07f90605, 0x07f90606, 0x07f90607, +0x07f906f8, 0x07f906f9, 0x07f906fa, 0x07f906fb, 0x07f906fc, 0x07f906fd, 0x07f906fe, 0x07f906ff, +0x07f90700, 0x07f90701, 0x07f90702, 0x07f90703, 0x07f90704, 0x07f90705, 0x07f90706, 0x07f90707, +0x07f907f8, 0x07f907f9, 0x07f907fa, 0x07f907fb, 0x07f907fc, 0x07f907fd, 0x07f907fe, 0x07f907ff, +0x07f9f800, 0x07f9f801, 0x07f9f802, 0x07f9f803, 0x07f9f804, 0x07f9f805, 0x07f9f806, 0x07f9f807, +0x07f9f8f8, 0x07f9f8f9, 0x07f9f8fa, 0x07f9f8fb, 0x07f9f8fc, 0x07f9f8fd, 0x07f9f8fe, 0x07f9f8ff, +0x07f9f900, 0x07f9f901, 0x07f9f902, 0x07f9f903, 0x07f9f904, 0x07f9f905, 0x07f9f906, 0x07f9f907, +0x07f9f9f8, 0x07f9f9f9, 0x07f9f9fa, 0x07f9f9fb, 0x07f9f9fc, 0x07f9f9fd, 0x07f9f9fe, 0x07f9f9ff, +0x07f9fa00, 0x07f9fa01, 0x07f9fa02, 0x07f9fa03, 0x07f9fa04, 0x07f9fa05, 0x07f9fa06, 0x07f9fa07, +0x07f9faf8, 0x07f9faf9, 0x07f9fafa, 0x07f9fafb, 0x07f9fafc, 0x07f9fafd, 0x07f9fafe, 0x07f9faff, +0x07f9fb00, 0x07f9fb01, 0x07f9fb02, 0x07f9fb03, 0x07f9fb04, 0x07f9fb05, 0x07f9fb06, 0x07f9fb07, +0x07f9fbf8, 0x07f9fbf9, 0x07f9fbfa, 0x07f9fbfb, 0x07f9fbfc, 0x07f9fbfd, 0x07f9fbfe, 0x07f9fbff, +0x07f9fc00, 0x07f9fc01, 0x07f9fc02, 0x07f9fc03, 0x07f9fc04, 0x07f9fc05, 0x07f9fc06, 0x07f9fc07, +0x07f9fcf8, 0x07f9fcf9, 0x07f9fcfa, 0x07f9fcfb, 0x07f9fcfc, 0x07f9fcfd, 0x07f9fcfe, 0x07f9fcff, +0x07f9fd00, 0x07f9fd01, 0x07f9fd02, 0x07f9fd03, 0x07f9fd04, 0x07f9fd05, 0x07f9fd06, 0x07f9fd07, +0x07f9fdf8, 0x07f9fdf9, 0x07f9fdfa, 0x07f9fdfb, 0x07f9fdfc, 0x07f9fdfd, 0x07f9fdfe, 0x07f9fdff, +0x07f9fe00, 0x07f9fe01, 0x07f9fe02, 0x07f9fe03, 0x07f9fe04, 0x07f9fe05, 0x07f9fe06, 0x07f9fe07, +0x07f9fef8, 0x07f9fef9, 0x07f9fefa, 0x07f9fefb, 0x07f9fefc, 0x07f9fefd, 0x07f9fefe, 0x07f9feff, +0x07f9ff00, 0x07f9ff01, 0x07f9ff02, 0x07f9ff03, 0x07f9ff04, 0x07f9ff05, 0x07f9ff06, 0x07f9ff07, +0x07f9fff8, 0x07f9fff9, 0x07f9fffa, 0x07f9fffb, 0x07f9fffc, 0x07f9fffd, 0x07f9fffe, 0x07f9ffff, +0x07fa0000, 0x07fa0001, 0x07fa0002, 0x07fa0003, 0x07fa0004, 0x07fa0005, 0x07fa0006, 0x07fa0007, +0x07fa00f8, 0x07fa00f9, 0x07fa00fa, 0x07fa00fb, 0x07fa00fc, 0x07fa00fd, 0x07fa00fe, 0x07fa00ff, +0x07fa0100, 0x07fa0101, 0x07fa0102, 0x07fa0103, 0x07fa0104, 0x07fa0105, 0x07fa0106, 0x07fa0107, +0x07fa01f8, 0x07fa01f9, 0x07fa01fa, 0x07fa01fb, 0x07fa01fc, 0x07fa01fd, 0x07fa01fe, 0x07fa01ff, +0x07fa0200, 0x07fa0201, 0x07fa0202, 0x07fa0203, 0x07fa0204, 0x07fa0205, 0x07fa0206, 0x07fa0207, +0x07fa02f8, 0x07fa02f9, 0x07fa02fa, 0x07fa02fb, 0x07fa02fc, 0x07fa02fd, 0x07fa02fe, 0x07fa02ff, +0x07fa0300, 0x07fa0301, 0x07fa0302, 0x07fa0303, 0x07fa0304, 0x07fa0305, 0x07fa0306, 0x07fa0307, +0x07fa03f8, 0x07fa03f9, 0x07fa03fa, 0x07fa03fb, 0x07fa03fc, 0x07fa03fd, 0x07fa03fe, 0x07fa03ff, +0x07fa0400, 0x07fa0401, 0x07fa0402, 0x07fa0403, 0x07fa0404, 0x07fa0405, 0x07fa0406, 0x07fa0407, +0x07fa04f8, 0x07fa04f9, 0x07fa04fa, 0x07fa04fb, 0x07fa04fc, 0x07fa04fd, 0x07fa04fe, 0x07fa04ff, +0x07fa0500, 0x07fa0501, 0x07fa0502, 0x07fa0503, 0x07fa0504, 0x07fa0505, 0x07fa0506, 0x07fa0507, +0x07fa05f8, 0x07fa05f9, 0x07fa05fa, 0x07fa05fb, 0x07fa05fc, 0x07fa05fd, 0x07fa05fe, 0x07fa05ff, +0x07fa0600, 0x07fa0601, 0x07fa0602, 0x07fa0603, 0x07fa0604, 0x07fa0605, 0x07fa0606, 0x07fa0607, +0x07fa06f8, 0x07fa06f9, 0x07fa06fa, 0x07fa06fb, 0x07fa06fc, 0x07fa06fd, 0x07fa06fe, 0x07fa06ff, +0x07fa0700, 0x07fa0701, 0x07fa0702, 0x07fa0703, 0x07fa0704, 0x07fa0705, 0x07fa0706, 0x07fa0707, +0x07fa07f8, 0x07fa07f9, 0x07fa07fa, 0x07fa07fb, 0x07fa07fc, 0x07fa07fd, 0x07fa07fe, 0x07fa07ff, +0x07faf800, 0x07faf801, 0x07faf802, 0x07faf803, 0x07faf804, 0x07faf805, 0x07faf806, 0x07faf807, +0x07faf8f8, 0x07faf8f9, 0x07faf8fa, 0x07faf8fb, 0x07faf8fc, 0x07faf8fd, 0x07faf8fe, 0x07faf8ff, +0x07faf900, 0x07faf901, 0x07faf902, 0x07faf903, 0x07faf904, 0x07faf905, 0x07faf906, 0x07faf907, +0x07faf9f8, 0x07faf9f9, 0x07faf9fa, 0x07faf9fb, 0x07faf9fc, 0x07faf9fd, 0x07faf9fe, 0x07faf9ff, +0x07fafa00, 0x07fafa01, 0x07fafa02, 0x07fafa03, 0x07fafa04, 0x07fafa05, 0x07fafa06, 0x07fafa07, +0x07fafaf8, 0x07fafaf9, 0x07fafafa, 0x07fafafb, 0x07fafafc, 0x07fafafd, 0x07fafafe, 0x07fafaff, +0x07fafb00, 0x07fafb01, 0x07fafb02, 0x07fafb03, 0x07fafb04, 0x07fafb05, 0x07fafb06, 0x07fafb07, +0x07fafbf8, 0x07fafbf9, 0x07fafbfa, 0x07fafbfb, 0x07fafbfc, 0x07fafbfd, 0x07fafbfe, 0x07fafbff, +0x07fafc00, 0x07fafc01, 0x07fafc02, 0x07fafc03, 0x07fafc04, 0x07fafc05, 0x07fafc06, 0x07fafc07, +0x07fafcf8, 0x07fafcf9, 0x07fafcfa, 0x07fafcfb, 0x07fafcfc, 0x07fafcfd, 0x07fafcfe, 0x07fafcff, +0x07fafd00, 0x07fafd01, 0x07fafd02, 0x07fafd03, 0x07fafd04, 0x07fafd05, 0x07fafd06, 0x07fafd07, +0x07fafdf8, 0x07fafdf9, 0x07fafdfa, 0x07fafdfb, 0x07fafdfc, 0x07fafdfd, 0x07fafdfe, 0x07fafdff, +0x07fafe00, 0x07fafe01, 0x07fafe02, 0x07fafe03, 0x07fafe04, 0x07fafe05, 0x07fafe06, 0x07fafe07, +0x07fafef8, 0x07fafef9, 0x07fafefa, 0x07fafefb, 0x07fafefc, 0x07fafefd, 0x07fafefe, 0x07fafeff, +0x07faff00, 0x07faff01, 0x07faff02, 0x07faff03, 0x07faff04, 0x07faff05, 0x07faff06, 0x07faff07, +0x07fafff8, 0x07fafff9, 0x07fafffa, 0x07fafffb, 0x07fafffc, 0x07fafffd, 0x07fafffe, 0x07faffff, +0x07fb0000, 0x07fb0001, 0x07fb0002, 0x07fb0003, 0x07fb0004, 0x07fb0005, 0x07fb0006, 0x07fb0007, +0x07fb00f8, 0x07fb00f9, 0x07fb00fa, 0x07fb00fb, 0x07fb00fc, 0x07fb00fd, 0x07fb00fe, 0x07fb00ff, +0x07fb0100, 0x07fb0101, 0x07fb0102, 0x07fb0103, 0x07fb0104, 0x07fb0105, 0x07fb0106, 0x07fb0107, +0x07fb01f8, 0x07fb01f9, 0x07fb01fa, 0x07fb01fb, 0x07fb01fc, 0x07fb01fd, 0x07fb01fe, 0x07fb01ff, +0x07fb0200, 0x07fb0201, 0x07fb0202, 0x07fb0203, 0x07fb0204, 0x07fb0205, 0x07fb0206, 0x07fb0207, +0x07fb02f8, 0x07fb02f9, 0x07fb02fa, 0x07fb02fb, 0x07fb02fc, 0x07fb02fd, 0x07fb02fe, 0x07fb02ff, +0x07fb0300, 0x07fb0301, 0x07fb0302, 0x07fb0303, 0x07fb0304, 0x07fb0305, 0x07fb0306, 0x07fb0307, +0x07fb03f8, 0x07fb03f9, 0x07fb03fa, 0x07fb03fb, 0x07fb03fc, 0x07fb03fd, 0x07fb03fe, 0x07fb03ff, +0x07fb0400, 0x07fb0401, 0x07fb0402, 0x07fb0403, 0x07fb0404, 0x07fb0405, 0x07fb0406, 0x07fb0407, +0x07fb04f8, 0x07fb04f9, 0x07fb04fa, 0x07fb04fb, 0x07fb04fc, 0x07fb04fd, 0x07fb04fe, 0x07fb04ff, +0x07fb0500, 0x07fb0501, 0x07fb0502, 0x07fb0503, 0x07fb0504, 0x07fb0505, 0x07fb0506, 0x07fb0507, +0x07fb05f8, 0x07fb05f9, 0x07fb05fa, 0x07fb05fb, 0x07fb05fc, 0x07fb05fd, 0x07fb05fe, 0x07fb05ff, +0x07fb0600, 0x07fb0601, 0x07fb0602, 0x07fb0603, 0x07fb0604, 0x07fb0605, 0x07fb0606, 0x07fb0607, +0x07fb06f8, 0x07fb06f9, 0x07fb06fa, 0x07fb06fb, 0x07fb06fc, 0x07fb06fd, 0x07fb06fe, 0x07fb06ff, +0x07fb0700, 0x07fb0701, 0x07fb0702, 0x07fb0703, 0x07fb0704, 0x07fb0705, 0x07fb0706, 0x07fb0707, +0x07fb07f8, 0x07fb07f9, 0x07fb07fa, 0x07fb07fb, 0x07fb07fc, 0x07fb07fd, 0x07fb07fe, 0x07fb07ff, +0x07fbf800, 0x07fbf801, 0x07fbf802, 0x07fbf803, 0x07fbf804, 0x07fbf805, 0x07fbf806, 0x07fbf807, +0x07fbf8f8, 0x07fbf8f9, 0x07fbf8fa, 0x07fbf8fb, 0x07fbf8fc, 0x07fbf8fd, 0x07fbf8fe, 0x07fbf8ff, +0x07fbf900, 0x07fbf901, 0x07fbf902, 0x07fbf903, 0x07fbf904, 0x07fbf905, 0x07fbf906, 0x07fbf907, +0x07fbf9f8, 0x07fbf9f9, 0x07fbf9fa, 0x07fbf9fb, 0x07fbf9fc, 0x07fbf9fd, 0x07fbf9fe, 0x07fbf9ff, +0x07fbfa00, 0x07fbfa01, 0x07fbfa02, 0x07fbfa03, 0x07fbfa04, 0x07fbfa05, 0x07fbfa06, 0x07fbfa07, +0x07fbfaf8, 0x07fbfaf9, 0x07fbfafa, 0x07fbfafb, 0x07fbfafc, 0x07fbfafd, 0x07fbfafe, 0x07fbfaff, +0x07fbfb00, 0x07fbfb01, 0x07fbfb02, 0x07fbfb03, 0x07fbfb04, 0x07fbfb05, 0x07fbfb06, 0x07fbfb07, +0x07fbfbf8, 0x07fbfbf9, 0x07fbfbfa, 0x07fbfbfb, 0x07fbfbfc, 0x07fbfbfd, 0x07fbfbfe, 0x07fbfbff, +0x07fbfc00, 0x07fbfc01, 0x07fbfc02, 0x07fbfc03, 0x07fbfc04, 0x07fbfc05, 0x07fbfc06, 0x07fbfc07, +0x07fbfcf8, 0x07fbfcf9, 0x07fbfcfa, 0x07fbfcfb, 0x07fbfcfc, 0x07fbfcfd, 0x07fbfcfe, 0x07fbfcff, +0x07fbfd00, 0x07fbfd01, 0x07fbfd02, 0x07fbfd03, 0x07fbfd04, 0x07fbfd05, 0x07fbfd06, 0x07fbfd07, +0x07fbfdf8, 0x07fbfdf9, 0x07fbfdfa, 0x07fbfdfb, 0x07fbfdfc, 0x07fbfdfd, 0x07fbfdfe, 0x07fbfdff, +0x07fbfe00, 0x07fbfe01, 0x07fbfe02, 0x07fbfe03, 0x07fbfe04, 0x07fbfe05, 0x07fbfe06, 0x07fbfe07, +0x07fbfef8, 0x07fbfef9, 0x07fbfefa, 0x07fbfefb, 0x07fbfefc, 0x07fbfefd, 0x07fbfefe, 0x07fbfeff, +0x07fbff00, 0x07fbff01, 0x07fbff02, 0x07fbff03, 0x07fbff04, 0x07fbff05, 0x07fbff06, 0x07fbff07, +0x07fbfff8, 0x07fbfff9, 0x07fbfffa, 0x07fbfffb, 0x07fbfffc, 0x07fbfffd, 0x07fbfffe, 0x07fbffff, +0x07fc0000, 0x07fc0001, 0x07fc0002, 0x07fc0003, 0x07fc0004, 0x07fc0005, 0x07fc0006, 0x07fc0007, +0x07fc00f8, 0x07fc00f9, 0x07fc00fa, 0x07fc00fb, 0x07fc00fc, 0x07fc00fd, 0x07fc00fe, 0x07fc00ff, +0x07fc0100, 0x07fc0101, 0x07fc0102, 0x07fc0103, 0x07fc0104, 0x07fc0105, 0x07fc0106, 0x07fc0107, +0x07fc01f8, 0x07fc01f9, 0x07fc01fa, 0x07fc01fb, 0x07fc01fc, 0x07fc01fd, 0x07fc01fe, 0x07fc01ff, +0x07fc0200, 0x07fc0201, 0x07fc0202, 0x07fc0203, 0x07fc0204, 0x07fc0205, 0x07fc0206, 0x07fc0207, +0x07fc02f8, 0x07fc02f9, 0x07fc02fa, 0x07fc02fb, 0x07fc02fc, 0x07fc02fd, 0x07fc02fe, 0x07fc02ff, +0x07fc0300, 0x07fc0301, 0x07fc0302, 0x07fc0303, 0x07fc0304, 0x07fc0305, 0x07fc0306, 0x07fc0307, +0x07fc03f8, 0x07fc03f9, 0x07fc03fa, 0x07fc03fb, 0x07fc03fc, 0x07fc03fd, 0x07fc03fe, 0x07fc03ff, +0x07fc0400, 0x07fc0401, 0x07fc0402, 0x07fc0403, 0x07fc0404, 0x07fc0405, 0x07fc0406, 0x07fc0407, +0x07fc04f8, 0x07fc04f9, 0x07fc04fa, 0x07fc04fb, 0x07fc04fc, 0x07fc04fd, 0x07fc04fe, 0x07fc04ff, +0x07fc0500, 0x07fc0501, 0x07fc0502, 0x07fc0503, 0x07fc0504, 0x07fc0505, 0x07fc0506, 0x07fc0507, +0x07fc05f8, 0x07fc05f9, 0x07fc05fa, 0x07fc05fb, 0x07fc05fc, 0x07fc05fd, 0x07fc05fe, 0x07fc05ff, +0x07fc0600, 0x07fc0601, 0x07fc0602, 0x07fc0603, 0x07fc0604, 0x07fc0605, 0x07fc0606, 0x07fc0607, +0x07fc06f8, 0x07fc06f9, 0x07fc06fa, 0x07fc06fb, 0x07fc06fc, 0x07fc06fd, 0x07fc06fe, 0x07fc06ff, +0x07fc0700, 0x07fc0701, 0x07fc0702, 0x07fc0703, 0x07fc0704, 0x07fc0705, 0x07fc0706, 0x07fc0707, +0x07fc07f8, 0x07fc07f9, 0x07fc07fa, 0x07fc07fb, 0x07fc07fc, 0x07fc07fd, 0x07fc07fe, 0x07fc07ff, +0x07fcf800, 0x07fcf801, 0x07fcf802, 0x07fcf803, 0x07fcf804, 0x07fcf805, 0x07fcf806, 0x07fcf807, +0x07fcf8f8, 0x07fcf8f9, 0x07fcf8fa, 0x07fcf8fb, 0x07fcf8fc, 0x07fcf8fd, 0x07fcf8fe, 0x07fcf8ff, +0x07fcf900, 0x07fcf901, 0x07fcf902, 0x07fcf903, 0x07fcf904, 0x07fcf905, 0x07fcf906, 0x07fcf907, +0x07fcf9f8, 0x07fcf9f9, 0x07fcf9fa, 0x07fcf9fb, 0x07fcf9fc, 0x07fcf9fd, 0x07fcf9fe, 0x07fcf9ff, +0x07fcfa00, 0x07fcfa01, 0x07fcfa02, 0x07fcfa03, 0x07fcfa04, 0x07fcfa05, 0x07fcfa06, 0x07fcfa07, +0x07fcfaf8, 0x07fcfaf9, 0x07fcfafa, 0x07fcfafb, 0x07fcfafc, 0x07fcfafd, 0x07fcfafe, 0x07fcfaff, +0x07fcfb00, 0x07fcfb01, 0x07fcfb02, 0x07fcfb03, 0x07fcfb04, 0x07fcfb05, 0x07fcfb06, 0x07fcfb07, +0x07fcfbf8, 0x07fcfbf9, 0x07fcfbfa, 0x07fcfbfb, 0x07fcfbfc, 0x07fcfbfd, 0x07fcfbfe, 0x07fcfbff, +0x07fcfc00, 0x07fcfc01, 0x07fcfc02, 0x07fcfc03, 0x07fcfc04, 0x07fcfc05, 0x07fcfc06, 0x07fcfc07, +0x07fcfcf8, 0x07fcfcf9, 0x07fcfcfa, 0x07fcfcfb, 0x07fcfcfc, 0x07fcfcfd, 0x07fcfcfe, 0x07fcfcff, +0x07fcfd00, 0x07fcfd01, 0x07fcfd02, 0x07fcfd03, 0x07fcfd04, 0x07fcfd05, 0x07fcfd06, 0x07fcfd07, +0x07fcfdf8, 0x07fcfdf9, 0x07fcfdfa, 0x07fcfdfb, 0x07fcfdfc, 0x07fcfdfd, 0x07fcfdfe, 0x07fcfdff, +0x07fcfe00, 0x07fcfe01, 0x07fcfe02, 0x07fcfe03, 0x07fcfe04, 0x07fcfe05, 0x07fcfe06, 0x07fcfe07, +0x07fcfef8, 0x07fcfef9, 0x07fcfefa, 0x07fcfefb, 0x07fcfefc, 0x07fcfefd, 0x07fcfefe, 0x07fcfeff, +0x07fcff00, 0x07fcff01, 0x07fcff02, 0x07fcff03, 0x07fcff04, 0x07fcff05, 0x07fcff06, 0x07fcff07, +0x07fcfff8, 0x07fcfff9, 0x07fcfffa, 0x07fcfffb, 0x07fcfffc, 0x07fcfffd, 0x07fcfffe, 0x07fcffff, +0x07fd0000, 0x07fd0001, 0x07fd0002, 0x07fd0003, 0x07fd0004, 0x07fd0005, 0x07fd0006, 0x07fd0007, +0x07fd00f8, 0x07fd00f9, 0x07fd00fa, 0x07fd00fb, 0x07fd00fc, 0x07fd00fd, 0x07fd00fe, 0x07fd00ff, +0x07fd0100, 0x07fd0101, 0x07fd0102, 0x07fd0103, 0x07fd0104, 0x07fd0105, 0x07fd0106, 0x07fd0107, +0x07fd01f8, 0x07fd01f9, 0x07fd01fa, 0x07fd01fb, 0x07fd01fc, 0x07fd01fd, 0x07fd01fe, 0x07fd01ff, +0x07fd0200, 0x07fd0201, 0x07fd0202, 0x07fd0203, 0x07fd0204, 0x07fd0205, 0x07fd0206, 0x07fd0207, +0x07fd02f8, 0x07fd02f9, 0x07fd02fa, 0x07fd02fb, 0x07fd02fc, 0x07fd02fd, 0x07fd02fe, 0x07fd02ff, +0x07fd0300, 0x07fd0301, 0x07fd0302, 0x07fd0303, 0x07fd0304, 0x07fd0305, 0x07fd0306, 0x07fd0307, +0x07fd03f8, 0x07fd03f9, 0x07fd03fa, 0x07fd03fb, 0x07fd03fc, 0x07fd03fd, 0x07fd03fe, 0x07fd03ff, +0x07fd0400, 0x07fd0401, 0x07fd0402, 0x07fd0403, 0x07fd0404, 0x07fd0405, 0x07fd0406, 0x07fd0407, +0x07fd04f8, 0x07fd04f9, 0x07fd04fa, 0x07fd04fb, 0x07fd04fc, 0x07fd04fd, 0x07fd04fe, 0x07fd04ff, +0x07fd0500, 0x07fd0501, 0x07fd0502, 0x07fd0503, 0x07fd0504, 0x07fd0505, 0x07fd0506, 0x07fd0507, +0x07fd05f8, 0x07fd05f9, 0x07fd05fa, 0x07fd05fb, 0x07fd05fc, 0x07fd05fd, 0x07fd05fe, 0x07fd05ff, +0x07fd0600, 0x07fd0601, 0x07fd0602, 0x07fd0603, 0x07fd0604, 0x07fd0605, 0x07fd0606, 0x07fd0607, +0x07fd06f8, 0x07fd06f9, 0x07fd06fa, 0x07fd06fb, 0x07fd06fc, 0x07fd06fd, 0x07fd06fe, 0x07fd06ff, +0x07fd0700, 0x07fd0701, 0x07fd0702, 0x07fd0703, 0x07fd0704, 0x07fd0705, 0x07fd0706, 0x07fd0707, +0x07fd07f8, 0x07fd07f9, 0x07fd07fa, 0x07fd07fb, 0x07fd07fc, 0x07fd07fd, 0x07fd07fe, 0x07fd07ff, +0x07fdf800, 0x07fdf801, 0x07fdf802, 0x07fdf803, 0x07fdf804, 0x07fdf805, 0x07fdf806, 0x07fdf807, +0x07fdf8f8, 0x07fdf8f9, 0x07fdf8fa, 0x07fdf8fb, 0x07fdf8fc, 0x07fdf8fd, 0x07fdf8fe, 0x07fdf8ff, +0x07fdf900, 0x07fdf901, 0x07fdf902, 0x07fdf903, 0x07fdf904, 0x07fdf905, 0x07fdf906, 0x07fdf907, +0x07fdf9f8, 0x07fdf9f9, 0x07fdf9fa, 0x07fdf9fb, 0x07fdf9fc, 0x07fdf9fd, 0x07fdf9fe, 0x07fdf9ff, +0x07fdfa00, 0x07fdfa01, 0x07fdfa02, 0x07fdfa03, 0x07fdfa04, 0x07fdfa05, 0x07fdfa06, 0x07fdfa07, +0x07fdfaf8, 0x07fdfaf9, 0x07fdfafa, 0x07fdfafb, 0x07fdfafc, 0x07fdfafd, 0x07fdfafe, 0x07fdfaff, +0x07fdfb00, 0x07fdfb01, 0x07fdfb02, 0x07fdfb03, 0x07fdfb04, 0x07fdfb05, 0x07fdfb06, 0x07fdfb07, +0x07fdfbf8, 0x07fdfbf9, 0x07fdfbfa, 0x07fdfbfb, 0x07fdfbfc, 0x07fdfbfd, 0x07fdfbfe, 0x07fdfbff, +0x07fdfc00, 0x07fdfc01, 0x07fdfc02, 0x07fdfc03, 0x07fdfc04, 0x07fdfc05, 0x07fdfc06, 0x07fdfc07, +0x07fdfcf8, 0x07fdfcf9, 0x07fdfcfa, 0x07fdfcfb, 0x07fdfcfc, 0x07fdfcfd, 0x07fdfcfe, 0x07fdfcff, +0x07fdfd00, 0x07fdfd01, 0x07fdfd02, 0x07fdfd03, 0x07fdfd04, 0x07fdfd05, 0x07fdfd06, 0x07fdfd07, +0x07fdfdf8, 0x07fdfdf9, 0x07fdfdfa, 0x07fdfdfb, 0x07fdfdfc, 0x07fdfdfd, 0x07fdfdfe, 0x07fdfdff, +0x07fdfe00, 0x07fdfe01, 0x07fdfe02, 0x07fdfe03, 0x07fdfe04, 0x07fdfe05, 0x07fdfe06, 0x07fdfe07, +0x07fdfef8, 0x07fdfef9, 0x07fdfefa, 0x07fdfefb, 0x07fdfefc, 0x07fdfefd, 0x07fdfefe, 0x07fdfeff, +0x07fdff00, 0x07fdff01, 0x07fdff02, 0x07fdff03, 0x07fdff04, 0x07fdff05, 0x07fdff06, 0x07fdff07, +0x07fdfff8, 0x07fdfff9, 0x07fdfffa, 0x07fdfffb, 0x07fdfffc, 0x07fdfffd, 0x07fdfffe, 0x07fdffff, +0x07fe0000, 0x07fe0001, 0x07fe0002, 0x07fe0003, 0x07fe0004, 0x07fe0005, 0x07fe0006, 0x07fe0007, +0x07fe00f8, 0x07fe00f9, 0x07fe00fa, 0x07fe00fb, 0x07fe00fc, 0x07fe00fd, 0x07fe00fe, 0x07fe00ff, +0x07fe0100, 0x07fe0101, 0x07fe0102, 0x07fe0103, 0x07fe0104, 0x07fe0105, 0x07fe0106, 0x07fe0107, +0x07fe01f8, 0x07fe01f9, 0x07fe01fa, 0x07fe01fb, 0x07fe01fc, 0x07fe01fd, 0x07fe01fe, 0x07fe01ff, +0x07fe0200, 0x07fe0201, 0x07fe0202, 0x07fe0203, 0x07fe0204, 0x07fe0205, 0x07fe0206, 0x07fe0207, +0x07fe02f8, 0x07fe02f9, 0x07fe02fa, 0x07fe02fb, 0x07fe02fc, 0x07fe02fd, 0x07fe02fe, 0x07fe02ff, +0x07fe0300, 0x07fe0301, 0x07fe0302, 0x07fe0303, 0x07fe0304, 0x07fe0305, 0x07fe0306, 0x07fe0307, +0x07fe03f8, 0x07fe03f9, 0x07fe03fa, 0x07fe03fb, 0x07fe03fc, 0x07fe03fd, 0x07fe03fe, 0x07fe03ff, +0x07fe0400, 0x07fe0401, 0x07fe0402, 0x07fe0403, 0x07fe0404, 0x07fe0405, 0x07fe0406, 0x07fe0407, +0x07fe04f8, 0x07fe04f9, 0x07fe04fa, 0x07fe04fb, 0x07fe04fc, 0x07fe04fd, 0x07fe04fe, 0x07fe04ff, +0x07fe0500, 0x07fe0501, 0x07fe0502, 0x07fe0503, 0x07fe0504, 0x07fe0505, 0x07fe0506, 0x07fe0507, +0x07fe05f8, 0x07fe05f9, 0x07fe05fa, 0x07fe05fb, 0x07fe05fc, 0x07fe05fd, 0x07fe05fe, 0x07fe05ff, +0x07fe0600, 0x07fe0601, 0x07fe0602, 0x07fe0603, 0x07fe0604, 0x07fe0605, 0x07fe0606, 0x07fe0607, +0x07fe06f8, 0x07fe06f9, 0x07fe06fa, 0x07fe06fb, 0x07fe06fc, 0x07fe06fd, 0x07fe06fe, 0x07fe06ff, +0x07fe0700, 0x07fe0701, 0x07fe0702, 0x07fe0703, 0x07fe0704, 0x07fe0705, 0x07fe0706, 0x07fe0707, +0x07fe07f8, 0x07fe07f9, 0x07fe07fa, 0x07fe07fb, 0x07fe07fc, 0x07fe07fd, 0x07fe07fe, 0x07fe07ff, +0x07fef800, 0x07fef801, 0x07fef802, 0x07fef803, 0x07fef804, 0x07fef805, 0x07fef806, 0x07fef807, +0x07fef8f8, 0x07fef8f9, 0x07fef8fa, 0x07fef8fb, 0x07fef8fc, 0x07fef8fd, 0x07fef8fe, 0x07fef8ff, +0x07fef900, 0x07fef901, 0x07fef902, 0x07fef903, 0x07fef904, 0x07fef905, 0x07fef906, 0x07fef907, +0x07fef9f8, 0x07fef9f9, 0x07fef9fa, 0x07fef9fb, 0x07fef9fc, 0x07fef9fd, 0x07fef9fe, 0x07fef9ff, +0x07fefa00, 0x07fefa01, 0x07fefa02, 0x07fefa03, 0x07fefa04, 0x07fefa05, 0x07fefa06, 0x07fefa07, +0x07fefaf8, 0x07fefaf9, 0x07fefafa, 0x07fefafb, 0x07fefafc, 0x07fefafd, 0x07fefafe, 0x07fefaff, +0x07fefb00, 0x07fefb01, 0x07fefb02, 0x07fefb03, 0x07fefb04, 0x07fefb05, 0x07fefb06, 0x07fefb07, +0x07fefbf8, 0x07fefbf9, 0x07fefbfa, 0x07fefbfb, 0x07fefbfc, 0x07fefbfd, 0x07fefbfe, 0x07fefbff, +0x07fefc00, 0x07fefc01, 0x07fefc02, 0x07fefc03, 0x07fefc04, 0x07fefc05, 0x07fefc06, 0x07fefc07, +0x07fefcf8, 0x07fefcf9, 0x07fefcfa, 0x07fefcfb, 0x07fefcfc, 0x07fefcfd, 0x07fefcfe, 0x07fefcff, +0x07fefd00, 0x07fefd01, 0x07fefd02, 0x07fefd03, 0x07fefd04, 0x07fefd05, 0x07fefd06, 0x07fefd07, +0x07fefdf8, 0x07fefdf9, 0x07fefdfa, 0x07fefdfb, 0x07fefdfc, 0x07fefdfd, 0x07fefdfe, 0x07fefdff, +0x07fefe00, 0x07fefe01, 0x07fefe02, 0x07fefe03, 0x07fefe04, 0x07fefe05, 0x07fefe06, 0x07fefe07, +0x07fefef8, 0x07fefef9, 0x07fefefa, 0x07fefefb, 0x07fefefc, 0x07fefefd, 0x07fefefe, 0x07fefeff, +0x07feff00, 0x07feff01, 0x07feff02, 0x07feff03, 0x07feff04, 0x07feff05, 0x07feff06, 0x07feff07, +0x07fefff8, 0x07fefff9, 0x07fefffa, 0x07fefffb, 0x07fefffc, 0x07fefffd, 0x07fefffe, 0x07feffff, +0x07ff0000, 0x07ff0001, 0x07ff0002, 0x07ff0003, 0x07ff0004, 0x07ff0005, 0x07ff0006, 0x07ff0007, +0x07ff00f8, 0x07ff00f9, 0x07ff00fa, 0x07ff00fb, 0x07ff00fc, 0x07ff00fd, 0x07ff00fe, 0x07ff00ff, +0x07ff0100, 0x07ff0101, 0x07ff0102, 0x07ff0103, 0x07ff0104, 0x07ff0105, 0x07ff0106, 0x07ff0107, +0x07ff01f8, 0x07ff01f9, 0x07ff01fa, 0x07ff01fb, 0x07ff01fc, 0x07ff01fd, 0x07ff01fe, 0x07ff01ff, +0x07ff0200, 0x07ff0201, 0x07ff0202, 0x07ff0203, 0x07ff0204, 0x07ff0205, 0x07ff0206, 0x07ff0207, +0x07ff02f8, 0x07ff02f9, 0x07ff02fa, 0x07ff02fb, 0x07ff02fc, 0x07ff02fd, 0x07ff02fe, 0x07ff02ff, +0x07ff0300, 0x07ff0301, 0x07ff0302, 0x07ff0303, 0x07ff0304, 0x07ff0305, 0x07ff0306, 0x07ff0307, +0x07ff03f8, 0x07ff03f9, 0x07ff03fa, 0x07ff03fb, 0x07ff03fc, 0x07ff03fd, 0x07ff03fe, 0x07ff03ff, +0x07ff0400, 0x07ff0401, 0x07ff0402, 0x07ff0403, 0x07ff0404, 0x07ff0405, 0x07ff0406, 0x07ff0407, +0x07ff04f8, 0x07ff04f9, 0x07ff04fa, 0x07ff04fb, 0x07ff04fc, 0x07ff04fd, 0x07ff04fe, 0x07ff04ff, +0x07ff0500, 0x07ff0501, 0x07ff0502, 0x07ff0503, 0x07ff0504, 0x07ff0505, 0x07ff0506, 0x07ff0507, +0x07ff05f8, 0x07ff05f9, 0x07ff05fa, 0x07ff05fb, 0x07ff05fc, 0x07ff05fd, 0x07ff05fe, 0x07ff05ff, +0x07ff0600, 0x07ff0601, 0x07ff0602, 0x07ff0603, 0x07ff0604, 0x07ff0605, 0x07ff0606, 0x07ff0607, +0x07ff06f8, 0x07ff06f9, 0x07ff06fa, 0x07ff06fb, 0x07ff06fc, 0x07ff06fd, 0x07ff06fe, 0x07ff06ff, +0x07ff0700, 0x07ff0701, 0x07ff0702, 0x07ff0703, 0x07ff0704, 0x07ff0705, 0x07ff0706, 0x07ff0707, +0x07ff07f8, 0x07ff07f9, 0x07ff07fa, 0x07ff07fb, 0x07ff07fc, 0x07ff07fd, 0x07ff07fe, 0x07ff07ff, +0x07fff800, 0x07fff801, 0x07fff802, 0x07fff803, 0x07fff804, 0x07fff805, 0x07fff806, 0x07fff807, +0x07fff8f8, 0x07fff8f9, 0x07fff8fa, 0x07fff8fb, 0x07fff8fc, 0x07fff8fd, 0x07fff8fe, 0x07fff8ff, +0x07fff900, 0x07fff901, 0x07fff902, 0x07fff903, 0x07fff904, 0x07fff905, 0x07fff906, 0x07fff907, +0x07fff9f8, 0x07fff9f9, 0x07fff9fa, 0x07fff9fb, 0x07fff9fc, 0x07fff9fd, 0x07fff9fe, 0x07fff9ff, +0x07fffa00, 0x07fffa01, 0x07fffa02, 0x07fffa03, 0x07fffa04, 0x07fffa05, 0x07fffa06, 0x07fffa07, +0x07fffaf8, 0x07fffaf9, 0x07fffafa, 0x07fffafb, 0x07fffafc, 0x07fffafd, 0x07fffafe, 0x07fffaff, +0x07fffb00, 0x07fffb01, 0x07fffb02, 0x07fffb03, 0x07fffb04, 0x07fffb05, 0x07fffb06, 0x07fffb07, +0x07fffbf8, 0x07fffbf9, 0x07fffbfa, 0x07fffbfb, 0x07fffbfc, 0x07fffbfd, 0x07fffbfe, 0x07fffbff, +0x07fffc00, 0x07fffc01, 0x07fffc02, 0x07fffc03, 0x07fffc04, 0x07fffc05, 0x07fffc06, 0x07fffc07, +0x07fffcf8, 0x07fffcf9, 0x07fffcfa, 0x07fffcfb, 0x07fffcfc, 0x07fffcfd, 0x07fffcfe, 0x07fffcff, +0x07fffd00, 0x07fffd01, 0x07fffd02, 0x07fffd03, 0x07fffd04, 0x07fffd05, 0x07fffd06, 0x07fffd07, +0x07fffdf8, 0x07fffdf9, 0x07fffdfa, 0x07fffdfb, 0x07fffdfc, 0x07fffdfd, 0x07fffdfe, 0x07fffdff, +0x07fffe00, 0x07fffe01, 0x07fffe02, 0x07fffe03, 0x07fffe04, 0x07fffe05, 0x07fffe06, 0x07fffe07, +0x07fffef8, 0x07fffef9, 0x07fffefa, 0x07fffefb, 0x07fffefc, 0x07fffefd, 0x07fffefe, 0x07fffeff, +0x07ffff00, 0x07ffff01, 0x07ffff02, 0x07ffff03, 0x07ffff04, 0x07ffff05, 0x07ffff06, 0x07ffff07, +0x07fffff8, 0x07fffff9, 0x07fffffa, 0x07fffffb, 0x07fffffc, 0x07fffffd, 0x07fffffe, 0x07ffffff, +0xf8000000, 0xf8000001, 0xf8000002, 0xf8000003, 0xf8000004, 0xf8000005, 0xf8000006, 0xf8000007, +0xf80000f8, 0xf80000f9, 0xf80000fa, 0xf80000fb, 0xf80000fc, 0xf80000fd, 0xf80000fe, 0xf80000ff, +0xf8000100, 0xf8000101, 0xf8000102, 0xf8000103, 0xf8000104, 0xf8000105, 0xf8000106, 0xf8000107, +0xf80001f8, 0xf80001f9, 0xf80001fa, 0xf80001fb, 0xf80001fc, 0xf80001fd, 0xf80001fe, 0xf80001ff, +0xf8000200, 0xf8000201, 0xf8000202, 0xf8000203, 0xf8000204, 0xf8000205, 0xf8000206, 0xf8000207, +0xf80002f8, 0xf80002f9, 0xf80002fa, 0xf80002fb, 0xf80002fc, 0xf80002fd, 0xf80002fe, 0xf80002ff, +0xf8000300, 0xf8000301, 0xf8000302, 0xf8000303, 0xf8000304, 0xf8000305, 0xf8000306, 0xf8000307, +0xf80003f8, 0xf80003f9, 0xf80003fa, 0xf80003fb, 0xf80003fc, 0xf80003fd, 0xf80003fe, 0xf80003ff, +0xf8000400, 0xf8000401, 0xf8000402, 0xf8000403, 0xf8000404, 0xf8000405, 0xf8000406, 0xf8000407, +0xf80004f8, 0xf80004f9, 0xf80004fa, 0xf80004fb, 0xf80004fc, 0xf80004fd, 0xf80004fe, 0xf80004ff, +0xf8000500, 0xf8000501, 0xf8000502, 0xf8000503, 0xf8000504, 0xf8000505, 0xf8000506, 0xf8000507, +0xf80005f8, 0xf80005f9, 0xf80005fa, 0xf80005fb, 0xf80005fc, 0xf80005fd, 0xf80005fe, 0xf80005ff, +0xf8000600, 0xf8000601, 0xf8000602, 0xf8000603, 0xf8000604, 0xf8000605, 0xf8000606, 0xf8000607, +0xf80006f8, 0xf80006f9, 0xf80006fa, 0xf80006fb, 0xf80006fc, 0xf80006fd, 0xf80006fe, 0xf80006ff, +0xf8000700, 0xf8000701, 0xf8000702, 0xf8000703, 0xf8000704, 0xf8000705, 0xf8000706, 0xf8000707, +0xf80007f8, 0xf80007f9, 0xf80007fa, 0xf80007fb, 0xf80007fc, 0xf80007fd, 0xf80007fe, 0xf80007ff, +0xf800f800, 0xf800f801, 0xf800f802, 0xf800f803, 0xf800f804, 0xf800f805, 0xf800f806, 0xf800f807, +0xf800f8f8, 0xf800f8f9, 0xf800f8fa, 0xf800f8fb, 0xf800f8fc, 0xf800f8fd, 0xf800f8fe, 0xf800f8ff, +0xf800f900, 0xf800f901, 0xf800f902, 0xf800f903, 0xf800f904, 0xf800f905, 0xf800f906, 0xf800f907, +0xf800f9f8, 0xf800f9f9, 0xf800f9fa, 0xf800f9fb, 0xf800f9fc, 0xf800f9fd, 0xf800f9fe, 0xf800f9ff, +0xf800fa00, 0xf800fa01, 0xf800fa02, 0xf800fa03, 0xf800fa04, 0xf800fa05, 0xf800fa06, 0xf800fa07, +0xf800faf8, 0xf800faf9, 0xf800fafa, 0xf800fafb, 0xf800fafc, 0xf800fafd, 0xf800fafe, 0xf800faff, +0xf800fb00, 0xf800fb01, 0xf800fb02, 0xf800fb03, 0xf800fb04, 0xf800fb05, 0xf800fb06, 0xf800fb07, +0xf800fbf8, 0xf800fbf9, 0xf800fbfa, 0xf800fbfb, 0xf800fbfc, 0xf800fbfd, 0xf800fbfe, 0xf800fbff, +0xf800fc00, 0xf800fc01, 0xf800fc02, 0xf800fc03, 0xf800fc04, 0xf800fc05, 0xf800fc06, 0xf800fc07, +0xf800fcf8, 0xf800fcf9, 0xf800fcfa, 0xf800fcfb, 0xf800fcfc, 0xf800fcfd, 0xf800fcfe, 0xf800fcff, +0xf800fd00, 0xf800fd01, 0xf800fd02, 0xf800fd03, 0xf800fd04, 0xf800fd05, 0xf800fd06, 0xf800fd07, +0xf800fdf8, 0xf800fdf9, 0xf800fdfa, 0xf800fdfb, 0xf800fdfc, 0xf800fdfd, 0xf800fdfe, 0xf800fdff, +0xf800fe00, 0xf800fe01, 0xf800fe02, 0xf800fe03, 0xf800fe04, 0xf800fe05, 0xf800fe06, 0xf800fe07, +0xf800fef8, 0xf800fef9, 0xf800fefa, 0xf800fefb, 0xf800fefc, 0xf800fefd, 0xf800fefe, 0xf800feff, +0xf800ff00, 0xf800ff01, 0xf800ff02, 0xf800ff03, 0xf800ff04, 0xf800ff05, 0xf800ff06, 0xf800ff07, +0xf800fff8, 0xf800fff9, 0xf800fffa, 0xf800fffb, 0xf800fffc, 0xf800fffd, 0xf800fffe, 0xf800ffff, +0xf8010000, 0xf8010001, 0xf8010002, 0xf8010003, 0xf8010004, 0xf8010005, 0xf8010006, 0xf8010007, +0xf80100f8, 0xf80100f9, 0xf80100fa, 0xf80100fb, 0xf80100fc, 0xf80100fd, 0xf80100fe, 0xf80100ff, +0xf8010100, 0xf8010101, 0xf8010102, 0xf8010103, 0xf8010104, 0xf8010105, 0xf8010106, 0xf8010107, +0xf80101f8, 0xf80101f9, 0xf80101fa, 0xf80101fb, 0xf80101fc, 0xf80101fd, 0xf80101fe, 0xf80101ff, +0xf8010200, 0xf8010201, 0xf8010202, 0xf8010203, 0xf8010204, 0xf8010205, 0xf8010206, 0xf8010207, +0xf80102f8, 0xf80102f9, 0xf80102fa, 0xf80102fb, 0xf80102fc, 0xf80102fd, 0xf80102fe, 0xf80102ff, +0xf8010300, 0xf8010301, 0xf8010302, 0xf8010303, 0xf8010304, 0xf8010305, 0xf8010306, 0xf8010307, +0xf80103f8, 0xf80103f9, 0xf80103fa, 0xf80103fb, 0xf80103fc, 0xf80103fd, 0xf80103fe, 0xf80103ff, +0xf8010400, 0xf8010401, 0xf8010402, 0xf8010403, 0xf8010404, 0xf8010405, 0xf8010406, 0xf8010407, +0xf80104f8, 0xf80104f9, 0xf80104fa, 0xf80104fb, 0xf80104fc, 0xf80104fd, 0xf80104fe, 0xf80104ff, +0xf8010500, 0xf8010501, 0xf8010502, 0xf8010503, 0xf8010504, 0xf8010505, 0xf8010506, 0xf8010507, +0xf80105f8, 0xf80105f9, 0xf80105fa, 0xf80105fb, 0xf80105fc, 0xf80105fd, 0xf80105fe, 0xf80105ff, +0xf8010600, 0xf8010601, 0xf8010602, 0xf8010603, 0xf8010604, 0xf8010605, 0xf8010606, 0xf8010607, +0xf80106f8, 0xf80106f9, 0xf80106fa, 0xf80106fb, 0xf80106fc, 0xf80106fd, 0xf80106fe, 0xf80106ff, +0xf8010700, 0xf8010701, 0xf8010702, 0xf8010703, 0xf8010704, 0xf8010705, 0xf8010706, 0xf8010707, +0xf80107f8, 0xf80107f9, 0xf80107fa, 0xf80107fb, 0xf80107fc, 0xf80107fd, 0xf80107fe, 0xf80107ff, +0xf801f800, 0xf801f801, 0xf801f802, 0xf801f803, 0xf801f804, 0xf801f805, 0xf801f806, 0xf801f807, +0xf801f8f8, 0xf801f8f9, 0xf801f8fa, 0xf801f8fb, 0xf801f8fc, 0xf801f8fd, 0xf801f8fe, 0xf801f8ff, +0xf801f900, 0xf801f901, 0xf801f902, 0xf801f903, 0xf801f904, 0xf801f905, 0xf801f906, 0xf801f907, +0xf801f9f8, 0xf801f9f9, 0xf801f9fa, 0xf801f9fb, 0xf801f9fc, 0xf801f9fd, 0xf801f9fe, 0xf801f9ff, +0xf801fa00, 0xf801fa01, 0xf801fa02, 0xf801fa03, 0xf801fa04, 0xf801fa05, 0xf801fa06, 0xf801fa07, +0xf801faf8, 0xf801faf9, 0xf801fafa, 0xf801fafb, 0xf801fafc, 0xf801fafd, 0xf801fafe, 0xf801faff, +0xf801fb00, 0xf801fb01, 0xf801fb02, 0xf801fb03, 0xf801fb04, 0xf801fb05, 0xf801fb06, 0xf801fb07, +0xf801fbf8, 0xf801fbf9, 0xf801fbfa, 0xf801fbfb, 0xf801fbfc, 0xf801fbfd, 0xf801fbfe, 0xf801fbff, +0xf801fc00, 0xf801fc01, 0xf801fc02, 0xf801fc03, 0xf801fc04, 0xf801fc05, 0xf801fc06, 0xf801fc07, +0xf801fcf8, 0xf801fcf9, 0xf801fcfa, 0xf801fcfb, 0xf801fcfc, 0xf801fcfd, 0xf801fcfe, 0xf801fcff, +0xf801fd00, 0xf801fd01, 0xf801fd02, 0xf801fd03, 0xf801fd04, 0xf801fd05, 0xf801fd06, 0xf801fd07, +0xf801fdf8, 0xf801fdf9, 0xf801fdfa, 0xf801fdfb, 0xf801fdfc, 0xf801fdfd, 0xf801fdfe, 0xf801fdff, +0xf801fe00, 0xf801fe01, 0xf801fe02, 0xf801fe03, 0xf801fe04, 0xf801fe05, 0xf801fe06, 0xf801fe07, +0xf801fef8, 0xf801fef9, 0xf801fefa, 0xf801fefb, 0xf801fefc, 0xf801fefd, 0xf801fefe, 0xf801feff, +0xf801ff00, 0xf801ff01, 0xf801ff02, 0xf801ff03, 0xf801ff04, 0xf801ff05, 0xf801ff06, 0xf801ff07, +0xf801fff8, 0xf801fff9, 0xf801fffa, 0xf801fffb, 0xf801fffc, 0xf801fffd, 0xf801fffe, 0xf801ffff, +0xf8020000, 0xf8020001, 0xf8020002, 0xf8020003, 0xf8020004, 0xf8020005, 0xf8020006, 0xf8020007, +0xf80200f8, 0xf80200f9, 0xf80200fa, 0xf80200fb, 0xf80200fc, 0xf80200fd, 0xf80200fe, 0xf80200ff, +0xf8020100, 0xf8020101, 0xf8020102, 0xf8020103, 0xf8020104, 0xf8020105, 0xf8020106, 0xf8020107, +0xf80201f8, 0xf80201f9, 0xf80201fa, 0xf80201fb, 0xf80201fc, 0xf80201fd, 0xf80201fe, 0xf80201ff, +0xf8020200, 0xf8020201, 0xf8020202, 0xf8020203, 0xf8020204, 0xf8020205, 0xf8020206, 0xf8020207, +0xf80202f8, 0xf80202f9, 0xf80202fa, 0xf80202fb, 0xf80202fc, 0xf80202fd, 0xf80202fe, 0xf80202ff, +0xf8020300, 0xf8020301, 0xf8020302, 0xf8020303, 0xf8020304, 0xf8020305, 0xf8020306, 0xf8020307, +0xf80203f8, 0xf80203f9, 0xf80203fa, 0xf80203fb, 0xf80203fc, 0xf80203fd, 0xf80203fe, 0xf80203ff, +0xf8020400, 0xf8020401, 0xf8020402, 0xf8020403, 0xf8020404, 0xf8020405, 0xf8020406, 0xf8020407, +0xf80204f8, 0xf80204f9, 0xf80204fa, 0xf80204fb, 0xf80204fc, 0xf80204fd, 0xf80204fe, 0xf80204ff, +0xf8020500, 0xf8020501, 0xf8020502, 0xf8020503, 0xf8020504, 0xf8020505, 0xf8020506, 0xf8020507, +0xf80205f8, 0xf80205f9, 0xf80205fa, 0xf80205fb, 0xf80205fc, 0xf80205fd, 0xf80205fe, 0xf80205ff, +0xf8020600, 0xf8020601, 0xf8020602, 0xf8020603, 0xf8020604, 0xf8020605, 0xf8020606, 0xf8020607, +0xf80206f8, 0xf80206f9, 0xf80206fa, 0xf80206fb, 0xf80206fc, 0xf80206fd, 0xf80206fe, 0xf80206ff, +0xf8020700, 0xf8020701, 0xf8020702, 0xf8020703, 0xf8020704, 0xf8020705, 0xf8020706, 0xf8020707, +0xf80207f8, 0xf80207f9, 0xf80207fa, 0xf80207fb, 0xf80207fc, 0xf80207fd, 0xf80207fe, 0xf80207ff, +0xf802f800, 0xf802f801, 0xf802f802, 0xf802f803, 0xf802f804, 0xf802f805, 0xf802f806, 0xf802f807, +0xf802f8f8, 0xf802f8f9, 0xf802f8fa, 0xf802f8fb, 0xf802f8fc, 0xf802f8fd, 0xf802f8fe, 0xf802f8ff, +0xf802f900, 0xf802f901, 0xf802f902, 0xf802f903, 0xf802f904, 0xf802f905, 0xf802f906, 0xf802f907, +0xf802f9f8, 0xf802f9f9, 0xf802f9fa, 0xf802f9fb, 0xf802f9fc, 0xf802f9fd, 0xf802f9fe, 0xf802f9ff, +0xf802fa00, 0xf802fa01, 0xf802fa02, 0xf802fa03, 0xf802fa04, 0xf802fa05, 0xf802fa06, 0xf802fa07, +0xf802faf8, 0xf802faf9, 0xf802fafa, 0xf802fafb, 0xf802fafc, 0xf802fafd, 0xf802fafe, 0xf802faff, +0xf802fb00, 0xf802fb01, 0xf802fb02, 0xf802fb03, 0xf802fb04, 0xf802fb05, 0xf802fb06, 0xf802fb07, +0xf802fbf8, 0xf802fbf9, 0xf802fbfa, 0xf802fbfb, 0xf802fbfc, 0xf802fbfd, 0xf802fbfe, 0xf802fbff, +0xf802fc00, 0xf802fc01, 0xf802fc02, 0xf802fc03, 0xf802fc04, 0xf802fc05, 0xf802fc06, 0xf802fc07, +0xf802fcf8, 0xf802fcf9, 0xf802fcfa, 0xf802fcfb, 0xf802fcfc, 0xf802fcfd, 0xf802fcfe, 0xf802fcff, +0xf802fd00, 0xf802fd01, 0xf802fd02, 0xf802fd03, 0xf802fd04, 0xf802fd05, 0xf802fd06, 0xf802fd07, +0xf802fdf8, 0xf802fdf9, 0xf802fdfa, 0xf802fdfb, 0xf802fdfc, 0xf802fdfd, 0xf802fdfe, 0xf802fdff, +0xf802fe00, 0xf802fe01, 0xf802fe02, 0xf802fe03, 0xf802fe04, 0xf802fe05, 0xf802fe06, 0xf802fe07, +0xf802fef8, 0xf802fef9, 0xf802fefa, 0xf802fefb, 0xf802fefc, 0xf802fefd, 0xf802fefe, 0xf802feff, +0xf802ff00, 0xf802ff01, 0xf802ff02, 0xf802ff03, 0xf802ff04, 0xf802ff05, 0xf802ff06, 0xf802ff07, +0xf802fff8, 0xf802fff9, 0xf802fffa, 0xf802fffb, 0xf802fffc, 0xf802fffd, 0xf802fffe, 0xf802ffff, +0xf8030000, 0xf8030001, 0xf8030002, 0xf8030003, 0xf8030004, 0xf8030005, 0xf8030006, 0xf8030007, +0xf80300f8, 0xf80300f9, 0xf80300fa, 0xf80300fb, 0xf80300fc, 0xf80300fd, 0xf80300fe, 0xf80300ff, +0xf8030100, 0xf8030101, 0xf8030102, 0xf8030103, 0xf8030104, 0xf8030105, 0xf8030106, 0xf8030107, +0xf80301f8, 0xf80301f9, 0xf80301fa, 0xf80301fb, 0xf80301fc, 0xf80301fd, 0xf80301fe, 0xf80301ff, +0xf8030200, 0xf8030201, 0xf8030202, 0xf8030203, 0xf8030204, 0xf8030205, 0xf8030206, 0xf8030207, +0xf80302f8, 0xf80302f9, 0xf80302fa, 0xf80302fb, 0xf80302fc, 0xf80302fd, 0xf80302fe, 0xf80302ff, +0xf8030300, 0xf8030301, 0xf8030302, 0xf8030303, 0xf8030304, 0xf8030305, 0xf8030306, 0xf8030307, +0xf80303f8, 0xf80303f9, 0xf80303fa, 0xf80303fb, 0xf80303fc, 0xf80303fd, 0xf80303fe, 0xf80303ff, +0xf8030400, 0xf8030401, 0xf8030402, 0xf8030403, 0xf8030404, 0xf8030405, 0xf8030406, 0xf8030407, +0xf80304f8, 0xf80304f9, 0xf80304fa, 0xf80304fb, 0xf80304fc, 0xf80304fd, 0xf80304fe, 0xf80304ff, +0xf8030500, 0xf8030501, 0xf8030502, 0xf8030503, 0xf8030504, 0xf8030505, 0xf8030506, 0xf8030507, +0xf80305f8, 0xf80305f9, 0xf80305fa, 0xf80305fb, 0xf80305fc, 0xf80305fd, 0xf80305fe, 0xf80305ff, +0xf8030600, 0xf8030601, 0xf8030602, 0xf8030603, 0xf8030604, 0xf8030605, 0xf8030606, 0xf8030607, +0xf80306f8, 0xf80306f9, 0xf80306fa, 0xf80306fb, 0xf80306fc, 0xf80306fd, 0xf80306fe, 0xf80306ff, +0xf8030700, 0xf8030701, 0xf8030702, 0xf8030703, 0xf8030704, 0xf8030705, 0xf8030706, 0xf8030707, +0xf80307f8, 0xf80307f9, 0xf80307fa, 0xf80307fb, 0xf80307fc, 0xf80307fd, 0xf80307fe, 0xf80307ff, +0xf803f800, 0xf803f801, 0xf803f802, 0xf803f803, 0xf803f804, 0xf803f805, 0xf803f806, 0xf803f807, +0xf803f8f8, 0xf803f8f9, 0xf803f8fa, 0xf803f8fb, 0xf803f8fc, 0xf803f8fd, 0xf803f8fe, 0xf803f8ff, +0xf803f900, 0xf803f901, 0xf803f902, 0xf803f903, 0xf803f904, 0xf803f905, 0xf803f906, 0xf803f907, +0xf803f9f8, 0xf803f9f9, 0xf803f9fa, 0xf803f9fb, 0xf803f9fc, 0xf803f9fd, 0xf803f9fe, 0xf803f9ff, +0xf803fa00, 0xf803fa01, 0xf803fa02, 0xf803fa03, 0xf803fa04, 0xf803fa05, 0xf803fa06, 0xf803fa07, +0xf803faf8, 0xf803faf9, 0xf803fafa, 0xf803fafb, 0xf803fafc, 0xf803fafd, 0xf803fafe, 0xf803faff, +0xf803fb00, 0xf803fb01, 0xf803fb02, 0xf803fb03, 0xf803fb04, 0xf803fb05, 0xf803fb06, 0xf803fb07, +0xf803fbf8, 0xf803fbf9, 0xf803fbfa, 0xf803fbfb, 0xf803fbfc, 0xf803fbfd, 0xf803fbfe, 0xf803fbff, +0xf803fc00, 0xf803fc01, 0xf803fc02, 0xf803fc03, 0xf803fc04, 0xf803fc05, 0xf803fc06, 0xf803fc07, +0xf803fcf8, 0xf803fcf9, 0xf803fcfa, 0xf803fcfb, 0xf803fcfc, 0xf803fcfd, 0xf803fcfe, 0xf803fcff, +0xf803fd00, 0xf803fd01, 0xf803fd02, 0xf803fd03, 0xf803fd04, 0xf803fd05, 0xf803fd06, 0xf803fd07, +0xf803fdf8, 0xf803fdf9, 0xf803fdfa, 0xf803fdfb, 0xf803fdfc, 0xf803fdfd, 0xf803fdfe, 0xf803fdff, +0xf803fe00, 0xf803fe01, 0xf803fe02, 0xf803fe03, 0xf803fe04, 0xf803fe05, 0xf803fe06, 0xf803fe07, +0xf803fef8, 0xf803fef9, 0xf803fefa, 0xf803fefb, 0xf803fefc, 0xf803fefd, 0xf803fefe, 0xf803feff, +0xf803ff00, 0xf803ff01, 0xf803ff02, 0xf803ff03, 0xf803ff04, 0xf803ff05, 0xf803ff06, 0xf803ff07, +0xf803fff8, 0xf803fff9, 0xf803fffa, 0xf803fffb, 0xf803fffc, 0xf803fffd, 0xf803fffe, 0xf803ffff, +0xf8040000, 0xf8040001, 0xf8040002, 0xf8040003, 0xf8040004, 0xf8040005, 0xf8040006, 0xf8040007, +0xf80400f8, 0xf80400f9, 0xf80400fa, 0xf80400fb, 0xf80400fc, 0xf80400fd, 0xf80400fe, 0xf80400ff, +0xf8040100, 0xf8040101, 0xf8040102, 0xf8040103, 0xf8040104, 0xf8040105, 0xf8040106, 0xf8040107, +0xf80401f8, 0xf80401f9, 0xf80401fa, 0xf80401fb, 0xf80401fc, 0xf80401fd, 0xf80401fe, 0xf80401ff, +0xf8040200, 0xf8040201, 0xf8040202, 0xf8040203, 0xf8040204, 0xf8040205, 0xf8040206, 0xf8040207, +0xf80402f8, 0xf80402f9, 0xf80402fa, 0xf80402fb, 0xf80402fc, 0xf80402fd, 0xf80402fe, 0xf80402ff, +0xf8040300, 0xf8040301, 0xf8040302, 0xf8040303, 0xf8040304, 0xf8040305, 0xf8040306, 0xf8040307, +0xf80403f8, 0xf80403f9, 0xf80403fa, 0xf80403fb, 0xf80403fc, 0xf80403fd, 0xf80403fe, 0xf80403ff, +0xf8040400, 0xf8040401, 0xf8040402, 0xf8040403, 0xf8040404, 0xf8040405, 0xf8040406, 0xf8040407, +0xf80404f8, 0xf80404f9, 0xf80404fa, 0xf80404fb, 0xf80404fc, 0xf80404fd, 0xf80404fe, 0xf80404ff, +0xf8040500, 0xf8040501, 0xf8040502, 0xf8040503, 0xf8040504, 0xf8040505, 0xf8040506, 0xf8040507, +0xf80405f8, 0xf80405f9, 0xf80405fa, 0xf80405fb, 0xf80405fc, 0xf80405fd, 0xf80405fe, 0xf80405ff, +0xf8040600, 0xf8040601, 0xf8040602, 0xf8040603, 0xf8040604, 0xf8040605, 0xf8040606, 0xf8040607, +0xf80406f8, 0xf80406f9, 0xf80406fa, 0xf80406fb, 0xf80406fc, 0xf80406fd, 0xf80406fe, 0xf80406ff, +0xf8040700, 0xf8040701, 0xf8040702, 0xf8040703, 0xf8040704, 0xf8040705, 0xf8040706, 0xf8040707, +0xf80407f8, 0xf80407f9, 0xf80407fa, 0xf80407fb, 0xf80407fc, 0xf80407fd, 0xf80407fe, 0xf80407ff, +0xf804f800, 0xf804f801, 0xf804f802, 0xf804f803, 0xf804f804, 0xf804f805, 0xf804f806, 0xf804f807, +0xf804f8f8, 0xf804f8f9, 0xf804f8fa, 0xf804f8fb, 0xf804f8fc, 0xf804f8fd, 0xf804f8fe, 0xf804f8ff, +0xf804f900, 0xf804f901, 0xf804f902, 0xf804f903, 0xf804f904, 0xf804f905, 0xf804f906, 0xf804f907, +0xf804f9f8, 0xf804f9f9, 0xf804f9fa, 0xf804f9fb, 0xf804f9fc, 0xf804f9fd, 0xf804f9fe, 0xf804f9ff, +0xf804fa00, 0xf804fa01, 0xf804fa02, 0xf804fa03, 0xf804fa04, 0xf804fa05, 0xf804fa06, 0xf804fa07, +0xf804faf8, 0xf804faf9, 0xf804fafa, 0xf804fafb, 0xf804fafc, 0xf804fafd, 0xf804fafe, 0xf804faff, +0xf804fb00, 0xf804fb01, 0xf804fb02, 0xf804fb03, 0xf804fb04, 0xf804fb05, 0xf804fb06, 0xf804fb07, +0xf804fbf8, 0xf804fbf9, 0xf804fbfa, 0xf804fbfb, 0xf804fbfc, 0xf804fbfd, 0xf804fbfe, 0xf804fbff, +0xf804fc00, 0xf804fc01, 0xf804fc02, 0xf804fc03, 0xf804fc04, 0xf804fc05, 0xf804fc06, 0xf804fc07, +0xf804fcf8, 0xf804fcf9, 0xf804fcfa, 0xf804fcfb, 0xf804fcfc, 0xf804fcfd, 0xf804fcfe, 0xf804fcff, +0xf804fd00, 0xf804fd01, 0xf804fd02, 0xf804fd03, 0xf804fd04, 0xf804fd05, 0xf804fd06, 0xf804fd07, +0xf804fdf8, 0xf804fdf9, 0xf804fdfa, 0xf804fdfb, 0xf804fdfc, 0xf804fdfd, 0xf804fdfe, 0xf804fdff, +0xf804fe00, 0xf804fe01, 0xf804fe02, 0xf804fe03, 0xf804fe04, 0xf804fe05, 0xf804fe06, 0xf804fe07, +0xf804fef8, 0xf804fef9, 0xf804fefa, 0xf804fefb, 0xf804fefc, 0xf804fefd, 0xf804fefe, 0xf804feff, +0xf804ff00, 0xf804ff01, 0xf804ff02, 0xf804ff03, 0xf804ff04, 0xf804ff05, 0xf804ff06, 0xf804ff07, +0xf804fff8, 0xf804fff9, 0xf804fffa, 0xf804fffb, 0xf804fffc, 0xf804fffd, 0xf804fffe, 0xf804ffff, +0xf8050000, 0xf8050001, 0xf8050002, 0xf8050003, 0xf8050004, 0xf8050005, 0xf8050006, 0xf8050007, +0xf80500f8, 0xf80500f9, 0xf80500fa, 0xf80500fb, 0xf80500fc, 0xf80500fd, 0xf80500fe, 0xf80500ff, +0xf8050100, 0xf8050101, 0xf8050102, 0xf8050103, 0xf8050104, 0xf8050105, 0xf8050106, 0xf8050107, +0xf80501f8, 0xf80501f9, 0xf80501fa, 0xf80501fb, 0xf80501fc, 0xf80501fd, 0xf80501fe, 0xf80501ff, +0xf8050200, 0xf8050201, 0xf8050202, 0xf8050203, 0xf8050204, 0xf8050205, 0xf8050206, 0xf8050207, +0xf80502f8, 0xf80502f9, 0xf80502fa, 0xf80502fb, 0xf80502fc, 0xf80502fd, 0xf80502fe, 0xf80502ff, +0xf8050300, 0xf8050301, 0xf8050302, 0xf8050303, 0xf8050304, 0xf8050305, 0xf8050306, 0xf8050307, +0xf80503f8, 0xf80503f9, 0xf80503fa, 0xf80503fb, 0xf80503fc, 0xf80503fd, 0xf80503fe, 0xf80503ff, +0xf8050400, 0xf8050401, 0xf8050402, 0xf8050403, 0xf8050404, 0xf8050405, 0xf8050406, 0xf8050407, +0xf80504f8, 0xf80504f9, 0xf80504fa, 0xf80504fb, 0xf80504fc, 0xf80504fd, 0xf80504fe, 0xf80504ff, +0xf8050500, 0xf8050501, 0xf8050502, 0xf8050503, 0xf8050504, 0xf8050505, 0xf8050506, 0xf8050507, +0xf80505f8, 0xf80505f9, 0xf80505fa, 0xf80505fb, 0xf80505fc, 0xf80505fd, 0xf80505fe, 0xf80505ff, +0xf8050600, 0xf8050601, 0xf8050602, 0xf8050603, 0xf8050604, 0xf8050605, 0xf8050606, 0xf8050607, +0xf80506f8, 0xf80506f9, 0xf80506fa, 0xf80506fb, 0xf80506fc, 0xf80506fd, 0xf80506fe, 0xf80506ff, +0xf8050700, 0xf8050701, 0xf8050702, 0xf8050703, 0xf8050704, 0xf8050705, 0xf8050706, 0xf8050707, +0xf80507f8, 0xf80507f9, 0xf80507fa, 0xf80507fb, 0xf80507fc, 0xf80507fd, 0xf80507fe, 0xf80507ff, +0xf805f800, 0xf805f801, 0xf805f802, 0xf805f803, 0xf805f804, 0xf805f805, 0xf805f806, 0xf805f807, +0xf805f8f8, 0xf805f8f9, 0xf805f8fa, 0xf805f8fb, 0xf805f8fc, 0xf805f8fd, 0xf805f8fe, 0xf805f8ff, +0xf805f900, 0xf805f901, 0xf805f902, 0xf805f903, 0xf805f904, 0xf805f905, 0xf805f906, 0xf805f907, +0xf805f9f8, 0xf805f9f9, 0xf805f9fa, 0xf805f9fb, 0xf805f9fc, 0xf805f9fd, 0xf805f9fe, 0xf805f9ff, +0xf805fa00, 0xf805fa01, 0xf805fa02, 0xf805fa03, 0xf805fa04, 0xf805fa05, 0xf805fa06, 0xf805fa07, +0xf805faf8, 0xf805faf9, 0xf805fafa, 0xf805fafb, 0xf805fafc, 0xf805fafd, 0xf805fafe, 0xf805faff, +0xf805fb00, 0xf805fb01, 0xf805fb02, 0xf805fb03, 0xf805fb04, 0xf805fb05, 0xf805fb06, 0xf805fb07, +0xf805fbf8, 0xf805fbf9, 0xf805fbfa, 0xf805fbfb, 0xf805fbfc, 0xf805fbfd, 0xf805fbfe, 0xf805fbff, +0xf805fc00, 0xf805fc01, 0xf805fc02, 0xf805fc03, 0xf805fc04, 0xf805fc05, 0xf805fc06, 0xf805fc07, +0xf805fcf8, 0xf805fcf9, 0xf805fcfa, 0xf805fcfb, 0xf805fcfc, 0xf805fcfd, 0xf805fcfe, 0xf805fcff, +0xf805fd00, 0xf805fd01, 0xf805fd02, 0xf805fd03, 0xf805fd04, 0xf805fd05, 0xf805fd06, 0xf805fd07, +0xf805fdf8, 0xf805fdf9, 0xf805fdfa, 0xf805fdfb, 0xf805fdfc, 0xf805fdfd, 0xf805fdfe, 0xf805fdff, +0xf805fe00, 0xf805fe01, 0xf805fe02, 0xf805fe03, 0xf805fe04, 0xf805fe05, 0xf805fe06, 0xf805fe07, +0xf805fef8, 0xf805fef9, 0xf805fefa, 0xf805fefb, 0xf805fefc, 0xf805fefd, 0xf805fefe, 0xf805feff, +0xf805ff00, 0xf805ff01, 0xf805ff02, 0xf805ff03, 0xf805ff04, 0xf805ff05, 0xf805ff06, 0xf805ff07, +0xf805fff8, 0xf805fff9, 0xf805fffa, 0xf805fffb, 0xf805fffc, 0xf805fffd, 0xf805fffe, 0xf805ffff, +0xf8060000, 0xf8060001, 0xf8060002, 0xf8060003, 0xf8060004, 0xf8060005, 0xf8060006, 0xf8060007, +0xf80600f8, 0xf80600f9, 0xf80600fa, 0xf80600fb, 0xf80600fc, 0xf80600fd, 0xf80600fe, 0xf80600ff, +0xf8060100, 0xf8060101, 0xf8060102, 0xf8060103, 0xf8060104, 0xf8060105, 0xf8060106, 0xf8060107, +0xf80601f8, 0xf80601f9, 0xf80601fa, 0xf80601fb, 0xf80601fc, 0xf80601fd, 0xf80601fe, 0xf80601ff, +0xf8060200, 0xf8060201, 0xf8060202, 0xf8060203, 0xf8060204, 0xf8060205, 0xf8060206, 0xf8060207, +0xf80602f8, 0xf80602f9, 0xf80602fa, 0xf80602fb, 0xf80602fc, 0xf80602fd, 0xf80602fe, 0xf80602ff, +0xf8060300, 0xf8060301, 0xf8060302, 0xf8060303, 0xf8060304, 0xf8060305, 0xf8060306, 0xf8060307, +0xf80603f8, 0xf80603f9, 0xf80603fa, 0xf80603fb, 0xf80603fc, 0xf80603fd, 0xf80603fe, 0xf80603ff, +0xf8060400, 0xf8060401, 0xf8060402, 0xf8060403, 0xf8060404, 0xf8060405, 0xf8060406, 0xf8060407, +0xf80604f8, 0xf80604f9, 0xf80604fa, 0xf80604fb, 0xf80604fc, 0xf80604fd, 0xf80604fe, 0xf80604ff, +0xf8060500, 0xf8060501, 0xf8060502, 0xf8060503, 0xf8060504, 0xf8060505, 0xf8060506, 0xf8060507, +0xf80605f8, 0xf80605f9, 0xf80605fa, 0xf80605fb, 0xf80605fc, 0xf80605fd, 0xf80605fe, 0xf80605ff, +0xf8060600, 0xf8060601, 0xf8060602, 0xf8060603, 0xf8060604, 0xf8060605, 0xf8060606, 0xf8060607, +0xf80606f8, 0xf80606f9, 0xf80606fa, 0xf80606fb, 0xf80606fc, 0xf80606fd, 0xf80606fe, 0xf80606ff, +0xf8060700, 0xf8060701, 0xf8060702, 0xf8060703, 0xf8060704, 0xf8060705, 0xf8060706, 0xf8060707, +0xf80607f8, 0xf80607f9, 0xf80607fa, 0xf80607fb, 0xf80607fc, 0xf80607fd, 0xf80607fe, 0xf80607ff, +0xf806f800, 0xf806f801, 0xf806f802, 0xf806f803, 0xf806f804, 0xf806f805, 0xf806f806, 0xf806f807, +0xf806f8f8, 0xf806f8f9, 0xf806f8fa, 0xf806f8fb, 0xf806f8fc, 0xf806f8fd, 0xf806f8fe, 0xf806f8ff, +0xf806f900, 0xf806f901, 0xf806f902, 0xf806f903, 0xf806f904, 0xf806f905, 0xf806f906, 0xf806f907, +0xf806f9f8, 0xf806f9f9, 0xf806f9fa, 0xf806f9fb, 0xf806f9fc, 0xf806f9fd, 0xf806f9fe, 0xf806f9ff, +0xf806fa00, 0xf806fa01, 0xf806fa02, 0xf806fa03, 0xf806fa04, 0xf806fa05, 0xf806fa06, 0xf806fa07, +0xf806faf8, 0xf806faf9, 0xf806fafa, 0xf806fafb, 0xf806fafc, 0xf806fafd, 0xf806fafe, 0xf806faff, +0xf806fb00, 0xf806fb01, 0xf806fb02, 0xf806fb03, 0xf806fb04, 0xf806fb05, 0xf806fb06, 0xf806fb07, +0xf806fbf8, 0xf806fbf9, 0xf806fbfa, 0xf806fbfb, 0xf806fbfc, 0xf806fbfd, 0xf806fbfe, 0xf806fbff, +0xf806fc00, 0xf806fc01, 0xf806fc02, 0xf806fc03, 0xf806fc04, 0xf806fc05, 0xf806fc06, 0xf806fc07, +0xf806fcf8, 0xf806fcf9, 0xf806fcfa, 0xf806fcfb, 0xf806fcfc, 0xf806fcfd, 0xf806fcfe, 0xf806fcff, +0xf806fd00, 0xf806fd01, 0xf806fd02, 0xf806fd03, 0xf806fd04, 0xf806fd05, 0xf806fd06, 0xf806fd07, +0xf806fdf8, 0xf806fdf9, 0xf806fdfa, 0xf806fdfb, 0xf806fdfc, 0xf806fdfd, 0xf806fdfe, 0xf806fdff, +0xf806fe00, 0xf806fe01, 0xf806fe02, 0xf806fe03, 0xf806fe04, 0xf806fe05, 0xf806fe06, 0xf806fe07, +0xf806fef8, 0xf806fef9, 0xf806fefa, 0xf806fefb, 0xf806fefc, 0xf806fefd, 0xf806fefe, 0xf806feff, +0xf806ff00, 0xf806ff01, 0xf806ff02, 0xf806ff03, 0xf806ff04, 0xf806ff05, 0xf806ff06, 0xf806ff07, +0xf806fff8, 0xf806fff9, 0xf806fffa, 0xf806fffb, 0xf806fffc, 0xf806fffd, 0xf806fffe, 0xf806ffff, +0xf8070000, 0xf8070001, 0xf8070002, 0xf8070003, 0xf8070004, 0xf8070005, 0xf8070006, 0xf8070007, +0xf80700f8, 0xf80700f9, 0xf80700fa, 0xf80700fb, 0xf80700fc, 0xf80700fd, 0xf80700fe, 0xf80700ff, +0xf8070100, 0xf8070101, 0xf8070102, 0xf8070103, 0xf8070104, 0xf8070105, 0xf8070106, 0xf8070107, +0xf80701f8, 0xf80701f9, 0xf80701fa, 0xf80701fb, 0xf80701fc, 0xf80701fd, 0xf80701fe, 0xf80701ff, +0xf8070200, 0xf8070201, 0xf8070202, 0xf8070203, 0xf8070204, 0xf8070205, 0xf8070206, 0xf8070207, +0xf80702f8, 0xf80702f9, 0xf80702fa, 0xf80702fb, 0xf80702fc, 0xf80702fd, 0xf80702fe, 0xf80702ff, +0xf8070300, 0xf8070301, 0xf8070302, 0xf8070303, 0xf8070304, 0xf8070305, 0xf8070306, 0xf8070307, +0xf80703f8, 0xf80703f9, 0xf80703fa, 0xf80703fb, 0xf80703fc, 0xf80703fd, 0xf80703fe, 0xf80703ff, +0xf8070400, 0xf8070401, 0xf8070402, 0xf8070403, 0xf8070404, 0xf8070405, 0xf8070406, 0xf8070407, +0xf80704f8, 0xf80704f9, 0xf80704fa, 0xf80704fb, 0xf80704fc, 0xf80704fd, 0xf80704fe, 0xf80704ff, +0xf8070500, 0xf8070501, 0xf8070502, 0xf8070503, 0xf8070504, 0xf8070505, 0xf8070506, 0xf8070507, +0xf80705f8, 0xf80705f9, 0xf80705fa, 0xf80705fb, 0xf80705fc, 0xf80705fd, 0xf80705fe, 0xf80705ff, +0xf8070600, 0xf8070601, 0xf8070602, 0xf8070603, 0xf8070604, 0xf8070605, 0xf8070606, 0xf8070607, +0xf80706f8, 0xf80706f9, 0xf80706fa, 0xf80706fb, 0xf80706fc, 0xf80706fd, 0xf80706fe, 0xf80706ff, +0xf8070700, 0xf8070701, 0xf8070702, 0xf8070703, 0xf8070704, 0xf8070705, 0xf8070706, 0xf8070707, +0xf80707f8, 0xf80707f9, 0xf80707fa, 0xf80707fb, 0xf80707fc, 0xf80707fd, 0xf80707fe, 0xf80707ff, +0xf807f800, 0xf807f801, 0xf807f802, 0xf807f803, 0xf807f804, 0xf807f805, 0xf807f806, 0xf807f807, +0xf807f8f8, 0xf807f8f9, 0xf807f8fa, 0xf807f8fb, 0xf807f8fc, 0xf807f8fd, 0xf807f8fe, 0xf807f8ff, +0xf807f900, 0xf807f901, 0xf807f902, 0xf807f903, 0xf807f904, 0xf807f905, 0xf807f906, 0xf807f907, +0xf807f9f8, 0xf807f9f9, 0xf807f9fa, 0xf807f9fb, 0xf807f9fc, 0xf807f9fd, 0xf807f9fe, 0xf807f9ff, +0xf807fa00, 0xf807fa01, 0xf807fa02, 0xf807fa03, 0xf807fa04, 0xf807fa05, 0xf807fa06, 0xf807fa07, +0xf807faf8, 0xf807faf9, 0xf807fafa, 0xf807fafb, 0xf807fafc, 0xf807fafd, 0xf807fafe, 0xf807faff, +0xf807fb00, 0xf807fb01, 0xf807fb02, 0xf807fb03, 0xf807fb04, 0xf807fb05, 0xf807fb06, 0xf807fb07, +0xf807fbf8, 0xf807fbf9, 0xf807fbfa, 0xf807fbfb, 0xf807fbfc, 0xf807fbfd, 0xf807fbfe, 0xf807fbff, +0xf807fc00, 0xf807fc01, 0xf807fc02, 0xf807fc03, 0xf807fc04, 0xf807fc05, 0xf807fc06, 0xf807fc07, +0xf807fcf8, 0xf807fcf9, 0xf807fcfa, 0xf807fcfb, 0xf807fcfc, 0xf807fcfd, 0xf807fcfe, 0xf807fcff, +0xf807fd00, 0xf807fd01, 0xf807fd02, 0xf807fd03, 0xf807fd04, 0xf807fd05, 0xf807fd06, 0xf807fd07, +0xf807fdf8, 0xf807fdf9, 0xf807fdfa, 0xf807fdfb, 0xf807fdfc, 0xf807fdfd, 0xf807fdfe, 0xf807fdff, +0xf807fe00, 0xf807fe01, 0xf807fe02, 0xf807fe03, 0xf807fe04, 0xf807fe05, 0xf807fe06, 0xf807fe07, +0xf807fef8, 0xf807fef9, 0xf807fefa, 0xf807fefb, 0xf807fefc, 0xf807fefd, 0xf807fefe, 0xf807feff, +0xf807ff00, 0xf807ff01, 0xf807ff02, 0xf807ff03, 0xf807ff04, 0xf807ff05, 0xf807ff06, 0xf807ff07, +0xf807fff8, 0xf807fff9, 0xf807fffa, 0xf807fffb, 0xf807fffc, 0xf807fffd, 0xf807fffe, 0xf807ffff, +0xf8f80000, 0xf8f80001, 0xf8f80002, 0xf8f80003, 0xf8f80004, 0xf8f80005, 0xf8f80006, 0xf8f80007, +0xf8f800f8, 0xf8f800f9, 0xf8f800fa, 0xf8f800fb, 0xf8f800fc, 0xf8f800fd, 0xf8f800fe, 0xf8f800ff, +0xf8f80100, 0xf8f80101, 0xf8f80102, 0xf8f80103, 0xf8f80104, 0xf8f80105, 0xf8f80106, 0xf8f80107, +0xf8f801f8, 0xf8f801f9, 0xf8f801fa, 0xf8f801fb, 0xf8f801fc, 0xf8f801fd, 0xf8f801fe, 0xf8f801ff, +0xf8f80200, 0xf8f80201, 0xf8f80202, 0xf8f80203, 0xf8f80204, 0xf8f80205, 0xf8f80206, 0xf8f80207, +0xf8f802f8, 0xf8f802f9, 0xf8f802fa, 0xf8f802fb, 0xf8f802fc, 0xf8f802fd, 0xf8f802fe, 0xf8f802ff, +0xf8f80300, 0xf8f80301, 0xf8f80302, 0xf8f80303, 0xf8f80304, 0xf8f80305, 0xf8f80306, 0xf8f80307, +0xf8f803f8, 0xf8f803f9, 0xf8f803fa, 0xf8f803fb, 0xf8f803fc, 0xf8f803fd, 0xf8f803fe, 0xf8f803ff, +0xf8f80400, 0xf8f80401, 0xf8f80402, 0xf8f80403, 0xf8f80404, 0xf8f80405, 0xf8f80406, 0xf8f80407, +0xf8f804f8, 0xf8f804f9, 0xf8f804fa, 0xf8f804fb, 0xf8f804fc, 0xf8f804fd, 0xf8f804fe, 0xf8f804ff, +0xf8f80500, 0xf8f80501, 0xf8f80502, 0xf8f80503, 0xf8f80504, 0xf8f80505, 0xf8f80506, 0xf8f80507, +0xf8f805f8, 0xf8f805f9, 0xf8f805fa, 0xf8f805fb, 0xf8f805fc, 0xf8f805fd, 0xf8f805fe, 0xf8f805ff, +0xf8f80600, 0xf8f80601, 0xf8f80602, 0xf8f80603, 0xf8f80604, 0xf8f80605, 0xf8f80606, 0xf8f80607, +0xf8f806f8, 0xf8f806f9, 0xf8f806fa, 0xf8f806fb, 0xf8f806fc, 0xf8f806fd, 0xf8f806fe, 0xf8f806ff, +0xf8f80700, 0xf8f80701, 0xf8f80702, 0xf8f80703, 0xf8f80704, 0xf8f80705, 0xf8f80706, 0xf8f80707, +0xf8f807f8, 0xf8f807f9, 0xf8f807fa, 0xf8f807fb, 0xf8f807fc, 0xf8f807fd, 0xf8f807fe, 0xf8f807ff, +0xf8f8f800, 0xf8f8f801, 0xf8f8f802, 0xf8f8f803, 0xf8f8f804, 0xf8f8f805, 0xf8f8f806, 0xf8f8f807, +0xf8f8f8f8, 0xf8f8f8f9, 0xf8f8f8fa, 0xf8f8f8fb, 0xf8f8f8fc, 0xf8f8f8fd, 0xf8f8f8fe, 0xf8f8f8ff, +0xf8f8f900, 0xf8f8f901, 0xf8f8f902, 0xf8f8f903, 0xf8f8f904, 0xf8f8f905, 0xf8f8f906, 0xf8f8f907, +0xf8f8f9f8, 0xf8f8f9f9, 0xf8f8f9fa, 0xf8f8f9fb, 0xf8f8f9fc, 0xf8f8f9fd, 0xf8f8f9fe, 0xf8f8f9ff, +0xf8f8fa00, 0xf8f8fa01, 0xf8f8fa02, 0xf8f8fa03, 0xf8f8fa04, 0xf8f8fa05, 0xf8f8fa06, 0xf8f8fa07, +0xf8f8faf8, 0xf8f8faf9, 0xf8f8fafa, 0xf8f8fafb, 0xf8f8fafc, 0xf8f8fafd, 0xf8f8fafe, 0xf8f8faff, +0xf8f8fb00, 0xf8f8fb01, 0xf8f8fb02, 0xf8f8fb03, 0xf8f8fb04, 0xf8f8fb05, 0xf8f8fb06, 0xf8f8fb07, +0xf8f8fbf8, 0xf8f8fbf9, 0xf8f8fbfa, 0xf8f8fbfb, 0xf8f8fbfc, 0xf8f8fbfd, 0xf8f8fbfe, 0xf8f8fbff, +0xf8f8fc00, 0xf8f8fc01, 0xf8f8fc02, 0xf8f8fc03, 0xf8f8fc04, 0xf8f8fc05, 0xf8f8fc06, 0xf8f8fc07, +0xf8f8fcf8, 0xf8f8fcf9, 0xf8f8fcfa, 0xf8f8fcfb, 0xf8f8fcfc, 0xf8f8fcfd, 0xf8f8fcfe, 0xf8f8fcff, +0xf8f8fd00, 0xf8f8fd01, 0xf8f8fd02, 0xf8f8fd03, 0xf8f8fd04, 0xf8f8fd05, 0xf8f8fd06, 0xf8f8fd07, +0xf8f8fdf8, 0xf8f8fdf9, 0xf8f8fdfa, 0xf8f8fdfb, 0xf8f8fdfc, 0xf8f8fdfd, 0xf8f8fdfe, 0xf8f8fdff, +0xf8f8fe00, 0xf8f8fe01, 0xf8f8fe02, 0xf8f8fe03, 0xf8f8fe04, 0xf8f8fe05, 0xf8f8fe06, 0xf8f8fe07, +0xf8f8fef8, 0xf8f8fef9, 0xf8f8fefa, 0xf8f8fefb, 0xf8f8fefc, 0xf8f8fefd, 0xf8f8fefe, 0xf8f8feff, +0xf8f8ff00, 0xf8f8ff01, 0xf8f8ff02, 0xf8f8ff03, 0xf8f8ff04, 0xf8f8ff05, 0xf8f8ff06, 0xf8f8ff07, +0xf8f8fff8, 0xf8f8fff9, 0xf8f8fffa, 0xf8f8fffb, 0xf8f8fffc, 0xf8f8fffd, 0xf8f8fffe, 0xf8f8ffff, +0xf8f90000, 0xf8f90001, 0xf8f90002, 0xf8f90003, 0xf8f90004, 0xf8f90005, 0xf8f90006, 0xf8f90007, +0xf8f900f8, 0xf8f900f9, 0xf8f900fa, 0xf8f900fb, 0xf8f900fc, 0xf8f900fd, 0xf8f900fe, 0xf8f900ff, +0xf8f90100, 0xf8f90101, 0xf8f90102, 0xf8f90103, 0xf8f90104, 0xf8f90105, 0xf8f90106, 0xf8f90107, +0xf8f901f8, 0xf8f901f9, 0xf8f901fa, 0xf8f901fb, 0xf8f901fc, 0xf8f901fd, 0xf8f901fe, 0xf8f901ff, +0xf8f90200, 0xf8f90201, 0xf8f90202, 0xf8f90203, 0xf8f90204, 0xf8f90205, 0xf8f90206, 0xf8f90207, +0xf8f902f8, 0xf8f902f9, 0xf8f902fa, 0xf8f902fb, 0xf8f902fc, 0xf8f902fd, 0xf8f902fe, 0xf8f902ff, +0xf8f90300, 0xf8f90301, 0xf8f90302, 0xf8f90303, 0xf8f90304, 0xf8f90305, 0xf8f90306, 0xf8f90307, +0xf8f903f8, 0xf8f903f9, 0xf8f903fa, 0xf8f903fb, 0xf8f903fc, 0xf8f903fd, 0xf8f903fe, 0xf8f903ff, +0xf8f90400, 0xf8f90401, 0xf8f90402, 0xf8f90403, 0xf8f90404, 0xf8f90405, 0xf8f90406, 0xf8f90407, +0xf8f904f8, 0xf8f904f9, 0xf8f904fa, 0xf8f904fb, 0xf8f904fc, 0xf8f904fd, 0xf8f904fe, 0xf8f904ff, +0xf8f90500, 0xf8f90501, 0xf8f90502, 0xf8f90503, 0xf8f90504, 0xf8f90505, 0xf8f90506, 0xf8f90507, +0xf8f905f8, 0xf8f905f9, 0xf8f905fa, 0xf8f905fb, 0xf8f905fc, 0xf8f905fd, 0xf8f905fe, 0xf8f905ff, +0xf8f90600, 0xf8f90601, 0xf8f90602, 0xf8f90603, 0xf8f90604, 0xf8f90605, 0xf8f90606, 0xf8f90607, +0xf8f906f8, 0xf8f906f9, 0xf8f906fa, 0xf8f906fb, 0xf8f906fc, 0xf8f906fd, 0xf8f906fe, 0xf8f906ff, +0xf8f90700, 0xf8f90701, 0xf8f90702, 0xf8f90703, 0xf8f90704, 0xf8f90705, 0xf8f90706, 0xf8f90707, +0xf8f907f8, 0xf8f907f9, 0xf8f907fa, 0xf8f907fb, 0xf8f907fc, 0xf8f907fd, 0xf8f907fe, 0xf8f907ff, +0xf8f9f800, 0xf8f9f801, 0xf8f9f802, 0xf8f9f803, 0xf8f9f804, 0xf8f9f805, 0xf8f9f806, 0xf8f9f807, +0xf8f9f8f8, 0xf8f9f8f9, 0xf8f9f8fa, 0xf8f9f8fb, 0xf8f9f8fc, 0xf8f9f8fd, 0xf8f9f8fe, 0xf8f9f8ff, +0xf8f9f900, 0xf8f9f901, 0xf8f9f902, 0xf8f9f903, 0xf8f9f904, 0xf8f9f905, 0xf8f9f906, 0xf8f9f907, +0xf8f9f9f8, 0xf8f9f9f9, 0xf8f9f9fa, 0xf8f9f9fb, 0xf8f9f9fc, 0xf8f9f9fd, 0xf8f9f9fe, 0xf8f9f9ff, +0xf8f9fa00, 0xf8f9fa01, 0xf8f9fa02, 0xf8f9fa03, 0xf8f9fa04, 0xf8f9fa05, 0xf8f9fa06, 0xf8f9fa07, +0xf8f9faf8, 0xf8f9faf9, 0xf8f9fafa, 0xf8f9fafb, 0xf8f9fafc, 0xf8f9fafd, 0xf8f9fafe, 0xf8f9faff, +0xf8f9fb00, 0xf8f9fb01, 0xf8f9fb02, 0xf8f9fb03, 0xf8f9fb04, 0xf8f9fb05, 0xf8f9fb06, 0xf8f9fb07, +0xf8f9fbf8, 0xf8f9fbf9, 0xf8f9fbfa, 0xf8f9fbfb, 0xf8f9fbfc, 0xf8f9fbfd, 0xf8f9fbfe, 0xf8f9fbff, +0xf8f9fc00, 0xf8f9fc01, 0xf8f9fc02, 0xf8f9fc03, 0xf8f9fc04, 0xf8f9fc05, 0xf8f9fc06, 0xf8f9fc07, +0xf8f9fcf8, 0xf8f9fcf9, 0xf8f9fcfa, 0xf8f9fcfb, 0xf8f9fcfc, 0xf8f9fcfd, 0xf8f9fcfe, 0xf8f9fcff, +0xf8f9fd00, 0xf8f9fd01, 0xf8f9fd02, 0xf8f9fd03, 0xf8f9fd04, 0xf8f9fd05, 0xf8f9fd06, 0xf8f9fd07, +0xf8f9fdf8, 0xf8f9fdf9, 0xf8f9fdfa, 0xf8f9fdfb, 0xf8f9fdfc, 0xf8f9fdfd, 0xf8f9fdfe, 0xf8f9fdff, +0xf8f9fe00, 0xf8f9fe01, 0xf8f9fe02, 0xf8f9fe03, 0xf8f9fe04, 0xf8f9fe05, 0xf8f9fe06, 0xf8f9fe07, +0xf8f9fef8, 0xf8f9fef9, 0xf8f9fefa, 0xf8f9fefb, 0xf8f9fefc, 0xf8f9fefd, 0xf8f9fefe, 0xf8f9feff, +0xf8f9ff00, 0xf8f9ff01, 0xf8f9ff02, 0xf8f9ff03, 0xf8f9ff04, 0xf8f9ff05, 0xf8f9ff06, 0xf8f9ff07, +0xf8f9fff8, 0xf8f9fff9, 0xf8f9fffa, 0xf8f9fffb, 0xf8f9fffc, 0xf8f9fffd, 0xf8f9fffe, 0xf8f9ffff, +0xf8fa0000, 0xf8fa0001, 0xf8fa0002, 0xf8fa0003, 0xf8fa0004, 0xf8fa0005, 0xf8fa0006, 0xf8fa0007, +0xf8fa00f8, 0xf8fa00f9, 0xf8fa00fa, 0xf8fa00fb, 0xf8fa00fc, 0xf8fa00fd, 0xf8fa00fe, 0xf8fa00ff, +0xf8fa0100, 0xf8fa0101, 0xf8fa0102, 0xf8fa0103, 0xf8fa0104, 0xf8fa0105, 0xf8fa0106, 0xf8fa0107, +0xf8fa01f8, 0xf8fa01f9, 0xf8fa01fa, 0xf8fa01fb, 0xf8fa01fc, 0xf8fa01fd, 0xf8fa01fe, 0xf8fa01ff, +0xf8fa0200, 0xf8fa0201, 0xf8fa0202, 0xf8fa0203, 0xf8fa0204, 0xf8fa0205, 0xf8fa0206, 0xf8fa0207, +0xf8fa02f8, 0xf8fa02f9, 0xf8fa02fa, 0xf8fa02fb, 0xf8fa02fc, 0xf8fa02fd, 0xf8fa02fe, 0xf8fa02ff, +0xf8fa0300, 0xf8fa0301, 0xf8fa0302, 0xf8fa0303, 0xf8fa0304, 0xf8fa0305, 0xf8fa0306, 0xf8fa0307, +0xf8fa03f8, 0xf8fa03f9, 0xf8fa03fa, 0xf8fa03fb, 0xf8fa03fc, 0xf8fa03fd, 0xf8fa03fe, 0xf8fa03ff, +0xf8fa0400, 0xf8fa0401, 0xf8fa0402, 0xf8fa0403, 0xf8fa0404, 0xf8fa0405, 0xf8fa0406, 0xf8fa0407, +0xf8fa04f8, 0xf8fa04f9, 0xf8fa04fa, 0xf8fa04fb, 0xf8fa04fc, 0xf8fa04fd, 0xf8fa04fe, 0xf8fa04ff, +0xf8fa0500, 0xf8fa0501, 0xf8fa0502, 0xf8fa0503, 0xf8fa0504, 0xf8fa0505, 0xf8fa0506, 0xf8fa0507, +0xf8fa05f8, 0xf8fa05f9, 0xf8fa05fa, 0xf8fa05fb, 0xf8fa05fc, 0xf8fa05fd, 0xf8fa05fe, 0xf8fa05ff, +0xf8fa0600, 0xf8fa0601, 0xf8fa0602, 0xf8fa0603, 0xf8fa0604, 0xf8fa0605, 0xf8fa0606, 0xf8fa0607, +0xf8fa06f8, 0xf8fa06f9, 0xf8fa06fa, 0xf8fa06fb, 0xf8fa06fc, 0xf8fa06fd, 0xf8fa06fe, 0xf8fa06ff, +0xf8fa0700, 0xf8fa0701, 0xf8fa0702, 0xf8fa0703, 0xf8fa0704, 0xf8fa0705, 0xf8fa0706, 0xf8fa0707, +0xf8fa07f8, 0xf8fa07f9, 0xf8fa07fa, 0xf8fa07fb, 0xf8fa07fc, 0xf8fa07fd, 0xf8fa07fe, 0xf8fa07ff, +0xf8faf800, 0xf8faf801, 0xf8faf802, 0xf8faf803, 0xf8faf804, 0xf8faf805, 0xf8faf806, 0xf8faf807, +0xf8faf8f8, 0xf8faf8f9, 0xf8faf8fa, 0xf8faf8fb, 0xf8faf8fc, 0xf8faf8fd, 0xf8faf8fe, 0xf8faf8ff, +0xf8faf900, 0xf8faf901, 0xf8faf902, 0xf8faf903, 0xf8faf904, 0xf8faf905, 0xf8faf906, 0xf8faf907, +0xf8faf9f8, 0xf8faf9f9, 0xf8faf9fa, 0xf8faf9fb, 0xf8faf9fc, 0xf8faf9fd, 0xf8faf9fe, 0xf8faf9ff, +0xf8fafa00, 0xf8fafa01, 0xf8fafa02, 0xf8fafa03, 0xf8fafa04, 0xf8fafa05, 0xf8fafa06, 0xf8fafa07, +0xf8fafaf8, 0xf8fafaf9, 0xf8fafafa, 0xf8fafafb, 0xf8fafafc, 0xf8fafafd, 0xf8fafafe, 0xf8fafaff, +0xf8fafb00, 0xf8fafb01, 0xf8fafb02, 0xf8fafb03, 0xf8fafb04, 0xf8fafb05, 0xf8fafb06, 0xf8fafb07, +0xf8fafbf8, 0xf8fafbf9, 0xf8fafbfa, 0xf8fafbfb, 0xf8fafbfc, 0xf8fafbfd, 0xf8fafbfe, 0xf8fafbff, +0xf8fafc00, 0xf8fafc01, 0xf8fafc02, 0xf8fafc03, 0xf8fafc04, 0xf8fafc05, 0xf8fafc06, 0xf8fafc07, +0xf8fafcf8, 0xf8fafcf9, 0xf8fafcfa, 0xf8fafcfb, 0xf8fafcfc, 0xf8fafcfd, 0xf8fafcfe, 0xf8fafcff, +0xf8fafd00, 0xf8fafd01, 0xf8fafd02, 0xf8fafd03, 0xf8fafd04, 0xf8fafd05, 0xf8fafd06, 0xf8fafd07, +0xf8fafdf8, 0xf8fafdf9, 0xf8fafdfa, 0xf8fafdfb, 0xf8fafdfc, 0xf8fafdfd, 0xf8fafdfe, 0xf8fafdff, +0xf8fafe00, 0xf8fafe01, 0xf8fafe02, 0xf8fafe03, 0xf8fafe04, 0xf8fafe05, 0xf8fafe06, 0xf8fafe07, +0xf8fafef8, 0xf8fafef9, 0xf8fafefa, 0xf8fafefb, 0xf8fafefc, 0xf8fafefd, 0xf8fafefe, 0xf8fafeff, +0xf8faff00, 0xf8faff01, 0xf8faff02, 0xf8faff03, 0xf8faff04, 0xf8faff05, 0xf8faff06, 0xf8faff07, +0xf8fafff8, 0xf8fafff9, 0xf8fafffa, 0xf8fafffb, 0xf8fafffc, 0xf8fafffd, 0xf8fafffe, 0xf8faffff, +0xf8fb0000, 0xf8fb0001, 0xf8fb0002, 0xf8fb0003, 0xf8fb0004, 0xf8fb0005, 0xf8fb0006, 0xf8fb0007, +0xf8fb00f8, 0xf8fb00f9, 0xf8fb00fa, 0xf8fb00fb, 0xf8fb00fc, 0xf8fb00fd, 0xf8fb00fe, 0xf8fb00ff, +0xf8fb0100, 0xf8fb0101, 0xf8fb0102, 0xf8fb0103, 0xf8fb0104, 0xf8fb0105, 0xf8fb0106, 0xf8fb0107, +0xf8fb01f8, 0xf8fb01f9, 0xf8fb01fa, 0xf8fb01fb, 0xf8fb01fc, 0xf8fb01fd, 0xf8fb01fe, 0xf8fb01ff, +0xf8fb0200, 0xf8fb0201, 0xf8fb0202, 0xf8fb0203, 0xf8fb0204, 0xf8fb0205, 0xf8fb0206, 0xf8fb0207, +0xf8fb02f8, 0xf8fb02f9, 0xf8fb02fa, 0xf8fb02fb, 0xf8fb02fc, 0xf8fb02fd, 0xf8fb02fe, 0xf8fb02ff, +0xf8fb0300, 0xf8fb0301, 0xf8fb0302, 0xf8fb0303, 0xf8fb0304, 0xf8fb0305, 0xf8fb0306, 0xf8fb0307, +0xf8fb03f8, 0xf8fb03f9, 0xf8fb03fa, 0xf8fb03fb, 0xf8fb03fc, 0xf8fb03fd, 0xf8fb03fe, 0xf8fb03ff, +0xf8fb0400, 0xf8fb0401, 0xf8fb0402, 0xf8fb0403, 0xf8fb0404, 0xf8fb0405, 0xf8fb0406, 0xf8fb0407, +0xf8fb04f8, 0xf8fb04f9, 0xf8fb04fa, 0xf8fb04fb, 0xf8fb04fc, 0xf8fb04fd, 0xf8fb04fe, 0xf8fb04ff, +0xf8fb0500, 0xf8fb0501, 0xf8fb0502, 0xf8fb0503, 0xf8fb0504, 0xf8fb0505, 0xf8fb0506, 0xf8fb0507, +0xf8fb05f8, 0xf8fb05f9, 0xf8fb05fa, 0xf8fb05fb, 0xf8fb05fc, 0xf8fb05fd, 0xf8fb05fe, 0xf8fb05ff, +0xf8fb0600, 0xf8fb0601, 0xf8fb0602, 0xf8fb0603, 0xf8fb0604, 0xf8fb0605, 0xf8fb0606, 0xf8fb0607, +0xf8fb06f8, 0xf8fb06f9, 0xf8fb06fa, 0xf8fb06fb, 0xf8fb06fc, 0xf8fb06fd, 0xf8fb06fe, 0xf8fb06ff, +0xf8fb0700, 0xf8fb0701, 0xf8fb0702, 0xf8fb0703, 0xf8fb0704, 0xf8fb0705, 0xf8fb0706, 0xf8fb0707, +0xf8fb07f8, 0xf8fb07f9, 0xf8fb07fa, 0xf8fb07fb, 0xf8fb07fc, 0xf8fb07fd, 0xf8fb07fe, 0xf8fb07ff, +0xf8fbf800, 0xf8fbf801, 0xf8fbf802, 0xf8fbf803, 0xf8fbf804, 0xf8fbf805, 0xf8fbf806, 0xf8fbf807, +0xf8fbf8f8, 0xf8fbf8f9, 0xf8fbf8fa, 0xf8fbf8fb, 0xf8fbf8fc, 0xf8fbf8fd, 0xf8fbf8fe, 0xf8fbf8ff, +0xf8fbf900, 0xf8fbf901, 0xf8fbf902, 0xf8fbf903, 0xf8fbf904, 0xf8fbf905, 0xf8fbf906, 0xf8fbf907, +0xf8fbf9f8, 0xf8fbf9f9, 0xf8fbf9fa, 0xf8fbf9fb, 0xf8fbf9fc, 0xf8fbf9fd, 0xf8fbf9fe, 0xf8fbf9ff, +0xf8fbfa00, 0xf8fbfa01, 0xf8fbfa02, 0xf8fbfa03, 0xf8fbfa04, 0xf8fbfa05, 0xf8fbfa06, 0xf8fbfa07, +0xf8fbfaf8, 0xf8fbfaf9, 0xf8fbfafa, 0xf8fbfafb, 0xf8fbfafc, 0xf8fbfafd, 0xf8fbfafe, 0xf8fbfaff, +0xf8fbfb00, 0xf8fbfb01, 0xf8fbfb02, 0xf8fbfb03, 0xf8fbfb04, 0xf8fbfb05, 0xf8fbfb06, 0xf8fbfb07, +0xf8fbfbf8, 0xf8fbfbf9, 0xf8fbfbfa, 0xf8fbfbfb, 0xf8fbfbfc, 0xf8fbfbfd, 0xf8fbfbfe, 0xf8fbfbff, +0xf8fbfc00, 0xf8fbfc01, 0xf8fbfc02, 0xf8fbfc03, 0xf8fbfc04, 0xf8fbfc05, 0xf8fbfc06, 0xf8fbfc07, +0xf8fbfcf8, 0xf8fbfcf9, 0xf8fbfcfa, 0xf8fbfcfb, 0xf8fbfcfc, 0xf8fbfcfd, 0xf8fbfcfe, 0xf8fbfcff, +0xf8fbfd00, 0xf8fbfd01, 0xf8fbfd02, 0xf8fbfd03, 0xf8fbfd04, 0xf8fbfd05, 0xf8fbfd06, 0xf8fbfd07, +0xf8fbfdf8, 0xf8fbfdf9, 0xf8fbfdfa, 0xf8fbfdfb, 0xf8fbfdfc, 0xf8fbfdfd, 0xf8fbfdfe, 0xf8fbfdff, +0xf8fbfe00, 0xf8fbfe01, 0xf8fbfe02, 0xf8fbfe03, 0xf8fbfe04, 0xf8fbfe05, 0xf8fbfe06, 0xf8fbfe07, +0xf8fbfef8, 0xf8fbfef9, 0xf8fbfefa, 0xf8fbfefb, 0xf8fbfefc, 0xf8fbfefd, 0xf8fbfefe, 0xf8fbfeff, +0xf8fbff00, 0xf8fbff01, 0xf8fbff02, 0xf8fbff03, 0xf8fbff04, 0xf8fbff05, 0xf8fbff06, 0xf8fbff07, +0xf8fbfff8, 0xf8fbfff9, 0xf8fbfffa, 0xf8fbfffb, 0xf8fbfffc, 0xf8fbfffd, 0xf8fbfffe, 0xf8fbffff, +0xf8fc0000, 0xf8fc0001, 0xf8fc0002, 0xf8fc0003, 0xf8fc0004, 0xf8fc0005, 0xf8fc0006, 0xf8fc0007, +0xf8fc00f8, 0xf8fc00f9, 0xf8fc00fa, 0xf8fc00fb, 0xf8fc00fc, 0xf8fc00fd, 0xf8fc00fe, 0xf8fc00ff, +0xf8fc0100, 0xf8fc0101, 0xf8fc0102, 0xf8fc0103, 0xf8fc0104, 0xf8fc0105, 0xf8fc0106, 0xf8fc0107, +0xf8fc01f8, 0xf8fc01f9, 0xf8fc01fa, 0xf8fc01fb, 0xf8fc01fc, 0xf8fc01fd, 0xf8fc01fe, 0xf8fc01ff, +0xf8fc0200, 0xf8fc0201, 0xf8fc0202, 0xf8fc0203, 0xf8fc0204, 0xf8fc0205, 0xf8fc0206, 0xf8fc0207, +0xf8fc02f8, 0xf8fc02f9, 0xf8fc02fa, 0xf8fc02fb, 0xf8fc02fc, 0xf8fc02fd, 0xf8fc02fe, 0xf8fc02ff, +0xf8fc0300, 0xf8fc0301, 0xf8fc0302, 0xf8fc0303, 0xf8fc0304, 0xf8fc0305, 0xf8fc0306, 0xf8fc0307, +0xf8fc03f8, 0xf8fc03f9, 0xf8fc03fa, 0xf8fc03fb, 0xf8fc03fc, 0xf8fc03fd, 0xf8fc03fe, 0xf8fc03ff, +0xf8fc0400, 0xf8fc0401, 0xf8fc0402, 0xf8fc0403, 0xf8fc0404, 0xf8fc0405, 0xf8fc0406, 0xf8fc0407, +0xf8fc04f8, 0xf8fc04f9, 0xf8fc04fa, 0xf8fc04fb, 0xf8fc04fc, 0xf8fc04fd, 0xf8fc04fe, 0xf8fc04ff, +0xf8fc0500, 0xf8fc0501, 0xf8fc0502, 0xf8fc0503, 0xf8fc0504, 0xf8fc0505, 0xf8fc0506, 0xf8fc0507, +0xf8fc05f8, 0xf8fc05f9, 0xf8fc05fa, 0xf8fc05fb, 0xf8fc05fc, 0xf8fc05fd, 0xf8fc05fe, 0xf8fc05ff, +0xf8fc0600, 0xf8fc0601, 0xf8fc0602, 0xf8fc0603, 0xf8fc0604, 0xf8fc0605, 0xf8fc0606, 0xf8fc0607, +0xf8fc06f8, 0xf8fc06f9, 0xf8fc06fa, 0xf8fc06fb, 0xf8fc06fc, 0xf8fc06fd, 0xf8fc06fe, 0xf8fc06ff, +0xf8fc0700, 0xf8fc0701, 0xf8fc0702, 0xf8fc0703, 0xf8fc0704, 0xf8fc0705, 0xf8fc0706, 0xf8fc0707, +0xf8fc07f8, 0xf8fc07f9, 0xf8fc07fa, 0xf8fc07fb, 0xf8fc07fc, 0xf8fc07fd, 0xf8fc07fe, 0xf8fc07ff, +0xf8fcf800, 0xf8fcf801, 0xf8fcf802, 0xf8fcf803, 0xf8fcf804, 0xf8fcf805, 0xf8fcf806, 0xf8fcf807, +0xf8fcf8f8, 0xf8fcf8f9, 0xf8fcf8fa, 0xf8fcf8fb, 0xf8fcf8fc, 0xf8fcf8fd, 0xf8fcf8fe, 0xf8fcf8ff, +0xf8fcf900, 0xf8fcf901, 0xf8fcf902, 0xf8fcf903, 0xf8fcf904, 0xf8fcf905, 0xf8fcf906, 0xf8fcf907, +0xf8fcf9f8, 0xf8fcf9f9, 0xf8fcf9fa, 0xf8fcf9fb, 0xf8fcf9fc, 0xf8fcf9fd, 0xf8fcf9fe, 0xf8fcf9ff, +0xf8fcfa00, 0xf8fcfa01, 0xf8fcfa02, 0xf8fcfa03, 0xf8fcfa04, 0xf8fcfa05, 0xf8fcfa06, 0xf8fcfa07, +0xf8fcfaf8, 0xf8fcfaf9, 0xf8fcfafa, 0xf8fcfafb, 0xf8fcfafc, 0xf8fcfafd, 0xf8fcfafe, 0xf8fcfaff, +0xf8fcfb00, 0xf8fcfb01, 0xf8fcfb02, 0xf8fcfb03, 0xf8fcfb04, 0xf8fcfb05, 0xf8fcfb06, 0xf8fcfb07, +0xf8fcfbf8, 0xf8fcfbf9, 0xf8fcfbfa, 0xf8fcfbfb, 0xf8fcfbfc, 0xf8fcfbfd, 0xf8fcfbfe, 0xf8fcfbff, +0xf8fcfc00, 0xf8fcfc01, 0xf8fcfc02, 0xf8fcfc03, 0xf8fcfc04, 0xf8fcfc05, 0xf8fcfc06, 0xf8fcfc07, +0xf8fcfcf8, 0xf8fcfcf9, 0xf8fcfcfa, 0xf8fcfcfb, 0xf8fcfcfc, 0xf8fcfcfd, 0xf8fcfcfe, 0xf8fcfcff, +0xf8fcfd00, 0xf8fcfd01, 0xf8fcfd02, 0xf8fcfd03, 0xf8fcfd04, 0xf8fcfd05, 0xf8fcfd06, 0xf8fcfd07, +0xf8fcfdf8, 0xf8fcfdf9, 0xf8fcfdfa, 0xf8fcfdfb, 0xf8fcfdfc, 0xf8fcfdfd, 0xf8fcfdfe, 0xf8fcfdff, +0xf8fcfe00, 0xf8fcfe01, 0xf8fcfe02, 0xf8fcfe03, 0xf8fcfe04, 0xf8fcfe05, 0xf8fcfe06, 0xf8fcfe07, +0xf8fcfef8, 0xf8fcfef9, 0xf8fcfefa, 0xf8fcfefb, 0xf8fcfefc, 0xf8fcfefd, 0xf8fcfefe, 0xf8fcfeff, +0xf8fcff00, 0xf8fcff01, 0xf8fcff02, 0xf8fcff03, 0xf8fcff04, 0xf8fcff05, 0xf8fcff06, 0xf8fcff07, +0xf8fcfff8, 0xf8fcfff9, 0xf8fcfffa, 0xf8fcfffb, 0xf8fcfffc, 0xf8fcfffd, 0xf8fcfffe, 0xf8fcffff, +0xf8fd0000, 0xf8fd0001, 0xf8fd0002, 0xf8fd0003, 0xf8fd0004, 0xf8fd0005, 0xf8fd0006, 0xf8fd0007, +0xf8fd00f8, 0xf8fd00f9, 0xf8fd00fa, 0xf8fd00fb, 0xf8fd00fc, 0xf8fd00fd, 0xf8fd00fe, 0xf8fd00ff, +0xf8fd0100, 0xf8fd0101, 0xf8fd0102, 0xf8fd0103, 0xf8fd0104, 0xf8fd0105, 0xf8fd0106, 0xf8fd0107, +0xf8fd01f8, 0xf8fd01f9, 0xf8fd01fa, 0xf8fd01fb, 0xf8fd01fc, 0xf8fd01fd, 0xf8fd01fe, 0xf8fd01ff, +0xf8fd0200, 0xf8fd0201, 0xf8fd0202, 0xf8fd0203, 0xf8fd0204, 0xf8fd0205, 0xf8fd0206, 0xf8fd0207, +0xf8fd02f8, 0xf8fd02f9, 0xf8fd02fa, 0xf8fd02fb, 0xf8fd02fc, 0xf8fd02fd, 0xf8fd02fe, 0xf8fd02ff, +0xf8fd0300, 0xf8fd0301, 0xf8fd0302, 0xf8fd0303, 0xf8fd0304, 0xf8fd0305, 0xf8fd0306, 0xf8fd0307, +0xf8fd03f8, 0xf8fd03f9, 0xf8fd03fa, 0xf8fd03fb, 0xf8fd03fc, 0xf8fd03fd, 0xf8fd03fe, 0xf8fd03ff, +0xf8fd0400, 0xf8fd0401, 0xf8fd0402, 0xf8fd0403, 0xf8fd0404, 0xf8fd0405, 0xf8fd0406, 0xf8fd0407, +0xf8fd04f8, 0xf8fd04f9, 0xf8fd04fa, 0xf8fd04fb, 0xf8fd04fc, 0xf8fd04fd, 0xf8fd04fe, 0xf8fd04ff, +0xf8fd0500, 0xf8fd0501, 0xf8fd0502, 0xf8fd0503, 0xf8fd0504, 0xf8fd0505, 0xf8fd0506, 0xf8fd0507, +0xf8fd05f8, 0xf8fd05f9, 0xf8fd05fa, 0xf8fd05fb, 0xf8fd05fc, 0xf8fd05fd, 0xf8fd05fe, 0xf8fd05ff, +0xf8fd0600, 0xf8fd0601, 0xf8fd0602, 0xf8fd0603, 0xf8fd0604, 0xf8fd0605, 0xf8fd0606, 0xf8fd0607, +0xf8fd06f8, 0xf8fd06f9, 0xf8fd06fa, 0xf8fd06fb, 0xf8fd06fc, 0xf8fd06fd, 0xf8fd06fe, 0xf8fd06ff, +0xf8fd0700, 0xf8fd0701, 0xf8fd0702, 0xf8fd0703, 0xf8fd0704, 0xf8fd0705, 0xf8fd0706, 0xf8fd0707, +0xf8fd07f8, 0xf8fd07f9, 0xf8fd07fa, 0xf8fd07fb, 0xf8fd07fc, 0xf8fd07fd, 0xf8fd07fe, 0xf8fd07ff, +0xf8fdf800, 0xf8fdf801, 0xf8fdf802, 0xf8fdf803, 0xf8fdf804, 0xf8fdf805, 0xf8fdf806, 0xf8fdf807, +0xf8fdf8f8, 0xf8fdf8f9, 0xf8fdf8fa, 0xf8fdf8fb, 0xf8fdf8fc, 0xf8fdf8fd, 0xf8fdf8fe, 0xf8fdf8ff, +0xf8fdf900, 0xf8fdf901, 0xf8fdf902, 0xf8fdf903, 0xf8fdf904, 0xf8fdf905, 0xf8fdf906, 0xf8fdf907, +0xf8fdf9f8, 0xf8fdf9f9, 0xf8fdf9fa, 0xf8fdf9fb, 0xf8fdf9fc, 0xf8fdf9fd, 0xf8fdf9fe, 0xf8fdf9ff, +0xf8fdfa00, 0xf8fdfa01, 0xf8fdfa02, 0xf8fdfa03, 0xf8fdfa04, 0xf8fdfa05, 0xf8fdfa06, 0xf8fdfa07, +0xf8fdfaf8, 0xf8fdfaf9, 0xf8fdfafa, 0xf8fdfafb, 0xf8fdfafc, 0xf8fdfafd, 0xf8fdfafe, 0xf8fdfaff, +0xf8fdfb00, 0xf8fdfb01, 0xf8fdfb02, 0xf8fdfb03, 0xf8fdfb04, 0xf8fdfb05, 0xf8fdfb06, 0xf8fdfb07, +0xf8fdfbf8, 0xf8fdfbf9, 0xf8fdfbfa, 0xf8fdfbfb, 0xf8fdfbfc, 0xf8fdfbfd, 0xf8fdfbfe, 0xf8fdfbff, +0xf8fdfc00, 0xf8fdfc01, 0xf8fdfc02, 0xf8fdfc03, 0xf8fdfc04, 0xf8fdfc05, 0xf8fdfc06, 0xf8fdfc07, +0xf8fdfcf8, 0xf8fdfcf9, 0xf8fdfcfa, 0xf8fdfcfb, 0xf8fdfcfc, 0xf8fdfcfd, 0xf8fdfcfe, 0xf8fdfcff, +0xf8fdfd00, 0xf8fdfd01, 0xf8fdfd02, 0xf8fdfd03, 0xf8fdfd04, 0xf8fdfd05, 0xf8fdfd06, 0xf8fdfd07, +0xf8fdfdf8, 0xf8fdfdf9, 0xf8fdfdfa, 0xf8fdfdfb, 0xf8fdfdfc, 0xf8fdfdfd, 0xf8fdfdfe, 0xf8fdfdff, +0xf8fdfe00, 0xf8fdfe01, 0xf8fdfe02, 0xf8fdfe03, 0xf8fdfe04, 0xf8fdfe05, 0xf8fdfe06, 0xf8fdfe07, +0xf8fdfef8, 0xf8fdfef9, 0xf8fdfefa, 0xf8fdfefb, 0xf8fdfefc, 0xf8fdfefd, 0xf8fdfefe, 0xf8fdfeff, +0xf8fdff00, 0xf8fdff01, 0xf8fdff02, 0xf8fdff03, 0xf8fdff04, 0xf8fdff05, 0xf8fdff06, 0xf8fdff07, +0xf8fdfff8, 0xf8fdfff9, 0xf8fdfffa, 0xf8fdfffb, 0xf8fdfffc, 0xf8fdfffd, 0xf8fdfffe, 0xf8fdffff, +0xf8fe0000, 0xf8fe0001, 0xf8fe0002, 0xf8fe0003, 0xf8fe0004, 0xf8fe0005, 0xf8fe0006, 0xf8fe0007, +0xf8fe00f8, 0xf8fe00f9, 0xf8fe00fa, 0xf8fe00fb, 0xf8fe00fc, 0xf8fe00fd, 0xf8fe00fe, 0xf8fe00ff, +0xf8fe0100, 0xf8fe0101, 0xf8fe0102, 0xf8fe0103, 0xf8fe0104, 0xf8fe0105, 0xf8fe0106, 0xf8fe0107, +0xf8fe01f8, 0xf8fe01f9, 0xf8fe01fa, 0xf8fe01fb, 0xf8fe01fc, 0xf8fe01fd, 0xf8fe01fe, 0xf8fe01ff, +0xf8fe0200, 0xf8fe0201, 0xf8fe0202, 0xf8fe0203, 0xf8fe0204, 0xf8fe0205, 0xf8fe0206, 0xf8fe0207, +0xf8fe02f8, 0xf8fe02f9, 0xf8fe02fa, 0xf8fe02fb, 0xf8fe02fc, 0xf8fe02fd, 0xf8fe02fe, 0xf8fe02ff, +0xf8fe0300, 0xf8fe0301, 0xf8fe0302, 0xf8fe0303, 0xf8fe0304, 0xf8fe0305, 0xf8fe0306, 0xf8fe0307, +0xf8fe03f8, 0xf8fe03f9, 0xf8fe03fa, 0xf8fe03fb, 0xf8fe03fc, 0xf8fe03fd, 0xf8fe03fe, 0xf8fe03ff, +0xf8fe0400, 0xf8fe0401, 0xf8fe0402, 0xf8fe0403, 0xf8fe0404, 0xf8fe0405, 0xf8fe0406, 0xf8fe0407, +0xf8fe04f8, 0xf8fe04f9, 0xf8fe04fa, 0xf8fe04fb, 0xf8fe04fc, 0xf8fe04fd, 0xf8fe04fe, 0xf8fe04ff, +0xf8fe0500, 0xf8fe0501, 0xf8fe0502, 0xf8fe0503, 0xf8fe0504, 0xf8fe0505, 0xf8fe0506, 0xf8fe0507, +0xf8fe05f8, 0xf8fe05f9, 0xf8fe05fa, 0xf8fe05fb, 0xf8fe05fc, 0xf8fe05fd, 0xf8fe05fe, 0xf8fe05ff, +0xf8fe0600, 0xf8fe0601, 0xf8fe0602, 0xf8fe0603, 0xf8fe0604, 0xf8fe0605, 0xf8fe0606, 0xf8fe0607, +0xf8fe06f8, 0xf8fe06f9, 0xf8fe06fa, 0xf8fe06fb, 0xf8fe06fc, 0xf8fe06fd, 0xf8fe06fe, 0xf8fe06ff, +0xf8fe0700, 0xf8fe0701, 0xf8fe0702, 0xf8fe0703, 0xf8fe0704, 0xf8fe0705, 0xf8fe0706, 0xf8fe0707, +0xf8fe07f8, 0xf8fe07f9, 0xf8fe07fa, 0xf8fe07fb, 0xf8fe07fc, 0xf8fe07fd, 0xf8fe07fe, 0xf8fe07ff, +0xf8fef800, 0xf8fef801, 0xf8fef802, 0xf8fef803, 0xf8fef804, 0xf8fef805, 0xf8fef806, 0xf8fef807, +0xf8fef8f8, 0xf8fef8f9, 0xf8fef8fa, 0xf8fef8fb, 0xf8fef8fc, 0xf8fef8fd, 0xf8fef8fe, 0xf8fef8ff, +0xf8fef900, 0xf8fef901, 0xf8fef902, 0xf8fef903, 0xf8fef904, 0xf8fef905, 0xf8fef906, 0xf8fef907, +0xf8fef9f8, 0xf8fef9f9, 0xf8fef9fa, 0xf8fef9fb, 0xf8fef9fc, 0xf8fef9fd, 0xf8fef9fe, 0xf8fef9ff, +0xf8fefa00, 0xf8fefa01, 0xf8fefa02, 0xf8fefa03, 0xf8fefa04, 0xf8fefa05, 0xf8fefa06, 0xf8fefa07, +0xf8fefaf8, 0xf8fefaf9, 0xf8fefafa, 0xf8fefafb, 0xf8fefafc, 0xf8fefafd, 0xf8fefafe, 0xf8fefaff, +0xf8fefb00, 0xf8fefb01, 0xf8fefb02, 0xf8fefb03, 0xf8fefb04, 0xf8fefb05, 0xf8fefb06, 0xf8fefb07, +0xf8fefbf8, 0xf8fefbf9, 0xf8fefbfa, 0xf8fefbfb, 0xf8fefbfc, 0xf8fefbfd, 0xf8fefbfe, 0xf8fefbff, +0xf8fefc00, 0xf8fefc01, 0xf8fefc02, 0xf8fefc03, 0xf8fefc04, 0xf8fefc05, 0xf8fefc06, 0xf8fefc07, +0xf8fefcf8, 0xf8fefcf9, 0xf8fefcfa, 0xf8fefcfb, 0xf8fefcfc, 0xf8fefcfd, 0xf8fefcfe, 0xf8fefcff, +0xf8fefd00, 0xf8fefd01, 0xf8fefd02, 0xf8fefd03, 0xf8fefd04, 0xf8fefd05, 0xf8fefd06, 0xf8fefd07, +0xf8fefdf8, 0xf8fefdf9, 0xf8fefdfa, 0xf8fefdfb, 0xf8fefdfc, 0xf8fefdfd, 0xf8fefdfe, 0xf8fefdff, +0xf8fefe00, 0xf8fefe01, 0xf8fefe02, 0xf8fefe03, 0xf8fefe04, 0xf8fefe05, 0xf8fefe06, 0xf8fefe07, +0xf8fefef8, 0xf8fefef9, 0xf8fefefa, 0xf8fefefb, 0xf8fefefc, 0xf8fefefd, 0xf8fefefe, 0xf8fefeff, +0xf8feff00, 0xf8feff01, 0xf8feff02, 0xf8feff03, 0xf8feff04, 0xf8feff05, 0xf8feff06, 0xf8feff07, +0xf8fefff8, 0xf8fefff9, 0xf8fefffa, 0xf8fefffb, 0xf8fefffc, 0xf8fefffd, 0xf8fefffe, 0xf8feffff, +0xf8ff0000, 0xf8ff0001, 0xf8ff0002, 0xf8ff0003, 0xf8ff0004, 0xf8ff0005, 0xf8ff0006, 0xf8ff0007, +0xf8ff00f8, 0xf8ff00f9, 0xf8ff00fa, 0xf8ff00fb, 0xf8ff00fc, 0xf8ff00fd, 0xf8ff00fe, 0xf8ff00ff, +0xf8ff0100, 0xf8ff0101, 0xf8ff0102, 0xf8ff0103, 0xf8ff0104, 0xf8ff0105, 0xf8ff0106, 0xf8ff0107, +0xf8ff01f8, 0xf8ff01f9, 0xf8ff01fa, 0xf8ff01fb, 0xf8ff01fc, 0xf8ff01fd, 0xf8ff01fe, 0xf8ff01ff, +0xf8ff0200, 0xf8ff0201, 0xf8ff0202, 0xf8ff0203, 0xf8ff0204, 0xf8ff0205, 0xf8ff0206, 0xf8ff0207, +0xf8ff02f8, 0xf8ff02f9, 0xf8ff02fa, 0xf8ff02fb, 0xf8ff02fc, 0xf8ff02fd, 0xf8ff02fe, 0xf8ff02ff, +0xf8ff0300, 0xf8ff0301, 0xf8ff0302, 0xf8ff0303, 0xf8ff0304, 0xf8ff0305, 0xf8ff0306, 0xf8ff0307, +0xf8ff03f8, 0xf8ff03f9, 0xf8ff03fa, 0xf8ff03fb, 0xf8ff03fc, 0xf8ff03fd, 0xf8ff03fe, 0xf8ff03ff, +0xf8ff0400, 0xf8ff0401, 0xf8ff0402, 0xf8ff0403, 0xf8ff0404, 0xf8ff0405, 0xf8ff0406, 0xf8ff0407, +0xf8ff04f8, 0xf8ff04f9, 0xf8ff04fa, 0xf8ff04fb, 0xf8ff04fc, 0xf8ff04fd, 0xf8ff04fe, 0xf8ff04ff, +0xf8ff0500, 0xf8ff0501, 0xf8ff0502, 0xf8ff0503, 0xf8ff0504, 0xf8ff0505, 0xf8ff0506, 0xf8ff0507, +0xf8ff05f8, 0xf8ff05f9, 0xf8ff05fa, 0xf8ff05fb, 0xf8ff05fc, 0xf8ff05fd, 0xf8ff05fe, 0xf8ff05ff, +0xf8ff0600, 0xf8ff0601, 0xf8ff0602, 0xf8ff0603, 0xf8ff0604, 0xf8ff0605, 0xf8ff0606, 0xf8ff0607, +0xf8ff06f8, 0xf8ff06f9, 0xf8ff06fa, 0xf8ff06fb, 0xf8ff06fc, 0xf8ff06fd, 0xf8ff06fe, 0xf8ff06ff, +0xf8ff0700, 0xf8ff0701, 0xf8ff0702, 0xf8ff0703, 0xf8ff0704, 0xf8ff0705, 0xf8ff0706, 0xf8ff0707, +0xf8ff07f8, 0xf8ff07f9, 0xf8ff07fa, 0xf8ff07fb, 0xf8ff07fc, 0xf8ff07fd, 0xf8ff07fe, 0xf8ff07ff, +0xf8fff800, 0xf8fff801, 0xf8fff802, 0xf8fff803, 0xf8fff804, 0xf8fff805, 0xf8fff806, 0xf8fff807, +0xf8fff8f8, 0xf8fff8f9, 0xf8fff8fa, 0xf8fff8fb, 0xf8fff8fc, 0xf8fff8fd, 0xf8fff8fe, 0xf8fff8ff, +0xf8fff900, 0xf8fff901, 0xf8fff902, 0xf8fff903, 0xf8fff904, 0xf8fff905, 0xf8fff906, 0xf8fff907, +0xf8fff9f8, 0xf8fff9f9, 0xf8fff9fa, 0xf8fff9fb, 0xf8fff9fc, 0xf8fff9fd, 0xf8fff9fe, 0xf8fff9ff, +0xf8fffa00, 0xf8fffa01, 0xf8fffa02, 0xf8fffa03, 0xf8fffa04, 0xf8fffa05, 0xf8fffa06, 0xf8fffa07, +0xf8fffaf8, 0xf8fffaf9, 0xf8fffafa, 0xf8fffafb, 0xf8fffafc, 0xf8fffafd, 0xf8fffafe, 0xf8fffaff, +0xf8fffb00, 0xf8fffb01, 0xf8fffb02, 0xf8fffb03, 0xf8fffb04, 0xf8fffb05, 0xf8fffb06, 0xf8fffb07, +0xf8fffbf8, 0xf8fffbf9, 0xf8fffbfa, 0xf8fffbfb, 0xf8fffbfc, 0xf8fffbfd, 0xf8fffbfe, 0xf8fffbff, +0xf8fffc00, 0xf8fffc01, 0xf8fffc02, 0xf8fffc03, 0xf8fffc04, 0xf8fffc05, 0xf8fffc06, 0xf8fffc07, +0xf8fffcf8, 0xf8fffcf9, 0xf8fffcfa, 0xf8fffcfb, 0xf8fffcfc, 0xf8fffcfd, 0xf8fffcfe, 0xf8fffcff, +0xf8fffd00, 0xf8fffd01, 0xf8fffd02, 0xf8fffd03, 0xf8fffd04, 0xf8fffd05, 0xf8fffd06, 0xf8fffd07, +0xf8fffdf8, 0xf8fffdf9, 0xf8fffdfa, 0xf8fffdfb, 0xf8fffdfc, 0xf8fffdfd, 0xf8fffdfe, 0xf8fffdff, +0xf8fffe00, 0xf8fffe01, 0xf8fffe02, 0xf8fffe03, 0xf8fffe04, 0xf8fffe05, 0xf8fffe06, 0xf8fffe07, +0xf8fffef8, 0xf8fffef9, 0xf8fffefa, 0xf8fffefb, 0xf8fffefc, 0xf8fffefd, 0xf8fffefe, 0xf8fffeff, +0xf8ffff00, 0xf8ffff01, 0xf8ffff02, 0xf8ffff03, 0xf8ffff04, 0xf8ffff05, 0xf8ffff06, 0xf8ffff07, +0xf8fffff8, 0xf8fffff9, 0xf8fffffa, 0xf8fffffb, 0xf8fffffc, 0xf8fffffd, 0xf8fffffe, 0xf8ffffff, +0xf9000000, 0xf9000001, 0xf9000002, 0xf9000003, 0xf9000004, 0xf9000005, 0xf9000006, 0xf9000007, +0xf90000f8, 0xf90000f9, 0xf90000fa, 0xf90000fb, 0xf90000fc, 0xf90000fd, 0xf90000fe, 0xf90000ff, +0xf9000100, 0xf9000101, 0xf9000102, 0xf9000103, 0xf9000104, 0xf9000105, 0xf9000106, 0xf9000107, +0xf90001f8, 0xf90001f9, 0xf90001fa, 0xf90001fb, 0xf90001fc, 0xf90001fd, 0xf90001fe, 0xf90001ff, +0xf9000200, 0xf9000201, 0xf9000202, 0xf9000203, 0xf9000204, 0xf9000205, 0xf9000206, 0xf9000207, +0xf90002f8, 0xf90002f9, 0xf90002fa, 0xf90002fb, 0xf90002fc, 0xf90002fd, 0xf90002fe, 0xf90002ff, +0xf9000300, 0xf9000301, 0xf9000302, 0xf9000303, 0xf9000304, 0xf9000305, 0xf9000306, 0xf9000307, +0xf90003f8, 0xf90003f9, 0xf90003fa, 0xf90003fb, 0xf90003fc, 0xf90003fd, 0xf90003fe, 0xf90003ff, +0xf9000400, 0xf9000401, 0xf9000402, 0xf9000403, 0xf9000404, 0xf9000405, 0xf9000406, 0xf9000407, +0xf90004f8, 0xf90004f9, 0xf90004fa, 0xf90004fb, 0xf90004fc, 0xf90004fd, 0xf90004fe, 0xf90004ff, +0xf9000500, 0xf9000501, 0xf9000502, 0xf9000503, 0xf9000504, 0xf9000505, 0xf9000506, 0xf9000507, +0xf90005f8, 0xf90005f9, 0xf90005fa, 0xf90005fb, 0xf90005fc, 0xf90005fd, 0xf90005fe, 0xf90005ff, +0xf9000600, 0xf9000601, 0xf9000602, 0xf9000603, 0xf9000604, 0xf9000605, 0xf9000606, 0xf9000607, +0xf90006f8, 0xf90006f9, 0xf90006fa, 0xf90006fb, 0xf90006fc, 0xf90006fd, 0xf90006fe, 0xf90006ff, +0xf9000700, 0xf9000701, 0xf9000702, 0xf9000703, 0xf9000704, 0xf9000705, 0xf9000706, 0xf9000707, +0xf90007f8, 0xf90007f9, 0xf90007fa, 0xf90007fb, 0xf90007fc, 0xf90007fd, 0xf90007fe, 0xf90007ff, +0xf900f800, 0xf900f801, 0xf900f802, 0xf900f803, 0xf900f804, 0xf900f805, 0xf900f806, 0xf900f807, +0xf900f8f8, 0xf900f8f9, 0xf900f8fa, 0xf900f8fb, 0xf900f8fc, 0xf900f8fd, 0xf900f8fe, 0xf900f8ff, +0xf900f900, 0xf900f901, 0xf900f902, 0xf900f903, 0xf900f904, 0xf900f905, 0xf900f906, 0xf900f907, +0xf900f9f8, 0xf900f9f9, 0xf900f9fa, 0xf900f9fb, 0xf900f9fc, 0xf900f9fd, 0xf900f9fe, 0xf900f9ff, +0xf900fa00, 0xf900fa01, 0xf900fa02, 0xf900fa03, 0xf900fa04, 0xf900fa05, 0xf900fa06, 0xf900fa07, +0xf900faf8, 0xf900faf9, 0xf900fafa, 0xf900fafb, 0xf900fafc, 0xf900fafd, 0xf900fafe, 0xf900faff, +0xf900fb00, 0xf900fb01, 0xf900fb02, 0xf900fb03, 0xf900fb04, 0xf900fb05, 0xf900fb06, 0xf900fb07, +0xf900fbf8, 0xf900fbf9, 0xf900fbfa, 0xf900fbfb, 0xf900fbfc, 0xf900fbfd, 0xf900fbfe, 0xf900fbff, +0xf900fc00, 0xf900fc01, 0xf900fc02, 0xf900fc03, 0xf900fc04, 0xf900fc05, 0xf900fc06, 0xf900fc07, +0xf900fcf8, 0xf900fcf9, 0xf900fcfa, 0xf900fcfb, 0xf900fcfc, 0xf900fcfd, 0xf900fcfe, 0xf900fcff, +0xf900fd00, 0xf900fd01, 0xf900fd02, 0xf900fd03, 0xf900fd04, 0xf900fd05, 0xf900fd06, 0xf900fd07, +0xf900fdf8, 0xf900fdf9, 0xf900fdfa, 0xf900fdfb, 0xf900fdfc, 0xf900fdfd, 0xf900fdfe, 0xf900fdff, +0xf900fe00, 0xf900fe01, 0xf900fe02, 0xf900fe03, 0xf900fe04, 0xf900fe05, 0xf900fe06, 0xf900fe07, +0xf900fef8, 0xf900fef9, 0xf900fefa, 0xf900fefb, 0xf900fefc, 0xf900fefd, 0xf900fefe, 0xf900feff, +0xf900ff00, 0xf900ff01, 0xf900ff02, 0xf900ff03, 0xf900ff04, 0xf900ff05, 0xf900ff06, 0xf900ff07, +0xf900fff8, 0xf900fff9, 0xf900fffa, 0xf900fffb, 0xf900fffc, 0xf900fffd, 0xf900fffe, 0xf900ffff, +0xf9010000, 0xf9010001, 0xf9010002, 0xf9010003, 0xf9010004, 0xf9010005, 0xf9010006, 0xf9010007, +0xf90100f8, 0xf90100f9, 0xf90100fa, 0xf90100fb, 0xf90100fc, 0xf90100fd, 0xf90100fe, 0xf90100ff, +0xf9010100, 0xf9010101, 0xf9010102, 0xf9010103, 0xf9010104, 0xf9010105, 0xf9010106, 0xf9010107, +0xf90101f8, 0xf90101f9, 0xf90101fa, 0xf90101fb, 0xf90101fc, 0xf90101fd, 0xf90101fe, 0xf90101ff, +0xf9010200, 0xf9010201, 0xf9010202, 0xf9010203, 0xf9010204, 0xf9010205, 0xf9010206, 0xf9010207, +0xf90102f8, 0xf90102f9, 0xf90102fa, 0xf90102fb, 0xf90102fc, 0xf90102fd, 0xf90102fe, 0xf90102ff, +0xf9010300, 0xf9010301, 0xf9010302, 0xf9010303, 0xf9010304, 0xf9010305, 0xf9010306, 0xf9010307, +0xf90103f8, 0xf90103f9, 0xf90103fa, 0xf90103fb, 0xf90103fc, 0xf90103fd, 0xf90103fe, 0xf90103ff, +0xf9010400, 0xf9010401, 0xf9010402, 0xf9010403, 0xf9010404, 0xf9010405, 0xf9010406, 0xf9010407, +0xf90104f8, 0xf90104f9, 0xf90104fa, 0xf90104fb, 0xf90104fc, 0xf90104fd, 0xf90104fe, 0xf90104ff, +0xf9010500, 0xf9010501, 0xf9010502, 0xf9010503, 0xf9010504, 0xf9010505, 0xf9010506, 0xf9010507, +0xf90105f8, 0xf90105f9, 0xf90105fa, 0xf90105fb, 0xf90105fc, 0xf90105fd, 0xf90105fe, 0xf90105ff, +0xf9010600, 0xf9010601, 0xf9010602, 0xf9010603, 0xf9010604, 0xf9010605, 0xf9010606, 0xf9010607, +0xf90106f8, 0xf90106f9, 0xf90106fa, 0xf90106fb, 0xf90106fc, 0xf90106fd, 0xf90106fe, 0xf90106ff, +0xf9010700, 0xf9010701, 0xf9010702, 0xf9010703, 0xf9010704, 0xf9010705, 0xf9010706, 0xf9010707, +0xf90107f8, 0xf90107f9, 0xf90107fa, 0xf90107fb, 0xf90107fc, 0xf90107fd, 0xf90107fe, 0xf90107ff, +0xf901f800, 0xf901f801, 0xf901f802, 0xf901f803, 0xf901f804, 0xf901f805, 0xf901f806, 0xf901f807, +0xf901f8f8, 0xf901f8f9, 0xf901f8fa, 0xf901f8fb, 0xf901f8fc, 0xf901f8fd, 0xf901f8fe, 0xf901f8ff, +0xf901f900, 0xf901f901, 0xf901f902, 0xf901f903, 0xf901f904, 0xf901f905, 0xf901f906, 0xf901f907, +0xf901f9f8, 0xf901f9f9, 0xf901f9fa, 0xf901f9fb, 0xf901f9fc, 0xf901f9fd, 0xf901f9fe, 0xf901f9ff, +0xf901fa00, 0xf901fa01, 0xf901fa02, 0xf901fa03, 0xf901fa04, 0xf901fa05, 0xf901fa06, 0xf901fa07, +0xf901faf8, 0xf901faf9, 0xf901fafa, 0xf901fafb, 0xf901fafc, 0xf901fafd, 0xf901fafe, 0xf901faff, +0xf901fb00, 0xf901fb01, 0xf901fb02, 0xf901fb03, 0xf901fb04, 0xf901fb05, 0xf901fb06, 0xf901fb07, +0xf901fbf8, 0xf901fbf9, 0xf901fbfa, 0xf901fbfb, 0xf901fbfc, 0xf901fbfd, 0xf901fbfe, 0xf901fbff, +0xf901fc00, 0xf901fc01, 0xf901fc02, 0xf901fc03, 0xf901fc04, 0xf901fc05, 0xf901fc06, 0xf901fc07, +0xf901fcf8, 0xf901fcf9, 0xf901fcfa, 0xf901fcfb, 0xf901fcfc, 0xf901fcfd, 0xf901fcfe, 0xf901fcff, +0xf901fd00, 0xf901fd01, 0xf901fd02, 0xf901fd03, 0xf901fd04, 0xf901fd05, 0xf901fd06, 0xf901fd07, +0xf901fdf8, 0xf901fdf9, 0xf901fdfa, 0xf901fdfb, 0xf901fdfc, 0xf901fdfd, 0xf901fdfe, 0xf901fdff, +0xf901fe00, 0xf901fe01, 0xf901fe02, 0xf901fe03, 0xf901fe04, 0xf901fe05, 0xf901fe06, 0xf901fe07, +0xf901fef8, 0xf901fef9, 0xf901fefa, 0xf901fefb, 0xf901fefc, 0xf901fefd, 0xf901fefe, 0xf901feff, +0xf901ff00, 0xf901ff01, 0xf901ff02, 0xf901ff03, 0xf901ff04, 0xf901ff05, 0xf901ff06, 0xf901ff07, +0xf901fff8, 0xf901fff9, 0xf901fffa, 0xf901fffb, 0xf901fffc, 0xf901fffd, 0xf901fffe, 0xf901ffff, +0xf9020000, 0xf9020001, 0xf9020002, 0xf9020003, 0xf9020004, 0xf9020005, 0xf9020006, 0xf9020007, +0xf90200f8, 0xf90200f9, 0xf90200fa, 0xf90200fb, 0xf90200fc, 0xf90200fd, 0xf90200fe, 0xf90200ff, +0xf9020100, 0xf9020101, 0xf9020102, 0xf9020103, 0xf9020104, 0xf9020105, 0xf9020106, 0xf9020107, +0xf90201f8, 0xf90201f9, 0xf90201fa, 0xf90201fb, 0xf90201fc, 0xf90201fd, 0xf90201fe, 0xf90201ff, +0xf9020200, 0xf9020201, 0xf9020202, 0xf9020203, 0xf9020204, 0xf9020205, 0xf9020206, 0xf9020207, +0xf90202f8, 0xf90202f9, 0xf90202fa, 0xf90202fb, 0xf90202fc, 0xf90202fd, 0xf90202fe, 0xf90202ff, +0xf9020300, 0xf9020301, 0xf9020302, 0xf9020303, 0xf9020304, 0xf9020305, 0xf9020306, 0xf9020307, +0xf90203f8, 0xf90203f9, 0xf90203fa, 0xf90203fb, 0xf90203fc, 0xf90203fd, 0xf90203fe, 0xf90203ff, +0xf9020400, 0xf9020401, 0xf9020402, 0xf9020403, 0xf9020404, 0xf9020405, 0xf9020406, 0xf9020407, +0xf90204f8, 0xf90204f9, 0xf90204fa, 0xf90204fb, 0xf90204fc, 0xf90204fd, 0xf90204fe, 0xf90204ff, +0xf9020500, 0xf9020501, 0xf9020502, 0xf9020503, 0xf9020504, 0xf9020505, 0xf9020506, 0xf9020507, +0xf90205f8, 0xf90205f9, 0xf90205fa, 0xf90205fb, 0xf90205fc, 0xf90205fd, 0xf90205fe, 0xf90205ff, +0xf9020600, 0xf9020601, 0xf9020602, 0xf9020603, 0xf9020604, 0xf9020605, 0xf9020606, 0xf9020607, +0xf90206f8, 0xf90206f9, 0xf90206fa, 0xf90206fb, 0xf90206fc, 0xf90206fd, 0xf90206fe, 0xf90206ff, +0xf9020700, 0xf9020701, 0xf9020702, 0xf9020703, 0xf9020704, 0xf9020705, 0xf9020706, 0xf9020707, +0xf90207f8, 0xf90207f9, 0xf90207fa, 0xf90207fb, 0xf90207fc, 0xf90207fd, 0xf90207fe, 0xf90207ff, +0xf902f800, 0xf902f801, 0xf902f802, 0xf902f803, 0xf902f804, 0xf902f805, 0xf902f806, 0xf902f807, +0xf902f8f8, 0xf902f8f9, 0xf902f8fa, 0xf902f8fb, 0xf902f8fc, 0xf902f8fd, 0xf902f8fe, 0xf902f8ff, +0xf902f900, 0xf902f901, 0xf902f902, 0xf902f903, 0xf902f904, 0xf902f905, 0xf902f906, 0xf902f907, +0xf902f9f8, 0xf902f9f9, 0xf902f9fa, 0xf902f9fb, 0xf902f9fc, 0xf902f9fd, 0xf902f9fe, 0xf902f9ff, +0xf902fa00, 0xf902fa01, 0xf902fa02, 0xf902fa03, 0xf902fa04, 0xf902fa05, 0xf902fa06, 0xf902fa07, +0xf902faf8, 0xf902faf9, 0xf902fafa, 0xf902fafb, 0xf902fafc, 0xf902fafd, 0xf902fafe, 0xf902faff, +0xf902fb00, 0xf902fb01, 0xf902fb02, 0xf902fb03, 0xf902fb04, 0xf902fb05, 0xf902fb06, 0xf902fb07, +0xf902fbf8, 0xf902fbf9, 0xf902fbfa, 0xf902fbfb, 0xf902fbfc, 0xf902fbfd, 0xf902fbfe, 0xf902fbff, +0xf902fc00, 0xf902fc01, 0xf902fc02, 0xf902fc03, 0xf902fc04, 0xf902fc05, 0xf902fc06, 0xf902fc07, +0xf902fcf8, 0xf902fcf9, 0xf902fcfa, 0xf902fcfb, 0xf902fcfc, 0xf902fcfd, 0xf902fcfe, 0xf902fcff, +0xf902fd00, 0xf902fd01, 0xf902fd02, 0xf902fd03, 0xf902fd04, 0xf902fd05, 0xf902fd06, 0xf902fd07, +0xf902fdf8, 0xf902fdf9, 0xf902fdfa, 0xf902fdfb, 0xf902fdfc, 0xf902fdfd, 0xf902fdfe, 0xf902fdff, +0xf902fe00, 0xf902fe01, 0xf902fe02, 0xf902fe03, 0xf902fe04, 0xf902fe05, 0xf902fe06, 0xf902fe07, +0xf902fef8, 0xf902fef9, 0xf902fefa, 0xf902fefb, 0xf902fefc, 0xf902fefd, 0xf902fefe, 0xf902feff, +0xf902ff00, 0xf902ff01, 0xf902ff02, 0xf902ff03, 0xf902ff04, 0xf902ff05, 0xf902ff06, 0xf902ff07, +0xf902fff8, 0xf902fff9, 0xf902fffa, 0xf902fffb, 0xf902fffc, 0xf902fffd, 0xf902fffe, 0xf902ffff, +0xf9030000, 0xf9030001, 0xf9030002, 0xf9030003, 0xf9030004, 0xf9030005, 0xf9030006, 0xf9030007, +0xf90300f8, 0xf90300f9, 0xf90300fa, 0xf90300fb, 0xf90300fc, 0xf90300fd, 0xf90300fe, 0xf90300ff, +0xf9030100, 0xf9030101, 0xf9030102, 0xf9030103, 0xf9030104, 0xf9030105, 0xf9030106, 0xf9030107, +0xf90301f8, 0xf90301f9, 0xf90301fa, 0xf90301fb, 0xf90301fc, 0xf90301fd, 0xf90301fe, 0xf90301ff, +0xf9030200, 0xf9030201, 0xf9030202, 0xf9030203, 0xf9030204, 0xf9030205, 0xf9030206, 0xf9030207, +0xf90302f8, 0xf90302f9, 0xf90302fa, 0xf90302fb, 0xf90302fc, 0xf90302fd, 0xf90302fe, 0xf90302ff, +0xf9030300, 0xf9030301, 0xf9030302, 0xf9030303, 0xf9030304, 0xf9030305, 0xf9030306, 0xf9030307, +0xf90303f8, 0xf90303f9, 0xf90303fa, 0xf90303fb, 0xf90303fc, 0xf90303fd, 0xf90303fe, 0xf90303ff, +0xf9030400, 0xf9030401, 0xf9030402, 0xf9030403, 0xf9030404, 0xf9030405, 0xf9030406, 0xf9030407, +0xf90304f8, 0xf90304f9, 0xf90304fa, 0xf90304fb, 0xf90304fc, 0xf90304fd, 0xf90304fe, 0xf90304ff, +0xf9030500, 0xf9030501, 0xf9030502, 0xf9030503, 0xf9030504, 0xf9030505, 0xf9030506, 0xf9030507, +0xf90305f8, 0xf90305f9, 0xf90305fa, 0xf90305fb, 0xf90305fc, 0xf90305fd, 0xf90305fe, 0xf90305ff, +0xf9030600, 0xf9030601, 0xf9030602, 0xf9030603, 0xf9030604, 0xf9030605, 0xf9030606, 0xf9030607, +0xf90306f8, 0xf90306f9, 0xf90306fa, 0xf90306fb, 0xf90306fc, 0xf90306fd, 0xf90306fe, 0xf90306ff, +0xf9030700, 0xf9030701, 0xf9030702, 0xf9030703, 0xf9030704, 0xf9030705, 0xf9030706, 0xf9030707, +0xf90307f8, 0xf90307f9, 0xf90307fa, 0xf90307fb, 0xf90307fc, 0xf90307fd, 0xf90307fe, 0xf90307ff, +0xf903f800, 0xf903f801, 0xf903f802, 0xf903f803, 0xf903f804, 0xf903f805, 0xf903f806, 0xf903f807, +0xf903f8f8, 0xf903f8f9, 0xf903f8fa, 0xf903f8fb, 0xf903f8fc, 0xf903f8fd, 0xf903f8fe, 0xf903f8ff, +0xf903f900, 0xf903f901, 0xf903f902, 0xf903f903, 0xf903f904, 0xf903f905, 0xf903f906, 0xf903f907, +0xf903f9f8, 0xf903f9f9, 0xf903f9fa, 0xf903f9fb, 0xf903f9fc, 0xf903f9fd, 0xf903f9fe, 0xf903f9ff, +0xf903fa00, 0xf903fa01, 0xf903fa02, 0xf903fa03, 0xf903fa04, 0xf903fa05, 0xf903fa06, 0xf903fa07, +0xf903faf8, 0xf903faf9, 0xf903fafa, 0xf903fafb, 0xf903fafc, 0xf903fafd, 0xf903fafe, 0xf903faff, +0xf903fb00, 0xf903fb01, 0xf903fb02, 0xf903fb03, 0xf903fb04, 0xf903fb05, 0xf903fb06, 0xf903fb07, +0xf903fbf8, 0xf903fbf9, 0xf903fbfa, 0xf903fbfb, 0xf903fbfc, 0xf903fbfd, 0xf903fbfe, 0xf903fbff, +0xf903fc00, 0xf903fc01, 0xf903fc02, 0xf903fc03, 0xf903fc04, 0xf903fc05, 0xf903fc06, 0xf903fc07, +0xf903fcf8, 0xf903fcf9, 0xf903fcfa, 0xf903fcfb, 0xf903fcfc, 0xf903fcfd, 0xf903fcfe, 0xf903fcff, +0xf903fd00, 0xf903fd01, 0xf903fd02, 0xf903fd03, 0xf903fd04, 0xf903fd05, 0xf903fd06, 0xf903fd07, +0xf903fdf8, 0xf903fdf9, 0xf903fdfa, 0xf903fdfb, 0xf903fdfc, 0xf903fdfd, 0xf903fdfe, 0xf903fdff, +0xf903fe00, 0xf903fe01, 0xf903fe02, 0xf903fe03, 0xf903fe04, 0xf903fe05, 0xf903fe06, 0xf903fe07, +0xf903fef8, 0xf903fef9, 0xf903fefa, 0xf903fefb, 0xf903fefc, 0xf903fefd, 0xf903fefe, 0xf903feff, +0xf903ff00, 0xf903ff01, 0xf903ff02, 0xf903ff03, 0xf903ff04, 0xf903ff05, 0xf903ff06, 0xf903ff07, +0xf903fff8, 0xf903fff9, 0xf903fffa, 0xf903fffb, 0xf903fffc, 0xf903fffd, 0xf903fffe, 0xf903ffff, +0xf9040000, 0xf9040001, 0xf9040002, 0xf9040003, 0xf9040004, 0xf9040005, 0xf9040006, 0xf9040007, +0xf90400f8, 0xf90400f9, 0xf90400fa, 0xf90400fb, 0xf90400fc, 0xf90400fd, 0xf90400fe, 0xf90400ff, +0xf9040100, 0xf9040101, 0xf9040102, 0xf9040103, 0xf9040104, 0xf9040105, 0xf9040106, 0xf9040107, +0xf90401f8, 0xf90401f9, 0xf90401fa, 0xf90401fb, 0xf90401fc, 0xf90401fd, 0xf90401fe, 0xf90401ff, +0xf9040200, 0xf9040201, 0xf9040202, 0xf9040203, 0xf9040204, 0xf9040205, 0xf9040206, 0xf9040207, +0xf90402f8, 0xf90402f9, 0xf90402fa, 0xf90402fb, 0xf90402fc, 0xf90402fd, 0xf90402fe, 0xf90402ff, +0xf9040300, 0xf9040301, 0xf9040302, 0xf9040303, 0xf9040304, 0xf9040305, 0xf9040306, 0xf9040307, +0xf90403f8, 0xf90403f9, 0xf90403fa, 0xf90403fb, 0xf90403fc, 0xf90403fd, 0xf90403fe, 0xf90403ff, +0xf9040400, 0xf9040401, 0xf9040402, 0xf9040403, 0xf9040404, 0xf9040405, 0xf9040406, 0xf9040407, +0xf90404f8, 0xf90404f9, 0xf90404fa, 0xf90404fb, 0xf90404fc, 0xf90404fd, 0xf90404fe, 0xf90404ff, +0xf9040500, 0xf9040501, 0xf9040502, 0xf9040503, 0xf9040504, 0xf9040505, 0xf9040506, 0xf9040507, +0xf90405f8, 0xf90405f9, 0xf90405fa, 0xf90405fb, 0xf90405fc, 0xf90405fd, 0xf90405fe, 0xf90405ff, +0xf9040600, 0xf9040601, 0xf9040602, 0xf9040603, 0xf9040604, 0xf9040605, 0xf9040606, 0xf9040607, +0xf90406f8, 0xf90406f9, 0xf90406fa, 0xf90406fb, 0xf90406fc, 0xf90406fd, 0xf90406fe, 0xf90406ff, +0xf9040700, 0xf9040701, 0xf9040702, 0xf9040703, 0xf9040704, 0xf9040705, 0xf9040706, 0xf9040707, +0xf90407f8, 0xf90407f9, 0xf90407fa, 0xf90407fb, 0xf90407fc, 0xf90407fd, 0xf90407fe, 0xf90407ff, +0xf904f800, 0xf904f801, 0xf904f802, 0xf904f803, 0xf904f804, 0xf904f805, 0xf904f806, 0xf904f807, +0xf904f8f8, 0xf904f8f9, 0xf904f8fa, 0xf904f8fb, 0xf904f8fc, 0xf904f8fd, 0xf904f8fe, 0xf904f8ff, +0xf904f900, 0xf904f901, 0xf904f902, 0xf904f903, 0xf904f904, 0xf904f905, 0xf904f906, 0xf904f907, +0xf904f9f8, 0xf904f9f9, 0xf904f9fa, 0xf904f9fb, 0xf904f9fc, 0xf904f9fd, 0xf904f9fe, 0xf904f9ff, +0xf904fa00, 0xf904fa01, 0xf904fa02, 0xf904fa03, 0xf904fa04, 0xf904fa05, 0xf904fa06, 0xf904fa07, +0xf904faf8, 0xf904faf9, 0xf904fafa, 0xf904fafb, 0xf904fafc, 0xf904fafd, 0xf904fafe, 0xf904faff, +0xf904fb00, 0xf904fb01, 0xf904fb02, 0xf904fb03, 0xf904fb04, 0xf904fb05, 0xf904fb06, 0xf904fb07, +0xf904fbf8, 0xf904fbf9, 0xf904fbfa, 0xf904fbfb, 0xf904fbfc, 0xf904fbfd, 0xf904fbfe, 0xf904fbff, +0xf904fc00, 0xf904fc01, 0xf904fc02, 0xf904fc03, 0xf904fc04, 0xf904fc05, 0xf904fc06, 0xf904fc07, +0xf904fcf8, 0xf904fcf9, 0xf904fcfa, 0xf904fcfb, 0xf904fcfc, 0xf904fcfd, 0xf904fcfe, 0xf904fcff, +0xf904fd00, 0xf904fd01, 0xf904fd02, 0xf904fd03, 0xf904fd04, 0xf904fd05, 0xf904fd06, 0xf904fd07, +0xf904fdf8, 0xf904fdf9, 0xf904fdfa, 0xf904fdfb, 0xf904fdfc, 0xf904fdfd, 0xf904fdfe, 0xf904fdff, +0xf904fe00, 0xf904fe01, 0xf904fe02, 0xf904fe03, 0xf904fe04, 0xf904fe05, 0xf904fe06, 0xf904fe07, +0xf904fef8, 0xf904fef9, 0xf904fefa, 0xf904fefb, 0xf904fefc, 0xf904fefd, 0xf904fefe, 0xf904feff, +0xf904ff00, 0xf904ff01, 0xf904ff02, 0xf904ff03, 0xf904ff04, 0xf904ff05, 0xf904ff06, 0xf904ff07, +0xf904fff8, 0xf904fff9, 0xf904fffa, 0xf904fffb, 0xf904fffc, 0xf904fffd, 0xf904fffe, 0xf904ffff, +0xf9050000, 0xf9050001, 0xf9050002, 0xf9050003, 0xf9050004, 0xf9050005, 0xf9050006, 0xf9050007, +0xf90500f8, 0xf90500f9, 0xf90500fa, 0xf90500fb, 0xf90500fc, 0xf90500fd, 0xf90500fe, 0xf90500ff, +0xf9050100, 0xf9050101, 0xf9050102, 0xf9050103, 0xf9050104, 0xf9050105, 0xf9050106, 0xf9050107, +0xf90501f8, 0xf90501f9, 0xf90501fa, 0xf90501fb, 0xf90501fc, 0xf90501fd, 0xf90501fe, 0xf90501ff, +0xf9050200, 0xf9050201, 0xf9050202, 0xf9050203, 0xf9050204, 0xf9050205, 0xf9050206, 0xf9050207, +0xf90502f8, 0xf90502f9, 0xf90502fa, 0xf90502fb, 0xf90502fc, 0xf90502fd, 0xf90502fe, 0xf90502ff, +0xf9050300, 0xf9050301, 0xf9050302, 0xf9050303, 0xf9050304, 0xf9050305, 0xf9050306, 0xf9050307, +0xf90503f8, 0xf90503f9, 0xf90503fa, 0xf90503fb, 0xf90503fc, 0xf90503fd, 0xf90503fe, 0xf90503ff, +0xf9050400, 0xf9050401, 0xf9050402, 0xf9050403, 0xf9050404, 0xf9050405, 0xf9050406, 0xf9050407, +0xf90504f8, 0xf90504f9, 0xf90504fa, 0xf90504fb, 0xf90504fc, 0xf90504fd, 0xf90504fe, 0xf90504ff, +0xf9050500, 0xf9050501, 0xf9050502, 0xf9050503, 0xf9050504, 0xf9050505, 0xf9050506, 0xf9050507, +0xf90505f8, 0xf90505f9, 0xf90505fa, 0xf90505fb, 0xf90505fc, 0xf90505fd, 0xf90505fe, 0xf90505ff, +0xf9050600, 0xf9050601, 0xf9050602, 0xf9050603, 0xf9050604, 0xf9050605, 0xf9050606, 0xf9050607, +0xf90506f8, 0xf90506f9, 0xf90506fa, 0xf90506fb, 0xf90506fc, 0xf90506fd, 0xf90506fe, 0xf90506ff, +0xf9050700, 0xf9050701, 0xf9050702, 0xf9050703, 0xf9050704, 0xf9050705, 0xf9050706, 0xf9050707, +0xf90507f8, 0xf90507f9, 0xf90507fa, 0xf90507fb, 0xf90507fc, 0xf90507fd, 0xf90507fe, 0xf90507ff, +0xf905f800, 0xf905f801, 0xf905f802, 0xf905f803, 0xf905f804, 0xf905f805, 0xf905f806, 0xf905f807, +0xf905f8f8, 0xf905f8f9, 0xf905f8fa, 0xf905f8fb, 0xf905f8fc, 0xf905f8fd, 0xf905f8fe, 0xf905f8ff, +0xf905f900, 0xf905f901, 0xf905f902, 0xf905f903, 0xf905f904, 0xf905f905, 0xf905f906, 0xf905f907, +0xf905f9f8, 0xf905f9f9, 0xf905f9fa, 0xf905f9fb, 0xf905f9fc, 0xf905f9fd, 0xf905f9fe, 0xf905f9ff, +0xf905fa00, 0xf905fa01, 0xf905fa02, 0xf905fa03, 0xf905fa04, 0xf905fa05, 0xf905fa06, 0xf905fa07, +0xf905faf8, 0xf905faf9, 0xf905fafa, 0xf905fafb, 0xf905fafc, 0xf905fafd, 0xf905fafe, 0xf905faff, +0xf905fb00, 0xf905fb01, 0xf905fb02, 0xf905fb03, 0xf905fb04, 0xf905fb05, 0xf905fb06, 0xf905fb07, +0xf905fbf8, 0xf905fbf9, 0xf905fbfa, 0xf905fbfb, 0xf905fbfc, 0xf905fbfd, 0xf905fbfe, 0xf905fbff, +0xf905fc00, 0xf905fc01, 0xf905fc02, 0xf905fc03, 0xf905fc04, 0xf905fc05, 0xf905fc06, 0xf905fc07, +0xf905fcf8, 0xf905fcf9, 0xf905fcfa, 0xf905fcfb, 0xf905fcfc, 0xf905fcfd, 0xf905fcfe, 0xf905fcff, +0xf905fd00, 0xf905fd01, 0xf905fd02, 0xf905fd03, 0xf905fd04, 0xf905fd05, 0xf905fd06, 0xf905fd07, +0xf905fdf8, 0xf905fdf9, 0xf905fdfa, 0xf905fdfb, 0xf905fdfc, 0xf905fdfd, 0xf905fdfe, 0xf905fdff, +0xf905fe00, 0xf905fe01, 0xf905fe02, 0xf905fe03, 0xf905fe04, 0xf905fe05, 0xf905fe06, 0xf905fe07, +0xf905fef8, 0xf905fef9, 0xf905fefa, 0xf905fefb, 0xf905fefc, 0xf905fefd, 0xf905fefe, 0xf905feff, +0xf905ff00, 0xf905ff01, 0xf905ff02, 0xf905ff03, 0xf905ff04, 0xf905ff05, 0xf905ff06, 0xf905ff07, +0xf905fff8, 0xf905fff9, 0xf905fffa, 0xf905fffb, 0xf905fffc, 0xf905fffd, 0xf905fffe, 0xf905ffff, +0xf9060000, 0xf9060001, 0xf9060002, 0xf9060003, 0xf9060004, 0xf9060005, 0xf9060006, 0xf9060007, +0xf90600f8, 0xf90600f9, 0xf90600fa, 0xf90600fb, 0xf90600fc, 0xf90600fd, 0xf90600fe, 0xf90600ff, +0xf9060100, 0xf9060101, 0xf9060102, 0xf9060103, 0xf9060104, 0xf9060105, 0xf9060106, 0xf9060107, +0xf90601f8, 0xf90601f9, 0xf90601fa, 0xf90601fb, 0xf90601fc, 0xf90601fd, 0xf90601fe, 0xf90601ff, +0xf9060200, 0xf9060201, 0xf9060202, 0xf9060203, 0xf9060204, 0xf9060205, 0xf9060206, 0xf9060207, +0xf90602f8, 0xf90602f9, 0xf90602fa, 0xf90602fb, 0xf90602fc, 0xf90602fd, 0xf90602fe, 0xf90602ff, +0xf9060300, 0xf9060301, 0xf9060302, 0xf9060303, 0xf9060304, 0xf9060305, 0xf9060306, 0xf9060307, +0xf90603f8, 0xf90603f9, 0xf90603fa, 0xf90603fb, 0xf90603fc, 0xf90603fd, 0xf90603fe, 0xf90603ff, +0xf9060400, 0xf9060401, 0xf9060402, 0xf9060403, 0xf9060404, 0xf9060405, 0xf9060406, 0xf9060407, +0xf90604f8, 0xf90604f9, 0xf90604fa, 0xf90604fb, 0xf90604fc, 0xf90604fd, 0xf90604fe, 0xf90604ff, +0xf9060500, 0xf9060501, 0xf9060502, 0xf9060503, 0xf9060504, 0xf9060505, 0xf9060506, 0xf9060507, +0xf90605f8, 0xf90605f9, 0xf90605fa, 0xf90605fb, 0xf90605fc, 0xf90605fd, 0xf90605fe, 0xf90605ff, +0xf9060600, 0xf9060601, 0xf9060602, 0xf9060603, 0xf9060604, 0xf9060605, 0xf9060606, 0xf9060607, +0xf90606f8, 0xf90606f9, 0xf90606fa, 0xf90606fb, 0xf90606fc, 0xf90606fd, 0xf90606fe, 0xf90606ff, +0xf9060700, 0xf9060701, 0xf9060702, 0xf9060703, 0xf9060704, 0xf9060705, 0xf9060706, 0xf9060707, +0xf90607f8, 0xf90607f9, 0xf90607fa, 0xf90607fb, 0xf90607fc, 0xf90607fd, 0xf90607fe, 0xf90607ff, +0xf906f800, 0xf906f801, 0xf906f802, 0xf906f803, 0xf906f804, 0xf906f805, 0xf906f806, 0xf906f807, +0xf906f8f8, 0xf906f8f9, 0xf906f8fa, 0xf906f8fb, 0xf906f8fc, 0xf906f8fd, 0xf906f8fe, 0xf906f8ff, +0xf906f900, 0xf906f901, 0xf906f902, 0xf906f903, 0xf906f904, 0xf906f905, 0xf906f906, 0xf906f907, +0xf906f9f8, 0xf906f9f9, 0xf906f9fa, 0xf906f9fb, 0xf906f9fc, 0xf906f9fd, 0xf906f9fe, 0xf906f9ff, +0xf906fa00, 0xf906fa01, 0xf906fa02, 0xf906fa03, 0xf906fa04, 0xf906fa05, 0xf906fa06, 0xf906fa07, +0xf906faf8, 0xf906faf9, 0xf906fafa, 0xf906fafb, 0xf906fafc, 0xf906fafd, 0xf906fafe, 0xf906faff, +0xf906fb00, 0xf906fb01, 0xf906fb02, 0xf906fb03, 0xf906fb04, 0xf906fb05, 0xf906fb06, 0xf906fb07, +0xf906fbf8, 0xf906fbf9, 0xf906fbfa, 0xf906fbfb, 0xf906fbfc, 0xf906fbfd, 0xf906fbfe, 0xf906fbff, +0xf906fc00, 0xf906fc01, 0xf906fc02, 0xf906fc03, 0xf906fc04, 0xf906fc05, 0xf906fc06, 0xf906fc07, +0xf906fcf8, 0xf906fcf9, 0xf906fcfa, 0xf906fcfb, 0xf906fcfc, 0xf906fcfd, 0xf906fcfe, 0xf906fcff, +0xf906fd00, 0xf906fd01, 0xf906fd02, 0xf906fd03, 0xf906fd04, 0xf906fd05, 0xf906fd06, 0xf906fd07, +0xf906fdf8, 0xf906fdf9, 0xf906fdfa, 0xf906fdfb, 0xf906fdfc, 0xf906fdfd, 0xf906fdfe, 0xf906fdff, +0xf906fe00, 0xf906fe01, 0xf906fe02, 0xf906fe03, 0xf906fe04, 0xf906fe05, 0xf906fe06, 0xf906fe07, +0xf906fef8, 0xf906fef9, 0xf906fefa, 0xf906fefb, 0xf906fefc, 0xf906fefd, 0xf906fefe, 0xf906feff, +0xf906ff00, 0xf906ff01, 0xf906ff02, 0xf906ff03, 0xf906ff04, 0xf906ff05, 0xf906ff06, 0xf906ff07, +0xf906fff8, 0xf906fff9, 0xf906fffa, 0xf906fffb, 0xf906fffc, 0xf906fffd, 0xf906fffe, 0xf906ffff, +0xf9070000, 0xf9070001, 0xf9070002, 0xf9070003, 0xf9070004, 0xf9070005, 0xf9070006, 0xf9070007, +0xf90700f8, 0xf90700f9, 0xf90700fa, 0xf90700fb, 0xf90700fc, 0xf90700fd, 0xf90700fe, 0xf90700ff, +0xf9070100, 0xf9070101, 0xf9070102, 0xf9070103, 0xf9070104, 0xf9070105, 0xf9070106, 0xf9070107, +0xf90701f8, 0xf90701f9, 0xf90701fa, 0xf90701fb, 0xf90701fc, 0xf90701fd, 0xf90701fe, 0xf90701ff, +0xf9070200, 0xf9070201, 0xf9070202, 0xf9070203, 0xf9070204, 0xf9070205, 0xf9070206, 0xf9070207, +0xf90702f8, 0xf90702f9, 0xf90702fa, 0xf90702fb, 0xf90702fc, 0xf90702fd, 0xf90702fe, 0xf90702ff, +0xf9070300, 0xf9070301, 0xf9070302, 0xf9070303, 0xf9070304, 0xf9070305, 0xf9070306, 0xf9070307, +0xf90703f8, 0xf90703f9, 0xf90703fa, 0xf90703fb, 0xf90703fc, 0xf90703fd, 0xf90703fe, 0xf90703ff, +0xf9070400, 0xf9070401, 0xf9070402, 0xf9070403, 0xf9070404, 0xf9070405, 0xf9070406, 0xf9070407, +0xf90704f8, 0xf90704f9, 0xf90704fa, 0xf90704fb, 0xf90704fc, 0xf90704fd, 0xf90704fe, 0xf90704ff, +0xf9070500, 0xf9070501, 0xf9070502, 0xf9070503, 0xf9070504, 0xf9070505, 0xf9070506, 0xf9070507, +0xf90705f8, 0xf90705f9, 0xf90705fa, 0xf90705fb, 0xf90705fc, 0xf90705fd, 0xf90705fe, 0xf90705ff, +0xf9070600, 0xf9070601, 0xf9070602, 0xf9070603, 0xf9070604, 0xf9070605, 0xf9070606, 0xf9070607, +0xf90706f8, 0xf90706f9, 0xf90706fa, 0xf90706fb, 0xf90706fc, 0xf90706fd, 0xf90706fe, 0xf90706ff, +0xf9070700, 0xf9070701, 0xf9070702, 0xf9070703, 0xf9070704, 0xf9070705, 0xf9070706, 0xf9070707, +0xf90707f8, 0xf90707f9, 0xf90707fa, 0xf90707fb, 0xf90707fc, 0xf90707fd, 0xf90707fe, 0xf90707ff, +0xf907f800, 0xf907f801, 0xf907f802, 0xf907f803, 0xf907f804, 0xf907f805, 0xf907f806, 0xf907f807, +0xf907f8f8, 0xf907f8f9, 0xf907f8fa, 0xf907f8fb, 0xf907f8fc, 0xf907f8fd, 0xf907f8fe, 0xf907f8ff, +0xf907f900, 0xf907f901, 0xf907f902, 0xf907f903, 0xf907f904, 0xf907f905, 0xf907f906, 0xf907f907, +0xf907f9f8, 0xf907f9f9, 0xf907f9fa, 0xf907f9fb, 0xf907f9fc, 0xf907f9fd, 0xf907f9fe, 0xf907f9ff, +0xf907fa00, 0xf907fa01, 0xf907fa02, 0xf907fa03, 0xf907fa04, 0xf907fa05, 0xf907fa06, 0xf907fa07, +0xf907faf8, 0xf907faf9, 0xf907fafa, 0xf907fafb, 0xf907fafc, 0xf907fafd, 0xf907fafe, 0xf907faff, +0xf907fb00, 0xf907fb01, 0xf907fb02, 0xf907fb03, 0xf907fb04, 0xf907fb05, 0xf907fb06, 0xf907fb07, +0xf907fbf8, 0xf907fbf9, 0xf907fbfa, 0xf907fbfb, 0xf907fbfc, 0xf907fbfd, 0xf907fbfe, 0xf907fbff, +0xf907fc00, 0xf907fc01, 0xf907fc02, 0xf907fc03, 0xf907fc04, 0xf907fc05, 0xf907fc06, 0xf907fc07, +0xf907fcf8, 0xf907fcf9, 0xf907fcfa, 0xf907fcfb, 0xf907fcfc, 0xf907fcfd, 0xf907fcfe, 0xf907fcff, +0xf907fd00, 0xf907fd01, 0xf907fd02, 0xf907fd03, 0xf907fd04, 0xf907fd05, 0xf907fd06, 0xf907fd07, +0xf907fdf8, 0xf907fdf9, 0xf907fdfa, 0xf907fdfb, 0xf907fdfc, 0xf907fdfd, 0xf907fdfe, 0xf907fdff, +0xf907fe00, 0xf907fe01, 0xf907fe02, 0xf907fe03, 0xf907fe04, 0xf907fe05, 0xf907fe06, 0xf907fe07, +0xf907fef8, 0xf907fef9, 0xf907fefa, 0xf907fefb, 0xf907fefc, 0xf907fefd, 0xf907fefe, 0xf907feff, +0xf907ff00, 0xf907ff01, 0xf907ff02, 0xf907ff03, 0xf907ff04, 0xf907ff05, 0xf907ff06, 0xf907ff07, +0xf907fff8, 0xf907fff9, 0xf907fffa, 0xf907fffb, 0xf907fffc, 0xf907fffd, 0xf907fffe, 0xf907ffff, +0xf9f80000, 0xf9f80001, 0xf9f80002, 0xf9f80003, 0xf9f80004, 0xf9f80005, 0xf9f80006, 0xf9f80007, +0xf9f800f8, 0xf9f800f9, 0xf9f800fa, 0xf9f800fb, 0xf9f800fc, 0xf9f800fd, 0xf9f800fe, 0xf9f800ff, +0xf9f80100, 0xf9f80101, 0xf9f80102, 0xf9f80103, 0xf9f80104, 0xf9f80105, 0xf9f80106, 0xf9f80107, +0xf9f801f8, 0xf9f801f9, 0xf9f801fa, 0xf9f801fb, 0xf9f801fc, 0xf9f801fd, 0xf9f801fe, 0xf9f801ff, +0xf9f80200, 0xf9f80201, 0xf9f80202, 0xf9f80203, 0xf9f80204, 0xf9f80205, 0xf9f80206, 0xf9f80207, +0xf9f802f8, 0xf9f802f9, 0xf9f802fa, 0xf9f802fb, 0xf9f802fc, 0xf9f802fd, 0xf9f802fe, 0xf9f802ff, +0xf9f80300, 0xf9f80301, 0xf9f80302, 0xf9f80303, 0xf9f80304, 0xf9f80305, 0xf9f80306, 0xf9f80307, +0xf9f803f8, 0xf9f803f9, 0xf9f803fa, 0xf9f803fb, 0xf9f803fc, 0xf9f803fd, 0xf9f803fe, 0xf9f803ff, +0xf9f80400, 0xf9f80401, 0xf9f80402, 0xf9f80403, 0xf9f80404, 0xf9f80405, 0xf9f80406, 0xf9f80407, +0xf9f804f8, 0xf9f804f9, 0xf9f804fa, 0xf9f804fb, 0xf9f804fc, 0xf9f804fd, 0xf9f804fe, 0xf9f804ff, +0xf9f80500, 0xf9f80501, 0xf9f80502, 0xf9f80503, 0xf9f80504, 0xf9f80505, 0xf9f80506, 0xf9f80507, +0xf9f805f8, 0xf9f805f9, 0xf9f805fa, 0xf9f805fb, 0xf9f805fc, 0xf9f805fd, 0xf9f805fe, 0xf9f805ff, +0xf9f80600, 0xf9f80601, 0xf9f80602, 0xf9f80603, 0xf9f80604, 0xf9f80605, 0xf9f80606, 0xf9f80607, +0xf9f806f8, 0xf9f806f9, 0xf9f806fa, 0xf9f806fb, 0xf9f806fc, 0xf9f806fd, 0xf9f806fe, 0xf9f806ff, +0xf9f80700, 0xf9f80701, 0xf9f80702, 0xf9f80703, 0xf9f80704, 0xf9f80705, 0xf9f80706, 0xf9f80707, +0xf9f807f8, 0xf9f807f9, 0xf9f807fa, 0xf9f807fb, 0xf9f807fc, 0xf9f807fd, 0xf9f807fe, 0xf9f807ff, +0xf9f8f800, 0xf9f8f801, 0xf9f8f802, 0xf9f8f803, 0xf9f8f804, 0xf9f8f805, 0xf9f8f806, 0xf9f8f807, +0xf9f8f8f8, 0xf9f8f8f9, 0xf9f8f8fa, 0xf9f8f8fb, 0xf9f8f8fc, 0xf9f8f8fd, 0xf9f8f8fe, 0xf9f8f8ff, +0xf9f8f900, 0xf9f8f901, 0xf9f8f902, 0xf9f8f903, 0xf9f8f904, 0xf9f8f905, 0xf9f8f906, 0xf9f8f907, +0xf9f8f9f8, 0xf9f8f9f9, 0xf9f8f9fa, 0xf9f8f9fb, 0xf9f8f9fc, 0xf9f8f9fd, 0xf9f8f9fe, 0xf9f8f9ff, +0xf9f8fa00, 0xf9f8fa01, 0xf9f8fa02, 0xf9f8fa03, 0xf9f8fa04, 0xf9f8fa05, 0xf9f8fa06, 0xf9f8fa07, +0xf9f8faf8, 0xf9f8faf9, 0xf9f8fafa, 0xf9f8fafb, 0xf9f8fafc, 0xf9f8fafd, 0xf9f8fafe, 0xf9f8faff, +0xf9f8fb00, 0xf9f8fb01, 0xf9f8fb02, 0xf9f8fb03, 0xf9f8fb04, 0xf9f8fb05, 0xf9f8fb06, 0xf9f8fb07, +0xf9f8fbf8, 0xf9f8fbf9, 0xf9f8fbfa, 0xf9f8fbfb, 0xf9f8fbfc, 0xf9f8fbfd, 0xf9f8fbfe, 0xf9f8fbff, +0xf9f8fc00, 0xf9f8fc01, 0xf9f8fc02, 0xf9f8fc03, 0xf9f8fc04, 0xf9f8fc05, 0xf9f8fc06, 0xf9f8fc07, +0xf9f8fcf8, 0xf9f8fcf9, 0xf9f8fcfa, 0xf9f8fcfb, 0xf9f8fcfc, 0xf9f8fcfd, 0xf9f8fcfe, 0xf9f8fcff, +0xf9f8fd00, 0xf9f8fd01, 0xf9f8fd02, 0xf9f8fd03, 0xf9f8fd04, 0xf9f8fd05, 0xf9f8fd06, 0xf9f8fd07, +0xf9f8fdf8, 0xf9f8fdf9, 0xf9f8fdfa, 0xf9f8fdfb, 0xf9f8fdfc, 0xf9f8fdfd, 0xf9f8fdfe, 0xf9f8fdff, +0xf9f8fe00, 0xf9f8fe01, 0xf9f8fe02, 0xf9f8fe03, 0xf9f8fe04, 0xf9f8fe05, 0xf9f8fe06, 0xf9f8fe07, +0xf9f8fef8, 0xf9f8fef9, 0xf9f8fefa, 0xf9f8fefb, 0xf9f8fefc, 0xf9f8fefd, 0xf9f8fefe, 0xf9f8feff, +0xf9f8ff00, 0xf9f8ff01, 0xf9f8ff02, 0xf9f8ff03, 0xf9f8ff04, 0xf9f8ff05, 0xf9f8ff06, 0xf9f8ff07, +0xf9f8fff8, 0xf9f8fff9, 0xf9f8fffa, 0xf9f8fffb, 0xf9f8fffc, 0xf9f8fffd, 0xf9f8fffe, 0xf9f8ffff, +0xf9f90000, 0xf9f90001, 0xf9f90002, 0xf9f90003, 0xf9f90004, 0xf9f90005, 0xf9f90006, 0xf9f90007, +0xf9f900f8, 0xf9f900f9, 0xf9f900fa, 0xf9f900fb, 0xf9f900fc, 0xf9f900fd, 0xf9f900fe, 0xf9f900ff, +0xf9f90100, 0xf9f90101, 0xf9f90102, 0xf9f90103, 0xf9f90104, 0xf9f90105, 0xf9f90106, 0xf9f90107, +0xf9f901f8, 0xf9f901f9, 0xf9f901fa, 0xf9f901fb, 0xf9f901fc, 0xf9f901fd, 0xf9f901fe, 0xf9f901ff, +0xf9f90200, 0xf9f90201, 0xf9f90202, 0xf9f90203, 0xf9f90204, 0xf9f90205, 0xf9f90206, 0xf9f90207, +0xf9f902f8, 0xf9f902f9, 0xf9f902fa, 0xf9f902fb, 0xf9f902fc, 0xf9f902fd, 0xf9f902fe, 0xf9f902ff, +0xf9f90300, 0xf9f90301, 0xf9f90302, 0xf9f90303, 0xf9f90304, 0xf9f90305, 0xf9f90306, 0xf9f90307, +0xf9f903f8, 0xf9f903f9, 0xf9f903fa, 0xf9f903fb, 0xf9f903fc, 0xf9f903fd, 0xf9f903fe, 0xf9f903ff, +0xf9f90400, 0xf9f90401, 0xf9f90402, 0xf9f90403, 0xf9f90404, 0xf9f90405, 0xf9f90406, 0xf9f90407, +0xf9f904f8, 0xf9f904f9, 0xf9f904fa, 0xf9f904fb, 0xf9f904fc, 0xf9f904fd, 0xf9f904fe, 0xf9f904ff, +0xf9f90500, 0xf9f90501, 0xf9f90502, 0xf9f90503, 0xf9f90504, 0xf9f90505, 0xf9f90506, 0xf9f90507, +0xf9f905f8, 0xf9f905f9, 0xf9f905fa, 0xf9f905fb, 0xf9f905fc, 0xf9f905fd, 0xf9f905fe, 0xf9f905ff, +0xf9f90600, 0xf9f90601, 0xf9f90602, 0xf9f90603, 0xf9f90604, 0xf9f90605, 0xf9f90606, 0xf9f90607, +0xf9f906f8, 0xf9f906f9, 0xf9f906fa, 0xf9f906fb, 0xf9f906fc, 0xf9f906fd, 0xf9f906fe, 0xf9f906ff, +0xf9f90700, 0xf9f90701, 0xf9f90702, 0xf9f90703, 0xf9f90704, 0xf9f90705, 0xf9f90706, 0xf9f90707, +0xf9f907f8, 0xf9f907f9, 0xf9f907fa, 0xf9f907fb, 0xf9f907fc, 0xf9f907fd, 0xf9f907fe, 0xf9f907ff, +0xf9f9f800, 0xf9f9f801, 0xf9f9f802, 0xf9f9f803, 0xf9f9f804, 0xf9f9f805, 0xf9f9f806, 0xf9f9f807, +0xf9f9f8f8, 0xf9f9f8f9, 0xf9f9f8fa, 0xf9f9f8fb, 0xf9f9f8fc, 0xf9f9f8fd, 0xf9f9f8fe, 0xf9f9f8ff, +0xf9f9f900, 0xf9f9f901, 0xf9f9f902, 0xf9f9f903, 0xf9f9f904, 0xf9f9f905, 0xf9f9f906, 0xf9f9f907, +0xf9f9f9f8, 0xf9f9f9f9, 0xf9f9f9fa, 0xf9f9f9fb, 0xf9f9f9fc, 0xf9f9f9fd, 0xf9f9f9fe, 0xf9f9f9ff, +0xf9f9fa00, 0xf9f9fa01, 0xf9f9fa02, 0xf9f9fa03, 0xf9f9fa04, 0xf9f9fa05, 0xf9f9fa06, 0xf9f9fa07, +0xf9f9faf8, 0xf9f9faf9, 0xf9f9fafa, 0xf9f9fafb, 0xf9f9fafc, 0xf9f9fafd, 0xf9f9fafe, 0xf9f9faff, +0xf9f9fb00, 0xf9f9fb01, 0xf9f9fb02, 0xf9f9fb03, 0xf9f9fb04, 0xf9f9fb05, 0xf9f9fb06, 0xf9f9fb07, +0xf9f9fbf8, 0xf9f9fbf9, 0xf9f9fbfa, 0xf9f9fbfb, 0xf9f9fbfc, 0xf9f9fbfd, 0xf9f9fbfe, 0xf9f9fbff, +0xf9f9fc00, 0xf9f9fc01, 0xf9f9fc02, 0xf9f9fc03, 0xf9f9fc04, 0xf9f9fc05, 0xf9f9fc06, 0xf9f9fc07, +0xf9f9fcf8, 0xf9f9fcf9, 0xf9f9fcfa, 0xf9f9fcfb, 0xf9f9fcfc, 0xf9f9fcfd, 0xf9f9fcfe, 0xf9f9fcff, +0xf9f9fd00, 0xf9f9fd01, 0xf9f9fd02, 0xf9f9fd03, 0xf9f9fd04, 0xf9f9fd05, 0xf9f9fd06, 0xf9f9fd07, +0xf9f9fdf8, 0xf9f9fdf9, 0xf9f9fdfa, 0xf9f9fdfb, 0xf9f9fdfc, 0xf9f9fdfd, 0xf9f9fdfe, 0xf9f9fdff, +0xf9f9fe00, 0xf9f9fe01, 0xf9f9fe02, 0xf9f9fe03, 0xf9f9fe04, 0xf9f9fe05, 0xf9f9fe06, 0xf9f9fe07, +0xf9f9fef8, 0xf9f9fef9, 0xf9f9fefa, 0xf9f9fefb, 0xf9f9fefc, 0xf9f9fefd, 0xf9f9fefe, 0xf9f9feff, +0xf9f9ff00, 0xf9f9ff01, 0xf9f9ff02, 0xf9f9ff03, 0xf9f9ff04, 0xf9f9ff05, 0xf9f9ff06, 0xf9f9ff07, +0xf9f9fff8, 0xf9f9fff9, 0xf9f9fffa, 0xf9f9fffb, 0xf9f9fffc, 0xf9f9fffd, 0xf9f9fffe, 0xf9f9ffff, +0xf9fa0000, 0xf9fa0001, 0xf9fa0002, 0xf9fa0003, 0xf9fa0004, 0xf9fa0005, 0xf9fa0006, 0xf9fa0007, +0xf9fa00f8, 0xf9fa00f9, 0xf9fa00fa, 0xf9fa00fb, 0xf9fa00fc, 0xf9fa00fd, 0xf9fa00fe, 0xf9fa00ff, +0xf9fa0100, 0xf9fa0101, 0xf9fa0102, 0xf9fa0103, 0xf9fa0104, 0xf9fa0105, 0xf9fa0106, 0xf9fa0107, +0xf9fa01f8, 0xf9fa01f9, 0xf9fa01fa, 0xf9fa01fb, 0xf9fa01fc, 0xf9fa01fd, 0xf9fa01fe, 0xf9fa01ff, +0xf9fa0200, 0xf9fa0201, 0xf9fa0202, 0xf9fa0203, 0xf9fa0204, 0xf9fa0205, 0xf9fa0206, 0xf9fa0207, +0xf9fa02f8, 0xf9fa02f9, 0xf9fa02fa, 0xf9fa02fb, 0xf9fa02fc, 0xf9fa02fd, 0xf9fa02fe, 0xf9fa02ff, +0xf9fa0300, 0xf9fa0301, 0xf9fa0302, 0xf9fa0303, 0xf9fa0304, 0xf9fa0305, 0xf9fa0306, 0xf9fa0307, +0xf9fa03f8, 0xf9fa03f9, 0xf9fa03fa, 0xf9fa03fb, 0xf9fa03fc, 0xf9fa03fd, 0xf9fa03fe, 0xf9fa03ff, +0xf9fa0400, 0xf9fa0401, 0xf9fa0402, 0xf9fa0403, 0xf9fa0404, 0xf9fa0405, 0xf9fa0406, 0xf9fa0407, +0xf9fa04f8, 0xf9fa04f9, 0xf9fa04fa, 0xf9fa04fb, 0xf9fa04fc, 0xf9fa04fd, 0xf9fa04fe, 0xf9fa04ff, +0xf9fa0500, 0xf9fa0501, 0xf9fa0502, 0xf9fa0503, 0xf9fa0504, 0xf9fa0505, 0xf9fa0506, 0xf9fa0507, +0xf9fa05f8, 0xf9fa05f9, 0xf9fa05fa, 0xf9fa05fb, 0xf9fa05fc, 0xf9fa05fd, 0xf9fa05fe, 0xf9fa05ff, +0xf9fa0600, 0xf9fa0601, 0xf9fa0602, 0xf9fa0603, 0xf9fa0604, 0xf9fa0605, 0xf9fa0606, 0xf9fa0607, +0xf9fa06f8, 0xf9fa06f9, 0xf9fa06fa, 0xf9fa06fb, 0xf9fa06fc, 0xf9fa06fd, 0xf9fa06fe, 0xf9fa06ff, +0xf9fa0700, 0xf9fa0701, 0xf9fa0702, 0xf9fa0703, 0xf9fa0704, 0xf9fa0705, 0xf9fa0706, 0xf9fa0707, +0xf9fa07f8, 0xf9fa07f9, 0xf9fa07fa, 0xf9fa07fb, 0xf9fa07fc, 0xf9fa07fd, 0xf9fa07fe, 0xf9fa07ff, +0xf9faf800, 0xf9faf801, 0xf9faf802, 0xf9faf803, 0xf9faf804, 0xf9faf805, 0xf9faf806, 0xf9faf807, +0xf9faf8f8, 0xf9faf8f9, 0xf9faf8fa, 0xf9faf8fb, 0xf9faf8fc, 0xf9faf8fd, 0xf9faf8fe, 0xf9faf8ff, +0xf9faf900, 0xf9faf901, 0xf9faf902, 0xf9faf903, 0xf9faf904, 0xf9faf905, 0xf9faf906, 0xf9faf907, +0xf9faf9f8, 0xf9faf9f9, 0xf9faf9fa, 0xf9faf9fb, 0xf9faf9fc, 0xf9faf9fd, 0xf9faf9fe, 0xf9faf9ff, +0xf9fafa00, 0xf9fafa01, 0xf9fafa02, 0xf9fafa03, 0xf9fafa04, 0xf9fafa05, 0xf9fafa06, 0xf9fafa07, +0xf9fafaf8, 0xf9fafaf9, 0xf9fafafa, 0xf9fafafb, 0xf9fafafc, 0xf9fafafd, 0xf9fafafe, 0xf9fafaff, +0xf9fafb00, 0xf9fafb01, 0xf9fafb02, 0xf9fafb03, 0xf9fafb04, 0xf9fafb05, 0xf9fafb06, 0xf9fafb07, +0xf9fafbf8, 0xf9fafbf9, 0xf9fafbfa, 0xf9fafbfb, 0xf9fafbfc, 0xf9fafbfd, 0xf9fafbfe, 0xf9fafbff, +0xf9fafc00, 0xf9fafc01, 0xf9fafc02, 0xf9fafc03, 0xf9fafc04, 0xf9fafc05, 0xf9fafc06, 0xf9fafc07, +0xf9fafcf8, 0xf9fafcf9, 0xf9fafcfa, 0xf9fafcfb, 0xf9fafcfc, 0xf9fafcfd, 0xf9fafcfe, 0xf9fafcff, +0xf9fafd00, 0xf9fafd01, 0xf9fafd02, 0xf9fafd03, 0xf9fafd04, 0xf9fafd05, 0xf9fafd06, 0xf9fafd07, +0xf9fafdf8, 0xf9fafdf9, 0xf9fafdfa, 0xf9fafdfb, 0xf9fafdfc, 0xf9fafdfd, 0xf9fafdfe, 0xf9fafdff, +0xf9fafe00, 0xf9fafe01, 0xf9fafe02, 0xf9fafe03, 0xf9fafe04, 0xf9fafe05, 0xf9fafe06, 0xf9fafe07, +0xf9fafef8, 0xf9fafef9, 0xf9fafefa, 0xf9fafefb, 0xf9fafefc, 0xf9fafefd, 0xf9fafefe, 0xf9fafeff, +0xf9faff00, 0xf9faff01, 0xf9faff02, 0xf9faff03, 0xf9faff04, 0xf9faff05, 0xf9faff06, 0xf9faff07, +0xf9fafff8, 0xf9fafff9, 0xf9fafffa, 0xf9fafffb, 0xf9fafffc, 0xf9fafffd, 0xf9fafffe, 0xf9faffff, +0xf9fb0000, 0xf9fb0001, 0xf9fb0002, 0xf9fb0003, 0xf9fb0004, 0xf9fb0005, 0xf9fb0006, 0xf9fb0007, +0xf9fb00f8, 0xf9fb00f9, 0xf9fb00fa, 0xf9fb00fb, 0xf9fb00fc, 0xf9fb00fd, 0xf9fb00fe, 0xf9fb00ff, +0xf9fb0100, 0xf9fb0101, 0xf9fb0102, 0xf9fb0103, 0xf9fb0104, 0xf9fb0105, 0xf9fb0106, 0xf9fb0107, +0xf9fb01f8, 0xf9fb01f9, 0xf9fb01fa, 0xf9fb01fb, 0xf9fb01fc, 0xf9fb01fd, 0xf9fb01fe, 0xf9fb01ff, +0xf9fb0200, 0xf9fb0201, 0xf9fb0202, 0xf9fb0203, 0xf9fb0204, 0xf9fb0205, 0xf9fb0206, 0xf9fb0207, +0xf9fb02f8, 0xf9fb02f9, 0xf9fb02fa, 0xf9fb02fb, 0xf9fb02fc, 0xf9fb02fd, 0xf9fb02fe, 0xf9fb02ff, +0xf9fb0300, 0xf9fb0301, 0xf9fb0302, 0xf9fb0303, 0xf9fb0304, 0xf9fb0305, 0xf9fb0306, 0xf9fb0307, +0xf9fb03f8, 0xf9fb03f9, 0xf9fb03fa, 0xf9fb03fb, 0xf9fb03fc, 0xf9fb03fd, 0xf9fb03fe, 0xf9fb03ff, +0xf9fb0400, 0xf9fb0401, 0xf9fb0402, 0xf9fb0403, 0xf9fb0404, 0xf9fb0405, 0xf9fb0406, 0xf9fb0407, +0xf9fb04f8, 0xf9fb04f9, 0xf9fb04fa, 0xf9fb04fb, 0xf9fb04fc, 0xf9fb04fd, 0xf9fb04fe, 0xf9fb04ff, +0xf9fb0500, 0xf9fb0501, 0xf9fb0502, 0xf9fb0503, 0xf9fb0504, 0xf9fb0505, 0xf9fb0506, 0xf9fb0507, +0xf9fb05f8, 0xf9fb05f9, 0xf9fb05fa, 0xf9fb05fb, 0xf9fb05fc, 0xf9fb05fd, 0xf9fb05fe, 0xf9fb05ff, +0xf9fb0600, 0xf9fb0601, 0xf9fb0602, 0xf9fb0603, 0xf9fb0604, 0xf9fb0605, 0xf9fb0606, 0xf9fb0607, +0xf9fb06f8, 0xf9fb06f9, 0xf9fb06fa, 0xf9fb06fb, 0xf9fb06fc, 0xf9fb06fd, 0xf9fb06fe, 0xf9fb06ff, +0xf9fb0700, 0xf9fb0701, 0xf9fb0702, 0xf9fb0703, 0xf9fb0704, 0xf9fb0705, 0xf9fb0706, 0xf9fb0707, +0xf9fb07f8, 0xf9fb07f9, 0xf9fb07fa, 0xf9fb07fb, 0xf9fb07fc, 0xf9fb07fd, 0xf9fb07fe, 0xf9fb07ff, +0xf9fbf800, 0xf9fbf801, 0xf9fbf802, 0xf9fbf803, 0xf9fbf804, 0xf9fbf805, 0xf9fbf806, 0xf9fbf807, +0xf9fbf8f8, 0xf9fbf8f9, 0xf9fbf8fa, 0xf9fbf8fb, 0xf9fbf8fc, 0xf9fbf8fd, 0xf9fbf8fe, 0xf9fbf8ff, +0xf9fbf900, 0xf9fbf901, 0xf9fbf902, 0xf9fbf903, 0xf9fbf904, 0xf9fbf905, 0xf9fbf906, 0xf9fbf907, +0xf9fbf9f8, 0xf9fbf9f9, 0xf9fbf9fa, 0xf9fbf9fb, 0xf9fbf9fc, 0xf9fbf9fd, 0xf9fbf9fe, 0xf9fbf9ff, +0xf9fbfa00, 0xf9fbfa01, 0xf9fbfa02, 0xf9fbfa03, 0xf9fbfa04, 0xf9fbfa05, 0xf9fbfa06, 0xf9fbfa07, +0xf9fbfaf8, 0xf9fbfaf9, 0xf9fbfafa, 0xf9fbfafb, 0xf9fbfafc, 0xf9fbfafd, 0xf9fbfafe, 0xf9fbfaff, +0xf9fbfb00, 0xf9fbfb01, 0xf9fbfb02, 0xf9fbfb03, 0xf9fbfb04, 0xf9fbfb05, 0xf9fbfb06, 0xf9fbfb07, +0xf9fbfbf8, 0xf9fbfbf9, 0xf9fbfbfa, 0xf9fbfbfb, 0xf9fbfbfc, 0xf9fbfbfd, 0xf9fbfbfe, 0xf9fbfbff, +0xf9fbfc00, 0xf9fbfc01, 0xf9fbfc02, 0xf9fbfc03, 0xf9fbfc04, 0xf9fbfc05, 0xf9fbfc06, 0xf9fbfc07, +0xf9fbfcf8, 0xf9fbfcf9, 0xf9fbfcfa, 0xf9fbfcfb, 0xf9fbfcfc, 0xf9fbfcfd, 0xf9fbfcfe, 0xf9fbfcff, +0xf9fbfd00, 0xf9fbfd01, 0xf9fbfd02, 0xf9fbfd03, 0xf9fbfd04, 0xf9fbfd05, 0xf9fbfd06, 0xf9fbfd07, +0xf9fbfdf8, 0xf9fbfdf9, 0xf9fbfdfa, 0xf9fbfdfb, 0xf9fbfdfc, 0xf9fbfdfd, 0xf9fbfdfe, 0xf9fbfdff, +0xf9fbfe00, 0xf9fbfe01, 0xf9fbfe02, 0xf9fbfe03, 0xf9fbfe04, 0xf9fbfe05, 0xf9fbfe06, 0xf9fbfe07, +0xf9fbfef8, 0xf9fbfef9, 0xf9fbfefa, 0xf9fbfefb, 0xf9fbfefc, 0xf9fbfefd, 0xf9fbfefe, 0xf9fbfeff, +0xf9fbff00, 0xf9fbff01, 0xf9fbff02, 0xf9fbff03, 0xf9fbff04, 0xf9fbff05, 0xf9fbff06, 0xf9fbff07, +0xf9fbfff8, 0xf9fbfff9, 0xf9fbfffa, 0xf9fbfffb, 0xf9fbfffc, 0xf9fbfffd, 0xf9fbfffe, 0xf9fbffff, +0xf9fc0000, 0xf9fc0001, 0xf9fc0002, 0xf9fc0003, 0xf9fc0004, 0xf9fc0005, 0xf9fc0006, 0xf9fc0007, +0xf9fc00f8, 0xf9fc00f9, 0xf9fc00fa, 0xf9fc00fb, 0xf9fc00fc, 0xf9fc00fd, 0xf9fc00fe, 0xf9fc00ff, +0xf9fc0100, 0xf9fc0101, 0xf9fc0102, 0xf9fc0103, 0xf9fc0104, 0xf9fc0105, 0xf9fc0106, 0xf9fc0107, +0xf9fc01f8, 0xf9fc01f9, 0xf9fc01fa, 0xf9fc01fb, 0xf9fc01fc, 0xf9fc01fd, 0xf9fc01fe, 0xf9fc01ff, +0xf9fc0200, 0xf9fc0201, 0xf9fc0202, 0xf9fc0203, 0xf9fc0204, 0xf9fc0205, 0xf9fc0206, 0xf9fc0207, +0xf9fc02f8, 0xf9fc02f9, 0xf9fc02fa, 0xf9fc02fb, 0xf9fc02fc, 0xf9fc02fd, 0xf9fc02fe, 0xf9fc02ff, +0xf9fc0300, 0xf9fc0301, 0xf9fc0302, 0xf9fc0303, 0xf9fc0304, 0xf9fc0305, 0xf9fc0306, 0xf9fc0307, +0xf9fc03f8, 0xf9fc03f9, 0xf9fc03fa, 0xf9fc03fb, 0xf9fc03fc, 0xf9fc03fd, 0xf9fc03fe, 0xf9fc03ff, +0xf9fc0400, 0xf9fc0401, 0xf9fc0402, 0xf9fc0403, 0xf9fc0404, 0xf9fc0405, 0xf9fc0406, 0xf9fc0407, +0xf9fc04f8, 0xf9fc04f9, 0xf9fc04fa, 0xf9fc04fb, 0xf9fc04fc, 0xf9fc04fd, 0xf9fc04fe, 0xf9fc04ff, +0xf9fc0500, 0xf9fc0501, 0xf9fc0502, 0xf9fc0503, 0xf9fc0504, 0xf9fc0505, 0xf9fc0506, 0xf9fc0507, +0xf9fc05f8, 0xf9fc05f9, 0xf9fc05fa, 0xf9fc05fb, 0xf9fc05fc, 0xf9fc05fd, 0xf9fc05fe, 0xf9fc05ff, +0xf9fc0600, 0xf9fc0601, 0xf9fc0602, 0xf9fc0603, 0xf9fc0604, 0xf9fc0605, 0xf9fc0606, 0xf9fc0607, +0xf9fc06f8, 0xf9fc06f9, 0xf9fc06fa, 0xf9fc06fb, 0xf9fc06fc, 0xf9fc06fd, 0xf9fc06fe, 0xf9fc06ff, +0xf9fc0700, 0xf9fc0701, 0xf9fc0702, 0xf9fc0703, 0xf9fc0704, 0xf9fc0705, 0xf9fc0706, 0xf9fc0707, +0xf9fc07f8, 0xf9fc07f9, 0xf9fc07fa, 0xf9fc07fb, 0xf9fc07fc, 0xf9fc07fd, 0xf9fc07fe, 0xf9fc07ff, +0xf9fcf800, 0xf9fcf801, 0xf9fcf802, 0xf9fcf803, 0xf9fcf804, 0xf9fcf805, 0xf9fcf806, 0xf9fcf807, +0xf9fcf8f8, 0xf9fcf8f9, 0xf9fcf8fa, 0xf9fcf8fb, 0xf9fcf8fc, 0xf9fcf8fd, 0xf9fcf8fe, 0xf9fcf8ff, +0xf9fcf900, 0xf9fcf901, 0xf9fcf902, 0xf9fcf903, 0xf9fcf904, 0xf9fcf905, 0xf9fcf906, 0xf9fcf907, +0xf9fcf9f8, 0xf9fcf9f9, 0xf9fcf9fa, 0xf9fcf9fb, 0xf9fcf9fc, 0xf9fcf9fd, 0xf9fcf9fe, 0xf9fcf9ff, +0xf9fcfa00, 0xf9fcfa01, 0xf9fcfa02, 0xf9fcfa03, 0xf9fcfa04, 0xf9fcfa05, 0xf9fcfa06, 0xf9fcfa07, +0xf9fcfaf8, 0xf9fcfaf9, 0xf9fcfafa, 0xf9fcfafb, 0xf9fcfafc, 0xf9fcfafd, 0xf9fcfafe, 0xf9fcfaff, +0xf9fcfb00, 0xf9fcfb01, 0xf9fcfb02, 0xf9fcfb03, 0xf9fcfb04, 0xf9fcfb05, 0xf9fcfb06, 0xf9fcfb07, +0xf9fcfbf8, 0xf9fcfbf9, 0xf9fcfbfa, 0xf9fcfbfb, 0xf9fcfbfc, 0xf9fcfbfd, 0xf9fcfbfe, 0xf9fcfbff, +0xf9fcfc00, 0xf9fcfc01, 0xf9fcfc02, 0xf9fcfc03, 0xf9fcfc04, 0xf9fcfc05, 0xf9fcfc06, 0xf9fcfc07, +0xf9fcfcf8, 0xf9fcfcf9, 0xf9fcfcfa, 0xf9fcfcfb, 0xf9fcfcfc, 0xf9fcfcfd, 0xf9fcfcfe, 0xf9fcfcff, +0xf9fcfd00, 0xf9fcfd01, 0xf9fcfd02, 0xf9fcfd03, 0xf9fcfd04, 0xf9fcfd05, 0xf9fcfd06, 0xf9fcfd07, +0xf9fcfdf8, 0xf9fcfdf9, 0xf9fcfdfa, 0xf9fcfdfb, 0xf9fcfdfc, 0xf9fcfdfd, 0xf9fcfdfe, 0xf9fcfdff, +0xf9fcfe00, 0xf9fcfe01, 0xf9fcfe02, 0xf9fcfe03, 0xf9fcfe04, 0xf9fcfe05, 0xf9fcfe06, 0xf9fcfe07, +0xf9fcfef8, 0xf9fcfef9, 0xf9fcfefa, 0xf9fcfefb, 0xf9fcfefc, 0xf9fcfefd, 0xf9fcfefe, 0xf9fcfeff, +0xf9fcff00, 0xf9fcff01, 0xf9fcff02, 0xf9fcff03, 0xf9fcff04, 0xf9fcff05, 0xf9fcff06, 0xf9fcff07, +0xf9fcfff8, 0xf9fcfff9, 0xf9fcfffa, 0xf9fcfffb, 0xf9fcfffc, 0xf9fcfffd, 0xf9fcfffe, 0xf9fcffff, +0xf9fd0000, 0xf9fd0001, 0xf9fd0002, 0xf9fd0003, 0xf9fd0004, 0xf9fd0005, 0xf9fd0006, 0xf9fd0007, +0xf9fd00f8, 0xf9fd00f9, 0xf9fd00fa, 0xf9fd00fb, 0xf9fd00fc, 0xf9fd00fd, 0xf9fd00fe, 0xf9fd00ff, +0xf9fd0100, 0xf9fd0101, 0xf9fd0102, 0xf9fd0103, 0xf9fd0104, 0xf9fd0105, 0xf9fd0106, 0xf9fd0107, +0xf9fd01f8, 0xf9fd01f9, 0xf9fd01fa, 0xf9fd01fb, 0xf9fd01fc, 0xf9fd01fd, 0xf9fd01fe, 0xf9fd01ff, +0xf9fd0200, 0xf9fd0201, 0xf9fd0202, 0xf9fd0203, 0xf9fd0204, 0xf9fd0205, 0xf9fd0206, 0xf9fd0207, +0xf9fd02f8, 0xf9fd02f9, 0xf9fd02fa, 0xf9fd02fb, 0xf9fd02fc, 0xf9fd02fd, 0xf9fd02fe, 0xf9fd02ff, +0xf9fd0300, 0xf9fd0301, 0xf9fd0302, 0xf9fd0303, 0xf9fd0304, 0xf9fd0305, 0xf9fd0306, 0xf9fd0307, +0xf9fd03f8, 0xf9fd03f9, 0xf9fd03fa, 0xf9fd03fb, 0xf9fd03fc, 0xf9fd03fd, 0xf9fd03fe, 0xf9fd03ff, +0xf9fd0400, 0xf9fd0401, 0xf9fd0402, 0xf9fd0403, 0xf9fd0404, 0xf9fd0405, 0xf9fd0406, 0xf9fd0407, +0xf9fd04f8, 0xf9fd04f9, 0xf9fd04fa, 0xf9fd04fb, 0xf9fd04fc, 0xf9fd04fd, 0xf9fd04fe, 0xf9fd04ff, +0xf9fd0500, 0xf9fd0501, 0xf9fd0502, 0xf9fd0503, 0xf9fd0504, 0xf9fd0505, 0xf9fd0506, 0xf9fd0507, +0xf9fd05f8, 0xf9fd05f9, 0xf9fd05fa, 0xf9fd05fb, 0xf9fd05fc, 0xf9fd05fd, 0xf9fd05fe, 0xf9fd05ff, +0xf9fd0600, 0xf9fd0601, 0xf9fd0602, 0xf9fd0603, 0xf9fd0604, 0xf9fd0605, 0xf9fd0606, 0xf9fd0607, +0xf9fd06f8, 0xf9fd06f9, 0xf9fd06fa, 0xf9fd06fb, 0xf9fd06fc, 0xf9fd06fd, 0xf9fd06fe, 0xf9fd06ff, +0xf9fd0700, 0xf9fd0701, 0xf9fd0702, 0xf9fd0703, 0xf9fd0704, 0xf9fd0705, 0xf9fd0706, 0xf9fd0707, +0xf9fd07f8, 0xf9fd07f9, 0xf9fd07fa, 0xf9fd07fb, 0xf9fd07fc, 0xf9fd07fd, 0xf9fd07fe, 0xf9fd07ff, +0xf9fdf800, 0xf9fdf801, 0xf9fdf802, 0xf9fdf803, 0xf9fdf804, 0xf9fdf805, 0xf9fdf806, 0xf9fdf807, +0xf9fdf8f8, 0xf9fdf8f9, 0xf9fdf8fa, 0xf9fdf8fb, 0xf9fdf8fc, 0xf9fdf8fd, 0xf9fdf8fe, 0xf9fdf8ff, +0xf9fdf900, 0xf9fdf901, 0xf9fdf902, 0xf9fdf903, 0xf9fdf904, 0xf9fdf905, 0xf9fdf906, 0xf9fdf907, +0xf9fdf9f8, 0xf9fdf9f9, 0xf9fdf9fa, 0xf9fdf9fb, 0xf9fdf9fc, 0xf9fdf9fd, 0xf9fdf9fe, 0xf9fdf9ff, +0xf9fdfa00, 0xf9fdfa01, 0xf9fdfa02, 0xf9fdfa03, 0xf9fdfa04, 0xf9fdfa05, 0xf9fdfa06, 0xf9fdfa07, +0xf9fdfaf8, 0xf9fdfaf9, 0xf9fdfafa, 0xf9fdfafb, 0xf9fdfafc, 0xf9fdfafd, 0xf9fdfafe, 0xf9fdfaff, +0xf9fdfb00, 0xf9fdfb01, 0xf9fdfb02, 0xf9fdfb03, 0xf9fdfb04, 0xf9fdfb05, 0xf9fdfb06, 0xf9fdfb07, +0xf9fdfbf8, 0xf9fdfbf9, 0xf9fdfbfa, 0xf9fdfbfb, 0xf9fdfbfc, 0xf9fdfbfd, 0xf9fdfbfe, 0xf9fdfbff, +0xf9fdfc00, 0xf9fdfc01, 0xf9fdfc02, 0xf9fdfc03, 0xf9fdfc04, 0xf9fdfc05, 0xf9fdfc06, 0xf9fdfc07, +0xf9fdfcf8, 0xf9fdfcf9, 0xf9fdfcfa, 0xf9fdfcfb, 0xf9fdfcfc, 0xf9fdfcfd, 0xf9fdfcfe, 0xf9fdfcff, +0xf9fdfd00, 0xf9fdfd01, 0xf9fdfd02, 0xf9fdfd03, 0xf9fdfd04, 0xf9fdfd05, 0xf9fdfd06, 0xf9fdfd07, +0xf9fdfdf8, 0xf9fdfdf9, 0xf9fdfdfa, 0xf9fdfdfb, 0xf9fdfdfc, 0xf9fdfdfd, 0xf9fdfdfe, 0xf9fdfdff, +0xf9fdfe00, 0xf9fdfe01, 0xf9fdfe02, 0xf9fdfe03, 0xf9fdfe04, 0xf9fdfe05, 0xf9fdfe06, 0xf9fdfe07, +0xf9fdfef8, 0xf9fdfef9, 0xf9fdfefa, 0xf9fdfefb, 0xf9fdfefc, 0xf9fdfefd, 0xf9fdfefe, 0xf9fdfeff, +0xf9fdff00, 0xf9fdff01, 0xf9fdff02, 0xf9fdff03, 0xf9fdff04, 0xf9fdff05, 0xf9fdff06, 0xf9fdff07, +0xf9fdfff8, 0xf9fdfff9, 0xf9fdfffa, 0xf9fdfffb, 0xf9fdfffc, 0xf9fdfffd, 0xf9fdfffe, 0xf9fdffff, +0xf9fe0000, 0xf9fe0001, 0xf9fe0002, 0xf9fe0003, 0xf9fe0004, 0xf9fe0005, 0xf9fe0006, 0xf9fe0007, +0xf9fe00f8, 0xf9fe00f9, 0xf9fe00fa, 0xf9fe00fb, 0xf9fe00fc, 0xf9fe00fd, 0xf9fe00fe, 0xf9fe00ff, +0xf9fe0100, 0xf9fe0101, 0xf9fe0102, 0xf9fe0103, 0xf9fe0104, 0xf9fe0105, 0xf9fe0106, 0xf9fe0107, +0xf9fe01f8, 0xf9fe01f9, 0xf9fe01fa, 0xf9fe01fb, 0xf9fe01fc, 0xf9fe01fd, 0xf9fe01fe, 0xf9fe01ff, +0xf9fe0200, 0xf9fe0201, 0xf9fe0202, 0xf9fe0203, 0xf9fe0204, 0xf9fe0205, 0xf9fe0206, 0xf9fe0207, +0xf9fe02f8, 0xf9fe02f9, 0xf9fe02fa, 0xf9fe02fb, 0xf9fe02fc, 0xf9fe02fd, 0xf9fe02fe, 0xf9fe02ff, +0xf9fe0300, 0xf9fe0301, 0xf9fe0302, 0xf9fe0303, 0xf9fe0304, 0xf9fe0305, 0xf9fe0306, 0xf9fe0307, +0xf9fe03f8, 0xf9fe03f9, 0xf9fe03fa, 0xf9fe03fb, 0xf9fe03fc, 0xf9fe03fd, 0xf9fe03fe, 0xf9fe03ff, +0xf9fe0400, 0xf9fe0401, 0xf9fe0402, 0xf9fe0403, 0xf9fe0404, 0xf9fe0405, 0xf9fe0406, 0xf9fe0407, +0xf9fe04f8, 0xf9fe04f9, 0xf9fe04fa, 0xf9fe04fb, 0xf9fe04fc, 0xf9fe04fd, 0xf9fe04fe, 0xf9fe04ff, +0xf9fe0500, 0xf9fe0501, 0xf9fe0502, 0xf9fe0503, 0xf9fe0504, 0xf9fe0505, 0xf9fe0506, 0xf9fe0507, +0xf9fe05f8, 0xf9fe05f9, 0xf9fe05fa, 0xf9fe05fb, 0xf9fe05fc, 0xf9fe05fd, 0xf9fe05fe, 0xf9fe05ff, +0xf9fe0600, 0xf9fe0601, 0xf9fe0602, 0xf9fe0603, 0xf9fe0604, 0xf9fe0605, 0xf9fe0606, 0xf9fe0607, +0xf9fe06f8, 0xf9fe06f9, 0xf9fe06fa, 0xf9fe06fb, 0xf9fe06fc, 0xf9fe06fd, 0xf9fe06fe, 0xf9fe06ff, +0xf9fe0700, 0xf9fe0701, 0xf9fe0702, 0xf9fe0703, 0xf9fe0704, 0xf9fe0705, 0xf9fe0706, 0xf9fe0707, +0xf9fe07f8, 0xf9fe07f9, 0xf9fe07fa, 0xf9fe07fb, 0xf9fe07fc, 0xf9fe07fd, 0xf9fe07fe, 0xf9fe07ff, +0xf9fef800, 0xf9fef801, 0xf9fef802, 0xf9fef803, 0xf9fef804, 0xf9fef805, 0xf9fef806, 0xf9fef807, +0xf9fef8f8, 0xf9fef8f9, 0xf9fef8fa, 0xf9fef8fb, 0xf9fef8fc, 0xf9fef8fd, 0xf9fef8fe, 0xf9fef8ff, +0xf9fef900, 0xf9fef901, 0xf9fef902, 0xf9fef903, 0xf9fef904, 0xf9fef905, 0xf9fef906, 0xf9fef907, +0xf9fef9f8, 0xf9fef9f9, 0xf9fef9fa, 0xf9fef9fb, 0xf9fef9fc, 0xf9fef9fd, 0xf9fef9fe, 0xf9fef9ff, +0xf9fefa00, 0xf9fefa01, 0xf9fefa02, 0xf9fefa03, 0xf9fefa04, 0xf9fefa05, 0xf9fefa06, 0xf9fefa07, +0xf9fefaf8, 0xf9fefaf9, 0xf9fefafa, 0xf9fefafb, 0xf9fefafc, 0xf9fefafd, 0xf9fefafe, 0xf9fefaff, +0xf9fefb00, 0xf9fefb01, 0xf9fefb02, 0xf9fefb03, 0xf9fefb04, 0xf9fefb05, 0xf9fefb06, 0xf9fefb07, +0xf9fefbf8, 0xf9fefbf9, 0xf9fefbfa, 0xf9fefbfb, 0xf9fefbfc, 0xf9fefbfd, 0xf9fefbfe, 0xf9fefbff, +0xf9fefc00, 0xf9fefc01, 0xf9fefc02, 0xf9fefc03, 0xf9fefc04, 0xf9fefc05, 0xf9fefc06, 0xf9fefc07, +0xf9fefcf8, 0xf9fefcf9, 0xf9fefcfa, 0xf9fefcfb, 0xf9fefcfc, 0xf9fefcfd, 0xf9fefcfe, 0xf9fefcff, +0xf9fefd00, 0xf9fefd01, 0xf9fefd02, 0xf9fefd03, 0xf9fefd04, 0xf9fefd05, 0xf9fefd06, 0xf9fefd07, +0xf9fefdf8, 0xf9fefdf9, 0xf9fefdfa, 0xf9fefdfb, 0xf9fefdfc, 0xf9fefdfd, 0xf9fefdfe, 0xf9fefdff, +0xf9fefe00, 0xf9fefe01, 0xf9fefe02, 0xf9fefe03, 0xf9fefe04, 0xf9fefe05, 0xf9fefe06, 0xf9fefe07, +0xf9fefef8, 0xf9fefef9, 0xf9fefefa, 0xf9fefefb, 0xf9fefefc, 0xf9fefefd, 0xf9fefefe, 0xf9fefeff, +0xf9feff00, 0xf9feff01, 0xf9feff02, 0xf9feff03, 0xf9feff04, 0xf9feff05, 0xf9feff06, 0xf9feff07, +0xf9fefff8, 0xf9fefff9, 0xf9fefffa, 0xf9fefffb, 0xf9fefffc, 0xf9fefffd, 0xf9fefffe, 0xf9feffff, +0xf9ff0000, 0xf9ff0001, 0xf9ff0002, 0xf9ff0003, 0xf9ff0004, 0xf9ff0005, 0xf9ff0006, 0xf9ff0007, +0xf9ff00f8, 0xf9ff00f9, 0xf9ff00fa, 0xf9ff00fb, 0xf9ff00fc, 0xf9ff00fd, 0xf9ff00fe, 0xf9ff00ff, +0xf9ff0100, 0xf9ff0101, 0xf9ff0102, 0xf9ff0103, 0xf9ff0104, 0xf9ff0105, 0xf9ff0106, 0xf9ff0107, +0xf9ff01f8, 0xf9ff01f9, 0xf9ff01fa, 0xf9ff01fb, 0xf9ff01fc, 0xf9ff01fd, 0xf9ff01fe, 0xf9ff01ff, +0xf9ff0200, 0xf9ff0201, 0xf9ff0202, 0xf9ff0203, 0xf9ff0204, 0xf9ff0205, 0xf9ff0206, 0xf9ff0207, +0xf9ff02f8, 0xf9ff02f9, 0xf9ff02fa, 0xf9ff02fb, 0xf9ff02fc, 0xf9ff02fd, 0xf9ff02fe, 0xf9ff02ff, +0xf9ff0300, 0xf9ff0301, 0xf9ff0302, 0xf9ff0303, 0xf9ff0304, 0xf9ff0305, 0xf9ff0306, 0xf9ff0307, +0xf9ff03f8, 0xf9ff03f9, 0xf9ff03fa, 0xf9ff03fb, 0xf9ff03fc, 0xf9ff03fd, 0xf9ff03fe, 0xf9ff03ff, +0xf9ff0400, 0xf9ff0401, 0xf9ff0402, 0xf9ff0403, 0xf9ff0404, 0xf9ff0405, 0xf9ff0406, 0xf9ff0407, +0xf9ff04f8, 0xf9ff04f9, 0xf9ff04fa, 0xf9ff04fb, 0xf9ff04fc, 0xf9ff04fd, 0xf9ff04fe, 0xf9ff04ff, +0xf9ff0500, 0xf9ff0501, 0xf9ff0502, 0xf9ff0503, 0xf9ff0504, 0xf9ff0505, 0xf9ff0506, 0xf9ff0507, +0xf9ff05f8, 0xf9ff05f9, 0xf9ff05fa, 0xf9ff05fb, 0xf9ff05fc, 0xf9ff05fd, 0xf9ff05fe, 0xf9ff05ff, +0xf9ff0600, 0xf9ff0601, 0xf9ff0602, 0xf9ff0603, 0xf9ff0604, 0xf9ff0605, 0xf9ff0606, 0xf9ff0607, +0xf9ff06f8, 0xf9ff06f9, 0xf9ff06fa, 0xf9ff06fb, 0xf9ff06fc, 0xf9ff06fd, 0xf9ff06fe, 0xf9ff06ff, +0xf9ff0700, 0xf9ff0701, 0xf9ff0702, 0xf9ff0703, 0xf9ff0704, 0xf9ff0705, 0xf9ff0706, 0xf9ff0707, +0xf9ff07f8, 0xf9ff07f9, 0xf9ff07fa, 0xf9ff07fb, 0xf9ff07fc, 0xf9ff07fd, 0xf9ff07fe, 0xf9ff07ff, +0xf9fff800, 0xf9fff801, 0xf9fff802, 0xf9fff803, 0xf9fff804, 0xf9fff805, 0xf9fff806, 0xf9fff807, +0xf9fff8f8, 0xf9fff8f9, 0xf9fff8fa, 0xf9fff8fb, 0xf9fff8fc, 0xf9fff8fd, 0xf9fff8fe, 0xf9fff8ff, +0xf9fff900, 0xf9fff901, 0xf9fff902, 0xf9fff903, 0xf9fff904, 0xf9fff905, 0xf9fff906, 0xf9fff907, +0xf9fff9f8, 0xf9fff9f9, 0xf9fff9fa, 0xf9fff9fb, 0xf9fff9fc, 0xf9fff9fd, 0xf9fff9fe, 0xf9fff9ff, +0xf9fffa00, 0xf9fffa01, 0xf9fffa02, 0xf9fffa03, 0xf9fffa04, 0xf9fffa05, 0xf9fffa06, 0xf9fffa07, +0xf9fffaf8, 0xf9fffaf9, 0xf9fffafa, 0xf9fffafb, 0xf9fffafc, 0xf9fffafd, 0xf9fffafe, 0xf9fffaff, +0xf9fffb00, 0xf9fffb01, 0xf9fffb02, 0xf9fffb03, 0xf9fffb04, 0xf9fffb05, 0xf9fffb06, 0xf9fffb07, +0xf9fffbf8, 0xf9fffbf9, 0xf9fffbfa, 0xf9fffbfb, 0xf9fffbfc, 0xf9fffbfd, 0xf9fffbfe, 0xf9fffbff, +0xf9fffc00, 0xf9fffc01, 0xf9fffc02, 0xf9fffc03, 0xf9fffc04, 0xf9fffc05, 0xf9fffc06, 0xf9fffc07, +0xf9fffcf8, 0xf9fffcf9, 0xf9fffcfa, 0xf9fffcfb, 0xf9fffcfc, 0xf9fffcfd, 0xf9fffcfe, 0xf9fffcff, +0xf9fffd00, 0xf9fffd01, 0xf9fffd02, 0xf9fffd03, 0xf9fffd04, 0xf9fffd05, 0xf9fffd06, 0xf9fffd07, +0xf9fffdf8, 0xf9fffdf9, 0xf9fffdfa, 0xf9fffdfb, 0xf9fffdfc, 0xf9fffdfd, 0xf9fffdfe, 0xf9fffdff, +0xf9fffe00, 0xf9fffe01, 0xf9fffe02, 0xf9fffe03, 0xf9fffe04, 0xf9fffe05, 0xf9fffe06, 0xf9fffe07, +0xf9fffef8, 0xf9fffef9, 0xf9fffefa, 0xf9fffefb, 0xf9fffefc, 0xf9fffefd, 0xf9fffefe, 0xf9fffeff, +0xf9ffff00, 0xf9ffff01, 0xf9ffff02, 0xf9ffff03, 0xf9ffff04, 0xf9ffff05, 0xf9ffff06, 0xf9ffff07, +0xf9fffff8, 0xf9fffff9, 0xf9fffffa, 0xf9fffffb, 0xf9fffffc, 0xf9fffffd, 0xf9fffffe, 0xf9ffffff, +0xfa000000, 0xfa000001, 0xfa000002, 0xfa000003, 0xfa000004, 0xfa000005, 0xfa000006, 0xfa000007, +0xfa0000f8, 0xfa0000f9, 0xfa0000fa, 0xfa0000fb, 0xfa0000fc, 0xfa0000fd, 0xfa0000fe, 0xfa0000ff, +0xfa000100, 0xfa000101, 0xfa000102, 0xfa000103, 0xfa000104, 0xfa000105, 0xfa000106, 0xfa000107, +0xfa0001f8, 0xfa0001f9, 0xfa0001fa, 0xfa0001fb, 0xfa0001fc, 0xfa0001fd, 0xfa0001fe, 0xfa0001ff, +0xfa000200, 0xfa000201, 0xfa000202, 0xfa000203, 0xfa000204, 0xfa000205, 0xfa000206, 0xfa000207, +0xfa0002f8, 0xfa0002f9, 0xfa0002fa, 0xfa0002fb, 0xfa0002fc, 0xfa0002fd, 0xfa0002fe, 0xfa0002ff, +0xfa000300, 0xfa000301, 0xfa000302, 0xfa000303, 0xfa000304, 0xfa000305, 0xfa000306, 0xfa000307, +0xfa0003f8, 0xfa0003f9, 0xfa0003fa, 0xfa0003fb, 0xfa0003fc, 0xfa0003fd, 0xfa0003fe, 0xfa0003ff, +0xfa000400, 0xfa000401, 0xfa000402, 0xfa000403, 0xfa000404, 0xfa000405, 0xfa000406, 0xfa000407, +0xfa0004f8, 0xfa0004f9, 0xfa0004fa, 0xfa0004fb, 0xfa0004fc, 0xfa0004fd, 0xfa0004fe, 0xfa0004ff, +0xfa000500, 0xfa000501, 0xfa000502, 0xfa000503, 0xfa000504, 0xfa000505, 0xfa000506, 0xfa000507, +0xfa0005f8, 0xfa0005f9, 0xfa0005fa, 0xfa0005fb, 0xfa0005fc, 0xfa0005fd, 0xfa0005fe, 0xfa0005ff, +0xfa000600, 0xfa000601, 0xfa000602, 0xfa000603, 0xfa000604, 0xfa000605, 0xfa000606, 0xfa000607, +0xfa0006f8, 0xfa0006f9, 0xfa0006fa, 0xfa0006fb, 0xfa0006fc, 0xfa0006fd, 0xfa0006fe, 0xfa0006ff, +0xfa000700, 0xfa000701, 0xfa000702, 0xfa000703, 0xfa000704, 0xfa000705, 0xfa000706, 0xfa000707, +0xfa0007f8, 0xfa0007f9, 0xfa0007fa, 0xfa0007fb, 0xfa0007fc, 0xfa0007fd, 0xfa0007fe, 0xfa0007ff, +0xfa00f800, 0xfa00f801, 0xfa00f802, 0xfa00f803, 0xfa00f804, 0xfa00f805, 0xfa00f806, 0xfa00f807, +0xfa00f8f8, 0xfa00f8f9, 0xfa00f8fa, 0xfa00f8fb, 0xfa00f8fc, 0xfa00f8fd, 0xfa00f8fe, 0xfa00f8ff, +0xfa00f900, 0xfa00f901, 0xfa00f902, 0xfa00f903, 0xfa00f904, 0xfa00f905, 0xfa00f906, 0xfa00f907, +0xfa00f9f8, 0xfa00f9f9, 0xfa00f9fa, 0xfa00f9fb, 0xfa00f9fc, 0xfa00f9fd, 0xfa00f9fe, 0xfa00f9ff, +0xfa00fa00, 0xfa00fa01, 0xfa00fa02, 0xfa00fa03, 0xfa00fa04, 0xfa00fa05, 0xfa00fa06, 0xfa00fa07, +0xfa00faf8, 0xfa00faf9, 0xfa00fafa, 0xfa00fafb, 0xfa00fafc, 0xfa00fafd, 0xfa00fafe, 0xfa00faff, +0xfa00fb00, 0xfa00fb01, 0xfa00fb02, 0xfa00fb03, 0xfa00fb04, 0xfa00fb05, 0xfa00fb06, 0xfa00fb07, +0xfa00fbf8, 0xfa00fbf9, 0xfa00fbfa, 0xfa00fbfb, 0xfa00fbfc, 0xfa00fbfd, 0xfa00fbfe, 0xfa00fbff, +0xfa00fc00, 0xfa00fc01, 0xfa00fc02, 0xfa00fc03, 0xfa00fc04, 0xfa00fc05, 0xfa00fc06, 0xfa00fc07, +0xfa00fcf8, 0xfa00fcf9, 0xfa00fcfa, 0xfa00fcfb, 0xfa00fcfc, 0xfa00fcfd, 0xfa00fcfe, 0xfa00fcff, +0xfa00fd00, 0xfa00fd01, 0xfa00fd02, 0xfa00fd03, 0xfa00fd04, 0xfa00fd05, 0xfa00fd06, 0xfa00fd07, +0xfa00fdf8, 0xfa00fdf9, 0xfa00fdfa, 0xfa00fdfb, 0xfa00fdfc, 0xfa00fdfd, 0xfa00fdfe, 0xfa00fdff, +0xfa00fe00, 0xfa00fe01, 0xfa00fe02, 0xfa00fe03, 0xfa00fe04, 0xfa00fe05, 0xfa00fe06, 0xfa00fe07, +0xfa00fef8, 0xfa00fef9, 0xfa00fefa, 0xfa00fefb, 0xfa00fefc, 0xfa00fefd, 0xfa00fefe, 0xfa00feff, +0xfa00ff00, 0xfa00ff01, 0xfa00ff02, 0xfa00ff03, 0xfa00ff04, 0xfa00ff05, 0xfa00ff06, 0xfa00ff07, +0xfa00fff8, 0xfa00fff9, 0xfa00fffa, 0xfa00fffb, 0xfa00fffc, 0xfa00fffd, 0xfa00fffe, 0xfa00ffff, +0xfa010000, 0xfa010001, 0xfa010002, 0xfa010003, 0xfa010004, 0xfa010005, 0xfa010006, 0xfa010007, +0xfa0100f8, 0xfa0100f9, 0xfa0100fa, 0xfa0100fb, 0xfa0100fc, 0xfa0100fd, 0xfa0100fe, 0xfa0100ff, +0xfa010100, 0xfa010101, 0xfa010102, 0xfa010103, 0xfa010104, 0xfa010105, 0xfa010106, 0xfa010107, +0xfa0101f8, 0xfa0101f9, 0xfa0101fa, 0xfa0101fb, 0xfa0101fc, 0xfa0101fd, 0xfa0101fe, 0xfa0101ff, +0xfa010200, 0xfa010201, 0xfa010202, 0xfa010203, 0xfa010204, 0xfa010205, 0xfa010206, 0xfa010207, +0xfa0102f8, 0xfa0102f9, 0xfa0102fa, 0xfa0102fb, 0xfa0102fc, 0xfa0102fd, 0xfa0102fe, 0xfa0102ff, +0xfa010300, 0xfa010301, 0xfa010302, 0xfa010303, 0xfa010304, 0xfa010305, 0xfa010306, 0xfa010307, +0xfa0103f8, 0xfa0103f9, 0xfa0103fa, 0xfa0103fb, 0xfa0103fc, 0xfa0103fd, 0xfa0103fe, 0xfa0103ff, +0xfa010400, 0xfa010401, 0xfa010402, 0xfa010403, 0xfa010404, 0xfa010405, 0xfa010406, 0xfa010407, +0xfa0104f8, 0xfa0104f9, 0xfa0104fa, 0xfa0104fb, 0xfa0104fc, 0xfa0104fd, 0xfa0104fe, 0xfa0104ff, +0xfa010500, 0xfa010501, 0xfa010502, 0xfa010503, 0xfa010504, 0xfa010505, 0xfa010506, 0xfa010507, +0xfa0105f8, 0xfa0105f9, 0xfa0105fa, 0xfa0105fb, 0xfa0105fc, 0xfa0105fd, 0xfa0105fe, 0xfa0105ff, +0xfa010600, 0xfa010601, 0xfa010602, 0xfa010603, 0xfa010604, 0xfa010605, 0xfa010606, 0xfa010607, +0xfa0106f8, 0xfa0106f9, 0xfa0106fa, 0xfa0106fb, 0xfa0106fc, 0xfa0106fd, 0xfa0106fe, 0xfa0106ff, +0xfa010700, 0xfa010701, 0xfa010702, 0xfa010703, 0xfa010704, 0xfa010705, 0xfa010706, 0xfa010707, +0xfa0107f8, 0xfa0107f9, 0xfa0107fa, 0xfa0107fb, 0xfa0107fc, 0xfa0107fd, 0xfa0107fe, 0xfa0107ff, +0xfa01f800, 0xfa01f801, 0xfa01f802, 0xfa01f803, 0xfa01f804, 0xfa01f805, 0xfa01f806, 0xfa01f807, +0xfa01f8f8, 0xfa01f8f9, 0xfa01f8fa, 0xfa01f8fb, 0xfa01f8fc, 0xfa01f8fd, 0xfa01f8fe, 0xfa01f8ff, +0xfa01f900, 0xfa01f901, 0xfa01f902, 0xfa01f903, 0xfa01f904, 0xfa01f905, 0xfa01f906, 0xfa01f907, +0xfa01f9f8, 0xfa01f9f9, 0xfa01f9fa, 0xfa01f9fb, 0xfa01f9fc, 0xfa01f9fd, 0xfa01f9fe, 0xfa01f9ff, +0xfa01fa00, 0xfa01fa01, 0xfa01fa02, 0xfa01fa03, 0xfa01fa04, 0xfa01fa05, 0xfa01fa06, 0xfa01fa07, +0xfa01faf8, 0xfa01faf9, 0xfa01fafa, 0xfa01fafb, 0xfa01fafc, 0xfa01fafd, 0xfa01fafe, 0xfa01faff, +0xfa01fb00, 0xfa01fb01, 0xfa01fb02, 0xfa01fb03, 0xfa01fb04, 0xfa01fb05, 0xfa01fb06, 0xfa01fb07, +0xfa01fbf8, 0xfa01fbf9, 0xfa01fbfa, 0xfa01fbfb, 0xfa01fbfc, 0xfa01fbfd, 0xfa01fbfe, 0xfa01fbff, +0xfa01fc00, 0xfa01fc01, 0xfa01fc02, 0xfa01fc03, 0xfa01fc04, 0xfa01fc05, 0xfa01fc06, 0xfa01fc07, +0xfa01fcf8, 0xfa01fcf9, 0xfa01fcfa, 0xfa01fcfb, 0xfa01fcfc, 0xfa01fcfd, 0xfa01fcfe, 0xfa01fcff, +0xfa01fd00, 0xfa01fd01, 0xfa01fd02, 0xfa01fd03, 0xfa01fd04, 0xfa01fd05, 0xfa01fd06, 0xfa01fd07, +0xfa01fdf8, 0xfa01fdf9, 0xfa01fdfa, 0xfa01fdfb, 0xfa01fdfc, 0xfa01fdfd, 0xfa01fdfe, 0xfa01fdff, +0xfa01fe00, 0xfa01fe01, 0xfa01fe02, 0xfa01fe03, 0xfa01fe04, 0xfa01fe05, 0xfa01fe06, 0xfa01fe07, +0xfa01fef8, 0xfa01fef9, 0xfa01fefa, 0xfa01fefb, 0xfa01fefc, 0xfa01fefd, 0xfa01fefe, 0xfa01feff, +0xfa01ff00, 0xfa01ff01, 0xfa01ff02, 0xfa01ff03, 0xfa01ff04, 0xfa01ff05, 0xfa01ff06, 0xfa01ff07, +0xfa01fff8, 0xfa01fff9, 0xfa01fffa, 0xfa01fffb, 0xfa01fffc, 0xfa01fffd, 0xfa01fffe, 0xfa01ffff, +0xfa020000, 0xfa020001, 0xfa020002, 0xfa020003, 0xfa020004, 0xfa020005, 0xfa020006, 0xfa020007, +0xfa0200f8, 0xfa0200f9, 0xfa0200fa, 0xfa0200fb, 0xfa0200fc, 0xfa0200fd, 0xfa0200fe, 0xfa0200ff, +0xfa020100, 0xfa020101, 0xfa020102, 0xfa020103, 0xfa020104, 0xfa020105, 0xfa020106, 0xfa020107, +0xfa0201f8, 0xfa0201f9, 0xfa0201fa, 0xfa0201fb, 0xfa0201fc, 0xfa0201fd, 0xfa0201fe, 0xfa0201ff, +0xfa020200, 0xfa020201, 0xfa020202, 0xfa020203, 0xfa020204, 0xfa020205, 0xfa020206, 0xfa020207, +0xfa0202f8, 0xfa0202f9, 0xfa0202fa, 0xfa0202fb, 0xfa0202fc, 0xfa0202fd, 0xfa0202fe, 0xfa0202ff, +0xfa020300, 0xfa020301, 0xfa020302, 0xfa020303, 0xfa020304, 0xfa020305, 0xfa020306, 0xfa020307, +0xfa0203f8, 0xfa0203f9, 0xfa0203fa, 0xfa0203fb, 0xfa0203fc, 0xfa0203fd, 0xfa0203fe, 0xfa0203ff, +0xfa020400, 0xfa020401, 0xfa020402, 0xfa020403, 0xfa020404, 0xfa020405, 0xfa020406, 0xfa020407, +0xfa0204f8, 0xfa0204f9, 0xfa0204fa, 0xfa0204fb, 0xfa0204fc, 0xfa0204fd, 0xfa0204fe, 0xfa0204ff, +0xfa020500, 0xfa020501, 0xfa020502, 0xfa020503, 0xfa020504, 0xfa020505, 0xfa020506, 0xfa020507, +0xfa0205f8, 0xfa0205f9, 0xfa0205fa, 0xfa0205fb, 0xfa0205fc, 0xfa0205fd, 0xfa0205fe, 0xfa0205ff, +0xfa020600, 0xfa020601, 0xfa020602, 0xfa020603, 0xfa020604, 0xfa020605, 0xfa020606, 0xfa020607, +0xfa0206f8, 0xfa0206f9, 0xfa0206fa, 0xfa0206fb, 0xfa0206fc, 0xfa0206fd, 0xfa0206fe, 0xfa0206ff, +0xfa020700, 0xfa020701, 0xfa020702, 0xfa020703, 0xfa020704, 0xfa020705, 0xfa020706, 0xfa020707, +0xfa0207f8, 0xfa0207f9, 0xfa0207fa, 0xfa0207fb, 0xfa0207fc, 0xfa0207fd, 0xfa0207fe, 0xfa0207ff, +0xfa02f800, 0xfa02f801, 0xfa02f802, 0xfa02f803, 0xfa02f804, 0xfa02f805, 0xfa02f806, 0xfa02f807, +0xfa02f8f8, 0xfa02f8f9, 0xfa02f8fa, 0xfa02f8fb, 0xfa02f8fc, 0xfa02f8fd, 0xfa02f8fe, 0xfa02f8ff, +0xfa02f900, 0xfa02f901, 0xfa02f902, 0xfa02f903, 0xfa02f904, 0xfa02f905, 0xfa02f906, 0xfa02f907, +0xfa02f9f8, 0xfa02f9f9, 0xfa02f9fa, 0xfa02f9fb, 0xfa02f9fc, 0xfa02f9fd, 0xfa02f9fe, 0xfa02f9ff, +0xfa02fa00, 0xfa02fa01, 0xfa02fa02, 0xfa02fa03, 0xfa02fa04, 0xfa02fa05, 0xfa02fa06, 0xfa02fa07, +0xfa02faf8, 0xfa02faf9, 0xfa02fafa, 0xfa02fafb, 0xfa02fafc, 0xfa02fafd, 0xfa02fafe, 0xfa02faff, +0xfa02fb00, 0xfa02fb01, 0xfa02fb02, 0xfa02fb03, 0xfa02fb04, 0xfa02fb05, 0xfa02fb06, 0xfa02fb07, +0xfa02fbf8, 0xfa02fbf9, 0xfa02fbfa, 0xfa02fbfb, 0xfa02fbfc, 0xfa02fbfd, 0xfa02fbfe, 0xfa02fbff, +0xfa02fc00, 0xfa02fc01, 0xfa02fc02, 0xfa02fc03, 0xfa02fc04, 0xfa02fc05, 0xfa02fc06, 0xfa02fc07, +0xfa02fcf8, 0xfa02fcf9, 0xfa02fcfa, 0xfa02fcfb, 0xfa02fcfc, 0xfa02fcfd, 0xfa02fcfe, 0xfa02fcff, +0xfa02fd00, 0xfa02fd01, 0xfa02fd02, 0xfa02fd03, 0xfa02fd04, 0xfa02fd05, 0xfa02fd06, 0xfa02fd07, +0xfa02fdf8, 0xfa02fdf9, 0xfa02fdfa, 0xfa02fdfb, 0xfa02fdfc, 0xfa02fdfd, 0xfa02fdfe, 0xfa02fdff, +0xfa02fe00, 0xfa02fe01, 0xfa02fe02, 0xfa02fe03, 0xfa02fe04, 0xfa02fe05, 0xfa02fe06, 0xfa02fe07, +0xfa02fef8, 0xfa02fef9, 0xfa02fefa, 0xfa02fefb, 0xfa02fefc, 0xfa02fefd, 0xfa02fefe, 0xfa02feff, +0xfa02ff00, 0xfa02ff01, 0xfa02ff02, 0xfa02ff03, 0xfa02ff04, 0xfa02ff05, 0xfa02ff06, 0xfa02ff07, +0xfa02fff8, 0xfa02fff9, 0xfa02fffa, 0xfa02fffb, 0xfa02fffc, 0xfa02fffd, 0xfa02fffe, 0xfa02ffff, +0xfa030000, 0xfa030001, 0xfa030002, 0xfa030003, 0xfa030004, 0xfa030005, 0xfa030006, 0xfa030007, +0xfa0300f8, 0xfa0300f9, 0xfa0300fa, 0xfa0300fb, 0xfa0300fc, 0xfa0300fd, 0xfa0300fe, 0xfa0300ff, +0xfa030100, 0xfa030101, 0xfa030102, 0xfa030103, 0xfa030104, 0xfa030105, 0xfa030106, 0xfa030107, +0xfa0301f8, 0xfa0301f9, 0xfa0301fa, 0xfa0301fb, 0xfa0301fc, 0xfa0301fd, 0xfa0301fe, 0xfa0301ff, +0xfa030200, 0xfa030201, 0xfa030202, 0xfa030203, 0xfa030204, 0xfa030205, 0xfa030206, 0xfa030207, +0xfa0302f8, 0xfa0302f9, 0xfa0302fa, 0xfa0302fb, 0xfa0302fc, 0xfa0302fd, 0xfa0302fe, 0xfa0302ff, +0xfa030300, 0xfa030301, 0xfa030302, 0xfa030303, 0xfa030304, 0xfa030305, 0xfa030306, 0xfa030307, +0xfa0303f8, 0xfa0303f9, 0xfa0303fa, 0xfa0303fb, 0xfa0303fc, 0xfa0303fd, 0xfa0303fe, 0xfa0303ff, +0xfa030400, 0xfa030401, 0xfa030402, 0xfa030403, 0xfa030404, 0xfa030405, 0xfa030406, 0xfa030407, +0xfa0304f8, 0xfa0304f9, 0xfa0304fa, 0xfa0304fb, 0xfa0304fc, 0xfa0304fd, 0xfa0304fe, 0xfa0304ff, +0xfa030500, 0xfa030501, 0xfa030502, 0xfa030503, 0xfa030504, 0xfa030505, 0xfa030506, 0xfa030507, +0xfa0305f8, 0xfa0305f9, 0xfa0305fa, 0xfa0305fb, 0xfa0305fc, 0xfa0305fd, 0xfa0305fe, 0xfa0305ff, +0xfa030600, 0xfa030601, 0xfa030602, 0xfa030603, 0xfa030604, 0xfa030605, 0xfa030606, 0xfa030607, +0xfa0306f8, 0xfa0306f9, 0xfa0306fa, 0xfa0306fb, 0xfa0306fc, 0xfa0306fd, 0xfa0306fe, 0xfa0306ff, +0xfa030700, 0xfa030701, 0xfa030702, 0xfa030703, 0xfa030704, 0xfa030705, 0xfa030706, 0xfa030707, +0xfa0307f8, 0xfa0307f9, 0xfa0307fa, 0xfa0307fb, 0xfa0307fc, 0xfa0307fd, 0xfa0307fe, 0xfa0307ff, +0xfa03f800, 0xfa03f801, 0xfa03f802, 0xfa03f803, 0xfa03f804, 0xfa03f805, 0xfa03f806, 0xfa03f807, +0xfa03f8f8, 0xfa03f8f9, 0xfa03f8fa, 0xfa03f8fb, 0xfa03f8fc, 0xfa03f8fd, 0xfa03f8fe, 0xfa03f8ff, +0xfa03f900, 0xfa03f901, 0xfa03f902, 0xfa03f903, 0xfa03f904, 0xfa03f905, 0xfa03f906, 0xfa03f907, +0xfa03f9f8, 0xfa03f9f9, 0xfa03f9fa, 0xfa03f9fb, 0xfa03f9fc, 0xfa03f9fd, 0xfa03f9fe, 0xfa03f9ff, +0xfa03fa00, 0xfa03fa01, 0xfa03fa02, 0xfa03fa03, 0xfa03fa04, 0xfa03fa05, 0xfa03fa06, 0xfa03fa07, +0xfa03faf8, 0xfa03faf9, 0xfa03fafa, 0xfa03fafb, 0xfa03fafc, 0xfa03fafd, 0xfa03fafe, 0xfa03faff, +0xfa03fb00, 0xfa03fb01, 0xfa03fb02, 0xfa03fb03, 0xfa03fb04, 0xfa03fb05, 0xfa03fb06, 0xfa03fb07, +0xfa03fbf8, 0xfa03fbf9, 0xfa03fbfa, 0xfa03fbfb, 0xfa03fbfc, 0xfa03fbfd, 0xfa03fbfe, 0xfa03fbff, +0xfa03fc00, 0xfa03fc01, 0xfa03fc02, 0xfa03fc03, 0xfa03fc04, 0xfa03fc05, 0xfa03fc06, 0xfa03fc07, +0xfa03fcf8, 0xfa03fcf9, 0xfa03fcfa, 0xfa03fcfb, 0xfa03fcfc, 0xfa03fcfd, 0xfa03fcfe, 0xfa03fcff, +0xfa03fd00, 0xfa03fd01, 0xfa03fd02, 0xfa03fd03, 0xfa03fd04, 0xfa03fd05, 0xfa03fd06, 0xfa03fd07, +0xfa03fdf8, 0xfa03fdf9, 0xfa03fdfa, 0xfa03fdfb, 0xfa03fdfc, 0xfa03fdfd, 0xfa03fdfe, 0xfa03fdff, +0xfa03fe00, 0xfa03fe01, 0xfa03fe02, 0xfa03fe03, 0xfa03fe04, 0xfa03fe05, 0xfa03fe06, 0xfa03fe07, +0xfa03fef8, 0xfa03fef9, 0xfa03fefa, 0xfa03fefb, 0xfa03fefc, 0xfa03fefd, 0xfa03fefe, 0xfa03feff, +0xfa03ff00, 0xfa03ff01, 0xfa03ff02, 0xfa03ff03, 0xfa03ff04, 0xfa03ff05, 0xfa03ff06, 0xfa03ff07, +0xfa03fff8, 0xfa03fff9, 0xfa03fffa, 0xfa03fffb, 0xfa03fffc, 0xfa03fffd, 0xfa03fffe, 0xfa03ffff, +0xfa040000, 0xfa040001, 0xfa040002, 0xfa040003, 0xfa040004, 0xfa040005, 0xfa040006, 0xfa040007, +0xfa0400f8, 0xfa0400f9, 0xfa0400fa, 0xfa0400fb, 0xfa0400fc, 0xfa0400fd, 0xfa0400fe, 0xfa0400ff, +0xfa040100, 0xfa040101, 0xfa040102, 0xfa040103, 0xfa040104, 0xfa040105, 0xfa040106, 0xfa040107, +0xfa0401f8, 0xfa0401f9, 0xfa0401fa, 0xfa0401fb, 0xfa0401fc, 0xfa0401fd, 0xfa0401fe, 0xfa0401ff, +0xfa040200, 0xfa040201, 0xfa040202, 0xfa040203, 0xfa040204, 0xfa040205, 0xfa040206, 0xfa040207, +0xfa0402f8, 0xfa0402f9, 0xfa0402fa, 0xfa0402fb, 0xfa0402fc, 0xfa0402fd, 0xfa0402fe, 0xfa0402ff, +0xfa040300, 0xfa040301, 0xfa040302, 0xfa040303, 0xfa040304, 0xfa040305, 0xfa040306, 0xfa040307, +0xfa0403f8, 0xfa0403f9, 0xfa0403fa, 0xfa0403fb, 0xfa0403fc, 0xfa0403fd, 0xfa0403fe, 0xfa0403ff, +0xfa040400, 0xfa040401, 0xfa040402, 0xfa040403, 0xfa040404, 0xfa040405, 0xfa040406, 0xfa040407, +0xfa0404f8, 0xfa0404f9, 0xfa0404fa, 0xfa0404fb, 0xfa0404fc, 0xfa0404fd, 0xfa0404fe, 0xfa0404ff, +0xfa040500, 0xfa040501, 0xfa040502, 0xfa040503, 0xfa040504, 0xfa040505, 0xfa040506, 0xfa040507, +0xfa0405f8, 0xfa0405f9, 0xfa0405fa, 0xfa0405fb, 0xfa0405fc, 0xfa0405fd, 0xfa0405fe, 0xfa0405ff, +0xfa040600, 0xfa040601, 0xfa040602, 0xfa040603, 0xfa040604, 0xfa040605, 0xfa040606, 0xfa040607, +0xfa0406f8, 0xfa0406f9, 0xfa0406fa, 0xfa0406fb, 0xfa0406fc, 0xfa0406fd, 0xfa0406fe, 0xfa0406ff, +0xfa040700, 0xfa040701, 0xfa040702, 0xfa040703, 0xfa040704, 0xfa040705, 0xfa040706, 0xfa040707, +0xfa0407f8, 0xfa0407f9, 0xfa0407fa, 0xfa0407fb, 0xfa0407fc, 0xfa0407fd, 0xfa0407fe, 0xfa0407ff, +0xfa04f800, 0xfa04f801, 0xfa04f802, 0xfa04f803, 0xfa04f804, 0xfa04f805, 0xfa04f806, 0xfa04f807, +0xfa04f8f8, 0xfa04f8f9, 0xfa04f8fa, 0xfa04f8fb, 0xfa04f8fc, 0xfa04f8fd, 0xfa04f8fe, 0xfa04f8ff, +0xfa04f900, 0xfa04f901, 0xfa04f902, 0xfa04f903, 0xfa04f904, 0xfa04f905, 0xfa04f906, 0xfa04f907, +0xfa04f9f8, 0xfa04f9f9, 0xfa04f9fa, 0xfa04f9fb, 0xfa04f9fc, 0xfa04f9fd, 0xfa04f9fe, 0xfa04f9ff, +0xfa04fa00, 0xfa04fa01, 0xfa04fa02, 0xfa04fa03, 0xfa04fa04, 0xfa04fa05, 0xfa04fa06, 0xfa04fa07, +0xfa04faf8, 0xfa04faf9, 0xfa04fafa, 0xfa04fafb, 0xfa04fafc, 0xfa04fafd, 0xfa04fafe, 0xfa04faff, +0xfa04fb00, 0xfa04fb01, 0xfa04fb02, 0xfa04fb03, 0xfa04fb04, 0xfa04fb05, 0xfa04fb06, 0xfa04fb07, +0xfa04fbf8, 0xfa04fbf9, 0xfa04fbfa, 0xfa04fbfb, 0xfa04fbfc, 0xfa04fbfd, 0xfa04fbfe, 0xfa04fbff, +0xfa04fc00, 0xfa04fc01, 0xfa04fc02, 0xfa04fc03, 0xfa04fc04, 0xfa04fc05, 0xfa04fc06, 0xfa04fc07, +0xfa04fcf8, 0xfa04fcf9, 0xfa04fcfa, 0xfa04fcfb, 0xfa04fcfc, 0xfa04fcfd, 0xfa04fcfe, 0xfa04fcff, +0xfa04fd00, 0xfa04fd01, 0xfa04fd02, 0xfa04fd03, 0xfa04fd04, 0xfa04fd05, 0xfa04fd06, 0xfa04fd07, +0xfa04fdf8, 0xfa04fdf9, 0xfa04fdfa, 0xfa04fdfb, 0xfa04fdfc, 0xfa04fdfd, 0xfa04fdfe, 0xfa04fdff, +0xfa04fe00, 0xfa04fe01, 0xfa04fe02, 0xfa04fe03, 0xfa04fe04, 0xfa04fe05, 0xfa04fe06, 0xfa04fe07, +0xfa04fef8, 0xfa04fef9, 0xfa04fefa, 0xfa04fefb, 0xfa04fefc, 0xfa04fefd, 0xfa04fefe, 0xfa04feff, +0xfa04ff00, 0xfa04ff01, 0xfa04ff02, 0xfa04ff03, 0xfa04ff04, 0xfa04ff05, 0xfa04ff06, 0xfa04ff07, +0xfa04fff8, 0xfa04fff9, 0xfa04fffa, 0xfa04fffb, 0xfa04fffc, 0xfa04fffd, 0xfa04fffe, 0xfa04ffff, +0xfa050000, 0xfa050001, 0xfa050002, 0xfa050003, 0xfa050004, 0xfa050005, 0xfa050006, 0xfa050007, +0xfa0500f8, 0xfa0500f9, 0xfa0500fa, 0xfa0500fb, 0xfa0500fc, 0xfa0500fd, 0xfa0500fe, 0xfa0500ff, +0xfa050100, 0xfa050101, 0xfa050102, 0xfa050103, 0xfa050104, 0xfa050105, 0xfa050106, 0xfa050107, +0xfa0501f8, 0xfa0501f9, 0xfa0501fa, 0xfa0501fb, 0xfa0501fc, 0xfa0501fd, 0xfa0501fe, 0xfa0501ff, +0xfa050200, 0xfa050201, 0xfa050202, 0xfa050203, 0xfa050204, 0xfa050205, 0xfa050206, 0xfa050207, +0xfa0502f8, 0xfa0502f9, 0xfa0502fa, 0xfa0502fb, 0xfa0502fc, 0xfa0502fd, 0xfa0502fe, 0xfa0502ff, +0xfa050300, 0xfa050301, 0xfa050302, 0xfa050303, 0xfa050304, 0xfa050305, 0xfa050306, 0xfa050307, +0xfa0503f8, 0xfa0503f9, 0xfa0503fa, 0xfa0503fb, 0xfa0503fc, 0xfa0503fd, 0xfa0503fe, 0xfa0503ff, +0xfa050400, 0xfa050401, 0xfa050402, 0xfa050403, 0xfa050404, 0xfa050405, 0xfa050406, 0xfa050407, +0xfa0504f8, 0xfa0504f9, 0xfa0504fa, 0xfa0504fb, 0xfa0504fc, 0xfa0504fd, 0xfa0504fe, 0xfa0504ff, +0xfa050500, 0xfa050501, 0xfa050502, 0xfa050503, 0xfa050504, 0xfa050505, 0xfa050506, 0xfa050507, +0xfa0505f8, 0xfa0505f9, 0xfa0505fa, 0xfa0505fb, 0xfa0505fc, 0xfa0505fd, 0xfa0505fe, 0xfa0505ff, +0xfa050600, 0xfa050601, 0xfa050602, 0xfa050603, 0xfa050604, 0xfa050605, 0xfa050606, 0xfa050607, +0xfa0506f8, 0xfa0506f9, 0xfa0506fa, 0xfa0506fb, 0xfa0506fc, 0xfa0506fd, 0xfa0506fe, 0xfa0506ff, +0xfa050700, 0xfa050701, 0xfa050702, 0xfa050703, 0xfa050704, 0xfa050705, 0xfa050706, 0xfa050707, +0xfa0507f8, 0xfa0507f9, 0xfa0507fa, 0xfa0507fb, 0xfa0507fc, 0xfa0507fd, 0xfa0507fe, 0xfa0507ff, +0xfa05f800, 0xfa05f801, 0xfa05f802, 0xfa05f803, 0xfa05f804, 0xfa05f805, 0xfa05f806, 0xfa05f807, +0xfa05f8f8, 0xfa05f8f9, 0xfa05f8fa, 0xfa05f8fb, 0xfa05f8fc, 0xfa05f8fd, 0xfa05f8fe, 0xfa05f8ff, +0xfa05f900, 0xfa05f901, 0xfa05f902, 0xfa05f903, 0xfa05f904, 0xfa05f905, 0xfa05f906, 0xfa05f907, +0xfa05f9f8, 0xfa05f9f9, 0xfa05f9fa, 0xfa05f9fb, 0xfa05f9fc, 0xfa05f9fd, 0xfa05f9fe, 0xfa05f9ff, +0xfa05fa00, 0xfa05fa01, 0xfa05fa02, 0xfa05fa03, 0xfa05fa04, 0xfa05fa05, 0xfa05fa06, 0xfa05fa07, +0xfa05faf8, 0xfa05faf9, 0xfa05fafa, 0xfa05fafb, 0xfa05fafc, 0xfa05fafd, 0xfa05fafe, 0xfa05faff, +0xfa05fb00, 0xfa05fb01, 0xfa05fb02, 0xfa05fb03, 0xfa05fb04, 0xfa05fb05, 0xfa05fb06, 0xfa05fb07, +0xfa05fbf8, 0xfa05fbf9, 0xfa05fbfa, 0xfa05fbfb, 0xfa05fbfc, 0xfa05fbfd, 0xfa05fbfe, 0xfa05fbff, +0xfa05fc00, 0xfa05fc01, 0xfa05fc02, 0xfa05fc03, 0xfa05fc04, 0xfa05fc05, 0xfa05fc06, 0xfa05fc07, +0xfa05fcf8, 0xfa05fcf9, 0xfa05fcfa, 0xfa05fcfb, 0xfa05fcfc, 0xfa05fcfd, 0xfa05fcfe, 0xfa05fcff, +0xfa05fd00, 0xfa05fd01, 0xfa05fd02, 0xfa05fd03, 0xfa05fd04, 0xfa05fd05, 0xfa05fd06, 0xfa05fd07, +0xfa05fdf8, 0xfa05fdf9, 0xfa05fdfa, 0xfa05fdfb, 0xfa05fdfc, 0xfa05fdfd, 0xfa05fdfe, 0xfa05fdff, +0xfa05fe00, 0xfa05fe01, 0xfa05fe02, 0xfa05fe03, 0xfa05fe04, 0xfa05fe05, 0xfa05fe06, 0xfa05fe07, +0xfa05fef8, 0xfa05fef9, 0xfa05fefa, 0xfa05fefb, 0xfa05fefc, 0xfa05fefd, 0xfa05fefe, 0xfa05feff, +0xfa05ff00, 0xfa05ff01, 0xfa05ff02, 0xfa05ff03, 0xfa05ff04, 0xfa05ff05, 0xfa05ff06, 0xfa05ff07, +0xfa05fff8, 0xfa05fff9, 0xfa05fffa, 0xfa05fffb, 0xfa05fffc, 0xfa05fffd, 0xfa05fffe, 0xfa05ffff, +0xfa060000, 0xfa060001, 0xfa060002, 0xfa060003, 0xfa060004, 0xfa060005, 0xfa060006, 0xfa060007, +0xfa0600f8, 0xfa0600f9, 0xfa0600fa, 0xfa0600fb, 0xfa0600fc, 0xfa0600fd, 0xfa0600fe, 0xfa0600ff, +0xfa060100, 0xfa060101, 0xfa060102, 0xfa060103, 0xfa060104, 0xfa060105, 0xfa060106, 0xfa060107, +0xfa0601f8, 0xfa0601f9, 0xfa0601fa, 0xfa0601fb, 0xfa0601fc, 0xfa0601fd, 0xfa0601fe, 0xfa0601ff, +0xfa060200, 0xfa060201, 0xfa060202, 0xfa060203, 0xfa060204, 0xfa060205, 0xfa060206, 0xfa060207, +0xfa0602f8, 0xfa0602f9, 0xfa0602fa, 0xfa0602fb, 0xfa0602fc, 0xfa0602fd, 0xfa0602fe, 0xfa0602ff, +0xfa060300, 0xfa060301, 0xfa060302, 0xfa060303, 0xfa060304, 0xfa060305, 0xfa060306, 0xfa060307, +0xfa0603f8, 0xfa0603f9, 0xfa0603fa, 0xfa0603fb, 0xfa0603fc, 0xfa0603fd, 0xfa0603fe, 0xfa0603ff, +0xfa060400, 0xfa060401, 0xfa060402, 0xfa060403, 0xfa060404, 0xfa060405, 0xfa060406, 0xfa060407, +0xfa0604f8, 0xfa0604f9, 0xfa0604fa, 0xfa0604fb, 0xfa0604fc, 0xfa0604fd, 0xfa0604fe, 0xfa0604ff, +0xfa060500, 0xfa060501, 0xfa060502, 0xfa060503, 0xfa060504, 0xfa060505, 0xfa060506, 0xfa060507, +0xfa0605f8, 0xfa0605f9, 0xfa0605fa, 0xfa0605fb, 0xfa0605fc, 0xfa0605fd, 0xfa0605fe, 0xfa0605ff, +0xfa060600, 0xfa060601, 0xfa060602, 0xfa060603, 0xfa060604, 0xfa060605, 0xfa060606, 0xfa060607, +0xfa0606f8, 0xfa0606f9, 0xfa0606fa, 0xfa0606fb, 0xfa0606fc, 0xfa0606fd, 0xfa0606fe, 0xfa0606ff, +0xfa060700, 0xfa060701, 0xfa060702, 0xfa060703, 0xfa060704, 0xfa060705, 0xfa060706, 0xfa060707, +0xfa0607f8, 0xfa0607f9, 0xfa0607fa, 0xfa0607fb, 0xfa0607fc, 0xfa0607fd, 0xfa0607fe, 0xfa0607ff, +0xfa06f800, 0xfa06f801, 0xfa06f802, 0xfa06f803, 0xfa06f804, 0xfa06f805, 0xfa06f806, 0xfa06f807, +0xfa06f8f8, 0xfa06f8f9, 0xfa06f8fa, 0xfa06f8fb, 0xfa06f8fc, 0xfa06f8fd, 0xfa06f8fe, 0xfa06f8ff, +0xfa06f900, 0xfa06f901, 0xfa06f902, 0xfa06f903, 0xfa06f904, 0xfa06f905, 0xfa06f906, 0xfa06f907, +0xfa06f9f8, 0xfa06f9f9, 0xfa06f9fa, 0xfa06f9fb, 0xfa06f9fc, 0xfa06f9fd, 0xfa06f9fe, 0xfa06f9ff, +0xfa06fa00, 0xfa06fa01, 0xfa06fa02, 0xfa06fa03, 0xfa06fa04, 0xfa06fa05, 0xfa06fa06, 0xfa06fa07, +0xfa06faf8, 0xfa06faf9, 0xfa06fafa, 0xfa06fafb, 0xfa06fafc, 0xfa06fafd, 0xfa06fafe, 0xfa06faff, +0xfa06fb00, 0xfa06fb01, 0xfa06fb02, 0xfa06fb03, 0xfa06fb04, 0xfa06fb05, 0xfa06fb06, 0xfa06fb07, +0xfa06fbf8, 0xfa06fbf9, 0xfa06fbfa, 0xfa06fbfb, 0xfa06fbfc, 0xfa06fbfd, 0xfa06fbfe, 0xfa06fbff, +0xfa06fc00, 0xfa06fc01, 0xfa06fc02, 0xfa06fc03, 0xfa06fc04, 0xfa06fc05, 0xfa06fc06, 0xfa06fc07, +0xfa06fcf8, 0xfa06fcf9, 0xfa06fcfa, 0xfa06fcfb, 0xfa06fcfc, 0xfa06fcfd, 0xfa06fcfe, 0xfa06fcff, +0xfa06fd00, 0xfa06fd01, 0xfa06fd02, 0xfa06fd03, 0xfa06fd04, 0xfa06fd05, 0xfa06fd06, 0xfa06fd07, +0xfa06fdf8, 0xfa06fdf9, 0xfa06fdfa, 0xfa06fdfb, 0xfa06fdfc, 0xfa06fdfd, 0xfa06fdfe, 0xfa06fdff, +0xfa06fe00, 0xfa06fe01, 0xfa06fe02, 0xfa06fe03, 0xfa06fe04, 0xfa06fe05, 0xfa06fe06, 0xfa06fe07, +0xfa06fef8, 0xfa06fef9, 0xfa06fefa, 0xfa06fefb, 0xfa06fefc, 0xfa06fefd, 0xfa06fefe, 0xfa06feff, +0xfa06ff00, 0xfa06ff01, 0xfa06ff02, 0xfa06ff03, 0xfa06ff04, 0xfa06ff05, 0xfa06ff06, 0xfa06ff07, +0xfa06fff8, 0xfa06fff9, 0xfa06fffa, 0xfa06fffb, 0xfa06fffc, 0xfa06fffd, 0xfa06fffe, 0xfa06ffff, +0xfa070000, 0xfa070001, 0xfa070002, 0xfa070003, 0xfa070004, 0xfa070005, 0xfa070006, 0xfa070007, +0xfa0700f8, 0xfa0700f9, 0xfa0700fa, 0xfa0700fb, 0xfa0700fc, 0xfa0700fd, 0xfa0700fe, 0xfa0700ff, +0xfa070100, 0xfa070101, 0xfa070102, 0xfa070103, 0xfa070104, 0xfa070105, 0xfa070106, 0xfa070107, +0xfa0701f8, 0xfa0701f9, 0xfa0701fa, 0xfa0701fb, 0xfa0701fc, 0xfa0701fd, 0xfa0701fe, 0xfa0701ff, +0xfa070200, 0xfa070201, 0xfa070202, 0xfa070203, 0xfa070204, 0xfa070205, 0xfa070206, 0xfa070207, +0xfa0702f8, 0xfa0702f9, 0xfa0702fa, 0xfa0702fb, 0xfa0702fc, 0xfa0702fd, 0xfa0702fe, 0xfa0702ff, +0xfa070300, 0xfa070301, 0xfa070302, 0xfa070303, 0xfa070304, 0xfa070305, 0xfa070306, 0xfa070307, +0xfa0703f8, 0xfa0703f9, 0xfa0703fa, 0xfa0703fb, 0xfa0703fc, 0xfa0703fd, 0xfa0703fe, 0xfa0703ff, +0xfa070400, 0xfa070401, 0xfa070402, 0xfa070403, 0xfa070404, 0xfa070405, 0xfa070406, 0xfa070407, +0xfa0704f8, 0xfa0704f9, 0xfa0704fa, 0xfa0704fb, 0xfa0704fc, 0xfa0704fd, 0xfa0704fe, 0xfa0704ff, +0xfa070500, 0xfa070501, 0xfa070502, 0xfa070503, 0xfa070504, 0xfa070505, 0xfa070506, 0xfa070507, +0xfa0705f8, 0xfa0705f9, 0xfa0705fa, 0xfa0705fb, 0xfa0705fc, 0xfa0705fd, 0xfa0705fe, 0xfa0705ff, +0xfa070600, 0xfa070601, 0xfa070602, 0xfa070603, 0xfa070604, 0xfa070605, 0xfa070606, 0xfa070607, +0xfa0706f8, 0xfa0706f9, 0xfa0706fa, 0xfa0706fb, 0xfa0706fc, 0xfa0706fd, 0xfa0706fe, 0xfa0706ff, +0xfa070700, 0xfa070701, 0xfa070702, 0xfa070703, 0xfa070704, 0xfa070705, 0xfa070706, 0xfa070707, +0xfa0707f8, 0xfa0707f9, 0xfa0707fa, 0xfa0707fb, 0xfa0707fc, 0xfa0707fd, 0xfa0707fe, 0xfa0707ff, +0xfa07f800, 0xfa07f801, 0xfa07f802, 0xfa07f803, 0xfa07f804, 0xfa07f805, 0xfa07f806, 0xfa07f807, +0xfa07f8f8, 0xfa07f8f9, 0xfa07f8fa, 0xfa07f8fb, 0xfa07f8fc, 0xfa07f8fd, 0xfa07f8fe, 0xfa07f8ff, +0xfa07f900, 0xfa07f901, 0xfa07f902, 0xfa07f903, 0xfa07f904, 0xfa07f905, 0xfa07f906, 0xfa07f907, +0xfa07f9f8, 0xfa07f9f9, 0xfa07f9fa, 0xfa07f9fb, 0xfa07f9fc, 0xfa07f9fd, 0xfa07f9fe, 0xfa07f9ff, +0xfa07fa00, 0xfa07fa01, 0xfa07fa02, 0xfa07fa03, 0xfa07fa04, 0xfa07fa05, 0xfa07fa06, 0xfa07fa07, +0xfa07faf8, 0xfa07faf9, 0xfa07fafa, 0xfa07fafb, 0xfa07fafc, 0xfa07fafd, 0xfa07fafe, 0xfa07faff, +0xfa07fb00, 0xfa07fb01, 0xfa07fb02, 0xfa07fb03, 0xfa07fb04, 0xfa07fb05, 0xfa07fb06, 0xfa07fb07, +0xfa07fbf8, 0xfa07fbf9, 0xfa07fbfa, 0xfa07fbfb, 0xfa07fbfc, 0xfa07fbfd, 0xfa07fbfe, 0xfa07fbff, +0xfa07fc00, 0xfa07fc01, 0xfa07fc02, 0xfa07fc03, 0xfa07fc04, 0xfa07fc05, 0xfa07fc06, 0xfa07fc07, +0xfa07fcf8, 0xfa07fcf9, 0xfa07fcfa, 0xfa07fcfb, 0xfa07fcfc, 0xfa07fcfd, 0xfa07fcfe, 0xfa07fcff, +0xfa07fd00, 0xfa07fd01, 0xfa07fd02, 0xfa07fd03, 0xfa07fd04, 0xfa07fd05, 0xfa07fd06, 0xfa07fd07, +0xfa07fdf8, 0xfa07fdf9, 0xfa07fdfa, 0xfa07fdfb, 0xfa07fdfc, 0xfa07fdfd, 0xfa07fdfe, 0xfa07fdff, +0xfa07fe00, 0xfa07fe01, 0xfa07fe02, 0xfa07fe03, 0xfa07fe04, 0xfa07fe05, 0xfa07fe06, 0xfa07fe07, +0xfa07fef8, 0xfa07fef9, 0xfa07fefa, 0xfa07fefb, 0xfa07fefc, 0xfa07fefd, 0xfa07fefe, 0xfa07feff, +0xfa07ff00, 0xfa07ff01, 0xfa07ff02, 0xfa07ff03, 0xfa07ff04, 0xfa07ff05, 0xfa07ff06, 0xfa07ff07, +0xfa07fff8, 0xfa07fff9, 0xfa07fffa, 0xfa07fffb, 0xfa07fffc, 0xfa07fffd, 0xfa07fffe, 0xfa07ffff, +0xfaf80000, 0xfaf80001, 0xfaf80002, 0xfaf80003, 0xfaf80004, 0xfaf80005, 0xfaf80006, 0xfaf80007, +0xfaf800f8, 0xfaf800f9, 0xfaf800fa, 0xfaf800fb, 0xfaf800fc, 0xfaf800fd, 0xfaf800fe, 0xfaf800ff, +0xfaf80100, 0xfaf80101, 0xfaf80102, 0xfaf80103, 0xfaf80104, 0xfaf80105, 0xfaf80106, 0xfaf80107, +0xfaf801f8, 0xfaf801f9, 0xfaf801fa, 0xfaf801fb, 0xfaf801fc, 0xfaf801fd, 0xfaf801fe, 0xfaf801ff, +0xfaf80200, 0xfaf80201, 0xfaf80202, 0xfaf80203, 0xfaf80204, 0xfaf80205, 0xfaf80206, 0xfaf80207, +0xfaf802f8, 0xfaf802f9, 0xfaf802fa, 0xfaf802fb, 0xfaf802fc, 0xfaf802fd, 0xfaf802fe, 0xfaf802ff, +0xfaf80300, 0xfaf80301, 0xfaf80302, 0xfaf80303, 0xfaf80304, 0xfaf80305, 0xfaf80306, 0xfaf80307, +0xfaf803f8, 0xfaf803f9, 0xfaf803fa, 0xfaf803fb, 0xfaf803fc, 0xfaf803fd, 0xfaf803fe, 0xfaf803ff, +0xfaf80400, 0xfaf80401, 0xfaf80402, 0xfaf80403, 0xfaf80404, 0xfaf80405, 0xfaf80406, 0xfaf80407, +0xfaf804f8, 0xfaf804f9, 0xfaf804fa, 0xfaf804fb, 0xfaf804fc, 0xfaf804fd, 0xfaf804fe, 0xfaf804ff, +0xfaf80500, 0xfaf80501, 0xfaf80502, 0xfaf80503, 0xfaf80504, 0xfaf80505, 0xfaf80506, 0xfaf80507, +0xfaf805f8, 0xfaf805f9, 0xfaf805fa, 0xfaf805fb, 0xfaf805fc, 0xfaf805fd, 0xfaf805fe, 0xfaf805ff, +0xfaf80600, 0xfaf80601, 0xfaf80602, 0xfaf80603, 0xfaf80604, 0xfaf80605, 0xfaf80606, 0xfaf80607, +0xfaf806f8, 0xfaf806f9, 0xfaf806fa, 0xfaf806fb, 0xfaf806fc, 0xfaf806fd, 0xfaf806fe, 0xfaf806ff, +0xfaf80700, 0xfaf80701, 0xfaf80702, 0xfaf80703, 0xfaf80704, 0xfaf80705, 0xfaf80706, 0xfaf80707, +0xfaf807f8, 0xfaf807f9, 0xfaf807fa, 0xfaf807fb, 0xfaf807fc, 0xfaf807fd, 0xfaf807fe, 0xfaf807ff, +0xfaf8f800, 0xfaf8f801, 0xfaf8f802, 0xfaf8f803, 0xfaf8f804, 0xfaf8f805, 0xfaf8f806, 0xfaf8f807, +0xfaf8f8f8, 0xfaf8f8f9, 0xfaf8f8fa, 0xfaf8f8fb, 0xfaf8f8fc, 0xfaf8f8fd, 0xfaf8f8fe, 0xfaf8f8ff, +0xfaf8f900, 0xfaf8f901, 0xfaf8f902, 0xfaf8f903, 0xfaf8f904, 0xfaf8f905, 0xfaf8f906, 0xfaf8f907, +0xfaf8f9f8, 0xfaf8f9f9, 0xfaf8f9fa, 0xfaf8f9fb, 0xfaf8f9fc, 0xfaf8f9fd, 0xfaf8f9fe, 0xfaf8f9ff, +0xfaf8fa00, 0xfaf8fa01, 0xfaf8fa02, 0xfaf8fa03, 0xfaf8fa04, 0xfaf8fa05, 0xfaf8fa06, 0xfaf8fa07, +0xfaf8faf8, 0xfaf8faf9, 0xfaf8fafa, 0xfaf8fafb, 0xfaf8fafc, 0xfaf8fafd, 0xfaf8fafe, 0xfaf8faff, +0xfaf8fb00, 0xfaf8fb01, 0xfaf8fb02, 0xfaf8fb03, 0xfaf8fb04, 0xfaf8fb05, 0xfaf8fb06, 0xfaf8fb07, +0xfaf8fbf8, 0xfaf8fbf9, 0xfaf8fbfa, 0xfaf8fbfb, 0xfaf8fbfc, 0xfaf8fbfd, 0xfaf8fbfe, 0xfaf8fbff, +0xfaf8fc00, 0xfaf8fc01, 0xfaf8fc02, 0xfaf8fc03, 0xfaf8fc04, 0xfaf8fc05, 0xfaf8fc06, 0xfaf8fc07, +0xfaf8fcf8, 0xfaf8fcf9, 0xfaf8fcfa, 0xfaf8fcfb, 0xfaf8fcfc, 0xfaf8fcfd, 0xfaf8fcfe, 0xfaf8fcff, +0xfaf8fd00, 0xfaf8fd01, 0xfaf8fd02, 0xfaf8fd03, 0xfaf8fd04, 0xfaf8fd05, 0xfaf8fd06, 0xfaf8fd07, +0xfaf8fdf8, 0xfaf8fdf9, 0xfaf8fdfa, 0xfaf8fdfb, 0xfaf8fdfc, 0xfaf8fdfd, 0xfaf8fdfe, 0xfaf8fdff, +0xfaf8fe00, 0xfaf8fe01, 0xfaf8fe02, 0xfaf8fe03, 0xfaf8fe04, 0xfaf8fe05, 0xfaf8fe06, 0xfaf8fe07, +0xfaf8fef8, 0xfaf8fef9, 0xfaf8fefa, 0xfaf8fefb, 0xfaf8fefc, 0xfaf8fefd, 0xfaf8fefe, 0xfaf8feff, +0xfaf8ff00, 0xfaf8ff01, 0xfaf8ff02, 0xfaf8ff03, 0xfaf8ff04, 0xfaf8ff05, 0xfaf8ff06, 0xfaf8ff07, +0xfaf8fff8, 0xfaf8fff9, 0xfaf8fffa, 0xfaf8fffb, 0xfaf8fffc, 0xfaf8fffd, 0xfaf8fffe, 0xfaf8ffff, +0xfaf90000, 0xfaf90001, 0xfaf90002, 0xfaf90003, 0xfaf90004, 0xfaf90005, 0xfaf90006, 0xfaf90007, +0xfaf900f8, 0xfaf900f9, 0xfaf900fa, 0xfaf900fb, 0xfaf900fc, 0xfaf900fd, 0xfaf900fe, 0xfaf900ff, +0xfaf90100, 0xfaf90101, 0xfaf90102, 0xfaf90103, 0xfaf90104, 0xfaf90105, 0xfaf90106, 0xfaf90107, +0xfaf901f8, 0xfaf901f9, 0xfaf901fa, 0xfaf901fb, 0xfaf901fc, 0xfaf901fd, 0xfaf901fe, 0xfaf901ff, +0xfaf90200, 0xfaf90201, 0xfaf90202, 0xfaf90203, 0xfaf90204, 0xfaf90205, 0xfaf90206, 0xfaf90207, +0xfaf902f8, 0xfaf902f9, 0xfaf902fa, 0xfaf902fb, 0xfaf902fc, 0xfaf902fd, 0xfaf902fe, 0xfaf902ff, +0xfaf90300, 0xfaf90301, 0xfaf90302, 0xfaf90303, 0xfaf90304, 0xfaf90305, 0xfaf90306, 0xfaf90307, +0xfaf903f8, 0xfaf903f9, 0xfaf903fa, 0xfaf903fb, 0xfaf903fc, 0xfaf903fd, 0xfaf903fe, 0xfaf903ff, +0xfaf90400, 0xfaf90401, 0xfaf90402, 0xfaf90403, 0xfaf90404, 0xfaf90405, 0xfaf90406, 0xfaf90407, +0xfaf904f8, 0xfaf904f9, 0xfaf904fa, 0xfaf904fb, 0xfaf904fc, 0xfaf904fd, 0xfaf904fe, 0xfaf904ff, +0xfaf90500, 0xfaf90501, 0xfaf90502, 0xfaf90503, 0xfaf90504, 0xfaf90505, 0xfaf90506, 0xfaf90507, +0xfaf905f8, 0xfaf905f9, 0xfaf905fa, 0xfaf905fb, 0xfaf905fc, 0xfaf905fd, 0xfaf905fe, 0xfaf905ff, +0xfaf90600, 0xfaf90601, 0xfaf90602, 0xfaf90603, 0xfaf90604, 0xfaf90605, 0xfaf90606, 0xfaf90607, +0xfaf906f8, 0xfaf906f9, 0xfaf906fa, 0xfaf906fb, 0xfaf906fc, 0xfaf906fd, 0xfaf906fe, 0xfaf906ff, +0xfaf90700, 0xfaf90701, 0xfaf90702, 0xfaf90703, 0xfaf90704, 0xfaf90705, 0xfaf90706, 0xfaf90707, +0xfaf907f8, 0xfaf907f9, 0xfaf907fa, 0xfaf907fb, 0xfaf907fc, 0xfaf907fd, 0xfaf907fe, 0xfaf907ff, +0xfaf9f800, 0xfaf9f801, 0xfaf9f802, 0xfaf9f803, 0xfaf9f804, 0xfaf9f805, 0xfaf9f806, 0xfaf9f807, +0xfaf9f8f8, 0xfaf9f8f9, 0xfaf9f8fa, 0xfaf9f8fb, 0xfaf9f8fc, 0xfaf9f8fd, 0xfaf9f8fe, 0xfaf9f8ff, +0xfaf9f900, 0xfaf9f901, 0xfaf9f902, 0xfaf9f903, 0xfaf9f904, 0xfaf9f905, 0xfaf9f906, 0xfaf9f907, +0xfaf9f9f8, 0xfaf9f9f9, 0xfaf9f9fa, 0xfaf9f9fb, 0xfaf9f9fc, 0xfaf9f9fd, 0xfaf9f9fe, 0xfaf9f9ff, +0xfaf9fa00, 0xfaf9fa01, 0xfaf9fa02, 0xfaf9fa03, 0xfaf9fa04, 0xfaf9fa05, 0xfaf9fa06, 0xfaf9fa07, +0xfaf9faf8, 0xfaf9faf9, 0xfaf9fafa, 0xfaf9fafb, 0xfaf9fafc, 0xfaf9fafd, 0xfaf9fafe, 0xfaf9faff, +0xfaf9fb00, 0xfaf9fb01, 0xfaf9fb02, 0xfaf9fb03, 0xfaf9fb04, 0xfaf9fb05, 0xfaf9fb06, 0xfaf9fb07, +0xfaf9fbf8, 0xfaf9fbf9, 0xfaf9fbfa, 0xfaf9fbfb, 0xfaf9fbfc, 0xfaf9fbfd, 0xfaf9fbfe, 0xfaf9fbff, +0xfaf9fc00, 0xfaf9fc01, 0xfaf9fc02, 0xfaf9fc03, 0xfaf9fc04, 0xfaf9fc05, 0xfaf9fc06, 0xfaf9fc07, +0xfaf9fcf8, 0xfaf9fcf9, 0xfaf9fcfa, 0xfaf9fcfb, 0xfaf9fcfc, 0xfaf9fcfd, 0xfaf9fcfe, 0xfaf9fcff, +0xfaf9fd00, 0xfaf9fd01, 0xfaf9fd02, 0xfaf9fd03, 0xfaf9fd04, 0xfaf9fd05, 0xfaf9fd06, 0xfaf9fd07, +0xfaf9fdf8, 0xfaf9fdf9, 0xfaf9fdfa, 0xfaf9fdfb, 0xfaf9fdfc, 0xfaf9fdfd, 0xfaf9fdfe, 0xfaf9fdff, +0xfaf9fe00, 0xfaf9fe01, 0xfaf9fe02, 0xfaf9fe03, 0xfaf9fe04, 0xfaf9fe05, 0xfaf9fe06, 0xfaf9fe07, +0xfaf9fef8, 0xfaf9fef9, 0xfaf9fefa, 0xfaf9fefb, 0xfaf9fefc, 0xfaf9fefd, 0xfaf9fefe, 0xfaf9feff, +0xfaf9ff00, 0xfaf9ff01, 0xfaf9ff02, 0xfaf9ff03, 0xfaf9ff04, 0xfaf9ff05, 0xfaf9ff06, 0xfaf9ff07, +0xfaf9fff8, 0xfaf9fff9, 0xfaf9fffa, 0xfaf9fffb, 0xfaf9fffc, 0xfaf9fffd, 0xfaf9fffe, 0xfaf9ffff, +0xfafa0000, 0xfafa0001, 0xfafa0002, 0xfafa0003, 0xfafa0004, 0xfafa0005, 0xfafa0006, 0xfafa0007, +0xfafa00f8, 0xfafa00f9, 0xfafa00fa, 0xfafa00fb, 0xfafa00fc, 0xfafa00fd, 0xfafa00fe, 0xfafa00ff, +0xfafa0100, 0xfafa0101, 0xfafa0102, 0xfafa0103, 0xfafa0104, 0xfafa0105, 0xfafa0106, 0xfafa0107, +0xfafa01f8, 0xfafa01f9, 0xfafa01fa, 0xfafa01fb, 0xfafa01fc, 0xfafa01fd, 0xfafa01fe, 0xfafa01ff, +0xfafa0200, 0xfafa0201, 0xfafa0202, 0xfafa0203, 0xfafa0204, 0xfafa0205, 0xfafa0206, 0xfafa0207, +0xfafa02f8, 0xfafa02f9, 0xfafa02fa, 0xfafa02fb, 0xfafa02fc, 0xfafa02fd, 0xfafa02fe, 0xfafa02ff, +0xfafa0300, 0xfafa0301, 0xfafa0302, 0xfafa0303, 0xfafa0304, 0xfafa0305, 0xfafa0306, 0xfafa0307, +0xfafa03f8, 0xfafa03f9, 0xfafa03fa, 0xfafa03fb, 0xfafa03fc, 0xfafa03fd, 0xfafa03fe, 0xfafa03ff, +0xfafa0400, 0xfafa0401, 0xfafa0402, 0xfafa0403, 0xfafa0404, 0xfafa0405, 0xfafa0406, 0xfafa0407, +0xfafa04f8, 0xfafa04f9, 0xfafa04fa, 0xfafa04fb, 0xfafa04fc, 0xfafa04fd, 0xfafa04fe, 0xfafa04ff, +0xfafa0500, 0xfafa0501, 0xfafa0502, 0xfafa0503, 0xfafa0504, 0xfafa0505, 0xfafa0506, 0xfafa0507, +0xfafa05f8, 0xfafa05f9, 0xfafa05fa, 0xfafa05fb, 0xfafa05fc, 0xfafa05fd, 0xfafa05fe, 0xfafa05ff, +0xfafa0600, 0xfafa0601, 0xfafa0602, 0xfafa0603, 0xfafa0604, 0xfafa0605, 0xfafa0606, 0xfafa0607, +0xfafa06f8, 0xfafa06f9, 0xfafa06fa, 0xfafa06fb, 0xfafa06fc, 0xfafa06fd, 0xfafa06fe, 0xfafa06ff, +0xfafa0700, 0xfafa0701, 0xfafa0702, 0xfafa0703, 0xfafa0704, 0xfafa0705, 0xfafa0706, 0xfafa0707, +0xfafa07f8, 0xfafa07f9, 0xfafa07fa, 0xfafa07fb, 0xfafa07fc, 0xfafa07fd, 0xfafa07fe, 0xfafa07ff, +0xfafaf800, 0xfafaf801, 0xfafaf802, 0xfafaf803, 0xfafaf804, 0xfafaf805, 0xfafaf806, 0xfafaf807, +0xfafaf8f8, 0xfafaf8f9, 0xfafaf8fa, 0xfafaf8fb, 0xfafaf8fc, 0xfafaf8fd, 0xfafaf8fe, 0xfafaf8ff, +0xfafaf900, 0xfafaf901, 0xfafaf902, 0xfafaf903, 0xfafaf904, 0xfafaf905, 0xfafaf906, 0xfafaf907, +0xfafaf9f8, 0xfafaf9f9, 0xfafaf9fa, 0xfafaf9fb, 0xfafaf9fc, 0xfafaf9fd, 0xfafaf9fe, 0xfafaf9ff, +0xfafafa00, 0xfafafa01, 0xfafafa02, 0xfafafa03, 0xfafafa04, 0xfafafa05, 0xfafafa06, 0xfafafa07, +0xfafafaf8, 0xfafafaf9, 0xfafafafa, 0xfafafafb, 0xfafafafc, 0xfafafafd, 0xfafafafe, 0xfafafaff, +0xfafafb00, 0xfafafb01, 0xfafafb02, 0xfafafb03, 0xfafafb04, 0xfafafb05, 0xfafafb06, 0xfafafb07, +0xfafafbf8, 0xfafafbf9, 0xfafafbfa, 0xfafafbfb, 0xfafafbfc, 0xfafafbfd, 0xfafafbfe, 0xfafafbff, +0xfafafc00, 0xfafafc01, 0xfafafc02, 0xfafafc03, 0xfafafc04, 0xfafafc05, 0xfafafc06, 0xfafafc07, +0xfafafcf8, 0xfafafcf9, 0xfafafcfa, 0xfafafcfb, 0xfafafcfc, 0xfafafcfd, 0xfafafcfe, 0xfafafcff, +0xfafafd00, 0xfafafd01, 0xfafafd02, 0xfafafd03, 0xfafafd04, 0xfafafd05, 0xfafafd06, 0xfafafd07, +0xfafafdf8, 0xfafafdf9, 0xfafafdfa, 0xfafafdfb, 0xfafafdfc, 0xfafafdfd, 0xfafafdfe, 0xfafafdff, +0xfafafe00, 0xfafafe01, 0xfafafe02, 0xfafafe03, 0xfafafe04, 0xfafafe05, 0xfafafe06, 0xfafafe07, +0xfafafef8, 0xfafafef9, 0xfafafefa, 0xfafafefb, 0xfafafefc, 0xfafafefd, 0xfafafefe, 0xfafafeff, +0xfafaff00, 0xfafaff01, 0xfafaff02, 0xfafaff03, 0xfafaff04, 0xfafaff05, 0xfafaff06, 0xfafaff07, +0xfafafff8, 0xfafafff9, 0xfafafffa, 0xfafafffb, 0xfafafffc, 0xfafafffd, 0xfafafffe, 0xfafaffff, +0xfafb0000, 0xfafb0001, 0xfafb0002, 0xfafb0003, 0xfafb0004, 0xfafb0005, 0xfafb0006, 0xfafb0007, +0xfafb00f8, 0xfafb00f9, 0xfafb00fa, 0xfafb00fb, 0xfafb00fc, 0xfafb00fd, 0xfafb00fe, 0xfafb00ff, +0xfafb0100, 0xfafb0101, 0xfafb0102, 0xfafb0103, 0xfafb0104, 0xfafb0105, 0xfafb0106, 0xfafb0107, +0xfafb01f8, 0xfafb01f9, 0xfafb01fa, 0xfafb01fb, 0xfafb01fc, 0xfafb01fd, 0xfafb01fe, 0xfafb01ff, +0xfafb0200, 0xfafb0201, 0xfafb0202, 0xfafb0203, 0xfafb0204, 0xfafb0205, 0xfafb0206, 0xfafb0207, +0xfafb02f8, 0xfafb02f9, 0xfafb02fa, 0xfafb02fb, 0xfafb02fc, 0xfafb02fd, 0xfafb02fe, 0xfafb02ff, +0xfafb0300, 0xfafb0301, 0xfafb0302, 0xfafb0303, 0xfafb0304, 0xfafb0305, 0xfafb0306, 0xfafb0307, +0xfafb03f8, 0xfafb03f9, 0xfafb03fa, 0xfafb03fb, 0xfafb03fc, 0xfafb03fd, 0xfafb03fe, 0xfafb03ff, +0xfafb0400, 0xfafb0401, 0xfafb0402, 0xfafb0403, 0xfafb0404, 0xfafb0405, 0xfafb0406, 0xfafb0407, +0xfafb04f8, 0xfafb04f9, 0xfafb04fa, 0xfafb04fb, 0xfafb04fc, 0xfafb04fd, 0xfafb04fe, 0xfafb04ff, +0xfafb0500, 0xfafb0501, 0xfafb0502, 0xfafb0503, 0xfafb0504, 0xfafb0505, 0xfafb0506, 0xfafb0507, +0xfafb05f8, 0xfafb05f9, 0xfafb05fa, 0xfafb05fb, 0xfafb05fc, 0xfafb05fd, 0xfafb05fe, 0xfafb05ff, +0xfafb0600, 0xfafb0601, 0xfafb0602, 0xfafb0603, 0xfafb0604, 0xfafb0605, 0xfafb0606, 0xfafb0607, +0xfafb06f8, 0xfafb06f9, 0xfafb06fa, 0xfafb06fb, 0xfafb06fc, 0xfafb06fd, 0xfafb06fe, 0xfafb06ff, +0xfafb0700, 0xfafb0701, 0xfafb0702, 0xfafb0703, 0xfafb0704, 0xfafb0705, 0xfafb0706, 0xfafb0707, +0xfafb07f8, 0xfafb07f9, 0xfafb07fa, 0xfafb07fb, 0xfafb07fc, 0xfafb07fd, 0xfafb07fe, 0xfafb07ff, +0xfafbf800, 0xfafbf801, 0xfafbf802, 0xfafbf803, 0xfafbf804, 0xfafbf805, 0xfafbf806, 0xfafbf807, +0xfafbf8f8, 0xfafbf8f9, 0xfafbf8fa, 0xfafbf8fb, 0xfafbf8fc, 0xfafbf8fd, 0xfafbf8fe, 0xfafbf8ff, +0xfafbf900, 0xfafbf901, 0xfafbf902, 0xfafbf903, 0xfafbf904, 0xfafbf905, 0xfafbf906, 0xfafbf907, +0xfafbf9f8, 0xfafbf9f9, 0xfafbf9fa, 0xfafbf9fb, 0xfafbf9fc, 0xfafbf9fd, 0xfafbf9fe, 0xfafbf9ff, +0xfafbfa00, 0xfafbfa01, 0xfafbfa02, 0xfafbfa03, 0xfafbfa04, 0xfafbfa05, 0xfafbfa06, 0xfafbfa07, +0xfafbfaf8, 0xfafbfaf9, 0xfafbfafa, 0xfafbfafb, 0xfafbfafc, 0xfafbfafd, 0xfafbfafe, 0xfafbfaff, +0xfafbfb00, 0xfafbfb01, 0xfafbfb02, 0xfafbfb03, 0xfafbfb04, 0xfafbfb05, 0xfafbfb06, 0xfafbfb07, +0xfafbfbf8, 0xfafbfbf9, 0xfafbfbfa, 0xfafbfbfb, 0xfafbfbfc, 0xfafbfbfd, 0xfafbfbfe, 0xfafbfbff, +0xfafbfc00, 0xfafbfc01, 0xfafbfc02, 0xfafbfc03, 0xfafbfc04, 0xfafbfc05, 0xfafbfc06, 0xfafbfc07, +0xfafbfcf8, 0xfafbfcf9, 0xfafbfcfa, 0xfafbfcfb, 0xfafbfcfc, 0xfafbfcfd, 0xfafbfcfe, 0xfafbfcff, +0xfafbfd00, 0xfafbfd01, 0xfafbfd02, 0xfafbfd03, 0xfafbfd04, 0xfafbfd05, 0xfafbfd06, 0xfafbfd07, +0xfafbfdf8, 0xfafbfdf9, 0xfafbfdfa, 0xfafbfdfb, 0xfafbfdfc, 0xfafbfdfd, 0xfafbfdfe, 0xfafbfdff, +0xfafbfe00, 0xfafbfe01, 0xfafbfe02, 0xfafbfe03, 0xfafbfe04, 0xfafbfe05, 0xfafbfe06, 0xfafbfe07, +0xfafbfef8, 0xfafbfef9, 0xfafbfefa, 0xfafbfefb, 0xfafbfefc, 0xfafbfefd, 0xfafbfefe, 0xfafbfeff, +0xfafbff00, 0xfafbff01, 0xfafbff02, 0xfafbff03, 0xfafbff04, 0xfafbff05, 0xfafbff06, 0xfafbff07, +0xfafbfff8, 0xfafbfff9, 0xfafbfffa, 0xfafbfffb, 0xfafbfffc, 0xfafbfffd, 0xfafbfffe, 0xfafbffff, +0xfafc0000, 0xfafc0001, 0xfafc0002, 0xfafc0003, 0xfafc0004, 0xfafc0005, 0xfafc0006, 0xfafc0007, +0xfafc00f8, 0xfafc00f9, 0xfafc00fa, 0xfafc00fb, 0xfafc00fc, 0xfafc00fd, 0xfafc00fe, 0xfafc00ff, +0xfafc0100, 0xfafc0101, 0xfafc0102, 0xfafc0103, 0xfafc0104, 0xfafc0105, 0xfafc0106, 0xfafc0107, +0xfafc01f8, 0xfafc01f9, 0xfafc01fa, 0xfafc01fb, 0xfafc01fc, 0xfafc01fd, 0xfafc01fe, 0xfafc01ff, +0xfafc0200, 0xfafc0201, 0xfafc0202, 0xfafc0203, 0xfafc0204, 0xfafc0205, 0xfafc0206, 0xfafc0207, +0xfafc02f8, 0xfafc02f9, 0xfafc02fa, 0xfafc02fb, 0xfafc02fc, 0xfafc02fd, 0xfafc02fe, 0xfafc02ff, +0xfafc0300, 0xfafc0301, 0xfafc0302, 0xfafc0303, 0xfafc0304, 0xfafc0305, 0xfafc0306, 0xfafc0307, +0xfafc03f8, 0xfafc03f9, 0xfafc03fa, 0xfafc03fb, 0xfafc03fc, 0xfafc03fd, 0xfafc03fe, 0xfafc03ff, +0xfafc0400, 0xfafc0401, 0xfafc0402, 0xfafc0403, 0xfafc0404, 0xfafc0405, 0xfafc0406, 0xfafc0407, +0xfafc04f8, 0xfafc04f9, 0xfafc04fa, 0xfafc04fb, 0xfafc04fc, 0xfafc04fd, 0xfafc04fe, 0xfafc04ff, +0xfafc0500, 0xfafc0501, 0xfafc0502, 0xfafc0503, 0xfafc0504, 0xfafc0505, 0xfafc0506, 0xfafc0507, +0xfafc05f8, 0xfafc05f9, 0xfafc05fa, 0xfafc05fb, 0xfafc05fc, 0xfafc05fd, 0xfafc05fe, 0xfafc05ff, +0xfafc0600, 0xfafc0601, 0xfafc0602, 0xfafc0603, 0xfafc0604, 0xfafc0605, 0xfafc0606, 0xfafc0607, +0xfafc06f8, 0xfafc06f9, 0xfafc06fa, 0xfafc06fb, 0xfafc06fc, 0xfafc06fd, 0xfafc06fe, 0xfafc06ff, +0xfafc0700, 0xfafc0701, 0xfafc0702, 0xfafc0703, 0xfafc0704, 0xfafc0705, 0xfafc0706, 0xfafc0707, +0xfafc07f8, 0xfafc07f9, 0xfafc07fa, 0xfafc07fb, 0xfafc07fc, 0xfafc07fd, 0xfafc07fe, 0xfafc07ff, +0xfafcf800, 0xfafcf801, 0xfafcf802, 0xfafcf803, 0xfafcf804, 0xfafcf805, 0xfafcf806, 0xfafcf807, +0xfafcf8f8, 0xfafcf8f9, 0xfafcf8fa, 0xfafcf8fb, 0xfafcf8fc, 0xfafcf8fd, 0xfafcf8fe, 0xfafcf8ff, +0xfafcf900, 0xfafcf901, 0xfafcf902, 0xfafcf903, 0xfafcf904, 0xfafcf905, 0xfafcf906, 0xfafcf907, +0xfafcf9f8, 0xfafcf9f9, 0xfafcf9fa, 0xfafcf9fb, 0xfafcf9fc, 0xfafcf9fd, 0xfafcf9fe, 0xfafcf9ff, +0xfafcfa00, 0xfafcfa01, 0xfafcfa02, 0xfafcfa03, 0xfafcfa04, 0xfafcfa05, 0xfafcfa06, 0xfafcfa07, +0xfafcfaf8, 0xfafcfaf9, 0xfafcfafa, 0xfafcfafb, 0xfafcfafc, 0xfafcfafd, 0xfafcfafe, 0xfafcfaff, +0xfafcfb00, 0xfafcfb01, 0xfafcfb02, 0xfafcfb03, 0xfafcfb04, 0xfafcfb05, 0xfafcfb06, 0xfafcfb07, +0xfafcfbf8, 0xfafcfbf9, 0xfafcfbfa, 0xfafcfbfb, 0xfafcfbfc, 0xfafcfbfd, 0xfafcfbfe, 0xfafcfbff, +0xfafcfc00, 0xfafcfc01, 0xfafcfc02, 0xfafcfc03, 0xfafcfc04, 0xfafcfc05, 0xfafcfc06, 0xfafcfc07, +0xfafcfcf8, 0xfafcfcf9, 0xfafcfcfa, 0xfafcfcfb, 0xfafcfcfc, 0xfafcfcfd, 0xfafcfcfe, 0xfafcfcff, +0xfafcfd00, 0xfafcfd01, 0xfafcfd02, 0xfafcfd03, 0xfafcfd04, 0xfafcfd05, 0xfafcfd06, 0xfafcfd07, +0xfafcfdf8, 0xfafcfdf9, 0xfafcfdfa, 0xfafcfdfb, 0xfafcfdfc, 0xfafcfdfd, 0xfafcfdfe, 0xfafcfdff, +0xfafcfe00, 0xfafcfe01, 0xfafcfe02, 0xfafcfe03, 0xfafcfe04, 0xfafcfe05, 0xfafcfe06, 0xfafcfe07, +0xfafcfef8, 0xfafcfef9, 0xfafcfefa, 0xfafcfefb, 0xfafcfefc, 0xfafcfefd, 0xfafcfefe, 0xfafcfeff, +0xfafcff00, 0xfafcff01, 0xfafcff02, 0xfafcff03, 0xfafcff04, 0xfafcff05, 0xfafcff06, 0xfafcff07, +0xfafcfff8, 0xfafcfff9, 0xfafcfffa, 0xfafcfffb, 0xfafcfffc, 0xfafcfffd, 0xfafcfffe, 0xfafcffff, +0xfafd0000, 0xfafd0001, 0xfafd0002, 0xfafd0003, 0xfafd0004, 0xfafd0005, 0xfafd0006, 0xfafd0007, +0xfafd00f8, 0xfafd00f9, 0xfafd00fa, 0xfafd00fb, 0xfafd00fc, 0xfafd00fd, 0xfafd00fe, 0xfafd00ff, +0xfafd0100, 0xfafd0101, 0xfafd0102, 0xfafd0103, 0xfafd0104, 0xfafd0105, 0xfafd0106, 0xfafd0107, +0xfafd01f8, 0xfafd01f9, 0xfafd01fa, 0xfafd01fb, 0xfafd01fc, 0xfafd01fd, 0xfafd01fe, 0xfafd01ff, +0xfafd0200, 0xfafd0201, 0xfafd0202, 0xfafd0203, 0xfafd0204, 0xfafd0205, 0xfafd0206, 0xfafd0207, +0xfafd02f8, 0xfafd02f9, 0xfafd02fa, 0xfafd02fb, 0xfafd02fc, 0xfafd02fd, 0xfafd02fe, 0xfafd02ff, +0xfafd0300, 0xfafd0301, 0xfafd0302, 0xfafd0303, 0xfafd0304, 0xfafd0305, 0xfafd0306, 0xfafd0307, +0xfafd03f8, 0xfafd03f9, 0xfafd03fa, 0xfafd03fb, 0xfafd03fc, 0xfafd03fd, 0xfafd03fe, 0xfafd03ff, +0xfafd0400, 0xfafd0401, 0xfafd0402, 0xfafd0403, 0xfafd0404, 0xfafd0405, 0xfafd0406, 0xfafd0407, +0xfafd04f8, 0xfafd04f9, 0xfafd04fa, 0xfafd04fb, 0xfafd04fc, 0xfafd04fd, 0xfafd04fe, 0xfafd04ff, +0xfafd0500, 0xfafd0501, 0xfafd0502, 0xfafd0503, 0xfafd0504, 0xfafd0505, 0xfafd0506, 0xfafd0507, +0xfafd05f8, 0xfafd05f9, 0xfafd05fa, 0xfafd05fb, 0xfafd05fc, 0xfafd05fd, 0xfafd05fe, 0xfafd05ff, +0xfafd0600, 0xfafd0601, 0xfafd0602, 0xfafd0603, 0xfafd0604, 0xfafd0605, 0xfafd0606, 0xfafd0607, +0xfafd06f8, 0xfafd06f9, 0xfafd06fa, 0xfafd06fb, 0xfafd06fc, 0xfafd06fd, 0xfafd06fe, 0xfafd06ff, +0xfafd0700, 0xfafd0701, 0xfafd0702, 0xfafd0703, 0xfafd0704, 0xfafd0705, 0xfafd0706, 0xfafd0707, +0xfafd07f8, 0xfafd07f9, 0xfafd07fa, 0xfafd07fb, 0xfafd07fc, 0xfafd07fd, 0xfafd07fe, 0xfafd07ff, +0xfafdf800, 0xfafdf801, 0xfafdf802, 0xfafdf803, 0xfafdf804, 0xfafdf805, 0xfafdf806, 0xfafdf807, +0xfafdf8f8, 0xfafdf8f9, 0xfafdf8fa, 0xfafdf8fb, 0xfafdf8fc, 0xfafdf8fd, 0xfafdf8fe, 0xfafdf8ff, +0xfafdf900, 0xfafdf901, 0xfafdf902, 0xfafdf903, 0xfafdf904, 0xfafdf905, 0xfafdf906, 0xfafdf907, +0xfafdf9f8, 0xfafdf9f9, 0xfafdf9fa, 0xfafdf9fb, 0xfafdf9fc, 0xfafdf9fd, 0xfafdf9fe, 0xfafdf9ff, +0xfafdfa00, 0xfafdfa01, 0xfafdfa02, 0xfafdfa03, 0xfafdfa04, 0xfafdfa05, 0xfafdfa06, 0xfafdfa07, +0xfafdfaf8, 0xfafdfaf9, 0xfafdfafa, 0xfafdfafb, 0xfafdfafc, 0xfafdfafd, 0xfafdfafe, 0xfafdfaff, +0xfafdfb00, 0xfafdfb01, 0xfafdfb02, 0xfafdfb03, 0xfafdfb04, 0xfafdfb05, 0xfafdfb06, 0xfafdfb07, +0xfafdfbf8, 0xfafdfbf9, 0xfafdfbfa, 0xfafdfbfb, 0xfafdfbfc, 0xfafdfbfd, 0xfafdfbfe, 0xfafdfbff, +0xfafdfc00, 0xfafdfc01, 0xfafdfc02, 0xfafdfc03, 0xfafdfc04, 0xfafdfc05, 0xfafdfc06, 0xfafdfc07, +0xfafdfcf8, 0xfafdfcf9, 0xfafdfcfa, 0xfafdfcfb, 0xfafdfcfc, 0xfafdfcfd, 0xfafdfcfe, 0xfafdfcff, +0xfafdfd00, 0xfafdfd01, 0xfafdfd02, 0xfafdfd03, 0xfafdfd04, 0xfafdfd05, 0xfafdfd06, 0xfafdfd07, +0xfafdfdf8, 0xfafdfdf9, 0xfafdfdfa, 0xfafdfdfb, 0xfafdfdfc, 0xfafdfdfd, 0xfafdfdfe, 0xfafdfdff, +0xfafdfe00, 0xfafdfe01, 0xfafdfe02, 0xfafdfe03, 0xfafdfe04, 0xfafdfe05, 0xfafdfe06, 0xfafdfe07, +0xfafdfef8, 0xfafdfef9, 0xfafdfefa, 0xfafdfefb, 0xfafdfefc, 0xfafdfefd, 0xfafdfefe, 0xfafdfeff, +0xfafdff00, 0xfafdff01, 0xfafdff02, 0xfafdff03, 0xfafdff04, 0xfafdff05, 0xfafdff06, 0xfafdff07, +0xfafdfff8, 0xfafdfff9, 0xfafdfffa, 0xfafdfffb, 0xfafdfffc, 0xfafdfffd, 0xfafdfffe, 0xfafdffff, +0xfafe0000, 0xfafe0001, 0xfafe0002, 0xfafe0003, 0xfafe0004, 0xfafe0005, 0xfafe0006, 0xfafe0007, +0xfafe00f8, 0xfafe00f9, 0xfafe00fa, 0xfafe00fb, 0xfafe00fc, 0xfafe00fd, 0xfafe00fe, 0xfafe00ff, +0xfafe0100, 0xfafe0101, 0xfafe0102, 0xfafe0103, 0xfafe0104, 0xfafe0105, 0xfafe0106, 0xfafe0107, +0xfafe01f8, 0xfafe01f9, 0xfafe01fa, 0xfafe01fb, 0xfafe01fc, 0xfafe01fd, 0xfafe01fe, 0xfafe01ff, +0xfafe0200, 0xfafe0201, 0xfafe0202, 0xfafe0203, 0xfafe0204, 0xfafe0205, 0xfafe0206, 0xfafe0207, +0xfafe02f8, 0xfafe02f9, 0xfafe02fa, 0xfafe02fb, 0xfafe02fc, 0xfafe02fd, 0xfafe02fe, 0xfafe02ff, +0xfafe0300, 0xfafe0301, 0xfafe0302, 0xfafe0303, 0xfafe0304, 0xfafe0305, 0xfafe0306, 0xfafe0307, +0xfafe03f8, 0xfafe03f9, 0xfafe03fa, 0xfafe03fb, 0xfafe03fc, 0xfafe03fd, 0xfafe03fe, 0xfafe03ff, +0xfafe0400, 0xfafe0401, 0xfafe0402, 0xfafe0403, 0xfafe0404, 0xfafe0405, 0xfafe0406, 0xfafe0407, +0xfafe04f8, 0xfafe04f9, 0xfafe04fa, 0xfafe04fb, 0xfafe04fc, 0xfafe04fd, 0xfafe04fe, 0xfafe04ff, +0xfafe0500, 0xfafe0501, 0xfafe0502, 0xfafe0503, 0xfafe0504, 0xfafe0505, 0xfafe0506, 0xfafe0507, +0xfafe05f8, 0xfafe05f9, 0xfafe05fa, 0xfafe05fb, 0xfafe05fc, 0xfafe05fd, 0xfafe05fe, 0xfafe05ff, +0xfafe0600, 0xfafe0601, 0xfafe0602, 0xfafe0603, 0xfafe0604, 0xfafe0605, 0xfafe0606, 0xfafe0607, +0xfafe06f8, 0xfafe06f9, 0xfafe06fa, 0xfafe06fb, 0xfafe06fc, 0xfafe06fd, 0xfafe06fe, 0xfafe06ff, +0xfafe0700, 0xfafe0701, 0xfafe0702, 0xfafe0703, 0xfafe0704, 0xfafe0705, 0xfafe0706, 0xfafe0707, +0xfafe07f8, 0xfafe07f9, 0xfafe07fa, 0xfafe07fb, 0xfafe07fc, 0xfafe07fd, 0xfafe07fe, 0xfafe07ff, +0xfafef800, 0xfafef801, 0xfafef802, 0xfafef803, 0xfafef804, 0xfafef805, 0xfafef806, 0xfafef807, +0xfafef8f8, 0xfafef8f9, 0xfafef8fa, 0xfafef8fb, 0xfafef8fc, 0xfafef8fd, 0xfafef8fe, 0xfafef8ff, +0xfafef900, 0xfafef901, 0xfafef902, 0xfafef903, 0xfafef904, 0xfafef905, 0xfafef906, 0xfafef907, +0xfafef9f8, 0xfafef9f9, 0xfafef9fa, 0xfafef9fb, 0xfafef9fc, 0xfafef9fd, 0xfafef9fe, 0xfafef9ff, +0xfafefa00, 0xfafefa01, 0xfafefa02, 0xfafefa03, 0xfafefa04, 0xfafefa05, 0xfafefa06, 0xfafefa07, +0xfafefaf8, 0xfafefaf9, 0xfafefafa, 0xfafefafb, 0xfafefafc, 0xfafefafd, 0xfafefafe, 0xfafefaff, +0xfafefb00, 0xfafefb01, 0xfafefb02, 0xfafefb03, 0xfafefb04, 0xfafefb05, 0xfafefb06, 0xfafefb07, +0xfafefbf8, 0xfafefbf9, 0xfafefbfa, 0xfafefbfb, 0xfafefbfc, 0xfafefbfd, 0xfafefbfe, 0xfafefbff, +0xfafefc00, 0xfafefc01, 0xfafefc02, 0xfafefc03, 0xfafefc04, 0xfafefc05, 0xfafefc06, 0xfafefc07, +0xfafefcf8, 0xfafefcf9, 0xfafefcfa, 0xfafefcfb, 0xfafefcfc, 0xfafefcfd, 0xfafefcfe, 0xfafefcff, +0xfafefd00, 0xfafefd01, 0xfafefd02, 0xfafefd03, 0xfafefd04, 0xfafefd05, 0xfafefd06, 0xfafefd07, +0xfafefdf8, 0xfafefdf9, 0xfafefdfa, 0xfafefdfb, 0xfafefdfc, 0xfafefdfd, 0xfafefdfe, 0xfafefdff, +0xfafefe00, 0xfafefe01, 0xfafefe02, 0xfafefe03, 0xfafefe04, 0xfafefe05, 0xfafefe06, 0xfafefe07, +0xfafefef8, 0xfafefef9, 0xfafefefa, 0xfafefefb, 0xfafefefc, 0xfafefefd, 0xfafefefe, 0xfafefeff, +0xfafeff00, 0xfafeff01, 0xfafeff02, 0xfafeff03, 0xfafeff04, 0xfafeff05, 0xfafeff06, 0xfafeff07, +0xfafefff8, 0xfafefff9, 0xfafefffa, 0xfafefffb, 0xfafefffc, 0xfafefffd, 0xfafefffe, 0xfafeffff, +0xfaff0000, 0xfaff0001, 0xfaff0002, 0xfaff0003, 0xfaff0004, 0xfaff0005, 0xfaff0006, 0xfaff0007, +0xfaff00f8, 0xfaff00f9, 0xfaff00fa, 0xfaff00fb, 0xfaff00fc, 0xfaff00fd, 0xfaff00fe, 0xfaff00ff, +0xfaff0100, 0xfaff0101, 0xfaff0102, 0xfaff0103, 0xfaff0104, 0xfaff0105, 0xfaff0106, 0xfaff0107, +0xfaff01f8, 0xfaff01f9, 0xfaff01fa, 0xfaff01fb, 0xfaff01fc, 0xfaff01fd, 0xfaff01fe, 0xfaff01ff, +0xfaff0200, 0xfaff0201, 0xfaff0202, 0xfaff0203, 0xfaff0204, 0xfaff0205, 0xfaff0206, 0xfaff0207, +0xfaff02f8, 0xfaff02f9, 0xfaff02fa, 0xfaff02fb, 0xfaff02fc, 0xfaff02fd, 0xfaff02fe, 0xfaff02ff, +0xfaff0300, 0xfaff0301, 0xfaff0302, 0xfaff0303, 0xfaff0304, 0xfaff0305, 0xfaff0306, 0xfaff0307, +0xfaff03f8, 0xfaff03f9, 0xfaff03fa, 0xfaff03fb, 0xfaff03fc, 0xfaff03fd, 0xfaff03fe, 0xfaff03ff, +0xfaff0400, 0xfaff0401, 0xfaff0402, 0xfaff0403, 0xfaff0404, 0xfaff0405, 0xfaff0406, 0xfaff0407, +0xfaff04f8, 0xfaff04f9, 0xfaff04fa, 0xfaff04fb, 0xfaff04fc, 0xfaff04fd, 0xfaff04fe, 0xfaff04ff, +0xfaff0500, 0xfaff0501, 0xfaff0502, 0xfaff0503, 0xfaff0504, 0xfaff0505, 0xfaff0506, 0xfaff0507, +0xfaff05f8, 0xfaff05f9, 0xfaff05fa, 0xfaff05fb, 0xfaff05fc, 0xfaff05fd, 0xfaff05fe, 0xfaff05ff, +0xfaff0600, 0xfaff0601, 0xfaff0602, 0xfaff0603, 0xfaff0604, 0xfaff0605, 0xfaff0606, 0xfaff0607, +0xfaff06f8, 0xfaff06f9, 0xfaff06fa, 0xfaff06fb, 0xfaff06fc, 0xfaff06fd, 0xfaff06fe, 0xfaff06ff, +0xfaff0700, 0xfaff0701, 0xfaff0702, 0xfaff0703, 0xfaff0704, 0xfaff0705, 0xfaff0706, 0xfaff0707, +0xfaff07f8, 0xfaff07f9, 0xfaff07fa, 0xfaff07fb, 0xfaff07fc, 0xfaff07fd, 0xfaff07fe, 0xfaff07ff, +0xfafff800, 0xfafff801, 0xfafff802, 0xfafff803, 0xfafff804, 0xfafff805, 0xfafff806, 0xfafff807, +0xfafff8f8, 0xfafff8f9, 0xfafff8fa, 0xfafff8fb, 0xfafff8fc, 0xfafff8fd, 0xfafff8fe, 0xfafff8ff, +0xfafff900, 0xfafff901, 0xfafff902, 0xfafff903, 0xfafff904, 0xfafff905, 0xfafff906, 0xfafff907, +0xfafff9f8, 0xfafff9f9, 0xfafff9fa, 0xfafff9fb, 0xfafff9fc, 0xfafff9fd, 0xfafff9fe, 0xfafff9ff, +0xfafffa00, 0xfafffa01, 0xfafffa02, 0xfafffa03, 0xfafffa04, 0xfafffa05, 0xfafffa06, 0xfafffa07, +0xfafffaf8, 0xfafffaf9, 0xfafffafa, 0xfafffafb, 0xfafffafc, 0xfafffafd, 0xfafffafe, 0xfafffaff, +0xfafffb00, 0xfafffb01, 0xfafffb02, 0xfafffb03, 0xfafffb04, 0xfafffb05, 0xfafffb06, 0xfafffb07, +0xfafffbf8, 0xfafffbf9, 0xfafffbfa, 0xfafffbfb, 0xfafffbfc, 0xfafffbfd, 0xfafffbfe, 0xfafffbff, +0xfafffc00, 0xfafffc01, 0xfafffc02, 0xfafffc03, 0xfafffc04, 0xfafffc05, 0xfafffc06, 0xfafffc07, +0xfafffcf8, 0xfafffcf9, 0xfafffcfa, 0xfafffcfb, 0xfafffcfc, 0xfafffcfd, 0xfafffcfe, 0xfafffcff, +0xfafffd00, 0xfafffd01, 0xfafffd02, 0xfafffd03, 0xfafffd04, 0xfafffd05, 0xfafffd06, 0xfafffd07, +0xfafffdf8, 0xfafffdf9, 0xfafffdfa, 0xfafffdfb, 0xfafffdfc, 0xfafffdfd, 0xfafffdfe, 0xfafffdff, +0xfafffe00, 0xfafffe01, 0xfafffe02, 0xfafffe03, 0xfafffe04, 0xfafffe05, 0xfafffe06, 0xfafffe07, +0xfafffef8, 0xfafffef9, 0xfafffefa, 0xfafffefb, 0xfafffefc, 0xfafffefd, 0xfafffefe, 0xfafffeff, +0xfaffff00, 0xfaffff01, 0xfaffff02, 0xfaffff03, 0xfaffff04, 0xfaffff05, 0xfaffff06, 0xfaffff07, +0xfafffff8, 0xfafffff9, 0xfafffffa, 0xfafffffb, 0xfafffffc, 0xfafffffd, 0xfafffffe, 0xfaffffff, +0xfb000000, 0xfb000001, 0xfb000002, 0xfb000003, 0xfb000004, 0xfb000005, 0xfb000006, 0xfb000007, +0xfb0000f8, 0xfb0000f9, 0xfb0000fa, 0xfb0000fb, 0xfb0000fc, 0xfb0000fd, 0xfb0000fe, 0xfb0000ff, +0xfb000100, 0xfb000101, 0xfb000102, 0xfb000103, 0xfb000104, 0xfb000105, 0xfb000106, 0xfb000107, +0xfb0001f8, 0xfb0001f9, 0xfb0001fa, 0xfb0001fb, 0xfb0001fc, 0xfb0001fd, 0xfb0001fe, 0xfb0001ff, +0xfb000200, 0xfb000201, 0xfb000202, 0xfb000203, 0xfb000204, 0xfb000205, 0xfb000206, 0xfb000207, +0xfb0002f8, 0xfb0002f9, 0xfb0002fa, 0xfb0002fb, 0xfb0002fc, 0xfb0002fd, 0xfb0002fe, 0xfb0002ff, +0xfb000300, 0xfb000301, 0xfb000302, 0xfb000303, 0xfb000304, 0xfb000305, 0xfb000306, 0xfb000307, +0xfb0003f8, 0xfb0003f9, 0xfb0003fa, 0xfb0003fb, 0xfb0003fc, 0xfb0003fd, 0xfb0003fe, 0xfb0003ff, +0xfb000400, 0xfb000401, 0xfb000402, 0xfb000403, 0xfb000404, 0xfb000405, 0xfb000406, 0xfb000407, +0xfb0004f8, 0xfb0004f9, 0xfb0004fa, 0xfb0004fb, 0xfb0004fc, 0xfb0004fd, 0xfb0004fe, 0xfb0004ff, +0xfb000500, 0xfb000501, 0xfb000502, 0xfb000503, 0xfb000504, 0xfb000505, 0xfb000506, 0xfb000507, +0xfb0005f8, 0xfb0005f9, 0xfb0005fa, 0xfb0005fb, 0xfb0005fc, 0xfb0005fd, 0xfb0005fe, 0xfb0005ff, +0xfb000600, 0xfb000601, 0xfb000602, 0xfb000603, 0xfb000604, 0xfb000605, 0xfb000606, 0xfb000607, +0xfb0006f8, 0xfb0006f9, 0xfb0006fa, 0xfb0006fb, 0xfb0006fc, 0xfb0006fd, 0xfb0006fe, 0xfb0006ff, +0xfb000700, 0xfb000701, 0xfb000702, 0xfb000703, 0xfb000704, 0xfb000705, 0xfb000706, 0xfb000707, +0xfb0007f8, 0xfb0007f9, 0xfb0007fa, 0xfb0007fb, 0xfb0007fc, 0xfb0007fd, 0xfb0007fe, 0xfb0007ff, +0xfb00f800, 0xfb00f801, 0xfb00f802, 0xfb00f803, 0xfb00f804, 0xfb00f805, 0xfb00f806, 0xfb00f807, +0xfb00f8f8, 0xfb00f8f9, 0xfb00f8fa, 0xfb00f8fb, 0xfb00f8fc, 0xfb00f8fd, 0xfb00f8fe, 0xfb00f8ff, +0xfb00f900, 0xfb00f901, 0xfb00f902, 0xfb00f903, 0xfb00f904, 0xfb00f905, 0xfb00f906, 0xfb00f907, +0xfb00f9f8, 0xfb00f9f9, 0xfb00f9fa, 0xfb00f9fb, 0xfb00f9fc, 0xfb00f9fd, 0xfb00f9fe, 0xfb00f9ff, +0xfb00fa00, 0xfb00fa01, 0xfb00fa02, 0xfb00fa03, 0xfb00fa04, 0xfb00fa05, 0xfb00fa06, 0xfb00fa07, +0xfb00faf8, 0xfb00faf9, 0xfb00fafa, 0xfb00fafb, 0xfb00fafc, 0xfb00fafd, 0xfb00fafe, 0xfb00faff, +0xfb00fb00, 0xfb00fb01, 0xfb00fb02, 0xfb00fb03, 0xfb00fb04, 0xfb00fb05, 0xfb00fb06, 0xfb00fb07, +0xfb00fbf8, 0xfb00fbf9, 0xfb00fbfa, 0xfb00fbfb, 0xfb00fbfc, 0xfb00fbfd, 0xfb00fbfe, 0xfb00fbff, +0xfb00fc00, 0xfb00fc01, 0xfb00fc02, 0xfb00fc03, 0xfb00fc04, 0xfb00fc05, 0xfb00fc06, 0xfb00fc07, +0xfb00fcf8, 0xfb00fcf9, 0xfb00fcfa, 0xfb00fcfb, 0xfb00fcfc, 0xfb00fcfd, 0xfb00fcfe, 0xfb00fcff, +0xfb00fd00, 0xfb00fd01, 0xfb00fd02, 0xfb00fd03, 0xfb00fd04, 0xfb00fd05, 0xfb00fd06, 0xfb00fd07, +0xfb00fdf8, 0xfb00fdf9, 0xfb00fdfa, 0xfb00fdfb, 0xfb00fdfc, 0xfb00fdfd, 0xfb00fdfe, 0xfb00fdff, +0xfb00fe00, 0xfb00fe01, 0xfb00fe02, 0xfb00fe03, 0xfb00fe04, 0xfb00fe05, 0xfb00fe06, 0xfb00fe07, +0xfb00fef8, 0xfb00fef9, 0xfb00fefa, 0xfb00fefb, 0xfb00fefc, 0xfb00fefd, 0xfb00fefe, 0xfb00feff, +0xfb00ff00, 0xfb00ff01, 0xfb00ff02, 0xfb00ff03, 0xfb00ff04, 0xfb00ff05, 0xfb00ff06, 0xfb00ff07, +0xfb00fff8, 0xfb00fff9, 0xfb00fffa, 0xfb00fffb, 0xfb00fffc, 0xfb00fffd, 0xfb00fffe, 0xfb00ffff, +0xfb010000, 0xfb010001, 0xfb010002, 0xfb010003, 0xfb010004, 0xfb010005, 0xfb010006, 0xfb010007, +0xfb0100f8, 0xfb0100f9, 0xfb0100fa, 0xfb0100fb, 0xfb0100fc, 0xfb0100fd, 0xfb0100fe, 0xfb0100ff, +0xfb010100, 0xfb010101, 0xfb010102, 0xfb010103, 0xfb010104, 0xfb010105, 0xfb010106, 0xfb010107, +0xfb0101f8, 0xfb0101f9, 0xfb0101fa, 0xfb0101fb, 0xfb0101fc, 0xfb0101fd, 0xfb0101fe, 0xfb0101ff, +0xfb010200, 0xfb010201, 0xfb010202, 0xfb010203, 0xfb010204, 0xfb010205, 0xfb010206, 0xfb010207, +0xfb0102f8, 0xfb0102f9, 0xfb0102fa, 0xfb0102fb, 0xfb0102fc, 0xfb0102fd, 0xfb0102fe, 0xfb0102ff, +0xfb010300, 0xfb010301, 0xfb010302, 0xfb010303, 0xfb010304, 0xfb010305, 0xfb010306, 0xfb010307, +0xfb0103f8, 0xfb0103f9, 0xfb0103fa, 0xfb0103fb, 0xfb0103fc, 0xfb0103fd, 0xfb0103fe, 0xfb0103ff, +0xfb010400, 0xfb010401, 0xfb010402, 0xfb010403, 0xfb010404, 0xfb010405, 0xfb010406, 0xfb010407, +0xfb0104f8, 0xfb0104f9, 0xfb0104fa, 0xfb0104fb, 0xfb0104fc, 0xfb0104fd, 0xfb0104fe, 0xfb0104ff, +0xfb010500, 0xfb010501, 0xfb010502, 0xfb010503, 0xfb010504, 0xfb010505, 0xfb010506, 0xfb010507, +0xfb0105f8, 0xfb0105f9, 0xfb0105fa, 0xfb0105fb, 0xfb0105fc, 0xfb0105fd, 0xfb0105fe, 0xfb0105ff, +0xfb010600, 0xfb010601, 0xfb010602, 0xfb010603, 0xfb010604, 0xfb010605, 0xfb010606, 0xfb010607, +0xfb0106f8, 0xfb0106f9, 0xfb0106fa, 0xfb0106fb, 0xfb0106fc, 0xfb0106fd, 0xfb0106fe, 0xfb0106ff, +0xfb010700, 0xfb010701, 0xfb010702, 0xfb010703, 0xfb010704, 0xfb010705, 0xfb010706, 0xfb010707, +0xfb0107f8, 0xfb0107f9, 0xfb0107fa, 0xfb0107fb, 0xfb0107fc, 0xfb0107fd, 0xfb0107fe, 0xfb0107ff, +0xfb01f800, 0xfb01f801, 0xfb01f802, 0xfb01f803, 0xfb01f804, 0xfb01f805, 0xfb01f806, 0xfb01f807, +0xfb01f8f8, 0xfb01f8f9, 0xfb01f8fa, 0xfb01f8fb, 0xfb01f8fc, 0xfb01f8fd, 0xfb01f8fe, 0xfb01f8ff, +0xfb01f900, 0xfb01f901, 0xfb01f902, 0xfb01f903, 0xfb01f904, 0xfb01f905, 0xfb01f906, 0xfb01f907, +0xfb01f9f8, 0xfb01f9f9, 0xfb01f9fa, 0xfb01f9fb, 0xfb01f9fc, 0xfb01f9fd, 0xfb01f9fe, 0xfb01f9ff, +0xfb01fa00, 0xfb01fa01, 0xfb01fa02, 0xfb01fa03, 0xfb01fa04, 0xfb01fa05, 0xfb01fa06, 0xfb01fa07, +0xfb01faf8, 0xfb01faf9, 0xfb01fafa, 0xfb01fafb, 0xfb01fafc, 0xfb01fafd, 0xfb01fafe, 0xfb01faff, +0xfb01fb00, 0xfb01fb01, 0xfb01fb02, 0xfb01fb03, 0xfb01fb04, 0xfb01fb05, 0xfb01fb06, 0xfb01fb07, +0xfb01fbf8, 0xfb01fbf9, 0xfb01fbfa, 0xfb01fbfb, 0xfb01fbfc, 0xfb01fbfd, 0xfb01fbfe, 0xfb01fbff, +0xfb01fc00, 0xfb01fc01, 0xfb01fc02, 0xfb01fc03, 0xfb01fc04, 0xfb01fc05, 0xfb01fc06, 0xfb01fc07, +0xfb01fcf8, 0xfb01fcf9, 0xfb01fcfa, 0xfb01fcfb, 0xfb01fcfc, 0xfb01fcfd, 0xfb01fcfe, 0xfb01fcff, +0xfb01fd00, 0xfb01fd01, 0xfb01fd02, 0xfb01fd03, 0xfb01fd04, 0xfb01fd05, 0xfb01fd06, 0xfb01fd07, +0xfb01fdf8, 0xfb01fdf9, 0xfb01fdfa, 0xfb01fdfb, 0xfb01fdfc, 0xfb01fdfd, 0xfb01fdfe, 0xfb01fdff, +0xfb01fe00, 0xfb01fe01, 0xfb01fe02, 0xfb01fe03, 0xfb01fe04, 0xfb01fe05, 0xfb01fe06, 0xfb01fe07, +0xfb01fef8, 0xfb01fef9, 0xfb01fefa, 0xfb01fefb, 0xfb01fefc, 0xfb01fefd, 0xfb01fefe, 0xfb01feff, +0xfb01ff00, 0xfb01ff01, 0xfb01ff02, 0xfb01ff03, 0xfb01ff04, 0xfb01ff05, 0xfb01ff06, 0xfb01ff07, +0xfb01fff8, 0xfb01fff9, 0xfb01fffa, 0xfb01fffb, 0xfb01fffc, 0xfb01fffd, 0xfb01fffe, 0xfb01ffff, +0xfb020000, 0xfb020001, 0xfb020002, 0xfb020003, 0xfb020004, 0xfb020005, 0xfb020006, 0xfb020007, +0xfb0200f8, 0xfb0200f9, 0xfb0200fa, 0xfb0200fb, 0xfb0200fc, 0xfb0200fd, 0xfb0200fe, 0xfb0200ff, +0xfb020100, 0xfb020101, 0xfb020102, 0xfb020103, 0xfb020104, 0xfb020105, 0xfb020106, 0xfb020107, +0xfb0201f8, 0xfb0201f9, 0xfb0201fa, 0xfb0201fb, 0xfb0201fc, 0xfb0201fd, 0xfb0201fe, 0xfb0201ff, +0xfb020200, 0xfb020201, 0xfb020202, 0xfb020203, 0xfb020204, 0xfb020205, 0xfb020206, 0xfb020207, +0xfb0202f8, 0xfb0202f9, 0xfb0202fa, 0xfb0202fb, 0xfb0202fc, 0xfb0202fd, 0xfb0202fe, 0xfb0202ff, +0xfb020300, 0xfb020301, 0xfb020302, 0xfb020303, 0xfb020304, 0xfb020305, 0xfb020306, 0xfb020307, +0xfb0203f8, 0xfb0203f9, 0xfb0203fa, 0xfb0203fb, 0xfb0203fc, 0xfb0203fd, 0xfb0203fe, 0xfb0203ff, +0xfb020400, 0xfb020401, 0xfb020402, 0xfb020403, 0xfb020404, 0xfb020405, 0xfb020406, 0xfb020407, +0xfb0204f8, 0xfb0204f9, 0xfb0204fa, 0xfb0204fb, 0xfb0204fc, 0xfb0204fd, 0xfb0204fe, 0xfb0204ff, +0xfb020500, 0xfb020501, 0xfb020502, 0xfb020503, 0xfb020504, 0xfb020505, 0xfb020506, 0xfb020507, +0xfb0205f8, 0xfb0205f9, 0xfb0205fa, 0xfb0205fb, 0xfb0205fc, 0xfb0205fd, 0xfb0205fe, 0xfb0205ff, +0xfb020600, 0xfb020601, 0xfb020602, 0xfb020603, 0xfb020604, 0xfb020605, 0xfb020606, 0xfb020607, +0xfb0206f8, 0xfb0206f9, 0xfb0206fa, 0xfb0206fb, 0xfb0206fc, 0xfb0206fd, 0xfb0206fe, 0xfb0206ff, +0xfb020700, 0xfb020701, 0xfb020702, 0xfb020703, 0xfb020704, 0xfb020705, 0xfb020706, 0xfb020707, +0xfb0207f8, 0xfb0207f9, 0xfb0207fa, 0xfb0207fb, 0xfb0207fc, 0xfb0207fd, 0xfb0207fe, 0xfb0207ff, +0xfb02f800, 0xfb02f801, 0xfb02f802, 0xfb02f803, 0xfb02f804, 0xfb02f805, 0xfb02f806, 0xfb02f807, +0xfb02f8f8, 0xfb02f8f9, 0xfb02f8fa, 0xfb02f8fb, 0xfb02f8fc, 0xfb02f8fd, 0xfb02f8fe, 0xfb02f8ff, +0xfb02f900, 0xfb02f901, 0xfb02f902, 0xfb02f903, 0xfb02f904, 0xfb02f905, 0xfb02f906, 0xfb02f907, +0xfb02f9f8, 0xfb02f9f9, 0xfb02f9fa, 0xfb02f9fb, 0xfb02f9fc, 0xfb02f9fd, 0xfb02f9fe, 0xfb02f9ff, +0xfb02fa00, 0xfb02fa01, 0xfb02fa02, 0xfb02fa03, 0xfb02fa04, 0xfb02fa05, 0xfb02fa06, 0xfb02fa07, +0xfb02faf8, 0xfb02faf9, 0xfb02fafa, 0xfb02fafb, 0xfb02fafc, 0xfb02fafd, 0xfb02fafe, 0xfb02faff, +0xfb02fb00, 0xfb02fb01, 0xfb02fb02, 0xfb02fb03, 0xfb02fb04, 0xfb02fb05, 0xfb02fb06, 0xfb02fb07, +0xfb02fbf8, 0xfb02fbf9, 0xfb02fbfa, 0xfb02fbfb, 0xfb02fbfc, 0xfb02fbfd, 0xfb02fbfe, 0xfb02fbff, +0xfb02fc00, 0xfb02fc01, 0xfb02fc02, 0xfb02fc03, 0xfb02fc04, 0xfb02fc05, 0xfb02fc06, 0xfb02fc07, +0xfb02fcf8, 0xfb02fcf9, 0xfb02fcfa, 0xfb02fcfb, 0xfb02fcfc, 0xfb02fcfd, 0xfb02fcfe, 0xfb02fcff, +0xfb02fd00, 0xfb02fd01, 0xfb02fd02, 0xfb02fd03, 0xfb02fd04, 0xfb02fd05, 0xfb02fd06, 0xfb02fd07, +0xfb02fdf8, 0xfb02fdf9, 0xfb02fdfa, 0xfb02fdfb, 0xfb02fdfc, 0xfb02fdfd, 0xfb02fdfe, 0xfb02fdff, +0xfb02fe00, 0xfb02fe01, 0xfb02fe02, 0xfb02fe03, 0xfb02fe04, 0xfb02fe05, 0xfb02fe06, 0xfb02fe07, +0xfb02fef8, 0xfb02fef9, 0xfb02fefa, 0xfb02fefb, 0xfb02fefc, 0xfb02fefd, 0xfb02fefe, 0xfb02feff, +0xfb02ff00, 0xfb02ff01, 0xfb02ff02, 0xfb02ff03, 0xfb02ff04, 0xfb02ff05, 0xfb02ff06, 0xfb02ff07, +0xfb02fff8, 0xfb02fff9, 0xfb02fffa, 0xfb02fffb, 0xfb02fffc, 0xfb02fffd, 0xfb02fffe, 0xfb02ffff, +0xfb030000, 0xfb030001, 0xfb030002, 0xfb030003, 0xfb030004, 0xfb030005, 0xfb030006, 0xfb030007, +0xfb0300f8, 0xfb0300f9, 0xfb0300fa, 0xfb0300fb, 0xfb0300fc, 0xfb0300fd, 0xfb0300fe, 0xfb0300ff, +0xfb030100, 0xfb030101, 0xfb030102, 0xfb030103, 0xfb030104, 0xfb030105, 0xfb030106, 0xfb030107, +0xfb0301f8, 0xfb0301f9, 0xfb0301fa, 0xfb0301fb, 0xfb0301fc, 0xfb0301fd, 0xfb0301fe, 0xfb0301ff, +0xfb030200, 0xfb030201, 0xfb030202, 0xfb030203, 0xfb030204, 0xfb030205, 0xfb030206, 0xfb030207, +0xfb0302f8, 0xfb0302f9, 0xfb0302fa, 0xfb0302fb, 0xfb0302fc, 0xfb0302fd, 0xfb0302fe, 0xfb0302ff, +0xfb030300, 0xfb030301, 0xfb030302, 0xfb030303, 0xfb030304, 0xfb030305, 0xfb030306, 0xfb030307, +0xfb0303f8, 0xfb0303f9, 0xfb0303fa, 0xfb0303fb, 0xfb0303fc, 0xfb0303fd, 0xfb0303fe, 0xfb0303ff, +0xfb030400, 0xfb030401, 0xfb030402, 0xfb030403, 0xfb030404, 0xfb030405, 0xfb030406, 0xfb030407, +0xfb0304f8, 0xfb0304f9, 0xfb0304fa, 0xfb0304fb, 0xfb0304fc, 0xfb0304fd, 0xfb0304fe, 0xfb0304ff, +0xfb030500, 0xfb030501, 0xfb030502, 0xfb030503, 0xfb030504, 0xfb030505, 0xfb030506, 0xfb030507, +0xfb0305f8, 0xfb0305f9, 0xfb0305fa, 0xfb0305fb, 0xfb0305fc, 0xfb0305fd, 0xfb0305fe, 0xfb0305ff, +0xfb030600, 0xfb030601, 0xfb030602, 0xfb030603, 0xfb030604, 0xfb030605, 0xfb030606, 0xfb030607, +0xfb0306f8, 0xfb0306f9, 0xfb0306fa, 0xfb0306fb, 0xfb0306fc, 0xfb0306fd, 0xfb0306fe, 0xfb0306ff, +0xfb030700, 0xfb030701, 0xfb030702, 0xfb030703, 0xfb030704, 0xfb030705, 0xfb030706, 0xfb030707, +0xfb0307f8, 0xfb0307f9, 0xfb0307fa, 0xfb0307fb, 0xfb0307fc, 0xfb0307fd, 0xfb0307fe, 0xfb0307ff, +0xfb03f800, 0xfb03f801, 0xfb03f802, 0xfb03f803, 0xfb03f804, 0xfb03f805, 0xfb03f806, 0xfb03f807, +0xfb03f8f8, 0xfb03f8f9, 0xfb03f8fa, 0xfb03f8fb, 0xfb03f8fc, 0xfb03f8fd, 0xfb03f8fe, 0xfb03f8ff, +0xfb03f900, 0xfb03f901, 0xfb03f902, 0xfb03f903, 0xfb03f904, 0xfb03f905, 0xfb03f906, 0xfb03f907, +0xfb03f9f8, 0xfb03f9f9, 0xfb03f9fa, 0xfb03f9fb, 0xfb03f9fc, 0xfb03f9fd, 0xfb03f9fe, 0xfb03f9ff, +0xfb03fa00, 0xfb03fa01, 0xfb03fa02, 0xfb03fa03, 0xfb03fa04, 0xfb03fa05, 0xfb03fa06, 0xfb03fa07, +0xfb03faf8, 0xfb03faf9, 0xfb03fafa, 0xfb03fafb, 0xfb03fafc, 0xfb03fafd, 0xfb03fafe, 0xfb03faff, +0xfb03fb00, 0xfb03fb01, 0xfb03fb02, 0xfb03fb03, 0xfb03fb04, 0xfb03fb05, 0xfb03fb06, 0xfb03fb07, +0xfb03fbf8, 0xfb03fbf9, 0xfb03fbfa, 0xfb03fbfb, 0xfb03fbfc, 0xfb03fbfd, 0xfb03fbfe, 0xfb03fbff, +0xfb03fc00, 0xfb03fc01, 0xfb03fc02, 0xfb03fc03, 0xfb03fc04, 0xfb03fc05, 0xfb03fc06, 0xfb03fc07, +0xfb03fcf8, 0xfb03fcf9, 0xfb03fcfa, 0xfb03fcfb, 0xfb03fcfc, 0xfb03fcfd, 0xfb03fcfe, 0xfb03fcff, +0xfb03fd00, 0xfb03fd01, 0xfb03fd02, 0xfb03fd03, 0xfb03fd04, 0xfb03fd05, 0xfb03fd06, 0xfb03fd07, +0xfb03fdf8, 0xfb03fdf9, 0xfb03fdfa, 0xfb03fdfb, 0xfb03fdfc, 0xfb03fdfd, 0xfb03fdfe, 0xfb03fdff, +0xfb03fe00, 0xfb03fe01, 0xfb03fe02, 0xfb03fe03, 0xfb03fe04, 0xfb03fe05, 0xfb03fe06, 0xfb03fe07, +0xfb03fef8, 0xfb03fef9, 0xfb03fefa, 0xfb03fefb, 0xfb03fefc, 0xfb03fefd, 0xfb03fefe, 0xfb03feff, +0xfb03ff00, 0xfb03ff01, 0xfb03ff02, 0xfb03ff03, 0xfb03ff04, 0xfb03ff05, 0xfb03ff06, 0xfb03ff07, +0xfb03fff8, 0xfb03fff9, 0xfb03fffa, 0xfb03fffb, 0xfb03fffc, 0xfb03fffd, 0xfb03fffe, 0xfb03ffff, +0xfb040000, 0xfb040001, 0xfb040002, 0xfb040003, 0xfb040004, 0xfb040005, 0xfb040006, 0xfb040007, +0xfb0400f8, 0xfb0400f9, 0xfb0400fa, 0xfb0400fb, 0xfb0400fc, 0xfb0400fd, 0xfb0400fe, 0xfb0400ff, +0xfb040100, 0xfb040101, 0xfb040102, 0xfb040103, 0xfb040104, 0xfb040105, 0xfb040106, 0xfb040107, +0xfb0401f8, 0xfb0401f9, 0xfb0401fa, 0xfb0401fb, 0xfb0401fc, 0xfb0401fd, 0xfb0401fe, 0xfb0401ff, +0xfb040200, 0xfb040201, 0xfb040202, 0xfb040203, 0xfb040204, 0xfb040205, 0xfb040206, 0xfb040207, +0xfb0402f8, 0xfb0402f9, 0xfb0402fa, 0xfb0402fb, 0xfb0402fc, 0xfb0402fd, 0xfb0402fe, 0xfb0402ff, +0xfb040300, 0xfb040301, 0xfb040302, 0xfb040303, 0xfb040304, 0xfb040305, 0xfb040306, 0xfb040307, +0xfb0403f8, 0xfb0403f9, 0xfb0403fa, 0xfb0403fb, 0xfb0403fc, 0xfb0403fd, 0xfb0403fe, 0xfb0403ff, +0xfb040400, 0xfb040401, 0xfb040402, 0xfb040403, 0xfb040404, 0xfb040405, 0xfb040406, 0xfb040407, +0xfb0404f8, 0xfb0404f9, 0xfb0404fa, 0xfb0404fb, 0xfb0404fc, 0xfb0404fd, 0xfb0404fe, 0xfb0404ff, +0xfb040500, 0xfb040501, 0xfb040502, 0xfb040503, 0xfb040504, 0xfb040505, 0xfb040506, 0xfb040507, +0xfb0405f8, 0xfb0405f9, 0xfb0405fa, 0xfb0405fb, 0xfb0405fc, 0xfb0405fd, 0xfb0405fe, 0xfb0405ff, +0xfb040600, 0xfb040601, 0xfb040602, 0xfb040603, 0xfb040604, 0xfb040605, 0xfb040606, 0xfb040607, +0xfb0406f8, 0xfb0406f9, 0xfb0406fa, 0xfb0406fb, 0xfb0406fc, 0xfb0406fd, 0xfb0406fe, 0xfb0406ff, +0xfb040700, 0xfb040701, 0xfb040702, 0xfb040703, 0xfb040704, 0xfb040705, 0xfb040706, 0xfb040707, +0xfb0407f8, 0xfb0407f9, 0xfb0407fa, 0xfb0407fb, 0xfb0407fc, 0xfb0407fd, 0xfb0407fe, 0xfb0407ff, +0xfb04f800, 0xfb04f801, 0xfb04f802, 0xfb04f803, 0xfb04f804, 0xfb04f805, 0xfb04f806, 0xfb04f807, +0xfb04f8f8, 0xfb04f8f9, 0xfb04f8fa, 0xfb04f8fb, 0xfb04f8fc, 0xfb04f8fd, 0xfb04f8fe, 0xfb04f8ff, +0xfb04f900, 0xfb04f901, 0xfb04f902, 0xfb04f903, 0xfb04f904, 0xfb04f905, 0xfb04f906, 0xfb04f907, +0xfb04f9f8, 0xfb04f9f9, 0xfb04f9fa, 0xfb04f9fb, 0xfb04f9fc, 0xfb04f9fd, 0xfb04f9fe, 0xfb04f9ff, +0xfb04fa00, 0xfb04fa01, 0xfb04fa02, 0xfb04fa03, 0xfb04fa04, 0xfb04fa05, 0xfb04fa06, 0xfb04fa07, +0xfb04faf8, 0xfb04faf9, 0xfb04fafa, 0xfb04fafb, 0xfb04fafc, 0xfb04fafd, 0xfb04fafe, 0xfb04faff, +0xfb04fb00, 0xfb04fb01, 0xfb04fb02, 0xfb04fb03, 0xfb04fb04, 0xfb04fb05, 0xfb04fb06, 0xfb04fb07, +0xfb04fbf8, 0xfb04fbf9, 0xfb04fbfa, 0xfb04fbfb, 0xfb04fbfc, 0xfb04fbfd, 0xfb04fbfe, 0xfb04fbff, +0xfb04fc00, 0xfb04fc01, 0xfb04fc02, 0xfb04fc03, 0xfb04fc04, 0xfb04fc05, 0xfb04fc06, 0xfb04fc07, +0xfb04fcf8, 0xfb04fcf9, 0xfb04fcfa, 0xfb04fcfb, 0xfb04fcfc, 0xfb04fcfd, 0xfb04fcfe, 0xfb04fcff, +0xfb04fd00, 0xfb04fd01, 0xfb04fd02, 0xfb04fd03, 0xfb04fd04, 0xfb04fd05, 0xfb04fd06, 0xfb04fd07, +0xfb04fdf8, 0xfb04fdf9, 0xfb04fdfa, 0xfb04fdfb, 0xfb04fdfc, 0xfb04fdfd, 0xfb04fdfe, 0xfb04fdff, +0xfb04fe00, 0xfb04fe01, 0xfb04fe02, 0xfb04fe03, 0xfb04fe04, 0xfb04fe05, 0xfb04fe06, 0xfb04fe07, +0xfb04fef8, 0xfb04fef9, 0xfb04fefa, 0xfb04fefb, 0xfb04fefc, 0xfb04fefd, 0xfb04fefe, 0xfb04feff, +0xfb04ff00, 0xfb04ff01, 0xfb04ff02, 0xfb04ff03, 0xfb04ff04, 0xfb04ff05, 0xfb04ff06, 0xfb04ff07, +0xfb04fff8, 0xfb04fff9, 0xfb04fffa, 0xfb04fffb, 0xfb04fffc, 0xfb04fffd, 0xfb04fffe, 0xfb04ffff, +0xfb050000, 0xfb050001, 0xfb050002, 0xfb050003, 0xfb050004, 0xfb050005, 0xfb050006, 0xfb050007, +0xfb0500f8, 0xfb0500f9, 0xfb0500fa, 0xfb0500fb, 0xfb0500fc, 0xfb0500fd, 0xfb0500fe, 0xfb0500ff, +0xfb050100, 0xfb050101, 0xfb050102, 0xfb050103, 0xfb050104, 0xfb050105, 0xfb050106, 0xfb050107, +0xfb0501f8, 0xfb0501f9, 0xfb0501fa, 0xfb0501fb, 0xfb0501fc, 0xfb0501fd, 0xfb0501fe, 0xfb0501ff, +0xfb050200, 0xfb050201, 0xfb050202, 0xfb050203, 0xfb050204, 0xfb050205, 0xfb050206, 0xfb050207, +0xfb0502f8, 0xfb0502f9, 0xfb0502fa, 0xfb0502fb, 0xfb0502fc, 0xfb0502fd, 0xfb0502fe, 0xfb0502ff, +0xfb050300, 0xfb050301, 0xfb050302, 0xfb050303, 0xfb050304, 0xfb050305, 0xfb050306, 0xfb050307, +0xfb0503f8, 0xfb0503f9, 0xfb0503fa, 0xfb0503fb, 0xfb0503fc, 0xfb0503fd, 0xfb0503fe, 0xfb0503ff, +0xfb050400, 0xfb050401, 0xfb050402, 0xfb050403, 0xfb050404, 0xfb050405, 0xfb050406, 0xfb050407, +0xfb0504f8, 0xfb0504f9, 0xfb0504fa, 0xfb0504fb, 0xfb0504fc, 0xfb0504fd, 0xfb0504fe, 0xfb0504ff, +0xfb050500, 0xfb050501, 0xfb050502, 0xfb050503, 0xfb050504, 0xfb050505, 0xfb050506, 0xfb050507, +0xfb0505f8, 0xfb0505f9, 0xfb0505fa, 0xfb0505fb, 0xfb0505fc, 0xfb0505fd, 0xfb0505fe, 0xfb0505ff, +0xfb050600, 0xfb050601, 0xfb050602, 0xfb050603, 0xfb050604, 0xfb050605, 0xfb050606, 0xfb050607, +0xfb0506f8, 0xfb0506f9, 0xfb0506fa, 0xfb0506fb, 0xfb0506fc, 0xfb0506fd, 0xfb0506fe, 0xfb0506ff, +0xfb050700, 0xfb050701, 0xfb050702, 0xfb050703, 0xfb050704, 0xfb050705, 0xfb050706, 0xfb050707, +0xfb0507f8, 0xfb0507f9, 0xfb0507fa, 0xfb0507fb, 0xfb0507fc, 0xfb0507fd, 0xfb0507fe, 0xfb0507ff, +0xfb05f800, 0xfb05f801, 0xfb05f802, 0xfb05f803, 0xfb05f804, 0xfb05f805, 0xfb05f806, 0xfb05f807, +0xfb05f8f8, 0xfb05f8f9, 0xfb05f8fa, 0xfb05f8fb, 0xfb05f8fc, 0xfb05f8fd, 0xfb05f8fe, 0xfb05f8ff, +0xfb05f900, 0xfb05f901, 0xfb05f902, 0xfb05f903, 0xfb05f904, 0xfb05f905, 0xfb05f906, 0xfb05f907, +0xfb05f9f8, 0xfb05f9f9, 0xfb05f9fa, 0xfb05f9fb, 0xfb05f9fc, 0xfb05f9fd, 0xfb05f9fe, 0xfb05f9ff, +0xfb05fa00, 0xfb05fa01, 0xfb05fa02, 0xfb05fa03, 0xfb05fa04, 0xfb05fa05, 0xfb05fa06, 0xfb05fa07, +0xfb05faf8, 0xfb05faf9, 0xfb05fafa, 0xfb05fafb, 0xfb05fafc, 0xfb05fafd, 0xfb05fafe, 0xfb05faff, +0xfb05fb00, 0xfb05fb01, 0xfb05fb02, 0xfb05fb03, 0xfb05fb04, 0xfb05fb05, 0xfb05fb06, 0xfb05fb07, +0xfb05fbf8, 0xfb05fbf9, 0xfb05fbfa, 0xfb05fbfb, 0xfb05fbfc, 0xfb05fbfd, 0xfb05fbfe, 0xfb05fbff, +0xfb05fc00, 0xfb05fc01, 0xfb05fc02, 0xfb05fc03, 0xfb05fc04, 0xfb05fc05, 0xfb05fc06, 0xfb05fc07, +0xfb05fcf8, 0xfb05fcf9, 0xfb05fcfa, 0xfb05fcfb, 0xfb05fcfc, 0xfb05fcfd, 0xfb05fcfe, 0xfb05fcff, +0xfb05fd00, 0xfb05fd01, 0xfb05fd02, 0xfb05fd03, 0xfb05fd04, 0xfb05fd05, 0xfb05fd06, 0xfb05fd07, +0xfb05fdf8, 0xfb05fdf9, 0xfb05fdfa, 0xfb05fdfb, 0xfb05fdfc, 0xfb05fdfd, 0xfb05fdfe, 0xfb05fdff, +0xfb05fe00, 0xfb05fe01, 0xfb05fe02, 0xfb05fe03, 0xfb05fe04, 0xfb05fe05, 0xfb05fe06, 0xfb05fe07, +0xfb05fef8, 0xfb05fef9, 0xfb05fefa, 0xfb05fefb, 0xfb05fefc, 0xfb05fefd, 0xfb05fefe, 0xfb05feff, +0xfb05ff00, 0xfb05ff01, 0xfb05ff02, 0xfb05ff03, 0xfb05ff04, 0xfb05ff05, 0xfb05ff06, 0xfb05ff07, +0xfb05fff8, 0xfb05fff9, 0xfb05fffa, 0xfb05fffb, 0xfb05fffc, 0xfb05fffd, 0xfb05fffe, 0xfb05ffff, +0xfb060000, 0xfb060001, 0xfb060002, 0xfb060003, 0xfb060004, 0xfb060005, 0xfb060006, 0xfb060007, +0xfb0600f8, 0xfb0600f9, 0xfb0600fa, 0xfb0600fb, 0xfb0600fc, 0xfb0600fd, 0xfb0600fe, 0xfb0600ff, +0xfb060100, 0xfb060101, 0xfb060102, 0xfb060103, 0xfb060104, 0xfb060105, 0xfb060106, 0xfb060107, +0xfb0601f8, 0xfb0601f9, 0xfb0601fa, 0xfb0601fb, 0xfb0601fc, 0xfb0601fd, 0xfb0601fe, 0xfb0601ff, +0xfb060200, 0xfb060201, 0xfb060202, 0xfb060203, 0xfb060204, 0xfb060205, 0xfb060206, 0xfb060207, +0xfb0602f8, 0xfb0602f9, 0xfb0602fa, 0xfb0602fb, 0xfb0602fc, 0xfb0602fd, 0xfb0602fe, 0xfb0602ff, +0xfb060300, 0xfb060301, 0xfb060302, 0xfb060303, 0xfb060304, 0xfb060305, 0xfb060306, 0xfb060307, +0xfb0603f8, 0xfb0603f9, 0xfb0603fa, 0xfb0603fb, 0xfb0603fc, 0xfb0603fd, 0xfb0603fe, 0xfb0603ff, +0xfb060400, 0xfb060401, 0xfb060402, 0xfb060403, 0xfb060404, 0xfb060405, 0xfb060406, 0xfb060407, +0xfb0604f8, 0xfb0604f9, 0xfb0604fa, 0xfb0604fb, 0xfb0604fc, 0xfb0604fd, 0xfb0604fe, 0xfb0604ff, +0xfb060500, 0xfb060501, 0xfb060502, 0xfb060503, 0xfb060504, 0xfb060505, 0xfb060506, 0xfb060507, +0xfb0605f8, 0xfb0605f9, 0xfb0605fa, 0xfb0605fb, 0xfb0605fc, 0xfb0605fd, 0xfb0605fe, 0xfb0605ff, +0xfb060600, 0xfb060601, 0xfb060602, 0xfb060603, 0xfb060604, 0xfb060605, 0xfb060606, 0xfb060607, +0xfb0606f8, 0xfb0606f9, 0xfb0606fa, 0xfb0606fb, 0xfb0606fc, 0xfb0606fd, 0xfb0606fe, 0xfb0606ff, +0xfb060700, 0xfb060701, 0xfb060702, 0xfb060703, 0xfb060704, 0xfb060705, 0xfb060706, 0xfb060707, +0xfb0607f8, 0xfb0607f9, 0xfb0607fa, 0xfb0607fb, 0xfb0607fc, 0xfb0607fd, 0xfb0607fe, 0xfb0607ff, +0xfb06f800, 0xfb06f801, 0xfb06f802, 0xfb06f803, 0xfb06f804, 0xfb06f805, 0xfb06f806, 0xfb06f807, +0xfb06f8f8, 0xfb06f8f9, 0xfb06f8fa, 0xfb06f8fb, 0xfb06f8fc, 0xfb06f8fd, 0xfb06f8fe, 0xfb06f8ff, +0xfb06f900, 0xfb06f901, 0xfb06f902, 0xfb06f903, 0xfb06f904, 0xfb06f905, 0xfb06f906, 0xfb06f907, +0xfb06f9f8, 0xfb06f9f9, 0xfb06f9fa, 0xfb06f9fb, 0xfb06f9fc, 0xfb06f9fd, 0xfb06f9fe, 0xfb06f9ff, +0xfb06fa00, 0xfb06fa01, 0xfb06fa02, 0xfb06fa03, 0xfb06fa04, 0xfb06fa05, 0xfb06fa06, 0xfb06fa07, +0xfb06faf8, 0xfb06faf9, 0xfb06fafa, 0xfb06fafb, 0xfb06fafc, 0xfb06fafd, 0xfb06fafe, 0xfb06faff, +0xfb06fb00, 0xfb06fb01, 0xfb06fb02, 0xfb06fb03, 0xfb06fb04, 0xfb06fb05, 0xfb06fb06, 0xfb06fb07, +0xfb06fbf8, 0xfb06fbf9, 0xfb06fbfa, 0xfb06fbfb, 0xfb06fbfc, 0xfb06fbfd, 0xfb06fbfe, 0xfb06fbff, +0xfb06fc00, 0xfb06fc01, 0xfb06fc02, 0xfb06fc03, 0xfb06fc04, 0xfb06fc05, 0xfb06fc06, 0xfb06fc07, +0xfb06fcf8, 0xfb06fcf9, 0xfb06fcfa, 0xfb06fcfb, 0xfb06fcfc, 0xfb06fcfd, 0xfb06fcfe, 0xfb06fcff, +0xfb06fd00, 0xfb06fd01, 0xfb06fd02, 0xfb06fd03, 0xfb06fd04, 0xfb06fd05, 0xfb06fd06, 0xfb06fd07, +0xfb06fdf8, 0xfb06fdf9, 0xfb06fdfa, 0xfb06fdfb, 0xfb06fdfc, 0xfb06fdfd, 0xfb06fdfe, 0xfb06fdff, +0xfb06fe00, 0xfb06fe01, 0xfb06fe02, 0xfb06fe03, 0xfb06fe04, 0xfb06fe05, 0xfb06fe06, 0xfb06fe07, +0xfb06fef8, 0xfb06fef9, 0xfb06fefa, 0xfb06fefb, 0xfb06fefc, 0xfb06fefd, 0xfb06fefe, 0xfb06feff, +0xfb06ff00, 0xfb06ff01, 0xfb06ff02, 0xfb06ff03, 0xfb06ff04, 0xfb06ff05, 0xfb06ff06, 0xfb06ff07, +0xfb06fff8, 0xfb06fff9, 0xfb06fffa, 0xfb06fffb, 0xfb06fffc, 0xfb06fffd, 0xfb06fffe, 0xfb06ffff, +0xfb070000, 0xfb070001, 0xfb070002, 0xfb070003, 0xfb070004, 0xfb070005, 0xfb070006, 0xfb070007, +0xfb0700f8, 0xfb0700f9, 0xfb0700fa, 0xfb0700fb, 0xfb0700fc, 0xfb0700fd, 0xfb0700fe, 0xfb0700ff, +0xfb070100, 0xfb070101, 0xfb070102, 0xfb070103, 0xfb070104, 0xfb070105, 0xfb070106, 0xfb070107, +0xfb0701f8, 0xfb0701f9, 0xfb0701fa, 0xfb0701fb, 0xfb0701fc, 0xfb0701fd, 0xfb0701fe, 0xfb0701ff, +0xfb070200, 0xfb070201, 0xfb070202, 0xfb070203, 0xfb070204, 0xfb070205, 0xfb070206, 0xfb070207, +0xfb0702f8, 0xfb0702f9, 0xfb0702fa, 0xfb0702fb, 0xfb0702fc, 0xfb0702fd, 0xfb0702fe, 0xfb0702ff, +0xfb070300, 0xfb070301, 0xfb070302, 0xfb070303, 0xfb070304, 0xfb070305, 0xfb070306, 0xfb070307, +0xfb0703f8, 0xfb0703f9, 0xfb0703fa, 0xfb0703fb, 0xfb0703fc, 0xfb0703fd, 0xfb0703fe, 0xfb0703ff, +0xfb070400, 0xfb070401, 0xfb070402, 0xfb070403, 0xfb070404, 0xfb070405, 0xfb070406, 0xfb070407, +0xfb0704f8, 0xfb0704f9, 0xfb0704fa, 0xfb0704fb, 0xfb0704fc, 0xfb0704fd, 0xfb0704fe, 0xfb0704ff, +0xfb070500, 0xfb070501, 0xfb070502, 0xfb070503, 0xfb070504, 0xfb070505, 0xfb070506, 0xfb070507, +0xfb0705f8, 0xfb0705f9, 0xfb0705fa, 0xfb0705fb, 0xfb0705fc, 0xfb0705fd, 0xfb0705fe, 0xfb0705ff, +0xfb070600, 0xfb070601, 0xfb070602, 0xfb070603, 0xfb070604, 0xfb070605, 0xfb070606, 0xfb070607, +0xfb0706f8, 0xfb0706f9, 0xfb0706fa, 0xfb0706fb, 0xfb0706fc, 0xfb0706fd, 0xfb0706fe, 0xfb0706ff, +0xfb070700, 0xfb070701, 0xfb070702, 0xfb070703, 0xfb070704, 0xfb070705, 0xfb070706, 0xfb070707, +0xfb0707f8, 0xfb0707f9, 0xfb0707fa, 0xfb0707fb, 0xfb0707fc, 0xfb0707fd, 0xfb0707fe, 0xfb0707ff, +0xfb07f800, 0xfb07f801, 0xfb07f802, 0xfb07f803, 0xfb07f804, 0xfb07f805, 0xfb07f806, 0xfb07f807, +0xfb07f8f8, 0xfb07f8f9, 0xfb07f8fa, 0xfb07f8fb, 0xfb07f8fc, 0xfb07f8fd, 0xfb07f8fe, 0xfb07f8ff, +0xfb07f900, 0xfb07f901, 0xfb07f902, 0xfb07f903, 0xfb07f904, 0xfb07f905, 0xfb07f906, 0xfb07f907, +0xfb07f9f8, 0xfb07f9f9, 0xfb07f9fa, 0xfb07f9fb, 0xfb07f9fc, 0xfb07f9fd, 0xfb07f9fe, 0xfb07f9ff, +0xfb07fa00, 0xfb07fa01, 0xfb07fa02, 0xfb07fa03, 0xfb07fa04, 0xfb07fa05, 0xfb07fa06, 0xfb07fa07, +0xfb07faf8, 0xfb07faf9, 0xfb07fafa, 0xfb07fafb, 0xfb07fafc, 0xfb07fafd, 0xfb07fafe, 0xfb07faff, +0xfb07fb00, 0xfb07fb01, 0xfb07fb02, 0xfb07fb03, 0xfb07fb04, 0xfb07fb05, 0xfb07fb06, 0xfb07fb07, +0xfb07fbf8, 0xfb07fbf9, 0xfb07fbfa, 0xfb07fbfb, 0xfb07fbfc, 0xfb07fbfd, 0xfb07fbfe, 0xfb07fbff, +0xfb07fc00, 0xfb07fc01, 0xfb07fc02, 0xfb07fc03, 0xfb07fc04, 0xfb07fc05, 0xfb07fc06, 0xfb07fc07, +0xfb07fcf8, 0xfb07fcf9, 0xfb07fcfa, 0xfb07fcfb, 0xfb07fcfc, 0xfb07fcfd, 0xfb07fcfe, 0xfb07fcff, +0xfb07fd00, 0xfb07fd01, 0xfb07fd02, 0xfb07fd03, 0xfb07fd04, 0xfb07fd05, 0xfb07fd06, 0xfb07fd07, +0xfb07fdf8, 0xfb07fdf9, 0xfb07fdfa, 0xfb07fdfb, 0xfb07fdfc, 0xfb07fdfd, 0xfb07fdfe, 0xfb07fdff, +0xfb07fe00, 0xfb07fe01, 0xfb07fe02, 0xfb07fe03, 0xfb07fe04, 0xfb07fe05, 0xfb07fe06, 0xfb07fe07, +0xfb07fef8, 0xfb07fef9, 0xfb07fefa, 0xfb07fefb, 0xfb07fefc, 0xfb07fefd, 0xfb07fefe, 0xfb07feff, +0xfb07ff00, 0xfb07ff01, 0xfb07ff02, 0xfb07ff03, 0xfb07ff04, 0xfb07ff05, 0xfb07ff06, 0xfb07ff07, +0xfb07fff8, 0xfb07fff9, 0xfb07fffa, 0xfb07fffb, 0xfb07fffc, 0xfb07fffd, 0xfb07fffe, 0xfb07ffff, +0xfbf80000, 0xfbf80001, 0xfbf80002, 0xfbf80003, 0xfbf80004, 0xfbf80005, 0xfbf80006, 0xfbf80007, +0xfbf800f8, 0xfbf800f9, 0xfbf800fa, 0xfbf800fb, 0xfbf800fc, 0xfbf800fd, 0xfbf800fe, 0xfbf800ff, +0xfbf80100, 0xfbf80101, 0xfbf80102, 0xfbf80103, 0xfbf80104, 0xfbf80105, 0xfbf80106, 0xfbf80107, +0xfbf801f8, 0xfbf801f9, 0xfbf801fa, 0xfbf801fb, 0xfbf801fc, 0xfbf801fd, 0xfbf801fe, 0xfbf801ff, +0xfbf80200, 0xfbf80201, 0xfbf80202, 0xfbf80203, 0xfbf80204, 0xfbf80205, 0xfbf80206, 0xfbf80207, +0xfbf802f8, 0xfbf802f9, 0xfbf802fa, 0xfbf802fb, 0xfbf802fc, 0xfbf802fd, 0xfbf802fe, 0xfbf802ff, +0xfbf80300, 0xfbf80301, 0xfbf80302, 0xfbf80303, 0xfbf80304, 0xfbf80305, 0xfbf80306, 0xfbf80307, +0xfbf803f8, 0xfbf803f9, 0xfbf803fa, 0xfbf803fb, 0xfbf803fc, 0xfbf803fd, 0xfbf803fe, 0xfbf803ff, +0xfbf80400, 0xfbf80401, 0xfbf80402, 0xfbf80403, 0xfbf80404, 0xfbf80405, 0xfbf80406, 0xfbf80407, +0xfbf804f8, 0xfbf804f9, 0xfbf804fa, 0xfbf804fb, 0xfbf804fc, 0xfbf804fd, 0xfbf804fe, 0xfbf804ff, +0xfbf80500, 0xfbf80501, 0xfbf80502, 0xfbf80503, 0xfbf80504, 0xfbf80505, 0xfbf80506, 0xfbf80507, +0xfbf805f8, 0xfbf805f9, 0xfbf805fa, 0xfbf805fb, 0xfbf805fc, 0xfbf805fd, 0xfbf805fe, 0xfbf805ff, +0xfbf80600, 0xfbf80601, 0xfbf80602, 0xfbf80603, 0xfbf80604, 0xfbf80605, 0xfbf80606, 0xfbf80607, +0xfbf806f8, 0xfbf806f9, 0xfbf806fa, 0xfbf806fb, 0xfbf806fc, 0xfbf806fd, 0xfbf806fe, 0xfbf806ff, +0xfbf80700, 0xfbf80701, 0xfbf80702, 0xfbf80703, 0xfbf80704, 0xfbf80705, 0xfbf80706, 0xfbf80707, +0xfbf807f8, 0xfbf807f9, 0xfbf807fa, 0xfbf807fb, 0xfbf807fc, 0xfbf807fd, 0xfbf807fe, 0xfbf807ff, +0xfbf8f800, 0xfbf8f801, 0xfbf8f802, 0xfbf8f803, 0xfbf8f804, 0xfbf8f805, 0xfbf8f806, 0xfbf8f807, +0xfbf8f8f8, 0xfbf8f8f9, 0xfbf8f8fa, 0xfbf8f8fb, 0xfbf8f8fc, 0xfbf8f8fd, 0xfbf8f8fe, 0xfbf8f8ff, +0xfbf8f900, 0xfbf8f901, 0xfbf8f902, 0xfbf8f903, 0xfbf8f904, 0xfbf8f905, 0xfbf8f906, 0xfbf8f907, +0xfbf8f9f8, 0xfbf8f9f9, 0xfbf8f9fa, 0xfbf8f9fb, 0xfbf8f9fc, 0xfbf8f9fd, 0xfbf8f9fe, 0xfbf8f9ff, +0xfbf8fa00, 0xfbf8fa01, 0xfbf8fa02, 0xfbf8fa03, 0xfbf8fa04, 0xfbf8fa05, 0xfbf8fa06, 0xfbf8fa07, +0xfbf8faf8, 0xfbf8faf9, 0xfbf8fafa, 0xfbf8fafb, 0xfbf8fafc, 0xfbf8fafd, 0xfbf8fafe, 0xfbf8faff, +0xfbf8fb00, 0xfbf8fb01, 0xfbf8fb02, 0xfbf8fb03, 0xfbf8fb04, 0xfbf8fb05, 0xfbf8fb06, 0xfbf8fb07, +0xfbf8fbf8, 0xfbf8fbf9, 0xfbf8fbfa, 0xfbf8fbfb, 0xfbf8fbfc, 0xfbf8fbfd, 0xfbf8fbfe, 0xfbf8fbff, +0xfbf8fc00, 0xfbf8fc01, 0xfbf8fc02, 0xfbf8fc03, 0xfbf8fc04, 0xfbf8fc05, 0xfbf8fc06, 0xfbf8fc07, +0xfbf8fcf8, 0xfbf8fcf9, 0xfbf8fcfa, 0xfbf8fcfb, 0xfbf8fcfc, 0xfbf8fcfd, 0xfbf8fcfe, 0xfbf8fcff, +0xfbf8fd00, 0xfbf8fd01, 0xfbf8fd02, 0xfbf8fd03, 0xfbf8fd04, 0xfbf8fd05, 0xfbf8fd06, 0xfbf8fd07, +0xfbf8fdf8, 0xfbf8fdf9, 0xfbf8fdfa, 0xfbf8fdfb, 0xfbf8fdfc, 0xfbf8fdfd, 0xfbf8fdfe, 0xfbf8fdff, +0xfbf8fe00, 0xfbf8fe01, 0xfbf8fe02, 0xfbf8fe03, 0xfbf8fe04, 0xfbf8fe05, 0xfbf8fe06, 0xfbf8fe07, +0xfbf8fef8, 0xfbf8fef9, 0xfbf8fefa, 0xfbf8fefb, 0xfbf8fefc, 0xfbf8fefd, 0xfbf8fefe, 0xfbf8feff, +0xfbf8ff00, 0xfbf8ff01, 0xfbf8ff02, 0xfbf8ff03, 0xfbf8ff04, 0xfbf8ff05, 0xfbf8ff06, 0xfbf8ff07, +0xfbf8fff8, 0xfbf8fff9, 0xfbf8fffa, 0xfbf8fffb, 0xfbf8fffc, 0xfbf8fffd, 0xfbf8fffe, 0xfbf8ffff, +0xfbf90000, 0xfbf90001, 0xfbf90002, 0xfbf90003, 0xfbf90004, 0xfbf90005, 0xfbf90006, 0xfbf90007, +0xfbf900f8, 0xfbf900f9, 0xfbf900fa, 0xfbf900fb, 0xfbf900fc, 0xfbf900fd, 0xfbf900fe, 0xfbf900ff, +0xfbf90100, 0xfbf90101, 0xfbf90102, 0xfbf90103, 0xfbf90104, 0xfbf90105, 0xfbf90106, 0xfbf90107, +0xfbf901f8, 0xfbf901f9, 0xfbf901fa, 0xfbf901fb, 0xfbf901fc, 0xfbf901fd, 0xfbf901fe, 0xfbf901ff, +0xfbf90200, 0xfbf90201, 0xfbf90202, 0xfbf90203, 0xfbf90204, 0xfbf90205, 0xfbf90206, 0xfbf90207, +0xfbf902f8, 0xfbf902f9, 0xfbf902fa, 0xfbf902fb, 0xfbf902fc, 0xfbf902fd, 0xfbf902fe, 0xfbf902ff, +0xfbf90300, 0xfbf90301, 0xfbf90302, 0xfbf90303, 0xfbf90304, 0xfbf90305, 0xfbf90306, 0xfbf90307, +0xfbf903f8, 0xfbf903f9, 0xfbf903fa, 0xfbf903fb, 0xfbf903fc, 0xfbf903fd, 0xfbf903fe, 0xfbf903ff, +0xfbf90400, 0xfbf90401, 0xfbf90402, 0xfbf90403, 0xfbf90404, 0xfbf90405, 0xfbf90406, 0xfbf90407, +0xfbf904f8, 0xfbf904f9, 0xfbf904fa, 0xfbf904fb, 0xfbf904fc, 0xfbf904fd, 0xfbf904fe, 0xfbf904ff, +0xfbf90500, 0xfbf90501, 0xfbf90502, 0xfbf90503, 0xfbf90504, 0xfbf90505, 0xfbf90506, 0xfbf90507, +0xfbf905f8, 0xfbf905f9, 0xfbf905fa, 0xfbf905fb, 0xfbf905fc, 0xfbf905fd, 0xfbf905fe, 0xfbf905ff, +0xfbf90600, 0xfbf90601, 0xfbf90602, 0xfbf90603, 0xfbf90604, 0xfbf90605, 0xfbf90606, 0xfbf90607, +0xfbf906f8, 0xfbf906f9, 0xfbf906fa, 0xfbf906fb, 0xfbf906fc, 0xfbf906fd, 0xfbf906fe, 0xfbf906ff, +0xfbf90700, 0xfbf90701, 0xfbf90702, 0xfbf90703, 0xfbf90704, 0xfbf90705, 0xfbf90706, 0xfbf90707, +0xfbf907f8, 0xfbf907f9, 0xfbf907fa, 0xfbf907fb, 0xfbf907fc, 0xfbf907fd, 0xfbf907fe, 0xfbf907ff, +0xfbf9f800, 0xfbf9f801, 0xfbf9f802, 0xfbf9f803, 0xfbf9f804, 0xfbf9f805, 0xfbf9f806, 0xfbf9f807, +0xfbf9f8f8, 0xfbf9f8f9, 0xfbf9f8fa, 0xfbf9f8fb, 0xfbf9f8fc, 0xfbf9f8fd, 0xfbf9f8fe, 0xfbf9f8ff, +0xfbf9f900, 0xfbf9f901, 0xfbf9f902, 0xfbf9f903, 0xfbf9f904, 0xfbf9f905, 0xfbf9f906, 0xfbf9f907, +0xfbf9f9f8, 0xfbf9f9f9, 0xfbf9f9fa, 0xfbf9f9fb, 0xfbf9f9fc, 0xfbf9f9fd, 0xfbf9f9fe, 0xfbf9f9ff, +0xfbf9fa00, 0xfbf9fa01, 0xfbf9fa02, 0xfbf9fa03, 0xfbf9fa04, 0xfbf9fa05, 0xfbf9fa06, 0xfbf9fa07, +0xfbf9faf8, 0xfbf9faf9, 0xfbf9fafa, 0xfbf9fafb, 0xfbf9fafc, 0xfbf9fafd, 0xfbf9fafe, 0xfbf9faff, +0xfbf9fb00, 0xfbf9fb01, 0xfbf9fb02, 0xfbf9fb03, 0xfbf9fb04, 0xfbf9fb05, 0xfbf9fb06, 0xfbf9fb07, +0xfbf9fbf8, 0xfbf9fbf9, 0xfbf9fbfa, 0xfbf9fbfb, 0xfbf9fbfc, 0xfbf9fbfd, 0xfbf9fbfe, 0xfbf9fbff, +0xfbf9fc00, 0xfbf9fc01, 0xfbf9fc02, 0xfbf9fc03, 0xfbf9fc04, 0xfbf9fc05, 0xfbf9fc06, 0xfbf9fc07, +0xfbf9fcf8, 0xfbf9fcf9, 0xfbf9fcfa, 0xfbf9fcfb, 0xfbf9fcfc, 0xfbf9fcfd, 0xfbf9fcfe, 0xfbf9fcff, +0xfbf9fd00, 0xfbf9fd01, 0xfbf9fd02, 0xfbf9fd03, 0xfbf9fd04, 0xfbf9fd05, 0xfbf9fd06, 0xfbf9fd07, +0xfbf9fdf8, 0xfbf9fdf9, 0xfbf9fdfa, 0xfbf9fdfb, 0xfbf9fdfc, 0xfbf9fdfd, 0xfbf9fdfe, 0xfbf9fdff, +0xfbf9fe00, 0xfbf9fe01, 0xfbf9fe02, 0xfbf9fe03, 0xfbf9fe04, 0xfbf9fe05, 0xfbf9fe06, 0xfbf9fe07, +0xfbf9fef8, 0xfbf9fef9, 0xfbf9fefa, 0xfbf9fefb, 0xfbf9fefc, 0xfbf9fefd, 0xfbf9fefe, 0xfbf9feff, +0xfbf9ff00, 0xfbf9ff01, 0xfbf9ff02, 0xfbf9ff03, 0xfbf9ff04, 0xfbf9ff05, 0xfbf9ff06, 0xfbf9ff07, +0xfbf9fff8, 0xfbf9fff9, 0xfbf9fffa, 0xfbf9fffb, 0xfbf9fffc, 0xfbf9fffd, 0xfbf9fffe, 0xfbf9ffff, +0xfbfa0000, 0xfbfa0001, 0xfbfa0002, 0xfbfa0003, 0xfbfa0004, 0xfbfa0005, 0xfbfa0006, 0xfbfa0007, +0xfbfa00f8, 0xfbfa00f9, 0xfbfa00fa, 0xfbfa00fb, 0xfbfa00fc, 0xfbfa00fd, 0xfbfa00fe, 0xfbfa00ff, +0xfbfa0100, 0xfbfa0101, 0xfbfa0102, 0xfbfa0103, 0xfbfa0104, 0xfbfa0105, 0xfbfa0106, 0xfbfa0107, +0xfbfa01f8, 0xfbfa01f9, 0xfbfa01fa, 0xfbfa01fb, 0xfbfa01fc, 0xfbfa01fd, 0xfbfa01fe, 0xfbfa01ff, +0xfbfa0200, 0xfbfa0201, 0xfbfa0202, 0xfbfa0203, 0xfbfa0204, 0xfbfa0205, 0xfbfa0206, 0xfbfa0207, +0xfbfa02f8, 0xfbfa02f9, 0xfbfa02fa, 0xfbfa02fb, 0xfbfa02fc, 0xfbfa02fd, 0xfbfa02fe, 0xfbfa02ff, +0xfbfa0300, 0xfbfa0301, 0xfbfa0302, 0xfbfa0303, 0xfbfa0304, 0xfbfa0305, 0xfbfa0306, 0xfbfa0307, +0xfbfa03f8, 0xfbfa03f9, 0xfbfa03fa, 0xfbfa03fb, 0xfbfa03fc, 0xfbfa03fd, 0xfbfa03fe, 0xfbfa03ff, +0xfbfa0400, 0xfbfa0401, 0xfbfa0402, 0xfbfa0403, 0xfbfa0404, 0xfbfa0405, 0xfbfa0406, 0xfbfa0407, +0xfbfa04f8, 0xfbfa04f9, 0xfbfa04fa, 0xfbfa04fb, 0xfbfa04fc, 0xfbfa04fd, 0xfbfa04fe, 0xfbfa04ff, +0xfbfa0500, 0xfbfa0501, 0xfbfa0502, 0xfbfa0503, 0xfbfa0504, 0xfbfa0505, 0xfbfa0506, 0xfbfa0507, +0xfbfa05f8, 0xfbfa05f9, 0xfbfa05fa, 0xfbfa05fb, 0xfbfa05fc, 0xfbfa05fd, 0xfbfa05fe, 0xfbfa05ff, +0xfbfa0600, 0xfbfa0601, 0xfbfa0602, 0xfbfa0603, 0xfbfa0604, 0xfbfa0605, 0xfbfa0606, 0xfbfa0607, +0xfbfa06f8, 0xfbfa06f9, 0xfbfa06fa, 0xfbfa06fb, 0xfbfa06fc, 0xfbfa06fd, 0xfbfa06fe, 0xfbfa06ff, +0xfbfa0700, 0xfbfa0701, 0xfbfa0702, 0xfbfa0703, 0xfbfa0704, 0xfbfa0705, 0xfbfa0706, 0xfbfa0707, +0xfbfa07f8, 0xfbfa07f9, 0xfbfa07fa, 0xfbfa07fb, 0xfbfa07fc, 0xfbfa07fd, 0xfbfa07fe, 0xfbfa07ff, +0xfbfaf800, 0xfbfaf801, 0xfbfaf802, 0xfbfaf803, 0xfbfaf804, 0xfbfaf805, 0xfbfaf806, 0xfbfaf807, +0xfbfaf8f8, 0xfbfaf8f9, 0xfbfaf8fa, 0xfbfaf8fb, 0xfbfaf8fc, 0xfbfaf8fd, 0xfbfaf8fe, 0xfbfaf8ff, +0xfbfaf900, 0xfbfaf901, 0xfbfaf902, 0xfbfaf903, 0xfbfaf904, 0xfbfaf905, 0xfbfaf906, 0xfbfaf907, +0xfbfaf9f8, 0xfbfaf9f9, 0xfbfaf9fa, 0xfbfaf9fb, 0xfbfaf9fc, 0xfbfaf9fd, 0xfbfaf9fe, 0xfbfaf9ff, +0xfbfafa00, 0xfbfafa01, 0xfbfafa02, 0xfbfafa03, 0xfbfafa04, 0xfbfafa05, 0xfbfafa06, 0xfbfafa07, +0xfbfafaf8, 0xfbfafaf9, 0xfbfafafa, 0xfbfafafb, 0xfbfafafc, 0xfbfafafd, 0xfbfafafe, 0xfbfafaff, +0xfbfafb00, 0xfbfafb01, 0xfbfafb02, 0xfbfafb03, 0xfbfafb04, 0xfbfafb05, 0xfbfafb06, 0xfbfafb07, +0xfbfafbf8, 0xfbfafbf9, 0xfbfafbfa, 0xfbfafbfb, 0xfbfafbfc, 0xfbfafbfd, 0xfbfafbfe, 0xfbfafbff, +0xfbfafc00, 0xfbfafc01, 0xfbfafc02, 0xfbfafc03, 0xfbfafc04, 0xfbfafc05, 0xfbfafc06, 0xfbfafc07, +0xfbfafcf8, 0xfbfafcf9, 0xfbfafcfa, 0xfbfafcfb, 0xfbfafcfc, 0xfbfafcfd, 0xfbfafcfe, 0xfbfafcff, +0xfbfafd00, 0xfbfafd01, 0xfbfafd02, 0xfbfafd03, 0xfbfafd04, 0xfbfafd05, 0xfbfafd06, 0xfbfafd07, +0xfbfafdf8, 0xfbfafdf9, 0xfbfafdfa, 0xfbfafdfb, 0xfbfafdfc, 0xfbfafdfd, 0xfbfafdfe, 0xfbfafdff, +0xfbfafe00, 0xfbfafe01, 0xfbfafe02, 0xfbfafe03, 0xfbfafe04, 0xfbfafe05, 0xfbfafe06, 0xfbfafe07, +0xfbfafef8, 0xfbfafef9, 0xfbfafefa, 0xfbfafefb, 0xfbfafefc, 0xfbfafefd, 0xfbfafefe, 0xfbfafeff, +0xfbfaff00, 0xfbfaff01, 0xfbfaff02, 0xfbfaff03, 0xfbfaff04, 0xfbfaff05, 0xfbfaff06, 0xfbfaff07, +0xfbfafff8, 0xfbfafff9, 0xfbfafffa, 0xfbfafffb, 0xfbfafffc, 0xfbfafffd, 0xfbfafffe, 0xfbfaffff, +0xfbfb0000, 0xfbfb0001, 0xfbfb0002, 0xfbfb0003, 0xfbfb0004, 0xfbfb0005, 0xfbfb0006, 0xfbfb0007, +0xfbfb00f8, 0xfbfb00f9, 0xfbfb00fa, 0xfbfb00fb, 0xfbfb00fc, 0xfbfb00fd, 0xfbfb00fe, 0xfbfb00ff, +0xfbfb0100, 0xfbfb0101, 0xfbfb0102, 0xfbfb0103, 0xfbfb0104, 0xfbfb0105, 0xfbfb0106, 0xfbfb0107, +0xfbfb01f8, 0xfbfb01f9, 0xfbfb01fa, 0xfbfb01fb, 0xfbfb01fc, 0xfbfb01fd, 0xfbfb01fe, 0xfbfb01ff, +0xfbfb0200, 0xfbfb0201, 0xfbfb0202, 0xfbfb0203, 0xfbfb0204, 0xfbfb0205, 0xfbfb0206, 0xfbfb0207, +0xfbfb02f8, 0xfbfb02f9, 0xfbfb02fa, 0xfbfb02fb, 0xfbfb02fc, 0xfbfb02fd, 0xfbfb02fe, 0xfbfb02ff, +0xfbfb0300, 0xfbfb0301, 0xfbfb0302, 0xfbfb0303, 0xfbfb0304, 0xfbfb0305, 0xfbfb0306, 0xfbfb0307, +0xfbfb03f8, 0xfbfb03f9, 0xfbfb03fa, 0xfbfb03fb, 0xfbfb03fc, 0xfbfb03fd, 0xfbfb03fe, 0xfbfb03ff, +0xfbfb0400, 0xfbfb0401, 0xfbfb0402, 0xfbfb0403, 0xfbfb0404, 0xfbfb0405, 0xfbfb0406, 0xfbfb0407, +0xfbfb04f8, 0xfbfb04f9, 0xfbfb04fa, 0xfbfb04fb, 0xfbfb04fc, 0xfbfb04fd, 0xfbfb04fe, 0xfbfb04ff, +0xfbfb0500, 0xfbfb0501, 0xfbfb0502, 0xfbfb0503, 0xfbfb0504, 0xfbfb0505, 0xfbfb0506, 0xfbfb0507, +0xfbfb05f8, 0xfbfb05f9, 0xfbfb05fa, 0xfbfb05fb, 0xfbfb05fc, 0xfbfb05fd, 0xfbfb05fe, 0xfbfb05ff, +0xfbfb0600, 0xfbfb0601, 0xfbfb0602, 0xfbfb0603, 0xfbfb0604, 0xfbfb0605, 0xfbfb0606, 0xfbfb0607, +0xfbfb06f8, 0xfbfb06f9, 0xfbfb06fa, 0xfbfb06fb, 0xfbfb06fc, 0xfbfb06fd, 0xfbfb06fe, 0xfbfb06ff, +0xfbfb0700, 0xfbfb0701, 0xfbfb0702, 0xfbfb0703, 0xfbfb0704, 0xfbfb0705, 0xfbfb0706, 0xfbfb0707, +0xfbfb07f8, 0xfbfb07f9, 0xfbfb07fa, 0xfbfb07fb, 0xfbfb07fc, 0xfbfb07fd, 0xfbfb07fe, 0xfbfb07ff, +0xfbfbf800, 0xfbfbf801, 0xfbfbf802, 0xfbfbf803, 0xfbfbf804, 0xfbfbf805, 0xfbfbf806, 0xfbfbf807, +0xfbfbf8f8, 0xfbfbf8f9, 0xfbfbf8fa, 0xfbfbf8fb, 0xfbfbf8fc, 0xfbfbf8fd, 0xfbfbf8fe, 0xfbfbf8ff, +0xfbfbf900, 0xfbfbf901, 0xfbfbf902, 0xfbfbf903, 0xfbfbf904, 0xfbfbf905, 0xfbfbf906, 0xfbfbf907, +0xfbfbf9f8, 0xfbfbf9f9, 0xfbfbf9fa, 0xfbfbf9fb, 0xfbfbf9fc, 0xfbfbf9fd, 0xfbfbf9fe, 0xfbfbf9ff, +0xfbfbfa00, 0xfbfbfa01, 0xfbfbfa02, 0xfbfbfa03, 0xfbfbfa04, 0xfbfbfa05, 0xfbfbfa06, 0xfbfbfa07, +0xfbfbfaf8, 0xfbfbfaf9, 0xfbfbfafa, 0xfbfbfafb, 0xfbfbfafc, 0xfbfbfafd, 0xfbfbfafe, 0xfbfbfaff, +0xfbfbfb00, 0xfbfbfb01, 0xfbfbfb02, 0xfbfbfb03, 0xfbfbfb04, 0xfbfbfb05, 0xfbfbfb06, 0xfbfbfb07, +0xfbfbfbf8, 0xfbfbfbf9, 0xfbfbfbfa, 0xfbfbfbfb, 0xfbfbfbfc, 0xfbfbfbfd, 0xfbfbfbfe, 0xfbfbfbff, +0xfbfbfc00, 0xfbfbfc01, 0xfbfbfc02, 0xfbfbfc03, 0xfbfbfc04, 0xfbfbfc05, 0xfbfbfc06, 0xfbfbfc07, +0xfbfbfcf8, 0xfbfbfcf9, 0xfbfbfcfa, 0xfbfbfcfb, 0xfbfbfcfc, 0xfbfbfcfd, 0xfbfbfcfe, 0xfbfbfcff, +0xfbfbfd00, 0xfbfbfd01, 0xfbfbfd02, 0xfbfbfd03, 0xfbfbfd04, 0xfbfbfd05, 0xfbfbfd06, 0xfbfbfd07, +0xfbfbfdf8, 0xfbfbfdf9, 0xfbfbfdfa, 0xfbfbfdfb, 0xfbfbfdfc, 0xfbfbfdfd, 0xfbfbfdfe, 0xfbfbfdff, +0xfbfbfe00, 0xfbfbfe01, 0xfbfbfe02, 0xfbfbfe03, 0xfbfbfe04, 0xfbfbfe05, 0xfbfbfe06, 0xfbfbfe07, +0xfbfbfef8, 0xfbfbfef9, 0xfbfbfefa, 0xfbfbfefb, 0xfbfbfefc, 0xfbfbfefd, 0xfbfbfefe, 0xfbfbfeff, +0xfbfbff00, 0xfbfbff01, 0xfbfbff02, 0xfbfbff03, 0xfbfbff04, 0xfbfbff05, 0xfbfbff06, 0xfbfbff07, +0xfbfbfff8, 0xfbfbfff9, 0xfbfbfffa, 0xfbfbfffb, 0xfbfbfffc, 0xfbfbfffd, 0xfbfbfffe, 0xfbfbffff, +0xfbfc0000, 0xfbfc0001, 0xfbfc0002, 0xfbfc0003, 0xfbfc0004, 0xfbfc0005, 0xfbfc0006, 0xfbfc0007, +0xfbfc00f8, 0xfbfc00f9, 0xfbfc00fa, 0xfbfc00fb, 0xfbfc00fc, 0xfbfc00fd, 0xfbfc00fe, 0xfbfc00ff, +0xfbfc0100, 0xfbfc0101, 0xfbfc0102, 0xfbfc0103, 0xfbfc0104, 0xfbfc0105, 0xfbfc0106, 0xfbfc0107, +0xfbfc01f8, 0xfbfc01f9, 0xfbfc01fa, 0xfbfc01fb, 0xfbfc01fc, 0xfbfc01fd, 0xfbfc01fe, 0xfbfc01ff, +0xfbfc0200, 0xfbfc0201, 0xfbfc0202, 0xfbfc0203, 0xfbfc0204, 0xfbfc0205, 0xfbfc0206, 0xfbfc0207, +0xfbfc02f8, 0xfbfc02f9, 0xfbfc02fa, 0xfbfc02fb, 0xfbfc02fc, 0xfbfc02fd, 0xfbfc02fe, 0xfbfc02ff, +0xfbfc0300, 0xfbfc0301, 0xfbfc0302, 0xfbfc0303, 0xfbfc0304, 0xfbfc0305, 0xfbfc0306, 0xfbfc0307, +0xfbfc03f8, 0xfbfc03f9, 0xfbfc03fa, 0xfbfc03fb, 0xfbfc03fc, 0xfbfc03fd, 0xfbfc03fe, 0xfbfc03ff, +0xfbfc0400, 0xfbfc0401, 0xfbfc0402, 0xfbfc0403, 0xfbfc0404, 0xfbfc0405, 0xfbfc0406, 0xfbfc0407, +0xfbfc04f8, 0xfbfc04f9, 0xfbfc04fa, 0xfbfc04fb, 0xfbfc04fc, 0xfbfc04fd, 0xfbfc04fe, 0xfbfc04ff, +0xfbfc0500, 0xfbfc0501, 0xfbfc0502, 0xfbfc0503, 0xfbfc0504, 0xfbfc0505, 0xfbfc0506, 0xfbfc0507, +0xfbfc05f8, 0xfbfc05f9, 0xfbfc05fa, 0xfbfc05fb, 0xfbfc05fc, 0xfbfc05fd, 0xfbfc05fe, 0xfbfc05ff, +0xfbfc0600, 0xfbfc0601, 0xfbfc0602, 0xfbfc0603, 0xfbfc0604, 0xfbfc0605, 0xfbfc0606, 0xfbfc0607, +0xfbfc06f8, 0xfbfc06f9, 0xfbfc06fa, 0xfbfc06fb, 0xfbfc06fc, 0xfbfc06fd, 0xfbfc06fe, 0xfbfc06ff, +0xfbfc0700, 0xfbfc0701, 0xfbfc0702, 0xfbfc0703, 0xfbfc0704, 0xfbfc0705, 0xfbfc0706, 0xfbfc0707, +0xfbfc07f8, 0xfbfc07f9, 0xfbfc07fa, 0xfbfc07fb, 0xfbfc07fc, 0xfbfc07fd, 0xfbfc07fe, 0xfbfc07ff, +0xfbfcf800, 0xfbfcf801, 0xfbfcf802, 0xfbfcf803, 0xfbfcf804, 0xfbfcf805, 0xfbfcf806, 0xfbfcf807, +0xfbfcf8f8, 0xfbfcf8f9, 0xfbfcf8fa, 0xfbfcf8fb, 0xfbfcf8fc, 0xfbfcf8fd, 0xfbfcf8fe, 0xfbfcf8ff, +0xfbfcf900, 0xfbfcf901, 0xfbfcf902, 0xfbfcf903, 0xfbfcf904, 0xfbfcf905, 0xfbfcf906, 0xfbfcf907, +0xfbfcf9f8, 0xfbfcf9f9, 0xfbfcf9fa, 0xfbfcf9fb, 0xfbfcf9fc, 0xfbfcf9fd, 0xfbfcf9fe, 0xfbfcf9ff, +0xfbfcfa00, 0xfbfcfa01, 0xfbfcfa02, 0xfbfcfa03, 0xfbfcfa04, 0xfbfcfa05, 0xfbfcfa06, 0xfbfcfa07, +0xfbfcfaf8, 0xfbfcfaf9, 0xfbfcfafa, 0xfbfcfafb, 0xfbfcfafc, 0xfbfcfafd, 0xfbfcfafe, 0xfbfcfaff, +0xfbfcfb00, 0xfbfcfb01, 0xfbfcfb02, 0xfbfcfb03, 0xfbfcfb04, 0xfbfcfb05, 0xfbfcfb06, 0xfbfcfb07, +0xfbfcfbf8, 0xfbfcfbf9, 0xfbfcfbfa, 0xfbfcfbfb, 0xfbfcfbfc, 0xfbfcfbfd, 0xfbfcfbfe, 0xfbfcfbff, +0xfbfcfc00, 0xfbfcfc01, 0xfbfcfc02, 0xfbfcfc03, 0xfbfcfc04, 0xfbfcfc05, 0xfbfcfc06, 0xfbfcfc07, +0xfbfcfcf8, 0xfbfcfcf9, 0xfbfcfcfa, 0xfbfcfcfb, 0xfbfcfcfc, 0xfbfcfcfd, 0xfbfcfcfe, 0xfbfcfcff, +0xfbfcfd00, 0xfbfcfd01, 0xfbfcfd02, 0xfbfcfd03, 0xfbfcfd04, 0xfbfcfd05, 0xfbfcfd06, 0xfbfcfd07, +0xfbfcfdf8, 0xfbfcfdf9, 0xfbfcfdfa, 0xfbfcfdfb, 0xfbfcfdfc, 0xfbfcfdfd, 0xfbfcfdfe, 0xfbfcfdff, +0xfbfcfe00, 0xfbfcfe01, 0xfbfcfe02, 0xfbfcfe03, 0xfbfcfe04, 0xfbfcfe05, 0xfbfcfe06, 0xfbfcfe07, +0xfbfcfef8, 0xfbfcfef9, 0xfbfcfefa, 0xfbfcfefb, 0xfbfcfefc, 0xfbfcfefd, 0xfbfcfefe, 0xfbfcfeff, +0xfbfcff00, 0xfbfcff01, 0xfbfcff02, 0xfbfcff03, 0xfbfcff04, 0xfbfcff05, 0xfbfcff06, 0xfbfcff07, +0xfbfcfff8, 0xfbfcfff9, 0xfbfcfffa, 0xfbfcfffb, 0xfbfcfffc, 0xfbfcfffd, 0xfbfcfffe, 0xfbfcffff, +0xfbfd0000, 0xfbfd0001, 0xfbfd0002, 0xfbfd0003, 0xfbfd0004, 0xfbfd0005, 0xfbfd0006, 0xfbfd0007, +0xfbfd00f8, 0xfbfd00f9, 0xfbfd00fa, 0xfbfd00fb, 0xfbfd00fc, 0xfbfd00fd, 0xfbfd00fe, 0xfbfd00ff, +0xfbfd0100, 0xfbfd0101, 0xfbfd0102, 0xfbfd0103, 0xfbfd0104, 0xfbfd0105, 0xfbfd0106, 0xfbfd0107, +0xfbfd01f8, 0xfbfd01f9, 0xfbfd01fa, 0xfbfd01fb, 0xfbfd01fc, 0xfbfd01fd, 0xfbfd01fe, 0xfbfd01ff, +0xfbfd0200, 0xfbfd0201, 0xfbfd0202, 0xfbfd0203, 0xfbfd0204, 0xfbfd0205, 0xfbfd0206, 0xfbfd0207, +0xfbfd02f8, 0xfbfd02f9, 0xfbfd02fa, 0xfbfd02fb, 0xfbfd02fc, 0xfbfd02fd, 0xfbfd02fe, 0xfbfd02ff, +0xfbfd0300, 0xfbfd0301, 0xfbfd0302, 0xfbfd0303, 0xfbfd0304, 0xfbfd0305, 0xfbfd0306, 0xfbfd0307, +0xfbfd03f8, 0xfbfd03f9, 0xfbfd03fa, 0xfbfd03fb, 0xfbfd03fc, 0xfbfd03fd, 0xfbfd03fe, 0xfbfd03ff, +0xfbfd0400, 0xfbfd0401, 0xfbfd0402, 0xfbfd0403, 0xfbfd0404, 0xfbfd0405, 0xfbfd0406, 0xfbfd0407, +0xfbfd04f8, 0xfbfd04f9, 0xfbfd04fa, 0xfbfd04fb, 0xfbfd04fc, 0xfbfd04fd, 0xfbfd04fe, 0xfbfd04ff, +0xfbfd0500, 0xfbfd0501, 0xfbfd0502, 0xfbfd0503, 0xfbfd0504, 0xfbfd0505, 0xfbfd0506, 0xfbfd0507, +0xfbfd05f8, 0xfbfd05f9, 0xfbfd05fa, 0xfbfd05fb, 0xfbfd05fc, 0xfbfd05fd, 0xfbfd05fe, 0xfbfd05ff, +0xfbfd0600, 0xfbfd0601, 0xfbfd0602, 0xfbfd0603, 0xfbfd0604, 0xfbfd0605, 0xfbfd0606, 0xfbfd0607, +0xfbfd06f8, 0xfbfd06f9, 0xfbfd06fa, 0xfbfd06fb, 0xfbfd06fc, 0xfbfd06fd, 0xfbfd06fe, 0xfbfd06ff, +0xfbfd0700, 0xfbfd0701, 0xfbfd0702, 0xfbfd0703, 0xfbfd0704, 0xfbfd0705, 0xfbfd0706, 0xfbfd0707, +0xfbfd07f8, 0xfbfd07f9, 0xfbfd07fa, 0xfbfd07fb, 0xfbfd07fc, 0xfbfd07fd, 0xfbfd07fe, 0xfbfd07ff, +0xfbfdf800, 0xfbfdf801, 0xfbfdf802, 0xfbfdf803, 0xfbfdf804, 0xfbfdf805, 0xfbfdf806, 0xfbfdf807, +0xfbfdf8f8, 0xfbfdf8f9, 0xfbfdf8fa, 0xfbfdf8fb, 0xfbfdf8fc, 0xfbfdf8fd, 0xfbfdf8fe, 0xfbfdf8ff, +0xfbfdf900, 0xfbfdf901, 0xfbfdf902, 0xfbfdf903, 0xfbfdf904, 0xfbfdf905, 0xfbfdf906, 0xfbfdf907, +0xfbfdf9f8, 0xfbfdf9f9, 0xfbfdf9fa, 0xfbfdf9fb, 0xfbfdf9fc, 0xfbfdf9fd, 0xfbfdf9fe, 0xfbfdf9ff, +0xfbfdfa00, 0xfbfdfa01, 0xfbfdfa02, 0xfbfdfa03, 0xfbfdfa04, 0xfbfdfa05, 0xfbfdfa06, 0xfbfdfa07, +0xfbfdfaf8, 0xfbfdfaf9, 0xfbfdfafa, 0xfbfdfafb, 0xfbfdfafc, 0xfbfdfafd, 0xfbfdfafe, 0xfbfdfaff, +0xfbfdfb00, 0xfbfdfb01, 0xfbfdfb02, 0xfbfdfb03, 0xfbfdfb04, 0xfbfdfb05, 0xfbfdfb06, 0xfbfdfb07, +0xfbfdfbf8, 0xfbfdfbf9, 0xfbfdfbfa, 0xfbfdfbfb, 0xfbfdfbfc, 0xfbfdfbfd, 0xfbfdfbfe, 0xfbfdfbff, +0xfbfdfc00, 0xfbfdfc01, 0xfbfdfc02, 0xfbfdfc03, 0xfbfdfc04, 0xfbfdfc05, 0xfbfdfc06, 0xfbfdfc07, +0xfbfdfcf8, 0xfbfdfcf9, 0xfbfdfcfa, 0xfbfdfcfb, 0xfbfdfcfc, 0xfbfdfcfd, 0xfbfdfcfe, 0xfbfdfcff, +0xfbfdfd00, 0xfbfdfd01, 0xfbfdfd02, 0xfbfdfd03, 0xfbfdfd04, 0xfbfdfd05, 0xfbfdfd06, 0xfbfdfd07, +0xfbfdfdf8, 0xfbfdfdf9, 0xfbfdfdfa, 0xfbfdfdfb, 0xfbfdfdfc, 0xfbfdfdfd, 0xfbfdfdfe, 0xfbfdfdff, +0xfbfdfe00, 0xfbfdfe01, 0xfbfdfe02, 0xfbfdfe03, 0xfbfdfe04, 0xfbfdfe05, 0xfbfdfe06, 0xfbfdfe07, +0xfbfdfef8, 0xfbfdfef9, 0xfbfdfefa, 0xfbfdfefb, 0xfbfdfefc, 0xfbfdfefd, 0xfbfdfefe, 0xfbfdfeff, +0xfbfdff00, 0xfbfdff01, 0xfbfdff02, 0xfbfdff03, 0xfbfdff04, 0xfbfdff05, 0xfbfdff06, 0xfbfdff07, +0xfbfdfff8, 0xfbfdfff9, 0xfbfdfffa, 0xfbfdfffb, 0xfbfdfffc, 0xfbfdfffd, 0xfbfdfffe, 0xfbfdffff, +0xfbfe0000, 0xfbfe0001, 0xfbfe0002, 0xfbfe0003, 0xfbfe0004, 0xfbfe0005, 0xfbfe0006, 0xfbfe0007, +0xfbfe00f8, 0xfbfe00f9, 0xfbfe00fa, 0xfbfe00fb, 0xfbfe00fc, 0xfbfe00fd, 0xfbfe00fe, 0xfbfe00ff, +0xfbfe0100, 0xfbfe0101, 0xfbfe0102, 0xfbfe0103, 0xfbfe0104, 0xfbfe0105, 0xfbfe0106, 0xfbfe0107, +0xfbfe01f8, 0xfbfe01f9, 0xfbfe01fa, 0xfbfe01fb, 0xfbfe01fc, 0xfbfe01fd, 0xfbfe01fe, 0xfbfe01ff, +0xfbfe0200, 0xfbfe0201, 0xfbfe0202, 0xfbfe0203, 0xfbfe0204, 0xfbfe0205, 0xfbfe0206, 0xfbfe0207, +0xfbfe02f8, 0xfbfe02f9, 0xfbfe02fa, 0xfbfe02fb, 0xfbfe02fc, 0xfbfe02fd, 0xfbfe02fe, 0xfbfe02ff, +0xfbfe0300, 0xfbfe0301, 0xfbfe0302, 0xfbfe0303, 0xfbfe0304, 0xfbfe0305, 0xfbfe0306, 0xfbfe0307, +0xfbfe03f8, 0xfbfe03f9, 0xfbfe03fa, 0xfbfe03fb, 0xfbfe03fc, 0xfbfe03fd, 0xfbfe03fe, 0xfbfe03ff, +0xfbfe0400, 0xfbfe0401, 0xfbfe0402, 0xfbfe0403, 0xfbfe0404, 0xfbfe0405, 0xfbfe0406, 0xfbfe0407, +0xfbfe04f8, 0xfbfe04f9, 0xfbfe04fa, 0xfbfe04fb, 0xfbfe04fc, 0xfbfe04fd, 0xfbfe04fe, 0xfbfe04ff, +0xfbfe0500, 0xfbfe0501, 0xfbfe0502, 0xfbfe0503, 0xfbfe0504, 0xfbfe0505, 0xfbfe0506, 0xfbfe0507, +0xfbfe05f8, 0xfbfe05f9, 0xfbfe05fa, 0xfbfe05fb, 0xfbfe05fc, 0xfbfe05fd, 0xfbfe05fe, 0xfbfe05ff, +0xfbfe0600, 0xfbfe0601, 0xfbfe0602, 0xfbfe0603, 0xfbfe0604, 0xfbfe0605, 0xfbfe0606, 0xfbfe0607, +0xfbfe06f8, 0xfbfe06f9, 0xfbfe06fa, 0xfbfe06fb, 0xfbfe06fc, 0xfbfe06fd, 0xfbfe06fe, 0xfbfe06ff, +0xfbfe0700, 0xfbfe0701, 0xfbfe0702, 0xfbfe0703, 0xfbfe0704, 0xfbfe0705, 0xfbfe0706, 0xfbfe0707, +0xfbfe07f8, 0xfbfe07f9, 0xfbfe07fa, 0xfbfe07fb, 0xfbfe07fc, 0xfbfe07fd, 0xfbfe07fe, 0xfbfe07ff, +0xfbfef800, 0xfbfef801, 0xfbfef802, 0xfbfef803, 0xfbfef804, 0xfbfef805, 0xfbfef806, 0xfbfef807, +0xfbfef8f8, 0xfbfef8f9, 0xfbfef8fa, 0xfbfef8fb, 0xfbfef8fc, 0xfbfef8fd, 0xfbfef8fe, 0xfbfef8ff, +0xfbfef900, 0xfbfef901, 0xfbfef902, 0xfbfef903, 0xfbfef904, 0xfbfef905, 0xfbfef906, 0xfbfef907, +0xfbfef9f8, 0xfbfef9f9, 0xfbfef9fa, 0xfbfef9fb, 0xfbfef9fc, 0xfbfef9fd, 0xfbfef9fe, 0xfbfef9ff, +0xfbfefa00, 0xfbfefa01, 0xfbfefa02, 0xfbfefa03, 0xfbfefa04, 0xfbfefa05, 0xfbfefa06, 0xfbfefa07, +0xfbfefaf8, 0xfbfefaf9, 0xfbfefafa, 0xfbfefafb, 0xfbfefafc, 0xfbfefafd, 0xfbfefafe, 0xfbfefaff, +0xfbfefb00, 0xfbfefb01, 0xfbfefb02, 0xfbfefb03, 0xfbfefb04, 0xfbfefb05, 0xfbfefb06, 0xfbfefb07, +0xfbfefbf8, 0xfbfefbf9, 0xfbfefbfa, 0xfbfefbfb, 0xfbfefbfc, 0xfbfefbfd, 0xfbfefbfe, 0xfbfefbff, +0xfbfefc00, 0xfbfefc01, 0xfbfefc02, 0xfbfefc03, 0xfbfefc04, 0xfbfefc05, 0xfbfefc06, 0xfbfefc07, +0xfbfefcf8, 0xfbfefcf9, 0xfbfefcfa, 0xfbfefcfb, 0xfbfefcfc, 0xfbfefcfd, 0xfbfefcfe, 0xfbfefcff, +0xfbfefd00, 0xfbfefd01, 0xfbfefd02, 0xfbfefd03, 0xfbfefd04, 0xfbfefd05, 0xfbfefd06, 0xfbfefd07, +0xfbfefdf8, 0xfbfefdf9, 0xfbfefdfa, 0xfbfefdfb, 0xfbfefdfc, 0xfbfefdfd, 0xfbfefdfe, 0xfbfefdff, +0xfbfefe00, 0xfbfefe01, 0xfbfefe02, 0xfbfefe03, 0xfbfefe04, 0xfbfefe05, 0xfbfefe06, 0xfbfefe07, +0xfbfefef8, 0xfbfefef9, 0xfbfefefa, 0xfbfefefb, 0xfbfefefc, 0xfbfefefd, 0xfbfefefe, 0xfbfefeff, +0xfbfeff00, 0xfbfeff01, 0xfbfeff02, 0xfbfeff03, 0xfbfeff04, 0xfbfeff05, 0xfbfeff06, 0xfbfeff07, +0xfbfefff8, 0xfbfefff9, 0xfbfefffa, 0xfbfefffb, 0xfbfefffc, 0xfbfefffd, 0xfbfefffe, 0xfbfeffff, +0xfbff0000, 0xfbff0001, 0xfbff0002, 0xfbff0003, 0xfbff0004, 0xfbff0005, 0xfbff0006, 0xfbff0007, +0xfbff00f8, 0xfbff00f9, 0xfbff00fa, 0xfbff00fb, 0xfbff00fc, 0xfbff00fd, 0xfbff00fe, 0xfbff00ff, +0xfbff0100, 0xfbff0101, 0xfbff0102, 0xfbff0103, 0xfbff0104, 0xfbff0105, 0xfbff0106, 0xfbff0107, +0xfbff01f8, 0xfbff01f9, 0xfbff01fa, 0xfbff01fb, 0xfbff01fc, 0xfbff01fd, 0xfbff01fe, 0xfbff01ff, +0xfbff0200, 0xfbff0201, 0xfbff0202, 0xfbff0203, 0xfbff0204, 0xfbff0205, 0xfbff0206, 0xfbff0207, +0xfbff02f8, 0xfbff02f9, 0xfbff02fa, 0xfbff02fb, 0xfbff02fc, 0xfbff02fd, 0xfbff02fe, 0xfbff02ff, +0xfbff0300, 0xfbff0301, 0xfbff0302, 0xfbff0303, 0xfbff0304, 0xfbff0305, 0xfbff0306, 0xfbff0307, +0xfbff03f8, 0xfbff03f9, 0xfbff03fa, 0xfbff03fb, 0xfbff03fc, 0xfbff03fd, 0xfbff03fe, 0xfbff03ff, +0xfbff0400, 0xfbff0401, 0xfbff0402, 0xfbff0403, 0xfbff0404, 0xfbff0405, 0xfbff0406, 0xfbff0407, +0xfbff04f8, 0xfbff04f9, 0xfbff04fa, 0xfbff04fb, 0xfbff04fc, 0xfbff04fd, 0xfbff04fe, 0xfbff04ff, +0xfbff0500, 0xfbff0501, 0xfbff0502, 0xfbff0503, 0xfbff0504, 0xfbff0505, 0xfbff0506, 0xfbff0507, +0xfbff05f8, 0xfbff05f9, 0xfbff05fa, 0xfbff05fb, 0xfbff05fc, 0xfbff05fd, 0xfbff05fe, 0xfbff05ff, +0xfbff0600, 0xfbff0601, 0xfbff0602, 0xfbff0603, 0xfbff0604, 0xfbff0605, 0xfbff0606, 0xfbff0607, +0xfbff06f8, 0xfbff06f9, 0xfbff06fa, 0xfbff06fb, 0xfbff06fc, 0xfbff06fd, 0xfbff06fe, 0xfbff06ff, +0xfbff0700, 0xfbff0701, 0xfbff0702, 0xfbff0703, 0xfbff0704, 0xfbff0705, 0xfbff0706, 0xfbff0707, +0xfbff07f8, 0xfbff07f9, 0xfbff07fa, 0xfbff07fb, 0xfbff07fc, 0xfbff07fd, 0xfbff07fe, 0xfbff07ff, +0xfbfff800, 0xfbfff801, 0xfbfff802, 0xfbfff803, 0xfbfff804, 0xfbfff805, 0xfbfff806, 0xfbfff807, +0xfbfff8f8, 0xfbfff8f9, 0xfbfff8fa, 0xfbfff8fb, 0xfbfff8fc, 0xfbfff8fd, 0xfbfff8fe, 0xfbfff8ff, +0xfbfff900, 0xfbfff901, 0xfbfff902, 0xfbfff903, 0xfbfff904, 0xfbfff905, 0xfbfff906, 0xfbfff907, +0xfbfff9f8, 0xfbfff9f9, 0xfbfff9fa, 0xfbfff9fb, 0xfbfff9fc, 0xfbfff9fd, 0xfbfff9fe, 0xfbfff9ff, +0xfbfffa00, 0xfbfffa01, 0xfbfffa02, 0xfbfffa03, 0xfbfffa04, 0xfbfffa05, 0xfbfffa06, 0xfbfffa07, +0xfbfffaf8, 0xfbfffaf9, 0xfbfffafa, 0xfbfffafb, 0xfbfffafc, 0xfbfffafd, 0xfbfffafe, 0xfbfffaff, +0xfbfffb00, 0xfbfffb01, 0xfbfffb02, 0xfbfffb03, 0xfbfffb04, 0xfbfffb05, 0xfbfffb06, 0xfbfffb07, +0xfbfffbf8, 0xfbfffbf9, 0xfbfffbfa, 0xfbfffbfb, 0xfbfffbfc, 0xfbfffbfd, 0xfbfffbfe, 0xfbfffbff, +0xfbfffc00, 0xfbfffc01, 0xfbfffc02, 0xfbfffc03, 0xfbfffc04, 0xfbfffc05, 0xfbfffc06, 0xfbfffc07, +0xfbfffcf8, 0xfbfffcf9, 0xfbfffcfa, 0xfbfffcfb, 0xfbfffcfc, 0xfbfffcfd, 0xfbfffcfe, 0xfbfffcff, +0xfbfffd00, 0xfbfffd01, 0xfbfffd02, 0xfbfffd03, 0xfbfffd04, 0xfbfffd05, 0xfbfffd06, 0xfbfffd07, +0xfbfffdf8, 0xfbfffdf9, 0xfbfffdfa, 0xfbfffdfb, 0xfbfffdfc, 0xfbfffdfd, 0xfbfffdfe, 0xfbfffdff, +0xfbfffe00, 0xfbfffe01, 0xfbfffe02, 0xfbfffe03, 0xfbfffe04, 0xfbfffe05, 0xfbfffe06, 0xfbfffe07, +0xfbfffef8, 0xfbfffef9, 0xfbfffefa, 0xfbfffefb, 0xfbfffefc, 0xfbfffefd, 0xfbfffefe, 0xfbfffeff, +0xfbffff00, 0xfbffff01, 0xfbffff02, 0xfbffff03, 0xfbffff04, 0xfbffff05, 0xfbffff06, 0xfbffff07, +0xfbfffff8, 0xfbfffff9, 0xfbfffffa, 0xfbfffffb, 0xfbfffffc, 0xfbfffffd, 0xfbfffffe, 0xfbffffff, +0xfc000000, 0xfc000001, 0xfc000002, 0xfc000003, 0xfc000004, 0xfc000005, 0xfc000006, 0xfc000007, +0xfc0000f8, 0xfc0000f9, 0xfc0000fa, 0xfc0000fb, 0xfc0000fc, 0xfc0000fd, 0xfc0000fe, 0xfc0000ff, +0xfc000100, 0xfc000101, 0xfc000102, 0xfc000103, 0xfc000104, 0xfc000105, 0xfc000106, 0xfc000107, +0xfc0001f8, 0xfc0001f9, 0xfc0001fa, 0xfc0001fb, 0xfc0001fc, 0xfc0001fd, 0xfc0001fe, 0xfc0001ff, +0xfc000200, 0xfc000201, 0xfc000202, 0xfc000203, 0xfc000204, 0xfc000205, 0xfc000206, 0xfc000207, +0xfc0002f8, 0xfc0002f9, 0xfc0002fa, 0xfc0002fb, 0xfc0002fc, 0xfc0002fd, 0xfc0002fe, 0xfc0002ff, +0xfc000300, 0xfc000301, 0xfc000302, 0xfc000303, 0xfc000304, 0xfc000305, 0xfc000306, 0xfc000307, +0xfc0003f8, 0xfc0003f9, 0xfc0003fa, 0xfc0003fb, 0xfc0003fc, 0xfc0003fd, 0xfc0003fe, 0xfc0003ff, +0xfc000400, 0xfc000401, 0xfc000402, 0xfc000403, 0xfc000404, 0xfc000405, 0xfc000406, 0xfc000407, +0xfc0004f8, 0xfc0004f9, 0xfc0004fa, 0xfc0004fb, 0xfc0004fc, 0xfc0004fd, 0xfc0004fe, 0xfc0004ff, +0xfc000500, 0xfc000501, 0xfc000502, 0xfc000503, 0xfc000504, 0xfc000505, 0xfc000506, 0xfc000507, +0xfc0005f8, 0xfc0005f9, 0xfc0005fa, 0xfc0005fb, 0xfc0005fc, 0xfc0005fd, 0xfc0005fe, 0xfc0005ff, +0xfc000600, 0xfc000601, 0xfc000602, 0xfc000603, 0xfc000604, 0xfc000605, 0xfc000606, 0xfc000607, +0xfc0006f8, 0xfc0006f9, 0xfc0006fa, 0xfc0006fb, 0xfc0006fc, 0xfc0006fd, 0xfc0006fe, 0xfc0006ff, +0xfc000700, 0xfc000701, 0xfc000702, 0xfc000703, 0xfc000704, 0xfc000705, 0xfc000706, 0xfc000707, +0xfc0007f8, 0xfc0007f9, 0xfc0007fa, 0xfc0007fb, 0xfc0007fc, 0xfc0007fd, 0xfc0007fe, 0xfc0007ff, +0xfc00f800, 0xfc00f801, 0xfc00f802, 0xfc00f803, 0xfc00f804, 0xfc00f805, 0xfc00f806, 0xfc00f807, +0xfc00f8f8, 0xfc00f8f9, 0xfc00f8fa, 0xfc00f8fb, 0xfc00f8fc, 0xfc00f8fd, 0xfc00f8fe, 0xfc00f8ff, +0xfc00f900, 0xfc00f901, 0xfc00f902, 0xfc00f903, 0xfc00f904, 0xfc00f905, 0xfc00f906, 0xfc00f907, +0xfc00f9f8, 0xfc00f9f9, 0xfc00f9fa, 0xfc00f9fb, 0xfc00f9fc, 0xfc00f9fd, 0xfc00f9fe, 0xfc00f9ff, +0xfc00fa00, 0xfc00fa01, 0xfc00fa02, 0xfc00fa03, 0xfc00fa04, 0xfc00fa05, 0xfc00fa06, 0xfc00fa07, +0xfc00faf8, 0xfc00faf9, 0xfc00fafa, 0xfc00fafb, 0xfc00fafc, 0xfc00fafd, 0xfc00fafe, 0xfc00faff, +0xfc00fb00, 0xfc00fb01, 0xfc00fb02, 0xfc00fb03, 0xfc00fb04, 0xfc00fb05, 0xfc00fb06, 0xfc00fb07, +0xfc00fbf8, 0xfc00fbf9, 0xfc00fbfa, 0xfc00fbfb, 0xfc00fbfc, 0xfc00fbfd, 0xfc00fbfe, 0xfc00fbff, +0xfc00fc00, 0xfc00fc01, 0xfc00fc02, 0xfc00fc03, 0xfc00fc04, 0xfc00fc05, 0xfc00fc06, 0xfc00fc07, +0xfc00fcf8, 0xfc00fcf9, 0xfc00fcfa, 0xfc00fcfb, 0xfc00fcfc, 0xfc00fcfd, 0xfc00fcfe, 0xfc00fcff, +0xfc00fd00, 0xfc00fd01, 0xfc00fd02, 0xfc00fd03, 0xfc00fd04, 0xfc00fd05, 0xfc00fd06, 0xfc00fd07, +0xfc00fdf8, 0xfc00fdf9, 0xfc00fdfa, 0xfc00fdfb, 0xfc00fdfc, 0xfc00fdfd, 0xfc00fdfe, 0xfc00fdff, +0xfc00fe00, 0xfc00fe01, 0xfc00fe02, 0xfc00fe03, 0xfc00fe04, 0xfc00fe05, 0xfc00fe06, 0xfc00fe07, +0xfc00fef8, 0xfc00fef9, 0xfc00fefa, 0xfc00fefb, 0xfc00fefc, 0xfc00fefd, 0xfc00fefe, 0xfc00feff, +0xfc00ff00, 0xfc00ff01, 0xfc00ff02, 0xfc00ff03, 0xfc00ff04, 0xfc00ff05, 0xfc00ff06, 0xfc00ff07, +0xfc00fff8, 0xfc00fff9, 0xfc00fffa, 0xfc00fffb, 0xfc00fffc, 0xfc00fffd, 0xfc00fffe, 0xfc00ffff, +0xfc010000, 0xfc010001, 0xfc010002, 0xfc010003, 0xfc010004, 0xfc010005, 0xfc010006, 0xfc010007, +0xfc0100f8, 0xfc0100f9, 0xfc0100fa, 0xfc0100fb, 0xfc0100fc, 0xfc0100fd, 0xfc0100fe, 0xfc0100ff, +0xfc010100, 0xfc010101, 0xfc010102, 0xfc010103, 0xfc010104, 0xfc010105, 0xfc010106, 0xfc010107, +0xfc0101f8, 0xfc0101f9, 0xfc0101fa, 0xfc0101fb, 0xfc0101fc, 0xfc0101fd, 0xfc0101fe, 0xfc0101ff, +0xfc010200, 0xfc010201, 0xfc010202, 0xfc010203, 0xfc010204, 0xfc010205, 0xfc010206, 0xfc010207, +0xfc0102f8, 0xfc0102f9, 0xfc0102fa, 0xfc0102fb, 0xfc0102fc, 0xfc0102fd, 0xfc0102fe, 0xfc0102ff, +0xfc010300, 0xfc010301, 0xfc010302, 0xfc010303, 0xfc010304, 0xfc010305, 0xfc010306, 0xfc010307, +0xfc0103f8, 0xfc0103f9, 0xfc0103fa, 0xfc0103fb, 0xfc0103fc, 0xfc0103fd, 0xfc0103fe, 0xfc0103ff, +0xfc010400, 0xfc010401, 0xfc010402, 0xfc010403, 0xfc010404, 0xfc010405, 0xfc010406, 0xfc010407, +0xfc0104f8, 0xfc0104f9, 0xfc0104fa, 0xfc0104fb, 0xfc0104fc, 0xfc0104fd, 0xfc0104fe, 0xfc0104ff, +0xfc010500, 0xfc010501, 0xfc010502, 0xfc010503, 0xfc010504, 0xfc010505, 0xfc010506, 0xfc010507, +0xfc0105f8, 0xfc0105f9, 0xfc0105fa, 0xfc0105fb, 0xfc0105fc, 0xfc0105fd, 0xfc0105fe, 0xfc0105ff, +0xfc010600, 0xfc010601, 0xfc010602, 0xfc010603, 0xfc010604, 0xfc010605, 0xfc010606, 0xfc010607, +0xfc0106f8, 0xfc0106f9, 0xfc0106fa, 0xfc0106fb, 0xfc0106fc, 0xfc0106fd, 0xfc0106fe, 0xfc0106ff, +0xfc010700, 0xfc010701, 0xfc010702, 0xfc010703, 0xfc010704, 0xfc010705, 0xfc010706, 0xfc010707, +0xfc0107f8, 0xfc0107f9, 0xfc0107fa, 0xfc0107fb, 0xfc0107fc, 0xfc0107fd, 0xfc0107fe, 0xfc0107ff, +0xfc01f800, 0xfc01f801, 0xfc01f802, 0xfc01f803, 0xfc01f804, 0xfc01f805, 0xfc01f806, 0xfc01f807, +0xfc01f8f8, 0xfc01f8f9, 0xfc01f8fa, 0xfc01f8fb, 0xfc01f8fc, 0xfc01f8fd, 0xfc01f8fe, 0xfc01f8ff, +0xfc01f900, 0xfc01f901, 0xfc01f902, 0xfc01f903, 0xfc01f904, 0xfc01f905, 0xfc01f906, 0xfc01f907, +0xfc01f9f8, 0xfc01f9f9, 0xfc01f9fa, 0xfc01f9fb, 0xfc01f9fc, 0xfc01f9fd, 0xfc01f9fe, 0xfc01f9ff, +0xfc01fa00, 0xfc01fa01, 0xfc01fa02, 0xfc01fa03, 0xfc01fa04, 0xfc01fa05, 0xfc01fa06, 0xfc01fa07, +0xfc01faf8, 0xfc01faf9, 0xfc01fafa, 0xfc01fafb, 0xfc01fafc, 0xfc01fafd, 0xfc01fafe, 0xfc01faff, +0xfc01fb00, 0xfc01fb01, 0xfc01fb02, 0xfc01fb03, 0xfc01fb04, 0xfc01fb05, 0xfc01fb06, 0xfc01fb07, +0xfc01fbf8, 0xfc01fbf9, 0xfc01fbfa, 0xfc01fbfb, 0xfc01fbfc, 0xfc01fbfd, 0xfc01fbfe, 0xfc01fbff, +0xfc01fc00, 0xfc01fc01, 0xfc01fc02, 0xfc01fc03, 0xfc01fc04, 0xfc01fc05, 0xfc01fc06, 0xfc01fc07, +0xfc01fcf8, 0xfc01fcf9, 0xfc01fcfa, 0xfc01fcfb, 0xfc01fcfc, 0xfc01fcfd, 0xfc01fcfe, 0xfc01fcff, +0xfc01fd00, 0xfc01fd01, 0xfc01fd02, 0xfc01fd03, 0xfc01fd04, 0xfc01fd05, 0xfc01fd06, 0xfc01fd07, +0xfc01fdf8, 0xfc01fdf9, 0xfc01fdfa, 0xfc01fdfb, 0xfc01fdfc, 0xfc01fdfd, 0xfc01fdfe, 0xfc01fdff, +0xfc01fe00, 0xfc01fe01, 0xfc01fe02, 0xfc01fe03, 0xfc01fe04, 0xfc01fe05, 0xfc01fe06, 0xfc01fe07, +0xfc01fef8, 0xfc01fef9, 0xfc01fefa, 0xfc01fefb, 0xfc01fefc, 0xfc01fefd, 0xfc01fefe, 0xfc01feff, +0xfc01ff00, 0xfc01ff01, 0xfc01ff02, 0xfc01ff03, 0xfc01ff04, 0xfc01ff05, 0xfc01ff06, 0xfc01ff07, +0xfc01fff8, 0xfc01fff9, 0xfc01fffa, 0xfc01fffb, 0xfc01fffc, 0xfc01fffd, 0xfc01fffe, 0xfc01ffff, +0xfc020000, 0xfc020001, 0xfc020002, 0xfc020003, 0xfc020004, 0xfc020005, 0xfc020006, 0xfc020007, +0xfc0200f8, 0xfc0200f9, 0xfc0200fa, 0xfc0200fb, 0xfc0200fc, 0xfc0200fd, 0xfc0200fe, 0xfc0200ff, +0xfc020100, 0xfc020101, 0xfc020102, 0xfc020103, 0xfc020104, 0xfc020105, 0xfc020106, 0xfc020107, +0xfc0201f8, 0xfc0201f9, 0xfc0201fa, 0xfc0201fb, 0xfc0201fc, 0xfc0201fd, 0xfc0201fe, 0xfc0201ff, +0xfc020200, 0xfc020201, 0xfc020202, 0xfc020203, 0xfc020204, 0xfc020205, 0xfc020206, 0xfc020207, +0xfc0202f8, 0xfc0202f9, 0xfc0202fa, 0xfc0202fb, 0xfc0202fc, 0xfc0202fd, 0xfc0202fe, 0xfc0202ff, +0xfc020300, 0xfc020301, 0xfc020302, 0xfc020303, 0xfc020304, 0xfc020305, 0xfc020306, 0xfc020307, +0xfc0203f8, 0xfc0203f9, 0xfc0203fa, 0xfc0203fb, 0xfc0203fc, 0xfc0203fd, 0xfc0203fe, 0xfc0203ff, +0xfc020400, 0xfc020401, 0xfc020402, 0xfc020403, 0xfc020404, 0xfc020405, 0xfc020406, 0xfc020407, +0xfc0204f8, 0xfc0204f9, 0xfc0204fa, 0xfc0204fb, 0xfc0204fc, 0xfc0204fd, 0xfc0204fe, 0xfc0204ff, +0xfc020500, 0xfc020501, 0xfc020502, 0xfc020503, 0xfc020504, 0xfc020505, 0xfc020506, 0xfc020507, +0xfc0205f8, 0xfc0205f9, 0xfc0205fa, 0xfc0205fb, 0xfc0205fc, 0xfc0205fd, 0xfc0205fe, 0xfc0205ff, +0xfc020600, 0xfc020601, 0xfc020602, 0xfc020603, 0xfc020604, 0xfc020605, 0xfc020606, 0xfc020607, +0xfc0206f8, 0xfc0206f9, 0xfc0206fa, 0xfc0206fb, 0xfc0206fc, 0xfc0206fd, 0xfc0206fe, 0xfc0206ff, +0xfc020700, 0xfc020701, 0xfc020702, 0xfc020703, 0xfc020704, 0xfc020705, 0xfc020706, 0xfc020707, +0xfc0207f8, 0xfc0207f9, 0xfc0207fa, 0xfc0207fb, 0xfc0207fc, 0xfc0207fd, 0xfc0207fe, 0xfc0207ff, +0xfc02f800, 0xfc02f801, 0xfc02f802, 0xfc02f803, 0xfc02f804, 0xfc02f805, 0xfc02f806, 0xfc02f807, +0xfc02f8f8, 0xfc02f8f9, 0xfc02f8fa, 0xfc02f8fb, 0xfc02f8fc, 0xfc02f8fd, 0xfc02f8fe, 0xfc02f8ff, +0xfc02f900, 0xfc02f901, 0xfc02f902, 0xfc02f903, 0xfc02f904, 0xfc02f905, 0xfc02f906, 0xfc02f907, +0xfc02f9f8, 0xfc02f9f9, 0xfc02f9fa, 0xfc02f9fb, 0xfc02f9fc, 0xfc02f9fd, 0xfc02f9fe, 0xfc02f9ff, +0xfc02fa00, 0xfc02fa01, 0xfc02fa02, 0xfc02fa03, 0xfc02fa04, 0xfc02fa05, 0xfc02fa06, 0xfc02fa07, +0xfc02faf8, 0xfc02faf9, 0xfc02fafa, 0xfc02fafb, 0xfc02fafc, 0xfc02fafd, 0xfc02fafe, 0xfc02faff, +0xfc02fb00, 0xfc02fb01, 0xfc02fb02, 0xfc02fb03, 0xfc02fb04, 0xfc02fb05, 0xfc02fb06, 0xfc02fb07, +0xfc02fbf8, 0xfc02fbf9, 0xfc02fbfa, 0xfc02fbfb, 0xfc02fbfc, 0xfc02fbfd, 0xfc02fbfe, 0xfc02fbff, +0xfc02fc00, 0xfc02fc01, 0xfc02fc02, 0xfc02fc03, 0xfc02fc04, 0xfc02fc05, 0xfc02fc06, 0xfc02fc07, +0xfc02fcf8, 0xfc02fcf9, 0xfc02fcfa, 0xfc02fcfb, 0xfc02fcfc, 0xfc02fcfd, 0xfc02fcfe, 0xfc02fcff, +0xfc02fd00, 0xfc02fd01, 0xfc02fd02, 0xfc02fd03, 0xfc02fd04, 0xfc02fd05, 0xfc02fd06, 0xfc02fd07, +0xfc02fdf8, 0xfc02fdf9, 0xfc02fdfa, 0xfc02fdfb, 0xfc02fdfc, 0xfc02fdfd, 0xfc02fdfe, 0xfc02fdff, +0xfc02fe00, 0xfc02fe01, 0xfc02fe02, 0xfc02fe03, 0xfc02fe04, 0xfc02fe05, 0xfc02fe06, 0xfc02fe07, +0xfc02fef8, 0xfc02fef9, 0xfc02fefa, 0xfc02fefb, 0xfc02fefc, 0xfc02fefd, 0xfc02fefe, 0xfc02feff, +0xfc02ff00, 0xfc02ff01, 0xfc02ff02, 0xfc02ff03, 0xfc02ff04, 0xfc02ff05, 0xfc02ff06, 0xfc02ff07, +0xfc02fff8, 0xfc02fff9, 0xfc02fffa, 0xfc02fffb, 0xfc02fffc, 0xfc02fffd, 0xfc02fffe, 0xfc02ffff, +0xfc030000, 0xfc030001, 0xfc030002, 0xfc030003, 0xfc030004, 0xfc030005, 0xfc030006, 0xfc030007, +0xfc0300f8, 0xfc0300f9, 0xfc0300fa, 0xfc0300fb, 0xfc0300fc, 0xfc0300fd, 0xfc0300fe, 0xfc0300ff, +0xfc030100, 0xfc030101, 0xfc030102, 0xfc030103, 0xfc030104, 0xfc030105, 0xfc030106, 0xfc030107, +0xfc0301f8, 0xfc0301f9, 0xfc0301fa, 0xfc0301fb, 0xfc0301fc, 0xfc0301fd, 0xfc0301fe, 0xfc0301ff, +0xfc030200, 0xfc030201, 0xfc030202, 0xfc030203, 0xfc030204, 0xfc030205, 0xfc030206, 0xfc030207, +0xfc0302f8, 0xfc0302f9, 0xfc0302fa, 0xfc0302fb, 0xfc0302fc, 0xfc0302fd, 0xfc0302fe, 0xfc0302ff, +0xfc030300, 0xfc030301, 0xfc030302, 0xfc030303, 0xfc030304, 0xfc030305, 0xfc030306, 0xfc030307, +0xfc0303f8, 0xfc0303f9, 0xfc0303fa, 0xfc0303fb, 0xfc0303fc, 0xfc0303fd, 0xfc0303fe, 0xfc0303ff, +0xfc030400, 0xfc030401, 0xfc030402, 0xfc030403, 0xfc030404, 0xfc030405, 0xfc030406, 0xfc030407, +0xfc0304f8, 0xfc0304f9, 0xfc0304fa, 0xfc0304fb, 0xfc0304fc, 0xfc0304fd, 0xfc0304fe, 0xfc0304ff, +0xfc030500, 0xfc030501, 0xfc030502, 0xfc030503, 0xfc030504, 0xfc030505, 0xfc030506, 0xfc030507, +0xfc0305f8, 0xfc0305f9, 0xfc0305fa, 0xfc0305fb, 0xfc0305fc, 0xfc0305fd, 0xfc0305fe, 0xfc0305ff, +0xfc030600, 0xfc030601, 0xfc030602, 0xfc030603, 0xfc030604, 0xfc030605, 0xfc030606, 0xfc030607, +0xfc0306f8, 0xfc0306f9, 0xfc0306fa, 0xfc0306fb, 0xfc0306fc, 0xfc0306fd, 0xfc0306fe, 0xfc0306ff, +0xfc030700, 0xfc030701, 0xfc030702, 0xfc030703, 0xfc030704, 0xfc030705, 0xfc030706, 0xfc030707, +0xfc0307f8, 0xfc0307f9, 0xfc0307fa, 0xfc0307fb, 0xfc0307fc, 0xfc0307fd, 0xfc0307fe, 0xfc0307ff, +0xfc03f800, 0xfc03f801, 0xfc03f802, 0xfc03f803, 0xfc03f804, 0xfc03f805, 0xfc03f806, 0xfc03f807, +0xfc03f8f8, 0xfc03f8f9, 0xfc03f8fa, 0xfc03f8fb, 0xfc03f8fc, 0xfc03f8fd, 0xfc03f8fe, 0xfc03f8ff, +0xfc03f900, 0xfc03f901, 0xfc03f902, 0xfc03f903, 0xfc03f904, 0xfc03f905, 0xfc03f906, 0xfc03f907, +0xfc03f9f8, 0xfc03f9f9, 0xfc03f9fa, 0xfc03f9fb, 0xfc03f9fc, 0xfc03f9fd, 0xfc03f9fe, 0xfc03f9ff, +0xfc03fa00, 0xfc03fa01, 0xfc03fa02, 0xfc03fa03, 0xfc03fa04, 0xfc03fa05, 0xfc03fa06, 0xfc03fa07, +0xfc03faf8, 0xfc03faf9, 0xfc03fafa, 0xfc03fafb, 0xfc03fafc, 0xfc03fafd, 0xfc03fafe, 0xfc03faff, +0xfc03fb00, 0xfc03fb01, 0xfc03fb02, 0xfc03fb03, 0xfc03fb04, 0xfc03fb05, 0xfc03fb06, 0xfc03fb07, +0xfc03fbf8, 0xfc03fbf9, 0xfc03fbfa, 0xfc03fbfb, 0xfc03fbfc, 0xfc03fbfd, 0xfc03fbfe, 0xfc03fbff, +0xfc03fc00, 0xfc03fc01, 0xfc03fc02, 0xfc03fc03, 0xfc03fc04, 0xfc03fc05, 0xfc03fc06, 0xfc03fc07, +0xfc03fcf8, 0xfc03fcf9, 0xfc03fcfa, 0xfc03fcfb, 0xfc03fcfc, 0xfc03fcfd, 0xfc03fcfe, 0xfc03fcff, +0xfc03fd00, 0xfc03fd01, 0xfc03fd02, 0xfc03fd03, 0xfc03fd04, 0xfc03fd05, 0xfc03fd06, 0xfc03fd07, +0xfc03fdf8, 0xfc03fdf9, 0xfc03fdfa, 0xfc03fdfb, 0xfc03fdfc, 0xfc03fdfd, 0xfc03fdfe, 0xfc03fdff, +0xfc03fe00, 0xfc03fe01, 0xfc03fe02, 0xfc03fe03, 0xfc03fe04, 0xfc03fe05, 0xfc03fe06, 0xfc03fe07, +0xfc03fef8, 0xfc03fef9, 0xfc03fefa, 0xfc03fefb, 0xfc03fefc, 0xfc03fefd, 0xfc03fefe, 0xfc03feff, +0xfc03ff00, 0xfc03ff01, 0xfc03ff02, 0xfc03ff03, 0xfc03ff04, 0xfc03ff05, 0xfc03ff06, 0xfc03ff07, +0xfc03fff8, 0xfc03fff9, 0xfc03fffa, 0xfc03fffb, 0xfc03fffc, 0xfc03fffd, 0xfc03fffe, 0xfc03ffff, +0xfc040000, 0xfc040001, 0xfc040002, 0xfc040003, 0xfc040004, 0xfc040005, 0xfc040006, 0xfc040007, +0xfc0400f8, 0xfc0400f9, 0xfc0400fa, 0xfc0400fb, 0xfc0400fc, 0xfc0400fd, 0xfc0400fe, 0xfc0400ff, +0xfc040100, 0xfc040101, 0xfc040102, 0xfc040103, 0xfc040104, 0xfc040105, 0xfc040106, 0xfc040107, +0xfc0401f8, 0xfc0401f9, 0xfc0401fa, 0xfc0401fb, 0xfc0401fc, 0xfc0401fd, 0xfc0401fe, 0xfc0401ff, +0xfc040200, 0xfc040201, 0xfc040202, 0xfc040203, 0xfc040204, 0xfc040205, 0xfc040206, 0xfc040207, +0xfc0402f8, 0xfc0402f9, 0xfc0402fa, 0xfc0402fb, 0xfc0402fc, 0xfc0402fd, 0xfc0402fe, 0xfc0402ff, +0xfc040300, 0xfc040301, 0xfc040302, 0xfc040303, 0xfc040304, 0xfc040305, 0xfc040306, 0xfc040307, +0xfc0403f8, 0xfc0403f9, 0xfc0403fa, 0xfc0403fb, 0xfc0403fc, 0xfc0403fd, 0xfc0403fe, 0xfc0403ff, +0xfc040400, 0xfc040401, 0xfc040402, 0xfc040403, 0xfc040404, 0xfc040405, 0xfc040406, 0xfc040407, +0xfc0404f8, 0xfc0404f9, 0xfc0404fa, 0xfc0404fb, 0xfc0404fc, 0xfc0404fd, 0xfc0404fe, 0xfc0404ff, +0xfc040500, 0xfc040501, 0xfc040502, 0xfc040503, 0xfc040504, 0xfc040505, 0xfc040506, 0xfc040507, +0xfc0405f8, 0xfc0405f9, 0xfc0405fa, 0xfc0405fb, 0xfc0405fc, 0xfc0405fd, 0xfc0405fe, 0xfc0405ff, +0xfc040600, 0xfc040601, 0xfc040602, 0xfc040603, 0xfc040604, 0xfc040605, 0xfc040606, 0xfc040607, +0xfc0406f8, 0xfc0406f9, 0xfc0406fa, 0xfc0406fb, 0xfc0406fc, 0xfc0406fd, 0xfc0406fe, 0xfc0406ff, +0xfc040700, 0xfc040701, 0xfc040702, 0xfc040703, 0xfc040704, 0xfc040705, 0xfc040706, 0xfc040707, +0xfc0407f8, 0xfc0407f9, 0xfc0407fa, 0xfc0407fb, 0xfc0407fc, 0xfc0407fd, 0xfc0407fe, 0xfc0407ff, +0xfc04f800, 0xfc04f801, 0xfc04f802, 0xfc04f803, 0xfc04f804, 0xfc04f805, 0xfc04f806, 0xfc04f807, +0xfc04f8f8, 0xfc04f8f9, 0xfc04f8fa, 0xfc04f8fb, 0xfc04f8fc, 0xfc04f8fd, 0xfc04f8fe, 0xfc04f8ff, +0xfc04f900, 0xfc04f901, 0xfc04f902, 0xfc04f903, 0xfc04f904, 0xfc04f905, 0xfc04f906, 0xfc04f907, +0xfc04f9f8, 0xfc04f9f9, 0xfc04f9fa, 0xfc04f9fb, 0xfc04f9fc, 0xfc04f9fd, 0xfc04f9fe, 0xfc04f9ff, +0xfc04fa00, 0xfc04fa01, 0xfc04fa02, 0xfc04fa03, 0xfc04fa04, 0xfc04fa05, 0xfc04fa06, 0xfc04fa07, +0xfc04faf8, 0xfc04faf9, 0xfc04fafa, 0xfc04fafb, 0xfc04fafc, 0xfc04fafd, 0xfc04fafe, 0xfc04faff, +0xfc04fb00, 0xfc04fb01, 0xfc04fb02, 0xfc04fb03, 0xfc04fb04, 0xfc04fb05, 0xfc04fb06, 0xfc04fb07, +0xfc04fbf8, 0xfc04fbf9, 0xfc04fbfa, 0xfc04fbfb, 0xfc04fbfc, 0xfc04fbfd, 0xfc04fbfe, 0xfc04fbff, +0xfc04fc00, 0xfc04fc01, 0xfc04fc02, 0xfc04fc03, 0xfc04fc04, 0xfc04fc05, 0xfc04fc06, 0xfc04fc07, +0xfc04fcf8, 0xfc04fcf9, 0xfc04fcfa, 0xfc04fcfb, 0xfc04fcfc, 0xfc04fcfd, 0xfc04fcfe, 0xfc04fcff, +0xfc04fd00, 0xfc04fd01, 0xfc04fd02, 0xfc04fd03, 0xfc04fd04, 0xfc04fd05, 0xfc04fd06, 0xfc04fd07, +0xfc04fdf8, 0xfc04fdf9, 0xfc04fdfa, 0xfc04fdfb, 0xfc04fdfc, 0xfc04fdfd, 0xfc04fdfe, 0xfc04fdff, +0xfc04fe00, 0xfc04fe01, 0xfc04fe02, 0xfc04fe03, 0xfc04fe04, 0xfc04fe05, 0xfc04fe06, 0xfc04fe07, +0xfc04fef8, 0xfc04fef9, 0xfc04fefa, 0xfc04fefb, 0xfc04fefc, 0xfc04fefd, 0xfc04fefe, 0xfc04feff, +0xfc04ff00, 0xfc04ff01, 0xfc04ff02, 0xfc04ff03, 0xfc04ff04, 0xfc04ff05, 0xfc04ff06, 0xfc04ff07, +0xfc04fff8, 0xfc04fff9, 0xfc04fffa, 0xfc04fffb, 0xfc04fffc, 0xfc04fffd, 0xfc04fffe, 0xfc04ffff, +0xfc050000, 0xfc050001, 0xfc050002, 0xfc050003, 0xfc050004, 0xfc050005, 0xfc050006, 0xfc050007, +0xfc0500f8, 0xfc0500f9, 0xfc0500fa, 0xfc0500fb, 0xfc0500fc, 0xfc0500fd, 0xfc0500fe, 0xfc0500ff, +0xfc050100, 0xfc050101, 0xfc050102, 0xfc050103, 0xfc050104, 0xfc050105, 0xfc050106, 0xfc050107, +0xfc0501f8, 0xfc0501f9, 0xfc0501fa, 0xfc0501fb, 0xfc0501fc, 0xfc0501fd, 0xfc0501fe, 0xfc0501ff, +0xfc050200, 0xfc050201, 0xfc050202, 0xfc050203, 0xfc050204, 0xfc050205, 0xfc050206, 0xfc050207, +0xfc0502f8, 0xfc0502f9, 0xfc0502fa, 0xfc0502fb, 0xfc0502fc, 0xfc0502fd, 0xfc0502fe, 0xfc0502ff, +0xfc050300, 0xfc050301, 0xfc050302, 0xfc050303, 0xfc050304, 0xfc050305, 0xfc050306, 0xfc050307, +0xfc0503f8, 0xfc0503f9, 0xfc0503fa, 0xfc0503fb, 0xfc0503fc, 0xfc0503fd, 0xfc0503fe, 0xfc0503ff, +0xfc050400, 0xfc050401, 0xfc050402, 0xfc050403, 0xfc050404, 0xfc050405, 0xfc050406, 0xfc050407, +0xfc0504f8, 0xfc0504f9, 0xfc0504fa, 0xfc0504fb, 0xfc0504fc, 0xfc0504fd, 0xfc0504fe, 0xfc0504ff, +0xfc050500, 0xfc050501, 0xfc050502, 0xfc050503, 0xfc050504, 0xfc050505, 0xfc050506, 0xfc050507, +0xfc0505f8, 0xfc0505f9, 0xfc0505fa, 0xfc0505fb, 0xfc0505fc, 0xfc0505fd, 0xfc0505fe, 0xfc0505ff, +0xfc050600, 0xfc050601, 0xfc050602, 0xfc050603, 0xfc050604, 0xfc050605, 0xfc050606, 0xfc050607, +0xfc0506f8, 0xfc0506f9, 0xfc0506fa, 0xfc0506fb, 0xfc0506fc, 0xfc0506fd, 0xfc0506fe, 0xfc0506ff, +0xfc050700, 0xfc050701, 0xfc050702, 0xfc050703, 0xfc050704, 0xfc050705, 0xfc050706, 0xfc050707, +0xfc0507f8, 0xfc0507f9, 0xfc0507fa, 0xfc0507fb, 0xfc0507fc, 0xfc0507fd, 0xfc0507fe, 0xfc0507ff, +0xfc05f800, 0xfc05f801, 0xfc05f802, 0xfc05f803, 0xfc05f804, 0xfc05f805, 0xfc05f806, 0xfc05f807, +0xfc05f8f8, 0xfc05f8f9, 0xfc05f8fa, 0xfc05f8fb, 0xfc05f8fc, 0xfc05f8fd, 0xfc05f8fe, 0xfc05f8ff, +0xfc05f900, 0xfc05f901, 0xfc05f902, 0xfc05f903, 0xfc05f904, 0xfc05f905, 0xfc05f906, 0xfc05f907, +0xfc05f9f8, 0xfc05f9f9, 0xfc05f9fa, 0xfc05f9fb, 0xfc05f9fc, 0xfc05f9fd, 0xfc05f9fe, 0xfc05f9ff, +0xfc05fa00, 0xfc05fa01, 0xfc05fa02, 0xfc05fa03, 0xfc05fa04, 0xfc05fa05, 0xfc05fa06, 0xfc05fa07, +0xfc05faf8, 0xfc05faf9, 0xfc05fafa, 0xfc05fafb, 0xfc05fafc, 0xfc05fafd, 0xfc05fafe, 0xfc05faff, +0xfc05fb00, 0xfc05fb01, 0xfc05fb02, 0xfc05fb03, 0xfc05fb04, 0xfc05fb05, 0xfc05fb06, 0xfc05fb07, +0xfc05fbf8, 0xfc05fbf9, 0xfc05fbfa, 0xfc05fbfb, 0xfc05fbfc, 0xfc05fbfd, 0xfc05fbfe, 0xfc05fbff, +0xfc05fc00, 0xfc05fc01, 0xfc05fc02, 0xfc05fc03, 0xfc05fc04, 0xfc05fc05, 0xfc05fc06, 0xfc05fc07, +0xfc05fcf8, 0xfc05fcf9, 0xfc05fcfa, 0xfc05fcfb, 0xfc05fcfc, 0xfc05fcfd, 0xfc05fcfe, 0xfc05fcff, +0xfc05fd00, 0xfc05fd01, 0xfc05fd02, 0xfc05fd03, 0xfc05fd04, 0xfc05fd05, 0xfc05fd06, 0xfc05fd07, +0xfc05fdf8, 0xfc05fdf9, 0xfc05fdfa, 0xfc05fdfb, 0xfc05fdfc, 0xfc05fdfd, 0xfc05fdfe, 0xfc05fdff, +0xfc05fe00, 0xfc05fe01, 0xfc05fe02, 0xfc05fe03, 0xfc05fe04, 0xfc05fe05, 0xfc05fe06, 0xfc05fe07, +0xfc05fef8, 0xfc05fef9, 0xfc05fefa, 0xfc05fefb, 0xfc05fefc, 0xfc05fefd, 0xfc05fefe, 0xfc05feff, +0xfc05ff00, 0xfc05ff01, 0xfc05ff02, 0xfc05ff03, 0xfc05ff04, 0xfc05ff05, 0xfc05ff06, 0xfc05ff07, +0xfc05fff8, 0xfc05fff9, 0xfc05fffa, 0xfc05fffb, 0xfc05fffc, 0xfc05fffd, 0xfc05fffe, 0xfc05ffff, +0xfc060000, 0xfc060001, 0xfc060002, 0xfc060003, 0xfc060004, 0xfc060005, 0xfc060006, 0xfc060007, +0xfc0600f8, 0xfc0600f9, 0xfc0600fa, 0xfc0600fb, 0xfc0600fc, 0xfc0600fd, 0xfc0600fe, 0xfc0600ff, +0xfc060100, 0xfc060101, 0xfc060102, 0xfc060103, 0xfc060104, 0xfc060105, 0xfc060106, 0xfc060107, +0xfc0601f8, 0xfc0601f9, 0xfc0601fa, 0xfc0601fb, 0xfc0601fc, 0xfc0601fd, 0xfc0601fe, 0xfc0601ff, +0xfc060200, 0xfc060201, 0xfc060202, 0xfc060203, 0xfc060204, 0xfc060205, 0xfc060206, 0xfc060207, +0xfc0602f8, 0xfc0602f9, 0xfc0602fa, 0xfc0602fb, 0xfc0602fc, 0xfc0602fd, 0xfc0602fe, 0xfc0602ff, +0xfc060300, 0xfc060301, 0xfc060302, 0xfc060303, 0xfc060304, 0xfc060305, 0xfc060306, 0xfc060307, +0xfc0603f8, 0xfc0603f9, 0xfc0603fa, 0xfc0603fb, 0xfc0603fc, 0xfc0603fd, 0xfc0603fe, 0xfc0603ff, +0xfc060400, 0xfc060401, 0xfc060402, 0xfc060403, 0xfc060404, 0xfc060405, 0xfc060406, 0xfc060407, +0xfc0604f8, 0xfc0604f9, 0xfc0604fa, 0xfc0604fb, 0xfc0604fc, 0xfc0604fd, 0xfc0604fe, 0xfc0604ff, +0xfc060500, 0xfc060501, 0xfc060502, 0xfc060503, 0xfc060504, 0xfc060505, 0xfc060506, 0xfc060507, +0xfc0605f8, 0xfc0605f9, 0xfc0605fa, 0xfc0605fb, 0xfc0605fc, 0xfc0605fd, 0xfc0605fe, 0xfc0605ff, +0xfc060600, 0xfc060601, 0xfc060602, 0xfc060603, 0xfc060604, 0xfc060605, 0xfc060606, 0xfc060607, +0xfc0606f8, 0xfc0606f9, 0xfc0606fa, 0xfc0606fb, 0xfc0606fc, 0xfc0606fd, 0xfc0606fe, 0xfc0606ff, +0xfc060700, 0xfc060701, 0xfc060702, 0xfc060703, 0xfc060704, 0xfc060705, 0xfc060706, 0xfc060707, +0xfc0607f8, 0xfc0607f9, 0xfc0607fa, 0xfc0607fb, 0xfc0607fc, 0xfc0607fd, 0xfc0607fe, 0xfc0607ff, +0xfc06f800, 0xfc06f801, 0xfc06f802, 0xfc06f803, 0xfc06f804, 0xfc06f805, 0xfc06f806, 0xfc06f807, +0xfc06f8f8, 0xfc06f8f9, 0xfc06f8fa, 0xfc06f8fb, 0xfc06f8fc, 0xfc06f8fd, 0xfc06f8fe, 0xfc06f8ff, +0xfc06f900, 0xfc06f901, 0xfc06f902, 0xfc06f903, 0xfc06f904, 0xfc06f905, 0xfc06f906, 0xfc06f907, +0xfc06f9f8, 0xfc06f9f9, 0xfc06f9fa, 0xfc06f9fb, 0xfc06f9fc, 0xfc06f9fd, 0xfc06f9fe, 0xfc06f9ff, +0xfc06fa00, 0xfc06fa01, 0xfc06fa02, 0xfc06fa03, 0xfc06fa04, 0xfc06fa05, 0xfc06fa06, 0xfc06fa07, +0xfc06faf8, 0xfc06faf9, 0xfc06fafa, 0xfc06fafb, 0xfc06fafc, 0xfc06fafd, 0xfc06fafe, 0xfc06faff, +0xfc06fb00, 0xfc06fb01, 0xfc06fb02, 0xfc06fb03, 0xfc06fb04, 0xfc06fb05, 0xfc06fb06, 0xfc06fb07, +0xfc06fbf8, 0xfc06fbf9, 0xfc06fbfa, 0xfc06fbfb, 0xfc06fbfc, 0xfc06fbfd, 0xfc06fbfe, 0xfc06fbff, +0xfc06fc00, 0xfc06fc01, 0xfc06fc02, 0xfc06fc03, 0xfc06fc04, 0xfc06fc05, 0xfc06fc06, 0xfc06fc07, +0xfc06fcf8, 0xfc06fcf9, 0xfc06fcfa, 0xfc06fcfb, 0xfc06fcfc, 0xfc06fcfd, 0xfc06fcfe, 0xfc06fcff, +0xfc06fd00, 0xfc06fd01, 0xfc06fd02, 0xfc06fd03, 0xfc06fd04, 0xfc06fd05, 0xfc06fd06, 0xfc06fd07, +0xfc06fdf8, 0xfc06fdf9, 0xfc06fdfa, 0xfc06fdfb, 0xfc06fdfc, 0xfc06fdfd, 0xfc06fdfe, 0xfc06fdff, +0xfc06fe00, 0xfc06fe01, 0xfc06fe02, 0xfc06fe03, 0xfc06fe04, 0xfc06fe05, 0xfc06fe06, 0xfc06fe07, +0xfc06fef8, 0xfc06fef9, 0xfc06fefa, 0xfc06fefb, 0xfc06fefc, 0xfc06fefd, 0xfc06fefe, 0xfc06feff, +0xfc06ff00, 0xfc06ff01, 0xfc06ff02, 0xfc06ff03, 0xfc06ff04, 0xfc06ff05, 0xfc06ff06, 0xfc06ff07, +0xfc06fff8, 0xfc06fff9, 0xfc06fffa, 0xfc06fffb, 0xfc06fffc, 0xfc06fffd, 0xfc06fffe, 0xfc06ffff, +0xfc070000, 0xfc070001, 0xfc070002, 0xfc070003, 0xfc070004, 0xfc070005, 0xfc070006, 0xfc070007, +0xfc0700f8, 0xfc0700f9, 0xfc0700fa, 0xfc0700fb, 0xfc0700fc, 0xfc0700fd, 0xfc0700fe, 0xfc0700ff, +0xfc070100, 0xfc070101, 0xfc070102, 0xfc070103, 0xfc070104, 0xfc070105, 0xfc070106, 0xfc070107, +0xfc0701f8, 0xfc0701f9, 0xfc0701fa, 0xfc0701fb, 0xfc0701fc, 0xfc0701fd, 0xfc0701fe, 0xfc0701ff, +0xfc070200, 0xfc070201, 0xfc070202, 0xfc070203, 0xfc070204, 0xfc070205, 0xfc070206, 0xfc070207, +0xfc0702f8, 0xfc0702f9, 0xfc0702fa, 0xfc0702fb, 0xfc0702fc, 0xfc0702fd, 0xfc0702fe, 0xfc0702ff, +0xfc070300, 0xfc070301, 0xfc070302, 0xfc070303, 0xfc070304, 0xfc070305, 0xfc070306, 0xfc070307, +0xfc0703f8, 0xfc0703f9, 0xfc0703fa, 0xfc0703fb, 0xfc0703fc, 0xfc0703fd, 0xfc0703fe, 0xfc0703ff, +0xfc070400, 0xfc070401, 0xfc070402, 0xfc070403, 0xfc070404, 0xfc070405, 0xfc070406, 0xfc070407, +0xfc0704f8, 0xfc0704f9, 0xfc0704fa, 0xfc0704fb, 0xfc0704fc, 0xfc0704fd, 0xfc0704fe, 0xfc0704ff, +0xfc070500, 0xfc070501, 0xfc070502, 0xfc070503, 0xfc070504, 0xfc070505, 0xfc070506, 0xfc070507, +0xfc0705f8, 0xfc0705f9, 0xfc0705fa, 0xfc0705fb, 0xfc0705fc, 0xfc0705fd, 0xfc0705fe, 0xfc0705ff, +0xfc070600, 0xfc070601, 0xfc070602, 0xfc070603, 0xfc070604, 0xfc070605, 0xfc070606, 0xfc070607, +0xfc0706f8, 0xfc0706f9, 0xfc0706fa, 0xfc0706fb, 0xfc0706fc, 0xfc0706fd, 0xfc0706fe, 0xfc0706ff, +0xfc070700, 0xfc070701, 0xfc070702, 0xfc070703, 0xfc070704, 0xfc070705, 0xfc070706, 0xfc070707, +0xfc0707f8, 0xfc0707f9, 0xfc0707fa, 0xfc0707fb, 0xfc0707fc, 0xfc0707fd, 0xfc0707fe, 0xfc0707ff, +0xfc07f800, 0xfc07f801, 0xfc07f802, 0xfc07f803, 0xfc07f804, 0xfc07f805, 0xfc07f806, 0xfc07f807, +0xfc07f8f8, 0xfc07f8f9, 0xfc07f8fa, 0xfc07f8fb, 0xfc07f8fc, 0xfc07f8fd, 0xfc07f8fe, 0xfc07f8ff, +0xfc07f900, 0xfc07f901, 0xfc07f902, 0xfc07f903, 0xfc07f904, 0xfc07f905, 0xfc07f906, 0xfc07f907, +0xfc07f9f8, 0xfc07f9f9, 0xfc07f9fa, 0xfc07f9fb, 0xfc07f9fc, 0xfc07f9fd, 0xfc07f9fe, 0xfc07f9ff, +0xfc07fa00, 0xfc07fa01, 0xfc07fa02, 0xfc07fa03, 0xfc07fa04, 0xfc07fa05, 0xfc07fa06, 0xfc07fa07, +0xfc07faf8, 0xfc07faf9, 0xfc07fafa, 0xfc07fafb, 0xfc07fafc, 0xfc07fafd, 0xfc07fafe, 0xfc07faff, +0xfc07fb00, 0xfc07fb01, 0xfc07fb02, 0xfc07fb03, 0xfc07fb04, 0xfc07fb05, 0xfc07fb06, 0xfc07fb07, +0xfc07fbf8, 0xfc07fbf9, 0xfc07fbfa, 0xfc07fbfb, 0xfc07fbfc, 0xfc07fbfd, 0xfc07fbfe, 0xfc07fbff, +0xfc07fc00, 0xfc07fc01, 0xfc07fc02, 0xfc07fc03, 0xfc07fc04, 0xfc07fc05, 0xfc07fc06, 0xfc07fc07, +0xfc07fcf8, 0xfc07fcf9, 0xfc07fcfa, 0xfc07fcfb, 0xfc07fcfc, 0xfc07fcfd, 0xfc07fcfe, 0xfc07fcff, +0xfc07fd00, 0xfc07fd01, 0xfc07fd02, 0xfc07fd03, 0xfc07fd04, 0xfc07fd05, 0xfc07fd06, 0xfc07fd07, +0xfc07fdf8, 0xfc07fdf9, 0xfc07fdfa, 0xfc07fdfb, 0xfc07fdfc, 0xfc07fdfd, 0xfc07fdfe, 0xfc07fdff, +0xfc07fe00, 0xfc07fe01, 0xfc07fe02, 0xfc07fe03, 0xfc07fe04, 0xfc07fe05, 0xfc07fe06, 0xfc07fe07, +0xfc07fef8, 0xfc07fef9, 0xfc07fefa, 0xfc07fefb, 0xfc07fefc, 0xfc07fefd, 0xfc07fefe, 0xfc07feff, +0xfc07ff00, 0xfc07ff01, 0xfc07ff02, 0xfc07ff03, 0xfc07ff04, 0xfc07ff05, 0xfc07ff06, 0xfc07ff07, +0xfc07fff8, 0xfc07fff9, 0xfc07fffa, 0xfc07fffb, 0xfc07fffc, 0xfc07fffd, 0xfc07fffe, 0xfc07ffff, +0xfcf80000, 0xfcf80001, 0xfcf80002, 0xfcf80003, 0xfcf80004, 0xfcf80005, 0xfcf80006, 0xfcf80007, +0xfcf800f8, 0xfcf800f9, 0xfcf800fa, 0xfcf800fb, 0xfcf800fc, 0xfcf800fd, 0xfcf800fe, 0xfcf800ff, +0xfcf80100, 0xfcf80101, 0xfcf80102, 0xfcf80103, 0xfcf80104, 0xfcf80105, 0xfcf80106, 0xfcf80107, +0xfcf801f8, 0xfcf801f9, 0xfcf801fa, 0xfcf801fb, 0xfcf801fc, 0xfcf801fd, 0xfcf801fe, 0xfcf801ff, +0xfcf80200, 0xfcf80201, 0xfcf80202, 0xfcf80203, 0xfcf80204, 0xfcf80205, 0xfcf80206, 0xfcf80207, +0xfcf802f8, 0xfcf802f9, 0xfcf802fa, 0xfcf802fb, 0xfcf802fc, 0xfcf802fd, 0xfcf802fe, 0xfcf802ff, +0xfcf80300, 0xfcf80301, 0xfcf80302, 0xfcf80303, 0xfcf80304, 0xfcf80305, 0xfcf80306, 0xfcf80307, +0xfcf803f8, 0xfcf803f9, 0xfcf803fa, 0xfcf803fb, 0xfcf803fc, 0xfcf803fd, 0xfcf803fe, 0xfcf803ff, +0xfcf80400, 0xfcf80401, 0xfcf80402, 0xfcf80403, 0xfcf80404, 0xfcf80405, 0xfcf80406, 0xfcf80407, +0xfcf804f8, 0xfcf804f9, 0xfcf804fa, 0xfcf804fb, 0xfcf804fc, 0xfcf804fd, 0xfcf804fe, 0xfcf804ff, +0xfcf80500, 0xfcf80501, 0xfcf80502, 0xfcf80503, 0xfcf80504, 0xfcf80505, 0xfcf80506, 0xfcf80507, +0xfcf805f8, 0xfcf805f9, 0xfcf805fa, 0xfcf805fb, 0xfcf805fc, 0xfcf805fd, 0xfcf805fe, 0xfcf805ff, +0xfcf80600, 0xfcf80601, 0xfcf80602, 0xfcf80603, 0xfcf80604, 0xfcf80605, 0xfcf80606, 0xfcf80607, +0xfcf806f8, 0xfcf806f9, 0xfcf806fa, 0xfcf806fb, 0xfcf806fc, 0xfcf806fd, 0xfcf806fe, 0xfcf806ff, +0xfcf80700, 0xfcf80701, 0xfcf80702, 0xfcf80703, 0xfcf80704, 0xfcf80705, 0xfcf80706, 0xfcf80707, +0xfcf807f8, 0xfcf807f9, 0xfcf807fa, 0xfcf807fb, 0xfcf807fc, 0xfcf807fd, 0xfcf807fe, 0xfcf807ff, +0xfcf8f800, 0xfcf8f801, 0xfcf8f802, 0xfcf8f803, 0xfcf8f804, 0xfcf8f805, 0xfcf8f806, 0xfcf8f807, +0xfcf8f8f8, 0xfcf8f8f9, 0xfcf8f8fa, 0xfcf8f8fb, 0xfcf8f8fc, 0xfcf8f8fd, 0xfcf8f8fe, 0xfcf8f8ff, +0xfcf8f900, 0xfcf8f901, 0xfcf8f902, 0xfcf8f903, 0xfcf8f904, 0xfcf8f905, 0xfcf8f906, 0xfcf8f907, +0xfcf8f9f8, 0xfcf8f9f9, 0xfcf8f9fa, 0xfcf8f9fb, 0xfcf8f9fc, 0xfcf8f9fd, 0xfcf8f9fe, 0xfcf8f9ff, +0xfcf8fa00, 0xfcf8fa01, 0xfcf8fa02, 0xfcf8fa03, 0xfcf8fa04, 0xfcf8fa05, 0xfcf8fa06, 0xfcf8fa07, +0xfcf8faf8, 0xfcf8faf9, 0xfcf8fafa, 0xfcf8fafb, 0xfcf8fafc, 0xfcf8fafd, 0xfcf8fafe, 0xfcf8faff, +0xfcf8fb00, 0xfcf8fb01, 0xfcf8fb02, 0xfcf8fb03, 0xfcf8fb04, 0xfcf8fb05, 0xfcf8fb06, 0xfcf8fb07, +0xfcf8fbf8, 0xfcf8fbf9, 0xfcf8fbfa, 0xfcf8fbfb, 0xfcf8fbfc, 0xfcf8fbfd, 0xfcf8fbfe, 0xfcf8fbff, +0xfcf8fc00, 0xfcf8fc01, 0xfcf8fc02, 0xfcf8fc03, 0xfcf8fc04, 0xfcf8fc05, 0xfcf8fc06, 0xfcf8fc07, +0xfcf8fcf8, 0xfcf8fcf9, 0xfcf8fcfa, 0xfcf8fcfb, 0xfcf8fcfc, 0xfcf8fcfd, 0xfcf8fcfe, 0xfcf8fcff, +0xfcf8fd00, 0xfcf8fd01, 0xfcf8fd02, 0xfcf8fd03, 0xfcf8fd04, 0xfcf8fd05, 0xfcf8fd06, 0xfcf8fd07, +0xfcf8fdf8, 0xfcf8fdf9, 0xfcf8fdfa, 0xfcf8fdfb, 0xfcf8fdfc, 0xfcf8fdfd, 0xfcf8fdfe, 0xfcf8fdff, +0xfcf8fe00, 0xfcf8fe01, 0xfcf8fe02, 0xfcf8fe03, 0xfcf8fe04, 0xfcf8fe05, 0xfcf8fe06, 0xfcf8fe07, +0xfcf8fef8, 0xfcf8fef9, 0xfcf8fefa, 0xfcf8fefb, 0xfcf8fefc, 0xfcf8fefd, 0xfcf8fefe, 0xfcf8feff, +0xfcf8ff00, 0xfcf8ff01, 0xfcf8ff02, 0xfcf8ff03, 0xfcf8ff04, 0xfcf8ff05, 0xfcf8ff06, 0xfcf8ff07, +0xfcf8fff8, 0xfcf8fff9, 0xfcf8fffa, 0xfcf8fffb, 0xfcf8fffc, 0xfcf8fffd, 0xfcf8fffe, 0xfcf8ffff, +0xfcf90000, 0xfcf90001, 0xfcf90002, 0xfcf90003, 0xfcf90004, 0xfcf90005, 0xfcf90006, 0xfcf90007, +0xfcf900f8, 0xfcf900f9, 0xfcf900fa, 0xfcf900fb, 0xfcf900fc, 0xfcf900fd, 0xfcf900fe, 0xfcf900ff, +0xfcf90100, 0xfcf90101, 0xfcf90102, 0xfcf90103, 0xfcf90104, 0xfcf90105, 0xfcf90106, 0xfcf90107, +0xfcf901f8, 0xfcf901f9, 0xfcf901fa, 0xfcf901fb, 0xfcf901fc, 0xfcf901fd, 0xfcf901fe, 0xfcf901ff, +0xfcf90200, 0xfcf90201, 0xfcf90202, 0xfcf90203, 0xfcf90204, 0xfcf90205, 0xfcf90206, 0xfcf90207, +0xfcf902f8, 0xfcf902f9, 0xfcf902fa, 0xfcf902fb, 0xfcf902fc, 0xfcf902fd, 0xfcf902fe, 0xfcf902ff, +0xfcf90300, 0xfcf90301, 0xfcf90302, 0xfcf90303, 0xfcf90304, 0xfcf90305, 0xfcf90306, 0xfcf90307, +0xfcf903f8, 0xfcf903f9, 0xfcf903fa, 0xfcf903fb, 0xfcf903fc, 0xfcf903fd, 0xfcf903fe, 0xfcf903ff, +0xfcf90400, 0xfcf90401, 0xfcf90402, 0xfcf90403, 0xfcf90404, 0xfcf90405, 0xfcf90406, 0xfcf90407, +0xfcf904f8, 0xfcf904f9, 0xfcf904fa, 0xfcf904fb, 0xfcf904fc, 0xfcf904fd, 0xfcf904fe, 0xfcf904ff, +0xfcf90500, 0xfcf90501, 0xfcf90502, 0xfcf90503, 0xfcf90504, 0xfcf90505, 0xfcf90506, 0xfcf90507, +0xfcf905f8, 0xfcf905f9, 0xfcf905fa, 0xfcf905fb, 0xfcf905fc, 0xfcf905fd, 0xfcf905fe, 0xfcf905ff, +0xfcf90600, 0xfcf90601, 0xfcf90602, 0xfcf90603, 0xfcf90604, 0xfcf90605, 0xfcf90606, 0xfcf90607, +0xfcf906f8, 0xfcf906f9, 0xfcf906fa, 0xfcf906fb, 0xfcf906fc, 0xfcf906fd, 0xfcf906fe, 0xfcf906ff, +0xfcf90700, 0xfcf90701, 0xfcf90702, 0xfcf90703, 0xfcf90704, 0xfcf90705, 0xfcf90706, 0xfcf90707, +0xfcf907f8, 0xfcf907f9, 0xfcf907fa, 0xfcf907fb, 0xfcf907fc, 0xfcf907fd, 0xfcf907fe, 0xfcf907ff, +0xfcf9f800, 0xfcf9f801, 0xfcf9f802, 0xfcf9f803, 0xfcf9f804, 0xfcf9f805, 0xfcf9f806, 0xfcf9f807, +0xfcf9f8f8, 0xfcf9f8f9, 0xfcf9f8fa, 0xfcf9f8fb, 0xfcf9f8fc, 0xfcf9f8fd, 0xfcf9f8fe, 0xfcf9f8ff, +0xfcf9f900, 0xfcf9f901, 0xfcf9f902, 0xfcf9f903, 0xfcf9f904, 0xfcf9f905, 0xfcf9f906, 0xfcf9f907, +0xfcf9f9f8, 0xfcf9f9f9, 0xfcf9f9fa, 0xfcf9f9fb, 0xfcf9f9fc, 0xfcf9f9fd, 0xfcf9f9fe, 0xfcf9f9ff, +0xfcf9fa00, 0xfcf9fa01, 0xfcf9fa02, 0xfcf9fa03, 0xfcf9fa04, 0xfcf9fa05, 0xfcf9fa06, 0xfcf9fa07, +0xfcf9faf8, 0xfcf9faf9, 0xfcf9fafa, 0xfcf9fafb, 0xfcf9fafc, 0xfcf9fafd, 0xfcf9fafe, 0xfcf9faff, +0xfcf9fb00, 0xfcf9fb01, 0xfcf9fb02, 0xfcf9fb03, 0xfcf9fb04, 0xfcf9fb05, 0xfcf9fb06, 0xfcf9fb07, +0xfcf9fbf8, 0xfcf9fbf9, 0xfcf9fbfa, 0xfcf9fbfb, 0xfcf9fbfc, 0xfcf9fbfd, 0xfcf9fbfe, 0xfcf9fbff, +0xfcf9fc00, 0xfcf9fc01, 0xfcf9fc02, 0xfcf9fc03, 0xfcf9fc04, 0xfcf9fc05, 0xfcf9fc06, 0xfcf9fc07, +0xfcf9fcf8, 0xfcf9fcf9, 0xfcf9fcfa, 0xfcf9fcfb, 0xfcf9fcfc, 0xfcf9fcfd, 0xfcf9fcfe, 0xfcf9fcff, +0xfcf9fd00, 0xfcf9fd01, 0xfcf9fd02, 0xfcf9fd03, 0xfcf9fd04, 0xfcf9fd05, 0xfcf9fd06, 0xfcf9fd07, +0xfcf9fdf8, 0xfcf9fdf9, 0xfcf9fdfa, 0xfcf9fdfb, 0xfcf9fdfc, 0xfcf9fdfd, 0xfcf9fdfe, 0xfcf9fdff, +0xfcf9fe00, 0xfcf9fe01, 0xfcf9fe02, 0xfcf9fe03, 0xfcf9fe04, 0xfcf9fe05, 0xfcf9fe06, 0xfcf9fe07, +0xfcf9fef8, 0xfcf9fef9, 0xfcf9fefa, 0xfcf9fefb, 0xfcf9fefc, 0xfcf9fefd, 0xfcf9fefe, 0xfcf9feff, +0xfcf9ff00, 0xfcf9ff01, 0xfcf9ff02, 0xfcf9ff03, 0xfcf9ff04, 0xfcf9ff05, 0xfcf9ff06, 0xfcf9ff07, +0xfcf9fff8, 0xfcf9fff9, 0xfcf9fffa, 0xfcf9fffb, 0xfcf9fffc, 0xfcf9fffd, 0xfcf9fffe, 0xfcf9ffff, +0xfcfa0000, 0xfcfa0001, 0xfcfa0002, 0xfcfa0003, 0xfcfa0004, 0xfcfa0005, 0xfcfa0006, 0xfcfa0007, +0xfcfa00f8, 0xfcfa00f9, 0xfcfa00fa, 0xfcfa00fb, 0xfcfa00fc, 0xfcfa00fd, 0xfcfa00fe, 0xfcfa00ff, +0xfcfa0100, 0xfcfa0101, 0xfcfa0102, 0xfcfa0103, 0xfcfa0104, 0xfcfa0105, 0xfcfa0106, 0xfcfa0107, +0xfcfa01f8, 0xfcfa01f9, 0xfcfa01fa, 0xfcfa01fb, 0xfcfa01fc, 0xfcfa01fd, 0xfcfa01fe, 0xfcfa01ff, +0xfcfa0200, 0xfcfa0201, 0xfcfa0202, 0xfcfa0203, 0xfcfa0204, 0xfcfa0205, 0xfcfa0206, 0xfcfa0207, +0xfcfa02f8, 0xfcfa02f9, 0xfcfa02fa, 0xfcfa02fb, 0xfcfa02fc, 0xfcfa02fd, 0xfcfa02fe, 0xfcfa02ff, +0xfcfa0300, 0xfcfa0301, 0xfcfa0302, 0xfcfa0303, 0xfcfa0304, 0xfcfa0305, 0xfcfa0306, 0xfcfa0307, +0xfcfa03f8, 0xfcfa03f9, 0xfcfa03fa, 0xfcfa03fb, 0xfcfa03fc, 0xfcfa03fd, 0xfcfa03fe, 0xfcfa03ff, +0xfcfa0400, 0xfcfa0401, 0xfcfa0402, 0xfcfa0403, 0xfcfa0404, 0xfcfa0405, 0xfcfa0406, 0xfcfa0407, +0xfcfa04f8, 0xfcfa04f9, 0xfcfa04fa, 0xfcfa04fb, 0xfcfa04fc, 0xfcfa04fd, 0xfcfa04fe, 0xfcfa04ff, +0xfcfa0500, 0xfcfa0501, 0xfcfa0502, 0xfcfa0503, 0xfcfa0504, 0xfcfa0505, 0xfcfa0506, 0xfcfa0507, +0xfcfa05f8, 0xfcfa05f9, 0xfcfa05fa, 0xfcfa05fb, 0xfcfa05fc, 0xfcfa05fd, 0xfcfa05fe, 0xfcfa05ff, +0xfcfa0600, 0xfcfa0601, 0xfcfa0602, 0xfcfa0603, 0xfcfa0604, 0xfcfa0605, 0xfcfa0606, 0xfcfa0607, +0xfcfa06f8, 0xfcfa06f9, 0xfcfa06fa, 0xfcfa06fb, 0xfcfa06fc, 0xfcfa06fd, 0xfcfa06fe, 0xfcfa06ff, +0xfcfa0700, 0xfcfa0701, 0xfcfa0702, 0xfcfa0703, 0xfcfa0704, 0xfcfa0705, 0xfcfa0706, 0xfcfa0707, +0xfcfa07f8, 0xfcfa07f9, 0xfcfa07fa, 0xfcfa07fb, 0xfcfa07fc, 0xfcfa07fd, 0xfcfa07fe, 0xfcfa07ff, +0xfcfaf800, 0xfcfaf801, 0xfcfaf802, 0xfcfaf803, 0xfcfaf804, 0xfcfaf805, 0xfcfaf806, 0xfcfaf807, +0xfcfaf8f8, 0xfcfaf8f9, 0xfcfaf8fa, 0xfcfaf8fb, 0xfcfaf8fc, 0xfcfaf8fd, 0xfcfaf8fe, 0xfcfaf8ff, +0xfcfaf900, 0xfcfaf901, 0xfcfaf902, 0xfcfaf903, 0xfcfaf904, 0xfcfaf905, 0xfcfaf906, 0xfcfaf907, +0xfcfaf9f8, 0xfcfaf9f9, 0xfcfaf9fa, 0xfcfaf9fb, 0xfcfaf9fc, 0xfcfaf9fd, 0xfcfaf9fe, 0xfcfaf9ff, +0xfcfafa00, 0xfcfafa01, 0xfcfafa02, 0xfcfafa03, 0xfcfafa04, 0xfcfafa05, 0xfcfafa06, 0xfcfafa07, +0xfcfafaf8, 0xfcfafaf9, 0xfcfafafa, 0xfcfafafb, 0xfcfafafc, 0xfcfafafd, 0xfcfafafe, 0xfcfafaff, +0xfcfafb00, 0xfcfafb01, 0xfcfafb02, 0xfcfafb03, 0xfcfafb04, 0xfcfafb05, 0xfcfafb06, 0xfcfafb07, +0xfcfafbf8, 0xfcfafbf9, 0xfcfafbfa, 0xfcfafbfb, 0xfcfafbfc, 0xfcfafbfd, 0xfcfafbfe, 0xfcfafbff, +0xfcfafc00, 0xfcfafc01, 0xfcfafc02, 0xfcfafc03, 0xfcfafc04, 0xfcfafc05, 0xfcfafc06, 0xfcfafc07, +0xfcfafcf8, 0xfcfafcf9, 0xfcfafcfa, 0xfcfafcfb, 0xfcfafcfc, 0xfcfafcfd, 0xfcfafcfe, 0xfcfafcff, +0xfcfafd00, 0xfcfafd01, 0xfcfafd02, 0xfcfafd03, 0xfcfafd04, 0xfcfafd05, 0xfcfafd06, 0xfcfafd07, +0xfcfafdf8, 0xfcfafdf9, 0xfcfafdfa, 0xfcfafdfb, 0xfcfafdfc, 0xfcfafdfd, 0xfcfafdfe, 0xfcfafdff, +0xfcfafe00, 0xfcfafe01, 0xfcfafe02, 0xfcfafe03, 0xfcfafe04, 0xfcfafe05, 0xfcfafe06, 0xfcfafe07, +0xfcfafef8, 0xfcfafef9, 0xfcfafefa, 0xfcfafefb, 0xfcfafefc, 0xfcfafefd, 0xfcfafefe, 0xfcfafeff, +0xfcfaff00, 0xfcfaff01, 0xfcfaff02, 0xfcfaff03, 0xfcfaff04, 0xfcfaff05, 0xfcfaff06, 0xfcfaff07, +0xfcfafff8, 0xfcfafff9, 0xfcfafffa, 0xfcfafffb, 0xfcfafffc, 0xfcfafffd, 0xfcfafffe, 0xfcfaffff, +0xfcfb0000, 0xfcfb0001, 0xfcfb0002, 0xfcfb0003, 0xfcfb0004, 0xfcfb0005, 0xfcfb0006, 0xfcfb0007, +0xfcfb00f8, 0xfcfb00f9, 0xfcfb00fa, 0xfcfb00fb, 0xfcfb00fc, 0xfcfb00fd, 0xfcfb00fe, 0xfcfb00ff, +0xfcfb0100, 0xfcfb0101, 0xfcfb0102, 0xfcfb0103, 0xfcfb0104, 0xfcfb0105, 0xfcfb0106, 0xfcfb0107, +0xfcfb01f8, 0xfcfb01f9, 0xfcfb01fa, 0xfcfb01fb, 0xfcfb01fc, 0xfcfb01fd, 0xfcfb01fe, 0xfcfb01ff, +0xfcfb0200, 0xfcfb0201, 0xfcfb0202, 0xfcfb0203, 0xfcfb0204, 0xfcfb0205, 0xfcfb0206, 0xfcfb0207, +0xfcfb02f8, 0xfcfb02f9, 0xfcfb02fa, 0xfcfb02fb, 0xfcfb02fc, 0xfcfb02fd, 0xfcfb02fe, 0xfcfb02ff, +0xfcfb0300, 0xfcfb0301, 0xfcfb0302, 0xfcfb0303, 0xfcfb0304, 0xfcfb0305, 0xfcfb0306, 0xfcfb0307, +0xfcfb03f8, 0xfcfb03f9, 0xfcfb03fa, 0xfcfb03fb, 0xfcfb03fc, 0xfcfb03fd, 0xfcfb03fe, 0xfcfb03ff, +0xfcfb0400, 0xfcfb0401, 0xfcfb0402, 0xfcfb0403, 0xfcfb0404, 0xfcfb0405, 0xfcfb0406, 0xfcfb0407, +0xfcfb04f8, 0xfcfb04f9, 0xfcfb04fa, 0xfcfb04fb, 0xfcfb04fc, 0xfcfb04fd, 0xfcfb04fe, 0xfcfb04ff, +0xfcfb0500, 0xfcfb0501, 0xfcfb0502, 0xfcfb0503, 0xfcfb0504, 0xfcfb0505, 0xfcfb0506, 0xfcfb0507, +0xfcfb05f8, 0xfcfb05f9, 0xfcfb05fa, 0xfcfb05fb, 0xfcfb05fc, 0xfcfb05fd, 0xfcfb05fe, 0xfcfb05ff, +0xfcfb0600, 0xfcfb0601, 0xfcfb0602, 0xfcfb0603, 0xfcfb0604, 0xfcfb0605, 0xfcfb0606, 0xfcfb0607, +0xfcfb06f8, 0xfcfb06f9, 0xfcfb06fa, 0xfcfb06fb, 0xfcfb06fc, 0xfcfb06fd, 0xfcfb06fe, 0xfcfb06ff, +0xfcfb0700, 0xfcfb0701, 0xfcfb0702, 0xfcfb0703, 0xfcfb0704, 0xfcfb0705, 0xfcfb0706, 0xfcfb0707, +0xfcfb07f8, 0xfcfb07f9, 0xfcfb07fa, 0xfcfb07fb, 0xfcfb07fc, 0xfcfb07fd, 0xfcfb07fe, 0xfcfb07ff, +0xfcfbf800, 0xfcfbf801, 0xfcfbf802, 0xfcfbf803, 0xfcfbf804, 0xfcfbf805, 0xfcfbf806, 0xfcfbf807, +0xfcfbf8f8, 0xfcfbf8f9, 0xfcfbf8fa, 0xfcfbf8fb, 0xfcfbf8fc, 0xfcfbf8fd, 0xfcfbf8fe, 0xfcfbf8ff, +0xfcfbf900, 0xfcfbf901, 0xfcfbf902, 0xfcfbf903, 0xfcfbf904, 0xfcfbf905, 0xfcfbf906, 0xfcfbf907, +0xfcfbf9f8, 0xfcfbf9f9, 0xfcfbf9fa, 0xfcfbf9fb, 0xfcfbf9fc, 0xfcfbf9fd, 0xfcfbf9fe, 0xfcfbf9ff, +0xfcfbfa00, 0xfcfbfa01, 0xfcfbfa02, 0xfcfbfa03, 0xfcfbfa04, 0xfcfbfa05, 0xfcfbfa06, 0xfcfbfa07, +0xfcfbfaf8, 0xfcfbfaf9, 0xfcfbfafa, 0xfcfbfafb, 0xfcfbfafc, 0xfcfbfafd, 0xfcfbfafe, 0xfcfbfaff, +0xfcfbfb00, 0xfcfbfb01, 0xfcfbfb02, 0xfcfbfb03, 0xfcfbfb04, 0xfcfbfb05, 0xfcfbfb06, 0xfcfbfb07, +0xfcfbfbf8, 0xfcfbfbf9, 0xfcfbfbfa, 0xfcfbfbfb, 0xfcfbfbfc, 0xfcfbfbfd, 0xfcfbfbfe, 0xfcfbfbff, +0xfcfbfc00, 0xfcfbfc01, 0xfcfbfc02, 0xfcfbfc03, 0xfcfbfc04, 0xfcfbfc05, 0xfcfbfc06, 0xfcfbfc07, +0xfcfbfcf8, 0xfcfbfcf9, 0xfcfbfcfa, 0xfcfbfcfb, 0xfcfbfcfc, 0xfcfbfcfd, 0xfcfbfcfe, 0xfcfbfcff, +0xfcfbfd00, 0xfcfbfd01, 0xfcfbfd02, 0xfcfbfd03, 0xfcfbfd04, 0xfcfbfd05, 0xfcfbfd06, 0xfcfbfd07, +0xfcfbfdf8, 0xfcfbfdf9, 0xfcfbfdfa, 0xfcfbfdfb, 0xfcfbfdfc, 0xfcfbfdfd, 0xfcfbfdfe, 0xfcfbfdff, +0xfcfbfe00, 0xfcfbfe01, 0xfcfbfe02, 0xfcfbfe03, 0xfcfbfe04, 0xfcfbfe05, 0xfcfbfe06, 0xfcfbfe07, +0xfcfbfef8, 0xfcfbfef9, 0xfcfbfefa, 0xfcfbfefb, 0xfcfbfefc, 0xfcfbfefd, 0xfcfbfefe, 0xfcfbfeff, +0xfcfbff00, 0xfcfbff01, 0xfcfbff02, 0xfcfbff03, 0xfcfbff04, 0xfcfbff05, 0xfcfbff06, 0xfcfbff07, +0xfcfbfff8, 0xfcfbfff9, 0xfcfbfffa, 0xfcfbfffb, 0xfcfbfffc, 0xfcfbfffd, 0xfcfbfffe, 0xfcfbffff, +0xfcfc0000, 0xfcfc0001, 0xfcfc0002, 0xfcfc0003, 0xfcfc0004, 0xfcfc0005, 0xfcfc0006, 0xfcfc0007, +0xfcfc00f8, 0xfcfc00f9, 0xfcfc00fa, 0xfcfc00fb, 0xfcfc00fc, 0xfcfc00fd, 0xfcfc00fe, 0xfcfc00ff, +0xfcfc0100, 0xfcfc0101, 0xfcfc0102, 0xfcfc0103, 0xfcfc0104, 0xfcfc0105, 0xfcfc0106, 0xfcfc0107, +0xfcfc01f8, 0xfcfc01f9, 0xfcfc01fa, 0xfcfc01fb, 0xfcfc01fc, 0xfcfc01fd, 0xfcfc01fe, 0xfcfc01ff, +0xfcfc0200, 0xfcfc0201, 0xfcfc0202, 0xfcfc0203, 0xfcfc0204, 0xfcfc0205, 0xfcfc0206, 0xfcfc0207, +0xfcfc02f8, 0xfcfc02f9, 0xfcfc02fa, 0xfcfc02fb, 0xfcfc02fc, 0xfcfc02fd, 0xfcfc02fe, 0xfcfc02ff, +0xfcfc0300, 0xfcfc0301, 0xfcfc0302, 0xfcfc0303, 0xfcfc0304, 0xfcfc0305, 0xfcfc0306, 0xfcfc0307, +0xfcfc03f8, 0xfcfc03f9, 0xfcfc03fa, 0xfcfc03fb, 0xfcfc03fc, 0xfcfc03fd, 0xfcfc03fe, 0xfcfc03ff, +0xfcfc0400, 0xfcfc0401, 0xfcfc0402, 0xfcfc0403, 0xfcfc0404, 0xfcfc0405, 0xfcfc0406, 0xfcfc0407, +0xfcfc04f8, 0xfcfc04f9, 0xfcfc04fa, 0xfcfc04fb, 0xfcfc04fc, 0xfcfc04fd, 0xfcfc04fe, 0xfcfc04ff, +0xfcfc0500, 0xfcfc0501, 0xfcfc0502, 0xfcfc0503, 0xfcfc0504, 0xfcfc0505, 0xfcfc0506, 0xfcfc0507, +0xfcfc05f8, 0xfcfc05f9, 0xfcfc05fa, 0xfcfc05fb, 0xfcfc05fc, 0xfcfc05fd, 0xfcfc05fe, 0xfcfc05ff, +0xfcfc0600, 0xfcfc0601, 0xfcfc0602, 0xfcfc0603, 0xfcfc0604, 0xfcfc0605, 0xfcfc0606, 0xfcfc0607, +0xfcfc06f8, 0xfcfc06f9, 0xfcfc06fa, 0xfcfc06fb, 0xfcfc06fc, 0xfcfc06fd, 0xfcfc06fe, 0xfcfc06ff, +0xfcfc0700, 0xfcfc0701, 0xfcfc0702, 0xfcfc0703, 0xfcfc0704, 0xfcfc0705, 0xfcfc0706, 0xfcfc0707, +0xfcfc07f8, 0xfcfc07f9, 0xfcfc07fa, 0xfcfc07fb, 0xfcfc07fc, 0xfcfc07fd, 0xfcfc07fe, 0xfcfc07ff, +0xfcfcf800, 0xfcfcf801, 0xfcfcf802, 0xfcfcf803, 0xfcfcf804, 0xfcfcf805, 0xfcfcf806, 0xfcfcf807, +0xfcfcf8f8, 0xfcfcf8f9, 0xfcfcf8fa, 0xfcfcf8fb, 0xfcfcf8fc, 0xfcfcf8fd, 0xfcfcf8fe, 0xfcfcf8ff, +0xfcfcf900, 0xfcfcf901, 0xfcfcf902, 0xfcfcf903, 0xfcfcf904, 0xfcfcf905, 0xfcfcf906, 0xfcfcf907, +0xfcfcf9f8, 0xfcfcf9f9, 0xfcfcf9fa, 0xfcfcf9fb, 0xfcfcf9fc, 0xfcfcf9fd, 0xfcfcf9fe, 0xfcfcf9ff, +0xfcfcfa00, 0xfcfcfa01, 0xfcfcfa02, 0xfcfcfa03, 0xfcfcfa04, 0xfcfcfa05, 0xfcfcfa06, 0xfcfcfa07, +0xfcfcfaf8, 0xfcfcfaf9, 0xfcfcfafa, 0xfcfcfafb, 0xfcfcfafc, 0xfcfcfafd, 0xfcfcfafe, 0xfcfcfaff, +0xfcfcfb00, 0xfcfcfb01, 0xfcfcfb02, 0xfcfcfb03, 0xfcfcfb04, 0xfcfcfb05, 0xfcfcfb06, 0xfcfcfb07, +0xfcfcfbf8, 0xfcfcfbf9, 0xfcfcfbfa, 0xfcfcfbfb, 0xfcfcfbfc, 0xfcfcfbfd, 0xfcfcfbfe, 0xfcfcfbff, +0xfcfcfc00, 0xfcfcfc01, 0xfcfcfc02, 0xfcfcfc03, 0xfcfcfc04, 0xfcfcfc05, 0xfcfcfc06, 0xfcfcfc07, +0xfcfcfcf8, 0xfcfcfcf9, 0xfcfcfcfa, 0xfcfcfcfb, 0xfcfcfcfc, 0xfcfcfcfd, 0xfcfcfcfe, 0xfcfcfcff, +0xfcfcfd00, 0xfcfcfd01, 0xfcfcfd02, 0xfcfcfd03, 0xfcfcfd04, 0xfcfcfd05, 0xfcfcfd06, 0xfcfcfd07, +0xfcfcfdf8, 0xfcfcfdf9, 0xfcfcfdfa, 0xfcfcfdfb, 0xfcfcfdfc, 0xfcfcfdfd, 0xfcfcfdfe, 0xfcfcfdff, +0xfcfcfe00, 0xfcfcfe01, 0xfcfcfe02, 0xfcfcfe03, 0xfcfcfe04, 0xfcfcfe05, 0xfcfcfe06, 0xfcfcfe07, +0xfcfcfef8, 0xfcfcfef9, 0xfcfcfefa, 0xfcfcfefb, 0xfcfcfefc, 0xfcfcfefd, 0xfcfcfefe, 0xfcfcfeff, +0xfcfcff00, 0xfcfcff01, 0xfcfcff02, 0xfcfcff03, 0xfcfcff04, 0xfcfcff05, 0xfcfcff06, 0xfcfcff07, +0xfcfcfff8, 0xfcfcfff9, 0xfcfcfffa, 0xfcfcfffb, 0xfcfcfffc, 0xfcfcfffd, 0xfcfcfffe, 0xfcfcffff, +0xfcfd0000, 0xfcfd0001, 0xfcfd0002, 0xfcfd0003, 0xfcfd0004, 0xfcfd0005, 0xfcfd0006, 0xfcfd0007, +0xfcfd00f8, 0xfcfd00f9, 0xfcfd00fa, 0xfcfd00fb, 0xfcfd00fc, 0xfcfd00fd, 0xfcfd00fe, 0xfcfd00ff, +0xfcfd0100, 0xfcfd0101, 0xfcfd0102, 0xfcfd0103, 0xfcfd0104, 0xfcfd0105, 0xfcfd0106, 0xfcfd0107, +0xfcfd01f8, 0xfcfd01f9, 0xfcfd01fa, 0xfcfd01fb, 0xfcfd01fc, 0xfcfd01fd, 0xfcfd01fe, 0xfcfd01ff, +0xfcfd0200, 0xfcfd0201, 0xfcfd0202, 0xfcfd0203, 0xfcfd0204, 0xfcfd0205, 0xfcfd0206, 0xfcfd0207, +0xfcfd02f8, 0xfcfd02f9, 0xfcfd02fa, 0xfcfd02fb, 0xfcfd02fc, 0xfcfd02fd, 0xfcfd02fe, 0xfcfd02ff, +0xfcfd0300, 0xfcfd0301, 0xfcfd0302, 0xfcfd0303, 0xfcfd0304, 0xfcfd0305, 0xfcfd0306, 0xfcfd0307, +0xfcfd03f8, 0xfcfd03f9, 0xfcfd03fa, 0xfcfd03fb, 0xfcfd03fc, 0xfcfd03fd, 0xfcfd03fe, 0xfcfd03ff, +0xfcfd0400, 0xfcfd0401, 0xfcfd0402, 0xfcfd0403, 0xfcfd0404, 0xfcfd0405, 0xfcfd0406, 0xfcfd0407, +0xfcfd04f8, 0xfcfd04f9, 0xfcfd04fa, 0xfcfd04fb, 0xfcfd04fc, 0xfcfd04fd, 0xfcfd04fe, 0xfcfd04ff, +0xfcfd0500, 0xfcfd0501, 0xfcfd0502, 0xfcfd0503, 0xfcfd0504, 0xfcfd0505, 0xfcfd0506, 0xfcfd0507, +0xfcfd05f8, 0xfcfd05f9, 0xfcfd05fa, 0xfcfd05fb, 0xfcfd05fc, 0xfcfd05fd, 0xfcfd05fe, 0xfcfd05ff, +0xfcfd0600, 0xfcfd0601, 0xfcfd0602, 0xfcfd0603, 0xfcfd0604, 0xfcfd0605, 0xfcfd0606, 0xfcfd0607, +0xfcfd06f8, 0xfcfd06f9, 0xfcfd06fa, 0xfcfd06fb, 0xfcfd06fc, 0xfcfd06fd, 0xfcfd06fe, 0xfcfd06ff, +0xfcfd0700, 0xfcfd0701, 0xfcfd0702, 0xfcfd0703, 0xfcfd0704, 0xfcfd0705, 0xfcfd0706, 0xfcfd0707, +0xfcfd07f8, 0xfcfd07f9, 0xfcfd07fa, 0xfcfd07fb, 0xfcfd07fc, 0xfcfd07fd, 0xfcfd07fe, 0xfcfd07ff, +0xfcfdf800, 0xfcfdf801, 0xfcfdf802, 0xfcfdf803, 0xfcfdf804, 0xfcfdf805, 0xfcfdf806, 0xfcfdf807, +0xfcfdf8f8, 0xfcfdf8f9, 0xfcfdf8fa, 0xfcfdf8fb, 0xfcfdf8fc, 0xfcfdf8fd, 0xfcfdf8fe, 0xfcfdf8ff, +0xfcfdf900, 0xfcfdf901, 0xfcfdf902, 0xfcfdf903, 0xfcfdf904, 0xfcfdf905, 0xfcfdf906, 0xfcfdf907, +0xfcfdf9f8, 0xfcfdf9f9, 0xfcfdf9fa, 0xfcfdf9fb, 0xfcfdf9fc, 0xfcfdf9fd, 0xfcfdf9fe, 0xfcfdf9ff, +0xfcfdfa00, 0xfcfdfa01, 0xfcfdfa02, 0xfcfdfa03, 0xfcfdfa04, 0xfcfdfa05, 0xfcfdfa06, 0xfcfdfa07, +0xfcfdfaf8, 0xfcfdfaf9, 0xfcfdfafa, 0xfcfdfafb, 0xfcfdfafc, 0xfcfdfafd, 0xfcfdfafe, 0xfcfdfaff, +0xfcfdfb00, 0xfcfdfb01, 0xfcfdfb02, 0xfcfdfb03, 0xfcfdfb04, 0xfcfdfb05, 0xfcfdfb06, 0xfcfdfb07, +0xfcfdfbf8, 0xfcfdfbf9, 0xfcfdfbfa, 0xfcfdfbfb, 0xfcfdfbfc, 0xfcfdfbfd, 0xfcfdfbfe, 0xfcfdfbff, +0xfcfdfc00, 0xfcfdfc01, 0xfcfdfc02, 0xfcfdfc03, 0xfcfdfc04, 0xfcfdfc05, 0xfcfdfc06, 0xfcfdfc07, +0xfcfdfcf8, 0xfcfdfcf9, 0xfcfdfcfa, 0xfcfdfcfb, 0xfcfdfcfc, 0xfcfdfcfd, 0xfcfdfcfe, 0xfcfdfcff, +0xfcfdfd00, 0xfcfdfd01, 0xfcfdfd02, 0xfcfdfd03, 0xfcfdfd04, 0xfcfdfd05, 0xfcfdfd06, 0xfcfdfd07, +0xfcfdfdf8, 0xfcfdfdf9, 0xfcfdfdfa, 0xfcfdfdfb, 0xfcfdfdfc, 0xfcfdfdfd, 0xfcfdfdfe, 0xfcfdfdff, +0xfcfdfe00, 0xfcfdfe01, 0xfcfdfe02, 0xfcfdfe03, 0xfcfdfe04, 0xfcfdfe05, 0xfcfdfe06, 0xfcfdfe07, +0xfcfdfef8, 0xfcfdfef9, 0xfcfdfefa, 0xfcfdfefb, 0xfcfdfefc, 0xfcfdfefd, 0xfcfdfefe, 0xfcfdfeff, +0xfcfdff00, 0xfcfdff01, 0xfcfdff02, 0xfcfdff03, 0xfcfdff04, 0xfcfdff05, 0xfcfdff06, 0xfcfdff07, +0xfcfdfff8, 0xfcfdfff9, 0xfcfdfffa, 0xfcfdfffb, 0xfcfdfffc, 0xfcfdfffd, 0xfcfdfffe, 0xfcfdffff, +0xfcfe0000, 0xfcfe0001, 0xfcfe0002, 0xfcfe0003, 0xfcfe0004, 0xfcfe0005, 0xfcfe0006, 0xfcfe0007, +0xfcfe00f8, 0xfcfe00f9, 0xfcfe00fa, 0xfcfe00fb, 0xfcfe00fc, 0xfcfe00fd, 0xfcfe00fe, 0xfcfe00ff, +0xfcfe0100, 0xfcfe0101, 0xfcfe0102, 0xfcfe0103, 0xfcfe0104, 0xfcfe0105, 0xfcfe0106, 0xfcfe0107, +0xfcfe01f8, 0xfcfe01f9, 0xfcfe01fa, 0xfcfe01fb, 0xfcfe01fc, 0xfcfe01fd, 0xfcfe01fe, 0xfcfe01ff, +0xfcfe0200, 0xfcfe0201, 0xfcfe0202, 0xfcfe0203, 0xfcfe0204, 0xfcfe0205, 0xfcfe0206, 0xfcfe0207, +0xfcfe02f8, 0xfcfe02f9, 0xfcfe02fa, 0xfcfe02fb, 0xfcfe02fc, 0xfcfe02fd, 0xfcfe02fe, 0xfcfe02ff, +0xfcfe0300, 0xfcfe0301, 0xfcfe0302, 0xfcfe0303, 0xfcfe0304, 0xfcfe0305, 0xfcfe0306, 0xfcfe0307, +0xfcfe03f8, 0xfcfe03f9, 0xfcfe03fa, 0xfcfe03fb, 0xfcfe03fc, 0xfcfe03fd, 0xfcfe03fe, 0xfcfe03ff, +0xfcfe0400, 0xfcfe0401, 0xfcfe0402, 0xfcfe0403, 0xfcfe0404, 0xfcfe0405, 0xfcfe0406, 0xfcfe0407, +0xfcfe04f8, 0xfcfe04f9, 0xfcfe04fa, 0xfcfe04fb, 0xfcfe04fc, 0xfcfe04fd, 0xfcfe04fe, 0xfcfe04ff, +0xfcfe0500, 0xfcfe0501, 0xfcfe0502, 0xfcfe0503, 0xfcfe0504, 0xfcfe0505, 0xfcfe0506, 0xfcfe0507, +0xfcfe05f8, 0xfcfe05f9, 0xfcfe05fa, 0xfcfe05fb, 0xfcfe05fc, 0xfcfe05fd, 0xfcfe05fe, 0xfcfe05ff, +0xfcfe0600, 0xfcfe0601, 0xfcfe0602, 0xfcfe0603, 0xfcfe0604, 0xfcfe0605, 0xfcfe0606, 0xfcfe0607, +0xfcfe06f8, 0xfcfe06f9, 0xfcfe06fa, 0xfcfe06fb, 0xfcfe06fc, 0xfcfe06fd, 0xfcfe06fe, 0xfcfe06ff, +0xfcfe0700, 0xfcfe0701, 0xfcfe0702, 0xfcfe0703, 0xfcfe0704, 0xfcfe0705, 0xfcfe0706, 0xfcfe0707, +0xfcfe07f8, 0xfcfe07f9, 0xfcfe07fa, 0xfcfe07fb, 0xfcfe07fc, 0xfcfe07fd, 0xfcfe07fe, 0xfcfe07ff, +0xfcfef800, 0xfcfef801, 0xfcfef802, 0xfcfef803, 0xfcfef804, 0xfcfef805, 0xfcfef806, 0xfcfef807, +0xfcfef8f8, 0xfcfef8f9, 0xfcfef8fa, 0xfcfef8fb, 0xfcfef8fc, 0xfcfef8fd, 0xfcfef8fe, 0xfcfef8ff, +0xfcfef900, 0xfcfef901, 0xfcfef902, 0xfcfef903, 0xfcfef904, 0xfcfef905, 0xfcfef906, 0xfcfef907, +0xfcfef9f8, 0xfcfef9f9, 0xfcfef9fa, 0xfcfef9fb, 0xfcfef9fc, 0xfcfef9fd, 0xfcfef9fe, 0xfcfef9ff, +0xfcfefa00, 0xfcfefa01, 0xfcfefa02, 0xfcfefa03, 0xfcfefa04, 0xfcfefa05, 0xfcfefa06, 0xfcfefa07, +0xfcfefaf8, 0xfcfefaf9, 0xfcfefafa, 0xfcfefafb, 0xfcfefafc, 0xfcfefafd, 0xfcfefafe, 0xfcfefaff, +0xfcfefb00, 0xfcfefb01, 0xfcfefb02, 0xfcfefb03, 0xfcfefb04, 0xfcfefb05, 0xfcfefb06, 0xfcfefb07, +0xfcfefbf8, 0xfcfefbf9, 0xfcfefbfa, 0xfcfefbfb, 0xfcfefbfc, 0xfcfefbfd, 0xfcfefbfe, 0xfcfefbff, +0xfcfefc00, 0xfcfefc01, 0xfcfefc02, 0xfcfefc03, 0xfcfefc04, 0xfcfefc05, 0xfcfefc06, 0xfcfefc07, +0xfcfefcf8, 0xfcfefcf9, 0xfcfefcfa, 0xfcfefcfb, 0xfcfefcfc, 0xfcfefcfd, 0xfcfefcfe, 0xfcfefcff, +0xfcfefd00, 0xfcfefd01, 0xfcfefd02, 0xfcfefd03, 0xfcfefd04, 0xfcfefd05, 0xfcfefd06, 0xfcfefd07, +0xfcfefdf8, 0xfcfefdf9, 0xfcfefdfa, 0xfcfefdfb, 0xfcfefdfc, 0xfcfefdfd, 0xfcfefdfe, 0xfcfefdff, +0xfcfefe00, 0xfcfefe01, 0xfcfefe02, 0xfcfefe03, 0xfcfefe04, 0xfcfefe05, 0xfcfefe06, 0xfcfefe07, +0xfcfefef8, 0xfcfefef9, 0xfcfefefa, 0xfcfefefb, 0xfcfefefc, 0xfcfefefd, 0xfcfefefe, 0xfcfefeff, +0xfcfeff00, 0xfcfeff01, 0xfcfeff02, 0xfcfeff03, 0xfcfeff04, 0xfcfeff05, 0xfcfeff06, 0xfcfeff07, +0xfcfefff8, 0xfcfefff9, 0xfcfefffa, 0xfcfefffb, 0xfcfefffc, 0xfcfefffd, 0xfcfefffe, 0xfcfeffff, +0xfcff0000, 0xfcff0001, 0xfcff0002, 0xfcff0003, 0xfcff0004, 0xfcff0005, 0xfcff0006, 0xfcff0007, +0xfcff00f8, 0xfcff00f9, 0xfcff00fa, 0xfcff00fb, 0xfcff00fc, 0xfcff00fd, 0xfcff00fe, 0xfcff00ff, +0xfcff0100, 0xfcff0101, 0xfcff0102, 0xfcff0103, 0xfcff0104, 0xfcff0105, 0xfcff0106, 0xfcff0107, +0xfcff01f8, 0xfcff01f9, 0xfcff01fa, 0xfcff01fb, 0xfcff01fc, 0xfcff01fd, 0xfcff01fe, 0xfcff01ff, +0xfcff0200, 0xfcff0201, 0xfcff0202, 0xfcff0203, 0xfcff0204, 0xfcff0205, 0xfcff0206, 0xfcff0207, +0xfcff02f8, 0xfcff02f9, 0xfcff02fa, 0xfcff02fb, 0xfcff02fc, 0xfcff02fd, 0xfcff02fe, 0xfcff02ff, +0xfcff0300, 0xfcff0301, 0xfcff0302, 0xfcff0303, 0xfcff0304, 0xfcff0305, 0xfcff0306, 0xfcff0307, +0xfcff03f8, 0xfcff03f9, 0xfcff03fa, 0xfcff03fb, 0xfcff03fc, 0xfcff03fd, 0xfcff03fe, 0xfcff03ff, +0xfcff0400, 0xfcff0401, 0xfcff0402, 0xfcff0403, 0xfcff0404, 0xfcff0405, 0xfcff0406, 0xfcff0407, +0xfcff04f8, 0xfcff04f9, 0xfcff04fa, 0xfcff04fb, 0xfcff04fc, 0xfcff04fd, 0xfcff04fe, 0xfcff04ff, +0xfcff0500, 0xfcff0501, 0xfcff0502, 0xfcff0503, 0xfcff0504, 0xfcff0505, 0xfcff0506, 0xfcff0507, +0xfcff05f8, 0xfcff05f9, 0xfcff05fa, 0xfcff05fb, 0xfcff05fc, 0xfcff05fd, 0xfcff05fe, 0xfcff05ff, +0xfcff0600, 0xfcff0601, 0xfcff0602, 0xfcff0603, 0xfcff0604, 0xfcff0605, 0xfcff0606, 0xfcff0607, +0xfcff06f8, 0xfcff06f9, 0xfcff06fa, 0xfcff06fb, 0xfcff06fc, 0xfcff06fd, 0xfcff06fe, 0xfcff06ff, +0xfcff0700, 0xfcff0701, 0xfcff0702, 0xfcff0703, 0xfcff0704, 0xfcff0705, 0xfcff0706, 0xfcff0707, +0xfcff07f8, 0xfcff07f9, 0xfcff07fa, 0xfcff07fb, 0xfcff07fc, 0xfcff07fd, 0xfcff07fe, 0xfcff07ff, +0xfcfff800, 0xfcfff801, 0xfcfff802, 0xfcfff803, 0xfcfff804, 0xfcfff805, 0xfcfff806, 0xfcfff807, +0xfcfff8f8, 0xfcfff8f9, 0xfcfff8fa, 0xfcfff8fb, 0xfcfff8fc, 0xfcfff8fd, 0xfcfff8fe, 0xfcfff8ff, +0xfcfff900, 0xfcfff901, 0xfcfff902, 0xfcfff903, 0xfcfff904, 0xfcfff905, 0xfcfff906, 0xfcfff907, +0xfcfff9f8, 0xfcfff9f9, 0xfcfff9fa, 0xfcfff9fb, 0xfcfff9fc, 0xfcfff9fd, 0xfcfff9fe, 0xfcfff9ff, +0xfcfffa00, 0xfcfffa01, 0xfcfffa02, 0xfcfffa03, 0xfcfffa04, 0xfcfffa05, 0xfcfffa06, 0xfcfffa07, +0xfcfffaf8, 0xfcfffaf9, 0xfcfffafa, 0xfcfffafb, 0xfcfffafc, 0xfcfffafd, 0xfcfffafe, 0xfcfffaff, +0xfcfffb00, 0xfcfffb01, 0xfcfffb02, 0xfcfffb03, 0xfcfffb04, 0xfcfffb05, 0xfcfffb06, 0xfcfffb07, +0xfcfffbf8, 0xfcfffbf9, 0xfcfffbfa, 0xfcfffbfb, 0xfcfffbfc, 0xfcfffbfd, 0xfcfffbfe, 0xfcfffbff, +0xfcfffc00, 0xfcfffc01, 0xfcfffc02, 0xfcfffc03, 0xfcfffc04, 0xfcfffc05, 0xfcfffc06, 0xfcfffc07, +0xfcfffcf8, 0xfcfffcf9, 0xfcfffcfa, 0xfcfffcfb, 0xfcfffcfc, 0xfcfffcfd, 0xfcfffcfe, 0xfcfffcff, +0xfcfffd00, 0xfcfffd01, 0xfcfffd02, 0xfcfffd03, 0xfcfffd04, 0xfcfffd05, 0xfcfffd06, 0xfcfffd07, +0xfcfffdf8, 0xfcfffdf9, 0xfcfffdfa, 0xfcfffdfb, 0xfcfffdfc, 0xfcfffdfd, 0xfcfffdfe, 0xfcfffdff, +0xfcfffe00, 0xfcfffe01, 0xfcfffe02, 0xfcfffe03, 0xfcfffe04, 0xfcfffe05, 0xfcfffe06, 0xfcfffe07, +0xfcfffef8, 0xfcfffef9, 0xfcfffefa, 0xfcfffefb, 0xfcfffefc, 0xfcfffefd, 0xfcfffefe, 0xfcfffeff, +0xfcffff00, 0xfcffff01, 0xfcffff02, 0xfcffff03, 0xfcffff04, 0xfcffff05, 0xfcffff06, 0xfcffff07, +0xfcfffff8, 0xfcfffff9, 0xfcfffffa, 0xfcfffffb, 0xfcfffffc, 0xfcfffffd, 0xfcfffffe, 0xfcffffff, +0xfd000000, 0xfd000001, 0xfd000002, 0xfd000003, 0xfd000004, 0xfd000005, 0xfd000006, 0xfd000007, +0xfd0000f8, 0xfd0000f9, 0xfd0000fa, 0xfd0000fb, 0xfd0000fc, 0xfd0000fd, 0xfd0000fe, 0xfd0000ff, +0xfd000100, 0xfd000101, 0xfd000102, 0xfd000103, 0xfd000104, 0xfd000105, 0xfd000106, 0xfd000107, +0xfd0001f8, 0xfd0001f9, 0xfd0001fa, 0xfd0001fb, 0xfd0001fc, 0xfd0001fd, 0xfd0001fe, 0xfd0001ff, +0xfd000200, 0xfd000201, 0xfd000202, 0xfd000203, 0xfd000204, 0xfd000205, 0xfd000206, 0xfd000207, +0xfd0002f8, 0xfd0002f9, 0xfd0002fa, 0xfd0002fb, 0xfd0002fc, 0xfd0002fd, 0xfd0002fe, 0xfd0002ff, +0xfd000300, 0xfd000301, 0xfd000302, 0xfd000303, 0xfd000304, 0xfd000305, 0xfd000306, 0xfd000307, +0xfd0003f8, 0xfd0003f9, 0xfd0003fa, 0xfd0003fb, 0xfd0003fc, 0xfd0003fd, 0xfd0003fe, 0xfd0003ff, +0xfd000400, 0xfd000401, 0xfd000402, 0xfd000403, 0xfd000404, 0xfd000405, 0xfd000406, 0xfd000407, +0xfd0004f8, 0xfd0004f9, 0xfd0004fa, 0xfd0004fb, 0xfd0004fc, 0xfd0004fd, 0xfd0004fe, 0xfd0004ff, +0xfd000500, 0xfd000501, 0xfd000502, 0xfd000503, 0xfd000504, 0xfd000505, 0xfd000506, 0xfd000507, +0xfd0005f8, 0xfd0005f9, 0xfd0005fa, 0xfd0005fb, 0xfd0005fc, 0xfd0005fd, 0xfd0005fe, 0xfd0005ff, +0xfd000600, 0xfd000601, 0xfd000602, 0xfd000603, 0xfd000604, 0xfd000605, 0xfd000606, 0xfd000607, +0xfd0006f8, 0xfd0006f9, 0xfd0006fa, 0xfd0006fb, 0xfd0006fc, 0xfd0006fd, 0xfd0006fe, 0xfd0006ff, +0xfd000700, 0xfd000701, 0xfd000702, 0xfd000703, 0xfd000704, 0xfd000705, 0xfd000706, 0xfd000707, +0xfd0007f8, 0xfd0007f9, 0xfd0007fa, 0xfd0007fb, 0xfd0007fc, 0xfd0007fd, 0xfd0007fe, 0xfd0007ff, +0xfd00f800, 0xfd00f801, 0xfd00f802, 0xfd00f803, 0xfd00f804, 0xfd00f805, 0xfd00f806, 0xfd00f807, +0xfd00f8f8, 0xfd00f8f9, 0xfd00f8fa, 0xfd00f8fb, 0xfd00f8fc, 0xfd00f8fd, 0xfd00f8fe, 0xfd00f8ff, +0xfd00f900, 0xfd00f901, 0xfd00f902, 0xfd00f903, 0xfd00f904, 0xfd00f905, 0xfd00f906, 0xfd00f907, +0xfd00f9f8, 0xfd00f9f9, 0xfd00f9fa, 0xfd00f9fb, 0xfd00f9fc, 0xfd00f9fd, 0xfd00f9fe, 0xfd00f9ff, +0xfd00fa00, 0xfd00fa01, 0xfd00fa02, 0xfd00fa03, 0xfd00fa04, 0xfd00fa05, 0xfd00fa06, 0xfd00fa07, +0xfd00faf8, 0xfd00faf9, 0xfd00fafa, 0xfd00fafb, 0xfd00fafc, 0xfd00fafd, 0xfd00fafe, 0xfd00faff, +0xfd00fb00, 0xfd00fb01, 0xfd00fb02, 0xfd00fb03, 0xfd00fb04, 0xfd00fb05, 0xfd00fb06, 0xfd00fb07, +0xfd00fbf8, 0xfd00fbf9, 0xfd00fbfa, 0xfd00fbfb, 0xfd00fbfc, 0xfd00fbfd, 0xfd00fbfe, 0xfd00fbff, +0xfd00fc00, 0xfd00fc01, 0xfd00fc02, 0xfd00fc03, 0xfd00fc04, 0xfd00fc05, 0xfd00fc06, 0xfd00fc07, +0xfd00fcf8, 0xfd00fcf9, 0xfd00fcfa, 0xfd00fcfb, 0xfd00fcfc, 0xfd00fcfd, 0xfd00fcfe, 0xfd00fcff, +0xfd00fd00, 0xfd00fd01, 0xfd00fd02, 0xfd00fd03, 0xfd00fd04, 0xfd00fd05, 0xfd00fd06, 0xfd00fd07, +0xfd00fdf8, 0xfd00fdf9, 0xfd00fdfa, 0xfd00fdfb, 0xfd00fdfc, 0xfd00fdfd, 0xfd00fdfe, 0xfd00fdff, +0xfd00fe00, 0xfd00fe01, 0xfd00fe02, 0xfd00fe03, 0xfd00fe04, 0xfd00fe05, 0xfd00fe06, 0xfd00fe07, +0xfd00fef8, 0xfd00fef9, 0xfd00fefa, 0xfd00fefb, 0xfd00fefc, 0xfd00fefd, 0xfd00fefe, 0xfd00feff, +0xfd00ff00, 0xfd00ff01, 0xfd00ff02, 0xfd00ff03, 0xfd00ff04, 0xfd00ff05, 0xfd00ff06, 0xfd00ff07, +0xfd00fff8, 0xfd00fff9, 0xfd00fffa, 0xfd00fffb, 0xfd00fffc, 0xfd00fffd, 0xfd00fffe, 0xfd00ffff, +0xfd010000, 0xfd010001, 0xfd010002, 0xfd010003, 0xfd010004, 0xfd010005, 0xfd010006, 0xfd010007, +0xfd0100f8, 0xfd0100f9, 0xfd0100fa, 0xfd0100fb, 0xfd0100fc, 0xfd0100fd, 0xfd0100fe, 0xfd0100ff, +0xfd010100, 0xfd010101, 0xfd010102, 0xfd010103, 0xfd010104, 0xfd010105, 0xfd010106, 0xfd010107, +0xfd0101f8, 0xfd0101f9, 0xfd0101fa, 0xfd0101fb, 0xfd0101fc, 0xfd0101fd, 0xfd0101fe, 0xfd0101ff, +0xfd010200, 0xfd010201, 0xfd010202, 0xfd010203, 0xfd010204, 0xfd010205, 0xfd010206, 0xfd010207, +0xfd0102f8, 0xfd0102f9, 0xfd0102fa, 0xfd0102fb, 0xfd0102fc, 0xfd0102fd, 0xfd0102fe, 0xfd0102ff, +0xfd010300, 0xfd010301, 0xfd010302, 0xfd010303, 0xfd010304, 0xfd010305, 0xfd010306, 0xfd010307, +0xfd0103f8, 0xfd0103f9, 0xfd0103fa, 0xfd0103fb, 0xfd0103fc, 0xfd0103fd, 0xfd0103fe, 0xfd0103ff, +0xfd010400, 0xfd010401, 0xfd010402, 0xfd010403, 0xfd010404, 0xfd010405, 0xfd010406, 0xfd010407, +0xfd0104f8, 0xfd0104f9, 0xfd0104fa, 0xfd0104fb, 0xfd0104fc, 0xfd0104fd, 0xfd0104fe, 0xfd0104ff, +0xfd010500, 0xfd010501, 0xfd010502, 0xfd010503, 0xfd010504, 0xfd010505, 0xfd010506, 0xfd010507, +0xfd0105f8, 0xfd0105f9, 0xfd0105fa, 0xfd0105fb, 0xfd0105fc, 0xfd0105fd, 0xfd0105fe, 0xfd0105ff, +0xfd010600, 0xfd010601, 0xfd010602, 0xfd010603, 0xfd010604, 0xfd010605, 0xfd010606, 0xfd010607, +0xfd0106f8, 0xfd0106f9, 0xfd0106fa, 0xfd0106fb, 0xfd0106fc, 0xfd0106fd, 0xfd0106fe, 0xfd0106ff, +0xfd010700, 0xfd010701, 0xfd010702, 0xfd010703, 0xfd010704, 0xfd010705, 0xfd010706, 0xfd010707, +0xfd0107f8, 0xfd0107f9, 0xfd0107fa, 0xfd0107fb, 0xfd0107fc, 0xfd0107fd, 0xfd0107fe, 0xfd0107ff, +0xfd01f800, 0xfd01f801, 0xfd01f802, 0xfd01f803, 0xfd01f804, 0xfd01f805, 0xfd01f806, 0xfd01f807, +0xfd01f8f8, 0xfd01f8f9, 0xfd01f8fa, 0xfd01f8fb, 0xfd01f8fc, 0xfd01f8fd, 0xfd01f8fe, 0xfd01f8ff, +0xfd01f900, 0xfd01f901, 0xfd01f902, 0xfd01f903, 0xfd01f904, 0xfd01f905, 0xfd01f906, 0xfd01f907, +0xfd01f9f8, 0xfd01f9f9, 0xfd01f9fa, 0xfd01f9fb, 0xfd01f9fc, 0xfd01f9fd, 0xfd01f9fe, 0xfd01f9ff, +0xfd01fa00, 0xfd01fa01, 0xfd01fa02, 0xfd01fa03, 0xfd01fa04, 0xfd01fa05, 0xfd01fa06, 0xfd01fa07, +0xfd01faf8, 0xfd01faf9, 0xfd01fafa, 0xfd01fafb, 0xfd01fafc, 0xfd01fafd, 0xfd01fafe, 0xfd01faff, +0xfd01fb00, 0xfd01fb01, 0xfd01fb02, 0xfd01fb03, 0xfd01fb04, 0xfd01fb05, 0xfd01fb06, 0xfd01fb07, +0xfd01fbf8, 0xfd01fbf9, 0xfd01fbfa, 0xfd01fbfb, 0xfd01fbfc, 0xfd01fbfd, 0xfd01fbfe, 0xfd01fbff, +0xfd01fc00, 0xfd01fc01, 0xfd01fc02, 0xfd01fc03, 0xfd01fc04, 0xfd01fc05, 0xfd01fc06, 0xfd01fc07, +0xfd01fcf8, 0xfd01fcf9, 0xfd01fcfa, 0xfd01fcfb, 0xfd01fcfc, 0xfd01fcfd, 0xfd01fcfe, 0xfd01fcff, +0xfd01fd00, 0xfd01fd01, 0xfd01fd02, 0xfd01fd03, 0xfd01fd04, 0xfd01fd05, 0xfd01fd06, 0xfd01fd07, +0xfd01fdf8, 0xfd01fdf9, 0xfd01fdfa, 0xfd01fdfb, 0xfd01fdfc, 0xfd01fdfd, 0xfd01fdfe, 0xfd01fdff, +0xfd01fe00, 0xfd01fe01, 0xfd01fe02, 0xfd01fe03, 0xfd01fe04, 0xfd01fe05, 0xfd01fe06, 0xfd01fe07, +0xfd01fef8, 0xfd01fef9, 0xfd01fefa, 0xfd01fefb, 0xfd01fefc, 0xfd01fefd, 0xfd01fefe, 0xfd01feff, +0xfd01ff00, 0xfd01ff01, 0xfd01ff02, 0xfd01ff03, 0xfd01ff04, 0xfd01ff05, 0xfd01ff06, 0xfd01ff07, +0xfd01fff8, 0xfd01fff9, 0xfd01fffa, 0xfd01fffb, 0xfd01fffc, 0xfd01fffd, 0xfd01fffe, 0xfd01ffff, +0xfd020000, 0xfd020001, 0xfd020002, 0xfd020003, 0xfd020004, 0xfd020005, 0xfd020006, 0xfd020007, +0xfd0200f8, 0xfd0200f9, 0xfd0200fa, 0xfd0200fb, 0xfd0200fc, 0xfd0200fd, 0xfd0200fe, 0xfd0200ff, +0xfd020100, 0xfd020101, 0xfd020102, 0xfd020103, 0xfd020104, 0xfd020105, 0xfd020106, 0xfd020107, +0xfd0201f8, 0xfd0201f9, 0xfd0201fa, 0xfd0201fb, 0xfd0201fc, 0xfd0201fd, 0xfd0201fe, 0xfd0201ff, +0xfd020200, 0xfd020201, 0xfd020202, 0xfd020203, 0xfd020204, 0xfd020205, 0xfd020206, 0xfd020207, +0xfd0202f8, 0xfd0202f9, 0xfd0202fa, 0xfd0202fb, 0xfd0202fc, 0xfd0202fd, 0xfd0202fe, 0xfd0202ff, +0xfd020300, 0xfd020301, 0xfd020302, 0xfd020303, 0xfd020304, 0xfd020305, 0xfd020306, 0xfd020307, +0xfd0203f8, 0xfd0203f9, 0xfd0203fa, 0xfd0203fb, 0xfd0203fc, 0xfd0203fd, 0xfd0203fe, 0xfd0203ff, +0xfd020400, 0xfd020401, 0xfd020402, 0xfd020403, 0xfd020404, 0xfd020405, 0xfd020406, 0xfd020407, +0xfd0204f8, 0xfd0204f9, 0xfd0204fa, 0xfd0204fb, 0xfd0204fc, 0xfd0204fd, 0xfd0204fe, 0xfd0204ff, +0xfd020500, 0xfd020501, 0xfd020502, 0xfd020503, 0xfd020504, 0xfd020505, 0xfd020506, 0xfd020507, +0xfd0205f8, 0xfd0205f9, 0xfd0205fa, 0xfd0205fb, 0xfd0205fc, 0xfd0205fd, 0xfd0205fe, 0xfd0205ff, +0xfd020600, 0xfd020601, 0xfd020602, 0xfd020603, 0xfd020604, 0xfd020605, 0xfd020606, 0xfd020607, +0xfd0206f8, 0xfd0206f9, 0xfd0206fa, 0xfd0206fb, 0xfd0206fc, 0xfd0206fd, 0xfd0206fe, 0xfd0206ff, +0xfd020700, 0xfd020701, 0xfd020702, 0xfd020703, 0xfd020704, 0xfd020705, 0xfd020706, 0xfd020707, +0xfd0207f8, 0xfd0207f9, 0xfd0207fa, 0xfd0207fb, 0xfd0207fc, 0xfd0207fd, 0xfd0207fe, 0xfd0207ff, +0xfd02f800, 0xfd02f801, 0xfd02f802, 0xfd02f803, 0xfd02f804, 0xfd02f805, 0xfd02f806, 0xfd02f807, +0xfd02f8f8, 0xfd02f8f9, 0xfd02f8fa, 0xfd02f8fb, 0xfd02f8fc, 0xfd02f8fd, 0xfd02f8fe, 0xfd02f8ff, +0xfd02f900, 0xfd02f901, 0xfd02f902, 0xfd02f903, 0xfd02f904, 0xfd02f905, 0xfd02f906, 0xfd02f907, +0xfd02f9f8, 0xfd02f9f9, 0xfd02f9fa, 0xfd02f9fb, 0xfd02f9fc, 0xfd02f9fd, 0xfd02f9fe, 0xfd02f9ff, +0xfd02fa00, 0xfd02fa01, 0xfd02fa02, 0xfd02fa03, 0xfd02fa04, 0xfd02fa05, 0xfd02fa06, 0xfd02fa07, +0xfd02faf8, 0xfd02faf9, 0xfd02fafa, 0xfd02fafb, 0xfd02fafc, 0xfd02fafd, 0xfd02fafe, 0xfd02faff, +0xfd02fb00, 0xfd02fb01, 0xfd02fb02, 0xfd02fb03, 0xfd02fb04, 0xfd02fb05, 0xfd02fb06, 0xfd02fb07, +0xfd02fbf8, 0xfd02fbf9, 0xfd02fbfa, 0xfd02fbfb, 0xfd02fbfc, 0xfd02fbfd, 0xfd02fbfe, 0xfd02fbff, +0xfd02fc00, 0xfd02fc01, 0xfd02fc02, 0xfd02fc03, 0xfd02fc04, 0xfd02fc05, 0xfd02fc06, 0xfd02fc07, +0xfd02fcf8, 0xfd02fcf9, 0xfd02fcfa, 0xfd02fcfb, 0xfd02fcfc, 0xfd02fcfd, 0xfd02fcfe, 0xfd02fcff, +0xfd02fd00, 0xfd02fd01, 0xfd02fd02, 0xfd02fd03, 0xfd02fd04, 0xfd02fd05, 0xfd02fd06, 0xfd02fd07, +0xfd02fdf8, 0xfd02fdf9, 0xfd02fdfa, 0xfd02fdfb, 0xfd02fdfc, 0xfd02fdfd, 0xfd02fdfe, 0xfd02fdff, +0xfd02fe00, 0xfd02fe01, 0xfd02fe02, 0xfd02fe03, 0xfd02fe04, 0xfd02fe05, 0xfd02fe06, 0xfd02fe07, +0xfd02fef8, 0xfd02fef9, 0xfd02fefa, 0xfd02fefb, 0xfd02fefc, 0xfd02fefd, 0xfd02fefe, 0xfd02feff, +0xfd02ff00, 0xfd02ff01, 0xfd02ff02, 0xfd02ff03, 0xfd02ff04, 0xfd02ff05, 0xfd02ff06, 0xfd02ff07, +0xfd02fff8, 0xfd02fff9, 0xfd02fffa, 0xfd02fffb, 0xfd02fffc, 0xfd02fffd, 0xfd02fffe, 0xfd02ffff, +0xfd030000, 0xfd030001, 0xfd030002, 0xfd030003, 0xfd030004, 0xfd030005, 0xfd030006, 0xfd030007, +0xfd0300f8, 0xfd0300f9, 0xfd0300fa, 0xfd0300fb, 0xfd0300fc, 0xfd0300fd, 0xfd0300fe, 0xfd0300ff, +0xfd030100, 0xfd030101, 0xfd030102, 0xfd030103, 0xfd030104, 0xfd030105, 0xfd030106, 0xfd030107, +0xfd0301f8, 0xfd0301f9, 0xfd0301fa, 0xfd0301fb, 0xfd0301fc, 0xfd0301fd, 0xfd0301fe, 0xfd0301ff, +0xfd030200, 0xfd030201, 0xfd030202, 0xfd030203, 0xfd030204, 0xfd030205, 0xfd030206, 0xfd030207, +0xfd0302f8, 0xfd0302f9, 0xfd0302fa, 0xfd0302fb, 0xfd0302fc, 0xfd0302fd, 0xfd0302fe, 0xfd0302ff, +0xfd030300, 0xfd030301, 0xfd030302, 0xfd030303, 0xfd030304, 0xfd030305, 0xfd030306, 0xfd030307, +0xfd0303f8, 0xfd0303f9, 0xfd0303fa, 0xfd0303fb, 0xfd0303fc, 0xfd0303fd, 0xfd0303fe, 0xfd0303ff, +0xfd030400, 0xfd030401, 0xfd030402, 0xfd030403, 0xfd030404, 0xfd030405, 0xfd030406, 0xfd030407, +0xfd0304f8, 0xfd0304f9, 0xfd0304fa, 0xfd0304fb, 0xfd0304fc, 0xfd0304fd, 0xfd0304fe, 0xfd0304ff, +0xfd030500, 0xfd030501, 0xfd030502, 0xfd030503, 0xfd030504, 0xfd030505, 0xfd030506, 0xfd030507, +0xfd0305f8, 0xfd0305f9, 0xfd0305fa, 0xfd0305fb, 0xfd0305fc, 0xfd0305fd, 0xfd0305fe, 0xfd0305ff, +0xfd030600, 0xfd030601, 0xfd030602, 0xfd030603, 0xfd030604, 0xfd030605, 0xfd030606, 0xfd030607, +0xfd0306f8, 0xfd0306f9, 0xfd0306fa, 0xfd0306fb, 0xfd0306fc, 0xfd0306fd, 0xfd0306fe, 0xfd0306ff, +0xfd030700, 0xfd030701, 0xfd030702, 0xfd030703, 0xfd030704, 0xfd030705, 0xfd030706, 0xfd030707, +0xfd0307f8, 0xfd0307f9, 0xfd0307fa, 0xfd0307fb, 0xfd0307fc, 0xfd0307fd, 0xfd0307fe, 0xfd0307ff, +0xfd03f800, 0xfd03f801, 0xfd03f802, 0xfd03f803, 0xfd03f804, 0xfd03f805, 0xfd03f806, 0xfd03f807, +0xfd03f8f8, 0xfd03f8f9, 0xfd03f8fa, 0xfd03f8fb, 0xfd03f8fc, 0xfd03f8fd, 0xfd03f8fe, 0xfd03f8ff, +0xfd03f900, 0xfd03f901, 0xfd03f902, 0xfd03f903, 0xfd03f904, 0xfd03f905, 0xfd03f906, 0xfd03f907, +0xfd03f9f8, 0xfd03f9f9, 0xfd03f9fa, 0xfd03f9fb, 0xfd03f9fc, 0xfd03f9fd, 0xfd03f9fe, 0xfd03f9ff, +0xfd03fa00, 0xfd03fa01, 0xfd03fa02, 0xfd03fa03, 0xfd03fa04, 0xfd03fa05, 0xfd03fa06, 0xfd03fa07, +0xfd03faf8, 0xfd03faf9, 0xfd03fafa, 0xfd03fafb, 0xfd03fafc, 0xfd03fafd, 0xfd03fafe, 0xfd03faff, +0xfd03fb00, 0xfd03fb01, 0xfd03fb02, 0xfd03fb03, 0xfd03fb04, 0xfd03fb05, 0xfd03fb06, 0xfd03fb07, +0xfd03fbf8, 0xfd03fbf9, 0xfd03fbfa, 0xfd03fbfb, 0xfd03fbfc, 0xfd03fbfd, 0xfd03fbfe, 0xfd03fbff, +0xfd03fc00, 0xfd03fc01, 0xfd03fc02, 0xfd03fc03, 0xfd03fc04, 0xfd03fc05, 0xfd03fc06, 0xfd03fc07, +0xfd03fcf8, 0xfd03fcf9, 0xfd03fcfa, 0xfd03fcfb, 0xfd03fcfc, 0xfd03fcfd, 0xfd03fcfe, 0xfd03fcff, +0xfd03fd00, 0xfd03fd01, 0xfd03fd02, 0xfd03fd03, 0xfd03fd04, 0xfd03fd05, 0xfd03fd06, 0xfd03fd07, +0xfd03fdf8, 0xfd03fdf9, 0xfd03fdfa, 0xfd03fdfb, 0xfd03fdfc, 0xfd03fdfd, 0xfd03fdfe, 0xfd03fdff, +0xfd03fe00, 0xfd03fe01, 0xfd03fe02, 0xfd03fe03, 0xfd03fe04, 0xfd03fe05, 0xfd03fe06, 0xfd03fe07, +0xfd03fef8, 0xfd03fef9, 0xfd03fefa, 0xfd03fefb, 0xfd03fefc, 0xfd03fefd, 0xfd03fefe, 0xfd03feff, +0xfd03ff00, 0xfd03ff01, 0xfd03ff02, 0xfd03ff03, 0xfd03ff04, 0xfd03ff05, 0xfd03ff06, 0xfd03ff07, +0xfd03fff8, 0xfd03fff9, 0xfd03fffa, 0xfd03fffb, 0xfd03fffc, 0xfd03fffd, 0xfd03fffe, 0xfd03ffff, +0xfd040000, 0xfd040001, 0xfd040002, 0xfd040003, 0xfd040004, 0xfd040005, 0xfd040006, 0xfd040007, +0xfd0400f8, 0xfd0400f9, 0xfd0400fa, 0xfd0400fb, 0xfd0400fc, 0xfd0400fd, 0xfd0400fe, 0xfd0400ff, +0xfd040100, 0xfd040101, 0xfd040102, 0xfd040103, 0xfd040104, 0xfd040105, 0xfd040106, 0xfd040107, +0xfd0401f8, 0xfd0401f9, 0xfd0401fa, 0xfd0401fb, 0xfd0401fc, 0xfd0401fd, 0xfd0401fe, 0xfd0401ff, +0xfd040200, 0xfd040201, 0xfd040202, 0xfd040203, 0xfd040204, 0xfd040205, 0xfd040206, 0xfd040207, +0xfd0402f8, 0xfd0402f9, 0xfd0402fa, 0xfd0402fb, 0xfd0402fc, 0xfd0402fd, 0xfd0402fe, 0xfd0402ff, +0xfd040300, 0xfd040301, 0xfd040302, 0xfd040303, 0xfd040304, 0xfd040305, 0xfd040306, 0xfd040307, +0xfd0403f8, 0xfd0403f9, 0xfd0403fa, 0xfd0403fb, 0xfd0403fc, 0xfd0403fd, 0xfd0403fe, 0xfd0403ff, +0xfd040400, 0xfd040401, 0xfd040402, 0xfd040403, 0xfd040404, 0xfd040405, 0xfd040406, 0xfd040407, +0xfd0404f8, 0xfd0404f9, 0xfd0404fa, 0xfd0404fb, 0xfd0404fc, 0xfd0404fd, 0xfd0404fe, 0xfd0404ff, +0xfd040500, 0xfd040501, 0xfd040502, 0xfd040503, 0xfd040504, 0xfd040505, 0xfd040506, 0xfd040507, +0xfd0405f8, 0xfd0405f9, 0xfd0405fa, 0xfd0405fb, 0xfd0405fc, 0xfd0405fd, 0xfd0405fe, 0xfd0405ff, +0xfd040600, 0xfd040601, 0xfd040602, 0xfd040603, 0xfd040604, 0xfd040605, 0xfd040606, 0xfd040607, +0xfd0406f8, 0xfd0406f9, 0xfd0406fa, 0xfd0406fb, 0xfd0406fc, 0xfd0406fd, 0xfd0406fe, 0xfd0406ff, +0xfd040700, 0xfd040701, 0xfd040702, 0xfd040703, 0xfd040704, 0xfd040705, 0xfd040706, 0xfd040707, +0xfd0407f8, 0xfd0407f9, 0xfd0407fa, 0xfd0407fb, 0xfd0407fc, 0xfd0407fd, 0xfd0407fe, 0xfd0407ff, +0xfd04f800, 0xfd04f801, 0xfd04f802, 0xfd04f803, 0xfd04f804, 0xfd04f805, 0xfd04f806, 0xfd04f807, +0xfd04f8f8, 0xfd04f8f9, 0xfd04f8fa, 0xfd04f8fb, 0xfd04f8fc, 0xfd04f8fd, 0xfd04f8fe, 0xfd04f8ff, +0xfd04f900, 0xfd04f901, 0xfd04f902, 0xfd04f903, 0xfd04f904, 0xfd04f905, 0xfd04f906, 0xfd04f907, +0xfd04f9f8, 0xfd04f9f9, 0xfd04f9fa, 0xfd04f9fb, 0xfd04f9fc, 0xfd04f9fd, 0xfd04f9fe, 0xfd04f9ff, +0xfd04fa00, 0xfd04fa01, 0xfd04fa02, 0xfd04fa03, 0xfd04fa04, 0xfd04fa05, 0xfd04fa06, 0xfd04fa07, +0xfd04faf8, 0xfd04faf9, 0xfd04fafa, 0xfd04fafb, 0xfd04fafc, 0xfd04fafd, 0xfd04fafe, 0xfd04faff, +0xfd04fb00, 0xfd04fb01, 0xfd04fb02, 0xfd04fb03, 0xfd04fb04, 0xfd04fb05, 0xfd04fb06, 0xfd04fb07, +0xfd04fbf8, 0xfd04fbf9, 0xfd04fbfa, 0xfd04fbfb, 0xfd04fbfc, 0xfd04fbfd, 0xfd04fbfe, 0xfd04fbff, +0xfd04fc00, 0xfd04fc01, 0xfd04fc02, 0xfd04fc03, 0xfd04fc04, 0xfd04fc05, 0xfd04fc06, 0xfd04fc07, +0xfd04fcf8, 0xfd04fcf9, 0xfd04fcfa, 0xfd04fcfb, 0xfd04fcfc, 0xfd04fcfd, 0xfd04fcfe, 0xfd04fcff, +0xfd04fd00, 0xfd04fd01, 0xfd04fd02, 0xfd04fd03, 0xfd04fd04, 0xfd04fd05, 0xfd04fd06, 0xfd04fd07, +0xfd04fdf8, 0xfd04fdf9, 0xfd04fdfa, 0xfd04fdfb, 0xfd04fdfc, 0xfd04fdfd, 0xfd04fdfe, 0xfd04fdff, +0xfd04fe00, 0xfd04fe01, 0xfd04fe02, 0xfd04fe03, 0xfd04fe04, 0xfd04fe05, 0xfd04fe06, 0xfd04fe07, +0xfd04fef8, 0xfd04fef9, 0xfd04fefa, 0xfd04fefb, 0xfd04fefc, 0xfd04fefd, 0xfd04fefe, 0xfd04feff, +0xfd04ff00, 0xfd04ff01, 0xfd04ff02, 0xfd04ff03, 0xfd04ff04, 0xfd04ff05, 0xfd04ff06, 0xfd04ff07, +0xfd04fff8, 0xfd04fff9, 0xfd04fffa, 0xfd04fffb, 0xfd04fffc, 0xfd04fffd, 0xfd04fffe, 0xfd04ffff, +0xfd050000, 0xfd050001, 0xfd050002, 0xfd050003, 0xfd050004, 0xfd050005, 0xfd050006, 0xfd050007, +0xfd0500f8, 0xfd0500f9, 0xfd0500fa, 0xfd0500fb, 0xfd0500fc, 0xfd0500fd, 0xfd0500fe, 0xfd0500ff, +0xfd050100, 0xfd050101, 0xfd050102, 0xfd050103, 0xfd050104, 0xfd050105, 0xfd050106, 0xfd050107, +0xfd0501f8, 0xfd0501f9, 0xfd0501fa, 0xfd0501fb, 0xfd0501fc, 0xfd0501fd, 0xfd0501fe, 0xfd0501ff, +0xfd050200, 0xfd050201, 0xfd050202, 0xfd050203, 0xfd050204, 0xfd050205, 0xfd050206, 0xfd050207, +0xfd0502f8, 0xfd0502f9, 0xfd0502fa, 0xfd0502fb, 0xfd0502fc, 0xfd0502fd, 0xfd0502fe, 0xfd0502ff, +0xfd050300, 0xfd050301, 0xfd050302, 0xfd050303, 0xfd050304, 0xfd050305, 0xfd050306, 0xfd050307, +0xfd0503f8, 0xfd0503f9, 0xfd0503fa, 0xfd0503fb, 0xfd0503fc, 0xfd0503fd, 0xfd0503fe, 0xfd0503ff, +0xfd050400, 0xfd050401, 0xfd050402, 0xfd050403, 0xfd050404, 0xfd050405, 0xfd050406, 0xfd050407, +0xfd0504f8, 0xfd0504f9, 0xfd0504fa, 0xfd0504fb, 0xfd0504fc, 0xfd0504fd, 0xfd0504fe, 0xfd0504ff, +0xfd050500, 0xfd050501, 0xfd050502, 0xfd050503, 0xfd050504, 0xfd050505, 0xfd050506, 0xfd050507, +0xfd0505f8, 0xfd0505f9, 0xfd0505fa, 0xfd0505fb, 0xfd0505fc, 0xfd0505fd, 0xfd0505fe, 0xfd0505ff, +0xfd050600, 0xfd050601, 0xfd050602, 0xfd050603, 0xfd050604, 0xfd050605, 0xfd050606, 0xfd050607, +0xfd0506f8, 0xfd0506f9, 0xfd0506fa, 0xfd0506fb, 0xfd0506fc, 0xfd0506fd, 0xfd0506fe, 0xfd0506ff, +0xfd050700, 0xfd050701, 0xfd050702, 0xfd050703, 0xfd050704, 0xfd050705, 0xfd050706, 0xfd050707, +0xfd0507f8, 0xfd0507f9, 0xfd0507fa, 0xfd0507fb, 0xfd0507fc, 0xfd0507fd, 0xfd0507fe, 0xfd0507ff, +0xfd05f800, 0xfd05f801, 0xfd05f802, 0xfd05f803, 0xfd05f804, 0xfd05f805, 0xfd05f806, 0xfd05f807, +0xfd05f8f8, 0xfd05f8f9, 0xfd05f8fa, 0xfd05f8fb, 0xfd05f8fc, 0xfd05f8fd, 0xfd05f8fe, 0xfd05f8ff, +0xfd05f900, 0xfd05f901, 0xfd05f902, 0xfd05f903, 0xfd05f904, 0xfd05f905, 0xfd05f906, 0xfd05f907, +0xfd05f9f8, 0xfd05f9f9, 0xfd05f9fa, 0xfd05f9fb, 0xfd05f9fc, 0xfd05f9fd, 0xfd05f9fe, 0xfd05f9ff, +0xfd05fa00, 0xfd05fa01, 0xfd05fa02, 0xfd05fa03, 0xfd05fa04, 0xfd05fa05, 0xfd05fa06, 0xfd05fa07, +0xfd05faf8, 0xfd05faf9, 0xfd05fafa, 0xfd05fafb, 0xfd05fafc, 0xfd05fafd, 0xfd05fafe, 0xfd05faff, +0xfd05fb00, 0xfd05fb01, 0xfd05fb02, 0xfd05fb03, 0xfd05fb04, 0xfd05fb05, 0xfd05fb06, 0xfd05fb07, +0xfd05fbf8, 0xfd05fbf9, 0xfd05fbfa, 0xfd05fbfb, 0xfd05fbfc, 0xfd05fbfd, 0xfd05fbfe, 0xfd05fbff, +0xfd05fc00, 0xfd05fc01, 0xfd05fc02, 0xfd05fc03, 0xfd05fc04, 0xfd05fc05, 0xfd05fc06, 0xfd05fc07, +0xfd05fcf8, 0xfd05fcf9, 0xfd05fcfa, 0xfd05fcfb, 0xfd05fcfc, 0xfd05fcfd, 0xfd05fcfe, 0xfd05fcff, +0xfd05fd00, 0xfd05fd01, 0xfd05fd02, 0xfd05fd03, 0xfd05fd04, 0xfd05fd05, 0xfd05fd06, 0xfd05fd07, +0xfd05fdf8, 0xfd05fdf9, 0xfd05fdfa, 0xfd05fdfb, 0xfd05fdfc, 0xfd05fdfd, 0xfd05fdfe, 0xfd05fdff, +0xfd05fe00, 0xfd05fe01, 0xfd05fe02, 0xfd05fe03, 0xfd05fe04, 0xfd05fe05, 0xfd05fe06, 0xfd05fe07, +0xfd05fef8, 0xfd05fef9, 0xfd05fefa, 0xfd05fefb, 0xfd05fefc, 0xfd05fefd, 0xfd05fefe, 0xfd05feff, +0xfd05ff00, 0xfd05ff01, 0xfd05ff02, 0xfd05ff03, 0xfd05ff04, 0xfd05ff05, 0xfd05ff06, 0xfd05ff07, +0xfd05fff8, 0xfd05fff9, 0xfd05fffa, 0xfd05fffb, 0xfd05fffc, 0xfd05fffd, 0xfd05fffe, 0xfd05ffff, +0xfd060000, 0xfd060001, 0xfd060002, 0xfd060003, 0xfd060004, 0xfd060005, 0xfd060006, 0xfd060007, +0xfd0600f8, 0xfd0600f9, 0xfd0600fa, 0xfd0600fb, 0xfd0600fc, 0xfd0600fd, 0xfd0600fe, 0xfd0600ff, +0xfd060100, 0xfd060101, 0xfd060102, 0xfd060103, 0xfd060104, 0xfd060105, 0xfd060106, 0xfd060107, +0xfd0601f8, 0xfd0601f9, 0xfd0601fa, 0xfd0601fb, 0xfd0601fc, 0xfd0601fd, 0xfd0601fe, 0xfd0601ff, +0xfd060200, 0xfd060201, 0xfd060202, 0xfd060203, 0xfd060204, 0xfd060205, 0xfd060206, 0xfd060207, +0xfd0602f8, 0xfd0602f9, 0xfd0602fa, 0xfd0602fb, 0xfd0602fc, 0xfd0602fd, 0xfd0602fe, 0xfd0602ff, +0xfd060300, 0xfd060301, 0xfd060302, 0xfd060303, 0xfd060304, 0xfd060305, 0xfd060306, 0xfd060307, +0xfd0603f8, 0xfd0603f9, 0xfd0603fa, 0xfd0603fb, 0xfd0603fc, 0xfd0603fd, 0xfd0603fe, 0xfd0603ff, +0xfd060400, 0xfd060401, 0xfd060402, 0xfd060403, 0xfd060404, 0xfd060405, 0xfd060406, 0xfd060407, +0xfd0604f8, 0xfd0604f9, 0xfd0604fa, 0xfd0604fb, 0xfd0604fc, 0xfd0604fd, 0xfd0604fe, 0xfd0604ff, +0xfd060500, 0xfd060501, 0xfd060502, 0xfd060503, 0xfd060504, 0xfd060505, 0xfd060506, 0xfd060507, +0xfd0605f8, 0xfd0605f9, 0xfd0605fa, 0xfd0605fb, 0xfd0605fc, 0xfd0605fd, 0xfd0605fe, 0xfd0605ff, +0xfd060600, 0xfd060601, 0xfd060602, 0xfd060603, 0xfd060604, 0xfd060605, 0xfd060606, 0xfd060607, +0xfd0606f8, 0xfd0606f9, 0xfd0606fa, 0xfd0606fb, 0xfd0606fc, 0xfd0606fd, 0xfd0606fe, 0xfd0606ff, +0xfd060700, 0xfd060701, 0xfd060702, 0xfd060703, 0xfd060704, 0xfd060705, 0xfd060706, 0xfd060707, +0xfd0607f8, 0xfd0607f9, 0xfd0607fa, 0xfd0607fb, 0xfd0607fc, 0xfd0607fd, 0xfd0607fe, 0xfd0607ff, +0xfd06f800, 0xfd06f801, 0xfd06f802, 0xfd06f803, 0xfd06f804, 0xfd06f805, 0xfd06f806, 0xfd06f807, +0xfd06f8f8, 0xfd06f8f9, 0xfd06f8fa, 0xfd06f8fb, 0xfd06f8fc, 0xfd06f8fd, 0xfd06f8fe, 0xfd06f8ff, +0xfd06f900, 0xfd06f901, 0xfd06f902, 0xfd06f903, 0xfd06f904, 0xfd06f905, 0xfd06f906, 0xfd06f907, +0xfd06f9f8, 0xfd06f9f9, 0xfd06f9fa, 0xfd06f9fb, 0xfd06f9fc, 0xfd06f9fd, 0xfd06f9fe, 0xfd06f9ff, +0xfd06fa00, 0xfd06fa01, 0xfd06fa02, 0xfd06fa03, 0xfd06fa04, 0xfd06fa05, 0xfd06fa06, 0xfd06fa07, +0xfd06faf8, 0xfd06faf9, 0xfd06fafa, 0xfd06fafb, 0xfd06fafc, 0xfd06fafd, 0xfd06fafe, 0xfd06faff, +0xfd06fb00, 0xfd06fb01, 0xfd06fb02, 0xfd06fb03, 0xfd06fb04, 0xfd06fb05, 0xfd06fb06, 0xfd06fb07, +0xfd06fbf8, 0xfd06fbf9, 0xfd06fbfa, 0xfd06fbfb, 0xfd06fbfc, 0xfd06fbfd, 0xfd06fbfe, 0xfd06fbff, +0xfd06fc00, 0xfd06fc01, 0xfd06fc02, 0xfd06fc03, 0xfd06fc04, 0xfd06fc05, 0xfd06fc06, 0xfd06fc07, +0xfd06fcf8, 0xfd06fcf9, 0xfd06fcfa, 0xfd06fcfb, 0xfd06fcfc, 0xfd06fcfd, 0xfd06fcfe, 0xfd06fcff, +0xfd06fd00, 0xfd06fd01, 0xfd06fd02, 0xfd06fd03, 0xfd06fd04, 0xfd06fd05, 0xfd06fd06, 0xfd06fd07, +0xfd06fdf8, 0xfd06fdf9, 0xfd06fdfa, 0xfd06fdfb, 0xfd06fdfc, 0xfd06fdfd, 0xfd06fdfe, 0xfd06fdff, +0xfd06fe00, 0xfd06fe01, 0xfd06fe02, 0xfd06fe03, 0xfd06fe04, 0xfd06fe05, 0xfd06fe06, 0xfd06fe07, +0xfd06fef8, 0xfd06fef9, 0xfd06fefa, 0xfd06fefb, 0xfd06fefc, 0xfd06fefd, 0xfd06fefe, 0xfd06feff, +0xfd06ff00, 0xfd06ff01, 0xfd06ff02, 0xfd06ff03, 0xfd06ff04, 0xfd06ff05, 0xfd06ff06, 0xfd06ff07, +0xfd06fff8, 0xfd06fff9, 0xfd06fffa, 0xfd06fffb, 0xfd06fffc, 0xfd06fffd, 0xfd06fffe, 0xfd06ffff, +0xfd070000, 0xfd070001, 0xfd070002, 0xfd070003, 0xfd070004, 0xfd070005, 0xfd070006, 0xfd070007, +0xfd0700f8, 0xfd0700f9, 0xfd0700fa, 0xfd0700fb, 0xfd0700fc, 0xfd0700fd, 0xfd0700fe, 0xfd0700ff, +0xfd070100, 0xfd070101, 0xfd070102, 0xfd070103, 0xfd070104, 0xfd070105, 0xfd070106, 0xfd070107, +0xfd0701f8, 0xfd0701f9, 0xfd0701fa, 0xfd0701fb, 0xfd0701fc, 0xfd0701fd, 0xfd0701fe, 0xfd0701ff, +0xfd070200, 0xfd070201, 0xfd070202, 0xfd070203, 0xfd070204, 0xfd070205, 0xfd070206, 0xfd070207, +0xfd0702f8, 0xfd0702f9, 0xfd0702fa, 0xfd0702fb, 0xfd0702fc, 0xfd0702fd, 0xfd0702fe, 0xfd0702ff, +0xfd070300, 0xfd070301, 0xfd070302, 0xfd070303, 0xfd070304, 0xfd070305, 0xfd070306, 0xfd070307, +0xfd0703f8, 0xfd0703f9, 0xfd0703fa, 0xfd0703fb, 0xfd0703fc, 0xfd0703fd, 0xfd0703fe, 0xfd0703ff, +0xfd070400, 0xfd070401, 0xfd070402, 0xfd070403, 0xfd070404, 0xfd070405, 0xfd070406, 0xfd070407, +0xfd0704f8, 0xfd0704f9, 0xfd0704fa, 0xfd0704fb, 0xfd0704fc, 0xfd0704fd, 0xfd0704fe, 0xfd0704ff, +0xfd070500, 0xfd070501, 0xfd070502, 0xfd070503, 0xfd070504, 0xfd070505, 0xfd070506, 0xfd070507, +0xfd0705f8, 0xfd0705f9, 0xfd0705fa, 0xfd0705fb, 0xfd0705fc, 0xfd0705fd, 0xfd0705fe, 0xfd0705ff, +0xfd070600, 0xfd070601, 0xfd070602, 0xfd070603, 0xfd070604, 0xfd070605, 0xfd070606, 0xfd070607, +0xfd0706f8, 0xfd0706f9, 0xfd0706fa, 0xfd0706fb, 0xfd0706fc, 0xfd0706fd, 0xfd0706fe, 0xfd0706ff, +0xfd070700, 0xfd070701, 0xfd070702, 0xfd070703, 0xfd070704, 0xfd070705, 0xfd070706, 0xfd070707, +0xfd0707f8, 0xfd0707f9, 0xfd0707fa, 0xfd0707fb, 0xfd0707fc, 0xfd0707fd, 0xfd0707fe, 0xfd0707ff, +0xfd07f800, 0xfd07f801, 0xfd07f802, 0xfd07f803, 0xfd07f804, 0xfd07f805, 0xfd07f806, 0xfd07f807, +0xfd07f8f8, 0xfd07f8f9, 0xfd07f8fa, 0xfd07f8fb, 0xfd07f8fc, 0xfd07f8fd, 0xfd07f8fe, 0xfd07f8ff, +0xfd07f900, 0xfd07f901, 0xfd07f902, 0xfd07f903, 0xfd07f904, 0xfd07f905, 0xfd07f906, 0xfd07f907, +0xfd07f9f8, 0xfd07f9f9, 0xfd07f9fa, 0xfd07f9fb, 0xfd07f9fc, 0xfd07f9fd, 0xfd07f9fe, 0xfd07f9ff, +0xfd07fa00, 0xfd07fa01, 0xfd07fa02, 0xfd07fa03, 0xfd07fa04, 0xfd07fa05, 0xfd07fa06, 0xfd07fa07, +0xfd07faf8, 0xfd07faf9, 0xfd07fafa, 0xfd07fafb, 0xfd07fafc, 0xfd07fafd, 0xfd07fafe, 0xfd07faff, +0xfd07fb00, 0xfd07fb01, 0xfd07fb02, 0xfd07fb03, 0xfd07fb04, 0xfd07fb05, 0xfd07fb06, 0xfd07fb07, +0xfd07fbf8, 0xfd07fbf9, 0xfd07fbfa, 0xfd07fbfb, 0xfd07fbfc, 0xfd07fbfd, 0xfd07fbfe, 0xfd07fbff, +0xfd07fc00, 0xfd07fc01, 0xfd07fc02, 0xfd07fc03, 0xfd07fc04, 0xfd07fc05, 0xfd07fc06, 0xfd07fc07, +0xfd07fcf8, 0xfd07fcf9, 0xfd07fcfa, 0xfd07fcfb, 0xfd07fcfc, 0xfd07fcfd, 0xfd07fcfe, 0xfd07fcff, +0xfd07fd00, 0xfd07fd01, 0xfd07fd02, 0xfd07fd03, 0xfd07fd04, 0xfd07fd05, 0xfd07fd06, 0xfd07fd07, +0xfd07fdf8, 0xfd07fdf9, 0xfd07fdfa, 0xfd07fdfb, 0xfd07fdfc, 0xfd07fdfd, 0xfd07fdfe, 0xfd07fdff, +0xfd07fe00, 0xfd07fe01, 0xfd07fe02, 0xfd07fe03, 0xfd07fe04, 0xfd07fe05, 0xfd07fe06, 0xfd07fe07, +0xfd07fef8, 0xfd07fef9, 0xfd07fefa, 0xfd07fefb, 0xfd07fefc, 0xfd07fefd, 0xfd07fefe, 0xfd07feff, +0xfd07ff00, 0xfd07ff01, 0xfd07ff02, 0xfd07ff03, 0xfd07ff04, 0xfd07ff05, 0xfd07ff06, 0xfd07ff07, +0xfd07fff8, 0xfd07fff9, 0xfd07fffa, 0xfd07fffb, 0xfd07fffc, 0xfd07fffd, 0xfd07fffe, 0xfd07ffff, +0xfdf80000, 0xfdf80001, 0xfdf80002, 0xfdf80003, 0xfdf80004, 0xfdf80005, 0xfdf80006, 0xfdf80007, +0xfdf800f8, 0xfdf800f9, 0xfdf800fa, 0xfdf800fb, 0xfdf800fc, 0xfdf800fd, 0xfdf800fe, 0xfdf800ff, +0xfdf80100, 0xfdf80101, 0xfdf80102, 0xfdf80103, 0xfdf80104, 0xfdf80105, 0xfdf80106, 0xfdf80107, +0xfdf801f8, 0xfdf801f9, 0xfdf801fa, 0xfdf801fb, 0xfdf801fc, 0xfdf801fd, 0xfdf801fe, 0xfdf801ff, +0xfdf80200, 0xfdf80201, 0xfdf80202, 0xfdf80203, 0xfdf80204, 0xfdf80205, 0xfdf80206, 0xfdf80207, +0xfdf802f8, 0xfdf802f9, 0xfdf802fa, 0xfdf802fb, 0xfdf802fc, 0xfdf802fd, 0xfdf802fe, 0xfdf802ff, +0xfdf80300, 0xfdf80301, 0xfdf80302, 0xfdf80303, 0xfdf80304, 0xfdf80305, 0xfdf80306, 0xfdf80307, +0xfdf803f8, 0xfdf803f9, 0xfdf803fa, 0xfdf803fb, 0xfdf803fc, 0xfdf803fd, 0xfdf803fe, 0xfdf803ff, +0xfdf80400, 0xfdf80401, 0xfdf80402, 0xfdf80403, 0xfdf80404, 0xfdf80405, 0xfdf80406, 0xfdf80407, +0xfdf804f8, 0xfdf804f9, 0xfdf804fa, 0xfdf804fb, 0xfdf804fc, 0xfdf804fd, 0xfdf804fe, 0xfdf804ff, +0xfdf80500, 0xfdf80501, 0xfdf80502, 0xfdf80503, 0xfdf80504, 0xfdf80505, 0xfdf80506, 0xfdf80507, +0xfdf805f8, 0xfdf805f9, 0xfdf805fa, 0xfdf805fb, 0xfdf805fc, 0xfdf805fd, 0xfdf805fe, 0xfdf805ff, +0xfdf80600, 0xfdf80601, 0xfdf80602, 0xfdf80603, 0xfdf80604, 0xfdf80605, 0xfdf80606, 0xfdf80607, +0xfdf806f8, 0xfdf806f9, 0xfdf806fa, 0xfdf806fb, 0xfdf806fc, 0xfdf806fd, 0xfdf806fe, 0xfdf806ff, +0xfdf80700, 0xfdf80701, 0xfdf80702, 0xfdf80703, 0xfdf80704, 0xfdf80705, 0xfdf80706, 0xfdf80707, +0xfdf807f8, 0xfdf807f9, 0xfdf807fa, 0xfdf807fb, 0xfdf807fc, 0xfdf807fd, 0xfdf807fe, 0xfdf807ff, +0xfdf8f800, 0xfdf8f801, 0xfdf8f802, 0xfdf8f803, 0xfdf8f804, 0xfdf8f805, 0xfdf8f806, 0xfdf8f807, +0xfdf8f8f8, 0xfdf8f8f9, 0xfdf8f8fa, 0xfdf8f8fb, 0xfdf8f8fc, 0xfdf8f8fd, 0xfdf8f8fe, 0xfdf8f8ff, +0xfdf8f900, 0xfdf8f901, 0xfdf8f902, 0xfdf8f903, 0xfdf8f904, 0xfdf8f905, 0xfdf8f906, 0xfdf8f907, +0xfdf8f9f8, 0xfdf8f9f9, 0xfdf8f9fa, 0xfdf8f9fb, 0xfdf8f9fc, 0xfdf8f9fd, 0xfdf8f9fe, 0xfdf8f9ff, +0xfdf8fa00, 0xfdf8fa01, 0xfdf8fa02, 0xfdf8fa03, 0xfdf8fa04, 0xfdf8fa05, 0xfdf8fa06, 0xfdf8fa07, +0xfdf8faf8, 0xfdf8faf9, 0xfdf8fafa, 0xfdf8fafb, 0xfdf8fafc, 0xfdf8fafd, 0xfdf8fafe, 0xfdf8faff, +0xfdf8fb00, 0xfdf8fb01, 0xfdf8fb02, 0xfdf8fb03, 0xfdf8fb04, 0xfdf8fb05, 0xfdf8fb06, 0xfdf8fb07, +0xfdf8fbf8, 0xfdf8fbf9, 0xfdf8fbfa, 0xfdf8fbfb, 0xfdf8fbfc, 0xfdf8fbfd, 0xfdf8fbfe, 0xfdf8fbff, +0xfdf8fc00, 0xfdf8fc01, 0xfdf8fc02, 0xfdf8fc03, 0xfdf8fc04, 0xfdf8fc05, 0xfdf8fc06, 0xfdf8fc07, +0xfdf8fcf8, 0xfdf8fcf9, 0xfdf8fcfa, 0xfdf8fcfb, 0xfdf8fcfc, 0xfdf8fcfd, 0xfdf8fcfe, 0xfdf8fcff, +0xfdf8fd00, 0xfdf8fd01, 0xfdf8fd02, 0xfdf8fd03, 0xfdf8fd04, 0xfdf8fd05, 0xfdf8fd06, 0xfdf8fd07, +0xfdf8fdf8, 0xfdf8fdf9, 0xfdf8fdfa, 0xfdf8fdfb, 0xfdf8fdfc, 0xfdf8fdfd, 0xfdf8fdfe, 0xfdf8fdff, +0xfdf8fe00, 0xfdf8fe01, 0xfdf8fe02, 0xfdf8fe03, 0xfdf8fe04, 0xfdf8fe05, 0xfdf8fe06, 0xfdf8fe07, +0xfdf8fef8, 0xfdf8fef9, 0xfdf8fefa, 0xfdf8fefb, 0xfdf8fefc, 0xfdf8fefd, 0xfdf8fefe, 0xfdf8feff, +0xfdf8ff00, 0xfdf8ff01, 0xfdf8ff02, 0xfdf8ff03, 0xfdf8ff04, 0xfdf8ff05, 0xfdf8ff06, 0xfdf8ff07, +0xfdf8fff8, 0xfdf8fff9, 0xfdf8fffa, 0xfdf8fffb, 0xfdf8fffc, 0xfdf8fffd, 0xfdf8fffe, 0xfdf8ffff, +0xfdf90000, 0xfdf90001, 0xfdf90002, 0xfdf90003, 0xfdf90004, 0xfdf90005, 0xfdf90006, 0xfdf90007, +0xfdf900f8, 0xfdf900f9, 0xfdf900fa, 0xfdf900fb, 0xfdf900fc, 0xfdf900fd, 0xfdf900fe, 0xfdf900ff, +0xfdf90100, 0xfdf90101, 0xfdf90102, 0xfdf90103, 0xfdf90104, 0xfdf90105, 0xfdf90106, 0xfdf90107, +0xfdf901f8, 0xfdf901f9, 0xfdf901fa, 0xfdf901fb, 0xfdf901fc, 0xfdf901fd, 0xfdf901fe, 0xfdf901ff, +0xfdf90200, 0xfdf90201, 0xfdf90202, 0xfdf90203, 0xfdf90204, 0xfdf90205, 0xfdf90206, 0xfdf90207, +0xfdf902f8, 0xfdf902f9, 0xfdf902fa, 0xfdf902fb, 0xfdf902fc, 0xfdf902fd, 0xfdf902fe, 0xfdf902ff, +0xfdf90300, 0xfdf90301, 0xfdf90302, 0xfdf90303, 0xfdf90304, 0xfdf90305, 0xfdf90306, 0xfdf90307, +0xfdf903f8, 0xfdf903f9, 0xfdf903fa, 0xfdf903fb, 0xfdf903fc, 0xfdf903fd, 0xfdf903fe, 0xfdf903ff, +0xfdf90400, 0xfdf90401, 0xfdf90402, 0xfdf90403, 0xfdf90404, 0xfdf90405, 0xfdf90406, 0xfdf90407, +0xfdf904f8, 0xfdf904f9, 0xfdf904fa, 0xfdf904fb, 0xfdf904fc, 0xfdf904fd, 0xfdf904fe, 0xfdf904ff, +0xfdf90500, 0xfdf90501, 0xfdf90502, 0xfdf90503, 0xfdf90504, 0xfdf90505, 0xfdf90506, 0xfdf90507, +0xfdf905f8, 0xfdf905f9, 0xfdf905fa, 0xfdf905fb, 0xfdf905fc, 0xfdf905fd, 0xfdf905fe, 0xfdf905ff, +0xfdf90600, 0xfdf90601, 0xfdf90602, 0xfdf90603, 0xfdf90604, 0xfdf90605, 0xfdf90606, 0xfdf90607, +0xfdf906f8, 0xfdf906f9, 0xfdf906fa, 0xfdf906fb, 0xfdf906fc, 0xfdf906fd, 0xfdf906fe, 0xfdf906ff, +0xfdf90700, 0xfdf90701, 0xfdf90702, 0xfdf90703, 0xfdf90704, 0xfdf90705, 0xfdf90706, 0xfdf90707, +0xfdf907f8, 0xfdf907f9, 0xfdf907fa, 0xfdf907fb, 0xfdf907fc, 0xfdf907fd, 0xfdf907fe, 0xfdf907ff, +0xfdf9f800, 0xfdf9f801, 0xfdf9f802, 0xfdf9f803, 0xfdf9f804, 0xfdf9f805, 0xfdf9f806, 0xfdf9f807, +0xfdf9f8f8, 0xfdf9f8f9, 0xfdf9f8fa, 0xfdf9f8fb, 0xfdf9f8fc, 0xfdf9f8fd, 0xfdf9f8fe, 0xfdf9f8ff, +0xfdf9f900, 0xfdf9f901, 0xfdf9f902, 0xfdf9f903, 0xfdf9f904, 0xfdf9f905, 0xfdf9f906, 0xfdf9f907, +0xfdf9f9f8, 0xfdf9f9f9, 0xfdf9f9fa, 0xfdf9f9fb, 0xfdf9f9fc, 0xfdf9f9fd, 0xfdf9f9fe, 0xfdf9f9ff, +0xfdf9fa00, 0xfdf9fa01, 0xfdf9fa02, 0xfdf9fa03, 0xfdf9fa04, 0xfdf9fa05, 0xfdf9fa06, 0xfdf9fa07, +0xfdf9faf8, 0xfdf9faf9, 0xfdf9fafa, 0xfdf9fafb, 0xfdf9fafc, 0xfdf9fafd, 0xfdf9fafe, 0xfdf9faff, +0xfdf9fb00, 0xfdf9fb01, 0xfdf9fb02, 0xfdf9fb03, 0xfdf9fb04, 0xfdf9fb05, 0xfdf9fb06, 0xfdf9fb07, +0xfdf9fbf8, 0xfdf9fbf9, 0xfdf9fbfa, 0xfdf9fbfb, 0xfdf9fbfc, 0xfdf9fbfd, 0xfdf9fbfe, 0xfdf9fbff, +0xfdf9fc00, 0xfdf9fc01, 0xfdf9fc02, 0xfdf9fc03, 0xfdf9fc04, 0xfdf9fc05, 0xfdf9fc06, 0xfdf9fc07, +0xfdf9fcf8, 0xfdf9fcf9, 0xfdf9fcfa, 0xfdf9fcfb, 0xfdf9fcfc, 0xfdf9fcfd, 0xfdf9fcfe, 0xfdf9fcff, +0xfdf9fd00, 0xfdf9fd01, 0xfdf9fd02, 0xfdf9fd03, 0xfdf9fd04, 0xfdf9fd05, 0xfdf9fd06, 0xfdf9fd07, +0xfdf9fdf8, 0xfdf9fdf9, 0xfdf9fdfa, 0xfdf9fdfb, 0xfdf9fdfc, 0xfdf9fdfd, 0xfdf9fdfe, 0xfdf9fdff, +0xfdf9fe00, 0xfdf9fe01, 0xfdf9fe02, 0xfdf9fe03, 0xfdf9fe04, 0xfdf9fe05, 0xfdf9fe06, 0xfdf9fe07, +0xfdf9fef8, 0xfdf9fef9, 0xfdf9fefa, 0xfdf9fefb, 0xfdf9fefc, 0xfdf9fefd, 0xfdf9fefe, 0xfdf9feff, +0xfdf9ff00, 0xfdf9ff01, 0xfdf9ff02, 0xfdf9ff03, 0xfdf9ff04, 0xfdf9ff05, 0xfdf9ff06, 0xfdf9ff07, +0xfdf9fff8, 0xfdf9fff9, 0xfdf9fffa, 0xfdf9fffb, 0xfdf9fffc, 0xfdf9fffd, 0xfdf9fffe, 0xfdf9ffff, +0xfdfa0000, 0xfdfa0001, 0xfdfa0002, 0xfdfa0003, 0xfdfa0004, 0xfdfa0005, 0xfdfa0006, 0xfdfa0007, +0xfdfa00f8, 0xfdfa00f9, 0xfdfa00fa, 0xfdfa00fb, 0xfdfa00fc, 0xfdfa00fd, 0xfdfa00fe, 0xfdfa00ff, +0xfdfa0100, 0xfdfa0101, 0xfdfa0102, 0xfdfa0103, 0xfdfa0104, 0xfdfa0105, 0xfdfa0106, 0xfdfa0107, +0xfdfa01f8, 0xfdfa01f9, 0xfdfa01fa, 0xfdfa01fb, 0xfdfa01fc, 0xfdfa01fd, 0xfdfa01fe, 0xfdfa01ff, +0xfdfa0200, 0xfdfa0201, 0xfdfa0202, 0xfdfa0203, 0xfdfa0204, 0xfdfa0205, 0xfdfa0206, 0xfdfa0207, +0xfdfa02f8, 0xfdfa02f9, 0xfdfa02fa, 0xfdfa02fb, 0xfdfa02fc, 0xfdfa02fd, 0xfdfa02fe, 0xfdfa02ff, +0xfdfa0300, 0xfdfa0301, 0xfdfa0302, 0xfdfa0303, 0xfdfa0304, 0xfdfa0305, 0xfdfa0306, 0xfdfa0307, +0xfdfa03f8, 0xfdfa03f9, 0xfdfa03fa, 0xfdfa03fb, 0xfdfa03fc, 0xfdfa03fd, 0xfdfa03fe, 0xfdfa03ff, +0xfdfa0400, 0xfdfa0401, 0xfdfa0402, 0xfdfa0403, 0xfdfa0404, 0xfdfa0405, 0xfdfa0406, 0xfdfa0407, +0xfdfa04f8, 0xfdfa04f9, 0xfdfa04fa, 0xfdfa04fb, 0xfdfa04fc, 0xfdfa04fd, 0xfdfa04fe, 0xfdfa04ff, +0xfdfa0500, 0xfdfa0501, 0xfdfa0502, 0xfdfa0503, 0xfdfa0504, 0xfdfa0505, 0xfdfa0506, 0xfdfa0507, +0xfdfa05f8, 0xfdfa05f9, 0xfdfa05fa, 0xfdfa05fb, 0xfdfa05fc, 0xfdfa05fd, 0xfdfa05fe, 0xfdfa05ff, +0xfdfa0600, 0xfdfa0601, 0xfdfa0602, 0xfdfa0603, 0xfdfa0604, 0xfdfa0605, 0xfdfa0606, 0xfdfa0607, +0xfdfa06f8, 0xfdfa06f9, 0xfdfa06fa, 0xfdfa06fb, 0xfdfa06fc, 0xfdfa06fd, 0xfdfa06fe, 0xfdfa06ff, +0xfdfa0700, 0xfdfa0701, 0xfdfa0702, 0xfdfa0703, 0xfdfa0704, 0xfdfa0705, 0xfdfa0706, 0xfdfa0707, +0xfdfa07f8, 0xfdfa07f9, 0xfdfa07fa, 0xfdfa07fb, 0xfdfa07fc, 0xfdfa07fd, 0xfdfa07fe, 0xfdfa07ff, +0xfdfaf800, 0xfdfaf801, 0xfdfaf802, 0xfdfaf803, 0xfdfaf804, 0xfdfaf805, 0xfdfaf806, 0xfdfaf807, +0xfdfaf8f8, 0xfdfaf8f9, 0xfdfaf8fa, 0xfdfaf8fb, 0xfdfaf8fc, 0xfdfaf8fd, 0xfdfaf8fe, 0xfdfaf8ff, +0xfdfaf900, 0xfdfaf901, 0xfdfaf902, 0xfdfaf903, 0xfdfaf904, 0xfdfaf905, 0xfdfaf906, 0xfdfaf907, +0xfdfaf9f8, 0xfdfaf9f9, 0xfdfaf9fa, 0xfdfaf9fb, 0xfdfaf9fc, 0xfdfaf9fd, 0xfdfaf9fe, 0xfdfaf9ff, +0xfdfafa00, 0xfdfafa01, 0xfdfafa02, 0xfdfafa03, 0xfdfafa04, 0xfdfafa05, 0xfdfafa06, 0xfdfafa07, +0xfdfafaf8, 0xfdfafaf9, 0xfdfafafa, 0xfdfafafb, 0xfdfafafc, 0xfdfafafd, 0xfdfafafe, 0xfdfafaff, +0xfdfafb00, 0xfdfafb01, 0xfdfafb02, 0xfdfafb03, 0xfdfafb04, 0xfdfafb05, 0xfdfafb06, 0xfdfafb07, +0xfdfafbf8, 0xfdfafbf9, 0xfdfafbfa, 0xfdfafbfb, 0xfdfafbfc, 0xfdfafbfd, 0xfdfafbfe, 0xfdfafbff, +0xfdfafc00, 0xfdfafc01, 0xfdfafc02, 0xfdfafc03, 0xfdfafc04, 0xfdfafc05, 0xfdfafc06, 0xfdfafc07, +0xfdfafcf8, 0xfdfafcf9, 0xfdfafcfa, 0xfdfafcfb, 0xfdfafcfc, 0xfdfafcfd, 0xfdfafcfe, 0xfdfafcff, +0xfdfafd00, 0xfdfafd01, 0xfdfafd02, 0xfdfafd03, 0xfdfafd04, 0xfdfafd05, 0xfdfafd06, 0xfdfafd07, +0xfdfafdf8, 0xfdfafdf9, 0xfdfafdfa, 0xfdfafdfb, 0xfdfafdfc, 0xfdfafdfd, 0xfdfafdfe, 0xfdfafdff, +0xfdfafe00, 0xfdfafe01, 0xfdfafe02, 0xfdfafe03, 0xfdfafe04, 0xfdfafe05, 0xfdfafe06, 0xfdfafe07, +0xfdfafef8, 0xfdfafef9, 0xfdfafefa, 0xfdfafefb, 0xfdfafefc, 0xfdfafefd, 0xfdfafefe, 0xfdfafeff, +0xfdfaff00, 0xfdfaff01, 0xfdfaff02, 0xfdfaff03, 0xfdfaff04, 0xfdfaff05, 0xfdfaff06, 0xfdfaff07, +0xfdfafff8, 0xfdfafff9, 0xfdfafffa, 0xfdfafffb, 0xfdfafffc, 0xfdfafffd, 0xfdfafffe, 0xfdfaffff, +0xfdfb0000, 0xfdfb0001, 0xfdfb0002, 0xfdfb0003, 0xfdfb0004, 0xfdfb0005, 0xfdfb0006, 0xfdfb0007, +0xfdfb00f8, 0xfdfb00f9, 0xfdfb00fa, 0xfdfb00fb, 0xfdfb00fc, 0xfdfb00fd, 0xfdfb00fe, 0xfdfb00ff, +0xfdfb0100, 0xfdfb0101, 0xfdfb0102, 0xfdfb0103, 0xfdfb0104, 0xfdfb0105, 0xfdfb0106, 0xfdfb0107, +0xfdfb01f8, 0xfdfb01f9, 0xfdfb01fa, 0xfdfb01fb, 0xfdfb01fc, 0xfdfb01fd, 0xfdfb01fe, 0xfdfb01ff, +0xfdfb0200, 0xfdfb0201, 0xfdfb0202, 0xfdfb0203, 0xfdfb0204, 0xfdfb0205, 0xfdfb0206, 0xfdfb0207, +0xfdfb02f8, 0xfdfb02f9, 0xfdfb02fa, 0xfdfb02fb, 0xfdfb02fc, 0xfdfb02fd, 0xfdfb02fe, 0xfdfb02ff, +0xfdfb0300, 0xfdfb0301, 0xfdfb0302, 0xfdfb0303, 0xfdfb0304, 0xfdfb0305, 0xfdfb0306, 0xfdfb0307, +0xfdfb03f8, 0xfdfb03f9, 0xfdfb03fa, 0xfdfb03fb, 0xfdfb03fc, 0xfdfb03fd, 0xfdfb03fe, 0xfdfb03ff, +0xfdfb0400, 0xfdfb0401, 0xfdfb0402, 0xfdfb0403, 0xfdfb0404, 0xfdfb0405, 0xfdfb0406, 0xfdfb0407, +0xfdfb04f8, 0xfdfb04f9, 0xfdfb04fa, 0xfdfb04fb, 0xfdfb04fc, 0xfdfb04fd, 0xfdfb04fe, 0xfdfb04ff, +0xfdfb0500, 0xfdfb0501, 0xfdfb0502, 0xfdfb0503, 0xfdfb0504, 0xfdfb0505, 0xfdfb0506, 0xfdfb0507, +0xfdfb05f8, 0xfdfb05f9, 0xfdfb05fa, 0xfdfb05fb, 0xfdfb05fc, 0xfdfb05fd, 0xfdfb05fe, 0xfdfb05ff, +0xfdfb0600, 0xfdfb0601, 0xfdfb0602, 0xfdfb0603, 0xfdfb0604, 0xfdfb0605, 0xfdfb0606, 0xfdfb0607, +0xfdfb06f8, 0xfdfb06f9, 0xfdfb06fa, 0xfdfb06fb, 0xfdfb06fc, 0xfdfb06fd, 0xfdfb06fe, 0xfdfb06ff, +0xfdfb0700, 0xfdfb0701, 0xfdfb0702, 0xfdfb0703, 0xfdfb0704, 0xfdfb0705, 0xfdfb0706, 0xfdfb0707, +0xfdfb07f8, 0xfdfb07f9, 0xfdfb07fa, 0xfdfb07fb, 0xfdfb07fc, 0xfdfb07fd, 0xfdfb07fe, 0xfdfb07ff, +0xfdfbf800, 0xfdfbf801, 0xfdfbf802, 0xfdfbf803, 0xfdfbf804, 0xfdfbf805, 0xfdfbf806, 0xfdfbf807, +0xfdfbf8f8, 0xfdfbf8f9, 0xfdfbf8fa, 0xfdfbf8fb, 0xfdfbf8fc, 0xfdfbf8fd, 0xfdfbf8fe, 0xfdfbf8ff, +0xfdfbf900, 0xfdfbf901, 0xfdfbf902, 0xfdfbf903, 0xfdfbf904, 0xfdfbf905, 0xfdfbf906, 0xfdfbf907, +0xfdfbf9f8, 0xfdfbf9f9, 0xfdfbf9fa, 0xfdfbf9fb, 0xfdfbf9fc, 0xfdfbf9fd, 0xfdfbf9fe, 0xfdfbf9ff, +0xfdfbfa00, 0xfdfbfa01, 0xfdfbfa02, 0xfdfbfa03, 0xfdfbfa04, 0xfdfbfa05, 0xfdfbfa06, 0xfdfbfa07, +0xfdfbfaf8, 0xfdfbfaf9, 0xfdfbfafa, 0xfdfbfafb, 0xfdfbfafc, 0xfdfbfafd, 0xfdfbfafe, 0xfdfbfaff, +0xfdfbfb00, 0xfdfbfb01, 0xfdfbfb02, 0xfdfbfb03, 0xfdfbfb04, 0xfdfbfb05, 0xfdfbfb06, 0xfdfbfb07, +0xfdfbfbf8, 0xfdfbfbf9, 0xfdfbfbfa, 0xfdfbfbfb, 0xfdfbfbfc, 0xfdfbfbfd, 0xfdfbfbfe, 0xfdfbfbff, +0xfdfbfc00, 0xfdfbfc01, 0xfdfbfc02, 0xfdfbfc03, 0xfdfbfc04, 0xfdfbfc05, 0xfdfbfc06, 0xfdfbfc07, +0xfdfbfcf8, 0xfdfbfcf9, 0xfdfbfcfa, 0xfdfbfcfb, 0xfdfbfcfc, 0xfdfbfcfd, 0xfdfbfcfe, 0xfdfbfcff, +0xfdfbfd00, 0xfdfbfd01, 0xfdfbfd02, 0xfdfbfd03, 0xfdfbfd04, 0xfdfbfd05, 0xfdfbfd06, 0xfdfbfd07, +0xfdfbfdf8, 0xfdfbfdf9, 0xfdfbfdfa, 0xfdfbfdfb, 0xfdfbfdfc, 0xfdfbfdfd, 0xfdfbfdfe, 0xfdfbfdff, +0xfdfbfe00, 0xfdfbfe01, 0xfdfbfe02, 0xfdfbfe03, 0xfdfbfe04, 0xfdfbfe05, 0xfdfbfe06, 0xfdfbfe07, +0xfdfbfef8, 0xfdfbfef9, 0xfdfbfefa, 0xfdfbfefb, 0xfdfbfefc, 0xfdfbfefd, 0xfdfbfefe, 0xfdfbfeff, +0xfdfbff00, 0xfdfbff01, 0xfdfbff02, 0xfdfbff03, 0xfdfbff04, 0xfdfbff05, 0xfdfbff06, 0xfdfbff07, +0xfdfbfff8, 0xfdfbfff9, 0xfdfbfffa, 0xfdfbfffb, 0xfdfbfffc, 0xfdfbfffd, 0xfdfbfffe, 0xfdfbffff, +0xfdfc0000, 0xfdfc0001, 0xfdfc0002, 0xfdfc0003, 0xfdfc0004, 0xfdfc0005, 0xfdfc0006, 0xfdfc0007, +0xfdfc00f8, 0xfdfc00f9, 0xfdfc00fa, 0xfdfc00fb, 0xfdfc00fc, 0xfdfc00fd, 0xfdfc00fe, 0xfdfc00ff, +0xfdfc0100, 0xfdfc0101, 0xfdfc0102, 0xfdfc0103, 0xfdfc0104, 0xfdfc0105, 0xfdfc0106, 0xfdfc0107, +0xfdfc01f8, 0xfdfc01f9, 0xfdfc01fa, 0xfdfc01fb, 0xfdfc01fc, 0xfdfc01fd, 0xfdfc01fe, 0xfdfc01ff, +0xfdfc0200, 0xfdfc0201, 0xfdfc0202, 0xfdfc0203, 0xfdfc0204, 0xfdfc0205, 0xfdfc0206, 0xfdfc0207, +0xfdfc02f8, 0xfdfc02f9, 0xfdfc02fa, 0xfdfc02fb, 0xfdfc02fc, 0xfdfc02fd, 0xfdfc02fe, 0xfdfc02ff, +0xfdfc0300, 0xfdfc0301, 0xfdfc0302, 0xfdfc0303, 0xfdfc0304, 0xfdfc0305, 0xfdfc0306, 0xfdfc0307, +0xfdfc03f8, 0xfdfc03f9, 0xfdfc03fa, 0xfdfc03fb, 0xfdfc03fc, 0xfdfc03fd, 0xfdfc03fe, 0xfdfc03ff, +0xfdfc0400, 0xfdfc0401, 0xfdfc0402, 0xfdfc0403, 0xfdfc0404, 0xfdfc0405, 0xfdfc0406, 0xfdfc0407, +0xfdfc04f8, 0xfdfc04f9, 0xfdfc04fa, 0xfdfc04fb, 0xfdfc04fc, 0xfdfc04fd, 0xfdfc04fe, 0xfdfc04ff, +0xfdfc0500, 0xfdfc0501, 0xfdfc0502, 0xfdfc0503, 0xfdfc0504, 0xfdfc0505, 0xfdfc0506, 0xfdfc0507, +0xfdfc05f8, 0xfdfc05f9, 0xfdfc05fa, 0xfdfc05fb, 0xfdfc05fc, 0xfdfc05fd, 0xfdfc05fe, 0xfdfc05ff, +0xfdfc0600, 0xfdfc0601, 0xfdfc0602, 0xfdfc0603, 0xfdfc0604, 0xfdfc0605, 0xfdfc0606, 0xfdfc0607, +0xfdfc06f8, 0xfdfc06f9, 0xfdfc06fa, 0xfdfc06fb, 0xfdfc06fc, 0xfdfc06fd, 0xfdfc06fe, 0xfdfc06ff, +0xfdfc0700, 0xfdfc0701, 0xfdfc0702, 0xfdfc0703, 0xfdfc0704, 0xfdfc0705, 0xfdfc0706, 0xfdfc0707, +0xfdfc07f8, 0xfdfc07f9, 0xfdfc07fa, 0xfdfc07fb, 0xfdfc07fc, 0xfdfc07fd, 0xfdfc07fe, 0xfdfc07ff, +0xfdfcf800, 0xfdfcf801, 0xfdfcf802, 0xfdfcf803, 0xfdfcf804, 0xfdfcf805, 0xfdfcf806, 0xfdfcf807, +0xfdfcf8f8, 0xfdfcf8f9, 0xfdfcf8fa, 0xfdfcf8fb, 0xfdfcf8fc, 0xfdfcf8fd, 0xfdfcf8fe, 0xfdfcf8ff, +0xfdfcf900, 0xfdfcf901, 0xfdfcf902, 0xfdfcf903, 0xfdfcf904, 0xfdfcf905, 0xfdfcf906, 0xfdfcf907, +0xfdfcf9f8, 0xfdfcf9f9, 0xfdfcf9fa, 0xfdfcf9fb, 0xfdfcf9fc, 0xfdfcf9fd, 0xfdfcf9fe, 0xfdfcf9ff, +0xfdfcfa00, 0xfdfcfa01, 0xfdfcfa02, 0xfdfcfa03, 0xfdfcfa04, 0xfdfcfa05, 0xfdfcfa06, 0xfdfcfa07, +0xfdfcfaf8, 0xfdfcfaf9, 0xfdfcfafa, 0xfdfcfafb, 0xfdfcfafc, 0xfdfcfafd, 0xfdfcfafe, 0xfdfcfaff, +0xfdfcfb00, 0xfdfcfb01, 0xfdfcfb02, 0xfdfcfb03, 0xfdfcfb04, 0xfdfcfb05, 0xfdfcfb06, 0xfdfcfb07, +0xfdfcfbf8, 0xfdfcfbf9, 0xfdfcfbfa, 0xfdfcfbfb, 0xfdfcfbfc, 0xfdfcfbfd, 0xfdfcfbfe, 0xfdfcfbff, +0xfdfcfc00, 0xfdfcfc01, 0xfdfcfc02, 0xfdfcfc03, 0xfdfcfc04, 0xfdfcfc05, 0xfdfcfc06, 0xfdfcfc07, +0xfdfcfcf8, 0xfdfcfcf9, 0xfdfcfcfa, 0xfdfcfcfb, 0xfdfcfcfc, 0xfdfcfcfd, 0xfdfcfcfe, 0xfdfcfcff, +0xfdfcfd00, 0xfdfcfd01, 0xfdfcfd02, 0xfdfcfd03, 0xfdfcfd04, 0xfdfcfd05, 0xfdfcfd06, 0xfdfcfd07, +0xfdfcfdf8, 0xfdfcfdf9, 0xfdfcfdfa, 0xfdfcfdfb, 0xfdfcfdfc, 0xfdfcfdfd, 0xfdfcfdfe, 0xfdfcfdff, +0xfdfcfe00, 0xfdfcfe01, 0xfdfcfe02, 0xfdfcfe03, 0xfdfcfe04, 0xfdfcfe05, 0xfdfcfe06, 0xfdfcfe07, +0xfdfcfef8, 0xfdfcfef9, 0xfdfcfefa, 0xfdfcfefb, 0xfdfcfefc, 0xfdfcfefd, 0xfdfcfefe, 0xfdfcfeff, +0xfdfcff00, 0xfdfcff01, 0xfdfcff02, 0xfdfcff03, 0xfdfcff04, 0xfdfcff05, 0xfdfcff06, 0xfdfcff07, +0xfdfcfff8, 0xfdfcfff9, 0xfdfcfffa, 0xfdfcfffb, 0xfdfcfffc, 0xfdfcfffd, 0xfdfcfffe, 0xfdfcffff, +0xfdfd0000, 0xfdfd0001, 0xfdfd0002, 0xfdfd0003, 0xfdfd0004, 0xfdfd0005, 0xfdfd0006, 0xfdfd0007, +0xfdfd00f8, 0xfdfd00f9, 0xfdfd00fa, 0xfdfd00fb, 0xfdfd00fc, 0xfdfd00fd, 0xfdfd00fe, 0xfdfd00ff, +0xfdfd0100, 0xfdfd0101, 0xfdfd0102, 0xfdfd0103, 0xfdfd0104, 0xfdfd0105, 0xfdfd0106, 0xfdfd0107, +0xfdfd01f8, 0xfdfd01f9, 0xfdfd01fa, 0xfdfd01fb, 0xfdfd01fc, 0xfdfd01fd, 0xfdfd01fe, 0xfdfd01ff, +0xfdfd0200, 0xfdfd0201, 0xfdfd0202, 0xfdfd0203, 0xfdfd0204, 0xfdfd0205, 0xfdfd0206, 0xfdfd0207, +0xfdfd02f8, 0xfdfd02f9, 0xfdfd02fa, 0xfdfd02fb, 0xfdfd02fc, 0xfdfd02fd, 0xfdfd02fe, 0xfdfd02ff, +0xfdfd0300, 0xfdfd0301, 0xfdfd0302, 0xfdfd0303, 0xfdfd0304, 0xfdfd0305, 0xfdfd0306, 0xfdfd0307, +0xfdfd03f8, 0xfdfd03f9, 0xfdfd03fa, 0xfdfd03fb, 0xfdfd03fc, 0xfdfd03fd, 0xfdfd03fe, 0xfdfd03ff, +0xfdfd0400, 0xfdfd0401, 0xfdfd0402, 0xfdfd0403, 0xfdfd0404, 0xfdfd0405, 0xfdfd0406, 0xfdfd0407, +0xfdfd04f8, 0xfdfd04f9, 0xfdfd04fa, 0xfdfd04fb, 0xfdfd04fc, 0xfdfd04fd, 0xfdfd04fe, 0xfdfd04ff, +0xfdfd0500, 0xfdfd0501, 0xfdfd0502, 0xfdfd0503, 0xfdfd0504, 0xfdfd0505, 0xfdfd0506, 0xfdfd0507, +0xfdfd05f8, 0xfdfd05f9, 0xfdfd05fa, 0xfdfd05fb, 0xfdfd05fc, 0xfdfd05fd, 0xfdfd05fe, 0xfdfd05ff, +0xfdfd0600, 0xfdfd0601, 0xfdfd0602, 0xfdfd0603, 0xfdfd0604, 0xfdfd0605, 0xfdfd0606, 0xfdfd0607, +0xfdfd06f8, 0xfdfd06f9, 0xfdfd06fa, 0xfdfd06fb, 0xfdfd06fc, 0xfdfd06fd, 0xfdfd06fe, 0xfdfd06ff, +0xfdfd0700, 0xfdfd0701, 0xfdfd0702, 0xfdfd0703, 0xfdfd0704, 0xfdfd0705, 0xfdfd0706, 0xfdfd0707, +0xfdfd07f8, 0xfdfd07f9, 0xfdfd07fa, 0xfdfd07fb, 0xfdfd07fc, 0xfdfd07fd, 0xfdfd07fe, 0xfdfd07ff, +0xfdfdf800, 0xfdfdf801, 0xfdfdf802, 0xfdfdf803, 0xfdfdf804, 0xfdfdf805, 0xfdfdf806, 0xfdfdf807, +0xfdfdf8f8, 0xfdfdf8f9, 0xfdfdf8fa, 0xfdfdf8fb, 0xfdfdf8fc, 0xfdfdf8fd, 0xfdfdf8fe, 0xfdfdf8ff, +0xfdfdf900, 0xfdfdf901, 0xfdfdf902, 0xfdfdf903, 0xfdfdf904, 0xfdfdf905, 0xfdfdf906, 0xfdfdf907, +0xfdfdf9f8, 0xfdfdf9f9, 0xfdfdf9fa, 0xfdfdf9fb, 0xfdfdf9fc, 0xfdfdf9fd, 0xfdfdf9fe, 0xfdfdf9ff, +0xfdfdfa00, 0xfdfdfa01, 0xfdfdfa02, 0xfdfdfa03, 0xfdfdfa04, 0xfdfdfa05, 0xfdfdfa06, 0xfdfdfa07, +0xfdfdfaf8, 0xfdfdfaf9, 0xfdfdfafa, 0xfdfdfafb, 0xfdfdfafc, 0xfdfdfafd, 0xfdfdfafe, 0xfdfdfaff, +0xfdfdfb00, 0xfdfdfb01, 0xfdfdfb02, 0xfdfdfb03, 0xfdfdfb04, 0xfdfdfb05, 0xfdfdfb06, 0xfdfdfb07, +0xfdfdfbf8, 0xfdfdfbf9, 0xfdfdfbfa, 0xfdfdfbfb, 0xfdfdfbfc, 0xfdfdfbfd, 0xfdfdfbfe, 0xfdfdfbff, +0xfdfdfc00, 0xfdfdfc01, 0xfdfdfc02, 0xfdfdfc03, 0xfdfdfc04, 0xfdfdfc05, 0xfdfdfc06, 0xfdfdfc07, +0xfdfdfcf8, 0xfdfdfcf9, 0xfdfdfcfa, 0xfdfdfcfb, 0xfdfdfcfc, 0xfdfdfcfd, 0xfdfdfcfe, 0xfdfdfcff, +0xfdfdfd00, 0xfdfdfd01, 0xfdfdfd02, 0xfdfdfd03, 0xfdfdfd04, 0xfdfdfd05, 0xfdfdfd06, 0xfdfdfd07, +0xfdfdfdf8, 0xfdfdfdf9, 0xfdfdfdfa, 0xfdfdfdfb, 0xfdfdfdfc, 0xfdfdfdfd, 0xfdfdfdfe, 0xfdfdfdff, +0xfdfdfe00, 0xfdfdfe01, 0xfdfdfe02, 0xfdfdfe03, 0xfdfdfe04, 0xfdfdfe05, 0xfdfdfe06, 0xfdfdfe07, +0xfdfdfef8, 0xfdfdfef9, 0xfdfdfefa, 0xfdfdfefb, 0xfdfdfefc, 0xfdfdfefd, 0xfdfdfefe, 0xfdfdfeff, +0xfdfdff00, 0xfdfdff01, 0xfdfdff02, 0xfdfdff03, 0xfdfdff04, 0xfdfdff05, 0xfdfdff06, 0xfdfdff07, +0xfdfdfff8, 0xfdfdfff9, 0xfdfdfffa, 0xfdfdfffb, 0xfdfdfffc, 0xfdfdfffd, 0xfdfdfffe, 0xfdfdffff, +0xfdfe0000, 0xfdfe0001, 0xfdfe0002, 0xfdfe0003, 0xfdfe0004, 0xfdfe0005, 0xfdfe0006, 0xfdfe0007, +0xfdfe00f8, 0xfdfe00f9, 0xfdfe00fa, 0xfdfe00fb, 0xfdfe00fc, 0xfdfe00fd, 0xfdfe00fe, 0xfdfe00ff, +0xfdfe0100, 0xfdfe0101, 0xfdfe0102, 0xfdfe0103, 0xfdfe0104, 0xfdfe0105, 0xfdfe0106, 0xfdfe0107, +0xfdfe01f8, 0xfdfe01f9, 0xfdfe01fa, 0xfdfe01fb, 0xfdfe01fc, 0xfdfe01fd, 0xfdfe01fe, 0xfdfe01ff, +0xfdfe0200, 0xfdfe0201, 0xfdfe0202, 0xfdfe0203, 0xfdfe0204, 0xfdfe0205, 0xfdfe0206, 0xfdfe0207, +0xfdfe02f8, 0xfdfe02f9, 0xfdfe02fa, 0xfdfe02fb, 0xfdfe02fc, 0xfdfe02fd, 0xfdfe02fe, 0xfdfe02ff, +0xfdfe0300, 0xfdfe0301, 0xfdfe0302, 0xfdfe0303, 0xfdfe0304, 0xfdfe0305, 0xfdfe0306, 0xfdfe0307, +0xfdfe03f8, 0xfdfe03f9, 0xfdfe03fa, 0xfdfe03fb, 0xfdfe03fc, 0xfdfe03fd, 0xfdfe03fe, 0xfdfe03ff, +0xfdfe0400, 0xfdfe0401, 0xfdfe0402, 0xfdfe0403, 0xfdfe0404, 0xfdfe0405, 0xfdfe0406, 0xfdfe0407, +0xfdfe04f8, 0xfdfe04f9, 0xfdfe04fa, 0xfdfe04fb, 0xfdfe04fc, 0xfdfe04fd, 0xfdfe04fe, 0xfdfe04ff, +0xfdfe0500, 0xfdfe0501, 0xfdfe0502, 0xfdfe0503, 0xfdfe0504, 0xfdfe0505, 0xfdfe0506, 0xfdfe0507, +0xfdfe05f8, 0xfdfe05f9, 0xfdfe05fa, 0xfdfe05fb, 0xfdfe05fc, 0xfdfe05fd, 0xfdfe05fe, 0xfdfe05ff, +0xfdfe0600, 0xfdfe0601, 0xfdfe0602, 0xfdfe0603, 0xfdfe0604, 0xfdfe0605, 0xfdfe0606, 0xfdfe0607, +0xfdfe06f8, 0xfdfe06f9, 0xfdfe06fa, 0xfdfe06fb, 0xfdfe06fc, 0xfdfe06fd, 0xfdfe06fe, 0xfdfe06ff, +0xfdfe0700, 0xfdfe0701, 0xfdfe0702, 0xfdfe0703, 0xfdfe0704, 0xfdfe0705, 0xfdfe0706, 0xfdfe0707, +0xfdfe07f8, 0xfdfe07f9, 0xfdfe07fa, 0xfdfe07fb, 0xfdfe07fc, 0xfdfe07fd, 0xfdfe07fe, 0xfdfe07ff, +0xfdfef800, 0xfdfef801, 0xfdfef802, 0xfdfef803, 0xfdfef804, 0xfdfef805, 0xfdfef806, 0xfdfef807, +0xfdfef8f8, 0xfdfef8f9, 0xfdfef8fa, 0xfdfef8fb, 0xfdfef8fc, 0xfdfef8fd, 0xfdfef8fe, 0xfdfef8ff, +0xfdfef900, 0xfdfef901, 0xfdfef902, 0xfdfef903, 0xfdfef904, 0xfdfef905, 0xfdfef906, 0xfdfef907, +0xfdfef9f8, 0xfdfef9f9, 0xfdfef9fa, 0xfdfef9fb, 0xfdfef9fc, 0xfdfef9fd, 0xfdfef9fe, 0xfdfef9ff, +0xfdfefa00, 0xfdfefa01, 0xfdfefa02, 0xfdfefa03, 0xfdfefa04, 0xfdfefa05, 0xfdfefa06, 0xfdfefa07, +0xfdfefaf8, 0xfdfefaf9, 0xfdfefafa, 0xfdfefafb, 0xfdfefafc, 0xfdfefafd, 0xfdfefafe, 0xfdfefaff, +0xfdfefb00, 0xfdfefb01, 0xfdfefb02, 0xfdfefb03, 0xfdfefb04, 0xfdfefb05, 0xfdfefb06, 0xfdfefb07, +0xfdfefbf8, 0xfdfefbf9, 0xfdfefbfa, 0xfdfefbfb, 0xfdfefbfc, 0xfdfefbfd, 0xfdfefbfe, 0xfdfefbff, +0xfdfefc00, 0xfdfefc01, 0xfdfefc02, 0xfdfefc03, 0xfdfefc04, 0xfdfefc05, 0xfdfefc06, 0xfdfefc07, +0xfdfefcf8, 0xfdfefcf9, 0xfdfefcfa, 0xfdfefcfb, 0xfdfefcfc, 0xfdfefcfd, 0xfdfefcfe, 0xfdfefcff, +0xfdfefd00, 0xfdfefd01, 0xfdfefd02, 0xfdfefd03, 0xfdfefd04, 0xfdfefd05, 0xfdfefd06, 0xfdfefd07, +0xfdfefdf8, 0xfdfefdf9, 0xfdfefdfa, 0xfdfefdfb, 0xfdfefdfc, 0xfdfefdfd, 0xfdfefdfe, 0xfdfefdff, +0xfdfefe00, 0xfdfefe01, 0xfdfefe02, 0xfdfefe03, 0xfdfefe04, 0xfdfefe05, 0xfdfefe06, 0xfdfefe07, +0xfdfefef8, 0xfdfefef9, 0xfdfefefa, 0xfdfefefb, 0xfdfefefc, 0xfdfefefd, 0xfdfefefe, 0xfdfefeff, +0xfdfeff00, 0xfdfeff01, 0xfdfeff02, 0xfdfeff03, 0xfdfeff04, 0xfdfeff05, 0xfdfeff06, 0xfdfeff07, +0xfdfefff8, 0xfdfefff9, 0xfdfefffa, 0xfdfefffb, 0xfdfefffc, 0xfdfefffd, 0xfdfefffe, 0xfdfeffff, +0xfdff0000, 0xfdff0001, 0xfdff0002, 0xfdff0003, 0xfdff0004, 0xfdff0005, 0xfdff0006, 0xfdff0007, +0xfdff00f8, 0xfdff00f9, 0xfdff00fa, 0xfdff00fb, 0xfdff00fc, 0xfdff00fd, 0xfdff00fe, 0xfdff00ff, +0xfdff0100, 0xfdff0101, 0xfdff0102, 0xfdff0103, 0xfdff0104, 0xfdff0105, 0xfdff0106, 0xfdff0107, +0xfdff01f8, 0xfdff01f9, 0xfdff01fa, 0xfdff01fb, 0xfdff01fc, 0xfdff01fd, 0xfdff01fe, 0xfdff01ff, +0xfdff0200, 0xfdff0201, 0xfdff0202, 0xfdff0203, 0xfdff0204, 0xfdff0205, 0xfdff0206, 0xfdff0207, +0xfdff02f8, 0xfdff02f9, 0xfdff02fa, 0xfdff02fb, 0xfdff02fc, 0xfdff02fd, 0xfdff02fe, 0xfdff02ff, +0xfdff0300, 0xfdff0301, 0xfdff0302, 0xfdff0303, 0xfdff0304, 0xfdff0305, 0xfdff0306, 0xfdff0307, +0xfdff03f8, 0xfdff03f9, 0xfdff03fa, 0xfdff03fb, 0xfdff03fc, 0xfdff03fd, 0xfdff03fe, 0xfdff03ff, +0xfdff0400, 0xfdff0401, 0xfdff0402, 0xfdff0403, 0xfdff0404, 0xfdff0405, 0xfdff0406, 0xfdff0407, +0xfdff04f8, 0xfdff04f9, 0xfdff04fa, 0xfdff04fb, 0xfdff04fc, 0xfdff04fd, 0xfdff04fe, 0xfdff04ff, +0xfdff0500, 0xfdff0501, 0xfdff0502, 0xfdff0503, 0xfdff0504, 0xfdff0505, 0xfdff0506, 0xfdff0507, +0xfdff05f8, 0xfdff05f9, 0xfdff05fa, 0xfdff05fb, 0xfdff05fc, 0xfdff05fd, 0xfdff05fe, 0xfdff05ff, +0xfdff0600, 0xfdff0601, 0xfdff0602, 0xfdff0603, 0xfdff0604, 0xfdff0605, 0xfdff0606, 0xfdff0607, +0xfdff06f8, 0xfdff06f9, 0xfdff06fa, 0xfdff06fb, 0xfdff06fc, 0xfdff06fd, 0xfdff06fe, 0xfdff06ff, +0xfdff0700, 0xfdff0701, 0xfdff0702, 0xfdff0703, 0xfdff0704, 0xfdff0705, 0xfdff0706, 0xfdff0707, +0xfdff07f8, 0xfdff07f9, 0xfdff07fa, 0xfdff07fb, 0xfdff07fc, 0xfdff07fd, 0xfdff07fe, 0xfdff07ff, +0xfdfff800, 0xfdfff801, 0xfdfff802, 0xfdfff803, 0xfdfff804, 0xfdfff805, 0xfdfff806, 0xfdfff807, +0xfdfff8f8, 0xfdfff8f9, 0xfdfff8fa, 0xfdfff8fb, 0xfdfff8fc, 0xfdfff8fd, 0xfdfff8fe, 0xfdfff8ff, +0xfdfff900, 0xfdfff901, 0xfdfff902, 0xfdfff903, 0xfdfff904, 0xfdfff905, 0xfdfff906, 0xfdfff907, +0xfdfff9f8, 0xfdfff9f9, 0xfdfff9fa, 0xfdfff9fb, 0xfdfff9fc, 0xfdfff9fd, 0xfdfff9fe, 0xfdfff9ff, +0xfdfffa00, 0xfdfffa01, 0xfdfffa02, 0xfdfffa03, 0xfdfffa04, 0xfdfffa05, 0xfdfffa06, 0xfdfffa07, +0xfdfffaf8, 0xfdfffaf9, 0xfdfffafa, 0xfdfffafb, 0xfdfffafc, 0xfdfffafd, 0xfdfffafe, 0xfdfffaff, +0xfdfffb00, 0xfdfffb01, 0xfdfffb02, 0xfdfffb03, 0xfdfffb04, 0xfdfffb05, 0xfdfffb06, 0xfdfffb07, +0xfdfffbf8, 0xfdfffbf9, 0xfdfffbfa, 0xfdfffbfb, 0xfdfffbfc, 0xfdfffbfd, 0xfdfffbfe, 0xfdfffbff, +0xfdfffc00, 0xfdfffc01, 0xfdfffc02, 0xfdfffc03, 0xfdfffc04, 0xfdfffc05, 0xfdfffc06, 0xfdfffc07, +0xfdfffcf8, 0xfdfffcf9, 0xfdfffcfa, 0xfdfffcfb, 0xfdfffcfc, 0xfdfffcfd, 0xfdfffcfe, 0xfdfffcff, +0xfdfffd00, 0xfdfffd01, 0xfdfffd02, 0xfdfffd03, 0xfdfffd04, 0xfdfffd05, 0xfdfffd06, 0xfdfffd07, +0xfdfffdf8, 0xfdfffdf9, 0xfdfffdfa, 0xfdfffdfb, 0xfdfffdfc, 0xfdfffdfd, 0xfdfffdfe, 0xfdfffdff, +0xfdfffe00, 0xfdfffe01, 0xfdfffe02, 0xfdfffe03, 0xfdfffe04, 0xfdfffe05, 0xfdfffe06, 0xfdfffe07, +0xfdfffef8, 0xfdfffef9, 0xfdfffefa, 0xfdfffefb, 0xfdfffefc, 0xfdfffefd, 0xfdfffefe, 0xfdfffeff, +0xfdffff00, 0xfdffff01, 0xfdffff02, 0xfdffff03, 0xfdffff04, 0xfdffff05, 0xfdffff06, 0xfdffff07, +0xfdfffff8, 0xfdfffff9, 0xfdfffffa, 0xfdfffffb, 0xfdfffffc, 0xfdfffffd, 0xfdfffffe, 0xfdffffff, +0xfe000000, 0xfe000001, 0xfe000002, 0xfe000003, 0xfe000004, 0xfe000005, 0xfe000006, 0xfe000007, +0xfe0000f8, 0xfe0000f9, 0xfe0000fa, 0xfe0000fb, 0xfe0000fc, 0xfe0000fd, 0xfe0000fe, 0xfe0000ff, +0xfe000100, 0xfe000101, 0xfe000102, 0xfe000103, 0xfe000104, 0xfe000105, 0xfe000106, 0xfe000107, +0xfe0001f8, 0xfe0001f9, 0xfe0001fa, 0xfe0001fb, 0xfe0001fc, 0xfe0001fd, 0xfe0001fe, 0xfe0001ff, +0xfe000200, 0xfe000201, 0xfe000202, 0xfe000203, 0xfe000204, 0xfe000205, 0xfe000206, 0xfe000207, +0xfe0002f8, 0xfe0002f9, 0xfe0002fa, 0xfe0002fb, 0xfe0002fc, 0xfe0002fd, 0xfe0002fe, 0xfe0002ff, +0xfe000300, 0xfe000301, 0xfe000302, 0xfe000303, 0xfe000304, 0xfe000305, 0xfe000306, 0xfe000307, +0xfe0003f8, 0xfe0003f9, 0xfe0003fa, 0xfe0003fb, 0xfe0003fc, 0xfe0003fd, 0xfe0003fe, 0xfe0003ff, +0xfe000400, 0xfe000401, 0xfe000402, 0xfe000403, 0xfe000404, 0xfe000405, 0xfe000406, 0xfe000407, +0xfe0004f8, 0xfe0004f9, 0xfe0004fa, 0xfe0004fb, 0xfe0004fc, 0xfe0004fd, 0xfe0004fe, 0xfe0004ff, +0xfe000500, 0xfe000501, 0xfe000502, 0xfe000503, 0xfe000504, 0xfe000505, 0xfe000506, 0xfe000507, +0xfe0005f8, 0xfe0005f9, 0xfe0005fa, 0xfe0005fb, 0xfe0005fc, 0xfe0005fd, 0xfe0005fe, 0xfe0005ff, +0xfe000600, 0xfe000601, 0xfe000602, 0xfe000603, 0xfe000604, 0xfe000605, 0xfe000606, 0xfe000607, +0xfe0006f8, 0xfe0006f9, 0xfe0006fa, 0xfe0006fb, 0xfe0006fc, 0xfe0006fd, 0xfe0006fe, 0xfe0006ff, +0xfe000700, 0xfe000701, 0xfe000702, 0xfe000703, 0xfe000704, 0xfe000705, 0xfe000706, 0xfe000707, +0xfe0007f8, 0xfe0007f9, 0xfe0007fa, 0xfe0007fb, 0xfe0007fc, 0xfe0007fd, 0xfe0007fe, 0xfe0007ff, +0xfe00f800, 0xfe00f801, 0xfe00f802, 0xfe00f803, 0xfe00f804, 0xfe00f805, 0xfe00f806, 0xfe00f807, +0xfe00f8f8, 0xfe00f8f9, 0xfe00f8fa, 0xfe00f8fb, 0xfe00f8fc, 0xfe00f8fd, 0xfe00f8fe, 0xfe00f8ff, +0xfe00f900, 0xfe00f901, 0xfe00f902, 0xfe00f903, 0xfe00f904, 0xfe00f905, 0xfe00f906, 0xfe00f907, +0xfe00f9f8, 0xfe00f9f9, 0xfe00f9fa, 0xfe00f9fb, 0xfe00f9fc, 0xfe00f9fd, 0xfe00f9fe, 0xfe00f9ff, +0xfe00fa00, 0xfe00fa01, 0xfe00fa02, 0xfe00fa03, 0xfe00fa04, 0xfe00fa05, 0xfe00fa06, 0xfe00fa07, +0xfe00faf8, 0xfe00faf9, 0xfe00fafa, 0xfe00fafb, 0xfe00fafc, 0xfe00fafd, 0xfe00fafe, 0xfe00faff, +0xfe00fb00, 0xfe00fb01, 0xfe00fb02, 0xfe00fb03, 0xfe00fb04, 0xfe00fb05, 0xfe00fb06, 0xfe00fb07, +0xfe00fbf8, 0xfe00fbf9, 0xfe00fbfa, 0xfe00fbfb, 0xfe00fbfc, 0xfe00fbfd, 0xfe00fbfe, 0xfe00fbff, +0xfe00fc00, 0xfe00fc01, 0xfe00fc02, 0xfe00fc03, 0xfe00fc04, 0xfe00fc05, 0xfe00fc06, 0xfe00fc07, +0xfe00fcf8, 0xfe00fcf9, 0xfe00fcfa, 0xfe00fcfb, 0xfe00fcfc, 0xfe00fcfd, 0xfe00fcfe, 0xfe00fcff, +0xfe00fd00, 0xfe00fd01, 0xfe00fd02, 0xfe00fd03, 0xfe00fd04, 0xfe00fd05, 0xfe00fd06, 0xfe00fd07, +0xfe00fdf8, 0xfe00fdf9, 0xfe00fdfa, 0xfe00fdfb, 0xfe00fdfc, 0xfe00fdfd, 0xfe00fdfe, 0xfe00fdff, +0xfe00fe00, 0xfe00fe01, 0xfe00fe02, 0xfe00fe03, 0xfe00fe04, 0xfe00fe05, 0xfe00fe06, 0xfe00fe07, +0xfe00fef8, 0xfe00fef9, 0xfe00fefa, 0xfe00fefb, 0xfe00fefc, 0xfe00fefd, 0xfe00fefe, 0xfe00feff, +0xfe00ff00, 0xfe00ff01, 0xfe00ff02, 0xfe00ff03, 0xfe00ff04, 0xfe00ff05, 0xfe00ff06, 0xfe00ff07, +0xfe00fff8, 0xfe00fff9, 0xfe00fffa, 0xfe00fffb, 0xfe00fffc, 0xfe00fffd, 0xfe00fffe, 0xfe00ffff, +0xfe010000, 0xfe010001, 0xfe010002, 0xfe010003, 0xfe010004, 0xfe010005, 0xfe010006, 0xfe010007, +0xfe0100f8, 0xfe0100f9, 0xfe0100fa, 0xfe0100fb, 0xfe0100fc, 0xfe0100fd, 0xfe0100fe, 0xfe0100ff, +0xfe010100, 0xfe010101, 0xfe010102, 0xfe010103, 0xfe010104, 0xfe010105, 0xfe010106, 0xfe010107, +0xfe0101f8, 0xfe0101f9, 0xfe0101fa, 0xfe0101fb, 0xfe0101fc, 0xfe0101fd, 0xfe0101fe, 0xfe0101ff, +0xfe010200, 0xfe010201, 0xfe010202, 0xfe010203, 0xfe010204, 0xfe010205, 0xfe010206, 0xfe010207, +0xfe0102f8, 0xfe0102f9, 0xfe0102fa, 0xfe0102fb, 0xfe0102fc, 0xfe0102fd, 0xfe0102fe, 0xfe0102ff, +0xfe010300, 0xfe010301, 0xfe010302, 0xfe010303, 0xfe010304, 0xfe010305, 0xfe010306, 0xfe010307, +0xfe0103f8, 0xfe0103f9, 0xfe0103fa, 0xfe0103fb, 0xfe0103fc, 0xfe0103fd, 0xfe0103fe, 0xfe0103ff, +0xfe010400, 0xfe010401, 0xfe010402, 0xfe010403, 0xfe010404, 0xfe010405, 0xfe010406, 0xfe010407, +0xfe0104f8, 0xfe0104f9, 0xfe0104fa, 0xfe0104fb, 0xfe0104fc, 0xfe0104fd, 0xfe0104fe, 0xfe0104ff, +0xfe010500, 0xfe010501, 0xfe010502, 0xfe010503, 0xfe010504, 0xfe010505, 0xfe010506, 0xfe010507, +0xfe0105f8, 0xfe0105f9, 0xfe0105fa, 0xfe0105fb, 0xfe0105fc, 0xfe0105fd, 0xfe0105fe, 0xfe0105ff, +0xfe010600, 0xfe010601, 0xfe010602, 0xfe010603, 0xfe010604, 0xfe010605, 0xfe010606, 0xfe010607, +0xfe0106f8, 0xfe0106f9, 0xfe0106fa, 0xfe0106fb, 0xfe0106fc, 0xfe0106fd, 0xfe0106fe, 0xfe0106ff, +0xfe010700, 0xfe010701, 0xfe010702, 0xfe010703, 0xfe010704, 0xfe010705, 0xfe010706, 0xfe010707, +0xfe0107f8, 0xfe0107f9, 0xfe0107fa, 0xfe0107fb, 0xfe0107fc, 0xfe0107fd, 0xfe0107fe, 0xfe0107ff, +0xfe01f800, 0xfe01f801, 0xfe01f802, 0xfe01f803, 0xfe01f804, 0xfe01f805, 0xfe01f806, 0xfe01f807, +0xfe01f8f8, 0xfe01f8f9, 0xfe01f8fa, 0xfe01f8fb, 0xfe01f8fc, 0xfe01f8fd, 0xfe01f8fe, 0xfe01f8ff, +0xfe01f900, 0xfe01f901, 0xfe01f902, 0xfe01f903, 0xfe01f904, 0xfe01f905, 0xfe01f906, 0xfe01f907, +0xfe01f9f8, 0xfe01f9f9, 0xfe01f9fa, 0xfe01f9fb, 0xfe01f9fc, 0xfe01f9fd, 0xfe01f9fe, 0xfe01f9ff, +0xfe01fa00, 0xfe01fa01, 0xfe01fa02, 0xfe01fa03, 0xfe01fa04, 0xfe01fa05, 0xfe01fa06, 0xfe01fa07, +0xfe01faf8, 0xfe01faf9, 0xfe01fafa, 0xfe01fafb, 0xfe01fafc, 0xfe01fafd, 0xfe01fafe, 0xfe01faff, +0xfe01fb00, 0xfe01fb01, 0xfe01fb02, 0xfe01fb03, 0xfe01fb04, 0xfe01fb05, 0xfe01fb06, 0xfe01fb07, +0xfe01fbf8, 0xfe01fbf9, 0xfe01fbfa, 0xfe01fbfb, 0xfe01fbfc, 0xfe01fbfd, 0xfe01fbfe, 0xfe01fbff, +0xfe01fc00, 0xfe01fc01, 0xfe01fc02, 0xfe01fc03, 0xfe01fc04, 0xfe01fc05, 0xfe01fc06, 0xfe01fc07, +0xfe01fcf8, 0xfe01fcf9, 0xfe01fcfa, 0xfe01fcfb, 0xfe01fcfc, 0xfe01fcfd, 0xfe01fcfe, 0xfe01fcff, +0xfe01fd00, 0xfe01fd01, 0xfe01fd02, 0xfe01fd03, 0xfe01fd04, 0xfe01fd05, 0xfe01fd06, 0xfe01fd07, +0xfe01fdf8, 0xfe01fdf9, 0xfe01fdfa, 0xfe01fdfb, 0xfe01fdfc, 0xfe01fdfd, 0xfe01fdfe, 0xfe01fdff, +0xfe01fe00, 0xfe01fe01, 0xfe01fe02, 0xfe01fe03, 0xfe01fe04, 0xfe01fe05, 0xfe01fe06, 0xfe01fe07, +0xfe01fef8, 0xfe01fef9, 0xfe01fefa, 0xfe01fefb, 0xfe01fefc, 0xfe01fefd, 0xfe01fefe, 0xfe01feff, +0xfe01ff00, 0xfe01ff01, 0xfe01ff02, 0xfe01ff03, 0xfe01ff04, 0xfe01ff05, 0xfe01ff06, 0xfe01ff07, +0xfe01fff8, 0xfe01fff9, 0xfe01fffa, 0xfe01fffb, 0xfe01fffc, 0xfe01fffd, 0xfe01fffe, 0xfe01ffff, +0xfe020000, 0xfe020001, 0xfe020002, 0xfe020003, 0xfe020004, 0xfe020005, 0xfe020006, 0xfe020007, +0xfe0200f8, 0xfe0200f9, 0xfe0200fa, 0xfe0200fb, 0xfe0200fc, 0xfe0200fd, 0xfe0200fe, 0xfe0200ff, +0xfe020100, 0xfe020101, 0xfe020102, 0xfe020103, 0xfe020104, 0xfe020105, 0xfe020106, 0xfe020107, +0xfe0201f8, 0xfe0201f9, 0xfe0201fa, 0xfe0201fb, 0xfe0201fc, 0xfe0201fd, 0xfe0201fe, 0xfe0201ff, +0xfe020200, 0xfe020201, 0xfe020202, 0xfe020203, 0xfe020204, 0xfe020205, 0xfe020206, 0xfe020207, +0xfe0202f8, 0xfe0202f9, 0xfe0202fa, 0xfe0202fb, 0xfe0202fc, 0xfe0202fd, 0xfe0202fe, 0xfe0202ff, +0xfe020300, 0xfe020301, 0xfe020302, 0xfe020303, 0xfe020304, 0xfe020305, 0xfe020306, 0xfe020307, +0xfe0203f8, 0xfe0203f9, 0xfe0203fa, 0xfe0203fb, 0xfe0203fc, 0xfe0203fd, 0xfe0203fe, 0xfe0203ff, +0xfe020400, 0xfe020401, 0xfe020402, 0xfe020403, 0xfe020404, 0xfe020405, 0xfe020406, 0xfe020407, +0xfe0204f8, 0xfe0204f9, 0xfe0204fa, 0xfe0204fb, 0xfe0204fc, 0xfe0204fd, 0xfe0204fe, 0xfe0204ff, +0xfe020500, 0xfe020501, 0xfe020502, 0xfe020503, 0xfe020504, 0xfe020505, 0xfe020506, 0xfe020507, +0xfe0205f8, 0xfe0205f9, 0xfe0205fa, 0xfe0205fb, 0xfe0205fc, 0xfe0205fd, 0xfe0205fe, 0xfe0205ff, +0xfe020600, 0xfe020601, 0xfe020602, 0xfe020603, 0xfe020604, 0xfe020605, 0xfe020606, 0xfe020607, +0xfe0206f8, 0xfe0206f9, 0xfe0206fa, 0xfe0206fb, 0xfe0206fc, 0xfe0206fd, 0xfe0206fe, 0xfe0206ff, +0xfe020700, 0xfe020701, 0xfe020702, 0xfe020703, 0xfe020704, 0xfe020705, 0xfe020706, 0xfe020707, +0xfe0207f8, 0xfe0207f9, 0xfe0207fa, 0xfe0207fb, 0xfe0207fc, 0xfe0207fd, 0xfe0207fe, 0xfe0207ff, +0xfe02f800, 0xfe02f801, 0xfe02f802, 0xfe02f803, 0xfe02f804, 0xfe02f805, 0xfe02f806, 0xfe02f807, +0xfe02f8f8, 0xfe02f8f9, 0xfe02f8fa, 0xfe02f8fb, 0xfe02f8fc, 0xfe02f8fd, 0xfe02f8fe, 0xfe02f8ff, +0xfe02f900, 0xfe02f901, 0xfe02f902, 0xfe02f903, 0xfe02f904, 0xfe02f905, 0xfe02f906, 0xfe02f907, +0xfe02f9f8, 0xfe02f9f9, 0xfe02f9fa, 0xfe02f9fb, 0xfe02f9fc, 0xfe02f9fd, 0xfe02f9fe, 0xfe02f9ff, +0xfe02fa00, 0xfe02fa01, 0xfe02fa02, 0xfe02fa03, 0xfe02fa04, 0xfe02fa05, 0xfe02fa06, 0xfe02fa07, +0xfe02faf8, 0xfe02faf9, 0xfe02fafa, 0xfe02fafb, 0xfe02fafc, 0xfe02fafd, 0xfe02fafe, 0xfe02faff, +0xfe02fb00, 0xfe02fb01, 0xfe02fb02, 0xfe02fb03, 0xfe02fb04, 0xfe02fb05, 0xfe02fb06, 0xfe02fb07, +0xfe02fbf8, 0xfe02fbf9, 0xfe02fbfa, 0xfe02fbfb, 0xfe02fbfc, 0xfe02fbfd, 0xfe02fbfe, 0xfe02fbff, +0xfe02fc00, 0xfe02fc01, 0xfe02fc02, 0xfe02fc03, 0xfe02fc04, 0xfe02fc05, 0xfe02fc06, 0xfe02fc07, +0xfe02fcf8, 0xfe02fcf9, 0xfe02fcfa, 0xfe02fcfb, 0xfe02fcfc, 0xfe02fcfd, 0xfe02fcfe, 0xfe02fcff, +0xfe02fd00, 0xfe02fd01, 0xfe02fd02, 0xfe02fd03, 0xfe02fd04, 0xfe02fd05, 0xfe02fd06, 0xfe02fd07, +0xfe02fdf8, 0xfe02fdf9, 0xfe02fdfa, 0xfe02fdfb, 0xfe02fdfc, 0xfe02fdfd, 0xfe02fdfe, 0xfe02fdff, +0xfe02fe00, 0xfe02fe01, 0xfe02fe02, 0xfe02fe03, 0xfe02fe04, 0xfe02fe05, 0xfe02fe06, 0xfe02fe07, +0xfe02fef8, 0xfe02fef9, 0xfe02fefa, 0xfe02fefb, 0xfe02fefc, 0xfe02fefd, 0xfe02fefe, 0xfe02feff, +0xfe02ff00, 0xfe02ff01, 0xfe02ff02, 0xfe02ff03, 0xfe02ff04, 0xfe02ff05, 0xfe02ff06, 0xfe02ff07, +0xfe02fff8, 0xfe02fff9, 0xfe02fffa, 0xfe02fffb, 0xfe02fffc, 0xfe02fffd, 0xfe02fffe, 0xfe02ffff, +0xfe030000, 0xfe030001, 0xfe030002, 0xfe030003, 0xfe030004, 0xfe030005, 0xfe030006, 0xfe030007, +0xfe0300f8, 0xfe0300f9, 0xfe0300fa, 0xfe0300fb, 0xfe0300fc, 0xfe0300fd, 0xfe0300fe, 0xfe0300ff, +0xfe030100, 0xfe030101, 0xfe030102, 0xfe030103, 0xfe030104, 0xfe030105, 0xfe030106, 0xfe030107, +0xfe0301f8, 0xfe0301f9, 0xfe0301fa, 0xfe0301fb, 0xfe0301fc, 0xfe0301fd, 0xfe0301fe, 0xfe0301ff, +0xfe030200, 0xfe030201, 0xfe030202, 0xfe030203, 0xfe030204, 0xfe030205, 0xfe030206, 0xfe030207, +0xfe0302f8, 0xfe0302f9, 0xfe0302fa, 0xfe0302fb, 0xfe0302fc, 0xfe0302fd, 0xfe0302fe, 0xfe0302ff, +0xfe030300, 0xfe030301, 0xfe030302, 0xfe030303, 0xfe030304, 0xfe030305, 0xfe030306, 0xfe030307, +0xfe0303f8, 0xfe0303f9, 0xfe0303fa, 0xfe0303fb, 0xfe0303fc, 0xfe0303fd, 0xfe0303fe, 0xfe0303ff, +0xfe030400, 0xfe030401, 0xfe030402, 0xfe030403, 0xfe030404, 0xfe030405, 0xfe030406, 0xfe030407, +0xfe0304f8, 0xfe0304f9, 0xfe0304fa, 0xfe0304fb, 0xfe0304fc, 0xfe0304fd, 0xfe0304fe, 0xfe0304ff, +0xfe030500, 0xfe030501, 0xfe030502, 0xfe030503, 0xfe030504, 0xfe030505, 0xfe030506, 0xfe030507, +0xfe0305f8, 0xfe0305f9, 0xfe0305fa, 0xfe0305fb, 0xfe0305fc, 0xfe0305fd, 0xfe0305fe, 0xfe0305ff, +0xfe030600, 0xfe030601, 0xfe030602, 0xfe030603, 0xfe030604, 0xfe030605, 0xfe030606, 0xfe030607, +0xfe0306f8, 0xfe0306f9, 0xfe0306fa, 0xfe0306fb, 0xfe0306fc, 0xfe0306fd, 0xfe0306fe, 0xfe0306ff, +0xfe030700, 0xfe030701, 0xfe030702, 0xfe030703, 0xfe030704, 0xfe030705, 0xfe030706, 0xfe030707, +0xfe0307f8, 0xfe0307f9, 0xfe0307fa, 0xfe0307fb, 0xfe0307fc, 0xfe0307fd, 0xfe0307fe, 0xfe0307ff, +0xfe03f800, 0xfe03f801, 0xfe03f802, 0xfe03f803, 0xfe03f804, 0xfe03f805, 0xfe03f806, 0xfe03f807, +0xfe03f8f8, 0xfe03f8f9, 0xfe03f8fa, 0xfe03f8fb, 0xfe03f8fc, 0xfe03f8fd, 0xfe03f8fe, 0xfe03f8ff, +0xfe03f900, 0xfe03f901, 0xfe03f902, 0xfe03f903, 0xfe03f904, 0xfe03f905, 0xfe03f906, 0xfe03f907, +0xfe03f9f8, 0xfe03f9f9, 0xfe03f9fa, 0xfe03f9fb, 0xfe03f9fc, 0xfe03f9fd, 0xfe03f9fe, 0xfe03f9ff, +0xfe03fa00, 0xfe03fa01, 0xfe03fa02, 0xfe03fa03, 0xfe03fa04, 0xfe03fa05, 0xfe03fa06, 0xfe03fa07, +0xfe03faf8, 0xfe03faf9, 0xfe03fafa, 0xfe03fafb, 0xfe03fafc, 0xfe03fafd, 0xfe03fafe, 0xfe03faff, +0xfe03fb00, 0xfe03fb01, 0xfe03fb02, 0xfe03fb03, 0xfe03fb04, 0xfe03fb05, 0xfe03fb06, 0xfe03fb07, +0xfe03fbf8, 0xfe03fbf9, 0xfe03fbfa, 0xfe03fbfb, 0xfe03fbfc, 0xfe03fbfd, 0xfe03fbfe, 0xfe03fbff, +0xfe03fc00, 0xfe03fc01, 0xfe03fc02, 0xfe03fc03, 0xfe03fc04, 0xfe03fc05, 0xfe03fc06, 0xfe03fc07, +0xfe03fcf8, 0xfe03fcf9, 0xfe03fcfa, 0xfe03fcfb, 0xfe03fcfc, 0xfe03fcfd, 0xfe03fcfe, 0xfe03fcff, +0xfe03fd00, 0xfe03fd01, 0xfe03fd02, 0xfe03fd03, 0xfe03fd04, 0xfe03fd05, 0xfe03fd06, 0xfe03fd07, +0xfe03fdf8, 0xfe03fdf9, 0xfe03fdfa, 0xfe03fdfb, 0xfe03fdfc, 0xfe03fdfd, 0xfe03fdfe, 0xfe03fdff, +0xfe03fe00, 0xfe03fe01, 0xfe03fe02, 0xfe03fe03, 0xfe03fe04, 0xfe03fe05, 0xfe03fe06, 0xfe03fe07, +0xfe03fef8, 0xfe03fef9, 0xfe03fefa, 0xfe03fefb, 0xfe03fefc, 0xfe03fefd, 0xfe03fefe, 0xfe03feff, +0xfe03ff00, 0xfe03ff01, 0xfe03ff02, 0xfe03ff03, 0xfe03ff04, 0xfe03ff05, 0xfe03ff06, 0xfe03ff07, +0xfe03fff8, 0xfe03fff9, 0xfe03fffa, 0xfe03fffb, 0xfe03fffc, 0xfe03fffd, 0xfe03fffe, 0xfe03ffff, +0xfe040000, 0xfe040001, 0xfe040002, 0xfe040003, 0xfe040004, 0xfe040005, 0xfe040006, 0xfe040007, +0xfe0400f8, 0xfe0400f9, 0xfe0400fa, 0xfe0400fb, 0xfe0400fc, 0xfe0400fd, 0xfe0400fe, 0xfe0400ff, +0xfe040100, 0xfe040101, 0xfe040102, 0xfe040103, 0xfe040104, 0xfe040105, 0xfe040106, 0xfe040107, +0xfe0401f8, 0xfe0401f9, 0xfe0401fa, 0xfe0401fb, 0xfe0401fc, 0xfe0401fd, 0xfe0401fe, 0xfe0401ff, +0xfe040200, 0xfe040201, 0xfe040202, 0xfe040203, 0xfe040204, 0xfe040205, 0xfe040206, 0xfe040207, +0xfe0402f8, 0xfe0402f9, 0xfe0402fa, 0xfe0402fb, 0xfe0402fc, 0xfe0402fd, 0xfe0402fe, 0xfe0402ff, +0xfe040300, 0xfe040301, 0xfe040302, 0xfe040303, 0xfe040304, 0xfe040305, 0xfe040306, 0xfe040307, +0xfe0403f8, 0xfe0403f9, 0xfe0403fa, 0xfe0403fb, 0xfe0403fc, 0xfe0403fd, 0xfe0403fe, 0xfe0403ff, +0xfe040400, 0xfe040401, 0xfe040402, 0xfe040403, 0xfe040404, 0xfe040405, 0xfe040406, 0xfe040407, +0xfe0404f8, 0xfe0404f9, 0xfe0404fa, 0xfe0404fb, 0xfe0404fc, 0xfe0404fd, 0xfe0404fe, 0xfe0404ff, +0xfe040500, 0xfe040501, 0xfe040502, 0xfe040503, 0xfe040504, 0xfe040505, 0xfe040506, 0xfe040507, +0xfe0405f8, 0xfe0405f9, 0xfe0405fa, 0xfe0405fb, 0xfe0405fc, 0xfe0405fd, 0xfe0405fe, 0xfe0405ff, +0xfe040600, 0xfe040601, 0xfe040602, 0xfe040603, 0xfe040604, 0xfe040605, 0xfe040606, 0xfe040607, +0xfe0406f8, 0xfe0406f9, 0xfe0406fa, 0xfe0406fb, 0xfe0406fc, 0xfe0406fd, 0xfe0406fe, 0xfe0406ff, +0xfe040700, 0xfe040701, 0xfe040702, 0xfe040703, 0xfe040704, 0xfe040705, 0xfe040706, 0xfe040707, +0xfe0407f8, 0xfe0407f9, 0xfe0407fa, 0xfe0407fb, 0xfe0407fc, 0xfe0407fd, 0xfe0407fe, 0xfe0407ff, +0xfe04f800, 0xfe04f801, 0xfe04f802, 0xfe04f803, 0xfe04f804, 0xfe04f805, 0xfe04f806, 0xfe04f807, +0xfe04f8f8, 0xfe04f8f9, 0xfe04f8fa, 0xfe04f8fb, 0xfe04f8fc, 0xfe04f8fd, 0xfe04f8fe, 0xfe04f8ff, +0xfe04f900, 0xfe04f901, 0xfe04f902, 0xfe04f903, 0xfe04f904, 0xfe04f905, 0xfe04f906, 0xfe04f907, +0xfe04f9f8, 0xfe04f9f9, 0xfe04f9fa, 0xfe04f9fb, 0xfe04f9fc, 0xfe04f9fd, 0xfe04f9fe, 0xfe04f9ff, +0xfe04fa00, 0xfe04fa01, 0xfe04fa02, 0xfe04fa03, 0xfe04fa04, 0xfe04fa05, 0xfe04fa06, 0xfe04fa07, +0xfe04faf8, 0xfe04faf9, 0xfe04fafa, 0xfe04fafb, 0xfe04fafc, 0xfe04fafd, 0xfe04fafe, 0xfe04faff, +0xfe04fb00, 0xfe04fb01, 0xfe04fb02, 0xfe04fb03, 0xfe04fb04, 0xfe04fb05, 0xfe04fb06, 0xfe04fb07, +0xfe04fbf8, 0xfe04fbf9, 0xfe04fbfa, 0xfe04fbfb, 0xfe04fbfc, 0xfe04fbfd, 0xfe04fbfe, 0xfe04fbff, +0xfe04fc00, 0xfe04fc01, 0xfe04fc02, 0xfe04fc03, 0xfe04fc04, 0xfe04fc05, 0xfe04fc06, 0xfe04fc07, +0xfe04fcf8, 0xfe04fcf9, 0xfe04fcfa, 0xfe04fcfb, 0xfe04fcfc, 0xfe04fcfd, 0xfe04fcfe, 0xfe04fcff, +0xfe04fd00, 0xfe04fd01, 0xfe04fd02, 0xfe04fd03, 0xfe04fd04, 0xfe04fd05, 0xfe04fd06, 0xfe04fd07, +0xfe04fdf8, 0xfe04fdf9, 0xfe04fdfa, 0xfe04fdfb, 0xfe04fdfc, 0xfe04fdfd, 0xfe04fdfe, 0xfe04fdff, +0xfe04fe00, 0xfe04fe01, 0xfe04fe02, 0xfe04fe03, 0xfe04fe04, 0xfe04fe05, 0xfe04fe06, 0xfe04fe07, +0xfe04fef8, 0xfe04fef9, 0xfe04fefa, 0xfe04fefb, 0xfe04fefc, 0xfe04fefd, 0xfe04fefe, 0xfe04feff, +0xfe04ff00, 0xfe04ff01, 0xfe04ff02, 0xfe04ff03, 0xfe04ff04, 0xfe04ff05, 0xfe04ff06, 0xfe04ff07, +0xfe04fff8, 0xfe04fff9, 0xfe04fffa, 0xfe04fffb, 0xfe04fffc, 0xfe04fffd, 0xfe04fffe, 0xfe04ffff, +0xfe050000, 0xfe050001, 0xfe050002, 0xfe050003, 0xfe050004, 0xfe050005, 0xfe050006, 0xfe050007, +0xfe0500f8, 0xfe0500f9, 0xfe0500fa, 0xfe0500fb, 0xfe0500fc, 0xfe0500fd, 0xfe0500fe, 0xfe0500ff, +0xfe050100, 0xfe050101, 0xfe050102, 0xfe050103, 0xfe050104, 0xfe050105, 0xfe050106, 0xfe050107, +0xfe0501f8, 0xfe0501f9, 0xfe0501fa, 0xfe0501fb, 0xfe0501fc, 0xfe0501fd, 0xfe0501fe, 0xfe0501ff, +0xfe050200, 0xfe050201, 0xfe050202, 0xfe050203, 0xfe050204, 0xfe050205, 0xfe050206, 0xfe050207, +0xfe0502f8, 0xfe0502f9, 0xfe0502fa, 0xfe0502fb, 0xfe0502fc, 0xfe0502fd, 0xfe0502fe, 0xfe0502ff, +0xfe050300, 0xfe050301, 0xfe050302, 0xfe050303, 0xfe050304, 0xfe050305, 0xfe050306, 0xfe050307, +0xfe0503f8, 0xfe0503f9, 0xfe0503fa, 0xfe0503fb, 0xfe0503fc, 0xfe0503fd, 0xfe0503fe, 0xfe0503ff, +0xfe050400, 0xfe050401, 0xfe050402, 0xfe050403, 0xfe050404, 0xfe050405, 0xfe050406, 0xfe050407, +0xfe0504f8, 0xfe0504f9, 0xfe0504fa, 0xfe0504fb, 0xfe0504fc, 0xfe0504fd, 0xfe0504fe, 0xfe0504ff, +0xfe050500, 0xfe050501, 0xfe050502, 0xfe050503, 0xfe050504, 0xfe050505, 0xfe050506, 0xfe050507, +0xfe0505f8, 0xfe0505f9, 0xfe0505fa, 0xfe0505fb, 0xfe0505fc, 0xfe0505fd, 0xfe0505fe, 0xfe0505ff, +0xfe050600, 0xfe050601, 0xfe050602, 0xfe050603, 0xfe050604, 0xfe050605, 0xfe050606, 0xfe050607, +0xfe0506f8, 0xfe0506f9, 0xfe0506fa, 0xfe0506fb, 0xfe0506fc, 0xfe0506fd, 0xfe0506fe, 0xfe0506ff, +0xfe050700, 0xfe050701, 0xfe050702, 0xfe050703, 0xfe050704, 0xfe050705, 0xfe050706, 0xfe050707, +0xfe0507f8, 0xfe0507f9, 0xfe0507fa, 0xfe0507fb, 0xfe0507fc, 0xfe0507fd, 0xfe0507fe, 0xfe0507ff, +0xfe05f800, 0xfe05f801, 0xfe05f802, 0xfe05f803, 0xfe05f804, 0xfe05f805, 0xfe05f806, 0xfe05f807, +0xfe05f8f8, 0xfe05f8f9, 0xfe05f8fa, 0xfe05f8fb, 0xfe05f8fc, 0xfe05f8fd, 0xfe05f8fe, 0xfe05f8ff, +0xfe05f900, 0xfe05f901, 0xfe05f902, 0xfe05f903, 0xfe05f904, 0xfe05f905, 0xfe05f906, 0xfe05f907, +0xfe05f9f8, 0xfe05f9f9, 0xfe05f9fa, 0xfe05f9fb, 0xfe05f9fc, 0xfe05f9fd, 0xfe05f9fe, 0xfe05f9ff, +0xfe05fa00, 0xfe05fa01, 0xfe05fa02, 0xfe05fa03, 0xfe05fa04, 0xfe05fa05, 0xfe05fa06, 0xfe05fa07, +0xfe05faf8, 0xfe05faf9, 0xfe05fafa, 0xfe05fafb, 0xfe05fafc, 0xfe05fafd, 0xfe05fafe, 0xfe05faff, +0xfe05fb00, 0xfe05fb01, 0xfe05fb02, 0xfe05fb03, 0xfe05fb04, 0xfe05fb05, 0xfe05fb06, 0xfe05fb07, +0xfe05fbf8, 0xfe05fbf9, 0xfe05fbfa, 0xfe05fbfb, 0xfe05fbfc, 0xfe05fbfd, 0xfe05fbfe, 0xfe05fbff, +0xfe05fc00, 0xfe05fc01, 0xfe05fc02, 0xfe05fc03, 0xfe05fc04, 0xfe05fc05, 0xfe05fc06, 0xfe05fc07, +0xfe05fcf8, 0xfe05fcf9, 0xfe05fcfa, 0xfe05fcfb, 0xfe05fcfc, 0xfe05fcfd, 0xfe05fcfe, 0xfe05fcff, +0xfe05fd00, 0xfe05fd01, 0xfe05fd02, 0xfe05fd03, 0xfe05fd04, 0xfe05fd05, 0xfe05fd06, 0xfe05fd07, +0xfe05fdf8, 0xfe05fdf9, 0xfe05fdfa, 0xfe05fdfb, 0xfe05fdfc, 0xfe05fdfd, 0xfe05fdfe, 0xfe05fdff, +0xfe05fe00, 0xfe05fe01, 0xfe05fe02, 0xfe05fe03, 0xfe05fe04, 0xfe05fe05, 0xfe05fe06, 0xfe05fe07, +0xfe05fef8, 0xfe05fef9, 0xfe05fefa, 0xfe05fefb, 0xfe05fefc, 0xfe05fefd, 0xfe05fefe, 0xfe05feff, +0xfe05ff00, 0xfe05ff01, 0xfe05ff02, 0xfe05ff03, 0xfe05ff04, 0xfe05ff05, 0xfe05ff06, 0xfe05ff07, +0xfe05fff8, 0xfe05fff9, 0xfe05fffa, 0xfe05fffb, 0xfe05fffc, 0xfe05fffd, 0xfe05fffe, 0xfe05ffff, +0xfe060000, 0xfe060001, 0xfe060002, 0xfe060003, 0xfe060004, 0xfe060005, 0xfe060006, 0xfe060007, +0xfe0600f8, 0xfe0600f9, 0xfe0600fa, 0xfe0600fb, 0xfe0600fc, 0xfe0600fd, 0xfe0600fe, 0xfe0600ff, +0xfe060100, 0xfe060101, 0xfe060102, 0xfe060103, 0xfe060104, 0xfe060105, 0xfe060106, 0xfe060107, +0xfe0601f8, 0xfe0601f9, 0xfe0601fa, 0xfe0601fb, 0xfe0601fc, 0xfe0601fd, 0xfe0601fe, 0xfe0601ff, +0xfe060200, 0xfe060201, 0xfe060202, 0xfe060203, 0xfe060204, 0xfe060205, 0xfe060206, 0xfe060207, +0xfe0602f8, 0xfe0602f9, 0xfe0602fa, 0xfe0602fb, 0xfe0602fc, 0xfe0602fd, 0xfe0602fe, 0xfe0602ff, +0xfe060300, 0xfe060301, 0xfe060302, 0xfe060303, 0xfe060304, 0xfe060305, 0xfe060306, 0xfe060307, +0xfe0603f8, 0xfe0603f9, 0xfe0603fa, 0xfe0603fb, 0xfe0603fc, 0xfe0603fd, 0xfe0603fe, 0xfe0603ff, +0xfe060400, 0xfe060401, 0xfe060402, 0xfe060403, 0xfe060404, 0xfe060405, 0xfe060406, 0xfe060407, +0xfe0604f8, 0xfe0604f9, 0xfe0604fa, 0xfe0604fb, 0xfe0604fc, 0xfe0604fd, 0xfe0604fe, 0xfe0604ff, +0xfe060500, 0xfe060501, 0xfe060502, 0xfe060503, 0xfe060504, 0xfe060505, 0xfe060506, 0xfe060507, +0xfe0605f8, 0xfe0605f9, 0xfe0605fa, 0xfe0605fb, 0xfe0605fc, 0xfe0605fd, 0xfe0605fe, 0xfe0605ff, +0xfe060600, 0xfe060601, 0xfe060602, 0xfe060603, 0xfe060604, 0xfe060605, 0xfe060606, 0xfe060607, +0xfe0606f8, 0xfe0606f9, 0xfe0606fa, 0xfe0606fb, 0xfe0606fc, 0xfe0606fd, 0xfe0606fe, 0xfe0606ff, +0xfe060700, 0xfe060701, 0xfe060702, 0xfe060703, 0xfe060704, 0xfe060705, 0xfe060706, 0xfe060707, +0xfe0607f8, 0xfe0607f9, 0xfe0607fa, 0xfe0607fb, 0xfe0607fc, 0xfe0607fd, 0xfe0607fe, 0xfe0607ff, +0xfe06f800, 0xfe06f801, 0xfe06f802, 0xfe06f803, 0xfe06f804, 0xfe06f805, 0xfe06f806, 0xfe06f807, +0xfe06f8f8, 0xfe06f8f9, 0xfe06f8fa, 0xfe06f8fb, 0xfe06f8fc, 0xfe06f8fd, 0xfe06f8fe, 0xfe06f8ff, +0xfe06f900, 0xfe06f901, 0xfe06f902, 0xfe06f903, 0xfe06f904, 0xfe06f905, 0xfe06f906, 0xfe06f907, +0xfe06f9f8, 0xfe06f9f9, 0xfe06f9fa, 0xfe06f9fb, 0xfe06f9fc, 0xfe06f9fd, 0xfe06f9fe, 0xfe06f9ff, +0xfe06fa00, 0xfe06fa01, 0xfe06fa02, 0xfe06fa03, 0xfe06fa04, 0xfe06fa05, 0xfe06fa06, 0xfe06fa07, +0xfe06faf8, 0xfe06faf9, 0xfe06fafa, 0xfe06fafb, 0xfe06fafc, 0xfe06fafd, 0xfe06fafe, 0xfe06faff, +0xfe06fb00, 0xfe06fb01, 0xfe06fb02, 0xfe06fb03, 0xfe06fb04, 0xfe06fb05, 0xfe06fb06, 0xfe06fb07, +0xfe06fbf8, 0xfe06fbf9, 0xfe06fbfa, 0xfe06fbfb, 0xfe06fbfc, 0xfe06fbfd, 0xfe06fbfe, 0xfe06fbff, +0xfe06fc00, 0xfe06fc01, 0xfe06fc02, 0xfe06fc03, 0xfe06fc04, 0xfe06fc05, 0xfe06fc06, 0xfe06fc07, +0xfe06fcf8, 0xfe06fcf9, 0xfe06fcfa, 0xfe06fcfb, 0xfe06fcfc, 0xfe06fcfd, 0xfe06fcfe, 0xfe06fcff, +0xfe06fd00, 0xfe06fd01, 0xfe06fd02, 0xfe06fd03, 0xfe06fd04, 0xfe06fd05, 0xfe06fd06, 0xfe06fd07, +0xfe06fdf8, 0xfe06fdf9, 0xfe06fdfa, 0xfe06fdfb, 0xfe06fdfc, 0xfe06fdfd, 0xfe06fdfe, 0xfe06fdff, +0xfe06fe00, 0xfe06fe01, 0xfe06fe02, 0xfe06fe03, 0xfe06fe04, 0xfe06fe05, 0xfe06fe06, 0xfe06fe07, +0xfe06fef8, 0xfe06fef9, 0xfe06fefa, 0xfe06fefb, 0xfe06fefc, 0xfe06fefd, 0xfe06fefe, 0xfe06feff, +0xfe06ff00, 0xfe06ff01, 0xfe06ff02, 0xfe06ff03, 0xfe06ff04, 0xfe06ff05, 0xfe06ff06, 0xfe06ff07, +0xfe06fff8, 0xfe06fff9, 0xfe06fffa, 0xfe06fffb, 0xfe06fffc, 0xfe06fffd, 0xfe06fffe, 0xfe06ffff, +0xfe070000, 0xfe070001, 0xfe070002, 0xfe070003, 0xfe070004, 0xfe070005, 0xfe070006, 0xfe070007, +0xfe0700f8, 0xfe0700f9, 0xfe0700fa, 0xfe0700fb, 0xfe0700fc, 0xfe0700fd, 0xfe0700fe, 0xfe0700ff, +0xfe070100, 0xfe070101, 0xfe070102, 0xfe070103, 0xfe070104, 0xfe070105, 0xfe070106, 0xfe070107, +0xfe0701f8, 0xfe0701f9, 0xfe0701fa, 0xfe0701fb, 0xfe0701fc, 0xfe0701fd, 0xfe0701fe, 0xfe0701ff, +0xfe070200, 0xfe070201, 0xfe070202, 0xfe070203, 0xfe070204, 0xfe070205, 0xfe070206, 0xfe070207, +0xfe0702f8, 0xfe0702f9, 0xfe0702fa, 0xfe0702fb, 0xfe0702fc, 0xfe0702fd, 0xfe0702fe, 0xfe0702ff, +0xfe070300, 0xfe070301, 0xfe070302, 0xfe070303, 0xfe070304, 0xfe070305, 0xfe070306, 0xfe070307, +0xfe0703f8, 0xfe0703f9, 0xfe0703fa, 0xfe0703fb, 0xfe0703fc, 0xfe0703fd, 0xfe0703fe, 0xfe0703ff, +0xfe070400, 0xfe070401, 0xfe070402, 0xfe070403, 0xfe070404, 0xfe070405, 0xfe070406, 0xfe070407, +0xfe0704f8, 0xfe0704f9, 0xfe0704fa, 0xfe0704fb, 0xfe0704fc, 0xfe0704fd, 0xfe0704fe, 0xfe0704ff, +0xfe070500, 0xfe070501, 0xfe070502, 0xfe070503, 0xfe070504, 0xfe070505, 0xfe070506, 0xfe070507, +0xfe0705f8, 0xfe0705f9, 0xfe0705fa, 0xfe0705fb, 0xfe0705fc, 0xfe0705fd, 0xfe0705fe, 0xfe0705ff, +0xfe070600, 0xfe070601, 0xfe070602, 0xfe070603, 0xfe070604, 0xfe070605, 0xfe070606, 0xfe070607, +0xfe0706f8, 0xfe0706f9, 0xfe0706fa, 0xfe0706fb, 0xfe0706fc, 0xfe0706fd, 0xfe0706fe, 0xfe0706ff, +0xfe070700, 0xfe070701, 0xfe070702, 0xfe070703, 0xfe070704, 0xfe070705, 0xfe070706, 0xfe070707, +0xfe0707f8, 0xfe0707f9, 0xfe0707fa, 0xfe0707fb, 0xfe0707fc, 0xfe0707fd, 0xfe0707fe, 0xfe0707ff, +0xfe07f800, 0xfe07f801, 0xfe07f802, 0xfe07f803, 0xfe07f804, 0xfe07f805, 0xfe07f806, 0xfe07f807, +0xfe07f8f8, 0xfe07f8f9, 0xfe07f8fa, 0xfe07f8fb, 0xfe07f8fc, 0xfe07f8fd, 0xfe07f8fe, 0xfe07f8ff, +0xfe07f900, 0xfe07f901, 0xfe07f902, 0xfe07f903, 0xfe07f904, 0xfe07f905, 0xfe07f906, 0xfe07f907, +0xfe07f9f8, 0xfe07f9f9, 0xfe07f9fa, 0xfe07f9fb, 0xfe07f9fc, 0xfe07f9fd, 0xfe07f9fe, 0xfe07f9ff, +0xfe07fa00, 0xfe07fa01, 0xfe07fa02, 0xfe07fa03, 0xfe07fa04, 0xfe07fa05, 0xfe07fa06, 0xfe07fa07, +0xfe07faf8, 0xfe07faf9, 0xfe07fafa, 0xfe07fafb, 0xfe07fafc, 0xfe07fafd, 0xfe07fafe, 0xfe07faff, +0xfe07fb00, 0xfe07fb01, 0xfe07fb02, 0xfe07fb03, 0xfe07fb04, 0xfe07fb05, 0xfe07fb06, 0xfe07fb07, +0xfe07fbf8, 0xfe07fbf9, 0xfe07fbfa, 0xfe07fbfb, 0xfe07fbfc, 0xfe07fbfd, 0xfe07fbfe, 0xfe07fbff, +0xfe07fc00, 0xfe07fc01, 0xfe07fc02, 0xfe07fc03, 0xfe07fc04, 0xfe07fc05, 0xfe07fc06, 0xfe07fc07, +0xfe07fcf8, 0xfe07fcf9, 0xfe07fcfa, 0xfe07fcfb, 0xfe07fcfc, 0xfe07fcfd, 0xfe07fcfe, 0xfe07fcff, +0xfe07fd00, 0xfe07fd01, 0xfe07fd02, 0xfe07fd03, 0xfe07fd04, 0xfe07fd05, 0xfe07fd06, 0xfe07fd07, +0xfe07fdf8, 0xfe07fdf9, 0xfe07fdfa, 0xfe07fdfb, 0xfe07fdfc, 0xfe07fdfd, 0xfe07fdfe, 0xfe07fdff, +0xfe07fe00, 0xfe07fe01, 0xfe07fe02, 0xfe07fe03, 0xfe07fe04, 0xfe07fe05, 0xfe07fe06, 0xfe07fe07, +0xfe07fef8, 0xfe07fef9, 0xfe07fefa, 0xfe07fefb, 0xfe07fefc, 0xfe07fefd, 0xfe07fefe, 0xfe07feff, +0xfe07ff00, 0xfe07ff01, 0xfe07ff02, 0xfe07ff03, 0xfe07ff04, 0xfe07ff05, 0xfe07ff06, 0xfe07ff07, +0xfe07fff8, 0xfe07fff9, 0xfe07fffa, 0xfe07fffb, 0xfe07fffc, 0xfe07fffd, 0xfe07fffe, 0xfe07ffff, +0xfef80000, 0xfef80001, 0xfef80002, 0xfef80003, 0xfef80004, 0xfef80005, 0xfef80006, 0xfef80007, +0xfef800f8, 0xfef800f9, 0xfef800fa, 0xfef800fb, 0xfef800fc, 0xfef800fd, 0xfef800fe, 0xfef800ff, +0xfef80100, 0xfef80101, 0xfef80102, 0xfef80103, 0xfef80104, 0xfef80105, 0xfef80106, 0xfef80107, +0xfef801f8, 0xfef801f9, 0xfef801fa, 0xfef801fb, 0xfef801fc, 0xfef801fd, 0xfef801fe, 0xfef801ff, +0xfef80200, 0xfef80201, 0xfef80202, 0xfef80203, 0xfef80204, 0xfef80205, 0xfef80206, 0xfef80207, +0xfef802f8, 0xfef802f9, 0xfef802fa, 0xfef802fb, 0xfef802fc, 0xfef802fd, 0xfef802fe, 0xfef802ff, +0xfef80300, 0xfef80301, 0xfef80302, 0xfef80303, 0xfef80304, 0xfef80305, 0xfef80306, 0xfef80307, +0xfef803f8, 0xfef803f9, 0xfef803fa, 0xfef803fb, 0xfef803fc, 0xfef803fd, 0xfef803fe, 0xfef803ff, +0xfef80400, 0xfef80401, 0xfef80402, 0xfef80403, 0xfef80404, 0xfef80405, 0xfef80406, 0xfef80407, +0xfef804f8, 0xfef804f9, 0xfef804fa, 0xfef804fb, 0xfef804fc, 0xfef804fd, 0xfef804fe, 0xfef804ff, +0xfef80500, 0xfef80501, 0xfef80502, 0xfef80503, 0xfef80504, 0xfef80505, 0xfef80506, 0xfef80507, +0xfef805f8, 0xfef805f9, 0xfef805fa, 0xfef805fb, 0xfef805fc, 0xfef805fd, 0xfef805fe, 0xfef805ff, +0xfef80600, 0xfef80601, 0xfef80602, 0xfef80603, 0xfef80604, 0xfef80605, 0xfef80606, 0xfef80607, +0xfef806f8, 0xfef806f9, 0xfef806fa, 0xfef806fb, 0xfef806fc, 0xfef806fd, 0xfef806fe, 0xfef806ff, +0xfef80700, 0xfef80701, 0xfef80702, 0xfef80703, 0xfef80704, 0xfef80705, 0xfef80706, 0xfef80707, +0xfef807f8, 0xfef807f9, 0xfef807fa, 0xfef807fb, 0xfef807fc, 0xfef807fd, 0xfef807fe, 0xfef807ff, +0xfef8f800, 0xfef8f801, 0xfef8f802, 0xfef8f803, 0xfef8f804, 0xfef8f805, 0xfef8f806, 0xfef8f807, +0xfef8f8f8, 0xfef8f8f9, 0xfef8f8fa, 0xfef8f8fb, 0xfef8f8fc, 0xfef8f8fd, 0xfef8f8fe, 0xfef8f8ff, +0xfef8f900, 0xfef8f901, 0xfef8f902, 0xfef8f903, 0xfef8f904, 0xfef8f905, 0xfef8f906, 0xfef8f907, +0xfef8f9f8, 0xfef8f9f9, 0xfef8f9fa, 0xfef8f9fb, 0xfef8f9fc, 0xfef8f9fd, 0xfef8f9fe, 0xfef8f9ff, +0xfef8fa00, 0xfef8fa01, 0xfef8fa02, 0xfef8fa03, 0xfef8fa04, 0xfef8fa05, 0xfef8fa06, 0xfef8fa07, +0xfef8faf8, 0xfef8faf9, 0xfef8fafa, 0xfef8fafb, 0xfef8fafc, 0xfef8fafd, 0xfef8fafe, 0xfef8faff, +0xfef8fb00, 0xfef8fb01, 0xfef8fb02, 0xfef8fb03, 0xfef8fb04, 0xfef8fb05, 0xfef8fb06, 0xfef8fb07, +0xfef8fbf8, 0xfef8fbf9, 0xfef8fbfa, 0xfef8fbfb, 0xfef8fbfc, 0xfef8fbfd, 0xfef8fbfe, 0xfef8fbff, +0xfef8fc00, 0xfef8fc01, 0xfef8fc02, 0xfef8fc03, 0xfef8fc04, 0xfef8fc05, 0xfef8fc06, 0xfef8fc07, +0xfef8fcf8, 0xfef8fcf9, 0xfef8fcfa, 0xfef8fcfb, 0xfef8fcfc, 0xfef8fcfd, 0xfef8fcfe, 0xfef8fcff, +0xfef8fd00, 0xfef8fd01, 0xfef8fd02, 0xfef8fd03, 0xfef8fd04, 0xfef8fd05, 0xfef8fd06, 0xfef8fd07, +0xfef8fdf8, 0xfef8fdf9, 0xfef8fdfa, 0xfef8fdfb, 0xfef8fdfc, 0xfef8fdfd, 0xfef8fdfe, 0xfef8fdff, +0xfef8fe00, 0xfef8fe01, 0xfef8fe02, 0xfef8fe03, 0xfef8fe04, 0xfef8fe05, 0xfef8fe06, 0xfef8fe07, +0xfef8fef8, 0xfef8fef9, 0xfef8fefa, 0xfef8fefb, 0xfef8fefc, 0xfef8fefd, 0xfef8fefe, 0xfef8feff, +0xfef8ff00, 0xfef8ff01, 0xfef8ff02, 0xfef8ff03, 0xfef8ff04, 0xfef8ff05, 0xfef8ff06, 0xfef8ff07, +0xfef8fff8, 0xfef8fff9, 0xfef8fffa, 0xfef8fffb, 0xfef8fffc, 0xfef8fffd, 0xfef8fffe, 0xfef8ffff, +0xfef90000, 0xfef90001, 0xfef90002, 0xfef90003, 0xfef90004, 0xfef90005, 0xfef90006, 0xfef90007, +0xfef900f8, 0xfef900f9, 0xfef900fa, 0xfef900fb, 0xfef900fc, 0xfef900fd, 0xfef900fe, 0xfef900ff, +0xfef90100, 0xfef90101, 0xfef90102, 0xfef90103, 0xfef90104, 0xfef90105, 0xfef90106, 0xfef90107, +0xfef901f8, 0xfef901f9, 0xfef901fa, 0xfef901fb, 0xfef901fc, 0xfef901fd, 0xfef901fe, 0xfef901ff, +0xfef90200, 0xfef90201, 0xfef90202, 0xfef90203, 0xfef90204, 0xfef90205, 0xfef90206, 0xfef90207, +0xfef902f8, 0xfef902f9, 0xfef902fa, 0xfef902fb, 0xfef902fc, 0xfef902fd, 0xfef902fe, 0xfef902ff, +0xfef90300, 0xfef90301, 0xfef90302, 0xfef90303, 0xfef90304, 0xfef90305, 0xfef90306, 0xfef90307, +0xfef903f8, 0xfef903f9, 0xfef903fa, 0xfef903fb, 0xfef903fc, 0xfef903fd, 0xfef903fe, 0xfef903ff, +0xfef90400, 0xfef90401, 0xfef90402, 0xfef90403, 0xfef90404, 0xfef90405, 0xfef90406, 0xfef90407, +0xfef904f8, 0xfef904f9, 0xfef904fa, 0xfef904fb, 0xfef904fc, 0xfef904fd, 0xfef904fe, 0xfef904ff, +0xfef90500, 0xfef90501, 0xfef90502, 0xfef90503, 0xfef90504, 0xfef90505, 0xfef90506, 0xfef90507, +0xfef905f8, 0xfef905f9, 0xfef905fa, 0xfef905fb, 0xfef905fc, 0xfef905fd, 0xfef905fe, 0xfef905ff, +0xfef90600, 0xfef90601, 0xfef90602, 0xfef90603, 0xfef90604, 0xfef90605, 0xfef90606, 0xfef90607, +0xfef906f8, 0xfef906f9, 0xfef906fa, 0xfef906fb, 0xfef906fc, 0xfef906fd, 0xfef906fe, 0xfef906ff, +0xfef90700, 0xfef90701, 0xfef90702, 0xfef90703, 0xfef90704, 0xfef90705, 0xfef90706, 0xfef90707, +0xfef907f8, 0xfef907f9, 0xfef907fa, 0xfef907fb, 0xfef907fc, 0xfef907fd, 0xfef907fe, 0xfef907ff, +0xfef9f800, 0xfef9f801, 0xfef9f802, 0xfef9f803, 0xfef9f804, 0xfef9f805, 0xfef9f806, 0xfef9f807, +0xfef9f8f8, 0xfef9f8f9, 0xfef9f8fa, 0xfef9f8fb, 0xfef9f8fc, 0xfef9f8fd, 0xfef9f8fe, 0xfef9f8ff, +0xfef9f900, 0xfef9f901, 0xfef9f902, 0xfef9f903, 0xfef9f904, 0xfef9f905, 0xfef9f906, 0xfef9f907, +0xfef9f9f8, 0xfef9f9f9, 0xfef9f9fa, 0xfef9f9fb, 0xfef9f9fc, 0xfef9f9fd, 0xfef9f9fe, 0xfef9f9ff, +0xfef9fa00, 0xfef9fa01, 0xfef9fa02, 0xfef9fa03, 0xfef9fa04, 0xfef9fa05, 0xfef9fa06, 0xfef9fa07, +0xfef9faf8, 0xfef9faf9, 0xfef9fafa, 0xfef9fafb, 0xfef9fafc, 0xfef9fafd, 0xfef9fafe, 0xfef9faff, +0xfef9fb00, 0xfef9fb01, 0xfef9fb02, 0xfef9fb03, 0xfef9fb04, 0xfef9fb05, 0xfef9fb06, 0xfef9fb07, +0xfef9fbf8, 0xfef9fbf9, 0xfef9fbfa, 0xfef9fbfb, 0xfef9fbfc, 0xfef9fbfd, 0xfef9fbfe, 0xfef9fbff, +0xfef9fc00, 0xfef9fc01, 0xfef9fc02, 0xfef9fc03, 0xfef9fc04, 0xfef9fc05, 0xfef9fc06, 0xfef9fc07, +0xfef9fcf8, 0xfef9fcf9, 0xfef9fcfa, 0xfef9fcfb, 0xfef9fcfc, 0xfef9fcfd, 0xfef9fcfe, 0xfef9fcff, +0xfef9fd00, 0xfef9fd01, 0xfef9fd02, 0xfef9fd03, 0xfef9fd04, 0xfef9fd05, 0xfef9fd06, 0xfef9fd07, +0xfef9fdf8, 0xfef9fdf9, 0xfef9fdfa, 0xfef9fdfb, 0xfef9fdfc, 0xfef9fdfd, 0xfef9fdfe, 0xfef9fdff, +0xfef9fe00, 0xfef9fe01, 0xfef9fe02, 0xfef9fe03, 0xfef9fe04, 0xfef9fe05, 0xfef9fe06, 0xfef9fe07, +0xfef9fef8, 0xfef9fef9, 0xfef9fefa, 0xfef9fefb, 0xfef9fefc, 0xfef9fefd, 0xfef9fefe, 0xfef9feff, +0xfef9ff00, 0xfef9ff01, 0xfef9ff02, 0xfef9ff03, 0xfef9ff04, 0xfef9ff05, 0xfef9ff06, 0xfef9ff07, +0xfef9fff8, 0xfef9fff9, 0xfef9fffa, 0xfef9fffb, 0xfef9fffc, 0xfef9fffd, 0xfef9fffe, 0xfef9ffff, +0xfefa0000, 0xfefa0001, 0xfefa0002, 0xfefa0003, 0xfefa0004, 0xfefa0005, 0xfefa0006, 0xfefa0007, +0xfefa00f8, 0xfefa00f9, 0xfefa00fa, 0xfefa00fb, 0xfefa00fc, 0xfefa00fd, 0xfefa00fe, 0xfefa00ff, +0xfefa0100, 0xfefa0101, 0xfefa0102, 0xfefa0103, 0xfefa0104, 0xfefa0105, 0xfefa0106, 0xfefa0107, +0xfefa01f8, 0xfefa01f9, 0xfefa01fa, 0xfefa01fb, 0xfefa01fc, 0xfefa01fd, 0xfefa01fe, 0xfefa01ff, +0xfefa0200, 0xfefa0201, 0xfefa0202, 0xfefa0203, 0xfefa0204, 0xfefa0205, 0xfefa0206, 0xfefa0207, +0xfefa02f8, 0xfefa02f9, 0xfefa02fa, 0xfefa02fb, 0xfefa02fc, 0xfefa02fd, 0xfefa02fe, 0xfefa02ff, +0xfefa0300, 0xfefa0301, 0xfefa0302, 0xfefa0303, 0xfefa0304, 0xfefa0305, 0xfefa0306, 0xfefa0307, +0xfefa03f8, 0xfefa03f9, 0xfefa03fa, 0xfefa03fb, 0xfefa03fc, 0xfefa03fd, 0xfefa03fe, 0xfefa03ff, +0xfefa0400, 0xfefa0401, 0xfefa0402, 0xfefa0403, 0xfefa0404, 0xfefa0405, 0xfefa0406, 0xfefa0407, +0xfefa04f8, 0xfefa04f9, 0xfefa04fa, 0xfefa04fb, 0xfefa04fc, 0xfefa04fd, 0xfefa04fe, 0xfefa04ff, +0xfefa0500, 0xfefa0501, 0xfefa0502, 0xfefa0503, 0xfefa0504, 0xfefa0505, 0xfefa0506, 0xfefa0507, +0xfefa05f8, 0xfefa05f9, 0xfefa05fa, 0xfefa05fb, 0xfefa05fc, 0xfefa05fd, 0xfefa05fe, 0xfefa05ff, +0xfefa0600, 0xfefa0601, 0xfefa0602, 0xfefa0603, 0xfefa0604, 0xfefa0605, 0xfefa0606, 0xfefa0607, +0xfefa06f8, 0xfefa06f9, 0xfefa06fa, 0xfefa06fb, 0xfefa06fc, 0xfefa06fd, 0xfefa06fe, 0xfefa06ff, +0xfefa0700, 0xfefa0701, 0xfefa0702, 0xfefa0703, 0xfefa0704, 0xfefa0705, 0xfefa0706, 0xfefa0707, +0xfefa07f8, 0xfefa07f9, 0xfefa07fa, 0xfefa07fb, 0xfefa07fc, 0xfefa07fd, 0xfefa07fe, 0xfefa07ff, +0xfefaf800, 0xfefaf801, 0xfefaf802, 0xfefaf803, 0xfefaf804, 0xfefaf805, 0xfefaf806, 0xfefaf807, +0xfefaf8f8, 0xfefaf8f9, 0xfefaf8fa, 0xfefaf8fb, 0xfefaf8fc, 0xfefaf8fd, 0xfefaf8fe, 0xfefaf8ff, +0xfefaf900, 0xfefaf901, 0xfefaf902, 0xfefaf903, 0xfefaf904, 0xfefaf905, 0xfefaf906, 0xfefaf907, +0xfefaf9f8, 0xfefaf9f9, 0xfefaf9fa, 0xfefaf9fb, 0xfefaf9fc, 0xfefaf9fd, 0xfefaf9fe, 0xfefaf9ff, +0xfefafa00, 0xfefafa01, 0xfefafa02, 0xfefafa03, 0xfefafa04, 0xfefafa05, 0xfefafa06, 0xfefafa07, +0xfefafaf8, 0xfefafaf9, 0xfefafafa, 0xfefafafb, 0xfefafafc, 0xfefafafd, 0xfefafafe, 0xfefafaff, +0xfefafb00, 0xfefafb01, 0xfefafb02, 0xfefafb03, 0xfefafb04, 0xfefafb05, 0xfefafb06, 0xfefafb07, +0xfefafbf8, 0xfefafbf9, 0xfefafbfa, 0xfefafbfb, 0xfefafbfc, 0xfefafbfd, 0xfefafbfe, 0xfefafbff, +0xfefafc00, 0xfefafc01, 0xfefafc02, 0xfefafc03, 0xfefafc04, 0xfefafc05, 0xfefafc06, 0xfefafc07, +0xfefafcf8, 0xfefafcf9, 0xfefafcfa, 0xfefafcfb, 0xfefafcfc, 0xfefafcfd, 0xfefafcfe, 0xfefafcff, +0xfefafd00, 0xfefafd01, 0xfefafd02, 0xfefafd03, 0xfefafd04, 0xfefafd05, 0xfefafd06, 0xfefafd07, +0xfefafdf8, 0xfefafdf9, 0xfefafdfa, 0xfefafdfb, 0xfefafdfc, 0xfefafdfd, 0xfefafdfe, 0xfefafdff, +0xfefafe00, 0xfefafe01, 0xfefafe02, 0xfefafe03, 0xfefafe04, 0xfefafe05, 0xfefafe06, 0xfefafe07, +0xfefafef8, 0xfefafef9, 0xfefafefa, 0xfefafefb, 0xfefafefc, 0xfefafefd, 0xfefafefe, 0xfefafeff, +0xfefaff00, 0xfefaff01, 0xfefaff02, 0xfefaff03, 0xfefaff04, 0xfefaff05, 0xfefaff06, 0xfefaff07, +0xfefafff8, 0xfefafff9, 0xfefafffa, 0xfefafffb, 0xfefafffc, 0xfefafffd, 0xfefafffe, 0xfefaffff, +0xfefb0000, 0xfefb0001, 0xfefb0002, 0xfefb0003, 0xfefb0004, 0xfefb0005, 0xfefb0006, 0xfefb0007, +0xfefb00f8, 0xfefb00f9, 0xfefb00fa, 0xfefb00fb, 0xfefb00fc, 0xfefb00fd, 0xfefb00fe, 0xfefb00ff, +0xfefb0100, 0xfefb0101, 0xfefb0102, 0xfefb0103, 0xfefb0104, 0xfefb0105, 0xfefb0106, 0xfefb0107, +0xfefb01f8, 0xfefb01f9, 0xfefb01fa, 0xfefb01fb, 0xfefb01fc, 0xfefb01fd, 0xfefb01fe, 0xfefb01ff, +0xfefb0200, 0xfefb0201, 0xfefb0202, 0xfefb0203, 0xfefb0204, 0xfefb0205, 0xfefb0206, 0xfefb0207, +0xfefb02f8, 0xfefb02f9, 0xfefb02fa, 0xfefb02fb, 0xfefb02fc, 0xfefb02fd, 0xfefb02fe, 0xfefb02ff, +0xfefb0300, 0xfefb0301, 0xfefb0302, 0xfefb0303, 0xfefb0304, 0xfefb0305, 0xfefb0306, 0xfefb0307, +0xfefb03f8, 0xfefb03f9, 0xfefb03fa, 0xfefb03fb, 0xfefb03fc, 0xfefb03fd, 0xfefb03fe, 0xfefb03ff, +0xfefb0400, 0xfefb0401, 0xfefb0402, 0xfefb0403, 0xfefb0404, 0xfefb0405, 0xfefb0406, 0xfefb0407, +0xfefb04f8, 0xfefb04f9, 0xfefb04fa, 0xfefb04fb, 0xfefb04fc, 0xfefb04fd, 0xfefb04fe, 0xfefb04ff, +0xfefb0500, 0xfefb0501, 0xfefb0502, 0xfefb0503, 0xfefb0504, 0xfefb0505, 0xfefb0506, 0xfefb0507, +0xfefb05f8, 0xfefb05f9, 0xfefb05fa, 0xfefb05fb, 0xfefb05fc, 0xfefb05fd, 0xfefb05fe, 0xfefb05ff, +0xfefb0600, 0xfefb0601, 0xfefb0602, 0xfefb0603, 0xfefb0604, 0xfefb0605, 0xfefb0606, 0xfefb0607, +0xfefb06f8, 0xfefb06f9, 0xfefb06fa, 0xfefb06fb, 0xfefb06fc, 0xfefb06fd, 0xfefb06fe, 0xfefb06ff, +0xfefb0700, 0xfefb0701, 0xfefb0702, 0xfefb0703, 0xfefb0704, 0xfefb0705, 0xfefb0706, 0xfefb0707, +0xfefb07f8, 0xfefb07f9, 0xfefb07fa, 0xfefb07fb, 0xfefb07fc, 0xfefb07fd, 0xfefb07fe, 0xfefb07ff, +0xfefbf800, 0xfefbf801, 0xfefbf802, 0xfefbf803, 0xfefbf804, 0xfefbf805, 0xfefbf806, 0xfefbf807, +0xfefbf8f8, 0xfefbf8f9, 0xfefbf8fa, 0xfefbf8fb, 0xfefbf8fc, 0xfefbf8fd, 0xfefbf8fe, 0xfefbf8ff, +0xfefbf900, 0xfefbf901, 0xfefbf902, 0xfefbf903, 0xfefbf904, 0xfefbf905, 0xfefbf906, 0xfefbf907, +0xfefbf9f8, 0xfefbf9f9, 0xfefbf9fa, 0xfefbf9fb, 0xfefbf9fc, 0xfefbf9fd, 0xfefbf9fe, 0xfefbf9ff, +0xfefbfa00, 0xfefbfa01, 0xfefbfa02, 0xfefbfa03, 0xfefbfa04, 0xfefbfa05, 0xfefbfa06, 0xfefbfa07, +0xfefbfaf8, 0xfefbfaf9, 0xfefbfafa, 0xfefbfafb, 0xfefbfafc, 0xfefbfafd, 0xfefbfafe, 0xfefbfaff, +0xfefbfb00, 0xfefbfb01, 0xfefbfb02, 0xfefbfb03, 0xfefbfb04, 0xfefbfb05, 0xfefbfb06, 0xfefbfb07, +0xfefbfbf8, 0xfefbfbf9, 0xfefbfbfa, 0xfefbfbfb, 0xfefbfbfc, 0xfefbfbfd, 0xfefbfbfe, 0xfefbfbff, +0xfefbfc00, 0xfefbfc01, 0xfefbfc02, 0xfefbfc03, 0xfefbfc04, 0xfefbfc05, 0xfefbfc06, 0xfefbfc07, +0xfefbfcf8, 0xfefbfcf9, 0xfefbfcfa, 0xfefbfcfb, 0xfefbfcfc, 0xfefbfcfd, 0xfefbfcfe, 0xfefbfcff, +0xfefbfd00, 0xfefbfd01, 0xfefbfd02, 0xfefbfd03, 0xfefbfd04, 0xfefbfd05, 0xfefbfd06, 0xfefbfd07, +0xfefbfdf8, 0xfefbfdf9, 0xfefbfdfa, 0xfefbfdfb, 0xfefbfdfc, 0xfefbfdfd, 0xfefbfdfe, 0xfefbfdff, +0xfefbfe00, 0xfefbfe01, 0xfefbfe02, 0xfefbfe03, 0xfefbfe04, 0xfefbfe05, 0xfefbfe06, 0xfefbfe07, +0xfefbfef8, 0xfefbfef9, 0xfefbfefa, 0xfefbfefb, 0xfefbfefc, 0xfefbfefd, 0xfefbfefe, 0xfefbfeff, +0xfefbff00, 0xfefbff01, 0xfefbff02, 0xfefbff03, 0xfefbff04, 0xfefbff05, 0xfefbff06, 0xfefbff07, +0xfefbfff8, 0xfefbfff9, 0xfefbfffa, 0xfefbfffb, 0xfefbfffc, 0xfefbfffd, 0xfefbfffe, 0xfefbffff, +0xfefc0000, 0xfefc0001, 0xfefc0002, 0xfefc0003, 0xfefc0004, 0xfefc0005, 0xfefc0006, 0xfefc0007, +0xfefc00f8, 0xfefc00f9, 0xfefc00fa, 0xfefc00fb, 0xfefc00fc, 0xfefc00fd, 0xfefc00fe, 0xfefc00ff, +0xfefc0100, 0xfefc0101, 0xfefc0102, 0xfefc0103, 0xfefc0104, 0xfefc0105, 0xfefc0106, 0xfefc0107, +0xfefc01f8, 0xfefc01f9, 0xfefc01fa, 0xfefc01fb, 0xfefc01fc, 0xfefc01fd, 0xfefc01fe, 0xfefc01ff, +0xfefc0200, 0xfefc0201, 0xfefc0202, 0xfefc0203, 0xfefc0204, 0xfefc0205, 0xfefc0206, 0xfefc0207, +0xfefc02f8, 0xfefc02f9, 0xfefc02fa, 0xfefc02fb, 0xfefc02fc, 0xfefc02fd, 0xfefc02fe, 0xfefc02ff, +0xfefc0300, 0xfefc0301, 0xfefc0302, 0xfefc0303, 0xfefc0304, 0xfefc0305, 0xfefc0306, 0xfefc0307, +0xfefc03f8, 0xfefc03f9, 0xfefc03fa, 0xfefc03fb, 0xfefc03fc, 0xfefc03fd, 0xfefc03fe, 0xfefc03ff, +0xfefc0400, 0xfefc0401, 0xfefc0402, 0xfefc0403, 0xfefc0404, 0xfefc0405, 0xfefc0406, 0xfefc0407, +0xfefc04f8, 0xfefc04f9, 0xfefc04fa, 0xfefc04fb, 0xfefc04fc, 0xfefc04fd, 0xfefc04fe, 0xfefc04ff, +0xfefc0500, 0xfefc0501, 0xfefc0502, 0xfefc0503, 0xfefc0504, 0xfefc0505, 0xfefc0506, 0xfefc0507, +0xfefc05f8, 0xfefc05f9, 0xfefc05fa, 0xfefc05fb, 0xfefc05fc, 0xfefc05fd, 0xfefc05fe, 0xfefc05ff, +0xfefc0600, 0xfefc0601, 0xfefc0602, 0xfefc0603, 0xfefc0604, 0xfefc0605, 0xfefc0606, 0xfefc0607, +0xfefc06f8, 0xfefc06f9, 0xfefc06fa, 0xfefc06fb, 0xfefc06fc, 0xfefc06fd, 0xfefc06fe, 0xfefc06ff, +0xfefc0700, 0xfefc0701, 0xfefc0702, 0xfefc0703, 0xfefc0704, 0xfefc0705, 0xfefc0706, 0xfefc0707, +0xfefc07f8, 0xfefc07f9, 0xfefc07fa, 0xfefc07fb, 0xfefc07fc, 0xfefc07fd, 0xfefc07fe, 0xfefc07ff, +0xfefcf800, 0xfefcf801, 0xfefcf802, 0xfefcf803, 0xfefcf804, 0xfefcf805, 0xfefcf806, 0xfefcf807, +0xfefcf8f8, 0xfefcf8f9, 0xfefcf8fa, 0xfefcf8fb, 0xfefcf8fc, 0xfefcf8fd, 0xfefcf8fe, 0xfefcf8ff, +0xfefcf900, 0xfefcf901, 0xfefcf902, 0xfefcf903, 0xfefcf904, 0xfefcf905, 0xfefcf906, 0xfefcf907, +0xfefcf9f8, 0xfefcf9f9, 0xfefcf9fa, 0xfefcf9fb, 0xfefcf9fc, 0xfefcf9fd, 0xfefcf9fe, 0xfefcf9ff, +0xfefcfa00, 0xfefcfa01, 0xfefcfa02, 0xfefcfa03, 0xfefcfa04, 0xfefcfa05, 0xfefcfa06, 0xfefcfa07, +0xfefcfaf8, 0xfefcfaf9, 0xfefcfafa, 0xfefcfafb, 0xfefcfafc, 0xfefcfafd, 0xfefcfafe, 0xfefcfaff, +0xfefcfb00, 0xfefcfb01, 0xfefcfb02, 0xfefcfb03, 0xfefcfb04, 0xfefcfb05, 0xfefcfb06, 0xfefcfb07, +0xfefcfbf8, 0xfefcfbf9, 0xfefcfbfa, 0xfefcfbfb, 0xfefcfbfc, 0xfefcfbfd, 0xfefcfbfe, 0xfefcfbff, +0xfefcfc00, 0xfefcfc01, 0xfefcfc02, 0xfefcfc03, 0xfefcfc04, 0xfefcfc05, 0xfefcfc06, 0xfefcfc07, +0xfefcfcf8, 0xfefcfcf9, 0xfefcfcfa, 0xfefcfcfb, 0xfefcfcfc, 0xfefcfcfd, 0xfefcfcfe, 0xfefcfcff, +0xfefcfd00, 0xfefcfd01, 0xfefcfd02, 0xfefcfd03, 0xfefcfd04, 0xfefcfd05, 0xfefcfd06, 0xfefcfd07, +0xfefcfdf8, 0xfefcfdf9, 0xfefcfdfa, 0xfefcfdfb, 0xfefcfdfc, 0xfefcfdfd, 0xfefcfdfe, 0xfefcfdff, +0xfefcfe00, 0xfefcfe01, 0xfefcfe02, 0xfefcfe03, 0xfefcfe04, 0xfefcfe05, 0xfefcfe06, 0xfefcfe07, +0xfefcfef8, 0xfefcfef9, 0xfefcfefa, 0xfefcfefb, 0xfefcfefc, 0xfefcfefd, 0xfefcfefe, 0xfefcfeff, +0xfefcff00, 0xfefcff01, 0xfefcff02, 0xfefcff03, 0xfefcff04, 0xfefcff05, 0xfefcff06, 0xfefcff07, +0xfefcfff8, 0xfefcfff9, 0xfefcfffa, 0xfefcfffb, 0xfefcfffc, 0xfefcfffd, 0xfefcfffe, 0xfefcffff, +0xfefd0000, 0xfefd0001, 0xfefd0002, 0xfefd0003, 0xfefd0004, 0xfefd0005, 0xfefd0006, 0xfefd0007, +0xfefd00f8, 0xfefd00f9, 0xfefd00fa, 0xfefd00fb, 0xfefd00fc, 0xfefd00fd, 0xfefd00fe, 0xfefd00ff, +0xfefd0100, 0xfefd0101, 0xfefd0102, 0xfefd0103, 0xfefd0104, 0xfefd0105, 0xfefd0106, 0xfefd0107, +0xfefd01f8, 0xfefd01f9, 0xfefd01fa, 0xfefd01fb, 0xfefd01fc, 0xfefd01fd, 0xfefd01fe, 0xfefd01ff, +0xfefd0200, 0xfefd0201, 0xfefd0202, 0xfefd0203, 0xfefd0204, 0xfefd0205, 0xfefd0206, 0xfefd0207, +0xfefd02f8, 0xfefd02f9, 0xfefd02fa, 0xfefd02fb, 0xfefd02fc, 0xfefd02fd, 0xfefd02fe, 0xfefd02ff, +0xfefd0300, 0xfefd0301, 0xfefd0302, 0xfefd0303, 0xfefd0304, 0xfefd0305, 0xfefd0306, 0xfefd0307, +0xfefd03f8, 0xfefd03f9, 0xfefd03fa, 0xfefd03fb, 0xfefd03fc, 0xfefd03fd, 0xfefd03fe, 0xfefd03ff, +0xfefd0400, 0xfefd0401, 0xfefd0402, 0xfefd0403, 0xfefd0404, 0xfefd0405, 0xfefd0406, 0xfefd0407, +0xfefd04f8, 0xfefd04f9, 0xfefd04fa, 0xfefd04fb, 0xfefd04fc, 0xfefd04fd, 0xfefd04fe, 0xfefd04ff, +0xfefd0500, 0xfefd0501, 0xfefd0502, 0xfefd0503, 0xfefd0504, 0xfefd0505, 0xfefd0506, 0xfefd0507, +0xfefd05f8, 0xfefd05f9, 0xfefd05fa, 0xfefd05fb, 0xfefd05fc, 0xfefd05fd, 0xfefd05fe, 0xfefd05ff, +0xfefd0600, 0xfefd0601, 0xfefd0602, 0xfefd0603, 0xfefd0604, 0xfefd0605, 0xfefd0606, 0xfefd0607, +0xfefd06f8, 0xfefd06f9, 0xfefd06fa, 0xfefd06fb, 0xfefd06fc, 0xfefd06fd, 0xfefd06fe, 0xfefd06ff, +0xfefd0700, 0xfefd0701, 0xfefd0702, 0xfefd0703, 0xfefd0704, 0xfefd0705, 0xfefd0706, 0xfefd0707, +0xfefd07f8, 0xfefd07f9, 0xfefd07fa, 0xfefd07fb, 0xfefd07fc, 0xfefd07fd, 0xfefd07fe, 0xfefd07ff, +0xfefdf800, 0xfefdf801, 0xfefdf802, 0xfefdf803, 0xfefdf804, 0xfefdf805, 0xfefdf806, 0xfefdf807, +0xfefdf8f8, 0xfefdf8f9, 0xfefdf8fa, 0xfefdf8fb, 0xfefdf8fc, 0xfefdf8fd, 0xfefdf8fe, 0xfefdf8ff, +0xfefdf900, 0xfefdf901, 0xfefdf902, 0xfefdf903, 0xfefdf904, 0xfefdf905, 0xfefdf906, 0xfefdf907, +0xfefdf9f8, 0xfefdf9f9, 0xfefdf9fa, 0xfefdf9fb, 0xfefdf9fc, 0xfefdf9fd, 0xfefdf9fe, 0xfefdf9ff, +0xfefdfa00, 0xfefdfa01, 0xfefdfa02, 0xfefdfa03, 0xfefdfa04, 0xfefdfa05, 0xfefdfa06, 0xfefdfa07, +0xfefdfaf8, 0xfefdfaf9, 0xfefdfafa, 0xfefdfafb, 0xfefdfafc, 0xfefdfafd, 0xfefdfafe, 0xfefdfaff, +0xfefdfb00, 0xfefdfb01, 0xfefdfb02, 0xfefdfb03, 0xfefdfb04, 0xfefdfb05, 0xfefdfb06, 0xfefdfb07, +0xfefdfbf8, 0xfefdfbf9, 0xfefdfbfa, 0xfefdfbfb, 0xfefdfbfc, 0xfefdfbfd, 0xfefdfbfe, 0xfefdfbff, +0xfefdfc00, 0xfefdfc01, 0xfefdfc02, 0xfefdfc03, 0xfefdfc04, 0xfefdfc05, 0xfefdfc06, 0xfefdfc07, +0xfefdfcf8, 0xfefdfcf9, 0xfefdfcfa, 0xfefdfcfb, 0xfefdfcfc, 0xfefdfcfd, 0xfefdfcfe, 0xfefdfcff, +0xfefdfd00, 0xfefdfd01, 0xfefdfd02, 0xfefdfd03, 0xfefdfd04, 0xfefdfd05, 0xfefdfd06, 0xfefdfd07, +0xfefdfdf8, 0xfefdfdf9, 0xfefdfdfa, 0xfefdfdfb, 0xfefdfdfc, 0xfefdfdfd, 0xfefdfdfe, 0xfefdfdff, +0xfefdfe00, 0xfefdfe01, 0xfefdfe02, 0xfefdfe03, 0xfefdfe04, 0xfefdfe05, 0xfefdfe06, 0xfefdfe07, +0xfefdfef8, 0xfefdfef9, 0xfefdfefa, 0xfefdfefb, 0xfefdfefc, 0xfefdfefd, 0xfefdfefe, 0xfefdfeff, +0xfefdff00, 0xfefdff01, 0xfefdff02, 0xfefdff03, 0xfefdff04, 0xfefdff05, 0xfefdff06, 0xfefdff07, +0xfefdfff8, 0xfefdfff9, 0xfefdfffa, 0xfefdfffb, 0xfefdfffc, 0xfefdfffd, 0xfefdfffe, 0xfefdffff, +0xfefe0000, 0xfefe0001, 0xfefe0002, 0xfefe0003, 0xfefe0004, 0xfefe0005, 0xfefe0006, 0xfefe0007, +0xfefe00f8, 0xfefe00f9, 0xfefe00fa, 0xfefe00fb, 0xfefe00fc, 0xfefe00fd, 0xfefe00fe, 0xfefe00ff, +0xfefe0100, 0xfefe0101, 0xfefe0102, 0xfefe0103, 0xfefe0104, 0xfefe0105, 0xfefe0106, 0xfefe0107, +0xfefe01f8, 0xfefe01f9, 0xfefe01fa, 0xfefe01fb, 0xfefe01fc, 0xfefe01fd, 0xfefe01fe, 0xfefe01ff, +0xfefe0200, 0xfefe0201, 0xfefe0202, 0xfefe0203, 0xfefe0204, 0xfefe0205, 0xfefe0206, 0xfefe0207, +0xfefe02f8, 0xfefe02f9, 0xfefe02fa, 0xfefe02fb, 0xfefe02fc, 0xfefe02fd, 0xfefe02fe, 0xfefe02ff, +0xfefe0300, 0xfefe0301, 0xfefe0302, 0xfefe0303, 0xfefe0304, 0xfefe0305, 0xfefe0306, 0xfefe0307, +0xfefe03f8, 0xfefe03f9, 0xfefe03fa, 0xfefe03fb, 0xfefe03fc, 0xfefe03fd, 0xfefe03fe, 0xfefe03ff, +0xfefe0400, 0xfefe0401, 0xfefe0402, 0xfefe0403, 0xfefe0404, 0xfefe0405, 0xfefe0406, 0xfefe0407, +0xfefe04f8, 0xfefe04f9, 0xfefe04fa, 0xfefe04fb, 0xfefe04fc, 0xfefe04fd, 0xfefe04fe, 0xfefe04ff, +0xfefe0500, 0xfefe0501, 0xfefe0502, 0xfefe0503, 0xfefe0504, 0xfefe0505, 0xfefe0506, 0xfefe0507, +0xfefe05f8, 0xfefe05f9, 0xfefe05fa, 0xfefe05fb, 0xfefe05fc, 0xfefe05fd, 0xfefe05fe, 0xfefe05ff, +0xfefe0600, 0xfefe0601, 0xfefe0602, 0xfefe0603, 0xfefe0604, 0xfefe0605, 0xfefe0606, 0xfefe0607, +0xfefe06f8, 0xfefe06f9, 0xfefe06fa, 0xfefe06fb, 0xfefe06fc, 0xfefe06fd, 0xfefe06fe, 0xfefe06ff, +0xfefe0700, 0xfefe0701, 0xfefe0702, 0xfefe0703, 0xfefe0704, 0xfefe0705, 0xfefe0706, 0xfefe0707, +0xfefe07f8, 0xfefe07f9, 0xfefe07fa, 0xfefe07fb, 0xfefe07fc, 0xfefe07fd, 0xfefe07fe, 0xfefe07ff, +0xfefef800, 0xfefef801, 0xfefef802, 0xfefef803, 0xfefef804, 0xfefef805, 0xfefef806, 0xfefef807, +0xfefef8f8, 0xfefef8f9, 0xfefef8fa, 0xfefef8fb, 0xfefef8fc, 0xfefef8fd, 0xfefef8fe, 0xfefef8ff, +0xfefef900, 0xfefef901, 0xfefef902, 0xfefef903, 0xfefef904, 0xfefef905, 0xfefef906, 0xfefef907, +0xfefef9f8, 0xfefef9f9, 0xfefef9fa, 0xfefef9fb, 0xfefef9fc, 0xfefef9fd, 0xfefef9fe, 0xfefef9ff, +0xfefefa00, 0xfefefa01, 0xfefefa02, 0xfefefa03, 0xfefefa04, 0xfefefa05, 0xfefefa06, 0xfefefa07, +0xfefefaf8, 0xfefefaf9, 0xfefefafa, 0xfefefafb, 0xfefefafc, 0xfefefafd, 0xfefefafe, 0xfefefaff, +0xfefefb00, 0xfefefb01, 0xfefefb02, 0xfefefb03, 0xfefefb04, 0xfefefb05, 0xfefefb06, 0xfefefb07, +0xfefefbf8, 0xfefefbf9, 0xfefefbfa, 0xfefefbfb, 0xfefefbfc, 0xfefefbfd, 0xfefefbfe, 0xfefefbff, +0xfefefc00, 0xfefefc01, 0xfefefc02, 0xfefefc03, 0xfefefc04, 0xfefefc05, 0xfefefc06, 0xfefefc07, +0xfefefcf8, 0xfefefcf9, 0xfefefcfa, 0xfefefcfb, 0xfefefcfc, 0xfefefcfd, 0xfefefcfe, 0xfefefcff, +0xfefefd00, 0xfefefd01, 0xfefefd02, 0xfefefd03, 0xfefefd04, 0xfefefd05, 0xfefefd06, 0xfefefd07, +0xfefefdf8, 0xfefefdf9, 0xfefefdfa, 0xfefefdfb, 0xfefefdfc, 0xfefefdfd, 0xfefefdfe, 0xfefefdff, +0xfefefe00, 0xfefefe01, 0xfefefe02, 0xfefefe03, 0xfefefe04, 0xfefefe05, 0xfefefe06, 0xfefefe07, +0xfefefef8, 0xfefefef9, 0xfefefefa, 0xfefefefb, 0xfefefefc, 0xfefefefd, 0xfefefefe, 0xfefefeff, +0xfefeff00, 0xfefeff01, 0xfefeff02, 0xfefeff03, 0xfefeff04, 0xfefeff05, 0xfefeff06, 0xfefeff07, +0xfefefff8, 0xfefefff9, 0xfefefffa, 0xfefefffb, 0xfefefffc, 0xfefefffd, 0xfefefffe, 0xfefeffff, +0xfeff0000, 0xfeff0001, 0xfeff0002, 0xfeff0003, 0xfeff0004, 0xfeff0005, 0xfeff0006, 0xfeff0007, +0xfeff00f8, 0xfeff00f9, 0xfeff00fa, 0xfeff00fb, 0xfeff00fc, 0xfeff00fd, 0xfeff00fe, 0xfeff00ff, +0xfeff0100, 0xfeff0101, 0xfeff0102, 0xfeff0103, 0xfeff0104, 0xfeff0105, 0xfeff0106, 0xfeff0107, +0xfeff01f8, 0xfeff01f9, 0xfeff01fa, 0xfeff01fb, 0xfeff01fc, 0xfeff01fd, 0xfeff01fe, 0xfeff01ff, +0xfeff0200, 0xfeff0201, 0xfeff0202, 0xfeff0203, 0xfeff0204, 0xfeff0205, 0xfeff0206, 0xfeff0207, +0xfeff02f8, 0xfeff02f9, 0xfeff02fa, 0xfeff02fb, 0xfeff02fc, 0xfeff02fd, 0xfeff02fe, 0xfeff02ff, +0xfeff0300, 0xfeff0301, 0xfeff0302, 0xfeff0303, 0xfeff0304, 0xfeff0305, 0xfeff0306, 0xfeff0307, +0xfeff03f8, 0xfeff03f9, 0xfeff03fa, 0xfeff03fb, 0xfeff03fc, 0xfeff03fd, 0xfeff03fe, 0xfeff03ff, +0xfeff0400, 0xfeff0401, 0xfeff0402, 0xfeff0403, 0xfeff0404, 0xfeff0405, 0xfeff0406, 0xfeff0407, +0xfeff04f8, 0xfeff04f9, 0xfeff04fa, 0xfeff04fb, 0xfeff04fc, 0xfeff04fd, 0xfeff04fe, 0xfeff04ff, +0xfeff0500, 0xfeff0501, 0xfeff0502, 0xfeff0503, 0xfeff0504, 0xfeff0505, 0xfeff0506, 0xfeff0507, +0xfeff05f8, 0xfeff05f9, 0xfeff05fa, 0xfeff05fb, 0xfeff05fc, 0xfeff05fd, 0xfeff05fe, 0xfeff05ff, +0xfeff0600, 0xfeff0601, 0xfeff0602, 0xfeff0603, 0xfeff0604, 0xfeff0605, 0xfeff0606, 0xfeff0607, +0xfeff06f8, 0xfeff06f9, 0xfeff06fa, 0xfeff06fb, 0xfeff06fc, 0xfeff06fd, 0xfeff06fe, 0xfeff06ff, +0xfeff0700, 0xfeff0701, 0xfeff0702, 0xfeff0703, 0xfeff0704, 0xfeff0705, 0xfeff0706, 0xfeff0707, +0xfeff07f8, 0xfeff07f9, 0xfeff07fa, 0xfeff07fb, 0xfeff07fc, 0xfeff07fd, 0xfeff07fe, 0xfeff07ff, +0xfefff800, 0xfefff801, 0xfefff802, 0xfefff803, 0xfefff804, 0xfefff805, 0xfefff806, 0xfefff807, +0xfefff8f8, 0xfefff8f9, 0xfefff8fa, 0xfefff8fb, 0xfefff8fc, 0xfefff8fd, 0xfefff8fe, 0xfefff8ff, +0xfefff900, 0xfefff901, 0xfefff902, 0xfefff903, 0xfefff904, 0xfefff905, 0xfefff906, 0xfefff907, +0xfefff9f8, 0xfefff9f9, 0xfefff9fa, 0xfefff9fb, 0xfefff9fc, 0xfefff9fd, 0xfefff9fe, 0xfefff9ff, +0xfefffa00, 0xfefffa01, 0xfefffa02, 0xfefffa03, 0xfefffa04, 0xfefffa05, 0xfefffa06, 0xfefffa07, +0xfefffaf8, 0xfefffaf9, 0xfefffafa, 0xfefffafb, 0xfefffafc, 0xfefffafd, 0xfefffafe, 0xfefffaff, +0xfefffb00, 0xfefffb01, 0xfefffb02, 0xfefffb03, 0xfefffb04, 0xfefffb05, 0xfefffb06, 0xfefffb07, +0xfefffbf8, 0xfefffbf9, 0xfefffbfa, 0xfefffbfb, 0xfefffbfc, 0xfefffbfd, 0xfefffbfe, 0xfefffbff, +0xfefffc00, 0xfefffc01, 0xfefffc02, 0xfefffc03, 0xfefffc04, 0xfefffc05, 0xfefffc06, 0xfefffc07, +0xfefffcf8, 0xfefffcf9, 0xfefffcfa, 0xfefffcfb, 0xfefffcfc, 0xfefffcfd, 0xfefffcfe, 0xfefffcff, +0xfefffd00, 0xfefffd01, 0xfefffd02, 0xfefffd03, 0xfefffd04, 0xfefffd05, 0xfefffd06, 0xfefffd07, +0xfefffdf8, 0xfefffdf9, 0xfefffdfa, 0xfefffdfb, 0xfefffdfc, 0xfefffdfd, 0xfefffdfe, 0xfefffdff, +0xfefffe00, 0xfefffe01, 0xfefffe02, 0xfefffe03, 0xfefffe04, 0xfefffe05, 0xfefffe06, 0xfefffe07, +0xfefffef8, 0xfefffef9, 0xfefffefa, 0xfefffefb, 0xfefffefc, 0xfefffefd, 0xfefffefe, 0xfefffeff, +0xfeffff00, 0xfeffff01, 0xfeffff02, 0xfeffff03, 0xfeffff04, 0xfeffff05, 0xfeffff06, 0xfeffff07, +0xfefffff8, 0xfefffff9, 0xfefffffa, 0xfefffffb, 0xfefffffc, 0xfefffffd, 0xfefffffe, 0xfeffffff, +0xff000000, 0xff000001, 0xff000002, 0xff000003, 0xff000004, 0xff000005, 0xff000006, 0xff000007, +0xff0000f8, 0xff0000f9, 0xff0000fa, 0xff0000fb, 0xff0000fc, 0xff0000fd, 0xff0000fe, 0xff0000ff, +0xff000100, 0xff000101, 0xff000102, 0xff000103, 0xff000104, 0xff000105, 0xff000106, 0xff000107, +0xff0001f8, 0xff0001f9, 0xff0001fa, 0xff0001fb, 0xff0001fc, 0xff0001fd, 0xff0001fe, 0xff0001ff, +0xff000200, 0xff000201, 0xff000202, 0xff000203, 0xff000204, 0xff000205, 0xff000206, 0xff000207, +0xff0002f8, 0xff0002f9, 0xff0002fa, 0xff0002fb, 0xff0002fc, 0xff0002fd, 0xff0002fe, 0xff0002ff, +0xff000300, 0xff000301, 0xff000302, 0xff000303, 0xff000304, 0xff000305, 0xff000306, 0xff000307, +0xff0003f8, 0xff0003f9, 0xff0003fa, 0xff0003fb, 0xff0003fc, 0xff0003fd, 0xff0003fe, 0xff0003ff, +0xff000400, 0xff000401, 0xff000402, 0xff000403, 0xff000404, 0xff000405, 0xff000406, 0xff000407, +0xff0004f8, 0xff0004f9, 0xff0004fa, 0xff0004fb, 0xff0004fc, 0xff0004fd, 0xff0004fe, 0xff0004ff, +0xff000500, 0xff000501, 0xff000502, 0xff000503, 0xff000504, 0xff000505, 0xff000506, 0xff000507, +0xff0005f8, 0xff0005f9, 0xff0005fa, 0xff0005fb, 0xff0005fc, 0xff0005fd, 0xff0005fe, 0xff0005ff, +0xff000600, 0xff000601, 0xff000602, 0xff000603, 0xff000604, 0xff000605, 0xff000606, 0xff000607, +0xff0006f8, 0xff0006f9, 0xff0006fa, 0xff0006fb, 0xff0006fc, 0xff0006fd, 0xff0006fe, 0xff0006ff, +0xff000700, 0xff000701, 0xff000702, 0xff000703, 0xff000704, 0xff000705, 0xff000706, 0xff000707, +0xff0007f8, 0xff0007f9, 0xff0007fa, 0xff0007fb, 0xff0007fc, 0xff0007fd, 0xff0007fe, 0xff0007ff, +0xff00f800, 0xff00f801, 0xff00f802, 0xff00f803, 0xff00f804, 0xff00f805, 0xff00f806, 0xff00f807, +0xff00f8f8, 0xff00f8f9, 0xff00f8fa, 0xff00f8fb, 0xff00f8fc, 0xff00f8fd, 0xff00f8fe, 0xff00f8ff, +0xff00f900, 0xff00f901, 0xff00f902, 0xff00f903, 0xff00f904, 0xff00f905, 0xff00f906, 0xff00f907, +0xff00f9f8, 0xff00f9f9, 0xff00f9fa, 0xff00f9fb, 0xff00f9fc, 0xff00f9fd, 0xff00f9fe, 0xff00f9ff, +0xff00fa00, 0xff00fa01, 0xff00fa02, 0xff00fa03, 0xff00fa04, 0xff00fa05, 0xff00fa06, 0xff00fa07, +0xff00faf8, 0xff00faf9, 0xff00fafa, 0xff00fafb, 0xff00fafc, 0xff00fafd, 0xff00fafe, 0xff00faff, +0xff00fb00, 0xff00fb01, 0xff00fb02, 0xff00fb03, 0xff00fb04, 0xff00fb05, 0xff00fb06, 0xff00fb07, +0xff00fbf8, 0xff00fbf9, 0xff00fbfa, 0xff00fbfb, 0xff00fbfc, 0xff00fbfd, 0xff00fbfe, 0xff00fbff, +0xff00fc00, 0xff00fc01, 0xff00fc02, 0xff00fc03, 0xff00fc04, 0xff00fc05, 0xff00fc06, 0xff00fc07, +0xff00fcf8, 0xff00fcf9, 0xff00fcfa, 0xff00fcfb, 0xff00fcfc, 0xff00fcfd, 0xff00fcfe, 0xff00fcff, +0xff00fd00, 0xff00fd01, 0xff00fd02, 0xff00fd03, 0xff00fd04, 0xff00fd05, 0xff00fd06, 0xff00fd07, +0xff00fdf8, 0xff00fdf9, 0xff00fdfa, 0xff00fdfb, 0xff00fdfc, 0xff00fdfd, 0xff00fdfe, 0xff00fdff, +0xff00fe00, 0xff00fe01, 0xff00fe02, 0xff00fe03, 0xff00fe04, 0xff00fe05, 0xff00fe06, 0xff00fe07, +0xff00fef8, 0xff00fef9, 0xff00fefa, 0xff00fefb, 0xff00fefc, 0xff00fefd, 0xff00fefe, 0xff00feff, +0xff00ff00, 0xff00ff01, 0xff00ff02, 0xff00ff03, 0xff00ff04, 0xff00ff05, 0xff00ff06, 0xff00ff07, +0xff00fff8, 0xff00fff9, 0xff00fffa, 0xff00fffb, 0xff00fffc, 0xff00fffd, 0xff00fffe, 0xff00ffff, +0xff010000, 0xff010001, 0xff010002, 0xff010003, 0xff010004, 0xff010005, 0xff010006, 0xff010007, +0xff0100f8, 0xff0100f9, 0xff0100fa, 0xff0100fb, 0xff0100fc, 0xff0100fd, 0xff0100fe, 0xff0100ff, +0xff010100, 0xff010101, 0xff010102, 0xff010103, 0xff010104, 0xff010105, 0xff010106, 0xff010107, +0xff0101f8, 0xff0101f9, 0xff0101fa, 0xff0101fb, 0xff0101fc, 0xff0101fd, 0xff0101fe, 0xff0101ff, +0xff010200, 0xff010201, 0xff010202, 0xff010203, 0xff010204, 0xff010205, 0xff010206, 0xff010207, +0xff0102f8, 0xff0102f9, 0xff0102fa, 0xff0102fb, 0xff0102fc, 0xff0102fd, 0xff0102fe, 0xff0102ff, +0xff010300, 0xff010301, 0xff010302, 0xff010303, 0xff010304, 0xff010305, 0xff010306, 0xff010307, +0xff0103f8, 0xff0103f9, 0xff0103fa, 0xff0103fb, 0xff0103fc, 0xff0103fd, 0xff0103fe, 0xff0103ff, +0xff010400, 0xff010401, 0xff010402, 0xff010403, 0xff010404, 0xff010405, 0xff010406, 0xff010407, +0xff0104f8, 0xff0104f9, 0xff0104fa, 0xff0104fb, 0xff0104fc, 0xff0104fd, 0xff0104fe, 0xff0104ff, +0xff010500, 0xff010501, 0xff010502, 0xff010503, 0xff010504, 0xff010505, 0xff010506, 0xff010507, +0xff0105f8, 0xff0105f9, 0xff0105fa, 0xff0105fb, 0xff0105fc, 0xff0105fd, 0xff0105fe, 0xff0105ff, +0xff010600, 0xff010601, 0xff010602, 0xff010603, 0xff010604, 0xff010605, 0xff010606, 0xff010607, +0xff0106f8, 0xff0106f9, 0xff0106fa, 0xff0106fb, 0xff0106fc, 0xff0106fd, 0xff0106fe, 0xff0106ff, +0xff010700, 0xff010701, 0xff010702, 0xff010703, 0xff010704, 0xff010705, 0xff010706, 0xff010707, +0xff0107f8, 0xff0107f9, 0xff0107fa, 0xff0107fb, 0xff0107fc, 0xff0107fd, 0xff0107fe, 0xff0107ff, +0xff01f800, 0xff01f801, 0xff01f802, 0xff01f803, 0xff01f804, 0xff01f805, 0xff01f806, 0xff01f807, +0xff01f8f8, 0xff01f8f9, 0xff01f8fa, 0xff01f8fb, 0xff01f8fc, 0xff01f8fd, 0xff01f8fe, 0xff01f8ff, +0xff01f900, 0xff01f901, 0xff01f902, 0xff01f903, 0xff01f904, 0xff01f905, 0xff01f906, 0xff01f907, +0xff01f9f8, 0xff01f9f9, 0xff01f9fa, 0xff01f9fb, 0xff01f9fc, 0xff01f9fd, 0xff01f9fe, 0xff01f9ff, +0xff01fa00, 0xff01fa01, 0xff01fa02, 0xff01fa03, 0xff01fa04, 0xff01fa05, 0xff01fa06, 0xff01fa07, +0xff01faf8, 0xff01faf9, 0xff01fafa, 0xff01fafb, 0xff01fafc, 0xff01fafd, 0xff01fafe, 0xff01faff, +0xff01fb00, 0xff01fb01, 0xff01fb02, 0xff01fb03, 0xff01fb04, 0xff01fb05, 0xff01fb06, 0xff01fb07, +0xff01fbf8, 0xff01fbf9, 0xff01fbfa, 0xff01fbfb, 0xff01fbfc, 0xff01fbfd, 0xff01fbfe, 0xff01fbff, +0xff01fc00, 0xff01fc01, 0xff01fc02, 0xff01fc03, 0xff01fc04, 0xff01fc05, 0xff01fc06, 0xff01fc07, +0xff01fcf8, 0xff01fcf9, 0xff01fcfa, 0xff01fcfb, 0xff01fcfc, 0xff01fcfd, 0xff01fcfe, 0xff01fcff, +0xff01fd00, 0xff01fd01, 0xff01fd02, 0xff01fd03, 0xff01fd04, 0xff01fd05, 0xff01fd06, 0xff01fd07, +0xff01fdf8, 0xff01fdf9, 0xff01fdfa, 0xff01fdfb, 0xff01fdfc, 0xff01fdfd, 0xff01fdfe, 0xff01fdff, +0xff01fe00, 0xff01fe01, 0xff01fe02, 0xff01fe03, 0xff01fe04, 0xff01fe05, 0xff01fe06, 0xff01fe07, +0xff01fef8, 0xff01fef9, 0xff01fefa, 0xff01fefb, 0xff01fefc, 0xff01fefd, 0xff01fefe, 0xff01feff, +0xff01ff00, 0xff01ff01, 0xff01ff02, 0xff01ff03, 0xff01ff04, 0xff01ff05, 0xff01ff06, 0xff01ff07, +0xff01fff8, 0xff01fff9, 0xff01fffa, 0xff01fffb, 0xff01fffc, 0xff01fffd, 0xff01fffe, 0xff01ffff, +0xff020000, 0xff020001, 0xff020002, 0xff020003, 0xff020004, 0xff020005, 0xff020006, 0xff020007, +0xff0200f8, 0xff0200f9, 0xff0200fa, 0xff0200fb, 0xff0200fc, 0xff0200fd, 0xff0200fe, 0xff0200ff, +0xff020100, 0xff020101, 0xff020102, 0xff020103, 0xff020104, 0xff020105, 0xff020106, 0xff020107, +0xff0201f8, 0xff0201f9, 0xff0201fa, 0xff0201fb, 0xff0201fc, 0xff0201fd, 0xff0201fe, 0xff0201ff, +0xff020200, 0xff020201, 0xff020202, 0xff020203, 0xff020204, 0xff020205, 0xff020206, 0xff020207, +0xff0202f8, 0xff0202f9, 0xff0202fa, 0xff0202fb, 0xff0202fc, 0xff0202fd, 0xff0202fe, 0xff0202ff, +0xff020300, 0xff020301, 0xff020302, 0xff020303, 0xff020304, 0xff020305, 0xff020306, 0xff020307, +0xff0203f8, 0xff0203f9, 0xff0203fa, 0xff0203fb, 0xff0203fc, 0xff0203fd, 0xff0203fe, 0xff0203ff, +0xff020400, 0xff020401, 0xff020402, 0xff020403, 0xff020404, 0xff020405, 0xff020406, 0xff020407, +0xff0204f8, 0xff0204f9, 0xff0204fa, 0xff0204fb, 0xff0204fc, 0xff0204fd, 0xff0204fe, 0xff0204ff, +0xff020500, 0xff020501, 0xff020502, 0xff020503, 0xff020504, 0xff020505, 0xff020506, 0xff020507, +0xff0205f8, 0xff0205f9, 0xff0205fa, 0xff0205fb, 0xff0205fc, 0xff0205fd, 0xff0205fe, 0xff0205ff, +0xff020600, 0xff020601, 0xff020602, 0xff020603, 0xff020604, 0xff020605, 0xff020606, 0xff020607, +0xff0206f8, 0xff0206f9, 0xff0206fa, 0xff0206fb, 0xff0206fc, 0xff0206fd, 0xff0206fe, 0xff0206ff, +0xff020700, 0xff020701, 0xff020702, 0xff020703, 0xff020704, 0xff020705, 0xff020706, 0xff020707, +0xff0207f8, 0xff0207f9, 0xff0207fa, 0xff0207fb, 0xff0207fc, 0xff0207fd, 0xff0207fe, 0xff0207ff, +0xff02f800, 0xff02f801, 0xff02f802, 0xff02f803, 0xff02f804, 0xff02f805, 0xff02f806, 0xff02f807, +0xff02f8f8, 0xff02f8f9, 0xff02f8fa, 0xff02f8fb, 0xff02f8fc, 0xff02f8fd, 0xff02f8fe, 0xff02f8ff, +0xff02f900, 0xff02f901, 0xff02f902, 0xff02f903, 0xff02f904, 0xff02f905, 0xff02f906, 0xff02f907, +0xff02f9f8, 0xff02f9f9, 0xff02f9fa, 0xff02f9fb, 0xff02f9fc, 0xff02f9fd, 0xff02f9fe, 0xff02f9ff, +0xff02fa00, 0xff02fa01, 0xff02fa02, 0xff02fa03, 0xff02fa04, 0xff02fa05, 0xff02fa06, 0xff02fa07, +0xff02faf8, 0xff02faf9, 0xff02fafa, 0xff02fafb, 0xff02fafc, 0xff02fafd, 0xff02fafe, 0xff02faff, +0xff02fb00, 0xff02fb01, 0xff02fb02, 0xff02fb03, 0xff02fb04, 0xff02fb05, 0xff02fb06, 0xff02fb07, +0xff02fbf8, 0xff02fbf9, 0xff02fbfa, 0xff02fbfb, 0xff02fbfc, 0xff02fbfd, 0xff02fbfe, 0xff02fbff, +0xff02fc00, 0xff02fc01, 0xff02fc02, 0xff02fc03, 0xff02fc04, 0xff02fc05, 0xff02fc06, 0xff02fc07, +0xff02fcf8, 0xff02fcf9, 0xff02fcfa, 0xff02fcfb, 0xff02fcfc, 0xff02fcfd, 0xff02fcfe, 0xff02fcff, +0xff02fd00, 0xff02fd01, 0xff02fd02, 0xff02fd03, 0xff02fd04, 0xff02fd05, 0xff02fd06, 0xff02fd07, +0xff02fdf8, 0xff02fdf9, 0xff02fdfa, 0xff02fdfb, 0xff02fdfc, 0xff02fdfd, 0xff02fdfe, 0xff02fdff, +0xff02fe00, 0xff02fe01, 0xff02fe02, 0xff02fe03, 0xff02fe04, 0xff02fe05, 0xff02fe06, 0xff02fe07, +0xff02fef8, 0xff02fef9, 0xff02fefa, 0xff02fefb, 0xff02fefc, 0xff02fefd, 0xff02fefe, 0xff02feff, +0xff02ff00, 0xff02ff01, 0xff02ff02, 0xff02ff03, 0xff02ff04, 0xff02ff05, 0xff02ff06, 0xff02ff07, +0xff02fff8, 0xff02fff9, 0xff02fffa, 0xff02fffb, 0xff02fffc, 0xff02fffd, 0xff02fffe, 0xff02ffff, +0xff030000, 0xff030001, 0xff030002, 0xff030003, 0xff030004, 0xff030005, 0xff030006, 0xff030007, +0xff0300f8, 0xff0300f9, 0xff0300fa, 0xff0300fb, 0xff0300fc, 0xff0300fd, 0xff0300fe, 0xff0300ff, +0xff030100, 0xff030101, 0xff030102, 0xff030103, 0xff030104, 0xff030105, 0xff030106, 0xff030107, +0xff0301f8, 0xff0301f9, 0xff0301fa, 0xff0301fb, 0xff0301fc, 0xff0301fd, 0xff0301fe, 0xff0301ff, +0xff030200, 0xff030201, 0xff030202, 0xff030203, 0xff030204, 0xff030205, 0xff030206, 0xff030207, +0xff0302f8, 0xff0302f9, 0xff0302fa, 0xff0302fb, 0xff0302fc, 0xff0302fd, 0xff0302fe, 0xff0302ff, +0xff030300, 0xff030301, 0xff030302, 0xff030303, 0xff030304, 0xff030305, 0xff030306, 0xff030307, +0xff0303f8, 0xff0303f9, 0xff0303fa, 0xff0303fb, 0xff0303fc, 0xff0303fd, 0xff0303fe, 0xff0303ff, +0xff030400, 0xff030401, 0xff030402, 0xff030403, 0xff030404, 0xff030405, 0xff030406, 0xff030407, +0xff0304f8, 0xff0304f9, 0xff0304fa, 0xff0304fb, 0xff0304fc, 0xff0304fd, 0xff0304fe, 0xff0304ff, +0xff030500, 0xff030501, 0xff030502, 0xff030503, 0xff030504, 0xff030505, 0xff030506, 0xff030507, +0xff0305f8, 0xff0305f9, 0xff0305fa, 0xff0305fb, 0xff0305fc, 0xff0305fd, 0xff0305fe, 0xff0305ff, +0xff030600, 0xff030601, 0xff030602, 0xff030603, 0xff030604, 0xff030605, 0xff030606, 0xff030607, +0xff0306f8, 0xff0306f9, 0xff0306fa, 0xff0306fb, 0xff0306fc, 0xff0306fd, 0xff0306fe, 0xff0306ff, +0xff030700, 0xff030701, 0xff030702, 0xff030703, 0xff030704, 0xff030705, 0xff030706, 0xff030707, +0xff0307f8, 0xff0307f9, 0xff0307fa, 0xff0307fb, 0xff0307fc, 0xff0307fd, 0xff0307fe, 0xff0307ff, +0xff03f800, 0xff03f801, 0xff03f802, 0xff03f803, 0xff03f804, 0xff03f805, 0xff03f806, 0xff03f807, +0xff03f8f8, 0xff03f8f9, 0xff03f8fa, 0xff03f8fb, 0xff03f8fc, 0xff03f8fd, 0xff03f8fe, 0xff03f8ff, +0xff03f900, 0xff03f901, 0xff03f902, 0xff03f903, 0xff03f904, 0xff03f905, 0xff03f906, 0xff03f907, +0xff03f9f8, 0xff03f9f9, 0xff03f9fa, 0xff03f9fb, 0xff03f9fc, 0xff03f9fd, 0xff03f9fe, 0xff03f9ff, +0xff03fa00, 0xff03fa01, 0xff03fa02, 0xff03fa03, 0xff03fa04, 0xff03fa05, 0xff03fa06, 0xff03fa07, +0xff03faf8, 0xff03faf9, 0xff03fafa, 0xff03fafb, 0xff03fafc, 0xff03fafd, 0xff03fafe, 0xff03faff, +0xff03fb00, 0xff03fb01, 0xff03fb02, 0xff03fb03, 0xff03fb04, 0xff03fb05, 0xff03fb06, 0xff03fb07, +0xff03fbf8, 0xff03fbf9, 0xff03fbfa, 0xff03fbfb, 0xff03fbfc, 0xff03fbfd, 0xff03fbfe, 0xff03fbff, +0xff03fc00, 0xff03fc01, 0xff03fc02, 0xff03fc03, 0xff03fc04, 0xff03fc05, 0xff03fc06, 0xff03fc07, +0xff03fcf8, 0xff03fcf9, 0xff03fcfa, 0xff03fcfb, 0xff03fcfc, 0xff03fcfd, 0xff03fcfe, 0xff03fcff, +0xff03fd00, 0xff03fd01, 0xff03fd02, 0xff03fd03, 0xff03fd04, 0xff03fd05, 0xff03fd06, 0xff03fd07, +0xff03fdf8, 0xff03fdf9, 0xff03fdfa, 0xff03fdfb, 0xff03fdfc, 0xff03fdfd, 0xff03fdfe, 0xff03fdff, +0xff03fe00, 0xff03fe01, 0xff03fe02, 0xff03fe03, 0xff03fe04, 0xff03fe05, 0xff03fe06, 0xff03fe07, +0xff03fef8, 0xff03fef9, 0xff03fefa, 0xff03fefb, 0xff03fefc, 0xff03fefd, 0xff03fefe, 0xff03feff, +0xff03ff00, 0xff03ff01, 0xff03ff02, 0xff03ff03, 0xff03ff04, 0xff03ff05, 0xff03ff06, 0xff03ff07, +0xff03fff8, 0xff03fff9, 0xff03fffa, 0xff03fffb, 0xff03fffc, 0xff03fffd, 0xff03fffe, 0xff03ffff, +0xff040000, 0xff040001, 0xff040002, 0xff040003, 0xff040004, 0xff040005, 0xff040006, 0xff040007, +0xff0400f8, 0xff0400f9, 0xff0400fa, 0xff0400fb, 0xff0400fc, 0xff0400fd, 0xff0400fe, 0xff0400ff, +0xff040100, 0xff040101, 0xff040102, 0xff040103, 0xff040104, 0xff040105, 0xff040106, 0xff040107, +0xff0401f8, 0xff0401f9, 0xff0401fa, 0xff0401fb, 0xff0401fc, 0xff0401fd, 0xff0401fe, 0xff0401ff, +0xff040200, 0xff040201, 0xff040202, 0xff040203, 0xff040204, 0xff040205, 0xff040206, 0xff040207, +0xff0402f8, 0xff0402f9, 0xff0402fa, 0xff0402fb, 0xff0402fc, 0xff0402fd, 0xff0402fe, 0xff0402ff, +0xff040300, 0xff040301, 0xff040302, 0xff040303, 0xff040304, 0xff040305, 0xff040306, 0xff040307, +0xff0403f8, 0xff0403f9, 0xff0403fa, 0xff0403fb, 0xff0403fc, 0xff0403fd, 0xff0403fe, 0xff0403ff, +0xff040400, 0xff040401, 0xff040402, 0xff040403, 0xff040404, 0xff040405, 0xff040406, 0xff040407, +0xff0404f8, 0xff0404f9, 0xff0404fa, 0xff0404fb, 0xff0404fc, 0xff0404fd, 0xff0404fe, 0xff0404ff, +0xff040500, 0xff040501, 0xff040502, 0xff040503, 0xff040504, 0xff040505, 0xff040506, 0xff040507, +0xff0405f8, 0xff0405f9, 0xff0405fa, 0xff0405fb, 0xff0405fc, 0xff0405fd, 0xff0405fe, 0xff0405ff, +0xff040600, 0xff040601, 0xff040602, 0xff040603, 0xff040604, 0xff040605, 0xff040606, 0xff040607, +0xff0406f8, 0xff0406f9, 0xff0406fa, 0xff0406fb, 0xff0406fc, 0xff0406fd, 0xff0406fe, 0xff0406ff, +0xff040700, 0xff040701, 0xff040702, 0xff040703, 0xff040704, 0xff040705, 0xff040706, 0xff040707, +0xff0407f8, 0xff0407f9, 0xff0407fa, 0xff0407fb, 0xff0407fc, 0xff0407fd, 0xff0407fe, 0xff0407ff, +0xff04f800, 0xff04f801, 0xff04f802, 0xff04f803, 0xff04f804, 0xff04f805, 0xff04f806, 0xff04f807, +0xff04f8f8, 0xff04f8f9, 0xff04f8fa, 0xff04f8fb, 0xff04f8fc, 0xff04f8fd, 0xff04f8fe, 0xff04f8ff, +0xff04f900, 0xff04f901, 0xff04f902, 0xff04f903, 0xff04f904, 0xff04f905, 0xff04f906, 0xff04f907, +0xff04f9f8, 0xff04f9f9, 0xff04f9fa, 0xff04f9fb, 0xff04f9fc, 0xff04f9fd, 0xff04f9fe, 0xff04f9ff, +0xff04fa00, 0xff04fa01, 0xff04fa02, 0xff04fa03, 0xff04fa04, 0xff04fa05, 0xff04fa06, 0xff04fa07, +0xff04faf8, 0xff04faf9, 0xff04fafa, 0xff04fafb, 0xff04fafc, 0xff04fafd, 0xff04fafe, 0xff04faff, +0xff04fb00, 0xff04fb01, 0xff04fb02, 0xff04fb03, 0xff04fb04, 0xff04fb05, 0xff04fb06, 0xff04fb07, +0xff04fbf8, 0xff04fbf9, 0xff04fbfa, 0xff04fbfb, 0xff04fbfc, 0xff04fbfd, 0xff04fbfe, 0xff04fbff, +0xff04fc00, 0xff04fc01, 0xff04fc02, 0xff04fc03, 0xff04fc04, 0xff04fc05, 0xff04fc06, 0xff04fc07, +0xff04fcf8, 0xff04fcf9, 0xff04fcfa, 0xff04fcfb, 0xff04fcfc, 0xff04fcfd, 0xff04fcfe, 0xff04fcff, +0xff04fd00, 0xff04fd01, 0xff04fd02, 0xff04fd03, 0xff04fd04, 0xff04fd05, 0xff04fd06, 0xff04fd07, +0xff04fdf8, 0xff04fdf9, 0xff04fdfa, 0xff04fdfb, 0xff04fdfc, 0xff04fdfd, 0xff04fdfe, 0xff04fdff, +0xff04fe00, 0xff04fe01, 0xff04fe02, 0xff04fe03, 0xff04fe04, 0xff04fe05, 0xff04fe06, 0xff04fe07, +0xff04fef8, 0xff04fef9, 0xff04fefa, 0xff04fefb, 0xff04fefc, 0xff04fefd, 0xff04fefe, 0xff04feff, +0xff04ff00, 0xff04ff01, 0xff04ff02, 0xff04ff03, 0xff04ff04, 0xff04ff05, 0xff04ff06, 0xff04ff07, +0xff04fff8, 0xff04fff9, 0xff04fffa, 0xff04fffb, 0xff04fffc, 0xff04fffd, 0xff04fffe, 0xff04ffff, +0xff050000, 0xff050001, 0xff050002, 0xff050003, 0xff050004, 0xff050005, 0xff050006, 0xff050007, +0xff0500f8, 0xff0500f9, 0xff0500fa, 0xff0500fb, 0xff0500fc, 0xff0500fd, 0xff0500fe, 0xff0500ff, +0xff050100, 0xff050101, 0xff050102, 0xff050103, 0xff050104, 0xff050105, 0xff050106, 0xff050107, +0xff0501f8, 0xff0501f9, 0xff0501fa, 0xff0501fb, 0xff0501fc, 0xff0501fd, 0xff0501fe, 0xff0501ff, +0xff050200, 0xff050201, 0xff050202, 0xff050203, 0xff050204, 0xff050205, 0xff050206, 0xff050207, +0xff0502f8, 0xff0502f9, 0xff0502fa, 0xff0502fb, 0xff0502fc, 0xff0502fd, 0xff0502fe, 0xff0502ff, +0xff050300, 0xff050301, 0xff050302, 0xff050303, 0xff050304, 0xff050305, 0xff050306, 0xff050307, +0xff0503f8, 0xff0503f9, 0xff0503fa, 0xff0503fb, 0xff0503fc, 0xff0503fd, 0xff0503fe, 0xff0503ff, +0xff050400, 0xff050401, 0xff050402, 0xff050403, 0xff050404, 0xff050405, 0xff050406, 0xff050407, +0xff0504f8, 0xff0504f9, 0xff0504fa, 0xff0504fb, 0xff0504fc, 0xff0504fd, 0xff0504fe, 0xff0504ff, +0xff050500, 0xff050501, 0xff050502, 0xff050503, 0xff050504, 0xff050505, 0xff050506, 0xff050507, +0xff0505f8, 0xff0505f9, 0xff0505fa, 0xff0505fb, 0xff0505fc, 0xff0505fd, 0xff0505fe, 0xff0505ff, +0xff050600, 0xff050601, 0xff050602, 0xff050603, 0xff050604, 0xff050605, 0xff050606, 0xff050607, +0xff0506f8, 0xff0506f9, 0xff0506fa, 0xff0506fb, 0xff0506fc, 0xff0506fd, 0xff0506fe, 0xff0506ff, +0xff050700, 0xff050701, 0xff050702, 0xff050703, 0xff050704, 0xff050705, 0xff050706, 0xff050707, +0xff0507f8, 0xff0507f9, 0xff0507fa, 0xff0507fb, 0xff0507fc, 0xff0507fd, 0xff0507fe, 0xff0507ff, +0xff05f800, 0xff05f801, 0xff05f802, 0xff05f803, 0xff05f804, 0xff05f805, 0xff05f806, 0xff05f807, +0xff05f8f8, 0xff05f8f9, 0xff05f8fa, 0xff05f8fb, 0xff05f8fc, 0xff05f8fd, 0xff05f8fe, 0xff05f8ff, +0xff05f900, 0xff05f901, 0xff05f902, 0xff05f903, 0xff05f904, 0xff05f905, 0xff05f906, 0xff05f907, +0xff05f9f8, 0xff05f9f9, 0xff05f9fa, 0xff05f9fb, 0xff05f9fc, 0xff05f9fd, 0xff05f9fe, 0xff05f9ff, +0xff05fa00, 0xff05fa01, 0xff05fa02, 0xff05fa03, 0xff05fa04, 0xff05fa05, 0xff05fa06, 0xff05fa07, +0xff05faf8, 0xff05faf9, 0xff05fafa, 0xff05fafb, 0xff05fafc, 0xff05fafd, 0xff05fafe, 0xff05faff, +0xff05fb00, 0xff05fb01, 0xff05fb02, 0xff05fb03, 0xff05fb04, 0xff05fb05, 0xff05fb06, 0xff05fb07, +0xff05fbf8, 0xff05fbf9, 0xff05fbfa, 0xff05fbfb, 0xff05fbfc, 0xff05fbfd, 0xff05fbfe, 0xff05fbff, +0xff05fc00, 0xff05fc01, 0xff05fc02, 0xff05fc03, 0xff05fc04, 0xff05fc05, 0xff05fc06, 0xff05fc07, +0xff05fcf8, 0xff05fcf9, 0xff05fcfa, 0xff05fcfb, 0xff05fcfc, 0xff05fcfd, 0xff05fcfe, 0xff05fcff, +0xff05fd00, 0xff05fd01, 0xff05fd02, 0xff05fd03, 0xff05fd04, 0xff05fd05, 0xff05fd06, 0xff05fd07, +0xff05fdf8, 0xff05fdf9, 0xff05fdfa, 0xff05fdfb, 0xff05fdfc, 0xff05fdfd, 0xff05fdfe, 0xff05fdff, +0xff05fe00, 0xff05fe01, 0xff05fe02, 0xff05fe03, 0xff05fe04, 0xff05fe05, 0xff05fe06, 0xff05fe07, +0xff05fef8, 0xff05fef9, 0xff05fefa, 0xff05fefb, 0xff05fefc, 0xff05fefd, 0xff05fefe, 0xff05feff, +0xff05ff00, 0xff05ff01, 0xff05ff02, 0xff05ff03, 0xff05ff04, 0xff05ff05, 0xff05ff06, 0xff05ff07, +0xff05fff8, 0xff05fff9, 0xff05fffa, 0xff05fffb, 0xff05fffc, 0xff05fffd, 0xff05fffe, 0xff05ffff, +0xff060000, 0xff060001, 0xff060002, 0xff060003, 0xff060004, 0xff060005, 0xff060006, 0xff060007, +0xff0600f8, 0xff0600f9, 0xff0600fa, 0xff0600fb, 0xff0600fc, 0xff0600fd, 0xff0600fe, 0xff0600ff, +0xff060100, 0xff060101, 0xff060102, 0xff060103, 0xff060104, 0xff060105, 0xff060106, 0xff060107, +0xff0601f8, 0xff0601f9, 0xff0601fa, 0xff0601fb, 0xff0601fc, 0xff0601fd, 0xff0601fe, 0xff0601ff, +0xff060200, 0xff060201, 0xff060202, 0xff060203, 0xff060204, 0xff060205, 0xff060206, 0xff060207, +0xff0602f8, 0xff0602f9, 0xff0602fa, 0xff0602fb, 0xff0602fc, 0xff0602fd, 0xff0602fe, 0xff0602ff, +0xff060300, 0xff060301, 0xff060302, 0xff060303, 0xff060304, 0xff060305, 0xff060306, 0xff060307, +0xff0603f8, 0xff0603f9, 0xff0603fa, 0xff0603fb, 0xff0603fc, 0xff0603fd, 0xff0603fe, 0xff0603ff, +0xff060400, 0xff060401, 0xff060402, 0xff060403, 0xff060404, 0xff060405, 0xff060406, 0xff060407, +0xff0604f8, 0xff0604f9, 0xff0604fa, 0xff0604fb, 0xff0604fc, 0xff0604fd, 0xff0604fe, 0xff0604ff, +0xff060500, 0xff060501, 0xff060502, 0xff060503, 0xff060504, 0xff060505, 0xff060506, 0xff060507, +0xff0605f8, 0xff0605f9, 0xff0605fa, 0xff0605fb, 0xff0605fc, 0xff0605fd, 0xff0605fe, 0xff0605ff, +0xff060600, 0xff060601, 0xff060602, 0xff060603, 0xff060604, 0xff060605, 0xff060606, 0xff060607, +0xff0606f8, 0xff0606f9, 0xff0606fa, 0xff0606fb, 0xff0606fc, 0xff0606fd, 0xff0606fe, 0xff0606ff, +0xff060700, 0xff060701, 0xff060702, 0xff060703, 0xff060704, 0xff060705, 0xff060706, 0xff060707, +0xff0607f8, 0xff0607f9, 0xff0607fa, 0xff0607fb, 0xff0607fc, 0xff0607fd, 0xff0607fe, 0xff0607ff, +0xff06f800, 0xff06f801, 0xff06f802, 0xff06f803, 0xff06f804, 0xff06f805, 0xff06f806, 0xff06f807, +0xff06f8f8, 0xff06f8f9, 0xff06f8fa, 0xff06f8fb, 0xff06f8fc, 0xff06f8fd, 0xff06f8fe, 0xff06f8ff, +0xff06f900, 0xff06f901, 0xff06f902, 0xff06f903, 0xff06f904, 0xff06f905, 0xff06f906, 0xff06f907, +0xff06f9f8, 0xff06f9f9, 0xff06f9fa, 0xff06f9fb, 0xff06f9fc, 0xff06f9fd, 0xff06f9fe, 0xff06f9ff, +0xff06fa00, 0xff06fa01, 0xff06fa02, 0xff06fa03, 0xff06fa04, 0xff06fa05, 0xff06fa06, 0xff06fa07, +0xff06faf8, 0xff06faf9, 0xff06fafa, 0xff06fafb, 0xff06fafc, 0xff06fafd, 0xff06fafe, 0xff06faff, +0xff06fb00, 0xff06fb01, 0xff06fb02, 0xff06fb03, 0xff06fb04, 0xff06fb05, 0xff06fb06, 0xff06fb07, +0xff06fbf8, 0xff06fbf9, 0xff06fbfa, 0xff06fbfb, 0xff06fbfc, 0xff06fbfd, 0xff06fbfe, 0xff06fbff, +0xff06fc00, 0xff06fc01, 0xff06fc02, 0xff06fc03, 0xff06fc04, 0xff06fc05, 0xff06fc06, 0xff06fc07, +0xff06fcf8, 0xff06fcf9, 0xff06fcfa, 0xff06fcfb, 0xff06fcfc, 0xff06fcfd, 0xff06fcfe, 0xff06fcff, +0xff06fd00, 0xff06fd01, 0xff06fd02, 0xff06fd03, 0xff06fd04, 0xff06fd05, 0xff06fd06, 0xff06fd07, +0xff06fdf8, 0xff06fdf9, 0xff06fdfa, 0xff06fdfb, 0xff06fdfc, 0xff06fdfd, 0xff06fdfe, 0xff06fdff, +0xff06fe00, 0xff06fe01, 0xff06fe02, 0xff06fe03, 0xff06fe04, 0xff06fe05, 0xff06fe06, 0xff06fe07, +0xff06fef8, 0xff06fef9, 0xff06fefa, 0xff06fefb, 0xff06fefc, 0xff06fefd, 0xff06fefe, 0xff06feff, +0xff06ff00, 0xff06ff01, 0xff06ff02, 0xff06ff03, 0xff06ff04, 0xff06ff05, 0xff06ff06, 0xff06ff07, +0xff06fff8, 0xff06fff9, 0xff06fffa, 0xff06fffb, 0xff06fffc, 0xff06fffd, 0xff06fffe, 0xff06ffff, +0xff070000, 0xff070001, 0xff070002, 0xff070003, 0xff070004, 0xff070005, 0xff070006, 0xff070007, +0xff0700f8, 0xff0700f9, 0xff0700fa, 0xff0700fb, 0xff0700fc, 0xff0700fd, 0xff0700fe, 0xff0700ff, +0xff070100, 0xff070101, 0xff070102, 0xff070103, 0xff070104, 0xff070105, 0xff070106, 0xff070107, +0xff0701f8, 0xff0701f9, 0xff0701fa, 0xff0701fb, 0xff0701fc, 0xff0701fd, 0xff0701fe, 0xff0701ff, +0xff070200, 0xff070201, 0xff070202, 0xff070203, 0xff070204, 0xff070205, 0xff070206, 0xff070207, +0xff0702f8, 0xff0702f9, 0xff0702fa, 0xff0702fb, 0xff0702fc, 0xff0702fd, 0xff0702fe, 0xff0702ff, +0xff070300, 0xff070301, 0xff070302, 0xff070303, 0xff070304, 0xff070305, 0xff070306, 0xff070307, +0xff0703f8, 0xff0703f9, 0xff0703fa, 0xff0703fb, 0xff0703fc, 0xff0703fd, 0xff0703fe, 0xff0703ff, +0xff070400, 0xff070401, 0xff070402, 0xff070403, 0xff070404, 0xff070405, 0xff070406, 0xff070407, +0xff0704f8, 0xff0704f9, 0xff0704fa, 0xff0704fb, 0xff0704fc, 0xff0704fd, 0xff0704fe, 0xff0704ff, +0xff070500, 0xff070501, 0xff070502, 0xff070503, 0xff070504, 0xff070505, 0xff070506, 0xff070507, +0xff0705f8, 0xff0705f9, 0xff0705fa, 0xff0705fb, 0xff0705fc, 0xff0705fd, 0xff0705fe, 0xff0705ff, +0xff070600, 0xff070601, 0xff070602, 0xff070603, 0xff070604, 0xff070605, 0xff070606, 0xff070607, +0xff0706f8, 0xff0706f9, 0xff0706fa, 0xff0706fb, 0xff0706fc, 0xff0706fd, 0xff0706fe, 0xff0706ff, +0xff070700, 0xff070701, 0xff070702, 0xff070703, 0xff070704, 0xff070705, 0xff070706, 0xff070707, +0xff0707f8, 0xff0707f9, 0xff0707fa, 0xff0707fb, 0xff0707fc, 0xff0707fd, 0xff0707fe, 0xff0707ff, +0xff07f800, 0xff07f801, 0xff07f802, 0xff07f803, 0xff07f804, 0xff07f805, 0xff07f806, 0xff07f807, +0xff07f8f8, 0xff07f8f9, 0xff07f8fa, 0xff07f8fb, 0xff07f8fc, 0xff07f8fd, 0xff07f8fe, 0xff07f8ff, +0xff07f900, 0xff07f901, 0xff07f902, 0xff07f903, 0xff07f904, 0xff07f905, 0xff07f906, 0xff07f907, +0xff07f9f8, 0xff07f9f9, 0xff07f9fa, 0xff07f9fb, 0xff07f9fc, 0xff07f9fd, 0xff07f9fe, 0xff07f9ff, +0xff07fa00, 0xff07fa01, 0xff07fa02, 0xff07fa03, 0xff07fa04, 0xff07fa05, 0xff07fa06, 0xff07fa07, +0xff07faf8, 0xff07faf9, 0xff07fafa, 0xff07fafb, 0xff07fafc, 0xff07fafd, 0xff07fafe, 0xff07faff, +0xff07fb00, 0xff07fb01, 0xff07fb02, 0xff07fb03, 0xff07fb04, 0xff07fb05, 0xff07fb06, 0xff07fb07, +0xff07fbf8, 0xff07fbf9, 0xff07fbfa, 0xff07fbfb, 0xff07fbfc, 0xff07fbfd, 0xff07fbfe, 0xff07fbff, +0xff07fc00, 0xff07fc01, 0xff07fc02, 0xff07fc03, 0xff07fc04, 0xff07fc05, 0xff07fc06, 0xff07fc07, +0xff07fcf8, 0xff07fcf9, 0xff07fcfa, 0xff07fcfb, 0xff07fcfc, 0xff07fcfd, 0xff07fcfe, 0xff07fcff, +0xff07fd00, 0xff07fd01, 0xff07fd02, 0xff07fd03, 0xff07fd04, 0xff07fd05, 0xff07fd06, 0xff07fd07, +0xff07fdf8, 0xff07fdf9, 0xff07fdfa, 0xff07fdfb, 0xff07fdfc, 0xff07fdfd, 0xff07fdfe, 0xff07fdff, +0xff07fe00, 0xff07fe01, 0xff07fe02, 0xff07fe03, 0xff07fe04, 0xff07fe05, 0xff07fe06, 0xff07fe07, +0xff07fef8, 0xff07fef9, 0xff07fefa, 0xff07fefb, 0xff07fefc, 0xff07fefd, 0xff07fefe, 0xff07feff, +0xff07ff00, 0xff07ff01, 0xff07ff02, 0xff07ff03, 0xff07ff04, 0xff07ff05, 0xff07ff06, 0xff07ff07, +0xff07fff8, 0xff07fff9, 0xff07fffa, 0xff07fffb, 0xff07fffc, 0xff07fffd, 0xff07fffe, 0xff07ffff, +0xfff80000, 0xfff80001, 0xfff80002, 0xfff80003, 0xfff80004, 0xfff80005, 0xfff80006, 0xfff80007, +0xfff800f8, 0xfff800f9, 0xfff800fa, 0xfff800fb, 0xfff800fc, 0xfff800fd, 0xfff800fe, 0xfff800ff, +0xfff80100, 0xfff80101, 0xfff80102, 0xfff80103, 0xfff80104, 0xfff80105, 0xfff80106, 0xfff80107, +0xfff801f8, 0xfff801f9, 0xfff801fa, 0xfff801fb, 0xfff801fc, 0xfff801fd, 0xfff801fe, 0xfff801ff, +0xfff80200, 0xfff80201, 0xfff80202, 0xfff80203, 0xfff80204, 0xfff80205, 0xfff80206, 0xfff80207, +0xfff802f8, 0xfff802f9, 0xfff802fa, 0xfff802fb, 0xfff802fc, 0xfff802fd, 0xfff802fe, 0xfff802ff, +0xfff80300, 0xfff80301, 0xfff80302, 0xfff80303, 0xfff80304, 0xfff80305, 0xfff80306, 0xfff80307, +0xfff803f8, 0xfff803f9, 0xfff803fa, 0xfff803fb, 0xfff803fc, 0xfff803fd, 0xfff803fe, 0xfff803ff, +0xfff80400, 0xfff80401, 0xfff80402, 0xfff80403, 0xfff80404, 0xfff80405, 0xfff80406, 0xfff80407, +0xfff804f8, 0xfff804f9, 0xfff804fa, 0xfff804fb, 0xfff804fc, 0xfff804fd, 0xfff804fe, 0xfff804ff, +0xfff80500, 0xfff80501, 0xfff80502, 0xfff80503, 0xfff80504, 0xfff80505, 0xfff80506, 0xfff80507, +0xfff805f8, 0xfff805f9, 0xfff805fa, 0xfff805fb, 0xfff805fc, 0xfff805fd, 0xfff805fe, 0xfff805ff, +0xfff80600, 0xfff80601, 0xfff80602, 0xfff80603, 0xfff80604, 0xfff80605, 0xfff80606, 0xfff80607, +0xfff806f8, 0xfff806f9, 0xfff806fa, 0xfff806fb, 0xfff806fc, 0xfff806fd, 0xfff806fe, 0xfff806ff, +0xfff80700, 0xfff80701, 0xfff80702, 0xfff80703, 0xfff80704, 0xfff80705, 0xfff80706, 0xfff80707, +0xfff807f8, 0xfff807f9, 0xfff807fa, 0xfff807fb, 0xfff807fc, 0xfff807fd, 0xfff807fe, 0xfff807ff, +0xfff8f800, 0xfff8f801, 0xfff8f802, 0xfff8f803, 0xfff8f804, 0xfff8f805, 0xfff8f806, 0xfff8f807, +0xfff8f8f8, 0xfff8f8f9, 0xfff8f8fa, 0xfff8f8fb, 0xfff8f8fc, 0xfff8f8fd, 0xfff8f8fe, 0xfff8f8ff, +0xfff8f900, 0xfff8f901, 0xfff8f902, 0xfff8f903, 0xfff8f904, 0xfff8f905, 0xfff8f906, 0xfff8f907, +0xfff8f9f8, 0xfff8f9f9, 0xfff8f9fa, 0xfff8f9fb, 0xfff8f9fc, 0xfff8f9fd, 0xfff8f9fe, 0xfff8f9ff, +0xfff8fa00, 0xfff8fa01, 0xfff8fa02, 0xfff8fa03, 0xfff8fa04, 0xfff8fa05, 0xfff8fa06, 0xfff8fa07, +0xfff8faf8, 0xfff8faf9, 0xfff8fafa, 0xfff8fafb, 0xfff8fafc, 0xfff8fafd, 0xfff8fafe, 0xfff8faff, +0xfff8fb00, 0xfff8fb01, 0xfff8fb02, 0xfff8fb03, 0xfff8fb04, 0xfff8fb05, 0xfff8fb06, 0xfff8fb07, +0xfff8fbf8, 0xfff8fbf9, 0xfff8fbfa, 0xfff8fbfb, 0xfff8fbfc, 0xfff8fbfd, 0xfff8fbfe, 0xfff8fbff, +0xfff8fc00, 0xfff8fc01, 0xfff8fc02, 0xfff8fc03, 0xfff8fc04, 0xfff8fc05, 0xfff8fc06, 0xfff8fc07, +0xfff8fcf8, 0xfff8fcf9, 0xfff8fcfa, 0xfff8fcfb, 0xfff8fcfc, 0xfff8fcfd, 0xfff8fcfe, 0xfff8fcff, +0xfff8fd00, 0xfff8fd01, 0xfff8fd02, 0xfff8fd03, 0xfff8fd04, 0xfff8fd05, 0xfff8fd06, 0xfff8fd07, +0xfff8fdf8, 0xfff8fdf9, 0xfff8fdfa, 0xfff8fdfb, 0xfff8fdfc, 0xfff8fdfd, 0xfff8fdfe, 0xfff8fdff, +0xfff8fe00, 0xfff8fe01, 0xfff8fe02, 0xfff8fe03, 0xfff8fe04, 0xfff8fe05, 0xfff8fe06, 0xfff8fe07, +0xfff8fef8, 0xfff8fef9, 0xfff8fefa, 0xfff8fefb, 0xfff8fefc, 0xfff8fefd, 0xfff8fefe, 0xfff8feff, +0xfff8ff00, 0xfff8ff01, 0xfff8ff02, 0xfff8ff03, 0xfff8ff04, 0xfff8ff05, 0xfff8ff06, 0xfff8ff07, +0xfff8fff8, 0xfff8fff9, 0xfff8fffa, 0xfff8fffb, 0xfff8fffc, 0xfff8fffd, 0xfff8fffe, 0xfff8ffff, +0xfff90000, 0xfff90001, 0xfff90002, 0xfff90003, 0xfff90004, 0xfff90005, 0xfff90006, 0xfff90007, +0xfff900f8, 0xfff900f9, 0xfff900fa, 0xfff900fb, 0xfff900fc, 0xfff900fd, 0xfff900fe, 0xfff900ff, +0xfff90100, 0xfff90101, 0xfff90102, 0xfff90103, 0xfff90104, 0xfff90105, 0xfff90106, 0xfff90107, +0xfff901f8, 0xfff901f9, 0xfff901fa, 0xfff901fb, 0xfff901fc, 0xfff901fd, 0xfff901fe, 0xfff901ff, +0xfff90200, 0xfff90201, 0xfff90202, 0xfff90203, 0xfff90204, 0xfff90205, 0xfff90206, 0xfff90207, +0xfff902f8, 0xfff902f9, 0xfff902fa, 0xfff902fb, 0xfff902fc, 0xfff902fd, 0xfff902fe, 0xfff902ff, +0xfff90300, 0xfff90301, 0xfff90302, 0xfff90303, 0xfff90304, 0xfff90305, 0xfff90306, 0xfff90307, +0xfff903f8, 0xfff903f9, 0xfff903fa, 0xfff903fb, 0xfff903fc, 0xfff903fd, 0xfff903fe, 0xfff903ff, +0xfff90400, 0xfff90401, 0xfff90402, 0xfff90403, 0xfff90404, 0xfff90405, 0xfff90406, 0xfff90407, +0xfff904f8, 0xfff904f9, 0xfff904fa, 0xfff904fb, 0xfff904fc, 0xfff904fd, 0xfff904fe, 0xfff904ff, +0xfff90500, 0xfff90501, 0xfff90502, 0xfff90503, 0xfff90504, 0xfff90505, 0xfff90506, 0xfff90507, +0xfff905f8, 0xfff905f9, 0xfff905fa, 0xfff905fb, 0xfff905fc, 0xfff905fd, 0xfff905fe, 0xfff905ff, +0xfff90600, 0xfff90601, 0xfff90602, 0xfff90603, 0xfff90604, 0xfff90605, 0xfff90606, 0xfff90607, +0xfff906f8, 0xfff906f9, 0xfff906fa, 0xfff906fb, 0xfff906fc, 0xfff906fd, 0xfff906fe, 0xfff906ff, +0xfff90700, 0xfff90701, 0xfff90702, 0xfff90703, 0xfff90704, 0xfff90705, 0xfff90706, 0xfff90707, +0xfff907f8, 0xfff907f9, 0xfff907fa, 0xfff907fb, 0xfff907fc, 0xfff907fd, 0xfff907fe, 0xfff907ff, +0xfff9f800, 0xfff9f801, 0xfff9f802, 0xfff9f803, 0xfff9f804, 0xfff9f805, 0xfff9f806, 0xfff9f807, +0xfff9f8f8, 0xfff9f8f9, 0xfff9f8fa, 0xfff9f8fb, 0xfff9f8fc, 0xfff9f8fd, 0xfff9f8fe, 0xfff9f8ff, +0xfff9f900, 0xfff9f901, 0xfff9f902, 0xfff9f903, 0xfff9f904, 0xfff9f905, 0xfff9f906, 0xfff9f907, +0xfff9f9f8, 0xfff9f9f9, 0xfff9f9fa, 0xfff9f9fb, 0xfff9f9fc, 0xfff9f9fd, 0xfff9f9fe, 0xfff9f9ff, +0xfff9fa00, 0xfff9fa01, 0xfff9fa02, 0xfff9fa03, 0xfff9fa04, 0xfff9fa05, 0xfff9fa06, 0xfff9fa07, +0xfff9faf8, 0xfff9faf9, 0xfff9fafa, 0xfff9fafb, 0xfff9fafc, 0xfff9fafd, 0xfff9fafe, 0xfff9faff, +0xfff9fb00, 0xfff9fb01, 0xfff9fb02, 0xfff9fb03, 0xfff9fb04, 0xfff9fb05, 0xfff9fb06, 0xfff9fb07, +0xfff9fbf8, 0xfff9fbf9, 0xfff9fbfa, 0xfff9fbfb, 0xfff9fbfc, 0xfff9fbfd, 0xfff9fbfe, 0xfff9fbff, +0xfff9fc00, 0xfff9fc01, 0xfff9fc02, 0xfff9fc03, 0xfff9fc04, 0xfff9fc05, 0xfff9fc06, 0xfff9fc07, +0xfff9fcf8, 0xfff9fcf9, 0xfff9fcfa, 0xfff9fcfb, 0xfff9fcfc, 0xfff9fcfd, 0xfff9fcfe, 0xfff9fcff, +0xfff9fd00, 0xfff9fd01, 0xfff9fd02, 0xfff9fd03, 0xfff9fd04, 0xfff9fd05, 0xfff9fd06, 0xfff9fd07, +0xfff9fdf8, 0xfff9fdf9, 0xfff9fdfa, 0xfff9fdfb, 0xfff9fdfc, 0xfff9fdfd, 0xfff9fdfe, 0xfff9fdff, +0xfff9fe00, 0xfff9fe01, 0xfff9fe02, 0xfff9fe03, 0xfff9fe04, 0xfff9fe05, 0xfff9fe06, 0xfff9fe07, +0xfff9fef8, 0xfff9fef9, 0xfff9fefa, 0xfff9fefb, 0xfff9fefc, 0xfff9fefd, 0xfff9fefe, 0xfff9feff, +0xfff9ff00, 0xfff9ff01, 0xfff9ff02, 0xfff9ff03, 0xfff9ff04, 0xfff9ff05, 0xfff9ff06, 0xfff9ff07, +0xfff9fff8, 0xfff9fff9, 0xfff9fffa, 0xfff9fffb, 0xfff9fffc, 0xfff9fffd, 0xfff9fffe, 0xfff9ffff, +0xfffa0000, 0xfffa0001, 0xfffa0002, 0xfffa0003, 0xfffa0004, 0xfffa0005, 0xfffa0006, 0xfffa0007, +0xfffa00f8, 0xfffa00f9, 0xfffa00fa, 0xfffa00fb, 0xfffa00fc, 0xfffa00fd, 0xfffa00fe, 0xfffa00ff, +0xfffa0100, 0xfffa0101, 0xfffa0102, 0xfffa0103, 0xfffa0104, 0xfffa0105, 0xfffa0106, 0xfffa0107, +0xfffa01f8, 0xfffa01f9, 0xfffa01fa, 0xfffa01fb, 0xfffa01fc, 0xfffa01fd, 0xfffa01fe, 0xfffa01ff, +0xfffa0200, 0xfffa0201, 0xfffa0202, 0xfffa0203, 0xfffa0204, 0xfffa0205, 0xfffa0206, 0xfffa0207, +0xfffa02f8, 0xfffa02f9, 0xfffa02fa, 0xfffa02fb, 0xfffa02fc, 0xfffa02fd, 0xfffa02fe, 0xfffa02ff, +0xfffa0300, 0xfffa0301, 0xfffa0302, 0xfffa0303, 0xfffa0304, 0xfffa0305, 0xfffa0306, 0xfffa0307, +0xfffa03f8, 0xfffa03f9, 0xfffa03fa, 0xfffa03fb, 0xfffa03fc, 0xfffa03fd, 0xfffa03fe, 0xfffa03ff, +0xfffa0400, 0xfffa0401, 0xfffa0402, 0xfffa0403, 0xfffa0404, 0xfffa0405, 0xfffa0406, 0xfffa0407, +0xfffa04f8, 0xfffa04f9, 0xfffa04fa, 0xfffa04fb, 0xfffa04fc, 0xfffa04fd, 0xfffa04fe, 0xfffa04ff, +0xfffa0500, 0xfffa0501, 0xfffa0502, 0xfffa0503, 0xfffa0504, 0xfffa0505, 0xfffa0506, 0xfffa0507, +0xfffa05f8, 0xfffa05f9, 0xfffa05fa, 0xfffa05fb, 0xfffa05fc, 0xfffa05fd, 0xfffa05fe, 0xfffa05ff, +0xfffa0600, 0xfffa0601, 0xfffa0602, 0xfffa0603, 0xfffa0604, 0xfffa0605, 0xfffa0606, 0xfffa0607, +0xfffa06f8, 0xfffa06f9, 0xfffa06fa, 0xfffa06fb, 0xfffa06fc, 0xfffa06fd, 0xfffa06fe, 0xfffa06ff, +0xfffa0700, 0xfffa0701, 0xfffa0702, 0xfffa0703, 0xfffa0704, 0xfffa0705, 0xfffa0706, 0xfffa0707, +0xfffa07f8, 0xfffa07f9, 0xfffa07fa, 0xfffa07fb, 0xfffa07fc, 0xfffa07fd, 0xfffa07fe, 0xfffa07ff, +0xfffaf800, 0xfffaf801, 0xfffaf802, 0xfffaf803, 0xfffaf804, 0xfffaf805, 0xfffaf806, 0xfffaf807, +0xfffaf8f8, 0xfffaf8f9, 0xfffaf8fa, 0xfffaf8fb, 0xfffaf8fc, 0xfffaf8fd, 0xfffaf8fe, 0xfffaf8ff, +0xfffaf900, 0xfffaf901, 0xfffaf902, 0xfffaf903, 0xfffaf904, 0xfffaf905, 0xfffaf906, 0xfffaf907, +0xfffaf9f8, 0xfffaf9f9, 0xfffaf9fa, 0xfffaf9fb, 0xfffaf9fc, 0xfffaf9fd, 0xfffaf9fe, 0xfffaf9ff, +0xfffafa00, 0xfffafa01, 0xfffafa02, 0xfffafa03, 0xfffafa04, 0xfffafa05, 0xfffafa06, 0xfffafa07, +0xfffafaf8, 0xfffafaf9, 0xfffafafa, 0xfffafafb, 0xfffafafc, 0xfffafafd, 0xfffafafe, 0xfffafaff, +0xfffafb00, 0xfffafb01, 0xfffafb02, 0xfffafb03, 0xfffafb04, 0xfffafb05, 0xfffafb06, 0xfffafb07, +0xfffafbf8, 0xfffafbf9, 0xfffafbfa, 0xfffafbfb, 0xfffafbfc, 0xfffafbfd, 0xfffafbfe, 0xfffafbff, +0xfffafc00, 0xfffafc01, 0xfffafc02, 0xfffafc03, 0xfffafc04, 0xfffafc05, 0xfffafc06, 0xfffafc07, +0xfffafcf8, 0xfffafcf9, 0xfffafcfa, 0xfffafcfb, 0xfffafcfc, 0xfffafcfd, 0xfffafcfe, 0xfffafcff, +0xfffafd00, 0xfffafd01, 0xfffafd02, 0xfffafd03, 0xfffafd04, 0xfffafd05, 0xfffafd06, 0xfffafd07, +0xfffafdf8, 0xfffafdf9, 0xfffafdfa, 0xfffafdfb, 0xfffafdfc, 0xfffafdfd, 0xfffafdfe, 0xfffafdff, +0xfffafe00, 0xfffafe01, 0xfffafe02, 0xfffafe03, 0xfffafe04, 0xfffafe05, 0xfffafe06, 0xfffafe07, +0xfffafef8, 0xfffafef9, 0xfffafefa, 0xfffafefb, 0xfffafefc, 0xfffafefd, 0xfffafefe, 0xfffafeff, +0xfffaff00, 0xfffaff01, 0xfffaff02, 0xfffaff03, 0xfffaff04, 0xfffaff05, 0xfffaff06, 0xfffaff07, +0xfffafff8, 0xfffafff9, 0xfffafffa, 0xfffafffb, 0xfffafffc, 0xfffafffd, 0xfffafffe, 0xfffaffff, +0xfffb0000, 0xfffb0001, 0xfffb0002, 0xfffb0003, 0xfffb0004, 0xfffb0005, 0xfffb0006, 0xfffb0007, +0xfffb00f8, 0xfffb00f9, 0xfffb00fa, 0xfffb00fb, 0xfffb00fc, 0xfffb00fd, 0xfffb00fe, 0xfffb00ff, +0xfffb0100, 0xfffb0101, 0xfffb0102, 0xfffb0103, 0xfffb0104, 0xfffb0105, 0xfffb0106, 0xfffb0107, +0xfffb01f8, 0xfffb01f9, 0xfffb01fa, 0xfffb01fb, 0xfffb01fc, 0xfffb01fd, 0xfffb01fe, 0xfffb01ff, +0xfffb0200, 0xfffb0201, 0xfffb0202, 0xfffb0203, 0xfffb0204, 0xfffb0205, 0xfffb0206, 0xfffb0207, +0xfffb02f8, 0xfffb02f9, 0xfffb02fa, 0xfffb02fb, 0xfffb02fc, 0xfffb02fd, 0xfffb02fe, 0xfffb02ff, +0xfffb0300, 0xfffb0301, 0xfffb0302, 0xfffb0303, 0xfffb0304, 0xfffb0305, 0xfffb0306, 0xfffb0307, +0xfffb03f8, 0xfffb03f9, 0xfffb03fa, 0xfffb03fb, 0xfffb03fc, 0xfffb03fd, 0xfffb03fe, 0xfffb03ff, +0xfffb0400, 0xfffb0401, 0xfffb0402, 0xfffb0403, 0xfffb0404, 0xfffb0405, 0xfffb0406, 0xfffb0407, +0xfffb04f8, 0xfffb04f9, 0xfffb04fa, 0xfffb04fb, 0xfffb04fc, 0xfffb04fd, 0xfffb04fe, 0xfffb04ff, +0xfffb0500, 0xfffb0501, 0xfffb0502, 0xfffb0503, 0xfffb0504, 0xfffb0505, 0xfffb0506, 0xfffb0507, +0xfffb05f8, 0xfffb05f9, 0xfffb05fa, 0xfffb05fb, 0xfffb05fc, 0xfffb05fd, 0xfffb05fe, 0xfffb05ff, +0xfffb0600, 0xfffb0601, 0xfffb0602, 0xfffb0603, 0xfffb0604, 0xfffb0605, 0xfffb0606, 0xfffb0607, +0xfffb06f8, 0xfffb06f9, 0xfffb06fa, 0xfffb06fb, 0xfffb06fc, 0xfffb06fd, 0xfffb06fe, 0xfffb06ff, +0xfffb0700, 0xfffb0701, 0xfffb0702, 0xfffb0703, 0xfffb0704, 0xfffb0705, 0xfffb0706, 0xfffb0707, +0xfffb07f8, 0xfffb07f9, 0xfffb07fa, 0xfffb07fb, 0xfffb07fc, 0xfffb07fd, 0xfffb07fe, 0xfffb07ff, +0xfffbf800, 0xfffbf801, 0xfffbf802, 0xfffbf803, 0xfffbf804, 0xfffbf805, 0xfffbf806, 0xfffbf807, +0xfffbf8f8, 0xfffbf8f9, 0xfffbf8fa, 0xfffbf8fb, 0xfffbf8fc, 0xfffbf8fd, 0xfffbf8fe, 0xfffbf8ff, +0xfffbf900, 0xfffbf901, 0xfffbf902, 0xfffbf903, 0xfffbf904, 0xfffbf905, 0xfffbf906, 0xfffbf907, +0xfffbf9f8, 0xfffbf9f9, 0xfffbf9fa, 0xfffbf9fb, 0xfffbf9fc, 0xfffbf9fd, 0xfffbf9fe, 0xfffbf9ff, +0xfffbfa00, 0xfffbfa01, 0xfffbfa02, 0xfffbfa03, 0xfffbfa04, 0xfffbfa05, 0xfffbfa06, 0xfffbfa07, +0xfffbfaf8, 0xfffbfaf9, 0xfffbfafa, 0xfffbfafb, 0xfffbfafc, 0xfffbfafd, 0xfffbfafe, 0xfffbfaff, +0xfffbfb00, 0xfffbfb01, 0xfffbfb02, 0xfffbfb03, 0xfffbfb04, 0xfffbfb05, 0xfffbfb06, 0xfffbfb07, +0xfffbfbf8, 0xfffbfbf9, 0xfffbfbfa, 0xfffbfbfb, 0xfffbfbfc, 0xfffbfbfd, 0xfffbfbfe, 0xfffbfbff, +0xfffbfc00, 0xfffbfc01, 0xfffbfc02, 0xfffbfc03, 0xfffbfc04, 0xfffbfc05, 0xfffbfc06, 0xfffbfc07, +0xfffbfcf8, 0xfffbfcf9, 0xfffbfcfa, 0xfffbfcfb, 0xfffbfcfc, 0xfffbfcfd, 0xfffbfcfe, 0xfffbfcff, +0xfffbfd00, 0xfffbfd01, 0xfffbfd02, 0xfffbfd03, 0xfffbfd04, 0xfffbfd05, 0xfffbfd06, 0xfffbfd07, +0xfffbfdf8, 0xfffbfdf9, 0xfffbfdfa, 0xfffbfdfb, 0xfffbfdfc, 0xfffbfdfd, 0xfffbfdfe, 0xfffbfdff, +0xfffbfe00, 0xfffbfe01, 0xfffbfe02, 0xfffbfe03, 0xfffbfe04, 0xfffbfe05, 0xfffbfe06, 0xfffbfe07, +0xfffbfef8, 0xfffbfef9, 0xfffbfefa, 0xfffbfefb, 0xfffbfefc, 0xfffbfefd, 0xfffbfefe, 0xfffbfeff, +0xfffbff00, 0xfffbff01, 0xfffbff02, 0xfffbff03, 0xfffbff04, 0xfffbff05, 0xfffbff06, 0xfffbff07, +0xfffbfff8, 0xfffbfff9, 0xfffbfffa, 0xfffbfffb, 0xfffbfffc, 0xfffbfffd, 0xfffbfffe, 0xfffbffff, +0xfffc0000, 0xfffc0001, 0xfffc0002, 0xfffc0003, 0xfffc0004, 0xfffc0005, 0xfffc0006, 0xfffc0007, +0xfffc00f8, 0xfffc00f9, 0xfffc00fa, 0xfffc00fb, 0xfffc00fc, 0xfffc00fd, 0xfffc00fe, 0xfffc00ff, +0xfffc0100, 0xfffc0101, 0xfffc0102, 0xfffc0103, 0xfffc0104, 0xfffc0105, 0xfffc0106, 0xfffc0107, +0xfffc01f8, 0xfffc01f9, 0xfffc01fa, 0xfffc01fb, 0xfffc01fc, 0xfffc01fd, 0xfffc01fe, 0xfffc01ff, +0xfffc0200, 0xfffc0201, 0xfffc0202, 0xfffc0203, 0xfffc0204, 0xfffc0205, 0xfffc0206, 0xfffc0207, +0xfffc02f8, 0xfffc02f9, 0xfffc02fa, 0xfffc02fb, 0xfffc02fc, 0xfffc02fd, 0xfffc02fe, 0xfffc02ff, +0xfffc0300, 0xfffc0301, 0xfffc0302, 0xfffc0303, 0xfffc0304, 0xfffc0305, 0xfffc0306, 0xfffc0307, +0xfffc03f8, 0xfffc03f9, 0xfffc03fa, 0xfffc03fb, 0xfffc03fc, 0xfffc03fd, 0xfffc03fe, 0xfffc03ff, +0xfffc0400, 0xfffc0401, 0xfffc0402, 0xfffc0403, 0xfffc0404, 0xfffc0405, 0xfffc0406, 0xfffc0407, +0xfffc04f8, 0xfffc04f9, 0xfffc04fa, 0xfffc04fb, 0xfffc04fc, 0xfffc04fd, 0xfffc04fe, 0xfffc04ff, +0xfffc0500, 0xfffc0501, 0xfffc0502, 0xfffc0503, 0xfffc0504, 0xfffc0505, 0xfffc0506, 0xfffc0507, +0xfffc05f8, 0xfffc05f9, 0xfffc05fa, 0xfffc05fb, 0xfffc05fc, 0xfffc05fd, 0xfffc05fe, 0xfffc05ff, +0xfffc0600, 0xfffc0601, 0xfffc0602, 0xfffc0603, 0xfffc0604, 0xfffc0605, 0xfffc0606, 0xfffc0607, +0xfffc06f8, 0xfffc06f9, 0xfffc06fa, 0xfffc06fb, 0xfffc06fc, 0xfffc06fd, 0xfffc06fe, 0xfffc06ff, +0xfffc0700, 0xfffc0701, 0xfffc0702, 0xfffc0703, 0xfffc0704, 0xfffc0705, 0xfffc0706, 0xfffc0707, +0xfffc07f8, 0xfffc07f9, 0xfffc07fa, 0xfffc07fb, 0xfffc07fc, 0xfffc07fd, 0xfffc07fe, 0xfffc07ff, +0xfffcf800, 0xfffcf801, 0xfffcf802, 0xfffcf803, 0xfffcf804, 0xfffcf805, 0xfffcf806, 0xfffcf807, +0xfffcf8f8, 0xfffcf8f9, 0xfffcf8fa, 0xfffcf8fb, 0xfffcf8fc, 0xfffcf8fd, 0xfffcf8fe, 0xfffcf8ff, +0xfffcf900, 0xfffcf901, 0xfffcf902, 0xfffcf903, 0xfffcf904, 0xfffcf905, 0xfffcf906, 0xfffcf907, +0xfffcf9f8, 0xfffcf9f9, 0xfffcf9fa, 0xfffcf9fb, 0xfffcf9fc, 0xfffcf9fd, 0xfffcf9fe, 0xfffcf9ff, +0xfffcfa00, 0xfffcfa01, 0xfffcfa02, 0xfffcfa03, 0xfffcfa04, 0xfffcfa05, 0xfffcfa06, 0xfffcfa07, +0xfffcfaf8, 0xfffcfaf9, 0xfffcfafa, 0xfffcfafb, 0xfffcfafc, 0xfffcfafd, 0xfffcfafe, 0xfffcfaff, +0xfffcfb00, 0xfffcfb01, 0xfffcfb02, 0xfffcfb03, 0xfffcfb04, 0xfffcfb05, 0xfffcfb06, 0xfffcfb07, +0xfffcfbf8, 0xfffcfbf9, 0xfffcfbfa, 0xfffcfbfb, 0xfffcfbfc, 0xfffcfbfd, 0xfffcfbfe, 0xfffcfbff, +0xfffcfc00, 0xfffcfc01, 0xfffcfc02, 0xfffcfc03, 0xfffcfc04, 0xfffcfc05, 0xfffcfc06, 0xfffcfc07, +0xfffcfcf8, 0xfffcfcf9, 0xfffcfcfa, 0xfffcfcfb, 0xfffcfcfc, 0xfffcfcfd, 0xfffcfcfe, 0xfffcfcff, +0xfffcfd00, 0xfffcfd01, 0xfffcfd02, 0xfffcfd03, 0xfffcfd04, 0xfffcfd05, 0xfffcfd06, 0xfffcfd07, +0xfffcfdf8, 0xfffcfdf9, 0xfffcfdfa, 0xfffcfdfb, 0xfffcfdfc, 0xfffcfdfd, 0xfffcfdfe, 0xfffcfdff, +0xfffcfe00, 0xfffcfe01, 0xfffcfe02, 0xfffcfe03, 0xfffcfe04, 0xfffcfe05, 0xfffcfe06, 0xfffcfe07, +0xfffcfef8, 0xfffcfef9, 0xfffcfefa, 0xfffcfefb, 0xfffcfefc, 0xfffcfefd, 0xfffcfefe, 0xfffcfeff, +0xfffcff00, 0xfffcff01, 0xfffcff02, 0xfffcff03, 0xfffcff04, 0xfffcff05, 0xfffcff06, 0xfffcff07, +0xfffcfff8, 0xfffcfff9, 0xfffcfffa, 0xfffcfffb, 0xfffcfffc, 0xfffcfffd, 0xfffcfffe, 0xfffcffff, +0xfffd0000, 0xfffd0001, 0xfffd0002, 0xfffd0003, 0xfffd0004, 0xfffd0005, 0xfffd0006, 0xfffd0007, +0xfffd00f8, 0xfffd00f9, 0xfffd00fa, 0xfffd00fb, 0xfffd00fc, 0xfffd00fd, 0xfffd00fe, 0xfffd00ff, +0xfffd0100, 0xfffd0101, 0xfffd0102, 0xfffd0103, 0xfffd0104, 0xfffd0105, 0xfffd0106, 0xfffd0107, +0xfffd01f8, 0xfffd01f9, 0xfffd01fa, 0xfffd01fb, 0xfffd01fc, 0xfffd01fd, 0xfffd01fe, 0xfffd01ff, +0xfffd0200, 0xfffd0201, 0xfffd0202, 0xfffd0203, 0xfffd0204, 0xfffd0205, 0xfffd0206, 0xfffd0207, +0xfffd02f8, 0xfffd02f9, 0xfffd02fa, 0xfffd02fb, 0xfffd02fc, 0xfffd02fd, 0xfffd02fe, 0xfffd02ff, +0xfffd0300, 0xfffd0301, 0xfffd0302, 0xfffd0303, 0xfffd0304, 0xfffd0305, 0xfffd0306, 0xfffd0307, +0xfffd03f8, 0xfffd03f9, 0xfffd03fa, 0xfffd03fb, 0xfffd03fc, 0xfffd03fd, 0xfffd03fe, 0xfffd03ff, +0xfffd0400, 0xfffd0401, 0xfffd0402, 0xfffd0403, 0xfffd0404, 0xfffd0405, 0xfffd0406, 0xfffd0407, +0xfffd04f8, 0xfffd04f9, 0xfffd04fa, 0xfffd04fb, 0xfffd04fc, 0xfffd04fd, 0xfffd04fe, 0xfffd04ff, +0xfffd0500, 0xfffd0501, 0xfffd0502, 0xfffd0503, 0xfffd0504, 0xfffd0505, 0xfffd0506, 0xfffd0507, +0xfffd05f8, 0xfffd05f9, 0xfffd05fa, 0xfffd05fb, 0xfffd05fc, 0xfffd05fd, 0xfffd05fe, 0xfffd05ff, +0xfffd0600, 0xfffd0601, 0xfffd0602, 0xfffd0603, 0xfffd0604, 0xfffd0605, 0xfffd0606, 0xfffd0607, +0xfffd06f8, 0xfffd06f9, 0xfffd06fa, 0xfffd06fb, 0xfffd06fc, 0xfffd06fd, 0xfffd06fe, 0xfffd06ff, +0xfffd0700, 0xfffd0701, 0xfffd0702, 0xfffd0703, 0xfffd0704, 0xfffd0705, 0xfffd0706, 0xfffd0707, +0xfffd07f8, 0xfffd07f9, 0xfffd07fa, 0xfffd07fb, 0xfffd07fc, 0xfffd07fd, 0xfffd07fe, 0xfffd07ff, +0xfffdf800, 0xfffdf801, 0xfffdf802, 0xfffdf803, 0xfffdf804, 0xfffdf805, 0xfffdf806, 0xfffdf807, +0xfffdf8f8, 0xfffdf8f9, 0xfffdf8fa, 0xfffdf8fb, 0xfffdf8fc, 0xfffdf8fd, 0xfffdf8fe, 0xfffdf8ff, +0xfffdf900, 0xfffdf901, 0xfffdf902, 0xfffdf903, 0xfffdf904, 0xfffdf905, 0xfffdf906, 0xfffdf907, +0xfffdf9f8, 0xfffdf9f9, 0xfffdf9fa, 0xfffdf9fb, 0xfffdf9fc, 0xfffdf9fd, 0xfffdf9fe, 0xfffdf9ff, +0xfffdfa00, 0xfffdfa01, 0xfffdfa02, 0xfffdfa03, 0xfffdfa04, 0xfffdfa05, 0xfffdfa06, 0xfffdfa07, +0xfffdfaf8, 0xfffdfaf9, 0xfffdfafa, 0xfffdfafb, 0xfffdfafc, 0xfffdfafd, 0xfffdfafe, 0xfffdfaff, +0xfffdfb00, 0xfffdfb01, 0xfffdfb02, 0xfffdfb03, 0xfffdfb04, 0xfffdfb05, 0xfffdfb06, 0xfffdfb07, +0xfffdfbf8, 0xfffdfbf9, 0xfffdfbfa, 0xfffdfbfb, 0xfffdfbfc, 0xfffdfbfd, 0xfffdfbfe, 0xfffdfbff, +0xfffdfc00, 0xfffdfc01, 0xfffdfc02, 0xfffdfc03, 0xfffdfc04, 0xfffdfc05, 0xfffdfc06, 0xfffdfc07, +0xfffdfcf8, 0xfffdfcf9, 0xfffdfcfa, 0xfffdfcfb, 0xfffdfcfc, 0xfffdfcfd, 0xfffdfcfe, 0xfffdfcff, +0xfffdfd00, 0xfffdfd01, 0xfffdfd02, 0xfffdfd03, 0xfffdfd04, 0xfffdfd05, 0xfffdfd06, 0xfffdfd07, +0xfffdfdf8, 0xfffdfdf9, 0xfffdfdfa, 0xfffdfdfb, 0xfffdfdfc, 0xfffdfdfd, 0xfffdfdfe, 0xfffdfdff, +0xfffdfe00, 0xfffdfe01, 0xfffdfe02, 0xfffdfe03, 0xfffdfe04, 0xfffdfe05, 0xfffdfe06, 0xfffdfe07, +0xfffdfef8, 0xfffdfef9, 0xfffdfefa, 0xfffdfefb, 0xfffdfefc, 0xfffdfefd, 0xfffdfefe, 0xfffdfeff, +0xfffdff00, 0xfffdff01, 0xfffdff02, 0xfffdff03, 0xfffdff04, 0xfffdff05, 0xfffdff06, 0xfffdff07, +0xfffdfff8, 0xfffdfff9, 0xfffdfffa, 0xfffdfffb, 0xfffdfffc, 0xfffdfffd, 0xfffdfffe, 0xfffdffff, +0xfffe0000, 0xfffe0001, 0xfffe0002, 0xfffe0003, 0xfffe0004, 0xfffe0005, 0xfffe0006, 0xfffe0007, +0xfffe00f8, 0xfffe00f9, 0xfffe00fa, 0xfffe00fb, 0xfffe00fc, 0xfffe00fd, 0xfffe00fe, 0xfffe00ff, +0xfffe0100, 0xfffe0101, 0xfffe0102, 0xfffe0103, 0xfffe0104, 0xfffe0105, 0xfffe0106, 0xfffe0107, +0xfffe01f8, 0xfffe01f9, 0xfffe01fa, 0xfffe01fb, 0xfffe01fc, 0xfffe01fd, 0xfffe01fe, 0xfffe01ff, +0xfffe0200, 0xfffe0201, 0xfffe0202, 0xfffe0203, 0xfffe0204, 0xfffe0205, 0xfffe0206, 0xfffe0207, +0xfffe02f8, 0xfffe02f9, 0xfffe02fa, 0xfffe02fb, 0xfffe02fc, 0xfffe02fd, 0xfffe02fe, 0xfffe02ff, +0xfffe0300, 0xfffe0301, 0xfffe0302, 0xfffe0303, 0xfffe0304, 0xfffe0305, 0xfffe0306, 0xfffe0307, +0xfffe03f8, 0xfffe03f9, 0xfffe03fa, 0xfffe03fb, 0xfffe03fc, 0xfffe03fd, 0xfffe03fe, 0xfffe03ff, +0xfffe0400, 0xfffe0401, 0xfffe0402, 0xfffe0403, 0xfffe0404, 0xfffe0405, 0xfffe0406, 0xfffe0407, +0xfffe04f8, 0xfffe04f9, 0xfffe04fa, 0xfffe04fb, 0xfffe04fc, 0xfffe04fd, 0xfffe04fe, 0xfffe04ff, +0xfffe0500, 0xfffe0501, 0xfffe0502, 0xfffe0503, 0xfffe0504, 0xfffe0505, 0xfffe0506, 0xfffe0507, +0xfffe05f8, 0xfffe05f9, 0xfffe05fa, 0xfffe05fb, 0xfffe05fc, 0xfffe05fd, 0xfffe05fe, 0xfffe05ff, +0xfffe0600, 0xfffe0601, 0xfffe0602, 0xfffe0603, 0xfffe0604, 0xfffe0605, 0xfffe0606, 0xfffe0607, +0xfffe06f8, 0xfffe06f9, 0xfffe06fa, 0xfffe06fb, 0xfffe06fc, 0xfffe06fd, 0xfffe06fe, 0xfffe06ff, +0xfffe0700, 0xfffe0701, 0xfffe0702, 0xfffe0703, 0xfffe0704, 0xfffe0705, 0xfffe0706, 0xfffe0707, +0xfffe07f8, 0xfffe07f9, 0xfffe07fa, 0xfffe07fb, 0xfffe07fc, 0xfffe07fd, 0xfffe07fe, 0xfffe07ff, +0xfffef800, 0xfffef801, 0xfffef802, 0xfffef803, 0xfffef804, 0xfffef805, 0xfffef806, 0xfffef807, +0xfffef8f8, 0xfffef8f9, 0xfffef8fa, 0xfffef8fb, 0xfffef8fc, 0xfffef8fd, 0xfffef8fe, 0xfffef8ff, +0xfffef900, 0xfffef901, 0xfffef902, 0xfffef903, 0xfffef904, 0xfffef905, 0xfffef906, 0xfffef907, +0xfffef9f8, 0xfffef9f9, 0xfffef9fa, 0xfffef9fb, 0xfffef9fc, 0xfffef9fd, 0xfffef9fe, 0xfffef9ff, +0xfffefa00, 0xfffefa01, 0xfffefa02, 0xfffefa03, 0xfffefa04, 0xfffefa05, 0xfffefa06, 0xfffefa07, +0xfffefaf8, 0xfffefaf9, 0xfffefafa, 0xfffefafb, 0xfffefafc, 0xfffefafd, 0xfffefafe, 0xfffefaff, +0xfffefb00, 0xfffefb01, 0xfffefb02, 0xfffefb03, 0xfffefb04, 0xfffefb05, 0xfffefb06, 0xfffefb07, +0xfffefbf8, 0xfffefbf9, 0xfffefbfa, 0xfffefbfb, 0xfffefbfc, 0xfffefbfd, 0xfffefbfe, 0xfffefbff, +0xfffefc00, 0xfffefc01, 0xfffefc02, 0xfffefc03, 0xfffefc04, 0xfffefc05, 0xfffefc06, 0xfffefc07, +0xfffefcf8, 0xfffefcf9, 0xfffefcfa, 0xfffefcfb, 0xfffefcfc, 0xfffefcfd, 0xfffefcfe, 0xfffefcff, +0xfffefd00, 0xfffefd01, 0xfffefd02, 0xfffefd03, 0xfffefd04, 0xfffefd05, 0xfffefd06, 0xfffefd07, +0xfffefdf8, 0xfffefdf9, 0xfffefdfa, 0xfffefdfb, 0xfffefdfc, 0xfffefdfd, 0xfffefdfe, 0xfffefdff, +0xfffefe00, 0xfffefe01, 0xfffefe02, 0xfffefe03, 0xfffefe04, 0xfffefe05, 0xfffefe06, 0xfffefe07, +0xfffefef8, 0xfffefef9, 0xfffefefa, 0xfffefefb, 0xfffefefc, 0xfffefefd, 0xfffefefe, 0xfffefeff, +0xfffeff00, 0xfffeff01, 0xfffeff02, 0xfffeff03, 0xfffeff04, 0xfffeff05, 0xfffeff06, 0xfffeff07, +0xfffefff8, 0xfffefff9, 0xfffefffa, 0xfffefffb, 0xfffefffc, 0xfffefffd, 0xfffefffe, 0xfffeffff, +0xffff0000, 0xffff0001, 0xffff0002, 0xffff0003, 0xffff0004, 0xffff0005, 0xffff0006, 0xffff0007, +0xffff00f8, 0xffff00f9, 0xffff00fa, 0xffff00fb, 0xffff00fc, 0xffff00fd, 0xffff00fe, 0xffff00ff, +0xffff0100, 0xffff0101, 0xffff0102, 0xffff0103, 0xffff0104, 0xffff0105, 0xffff0106, 0xffff0107, +0xffff01f8, 0xffff01f9, 0xffff01fa, 0xffff01fb, 0xffff01fc, 0xffff01fd, 0xffff01fe, 0xffff01ff, +0xffff0200, 0xffff0201, 0xffff0202, 0xffff0203, 0xffff0204, 0xffff0205, 0xffff0206, 0xffff0207, +0xffff02f8, 0xffff02f9, 0xffff02fa, 0xffff02fb, 0xffff02fc, 0xffff02fd, 0xffff02fe, 0xffff02ff, +0xffff0300, 0xffff0301, 0xffff0302, 0xffff0303, 0xffff0304, 0xffff0305, 0xffff0306, 0xffff0307, +0xffff03f8, 0xffff03f9, 0xffff03fa, 0xffff03fb, 0xffff03fc, 0xffff03fd, 0xffff03fe, 0xffff03ff, +0xffff0400, 0xffff0401, 0xffff0402, 0xffff0403, 0xffff0404, 0xffff0405, 0xffff0406, 0xffff0407, +0xffff04f8, 0xffff04f9, 0xffff04fa, 0xffff04fb, 0xffff04fc, 0xffff04fd, 0xffff04fe, 0xffff04ff, +0xffff0500, 0xffff0501, 0xffff0502, 0xffff0503, 0xffff0504, 0xffff0505, 0xffff0506, 0xffff0507, +0xffff05f8, 0xffff05f9, 0xffff05fa, 0xffff05fb, 0xffff05fc, 0xffff05fd, 0xffff05fe, 0xffff05ff, +0xffff0600, 0xffff0601, 0xffff0602, 0xffff0603, 0xffff0604, 0xffff0605, 0xffff0606, 0xffff0607, +0xffff06f8, 0xffff06f9, 0xffff06fa, 0xffff06fb, 0xffff06fc, 0xffff06fd, 0xffff06fe, 0xffff06ff, +0xffff0700, 0xffff0701, 0xffff0702, 0xffff0703, 0xffff0704, 0xffff0705, 0xffff0706, 0xffff0707, +0xffff07f8, 0xffff07f9, 0xffff07fa, 0xffff07fb, 0xffff07fc, 0xffff07fd, 0xffff07fe, 0xffff07ff, +0xfffff800, 0xfffff801, 0xfffff802, 0xfffff803, 0xfffff804, 0xfffff805, 0xfffff806, 0xfffff807, +0xfffff8f8, 0xfffff8f9, 0xfffff8fa, 0xfffff8fb, 0xfffff8fc, 0xfffff8fd, 0xfffff8fe, 0xfffff8ff, +0xfffff900, 0xfffff901, 0xfffff902, 0xfffff903, 0xfffff904, 0xfffff905, 0xfffff906, 0xfffff907, +0xfffff9f8, 0xfffff9f9, 0xfffff9fa, 0xfffff9fb, 0xfffff9fc, 0xfffff9fd, 0xfffff9fe, 0xfffff9ff, +0xfffffa00, 0xfffffa01, 0xfffffa02, 0xfffffa03, 0xfffffa04, 0xfffffa05, 0xfffffa06, 0xfffffa07, +0xfffffaf8, 0xfffffaf9, 0xfffffafa, 0xfffffafb, 0xfffffafc, 0xfffffafd, 0xfffffafe, 0xfffffaff, +0xfffffb00, 0xfffffb01, 0xfffffb02, 0xfffffb03, 0xfffffb04, 0xfffffb05, 0xfffffb06, 0xfffffb07, +0xfffffbf8, 0xfffffbf9, 0xfffffbfa, 0xfffffbfb, 0xfffffbfc, 0xfffffbfd, 0xfffffbfe, 0xfffffbff, +0xfffffc00, 0xfffffc01, 0xfffffc02, 0xfffffc03, 0xfffffc04, 0xfffffc05, 0xfffffc06, 0xfffffc07, +0xfffffcf8, 0xfffffcf9, 0xfffffcfa, 0xfffffcfb, 0xfffffcfc, 0xfffffcfd, 0xfffffcfe, 0xfffffcff, +0xfffffd00, 0xfffffd01, 0xfffffd02, 0xfffffd03, 0xfffffd04, 0xfffffd05, 0xfffffd06, 0xfffffd07, +0xfffffdf8, 0xfffffdf9, 0xfffffdfa, 0xfffffdfb, 0xfffffdfc, 0xfffffdfd, 0xfffffdfe, 0xfffffdff, +0xfffffe00, 0xfffffe01, 0xfffffe02, 0xfffffe03, 0xfffffe04, 0xfffffe05, 0xfffffe06, 0xfffffe07, +0xfffffef8, 0xfffffef9, 0xfffffefa, 0xfffffefb, 0xfffffefc, 0xfffffefd, 0xfffffefe, 0xfffffeff, +0xffffff00, 0xffffff01, 0xffffff02, 0xffffff03, 0xffffff04, 0xffffff05, 0xffffff06, 0xffffff07, +0xfffffff8, 0xfffffff9, 0xfffffffa, 0xfffffffb, 0xfffffffc, 0xfffffffd, 0xfffffffe, 0xffffffff +}; From 399346e1504f841ad4232925856397da12bb290b Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 29 Jan 2018 14:10:46 -0800 Subject: [PATCH 029/420] add avx2 libraries --- src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 87edf2da..9c996efb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,7 +5,7 @@ AM_CPPFLAGS += -I"@HASHPIPE_INCDIR@" AM_CPPFLAGS += -I"@XGPU_INCDIR@" # AM_CFLAGS is used for all C compiles -AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx +AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 # Convenience variables to group source files paper_databuf = paper_databuf.h \ From 687d2a1d36820bc82b8c08f60c3388bb692e04a3 Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 29 Jan 2018 14:16:33 -0800 Subject: [PATCH 030/420] Make Fluffed bytes Long. Fix CPU X-engine buffer datatype --- src/paper_gpu_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index ff313a01..685ec080 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -237,7 +237,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) gpu_dumps++; hashpipe_status_lock_safe(&st); hputi8(st.buf, "GPUDUMPS", gpu_dumps); - hputr4(st.buf, "GPUGBPS", (float)(8*N_FLUFFED_BYTES_PER_BLOCK*gpu_block_count)/elapsed_gpu_ns); + hputr4(st.buf, "GPUGBPS", (float)(8L*N_FLUFFED_BYTES_PER_BLOCK*gpu_block_count)/elapsed_gpu_ns); hashpipe_status_unlock_safe(&st); // Start new average @@ -274,7 +274,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) /* * Call CPU X engine function */ - xgpuOmpXengine((Complex *)db_out->block[curblock_out].data, context.array_h); + xgpuOmpXengine((ComplexInt *)db_out->block[curblock_out].data, context.array_h); // Mark output block as full and advance paper_output_databuf_set_filled(db_out, curblock_out); From cfba0d09e676044a70fa3b38e5fff2846b2dfee8 Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 29 Jan 2018 14:20:58 -0800 Subject: [PATCH 031/420] make gbps counter long --- src/paper_fluff_thread.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/paper_fluff_thread.c b/src/paper_fluff_thread.c index eeabf22c..8d9d597d 100644 --- a/src/paper_fluff_thread.c +++ b/src/paper_fluff_thread.c @@ -97,6 +97,7 @@ static void *run(hashpipe_thread_args_t * args) memcpy(&db_out->block[curblock_out].header, &db_in->block[curblock_in].header, sizeof(paper_input_header_t)); paper_fluff(db_in->block[curblock_in].data, db_out->block[curblock_out].data); + //paper_fluff_lut(db_in->block[curblock_in].data, db_out->block[curblock_out].data); clock_gettime(CLOCK_MONOTONIC, &finish); @@ -104,7 +105,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); // Bits per fluff / ns per fluff = Gbps hgetr4(st.buf, "FLUFMING", &min_gbps); - gbps = (float)(8*N_BYTES_PER_BLOCK)/ELAPSED_NS(start,finish); + gbps = (float)(8L*N_BYTES_PER_BLOCK)/ELAPSED_NS(start,finish); //Gigabits / s hputr4(st.buf, "FLUFGBPS", gbps); if(min_gbps == 0 || gbps < min_gbps) { hputr4(st.buf, "FLUFMING", gbps); From 740b41f645361c6fd3f88fb698f99134def19ae3 Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 29 Jan 2018 17:04:56 -0800 Subject: [PATCH 032/420] Remove unneeded paper code --- src/Makefile.am | 3 +- src/paper_net_thread.c | 774 ---------------------------------- src/paper_pktsock_thread.c | 840 ------------------------------------- 3 files changed, 1 insertion(+), 1616 deletions(-) delete mode 100644 src/paper_net_thread.c delete mode 100644 src/paper_pktsock_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index 9c996efb..f749c90f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,8 +16,7 @@ paper_threads = paper_fake_net_thread.c \ paper_gpu_output_thread.c \ paper_gpu_thread.c \ paper_fluff_thread.c \ - paper_net_thread.c \ - paper_pktsock_thread.c \ + hera_pktsock_thread.c \ paper_crc_thread.c paper_fluff = paper_fluff.h \ diff --git a/src/paper_net_thread.c b/src/paper_net_thread.c deleted file mode 100644 index ceccb8f6..00000000 --- a/src/paper_net_thread.c +++ /dev/null @@ -1,774 +0,0 @@ -/* paper_net_thread.c - * - * Routine to read packets from network and put them - * into shared memory blocks. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "hashpipe.h" -#include "paper_databuf.h" - -#define DEBUG_NET - -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - -typedef struct { - uint64_t mcnt; - int fid; // Fengine ID - int xid; // Xengine ID -} packet_header_t; - -// The fields of a block_info_t structure hold (at least) two different kinds -// of data. Some fields hold data that persist over many packets while other -// fields hold data that are only applicable to the current packet (or the -// previous packet). -typedef struct { - int initialized; - int32_t self_xid; - uint64_t mcnt_start; - uint64_t mcnt_log_late; - int out_of_seq_cnt; - int block_i; - // The m,x,f fields hold three of the five dimensional indices for - // the first data word of the current packet (i.e. t=0 and c=0). - int m; // formerly known as sub_block_i - int f; - int block_packet_counter[N_INPUT_BLOCKS]; -} block_info_t; - -static hashpipe_status_t *st_p; - -#if 0 -static void print_pkt_header(packet_header_t * pkt_header) { - - static long long prior_mcnt; - - printf("packet header : mcnt %012lx (diff from prior %lld) fid %d xid %d\n", - pkt_header->mcnt, pkt_header->mcnt-prior_mcnt, pkt_header->fid, pkt_header->xid); - - prior_mcnt = pkt_header->mcnt; -} -#endif - -#ifdef DIE_ON_OUT_OF_SEQ_FILL -static void print_block_info(block_info_t * binfo) { - printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", - binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); -} - -static void print_block_packet_counter(block_info_t * binfo) { - int i; - for(i=0;iblock_i) { - fprintf(stdout, "*%03d ", binfo->block_packet_counter[i]); - } else { - fprintf(stdout, " %03d ", binfo->block_packet_counter[i]); - } - } - fprintf(stdout, "\n"); -} - -static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { - - int i; - - for(i=0; i < N_INPUT_BLOCKS; i++) { - printf("block %d mcnt %012lx\n", i, paper_input_databuf_p->block[i].header.mcnt); - } -} -#endif // DIE_ON_OUT_OF_SEQ_FILL - -// Returns physical block number for given mcnt -static inline int block_for_mcnt(uint64_t mcnt) -{ - return (mcnt / Nm) % N_INPUT_BLOCKS; -} - -#ifdef LOG_MCNTS -#define MAX_MCNT_LOG (1024*1024) -//static uint64_t mcnt_log[MAX_MCNT_LOG]; -//static int mcnt_log_idx = 0; -static int total_packets_counted = 0; -static int expected_packets_counted = 0; -static int late_packets_counted = 0; -static int outofseq_packets_counted = 0; -static int filled_packets_counted = 0; - -void dump_mcnt_log(int xid) -{ - //int i; - char fname[80]; - FILE *f; - sprintf(fname, "mcnt.xid%02d.log", xid); - f = fopen(fname,"w"); - fprintf(f, "expected packets counted = %d\n", expected_packets_counted); - fprintf(f, "late packets counted = %d\n", late_packets_counted); - fprintf(f, "outofseq packets counted = %d\n", outofseq_packets_counted); - fprintf(f, "total packets counted = %d\n", total_packets_counted); - fprintf(f, "filled packets counted = %d\n", filled_packets_counted); - //for(i=0; imcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; - pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; - pkt_header->fid = (pkt_counter ) % (Nq*Nf); - pkt_counter++; -#else - uint64_t raw_header; - raw_header = be64toh(*(unsigned long long *)p->data); - pkt_header->mcnt = raw_header >> 16; - pkt_header->xid = raw_header & 0x00000000000000FF; - pkt_header->fid = (raw_header >> 8) & 0x00000000000000FF; -#endif - -#ifdef LOG_MCNTS - total_packets_counted++; - //mcnt_log[mcnt_log_idx++] = pkt_header->mcnt; - //if(mcnt_log_idx == MAX_MCNT_LOG) { - // dump_mcnt_log(pkt_header->xid); - // abort(); - //} - if(total_packets_counted == 10*1000*1000) { - dump_mcnt_log(pkt_header->xid); - abort(); - } -#endif -} - -#ifdef DIE_ON_OUT_OF_SEQ_FILL -static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) -{ - print_block_info(binfo); - print_block_packet_counter(binfo); - print_ring_mcnts(paper_input_databuf_p); -#ifdef LOG_MCNTS - dump_mcnt_log(); -#endif - abort(); // End process and generate core file (if ulimit allows) -} -#endif - -// This sets the "current" block to be marked as filled. The current block is -// the block corresponding to binfo->mcnt_start. Returns mcnt of the block -// being marked filled. -static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) -{ - static int last_filled = -1; - - uint32_t block_missed_pkt_cnt=N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; - - uint32_t block_i = block_for_mcnt(binfo->mcnt_start); - - // Validate that we're filling blocks in the proper sequence - last_filled = (last_filled+1) % N_INPUT_BLOCKS; - if(last_filled != block_i) { - printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); -#ifdef DIE_ON_OUT_OF_SEQ_FILL - die(paper_input_databuf_p, binfo); -#endif - } - - // Validate that block_i matches binfo->block_i - if(block_i != binfo->block_i) { - hashpipe_warn(__FUNCTION__, - "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", - block_i, binfo->block_i); - } -#ifdef LOG_MCNTS - filled_packets_counted += binfo->block_packet_counter[block_i]; -#endif - - // If all packets are accounted for, mark this block as good - if(binfo->block_packet_counter[block_i] == N_PACKETS_PER_BLOCK) { - paper_input_databuf_p->block[block_i].header.good_data = 1; - } - - // Set the block as filled - if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); - pthread_exit(NULL); - } - - // Calculate missing packets. - block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; - // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we - // are missing one or more F engines. Any missed packets beyond an - // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered - // as dropped packets. - block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; - block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; - - // Reinitialize our XID to -1 (unknown until read from status buffer) - binfo->self_xid = -1; - - // Update status buffer - hashpipe_status_lock_busywait_safe(st_p); - hputu4(st_p->buf, "NETBKOUT", block_i); - hputu4(st_p->buf, "MISSEDFE", block_missed_feng); - if(block_missed_mod_cnt) { - // Increment MISSEDPK by number of missed packets for this block - hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); - missed_pkt_cnt += block_missed_mod_cnt; - hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); - // fprintf(stderr, "got %d packets instead of %d\n", - // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); - } - // Update our XID from status buffer - hgeti4(st_p->buf, "XID", &binfo->self_xid); - hashpipe_status_unlock_safe(st_p); - - return binfo->mcnt_start; -} - -static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) -{ - if(pkt_header->fid >= Nf) { - hashpipe_error(__FUNCTION__, - "current packet FID %u out of range (0-%d)", - pkt_header->fid, Nf-1); - return -1; - } else if(pkt_header->xid != binfo->self_xid && binfo->self_xid != -1) { - hashpipe_error(__FUNCTION__, - "unexpected packet XID %d (expected %d)", - pkt_header->xid, binfo->self_xid); - return -1; - } - - binfo->m = pkt_header->mcnt % Nm; - binfo->f = pkt_header->fid; - - return 0; -} - -// This allows for 2 out of sequence packets from each F engine (in a row) -#define MAX_OUT_OF_SEQ (2*Nf) - -// This allows packets to be two full databufs late without being considered -// out of sequence. -#define LATE_PKT_MCNT_THRESHOLD (2*Nm*N_INPUT_BLOCKS) - -// Initialize a block by clearing its "good data" flag and saving the first -// (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a -// multiple of Nm (number of mcnts per block). In theory, the block's data -// could be cleared as well, but that takes time and is largely unnecessary in -// a properly functionong system. -static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) -{ - int block_i = block_for_mcnt(mcnt); - - paper_input_databuf_p->block[block_i].header.good_data = 0; - // Round pkt_mcnt down to nearest multiple of Nm - paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%Nm); -} - -// This function must be called once and only once per block_info structure! -// Subsequent calls are no-ops. -static inline void initialize_block_info(block_info_t * binfo) -{ - int i; - - // If this block_info structure has already been initialized - if(binfo->initialized) { - return; - } - - for(i = 0; i < N_INPUT_BLOCKS; i++) { - binfo->block_packet_counter[i] = 0; - } - - // Initialize our XID to -1 (unknown until read from status buffer) - binfo->self_xid = -1; - // Update our XID from status buffer - hashpipe_status_lock_busywait_safe(st_p); - hgeti4(st_p->buf, "XID", &binfo->self_xid); - hashpipe_status_unlock_safe(st_p); - - // On startup mcnt_start will be zero and mcnt_log_late will be Nm. - binfo->mcnt_start = 0; - binfo->mcnt_log_late = Nm; - binfo->block_i = 0; - - binfo->out_of_seq_cnt = 0; - binfo->initialized = 1; -} - -// This function returns -1 unless the given packet causes a block to be marked -// as filled in which case this function returns the marked block's first mcnt. -// Any return value other than -1 will be stored in the status memory as -// NETMCNT, so it is important that values other than -1 are returned rarely -// (i.e. when marking a block as filled)!!! -static inline uint64_t process_packet(paper_input_databuf_t *paper_input_databuf_p, struct hashpipe_udp_packet *p) -{ - - static block_info_t binfo; - packet_header_t pkt_header; - const uint64_t *payload_p; - int pkt_block_i; - uint64_t *dest_p; - int64_t pkt_mcnt_dist; - uint64_t pkt_mcnt; - uint64_t cur_mcnt; - uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) -#if N_DEBUG_INPUT_BLOCKS == 1 - static uint64_t debug_remaining = -1ULL; - static off_t debug_offset = 0; - uint64_t * debug_ptr; -#endif - - // Lazy init binfo - if(!binfo.initialized) { - initialize_block_info(&binfo); - } - - // Parse packet header - get_header(p, &pkt_header); - pkt_mcnt = pkt_header.mcnt; - pkt_block_i = block_for_mcnt(pkt_mcnt); - cur_mcnt = binfo.mcnt_start; - - // Packet mcnt distance (how far away is this packet's mcnt from the - // current mcnt). Positive distance for pcnt mcnts > current mcnt. - pkt_mcnt_dist = pkt_mcnt - cur_mcnt; - -#if N_DEBUG_INPUT_BLOCKS == 1 - debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; - debug_ptr[debug_offset++] = be64toh(*(uint64_t *)(p->data)); - if(--debug_remaining == 0) { - exit(1); - } - if(debug_offset >= sizeof(paper_input_block_t)/sizeof(uint64_t)) { - debug_offset = 0; - } -#endif - - // We expect packets for the current block, the next block, and the block after. - if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { - // If the packet is for the block after the next block (i.e. current - // block + 2 blocks) - if(pkt_mcnt_dist >= 2*Nm) { - // Mark the current block as filled - netmcnt = set_block_filled(paper_input_databuf_p, &binfo); - - // Advance mcnt_start to next block - cur_mcnt += Nm; - binfo.mcnt_start += Nm; - binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; - - // Wait (hopefully not long!) to acquire the block after next (i.e. - // the block that gets the current packet). - if(paper_input_databuf_busywait_free(paper_input_databuf_p, pkt_block_i) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } - } - - // Initialize the newly acquired block - initialize_block(paper_input_databuf_p, pkt_mcnt); - // Reset binfo's packet counter for this packet's block - binfo.block_packet_counter[pkt_block_i] = 0; - } - - // Reset out-of-seq counter - binfo.out_of_seq_cnt = 0; - - // Increment packet count for block - binfo.block_packet_counter[pkt_block_i]++; -#ifdef LOG_MCNTS - expected_packets_counted++; -#endif - - // Validate header FID and XID and calculate "m" and "f" indexes into - // block (stored in binfo). - if(calc_block_indexes(&binfo, &pkt_header)) { - // Bad packet, error already reported - return -1; - } - - // Calculate starting points for unpacking this packet into block's data buffer. - dest_p = paper_input_databuf_p->block[pkt_block_i].data - + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); - payload_p = (uint64_t *)(p->data+8); - - // Copy data into buffer - memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); - - return netmcnt; - } - // Else, if packet is late, but not too late (so we can handle F engine - // restarts and MCNT rollover), then ignore it - else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { - // If not just after an mcnt reset, issue warning. - if(cur_mcnt >= binfo.mcnt_log_late) { - hashpipe_warn("paper_net_thread", - "Ignoring late packet (%d mcnts late)", - cur_mcnt - pkt_mcnt); - } -#ifdef LOG_MCNTS - late_packets_counted++; -#endif - return -1; - } - // Else, it is an "out-of-order" packet. - else { - // If not at start-up and this is the first out of order packet, - // issue warning. - if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { - hashpipe_warn("paper_net_thread", - "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", - pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); - } - - // Increment out-of-seq packet counter - binfo.out_of_seq_cnt++; -#ifdef LOG_MCNTS - outofseq_packets_counted++; -#endif - - // If too may out-of-seq packets - if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { - // Reset current mcnt. The value to reset to must be the first - // value greater than or equal to pkt_mcnt that corresponds to the - // same databuf block as the old current mcnt. - if(binfo.block_i > pkt_block_i) { - // Advance pkt_mcnt to correspond to binfo.block_i - pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); - } else if(binfo.block_i < pkt_block_i) { - // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks - pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); - } - // Round pkt_mcnt down to nearest multiple of Nm - binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); - binfo.mcnt_log_late = binfo.mcnt_start + Nm; - binfo.block_i = block_for_mcnt(binfo.mcnt_start); - hashpipe_warn("paper_net_thread", - "resetting to mcnt %012lx block %d based on packet mcnt %012lx", - binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); - // Reinitialize/recycle our two already acquired blocks with new - // mcnt values. - initialize_block(paper_input_databuf_p, binfo.mcnt_start); - initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); - // Reset binfo's packet counters for these blocks. - binfo.block_packet_counter[binfo.block_i] = 0; - binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; - } - return -1; - } - - return netmcnt; -} - -#define ELAPSED_NS(start,stop) \ - (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) - -static void *run(hashpipe_thread_args_t * args) -{ - // Local aliases to shorten access to args fields - // Our output buffer happens to be a paper_input_databuf - paper_input_databuf_t *db = (paper_input_databuf_t *)args->obuf; - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - st_p = &st; // allow global (this source file) access to the status buffer - - // Flag that holds off the net thread - int holdoff = 1; - - // Force ourself into the hold off state - hashpipe_status_lock_safe(&st); - hputi4(st.buf, "NETHOLD", 1); - hashpipe_status_unlock_safe(&st); - - while(holdoff) { - // We're not in any hurry to startup - sleep(1); - hashpipe_status_lock_safe(&st); - // Look for NETHOLD value - hgeti4(st.buf, "NETHOLD", &holdoff); - if(!holdoff) { - // Done holding, so delete the key - hdel(st.buf, "NETHOLD"); - } - hashpipe_status_unlock_safe(&st); - } - -#ifdef DEBUG_SEMS - fprintf(stderr, "s/tid %lu/NET/' <<.\n", pthread_self()); -#endif - -#if 0 - /* Copy status buffer */ - char status_buf[HASHPIPE_STATUS_SIZE]; - hashpipe_status_lock_busywait_safe(st_p); - memcpy(status_buf, st_p->buf, HASHPIPE_STATUS_SIZE); - hashpipe_status_unlock_safe(st_p); -#endif - - /* Read network params */ - struct hashpipe_udp_params up = { - .bindhost = "0.0.0.0", - .bindport = 8511, - .packet_size = 8200 - }; - hashpipe_status_lock_safe(&st); - // Get info from status buffer if present (no change if not present) - hgets(st.buf, "BINDHOST", 80, up.bindhost); - hgeti4(st.buf, "BINDPORT", &up.bindport); - // Store bind host/port info etc in status buffer - hputs(st.buf, "BINDHOST", up.bindhost); - hputi4(st.buf, "BINDPORT", up.bindport); - hputu4(st.buf, "MISSEDFE", 0); - hputu4(st.buf, "MISSEDPK", 0); - hputs(st.buf, status_key, "running"); - hashpipe_status_unlock_safe(&st); - - struct hashpipe_udp_packet p; - - /* Give all the threads a chance to start before opening network socket */ - sleep(1); - - -#ifndef TIMING_TEST - /* Set up UDP socket */ - int rv = hashpipe_udp_init(&up); - if (rv!=HASHPIPE_OK) { - hashpipe_error("paper_net_thread", - "Error opening UDP socket."); - pthread_exit(NULL); - } - pthread_cleanup_push((void *)hashpipe_udp_close, &up); -#endif - - // Acquire first two blocks to start - if(paper_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - } - } - if(paper_input_databuf_busywait_free(db, 1) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - } - } - - // Initialize the newly acquired block - initialize_block(db, 0); - initialize_block(db, Nm); - - /* Main loop */ - uint64_t packet_count = 0; - uint64_t wait_ns = 0; // ns for most recent wait - uint64_t recv_ns = 0; // ns for most recent recv - uint64_t proc_ns = 0; // ns for most recent proc - uint64_t min_wait_ns = 99999; // min ns per single wait - uint64_t min_recv_ns = 99999; // min ns per single recv - uint64_t min_proc_ns = 99999; // min ns per single proc - uint64_t max_wait_ns = 0; // max ns per single wait - uint64_t max_recv_ns = 0; // max ns per single recv - uint64_t max_proc_ns = 0; // max ns per single proc - uint64_t elapsed_wait_ns = 0; // cumulative wait time per block - uint64_t elapsed_recv_ns = 0; // cumulative recv time per block - uint64_t elapsed_proc_ns = 0; // cumulative proc time per block - uint64_t status_ns = 0; // User to fetch ns values from status buffer - float ns_per_wait = 0.0; // Average ns per wait over 1 block - float ns_per_recv = 0.0; // Average ns per recv over 1 block - float ns_per_proc = 0.0; // Average ns per proc over 1 block - struct timespec start, stop; - struct timespec recv_start, recv_stop; - - while (run_threads()) { - -#ifndef TIMING_TEST - /* Read packet */ - clock_gettime(CLOCK_MONOTONIC, &recv_start); - do { - clock_gettime(CLOCK_MONOTONIC, &start); - p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); - clock_gettime(CLOCK_MONOTONIC, &recv_stop); - } while (p.packet_size == -1 && (errno == EAGAIN || errno == EWOULDBLOCK) && run_threads()); - if(!run_threads()) break; - // Make sure received packet size (p.packet_size) matches expected - // packet size (up.packet_size). Allow for optional 8 byte CRC in - // received packet. Zlib's crc32 function is too slow to use in - // realtime, so CRCs cannot be checked on the fly. If data errors are - // suspected, a separate CRC checking utility should be used to read - // the packets from the network and verify CRCs. - if (up.packet_size != p.packet_size && up.packet_size != p.packet_size-8) { - // If an error was returned instead of a valid packet size - if (p.packet_size == -1) { - // Log error and exit - hashpipe_error("paper_net_thread", - "hashpipe_udp_recv returned error"); - perror("hashpipe_udp_recv"); - pthread_exit(NULL); - } else { - // Log warning and ignore wrongly sized packet - #ifdef DEBUG_NET - hashpipe_warn("paper_net_thread", "Incorrect pkt size (%d)", p.packet_size); - #endif - continue; - } - } -#endif - packet_count++; - - // Copy packet into any blocks where it belongs. - const uint64_t mcnt = process_packet((paper_input_databuf_t *)db, &p); - - clock_gettime(CLOCK_MONOTONIC, &stop); - wait_ns = ELAPSED_NS(recv_start, start); - recv_ns = ELAPSED_NS(start, recv_stop); - proc_ns = ELAPSED_NS(recv_stop, stop); - elapsed_wait_ns += wait_ns; - elapsed_recv_ns += recv_ns; - elapsed_proc_ns += proc_ns; - // Update min max values - min_wait_ns = MIN(wait_ns, min_wait_ns); - min_recv_ns = MIN(recv_ns, min_recv_ns); - min_proc_ns = MIN(proc_ns, min_proc_ns); - max_wait_ns = MAX(wait_ns, max_wait_ns); - max_recv_ns = MAX(recv_ns, max_recv_ns); - max_proc_ns = MAX(proc_ns, max_proc_ns); - - if(mcnt != -1) { - // Update status - ns_per_wait = (float)elapsed_wait_ns / packet_count; - ns_per_recv = (float)elapsed_recv_ns / packet_count; - ns_per_proc = (float)elapsed_proc_ns / packet_count; - - hashpipe_status_lock_busywait_safe(&st); - - hputu8(st.buf, "NETMCNT", mcnt); - // Gbps = bits_per_packet / ns_per_packet - // (N_BYTES_PER_PACKET excludes header, so +8 for the header) - hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); - hputr4(st.buf, "NETWATNS", ns_per_wait); - hputr4(st.buf, "NETRECNS", ns_per_recv); - hputr4(st.buf, "NETPRCNS", ns_per_proc); - - // Get and put min and max values. The "get-then-put" allows the - // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); - status_ns = MIN(min_wait_ns, status_ns); - hputi8(st.buf, "NETWATMN", status_ns); - - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); - status_ns = MIN(min_recv_ns, status_ns); - hputi8(st.buf, "NETRECMN", status_ns); - - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); - status_ns = MIN(min_proc_ns, status_ns); - hputi8(st.buf, "NETPRCMN", status_ns); - - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); - status_ns = MAX(max_wait_ns, status_ns); - hputi8(st.buf, "NETWATMX", status_ns); - - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); - status_ns = MAX(max_recv_ns, status_ns); - hputi8(st.buf, "NETRECMX", status_ns); - - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); - status_ns = MAX(max_proc_ns, status_ns); - hputi8(st.buf, "NETPRCMX", status_ns); - - - hashpipe_status_unlock_safe(&st); - - // Start new average - elapsed_wait_ns = 0; - elapsed_recv_ns = 0; - elapsed_proc_ns = 0; - packet_count = 0; - } - -#if defined TIMING_TEST || defined NET_TIMING_TEST - -#define END_LOOP_COUNT (1*1000*1000) - static int loop_count=0; - static struct timespec tt_start, tt_stop; - if(loop_count == 0) { - clock_gettime(CLOCK_MONOTONIC, &tt_start); - } - //if(loop_count == 1000000) pthread_exit(NULL); - if(loop_count == END_LOOP_COUNT) { - clock_gettime(CLOCK_MONOTONIC, &tt_stop); - int64_t elapsed = ELAPSED_NS(tt_start, tt_stop); - printf("processed %d packets in %.6f ms (%.3f us per packet)\n", - END_LOOP_COUNT, elapsed/1e6, elapsed/1e3/END_LOOP_COUNT); - exit(0); - } - loop_count++; -#endif - - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } - -#ifndef TIMING_TEST - /* Have to close all push's */ - pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ -#endif - - return NULL; -} - -static hashpipe_thread_desc_t net_thread = { - name: "paper_net_thread", - skey: "NETSTAT", - init: NULL, - run: run, - ibuf_desc: {NULL}, - obuf_desc: {paper_input_databuf_create} -}; - -static __attribute__((constructor)) void ctor() -{ - register_hashpipe_thread(&net_thread); -} - -// vi: set ts=8 sw=4 noet : diff --git a/src/paper_pktsock_thread.c b/src/paper_pktsock_thread.c deleted file mode 100644 index b1a0911a..00000000 --- a/src/paper_pktsock_thread.c +++ /dev/null @@ -1,840 +0,0 @@ -/* paper_pktsock_thread.c - * - * Routine to read packets from network and put them - * into shared memory blocks. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "hashpipe.h" -#include "paper_databuf.h" - -#define DEBUG_NET - -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - -#ifndef MAX -#define MAX(a,b) ((a) > (b) ? (a) : (b)) -#endif - -#define PKTSOCK_BYTES_PER_FRAME (16384) -#define PKTSOCK_FRAMES_PER_BLOCK (8) -#define PKTSOCK_NBLOCKS (800) -#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) - -typedef struct { - uint64_t mcnt; - int fid; // Fengine ID - int xid; // Xengine ID -} packet_header_t; - -// The fields of a block_info_t structure hold (at least) two different kinds -// of data. Some fields hold data that persist over many packets while other -// fields hold data that are only applicable to the current packet (or the -// previous packet). -typedef struct { - int initialized; - int32_t self_xid; - uint64_t mcnt_start; - uint64_t mcnt_log_late; - int out_of_seq_cnt; - int block_i; - // The m,x,f fields hold three of the five dimensional indices for - // the first data word of the current packet (i.e. t=0 and c=0). - int m; // formerly known as sub_block_i - int f; - int block_packet_counter[N_INPUT_BLOCKS]; -} block_info_t; - -static hashpipe_status_t *st_p; - -#if 0 -static void print_pkt_header(packet_header_t * pkt_header) { - - static long long prior_mcnt; - - printf("packet header : mcnt %012lx (diff from prior %lld) fid %d xid %d\n", - pkt_header->mcnt, pkt_header->mcnt-prior_mcnt, pkt_header->fid, pkt_header->xid); - - prior_mcnt = pkt_header->mcnt; -} -#endif - -#ifdef DIE_ON_OUT_OF_SEQ_FILL -static void print_block_info(block_info_t * binfo) { - printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", - binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); -} - -static void print_block_packet_counter(block_info_t * binfo) { - int i; - for(i=0;iblock_i) { - fprintf(stdout, "*%03d ", binfo->block_packet_counter[i]); - } else { - fprintf(stdout, " %03d ", binfo->block_packet_counter[i]); - } - } - fprintf(stdout, "\n"); -} - -static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { - - int i; - - for(i=0; i < N_INPUT_BLOCKS; i++) { - printf("block %d mcnt %012lx\n", i, paper_input_databuf_p->block[i].header.mcnt); - } -} -#endif // DIE_ON_OUT_OF_SEQ_FILL - -// Returns physical block number for given mcnt -static inline int block_for_mcnt(uint64_t mcnt) -{ - return (mcnt / Nm) % N_INPUT_BLOCKS; -} - -#ifdef LOG_MCNTS -#define MAX_MCNT_LOG (1024*1024) -//static uint64_t mcnt_log[MAX_MCNT_LOG]; -//static int mcnt_log_idx = 0; -static int total_packets_counted = 0; -static int expected_packets_counted = 0; -static int late_packets_counted = 0; -static int outofseq_packets_counted = 0; -static int filled_packets_counted = 0; - -void dump_mcnt_log(int xid) -{ - //int i; - char fname[80]; - FILE *f; - sprintf(fname, "mcnt.xid%02d.log", xid); - f = fopen(fname,"w"); - fprintf(f, "expected packets counted = %d\n", expected_packets_counted); - fprintf(f, "late packets counted = %d\n", late_packets_counted); - fprintf(f, "outofseq packets counted = %d\n", outofseq_packets_counted); - fprintf(f, "total packets counted = %d\n", total_packets_counted); - fprintf(f, "filled packets counted = %d\n", filled_packets_counted); - //for(i=0; imcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; - pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; - pkt_header->fid = (pkt_counter ) % (Nq*Nf); - pkt_counter++; -#else - uint64_t raw_header; - raw_header = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); - pkt_header->mcnt = raw_header >> 16; - pkt_header->xid = raw_header & 0x00000000000000FF; - pkt_header->fid = (raw_header >> 8) & 0x00000000000000FF; -#endif - -#ifdef LOG_MCNTS - total_packets_counted++; - //mcnt_log[mcnt_log_idx++] = pkt_header->mcnt; - //if(mcnt_log_idx == MAX_MCNT_LOG) { - // dump_mcnt_log(pkt_header->xid); - // abort(); - //} - if(total_packets_counted == 10*1000*1000) { - dump_mcnt_log(pkt_header->xid); - abort(); - } -#endif -} - -#ifdef DIE_ON_OUT_OF_SEQ_FILL -static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) -{ - print_block_info(binfo); - print_block_packet_counter(binfo); - print_ring_mcnts(paper_input_databuf_p); -#ifdef LOG_MCNTS - dump_mcnt_log(); -#endif - abort(); // End process and generate core file (if ulimit allows) -} -#endif - -// This sets the "current" block to be marked as filled. The current block is -// the block corresponding to binfo->mcnt_start. Returns mcnt of the block -// being marked filled. -static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) -{ - static int last_filled = -1; - - uint32_t block_missed_pkt_cnt=N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; - - uint32_t block_i = block_for_mcnt(binfo->mcnt_start); - - // Validate that we're filling blocks in the proper sequence - last_filled = (last_filled+1) % N_INPUT_BLOCKS; - if(last_filled != block_i) { - printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); -#ifdef DIE_ON_OUT_OF_SEQ_FILL - die(paper_input_databuf_p, binfo); -#endif - } - - // Validate that block_i matches binfo->block_i - if(block_i != binfo->block_i) { - hashpipe_warn(__FUNCTION__, - "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", - block_i, binfo->block_i); - } -#ifdef LOG_MCNTS - filled_packets_counted += binfo->block_packet_counter[block_i]; -#endif - - // If all packets are accounted for, mark this block as good - if(binfo->block_packet_counter[block_i] == N_PACKETS_PER_BLOCK) { - paper_input_databuf_p->block[block_i].header.good_data = 1; - } - - // Set the block as filled - if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); - pthread_exit(NULL); - } - - // Calculate missing packets. - block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; - // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we - // are missing one or more F engines. Any missed packets beyond an - // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered - // as dropped packets. - block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; - block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; - - // Reinitialize our XID to -1 (unknown until read from status buffer) - binfo->self_xid = -1; - - // Update status buffer - hashpipe_status_lock_busywait_safe(st_p); - hputu4(st_p->buf, "NETBKOUT", block_i); - hputu4(st_p->buf, "MISSEDFE", block_missed_feng); - if(block_missed_mod_cnt) { - // Increment MISSEDPK by number of missed packets for this block - hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); - missed_pkt_cnt += block_missed_mod_cnt; - hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); - // fprintf(stderr, "got %d packets instead of %d\n", - // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); - } - // Update our XID from status buffer - hgeti4(st_p->buf, "XID", &binfo->self_xid); - hashpipe_status_unlock_safe(st_p); - - return binfo->mcnt_start; -} - -static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) -{ - if(pkt_header->fid >= Nf) { - hashpipe_error(__FUNCTION__, - "current packet FID %u out of range (0-%d)", - pkt_header->fid, Nf-1); - return -1; - } else if(pkt_header->xid != binfo->self_xid && binfo->self_xid != -1) { - hashpipe_error(__FUNCTION__, - "unexpected packet XID %d (expected %d)", - pkt_header->xid, binfo->self_xid); - return -1; - } - - binfo->m = pkt_header->mcnt % Nm; - binfo->f = pkt_header->fid; - - return 0; -} - -// This allows for 2 out of sequence packets from each F engine (in a row) -#define MAX_OUT_OF_SEQ (2*Nf) - -// This allows packets to be two full databufs late without being considered -// out of sequence. -#define LATE_PKT_MCNT_THRESHOLD (2*Nm*N_INPUT_BLOCKS) - -// Initialize a block by clearing its "good data" flag and saving the first -// (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a -// multiple of Nm (number of mcnts per block). In theory, the block's data -// could be cleared as well, but that takes time and is largely unnecessary in -// a properly functionong system. -static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) -{ - int block_i = block_for_mcnt(mcnt); - - paper_input_databuf_p->block[block_i].header.good_data = 0; - // Round pkt_mcnt down to nearest multiple of Nm - paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%Nm); -} - -// This function must be called once and only once per block_info structure! -// Subsequent calls are no-ops. -static inline void initialize_block_info(block_info_t * binfo) -{ - int i; - - // If this block_info structure has already been initialized - if(binfo->initialized) { - return; - } - - for(i = 0; i < N_INPUT_BLOCKS; i++) { - binfo->block_packet_counter[i] = 0; - } - - // Initialize our XID to -1 (unknown until read from status buffer) - binfo->self_xid = -1; - // Update our XID from status buffer - hashpipe_status_lock_busywait_safe(st_p); - hgeti4(st_p->buf, "XID", &binfo->self_xid); - hashpipe_status_unlock_safe(st_p); - - // On startup mcnt_start will be zero and mcnt_log_late will be Nm. - binfo->mcnt_start = 0; - binfo->mcnt_log_late = Nm; - binfo->block_i = 0; - - binfo->out_of_seq_cnt = 0; - binfo->initialized = 1; -} - -// This function returns -1 unless the given packet causes a block to be marked -// as filled in which case this function returns the marked block's first mcnt. -// Any return value other than -1 will be stored in the status memory as -// NETMCNT, so it is important that values other than -1 are returned rarely -// (i.e. when marking a block as filled)!!! -static inline uint64_t process_packet( - paper_input_databuf_t *paper_input_databuf_p, unsigned char*p_frame) -{ - - static block_info_t binfo; - packet_header_t pkt_header; - const uint64_t *payload_p; - int pkt_block_i; - uint64_t *dest_p; - int64_t pkt_mcnt_dist; - uint64_t pkt_mcnt; - uint64_t cur_mcnt; - uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) -#if N_DEBUG_INPUT_BLOCKS == 1 - static uint64_t debug_remaining = -1ULL; - static off_t debug_offset = 0; - uint64_t * debug_ptr; -#endif - - // Lazy init binfo - if(!binfo.initialized) { - initialize_block_info(&binfo); - } - - // Parse packet header - get_header(p_frame, &pkt_header); - pkt_mcnt = pkt_header.mcnt; - pkt_block_i = block_for_mcnt(pkt_mcnt); - cur_mcnt = binfo.mcnt_start; - - // Packet mcnt distance (how far away is this packet's mcnt from the - // current mcnt). Positive distance for pcnt mcnts > current mcnt. - pkt_mcnt_dist = pkt_mcnt - cur_mcnt; - -#if N_DEBUG_INPUT_BLOCKS == 1 - debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; - debug_ptr[debug_offset++] = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); - if(--debug_remaining == 0) { - exit(1); - } - if(debug_offset >= sizeof(paper_input_block_t)/sizeof(uint64_t)) { - debug_offset = 0; - } -#endif - - // We expect packets for the current block, the next block, and the block after. - if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { - // If the packet is for the block after the next block (i.e. current - // block + 2 blocks) - if(pkt_mcnt_dist >= 2*Nm) { - // Mark the current block as filled - netmcnt = set_block_filled(paper_input_databuf_p, &binfo); - - // Advance mcnt_start to next block - cur_mcnt += Nm; - binfo.mcnt_start += Nm; - binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; - - // Wait (hopefully not long!) to acquire the block after next (i.e. - // the block that gets the current packet). - if(paper_input_databuf_busywait_free(paper_input_databuf_p, pkt_block_i) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } - } - - // Initialize the newly acquired block - initialize_block(paper_input_databuf_p, pkt_mcnt); - // Reset binfo's packet counter for this packet's block - binfo.block_packet_counter[pkt_block_i] = 0; - } - - // Reset out-of-seq counter - binfo.out_of_seq_cnt = 0; - - // Increment packet count for block - binfo.block_packet_counter[pkt_block_i]++; -#ifdef LOG_MCNTS - expected_packets_counted++; -#endif - - // Validate header FID and XID and calculate "m" and "f" indexes into - // block (stored in binfo). - if(calc_block_indexes(&binfo, &pkt_header)) { - // Bad packet, error already reported - return -1; - } - - // Calculate starting points for unpacking this packet into block's data buffer. - dest_p = paper_input_databuf_p->block[pkt_block_i].data - + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); - payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8); - - // Copy data into buffer - memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); - - return netmcnt; - } - // Else, if packet is late, but not too late (so we can handle F engine - // restarts and MCNT rollover), then ignore it - else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { - // If not just after an mcnt reset, issue warning. - if(cur_mcnt >= binfo.mcnt_log_late) { - hashpipe_warn("paper_pktsock_thread", - "Ignoring late packet (%d mcnts late)", - cur_mcnt - pkt_mcnt); - } -#ifdef LOG_MCNTS - late_packets_counted++; -#endif - return -1; - } - // Else, it is an "out-of-order" packet. - else { - // If not at start-up and this is the first out of order packet, - // issue warning. - if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { - hashpipe_warn("paper_pktsock_thread", - "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", - pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); - } - - // Increment out-of-seq packet counter - binfo.out_of_seq_cnt++; -#ifdef LOG_MCNTS - outofseq_packets_counted++; -#endif - - // If too may out-of-seq packets - if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { - // Reset current mcnt. The value to reset to must be the first - // value greater than or equal to pkt_mcnt that corresponds to the - // same databuf block as the old current mcnt. - if(binfo.block_i > pkt_block_i) { - // Advance pkt_mcnt to correspond to binfo.block_i - pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); - } else if(binfo.block_i < pkt_block_i) { - // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks - pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); - } - // Round pkt_mcnt down to nearest multiple of Nm - binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); - binfo.mcnt_log_late = binfo.mcnt_start + Nm; - binfo.block_i = block_for_mcnt(binfo.mcnt_start); - hashpipe_warn("paper_pktsock_thread", - "resetting to mcnt %012lx block %d based on packet mcnt %012lx", - binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); - // Reinitialize/recycle our two already acquired blocks with new - // mcnt values. - initialize_block(paper_input_databuf_p, binfo.mcnt_start); - initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); - // Reset binfo's packet counters for these blocks. - binfo.block_packet_counter[binfo.block_i] = 0; - binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; - } - return -1; - } - - return netmcnt; -} - -#define ELAPSED_NS(start,stop) \ - (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) - -static int init(hashpipe_thread_args_t *args) -{ - /* Read network params */ - char bindhost[80]; - int bindport = 8511; - - strcpy(bindhost, "0.0.0.0"); - - hashpipe_status_t st = args->st; - - hashpipe_status_lock_safe(&st); - // Get info from status buffer if present (no change if not present) - hgets(st.buf, "BINDHOST", 80, bindhost); - hgeti4(st.buf, "BINDPORT", &bindport); - // Store bind host/port info etc in status buffer - hputs(st.buf, "BINDHOST", bindhost); - hputi4(st.buf, "BINDPORT", bindport); - hputu4(st.buf, "MISSEDFE", 0); - hputu4(st.buf, "MISSEDPK", 0); - hashpipe_status_unlock_safe(&st); - -#ifndef TIMING_TEST - /* Set up pktsock */ - struct hashpipe_pktsock *p_ps = (struct hashpipe_pktsock *) - malloc(sizeof(struct hashpipe_pktsock)); - - if(!p_ps) { - perror(__FUNCTION__); - return -1; - } - - // Make frame_size be a divisor of block size so that frames will be - // contiguous in mapped mempory. block_size must also be a multiple of - // page_size. Easiest way is to oversize the frames to be 16384 bytes, which - // is bigger than we need, but keeps things easy. - p_ps->frame_size = PKTSOCK_BYTES_PER_FRAME; - // total number of frames - p_ps->nframes = PKTSOCK_NFRAMES; - // number of blocks - p_ps->nblocks = PKTSOCK_NBLOCKS; - - int rv = hashpipe_pktsock_open(p_ps, bindhost, PACKET_RX_RING); - if (rv!=HASHPIPE_OK) { - hashpipe_error("paper_pktsock_thread", "Error opening pktsock."); - pthread_exit(NULL); - } - - // Store packet socket pointer in args - args->user_data = p_ps; -#endif - - // Success! - return 0; -} - -static void *run(hashpipe_thread_args_t * args) -{ - // Local aliases to shorten access to args fields - // Our output buffer happens to be a paper_input_databuf - paper_input_databuf_t *db = (paper_input_databuf_t *)args->obuf; - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - st_p = &st; // allow global (this source file) access to the status buffer - - // Flag that holds off the net thread - int holdoff = 1; - - // Force ourself into the hold off state - hashpipe_status_lock_safe(&st); - hputi4(st.buf, "NETHOLD", 1); - hputs(st.buf, status_key, "holding"); - hashpipe_status_unlock_safe(&st); - - while(holdoff) { - // We're not in any hurry to startup - sleep(1); - hashpipe_status_lock_safe(&st); - // Look for NETHOLD value - hgeti4(st.buf, "NETHOLD", &holdoff); - if(!holdoff) { - // Done holding, so delete the key - hdel(st.buf, "NETHOLD"); - hputs(st.buf, status_key, "running"); - } - hashpipe_status_unlock_safe(&st); - } - -#ifdef DEBUG_SEMS - fprintf(stderr, "s/tid %lu/NET/' <<.\n", pthread_self()); -#endif - -#if 0 - /* Copy status buffer */ - char status_buf[HASHPIPE_STATUS_SIZE]; - hashpipe_status_lock_busywait_safe(st_p); - memcpy(status_buf, st_p->buf, HASHPIPE_STATUS_SIZE); - hashpipe_status_unlock_safe(st_p); -#endif - - // Acquire first two blocks to start - if(paper_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - } - } - if(paper_input_databuf_busywait_free(db, 1) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - } - } - - // Initialize the newly acquired block - initialize_block(db, 0); - initialize_block(db, Nm); - - /* Read network params */ - int bindport = 8511; - // (N_BYTES_PER_PACKET excludes header, so +8 for the header) - size_t expected_packet_size = N_BYTES_PER_PACKET + 8; - -#ifndef TIMING_TEST - /* Get pktsock from args*/ - struct hashpipe_pktsock * p_ps = (struct hashpipe_pktsock*)args->user_data; - pthread_cleanup_push(free, p_ps); - pthread_cleanup_push((void (*)(void *))hashpipe_pktsock_close, p_ps); - - // Drop all packets to date - unsigned char *p_frame; - while((p_frame=hashpipe_pktsock_recv_frame_nonblock(p_ps))) { - hashpipe_pktsock_release_frame(p_frame); - } - - hashpipe_status_lock_safe(&st); - // Get info from status buffer - hgeti4(st.buf, "BINDPORT", &bindport); - hputu4(st.buf, "MISSEDFE", 0); - hputu4(st.buf, "MISSEDPK", 0); - hputs(st.buf, status_key, "running"); - hashpipe_status_unlock_safe(&st); -#endif - - /* Main loop */ - uint64_t packet_count = 0; - uint64_t wait_ns = 0; // ns for most recent wait - uint64_t recv_ns = 0; // ns for most recent recv - uint64_t proc_ns = 0; // ns for most recent proc - uint64_t min_wait_ns = 99999; // min ns per single wait - uint64_t min_recv_ns = 99999; // min ns per single recv - uint64_t min_proc_ns = 99999; // min ns per single proc - uint64_t max_wait_ns = 0; // max ns per single wait - uint64_t max_recv_ns = 0; // max ns per single recv - uint64_t max_proc_ns = 0; // max ns per single proc - uint64_t elapsed_wait_ns = 0; // cumulative wait time per block - uint64_t elapsed_recv_ns = 0; // cumulative recv time per block - uint64_t elapsed_proc_ns = 0; // cumulative proc time per block - uint64_t status_ns = 0; // User to fetch ns values from status buffer - float ns_per_wait = 0.0; // Average ns per wait over 1 block - float ns_per_recv = 0.0; // Average ns per recv over 1 block - float ns_per_proc = 0.0; // Average ns per proc over 1 block - unsigned int pktsock_pkts = 0; // Stats counter from socket packet - unsigned int pktsock_drops = 0; // Stats counter from socket packet - uint64_t pktsock_pkts_total = 0; // Stats total for socket packet - uint64_t pktsock_drops_total = 0; // Stats total for socket packet - struct timespec start, stop; - struct timespec recv_start, recv_stop; - - while (run_threads()) { - -#ifndef TIMING_TEST - /* Read packet */ - clock_gettime(CLOCK_MONOTONIC, &recv_start); - do { - clock_gettime(CLOCK_MONOTONIC, &start); - //p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); - p_frame = hashpipe_pktsock_recv_udp_frame_nonblock(p_ps, bindport); - clock_gettime(CLOCK_MONOTONIC, &recv_stop); - } while (!p_frame && run_threads()); - - if(!run_threads()) break; - - // Make sure received packet size matches expected packet size. Allow - // for optional 8 byte CRC in received packet. Zlib's crc32 function - // is too slow to use in realtime, so CRCs cannot be checked on the - // fly. If data errors are suspected, a separate CRC checking utility - // should be used to read the packets from the network and verify CRCs. - int packet_size = PKT_UDP_SIZE(p_frame) - 8; // -8 for the UDP header - if (expected_packet_size != packet_size-8 && expected_packet_size != packet_size) { - // Log warning and ignore wrongly sized packet - #ifdef DEBUG_NET - hashpipe_warn("paper_pktsock_thread", "Invalid pkt size (%d)", packet_size); - #endif - hashpipe_pktsock_release_frame(p_frame); - continue; - } -#endif - packet_count++; - - // Copy packet into any blocks where it belongs. - const uint64_t mcnt = process_packet((paper_input_databuf_t *)db, p_frame); - // Release frame back to kernel - hashpipe_pktsock_release_frame(p_frame); - - clock_gettime(CLOCK_MONOTONIC, &stop); - wait_ns = ELAPSED_NS(recv_start, start); - recv_ns = ELAPSED_NS(start, recv_stop); - proc_ns = ELAPSED_NS(recv_stop, stop); - elapsed_wait_ns += wait_ns; - elapsed_recv_ns += recv_ns; - elapsed_proc_ns += proc_ns; - // Update min max values - min_wait_ns = MIN(wait_ns, min_wait_ns); - min_recv_ns = MIN(recv_ns, min_recv_ns); - min_proc_ns = MIN(proc_ns, min_proc_ns); - max_wait_ns = MAX(wait_ns, max_wait_ns); - max_recv_ns = MAX(recv_ns, max_recv_ns); - max_proc_ns = MAX(proc_ns, max_proc_ns); - - if(mcnt != -1) { - // Update status - ns_per_wait = (float)elapsed_wait_ns / packet_count; - ns_per_recv = (float)elapsed_recv_ns / packet_count; - ns_per_proc = (float)elapsed_proc_ns / packet_count; - - // Get stats from packet socket - hashpipe_pktsock_stats(p_ps, &pktsock_pkts, &pktsock_drops); - - hashpipe_status_lock_busywait_safe(&st); - - hputu8(st.buf, "NETMCNT", mcnt); - // Gbps = bits_per_packet / ns_per_packet - // (N_BYTES_PER_PACKET excludes header, so +8 for the header) - hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); - hputr4(st.buf, "NETWATNS", ns_per_wait); - hputr4(st.buf, "NETRECNS", ns_per_recv); - hputr4(st.buf, "NETPRCNS", ns_per_proc); - - // Get and put min and max values. The "get-then-put" allows the - // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); - status_ns = MIN(min_wait_ns, status_ns); - hputi8(st.buf, "NETWATMN", status_ns); - - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); - status_ns = MIN(min_recv_ns, status_ns); - hputi8(st.buf, "NETRECMN", status_ns); - - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); - status_ns = MIN(min_proc_ns, status_ns); - hputi8(st.buf, "NETPRCMN", status_ns); - - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); - status_ns = MAX(max_wait_ns, status_ns); - hputi8(st.buf, "NETWATMX", status_ns); - - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); - status_ns = MAX(max_recv_ns, status_ns); - hputi8(st.buf, "NETRECMX", status_ns); - - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); - status_ns = MAX(max_proc_ns, status_ns); - hputi8(st.buf, "NETPRCMX", status_ns); - - hputu8(st.buf, "NETPKTS", pktsock_pkts); - hputu8(st.buf, "NETDROPS", pktsock_drops); - - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); - hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); - hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); - - hashpipe_status_unlock_safe(&st); - - // Start new average - elapsed_wait_ns = 0; - elapsed_recv_ns = 0; - elapsed_proc_ns = 0; - packet_count = 0; - } - -#if defined TIMING_TEST || defined NET_TIMING_TEST - -#define END_LOOP_COUNT (1*1000*1000) - static int loop_count=0; - static struct timespec tt_start, tt_stop; - if(loop_count == 0) { - clock_gettime(CLOCK_MONOTONIC, &tt_start); - } - //if(loop_count == 1000000) pthread_exit(NULL); - if(loop_count == END_LOOP_COUNT) { - clock_gettime(CLOCK_MONOTONIC, &tt_stop); - int64_t elapsed = ELAPSED_NS(tt_start, tt_stop); - printf("processed %d packets in %.6f ms (%.3f us per packet)\n", - END_LOOP_COUNT, elapsed/1e6, elapsed/1e3/END_LOOP_COUNT); - exit(0); - } - loop_count++; -#endif - - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } - -#ifndef TIMING_TEST - /* Have to close all push's */ - pthread_cleanup_pop(1); /* Closes push(hashpipe_pktsock_close) */ - pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ -#endif - - return NULL; -} - -static hashpipe_thread_desc_t pktsock_thread = { - name: "paper_pktsock_thread", - skey: "NETSTAT", - init: init, - run: run, - ibuf_desc: {NULL}, - obuf_desc: {paper_input_databuf_create} -}; - -static __attribute__((constructor)) void ctor() -{ - register_hashpipe_thread(&pktsock_thread); -} - -// vi: set ts=8 sw=4 noet : From 91f54fa0510b27d6a0292d821e6153bf3b47b1bc Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 14 Feb 2018 14:15:30 -0800 Subject: [PATCH 033/420] Add arch native compile flag y --- src/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index f749c90f..f6335fd8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,7 +5,8 @@ AM_CPPFLAGS += -I"@HASHPIPE_INCDIR@" AM_CPPFLAGS += -I"@XGPU_INCDIR@" # AM_CFLAGS is used for all C compiles -AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 +#AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 +AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native # Convenience variables to group source files paper_databuf = paper_databuf.h \ From 114742afe2501d4196dd02af5fd195c3ab006447 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 14 Feb 2018 14:16:30 -0800 Subject: [PATCH 034/420] HERA fluff thread Add in corner-turning and pad by sign extension --- src/paper_fluff.c | 158 +++++++++++++++++++++++++++++++--------------- 1 file changed, 107 insertions(+), 51 deletions(-) diff --git a/src/paper_fluff.c b/src/paper_fluff.c index 10285858..c5eaec40 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -13,7 +13,13 @@ #define N_WORD128_PER_PACKET (N_BYTES_PER_PACKET/sizeof(__m128i)) // OUTPUT_STRIDE in is units of __m256i //#define OUTPUT_STRIDE ((2*Nf*N_INPUTS_PER_PACKET)/sizeof(__m256i)) -#define OUTPUT_STRIDE ((2*Na)/sizeof(__m256i)) +//#define OUTPUT_STRIDE ((2*Na)/sizeof(__m256i)) +#define OUTPUT_STRIDE 1 + +#define paper_input_databuf_data_idx256(m,a,c,t) \ + ((((m * Na + a) * Nc + c) * t) * N_INPUTS_PER_PACKET / sizeof(__m256i)) +#define paper_gpu_input_databuf_data_idx256(m,a,t,c) \ + (4*((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) / sizeof(__m256i)) #if 0 typedef union { @@ -63,64 +69,114 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; - int m, a, w; + int m, c, t, a, i, j, k, l, n, p; - __m128i lo128, hi128; - __m256i out256 = _mm256_setzero_si256(); + __m256i int0, int1, outlo, int2, int3, outhi; - __m128i *p_in = (__m128i *)in; + __m256i *p_in = (__m256i *)in; __m256i *p_out; - const __m128i mask = _mm_set_epi64((__m64)0xf0f0f0f0f0f0f0f0ULL, (__m64)0xf0f0f0f0f0f0f0f0ULL); - + const __m256i maskhi = _mm256_set_epi64x(0xff00ff00ff00ff00ULL, 0xff00ff00ff00ff00ULL, + 0xff00ff00ff00ff00ULL, 0xff00ff00ff00ff00ULL); + const __m256i masklo = _mm256_set_epi64x(0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, + 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL); + //__m256i row[16], temp0[16], temp1[16], temp2[16]; + __m256i row[16], temp[16]; + + p_out = (__m256i *)out; + // Loop over different packets for(m=0; m> 3; } From dce510f931595ba71ea33152b63234b0871d07bd Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 14 Feb 2018 14:17:49 -0800 Subject: [PATCH 035/420] Add hera-gpu servers to init script --- src/paper_init.sh | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/paper_init.sh b/src/paper_init.sh index 67ee6f85..1d5bee7b 100755 --- a/src/paper_init.sh +++ b/src/paper_init.sh @@ -17,7 +17,7 @@ myip=$(getip $(hostname)) mypx= for p in {1..8} do - ip=$(getip px${p}.paper.pvt) + ip=$(getip px${p}) [ "${myip}" == "${ip}" ] || continue mypx=$p done @@ -113,6 +113,28 @@ case ${hostname} in "0x0606 ${hostname}-2.tenge.pvt 0 $xid0 2 4 3 4" # Instance 0, eth2 );; + hera-gpu*) + # Setup parameters for two instances. + # 2 x E5-2620 v4 (disabled-HyperThreading, 8-cores @ 2.1 GHz, 20 MB L3, 8 GT/s QPI, 2667 MHz DRAM) + # Fluff thread and output thread share a core. + # Save core 0 for OS. + # Save core 1 for eth2 + # Save core 8 for symmetry with core 0 + # Save core 9 for eth4 and eth5 + # + # Setup for two GPU devices (two TITANs). + # + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + # Calculate XIDs based on mypx + xid0=$(( 1*(mypx-1) )) + + instances=( + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + "0x00ff ${hostname}-2.tenge.pvt 0 $xid0 1 2 4 6" # Instance 0, eth2 + );; + *) echo "This host (${hostname}) is not supported by $(basename $0)" exit 1 @@ -147,7 +169,7 @@ function init() { -o BINDHOST=$bindhost \ -o GPUDEV=$gpudev \ -o XID=$xid \ - -c $netcpu paper_net_thread \ + -c $netcpu paper_fake_net_thread \ -c $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu paper_gpu_output_thread @@ -157,7 +179,7 @@ function init() { -o BINDHOST=$bindhost \ -o GPUDEV=$gpudev \ -o XID=$xid \ - -c $netcpu paper_net_thread \ + -c $netcpu paper_fake_net_thread \ -c $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu paper_gpu_output_thread \ From b900f555e2ca60403497d7813f6e2e9eff0bedfa Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 14 Feb 2018 14:19:07 -0800 Subject: [PATCH 036/420] First pass HERA-spec -- Make mcnt a spectrum counter (not a N_TIME_PER_PACKET counter) --- src/hera_pktsock_thread.c | 139 ++++++++++++++++++++++-------------- src/paper_ctl.sh | 7 +- src/paper_databuf.h | 99 +++++++------------------ src/paper_fake_net_thread.c | 2 +- src/paper_gpu_thread.c | 7 +- 5 files changed, 124 insertions(+), 130 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 850e9003..2b2b0b0a 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -21,6 +21,7 @@ #include "hashpipe.h" #include "paper_databuf.h" + #define DEBUG_NET #ifndef MIN @@ -31,15 +32,20 @@ #define MAX(a,b) ((a) > (b) ? (a) : (b)) #endif -#define PKTSOCK_BYTES_PER_FRAME (16384) -#define PKTSOCK_FRAMES_PER_BLOCK (8) -#define PKTSOCK_NBLOCKS (800) +//#define PKTSOCK_BYTES_PER_FRAME (16384) +//#define PKTSOCK_FRAMES_PER_BLOCK (8) +//#define PKTSOCK_NBLOCKS (800) +//#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) +#define PKTSOCK_BYTES_PER_FRAME (3328) +#define PKTSOCK_FRAMES_PER_BLOCK (128) +#define PKTSOCK_NBLOCKS (5000) #define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) typedef struct { - uint64_t mcnt; - int fid; // Fengine ID - int xid; // Xengine ID + uint64_t mcnt; // m-index of block in output buffer (runs from 0 to Nm) + uint64_t time; // First time sample in a packet + int chan; // First channel in a packet + int ant; // Antenna in a packet } packet_header_t; // The fields of a block_info_t structure hold (at least) two different kinds @@ -53,10 +59,10 @@ typedef struct { uint64_t mcnt_log_late; int out_of_seq_cnt; int block_i; - // The m,x,f fields hold three of the five dimensional indices for - // the first data word of the current packet (i.e. t=0 and c=0). - int m; // formerly known as sub_block_i - int f; + int m; // m-index of block in output buffer (runs from 0 to Nm) + int t; // first time sample in the packet // formerly known as sub_block_i + int c; // first channel in the packet + int a; // antenna in the packet int block_packet_counter[N_INPUT_BLOCKS]; } block_info_t; @@ -76,8 +82,8 @@ static void print_pkt_header(packet_header_t * pkt_header) { #ifdef DIE_ON_OUT_OF_SEQ_FILL static void print_block_info(block_info_t * binfo) { - printf("binfo : mcnt_start %012lx block_i %d m=%02d f=%d\n", - binfo->mcnt_start, binfo->block_i, binfo->m, binfo->f); + printf("binfo : mcnt_start %012lx block_i %d t=%02d c=%d a=%d\n", + binfo->mcnt_start, binfo->block_i, binfo->t, binfo->c, binfo->a); } static void print_block_packet_counter(block_info_t * binfo) { @@ -105,7 +111,7 @@ static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { // Returns physical block number for given mcnt static inline int block_for_mcnt(uint64_t mcnt) { - return (mcnt / Nm) % N_INPUT_BLOCKS; + return (mcnt / N_TIME_PER_BLOCK) % N_INPUT_BLOCKS; } #ifdef LOG_MCNTS @@ -143,14 +149,18 @@ static inline void get_header (unsigned char *p_frame, packet_header_t * pkt_hea #ifdef TIMING_TEST static int pkt_counter=0; // HERA TODO - pkt_header->mcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; - pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; - pkt_header->fid = (pkt_counter ) % (Nq*Nf); - pkt_counter++; + //pkt_header->mcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; + //pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; + //pkt_header->fid = (pkt_counter ) % (Nq*Nf); + //pkt_counter++; #else uint64_t raw_header; raw_header = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); - pkt_header->mcnt = (raw_header >> 27) & ((1<<37)-1); + // raw header contains value of first time sample, not mcnt, as defined in this code + //pkt_header->time = (raw_header >> 27) & ((1L<<37)-1); + //pkt_header->mcnt = pkt_header->time >> 5; + //pkt_header->mcnt = (raw_header >> 32) & 0xffffffff; + pkt_header->mcnt = (raw_header >> 27) & ((1L<<37)-1); pkt_header->chan = (raw_header >> 16) & ((1<<11)-1); pkt_header->ant = raw_header & ((1<<16)-1); #endif @@ -164,7 +174,7 @@ static inline void get_header (unsigned char *p_frame, packet_header_t * pkt_hea //} // HERA TODO if(total_packets_counted == 10*1000*1000) { - dump_mcnt_log(pkt_header->xid); + dump_mcnt_log(pkt_header->chan); abort(); } #endif @@ -190,7 +200,7 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b { static int last_filled = -1; - uint32_t block_missed_pkt_cnt=HERA_N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; + uint32_t block_missed_pkt_cnt=N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; uint32_t block_i = block_for_mcnt(binfo->mcnt_start); @@ -198,6 +208,7 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b last_filled = (last_filled+1) % N_INPUT_BLOCKS; if(last_filled != block_i) { printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); + #ifdef DIE_ON_OUT_OF_SEQ_FILL die(paper_input_databuf_p, binfo); #endif @@ -214,7 +225,7 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b #endif // If all packets are accounted for, mark this block as good - if(binfo->block_packet_counter[block_i] == HERA_N_PACKETS_PER_BLOCK) { + if(binfo->block_packet_counter[block_i] == N_PACKETS_PER_BLOCK) { paper_input_databuf_p->block[block_i].header.good_data = 1; } @@ -225,13 +236,13 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b } // Calculate missing packets. - block_missed_pkt_cnt = HERA_N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we // are missing one or more F engines. Any missed packets beyond an // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered // as dropped packets. - block_missed_feng = block_missed_pkt_cnt / HERA_N_PACKETS_PER_BLOCK_PER_F; - block_missed_mod_cnt = block_missed_pkt_cnt % HERA_N_PACKETS_PER_BLOCK_PER_F; + block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; + block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; // Reinitialize our XID to -1 (unknown until read from status buffer) binfo->self_xid = -1; @@ -241,6 +252,7 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b hputu4(st_p->buf, "NETBKOUT", block_i); hputu4(st_p->buf, "MISSEDFE", block_missed_feng); if(block_missed_mod_cnt) { + //fprintf(stdout, "Expected %d packets, Got %d\n", N_PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); // Increment MISSEDPK by number of missed packets for this block hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_mod_cnt; @@ -257,30 +269,33 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) { - if(pkt_header->fid >= Nf) { + if(pkt_header->ant >= Na) { hashpipe_error(__FUNCTION__, - "current packet FID %u out of range (0-%d)", - pkt_header->fid, Nf-1); - return -1; - } else if(pkt_header->xid != binfo->self_xid && binfo->self_xid != -1) { - hashpipe_error(__FUNCTION__, - "unexpected packet XID %d (expected %d)", - pkt_header->xid, binfo->self_xid); + "current packet Antenna ID %u out of range (0-%d)", + pkt_header->ant, Na-1); return -1; +// HERA TODO +// } else if(pkt_header->chan != binfo->self_xid && binfo->self_xid != -1) { +// hashpipe_error(__FUNCTION__, +// "unexpected packet XID %d (expected %d)", +// pkt_header->xid, binfo->self_xid); +// return -1; } - binfo->m = pkt_header->mcnt % Nm; - binfo->f = pkt_header->fid; + //binfo->t = pkt_header->time; + binfo->m = (pkt_header->mcnt % N_TIME_PER_BLOCK) / N_TIME_PER_PACKET; + binfo->a = pkt_header->ant; + binfo->c = pkt_header->chan % Nc; return 0; } // This allows for 2 out of sequence packets from each F engine (in a row) -#define MAX_OUT_OF_SEQ (2*Nf) +#define MAX_OUT_OF_SEQ (2*Na) // This allows packets to be two full databufs late without being considered // out of sequence. -#define LATE_PKT_MCNT_THRESHOLD (2*Nm*N_INPUT_BLOCKS) +#define LATE_PKT_MCNT_THRESHOLD (2*N_TIME_PER_BLOCK*N_INPUT_BLOCKS) // Initialize a block by clearing its "good data" flag and saving the first // (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a @@ -292,8 +307,8 @@ static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_ int block_i = block_for_mcnt(mcnt); paper_input_databuf_p->block[block_i].header.good_data = 0; - // Round pkt_mcnt down to nearest multiple of Nm - paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%Nm); + // Round pkt_mcnt down to nearest multiple of N_TIME_PER_BLOCK + paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%N_TIME_PER_BLOCK); } // This function must be called once and only once per block_info structure! @@ -320,7 +335,7 @@ static inline void initialize_block_info(block_info_t * binfo) // On startup mcnt_start will be zero and mcnt_log_late will be Nm. binfo->mcnt_start = 0; - binfo->mcnt_log_late = Nm; + binfo->mcnt_log_late = N_TIME_PER_BLOCK; binfo->block_i = 0; binfo->out_of_seq_cnt = 0; @@ -345,6 +360,7 @@ static inline uint64_t process_packet( uint64_t pkt_mcnt; uint64_t cur_mcnt; uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) + //int i; #if N_DEBUG_INPUT_BLOCKS == 1 static uint64_t debug_remaining = -1ULL; static off_t debug_offset = 0; @@ -358,6 +374,8 @@ static inline uint64_t process_packet( // Parse packet header get_header(p_frame, &pkt_header); + // mcnt is a spectra count, representing the first + // time sample in the packet pkt_mcnt = pkt_header.mcnt; pkt_block_i = block_for_mcnt(pkt_mcnt); cur_mcnt = binfo.mcnt_start; @@ -377,17 +395,32 @@ static inline uint64_t process_packet( } #endif + //fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //if(pkt_header.ant==0){ + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //} + //if(pkt_header.ant==69){ + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //} + //if(pkt_header.ant==138){ + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //} + // We expect packets for the current block, the next block, and the block after. - if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*Nm) { + if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*N_TIME_PER_BLOCK) { // If the packet is for the block after the next block (i.e. current // block + 2 blocks) - if(pkt_mcnt_dist >= 2*Nm) { + if(pkt_mcnt_dist >= 2*N_TIME_PER_BLOCK) { // Mark the current block as filled netmcnt = set_block_filled(paper_input_databuf_p, &binfo); // Advance mcnt_start to next block - cur_mcnt += Nm; - binfo.mcnt_start += Nm; + cur_mcnt += N_TIME_PER_BLOCK; + binfo.mcnt_start += N_TIME_PER_BLOCK; binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; // Wait (hopefully not long!) to acquire the block after next (i.e. @@ -429,7 +462,8 @@ static inline uint64_t process_packet( // Calculate starting points for unpacking this packet into block's data buffer. dest_p = paper_input_databuf_p->block[pkt_block_i].data - + paper_input_databuf_data_idx(binfo.m, binfo.f, 0, 0); + + paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0); //time index is always zero + //fprintf(stdout, "m:%d, a:%d, c:%d, %lu\n", binfo.m, binfo.a, binfo.c, paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0)); payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8); // Copy data into buffer @@ -458,7 +492,7 @@ static inline uint64_t process_packet( if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { hashpipe_warn("hera_pktsock_thread", "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", - pkt_mcnt, cur_mcnt, cur_mcnt+3*Nm); + pkt_mcnt, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK); } // Increment out-of-seq packet counter @@ -474,14 +508,14 @@ static inline uint64_t process_packet( // same databuf block as the old current mcnt. if(binfo.block_i > pkt_block_i) { // Advance pkt_mcnt to correspond to binfo.block_i - pkt_mcnt += Nm*(binfo.block_i - pkt_block_i); + pkt_mcnt += N_TIME_PER_BLOCK*(binfo.block_i - pkt_block_i); } else if(binfo.block_i < pkt_block_i) { // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks - pkt_mcnt += Nm*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); + pkt_mcnt += N_TIME_PER_BLOCK*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); } // Round pkt_mcnt down to nearest multiple of Nm - binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%Nm); - binfo.mcnt_log_late = binfo.mcnt_start + Nm; + binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%N_TIME_PER_BLOCK); + binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK; binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("hera_pktsock_thread", "resetting to mcnt %012lx block %d based on packet mcnt %012lx", @@ -489,7 +523,7 @@ static inline uint64_t process_packet( // Reinitialize/recycle our two already acquired blocks with new // mcnt values. initialize_block(paper_input_databuf_p, binfo.mcnt_start); - initialize_block(paper_input_databuf_p, binfo.mcnt_start+Nm); + initialize_block(paper_input_databuf_p, binfo.mcnt_start+N_TIME_PER_BLOCK); // Reset binfo's packet counters for these blocks. binfo.block_packet_counter[binfo.block_i] = 0; binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; @@ -572,6 +606,7 @@ static void *run(hashpipe_thread_args_t * args) int holdoff = 1; // Force ourself into the hold off state + fprintf(stdout, "Setting NETHOLD state to 1. Waiting for someone to set it to 0\n"); hashpipe_status_lock_safe(&st); hputi4(st.buf, "NETHOLD", 1); hputs(st.buf, status_key, "holding"); @@ -586,7 +621,7 @@ static void *run(hashpipe_thread_args_t * args) if(!holdoff) { // Done holding, so delete the key hdel(st.buf, "NETHOLD"); - hputs(st.buf, status_key, "running"); + hputs(st.buf, status_key, "starting"); } hashpipe_status_unlock_safe(&st); } @@ -627,7 +662,7 @@ static void *run(hashpipe_thread_args_t * args) // Initialize the newly acquired block initialize_block(db, 0); - initialize_block(db, Nm); + initialize_block(db, N_TIME_PER_BLOCK); /* Read network params */ int bindport = 8511; diff --git a/src/paper_ctl.sh b/src/paper_ctl.sh index ad02b51c..f05a61bf 100755 --- a/src/paper_ctl.sh +++ b/src/paper_ctl.sh @@ -6,13 +6,16 @@ PATH="$(dirname $0):${PATH}" instance_id=0 # Set default intcount -intcount=2048 +intcount=1048576 + +# Set wait period for start trigger +start_delay=1048576 # Set intsync to empty value intsync= function get_sync_mcnt() { - echo $(( $(hashpipe_check_status -I $instance_id -Q GPUMCNT 2>/dev/null) + 8192 )) + echo $(( $(hashpipe_check_status -I $instance_id -Q GPUMCNT 2>/dev/null) + $start_delay )) } function start() { diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 006c652e..7b463dff 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -5,17 +5,16 @@ #include "hashpipe_databuf.h" #include "config.h" -// Determined by F engine ADCs -#define N_INPUTS_PER_FENGINE 32 - // Determined by F engine -#define N_CHAN_TOTAL 1024 +#define N_CHAN_TOTAL 1536 // Determined by F engine packetizer -#define N_INPUTS_PER_PACKET N_INPUTS_PER_FENGINE -#define N_OUTPUTS_PER_FENGINE (4) +//TODO#define N_INPUTS_PER_PACKET 2 +#define N_INPUTS_PER_PACKET 6 // N_BYTES_PER_PACKET excludes header! -#define N_BYTES_PER_PACKET (8192) +//TODO#define N_BYTES_PER_PACKET (1024) +#define N_BYTES_PER_PACKET (3072) +//TODO#define N_BYTES_PER_PACKET (3072) // X engine sizing (from xGPU) #define N_ANTS XGPU_NSTATION @@ -24,11 +23,14 @@ #define N_CHAN_PER_X XGPU_NFREQUENCY // Derived from above quantities -#define N_FENGINES (N_INPUTS/N_INPUTS_PER_FENGINE) -#define N_CHAN_PER_F (N_CHAN_TOTAL/N_FENGINES/N_OUTPUTS_PER_FENGINE) -#define N_CHAN_PER_PACKET (N_CHAN_PER_F) -#define N_TIME_PER_PACKET (N_BYTES_PER_PACKET/N_INPUTS_PER_PACKET/N_CHAN_PER_PACKET) -#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / N_TIME_PER_PACKET) +#define N_FENGINES 208 +#define N_CHAN_PER_F 1536 +#define N_CHAN_PER_PACKET 16 +//TODO#define N_CHAN_PER_PACKET 48 +#define N_TIME_PER_PACKET 32 +//#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / N_TIME_PER_PACKET) +//#define N_SUB_BLOCKS_PER_INPUT_BLOCK N_TIME_PER_BLOCK +//#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) #define N_BYTES_PER_BLOCK (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_INPUTS) #define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK / N_BYTES_PER_PACKET) #define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK / N_FENGINES) @@ -38,7 +40,7 @@ #error N_BYTES_PER_PACKET != (N_TIME_PER_PACKET*N_CHAN_PER_PACKET*N_INPUTS_PER_PACKET) #endif -#define N_FLUFFED_BYTES_PER_BLOCK ((N_PACKETS_PER_BLOCK * 8192) * 2) +#define N_FLUFFED_BYTES_PER_BLOCK ((N_PACKETS_PER_BLOCK * N_BYTES_PER_PACKET) * 2) #define N_FLUFFED_WORDS_PER_BLOCK (N_FLUFFED_BYTES_PER_BLOCK / 8) // Number of floats in xGPU's "register tile order" output matrix. @@ -67,15 +69,7 @@ // the network thread will be different size/format. Also changed is the // number of time samples per packet i(and therefore per mcount). The HERA // specific sizing parameters are given here, but they are all prefixed with -// "HERA_" to disambiguate them from the non-prefixed PAPER versions. - -// HERA_N_BYTES_PER_PACKET excludes header (and footer)! -#define HERA_N_BYTES_PER_PACKET (1024) -#define HERA_N_INPUTS_PER_PACKET (2) -#define HERA_N_CHAN_PER_PACKET (16) -// Derived from above quantities -#define HERA_N_TIME_PER_PACKET (HERA_N_BYTES_PER_PACKET/HERA_N_INPUTS_PER_PACKET/HERA_N_CHAN_PER_PACKET) /* * INPUT BUFFER STRUCTURES */ @@ -94,47 +88,6 @@ typedef uint8_t paper_input_header_cache_alignment[ CACHE_ALIGNMENT - (sizeof(paper_input_header_t)%CACHE_ALIGNMENT) ]; -// == paper_databuf_input_t == -// -// For PAPER: -// -// * Net thread output -// * Fluffer thread input -// * Ordered sequence of packets in "data" field: -// -// +-- mcount -// | +-- fid -// | | |<-packet->| -// V V | | -// m f |t c | -// == == |== ==| -// m0 }--> f0 }--> |t0 }--> c0| -// m1 f1 |t1 c1| -// m2 f2 |t2 c2| -// : : |: : | -// == == == == -// Nm Nf Nt Nc -// -// Each 8 byte word represents eight complex inputs. -// Each byte is a 4bit+4bit complex value. -// -// m = packet's mcount - block's first mcount -// f = packet's FID -// t = time sample within packet -// c = channel within time sample within packet -// Nt * Nc == packet's payload - -#define Nm (N_TIME_PER_BLOCK/N_TIME_PER_PACKET) -#define Nf N_FENGINES -#define Nt N_TIME_PER_PACKET -#define Nc N_CHAN_PER_PACKET - -// Computes paper_input_databuf_t data word (uint64_t) offset for complex data -// word corresponding to the given parameters. -// NB: N_INPUTS_PER_FENGINE must be multiple of sizeof(uint64_t) -#define paper_input_databuf_data_idx(m,f,t,c) \ - ((N_INPUTS_PER_FENGINE/sizeof(uint64_t))*(c+Nc*(t+Nt*(f+Nf*m)))) - // For HERA: // // * HERA net thread output @@ -171,10 +124,10 @@ typedef uint8_t paper_input_header_cache_alignment[ // c = channel within within X engine // t = time sample within channel (0 to Nt-1) -#define HERA_Nm (N_TIME_PER_BLOCK/HERA_N_TIME_PER_PACKET) -#define HERA_Na N_ANTS -#define HERA_Nc N_CHAN_PER_X -#define HERA_Nt HERA_N_TIME_PER_PACKET +#define Nm (N_TIME_PER_BLOCK/N_TIME_PER_PACKET) +#define Na N_ANTS +#define Nc N_CHAN_PER_X +#define Nt N_TIME_PER_PACKET // HERA mcount index = m * Na * Nc * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) // HERA ant index = a * Nc * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) @@ -182,8 +135,10 @@ typedef uint8_t paper_input_header_cache_alignment[ // // Computes paper_input_databuf_t data word (uint64_t) offset for complex data // word corresponding to the given parameters for HERA F engine packets. -#define hera_input_databuf_data_idx(m,a,c) \ - (((m * HERA_Na + a) * HERA_Nc + c) * HERA_Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t)) + +#define paper_input_databuf_data_idx(m,a,c,t) \ + (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(uint64_t)) +//TODO (((((m * Na + a) * (Nc) + c)*Nt + t) * N_INPUTS_PER_PACKET) / sizeof(uint64_t)) typedef struct paper_input_block { paper_input_header_t header; @@ -206,7 +161,7 @@ typedef struct paper_input_databuf { * GPU INPUT BUFFER STRUCTURES */ -#define N_GPU_INPUT_BLOCKS 2 +#define N_GPU_INPUT_BLOCKS 4 // == paper_gpu_input_databuf_t == // @@ -224,7 +179,7 @@ typedef struct paper_input_databuf { // m2 t2 c2 f2 // : : : : // == == == == -// Nm Nt Nc Nf +// Nm Nt Nc Na // // Each group of eight 8 byte words (i.e. every 64 bytes) contains thirty-two // 8bit+8bit complex inputs (8 inputs * four F engines) using complex block @@ -233,8 +188,8 @@ typedef struct paper_input_databuf { // Returns word (uint64_t) offset for real input data word (8 inputs) // corresponding to the given parameters. Corresponding imaginary data word is // 1 word later (complex block size 1). -#define paper_gpu_input_databuf_data_idx(m,f,t,c) \ - (f+2*Nf*(c+Nc*(t+Nt*m))) +#define paper_gpu_input_databuf_data_idx(m,a,t,c) \ + (m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a typedef struct paper_gpu_input_block { paper_input_header_t header; diff --git a/src/paper_fake_net_thread.c b/src/paper_fake_net_thread.c index 6853e1e7..3f5224ba 100644 --- a/src/paper_fake_net_thread.c +++ b/src/paper_fake_net_thread.c @@ -74,7 +74,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_unlock_safe(&st); // Fill in sub-block headers - for(i=0; iblock[block_idx].header.good_data = 1; db->block[block_idx].header.mcnt = mcnt; mcnt+=Nm; diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index 685ec080..a094c9cd 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -47,7 +47,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_lock_safe(&st); hputs(st.buf, "INTSTAT", "off"); hputi8(st.buf, "INTSYNC", 0); - hputi4(st.buf, "INTCOUNT", N_SUB_BLOCKS_PER_INPUT_BLOCK); + hputi4(st.buf, "INTCOUNT", 1); hputi8(st.buf, "GPUDUMPS", 0); hgeti4(st.buf, "GPUDEV", &gpu_dev); // No change if not found hputi4(st.buf, "GPUDEV", gpu_dev); @@ -144,7 +144,8 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hgeti4(st.buf, "INTCOUNT", &int_count); hashpipe_status_unlock_safe(&st); // Compute last mcount - last_mcount = start_mcount + (int_count-1) * N_SUB_BLOCKS_PER_INPUT_BLOCK; + last_mcount = start_mcount + (int_count-N_TIME_PER_BLOCK);// * N_SUB_BLOCKS_PER_INPUT_BLOCK; + fprintf(stderr, "Accumulating to mcount: %lu\n", last_mcount); // Else (missed starting mcount) } else { // Handle missed start of integration @@ -225,7 +226,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_unlock_safe(&st); } else { // Advance last_mcount for end of next integration - last_mcount += int_count * N_SUB_BLOCKS_PER_INPUT_BLOCK; + last_mcount += int_count;// * N_SUB_BLOCKS_PER_INPUT_BLOCK; } // Mark output block as full and advance From 11277a12bd6f0a3ac8fc9b6dfbfc8a95196d623c Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 14 Feb 2018 14:20:00 -0800 Subject: [PATCH 037/420] Decrease inter-packet delay --- src/paper_gpu_output_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/paper_gpu_output_thread.c b/src/paper_gpu_output_thread.c index 843e0823..9e36b6fe 100644 --- a/src/paper_gpu_output_thread.c +++ b/src/paper_gpu_output_thread.c @@ -195,7 +195,7 @@ static XGPUInfo xgpu_info; // 10 megabit per second = 100 nanosecond per bit //#define PACKET_DELAY_NS (4 * 10 * 8 * BYTES_PER_PACKET) // Really trickle it out... -#define PACKET_DELAY_NS (100 * 8 * BYTES_PER_PACKET) +#define PACKET_DELAY_NS (10*8 * BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; From 72af409620c275ba819c59396df32444619f1623 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 14 Feb 2018 14:21:13 -0800 Subject: [PATCH 038/420] Add some environment config / status scripts --- print-nic-stats.sh | 6 +++++ tweak-perf.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100755 print-nic-stats.sh create mode 100755 tweak-perf.sh diff --git a/print-nic-stats.sh b/print-nic-stats.sh new file mode 100755 index 00000000..c6a558e3 --- /dev/null +++ b/print-nic-stats.sh @@ -0,0 +1,6 @@ +#! /bin/bash + +ethtool -S eth2 | grep rx_dropped +ethtool -S eth2 | grep vport_dropped +ethtool -S eth2 | grep rx_fifo_errors +ethtool -S eth2 | grep rx_missed_errors diff --git a/tweak-perf.sh b/tweak-perf.sh new file mode 100755 index 00000000..aa307733 --- /dev/null +++ b/tweak-perf.sh @@ -0,0 +1,57 @@ +#! /bin/bash + +# Set high performance mode +for i in `ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`; do echo performance > $i; done + +# Set mtu +ifconfig eth3 mtu 3200 +ifconfig eth5 mtu 3200 + +# Turn on pause requests +ethtool -A eth3 rx on +ethtool -A eth5 rx on + +# Kernel buffer sizes +sysctl net.core.rmem_max=8388608 +sysctl net.core.rmem_default=8388608 + +# Kill packets before the IP stack +iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP +iptables -t raw -A PREROUTING -i eth5 -p udp -j DROP + +# Set interrupt coalescing +ethtool -C eth3 adaptive-rx off +ethtool -C eth3 rx-frames 8 +ethtool -C eth3 rx-usecs 0 +ethtool -C eth5 adaptive-rx off +ethtool -C eth5 rx-frames 8 +ethtool -C eth5 rx-usecs 0 + +# Set ring sizes to max +ethtool -G eth3 rx 8192 +ethtool -G eth5 rx 8192 + +# Set Receiver Side Steering +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 4 loc 2 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 5 loc 3 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 5 loc 4 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.201 m 0.0.0.0 action 6 loc 5 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.109 m 0.0.0.0 action 6 loc 6 +# Dump everything else on CPU7 (there shouldn't be much) +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.1 m 255.255.255.255 action 4 loc 7 + +ethtool -U eth5 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 12 loc 1 +ethtool -U eth5 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 12 loc 2 +ethtool -U eth5 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 13 loc 3 +ethtool -U eth5 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 13 loc 4 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.201 m 0.0.0.0 action 14 loc 5 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.109 m 0.0.0.0 action 14 loc 6 +# Dump everything else on CPU7 (there shouldn't be much) +ethtool -U eth5 flow-type udp4 src-ip 10.0.10.1 m 255.255.255.255 action 15 loc 7 + + From 68da5a877bd27ebecac08be694e5386a8c3b9e0a Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 30 Apr 2018 12:15:30 -0700 Subject: [PATCH 039/420] Update net/fluff thread for 8k firmware. Untested --- src/hera_pktsock_thread.c | 15 +-- src/paper_databuf.h | 42 +++----- src/paper_fluff.c | 221 +++++++++++++++++++++----------------- 3 files changed, 151 insertions(+), 127 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 2b2b0b0a..afc21f0f 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -355,6 +355,7 @@ static inline uint64_t process_packet( packet_header_t pkt_header; const uint64_t *payload_p; int pkt_block_i; + int i; uint64_t *dest_p; int64_t pkt_mcnt_dist; uint64_t pkt_mcnt; @@ -460,14 +461,16 @@ static inline uint64_t process_packet( return -1; } - // Calculate starting points for unpacking this packet into block's data buffer. - dest_p = paper_input_databuf_p->block[pkt_block_i].data - + paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0); //time index is always zero - //fprintf(stdout, "m:%d, a:%d, c:%d, %lu\n", binfo.m, binfo.a, binfo.c, paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0)); - payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8); // Copy data into buffer - memcpy(dest_p, payload_p, N_BYTES_PER_PACKET); + for(i=0; iblock[pkt_block_i].data + + paper_input_databuf_data_idx(binfo.m, binfo.a + i, binfo.c, 0); //time index is always zero + //fprintf(stdout, "m:%d, a:%d, c:%d, %lu\n", binfo.m, binfo.a, binfo.c, paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0)); + payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8+(i*2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET)); + memcpy(dest_p, payload_p, 2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET); + } return netmcnt; } diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 7b463dff..2685d667 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -6,15 +6,16 @@ #include "config.h" // Determined by F engine -#define N_CHAN_TOTAL 1536 +#define N_CHAN_TOTAL 6144 +#define N_FENGINES 208 +#define N_CHAN_PER_F N_CHAN_TOTAL // Determined by F engine packetizer -//TODO#define N_INPUTS_PER_PACKET 2 #define N_INPUTS_PER_PACKET 6 +#define N_CHAN_PER_PACKET 384 +#define N_TIME_PER_PACKET 2 // N_BYTES_PER_PACKET excludes header! -//TODO#define N_BYTES_PER_PACKET (1024) -#define N_BYTES_PER_PACKET (3072) -//TODO#define N_BYTES_PER_PACKET (3072) +#define N_BYTES_PER_PACKET (N_INPUTS_PER_PACKET*N_CHAN_PER_PACKET*N_TIME_PER_PACKET) // X engine sizing (from xGPU) #define N_ANTS XGPU_NSTATION @@ -23,11 +24,6 @@ #define N_CHAN_PER_X XGPU_NFREQUENCY // Derived from above quantities -#define N_FENGINES 208 -#define N_CHAN_PER_F 1536 -#define N_CHAN_PER_PACKET 16 -//TODO#define N_CHAN_PER_PACKET 48 -#define N_TIME_PER_PACKET 32 //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / N_TIME_PER_PACKET) //#define N_SUB_BLOCKS_PER_INPUT_BLOCK N_TIME_PER_BLOCK //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) @@ -49,26 +45,17 @@ #define PAGE_SIZE (4096) #define CACHE_ALIGNMENT (128) -// The HERA correlator is based largely on the PAPER correlator. The first -// generation HERA array will match the sizing of the PSA128 (or PSA256 if you -// count by inputs rather than antennas) correlator. In fact, it will use the -// same XGPU build as the last generation PAPER correlator. The main +// The HERA correlator is based largely on the PAPER correlator. The main // difference will be in the F engines. The ROACH2 based F engines are being // replaced by SNAP based F engines. Because SNAPs have a different number of -// inputs, the F engine packet format must change. Because SNAPs handle a -// non-power-of-2 number of inputs (6), the most generic solution is to put -// each antenna (pair of inputs) into a packet. Fears of small packets have -// eased somewhat (thanks to interrupt coalescing), so the HERA F engine -// packets are now also smaller (1 KB instead of 8 KB). The main message is -// that HERA F engine packets are quite different from the PAPER F engine -// packets. Even though the X engines are the same, the network thread and the +// inputs, the F engine packet format must change. +// Even though the X engines are the same, the network thread and the // fluffing threads for HERA are somewhat different. The data buffer format // for the GPU thread's input buffer is exactly the same. The fluffing // thread's input buffer is therefore sized the same (i.e. half the size of the -// GPU input buffer), but the format is different since the packet's stored by +// GPU input buffer), but the format is different since the packets stored by // the network thread will be different size/format. Also changed is the -// number of time samples per packet i(and therefore per mcount). The HERA -// specific sizing parameters are given here, but they are all prefixed with +// number of time samples per packet i(and therefore per mcount). /* * INPUT BUFFER STRUCTURES @@ -138,6 +125,8 @@ typedef uint8_t paper_input_header_cache_alignment[ #define paper_input_databuf_data_idx(m,a,c,t) \ (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(uint64_t)) +#define paper_input_databuf_data_idx256(m,a,c,t) \ + (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(__m256i)) //TODO (((((m * Na + a) * (Nc) + c)*Nt + t) * N_INPUTS_PER_PACKET) / sizeof(uint64_t)) typedef struct paper_input_block { @@ -188,8 +177,11 @@ typedef struct paper_input_databuf { // Returns word (uint64_t) offset for real input data word (8 inputs) // corresponding to the given parameters. Corresponding imaginary data word is // 1 word later (complex block size 1). +//TODO should there me a /sizeof(uint64_t) here? and/or a factor of 4? #define paper_gpu_input_databuf_data_idx(m,a,t,c) \ - (m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a + ((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) +#define paper_gpu_input_databuf_data_idx256(m,a,t,c) \ + (4*((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) / sizeof(__m256i)) typedef struct paper_gpu_input_block { paper_input_header_t header; diff --git a/src/paper_fluff.c b/src/paper_fluff.c index c5eaec40..ccd7f12a 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -11,15 +11,6 @@ #include "paper_fluff.h" #define N_WORD128_PER_PACKET (N_BYTES_PER_PACKET/sizeof(__m128i)) -// OUTPUT_STRIDE in is units of __m256i -//#define OUTPUT_STRIDE ((2*Nf*N_INPUTS_PER_PACKET)/sizeof(__m256i)) -//#define OUTPUT_STRIDE ((2*Na)/sizeof(__m256i)) -#define OUTPUT_STRIDE 1 - -#define paper_input_databuf_data_idx256(m,a,c,t) \ - ((((m * Na + a) * Nc + c) * t) * N_INPUTS_PER_PACKET / sizeof(__m256i)) -#define paper_gpu_input_databuf_data_idx256(m,a,t,c) \ - (4*((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) / sizeof(__m256i)) #if 0 typedef union { @@ -63,13 +54,24 @@ int paper_fluff_diag(const uint64_t const * const in, uint64_t * out) return 0; } - +/* + * The xGPU input buffer is time x channel x antenna x pol. Each pol input + * is a 1Byte + 1Byte complex value. + * So a 256 bit (32 Byte) chunk of memory should contain a single time/channel, + * and 16 inputs (8 antennas x dual-pol). + * + * The netthread output buffer has a shape dictated by the structure of a single + * packet. It has dimensions time x antenna x channel x times-per-packet x pol. + * Each pol is a 4bit + 4bit complex value. + * Thus, the fluffing thread has to do some gymnastics to write the GPU input buffer + * more than one antenna at a time. +*/ int paper_fluff(const uint64_t const * const in, uint64_t * out) { //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; - int m, c, t, a, i, j, k, l, n, p; + int m, ct, c, t, a, i, j, k, l, n, p, wc, wa, wt; __m256i int0, int1, outlo, int2, int3, outhi; @@ -83,92 +85,119 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) __m256i row[16], temp[16]; p_out = (__m256i *)out; - // Loop over different packets + // Loop over different time chunks for(m=0; m Date: Thu, 28 Jun 2018 14:53:13 -0700 Subject: [PATCH 040/420] Change ComplexInt type to Complex Latest xGPU with dp4a (v2.0.0) doesn't declare the ComplexInt type, instead deciding to declare Complex to be floating or integer depending whether or not the DP4A instruction is to be used --- src/paper_gpu_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index a094c9cd..8d65ec26 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -275,7 +275,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) /* * Call CPU X engine function */ - xgpuOmpXengine((ComplexInt *)db_out->block[curblock_out].data, context.array_h); + xgpuOmpXengine((Complex *)db_out->block[curblock_out].data, context.array_h); // Mark output block as full and advance paper_output_databuf_set_filled(db_out, curblock_out); From 39ef72dec6ae3cb2cff3cd40914c2c2ec86e9a72 Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 29 Jun 2018 14:43:39 -0700 Subject: [PATCH 041/420] First pass at adding fluff thread for dp4a xgpu --- src/paper_databuf.h | 40 ++--- src/paper_fluff.c | 357 +++++++++++++++++++++++++++++--------------- 2 files changed, 258 insertions(+), 139 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 2685d667..504662b9 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -156,30 +156,30 @@ typedef struct paper_input_databuf { // // * Fluffer thread output // * GPU thread input +// GPU input buffer is input[time/4][channel][station][pol][complexity][time%4] // * Multidimensional array in "data" field: // -// +--time--+ +--chan +--fid -// | | | | -// V V V V -// m t c f -// == == == == -// m0 }--> t0 }--> c0 }--> f0 -// m1 t1 c1 f1 -// m2 t2 c2 f2 -// : : : : -// == == == == -// Nm Nt Nc Na +// +--time +--chan +--fid +--complexity +--time%4 +// | | | | | +// V V V V V +// m c f r i +// == == == +// m0 }----> c0 }--> f0 }--> real }------> i0 +// m1 c1 f1 imag i1 +// m2 c2 f2 i2 +// : : : i3 +// == == == == == +// Nm*Nt/4 Nc Na 2 t%4 // -// Each group of eight 8 byte words (i.e. every 64 bytes) contains thirty-two -// 8bit+8bit complex inputs (8 inputs * four F engines) using complex block -// size 1. - -// Returns word (uint64_t) offset for real input data word (8 inputs) -// corresponding to the given parameters. Corresponding imaginary data word is -// 1 word later (complex block size 1). -//TODO should there me a /sizeof(uint64_t) here? and/or a factor of 4? +// Each group of eight bytes contains four timesamples for +// the real and imaginary part of a single ant-pol-chan + +// Returns word (uint64_t) offset for real input data word +// corresponding to the given parameters. Corresponding imaginary data +// word is 4 bytes later. Only valid for t a multiple of 4 + #define paper_gpu_input_databuf_data_idx(m,a,t,c) \ - ((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) + ((m*Nt*Nc*Na) + ((t/4)*Nc*Na*4) + (c*Na*4) + a*4) #define paper_gpu_input_databuf_data_idx256(m,a,t,c) \ (4*((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) / sizeof(__m256i)) diff --git a/src/paper_fluff.c b/src/paper_fluff.c index ccd7f12a..b5023440 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -55,25 +55,26 @@ int paper_fluff_diag(const uint64_t const * const in, uint64_t * out) } /* - * The xGPU input buffer is time x channel x antenna x pol. Each pol input - * is a 1Byte + 1Byte complex value. - * So a 256 bit (32 Byte) chunk of memory should contain a single time/channel, - * and 16 inputs (8 antennas x dual-pol). + * The xGPU input buffer is time x channel x antenna x pol x complexity x 4[samples]. Each real/imag + * input component is a 1Byte + 1Byte complex value. * * The netthread output buffer has a shape dictated by the structure of a single * packet. It has dimensions time x antenna x channel x times-per-packet x pol. * Each pol is a 4bit + 4bit complex value. * Thus, the fluffing thread has to do some gymnastics to write the GPU input buffer - * more than one antenna at a time. + * correctly. You'll probably want this to hand -- https://software.intel.com/sites/landingpage/IntrinsicsGuide/ (!) + * + * This code isn't generic anymore, it assumes that Nt = 2. Sometimes the variable Nt is used to provide + * hints about what might need changing for different Nt values. */ int paper_fluff(const uint64_t const * const in, uint64_t * out) { //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; - int m, ct, c, t, a, i, j, k, l, n, p, wc, wa, wt; + int m, c, t, a, i, j, k, n, p, wc, wa, wt; - __m256i int0, int1, outlo, int2, int3, outhi; + __m256i int0, int1, int2, int3, outx, outy; __m256i *p_in = (__m256i *)in; __m256i *p_out; @@ -81,123 +82,241 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) 0xff00ff00ff00ff00ULL, 0xff00ff00ff00ff00ULL); const __m256i masklo = _mm256_set_epi64x(0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL); + const __m256i shuffle_map = _mm256_set_epi64x(0x0f0b07030e0a0602ULL, 0x0d0905010c080400ULL, + 0x0f0b07030e0a0602ULL, 0x0d0905010c080400ULL); //__m256i row[16], temp0[16], temp1[16], temp2[16]; __m256i row[16], temp[16]; p_out = (__m256i *)out; // Loop over different time chunks - for(m=0; m Date: Fri, 29 Jun 2018 15:30:41 -0700 Subject: [PATCH 042/420] Remove fluff diagnostic (which doesn't diagnose the current fluffing code!) --- src/paper_fluff.c | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/src/paper_fluff.c b/src/paper_fluff.c index b5023440..6f0a9b0a 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -21,39 +21,6 @@ typedef union { #define m64(v,i) (v.m64[i]) #endif // 0 -int paper_fluff_diag(const uint64_t const * const in, uint64_t * out) -{ - const __m128i mask = _mm_set_epi64((__m64)0xf0f0f0f0f0f0f0f0ULL, (__m64)0xf0f0f0f0f0f0f0f0ULL); - - __m128i * p128_in = (__m128i *)in; - __m256i * p256_out = (__m256i *)out; - - // Load 128 bits (16 bytes) with _mm_stream_load_si128 - __m128i lo = _mm_stream_load_si128(p128_in); - - // Shift lo left by 4 bits to make hi - __m128i hi = _mm_slli_epi64(lo, 4); - - // Mask off unwanted bits - lo = _mm_and_si128(lo, mask); - hi = _mm_and_si128(hi, mask); - - // Transfer lo to lower half of __m256i variable 'out256' - // Use pragmas to avoid "uninitialized use of out256" warning/error -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wuninitialized" - __m256i out256 = _mm256_insertf128_si256(out256, lo, 0); -#pragma GCC diagnostic pop - - // Transfer hi to upper half of __m256i variable 'out256' - out256 = _mm256_insertf128_si256(out256, hi, 1); - - // Store 256 bits (32 bytes) with _mm256_stream_si256 - _mm256_stream_si256(p256_out, out256); - - return 0; -} - /* * The xGPU input buffer is time x channel x antenna x pol x complexity x 4[samples]. Each real/imag * input component is a 1Byte + 1Byte complex value. From 1b5b68a87aea861e8ce8e4fbab6c2a467ebc71a8 Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 29 Jun 2018 16:34:18 -0700 Subject: [PATCH 043/420] Cast processed bytes to float to avoid overflows The code reported it was running at 35,000,000,000 Gb/s. Unfortunately, this wasn't actually true. --- src/paper_fluff_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/paper_fluff_test.c b/src/paper_fluff_test.c index f3e35eb8..b4b01caa 100644 --- a/src/paper_fluff_test.c +++ b/src/paper_fluff_test.c @@ -4,7 +4,7 @@ #include "paper_fluff.h" -#define TEST_ITERATIONS (500) +#define TEST_ITERATIONS (100) #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) @@ -67,7 +67,7 @@ int main(int argc, char *argv[]) #ifdef DEBUG_FLUFF fluffed = paper_fluff(in, out); #else - for(j=0; j<4; j++) { + for(j=0; j<20; j++) { clock_gettime(CLOCK_MONOTONIC, &start); for(i=0; i Date: Mon, 2 Jul 2018 15:46:23 -0700 Subject: [PATCH 044/420] Fluff thread passing test Test only checks time-axis. Further tests on other axes to be implemented --- src/paper_databuf.h | 32 ++- src/paper_fluff.c | 452 +++++++++++++++++++++-------------------- src/paper_fluff_test.c | 64 +++++- 3 files changed, 322 insertions(+), 226 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 504662b9..4080b67a 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -115,6 +115,10 @@ typedef uint8_t paper_input_header_cache_alignment[ #define Na N_ANTS #define Nc N_CHAN_PER_X #define Nt N_TIME_PER_PACKET +// Number of pols = 2 +#define Np 2 +// Number of complex elements = 2 +#define Nx 2 // HERA mcount index = m * Na * Nc * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) // HERA ant index = a * Nc * Nt * HERA_N_INPUTS_PER_PACKET / sizeof(uint64_t) @@ -123,10 +127,17 @@ typedef uint8_t paper_input_header_cache_alignment[ // Computes paper_input_databuf_t data word (uint64_t) offset for complex data // word corresponding to the given parameters for HERA F engine packets. +//#define paper_input_databuf_data_idx(m,a,c,t) \ //foo +// (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(uint64_t)) #define paper_input_databuf_data_idx(m,a,c,t) \ - (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(uint64_t)) + ((((m) * Na*Nc*Nt*Np) + ((a) * Nc*Nt*Np) + ((c)*Nt*Np) + ((t)*Np)) / sizeof(uint64_t)) + +#define paper_input_databuf_data_idx8(m,a,p,c,t) \ + (((m) * Na*Nc*Nt*Np) + ((a) * Nc*Nt*Np) + ((c)*Nt*Np) + ((t)*Np) + (p)) + #define paper_input_databuf_data_idx256(m,a,c,t) \ - (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(__m256i)) + ((((((m) * Na) + (a))*Nc + (c))*Nt + (t))*Np / sizeof(__m256i)) + //((((m) * Na*Nc*Nt*Np) + ((a) * Nc*Nt*Np) + ((c)*Nt*Np) + ((t)*Np)) / sizeof(__m256i)) //TODO (((((m * Na + a) * (Nc) + c)*Nt + t) * N_INPUTS_PER_PACKET) / sizeof(uint64_t)) typedef struct paper_input_block { @@ -179,9 +190,20 @@ typedef struct paper_input_databuf { // word is 4 bytes later. Only valid for t a multiple of 4 #define paper_gpu_input_databuf_data_idx(m,a,t,c) \ - ((m*Nt*Nc*Na) + ((t/4)*Nc*Na*4) + (c*Na*4) + a*4) -#define paper_gpu_input_databuf_data_idx256(m,a,t,c) \ - (4*((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) / sizeof(__m256i)) + (((m)*Nt*Nc*Na) + (((t)/4)*Nc*Na*4) + ((c)*Na*4) + (a)*4) + +#define paper_gpu_input_databuf_data_idx8(t, c, a, p, x) \ + ((((t)>>2)*4*Nx*Np*Na*Nc) + ((c)*4*Nx*Np*Na) + ((a)*4*Np*Nx) + ((p)*4*Nx) + ((x)*4) + ((t)%4)) + +#define paper_gpu_input_databuf_data_idx256(t, c, a, p, x) \ + (((((t)>>2)*4*Nx*Np*Na*Nc) + ((c)*4*Nx*Np*Na) + ((a)*4*Np*Nx) + ((p)*4*Nx) + ((x)*4) + ((t)%4)) / sizeof(__m256i)) + +#define paper_gpu_input_databuf_data_idx_tca_256(t, c, a) \ + (((((((t)*Nc) + 4*(c))*Na + 4*(a))*Nx*Np) + (t)%4) / sizeof(__m256i)) + //(((((((t)>>2)*Nc) + (c))*Na + (a))*Nx*4*Np + ((t)%4)) / sizeof(__m256i)) + +//#define paper_gpu_input_databuf_data_idx256(m,a,t,c) \ //foo +// (4*((m*Nt*Nc*Na) + (t*Nc*Na) + (c*Na) + a) / sizeof(__m256i)) typedef struct paper_gpu_input_block { paper_input_header_t header; diff --git a/src/paper_fluff.c b/src/paper_fluff.c index 6f0a9b0a..a61543d9 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -39,7 +39,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; - int m, c, t, a, i, j, k, n, p, wc, wa, wt; + int m, c, a, i, j, k, n, p, wa; __m256i int0, int1, int2, int3, outx, outy; @@ -55,235 +55,251 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) __m256i row[16], temp[16]; p_out = (__m256i *)out; - // Loop over different time chunks - for(m=0; m Date: Mon, 2 Jul 2018 20:31:19 -0700 Subject: [PATCH 045/420] Add loop unrolling --- src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index f6335fd8..a6107f9e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,7 +6,7 @@ AM_CPPFLAGS += -I"@XGPU_INCDIR@" # AM_CFLAGS is used for all C compiles #AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native +AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -funroll-loops # Convenience variables to group source files paper_databuf = paper_databuf.h \ From c9aef0d45302ac66a52367cec9af75e8eecc0bc7 Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 2 Jul 2018 20:51:35 -0700 Subject: [PATCH 046/420] Fluffing code passes channel and time axis tests Still polarization, and complexity axes to check --- src/paper_databuf.h | 7 ++- src/paper_fluff.c | 126 ++++++++++++++++++++--------------------- src/paper_fluff_test.c | 79 +++++++++++++++++++++++++- 3 files changed, 144 insertions(+), 68 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 4080b67a..a377492b 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -189,8 +189,11 @@ typedef struct paper_input_databuf { // corresponding to the given parameters. Corresponding imaginary data // word is 4 bytes later. Only valid for t a multiple of 4 -#define paper_gpu_input_databuf_data_idx(m,a,t,c) \ - (((m)*Nt*Nc*Na) + (((t)/4)*Nc*Na*4) + ((c)*Na*4) + (a)*4) +//#define paper_gpu_input_databuf_data_idx(m,a,t,c) \ //foo +// (((m)*Nt*Nc*Na) + (((t)/4)*Nc*Na*4) + ((c)*Na*4) + (a)*4) + +#define paper_gpu_input_databuf_data_idx(t, c, a, p, x) \ + (((((t)>>2)*4*Nx*Np*Na*Nc) + ((c)*4*Nx*Np*Na) + ((a)*4*Np*Nx) + ((p)*4*Nx) + ((x)*4) + ((t)%4)) / sizeof(uint64_t)) #define paper_gpu_input_databuf_data_idx8(t, c, a, p, x) \ ((((t)>>2)*4*Nx*Np*Na*Nc) + ((c)*4*Nx*Np*Na) + ((a)*4*Np*Nx) + ((p)*4*Nx) + ((x)*4) + ((t)%4)) diff --git a/src/paper_fluff.c b/src/paper_fluff.c index a61543d9..5c448364 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -39,7 +39,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; - int m, c, a, i, j, k, n, p, wa; + int m, c, a, j, k, nn, mm, wa, wc, rn, i; __m256i int0, int1, int2, int3, outx, outy; @@ -49,10 +49,10 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) 0xff00ff00ff00ff00ULL, 0xff00ff00ff00ff00ULL); const __m256i masklo = _mm256_set_epi64x(0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL); - const __m256i shuffle_map = _mm256_set_epi64x(0x0f0b07030e0a0602ULL, 0x0d0905010c080400ULL, - 0x0f0b07030e0a0602ULL, 0x0d0905010c080400ULL); + const __m256i shuffle_map = _mm256_set_epi64x(0x0705030106040200ULL, 0x0705030106040200ULL, + 0x0705030106040200ULL, 0x0705030106040200ULL); //__m256i row[16], temp0[16], temp1[16], temp2[16]; - __m256i row[16], temp[16]; + __m256i row[8], temp[8]; p_out = (__m256i *)out; @@ -67,9 +67,9 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) * 1*[time/4] x 1 channel x 2 antennas x 2 pols x 2 complexities x 4 times * * So..... - * Let's load 2 mcounts x 4 ants x 8 chans, 2 times, 2 pols into 16 256-bit registers and transpose. + * Let's load 2 mcounts x 2 ants x 16 chans, 2 times, 2 pols into 16 256-bit registers and transpose. * Hopefully we'll end up with: - * 1*[time/4] x 8 chans x 4 ants x 2 pols x 2 complexities x 4 times, ready for the GPU buffer. + * 1*[time/4] x 16 chans x 4 ants x 2 pols x 2 complexities x 4 times, ready for the GPU buffer. */ // First loop is over time/4 (i.e., mcounts in steps of 2) @@ -89,8 +89,9 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // Ant3C[0:7]T[0:1] // Ant3C[0:7]T[2:3] for(i=0; i<8; i++) { - row[i] = _mm256_stream_load_si256(p_in + paper_input_databuf_data_idx256(m + i%Nt, a+i/Nt, c, 0)); + row[i] = _mm256_load_si256(p_in + paper_input_databuf_data_idx256(m + i%Nt, a+i/Nt, c, 0)); } + /* TRANSPOSE in blocks of 32 bits*/ for(j=0; j<4; j++) { temp[j] = _mm256_unpacklo_epi32(row[2*j], row[2*j+1]); @@ -101,37 +102,36 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) row[k+4] = _mm256_unpackhi_epi64(temp[2*k], temp[2*k+1]); } /* END TRANSPOSE -- actually we have transposed 4 4x4 blocks of the matrix. - For the full transpose we'd need an unpackX_epi128, which isn't available.*/ - - /* - Fluff each 256 bit row of the transposed matrix into - two 256-bit fluffed words. The loop here is over rows, each of which is 4 times - for a pair of antennas.. - The matrix here should be (for Nt=2): + For the full transpose we'd need an unpackX_epi128, which isn't available. + The data order here is (for Nt=2): - ANT[ 0: 1]C0T[0:3], ANT[ 0: 1]C4T[0:3] - ANT[ 0: 1]C1T[0:3], ANT[ 0: 1]C5T[0:3] + ANT[ 0: 1]C0T[0:3], ANT[ 0: 1]C4T[0:3] // 256 bits + ANT[ 2: 3]C0T[0:3], ANT[ 2: 3]C4T[0:3] ANT[ 0: 1]C2T[0:3], ANT[ 0: 1]C6T[0:3] - ANT[ 0: 1]C3T[0:3], ANT[ 0: 1]C7T[0:3] + ANT[ 2: 3]C2T[0:3], ANT[ 2: 3]C6T[0:3] - ANT[ 2: 3]C0T[0:3], ANT[ 2: 3]C4T[0:3] + ANT[ 0: 1]C1T[0:3], ANT[ 0: 1]C5T[0:3] ANT[ 2: 3]C1T[0:3], ANT[ 2: 3]C5T[0:3] - ANT[ 2: 3]C2T[0:3], ANT[ 2: 3]C6T[0:3] + ANT[ 0: 1]C3T[0:3], ANT[ 0: 1]C7T[0:3] ANT[ 2: 3]C3T[0:3], ANT[ 2: 3]C7T[0:3] */ + /* We still need to swizzle the blocks of 32 bits. - They are currently time x pol x complexity - We require pol x complexity x time + They are currently ant x chan x time x pol x complexity + We require chan x ant x pol x complexity x time And we must fluff each real/imag component to 8 bits */ - // Separate into the top and bottom sections. Make the inner loop over antennas, - // So that writes to the RAM are close to sequential - for(n=0; n<4; n++) { // Loop over chans - for(p=0; p<2; p++) { // Loop over pairs of antennas - wa = p * 2; // antenna offset. I.e., antenna being processed is a+wa + //unsigned long long foo0[4]; + //unsigned long long foo1[4]; + // Loop over rows. For convenience separate out into top and bottom of matrix + for(nn=0; nn<2; nn++) { // Loop over two blocks (top and bottom) + for(mm=0; mm<4; mm++) { // Loop over 4 rows per block + rn = 4*nn + mm; // row number + wa = (mm%2) * 2; // antenna offset. I.e., antenna being processed is a+wa + wc = nn + 2*(mm/2); // channel offset. I.e., channel being processed is c+wc // fluff and load // shift so that we have four bitvectors, where the top 4 bits // of each 16-bit word are consecutive values @@ -152,7 +152,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T1xr, A1C4T1xi, A1C4T1yr, A1C4T1yi // A1C4T2xr, A1C4T2xi, A1C4T2yr, A1C4T2yi // A1C4T3xr, A1C4T3xi, A1C4T3yr, A1C4T3yi - int0 = row[4*p + n]; + int0 = row[rn]; // eg, for n=0, p=0; int1 is: // A0C0T0xi, A0C0T0yr, A0C0T0yi, 00000000 // 16-bits // A0C0T1xi, A0C0T1yr, A0C0T1yi, 00000000 @@ -170,7 +170,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T1xi, A1C4T1yr, A1C4T1yi, 00000000 // A1C4T2xi, A1C4T2yr, A1C4T2yi, 00000000 // A1C4T3xi, A1C4T3yr, A1C4T3yi, 00000000 - int1 = _mm256_slli_epi16(row[4*p + n], 4); + int1 = _mm256_slli_epi16(row[rn], 4); // eg, for n=0, p=0; int2 is: // A0C0T0yr, A0C0T0yi, 00000000, 00000000 // 16-bits // A0C0T1yr, A0C0T1yi, 00000000, 00000000 @@ -188,7 +188,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T1yr, A1C4T1yi, 00000000, 00000000 // A1C4T2yr, A1C4T2yi, 00000000, 00000000 // A1C4T3yr, A1C4T3yi, 00000000, 00000000 - int2 = _mm256_slli_epi16(row[4*p + n], 8); + int2 = _mm256_slli_epi16(row[rn], 8); // eg, for n=0, p=0; int3 is: // A0C0T0yi, 00000000, 00000000, 00000000 // 16-bits // A0C0T1yi, 00000000, 00000000, 00000000 @@ -206,32 +206,33 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T1yi, 00000000, 00000000, 00000000 // A1C4T2yi, 00000000, 00000000, 00000000 // A1C4T3yi, 00000000, 00000000, 00000000 - int3 = _mm256_slli_epi16(row[4*p + n], 12); + int3 = _mm256_slli_epi16(row[rn], 12); // shift down with sign extension. AKA, "fluff" // This makes the top 8 bits of the int0 and int2 values valid 8-bit signed numbers // The shift by 12 makes the lower 8-bits of the int1 and in3 values 8-bit signed numbers - // eg, for n=0, p=0; int0 is: A0C0T0xr-8b, A0C0T0xi, A0C0T0yr ... + // eg, for rn=0; int0 is: A0C0T[0:3]xr-8b, ..., A1C0T[0:3]xr-8b, ..., A0C4T[0:3]xr-8b, ..., A1C4T[0:3]xr-8b, ..., int0 = _mm256_srai_epi16(int0, 4); - // eg, for n=0, p=0; int1 is: A0C0T0xi-16b ... + // eg, for rn=0; int1 is: A0C0T[0:3]xi-16b, ..., A1C0T[0:3]xi-16b, ..., A0C4T[0:3]xi-16b, ..., A1C4T[0:3]xi-16b, ..., int1 = _mm256_srai_epi16(int1, 12); - // eg, for n=0, p=0; int2 is: A0C0T0yr-8b, A0C0T0yi, 00000000 ... + // eg, for rn=0; int2 is: A0C0T[0:3]yr-8b, ..., A1C0T[0:3]yr-8b, ..., A0C4T[0:3]yr-8b, ..., A1C4T[0:3]yr-8b, ..., int2 = _mm256_srai_epi16(int2, 4); - // eg, for n=0, p=0; int3 is: A0C0T0yi-16b ... + // eg, for rn=0; int3 is: A0C0T[0:3]yi-16b, ..., A1C0T[0:3]yi-16b, ..., A0C4T[0:3]yi-16b, ..., A1C4T[0:3]yi-16b, ..., int3 = _mm256_srai_epi16(int3, 12); - // Mask bits, ready to AND together + // Mask all values to 8b signed ints, ready to OR together // eg, for n=0, p=0; int0 is: A0C0T0xr-8b, 8'b0 ... + // eg, for rn=0; int0 is: A0C0T[0:3]xr-8b, 8'b0, A1C0T[0:3]xr-8b, 8'b0, A0C4T[0:3]xr-8b, 8'b0, A1C4T[0:3]xr-8b, 8'b0, int0 = _mm256_and_si256(int0, maskhi); - // eg, for n=0, p=0; int1 is: 8'b0, A0C0T0xi-8b ... + // eg, for rn=0; int1 is: 8'b0, A0C0T[0:3]xi-8b, 8'b0, A1C0T[0:3]xi-8b, 8'b0, A0C4T[0:3]xi-8b, 8'b0, A1C4T[0:3]xi-8b, int1 = _mm256_and_si256(int1, masklo); - // eg, for n=0, p=0; int2 is: A0C0T0yr-8b, 8'b0 ... + // eg, for rn=0; int2 is: A0C0T[0:3]yr-8b, 8'b0, A1C0T[0:3]yr-8b, 8'b0, A0C4T[0:3]yr-8b, 8'b0, A1C4T[0:3]yr-8b, 8'b0, int2 = _mm256_and_si256(int2, maskhi); - // eg, for n=0, p=0; int3 is: 8'b0, A0C0T0yi-8b ... + // eg, for rn=0; int1 is: 8'b0, A0C0T[0:3]yi-8b, 8'b0, A1C0T[0:3]yi-8b, 8'b0, A0C4T[0:3]yi-8b, 8'b0, A1C4T[0:3]yi-8b, int3 = _mm256_and_si256(int3, masklo); // OR together pairs of vectors - // eg, for n=0, p=0; outlo is: A0C0T0xr-8b, A0C0T0xi-8b ... + // eg, for rn=0; outx is: // A0C0T0xr, A0C0T0xi // 16-bits // A0C0T1xr, A0C0T1xi // A0C0T2xr, A0C0T2xi @@ -249,7 +250,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T2xr, A1C4T2xi // A1C4T3xr, A1C4T3xi outx = _mm256_or_si256(int0, int1); - // eg, for n=0, p=0; outlo is: A0C0T0yr-8b, A0C0T0yi-8b + // eg, for rn=0; outy is: // A0C0T0yr, A0C0T0yi // 16-bits // A0C0T1yr, A0C0T1yi // A0C0T2yr, A0C0T2yi @@ -267,39 +268,34 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T2yr, A1C4T2yi // A1C4T3yr, A1C4T3yi outy = _mm256_or_si256(int2, int3); + //_mm256_stream_si256((__m256i *) foo0, outx); + //_mm256_stream_si256((__m256i *) foo1, outy); - // For a full 256-bit word (for n=0, p=0): // Interleave these to gather X and Y pols - // eg, for n=0, p=0; int0 = - // A0C0T0 [x/y][r/i] // 32-bits - // A0C0T1 [x/y][r/i] - // A0C0T2 [x/y][r/i] - // A0C0T3 [x/y][r/i] - // A1C0T0 [x/y][r/i] - // A1C0T1 [x/y][r/i] - // A1C0T2 [x/y][r/i] - // A1C0T3 [x/y][r/i] - int0 = _mm256_unpacklo_epi16(outx, outy); - // eg, for n=0, p=0; int1 = - // A0C4T0 [x/y][r/i] // 32-bits - // A0C4T1 [x/y][r/i] - // A0C4T2 [x/y][r/i] - // A0C4T3 [x/y][r/i] - // A1C4T0 [x/y][r/i] - // A1C4T1 [x/y][r/i] - // A1C4T2 [x/y][r/i] - // A1C4T3 [x/y][r/i] - int1 = _mm256_unpackhi_epi16(outx, outy); + // and separate out the two channels. + // and can be fixed later with a bit shuffle + // eg, for rn=0 int0 = + // A[0:1]C0[x/y]T[0:3][r/i] // 256-bits + int0 = _mm256_permute2x128_si256(outx, outy, 0x20); //channel 0 + //int0 = _mm256_unpacklo_epi32(outx, outy); + // eg, for rn=0, int1 = + // A[0:1]C4[x/y]T[0:3][r/i] // 256-bits + int1 = _mm256_permute2x128_si256(outx, outy, 0x31); //channel 4 + //int1 = _mm256_unpackhi_epi32(outx, outy); // Finally perform a bytewise transpose using a shuffle - // Outputs are now ordered pol x complexity x time ([ants 0..1][real/imag][time 0..3]) + // Outputs are ordered 2-antenna x 1-chan x 2-pol x 4-time x 2-complexity + // We want 1-chan x 2-antenna x 2-pol x complexity x 4-time ([ants 0..1][real/imag][time 0..3]) int0 = _mm256_shuffle_epi8(int0, shuffle_map); // Channel 0 int1 = _mm256_shuffle_epi8(int1, shuffle_map); // Channel 4 // Store these two 256-bit words with _mm256_stream_si256 - //fprintf(stdout, "m:%d, a:%d, c:%d, t:%d, word1: %d, word2: %d\n", m,a,c,t,paper_gpu_input_databuf_data_idx(m,16*a+8*p,t+n,c), paper_gpu_input_databuf_data_idx(m,16*a+8*p,t+n+8,c)); - _mm256_stream_si256(p_out + paper_gpu_input_databuf_data_idx_tca_256(Nt*m, c+n, a+wa), int0); - _mm256_stream_si256(p_out + paper_gpu_input_databuf_data_idx_tca_256(Nt*m, c+n+4, a+wa), int1); + _mm256_stream_si256(p_out + paper_gpu_input_databuf_data_idx_tca_256(Nt*m, c+wc, a+wa), int0); + _mm256_stream_si256(p_out + paper_gpu_input_databuf_data_idx_tca_256(Nt*m, c+wc+4, a+wa), int1); + //_mm256_stream_si256((__m256i *) foo0, int0); + //_mm256_stream_si256((__m256i *) foo1, int1); + //printf("Writing int0: t:%04d, c:%03d, a:%03d, Val: 0x%016llx_%016llx_%016llx_%016llx\n", Nt*m, c+wc, a+wa, foo0[0], foo0[1], foo0[2], foo0[3]); + //printf("Writing int1: t:%04d, c:%03d, a:%03d, Val: 0x%016llx_%016llx_%016llx_%016llx\n", Nt*m, c+wc+4, a+wa, foo1[0], foo1[1], foo1[2], foo1[3]); } } } diff --git a/src/paper_fluff_test.c b/src/paper_fluff_test.c index 176e71dd..d01a5bff 100644 --- a/src/paper_fluff_test.c +++ b/src/paper_fluff_test.c @@ -13,7 +13,7 @@ #define N_WORDS_PER_BLOCK_OUT (2*N_WORDS_PER_BLOCK_IN) #define N_WORDS_PER_PACKET (N_BYTES_PER_PACKET/sizeof(uint64_t)) -void fluff_check() +void fluff_check_time() { /* The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity @@ -69,6 +69,81 @@ void fluff_check() } } +void fluff_check_chan() +{ + /* + The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + Each real+imag sample is 8-bits + Make a test input vector to test each of these elements: + complexity-test : all real parts 1, all imag parts 2 + time-test : each 4+4 bit time sample increments by 1, starting at 0, wrapping at 16 + channel-test: each 4+4 bit channel increments by 1, starting at 0, wrapping at 16 + antenna-test: each 4+4 bit ant-pol sample increments by 1, wrapping at 256 + */ + uint64_t *in, *out; + int m, a, p, c, t, x; + if(posix_memalign((void **)&in, CACHE_ALIGNMENT, N_BYTES_PER_BLOCK) + || posix_memalign((void **)&out, CACHE_ALIGNMENT, 2*N_BYTES_PER_BLOCK)) { + printf("cannot allocate memory\n"); + return; + } + // Time test + for (m=0; m Date: Tue, 3 Jul 2018 15:03:08 -0700 Subject: [PATCH 047/420] Fluff thread passes full TVG suite -- complexity ordering -- antenna ordering -- polarization ordering -- time ordering and, most importantly, randomly generated tvg inputs. test code reports the fluff thread runs at ~42Gb/s (input rate) --- src/paper_fluff.c | 22 ++-- src/paper_fluff_test.c | 267 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 275 insertions(+), 14 deletions(-) diff --git a/src/paper_fluff.c b/src/paper_fluff.c index 5c448364..c44fd9d8 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -49,8 +49,8 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) 0xff00ff00ff00ff00ULL, 0xff00ff00ff00ff00ULL); const __m256i masklo = _mm256_set_epi64x(0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL, 0x00ff00ff00ff00ffULL); - const __m256i shuffle_map = _mm256_set_epi64x(0x0705030106040200ULL, 0x0705030106040200ULL, - 0x0705030106040200ULL, 0x0705030106040200ULL); + const __m256i shuffle_map = _mm256_set_epi64x(0x0f0d0b090e0c0a08ULL, 0x0705030106040200ULL, + 0x0f0d0b090e0c0a08ULL, 0x0705030106040200ULL); //__m256i row[16], temp0[16], temp1[16], temp2[16]; __m256i row[8], temp[8]; @@ -268,23 +268,23 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) // A1C4T2yr, A1C4T2yi // A1C4T3yr, A1C4T3yi outy = _mm256_or_si256(int2, int3); - //_mm256_stream_si256((__m256i *) foo0, outx); - //_mm256_stream_si256((__m256i *) foo1, outy); // Interleave these to gather X and Y pols // and separate out the two channels. // and can be fixed later with a bit shuffle // eg, for rn=0 int0 = - // A[0:1]C0[x/y]T[0:3][r/i] // 256-bits - int0 = _mm256_permute2x128_si256(outx, outy, 0x20); //channel 0 - //int0 = _mm256_unpacklo_epi32(outx, outy); + // [x/y]A[0:1]C0T[0:3][r/i] // 256-bits + int0 = _mm256_permute2x128_si256(outx, outy, 0x02); //channel 0 + // and then make A[0:1][x/y]C0T[0:3][r/i] // 256-bits + int0 = _mm256_permute4x64_epi64(int0, 0xd8); //channel 0 // eg, for rn=0, int1 = - // A[0:1]C4[x/y]T[0:3][r/i] // 256-bits - int1 = _mm256_permute2x128_si256(outx, outy, 0x31); //channel 4 - //int1 = _mm256_unpackhi_epi32(outx, outy); + // [x/y]A[0:1]C4T[0:3][r/i] // 256-bits + int1 = _mm256_permute2x128_si256(outx, outy, 0x13); //channel 4 + // and then make A[0:1][x/y]C4T[0:3][r/i] // 256-bits + int1 = _mm256_permute4x64_epi64(int1, 0xd8); //channel 0 // Finally perform a bytewise transpose using a shuffle - // Outputs are ordered 2-antenna x 1-chan x 2-pol x 4-time x 2-complexity + // Outputs are ordered 2-pol x 2-antenna x 1-chan x 4-time x 2-complexity // We want 1-chan x 2-antenna x 2-pol x complexity x 4-time ([ants 0..1][real/imag][time 0..3]) int0 = _mm256_shuffle_epi8(int0, shuffle_map); // Channel 0 int1 = _mm256_shuffle_epi8(int1, shuffle_map); // Channel 4 diff --git a/src/paper_fluff_test.c b/src/paper_fluff_test.c index d01a5bff..78200670 100644 --- a/src/paper_fluff_test.c +++ b/src/paper_fluff_test.c @@ -13,6 +13,196 @@ #define N_WORDS_PER_BLOCK_OUT (2*N_WORDS_PER_BLOCK_IN) #define N_WORDS_PER_PACKET (N_BYTES_PER_PACKET/sizeof(uint64_t)) +void fluff_check_random() +{ + /* + The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + Each real+imag sample is 8-bits + Make a test input vector to test each of these elements: + complexity-test : all real parts 1, all imag parts 2 + time-test : each 4+4 bit time sample increments by 1, starting at 0, wrapping at 256 + channel-test: each 4+4 but channel increments by 1, starting at 0, wrapping at 256 + antenna-test: each 4+4 bit ant-pol sample increments by 1, wrapping at 256 + random-test: write in random integers between +/- 7 + */ + uint64_t *in, *out; + uint8_t tv_in; + int8_t real, imag, real_in, imag_in; + int m, a, p, c, t; + if(posix_memalign((void **)&in, CACHE_ALIGNMENT, N_BYTES_PER_BLOCK) + || posix_memalign((void **)&out, CACHE_ALIGNMENT, 2*N_BYTES_PER_BLOCK)) { + printf("cannot allocate memory\n"); + return; + } + + srand(0x1234); + + printf("Running random number test..."); + for (m=0; m> 4) & 0xf; + imag_in = tv_in & 0xf; + if (real_in > 7) { + real_in = real_in - 16; + } + if (imag_in > 7) { + imag_in = imag_in - 16; + } + if (real_in != real) { + errs++; + //printf("real in: %d. real out: %d, 0x%x\n", real_in, real, tv_in); + } + if (imag_in != imag) { + //printf("imag in: %d. imag out: %d, 0x%x\n", imag_in, imag, tv_in); + errs++; + } + } + } + } + } + if (errs == 0) { + printf("PASSED\n"); + } else { + printf("FAILED with %d errors\n", errs); + } +} + +void fluff_check_complexity() +{ + /* + The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + Each real+imag sample is 8-bits + Make a test input vector to test each of these elements: + complexity-test : all real parts 1, all imag parts 2 + time-test : each 4+4 bit time sample increments by 1, starting at 0, wrapping at 256 + channel-test: each 4+4 but channel increments by 1, starting at 0, wrapping at 256 + antenna-test: each 4+4 bit ant-pol sample increments by 1, wrapping at 256 + */ + uint64_t *in, *out; + int m, a, p, c, t, x; + if(posix_memalign((void **)&in, CACHE_ALIGNMENT, N_BYTES_PER_BLOCK) + || posix_memalign((void **)&out, CACHE_ALIGNMENT, 2*N_BYTES_PER_BLOCK)) { + printf("cannot allocate memory\n"); + return; + } + // Time test + for (m=0; m Date: Wed, 11 Jul 2018 17:54:31 -0700 Subject: [PATCH 048/420] Integrate TIME_DEMUX parameter For HERA, TIME_DEMUX=2 (even/odd blocks of data are split between two distinct correlators) Using this parameter, rather than messing with the definition of MCNT, means that MCNTs in each correlator reflect the spectrum index they are processing. I.e., the spectrum index of the "even" correlator will have blocks with different MCNTs to the "odd" correlator. This should be taken into account when setting the start integration of each correlator. A first-pass python script to trigger integration starts (a la paper_ctl.rb) has been added. It doesn't (yet) have a flag to figure out if it should be setting the starting MCNT to the even or odd correlator. --- src/hera_pktsock_thread.c | 41 +++++++++--------- src/paper_ctl.py | 82 +++++++++++++++++++++++++++++++++++ src/paper_databuf.h | 8 +++- src/paper_fake_net_thread.c | 39 +++++++++-------- src/paper_gpu_output_thread.c | 2 +- src/paper_gpu_thread.c | 4 +- src/paper_init.sh | 12 ++--- src/xtor_up.sh | 12 ++--- 8 files changed, 145 insertions(+), 55 deletions(-) create mode 100755 src/paper_ctl.py diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index afc21f0f..a24863b1 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -36,7 +36,7 @@ //#define PKTSOCK_FRAMES_PER_BLOCK (8) //#define PKTSOCK_NBLOCKS (800) //#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) -#define PKTSOCK_BYTES_PER_FRAME (3328) +#define PKTSOCK_BYTES_PER_FRAME (4864) #define PKTSOCK_FRAMES_PER_BLOCK (128) #define PKTSOCK_NBLOCKS (5000) #define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) @@ -111,7 +111,7 @@ static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { // Returns physical block number for given mcnt static inline int block_for_mcnt(uint64_t mcnt) { - return (mcnt / N_TIME_PER_BLOCK) % N_INPUT_BLOCKS; + return ((mcnt / TIME_DEMUX) / N_TIME_PER_BLOCK) % N_INPUT_BLOCKS; } #ifdef LOG_MCNTS @@ -160,8 +160,8 @@ static inline void get_header (unsigned char *p_frame, packet_header_t * pkt_hea //pkt_header->time = (raw_header >> 27) & ((1L<<37)-1); //pkt_header->mcnt = pkt_header->time >> 5; //pkt_header->mcnt = (raw_header >> 32) & 0xffffffff; - pkt_header->mcnt = (raw_header >> 27) & ((1L<<37)-1); - pkt_header->chan = (raw_header >> 16) & ((1<<11)-1); + pkt_header->mcnt = (raw_header >> 29) & ((1L<<35)-1); + pkt_header->chan = (raw_header >> 16) & ((1<<13)-1); pkt_header->ant = raw_header & ((1<<16)-1); #endif @@ -237,11 +237,12 @@ static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, b // Calculate missing packets. block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + //fprintf(stderr, "Packets in block %d: %d, N_PACKETS_PER_BLOCK: %d, N_PACKETS_PER_BLOCK_PER_F: %d, mod_cnt: %d\n", block_i, binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK, N_PACKETS_PER_BLOCK_PER_F, block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F); // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we // are missing one or more F engines. Any missed packets beyond an // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered // as dropped packets. - block_missed_feng = block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; + block_missed_feng = N_INPUTS_PER_PACKET / 2 * block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; // Reinitialize our XID to -1 (unknown until read from status buffer) @@ -283,7 +284,7 @@ static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_ } //binfo->t = pkt_header->time; - binfo->m = (pkt_header->mcnt % N_TIME_PER_BLOCK) / N_TIME_PER_PACKET; + binfo->m = ((pkt_header->mcnt/TIME_DEMUX) % N_TIME_PER_BLOCK) / N_TIME_PER_PACKET; binfo->a = pkt_header->ant; binfo->c = pkt_header->chan % Nc; @@ -295,7 +296,7 @@ static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_ // This allows packets to be two full databufs late without being considered // out of sequence. -#define LATE_PKT_MCNT_THRESHOLD (2*N_TIME_PER_BLOCK*N_INPUT_BLOCKS) +#define LATE_PKT_MCNT_THRESHOLD (2*TIME_DEMUX*N_TIME_PER_BLOCK*N_INPUT_BLOCKS) // Initialize a block by clearing its "good data" flag and saving the first // (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a @@ -335,7 +336,7 @@ static inline void initialize_block_info(block_info_t * binfo) // On startup mcnt_start will be zero and mcnt_log_late will be Nm. binfo->mcnt_start = 0; - binfo->mcnt_log_late = N_TIME_PER_BLOCK; + binfo->mcnt_log_late = N_TIME_PER_BLOCK*TIME_DEMUX; binfo->block_i = 0; binfo->out_of_seq_cnt = 0; @@ -399,8 +400,8 @@ static inline uint64_t process_packet( //fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, // pkt_header.time, pkt_header.ant, pkt_header.chan); //if(pkt_header.ant==0){ - // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, - // pkt_header.time, pkt_header.ant, pkt_header.chan); + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d, block:%d \n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan, pkt_block_i); //} //if(pkt_header.ant==69){ // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, @@ -412,16 +413,16 @@ static inline uint64_t process_packet( //} // We expect packets for the current block, the next block, and the block after. - if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*N_TIME_PER_BLOCK) { + if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*N_TIME_PER_BLOCK*TIME_DEMUX) { // If the packet is for the block after the next block (i.e. current // block + 2 blocks) - if(pkt_mcnt_dist >= 2*N_TIME_PER_BLOCK) { + if(pkt_mcnt_dist >= 2*N_TIME_PER_BLOCK*TIME_DEMUX) { // Mark the current block as filled netmcnt = set_block_filled(paper_input_databuf_p, &binfo); // Advance mcnt_start to next block - cur_mcnt += N_TIME_PER_BLOCK; - binfo.mcnt_start += N_TIME_PER_BLOCK; + cur_mcnt += N_TIME_PER_BLOCK*TIME_DEMUX; + binfo.mcnt_start += N_TIME_PER_BLOCK*TIME_DEMUX; binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; // Wait (hopefully not long!) to acquire the block after next (i.e. @@ -495,7 +496,7 @@ static inline uint64_t process_packet( if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { hashpipe_warn("hera_pktsock_thread", "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", - pkt_mcnt, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK); + pkt_mcnt, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK*TIME_DEMUX); } // Increment out-of-seq packet counter @@ -511,14 +512,14 @@ static inline uint64_t process_packet( // same databuf block as the old current mcnt. if(binfo.block_i > pkt_block_i) { // Advance pkt_mcnt to correspond to binfo.block_i - pkt_mcnt += N_TIME_PER_BLOCK*(binfo.block_i - pkt_block_i); + pkt_mcnt += TIME_DEMUX*N_TIME_PER_BLOCK*(binfo.block_i - pkt_block_i); } else if(binfo.block_i < pkt_block_i) { // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks - pkt_mcnt += N_TIME_PER_BLOCK*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); + pkt_mcnt += TIME_DEMUX*N_TIME_PER_BLOCK*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); } // Round pkt_mcnt down to nearest multiple of Nm binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%N_TIME_PER_BLOCK); - binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK; + binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK*TIME_DEMUX; binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("hera_pktsock_thread", "resetting to mcnt %012lx block %d based on packet mcnt %012lx", @@ -526,7 +527,7 @@ static inline uint64_t process_packet( // Reinitialize/recycle our two already acquired blocks with new // mcnt values. initialize_block(paper_input_databuf_p, binfo.mcnt_start); - initialize_block(paper_input_databuf_p, binfo.mcnt_start+N_TIME_PER_BLOCK); + initialize_block(paper_input_databuf_p, binfo.mcnt_start+TIME_DEMUX*N_TIME_PER_BLOCK); // Reset binfo's packet counters for these blocks. binfo.block_packet_counter[binfo.block_i] = 0; binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; @@ -665,7 +666,7 @@ static void *run(hashpipe_thread_args_t * args) // Initialize the newly acquired block initialize_block(db, 0); - initialize_block(db, N_TIME_PER_BLOCK); + initialize_block(db, N_TIME_PER_BLOCK*TIME_DEMUX); /* Read network params */ int bindport = 8511; diff --git a/src/paper_ctl.py b/src/paper_ctl.py new file mode 100755 index 00000000..5fa30b5d --- /dev/null +++ b/src/paper_ctl.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python + +import redis +import time +import argparse + +def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): + """ + Return number of MCNTs in 1 second. For HERA, but not in general, + this is the same as the number of spectra in 1 second. + sample_rate: ADC clock rate in MHz + spectra_len: Number of frequency channels in 1 F-Engine spectra (prior to any subselecting) + round_to : Output the number of mcnts per second rounded up to a multiple of this number + """ + return round_to * (int(sample_rate / (spectra_len * 2) + (round_to - 1)) // round_to) + + +parser = argparse.ArgumentParser(description='Turn on and off the HERA correlator', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) +parser.add_argument('action',type=str, + help = 'Action: "start"|"stop": start|stop the correlator.') +parser.add_argument('-n', dest='acclen', type=int, default=64*2048, + help ='Number of spectra to accumulate') +parser.add_argument('-t', dest='starttime', type=float, default=time.time()+5, + help ='UNIX time to start observations. Default is NOW+5s') +parser.add_argument('-x', dest='xhosts', type=int, default=16, + help ='Number of GPU hosts') +parser.add_argument('-i', dest='xinstances_per_host', type=int, default=2, + help ='Number of X-engine instances per GPU host') +parser.add_argument('-r', dest='redishost', type=str, default='redishost', + help ='Hostname of redis server') +args = parser.parse_args() + +if args.action not in ['start', 'stop']: + print 'Available actions are "start" and "stop"' + exit + +# Make status keys for the various X-engine instances which identify their redis entries +status_keys = [] +xinstances = args.xhosts * args.xinstances_per_host +for xhost in range(1, args.xhosts+1): + for instance in range(args.xinstances_per_host): + status_keys += ['hashpipe://px%d/%d/status' % (xhost, instance)] + +rdb = redis.Redis(args.redishost) + +if args.action == 'start': + gpumcnts = [rdb.hget(skey, 'GPUMCNT') for skey in status_keys] + + n_missing_mcnts = gpumcnts.count(None) + if n_missing_mcnts == xinstances: + print 'Could\'t find any GPUMCNT values. Cannot start' + exit + elif n_missing_mcnts > 0: + print 'WARNING: Missing GPUMCNT values from instances' % n_missing_mcnts + + # try and convert these to integers. Skip on failure (probably means the value is "None") + for i in range(len(gpumcnts)): + try: + gpumcnts[i] = int(gpumcnts[i]) + except: + pass + + # Delay before starting, in MCNTs, rounded to 4096 + time_delay = args.starttime - time.time() + delay_mcnts = 4096 * ((int(time_delay * mcnts_per_second()) + 2047) / 4096) + + # MCNT to start on. Don't need to round, becase gpumcnts has to be aligned to a block boundary + trig_mcnt = max(gpumcnts) + delay_mcnts + + print 'Current MCNTs are:', gpumcnts + print 'MCNTs per second: %.1f' % mcnts_per_second() + print 'Trigger MCNT: %d' % trig_mcnt + print 'Trigger time is %.1f seconds in the future' % time_delay + + # Use the hashpipe publish channel to update keys in all status buffers. + # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb + # for details about formatting + + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt, args.acclen) + rdb.publish("hashpipe:///set", msg) + diff --git a/src/paper_databuf.h b/src/paper_databuf.h index a377492b..a4865798 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -7,9 +7,13 @@ // Determined by F engine #define N_CHAN_TOTAL 6144 -#define N_FENGINES 208 +#define N_FENGINES 192 #define N_CHAN_PER_F N_CHAN_TOTAL +// Number of separate X-engines which deal with +// alternate time chunks +#define TIME_DEMUX 2 + // Determined by F engine packetizer #define N_INPUTS_PER_PACKET 6 #define N_CHAN_PER_PACKET 384 @@ -29,7 +33,7 @@ //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) #define N_BYTES_PER_BLOCK (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_INPUTS) #define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK / N_BYTES_PER_PACKET) -#define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK / N_FENGINES) +#define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK * N_INPUTS_PER_PACKET / 2 / N_FENGINES) // Validate packet dimensions #if N_BYTES_PER_PACKET != (N_TIME_PER_PACKET*N_CHAN_PER_PACKET*N_INPUTS_PER_PACKET) diff --git a/src/paper_fake_net_thread.c b/src/paper_fake_net_thread.c index 3f5224ba..c1a8e285 100644 --- a/src/paper_fake_net_thread.c +++ b/src/paper_fake_net_thread.c @@ -27,10 +27,11 @@ static void *run(hashpipe_thread_args_t * args) const char * status_key = args->thread_desc->skey; /* Main loop */ - int i, rv; + //int i, rv; + int rv; uint64_t mcnt = 0; - uint64_t *data; - int m,a,t,c; + //uint64_t *data; + //int m,a,t,c; #ifdef FAKE_TEST_INPUT1 int a1; #endif @@ -70,15 +71,15 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "receiving"); hputi4(st.buf, "NETBKOUT", block_idx); - hputi4(st.buf, "NETMCNT", mcnt); + hputu8(st.buf, "NETMCNT", mcnt); hashpipe_status_unlock_safe(&st); // Fill in sub-block headers - for(i=0; iblock[block_idx].header.good_data = 1; - db->block[block_idx].header.mcnt = mcnt; - mcnt+=Nm; - } + //for(i=0; iblock[block_idx].header.good_data = 1; + db->block[block_idx].header.mcnt = mcnt; + mcnt+=Nm; + //} #ifndef FAKE_TEST_INPUT #define FAKE_TEST_INPUT 0 @@ -92,25 +93,25 @@ static void *run(hashpipe_thread_args_t * args) // For testing, zero out block and set input FAKE_TEST_INPUT, FAKE_TEST_CHAN to // all -16 (-1 * 16) - data = db->block[block_idx].data; - memset(data, 0, N_BYTES_PER_BLOCK); + //data = db->block[block_idx].data; + //memset(data, 0, N_BYTES_PER_BLOCK); - c = FAKE_TEST_CHAN; - a = FAKE_TEST_FID; + //c = FAKE_TEST_CHAN; + //a = FAKE_TEST_FID; #ifdef FAKE_TEST_INPUT1 #define FAKE_TEST_FID1 (FAKE_TEST_INPUT1/N_INPUTS_PER_PACKET) a1 = FAKE_TEST_FID1; #endif - for(m=0; m Date: Thu, 12 Jul 2018 14:14:33 -0700 Subject: [PATCH 049/420] Add rudimentary hdf5 file writing code Add a template hdf5 file writing routine to play with. I suck at Makefiles, probably this is badly done. "If it compiles, ship it". --- src/hera_hdf5.h | 52 +++++++++++++++++++++++++++++++++++++++++++ src/hera_write_hdf5.c | 40 +++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 src/hera_hdf5.h create mode 100644 src/hera_write_hdf5.c diff --git a/src/hera_hdf5.h b/src/hera_hdf5.h new file mode 100644 index 00000000..c618cf7e --- /dev/null +++ b/src/hera_hdf5.h @@ -0,0 +1,52 @@ +#ifndef _HERA_HDF5_H +#define _HERA_HDF5_H + +#include "paper_databuf.h" + +#define N_BASELINES ((N_ANTS * (N_ANTS + 1)) / 2) + +// HERA HDF5 header fields, based on PLP's sample file +// Comment descriptions are guesses +typedef struct hdf5_extra_keywords { + uint64_t foo; +} hdf5_extra_keywords_t; + +typedef struct hdf5_header { + int64_t Nants_data; // Number of antennas for which data are valid + int64_t Nants_telescope; // Number of antennas in telescope + int64_t Nbls; // Number of visibilities in dataset + int64_t Nblts; // ??? + int64_t Nfreqs; // Number of frequency channels in dataset + int64_t Npols; // Number of polarizations in dataset + int64_t Nspws; // ?? + int64_t Ntimes; // Number of times in dataset + double altitude; // Array altitude in some unit + int64_t ant_1_array[N_BASELINES]; // Array of first antenna in each baseline + int64_t ant_2_array[N_BASELINES]; // Array of second antenna in each baseline + double antenna_diameters[N_ANTS]; // Antenna diameters in ? units + char antenna_names[N_ANTS][32]; // Antenna names + int64_t antenna_numbers[N_ANTS]; // HERA-spec antenna numbers + double antenna_positions[N_ANTS][3]; // Antenna locations in ? units + double channel_width; // Frequency channel width in ? units + struct hdf5_extra_keywords extra_keywords; // Extra keywords(!) + double freq_array[N_CHAN_TOTAL]; // Frequency channel centers in ? units + char history[1024]; // history string + char instrument[32]; // Instrument name + double integration_time; // Integration time in ? units + double latitude; // Array latitude in ? units + double longitude; // Array longitude in ? units + double *lst_array; // Array of LST's for each time sample? + char object_name[32]; // Name of astronomical source + char phase_type[32]; // Type of phasing (zenith, none, to source) in this data set + int64_t polarization_array; // Polarization of data in this data setby integer key + int64_t *spw_array; + char telescope_name[32]; // How is this different to "instrument"? + double *time_array; // Times (UTC / Unix / MJD ?) of time samples + double *uvw_array[N_ANTS][3]; // UVW co-ords of antennas + char vis_units[32]; + double zenith_dec; + double zenith_ra; +} hdf5_header_t; + + +#endif // _HERA_HDF5_H diff --git a/src/hera_write_hdf5.c b/src/hera_write_hdf5.c new file mode 100644 index 00000000..75483443 --- /dev/null +++ b/src/hera_write_hdf5.c @@ -0,0 +1,40 @@ +#include +#include +#include +#include + +#include "hera_hdf5.h" + +#define FILENAME "/tmp/foo.h5" + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +void foo_write_hdf5() +{ + hid_t file_id, dataspace_id, dataset_id; + hsize_t dims[4]; + herr_t status; + + file_id = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + dims[0] = 1; + dims[1] = 2; + dims[2] = 3; + dims[3] = 4; + dataspace_id = H5Screate_simple(4, dims, NULL); + + dataset_id = H5Dcreate2(file_id, "bar", H5T_STD_I32BE, dataspace_id, + H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + status = H5Dclose(dataset_id); + status = H5Sclose(dataspace_id); + status = H5Fclose(file_id); + fprintf(stderr, "%d", (int)status); + +} + +int main(int argc, char *argv[]) +{ + foo_write_hdf5(); + return 0; +} From 23836c69b9706ad62ec0275888e762355b757e0b Mon Sep 17 00:00:00 2001 From: Jack H Date: Sat, 14 Jul 2018 16:44:17 -0700 Subject: [PATCH 050/420] More HDF5 early development --- src/Makefile.am | 13 ++++++++- src/configure.ac | 2 +- src/hera_write_hdf5.c | 64 ++++++++++++++++++++++++++++++++++--------- 3 files changed, 64 insertions(+), 15 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index a6107f9e..b3140e1a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,6 +3,7 @@ AM_CPPFLAGS = AM_CPPFLAGS += -I"@HASHPIPE_INCDIR@" AM_CPPFLAGS += -I"@XGPU_INCDIR@" +AM_CPPFLAGS += -I/usr/include/hdf5/serial/ # AM_CFLAGS is used for all C compiles #AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 @@ -23,6 +24,9 @@ paper_threads = paper_fake_net_thread.c \ paper_fluff = paper_fluff.h \ paper_fluff.c +hera_capture = hera_hdf5.h \ + hera_write_hdf5.c + # This is the paper_gpu plugin itself lib_LTLIBRARIES = paper_gpu.la paper_gpu_la_SOURCES = $(paper_databuf) $(paper_threads) $(paper_fluff) @@ -38,11 +42,18 @@ dist_bin_SCRIPTS = paper_init.sh \ xtor_up.sh # Non-installed test programs -noinst_PROGRAMS = paper_fluff_test +noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 paper_fluff_test_SOURCES = paper_fluff_test.c $(paper_fluff) # The paper_fluff_test_CFLAGS is an autotools workaround. # http://www.gnu.org/software/automake/manual/html_node/Objects-created-both-with-libtool-and-without.html paper_fluff_test_CFLAGS = $(AM_CFLAGS) paper_fluff_test_LDADD = -lrt +hera_write_hdf5_SOURCES = hera_write_hdf5 $(hera_capture) +# The hera_write_hdf5_CFLAGS is an autotools workaround. +# http://www.gnu.org/software/automake/manual/html_node/Objects-created-both-with-libtool-and-without.html +hera_write_hdf5_CFLAGS = -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -funroll-loops +hera_write_hdf5_LDADD = -lrt -lpthread -lsz -lz -ldl -lm +hera_write_hdf5_LDFLAGS = -L/usr/lib/x86_64-linux-gnu/hdf5/serial /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.a /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a + # vi: set ts=8 noet : diff --git a/src/configure.ac b/src/configure.ac index ca039fd8..b62ba4bc 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -30,7 +30,7 @@ AC_CHECK_LIB([rt], [clock_gettime]) AC_CHECK_LIB([z], [crc32]) # Checks for header files. -AC_CHECK_HEADERS([netdb.h stdint.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h]) +AC_CHECK_HEADERS([netdb.h stdint.h stdlib.h string.h sys/socket.h sys/time.h unistd.h zlib.h hdf5.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_INLINE diff --git a/src/hera_write_hdf5.c b/src/hera_write_hdf5.c index 75483443..003f944b 100644 --- a/src/hera_write_hdf5.c +++ b/src/hera_write_hdf5.c @@ -10,24 +10,62 @@ #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) -void foo_write_hdf5() +#define H5_WRITE_HEADER_I64(group_id, h5_name, val, dims) \ + dataspace_id = H5Screate_simple(1, dims, NULL); \ + dataset_id = H5Dcreate2(group_id, h5_name, H5T_STD_I64LE, dataspace_id,\ + H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); \ + H5Dwrite(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &(val)); \ + H5Sclose(dataspace_id); \ + H5Dclose(dataset_id) + + + +// Write the header contents of hdf5 header struct to +// a new group "Header" of the HDF5 file referenced by `file_id` +void write_hdf5_header(struct hdf5_header *header, hid_t file_id) { - hid_t file_id, dataspace_id, dataset_id; + hid_t group_id, dataset_id, dataspace_id; hsize_t dims[4]; + + group_id = H5Gcreate2(file_id, "Header", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + + dims[0] = 1; + H5_WRITE_HEADER_I64(group_id, "Nants_data", header->Nants_data, dims); + H5_WRITE_HEADER_I64(group_id, "Nants_telescope", header->Nants_telescope, dims); + H5_WRITE_HEADER_I64(group_id, "Nbls", header->Nbls, dims); + H5_WRITE_HEADER_I64(group_id, "Nblts", header->Nblts, dims); + H5_WRITE_HEADER_I64(group_id, "Nfreqs", header->Nfreqs, dims); + H5_WRITE_HEADER_I64(group_id, "Npols", header->Npols, dims); + H5_WRITE_HEADER_I64(group_id, "Nspws", header->Nspws, dims); + H5_WRITE_HEADER_I64(group_id, "Ntimes", header->Ntimes, dims); + H5Gclose(group_id); +} + +struct hdf5_header * initialize_header() +{ + struct hdf5_header * header; + header = calloc(1, sizeof(hdf5_header_t)); + + header->Nants_data = N_ANTS; + header->Nants_telescope = N_ANTS; + header->Nbls = 0;//N_BLS; + header->Nfreqs = N_CHAN_TOTAL; + header->Npols = 4; + return header; +} + +void write_hdf5() +{ + struct hdf5_header * header; + header = initialize_header(); + + hid_t file_id; herr_t status; file_id = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); - dims[0] = 1; - dims[1] = 2; - dims[2] = 3; - dims[3] = 4; - dataspace_id = H5Screate_simple(4, dims, NULL); - - dataset_id = H5Dcreate2(file_id, "bar", H5T_STD_I32BE, dataspace_id, - H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - status = H5Dclose(dataset_id); - status = H5Sclose(dataspace_id); + write_hdf5_header(header, file_id); + status = H5Fclose(file_id); fprintf(stderr, "%d", (int)status); @@ -35,6 +73,6 @@ void foo_write_hdf5() int main(int argc, char *argv[]) { - foo_write_hdf5(); + write_hdf5(); return 0; } From 20396c87a3b537750ce1fe81bb5a0cddbc35063e Mon Sep 17 00:00:00 2001 From: Jack H Date: Sat, 14 Jul 2018 16:45:28 -0700 Subject: [PATCH 051/420] Update output thread Simplify output packet format, so that it just includes a header of mcnt, packet offset, payload length and xengine id. Possibly want to add an explicit channel number (although this is mostly redundant with xeng_id). Capturing output data with antenna-varying and freq-varying test vectors from SNAPs all look OK. TODO: scriptify formal reproducible tests, including software-based noise injection. --- src/hera_pktsock_thread.c | 2 +- src/paper_databuf.h | 2 +- src/paper_gpu_cpu_output_thread.c | 4 +- src/paper_gpu_output_thread.c | 214 ++++++------------------------ 4 files changed, 46 insertions(+), 176 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index a24863b1..a3560750 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -466,7 +466,7 @@ static inline uint64_t process_packet( // Copy data into buffer for(i=0; iblock[pkt_block_i].data + dest_p = (uint64_t *)(paper_input_databuf_p->block[pkt_block_i].data) + paper_input_databuf_data_idx(binfo.m, binfo.a + i, binfo.c, 0); //time index is always zero //fprintf(stdout, "m:%d, a:%d, c:%d, %lu\n", binfo.m, binfo.a, binfo.c, paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0)); payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame)+8+(i*2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET)); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index a4865798..9ef34133 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -242,7 +242,7 @@ typedef uint8_t paper_output_header_cache_alignment[ typedef struct paper_output_block { paper_output_header_t header; paper_output_header_cache_alignment padding; // Maintain cache alignment - float data[N_OUTPUT_MATRIX]; + int32_t data[N_OUTPUT_MATRIX]; } paper_output_block_t; typedef struct paper_output_databuf { diff --git a/src/paper_gpu_cpu_output_thread.c b/src/paper_gpu_cpu_output_thread.c index 6e4cfe61..4c97c938 100644 --- a/src/paper_gpu_cpu_output_thread.c +++ b/src/paper_gpu_cpu_output_thread.c @@ -86,8 +86,8 @@ static void *run(hashpipe_thread_args_t * args) // Compare blocks error_count = 0.0; - gpu_data = db->block[block_idx[0]].data; - cpu_data = db->block[block_idx[1]].data; + gpu_data = (float *) db->block[block_idx[0]].data; + cpu_data = (float *) db->block[block_idx[1]].data; for(i=0; i INT32_MAX) { - return INT32_MAX; - } else if(f < INT32_MIN+1) { - // +1 to keep saturation symmetric - return INT32_MIN+1; - } else { - return (pktdata_t)lroundf(f); - } -} -#define CONVERT(x) (htobe32(convert(x))) -#else -typedef float pktdata_t; -#define CONVERT(x) (x) -#endif +// Structure of a packet typedef struct pkt { pkthdr_t hdr; pktdata_t data[BYTES_PER_PACKET/sizeof(pktdata_t)]; } pkt_t; -// Macros for generating values for the pkthdr_t fields -#define HEADER (htobe64(0x4b52000300000005)) -#define INSTIDS(x) (htobe64(0x0032000400000000 | ( (uint64_t)(x) & 0xffff ))) -#define PKTINFO(x) (htobe64(0x0033000000000000 | (((uint64_t)(x) & 0xffffff) << 24))) -#define TIMESTAMP(x) (htobe64(0x0003000000000000 | ( (uint64_t)(x) & 0xffffffffffff ))) -#define OFFSET(x) (htobe64(0x0005000000000000 | ( (uint64_t)(x) & 0xffffffffffff ))) -#define HEAPLEN (htobe64(0x0004000000000000)) - static XGPUInfo xgpu_info; // PACKET_DELAY_NS is number of nanoseconds to delay between packets. This is -// to prevent overflowing the network interface's TX queue. The delay is 4 -// times longer than necessary for a single packet so that up to 4 instances -// can dump simulatneously without problems. For larger correlators running -// fewer instance per GPU host, this may be too long, but for now it shouldn't -// be a problem. Note that this accounts only for the packet's payload (i.e. +// to prevent overflowing the network interface's TX queue. +// Keep in mind the total throughput of the network, and also the number +// of x-engine instances which will be running on each host. + +// Note that the below calculations account only for the packet's payload (i.e. // it considers the size of the packet header to be negligible). // // 1000 megabit per second = 1 nanosecond per bit // 100 megabit per second = 10 nanosecond per bit // 10 megabit per second = 100 nanosecond per bit -//#define PACKET_DELAY_NS (4 * 10 * 8 * BYTES_PER_PACKET) -// Really trickle it out... -#define PACKET_DELAY_NS (4*8 * BYTES_PER_PACKET) + +// Set to 200 Mbps -- OK for two instances per node. +// With 16 nodes, amounts to 6.4 Gbps of data +#define PACKET_DELAY_NS (2 * 8*BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; @@ -433,10 +308,8 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_unlock_safe(&st); pkt_t pkt; - pkt.hdr.header = HEADER; - pkt.hdr.instids = INSTIDS(xengine_id); - pkt.hdr.pktinfo = PKTINFO(BYTES_PER_PACKET); - pkt.hdr.heaplen = HEAPLEN; + pkt.hdr.xeng_id = XENG_ID(xengine_id); + pkt.hdr.payload_len = PAYLOAD_LEN(BYTES_PER_PACKET); // TODO Get catcher hostname and port from somewhere @@ -455,6 +328,7 @@ static void *run(hashpipe_thread_args_t * args) #ifdef TEST_INDEX_CALCS int i, j; + off_t o; for(i=0; i<32; i++) { for(j=i; j<32; j++) { regtile_index(2*i, 2*j); @@ -462,7 +336,8 @@ static void *run(hashpipe_thread_args_t * args) } for(i=0; i<32; i++) { for(j=i; j<32; j++) { - casper_index(2*i, 2*j); + o = casper_index(2*i, 2*j, N_INPUTS); + fprintf(stdout, "%d, %d, %d\n", i, j, (int) o); } } #endif @@ -504,21 +379,15 @@ static void *run(hashpipe_thread_args_t * args) hputi4(st.buf, "OUTBLKIN", block_idx); hashpipe_status_unlock_safe(&st); - // Update header's timestamp for this dump. For historic/unknown - // reasons, the catcher expects timestamps to be in units of PFB - // samples (even though its source claims ADC samples!) divided by a - // mysterious constant value of 128 that is no doubt related to some - // FPGA based X engine from the past. - pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt * - N_TIME_PER_PACKET * N_CHAN_TOTAL / 128); - - // Init header's offset for this dump + // Update header's timestamp for this dump. + pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); + // Reset packet/byte counters to 0 + pkt.hdr.offset = OFFSET(0); uint32_t nbytes = 0; - pkt.hdr.offset = OFFSET(nbytes); // Unpack and convert in packet sized chunks - float * pf_re = db->block[block_idx].data; - float * pf_im = db->block[block_idx].data + xgpu_info.matLength; + pktdata_t * pf_re = db->block[block_idx].data; + pktdata_t * pf_im = db->block[block_idx].data + xgpu_info.matLength; pktdata_t * p_out = pkt.data; clock_gettime(CLOCK_MONOTONIC, &pkt_start); for(casper_chan=0; casper_chan Date: Sat, 14 Jul 2018 16:48:07 -0700 Subject: [PATCH 052/420] Add simple python catcher script This grabs a single correlator dump and throws it in a binary file for manual prodding. --- src/catcher.py | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/catcher.py diff --git a/src/catcher.py b/src/catcher.py new file mode 100644 index 00000000..39c0d87f --- /dev/null +++ b/src/catcher.py @@ -0,0 +1,53 @@ +import socket +import numpy as np +import struct +import time +import cPickle as pickle + + +NANTS = 192 +NCHANS = 384 +NWORDS = NANTS * (NANTS+1) / 2 * 2 * 4 * NCHANS + +BYTES_PER_PACKET = 1024 + 16 + +NPACKETS = NWORDS / 256 +print "Expecting %d packets" % NPACKETS + +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 800000) + +sock.bind(("0.0.0.0", 7148)) + +dout = np.zeros(NWORDS, dtype=np.int32) + +n = 0 +wait = True +start = time.time() +while True: + data = sock.recv(BYTES_PER_PACKET) + unpacked = struct.unpack('>QLHH', data[0:16]) + timestamp = unpacked[0] + offset = unpacked[1] + xeng_id = unpacked[2] + payload_len = unpacked[3] + if wait: + start = time.time() + if (not wait) or (offset == 0): + n += 1 + wait = False + #print time, packet_num, xeng_id, payload_len + #print dout[256*packet_num:256*(packet_num+1)].shape + #print len(unpacked[4:]) + dout[offset/4:(offset+1024)/4] = np.fromstring(data[16:], dtype='>i') + if (offset == ((NPACKETS - 1) * 1024)): + break + +stop = time.time() + +print "%d packets received in %.2f seconds" % (n, stop - start) + +print "Dumping packet to disk" +with open("/tmp/packet.bin", "w") as fh: + fh.write(dout.tostring()) + From ab00877ee8cf1dd3cbd9a181fac386936c06cb8a Mon Sep 17 00:00:00 2001 From: Jack H Date: Mon, 23 Jul 2018 20:14:36 -0700 Subject: [PATCH 053/420] Add xGPU submodule --- .gitmodules | 3 +++ xGPU | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 xGPU diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..c9200ab0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "xGPU"] + path = xGPU + url = https://github.com/GPU-correlators/xGPU diff --git a/xGPU b/xGPU new file mode 160000 index 00000000..63a3681a --- /dev/null +++ b/xGPU @@ -0,0 +1 @@ +Subproject commit 63a3681a4d808729135ebbe7bb58c5e23677f723 From ec14edff3f327e22070dd2943f9d2dbb3bbd469a Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 15 Aug 2018 15:18:52 +0000 Subject: [PATCH 054/420] Make work for hera-corr-head --- src/paper_init.sh | 2 +- src/xtor_down.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/paper_init.sh b/src/paper_init.sh index 652c3f79..d57dde01 100755 --- a/src/paper_init.sh +++ b/src/paper_init.sh @@ -113,7 +113,7 @@ case ${hostname} in "0x0606 ${hostname}-2.tenge.pvt 0 $xid0 2 4 3 4" # Instance 0, eth2 );; - hera-gpu*) + px*) # Setup parameters for two instances. # 2 x E5-2620 v4 (disabled-HyperThreading, 8-cores @ 2.1 GHz, 20 MB L3, 8 GT/s QPI, 2667 MHz DRAM) # Fluff thread and output thread share a core. diff --git a/src/xtor_down.sh b/src/xtor_down.sh index 00d0dc87..8a47d2a5 100755 --- a/src/xtor_down.sh +++ b/src/xtor_down.sh @@ -49,7 +49,7 @@ done shift $((OPTIND-1)) # Name of PAPER server -PAPER=paper1 +PAPER=hera-corr-head # Make sure we are on the PAPER server hostname=`hostname -s` From 69296a440a93c658980668da801412b4c7586766 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 15 Aug 2018 15:19:53 +0000 Subject: [PATCH 055/420] Configure for 192 antennas --- INSTALL | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 49ae9393..ad01f0dc 100644 --- a/INSTALL +++ b/INSTALL @@ -27,4 +27,11 @@ Example: If xGPU is installed under "/usr/local/xgpu16_256_32_titan", you can tell configure to find it there like this: -$ ./configure --with-xgpu=/usr/local/xgpu16_256_32_titan +$ ./configure --with-xgpu=/usr/local/xgpu-1080-dp4a + +If you need to build xGPU, it is included as a git submodule in this repository. +Go into the xGPU/src directory and run (eg, for HERA H2C): +make clean +make NSTATION=192 NFREQUENCY=384 NTIME=2048 NTIME_PIPE=1024 CUDA_ARCH=sm_61 DP4A=yes +sudo make install prefix=/usr/local/xgpu-1080-dp4a + From ca3f7d22bb9e85682327a8a6406b6dc5b900bfa3 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 15 Aug 2018 15:20:43 +0000 Subject: [PATCH 056/420] Add catcher packetsocket code First pass --- src/Makefile.am | 3 +- src/hera_catcher_net_thread.c | 521 ++++++++++++++++++++++++++++++++++ src/paper_databuf.h | 77 +++++ src/paper_gpu_output_thread.c | 23 +- 4 files changed, 609 insertions(+), 15 deletions(-) create mode 100644 src/hera_catcher_net_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index b3140e1a..8b8ce2b1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -19,7 +19,8 @@ paper_threads = paper_fake_net_thread.c \ paper_gpu_thread.c \ paper_fluff_thread.c \ hera_pktsock_thread.c \ - paper_crc_thread.c + paper_crc_thread.c \ + hera_catcher_net_thread.c paper_fluff = paper_fluff.h \ paper_fluff.c diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c new file mode 100644 index 00000000..cbf50c55 --- /dev/null +++ b/src/hera_catcher_net_thread.c @@ -0,0 +1,521 @@ +/* hera_pktsock_thread.c + * + * Routine to read packets from network and put them + * into shared memory blocks. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + + +#define DEBUG_NET + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +//#define PKTSOCK_BYTES_PER_FRAME (16384) +//#define PKTSOCK_FRAMES_PER_BLOCK (8) +//#define PKTSOCK_NBLOCKS (800) +//#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) +#define PKTSOCK_BYTES_PER_FRAME (4864) +#define PKTSOCK_FRAMES_PER_BLOCK (128) +#define PKTSOCK_NBLOCKS (5000) +#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) + +typedef struct { + uint64_t mcnt; // MCNT of the first block in this integrations + uint32_t offset; // offset in bytes where this packet belongs in the correlation + uint16_t xeng_id; // First channel in a packet + uint16_t payload_len; // Antenna in a packet +} packet_header_t; + +// The fields of a block_info_t structure hold meta-data about the contents of +// each block +typedef struct { + int initialized; + int block_i; + int block_packet_counter[N_INPUT_BLOCKS]; +} block_info_t; + + +static hashpipe_status_t *st_p; + +//static uint64_t mcnt_log[MAX_MCNT_LOG]; +//static int mcnt_log_idx = 0; + +// This sets the "current" block to be marked as filled. The current block is +// the block corresponding to binfo->block_i. Returns mcnt of the block +// being marked filled. +static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, block_info_t *binfo) +{ + static int last_filled = -1; + + uint64_t block_missed_pkt_cnt; + uint32_t missed_pkt_cnt; + uint32_t block_i = binfo->block_i; + + // Validate that we're filling blocks in the proper sequence + last_filled = (last_filled+1) % N_INPUT_BLOCKS; + if(last_filled != block_i) { + printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); + + } + + // Validate that block_i matches binfo->block_i + if(block_i != binfo->block_i) { + hashpipe_warn(__FUNCTION__, + "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", + block_i, binfo->block_i); + } + + // If all packets are accounted for, mark this block as good + if(binfo->block_packet_counter[block_i] == PACKETS_PER_VIS_MATRIX) { + hera_catcher_input_databuf_p->block[block_i].header.good_data = 1; + } + + // Set the block as filled + if(hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_p, block_i) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); + pthread_exit(NULL); + } + + // Calculate missing packets. + block_missed_pkt_cnt = PACKETS_PER_VIS_MATRIX - binfo->block_packet_counter[block_i]; + //fprintf(stderr, "Packets in block %d: %d, N_PACKETS_PER_BLOCK: %d, N_PACKETS_PER_BLOCK_PER_F: %d, mod_cnt: %d\n", block_i, binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK, N_PACKETS_PER_BLOCK_PER_F, block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F); + + // Update status buffer + hashpipe_status_lock_busywait_safe(st_p); + hputu4(st_p->buf, "NETBKOUT", block_i); + if(block_missed_pkt_cnt) { + //fprintf(stdout, "Expected %d packets, Got %d\n", N_PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); + // Increment MISSEDPK by number of missed packets for this block + hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + missed_pkt_cnt += block_missed_pkt_cnt; + hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + // fprintf(stderr, "got %d packets instead of %d\n", + // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); + } + hashpipe_status_unlock_safe(st_p); + + return hera_catcher_input_databuf_p->block[block_i].header.mcnt; +} + + +// Initialize a block by clearing its "good data" flag and initializing its mcnt header. +static inline void initialize_block(hera_catcher_input_databuf_t * hera_catcher_input_databuf_p, uint64_t mcnt, uint64_t block_id) +{ + + hera_catcher_input_databuf_p->block[block_id].header.good_data = 0; + hera_catcher_input_databuf_p->block[block_id].header.mcnt = mcnt; +} + +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo) +{ + int i; + + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + + for(i = 0; i < N_INPUT_BLOCKS; i++) { + binfo->block_packet_counter[i] = 0; + } + + // On startup mcnt_start will be zero and mcnt_log_late will be Nm. + binfo->block_i = 0; + + binfo->initialized = 1; +} + +// This function returns -1 unless the given packet causes a block to be marked +// as filled in which case this function returns the marked block's first mcnt. +// Any return value other than -1 will be stored in the status memory as +// NETMCNT, so it is important that values other than -1 are returned rarely +// (i.e. when marking a block as filled)!!! +static inline uint64_t process_packet( + hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, unsigned char*p_frame) +{ + + static block_info_t binfo; + packet_header_t *packet_header_p; + const uint64_t *payload_p; + uint64_t *dest_p; + int64_t pkt_mcnt_dist; + uint64_t pkt_mcnt; + int time_demux_block; + uint64_t cur_mcnt; + uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) + //int i; + + // Lazy init binfo + if(!binfo.initialized) { + initialize_block_info(&binfo); + } + + // Parse packet header + packet_header_p = (packet_header_t *)PKT_UDP_DATA(p_frame); + time_demux_block = packet_header_p->mcnt % TIME_DEMUX; + pkt_mcnt = packet_header_p->mcnt - time_demux_block; + cur_mcnt = hera_catcher_input_databuf_p->block[binfo.block_i].header.mcnt; + + pkt_mcnt_dist = pkt_mcnt - cur_mcnt; + + // pkt_mcnt values (which have the time_demux offsets removed, should always + // be the same in consecutive packets, until an integration is complete, at which + // point they should increase (in a step determined by the accumulation length) + if(0 <= pkt_mcnt_dist) { + // Mark the current block as filled + if (0 < pkt_mcnt_dist) { + netmcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); + // Wait (hopefully not long!) to acquire the block after next (i.e. + // the block that gets the current packet). + if(hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_p, binfo.block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } + } + // Increment the current block number + binfo.block_i = (binfo.block_i +1) % N_INPUT_BLOCKS; + // Initialize the newly acquired block + initialize_block(hera_catcher_input_databuf_p, pkt_mcnt, binfo.block_i); + // Reset binfo's packet counter for this packet's block + binfo.block_packet_counter[binfo.block_i] = 0; + + // Increment packet count for block + binfo.block_packet_counter[binfo.block_i]++; + } + + // Copy data into buffer + dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (packet_header_p->offset >> 3); + payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + (sizeof(packet_header_t) >> 3)); + memcpy(dest_p, payload_p, packet_header_p->payload_len); + return netmcnt; + } else { + // If not just after an mcnt reset, issue warning. + hashpipe_warn("hera_catcher_net_thread", "Ignoring late packet (%d mcnts late)", cur_mcnt - pkt_mcnt); + return -1; + } + + return netmcnt; +} + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +static int init(hashpipe_thread_args_t *args) +{ + /* Read network params */ + char bindhost[80]; + int bindport = CATCHER_PORT; + + strcpy(bindhost, "0.0.0.0"); + + hashpipe_status_t st = args->st; + + hashpipe_status_lock_safe(&st); + // Get info from status buffer if present (no change if not present) + hgets(st.buf, "BINDHOST", 80, bindhost); + hgeti4(st.buf, "BINDPORT", &bindport); + // Store bind host/port info etc in status buffer + hputs(st.buf, "BINDHOST", bindhost); + hputi4(st.buf, "BINDPORT", bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hashpipe_status_unlock_safe(&st); + +#ifndef TIMING_TEST + /* Set up pktsock */ + struct hashpipe_pktsock *p_ps = (struct hashpipe_pktsock *) + malloc(sizeof(struct hashpipe_pktsock)); + + if(!p_ps) { + perror(__FUNCTION__); + return -1; + } + + // Make frame_size be a divisor of block size so that frames will be + // contiguous in mapped mempory. block_size must also be a multiple of + // page_size. Easiest way is to oversize the frames to be 16384 bytes, which + // is bigger than we need, but keeps things easy. + p_ps->frame_size = PKTSOCK_BYTES_PER_FRAME; + // total number of frames + p_ps->nframes = PKTSOCK_NFRAMES; + // number of blocks + p_ps->nblocks = PKTSOCK_NBLOCKS; + + int rv = hashpipe_pktsock_open(p_ps, bindhost, PACKET_RX_RING); + if (rv!=HASHPIPE_OK) { + hashpipe_error("hera_pktsock_thread", "Error opening pktsock."); + pthread_exit(NULL); + } + + // Store packet socket pointer in args + args->user_data = p_ps; +#endif + + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our output buffer happens to be a paper_input_databuf + hera_catcher_input_databuf_t *db = (hera_catcher_input_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + st_p = &st; // allow global (this source file) access to the status buffer + + // Flag that holds off the net thread + int holdoff = 1; + + // Force ourself into the hold off state + fprintf(stdout, "Setting CNETHOLD state to 1. Waiting for someone to set it to 0\n"); + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "CNETHOLD", 1); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); + + while(holdoff) { + // We're not in any hurry to startup + sleep(1); + hashpipe_status_lock_safe(&st); + // Look for CNETHOLD value + hgeti4(st.buf, "CNETHOLD", &holdoff); + if(!holdoff) { + // Done holding, so delete the key + hdel(st.buf, "CNETHOLD"); + hputs(st.buf, status_key, "starting"); + } + hashpipe_status_unlock_safe(&st); + } + + // Acquire first block to start + if(hera_catcher_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + + // Initialize the newly acquired block + initialize_block(db, 0, 0); + + /* Read network params */ + int bindport = CATCHER_PORT; + // (N_BYTES_PER_PACKET excludes header) + size_t expected_packet_size = OUTPUT_BYTES_PER_PACKET + sizeof(packet_header_t); + +#ifndef TIMING_TEST + /* Get pktsock from args*/ + struct hashpipe_pktsock * p_ps = (struct hashpipe_pktsock*)args->user_data; + pthread_cleanup_push(free, p_ps); + pthread_cleanup_push((void (*)(void *))hashpipe_pktsock_close, p_ps); + + // Drop all packets to date + unsigned char *p_frame; + while((p_frame=hashpipe_pktsock_recv_frame_nonblock(p_ps))) { + hashpipe_pktsock_release_frame(p_frame); + } + + hashpipe_status_lock_safe(&st); + // Get info from status buffer + hgeti4(st.buf, "BINDPORT", &bindport); + hputu4(st.buf, "MISSEDPK", 0); + hputs(st.buf, status_key, "running"); + hashpipe_status_unlock_safe(&st); +#endif + + /* Main loop */ + uint64_t packet_count = 0; + uint64_t wait_ns = 0; // ns for most recent wait + uint64_t recv_ns = 0; // ns for most recent recv + uint64_t proc_ns = 0; // ns for most recent proc + uint64_t min_wait_ns = 99999; // min ns per single wait + uint64_t min_recv_ns = 99999; // min ns per single recv + uint64_t min_proc_ns = 99999; // min ns per single proc + uint64_t max_wait_ns = 0; // max ns per single wait + uint64_t max_recv_ns = 0; // max ns per single recv + uint64_t max_proc_ns = 0; // max ns per single proc + uint64_t elapsed_wait_ns = 0; // cumulative wait time per block + uint64_t elapsed_recv_ns = 0; // cumulative recv time per block + uint64_t elapsed_proc_ns = 0; // cumulative proc time per block + uint64_t status_ns = 0; // User to fetch ns values from status buffer + float ns_per_wait = 0.0; // Average ns per wait over 1 block + float ns_per_recv = 0.0; // Average ns per recv over 1 block + float ns_per_proc = 0.0; // Average ns per proc over 1 block + unsigned int pktsock_pkts = 0; // Stats counter from socket packet + unsigned int pktsock_drops = 0; // Stats counter from socket packet + uint64_t pktsock_pkts_total = 0; // Stats total for socket packet + uint64_t pktsock_drops_total = 0; // Stats total for socket packet + struct timespec start, stop; + struct timespec recv_start, recv_stop; + + while (run_threads()) { + /* Read packet */ + clock_gettime(CLOCK_MONOTONIC, &recv_start); + do { + clock_gettime(CLOCK_MONOTONIC, &start); + //p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); + p_frame = hashpipe_pktsock_recv_udp_frame_nonblock(p_ps, bindport); + clock_gettime(CLOCK_MONOTONIC, &recv_stop); + } while (!p_frame && run_threads()); + + if(!run_threads()) break; + + // Make sure received packet size matches expected packet size. + int packet_size = PKT_UDP_SIZE(p_frame) - sizeof(packet_header_t); + if (expected_packet_size != packet_size) { + // Log warning and ignore wrongly sized packet + #ifdef DEBUG_NET + hashpipe_warn("hera_pktsock_thread", "Invalid pkt size (%d)", packet_size); + #endif + hashpipe_pktsock_release_frame(p_frame); + continue; + } + + packet_count++; + + // Copy packet into any blocks where it belongs. + const uint64_t mcnt = process_packet((hera_catcher_input_databuf_t *)db, p_frame); + // Release frame back to kernel + hashpipe_pktsock_release_frame(p_frame); + + clock_gettime(CLOCK_MONOTONIC, &stop); + wait_ns = ELAPSED_NS(recv_start, start); + recv_ns = ELAPSED_NS(start, recv_stop); + proc_ns = ELAPSED_NS(recv_stop, stop); + elapsed_wait_ns += wait_ns; + elapsed_recv_ns += recv_ns; + elapsed_proc_ns += proc_ns; + // Update min max values + min_wait_ns = MIN(wait_ns, min_wait_ns); + min_recv_ns = MIN(recv_ns, min_recv_ns); + min_proc_ns = MIN(proc_ns, min_proc_ns); + max_wait_ns = MAX(wait_ns, max_wait_ns); + max_recv_ns = MAX(recv_ns, max_recv_ns); + max_proc_ns = MAX(proc_ns, max_proc_ns); + + if(mcnt != -1) { + // Update status + ns_per_wait = (float)elapsed_wait_ns / packet_count; + ns_per_recv = (float)elapsed_recv_ns / packet_count; + ns_per_proc = (float)elapsed_proc_ns / packet_count; + + // Get stats from packet socket + hashpipe_pktsock_stats(p_ps, &pktsock_pkts, &pktsock_drops); + + hashpipe_status_lock_busywait_safe(&st); + + hputu8(st.buf, "NETMCNT", mcnt); + // Gbps = bits_per_packet / ns_per_packet + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); + hputr4(st.buf, "NETWATNS", ns_per_wait); + hputr4(st.buf, "NETRECNS", ns_per_recv); + hputr4(st.buf, "NETPRCNS", ns_per_proc); + + // Get and put min and max values. The "get-then-put" allows the + // user to reset the min max values in the status buffer. + hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + status_ns = MIN(min_wait_ns, status_ns); + hputi8(st.buf, "NETWATMN", status_ns); + + hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + status_ns = MIN(min_recv_ns, status_ns); + hputi8(st.buf, "NETRECMN", status_ns); + + hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + status_ns = MIN(min_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMN", status_ns); + + hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + status_ns = MAX(max_wait_ns, status_ns); + hputi8(st.buf, "NETWATMX", status_ns); + + hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + status_ns = MAX(max_recv_ns, status_ns); + hputi8(st.buf, "NETRECMX", status_ns); + + hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + status_ns = MAX(max_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMX", status_ns); + + hputu8(st.buf, "NETPKTS", pktsock_pkts); + hputu8(st.buf, "NETDROPS", pktsock_drops); + + hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); + hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); + + hashpipe_status_unlock_safe(&st); + + // Start new average + elapsed_wait_ns = 0; + elapsed_recv_ns = 0; + elapsed_proc_ns = 0; + packet_count = 0; + } + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + +#ifndef TIMING_TEST + /* Have to close all push's */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_pktsock_close) */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ +#endif + return NULL; +} + +static hashpipe_thread_desc_t hera_catcher_net_thread = { + name: "hera_catcher_net_thread", + skey: "CNETSTAT", + init: init, + run: run, + ibuf_desc: {NULL}, + obuf_desc: {hera_catcher_input_databuf_create} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&hera_catcher_net_thread); +} + +// vi: set ts=8 sw=4 noet : diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 9ef34133..0aa5796c 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -49,6 +49,13 @@ #define PAGE_SIZE (4096) #define CACHE_ALIGNMENT (128) +// Correlator Output parameters +#define CATCHER_PORT 10000 +#define OUTPUT_BYTES_PER_PACKET (1024) +#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL * (N_INPUTS * (N_INPUTS + 1)) / 2 * 4) +#define PACKETS_PER_VIS_MATRIX ((8L*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) + + // The HERA correlator is based largely on the PAPER correlator. The main // difference will be in the F engines. The ROACH2 based F engines are being // replaced by SNAP based F engines. Because SNAPs have a different number of @@ -251,6 +258,32 @@ typedef struct paper_output_databuf { paper_output_block_t block[N_OUTPUT_BLOCKS]; } paper_output_databuf_t; +/* + * CATCHER BUFFER STRUCTURES + */ + +typedef struct hera_catcher_input_header{ + uint64_t mcnt; + uint64_t good_data; + uint64_t flags[VIS_MATRIX_ENTRIES]; +} hera_catcher_input_header_t; + +typedef uint8_t hera_catcher_input_header_cache_alignment[ + CACHE_ALIGNMENT - (sizeof(hera_catcher_input_header_t)%CACHE_ALIGNMENT) +]; + +typedef struct hera_catcher_input_block { + hera_catcher_input_header_t header; + hera_catcher_input_header_cache_alignment padding; // Maintain cache alignment + uint64_t data[VIS_MATRIX_ENTRIES]; +} hera_catcher_input_block_t; + +typedef struct hera_catcher_input_databuf { + hashpipe_databuf_t header; + hashpipe_databuf_cache_alignment padding; // Maintain cache alignment + hera_catcher_input_block_t block[N_INPUT_BLOCKS]; +} hera_catcher_input_databuf_t; + /* * INPUT BUFFER FUNCTIONS */ @@ -295,6 +328,50 @@ int paper_input_databuf_set_free(paper_input_databuf_t *d, int block_id); int paper_input_databuf_set_filled(paper_input_databuf_t *d, int block_id); +/* + * CATCHER BUFFER FUNCTIONS + */ + +hashpipe_databuf_t *hera_catcher_input_databuf_create(int instance_id, int databuf_id); + +static inline hera_catcher_input_databuf_t *hera_catcher_input_databuf_attach(int instance_id, int databuf_id) +{ + return (hera_catcher_input_databuf_t *)hashpipe_databuf_attach(instance_id, databuf_id); +} + +static inline int hera_catcher_input_databuf_detach(hera_catcher_input_databuf_t *d) +{ + return hashpipe_databuf_detach((hashpipe_databuf_t *)d); +} + +static inline void hera_catcher_input_databuf_clear(hera_catcher_input_databuf_t *d) +{ + hashpipe_databuf_clear((hashpipe_databuf_t *)d); +} + +static inline int hera_catcher_input_databuf_block_status(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_block_status((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_catcher_input_databuf_total_status(hera_catcher_input_databuf_t *d) +{ + return hashpipe_databuf_total_status((hashpipe_databuf_t *)d); +} + + +int hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_t *d, int block_id); + +int hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_t *d, int block_id); + +int hera_catcher_input_databuf_wait_filled(hera_catcher_input_databuf_t *d, int block_id); + +int hera_catcher_input_databuf_busywait_filled(hera_catcher_input_databuf_t *d, int block_id); + +int hera_catcher_input_databuf_set_free(hera_catcher_input_databuf_t *d, int block_id); + +int hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_t *d, int block_id); + /* * GPU INPUT BUFFER FUNCTIONS */ diff --git a/src/paper_gpu_output_thread.c b/src/paper_gpu_output_thread.c index c38f1bfe..37c7b447 100644 --- a/src/paper_gpu_output_thread.c +++ b/src/paper_gpu_output_thread.c @@ -36,8 +36,6 @@ typedef struct pkthdr { uint16_t payload_len; } pkthdr_t; -#define BYTES_PER_PACKET 1024 - // Macros for generating values for the pkthdr_t fields #define TIMESTAMP(x) (htobe64((uint64_t)x)) #define OFFSET(x) (htobe32((uint32_t)x)) @@ -51,7 +49,7 @@ typedef int32_t pktdata_t; // Structure of a packet typedef struct pkt { pkthdr_t hdr; - pktdata_t data[BYTES_PER_PACKET/sizeof(pktdata_t)]; + pktdata_t data[OUTPUT_BYTES_PER_PACKET/sizeof(pktdata_t)]; } pkt_t; static XGPUInfo xgpu_info; @@ -70,11 +68,11 @@ static XGPUInfo xgpu_info; // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (2 * 8*BYTES_PER_PACKET) +#define PACKET_DELAY_NS (2 * 8*OUTPUT_BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; -// packets_per_dump is bytes_per_dump / BYTES_PER_PACKET +// packets_per_dump is bytes_per_dump / OUTPUT_BYTES_PER_PACKET static unsigned int packets_per_dump = 0; // Open and connect a UDP socket to the given host and port. Note that port is @@ -271,7 +269,7 @@ static int init(struct hashpipe_thread_args *args) // Get sizing parameters xgpuInfo(&xgpu_info); bytes_per_dump = xgpu_info.triLength * sizeof(Complex); - packets_per_dump = bytes_per_dump / BYTES_PER_PACKET; + packets_per_dump = bytes_per_dump / OUTPUT_BYTES_PER_PACKET; printf("bytes_per_dump = %lu\n", bytes_per_dump); if(init_idx_map()) { @@ -309,13 +307,10 @@ static void *run(hashpipe_thread_args_t * args) pkt_t pkt; pkt.hdr.xeng_id = XENG_ID(xengine_id); - pkt.hdr.payload_len = PAYLOAD_LEN(BYTES_PER_PACKET); + pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); // TODO Get catcher hostname and port from somewhere -#ifndef CATCHER_PORT -#define CATCHER_PORT 7148 -#endif #define stringify2(x) #x #define stringify(x) stringify2(x) @@ -402,8 +397,8 @@ static void *run(hashpipe_thread_args_t * args) *p_out++ = re; *p_out++ = -im; // Conjugate data to match downstream expectations nbytes += 2*sizeof(pktdata_t); - if(nbytes % BYTES_PER_PACKET == 0) { - int bytes_sent = send(sockfd, &pkt, sizeof(pkt.hdr)+BYTES_PER_PACKET, 0); + if(nbytes % OUTPUT_BYTES_PER_PACKET == 0) { + int bytes_sent = send(sockfd, &pkt, sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET, 0); if(bytes_sent == -1) { // Send all packets even if cactcher is not listening (i.e. we // we get a connection refused error), but abort sending this @@ -420,8 +415,8 @@ static void *run(hashpipe_thread_args_t * args) // Break out of both for loops goto done_sending; } - } else if(bytes_sent != sizeof(pkt.hdr)+BYTES_PER_PACKET) { - printf("only sent %d of %lu bytes!!!\n", bytes_sent, sizeof(pkt.hdr)+BYTES_PER_PACKET); + } else if(bytes_sent != sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET) { + printf("only sent %d of %lu bytes!!!\n", bytes_sent, sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET); } // Delay to prevent overflowing network TX queue From 77fbf46a958ceea2b57bbafa5519d20844523a56 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 15 Aug 2018 17:35:34 +0000 Subject: [PATCH 057/420] Add scripts for generating correlator data + template hdf5 file --- src/gen_fake_corr_output.py | 41 ++++++++++++++++ src/make_hera_hdf5_template.py | 90 ++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 src/gen_fake_corr_output.py create mode 100644 src/make_hera_hdf5_template.py diff --git a/src/gen_fake_corr_output.py b/src/gen_fake_corr_output.py new file mode 100644 index 00000000..7a37ce39 --- /dev/null +++ b/src/gen_fake_corr_output.py @@ -0,0 +1,41 @@ +import time +import socket +import struct +import numpy + +NANTS = 196 +NCHANS = 8192 / 4 * 3 +BYTES_PER_PACKET = 1024 +MCNT_STEP = 2**18 +NX = 8 + +DESTIP = "localhost" +DESTPORT = 10000 + +n_bls = (NANTS * (NANTS+1)) / 2 +n_bytes = NCHANS * n_bls * 4 * 2 * 4 # stokes, real/imag, bytes-per-word +n_pkts = (n_bytes / BYTES_PER_PACKET) + +print "MBytes per dump: %.2f" % (n_bytes / 1e6) +print "Packets per dump: %.4f" % (n_bytes / float(BYTES_PER_PACKET)) + +s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + +mcnt = 0 +data = '\x00' * BYTES_PER_PACKET + +while(True): + start = time.time() + offset = 0 + for pkt in range(n_pkts): + if pkt % 1000 == 0: + #print pkt + pass + for xeng in range(NX): + p = struct.pack('!QLHH', mcnt, offset, xeng, BYTES_PER_PACKET) + data + #s.sendto(p, (DESTIP, DESTPORT)) + offset += BYTES_PER_PACKET + elapsed = time.time() - start + print "dump sent (MCNT: %d) in %.2fs (%.2f Gb/s)" % (mcnt, elapsed, n_bytes*8 / elapsed / 1e9) + mcnt += MCNT_STEP + diff --git a/src/make_hera_hdf5_template.py b/src/make_hera_hdf5_template.py new file mode 100644 index 00000000..3850e171 --- /dev/null +++ b/src/make_hera_hdf5_template.py @@ -0,0 +1,90 @@ +import h5py +import sys +import numpy as np + +def get_bl_order(n_ants): + """ + Return the order of baseline data output by a CASPER correlator + X engine. + + Extracted from the corr package -- https://github.com/ska-sa/corr + """ + order1, order2 = [], [] + for i in range(n_ants): + for j in range(int(n_ants/2),-1,-1): + k = (i-j) % n_ants + if i >= k: order1.append((k, i)) + else: order2.append((i, k)) + order2 = [o for o in order2 if o not in order1] + return tuple([o for o in order1 + order2]) + +def get_ant_names(): + """ + Generate a list of antenna names, where position + in the list indicates numbering in the data files. + """ + return ["foo"]*350 + +def create_header(h5): + NANTS_DATA = 196 + NANTS = 350 + NTIMES = 10 + n_bls = (NANTS * (NANTS + 1)) / 2 + bls = np.array(get_bl_order(NANTS_DATA)) + + header = h5.create_group("Header") + header.create_dataset("Nants_data", dtype="" + exit() + + with h5py.File(sys.argv[1], 'w') as h5: + create_header(h5) + + From 92d0e1126878621e69be2371d842fb69ca71da01 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 16 Aug 2018 16:58:03 +0000 Subject: [PATCH 058/420] Send NINPUTS*(NINPUTS*1)/2 baselines Not NANTS * (NANTS+1) / 2 * 4 This matches what XGPU does. --- src/gen_fake_corr_output.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/gen_fake_corr_output.py b/src/gen_fake_corr_output.py index 7a37ce39..e0ab91b3 100644 --- a/src/gen_fake_corr_output.py +++ b/src/gen_fake_corr_output.py @@ -3,21 +3,25 @@ import struct import numpy -NANTS = 196 +NANTS = 192 NCHANS = 8192 / 4 * 3 BYTES_PER_PACKET = 1024 MCNT_STEP = 2**18 NX = 8 +TIME_DEMUX = 2 +NT = 2 -DESTIP = "localhost" +DESTIP = socket.gethostbyname("catcher") DESTPORT = 10000 -n_bls = (NANTS * (NANTS+1)) / 2 -n_bytes = NCHANS * n_bls * 4 * 2 * 4 # stokes, real/imag, bytes-per-word +n_bls = (2*NANTS * (2*NANTS+1)) / 2 # 2xNANTS because that's how we deal with pols +n_bytes = NCHANS * n_bls * 2 * 4 # real/imag, bytes-per-word n_pkts = (n_bytes / BYTES_PER_PACKET) +n_pkts_per_x = n_pkts / NX print "MBytes per dump: %.2f" % (n_bytes / 1e6) print "Packets per dump: %.4f" % (n_bytes / float(BYTES_PER_PACKET)) +print "Packets per Xeng: %.4f" % n_pkts_per_x s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -27,15 +31,15 @@ while(True): start = time.time() offset = 0 - for pkt in range(n_pkts): - if pkt % 1000 == 0: - #print pkt - pass - for xeng in range(NX): - p = struct.pack('!QLHH', mcnt, offset, xeng, BYTES_PER_PACKET) + data - #s.sendto(p, (DESTIP, DESTPORT)) + for pkt in range(n_pkts_per_x): + #if pkt % 100000 == 0: + # print pkt + for t in range(TIME_DEMUX): + for xeng in range(NX): + p = struct.pack(' Date: Thu, 16 Aug 2018 16:59:51 +0000 Subject: [PATCH 059/420] "Working" netthread Receives packets OK with python packet generator. Disk thread marks blocks as done (doesn't do any processing yet) --- src/Makefile.am | 7 +- src/catcher_init.sh | 57 +++++++++++++++++ src/catcher_up.sh | 39 +++++++++++ src/hera_catcher_disk_thread.c | 114 +++++++++++++++++++++++++++++++++ src/hera_catcher_net_thread.c | 90 +++++++++++++------------- src/paper_databuf.c | 23 +++++++ src/paper_databuf.h | 39 ++++++++--- 7 files changed, 311 insertions(+), 58 deletions(-) create mode 100755 src/catcher_init.sh create mode 100755 src/catcher_up.sh create mode 100644 src/hera_catcher_disk_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index 8b8ce2b1..5fd160c2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -20,7 +20,8 @@ paper_threads = paper_fake_net_thread.c \ paper_fluff_thread.c \ hera_pktsock_thread.c \ paper_crc_thread.c \ - hera_catcher_net_thread.c + hera_catcher_net_thread.c \ + hera_catcher_disk_thread.c paper_fluff = paper_fluff.h \ paper_fluff.c @@ -40,7 +41,9 @@ paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" dist_bin_SCRIPTS = paper_init.sh \ paper_crc_init.sh \ xtor_down.sh \ - xtor_up.sh + xtor_up.sh \ + catcher_init.sh \ + catcher_up.sh # Non-installed test programs noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 diff --git a/src/catcher_init.sh b/src/catcher_init.sh new file mode 100755 index 00000000..4cc829a8 --- /dev/null +++ b/src/catcher_init.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Add directory containing this script to PATH +PATH="$(dirname $0):${PATH}" + +hostname=`hostname -s` + +function getip() { + out=$(host $1) && echo $out | awk '{print $NF}' +} + +myip=$(getip $(hostname)) + +function init() { + instance=0 + mask=0x00ff + bindhost=eth3 + netcpu=0 + outcpu=1 + + echo taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread + + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread \ + < /dev/null \ + 1> catcher.out.$instance \ + 2> catcher.err.$instance & +} + +if [ -z "$1" ] +then + echo "Usage: $(basename $0) INSTANCE_ID [...]" + exit 1 +fi + +for instidx in "$@" +do + echo Starting instance catcher/$instidx + init + echo Instance catcher/$instidx pid $! + # Sleep to let instance come up + sleep 10 +done + +# Zero out MISSEDPK counts +for instidx in "$@" +do + echo Resetting MISSEDPK counts for catcher/$instidx + hashpipe_check_status -I $instidx -k MISSEDPK -s 0 +done diff --git a/src/catcher_up.sh b/src/catcher_up.sh new file mode 100755 index 00000000..40ff36c4 --- /dev/null +++ b/src/catcher_up.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +show_help_and_exit() { +cat <<. +Script to bring up the HERA correlator data acquisition server. +. +exit $1 +} + +init=catcher_init.sh +catcherhost=hera-sn1 + +# Start X engines +echo Starting catcher instance on $catcherhost +echo "ssh $catcherhost \"${init} 0\" &" +ssh $catcherhost "${init} 0" & +wait + +# Start hashpipe-redis gateways +echo Starting hashpipe-redis gateways on $catcherhost +echo "ssh $catcherhost \"taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0\"" +ssh $catcherhost "taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0" + +# Let the gateways come up +sleep 1 + +# Turn off HOLD flag on all instances +echo Enabling catcher network threads +redis-cli -h redishost publish hashpipe://$catcherhost/0/set CNETHOLD=0 > /dev/null + +sleep 1 + +# Reset all NET{WAT,REC,PRC}M{N,X} counters +echo Resetting all network stats counters +for k in NET{WAT,REC,PRC} +do + redis-cli -h redishost publish hashpipe://$catcherhost/0/set ${k}MN=99999 > /dev/null + redis-cli -h redishost publish hashpipe://$catcherhost/0/set ${k}MX=0 > /dev/null +done diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c new file mode 100644 index 00000000..7e51c626 --- /dev/null +++ b/src/hera_catcher_disk_thread.c @@ -0,0 +1,114 @@ +/* + * paper_fluff_thread.c + * + * Fluffs 4bit+4bit complex data into 8bit+8bit complex data + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hashpipe.h" +#include "paper_databuf.h" +#include "paper_fluff.h" + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our input buffer is a paper_input_databuf + // Our output buffer is a paper_gpu_input_databuf + hera_catcher_input_databuf_t *db_in = (hera_catcher_input_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // Init status variables + hashpipe_status_lock_safe(&st); + hputi8(st.buf, "DISKMCNT", 0); + hashpipe_status_unlock_safe(&st); + + /* Loop */ + int rv; + int curblock_in=0; + float gbps, min_gbps; + + struct timespec start, finish; + + while (run_threads()) { + + // Note waiting status, + // query integrating status + // and, if armed, start count + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "waiting"); + hashpipe_status_unlock_safe(&st); + + // Wait for new input block to be filled + while ((rv=hera_catcher_input_databuf_wait_filled(db_in, curblock_in)) != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked_in"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } + + // Got a new data block, update status + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "writing"); + hputi4(st.buf, "DISKBKIN", curblock_in); + hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt); + hashpipe_status_unlock_safe(&st); + + // Copy header and call fluff function + clock_gettime(CLOCK_MONOTONIC, &start); + + clock_gettime(CLOCK_MONOTONIC, &finish); + + // Note processing time + hashpipe_status_lock_safe(&st); + // Bits per fluff / ns per fluff = Gbps + hgetr4(st.buf, "DISKMING", &min_gbps); + gbps = (float)(8L*N_BYTES_PER_BLOCK)/ELAPSED_NS(start,finish); //Gigabits / s + hputr4(st.buf, "DISKGBPS", gbps); + if(min_gbps == 0 || gbps < min_gbps) { + hputr4(st.buf, "DISKMING", gbps); + } + hashpipe_status_unlock_safe(&st); + + // Mark input block as free and advance + hera_catcher_input_databuf_set_free(db_in, curblock_in); + curblock_in = (curblock_in + 1) % db_in->header.n_block; + + /* Check for cancel */ + pthread_testcancel(); + } + + // Thread success! + return NULL; +} + +static hashpipe_thread_desc_t disk_thread = { + name: "hera_catcher_disk_thread", + skey: "DISKSTAT", + init: NULL, + run: run, + ibuf_desc: {hera_catcher_input_databuf_create}, + obuf_desc: {NULL} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&disk_thread); +} diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index cbf50c55..dcb5b690 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -53,7 +53,7 @@ typedef struct { typedef struct { int initialized; int block_i; - int block_packet_counter[N_INPUT_BLOCKS]; + int block_packet_counter[CATCHER_N_BLOCKS]; } block_info_t; @@ -74,7 +74,7 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu uint32_t block_i = binfo->block_i; // Validate that we're filling blocks in the proper sequence - last_filled = (last_filled+1) % N_INPUT_BLOCKS; + last_filled = (last_filled+1) % CATCHER_N_BLOCKS; if(last_filled != block_i) { printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); @@ -100,13 +100,12 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu // Calculate missing packets. block_missed_pkt_cnt = PACKETS_PER_VIS_MATRIX - binfo->block_packet_counter[block_i]; - //fprintf(stderr, "Packets in block %d: %d, N_PACKETS_PER_BLOCK: %d, N_PACKETS_PER_BLOCK_PER_F: %d, mod_cnt: %d\n", block_i, binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK, N_PACKETS_PER_BLOCK_PER_F, block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F); // Update status buffer hashpipe_status_lock_busywait_safe(st_p); hputu4(st_p->buf, "NETBKOUT", block_i); if(block_missed_pkt_cnt) { - //fprintf(stdout, "Expected %d packets, Got %d\n", N_PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); + //fprintf(stdout, "Expected %lu packets, Got %d\n", PACKETS_PER_VIS_MATRIX, binfo->block_packet_counter[block_i]); // Increment MISSEDPK by number of missed packets for this block hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; @@ -139,7 +138,7 @@ static inline void initialize_block_info(block_info_t * binfo) return; } - for(i = 0; i < N_INPUT_BLOCKS; i++) { + for(i = 0; i < CATCHER_N_BLOCKS; i++) { binfo->block_packet_counter[i] = 0; } @@ -176,8 +175,8 @@ static inline uint64_t process_packet( // Parse packet header packet_header_p = (packet_header_t *)PKT_UDP_DATA(p_frame); - time_demux_block = packet_header_p->mcnt % TIME_DEMUX; - pkt_mcnt = packet_header_p->mcnt - time_demux_block; + time_demux_block = (packet_header_p->mcnt / Nt) % TIME_DEMUX; + pkt_mcnt = packet_header_p->mcnt - (Nt*time_demux_block); cur_mcnt = hera_catcher_input_databuf_p->block[binfo.block_i].header.mcnt; pkt_mcnt_dist = pkt_mcnt - cur_mcnt; @@ -185,46 +184,45 @@ static inline uint64_t process_packet( // pkt_mcnt values (which have the time_demux offsets removed, should always // be the same in consecutive packets, until an integration is complete, at which // point they should increase (in a step determined by the accumulation length) - if(0 <= pkt_mcnt_dist) { - // Mark the current block as filled - if (0 < pkt_mcnt_dist) { - netmcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); - // Wait (hopefully not long!) to acquire the block after next (i.e. - // the block that gets the current packet). - if(hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_p, binfo.block_i) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } - } - // Increment the current block number - binfo.block_i = (binfo.block_i +1) % N_INPUT_BLOCKS; - // Initialize the newly acquired block - initialize_block(hera_catcher_input_databuf_p, pkt_mcnt, binfo.block_i); - // Reset binfo's packet counter for this packet's block - binfo.block_packet_counter[binfo.block_i] = 0; - - // Increment packet count for block - binfo.block_packet_counter[binfo.block_i]++; + // If the MCNT has changed, we need to start a new buffer. + // Mark the current block as filled + if (0 != pkt_mcnt_dist) { + netmcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); + // Reset binfo's packet counter for this packet's block + binfo.block_packet_counter[binfo.block_i] = 0; + // Wait (hopefully not long!) to acquire the block after next (i.e. + // the block that gets the current packet). + if(hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_p, binfo.block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } + } + // Increment the current block number + binfo.block_i = (binfo.block_i +1) % CATCHER_N_BLOCKS; + // Initialize the newly acquired block + initialize_block(hera_catcher_input_databuf_p, pkt_mcnt, binfo.block_i); + + if (0 > pkt_mcnt_dist) { + // If the MCNT went down, then we are relocking. Flag this as a warning. + hashpipe_warn("hera_catcher_net_thread", "Locking on to new MCNT: %lu", pkt_mcnt); } - - // Copy data into buffer - dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (packet_header_p->offset >> 3); - payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + (sizeof(packet_header_t) >> 3)); - memcpy(dest_p, payload_p, packet_header_p->payload_len); - return netmcnt; - } else { - // If not just after an mcnt reset, issue warning. - hashpipe_warn("hera_catcher_net_thread", "Ignoring late packet (%d mcnts late)", cur_mcnt - pkt_mcnt); - return -1; } - + + // Increment packet count for block + binfo.block_packet_counter[binfo.block_i]++; + + // Copy data into buffer + dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (packet_header_p->offset >> 3); + payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + (sizeof(packet_header_t) >> 3)); + memcpy(dest_p, payload_p, packet_header_p->payload_len); + return netmcnt; } @@ -398,7 +396,7 @@ static void *run(hashpipe_thread_args_t * args) if(!run_threads()) break; // Make sure received packet size matches expected packet size. - int packet_size = PKT_UDP_SIZE(p_frame) - sizeof(packet_header_t); + int packet_size = PKT_UDP_SIZE(p_frame) - 8; // -8 for the UDP header (not the *App* header!) if (expected_packet_size != packet_size) { // Log warning and ignore wrongly sized packet #ifdef DEBUG_NET diff --git a/src/paper_databuf.c b/src/paper_databuf.c index 7f57e51f..f99a2d4f 100644 --- a/src/paper_databuf.c +++ b/src/paper_databuf.c @@ -133,6 +133,29 @@ int paper_input_databuf_set_filled(paper_input_databuf_t *d, int block_id) return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); } +hashpipe_databuf_t *hera_catcher_input_databuf_create(int instance_id, int databuf_id) +{ +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + + /* Calc databuf sizes */ + size_t header_size = sizeof(hashpipe_databuf_t) + + sizeof(hashpipe_databuf_cache_alignment); + size_t block_size = sizeof(hera_catcher_input_block_t); + int n_block = CATCHER_N_BLOCKS; + fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, (uint64_t)(VIS_MATRIX_ENTRIES *TIME_DEMUX)); + + return hashpipe_databuf_create( + instance_id, databuf_id, header_size, block_size, n_block); +} + hashpipe_databuf_t *paper_gpu_input_databuf_create(int instance_id, int databuf_id) { #ifdef DEBUG_SEMS diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 0aa5796c..e69052d9 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -52,8 +52,9 @@ // Correlator Output parameters #define CATCHER_PORT 10000 #define OUTPUT_BYTES_PER_PACKET (1024) -#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL * (N_INPUTS * (N_INPUTS + 1)) / 2 * 4) -#define PACKETS_PER_VIS_MATRIX ((8L*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) +#define CATCHER_N_BLOCKS 2 +#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL * (N_INPUTS * (N_INPUTS + 1)) / 2L) +#define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) // The HERA correlator is based largely on the PAPER correlator. The main @@ -265,7 +266,7 @@ typedef struct paper_output_databuf { typedef struct hera_catcher_input_header{ uint64_t mcnt; uint64_t good_data; - uint64_t flags[VIS_MATRIX_ENTRIES]; + //uint8_t flags[VIS_MATRIX_ENTRIES*TIME_DEMUX]; } hera_catcher_input_header_t; typedef uint8_t hera_catcher_input_header_cache_alignment[ @@ -275,7 +276,7 @@ typedef uint8_t hera_catcher_input_header_cache_alignment[ typedef struct hera_catcher_input_block { hera_catcher_input_header_t header; hera_catcher_input_header_cache_alignment padding; // Maintain cache alignment - uint64_t data[VIS_MATRIX_ENTRIES]; + uint64_t data[VIS_MATRIX_ENTRIES*TIME_DEMUX]; } hera_catcher_input_block_t; typedef struct hera_catcher_input_databuf { @@ -359,18 +360,36 @@ static inline int hera_catcher_input_databuf_total_status(hera_catcher_input_dat return hashpipe_databuf_total_status((hashpipe_databuf_t *)d); } +static inline int hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_wait_free((hashpipe_databuf_t *)d, block_id); +} -int hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_t *d, int block_id); +static inline int hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_busywait_free((hashpipe_databuf_t *)d, block_id); +} -int hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_t *d, int block_id); +static inline int hera_catcher_input_databuf_wait_filled(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_wait_filled((hashpipe_databuf_t *)d, block_id); +} -int hera_catcher_input_databuf_wait_filled(hera_catcher_input_databuf_t *d, int block_id); +static inline int hera_catcher_input_databuf_busywait_filled(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_busywait_filled((hashpipe_databuf_t *)d, block_id); +} -int hera_catcher_input_databuf_busywait_filled(hera_catcher_input_databuf_t *d, int block_id); +static inline int hera_catcher_input_databuf_set_free(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_set_free((hashpipe_databuf_t *)d, block_id); +} -int hera_catcher_input_databuf_set_free(hera_catcher_input_databuf_t *d, int block_id); +static inline int hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); +} -int hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_t *d, int block_id); /* * GPU INPUT BUFFER FUNCTIONS From 435dbe4746f285647263ce4398dfc9a2610215e5 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 28 Aug 2018 13:40:10 +0000 Subject: [PATCH 060/420] Update pointer aritmetic for catcher payload writing --- src/hera_catcher_net_thread.c | 2 +- src/paper_databuf.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index dcb5b690..5faf0bca 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -219,7 +219,7 @@ static inline uint64_t process_packet( binfo.block_packet_counter[binfo.block_i]++; // Copy data into buffer - dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (packet_header_p->offset >> 3); + dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset); payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + (sizeof(packet_header_t) >> 3)); memcpy(dest_p, payload_p, packet_header_p->payload_len); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index e69052d9..7c85c0d9 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -54,6 +54,7 @@ #define OUTPUT_BYTES_PER_PACKET (1024) #define CATCHER_N_BLOCKS 2 #define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL * (N_INPUTS * (N_INPUTS + 1)) / 2L) +#define VIS_MATRIX_ENTRIES_PER_CHAN ((N_INPUTS * (N_INPUTS + 1)) / 2L) #define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) @@ -285,6 +286,9 @@ typedef struct hera_catcher_input_databuf { hera_catcher_input_block_t block[N_INPUT_BLOCKS]; } hera_catcher_input_databuf_t; +#define hera_catcher_input_databuf_idx64(t, x, o) \ + (((32*2*VIS_MATRIX_ENTRIES*t) + (VIS_MATRIX_ENTRIES_PER_CHAN *N_CHAN_PER_X*x) + o) / sizeof(uint64_t)) + /* * INPUT BUFFER FUNCTIONS */ From 45cabbc04d02a93bb4e3459f7a1600ff95849b9a Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 28 Aug 2018 16:12:21 +0000 Subject: [PATCH 061/420] Use hdf5 shared libraries for compiling catcher disk thread y --- src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.am b/src/Makefile.am index 5fd160c2..153c63b6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,6 +36,7 @@ paper_gpu_la_LIBADD = -lrt -lxgpu paper_gpu_la_LDFLAGS = -avoid-version -module -shared -export-dynamic paper_gpu_la_LDFLAGS += -L"@XGPU_LIBDIR@" -Wl,-rpath,"@XGPU_LIBDIR@" paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" +paper_gpu_la_LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.so /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so # Installed scripts dist_bin_SCRIPTS = paper_init.sh \ From 39f42eb5fb4f22519375e59046c27bc8efb1937f Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 28 Aug 2018 16:13:05 +0000 Subject: [PATCH 062/420] Add hdf5 copying function using `sendfile` --- src/hera_catcher_disk_thread.c | 37 ++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 7e51c626..8f988d12 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -1,7 +1,7 @@ /* - * paper_fluff_thread.c + * hera_catcher_disk_thread.c * - * Fluffs 4bit+4bit complex data into 8bit+8bit complex data + * Writes correlator to disk as hdf5 files */ #include @@ -12,14 +12,44 @@ #include #include #include +#include +#include +#include +#include +#include #include "hashpipe.h" #include "paper_databuf.h" -#include "paper_fluff.h" #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) +hid_t open_hdf5_from_template(char * sourcename, char * destname) +{ + int read_fd, write_fd; + struct stat stat_buf; + off_t offset = 0; + + read_fd = open(sourcename, O_RDONLY); + if (read_fd < 0) { + return -1; + } + + // Get the file size + fstat(read_fd, &stat_buf); + + write_fd = open(destname, O_WRONLY | O_CREAT, stat_buf.st_mode); + if (write_fd < 0) { + return -1; + } + + sendfile(write_fd, read_fd, &offset, stat_buf.st_size); + + close(read_fd); + close(write_fd); + return H5Fopen(sourcename, H5F_ACC_RDWR, H5P_DEFAULT); +} + static void *run(hashpipe_thread_args_t * args) { // Local aliases to shorten access to args fields @@ -71,7 +101,6 @@ static void *run(hashpipe_thread_args_t * args) hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt); hashpipe_status_unlock_safe(&st); - // Copy header and call fluff function clock_gettime(CLOCK_MONOTONIC, &start); clock_gettime(CLOCK_MONOTONIC, &finish); From f6e9bf685b6647c04dbf5e6a26847c5dcd92edc1 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 31 Aug 2018 14:27:50 +0000 Subject: [PATCH 063/420] Beginning to make extendible visdata --- src/Makefile.am | 3 +- src/hera_catcher_disk_thread.c | 163 ++++++++++++++++++++++++++++++++- src/paper_databuf.h | 4 + 3 files changed, 166 insertions(+), 4 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 153c63b6..25107bf1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,7 +36,8 @@ paper_gpu_la_LIBADD = -lrt -lxgpu paper_gpu_la_LDFLAGS = -avoid-version -module -shared -export-dynamic paper_gpu_la_LDFLAGS += -L"@XGPU_LIBDIR@" -Wl,-rpath,"@XGPU_LIBDIR@" paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" -paper_gpu_la_LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.so /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so +paper_gpu_la_LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial +paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 # Installed scripts dist_bin_SCRIPTS = paper_init.sh \ diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 8f988d12..bc0fbe2f 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -24,6 +24,38 @@ #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) +#define N_DATA_DIMS (4) +/* +Create an extensible dataset for visdata, visdata_diff, flags, nsamples +see https://gist.github.com/simleb/5205083/ +*/ +void make_extensible_hdf5(hid_t id) +{ + hsize_t dims[N_DATA_DIMS] = {0, N_CHAN_TOTAL, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; + hsize_t max_dims[N_DATA_DIMS] = {H5S_UNLIMITED, N_CHAN_TOTAL, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; + + hid_t file_space = H5Screate_simple(N_DATA_DIMS, dims, max_dims); + hid_t plist = H5Pcreate(H5P_DATASET_CREATE); + H5Pset_layout(plist, H5D_CHUNKED); + hsize_t chunk_dims[N_DATA_DIMS] = {2, N_CHAN_TOTAL, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; + H5Pset_chunk(plist, N_DATA_DIMS, chunk_dims); + + // Now we have the dataspace properties, create the datasets + H5Dcreate(id, "visdata", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + H5Dcreate(id, "visdata_diff", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + H5Dcreate(id, "nsamples", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + H5Dcreate(id, "flags", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + H5Pclose(plist); + H5Sclose(file_space); +} +/* +Turn an mcnt into a UNIX time in double-precision. +*/ +double mcnt2time(uint32_t mcnt, uint32_t sync_time) +{ + return (sync_time + mcnt) * (N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE); +} + hid_t open_hdf5_from_template(char * sourcename, char * destname) { int read_fd, write_fd; @@ -58,21 +90,57 @@ static void *run(hashpipe_thread_args_t * args) hera_catcher_input_databuf_t *db_in = (hera_catcher_input_databuf_t *)args->ibuf; hashpipe_status_t st = args->st; const char * status_key = args->thread_desc->skey; + + // Buffers for file name strings + char template_fname[128]; + char hdf5_fname[128]; - // Init status variables + // Variables for sync time and computed gps time / JD + uint32_t sync_time = 0; + uint32_t gps_time; + uint32_t julian_time; + + // How many integrations to dump to a file before starting the next one + uint32_t ms_per_file; + + // Get template filename from redis hashpipe_status_lock_safe(&st); + hgets(st.buf, "HDF5TPLT", 128, template_fname); + + // Get time that F-engines were last sync'd + hgetu4(st.buf, "SYNCTIME", &sync_time); + + hgetu4(st.buf, "MSPERFILE", &ms_per_file); + + // Init status variables hputi8(st.buf, "DISKMCNT", 0); hashpipe_status_unlock_safe(&st); /* Loop */ + int32_t *db_in32; int rv; int curblock_in=0; + int chan_index, bl; + int32_t *data_even; + int32_t *data_odd; + double curr_file_time = -1.0; + hid_t hdf5_id, header_id, extra_header_id, data_group_id, dataset_id; + hid_t visdata_id, visdata_diff_id, flags_id, nsamples_id, mem_space; + double file_start_t, file_stop_t, file_duration; + int64_t file_obs_id, file_nblts=0; float gbps, min_gbps; struct timespec start, finish; + + // Allocate the buffers to be used for summing channels + data_even = (int32_t *)malloc(VIS_MATRIX_ENTRIES_PER_CHAN * 2); + data_odd = (int32_t *)malloc(VIS_MATRIX_ENTRIES_PER_CHAN * 2); + // Define the memory space used by these buffers for HDF5 access + hsize_t dims[N_DATA_DIMS] = {1, 1, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; + mem_space = H5Screate_simple(N_DATA_DIMS, dims, NULL); + mem_space = mem_space; //FIXME while (run_threads()) { - // Note waiting status, // query integrating status // and, if armed, start count @@ -100,8 +168,97 @@ static void *run(hashpipe_thread_args_t * args) hputi4(st.buf, "DISKBKIN", curblock_in); hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt); hashpipe_status_unlock_safe(&st); + + db_in32 = (int32_t *)db_in->block[curblock_in].data; clock_gettime(CLOCK_MONOTONIC, &start); + gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt, sync_time); + julian_time = 2440587.5 + (gps_time / (double)(86400.0)); + if ((gps_time - curr_file_time) > ms_per_file) { + // If a file is open: + if (curr_file_time < 0) { + // Write the meta-data we now know at file close + dataset_id = H5Dopen(extra_header_id, "stopt", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); + H5Dclose(dataset_id); + dataset_id = H5Dopen(extra_header_id, "duration", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_duration); + H5Dclose(dataset_id); + dataset_id = H5Dopen(header_id, "Nblts", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); + // Close dataset + H5Dclose(dataset_id); + // Close groups + H5Gclose(header_id); + H5Gclose(extra_header_id); + H5Gclose(data_group_id); + // Close file + H5Fclose(hdf5_id); + } + // And now start a new file + curr_file_time = gps_time; + file_nblts = 0; + file_start_t = gps_time; + file_obs_id = (int64_t)gps_time; + sprintf(hdf5_fname, "zen.%7.5d.uvh5", julian_time); + hdf5_id = open_hdf5_from_template(hdf5_fname, template_fname); + // Open HDF5 groups + header_id = H5Gopen(hdf5_id, "Header", H5P_DEFAULT); + extra_header_id = H5Gopen(header_id, "extra_keywords", H5P_DEFAULT); + data_group_id = H5Gopen(hdf5_id, "Data", H5P_DEFAULT); + make_extensible_hdf5(data_group_id); + // Get IDs for all the extensible datasets + visdata_id = H5Dopen(data_group_id, "visdata", H5P_DEFAULT); + visdata_diff_id = H5Dopen(data_group_id, "visdata_diff", H5P_DEFAULT); + flags_id = H5Dopen(data_group_id, "flags", H5P_DEFAULT); + nsamples_id = H5Dopen(data_group_id, "nsamples", H5P_DEFAULT); +visdata_id = visdata_id; +visdata_diff_id = visdata_diff_id; +flags_id = flags_id ; +nsamples_id = nsamples_id ; + // Write meta-data values we know at file-open + dataset_id = H5Dopen(extra_header_id, "obs_id", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); + H5Dclose(dataset_id); + dataset_id = H5Dopen(extra_header_id, "startt", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); + H5Dclose(dataset_id); + + + } + file_stop_t = gps_time; + file_duration = file_stop_t - file_start_t; + file_nblts += VIS_MATRIX_ENTRIES_PER_CHAN; + + // Write lst_array, time_array, uvw_array, zenith_dec, zenith_ra + // Write data! + // First accumulate multiple channels. Then make the even/odd sum / differences + + for(chan_index=0; chan_index Date: Fri, 31 Aug 2018 14:28:18 +0000 Subject: [PATCH 064/420] Don't put non-pre-determined values in template header --- src/make_hera_hdf5_template.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/make_hera_hdf5_template.py b/src/make_hera_hdf5_template.py index 3850e171..db48f892 100644 --- a/src/make_hera_hdf5_template.py +++ b/src/make_hera_hdf5_template.py @@ -1,6 +1,7 @@ import h5py import sys import numpy as np +import time def get_bl_order(n_ants): """ @@ -36,7 +37,8 @@ def create_header(h5): header.create_dataset("Nants_data", dtype=" Date: Tue, 4 Sep 2018 23:06:32 +0000 Subject: [PATCH 065/420] "Working" catcher pipeline The gathers data from both the even-sample and off-sample correlators, averages over a specified number of channels (currently 4) and saves the even/odd sum/diffs to HDF5 files (one file for the diffs, one for the sums). This code transposes the baseline/channel axes, as requested by RTP. HDF5 headers are copied from a python-generated template, which is assumed to be static over the course of an observation. Dynamic header items are generated in C on the fly. The performance of this code is quite erratic. Sometimes the netthread throughput is ~20Gb/s. Sometimes it is ~2Gb/s and packets get dropped. Still under investigation. --- .gitmodules | 3 + bitshuffle | 1 + print-nic-stats.sh | 8 +- src/Makefile.am | 11 +- src/catcher.py | 26 +- src/gen_fake_corr_output.py | 21 +- src/hera_catcher_disk_thread.c | 433 ++++++++++++++++++++++++--------- src/hera_catcher_net_thread.c | 24 +- src/make_hera_hdf5_template.py | 100 +++++--- src/paper_databuf.h | 8 +- tweak-perf-sn.sh | 34 +++ 11 files changed, 493 insertions(+), 176 deletions(-) create mode 160000 bitshuffle create mode 100755 tweak-perf-sn.sh diff --git a/.gitmodules b/.gitmodules index c9200ab0..7bde612e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "xGPU"] path = xGPU url = https://github.com/GPU-correlators/xGPU +[submodule "bitshuffle"] + path = bitshuffle + url = https://github.com/kiyo-masui/bitshuffle diff --git a/bitshuffle b/bitshuffle new file mode 160000 index 00000000..04e58bd5 --- /dev/null +++ b/bitshuffle @@ -0,0 +1 @@ +Subproject commit 04e58bd553304ec26e222654f1d9b6ff64e97d10 diff --git a/print-nic-stats.sh b/print-nic-stats.sh index c6a558e3..f2d9802f 100755 --- a/print-nic-stats.sh +++ b/print-nic-stats.sh @@ -1,6 +1,6 @@ #! /bin/bash -ethtool -S eth2 | grep rx_dropped -ethtool -S eth2 | grep vport_dropped -ethtool -S eth2 | grep rx_fifo_errors -ethtool -S eth2 | grep rx_missed_errors +ethtool -S eth3 | grep rx_dropped +ethtool -S eth3 | grep vport_dropped +ethtool -S eth3 | grep rx_fifo_errors +ethtool -S eth3 | grep rx_missed_errors diff --git a/src/Makefile.am b/src/Makefile.am index 25107bf1..7d67f766 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -21,7 +21,11 @@ paper_threads = paper_fake_net_thread.c \ hera_pktsock_thread.c \ paper_crc_thread.c \ hera_catcher_net_thread.c \ - hera_catcher_disk_thread.c + hera_catcher_disk_thread.c \ + lzf/lzf/lzf_c.c \ + lzf/lzf/lzf_d.c \ + lzf/lzf_filter.c \ + lzf_filter.h paper_fluff = paper_fluff.h \ paper_fluff.c @@ -36,8 +40,13 @@ paper_gpu_la_LIBADD = -lrt -lxgpu paper_gpu_la_LDFLAGS = -avoid-version -module -shared -export-dynamic paper_gpu_la_LDFLAGS += -L"@XGPU_LIBDIR@" -Wl,-rpath,"@XGPU_LIBDIR@" paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" +# Include HDF5 Libraries paper_gpu_la_LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 +# Include HDF5 compression libraries +#paper_gpu_la_LDFLAGS += -L/usr/local/lib/python2.7/dist-packages/bitshuffle/plugin +#paper_gpu_la_LDFLAGS += -lh5LZF -lh5bshuf + # Installed scripts dist_bin_SCRIPTS = paper_init.sh \ diff --git a/src/catcher.py b/src/catcher.py index 39c0d87f..30f6dd8b 100644 --- a/src/catcher.py +++ b/src/catcher.py @@ -6,18 +6,22 @@ NANTS = 192 -NCHANS = 384 -NWORDS = NANTS * (NANTS+1) / 2 * 2 * 4 * NCHANS +NCHANS = 8192 / 4 * 3 +NXENG = 16 +NWORDS = 2 * NANTS * (NANTS+1) / 2 * 4 * NCHANS -BYTES_PER_PACKET = 1024 + 16 +PAYLOAD_LEN = 8192 +BYTES_PER_PACKET = PAYLOAD_LEN + 16 +max_offset = NWORDS*8 / NXENG - PAYLOAD_LEN +print "Max offset:", max_offset -NPACKETS = NWORDS / 256 +NPACKETS = NWORDS * 8 / PAYLOAD_LEN print "Expecting %d packets" % NPACKETS sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 800000) -sock.bind(("0.0.0.0", 7148)) +sock.bind(("10.80.40.251", 10000)) dout = np.zeros(NWORDS, dtype=np.int32) @@ -26,7 +30,7 @@ start = time.time() while True: data = sock.recv(BYTES_PER_PACKET) - unpacked = struct.unpack('>QLHH', data[0:16]) + unpacked = struct.unpack(' 0: + time.sleep(wait_time) + total_time = time.time() - start + print "dump sent (MCNT: %d) in %.2fs at %.2f Gb/s" % (mcnt, total_time, n_bytes*8 / elapsed / 1e9) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index bc0fbe2f..020a320b 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -17,54 +17,118 @@ #include #include #include +#include +#include #include "hashpipe.h" #include "paper_databuf.h" +#include "lzf_filter.h" #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) #define N_DATA_DIMS (4) +#define N_CHAN_PROCESSED (N_CHAN_TOTAL / CATCHER_CHAN_SUM) +#define N_BL_PER_WRITE (8) + +static hid_t complex_id; + +typedef struct { + hid_t file_id; + hid_t header_gid; + hid_t data_gid; + hid_t extra_keywords_gid; + hid_t visdata_did; + hid_t flags_did; + hid_t nsamples_did; + hid_t visdata_fs; + hid_t flags_fs; + hid_t nsamples_fs; +} hdf5_id_t; + +void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts) { + hid_t dataset_id; + dataset_id = H5Dopen(id->extra_keywords_gid, "stopt", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); + H5Dclose(dataset_id); + dataset_id = H5Dopen(id->extra_keywords_gid, "duration", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_duration); + H5Dclose(dataset_id); + dataset_id = H5Dopen(id->header_gid, "Nblts", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); + H5Dclose(dataset_id); + // Close datasets + H5Dclose(id->visdata_did); + H5Dclose(id->flags_did); + H5Dclose(id->nsamples_did); + // Close groups + H5Gclose(id->extra_keywords_gid); + H5Gclose(id->header_gid); + H5Gclose(id->data_gid); + // Close file + H5Fflush(id->file_id, H5F_SCOPE_GLOBAL); + H5Fclose(id->file_id); +} + /* Create an extensible dataset for visdata, visdata_diff, flags, nsamples see https://gist.github.com/simleb/5205083/ */ -void make_extensible_hdf5(hid_t id) +// see https://support.hdfgroup.org/services/contributions.html +# define FILTER_H5_LZF 32000 +# define FILTER_H5_BITSHUFFLE 32008 +void make_extensible_hdf5(hdf5_id_t *id) { - hsize_t dims[N_DATA_DIMS] = {0, N_CHAN_TOTAL, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; - hsize_t max_dims[N_DATA_DIMS] = {H5S_UNLIMITED, N_CHAN_TOTAL, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; + hsize_t dims[N_DATA_DIMS] = {0, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; + hsize_t max_dims[N_DATA_DIMS] = {16, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; + hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, dims, max_dims); hid_t plist = H5Pcreate(H5P_DATASET_CREATE); + + //hid_t plist_lzf = H5Pcreate(H5P_DATASET_CREATE); + //H5Pset_chunk(plist_lzf, N_DATA_DIMS, chunk_dims); + //H5Pset_shuffle(plist_lzf); + //H5Pset_filter(plist_lzf, H5PY_FILTER_LZF, H5Z_FLAG_OPTIONAL, 0, NULL); + H5Pset_layout(plist, H5D_CHUNKED); - hsize_t chunk_dims[N_DATA_DIMS] = {2, N_CHAN_TOTAL, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; + H5Pset_chunk(plist, N_DATA_DIMS, chunk_dims); // Now we have the dataspace properties, create the datasets - H5Dcreate(id, "visdata", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - H5Dcreate(id, "visdata_diff", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - H5Dcreate(id, "nsamples", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - H5Dcreate(id, "flags", H5T_NATIVE_FLOAT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + id->visdata_did = H5Dcreate(id->data_gid, "visdata", complex_id, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->visdata_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create visdata dataset"); + pthread_exit(NULL); + } + + id->nsamples_did = H5Dcreate(id->data_gid, "nsamples", H5T_STD_I64LE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->nsamples_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create nsamples dataset"); + pthread_exit(NULL); + } + + id->flags_did = H5Dcreate(id->data_gid, "flags", H5T_NATIVE_HBOOL, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->flags_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create flags dataset"); + pthread_exit(NULL); + } + H5Pclose(plist); H5Sclose(file_space); } -/* -Turn an mcnt into a UNIX time in double-precision. -*/ -double mcnt2time(uint32_t mcnt, uint32_t sync_time) -{ - return (sync_time + mcnt) * (N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE); -} hid_t open_hdf5_from_template(char * sourcename, char * destname) { int read_fd, write_fd; struct stat stat_buf; off_t offset = 0; + hid_t status; read_fd = open(sourcename, O_RDONLY); if (read_fd < 0) { - return -1; + hashpipe_error(__FUNCTION__, "error opening %s", sourcename); + pthread_exit(NULL); } // Get the file size @@ -72,14 +136,180 @@ hid_t open_hdf5_from_template(char * sourcename, char * destname) write_fd = open(destname, O_WRONLY | O_CREAT, stat_buf.st_mode); if (write_fd < 0) { - return -1; + hashpipe_error(__FUNCTION__, "error opening %s", destname); + pthread_exit(NULL); } sendfile(write_fd, read_fd, &offset, stat_buf.st_size); close(read_fd); close(write_fd); - return H5Fopen(sourcename, H5F_ACC_RDWR, H5P_DEFAULT); + + status = H5Fopen(destname, H5F_ACC_RDWR, H5P_DEFAULT); + if (status < 0) { + hashpipe_error(__FUNCTION__, "error opening %s as HDF5 file", destname); + pthread_exit(NULL); + } + + return status; +} + + +void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t) { + hid_t dataset_id; + + id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); + // Open HDF5 header groups and create data group + + id->header_gid = H5Gopen(id->file_id, "Header", H5P_DEFAULT); + if (id->header_gid < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header"); + pthread_exit(NULL); + } + + id->extra_keywords_gid = H5Gopen(id->header_gid, "extra_keywords", H5P_DEFAULT); + if (id->extra_keywords_gid < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords"); + pthread_exit(NULL); + } + + id->data_gid = H5Gcreate(id->file_id, "Data", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (id->data_gid < 0) { + hashpipe_error(__FUNCTION__, "Failed to create Data group"); + pthread_exit(NULL); + } + // Create the extensible "Data" group datasets. This function + // assigns all the dataset ids to the id struct + make_extensible_hdf5(id); + + // Write meta-data values we know at file-open + dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); + H5Dclose(dataset_id); + dataset_id = H5Dopen(id->extra_keywords_gid, "startt", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); + H5Dclose(dataset_id); +} + +void extend_datasets(hdf5_id_t *id, int n) { + hsize_t dims[N_DATA_DIMS] = {n, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; + H5Dset_extent(id->visdata_did, dims); + H5Dset_extent(id->flags_did, dims); + H5Dset_extent(id->nsamples_did, dims); + id->visdata_fs = H5Dget_space(id->visdata_did); + id->flags_fs = H5Dget_space(id->flags_did); + id->nsamples_fs = H5Dget_space(id->nsamples_did); +} + +void close_filespaces(hdf5_id_t *id) { + H5Sclose(id->visdata_fs); + H5Sclose(id->flags_fs); + H5Sclose(id->nsamples_fs); +} + + + +/* +Write an n_baselines x n_stokes data block to dataset `id` at time position `t`, channel number `c` +*/ +void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, uint64_t *visdata_buf) +{ + hsize_t start[N_DATA_DIMS] = {t, b, 0, 0}; + hsize_t count[N_DATA_DIMS] = {1, N_BL_PER_WRITE, N_CHAN_PROCESSED, N_STOKES}; + H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); + H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); +} + +/* +Turn an mcnt into a UNIX time in double-precision. +*/ +double mcnt2time(uint64_t mcnt, uint32_t sync_time) +{ + return (sync_time + mcnt) * (N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE); +} + +/* +Given an intire input buffer -- +even/odd x 1 time x N_chans x N_bls x N_stokes x 2 (real/imag) +Write -- +even/odd-sum x 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_sum`. +even/odd-diff dx 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_diff`. +Choose the baseline with the index `b` +This function sums over CATCHER_SUM_CHANS as it transposes, and computes even/odd sum/diff. + +*/ +#define corr_databuf_data_idx(c, b) (2*((c*VIS_MATRIX_ENTRIES_PER_CHAN) + (N_STOKES*b))) +void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int b) { + + int i, chan, output_chan; + __m256i sum_even[N_BL_PER_WRITE], sum_odd[N_BL_PER_WRITE]; + __m256i val_even[N_BL_PER_WRITE], val_odd[N_BL_PER_WRITE]; + // Wasteful, but initialize so that the compiler is happy... + for(i=0; i> 2); + in_odd256 += (VIS_MATRIX_ENTRIES_PER_CHAN >> 2); + // If this is the last channel in the sum, take the even/odd sum/diff, and write to the + // output buffer + if ((chan % CATCHER_CHAN_SUM) == (CATCHER_CHAN_SUM-1)) { + output_chan = chan / CATCHER_CHAN_SUM; + // Compute sums/diffs + for(i=0; ist; + if (register_lzf() < 0) { + hashpipe_error(__FUNCTION__, "error registering LZF filter"); + pthread_exit(NULL); + } + fprintf(stdout, "Initializing Catcher disk thread\n"); + + // generate the complex data type + complex_id = H5Tcreate(H5T_COMPOUND, 8); + H5Tinsert(complex_id, "r", 0, H5T_STD_I32LE); + H5Tinsert(complex_id, "i", 4, H5T_STD_I32LE); + return 0; } static void *run(hashpipe_thread_args_t * args) @@ -97,10 +327,11 @@ static void *run(hashpipe_thread_args_t * args) // Variables for sync time and computed gps time / JD uint32_t sync_time = 0; - uint32_t gps_time; - uint32_t julian_time; + double gps_time; + double julian_time; // How many integrations to dump to a file before starting the next one + // This is read from shared memory uint32_t ms_per_file; // Get template filename from redis @@ -110,35 +341,41 @@ static void *run(hashpipe_thread_args_t * args) // Get time that F-engines were last sync'd hgetu4(st.buf, "SYNCTIME", &sync_time); - hgetu4(st.buf, "MSPERFILE", &ms_per_file); + hgetu4(st.buf, "MSPERFIL", &ms_per_file); // Init status variables hputi8(st.buf, "DISKMCNT", 0); hashpipe_status_unlock_safe(&st); + + fprintf(stdout, "Catcher using header template %s\n", template_fname); + fprintf(stdout, "Catcher using sync time %u\n", sync_time); + fprintf(stdout, "Catcher recording %ums per file\n", ms_per_file); /* Loop */ int32_t *db_in32; int rv; int curblock_in=0; - int chan_index, bl; - int32_t *data_even; - int32_t *data_odd; + int bl; double curr_file_time = -1.0; - hid_t hdf5_id, header_id, extra_header_id, data_group_id, dataset_id; - hid_t visdata_id, visdata_diff_id, flags_id, nsamples_id, mem_space; double file_start_t, file_stop_t, file_duration; - int64_t file_obs_id, file_nblts=0; + int64_t file_obs_id, file_nblts=0, file_nts=0; float gbps, min_gbps; struct timespec start, finish; + + hdf5_id_t sum_file, diff_file; - // Allocate the buffers to be used for summing channels - data_even = (int32_t *)malloc(VIS_MATRIX_ENTRIES_PER_CHAN * 2); - data_odd = (int32_t *)malloc(VIS_MATRIX_ENTRIES_PER_CHAN * 2); + int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + + // Allocate an array of bools for flags and n_samples + hbool_t *flags = (hbool_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(hbool_t)); + uint64_t *nsamples = (uint64_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED* sizeof(uint64_t)); + // Define the memory space used by these buffers for HDF5 access - hsize_t dims[N_DATA_DIMS] = {1, 1, VIS_MATRIX_ENTRIES_PER_CHAN, N_STOKES}; - mem_space = H5Screate_simple(N_DATA_DIMS, dims, NULL); - mem_space = mem_space; //FIXME + // We write 1 baseline-time at a time + hsize_t dims[N_DATA_DIMS] = {1, N_BL_PER_WRITE, N_CHAN_PROCESSED, N_STOKES}; + hid_t mem_space = H5Screate_simple(N_DATA_DIMS, dims, NULL); while (run_threads()) { // Note waiting status, @@ -173,101 +410,71 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &start); gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt, sync_time); + fprintf(stdout, "Processing new block with: mcnt: %lu\n", db_in->block[curblock_in].header.mcnt); + fprintf(stdout, "Processing new block with: gps_time: %lf\n", gps_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); - if ((gps_time - curr_file_time) > ms_per_file) { - // If a file is open: - if (curr_file_time < 0) { - // Write the meta-data we now know at file close - dataset_id = H5Dopen(extra_header_id, "stopt", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); - H5Dclose(dataset_id); - dataset_id = H5Dopen(extra_header_id, "duration", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_duration); - H5Dclose(dataset_id); - dataset_id = H5Dopen(header_id, "Nblts", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); - // Close dataset - H5Dclose(dataset_id); - // Close groups - H5Gclose(header_id); - H5Gclose(extra_header_id); - H5Gclose(data_group_id); - // Close file - H5Fclose(hdf5_id); + + if ((curr_file_time < 0) || (1000*(gps_time - curr_file_time) > ms_per_file)) { + fprintf(stdout, "New file trigger: gps_time: %lf, curr_file_time: %lf\n", gps_time, curr_file_time); + // If a file is open, finish its meta-data and close it. + if (curr_file_time >= 0) { + fprintf(stdout, "Closing datasets and files\n"); + close_file(&sum_file, file_stop_t, file_duration, file_nblts); + close_file(&diff_file, file_stop_t, file_duration, file_nblts); } + // And now start a new file curr_file_time = gps_time; file_nblts = 0; + file_nts = 0; file_start_t = gps_time; file_obs_id = (int64_t)gps_time; - sprintf(hdf5_fname, "zen.%7.5d.uvh5", julian_time); - hdf5_id = open_hdf5_from_template(hdf5_fname, template_fname); - // Open HDF5 groups - header_id = H5Gopen(hdf5_id, "Header", H5P_DEFAULT); - extra_header_id = H5Gopen(header_id, "extra_keywords", H5P_DEFAULT); - data_group_id = H5Gopen(hdf5_id, "Data", H5P_DEFAULT); - make_extensible_hdf5(data_group_id); - // Get IDs for all the extensible datasets - visdata_id = H5Dopen(data_group_id, "visdata", H5P_DEFAULT); - visdata_diff_id = H5Dopen(data_group_id, "visdata_diff", H5P_DEFAULT); - flags_id = H5Dopen(data_group_id, "flags", H5P_DEFAULT); - nsamples_id = H5Dopen(data_group_id, "nsamples", H5P_DEFAULT); -visdata_id = visdata_id; -visdata_diff_id = visdata_diff_id; -flags_id = flags_id ; -nsamples_id = nsamples_id ; - // Write meta-data values we know at file-open - dataset_id = H5Dopen(extra_header_id, "obs_id", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); - H5Dclose(dataset_id); - dataset_id = H5Dopen(extra_header_id, "startt", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); - H5Dclose(dataset_id); - - + sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); + start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t); + sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); + start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t); } + + // Update time and sample counters file_stop_t = gps_time; - file_duration = file_stop_t - file_start_t; + file_duration = file_stop_t - file_start_t; //really want a +1 * acc_len here file_nblts += VIS_MATRIX_ENTRIES_PER_CHAN; + file_nts += 1; + + // extend the datasets with time axes and update filespace IDs + extend_datasets(&sum_file, file_nts); + extend_datasets(&diff_file, file_nts); - // Write lst_array, time_array, uvw_array, zenith_dec, zenith_ra - // Write data! - // First accumulate multiple channels. Then make the even/odd sum / differences - - for(chan_index=0; chan_indexbuf, "NETBKOUT", block_i); if(block_missed_pkt_cnt) { - //fprintf(stdout, "Expected %lu packets, Got %d\n", PACKETS_PER_VIS_MATRIX, binfo->block_packet_counter[block_i]); + fprintf(stdout, "Expected %lu packets, Got %d\n", PACKETS_PER_VIS_MATRIX, binfo->block_packet_counter[block_i]); // Increment MISSEDPK by number of missed packets for this block hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; @@ -164,19 +164,24 @@ static inline uint64_t process_packet( int64_t pkt_mcnt_dist; uint64_t pkt_mcnt; int time_demux_block; - uint64_t cur_mcnt; + uint64_t cur_mcnt = -1; uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) //int i; - // Lazy init binfo - if(!binfo.initialized) { - initialize_block_info(&binfo); - } // Parse packet header packet_header_p = (packet_header_t *)PKT_UDP_DATA(p_frame); time_demux_block = (packet_header_p->mcnt / Nt) % TIME_DEMUX; pkt_mcnt = packet_header_p->mcnt - (Nt*time_demux_block); + //fprintf(stdout, "header_cal: %lu, time_demux_block: %d; mcnt: %lu\n", packet_header_p->mcnt, time_demux_block, pkt_mcnt); + + // Lazy init binfo + if(!binfo.initialized) { + initialize_block_info(&binfo); + // If this is the first block, then set it's mcnt (which was dummy init-ed to 0)` + initialize_block(hera_catcher_input_databuf_p, pkt_mcnt, binfo.block_i); + } + cur_mcnt = hera_catcher_input_databuf_p->block[binfo.block_i].header.mcnt; pkt_mcnt_dist = pkt_mcnt - cur_mcnt; @@ -187,6 +192,7 @@ static inline uint64_t process_packet( // If the MCNT has changed, we need to start a new buffer. // Mark the current block as filled if (0 != pkt_mcnt_dist) { + fprintf(stdout, "Marking block filled\n"); netmcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); // Reset binfo's packet counter for this packet's block binfo.block_packet_counter[binfo.block_i] = 0; @@ -219,8 +225,10 @@ static inline uint64_t process_packet( binfo.block_packet_counter[binfo.block_i]++; // Copy data into buffer - dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset); - payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + (sizeof(packet_header_t) >> 3)); + dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); + payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); + //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d)\n", packet_header_p->mcnt, time_demux_block, packet_header_p->offset, packet_header_p->xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1]); + //fprintf(stdout, "offset: %d\n", hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); memcpy(dest_p, payload_p, packet_header_p->payload_len); return netmcnt; diff --git a/src/make_hera_hdf5_template.py b/src/make_hera_hdf5_template.py index db48f892..700d66f1 100644 --- a/src/make_hera_hdf5_template.py +++ b/src/make_hera_hdf5_template.py @@ -2,6 +2,7 @@ import sys import numpy as np import time +import pickle def get_bl_order(n_ants): """ @@ -26,10 +27,29 @@ def get_ant_names(): """ return ["foo"]*350 -def create_header(h5): +def get_cm_info(): + from hera_cm import sys_handler + h = sys_handler.Handler() + return h.get_cminfo_correlator() + +def create_header(h5, use_cm=False): + """ + Create an HDF5 file with appropriate datasets in a "Header" + data group. + + inputs: h5 -- an h5py File object + use_cm -- boolean. If True, get valid data from the hera_cm + system. If False, just stuff the header with fake + data. + """ + if use_cm: + cminfo = get_cm_info() + NANTS_DATA = 196 NANTS = 350 - NTIMES = 10 + NCHANS = 2048 / 4. * 3 + ANT_DIAMETER = 14.0 + INT_TIME = 10.0 n_bls = (NANTS * (NANTS + 1)) / 2 bls = np.array(get_bl_order(NANTS_DATA)) @@ -37,54 +57,76 @@ def create_header(h5): header.create_dataset("Nants_data", dtype=">1) + 1))) +#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) #define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) #define N_STOKES 4 @@ -291,7 +291,7 @@ typedef struct hera_catcher_input_databuf { } hera_catcher_input_databuf_t; #define hera_catcher_input_databuf_idx64(t, x, o) \ - (((32*2*VIS_MATRIX_ENTRIES*t) + (VIS_MATRIX_ENTRIES_PER_CHAN *N_CHAN_PER_X*x) + o) / sizeof(uint64_t)) + (((VIS_MATRIX_ENTRIES*t) + (VIS_MATRIX_ENTRIES_PER_CHAN * N_CHAN_PER_X*x)) + (o>>3)) /* * INPUT BUFFER FUNCTIONS diff --git a/tweak-perf-sn.sh b/tweak-perf-sn.sh new file mode 100755 index 00000000..ffe3b345 --- /dev/null +++ b/tweak-perf-sn.sh @@ -0,0 +1,34 @@ +#! /bin/bash + +# Set high performance mode +for i in `ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`; do echo performance > $i; done + +# Set mtu +ifconfig eth3 mtu 9000 + +# Turn on pause requests +ethtool -A eth3 rx on + +# Kernel buffer sizes +sysctl net.core.rmem_max=8388608 +sysctl net.core.rmem_default=8388608 + +# Kill packets before the IP stack +iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP + +# Set interrupt coalescing +ethtool -C eth3 adaptive-rx off +ethtool -C eth3 rx-frames 8 +ethtool -C eth3 rx-usecs 0 + +# Set ring sizes to max +ethtool -G eth3 rx 8192 + +# Set Receiver Side Steering +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 +ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 4 loc 2 + + From 86df9862d292b460e59b3927d40889d36a3c09c4 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 5 Sep 2018 11:38:26 +0000 Subject: [PATCH 066/420] Fix performance / functional bug Fix a problem with the netthreads use of hashpipe blocks which resulted in mangling the timing of filling/freeing blocks --- src/Makefile.am | 8 +-- src/gen_fake_corr_output.py | 3 +- src/hera_catcher_disk_thread.c | 93 +++++++++++++++++++++++----------- src/hera_catcher_net_thread.c | 31 +++++++----- 4 files changed, 89 insertions(+), 46 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 7d67f766..ce6398ef 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -22,10 +22,10 @@ paper_threads = paper_fake_net_thread.c \ paper_crc_thread.c \ hera_catcher_net_thread.c \ hera_catcher_disk_thread.c \ - lzf/lzf/lzf_c.c \ - lzf/lzf/lzf_d.c \ - lzf/lzf_filter.c \ - lzf_filter.h + #lzf/lzf/lzf_c.c \ + #lzf/lzf/lzf_d.c \ + #lzf/lzf_filter.c \ + #lzf_filter.h paper_fluff = paper_fluff.h \ paper_fluff.c diff --git a/src/gen_fake_corr_output.py b/src/gen_fake_corr_output.py index 0272e010..432ebd74 100644 --- a/src/gen_fake_corr_output.py +++ b/src/gen_fake_corr_output.py @@ -38,7 +38,8 @@ # print pkt for t in range(TIME_DEMUX): for xeng in range(NX): - p = struct.pack(' (b) ? (a) : (b)) +#endif + #define N_DATA_DIMS (4) #define N_CHAN_PROCESSED (N_CHAN_TOTAL / CATCHER_CHAN_SUM) -#define N_BL_PER_WRITE (8) +#define N_BL_PER_WRITE (32) static hid_t complex_id; @@ -46,7 +54,7 @@ typedef struct { hid_t nsamples_fs; } hdf5_id_t; -void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts) { +static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts) { hid_t dataset_id; dataset_id = H5Dopen(id->extra_keywords_gid, "stopt", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); @@ -77,7 +85,7 @@ see https://gist.github.com/simleb/5205083/ // see https://support.hdfgroup.org/services/contributions.html # define FILTER_H5_LZF 32000 # define FILTER_H5_BITSHUFFLE 32008 -void make_extensible_hdf5(hdf5_id_t *id) +static void make_extensible_hdf5(hdf5_id_t *id) { hsize_t dims[N_DATA_DIMS] = {0, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; hsize_t max_dims[N_DATA_DIMS] = {16, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; @@ -118,7 +126,7 @@ void make_extensible_hdf5(hdf5_id_t *id) H5Sclose(file_space); } -hid_t open_hdf5_from_template(char * sourcename, char * destname) +static hid_t open_hdf5_from_template(char * sourcename, char * destname) { int read_fd, write_fd; struct stat stat_buf; @@ -155,7 +163,7 @@ hid_t open_hdf5_from_template(char * sourcename, char * destname) } -void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t) { +static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t) { hid_t dataset_id; id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); @@ -191,7 +199,7 @@ void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t H5Dclose(dataset_id); } -void extend_datasets(hdf5_id_t *id, int n) { +static void extend_datasets(hdf5_id_t *id, int n) { hsize_t dims[N_DATA_DIMS] = {n, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; H5Dset_extent(id->visdata_did, dims); H5Dset_extent(id->flags_did, dims); @@ -201,7 +209,7 @@ void extend_datasets(hdf5_id_t *id, int n) { id->nsamples_fs = H5Dget_space(id->nsamples_did); } -void close_filespaces(hdf5_id_t *id) { +static void close_filespaces(hdf5_id_t *id) { H5Sclose(id->visdata_fs); H5Sclose(id->flags_fs); H5Sclose(id->nsamples_fs); @@ -212,7 +220,7 @@ void close_filespaces(hdf5_id_t *id) { /* Write an n_baselines x n_stokes data block to dataset `id` at time position `t`, channel number `c` */ -void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, uint64_t *visdata_buf) +static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, uint64_t *visdata_buf) { hsize_t start[N_DATA_DIMS] = {t, b, 0, 0}; hsize_t count[N_DATA_DIMS] = {1, N_BL_PER_WRITE, N_CHAN_PROCESSED, N_STOKES}; @@ -223,7 +231,7 @@ void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, uint64 /* Turn an mcnt into a UNIX time in double-precision. */ -double mcnt2time(uint64_t mcnt, uint32_t sync_time) +static double mcnt2time(uint64_t mcnt, uint32_t sync_time) { return (sync_time + mcnt) * (N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE); } @@ -239,7 +247,7 @@ This function sums over CATCHER_SUM_CHANS as it transposes, and computes even/od */ #define corr_databuf_data_idx(c, b) (2*((c*VIS_MATRIX_ENTRIES_PER_CHAN) + (N_STOKES*b))) -void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int b) { +static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int b) { int i, chan, output_chan; __m256i sum_even[N_BL_PER_WRITE], sum_odd[N_BL_PER_WRITE]; @@ -256,15 +264,12 @@ void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int b) __m256i *in_odd256 = (__m256i *)in_odd; __m256i *out_sum256 = (__m256i *)out_sum; __m256i *out_diff256 = (__m256i *)out_diff; - int32_t temp[8]; for (chan=0; chanst; - if (register_lzf() < 0) { - hashpipe_error(__FUNCTION__, "error registering LZF filter"); - pthread_exit(NULL); - } + //if (register_lzf() < 0) { + // hashpipe_error(__FUNCTION__, "error registering LZF filter"); + // pthread_exit(NULL); + //} fprintf(stdout, "Initializing Catcher disk thread\n"); // generate the complex data type @@ -320,6 +325,22 @@ static void *run(hashpipe_thread_args_t * args) hera_catcher_input_databuf_t *db_in = (hera_catcher_input_databuf_t *)args->ibuf; hashpipe_status_t st = args->st; const char * status_key = args->thread_desc->skey; + + // Timers for performance monitoring + struct timespec t_start, w_start, w_stop; // transpose start, write start, write stop + float gbps, min_gbps; + + struct timespec start, finish; + uint64_t t_ns; + uint64_t w_ns; + uint64_t min_t_ns = 999999999; + uint64_t min_w_ns = 999999999; + uint64_t max_t_ns = 0; + uint64_t max_w_ns = 0; + uint64_t elapsed_t_ns = 0; + uint64_t elapsed_w_ns = 0; + float bl_t_ns = 0.0; + float bl_w_ns = 0.0; // Buffers for file name strings char template_fname[128]; @@ -359,9 +380,6 @@ static void *run(hashpipe_thread_args_t * args) double curr_file_time = -1.0; double file_start_t, file_stop_t, file_duration; int64_t file_obs_id, file_nblts=0, file_nts=0; - float gbps, min_gbps; - - struct timespec start, finish; hdf5_id_t sum_file, diff_file; @@ -410,8 +428,7 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &start); gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt, sync_time); - fprintf(stdout, "Processing new block with: mcnt: %lu\n", db_in->block[curblock_in].header.mcnt); - fprintf(stdout, "Processing new block with: gps_time: %lf\n", gps_time); + fprintf(stdout, "Processing new block with: mcnt: %lu (gps time: %lf\n", db_in->block[curblock_in].header.mcnt, gps_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); if ((curr_file_time < 0) || (1000*(gps_time - curr_file_time) > ms_per_file)) { @@ -450,26 +467,44 @@ static void *run(hashpipe_thread_args_t * args) // TODO: Write lst_array, time_array, uvw_array, zenith_dec, zenith_ra // Sum over channels, compute even/odd sum/diffs, and get data on a per-baseline basis - fprintf(stdout, "Writing integration\n"); for(bl=0; bl<(VIS_MATRIX_ENTRIES_PER_CHAN/N_STOKES); bl+=N_BL_PER_WRITE) { + clock_gettime(CLOCK_MONOTONIC, &t_start); transpose_bl_chan(db_in32, bl_buf_sum, bl_buf_diff, bl); //write data to file + clock_gettime(CLOCK_MONOTONIC, &w_start); write_channels(&sum_file, file_nts-1, bl, mem_space, (uint64_t *)bl_buf_sum); write_channels(&diff_file, file_nts-1, bl, mem_space, (uint64_t *)bl_buf_diff); - //write_baselines(nsamples_id, file_nts-1, chunk_index*CHAN_CHUNK_SIZE, fs_nsamples_id, mem_space, (uint64_t *)nsamples, H5T_STD_I64LE); + clock_gettime(CLOCK_MONOTONIC, &w_stop); flags = flags; nsamples = nsamples; + + t_ns = ELAPSED_NS(t_start, w_start); + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_t_ns += t_ns; + elapsed_w_ns += w_ns; + min_t_ns = MIN(t_ns, min_t_ns); + max_t_ns = MAX(t_ns, min_t_ns); + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, min_w_ns); } - fprintf(stdout, "Integration written\n"); // Close the filespaces - leave the datasets open. We'll close those when the file is done close_filespaces(&sum_file); close_filespaces(&diff_file); clock_gettime(CLOCK_MONOTONIC, &finish); - // Note processing time for this integration + // Note processing time for this integration and update other stats + bl_t_ns = (float)elapsed_t_ns / VIS_MATRIX_ENTRIES_PER_CHAN; + bl_w_ns = (float)elapsed_w_ns / VIS_MATRIX_ENTRIES_PER_CHAN; + hashpipe_status_lock_safe(&st); + hputr4(st.buf, "DISKTBNS", bl_t_ns); + hputi8(st.buf, "DISKTMIN", min_t_ns); + hputi8(st.buf, "DISKTMAX", max_t_ns); + hputr4(st.buf, "DISKWBNS", bl_w_ns); + hputi8(st.buf, "DISKWMIN", min_w_ns); + hputi8(st.buf, "DISKWMAX", max_w_ns); hgetr4(st.buf, "DISKMING", &min_gbps); gbps = (float)(2*64L*VIS_MATRIX_ENTRIES/CATCHER_CHAN_SUM)/ELAPSED_NS(start,finish); //Gigabits / s diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 4a22072f..c75091c9 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -43,9 +43,9 @@ typedef struct { uint64_t mcnt; // MCNT of the first block in this integrations - uint32_t offset; // offset in bytes where this packet belongs in the correlation - uint16_t xeng_id; // First channel in a packet - uint16_t payload_len; // Antenna in a packet + uint64_t offset; // offset in bytes where this packet belongs in the correlation + uint64_t xeng_id; // First channel in a packet + uint64_t payload_len; // Antenna in a packet } packet_header_t; // The fields of a block_info_t structure hold meta-data about the contents of @@ -58,9 +58,7 @@ typedef struct { static hashpipe_status_t *st_p; - -//static uint64_t mcnt_log[MAX_MCNT_LOG]; -//static int mcnt_log_idx = 0; +static const char * status_key; // This sets the "current" block to be marked as filled. The current block is // the block corresponding to binfo->block_i. Returns mcnt of the block @@ -192,12 +190,16 @@ static inline uint64_t process_packet( // If the MCNT has changed, we need to start a new buffer. // Mark the current block as filled if (0 != pkt_mcnt_dist) { - fprintf(stdout, "Marking block filled\n"); netmcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); // Reset binfo's packet counter for this packet's block binfo.block_packet_counter[binfo.block_i] = 0; + // Increment the current block number + binfo.block_i = (binfo.block_i +1) % CATCHER_N_BLOCKS; // Wait (hopefully not long!) to acquire the block after next (i.e. // the block that gets the current packet). + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "waiting for outbuf"); + hashpipe_status_unlock_safe(st_p); if(hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_p, binfo.block_i) != HASHPIPE_OK) { if (errno == EINTR) { // Interrupted by signal, return -1 @@ -210,8 +212,9 @@ static inline uint64_t process_packet( return -1; // We're exiting so return value is kind of moot } } - // Increment the current block number - binfo.block_i = (binfo.block_i +1) % CATCHER_N_BLOCKS; + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "running"); + hashpipe_status_unlock_safe(st_p); // Initialize the newly acquired block initialize_block(hera_catcher_input_databuf_p, pkt_mcnt, binfo.block_i); @@ -225,11 +228,14 @@ static inline uint64_t process_packet( binfo.block_packet_counter[binfo.block_i]++; // Copy data into buffer - dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); + //dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); + dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data); payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); - //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d)\n", packet_header_p->mcnt, time_demux_block, packet_header_p->offset, packet_header_p->xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1]); + //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d), payload:%d\n", packet_header_p->mcnt, time_demux_block, packet_header_p->offset, packet_header_p->xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1], packet_header_p->payload_len); //fprintf(stdout, "offset: %d\n", hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); memcpy(dest_p, payload_p, packet_header_p->payload_len); + //dest_p = dest_p; + //payload_p = payload_p; return netmcnt; } @@ -242,6 +248,7 @@ static int init(hashpipe_thread_args_t *args) /* Read network params */ char bindhost[80]; int bindport = CATCHER_PORT; + status_key = args->thread_desc->skey; strcpy(bindhost, "0.0.0.0"); @@ -298,7 +305,6 @@ static void *run(hashpipe_thread_args_t * args) // Our output buffer happens to be a paper_input_databuf hera_catcher_input_databuf_t *db = (hera_catcher_input_databuf_t *)args->obuf; hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; st_p = &st; // allow global (this source file) access to the status buffer @@ -322,6 +328,7 @@ static void *run(hashpipe_thread_args_t * args) // Done holding, so delete the key hdel(st.buf, "CNETHOLD"); hputs(st.buf, status_key, "starting"); + fprintf(stdout, "Starting...\n"); } hashpipe_status_unlock_safe(&st); } From 7a0dc03176eea8088d6a16fe2a4ef6854bf218de Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 5 Sep 2018 12:54:22 +0000 Subject: [PATCH 067/420] Convert receiver/sender for network-endian data --- src/gen_fake_corr_output.py | 5 ++--- src/hera_catcher_net_thread.c | 42 ++++++++++++++++++++++++----------- src/paper_databuf.h | 4 ++-- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/gen_fake_corr_output.py b/src/gen_fake_corr_output.py index 432ebd74..1214ec9d 100644 --- a/src/gen_fake_corr_output.py +++ b/src/gen_fake_corr_output.py @@ -27,7 +27,7 @@ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) mcnt = 1310720 -data = struct.pack('<2i', 1, 2) * (BYTES_PER_PACKET/8) +data = struct.pack('>2i', 1, 2) * (BYTES_PER_PACKET/8) assert len(data) == BYTES_PER_PACKET while(True): @@ -38,8 +38,7 @@ # print pkt for t in range(TIME_DEMUX): for xeng in range(NX): - #p = struct.pack('QLHH', mcnt+NT*t, offset, xeng, BYTES_PER_PACKET) + data s.sendto(p, (DESTIP, DESTPORT)) time.sleep(1e-6) offset += BYTES_PER_PACKET diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index c75091c9..4073c9cb 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -43,9 +43,9 @@ typedef struct { uint64_t mcnt; // MCNT of the first block in this integrations - uint64_t offset; // offset in bytes where this packet belongs in the correlation - uint64_t xeng_id; // First channel in a packet - uint64_t payload_len; // Antenna in a packet + uint32_t offset; // offset in bytes where this packet belongs in the correlation + uint16_t xeng_id; // First channel in a packet + uint16_t payload_len; // Antenna in a packet } packet_header_t; // The fields of a block_info_t structure hold meta-data about the contents of @@ -155,23 +155,34 @@ static inline uint64_t process_packet( hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, unsigned char*p_frame) { + int i; static block_info_t binfo; packet_header_t *packet_header_p; - const uint64_t *payload_p; - uint64_t *dest_p; + const uint32_t *payload_p; + uint32_t *dest_p; int64_t pkt_mcnt_dist; uint64_t pkt_mcnt; int time_demux_block; uint64_t cur_mcnt = -1; uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) - //int i; + // These are just the header entries, after we've network->host endianed them + uint64_t mcnt; + uint32_t offset; + uint16_t xeng_id; + uint16_t payload_len; // Parse packet header packet_header_p = (packet_header_t *)PKT_UDP_DATA(p_frame); - time_demux_block = (packet_header_p->mcnt / Nt) % TIME_DEMUX; - pkt_mcnt = packet_header_p->mcnt - (Nt*time_demux_block); - //fprintf(stdout, "header_cal: %lu, time_demux_block: %d; mcnt: %lu\n", packet_header_p->mcnt, time_demux_block, pkt_mcnt); + mcnt = be64toh(packet_header_p->mcnt); + offset = be32toh(packet_header_p->offset); + xeng_id = be16toh(packet_header_p->xeng_id); + payload_len = be16toh(packet_header_p->payload_len); + + // Split the mcnt into a "pkt_mcnt" which is the same for all even/odd samples, + // and "time_demux_block", which indicates which even/odd block this packet came from + time_demux_block = (mcnt / Nt) % TIME_DEMUX; + pkt_mcnt = mcnt - (Nt*time_demux_block); // Lazy init binfo if(!binfo.initialized) { @@ -228,12 +239,17 @@ static inline uint64_t process_packet( binfo.block_packet_counter[binfo.block_i]++; // Copy data into buffer - //dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); - dest_p = (uint64_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data); - payload_p = (uint64_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); + dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id, offset)); + payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d), payload:%d\n", packet_header_p->mcnt, time_demux_block, packet_header_p->offset, packet_header_p->xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1], packet_header_p->payload_len); //fprintf(stdout, "offset: %d\n", hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); - memcpy(dest_p, payload_p, packet_header_p->payload_len); + + //memcpy(dest_p, payload_p, payload_len); + // Copy with byte swap + for(i=0; i<(payload_len >> 2); i++){ + dest_p[i] = be32toh(payload_p[i]); + } + //dest_p = dest_p; //payload_p = payload_p; diff --git a/src/paper_databuf.h b/src/paper_databuf.h index fc12fb84..5b8c19a5 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -290,8 +290,8 @@ typedef struct hera_catcher_input_databuf { hera_catcher_input_block_t block[N_INPUT_BLOCKS]; } hera_catcher_input_databuf_t; -#define hera_catcher_input_databuf_idx64(t, x, o) \ - (((VIS_MATRIX_ENTRIES*t) + (VIS_MATRIX_ENTRIES_PER_CHAN * N_CHAN_PER_X*x)) + (o>>3)) +#define hera_catcher_input_databuf_idx32(t, x, o) \ + (2*((VIS_MATRIX_ENTRIES*t) + (VIS_MATRIX_ENTRIES_PER_CHAN * N_CHAN_PER_X*x)) + (o>>2)) /* * INPUT BUFFER FUNCTIONS From e6a42d73c8842de3f8d06eb921075c0f80d5e108 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 17 Sep 2018 22:17:12 +0000 Subject: [PATCH 068/420] Use redis sync time And add resultant trigger time and int duration to redis --- src/paper_ctl.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/paper_ctl.py b/src/paper_ctl.py index 5fa30b5d..c1b2c066 100755 --- a/src/paper_ctl.py +++ b/src/paper_ctl.py @@ -62,7 +62,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): pass # Delay before starting, in MCNTs, rounded to 4096 - time_delay = args.starttime - time.time() + time_delay = args.starttime - int(rdb['corr:feng_sync_time']) delay_mcnts = 4096 * ((int(time_delay * mcnts_per_second()) + 2047) / 4096) # MCNT to start on. Don't need to round, becase gpumcnts has to be aligned to a block boundary @@ -79,4 +79,6 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt, args.acclen) rdb.publish("hashpipe:///set", msg) + rdb['corr:trig_mcnt'] = trig_mcnt + rdb['corr:acc_len'] = args.acclen From 15c735ed0d9344e7e0d669cfcee27e4d1c9c0a06 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 17 Sep 2018 22:22:48 +0000 Subject: [PATCH 069/420] Add python control scripts to install list --- src/Makefile.am | 4 +- src/{paper_ctl.py => hera_ctl.py} | 0 ...template.py => hera_make_hdf5_template.py} | 0 src/paper_ctl.sh | 68 ------------------- 4 files changed, 3 insertions(+), 69 deletions(-) rename src/{paper_ctl.py => hera_ctl.py} (100%) rename src/{make_hera_hdf5_template.py => hera_make_hdf5_template.py} (100%) delete mode 100755 src/paper_ctl.sh diff --git a/src/Makefile.am b/src/Makefile.am index ce6398ef..e7de1ff1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -54,7 +54,9 @@ dist_bin_SCRIPTS = paper_init.sh \ xtor_down.sh \ xtor_up.sh \ catcher_init.sh \ - catcher_up.sh + catcher_up.sh \ + hera_ctl.py \ + hera_make_hdf5_template.py # Non-installed test programs noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 diff --git a/src/paper_ctl.py b/src/hera_ctl.py similarity index 100% rename from src/paper_ctl.py rename to src/hera_ctl.py diff --git a/src/make_hera_hdf5_template.py b/src/hera_make_hdf5_template.py similarity index 100% rename from src/make_hera_hdf5_template.py rename to src/hera_make_hdf5_template.py diff --git a/src/paper_ctl.sh b/src/paper_ctl.sh deleted file mode 100755 index f05a61bf..00000000 --- a/src/paper_ctl.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -PATH="$(dirname $0):${PATH}" - -# Set default instance id -instance_id=0 - -# Set default intcount -intcount=1048576 - -# Set wait period for start trigger -start_delay=1048576 - -# Set intsync to empty value -intsync= - -function get_sync_mcnt() { - echo $(( $(hashpipe_check_status -I $instance_id -Q GPUMCNT 2>/dev/null) + $start_delay )) -} - -function start() { - if [ -z "${intsync}" ] - then - intsync=$(get_sync_mcnt) - if [ -z "${intsync}" ] - then - echo "Unable to get GPUMCNT from instance ${instance_id}" - exit 1 - fi - fi - - hashpipe_check_status -I $instance_id -k INTSYNC -s $intsync - hashpipe_check_status -I $instance_id -k INTCOUNT -s $intcount - hashpipe_check_status -I $instance_id -k INTSTAT -s start -} - -function stop() { - hashpipe_check_status -I $instance_id -k INTSTAT -s stop -} - -function help() { - echo "$(basename $0) [-n INTCOUNT] [INSTANCE_ID] CMD [[INSTANCE_ID] CMD ...]" - echo 'CMD can be "start" or "stop"' -} - -if [ "${1}" == "-n" ] -then - shift - intcount=$(($1)) - shift -fi - -if [ -z "$1" ] -then - help - exit 1 -fi - -for arg in "${@}" -do - case $arg in - [0-9]*) instance_id=$arg;; - start) start;; - stop) stop;; - test) get_sync_mcnt;; - *) help; exit 1;; - esac -done From 34cf14990f0d88948f6306a113c34f2294193965 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Sep 2018 19:43:51 +0000 Subject: [PATCH 070/420] Remove need for sudo. Update paper_ctl to python hera_ctl --- src/xtor_down.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/xtor_down.sh b/src/xtor_down.sh index 8a47d2a5..60223ceb 100755 --- a/src/xtor_down.sh +++ b/src/xtor_down.sh @@ -96,7 +96,7 @@ pkill -9 cn_rx.py # Stop integrations echo "stopping integrations" -paper_ctl.rb stop +hera_ctl.py stop # Stop hashpipe-redis gateways echo "stopping hashpipe-redis gateways" @@ -104,23 +104,23 @@ redis-cli -h redishost publish hashpipe:///gateway quit # Just to be sure echo "killing any remaining hashpipe-redis gateways" -for x; do ssh px$x pkill -f hashpipe_redis_gateway.rb; done -for x; do ssh px$x pkill -9 -f hashpipe_redis_gateway.rb; done +for x; do ssh root@px$x pkill -f hashpipe_redis_gateway.rb; done +for x; do ssh root@px$x pkill -9 -f hashpipe_redis_gateway.rb; done # Stop hashpipe instances echo "killing hashpipe instances" -for x; do ssh px$x pkill hashpipe; done -for x; do ssh px$x pkill -9 hashpipe; done +for x; do ssh root@px$x pkill hashpipe; done +for x; do ssh root@px$x pkill -9 hashpipe; done # Delete shared memory and semaphores echo "deleting shared memory and semaphores" for x; do for i in {0..3}; do - ssh px$x hashpipe_clean_shmem -d -I $i > /dev/null + ssh root@px$x hashpipe_clean_shmem -d -I $i > /dev/null done done # Just to be sure echo "nuking any remaining shared memory and semaphores" -for x; do ssh px$x 'ipcs -m | awk "/0x/{print \"ipcrm -m\", \$2}" | sh'; done -for x; do ssh px$x 'ipcs -s | awk "/0x/{print \"ipcrm -s\", \$2}" | sh'; done +for x; do ssh root@px$x 'ipcs -m | awk "/0x/{print \"ipcrm -m\", \$2}" | sh'; done +for x; do ssh root@px$x 'ipcs -s | awk "/0x/{print \"ipcrm -s\", \$2}" | sh'; done From 80fe1bda6682f5a8f636d2c185d9135843bf28b4 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Sep 2018 19:44:45 +0000 Subject: [PATCH 071/420] Calculate mcnts based on sync time Remove placeholder use of current_time + delay --- src/hera_ctl.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/hera_ctl.py b/src/hera_ctl.py index c1b2c066..5c2cc665 100755 --- a/src/hera_ctl.py +++ b/src/hera_ctl.py @@ -50,7 +50,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): n_missing_mcnts = gpumcnts.count(None) if n_missing_mcnts == xinstances: print 'Could\'t find any GPUMCNT values. Cannot start' - exit + exit() elif n_missing_mcnts > 0: print 'WARNING: Missing GPUMCNT values from instances' % n_missing_mcnts @@ -62,11 +62,13 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): pass # Delay before starting, in MCNTs, rounded to 4096 - time_delay = args.starttime - int(rdb['corr:feng_sync_time']) + mcnt_origin = int(rdb['corr:feng_sync_time']) + time_delay = args.starttime - mcnt_origin delay_mcnts = 4096 * ((int(time_delay * mcnts_per_second()) + 2047) / 4096) # MCNT to start on. Don't need to round, becase gpumcnts has to be aligned to a block boundary - trig_mcnt = max(gpumcnts) + delay_mcnts + trig_mcnt = delay_mcnts + trig_time = delay_mcnts * mcnts_per_second() + mcnt_origin print 'Current MCNTs are:', gpumcnts print 'MCNTs per second: %.1f' % mcnts_per_second() @@ -80,5 +82,6 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt, args.acclen) rdb.publish("hashpipe:///set", msg) rdb['corr:trig_mcnt'] = trig_mcnt + rdb['corr:trig_time'] = trig_time rdb['corr:acc_len'] = args.acclen From 9657070ca9fa021631de6ff15ec17aa0b7c3f615 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Sep 2018 19:45:37 +0000 Subject: [PATCH 072/420] Add use of cminfo database call --- src/hera_make_hdf5_template.py | 49 ++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 700d66f1..ef919803 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -25,13 +25,19 @@ def get_ant_names(): Generate a list of antenna names, where position in the list indicates numbering in the data files. """ - return ["foo"]*350 + return ["foo"]*352 def get_cm_info(): - from hera_cm import sys_handler - h = sys_handler.Handler() + from hera_mc import sys_handling + h = sys_handling.Handling() return h.get_cminfo_correlator() +def get_antpos_enu(antpos, lat, lon, alt): + import pyuvdata + ecef = pyuvdata.ECEF_from_rotECEF(antpos, lon) + enu = pyuvdata.ENU_from_ECEF(ecef, lat, lon, alt) + return enu + def create_header(h5, use_cm=False): """ Create an HDF5 file with appropriate datasets in a "Header" @@ -44,9 +50,12 @@ def create_header(h5, use_cm=False): """ if use_cm: cminfo = get_cm_info() + # add the enu co-ords + cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], cminfo["cofa_lat"], + cminfo["cofa_lon"], cminfo["cofa_alt"]) NANTS_DATA = 196 - NANTS = 350 + NANTS = 352 NCHANS = 2048 / 4. * 3 ANT_DIAMETER = 14.0 INT_TIME = 10.0 @@ -79,22 +88,26 @@ def create_header(h5, use_cm=False): if use_cm: header.create_dataset("altitude", dtype="" - exit() + import argparse - with h5py.File(sys.argv[1], 'w') as h5: - create_header(h5) + parser = argparse.ArgumentParser(description='Create a template HDF5 header file, optionally '\ + 'using the correlator C+M system to get current meta-data', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument('output',type=str, help = 'Path to which the template header file should be output') + parser.add_argument('-c', dest='use_cminfo', action='store_true', default=False, + help ='Use this flag to get up-to-date (hopefully) array meta-data from the C+M system') + args = parser.parse_args() - + with h5py.File(args.output, "w") as h5: + create_header(h5, args.use_cminfo) From 7c76a299c15f1ad83d4a070545d9452695e33c29 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Sep 2018 20:21:13 +0000 Subject: [PATCH 073/420] remove xtor_up features which don't exist --- src/xtor_up.sh | 164 ++++++++++++------------------------------------- 1 file changed, 40 insertions(+), 124 deletions(-) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index 9425997d..a76f0798 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -2,61 +2,20 @@ show_help_and_exit() { cat <<. -Script to bring up the PAPER correlator. Assumes that correlator is +Script to bring up the HERA correlator X-engines. Assumes that correlator is completely down (e.g. after power up or after running xtor_down.sh). -Usage: xtor_up.sh [-f [-m MODE]] [-x|-c] [SLICES] - -Passing the "-f" option brings up the F engines. -Passing the "-x" option brings up the X engines. -Passing the "-c" option brings up the CRC check engines. -Passing both -x and -c is not allowed. - -Passing -m MODE allows setting the corner turner mode of the F engines. - -MODE=0 == 8-way correlator (8 ROACH2s + 8 X Boxes) [default] -MODE=1 == 4-way correlator (4 ROACH2s + 4 X Boxes) -MODE=2 == 2-way correlator (2 ROACH2s + 2 X Boxes) -MODE=3 == 1-way correlator (1 ROACH2 + 1 X Boxes) - -Examples: - - # Bring up all F and X engines of the PAPER correlator - $ xtor_up.sh -f -x - - # Bring up slice 1 F engine only (pf1) with corner tuner mode 3 - $ xtor_up.sh -f -m 3 1 - - # Bring up slices 1..4 CRC check engines only (px1..px4) - $ xtor_up.sh -c 1..4 +Usage: xtor_up.sh . exit $1 } -do_f= -do_x= -do_c= paper_init=paper_init.sh xc=X -ctmode=0 while getopts :fxcm:h-: opt do case $opt in - f) - do_f=1 - ;; - m) - ctmode=$OPTARG - ;; - x) - do_x=1 - ;; - c) - do_c=1 - paper_init=paper_crc_init.sh - xc=C - ;; h) show_help_and_exit 0 ;; @@ -77,103 +36,60 @@ do done shift $((OPTIND-1)) -# If none of -f, -x, or -c were given, show help -if [ -z "${do_f}${do_x}${do_c}" ] -then - show_help_and_exit -fi - -# If both x and c were given, error out -if [ -n "${do_x}" -a -n "${do_c}" ] -then - echo "error: cannot give both x and c options" - exit 1 -# Else, if neither f nor x nor c given, assume f and x -elif [ -z "${do_f}${do_x}${do_c}" ] -then - do_f=1 - do_x=1 -fi - -# If no slices were given, do slices 1..8 +# If no slices were given, do slices 1..16 if [ $# -eq 0 ] then - set {1..8} + set {1..16} fi -fhosts=$(echo "$@" | sed 's/^/pf/;s/ / pf/g') xhosts=$(echo "$@" | sed 's/^/px/;s/ / px/g') -#echo do_f=${do_f} -#echo mode=${ctmode} -#echo do_x=${do_x} -#echo do_c=${do_c} -#echo "slices: ${@}" -#echo "fhosts: ${fhosts}" -#echo "xhosts: ${xhosts}" -#exit - -if [ -n "$do_f" ] -then - # Program ROACH2 FPGAs with roach2_fengine design - echo Programming F Engines $fhosts - for f in $fhosts; do adc16_init.rb -r 0x2a=0x6666 $f roach2_fengine; done +# Start X engines +echo Starting $xc Engine instances on $xhosts +for x in $xhosts +do + ssh $x ${paper_init} 0 1 & +done - # Initialize F engines - echo Initializing F Engines $fhosts - #paper_feng_init.rb -m $ctmode $fhosts - hera_roach_feng_init.py -e 600 $fhosts -fi +wait -if [ -n "$do_x" -o "$do_c" ] -then - # Start X engines - echo Starting $xc Engine instances on $xhosts - for x in $xhosts - do - ssh $x ${paper_init} 0 1 & - done +# Start hashpipe-redis gateways +echo Starting hashpipe-redis gateways on $xhosts +for x in $xhosts +do + # Start two gateways on each host: one gateway per NUMA node, one instance + # per gateway. The gateways run on the OS core (7 or 15) + ssh $x " + taskset 0x0080 hashpipe_redis_gateway.rb -g $x -i 0; + taskset 0x8000 hashpipe_redis_gateway.rb -g $x -i 1; + " +done - wait +# Let the gateways come up +sleep 1 - # Start hashpipe-redis gateways - echo Starting hashpipe-redis gateways on $xhosts +# Turn off HOLD flag on all instances +echo Enabling all X Engine network threads +for i in 1 0 +do for x in $xhosts do - # Start two gateways on each host: one gateway per NUMA node, two instances - # per gateway. The gateways run on the OS core (0 or 8) - ssh $x " - taskset 0x0001 hashpipe_redis_gateway.rb -g $x -i 0,1; - taskset 0x0100 hashpipe_redis_gateway.rb -g $x -i 2,3 - " - done - - # Let the gateways come up - sleep 1 - - # Turn off HOLD flag on all instances - echo Enabling all X Engine network threads - for i in 1 0 - do - for x in $xhosts - do - redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 > /dev/null - done + redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 > /dev/null done +done - sleep 1 +sleep 1 - # Reset all NET{WAT,REC,PRC}M{N,X} counters - echo Resetting all network stats counters - for i in 1 0 +# Reset all NET{WAT,REC,PRC}M{N,X} counters +echo Resetting all network stats counters +for i in 1 0 +do + for x in $xhosts do - for x in $xhosts + for k in NET{WAT,REC,PRC} do - for k in NET{WAT,REC,PRC} - do - redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MN=99999 > /dev/null - redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MX=0 > /dev/null - done + redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MN=99999 > /dev/null + redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MX=0 > /dev/null done done -fi +done From 3b1444cd14cf9c9e2237d286029f6dc6582d934a Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Sep 2018 21:17:05 +0000 Subject: [PATCH 074/420] Add support for even/odd correlators --- src/hera_ctl.py | 62 +++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/src/hera_ctl.py b/src/hera_ctl.py index 5c2cc665..00004cd5 100755 --- a/src/hera_ctl.py +++ b/src/hera_ctl.py @@ -4,7 +4,10 @@ import time import argparse -def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): +MCNT_STEP_SIZE = 2 +MCNT_XGPU_BLOCK_SIZE = 2048 + +def mcnts_per_second(sample_rate=500e6, spectra_len=8192): """ Return number of MCNTs in 1 second. For HERA, but not in general, this is the same as the number of spectra in 1 second. @@ -12,7 +15,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): spectra_len: Number of frequency channels in 1 F-Engine spectra (prior to any subselecting) round_to : Output the number of mcnts per second rounded up to a multiple of this number """ - return round_to * (int(sample_rate / (spectra_len * 2) + (round_to - 1)) // round_to) + return sample_rate / (spectra_len * 2) parser = argparse.ArgumentParser(description='Turn on and off the HERA correlator', @@ -21,10 +24,14 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): help = 'Action: "start"|"stop": start|stop the correlator.') parser.add_argument('-n', dest='acclen', type=int, default=64*2048, help ='Number of spectra to accumulate') +parser.add_argument('-s', dest='slices', type=int, default=2, + help ='Number of slices. Eg. for HERA\'s ever/odd correlator, slices=2. \ + It is assumed that for N xhosts, hosts 1..N are slice 1, \ + N+1..2*N are slice 2, etc.') parser.add_argument('-t', dest='starttime', type=float, default=time.time()+5, help ='UNIX time to start observations. Default is NOW+5s') -parser.add_argument('-x', dest='xhosts', type=int, default=16, - help ='Number of GPU hosts') +parser.add_argument('-x', dest='xhosts', type=int, default=8, + help ='Number of GPU hosts **per slice**') parser.add_argument('-i', dest='xinstances_per_host', type=int, default=2, help ='Number of X-engine instances per GPU host') parser.add_argument('-r', dest='redishost', type=str, default='redishost', @@ -44,44 +51,39 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192, round_to=2): rdb = redis.Redis(args.redishost) -if args.action == 'start': - gpumcnts = [rdb.hget(skey, 'GPUMCNT') for skey in status_keys] - - n_missing_mcnts = gpumcnts.count(None) - if n_missing_mcnts == xinstances: - print 'Could\'t find any GPUMCNT values. Cannot start' - exit() - elif n_missing_mcnts > 0: - print 'WARNING: Missing GPUMCNT values from instances' % n_missing_mcnts - - # try and convert these to integers. Skip on failure (probably means the value is "None") - for i in range(len(gpumcnts)): - try: - gpumcnts[i] = int(gpumcnts[i]) - except: - pass +if args.action == 'stop': + rdb.publish("hashpipe:///set", 'INTSTAT=stop') - # Delay before starting, in MCNTs, rounded to 4096 +if args.action == 'start': + # Calculate start MCNT mcnt_origin = int(rdb['corr:feng_sync_time']) time_delay = args.starttime - mcnt_origin - delay_mcnts = 4096 * ((int(time_delay * mcnts_per_second()) + 2047) / 4096) + delay_mcnts = int(time_delay * mcnts_per_second()) + # round delay_mcnts down to an acceptable value + round_to = MCNT_XGPU_BLOCK_SIZE + trig_mcnt = delay_mcnts - (delay_mcnts % round_to) - # MCNT to start on. Don't need to round, becase gpumcnts has to be aligned to a block boundary - trig_mcnt = delay_mcnts - trig_time = delay_mcnts * mcnts_per_second() + mcnt_origin + trig_time = trig_mcnt / mcnts_per_second() + mcnt_origin - print 'Current MCNTs are:', gpumcnts + #print 'Current MCNTs are:', gpumcnts + print 'Sync time is %s' % time.ctime(mcnt_origin) print 'MCNTs per second: %.1f' % mcnts_per_second() + print 'Requested start time: %s' % time.ctime(args.starttime) print 'Trigger MCNT: %d' % trig_mcnt - print 'Trigger time is %.1f seconds in the future' % time_delay + print 'Trigger time is %.1f seconds in the future (%s)' % (trig_time - time.time(), time.ctime(trig_time)) # Use the hashpipe publish channel to update keys in all status buffers. # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb # for details about formatting - msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt, args.acclen) - rdb.publish("hashpipe:///set", msg) + for slice in range(args.slices): + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, args.acclen) + for host in range(args.xhosts): + hostname = 'px%d' % (slice * args.xhosts + host + 1) + rdb.publish('hashpipe://%s/0/set' % hostname, msg) + rdb.publish('hashpipe://%s/1/set' % hostname, msg) + #rdb.publish("hashpipe:///set", msg) + rdb['corr:trig_mcnt'] = trig_mcnt rdb['corr:trig_time'] = trig_time rdb['corr:acc_len'] = args.acclen - From cc810e26bfb0f5367d0e526bc319e6fce1369328 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Sep 2018 21:54:23 +0000 Subject: [PATCH 075/420] Add hera command handler --- src/hera_cmd_handler.py | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 src/hera_cmd_handler.py diff --git a/src/hera_cmd_handler.py b/src/hera_cmd_handler.py new file mode 100755 index 00000000..7a0dc3eb --- /dev/null +++ b/src/hera_cmd_handler.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +import redis +import time +import json +import argparse +from subprocess import Popen, PIPE + +def send_response(r, command, time, **kwargs): + message_dict = {"command":command, "time":time, "args":kwargs} + n = r.publish("corr:response", json.dumps(message_dict)) + print n + +def start_capture(starttime, duration, acclen, flags): + proc = Popen(["hera_ctl.py", "start", "-n", "%d" % acclen, "-t", "%f" % starttime]) + proc.wait() + +def cmd_handler(r, message, testmode=False): + d = json.loads(message) + command = d["command"] + time = d["time"] + args = d["args"] + if testmode: + print "Got command:", command + print " args:", args + return + if command == "record": + start_capture(args["starttime"], args["duration"], args["acclen"], args["tag"]) + starttime = float(r["corr:trig_time"]) + send_response(r, command, time, starttime=starttime) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Process commands from the corr:message redis channel.', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument('-r', dest='redishost', type=str, default='redishost', + help ='Hostname of redis server') + parser.add_argument('-t', dest='testmode', action='store_true', default=False, + help ='Use this flag to run in test mode, where no commands are executed') + args = parser.parse_args() + + r = redis.Redis(args.redishost) + + cmd_chan = r.pubsub() + cmd_chan.subscribe("corr:message") + cmd_chan.get_message(timeout=0.1) + + while(True): + message = cmd_chan.get_message(timeout=5) + if message is not None: + cmd_handler(r, message["data"], testmode=args.testmode) From 0775c82eb2e74feb869635b3e397710d65b8a92f Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 3 Oct 2018 22:33:41 +0000 Subject: [PATCH 076/420] Add performance tweaker to installed scripts --- src/Makefile.am | 1 + tweak-perf.sh => src/tweak-perf.sh | 0 2 files changed, 1 insertion(+) rename tweak-perf.sh => src/tweak-perf.sh (100%) diff --git a/src/Makefile.am b/src/Makefile.am index e7de1ff1..22663d2e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -55,6 +55,7 @@ dist_bin_SCRIPTS = paper_init.sh \ xtor_up.sh \ catcher_init.sh \ catcher_up.sh \ + tweak-perf.sh \ hera_ctl.py \ hera_make_hdf5_template.py diff --git a/tweak-perf.sh b/src/tweak-perf.sh similarity index 100% rename from tweak-perf.sh rename to src/tweak-perf.sh From ae259bccfc2b34552871de4552d9f85ce65ac49a Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 3 Oct 2018 22:36:25 +0000 Subject: [PATCH 077/420] Run performance tweaking script on xtor_up --- src/xtor_up.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/xtor_up.sh b/src/xtor_up.sh index a76f0798..03d7fde3 100755 --- a/src/xtor_up.sh +++ b/src/xtor_up.sh @@ -11,6 +11,7 @@ exit $1 } paper_init=paper_init.sh +perf_tweaker=tweak-perf.sh xc=X while getopts :fxcm:h-: opt @@ -44,6 +45,15 @@ fi xhosts=$(echo "$@" | sed 's/^/px/;s/ / px/g') +# Run performance tweaking script +echo Running performance tweaking script on $xhosts +for x in $xhosts +do + ssh root@$x ${perf_tweaker} & +done + +wait + # Start X engines echo Starting $xc Engine instances on $xhosts for x in $xhosts From 007b3cabc885a4a62428a985195ade3d8565b996 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 4 Oct 2018 00:09:19 +0000 Subject: [PATCH 078/420] Interrupts off-by-one for eth5 --- src/tweak-perf.sh | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/tweak-perf.sh b/src/tweak-perf.sh index aa307733..04aa5c43 100755 --- a/src/tweak-perf.sh +++ b/src/tweak-perf.sh @@ -4,8 +4,8 @@ for i in `ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`; do echo performance > $i; done # Set mtu -ifconfig eth3 mtu 3200 -ifconfig eth5 mtu 3200 +ifconfig eth3 mtu 5000 +ifconfig eth5 mtu 5000 # Turn on pause requests ethtool -A eth3 rx on @@ -36,22 +36,18 @@ ethtool -G eth5 rx 8192 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 4 loc 2 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 5 loc 3 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 5 loc 4 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.201 m 0.0.0.0 action 6 loc 5 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.109 m 0.0.0.0 action 6 loc 6 +ethtool -U eth3 flow-type udp4 src-port 8511 action 4 loc 1 +ethtool -U eth3 flow-type udp4 src-port 8512 action 5 loc 2 +ethtool -U eth3 flow-type udp4 src-port 8513 action 6 loc 3 +ethtool -U eth3 flow-type udp4 src-port 8514 action 7 loc 4 # Dump everything else on CPU7 (there shouldn't be much) -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.1 m 255.255.255.255 action 4 loc 7 - -ethtool -U eth5 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 12 loc 1 -ethtool -U eth5 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 12 loc 2 -ethtool -U eth5 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 13 loc 3 -ethtool -U eth5 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 13 loc 4 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.201 m 0.0.0.0 action 14 loc 5 -ethtool -U eth3 flow-type udp4 src-ip 10.0.10.109 m 0.0.0.0 action 14 loc 6 +ethtool -U eth3 flow-type udp4 src-ip 10.0.10.1 m 255.255.255.255 action 7 loc 5 + +ethtool -U eth5 flow-type udp4 src-port 8511 action 12 loc 1 +ethtool -U eth5 flow-type udp4 src-port 8512 action 13 loc 2 +ethtool -U eth5 flow-type udp4 src-port 8513 action 14 loc 3 +ethtool -U eth5 flow-type udp4 src-port 8514 action 15 loc 4 # Dump everything else on CPU7 (there shouldn't be much) -ethtool -U eth5 flow-type udp4 src-ip 10.0.10.1 m 255.255.255.255 action 15 loc 7 +ethtool -U eth5 flow-type udp4 src-ip 10.0.10.1 m 255.255.255.255 action 15 loc 5 From 19984127e96955cd04a51a2ca85cdf44f08f093f Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 5 Oct 2018 16:06:37 -0700 Subject: [PATCH 079/420] Fix number of antennas / instrument name --- src/hera_make_hdf5_template.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index ef919803..40a08bf1 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -54,7 +54,8 @@ def create_header(h5, use_cm=False): cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], cminfo["cofa_lat"], cminfo["cofa_lon"], cminfo["cofa_alt"]) - NANTS_DATA = 196 + INSTRUMENT = "HERA" + NANTS_DATA = 192 NANTS = 352 NCHANS = 2048 / 4. * 3 ANT_DIAMETER = 14.0 @@ -77,7 +78,7 @@ def create_header(h5, use_cm=False): header.create_dataset("channel_width", dtype=" Date: Fri, 5 Oct 2018 16:21:22 -0700 Subject: [PATCH 080/420] Update Ntimes on file close This was missing, so closed files would always show as having Ntimes = 0 (the initialization value in the template header) --- src/hera_catcher_disk_thread.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index a76ae757..9994bedc 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -54,7 +54,7 @@ typedef struct { hid_t nsamples_fs; } hdf5_id_t; -static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts) { +static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { hid_t dataset_id; dataset_id = H5Dopen(id->extra_keywords_gid, "stopt", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); @@ -65,6 +65,9 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, dataset_id = H5Dopen(id->header_gid, "Nblts", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); H5Dclose(dataset_id); + dataset_id = H5Dopen(id->header_gid, "Ntimes", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nts); + H5Dclose(dataset_id); // Close datasets H5Dclose(id->visdata_did); H5Dclose(id->flags_did); @@ -436,8 +439,8 @@ static void *run(hashpipe_thread_args_t * args) // If a file is open, finish its meta-data and close it. if (curr_file_time >= 0) { fprintf(stdout, "Closing datasets and files\n"); - close_file(&sum_file, file_stop_t, file_duration, file_nblts); - close_file(&diff_file, file_stop_t, file_duration, file_nblts); + close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); + close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); } // And now start a new file From 183798705c7030a849ac12e7959b294754fa15d0 Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 5 Oct 2018 16:24:36 -0700 Subject: [PATCH 081/420] Make n_bls related to NANTS_DATA, not NANTS Which is (probably) the right thing to do. --- src/hera_make_hdf5_template.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 40a08bf1..2ec229d9 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -60,8 +60,8 @@ def create_header(h5, use_cm=False): NCHANS = 2048 / 4. * 3 ANT_DIAMETER = 14.0 INT_TIME = 10.0 - n_bls = (NANTS * (NANTS + 1)) / 2 bls = np.array(get_bl_order(NANTS_DATA)) + n_bls = len(bls) header = h5.create_group("Header") header.create_dataset("Nants_data", dtype=" Date: Sat, 6 Oct 2018 11:55:56 -0700 Subject: [PATCH 082/420] Add code for sample-depended header entries. Initialize the integration_time, uvw_array, and time_array header items as extensible vectors, and grow them with each new time sample received. TODO: compute the values for these entries properly. --- src/hera_catcher_disk_thread.c | 120 +++++++++++++++++++++++++++++++-- 1 file changed, 116 insertions(+), 4 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 9994bedc..68155cbd 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -49,10 +49,16 @@ typedef struct { hid_t visdata_did; hid_t flags_did; hid_t nsamples_did; + hid_t time_array_did; + hid_t integration_time_did; + hid_t uvw_array_did; hid_t visdata_fs; hid_t flags_fs; hid_t nsamples_fs; -} hdf5_id_t; + hid_t time_array_fs; + hid_t integration_time_fs; + hid_t uvw_array_fs; +} hdf5_id_t; static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { hid_t dataset_id; @@ -93,7 +99,7 @@ static void make_extensible_hdf5(hdf5_id_t *id) hsize_t dims[N_DATA_DIMS] = {0, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; hsize_t max_dims[N_DATA_DIMS] = {16, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; - + hid_t file_space = H5Screate_simple(N_DATA_DIMS, dims, max_dims); hid_t plist = H5Pcreate(H5P_DATASET_CREATE); @@ -105,7 +111,7 @@ static void make_extensible_hdf5(hdf5_id_t *id) H5Pset_layout(plist, H5D_CHUNKED); H5Pset_chunk(plist, N_DATA_DIMS, chunk_dims); - + // Now we have the dataspace properties, create the datasets id->visdata_did = H5Dcreate(id->data_gid, "visdata", complex_id, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); if (id->visdata_did < 0) { @@ -129,6 +135,66 @@ static void make_extensible_hdf5(hdf5_id_t *id) H5Sclose(file_space); } +/* Create the extensible header entries which have dimensions ~Nblts. + * These are: + * Header/uvw_array (Nblts x 3) + * Header/time_array (Nblts) + * Header/integration_time (Nblts) + */ +#define DIM1 1 +#define DIM2 2 +static void make_extensible_headers_hdf5(hdf5_id_t *id) +{ + hsize_t dims1[DIM1] = {0}; + hsize_t max_dims1[DIM1] = {16 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; + hsize_t chunk_dims1[DIM1] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; + + hid_t file_space = H5Screate_simple(DIM1, dims1, max_dims1); + hid_t plist = H5Pcreate(H5P_DATASET_CREATE); + + H5Pset_layout(plist, H5D_CHUNKED); + + H5Pset_chunk(plist, DIM1, chunk_dims1); + + // Now we have the dataspace properties, create the datasets + id->time_array_did = H5Dcreate(id->header_gid, "time_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->visdata_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create visdata dataset"); + pthread_exit(NULL); + } + + id->integration_time_did = H5Dcreate(id->header_gid, "integration_time", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->nsamples_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create nsamples dataset"); + pthread_exit(NULL); + } + + H5Pclose(plist); + H5Sclose(file_space); + + /* And now uvw_array, which has shape Nblts x 3 */ + hsize_t dims2[DIM2] = {0, 3}; + hsize_t max_dims2[DIM2] = {16 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; + hsize_t chunk_dims2[DIM2] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; + + file_space = H5Screate_simple(DIM2, dims2, max_dims2); + plist = H5Pcreate(H5P_DATASET_CREATE); + + H5Pset_layout(plist, H5D_CHUNKED); + + H5Pset_chunk(plist, DIM2, chunk_dims2); + + // Now we have the dataspace properties, create the datasets + id->uvw_array_did = H5Dcreate(id->header_gid, "uvw_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->visdata_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create visdata dataset"); + pthread_exit(NULL); + } + + H5Pclose(plist); + H5Sclose(file_space); +} + static hid_t open_hdf5_from_template(char * sourcename, char * destname) { int read_fd, write_fd; @@ -192,6 +258,9 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui // Create the extensible "Data" group datasets. This function // assigns all the dataset ids to the id struct make_extensible_hdf5(id); + // Create the extensible "Header/*" group datasets. This function + // assigns all the dataset ids to the id struct + make_extensible_headers_hdf5(id); // Write meta-data values we know at file-open dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); @@ -212,6 +281,17 @@ static void extend_datasets(hdf5_id_t *id, int n) { id->nsamples_fs = H5Dget_space(id->nsamples_did); } +static void extend_header_datasets(hdf5_id_t *id, int n) { + hsize_t dims1[DIM1] = {n * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; + hsize_t dims2[DIM2] = {n * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; + H5Dset_extent(id->time_array_did, dims1); + H5Dset_extent(id->integration_time_did, dims1); + H5Dset_extent(id->uvw_array_did, dims2); + id->time_array_fs = H5Dget_space(id->time_array_did); + id->integration_time_fs = H5Dget_space(id->integration_time_did); + id->uvw_array_fs = H5Dget_space(id->uvw_array_did); +} + static void close_filespaces(hdf5_id_t *id) { H5Sclose(id->visdata_fs); H5Sclose(id->flags_fs); @@ -231,6 +311,23 @@ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); } +/* +Write Nbls entries into the integration_time and time_array arrays. Write Nbls x 3 entries into uvw_array +*/ +static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf) +{ + hsize_t start1[DIM1] = {t * (VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES)}; + hsize_t count1[DIM1] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; + hsize_t start2[DIM2] = {t * (VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES), 0}; + hsize_t count2[DIM2] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; + H5Sselect_hyperslab(id->integration_time_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); + H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, mem_space1, id->integration_time_fs, H5P_DEFAULT, integration_time_buf); + H5Sselect_hyperslab(id->time_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); + H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, mem_space1, id->time_array_fs, H5P_DEFAULT, time_array_buf); + H5Sselect_hyperslab(id->uvw_array_fs, H5S_SELECT_SET, start2, NULL, count2, NULL); + H5Dwrite(id->uvw_array_did, H5T_NATIVE_DOUBLE, mem_space2, id->uvw_array_fs, H5P_DEFAULT, uvw_array_buf); +} + /* Turn an mcnt into a UNIX time in double-precision. */ @@ -389,6 +486,10 @@ static void *run(hashpipe_thread_args_t * args) int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + double *integration_time_buf = (double *)malloc((VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES) * sizeof(double)); + double *time_array_buf = (double *)malloc((VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES) * sizeof(double)); + double *uvw_array_buf = (double *)malloc((VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES) * 3 * sizeof(double)); + // Allocate an array of bools for flags and n_samples hbool_t *flags = (hbool_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(hbool_t)); uint64_t *nsamples = (uint64_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED* sizeof(uint64_t)); @@ -397,6 +498,12 @@ static void *run(hashpipe_thread_args_t * args) // We write 1 baseline-time at a time hsize_t dims[N_DATA_DIMS] = {1, N_BL_PER_WRITE, N_CHAN_PROCESSED, N_STOKES}; hid_t mem_space = H5Screate_simple(N_DATA_DIMS, dims, NULL); + // Memory spaces to Nblts-element header vectors + hsize_t dims1[DIM1] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; + hid_t mem_space1 = H5Screate_simple(DIM1, dims1, NULL); + // Memory spaces to (Nblts x 3)-element header vectors + hsize_t dims2[DIM2] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; + hid_t mem_space2 = H5Screate_simple(DIM2, dims2, NULL); while (run_threads()) { // Note waiting status, @@ -466,8 +573,13 @@ static void *run(hashpipe_thread_args_t * args) // extend the datasets with time axes and update filespace IDs extend_datasets(&sum_file, file_nts); extend_datasets(&diff_file, file_nts); + extend_header_datasets(&sum_file, file_nts); + extend_header_datasets(&diff_file, file_nts); - // TODO: Write lst_array, time_array, uvw_array, zenith_dec, zenith_ra + // Write this integration's entries for lst_array, time_array, uvw_array + // TODO: compute uvw array + write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); + write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); // Sum over channels, compute even/odd sum/diffs, and get data on a per-baseline basis for(bl=0; bl<(VIS_MATRIX_ENTRIES_PER_CHAN/N_STOKES); bl+=N_BL_PER_WRITE) { From c16d3b6a0e326724018a344eea097adf0c89a385 Mon Sep 17 00:00:00 2001 From: Jack H Date: Sat, 6 Oct 2018 12:05:41 -0700 Subject: [PATCH 083/420] Compute integration time / julian time arrays Integration time needs to be fed into the catcher from the correlator via the INTSECS status keyword. Currently the julian time array is the same for each block of Nbls. The integration_time array is the same for every entry. These arrays are placeholders for a more interesting future where baseline-dependent averaging means the int-times and time centers can be a function of baseline --- src/hera_catcher_disk_thread.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 68155cbd..017de305 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -336,6 +336,22 @@ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) return (sync_time + mcnt) * (N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE); } +static void compute_time_array(double time, double *time_buf) +{ + int i; + for (i=0; i<(VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); i++) { + time_buf[i] = time; + } +} + +static void compute_integration_time_array(double integration_time, double *integration_time_buf) +{ + int i; + for (i=0; i<(VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); i++) { + integration_time_buf[i] = integration_time; + } +} + /* Given an intire input buffer -- even/odd x 1 time x N_chans x N_bls x N_stokes x 2 (real/imag) @@ -450,6 +466,7 @@ static void *run(hashpipe_thread_args_t * args) uint32_t sync_time = 0; double gps_time; double julian_time; + double integration_time; // How many integrations to dump to a file before starting the next one // This is read from shared memory @@ -464,6 +481,9 @@ static void *run(hashpipe_thread_args_t * args) hgetu4(st.buf, "MSPERFIL", &ms_per_file); + // Get the integration time reported by the correlator + hgetr8(st.buf, "INTSECS", &integration_time); + // Init status variables hputi8(st.buf, "DISKMCNT", 0); hashpipe_status_unlock_safe(&st); @@ -578,6 +598,8 @@ static void *run(hashpipe_thread_args_t * args) // Write this integration's entries for lst_array, time_array, uvw_array // TODO: compute uvw array + compute_time_array(julian_time, time_array_buf); + compute_integration_time_array(integration_time, integration_time_buf); write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); From c02b101a620d901009d0ee3ee6a58e548afe4207 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 6 Oct 2018 22:08:27 +0000 Subject: [PATCH 084/420] add shebang --- src/hera_make_hdf5_template.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 2ec229d9..7d960bc4 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + import h5py import sys import numpy as np From 4a230b1d7dd52b5ff528ac518816458f8d2b9816 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 6 Oct 2018 22:08:56 +0000 Subject: [PATCH 085/420] Make big (network) endian --- src/catcher.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/catcher.py b/src/catcher.py index 30f6dd8b..9c7c6d42 100644 --- a/src/catcher.py +++ b/src/catcher.py @@ -30,7 +30,7 @@ start = time.time() while True: data = sock.recv(BYTES_PER_PACKET) - unpacked = struct.unpack('QLHH', data[0:16]) timestamp = unpacked[0] offset = unpacked[1] xeng_id = unpacked[2] @@ -40,7 +40,7 @@ if (not wait) or (offset == 0): n += 1 wait = False - #print time, packet_num, xeng_id, payload_len + print timestamp, offset, xeng_id, payload_len #print dout[256*packet_num:256*(packet_num+1)].shape #print len(unpacked[4:]) #dout[offset/4:(offset+PAYLOAD_LEN)/4] = np.fromstring(data[16:], dtype='>i') From c73655a0d90ea79255cef638331c45e705d90088 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 6 Oct 2018 22:10:50 +0000 Subject: [PATCH 086/420] Write flags to control catcher prior to starting --- src/catcher_up.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/catcher_up.sh b/src/catcher_up.sh index 40ff36c4..8249011a 100755 --- a/src/catcher_up.sh +++ b/src/catcher_up.sh @@ -12,8 +12,8 @@ catcherhost=hera-sn1 # Start X engines echo Starting catcher instance on $catcherhost -echo "ssh $catcherhost \"${init} 0\" &" -ssh $catcherhost "${init} 0" & +echo "ssh $catcherhost \"cd /datax1; ${init} 0\" &" +ssh $catcherhost "cd /datax1; ${init} 0" & wait # Start hashpipe-redis gateways @@ -22,7 +22,17 @@ echo "ssh $catcherhost \"taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhos ssh $catcherhost "taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0" # Let the gateways come up -sleep 1 +sleep 3 + +# Generate meta-data template +echo "ssh $catcherhost \"source ~/hera-venv/bin/activate; hera_make_hdf5_template.py -c /tmp/template.h5\"" +ssh $catcherhost "source ~/hera-venv/bin/activate; hera_make_hdf5_template.py -c /tmp/template.h5" + +# Configure runtime parameters +SYNCTIME=`redis-cli -h redishost get corr:feng_sync_time` +redis-cli -h redishost publish hashpipe://hera-sn1/0/set HDF5TPLT=/tmp/template.h5 > /dev/null +redis-cli -h redishost publish hashpipe://hera-sn1/0/set MSPERFIL=10000 > /dev/null +redis-cli -h redishost publish hashpipe://hera-sn1/0/set SYNCTIME=$SYNCTIME > /dev/null # Turn off HOLD flag on all instances echo Enabling catcher network threads From 93778d051734d86966429195fb44766a6a1dc68e Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 6 Oct 2018 22:11:36 +0000 Subject: [PATCH 087/420] Make more aggressive --- src/xtor_down.sh | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/xtor_down.sh b/src/xtor_down.sh index 60223ceb..a6cfdf1e 100755 --- a/src/xtor_down.sh +++ b/src/xtor_down.sh @@ -62,7 +62,7 @@ fi # If no parameters are given (the normal case), use slices {1..8} if [ $# -eq 0 ] then - set {1..8} + set {1..16} fi # Stop taking data @@ -84,16 +84,6 @@ then echo 'timeout!' fi -if pgrep cn_rx.py > /dev/null -then - echo 'cn_rx.py still running!' -fi - -# Just to be sure -echo "killing cn_rx.py (just to be sure)" -pkill cn_rx.py -pkill -9 cn_rx.py - # Stop integrations echo "stopping integrations" hera_ctl.py stop @@ -112,10 +102,15 @@ echo "killing hashpipe instances" for x; do ssh root@px$x pkill hashpipe; done for x; do ssh root@px$x pkill -9 hashpipe; done +# Stop hashpipe_check_status process, which can hang if something has gone wrong previously +echo "killing hashpipe_check_status instances" +for x; do ssh root@px$x pkill hashpipe_check_status; done +for x; do ssh root@px$x pkill -9 hashpipe_check_status; done + # Delete shared memory and semaphores echo "deleting shared memory and semaphores" for x; do - for i in {0..3}; do + for i in {0..1}; do ssh root@px$x hashpipe_clean_shmem -d -I $i > /dev/null done done @@ -124,3 +119,4 @@ done echo "nuking any remaining shared memory and semaphores" for x; do ssh root@px$x 'ipcs -m | awk "/0x/{print \"ipcrm -m\", \$2}" | sh'; done for x; do ssh root@px$x 'ipcs -s | awk "/0x/{print \"ipcrm -s\", \$2}" | sh'; done +for x; do ssh root@px$x 'rm /dev/shm/*hashpipe*'; done From f6d5d46be1d4bde0a753780b0ab5d3c7c55345c1 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 10 Oct 2018 06:40:18 +0000 Subject: [PATCH 088/420] Fix MCNT TIME_DEMUX bug When locking on to a new MCNT, the receiver was not correctly taking into account the TIME_DEMUX factor when figuring out where a block should start. Amongst (probably) other symptoms, this screwed up the tracking of the number of packets per block. For TIME_DEMUX = 2 some X-engines would report only receiving half of their expected packets. --- src/hera_pktsock_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index a3560750..cd60e33f 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -518,7 +518,7 @@ static inline uint64_t process_packet( pkt_mcnt += TIME_DEMUX*N_TIME_PER_BLOCK*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); } // Round pkt_mcnt down to nearest multiple of Nm - binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%N_TIME_PER_BLOCK); + binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%(N_TIME_PER_BLOCK*TIME_DEMUX)); binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK*TIME_DEMUX; binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("hera_pktsock_thread", From 9340639560e92e11a589456fbba7ed8057b59d1c Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 13 Oct 2018 02:22:04 +0000 Subject: [PATCH 089/420] Fixes for even/odd binning This commit fixes a variety of bugs in the handling of MCNTs when the correlator is separated into even and odd time slices. MCNT rounding has been changed so as not to mask off the bits which identify the correlator as even/odd. A status buffer variable "TIMEIDX" has also been added, which tells a pipeline if it is expected to be opperating on even or odd time chunks. If the received MCNTs don't match this runtime-supplied variable, errors are logged. --- src/hera_ctl.py | 3 +- src/hera_pktsock_thread.c | 32 +++++++++++++--- src/paper_gpu_thread.c | 4 +- src/xtor_up.py | 81 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 110 insertions(+), 10 deletions(-) create mode 100644 src/xtor_up.py diff --git a/src/hera_ctl.py b/src/hera_ctl.py index 00004cd5..69d0aa93 100755 --- a/src/hera_ctl.py +++ b/src/hera_ctl.py @@ -13,7 +13,6 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): this is the same as the number of spectra in 1 second. sample_rate: ADC clock rate in MHz spectra_len: Number of frequency channels in 1 F-Engine spectra (prior to any subselecting) - round_to : Output the number of mcnts per second rounded up to a multiple of this number """ return sample_rate / (spectra_len * 2) @@ -60,7 +59,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): time_delay = args.starttime - mcnt_origin delay_mcnts = int(time_delay * mcnts_per_second()) # round delay_mcnts down to an acceptable value - round_to = MCNT_XGPU_BLOCK_SIZE + round_to = MCNT_XGPU_BLOCK_SIZE * args.slices # This represents the granularity with which an integration can be started trig_mcnt = delay_mcnts - (delay_mcnts % round_to) trig_time = trig_mcnt / mcnts_per_second() + mcnt_origin diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index cd60e33f..19296615 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -68,6 +68,11 @@ typedef struct { static hashpipe_status_t *st_p; +// A variable to store whether this receiver is processing +// even or odd samples (or in principle a subset of a higher +// order 2^ split +static int time_index; + #if 0 static void print_pkt_header(packet_header_t * pkt_header) { @@ -114,6 +119,13 @@ static inline int block_for_mcnt(uint64_t mcnt) return ((mcnt / TIME_DEMUX) / N_TIME_PER_BLOCK) % N_INPUT_BLOCKS; } +// Returns start mcnt for the block containing a given mcnt +static inline uint64_t start_for_mcnt(uint64_t mcnt) +{ + uint64_t mcnt_time_index = ((mcnt / N_TIME_PER_PACKET) % TIME_DEMUX); + return (mcnt - (mcnt%(N_TIME_PER_BLOCK * TIME_DEMUX)) + (mcnt_time_index*N_TIME_PER_PACKET)); +} + #ifdef LOG_MCNTS #define MAX_MCNT_LOG (1024*1024) //static uint64_t mcnt_log[MAX_MCNT_LOG]; @@ -306,10 +318,15 @@ static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_ static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) { int block_i = block_for_mcnt(mcnt); + uint64_t mcnt_time_index; paper_input_databuf_p->block[block_i].header.good_data = 0; // Round pkt_mcnt down to nearest multiple of N_TIME_PER_BLOCK - paper_input_databuf_p->block[block_i].header.mcnt = mcnt - (mcnt%N_TIME_PER_BLOCK); + mcnt_time_index = ((mcnt / N_TIME_PER_PACKET) % TIME_DEMUX); + if (mcnt_time_index != time_index) { + fprintf(stderr, "Expected packets from time index %d, but got index %lu\n", time_index, mcnt_time_index); + } + paper_input_databuf_p->block[block_i].header.mcnt = start_for_mcnt(mcnt); } // This function must be called once and only once per block_info structure! @@ -335,8 +352,8 @@ static inline void initialize_block_info(block_info_t * binfo) hashpipe_status_unlock_safe(st_p); // On startup mcnt_start will be zero and mcnt_log_late will be Nm. - binfo->mcnt_start = 0; - binfo->mcnt_log_late = N_TIME_PER_BLOCK*TIME_DEMUX; + binfo->mcnt_start = time_index; + binfo->mcnt_log_late = N_TIME_PER_BLOCK*TIME_DEMUX + time_index; binfo->block_i = 0; binfo->out_of_seq_cnt = 0; @@ -518,7 +535,7 @@ static inline uint64_t process_packet( pkt_mcnt += TIME_DEMUX*N_TIME_PER_BLOCK*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); } // Round pkt_mcnt down to nearest multiple of Nm - binfo.mcnt_start = pkt_mcnt - (pkt_mcnt%(N_TIME_PER_BLOCK*TIME_DEMUX)); + binfo.mcnt_start = start_for_mcnt(pkt_mcnt); binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK*TIME_DEMUX; binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("hera_pktsock_thread", @@ -622,6 +639,9 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); // Look for NETHOLD value hgeti4(st.buf, "NETHOLD", &holdoff); + // Get the time index of this correlator. I.e. is it correlating + // even or odd blocks of samples. + hgeti4(st.buf, "TIMEIDX", &time_index); if(!holdoff) { // Done holding, so delete the key hdel(st.buf, "NETHOLD"); @@ -665,8 +685,8 @@ static void *run(hashpipe_thread_args_t * args) } // Initialize the newly acquired block - initialize_block(db, 0); - initialize_block(db, N_TIME_PER_BLOCK*TIME_DEMUX); + initialize_block(db, time_index); + initialize_block(db, N_TIME_PER_BLOCK*TIME_DEMUX + time_index); /* Read network params */ int bindport = 8511; diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index b9c9878f..cbd91471 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -137,7 +137,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) } else if(db_in->block[curblock_in].header.mcnt == start_mcount) { // Set integration status to "on" // Read integration count (INTCOUNT) - fprintf(stderr, "--- integration on ---\n"); + fprintf(stdout, "--- integration on ---\n"); strcpy(integ_status, "on"); hashpipe_status_lock_safe(&st); hputs(st.buf, "INTSTAT", integ_status); @@ -145,7 +145,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_unlock_safe(&st); // Compute last mcount last_mcount = start_mcount + TIME_DEMUX*(int_count-N_TIME_PER_BLOCK);// * N_SUB_BLOCKS_PER_INPUT_BLOCK; - fprintf(stderr, "Accumulating to mcount: %lu\n", last_mcount); + fprintf(stdout, "Accumulating %d spectra to mcount: %lu\n", int_count, last_mcount); // Else (missed starting mcount) } else { // Handle missed start of integration diff --git a/src/xtor_up.py b/src/xtor_up.py new file mode 100644 index 00000000..1df384ba --- /dev/null +++ b/src/xtor_up.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +import redis +import time +import argparse +import subprocess + +perf_tweaker = 'tweak-perf.sh' +paper_init = 'paper_init.sh' + +def run_on_hosts(hosts, cmd, user=None, wait=True): + if isinstance(cmd, str): + cmd = [cmd] + p = [] + for host in hosts: + if user is None: + p += [subprocess.Popen(['ssh', '%s' % (host)] + cmd)] + else: + p += [subprocess.Popen(['ssh', '%s@%s' % (user, host)] + cmd)] + if wait: + for pn in p: + pn.wait() + +parser = argparse.ArgumentParser(description='Start the HERA X-engines', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + +parser.add_argument('hosts', type=str, nargs='+', help='Hosts to intialize') +parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') +parser.add_argument('-t', dest='timeslices', type=int, default=2, + help='Number of independent correlators. E.g. 2 => Even/odd correlator') +parser.add_argument('-i', dest='ninstances', type=int, default=2, + help='Number of pipeline instances per host') +parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, + help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) + +args = parser.parse_args() +hosts = args.hosts # Too lazy to keey typing this +nhosts = len(hosts) +nhosts_per_timeslice = nhosts / args.timeslices + +assert args.ninstances == 2, 'Sorry, anything other than ninstances=2 is not supported!' + +r = redis.Redis(args.redishost) + +# Run performance tweaking script +if args.runtweak: + run_on_hosts(hosts, perf_tweaker, user='root', wait=True) + +# Start X-Engines +run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host + +# Start hashpipe<->redis gateways +cpu_masks = ['0x0080', '0x8000'] +for host in hosts: + for i in range(args.ninstances): + run_on_hosts([host], ['taskset', cpu_masks[i], 'hashpipe_redis_gateway.rb', '-g', host, '-i', '%d'%i]) + +# Wait for the gateways to come up +time.sleep(1) + +# Configure the X-engines as even/odd correlators +for hn, host in enumerate(hosts): + for i in range(args.ninstances): + key = 'hashpipe://%s/%d/set' % (host, i) + r.publish(key, 'TIMEIDX=%d' % (hn//nhosts_per_timeslice)) + +# Let the network threads begin processing +for hn, host in enumerate(hosts): + for i in range(args.ninstances): + key = 'hashpipe://%s/%d/set' % (host, i) + r.publish(key, 'NETHOLD=0') + +time.sleep(2) + +# Reset various statistics counters +for hn, host in enumerate(hosts): + for i in range(args.ninstances): + key = 'hashpipe://%s/%d/set' % (host, i) + for v in ['NETWAT', 'NETREC', 'NETPRC']: + r.publish(key, '%sMN=99999' % (v)) + r.publish(key, '%sMX=0' % (v)) From 19d1a413d14c0efc621111df5c409ffbfea8889f Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 13 Oct 2018 05:12:07 +0000 Subject: [PATCH 090/420] First round of fixes to HDF5 writer --- src/catcher_init.sh | 4 +-- src/catcher_up.sh | 14 ++++---- src/hera_catcher_disk_thread.c | 61 +++++++++++++++++++--------------- src/hera_catcher_net_thread.c | 8 +++++ src/hera_make_hdf5_template.py | 2 +- src/paper_databuf.c | 48 ++++++++++++++++++++++++++ src/paper_databuf.h | 32 ++++-------------- 7 files changed, 107 insertions(+), 62 deletions(-) diff --git a/src/catcher_init.sh b/src/catcher_init.sh index 4cc829a8..53986827 100755 --- a/src/catcher_init.sh +++ b/src/catcher_init.sh @@ -30,8 +30,8 @@ function init() { -c $netcpu hera_catcher_net_thread \ -c $outcpu hera_catcher_disk_thread \ < /dev/null \ - 1> catcher.out.$instance \ - 2> catcher.err.$instance & + 1> ~/catcher.out.$instance \ + 2> ~/catcher.err.$instance & } if [ -z "$1" ] diff --git a/src/catcher_up.sh b/src/catcher_up.sh index 8249011a..564dfdcd 100755 --- a/src/catcher_up.sh +++ b/src/catcher_up.sh @@ -12,8 +12,8 @@ catcherhost=hera-sn1 # Start X engines echo Starting catcher instance on $catcherhost -echo "ssh $catcherhost \"cd /datax1; ${init} 0\" &" -ssh $catcherhost "cd /datax1; ${init} 0" & +echo "ssh $catcherhost \"cd /data; ${init} 0\" &" +ssh $catcherhost "cd /data; ${init} 0" & wait # Start hashpipe-redis gateways @@ -21,8 +21,8 @@ echo Starting hashpipe-redis gateways on $catcherhost echo "ssh $catcherhost \"taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0\"" ssh $catcherhost "taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0" -# Let the gateways come up -sleep 3 +# Let the gateways come up and the pipelines start +sleep 10 # Generate meta-data template echo "ssh $catcherhost \"source ~/hera-venv/bin/activate; hera_make_hdf5_template.py -c /tmp/template.h5\"" @@ -30,9 +30,9 @@ ssh $catcherhost "source ~/hera-venv/bin/activate; hera_make_hdf5_template.py -c # Configure runtime parameters SYNCTIME=`redis-cli -h redishost get corr:feng_sync_time` -redis-cli -h redishost publish hashpipe://hera-sn1/0/set HDF5TPLT=/tmp/template.h5 > /dev/null -redis-cli -h redishost publish hashpipe://hera-sn1/0/set MSPERFIL=10000 > /dev/null -redis-cli -h redishost publish hashpipe://hera-sn1/0/set SYNCTIME=$SYNCTIME > /dev/null +redis-cli -h redishost publish hashpipe://$catcherhost/0/set HDF5TPLT=/tmp/template.h5 > /dev/null +redis-cli -h redishost publish hashpipe://$catcherhost/0/set MSPERFIL=60000 > /dev/null +redis-cli -h redishost publish hashpipe://$catcherhost/0/set SYNCTIME=$SYNCTIME > /dev/null # Turn off HOLD flag on all instances echo Enabling catcher network threads diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 017de305..49f1d2b3 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -158,14 +158,14 @@ static void make_extensible_headers_hdf5(hdf5_id_t *id) // Now we have the dataspace properties, create the datasets id->time_array_did = H5Dcreate(id->header_gid, "time_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - if (id->visdata_did < 0) { - hashpipe_error(__FUNCTION__, "Failed to create visdata dataset"); + if (id->time_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create time_array dataset"); pthread_exit(NULL); } id->integration_time_did = H5Dcreate(id->header_gid, "integration_time", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - if (id->nsamples_did < 0) { - hashpipe_error(__FUNCTION__, "Failed to create nsamples dataset"); + if (id->integration_time_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create integration_time dataset"); pthread_exit(NULL); } @@ -186,8 +186,8 @@ static void make_extensible_headers_hdf5(hdf5_id_t *id) // Now we have the dataspace properties, create the datasets id->uvw_array_did = H5Dcreate(id->header_gid, "uvw_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - if (id->visdata_did < 0) { - hashpipe_error(__FUNCTION__, "Failed to create visdata dataset"); + if (id->uvw_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create uvw_array dataset"); pthread_exit(NULL); } @@ -296,6 +296,9 @@ static void close_filespaces(hdf5_id_t *id) { H5Sclose(id->visdata_fs); H5Sclose(id->flags_fs); H5Sclose(id->nsamples_fs); + H5Sclose(id->time_array_fs); + H5Sclose(id->integration_time_fs); + H5Sclose(id->uvw_array_fs); } @@ -472,26 +475,11 @@ static void *run(hashpipe_thread_args_t * args) // This is read from shared memory uint32_t ms_per_file; - // Get template filename from redis - hashpipe_status_lock_safe(&st); - hgets(st.buf, "HDF5TPLT", 128, template_fname); - - // Get time that F-engines were last sync'd - hgetu4(st.buf, "SYNCTIME", &sync_time); - - hgetu4(st.buf, "MSPERFIL", &ms_per_file); - - // Get the integration time reported by the correlator - hgetr8(st.buf, "INTSECS", &integration_time); - // Init status variables + hashpipe_status_lock_safe(&st); hputi8(st.buf, "DISKMCNT", 0); hashpipe_status_unlock_safe(&st); - fprintf(stdout, "Catcher using header template %s\n", template_fname); - fprintf(stdout, "Catcher using sync time %u\n", sync_time); - fprintf(stdout, "Catcher recording %ums per file\n", ms_per_file); - /* Loop */ int32_t *db_in32; int rv; @@ -534,7 +522,8 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_unlock_safe(&st); // Wait for new input block to be filled - while ((rv=hera_catcher_input_databuf_wait_filled(db_in, curblock_in)) != HASHPIPE_OK) { + fprintf(stdout, "disk thread waiting for block %d to be filled\n", curblock_in); + while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, curblock_in)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "blocked_in"); @@ -546,9 +535,21 @@ static void *run(hashpipe_thread_args_t * args) break; } } + fprintf(stdout, "disk thread acquired block %d\n", curblock_in); - // Got a new data block, update status + // Get template filename from redis hashpipe_status_lock_safe(&st); + hgets(st.buf, "HDF5TPLT", 128, template_fname); + + // Get time that F-engines were last sync'd + hgetu4(st.buf, "SYNCTIME", &sync_time); + + hgetu4(st.buf, "MSPERFIL", &ms_per_file); + + // Get the integration time reported by the correlator + hgetr8(st.buf, "INTSECS", &integration_time); + + // Got a new data block, update status hputs(st.buf, status_key, "writing"); hputi4(st.buf, "DISKBKIN", curblock_in); hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt); @@ -558,7 +559,7 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &start); gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt, sync_time); - fprintf(stdout, "Processing new block with: mcnt: %lu (gps time: %lf\n", db_in->block[curblock_in].header.mcnt, gps_time); + //fprintf(stdout, "Processing new block with: mcnt: %lu (gps time: %lf)\n", db_in->block[curblock_in].header.mcnt, gps_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); if ((curr_file_time < 0) || (1000*(gps_time - curr_file_time) > ms_per_file)) { @@ -625,6 +626,7 @@ static void *run(hashpipe_thread_args_t * args) max_w_ns = MAX(w_ns, min_w_ns); } + // Close the filespaces - leave the datasets open. We'll close those when the file is done close_filespaces(&sum_file); close_filespaces(&diff_file); @@ -652,9 +654,14 @@ static void *run(hashpipe_thread_args_t * args) } hashpipe_status_unlock_safe(&st); + fprintf(stdout, "disk thread freeing buf %d \n", curblock_in); // Mark input block as free and advance - hera_catcher_input_databuf_set_free(db_in, curblock_in); - curblock_in = (curblock_in + 1) % db_in->header.n_block; + if (hashpipe_databuf_wait_free((hashpipe_databuf_t *)db_in, curblock_in) != HASHPIPE_OK) { + //if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; /* Check for cancel */ pthread_testcancel(); diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 4073c9cb..8e154231 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -91,6 +91,7 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu } // Set the block as filled + fprintf(stdout, "Catcher netthread marking block %d full\n", block_i); if(hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_p, block_i) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); pthread_exit(NULL); @@ -184,6 +185,11 @@ static inline uint64_t process_packet( time_demux_block = (mcnt / Nt) % TIME_DEMUX; pkt_mcnt = mcnt - (Nt*time_demux_block); + // Holdoff until the start of an integration + if(!binfo.initialized && (offset!=0)) { + return -1; + } + // Lazy init binfo if(!binfo.initialized) { initialize_block_info(&binfo); @@ -211,6 +217,7 @@ static inline uint64_t process_packet( hashpipe_status_lock_safe(st_p); hputs(st_p->buf, status_key, "waiting for outbuf"); hashpipe_status_unlock_safe(st_p); + fprintf(stdout, "Catcher netthread waiting for lock onto block %d\n", binfo.block_i); if(hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_p, binfo.block_i) != HASHPIPE_OK) { if (errno == EINTR) { // Interrupted by signal, return -1 @@ -223,6 +230,7 @@ static inline uint64_t process_packet( return -1; // We're exiting so return value is kind of moot } } + fprintf(stdout, "Catcher netthread got lock onto block %d\n", binfo.block_i); hashpipe_status_lock_safe(st_p); hputs(st_p->buf, status_key, "running"); hashpipe_status_unlock_safe(st_p); diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 7d960bc4..aba86067 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -81,7 +81,7 @@ def create_header(h5, use_cm=False): header.create_dataset("freq_array", dtype=" Date: Sat, 13 Oct 2018 05:13:19 +0000 Subject: [PATCH 091/420] Slow down packets --- src/paper_gpu_output_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/paper_gpu_output_thread.c b/src/paper_gpu_output_thread.c index 37c7b447..7397df20 100644 --- a/src/paper_gpu_output_thread.c +++ b/src/paper_gpu_output_thread.c @@ -68,7 +68,7 @@ static XGPUInfo xgpu_info; // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (2 * 8*OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (4 * 8*OUTPUT_BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; From bbedd882c5089db7170c9876096717c25e1b271c Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 13 Oct 2018 21:08:20 +0000 Subject: [PATCH 092/420] Fix buffer indexing issue in catcher netthread X-engines count to 31, but only 16 engines are required to give one correlation time slice. Thus, using the time slice index *and* the X-engine numbers up to 31 is incorrect, and leads to buffer overflows --- src/catcher_down.sh | 35 ++++++++++++++++++++++++++++++++++ src/hera_catcher_disk_thread.c | 3 +-- src/hera_catcher_net_thread.c | 32 +++++++++++++++---------------- src/paper_databuf.h | 4 ++-- 4 files changed, 54 insertions(+), 20 deletions(-) create mode 100755 src/catcher_down.sh diff --git a/src/catcher_down.sh b/src/catcher_down.sh new file mode 100755 index 00000000..bf1a9209 --- /dev/null +++ b/src/catcher_down.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +show_help_and_exit() { +cat <<. +Script to totally take down the HERA data catcher. +. +exit $1 +} + +# Name of PAPER server +catcherhost=hera-sn1 + +# Stop hashpipe-redis gateways +echo "stopping hashpipe-redis gateways" +redis-cli -h redishost publish hashpipe://$catcherhost/gateway quit + +# Just to be sure +echo "killing any remaining hashpipe-redis gateways" +ssh root@$catcherhost pkill -f hashpipe_redis_gateway.rb +ssh root@$catcherhost pkill -f -9 hashpipe_redis_gateway.rb + +# Stop hashpipe instances +echo "killing hashpipe instances" +ssh root@$catcherhost pkill -f hashpipe +ssh root@$catcherhost pkill -f -9 hashpipe + +# Delete shared memory and semaphores +echo "deleting shared memory and semaphores" +ssh root@$catcherhost hashpipe_clean_shmem -d -I 0 > /dev/null + +# Just to be sure +echo "nuking any remaining shared memory and semaphores" +ssh root@$catcherhost 'ipcs -m | awk "/0x/{print \"ipcrm -m\", \$2}" | sh' +ssh root@$catcherhost 'ipcs -s | awk "/0x/{print \"ipcrm -s\", \$2}" | sh' +ssh root@$catcherhost 'rm /dev/shm/*hashpipe*' diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 49f1d2b3..f7dd6318 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -656,8 +656,7 @@ static void *run(hashpipe_thread_args_t * args) fprintf(stdout, "disk thread freeing buf %d \n", curblock_in); // Mark input block as free and advance - if (hashpipe_databuf_wait_free((hashpipe_databuf_t *)db_in, curblock_in) != HASHPIPE_OK) { - //if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 8e154231..43f0e828 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -157,6 +157,7 @@ static inline uint64_t process_packet( { int i; + int rv; static block_info_t binfo; packet_header_t *packet_header_p; const uint32_t *payload_p; @@ -218,18 +219,19 @@ static inline uint64_t process_packet( hputs(st_p->buf, status_key, "waiting for outbuf"); hashpipe_status_unlock_safe(st_p); fprintf(stdout, "Catcher netthread waiting for lock onto block %d\n", binfo.block_i); - if(hera_catcher_input_databuf_busywait_free(hera_catcher_input_databuf_p, binfo.block_i) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } + while ((rv=hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_p, binfo.block_i)) != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "blocked output"); + hashpipe_status_unlock_safe(st_p); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + break; + } } + fprintf(stdout, "Catcher netthread got lock onto block %d\n", binfo.block_i); hashpipe_status_lock_safe(st_p); hputs(st_p->buf, status_key, "running"); @@ -247,9 +249,10 @@ static inline uint64_t process_packet( binfo.block_packet_counter[binfo.block_i]++; // Copy data into buffer - dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id, offset)); + dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(xeng_id, offset)); payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); - //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d), payload:%d\n", packet_header_p->mcnt, time_demux_block, packet_header_p->offset, packet_header_p->xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1], packet_header_p->payload_len); + //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d), payload:%d, block:%d\n", mcnt, time_demux_block, offset, xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1], payload_len, binfo.block_i); + //fprintf(stdout, "offset is %u\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id, offset))); //fprintf(stdout, "offset: %d\n", hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); //memcpy(dest_p, payload_p, payload_len); @@ -258,9 +261,6 @@ static inline uint64_t process_packet( dest_p[i] = be32toh(payload_p[i]); } - //dest_p = dest_p; - //payload_p = payload_p; - return netmcnt; } diff --git a/src/paper_databuf.h b/src/paper_databuf.h index d7fc9a16..8a7ad00d 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -290,8 +290,8 @@ typedef struct hera_catcher_input_databuf { hera_catcher_input_block_t block[CATCHER_N_BLOCKS]; } hera_catcher_input_databuf_t; -#define hera_catcher_input_databuf_idx32(t, x, o) \ - (2*((VIS_MATRIX_ENTRIES*t) + (VIS_MATRIX_ENTRIES_PER_CHAN * N_CHAN_PER_X*x)) + (o>>2)) +#define hera_catcher_input_databuf_idx32(x, o) \ + (2L*(VIS_MATRIX_ENTRIES_PER_CHAN * N_CHAN_PER_X*x) + (o>>2)) /* * INPUT BUFFER FUNCTIONS From f11823238423e8874b43011d330cc528a2e4e9d9 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 13 Oct 2018 21:50:31 +0000 Subject: [PATCH 093/420] Slow down output packets more. Now getting zero-loss on the catcher --- src/paper_gpu_output_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/paper_gpu_output_thread.c b/src/paper_gpu_output_thread.c index 7397df20..6e03a13a 100644 --- a/src/paper_gpu_output_thread.c +++ b/src/paper_gpu_output_thread.c @@ -68,7 +68,7 @@ static XGPUInfo xgpu_info; // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (4 * 8*OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (5 * 8*OUTPUT_BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; From 15bb1a7dd07ab51b0f794f5b4c55b0a3afd0d0c1 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 13 Oct 2018 21:51:37 +0000 Subject: [PATCH 094/420] Tweak core affinities for performance --- src/catcher_init.sh | 4 ++-- src/catcher_up.sh | 4 ++-- tweak-perf-sn.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/catcher_init.sh b/src/catcher_init.sh index 53986827..0cee02ef 100755 --- a/src/catcher_init.sh +++ b/src/catcher_init.sh @@ -13,10 +13,10 @@ myip=$(getip $(hostname)) function init() { instance=0 - mask=0x00ff + mask=0x003f bindhost=eth3 netcpu=0 - outcpu=1 + outcpu=3 echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ diff --git a/src/catcher_up.sh b/src/catcher_up.sh index 564dfdcd..e086d7aa 100755 --- a/src/catcher_up.sh +++ b/src/catcher_up.sh @@ -18,8 +18,8 @@ wait # Start hashpipe-redis gateways echo Starting hashpipe-redis gateways on $catcherhost -echo "ssh $catcherhost \"taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0\"" -ssh $catcherhost "taskset 0x0001 hashpipe_redis_gateway.rb -g $catcherhost -i 0" +echo "ssh $catcherhost \"taskset 0x0004 hashpipe_redis_gateway.rb -g $catcherhost -i 0\"" +ssh $catcherhost "taskset 0x0004 hashpipe_redis_gateway.rb -g $catcherhost -i 0" # Let the gateways come up and the pipelines start sleep 10 diff --git a/tweak-perf-sn.sh b/tweak-perf-sn.sh index ffe3b345..bfb32a83 100755 --- a/tweak-perf-sn.sh +++ b/tweak-perf-sn.sh @@ -29,6 +29,6 @@ ethtool -G eth3 rx 8192 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 -ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 4 loc 2 +ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 1 loc 1 From 621ace78b4642ea04d7623f05ee481ee842470f8 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 13 Oct 2018 23:19:40 +0000 Subject: [PATCH 095/420] Replaced vectorized transpose / sum with dumb one Seems more consistent, and roughly the same speed -- 2.1 Gb/s quoted disk thread throughput --- src/hera_catcher_disk_thread.c | 103 +++++++++++++++++++++++---------- 1 file changed, 71 insertions(+), 32 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index f7dd6318..d04741ef 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -356,7 +356,7 @@ static void compute_integration_time_array(double integration_time, double *inte } /* -Given an intire input buffer -- +Given an entire input buffer -- even/odd x 1 time x N_chans x N_bls x N_stokes x 2 (real/imag) Write -- even/odd-sum x 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_sum`. @@ -366,58 +366,96 @@ This function sums over CATCHER_SUM_CHANS as it transposes, and computes even/od */ #define corr_databuf_data_idx(c, b) (2*((c*VIS_MATRIX_ENTRIES_PER_CHAN) + (N_STOKES*b))) -static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int b) { +static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int bl) { - int i, chan, output_chan; - __m256i sum_even[N_BL_PER_WRITE], sum_odd[N_BL_PER_WRITE]; - __m256i val_even[N_BL_PER_WRITE], val_odd[N_BL_PER_WRITE]; - // Wasteful, but initialize so that the compiler is happy... - for(i=0; i> 2); - in_odd256 += (VIS_MATRIX_ENTRIES_PER_CHAN >> 2); // If this is the last channel in the sum, take the even/odd sum/diff, and write to the // output buffer if ((chan % CATCHER_CHAN_SUM) == (CATCHER_CHAN_SUM-1)) { output_chan = chan / CATCHER_CHAN_SUM; - // Compute sums/diffs - for(i=0; i Date: Sun, 14 Oct 2018 01:14:36 +0000 Subject: [PATCH 096/420] Move channel averaging into the X-boxes Previously, the catcher received all 8k channels (at ~5Gb/s) and was required to average them down by a factor of 4, transpose the channel and baseline axes, and write to disk. The transpose is very slow, and would sometimes slow to the point it would cause the netthread to lock waiting for a buffer. This commit moves averaging into the X-engine, prior to data transmission, meaning the catcher has to do much less work. This change has been put in a new `hera_gpu_output_thread` with the hope that ultimately the data transpose will be moved upstream as well. Various tweaks to parameters have been made to make everything play nicely, and correctly calculate buffer sizes / offsets / etc. --- src/Makefile.am | 4 +- src/hera_catcher_disk_thread.c | 32 +-- src/hera_gpu_output_thread.c | 486 +++++++++++++++++++++++++++++++++ src/paper_databuf.h | 7 +- src/paper_init.sh | 4 +- 5 files changed, 508 insertions(+), 25 deletions(-) create mode 100644 src/hera_gpu_output_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index 22663d2e..a7879877 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -22,6 +22,7 @@ paper_threads = paper_fake_net_thread.c \ paper_crc_thread.c \ hera_catcher_net_thread.c \ hera_catcher_disk_thread.c \ + hera_gpu_output_thread.c \ #lzf/lzf/lzf_c.c \ #lzf/lzf/lzf_d.c \ #lzf/lzf_filter.c \ @@ -52,9 +53,10 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 dist_bin_SCRIPTS = paper_init.sh \ paper_crc_init.sh \ xtor_down.sh \ - xtor_up.sh \ + xtor_up.py \ catcher_init.sh \ catcher_up.sh \ + catcher_down.sh \ tweak-perf.sh \ hera_ctl.py \ hera_make_hdf5_template.py diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index d04741ef..ec28b652 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -36,8 +36,8 @@ #endif #define N_DATA_DIMS (4) -#define N_CHAN_PROCESSED (N_CHAN_TOTAL / CATCHER_CHAN_SUM) -#define N_BL_PER_WRITE (32) +#define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM * XENG_CHAN_SUM)) +#define N_BL_PER_WRITE (193) static hid_t complex_id; @@ -370,30 +370,23 @@ static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int c, b, s, i, chan; int sum_even[N_BL_PER_WRITE][4][2], sum_odd[N_BL_PER_WRITE][4][2]; - int val_even[CATCHER_CHAN_SUM][N_BL_PER_WRITE][4][2], val_odd[CATCHER_CHAN_SUM][N_BL_PER_WRITE][4][2]; int32_t *in_even = in + corr_databuf_data_idx(0,bl); int32_t *in_odd = in_even + 2*VIS_MATRIX_ENTRIES; - for (chan=0; chan +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +// Correlator data are sent to a data catcher using a simple UDP packetization +// format: + +// uint64_t TIMESTAMP (set to be the MCNT provided by the databuf delivered by the upstream processor) +// uint32_t OFFSET (offset in bytes where this packet should be placed in memory to build the complete output) +// uint16_t X-ENGINE ID +// uint16_t PAYLOAD LENGTH (length of data payload in this packet in bytes) + +// Structure for packet header + +typedef struct pkthdr { + uint64_t timestamp; + uint32_t offset; + uint16_t xeng_id; + uint16_t payload_len; +} pkthdr_t; + +// Macros for generating values for the pkthdr_t fields +#define TIMESTAMP(x) (htobe64((uint64_t)x)) +#define OFFSET(x) (htobe32((uint32_t)x)) +#define XENG_ID(x) (htobe16((uint16_t)x)) +#define PAYLOAD_LEN(x) (htobe16((uint16_t)x)) + +#define CONVERT(x) (htobe32(x)) + +typedef int32_t pktdata_t; + +// Structure of a packet +typedef struct pkt { + pkthdr_t hdr; + pktdata_t data[OUTPUT_BYTES_PER_PACKET/sizeof(pktdata_t)]; +} pkt_t; + +static XGPUInfo xgpu_info; + +// PACKET_DELAY_NS is number of nanoseconds to delay between packets. This is +// to prevent overflowing the network interface's TX queue. +// Keep in mind the total throughput of the network, and also the number +// of x-engine instances which will be running on each host. + +// Note that the below calculations account only for the packet's payload (i.e. +// it considers the size of the packet header to be negligible). +// +// 1000 megabit per second = 1 nanosecond per bit +// 100 megabit per second = 10 nanosecond per bit +// 10 megabit per second = 100 nanosecond per bit + +// Set to 200 Mbps -- OK for two instances per node. +// With 16 nodes, amounts to 6.4 Gbps of data +#define PACKET_DELAY_NS (4 * XENG_CHAN_SUM * 8*OUTPUT_BYTES_PER_PACKET) + +// bytes_per_dump depends on xgpu_info.triLength +static uint64_t bytes_per_dump = 0; +// packets_per_dump is bytes_per_dump / OUTPUT_BYTES_PER_PACKET +static unsigned int packets_per_dump = 0; + +// Open and connect a UDP socket to the given host and port. Note that port is +// a string and can be a stringified integer (e.g. "7148") or a service name +// (e.g. "ntp"). Returns -1 on error, otherwise a valid descriptor for an open +// and connected socket. +static int +open_udp_socket(const char *host, const char *port) +{ + struct addrinfo hints; + struct addrinfo *result, *rp; + int s, sfd=-1; + + // Obtain address(es) matching host/port + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = 0; + hints.ai_protocol = 0; + + s = getaddrinfo(host, port, &hints, &result); + if (s != 0) { + hashpipe_error("getaddrinfo", gai_strerror(s)); + return -1; + } + + // getaddrinfo() returns a list of address structures. + // Try each address until we successfully connect(2). + // If socket(2) (or connect(2)) fails, we (close the socket + // and) try the next address. + + for (rp = result; rp != NULL; rp = rp->ai_next) { + sfd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + + if (sfd == -1) { + continue; + } + + if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1) { + break; // Success + } + + close(sfd); + sfd = -1; + } + + freeaddrinfo(result); + +#if 0 + // Print send buffer size + int bufsize; + unsigned int bufsizesize = sizeof(bufsize); + getsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &bufsize, &bufsizesize); + printf("send buffer size is %d\n", bufsize); +#endif + + return sfd; +} + + +// Computes the triangular index of an (i,j) pair as shown here... +// NB: Output is valid only if i >= j. +// +// i=0 1 2 3 4.. +// +--------------- +// j=0 | 00 01 03 06 10 +// 1 | 02 04 07 11 +// 2 | 05 08 12 +// 3 | 09 13 +// 4 | 14 +// : +static inline off_t tri_index(const int i, const int j) +{ + return (i * (i+1))/2 + j; +} + +// regtile_chan_length is the number of complex cross products per channel for +// the xGPU register tile order correlator output format with N_INPUTS. +// NB: N_INPUTS = N_STATION * N_POL +#define REGTILE_CHAN_LENGTH (4 * 4 * N_INPUTS/4 * (N_INPUTS/4+1) / 2) +static inline size_t regtile_chan_length() +{ + // Four cross products for each quadrant of 4 input x 4 input tile + return REGTILE_CHAN_LENGTH; +} + +// Returns index into the GPU's register tile ordered output buffer for the +// real component of the cross product of inputs in0 and in1. Note that in0 +// and in1 are input indexes (i.e. 0 based) and often represent antenna and +// polarization by passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx +// and pol_idx are also 0 based). Return value is valid if in1 >= in0. The +// corresponding imaginary component is located xgpu_info.matLength words after +// the real component. +static off_t regtile_index(const int in0, const int in1) +{ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; + const int num_words_per_cell = 4; + + // Index within a quadrant + const int quadrant_index = tri_index(a1/2, a0/2); + // Quadrant for this input pair + const int quadrant = 2*(a0&1) + (a1&1); + // Size of quadrant + const int quadrant_size = (xgpu_info.nstation/2 + 1) * xgpu_info.nstation/4; + // Index of cell (in units of cells) + const int cell_index = quadrant*quadrant_size + quadrant_index; + //printf("%s: in0=%d, in1=%d, a0=%d, a1=%d, cell_index=%d\n", __FUNCTION__, in0, in1, a0, a1, cell_index); + // Pol offset + const int pol_offset = 2*p1 + p0; + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; +} + +// Returns index into a CASPER ordered buffer for the real component of the +// cross product of inputs in0 and in1. Note that in0 and in1 are input +// indexes (i.e. 0 based) and often represent antenna and polarization by +// passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx ad pol_idx are +// also 0 based). Return value is valid if in1 >= in0. The corresponding +// imaginary component is located in the word immediately following the real +// component. A casper ordered buffer consists of four complex values for each +// pair of input pairs. Thus, the number of complex values in a casper ordered +// buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) +static off_t casper_index(const int in0, const int in1, const int n) +{ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; + const int delta = a1-a0; + const int num_words_per_cell = 8; + const int nant_2 = (n/2) / 2; + + // Three cases: top triangle, middle rectangle, bottom triangle + const int triangle_size = ((nant_2 + 1) * nant_2)/2; + const int middle_rect_offset = triangle_size; + const int last_cell_offset = 4*middle_rect_offset - nant_2 - 1; + int cell_index; + + if(delta > nant_2) { + // bottom triangle + cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1); + } else if (a1 < (n/2)/2) { + // top triangle + cell_index = tri_index(a1, a0); + } else { + // middle rectangle + cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); + } + //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); + // Pol offset + const int pol_offset = 2*(2*(p0^p1) + p0); + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; +} + +// For each channel, a casper ordered buffer contains four complex values for +// each pair of input pairs. Thus, the number of complex values in a casper +// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) +#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) + +// Lookup table mapping casper_idx to regtile_idx +static off_t *idx_map; + +static int init_idx_map() +{ + int a0, a1, p0, p1, i, j; + idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); + if(!idx_map) { + return -1; + } + + for(a1=0; a1ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // Setup socket and message structures + int sockfd; + unsigned int xengine_id = 0; + struct timespec packet_delay = { + .tv_sec = 0, + .tv_nsec = PACKET_DELAY_NS + }; + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "XID", &xengine_id); // No change if not found + hputu4(st.buf, "XID", xengine_id); + hputu4(st.buf, "OUTDUMPS", 0); + hashpipe_status_unlock_safe(&st); + + pkt_t pkt; + pkt.hdr.xeng_id = XENG_ID(xengine_id); + pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); + + // TODO Get catcher hostname and port from somewhere + +#define stringify2(x) #x +#define stringify(x) stringify2(x) + + // Open socket + sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); + if(sockfd == -1) { + hashpipe_error(__FUNCTION__, "error opening socket"); + pthread_exit(NULL); + } + +#ifdef TEST_INDEX_CALCS + int i, j; + off_t o; + for(i=0; i<32; i++) { + for(j=i; j<32; j++) { + regtile_index(2*i, 2*j); + } + } + for(i=0; i<32; i++) { + for(j=i; j<32; j++) { + o = casper_index(2*i, 2*j, N_INPUTS); + fprintf(stdout, "%d, %d, %d\n", i, j, (int) o); + } + } +#endif + + /* Main loop */ + int rv; + int casper_chan, gpu_chan, sum_chan; + int baseline; + unsigned int dumps = 0; + int block_idx = 0; + struct timespec start, stop; + struct timespec pkt_start, pkt_stop; + pktdata_t re, im; + while (run_threads()) { + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "waiting"); + hashpipe_status_unlock_safe(&st); + + // Wait for new block to be filled + while ((rv=paper_output_databuf_wait_filled(db, block_idx)) + != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } + + clock_gettime(CLOCK_MONOTONIC, &start); + + // Note processing status, current input block + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hputi4(st.buf, "OUTBLKIN", block_idx); + hashpipe_status_unlock_safe(&st); + + // Update header's timestamp for this dump. + pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); + // Reset packet/byte counters to 0 + pkt.hdr.offset = OFFSET(0); + uint32_t nbytes = 0; + + // Unpack and convert in packet sized chunks + pktdata_t * pf_re = db->block[block_idx].data; + pktdata_t * pf_im = db->block[block_idx].data + xgpu_info.matLength; + pktdata_t * p_out = pkt.data; + clock_gettime(CLOCK_MONOTONIC, &pkt_start); + // Iterate over blocks of XENG_CHAN_SUM channels. An inner loop will sum these + for(casper_chan=0; casper_chan 0 && packet_delay.tv_nsec < 1000*1000*1000) { + nanosleep(&packet_delay, NULL); + } + + // Setup for next packet + p_out = pkt.data; + pkt_start = pkt_stop; + // Update header's byte_offset for this chunk + pkt.hdr.offset = OFFSET(nbytes); + } + } + } + + clock_gettime(CLOCK_MONOTONIC, &stop); + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); + hputu4(st.buf, "OUTDUMPS", ++dumps); + hputu4(st.buf, "OUTBYTES", nbytes); + hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); + hputr4(st.buf, "OUTMBPS", (1e3*8*nbytes)/ELAPSED_NS(start,stop)); + hashpipe_status_unlock_safe(&st); + +done_sending: + + // Mark block as free + paper_output_databuf_set_free(db, block_idx); + + // Setup for next block + block_idx = (block_idx + 1) % db->header.n_block; + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + + // Thread success! + return NULL; +} + +static hashpipe_thread_desc_t gpu_output_thread = { + name: "hera_gpu_output_thread", + skey: "OUTSTAT", + init: init, + run: run, + ibuf_desc: {paper_output_databuf_create}, + obuf_desc: {NULL} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&gpu_output_thread); +} diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 8a7ad00d..0b450c16 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -55,8 +55,9 @@ #define CATCHER_PORT 10000 #define OUTPUT_BYTES_PER_PACKET (4096) #define CATCHER_N_BLOCKS 2 -#define CATCHER_CHAN_SUM 4 -#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL * (N_INPUTS * ((N_INPUTS>>1) + 1))) +#define CATCHER_CHAN_SUM 1 +#define XENG_CHAN_SUM 4 +#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) #define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) #define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) #define N_STOKES 4 @@ -291,7 +292,7 @@ typedef struct hera_catcher_input_databuf { } hera_catcher_input_databuf_t; #define hera_catcher_input_databuf_idx32(x, o) \ - (2L*(VIS_MATRIX_ENTRIES_PER_CHAN * N_CHAN_PER_X*x) + (o>>2)) + (2L*(VIS_MATRIX_ENTRIES_PER_CHAN * (N_CHAN_PER_X/XENG_CHAN_SUM)*x) + (o>>2)) /* * INPUT BUFFER FUNCTIONS diff --git a/src/paper_init.sh b/src/paper_init.sh index d57dde01..5e5f2201 100755 --- a/src/paper_init.sh +++ b/src/paper_init.sh @@ -174,7 +174,7 @@ function init() { -c $netcpu hera_pktsock_thread \ -c $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ - -c $outcpu paper_gpu_output_thread + -c $outcpu hera_gpu_output_thread taskset $mask \ hashpipe -p paper_gpu -I $instance \ @@ -184,7 +184,7 @@ function init() { -c $netcpu hera_pktsock_thread \ -c $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ - -c $outcpu paper_gpu_output_thread \ + -c $outcpu hera_gpu_output_thread \ < /dev/null \ 1> px${mypx}.out.$instance \ 2> px${mypx}.err.$instance & From a10d7ae8933b735f35342cf43379436aa3016b4f Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:13:50 +0000 Subject: [PATCH 097/420] Remove some prints --- src/hera_catcher_net_thread.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 43f0e828..0d91fb33 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -91,7 +91,6 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu } // Set the block as filled - fprintf(stdout, "Catcher netthread marking block %d full\n", block_i); if(hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_p, block_i) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); pthread_exit(NULL); @@ -218,7 +217,6 @@ static inline uint64_t process_packet( hashpipe_status_lock_safe(st_p); hputs(st_p->buf, status_key, "waiting for outbuf"); hashpipe_status_unlock_safe(st_p); - fprintf(stdout, "Catcher netthread waiting for lock onto block %d\n", binfo.block_i); while ((rv=hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_p, binfo.block_i)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(st_p); @@ -232,7 +230,6 @@ static inline uint64_t process_packet( } } - fprintf(stdout, "Catcher netthread got lock onto block %d\n", binfo.block_i); hashpipe_status_lock_safe(st_p); hputs(st_p->buf, status_key, "running"); hashpipe_status_unlock_safe(st_p); From 5f66b68ee82bcf6eca58de0cbde947a39490d790 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:14:18 +0000 Subject: [PATCH 098/420] Write integration time to redis Might be useful (is at least handy to be able to see) --- src/hera_ctl.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hera_ctl.py b/src/hera_ctl.py index 69d0aa93..0af2aca6 100755 --- a/src/hera_ctl.py +++ b/src/hera_ctl.py @@ -86,3 +86,4 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): rdb['corr:trig_mcnt'] = trig_mcnt rdb['corr:trig_time'] = trig_time rdb['corr:acc_len'] = args.acclen + rdb['corr:int_time'] = args.acclen * args.slices * mcnts_per_second() From dfa9b699bcfd6e3a76b39c7687ee5caf6bffeb63 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:15:22 +0000 Subject: [PATCH 099/420] Don't write ant_[1|2]_array datasets These need extending with each new accumulation, so should be written by the receiver. Instead, write a new dataset -- Header/corr_bl_order, which is the baseline order out of the X-engines. The catcher can manipulate this order to form the ant_[1|2]_array datasets (potentially including stuff for baseline-dependent averaging) --- src/hera_make_hdf5_template.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index aba86067..38c8c4ea 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -74,8 +74,10 @@ def create_header(h5, use_cm=False): header.create_dataset("Npols", dtype=" Date: Mon, 15 Oct 2018 23:24:10 +0000 Subject: [PATCH 100/420] Stop recording after N-files And misc header fixes, eg. mcnt->GPS fix, Nblts off-by-NSTOKES factor fix --- src/hera_catcher_disk_thread.c | 109 ++++++++++++++++++++++++++++++--- 1 file changed, 101 insertions(+), 8 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index ec28b652..23d53f68 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -327,16 +327,62 @@ static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, mem_space1, id->integration_time_fs, H5P_DEFAULT, integration_time_buf); H5Sselect_hyperslab(id->time_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, mem_space1, id->time_array_fs, H5P_DEFAULT, time_array_buf); + H5Sselect_hyperslab(id->ant_1_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); + H5Dwrite(id->ant_1_array_did, H5T_NATIVE_INT, mem_space1, id->ant_1_array_fs, H5P_DEFAULT, ant_1); + H5Sselect_hyperslab(id->ant_2_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); + H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, mem_space1, id->ant_2_array_fs, H5P_DEFAULT, ant_2); H5Sselect_hyperslab(id->uvw_array_fs, H5S_SELECT_SET, start2, NULL, count2, NULL); H5Dwrite(id->uvw_array_did, H5T_NATIVE_DOUBLE, mem_space2, id->uvw_array_fs, H5P_DEFAULT, uvw_array_buf); } +/* Read the baseline order from an HDF5 file via the Header/corr_bl_order dataset */ +static void get_bl_order(hdf5_id_t *id, bl_t *bl_order) { + hid_t dataset_id; + herr_t status; + dataset_id = H5Dopen(id->header_gid, "corr_bl_order", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); + pthread_exit(NULL); + } + status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_order); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); + pthread_exit(NULL); + } + status = H5Dclose(dataset_id); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); + pthread_exit(NULL); + } +} + +/* Read the antenna positions from an HDF5 file via the Header/antenna_positions_enu dataset */ +static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { + hid_t dataset_id; + herr_t status; + dataset_id = H5Dopen(id->header_gid, "antenna_positions_enu", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/antenna_positions_enu dataset"); + pthread_exit(NULL); + } + status = H5Dread(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_pos); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to read Header/antenna_positions_enu dataset"); + pthread_exit(NULL); + } + status = H5Dclose(dataset_id); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/antenna_positions_enu dataset"); + pthread_exit(NULL); + } +} + /* Turn an mcnt into a UNIX time in double-precision. */ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) { - return (sync_time + mcnt) * (N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE); + return sync_time + (mcnt * (2 * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); } static void compute_time_array(double time, double *time_buf) @@ -502,7 +548,15 @@ static void *run(hashpipe_thread_args_t * args) uint32_t sync_time = 0; double gps_time; double julian_time; - double integration_time; + uint32_t acc_len; + uint32_t nfiles; + uint32_t file_cnt = 0; + uint32_t trigger = 0; + + // Variables for antenna positions and baseline orders. These should be provided + // via the HDF5 header template. + bl_t bl_order[VIS_MATRIX_ENTRIES / N_STOKES]; + enu_t ant_pos[N_ANTS]; // How many integrations to dump to a file before starting the next one // This is read from shared memory @@ -511,6 +565,7 @@ static void *run(hashpipe_thread_args_t * args) // Init status variables hashpipe_status_lock_safe(&st); hputi8(st.buf, "DISKMCNT", 0); + hputu4(st.buf, "TRIGGER", 0); hashpipe_status_unlock_safe(&st); /* Loop */ @@ -555,7 +610,6 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_unlock_safe(&st); // Wait for new input block to be filled - fprintf(stdout, "disk thread waiting for block %d to be filled\n", curblock_in); while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, curblock_in)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); @@ -568,21 +622,49 @@ static void *run(hashpipe_thread_args_t * args) break; } } - fprintf(stdout, "disk thread acquired block %d\n", curblock_in); // Get template filename from redis hashpipe_status_lock_safe(&st); hgets(st.buf, "HDF5TPLT", 128, template_fname); - + // Get time that F-engines were last sync'd hgetu4(st.buf, "SYNCTIME", &sync_time); hgetu4(st.buf, "MSPERFIL", &ms_per_file); // Get the integration time reported by the correlator - hgetr8(st.buf, "INTSECS", &integration_time); + hgetu4(st.buf, "INTTIME", &acc_len); + + // Get the number of files to write + hgetu4(st.buf, "NFILES", &nfiles); + + // Get the number of files to write + hgetu4(st.buf, "TRIGGER", &trigger); + hashpipe_status_unlock_safe(&st); + + // If we have written all the files we were commanded to + // start marking blocks as done and idling until a new + // trigger is received + if (file_cnt >= nfiles) { + if (trigger) { + fprintf(stdout, "Catcher got a new trigger and will write %d files\n", nfiles); + file_cnt = 0; + hashpipe_status_lock_safe(&st); + hputu4(st.buf, "TRIGGER", 0); + hashpipe_status_unlock_safe(&st); + } else { + // Mark input block as free and advance + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + continue; + } + } // Got a new data block, update status + hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "writing"); hputi4(st.buf, "DISKBKIN", curblock_in); hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt); @@ -602,6 +684,18 @@ static void *run(hashpipe_thread_args_t * args) fprintf(stdout, "Closing datasets and files\n"); close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); + file_cnt += 1; + // If this is the last file, mark this block done and get out of the loop + if (file_cnt >= nfiles) { + fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + curr_file_time = -1; //So the next trigger will start a new file + continue; + } } // And now start a new file @@ -621,7 +715,7 @@ static void *run(hashpipe_thread_args_t * args) // Update time and sample counters file_stop_t = gps_time; file_duration = file_stop_t - file_start_t; //really want a +1 * acc_len here - file_nblts += VIS_MATRIX_ENTRIES_PER_CHAN; + file_nblts += VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES; file_nts += 1; // extend the datasets with time axes and update filespace IDs @@ -687,7 +781,6 @@ static void *run(hashpipe_thread_args_t * args) } hashpipe_status_unlock_safe(&st); - fprintf(stdout, "disk thread freeing buf %d \n", curblock_in); // Mark input block as free and advance if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); From cedb21fb315c9291247672056d114993f0ab7c60 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:27:25 +0000 Subject: [PATCH 101/420] Add typedefs for ant-positions and baseline order Prepping for uvw_array / ant_[1|2]_array dataset management --- src/hera_catcher_disk_thread.c | 99 +++++++++++++++++----------------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 23d53f68..09bcf7c5 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -41,6 +41,17 @@ static hid_t complex_id; +typedef struct { + double e; + double n; + double u; +} enu_t; + +typedef struct { + int a; + int b; +} bl_t; + typedef struct { hid_t file_id; hid_t header_gid; @@ -52,12 +63,16 @@ typedef struct { hid_t time_array_did; hid_t integration_time_did; hid_t uvw_array_did; + hid_t ant_1_array_did; + hid_t ant_2_array_did; hid_t visdata_fs; hid_t flags_fs; hid_t nsamples_fs; hid_t time_array_fs; hid_t integration_time_fs; hid_t uvw_array_fs; + hid_t ant_1_array_fs; + hid_t ant_2_array_fs; } hdf5_id_t; static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { @@ -140,6 +155,8 @@ static void make_extensible_hdf5(hdf5_id_t *id) * Header/uvw_array (Nblts x 3) * Header/time_array (Nblts) * Header/integration_time (Nblts) + * Header/ant_1_array (Nblts) + * Header/ant_2_array (Nblts) */ #define DIM1 1 #define DIM2 2 @@ -169,6 +186,18 @@ static void make_extensible_headers_hdf5(hdf5_id_t *id) pthread_exit(NULL); } + id->ant_1_array_did = H5Dcreate(id->header_gid, "ant_1_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->ant_1_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create ant_1_array dataset"); + pthread_exit(NULL); + } + + id->ant_2_array_did = H5Dcreate(id->header_gid, "ant_2_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->ant_2_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create ant_2_array dataset"); + pthread_exit(NULL); + } + H5Pclose(plist); H5Sclose(file_space); @@ -290,6 +319,8 @@ static void extend_header_datasets(hdf5_id_t *id, int n) { id->time_array_fs = H5Dget_space(id->time_array_did); id->integration_time_fs = H5Dget_space(id->integration_time_did); id->uvw_array_fs = H5Dget_space(id->uvw_array_did); + id->ant_1_array_fs = H5Dget_space(id->ant_1_array_did); + id->ant_2_array_fs = H5Dget_space(id->ant_2_array_did); } static void close_filespaces(hdf5_id_t *id) { @@ -299,6 +330,8 @@ static void close_filespaces(hdf5_id_t *id) { H5Sclose(id->time_array_fs); H5Sclose(id->integration_time_fs); H5Sclose(id->uvw_array_fs); + H5Sclose(id->ant_1_array_fs); + H5Sclose(id->ant_2_array_fs); } @@ -317,8 +350,17 @@ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, /* Write Nbls entries into the integration_time and time_array arrays. Write Nbls x 3 entries into uvw_array */ -static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf) +static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf, bl_t *bl_order) { + /* This file strangely stores ant1 and ant2 array separately. Split up bl_order here */ + /* Kinda silly to do this every integration, but it's not much data */ + int ant_1[N_ANTS]; + int ant_2[N_ANTS]; + int i; + for (i=0; ist; @@ -710,6 +707,10 @@ static void *run(hashpipe_thread_args_t * args) sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t); + // Get the antenna positions and baseline orders + // These are needed for populating the ant_[1|2]_array and uvw_array + get_ant_pos(&sum_file, ant_pos); + get_bl_order(&sum_file, bl_order); } // Update time and sample counters @@ -727,9 +728,9 @@ static void *run(hashpipe_thread_args_t * args) // Write this integration's entries for lst_array, time_array, uvw_array // TODO: compute uvw array compute_time_array(julian_time, time_array_buf); - compute_integration_time_array(integration_time, integration_time_buf); - write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); - write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); + compute_integration_time_array(acc_len * TIME_DEMUX * 2 * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); + write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); + write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); // Sum over channels, compute even/odd sum/diffs, and get data on a per-baseline basis for(bl=0; bl<(VIS_MATRIX_ENTRIES_PER_CHAN/N_STOKES); bl+=N_BL_PER_WRITE) { From afa8c0f65672bfab236478b6e1340b474486c30c Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:28:45 +0000 Subject: [PATCH 102/420] Revert "Add typedefs for ant-positions and baseline order" This reverts commit cedb21fb315c9291247672056d114993f0ab7c60. --- src/hera_catcher_disk_thread.c | 99 +++++++++++++++++----------------- 1 file changed, 49 insertions(+), 50 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 09bcf7c5..23d53f68 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -41,17 +41,6 @@ static hid_t complex_id; -typedef struct { - double e; - double n; - double u; -} enu_t; - -typedef struct { - int a; - int b; -} bl_t; - typedef struct { hid_t file_id; hid_t header_gid; @@ -63,16 +52,12 @@ typedef struct { hid_t time_array_did; hid_t integration_time_did; hid_t uvw_array_did; - hid_t ant_1_array_did; - hid_t ant_2_array_did; hid_t visdata_fs; hid_t flags_fs; hid_t nsamples_fs; hid_t time_array_fs; hid_t integration_time_fs; hid_t uvw_array_fs; - hid_t ant_1_array_fs; - hid_t ant_2_array_fs; } hdf5_id_t; static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { @@ -155,8 +140,6 @@ static void make_extensible_hdf5(hdf5_id_t *id) * Header/uvw_array (Nblts x 3) * Header/time_array (Nblts) * Header/integration_time (Nblts) - * Header/ant_1_array (Nblts) - * Header/ant_2_array (Nblts) */ #define DIM1 1 #define DIM2 2 @@ -186,18 +169,6 @@ static void make_extensible_headers_hdf5(hdf5_id_t *id) pthread_exit(NULL); } - id->ant_1_array_did = H5Dcreate(id->header_gid, "ant_1_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - if (id->ant_1_array_did < 0) { - hashpipe_error(__FUNCTION__, "Failed to create ant_1_array dataset"); - pthread_exit(NULL); - } - - id->ant_2_array_did = H5Dcreate(id->header_gid, "ant_2_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - if (id->ant_2_array_did < 0) { - hashpipe_error(__FUNCTION__, "Failed to create ant_2_array dataset"); - pthread_exit(NULL); - } - H5Pclose(plist); H5Sclose(file_space); @@ -319,8 +290,6 @@ static void extend_header_datasets(hdf5_id_t *id, int n) { id->time_array_fs = H5Dget_space(id->time_array_did); id->integration_time_fs = H5Dget_space(id->integration_time_did); id->uvw_array_fs = H5Dget_space(id->uvw_array_did); - id->ant_1_array_fs = H5Dget_space(id->ant_1_array_did); - id->ant_2_array_fs = H5Dget_space(id->ant_2_array_did); } static void close_filespaces(hdf5_id_t *id) { @@ -330,8 +299,6 @@ static void close_filespaces(hdf5_id_t *id) { H5Sclose(id->time_array_fs); H5Sclose(id->integration_time_fs); H5Sclose(id->uvw_array_fs); - H5Sclose(id->ant_1_array_fs); - H5Sclose(id->ant_2_array_fs); } @@ -350,17 +317,8 @@ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, /* Write Nbls entries into the integration_time and time_array arrays. Write Nbls x 3 entries into uvw_array */ -static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf, bl_t *bl_order) +static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf) { - /* This file strangely stores ant1 and ant2 array separately. Split up bl_order here */ - /* Kinda silly to do this every integration, but it's not much data */ - int ant_1[N_ANTS]; - int ant_2[N_ANTS]; - int i; - for (i=0; ist; @@ -707,10 +710,6 @@ static void *run(hashpipe_thread_args_t * args) sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t); - // Get the antenna positions and baseline orders - // These are needed for populating the ant_[1|2]_array and uvw_array - get_ant_pos(&sum_file, ant_pos); - get_bl_order(&sum_file, bl_order); } // Update time and sample counters @@ -728,9 +727,9 @@ static void *run(hashpipe_thread_args_t * args) // Write this integration's entries for lst_array, time_array, uvw_array // TODO: compute uvw array compute_time_array(julian_time, time_array_buf); - compute_integration_time_array(acc_len * TIME_DEMUX * 2 * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); - write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); - write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); + compute_integration_time_array(integration_time, integration_time_buf); + write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); + write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); // Sum over channels, compute even/odd sum/diffs, and get data on a per-baseline basis for(bl=0; bl<(VIS_MATRIX_ENTRIES_PER_CHAN/N_STOKES); bl+=N_BL_PER_WRITE) { From a3cbf8174542b07314ac89a212fb6fd2f162fc0c Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:30:40 +0000 Subject: [PATCH 103/420] Add baseline order and ant position typedefs In preparation of uvw_array / ant_x_array header management --- src/hera_catcher_disk_thread.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 23d53f68..283de7e1 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -41,6 +41,17 @@ static hid_t complex_id; +typedef struct { + double e; + double n; + double u; +} enu_t; + +typedef struct { + int a; + int b; +} bl_t; + typedef struct { hid_t file_id; hid_t header_gid; From ab320bca68e520f5857a405422efc1ccfd6cacc6 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 15 Oct 2018 23:31:36 +0000 Subject: [PATCH 104/420] Remove commented transpose code --- src/hera_catcher_disk_thread.c | 45 ---------------------------------- 1 file changed, 45 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 283de7e1..ad07dc41 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -464,51 +464,6 @@ static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, } } -/* - for (chan=0; chanst; From 38834bb31db338c8d13284cc0435639438897603 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 16 Oct 2018 00:39:22 +0000 Subject: [PATCH 105/420] Read bl_order from file and write ant_x_array datasets --- src/hera_catcher_disk_thread.c | 88 ++++++++++++++++++++++++++++------ src/hera_make_hdf5_template.py | 12 ++--- 2 files changed, 79 insertions(+), 21 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index ad07dc41..932ec43c 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -63,12 +63,16 @@ typedef struct { hid_t time_array_did; hid_t integration_time_did; hid_t uvw_array_did; + hid_t ant_1_array_did; + hid_t ant_2_array_did; hid_t visdata_fs; hid_t flags_fs; hid_t nsamples_fs; hid_t time_array_fs; hid_t integration_time_fs; hid_t uvw_array_fs; + hid_t ant_1_array_fs; + hid_t ant_2_array_fs; } hdf5_id_t; static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { @@ -151,6 +155,8 @@ static void make_extensible_hdf5(hdf5_id_t *id) * Header/uvw_array (Nblts x 3) * Header/time_array (Nblts) * Header/integration_time (Nblts) + * Header/ant_1_array (Nblts) + * Header/ant_2_array (Nblts) */ #define DIM1 1 #define DIM2 2 @@ -180,6 +186,18 @@ static void make_extensible_headers_hdf5(hdf5_id_t *id) pthread_exit(NULL); } + id->ant_1_array_did = H5Dcreate(id->header_gid, "ant_1_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->ant_1_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create ant_1_array dataset"); + pthread_exit(NULL); + } + + id->ant_2_array_did = H5Dcreate(id->header_gid, "ant_2_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->ant_2_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create ant_2_array dataset"); + pthread_exit(NULL); + } + H5Pclose(plist); H5Sclose(file_space); @@ -297,10 +315,14 @@ static void extend_header_datasets(hdf5_id_t *id, int n) { hsize_t dims2[DIM2] = {n * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; H5Dset_extent(id->time_array_did, dims1); H5Dset_extent(id->integration_time_did, dims1); + H5Dset_extent(id->ant_1_array_did, dims1); + H5Dset_extent(id->ant_2_array_did, dims1); H5Dset_extent(id->uvw_array_did, dims2); id->time_array_fs = H5Dget_space(id->time_array_did); id->integration_time_fs = H5Dget_space(id->integration_time_did); id->uvw_array_fs = H5Dget_space(id->uvw_array_did); + id->ant_1_array_fs = H5Dget_space(id->ant_1_array_did); + id->ant_2_array_fs = H5Dget_space(id->ant_2_array_did); } static void close_filespaces(hdf5_id_t *id) { @@ -310,6 +332,8 @@ static void close_filespaces(hdf5_id_t *id) { H5Sclose(id->time_array_fs); H5Sclose(id->integration_time_fs); H5Sclose(id->uvw_array_fs); + H5Sclose(id->ant_1_array_fs); + H5Sclose(id->ant_2_array_fs); } @@ -328,22 +352,51 @@ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, /* Write Nbls entries into the integration_time and time_array arrays. Write Nbls x 3 entries into uvw_array */ -static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf) +static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, hid_t mem_space2, double *integration_time_buf, double *time_array_buf, double*uvw_array_buf, bl_t *bl_order) { + /* Output files strangely store ant1 and ant2 arrays separately. Split up bl_order here */ + /* Kinda silly to do this every integration, but it's not much data */ + int ant_1[VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES]; + int ant_2[VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES]; + int i; + for (i=0; iintegration_time_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); - H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, mem_space1, id->integration_time_fs, H5P_DEFAULT, integration_time_buf); - H5Sselect_hyperslab(id->time_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); - H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, mem_space1, id->time_array_fs, H5P_DEFAULT, time_array_buf); - H5Sselect_hyperslab(id->ant_1_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); - H5Dwrite(id->ant_1_array_did, H5T_NATIVE_INT, mem_space1, id->ant_1_array_fs, H5P_DEFAULT, ant_1); - H5Sselect_hyperslab(id->ant_2_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL); - H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, mem_space1, id->ant_2_array_fs, H5P_DEFAULT, ant_2); - H5Sselect_hyperslab(id->uvw_array_fs, H5S_SELECT_SET, start2, NULL, count2, NULL); - H5Dwrite(id->uvw_array_did, H5T_NATIVE_DOUBLE, mem_space2, id->uvw_array_fs, H5P_DEFAULT, uvw_array_buf); + if (H5Sselect_hyperslab(id->integration_time_fs, H5S_SELECT_SET, start1, NULL, count1, NULL) < 0) { + hashpipe_error(__FUNCTION__, "Error selecting integration time hyperslab"); + } + if (H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, mem_space1, id->integration_time_fs, H5P_DEFAULT, integration_time_buf) < 0) { + hashpipe_error(__FUNCTION__, "Error writing integration time"); + } + if (H5Sselect_hyperslab(id->time_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL) < 0) { + hashpipe_error(__FUNCTION__, "Error selecting time_array hyperslab"); + } + if (H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, mem_space1, id->time_array_fs, H5P_DEFAULT, time_array_buf) < 0) { + hashpipe_error(__FUNCTION__, "Error writing time_array"); + } + if (H5Sselect_hyperslab(id->ant_1_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL) < 0) { + hashpipe_error(__FUNCTION__, "Error selecting ant_1_array hyperslab"); + } + if (H5Dwrite(id->ant_1_array_did, H5T_NATIVE_INT, mem_space1, id->ant_1_array_fs, H5P_DEFAULT, ant_1) < 0) { + hashpipe_error(__FUNCTION__, "Error writing ant_1_array"); + } + if (H5Sselect_hyperslab(id->ant_2_array_fs, H5S_SELECT_SET, start1, NULL, count1, NULL) < 0) { + hashpipe_error(__FUNCTION__, "Error selecting ant_2_array hyperslab"); + } + if (H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, mem_space1, id->ant_2_array_fs, H5P_DEFAULT, ant_2) < 0) { + hashpipe_error(__FUNCTION__, "Error writing ant_2_array"); + } + if (H5Sselect_hyperslab(id->uvw_array_fs, H5S_SELECT_SET, start2, NULL, count2, NULL) < 0) { + hashpipe_error(__FUNCTION__, "Error selecting uvw_array hyperslab"); + } + if (H5Dwrite(id->uvw_array_did, H5T_NATIVE_DOUBLE, mem_space2, id->uvw_array_fs, H5P_DEFAULT, uvw_array_buf) < 0) { + hashpipe_error(__FUNCTION__, "Error writing uvw_array"); + } } /* Read the baseline order from an HDF5 file via the Header/corr_bl_order dataset */ @@ -388,6 +441,7 @@ static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { } } + /* Turn an mcnt into a UNIX time in double-precision. */ @@ -521,7 +575,7 @@ static void *run(hashpipe_thread_args_t * args) // Variables for antenna positions and baseline orders. These should be provided // via the HDF5 header template. - bl_t bl_order[VIS_MATRIX_ENTRIES / N_STOKES]; + bl_t bl_order[VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES]; enu_t ant_pos[N_ANTS]; // How many integrations to dump to a file before starting the next one @@ -676,6 +730,10 @@ static void *run(hashpipe_thread_args_t * args) sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t); + // Get the antenna positions and baseline orders + // These are needed for populating the ant_[1|2]_array and uvw_array + get_ant_pos(&sum_file, ant_pos); + get_bl_order(&sum_file, bl_order); } // Update time and sample counters @@ -693,9 +751,9 @@ static void *run(hashpipe_thread_args_t * args) // Write this integration's entries for lst_array, time_array, uvw_array // TODO: compute uvw array compute_time_array(julian_time, time_array_buf); - compute_integration_time_array(integration_time, integration_time_buf); - write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); - write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf); + compute_integration_time_array(acc_len * TIME_DEMUX * 2 * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); + write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); + write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); // Sum over channels, compute even/odd sum/diffs, and get data on a per-baseline basis for(bl=0; bl<(VIS_MATRIX_ENTRIES_PER_CHAN/N_STOKES); bl+=N_BL_PER_WRITE) { diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 38c8c4ea..c92e62f5 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -92,8 +92,8 @@ def create_header(h5, use_cm=False): header.create_dataset("vis_units", data="uncalib") if use_cm: header.create_dataset("altitude", dtype=" Date: Tue, 16 Oct 2018 00:40:29 +0000 Subject: [PATCH 106/420] Replace catcher_up bash script with python Because how could that _not_ be an improvement? --- src/catcher_up.py | 79 +++++++++++++++++++++++++++++++++++++++++++++++ src/catcher_up.sh | 49 ----------------------------- 2 files changed, 79 insertions(+), 49 deletions(-) create mode 100644 src/catcher_up.py delete mode 100755 src/catcher_up.sh diff --git a/src/catcher_up.py b/src/catcher_up.py new file mode 100644 index 00000000..b84f2f6f --- /dev/null +++ b/src/catcher_up.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python + +import redis +import time +import argparse +import subprocess + +perf_tweaker = 'tweak-perf-sn.sh' +init = 'catcher_init.sh' +python_source_cmd = ['source', '~/hera-venv/bin/activate'] +template_cmd = ['hera_make_hdf5_template.py'] + +def run_on_hosts(hosts, cmd, user=None, wait=True): + if isinstance(cmd, str): + cmd = [cmd] + p = [] + for host in hosts: + if user is None: + p += [subprocess.Popen(['ssh', '%s' % (host)] + cmd)] + else: + p += [subprocess.Popen(['ssh', '%s@%s' % (user, host)] + cmd)] + if wait: + for pn in p: + pn.wait() + +parser = argparse.ArgumentParser(description='Start the HERA X-engines', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + +parser.add_argument('host', type=str, help='Host to intialize') +parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') +parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', + help='Place to put HDF5 header template file') +parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') +parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') +parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, + help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) + +args = parser.parse_args() + +r = redis.Redis(args.redishost) + +# Run performance tweaking script +if args.runtweak: + run_on_hosts([args.host], perf_tweaker, user='root', wait=True) + +# Start Catcher +run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=True) + +# Start hashpipe<->redis gateways +cpu_mask = '0x0004' +run_on_hosts([args.host], ['taskset', cpu_mask, 'hashpipe_redis_gateway.rb', '-g', args.host, '-i', '0']) + +# Wait for the gateways to come up +time.sleep(5) + +# Generate the meta-data template +run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', args.hdf5template], wait=True) + +#Configure runtime parameters +catcher_dict = { + 'HDF5TPLT' : args.hdf5template, + 'MSPERFIL' : args.msperfile, + 'NFILES' : args.nfiles, + 'SYNCTIME' : r['corr:feng_sync_time'], + 'INTTIME' : r['corr:acc_len'], + 'TRIGGER' : 0, +} + +# Reset various statistics counters + +pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) +for key, val in catcher_dict.iteritems(): + r.publish(pubchan, '%s=%s' % (key, val)) +for v in ['NETWAT', 'NETREC', 'NETPRC']: + r.publish(pubchan, '%sMN=99999' % (v)) + r.publish(pubchan, '%sMX=0' % (v)) + +# Release nethread hold +r.publish(pubchan, 'CNETHOLD=0') diff --git a/src/catcher_up.sh b/src/catcher_up.sh deleted file mode 100755 index e086d7aa..00000000 --- a/src/catcher_up.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -show_help_and_exit() { -cat <<. -Script to bring up the HERA correlator data acquisition server. -. -exit $1 -} - -init=catcher_init.sh -catcherhost=hera-sn1 - -# Start X engines -echo Starting catcher instance on $catcherhost -echo "ssh $catcherhost \"cd /data; ${init} 0\" &" -ssh $catcherhost "cd /data; ${init} 0" & -wait - -# Start hashpipe-redis gateways -echo Starting hashpipe-redis gateways on $catcherhost -echo "ssh $catcherhost \"taskset 0x0004 hashpipe_redis_gateway.rb -g $catcherhost -i 0\"" -ssh $catcherhost "taskset 0x0004 hashpipe_redis_gateway.rb -g $catcherhost -i 0" - -# Let the gateways come up and the pipelines start -sleep 10 - -# Generate meta-data template -echo "ssh $catcherhost \"source ~/hera-venv/bin/activate; hera_make_hdf5_template.py -c /tmp/template.h5\"" -ssh $catcherhost "source ~/hera-venv/bin/activate; hera_make_hdf5_template.py -c /tmp/template.h5" - -# Configure runtime parameters -SYNCTIME=`redis-cli -h redishost get corr:feng_sync_time` -redis-cli -h redishost publish hashpipe://$catcherhost/0/set HDF5TPLT=/tmp/template.h5 > /dev/null -redis-cli -h redishost publish hashpipe://$catcherhost/0/set MSPERFIL=60000 > /dev/null -redis-cli -h redishost publish hashpipe://$catcherhost/0/set SYNCTIME=$SYNCTIME > /dev/null - -# Turn off HOLD flag on all instances -echo Enabling catcher network threads -redis-cli -h redishost publish hashpipe://$catcherhost/0/set CNETHOLD=0 > /dev/null - -sleep 1 - -# Reset all NET{WAT,REC,PRC}M{N,X} counters -echo Resetting all network stats counters -for k in NET{WAT,REC,PRC} -do - redis-cli -h redishost publish hashpipe://$catcherhost/0/set ${k}MN=99999 > /dev/null - redis-cli -h redishost publish hashpipe://$catcherhost/0/set ${k}MX=0 > /dev/null -done From 25160436dce90e2984fe64d919f5972a66df8467 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 16 Oct 2018 01:26:36 +0000 Subject: [PATCH 107/420] Compile catcher_up.py, not sh --- src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index a7879877..12074e2a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -55,7 +55,7 @@ dist_bin_SCRIPTS = paper_init.sh \ xtor_down.sh \ xtor_up.py \ catcher_init.sh \ - catcher_up.sh \ + catcher_up.py \ catcher_down.sh \ tweak-perf.sh \ hera_ctl.py \ From bb8d668ce8726f395d76bc6d9cd435df43a2640b Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 16 Oct 2018 01:41:07 +0000 Subject: [PATCH 108/420] Compute uvw from antpos --- src/hera_catcher_disk_thread.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 932ec43c..9e16f0db 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -466,6 +466,16 @@ static void compute_integration_time_array(double integration_time, double *inte } } +/* Given antenna positions and a given baseline order, compute uvw coords */ +static void compute_uvw_array(double* uvw, enu_t *ant_pos, bl_t *bl_order) { + int i; + for (i=0; i<(VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); i++) { + uvw[3*i + 0] = ant_pos[bl_order[i].a].e - ant_pos[bl_order[i].b].e; + uvw[3*i + 1] = ant_pos[bl_order[i].a].n - ant_pos[bl_order[i].b].n; + uvw[3*i + 2] = ant_pos[bl_order[i].a].u - ant_pos[bl_order[i].b].u; + } +} + /* Given an entire input buffer -- even/odd x 1 time x N_chans x N_bls x N_stokes x 2 (real/imag) @@ -750,6 +760,7 @@ static void *run(hashpipe_thread_args_t * args) // Write this integration's entries for lst_array, time_array, uvw_array // TODO: compute uvw array + compute_uvw_array(uvw_array_buf, ant_pos, bl_order); compute_time_array(julian_time, time_array_buf); compute_integration_time_array(acc_len * TIME_DEMUX * 2 * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); From 419dd5c80fa2e8b282f4221eb26cefb4b707a032 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 16 Oct 2018 01:41:47 +0000 Subject: [PATCH 109/420] Make integration-time calculation long --- src/hera_catcher_disk_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 9e16f0db..23b08b3f 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -762,7 +762,7 @@ static void *run(hashpipe_thread_args_t * args) // TODO: compute uvw array compute_uvw_array(uvw_array_buf, ant_pos, bl_order); compute_time_array(julian_time, time_array_buf); - compute_integration_time_array(acc_len * TIME_DEMUX * 2 * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); + compute_integration_time_array(acc_len * TIME_DEMUX * 2L * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); From f2a39364d7725e629389f881febc8d380381d894 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 16 Oct 2018 01:42:50 +0000 Subject: [PATCH 110/420] Make mcnt->time calc long --- src/hera_catcher_disk_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 23b08b3f..9ecc2dcc 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -447,7 +447,7 @@ Turn an mcnt into a UNIX time in double-precision. */ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) { - return sync_time + (mcnt * (2 * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); + return sync_time + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); } static void compute_time_array(double time, double *time_buf) From 62b555a3646949a393960375dcb5fd55d858b23e Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 17 Oct 2018 00:43:13 +0000 Subject: [PATCH 111/420] Simple scripts for checking a correlator dump in python --- src/catcher.py | 28 +++++++++++++++++----------- src/check_catcher_dump.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 src/check_catcher_dump.py diff --git a/src/catcher.py b/src/catcher.py index 9c7c6d42..9f6eb07d 100644 --- a/src/catcher.py +++ b/src/catcher.py @@ -6,11 +6,11 @@ NANTS = 192 -NCHANS = 8192 / 4 * 3 +NCHANS = 8192 / 4 * 3 / 4 NXENG = 16 NWORDS = 2 * NANTS * (NANTS+1) / 2 * 4 * NCHANS -PAYLOAD_LEN = 8192 +PAYLOAD_LEN = 4096 BYTES_PER_PACKET = PAYLOAD_LEN + 16 max_offset = NWORDS*8 / NXENG - PAYLOAD_LEN print "Max offset:", max_offset @@ -19,36 +19,42 @@ print "Expecting %d packets" % NPACKETS sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 800000) +sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 80000000) +print sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF) sock.bind(("10.80.40.251", 10000)) -dout = np.zeros(NWORDS, dtype=np.int32) +dout = np.zeros(2*NWORDS, dtype=np.int32) n = 0 wait = True start = time.time() while True: data = sock.recv(BYTES_PER_PACKET) - unpacked = struct.unpack('>QLHH', data[0:16]) - timestamp = unpacked[0] - offset = unpacked[1] + unpacked = struct.unpack('!QLHH', data[0:16]) + time_demux = (unpacked[0] % 4) >> 1 + timestamp = unpacked[0] - (unpacked[0] % 4) + offset = unpacked[1] + (time_demux * NWORDS*4) xeng_id = unpacked[2] payload_len = unpacked[3] if wait: start = time.time() + this_window = timestamp if (not wait) or (offset == 0): n += 1 wait = False - print timestamp, offset, xeng_id, payload_len + #print timestamp, offset, xeng_id, payload_len #print dout[256*packet_num:256*(packet_num+1)].shape - #print len(unpacked[4:]) - #dout[offset/4:(offset+PAYLOAD_LEN)/4] = np.fromstring(data[16:], dtype='>i') - if (offset == max_offset): + #print len(data[16:]) + #print dout.shape, offset/4, (offset+PAYLOAD_LEN)/4, dout[offset/4:(offset+PAYLOAD_LEN)/4].shape, np.fromstring(data[16:], dtype='>i').shape + dout[offset/4:(offset+PAYLOAD_LEN)/4] = np.fromstring(data[16:], dtype='>i') + if (timestamp != this_window): + print timestamp, this_window stop = time.time() print "%d packets received in %.2f seconds" % (n, stop - start) n = 0 start = stop + break print "%d packets received in %.2f seconds" % (n, stop - start) diff --git a/src/check_catcher_dump.py b/src/check_catcher_dump.py new file mode 100644 index 00000000..d77fa2db --- /dev/null +++ b/src/check_catcher_dump.py @@ -0,0 +1,37 @@ +import numpy as np + +NANTS = 192 +NCHANS = 8192 / 4 * 3 / 4 +NXENG = 16 +NWORDS = 2 * NANTS * (NANTS+1) / 2 * 4 * NCHANS +NBL = (NANTS * (NANTS+1)) / 2 + +def get_bl_order(n_ants): + """ + Return the order of baseline data output by a CASPER correlator + X engine. + + Extracted from the corr package -- https://github.com/ska-sa/corr + """ + order1, order2 = [], [] + for i in range(n_ants): + for j in range(int(n_ants/2),-1,-1): + k = (i-j) % n_ants + if i >= k: order1.append((k, i)) + else: order2.append((i, k)) + order2 = [o for o in order2 if o not in order1] + return tuple([o for o in order1 + order2]) + +with open("/tmp/packet.bin", "r") as fh: + x = np.fromstring(fh.read(), dtype='>i') + +bl_order = get_bl_order(NANTS) +x = x.reshape(2, NCHANS, NBL, 4, 2) + +print np.all(x==0) + +for bn, bl in enumerate(bl_order): + r = x[0,:,bn,0,0] + i = x[0,:,bn,0,1] + if not (np.all(r==0) and np.all(i==0)): + print bl[0], bl[1], r, i From 020bc754f706d8edb5bce8759476da9cacfe429c Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 17 Oct 2018 01:41:40 +0000 Subject: [PATCH 112/420] Fix offset calculations --- src/catcher.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/catcher.py b/src/catcher.py index 9f6eb07d..491132c2 100644 --- a/src/catcher.py +++ b/src/catcher.py @@ -9,6 +9,7 @@ NCHANS = 8192 / 4 * 3 / 4 NXENG = 16 NWORDS = 2 * NANTS * (NANTS+1) / 2 * 4 * NCHANS +NWORDS_PER_XENG = NWORDS / NXENG PAYLOAD_LEN = 4096 BYTES_PER_PACKET = PAYLOAD_LEN + 16 @@ -24,7 +25,7 @@ sock.bind(("10.80.40.251", 10000)) -dout = np.zeros(2*NWORDS, dtype=np.int32) +dout = np.ones(2*NWORDS, dtype=np.int32) * -1 n = 0 wait = True @@ -34,8 +35,8 @@ unpacked = struct.unpack('!QLHH', data[0:16]) time_demux = (unpacked[0] % 4) >> 1 timestamp = unpacked[0] - (unpacked[0] % 4) - offset = unpacked[1] + (time_demux * NWORDS*4) xeng_id = unpacked[2] + offset = 4*xeng_id*NWORDS_PER_XENG + unpacked[1] payload_len = unpacked[3] if wait: start = time.time() @@ -61,5 +62,5 @@ print "Dumping packet to disk" with open("/tmp/packet.bin", "w") as fh: - fh.write(dout.tostring()) + fh.write(dout.tostring()) #This is native (probably little) endian!! From be9a06f86b3b9ea028fc664914a18d2870c27fae Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Wed, 17 Oct 2018 12:37:31 -0700 Subject: [PATCH 113/420] Make some changes to uvh5 metadata --- src/hera_make_hdf5_template.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index c92e62f5..96148cc7 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +from __future__ import print_function, division, absolute_import import h5py import sys import numpy as np @@ -15,7 +16,7 @@ def get_bl_order(n_ants): """ order1, order2 = [], [] for i in range(n_ants): - for j in range(int(n_ants/2),-1,-1): + for j in range(int(n_ants//2),-1,-1): k = (i-j) % n_ants if i >= k: order1.append((k, i)) else: order2.append((i, k)) @@ -35,9 +36,9 @@ def get_cm_info(): return h.get_cminfo_correlator() def get_antpos_enu(antpos, lat, lon, alt): - import pyuvdata - ecef = pyuvdata.ECEF_from_rotECEF(antpos, lon) - enu = pyuvdata.ENU_from_ECEF(ecef, lat, lon, alt) + import pyuvdata.utils as uvutils + ecef = uvutils.ECEF_from_rotECEF(antpos, lon) + enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) return enu def create_header(h5, use_cm=False): @@ -59,7 +60,7 @@ def create_header(h5, use_cm=False): INSTRUMENT = "HERA" NANTS_DATA = 192 NANTS = 352 - NCHANS = 2048 / 4. * 3 + NCHANS = int(2048 // 4 * 3) ANT_DIAMETER = 14.0 INT_TIME = 10.0 bls = np.array(get_bl_order(NANTS_DATA)) @@ -71,7 +72,7 @@ def create_header(h5, use_cm=False): header.create_dataset("Nbls", dtype=" Date: Thu, 18 Oct 2018 12:06:30 -0700 Subject: [PATCH 114/420] Remove unhelpful comments And make single-byte pointer calculation consistent with 32-byte calculation. Remove misc commented #defines from databuf.h --- src/paper_databuf.h | 6 +----- src/paper_fluff_test.c | 12 ++++++------ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 0b450c16..fdb83755 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -145,18 +145,14 @@ typedef uint8_t paper_input_header_cache_alignment[ // Computes paper_input_databuf_t data word (uint64_t) offset for complex data // word corresponding to the given parameters for HERA F engine packets. -//#define paper_input_databuf_data_idx(m,a,c,t) \ //foo -// (((((m * Na + a) * (Nc) + c)*Nt + t) * 2) / sizeof(uint64_t)) #define paper_input_databuf_data_idx(m,a,c,t) \ ((((m) * Na*Nc*Nt*Np) + ((a) * Nc*Nt*Np) + ((c)*Nt*Np) + ((t)*Np)) / sizeof(uint64_t)) #define paper_input_databuf_data_idx8(m,a,p,c,t) \ - (((m) * Na*Nc*Nt*Np) + ((a) * Nc*Nt*Np) + ((c)*Nt*Np) + ((t)*Np) + (p)) + ((((((m) * Na) + (a))*Nc + (c))*Nt + (t))*Np + p) #define paper_input_databuf_data_idx256(m,a,c,t) \ ((((((m) * Na) + (a))*Nc + (c))*Nt + (t))*Np / sizeof(__m256i)) - //((((m) * Na*Nc*Nt*Np) + ((a) * Nc*Nt*Np) + ((c)*Nt*Np) + ((t)*Np)) / sizeof(__m256i)) -//TODO (((((m * Na + a) * (Nc) + c)*Nt + t) * N_INPUTS_PER_PACKET) / sizeof(uint64_t)) typedef struct paper_input_block { paper_input_header_t header; diff --git a/src/paper_fluff_test.c b/src/paper_fluff_test.c index 78200670..5e475964 100644 --- a/src/paper_fluff_test.c +++ b/src/paper_fluff_test.c @@ -16,7 +16,7 @@ void fluff_check_random() { /* - The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + The in-buffer order is time[Nm] x antenna x channel x time[Nt] x pol x complexity Each real+imag sample is 8-bits Make a test input vector to test each of these elements: complexity-test : all real parts 1, all imag parts 2 @@ -93,7 +93,7 @@ void fluff_check_random() void fluff_check_complexity() { /* - The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + The in-buffer order is time[Nm] x antenna x channel x time[Nt] x pol x complexity Each real+imag sample is 8-bits Make a test input vector to test each of these elements: complexity-test : all real parts 1, all imag parts 2 @@ -150,7 +150,7 @@ void fluff_check_complexity() void fluff_check_pol() { /* - The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + The in-buffer order is time[Nm] x antenna x channel x time[Nt] x pol x complexity Each real+imag sample is 8-bits Make a test input vector to test each of these elements: complexity-test : all real parts 1, all imag parts 2 @@ -206,7 +206,7 @@ void fluff_check_pol() void fluff_check_time() { /* - The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + The in-buffer order is time[Nm] x antenna x channel x time[Nt] x pol x complexity Each real+imag sample is 8-bits Make a test input vector to test each of these elements: complexity-test : all real parts 1, all imag parts 2 @@ -261,7 +261,7 @@ void fluff_check_time() void fluff_check_ant() { /* - The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + The in-buffer order is time[Nm] x antenna x channel x time[Nt] x pol x complexity Each real+imag sample is 8-bits Make a test input vector to test each of these elements: complexity-test : all real parts 1, all imag parts 2 @@ -329,7 +329,7 @@ void fluff_check_ant() void fluff_check_chan() { /* - The in-buffer order is time[Nm] x antenna x pol x channel x time[Nt] x complexity + The in-buffer order is time[Nm] x antenna x channel x time[Nt] x pol x complexity Each real+imag sample is 8-bits Make a test input vector to test each of these elements: complexity-test : all real parts 1, all imag parts 2 From e228a244ef8b6d939ea3ab4fb267e0e3e0a8c812 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 18 Oct 2018 21:16:23 +0000 Subject: [PATCH 115/420] Take conjugate of data *AFTER* byteswap The other way round...won't work. This bug has appeared now the data output are int32, for floating-point output (as in the PAPER correlator), the CONVERT macro didn't include a byteswap --- src/hera_gpu_output_thread.c | 12 ++++++------ src/paper_gpu_output_thread.c | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 7b8ee887..ad6a2746 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -397,15 +397,15 @@ static void *run(hashpipe_thread_args_t * args) off_t idx_regtile = idx_map[baseline]; for(sum_chan=0; sum_chan Date: Mon, 29 Oct 2018 15:12:49 -0700 Subject: [PATCH 116/420] Add correlator stop command --- src/hera_cmd_handler.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/hera_cmd_handler.py b/src/hera_cmd_handler.py index 7a0dc3eb..05f55186 100755 --- a/src/hera_cmd_handler.py +++ b/src/hera_cmd_handler.py @@ -14,6 +14,10 @@ def start_capture(starttime, duration, acclen, flags): proc = Popen(["hera_ctl.py", "start", "-n", "%d" % acclen, "-t", "%f" % starttime]) proc.wait() +def stop_capture(): + proc = Popen(["hera_ctl.py", "stop"]) + proc.wait() + def cmd_handler(r, message, testmode=False): d = json.loads(message) command = d["command"] @@ -27,6 +31,9 @@ def cmd_handler(r, message, testmode=False): start_capture(args["starttime"], args["duration"], args["acclen"], args["tag"]) starttime = float(r["corr:trig_time"]) send_response(r, command, time, starttime=starttime) + elif command == "stop": + stop_capture() + send_response(r, command, time) if __name__ == "__main__": parser = argparse.ArgumentParser(description='Process commands from the corr:message redis channel.', From fdb9ad6eb3618b12650233a5ec7743111ac41c58 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 30 Oct 2018 22:55:21 +0000 Subject: [PATCH 117/420] Speed up catcher --- src/catcher.py | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/catcher.py b/src/catcher.py index 491132c2..b1d64861 100644 --- a/src/catcher.py +++ b/src/catcher.py @@ -20,47 +20,45 @@ print "Expecting %d packets" % NPACKETS sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 80000000) +sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 800000000) print sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF) sock.bind(("10.80.40.251", 10000)) -dout = np.ones(2*NWORDS, dtype=np.int32) * -1 +dout = np.ones([NXENG*2, NWORDS_PER_XENG], dtype=np.int32) * -1 n = 0 wait = True start = time.time() while True: data = sock.recv(BYTES_PER_PACKET) - unpacked = struct.unpack('!QLHH', data[0:16]) - time_demux = (unpacked[0] % 4) >> 1 - timestamp = unpacked[0] - (unpacked[0] % 4) + unpacked = struct.unpack('!QLH', data[0:14]) + #time_demux = (unpacked[0] % 4) >> 1 + timestamp = unpacked[0] & 0xfffffffffffffffc xeng_id = unpacked[2] - offset = 4*xeng_id*NWORDS_PER_XENG + unpacked[1] - payload_len = unpacked[3] + offset = unpacked[1] if wait: start = time.time() this_window = timestamp if (not wait) or (offset == 0): - n += 1 - wait = False - #print timestamp, offset, xeng_id, payload_len - #print dout[256*packet_num:256*(packet_num+1)].shape - #print len(data[16:]) - #print dout.shape, offset/4, (offset+PAYLOAD_LEN)/4, dout[offset/4:(offset+PAYLOAD_LEN)/4].shape, np.fromstring(data[16:], dtype='>i').shape - dout[offset/4:(offset+PAYLOAD_LEN)/4] = np.fromstring(data[16:], dtype='>i') if (timestamp != this_window): print timestamp, this_window stop = time.time() print "%d packets received in %.2f seconds" % (n, stop - start) + print "Missing %d packets" % (NPACKETS - n) n = 0 start = stop break + n += 1 + wait = False + #print timestamp, offset, xeng_id, payload_len + #print dout[256*packet_num:256*(packet_num+1)].shape + #print len(data[16:]) + #print dout.shape, offset/4, (offset+PAYLOAD_LEN)/4, dout[offset/4:(offset+PAYLOAD_LEN)/4].shape, np.fromstring(data[16:], dtype='>i').shape + dout[xeng_id, offset>>2:(offset+PAYLOAD_LEN)>>2] = np.fromstring(data[16:], dtype='>i') -print "%d packets received in %.2f seconds" % (n, stop - start) - print "Dumping packet to disk" with open("/tmp/packet.bin", "w") as fh: - fh.write(dout.tostring()) #This is native (probably little) endian!! + fh.write(dout.flatten().tostring()) #This is native (probably little) endian!! From 5fce90381eb774c675f057b9104f6771445e2a11 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 30 Oct 2018 23:53:42 +0000 Subject: [PATCH 118/420] Change visdata dimensions Was time x baselines x chans x stokes Not baseline-times x 1 x chans x stokes The 1 is a summy dimension for spectral windows. For the case of no baseline-dependent averaging, this is essentially the same data ordering. --- src/hera_catcher_disk_thread.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 9ecc2dcc..2349141a 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -111,9 +111,9 @@ see https://gist.github.com/simleb/5205083/ # define FILTER_H5_BITSHUFFLE 32008 static void make_extensible_hdf5(hdf5_id_t *id) { - hsize_t dims[N_DATA_DIMS] = {0, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; - hsize_t max_dims[N_DATA_DIMS] = {16, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; - hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t dims[N_DATA_DIMS] = {0 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t max_dims[N_DATA_DIMS] = {16 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t chunk_dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, dims, max_dims); hid_t plist = H5Pcreate(H5P_DATASET_CREATE); @@ -300,8 +300,12 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui H5Dclose(dataset_id); } +/* Extend the datasets with data-like dimensions, + * i.e. Nblts x 1 x N_CHANS x N_STOKES. + * Extend by VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES + */ static void extend_datasets(hdf5_id_t *id, int n) { - hsize_t dims[N_DATA_DIMS] = {n, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, N_CHAN_PROCESSED, N_STOKES}; + hsize_t dims[N_DATA_DIMS] = {n * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 1, N_CHAN_PROCESSED, N_STOKES}; H5Dset_extent(id->visdata_did, dims); H5Dset_extent(id->flags_did, dims); H5Dset_extent(id->nsamples_did, dims); @@ -339,12 +343,13 @@ static void close_filespaces(hdf5_id_t *id) { /* -Write an n_baselines x n_stokes data block to dataset `id` at time position `t`, channel number `c` + * Write an n_baselines x N_CHAN_PROCESSED x N_STOKES + * data block to dataset `id` at time position `txn_baselines` */ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, uint64_t *visdata_buf) { - hsize_t start[N_DATA_DIMS] = {t, b, 0, 0}; - hsize_t count[N_DATA_DIMS] = {1, N_BL_PER_WRITE, N_CHAN_PROCESSED, N_STOKES}; + hsize_t start[N_DATA_DIMS] = {t*VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES + b, 0, 0, 0}; + hsize_t count[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); } @@ -618,11 +623,13 @@ static void *run(hashpipe_thread_args_t * args) // Allocate an array of bools for flags and n_samples hbool_t *flags = (hbool_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(hbool_t)); + //TODO flags never get written uint64_t *nsamples = (uint64_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED* sizeof(uint64_t)); + //TODO nsamples never gets written // Define the memory space used by these buffers for HDF5 access - // We write 1 baseline-time at a time - hsize_t dims[N_DATA_DIMS] = {1, N_BL_PER_WRITE, N_CHAN_PROCESSED, N_STOKES}; + // We write N_BL_PER_WRITE x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time + hsize_t dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t mem_space = H5Screate_simple(N_DATA_DIMS, dims, NULL); // Memory spaces to Nblts-element header vectors hsize_t dims1[DIM1] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; From 3478721ccb32e85245c006af5c57c1d646d78ffc Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 31 Oct 2018 00:13:21 +0000 Subject: [PATCH 119/420] Make range of freq_array 187.5 MHz Which is correct if the correlator is processing chans 0 - 6144 For any other situation, the header array should be generated by interrogating the currently running configuration. --- src/hera_make_hdf5_template.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 96148cc7..94bd6bdc 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -81,7 +81,7 @@ def create_header(h5, use_cm=False): #header.create_dataset("ant_2_array", dtype=" Date: Fri, 2 Nov 2018 09:07:06 -0700 Subject: [PATCH 120/420] Fix up metadata some more --- src/hera_catcher_disk_thread.c | 18 +++++++++++++++-- src/hera_make_hdf5_template.py | 36 ++++++++++++++++++---------------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 2349141a..a2d1ad7f 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -39,7 +39,15 @@ #define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM * XENG_CHAN_SUM)) #define N_BL_PER_WRITE (193) +#define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) + static hid_t complex_id; +static hid_t boolean_id, boolenumtype; + +typedef enum { + FALSE = 0, + TRUE +} bool; typedef struct { double e; @@ -134,13 +142,13 @@ static void make_extensible_hdf5(hdf5_id_t *id) pthread_exit(NULL); } - id->nsamples_did = H5Dcreate(id->data_gid, "nsamples", H5T_STD_I64LE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + id->nsamples_did = H5Dcreate(id->data_gid, "nsamples", H5T_IEEE_F32LE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); if (id->nsamples_did < 0) { hashpipe_error(__FUNCTION__, "Failed to create nsamples dataset"); pthread_exit(NULL); } - id->flags_did = H5Dcreate(id->data_gid, "flags", H5T_NATIVE_HBOOL, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + id->flags_did = H5Dcreate(id->data_gid, "flags", boolean_id, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); if (id->flags_did < 0) { hashpipe_error(__FUNCTION__, "Failed to create flags dataset"); pthread_exit(NULL); @@ -546,6 +554,12 @@ static int init(hashpipe_thread_args_t *args) complex_id = H5Tcreate(H5T_COMPOUND, 8); H5Tinsert(complex_id, "r", 0, H5T_STD_I32LE); H5Tinsert(complex_id, "i", 4, H5T_STD_I32LE); + + // generate the boolean data type + boolenumtype = H5Tcreate(H5T_ENUM, sizeof(bool)); + H5Tenum_insert(boolenumtype, "FALSE", CPTR(val, FALSE )); + H5Tenum_insert(boolenumtype, "TRUE", CPTR(val, TRUE )); + H5Tinsert(boolean_id, "FLAG", 0, boolenumtype); return 0; } diff --git a/src/hera_make_hdf5_template.py b/src/hera_make_hdf5_template.py index 94bd6bdc..930d670f 100644 --- a/src/hera_make_hdf5_template.py +++ b/src/hera_make_hdf5_template.py @@ -65,6 +65,8 @@ def create_header(h5, use_cm=False): INT_TIME = 10.0 bls = np.array(get_bl_order(NANTS_DATA)) n_bls = len(bls) + channel_width = 250e6 / (NCHANS / 3 * 4) + freqs = np.linspace(0, 187.5e6, NCHANS) + channel_width / 2 header = h5.create_group("Header") header.create_dataset("Nants_data", dtype=" Date: Sun, 4 Nov 2018 21:51:05 +0000 Subject: [PATCH 121/420] Make executable --- src/catcher_up.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 src/catcher_up.py diff --git a/src/catcher_up.py b/src/catcher_up.py old mode 100644 new mode 100755 From 7fc0ccc255f53635badac44a0a1f8189a434a6ac Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 21:51:37 +0000 Subject: [PATCH 122/420] Add eth5 stats --- print-nic-stats.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/print-nic-stats.sh b/print-nic-stats.sh index f2d9802f..82c6c28f 100755 --- a/print-nic-stats.sh +++ b/print-nic-stats.sh @@ -4,3 +4,7 @@ ethtool -S eth3 | grep rx_dropped ethtool -S eth3 | grep vport_dropped ethtool -S eth3 | grep rx_fifo_errors ethtool -S eth3 | grep rx_missed_errors +ethtool -S eth5 | grep rx_dropped +ethtool -S eth5 | grep vport_dropped +ethtool -S eth5 | grep rx_fifo_errors +ethtool -S eth5 | grep rx_missed_errors From 7503f17648542c99b4ba5bdd68c91fc6319039c5 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 21:52:11 +0000 Subject: [PATCH 123/420] Tweak buffer sizes --- scripts/tweak-perf-sn.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 scripts/tweak-perf-sn.sh diff --git a/scripts/tweak-perf-sn.sh b/scripts/tweak-perf-sn.sh new file mode 100755 index 00000000..885f9fcd --- /dev/null +++ b/scripts/tweak-perf-sn.sh @@ -0,0 +1,34 @@ +#! /bin/bash + +# Set high performance mode +for i in `ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`; do echo performance > $i; done + +# Set mtu +ifconfig eth3 mtu 4500 + +# Turn on pause requests +ethtool -A eth3 rx on + +# Kernel buffer sizes +sysctl net.core.rmem_max=83886080 +sysctl net.core.rmem_default=8388608 + +# Kill packets before the IP stack +iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP + +# Set interrupt coalescing +ethtool -C eth3 adaptive-rx off +ethtool -C eth3 rx-frames 8 +ethtool -C eth3 rx-usecs 0 + +# Set ring sizes to max +ethtool -G eth3 rx 8192 + +# Set Receiver Side Steering +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 +#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 +ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 1 loc 1 + + From 2a7a2b082704d679aa2f6cdced25cf5f9e9e386d Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 22:01:51 +0000 Subject: [PATCH 124/420] Move scripts to a dedicated directory --- {src => scripts}/catcher.py | 0 {src => scripts}/catcher_down.sh | 0 {src => scripts}/catcher_init.sh | 0 {src => scripts}/catcher_up.py | 0 {src => scripts}/check_catcher_dump.py | 0 {src => scripts}/gen_fake_corr_output.py | 0 {src => scripts}/hera_cmd_handler.py | 0 {src => scripts}/hera_ctl.py | 0 {src => scripts}/hera_make_hdf5_template.py | 0 {src => scripts}/paper_crc_init.sh | 0 {src => scripts}/paper_init.sh | 0 {src => scripts}/tweak-perf.sh | 0 {src => scripts}/xtor_down.sh | 0 {src => scripts}/xtor_up.py | 0 src/Makefile.am | 20 ++-- src/xtor_up.sh | 105 -------------------- tweak-perf-sn.sh | 34 ------- 17 files changed, 10 insertions(+), 149 deletions(-) rename {src => scripts}/catcher.py (100%) rename {src => scripts}/catcher_down.sh (100%) rename {src => scripts}/catcher_init.sh (100%) rename {src => scripts}/catcher_up.py (100%) rename {src => scripts}/check_catcher_dump.py (100%) rename {src => scripts}/gen_fake_corr_output.py (100%) rename {src => scripts}/hera_cmd_handler.py (100%) rename {src => scripts}/hera_ctl.py (100%) rename {src => scripts}/hera_make_hdf5_template.py (100%) rename {src => scripts}/paper_crc_init.sh (100%) rename {src => scripts}/paper_init.sh (100%) rename {src => scripts}/tweak-perf.sh (100%) rename {src => scripts}/xtor_down.sh (100%) rename {src => scripts}/xtor_up.py (100%) delete mode 100755 src/xtor_up.sh delete mode 100755 tweak-perf-sn.sh diff --git a/src/catcher.py b/scripts/catcher.py similarity index 100% rename from src/catcher.py rename to scripts/catcher.py diff --git a/src/catcher_down.sh b/scripts/catcher_down.sh similarity index 100% rename from src/catcher_down.sh rename to scripts/catcher_down.sh diff --git a/src/catcher_init.sh b/scripts/catcher_init.sh similarity index 100% rename from src/catcher_init.sh rename to scripts/catcher_init.sh diff --git a/src/catcher_up.py b/scripts/catcher_up.py similarity index 100% rename from src/catcher_up.py rename to scripts/catcher_up.py diff --git a/src/check_catcher_dump.py b/scripts/check_catcher_dump.py similarity index 100% rename from src/check_catcher_dump.py rename to scripts/check_catcher_dump.py diff --git a/src/gen_fake_corr_output.py b/scripts/gen_fake_corr_output.py similarity index 100% rename from src/gen_fake_corr_output.py rename to scripts/gen_fake_corr_output.py diff --git a/src/hera_cmd_handler.py b/scripts/hera_cmd_handler.py similarity index 100% rename from src/hera_cmd_handler.py rename to scripts/hera_cmd_handler.py diff --git a/src/hera_ctl.py b/scripts/hera_ctl.py similarity index 100% rename from src/hera_ctl.py rename to scripts/hera_ctl.py diff --git a/src/hera_make_hdf5_template.py b/scripts/hera_make_hdf5_template.py similarity index 100% rename from src/hera_make_hdf5_template.py rename to scripts/hera_make_hdf5_template.py diff --git a/src/paper_crc_init.sh b/scripts/paper_crc_init.sh similarity index 100% rename from src/paper_crc_init.sh rename to scripts/paper_crc_init.sh diff --git a/src/paper_init.sh b/scripts/paper_init.sh similarity index 100% rename from src/paper_init.sh rename to scripts/paper_init.sh diff --git a/src/tweak-perf.sh b/scripts/tweak-perf.sh similarity index 100% rename from src/tweak-perf.sh rename to scripts/tweak-perf.sh diff --git a/src/xtor_down.sh b/scripts/xtor_down.sh similarity index 100% rename from src/xtor_down.sh rename to scripts/xtor_down.sh diff --git a/src/xtor_up.py b/scripts/xtor_up.py similarity index 100% rename from src/xtor_up.py rename to scripts/xtor_up.py diff --git a/src/Makefile.am b/src/Makefile.am index 12074e2a..9fec551e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -50,16 +50,16 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 # Installed scripts -dist_bin_SCRIPTS = paper_init.sh \ - paper_crc_init.sh \ - xtor_down.sh \ - xtor_up.py \ - catcher_init.sh \ - catcher_up.py \ - catcher_down.sh \ - tweak-perf.sh \ - hera_ctl.py \ - hera_make_hdf5_template.py +dist_bin_SCRIPTS = ../scripts/paper_init.sh \ + ../scripts/paper_crc_init.sh \ + ../scripts/xtor_down.sh \ + ../scripts/xtor_up.py \ + ../scripts/catcher_init.sh \ + ../scripts/catcher_up.py \ + ../scripts/catcher_down.sh \ + ../scripts/tweak-perf.sh \ + ../scripts/hera_ctl.py \ + ../scripts/hera_make_hdf5_template.py # Non-installed test programs noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 diff --git a/src/xtor_up.sh b/src/xtor_up.sh deleted file mode 100755 index 03d7fde3..00000000 --- a/src/xtor_up.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash - -show_help_and_exit() { -cat <<. -Script to bring up the HERA correlator X-engines. Assumes that correlator is -completely down (e.g. after power up or after running xtor_down.sh). - -Usage: xtor_up.sh -. -exit $1 -} - -paper_init=paper_init.sh -perf_tweaker=tweak-perf.sh -xc=X - -while getopts :fxcm:h-: opt -do - case $opt in - h) - show_help_and_exit 0 - ;; - -) - if [ $OPTARG == 'help' ] - then - show_help_and_exit 0 - else - echo Invalid option: --$OPTARG - show_help_and_exit 1 - fi - ;; - ?) - echo Invalid option: -$OPTARG - show_help_and_exit 1 - ;; - esac -done -shift $((OPTIND-1)) - -# If no slices were given, do slices 1..16 -if [ $# -eq 0 ] -then - set {1..16} -fi - -xhosts=$(echo "$@" | sed 's/^/px/;s/ / px/g') - -# Run performance tweaking script -echo Running performance tweaking script on $xhosts -for x in $xhosts -do - ssh root@$x ${perf_tweaker} & -done - -wait - -# Start X engines -echo Starting $xc Engine instances on $xhosts -for x in $xhosts -do - ssh $x ${paper_init} 0 1 & -done - -wait - -# Start hashpipe-redis gateways -echo Starting hashpipe-redis gateways on $xhosts -for x in $xhosts -do - # Start two gateways on each host: one gateway per NUMA node, one instance - # per gateway. The gateways run on the OS core (7 or 15) - ssh $x " - taskset 0x0080 hashpipe_redis_gateway.rb -g $x -i 0; - taskset 0x8000 hashpipe_redis_gateway.rb -g $x -i 1; - " -done - -# Let the gateways come up -sleep 1 - -# Turn off HOLD flag on all instances -echo Enabling all X Engine network threads -for i in 1 0 -do - for x in $xhosts - do - redis-cli -h redishost publish hashpipe://$x/$i/set NETHOLD=0 > /dev/null - done -done - -sleep 1 - -# Reset all NET{WAT,REC,PRC}M{N,X} counters -echo Resetting all network stats counters -for i in 1 0 -do - for x in $xhosts - do - for k in NET{WAT,REC,PRC} - do - redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MN=99999 > /dev/null - redis-cli -h redishost publish hashpipe://$x/$i/set ${k}MX=0 > /dev/null - done - done -done diff --git a/tweak-perf-sn.sh b/tweak-perf-sn.sh deleted file mode 100755 index bfb32a83..00000000 --- a/tweak-perf-sn.sh +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/bash - -# Set high performance mode -for i in `ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`; do echo performance > $i; done - -# Set mtu -ifconfig eth3 mtu 9000 - -# Turn on pause requests -ethtool -A eth3 rx on - -# Kernel buffer sizes -sysctl net.core.rmem_max=8388608 -sysctl net.core.rmem_default=8388608 - -# Kill packets before the IP stack -iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP - -# Set interrupt coalescing -ethtool -C eth3 adaptive-rx off -ethtool -C eth3 rx-frames 8 -ethtool -C eth3 rx-usecs 0 - -# Set ring sizes to max -ethtool -G eth3 rx 8192 - -# Set Receiver Side Steering -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 -ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 1 loc 1 - - From 4578026ad57396b33c886da22438f5c4b470eae0 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 22:02:40 +0000 Subject: [PATCH 125/420] Remove whitespace --- scripts/tweak-perf-sn.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/tweak-perf-sn.sh b/scripts/tweak-perf-sn.sh index 885f9fcd..0a595fdb 100755 --- a/scripts/tweak-perf-sn.sh +++ b/scripts/tweak-perf-sn.sh @@ -30,5 +30,3 @@ ethtool -G eth3 rx 8192 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 #ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 1 loc 1 - - From 761e81de76b43052d1b785a246e0c4f6eb28b15d Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 23:05:14 +0000 Subject: [PATCH 126/420] Write software version to HDF5 file --- src/hera_catcher_disk_thread.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 2349141a..fecc1687 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -263,6 +263,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t) { hid_t dataset_id; + char ver[32] = GIT_VERSION; id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); // Open HDF5 header groups and create data group @@ -295,6 +296,9 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); H5Dclose(dataset_id); + dataset_id = H5Dopen(id->extra_keywords_gid, "paper_gpu_version", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_C_S1, H5S_ALL, H5S_ALL, H5P_DEFAULT, ver); + H5Dclose(dataset_id); dataset_id = H5Dopen(id->extra_keywords_gid, "startt", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); H5Dclose(dataset_id); From dda622d616efc6e092138adf7666fef347b46355 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 23:06:13 +0000 Subject: [PATCH 127/420] Changed mind about script directory. Placed it under src, so that the Makefile doesn't mess with stuff above it in the directory hierarchy. Will probably change mind again later --- {scripts => src/scripts}/catcher.py | 0 {scripts => src/scripts}/catcher_down.sh | 0 {scripts => src/scripts}/catcher_init.sh | 0 {scripts => src/scripts}/catcher_up.py | 0 {scripts => src/scripts}/check_catcher_dump.py | 0 {scripts => src/scripts}/gen_fake_corr_output.py | 0 {scripts => src/scripts}/hera_cmd_handler.py | 0 {scripts => src/scripts}/hera_ctl.py | 0 {scripts => src/scripts}/hera_make_hdf5_template.py | 0 {scripts => src/scripts}/paper_crc_init.sh | 0 {scripts => src/scripts}/paper_init.sh | 0 {scripts => src/scripts}/tweak-perf-sn.sh | 0 {scripts => src/scripts}/tweak-perf.sh | 0 {scripts => src/scripts}/xtor_down.sh | 0 {scripts => src/scripts}/xtor_up.py | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename {scripts => src/scripts}/catcher.py (100%) rename {scripts => src/scripts}/catcher_down.sh (100%) rename {scripts => src/scripts}/catcher_init.sh (100%) rename {scripts => src/scripts}/catcher_up.py (100%) rename {scripts => src/scripts}/check_catcher_dump.py (100%) rename {scripts => src/scripts}/gen_fake_corr_output.py (100%) rename {scripts => src/scripts}/hera_cmd_handler.py (100%) rename {scripts => src/scripts}/hera_ctl.py (100%) rename {scripts => src/scripts}/hera_make_hdf5_template.py (100%) rename {scripts => src/scripts}/paper_crc_init.sh (100%) rename {scripts => src/scripts}/paper_init.sh (100%) rename {scripts => src/scripts}/tweak-perf-sn.sh (100%) rename {scripts => src/scripts}/tweak-perf.sh (100%) rename {scripts => src/scripts}/xtor_down.sh (100%) rename {scripts => src/scripts}/xtor_up.py (100%) diff --git a/scripts/catcher.py b/src/scripts/catcher.py similarity index 100% rename from scripts/catcher.py rename to src/scripts/catcher.py diff --git a/scripts/catcher_down.sh b/src/scripts/catcher_down.sh similarity index 100% rename from scripts/catcher_down.sh rename to src/scripts/catcher_down.sh diff --git a/scripts/catcher_init.sh b/src/scripts/catcher_init.sh similarity index 100% rename from scripts/catcher_init.sh rename to src/scripts/catcher_init.sh diff --git a/scripts/catcher_up.py b/src/scripts/catcher_up.py similarity index 100% rename from scripts/catcher_up.py rename to src/scripts/catcher_up.py diff --git a/scripts/check_catcher_dump.py b/src/scripts/check_catcher_dump.py similarity index 100% rename from scripts/check_catcher_dump.py rename to src/scripts/check_catcher_dump.py diff --git a/scripts/gen_fake_corr_output.py b/src/scripts/gen_fake_corr_output.py similarity index 100% rename from scripts/gen_fake_corr_output.py rename to src/scripts/gen_fake_corr_output.py diff --git a/scripts/hera_cmd_handler.py b/src/scripts/hera_cmd_handler.py similarity index 100% rename from scripts/hera_cmd_handler.py rename to src/scripts/hera_cmd_handler.py diff --git a/scripts/hera_ctl.py b/src/scripts/hera_ctl.py similarity index 100% rename from scripts/hera_ctl.py rename to src/scripts/hera_ctl.py diff --git a/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py similarity index 100% rename from scripts/hera_make_hdf5_template.py rename to src/scripts/hera_make_hdf5_template.py diff --git a/scripts/paper_crc_init.sh b/src/scripts/paper_crc_init.sh similarity index 100% rename from scripts/paper_crc_init.sh rename to src/scripts/paper_crc_init.sh diff --git a/scripts/paper_init.sh b/src/scripts/paper_init.sh similarity index 100% rename from scripts/paper_init.sh rename to src/scripts/paper_init.sh diff --git a/scripts/tweak-perf-sn.sh b/src/scripts/tweak-perf-sn.sh similarity index 100% rename from scripts/tweak-perf-sn.sh rename to src/scripts/tweak-perf-sn.sh diff --git a/scripts/tweak-perf.sh b/src/scripts/tweak-perf.sh similarity index 100% rename from scripts/tweak-perf.sh rename to src/scripts/tweak-perf.sh diff --git a/scripts/xtor_down.sh b/src/scripts/xtor_down.sh similarity index 100% rename from scripts/xtor_down.sh rename to src/scripts/xtor_down.sh diff --git a/scripts/xtor_up.py b/src/scripts/xtor_up.py similarity index 100% rename from scripts/xtor_up.py rename to src/scripts/xtor_up.py From 5e6901fae24ec93671975560c09c1808da7e5d51 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Nov 2018 23:15:21 +0000 Subject: [PATCH 128/420] Fix to PR #2 To make compile. Based on briefly scanning https://accserv.lepp.cornell.edu/svn/packages/hdf5-1.8.15/test/enum.c to try and figure out what the code was trying to do. --- src/hera_catcher_disk_thread.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 8b273fb8..606cea70 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -560,6 +560,7 @@ static int init(hashpipe_thread_args_t *args) H5Tinsert(complex_id, "i", 4, H5T_STD_I32LE); // generate the boolean data type + bool val; boolenumtype = H5Tcreate(H5T_ENUM, sizeof(bool)); H5Tenum_insert(boolenumtype, "FALSE", CPTR(val, FALSE )); H5Tenum_insert(boolenumtype, "TRUE", CPTR(val, TRUE )); From af67756118beeba614637e23a27d318f0dce8829 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 5 Nov 2018 00:20:31 +0000 Subject: [PATCH 129/420] Successfully write F/X software versions to data files git version of paper_gpu repo is stored in Header/extra_keywords/paper_gpu_version various config / version info from the F-engine is stored in Header/extra_keywords/fengine_info as a python pickle. Presumably another format will be preferable in future. This commit tweaks PR #2 to make the code compile and record files. Treatment of flags dataset hasn't been tested. --- src/Makefile.am | 29 ++++++++----- src/hera_catcher_disk_thread.c | 56 +++++++++++++++++++++----- src/paper_fluff_test.c | 3 ++ src/scripts/catcher_up.py | 2 +- src/scripts/hera_make_hdf5_template.py | 28 +++++++++---- 5 files changed, 88 insertions(+), 30 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 9fec551e..d69536da 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,3 +1,8 @@ +BUILD_USER = $(shell whoami) +BUILD_HOST = $(shell hostname) +BUILD_DATE = $(shell date +%Y/%m/%d-%H:%M%z) +GIT_VERSION = $(shell git describe --abbrev=10 --dirty --always --tags) + ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS = @@ -7,7 +12,9 @@ AM_CPPFLAGS += -I/usr/include/hdf5/serial/ # AM_CFLAGS is used for all C compiles #AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -funroll-loops +AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -funroll-loops \ + -DGIT_VERSION=\"$(GIT_VERSION)\" -DBUILD_USER=\"$(BUILD_USER)\" \ + -DBUILD_HOST=\"$(BUILD_HOST)\" -DBUILD_DATE=\"$(BUILD_DATE)\" # Convenience variables to group source files paper_databuf = paper_databuf.h \ @@ -50,16 +57,16 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 # Installed scripts -dist_bin_SCRIPTS = ../scripts/paper_init.sh \ - ../scripts/paper_crc_init.sh \ - ../scripts/xtor_down.sh \ - ../scripts/xtor_up.py \ - ../scripts/catcher_init.sh \ - ../scripts/catcher_up.py \ - ../scripts/catcher_down.sh \ - ../scripts/tweak-perf.sh \ - ../scripts/hera_ctl.py \ - ../scripts/hera_make_hdf5_template.py +dist_bin_SCRIPTS = scripts/paper_init.sh \ + scripts/paper_crc_init.sh \ + scripts/xtor_down.sh \ + scripts/xtor_up.py \ + scripts/catcher_init.sh \ + scripts/catcher_up.py \ + scripts/catcher_down.sh \ + scripts/tweak-perf.sh \ + scripts/hera_ctl.py \ + scripts/hera_make_hdf5_template.py # Non-installed test programs noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 606cea70..b5c4ee47 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -42,12 +42,13 @@ #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) static hid_t complex_id; -static hid_t boolean_id, boolenumtype; +static hid_t boolenumtype; +//static hid_t boolean_id; typedef enum { - FALSE = 0, + FALSE, TRUE -} bool; +} bool_t; typedef struct { double e; @@ -148,7 +149,7 @@ static void make_extensible_hdf5(hdf5_id_t *id) pthread_exit(NULL); } - id->flags_did = H5Dcreate(id->data_gid, "flags", boolean_id, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + id->flags_did = H5Dcreate(id->data_gid, "flags", boolenumtype, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); if (id->flags_did < 0) { hashpipe_error(__FUNCTION__, "Failed to create flags dataset"); pthread_exit(NULL); @@ -269,9 +270,12 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) } +#define VERSION_BYTES 32 static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t) { hid_t dataset_id; - char ver[32] = GIT_VERSION; + hid_t memtype; + hid_t stat; + char ver[VERSION_BYTES] = GIT_VERSION; // defined at compile time id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); // Open HDF5 header groups and create data group @@ -302,14 +306,46 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui // Write meta-data values we know at file-open dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/obs_id"); + } H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/obs_id"); + } H5Dclose(dataset_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/obs_id"); + } dataset_id = H5Dopen(id->extra_keywords_gid, "paper_gpu_version", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_C_S1, H5S_ALL, H5S_ALL, H5P_DEFAULT, ver); - H5Dclose(dataset_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/paper_gpu_version"); + } + memtype = H5Tcopy(H5T_C_S1); + stat = H5Tset_size(memtype, VERSION_BYTES); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to set size of paper_gpu_version memtype"); + } + stat = H5Dwrite(dataset_id, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, ver); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/paper_gpu_version"); + } + stat = H5Dclose(dataset_id); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/paper_gpu_version"); + } dataset_id = H5Dopen(id->extra_keywords_gid, "startt", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/startt"); + } H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/startt"); + } H5Dclose(dataset_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/startt"); + } } /* Extend the datasets with data-like dimensions, @@ -560,11 +596,11 @@ static int init(hashpipe_thread_args_t *args) H5Tinsert(complex_id, "i", 4, H5T_STD_I32LE); // generate the boolean data type - bool val; - boolenumtype = H5Tcreate(H5T_ENUM, sizeof(bool)); + bool_t val; + boolenumtype = H5Tcreate(H5T_ENUM, sizeof(bool_t)); H5Tenum_insert(boolenumtype, "FALSE", CPTR(val, FALSE )); H5Tenum_insert(boolenumtype, "TRUE", CPTR(val, TRUE )); - H5Tinsert(boolean_id, "FLAG", 0, boolenumtype); + //H5Tinsert(boolean_id, "FLAG", 0, boolenumtype); return 0; } diff --git a/src/paper_fluff_test.c b/src/paper_fluff_test.c index 5e475964..5ac199ac 100644 --- a/src/paper_fluff_test.c +++ b/src/paper_fluff_test.c @@ -414,6 +414,9 @@ int main(int argc, char *argv[]) setbuf(stdout, NULL); // send printf-s to screen immediately + fprintf(stdout, "Built %s %s@%s\n", BUILD_DATE, BUILD_USER, BUILD_HOST); + fprintf(stdout, "%s\n\n", GIT_VERSION); + if(posix_memalign((void **)&in, CACHE_ALIGNMENT, N_BYTES_PER_BLOCK) || posix_memalign((void **)&out, CACHE_ALIGNMENT, 2*N_BYTES_PER_BLOCK)) { printf("cannot allocate memory\n"); diff --git a/src/scripts/catcher_up.py b/src/scripts/catcher_up.py index b84f2f6f..d981a263 100755 --- a/src/scripts/catcher_up.py +++ b/src/scripts/catcher_up.py @@ -54,7 +54,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(5) # Generate the meta-data template -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', args.hdf5template], wait=True) +run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 930d670f..741c7637 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -6,6 +6,7 @@ import numpy as np import time import pickle +import redis def get_bl_order(n_ants): """ @@ -41,7 +42,7 @@ def get_antpos_enu(antpos, lat, lon, alt): enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) return enu -def create_header(h5, use_cm=False): +def create_header(h5, use_cm=False, use_redis=False): """ Create an HDF5 file with appropriate datasets in a "Header" data group. @@ -56,6 +57,14 @@ def create_header(h5, use_cm=False): # add the enu co-ords cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], cminfo["cofa_lat"], cminfo["cofa_lon"], cminfo["cofa_alt"]) + else: + cminfo = None + + if use_redis: + r = redis.Redis("redishost") + fenginfo = r.hgetall("init_configuration") + else: + fenginfo = None INSTRUMENT = "HERA" NANTS_DATA = 192 @@ -126,13 +135,10 @@ def create_header(h5, use_cm=False): # uvw_needs populating by receiver: uvw = xyz(ant2) - xyz(ant1). Units, metres. #header.create_dataset("uvw_array", dtype=" Date: Wed, 7 Nov 2018 17:57:57 +0000 Subject: [PATCH 130/420] Make all header strings np.string_. Keys <= 8 chars --- src/hera_catcher_disk_thread.c | 10 +++++----- src/scripts/hera_make_hdf5_template.py | 16 ++++++++-------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index b5c4ee47..0aadb0ba 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -317,22 +317,22 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/obs_id"); } - dataset_id = H5Dopen(id->extra_keywords_gid, "paper_gpu_version", H5P_DEFAULT); + dataset_id = H5Dopen(id->extra_keywords_gid, "corr_ver", H5P_DEFAULT); if (dataset_id < 0) { - hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/paper_gpu_version"); + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/corr_ver"); } memtype = H5Tcopy(H5T_C_S1); stat = H5Tset_size(memtype, VERSION_BYTES); if (stat < 0) { - hashpipe_error(__FUNCTION__, "Failed to set size of paper_gpu_version memtype"); + hashpipe_error(__FUNCTION__, "Failed to set size of corr_ver memtype"); } stat = H5Dwrite(dataset_id, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, ver); if (stat < 0) { - hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/paper_gpu_version"); + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/corr_ver"); } stat = H5Dclose(dataset_id); if (stat < 0) { - hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/paper_gpu_version"); + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/corr_ver"); } dataset_id = H5Dopen(id->extra_keywords_gid, "startt", H5P_DEFAULT); if (dataset_id < 0) { diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 741c7637..f3b0871d 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -141,21 +141,21 @@ def create_header(h5, use_cm=False, use_redis=False): def add_extra_keywords(obj, cminfo=None, fenginfo=None): extras = obj.create_group("extra_keywords") if cminfo is not None: - extras.create_dataset("cmver", data=cminfo["cm_version"]) - extras.create_dataset("cminfo", data=pickle.dumps(cminfo)) + extras.create_dataset("cmver", data=np.string_(cminfo["cm_version"])) + extras.create_dataset("cminfo", data=np.string_(pickle.dumps(cminfo))) else: - extras.create_dataset("cmver", data="generated-without-cminfo") - extras.create_dataset("cminfo", data="generated-without-cminfo") + extras.create_dataset("cmver", data=np.string_("generated-without-cminfo")) + extras.create_dataset("cminfo", data=np.string_("generated-without-cminfo")) if fenginfo is not None: - extras.create_dataset("fengine_info", data=pickle.dumps(fenginfo)) + extras.create_dataset("finfo", data=np.string_(pickle.dumps(fenginfo))) else: - extras.create_dataset("fengine_info", data="generated-without-redis") - extras.create_dataset("st_type", data="???") + extras.create_dataset("finfo", data=np.string_("generated-without-redis")) + #extras.create_dataset("st_type", data=np.string_("???")) extras.create_dataset("duration", dtype=" Date: Wed, 7 Nov 2018 22:05:32 +0000 Subject: [PATCH 131/420] Remap baseline ordering based on hookup --- src/scripts/hera_make_hdf5_template.py | 61 +++++++++++++++++++++----- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index f3b0871d..9bdceb36 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -3,10 +3,43 @@ from __future__ import print_function, division, absolute_import import h5py import sys +import json +import logging import numpy as np import time import pickle import redis +from hera_corr_f import helpers + +logger = helpers.add_default_log_handlers(logging.getLogger(__file__)) + +def get_corr_to_hera_map(r, nants_data=192, nants=352): + """ + Given a redis.Redis instance, r, containing + appropriate metadata - figure out the mapping + of correlator index (0 - Nants_data -1) to + hera antenna number (0 - Nants). + """ + out_map = np.arange(nants, nants + nants_data) # use default values outside the range of real antennas + + # A dictionary with keys which are antenna numbers + # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} + ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + #host_to_index = r.hgetall("corr:snap_ants") + for ant, pol in ant_to_snap.iteritems(): + hera_ant_number = int(ant) + host = pol["n"]["host"] + chan = pol["n"]["channel"] # runs 0-5 + snap_ant_chans = r.hget("corr:snap_ants", host) + if snap_ant_chans is None: + logger.warning("Couldn't find antenna indices for %s" % host) + continue + corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) + print(corr_ant_number) + out_map[corr_ant_number] = hera_ant_number + logger.info("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) + + return out_map def get_bl_order(n_ants): """ @@ -52,6 +85,18 @@ def create_header(h5, use_cm=False, use_redis=False): system. If False, just stuff the header with fake data. """ + + INSTRUMENT = "HERA" + NANTS_DATA = 192 + NANTS = 352 + NCHANS = int(2048 // 4 * 3) + ANT_DIAMETER = 14.0 + INT_TIME = 10.0 + bls = np.array(get_bl_order(NANTS_DATA)) + n_bls = len(bls) + channel_width = 250e6 / (NCHANS / 3 * 4) + freqs = np.linspace(0, 187.5e6, NCHANS) + channel_width / 2 + if use_cm: cminfo = get_cm_info() # add the enu co-ords @@ -63,19 +108,13 @@ def create_header(h5, use_cm=False, use_redis=False): if use_redis: r = redis.Redis("redishost") fenginfo = r.hgetall("init_configuration") + corr_to_hera_map = get_corr_to_hera_map(r, nants_data=NANTS_DATA, nants=NANTS) + for n in range(bls.shape[0]): + bls[n] = [corr_to_hera_map[bls[n,0]], corr_to_hera_map[bls[n,1]]] else: fenginfo = None - - INSTRUMENT = "HERA" - NANTS_DATA = 192 - NANTS = 352 - NCHANS = int(2048 // 4 * 3) - ANT_DIAMETER = 14.0 - INT_TIME = 10.0 - bls = np.array(get_bl_order(NANTS_DATA)) - n_bls = len(bls) - channel_width = 250e6 / (NCHANS / 3 * 4) - freqs = np.linspace(0, 187.5e6, NCHANS) + channel_width / 2 + # Use impossible antenna numbers to indicate they're not really valid + corr_to_hera_map = np.arange(NANTS, NANTS+NANTS_DATA) header = h5.create_group("Header") header.create_dataset("Nants_data", dtype=" Date: Wed, 7 Nov 2018 22:21:28 +0000 Subject: [PATCH 132/420] Centre mcnts on integration centres In GPU thread track the middle mcnt of an integration, and use this for the header of the output data blocks --- src/paper_gpu_thread.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index cbd91471..378dec7f 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -56,7 +56,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) /* Loop */ int rv; char integ_status[17]; - uint64_t start_mcount, last_mcount=0; + uint64_t start_mcount, last_mcount=0, middle_mcount; uint64_t gpu_dumps=0; int int_count; // Number of blocks to integrate per dump int xgpu_error = 0; @@ -145,6 +145,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_unlock_safe(&st); // Compute last mcount last_mcount = start_mcount + TIME_DEMUX*(int_count-N_TIME_PER_BLOCK);// * N_SUB_BLOCKS_PER_INPUT_BLOCK; + middle_mcount = (last_mcount - start_mcount + N_TIME_PER_BLOCK) >> 2; fprintf(stdout, "Accumulating %d spectra to mcount: %lu\n", int_count, last_mcount); // Else (missed starting mcount) } else { @@ -214,9 +215,8 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) clock_gettime(CLOCK_MONOTONIC, &stop); elapsed_gpu_ns += ELAPSED_NS(start, stop); - // TODO Maybe need to subtract all or half the integration time here - // depending on recevier's expectations. - db_out->block[curblock_out].header.mcnt = last_mcount; + // Use the middle_mcount, which marks the center of the integration + db_out->block[curblock_out].header.mcnt = middle_mcount; // If integration status if "stop" if(!strcmp(integ_status, "stop")) { // Set integration status to "off" @@ -227,6 +227,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) } else { // Advance last_mcount for end of next integration last_mcount += TIME_DEMUX*int_count;// * N_SUB_BLOCKS_PER_INPUT_BLOCK; + middle_mcount += TIME_DEMUX*int_count; } // Mark output block as full and advance From 35b946c391a38e5d213dbe13676d8fb26d113922 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 9 Nov 2018 17:50:06 +0000 Subject: [PATCH 133/420] Add redis autocorr reporting --- src/Makefile.am | 3 +- src/hera_catcher_disk_thread.c | 76 +++++++++++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index d69536da..c66e4d4c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,6 +9,7 @@ AM_CPPFLAGS = AM_CPPFLAGS += -I"@HASHPIPE_INCDIR@" AM_CPPFLAGS += -I"@XGPU_INCDIR@" AM_CPPFLAGS += -I/usr/include/hdf5/serial/ +AM_CPPFLAGS += -I/usr/include/hiredis/ # AM_CFLAGS is used for all C compiles #AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 @@ -50,7 +51,7 @@ paper_gpu_la_LDFLAGS += -L"@XGPU_LIBDIR@" -Wl,-rpath,"@XGPU_LIBDIR@" paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" # Include HDF5 Libraries paper_gpu_la_LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial -paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 +paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 -lhiredis # Include HDF5 compression libraries #paper_gpu_la_LDFLAGS += -L/usr/local/lib/python2.7/dist-packages/bitshuffle/plugin #paper_gpu_la_LDFLAGS += -lh5LZF -lh5bshuf diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 0aadb0ba..339afa27 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "hashpipe.h" #include "paper_databuf.h" @@ -452,6 +453,21 @@ static void write_extensible_headers(hdf5_id_t *id, hsize_t t, hid_t mem_space1, } } +/* Given an array of baseline pairs, figure out the indices of the autocorrs */ +static void get_auto_indices(bl_t *bl_order, int32_t *auto_indices, uint32_t n_bls) { + int32_t i = 0; + for (i=0; ierr) { + if (c) { + fprintf(stderr, "Redis connection error: %s\n", c->errstr); + redisFree(c); + use_redis = 0; + } else { + fprintf(stderr, "Connection error: can't allocate redis context\n"); + use_redis = 0; + } + } + + /* Loop(s) */ int32_t *db_in32; int rv; int curblock_in=0; int bl; + int a, chan; double curr_file_time = -1.0; double file_start_t, file_stop_t, file_duration; int64_t file_obs_id, file_nblts=0, file_nts=0; @@ -806,6 +849,7 @@ static void *run(hashpipe_thread_args_t * args) // These are needed for populating the ant_[1|2]_array and uvw_array get_ant_pos(&sum_file, ant_pos); get_bl_order(&sum_file, bl_order); + get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); } // Update time and sample counters @@ -851,6 +895,34 @@ static void *run(hashpipe_thread_args_t * args) } + // Write autocorrs to redis + if(use_redis) { + for (a=0; a= 0) { + for (chan=0; chan Date: Fri, 9 Nov 2018 18:22:53 +0000 Subject: [PATCH 134/420] Change frequency channels Start at channel 1536. Still hardcoded, but at least to the values we will probably use. --- src/scripts/hera_make_hdf5_template.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 9bdceb36..1b22ba40 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -90,12 +90,17 @@ def create_header(h5, use_cm=False, use_redis=False): NANTS_DATA = 192 NANTS = 352 NCHANS = int(2048 // 4 * 3) + NCHANS_F = 8192 + NCHAN_SUM = 4 ANT_DIAMETER = 14.0 INT_TIME = 10.0 bls = np.array(get_bl_order(NANTS_DATA)) n_bls = len(bls) - channel_width = 250e6 / (NCHANS / 3 * 4) - freqs = np.linspace(0, 187.5e6, NCHANS) + channel_width / 2 + channel_width = 250e6 / NCHANS_F * NCHAN_SUM + freqs = np.linspace(0, 250e6, NCHANS_F + 1)[1536 : 1536 + (8192 // 4 * 3)] + # average over channels + freqs = freqs.reshape(NCHANS, NCHAN_SUM).sum(axis=1) / NCHAN_SUM + if use_cm: cminfo = get_cm_info() From e8c0b5149409b2790848fb107fa68eb6fc57bba2 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 13 Nov 2018 20:10:47 +0000 Subject: [PATCH 135/420] Add error catching on file/group/dataset closing --- src/hera_catcher_disk_thread.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 339afa27..a90e1067 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -100,16 +100,32 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nts); H5Dclose(dataset_id); // Close datasets - H5Dclose(id->visdata_did); - H5Dclose(id->flags_did); - H5Dclose(id->nsamples_did); + if (H5Dclose(id->visdata_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close visdata dataset"); + } + if (H5Dclose(id->flags_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close flags dataset"); + } + if (H5Dclose(id->nsamples_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); + } // Close groups - H5Gclose(id->extra_keywords_gid); - H5Gclose(id->header_gid); - H5Gclose(id->data_gid); + if (H5Gclose(id->extra_keywords_gid) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close extra_keywords group"); + } + if (H5Gclose(id->header_gid) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close header group"); + } + if (H5Gclose(id->data_gid) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close data group"); + } // Close file - H5Fflush(id->file_id, H5F_SCOPE_GLOBAL); - H5Fclose(id->file_id); + if (H5Fflush(id->file_id, H5F_SCOPE_GLOBAL) < 0) { + hashpipe_error(__FUNCTION__, "Failed to flush file"); + } + if (H5Fclose(id->file_id) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close file"); + } } /* From 0c8fe750335a1778eb780a5fe5f5a3deeccc78d1 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 13 Nov 2018 23:41:17 +0000 Subject: [PATCH 136/420] Change disk thread to deal with transposed input data Boosts throughput to ~6.5 Gbit/s, but requires upstream corner turn (not yet implemented) --- src/hera_catcher_disk_thread.c | 52 ++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index a90e1067..dc197165 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -38,7 +38,8 @@ #define N_DATA_DIMS (4) #define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM * XENG_CHAN_SUM)) -#define N_BL_PER_WRITE (193) +#define N_CHAN_RECEIVED (N_CHAN_TOTAL / XENG_CHAN_SUM) +#define N_BL_PER_WRITE (32) #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) @@ -563,7 +564,7 @@ static void compute_uvw_array(double* uvw, enu_t *ant_pos, bl_t *bl_order) { /* Given an entire input buffer -- -even/odd x 1 time x N_chans x N_bls x N_stokes x 2 (real/imag) +1 time x N_bls x N_chans x 2(even/odd samples) x N_stokes x 2(real/imag) Write -- even/odd-sum x 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_sum`. even/odd-diff dx 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_diff`. @@ -571,45 +572,47 @@ Choose the baseline with the index `b` This function sums over CATCHER_SUM_CHANS as it transposes, and computes even/odd sum/diff. */ -#define corr_databuf_data_idx(c, b) (2*((c*VIS_MATRIX_ENTRIES_PER_CHAN) + (N_STOKES*b))) +// Get the even-sample / first-pol / first-complexity of the correlatoion buffer for chan `c` baseline `b` +#define corr_databuf_data_idx(c, b) (2*2*N_STOKES*(c + (b*N_CHAN_RECEIVED))) static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int bl) { int c, b, s, i, chan; - int sum_even[N_BL_PER_WRITE][4][2], sum_odd[N_BL_PER_WRITE][4][2]; + // Buffers for a single full-stokes baseline + int sum_even[N_STOKES][2], sum_odd[N_STOKES][2]; int32_t *in_even = in + corr_databuf_data_idx(0,bl); - int32_t *in_odd = in_even + 2*VIS_MATRIX_ENTRIES; - - for (chan=0; chan Date: Wed, 14 Nov 2018 00:33:47 +0000 Subject: [PATCH 137/420] Use AVX library for sum/diff calcs Throughput of this calculation is ~40Gb/s Throughput of disk writing calls is ~9Gb/s Total throughput ~7.5Gb/s (Though first few blocks seem to take longer (~5.5Gb/s)) --- src/hera_catcher_disk_thread.c | 65 ++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index dc197165..9a6d729f 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -40,6 +40,7 @@ #define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM * XENG_CHAN_SUM)) #define N_CHAN_RECEIVED (N_CHAN_TOTAL / XENG_CHAN_SUM) #define N_BL_PER_WRITE (32) +//#define SKIP_DIFF #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) @@ -576,42 +577,48 @@ This function sums over CATCHER_SUM_CHANS as it transposes, and computes even/od #define corr_databuf_data_idx(c, b) (2*2*N_STOKES*(c + (b*N_CHAN_RECEIVED))) static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int bl) { - int c, b, s, i, chan; + int b, chan; // Buffers for a single full-stokes baseline - int sum_even[N_STOKES][2], sum_odd[N_STOKES][2]; +#if CATCHER_CHAN_SUM != 1 + int c; + __m256i sum_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + __m256i sum_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); +#endif + __m256i val_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + __m256i val_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); - int32_t *in_even = in + corr_databuf_data_idx(0,bl); - int32_t *in_odd = in_even + N_STOKES*2; - //__m256i sum_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); - //__m256i sum_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + __m256i *in_even256 = (__m256i *)(in + corr_databuf_data_idx(0,bl)); + __m256i *out_sum256 = (__m256i *)out_sum; + __m256i *out_diff256 = (__m256i *)out_diff; for(b=0; b Date: Wed, 14 Nov 2018 03:31:34 +0000 Subject: [PATCH 138/420] Fix middle mcnt calculation Which was completely wrong. --- src/paper_gpu_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index 378dec7f..d57da480 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -145,7 +145,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_unlock_safe(&st); // Compute last mcount last_mcount = start_mcount + TIME_DEMUX*(int_count-N_TIME_PER_BLOCK);// * N_SUB_BLOCKS_PER_INPUT_BLOCK; - middle_mcount = (last_mcount - start_mcount + N_TIME_PER_BLOCK) >> 2; + middle_mcount = (last_mcount + start_mcount + TIME_DEMUX*N_TIME_PER_BLOCK) >> 1; fprintf(stdout, "Accumulating %d spectra to mcount: %lu\n", int_count, last_mcount); // Else (missed starting mcount) } else { From 8012b39e4289b2ca1696a53a47f8da17b5fa1d4c Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 14 Nov 2018 05:54:45 +0000 Subject: [PATCH 139/420] Transpose bl-chan on X-engines This commit modifies the X-engine output code so that data are output baselines x chan x stokes x complexity. Since each X-engine only has access to a subset of frequency channels from the total system, the receiver accepts them into a buffer structured n-xengs x baselines x chan-per-xeng x stokes x complexity. The "transpose" function in the disk writing thread has been modified to deal with the irritating n-xengs axis. This code obtains ~7.5 - 8 Gb/s throughput. It hasn't been tested with TVGs, and redis plots show no bandpasses for connected antennas. It is likely an addressing bug(s) exist somewhere. --- src/hera_catcher_disk_thread.c | 72 +++++++++++++++++++--------------- src/hera_catcher_net_thread.c | 19 ++++++--- src/hera_gpu_output_thread.c | 12 +++--- src/paper_databuf.h | 10 ++++- 4 files changed, 67 insertions(+), 46 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 9a6d729f..99233b6b 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -565,7 +565,7 @@ static void compute_uvw_array(double* uvw, enu_t *ant_pos, bl_t *bl_order) { /* Given an entire input buffer -- -1 time x N_bls x N_chans x 2(even/odd samples) x N_stokes x 2(real/imag) +1 time x n-xengines x N_bls x N_chans-per-x x 2(even/odd samples) x N_stokes x 2(real/imag) Write -- even/odd-sum x 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_sum`. even/odd-diff dx 1 bl x N_chans x N_stokes x 2 (real/imag) into `out_diff`. @@ -574,10 +574,9 @@ This function sums over CATCHER_SUM_CHANS as it transposes, and computes even/od */ // Get the even-sample / first-pol / first-complexity of the correlatoion buffer for chan `c` baseline `b` -#define corr_databuf_data_idx(c, b) (2*2*N_STOKES*(c + (b*N_CHAN_RECEIVED))) static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, int bl) { - int b, chan; + int b, chan, xeng, xchan; // Buffers for a single full-stokes baseline #if CATCHER_CHAN_SUM != 1 int c; @@ -587,38 +586,43 @@ static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, __m256i val_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); __m256i val_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); - __m256i *in_even256 = (__m256i *)(in + corr_databuf_data_idx(0,bl)); + __m256i *in_even256; __m256i *out_sum256 = (__m256i *)out_sum; __m256i *out_diff256 = (__m256i *)out_diff; for(b=0; b= 0) { - for (chan=0; chanblock[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(xeng_id, offset)); + dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id / TIME_DEMUX, offset)); payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); + if (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id / TIME_DEMUX, offset) >= 455344128L) { + fprintf(stderr, "databuf offset outside allowed range!\n"); + fprintf(stderr, "offset is %lu\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id/TIME_DEMUX, offset))); + fprintf(stderr, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d\n", mcnt, time_demux_block, offset, xeng_id/TIME_DEMUX); + } //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d), payload:%d, block:%d\n", mcnt, time_demux_block, offset, xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1], payload_len, binfo.block_i); - //fprintf(stdout, "offset is %u\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id, offset))); + //fprintf(stdout, "offset is %lu\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id/TIME_DEMUX, offset))); //fprintf(stdout, "offset: %d\n", hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); - //memcpy(dest_p, payload_p, payload_len); // Copy with byte swap - for(i=0; i<(payload_len >> 2); i++){ - dest_p[i] = be32toh(payload_p[i]); + for(i=0; i<(payload_len >> 2); i+=8){ + for (j=0; j<8; j++) { + dest_p[TIME_DEMUX*i + j] = be32toh(payload_p[i + j]); + //dest_p[i + j] = be32toh(payload_p[i + j]); + } } return netmcnt; diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index ad6a2746..0f9ab029 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -388,12 +388,12 @@ static void *run(hashpipe_thread_args_t * args) pktdata_t * p_out = pkt.data; clock_gettime(CLOCK_MONOTONIC, &pkt_start); // Iterate over blocks of XENG_CHAN_SUM channels. An inner loop will sum these - for(casper_chan=0; casper_chan>2)) +// Catcher input buffer has dimensions: +// n-xengines x n-baselines x nchans-per-x x time-demux x stokes x real/imag +#define hera_catcher_input_databuf_idx32(t, x, o) \ + (2L*TIME_DEMUX*(VIS_MATRIX_ENTRIES_PER_CHAN * (N_CHAN_PER_X/XENG_CHAN_SUM)*(x)) + (TIME_DEMUX*((o)>>2)) + (2*N_STOKES*(t))) +#define hera_catcher_input_databuf_by_bl_idx32(x, b) \ + (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (b))) /* * INPUT BUFFER FUNCTIONS From 593d9c86ec47090110973cab80cc6a267c32f9b9 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 14 Nov 2018 16:33:34 +0000 Subject: [PATCH 140/420] Make stokes the fastest varying axis --- src/hera_gpu_output_thread.c | 106 ++++++++++++++++++----------------- 1 file changed, 55 insertions(+), 51 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 0f9ab029..c1afcd3e 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -2,7 +2,7 @@ // // Sends integrated GPU output to "catcher" machine for assimilation into a // dataset. Unlike the original PAPER output thread, this code integrates -// over XENG_CHAN_SUM channels, TODO: and performs a channel x baseline transpose +// over XENG_CHAN_SUM channels, and performs a channel x baseline transpose #include #include @@ -341,7 +341,7 @@ static void *run(hashpipe_thread_args_t * args) /* Main loop */ int rv; int casper_chan, gpu_chan, sum_chan; - int baseline; + int baseline, pol; unsigned int dumps = 0; int block_idx = 0; struct timespec start, stop; @@ -383,64 +383,68 @@ static void *run(hashpipe_thread_args_t * args) uint32_t nbytes = 0; // Unpack and convert in packet sized chunks + // output data in order: baseline x chan x stokes (slowest to fastest varying) pktdata_t * pf_re = db->block[block_idx].data; pktdata_t * pf_im = db->block[block_idx].data + xgpu_info.matLength; pktdata_t * p_out = pkt.data; clock_gettime(CLOCK_MONOTONIC, &pkt_start); - // Iterate over blocks of XENG_CHAN_SUM channels. An inner loop will sum these - for(baseline=0; baseline 0 && packet_delay.tv_nsec < 1000*1000*1000) { - nanosleep(&packet_delay, NULL); - } + // Delay to prevent overflowing network TX queue + clock_gettime(CLOCK_MONOTONIC, &pkt_stop); + packet_delay.tv_nsec = PACKET_DELAY_NS - ELAPSED_NS(pkt_start, pkt_stop); + if(packet_delay.tv_nsec > 0 && packet_delay.tv_nsec < 1000*1000*1000) { + nanosleep(&packet_delay, NULL); + } - // Setup for next packet - p_out = pkt.data; - pkt_start = pkt_stop; - // Update header's byte_offset for this chunk - pkt.hdr.offset = OFFSET(nbytes); + // Setup for next packet + p_out = pkt.data; + pkt_start = pkt_stop; + // Update header's byte_offset for this chunk + pkt.hdr.offset = OFFSET(nbytes); + } } } } From 0e0d909c9fdc17725c5c045a39b678adcf19e5d6 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 14 Nov 2018 16:36:12 +0000 Subject: [PATCH 141/420] Add simple python databuf checkers --- src/tests/check_fluff_output_databuf.py | 46 +++++++++++++++++++++++++ src/tests/check_gpu_output_databuf.py | 21 +++++++++++ src/tests/check_net_output_databuf.py | 32 +++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 src/tests/check_fluff_output_databuf.py create mode 100644 src/tests/check_gpu_output_databuf.py create mode 100644 src/tests/check_net_output_databuf.py diff --git a/src/tests/check_fluff_output_databuf.py b/src/tests/check_fluff_output_databuf.py new file mode 100644 index 00000000..3bdabbf0 --- /dev/null +++ b/src/tests/check_fluff_output_databuf.py @@ -0,0 +1,46 @@ +#! /usr/bin/env python + +import sys +import numpy as np + +NTIMES = 2048 +NTIME_FAST = 4 +NCHAN = 384 +NANT = 192 +NPOL = 2 +NCPLX = 2 + + +with open(sys.argv[1], 'r') as fh: + raw = fh.read() + +x = np.fromstring(raw, dtype='b') + +x = x.reshape(NTIMES/NTIME_FAST, NCHAN, NANT, NPOL, NCPLX, NTIME_FAST) + +tvg = np.zeros([NANT, NPOL, NCHAN, NCPLX]) + +# Generate a test vector valid for all times +for a in range(NANT): + for p in range(NPOL): + chan_ramp = (np.arange(NCHAN) + 2*(a%3) + p) % 256 + chan_ramp_r = chan_ramp >> 4 + chan_ramp_i = chan_ramp & 0xf + chan_ramp_r[chan_ramp_r > 7] -= 16 + chan_ramp_i[chan_ramp_i > 7] -= 16 + tvg[a,p,:,1] = chan_ramp_r + tvg[a,p,:,0] = chan_ramp_i + +#print x[0,:,0,0,0,0] +#print tvg[0,0,:,0] +#exit() + +for a in range(12): + ok = True + for p in range(NPOL): + for t in range(NTIMES/NTIME_FAST): + for t_fast in range(NTIME_FAST): + for cplx in range(NCPLX): + ok = ok and np.all(tvg[a, p, :, cplx] == x[t, :, a, p, cplx, t_fast]) + print "Antenna %d: OK?:" % a, ok + #print tvg[a,0,:,:], x[0,:,a,0,:,0] diff --git a/src/tests/check_gpu_output_databuf.py b/src/tests/check_gpu_output_databuf.py new file mode 100644 index 00000000..c094631e --- /dev/null +++ b/src/tests/check_gpu_output_databuf.py @@ -0,0 +1,21 @@ +#! /usr/bin/env python + +import sys +import numpy as np + +NTIMES = 2048 +NTIME_FAST = 4 +NCHAN = 384 +NANT = 192 +NPOL = 2 +NCPLX = 2 + + +with open(sys.argv[1], 'r') as fh: + raw = fh.read() + +x = np.fromstring(raw, dtype=np.int32) + +print "All values equal to 0?:", np.all(x == 0) +print "All values divisible by 2048?:", np.all((x % 2048) == 0) +print "All values divisible by 262144?:", np.all((x % 262144) == 0) diff --git a/src/tests/check_net_output_databuf.py b/src/tests/check_net_output_databuf.py new file mode 100644 index 00000000..3844d67c --- /dev/null +++ b/src/tests/check_net_output_databuf.py @@ -0,0 +1,32 @@ +#! /usr/bin/env python + +import sys +import numpy as np + +NTIMES = 2048 +NTIME_PER_PKT = 2 +NCHAN_PER_PKT = 384 +NANT_PER_PKT = 3 +NANT_TOTAL = 192 +NPOL_PER_PKT = 2 + + +with open(sys.argv[1], 'r') as fh: + raw = fh.read() + +x = np.fromstring(raw, dtype='B') + +x = x.reshape(NTIMES/NTIME_PER_PKT, NANT_TOTAL, NCHAN_PER_PKT, NTIME_PER_PKT, NPOL_PER_PKT) + +tvg = np.zeros([NTIMES/NTIME_PER_PKT, NANT_TOTAL, NCHAN_PER_PKT, NTIME_PER_PKT, NPOL_PER_PKT]) + +ramp = np.arange(384) % 256 +for t in range(NTIMES/NTIME_PER_PKT): + for t_pkt in range(NTIME_PER_PKT): + for a in range(NANT_TOTAL): + for p in range(NPOL_PER_PKT): + tvg[t, a, :, t_pkt, p] = (np.arange(384) + 2*(a%3) + p) % 256 + +for a in range(NANT_TOTAL): + print "Antenna %d: OK?:" % a, + print np.all(tvg[:,a,:,:,:] == x[:,a,:,:,:]) From d3f249462fa470a404ba6f16610de16f608b2711 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 14 Nov 2018 21:47:45 +0000 Subject: [PATCH 142/420] Buffer indexing fixes Auto correlation plots (via redis) look OK. No TVG check yet. --- src/hera_catcher_disk_thread.c | 2 ++ src/hera_catcher_net_thread.c | 4 ++-- src/paper_databuf.h | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 99233b6b..4825445c 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -937,6 +937,7 @@ static void *run(hashpipe_thread_args_t * args) // auto_indices default to -1. Use this test to delete // redis keys for invalid antennas if (auto_indices[a] >= 0) { + //fprintf(stdout, "Reporting autocorrs for ant %d (bl %d) to redis\n", a, auto_indices[a]); for (xeng=0; xengblock[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id / TIME_DEMUX, offset)); + dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(time_demux_block, (xeng_id % N_XENGINES_PER_TIME), offset)); payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); if (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id / TIME_DEMUX, offset) >= 455344128L) { fprintf(stderr, "databuf offset outside allowed range!\n"); fprintf(stderr, "offset is %lu\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id/TIME_DEMUX, offset))); fprintf(stderr, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d\n", mcnt, time_demux_block, offset, xeng_id/TIME_DEMUX); } - //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d (%d,%d), payload:%d, block:%d\n", mcnt, time_demux_block, offset, xeng_id, ((int32_t *)payload_p)[0], ((int32_t*)payload_p)[1], payload_len, binfo.block_i); + //fprintf(stdout, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d pointer: %lu\n", mcnt, time_demux_block, offset, xeng_id, hera_catcher_input_databuf_idx32(time_demux_block, (xeng_id % N_XENGINES_PER_TIME), offset)); //fprintf(stdout, "offset is %lu\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id/TIME_DEMUX, offset))); //fprintf(stdout, "offset: %d\n", hera_catcher_input_databuf_idx64(time_demux_block, packet_header_p->xeng_id, packet_header_p->offset)); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 41597f10..48ad8a59 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -36,7 +36,7 @@ #define N_BYTES_PER_BLOCK (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_INPUTS) #define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK / N_BYTES_PER_PACKET) #define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK * N_INPUTS_PER_PACKET / 2 / N_FENGINES) -// Number of X-engines per time slice. E.g. for HERA: 8. +// Number of X-engines per time slice. E.g. for HERA: 16. #define N_XENGINES_PER_TIME (N_CHAN_TOTAL / N_CHAN_PER_X) // Validate packet dimensions @@ -294,7 +294,7 @@ typedef struct hera_catcher_input_databuf { #define hera_catcher_input_databuf_idx32(t, x, o) \ (2L*TIME_DEMUX*(VIS_MATRIX_ENTRIES_PER_CHAN * (N_CHAN_PER_X/XENG_CHAN_SUM)*(x)) + (TIME_DEMUX*((o)>>2)) + (2*N_STOKES*(t))) #define hera_catcher_input_databuf_by_bl_idx32(x, b) \ - (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (b))) + (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (N_STOKES*b))) /* * INPUT BUFFER FUNCTIONS From 90dec77ee32e2b5cdce6a824ce42ff5e13477295 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 28 Nov 2018 17:30:39 +0000 Subject: [PATCH 143/420] Wait longer before releasing nethold --- src/scripts/catcher_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/catcher_up.py b/src/scripts/catcher_up.py index d981a263..5391bfea 100755 --- a/src/scripts/catcher_up.py +++ b/src/scripts/catcher_up.py @@ -51,7 +51,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([args.host], ['taskset', cpu_mask, 'hashpipe_redis_gateway.rb', '-g', args.host, '-i', '0']) # Wait for the gateways to come up -time.sleep(5) +time.sleep(10) # Generate the meta-data template run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) From d152b6b5f90c174b760c60112824f5aaddcfe8cc Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Wed, 28 Nov 2018 12:15:33 -0800 Subject: [PATCH 144/420] Make fix for antenna positions --- src/scripts/hera_make_hdf5_template.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 1b22ba40..01da253f 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -75,6 +75,12 @@ def get_antpos_enu(antpos, lat, lon, alt): enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) return enu +def get_telescope_location_ecef(lat, lon, alt): + import pyuvdata.utils as uvutils + xyz = uvutils.XYZ_from_LatLonAlt(lat, lon, alt) + ecef = uvutils.ECEF_from_ENU(xyz, lat, lon, alt) + return ecef + def create_header(h5, use_cm=False, use_redis=False): """ Create an HDF5 file with appropriate datasets in a "Header" @@ -147,13 +153,18 @@ def create_header(h5, use_cm=False, use_redis=False): header.create_dataset("telescope_name", data=np.string_("HERA")) header.create_dataset("vis_units", data=np.string_("UNCALIB")) if use_cm: + # convert lat and lon from degrees -> radians + lat = cminfo['cofa_lat'] * np.pi / 180. + lon = cminfo['cofa_lon'] * np.pi / 180. + alt = cminfo['cofa_alt'] + telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) header.create_dataset("altitude", dtype=" Date: Thu, 29 Nov 2018 01:30:45 +0000 Subject: [PATCH 145/420] Fix pointer calculation bug Baselines were being scrambled. --- src/hera_catcher_disk_thread.c | 2 +- src/paper_databuf.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 4825445c..13527dd1 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -592,7 +592,7 @@ static void transpose_bl_chan(int32_t *in, int32_t *out_sum, int32_t *out_diff, for(b=0; b>2)) + (2*N_STOKES*(t))) #define hera_catcher_input_databuf_by_bl_idx32(x, b) \ - (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (N_STOKES*b))) + (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (N_STOKES*(b)))) /* * INPUT BUFFER FUNCTIONS From 6706b34622155ab1215b95aca9ce946087d4f135 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 29 Nov 2018 01:31:37 +0000 Subject: [PATCH 146/420] Wait longer between starting catcher and releasing NETHOLD If the catcher pipeline is not up when NETHOLD is released, it will stay idle forever. --- src/scripts/catcher_up.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scripts/catcher_up.py b/src/scripts/catcher_up.py index 5391bfea..2358acd2 100755 --- a/src/scripts/catcher_up.py +++ b/src/scripts/catcher_up.py @@ -45,13 +45,14 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Start Catcher run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=True) +time.sleep(15) # Start hashpipe<->redis gateways cpu_mask = '0x0004' run_on_hosts([args.host], ['taskset', cpu_mask, 'hashpipe_redis_gateway.rb', '-g', args.host, '-i', '0']) # Wait for the gateways to come up -time.sleep(10) +time.sleep(15) # Generate the meta-data template run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) From ba3c145cc1117ac4394571d3726d1929393adb25 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 10 Dec 2018 22:50:39 +0000 Subject: [PATCH 147/420] Make maximum times-per-file a #define, and increase to 64 Also add error check for out-of-bounds condition. --- src/hera_catcher_disk_thread.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 13527dd1..2fa9a502 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -44,6 +44,8 @@ #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) +#define MAXTIMES 64 + static hid_t complex_id; static hid_t boolenumtype; //static hid_t boolean_id; @@ -140,7 +142,7 @@ see https://gist.github.com/simleb/5205083/ static void make_extensible_hdf5(hdf5_id_t *id) { hsize_t dims[N_DATA_DIMS] = {0 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 1, N_CHAN_PROCESSED, N_STOKES}; - hsize_t max_dims[N_DATA_DIMS] = {16 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t max_dims[N_DATA_DIMS] = {MAXTIMES * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 1, N_CHAN_PROCESSED, N_STOKES}; hsize_t chunk_dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, dims, max_dims); @@ -191,7 +193,7 @@ static void make_extensible_hdf5(hdf5_id_t *id) static void make_extensible_headers_hdf5(hdf5_id_t *id) { hsize_t dims1[DIM1] = {0}; - hsize_t max_dims1[DIM1] = {16 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; + hsize_t max_dims1[DIM1] = {MAXTIMES * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; hsize_t chunk_dims1[DIM1] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES}; hid_t file_space = H5Screate_simple(DIM1, dims1, max_dims1); @@ -231,7 +233,7 @@ static void make_extensible_headers_hdf5(hdf5_id_t *id) /* And now uvw_array, which has shape Nblts x 3 */ hsize_t dims2[DIM2] = {0, 3}; - hsize_t max_dims2[DIM2] = {16 * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; + hsize_t max_dims2[DIM2] = {MAXTIMES * VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; hsize_t chunk_dims2[DIM2] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; file_space = H5Screate_simple(DIM2, dims2, max_dims2); @@ -893,6 +895,10 @@ static void *run(hashpipe_thread_args_t * args) file_nblts += VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES; file_nts += 1; + if (file_nts > MAXTIMES) { + hashpipe_error(__FUNCTION__, "Writing time sample %d but maximum hardcoded limit is %d\n", file_nts, MAXTIMES); + } + // extend the datasets with time axes and update filespace IDs extend_datasets(&sum_file, file_nts); extend_datasets(&diff_file, file_nts); From fe4d537ebffcefaf69fd5e72b0e0faedc8743488 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 13 Dec 2018 02:50:11 +0000 Subject: [PATCH 148/420] Add lzf filter to flags and nsamples --- src/Makefile.am | 8 +- src/hera_catcher_disk_thread.c | 26 ++- src/lzf/lzf.h | 99 +++++++++++ src/lzf/lzfP.h | 165 ++++++++++++++++++ src/lzf/lzf_c.c | 295 +++++++++++++++++++++++++++++++++ src/lzf/lzf_d.c | 153 +++++++++++++++++ src/lzf_filter.c | 260 +++++++++++++++++++++++++++++ src/lzf_filter.h | 1 + 8 files changed, 994 insertions(+), 13 deletions(-) create mode 100644 src/lzf/lzf.h create mode 100644 src/lzf/lzfP.h create mode 100644 src/lzf/lzf_c.c create mode 100644 src/lzf/lzf_d.c create mode 100644 src/lzf_filter.c create mode 120000 src/lzf_filter.h diff --git a/src/Makefile.am b/src/Makefile.am index c66e4d4c..aafab087 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -31,10 +31,10 @@ paper_threads = paper_fake_net_thread.c \ hera_catcher_net_thread.c \ hera_catcher_disk_thread.c \ hera_gpu_output_thread.c \ - #lzf/lzf/lzf_c.c \ - #lzf/lzf/lzf_d.c \ - #lzf/lzf_filter.c \ - #lzf_filter.h + lzf/lzf_c.c \ + lzf/lzf_d.c \ + lzf_filter.c \ + lzf_filter.h paper_fluff = paper_fluff.h \ paper_fluff.c diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 2fa9a502..3832f5c2 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -23,7 +23,7 @@ #include "hashpipe.h" #include "paper_databuf.h" -//#include "lzf_filter.h" +#include "lzf_filter.h" #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) @@ -146,15 +146,22 @@ static void make_extensible_hdf5(hdf5_id_t *id) hsize_t chunk_dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, dims, max_dims); - hid_t plist = H5Pcreate(H5P_DATASET_CREATE); - //hid_t plist_lzf = H5Pcreate(H5P_DATASET_CREATE); - //H5Pset_chunk(plist_lzf, N_DATA_DIMS, chunk_dims); - //H5Pset_shuffle(plist_lzf); - //H5Pset_filter(plist_lzf, H5PY_FILTER_LZF, H5Z_FLAG_OPTIONAL, 0, NULL); + // make plist for LZF datasets + int r; + r = register_lzf(); + if (r<0) { + hashpipe_error(__FUNCTION__, "Failed to register LZF filter"); + pthread_exit(NULL); + } + hid_t plist_lzf = H5Pcreate(H5P_DATASET_CREATE); + H5Pset_chunk(plist_lzf, N_DATA_DIMS, chunk_dims); + H5Pset_shuffle(plist_lzf); + H5Pset_filter(plist_lzf, H5PY_FILTER_LZF, H5Z_FLAG_OPTIONAL, 0, NULL); + // make plist for non-compressed datasets + hid_t plist = H5Pcreate(H5P_DATASET_CREATE); H5Pset_layout(plist, H5D_CHUNKED); - H5Pset_chunk(plist, N_DATA_DIMS, chunk_dims); // Now we have the dataspace properties, create the datasets @@ -164,19 +171,20 @@ static void make_extensible_hdf5(hdf5_id_t *id) pthread_exit(NULL); } - id->nsamples_did = H5Dcreate(id->data_gid, "nsamples", H5T_IEEE_F32LE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + id->nsamples_did = H5Dcreate(id->data_gid, "nsamples", H5T_IEEE_F32LE, file_space, H5P_DEFAULT, plist_lzf, H5P_DEFAULT); if (id->nsamples_did < 0) { hashpipe_error(__FUNCTION__, "Failed to create nsamples dataset"); pthread_exit(NULL); } - id->flags_did = H5Dcreate(id->data_gid, "flags", boolenumtype, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + id->flags_did = H5Dcreate(id->data_gid, "flags", boolenumtype, file_space, H5P_DEFAULT, plist_lzf, H5P_DEFAULT); if (id->flags_did < 0) { hashpipe_error(__FUNCTION__, "Failed to create flags dataset"); pthread_exit(NULL); } H5Pclose(plist); + H5Pclose(plist_lzf); H5Sclose(file_space); } diff --git a/src/lzf/lzf.h b/src/lzf/lzf.h new file mode 100644 index 00000000..061d4cea --- /dev/null +++ b/src/lzf/lzf.h @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2000-2008 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#ifndef LZF_H +#define LZF_H + +/*********************************************************************** +** +** lzf -- an extremely fast/free compression/decompression-method +** http://liblzf.plan9.de/ +** +** This algorithm is believed to be patent-free. +** +***********************************************************************/ + +#define LZF_VERSION 0x0105 /* 1.5, API version */ + +/* + * Compress in_len bytes stored at the memory block starting at + * in_data and write the result to out_data, up to a maximum length + * of out_len bytes. + * + * If the output buffer is not large enough or any error occurs return 0, + * otherwise return the number of bytes used, which might be considerably + * more than in_len (but less than 104% of the original size), so it + * makes sense to always use out_len == in_len - 1), to ensure _some_ + * compression, and store the data uncompressed otherwise (with a flag, of + * course. + * + * lzf_compress might use different algorithms on different systems and + * even different runs, thus might result in different compressed strings + * depending on the phase of the moon or similar factors. However, all + * these strings are architecture-independent and will result in the + * original data when decompressed using lzf_decompress. + * + * The buffers must not be overlapping. + * + * If the option LZF_STATE_ARG is enabled, an extra argument must be + * supplied which is not reflected in this header file. Refer to lzfP.h + * and lzf_c.c. + * + */ +unsigned int +lzf_compress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len); + +/* + * Decompress data compressed with some version of the lzf_compress + * function and stored at location in_data and length in_len. The result + * will be stored at out_data up to a maximum of out_len characters. + * + * If the output buffer is not large enough to hold the decompressed + * data, a 0 is returned and errno is set to E2BIG. Otherwise the number + * of decompressed bytes (i.e. the original length of the data) is + * returned. + * + * If an error in the compressed data is detected, a zero is returned and + * errno is set to EINVAL. + * + * This function is very fast, about as fast as a copying loop. + */ +unsigned int +lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len); + +#endif diff --git a/src/lzf/lzfP.h b/src/lzf/lzfP.h new file mode 100644 index 00000000..ff5310dc --- /dev/null +++ b/src/lzf/lzfP.h @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2000-2007 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#ifndef LZFP_h +#define LZFP_h + +#define STANDALONE 1 /* at the moment, this is ok. */ + +#ifndef STANDALONE +# include "lzf.h" +#endif + +/* + * Size of hashtable is (1 << HLOG) * sizeof (char *) + * decompression is independent of the hash table size + * the difference between 15 and 14 is very small + * for small blocks (and 14 is usually a bit faster). + * For a low-memory/faster configuration, use HLOG == 13; + * For best compression, use 15 or 16 (or more, up to 23). + */ +#ifndef HLOG +# define HLOG 17 /* Avoid pathological case at HLOG=16 A.C. 2/15/09 */ +#endif + +/* + * Sacrifice very little compression quality in favour of compression speed. + * This gives almost the same compression as the default code, and is + * (very roughly) 15% faster. This is the preferred mode of operation. + */ +#ifndef VERY_FAST +# define VERY_FAST 1 +#endif + +/* + * Sacrifice some more compression quality in favour of compression speed. + * (roughly 1-2% worse compression for large blocks and + * 9-10% for small, redundant, blocks and >>20% better speed in both cases) + * In short: when in need for speed, enable this for binary data, + * possibly disable this for text data. + */ +#ifndef ULTRA_FAST +# define ULTRA_FAST 1 +#endif + +/* + * Unconditionally aligning does not cost very much, so do it if unsure + */ +#ifndef STRICT_ALIGN +# define STRICT_ALIGN !(defined(__i386) || defined (__amd64)) +#endif + +/* + * You may choose to pre-set the hash table (might be faster on some + * modern cpus and large (>>64k) blocks, and also makes compression + * deterministic/repeatable when the configuration otherwise is the same). + */ +#ifndef INIT_HTAB +# define INIT_HTAB 0 +#endif + +/* ======================================================================= + Changing things below this line may break the HDF5 LZF filter. + A.C. 2/15/09 + ======================================================================= +*/ + +/* + * Avoid assigning values to errno variable? for some embedding purposes + * (linux kernel for example), this is necessary. NOTE: this breaks + * the documentation in lzf.h. + */ +#ifndef AVOID_ERRNO +# define AVOID_ERRNO 0 +#endif + +/* + * Whether to pass the LZF_STATE variable as argument, or allocate it + * on the stack. For small-stack environments, define this to 1. + * NOTE: this breaks the prototype in lzf.h. + */ +#ifndef LZF_STATE_ARG +# define LZF_STATE_ARG 0 +#endif + +/* + * Whether to add extra checks for input validity in lzf_decompress + * and return EINVAL if the input stream has been corrupted. This + * only shields against overflowing the input buffer and will not + * detect most corrupted streams. + * This check is not normally noticeable on modern hardware + * (<1% slowdown), but might slow down older cpus considerably. + */ + +#ifndef CHECK_INPUT +# define CHECK_INPUT 1 +#endif + +/*****************************************************************************/ +/* nothing should be changed below */ + +typedef unsigned char u8; + +typedef const u8 *LZF_STATE[1 << (HLOG)]; + +#if !STRICT_ALIGN +/* for unaligned accesses we need a 16 bit datatype. */ +# include +# if USHRT_MAX == 65535 + typedef unsigned short u16; +# elif UINT_MAX == 65535 + typedef unsigned int u16; +# else +# undef STRICT_ALIGN +# define STRICT_ALIGN 1 +# endif +#endif + +#if ULTRA_FAST +# if defined(VERY_FAST) +# undef VERY_FAST +# endif +#endif + +#if INIT_HTAB +# ifdef __cplusplus +# include +# else +# include +# endif +#endif + +#endif diff --git a/src/lzf/lzf_c.c b/src/lzf/lzf_c.c new file mode 100644 index 00000000..e021a247 --- /dev/null +++ b/src/lzf/lzf_c.c @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2000-2008 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#include "lzfP.h" + +#define HSIZE (1 << (HLOG)) + +/* + * don't play with this unless you benchmark! + * decompression is not dependent on the hash function + * the hashing function might seem strange, just believe me + * it works ;) + */ +#ifndef FRST +# define FRST(p) (((p[0]) << 8) | p[1]) +# define NEXT(v,p) (((v) << 8) | p[2]) +# if ULTRA_FAST +# define IDX(h) ((( h >> (3*8 - HLOG)) - h ) & (HSIZE - 1)) +# elif VERY_FAST +# define IDX(h) ((( h >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) +# else +# define IDX(h) ((((h ^ (h << 5)) >> (3*8 - HLOG)) - h*5) & (HSIZE - 1)) +# endif +#endif +/* + * IDX works because it is very similar to a multiplicative hash, e.g. + * ((h * 57321 >> (3*8 - HLOG)) & (HSIZE - 1)) + * the latter is also quite fast on newer CPUs, and compresses similarly. + * + * the next one is also quite good, albeit slow ;) + * (int)(cos(h & 0xffffff) * 1e6) + */ + +#if 0 +/* original lzv-like hash function, much worse and thus slower */ +# define FRST(p) (p[0] << 5) ^ p[1] +# define NEXT(v,p) ((v) << 5) ^ p[2] +# define IDX(h) ((h) & (HSIZE - 1)) +#endif + +#define MAX_LIT (1 << 5) +#define MAX_OFF (1 << 13) +#define MAX_REF ((1 << 8) + (1 << 3)) + +#if __GNUC__ >= 3 +# define expect(expr,value) __builtin_expect ((expr),(value)) +# define inline inline +#else +# define expect(expr,value) (expr) +# define inline static +#endif + +#define expect_false(expr) expect ((expr) != 0, 0) +#define expect_true(expr) expect ((expr) != 0, 1) + +/* + * compressed format + * + * 000LLLLL ; literal + * LLLooooo oooooooo ; backref L + * 111ooooo LLLLLLLL oooooooo ; backref L+7 + * + */ + +unsigned int +lzf_compress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len +#if LZF_STATE_ARG + , LZF_STATE htab +#endif + ) +{ +#if !LZF_STATE_ARG + LZF_STATE htab; +#endif + const u8 **hslot; + const u8 *ip = (const u8 *)in_data; + u8 *op = (u8 *)out_data; + const u8 *in_end = ip + in_len; + u8 *out_end = op + out_len; + const u8 *ref; + + /* off requires a type wide enough to hold a general pointer difference. + * ISO C doesn't have that (size_t might not be enough and ptrdiff_t only + * works for differences within a single object). We also assume that no + * no bit pattern traps. Since the only platform that is both non-POSIX + * and fails to support both assumptions is windows 64 bit, we make a + * special workaround for it. + */ +#if ( defined (WIN32) && defined (_M_X64) ) || defined (_WIN64) + unsigned _int64 off; /* workaround for missing POSIX compliance */ +#else + unsigned long off; +#endif + unsigned int hval; + int lit; + + if (!in_len || !out_len) + return 0; + +#if INIT_HTAB + memset (htab, 0, sizeof (htab)); +# if 0 + for (hslot = htab; hslot < htab + HSIZE; hslot++) + *hslot++ = ip; +# endif +#endif + + lit = 0; op++; /* start run */ + + hval = FRST (ip); + while (ip < in_end - 2) + { + hval = NEXT (hval, ip); + hslot = htab + IDX (hval); + ref = *hslot; *hslot = ip; + + if (1 +#if INIT_HTAB + && ref < ip /* the next test will actually take care of this, but this is faster */ +#endif + && (off = ip - ref - 1) < MAX_OFF + && ip + 4 < in_end + && ref > (u8 *)in_data +#if STRICT_ALIGN + && ref[0] == ip[0] + && ref[1] == ip[1] + && ref[2] == ip[2] +#else + && *(u16 *)ref == *(u16 *)ip + && ref[2] == ip[2] +#endif + ) + { + /* match found at *ref++ */ + unsigned int len = 2; + unsigned int maxlen = in_end - ip - len; + maxlen = maxlen > MAX_REF ? MAX_REF : maxlen; + + if (expect_false (op + 3 + 1 >= out_end)) /* first a faster conservative test */ + if (op - !lit + 3 + 1 >= out_end) /* second the exact but rare test */ + return 0; + + op [- lit - 1] = lit - 1; /* stop run */ + op -= !lit; /* undo run if length is zero */ + + for (;;) + { + if (expect_true (maxlen > 16)) + { + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + len++; if (ref [len] != ip [len]) break; + } + + do + len++; + while (len < maxlen && ref[len] == ip[len]); + + break; + } + + len -= 2; /* len is now #octets - 1 */ + ip++; + + if (len < 7) + { + *op++ = (off >> 8) + (len << 5); + } + else + { + *op++ = (off >> 8) + ( 7 << 5); + *op++ = len - 7; + } + + *op++ = off; + lit = 0; op++; /* start run */ + + ip += len + 1; + + if (expect_false (ip >= in_end - 2)) + break; + +#if ULTRA_FAST || VERY_FAST + --ip; +# if VERY_FAST && !ULTRA_FAST + --ip; +# endif + hval = FRST (ip); + + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip; + ip++; + +# if VERY_FAST && !ULTRA_FAST + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip; + ip++; +# endif +#else + ip -= len + 1; + + do + { + hval = NEXT (hval, ip); + htab[IDX (hval)] = ip; + ip++; + } + while (len--); +#endif + } + else + { + /* one more literal byte we must copy */ + if (expect_false (op >= out_end)) + return 0; + + lit++; *op++ = *ip++; + + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } + } + } + + if (op + 3 > out_end) /* at most 3 bytes can be missing here */ + return 0; + + while (ip < in_end) + { + lit++; *op++ = *ip++; + + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } + } + + op [- lit - 1] = lit - 1; /* end run */ + op -= !lit; /* undo run if length is zero */ + + return op - (u8 *)out_data; +} diff --git a/src/lzf/lzf_d.c b/src/lzf/lzf_d.c new file mode 100644 index 00000000..cc665259 --- /dev/null +++ b/src/lzf/lzf_d.c @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2000-2007 Marc Alexander Lehmann + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER- + * CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPE- + * CIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH- + * ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Alternatively, the contents of this file may be used under the terms of + * the GNU General Public License ("GPL") version 2 or any later version, + * in which case the provisions of the GPL are applicable instead of + * the above. If you wish to allow the use of your version of this file + * only under the terms of the GPL and not to allow others to use your + * version of this file under the BSD license, indicate your decision + * by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL. If you do not delete the + * provisions above, a recipient may use your version of this file under + * either the BSD or the GPL. + */ + +#include "lzfP.h" + +#if AVOID_ERRNO +# define SET_ERRNO(n) +#else +# include +# define SET_ERRNO(n) errno = (n) +#endif + +/* ASM is slower than C in HDF5 tests -- A.C. 2/5/09 +#ifndef __STRICT_ANSI__ +#ifndef H5PY_DISABLE_LZF_ASM +#if (__i386 || __amd64) && __GNUC__ >= 3 +# define lzf_movsb(dst, src, len) \ + asm ("rep movsb" \ + : "=D" (dst), "=S" (src), "=c" (len) \ + : "0" (dst), "1" (src), "2" (len)); +#endif +#endif +#endif +*/ + +unsigned int +lzf_decompress (const void *const in_data, unsigned int in_len, + void *out_data, unsigned int out_len) +{ + u8 const *ip = (const u8 *)in_data; + u8 *op = (u8 *)out_data; + u8 const *const in_end = ip + in_len; + u8 *const out_end = op + out_len; + + do + { + unsigned int ctrl = *ip++; + + if (ctrl < (1 << 5)) /* literal run */ + { + ctrl++; + + if (op + ctrl > out_end) + { + SET_ERRNO (E2BIG); + return 0; + } + +#if CHECK_INPUT + if (ip + ctrl > in_end) + { + SET_ERRNO (EINVAL); + return 0; + } +#endif + +#ifdef lzf_movsb + lzf_movsb (op, ip, ctrl); +#else + do + *op++ = *ip++; + while (--ctrl); +#endif + } + else /* back reference */ + { + unsigned int len = ctrl >> 5; + + u8 *ref = op - ((ctrl & 0x1f) << 8) - 1; + +#if CHECK_INPUT + if (ip >= in_end) + { + SET_ERRNO (EINVAL); + return 0; + } +#endif + if (len == 7) + { + len += *ip++; +#if CHECK_INPUT + if (ip >= in_end) + { + SET_ERRNO (EINVAL); + return 0; + } +#endif + } + + ref -= *ip++; + + if (op + len + 2 > out_end) + { + SET_ERRNO (E2BIG); + return 0; + } + + if (ref < (u8 *)out_data) + { + SET_ERRNO (EINVAL); + return 0; + } + +#ifdef lzf_movsb + len += 2; + lzf_movsb (op, ref, len); +#else + *op++ = *ref++; + *op++ = *ref++; + + do + *op++ = *ref++; + while (--len); +#endif + } + } + while (ip < in_end); + + return op - (u8 *)out_data; +} diff --git a/src/lzf_filter.c b/src/lzf_filter.c new file mode 100644 index 00000000..1b973be6 --- /dev/null +++ b/src/lzf_filter.c @@ -0,0 +1,260 @@ +/***** Preamble block ********************************************************* +* +* This file is part of h5py, a low-level Python interface to the HDF5 library. +* +* Copyright (C) 2008 Andrew Collette +* http://h5py.alfven.org +* License: BSD (See LICENSE.txt for full license) +* +* $Date$ +* +****** End preamble block ****************************************************/ + +/* + Implements an LZF filter module for HDF5, using the BSD-licensed library + by Marc Alexander Lehmann (http://www.goof.com/pcg/marc/liblzf.html). + + No Python-specific code is used. The filter behaves like the DEFLATE + filter, in that it is called for every type and space, and returns 0 + if the data cannot be compressed. + + The only public function is (int) register_lzf(void), which passes on + the result from H5Zregister. +*/ + +#include +#include +#include +#include "hdf5.h" +#include "lzf/lzf.h" +#include "lzf_filter.h" + +/* Our own versions of H5Epush_sim, as it changed in 1.8 */ +#if H5_VERS_MAJOR == 1 && H5_VERS_MINOR < 7 + +#define PUSH_ERR(func, minor, str) H5Epush(__FILE__, func, __LINE__, H5E_PLINE, minor, str) +#define H5PY_GET_FILTER H5Pget_filter_by_id + +#else + +#define PUSH_ERR(func, minor, str) H5Epush1(__FILE__, func, __LINE__, H5E_PLINE, minor, str) +#define H5PY_GET_FILTER(a,b,c,d,e,f,g) H5Pget_filter_by_id2(a,b,c,d,e,f,g,NULL) + +#endif + +/* Deal with the multiple definitions for H5Z_class_t. + Note: Only HDF5 1.6 and 1.8 are supported. + + (1) The old class should always be used for HDF5 1.6 + (2) The new class should always be used for HDF5 1.8 < 1.8.3 + (3) The old class should be used for HDF5 1.8 >= 1.8.3 only if the + macro H5_USE_16_API is set +*/ + +#if H5_VERS_MAJOR == 1 && H5_VERS_MINOR == 8 && (H5_VERS_RELEASE < 3 || !H5_USE_16_API) +#define H5PY_H5Z_NEWCLS 1 +#else +#define H5PY_H5Z_NEWCLS 0 +#endif + +size_t lzf_filter(unsigned flags, size_t cd_nelmts, + const unsigned cd_values[], size_t nbytes, + size_t *buf_size, void **buf); + +herr_t lzf_set_local(hid_t dcpl, hid_t type, hid_t space); + +#if H5PY_H5Z_NEWCLS +static const H5Z_class_t filter_class = { + H5Z_CLASS_T_VERS, + (H5Z_filter_t)(H5PY_FILTER_LZF), + 1, 1, + "lzf", + NULL, + (H5Z_set_local_func_t)(lzf_set_local), + (H5Z_func_t)(lzf_filter) +}; +#else +static const H5Z_class_t filter_class = { + (H5Z_filter_t)(H5PY_FILTER_LZF), + "lzf", + NULL, + (H5Z_set_local_func_t)(lzf_set_local), + (H5Z_func_t)(lzf_filter) +}; +#endif + +/* Support dynamical loading of LZF filter plugin */ +#if defined(H5_VERSION_GE) +#if H5_VERSION_GE(1, 8, 11) + +#include "H5PLextern.h" + +H5PL_type_t H5PLget_plugin_type(void){ return H5PL_TYPE_FILTER; } + +const void *H5PLget_plugin_info(void){ return &filter_class; } + +#endif +#endif + +/* Try to register the filter, passing on the HDF5 return value */ +int register_lzf(void){ + + int retval; + + retval = H5Zregister(&filter_class); + if(retval<0){ + PUSH_ERR("register_lzf", H5E_CANTREGISTER, "Can't register LZF filter"); + } + return retval; +} + +/* Filter setup. Records the following inside the DCPL: + + 1. If version information is not present, set slots 0 and 1 to the filter + revision and LZF API version, respectively. + + 2. Compute the chunk size in bytes and store it in slot 2. +*/ +herr_t lzf_set_local(hid_t dcpl, hid_t type, hid_t space){ + + int ndims; + int i; + herr_t r; + + unsigned int bufsize; + hsize_t chunkdims[32]; + + unsigned int flags; + size_t nelements = 8; + unsigned values[] = {0,0,0,0,0,0,0,0}; + + r = H5PY_GET_FILTER(dcpl, H5PY_FILTER_LZF, &flags, &nelements, values, 0, NULL); + if(r<0) return -1; + + if(nelements < 3) nelements = 3; /* First 3 slots reserved. If any higher + slots are used, preserve the contents. */ + + /* It seems the H5Z_FLAG_REVERSE flag doesn't work here, so we have to be + careful not to clobber any existing version info */ + if(values[0]==0) values[0] = H5PY_FILTER_LZF_VERSION; + if(values[1]==0) values[1] = LZF_VERSION; + + ndims = H5Pget_chunk(dcpl, 32, chunkdims); + if(ndims<0) return -1; + if(ndims>32){ + PUSH_ERR("lzf_set_local", H5E_CALLBACK, "Chunk rank exceeds limit"); + return -1; + } + + bufsize = H5Tget_size(type); + if(bufsize==0) return -1; + + for(i=0;i=3)&&(cd_values[2]!=0)){ + outbuf_size = cd_values[2]; /* Precomputed buffer guess */ + }else{ + outbuf_size = (*buf_size); + } + +#ifdef H5PY_LZF_DEBUG + fprintf(stderr, "Decompress %d chunk w/buffer %d\n", nbytes, outbuf_size); +#endif + + while(!status){ + + free(outbuf); + outbuf = malloc(outbuf_size); + + if(outbuf == NULL){ + PUSH_ERR("lzf_filter", H5E_CALLBACK, "Can't allocate decompression buffer"); + goto failed; + } + + status = lzf_decompress(*buf, nbytes, outbuf, outbuf_size); + + if(!status){ /* compression failed */ + + if(errno == E2BIG){ + outbuf_size += (*buf_size); +#ifdef H5PY_LZF_DEBUG + fprintf(stderr, " Too small: %d\n", outbuf_size); +#endif + } else if(errno == EINVAL) { + + PUSH_ERR("lzf_filter", H5E_CALLBACK, "Invalid data for LZF decompression"); + goto failed; + + } else { + PUSH_ERR("lzf_filter", H5E_CALLBACK, "Unknown LZF decompression error"); + goto failed; + } + + } /* if !status */ + + } /* while !status */ + + } /* compressing vs decompressing */ + + if(status != 0){ + + free(*buf); + *buf = outbuf; + *buf_size = outbuf_size; + + return status; /* Size of compressed/decompressed data */ + } + + failed: + + free(outbuf); + return 0; + +} /* End filter function */ diff --git a/src/lzf_filter.h b/src/lzf_filter.h new file mode 120000 index 00000000..b7a994c0 --- /dev/null +++ b/src/lzf_filter.h @@ -0,0 +1 @@ +../bitshuffle/lzf/lzf_filter.h \ No newline at end of file From cdc32abcf258a4acbe655d0240709aa385e1a543 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 13 Dec 2018 02:56:46 +0000 Subject: [PATCH 149/420] Include lzf_filter.h explicitly --- src/lzf_filter.h | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) mode change 120000 => 100644 src/lzf_filter.h diff --git a/src/lzf_filter.h b/src/lzf_filter.h deleted file mode 120000 index b7a994c0..00000000 --- a/src/lzf_filter.h +++ /dev/null @@ -1 +0,0 @@ -../bitshuffle/lzf/lzf_filter.h \ No newline at end of file diff --git a/src/lzf_filter.h b/src/lzf_filter.h new file mode 100644 index 00000000..27dff83a --- /dev/null +++ b/src/lzf_filter.h @@ -0,0 +1,38 @@ +/***** Preamble block ********************************************************* +* +* This file is part of h5py, a low-level Python interface to the HDF5 library. +* +* Copyright (C) 2008 Andrew Collette +* http://h5py.alfven.org +* License: BSD (See LICENSE.txt for full license) +* +* $Date$ +* +****** End preamble block ****************************************************/ + + +#ifndef H5PY_LZF_H +#define H5PY_LZF_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Filter revision number, starting at 1 */ +#define H5PY_FILTER_LZF_VERSION 4 + +/* Filter ID registered with the HDF Group as of 2/6/09. For maintenance + requests, contact the filter author directly. */ +#define H5PY_FILTER_LZF 32000 + +/* Register the filter with the library. Returns a negative value on failure, + and a non-negative value on success. +*/ +int register_lzf(void); + +#ifdef __cplusplus +} +#endif + +#endif + From 3d7b3ea4be8c49da01623648a74820eacf8b6779 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Tue, 18 Dec 2018 13:47:28 -0500 Subject: [PATCH 150/420] Try to get antpos right this time --- src/scripts/hera_make_hdf5_template.py | 39 +++++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 01da253f..adb2d0cc 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -70,16 +70,39 @@ def get_cm_info(): return h.get_cminfo_correlator() def get_antpos_enu(antpos, lat, lon, alt): + """ + Compute the antenna positions in ENU coordinates from rotECEF. + + Args: + antpos -- array of antenna positions. Should have shape (Nants, 3). + lat (float) -- telescope latitude, in radians + lon (float) -- telescope longitude, in radians + alt (float) -- telescope altitude, in meters + + Returns: + enu -- array of antenna positions in ENU frame. Has shape (Nants, 3). + """ import pyuvdata.utils as uvutils ecef = uvutils.ECEF_from_rotECEF(antpos, lon) enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) return enu def get_telescope_location_ecef(lat, lon, alt): + """ + Compute the telescope location in ECEF coordinates from lat/lon/alt. + + Args: + lat (float) -- telescope latitude, in radians + lon (float) -- telescope longitude, in radians + alt (float) -- telescope altitude, in meters + + Returns: + ecef -- len(3) array of x,y,z values of telescope location in ECEF + coordinates, in meters. + """ import pyuvdata.utils as uvutils - xyz = uvutils.XYZ_from_LatLonAlt(lat, lon, alt) - ecef = uvutils.ECEF_from_ENU(xyz, lat, lon, alt) - return ecef + return uvutils.XYZ_from_LatLonAlt(lat, lon, alt) + def create_header(h5, use_cm=False, use_redis=False): """ @@ -106,16 +129,18 @@ def create_header(h5, use_cm=False, use_redis=False): freqs = np.linspace(0, 250e6, NCHANS_F + 1)[1536 : 1536 + (8192 // 4 * 3)] # average over channels freqs = freqs.reshape(NCHANS, NCHAN_SUM).sum(axis=1) / NCHAN_SUM - + if use_cm: cminfo = get_cm_info() # add the enu co-ords - cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], cminfo["cofa_lat"], - cminfo["cofa_lon"], cminfo["cofa_alt"]) + lat = cminfo["cofa_lat"] * np.pi / 180. + lon = cminfo["cofa_lat"] * np.pi / 180. + cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, + cminfo["cofa_alt"]) else: cminfo = None - + if use_redis: r = redis.Redis("redishost") fenginfo = r.hgetall("init_configuration") From c997550c9340b521f062f19c15e37c56c840aabf Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Fri, 4 Jan 2019 12:13:40 -0800 Subject: [PATCH 151/420] Update antpos again --- src/scripts/hera_make_hdf5_template.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index adb2d0cc..8902127a 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -87,6 +87,21 @@ def get_antpos_enu(antpos, lat, lon, alt): enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) return enu +def get_antpos_ecef(antpos, lon): + """ + Compute the antenna positions in ECEF coordinates from rotECEF + + Args: + antpos -- array of antenna positions. Should have shape (Nants, 3). + lon (float) -- telescope longitude, in radians + + Returns: + ecef -- array of antenna positions in ECEF frame. Has shape (Nants, 3) + """ + import pyuvdata.utils as uvutils + ecef = uvutils.ECEF_from_rotECEF(antpos, lon) + return ecef + def get_telescope_location_ecef(lat, lon, alt): """ Compute the telescope location in ECEF coordinates from lat/lon/alt. @@ -183,13 +198,14 @@ def create_header(h5, use_cm=False, use_redis=False): lon = cminfo['cofa_lon'] * np.pi / 180. alt = cminfo['cofa_alt'] telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) + antpos_ecef = get_antpos_ecef(cminfo["antenna_positions"], lon) header.create_dataset("altitude", dtype=" Date: Sat, 19 Jan 2019 22:36:00 +0000 Subject: [PATCH 152/420] Propagate tags into data files --- src/scripts/catcher_up.py | 3 ++- src/scripts/hera_make_hdf5_template.py | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/scripts/catcher_up.py b/src/scripts/catcher_up.py index 2358acd2..38d5ae92 100755 --- a/src/scripts/catcher_up.py +++ b/src/scripts/catcher_up.py @@ -32,6 +32,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Place to put HDF5 header template file') parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') +parser.add_argument('--tag', dest='tag', type=str, default='None', help='User-supplied tag for this data run') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) @@ -55,7 +56,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(15) # Generate the meta-data template -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) +run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-t', args.tag, '-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 8902127a..5c8a8434 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -119,7 +119,7 @@ def get_telescope_location_ecef(lat, lon, alt): return uvutils.XYZ_from_LatLonAlt(lat, lon, alt) -def create_header(h5, use_cm=False, use_redis=False): +def create_header(h5, use_cm=False, use_redis=False, tag=None): """ Create an HDF5 file with appropriate datasets in a "Header" data group. @@ -183,7 +183,8 @@ def create_header(h5, use_cm=False, use_redis=False): header.create_dataset("antenna_diameters", dtype=" Date: Sun, 20 Jan 2019 01:37:02 +0000 Subject: [PATCH 153/420] Separate catcher_up and data collection. Add tags 1. Separate catcher_up into a script that brings up the catcher pipeline and another that triggers data collection. Multiple data collection triggers can be run without restarting the pipeline. 2. Add tags to dataset headers, dynamically set when each new data collection run is triggers. 3. Rename catcher scripts to begin with the "hera_" prefix --- src/Makefile.am | 7 ++-- .../{catcher_down.sh => hera_catcher_down.sh} | 0 .../{catcher_init.sh => hera_catcher_init.sh} | 0 src/scripts/hera_catcher_take_data.py | 37 +++++++++++++++++++ .../{catcher_up.py => hera_catcher_up.py} | 7 +--- 5 files changed, 43 insertions(+), 8 deletions(-) rename src/scripts/{catcher_down.sh => hera_catcher_down.sh} (100%) rename src/scripts/{catcher_init.sh => hera_catcher_init.sh} (100%) create mode 100644 src/scripts/hera_catcher_take_data.py rename src/scripts/{catcher_up.py => hera_catcher_up.py} (89%) diff --git a/src/Makefile.am b/src/Makefile.am index aafab087..bb7182b6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,9 +62,10 @@ dist_bin_SCRIPTS = scripts/paper_init.sh \ scripts/paper_crc_init.sh \ scripts/xtor_down.sh \ scripts/xtor_up.py \ - scripts/catcher_init.sh \ - scripts/catcher_up.py \ - scripts/catcher_down.sh \ + scripts/hera_catcher_init.sh \ + scripts/hera_catcher_up.py \ + scripts/hera_catcher_down.sh \ + scripts/hera_catcher_take_data.py \ scripts/tweak-perf.sh \ scripts/hera_ctl.py \ scripts/hera_make_hdf5_template.py diff --git a/src/scripts/catcher_down.sh b/src/scripts/hera_catcher_down.sh similarity index 100% rename from src/scripts/catcher_down.sh rename to src/scripts/hera_catcher_down.sh diff --git a/src/scripts/catcher_init.sh b/src/scripts/hera_catcher_init.sh similarity index 100% rename from src/scripts/catcher_init.sh rename to src/scripts/hera_catcher_init.sh diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py new file mode 100644 index 00000000..4a58601e --- /dev/null +++ b/src/scripts/hera_catcher_take_data.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python + +import redis +import time +import argparse +import subprocess + +parser = argparse.ArgumentParser(description='Trigger data collection on the HERA catcher node', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + +parser.add_argument('host', type=str, help='Host on which to capture data') +parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') +parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') +parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') +parser.add_argument('-t', dest='tag', type=str, default='none', help='A descriptive tag to go into data files') + +args = parser.parse_args() + +r = redis.Redis(args.redishost) + +if len(args.tag) > 127: + raise ValueError("Tag argument must be <127 characters!") + +#Configure runtime parameters +catcher_dict = { + 'MSPERFIL' : args.msperfile, + 'NFILES' : args.nfiles, + 'TAG' : args.tag, +} + +pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) +for key, val in catcher_dict.iteritems(): + r.publish(pubchan, '%s=%s' % (key, val)) + +# Only trigger after the other parameters have had ample time to write +time.sleep(0.1) +r.publish(pubchan, "TRIGGER=1") diff --git a/src/scripts/catcher_up.py b/src/scripts/hera_catcher_up.py similarity index 89% rename from src/scripts/catcher_up.py rename to src/scripts/hera_catcher_up.py index 2358acd2..c8d03fac 100755 --- a/src/scripts/catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -6,7 +6,7 @@ import subprocess perf_tweaker = 'tweak-perf-sn.sh' -init = 'catcher_init.sh' +init = 'hera_catcher_init.sh' python_source_cmd = ['source', '~/hera-venv/bin/activate'] template_cmd = ['hera_make_hdf5_template.py'] @@ -30,8 +30,6 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') -parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') -parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) @@ -60,8 +58,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): #Configure runtime parameters catcher_dict = { 'HDF5TPLT' : args.hdf5template, - 'MSPERFIL' : args.msperfile, - 'NFILES' : args.nfiles, + 'NFILES' : 0, 'SYNCTIME' : r['corr:feng_sync_time'], 'INTTIME' : r['corr:acc_len'], 'TRIGGER' : 0, From 11234751b2e56cad6360fe0d5c83f8da9f2fe528 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 20 Jan 2019 01:40:34 +0000 Subject: [PATCH 154/420] Missing from commit 7b4c9258f6b52588 Actual changes to underlying disk writer code --- src/hera_catcher_disk_thread.c | 64 +++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 3832f5c2..c200ff9a 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -300,7 +300,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) #define VERSION_BYTES 32 -static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t) { +static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t, char* tag) { hid_t dataset_id; hid_t memtype; hid_t stat; @@ -334,6 +334,25 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui make_extensible_headers_hdf5(id); // Write meta-data values we know at file-open + // Write data tag + memtype = H5Tcopy(H5T_C_S1); + stat = H5Tset_size(memtype, 128); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to set size of tag memtype"); + } + dataset_id = H5Dopen(id->header_gid, "tag", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/tag"); + } + stat = H5Dwrite(dataset_id, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, tag); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/tag"); + } + stat = H5Dclose(dataset_id); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/tag"); + } + dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/obs_id"); @@ -694,10 +713,12 @@ static void *run(hashpipe_thread_args_t * args) uint32_t sync_time = 0; double gps_time; double julian_time; + // Variables for data collection parameters uint32_t acc_len; uint32_t nfiles; uint32_t file_cnt = 0; uint32_t trigger = 0; + char tag[128]; // Variables for antenna positions and baseline orders. These should be provided // via the HDF5 header template. @@ -779,8 +800,6 @@ static void *run(hashpipe_thread_args_t * args) while (run_threads()) { // Note waiting status, - // query integrating status - // and, if armed, start count hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "waiting"); hashpipe_status_unlock_safe(&st); @@ -817,6 +836,11 @@ static void *run(hashpipe_thread_args_t * args) // Get the number of files to write hgetu4(st.buf, "NFILES", &nfiles); + // Update the status with how many files we've already written + hputu4(st.buf, "NDONEFIL", file_cnt); + + // Data tag + hgets(st.buf, "TAG", 128, tag); // Get the number of files to write hgetu4(st.buf, "TRIGGER", &trigger); @@ -825,22 +849,20 @@ static void *run(hashpipe_thread_args_t * args) // If we have written all the files we were commanded to // start marking blocks as done and idling until a new // trigger is received - if (file_cnt >= nfiles) { - if (trigger) { - fprintf(stdout, "Catcher got a new trigger and will write %d files\n", nfiles); - file_cnt = 0; - hashpipe_status_lock_safe(&st); - hputu4(st.buf, "TRIGGER", 0); - hashpipe_status_unlock_safe(&st); - } else { - // Mark input block as free and advance - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); - pthread_exit(NULL); - } - curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; - continue; + if (trigger) { + fprintf(stdout, "Catcher got a new trigger and will write %d files\n", nfiles); + file_cnt = 0; + hashpipe_status_lock_safe(&st); + hputu4(st.buf, "TRIGGER", 0); + hashpipe_status_unlock_safe(&st); + } else if (file_cnt >= nfiles) { + // Mark input block as free and advance + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + continue; } // Got a new data block, update status @@ -886,10 +908,10 @@ static void *run(hashpipe_thread_args_t * args) file_obs_id = (int64_t)gps_time; sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); - start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t); + start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); - start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t); + start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); // Get the antenna positions and baseline orders // These are needed for populating the ant_[1|2]_array and uvw_array get_ant_pos(&sum_file, ant_pos); @@ -959,7 +981,7 @@ static void *run(hashpipe_thread_args_t * args) // Don't divide out integration over frequency channels (if any) auto_corr_n[chan] = (float) db_in32[hera_catcher_input_databuf_by_bl_idx32(xeng, auto_indices[a]) + (N_STOKES*2*TIME_DEMUX*xchan)] / acc_len; auto_corr_e[chan] = (float) db_in32[hera_catcher_input_databuf_by_bl_idx32(xeng, auto_indices[a]) + (N_STOKES*2*TIME_DEMUX*xchan) + 2] / acc_len; - fprintf(stdout, "ant %d: chan %d, xeng: %d, xchan: %d, val: %f\n", a, chan, xeng, xchan, auto_corr_n[chan]); + //fprintf(stdout, "ant %d: chan %d, xeng: %d, xchan: %d, val: %f\n", a, chan, xeng, xchan, auto_corr_n[chan]); } } reply = redisCommand(c, "SET auto:%dn %b", a, auto_corr_n, (size_t) (sizeof(float) * N_CHAN_PROCESSED)); From ebaba7debf67c04370c245c3d13ec4ffc9d49146 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 20 Jan 2019 01:52:54 +0000 Subject: [PATCH 155/420] Populate template header with tag entry Defaults to unknown until filled in by receiver. Also move tag entry to "extra_keywords" --- src/hera_catcher_disk_thread.c | 2 +- src/scripts/hera_make_hdf5_template.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index c200ff9a..f40aa519 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -340,7 +340,7 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (stat < 0) { hashpipe_error(__FUNCTION__, "Failed to set size of tag memtype"); } - dataset_id = H5Dopen(id->header_gid, "tag", H5P_DEFAULT); + dataset_id = H5Dopen(id->extra_keywords_gid, "tag", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/tag"); } diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 8902127a..b436590e 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -252,6 +252,7 @@ def add_extra_keywords(obj, cminfo=None, fenginfo=None): extras.create_dataset("startt", dtype=" Date: Sun, 20 Jan 2019 02:05:03 +0000 Subject: [PATCH 156/420] Add git version to status buffer keys --- src/hera_catcher_net_thread.c | 2 ++ src/hera_pktsock_thread.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 1d98edf8..6ec5fa5d 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -283,6 +283,8 @@ static int init(hashpipe_thread_args_t *args) hashpipe_status_t st = args->st; hashpipe_status_lock_safe(&st); + // Record version + hputs(st.buf, "GIT_VER", GIT_VERSION); // Get info from status buffer if present (no change if not present) hgets(st.buf, "BINDHOST", 80, bindhost); hgeti4(st.buf, "BINDPORT", &bindport); diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 19296615..9fbdb60d 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -569,6 +569,8 @@ static int init(hashpipe_thread_args_t *args) hashpipe_status_t st = args->st; hashpipe_status_lock_safe(&st); + // Record version + hputs(st.buf, "GIT_VER", GIT_VERSION); // Get info from status buffer if present (no change if not present) hgets(st.buf, "BINDHOST", 80, bindhost); hgeti4(st.buf, "BINDPORT", &bindport); From 7510bb1615d0cf192c6024c6fe33860edbd1086f Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 20 Jan 2019 02:07:11 +0000 Subject: [PATCH 157/420] Revert "Propagate tags into data files" This reverts commit 3618afece023ce24927f3d241efa46488ab628bb. This functionality is built in to changes enabling multiple triggering of the data catcher --- src/scripts/catcher_up.py | 3 +-- src/scripts/hera_make_hdf5_template.py | 8 +++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/scripts/catcher_up.py b/src/scripts/catcher_up.py index 38d5ae92..2358acd2 100755 --- a/src/scripts/catcher_up.py +++ b/src/scripts/catcher_up.py @@ -32,7 +32,6 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Place to put HDF5 header template file') parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') -parser.add_argument('--tag', dest='tag', type=str, default='None', help='User-supplied tag for this data run') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) @@ -56,7 +55,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(15) # Generate the meta-data template -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-t', args.tag, '-c', '-r', args.hdf5template], wait=True) +run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 5c8a8434..8902127a 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -119,7 +119,7 @@ def get_telescope_location_ecef(lat, lon, alt): return uvutils.XYZ_from_LatLonAlt(lat, lon, alt) -def create_header(h5, use_cm=False, use_redis=False, tag=None): +def create_header(h5, use_cm=False, use_redis=False): """ Create an HDF5 file with appropriate datasets in a "Header" data group. @@ -183,8 +183,7 @@ def create_header(h5, use_cm=False, use_redis=False, tag=None): header.create_dataset("antenna_diameters", dtype=" Date: Sun, 20 Jan 2019 02:15:29 +0000 Subject: [PATCH 158/420] Rename so as not to confuse with (eg) SNAP command handler --- src/scripts/{hera_cmd_handler.py => hera_corr_cmd_handler.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/scripts/{hera_cmd_handler.py => hera_corr_cmd_handler.py} (100%) diff --git a/src/scripts/hera_cmd_handler.py b/src/scripts/hera_corr_cmd_handler.py similarity index 100% rename from src/scripts/hera_cmd_handler.py rename to src/scripts/hera_corr_cmd_handler.py From 2186cee3df44e6245a438deb41eebf5f480d463b Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 20 Jan 2019 23:40:04 +0000 Subject: [PATCH 159/420] Move command handler out of this repo and into hera_corr_cm --- src/Makefile.am | 20 +++++----- src/scripts/hera_corr_cmd_handler.py | 56 ---------------------------- 2 files changed, 10 insertions(+), 66 deletions(-) delete mode 100755 src/scripts/hera_corr_cmd_handler.py diff --git a/src/Makefile.am b/src/Makefile.am index bb7182b6..a63eacb9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -59,16 +59,16 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 -lhiredis # Installed scripts dist_bin_SCRIPTS = scripts/paper_init.sh \ - scripts/paper_crc_init.sh \ - scripts/xtor_down.sh \ - scripts/xtor_up.py \ - scripts/hera_catcher_init.sh \ - scripts/hera_catcher_up.py \ - scripts/hera_catcher_down.sh \ - scripts/hera_catcher_take_data.py \ - scripts/tweak-perf.sh \ - scripts/hera_ctl.py \ - scripts/hera_make_hdf5_template.py + scripts/paper_crc_init.sh \ + scripts/xtor_down.sh \ + scripts/xtor_up.py \ + scripts/hera_catcher_init.sh \ + scripts/hera_catcher_up.py \ + scripts/hera_catcher_down.sh \ + scripts/hera_catcher_take_data.py \ + scripts/tweak-perf.sh \ + scripts/hera_ctl.py \ + scripts/hera_make_hdf5_template.py # Non-installed test programs noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 diff --git a/src/scripts/hera_corr_cmd_handler.py b/src/scripts/hera_corr_cmd_handler.py deleted file mode 100755 index 05f55186..00000000 --- a/src/scripts/hera_corr_cmd_handler.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python -import redis -import time -import json -import argparse -from subprocess import Popen, PIPE - -def send_response(r, command, time, **kwargs): - message_dict = {"command":command, "time":time, "args":kwargs} - n = r.publish("corr:response", json.dumps(message_dict)) - print n - -def start_capture(starttime, duration, acclen, flags): - proc = Popen(["hera_ctl.py", "start", "-n", "%d" % acclen, "-t", "%f" % starttime]) - proc.wait() - -def stop_capture(): - proc = Popen(["hera_ctl.py", "stop"]) - proc.wait() - -def cmd_handler(r, message, testmode=False): - d = json.loads(message) - command = d["command"] - time = d["time"] - args = d["args"] - if testmode: - print "Got command:", command - print " args:", args - return - if command == "record": - start_capture(args["starttime"], args["duration"], args["acclen"], args["tag"]) - starttime = float(r["corr:trig_time"]) - send_response(r, command, time, starttime=starttime) - elif command == "stop": - stop_capture() - send_response(r, command, time) - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Process commands from the corr:message redis channel.', - formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument('-r', dest='redishost', type=str, default='redishost', - help ='Hostname of redis server') - parser.add_argument('-t', dest='testmode', action='store_true', default=False, - help ='Use this flag to run in test mode, where no commands are executed') - args = parser.parse_args() - - r = redis.Redis(args.redishost) - - cmd_chan = r.pubsub() - cmd_chan.subscribe("corr:message") - cmd_chan.get_message(timeout=0.1) - - while(True): - message = cmd_chan.get_message(timeout=5) - if message is not None: - cmd_handler(r, message["data"], testmode=args.testmode) From 7e1e3802a74decd6d1cbc53ad00049b65a9093d6 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 21 Jan 2019 00:13:04 +0000 Subject: [PATCH 160/420] Update "corr:is_taking_data" key to indicate state --- src/hera_catcher_disk_thread.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index f40aa519..c1df94a6 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -746,6 +746,7 @@ static void *run(hashpipe_thread_args_t * args) const char *hostname = "redishost"; int redisport = 6379; int use_redis = 1; + int idle = 0; use_redis = use_redis; struct timeval redistimeout = { 0, 100000 }; // 0.1 seconds @@ -761,6 +762,10 @@ static void *run(hashpipe_thread_args_t * args) } } + // Indicate via redis that we're started but not taking data + redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + redisCommand(c, "EXPIRE corr:is_taking_data 60"); + /* Loop(s) */ int32_t *db_in32; int rv; @@ -801,9 +806,17 @@ static void *run(hashpipe_thread_args_t * args) while (run_threads()) { // Note waiting status, hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "waiting"); + if (idle) { + hputs(st.buf, status_key, "idle"); + } else { + hputs(st.buf, status_key, "waiting"); + } hashpipe_status_unlock_safe(&st); + // Expire the "corr:is_taking_data" key after 60 seconds. + // If this pipeline goes down, we will know because the key will disappear + redisCommand(c, "EXPIRE corr:is_taking_data 60"); + // Wait for new input block to be filled while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, curblock_in)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { @@ -855,7 +868,19 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputu4(st.buf, "TRIGGER", 0); hashpipe_status_unlock_safe(&st); + idle = 0; + if (use_redis) { + // Create the "corr:is_taking_data" hash. This will be set to state=False + // when data taking is complete. Or if this pipeline exits the key will expire. + redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); + } } else if (file_cnt >= nfiles) { + // If we're transitioning to idle state + // Indicate via redis that we're no longer taking data + if (!idle) { + redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + } + idle = 1; // Mark input block as free and advance if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); @@ -865,6 +890,12 @@ static void *run(hashpipe_thread_args_t * args) continue; } + // If we make it to here we're not idle any more. + // Usually this would mean there has been another trigger but + // it could be some weirdness where someone tried to take more + // data by incrementing NFILES without retriggering. + idle = 0; + // Got a new data block, update status hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "writing"); From 630c8896633f5086aecbf9c28aed29daeabb3ef7 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Thu, 7 Feb 2019 12:29:34 -0500 Subject: [PATCH 161/420] Replace pickle dumps with json dumps --- src/scripts/hera_make_hdf5_template.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index b436590e..a3ef20ef 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -7,7 +7,7 @@ import logging import numpy as np import time -import pickle +import copy import redis from hera_corr_f import helpers @@ -238,12 +238,16 @@ def add_extra_keywords(obj, cminfo=None, fenginfo=None): extras = obj.create_group("extra_keywords") if cminfo is not None: extras.create_dataset("cmver", data=np.string_(cminfo["cm_version"])) - extras.create_dataset("cminfo", data=np.string_(pickle.dumps(cminfo))) + # we need to convert antenna_positions to a list for json to play nicely + cminfo_copy = copy.deepcopy(cminfo) + cminfo_copy["antenna_positions"] = cminfo_copy["antenna_positions"].tolist() + extras.create_dataset("cminfo", data=np.string_(json.dumps(cminfo_copy))) + del(cminfo_copy) else: extras.create_dataset("cmver", data=np.string_("generated-without-cminfo")) extras.create_dataset("cminfo", data=np.string_("generated-without-cminfo")) - if fenginfo is not None: - extras.create_dataset("finfo", data=np.string_(pickle.dumps(fenginfo))) + if fenginfo is not None: + extras.create_dataset("finfo", data=np.string_(json.dumps(fenginfo))) else: extras.create_dataset("finfo", data=np.string_("generated-without-redis")) #extras.create_dataset("st_type", data=np.string_("???")) From a06a410fded5ccffdf3885e0420872d2a0e57a50 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 17 Feb 2019 06:51:48 +0000 Subject: [PATCH 162/420] Populate nsamples array For now, all baselines must have the same integration length. I.e., BDA not supported. --- src/hera_catcher_disk_thread.c | 38 ++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index c1df94a6..f1f430b6 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -439,8 +439,8 @@ static void close_filespaces(hdf5_id_t *id) { /* - * Write an n_baselines x N_CHAN_PROCESSED x N_STOKES - * data block to dataset `id` at time position `txn_baselines` + * Write a N_BL_PER_WRITE x N_CHAN_PROCESSED x N_STOKES + * data block to dataset `id` at time position `t` and baseline offset `b` */ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, uint64_t *visdata_buf) { @@ -450,6 +450,18 @@ static void write_channels(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); } +/* + * Write an N_BL_PER_WRITE x N_CHAN_PROCESSED x N_STOKES + * data block to dataset `id` at time position `t` and baseline offset `b`. +*/ +static void write_nsamples(hdf5_id_t *id, hsize_t t, hsize_t b, hid_t mem_space, float *nsamples_buf) +{ + hsize_t start[N_DATA_DIMS] = {t*VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES + b, 0, 0, 0}; + hsize_t count[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; + H5Sselect_hyperslab(id->nsamples_fs, H5S_SELECT_SET, start, NULL, count, NULL); + H5Dwrite(id->nsamples_did, H5T_IEEE_F32LE, mem_space, id->nsamples_fs, H5P_DEFAULT, nsamples_buf); +} + /* Write Nbls entries into the integration_time and time_array arrays. Write Nbls x 3 entries into uvw_array */ @@ -574,6 +586,16 @@ static void compute_time_array(double time, double *time_buf) } } +/* Copy a single value into N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES elements + * of an array. +*/ +static void compute_nsamples_array(float nsamples, float *nsamples_array){ + int i; + for (i=0; i<(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES); i++) { + nsamples_array[i] = nsamples; + } +} + static void compute_integration_time_array(double integration_time, double *integration_time_buf) { int i; @@ -789,8 +811,7 @@ static void *run(hashpipe_thread_args_t * args) // Allocate an array of bools for flags and n_samples hbool_t *flags = (hbool_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(hbool_t)); //TODO flags never get written - uint64_t *nsamples = (uint64_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED* sizeof(uint64_t)); - //TODO nsamples never gets written + float *nsamples = (float *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); // Define the memory space used by these buffers for HDF5 access // We write N_BL_PER_WRITE x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time @@ -952,7 +973,7 @@ static void *run(hashpipe_thread_args_t * args) // Update time and sample counters file_stop_t = gps_time; - file_duration = file_stop_t - file_start_t; //really want a +1 * acc_len here + file_duration = file_stop_t - file_start_t; //TODO: really want a +1 * acc_len here file_nblts += VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES; file_nts += 1; @@ -970,6 +991,10 @@ static void *run(hashpipe_thread_args_t * args) compute_uvw_array(uvw_array_buf, ant_pos, bl_order); compute_time_array(julian_time, time_array_buf); compute_integration_time_array(acc_len * TIME_DEMUX * 2L * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE, integration_time_buf); + // TODO We calculate nsamples once per integration, and assume that all baseline blocks have the same nsample values. + // This will not be true once BDA is implemented. + // Values of nsamples should be populated only in the baseline write loop, below. + compute_nsamples_array((float)(acc_len * TIME_DEMUX), nsamples); write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); @@ -980,12 +1005,13 @@ static void *run(hashpipe_thread_args_t * args) //write data to file clock_gettime(CLOCK_MONOTONIC, &w_start); write_channels(&sum_file, file_nts-1, bl, mem_space, (uint64_t *)bl_buf_sum); + write_nsamples(&sum_file, file_nts-1, bl, mem_space, nsamples); #ifndef SKIP_DIFF write_channels(&diff_file, file_nts-1, bl, mem_space, (uint64_t *)bl_buf_diff); + write_nsamples(&diff_file, file_nts-1, bl, mem_space, nsamples); #endif clock_gettime(CLOCK_MONOTONIC, &w_stop); flags = flags; - nsamples = nsamples; t_ns = ELAPSED_NS(t_start, w_start); w_ns = ELAPSED_NS(w_start, w_stop); From 2cf664f229e8d6a10dbd4eec6c57985ab70e7945 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 18 Feb 2019 07:53:40 +0000 Subject: [PATCH 163/420] Change nsamples to 1.0 nsamples is *not* the number of samples (spectra) in an integration, it is the number of integration_time samples in the resulting baseline. --- src/hera_catcher_disk_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index f1f430b6..1b4c356b 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -994,7 +994,7 @@ static void *run(hashpipe_thread_args_t * args) // TODO We calculate nsamples once per integration, and assume that all baseline blocks have the same nsample values. // This will not be true once BDA is implemented. // Values of nsamples should be populated only in the baseline write loop, below. - compute_nsamples_array((float)(acc_len * TIME_DEMUX), nsamples); + compute_nsamples_array(1.0, nsamples); write_extensible_headers(&sum_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); write_extensible_headers(&diff_file, file_nts-1, mem_space1, mem_space2, integration_time_buf, time_array_buf, uvw_array_buf, bl_order); From a830e9186addbbf87c8f47c457ddb363691d49cc Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 21 Feb 2019 19:02:18 -0800 Subject: [PATCH 164/420] add baseline dependent averaging to the output thread --- src/Makefile.am | 17 +-- src/hera_fake_gpu_thread.c | 167 ++++++++++++++++++++++++++++ src/hera_gpu_bda_thread.c | 219 +++++++++++++++++++++++++++++++++++++ src/paper_databuf.h | 22 ++++ 4 files changed, 417 insertions(+), 8 deletions(-) create mode 100644 src/hera_fake_gpu_thread.c create mode 100644 src/hera_gpu_bda_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index a63eacb9..c1db68c7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -19,15 +19,16 @@ AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -f # Convenience variables to group source files paper_databuf = paper_databuf.h \ - paper_databuf.c + paper_databuf.c paper_threads = paper_fake_net_thread.c \ - paper_gpu_cpu_output_thread.c \ - paper_gpu_output_thread.c \ - paper_gpu_thread.c \ - paper_fluff_thread.c \ - hera_pktsock_thread.c \ - paper_crc_thread.c \ + paper_gpu_cpu_output_thread.c \ + paper_gpu_output_thread.c \ + paper_gpu_thread.c \ + paper_fluff_thread.c \ + hera_pktsock_thread.c \ + hera_fake_gpu_thread.c \ + paper_crc_thread.c \ hera_catcher_net_thread.c \ hera_catcher_disk_thread.c \ hera_gpu_output_thread.c \ @@ -37,7 +38,7 @@ paper_threads = paper_fake_net_thread.c \ lzf_filter.h paper_fluff = paper_fluff.h \ - paper_fluff.c + paper_fluff.c hera_capture = hera_hdf5.h \ hera_write_hdf5.c diff --git a/src/hera_fake_gpu_thread.c b/src/hera_fake_gpu_thread.c new file mode 100644 index 00000000..58581ae5 --- /dev/null +++ b/src/hera_fake_gpu_thread.c @@ -0,0 +1,167 @@ +/* Populates a GPU output buffer with fake data + to enable testing of the pipeline downstream. + Mostly, baseline dependent integration +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +#include "hashpipe.h" +#include "paper_databuf.h" + +static XGPUInfo xgpu_info; + +// Computes the triangular index of an (i,j) pair as shown here... +// NB: Output is valid only if i >= j. +// +// i=0 1 2 3 4.. +// +--------------- +// j=0 | 00 01 03 06 10 +// 1 | 02 04 07 11 +// 2 | 05 08 12 +// 3 | 09 13 +// 4 | 14 +// : +static inline off_t tri_index(const int i, const int j) +{ + return (i * (i+1))/2 + j; +} + + +// Returns index into the GPU's register tile ordered output buffer for the +// real component of the cross product of inputs in0 and in1. Note that in0 +// and in1 are input indexes (i.e. 0 based) and often represent antenna and +// polarization by passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx +// and pol_idx are also 0 based). Return value is valid if in1 >= in0. The +// corresponding imaginary component is located xgpu_info.matLength words after +// the real component. +static off_t regtile_index(const int in0, const int in1){ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; + const int num_words_per_cell = 4; + + // Index within a quadrant + const int quadrant_index = tri_index(a1/2, a0/2); + // Quadrant for this input pair + const int quadrant = 2*(a0&1) + (a1&1); + // Size of quadrant + const int quadrant_size = (xgpu_info.nstation/2 + 1) * xgpu_info.nstation/4; + // Index of cell (in units of cells) + const int cell_index = quadrant*quadrant_size + quadrant_index; + //printf("%s: in0=%d, in1=%d, a0=%d, a1=%d, cell_index=%d\n", __FUNCTION__, in0, in1, a0, a1, cell_index); + // Pol offset + const int pol_offset = 2*p1 + p0; + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; +} + +static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ + paper_output_databuf_t *db = (paper_output_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char *status_key = args->thread_desc->skey; + + /* Main loop */ + int rv; // store return of buffer status calls + uint64_t mcnt = 0; // mcnt of each block + uint32_t *data; + int in0, in1; + int block_idx = 0; + uint32_t fakedata = 0x0101; + + xgpuInfo(&xgpu_info); + + /* Test statements */ + printf("N_OUTPUT_MATRIX: %d\n",N_OUTPUT_MATRIX); + printf("N_INPUTS: %d\n",N_INPUTS); + printf("N_CHAN_PER_X: %d\n",N_CHAN_PER_X); + printf("Largest index: %ld\n",regtile_index(N_INPUTS-1,N_INPUTS-1)); + printf("xgpu.n_station: %d\n",xgpu_info.nstation); + + while (run_threads()) { + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "waiting"); + hputi4(st.buf, "FGPUBKOUT", block_idx); + hputi8(st.buf, "FGPUMCNT", mcnt); + hashpipe_status_unlock_safe(&st); + sleep(1); + + /* Wait for new block to be free, then clear it + * if necessary and fill its header with new values. + */ + while ((rv=paper_output_databuf_wait_free(db, block_idx))!= HASHPIPE_OK){ + if (rv==HASHPIPE_TIMEOUT){ + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked"); + hashpipe_status_unlock_safe(&st); + continue; + }else{ + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + break; + } + } + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "receiving"); + hashpipe_status_unlock_safe(&st); + + // Set block header + db->block[block_idx].header.mcnt = mcnt; + mcnt+=Nm; + + // Set all block data to zero + data = (uint32_t *)db->block[block_idx].data; + memset(data, 0, N_OUTPUT_MATRIX); + + // Populate block with fake data + for(in0 = 0; in0 < N_INPUTS; in0++){ + for(in1 = in0; in1 < N_INPUTS; in1++){ + //printf("%d\t %d\t %ld\n",in0,in1,regtile_index(in0,in1)); + memcpy(data+regtile_index(in0,in1), &fakedata, 4); + } + } + // Mark block as full + paper_output_databuf_set_filled(db, block_idx); + + // Setup for next block + block_idx = (block_idx + 1)%db->header.n_block; + + fprintf(stderr,"Block_id: %d\n",block_idx); + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + + // Thread success! + return THREAD_OK; + +} + +static hashpipe_thread_desc_t hera_fake_gpu_thread = { + name: "hera_fake_gpu_thread", + skey: "FGPUSTAT", + init: NULL, + run: fake_gpu_thread_run, + ibuf_desc: {NULL}, + obuf_desc: {paper_output_databuf_create} +}; + +static __attribute__((constructor)) void ctor(){ + register_hashpipe_thread(&hera_fake_gpu_thread); +} diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c new file mode 100644 index 00000000..8440687d --- /dev/null +++ b/src/hera_gpu_bda_thread.c @@ -0,0 +1,219 @@ +/* Takes the output from the GPU and + * averages over time for the shorter + * baselines according to a config file. + * Output is stored in CASPER ordered + * shared memory segments. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +#define LOG(x) ((int)(log((x))/log(2))) // yields msb loc +#define CHECK_PWR2(x) (!((x)&((x)-1))) + +typedef struct BDA_params { + int intbin_cntr[5]; // No. of baselines in each bin + int *ant_pair_0[5]; // Ant0 of pair + int *ant_pair_1[5]; // Ant1 of pair +} BDA_params_t; + +BDA_params_t bdaparams; +static XGPUInfo xgpu_info; + +// Computes the triangular index of an (i,j) pair as shown here... +// NB: Output is valid only if i >= j. +// +// i=0 1 2 3 4.. +// +--------------- +// j=0 | 00 01 03 06 10 +// 1 | 02 04 07 11 +// 2 | 05 08 12 +// 3 | 09 13 +// 4 | 14 +// : +static inline off_t tri_index(const int i, const int j) +{ + return (i * (i+1))/2 + j; +} + +// regtile_chan_length is the number of complex cross products per channel for +// the xGPU register tile order correlator output format with N_INPUTS. +// NB: N_INPUTS = N_STATION * N_POL +#define REGTILE_CHAN_LENGTH (4 * 4 * N_INPUTS/4 * (N_INPUTS/4+1) / 2) +static inline size_t regtile_chan_length() +{ + // Four cross products for each quadrant of 4 input x 4 input tile + return REGTILE_CHAN_LENGTH; +} + +// Returns index into the GPU's register tile ordered output buffer for the +// real component of the cross product of inputs in0 and in1. Note that in0 +// and in1 are input indexes (i.e. 0 based) and often represent antenna and +// polarization by passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx +// and pol_idx are also 0 based). Return value is valid if in1 >= in0. The +// corresponding imaginary component is located xgpu_info.matLength words after +// the real component. +static off_t regtile_index(const int in0, const int in1) +{ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; + const int num_words_per_cell = 4; + + // Index within a quadrant + const int quadrant_index = tri_index(a1/2, a0/2); + // Quadrant for this input pair + const int quadrant = 2*(a0&1) + (a1&1); + // Size of quadrant + const int quadrant_size = (xgpu_info.nstation/2 + 1) * xgpu_info.nstation/4; + // Index of cell (in units of cells) + const int cell_index = quadrant*quadrant_size + quadrant_index; + //printf("%s: in0=%d, in1=%d, a0=%d, a1=%d, cell_index=%d\n", __FUNCTION__, in0, in1, a0, a1, cell_index); + // Pol offset + const int pol_offset = 2*p1 + p0; + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; +} + +// Returns index into a CASPER ordered buffer for the real component of the +// cross product of inputs in0 and in1. Note that in0 and in1 are input +// indexes (i.e. 0 based) and often represent antenna and polarization by +// passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx ad pol_idx are +// also 0 based). Return value is valid if in1 >= in0. The corresponding +// imaginary component is located in the word immediately following the real +// component. A casper ordered buffer consists of four complex values for each +// pair of input pairs. Thus, the number of complex values in a casper ordered +// buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) +static off_t casper_index(const int in0, const int in1, const int n) +{ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; + const int delta = a1-a0; + const int num_words_per_cell = 8; + const int nant_2 = (n/2) / 2; + + // Three cases: top triangle, middle rectangle, bottom triangle + const int triangle_size = ((nant_2 + 1) * nant_2)/2; + const int middle_rect_offset = triangle_size; + const int last_cell_offset = 4*middle_rect_offset - nant_2 - 1; + int cell_index; + + if(delta > nant_2) { + // bottom triangle + cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1); + } else if (a1 < (n/2)/2) { + // top triangle + cell_index = tri_index(a1, a0); + } else { + // middle rectangle + cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); + } + //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); + // Pol offset + const int pol_offset = 2*(2*(p0^p1) + p0); + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; +} + +// For each channel, a casper ordered buffer contains four complex values for +// each pair of input pairs. Thus, the number of complex values in a casper +// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) +#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) + +// Lookup table mapping casper_idx to regtile_idx +static off_t *idx_map; + +static int init_idx_map() +{ + int a0, a1, p0, p1, i, j; + idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); + if(!idx_map) { + return -1; + } + + for(a1=0; a1 Date: Tue, 5 Mar 2019 12:43:12 -0500 Subject: [PATCH 165/420] Add x_orientation keyword to header --- src/scripts/hera_make_hdf5_template.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index a3ef20ef..00b89165 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -192,6 +192,7 @@ def create_header(h5, use_cm=False, use_redis=False): header.create_dataset("spw_array", dtype=" radians lat = cminfo['cofa_lat'] * np.pi / 180. From 56c12242bfcad882c891d8adea8c6ceea74c7480 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 6 Mar 2019 10:56:05 -0800 Subject: [PATCH 166/420] Thread to create fake gpu output data --- src/hera_fake_gpu_thread.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/src/hera_fake_gpu_thread.c b/src/hera_fake_gpu_thread.c index 58581ae5..ac55d4a8 100644 --- a/src/hera_fake_gpu_thread.c +++ b/src/hera_fake_gpu_thread.c @@ -21,6 +21,8 @@ #include "hashpipe.h" #include "paper_databuf.h" +#define REGTILE_CHAN_LENGTH (4 * 4 * N_INPUTS/4 * (N_INPUTS/4+1) / 2) + static XGPUInfo xgpu_info; // Computes the triangular index of an (i,j) pair as shown here... @@ -47,7 +49,8 @@ static inline off_t tri_index(const int i, const int j) // and pol_idx are also 0 based). Return value is valid if in1 >= in0. The // corresponding imaginary component is located xgpu_info.matLength words after // the real component. -static off_t regtile_index(const int in0, const int in1){ +static off_t regtile_index(const int in0, const int in1) +{ const int a0 = in0 >> 1; const int a1 = in1 >> 1; const int p0 = in0 & 1; @@ -78,19 +81,22 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ /* Main loop */ int rv; // store return of buffer status calls uint64_t mcnt = 0; // mcnt of each block - uint32_t *data; - int in0, in1; + int ant0, ant1, chan, pol; int block_idx = 0; - uint32_t fakedata = 0x0101; + off_t idx_regtile; + int32_t fakereal = 0x00000001; + int32_t fakeimag = 0x00000002; xgpuInfo(&xgpu_info); /* Test statements */ printf("N_OUTPUT_MATRIX: %d\n",N_OUTPUT_MATRIX); printf("N_INPUTS: %d\n",N_INPUTS); + printf("N_ANTS: %d\n",N_ANTS); printf("N_CHAN_PER_X: %d\n",N_CHAN_PER_X); printf("Largest index: %ld\n",regtile_index(N_INPUTS-1,N_INPUTS-1)); printf("xgpu.n_station: %d\n",xgpu_info.nstation); + printf("xgpu.matLength: %lld\n",xgpu_info.matLength); while (run_threads()) { @@ -126,14 +132,22 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ mcnt+=Nm; // Set all block data to zero - data = (uint32_t *)db->block[block_idx].data; - memset(data, 0, N_OUTPUT_MATRIX); + int32_t *data_re = db->block[block_idx].data; + int32_t *data_im = db->block[block_idx].data + xgpu_info.matLength; + memset(data_re, 5, N_OUTPUT_MATRIX*sizeof(int32_t)); // Populate block with fake data - for(in0 = 0; in0 < N_INPUTS; in0++){ - for(in1 = in0; in1 < N_INPUTS; in1++){ - //printf("%d\t %d\t %ld\n",in0,in1,regtile_index(in0,in1)); - memcpy(data+regtile_index(in0,in1), &fakedata, 4); + for(ant0 = 0; ant0 < N_INPUTS/2; ant0++){ + for(ant1 = ant0; ant1 < N_INPUTS/2; ant1++){ + idx_regtile = regtile_index(2*ant0, 2*ant1); + //printf("%d\t %d\t %ld\n", ant0, ant1, idx_regtile); + for(chan=0; chan Date: Wed, 6 Mar 2019 10:56:37 -0800 Subject: [PATCH 167/420] one functioning version of bda --- src/hera_gpu_output_thread.c | 683 +++++++++++++++++++++++------------ src/hera_hdf5.h | 2 - src/paper_databuf.h | 43 ++- 3 files changed, 490 insertions(+), 238 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index c1afcd3e..54dbf6a1 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -1,60 +1,57 @@ -// hera_gpu_output_thread.c -// -// Sends integrated GPU output to "catcher" machine for assimilation into a -// dataset. Unlike the original PAPER output thread, this code integrates -// over XENG_CHAN_SUM channels, and performs a channel x baseline transpose +/* Takes the output from the GPU and + * averages over time for the shorter + * baselines according to a config file. + * Output is stored in CASPER ordered + * shared memory segments. + */ #include -#include -#include -#include +#include +#include #include -#include +#include #include +#include +#include #include -#include -#include +#include +#include #include #include "hashpipe.h" #include "paper_databuf.h" -// Correlator data are sent to a data catcher using a simple UDP packetization -// format: +#define LOG(x) ((int)(log((x))/log(2))) // yields msb loc +#define CHECK_PWR2(x) (!((x)&((x)-1))) -// uint64_t TIMESTAMP (set to be the MCNT provided by the databuf delivered by the upstream processor) -// uint32_t OFFSET (offset in bytes where this packet should be placed in memory to build the complete output) -// uint16_t X-ENGINE ID -// uint16_t PAYLOAD LENGTH (length of data payload in this packet in bytes) +// Macros for generating values for the pkthdr_t fields +#define TIMESTAMP(x) (htobe64((uint64_t)x)) +#define BASELINE_ID(x) (htobe32((uint32_t)x)) +#define OFFSET(x) (htobe32((uint32_t)x)) +#define XENG_ID(x) (htobe16((uint16_t)x)) +#define PAYLOAD_LEN(x) (htobe16((uint16_t)x)) -// Structure for packet header +#define CONVERT(x) (htobe32((x))) +typedef int32_t pktdata_t; +static XGPUInfo xgpu_info; + +// Structure for packet header typedef struct pkthdr { uint64_t timestamp; + uint32_t baseline_id; uint32_t offset; uint16_t xeng_id; uint16_t payload_len; } pkthdr_t; -// Macros for generating values for the pkthdr_t fields -#define TIMESTAMP(x) (htobe64((uint64_t)x)) -#define OFFSET(x) (htobe32((uint32_t)x)) -#define XENG_ID(x) (htobe16((uint16_t)x)) -#define PAYLOAD_LEN(x) (htobe16((uint16_t)x)) - -#define CONVERT(x) (htobe32(x)) - -typedef int32_t pktdata_t; - // Structure of a packet -typedef struct pkt { +typedef struct struct_pkt { pkthdr_t hdr; pktdata_t data[OUTPUT_BYTES_PER_PACKET/sizeof(pktdata_t)]; } pkt_t; -static XGPUInfo xgpu_info; - // PACKET_DELAY_NS is number of nanoseconds to delay between packets. This is // to prevent overflowing the network interface's TX queue. // Keep in mind the total throughput of the network, and also the number @@ -201,14 +198,27 @@ static off_t regtile_index(const int in0, const int in1) // component. A casper ordered buffer consists of four complex values for each // pair of input pairs. Thus, the number of complex values in a casper ordered // buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) -static off_t casper_index(const int in0, const int in1, const int n) -{ - const int a0 = in0 >> 1; + +// For integration buffers, change the ordering to baselines x channels x stokes +// to make it easier to send the packets after integration. + +/* Each baseline (i.e, ant pair) needs a unique index for encoding the + * baseline both while packetization and while building the integration + * buffers. The baseline index function below is an adaption of the + * CASPER index without accounting for the size of each cell or the + * stokes parameters. + */ + +/* The integration buffer location for each baseline is obtained by + * multiplying the baseline_index with: + * (words_per_cell = 8) * (num_chan_per_x = 384) + * Pol offset = 2* (2*(p0^p1) + p0) + */ +static int baseline_index(const int in0, const int in1, const int n) +{ + const int a0 = in0 >> 1; const int a1 = in1 >> 1; - const int p0 = in0 & 1; - const int p1 = in1 & 1; const int delta = a1-a0; - const int num_words_per_cell = 8; const int nant_2 = (n/2) / 2; // Three cases: top triangle, middle rectangle, bottom triangle @@ -227,46 +237,41 @@ static off_t casper_index(const int in0, const int in1, const int n) // middle rectangle cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); } - //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); - // Pol offset - const int pol_offset = 2*(2*(p0^p1) + p0); - // Word index (in units of words (i.e. floats) of real component - const int index = (cell_index * num_words_per_cell) + pol_offset; - return index; -} -// For each channel, a casper ordered buffer contains four complex values for -// each pair of input pairs. Thus, the number of complex values in a casper -// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) -#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) + return cell_index; +} + +// Redefine casper ordering to place channels next to each other (since +// buffers are packetized this way. Thus, the number of complex values +// per baselines are: 4 stokes * N_CHAN_PER_X +// Total buffersize: 4 * N_CHAN_PER_X * (N/2 * (N/2 + 1)) / 2 +#define N_CASPER_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) -// Lookup table mapping casper_idx to regtile_idx -static off_t *idx_map; +// Lookup table mapping baseline_idx to regtile_idx +static off_t *regtile_idx_map; static int init_idx_map() { - int a0, a1, p0, p1, i, j; - idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); - if(!idx_map) { + int a0, a1; + regtile_idx_map = (off_t *)malloc(N_BASELINES * sizeof(off_t)); + if(!regtile_idx_map) { return -1; } - for(a1=0; a1baselines_per_bin[LOG(inttime)]++; + } + + // Include autos for the no-integration baselines + bdabuf->baselines_per_bin[0] += N_ANTS; + + // malloc for storing ant pairs + for(j=0; jant_pair_0[j] = (int *)malloc(bdabuf->baselines_per_bin[j]*sizeof(int)); + bdabuf->ant_pair_1[j] = (int *)malloc(bdabuf->baselines_per_bin[j]*sizeof(int)); + } + // re-read ant pairs for each integration bin + rewind(fp); + while(fscanf(fp, "%d %d %d", &a0, &a1, &inttime)!=EOF){ + bin = LOG(inttime); + bdabuf->ant_pair_0[bin][ctr[bin]] = a0; + bdabuf->ant_pair_1[bin][ctr[bin]++] = a1; + } + fclose(fp); + + // Include the autos + for(a0=0;a0ant_pair_0[0][ctr[0]] = a0; + bdabuf->ant_pair_1[0][ctr[0]++] = a0; + } + + // Initialise header and malloc for data + bdabuf->send[0] = 1; + bdabuf->buf->data = NULL; + bdabuf->buf->header.datsize = 0; + + for(j=1; jbaselines_per_bin[j]); + bdabuf->send[j] = 0; + intbuf = bdabuf->buf+j; + intbuf->header.sam = 0; + intbuf->header.totsam = pow(2,j); + intbuf->header.datsize = bdabuf->baselines_per_bin[j]*N_COMPLEX_PER_BASELINE*2*sizeof(uint32_t); + fprintf(stderr,"Init: Size of Buf: %d is %llu\n",j,intbuf->header.datsize); + intbuf->data = malloc(intbuf->header.datsize); + if (!intbuf->data) + return -1; + memset(intbuf->data, 0, intbuf->header.datsize); + } +return 1; +} + #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) static void *run(hashpipe_thread_args_t * args) { - // Local aliases to shorten access to args fields - // Our input buffer happens to be a paper_ouput_databuf - paper_output_databuf_t *db = (paper_output_databuf_t *)args->ibuf; - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - // Setup socket and message structures - int sockfd; - unsigned int xengine_id = 0; - struct timespec packet_delay = { - .tv_sec = 0, - .tv_nsec = PACKET_DELAY_NS - }; - - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "XID", &xengine_id); // No change if not found - hputu4(st.buf, "XID", xengine_id); - hputu4(st.buf, "OUTDUMPS", 0); - hashpipe_status_unlock_safe(&st); - - pkt_t pkt; - pkt.hdr.xeng_id = XENG_ID(xengine_id); - pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); - - // TODO Get catcher hostname and port from somewhere + // Local aliases to shorten access to args fields + // Our input buffer happens to be a paper_ouput_databuf + paper_output_databuf_t *db = (paper_output_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // Initialize buffers to store averaged baselines + fprintf(stderr, "Initializing buffers..\n"); + hera_bda_buf_t bdabuf; + init_buffer(&bdabuf); + + // Setup socket and message structures + int sockfd; + unsigned int xengine_id = 0; + struct timespec packet_delay = { + .tv_sec = 0, + .tv_nsec = PACKET_DELAY_NS + }; + + fprintf(stderr, "Created socket\n"); + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "XID", &xengine_id); // No change if not found + hputu4(st.buf, "XID", xengine_id); + hputu4(st.buf, "OUTDUMPS", 0); + hashpipe_status_unlock_safe(&st); + + pkt_t pkt; + pkt.hdr.xeng_id = XENG_ID(xengine_id); + pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); + + // TODO Get catcher hostname and port from somewhere #define stringify2(x) #x #define stringify(x) stringify2(x) - // Open socket - sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); - if(sockfd == -1) { - hashpipe_error(__FUNCTION__, "error opening socket"); - pthread_exit(NULL); - } + // Open socket + sockfd = open_udp_socket("localhost", stringify(CATCHER_PORT)); + if(sockfd == -1) { + hashpipe_error(__FUNCTION__, "error opening socket"); + pthread_exit(NULL); + } #ifdef TEST_INDEX_CALCS int i, j; @@ -332,144 +411,223 @@ static void *run(hashpipe_thread_args_t * args) } for(i=0; i<32; i++) { for(j=i; j<32; j++) { - o = casper_index(2*i, 2*j, N_INPUTS); - fprintf(stdout, "%d, %d, %d\n", i, j, (int) o); + o = baseline_index(2*i, 2*j, N_INPUTS); + fprintf(stdout, "%d, %d, %d, %ld\n", i, j, (int) o, + (long int)regtile_idx_map[o]); } } #endif - /* Main loop */ - int rv; - int casper_chan, gpu_chan, sum_chan; - int baseline, pol; - unsigned int dumps = 0; - int block_idx = 0; - struct timespec start, stop; - struct timespec pkt_start, pkt_stop; - pktdata_t re, im; - while (run_threads()) { - - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "waiting"); - hashpipe_status_unlock_safe(&st); - - // Wait for new block to be filled - while ((rv=paper_output_databuf_wait_filled(db, block_idx)) - != HASHPIPE_OK) { - if (rv==HASHPIPE_TIMEOUT) { - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); - hashpipe_status_unlock_safe(&st); - continue; - } else { - hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); - pthread_exit(NULL); - break; - } - } - - clock_gettime(CLOCK_MONOTONIC, &start); - - // Note processing status, current input block - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "processing"); - hputi4(st.buf, "OUTBLKIN", block_idx); - hashpipe_status_unlock_safe(&st); - - // Update header's timestamp for this dump. - pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); - // Reset packet/byte counters to 0 - pkt.hdr.offset = OFFSET(0); - uint32_t nbytes = 0; - - // Unpack and convert in packet sized chunks - // output data in order: baseline x chan x stokes (slowest to fastest varying) - pktdata_t * pf_re = db->block[block_idx].data; - pktdata_t * pf_im = db->block[block_idx].data + xgpu_info.matLength; - pktdata_t * p_out = pkt.data; - clock_gettime(CLOCK_MONOTONIC, &pkt_start); - // Iterate over blocks of N_STOKES baselines. All stokes are sent in adjacent words - for(baseline=0; baseline 0 && packet_delay.tv_nsec < 1000*1000*1000) { - nanosleep(&packet_delay, NULL); - } - - // Setup for next packet - p_out = pkt.data; - pkt_start = pkt_stop; - // Update header's byte_offset for this chunk - pkt.hdr.offset = OFFSET(nbytes); - } - } - } - } - - clock_gettime(CLOCK_MONOTONIC, &stop); - - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "OUTDUMPS", &dumps); - hputu4(st.buf, "OUTDUMPS", ++dumps); - hputu4(st.buf, "OUTBYTES", nbytes); - hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); - hputr4(st.buf, "OUTMBPS", (1e3*8*nbytes)/ELAPSED_NS(start,stop)); - hashpipe_status_unlock_safe(&st); + /* Main loop */ + int rv; + int casper_chan, gpu_chan; + unsigned long bl; + int j,pol; + unsigned int dumps = 0; + int block_idx = 0; + struct timespec start, stop; + struct timespec pkt_start, pkt_stop; + pktdata_t re, im; //pktdata_t is 32bits + uint32_t nbytes = 0; + int offset = 0; + unsigned long long datoffset = 0; + int ant0, ant1; + unsigned long long idx_baseline; + off_t idx_regtile; + hera_int_bin_buf_t *intbuf; + + fprintf(stderr, "Starting main loop...\n"); + + /* Test statements */ + fprintf(stderr,"Total number of bins: %d\n",N_BDA_BINS); + for(j=1; jheader.datsize); + } + fprintf(stdout, "Size of packet header: %ld\n",sizeof(pkt.hdr)); + fprintf(stdout, "Size of matrix: %lld\n", xgpu_info.matLength); + fprintf(stdout, "Channels per X-eng: %d\n", N_CHAN_PER_X); + + while (run_threads()) { + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "waiting"); + hashpipe_status_unlock_safe(&st); + + // Wait for new block to be filled + while ((rv=paper_output_databuf_wait_filled(db, block_idx)) + != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } + + clock_gettime(CLOCK_MONOTONIC, &start); + + // Note processing status, current input block + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hputi4(st.buf, "OUTBLKIN", block_idx); + hashpipe_status_unlock_safe(&st); + + // Unpack and convert in packet sized chunks + // output data in order: baseline x chan x stokes (slowest to fastest varying) + pktdata_t *pf_re = db->block[block_idx].data; + pktdata_t *pf_im = db->block[block_idx].data + xgpu_info.matLength; + pktdata_t *p_out = pkt.data; + + /* ------------------------------------------------ */ + /* Loop through baselines and add/send the packets */ + /* ------------------------------------------------ */ + + for(j=0; jheader.mcnt = db->block[block_idx].header.mcnt; + + if (bdabuf.send[j]){ + fprintf(stderr,"Bin: %d: Send\n",j); + pkt.hdr.timestamp = TIMESTAMP(intbuf->header.mcnt); + offset = 0; nbytes = 0; + p_out = pkt.data; + clock_gettime(CLOCK_MONOTONIC, &pkt_start); + + for(bl=0; bldata[datoffset] + re); + *p_out++ = CONVERT(intbuf->data[datoffset+1] -im); + } + nbytes += 2*sizeof(pktdata_t); + + if(nbytes%OUTPUT_BYTES_PER_PACKET == 0){ + int bytes_sent = send(sockfd, &pkt, + sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET, 0); + + if(bytes_sent == -1){ + // Send all packets even if catcher is not listening (i.e. we + // we get a connection refused error), but abort sending this + // dump if we get any other error. + if(errno != ECONNREFUSED){ + perror("send"); + // Update stats + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); + hputu4(st.buf, "OUTDUMPS", ++dumps); + hputr4(st.buf, "OUTSECS", 0.0); + hputr4(st.buf, "OUTMBPS", 0.0); + hashpipe_status_unlock_safe(&st); + // Break out of both for loops + goto done_sending; + } + }else if(bytes_sent != sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET) { + printf("only sent %d of %lu bytes!!!\n", bytes_sent, + sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET); + } + + // Delay to prevent overflowing network TX queue + clock_gettime(CLOCK_MONOTONIC, &pkt_stop); + packet_delay.tv_nsec = PACKET_DELAY_NS - ELAPSED_NS(pkt_start, pkt_stop); + if(packet_delay.tv_nsec > 0 && packet_delay.tv_nsec < 1000*1000*1000){ + nanosleep(&packet_delay, NULL); + } + + // Setup for next packet + p_out = pkt.data; + pkt_start = pkt_stop; + offset++; + pkt.hdr.offset = OFFSET(offset); + } // done sending + } // pol + } // chan + } // baseline + + if(j!=0) bdabuf.send[j] = 0; + intbuf->header.sam = 0; + memset(intbuf->data, 0, intbuf->header.datsize); + + }else{ + fprintf(stderr,"Bin: %d: Copy\n",j); + for(bl=0; blheader.datsize); + + for(casper_chan=0; casper_chandata[datoffset] += re; + intbuf->data[datoffset+1] += -im; + } + } + } fprintf(stderr,"Baselines processed: %ld Total baselines: %ld\n", + bl,bdabuf.baselines_per_bin[j]); + + intbuf->header.sam += 1; + if ((intbuf->header.sam+1) == intbuf->header.totsam) + bdabuf.send[j] = 1; + } + }// end intbuf loop + + clock_gettime(CLOCK_MONOTONIC, &stop); + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); + hputu4(st.buf, "OUTDUMPS", ++dumps); + hputu4(st.buf, "OUTBYTES", nbytes); + hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); + hputr4(st.buf, "OUTMBPS", (1e3*8*nbytes)/ELAPSED_NS(start,stop)); + hashpipe_status_unlock_safe(&st); done_sending: - // Mark block as free - paper_output_databuf_set_free(db, block_idx); + // Mark block as free + paper_output_databuf_set_free(db, block_idx); - // Setup for next block - block_idx = (block_idx + 1) % db->header.n_block; + // Setup for next block + block_idx = (block_idx + 1) % db->header.n_block; - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } // Thread success! return NULL; @@ -488,3 +646,82 @@ static __attribute__((constructor)) void ctor() { register_hashpipe_thread(&gpu_output_thread); } + +// /* ---------------------------------------------------- */ +// /* Loop through 1-sample baselines and send the packets */ +// /* ---------------------------------------------------- */ +// +// fprintf(stderr, "Processing 1-sample baselines\n"); +// +// // Update header's timestamp for this dump. +// pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); +// pkt.hdr.offset = OFFSET(0); +// clock_gettime(CLOCK_MONOTONIC, &pkt_start); +// +// // All stokes are sent in adjacent words +// for(bl=0; bl < bdabuf.baselines_per_bin[0]; bl++){ +// ant0 = bdabuf.ant_pair_0[0][bl]; +// ant1 = bdabuf.ant_pair_1[0][bl]; +// idx_baseline = baseline_index(2*ant0, 2*ant1, N_INPUTS); +// idx_regtile = regtile_idx_map[idx_baseline]; +// //idx_regtile = regtile_index(2*ant0, 2*ant1); +// pkt.hdr.baseline_id = BASELINE_ID(idx_baseline); +// offset = 0; +// pkt.hdr.offset = OFFSET(0); +// +// for(casper_chan=0; casper_chan 0 && packet_delay.tv_nsec < 1000*1000*1000){ +// nanosleep(&packet_delay, NULL); +// } +// +// // Setup for next packet +// p_out = pkt.data; +// pkt_start = pkt_stop; +// offset++; +// pkt.hdr.offset = OFFSET(offset); +// } // done sending +// } // pol loop +// } // chan loop +// } // baseline loop + + diff --git a/src/hera_hdf5.h b/src/hera_hdf5.h index c618cf7e..5af9fcdd 100644 --- a/src/hera_hdf5.h +++ b/src/hera_hdf5.h @@ -3,8 +3,6 @@ #include "paper_databuf.h" -#define N_BASELINES ((N_ANTS * (N_ANTS + 1)) / 2) - // HERA HDF5 header fields, based on PLP's sample file // Comment descriptions are guesses typedef struct hdf5_extra_keywords { diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 36d81b90..5f3f4f57 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -267,23 +267,40 @@ typedef struct paper_output_databuf { * BASELINE DEPENDENT AVERAGING STRUCTURES */ -typedef struct hera_bda_output_header{ +#define N_BASELINES (N_ANTS * (N_ANTS + 1)/2) +#define N_CROSSPRODS (N_ANTS * (N_ANTS - 1)/2) +#define N_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) +#define N_BDA_BINS 5 + +// integration bin indexing +#define hera_int_bin_buf_data_idx(b, c, p) \ + ((((b) * N_CHAN_PER_X * N_STOKES) + ((c) * N_STOKES) + (p)) * 2) + + +typedef struct hera_bda_header{ uint64_t mcnt; // mcnt of the first time sample in the data - char send; // 0 - don't packetize, 1 - ready for sending - uint8_t size; // size of buffer (from config file) - uint8_t fcount; // number of time samples to be added (from config file) -} hera_bda_output_header_t; + int sam; + int totsam; // number of time samples to be added (from config file) + unsigned long long datsize; // size of buffer (from no. baselines) +} hera_bda_header_t; -typedef uint8_t hera_bda_output_header_cache_alignment[ - CACHE_ALIGNMENT - (sizeof(hera_bda_output_header_t)%CACHE_ALIGNMENT) +typedef uint8_t hera_bda_header_cache_alignment[ + CACHE_ALIGNMENT - (sizeof(hera_bda_header_t)%CACHE_ALIGNMENT) ]; -typedef struct hera_bda_output_buffer{ - hera_bda_output_header_t header; - hera_bda_output_header_cache_alignment padding; - uint64_t *data; -} hera_bda_output_buffer_t ; - +typedef struct hera_int_bin_buf{ + hera_bda_header_t header; + hera_bda_header_cache_alignment padding; + uint32_t *data; +} hera_int_bin_buf_t; + +typedef struct hera_bda_buf{ + int *ant_pair_0[N_BDA_BINS]; + int *ant_pair_1[N_BDA_BINS]; + unsigned long int baselines_per_bin[N_BDA_BINS]; + char send[N_BDA_BINS]; // 0 - don't packetize, 1 - ready for sending + hera_int_bin_buf_t buf[N_BDA_BINS]; +} hera_bda_buf_t; /* * CATCHER BUFFER STRUCTURES From bb829e08775672faf7ca54292cdb025ed6f07048 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 6 Mar 2019 10:56:56 -0800 Subject: [PATCH 168/420] fake config file --- src/bda_config.txt | 61075 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61075 insertions(+) create mode 100644 src/bda_config.txt diff --git a/src/bda_config.txt b/src/bda_config.txt new file mode 100644 index 00000000..54ecb435 --- /dev/null +++ b/src/bda_config.txt @@ -0,0 +1,61075 @@ + 0 1 1 + 0 2 1 + 0 3 1 + 0 4 1 + 0 5 1 + 0 6 1 + 0 7 1 + 0 8 1 + 0 9 1 + 0 10 1 + 0 11 1 + 0 12 1 + 0 13 1 + 0 14 1 + 0 15 1 + 0 16 1 + 0 17 1 + 0 18 1 + 0 19 1 + 0 20 1 + 0 21 1 + 0 22 1 + 0 23 1 + 0 24 1 + 0 25 1 + 0 26 1 + 0 27 1 + 0 28 1 + 0 29 1 + 0 30 1 + 0 31 1 + 0 32 1 + 0 33 1 + 0 34 1 + 0 35 1 + 0 36 2 + 0 37 2 + 0 38 2 + 0 39 2 + 0 40 2 + 0 41 2 + 0 42 2 + 0 43 2 + 0 44 2 + 0 45 2 + 0 46 2 + 0 47 2 + 0 48 2 + 0 49 2 + 0 50 2 + 0 51 2 + 0 52 2 + 0 53 2 + 0 54 2 + 0 55 2 + 0 56 2 + 0 57 2 + 0 58 2 + 0 59 2 + 0 60 2 + 0 61 2 + 0 62 2 + 0 63 2 + 0 64 2 + 0 65 2 + 0 66 2 + 0 67 2 + 0 68 2 + 0 69 2 + 0 70 2 + 0 71 2 + 0 72 2 + 0 73 2 + 0 74 2 + 0 75 2 + 0 76 2 + 0 77 2 + 0 78 2 + 0 79 2 + 0 80 2 + 0 81 2 + 0 82 2 + 0 83 2 + 0 84 2 + 0 85 2 + 0 86 2 + 0 87 2 + 0 88 2 + 0 89 2 + 0 90 2 + 0 91 2 + 0 92 2 + 0 93 2 + 0 94 2 + 0 95 2 + 0 96 2 + 0 97 2 + 0 98 2 + 0 99 2 + 0 100 2 + 0 101 2 + 0 102 2 + 0 103 2 + 0 104 2 + 0 105 2 + 0 106 2 + 0 107 2 + 0 108 2 + 0 109 2 + 0 110 2 + 0 111 2 + 0 112 2 + 0 113 2 + 0 114 2 + 0 115 2 + 0 116 2 + 0 117 2 + 0 118 2 + 0 119 2 + 0 120 2 + 0 121 2 + 0 122 2 + 0 123 2 + 0 124 2 + 0 125 2 + 0 126 2 + 0 127 2 + 0 128 2 + 0 129 2 + 0 130 2 + 0 131 2 + 0 132 2 + 0 133 2 + 0 134 2 + 0 135 2 + 0 136 2 + 0 137 2 + 0 138 2 + 0 139 2 + 0 140 2 + 0 141 2 + 0 142 2 + 0 143 2 + 0 144 2 + 0 145 2 + 0 146 2 + 0 147 2 + 0 148 2 + 0 149 2 + 0 150 2 + 0 151 2 + 0 152 2 + 0 153 2 + 0 154 2 + 0 155 2 + 0 156 2 + 0 157 2 + 0 158 2 + 0 159 2 + 0 160 2 + 0 161 2 + 0 162 2 + 0 163 2 + 0 164 2 + 0 165 2 + 0 166 2 + 0 167 2 + 0 168 2 + 0 169 2 + 0 170 2 + 0 171 2 + 0 172 2 + 0 173 2 + 0 174 2 + 0 175 2 + 0 176 2 + 0 177 2 + 0 178 2 + 0 179 2 + 0 180 2 + 0 181 2 + 0 182 2 + 0 183 2 + 0 184 2 + 0 185 2 + 0 186 2 + 0 187 2 + 0 188 2 + 0 189 2 + 0 190 2 + 0 191 2 + 0 192 2 + 0 193 2 + 0 194 2 + 0 195 2 + 0 196 2 + 0 197 2 + 0 198 2 + 0 199 2 + 0 200 2 + 0 201 2 + 0 202 2 + 0 203 2 + 0 204 2 + 0 205 2 + 0 206 2 + 0 207 2 + 0 208 2 + 0 209 2 + 0 210 2 + 0 211 2 + 0 212 2 + 0 213 2 + 0 214 2 + 0 215 2 + 0 216 2 + 0 217 2 + 0 218 2 + 0 219 2 + 0 220 2 + 0 221 2 + 0 222 2 + 0 223 2 + 0 224 2 + 0 225 2 + 0 226 2 + 0 227 2 + 0 228 2 + 0 229 2 + 0 230 2 + 0 231 2 + 0 232 2 + 0 233 2 + 0 234 2 + 0 235 2 + 0 236 2 + 0 237 2 + 0 238 2 + 0 239 2 + 0 240 2 + 0 241 2 + 0 242 2 + 0 243 2 + 0 244 2 + 0 245 2 + 0 246 2 + 0 247 2 + 0 248 2 + 0 249 2 + 0 250 2 + 0 251 2 + 0 252 2 + 0 253 2 + 0 254 2 + 0 255 2 + 0 256 2 + 0 257 2 + 0 258 2 + 0 259 2 + 0 260 2 + 0 261 2 + 0 262 2 + 0 263 2 + 0 264 2 + 0 265 2 + 0 266 2 + 0 267 2 + 0 268 2 + 0 269 2 + 0 270 2 + 0 271 2 + 0 272 2 + 0 273 2 + 0 274 2 + 0 275 2 + 0 276 2 + 0 277 2 + 0 278 2 + 0 279 2 + 0 280 2 + 0 281 2 + 0 282 2 + 0 283 2 + 0 284 2 + 0 285 2 + 0 286 2 + 0 287 2 + 0 288 2 + 0 289 2 + 0 290 2 + 0 291 2 + 0 292 2 + 0 293 2 + 0 294 2 + 0 295 2 + 0 296 2 + 0 297 2 + 0 298 2 + 0 299 2 + 0 300 2 + 0 301 2 + 0 302 2 + 0 303 2 + 0 304 2 + 0 305 2 + 0 306 2 + 0 307 2 + 0 308 2 + 0 309 2 + 0 310 2 + 0 311 2 + 0 312 2 + 0 313 2 + 0 314 2 + 0 315 2 + 0 316 2 + 0 317 2 + 0 318 2 + 0 319 2 + 0 320 2 + 0 321 2 + 0 322 2 + 0 323 2 + 0 324 2 + 0 325 2 + 0 326 2 + 0 327 2 + 0 328 2 + 0 329 2 + 0 330 2 + 0 331 2 + 0 332 2 + 0 333 2 + 0 334 2 + 0 335 2 + 0 336 2 + 0 337 2 + 0 338 2 + 0 339 2 + 0 340 2 + 0 341 2 + 0 342 2 + 0 343 2 + 0 344 2 + 0 345 2 + 0 346 2 + 0 347 2 + 0 348 2 + 0 349 2 + 1 2 2 + 1 3 2 + 1 4 2 + 1 5 2 + 1 6 2 + 1 7 2 + 1 8 2 + 1 9 2 + 1 10 2 + 1 11 2 + 1 12 2 + 1 13 2 + 1 14 2 + 1 15 2 + 1 16 2 + 1 17 2 + 1 18 2 + 1 19 2 + 1 20 2 + 1 21 2 + 1 22 2 + 1 23 2 + 1 24 2 + 1 25 2 + 1 26 2 + 1 27 2 + 1 28 2 + 1 29 2 + 1 30 2 + 1 31 2 + 1 32 2 + 1 33 2 + 1 34 2 + 1 35 2 + 1 36 2 + 1 37 2 + 1 38 2 + 1 39 2 + 1 40 2 + 1 41 2 + 1 42 2 + 1 43 2 + 1 44 2 + 1 45 2 + 1 46 2 + 1 47 2 + 1 48 2 + 1 49 2 + 1 50 2 + 1 51 2 + 1 52 2 + 1 53 2 + 1 54 2 + 1 55 2 + 1 56 2 + 1 57 2 + 1 58 2 + 1 59 2 + 1 60 2 + 1 61 2 + 1 62 2 + 1 63 2 + 1 64 2 + 1 65 2 + 1 66 2 + 1 67 2 + 1 68 2 + 1 69 2 + 1 70 2 + 1 71 2 + 1 72 2 + 1 73 2 + 1 74 2 + 1 75 2 + 1 76 2 + 1 77 2 + 1 78 2 + 1 79 2 + 1 80 2 + 1 81 2 + 1 82 2 + 1 83 2 + 1 84 2 + 1 85 2 + 1 86 2 + 1 87 2 + 1 88 2 + 1 89 2 + 1 90 2 + 1 91 2 + 1 92 2 + 1 93 2 + 1 94 2 + 1 95 2 + 1 96 2 + 1 97 2 + 1 98 2 + 1 99 2 + 1 100 2 + 1 101 2 + 1 102 2 + 1 103 2 + 1 104 2 + 1 105 2 + 1 106 2 + 1 107 2 + 1 108 2 + 1 109 2 + 1 110 2 + 1 111 2 + 1 112 2 + 1 113 2 + 1 114 2 + 1 115 2 + 1 116 2 + 1 117 2 + 1 118 2 + 1 119 2 + 1 120 2 + 1 121 2 + 1 122 2 + 1 123 2 + 1 124 2 + 1 125 2 + 1 126 2 + 1 127 2 + 1 128 2 + 1 129 2 + 1 130 2 + 1 131 2 + 1 132 2 + 1 133 2 + 1 134 2 + 1 135 2 + 1 136 2 + 1 137 2 + 1 138 2 + 1 139 2 + 1 140 2 + 1 141 2 + 1 142 2 + 1 143 2 + 1 144 2 + 1 145 2 + 1 146 2 + 1 147 2 + 1 148 2 + 1 149 2 + 1 150 2 + 1 151 2 + 1 152 2 + 1 153 2 + 1 154 2 + 1 155 2 + 1 156 2 + 1 157 2 + 1 158 2 + 1 159 2 + 1 160 2 + 1 161 2 + 1 162 2 + 1 163 2 + 1 164 2 + 1 165 2 + 1 166 2 + 1 167 2 + 1 168 2 + 1 169 2 + 1 170 2 + 1 171 2 + 1 172 2 + 1 173 2 + 1 174 2 + 1 175 2 + 1 176 2 + 1 177 2 + 1 178 2 + 1 179 2 + 1 180 2 + 1 181 2 + 1 182 2 + 1 183 2 + 1 184 2 + 1 185 2 + 1 186 2 + 1 187 2 + 1 188 2 + 1 189 2 + 1 190 2 + 1 191 2 + 1 192 2 + 1 193 2 + 1 194 2 + 1 195 2 + 1 196 2 + 1 197 2 + 1 198 2 + 1 199 2 + 1 200 2 + 1 201 2 + 1 202 2 + 1 203 2 + 1 204 2 + 1 205 2 + 1 206 2 + 1 207 2 + 1 208 2 + 1 209 2 + 1 210 2 + 1 211 2 + 1 212 2 + 1 213 2 + 1 214 2 + 1 215 2 + 1 216 2 + 1 217 2 + 1 218 2 + 1 219 2 + 1 220 2 + 1 221 2 + 1 222 2 + 1 223 2 + 1 224 2 + 1 225 2 + 1 226 2 + 1 227 2 + 1 228 2 + 1 229 2 + 1 230 2 + 1 231 2 + 1 232 2 + 1 233 2 + 1 234 2 + 1 235 2 + 1 236 2 + 1 237 2 + 1 238 2 + 1 239 2 + 1 240 2 + 1 241 2 + 1 242 2 + 1 243 2 + 1 244 2 + 1 245 2 + 1 246 2 + 1 247 2 + 1 248 2 + 1 249 2 + 1 250 2 + 1 251 2 + 1 252 2 + 1 253 2 + 1 254 2 + 1 255 2 + 1 256 2 + 1 257 2 + 1 258 2 + 1 259 2 + 1 260 2 + 1 261 2 + 1 262 2 + 1 263 2 + 1 264 2 + 1 265 2 + 1 266 2 + 1 267 2 + 1 268 2 + 1 269 2 + 1 270 2 + 1 271 2 + 1 272 2 + 1 273 2 + 1 274 2 + 1 275 2 + 1 276 2 + 1 277 2 + 1 278 2 + 1 279 2 + 1 280 2 + 1 281 2 + 1 282 2 + 1 283 2 + 1 284 2 + 1 285 2 + 1 286 2 + 1 287 2 + 1 288 2 + 1 289 2 + 1 290 2 + 1 291 2 + 1 292 2 + 1 293 2 + 1 294 2 + 1 295 2 + 1 296 2 + 1 297 2 + 1 298 2 + 1 299 2 + 1 300 2 + 1 301 2 + 1 302 2 + 1 303 2 + 1 304 2 + 1 305 2 + 1 306 2 + 1 307 2 + 1 308 2 + 1 309 2 + 1 310 2 + 1 311 2 + 1 312 2 + 1 313 2 + 1 314 2 + 1 315 2 + 1 316 2 + 1 317 2 + 1 318 2 + 1 319 2 + 1 320 2 + 1 321 2 + 1 322 2 + 1 323 2 + 1 324 2 + 1 325 2 + 1 326 2 + 1 327 2 + 1 328 2 + 1 329 2 + 1 330 2 + 1 331 2 + 1 332 2 + 1 333 2 + 1 334 2 + 1 335 2 + 1 336 2 + 1 337 2 + 1 338 2 + 1 339 2 + 1 340 2 + 1 341 2 + 1 342 2 + 1 343 2 + 1 344 2 + 1 345 2 + 1 346 2 + 1 347 2 + 1 348 2 + 1 349 2 + 2 3 2 + 2 4 2 + 2 5 2 + 2 6 2 + 2 7 2 + 2 8 2 + 2 9 2 + 2 10 2 + 2 11 2 + 2 12 2 + 2 13 2 + 2 14 2 + 2 15 2 + 2 16 2 + 2 17 2 + 2 18 2 + 2 19 2 + 2 20 2 + 2 21 2 + 2 22 2 + 2 23 2 + 2 24 2 + 2 25 2 + 2 26 2 + 2 27 2 + 2 28 2 + 2 29 2 + 2 30 2 + 2 31 2 + 2 32 2 + 2 33 2 + 2 34 2 + 2 35 2 + 2 36 2 + 2 37 2 + 2 38 2 + 2 39 2 + 2 40 2 + 2 41 2 + 2 42 2 + 2 43 2 + 2 44 2 + 2 45 2 + 2 46 2 + 2 47 2 + 2 48 2 + 2 49 2 + 2 50 2 + 2 51 2 + 2 52 2 + 2 53 2 + 2 54 2 + 2 55 2 + 2 56 2 + 2 57 2 + 2 58 2 + 2 59 2 + 2 60 2 + 2 61 2 + 2 62 2 + 2 63 2 + 2 64 2 + 2 65 2 + 2 66 2 + 2 67 2 + 2 68 2 + 2 69 2 + 2 70 2 + 2 71 2 + 2 72 2 + 2 73 2 + 2 74 2 + 2 75 2 + 2 76 2 + 2 77 2 + 2 78 2 + 2 79 2 + 2 80 2 + 2 81 2 + 2 82 2 + 2 83 2 + 2 84 2 + 2 85 2 + 2 86 2 + 2 87 2 + 2 88 2 + 2 89 2 + 2 90 2 + 2 91 2 + 2 92 2 + 2 93 2 + 2 94 2 + 2 95 2 + 2 96 2 + 2 97 2 + 2 98 2 + 2 99 2 + 2 100 2 + 2 101 2 + 2 102 2 + 2 103 2 + 2 104 2 + 2 105 2 + 2 106 2 + 2 107 2 + 2 108 2 + 2 109 2 + 2 110 2 + 2 111 2 + 2 112 2 + 2 113 2 + 2 114 2 + 2 115 2 + 2 116 2 + 2 117 2 + 2 118 2 + 2 119 2 + 2 120 2 + 2 121 2 + 2 122 2 + 2 123 2 + 2 124 2 + 2 125 2 + 2 126 2 + 2 127 2 + 2 128 2 + 2 129 2 + 2 130 2 + 2 131 2 + 2 132 2 + 2 133 2 + 2 134 2 + 2 135 2 + 2 136 2 + 2 137 2 + 2 138 2 + 2 139 2 + 2 140 2 + 2 141 2 + 2 142 2 + 2 143 2 + 2 144 2 + 2 145 2 + 2 146 2 + 2 147 2 + 2 148 2 + 2 149 2 + 2 150 2 + 2 151 2 + 2 152 2 + 2 153 2 + 2 154 2 + 2 155 2 + 2 156 2 + 2 157 2 + 2 158 2 + 2 159 2 + 2 160 2 + 2 161 2 + 2 162 2 + 2 163 2 + 2 164 2 + 2 165 2 + 2 166 2 + 2 167 2 + 2 168 2 + 2 169 2 + 2 170 2 + 2 171 2 + 2 172 2 + 2 173 2 + 2 174 2 + 2 175 2 + 2 176 2 + 2 177 2 + 2 178 2 + 2 179 2 + 2 180 2 + 2 181 2 + 2 182 2 + 2 183 2 + 2 184 2 + 2 185 2 + 2 186 2 + 2 187 2 + 2 188 2 + 2 189 2 + 2 190 2 + 2 191 2 + 2 192 2 + 2 193 2 + 2 194 2 + 2 195 2 + 2 196 2 + 2 197 2 + 2 198 2 + 2 199 2 + 2 200 2 + 2 201 2 + 2 202 2 + 2 203 2 + 2 204 2 + 2 205 2 + 2 206 2 + 2 207 2 + 2 208 2 + 2 209 2 + 2 210 2 + 2 211 2 + 2 212 2 + 2 213 2 + 2 214 2 + 2 215 2 + 2 216 2 + 2 217 2 + 2 218 2 + 2 219 2 + 2 220 2 + 2 221 2 + 2 222 2 + 2 223 2 + 2 224 2 + 2 225 2 + 2 226 2 + 2 227 2 + 2 228 2 + 2 229 2 + 2 230 2 + 2 231 2 + 2 232 2 + 2 233 2 + 2 234 2 + 2 235 2 + 2 236 2 + 2 237 2 + 2 238 2 + 2 239 2 + 2 240 2 + 2 241 2 + 2 242 2 + 2 243 2 + 2 244 2 + 2 245 2 + 2 246 2 + 2 247 2 + 2 248 2 + 2 249 2 + 2 250 2 + 2 251 2 + 2 252 2 + 2 253 2 + 2 254 2 + 2 255 2 + 2 256 2 + 2 257 2 + 2 258 2 + 2 259 2 + 2 260 2 + 2 261 2 + 2 262 2 + 2 263 2 + 2 264 2 + 2 265 2 + 2 266 2 + 2 267 2 + 2 268 2 + 2 269 2 + 2 270 2 + 2 271 2 + 2 272 2 + 2 273 2 + 2 274 2 + 2 275 2 + 2 276 2 + 2 277 2 + 2 278 2 + 2 279 2 + 2 280 2 + 2 281 2 + 2 282 2 + 2 283 2 + 2 284 2 + 2 285 2 + 2 286 2 + 2 287 2 + 2 288 2 + 2 289 2 + 2 290 2 + 2 291 2 + 2 292 2 + 2 293 2 + 2 294 2 + 2 295 2 + 2 296 2 + 2 297 2 + 2 298 2 + 2 299 2 + 2 300 2 + 2 301 2 + 2 302 2 + 2 303 2 + 2 304 2 + 2 305 2 + 2 306 2 + 2 307 2 + 2 308 2 + 2 309 2 + 2 310 2 + 2 311 2 + 2 312 2 + 2 313 2 + 2 314 2 + 2 315 2 + 2 316 2 + 2 317 2 + 2 318 2 + 2 319 2 + 2 320 2 + 2 321 2 + 2 322 2 + 2 323 2 + 2 324 2 + 2 325 2 + 2 326 2 + 2 327 2 + 2 328 2 + 2 329 2 + 2 330 2 + 2 331 2 + 2 332 2 + 2 333 2 + 2 334 2 + 2 335 2 + 2 336 2 + 2 337 2 + 2 338 2 + 2 339 2 + 2 340 2 + 2 341 2 + 2 342 2 + 2 343 2 + 2 344 2 + 2 345 2 + 2 346 2 + 2 347 2 + 2 348 2 + 2 349 2 + 3 4 2 + 3 5 2 + 3 6 2 + 3 7 2 + 3 8 2 + 3 9 2 + 3 10 2 + 3 11 2 + 3 12 2 + 3 13 2 + 3 14 2 + 3 15 2 + 3 16 2 + 3 17 2 + 3 18 2 + 3 19 2 + 3 20 2 + 3 21 2 + 3 22 2 + 3 23 2 + 3 24 2 + 3 25 2 + 3 26 2 + 3 27 2 + 3 28 2 + 3 29 2 + 3 30 2 + 3 31 2 + 3 32 2 + 3 33 2 + 3 34 2 + 3 35 2 + 3 36 2 + 3 37 2 + 3 38 2 + 3 39 2 + 3 40 2 + 3 41 2 + 3 42 2 + 3 43 2 + 3 44 2 + 3 45 2 + 3 46 2 + 3 47 2 + 3 48 2 + 3 49 2 + 3 50 2 + 3 51 2 + 3 52 2 + 3 53 2 + 3 54 2 + 3 55 2 + 3 56 2 + 3 57 2 + 3 58 2 + 3 59 2 + 3 60 2 + 3 61 2 + 3 62 2 + 3 63 2 + 3 64 2 + 3 65 2 + 3 66 2 + 3 67 2 + 3 68 2 + 3 69 2 + 3 70 2 + 3 71 2 + 3 72 2 + 3 73 2 + 3 74 2 + 3 75 2 + 3 76 2 + 3 77 2 + 3 78 2 + 3 79 2 + 3 80 2 + 3 81 2 + 3 82 2 + 3 83 2 + 3 84 2 + 3 85 2 + 3 86 2 + 3 87 2 + 3 88 2 + 3 89 2 + 3 90 2 + 3 91 2 + 3 92 2 + 3 93 2 + 3 94 2 + 3 95 2 + 3 96 2 + 3 97 2 + 3 98 2 + 3 99 2 + 3 100 2 + 3 101 2 + 3 102 2 + 3 103 2 + 3 104 2 + 3 105 2 + 3 106 2 + 3 107 2 + 3 108 2 + 3 109 2 + 3 110 2 + 3 111 2 + 3 112 2 + 3 113 2 + 3 114 2 + 3 115 2 + 3 116 2 + 3 117 2 + 3 118 2 + 3 119 2 + 3 120 2 + 3 121 2 + 3 122 2 + 3 123 2 + 3 124 2 + 3 125 2 + 3 126 2 + 3 127 2 + 3 128 2 + 3 129 2 + 3 130 2 + 3 131 2 + 3 132 2 + 3 133 2 + 3 134 2 + 3 135 2 + 3 136 2 + 3 137 2 + 3 138 2 + 3 139 2 + 3 140 2 + 3 141 2 + 3 142 2 + 3 143 2 + 3 144 2 + 3 145 2 + 3 146 2 + 3 147 2 + 3 148 2 + 3 149 2 + 3 150 2 + 3 151 2 + 3 152 2 + 3 153 2 + 3 154 2 + 3 155 2 + 3 156 2 + 3 157 2 + 3 158 2 + 3 159 2 + 3 160 2 + 3 161 2 + 3 162 2 + 3 163 2 + 3 164 2 + 3 165 2 + 3 166 2 + 3 167 2 + 3 168 2 + 3 169 2 + 3 170 2 + 3 171 2 + 3 172 2 + 3 173 2 + 3 174 2 + 3 175 2 + 3 176 2 + 3 177 2 + 3 178 2 + 3 179 2 + 3 180 2 + 3 181 2 + 3 182 2 + 3 183 2 + 3 184 2 + 3 185 2 + 3 186 2 + 3 187 2 + 3 188 2 + 3 189 2 + 3 190 2 + 3 191 2 + 3 192 2 + 3 193 2 + 3 194 2 + 3 195 2 + 3 196 2 + 3 197 2 + 3 198 2 + 3 199 2 + 3 200 2 + 3 201 2 + 3 202 2 + 3 203 2 + 3 204 2 + 3 205 2 + 3 206 2 + 3 207 2 + 3 208 2 + 3 209 2 + 3 210 2 + 3 211 2 + 3 212 2 + 3 213 2 + 3 214 2 + 3 215 2 + 3 216 2 + 3 217 2 + 3 218 2 + 3 219 2 + 3 220 2 + 3 221 2 + 3 222 2 + 3 223 2 + 3 224 2 + 3 225 2 + 3 226 2 + 3 227 2 + 3 228 2 + 3 229 2 + 3 230 2 + 3 231 2 + 3 232 2 + 3 233 2 + 3 234 2 + 3 235 2 + 3 236 2 + 3 237 2 + 3 238 2 + 3 239 2 + 3 240 2 + 3 241 2 + 3 242 2 + 3 243 2 + 3 244 2 + 3 245 2 + 3 246 2 + 3 247 2 + 3 248 2 + 3 249 2 + 3 250 2 + 3 251 2 + 3 252 2 + 3 253 2 + 3 254 2 + 3 255 2 + 3 256 2 + 3 257 2 + 3 258 2 + 3 259 2 + 3 260 2 + 3 261 2 + 3 262 2 + 3 263 2 + 3 264 2 + 3 265 2 + 3 266 2 + 3 267 2 + 3 268 2 + 3 269 2 + 3 270 2 + 3 271 2 + 3 272 2 + 3 273 2 + 3 274 2 + 3 275 2 + 3 276 2 + 3 277 2 + 3 278 2 + 3 279 2 + 3 280 2 + 3 281 2 + 3 282 2 + 3 283 2 + 3 284 2 + 3 285 2 + 3 286 2 + 3 287 2 + 3 288 2 + 3 289 2 + 3 290 2 + 3 291 2 + 3 292 2 + 3 293 2 + 3 294 2 + 3 295 2 + 3 296 2 + 3 297 2 + 3 298 2 + 3 299 2 + 3 300 2 + 3 301 2 + 3 302 2 + 3 303 2 + 3 304 2 + 3 305 2 + 3 306 2 + 3 307 2 + 3 308 2 + 3 309 2 + 3 310 2 + 3 311 2 + 3 312 2 + 3 313 2 + 3 314 2 + 3 315 2 + 3 316 2 + 3 317 2 + 3 318 2 + 3 319 2 + 3 320 2 + 3 321 2 + 3 322 2 + 3 323 2 + 3 324 2 + 3 325 2 + 3 326 2 + 3 327 2 + 3 328 2 + 3 329 2 + 3 330 2 + 3 331 2 + 3 332 2 + 3 333 2 + 3 334 2 + 3 335 2 + 3 336 2 + 3 337 2 + 3 338 2 + 3 339 2 + 3 340 2 + 3 341 2 + 3 342 2 + 3 343 2 + 3 344 2 + 3 345 2 + 3 346 2 + 3 347 2 + 3 348 2 + 3 349 2 + 4 5 2 + 4 6 2 + 4 7 2 + 4 8 2 + 4 9 2 + 4 10 2 + 4 11 2 + 4 12 2 + 4 13 2 + 4 14 2 + 4 15 2 + 4 16 2 + 4 17 2 + 4 18 2 + 4 19 2 + 4 20 2 + 4 21 2 + 4 22 2 + 4 23 2 + 4 24 2 + 4 25 2 + 4 26 2 + 4 27 2 + 4 28 2 + 4 29 2 + 4 30 2 + 4 31 2 + 4 32 2 + 4 33 2 + 4 34 2 + 4 35 2 + 4 36 2 + 4 37 2 + 4 38 2 + 4 39 2 + 4 40 2 + 4 41 2 + 4 42 2 + 4 43 2 + 4 44 2 + 4 45 2 + 4 46 2 + 4 47 2 + 4 48 2 + 4 49 2 + 4 50 2 + 4 51 2 + 4 52 2 + 4 53 2 + 4 54 2 + 4 55 2 + 4 56 2 + 4 57 2 + 4 58 2 + 4 59 2 + 4 60 2 + 4 61 2 + 4 62 2 + 4 63 2 + 4 64 2 + 4 65 2 + 4 66 2 + 4 67 2 + 4 68 2 + 4 69 2 + 4 70 2 + 4 71 2 + 4 72 2 + 4 73 2 + 4 74 2 + 4 75 2 + 4 76 2 + 4 77 2 + 4 78 2 + 4 79 2 + 4 80 2 + 4 81 2 + 4 82 2 + 4 83 2 + 4 84 2 + 4 85 2 + 4 86 2 + 4 87 2 + 4 88 2 + 4 89 2 + 4 90 2 + 4 91 2 + 4 92 2 + 4 93 2 + 4 94 2 + 4 95 2 + 4 96 2 + 4 97 2 + 4 98 2 + 4 99 2 + 4 100 2 + 4 101 2 + 4 102 2 + 4 103 2 + 4 104 2 + 4 105 2 + 4 106 2 + 4 107 2 + 4 108 2 + 4 109 2 + 4 110 2 + 4 111 2 + 4 112 2 + 4 113 2 + 4 114 2 + 4 115 2 + 4 116 2 + 4 117 2 + 4 118 2 + 4 119 2 + 4 120 2 + 4 121 2 + 4 122 2 + 4 123 2 + 4 124 2 + 4 125 2 + 4 126 2 + 4 127 2 + 4 128 2 + 4 129 2 + 4 130 2 + 4 131 2 + 4 132 2 + 4 133 2 + 4 134 2 + 4 135 2 + 4 136 2 + 4 137 2 + 4 138 2 + 4 139 2 + 4 140 2 + 4 141 2 + 4 142 2 + 4 143 2 + 4 144 2 + 4 145 2 + 4 146 2 + 4 147 2 + 4 148 2 + 4 149 2 + 4 150 2 + 4 151 2 + 4 152 2 + 4 153 2 + 4 154 2 + 4 155 2 + 4 156 2 + 4 157 2 + 4 158 2 + 4 159 2 + 4 160 2 + 4 161 2 + 4 162 2 + 4 163 2 + 4 164 2 + 4 165 2 + 4 166 2 + 4 167 2 + 4 168 2 + 4 169 2 + 4 170 2 + 4 171 2 + 4 172 2 + 4 173 2 + 4 174 2 + 4 175 2 + 4 176 2 + 4 177 2 + 4 178 2 + 4 179 2 + 4 180 2 + 4 181 2 + 4 182 2 + 4 183 4 + 4 184 4 + 4 185 4 + 4 186 4 + 4 187 4 + 4 188 4 + 4 189 4 + 4 190 4 + 4 191 4 + 4 192 4 + 4 193 4 + 4 194 4 + 4 195 4 + 4 196 4 + 4 197 4 + 4 198 4 + 4 199 4 + 4 200 4 + 4 201 4 + 4 202 4 + 4 203 4 + 4 204 4 + 4 205 4 + 4 206 4 + 4 207 4 + 4 208 4 + 4 209 4 + 4 210 4 + 4 211 4 + 4 212 4 + 4 213 4 + 4 214 4 + 4 215 4 + 4 216 4 + 4 217 4 + 4 218 4 + 4 219 4 + 4 220 4 + 4 221 4 + 4 222 4 + 4 223 4 + 4 224 4 + 4 225 4 + 4 226 4 + 4 227 4 + 4 228 4 + 4 229 4 + 4 230 4 + 4 231 4 + 4 232 4 + 4 233 4 + 4 234 4 + 4 235 4 + 4 236 4 + 4 237 4 + 4 238 4 + 4 239 4 + 4 240 4 + 4 241 4 + 4 242 4 + 4 243 4 + 4 244 4 + 4 245 4 + 4 246 4 + 4 247 4 + 4 248 4 + 4 249 4 + 4 250 4 + 4 251 4 + 4 252 4 + 4 253 4 + 4 254 4 + 4 255 4 + 4 256 4 + 4 257 4 + 4 258 4 + 4 259 4 + 4 260 4 + 4 261 4 + 4 262 4 + 4 263 4 + 4 264 4 + 4 265 4 + 4 266 4 + 4 267 4 + 4 268 4 + 4 269 4 + 4 270 4 + 4 271 4 + 4 272 4 + 4 273 4 + 4 274 4 + 4 275 4 + 4 276 4 + 4 277 4 + 4 278 4 + 4 279 4 + 4 280 4 + 4 281 4 + 4 282 4 + 4 283 4 + 4 284 4 + 4 285 4 + 4 286 4 + 4 287 4 + 4 288 4 + 4 289 4 + 4 290 4 + 4 291 4 + 4 292 4 + 4 293 4 + 4 294 4 + 4 295 4 + 4 296 4 + 4 297 4 + 4 298 4 + 4 299 4 + 4 300 4 + 4 301 4 + 4 302 4 + 4 303 4 + 4 304 4 + 4 305 4 + 4 306 4 + 4 307 4 + 4 308 4 + 4 309 4 + 4 310 4 + 4 311 4 + 4 312 4 + 4 313 4 + 4 314 4 + 4 315 4 + 4 316 4 + 4 317 4 + 4 318 4 + 4 319 4 + 4 320 4 + 4 321 4 + 4 322 4 + 4 323 4 + 4 324 4 + 4 325 4 + 4 326 4 + 4 327 4 + 4 328 4 + 4 329 4 + 4 330 4 + 4 331 4 + 4 332 4 + 4 333 4 + 4 334 4 + 4 335 4 + 4 336 4 + 4 337 4 + 4 338 4 + 4 339 4 + 4 340 4 + 4 341 4 + 4 342 4 + 4 343 4 + 4 344 4 + 4 345 4 + 4 346 4 + 4 347 4 + 4 348 4 + 4 349 4 + 5 6 4 + 5 7 4 + 5 8 4 + 5 9 4 + 5 10 4 + 5 11 4 + 5 12 4 + 5 13 4 + 5 14 4 + 5 15 4 + 5 16 4 + 5 17 4 + 5 18 4 + 5 19 4 + 5 20 4 + 5 21 4 + 5 22 4 + 5 23 4 + 5 24 4 + 5 25 4 + 5 26 4 + 5 27 4 + 5 28 4 + 5 29 4 + 5 30 4 + 5 31 4 + 5 32 4 + 5 33 4 + 5 34 4 + 5 35 4 + 5 36 4 + 5 37 4 + 5 38 4 + 5 39 4 + 5 40 4 + 5 41 4 + 5 42 4 + 5 43 4 + 5 44 4 + 5 45 4 + 5 46 4 + 5 47 4 + 5 48 4 + 5 49 4 + 5 50 4 + 5 51 4 + 5 52 4 + 5 53 4 + 5 54 4 + 5 55 4 + 5 56 4 + 5 57 4 + 5 58 4 + 5 59 4 + 5 60 4 + 5 61 4 + 5 62 4 + 5 63 4 + 5 64 4 + 5 65 4 + 5 66 4 + 5 67 4 + 5 68 4 + 5 69 4 + 5 70 4 + 5 71 4 + 5 72 4 + 5 73 4 + 5 74 4 + 5 75 4 + 5 76 4 + 5 77 4 + 5 78 4 + 5 79 4 + 5 80 4 + 5 81 4 + 5 82 4 + 5 83 4 + 5 84 4 + 5 85 4 + 5 86 4 + 5 87 4 + 5 88 4 + 5 89 4 + 5 90 4 + 5 91 4 + 5 92 4 + 5 93 4 + 5 94 4 + 5 95 4 + 5 96 4 + 5 97 4 + 5 98 4 + 5 99 4 + 5 100 4 + 5 101 4 + 5 102 4 + 5 103 4 + 5 104 4 + 5 105 4 + 5 106 4 + 5 107 4 + 5 108 4 + 5 109 4 + 5 110 4 + 5 111 4 + 5 112 4 + 5 113 4 + 5 114 4 + 5 115 4 + 5 116 4 + 5 117 4 + 5 118 4 + 5 119 4 + 5 120 4 + 5 121 4 + 5 122 4 + 5 123 4 + 5 124 4 + 5 125 4 + 5 126 4 + 5 127 4 + 5 128 4 + 5 129 4 + 5 130 4 + 5 131 4 + 5 132 4 + 5 133 4 + 5 134 4 + 5 135 4 + 5 136 4 + 5 137 4 + 5 138 4 + 5 139 4 + 5 140 4 + 5 141 4 + 5 142 4 + 5 143 4 + 5 144 4 + 5 145 4 + 5 146 4 + 5 147 4 + 5 148 4 + 5 149 4 + 5 150 4 + 5 151 4 + 5 152 4 + 5 153 4 + 5 154 4 + 5 155 4 + 5 156 4 + 5 157 4 + 5 158 4 + 5 159 4 + 5 160 4 + 5 161 4 + 5 162 4 + 5 163 4 + 5 164 4 + 5 165 4 + 5 166 4 + 5 167 4 + 5 168 4 + 5 169 4 + 5 170 4 + 5 171 4 + 5 172 4 + 5 173 4 + 5 174 4 + 5 175 4 + 5 176 4 + 5 177 4 + 5 178 4 + 5 179 4 + 5 180 4 + 5 181 4 + 5 182 4 + 5 183 4 + 5 184 4 + 5 185 4 + 5 186 4 + 5 187 4 + 5 188 4 + 5 189 4 + 5 190 4 + 5 191 4 + 5 192 4 + 5 193 4 + 5 194 4 + 5 195 4 + 5 196 4 + 5 197 4 + 5 198 4 + 5 199 4 + 5 200 4 + 5 201 4 + 5 202 4 + 5 203 4 + 5 204 4 + 5 205 4 + 5 206 4 + 5 207 4 + 5 208 4 + 5 209 4 + 5 210 4 + 5 211 4 + 5 212 4 + 5 213 4 + 5 214 4 + 5 215 4 + 5 216 4 + 5 217 4 + 5 218 4 + 5 219 4 + 5 220 4 + 5 221 4 + 5 222 4 + 5 223 4 + 5 224 4 + 5 225 4 + 5 226 4 + 5 227 4 + 5 228 4 + 5 229 4 + 5 230 4 + 5 231 4 + 5 232 4 + 5 233 4 + 5 234 4 + 5 235 4 + 5 236 4 + 5 237 4 + 5 238 4 + 5 239 4 + 5 240 4 + 5 241 4 + 5 242 4 + 5 243 4 + 5 244 4 + 5 245 4 + 5 246 4 + 5 247 4 + 5 248 4 + 5 249 4 + 5 250 4 + 5 251 4 + 5 252 4 + 5 253 4 + 5 254 4 + 5 255 4 + 5 256 4 + 5 257 4 + 5 258 4 + 5 259 4 + 5 260 4 + 5 261 4 + 5 262 4 + 5 263 4 + 5 264 4 + 5 265 4 + 5 266 4 + 5 267 4 + 5 268 4 + 5 269 4 + 5 270 4 + 5 271 4 + 5 272 4 + 5 273 4 + 5 274 4 + 5 275 4 + 5 276 4 + 5 277 4 + 5 278 4 + 5 279 4 + 5 280 4 + 5 281 4 + 5 282 4 + 5 283 4 + 5 284 4 + 5 285 4 + 5 286 4 + 5 287 4 + 5 288 4 + 5 289 4 + 5 290 4 + 5 291 4 + 5 292 4 + 5 293 4 + 5 294 4 + 5 295 4 + 5 296 4 + 5 297 4 + 5 298 4 + 5 299 4 + 5 300 4 + 5 301 4 + 5 302 4 + 5 303 4 + 5 304 4 + 5 305 4 + 5 306 4 + 5 307 4 + 5 308 4 + 5 309 4 + 5 310 4 + 5 311 4 + 5 312 4 + 5 313 4 + 5 314 4 + 5 315 4 + 5 316 4 + 5 317 4 + 5 318 4 + 5 319 4 + 5 320 4 + 5 321 4 + 5 322 4 + 5 323 4 + 5 324 4 + 5 325 4 + 5 326 4 + 5 327 4 + 5 328 4 + 5 329 4 + 5 330 4 + 5 331 4 + 5 332 4 + 5 333 4 + 5 334 4 + 5 335 4 + 5 336 4 + 5 337 4 + 5 338 4 + 5 339 4 + 5 340 4 + 5 341 4 + 5 342 4 + 5 343 4 + 5 344 4 + 5 345 4 + 5 346 4 + 5 347 4 + 5 348 4 + 5 349 4 + 6 7 4 + 6 8 4 + 6 9 4 + 6 10 4 + 6 11 4 + 6 12 4 + 6 13 4 + 6 14 4 + 6 15 4 + 6 16 4 + 6 17 4 + 6 18 4 + 6 19 4 + 6 20 4 + 6 21 4 + 6 22 4 + 6 23 4 + 6 24 4 + 6 25 4 + 6 26 4 + 6 27 4 + 6 28 4 + 6 29 4 + 6 30 4 + 6 31 4 + 6 32 4 + 6 33 4 + 6 34 4 + 6 35 4 + 6 36 4 + 6 37 4 + 6 38 4 + 6 39 4 + 6 40 4 + 6 41 4 + 6 42 4 + 6 43 4 + 6 44 4 + 6 45 4 + 6 46 4 + 6 47 4 + 6 48 4 + 6 49 4 + 6 50 4 + 6 51 4 + 6 52 4 + 6 53 4 + 6 54 4 + 6 55 4 + 6 56 4 + 6 57 4 + 6 58 4 + 6 59 4 + 6 60 4 + 6 61 4 + 6 62 4 + 6 63 4 + 6 64 4 + 6 65 4 + 6 66 4 + 6 67 4 + 6 68 4 + 6 69 4 + 6 70 4 + 6 71 4 + 6 72 4 + 6 73 4 + 6 74 4 + 6 75 4 + 6 76 4 + 6 77 4 + 6 78 4 + 6 79 4 + 6 80 4 + 6 81 4 + 6 82 4 + 6 83 4 + 6 84 4 + 6 85 4 + 6 86 4 + 6 87 4 + 6 88 4 + 6 89 4 + 6 90 4 + 6 91 4 + 6 92 4 + 6 93 4 + 6 94 4 + 6 95 4 + 6 96 4 + 6 97 4 + 6 98 4 + 6 99 4 + 6 100 4 + 6 101 4 + 6 102 4 + 6 103 4 + 6 104 4 + 6 105 4 + 6 106 4 + 6 107 4 + 6 108 4 + 6 109 4 + 6 110 4 + 6 111 4 + 6 112 4 + 6 113 4 + 6 114 4 + 6 115 4 + 6 116 4 + 6 117 4 + 6 118 4 + 6 119 4 + 6 120 4 + 6 121 4 + 6 122 4 + 6 123 4 + 6 124 4 + 6 125 4 + 6 126 4 + 6 127 4 + 6 128 4 + 6 129 4 + 6 130 4 + 6 131 4 + 6 132 4 + 6 133 4 + 6 134 4 + 6 135 4 + 6 136 4 + 6 137 4 + 6 138 4 + 6 139 4 + 6 140 4 + 6 141 4 + 6 142 4 + 6 143 4 + 6 144 4 + 6 145 4 + 6 146 4 + 6 147 4 + 6 148 4 + 6 149 4 + 6 150 4 + 6 151 4 + 6 152 4 + 6 153 4 + 6 154 4 + 6 155 4 + 6 156 4 + 6 157 4 + 6 158 4 + 6 159 4 + 6 160 4 + 6 161 4 + 6 162 4 + 6 163 4 + 6 164 4 + 6 165 4 + 6 166 4 + 6 167 4 + 6 168 4 + 6 169 4 + 6 170 4 + 6 171 4 + 6 172 4 + 6 173 4 + 6 174 4 + 6 175 4 + 6 176 4 + 6 177 4 + 6 178 4 + 6 179 4 + 6 180 4 + 6 181 4 + 6 182 4 + 6 183 4 + 6 184 4 + 6 185 4 + 6 186 4 + 6 187 4 + 6 188 4 + 6 189 4 + 6 190 4 + 6 191 4 + 6 192 4 + 6 193 4 + 6 194 4 + 6 195 4 + 6 196 4 + 6 197 4 + 6 198 4 + 6 199 4 + 6 200 4 + 6 201 4 + 6 202 4 + 6 203 4 + 6 204 4 + 6 205 4 + 6 206 4 + 6 207 4 + 6 208 4 + 6 209 4 + 6 210 4 + 6 211 4 + 6 212 4 + 6 213 4 + 6 214 4 + 6 215 4 + 6 216 4 + 6 217 4 + 6 218 4 + 6 219 4 + 6 220 4 + 6 221 4 + 6 222 4 + 6 223 4 + 6 224 4 + 6 225 4 + 6 226 4 + 6 227 4 + 6 228 4 + 6 229 4 + 6 230 4 + 6 231 4 + 6 232 4 + 6 233 4 + 6 234 4 + 6 235 4 + 6 236 4 + 6 237 4 + 6 238 4 + 6 239 4 + 6 240 4 + 6 241 4 + 6 242 4 + 6 243 4 + 6 244 4 + 6 245 4 + 6 246 4 + 6 247 4 + 6 248 4 + 6 249 4 + 6 250 4 + 6 251 4 + 6 252 4 + 6 253 4 + 6 254 4 + 6 255 4 + 6 256 4 + 6 257 4 + 6 258 4 + 6 259 4 + 6 260 4 + 6 261 4 + 6 262 4 + 6 263 4 + 6 264 4 + 6 265 4 + 6 266 4 + 6 267 4 + 6 268 4 + 6 269 4 + 6 270 4 + 6 271 4 + 6 272 4 + 6 273 4 + 6 274 4 + 6 275 4 + 6 276 4 + 6 277 4 + 6 278 4 + 6 279 4 + 6 280 4 + 6 281 4 + 6 282 4 + 6 283 4 + 6 284 4 + 6 285 4 + 6 286 4 + 6 287 4 + 6 288 4 + 6 289 4 + 6 290 4 + 6 291 4 + 6 292 4 + 6 293 4 + 6 294 4 + 6 295 4 + 6 296 4 + 6 297 4 + 6 298 4 + 6 299 4 + 6 300 4 + 6 301 4 + 6 302 4 + 6 303 4 + 6 304 4 + 6 305 4 + 6 306 4 + 6 307 4 + 6 308 4 + 6 309 4 + 6 310 4 + 6 311 4 + 6 312 4 + 6 313 4 + 6 314 4 + 6 315 4 + 6 316 4 + 6 317 4 + 6 318 4 + 6 319 4 + 6 320 4 + 6 321 4 + 6 322 4 + 6 323 4 + 6 324 4 + 6 325 4 + 6 326 4 + 6 327 4 + 6 328 4 + 6 329 4 + 6 330 4 + 6 331 4 + 6 332 4 + 6 333 4 + 6 334 4 + 6 335 4 + 6 336 4 + 6 337 4 + 6 338 4 + 6 339 4 + 6 340 4 + 6 341 4 + 6 342 4 + 6 343 4 + 6 344 4 + 6 345 4 + 6 346 4 + 6 347 4 + 6 348 4 + 6 349 4 + 7 8 4 + 7 9 4 + 7 10 4 + 7 11 4 + 7 12 4 + 7 13 4 + 7 14 4 + 7 15 4 + 7 16 4 + 7 17 4 + 7 18 4 + 7 19 4 + 7 20 4 + 7 21 4 + 7 22 4 + 7 23 4 + 7 24 4 + 7 25 4 + 7 26 4 + 7 27 4 + 7 28 4 + 7 29 4 + 7 30 4 + 7 31 4 + 7 32 4 + 7 33 4 + 7 34 4 + 7 35 4 + 7 36 4 + 7 37 4 + 7 38 4 + 7 39 4 + 7 40 4 + 7 41 4 + 7 42 4 + 7 43 4 + 7 44 4 + 7 45 4 + 7 46 4 + 7 47 4 + 7 48 4 + 7 49 4 + 7 50 4 + 7 51 4 + 7 52 4 + 7 53 4 + 7 54 4 + 7 55 4 + 7 56 4 + 7 57 4 + 7 58 4 + 7 59 4 + 7 60 4 + 7 61 4 + 7 62 4 + 7 63 4 + 7 64 4 + 7 65 4 + 7 66 4 + 7 67 4 + 7 68 4 + 7 69 4 + 7 70 4 + 7 71 4 + 7 72 4 + 7 73 4 + 7 74 4 + 7 75 4 + 7 76 4 + 7 77 4 + 7 78 4 + 7 79 4 + 7 80 4 + 7 81 4 + 7 82 4 + 7 83 4 + 7 84 4 + 7 85 4 + 7 86 4 + 7 87 4 + 7 88 4 + 7 89 4 + 7 90 4 + 7 91 4 + 7 92 4 + 7 93 4 + 7 94 4 + 7 95 4 + 7 96 4 + 7 97 4 + 7 98 4 + 7 99 4 + 7 100 4 + 7 101 4 + 7 102 4 + 7 103 4 + 7 104 4 + 7 105 4 + 7 106 4 + 7 107 4 + 7 108 4 + 7 109 4 + 7 110 4 + 7 111 4 + 7 112 4 + 7 113 4 + 7 114 4 + 7 115 4 + 7 116 4 + 7 117 4 + 7 118 4 + 7 119 4 + 7 120 4 + 7 121 4 + 7 122 4 + 7 123 4 + 7 124 4 + 7 125 4 + 7 126 4 + 7 127 4 + 7 128 4 + 7 129 4 + 7 130 4 + 7 131 4 + 7 132 4 + 7 133 4 + 7 134 4 + 7 135 4 + 7 136 4 + 7 137 4 + 7 138 4 + 7 139 4 + 7 140 4 + 7 141 4 + 7 142 4 + 7 143 4 + 7 144 4 + 7 145 4 + 7 146 4 + 7 147 4 + 7 148 4 + 7 149 4 + 7 150 4 + 7 151 4 + 7 152 4 + 7 153 4 + 7 154 4 + 7 155 4 + 7 156 4 + 7 157 4 + 7 158 4 + 7 159 4 + 7 160 4 + 7 161 4 + 7 162 4 + 7 163 4 + 7 164 4 + 7 165 4 + 7 166 4 + 7 167 4 + 7 168 4 + 7 169 4 + 7 170 4 + 7 171 4 + 7 172 4 + 7 173 4 + 7 174 4 + 7 175 4 + 7 176 4 + 7 177 4 + 7 178 4 + 7 179 4 + 7 180 4 + 7 181 4 + 7 182 4 + 7 183 4 + 7 184 4 + 7 185 4 + 7 186 4 + 7 187 4 + 7 188 4 + 7 189 4 + 7 190 4 + 7 191 4 + 7 192 4 + 7 193 4 + 7 194 4 + 7 195 4 + 7 196 4 + 7 197 4 + 7 198 4 + 7 199 4 + 7 200 4 + 7 201 4 + 7 202 4 + 7 203 4 + 7 204 4 + 7 205 4 + 7 206 4 + 7 207 4 + 7 208 4 + 7 209 4 + 7 210 4 + 7 211 4 + 7 212 4 + 7 213 4 + 7 214 4 + 7 215 4 + 7 216 4 + 7 217 4 + 7 218 4 + 7 219 4 + 7 220 4 + 7 221 4 + 7 222 4 + 7 223 4 + 7 224 4 + 7 225 4 + 7 226 4 + 7 227 4 + 7 228 4 + 7 229 4 + 7 230 4 + 7 231 4 + 7 232 4 + 7 233 4 + 7 234 4 + 7 235 4 + 7 236 4 + 7 237 4 + 7 238 4 + 7 239 4 + 7 240 4 + 7 241 4 + 7 242 4 + 7 243 4 + 7 244 4 + 7 245 4 + 7 246 4 + 7 247 4 + 7 248 4 + 7 249 4 + 7 250 4 + 7 251 4 + 7 252 4 + 7 253 4 + 7 254 4 + 7 255 4 + 7 256 4 + 7 257 4 + 7 258 4 + 7 259 4 + 7 260 4 + 7 261 4 + 7 262 4 + 7 263 4 + 7 264 4 + 7 265 4 + 7 266 4 + 7 267 4 + 7 268 4 + 7 269 4 + 7 270 4 + 7 271 4 + 7 272 4 + 7 273 4 + 7 274 4 + 7 275 4 + 7 276 4 + 7 277 4 + 7 278 4 + 7 279 4 + 7 280 4 + 7 281 4 + 7 282 4 + 7 283 4 + 7 284 4 + 7 285 4 + 7 286 4 + 7 287 4 + 7 288 4 + 7 289 4 + 7 290 4 + 7 291 4 + 7 292 4 + 7 293 4 + 7 294 4 + 7 295 4 + 7 296 4 + 7 297 4 + 7 298 4 + 7 299 4 + 7 300 4 + 7 301 4 + 7 302 4 + 7 303 4 + 7 304 4 + 7 305 4 + 7 306 4 + 7 307 4 + 7 308 4 + 7 309 4 + 7 310 4 + 7 311 4 + 7 312 4 + 7 313 4 + 7 314 4 + 7 315 4 + 7 316 4 + 7 317 4 + 7 318 4 + 7 319 4 + 7 320 4 + 7 321 4 + 7 322 4 + 7 323 4 + 7 324 4 + 7 325 4 + 7 326 4 + 7 327 4 + 7 328 4 + 7 329 4 + 7 330 4 + 7 331 4 + 7 332 4 + 7 333 4 + 7 334 4 + 7 335 4 + 7 336 4 + 7 337 4 + 7 338 4 + 7 339 4 + 7 340 4 + 7 341 4 + 7 342 4 + 7 343 4 + 7 344 4 + 7 345 4 + 7 346 4 + 7 347 4 + 7 348 4 + 7 349 4 + 8 9 4 + 8 10 4 + 8 11 4 + 8 12 4 + 8 13 4 + 8 14 4 + 8 15 4 + 8 16 4 + 8 17 4 + 8 18 4 + 8 19 4 + 8 20 4 + 8 21 4 + 8 22 4 + 8 23 4 + 8 24 4 + 8 25 4 + 8 26 4 + 8 27 4 + 8 28 4 + 8 29 4 + 8 30 4 + 8 31 4 + 8 32 4 + 8 33 4 + 8 34 4 + 8 35 4 + 8 36 4 + 8 37 4 + 8 38 4 + 8 39 4 + 8 40 4 + 8 41 4 + 8 42 4 + 8 43 4 + 8 44 4 + 8 45 4 + 8 46 4 + 8 47 4 + 8 48 4 + 8 49 4 + 8 50 4 + 8 51 4 + 8 52 4 + 8 53 4 + 8 54 4 + 8 55 4 + 8 56 4 + 8 57 4 + 8 58 4 + 8 59 4 + 8 60 4 + 8 61 4 + 8 62 4 + 8 63 4 + 8 64 4 + 8 65 4 + 8 66 4 + 8 67 4 + 8 68 4 + 8 69 4 + 8 70 4 + 8 71 4 + 8 72 4 + 8 73 4 + 8 74 4 + 8 75 4 + 8 76 4 + 8 77 4 + 8 78 4 + 8 79 4 + 8 80 4 + 8 81 4 + 8 82 4 + 8 83 4 + 8 84 4 + 8 85 4 + 8 86 4 + 8 87 4 + 8 88 4 + 8 89 4 + 8 90 4 + 8 91 4 + 8 92 4 + 8 93 4 + 8 94 4 + 8 95 4 + 8 96 4 + 8 97 4 + 8 98 4 + 8 99 4 + 8 100 4 + 8 101 4 + 8 102 4 + 8 103 4 + 8 104 4 + 8 105 4 + 8 106 4 + 8 107 4 + 8 108 4 + 8 109 4 + 8 110 4 + 8 111 4 + 8 112 4 + 8 113 4 + 8 114 4 + 8 115 4 + 8 116 4 + 8 117 4 + 8 118 4 + 8 119 4 + 8 120 4 + 8 121 4 + 8 122 4 + 8 123 4 + 8 124 4 + 8 125 4 + 8 126 4 + 8 127 4 + 8 128 4 + 8 129 4 + 8 130 4 + 8 131 4 + 8 132 4 + 8 133 4 + 8 134 4 + 8 135 4 + 8 136 4 + 8 137 4 + 8 138 4 + 8 139 4 + 8 140 4 + 8 141 4 + 8 142 4 + 8 143 4 + 8 144 4 + 8 145 4 + 8 146 4 + 8 147 4 + 8 148 4 + 8 149 4 + 8 150 4 + 8 151 4 + 8 152 4 + 8 153 4 + 8 154 4 + 8 155 4 + 8 156 4 + 8 157 4 + 8 158 4 + 8 159 4 + 8 160 4 + 8 161 4 + 8 162 4 + 8 163 4 + 8 164 4 + 8 165 4 + 8 166 4 + 8 167 4 + 8 168 4 + 8 169 4 + 8 170 4 + 8 171 4 + 8 172 4 + 8 173 4 + 8 174 4 + 8 175 4 + 8 176 4 + 8 177 4 + 8 178 4 + 8 179 4 + 8 180 4 + 8 181 4 + 8 182 4 + 8 183 4 + 8 184 4 + 8 185 4 + 8 186 4 + 8 187 4 + 8 188 4 + 8 189 4 + 8 190 4 + 8 191 4 + 8 192 4 + 8 193 4 + 8 194 4 + 8 195 4 + 8 196 4 + 8 197 4 + 8 198 4 + 8 199 4 + 8 200 4 + 8 201 4 + 8 202 4 + 8 203 4 + 8 204 4 + 8 205 4 + 8 206 4 + 8 207 4 + 8 208 4 + 8 209 4 + 8 210 4 + 8 211 4 + 8 212 4 + 8 213 4 + 8 214 4 + 8 215 4 + 8 216 4 + 8 217 4 + 8 218 4 + 8 219 4 + 8 220 4 + 8 221 4 + 8 222 4 + 8 223 4 + 8 224 4 + 8 225 4 + 8 226 4 + 8 227 4 + 8 228 4 + 8 229 4 + 8 230 4 + 8 231 4 + 8 232 4 + 8 233 4 + 8 234 4 + 8 235 4 + 8 236 4 + 8 237 4 + 8 238 4 + 8 239 4 + 8 240 4 + 8 241 4 + 8 242 4 + 8 243 4 + 8 244 4 + 8 245 4 + 8 246 4 + 8 247 4 + 8 248 4 + 8 249 4 + 8 250 4 + 8 251 4 + 8 252 4 + 8 253 4 + 8 254 4 + 8 255 4 + 8 256 4 + 8 257 4 + 8 258 4 + 8 259 4 + 8 260 4 + 8 261 4 + 8 262 4 + 8 263 4 + 8 264 4 + 8 265 4 + 8 266 4 + 8 267 4 + 8 268 4 + 8 269 4 + 8 270 4 + 8 271 4 + 8 272 4 + 8 273 4 + 8 274 4 + 8 275 4 + 8 276 4 + 8 277 4 + 8 278 4 + 8 279 4 + 8 280 4 + 8 281 4 + 8 282 4 + 8 283 4 + 8 284 4 + 8 285 4 + 8 286 4 + 8 287 4 + 8 288 4 + 8 289 4 + 8 290 4 + 8 291 4 + 8 292 4 + 8 293 4 + 8 294 4 + 8 295 4 + 8 296 4 + 8 297 4 + 8 298 4 + 8 299 4 + 8 300 4 + 8 301 4 + 8 302 4 + 8 303 4 + 8 304 4 + 8 305 4 + 8 306 4 + 8 307 4 + 8 308 4 + 8 309 4 + 8 310 4 + 8 311 4 + 8 312 4 + 8 313 4 + 8 314 4 + 8 315 4 + 8 316 4 + 8 317 4 + 8 318 4 + 8 319 4 + 8 320 4 + 8 321 4 + 8 322 4 + 8 323 4 + 8 324 4 + 8 325 4 + 8 326 4 + 8 327 4 + 8 328 4 + 8 329 4 + 8 330 4 + 8 331 4 + 8 332 4 + 8 333 4 + 8 334 4 + 8 335 4 + 8 336 4 + 8 337 4 + 8 338 4 + 8 339 4 + 8 340 4 + 8 341 4 + 8 342 4 + 8 343 4 + 8 344 4 + 8 345 4 + 8 346 4 + 8 347 4 + 8 348 4 + 8 349 4 + 9 10 4 + 9 11 4 + 9 12 4 + 9 13 4 + 9 14 4 + 9 15 4 + 9 16 4 + 9 17 4 + 9 18 4 + 9 19 4 + 9 20 4 + 9 21 4 + 9 22 4 + 9 23 4 + 9 24 4 + 9 25 4 + 9 26 4 + 9 27 4 + 9 28 4 + 9 29 4 + 9 30 4 + 9 31 4 + 9 32 4 + 9 33 4 + 9 34 4 + 9 35 4 + 9 36 4 + 9 37 4 + 9 38 4 + 9 39 4 + 9 40 4 + 9 41 4 + 9 42 4 + 9 43 4 + 9 44 4 + 9 45 4 + 9 46 4 + 9 47 4 + 9 48 4 + 9 49 4 + 9 50 4 + 9 51 4 + 9 52 4 + 9 53 4 + 9 54 4 + 9 55 4 + 9 56 4 + 9 57 4 + 9 58 4 + 9 59 4 + 9 60 4 + 9 61 4 + 9 62 4 + 9 63 4 + 9 64 4 + 9 65 4 + 9 66 4 + 9 67 4 + 9 68 4 + 9 69 4 + 9 70 4 + 9 71 4 + 9 72 4 + 9 73 4 + 9 74 4 + 9 75 4 + 9 76 4 + 9 77 4 + 9 78 4 + 9 79 4 + 9 80 4 + 9 81 4 + 9 82 4 + 9 83 4 + 9 84 4 + 9 85 4 + 9 86 4 + 9 87 4 + 9 88 4 + 9 89 4 + 9 90 4 + 9 91 4 + 9 92 4 + 9 93 4 + 9 94 4 + 9 95 4 + 9 96 4 + 9 97 4 + 9 98 4 + 9 99 4 + 9 100 4 + 9 101 4 + 9 102 4 + 9 103 4 + 9 104 4 + 9 105 4 + 9 106 4 + 9 107 4 + 9 108 4 + 9 109 4 + 9 110 4 + 9 111 4 + 9 112 4 + 9 113 4 + 9 114 4 + 9 115 4 + 9 116 4 + 9 117 4 + 9 118 4 + 9 119 4 + 9 120 4 + 9 121 4 + 9 122 4 + 9 123 4 + 9 124 4 + 9 125 4 + 9 126 4 + 9 127 4 + 9 128 4 + 9 129 4 + 9 130 4 + 9 131 4 + 9 132 4 + 9 133 4 + 9 134 4 + 9 135 4 + 9 136 4 + 9 137 4 + 9 138 4 + 9 139 4 + 9 140 4 + 9 141 4 + 9 142 4 + 9 143 4 + 9 144 4 + 9 145 4 + 9 146 4 + 9 147 4 + 9 148 4 + 9 149 4 + 9 150 4 + 9 151 4 + 9 152 4 + 9 153 4 + 9 154 4 + 9 155 4 + 9 156 4 + 9 157 4 + 9 158 4 + 9 159 4 + 9 160 4 + 9 161 4 + 9 162 4 + 9 163 4 + 9 164 4 + 9 165 4 + 9 166 4 + 9 167 4 + 9 168 4 + 9 169 4 + 9 170 4 + 9 171 4 + 9 172 4 + 9 173 4 + 9 174 4 + 9 175 4 + 9 176 4 + 9 177 4 + 9 178 4 + 9 179 4 + 9 180 4 + 9 181 4 + 9 182 4 + 9 183 4 + 9 184 4 + 9 185 4 + 9 186 4 + 9 187 4 + 9 188 4 + 9 189 4 + 9 190 4 + 9 191 4 + 9 192 4 + 9 193 4 + 9 194 4 + 9 195 4 + 9 196 4 + 9 197 4 + 9 198 4 + 9 199 4 + 9 200 4 + 9 201 4 + 9 202 4 + 9 203 4 + 9 204 4 + 9 205 4 + 9 206 4 + 9 207 4 + 9 208 4 + 9 209 4 + 9 210 4 + 9 211 4 + 9 212 4 + 9 213 4 + 9 214 4 + 9 215 4 + 9 216 4 + 9 217 4 + 9 218 4 + 9 219 4 + 9 220 4 + 9 221 4 + 9 222 4 + 9 223 4 + 9 224 4 + 9 225 4 + 9 226 4 + 9 227 4 + 9 228 4 + 9 229 4 + 9 230 4 + 9 231 4 + 9 232 4 + 9 233 4 + 9 234 4 + 9 235 4 + 9 236 4 + 9 237 4 + 9 238 4 + 9 239 4 + 9 240 4 + 9 241 4 + 9 242 4 + 9 243 4 + 9 244 4 + 9 245 4 + 9 246 4 + 9 247 4 + 9 248 4 + 9 249 4 + 9 250 4 + 9 251 4 + 9 252 4 + 9 253 4 + 9 254 4 + 9 255 4 + 9 256 4 + 9 257 4 + 9 258 4 + 9 259 4 + 9 260 4 + 9 261 4 + 9 262 4 + 9 263 4 + 9 264 4 + 9 265 4 + 9 266 4 + 9 267 4 + 9 268 4 + 9 269 4 + 9 270 4 + 9 271 4 + 9 272 4 + 9 273 4 + 9 274 4 + 9 275 4 + 9 276 4 + 9 277 4 + 9 278 4 + 9 279 4 + 9 280 4 + 9 281 4 + 9 282 4 + 9 283 4 + 9 284 4 + 9 285 4 + 9 286 4 + 9 287 4 + 9 288 4 + 9 289 4 + 9 290 4 + 9 291 4 + 9 292 4 + 9 293 4 + 9 294 4 + 9 295 4 + 9 296 4 + 9 297 4 + 9 298 4 + 9 299 4 + 9 300 4 + 9 301 4 + 9 302 4 + 9 303 4 + 9 304 4 + 9 305 4 + 9 306 4 + 9 307 4 + 9 308 4 + 9 309 4 + 9 310 4 + 9 311 4 + 9 312 4 + 9 313 4 + 9 314 4 + 9 315 4 + 9 316 4 + 9 317 4 + 9 318 4 + 9 319 4 + 9 320 4 + 9 321 4 + 9 322 4 + 9 323 4 + 9 324 4 + 9 325 4 + 9 326 4 + 9 327 4 + 9 328 4 + 9 329 4 + 9 330 4 + 9 331 4 + 9 332 4 + 9 333 4 + 9 334 4 + 9 335 4 + 9 336 4 + 9 337 4 + 9 338 4 + 9 339 4 + 9 340 4 + 9 341 4 + 9 342 4 + 9 343 4 + 9 344 4 + 9 345 4 + 9 346 4 + 9 347 4 + 9 348 4 + 9 349 4 + 10 11 4 + 10 12 4 + 10 13 4 + 10 14 4 + 10 15 4 + 10 16 4 + 10 17 4 + 10 18 4 + 10 19 4 + 10 20 4 + 10 21 4 + 10 22 4 + 10 23 4 + 10 24 4 + 10 25 4 + 10 26 4 + 10 27 4 + 10 28 4 + 10 29 4 + 10 30 4 + 10 31 4 + 10 32 4 + 10 33 4 + 10 34 4 + 10 35 4 + 10 36 4 + 10 37 4 + 10 38 4 + 10 39 4 + 10 40 4 + 10 41 4 + 10 42 4 + 10 43 4 + 10 44 4 + 10 45 4 + 10 46 4 + 10 47 4 + 10 48 4 + 10 49 4 + 10 50 4 + 10 51 4 + 10 52 4 + 10 53 4 + 10 54 4 + 10 55 4 + 10 56 4 + 10 57 4 + 10 58 4 + 10 59 4 + 10 60 4 + 10 61 4 + 10 62 4 + 10 63 4 + 10 64 4 + 10 65 4 + 10 66 4 + 10 67 4 + 10 68 4 + 10 69 4 + 10 70 4 + 10 71 4 + 10 72 4 + 10 73 4 + 10 74 4 + 10 75 4 + 10 76 4 + 10 77 4 + 10 78 4 + 10 79 4 + 10 80 4 + 10 81 4 + 10 82 4 + 10 83 4 + 10 84 4 + 10 85 4 + 10 86 4 + 10 87 4 + 10 88 4 + 10 89 4 + 10 90 4 + 10 91 4 + 10 92 4 + 10 93 4 + 10 94 4 + 10 95 4 + 10 96 4 + 10 97 4 + 10 98 4 + 10 99 4 + 10 100 4 + 10 101 4 + 10 102 4 + 10 103 4 + 10 104 4 + 10 105 4 + 10 106 4 + 10 107 4 + 10 108 4 + 10 109 4 + 10 110 4 + 10 111 4 + 10 112 4 + 10 113 4 + 10 114 4 + 10 115 4 + 10 116 4 + 10 117 4 + 10 118 4 + 10 119 4 + 10 120 4 + 10 121 4 + 10 122 4 + 10 123 4 + 10 124 4 + 10 125 4 + 10 126 4 + 10 127 4 + 10 128 4 + 10 129 4 + 10 130 4 + 10 131 4 + 10 132 4 + 10 133 4 + 10 134 4 + 10 135 4 + 10 136 4 + 10 137 4 + 10 138 4 + 10 139 4 + 10 140 4 + 10 141 4 + 10 142 4 + 10 143 4 + 10 144 4 + 10 145 4 + 10 146 4 + 10 147 4 + 10 148 4 + 10 149 4 + 10 150 4 + 10 151 4 + 10 152 4 + 10 153 4 + 10 154 4 + 10 155 4 + 10 156 4 + 10 157 4 + 10 158 4 + 10 159 4 + 10 160 4 + 10 161 4 + 10 162 4 + 10 163 4 + 10 164 4 + 10 165 4 + 10 166 4 + 10 167 4 + 10 168 4 + 10 169 4 + 10 170 4 + 10 171 4 + 10 172 4 + 10 173 4 + 10 174 4 + 10 175 4 + 10 176 4 + 10 177 4 + 10 178 4 + 10 179 4 + 10 180 4 + 10 181 4 + 10 182 4 + 10 183 4 + 10 184 4 + 10 185 4 + 10 186 4 + 10 187 4 + 10 188 4 + 10 189 4 + 10 190 4 + 10 191 4 + 10 192 4 + 10 193 4 + 10 194 4 + 10 195 4 + 10 196 4 + 10 197 4 + 10 198 4 + 10 199 4 + 10 200 4 + 10 201 4 + 10 202 4 + 10 203 4 + 10 204 4 + 10 205 4 + 10 206 4 + 10 207 4 + 10 208 4 + 10 209 4 + 10 210 4 + 10 211 4 + 10 212 4 + 10 213 4 + 10 214 4 + 10 215 4 + 10 216 4 + 10 217 4 + 10 218 4 + 10 219 4 + 10 220 4 + 10 221 4 + 10 222 4 + 10 223 4 + 10 224 4 + 10 225 4 + 10 226 4 + 10 227 4 + 10 228 4 + 10 229 4 + 10 230 4 + 10 231 4 + 10 232 4 + 10 233 4 + 10 234 4 + 10 235 4 + 10 236 4 + 10 237 4 + 10 238 4 + 10 239 4 + 10 240 4 + 10 241 4 + 10 242 4 + 10 243 4 + 10 244 4 + 10 245 4 + 10 246 4 + 10 247 4 + 10 248 4 + 10 249 4 + 10 250 4 + 10 251 4 + 10 252 4 + 10 253 4 + 10 254 4 + 10 255 4 + 10 256 4 + 10 257 4 + 10 258 4 + 10 259 4 + 10 260 4 + 10 261 4 + 10 262 4 + 10 263 4 + 10 264 4 + 10 265 4 + 10 266 4 + 10 267 4 + 10 268 4 + 10 269 4 + 10 270 4 + 10 271 4 + 10 272 4 + 10 273 4 + 10 274 4 + 10 275 4 + 10 276 4 + 10 277 4 + 10 278 4 + 10 279 4 + 10 280 4 + 10 281 4 + 10 282 4 + 10 283 4 + 10 284 4 + 10 285 4 + 10 286 4 + 10 287 4 + 10 288 4 + 10 289 4 + 10 290 4 + 10 291 4 + 10 292 4 + 10 293 4 + 10 294 4 + 10 295 4 + 10 296 4 + 10 297 4 + 10 298 4 + 10 299 4 + 10 300 4 + 10 301 4 + 10 302 4 + 10 303 4 + 10 304 4 + 10 305 4 + 10 306 4 + 10 307 4 + 10 308 4 + 10 309 4 + 10 310 4 + 10 311 4 + 10 312 4 + 10 313 4 + 10 314 4 + 10 315 4 + 10 316 4 + 10 317 4 + 10 318 4 + 10 319 4 + 10 320 4 + 10 321 4 + 10 322 4 + 10 323 4 + 10 324 4 + 10 325 4 + 10 326 4 + 10 327 4 + 10 328 4 + 10 329 4 + 10 330 4 + 10 331 4 + 10 332 4 + 10 333 4 + 10 334 4 + 10 335 4 + 10 336 4 + 10 337 4 + 10 338 4 + 10 339 4 + 10 340 4 + 10 341 4 + 10 342 4 + 10 343 4 + 10 344 4 + 10 345 4 + 10 346 4 + 10 347 4 + 10 348 4 + 10 349 4 + 11 12 4 + 11 13 4 + 11 14 4 + 11 15 4 + 11 16 4 + 11 17 4 + 11 18 4 + 11 19 4 + 11 20 4 + 11 21 4 + 11 22 4 + 11 23 4 + 11 24 4 + 11 25 4 + 11 26 4 + 11 27 4 + 11 28 4 + 11 29 4 + 11 30 4 + 11 31 4 + 11 32 4 + 11 33 4 + 11 34 4 + 11 35 4 + 11 36 4 + 11 37 4 + 11 38 4 + 11 39 4 + 11 40 4 + 11 41 4 + 11 42 4 + 11 43 4 + 11 44 4 + 11 45 4 + 11 46 4 + 11 47 4 + 11 48 4 + 11 49 4 + 11 50 4 + 11 51 4 + 11 52 4 + 11 53 4 + 11 54 4 + 11 55 4 + 11 56 4 + 11 57 4 + 11 58 4 + 11 59 4 + 11 60 4 + 11 61 4 + 11 62 4 + 11 63 4 + 11 64 4 + 11 65 4 + 11 66 4 + 11 67 4 + 11 68 4 + 11 69 4 + 11 70 4 + 11 71 4 + 11 72 4 + 11 73 4 + 11 74 4 + 11 75 4 + 11 76 4 + 11 77 4 + 11 78 4 + 11 79 4 + 11 80 4 + 11 81 4 + 11 82 4 + 11 83 4 + 11 84 4 + 11 85 4 + 11 86 4 + 11 87 4 + 11 88 4 + 11 89 4 + 11 90 4 + 11 91 4 + 11 92 4 + 11 93 4 + 11 94 4 + 11 95 4 + 11 96 4 + 11 97 4 + 11 98 4 + 11 99 4 + 11 100 4 + 11 101 4 + 11 102 4 + 11 103 4 + 11 104 4 + 11 105 4 + 11 106 4 + 11 107 4 + 11 108 4 + 11 109 4 + 11 110 4 + 11 111 4 + 11 112 4 + 11 113 4 + 11 114 4 + 11 115 4 + 11 116 4 + 11 117 4 + 11 118 4 + 11 119 4 + 11 120 4 + 11 121 4 + 11 122 4 + 11 123 4 + 11 124 4 + 11 125 4 + 11 126 4 + 11 127 4 + 11 128 4 + 11 129 4 + 11 130 4 + 11 131 4 + 11 132 4 + 11 133 4 + 11 134 4 + 11 135 4 + 11 136 4 + 11 137 4 + 11 138 4 + 11 139 4 + 11 140 4 + 11 141 4 + 11 142 4 + 11 143 4 + 11 144 4 + 11 145 4 + 11 146 4 + 11 147 4 + 11 148 4 + 11 149 4 + 11 150 4 + 11 151 4 + 11 152 4 + 11 153 4 + 11 154 4 + 11 155 4 + 11 156 4 + 11 157 4 + 11 158 4 + 11 159 4 + 11 160 4 + 11 161 4 + 11 162 4 + 11 163 4 + 11 164 4 + 11 165 4 + 11 166 4 + 11 167 4 + 11 168 4 + 11 169 4 + 11 170 4 + 11 171 4 + 11 172 4 + 11 173 4 + 11 174 4 + 11 175 4 + 11 176 4 + 11 177 4 + 11 178 4 + 11 179 4 + 11 180 4 + 11 181 4 + 11 182 4 + 11 183 4 + 11 184 4 + 11 185 4 + 11 186 4 + 11 187 4 + 11 188 4 + 11 189 4 + 11 190 4 + 11 191 4 + 11 192 4 + 11 193 4 + 11 194 4 + 11 195 4 + 11 196 4 + 11 197 4 + 11 198 4 + 11 199 4 + 11 200 4 + 11 201 4 + 11 202 4 + 11 203 4 + 11 204 4 + 11 205 4 + 11 206 4 + 11 207 4 + 11 208 4 + 11 209 4 + 11 210 4 + 11 211 4 + 11 212 4 + 11 213 4 + 11 214 4 + 11 215 4 + 11 216 4 + 11 217 4 + 11 218 4 + 11 219 4 + 11 220 4 + 11 221 4 + 11 222 4 + 11 223 4 + 11 224 4 + 11 225 4 + 11 226 4 + 11 227 4 + 11 228 4 + 11 229 4 + 11 230 4 + 11 231 4 + 11 232 4 + 11 233 4 + 11 234 4 + 11 235 4 + 11 236 4 + 11 237 4 + 11 238 4 + 11 239 4 + 11 240 4 + 11 241 4 + 11 242 4 + 11 243 4 + 11 244 4 + 11 245 4 + 11 246 4 + 11 247 4 + 11 248 4 + 11 249 4 + 11 250 4 + 11 251 4 + 11 252 4 + 11 253 4 + 11 254 4 + 11 255 4 + 11 256 4 + 11 257 4 + 11 258 4 + 11 259 4 + 11 260 4 + 11 261 4 + 11 262 4 + 11 263 4 + 11 264 4 + 11 265 4 + 11 266 4 + 11 267 4 + 11 268 4 + 11 269 4 + 11 270 4 + 11 271 4 + 11 272 4 + 11 273 4 + 11 274 4 + 11 275 4 + 11 276 4 + 11 277 4 + 11 278 4 + 11 279 4 + 11 280 4 + 11 281 4 + 11 282 4 + 11 283 4 + 11 284 4 + 11 285 4 + 11 286 4 + 11 287 4 + 11 288 4 + 11 289 4 + 11 290 4 + 11 291 4 + 11 292 4 + 11 293 4 + 11 294 4 + 11 295 4 + 11 296 4 + 11 297 4 + 11 298 4 + 11 299 4 + 11 300 4 + 11 301 4 + 11 302 4 + 11 303 4 + 11 304 4 + 11 305 4 + 11 306 4 + 11 307 4 + 11 308 4 + 11 309 4 + 11 310 4 + 11 311 4 + 11 312 4 + 11 313 4 + 11 314 4 + 11 315 4 + 11 316 4 + 11 317 4 + 11 318 4 + 11 319 4 + 11 320 4 + 11 321 4 + 11 322 4 + 11 323 4 + 11 324 4 + 11 325 4 + 11 326 4 + 11 327 4 + 11 328 4 + 11 329 4 + 11 330 4 + 11 331 4 + 11 332 4 + 11 333 4 + 11 334 4 + 11 335 4 + 11 336 4 + 11 337 4 + 11 338 4 + 11 339 4 + 11 340 4 + 11 341 4 + 11 342 4 + 11 343 4 + 11 344 4 + 11 345 4 + 11 346 4 + 11 347 4 + 11 348 4 + 11 349 4 + 12 13 4 + 12 14 4 + 12 15 4 + 12 16 4 + 12 17 4 + 12 18 4 + 12 19 4 + 12 20 4 + 12 21 4 + 12 22 4 + 12 23 4 + 12 24 4 + 12 25 4 + 12 26 4 + 12 27 4 + 12 28 4 + 12 29 4 + 12 30 4 + 12 31 4 + 12 32 4 + 12 33 4 + 12 34 4 + 12 35 4 + 12 36 4 + 12 37 4 + 12 38 4 + 12 39 4 + 12 40 4 + 12 41 4 + 12 42 4 + 12 43 4 + 12 44 4 + 12 45 4 + 12 46 4 + 12 47 4 + 12 48 4 + 12 49 4 + 12 50 4 + 12 51 4 + 12 52 4 + 12 53 4 + 12 54 4 + 12 55 4 + 12 56 4 + 12 57 4 + 12 58 4 + 12 59 4 + 12 60 4 + 12 61 4 + 12 62 4 + 12 63 4 + 12 64 4 + 12 65 4 + 12 66 4 + 12 67 4 + 12 68 4 + 12 69 4 + 12 70 4 + 12 71 4 + 12 72 4 + 12 73 4 + 12 74 4 + 12 75 4 + 12 76 4 + 12 77 4 + 12 78 4 + 12 79 4 + 12 80 4 + 12 81 4 + 12 82 4 + 12 83 4 + 12 84 4 + 12 85 4 + 12 86 4 + 12 87 4 + 12 88 4 + 12 89 4 + 12 90 4 + 12 91 4 + 12 92 4 + 12 93 4 + 12 94 4 + 12 95 4 + 12 96 4 + 12 97 4 + 12 98 4 + 12 99 4 + 12 100 4 + 12 101 4 + 12 102 4 + 12 103 4 + 12 104 4 + 12 105 4 + 12 106 4 + 12 107 4 + 12 108 4 + 12 109 4 + 12 110 4 + 12 111 4 + 12 112 4 + 12 113 4 + 12 114 4 + 12 115 4 + 12 116 4 + 12 117 4 + 12 118 4 + 12 119 4 + 12 120 4 + 12 121 4 + 12 122 4 + 12 123 4 + 12 124 4 + 12 125 4 + 12 126 4 + 12 127 4 + 12 128 4 + 12 129 4 + 12 130 4 + 12 131 4 + 12 132 4 + 12 133 4 + 12 134 4 + 12 135 4 + 12 136 4 + 12 137 4 + 12 138 4 + 12 139 4 + 12 140 4 + 12 141 4 + 12 142 4 + 12 143 4 + 12 144 4 + 12 145 4 + 12 146 4 + 12 147 4 + 12 148 4 + 12 149 4 + 12 150 4 + 12 151 4 + 12 152 4 + 12 153 4 + 12 154 4 + 12 155 4 + 12 156 4 + 12 157 4 + 12 158 4 + 12 159 4 + 12 160 4 + 12 161 4 + 12 162 4 + 12 163 4 + 12 164 4 + 12 165 4 + 12 166 4 + 12 167 4 + 12 168 4 + 12 169 4 + 12 170 4 + 12 171 4 + 12 172 4 + 12 173 4 + 12 174 4 + 12 175 4 + 12 176 4 + 12 177 4 + 12 178 4 + 12 179 4 + 12 180 4 + 12 181 4 + 12 182 4 + 12 183 4 + 12 184 4 + 12 185 4 + 12 186 4 + 12 187 4 + 12 188 4 + 12 189 4 + 12 190 4 + 12 191 4 + 12 192 4 + 12 193 4 + 12 194 4 + 12 195 4 + 12 196 4 + 12 197 4 + 12 198 4 + 12 199 4 + 12 200 4 + 12 201 4 + 12 202 4 + 12 203 4 + 12 204 4 + 12 205 4 + 12 206 4 + 12 207 4 + 12 208 4 + 12 209 4 + 12 210 4 + 12 211 4 + 12 212 4 + 12 213 4 + 12 214 4 + 12 215 4 + 12 216 4 + 12 217 4 + 12 218 4 + 12 219 4 + 12 220 4 + 12 221 4 + 12 222 4 + 12 223 4 + 12 224 4 + 12 225 4 + 12 226 4 + 12 227 4 + 12 228 4 + 12 229 4 + 12 230 4 + 12 231 4 + 12 232 4 + 12 233 4 + 12 234 4 + 12 235 4 + 12 236 4 + 12 237 4 + 12 238 4 + 12 239 4 + 12 240 4 + 12 241 4 + 12 242 4 + 12 243 4 + 12 244 4 + 12 245 4 + 12 246 4 + 12 247 4 + 12 248 4 + 12 249 4 + 12 250 4 + 12 251 4 + 12 252 4 + 12 253 4 + 12 254 4 + 12 255 4 + 12 256 4 + 12 257 4 + 12 258 4 + 12 259 4 + 12 260 4 + 12 261 4 + 12 262 4 + 12 263 4 + 12 264 4 + 12 265 4 + 12 266 4 + 12 267 4 + 12 268 4 + 12 269 4 + 12 270 4 + 12 271 4 + 12 272 4 + 12 273 4 + 12 274 4 + 12 275 4 + 12 276 4 + 12 277 4 + 12 278 4 + 12 279 4 + 12 280 4 + 12 281 4 + 12 282 4 + 12 283 4 + 12 284 4 + 12 285 4 + 12 286 4 + 12 287 4 + 12 288 4 + 12 289 4 + 12 290 4 + 12 291 4 + 12 292 4 + 12 293 4 + 12 294 4 + 12 295 4 + 12 296 4 + 12 297 4 + 12 298 4 + 12 299 4 + 12 300 4 + 12 301 4 + 12 302 4 + 12 303 4 + 12 304 4 + 12 305 4 + 12 306 4 + 12 307 4 + 12 308 4 + 12 309 4 + 12 310 4 + 12 311 4 + 12 312 4 + 12 313 4 + 12 314 4 + 12 315 4 + 12 316 4 + 12 317 4 + 12 318 4 + 12 319 4 + 12 320 4 + 12 321 4 + 12 322 4 + 12 323 4 + 12 324 4 + 12 325 4 + 12 326 4 + 12 327 4 + 12 328 4 + 12 329 4 + 12 330 4 + 12 331 4 + 12 332 4 + 12 333 4 + 12 334 4 + 12 335 4 + 12 336 4 + 12 337 4 + 12 338 4 + 12 339 4 + 12 340 4 + 12 341 4 + 12 342 4 + 12 343 4 + 12 344 4 + 12 345 4 + 12 346 4 + 12 347 4 + 12 348 4 + 12 349 4 + 13 14 4 + 13 15 4 + 13 16 4 + 13 17 4 + 13 18 4 + 13 19 4 + 13 20 4 + 13 21 4 + 13 22 4 + 13 23 4 + 13 24 4 + 13 25 4 + 13 26 4 + 13 27 4 + 13 28 4 + 13 29 4 + 13 30 4 + 13 31 4 + 13 32 4 + 13 33 4 + 13 34 4 + 13 35 4 + 13 36 4 + 13 37 4 + 13 38 4 + 13 39 4 + 13 40 4 + 13 41 4 + 13 42 4 + 13 43 4 + 13 44 4 + 13 45 4 + 13 46 4 + 13 47 4 + 13 48 4 + 13 49 4 + 13 50 4 + 13 51 4 + 13 52 4 + 13 53 4 + 13 54 4 + 13 55 4 + 13 56 4 + 13 57 4 + 13 58 4 + 13 59 4 + 13 60 4 + 13 61 4 + 13 62 4 + 13 63 4 + 13 64 4 + 13 65 4 + 13 66 4 + 13 67 4 + 13 68 4 + 13 69 4 + 13 70 4 + 13 71 4 + 13 72 4 + 13 73 4 + 13 74 4 + 13 75 4 + 13 76 4 + 13 77 4 + 13 78 4 + 13 79 4 + 13 80 4 + 13 81 4 + 13 82 4 + 13 83 4 + 13 84 4 + 13 85 4 + 13 86 4 + 13 87 4 + 13 88 4 + 13 89 4 + 13 90 4 + 13 91 4 + 13 92 4 + 13 93 4 + 13 94 4 + 13 95 4 + 13 96 4 + 13 97 4 + 13 98 4 + 13 99 4 + 13 100 4 + 13 101 4 + 13 102 4 + 13 103 4 + 13 104 4 + 13 105 4 + 13 106 4 + 13 107 4 + 13 108 4 + 13 109 4 + 13 110 4 + 13 111 4 + 13 112 4 + 13 113 4 + 13 114 4 + 13 115 4 + 13 116 4 + 13 117 4 + 13 118 4 + 13 119 4 + 13 120 4 + 13 121 4 + 13 122 4 + 13 123 4 + 13 124 4 + 13 125 4 + 13 126 4 + 13 127 4 + 13 128 4 + 13 129 4 + 13 130 4 + 13 131 4 + 13 132 4 + 13 133 4 + 13 134 4 + 13 135 4 + 13 136 4 + 13 137 4 + 13 138 4 + 13 139 4 + 13 140 4 + 13 141 4 + 13 142 4 + 13 143 4 + 13 144 4 + 13 145 4 + 13 146 4 + 13 147 4 + 13 148 4 + 13 149 4 + 13 150 4 + 13 151 4 + 13 152 4 + 13 153 4 + 13 154 4 + 13 155 4 + 13 156 4 + 13 157 4 + 13 158 4 + 13 159 4 + 13 160 4 + 13 161 4 + 13 162 4 + 13 163 4 + 13 164 4 + 13 165 4 + 13 166 4 + 13 167 4 + 13 168 4 + 13 169 4 + 13 170 4 + 13 171 4 + 13 172 4 + 13 173 4 + 13 174 4 + 13 175 4 + 13 176 4 + 13 177 4 + 13 178 4 + 13 179 4 + 13 180 4 + 13 181 4 + 13 182 4 + 13 183 4 + 13 184 4 + 13 185 4 + 13 186 4 + 13 187 4 + 13 188 4 + 13 189 4 + 13 190 4 + 13 191 4 + 13 192 4 + 13 193 4 + 13 194 4 + 13 195 4 + 13 196 4 + 13 197 4 + 13 198 4 + 13 199 4 + 13 200 4 + 13 201 4 + 13 202 4 + 13 203 4 + 13 204 4 + 13 205 4 + 13 206 4 + 13 207 4 + 13 208 4 + 13 209 4 + 13 210 4 + 13 211 4 + 13 212 4 + 13 213 4 + 13 214 4 + 13 215 4 + 13 216 4 + 13 217 4 + 13 218 4 + 13 219 4 + 13 220 4 + 13 221 4 + 13 222 4 + 13 223 4 + 13 224 4 + 13 225 4 + 13 226 4 + 13 227 4 + 13 228 4 + 13 229 4 + 13 230 4 + 13 231 4 + 13 232 4 + 13 233 4 + 13 234 4 + 13 235 4 + 13 236 4 + 13 237 4 + 13 238 4 + 13 239 4 + 13 240 4 + 13 241 4 + 13 242 4 + 13 243 4 + 13 244 4 + 13 245 4 + 13 246 4 + 13 247 4 + 13 248 4 + 13 249 4 + 13 250 4 + 13 251 4 + 13 252 4 + 13 253 4 + 13 254 4 + 13 255 4 + 13 256 4 + 13 257 4 + 13 258 4 + 13 259 4 + 13 260 4 + 13 261 4 + 13 262 4 + 13 263 4 + 13 264 4 + 13 265 4 + 13 266 4 + 13 267 4 + 13 268 4 + 13 269 4 + 13 270 4 + 13 271 4 + 13 272 4 + 13 273 4 + 13 274 4 + 13 275 4 + 13 276 4 + 13 277 4 + 13 278 4 + 13 279 4 + 13 280 4 + 13 281 4 + 13 282 4 + 13 283 4 + 13 284 4 + 13 285 4 + 13 286 4 + 13 287 4 + 13 288 4 + 13 289 4 + 13 290 4 + 13 291 4 + 13 292 4 + 13 293 4 + 13 294 4 + 13 295 4 + 13 296 4 + 13 297 4 + 13 298 4 + 13 299 4 + 13 300 4 + 13 301 4 + 13 302 4 + 13 303 4 + 13 304 4 + 13 305 4 + 13 306 4 + 13 307 4 + 13 308 4 + 13 309 4 + 13 310 4 + 13 311 4 + 13 312 4 + 13 313 4 + 13 314 4 + 13 315 4 + 13 316 4 + 13 317 4 + 13 318 4 + 13 319 4 + 13 320 4 + 13 321 4 + 13 322 4 + 13 323 4 + 13 324 4 + 13 325 4 + 13 326 4 + 13 327 4 + 13 328 4 + 13 329 4 + 13 330 4 + 13 331 4 + 13 332 4 + 13 333 4 + 13 334 4 + 13 335 4 + 13 336 4 + 13 337 4 + 13 338 4 + 13 339 4 + 13 340 4 + 13 341 4 + 13 342 4 + 13 343 4 + 13 344 4 + 13 345 4 + 13 346 4 + 13 347 4 + 13 348 4 + 13 349 4 + 14 15 4 + 14 16 4 + 14 17 4 + 14 18 4 + 14 19 4 + 14 20 4 + 14 21 4 + 14 22 4 + 14 23 4 + 14 24 4 + 14 25 4 + 14 26 4 + 14 27 4 + 14 28 4 + 14 29 4 + 14 30 4 + 14 31 4 + 14 32 4 + 14 33 4 + 14 34 4 + 14 35 4 + 14 36 4 + 14 37 4 + 14 38 4 + 14 39 4 + 14 40 4 + 14 41 4 + 14 42 4 + 14 43 4 + 14 44 4 + 14 45 4 + 14 46 4 + 14 47 4 + 14 48 4 + 14 49 4 + 14 50 4 + 14 51 4 + 14 52 4 + 14 53 4 + 14 54 4 + 14 55 4 + 14 56 4 + 14 57 4 + 14 58 4 + 14 59 4 + 14 60 4 + 14 61 4 + 14 62 4 + 14 63 4 + 14 64 4 + 14 65 4 + 14 66 4 + 14 67 4 + 14 68 4 + 14 69 4 + 14 70 4 + 14 71 4 + 14 72 4 + 14 73 4 + 14 74 4 + 14 75 4 + 14 76 4 + 14 77 4 + 14 78 4 + 14 79 4 + 14 80 4 + 14 81 4 + 14 82 4 + 14 83 4 + 14 84 4 + 14 85 4 + 14 86 4 + 14 87 4 + 14 88 4 + 14 89 4 + 14 90 4 + 14 91 4 + 14 92 4 + 14 93 4 + 14 94 4 + 14 95 4 + 14 96 4 + 14 97 4 + 14 98 4 + 14 99 4 + 14 100 4 + 14 101 4 + 14 102 4 + 14 103 4 + 14 104 4 + 14 105 4 + 14 106 4 + 14 107 4 + 14 108 4 + 14 109 4 + 14 110 4 + 14 111 4 + 14 112 4 + 14 113 4 + 14 114 4 + 14 115 4 + 14 116 4 + 14 117 4 + 14 118 4 + 14 119 4 + 14 120 4 + 14 121 4 + 14 122 4 + 14 123 4 + 14 124 4 + 14 125 4 + 14 126 4 + 14 127 4 + 14 128 4 + 14 129 4 + 14 130 4 + 14 131 4 + 14 132 4 + 14 133 4 + 14 134 4 + 14 135 4 + 14 136 4 + 14 137 4 + 14 138 4 + 14 139 4 + 14 140 4 + 14 141 4 + 14 142 4 + 14 143 4 + 14 144 4 + 14 145 4 + 14 146 4 + 14 147 4 + 14 148 4 + 14 149 4 + 14 150 4 + 14 151 4 + 14 152 4 + 14 153 4 + 14 154 4 + 14 155 4 + 14 156 4 + 14 157 4 + 14 158 4 + 14 159 4 + 14 160 4 + 14 161 4 + 14 162 4 + 14 163 4 + 14 164 4 + 14 165 4 + 14 166 4 + 14 167 4 + 14 168 4 + 14 169 4 + 14 170 4 + 14 171 4 + 14 172 4 + 14 173 4 + 14 174 4 + 14 175 4 + 14 176 4 + 14 177 4 + 14 178 4 + 14 179 4 + 14 180 4 + 14 181 4 + 14 182 4 + 14 183 4 + 14 184 4 + 14 185 4 + 14 186 4 + 14 187 4 + 14 188 4 + 14 189 4 + 14 190 4 + 14 191 4 + 14 192 4 + 14 193 4 + 14 194 4 + 14 195 4 + 14 196 4 + 14 197 4 + 14 198 4 + 14 199 4 + 14 200 4 + 14 201 4 + 14 202 4 + 14 203 4 + 14 204 4 + 14 205 4 + 14 206 4 + 14 207 4 + 14 208 4 + 14 209 4 + 14 210 4 + 14 211 4 + 14 212 4 + 14 213 4 + 14 214 4 + 14 215 4 + 14 216 4 + 14 217 4 + 14 218 4 + 14 219 4 + 14 220 4 + 14 221 4 + 14 222 4 + 14 223 4 + 14 224 4 + 14 225 4 + 14 226 4 + 14 227 4 + 14 228 4 + 14 229 4 + 14 230 4 + 14 231 4 + 14 232 4 + 14 233 4 + 14 234 4 + 14 235 4 + 14 236 4 + 14 237 4 + 14 238 4 + 14 239 4 + 14 240 4 + 14 241 4 + 14 242 4 + 14 243 4 + 14 244 4 + 14 245 4 + 14 246 4 + 14 247 4 + 14 248 4 + 14 249 4 + 14 250 4 + 14 251 4 + 14 252 4 + 14 253 4 + 14 254 4 + 14 255 4 + 14 256 4 + 14 257 4 + 14 258 4 + 14 259 4 + 14 260 4 + 14 261 4 + 14 262 4 + 14 263 4 + 14 264 4 + 14 265 4 + 14 266 4 + 14 267 4 + 14 268 4 + 14 269 4 + 14 270 4 + 14 271 4 + 14 272 4 + 14 273 4 + 14 274 4 + 14 275 4 + 14 276 4 + 14 277 4 + 14 278 4 + 14 279 4 + 14 280 4 + 14 281 4 + 14 282 4 + 14 283 4 + 14 284 4 + 14 285 4 + 14 286 4 + 14 287 4 + 14 288 4 + 14 289 4 + 14 290 4 + 14 291 4 + 14 292 4 + 14 293 4 + 14 294 4 + 14 295 4 + 14 296 4 + 14 297 4 + 14 298 4 + 14 299 4 + 14 300 4 + 14 301 4 + 14 302 4 + 14 303 4 + 14 304 4 + 14 305 4 + 14 306 4 + 14 307 4 + 14 308 4 + 14 309 4 + 14 310 4 + 14 311 4 + 14 312 4 + 14 313 4 + 14 314 4 + 14 315 4 + 14 316 4 + 14 317 4 + 14 318 4 + 14 319 4 + 14 320 4 + 14 321 4 + 14 322 4 + 14 323 4 + 14 324 4 + 14 325 4 + 14 326 4 + 14 327 4 + 14 328 4 + 14 329 4 + 14 330 4 + 14 331 4 + 14 332 4 + 14 333 4 + 14 334 4 + 14 335 4 + 14 336 4 + 14 337 4 + 14 338 4 + 14 339 4 + 14 340 4 + 14 341 4 + 14 342 4 + 14 343 4 + 14 344 4 + 14 345 4 + 14 346 4 + 14 347 4 + 14 348 4 + 14 349 4 + 15 16 4 + 15 17 4 + 15 18 4 + 15 19 4 + 15 20 4 + 15 21 4 + 15 22 4 + 15 23 4 + 15 24 4 + 15 25 4 + 15 26 4 + 15 27 4 + 15 28 4 + 15 29 4 + 15 30 4 + 15 31 4 + 15 32 4 + 15 33 4 + 15 34 4 + 15 35 4 + 15 36 4 + 15 37 4 + 15 38 4 + 15 39 4 + 15 40 4 + 15 41 4 + 15 42 4 + 15 43 4 + 15 44 4 + 15 45 4 + 15 46 4 + 15 47 4 + 15 48 4 + 15 49 4 + 15 50 4 + 15 51 4 + 15 52 4 + 15 53 4 + 15 54 4 + 15 55 4 + 15 56 4 + 15 57 4 + 15 58 4 + 15 59 4 + 15 60 4 + 15 61 4 + 15 62 4 + 15 63 4 + 15 64 4 + 15 65 4 + 15 66 4 + 15 67 4 + 15 68 4 + 15 69 4 + 15 70 4 + 15 71 4 + 15 72 4 + 15 73 4 + 15 74 4 + 15 75 4 + 15 76 4 + 15 77 4 + 15 78 4 + 15 79 4 + 15 80 4 + 15 81 4 + 15 82 4 + 15 83 4 + 15 84 4 + 15 85 4 + 15 86 4 + 15 87 4 + 15 88 4 + 15 89 4 + 15 90 4 + 15 91 4 + 15 92 4 + 15 93 4 + 15 94 4 + 15 95 4 + 15 96 4 + 15 97 4 + 15 98 4 + 15 99 4 + 15 100 4 + 15 101 4 + 15 102 4 + 15 103 4 + 15 104 4 + 15 105 4 + 15 106 4 + 15 107 4 + 15 108 4 + 15 109 4 + 15 110 4 + 15 111 4 + 15 112 4 + 15 113 4 + 15 114 4 + 15 115 4 + 15 116 4 + 15 117 4 + 15 118 4 + 15 119 4 + 15 120 4 + 15 121 4 + 15 122 4 + 15 123 4 + 15 124 4 + 15 125 4 + 15 126 4 + 15 127 4 + 15 128 4 + 15 129 4 + 15 130 4 + 15 131 4 + 15 132 4 + 15 133 4 + 15 134 4 + 15 135 4 + 15 136 4 + 15 137 4 + 15 138 4 + 15 139 4 + 15 140 4 + 15 141 4 + 15 142 4 + 15 143 4 + 15 144 4 + 15 145 4 + 15 146 4 + 15 147 4 + 15 148 4 + 15 149 4 + 15 150 4 + 15 151 4 + 15 152 4 + 15 153 4 + 15 154 4 + 15 155 4 + 15 156 4 + 15 157 4 + 15 158 4 + 15 159 4 + 15 160 4 + 15 161 4 + 15 162 4 + 15 163 4 + 15 164 4 + 15 165 4 + 15 166 4 + 15 167 4 + 15 168 4 + 15 169 4 + 15 170 4 + 15 171 4 + 15 172 4 + 15 173 4 + 15 174 4 + 15 175 4 + 15 176 4 + 15 177 4 + 15 178 4 + 15 179 4 + 15 180 4 + 15 181 4 + 15 182 4 + 15 183 4 + 15 184 4 + 15 185 4 + 15 186 4 + 15 187 4 + 15 188 4 + 15 189 4 + 15 190 4 + 15 191 4 + 15 192 4 + 15 193 4 + 15 194 4 + 15 195 4 + 15 196 4 + 15 197 4 + 15 198 4 + 15 199 4 + 15 200 4 + 15 201 4 + 15 202 4 + 15 203 4 + 15 204 4 + 15 205 4 + 15 206 4 + 15 207 4 + 15 208 4 + 15 209 4 + 15 210 4 + 15 211 4 + 15 212 4 + 15 213 4 + 15 214 4 + 15 215 4 + 15 216 4 + 15 217 4 + 15 218 4 + 15 219 4 + 15 220 4 + 15 221 4 + 15 222 4 + 15 223 4 + 15 224 4 + 15 225 4 + 15 226 4 + 15 227 4 + 15 228 4 + 15 229 4 + 15 230 4 + 15 231 4 + 15 232 4 + 15 233 4 + 15 234 4 + 15 235 4 + 15 236 4 + 15 237 4 + 15 238 4 + 15 239 4 + 15 240 4 + 15 241 4 + 15 242 4 + 15 243 4 + 15 244 4 + 15 245 4 + 15 246 4 + 15 247 4 + 15 248 4 + 15 249 4 + 15 250 4 + 15 251 4 + 15 252 4 + 15 253 4 + 15 254 4 + 15 255 4 + 15 256 4 + 15 257 4 + 15 258 4 + 15 259 4 + 15 260 4 + 15 261 4 + 15 262 4 + 15 263 4 + 15 264 4 + 15 265 4 + 15 266 4 + 15 267 4 + 15 268 4 + 15 269 4 + 15 270 4 + 15 271 4 + 15 272 4 + 15 273 4 + 15 274 4 + 15 275 4 + 15 276 4 + 15 277 4 + 15 278 4 + 15 279 4 + 15 280 4 + 15 281 4 + 15 282 4 + 15 283 4 + 15 284 4 + 15 285 4 + 15 286 4 + 15 287 4 + 15 288 4 + 15 289 4 + 15 290 4 + 15 291 4 + 15 292 4 + 15 293 4 + 15 294 4 + 15 295 4 + 15 296 4 + 15 297 4 + 15 298 4 + 15 299 4 + 15 300 4 + 15 301 4 + 15 302 4 + 15 303 4 + 15 304 4 + 15 305 4 + 15 306 4 + 15 307 4 + 15 308 4 + 15 309 4 + 15 310 4 + 15 311 4 + 15 312 4 + 15 313 4 + 15 314 4 + 15 315 4 + 15 316 4 + 15 317 4 + 15 318 4 + 15 319 4 + 15 320 4 + 15 321 4 + 15 322 4 + 15 323 4 + 15 324 4 + 15 325 4 + 15 326 4 + 15 327 4 + 15 328 4 + 15 329 4 + 15 330 4 + 15 331 4 + 15 332 4 + 15 333 4 + 15 334 4 + 15 335 4 + 15 336 4 + 15 337 4 + 15 338 4 + 15 339 4 + 15 340 4 + 15 341 4 + 15 342 4 + 15 343 4 + 15 344 4 + 15 345 4 + 15 346 4 + 15 347 4 + 15 348 4 + 15 349 4 + 16 17 4 + 16 18 4 + 16 19 4 + 16 20 4 + 16 21 4 + 16 22 4 + 16 23 4 + 16 24 4 + 16 25 4 + 16 26 4 + 16 27 4 + 16 28 4 + 16 29 4 + 16 30 4 + 16 31 4 + 16 32 4 + 16 33 4 + 16 34 4 + 16 35 4 + 16 36 4 + 16 37 4 + 16 38 4 + 16 39 4 + 16 40 4 + 16 41 4 + 16 42 4 + 16 43 4 + 16 44 4 + 16 45 4 + 16 46 4 + 16 47 4 + 16 48 4 + 16 49 4 + 16 50 4 + 16 51 4 + 16 52 4 + 16 53 4 + 16 54 4 + 16 55 4 + 16 56 4 + 16 57 4 + 16 58 4 + 16 59 4 + 16 60 4 + 16 61 4 + 16 62 4 + 16 63 4 + 16 64 4 + 16 65 4 + 16 66 4 + 16 67 4 + 16 68 4 + 16 69 4 + 16 70 4 + 16 71 4 + 16 72 4 + 16 73 4 + 16 74 4 + 16 75 4 + 16 76 4 + 16 77 4 + 16 78 4 + 16 79 4 + 16 80 4 + 16 81 4 + 16 82 4 + 16 83 4 + 16 84 4 + 16 85 4 + 16 86 4 + 16 87 4 + 16 88 4 + 16 89 4 + 16 90 4 + 16 91 4 + 16 92 4 + 16 93 4 + 16 94 4 + 16 95 4 + 16 96 4 + 16 97 4 + 16 98 4 + 16 99 4 + 16 100 4 + 16 101 4 + 16 102 4 + 16 103 4 + 16 104 4 + 16 105 4 + 16 106 4 + 16 107 4 + 16 108 4 + 16 109 4 + 16 110 4 + 16 111 4 + 16 112 4 + 16 113 4 + 16 114 4 + 16 115 4 + 16 116 4 + 16 117 4 + 16 118 4 + 16 119 4 + 16 120 4 + 16 121 4 + 16 122 4 + 16 123 4 + 16 124 4 + 16 125 4 + 16 126 4 + 16 127 4 + 16 128 4 + 16 129 4 + 16 130 4 + 16 131 4 + 16 132 4 + 16 133 4 + 16 134 4 + 16 135 4 + 16 136 4 + 16 137 4 + 16 138 4 + 16 139 4 + 16 140 4 + 16 141 4 + 16 142 4 + 16 143 4 + 16 144 4 + 16 145 4 + 16 146 4 + 16 147 4 + 16 148 4 + 16 149 4 + 16 150 4 + 16 151 4 + 16 152 4 + 16 153 4 + 16 154 4 + 16 155 4 + 16 156 4 + 16 157 4 + 16 158 4 + 16 159 4 + 16 160 4 + 16 161 4 + 16 162 4 + 16 163 4 + 16 164 4 + 16 165 4 + 16 166 4 + 16 167 4 + 16 168 4 + 16 169 4 + 16 170 4 + 16 171 4 + 16 172 4 + 16 173 4 + 16 174 4 + 16 175 4 + 16 176 4 + 16 177 4 + 16 178 4 + 16 179 4 + 16 180 4 + 16 181 4 + 16 182 4 + 16 183 4 + 16 184 4 + 16 185 4 + 16 186 4 + 16 187 4 + 16 188 4 + 16 189 4 + 16 190 4 + 16 191 4 + 16 192 4 + 16 193 4 + 16 194 4 + 16 195 4 + 16 196 4 + 16 197 4 + 16 198 4 + 16 199 4 + 16 200 4 + 16 201 4 + 16 202 4 + 16 203 4 + 16 204 4 + 16 205 4 + 16 206 4 + 16 207 4 + 16 208 4 + 16 209 4 + 16 210 4 + 16 211 4 + 16 212 4 + 16 213 4 + 16 214 4 + 16 215 4 + 16 216 4 + 16 217 4 + 16 218 4 + 16 219 4 + 16 220 4 + 16 221 4 + 16 222 4 + 16 223 4 + 16 224 4 + 16 225 4 + 16 226 4 + 16 227 4 + 16 228 4 + 16 229 4 + 16 230 4 + 16 231 4 + 16 232 4 + 16 233 4 + 16 234 4 + 16 235 4 + 16 236 4 + 16 237 4 + 16 238 4 + 16 239 4 + 16 240 4 + 16 241 4 + 16 242 4 + 16 243 4 + 16 244 4 + 16 245 4 + 16 246 4 + 16 247 4 + 16 248 4 + 16 249 4 + 16 250 4 + 16 251 4 + 16 252 4 + 16 253 4 + 16 254 4 + 16 255 4 + 16 256 4 + 16 257 4 + 16 258 4 + 16 259 4 + 16 260 4 + 16 261 4 + 16 262 4 + 16 263 4 + 16 264 4 + 16 265 4 + 16 266 4 + 16 267 4 + 16 268 4 + 16 269 4 + 16 270 4 + 16 271 4 + 16 272 4 + 16 273 4 + 16 274 4 + 16 275 4 + 16 276 4 + 16 277 4 + 16 278 4 + 16 279 4 + 16 280 4 + 16 281 4 + 16 282 4 + 16 283 4 + 16 284 4 + 16 285 4 + 16 286 4 + 16 287 4 + 16 288 4 + 16 289 4 + 16 290 4 + 16 291 4 + 16 292 4 + 16 293 4 + 16 294 4 + 16 295 4 + 16 296 4 + 16 297 4 + 16 298 4 + 16 299 4 + 16 300 4 + 16 301 4 + 16 302 4 + 16 303 4 + 16 304 4 + 16 305 4 + 16 306 4 + 16 307 4 + 16 308 4 + 16 309 4 + 16 310 4 + 16 311 4 + 16 312 4 + 16 313 4 + 16 314 4 + 16 315 4 + 16 316 4 + 16 317 4 + 16 318 4 + 16 319 4 + 16 320 4 + 16 321 4 + 16 322 4 + 16 323 4 + 16 324 4 + 16 325 4 + 16 326 4 + 16 327 4 + 16 328 4 + 16 329 4 + 16 330 4 + 16 331 4 + 16 332 4 + 16 333 4 + 16 334 4 + 16 335 4 + 16 336 4 + 16 337 4 + 16 338 4 + 16 339 4 + 16 340 4 + 16 341 4 + 16 342 4 + 16 343 4 + 16 344 4 + 16 345 4 + 16 346 4 + 16 347 4 + 16 348 4 + 16 349 4 + 17 18 4 + 17 19 4 + 17 20 4 + 17 21 4 + 17 22 4 + 17 23 4 + 17 24 4 + 17 25 4 + 17 26 4 + 17 27 4 + 17 28 4 + 17 29 4 + 17 30 4 + 17 31 4 + 17 32 4 + 17 33 4 + 17 34 4 + 17 35 4 + 17 36 4 + 17 37 4 + 17 38 4 + 17 39 4 + 17 40 4 + 17 41 4 + 17 42 4 + 17 43 4 + 17 44 4 + 17 45 4 + 17 46 4 + 17 47 4 + 17 48 4 + 17 49 4 + 17 50 4 + 17 51 4 + 17 52 4 + 17 53 4 + 17 54 4 + 17 55 4 + 17 56 4 + 17 57 4 + 17 58 4 + 17 59 4 + 17 60 4 + 17 61 4 + 17 62 4 + 17 63 4 + 17 64 4 + 17 65 4 + 17 66 4 + 17 67 4 + 17 68 4 + 17 69 4 + 17 70 4 + 17 71 4 + 17 72 4 + 17 73 4 + 17 74 4 + 17 75 4 + 17 76 4 + 17 77 4 + 17 78 4 + 17 79 4 + 17 80 4 + 17 81 4 + 17 82 4 + 17 83 4 + 17 84 4 + 17 85 4 + 17 86 4 + 17 87 4 + 17 88 4 + 17 89 4 + 17 90 4 + 17 91 4 + 17 92 4 + 17 93 4 + 17 94 4 + 17 95 4 + 17 96 4 + 17 97 4 + 17 98 4 + 17 99 4 + 17 100 4 + 17 101 4 + 17 102 4 + 17 103 4 + 17 104 4 + 17 105 4 + 17 106 4 + 17 107 4 + 17 108 4 + 17 109 4 + 17 110 4 + 17 111 4 + 17 112 4 + 17 113 4 + 17 114 4 + 17 115 4 + 17 116 4 + 17 117 4 + 17 118 4 + 17 119 4 + 17 120 4 + 17 121 4 + 17 122 4 + 17 123 4 + 17 124 4 + 17 125 4 + 17 126 4 + 17 127 4 + 17 128 4 + 17 129 4 + 17 130 4 + 17 131 4 + 17 132 4 + 17 133 4 + 17 134 4 + 17 135 4 + 17 136 4 + 17 137 4 + 17 138 4 + 17 139 4 + 17 140 4 + 17 141 4 + 17 142 4 + 17 143 4 + 17 144 4 + 17 145 4 + 17 146 4 + 17 147 4 + 17 148 4 + 17 149 4 + 17 150 4 + 17 151 4 + 17 152 4 + 17 153 4 + 17 154 4 + 17 155 4 + 17 156 4 + 17 157 4 + 17 158 4 + 17 159 4 + 17 160 4 + 17 161 4 + 17 162 4 + 17 163 4 + 17 164 4 + 17 165 4 + 17 166 4 + 17 167 4 + 17 168 4 + 17 169 4 + 17 170 4 + 17 171 4 + 17 172 4 + 17 173 4 + 17 174 4 + 17 175 4 + 17 176 4 + 17 177 4 + 17 178 4 + 17 179 4 + 17 180 4 + 17 181 4 + 17 182 4 + 17 183 4 + 17 184 4 + 17 185 4 + 17 186 4 + 17 187 4 + 17 188 4 + 17 189 4 + 17 190 4 + 17 191 4 + 17 192 4 + 17 193 4 + 17 194 4 + 17 195 4 + 17 196 4 + 17 197 4 + 17 198 4 + 17 199 4 + 17 200 4 + 17 201 4 + 17 202 4 + 17 203 4 + 17 204 4 + 17 205 4 + 17 206 4 + 17 207 4 + 17 208 4 + 17 209 4 + 17 210 4 + 17 211 4 + 17 212 4 + 17 213 4 + 17 214 4 + 17 215 4 + 17 216 4 + 17 217 4 + 17 218 4 + 17 219 4 + 17 220 4 + 17 221 4 + 17 222 4 + 17 223 4 + 17 224 4 + 17 225 4 + 17 226 4 + 17 227 4 + 17 228 4 + 17 229 4 + 17 230 4 + 17 231 4 + 17 232 4 + 17 233 4 + 17 234 4 + 17 235 4 + 17 236 4 + 17 237 4 + 17 238 4 + 17 239 4 + 17 240 4 + 17 241 4 + 17 242 4 + 17 243 4 + 17 244 4 + 17 245 4 + 17 246 4 + 17 247 4 + 17 248 4 + 17 249 4 + 17 250 4 + 17 251 4 + 17 252 4 + 17 253 4 + 17 254 4 + 17 255 4 + 17 256 4 + 17 257 4 + 17 258 4 + 17 259 4 + 17 260 4 + 17 261 4 + 17 262 4 + 17 263 4 + 17 264 4 + 17 265 4 + 17 266 4 + 17 267 4 + 17 268 4 + 17 269 4 + 17 270 4 + 17 271 4 + 17 272 4 + 17 273 4 + 17 274 4 + 17 275 4 + 17 276 4 + 17 277 4 + 17 278 4 + 17 279 4 + 17 280 4 + 17 281 4 + 17 282 4 + 17 283 4 + 17 284 4 + 17 285 4 + 17 286 4 + 17 287 4 + 17 288 4 + 17 289 4 + 17 290 4 + 17 291 4 + 17 292 4 + 17 293 4 + 17 294 4 + 17 295 4 + 17 296 4 + 17 297 4 + 17 298 4 + 17 299 4 + 17 300 4 + 17 301 4 + 17 302 4 + 17 303 4 + 17 304 4 + 17 305 4 + 17 306 4 + 17 307 4 + 17 308 4 + 17 309 4 + 17 310 4 + 17 311 4 + 17 312 4 + 17 313 4 + 17 314 4 + 17 315 4 + 17 316 4 + 17 317 4 + 17 318 4 + 17 319 4 + 17 320 4 + 17 321 4 + 17 322 4 + 17 323 4 + 17 324 4 + 17 325 4 + 17 326 4 + 17 327 4 + 17 328 4 + 17 329 4 + 17 330 4 + 17 331 4 + 17 332 4 + 17 333 4 + 17 334 4 + 17 335 4 + 17 336 4 + 17 337 4 + 17 338 4 + 17 339 4 + 17 340 4 + 17 341 4 + 17 342 4 + 17 343 4 + 17 344 4 + 17 345 4 + 17 346 4 + 17 347 4 + 17 348 4 + 17 349 4 + 18 19 4 + 18 20 4 + 18 21 4 + 18 22 4 + 18 23 4 + 18 24 4 + 18 25 4 + 18 26 4 + 18 27 4 + 18 28 4 + 18 29 4 + 18 30 4 + 18 31 4 + 18 32 4 + 18 33 4 + 18 34 4 + 18 35 4 + 18 36 4 + 18 37 4 + 18 38 4 + 18 39 4 + 18 40 4 + 18 41 4 + 18 42 4 + 18 43 4 + 18 44 4 + 18 45 4 + 18 46 4 + 18 47 4 + 18 48 4 + 18 49 4 + 18 50 4 + 18 51 4 + 18 52 4 + 18 53 4 + 18 54 4 + 18 55 4 + 18 56 4 + 18 57 4 + 18 58 4 + 18 59 4 + 18 60 4 + 18 61 4 + 18 62 4 + 18 63 4 + 18 64 4 + 18 65 4 + 18 66 4 + 18 67 4 + 18 68 4 + 18 69 4 + 18 70 4 + 18 71 4 + 18 72 4 + 18 73 4 + 18 74 4 + 18 75 4 + 18 76 4 + 18 77 4 + 18 78 4 + 18 79 4 + 18 80 4 + 18 81 4 + 18 82 4 + 18 83 4 + 18 84 4 + 18 85 4 + 18 86 4 + 18 87 4 + 18 88 4 + 18 89 4 + 18 90 4 + 18 91 4 + 18 92 4 + 18 93 4 + 18 94 4 + 18 95 4 + 18 96 4 + 18 97 4 + 18 98 4 + 18 99 4 + 18 100 4 + 18 101 4 + 18 102 4 + 18 103 4 + 18 104 4 + 18 105 4 + 18 106 4 + 18 107 4 + 18 108 4 + 18 109 4 + 18 110 4 + 18 111 4 + 18 112 4 + 18 113 4 + 18 114 4 + 18 115 4 + 18 116 4 + 18 117 4 + 18 118 4 + 18 119 4 + 18 120 4 + 18 121 4 + 18 122 4 + 18 123 4 + 18 124 4 + 18 125 4 + 18 126 4 + 18 127 4 + 18 128 4 + 18 129 4 + 18 130 4 + 18 131 4 + 18 132 4 + 18 133 4 + 18 134 4 + 18 135 4 + 18 136 4 + 18 137 4 + 18 138 4 + 18 139 4 + 18 140 4 + 18 141 4 + 18 142 4 + 18 143 4 + 18 144 4 + 18 145 4 + 18 146 4 + 18 147 4 + 18 148 4 + 18 149 4 + 18 150 4 + 18 151 4 + 18 152 4 + 18 153 4 + 18 154 4 + 18 155 4 + 18 156 4 + 18 157 4 + 18 158 4 + 18 159 4 + 18 160 4 + 18 161 4 + 18 162 4 + 18 163 4 + 18 164 4 + 18 165 4 + 18 166 4 + 18 167 4 + 18 168 4 + 18 169 4 + 18 170 4 + 18 171 4 + 18 172 4 + 18 173 4 + 18 174 4 + 18 175 4 + 18 176 4 + 18 177 4 + 18 178 4 + 18 179 4 + 18 180 4 + 18 181 4 + 18 182 4 + 18 183 4 + 18 184 4 + 18 185 4 + 18 186 4 + 18 187 4 + 18 188 4 + 18 189 4 + 18 190 4 + 18 191 4 + 18 192 4 + 18 193 4 + 18 194 4 + 18 195 4 + 18 196 4 + 18 197 4 + 18 198 4 + 18 199 4 + 18 200 4 + 18 201 4 + 18 202 4 + 18 203 4 + 18 204 4 + 18 205 4 + 18 206 4 + 18 207 4 + 18 208 4 + 18 209 4 + 18 210 4 + 18 211 4 + 18 212 4 + 18 213 4 + 18 214 4 + 18 215 4 + 18 216 4 + 18 217 4 + 18 218 4 + 18 219 4 + 18 220 4 + 18 221 4 + 18 222 4 + 18 223 4 + 18 224 4 + 18 225 4 + 18 226 4 + 18 227 4 + 18 228 4 + 18 229 4 + 18 230 4 + 18 231 4 + 18 232 4 + 18 233 4 + 18 234 4 + 18 235 4 + 18 236 4 + 18 237 4 + 18 238 4 + 18 239 4 + 18 240 4 + 18 241 4 + 18 242 4 + 18 243 4 + 18 244 4 + 18 245 4 + 18 246 4 + 18 247 4 + 18 248 4 + 18 249 4 + 18 250 4 + 18 251 4 + 18 252 4 + 18 253 4 + 18 254 4 + 18 255 4 + 18 256 4 + 18 257 4 + 18 258 4 + 18 259 4 + 18 260 4 + 18 261 4 + 18 262 4 + 18 263 4 + 18 264 4 + 18 265 4 + 18 266 4 + 18 267 4 + 18 268 4 + 18 269 4 + 18 270 4 + 18 271 4 + 18 272 4 + 18 273 4 + 18 274 4 + 18 275 4 + 18 276 4 + 18 277 4 + 18 278 4 + 18 279 4 + 18 280 4 + 18 281 4 + 18 282 4 + 18 283 4 + 18 284 4 + 18 285 4 + 18 286 4 + 18 287 4 + 18 288 4 + 18 289 4 + 18 290 4 + 18 291 4 + 18 292 4 + 18 293 4 + 18 294 4 + 18 295 4 + 18 296 4 + 18 297 4 + 18 298 4 + 18 299 4 + 18 300 4 + 18 301 4 + 18 302 4 + 18 303 4 + 18 304 4 + 18 305 4 + 18 306 4 + 18 307 4 + 18 308 4 + 18 309 4 + 18 310 4 + 18 311 4 + 18 312 4 + 18 313 4 + 18 314 4 + 18 315 4 + 18 316 4 + 18 317 4 + 18 318 4 + 18 319 4 + 18 320 4 + 18 321 4 + 18 322 4 + 18 323 4 + 18 324 4 + 18 325 4 + 18 326 4 + 18 327 4 + 18 328 4 + 18 329 4 + 18 330 4 + 18 331 4 + 18 332 4 + 18 333 4 + 18 334 4 + 18 335 4 + 18 336 4 + 18 337 4 + 18 338 4 + 18 339 4 + 18 340 4 + 18 341 4 + 18 342 4 + 18 343 4 + 18 344 4 + 18 345 4 + 18 346 4 + 18 347 4 + 18 348 4 + 18 349 4 + 19 20 4 + 19 21 4 + 19 22 4 + 19 23 4 + 19 24 4 + 19 25 4 + 19 26 4 + 19 27 4 + 19 28 4 + 19 29 4 + 19 30 4 + 19 31 4 + 19 32 4 + 19 33 4 + 19 34 4 + 19 35 4 + 19 36 4 + 19 37 4 + 19 38 4 + 19 39 4 + 19 40 4 + 19 41 4 + 19 42 4 + 19 43 4 + 19 44 4 + 19 45 4 + 19 46 4 + 19 47 4 + 19 48 4 + 19 49 4 + 19 50 4 + 19 51 4 + 19 52 4 + 19 53 4 + 19 54 4 + 19 55 4 + 19 56 4 + 19 57 4 + 19 58 4 + 19 59 4 + 19 60 4 + 19 61 4 + 19 62 4 + 19 63 4 + 19 64 4 + 19 65 4 + 19 66 4 + 19 67 4 + 19 68 4 + 19 69 4 + 19 70 4 + 19 71 4 + 19 72 4 + 19 73 4 + 19 74 4 + 19 75 4 + 19 76 4 + 19 77 4 + 19 78 4 + 19 79 4 + 19 80 4 + 19 81 4 + 19 82 4 + 19 83 4 + 19 84 4 + 19 85 4 + 19 86 4 + 19 87 4 + 19 88 4 + 19 89 4 + 19 90 4 + 19 91 4 + 19 92 4 + 19 93 4 + 19 94 4 + 19 95 4 + 19 96 4 + 19 97 4 + 19 98 4 + 19 99 4 + 19 100 4 + 19 101 4 + 19 102 4 + 19 103 4 + 19 104 4 + 19 105 4 + 19 106 4 + 19 107 4 + 19 108 4 + 19 109 4 + 19 110 4 + 19 111 4 + 19 112 4 + 19 113 4 + 19 114 4 + 19 115 4 + 19 116 4 + 19 117 4 + 19 118 4 + 19 119 4 + 19 120 4 + 19 121 4 + 19 122 4 + 19 123 4 + 19 124 4 + 19 125 4 + 19 126 4 + 19 127 4 + 19 128 4 + 19 129 4 + 19 130 4 + 19 131 4 + 19 132 4 + 19 133 4 + 19 134 4 + 19 135 4 + 19 136 4 + 19 137 4 + 19 138 4 + 19 139 4 + 19 140 4 + 19 141 4 + 19 142 4 + 19 143 4 + 19 144 4 + 19 145 4 + 19 146 4 + 19 147 4 + 19 148 4 + 19 149 4 + 19 150 4 + 19 151 4 + 19 152 4 + 19 153 4 + 19 154 4 + 19 155 4 + 19 156 4 + 19 157 4 + 19 158 4 + 19 159 4 + 19 160 4 + 19 161 4 + 19 162 4 + 19 163 4 + 19 164 4 + 19 165 4 + 19 166 4 + 19 167 4 + 19 168 4 + 19 169 4 + 19 170 4 + 19 171 4 + 19 172 4 + 19 173 4 + 19 174 4 + 19 175 4 + 19 176 4 + 19 177 4 + 19 178 4 + 19 179 4 + 19 180 4 + 19 181 4 + 19 182 4 + 19 183 4 + 19 184 4 + 19 185 4 + 19 186 4 + 19 187 4 + 19 188 4 + 19 189 4 + 19 190 4 + 19 191 4 + 19 192 4 + 19 193 4 + 19 194 4 + 19 195 4 + 19 196 4 + 19 197 4 + 19 198 4 + 19 199 4 + 19 200 4 + 19 201 4 + 19 202 4 + 19 203 4 + 19 204 4 + 19 205 4 + 19 206 4 + 19 207 4 + 19 208 4 + 19 209 4 + 19 210 4 + 19 211 4 + 19 212 4 + 19 213 4 + 19 214 4 + 19 215 4 + 19 216 4 + 19 217 4 + 19 218 4 + 19 219 4 + 19 220 4 + 19 221 4 + 19 222 4 + 19 223 4 + 19 224 4 + 19 225 4 + 19 226 4 + 19 227 4 + 19 228 4 + 19 229 4 + 19 230 4 + 19 231 4 + 19 232 4 + 19 233 4 + 19 234 4 + 19 235 4 + 19 236 4 + 19 237 4 + 19 238 4 + 19 239 4 + 19 240 4 + 19 241 4 + 19 242 4 + 19 243 4 + 19 244 4 + 19 245 4 + 19 246 4 + 19 247 4 + 19 248 4 + 19 249 4 + 19 250 4 + 19 251 4 + 19 252 4 + 19 253 4 + 19 254 4 + 19 255 4 + 19 256 4 + 19 257 4 + 19 258 4 + 19 259 4 + 19 260 4 + 19 261 4 + 19 262 4 + 19 263 4 + 19 264 4 + 19 265 4 + 19 266 4 + 19 267 4 + 19 268 4 + 19 269 4 + 19 270 4 + 19 271 4 + 19 272 4 + 19 273 4 + 19 274 4 + 19 275 4 + 19 276 4 + 19 277 4 + 19 278 4 + 19 279 4 + 19 280 4 + 19 281 4 + 19 282 4 + 19 283 4 + 19 284 4 + 19 285 4 + 19 286 4 + 19 287 4 + 19 288 4 + 19 289 4 + 19 290 4 + 19 291 4 + 19 292 4 + 19 293 4 + 19 294 4 + 19 295 4 + 19 296 4 + 19 297 4 + 19 298 4 + 19 299 4 + 19 300 4 + 19 301 4 + 19 302 4 + 19 303 4 + 19 304 4 + 19 305 4 + 19 306 4 + 19 307 4 + 19 308 4 + 19 309 4 + 19 310 4 + 19 311 4 + 19 312 4 + 19 313 4 + 19 314 4 + 19 315 4 + 19 316 4 + 19 317 4 + 19 318 4 + 19 319 4 + 19 320 4 + 19 321 4 + 19 322 4 + 19 323 4 + 19 324 4 + 19 325 4 + 19 326 4 + 19 327 4 + 19 328 4 + 19 329 4 + 19 330 4 + 19 331 4 + 19 332 4 + 19 333 4 + 19 334 4 + 19 335 4 + 19 336 4 + 19 337 4 + 19 338 4 + 19 339 4 + 19 340 4 + 19 341 4 + 19 342 4 + 19 343 4 + 19 344 4 + 19 345 4 + 19 346 4 + 19 347 4 + 19 348 4 + 19 349 4 + 20 21 4 + 20 22 4 + 20 23 4 + 20 24 4 + 20 25 4 + 20 26 4 + 20 27 4 + 20 28 4 + 20 29 4 + 20 30 4 + 20 31 4 + 20 32 4 + 20 33 4 + 20 34 4 + 20 35 4 + 20 36 4 + 20 37 4 + 20 38 4 + 20 39 4 + 20 40 4 + 20 41 4 + 20 42 4 + 20 43 4 + 20 44 4 + 20 45 4 + 20 46 4 + 20 47 4 + 20 48 4 + 20 49 4 + 20 50 4 + 20 51 4 + 20 52 4 + 20 53 4 + 20 54 4 + 20 55 4 + 20 56 4 + 20 57 4 + 20 58 4 + 20 59 4 + 20 60 4 + 20 61 4 + 20 62 4 + 20 63 4 + 20 64 4 + 20 65 4 + 20 66 4 + 20 67 4 + 20 68 4 + 20 69 4 + 20 70 4 + 20 71 4 + 20 72 4 + 20 73 4 + 20 74 4 + 20 75 4 + 20 76 4 + 20 77 4 + 20 78 4 + 20 79 4 + 20 80 4 + 20 81 4 + 20 82 4 + 20 83 4 + 20 84 4 + 20 85 4 + 20 86 4 + 20 87 4 + 20 88 4 + 20 89 4 + 20 90 4 + 20 91 4 + 20 92 4 + 20 93 4 + 20 94 4 + 20 95 4 + 20 96 4 + 20 97 4 + 20 98 4 + 20 99 4 + 20 100 4 + 20 101 4 + 20 102 4 + 20 103 4 + 20 104 4 + 20 105 4 + 20 106 4 + 20 107 4 + 20 108 4 + 20 109 4 + 20 110 4 + 20 111 4 + 20 112 4 + 20 113 4 + 20 114 4 + 20 115 4 + 20 116 4 + 20 117 4 + 20 118 4 + 20 119 4 + 20 120 4 + 20 121 4 + 20 122 4 + 20 123 4 + 20 124 4 + 20 125 4 + 20 126 4 + 20 127 4 + 20 128 4 + 20 129 4 + 20 130 4 + 20 131 4 + 20 132 4 + 20 133 4 + 20 134 4 + 20 135 4 + 20 136 4 + 20 137 4 + 20 138 4 + 20 139 4 + 20 140 4 + 20 141 4 + 20 142 4 + 20 143 4 + 20 144 4 + 20 145 4 + 20 146 4 + 20 147 4 + 20 148 4 + 20 149 4 + 20 150 4 + 20 151 4 + 20 152 4 + 20 153 4 + 20 154 4 + 20 155 4 + 20 156 4 + 20 157 4 + 20 158 4 + 20 159 4 + 20 160 4 + 20 161 4 + 20 162 4 + 20 163 4 + 20 164 4 + 20 165 4 + 20 166 4 + 20 167 4 + 20 168 4 + 20 169 4 + 20 170 4 + 20 171 4 + 20 172 4 + 20 173 4 + 20 174 4 + 20 175 4 + 20 176 4 + 20 177 4 + 20 178 4 + 20 179 4 + 20 180 4 + 20 181 4 + 20 182 4 + 20 183 4 + 20 184 4 + 20 185 4 + 20 186 4 + 20 187 4 + 20 188 4 + 20 189 4 + 20 190 4 + 20 191 4 + 20 192 4 + 20 193 4 + 20 194 4 + 20 195 4 + 20 196 4 + 20 197 4 + 20 198 4 + 20 199 4 + 20 200 4 + 20 201 4 + 20 202 4 + 20 203 4 + 20 204 4 + 20 205 4 + 20 206 4 + 20 207 4 + 20 208 4 + 20 209 4 + 20 210 4 + 20 211 4 + 20 212 4 + 20 213 4 + 20 214 4 + 20 215 4 + 20 216 4 + 20 217 4 + 20 218 4 + 20 219 4 + 20 220 4 + 20 221 4 + 20 222 4 + 20 223 4 + 20 224 4 + 20 225 4 + 20 226 4 + 20 227 4 + 20 228 4 + 20 229 4 + 20 230 4 + 20 231 4 + 20 232 4 + 20 233 4 + 20 234 4 + 20 235 4 + 20 236 4 + 20 237 4 + 20 238 4 + 20 239 4 + 20 240 4 + 20 241 4 + 20 242 4 + 20 243 4 + 20 244 4 + 20 245 4 + 20 246 4 + 20 247 4 + 20 248 4 + 20 249 4 + 20 250 4 + 20 251 4 + 20 252 4 + 20 253 4 + 20 254 4 + 20 255 4 + 20 256 4 + 20 257 4 + 20 258 4 + 20 259 4 + 20 260 4 + 20 261 4 + 20 262 4 + 20 263 4 + 20 264 4 + 20 265 4 + 20 266 4 + 20 267 4 + 20 268 4 + 20 269 4 + 20 270 4 + 20 271 4 + 20 272 4 + 20 273 4 + 20 274 4 + 20 275 4 + 20 276 4 + 20 277 4 + 20 278 4 + 20 279 4 + 20 280 4 + 20 281 4 + 20 282 4 + 20 283 4 + 20 284 4 + 20 285 4 + 20 286 4 + 20 287 4 + 20 288 4 + 20 289 4 + 20 290 4 + 20 291 4 + 20 292 4 + 20 293 4 + 20 294 4 + 20 295 4 + 20 296 4 + 20 297 4 + 20 298 4 + 20 299 4 + 20 300 4 + 20 301 4 + 20 302 4 + 20 303 4 + 20 304 4 + 20 305 4 + 20 306 4 + 20 307 4 + 20 308 4 + 20 309 4 + 20 310 4 + 20 311 4 + 20 312 4 + 20 313 4 + 20 314 4 + 20 315 4 + 20 316 4 + 20 317 4 + 20 318 4 + 20 319 4 + 20 320 4 + 20 321 4 + 20 322 4 + 20 323 4 + 20 324 4 + 20 325 4 + 20 326 4 + 20 327 4 + 20 328 4 + 20 329 4 + 20 330 4 + 20 331 4 + 20 332 4 + 20 333 4 + 20 334 4 + 20 335 4 + 20 336 4 + 20 337 4 + 20 338 4 + 20 339 4 + 20 340 4 + 20 341 4 + 20 342 4 + 20 343 4 + 20 344 4 + 20 345 4 + 20 346 4 + 20 347 4 + 20 348 4 + 20 349 4 + 21 22 4 + 21 23 4 + 21 24 4 + 21 25 4 + 21 26 4 + 21 27 4 + 21 28 4 + 21 29 4 + 21 30 4 + 21 31 4 + 21 32 4 + 21 33 4 + 21 34 4 + 21 35 4 + 21 36 4 + 21 37 4 + 21 38 4 + 21 39 4 + 21 40 4 + 21 41 4 + 21 42 4 + 21 43 4 + 21 44 4 + 21 45 4 + 21 46 4 + 21 47 4 + 21 48 4 + 21 49 4 + 21 50 4 + 21 51 4 + 21 52 4 + 21 53 4 + 21 54 4 + 21 55 4 + 21 56 4 + 21 57 4 + 21 58 4 + 21 59 4 + 21 60 4 + 21 61 4 + 21 62 4 + 21 63 4 + 21 64 4 + 21 65 4 + 21 66 4 + 21 67 4 + 21 68 4 + 21 69 4 + 21 70 4 + 21 71 4 + 21 72 4 + 21 73 4 + 21 74 4 + 21 75 4 + 21 76 4 + 21 77 4 + 21 78 4 + 21 79 4 + 21 80 4 + 21 81 4 + 21 82 4 + 21 83 4 + 21 84 4 + 21 85 4 + 21 86 4 + 21 87 4 + 21 88 4 + 21 89 4 + 21 90 4 + 21 91 4 + 21 92 4 + 21 93 4 + 21 94 4 + 21 95 4 + 21 96 4 + 21 97 4 + 21 98 4 + 21 99 4 + 21 100 4 + 21 101 4 + 21 102 4 + 21 103 4 + 21 104 4 + 21 105 4 + 21 106 4 + 21 107 4 + 21 108 4 + 21 109 4 + 21 110 4 + 21 111 4 + 21 112 4 + 21 113 4 + 21 114 4 + 21 115 4 + 21 116 4 + 21 117 4 + 21 118 4 + 21 119 4 + 21 120 4 + 21 121 4 + 21 122 4 + 21 123 4 + 21 124 4 + 21 125 4 + 21 126 4 + 21 127 4 + 21 128 4 + 21 129 4 + 21 130 4 + 21 131 4 + 21 132 4 + 21 133 4 + 21 134 4 + 21 135 4 + 21 136 4 + 21 137 4 + 21 138 4 + 21 139 4 + 21 140 4 + 21 141 4 + 21 142 4 + 21 143 4 + 21 144 4 + 21 145 4 + 21 146 4 + 21 147 4 + 21 148 4 + 21 149 4 + 21 150 4 + 21 151 4 + 21 152 4 + 21 153 4 + 21 154 4 + 21 155 4 + 21 156 4 + 21 157 4 + 21 158 4 + 21 159 4 + 21 160 4 + 21 161 4 + 21 162 4 + 21 163 4 + 21 164 4 + 21 165 4 + 21 166 4 + 21 167 4 + 21 168 4 + 21 169 4 + 21 170 4 + 21 171 4 + 21 172 4 + 21 173 4 + 21 174 4 + 21 175 4 + 21 176 4 + 21 177 4 + 21 178 4 + 21 179 4 + 21 180 4 + 21 181 4 + 21 182 4 + 21 183 4 + 21 184 4 + 21 185 4 + 21 186 4 + 21 187 4 + 21 188 4 + 21 189 4 + 21 190 4 + 21 191 4 + 21 192 4 + 21 193 4 + 21 194 4 + 21 195 4 + 21 196 4 + 21 197 4 + 21 198 4 + 21 199 4 + 21 200 4 + 21 201 4 + 21 202 4 + 21 203 4 + 21 204 4 + 21 205 4 + 21 206 4 + 21 207 4 + 21 208 4 + 21 209 4 + 21 210 4 + 21 211 4 + 21 212 4 + 21 213 4 + 21 214 4 + 21 215 4 + 21 216 4 + 21 217 4 + 21 218 4 + 21 219 4 + 21 220 4 + 21 221 4 + 21 222 4 + 21 223 4 + 21 224 4 + 21 225 4 + 21 226 4 + 21 227 4 + 21 228 4 + 21 229 4 + 21 230 4 + 21 231 4 + 21 232 4 + 21 233 4 + 21 234 4 + 21 235 4 + 21 236 4 + 21 237 4 + 21 238 4 + 21 239 4 + 21 240 4 + 21 241 4 + 21 242 4 + 21 243 4 + 21 244 4 + 21 245 4 + 21 246 4 + 21 247 4 + 21 248 4 + 21 249 4 + 21 250 4 + 21 251 4 + 21 252 4 + 21 253 4 + 21 254 4 + 21 255 4 + 21 256 4 + 21 257 4 + 21 258 4 + 21 259 4 + 21 260 4 + 21 261 4 + 21 262 4 + 21 263 4 + 21 264 4 + 21 265 4 + 21 266 4 + 21 267 4 + 21 268 4 + 21 269 4 + 21 270 4 + 21 271 4 + 21 272 4 + 21 273 4 + 21 274 4 + 21 275 4 + 21 276 4 + 21 277 4 + 21 278 4 + 21 279 4 + 21 280 4 + 21 281 4 + 21 282 4 + 21 283 4 + 21 284 4 + 21 285 4 + 21 286 4 + 21 287 4 + 21 288 4 + 21 289 4 + 21 290 4 + 21 291 4 + 21 292 4 + 21 293 4 + 21 294 4 + 21 295 4 + 21 296 4 + 21 297 4 + 21 298 4 + 21 299 4 + 21 300 4 + 21 301 4 + 21 302 4 + 21 303 4 + 21 304 4 + 21 305 4 + 21 306 4 + 21 307 4 + 21 308 4 + 21 309 4 + 21 310 4 + 21 311 4 + 21 312 4 + 21 313 4 + 21 314 4 + 21 315 4 + 21 316 4 + 21 317 4 + 21 318 4 + 21 319 4 + 21 320 4 + 21 321 4 + 21 322 4 + 21 323 4 + 21 324 4 + 21 325 4 + 21 326 4 + 21 327 4 + 21 328 4 + 21 329 4 + 21 330 4 + 21 331 4 + 21 332 4 + 21 333 4 + 21 334 4 + 21 335 4 + 21 336 4 + 21 337 4 + 21 338 4 + 21 339 4 + 21 340 4 + 21 341 4 + 21 342 4 + 21 343 4 + 21 344 4 + 21 345 4 + 21 346 4 + 21 347 4 + 21 348 4 + 21 349 4 + 22 23 4 + 22 24 4 + 22 25 4 + 22 26 4 + 22 27 4 + 22 28 4 + 22 29 4 + 22 30 4 + 22 31 4 + 22 32 4 + 22 33 4 + 22 34 4 + 22 35 4 + 22 36 4 + 22 37 4 + 22 38 4 + 22 39 4 + 22 40 4 + 22 41 4 + 22 42 4 + 22 43 4 + 22 44 4 + 22 45 4 + 22 46 4 + 22 47 4 + 22 48 4 + 22 49 4 + 22 50 4 + 22 51 4 + 22 52 4 + 22 53 4 + 22 54 4 + 22 55 4 + 22 56 4 + 22 57 4 + 22 58 4 + 22 59 4 + 22 60 4 + 22 61 4 + 22 62 4 + 22 63 4 + 22 64 4 + 22 65 4 + 22 66 4 + 22 67 4 + 22 68 4 + 22 69 4 + 22 70 4 + 22 71 4 + 22 72 4 + 22 73 4 + 22 74 4 + 22 75 4 + 22 76 4 + 22 77 4 + 22 78 4 + 22 79 4 + 22 80 4 + 22 81 4 + 22 82 4 + 22 83 4 + 22 84 4 + 22 85 4 + 22 86 4 + 22 87 4 + 22 88 4 + 22 89 4 + 22 90 4 + 22 91 4 + 22 92 4 + 22 93 4 + 22 94 4 + 22 95 4 + 22 96 4 + 22 97 4 + 22 98 4 + 22 99 4 + 22 100 4 + 22 101 4 + 22 102 4 + 22 103 4 + 22 104 4 + 22 105 4 + 22 106 4 + 22 107 4 + 22 108 4 + 22 109 4 + 22 110 4 + 22 111 4 + 22 112 4 + 22 113 4 + 22 114 4 + 22 115 4 + 22 116 4 + 22 117 4 + 22 118 4 + 22 119 4 + 22 120 4 + 22 121 4 + 22 122 4 + 22 123 4 + 22 124 4 + 22 125 4 + 22 126 4 + 22 127 4 + 22 128 4 + 22 129 4 + 22 130 4 + 22 131 4 + 22 132 4 + 22 133 4 + 22 134 4 + 22 135 4 + 22 136 4 + 22 137 4 + 22 138 4 + 22 139 4 + 22 140 4 + 22 141 4 + 22 142 4 + 22 143 4 + 22 144 4 + 22 145 4 + 22 146 4 + 22 147 4 + 22 148 4 + 22 149 4 + 22 150 4 + 22 151 4 + 22 152 4 + 22 153 4 + 22 154 4 + 22 155 4 + 22 156 4 + 22 157 4 + 22 158 4 + 22 159 4 + 22 160 4 + 22 161 4 + 22 162 4 + 22 163 4 + 22 164 4 + 22 165 4 + 22 166 4 + 22 167 4 + 22 168 4 + 22 169 4 + 22 170 4 + 22 171 4 + 22 172 4 + 22 173 4 + 22 174 4 + 22 175 4 + 22 176 4 + 22 177 4 + 22 178 4 + 22 179 4 + 22 180 4 + 22 181 4 + 22 182 4 + 22 183 4 + 22 184 4 + 22 185 4 + 22 186 4 + 22 187 4 + 22 188 4 + 22 189 4 + 22 190 4 + 22 191 4 + 22 192 4 + 22 193 4 + 22 194 4 + 22 195 4 + 22 196 4 + 22 197 4 + 22 198 4 + 22 199 4 + 22 200 4 + 22 201 4 + 22 202 4 + 22 203 4 + 22 204 4 + 22 205 4 + 22 206 4 + 22 207 4 + 22 208 4 + 22 209 4 + 22 210 4 + 22 211 4 + 22 212 4 + 22 213 4 + 22 214 4 + 22 215 4 + 22 216 4 + 22 217 4 + 22 218 4 + 22 219 4 + 22 220 4 + 22 221 4 + 22 222 4 + 22 223 4 + 22 224 4 + 22 225 4 + 22 226 4 + 22 227 4 + 22 228 4 + 22 229 4 + 22 230 4 + 22 231 4 + 22 232 4 + 22 233 4 + 22 234 4 + 22 235 4 + 22 236 4 + 22 237 4 + 22 238 4 + 22 239 4 + 22 240 4 + 22 241 4 + 22 242 4 + 22 243 4 + 22 244 4 + 22 245 4 + 22 246 4 + 22 247 4 + 22 248 4 + 22 249 4 + 22 250 4 + 22 251 4 + 22 252 4 + 22 253 4 + 22 254 4 + 22 255 4 + 22 256 4 + 22 257 4 + 22 258 4 + 22 259 4 + 22 260 4 + 22 261 4 + 22 262 4 + 22 263 4 + 22 264 4 + 22 265 4 + 22 266 4 + 22 267 4 + 22 268 4 + 22 269 4 + 22 270 4 + 22 271 4 + 22 272 4 + 22 273 4 + 22 274 4 + 22 275 4 + 22 276 4 + 22 277 4 + 22 278 4 + 22 279 4 + 22 280 4 + 22 281 4 + 22 282 4 + 22 283 4 + 22 284 4 + 22 285 4 + 22 286 4 + 22 287 4 + 22 288 4 + 22 289 4 + 22 290 4 + 22 291 4 + 22 292 4 + 22 293 4 + 22 294 4 + 22 295 4 + 22 296 4 + 22 297 4 + 22 298 4 + 22 299 4 + 22 300 4 + 22 301 4 + 22 302 4 + 22 303 4 + 22 304 4 + 22 305 4 + 22 306 4 + 22 307 4 + 22 308 4 + 22 309 4 + 22 310 4 + 22 311 4 + 22 312 4 + 22 313 4 + 22 314 4 + 22 315 4 + 22 316 4 + 22 317 4 + 22 318 4 + 22 319 4 + 22 320 4 + 22 321 4 + 22 322 4 + 22 323 4 + 22 324 4 + 22 325 4 + 22 326 4 + 22 327 4 + 22 328 4 + 22 329 4 + 22 330 4 + 22 331 4 + 22 332 4 + 22 333 4 + 22 334 4 + 22 335 4 + 22 336 4 + 22 337 4 + 22 338 4 + 22 339 4 + 22 340 4 + 22 341 4 + 22 342 4 + 22 343 4 + 22 344 4 + 22 345 4 + 22 346 4 + 22 347 4 + 22 348 4 + 22 349 4 + 23 24 4 + 23 25 4 + 23 26 4 + 23 27 4 + 23 28 4 + 23 29 4 + 23 30 4 + 23 31 4 + 23 32 4 + 23 33 4 + 23 34 4 + 23 35 4 + 23 36 4 + 23 37 4 + 23 38 4 + 23 39 4 + 23 40 4 + 23 41 4 + 23 42 4 + 23 43 4 + 23 44 4 + 23 45 4 + 23 46 4 + 23 47 4 + 23 48 4 + 23 49 4 + 23 50 4 + 23 51 4 + 23 52 4 + 23 53 4 + 23 54 4 + 23 55 4 + 23 56 4 + 23 57 4 + 23 58 4 + 23 59 4 + 23 60 4 + 23 61 4 + 23 62 4 + 23 63 4 + 23 64 4 + 23 65 4 + 23 66 4 + 23 67 4 + 23 68 4 + 23 69 4 + 23 70 4 + 23 71 4 + 23 72 4 + 23 73 4 + 23 74 4 + 23 75 4 + 23 76 4 + 23 77 4 + 23 78 4 + 23 79 4 + 23 80 4 + 23 81 4 + 23 82 4 + 23 83 4 + 23 84 4 + 23 85 4 + 23 86 4 + 23 87 4 + 23 88 4 + 23 89 4 + 23 90 4 + 23 91 4 + 23 92 4 + 23 93 4 + 23 94 4 + 23 95 4 + 23 96 4 + 23 97 4 + 23 98 4 + 23 99 4 + 23 100 4 + 23 101 4 + 23 102 4 + 23 103 4 + 23 104 4 + 23 105 4 + 23 106 4 + 23 107 4 + 23 108 4 + 23 109 4 + 23 110 4 + 23 111 4 + 23 112 4 + 23 113 4 + 23 114 4 + 23 115 4 + 23 116 4 + 23 117 4 + 23 118 4 + 23 119 4 + 23 120 4 + 23 121 4 + 23 122 4 + 23 123 4 + 23 124 4 + 23 125 4 + 23 126 4 + 23 127 4 + 23 128 4 + 23 129 4 + 23 130 4 + 23 131 4 + 23 132 4 + 23 133 4 + 23 134 4 + 23 135 4 + 23 136 4 + 23 137 4 + 23 138 4 + 23 139 4 + 23 140 4 + 23 141 4 + 23 142 4 + 23 143 4 + 23 144 4 + 23 145 4 + 23 146 4 + 23 147 4 + 23 148 4 + 23 149 4 + 23 150 4 + 23 151 4 + 23 152 4 + 23 153 4 + 23 154 4 + 23 155 4 + 23 156 4 + 23 157 4 + 23 158 4 + 23 159 4 + 23 160 4 + 23 161 4 + 23 162 4 + 23 163 4 + 23 164 4 + 23 165 4 + 23 166 4 + 23 167 4 + 23 168 4 + 23 169 4 + 23 170 4 + 23 171 4 + 23 172 4 + 23 173 4 + 23 174 4 + 23 175 4 + 23 176 4 + 23 177 4 + 23 178 4 + 23 179 4 + 23 180 4 + 23 181 4 + 23 182 4 + 23 183 4 + 23 184 4 + 23 185 4 + 23 186 4 + 23 187 4 + 23 188 4 + 23 189 4 + 23 190 4 + 23 191 4 + 23 192 4 + 23 193 4 + 23 194 4 + 23 195 4 + 23 196 4 + 23 197 4 + 23 198 4 + 23 199 4 + 23 200 4 + 23 201 4 + 23 202 4 + 23 203 4 + 23 204 4 + 23 205 4 + 23 206 4 + 23 207 4 + 23 208 4 + 23 209 4 + 23 210 4 + 23 211 4 + 23 212 4 + 23 213 4 + 23 214 4 + 23 215 4 + 23 216 4 + 23 217 4 + 23 218 4 + 23 219 4 + 23 220 4 + 23 221 4 + 23 222 4 + 23 223 4 + 23 224 4 + 23 225 4 + 23 226 4 + 23 227 4 + 23 228 4 + 23 229 4 + 23 230 4 + 23 231 4 + 23 232 4 + 23 233 4 + 23 234 4 + 23 235 4 + 23 236 4 + 23 237 4 + 23 238 4 + 23 239 4 + 23 240 4 + 23 241 4 + 23 242 4 + 23 243 4 + 23 244 4 + 23 245 4 + 23 246 4 + 23 247 4 + 23 248 4 + 23 249 4 + 23 250 4 + 23 251 4 + 23 252 4 + 23 253 4 + 23 254 4 + 23 255 4 + 23 256 4 + 23 257 4 + 23 258 4 + 23 259 4 + 23 260 4 + 23 261 4 + 23 262 4 + 23 263 4 + 23 264 4 + 23 265 4 + 23 266 4 + 23 267 4 + 23 268 4 + 23 269 4 + 23 270 4 + 23 271 4 + 23 272 4 + 23 273 4 + 23 274 4 + 23 275 4 + 23 276 4 + 23 277 4 + 23 278 4 + 23 279 4 + 23 280 4 + 23 281 4 + 23 282 4 + 23 283 4 + 23 284 4 + 23 285 4 + 23 286 4 + 23 287 4 + 23 288 4 + 23 289 4 + 23 290 4 + 23 291 4 + 23 292 4 + 23 293 4 + 23 294 4 + 23 295 4 + 23 296 4 + 23 297 4 + 23 298 4 + 23 299 4 + 23 300 4 + 23 301 4 + 23 302 4 + 23 303 4 + 23 304 4 + 23 305 4 + 23 306 4 + 23 307 4 + 23 308 4 + 23 309 4 + 23 310 4 + 23 311 4 + 23 312 4 + 23 313 4 + 23 314 4 + 23 315 4 + 23 316 4 + 23 317 4 + 23 318 4 + 23 319 4 + 23 320 4 + 23 321 4 + 23 322 4 + 23 323 4 + 23 324 4 + 23 325 4 + 23 326 4 + 23 327 4 + 23 328 4 + 23 329 4 + 23 330 4 + 23 331 4 + 23 332 4 + 23 333 4 + 23 334 4 + 23 335 4 + 23 336 4 + 23 337 4 + 23 338 4 + 23 339 4 + 23 340 4 + 23 341 4 + 23 342 4 + 23 343 4 + 23 344 4 + 23 345 4 + 23 346 4 + 23 347 4 + 23 348 4 + 23 349 4 + 24 25 4 + 24 26 4 + 24 27 4 + 24 28 4 + 24 29 4 + 24 30 4 + 24 31 4 + 24 32 4 + 24 33 4 + 24 34 4 + 24 35 4 + 24 36 4 + 24 37 4 + 24 38 4 + 24 39 4 + 24 40 4 + 24 41 4 + 24 42 4 + 24 43 4 + 24 44 4 + 24 45 4 + 24 46 4 + 24 47 4 + 24 48 4 + 24 49 4 + 24 50 4 + 24 51 4 + 24 52 4 + 24 53 4 + 24 54 4 + 24 55 4 + 24 56 4 + 24 57 4 + 24 58 4 + 24 59 4 + 24 60 4 + 24 61 4 + 24 62 4 + 24 63 4 + 24 64 4 + 24 65 4 + 24 66 4 + 24 67 4 + 24 68 4 + 24 69 4 + 24 70 4 + 24 71 4 + 24 72 4 + 24 73 4 + 24 74 4 + 24 75 4 + 24 76 4 + 24 77 4 + 24 78 4 + 24 79 4 + 24 80 4 + 24 81 4 + 24 82 4 + 24 83 4 + 24 84 4 + 24 85 4 + 24 86 4 + 24 87 4 + 24 88 4 + 24 89 4 + 24 90 4 + 24 91 4 + 24 92 4 + 24 93 4 + 24 94 4 + 24 95 4 + 24 96 4 + 24 97 4 + 24 98 4 + 24 99 4 + 24 100 4 + 24 101 4 + 24 102 4 + 24 103 4 + 24 104 4 + 24 105 4 + 24 106 4 + 24 107 4 + 24 108 4 + 24 109 4 + 24 110 4 + 24 111 4 + 24 112 4 + 24 113 4 + 24 114 4 + 24 115 4 + 24 116 4 + 24 117 4 + 24 118 4 + 24 119 4 + 24 120 4 + 24 121 4 + 24 122 4 + 24 123 4 + 24 124 4 + 24 125 4 + 24 126 4 + 24 127 4 + 24 128 4 + 24 129 4 + 24 130 4 + 24 131 4 + 24 132 4 + 24 133 4 + 24 134 4 + 24 135 4 + 24 136 4 + 24 137 4 + 24 138 4 + 24 139 4 + 24 140 4 + 24 141 4 + 24 142 4 + 24 143 4 + 24 144 4 + 24 145 4 + 24 146 4 + 24 147 4 + 24 148 4 + 24 149 4 + 24 150 4 + 24 151 4 + 24 152 4 + 24 153 4 + 24 154 4 + 24 155 4 + 24 156 4 + 24 157 4 + 24 158 4 + 24 159 4 + 24 160 4 + 24 161 4 + 24 162 4 + 24 163 4 + 24 164 4 + 24 165 4 + 24 166 4 + 24 167 4 + 24 168 4 + 24 169 4 + 24 170 4 + 24 171 4 + 24 172 4 + 24 173 4 + 24 174 4 + 24 175 4 + 24 176 4 + 24 177 4 + 24 178 4 + 24 179 4 + 24 180 4 + 24 181 4 + 24 182 4 + 24 183 4 + 24 184 4 + 24 185 4 + 24 186 4 + 24 187 4 + 24 188 4 + 24 189 4 + 24 190 4 + 24 191 4 + 24 192 4 + 24 193 4 + 24 194 4 + 24 195 4 + 24 196 4 + 24 197 4 + 24 198 4 + 24 199 4 + 24 200 4 + 24 201 4 + 24 202 4 + 24 203 4 + 24 204 4 + 24 205 4 + 24 206 4 + 24 207 4 + 24 208 4 + 24 209 4 + 24 210 4 + 24 211 4 + 24 212 4 + 24 213 4 + 24 214 4 + 24 215 4 + 24 216 4 + 24 217 4 + 24 218 4 + 24 219 4 + 24 220 4 + 24 221 4 + 24 222 4 + 24 223 4 + 24 224 4 + 24 225 4 + 24 226 4 + 24 227 4 + 24 228 4 + 24 229 4 + 24 230 4 + 24 231 4 + 24 232 4 + 24 233 4 + 24 234 4 + 24 235 4 + 24 236 4 + 24 237 4 + 24 238 4 + 24 239 4 + 24 240 4 + 24 241 4 + 24 242 4 + 24 243 4 + 24 244 4 + 24 245 4 + 24 246 4 + 24 247 4 + 24 248 4 + 24 249 4 + 24 250 4 + 24 251 4 + 24 252 4 + 24 253 4 + 24 254 4 + 24 255 4 + 24 256 4 + 24 257 4 + 24 258 4 + 24 259 4 + 24 260 4 + 24 261 4 + 24 262 4 + 24 263 4 + 24 264 4 + 24 265 4 + 24 266 4 + 24 267 4 + 24 268 4 + 24 269 4 + 24 270 4 + 24 271 4 + 24 272 4 + 24 273 4 + 24 274 4 + 24 275 4 + 24 276 4 + 24 277 4 + 24 278 4 + 24 279 4 + 24 280 4 + 24 281 4 + 24 282 4 + 24 283 4 + 24 284 4 + 24 285 4 + 24 286 4 + 24 287 4 + 24 288 4 + 24 289 4 + 24 290 4 + 24 291 4 + 24 292 4 + 24 293 4 + 24 294 4 + 24 295 4 + 24 296 4 + 24 297 4 + 24 298 4 + 24 299 4 + 24 300 4 + 24 301 4 + 24 302 4 + 24 303 4 + 24 304 4 + 24 305 4 + 24 306 4 + 24 307 4 + 24 308 4 + 24 309 4 + 24 310 4 + 24 311 4 + 24 312 4 + 24 313 4 + 24 314 4 + 24 315 4 + 24 316 4 + 24 317 4 + 24 318 4 + 24 319 4 + 24 320 4 + 24 321 4 + 24 322 4 + 24 323 4 + 24 324 4 + 24 325 4 + 24 326 4 + 24 327 4 + 24 328 4 + 24 329 4 + 24 330 4 + 24 331 4 + 24 332 4 + 24 333 4 + 24 334 4 + 24 335 4 + 24 336 4 + 24 337 4 + 24 338 4 + 24 339 4 + 24 340 4 + 24 341 4 + 24 342 4 + 24 343 4 + 24 344 4 + 24 345 4 + 24 346 4 + 24 347 4 + 24 348 4 + 24 349 4 + 25 26 4 + 25 27 4 + 25 28 4 + 25 29 4 + 25 30 4 + 25 31 4 + 25 32 4 + 25 33 4 + 25 34 4 + 25 35 4 + 25 36 4 + 25 37 4 + 25 38 4 + 25 39 4 + 25 40 4 + 25 41 4 + 25 42 4 + 25 43 4 + 25 44 4 + 25 45 4 + 25 46 4 + 25 47 4 + 25 48 4 + 25 49 4 + 25 50 4 + 25 51 4 + 25 52 4 + 25 53 4 + 25 54 4 + 25 55 4 + 25 56 4 + 25 57 4 + 25 58 4 + 25 59 4 + 25 60 4 + 25 61 4 + 25 62 4 + 25 63 4 + 25 64 4 + 25 65 4 + 25 66 4 + 25 67 4 + 25 68 4 + 25 69 4 + 25 70 4 + 25 71 4 + 25 72 4 + 25 73 4 + 25 74 4 + 25 75 4 + 25 76 4 + 25 77 4 + 25 78 4 + 25 79 4 + 25 80 4 + 25 81 4 + 25 82 4 + 25 83 4 + 25 84 4 + 25 85 4 + 25 86 4 + 25 87 4 + 25 88 4 + 25 89 4 + 25 90 4 + 25 91 4 + 25 92 4 + 25 93 4 + 25 94 4 + 25 95 4 + 25 96 4 + 25 97 4 + 25 98 4 + 25 99 4 + 25 100 4 + 25 101 4 + 25 102 4 + 25 103 4 + 25 104 4 + 25 105 4 + 25 106 4 + 25 107 4 + 25 108 4 + 25 109 4 + 25 110 4 + 25 111 4 + 25 112 4 + 25 113 4 + 25 114 4 + 25 115 4 + 25 116 4 + 25 117 4 + 25 118 4 + 25 119 4 + 25 120 4 + 25 121 4 + 25 122 4 + 25 123 4 + 25 124 4 + 25 125 4 + 25 126 4 + 25 127 4 + 25 128 4 + 25 129 4 + 25 130 4 + 25 131 4 + 25 132 4 + 25 133 4 + 25 134 4 + 25 135 4 + 25 136 4 + 25 137 4 + 25 138 4 + 25 139 4 + 25 140 4 + 25 141 4 + 25 142 4 + 25 143 4 + 25 144 4 + 25 145 4 + 25 146 4 + 25 147 4 + 25 148 4 + 25 149 4 + 25 150 4 + 25 151 4 + 25 152 4 + 25 153 4 + 25 154 4 + 25 155 4 + 25 156 4 + 25 157 4 + 25 158 4 + 25 159 4 + 25 160 4 + 25 161 4 + 25 162 4 + 25 163 4 + 25 164 4 + 25 165 4 + 25 166 4 + 25 167 4 + 25 168 4 + 25 169 4 + 25 170 4 + 25 171 4 + 25 172 4 + 25 173 4 + 25 174 4 + 25 175 4 + 25 176 4 + 25 177 4 + 25 178 4 + 25 179 4 + 25 180 4 + 25 181 4 + 25 182 4 + 25 183 4 + 25 184 4 + 25 185 4 + 25 186 4 + 25 187 4 + 25 188 4 + 25 189 4 + 25 190 4 + 25 191 4 + 25 192 4 + 25 193 4 + 25 194 4 + 25 195 4 + 25 196 4 + 25 197 4 + 25 198 4 + 25 199 4 + 25 200 4 + 25 201 4 + 25 202 4 + 25 203 4 + 25 204 4 + 25 205 4 + 25 206 4 + 25 207 4 + 25 208 4 + 25 209 4 + 25 210 4 + 25 211 4 + 25 212 4 + 25 213 4 + 25 214 4 + 25 215 4 + 25 216 4 + 25 217 4 + 25 218 4 + 25 219 4 + 25 220 4 + 25 221 4 + 25 222 4 + 25 223 4 + 25 224 4 + 25 225 4 + 25 226 4 + 25 227 4 + 25 228 4 + 25 229 4 + 25 230 4 + 25 231 4 + 25 232 4 + 25 233 4 + 25 234 4 + 25 235 4 + 25 236 4 + 25 237 4 + 25 238 4 + 25 239 4 + 25 240 4 + 25 241 4 + 25 242 4 + 25 243 4 + 25 244 4 + 25 245 4 + 25 246 4 + 25 247 4 + 25 248 4 + 25 249 4 + 25 250 4 + 25 251 4 + 25 252 4 + 25 253 4 + 25 254 4 + 25 255 4 + 25 256 4 + 25 257 4 + 25 258 4 + 25 259 4 + 25 260 4 + 25 261 4 + 25 262 4 + 25 263 4 + 25 264 4 + 25 265 4 + 25 266 4 + 25 267 4 + 25 268 4 + 25 269 4 + 25 270 4 + 25 271 4 + 25 272 4 + 25 273 4 + 25 274 4 + 25 275 4 + 25 276 4 + 25 277 4 + 25 278 4 + 25 279 4 + 25 280 4 + 25 281 4 + 25 282 4 + 25 283 4 + 25 284 4 + 25 285 4 + 25 286 4 + 25 287 4 + 25 288 4 + 25 289 4 + 25 290 4 + 25 291 4 + 25 292 4 + 25 293 4 + 25 294 4 + 25 295 4 + 25 296 4 + 25 297 4 + 25 298 4 + 25 299 4 + 25 300 4 + 25 301 4 + 25 302 4 + 25 303 4 + 25 304 4 + 25 305 4 + 25 306 4 + 25 307 4 + 25 308 4 + 25 309 4 + 25 310 4 + 25 311 4 + 25 312 4 + 25 313 4 + 25 314 4 + 25 315 4 + 25 316 4 + 25 317 4 + 25 318 4 + 25 319 4 + 25 320 4 + 25 321 4 + 25 322 4 + 25 323 4 + 25 324 4 + 25 325 4 + 25 326 4 + 25 327 4 + 25 328 4 + 25 329 4 + 25 330 4 + 25 331 4 + 25 332 4 + 25 333 4 + 25 334 4 + 25 335 4 + 25 336 4 + 25 337 8 + 25 338 8 + 25 339 8 + 25 340 8 + 25 341 8 + 25 342 8 + 25 343 8 + 25 344 8 + 25 345 8 + 25 346 8 + 25 347 8 + 25 348 8 + 25 349 8 + 26 27 8 + 26 28 8 + 26 29 8 + 26 30 8 + 26 31 8 + 26 32 8 + 26 33 8 + 26 34 8 + 26 35 8 + 26 36 8 + 26 37 8 + 26 38 8 + 26 39 8 + 26 40 8 + 26 41 8 + 26 42 8 + 26 43 8 + 26 44 8 + 26 45 8 + 26 46 8 + 26 47 8 + 26 48 8 + 26 49 8 + 26 50 8 + 26 51 8 + 26 52 8 + 26 53 8 + 26 54 8 + 26 55 8 + 26 56 8 + 26 57 8 + 26 58 8 + 26 59 8 + 26 60 8 + 26 61 8 + 26 62 8 + 26 63 8 + 26 64 8 + 26 65 8 + 26 66 8 + 26 67 8 + 26 68 8 + 26 69 8 + 26 70 8 + 26 71 8 + 26 72 8 + 26 73 8 + 26 74 8 + 26 75 8 + 26 76 8 + 26 77 8 + 26 78 8 + 26 79 8 + 26 80 8 + 26 81 8 + 26 82 8 + 26 83 8 + 26 84 8 + 26 85 8 + 26 86 8 + 26 87 8 + 26 88 8 + 26 89 8 + 26 90 8 + 26 91 8 + 26 92 8 + 26 93 8 + 26 94 8 + 26 95 8 + 26 96 8 + 26 97 8 + 26 98 8 + 26 99 8 + 26 100 8 + 26 101 8 + 26 102 8 + 26 103 8 + 26 104 8 + 26 105 8 + 26 106 8 + 26 107 8 + 26 108 8 + 26 109 8 + 26 110 8 + 26 111 8 + 26 112 8 + 26 113 8 + 26 114 8 + 26 115 8 + 26 116 8 + 26 117 8 + 26 118 8 + 26 119 8 + 26 120 8 + 26 121 8 + 26 122 8 + 26 123 8 + 26 124 8 + 26 125 8 + 26 126 8 + 26 127 8 + 26 128 8 + 26 129 8 + 26 130 8 + 26 131 8 + 26 132 8 + 26 133 8 + 26 134 8 + 26 135 8 + 26 136 8 + 26 137 8 + 26 138 8 + 26 139 8 + 26 140 8 + 26 141 8 + 26 142 8 + 26 143 8 + 26 144 8 + 26 145 8 + 26 146 8 + 26 147 8 + 26 148 8 + 26 149 8 + 26 150 8 + 26 151 8 + 26 152 8 + 26 153 8 + 26 154 8 + 26 155 8 + 26 156 8 + 26 157 8 + 26 158 8 + 26 159 8 + 26 160 8 + 26 161 8 + 26 162 8 + 26 163 8 + 26 164 8 + 26 165 8 + 26 166 8 + 26 167 8 + 26 168 8 + 26 169 8 + 26 170 8 + 26 171 8 + 26 172 8 + 26 173 8 + 26 174 8 + 26 175 8 + 26 176 8 + 26 177 8 + 26 178 8 + 26 179 8 + 26 180 8 + 26 181 8 + 26 182 8 + 26 183 8 + 26 184 8 + 26 185 8 + 26 186 8 + 26 187 8 + 26 188 8 + 26 189 8 + 26 190 8 + 26 191 8 + 26 192 8 + 26 193 8 + 26 194 8 + 26 195 8 + 26 196 8 + 26 197 8 + 26 198 8 + 26 199 8 + 26 200 8 + 26 201 8 + 26 202 8 + 26 203 8 + 26 204 8 + 26 205 8 + 26 206 8 + 26 207 8 + 26 208 8 + 26 209 8 + 26 210 8 + 26 211 8 + 26 212 8 + 26 213 8 + 26 214 8 + 26 215 8 + 26 216 8 + 26 217 8 + 26 218 8 + 26 219 8 + 26 220 8 + 26 221 8 + 26 222 8 + 26 223 8 + 26 224 8 + 26 225 8 + 26 226 8 + 26 227 8 + 26 228 8 + 26 229 8 + 26 230 8 + 26 231 8 + 26 232 8 + 26 233 8 + 26 234 8 + 26 235 8 + 26 236 8 + 26 237 8 + 26 238 8 + 26 239 8 + 26 240 8 + 26 241 8 + 26 242 8 + 26 243 8 + 26 244 8 + 26 245 8 + 26 246 8 + 26 247 8 + 26 248 8 + 26 249 8 + 26 250 8 + 26 251 8 + 26 252 8 + 26 253 8 + 26 254 8 + 26 255 8 + 26 256 8 + 26 257 8 + 26 258 8 + 26 259 8 + 26 260 8 + 26 261 8 + 26 262 8 + 26 263 8 + 26 264 8 + 26 265 8 + 26 266 8 + 26 267 8 + 26 268 8 + 26 269 8 + 26 270 8 + 26 271 8 + 26 272 8 + 26 273 8 + 26 274 8 + 26 275 8 + 26 276 8 + 26 277 8 + 26 278 8 + 26 279 8 + 26 280 8 + 26 281 8 + 26 282 8 + 26 283 8 + 26 284 8 + 26 285 8 + 26 286 8 + 26 287 8 + 26 288 8 + 26 289 8 + 26 290 8 + 26 291 8 + 26 292 8 + 26 293 8 + 26 294 8 + 26 295 8 + 26 296 8 + 26 297 8 + 26 298 8 + 26 299 8 + 26 300 8 + 26 301 8 + 26 302 8 + 26 303 8 + 26 304 8 + 26 305 8 + 26 306 8 + 26 307 8 + 26 308 8 + 26 309 8 + 26 310 8 + 26 311 8 + 26 312 8 + 26 313 8 + 26 314 8 + 26 315 8 + 26 316 8 + 26 317 8 + 26 318 8 + 26 319 8 + 26 320 8 + 26 321 8 + 26 322 8 + 26 323 8 + 26 324 8 + 26 325 8 + 26 326 8 + 26 327 8 + 26 328 8 + 26 329 8 + 26 330 8 + 26 331 8 + 26 332 8 + 26 333 8 + 26 334 8 + 26 335 8 + 26 336 8 + 26 337 8 + 26 338 8 + 26 339 8 + 26 340 8 + 26 341 8 + 26 342 8 + 26 343 8 + 26 344 8 + 26 345 8 + 26 346 8 + 26 347 8 + 26 348 8 + 26 349 8 + 27 28 8 + 27 29 8 + 27 30 8 + 27 31 8 + 27 32 8 + 27 33 8 + 27 34 8 + 27 35 8 + 27 36 8 + 27 37 8 + 27 38 8 + 27 39 8 + 27 40 8 + 27 41 8 + 27 42 8 + 27 43 8 + 27 44 8 + 27 45 8 + 27 46 8 + 27 47 8 + 27 48 8 + 27 49 8 + 27 50 8 + 27 51 8 + 27 52 8 + 27 53 8 + 27 54 8 + 27 55 8 + 27 56 8 + 27 57 8 + 27 58 8 + 27 59 8 + 27 60 8 + 27 61 8 + 27 62 8 + 27 63 8 + 27 64 8 + 27 65 8 + 27 66 8 + 27 67 8 + 27 68 8 + 27 69 8 + 27 70 8 + 27 71 8 + 27 72 8 + 27 73 8 + 27 74 8 + 27 75 8 + 27 76 8 + 27 77 8 + 27 78 8 + 27 79 8 + 27 80 8 + 27 81 8 + 27 82 8 + 27 83 8 + 27 84 8 + 27 85 8 + 27 86 8 + 27 87 8 + 27 88 8 + 27 89 8 + 27 90 8 + 27 91 8 + 27 92 8 + 27 93 8 + 27 94 8 + 27 95 8 + 27 96 8 + 27 97 8 + 27 98 8 + 27 99 8 + 27 100 8 + 27 101 8 + 27 102 8 + 27 103 8 + 27 104 8 + 27 105 8 + 27 106 8 + 27 107 8 + 27 108 8 + 27 109 8 + 27 110 8 + 27 111 8 + 27 112 8 + 27 113 8 + 27 114 8 + 27 115 8 + 27 116 8 + 27 117 8 + 27 118 8 + 27 119 8 + 27 120 8 + 27 121 8 + 27 122 8 + 27 123 8 + 27 124 8 + 27 125 8 + 27 126 8 + 27 127 8 + 27 128 8 + 27 129 8 + 27 130 8 + 27 131 8 + 27 132 8 + 27 133 8 + 27 134 8 + 27 135 8 + 27 136 8 + 27 137 8 + 27 138 8 + 27 139 8 + 27 140 8 + 27 141 8 + 27 142 8 + 27 143 8 + 27 144 8 + 27 145 8 + 27 146 8 + 27 147 8 + 27 148 8 + 27 149 8 + 27 150 8 + 27 151 8 + 27 152 8 + 27 153 8 + 27 154 8 + 27 155 8 + 27 156 8 + 27 157 8 + 27 158 8 + 27 159 8 + 27 160 8 + 27 161 8 + 27 162 8 + 27 163 8 + 27 164 8 + 27 165 8 + 27 166 8 + 27 167 8 + 27 168 8 + 27 169 8 + 27 170 8 + 27 171 8 + 27 172 8 + 27 173 8 + 27 174 8 + 27 175 8 + 27 176 8 + 27 177 8 + 27 178 8 + 27 179 8 + 27 180 8 + 27 181 8 + 27 182 8 + 27 183 8 + 27 184 8 + 27 185 8 + 27 186 8 + 27 187 8 + 27 188 8 + 27 189 8 + 27 190 8 + 27 191 8 + 27 192 8 + 27 193 8 + 27 194 8 + 27 195 8 + 27 196 8 + 27 197 8 + 27 198 8 + 27 199 8 + 27 200 8 + 27 201 8 + 27 202 8 + 27 203 8 + 27 204 8 + 27 205 8 + 27 206 8 + 27 207 8 + 27 208 8 + 27 209 8 + 27 210 8 + 27 211 8 + 27 212 8 + 27 213 8 + 27 214 8 + 27 215 8 + 27 216 8 + 27 217 8 + 27 218 8 + 27 219 8 + 27 220 8 + 27 221 8 + 27 222 8 + 27 223 8 + 27 224 8 + 27 225 8 + 27 226 8 + 27 227 8 + 27 228 8 + 27 229 8 + 27 230 8 + 27 231 8 + 27 232 8 + 27 233 8 + 27 234 8 + 27 235 8 + 27 236 8 + 27 237 8 + 27 238 8 + 27 239 8 + 27 240 8 + 27 241 8 + 27 242 8 + 27 243 8 + 27 244 8 + 27 245 8 + 27 246 8 + 27 247 8 + 27 248 8 + 27 249 8 + 27 250 8 + 27 251 8 + 27 252 8 + 27 253 8 + 27 254 8 + 27 255 8 + 27 256 8 + 27 257 8 + 27 258 8 + 27 259 8 + 27 260 8 + 27 261 8 + 27 262 8 + 27 263 8 + 27 264 8 + 27 265 8 + 27 266 8 + 27 267 8 + 27 268 8 + 27 269 8 + 27 270 8 + 27 271 8 + 27 272 8 + 27 273 8 + 27 274 8 + 27 275 8 + 27 276 8 + 27 277 8 + 27 278 8 + 27 279 8 + 27 280 8 + 27 281 8 + 27 282 8 + 27 283 8 + 27 284 8 + 27 285 8 + 27 286 8 + 27 287 8 + 27 288 8 + 27 289 8 + 27 290 8 + 27 291 8 + 27 292 8 + 27 293 8 + 27 294 8 + 27 295 8 + 27 296 8 + 27 297 8 + 27 298 8 + 27 299 8 + 27 300 8 + 27 301 8 + 27 302 8 + 27 303 8 + 27 304 8 + 27 305 8 + 27 306 8 + 27 307 8 + 27 308 8 + 27 309 8 + 27 310 8 + 27 311 8 + 27 312 8 + 27 313 8 + 27 314 8 + 27 315 8 + 27 316 8 + 27 317 8 + 27 318 8 + 27 319 8 + 27 320 8 + 27 321 8 + 27 322 8 + 27 323 8 + 27 324 8 + 27 325 8 + 27 326 8 + 27 327 8 + 27 328 8 + 27 329 8 + 27 330 8 + 27 331 8 + 27 332 8 + 27 333 8 + 27 334 8 + 27 335 8 + 27 336 8 + 27 337 8 + 27 338 8 + 27 339 8 + 27 340 8 + 27 341 8 + 27 342 8 + 27 343 8 + 27 344 8 + 27 345 8 + 27 346 8 + 27 347 8 + 27 348 8 + 27 349 8 + 28 29 8 + 28 30 8 + 28 31 8 + 28 32 8 + 28 33 8 + 28 34 8 + 28 35 8 + 28 36 8 + 28 37 8 + 28 38 8 + 28 39 8 + 28 40 8 + 28 41 8 + 28 42 8 + 28 43 8 + 28 44 8 + 28 45 8 + 28 46 8 + 28 47 8 + 28 48 8 + 28 49 8 + 28 50 8 + 28 51 8 + 28 52 8 + 28 53 8 + 28 54 8 + 28 55 8 + 28 56 8 + 28 57 8 + 28 58 8 + 28 59 8 + 28 60 8 + 28 61 8 + 28 62 8 + 28 63 8 + 28 64 8 + 28 65 8 + 28 66 8 + 28 67 8 + 28 68 8 + 28 69 8 + 28 70 8 + 28 71 8 + 28 72 8 + 28 73 8 + 28 74 8 + 28 75 8 + 28 76 8 + 28 77 8 + 28 78 8 + 28 79 8 + 28 80 8 + 28 81 8 + 28 82 8 + 28 83 8 + 28 84 8 + 28 85 8 + 28 86 8 + 28 87 8 + 28 88 8 + 28 89 8 + 28 90 8 + 28 91 8 + 28 92 8 + 28 93 8 + 28 94 8 + 28 95 8 + 28 96 8 + 28 97 8 + 28 98 8 + 28 99 8 + 28 100 8 + 28 101 8 + 28 102 8 + 28 103 8 + 28 104 8 + 28 105 8 + 28 106 8 + 28 107 8 + 28 108 8 + 28 109 8 + 28 110 8 + 28 111 8 + 28 112 8 + 28 113 8 + 28 114 8 + 28 115 8 + 28 116 8 + 28 117 8 + 28 118 8 + 28 119 8 + 28 120 8 + 28 121 8 + 28 122 8 + 28 123 8 + 28 124 8 + 28 125 8 + 28 126 8 + 28 127 8 + 28 128 8 + 28 129 8 + 28 130 8 + 28 131 8 + 28 132 8 + 28 133 8 + 28 134 8 + 28 135 8 + 28 136 8 + 28 137 8 + 28 138 8 + 28 139 8 + 28 140 8 + 28 141 8 + 28 142 8 + 28 143 8 + 28 144 8 + 28 145 8 + 28 146 8 + 28 147 8 + 28 148 8 + 28 149 8 + 28 150 8 + 28 151 8 + 28 152 8 + 28 153 8 + 28 154 8 + 28 155 8 + 28 156 8 + 28 157 8 + 28 158 8 + 28 159 8 + 28 160 8 + 28 161 8 + 28 162 8 + 28 163 8 + 28 164 8 + 28 165 8 + 28 166 8 + 28 167 8 + 28 168 8 + 28 169 8 + 28 170 8 + 28 171 8 + 28 172 8 + 28 173 8 + 28 174 8 + 28 175 8 + 28 176 8 + 28 177 8 + 28 178 8 + 28 179 8 + 28 180 8 + 28 181 8 + 28 182 8 + 28 183 8 + 28 184 8 + 28 185 8 + 28 186 8 + 28 187 8 + 28 188 8 + 28 189 8 + 28 190 8 + 28 191 8 + 28 192 8 + 28 193 8 + 28 194 8 + 28 195 8 + 28 196 8 + 28 197 8 + 28 198 8 + 28 199 8 + 28 200 8 + 28 201 8 + 28 202 8 + 28 203 8 + 28 204 8 + 28 205 8 + 28 206 8 + 28 207 8 + 28 208 8 + 28 209 8 + 28 210 8 + 28 211 8 + 28 212 8 + 28 213 8 + 28 214 8 + 28 215 8 + 28 216 8 + 28 217 8 + 28 218 8 + 28 219 8 + 28 220 8 + 28 221 8 + 28 222 8 + 28 223 8 + 28 224 8 + 28 225 8 + 28 226 8 + 28 227 8 + 28 228 8 + 28 229 8 + 28 230 8 + 28 231 8 + 28 232 8 + 28 233 8 + 28 234 8 + 28 235 8 + 28 236 8 + 28 237 8 + 28 238 8 + 28 239 8 + 28 240 8 + 28 241 8 + 28 242 8 + 28 243 8 + 28 244 8 + 28 245 8 + 28 246 8 + 28 247 8 + 28 248 8 + 28 249 8 + 28 250 8 + 28 251 8 + 28 252 8 + 28 253 8 + 28 254 8 + 28 255 8 + 28 256 8 + 28 257 8 + 28 258 8 + 28 259 8 + 28 260 8 + 28 261 8 + 28 262 8 + 28 263 8 + 28 264 8 + 28 265 8 + 28 266 8 + 28 267 8 + 28 268 8 + 28 269 8 + 28 270 8 + 28 271 8 + 28 272 8 + 28 273 8 + 28 274 8 + 28 275 8 + 28 276 8 + 28 277 8 + 28 278 8 + 28 279 8 + 28 280 8 + 28 281 8 + 28 282 8 + 28 283 8 + 28 284 8 + 28 285 8 + 28 286 8 + 28 287 8 + 28 288 8 + 28 289 8 + 28 290 8 + 28 291 8 + 28 292 8 + 28 293 8 + 28 294 8 + 28 295 8 + 28 296 8 + 28 297 8 + 28 298 8 + 28 299 8 + 28 300 8 + 28 301 8 + 28 302 8 + 28 303 8 + 28 304 8 + 28 305 8 + 28 306 8 + 28 307 8 + 28 308 8 + 28 309 8 + 28 310 8 + 28 311 8 + 28 312 8 + 28 313 8 + 28 314 8 + 28 315 8 + 28 316 8 + 28 317 8 + 28 318 8 + 28 319 8 + 28 320 8 + 28 321 8 + 28 322 8 + 28 323 8 + 28 324 8 + 28 325 8 + 28 326 8 + 28 327 8 + 28 328 8 + 28 329 8 + 28 330 8 + 28 331 8 + 28 332 8 + 28 333 8 + 28 334 8 + 28 335 8 + 28 336 8 + 28 337 8 + 28 338 8 + 28 339 8 + 28 340 8 + 28 341 8 + 28 342 8 + 28 343 8 + 28 344 8 + 28 345 8 + 28 346 8 + 28 347 8 + 28 348 8 + 28 349 8 + 29 30 8 + 29 31 8 + 29 32 8 + 29 33 8 + 29 34 8 + 29 35 8 + 29 36 8 + 29 37 8 + 29 38 8 + 29 39 8 + 29 40 8 + 29 41 8 + 29 42 8 + 29 43 8 + 29 44 8 + 29 45 8 + 29 46 8 + 29 47 8 + 29 48 8 + 29 49 8 + 29 50 8 + 29 51 8 + 29 52 8 + 29 53 8 + 29 54 8 + 29 55 8 + 29 56 8 + 29 57 8 + 29 58 8 + 29 59 8 + 29 60 8 + 29 61 8 + 29 62 8 + 29 63 8 + 29 64 8 + 29 65 8 + 29 66 8 + 29 67 8 + 29 68 8 + 29 69 8 + 29 70 8 + 29 71 8 + 29 72 8 + 29 73 8 + 29 74 8 + 29 75 8 + 29 76 8 + 29 77 8 + 29 78 8 + 29 79 8 + 29 80 8 + 29 81 8 + 29 82 8 + 29 83 8 + 29 84 8 + 29 85 8 + 29 86 8 + 29 87 8 + 29 88 8 + 29 89 8 + 29 90 8 + 29 91 8 + 29 92 8 + 29 93 8 + 29 94 8 + 29 95 8 + 29 96 8 + 29 97 8 + 29 98 8 + 29 99 8 + 29 100 8 + 29 101 8 + 29 102 8 + 29 103 8 + 29 104 8 + 29 105 8 + 29 106 8 + 29 107 8 + 29 108 8 + 29 109 8 + 29 110 8 + 29 111 8 + 29 112 8 + 29 113 8 + 29 114 8 + 29 115 8 + 29 116 8 + 29 117 8 + 29 118 8 + 29 119 8 + 29 120 8 + 29 121 8 + 29 122 8 + 29 123 8 + 29 124 8 + 29 125 8 + 29 126 8 + 29 127 8 + 29 128 8 + 29 129 8 + 29 130 8 + 29 131 8 + 29 132 8 + 29 133 8 + 29 134 8 + 29 135 8 + 29 136 8 + 29 137 8 + 29 138 8 + 29 139 8 + 29 140 8 + 29 141 8 + 29 142 8 + 29 143 8 + 29 144 8 + 29 145 8 + 29 146 8 + 29 147 8 + 29 148 8 + 29 149 8 + 29 150 8 + 29 151 8 + 29 152 8 + 29 153 8 + 29 154 8 + 29 155 8 + 29 156 8 + 29 157 8 + 29 158 8 + 29 159 8 + 29 160 8 + 29 161 8 + 29 162 8 + 29 163 8 + 29 164 8 + 29 165 8 + 29 166 8 + 29 167 8 + 29 168 8 + 29 169 8 + 29 170 8 + 29 171 8 + 29 172 8 + 29 173 8 + 29 174 8 + 29 175 8 + 29 176 8 + 29 177 8 + 29 178 8 + 29 179 8 + 29 180 8 + 29 181 8 + 29 182 8 + 29 183 8 + 29 184 8 + 29 185 8 + 29 186 8 + 29 187 8 + 29 188 8 + 29 189 8 + 29 190 8 + 29 191 8 + 29 192 8 + 29 193 8 + 29 194 8 + 29 195 8 + 29 196 8 + 29 197 8 + 29 198 8 + 29 199 8 + 29 200 8 + 29 201 8 + 29 202 8 + 29 203 8 + 29 204 8 + 29 205 8 + 29 206 8 + 29 207 8 + 29 208 8 + 29 209 8 + 29 210 8 + 29 211 8 + 29 212 8 + 29 213 8 + 29 214 8 + 29 215 8 + 29 216 8 + 29 217 8 + 29 218 8 + 29 219 8 + 29 220 8 + 29 221 8 + 29 222 8 + 29 223 8 + 29 224 8 + 29 225 8 + 29 226 8 + 29 227 8 + 29 228 8 + 29 229 8 + 29 230 8 + 29 231 8 + 29 232 8 + 29 233 8 + 29 234 8 + 29 235 8 + 29 236 8 + 29 237 8 + 29 238 8 + 29 239 8 + 29 240 8 + 29 241 8 + 29 242 8 + 29 243 8 + 29 244 8 + 29 245 8 + 29 246 8 + 29 247 8 + 29 248 8 + 29 249 8 + 29 250 8 + 29 251 8 + 29 252 8 + 29 253 8 + 29 254 8 + 29 255 8 + 29 256 8 + 29 257 8 + 29 258 8 + 29 259 8 + 29 260 8 + 29 261 8 + 29 262 8 + 29 263 8 + 29 264 8 + 29 265 8 + 29 266 8 + 29 267 8 + 29 268 8 + 29 269 8 + 29 270 8 + 29 271 8 + 29 272 8 + 29 273 8 + 29 274 8 + 29 275 8 + 29 276 8 + 29 277 8 + 29 278 8 + 29 279 8 + 29 280 8 + 29 281 8 + 29 282 8 + 29 283 8 + 29 284 8 + 29 285 8 + 29 286 8 + 29 287 8 + 29 288 8 + 29 289 8 + 29 290 8 + 29 291 8 + 29 292 8 + 29 293 8 + 29 294 8 + 29 295 8 + 29 296 8 + 29 297 8 + 29 298 8 + 29 299 8 + 29 300 8 + 29 301 8 + 29 302 8 + 29 303 8 + 29 304 8 + 29 305 8 + 29 306 8 + 29 307 8 + 29 308 8 + 29 309 8 + 29 310 8 + 29 311 8 + 29 312 8 + 29 313 8 + 29 314 8 + 29 315 8 + 29 316 8 + 29 317 8 + 29 318 8 + 29 319 8 + 29 320 8 + 29 321 8 + 29 322 8 + 29 323 8 + 29 324 8 + 29 325 8 + 29 326 8 + 29 327 8 + 29 328 8 + 29 329 8 + 29 330 8 + 29 331 8 + 29 332 8 + 29 333 8 + 29 334 8 + 29 335 8 + 29 336 8 + 29 337 8 + 29 338 8 + 29 339 8 + 29 340 8 + 29 341 8 + 29 342 8 + 29 343 8 + 29 344 8 + 29 345 8 + 29 346 8 + 29 347 8 + 29 348 8 + 29 349 8 + 30 31 8 + 30 32 8 + 30 33 8 + 30 34 8 + 30 35 8 + 30 36 8 + 30 37 8 + 30 38 8 + 30 39 8 + 30 40 8 + 30 41 8 + 30 42 8 + 30 43 8 + 30 44 8 + 30 45 8 + 30 46 8 + 30 47 8 + 30 48 8 + 30 49 8 + 30 50 8 + 30 51 8 + 30 52 8 + 30 53 8 + 30 54 8 + 30 55 8 + 30 56 8 + 30 57 8 + 30 58 8 + 30 59 8 + 30 60 8 + 30 61 8 + 30 62 8 + 30 63 8 + 30 64 8 + 30 65 8 + 30 66 8 + 30 67 8 + 30 68 8 + 30 69 8 + 30 70 8 + 30 71 8 + 30 72 8 + 30 73 8 + 30 74 8 + 30 75 8 + 30 76 8 + 30 77 8 + 30 78 8 + 30 79 8 + 30 80 8 + 30 81 8 + 30 82 8 + 30 83 8 + 30 84 8 + 30 85 8 + 30 86 8 + 30 87 8 + 30 88 8 + 30 89 8 + 30 90 8 + 30 91 8 + 30 92 8 + 30 93 8 + 30 94 8 + 30 95 8 + 30 96 8 + 30 97 8 + 30 98 8 + 30 99 8 + 30 100 8 + 30 101 8 + 30 102 8 + 30 103 8 + 30 104 8 + 30 105 8 + 30 106 8 + 30 107 8 + 30 108 8 + 30 109 8 + 30 110 8 + 30 111 8 + 30 112 8 + 30 113 8 + 30 114 8 + 30 115 8 + 30 116 8 + 30 117 8 + 30 118 8 + 30 119 8 + 30 120 8 + 30 121 8 + 30 122 8 + 30 123 8 + 30 124 8 + 30 125 8 + 30 126 8 + 30 127 8 + 30 128 8 + 30 129 8 + 30 130 8 + 30 131 8 + 30 132 8 + 30 133 8 + 30 134 8 + 30 135 8 + 30 136 8 + 30 137 8 + 30 138 8 + 30 139 8 + 30 140 8 + 30 141 8 + 30 142 8 + 30 143 8 + 30 144 8 + 30 145 8 + 30 146 8 + 30 147 8 + 30 148 8 + 30 149 8 + 30 150 8 + 30 151 8 + 30 152 8 + 30 153 8 + 30 154 8 + 30 155 8 + 30 156 8 + 30 157 8 + 30 158 8 + 30 159 8 + 30 160 8 + 30 161 8 + 30 162 8 + 30 163 8 + 30 164 8 + 30 165 8 + 30 166 8 + 30 167 8 + 30 168 8 + 30 169 8 + 30 170 8 + 30 171 8 + 30 172 8 + 30 173 8 + 30 174 8 + 30 175 8 + 30 176 8 + 30 177 8 + 30 178 8 + 30 179 8 + 30 180 8 + 30 181 8 + 30 182 8 + 30 183 8 + 30 184 8 + 30 185 8 + 30 186 8 + 30 187 8 + 30 188 8 + 30 189 8 + 30 190 8 + 30 191 8 + 30 192 8 + 30 193 8 + 30 194 8 + 30 195 8 + 30 196 8 + 30 197 8 + 30 198 8 + 30 199 8 + 30 200 8 + 30 201 8 + 30 202 8 + 30 203 8 + 30 204 8 + 30 205 8 + 30 206 8 + 30 207 8 + 30 208 8 + 30 209 8 + 30 210 8 + 30 211 8 + 30 212 8 + 30 213 8 + 30 214 8 + 30 215 8 + 30 216 8 + 30 217 8 + 30 218 8 + 30 219 8 + 30 220 8 + 30 221 8 + 30 222 8 + 30 223 8 + 30 224 8 + 30 225 8 + 30 226 8 + 30 227 8 + 30 228 8 + 30 229 8 + 30 230 8 + 30 231 8 + 30 232 8 + 30 233 8 + 30 234 8 + 30 235 8 + 30 236 8 + 30 237 8 + 30 238 8 + 30 239 8 + 30 240 8 + 30 241 8 + 30 242 8 + 30 243 8 + 30 244 8 + 30 245 8 + 30 246 8 + 30 247 8 + 30 248 8 + 30 249 8 + 30 250 8 + 30 251 8 + 30 252 8 + 30 253 8 + 30 254 8 + 30 255 8 + 30 256 8 + 30 257 8 + 30 258 8 + 30 259 8 + 30 260 8 + 30 261 8 + 30 262 8 + 30 263 8 + 30 264 8 + 30 265 8 + 30 266 8 + 30 267 8 + 30 268 8 + 30 269 8 + 30 270 8 + 30 271 8 + 30 272 8 + 30 273 8 + 30 274 8 + 30 275 8 + 30 276 8 + 30 277 8 + 30 278 8 + 30 279 8 + 30 280 8 + 30 281 8 + 30 282 8 + 30 283 8 + 30 284 8 + 30 285 8 + 30 286 8 + 30 287 8 + 30 288 8 + 30 289 8 + 30 290 8 + 30 291 8 + 30 292 8 + 30 293 8 + 30 294 8 + 30 295 8 + 30 296 8 + 30 297 8 + 30 298 8 + 30 299 8 + 30 300 8 + 30 301 8 + 30 302 8 + 30 303 8 + 30 304 8 + 30 305 8 + 30 306 8 + 30 307 8 + 30 308 8 + 30 309 8 + 30 310 8 + 30 311 8 + 30 312 8 + 30 313 8 + 30 314 8 + 30 315 8 + 30 316 8 + 30 317 8 + 30 318 8 + 30 319 8 + 30 320 8 + 30 321 8 + 30 322 8 + 30 323 8 + 30 324 8 + 30 325 8 + 30 326 8 + 30 327 8 + 30 328 8 + 30 329 8 + 30 330 8 + 30 331 8 + 30 332 8 + 30 333 8 + 30 334 8 + 30 335 8 + 30 336 8 + 30 337 8 + 30 338 8 + 30 339 8 + 30 340 8 + 30 341 8 + 30 342 8 + 30 343 8 + 30 344 8 + 30 345 8 + 30 346 8 + 30 347 8 + 30 348 8 + 30 349 8 + 31 32 8 + 31 33 8 + 31 34 8 + 31 35 8 + 31 36 8 + 31 37 8 + 31 38 8 + 31 39 8 + 31 40 8 + 31 41 8 + 31 42 8 + 31 43 8 + 31 44 8 + 31 45 8 + 31 46 8 + 31 47 8 + 31 48 8 + 31 49 8 + 31 50 8 + 31 51 8 + 31 52 8 + 31 53 8 + 31 54 8 + 31 55 8 + 31 56 8 + 31 57 8 + 31 58 8 + 31 59 8 + 31 60 8 + 31 61 8 + 31 62 8 + 31 63 8 + 31 64 8 + 31 65 8 + 31 66 8 + 31 67 8 + 31 68 8 + 31 69 8 + 31 70 8 + 31 71 8 + 31 72 8 + 31 73 8 + 31 74 8 + 31 75 8 + 31 76 8 + 31 77 8 + 31 78 8 + 31 79 8 + 31 80 8 + 31 81 8 + 31 82 8 + 31 83 8 + 31 84 8 + 31 85 8 + 31 86 8 + 31 87 8 + 31 88 8 + 31 89 8 + 31 90 8 + 31 91 8 + 31 92 8 + 31 93 8 + 31 94 8 + 31 95 8 + 31 96 8 + 31 97 8 + 31 98 8 + 31 99 8 + 31 100 8 + 31 101 8 + 31 102 8 + 31 103 8 + 31 104 8 + 31 105 8 + 31 106 8 + 31 107 8 + 31 108 8 + 31 109 8 + 31 110 8 + 31 111 8 + 31 112 8 + 31 113 8 + 31 114 8 + 31 115 8 + 31 116 8 + 31 117 8 + 31 118 8 + 31 119 8 + 31 120 8 + 31 121 8 + 31 122 8 + 31 123 8 + 31 124 8 + 31 125 8 + 31 126 8 + 31 127 8 + 31 128 8 + 31 129 8 + 31 130 8 + 31 131 8 + 31 132 8 + 31 133 8 + 31 134 8 + 31 135 8 + 31 136 8 + 31 137 8 + 31 138 8 + 31 139 8 + 31 140 8 + 31 141 8 + 31 142 8 + 31 143 8 + 31 144 8 + 31 145 8 + 31 146 8 + 31 147 8 + 31 148 8 + 31 149 8 + 31 150 8 + 31 151 8 + 31 152 8 + 31 153 8 + 31 154 8 + 31 155 8 + 31 156 8 + 31 157 8 + 31 158 8 + 31 159 8 + 31 160 8 + 31 161 8 + 31 162 8 + 31 163 8 + 31 164 8 + 31 165 8 + 31 166 8 + 31 167 8 + 31 168 8 + 31 169 8 + 31 170 8 + 31 171 8 + 31 172 8 + 31 173 8 + 31 174 8 + 31 175 8 + 31 176 8 + 31 177 8 + 31 178 8 + 31 179 8 + 31 180 8 + 31 181 8 + 31 182 8 + 31 183 8 + 31 184 8 + 31 185 8 + 31 186 8 + 31 187 8 + 31 188 8 + 31 189 8 + 31 190 8 + 31 191 8 + 31 192 8 + 31 193 8 + 31 194 8 + 31 195 8 + 31 196 8 + 31 197 8 + 31 198 8 + 31 199 8 + 31 200 8 + 31 201 8 + 31 202 8 + 31 203 8 + 31 204 8 + 31 205 8 + 31 206 8 + 31 207 8 + 31 208 8 + 31 209 8 + 31 210 8 + 31 211 8 + 31 212 8 + 31 213 8 + 31 214 8 + 31 215 8 + 31 216 8 + 31 217 8 + 31 218 8 + 31 219 8 + 31 220 8 + 31 221 8 + 31 222 8 + 31 223 8 + 31 224 8 + 31 225 8 + 31 226 8 + 31 227 8 + 31 228 8 + 31 229 8 + 31 230 8 + 31 231 8 + 31 232 8 + 31 233 8 + 31 234 8 + 31 235 8 + 31 236 8 + 31 237 8 + 31 238 8 + 31 239 8 + 31 240 8 + 31 241 8 + 31 242 8 + 31 243 8 + 31 244 8 + 31 245 8 + 31 246 8 + 31 247 8 + 31 248 8 + 31 249 8 + 31 250 8 + 31 251 8 + 31 252 8 + 31 253 8 + 31 254 8 + 31 255 8 + 31 256 8 + 31 257 8 + 31 258 8 + 31 259 8 + 31 260 8 + 31 261 8 + 31 262 8 + 31 263 8 + 31 264 8 + 31 265 8 + 31 266 8 + 31 267 8 + 31 268 8 + 31 269 8 + 31 270 8 + 31 271 8 + 31 272 8 + 31 273 8 + 31 274 8 + 31 275 8 + 31 276 8 + 31 277 8 + 31 278 8 + 31 279 8 + 31 280 8 + 31 281 8 + 31 282 8 + 31 283 8 + 31 284 8 + 31 285 8 + 31 286 8 + 31 287 8 + 31 288 8 + 31 289 8 + 31 290 8 + 31 291 8 + 31 292 8 + 31 293 8 + 31 294 8 + 31 295 8 + 31 296 8 + 31 297 8 + 31 298 8 + 31 299 8 + 31 300 8 + 31 301 8 + 31 302 8 + 31 303 8 + 31 304 8 + 31 305 8 + 31 306 8 + 31 307 8 + 31 308 8 + 31 309 8 + 31 310 8 + 31 311 8 + 31 312 8 + 31 313 8 + 31 314 8 + 31 315 8 + 31 316 8 + 31 317 8 + 31 318 8 + 31 319 8 + 31 320 8 + 31 321 8 + 31 322 8 + 31 323 8 + 31 324 8 + 31 325 8 + 31 326 8 + 31 327 8 + 31 328 8 + 31 329 8 + 31 330 8 + 31 331 8 + 31 332 8 + 31 333 8 + 31 334 8 + 31 335 8 + 31 336 8 + 31 337 8 + 31 338 8 + 31 339 8 + 31 340 8 + 31 341 8 + 31 342 8 + 31 343 8 + 31 344 8 + 31 345 8 + 31 346 8 + 31 347 8 + 31 348 8 + 31 349 8 + 32 33 8 + 32 34 8 + 32 35 8 + 32 36 8 + 32 37 8 + 32 38 8 + 32 39 8 + 32 40 8 + 32 41 8 + 32 42 8 + 32 43 8 + 32 44 8 + 32 45 8 + 32 46 8 + 32 47 8 + 32 48 8 + 32 49 8 + 32 50 8 + 32 51 8 + 32 52 8 + 32 53 8 + 32 54 8 + 32 55 8 + 32 56 8 + 32 57 8 + 32 58 8 + 32 59 8 + 32 60 8 + 32 61 8 + 32 62 8 + 32 63 8 + 32 64 8 + 32 65 8 + 32 66 8 + 32 67 8 + 32 68 8 + 32 69 8 + 32 70 8 + 32 71 8 + 32 72 8 + 32 73 8 + 32 74 8 + 32 75 8 + 32 76 8 + 32 77 8 + 32 78 8 + 32 79 8 + 32 80 8 + 32 81 8 + 32 82 8 + 32 83 8 + 32 84 8 + 32 85 8 + 32 86 8 + 32 87 8 + 32 88 8 + 32 89 8 + 32 90 8 + 32 91 8 + 32 92 8 + 32 93 8 + 32 94 8 + 32 95 8 + 32 96 8 + 32 97 8 + 32 98 8 + 32 99 8 + 32 100 8 + 32 101 8 + 32 102 8 + 32 103 8 + 32 104 8 + 32 105 8 + 32 106 8 + 32 107 8 + 32 108 8 + 32 109 8 + 32 110 8 + 32 111 8 + 32 112 8 + 32 113 8 + 32 114 8 + 32 115 8 + 32 116 8 + 32 117 8 + 32 118 8 + 32 119 8 + 32 120 8 + 32 121 8 + 32 122 8 + 32 123 8 + 32 124 8 + 32 125 8 + 32 126 8 + 32 127 8 + 32 128 8 + 32 129 8 + 32 130 8 + 32 131 8 + 32 132 8 + 32 133 8 + 32 134 8 + 32 135 8 + 32 136 8 + 32 137 8 + 32 138 8 + 32 139 8 + 32 140 8 + 32 141 8 + 32 142 8 + 32 143 8 + 32 144 8 + 32 145 8 + 32 146 8 + 32 147 8 + 32 148 8 + 32 149 8 + 32 150 8 + 32 151 8 + 32 152 8 + 32 153 8 + 32 154 8 + 32 155 8 + 32 156 8 + 32 157 8 + 32 158 8 + 32 159 8 + 32 160 8 + 32 161 8 + 32 162 8 + 32 163 8 + 32 164 8 + 32 165 8 + 32 166 8 + 32 167 8 + 32 168 8 + 32 169 8 + 32 170 8 + 32 171 8 + 32 172 8 + 32 173 8 + 32 174 8 + 32 175 8 + 32 176 8 + 32 177 8 + 32 178 8 + 32 179 8 + 32 180 8 + 32 181 8 + 32 182 8 + 32 183 8 + 32 184 8 + 32 185 8 + 32 186 8 + 32 187 8 + 32 188 8 + 32 189 8 + 32 190 8 + 32 191 8 + 32 192 8 + 32 193 8 + 32 194 8 + 32 195 8 + 32 196 8 + 32 197 8 + 32 198 8 + 32 199 8 + 32 200 8 + 32 201 8 + 32 202 8 + 32 203 8 + 32 204 8 + 32 205 8 + 32 206 8 + 32 207 8 + 32 208 8 + 32 209 8 + 32 210 8 + 32 211 8 + 32 212 8 + 32 213 8 + 32 214 8 + 32 215 8 + 32 216 8 + 32 217 8 + 32 218 8 + 32 219 8 + 32 220 8 + 32 221 8 + 32 222 8 + 32 223 8 + 32 224 8 + 32 225 8 + 32 226 8 + 32 227 8 + 32 228 8 + 32 229 8 + 32 230 8 + 32 231 8 + 32 232 8 + 32 233 8 + 32 234 8 + 32 235 8 + 32 236 8 + 32 237 8 + 32 238 8 + 32 239 8 + 32 240 8 + 32 241 8 + 32 242 8 + 32 243 8 + 32 244 8 + 32 245 8 + 32 246 8 + 32 247 8 + 32 248 8 + 32 249 8 + 32 250 8 + 32 251 8 + 32 252 8 + 32 253 8 + 32 254 8 + 32 255 8 + 32 256 8 + 32 257 8 + 32 258 8 + 32 259 8 + 32 260 8 + 32 261 8 + 32 262 8 + 32 263 8 + 32 264 8 + 32 265 8 + 32 266 8 + 32 267 8 + 32 268 8 + 32 269 8 + 32 270 8 + 32 271 8 + 32 272 8 + 32 273 8 + 32 274 8 + 32 275 8 + 32 276 8 + 32 277 8 + 32 278 8 + 32 279 8 + 32 280 8 + 32 281 8 + 32 282 8 + 32 283 8 + 32 284 8 + 32 285 8 + 32 286 8 + 32 287 8 + 32 288 8 + 32 289 8 + 32 290 8 + 32 291 8 + 32 292 8 + 32 293 8 + 32 294 8 + 32 295 8 + 32 296 8 + 32 297 8 + 32 298 8 + 32 299 8 + 32 300 8 + 32 301 8 + 32 302 8 + 32 303 8 + 32 304 8 + 32 305 8 + 32 306 8 + 32 307 8 + 32 308 8 + 32 309 8 + 32 310 8 + 32 311 8 + 32 312 8 + 32 313 8 + 32 314 8 + 32 315 8 + 32 316 8 + 32 317 8 + 32 318 8 + 32 319 8 + 32 320 8 + 32 321 8 + 32 322 8 + 32 323 8 + 32 324 8 + 32 325 8 + 32 326 8 + 32 327 8 + 32 328 8 + 32 329 8 + 32 330 8 + 32 331 8 + 32 332 8 + 32 333 8 + 32 334 8 + 32 335 8 + 32 336 8 + 32 337 8 + 32 338 8 + 32 339 8 + 32 340 8 + 32 341 8 + 32 342 8 + 32 343 8 + 32 344 8 + 32 345 8 + 32 346 8 + 32 347 8 + 32 348 8 + 32 349 8 + 33 34 8 + 33 35 8 + 33 36 8 + 33 37 8 + 33 38 8 + 33 39 8 + 33 40 8 + 33 41 8 + 33 42 8 + 33 43 8 + 33 44 8 + 33 45 8 + 33 46 8 + 33 47 8 + 33 48 8 + 33 49 8 + 33 50 8 + 33 51 8 + 33 52 8 + 33 53 8 + 33 54 8 + 33 55 8 + 33 56 8 + 33 57 8 + 33 58 8 + 33 59 8 + 33 60 8 + 33 61 8 + 33 62 8 + 33 63 8 + 33 64 8 + 33 65 8 + 33 66 8 + 33 67 8 + 33 68 8 + 33 69 8 + 33 70 8 + 33 71 8 + 33 72 8 + 33 73 8 + 33 74 8 + 33 75 8 + 33 76 8 + 33 77 8 + 33 78 8 + 33 79 8 + 33 80 8 + 33 81 8 + 33 82 8 + 33 83 8 + 33 84 8 + 33 85 8 + 33 86 8 + 33 87 8 + 33 88 8 + 33 89 8 + 33 90 8 + 33 91 8 + 33 92 8 + 33 93 8 + 33 94 8 + 33 95 8 + 33 96 8 + 33 97 8 + 33 98 8 + 33 99 8 + 33 100 8 + 33 101 8 + 33 102 8 + 33 103 8 + 33 104 8 + 33 105 8 + 33 106 8 + 33 107 8 + 33 108 8 + 33 109 8 + 33 110 8 + 33 111 8 + 33 112 8 + 33 113 8 + 33 114 8 + 33 115 8 + 33 116 8 + 33 117 8 + 33 118 8 + 33 119 8 + 33 120 8 + 33 121 8 + 33 122 8 + 33 123 8 + 33 124 8 + 33 125 8 + 33 126 8 + 33 127 8 + 33 128 8 + 33 129 8 + 33 130 8 + 33 131 8 + 33 132 8 + 33 133 8 + 33 134 8 + 33 135 8 + 33 136 8 + 33 137 8 + 33 138 8 + 33 139 8 + 33 140 8 + 33 141 8 + 33 142 8 + 33 143 8 + 33 144 8 + 33 145 8 + 33 146 8 + 33 147 8 + 33 148 8 + 33 149 8 + 33 150 8 + 33 151 8 + 33 152 8 + 33 153 8 + 33 154 8 + 33 155 8 + 33 156 8 + 33 157 8 + 33 158 8 + 33 159 8 + 33 160 8 + 33 161 8 + 33 162 8 + 33 163 8 + 33 164 8 + 33 165 8 + 33 166 8 + 33 167 8 + 33 168 8 + 33 169 8 + 33 170 8 + 33 171 8 + 33 172 8 + 33 173 8 + 33 174 8 + 33 175 8 + 33 176 8 + 33 177 8 + 33 178 8 + 33 179 8 + 33 180 8 + 33 181 8 + 33 182 8 + 33 183 8 + 33 184 8 + 33 185 8 + 33 186 8 + 33 187 8 + 33 188 8 + 33 189 8 + 33 190 8 + 33 191 8 + 33 192 8 + 33 193 8 + 33 194 8 + 33 195 8 + 33 196 8 + 33 197 8 + 33 198 8 + 33 199 8 + 33 200 8 + 33 201 8 + 33 202 8 + 33 203 8 + 33 204 8 + 33 205 8 + 33 206 8 + 33 207 8 + 33 208 8 + 33 209 8 + 33 210 8 + 33 211 8 + 33 212 8 + 33 213 8 + 33 214 8 + 33 215 8 + 33 216 8 + 33 217 8 + 33 218 8 + 33 219 8 + 33 220 8 + 33 221 8 + 33 222 8 + 33 223 8 + 33 224 8 + 33 225 8 + 33 226 8 + 33 227 8 + 33 228 8 + 33 229 8 + 33 230 8 + 33 231 8 + 33 232 8 + 33 233 8 + 33 234 8 + 33 235 8 + 33 236 8 + 33 237 8 + 33 238 8 + 33 239 8 + 33 240 8 + 33 241 8 + 33 242 8 + 33 243 8 + 33 244 8 + 33 245 8 + 33 246 8 + 33 247 8 + 33 248 8 + 33 249 8 + 33 250 8 + 33 251 8 + 33 252 8 + 33 253 8 + 33 254 8 + 33 255 8 + 33 256 8 + 33 257 8 + 33 258 8 + 33 259 8 + 33 260 8 + 33 261 8 + 33 262 8 + 33 263 8 + 33 264 8 + 33 265 8 + 33 266 8 + 33 267 8 + 33 268 8 + 33 269 8 + 33 270 8 + 33 271 8 + 33 272 8 + 33 273 8 + 33 274 8 + 33 275 8 + 33 276 8 + 33 277 8 + 33 278 8 + 33 279 8 + 33 280 8 + 33 281 8 + 33 282 8 + 33 283 8 + 33 284 8 + 33 285 8 + 33 286 8 + 33 287 8 + 33 288 8 + 33 289 8 + 33 290 8 + 33 291 8 + 33 292 8 + 33 293 8 + 33 294 8 + 33 295 8 + 33 296 8 + 33 297 8 + 33 298 8 + 33 299 8 + 33 300 8 + 33 301 8 + 33 302 8 + 33 303 8 + 33 304 8 + 33 305 8 + 33 306 8 + 33 307 8 + 33 308 8 + 33 309 8 + 33 310 8 + 33 311 8 + 33 312 8 + 33 313 8 + 33 314 8 + 33 315 8 + 33 316 8 + 33 317 8 + 33 318 8 + 33 319 8 + 33 320 8 + 33 321 8 + 33 322 8 + 33 323 8 + 33 324 8 + 33 325 8 + 33 326 8 + 33 327 8 + 33 328 8 + 33 329 8 + 33 330 8 + 33 331 8 + 33 332 8 + 33 333 8 + 33 334 8 + 33 335 8 + 33 336 8 + 33 337 8 + 33 338 8 + 33 339 8 + 33 340 8 + 33 341 8 + 33 342 8 + 33 343 8 + 33 344 8 + 33 345 8 + 33 346 8 + 33 347 8 + 33 348 8 + 33 349 8 + 34 35 8 + 34 36 8 + 34 37 8 + 34 38 8 + 34 39 8 + 34 40 8 + 34 41 8 + 34 42 8 + 34 43 8 + 34 44 8 + 34 45 8 + 34 46 8 + 34 47 8 + 34 48 8 + 34 49 8 + 34 50 8 + 34 51 8 + 34 52 8 + 34 53 8 + 34 54 8 + 34 55 8 + 34 56 8 + 34 57 8 + 34 58 8 + 34 59 8 + 34 60 8 + 34 61 8 + 34 62 8 + 34 63 8 + 34 64 8 + 34 65 8 + 34 66 8 + 34 67 8 + 34 68 8 + 34 69 8 + 34 70 8 + 34 71 8 + 34 72 8 + 34 73 8 + 34 74 8 + 34 75 8 + 34 76 8 + 34 77 8 + 34 78 8 + 34 79 8 + 34 80 8 + 34 81 8 + 34 82 8 + 34 83 8 + 34 84 8 + 34 85 8 + 34 86 8 + 34 87 8 + 34 88 8 + 34 89 8 + 34 90 8 + 34 91 8 + 34 92 8 + 34 93 8 + 34 94 8 + 34 95 8 + 34 96 8 + 34 97 8 + 34 98 8 + 34 99 8 + 34 100 8 + 34 101 8 + 34 102 8 + 34 103 8 + 34 104 8 + 34 105 8 + 34 106 8 + 34 107 8 + 34 108 8 + 34 109 8 + 34 110 8 + 34 111 8 + 34 112 8 + 34 113 8 + 34 114 8 + 34 115 8 + 34 116 8 + 34 117 8 + 34 118 8 + 34 119 8 + 34 120 8 + 34 121 8 + 34 122 8 + 34 123 8 + 34 124 8 + 34 125 8 + 34 126 8 + 34 127 8 + 34 128 8 + 34 129 8 + 34 130 8 + 34 131 8 + 34 132 8 + 34 133 8 + 34 134 8 + 34 135 8 + 34 136 8 + 34 137 8 + 34 138 8 + 34 139 8 + 34 140 8 + 34 141 8 + 34 142 8 + 34 143 8 + 34 144 8 + 34 145 8 + 34 146 8 + 34 147 8 + 34 148 8 + 34 149 8 + 34 150 8 + 34 151 8 + 34 152 8 + 34 153 8 + 34 154 8 + 34 155 8 + 34 156 8 + 34 157 8 + 34 158 8 + 34 159 8 + 34 160 8 + 34 161 8 + 34 162 8 + 34 163 8 + 34 164 8 + 34 165 8 + 34 166 8 + 34 167 8 + 34 168 8 + 34 169 8 + 34 170 8 + 34 171 8 + 34 172 8 + 34 173 8 + 34 174 8 + 34 175 8 + 34 176 8 + 34 177 8 + 34 178 8 + 34 179 8 + 34 180 8 + 34 181 8 + 34 182 8 + 34 183 8 + 34 184 8 + 34 185 8 + 34 186 8 + 34 187 8 + 34 188 8 + 34 189 8 + 34 190 8 + 34 191 8 + 34 192 8 + 34 193 8 + 34 194 8 + 34 195 8 + 34 196 8 + 34 197 8 + 34 198 8 + 34 199 8 + 34 200 8 + 34 201 8 + 34 202 8 + 34 203 8 + 34 204 8 + 34 205 8 + 34 206 8 + 34 207 8 + 34 208 8 + 34 209 8 + 34 210 8 + 34 211 8 + 34 212 8 + 34 213 8 + 34 214 8 + 34 215 8 + 34 216 8 + 34 217 8 + 34 218 8 + 34 219 8 + 34 220 8 + 34 221 8 + 34 222 8 + 34 223 8 + 34 224 8 + 34 225 8 + 34 226 8 + 34 227 8 + 34 228 8 + 34 229 8 + 34 230 8 + 34 231 8 + 34 232 8 + 34 233 8 + 34 234 8 + 34 235 8 + 34 236 8 + 34 237 8 + 34 238 8 + 34 239 8 + 34 240 8 + 34 241 8 + 34 242 8 + 34 243 8 + 34 244 8 + 34 245 8 + 34 246 8 + 34 247 8 + 34 248 8 + 34 249 8 + 34 250 8 + 34 251 8 + 34 252 8 + 34 253 8 + 34 254 8 + 34 255 8 + 34 256 8 + 34 257 8 + 34 258 8 + 34 259 8 + 34 260 8 + 34 261 8 + 34 262 8 + 34 263 8 + 34 264 8 + 34 265 8 + 34 266 8 + 34 267 8 + 34 268 8 + 34 269 8 + 34 270 8 + 34 271 8 + 34 272 8 + 34 273 8 + 34 274 8 + 34 275 8 + 34 276 8 + 34 277 8 + 34 278 8 + 34 279 8 + 34 280 8 + 34 281 8 + 34 282 8 + 34 283 8 + 34 284 8 + 34 285 8 + 34 286 8 + 34 287 8 + 34 288 8 + 34 289 8 + 34 290 8 + 34 291 8 + 34 292 8 + 34 293 8 + 34 294 8 + 34 295 8 + 34 296 8 + 34 297 8 + 34 298 8 + 34 299 8 + 34 300 8 + 34 301 8 + 34 302 8 + 34 303 8 + 34 304 8 + 34 305 8 + 34 306 8 + 34 307 8 + 34 308 8 + 34 309 8 + 34 310 8 + 34 311 8 + 34 312 8 + 34 313 8 + 34 314 8 + 34 315 8 + 34 316 8 + 34 317 8 + 34 318 8 + 34 319 8 + 34 320 8 + 34 321 8 + 34 322 8 + 34 323 8 + 34 324 8 + 34 325 8 + 34 326 8 + 34 327 8 + 34 328 8 + 34 329 8 + 34 330 8 + 34 331 8 + 34 332 8 + 34 333 8 + 34 334 8 + 34 335 8 + 34 336 8 + 34 337 8 + 34 338 8 + 34 339 8 + 34 340 8 + 34 341 8 + 34 342 8 + 34 343 8 + 34 344 8 + 34 345 8 + 34 346 8 + 34 347 8 + 34 348 8 + 34 349 8 + 35 36 8 + 35 37 8 + 35 38 8 + 35 39 8 + 35 40 8 + 35 41 8 + 35 42 8 + 35 43 8 + 35 44 8 + 35 45 8 + 35 46 8 + 35 47 8 + 35 48 8 + 35 49 8 + 35 50 8 + 35 51 8 + 35 52 8 + 35 53 8 + 35 54 8 + 35 55 8 + 35 56 8 + 35 57 8 + 35 58 8 + 35 59 8 + 35 60 8 + 35 61 8 + 35 62 8 + 35 63 8 + 35 64 8 + 35 65 8 + 35 66 8 + 35 67 8 + 35 68 8 + 35 69 8 + 35 70 8 + 35 71 8 + 35 72 8 + 35 73 8 + 35 74 8 + 35 75 8 + 35 76 8 + 35 77 8 + 35 78 8 + 35 79 8 + 35 80 8 + 35 81 8 + 35 82 8 + 35 83 8 + 35 84 8 + 35 85 8 + 35 86 8 + 35 87 8 + 35 88 8 + 35 89 8 + 35 90 8 + 35 91 8 + 35 92 8 + 35 93 8 + 35 94 8 + 35 95 8 + 35 96 8 + 35 97 8 + 35 98 8 + 35 99 8 + 35 100 8 + 35 101 8 + 35 102 8 + 35 103 8 + 35 104 8 + 35 105 8 + 35 106 8 + 35 107 8 + 35 108 8 + 35 109 8 + 35 110 8 + 35 111 8 + 35 112 8 + 35 113 8 + 35 114 8 + 35 115 8 + 35 116 8 + 35 117 8 + 35 118 8 + 35 119 8 + 35 120 8 + 35 121 8 + 35 122 8 + 35 123 8 + 35 124 8 + 35 125 8 + 35 126 8 + 35 127 8 + 35 128 8 + 35 129 8 + 35 130 8 + 35 131 8 + 35 132 8 + 35 133 8 + 35 134 8 + 35 135 8 + 35 136 8 + 35 137 8 + 35 138 8 + 35 139 8 + 35 140 8 + 35 141 8 + 35 142 8 + 35 143 8 + 35 144 8 + 35 145 8 + 35 146 8 + 35 147 8 + 35 148 8 + 35 149 8 + 35 150 8 + 35 151 8 + 35 152 8 + 35 153 8 + 35 154 8 + 35 155 8 + 35 156 8 + 35 157 8 + 35 158 8 + 35 159 8 + 35 160 8 + 35 161 8 + 35 162 8 + 35 163 8 + 35 164 8 + 35 165 8 + 35 166 8 + 35 167 8 + 35 168 8 + 35 169 8 + 35 170 8 + 35 171 8 + 35 172 8 + 35 173 8 + 35 174 8 + 35 175 8 + 35 176 8 + 35 177 8 + 35 178 8 + 35 179 8 + 35 180 8 + 35 181 8 + 35 182 8 + 35 183 8 + 35 184 8 + 35 185 8 + 35 186 8 + 35 187 8 + 35 188 8 + 35 189 8 + 35 190 8 + 35 191 8 + 35 192 8 + 35 193 8 + 35 194 8 + 35 195 8 + 35 196 8 + 35 197 8 + 35 198 8 + 35 199 8 + 35 200 8 + 35 201 8 + 35 202 8 + 35 203 8 + 35 204 8 + 35 205 8 + 35 206 8 + 35 207 8 + 35 208 8 + 35 209 8 + 35 210 8 + 35 211 8 + 35 212 8 + 35 213 8 + 35 214 8 + 35 215 8 + 35 216 8 + 35 217 8 + 35 218 8 + 35 219 8 + 35 220 8 + 35 221 8 + 35 222 8 + 35 223 8 + 35 224 8 + 35 225 8 + 35 226 8 + 35 227 8 + 35 228 8 + 35 229 8 + 35 230 8 + 35 231 8 + 35 232 8 + 35 233 8 + 35 234 8 + 35 235 8 + 35 236 8 + 35 237 8 + 35 238 8 + 35 239 8 + 35 240 8 + 35 241 8 + 35 242 8 + 35 243 8 + 35 244 8 + 35 245 8 + 35 246 8 + 35 247 8 + 35 248 8 + 35 249 8 + 35 250 8 + 35 251 8 + 35 252 8 + 35 253 8 + 35 254 8 + 35 255 8 + 35 256 8 + 35 257 8 + 35 258 8 + 35 259 8 + 35 260 8 + 35 261 8 + 35 262 8 + 35 263 8 + 35 264 8 + 35 265 8 + 35 266 8 + 35 267 8 + 35 268 8 + 35 269 8 + 35 270 8 + 35 271 8 + 35 272 8 + 35 273 8 + 35 274 8 + 35 275 8 + 35 276 8 + 35 277 8 + 35 278 8 + 35 279 8 + 35 280 8 + 35 281 8 + 35 282 8 + 35 283 8 + 35 284 8 + 35 285 8 + 35 286 8 + 35 287 8 + 35 288 8 + 35 289 8 + 35 290 8 + 35 291 8 + 35 292 8 + 35 293 8 + 35 294 8 + 35 295 8 + 35 296 8 + 35 297 8 + 35 298 8 + 35 299 8 + 35 300 8 + 35 301 8 + 35 302 8 + 35 303 8 + 35 304 8 + 35 305 8 + 35 306 8 + 35 307 8 + 35 308 8 + 35 309 8 + 35 310 8 + 35 311 8 + 35 312 8 + 35 313 8 + 35 314 8 + 35 315 8 + 35 316 8 + 35 317 8 + 35 318 8 + 35 319 8 + 35 320 8 + 35 321 8 + 35 322 8 + 35 323 8 + 35 324 8 + 35 325 8 + 35 326 8 + 35 327 8 + 35 328 8 + 35 329 8 + 35 330 8 + 35 331 8 + 35 332 8 + 35 333 8 + 35 334 8 + 35 335 8 + 35 336 8 + 35 337 8 + 35 338 8 + 35 339 8 + 35 340 8 + 35 341 8 + 35 342 8 + 35 343 8 + 35 344 8 + 35 345 8 + 35 346 8 + 35 347 8 + 35 348 8 + 35 349 8 + 36 37 8 + 36 38 8 + 36 39 8 + 36 40 8 + 36 41 8 + 36 42 8 + 36 43 8 + 36 44 8 + 36 45 8 + 36 46 8 + 36 47 8 + 36 48 8 + 36 49 8 + 36 50 8 + 36 51 8 + 36 52 8 + 36 53 8 + 36 54 8 + 36 55 8 + 36 56 8 + 36 57 8 + 36 58 8 + 36 59 8 + 36 60 8 + 36 61 8 + 36 62 8 + 36 63 8 + 36 64 8 + 36 65 8 + 36 66 8 + 36 67 8 + 36 68 8 + 36 69 8 + 36 70 8 + 36 71 8 + 36 72 8 + 36 73 8 + 36 74 8 + 36 75 8 + 36 76 8 + 36 77 8 + 36 78 8 + 36 79 8 + 36 80 8 + 36 81 8 + 36 82 8 + 36 83 8 + 36 84 8 + 36 85 8 + 36 86 8 + 36 87 8 + 36 88 8 + 36 89 8 + 36 90 8 + 36 91 8 + 36 92 8 + 36 93 8 + 36 94 8 + 36 95 8 + 36 96 8 + 36 97 8 + 36 98 8 + 36 99 8 + 36 100 8 + 36 101 8 + 36 102 8 + 36 103 8 + 36 104 8 + 36 105 8 + 36 106 8 + 36 107 8 + 36 108 8 + 36 109 8 + 36 110 8 + 36 111 8 + 36 112 8 + 36 113 8 + 36 114 8 + 36 115 8 + 36 116 8 + 36 117 8 + 36 118 8 + 36 119 8 + 36 120 8 + 36 121 8 + 36 122 8 + 36 123 8 + 36 124 8 + 36 125 8 + 36 126 8 + 36 127 8 + 36 128 8 + 36 129 8 + 36 130 8 + 36 131 8 + 36 132 8 + 36 133 8 + 36 134 8 + 36 135 8 + 36 136 8 + 36 137 8 + 36 138 8 + 36 139 8 + 36 140 8 + 36 141 8 + 36 142 8 + 36 143 8 + 36 144 8 + 36 145 8 + 36 146 8 + 36 147 8 + 36 148 8 + 36 149 8 + 36 150 8 + 36 151 8 + 36 152 8 + 36 153 8 + 36 154 8 + 36 155 8 + 36 156 8 + 36 157 8 + 36 158 8 + 36 159 8 + 36 160 8 + 36 161 8 + 36 162 8 + 36 163 8 + 36 164 8 + 36 165 8 + 36 166 8 + 36 167 8 + 36 168 8 + 36 169 8 + 36 170 8 + 36 171 8 + 36 172 8 + 36 173 8 + 36 174 8 + 36 175 8 + 36 176 8 + 36 177 8 + 36 178 8 + 36 179 8 + 36 180 8 + 36 181 8 + 36 182 8 + 36 183 8 + 36 184 8 + 36 185 8 + 36 186 8 + 36 187 8 + 36 188 8 + 36 189 8 + 36 190 8 + 36 191 8 + 36 192 8 + 36 193 8 + 36 194 8 + 36 195 8 + 36 196 8 + 36 197 8 + 36 198 8 + 36 199 8 + 36 200 8 + 36 201 8 + 36 202 8 + 36 203 8 + 36 204 8 + 36 205 8 + 36 206 8 + 36 207 8 + 36 208 8 + 36 209 8 + 36 210 8 + 36 211 8 + 36 212 8 + 36 213 8 + 36 214 8 + 36 215 8 + 36 216 8 + 36 217 8 + 36 218 8 + 36 219 8 + 36 220 8 + 36 221 8 + 36 222 8 + 36 223 8 + 36 224 8 + 36 225 8 + 36 226 8 + 36 227 8 + 36 228 8 + 36 229 8 + 36 230 8 + 36 231 8 + 36 232 8 + 36 233 8 + 36 234 8 + 36 235 8 + 36 236 8 + 36 237 8 + 36 238 8 + 36 239 8 + 36 240 8 + 36 241 8 + 36 242 8 + 36 243 8 + 36 244 8 + 36 245 8 + 36 246 8 + 36 247 8 + 36 248 8 + 36 249 8 + 36 250 8 + 36 251 8 + 36 252 8 + 36 253 8 + 36 254 8 + 36 255 8 + 36 256 8 + 36 257 8 + 36 258 8 + 36 259 8 + 36 260 8 + 36 261 8 + 36 262 8 + 36 263 8 + 36 264 8 + 36 265 8 + 36 266 8 + 36 267 8 + 36 268 8 + 36 269 8 + 36 270 8 + 36 271 8 + 36 272 8 + 36 273 8 + 36 274 8 + 36 275 8 + 36 276 8 + 36 277 8 + 36 278 8 + 36 279 8 + 36 280 8 + 36 281 8 + 36 282 8 + 36 283 8 + 36 284 8 + 36 285 8 + 36 286 8 + 36 287 8 + 36 288 8 + 36 289 8 + 36 290 8 + 36 291 8 + 36 292 8 + 36 293 8 + 36 294 8 + 36 295 8 + 36 296 8 + 36 297 8 + 36 298 8 + 36 299 8 + 36 300 8 + 36 301 8 + 36 302 8 + 36 303 8 + 36 304 8 + 36 305 8 + 36 306 8 + 36 307 8 + 36 308 8 + 36 309 8 + 36 310 8 + 36 311 8 + 36 312 8 + 36 313 8 + 36 314 8 + 36 315 8 + 36 316 8 + 36 317 8 + 36 318 8 + 36 319 8 + 36 320 8 + 36 321 8 + 36 322 8 + 36 323 8 + 36 324 8 + 36 325 8 + 36 326 8 + 36 327 8 + 36 328 8 + 36 329 8 + 36 330 8 + 36 331 8 + 36 332 8 + 36 333 8 + 36 334 8 + 36 335 8 + 36 336 8 + 36 337 8 + 36 338 8 + 36 339 8 + 36 340 8 + 36 341 8 + 36 342 8 + 36 343 8 + 36 344 8 + 36 345 8 + 36 346 8 + 36 347 8 + 36 348 8 + 36 349 8 + 37 38 8 + 37 39 8 + 37 40 8 + 37 41 8 + 37 42 8 + 37 43 8 + 37 44 8 + 37 45 8 + 37 46 8 + 37 47 8 + 37 48 8 + 37 49 8 + 37 50 8 + 37 51 8 + 37 52 8 + 37 53 8 + 37 54 8 + 37 55 8 + 37 56 8 + 37 57 8 + 37 58 8 + 37 59 8 + 37 60 8 + 37 61 8 + 37 62 8 + 37 63 8 + 37 64 8 + 37 65 8 + 37 66 8 + 37 67 8 + 37 68 8 + 37 69 8 + 37 70 8 + 37 71 8 + 37 72 8 + 37 73 8 + 37 74 8 + 37 75 8 + 37 76 8 + 37 77 8 + 37 78 8 + 37 79 8 + 37 80 8 + 37 81 8 + 37 82 8 + 37 83 8 + 37 84 8 + 37 85 8 + 37 86 8 + 37 87 8 + 37 88 8 + 37 89 8 + 37 90 8 + 37 91 8 + 37 92 8 + 37 93 8 + 37 94 8 + 37 95 8 + 37 96 8 + 37 97 8 + 37 98 8 + 37 99 8 + 37 100 8 + 37 101 8 + 37 102 8 + 37 103 8 + 37 104 8 + 37 105 8 + 37 106 8 + 37 107 8 + 37 108 8 + 37 109 8 + 37 110 8 + 37 111 8 + 37 112 8 + 37 113 8 + 37 114 8 + 37 115 8 + 37 116 8 + 37 117 8 + 37 118 8 + 37 119 8 + 37 120 8 + 37 121 8 + 37 122 8 + 37 123 8 + 37 124 8 + 37 125 8 + 37 126 8 + 37 127 8 + 37 128 8 + 37 129 8 + 37 130 8 + 37 131 8 + 37 132 8 + 37 133 8 + 37 134 8 + 37 135 8 + 37 136 8 + 37 137 8 + 37 138 8 + 37 139 8 + 37 140 8 + 37 141 8 + 37 142 8 + 37 143 8 + 37 144 8 + 37 145 8 + 37 146 8 + 37 147 8 + 37 148 8 + 37 149 8 + 37 150 8 + 37 151 8 + 37 152 8 + 37 153 8 + 37 154 8 + 37 155 8 + 37 156 8 + 37 157 8 + 37 158 8 + 37 159 8 + 37 160 8 + 37 161 8 + 37 162 8 + 37 163 8 + 37 164 8 + 37 165 8 + 37 166 8 + 37 167 8 + 37 168 8 + 37 169 8 + 37 170 8 + 37 171 8 + 37 172 8 + 37 173 8 + 37 174 8 + 37 175 8 + 37 176 8 + 37 177 8 + 37 178 8 + 37 179 8 + 37 180 8 + 37 181 8 + 37 182 8 + 37 183 8 + 37 184 8 + 37 185 8 + 37 186 8 + 37 187 8 + 37 188 8 + 37 189 8 + 37 190 8 + 37 191 8 + 37 192 8 + 37 193 8 + 37 194 8 + 37 195 8 + 37 196 8 + 37 197 8 + 37 198 8 + 37 199 8 + 37 200 8 + 37 201 8 + 37 202 8 + 37 203 8 + 37 204 8 + 37 205 8 + 37 206 8 + 37 207 8 + 37 208 8 + 37 209 8 + 37 210 8 + 37 211 8 + 37 212 8 + 37 213 8 + 37 214 8 + 37 215 8 + 37 216 8 + 37 217 8 + 37 218 8 + 37 219 8 + 37 220 8 + 37 221 8 + 37 222 8 + 37 223 8 + 37 224 8 + 37 225 8 + 37 226 8 + 37 227 8 + 37 228 8 + 37 229 8 + 37 230 8 + 37 231 8 + 37 232 8 + 37 233 8 + 37 234 8 + 37 235 8 + 37 236 8 + 37 237 8 + 37 238 8 + 37 239 8 + 37 240 8 + 37 241 8 + 37 242 8 + 37 243 8 + 37 244 8 + 37 245 8 + 37 246 8 + 37 247 8 + 37 248 8 + 37 249 8 + 37 250 8 + 37 251 8 + 37 252 8 + 37 253 8 + 37 254 8 + 37 255 8 + 37 256 8 + 37 257 8 + 37 258 8 + 37 259 8 + 37 260 8 + 37 261 8 + 37 262 8 + 37 263 8 + 37 264 8 + 37 265 8 + 37 266 8 + 37 267 8 + 37 268 8 + 37 269 8 + 37 270 8 + 37 271 8 + 37 272 8 + 37 273 8 + 37 274 8 + 37 275 8 + 37 276 8 + 37 277 8 + 37 278 8 + 37 279 8 + 37 280 8 + 37 281 8 + 37 282 8 + 37 283 8 + 37 284 8 + 37 285 8 + 37 286 8 + 37 287 8 + 37 288 8 + 37 289 8 + 37 290 8 + 37 291 8 + 37 292 8 + 37 293 8 + 37 294 8 + 37 295 8 + 37 296 8 + 37 297 8 + 37 298 8 + 37 299 8 + 37 300 8 + 37 301 8 + 37 302 8 + 37 303 8 + 37 304 8 + 37 305 8 + 37 306 8 + 37 307 8 + 37 308 8 + 37 309 8 + 37 310 8 + 37 311 8 + 37 312 8 + 37 313 8 + 37 314 8 + 37 315 8 + 37 316 8 + 37 317 8 + 37 318 8 + 37 319 8 + 37 320 8 + 37 321 8 + 37 322 8 + 37 323 8 + 37 324 8 + 37 325 8 + 37 326 8 + 37 327 8 + 37 328 8 + 37 329 8 + 37 330 8 + 37 331 8 + 37 332 8 + 37 333 8 + 37 334 8 + 37 335 8 + 37 336 8 + 37 337 8 + 37 338 8 + 37 339 8 + 37 340 8 + 37 341 8 + 37 342 8 + 37 343 8 + 37 344 8 + 37 345 8 + 37 346 8 + 37 347 8 + 37 348 8 + 37 349 8 + 38 39 8 + 38 40 8 + 38 41 8 + 38 42 8 + 38 43 8 + 38 44 8 + 38 45 8 + 38 46 8 + 38 47 8 + 38 48 8 + 38 49 8 + 38 50 8 + 38 51 8 + 38 52 8 + 38 53 8 + 38 54 8 + 38 55 8 + 38 56 8 + 38 57 8 + 38 58 8 + 38 59 8 + 38 60 8 + 38 61 8 + 38 62 8 + 38 63 8 + 38 64 8 + 38 65 8 + 38 66 8 + 38 67 8 + 38 68 8 + 38 69 8 + 38 70 8 + 38 71 8 + 38 72 8 + 38 73 8 + 38 74 8 + 38 75 8 + 38 76 8 + 38 77 8 + 38 78 8 + 38 79 8 + 38 80 8 + 38 81 8 + 38 82 8 + 38 83 8 + 38 84 8 + 38 85 8 + 38 86 8 + 38 87 8 + 38 88 8 + 38 89 8 + 38 90 8 + 38 91 8 + 38 92 8 + 38 93 8 + 38 94 8 + 38 95 8 + 38 96 8 + 38 97 8 + 38 98 8 + 38 99 8 + 38 100 8 + 38 101 8 + 38 102 8 + 38 103 8 + 38 104 8 + 38 105 8 + 38 106 8 + 38 107 8 + 38 108 8 + 38 109 8 + 38 110 8 + 38 111 8 + 38 112 8 + 38 113 8 + 38 114 8 + 38 115 8 + 38 116 8 + 38 117 8 + 38 118 8 + 38 119 8 + 38 120 8 + 38 121 8 + 38 122 8 + 38 123 8 + 38 124 8 + 38 125 8 + 38 126 8 + 38 127 8 + 38 128 8 + 38 129 8 + 38 130 8 + 38 131 8 + 38 132 8 + 38 133 8 + 38 134 8 + 38 135 8 + 38 136 8 + 38 137 8 + 38 138 8 + 38 139 8 + 38 140 8 + 38 141 8 + 38 142 8 + 38 143 8 + 38 144 8 + 38 145 8 + 38 146 8 + 38 147 8 + 38 148 8 + 38 149 8 + 38 150 8 + 38 151 8 + 38 152 8 + 38 153 8 + 38 154 8 + 38 155 8 + 38 156 8 + 38 157 8 + 38 158 8 + 38 159 8 + 38 160 8 + 38 161 8 + 38 162 8 + 38 163 8 + 38 164 8 + 38 165 8 + 38 166 8 + 38 167 8 + 38 168 8 + 38 169 8 + 38 170 8 + 38 171 8 + 38 172 8 + 38 173 8 + 38 174 8 + 38 175 8 + 38 176 8 + 38 177 8 + 38 178 8 + 38 179 8 + 38 180 8 + 38 181 8 + 38 182 8 + 38 183 8 + 38 184 8 + 38 185 8 + 38 186 8 + 38 187 8 + 38 188 8 + 38 189 8 + 38 190 8 + 38 191 8 + 38 192 8 + 38 193 8 + 38 194 8 + 38 195 8 + 38 196 8 + 38 197 8 + 38 198 8 + 38 199 8 + 38 200 8 + 38 201 8 + 38 202 8 + 38 203 8 + 38 204 8 + 38 205 8 + 38 206 8 + 38 207 8 + 38 208 8 + 38 209 8 + 38 210 8 + 38 211 8 + 38 212 8 + 38 213 8 + 38 214 8 + 38 215 8 + 38 216 8 + 38 217 8 + 38 218 8 + 38 219 8 + 38 220 8 + 38 221 8 + 38 222 8 + 38 223 8 + 38 224 8 + 38 225 8 + 38 226 8 + 38 227 8 + 38 228 8 + 38 229 8 + 38 230 8 + 38 231 8 + 38 232 8 + 38 233 8 + 38 234 8 + 38 235 8 + 38 236 8 + 38 237 8 + 38 238 8 + 38 239 8 + 38 240 8 + 38 241 8 + 38 242 8 + 38 243 8 + 38 244 8 + 38 245 8 + 38 246 8 + 38 247 8 + 38 248 8 + 38 249 8 + 38 250 8 + 38 251 8 + 38 252 8 + 38 253 8 + 38 254 8 + 38 255 8 + 38 256 8 + 38 257 8 + 38 258 8 + 38 259 8 + 38 260 8 + 38 261 8 + 38 262 8 + 38 263 8 + 38 264 8 + 38 265 8 + 38 266 8 + 38 267 8 + 38 268 8 + 38 269 8 + 38 270 8 + 38 271 8 + 38 272 8 + 38 273 8 + 38 274 8 + 38 275 8 + 38 276 8 + 38 277 8 + 38 278 8 + 38 279 8 + 38 280 8 + 38 281 8 + 38 282 8 + 38 283 8 + 38 284 8 + 38 285 8 + 38 286 8 + 38 287 8 + 38 288 8 + 38 289 8 + 38 290 8 + 38 291 8 + 38 292 8 + 38 293 8 + 38 294 8 + 38 295 8 + 38 296 8 + 38 297 8 + 38 298 8 + 38 299 8 + 38 300 8 + 38 301 8 + 38 302 8 + 38 303 8 + 38 304 8 + 38 305 8 + 38 306 8 + 38 307 8 + 38 308 8 + 38 309 8 + 38 310 8 + 38 311 8 + 38 312 8 + 38 313 8 + 38 314 8 + 38 315 8 + 38 316 8 + 38 317 8 + 38 318 8 + 38 319 8 + 38 320 8 + 38 321 8 + 38 322 8 + 38 323 8 + 38 324 8 + 38 325 8 + 38 326 8 + 38 327 8 + 38 328 8 + 38 329 8 + 38 330 8 + 38 331 8 + 38 332 8 + 38 333 8 + 38 334 8 + 38 335 8 + 38 336 8 + 38 337 8 + 38 338 8 + 38 339 8 + 38 340 8 + 38 341 8 + 38 342 8 + 38 343 8 + 38 344 8 + 38 345 8 + 38 346 8 + 38 347 8 + 38 348 8 + 38 349 8 + 39 40 8 + 39 41 8 + 39 42 8 + 39 43 8 + 39 44 8 + 39 45 8 + 39 46 8 + 39 47 8 + 39 48 8 + 39 49 8 + 39 50 8 + 39 51 8 + 39 52 8 + 39 53 8 + 39 54 8 + 39 55 8 + 39 56 8 + 39 57 8 + 39 58 8 + 39 59 8 + 39 60 8 + 39 61 8 + 39 62 8 + 39 63 8 + 39 64 8 + 39 65 8 + 39 66 8 + 39 67 8 + 39 68 8 + 39 69 8 + 39 70 8 + 39 71 8 + 39 72 8 + 39 73 8 + 39 74 8 + 39 75 8 + 39 76 8 + 39 77 8 + 39 78 8 + 39 79 8 + 39 80 8 + 39 81 8 + 39 82 8 + 39 83 8 + 39 84 8 + 39 85 8 + 39 86 8 + 39 87 8 + 39 88 8 + 39 89 8 + 39 90 8 + 39 91 8 + 39 92 8 + 39 93 8 + 39 94 8 + 39 95 8 + 39 96 8 + 39 97 8 + 39 98 8 + 39 99 8 + 39 100 8 + 39 101 8 + 39 102 8 + 39 103 8 + 39 104 8 + 39 105 8 + 39 106 8 + 39 107 8 + 39 108 8 + 39 109 8 + 39 110 8 + 39 111 8 + 39 112 8 + 39 113 8 + 39 114 8 + 39 115 8 + 39 116 8 + 39 117 8 + 39 118 8 + 39 119 8 + 39 120 8 + 39 121 8 + 39 122 8 + 39 123 8 + 39 124 8 + 39 125 8 + 39 126 8 + 39 127 8 + 39 128 8 + 39 129 8 + 39 130 8 + 39 131 8 + 39 132 8 + 39 133 8 + 39 134 8 + 39 135 8 + 39 136 8 + 39 137 8 + 39 138 8 + 39 139 8 + 39 140 8 + 39 141 8 + 39 142 8 + 39 143 8 + 39 144 8 + 39 145 8 + 39 146 8 + 39 147 8 + 39 148 8 + 39 149 8 + 39 150 8 + 39 151 8 + 39 152 8 + 39 153 8 + 39 154 8 + 39 155 8 + 39 156 8 + 39 157 8 + 39 158 8 + 39 159 8 + 39 160 8 + 39 161 8 + 39 162 8 + 39 163 8 + 39 164 8 + 39 165 8 + 39 166 8 + 39 167 8 + 39 168 8 + 39 169 8 + 39 170 8 + 39 171 8 + 39 172 8 + 39 173 8 + 39 174 8 + 39 175 8 + 39 176 8 + 39 177 8 + 39 178 8 + 39 179 8 + 39 180 8 + 39 181 8 + 39 182 8 + 39 183 8 + 39 184 8 + 39 185 8 + 39 186 8 + 39 187 8 + 39 188 8 + 39 189 8 + 39 190 8 + 39 191 8 + 39 192 8 + 39 193 8 + 39 194 8 + 39 195 8 + 39 196 8 + 39 197 8 + 39 198 8 + 39 199 8 + 39 200 8 + 39 201 8 + 39 202 8 + 39 203 8 + 39 204 8 + 39 205 8 + 39 206 8 + 39 207 8 + 39 208 8 + 39 209 8 + 39 210 8 + 39 211 8 + 39 212 8 + 39 213 8 + 39 214 8 + 39 215 8 + 39 216 8 + 39 217 8 + 39 218 8 + 39 219 8 + 39 220 8 + 39 221 8 + 39 222 8 + 39 223 8 + 39 224 8 + 39 225 8 + 39 226 8 + 39 227 8 + 39 228 8 + 39 229 8 + 39 230 8 + 39 231 8 + 39 232 8 + 39 233 8 + 39 234 8 + 39 235 8 + 39 236 8 + 39 237 8 + 39 238 8 + 39 239 8 + 39 240 8 + 39 241 8 + 39 242 8 + 39 243 8 + 39 244 8 + 39 245 8 + 39 246 8 + 39 247 8 + 39 248 8 + 39 249 8 + 39 250 8 + 39 251 8 + 39 252 8 + 39 253 8 + 39 254 8 + 39 255 8 + 39 256 8 + 39 257 8 + 39 258 8 + 39 259 8 + 39 260 8 + 39 261 8 + 39 262 8 + 39 263 8 + 39 264 8 + 39 265 8 + 39 266 8 + 39 267 8 + 39 268 8 + 39 269 8 + 39 270 8 + 39 271 8 + 39 272 8 + 39 273 8 + 39 274 8 + 39 275 8 + 39 276 8 + 39 277 8 + 39 278 8 + 39 279 8 + 39 280 8 + 39 281 8 + 39 282 8 + 39 283 8 + 39 284 8 + 39 285 8 + 39 286 8 + 39 287 8 + 39 288 8 + 39 289 8 + 39 290 8 + 39 291 8 + 39 292 8 + 39 293 8 + 39 294 8 + 39 295 8 + 39 296 8 + 39 297 8 + 39 298 8 + 39 299 8 + 39 300 8 + 39 301 8 + 39 302 8 + 39 303 8 + 39 304 8 + 39 305 8 + 39 306 8 + 39 307 8 + 39 308 8 + 39 309 8 + 39 310 8 + 39 311 8 + 39 312 8 + 39 313 8 + 39 314 8 + 39 315 8 + 39 316 8 + 39 317 8 + 39 318 8 + 39 319 8 + 39 320 8 + 39 321 8 + 39 322 8 + 39 323 8 + 39 324 8 + 39 325 8 + 39 326 8 + 39 327 8 + 39 328 8 + 39 329 8 + 39 330 8 + 39 331 8 + 39 332 8 + 39 333 8 + 39 334 8 + 39 335 8 + 39 336 8 + 39 337 8 + 39 338 8 + 39 339 8 + 39 340 8 + 39 341 8 + 39 342 8 + 39 343 8 + 39 344 8 + 39 345 8 + 39 346 8 + 39 347 8 + 39 348 8 + 39 349 8 + 40 41 8 + 40 42 8 + 40 43 8 + 40 44 8 + 40 45 8 + 40 46 8 + 40 47 8 + 40 48 8 + 40 49 8 + 40 50 8 + 40 51 8 + 40 52 8 + 40 53 8 + 40 54 8 + 40 55 8 + 40 56 8 + 40 57 8 + 40 58 8 + 40 59 8 + 40 60 8 + 40 61 8 + 40 62 8 + 40 63 8 + 40 64 8 + 40 65 8 + 40 66 8 + 40 67 8 + 40 68 8 + 40 69 8 + 40 70 8 + 40 71 8 + 40 72 8 + 40 73 8 + 40 74 8 + 40 75 8 + 40 76 8 + 40 77 8 + 40 78 8 + 40 79 8 + 40 80 8 + 40 81 8 + 40 82 8 + 40 83 8 + 40 84 8 + 40 85 8 + 40 86 8 + 40 87 8 + 40 88 8 + 40 89 8 + 40 90 8 + 40 91 8 + 40 92 8 + 40 93 8 + 40 94 8 + 40 95 8 + 40 96 8 + 40 97 8 + 40 98 8 + 40 99 8 + 40 100 8 + 40 101 8 + 40 102 8 + 40 103 8 + 40 104 8 + 40 105 8 + 40 106 8 + 40 107 8 + 40 108 8 + 40 109 8 + 40 110 8 + 40 111 8 + 40 112 8 + 40 113 8 + 40 114 8 + 40 115 8 + 40 116 8 + 40 117 8 + 40 118 8 + 40 119 8 + 40 120 8 + 40 121 8 + 40 122 8 + 40 123 8 + 40 124 8 + 40 125 8 + 40 126 8 + 40 127 8 + 40 128 8 + 40 129 8 + 40 130 8 + 40 131 8 + 40 132 8 + 40 133 8 + 40 134 8 + 40 135 8 + 40 136 8 + 40 137 8 + 40 138 8 + 40 139 8 + 40 140 8 + 40 141 8 + 40 142 8 + 40 143 8 + 40 144 8 + 40 145 8 + 40 146 8 + 40 147 8 + 40 148 8 + 40 149 8 + 40 150 8 + 40 151 8 + 40 152 8 + 40 153 8 + 40 154 8 + 40 155 8 + 40 156 8 + 40 157 8 + 40 158 8 + 40 159 8 + 40 160 8 + 40 161 8 + 40 162 8 + 40 163 8 + 40 164 8 + 40 165 8 + 40 166 8 + 40 167 8 + 40 168 8 + 40 169 8 + 40 170 8 + 40 171 8 + 40 172 8 + 40 173 8 + 40 174 8 + 40 175 8 + 40 176 8 + 40 177 8 + 40 178 8 + 40 179 8 + 40 180 8 + 40 181 8 + 40 182 8 + 40 183 8 + 40 184 8 + 40 185 8 + 40 186 8 + 40 187 8 + 40 188 8 + 40 189 8 + 40 190 8 + 40 191 8 + 40 192 8 + 40 193 8 + 40 194 8 + 40 195 8 + 40 196 8 + 40 197 8 + 40 198 8 + 40 199 8 + 40 200 8 + 40 201 8 + 40 202 8 + 40 203 8 + 40 204 8 + 40 205 8 + 40 206 8 + 40 207 8 + 40 208 8 + 40 209 8 + 40 210 8 + 40 211 8 + 40 212 8 + 40 213 8 + 40 214 8 + 40 215 8 + 40 216 8 + 40 217 8 + 40 218 8 + 40 219 8 + 40 220 8 + 40 221 8 + 40 222 8 + 40 223 8 + 40 224 8 + 40 225 8 + 40 226 8 + 40 227 8 + 40 228 8 + 40 229 8 + 40 230 8 + 40 231 8 + 40 232 8 + 40 233 8 + 40 234 8 + 40 235 8 + 40 236 8 + 40 237 8 + 40 238 8 + 40 239 8 + 40 240 8 + 40 241 8 + 40 242 8 + 40 243 8 + 40 244 8 + 40 245 8 + 40 246 8 + 40 247 8 + 40 248 8 + 40 249 8 + 40 250 8 + 40 251 8 + 40 252 8 + 40 253 8 + 40 254 8 + 40 255 8 + 40 256 8 + 40 257 8 + 40 258 8 + 40 259 8 + 40 260 8 + 40 261 8 + 40 262 8 + 40 263 8 + 40 264 8 + 40 265 8 + 40 266 8 + 40 267 8 + 40 268 8 + 40 269 8 + 40 270 8 + 40 271 8 + 40 272 8 + 40 273 8 + 40 274 8 + 40 275 8 + 40 276 8 + 40 277 8 + 40 278 8 + 40 279 8 + 40 280 8 + 40 281 8 + 40 282 8 + 40 283 8 + 40 284 8 + 40 285 8 + 40 286 8 + 40 287 8 + 40 288 8 + 40 289 8 + 40 290 8 + 40 291 8 + 40 292 8 + 40 293 8 + 40 294 8 + 40 295 8 + 40 296 8 + 40 297 8 + 40 298 8 + 40 299 8 + 40 300 8 + 40 301 8 + 40 302 8 + 40 303 8 + 40 304 8 + 40 305 8 + 40 306 8 + 40 307 8 + 40 308 8 + 40 309 8 + 40 310 8 + 40 311 8 + 40 312 8 + 40 313 8 + 40 314 8 + 40 315 8 + 40 316 8 + 40 317 8 + 40 318 8 + 40 319 8 + 40 320 8 + 40 321 8 + 40 322 8 + 40 323 8 + 40 324 8 + 40 325 8 + 40 326 8 + 40 327 8 + 40 328 8 + 40 329 8 + 40 330 8 + 40 331 8 + 40 332 8 + 40 333 8 + 40 334 8 + 40 335 8 + 40 336 8 + 40 337 8 + 40 338 8 + 40 339 8 + 40 340 8 + 40 341 8 + 40 342 8 + 40 343 8 + 40 344 8 + 40 345 8 + 40 346 8 + 40 347 8 + 40 348 8 + 40 349 8 + 41 42 8 + 41 43 8 + 41 44 8 + 41 45 8 + 41 46 8 + 41 47 8 + 41 48 8 + 41 49 8 + 41 50 8 + 41 51 8 + 41 52 8 + 41 53 8 + 41 54 8 + 41 55 8 + 41 56 8 + 41 57 8 + 41 58 8 + 41 59 8 + 41 60 8 + 41 61 8 + 41 62 8 + 41 63 8 + 41 64 8 + 41 65 8 + 41 66 8 + 41 67 8 + 41 68 8 + 41 69 8 + 41 70 8 + 41 71 8 + 41 72 8 + 41 73 8 + 41 74 8 + 41 75 8 + 41 76 8 + 41 77 8 + 41 78 8 + 41 79 8 + 41 80 8 + 41 81 8 + 41 82 8 + 41 83 8 + 41 84 8 + 41 85 8 + 41 86 8 + 41 87 8 + 41 88 8 + 41 89 8 + 41 90 8 + 41 91 8 + 41 92 8 + 41 93 8 + 41 94 8 + 41 95 8 + 41 96 8 + 41 97 8 + 41 98 8 + 41 99 8 + 41 100 8 + 41 101 8 + 41 102 8 + 41 103 8 + 41 104 8 + 41 105 8 + 41 106 8 + 41 107 8 + 41 108 8 + 41 109 8 + 41 110 8 + 41 111 8 + 41 112 8 + 41 113 8 + 41 114 8 + 41 115 8 + 41 116 8 + 41 117 8 + 41 118 8 + 41 119 8 + 41 120 8 + 41 121 8 + 41 122 8 + 41 123 8 + 41 124 8 + 41 125 8 + 41 126 8 + 41 127 8 + 41 128 8 + 41 129 8 + 41 130 8 + 41 131 8 + 41 132 8 + 41 133 8 + 41 134 8 + 41 135 8 + 41 136 8 + 41 137 8 + 41 138 8 + 41 139 8 + 41 140 8 + 41 141 8 + 41 142 8 + 41 143 8 + 41 144 8 + 41 145 8 + 41 146 8 + 41 147 8 + 41 148 8 + 41 149 8 + 41 150 8 + 41 151 8 + 41 152 8 + 41 153 8 + 41 154 8 + 41 155 8 + 41 156 8 + 41 157 8 + 41 158 8 + 41 159 8 + 41 160 8 + 41 161 8 + 41 162 8 + 41 163 8 + 41 164 8 + 41 165 8 + 41 166 8 + 41 167 8 + 41 168 8 + 41 169 8 + 41 170 8 + 41 171 8 + 41 172 8 + 41 173 8 + 41 174 8 + 41 175 8 + 41 176 8 + 41 177 8 + 41 178 8 + 41 179 8 + 41 180 8 + 41 181 8 + 41 182 8 + 41 183 8 + 41 184 8 + 41 185 8 + 41 186 8 + 41 187 8 + 41 188 8 + 41 189 8 + 41 190 8 + 41 191 8 + 41 192 8 + 41 193 8 + 41 194 8 + 41 195 8 + 41 196 8 + 41 197 8 + 41 198 8 + 41 199 8 + 41 200 8 + 41 201 8 + 41 202 8 + 41 203 8 + 41 204 8 + 41 205 8 + 41 206 8 + 41 207 8 + 41 208 8 + 41 209 8 + 41 210 8 + 41 211 8 + 41 212 8 + 41 213 8 + 41 214 8 + 41 215 8 + 41 216 8 + 41 217 8 + 41 218 8 + 41 219 8 + 41 220 8 + 41 221 8 + 41 222 8 + 41 223 8 + 41 224 8 + 41 225 8 + 41 226 8 + 41 227 8 + 41 228 8 + 41 229 8 + 41 230 8 + 41 231 8 + 41 232 8 + 41 233 8 + 41 234 8 + 41 235 8 + 41 236 8 + 41 237 8 + 41 238 8 + 41 239 8 + 41 240 8 + 41 241 8 + 41 242 8 + 41 243 8 + 41 244 8 + 41 245 8 + 41 246 8 + 41 247 8 + 41 248 8 + 41 249 8 + 41 250 8 + 41 251 8 + 41 252 8 + 41 253 8 + 41 254 8 + 41 255 8 + 41 256 8 + 41 257 8 + 41 258 8 + 41 259 8 + 41 260 8 + 41 261 8 + 41 262 8 + 41 263 8 + 41 264 8 + 41 265 8 + 41 266 8 + 41 267 8 + 41 268 8 + 41 269 8 + 41 270 8 + 41 271 8 + 41 272 8 + 41 273 8 + 41 274 8 + 41 275 8 + 41 276 8 + 41 277 8 + 41 278 8 + 41 279 8 + 41 280 8 + 41 281 8 + 41 282 8 + 41 283 8 + 41 284 8 + 41 285 8 + 41 286 8 + 41 287 8 + 41 288 8 + 41 289 8 + 41 290 8 + 41 291 8 + 41 292 8 + 41 293 8 + 41 294 8 + 41 295 8 + 41 296 8 + 41 297 8 + 41 298 8 + 41 299 8 + 41 300 8 + 41 301 8 + 41 302 8 + 41 303 8 + 41 304 8 + 41 305 8 + 41 306 8 + 41 307 8 + 41 308 8 + 41 309 8 + 41 310 8 + 41 311 8 + 41 312 8 + 41 313 8 + 41 314 8 + 41 315 8 + 41 316 8 + 41 317 8 + 41 318 8 + 41 319 8 + 41 320 8 + 41 321 8 + 41 322 8 + 41 323 8 + 41 324 8 + 41 325 8 + 41 326 8 + 41 327 8 + 41 328 8 + 41 329 8 + 41 330 8 + 41 331 8 + 41 332 8 + 41 333 8 + 41 334 8 + 41 335 8 + 41 336 8 + 41 337 8 + 41 338 8 + 41 339 8 + 41 340 8 + 41 341 8 + 41 342 8 + 41 343 8 + 41 344 8 + 41 345 8 + 41 346 8 + 41 347 8 + 41 348 8 + 41 349 8 + 42 43 8 + 42 44 8 + 42 45 8 + 42 46 8 + 42 47 8 + 42 48 8 + 42 49 8 + 42 50 8 + 42 51 8 + 42 52 8 + 42 53 8 + 42 54 8 + 42 55 8 + 42 56 8 + 42 57 8 + 42 58 8 + 42 59 8 + 42 60 8 + 42 61 8 + 42 62 8 + 42 63 8 + 42 64 8 + 42 65 8 + 42 66 8 + 42 67 8 + 42 68 8 + 42 69 8 + 42 70 8 + 42 71 8 + 42 72 8 + 42 73 8 + 42 74 8 + 42 75 8 + 42 76 8 + 42 77 8 + 42 78 8 + 42 79 8 + 42 80 8 + 42 81 8 + 42 82 8 + 42 83 8 + 42 84 8 + 42 85 8 + 42 86 8 + 42 87 8 + 42 88 8 + 42 89 8 + 42 90 8 + 42 91 8 + 42 92 8 + 42 93 8 + 42 94 8 + 42 95 8 + 42 96 8 + 42 97 8 + 42 98 8 + 42 99 8 + 42 100 8 + 42 101 8 + 42 102 8 + 42 103 8 + 42 104 8 + 42 105 8 + 42 106 8 + 42 107 8 + 42 108 8 + 42 109 8 + 42 110 8 + 42 111 8 + 42 112 8 + 42 113 8 + 42 114 8 + 42 115 8 + 42 116 8 + 42 117 8 + 42 118 8 + 42 119 8 + 42 120 8 + 42 121 8 + 42 122 8 + 42 123 8 + 42 124 8 + 42 125 8 + 42 126 8 + 42 127 8 + 42 128 8 + 42 129 8 + 42 130 8 + 42 131 8 + 42 132 8 + 42 133 8 + 42 134 8 + 42 135 8 + 42 136 8 + 42 137 8 + 42 138 8 + 42 139 8 + 42 140 8 + 42 141 8 + 42 142 8 + 42 143 8 + 42 144 8 + 42 145 8 + 42 146 8 + 42 147 8 + 42 148 8 + 42 149 8 + 42 150 8 + 42 151 8 + 42 152 8 + 42 153 8 + 42 154 8 + 42 155 8 + 42 156 8 + 42 157 8 + 42 158 8 + 42 159 8 + 42 160 8 + 42 161 8 + 42 162 8 + 42 163 8 + 42 164 8 + 42 165 8 + 42 166 8 + 42 167 8 + 42 168 8 + 42 169 8 + 42 170 8 + 42 171 8 + 42 172 8 + 42 173 8 + 42 174 8 + 42 175 8 + 42 176 8 + 42 177 8 + 42 178 8 + 42 179 8 + 42 180 8 + 42 181 8 + 42 182 8 + 42 183 8 + 42 184 8 + 42 185 8 + 42 186 8 + 42 187 8 + 42 188 8 + 42 189 8 + 42 190 8 + 42 191 8 + 42 192 8 + 42 193 8 + 42 194 8 + 42 195 8 + 42 196 8 + 42 197 8 + 42 198 8 + 42 199 8 + 42 200 8 + 42 201 8 + 42 202 8 + 42 203 8 + 42 204 8 + 42 205 8 + 42 206 8 + 42 207 8 + 42 208 8 + 42 209 8 + 42 210 8 + 42 211 8 + 42 212 8 + 42 213 8 + 42 214 8 + 42 215 8 + 42 216 8 + 42 217 8 + 42 218 8 + 42 219 8 + 42 220 8 + 42 221 8 + 42 222 8 + 42 223 8 + 42 224 8 + 42 225 8 + 42 226 8 + 42 227 8 + 42 228 8 + 42 229 8 + 42 230 8 + 42 231 8 + 42 232 8 + 42 233 8 + 42 234 8 + 42 235 8 + 42 236 8 + 42 237 8 + 42 238 8 + 42 239 8 + 42 240 8 + 42 241 8 + 42 242 8 + 42 243 8 + 42 244 8 + 42 245 8 + 42 246 8 + 42 247 8 + 42 248 8 + 42 249 8 + 42 250 8 + 42 251 8 + 42 252 8 + 42 253 8 + 42 254 8 + 42 255 8 + 42 256 8 + 42 257 8 + 42 258 8 + 42 259 8 + 42 260 8 + 42 261 8 + 42 262 8 + 42 263 8 + 42 264 8 + 42 265 8 + 42 266 8 + 42 267 8 + 42 268 8 + 42 269 8 + 42 270 8 + 42 271 8 + 42 272 8 + 42 273 8 + 42 274 8 + 42 275 8 + 42 276 8 + 42 277 8 + 42 278 8 + 42 279 8 + 42 280 8 + 42 281 8 + 42 282 8 + 42 283 8 + 42 284 8 + 42 285 8 + 42 286 8 + 42 287 8 + 42 288 8 + 42 289 8 + 42 290 8 + 42 291 8 + 42 292 8 + 42 293 8 + 42 294 8 + 42 295 8 + 42 296 8 + 42 297 8 + 42 298 8 + 42 299 8 + 42 300 8 + 42 301 8 + 42 302 8 + 42 303 8 + 42 304 8 + 42 305 8 + 42 306 8 + 42 307 8 + 42 308 8 + 42 309 8 + 42 310 8 + 42 311 8 + 42 312 8 + 42 313 8 + 42 314 8 + 42 315 8 + 42 316 8 + 42 317 8 + 42 318 8 + 42 319 8 + 42 320 8 + 42 321 8 + 42 322 8 + 42 323 8 + 42 324 8 + 42 325 8 + 42 326 8 + 42 327 8 + 42 328 8 + 42 329 8 + 42 330 8 + 42 331 8 + 42 332 8 + 42 333 8 + 42 334 8 + 42 335 8 + 42 336 8 + 42 337 8 + 42 338 8 + 42 339 8 + 42 340 8 + 42 341 8 + 42 342 8 + 42 343 8 + 42 344 8 + 42 345 8 + 42 346 8 + 42 347 8 + 42 348 8 + 42 349 8 + 43 44 8 + 43 45 8 + 43 46 8 + 43 47 8 + 43 48 8 + 43 49 8 + 43 50 8 + 43 51 8 + 43 52 8 + 43 53 8 + 43 54 8 + 43 55 8 + 43 56 8 + 43 57 8 + 43 58 8 + 43 59 8 + 43 60 8 + 43 61 8 + 43 62 8 + 43 63 8 + 43 64 8 + 43 65 8 + 43 66 8 + 43 67 8 + 43 68 8 + 43 69 8 + 43 70 8 + 43 71 8 + 43 72 8 + 43 73 8 + 43 74 8 + 43 75 8 + 43 76 8 + 43 77 8 + 43 78 8 + 43 79 8 + 43 80 8 + 43 81 8 + 43 82 8 + 43 83 8 + 43 84 8 + 43 85 8 + 43 86 8 + 43 87 8 + 43 88 8 + 43 89 8 + 43 90 8 + 43 91 8 + 43 92 8 + 43 93 8 + 43 94 8 + 43 95 8 + 43 96 8 + 43 97 8 + 43 98 8 + 43 99 8 + 43 100 8 + 43 101 8 + 43 102 8 + 43 103 8 + 43 104 8 + 43 105 8 + 43 106 8 + 43 107 8 + 43 108 8 + 43 109 8 + 43 110 8 + 43 111 8 + 43 112 8 + 43 113 8 + 43 114 8 + 43 115 8 + 43 116 8 + 43 117 8 + 43 118 8 + 43 119 8 + 43 120 8 + 43 121 8 + 43 122 8 + 43 123 8 + 43 124 8 + 43 125 8 + 43 126 8 + 43 127 8 + 43 128 8 + 43 129 8 + 43 130 8 + 43 131 8 + 43 132 8 + 43 133 8 + 43 134 8 + 43 135 8 + 43 136 8 + 43 137 8 + 43 138 8 + 43 139 8 + 43 140 8 + 43 141 8 + 43 142 8 + 43 143 8 + 43 144 8 + 43 145 8 + 43 146 8 + 43 147 8 + 43 148 8 + 43 149 8 + 43 150 8 + 43 151 8 + 43 152 8 + 43 153 8 + 43 154 8 + 43 155 8 + 43 156 8 + 43 157 8 + 43 158 8 + 43 159 8 + 43 160 8 + 43 161 8 + 43 162 8 + 43 163 8 + 43 164 8 + 43 165 8 + 43 166 8 + 43 167 8 + 43 168 8 + 43 169 8 + 43 170 8 + 43 171 8 + 43 172 8 + 43 173 8 + 43 174 8 + 43 175 8 + 43 176 8 + 43 177 8 + 43 178 8 + 43 179 8 + 43 180 8 + 43 181 8 + 43 182 8 + 43 183 8 + 43 184 8 + 43 185 8 + 43 186 8 + 43 187 8 + 43 188 8 + 43 189 8 + 43 190 8 + 43 191 8 + 43 192 8 + 43 193 8 + 43 194 8 + 43 195 8 + 43 196 8 + 43 197 8 + 43 198 8 + 43 199 8 + 43 200 8 + 43 201 8 + 43 202 8 + 43 203 8 + 43 204 8 + 43 205 8 + 43 206 8 + 43 207 8 + 43 208 8 + 43 209 8 + 43 210 8 + 43 211 8 + 43 212 8 + 43 213 8 + 43 214 8 + 43 215 8 + 43 216 8 + 43 217 8 + 43 218 8 + 43 219 8 + 43 220 8 + 43 221 8 + 43 222 8 + 43 223 8 + 43 224 8 + 43 225 8 + 43 226 8 + 43 227 8 + 43 228 8 + 43 229 8 + 43 230 8 + 43 231 8 + 43 232 8 + 43 233 8 + 43 234 8 + 43 235 8 + 43 236 8 + 43 237 8 + 43 238 8 + 43 239 8 + 43 240 8 + 43 241 8 + 43 242 8 + 43 243 8 + 43 244 8 + 43 245 8 + 43 246 8 + 43 247 8 + 43 248 8 + 43 249 8 + 43 250 8 + 43 251 8 + 43 252 8 + 43 253 8 + 43 254 8 + 43 255 8 + 43 256 8 + 43 257 8 + 43 258 8 + 43 259 8 + 43 260 8 + 43 261 8 + 43 262 8 + 43 263 8 + 43 264 8 + 43 265 8 + 43 266 8 + 43 267 8 + 43 268 8 + 43 269 8 + 43 270 8 + 43 271 8 + 43 272 8 + 43 273 8 + 43 274 8 + 43 275 8 + 43 276 8 + 43 277 8 + 43 278 8 + 43 279 8 + 43 280 8 + 43 281 8 + 43 282 8 + 43 283 8 + 43 284 8 + 43 285 8 + 43 286 8 + 43 287 8 + 43 288 8 + 43 289 8 + 43 290 8 + 43 291 8 + 43 292 8 + 43 293 8 + 43 294 8 + 43 295 8 + 43 296 8 + 43 297 8 + 43 298 8 + 43 299 8 + 43 300 8 + 43 301 8 + 43 302 8 + 43 303 8 + 43 304 8 + 43 305 8 + 43 306 8 + 43 307 8 + 43 308 8 + 43 309 8 + 43 310 8 + 43 311 8 + 43 312 8 + 43 313 8 + 43 314 8 + 43 315 8 + 43 316 8 + 43 317 8 + 43 318 8 + 43 319 8 + 43 320 8 + 43 321 8 + 43 322 8 + 43 323 8 + 43 324 8 + 43 325 8 + 43 326 8 + 43 327 8 + 43 328 8 + 43 329 8 + 43 330 8 + 43 331 8 + 43 332 8 + 43 333 8 + 43 334 8 + 43 335 8 + 43 336 8 + 43 337 8 + 43 338 8 + 43 339 8 + 43 340 8 + 43 341 8 + 43 342 8 + 43 343 8 + 43 344 8 + 43 345 8 + 43 346 8 + 43 347 8 + 43 348 8 + 43 349 8 + 44 45 8 + 44 46 8 + 44 47 8 + 44 48 8 + 44 49 8 + 44 50 8 + 44 51 8 + 44 52 8 + 44 53 8 + 44 54 8 + 44 55 8 + 44 56 8 + 44 57 8 + 44 58 8 + 44 59 8 + 44 60 8 + 44 61 8 + 44 62 8 + 44 63 8 + 44 64 8 + 44 65 8 + 44 66 8 + 44 67 8 + 44 68 8 + 44 69 8 + 44 70 8 + 44 71 8 + 44 72 8 + 44 73 8 + 44 74 8 + 44 75 8 + 44 76 8 + 44 77 8 + 44 78 8 + 44 79 8 + 44 80 8 + 44 81 8 + 44 82 8 + 44 83 8 + 44 84 8 + 44 85 8 + 44 86 8 + 44 87 8 + 44 88 8 + 44 89 8 + 44 90 8 + 44 91 8 + 44 92 8 + 44 93 8 + 44 94 8 + 44 95 8 + 44 96 8 + 44 97 8 + 44 98 8 + 44 99 8 + 44 100 8 + 44 101 8 + 44 102 8 + 44 103 8 + 44 104 8 + 44 105 8 + 44 106 8 + 44 107 8 + 44 108 8 + 44 109 8 + 44 110 8 + 44 111 8 + 44 112 8 + 44 113 8 + 44 114 8 + 44 115 8 + 44 116 8 + 44 117 8 + 44 118 8 + 44 119 8 + 44 120 8 + 44 121 8 + 44 122 8 + 44 123 8 + 44 124 8 + 44 125 8 + 44 126 8 + 44 127 8 + 44 128 8 + 44 129 8 + 44 130 8 + 44 131 8 + 44 132 8 + 44 133 8 + 44 134 8 + 44 135 8 + 44 136 8 + 44 137 8 + 44 138 8 + 44 139 8 + 44 140 8 + 44 141 8 + 44 142 8 + 44 143 8 + 44 144 8 + 44 145 8 + 44 146 8 + 44 147 8 + 44 148 8 + 44 149 8 + 44 150 8 + 44 151 8 + 44 152 8 + 44 153 8 + 44 154 8 + 44 155 8 + 44 156 8 + 44 157 8 + 44 158 8 + 44 159 8 + 44 160 8 + 44 161 8 + 44 162 8 + 44 163 8 + 44 164 8 + 44 165 8 + 44 166 8 + 44 167 8 + 44 168 8 + 44 169 8 + 44 170 8 + 44 171 8 + 44 172 8 + 44 173 8 + 44 174 8 + 44 175 8 + 44 176 8 + 44 177 8 + 44 178 8 + 44 179 8 + 44 180 8 + 44 181 8 + 44 182 8 + 44 183 8 + 44 184 8 + 44 185 8 + 44 186 8 + 44 187 8 + 44 188 8 + 44 189 8 + 44 190 8 + 44 191 8 + 44 192 8 + 44 193 8 + 44 194 8 + 44 195 8 + 44 196 8 + 44 197 8 + 44 198 8 + 44 199 8 + 44 200 8 + 44 201 8 + 44 202 8 + 44 203 8 + 44 204 8 + 44 205 8 + 44 206 8 + 44 207 8 + 44 208 8 + 44 209 8 + 44 210 8 + 44 211 8 + 44 212 8 + 44 213 8 + 44 214 8 + 44 215 8 + 44 216 8 + 44 217 8 + 44 218 8 + 44 219 8 + 44 220 8 + 44 221 8 + 44 222 8 + 44 223 8 + 44 224 8 + 44 225 8 + 44 226 8 + 44 227 8 + 44 228 8 + 44 229 8 + 44 230 8 + 44 231 8 + 44 232 8 + 44 233 8 + 44 234 8 + 44 235 8 + 44 236 8 + 44 237 8 + 44 238 8 + 44 239 8 + 44 240 8 + 44 241 8 + 44 242 8 + 44 243 8 + 44 244 8 + 44 245 8 + 44 246 8 + 44 247 8 + 44 248 8 + 44 249 8 + 44 250 8 + 44 251 8 + 44 252 8 + 44 253 8 + 44 254 8 + 44 255 8 + 44 256 8 + 44 257 8 + 44 258 8 + 44 259 8 + 44 260 8 + 44 261 8 + 44 262 8 + 44 263 8 + 44 264 8 + 44 265 8 + 44 266 8 + 44 267 8 + 44 268 8 + 44 269 8 + 44 270 8 + 44 271 8 + 44 272 8 + 44 273 8 + 44 274 8 + 44 275 8 + 44 276 8 + 44 277 8 + 44 278 8 + 44 279 8 + 44 280 8 + 44 281 8 + 44 282 8 + 44 283 8 + 44 284 8 + 44 285 8 + 44 286 8 + 44 287 8 + 44 288 8 + 44 289 8 + 44 290 8 + 44 291 8 + 44 292 8 + 44 293 8 + 44 294 8 + 44 295 8 + 44 296 8 + 44 297 8 + 44 298 8 + 44 299 8 + 44 300 8 + 44 301 8 + 44 302 8 + 44 303 8 + 44 304 8 + 44 305 8 + 44 306 8 + 44 307 8 + 44 308 8 + 44 309 8 + 44 310 8 + 44 311 8 + 44 312 8 + 44 313 8 + 44 314 8 + 44 315 8 + 44 316 8 + 44 317 8 + 44 318 8 + 44 319 8 + 44 320 8 + 44 321 8 + 44 322 8 + 44 323 8 + 44 324 8 + 44 325 8 + 44 326 8 + 44 327 8 + 44 328 8 + 44 329 8 + 44 330 8 + 44 331 8 + 44 332 8 + 44 333 8 + 44 334 8 + 44 335 8 + 44 336 8 + 44 337 8 + 44 338 8 + 44 339 8 + 44 340 8 + 44 341 8 + 44 342 8 + 44 343 8 + 44 344 8 + 44 345 8 + 44 346 8 + 44 347 8 + 44 348 8 + 44 349 8 + 45 46 8 + 45 47 8 + 45 48 8 + 45 49 8 + 45 50 8 + 45 51 8 + 45 52 8 + 45 53 8 + 45 54 8 + 45 55 8 + 45 56 8 + 45 57 8 + 45 58 8 + 45 59 8 + 45 60 8 + 45 61 8 + 45 62 8 + 45 63 8 + 45 64 8 + 45 65 8 + 45 66 8 + 45 67 8 + 45 68 8 + 45 69 8 + 45 70 8 + 45 71 8 + 45 72 8 + 45 73 8 + 45 74 8 + 45 75 8 + 45 76 8 + 45 77 8 + 45 78 8 + 45 79 8 + 45 80 8 + 45 81 8 + 45 82 8 + 45 83 8 + 45 84 8 + 45 85 8 + 45 86 8 + 45 87 8 + 45 88 8 + 45 89 8 + 45 90 8 + 45 91 8 + 45 92 8 + 45 93 8 + 45 94 8 + 45 95 8 + 45 96 8 + 45 97 8 + 45 98 8 + 45 99 8 + 45 100 8 + 45 101 8 + 45 102 8 + 45 103 8 + 45 104 8 + 45 105 8 + 45 106 8 + 45 107 8 + 45 108 8 + 45 109 8 + 45 110 8 + 45 111 8 + 45 112 8 + 45 113 8 + 45 114 8 + 45 115 8 + 45 116 8 + 45 117 8 + 45 118 8 + 45 119 8 + 45 120 8 + 45 121 8 + 45 122 8 + 45 123 8 + 45 124 8 + 45 125 8 + 45 126 8 + 45 127 8 + 45 128 8 + 45 129 8 + 45 130 8 + 45 131 8 + 45 132 8 + 45 133 8 + 45 134 8 + 45 135 8 + 45 136 8 + 45 137 8 + 45 138 8 + 45 139 8 + 45 140 8 + 45 141 8 + 45 142 8 + 45 143 8 + 45 144 8 + 45 145 8 + 45 146 8 + 45 147 8 + 45 148 8 + 45 149 8 + 45 150 8 + 45 151 8 + 45 152 8 + 45 153 8 + 45 154 8 + 45 155 8 + 45 156 8 + 45 157 8 + 45 158 8 + 45 159 8 + 45 160 8 + 45 161 8 + 45 162 8 + 45 163 8 + 45 164 8 + 45 165 8 + 45 166 8 + 45 167 8 + 45 168 8 + 45 169 8 + 45 170 8 + 45 171 8 + 45 172 8 + 45 173 8 + 45 174 8 + 45 175 8 + 45 176 8 + 45 177 8 + 45 178 8 + 45 179 8 + 45 180 8 + 45 181 8 + 45 182 8 + 45 183 8 + 45 184 8 + 45 185 8 + 45 186 8 + 45 187 8 + 45 188 8 + 45 189 8 + 45 190 8 + 45 191 8 + 45 192 8 + 45 193 8 + 45 194 8 + 45 195 8 + 45 196 8 + 45 197 8 + 45 198 8 + 45 199 8 + 45 200 8 + 45 201 8 + 45 202 8 + 45 203 8 + 45 204 8 + 45 205 8 + 45 206 8 + 45 207 8 + 45 208 8 + 45 209 8 + 45 210 8 + 45 211 8 + 45 212 8 + 45 213 8 + 45 214 8 + 45 215 8 + 45 216 8 + 45 217 8 + 45 218 8 + 45 219 8 + 45 220 8 + 45 221 8 + 45 222 8 + 45 223 8 + 45 224 8 + 45 225 8 + 45 226 8 + 45 227 8 + 45 228 8 + 45 229 8 + 45 230 8 + 45 231 8 + 45 232 8 + 45 233 8 + 45 234 8 + 45 235 8 + 45 236 8 + 45 237 8 + 45 238 8 + 45 239 8 + 45 240 8 + 45 241 8 + 45 242 8 + 45 243 8 + 45 244 8 + 45 245 8 + 45 246 8 + 45 247 8 + 45 248 8 + 45 249 8 + 45 250 8 + 45 251 8 + 45 252 8 + 45 253 8 + 45 254 8 + 45 255 8 + 45 256 8 + 45 257 8 + 45 258 8 + 45 259 8 + 45 260 8 + 45 261 8 + 45 262 8 + 45 263 8 + 45 264 8 + 45 265 8 + 45 266 8 + 45 267 8 + 45 268 8 + 45 269 8 + 45 270 8 + 45 271 8 + 45 272 8 + 45 273 8 + 45 274 8 + 45 275 8 + 45 276 8 + 45 277 8 + 45 278 8 + 45 279 8 + 45 280 8 + 45 281 8 + 45 282 8 + 45 283 8 + 45 284 8 + 45 285 8 + 45 286 8 + 45 287 8 + 45 288 8 + 45 289 8 + 45 290 8 + 45 291 8 + 45 292 8 + 45 293 8 + 45 294 8 + 45 295 8 + 45 296 8 + 45 297 8 + 45 298 8 + 45 299 8 + 45 300 8 + 45 301 8 + 45 302 8 + 45 303 8 + 45 304 8 + 45 305 8 + 45 306 8 + 45 307 8 + 45 308 8 + 45 309 8 + 45 310 8 + 45 311 8 + 45 312 8 + 45 313 8 + 45 314 8 + 45 315 8 + 45 316 8 + 45 317 8 + 45 318 8 + 45 319 8 + 45 320 8 + 45 321 8 + 45 322 8 + 45 323 8 + 45 324 8 + 45 325 8 + 45 326 8 + 45 327 8 + 45 328 8 + 45 329 8 + 45 330 8 + 45 331 8 + 45 332 8 + 45 333 8 + 45 334 8 + 45 335 8 + 45 336 8 + 45 337 8 + 45 338 8 + 45 339 8 + 45 340 8 + 45 341 8 + 45 342 8 + 45 343 8 + 45 344 8 + 45 345 8 + 45 346 8 + 45 347 8 + 45 348 8 + 45 349 8 + 46 47 8 + 46 48 8 + 46 49 8 + 46 50 8 + 46 51 8 + 46 52 8 + 46 53 8 + 46 54 8 + 46 55 8 + 46 56 8 + 46 57 8 + 46 58 8 + 46 59 8 + 46 60 8 + 46 61 8 + 46 62 8 + 46 63 8 + 46 64 8 + 46 65 8 + 46 66 8 + 46 67 8 + 46 68 8 + 46 69 8 + 46 70 8 + 46 71 8 + 46 72 8 + 46 73 8 + 46 74 8 + 46 75 8 + 46 76 8 + 46 77 8 + 46 78 8 + 46 79 8 + 46 80 8 + 46 81 8 + 46 82 8 + 46 83 8 + 46 84 8 + 46 85 8 + 46 86 8 + 46 87 8 + 46 88 8 + 46 89 8 + 46 90 8 + 46 91 8 + 46 92 8 + 46 93 8 + 46 94 8 + 46 95 8 + 46 96 8 + 46 97 8 + 46 98 8 + 46 99 8 + 46 100 8 + 46 101 8 + 46 102 8 + 46 103 8 + 46 104 8 + 46 105 8 + 46 106 8 + 46 107 8 + 46 108 8 + 46 109 8 + 46 110 8 + 46 111 8 + 46 112 8 + 46 113 8 + 46 114 8 + 46 115 8 + 46 116 8 + 46 117 8 + 46 118 8 + 46 119 8 + 46 120 8 + 46 121 8 + 46 122 8 + 46 123 8 + 46 124 8 + 46 125 8 + 46 126 8 + 46 127 8 + 46 128 8 + 46 129 8 + 46 130 8 + 46 131 8 + 46 132 8 + 46 133 8 + 46 134 8 + 46 135 8 + 46 136 8 + 46 137 8 + 46 138 8 + 46 139 8 + 46 140 8 + 46 141 8 + 46 142 8 + 46 143 8 + 46 144 8 + 46 145 8 + 46 146 8 + 46 147 8 + 46 148 8 + 46 149 8 + 46 150 8 + 46 151 8 + 46 152 8 + 46 153 8 + 46 154 8 + 46 155 8 + 46 156 8 + 46 157 8 + 46 158 8 + 46 159 8 + 46 160 8 + 46 161 8 + 46 162 8 + 46 163 8 + 46 164 8 + 46 165 8 + 46 166 8 + 46 167 8 + 46 168 8 + 46 169 8 + 46 170 8 + 46 171 8 + 46 172 8 + 46 173 8 + 46 174 8 + 46 175 8 + 46 176 8 + 46 177 8 + 46 178 8 + 46 179 8 + 46 180 8 + 46 181 8 + 46 182 8 + 46 183 8 + 46 184 8 + 46 185 8 + 46 186 8 + 46 187 8 + 46 188 8 + 46 189 8 + 46 190 8 + 46 191 8 + 46 192 8 + 46 193 8 + 46 194 8 + 46 195 8 + 46 196 8 + 46 197 8 + 46 198 8 + 46 199 8 + 46 200 8 + 46 201 8 + 46 202 8 + 46 203 8 + 46 204 8 + 46 205 8 + 46 206 8 + 46 207 8 + 46 208 8 + 46 209 8 + 46 210 8 + 46 211 8 + 46 212 8 + 46 213 8 + 46 214 8 + 46 215 8 + 46 216 8 + 46 217 8 + 46 218 8 + 46 219 8 + 46 220 8 + 46 221 8 + 46 222 8 + 46 223 8 + 46 224 8 + 46 225 8 + 46 226 8 + 46 227 8 + 46 228 8 + 46 229 8 + 46 230 8 + 46 231 8 + 46 232 8 + 46 233 8 + 46 234 8 + 46 235 8 + 46 236 8 + 46 237 8 + 46 238 8 + 46 239 8 + 46 240 8 + 46 241 8 + 46 242 8 + 46 243 8 + 46 244 8 + 46 245 8 + 46 246 8 + 46 247 8 + 46 248 8 + 46 249 8 + 46 250 8 + 46 251 8 + 46 252 8 + 46 253 8 + 46 254 8 + 46 255 8 + 46 256 8 + 46 257 8 + 46 258 8 + 46 259 8 + 46 260 8 + 46 261 8 + 46 262 8 + 46 263 8 + 46 264 8 + 46 265 8 + 46 266 8 + 46 267 8 + 46 268 8 + 46 269 8 + 46 270 8 + 46 271 8 + 46 272 8 + 46 273 8 + 46 274 8 + 46 275 8 + 46 276 8 + 46 277 8 + 46 278 8 + 46 279 8 + 46 280 8 + 46 281 8 + 46 282 8 + 46 283 8 + 46 284 8 + 46 285 8 + 46 286 8 + 46 287 8 + 46 288 8 + 46 289 8 + 46 290 8 + 46 291 8 + 46 292 8 + 46 293 8 + 46 294 8 + 46 295 8 + 46 296 8 + 46 297 8 + 46 298 8 + 46 299 8 + 46 300 8 + 46 301 8 + 46 302 8 + 46 303 8 + 46 304 8 + 46 305 8 + 46 306 8 + 46 307 8 + 46 308 8 + 46 309 8 + 46 310 8 + 46 311 8 + 46 312 8 + 46 313 8 + 46 314 8 + 46 315 8 + 46 316 8 + 46 317 8 + 46 318 8 + 46 319 8 + 46 320 8 + 46 321 8 + 46 322 8 + 46 323 8 + 46 324 8 + 46 325 8 + 46 326 8 + 46 327 8 + 46 328 8 + 46 329 8 + 46 330 8 + 46 331 8 + 46 332 8 + 46 333 8 + 46 334 8 + 46 335 8 + 46 336 8 + 46 337 8 + 46 338 8 + 46 339 8 + 46 340 8 + 46 341 8 + 46 342 8 + 46 343 8 + 46 344 8 + 46 345 8 + 46 346 8 + 46 347 8 + 46 348 8 + 46 349 8 + 47 48 8 + 47 49 8 + 47 50 8 + 47 51 8 + 47 52 8 + 47 53 8 + 47 54 8 + 47 55 8 + 47 56 8 + 47 57 8 + 47 58 8 + 47 59 8 + 47 60 8 + 47 61 8 + 47 62 8 + 47 63 8 + 47 64 8 + 47 65 8 + 47 66 8 + 47 67 8 + 47 68 8 + 47 69 8 + 47 70 8 + 47 71 8 + 47 72 8 + 47 73 8 + 47 74 8 + 47 75 8 + 47 76 8 + 47 77 8 + 47 78 8 + 47 79 8 + 47 80 8 + 47 81 8 + 47 82 8 + 47 83 8 + 47 84 8 + 47 85 8 + 47 86 8 + 47 87 8 + 47 88 8 + 47 89 8 + 47 90 8 + 47 91 8 + 47 92 8 + 47 93 8 + 47 94 8 + 47 95 8 + 47 96 8 + 47 97 8 + 47 98 8 + 47 99 8 + 47 100 8 + 47 101 8 + 47 102 8 + 47 103 8 + 47 104 8 + 47 105 8 + 47 106 8 + 47 107 8 + 47 108 8 + 47 109 8 + 47 110 8 + 47 111 8 + 47 112 8 + 47 113 8 + 47 114 8 + 47 115 8 + 47 116 8 + 47 117 8 + 47 118 8 + 47 119 8 + 47 120 8 + 47 121 8 + 47 122 8 + 47 123 8 + 47 124 8 + 47 125 8 + 47 126 8 + 47 127 8 + 47 128 8 + 47 129 8 + 47 130 8 + 47 131 8 + 47 132 8 + 47 133 8 + 47 134 8 + 47 135 8 + 47 136 8 + 47 137 8 + 47 138 8 + 47 139 8 + 47 140 8 + 47 141 8 + 47 142 8 + 47 143 8 + 47 144 8 + 47 145 8 + 47 146 8 + 47 147 8 + 47 148 8 + 47 149 8 + 47 150 8 + 47 151 8 + 47 152 8 + 47 153 8 + 47 154 8 + 47 155 8 + 47 156 8 + 47 157 8 + 47 158 8 + 47 159 8 + 47 160 8 + 47 161 8 + 47 162 8 + 47 163 8 + 47 164 8 + 47 165 8 + 47 166 8 + 47 167 8 + 47 168 8 + 47 169 8 + 47 170 8 + 47 171 8 + 47 172 8 + 47 173 8 + 47 174 8 + 47 175 8 + 47 176 8 + 47 177 8 + 47 178 8 + 47 179 8 + 47 180 8 + 47 181 8 + 47 182 8 + 47 183 8 + 47 184 8 + 47 185 8 + 47 186 8 + 47 187 8 + 47 188 8 + 47 189 8 + 47 190 8 + 47 191 8 + 47 192 8 + 47 193 8 + 47 194 8 + 47 195 8 + 47 196 8 + 47 197 8 + 47 198 8 + 47 199 8 + 47 200 8 + 47 201 8 + 47 202 8 + 47 203 8 + 47 204 8 + 47 205 8 + 47 206 8 + 47 207 8 + 47 208 8 + 47 209 8 + 47 210 8 + 47 211 8 + 47 212 8 + 47 213 8 + 47 214 8 + 47 215 8 + 47 216 8 + 47 217 8 + 47 218 8 + 47 219 8 + 47 220 8 + 47 221 8 + 47 222 8 + 47 223 8 + 47 224 8 + 47 225 8 + 47 226 8 + 47 227 8 + 47 228 8 + 47 229 8 + 47 230 8 + 47 231 8 + 47 232 8 + 47 233 8 + 47 234 8 + 47 235 8 + 47 236 8 + 47 237 8 + 47 238 8 + 47 239 8 + 47 240 8 + 47 241 8 + 47 242 8 + 47 243 8 + 47 244 8 + 47 245 8 + 47 246 8 + 47 247 8 + 47 248 8 + 47 249 8 + 47 250 8 + 47 251 8 + 47 252 8 + 47 253 8 + 47 254 8 + 47 255 8 + 47 256 8 + 47 257 8 + 47 258 8 + 47 259 8 + 47 260 8 + 47 261 8 + 47 262 8 + 47 263 8 + 47 264 8 + 47 265 8 + 47 266 8 + 47 267 8 + 47 268 8 + 47 269 8 + 47 270 8 + 47 271 8 + 47 272 8 + 47 273 8 + 47 274 8 + 47 275 8 + 47 276 8 + 47 277 8 + 47 278 8 + 47 279 8 + 47 280 8 + 47 281 8 + 47 282 8 + 47 283 8 + 47 284 8 + 47 285 8 + 47 286 8 + 47 287 8 + 47 288 8 + 47 289 8 + 47 290 8 + 47 291 8 + 47 292 8 + 47 293 8 + 47 294 8 + 47 295 8 + 47 296 8 + 47 297 8 + 47 298 8 + 47 299 8 + 47 300 8 + 47 301 8 + 47 302 8 + 47 303 8 + 47 304 8 + 47 305 8 + 47 306 8 + 47 307 8 + 47 308 8 + 47 309 8 + 47 310 8 + 47 311 8 + 47 312 8 + 47 313 8 + 47 314 8 + 47 315 8 + 47 316 8 + 47 317 8 + 47 318 8 + 47 319 8 + 47 320 8 + 47 321 8 + 47 322 8 + 47 323 8 + 47 324 8 + 47 325 8 + 47 326 8 + 47 327 8 + 47 328 8 + 47 329 8 + 47 330 8 + 47 331 8 + 47 332 8 + 47 333 8 + 47 334 8 + 47 335 8 + 47 336 8 + 47 337 8 + 47 338 8 + 47 339 8 + 47 340 8 + 47 341 8 + 47 342 8 + 47 343 8 + 47 344 8 + 47 345 8 + 47 346 8 + 47 347 8 + 47 348 8 + 47 349 8 + 48 49 8 + 48 50 8 + 48 51 8 + 48 52 8 + 48 53 8 + 48 54 8 + 48 55 8 + 48 56 8 + 48 57 8 + 48 58 8 + 48 59 8 + 48 60 8 + 48 61 8 + 48 62 8 + 48 63 8 + 48 64 8 + 48 65 8 + 48 66 8 + 48 67 8 + 48 68 8 + 48 69 8 + 48 70 8 + 48 71 8 + 48 72 8 + 48 73 8 + 48 74 8 + 48 75 8 + 48 76 8 + 48 77 8 + 48 78 8 + 48 79 8 + 48 80 8 + 48 81 8 + 48 82 8 + 48 83 8 + 48 84 8 + 48 85 8 + 48 86 8 + 48 87 8 + 48 88 8 + 48 89 8 + 48 90 8 + 48 91 8 + 48 92 8 + 48 93 8 + 48 94 8 + 48 95 8 + 48 96 8 + 48 97 8 + 48 98 8 + 48 99 8 + 48 100 8 + 48 101 8 + 48 102 8 + 48 103 8 + 48 104 8 + 48 105 8 + 48 106 8 + 48 107 8 + 48 108 8 + 48 109 8 + 48 110 8 + 48 111 8 + 48 112 8 + 48 113 8 + 48 114 8 + 48 115 8 + 48 116 8 + 48 117 8 + 48 118 8 + 48 119 8 + 48 120 8 + 48 121 8 + 48 122 8 + 48 123 8 + 48 124 8 + 48 125 8 + 48 126 8 + 48 127 8 + 48 128 8 + 48 129 8 + 48 130 8 + 48 131 8 + 48 132 8 + 48 133 8 + 48 134 8 + 48 135 8 + 48 136 8 + 48 137 8 + 48 138 8 + 48 139 8 + 48 140 8 + 48 141 8 + 48 142 8 + 48 143 8 + 48 144 8 + 48 145 8 + 48 146 8 + 48 147 8 + 48 148 8 + 48 149 8 + 48 150 8 + 48 151 8 + 48 152 8 + 48 153 8 + 48 154 8 + 48 155 8 + 48 156 8 + 48 157 8 + 48 158 8 + 48 159 8 + 48 160 8 + 48 161 8 + 48 162 8 + 48 163 8 + 48 164 8 + 48 165 8 + 48 166 8 + 48 167 8 + 48 168 8 + 48 169 8 + 48 170 8 + 48 171 8 + 48 172 8 + 48 173 8 + 48 174 8 + 48 175 8 + 48 176 8 + 48 177 8 + 48 178 8 + 48 179 8 + 48 180 8 + 48 181 8 + 48 182 8 + 48 183 8 + 48 184 8 + 48 185 8 + 48 186 8 + 48 187 8 + 48 188 8 + 48 189 8 + 48 190 8 + 48 191 8 + 48 192 8 + 48 193 8 + 48 194 8 + 48 195 8 + 48 196 8 + 48 197 8 + 48 198 8 + 48 199 8 + 48 200 8 + 48 201 8 + 48 202 8 + 48 203 8 + 48 204 8 + 48 205 8 + 48 206 8 + 48 207 8 + 48 208 8 + 48 209 8 + 48 210 8 + 48 211 8 + 48 212 8 + 48 213 8 + 48 214 8 + 48 215 8 + 48 216 8 + 48 217 8 + 48 218 8 + 48 219 8 + 48 220 8 + 48 221 8 + 48 222 8 + 48 223 8 + 48 224 8 + 48 225 8 + 48 226 8 + 48 227 8 + 48 228 8 + 48 229 8 + 48 230 8 + 48 231 8 + 48 232 8 + 48 233 8 + 48 234 8 + 48 235 8 + 48 236 8 + 48 237 8 + 48 238 8 + 48 239 8 + 48 240 8 + 48 241 8 + 48 242 8 + 48 243 8 + 48 244 8 + 48 245 8 + 48 246 8 + 48 247 8 + 48 248 8 + 48 249 8 + 48 250 8 + 48 251 8 + 48 252 8 + 48 253 8 + 48 254 8 + 48 255 8 + 48 256 8 + 48 257 8 + 48 258 8 + 48 259 8 + 48 260 8 + 48 261 8 + 48 262 8 + 48 263 8 + 48 264 8 + 48 265 8 + 48 266 8 + 48 267 8 + 48 268 8 + 48 269 8 + 48 270 8 + 48 271 8 + 48 272 8 + 48 273 8 + 48 274 8 + 48 275 8 + 48 276 8 + 48 277 8 + 48 278 8 + 48 279 8 + 48 280 8 + 48 281 8 + 48 282 8 + 48 283 8 + 48 284 8 + 48 285 8 + 48 286 8 + 48 287 8 + 48 288 8 + 48 289 8 + 48 290 8 + 48 291 8 + 48 292 8 + 48 293 8 + 48 294 8 + 48 295 8 + 48 296 8 + 48 297 8 + 48 298 8 + 48 299 8 + 48 300 8 + 48 301 8 + 48 302 8 + 48 303 8 + 48 304 8 + 48 305 8 + 48 306 8 + 48 307 8 + 48 308 8 + 48 309 8 + 48 310 8 + 48 311 8 + 48 312 8 + 48 313 8 + 48 314 8 + 48 315 8 + 48 316 8 + 48 317 8 + 48 318 8 + 48 319 8 + 48 320 8 + 48 321 8 + 48 322 8 + 48 323 8 + 48 324 8 + 48 325 8 + 48 326 8 + 48 327 8 + 48 328 8 + 48 329 8 + 48 330 8 + 48 331 8 + 48 332 8 + 48 333 8 + 48 334 8 + 48 335 8 + 48 336 8 + 48 337 8 + 48 338 8 + 48 339 8 + 48 340 8 + 48 341 8 + 48 342 8 + 48 343 8 + 48 344 8 + 48 345 8 + 48 346 8 + 48 347 8 + 48 348 8 + 48 349 8 + 49 50 8 + 49 51 8 + 49 52 8 + 49 53 8 + 49 54 8 + 49 55 8 + 49 56 8 + 49 57 8 + 49 58 8 + 49 59 8 + 49 60 8 + 49 61 8 + 49 62 8 + 49 63 8 + 49 64 8 + 49 65 8 + 49 66 8 + 49 67 8 + 49 68 8 + 49 69 8 + 49 70 8 + 49 71 8 + 49 72 8 + 49 73 8 + 49 74 8 + 49 75 8 + 49 76 8 + 49 77 8 + 49 78 8 + 49 79 8 + 49 80 8 + 49 81 8 + 49 82 8 + 49 83 8 + 49 84 8 + 49 85 8 + 49 86 8 + 49 87 8 + 49 88 8 + 49 89 8 + 49 90 8 + 49 91 8 + 49 92 8 + 49 93 8 + 49 94 8 + 49 95 8 + 49 96 8 + 49 97 8 + 49 98 8 + 49 99 8 + 49 100 8 + 49 101 8 + 49 102 8 + 49 103 8 + 49 104 8 + 49 105 8 + 49 106 8 + 49 107 8 + 49 108 8 + 49 109 8 + 49 110 8 + 49 111 8 + 49 112 8 + 49 113 8 + 49 114 8 + 49 115 8 + 49 116 8 + 49 117 8 + 49 118 8 + 49 119 8 + 49 120 8 + 49 121 8 + 49 122 8 + 49 123 8 + 49 124 8 + 49 125 8 + 49 126 8 + 49 127 8 + 49 128 8 + 49 129 8 + 49 130 8 + 49 131 8 + 49 132 8 + 49 133 8 + 49 134 8 + 49 135 8 + 49 136 8 + 49 137 8 + 49 138 8 + 49 139 8 + 49 140 8 + 49 141 8 + 49 142 8 + 49 143 8 + 49 144 8 + 49 145 8 + 49 146 8 + 49 147 8 + 49 148 8 + 49 149 8 + 49 150 8 + 49 151 8 + 49 152 8 + 49 153 8 + 49 154 8 + 49 155 8 + 49 156 8 + 49 157 8 + 49 158 8 + 49 159 8 + 49 160 8 + 49 161 8 + 49 162 8 + 49 163 8 + 49 164 8 + 49 165 8 + 49 166 8 + 49 167 8 + 49 168 8 + 49 169 8 + 49 170 8 + 49 171 8 + 49 172 8 + 49 173 8 + 49 174 8 + 49 175 8 + 49 176 8 + 49 177 8 + 49 178 8 + 49 179 8 + 49 180 8 + 49 181 8 + 49 182 8 + 49 183 8 + 49 184 8 + 49 185 8 + 49 186 8 + 49 187 8 + 49 188 8 + 49 189 8 + 49 190 8 + 49 191 8 + 49 192 8 + 49 193 8 + 49 194 8 + 49 195 8 + 49 196 8 + 49 197 8 + 49 198 8 + 49 199 8 + 49 200 8 + 49 201 8 + 49 202 8 + 49 203 8 + 49 204 8 + 49 205 8 + 49 206 8 + 49 207 8 + 49 208 8 + 49 209 8 + 49 210 8 + 49 211 8 + 49 212 8 + 49 213 8 + 49 214 8 + 49 215 8 + 49 216 8 + 49 217 8 + 49 218 8 + 49 219 8 + 49 220 8 + 49 221 8 + 49 222 8 + 49 223 8 + 49 224 8 + 49 225 8 + 49 226 8 + 49 227 8 + 49 228 8 + 49 229 8 + 49 230 8 + 49 231 8 + 49 232 8 + 49 233 8 + 49 234 8 + 49 235 8 + 49 236 8 + 49 237 8 + 49 238 8 + 49 239 8 + 49 240 8 + 49 241 8 + 49 242 8 + 49 243 8 + 49 244 8 + 49 245 8 + 49 246 8 + 49 247 8 + 49 248 8 + 49 249 8 + 49 250 8 + 49 251 8 + 49 252 8 + 49 253 8 + 49 254 8 + 49 255 8 + 49 256 8 + 49 257 8 + 49 258 8 + 49 259 8 + 49 260 8 + 49 261 8 + 49 262 8 + 49 263 8 + 49 264 8 + 49 265 8 + 49 266 8 + 49 267 8 + 49 268 8 + 49 269 8 + 49 270 8 + 49 271 8 + 49 272 8 + 49 273 8 + 49 274 8 + 49 275 8 + 49 276 8 + 49 277 8 + 49 278 8 + 49 279 8 + 49 280 8 + 49 281 8 + 49 282 8 + 49 283 8 + 49 284 8 + 49 285 8 + 49 286 8 + 49 287 8 + 49 288 8 + 49 289 8 + 49 290 8 + 49 291 8 + 49 292 8 + 49 293 8 + 49 294 8 + 49 295 8 + 49 296 8 + 49 297 8 + 49 298 8 + 49 299 8 + 49 300 8 + 49 301 8 + 49 302 8 + 49 303 8 + 49 304 8 + 49 305 8 + 49 306 8 + 49 307 8 + 49 308 8 + 49 309 8 + 49 310 8 + 49 311 8 + 49 312 8 + 49 313 8 + 49 314 8 + 49 315 8 + 49 316 8 + 49 317 8 + 49 318 8 + 49 319 8 + 49 320 8 + 49 321 8 + 49 322 8 + 49 323 8 + 49 324 8 + 49 325 8 + 49 326 8 + 49 327 8 + 49 328 8 + 49 329 8 + 49 330 8 + 49 331 8 + 49 332 8 + 49 333 8 + 49 334 8 + 49 335 8 + 49 336 8 + 49 337 8 + 49 338 8 + 49 339 8 + 49 340 8 + 49 341 8 + 49 342 8 + 49 343 8 + 49 344 8 + 49 345 8 + 49 346 8 + 49 347 8 + 49 348 8 + 49 349 8 + 50 51 8 + 50 52 8 + 50 53 8 + 50 54 8 + 50 55 8 + 50 56 8 + 50 57 8 + 50 58 8 + 50 59 8 + 50 60 8 + 50 61 8 + 50 62 8 + 50 63 8 + 50 64 8 + 50 65 8 + 50 66 8 + 50 67 8 + 50 68 8 + 50 69 8 + 50 70 8 + 50 71 8 + 50 72 8 + 50 73 8 + 50 74 8 + 50 75 8 + 50 76 8 + 50 77 8 + 50 78 8 + 50 79 8 + 50 80 8 + 50 81 8 + 50 82 8 + 50 83 8 + 50 84 8 + 50 85 8 + 50 86 8 + 50 87 8 + 50 88 8 + 50 89 8 + 50 90 8 + 50 91 8 + 50 92 8 + 50 93 8 + 50 94 8 + 50 95 8 + 50 96 8 + 50 97 8 + 50 98 8 + 50 99 8 + 50 100 8 + 50 101 8 + 50 102 8 + 50 103 8 + 50 104 8 + 50 105 8 + 50 106 8 + 50 107 8 + 50 108 8 + 50 109 8 + 50 110 8 + 50 111 8 + 50 112 8 + 50 113 8 + 50 114 8 + 50 115 8 + 50 116 8 + 50 117 8 + 50 118 8 + 50 119 8 + 50 120 8 + 50 121 8 + 50 122 8 + 50 123 8 + 50 124 8 + 50 125 8 + 50 126 8 + 50 127 8 + 50 128 8 + 50 129 8 + 50 130 8 + 50 131 8 + 50 132 8 + 50 133 8 + 50 134 8 + 50 135 8 + 50 136 8 + 50 137 8 + 50 138 8 + 50 139 8 + 50 140 8 + 50 141 8 + 50 142 8 + 50 143 8 + 50 144 8 + 50 145 8 + 50 146 8 + 50 147 8 + 50 148 8 + 50 149 8 + 50 150 8 + 50 151 8 + 50 152 8 + 50 153 8 + 50 154 8 + 50 155 8 + 50 156 8 + 50 157 8 + 50 158 8 + 50 159 8 + 50 160 8 + 50 161 8 + 50 162 8 + 50 163 8 + 50 164 8 + 50 165 8 + 50 166 8 + 50 167 8 + 50 168 8 + 50 169 8 + 50 170 8 + 50 171 8 + 50 172 8 + 50 173 8 + 50 174 8 + 50 175 8 + 50 176 8 + 50 177 8 + 50 178 8 + 50 179 8 + 50 180 8 + 50 181 8 + 50 182 8 + 50 183 8 + 50 184 8 + 50 185 8 + 50 186 8 + 50 187 8 + 50 188 8 + 50 189 8 + 50 190 8 + 50 191 8 + 50 192 8 + 50 193 8 + 50 194 8 + 50 195 8 + 50 196 8 + 50 197 8 + 50 198 8 + 50 199 8 + 50 200 8 + 50 201 8 + 50 202 8 + 50 203 8 + 50 204 8 + 50 205 8 + 50 206 8 + 50 207 8 + 50 208 8 + 50 209 8 + 50 210 8 + 50 211 8 + 50 212 8 + 50 213 8 + 50 214 8 + 50 215 8 + 50 216 8 + 50 217 8 + 50 218 8 + 50 219 8 + 50 220 8 + 50 221 8 + 50 222 8 + 50 223 8 + 50 224 8 + 50 225 8 + 50 226 8 + 50 227 8 + 50 228 8 + 50 229 8 + 50 230 8 + 50 231 8 + 50 232 8 + 50 233 8 + 50 234 8 + 50 235 8 + 50 236 8 + 50 237 8 + 50 238 8 + 50 239 8 + 50 240 8 + 50 241 8 + 50 242 8 + 50 243 8 + 50 244 8 + 50 245 8 + 50 246 8 + 50 247 8 + 50 248 8 + 50 249 8 + 50 250 8 + 50 251 8 + 50 252 8 + 50 253 8 + 50 254 8 + 50 255 8 + 50 256 8 + 50 257 8 + 50 258 8 + 50 259 8 + 50 260 8 + 50 261 8 + 50 262 8 + 50 263 8 + 50 264 8 + 50 265 8 + 50 266 8 + 50 267 8 + 50 268 8 + 50 269 8 + 50 270 8 + 50 271 8 + 50 272 8 + 50 273 8 + 50 274 8 + 50 275 8 + 50 276 8 + 50 277 8 + 50 278 8 + 50 279 8 + 50 280 8 + 50 281 8 + 50 282 8 + 50 283 8 + 50 284 8 + 50 285 8 + 50 286 8 + 50 287 8 + 50 288 8 + 50 289 8 + 50 290 8 + 50 291 8 + 50 292 8 + 50 293 8 + 50 294 8 + 50 295 8 + 50 296 8 + 50 297 8 + 50 298 8 + 50 299 8 + 50 300 8 + 50 301 8 + 50 302 8 + 50 303 8 + 50 304 8 + 50 305 8 + 50 306 8 + 50 307 8 + 50 308 8 + 50 309 8 + 50 310 8 + 50 311 8 + 50 312 8 + 50 313 8 + 50 314 8 + 50 315 8 + 50 316 8 + 50 317 8 + 50 318 8 + 50 319 8 + 50 320 8 + 50 321 8 + 50 322 8 + 50 323 8 + 50 324 8 + 50 325 8 + 50 326 8 + 50 327 8 + 50 328 8 + 50 329 8 + 50 330 8 + 50 331 8 + 50 332 8 + 50 333 8 + 50 334 8 + 50 335 8 + 50 336 8 + 50 337 8 + 50 338 8 + 50 339 8 + 50 340 8 + 50 341 8 + 50 342 8 + 50 343 8 + 50 344 8 + 50 345 8 + 50 346 8 + 50 347 8 + 50 348 8 + 50 349 8 + 51 52 8 + 51 53 8 + 51 54 8 + 51 55 8 + 51 56 8 + 51 57 8 + 51 58 8 + 51 59 8 + 51 60 8 + 51 61 8 + 51 62 8 + 51 63 8 + 51 64 8 + 51 65 8 + 51 66 8 + 51 67 8 + 51 68 8 + 51 69 8 + 51 70 8 + 51 71 8 + 51 72 8 + 51 73 8 + 51 74 8 + 51 75 8 + 51 76 8 + 51 77 8 + 51 78 8 + 51 79 8 + 51 80 8 + 51 81 8 + 51 82 8 + 51 83 8 + 51 84 8 + 51 85 8 + 51 86 8 + 51 87 8 + 51 88 8 + 51 89 8 + 51 90 8 + 51 91 8 + 51 92 8 + 51 93 8 + 51 94 8 + 51 95 8 + 51 96 8 + 51 97 8 + 51 98 8 + 51 99 8 + 51 100 8 + 51 101 8 + 51 102 8 + 51 103 8 + 51 104 8 + 51 105 8 + 51 106 8 + 51 107 8 + 51 108 8 + 51 109 8 + 51 110 8 + 51 111 8 + 51 112 8 + 51 113 8 + 51 114 8 + 51 115 8 + 51 116 8 + 51 117 8 + 51 118 8 + 51 119 8 + 51 120 8 + 51 121 8 + 51 122 8 + 51 123 8 + 51 124 8 + 51 125 8 + 51 126 8 + 51 127 8 + 51 128 8 + 51 129 8 + 51 130 8 + 51 131 8 + 51 132 8 + 51 133 8 + 51 134 8 + 51 135 8 + 51 136 8 + 51 137 8 + 51 138 8 + 51 139 8 + 51 140 8 + 51 141 8 + 51 142 8 + 51 143 8 + 51 144 8 + 51 145 8 + 51 146 8 + 51 147 8 + 51 148 8 + 51 149 8 + 51 150 8 + 51 151 8 + 51 152 8 + 51 153 8 + 51 154 8 + 51 155 8 + 51 156 8 + 51 157 8 + 51 158 8 + 51 159 8 + 51 160 8 + 51 161 8 + 51 162 8 + 51 163 8 + 51 164 8 + 51 165 8 + 51 166 8 + 51 167 8 + 51 168 8 + 51 169 8 + 51 170 8 + 51 171 8 + 51 172 8 + 51 173 8 + 51 174 8 + 51 175 8 + 51 176 8 + 51 177 8 + 51 178 8 + 51 179 8 + 51 180 8 + 51 181 8 + 51 182 8 + 51 183 8 + 51 184 8 + 51 185 8 + 51 186 8 + 51 187 8 + 51 188 8 + 51 189 8 + 51 190 8 + 51 191 8 + 51 192 8 + 51 193 8 + 51 194 8 + 51 195 8 + 51 196 8 + 51 197 8 + 51 198 8 + 51 199 8 + 51 200 8 + 51 201 8 + 51 202 8 + 51 203 8 + 51 204 8 + 51 205 8 + 51 206 8 + 51 207 8 + 51 208 8 + 51 209 8 + 51 210 8 + 51 211 8 + 51 212 8 + 51 213 8 + 51 214 8 + 51 215 8 + 51 216 8 + 51 217 8 + 51 218 8 + 51 219 8 + 51 220 8 + 51 221 8 + 51 222 8 + 51 223 8 + 51 224 8 + 51 225 8 + 51 226 8 + 51 227 8 + 51 228 8 + 51 229 8 + 51 230 8 + 51 231 8 + 51 232 8 + 51 233 8 + 51 234 8 + 51 235 8 + 51 236 8 + 51 237 8 + 51 238 8 + 51 239 8 + 51 240 8 + 51 241 8 + 51 242 8 + 51 243 8 + 51 244 8 + 51 245 8 + 51 246 8 + 51 247 8 + 51 248 8 + 51 249 8 + 51 250 8 + 51 251 8 + 51 252 8 + 51 253 8 + 51 254 8 + 51 255 8 + 51 256 8 + 51 257 8 + 51 258 8 + 51 259 8 + 51 260 8 + 51 261 8 + 51 262 8 + 51 263 8 + 51 264 8 + 51 265 8 + 51 266 8 + 51 267 8 + 51 268 8 + 51 269 8 + 51 270 8 + 51 271 8 + 51 272 8 + 51 273 8 + 51 274 8 + 51 275 8 + 51 276 8 + 51 277 8 + 51 278 8 + 51 279 8 + 51 280 8 + 51 281 8 + 51 282 8 + 51 283 8 + 51 284 8 + 51 285 8 + 51 286 8 + 51 287 8 + 51 288 8 + 51 289 8 + 51 290 8 + 51 291 8 + 51 292 8 + 51 293 8 + 51 294 8 + 51 295 8 + 51 296 8 + 51 297 8 + 51 298 8 + 51 299 8 + 51 300 8 + 51 301 8 + 51 302 8 + 51 303 8 + 51 304 8 + 51 305 8 + 51 306 8 + 51 307 8 + 51 308 8 + 51 309 8 + 51 310 8 + 51 311 8 + 51 312 8 + 51 313 8 + 51 314 8 + 51 315 8 + 51 316 8 + 51 317 8 + 51 318 8 + 51 319 8 + 51 320 8 + 51 321 8 + 51 322 8 + 51 323 8 + 51 324 8 + 51 325 8 + 51 326 8 + 51 327 8 + 51 328 8 + 51 329 8 + 51 330 8 + 51 331 8 + 51 332 8 + 51 333 8 + 51 334 8 + 51 335 8 + 51 336 8 + 51 337 8 + 51 338 8 + 51 339 8 + 51 340 8 + 51 341 8 + 51 342 8 + 51 343 8 + 51 344 8 + 51 345 8 + 51 346 8 + 51 347 8 + 51 348 8 + 51 349 8 + 52 53 8 + 52 54 8 + 52 55 8 + 52 56 8 + 52 57 8 + 52 58 8 + 52 59 8 + 52 60 8 + 52 61 8 + 52 62 8 + 52 63 8 + 52 64 8 + 52 65 8 + 52 66 8 + 52 67 8 + 52 68 8 + 52 69 8 + 52 70 8 + 52 71 8 + 52 72 8 + 52 73 8 + 52 74 8 + 52 75 8 + 52 76 8 + 52 77 8 + 52 78 8 + 52 79 8 + 52 80 8 + 52 81 8 + 52 82 8 + 52 83 8 + 52 84 8 + 52 85 8 + 52 86 8 + 52 87 8 + 52 88 8 + 52 89 8 + 52 90 8 + 52 91 8 + 52 92 8 + 52 93 8 + 52 94 8 + 52 95 8 + 52 96 8 + 52 97 8 + 52 98 8 + 52 99 8 + 52 100 8 + 52 101 8 + 52 102 8 + 52 103 8 + 52 104 8 + 52 105 8 + 52 106 8 + 52 107 8 + 52 108 8 + 52 109 8 + 52 110 8 + 52 111 8 + 52 112 8 + 52 113 8 + 52 114 8 + 52 115 8 + 52 116 8 + 52 117 8 + 52 118 8 + 52 119 8 + 52 120 8 + 52 121 8 + 52 122 8 + 52 123 8 + 52 124 8 + 52 125 8 + 52 126 8 + 52 127 8 + 52 128 8 + 52 129 8 + 52 130 8 + 52 131 8 + 52 132 8 + 52 133 8 + 52 134 8 + 52 135 8 + 52 136 8 + 52 137 8 + 52 138 8 + 52 139 8 + 52 140 8 + 52 141 8 + 52 142 8 + 52 143 8 + 52 144 8 + 52 145 8 + 52 146 8 + 52 147 8 + 52 148 8 + 52 149 8 + 52 150 8 + 52 151 8 + 52 152 8 + 52 153 8 + 52 154 8 + 52 155 8 + 52 156 8 + 52 157 8 + 52 158 8 + 52 159 8 + 52 160 8 + 52 161 8 + 52 162 8 + 52 163 8 + 52 164 8 + 52 165 8 + 52 166 8 + 52 167 8 + 52 168 8 + 52 169 8 + 52 170 8 + 52 171 8 + 52 172 8 + 52 173 8 + 52 174 8 + 52 175 8 + 52 176 8 + 52 177 8 + 52 178 8 + 52 179 8 + 52 180 8 + 52 181 8 + 52 182 8 + 52 183 8 + 52 184 8 + 52 185 8 + 52 186 8 + 52 187 8 + 52 188 8 + 52 189 8 + 52 190 8 + 52 191 8 + 52 192 8 + 52 193 8 + 52 194 8 + 52 195 8 + 52 196 8 + 52 197 8 + 52 198 8 + 52 199 8 + 52 200 8 + 52 201 8 + 52 202 8 + 52 203 8 + 52 204 8 + 52 205 8 + 52 206 8 + 52 207 8 + 52 208 8 + 52 209 8 + 52 210 8 + 52 211 8 + 52 212 8 + 52 213 8 + 52 214 8 + 52 215 8 + 52 216 8 + 52 217 8 + 52 218 8 + 52 219 8 + 52 220 8 + 52 221 8 + 52 222 8 + 52 223 8 + 52 224 8 + 52 225 8 + 52 226 8 + 52 227 8 + 52 228 8 + 52 229 8 + 52 230 8 + 52 231 8 + 52 232 8 + 52 233 8 + 52 234 8 + 52 235 8 + 52 236 8 + 52 237 8 + 52 238 8 + 52 239 8 + 52 240 8 + 52 241 8 + 52 242 8 + 52 243 8 + 52 244 8 + 52 245 8 + 52 246 8 + 52 247 8 + 52 248 8 + 52 249 8 + 52 250 8 + 52 251 8 + 52 252 8 + 52 253 8 + 52 254 8 + 52 255 8 + 52 256 8 + 52 257 8 + 52 258 8 + 52 259 8 + 52 260 8 + 52 261 8 + 52 262 8 + 52 263 8 + 52 264 8 + 52 265 8 + 52 266 8 + 52 267 8 + 52 268 8 + 52 269 8 + 52 270 8 + 52 271 8 + 52 272 8 + 52 273 8 + 52 274 8 + 52 275 8 + 52 276 8 + 52 277 8 + 52 278 8 + 52 279 8 + 52 280 8 + 52 281 8 + 52 282 8 + 52 283 8 + 52 284 8 + 52 285 8 + 52 286 8 + 52 287 8 + 52 288 8 + 52 289 8 + 52 290 8 + 52 291 8 + 52 292 8 + 52 293 8 + 52 294 8 + 52 295 8 + 52 296 8 + 52 297 8 + 52 298 8 + 52 299 8 + 52 300 8 + 52 301 8 + 52 302 8 + 52 303 8 + 52 304 8 + 52 305 8 + 52 306 8 + 52 307 8 + 52 308 8 + 52 309 8 + 52 310 8 + 52 311 8 + 52 312 8 + 52 313 8 + 52 314 8 + 52 315 8 + 52 316 8 + 52 317 8 + 52 318 8 + 52 319 8 + 52 320 8 + 52 321 8 + 52 322 8 + 52 323 8 + 52 324 8 + 52 325 8 + 52 326 8 + 52 327 8 + 52 328 8 + 52 329 8 + 52 330 8 + 52 331 8 + 52 332 8 + 52 333 8 + 52 334 8 + 52 335 8 + 52 336 8 + 52 337 8 + 52 338 8 + 52 339 8 + 52 340 8 + 52 341 8 + 52 342 8 + 52 343 8 + 52 344 8 + 52 345 8 + 52 346 8 + 52 347 8 + 52 348 8 + 52 349 8 + 53 54 8 + 53 55 8 + 53 56 8 + 53 57 8 + 53 58 8 + 53 59 8 + 53 60 8 + 53 61 8 + 53 62 8 + 53 63 8 + 53 64 8 + 53 65 8 + 53 66 8 + 53 67 8 + 53 68 8 + 53 69 8 + 53 70 8 + 53 71 8 + 53 72 8 + 53 73 8 + 53 74 8 + 53 75 8 + 53 76 8 + 53 77 8 + 53 78 8 + 53 79 8 + 53 80 8 + 53 81 8 + 53 82 8 + 53 83 8 + 53 84 8 + 53 85 8 + 53 86 8 + 53 87 8 + 53 88 8 + 53 89 8 + 53 90 8 + 53 91 8 + 53 92 8 + 53 93 8 + 53 94 8 + 53 95 8 + 53 96 8 + 53 97 8 + 53 98 8 + 53 99 8 + 53 100 8 + 53 101 8 + 53 102 8 + 53 103 8 + 53 104 8 + 53 105 8 + 53 106 8 + 53 107 8 + 53 108 8 + 53 109 8 + 53 110 8 + 53 111 8 + 53 112 8 + 53 113 8 + 53 114 8 + 53 115 8 + 53 116 8 + 53 117 8 + 53 118 8 + 53 119 8 + 53 120 8 + 53 121 8 + 53 122 8 + 53 123 8 + 53 124 8 + 53 125 8 + 53 126 8 + 53 127 8 + 53 128 8 + 53 129 8 + 53 130 8 + 53 131 8 + 53 132 8 + 53 133 8 + 53 134 8 + 53 135 8 + 53 136 8 + 53 137 8 + 53 138 8 + 53 139 8 + 53 140 8 + 53 141 8 + 53 142 8 + 53 143 8 + 53 144 8 + 53 145 8 + 53 146 8 + 53 147 8 + 53 148 8 + 53 149 8 + 53 150 8 + 53 151 8 + 53 152 8 + 53 153 8 + 53 154 8 + 53 155 8 + 53 156 8 + 53 157 8 + 53 158 8 + 53 159 8 + 53 160 8 + 53 161 8 + 53 162 8 + 53 163 8 + 53 164 8 + 53 165 8 + 53 166 8 + 53 167 8 + 53 168 8 + 53 169 8 + 53 170 8 + 53 171 8 + 53 172 8 + 53 173 8 + 53 174 8 + 53 175 8 + 53 176 8 + 53 177 8 + 53 178 8 + 53 179 8 + 53 180 8 + 53 181 8 + 53 182 8 + 53 183 8 + 53 184 8 + 53 185 8 + 53 186 8 + 53 187 8 + 53 188 8 + 53 189 8 + 53 190 8 + 53 191 8 + 53 192 8 + 53 193 8 + 53 194 8 + 53 195 8 + 53 196 8 + 53 197 8 + 53 198 8 + 53 199 8 + 53 200 8 + 53 201 8 + 53 202 8 + 53 203 8 + 53 204 8 + 53 205 8 + 53 206 8 + 53 207 8 + 53 208 8 + 53 209 8 + 53 210 8 + 53 211 8 + 53 212 8 + 53 213 8 + 53 214 8 + 53 215 8 + 53 216 8 + 53 217 8 + 53 218 8 + 53 219 8 + 53 220 8 + 53 221 8 + 53 222 8 + 53 223 8 + 53 224 8 + 53 225 8 + 53 226 8 + 53 227 8 + 53 228 8 + 53 229 8 + 53 230 8 + 53 231 8 + 53 232 8 + 53 233 8 + 53 234 8 + 53 235 8 + 53 236 8 + 53 237 8 + 53 238 8 + 53 239 8 + 53 240 8 + 53 241 8 + 53 242 8 + 53 243 8 + 53 244 8 + 53 245 8 + 53 246 8 + 53 247 8 + 53 248 8 + 53 249 8 + 53 250 8 + 53 251 8 + 53 252 8 + 53 253 8 + 53 254 8 + 53 255 8 + 53 256 8 + 53 257 8 + 53 258 8 + 53 259 8 + 53 260 8 + 53 261 8 + 53 262 8 + 53 263 8 + 53 264 8 + 53 265 8 + 53 266 8 + 53 267 8 + 53 268 8 + 53 269 8 + 53 270 8 + 53 271 8 + 53 272 8 + 53 273 8 + 53 274 8 + 53 275 8 + 53 276 8 + 53 277 8 + 53 278 8 + 53 279 8 + 53 280 8 + 53 281 8 + 53 282 8 + 53 283 8 + 53 284 8 + 53 285 8 + 53 286 8 + 53 287 8 + 53 288 8 + 53 289 8 + 53 290 8 + 53 291 8 + 53 292 8 + 53 293 8 + 53 294 8 + 53 295 8 + 53 296 8 + 53 297 8 + 53 298 8 + 53 299 8 + 53 300 8 + 53 301 8 + 53 302 8 + 53 303 8 + 53 304 8 + 53 305 8 + 53 306 8 + 53 307 8 + 53 308 8 + 53 309 8 + 53 310 8 + 53 311 8 + 53 312 8 + 53 313 8 + 53 314 8 + 53 315 8 + 53 316 8 + 53 317 8 + 53 318 8 + 53 319 8 + 53 320 8 + 53 321 8 + 53 322 8 + 53 323 8 + 53 324 8 + 53 325 8 + 53 326 8 + 53 327 8 + 53 328 8 + 53 329 8 + 53 330 8 + 53 331 8 + 53 332 8 + 53 333 8 + 53 334 8 + 53 335 8 + 53 336 8 + 53 337 8 + 53 338 8 + 53 339 8 + 53 340 8 + 53 341 8 + 53 342 8 + 53 343 8 + 53 344 8 + 53 345 8 + 53 346 8 + 53 347 8 + 53 348 8 + 53 349 8 + 54 55 8 + 54 56 8 + 54 57 8 + 54 58 8 + 54 59 8 + 54 60 8 + 54 61 8 + 54 62 8 + 54 63 8 + 54 64 8 + 54 65 8 + 54 66 8 + 54 67 8 + 54 68 8 + 54 69 8 + 54 70 8 + 54 71 8 + 54 72 8 + 54 73 8 + 54 74 8 + 54 75 8 + 54 76 8 + 54 77 8 + 54 78 8 + 54 79 8 + 54 80 8 + 54 81 8 + 54 82 8 + 54 83 8 + 54 84 8 + 54 85 8 + 54 86 8 + 54 87 8 + 54 88 8 + 54 89 8 + 54 90 8 + 54 91 8 + 54 92 8 + 54 93 8 + 54 94 8 + 54 95 8 + 54 96 8 + 54 97 8 + 54 98 8 + 54 99 8 + 54 100 8 + 54 101 8 + 54 102 8 + 54 103 8 + 54 104 8 + 54 105 8 + 54 106 8 + 54 107 8 + 54 108 8 + 54 109 8 + 54 110 8 + 54 111 8 + 54 112 8 + 54 113 8 + 54 114 8 + 54 115 8 + 54 116 8 + 54 117 8 + 54 118 8 + 54 119 8 + 54 120 8 + 54 121 8 + 54 122 8 + 54 123 8 + 54 124 8 + 54 125 8 + 54 126 8 + 54 127 8 + 54 128 8 + 54 129 8 + 54 130 8 + 54 131 8 + 54 132 8 + 54 133 8 + 54 134 8 + 54 135 8 + 54 136 8 + 54 137 8 + 54 138 8 + 54 139 8 + 54 140 8 + 54 141 8 + 54 142 8 + 54 143 8 + 54 144 8 + 54 145 8 + 54 146 8 + 54 147 8 + 54 148 8 + 54 149 8 + 54 150 8 + 54 151 8 + 54 152 8 + 54 153 8 + 54 154 8 + 54 155 8 + 54 156 8 + 54 157 8 + 54 158 8 + 54 159 8 + 54 160 8 + 54 161 8 + 54 162 8 + 54 163 8 + 54 164 8 + 54 165 8 + 54 166 8 + 54 167 8 + 54 168 8 + 54 169 8 + 54 170 8 + 54 171 8 + 54 172 8 + 54 173 8 + 54 174 8 + 54 175 8 + 54 176 8 + 54 177 8 + 54 178 8 + 54 179 8 + 54 180 8 + 54 181 8 + 54 182 8 + 54 183 8 + 54 184 8 + 54 185 8 + 54 186 8 + 54 187 8 + 54 188 8 + 54 189 8 + 54 190 8 + 54 191 8 + 54 192 8 + 54 193 8 + 54 194 8 + 54 195 8 + 54 196 8 + 54 197 8 + 54 198 8 + 54 199 8 + 54 200 8 + 54 201 8 + 54 202 8 + 54 203 8 + 54 204 8 + 54 205 8 + 54 206 8 + 54 207 8 + 54 208 8 + 54 209 8 + 54 210 8 + 54 211 8 + 54 212 8 + 54 213 8 + 54 214 8 + 54 215 8 + 54 216 8 + 54 217 8 + 54 218 8 + 54 219 8 + 54 220 8 + 54 221 8 + 54 222 8 + 54 223 8 + 54 224 8 + 54 225 8 + 54 226 8 + 54 227 8 + 54 228 8 + 54 229 8 + 54 230 8 + 54 231 8 + 54 232 8 + 54 233 8 + 54 234 8 + 54 235 8 + 54 236 8 + 54 237 8 + 54 238 8 + 54 239 8 + 54 240 8 + 54 241 8 + 54 242 8 + 54 243 8 + 54 244 8 + 54 245 8 + 54 246 8 + 54 247 8 + 54 248 8 + 54 249 8 + 54 250 8 + 54 251 8 + 54 252 8 + 54 253 8 + 54 254 8 + 54 255 8 + 54 256 8 + 54 257 8 + 54 258 8 + 54 259 8 + 54 260 8 + 54 261 8 + 54 262 8 + 54 263 8 + 54 264 8 + 54 265 8 + 54 266 8 + 54 267 8 + 54 268 8 + 54 269 8 + 54 270 8 + 54 271 8 + 54 272 8 + 54 273 8 + 54 274 8 + 54 275 8 + 54 276 8 + 54 277 8 + 54 278 8 + 54 279 8 + 54 280 8 + 54 281 8 + 54 282 8 + 54 283 8 + 54 284 8 + 54 285 8 + 54 286 8 + 54 287 8 + 54 288 8 + 54 289 8 + 54 290 8 + 54 291 8 + 54 292 8 + 54 293 8 + 54 294 8 + 54 295 8 + 54 296 8 + 54 297 8 + 54 298 8 + 54 299 8 + 54 300 8 + 54 301 8 + 54 302 8 + 54 303 8 + 54 304 8 + 54 305 8 + 54 306 8 + 54 307 8 + 54 308 8 + 54 309 8 + 54 310 8 + 54 311 8 + 54 312 8 + 54 313 8 + 54 314 8 + 54 315 8 + 54 316 8 + 54 317 8 + 54 318 8 + 54 319 8 + 54 320 8 + 54 321 8 + 54 322 8 + 54 323 8 + 54 324 8 + 54 325 8 + 54 326 8 + 54 327 8 + 54 328 8 + 54 329 8 + 54 330 8 + 54 331 8 + 54 332 8 + 54 333 8 + 54 334 8 + 54 335 8 + 54 336 8 + 54 337 8 + 54 338 8 + 54 339 8 + 54 340 8 + 54 341 8 + 54 342 8 + 54 343 8 + 54 344 8 + 54 345 8 + 54 346 8 + 54 347 8 + 54 348 8 + 54 349 8 + 55 56 8 + 55 57 8 + 55 58 8 + 55 59 8 + 55 60 8 + 55 61 8 + 55 62 8 + 55 63 8 + 55 64 8 + 55 65 8 + 55 66 8 + 55 67 8 + 55 68 8 + 55 69 8 + 55 70 8 + 55 71 8 + 55 72 8 + 55 73 8 + 55 74 8 + 55 75 8 + 55 76 8 + 55 77 8 + 55 78 8 + 55 79 8 + 55 80 8 + 55 81 8 + 55 82 8 + 55 83 8 + 55 84 8 + 55 85 8 + 55 86 8 + 55 87 8 + 55 88 8 + 55 89 8 + 55 90 8 + 55 91 8 + 55 92 8 + 55 93 8 + 55 94 8 + 55 95 8 + 55 96 8 + 55 97 8 + 55 98 8 + 55 99 8 + 55 100 8 + 55 101 8 + 55 102 8 + 55 103 8 + 55 104 8 + 55 105 8 + 55 106 8 + 55 107 8 + 55 108 8 + 55 109 8 + 55 110 8 + 55 111 8 + 55 112 8 + 55 113 8 + 55 114 8 + 55 115 8 + 55 116 8 + 55 117 8 + 55 118 8 + 55 119 8 + 55 120 8 + 55 121 8 + 55 122 8 + 55 123 8 + 55 124 8 + 55 125 8 + 55 126 8 + 55 127 8 + 55 128 8 + 55 129 8 + 55 130 8 + 55 131 8 + 55 132 8 + 55 133 8 + 55 134 8 + 55 135 8 + 55 136 8 + 55 137 8 + 55 138 8 + 55 139 8 + 55 140 8 + 55 141 8 + 55 142 8 + 55 143 8 + 55 144 8 + 55 145 8 + 55 146 8 + 55 147 8 + 55 148 8 + 55 149 8 + 55 150 8 + 55 151 8 + 55 152 8 + 55 153 8 + 55 154 8 + 55 155 8 + 55 156 8 + 55 157 8 + 55 158 8 + 55 159 8 + 55 160 8 + 55 161 8 + 55 162 8 + 55 163 8 + 55 164 8 + 55 165 8 + 55 166 8 + 55 167 8 + 55 168 8 + 55 169 8 + 55 170 8 + 55 171 8 + 55 172 8 + 55 173 8 + 55 174 8 + 55 175 8 + 55 176 8 + 55 177 8 + 55 178 8 + 55 179 8 + 55 180 8 + 55 181 8 + 55 182 8 + 55 183 8 + 55 184 8 + 55 185 8 + 55 186 8 + 55 187 8 + 55 188 8 + 55 189 8 + 55 190 8 + 55 191 8 + 55 192 8 + 55 193 8 + 55 194 8 + 55 195 8 + 55 196 8 + 55 197 8 + 55 198 8 + 55 199 8 + 55 200 8 + 55 201 8 + 55 202 8 + 55 203 8 + 55 204 8 + 55 205 8 + 55 206 8 + 55 207 8 + 55 208 8 + 55 209 8 + 55 210 8 + 55 211 8 + 55 212 8 + 55 213 8 + 55 214 8 + 55 215 8 + 55 216 8 + 55 217 8 + 55 218 8 + 55 219 8 + 55 220 8 + 55 221 8 + 55 222 8 + 55 223 8 + 55 224 8 + 55 225 8 + 55 226 8 + 55 227 8 + 55 228 8 + 55 229 8 + 55 230 8 + 55 231 8 + 55 232 8 + 55 233 8 + 55 234 8 + 55 235 8 + 55 236 8 + 55 237 8 + 55 238 8 + 55 239 8 + 55 240 8 + 55 241 8 + 55 242 8 + 55 243 8 + 55 244 8 + 55 245 8 + 55 246 8 + 55 247 8 + 55 248 8 + 55 249 8 + 55 250 8 + 55 251 8 + 55 252 8 + 55 253 8 + 55 254 8 + 55 255 8 + 55 256 8 + 55 257 8 + 55 258 8 + 55 259 8 + 55 260 8 + 55 261 8 + 55 262 8 + 55 263 8 + 55 264 8 + 55 265 8 + 55 266 8 + 55 267 8 + 55 268 8 + 55 269 8 + 55 270 8 + 55 271 8 + 55 272 8 + 55 273 8 + 55 274 8 + 55 275 8 + 55 276 8 + 55 277 8 + 55 278 8 + 55 279 8 + 55 280 8 + 55 281 8 + 55 282 8 + 55 283 8 + 55 284 8 + 55 285 8 + 55 286 8 + 55 287 8 + 55 288 8 + 55 289 8 + 55 290 8 + 55 291 8 + 55 292 8 + 55 293 8 + 55 294 8 + 55 295 8 + 55 296 8 + 55 297 8 + 55 298 8 + 55 299 8 + 55 300 8 + 55 301 8 + 55 302 8 + 55 303 8 + 55 304 8 + 55 305 8 + 55 306 8 + 55 307 8 + 55 308 8 + 55 309 8 + 55 310 8 + 55 311 8 + 55 312 8 + 55 313 8 + 55 314 8 + 55 315 8 + 55 316 8 + 55 317 8 + 55 318 8 + 55 319 8 + 55 320 8 + 55 321 8 + 55 322 8 + 55 323 8 + 55 324 8 + 55 325 8 + 55 326 8 + 55 327 8 + 55 328 8 + 55 329 8 + 55 330 8 + 55 331 8 + 55 332 8 + 55 333 8 + 55 334 8 + 55 335 8 + 55 336 8 + 55 337 8 + 55 338 8 + 55 339 8 + 55 340 8 + 55 341 8 + 55 342 8 + 55 343 8 + 55 344 8 + 55 345 8 + 55 346 8 + 55 347 8 + 55 348 8 + 55 349 8 + 56 57 8 + 56 58 8 + 56 59 8 + 56 60 8 + 56 61 8 + 56 62 8 + 56 63 8 + 56 64 8 + 56 65 8 + 56 66 8 + 56 67 8 + 56 68 8 + 56 69 8 + 56 70 8 + 56 71 8 + 56 72 8 + 56 73 8 + 56 74 8 + 56 75 8 + 56 76 8 + 56 77 8 + 56 78 8 + 56 79 8 + 56 80 8 + 56 81 8 + 56 82 8 + 56 83 8 + 56 84 8 + 56 85 8 + 56 86 8 + 56 87 8 + 56 88 8 + 56 89 8 + 56 90 8 + 56 91 8 + 56 92 8 + 56 93 8 + 56 94 8 + 56 95 8 + 56 96 8 + 56 97 8 + 56 98 8 + 56 99 8 + 56 100 8 + 56 101 8 + 56 102 8 + 56 103 8 + 56 104 8 + 56 105 8 + 56 106 8 + 56 107 8 + 56 108 8 + 56 109 8 + 56 110 8 + 56 111 8 + 56 112 8 + 56 113 8 + 56 114 8 + 56 115 8 + 56 116 8 + 56 117 8 + 56 118 8 + 56 119 8 + 56 120 8 + 56 121 8 + 56 122 8 + 56 123 8 + 56 124 8 + 56 125 8 + 56 126 8 + 56 127 8 + 56 128 8 + 56 129 8 + 56 130 8 + 56 131 8 + 56 132 8 + 56 133 8 + 56 134 8 + 56 135 8 + 56 136 8 + 56 137 8 + 56 138 8 + 56 139 8 + 56 140 8 + 56 141 8 + 56 142 8 + 56 143 8 + 56 144 8 + 56 145 8 + 56 146 8 + 56 147 8 + 56 148 8 + 56 149 8 + 56 150 8 + 56 151 8 + 56 152 8 + 56 153 8 + 56 154 8 + 56 155 8 + 56 156 8 + 56 157 8 + 56 158 8 + 56 159 8 + 56 160 8 + 56 161 8 + 56 162 8 + 56 163 8 + 56 164 8 + 56 165 8 + 56 166 8 + 56 167 8 + 56 168 8 + 56 169 8 + 56 170 8 + 56 171 8 + 56 172 8 + 56 173 8 + 56 174 8 + 56 175 8 + 56 176 8 + 56 177 8 + 56 178 8 + 56 179 8 + 56 180 8 + 56 181 8 + 56 182 8 + 56 183 8 + 56 184 8 + 56 185 8 + 56 186 8 + 56 187 8 + 56 188 8 + 56 189 8 + 56 190 8 + 56 191 8 + 56 192 8 + 56 193 8 + 56 194 8 + 56 195 8 + 56 196 8 + 56 197 8 + 56 198 8 + 56 199 8 + 56 200 8 + 56 201 8 + 56 202 8 + 56 203 8 + 56 204 8 + 56 205 8 + 56 206 8 + 56 207 8 + 56 208 8 + 56 209 8 + 56 210 8 + 56 211 8 + 56 212 8 + 56 213 8 + 56 214 8 + 56 215 8 + 56 216 8 + 56 217 8 + 56 218 8 + 56 219 8 + 56 220 8 + 56 221 8 + 56 222 8 + 56 223 8 + 56 224 8 + 56 225 8 + 56 226 8 + 56 227 8 + 56 228 8 + 56 229 8 + 56 230 8 + 56 231 8 + 56 232 8 + 56 233 8 + 56 234 8 + 56 235 8 + 56 236 8 + 56 237 8 + 56 238 8 + 56 239 8 + 56 240 8 + 56 241 8 + 56 242 8 + 56 243 8 + 56 244 8 + 56 245 8 + 56 246 8 + 56 247 8 + 56 248 8 + 56 249 8 + 56 250 8 + 56 251 8 + 56 252 8 + 56 253 8 + 56 254 8 + 56 255 8 + 56 256 8 + 56 257 8 + 56 258 8 + 56 259 8 + 56 260 8 + 56 261 8 + 56 262 8 + 56 263 8 + 56 264 8 + 56 265 8 + 56 266 8 + 56 267 8 + 56 268 8 + 56 269 8 + 56 270 8 + 56 271 8 + 56 272 8 + 56 273 8 + 56 274 8 + 56 275 8 + 56 276 8 + 56 277 8 + 56 278 8 + 56 279 8 + 56 280 8 + 56 281 8 + 56 282 8 + 56 283 8 + 56 284 8 + 56 285 8 + 56 286 8 + 56 287 8 + 56 288 8 + 56 289 8 + 56 290 8 + 56 291 8 + 56 292 8 + 56 293 8 + 56 294 8 + 56 295 8 + 56 296 8 + 56 297 8 + 56 298 8 + 56 299 8 + 56 300 8 + 56 301 8 + 56 302 8 + 56 303 8 + 56 304 8 + 56 305 8 + 56 306 8 + 56 307 8 + 56 308 8 + 56 309 8 + 56 310 8 + 56 311 8 + 56 312 8 + 56 313 8 + 56 314 8 + 56 315 8 + 56 316 8 + 56 317 8 + 56 318 8 + 56 319 8 + 56 320 8 + 56 321 8 + 56 322 8 + 56 323 8 + 56 324 8 + 56 325 8 + 56 326 8 + 56 327 8 + 56 328 8 + 56 329 8 + 56 330 8 + 56 331 8 + 56 332 8 + 56 333 8 + 56 334 8 + 56 335 8 + 56 336 8 + 56 337 8 + 56 338 8 + 56 339 8 + 56 340 8 + 56 341 8 + 56 342 8 + 56 343 8 + 56 344 8 + 56 345 8 + 56 346 8 + 56 347 8 + 56 348 8 + 56 349 8 + 57 58 8 + 57 59 8 + 57 60 8 + 57 61 8 + 57 62 8 + 57 63 8 + 57 64 8 + 57 65 8 + 57 66 8 + 57 67 8 + 57 68 8 + 57 69 8 + 57 70 8 + 57 71 8 + 57 72 8 + 57 73 8 + 57 74 8 + 57 75 8 + 57 76 8 + 57 77 8 + 57 78 8 + 57 79 8 + 57 80 8 + 57 81 8 + 57 82 8 + 57 83 8 + 57 84 8 + 57 85 8 + 57 86 8 + 57 87 8 + 57 88 8 + 57 89 8 + 57 90 8 + 57 91 8 + 57 92 8 + 57 93 8 + 57 94 8 + 57 95 8 + 57 96 8 + 57 97 8 + 57 98 8 + 57 99 8 + 57 100 8 + 57 101 8 + 57 102 8 + 57 103 8 + 57 104 8 + 57 105 8 + 57 106 8 + 57 107 8 + 57 108 8 + 57 109 8 + 57 110 8 + 57 111 8 + 57 112 8 + 57 113 8 + 57 114 8 + 57 115 8 + 57 116 8 + 57 117 8 + 57 118 8 + 57 119 8 + 57 120 8 + 57 121 8 + 57 122 8 + 57 123 8 + 57 124 8 + 57 125 8 + 57 126 8 + 57 127 8 + 57 128 8 + 57 129 8 + 57 130 8 + 57 131 8 + 57 132 8 + 57 133 8 + 57 134 8 + 57 135 8 + 57 136 8 + 57 137 8 + 57 138 8 + 57 139 8 + 57 140 8 + 57 141 8 + 57 142 8 + 57 143 8 + 57 144 8 + 57 145 8 + 57 146 8 + 57 147 8 + 57 148 8 + 57 149 8 + 57 150 8 + 57 151 8 + 57 152 8 + 57 153 8 + 57 154 8 + 57 155 8 + 57 156 8 + 57 157 8 + 57 158 8 + 57 159 8 + 57 160 8 + 57 161 8 + 57 162 8 + 57 163 8 + 57 164 8 + 57 165 8 + 57 166 8 + 57 167 8 + 57 168 8 + 57 169 8 + 57 170 8 + 57 171 8 + 57 172 8 + 57 173 8 + 57 174 8 + 57 175 8 + 57 176 8 + 57 177 8 + 57 178 8 + 57 179 8 + 57 180 8 + 57 181 8 + 57 182 8 + 57 183 8 + 57 184 8 + 57 185 8 + 57 186 8 + 57 187 8 + 57 188 8 + 57 189 8 + 57 190 8 + 57 191 8 + 57 192 8 + 57 193 8 + 57 194 8 + 57 195 8 + 57 196 8 + 57 197 8 + 57 198 8 + 57 199 8 + 57 200 8 + 57 201 8 + 57 202 8 + 57 203 8 + 57 204 8 + 57 205 8 + 57 206 8 + 57 207 8 + 57 208 8 + 57 209 8 + 57 210 8 + 57 211 8 + 57 212 8 + 57 213 8 + 57 214 8 + 57 215 8 + 57 216 8 + 57 217 8 + 57 218 8 + 57 219 8 + 57 220 8 + 57 221 8 + 57 222 8 + 57 223 8 + 57 224 8 + 57 225 8 + 57 226 8 + 57 227 8 + 57 228 8 + 57 229 8 + 57 230 8 + 57 231 8 + 57 232 8 + 57 233 8 + 57 234 8 + 57 235 8 + 57 236 8 + 57 237 8 + 57 238 8 + 57 239 8 + 57 240 8 + 57 241 8 + 57 242 8 + 57 243 8 + 57 244 8 + 57 245 8 + 57 246 8 + 57 247 8 + 57 248 8 + 57 249 8 + 57 250 8 + 57 251 8 + 57 252 8 + 57 253 8 + 57 254 8 + 57 255 8 + 57 256 8 + 57 257 8 + 57 258 8 + 57 259 8 + 57 260 8 + 57 261 8 + 57 262 8 + 57 263 8 + 57 264 8 + 57 265 8 + 57 266 8 + 57 267 8 + 57 268 8 + 57 269 8 + 57 270 8 + 57 271 8 + 57 272 8 + 57 273 8 + 57 274 8 + 57 275 8 + 57 276 8 + 57 277 8 + 57 278 8 + 57 279 8 + 57 280 8 + 57 281 8 + 57 282 8 + 57 283 8 + 57 284 8 + 57 285 8 + 57 286 8 + 57 287 8 + 57 288 8 + 57 289 8 + 57 290 8 + 57 291 8 + 57 292 8 + 57 293 8 + 57 294 8 + 57 295 8 + 57 296 8 + 57 297 8 + 57 298 8 + 57 299 8 + 57 300 8 + 57 301 8 + 57 302 8 + 57 303 8 + 57 304 8 + 57 305 8 + 57 306 8 + 57 307 8 + 57 308 8 + 57 309 8 + 57 310 8 + 57 311 8 + 57 312 8 + 57 313 8 + 57 314 8 + 57 315 8 + 57 316 8 + 57 317 8 + 57 318 8 + 57 319 8 + 57 320 8 + 57 321 8 + 57 322 8 + 57 323 8 + 57 324 8 + 57 325 8 + 57 326 8 + 57 327 8 + 57 328 8 + 57 329 8 + 57 330 8 + 57 331 8 + 57 332 8 + 57 333 8 + 57 334 8 + 57 335 8 + 57 336 8 + 57 337 8 + 57 338 8 + 57 339 8 + 57 340 8 + 57 341 8 + 57 342 8 + 57 343 8 + 57 344 8 + 57 345 8 + 57 346 8 + 57 347 8 + 57 348 8 + 57 349 8 + 58 59 8 + 58 60 8 + 58 61 8 + 58 62 8 + 58 63 8 + 58 64 8 + 58 65 8 + 58 66 8 + 58 67 8 + 58 68 8 + 58 69 8 + 58 70 8 + 58 71 8 + 58 72 8 + 58 73 8 + 58 74 8 + 58 75 8 + 58 76 8 + 58 77 8 + 58 78 8 + 58 79 8 + 58 80 8 + 58 81 8 + 58 82 8 + 58 83 8 + 58 84 8 + 58 85 8 + 58 86 8 + 58 87 8 + 58 88 8 + 58 89 8 + 58 90 8 + 58 91 8 + 58 92 8 + 58 93 8 + 58 94 8 + 58 95 8 + 58 96 8 + 58 97 8 + 58 98 8 + 58 99 8 + 58 100 8 + 58 101 8 + 58 102 8 + 58 103 8 + 58 104 8 + 58 105 8 + 58 106 8 + 58 107 8 + 58 108 8 + 58 109 8 + 58 110 8 + 58 111 8 + 58 112 8 + 58 113 8 + 58 114 8 + 58 115 8 + 58 116 8 + 58 117 8 + 58 118 8 + 58 119 8 + 58 120 8 + 58 121 8 + 58 122 8 + 58 123 8 + 58 124 8 + 58 125 8 + 58 126 8 + 58 127 8 + 58 128 8 + 58 129 8 + 58 130 8 + 58 131 8 + 58 132 8 + 58 133 8 + 58 134 8 + 58 135 8 + 58 136 8 + 58 137 8 + 58 138 8 + 58 139 8 + 58 140 8 + 58 141 8 + 58 142 8 + 58 143 8 + 58 144 8 + 58 145 8 + 58 146 8 + 58 147 8 + 58 148 8 + 58 149 8 + 58 150 8 + 58 151 8 + 58 152 8 + 58 153 8 + 58 154 8 + 58 155 8 + 58 156 8 + 58 157 8 + 58 158 8 + 58 159 8 + 58 160 8 + 58 161 8 + 58 162 8 + 58 163 8 + 58 164 8 + 58 165 8 + 58 166 8 + 58 167 8 + 58 168 8 + 58 169 8 + 58 170 8 + 58 171 8 + 58 172 8 + 58 173 8 + 58 174 8 + 58 175 8 + 58 176 8 + 58 177 8 + 58 178 8 + 58 179 8 + 58 180 8 + 58 181 8 + 58 182 8 + 58 183 8 + 58 184 8 + 58 185 8 + 58 186 8 + 58 187 8 + 58 188 8 + 58 189 8 + 58 190 8 + 58 191 8 + 58 192 8 + 58 193 8 + 58 194 8 + 58 195 8 + 58 196 8 + 58 197 8 + 58 198 8 + 58 199 8 + 58 200 8 + 58 201 8 + 58 202 8 + 58 203 8 + 58 204 8 + 58 205 8 + 58 206 8 + 58 207 8 + 58 208 8 + 58 209 8 + 58 210 8 + 58 211 8 + 58 212 8 + 58 213 8 + 58 214 8 + 58 215 8 + 58 216 8 + 58 217 8 + 58 218 8 + 58 219 8 + 58 220 8 + 58 221 8 + 58 222 8 + 58 223 8 + 58 224 8 + 58 225 8 + 58 226 8 + 58 227 8 + 58 228 8 + 58 229 8 + 58 230 8 + 58 231 8 + 58 232 8 + 58 233 8 + 58 234 8 + 58 235 8 + 58 236 8 + 58 237 8 + 58 238 8 + 58 239 8 + 58 240 8 + 58 241 8 + 58 242 8 + 58 243 8 + 58 244 8 + 58 245 8 + 58 246 8 + 58 247 8 + 58 248 8 + 58 249 8 + 58 250 8 + 58 251 8 + 58 252 8 + 58 253 8 + 58 254 8 + 58 255 8 + 58 256 8 + 58 257 8 + 58 258 8 + 58 259 8 + 58 260 8 + 58 261 8 + 58 262 8 + 58 263 8 + 58 264 8 + 58 265 8 + 58 266 8 + 58 267 8 + 58 268 8 + 58 269 8 + 58 270 8 + 58 271 8 + 58 272 8 + 58 273 8 + 58 274 8 + 58 275 8 + 58 276 8 + 58 277 8 + 58 278 8 + 58 279 8 + 58 280 8 + 58 281 8 + 58 282 8 + 58 283 8 + 58 284 8 + 58 285 8 + 58 286 8 + 58 287 8 + 58 288 8 + 58 289 8 + 58 290 8 + 58 291 8 + 58 292 8 + 58 293 8 + 58 294 8 + 58 295 8 + 58 296 8 + 58 297 8 + 58 298 8 + 58 299 8 + 58 300 8 + 58 301 8 + 58 302 8 + 58 303 8 + 58 304 8 + 58 305 8 + 58 306 8 + 58 307 8 + 58 308 8 + 58 309 8 + 58 310 8 + 58 311 8 + 58 312 8 + 58 313 8 + 58 314 8 + 58 315 8 + 58 316 8 + 58 317 8 + 58 318 8 + 58 319 8 + 58 320 8 + 58 321 8 + 58 322 8 + 58 323 8 + 58 324 8 + 58 325 8 + 58 326 8 + 58 327 8 + 58 328 8 + 58 329 8 + 58 330 8 + 58 331 8 + 58 332 8 + 58 333 8 + 58 334 8 + 58 335 8 + 58 336 8 + 58 337 8 + 58 338 8 + 58 339 8 + 58 340 8 + 58 341 8 + 58 342 8 + 58 343 8 + 58 344 8 + 58 345 8 + 58 346 8 + 58 347 8 + 58 348 8 + 58 349 8 + 59 60 8 + 59 61 8 + 59 62 8 + 59 63 8 + 59 64 8 + 59 65 8 + 59 66 8 + 59 67 8 + 59 68 8 + 59 69 8 + 59 70 8 + 59 71 8 + 59 72 8 + 59 73 8 + 59 74 8 + 59 75 8 + 59 76 8 + 59 77 8 + 59 78 8 + 59 79 8 + 59 80 8 + 59 81 8 + 59 82 8 + 59 83 8 + 59 84 8 + 59 85 8 + 59 86 8 + 59 87 8 + 59 88 8 + 59 89 8 + 59 90 8 + 59 91 8 + 59 92 8 + 59 93 8 + 59 94 8 + 59 95 8 + 59 96 8 + 59 97 8 + 59 98 8 + 59 99 8 + 59 100 8 + 59 101 8 + 59 102 8 + 59 103 8 + 59 104 8 + 59 105 8 + 59 106 8 + 59 107 8 + 59 108 8 + 59 109 8 + 59 110 8 + 59 111 8 + 59 112 8 + 59 113 8 + 59 114 8 + 59 115 8 + 59 116 8 + 59 117 8 + 59 118 8 + 59 119 8 + 59 120 8 + 59 121 8 + 59 122 8 + 59 123 8 + 59 124 8 + 59 125 8 + 59 126 8 + 59 127 8 + 59 128 8 + 59 129 8 + 59 130 8 + 59 131 8 + 59 132 8 + 59 133 8 + 59 134 8 + 59 135 8 + 59 136 8 + 59 137 8 + 59 138 8 + 59 139 8 + 59 140 8 + 59 141 8 + 59 142 8 + 59 143 8 + 59 144 8 + 59 145 8 + 59 146 8 + 59 147 8 + 59 148 8 + 59 149 8 + 59 150 8 + 59 151 8 + 59 152 8 + 59 153 8 + 59 154 8 + 59 155 8 + 59 156 8 + 59 157 8 + 59 158 8 + 59 159 8 + 59 160 8 + 59 161 8 + 59 162 8 + 59 163 8 + 59 164 8 + 59 165 8 + 59 166 8 + 59 167 8 + 59 168 8 + 59 169 8 + 59 170 8 + 59 171 8 + 59 172 8 + 59 173 8 + 59 174 8 + 59 175 8 + 59 176 8 + 59 177 8 + 59 178 8 + 59 179 8 + 59 180 8 + 59 181 8 + 59 182 8 + 59 183 8 + 59 184 8 + 59 185 8 + 59 186 8 + 59 187 8 + 59 188 8 + 59 189 8 + 59 190 8 + 59 191 8 + 59 192 8 + 59 193 8 + 59 194 8 + 59 195 8 + 59 196 8 + 59 197 8 + 59 198 8 + 59 199 8 + 59 200 8 + 59 201 8 + 59 202 8 + 59 203 8 + 59 204 8 + 59 205 8 + 59 206 8 + 59 207 8 + 59 208 8 + 59 209 8 + 59 210 8 + 59 211 8 + 59 212 8 + 59 213 8 + 59 214 8 + 59 215 8 + 59 216 8 + 59 217 8 + 59 218 8 + 59 219 8 + 59 220 8 + 59 221 8 + 59 222 8 + 59 223 8 + 59 224 8 + 59 225 8 + 59 226 8 + 59 227 8 + 59 228 8 + 59 229 8 + 59 230 8 + 59 231 8 + 59 232 8 + 59 233 8 + 59 234 8 + 59 235 8 + 59 236 8 + 59 237 8 + 59 238 8 + 59 239 8 + 59 240 8 + 59 241 8 + 59 242 8 + 59 243 8 + 59 244 8 + 59 245 8 + 59 246 8 + 59 247 8 + 59 248 8 + 59 249 8 + 59 250 8 + 59 251 8 + 59 252 8 + 59 253 8 + 59 254 8 + 59 255 8 + 59 256 8 + 59 257 8 + 59 258 8 + 59 259 8 + 59 260 8 + 59 261 8 + 59 262 8 + 59 263 8 + 59 264 8 + 59 265 8 + 59 266 8 + 59 267 8 + 59 268 8 + 59 269 8 + 59 270 8 + 59 271 8 + 59 272 8 + 59 273 8 + 59 274 8 + 59 275 8 + 59 276 8 + 59 277 8 + 59 278 8 + 59 279 8 + 59 280 8 + 59 281 8 + 59 282 8 + 59 283 8 + 59 284 8 + 59 285 8 + 59 286 8 + 59 287 8 + 59 288 8 + 59 289 8 + 59 290 8 + 59 291 8 + 59 292 8 + 59 293 8 + 59 294 8 + 59 295 8 + 59 296 8 + 59 297 8 + 59 298 8 + 59 299 8 + 59 300 8 + 59 301 8 + 59 302 8 + 59 303 8 + 59 304 8 + 59 305 8 + 59 306 8 + 59 307 8 + 59 308 8 + 59 309 8 + 59 310 8 + 59 311 8 + 59 312 8 + 59 313 8 + 59 314 8 + 59 315 8 + 59 316 8 + 59 317 8 + 59 318 8 + 59 319 8 + 59 320 8 + 59 321 8 + 59 322 8 + 59 323 8 + 59 324 8 + 59 325 8 + 59 326 8 + 59 327 8 + 59 328 8 + 59 329 8 + 59 330 8 + 59 331 8 + 59 332 8 + 59 333 8 + 59 334 8 + 59 335 8 + 59 336 8 + 59 337 8 + 59 338 8 + 59 339 8 + 59 340 8 + 59 341 8 + 59 342 8 + 59 343 8 + 59 344 8 + 59 345 8 + 59 346 8 + 59 347 8 + 59 348 8 + 59 349 8 + 60 61 8 + 60 62 8 + 60 63 8 + 60 64 8 + 60 65 8 + 60 66 8 + 60 67 8 + 60 68 8 + 60 69 8 + 60 70 8 + 60 71 8 + 60 72 8 + 60 73 8 + 60 74 8 + 60 75 8 + 60 76 8 + 60 77 8 + 60 78 8 + 60 79 8 + 60 80 8 + 60 81 8 + 60 82 8 + 60 83 8 + 60 84 8 + 60 85 8 + 60 86 8 + 60 87 8 + 60 88 8 + 60 89 8 + 60 90 8 + 60 91 8 + 60 92 8 + 60 93 8 + 60 94 8 + 60 95 8 + 60 96 8 + 60 97 8 + 60 98 8 + 60 99 8 + 60 100 8 + 60 101 8 + 60 102 8 + 60 103 8 + 60 104 8 + 60 105 8 + 60 106 8 + 60 107 8 + 60 108 8 + 60 109 8 + 60 110 8 + 60 111 8 + 60 112 8 + 60 113 8 + 60 114 8 + 60 115 8 + 60 116 8 + 60 117 8 + 60 118 8 + 60 119 8 + 60 120 8 + 60 121 8 + 60 122 8 + 60 123 8 + 60 124 8 + 60 125 8 + 60 126 8 + 60 127 8 + 60 128 8 + 60 129 8 + 60 130 8 + 60 131 8 + 60 132 8 + 60 133 8 + 60 134 8 + 60 135 8 + 60 136 8 + 60 137 8 + 60 138 8 + 60 139 8 + 60 140 8 + 60 141 8 + 60 142 8 + 60 143 8 + 60 144 8 + 60 145 8 + 60 146 8 + 60 147 8 + 60 148 8 + 60 149 8 + 60 150 8 + 60 151 8 + 60 152 8 + 60 153 8 + 60 154 8 + 60 155 8 + 60 156 8 + 60 157 8 + 60 158 8 + 60 159 8 + 60 160 8 + 60 161 8 + 60 162 8 + 60 163 8 + 60 164 8 + 60 165 8 + 60 166 8 + 60 167 8 + 60 168 8 + 60 169 8 + 60 170 8 + 60 171 8 + 60 172 8 + 60 173 8 + 60 174 8 + 60 175 8 + 60 176 8 + 60 177 8 + 60 178 8 + 60 179 8 + 60 180 8 + 60 181 8 + 60 182 8 + 60 183 8 + 60 184 8 + 60 185 8 + 60 186 8 + 60 187 8 + 60 188 8 + 60 189 8 + 60 190 8 + 60 191 8 + 60 192 8 + 60 193 8 + 60 194 8 + 60 195 8 + 60 196 8 + 60 197 8 + 60 198 8 + 60 199 8 + 60 200 8 + 60 201 8 + 60 202 8 + 60 203 8 + 60 204 8 + 60 205 8 + 60 206 8 + 60 207 8 + 60 208 8 + 60 209 8 + 60 210 8 + 60 211 8 + 60 212 8 + 60 213 8 + 60 214 8 + 60 215 8 + 60 216 8 + 60 217 8 + 60 218 8 + 60 219 8 + 60 220 8 + 60 221 8 + 60 222 8 + 60 223 8 + 60 224 8 + 60 225 8 + 60 226 8 + 60 227 8 + 60 228 8 + 60 229 8 + 60 230 8 + 60 231 8 + 60 232 8 + 60 233 8 + 60 234 8 + 60 235 8 + 60 236 8 + 60 237 8 + 60 238 8 + 60 239 8 + 60 240 8 + 60 241 8 + 60 242 8 + 60 243 8 + 60 244 8 + 60 245 8 + 60 246 8 + 60 247 8 + 60 248 8 + 60 249 8 + 60 250 8 + 60 251 8 + 60 252 8 + 60 253 8 + 60 254 8 + 60 255 8 + 60 256 8 + 60 257 8 + 60 258 8 + 60 259 8 + 60 260 8 + 60 261 8 + 60 262 8 + 60 263 8 + 60 264 8 + 60 265 8 + 60 266 8 + 60 267 8 + 60 268 8 + 60 269 8 + 60 270 8 + 60 271 8 + 60 272 8 + 60 273 8 + 60 274 8 + 60 275 8 + 60 276 8 + 60 277 8 + 60 278 8 + 60 279 8 + 60 280 8 + 60 281 8 + 60 282 8 + 60 283 8 + 60 284 8 + 60 285 8 + 60 286 8 + 60 287 8 + 60 288 8 + 60 289 8 + 60 290 8 + 60 291 8 + 60 292 8 + 60 293 8 + 60 294 8 + 60 295 8 + 60 296 8 + 60 297 8 + 60 298 8 + 60 299 8 + 60 300 8 + 60 301 8 + 60 302 8 + 60 303 8 + 60 304 8 + 60 305 8 + 60 306 8 + 60 307 8 + 60 308 8 + 60 309 8 + 60 310 8 + 60 311 8 + 60 312 8 + 60 313 8 + 60 314 8 + 60 315 8 + 60 316 8 + 60 317 8 + 60 318 8 + 60 319 8 + 60 320 8 + 60 321 8 + 60 322 8 + 60 323 8 + 60 324 8 + 60 325 8 + 60 326 8 + 60 327 8 + 60 328 8 + 60 329 8 + 60 330 8 + 60 331 8 + 60 332 8 + 60 333 8 + 60 334 8 + 60 335 8 + 60 336 8 + 60 337 8 + 60 338 8 + 60 339 8 + 60 340 8 + 60 341 8 + 60 342 8 + 60 343 8 + 60 344 8 + 60 345 8 + 60 346 8 + 60 347 8 + 60 348 8 + 60 349 8 + 61 62 8 + 61 63 8 + 61 64 8 + 61 65 8 + 61 66 8 + 61 67 8 + 61 68 8 + 61 69 8 + 61 70 8 + 61 71 8 + 61 72 8 + 61 73 8 + 61 74 8 + 61 75 8 + 61 76 8 + 61 77 8 + 61 78 8 + 61 79 8 + 61 80 8 + 61 81 8 + 61 82 8 + 61 83 8 + 61 84 8 + 61 85 8 + 61 86 8 + 61 87 8 + 61 88 8 + 61 89 8 + 61 90 8 + 61 91 8 + 61 92 8 + 61 93 8 + 61 94 8 + 61 95 8 + 61 96 8 + 61 97 8 + 61 98 8 + 61 99 8 + 61 100 8 + 61 101 8 + 61 102 8 + 61 103 8 + 61 104 8 + 61 105 8 + 61 106 8 + 61 107 8 + 61 108 8 + 61 109 8 + 61 110 8 + 61 111 8 + 61 112 8 + 61 113 8 + 61 114 8 + 61 115 8 + 61 116 8 + 61 117 8 + 61 118 8 + 61 119 8 + 61 120 8 + 61 121 8 + 61 122 8 + 61 123 8 + 61 124 8 + 61 125 8 + 61 126 8 + 61 127 8 + 61 128 8 + 61 129 8 + 61 130 8 + 61 131 8 + 61 132 8 + 61 133 8 + 61 134 8 + 61 135 8 + 61 136 8 + 61 137 8 + 61 138 8 + 61 139 8 + 61 140 8 + 61 141 8 + 61 142 8 + 61 143 8 + 61 144 8 + 61 145 8 + 61 146 8 + 61 147 8 + 61 148 8 + 61 149 8 + 61 150 8 + 61 151 8 + 61 152 8 + 61 153 8 + 61 154 8 + 61 155 8 + 61 156 8 + 61 157 8 + 61 158 8 + 61 159 8 + 61 160 8 + 61 161 8 + 61 162 8 + 61 163 8 + 61 164 8 + 61 165 8 + 61 166 8 + 61 167 8 + 61 168 8 + 61 169 8 + 61 170 8 + 61 171 8 + 61 172 8 + 61 173 8 + 61 174 8 + 61 175 8 + 61 176 8 + 61 177 8 + 61 178 8 + 61 179 8 + 61 180 8 + 61 181 8 + 61 182 8 + 61 183 8 + 61 184 8 + 61 185 8 + 61 186 8 + 61 187 8 + 61 188 8 + 61 189 8 + 61 190 8 + 61 191 8 + 61 192 8 + 61 193 8 + 61 194 8 + 61 195 8 + 61 196 8 + 61 197 8 + 61 198 8 + 61 199 8 + 61 200 8 + 61 201 8 + 61 202 8 + 61 203 8 + 61 204 8 + 61 205 8 + 61 206 8 + 61 207 8 + 61 208 8 + 61 209 8 + 61 210 8 + 61 211 8 + 61 212 8 + 61 213 8 + 61 214 8 + 61 215 8 + 61 216 8 + 61 217 8 + 61 218 8 + 61 219 8 + 61 220 8 + 61 221 8 + 61 222 8 + 61 223 8 + 61 224 8 + 61 225 8 + 61 226 8 + 61 227 8 + 61 228 8 + 61 229 8 + 61 230 8 + 61 231 8 + 61 232 8 + 61 233 8 + 61 234 8 + 61 235 8 + 61 236 8 + 61 237 8 + 61 238 8 + 61 239 8 + 61 240 8 + 61 241 8 + 61 242 8 + 61 243 8 + 61 244 8 + 61 245 8 + 61 246 8 + 61 247 8 + 61 248 8 + 61 249 8 + 61 250 8 + 61 251 8 + 61 252 8 + 61 253 8 + 61 254 8 + 61 255 8 + 61 256 8 + 61 257 8 + 61 258 8 + 61 259 8 + 61 260 8 + 61 261 8 + 61 262 8 + 61 263 8 + 61 264 8 + 61 265 8 + 61 266 8 + 61 267 8 + 61 268 8 + 61 269 8 + 61 270 8 + 61 271 8 + 61 272 8 + 61 273 8 + 61 274 8 + 61 275 8 + 61 276 8 + 61 277 8 + 61 278 8 + 61 279 8 + 61 280 8 + 61 281 8 + 61 282 8 + 61 283 8 + 61 284 8 + 61 285 8 + 61 286 8 + 61 287 8 + 61 288 8 + 61 289 8 + 61 290 8 + 61 291 8 + 61 292 8 + 61 293 8 + 61 294 8 + 61 295 8 + 61 296 8 + 61 297 8 + 61 298 8 + 61 299 8 + 61 300 8 + 61 301 8 + 61 302 8 + 61 303 8 + 61 304 8 + 61 305 8 + 61 306 8 + 61 307 8 + 61 308 8 + 61 309 8 + 61 310 8 + 61 311 8 + 61 312 8 + 61 313 8 + 61 314 8 + 61 315 8 + 61 316 8 + 61 317 8 + 61 318 8 + 61 319 8 + 61 320 8 + 61 321 8 + 61 322 8 + 61 323 8 + 61 324 8 + 61 325 8 + 61 326 8 + 61 327 8 + 61 328 8 + 61 329 8 + 61 330 8 + 61 331 8 + 61 332 8 + 61 333 8 + 61 334 8 + 61 335 8 + 61 336 8 + 61 337 8 + 61 338 8 + 61 339 8 + 61 340 8 + 61 341 8 + 61 342 8 + 61 343 8 + 61 344 8 + 61 345 8 + 61 346 8 + 61 347 8 + 61 348 8 + 61 349 8 + 62 63 8 + 62 64 8 + 62 65 8 + 62 66 8 + 62 67 8 + 62 68 8 + 62 69 8 + 62 70 8 + 62 71 8 + 62 72 8 + 62 73 8 + 62 74 8 + 62 75 8 + 62 76 8 + 62 77 8 + 62 78 8 + 62 79 8 + 62 80 8 + 62 81 8 + 62 82 8 + 62 83 8 + 62 84 8 + 62 85 8 + 62 86 8 + 62 87 8 + 62 88 8 + 62 89 8 + 62 90 8 + 62 91 8 + 62 92 8 + 62 93 8 + 62 94 8 + 62 95 8 + 62 96 8 + 62 97 8 + 62 98 8 + 62 99 8 + 62 100 8 + 62 101 8 + 62 102 8 + 62 103 8 + 62 104 8 + 62 105 8 + 62 106 8 + 62 107 8 + 62 108 8 + 62 109 8 + 62 110 8 + 62 111 8 + 62 112 8 + 62 113 8 + 62 114 8 + 62 115 8 + 62 116 8 + 62 117 8 + 62 118 8 + 62 119 8 + 62 120 8 + 62 121 8 + 62 122 8 + 62 123 8 + 62 124 8 + 62 125 8 + 62 126 8 + 62 127 8 + 62 128 8 + 62 129 8 + 62 130 8 + 62 131 8 + 62 132 8 + 62 133 8 + 62 134 8 + 62 135 8 + 62 136 8 + 62 137 8 + 62 138 8 + 62 139 8 + 62 140 8 + 62 141 8 + 62 142 8 + 62 143 8 + 62 144 8 + 62 145 8 + 62 146 8 + 62 147 8 + 62 148 8 + 62 149 8 + 62 150 8 + 62 151 8 + 62 152 8 + 62 153 8 + 62 154 8 + 62 155 8 + 62 156 8 + 62 157 8 + 62 158 8 + 62 159 8 + 62 160 8 + 62 161 8 + 62 162 8 + 62 163 8 + 62 164 8 + 62 165 8 + 62 166 8 + 62 167 8 + 62 168 8 + 62 169 8 + 62 170 8 + 62 171 8 + 62 172 8 + 62 173 8 + 62 174 8 + 62 175 8 + 62 176 8 + 62 177 8 + 62 178 8 + 62 179 8 + 62 180 8 + 62 181 8 + 62 182 8 + 62 183 8 + 62 184 8 + 62 185 8 + 62 186 8 + 62 187 8 + 62 188 8 + 62 189 8 + 62 190 8 + 62 191 8 + 62 192 8 + 62 193 8 + 62 194 8 + 62 195 8 + 62 196 8 + 62 197 8 + 62 198 8 + 62 199 8 + 62 200 8 + 62 201 8 + 62 202 8 + 62 203 8 + 62 204 8 + 62 205 8 + 62 206 8 + 62 207 8 + 62 208 8 + 62 209 8 + 62 210 8 + 62 211 8 + 62 212 8 + 62 213 8 + 62 214 8 + 62 215 8 + 62 216 8 + 62 217 8 + 62 218 8 + 62 219 8 + 62 220 8 + 62 221 8 + 62 222 8 + 62 223 8 + 62 224 8 + 62 225 8 + 62 226 8 + 62 227 8 + 62 228 8 + 62 229 8 + 62 230 8 + 62 231 8 + 62 232 8 + 62 233 8 + 62 234 8 + 62 235 8 + 62 236 8 + 62 237 8 + 62 238 8 + 62 239 8 + 62 240 8 + 62 241 8 + 62 242 8 + 62 243 8 + 62 244 8 + 62 245 8 + 62 246 8 + 62 247 8 + 62 248 8 + 62 249 8 + 62 250 8 + 62 251 8 + 62 252 8 + 62 253 8 + 62 254 8 + 62 255 8 + 62 256 8 + 62 257 8 + 62 258 8 + 62 259 8 + 62 260 8 + 62 261 8 + 62 262 8 + 62 263 8 + 62 264 8 + 62 265 8 + 62 266 8 + 62 267 8 + 62 268 8 + 62 269 8 + 62 270 8 + 62 271 8 + 62 272 8 + 62 273 8 + 62 274 8 + 62 275 8 + 62 276 8 + 62 277 8 + 62 278 8 + 62 279 8 + 62 280 8 + 62 281 8 + 62 282 8 + 62 283 8 + 62 284 8 + 62 285 8 + 62 286 8 + 62 287 8 + 62 288 8 + 62 289 8 + 62 290 8 + 62 291 8 + 62 292 8 + 62 293 8 + 62 294 8 + 62 295 8 + 62 296 8 + 62 297 8 + 62 298 8 + 62 299 8 + 62 300 8 + 62 301 8 + 62 302 8 + 62 303 8 + 62 304 8 + 62 305 8 + 62 306 8 + 62 307 8 + 62 308 8 + 62 309 8 + 62 310 8 + 62 311 8 + 62 312 8 + 62 313 8 + 62 314 8 + 62 315 8 + 62 316 8 + 62 317 8 + 62 318 8 + 62 319 8 + 62 320 8 + 62 321 8 + 62 322 8 + 62 323 8 + 62 324 8 + 62 325 8 + 62 326 8 + 62 327 8 + 62 328 8 + 62 329 8 + 62 330 8 + 62 331 8 + 62 332 8 + 62 333 8 + 62 334 8 + 62 335 8 + 62 336 8 + 62 337 8 + 62 338 8 + 62 339 8 + 62 340 8 + 62 341 8 + 62 342 8 + 62 343 8 + 62 344 8 + 62 345 8 + 62 346 8 + 62 347 8 + 62 348 8 + 62 349 8 + 63 64 8 + 63 65 8 + 63 66 8 + 63 67 8 + 63 68 8 + 63 69 8 + 63 70 8 + 63 71 8 + 63 72 8 + 63 73 8 + 63 74 8 + 63 75 8 + 63 76 8 + 63 77 8 + 63 78 8 + 63 79 8 + 63 80 8 + 63 81 8 + 63 82 8 + 63 83 8 + 63 84 8 + 63 85 8 + 63 86 8 + 63 87 8 + 63 88 8 + 63 89 8 + 63 90 8 + 63 91 8 + 63 92 8 + 63 93 8 + 63 94 8 + 63 95 8 + 63 96 8 + 63 97 8 + 63 98 8 + 63 99 8 + 63 100 8 + 63 101 8 + 63 102 8 + 63 103 8 + 63 104 8 + 63 105 8 + 63 106 8 + 63 107 8 + 63 108 8 + 63 109 8 + 63 110 8 + 63 111 8 + 63 112 8 + 63 113 8 + 63 114 8 + 63 115 8 + 63 116 8 + 63 117 8 + 63 118 8 + 63 119 8 + 63 120 8 + 63 121 8 + 63 122 8 + 63 123 8 + 63 124 8 + 63 125 8 + 63 126 8 + 63 127 8 + 63 128 8 + 63 129 8 + 63 130 8 + 63 131 8 + 63 132 8 + 63 133 8 + 63 134 8 + 63 135 8 + 63 136 8 + 63 137 8 + 63 138 8 + 63 139 8 + 63 140 8 + 63 141 8 + 63 142 8 + 63 143 8 + 63 144 8 + 63 145 8 + 63 146 8 + 63 147 8 + 63 148 8 + 63 149 8 + 63 150 8 + 63 151 8 + 63 152 8 + 63 153 8 + 63 154 8 + 63 155 8 + 63 156 8 + 63 157 8 + 63 158 8 + 63 159 8 + 63 160 8 + 63 161 8 + 63 162 8 + 63 163 8 + 63 164 8 + 63 165 8 + 63 166 8 + 63 167 8 + 63 168 8 + 63 169 8 + 63 170 8 + 63 171 8 + 63 172 8 + 63 173 8 + 63 174 8 + 63 175 8 + 63 176 8 + 63 177 8 + 63 178 8 + 63 179 8 + 63 180 8 + 63 181 8 + 63 182 8 + 63 183 8 + 63 184 8 + 63 185 8 + 63 186 8 + 63 187 8 + 63 188 8 + 63 189 8 + 63 190 8 + 63 191 8 + 63 192 8 + 63 193 8 + 63 194 8 + 63 195 8 + 63 196 8 + 63 197 8 + 63 198 8 + 63 199 8 + 63 200 8 + 63 201 8 + 63 202 8 + 63 203 8 + 63 204 8 + 63 205 8 + 63 206 8 + 63 207 8 + 63 208 8 + 63 209 8 + 63 210 8 + 63 211 8 + 63 212 8 + 63 213 8 + 63 214 8 + 63 215 8 + 63 216 8 + 63 217 8 + 63 218 8 + 63 219 8 + 63 220 8 + 63 221 8 + 63 222 8 + 63 223 8 + 63 224 8 + 63 225 8 + 63 226 8 + 63 227 8 + 63 228 8 + 63 229 8 + 63 230 8 + 63 231 8 + 63 232 8 + 63 233 8 + 63 234 8 + 63 235 8 + 63 236 8 + 63 237 8 + 63 238 8 + 63 239 8 + 63 240 8 + 63 241 8 + 63 242 8 + 63 243 8 + 63 244 8 + 63 245 8 + 63 246 8 + 63 247 8 + 63 248 8 + 63 249 8 + 63 250 8 + 63 251 8 + 63 252 8 + 63 253 8 + 63 254 8 + 63 255 8 + 63 256 8 + 63 257 8 + 63 258 8 + 63 259 8 + 63 260 8 + 63 261 8 + 63 262 8 + 63 263 8 + 63 264 8 + 63 265 8 + 63 266 8 + 63 267 8 + 63 268 8 + 63 269 8 + 63 270 8 + 63 271 8 + 63 272 8 + 63 273 8 + 63 274 8 + 63 275 8 + 63 276 8 + 63 277 8 + 63 278 8 + 63 279 8 + 63 280 8 + 63 281 8 + 63 282 8 + 63 283 8 + 63 284 8 + 63 285 8 + 63 286 8 + 63 287 8 + 63 288 8 + 63 289 8 + 63 290 8 + 63 291 8 + 63 292 8 + 63 293 8 + 63 294 8 + 63 295 8 + 63 296 8 + 63 297 8 + 63 298 8 + 63 299 8 + 63 300 8 + 63 301 8 + 63 302 8 + 63 303 8 + 63 304 8 + 63 305 8 + 63 306 8 + 63 307 8 + 63 308 8 + 63 309 8 + 63 310 8 + 63 311 8 + 63 312 8 + 63 313 8 + 63 314 8 + 63 315 8 + 63 316 8 + 63 317 8 + 63 318 8 + 63 319 8 + 63 320 8 + 63 321 8 + 63 322 8 + 63 323 8 + 63 324 8 + 63 325 8 + 63 326 8 + 63 327 8 + 63 328 8 + 63 329 8 + 63 330 8 + 63 331 8 + 63 332 8 + 63 333 8 + 63 334 8 + 63 335 8 + 63 336 8 + 63 337 8 + 63 338 8 + 63 339 8 + 63 340 8 + 63 341 8 + 63 342 8 + 63 343 8 + 63 344 8 + 63 345 8 + 63 346 8 + 63 347 8 + 63 348 8 + 63 349 8 + 64 65 8 + 64 66 8 + 64 67 8 + 64 68 8 + 64 69 8 + 64 70 8 + 64 71 8 + 64 72 8 + 64 73 8 + 64 74 8 + 64 75 8 + 64 76 8 + 64 77 8 + 64 78 8 + 64 79 8 + 64 80 8 + 64 81 8 + 64 82 8 + 64 83 8 + 64 84 8 + 64 85 8 + 64 86 8 + 64 87 8 + 64 88 8 + 64 89 8 + 64 90 8 + 64 91 8 + 64 92 8 + 64 93 8 + 64 94 8 + 64 95 8 + 64 96 8 + 64 97 8 + 64 98 8 + 64 99 8 + 64 100 8 + 64 101 8 + 64 102 8 + 64 103 8 + 64 104 8 + 64 105 8 + 64 106 8 + 64 107 8 + 64 108 8 + 64 109 8 + 64 110 8 + 64 111 8 + 64 112 8 + 64 113 8 + 64 114 8 + 64 115 8 + 64 116 8 + 64 117 8 + 64 118 8 + 64 119 8 + 64 120 8 + 64 121 8 + 64 122 8 + 64 123 8 + 64 124 8 + 64 125 8 + 64 126 8 + 64 127 8 + 64 128 8 + 64 129 8 + 64 130 8 + 64 131 8 + 64 132 8 + 64 133 8 + 64 134 8 + 64 135 8 + 64 136 8 + 64 137 8 + 64 138 8 + 64 139 8 + 64 140 8 + 64 141 8 + 64 142 8 + 64 143 8 + 64 144 8 + 64 145 8 + 64 146 8 + 64 147 8 + 64 148 8 + 64 149 8 + 64 150 8 + 64 151 8 + 64 152 8 + 64 153 8 + 64 154 8 + 64 155 8 + 64 156 8 + 64 157 8 + 64 158 8 + 64 159 8 + 64 160 8 + 64 161 8 + 64 162 8 + 64 163 8 + 64 164 8 + 64 165 8 + 64 166 8 + 64 167 8 + 64 168 8 + 64 169 8 + 64 170 8 + 64 171 8 + 64 172 8 + 64 173 8 + 64 174 8 + 64 175 8 + 64 176 8 + 64 177 8 + 64 178 8 + 64 179 8 + 64 180 8 + 64 181 8 + 64 182 8 + 64 183 8 + 64 184 8 + 64 185 8 + 64 186 8 + 64 187 8 + 64 188 8 + 64 189 8 + 64 190 8 + 64 191 8 + 64 192 8 + 64 193 8 + 64 194 8 + 64 195 8 + 64 196 8 + 64 197 8 + 64 198 8 + 64 199 8 + 64 200 8 + 64 201 8 + 64 202 8 + 64 203 8 + 64 204 8 + 64 205 8 + 64 206 8 + 64 207 8 + 64 208 8 + 64 209 8 + 64 210 8 + 64 211 8 + 64 212 8 + 64 213 8 + 64 214 8 + 64 215 8 + 64 216 8 + 64 217 8 + 64 218 8 + 64 219 8 + 64 220 8 + 64 221 8 + 64 222 8 + 64 223 8 + 64 224 8 + 64 225 8 + 64 226 8 + 64 227 8 + 64 228 8 + 64 229 8 + 64 230 8 + 64 231 8 + 64 232 8 + 64 233 8 + 64 234 8 + 64 235 8 + 64 236 8 + 64 237 8 + 64 238 8 + 64 239 8 + 64 240 8 + 64 241 8 + 64 242 8 + 64 243 8 + 64 244 8 + 64 245 8 + 64 246 8 + 64 247 8 + 64 248 8 + 64 249 8 + 64 250 8 + 64 251 8 + 64 252 8 + 64 253 8 + 64 254 8 + 64 255 8 + 64 256 8 + 64 257 8 + 64 258 8 + 64 259 8 + 64 260 8 + 64 261 8 + 64 262 8 + 64 263 8 + 64 264 8 + 64 265 8 + 64 266 8 + 64 267 8 + 64 268 8 + 64 269 8 + 64 270 8 + 64 271 8 + 64 272 8 + 64 273 8 + 64 274 8 + 64 275 8 + 64 276 8 + 64 277 8 + 64 278 8 + 64 279 8 + 64 280 8 + 64 281 8 + 64 282 8 + 64 283 8 + 64 284 8 + 64 285 8 + 64 286 8 + 64 287 8 + 64 288 8 + 64 289 8 + 64 290 8 + 64 291 8 + 64 292 8 + 64 293 8 + 64 294 8 + 64 295 8 + 64 296 8 + 64 297 8 + 64 298 8 + 64 299 8 + 64 300 8 + 64 301 8 + 64 302 8 + 64 303 8 + 64 304 8 + 64 305 8 + 64 306 8 + 64 307 8 + 64 308 8 + 64 309 8 + 64 310 8 + 64 311 8 + 64 312 8 + 64 313 8 + 64 314 8 + 64 315 8 + 64 316 8 + 64 317 8 + 64 318 8 + 64 319 8 + 64 320 8 + 64 321 8 + 64 322 8 + 64 323 8 + 64 324 8 + 64 325 8 + 64 326 8 + 64 327 8 + 64 328 8 + 64 329 8 + 64 330 8 + 64 331 8 + 64 332 8 + 64 333 8 + 64 334 8 + 64 335 8 + 64 336 8 + 64 337 8 + 64 338 8 + 64 339 8 + 64 340 8 + 64 341 8 + 64 342 8 + 64 343 8 + 64 344 8 + 64 345 8 + 64 346 8 + 64 347 8 + 64 348 8 + 64 349 8 + 65 66 8 + 65 67 8 + 65 68 8 + 65 69 8 + 65 70 8 + 65 71 8 + 65 72 8 + 65 73 8 + 65 74 8 + 65 75 8 + 65 76 8 + 65 77 8 + 65 78 8 + 65 79 8 + 65 80 8 + 65 81 8 + 65 82 8 + 65 83 8 + 65 84 8 + 65 85 8 + 65 86 8 + 65 87 8 + 65 88 8 + 65 89 8 + 65 90 8 + 65 91 8 + 65 92 8 + 65 93 8 + 65 94 8 + 65 95 8 + 65 96 8 + 65 97 8 + 65 98 8 + 65 99 8 + 65 100 8 + 65 101 8 + 65 102 8 + 65 103 8 + 65 104 8 + 65 105 8 + 65 106 8 + 65 107 8 + 65 108 8 + 65 109 8 + 65 110 8 + 65 111 8 + 65 112 8 + 65 113 8 + 65 114 8 + 65 115 8 + 65 116 8 + 65 117 8 + 65 118 8 + 65 119 8 + 65 120 8 + 65 121 8 + 65 122 8 + 65 123 8 + 65 124 8 + 65 125 8 + 65 126 8 + 65 127 8 + 65 128 8 + 65 129 8 + 65 130 8 + 65 131 8 + 65 132 8 + 65 133 8 + 65 134 8 + 65 135 8 + 65 136 8 + 65 137 8 + 65 138 8 + 65 139 8 + 65 140 8 + 65 141 8 + 65 142 8 + 65 143 8 + 65 144 8 + 65 145 8 + 65 146 8 + 65 147 8 + 65 148 8 + 65 149 8 + 65 150 8 + 65 151 8 + 65 152 8 + 65 153 8 + 65 154 8 + 65 155 8 + 65 156 8 + 65 157 8 + 65 158 8 + 65 159 8 + 65 160 8 + 65 161 8 + 65 162 8 + 65 163 8 + 65 164 8 + 65 165 8 + 65 166 8 + 65 167 8 + 65 168 8 + 65 169 8 + 65 170 8 + 65 171 8 + 65 172 8 + 65 173 8 + 65 174 8 + 65 175 8 + 65 176 8 + 65 177 8 + 65 178 8 + 65 179 8 + 65 180 8 + 65 181 8 + 65 182 8 + 65 183 8 + 65 184 8 + 65 185 8 + 65 186 8 + 65 187 8 + 65 188 8 + 65 189 8 + 65 190 8 + 65 191 8 + 65 192 8 + 65 193 8 + 65 194 8 + 65 195 8 + 65 196 8 + 65 197 8 + 65 198 8 + 65 199 8 + 65 200 8 + 65 201 8 + 65 202 8 + 65 203 8 + 65 204 8 + 65 205 8 + 65 206 8 + 65 207 8 + 65 208 8 + 65 209 8 + 65 210 8 + 65 211 8 + 65 212 8 + 65 213 8 + 65 214 8 + 65 215 8 + 65 216 8 + 65 217 8 + 65 218 8 + 65 219 8 + 65 220 8 + 65 221 8 + 65 222 8 + 65 223 8 + 65 224 8 + 65 225 8 + 65 226 8 + 65 227 8 + 65 228 8 + 65 229 8 + 65 230 8 + 65 231 8 + 65 232 8 + 65 233 8 + 65 234 8 + 65 235 8 + 65 236 8 + 65 237 8 + 65 238 8 + 65 239 8 + 65 240 8 + 65 241 8 + 65 242 8 + 65 243 8 + 65 244 8 + 65 245 8 + 65 246 8 + 65 247 8 + 65 248 8 + 65 249 8 + 65 250 8 + 65 251 8 + 65 252 8 + 65 253 8 + 65 254 8 + 65 255 8 + 65 256 8 + 65 257 8 + 65 258 8 + 65 259 8 + 65 260 8 + 65 261 8 + 65 262 8 + 65 263 8 + 65 264 8 + 65 265 8 + 65 266 8 + 65 267 8 + 65 268 8 + 65 269 8 + 65 270 8 + 65 271 8 + 65 272 8 + 65 273 8 + 65 274 8 + 65 275 8 + 65 276 8 + 65 277 8 + 65 278 8 + 65 279 8 + 65 280 8 + 65 281 8 + 65 282 8 + 65 283 8 + 65 284 8 + 65 285 8 + 65 286 8 + 65 287 8 + 65 288 8 + 65 289 8 + 65 290 8 + 65 291 8 + 65 292 8 + 65 293 8 + 65 294 8 + 65 295 8 + 65 296 8 + 65 297 8 + 65 298 8 + 65 299 8 + 65 300 8 + 65 301 8 + 65 302 8 + 65 303 8 + 65 304 8 + 65 305 8 + 65 306 8 + 65 307 8 + 65 308 8 + 65 309 8 + 65 310 8 + 65 311 8 + 65 312 8 + 65 313 8 + 65 314 8 + 65 315 8 + 65 316 8 + 65 317 8 + 65 318 8 + 65 319 8 + 65 320 8 + 65 321 8 + 65 322 8 + 65 323 8 + 65 324 8 + 65 325 8 + 65 326 8 + 65 327 8 + 65 328 8 + 65 329 8 + 65 330 8 + 65 331 8 + 65 332 8 + 65 333 8 + 65 334 8 + 65 335 8 + 65 336 8 + 65 337 8 + 65 338 8 + 65 339 8 + 65 340 8 + 65 341 8 + 65 342 8 + 65 343 8 + 65 344 8 + 65 345 8 + 65 346 8 + 65 347 8 + 65 348 8 + 65 349 8 + 66 67 8 + 66 68 8 + 66 69 8 + 66 70 8 + 66 71 8 + 66 72 8 + 66 73 8 + 66 74 8 + 66 75 8 + 66 76 8 + 66 77 8 + 66 78 8 + 66 79 8 + 66 80 8 + 66 81 8 + 66 82 8 + 66 83 8 + 66 84 8 + 66 85 8 + 66 86 8 + 66 87 8 + 66 88 8 + 66 89 8 + 66 90 8 + 66 91 8 + 66 92 8 + 66 93 8 + 66 94 8 + 66 95 8 + 66 96 8 + 66 97 8 + 66 98 8 + 66 99 8 + 66 100 8 + 66 101 8 + 66 102 8 + 66 103 8 + 66 104 8 + 66 105 8 + 66 106 8 + 66 107 8 + 66 108 8 + 66 109 8 + 66 110 8 + 66 111 8 + 66 112 8 + 66 113 8 + 66 114 8 + 66 115 8 + 66 116 8 + 66 117 8 + 66 118 8 + 66 119 8 + 66 120 8 + 66 121 8 + 66 122 8 + 66 123 8 + 66 124 8 + 66 125 8 + 66 126 8 + 66 127 8 + 66 128 8 + 66 129 8 + 66 130 8 + 66 131 8 + 66 132 8 + 66 133 8 + 66 134 8 + 66 135 8 + 66 136 8 + 66 137 8 + 66 138 8 + 66 139 8 + 66 140 8 + 66 141 8 + 66 142 8 + 66 143 8 + 66 144 8 + 66 145 8 + 66 146 8 + 66 147 8 + 66 148 8 + 66 149 8 + 66 150 8 + 66 151 8 + 66 152 8 + 66 153 8 + 66 154 8 + 66 155 8 + 66 156 8 + 66 157 8 + 66 158 8 + 66 159 8 + 66 160 8 + 66 161 8 + 66 162 8 + 66 163 8 + 66 164 8 + 66 165 8 + 66 166 8 + 66 167 8 + 66 168 8 + 66 169 8 + 66 170 8 + 66 171 8 + 66 172 8 + 66 173 8 + 66 174 8 + 66 175 8 + 66 176 8 + 66 177 8 + 66 178 8 + 66 179 8 + 66 180 8 + 66 181 8 + 66 182 8 + 66 183 8 + 66 184 8 + 66 185 8 + 66 186 8 + 66 187 8 + 66 188 8 + 66 189 8 + 66 190 8 + 66 191 8 + 66 192 8 + 66 193 8 + 66 194 8 + 66 195 8 + 66 196 8 + 66 197 8 + 66 198 8 + 66 199 8 + 66 200 8 + 66 201 8 + 66 202 8 + 66 203 8 + 66 204 8 + 66 205 8 + 66 206 8 + 66 207 8 + 66 208 8 + 66 209 8 + 66 210 8 + 66 211 8 + 66 212 8 + 66 213 8 + 66 214 8 + 66 215 8 + 66 216 8 + 66 217 8 + 66 218 8 + 66 219 8 + 66 220 8 + 66 221 8 + 66 222 8 + 66 223 8 + 66 224 8 + 66 225 8 + 66 226 8 + 66 227 8 + 66 228 8 + 66 229 8 + 66 230 8 + 66 231 8 + 66 232 8 + 66 233 8 + 66 234 8 + 66 235 8 + 66 236 8 + 66 237 8 + 66 238 8 + 66 239 8 + 66 240 8 + 66 241 8 + 66 242 8 + 66 243 8 + 66 244 8 + 66 245 8 + 66 246 8 + 66 247 8 + 66 248 8 + 66 249 8 + 66 250 8 + 66 251 8 + 66 252 8 + 66 253 8 + 66 254 8 + 66 255 8 + 66 256 8 + 66 257 8 + 66 258 8 + 66 259 8 + 66 260 8 + 66 261 8 + 66 262 8 + 66 263 8 + 66 264 8 + 66 265 8 + 66 266 8 + 66 267 8 + 66 268 8 + 66 269 8 + 66 270 8 + 66 271 8 + 66 272 8 + 66 273 8 + 66 274 8 + 66 275 8 + 66 276 8 + 66 277 8 + 66 278 8 + 66 279 8 + 66 280 8 + 66 281 8 + 66 282 8 + 66 283 8 + 66 284 8 + 66 285 8 + 66 286 8 + 66 287 8 + 66 288 8 + 66 289 8 + 66 290 8 + 66 291 8 + 66 292 8 + 66 293 8 + 66 294 8 + 66 295 8 + 66 296 8 + 66 297 8 + 66 298 8 + 66 299 8 + 66 300 8 + 66 301 8 + 66 302 8 + 66 303 8 + 66 304 8 + 66 305 8 + 66 306 8 + 66 307 8 + 66 308 8 + 66 309 8 + 66 310 8 + 66 311 8 + 66 312 8 + 66 313 8 + 66 314 8 + 66 315 8 + 66 316 8 + 66 317 8 + 66 318 8 + 66 319 8 + 66 320 8 + 66 321 8 + 66 322 8 + 66 323 8 + 66 324 8 + 66 325 8 + 66 326 8 + 66 327 8 + 66 328 8 + 66 329 8 + 66 330 8 + 66 331 8 + 66 332 8 + 66 333 8 + 66 334 8 + 66 335 8 + 66 336 8 + 66 337 8 + 66 338 8 + 66 339 8 + 66 340 8 + 66 341 8 + 66 342 8 + 66 343 8 + 66 344 8 + 66 345 8 + 66 346 8 + 66 347 8 + 66 348 8 + 66 349 8 + 67 68 8 + 67 69 8 + 67 70 8 + 67 71 8 + 67 72 8 + 67 73 8 + 67 74 8 + 67 75 8 + 67 76 8 + 67 77 8 + 67 78 8 + 67 79 8 + 67 80 8 + 67 81 8 + 67 82 8 + 67 83 8 + 67 84 8 + 67 85 8 + 67 86 8 + 67 87 8 + 67 88 8 + 67 89 8 + 67 90 8 + 67 91 8 + 67 92 8 + 67 93 8 + 67 94 8 + 67 95 8 + 67 96 8 + 67 97 8 + 67 98 8 + 67 99 8 + 67 100 8 + 67 101 8 + 67 102 8 + 67 103 8 + 67 104 8 + 67 105 8 + 67 106 8 + 67 107 8 + 67 108 8 + 67 109 8 + 67 110 8 + 67 111 8 + 67 112 8 + 67 113 8 + 67 114 8 + 67 115 8 + 67 116 8 + 67 117 8 + 67 118 8 + 67 119 8 + 67 120 8 + 67 121 8 + 67 122 8 + 67 123 8 + 67 124 8 + 67 125 8 + 67 126 8 + 67 127 8 + 67 128 8 + 67 129 8 + 67 130 8 + 67 131 8 + 67 132 8 + 67 133 8 + 67 134 8 + 67 135 8 + 67 136 8 + 67 137 8 + 67 138 8 + 67 139 8 + 67 140 8 + 67 141 8 + 67 142 8 + 67 143 8 + 67 144 8 + 67 145 8 + 67 146 8 + 67 147 8 + 67 148 8 + 67 149 8 + 67 150 8 + 67 151 8 + 67 152 8 + 67 153 8 + 67 154 8 + 67 155 8 + 67 156 8 + 67 157 8 + 67 158 8 + 67 159 8 + 67 160 8 + 67 161 8 + 67 162 8 + 67 163 8 + 67 164 8 + 67 165 8 + 67 166 8 + 67 167 8 + 67 168 8 + 67 169 8 + 67 170 8 + 67 171 8 + 67 172 8 + 67 173 8 + 67 174 8 + 67 175 8 + 67 176 8 + 67 177 8 + 67 178 8 + 67 179 8 + 67 180 8 + 67 181 8 + 67 182 8 + 67 183 8 + 67 184 8 + 67 185 8 + 67 186 8 + 67 187 8 + 67 188 8 + 67 189 8 + 67 190 8 + 67 191 8 + 67 192 8 + 67 193 8 + 67 194 8 + 67 195 8 + 67 196 8 + 67 197 8 + 67 198 8 + 67 199 8 + 67 200 8 + 67 201 8 + 67 202 8 + 67 203 8 + 67 204 8 + 67 205 8 + 67 206 8 + 67 207 8 + 67 208 8 + 67 209 8 + 67 210 8 + 67 211 8 + 67 212 8 + 67 213 8 + 67 214 8 + 67 215 8 + 67 216 8 + 67 217 8 + 67 218 8 + 67 219 8 + 67 220 8 + 67 221 8 + 67 222 8 + 67 223 8 + 67 224 8 + 67 225 8 + 67 226 8 + 67 227 8 + 67 228 8 + 67 229 8 + 67 230 8 + 67 231 8 + 67 232 8 + 67 233 8 + 67 234 8 + 67 235 8 + 67 236 8 + 67 237 8 + 67 238 8 + 67 239 8 + 67 240 8 + 67 241 8 + 67 242 8 + 67 243 8 + 67 244 8 + 67 245 8 + 67 246 8 + 67 247 8 + 67 248 8 + 67 249 8 + 67 250 8 + 67 251 8 + 67 252 8 + 67 253 8 + 67 254 8 + 67 255 8 + 67 256 8 + 67 257 8 + 67 258 8 + 67 259 8 + 67 260 8 + 67 261 8 + 67 262 8 + 67 263 8 + 67 264 8 + 67 265 8 + 67 266 8 + 67 267 8 + 67 268 8 + 67 269 8 + 67 270 8 + 67 271 8 + 67 272 8 + 67 273 8 + 67 274 8 + 67 275 8 + 67 276 8 + 67 277 8 + 67 278 8 + 67 279 8 + 67 280 8 + 67 281 8 + 67 282 8 + 67 283 8 + 67 284 8 + 67 285 8 + 67 286 8 + 67 287 8 + 67 288 8 + 67 289 8 + 67 290 8 + 67 291 8 + 67 292 8 + 67 293 8 + 67 294 8 + 67 295 8 + 67 296 8 + 67 297 8 + 67 298 8 + 67 299 8 + 67 300 8 + 67 301 8 + 67 302 8 + 67 303 8 + 67 304 8 + 67 305 8 + 67 306 8 + 67 307 8 + 67 308 8 + 67 309 8 + 67 310 8 + 67 311 8 + 67 312 8 + 67 313 8 + 67 314 8 + 67 315 8 + 67 316 8 + 67 317 8 + 67 318 8 + 67 319 8 + 67 320 8 + 67 321 8 + 67 322 8 + 67 323 8 + 67 324 8 + 67 325 8 + 67 326 8 + 67 327 8 + 67 328 8 + 67 329 8 + 67 330 8 + 67 331 8 + 67 332 8 + 67 333 8 + 67 334 8 + 67 335 8 + 67 336 8 + 67 337 8 + 67 338 8 + 67 339 8 + 67 340 8 + 67 341 8 + 67 342 8 + 67 343 8 + 67 344 8 + 67 345 8 + 67 346 8 + 67 347 8 + 67 348 8 + 67 349 8 + 68 69 8 + 68 70 8 + 68 71 8 + 68 72 8 + 68 73 8 + 68 74 8 + 68 75 8 + 68 76 8 + 68 77 8 + 68 78 8 + 68 79 8 + 68 80 8 + 68 81 8 + 68 82 8 + 68 83 8 + 68 84 8 + 68 85 8 + 68 86 8 + 68 87 8 + 68 88 8 + 68 89 8 + 68 90 8 + 68 91 8 + 68 92 8 + 68 93 8 + 68 94 8 + 68 95 8 + 68 96 8 + 68 97 8 + 68 98 8 + 68 99 8 + 68 100 8 + 68 101 8 + 68 102 8 + 68 103 8 + 68 104 8 + 68 105 8 + 68 106 8 + 68 107 8 + 68 108 8 + 68 109 8 + 68 110 8 + 68 111 8 + 68 112 8 + 68 113 8 + 68 114 8 + 68 115 8 + 68 116 8 + 68 117 8 + 68 118 8 + 68 119 8 + 68 120 8 + 68 121 8 + 68 122 8 + 68 123 8 + 68 124 8 + 68 125 8 + 68 126 8 + 68 127 8 + 68 128 8 + 68 129 8 + 68 130 8 + 68 131 8 + 68 132 8 + 68 133 8 + 68 134 8 + 68 135 8 + 68 136 8 + 68 137 8 + 68 138 8 + 68 139 8 + 68 140 8 + 68 141 8 + 68 142 8 + 68 143 8 + 68 144 8 + 68 145 8 + 68 146 8 + 68 147 8 + 68 148 8 + 68 149 8 + 68 150 8 + 68 151 8 + 68 152 8 + 68 153 8 + 68 154 8 + 68 155 8 + 68 156 8 + 68 157 8 + 68 158 8 + 68 159 8 + 68 160 8 + 68 161 8 + 68 162 8 + 68 163 8 + 68 164 8 + 68 165 8 + 68 166 8 + 68 167 8 + 68 168 8 + 68 169 8 + 68 170 8 + 68 171 8 + 68 172 8 + 68 173 8 + 68 174 8 + 68 175 8 + 68 176 8 + 68 177 8 + 68 178 8 + 68 179 8 + 68 180 8 + 68 181 8 + 68 182 8 + 68 183 8 + 68 184 8 + 68 185 8 + 68 186 8 + 68 187 8 + 68 188 8 + 68 189 8 + 68 190 8 + 68 191 8 + 68 192 8 + 68 193 8 + 68 194 8 + 68 195 8 + 68 196 8 + 68 197 8 + 68 198 8 + 68 199 8 + 68 200 8 + 68 201 8 + 68 202 8 + 68 203 8 + 68 204 8 + 68 205 8 + 68 206 8 + 68 207 8 + 68 208 8 + 68 209 8 + 68 210 8 + 68 211 8 + 68 212 8 + 68 213 8 + 68 214 8 + 68 215 8 + 68 216 8 + 68 217 8 + 68 218 8 + 68 219 8 + 68 220 8 + 68 221 8 + 68 222 8 + 68 223 8 + 68 224 8 + 68 225 8 + 68 226 8 + 68 227 8 + 68 228 8 + 68 229 8 + 68 230 8 + 68 231 8 + 68 232 8 + 68 233 8 + 68 234 8 + 68 235 8 + 68 236 8 + 68 237 8 + 68 238 8 + 68 239 8 + 68 240 8 + 68 241 8 + 68 242 8 + 68 243 8 + 68 244 8 + 68 245 8 + 68 246 8 + 68 247 8 + 68 248 8 + 68 249 8 + 68 250 8 + 68 251 8 + 68 252 8 + 68 253 8 + 68 254 8 + 68 255 8 + 68 256 8 + 68 257 8 + 68 258 8 + 68 259 8 + 68 260 8 + 68 261 8 + 68 262 8 + 68 263 8 + 68 264 8 + 68 265 8 + 68 266 8 + 68 267 8 + 68 268 8 + 68 269 8 + 68 270 8 + 68 271 8 + 68 272 8 + 68 273 8 + 68 274 8 + 68 275 8 + 68 276 8 + 68 277 8 + 68 278 8 + 68 279 8 + 68 280 8 + 68 281 8 + 68 282 8 + 68 283 8 + 68 284 8 + 68 285 8 + 68 286 8 + 68 287 8 + 68 288 8 + 68 289 8 + 68 290 8 + 68 291 8 + 68 292 8 + 68 293 8 + 68 294 8 + 68 295 8 + 68 296 8 + 68 297 8 + 68 298 8 + 68 299 8 + 68 300 8 + 68 301 8 + 68 302 8 + 68 303 8 + 68 304 8 + 68 305 8 + 68 306 8 + 68 307 8 + 68 308 8 + 68 309 8 + 68 310 8 + 68 311 8 + 68 312 8 + 68 313 8 + 68 314 8 + 68 315 8 + 68 316 8 + 68 317 8 + 68 318 8 + 68 319 8 + 68 320 8 + 68 321 8 + 68 322 8 + 68 323 8 + 68 324 8 + 68 325 8 + 68 326 8 + 68 327 8 + 68 328 8 + 68 329 8 + 68 330 8 + 68 331 8 + 68 332 8 + 68 333 8 + 68 334 8 + 68 335 8 + 68 336 8 + 68 337 8 + 68 338 8 + 68 339 8 + 68 340 8 + 68 341 8 + 68 342 8 + 68 343 8 + 68 344 8 + 68 345 8 + 68 346 8 + 68 347 8 + 68 348 8 + 68 349 8 + 69 70 8 + 69 71 8 + 69 72 8 + 69 73 8 + 69 74 8 + 69 75 8 + 69 76 8 + 69 77 8 + 69 78 8 + 69 79 8 + 69 80 8 + 69 81 8 + 69 82 8 + 69 83 8 + 69 84 8 + 69 85 8 + 69 86 8 + 69 87 8 + 69 88 8 + 69 89 8 + 69 90 8 + 69 91 8 + 69 92 8 + 69 93 8 + 69 94 8 + 69 95 8 + 69 96 8 + 69 97 8 + 69 98 8 + 69 99 8 + 69 100 8 + 69 101 8 + 69 102 8 + 69 103 8 + 69 104 8 + 69 105 8 + 69 106 8 + 69 107 8 + 69 108 8 + 69 109 8 + 69 110 8 + 69 111 8 + 69 112 8 + 69 113 8 + 69 114 8 + 69 115 8 + 69 116 8 + 69 117 8 + 69 118 8 + 69 119 8 + 69 120 8 + 69 121 8 + 69 122 8 + 69 123 8 + 69 124 8 + 69 125 8 + 69 126 8 + 69 127 8 + 69 128 8 + 69 129 8 + 69 130 8 + 69 131 8 + 69 132 8 + 69 133 8 + 69 134 8 + 69 135 8 + 69 136 8 + 69 137 8 + 69 138 8 + 69 139 8 + 69 140 8 + 69 141 8 + 69 142 8 + 69 143 8 + 69 144 8 + 69 145 8 + 69 146 8 + 69 147 8 + 69 148 8 + 69 149 8 + 69 150 8 + 69 151 8 + 69 152 8 + 69 153 8 + 69 154 8 + 69 155 8 + 69 156 8 + 69 157 8 + 69 158 8 + 69 159 8 + 69 160 8 + 69 161 8 + 69 162 8 + 69 163 8 + 69 164 8 + 69 165 8 + 69 166 8 + 69 167 8 + 69 168 8 + 69 169 8 + 69 170 8 + 69 171 8 + 69 172 8 + 69 173 8 + 69 174 8 + 69 175 8 + 69 176 8 + 69 177 8 + 69 178 8 + 69 179 8 + 69 180 8 + 69 181 8 + 69 182 8 + 69 183 8 + 69 184 8 + 69 185 8 + 69 186 8 + 69 187 8 + 69 188 8 + 69 189 8 + 69 190 8 + 69 191 8 + 69 192 8 + 69 193 8 + 69 194 8 + 69 195 8 + 69 196 8 + 69 197 8 + 69 198 8 + 69 199 8 + 69 200 8 + 69 201 8 + 69 202 8 + 69 203 8 + 69 204 8 + 69 205 8 + 69 206 8 + 69 207 8 + 69 208 8 + 69 209 8 + 69 210 8 + 69 211 8 + 69 212 8 + 69 213 8 + 69 214 8 + 69 215 8 + 69 216 8 + 69 217 8 + 69 218 8 + 69 219 8 + 69 220 8 + 69 221 8 + 69 222 8 + 69 223 8 + 69 224 8 + 69 225 8 + 69 226 8 + 69 227 8 + 69 228 8 + 69 229 8 + 69 230 8 + 69 231 8 + 69 232 8 + 69 233 8 + 69 234 8 + 69 235 8 + 69 236 8 + 69 237 8 + 69 238 8 + 69 239 8 + 69 240 8 + 69 241 8 + 69 242 8 + 69 243 8 + 69 244 8 + 69 245 8 + 69 246 8 + 69 247 8 + 69 248 8 + 69 249 8 + 69 250 8 + 69 251 8 + 69 252 8 + 69 253 8 + 69 254 8 + 69 255 8 + 69 256 8 + 69 257 8 + 69 258 8 + 69 259 8 + 69 260 8 + 69 261 8 + 69 262 8 + 69 263 8 + 69 264 8 + 69 265 8 + 69 266 8 + 69 267 8 + 69 268 8 + 69 269 8 + 69 270 8 + 69 271 8 + 69 272 8 + 69 273 8 + 69 274 8 + 69 275 8 + 69 276 8 + 69 277 8 + 69 278 8 + 69 279 8 + 69 280 8 + 69 281 8 + 69 282 8 + 69 283 8 + 69 284 8 + 69 285 8 + 69 286 8 + 69 287 8 + 69 288 8 + 69 289 8 + 69 290 8 + 69 291 8 + 69 292 8 + 69 293 8 + 69 294 8 + 69 295 8 + 69 296 8 + 69 297 8 + 69 298 8 + 69 299 8 + 69 300 8 + 69 301 8 + 69 302 8 + 69 303 8 + 69 304 8 + 69 305 8 + 69 306 8 + 69 307 8 + 69 308 8 + 69 309 8 + 69 310 8 + 69 311 8 + 69 312 8 + 69 313 8 + 69 314 8 + 69 315 8 + 69 316 8 + 69 317 8 + 69 318 8 + 69 319 8 + 69 320 8 + 69 321 8 + 69 322 8 + 69 323 8 + 69 324 8 + 69 325 8 + 69 326 8 + 69 327 8 + 69 328 8 + 69 329 8 + 69 330 8 + 69 331 8 + 69 332 8 + 69 333 8 + 69 334 8 + 69 335 8 + 69 336 8 + 69 337 8 + 69 338 8 + 69 339 8 + 69 340 8 + 69 341 8 + 69 342 8 + 69 343 8 + 69 344 8 + 69 345 8 + 69 346 8 + 69 347 8 + 69 348 8 + 69 349 8 + 70 71 8 + 70 72 8 + 70 73 8 + 70 74 8 + 70 75 8 + 70 76 8 + 70 77 8 + 70 78 8 + 70 79 8 + 70 80 8 + 70 81 8 + 70 82 8 + 70 83 8 + 70 84 8 + 70 85 8 + 70 86 8 + 70 87 8 + 70 88 8 + 70 89 8 + 70 90 8 + 70 91 8 + 70 92 8 + 70 93 8 + 70 94 8 + 70 95 8 + 70 96 8 + 70 97 8 + 70 98 8 + 70 99 8 + 70 100 8 + 70 101 8 + 70 102 8 + 70 103 8 + 70 104 8 + 70 105 8 + 70 106 8 + 70 107 8 + 70 108 8 + 70 109 8 + 70 110 8 + 70 111 8 + 70 112 8 + 70 113 8 + 70 114 8 + 70 115 8 + 70 116 8 + 70 117 8 + 70 118 8 + 70 119 8 + 70 120 8 + 70 121 8 + 70 122 8 + 70 123 8 + 70 124 8 + 70 125 8 + 70 126 8 + 70 127 8 + 70 128 8 + 70 129 8 + 70 130 8 + 70 131 8 + 70 132 8 + 70 133 8 + 70 134 8 + 70 135 8 + 70 136 8 + 70 137 8 + 70 138 8 + 70 139 8 + 70 140 8 + 70 141 8 + 70 142 8 + 70 143 8 + 70 144 8 + 70 145 8 + 70 146 8 + 70 147 8 + 70 148 8 + 70 149 8 + 70 150 8 + 70 151 8 + 70 152 8 + 70 153 8 + 70 154 8 + 70 155 8 + 70 156 8 + 70 157 8 + 70 158 8 + 70 159 8 + 70 160 8 + 70 161 8 + 70 162 8 + 70 163 8 + 70 164 8 + 70 165 8 + 70 166 8 + 70 167 8 + 70 168 8 + 70 169 8 + 70 170 8 + 70 171 8 + 70 172 8 + 70 173 8 + 70 174 8 + 70 175 8 + 70 176 8 + 70 177 8 + 70 178 8 + 70 179 8 + 70 180 8 + 70 181 8 + 70 182 8 + 70 183 8 + 70 184 8 + 70 185 8 + 70 186 8 + 70 187 8 + 70 188 8 + 70 189 8 + 70 190 8 + 70 191 8 + 70 192 8 + 70 193 8 + 70 194 8 + 70 195 8 + 70 196 8 + 70 197 8 + 70 198 8 + 70 199 8 + 70 200 8 + 70 201 8 + 70 202 8 + 70 203 8 + 70 204 8 + 70 205 8 + 70 206 8 + 70 207 8 + 70 208 8 + 70 209 8 + 70 210 8 + 70 211 8 + 70 212 8 + 70 213 8 + 70 214 8 + 70 215 8 + 70 216 8 + 70 217 8 + 70 218 8 + 70 219 8 + 70 220 8 + 70 221 8 + 70 222 8 + 70 223 8 + 70 224 8 + 70 225 8 + 70 226 8 + 70 227 8 + 70 228 8 + 70 229 8 + 70 230 8 + 70 231 8 + 70 232 8 + 70 233 8 + 70 234 8 + 70 235 8 + 70 236 8 + 70 237 8 + 70 238 8 + 70 239 8 + 70 240 8 + 70 241 8 + 70 242 8 + 70 243 8 + 70 244 8 + 70 245 8 + 70 246 8 + 70 247 8 + 70 248 8 + 70 249 8 + 70 250 8 + 70 251 8 + 70 252 8 + 70 253 8 + 70 254 8 + 70 255 8 + 70 256 8 + 70 257 8 + 70 258 8 + 70 259 8 + 70 260 8 + 70 261 8 + 70 262 8 + 70 263 8 + 70 264 8 + 70 265 8 + 70 266 8 + 70 267 8 + 70 268 8 + 70 269 8 + 70 270 8 + 70 271 8 + 70 272 8 + 70 273 8 + 70 274 8 + 70 275 8 + 70 276 8 + 70 277 8 + 70 278 8 + 70 279 8 + 70 280 8 + 70 281 8 + 70 282 8 + 70 283 8 + 70 284 8 + 70 285 8 + 70 286 8 + 70 287 8 + 70 288 8 + 70 289 8 + 70 290 8 + 70 291 8 + 70 292 8 + 70 293 8 + 70 294 8 + 70 295 8 + 70 296 8 + 70 297 8 + 70 298 8 + 70 299 8 + 70 300 8 + 70 301 8 + 70 302 8 + 70 303 8 + 70 304 8 + 70 305 8 + 70 306 8 + 70 307 8 + 70 308 8 + 70 309 8 + 70 310 8 + 70 311 8 + 70 312 8 + 70 313 8 + 70 314 8 + 70 315 8 + 70 316 8 + 70 317 8 + 70 318 8 + 70 319 8 + 70 320 8 + 70 321 8 + 70 322 8 + 70 323 8 + 70 324 8 + 70 325 8 + 70 326 8 + 70 327 8 + 70 328 8 + 70 329 8 + 70 330 8 + 70 331 8 + 70 332 8 + 70 333 8 + 70 334 8 + 70 335 8 + 70 336 8 + 70 337 8 + 70 338 8 + 70 339 8 + 70 340 8 + 70 341 8 + 70 342 8 + 70 343 8 + 70 344 8 + 70 345 8 + 70 346 8 + 70 347 8 + 70 348 8 + 70 349 8 + 71 72 8 + 71 73 8 + 71 74 8 + 71 75 8 + 71 76 8 + 71 77 8 + 71 78 8 + 71 79 8 + 71 80 8 + 71 81 8 + 71 82 8 + 71 83 8 + 71 84 8 + 71 85 8 + 71 86 8 + 71 87 8 + 71 88 8 + 71 89 8 + 71 90 8 + 71 91 8 + 71 92 8 + 71 93 8 + 71 94 8 + 71 95 8 + 71 96 8 + 71 97 8 + 71 98 8 + 71 99 8 + 71 100 8 + 71 101 8 + 71 102 8 + 71 103 8 + 71 104 8 + 71 105 8 + 71 106 8 + 71 107 8 + 71 108 8 + 71 109 8 + 71 110 8 + 71 111 8 + 71 112 8 + 71 113 8 + 71 114 8 + 71 115 8 + 71 116 8 + 71 117 8 + 71 118 8 + 71 119 8 + 71 120 8 + 71 121 8 + 71 122 8 + 71 123 8 + 71 124 8 + 71 125 8 + 71 126 8 + 71 127 8 + 71 128 8 + 71 129 8 + 71 130 8 + 71 131 8 + 71 132 8 + 71 133 8 + 71 134 8 + 71 135 8 + 71 136 8 + 71 137 8 + 71 138 8 + 71 139 8 + 71 140 8 + 71 141 8 + 71 142 8 + 71 143 8 + 71 144 8 + 71 145 8 + 71 146 8 + 71 147 8 + 71 148 8 + 71 149 8 + 71 150 8 + 71 151 8 + 71 152 8 + 71 153 8 + 71 154 8 + 71 155 8 + 71 156 8 + 71 157 8 + 71 158 8 + 71 159 8 + 71 160 8 + 71 161 8 + 71 162 8 + 71 163 8 + 71 164 8 + 71 165 8 + 71 166 8 + 71 167 8 + 71 168 8 + 71 169 8 + 71 170 8 + 71 171 8 + 71 172 8 + 71 173 8 + 71 174 8 + 71 175 8 + 71 176 8 + 71 177 8 + 71 178 8 + 71 179 8 + 71 180 8 + 71 181 8 + 71 182 8 + 71 183 8 + 71 184 8 + 71 185 8 + 71 186 8 + 71 187 8 + 71 188 8 + 71 189 8 + 71 190 8 + 71 191 8 + 71 192 8 + 71 193 8 + 71 194 8 + 71 195 8 + 71 196 8 + 71 197 8 + 71 198 8 + 71 199 8 + 71 200 8 + 71 201 8 + 71 202 8 + 71 203 8 + 71 204 8 + 71 205 8 + 71 206 8 + 71 207 8 + 71 208 8 + 71 209 8 + 71 210 8 + 71 211 8 + 71 212 8 + 71 213 8 + 71 214 8 + 71 215 8 + 71 216 8 + 71 217 8 + 71 218 8 + 71 219 8 + 71 220 8 + 71 221 8 + 71 222 8 + 71 223 8 + 71 224 8 + 71 225 8 + 71 226 8 + 71 227 8 + 71 228 8 + 71 229 8 + 71 230 8 + 71 231 8 + 71 232 8 + 71 233 8 + 71 234 8 + 71 235 8 + 71 236 8 + 71 237 8 + 71 238 8 + 71 239 8 + 71 240 8 + 71 241 8 + 71 242 8 + 71 243 8 + 71 244 8 + 71 245 8 + 71 246 8 + 71 247 8 + 71 248 8 + 71 249 8 + 71 250 8 + 71 251 8 + 71 252 8 + 71 253 8 + 71 254 8 + 71 255 8 + 71 256 8 + 71 257 8 + 71 258 8 + 71 259 8 + 71 260 8 + 71 261 8 + 71 262 8 + 71 263 8 + 71 264 8 + 71 265 8 + 71 266 8 + 71 267 8 + 71 268 8 + 71 269 8 + 71 270 8 + 71 271 8 + 71 272 8 + 71 273 8 + 71 274 8 + 71 275 8 + 71 276 8 + 71 277 8 + 71 278 8 + 71 279 8 + 71 280 8 + 71 281 8 + 71 282 8 + 71 283 8 + 71 284 8 + 71 285 8 + 71 286 8 + 71 287 8 + 71 288 8 + 71 289 8 + 71 290 8 + 71 291 8 + 71 292 8 + 71 293 8 + 71 294 8 + 71 295 8 + 71 296 8 + 71 297 8 + 71 298 8 + 71 299 8 + 71 300 8 + 71 301 8 + 71 302 8 + 71 303 8 + 71 304 8 + 71 305 8 + 71 306 8 + 71 307 8 + 71 308 8 + 71 309 8 + 71 310 8 + 71 311 8 + 71 312 8 + 71 313 8 + 71 314 8 + 71 315 8 + 71 316 8 + 71 317 8 + 71 318 8 + 71 319 8 + 71 320 8 + 71 321 8 + 71 322 8 + 71 323 8 + 71 324 8 + 71 325 8 + 71 326 8 + 71 327 8 + 71 328 8 + 71 329 8 + 71 330 8 + 71 331 8 + 71 332 8 + 71 333 8 + 71 334 8 + 71 335 8 + 71 336 8 + 71 337 8 + 71 338 8 + 71 339 8 + 71 340 8 + 71 341 8 + 71 342 8 + 71 343 8 + 71 344 8 + 71 345 8 + 71 346 8 + 71 347 8 + 71 348 8 + 71 349 8 + 72 73 8 + 72 74 8 + 72 75 8 + 72 76 8 + 72 77 8 + 72 78 8 + 72 79 8 + 72 80 8 + 72 81 8 + 72 82 8 + 72 83 8 + 72 84 8 + 72 85 8 + 72 86 8 + 72 87 8 + 72 88 8 + 72 89 8 + 72 90 8 + 72 91 8 + 72 92 8 + 72 93 8 + 72 94 8 + 72 95 8 + 72 96 8 + 72 97 8 + 72 98 8 + 72 99 8 + 72 100 8 + 72 101 8 + 72 102 8 + 72 103 8 + 72 104 8 + 72 105 8 + 72 106 8 + 72 107 8 + 72 108 8 + 72 109 8 + 72 110 8 + 72 111 8 + 72 112 8 + 72 113 8 + 72 114 8 + 72 115 8 + 72 116 8 + 72 117 8 + 72 118 8 + 72 119 8 + 72 120 8 + 72 121 8 + 72 122 8 + 72 123 8 + 72 124 8 + 72 125 8 + 72 126 8 + 72 127 8 + 72 128 8 + 72 129 8 + 72 130 8 + 72 131 8 + 72 132 8 + 72 133 8 + 72 134 8 + 72 135 8 + 72 136 8 + 72 137 8 + 72 138 8 + 72 139 8 + 72 140 8 + 72 141 8 + 72 142 8 + 72 143 8 + 72 144 8 + 72 145 8 + 72 146 8 + 72 147 8 + 72 148 8 + 72 149 8 + 72 150 8 + 72 151 8 + 72 152 8 + 72 153 8 + 72 154 8 + 72 155 8 + 72 156 8 + 72 157 8 + 72 158 8 + 72 159 8 + 72 160 8 + 72 161 8 + 72 162 8 + 72 163 8 + 72 164 8 + 72 165 8 + 72 166 8 + 72 167 8 + 72 168 8 + 72 169 8 + 72 170 8 + 72 171 8 + 72 172 8 + 72 173 8 + 72 174 8 + 72 175 8 + 72 176 8 + 72 177 8 + 72 178 8 + 72 179 8 + 72 180 8 + 72 181 8 + 72 182 8 + 72 183 8 + 72 184 8 + 72 185 8 + 72 186 8 + 72 187 8 + 72 188 8 + 72 189 8 + 72 190 8 + 72 191 8 + 72 192 8 + 72 193 8 + 72 194 8 + 72 195 8 + 72 196 8 + 72 197 8 + 72 198 8 + 72 199 8 + 72 200 8 + 72 201 8 + 72 202 8 + 72 203 8 + 72 204 8 + 72 205 8 + 72 206 8 + 72 207 8 + 72 208 8 + 72 209 8 + 72 210 8 + 72 211 8 + 72 212 8 + 72 213 8 + 72 214 8 + 72 215 8 + 72 216 8 + 72 217 8 + 72 218 8 + 72 219 8 + 72 220 8 + 72 221 8 + 72 222 8 + 72 223 8 + 72 224 8 + 72 225 8 + 72 226 8 + 72 227 8 + 72 228 8 + 72 229 8 + 72 230 8 + 72 231 8 + 72 232 8 + 72 233 8 + 72 234 8 + 72 235 8 + 72 236 8 + 72 237 8 + 72 238 8 + 72 239 8 + 72 240 8 + 72 241 8 + 72 242 8 + 72 243 8 + 72 244 8 + 72 245 8 + 72 246 8 + 72 247 8 + 72 248 8 + 72 249 8 + 72 250 8 + 72 251 8 + 72 252 8 + 72 253 8 + 72 254 8 + 72 255 8 + 72 256 8 + 72 257 8 + 72 258 8 + 72 259 8 + 72 260 8 + 72 261 8 + 72 262 8 + 72 263 8 + 72 264 8 + 72 265 8 + 72 266 8 + 72 267 8 + 72 268 8 + 72 269 8 + 72 270 8 + 72 271 8 + 72 272 8 + 72 273 8 + 72 274 8 + 72 275 8 + 72 276 8 + 72 277 8 + 72 278 8 + 72 279 8 + 72 280 8 + 72 281 8 + 72 282 8 + 72 283 8 + 72 284 8 + 72 285 8 + 72 286 8 + 72 287 8 + 72 288 8 + 72 289 8 + 72 290 8 + 72 291 8 + 72 292 8 + 72 293 8 + 72 294 8 + 72 295 8 + 72 296 8 + 72 297 8 + 72 298 8 + 72 299 8 + 72 300 8 + 72 301 8 + 72 302 8 + 72 303 8 + 72 304 8 + 72 305 8 + 72 306 8 + 72 307 8 + 72 308 8 + 72 309 8 + 72 310 8 + 72 311 8 + 72 312 8 + 72 313 8 + 72 314 8 + 72 315 8 + 72 316 8 + 72 317 8 + 72 318 8 + 72 319 8 + 72 320 8 + 72 321 8 + 72 322 8 + 72 323 8 + 72 324 8 + 72 325 8 + 72 326 8 + 72 327 8 + 72 328 8 + 72 329 8 + 72 330 8 + 72 331 8 + 72 332 8 + 72 333 8 + 72 334 8 + 72 335 8 + 72 336 8 + 72 337 8 + 72 338 8 + 72 339 8 + 72 340 8 + 72 341 8 + 72 342 8 + 72 343 8 + 72 344 8 + 72 345 8 + 72 346 8 + 72 347 8 + 72 348 8 + 72 349 8 + 73 74 8 + 73 75 8 + 73 76 8 + 73 77 8 + 73 78 8 + 73 79 8 + 73 80 8 + 73 81 8 + 73 82 8 + 73 83 8 + 73 84 8 + 73 85 8 + 73 86 8 + 73 87 8 + 73 88 8 + 73 89 8 + 73 90 8 + 73 91 8 + 73 92 8 + 73 93 8 + 73 94 8 + 73 95 8 + 73 96 8 + 73 97 8 + 73 98 8 + 73 99 8 + 73 100 8 + 73 101 8 + 73 102 8 + 73 103 8 + 73 104 8 + 73 105 8 + 73 106 8 + 73 107 8 + 73 108 8 + 73 109 8 + 73 110 8 + 73 111 8 + 73 112 8 + 73 113 8 + 73 114 8 + 73 115 8 + 73 116 8 + 73 117 8 + 73 118 8 + 73 119 8 + 73 120 8 + 73 121 8 + 73 122 8 + 73 123 8 + 73 124 8 + 73 125 8 + 73 126 8 + 73 127 8 + 73 128 8 + 73 129 8 + 73 130 8 + 73 131 8 + 73 132 8 + 73 133 8 + 73 134 8 + 73 135 8 + 73 136 8 + 73 137 8 + 73 138 8 + 73 139 8 + 73 140 8 + 73 141 8 + 73 142 8 + 73 143 8 + 73 144 8 + 73 145 8 + 73 146 8 + 73 147 8 + 73 148 8 + 73 149 8 + 73 150 8 + 73 151 8 + 73 152 8 + 73 153 8 + 73 154 8 + 73 155 8 + 73 156 8 + 73 157 8 + 73 158 8 + 73 159 8 + 73 160 8 + 73 161 8 + 73 162 8 + 73 163 8 + 73 164 8 + 73 165 8 + 73 166 8 + 73 167 8 + 73 168 8 + 73 169 8 + 73 170 8 + 73 171 8 + 73 172 8 + 73 173 8 + 73 174 8 + 73 175 8 + 73 176 8 + 73 177 8 + 73 178 8 + 73 179 8 + 73 180 8 + 73 181 8 + 73 182 8 + 73 183 8 + 73 184 8 + 73 185 8 + 73 186 8 + 73 187 8 + 73 188 8 + 73 189 8 + 73 190 8 + 73 191 8 + 73 192 8 + 73 193 8 + 73 194 8 + 73 195 8 + 73 196 8 + 73 197 8 + 73 198 8 + 73 199 8 + 73 200 8 + 73 201 8 + 73 202 8 + 73 203 8 + 73 204 8 + 73 205 8 + 73 206 8 + 73 207 8 + 73 208 8 + 73 209 8 + 73 210 8 + 73 211 8 + 73 212 8 + 73 213 8 + 73 214 8 + 73 215 8 + 73 216 8 + 73 217 8 + 73 218 8 + 73 219 8 + 73 220 8 + 73 221 8 + 73 222 8 + 73 223 8 + 73 224 8 + 73 225 8 + 73 226 8 + 73 227 8 + 73 228 8 + 73 229 8 + 73 230 8 + 73 231 8 + 73 232 8 + 73 233 8 + 73 234 8 + 73 235 8 + 73 236 8 + 73 237 8 + 73 238 8 + 73 239 8 + 73 240 8 + 73 241 8 + 73 242 8 + 73 243 8 + 73 244 8 + 73 245 8 + 73 246 8 + 73 247 8 + 73 248 8 + 73 249 8 + 73 250 8 + 73 251 8 + 73 252 8 + 73 253 8 + 73 254 8 + 73 255 8 + 73 256 8 + 73 257 8 + 73 258 8 + 73 259 8 + 73 260 8 + 73 261 8 + 73 262 8 + 73 263 8 + 73 264 8 + 73 265 8 + 73 266 8 + 73 267 8 + 73 268 8 + 73 269 8 + 73 270 8 + 73 271 8 + 73 272 8 + 73 273 8 + 73 274 8 + 73 275 8 + 73 276 8 + 73 277 8 + 73 278 8 + 73 279 8 + 73 280 8 + 73 281 8 + 73 282 8 + 73 283 8 + 73 284 8 + 73 285 8 + 73 286 8 + 73 287 8 + 73 288 8 + 73 289 8 + 73 290 8 + 73 291 8 + 73 292 8 + 73 293 8 + 73 294 8 + 73 295 8 + 73 296 8 + 73 297 8 + 73 298 8 + 73 299 8 + 73 300 8 + 73 301 8 + 73 302 8 + 73 303 8 + 73 304 8 + 73 305 8 + 73 306 8 + 73 307 8 + 73 308 8 + 73 309 8 + 73 310 8 + 73 311 8 + 73 312 8 + 73 313 8 + 73 314 8 + 73 315 8 + 73 316 8 + 73 317 8 + 73 318 8 + 73 319 8 + 73 320 8 + 73 321 8 + 73 322 8 + 73 323 8 + 73 324 8 + 73 325 8 + 73 326 8 + 73 327 8 + 73 328 8 + 73 329 8 + 73 330 8 + 73 331 8 + 73 332 8 + 73 333 8 + 73 334 8 + 73 335 8 + 73 336 8 + 73 337 8 + 73 338 8 + 73 339 8 + 73 340 8 + 73 341 8 + 73 342 8 + 73 343 8 + 73 344 8 + 73 345 8 + 73 346 8 + 73 347 8 + 73 348 8 + 73 349 8 + 74 75 8 + 74 76 8 + 74 77 8 + 74 78 8 + 74 79 8 + 74 80 8 + 74 81 8 + 74 82 8 + 74 83 8 + 74 84 8 + 74 85 8 + 74 86 8 + 74 87 8 + 74 88 8 + 74 89 8 + 74 90 8 + 74 91 8 + 74 92 8 + 74 93 8 + 74 94 8 + 74 95 8 + 74 96 8 + 74 97 8 + 74 98 8 + 74 99 8 + 74 100 8 + 74 101 8 + 74 102 8 + 74 103 8 + 74 104 8 + 74 105 8 + 74 106 8 + 74 107 8 + 74 108 8 + 74 109 8 + 74 110 8 + 74 111 8 + 74 112 8 + 74 113 8 + 74 114 8 + 74 115 8 + 74 116 8 + 74 117 8 + 74 118 8 + 74 119 8 + 74 120 8 + 74 121 8 + 74 122 8 + 74 123 8 + 74 124 8 + 74 125 8 + 74 126 8 + 74 127 8 + 74 128 8 + 74 129 8 + 74 130 8 + 74 131 8 + 74 132 8 + 74 133 8 + 74 134 8 + 74 135 8 + 74 136 8 + 74 137 8 + 74 138 8 + 74 139 8 + 74 140 8 + 74 141 8 + 74 142 8 + 74 143 8 + 74 144 8 + 74 145 8 + 74 146 8 + 74 147 8 + 74 148 8 + 74 149 8 + 74 150 8 + 74 151 8 + 74 152 8 + 74 153 8 + 74 154 8 + 74 155 8 + 74 156 8 + 74 157 8 + 74 158 8 + 74 159 8 + 74 160 8 + 74 161 8 + 74 162 8 + 74 163 8 + 74 164 8 + 74 165 8 + 74 166 8 + 74 167 8 + 74 168 8 + 74 169 8 + 74 170 8 + 74 171 8 + 74 172 8 + 74 173 8 + 74 174 8 + 74 175 8 + 74 176 8 + 74 177 8 + 74 178 8 + 74 179 8 + 74 180 8 + 74 181 8 + 74 182 8 + 74 183 8 + 74 184 8 + 74 185 8 + 74 186 8 + 74 187 8 + 74 188 8 + 74 189 8 + 74 190 8 + 74 191 8 + 74 192 8 + 74 193 8 + 74 194 8 + 74 195 8 + 74 196 8 + 74 197 8 + 74 198 8 + 74 199 8 + 74 200 8 + 74 201 8 + 74 202 8 + 74 203 8 + 74 204 8 + 74 205 8 + 74 206 8 + 74 207 8 + 74 208 8 + 74 209 8 + 74 210 8 + 74 211 8 + 74 212 8 + 74 213 8 + 74 214 8 + 74 215 8 + 74 216 8 + 74 217 8 + 74 218 8 + 74 219 8 + 74 220 8 + 74 221 8 + 74 222 8 + 74 223 8 + 74 224 8 + 74 225 8 + 74 226 8 + 74 227 8 + 74 228 8 + 74 229 8 + 74 230 8 + 74 231 8 + 74 232 8 + 74 233 8 + 74 234 8 + 74 235 8 + 74 236 8 + 74 237 8 + 74 238 8 + 74 239 8 + 74 240 8 + 74 241 8 + 74 242 8 + 74 243 8 + 74 244 8 + 74 245 8 + 74 246 8 + 74 247 8 + 74 248 8 + 74 249 8 + 74 250 8 + 74 251 8 + 74 252 8 + 74 253 8 + 74 254 8 + 74 255 8 + 74 256 8 + 74 257 8 + 74 258 8 + 74 259 8 + 74 260 8 + 74 261 8 + 74 262 8 + 74 263 8 + 74 264 8 + 74 265 8 + 74 266 8 + 74 267 8 + 74 268 8 + 74 269 8 + 74 270 8 + 74 271 8 + 74 272 8 + 74 273 8 + 74 274 8 + 74 275 8 + 74 276 8 + 74 277 8 + 74 278 8 + 74 279 8 + 74 280 8 + 74 281 8 + 74 282 8 + 74 283 8 + 74 284 8 + 74 285 8 + 74 286 8 + 74 287 8 + 74 288 8 + 74 289 8 + 74 290 8 + 74 291 8 + 74 292 8 + 74 293 8 + 74 294 8 + 74 295 8 + 74 296 8 + 74 297 8 + 74 298 8 + 74 299 8 + 74 300 8 + 74 301 8 + 74 302 8 + 74 303 8 + 74 304 8 + 74 305 8 + 74 306 8 + 74 307 8 + 74 308 8 + 74 309 8 + 74 310 8 + 74 311 8 + 74 312 8 + 74 313 8 + 74 314 8 + 74 315 8 + 74 316 8 + 74 317 8 + 74 318 8 + 74 319 8 + 74 320 8 + 74 321 8 + 74 322 8 + 74 323 8 + 74 324 8 + 74 325 8 + 74 326 8 + 74 327 8 + 74 328 8 + 74 329 8 + 74 330 8 + 74 331 8 + 74 332 8 + 74 333 8 + 74 334 8 + 74 335 8 + 74 336 8 + 74 337 8 + 74 338 8 + 74 339 8 + 74 340 8 + 74 341 8 + 74 342 8 + 74 343 8 + 74 344 8 + 74 345 8 + 74 346 8 + 74 347 8 + 74 348 8 + 74 349 8 + 75 76 8 + 75 77 8 + 75 78 8 + 75 79 8 + 75 80 8 + 75 81 8 + 75 82 8 + 75 83 8 + 75 84 8 + 75 85 8 + 75 86 8 + 75 87 8 + 75 88 8 + 75 89 8 + 75 90 8 + 75 91 8 + 75 92 8 + 75 93 8 + 75 94 8 + 75 95 8 + 75 96 8 + 75 97 8 + 75 98 8 + 75 99 8 + 75 100 8 + 75 101 8 + 75 102 8 + 75 103 8 + 75 104 8 + 75 105 8 + 75 106 8 + 75 107 8 + 75 108 8 + 75 109 8 + 75 110 8 + 75 111 8 + 75 112 8 + 75 113 8 + 75 114 8 + 75 115 8 + 75 116 8 + 75 117 8 + 75 118 8 + 75 119 8 + 75 120 8 + 75 121 8 + 75 122 8 + 75 123 8 + 75 124 8 + 75 125 8 + 75 126 8 + 75 127 8 + 75 128 8 + 75 129 8 + 75 130 8 + 75 131 8 + 75 132 8 + 75 133 8 + 75 134 8 + 75 135 8 + 75 136 8 + 75 137 8 + 75 138 8 + 75 139 8 + 75 140 8 + 75 141 8 + 75 142 8 + 75 143 8 + 75 144 8 + 75 145 8 + 75 146 8 + 75 147 8 + 75 148 8 + 75 149 8 + 75 150 8 + 75 151 8 + 75 152 8 + 75 153 8 + 75 154 8 + 75 155 8 + 75 156 8 + 75 157 8 + 75 158 8 + 75 159 8 + 75 160 8 + 75 161 8 + 75 162 8 + 75 163 8 + 75 164 8 + 75 165 8 + 75 166 8 + 75 167 8 + 75 168 8 + 75 169 8 + 75 170 8 + 75 171 8 + 75 172 8 + 75 173 8 + 75 174 8 + 75 175 8 + 75 176 8 + 75 177 8 + 75 178 8 + 75 179 8 + 75 180 8 + 75 181 8 + 75 182 8 + 75 183 8 + 75 184 8 + 75 185 8 + 75 186 8 + 75 187 8 + 75 188 8 + 75 189 8 + 75 190 8 + 75 191 8 + 75 192 8 + 75 193 8 + 75 194 8 + 75 195 8 + 75 196 8 + 75 197 8 + 75 198 8 + 75 199 8 + 75 200 8 + 75 201 8 + 75 202 8 + 75 203 8 + 75 204 8 + 75 205 8 + 75 206 8 + 75 207 8 + 75 208 8 + 75 209 8 + 75 210 8 + 75 211 8 + 75 212 8 + 75 213 8 + 75 214 8 + 75 215 8 + 75 216 8 + 75 217 8 + 75 218 8 + 75 219 8 + 75 220 8 + 75 221 8 + 75 222 8 + 75 223 8 + 75 224 8 + 75 225 8 + 75 226 8 + 75 227 8 + 75 228 8 + 75 229 8 + 75 230 8 + 75 231 8 + 75 232 8 + 75 233 8 + 75 234 8 + 75 235 8 + 75 236 8 + 75 237 8 + 75 238 8 + 75 239 8 + 75 240 8 + 75 241 8 + 75 242 8 + 75 243 8 + 75 244 8 + 75 245 8 + 75 246 8 + 75 247 8 + 75 248 8 + 75 249 8 + 75 250 8 + 75 251 8 + 75 252 8 + 75 253 8 + 75 254 8 + 75 255 8 + 75 256 8 + 75 257 8 + 75 258 8 + 75 259 8 + 75 260 8 + 75 261 8 + 75 262 8 + 75 263 8 + 75 264 8 + 75 265 8 + 75 266 8 + 75 267 8 + 75 268 8 + 75 269 8 + 75 270 8 + 75 271 8 + 75 272 8 + 75 273 8 + 75 274 8 + 75 275 8 + 75 276 8 + 75 277 8 + 75 278 8 + 75 279 8 + 75 280 8 + 75 281 8 + 75 282 8 + 75 283 8 + 75 284 8 + 75 285 8 + 75 286 8 + 75 287 8 + 75 288 8 + 75 289 8 + 75 290 8 + 75 291 8 + 75 292 8 + 75 293 8 + 75 294 8 + 75 295 8 + 75 296 8 + 75 297 8 + 75 298 8 + 75 299 8 + 75 300 8 + 75 301 8 + 75 302 8 + 75 303 8 + 75 304 8 + 75 305 8 + 75 306 8 + 75 307 8 + 75 308 8 + 75 309 8 + 75 310 8 + 75 311 8 + 75 312 8 + 75 313 8 + 75 314 8 + 75 315 8 + 75 316 8 + 75 317 8 + 75 318 8 + 75 319 8 + 75 320 8 + 75 321 8 + 75 322 8 + 75 323 8 + 75 324 8 + 75 325 8 + 75 326 8 + 75 327 8 + 75 328 8 + 75 329 8 + 75 330 8 + 75 331 8 + 75 332 8 + 75 333 8 + 75 334 8 + 75 335 8 + 75 336 8 + 75 337 8 + 75 338 8 + 75 339 8 + 75 340 8 + 75 341 8 + 75 342 8 + 75 343 8 + 75 344 8 + 75 345 8 + 75 346 8 + 75 347 8 + 75 348 8 + 75 349 8 + 76 77 8 + 76 78 8 + 76 79 8 + 76 80 8 + 76 81 8 + 76 82 8 + 76 83 8 + 76 84 8 + 76 85 8 + 76 86 8 + 76 87 8 + 76 88 8 + 76 89 8 + 76 90 8 + 76 91 8 + 76 92 8 + 76 93 8 + 76 94 8 + 76 95 8 + 76 96 8 + 76 97 8 + 76 98 8 + 76 99 8 + 76 100 8 + 76 101 8 + 76 102 8 + 76 103 8 + 76 104 8 + 76 105 8 + 76 106 8 + 76 107 8 + 76 108 8 + 76 109 8 + 76 110 8 + 76 111 8 + 76 112 8 + 76 113 8 + 76 114 8 + 76 115 8 + 76 116 8 + 76 117 8 + 76 118 8 + 76 119 8 + 76 120 8 + 76 121 8 + 76 122 8 + 76 123 8 + 76 124 8 + 76 125 8 + 76 126 8 + 76 127 8 + 76 128 8 + 76 129 8 + 76 130 8 + 76 131 8 + 76 132 8 + 76 133 8 + 76 134 8 + 76 135 8 + 76 136 8 + 76 137 8 + 76 138 8 + 76 139 8 + 76 140 8 + 76 141 8 + 76 142 8 + 76 143 8 + 76 144 8 + 76 145 8 + 76 146 8 + 76 147 8 + 76 148 8 + 76 149 8 + 76 150 8 + 76 151 8 + 76 152 8 + 76 153 8 + 76 154 8 + 76 155 8 + 76 156 8 + 76 157 8 + 76 158 8 + 76 159 8 + 76 160 8 + 76 161 8 + 76 162 8 + 76 163 8 + 76 164 8 + 76 165 8 + 76 166 8 + 76 167 8 + 76 168 8 + 76 169 8 + 76 170 8 + 76 171 8 + 76 172 8 + 76 173 8 + 76 174 8 + 76 175 8 + 76 176 8 + 76 177 8 + 76 178 8 + 76 179 8 + 76 180 8 + 76 181 8 + 76 182 8 + 76 183 8 + 76 184 8 + 76 185 8 + 76 186 8 + 76 187 8 + 76 188 8 + 76 189 8 + 76 190 8 + 76 191 8 + 76 192 8 + 76 193 8 + 76 194 8 + 76 195 8 + 76 196 8 + 76 197 8 + 76 198 8 + 76 199 8 + 76 200 8 + 76 201 8 + 76 202 8 + 76 203 8 + 76 204 8 + 76 205 8 + 76 206 8 + 76 207 8 + 76 208 8 + 76 209 8 + 76 210 8 + 76 211 8 + 76 212 8 + 76 213 8 + 76 214 8 + 76 215 8 + 76 216 8 + 76 217 8 + 76 218 8 + 76 219 8 + 76 220 8 + 76 221 8 + 76 222 8 + 76 223 8 + 76 224 8 + 76 225 8 + 76 226 8 + 76 227 8 + 76 228 8 + 76 229 8 + 76 230 8 + 76 231 8 + 76 232 8 + 76 233 8 + 76 234 8 + 76 235 8 + 76 236 8 + 76 237 8 + 76 238 8 + 76 239 8 + 76 240 8 + 76 241 8 + 76 242 8 + 76 243 8 + 76 244 8 + 76 245 8 + 76 246 8 + 76 247 8 + 76 248 8 + 76 249 8 + 76 250 8 + 76 251 8 + 76 252 8 + 76 253 8 + 76 254 8 + 76 255 8 + 76 256 8 + 76 257 8 + 76 258 8 + 76 259 8 + 76 260 8 + 76 261 8 + 76 262 8 + 76 263 8 + 76 264 8 + 76 265 8 + 76 266 8 + 76 267 8 + 76 268 8 + 76 269 8 + 76 270 8 + 76 271 8 + 76 272 8 + 76 273 8 + 76 274 8 + 76 275 8 + 76 276 8 + 76 277 8 + 76 278 8 + 76 279 8 + 76 280 8 + 76 281 8 + 76 282 8 + 76 283 8 + 76 284 8 + 76 285 8 + 76 286 8 + 76 287 8 + 76 288 8 + 76 289 8 + 76 290 8 + 76 291 8 + 76 292 8 + 76 293 8 + 76 294 8 + 76 295 8 + 76 296 8 + 76 297 8 + 76 298 8 + 76 299 8 + 76 300 8 + 76 301 8 + 76 302 8 + 76 303 8 + 76 304 8 + 76 305 8 + 76 306 8 + 76 307 8 + 76 308 8 + 76 309 8 + 76 310 8 + 76 311 8 + 76 312 8 + 76 313 8 + 76 314 8 + 76 315 8 + 76 316 8 + 76 317 8 + 76 318 8 + 76 319 8 + 76 320 8 + 76 321 8 + 76 322 8 + 76 323 8 + 76 324 8 + 76 325 8 + 76 326 8 + 76 327 8 + 76 328 8 + 76 329 8 + 76 330 8 + 76 331 8 + 76 332 8 + 76 333 8 + 76 334 8 + 76 335 8 + 76 336 8 + 76 337 8 + 76 338 8 + 76 339 8 + 76 340 8 + 76 341 8 + 76 342 8 + 76 343 8 + 76 344 8 + 76 345 8 + 76 346 8 + 76 347 8 + 76 348 8 + 76 349 8 + 77 78 8 + 77 79 8 + 77 80 8 + 77 81 8 + 77 82 8 + 77 83 8 + 77 84 8 + 77 85 8 + 77 86 8 + 77 87 8 + 77 88 8 + 77 89 8 + 77 90 8 + 77 91 8 + 77 92 8 + 77 93 8 + 77 94 8 + 77 95 8 + 77 96 8 + 77 97 8 + 77 98 8 + 77 99 8 + 77 100 8 + 77 101 8 + 77 102 8 + 77 103 8 + 77 104 8 + 77 105 8 + 77 106 8 + 77 107 8 + 77 108 8 + 77 109 8 + 77 110 8 + 77 111 8 + 77 112 8 + 77 113 8 + 77 114 8 + 77 115 8 + 77 116 8 + 77 117 8 + 77 118 8 + 77 119 8 + 77 120 8 + 77 121 8 + 77 122 8 + 77 123 8 + 77 124 8 + 77 125 8 + 77 126 8 + 77 127 8 + 77 128 8 + 77 129 8 + 77 130 8 + 77 131 8 + 77 132 8 + 77 133 8 + 77 134 8 + 77 135 8 + 77 136 8 + 77 137 8 + 77 138 8 + 77 139 8 + 77 140 8 + 77 141 8 + 77 142 8 + 77 143 8 + 77 144 8 + 77 145 8 + 77 146 8 + 77 147 8 + 77 148 8 + 77 149 8 + 77 150 8 + 77 151 8 + 77 152 8 + 77 153 8 + 77 154 8 + 77 155 8 + 77 156 8 + 77 157 8 + 77 158 8 + 77 159 8 + 77 160 8 + 77 161 8 + 77 162 8 + 77 163 8 + 77 164 8 + 77 165 8 + 77 166 8 + 77 167 8 + 77 168 8 + 77 169 8 + 77 170 8 + 77 171 8 + 77 172 8 + 77 173 8 + 77 174 8 + 77 175 8 + 77 176 8 + 77 177 8 + 77 178 8 + 77 179 8 + 77 180 8 + 77 181 8 + 77 182 8 + 77 183 8 + 77 184 8 + 77 185 8 + 77 186 8 + 77 187 8 + 77 188 8 + 77 189 8 + 77 190 8 + 77 191 8 + 77 192 8 + 77 193 8 + 77 194 8 + 77 195 8 + 77 196 8 + 77 197 8 + 77 198 8 + 77 199 8 + 77 200 8 + 77 201 8 + 77 202 8 + 77 203 8 + 77 204 8 + 77 205 8 + 77 206 8 + 77 207 8 + 77 208 8 + 77 209 8 + 77 210 8 + 77 211 8 + 77 212 8 + 77 213 8 + 77 214 8 + 77 215 8 + 77 216 8 + 77 217 8 + 77 218 8 + 77 219 8 + 77 220 8 + 77 221 8 + 77 222 8 + 77 223 8 + 77 224 8 + 77 225 8 + 77 226 8 + 77 227 8 + 77 228 8 + 77 229 8 + 77 230 8 + 77 231 8 + 77 232 8 + 77 233 8 + 77 234 8 + 77 235 8 + 77 236 8 + 77 237 8 + 77 238 8 + 77 239 8 + 77 240 8 + 77 241 8 + 77 242 8 + 77 243 8 + 77 244 8 + 77 245 8 + 77 246 8 + 77 247 8 + 77 248 8 + 77 249 8 + 77 250 8 + 77 251 8 + 77 252 8 + 77 253 8 + 77 254 8 + 77 255 8 + 77 256 8 + 77 257 8 + 77 258 8 + 77 259 8 + 77 260 8 + 77 261 8 + 77 262 8 + 77 263 8 + 77 264 8 + 77 265 8 + 77 266 8 + 77 267 8 + 77 268 8 + 77 269 8 + 77 270 8 + 77 271 8 + 77 272 8 + 77 273 8 + 77 274 8 + 77 275 8 + 77 276 8 + 77 277 8 + 77 278 8 + 77 279 8 + 77 280 8 + 77 281 8 + 77 282 8 + 77 283 8 + 77 284 8 + 77 285 8 + 77 286 8 + 77 287 8 + 77 288 8 + 77 289 8 + 77 290 8 + 77 291 8 + 77 292 8 + 77 293 8 + 77 294 8 + 77 295 8 + 77 296 8 + 77 297 8 + 77 298 8 + 77 299 8 + 77 300 8 + 77 301 8 + 77 302 8 + 77 303 8 + 77 304 8 + 77 305 8 + 77 306 8 + 77 307 8 + 77 308 8 + 77 309 8 + 77 310 8 + 77 311 8 + 77 312 8 + 77 313 8 + 77 314 8 + 77 315 8 + 77 316 8 + 77 317 8 + 77 318 8 + 77 319 8 + 77 320 8 + 77 321 8 + 77 322 8 + 77 323 8 + 77 324 8 + 77 325 8 + 77 326 8 + 77 327 8 + 77 328 8 + 77 329 8 + 77 330 8 + 77 331 8 + 77 332 8 + 77 333 8 + 77 334 8 + 77 335 8 + 77 336 8 + 77 337 8 + 77 338 8 + 77 339 8 + 77 340 8 + 77 341 8 + 77 342 8 + 77 343 8 + 77 344 8 + 77 345 8 + 77 346 8 + 77 347 8 + 77 348 8 + 77 349 8 + 78 79 8 + 78 80 8 + 78 81 8 + 78 82 8 + 78 83 8 + 78 84 8 + 78 85 8 + 78 86 8 + 78 87 8 + 78 88 8 + 78 89 8 + 78 90 8 + 78 91 8 + 78 92 8 + 78 93 8 + 78 94 8 + 78 95 8 + 78 96 8 + 78 97 8 + 78 98 8 + 78 99 8 + 78 100 8 + 78 101 8 + 78 102 8 + 78 103 8 + 78 104 8 + 78 105 8 + 78 106 8 + 78 107 8 + 78 108 8 + 78 109 8 + 78 110 8 + 78 111 8 + 78 112 8 + 78 113 8 + 78 114 8 + 78 115 8 + 78 116 8 + 78 117 8 + 78 118 8 + 78 119 8 + 78 120 8 + 78 121 8 + 78 122 8 + 78 123 8 + 78 124 8 + 78 125 8 + 78 126 8 + 78 127 8 + 78 128 8 + 78 129 8 + 78 130 8 + 78 131 8 + 78 132 8 + 78 133 8 + 78 134 8 + 78 135 8 + 78 136 8 + 78 137 8 + 78 138 8 + 78 139 8 + 78 140 8 + 78 141 8 + 78 142 8 + 78 143 8 + 78 144 8 + 78 145 8 + 78 146 8 + 78 147 8 + 78 148 8 + 78 149 8 + 78 150 8 + 78 151 8 + 78 152 8 + 78 153 8 + 78 154 8 + 78 155 8 + 78 156 8 + 78 157 8 + 78 158 8 + 78 159 8 + 78 160 8 + 78 161 8 + 78 162 8 + 78 163 8 + 78 164 8 + 78 165 8 + 78 166 8 + 78 167 8 + 78 168 8 + 78 169 8 + 78 170 8 + 78 171 8 + 78 172 8 + 78 173 8 + 78 174 8 + 78 175 8 + 78 176 8 + 78 177 8 + 78 178 8 + 78 179 8 + 78 180 8 + 78 181 8 + 78 182 8 + 78 183 8 + 78 184 8 + 78 185 8 + 78 186 8 + 78 187 8 + 78 188 8 + 78 189 8 + 78 190 8 + 78 191 8 + 78 192 8 + 78 193 8 + 78 194 8 + 78 195 8 + 78 196 8 + 78 197 8 + 78 198 8 + 78 199 8 + 78 200 8 + 78 201 8 + 78 202 8 + 78 203 8 + 78 204 8 + 78 205 8 + 78 206 8 + 78 207 8 + 78 208 8 + 78 209 8 + 78 210 8 + 78 211 8 + 78 212 8 + 78 213 8 + 78 214 8 + 78 215 8 + 78 216 8 + 78 217 8 + 78 218 8 + 78 219 8 + 78 220 8 + 78 221 8 + 78 222 8 + 78 223 8 + 78 224 8 + 78 225 8 + 78 226 8 + 78 227 8 + 78 228 8 + 78 229 8 + 78 230 8 + 78 231 8 + 78 232 8 + 78 233 8 + 78 234 8 + 78 235 8 + 78 236 8 + 78 237 8 + 78 238 8 + 78 239 8 + 78 240 8 + 78 241 8 + 78 242 8 + 78 243 8 + 78 244 8 + 78 245 8 + 78 246 8 + 78 247 8 + 78 248 8 + 78 249 8 + 78 250 8 + 78 251 8 + 78 252 8 + 78 253 8 + 78 254 8 + 78 255 8 + 78 256 8 + 78 257 8 + 78 258 8 + 78 259 8 + 78 260 8 + 78 261 8 + 78 262 8 + 78 263 8 + 78 264 8 + 78 265 8 + 78 266 8 + 78 267 8 + 78 268 8 + 78 269 8 + 78 270 8 + 78 271 8 + 78 272 8 + 78 273 8 + 78 274 8 + 78 275 8 + 78 276 8 + 78 277 8 + 78 278 8 + 78 279 8 + 78 280 8 + 78 281 8 + 78 282 8 + 78 283 8 + 78 284 8 + 78 285 8 + 78 286 8 + 78 287 8 + 78 288 8 + 78 289 8 + 78 290 8 + 78 291 8 + 78 292 8 + 78 293 8 + 78 294 8 + 78 295 8 + 78 296 8 + 78 297 8 + 78 298 8 + 78 299 8 + 78 300 8 + 78 301 8 + 78 302 8 + 78 303 8 + 78 304 8 + 78 305 8 + 78 306 8 + 78 307 8 + 78 308 8 + 78 309 8 + 78 310 8 + 78 311 8 + 78 312 8 + 78 313 8 + 78 314 8 + 78 315 8 + 78 316 8 + 78 317 8 + 78 318 8 + 78 319 8 + 78 320 8 + 78 321 8 + 78 322 8 + 78 323 8 + 78 324 8 + 78 325 8 + 78 326 8 + 78 327 8 + 78 328 8 + 78 329 8 + 78 330 8 + 78 331 8 + 78 332 8 + 78 333 8 + 78 334 8 + 78 335 8 + 78 336 8 + 78 337 8 + 78 338 8 + 78 339 8 + 78 340 8 + 78 341 8 + 78 342 8 + 78 343 8 + 78 344 8 + 78 345 8 + 78 346 8 + 78 347 8 + 78 348 8 + 78 349 8 + 79 80 8 + 79 81 8 + 79 82 8 + 79 83 8 + 79 84 8 + 79 85 8 + 79 86 8 + 79 87 8 + 79 88 8 + 79 89 8 + 79 90 8 + 79 91 8 + 79 92 8 + 79 93 8 + 79 94 8 + 79 95 8 + 79 96 8 + 79 97 8 + 79 98 8 + 79 99 8 + 79 100 8 + 79 101 8 + 79 102 8 + 79 103 8 + 79 104 8 + 79 105 8 + 79 106 8 + 79 107 8 + 79 108 8 + 79 109 8 + 79 110 8 + 79 111 8 + 79 112 8 + 79 113 8 + 79 114 8 + 79 115 8 + 79 116 8 + 79 117 8 + 79 118 8 + 79 119 8 + 79 120 8 + 79 121 8 + 79 122 8 + 79 123 8 + 79 124 8 + 79 125 8 + 79 126 8 + 79 127 8 + 79 128 8 + 79 129 8 + 79 130 8 + 79 131 8 + 79 132 8 + 79 133 8 + 79 134 8 + 79 135 8 + 79 136 8 + 79 137 8 + 79 138 8 + 79 139 8 + 79 140 8 + 79 141 8 + 79 142 8 + 79 143 8 + 79 144 8 + 79 145 8 + 79 146 8 + 79 147 8 + 79 148 8 + 79 149 8 + 79 150 8 + 79 151 8 + 79 152 8 + 79 153 8 + 79 154 8 + 79 155 8 + 79 156 8 + 79 157 8 + 79 158 8 + 79 159 8 + 79 160 8 + 79 161 8 + 79 162 8 + 79 163 8 + 79 164 8 + 79 165 8 + 79 166 8 + 79 167 8 + 79 168 8 + 79 169 8 + 79 170 8 + 79 171 8 + 79 172 8 + 79 173 8 + 79 174 8 + 79 175 8 + 79 176 8 + 79 177 8 + 79 178 8 + 79 179 8 + 79 180 8 + 79 181 8 + 79 182 8 + 79 183 8 + 79 184 8 + 79 185 8 + 79 186 8 + 79 187 8 + 79 188 8 + 79 189 8 + 79 190 8 + 79 191 8 + 79 192 8 + 79 193 8 + 79 194 8 + 79 195 8 + 79 196 8 + 79 197 8 + 79 198 8 + 79 199 8 + 79 200 8 + 79 201 8 + 79 202 8 + 79 203 8 + 79 204 8 + 79 205 8 + 79 206 8 + 79 207 8 + 79 208 8 + 79 209 8 + 79 210 8 + 79 211 8 + 79 212 8 + 79 213 8 + 79 214 8 + 79 215 8 + 79 216 8 + 79 217 8 + 79 218 8 + 79 219 8 + 79 220 8 + 79 221 8 + 79 222 8 + 79 223 8 + 79 224 8 + 79 225 8 + 79 226 8 + 79 227 8 + 79 228 8 + 79 229 8 + 79 230 8 + 79 231 8 + 79 232 8 + 79 233 8 + 79 234 8 + 79 235 8 + 79 236 8 + 79 237 8 + 79 238 8 + 79 239 8 + 79 240 8 + 79 241 8 + 79 242 8 + 79 243 8 + 79 244 8 + 79 245 8 + 79 246 8 + 79 247 8 + 79 248 8 + 79 249 8 + 79 250 8 + 79 251 8 + 79 252 8 + 79 253 8 + 79 254 8 + 79 255 8 + 79 256 8 + 79 257 8 + 79 258 8 + 79 259 8 + 79 260 8 + 79 261 8 + 79 262 8 + 79 263 8 + 79 264 8 + 79 265 8 + 79 266 8 + 79 267 8 + 79 268 8 + 79 269 8 + 79 270 8 + 79 271 8 + 79 272 8 + 79 273 8 + 79 274 8 + 79 275 8 + 79 276 8 + 79 277 8 + 79 278 8 + 79 279 8 + 79 280 8 + 79 281 8 + 79 282 8 + 79 283 8 + 79 284 8 + 79 285 8 + 79 286 8 + 79 287 8 + 79 288 8 + 79 289 8 + 79 290 8 + 79 291 8 + 79 292 8 + 79 293 8 + 79 294 8 + 79 295 8 + 79 296 8 + 79 297 8 + 79 298 8 + 79 299 8 + 79 300 8 + 79 301 8 + 79 302 8 + 79 303 8 + 79 304 8 + 79 305 8 + 79 306 8 + 79 307 8 + 79 308 8 + 79 309 8 + 79 310 8 + 79 311 8 + 79 312 8 + 79 313 8 + 79 314 8 + 79 315 8 + 79 316 8 + 79 317 8 + 79 318 8 + 79 319 8 + 79 320 8 + 79 321 8 + 79 322 8 + 79 323 8 + 79 324 8 + 79 325 8 + 79 326 8 + 79 327 8 + 79 328 8 + 79 329 8 + 79 330 8 + 79 331 8 + 79 332 8 + 79 333 8 + 79 334 8 + 79 335 8 + 79 336 8 + 79 337 8 + 79 338 8 + 79 339 8 + 79 340 8 + 79 341 8 + 79 342 8 + 79 343 8 + 79 344 8 + 79 345 8 + 79 346 8 + 79 347 8 + 79 348 8 + 79 349 8 + 80 81 8 + 80 82 8 + 80 83 8 + 80 84 8 + 80 85 8 + 80 86 8 + 80 87 8 + 80 88 8 + 80 89 8 + 80 90 8 + 80 91 8 + 80 92 8 + 80 93 8 + 80 94 8 + 80 95 8 + 80 96 8 + 80 97 8 + 80 98 8 + 80 99 8 + 80 100 8 + 80 101 8 + 80 102 8 + 80 103 8 + 80 104 8 + 80 105 8 + 80 106 8 + 80 107 8 + 80 108 8 + 80 109 8 + 80 110 8 + 80 111 8 + 80 112 8 + 80 113 8 + 80 114 8 + 80 115 8 + 80 116 8 + 80 117 8 + 80 118 8 + 80 119 8 + 80 120 8 + 80 121 8 + 80 122 8 + 80 123 8 + 80 124 8 + 80 125 8 + 80 126 8 + 80 127 8 + 80 128 8 + 80 129 8 + 80 130 8 + 80 131 8 + 80 132 8 + 80 133 8 + 80 134 8 + 80 135 8 + 80 136 8 + 80 137 8 + 80 138 8 + 80 139 8 + 80 140 8 + 80 141 8 + 80 142 8 + 80 143 8 + 80 144 8 + 80 145 8 + 80 146 8 + 80 147 8 + 80 148 8 + 80 149 8 + 80 150 8 + 80 151 8 + 80 152 8 + 80 153 8 + 80 154 8 + 80 155 8 + 80 156 8 + 80 157 8 + 80 158 8 + 80 159 8 + 80 160 8 + 80 161 8 + 80 162 8 + 80 163 8 + 80 164 8 + 80 165 8 + 80 166 8 + 80 167 8 + 80 168 8 + 80 169 8 + 80 170 8 + 80 171 8 + 80 172 8 + 80 173 8 + 80 174 8 + 80 175 8 + 80 176 8 + 80 177 8 + 80 178 8 + 80 179 8 + 80 180 8 + 80 181 8 + 80 182 8 + 80 183 8 + 80 184 8 + 80 185 8 + 80 186 8 + 80 187 8 + 80 188 8 + 80 189 8 + 80 190 8 + 80 191 8 + 80 192 8 + 80 193 8 + 80 194 8 + 80 195 8 + 80 196 8 + 80 197 8 + 80 198 8 + 80 199 8 + 80 200 8 + 80 201 8 + 80 202 8 + 80 203 8 + 80 204 8 + 80 205 8 + 80 206 8 + 80 207 8 + 80 208 8 + 80 209 8 + 80 210 8 + 80 211 8 + 80 212 8 + 80 213 8 + 80 214 8 + 80 215 8 + 80 216 8 + 80 217 8 + 80 218 8 + 80 219 8 + 80 220 8 + 80 221 8 + 80 222 8 + 80 223 8 + 80 224 8 + 80 225 8 + 80 226 8 + 80 227 8 + 80 228 8 + 80 229 8 + 80 230 8 + 80 231 8 + 80 232 8 + 80 233 8 + 80 234 8 + 80 235 8 + 80 236 8 + 80 237 8 + 80 238 8 + 80 239 8 + 80 240 8 + 80 241 8 + 80 242 8 + 80 243 8 + 80 244 8 + 80 245 8 + 80 246 8 + 80 247 8 + 80 248 8 + 80 249 8 + 80 250 8 + 80 251 8 + 80 252 8 + 80 253 8 + 80 254 8 + 80 255 8 + 80 256 8 + 80 257 8 + 80 258 8 + 80 259 8 + 80 260 8 + 80 261 8 + 80 262 8 + 80 263 8 + 80 264 8 + 80 265 8 + 80 266 8 + 80 267 8 + 80 268 8 + 80 269 8 + 80 270 8 + 80 271 8 + 80 272 8 + 80 273 8 + 80 274 8 + 80 275 8 + 80 276 8 + 80 277 8 + 80 278 8 + 80 279 8 + 80 280 8 + 80 281 8 + 80 282 8 + 80 283 8 + 80 284 8 + 80 285 8 + 80 286 8 + 80 287 8 + 80 288 8 + 80 289 8 + 80 290 8 + 80 291 8 + 80 292 8 + 80 293 8 + 80 294 8 + 80 295 8 + 80 296 8 + 80 297 8 + 80 298 8 + 80 299 8 + 80 300 8 + 80 301 8 + 80 302 8 + 80 303 8 + 80 304 8 + 80 305 8 + 80 306 8 + 80 307 8 + 80 308 8 + 80 309 8 + 80 310 8 + 80 311 8 + 80 312 8 + 80 313 8 + 80 314 8 + 80 315 8 + 80 316 8 + 80 317 8 + 80 318 8 + 80 319 8 + 80 320 8 + 80 321 8 + 80 322 8 + 80 323 8 + 80 324 8 + 80 325 8 + 80 326 8 + 80 327 8 + 80 328 8 + 80 329 8 + 80 330 8 + 80 331 8 + 80 332 8 + 80 333 8 + 80 334 8 + 80 335 8 + 80 336 8 + 80 337 8 + 80 338 8 + 80 339 8 + 80 340 8 + 80 341 8 + 80 342 8 + 80 343 8 + 80 344 8 + 80 345 8 + 80 346 8 + 80 347 8 + 80 348 8 + 80 349 8 + 81 82 8 + 81 83 8 + 81 84 8 + 81 85 8 + 81 86 8 + 81 87 8 + 81 88 8 + 81 89 8 + 81 90 8 + 81 91 8 + 81 92 8 + 81 93 8 + 81 94 8 + 81 95 8 + 81 96 8 + 81 97 8 + 81 98 8 + 81 99 8 + 81 100 8 + 81 101 8 + 81 102 8 + 81 103 8 + 81 104 8 + 81 105 8 + 81 106 8 + 81 107 8 + 81 108 8 + 81 109 8 + 81 110 8 + 81 111 8 + 81 112 8 + 81 113 8 + 81 114 8 + 81 115 8 + 81 116 8 + 81 117 8 + 81 118 8 + 81 119 8 + 81 120 8 + 81 121 8 + 81 122 8 + 81 123 8 + 81 124 8 + 81 125 8 + 81 126 8 + 81 127 8 + 81 128 8 + 81 129 8 + 81 130 8 + 81 131 8 + 81 132 8 + 81 133 8 + 81 134 8 + 81 135 8 + 81 136 8 + 81 137 8 + 81 138 8 + 81 139 8 + 81 140 8 + 81 141 8 + 81 142 8 + 81 143 8 + 81 144 8 + 81 145 8 + 81 146 8 + 81 147 8 + 81 148 8 + 81 149 8 + 81 150 8 + 81 151 8 + 81 152 8 + 81 153 8 + 81 154 8 + 81 155 8 + 81 156 8 + 81 157 8 + 81 158 8 + 81 159 8 + 81 160 8 + 81 161 8 + 81 162 8 + 81 163 8 + 81 164 8 + 81 165 8 + 81 166 8 + 81 167 8 + 81 168 8 + 81 169 8 + 81 170 8 + 81 171 8 + 81 172 8 + 81 173 8 + 81 174 8 + 81 175 8 + 81 176 8 + 81 177 8 + 81 178 8 + 81 179 8 + 81 180 8 + 81 181 8 + 81 182 8 + 81 183 8 + 81 184 8 + 81 185 8 + 81 186 8 + 81 187 8 + 81 188 8 + 81 189 8 + 81 190 8 + 81 191 8 + 81 192 8 + 81 193 8 + 81 194 8 + 81 195 8 + 81 196 8 + 81 197 8 + 81 198 8 + 81 199 8 + 81 200 8 + 81 201 8 + 81 202 8 + 81 203 8 + 81 204 8 + 81 205 8 + 81 206 8 + 81 207 8 + 81 208 8 + 81 209 8 + 81 210 8 + 81 211 8 + 81 212 8 + 81 213 8 + 81 214 8 + 81 215 8 + 81 216 8 + 81 217 8 + 81 218 8 + 81 219 8 + 81 220 8 + 81 221 8 + 81 222 8 + 81 223 8 + 81 224 8 + 81 225 8 + 81 226 8 + 81 227 8 + 81 228 8 + 81 229 8 + 81 230 8 + 81 231 8 + 81 232 8 + 81 233 8 + 81 234 8 + 81 235 8 + 81 236 8 + 81 237 8 + 81 238 8 + 81 239 8 + 81 240 8 + 81 241 8 + 81 242 8 + 81 243 8 + 81 244 8 + 81 245 8 + 81 246 8 + 81 247 8 + 81 248 8 + 81 249 8 + 81 250 8 + 81 251 8 + 81 252 8 + 81 253 8 + 81 254 8 + 81 255 8 + 81 256 8 + 81 257 8 + 81 258 8 + 81 259 8 + 81 260 8 + 81 261 8 + 81 262 8 + 81 263 8 + 81 264 8 + 81 265 8 + 81 266 8 + 81 267 8 + 81 268 8 + 81 269 8 + 81 270 8 + 81 271 8 + 81 272 8 + 81 273 8 + 81 274 8 + 81 275 8 + 81 276 8 + 81 277 8 + 81 278 8 + 81 279 8 + 81 280 8 + 81 281 8 + 81 282 8 + 81 283 8 + 81 284 8 + 81 285 8 + 81 286 8 + 81 287 8 + 81 288 8 + 81 289 8 + 81 290 8 + 81 291 8 + 81 292 8 + 81 293 8 + 81 294 8 + 81 295 8 + 81 296 8 + 81 297 8 + 81 298 8 + 81 299 8 + 81 300 8 + 81 301 8 + 81 302 8 + 81 303 8 + 81 304 8 + 81 305 8 + 81 306 8 + 81 307 8 + 81 308 8 + 81 309 8 + 81 310 8 + 81 311 8 + 81 312 8 + 81 313 8 + 81 314 8 + 81 315 8 + 81 316 8 + 81 317 8 + 81 318 8 + 81 319 8 + 81 320 8 + 81 321 8 + 81 322 8 + 81 323 8 + 81 324 8 + 81 325 8 + 81 326 8 + 81 327 8 + 81 328 8 + 81 329 8 + 81 330 8 + 81 331 8 + 81 332 8 + 81 333 8 + 81 334 8 + 81 335 8 + 81 336 8 + 81 337 8 + 81 338 8 + 81 339 8 + 81 340 8 + 81 341 8 + 81 342 8 + 81 343 8 + 81 344 8 + 81 345 8 + 81 346 8 + 81 347 8 + 81 348 8 + 81 349 8 + 82 83 8 + 82 84 8 + 82 85 8 + 82 86 8 + 82 87 8 + 82 88 8 + 82 89 8 + 82 90 8 + 82 91 8 + 82 92 8 + 82 93 8 + 82 94 8 + 82 95 8 + 82 96 8 + 82 97 8 + 82 98 8 + 82 99 8 + 82 100 8 + 82 101 8 + 82 102 8 + 82 103 8 + 82 104 8 + 82 105 8 + 82 106 8 + 82 107 8 + 82 108 8 + 82 109 8 + 82 110 8 + 82 111 8 + 82 112 8 + 82 113 8 + 82 114 8 + 82 115 8 + 82 116 8 + 82 117 8 + 82 118 8 + 82 119 8 + 82 120 8 + 82 121 8 + 82 122 8 + 82 123 8 + 82 124 8 + 82 125 8 + 82 126 8 + 82 127 8 + 82 128 8 + 82 129 8 + 82 130 8 + 82 131 8 + 82 132 8 + 82 133 8 + 82 134 8 + 82 135 8 + 82 136 8 + 82 137 8 + 82 138 8 + 82 139 8 + 82 140 8 + 82 141 8 + 82 142 8 + 82 143 8 + 82 144 8 + 82 145 8 + 82 146 8 + 82 147 8 + 82 148 8 + 82 149 8 + 82 150 8 + 82 151 8 + 82 152 8 + 82 153 8 + 82 154 8 + 82 155 8 + 82 156 8 + 82 157 8 + 82 158 8 + 82 159 8 + 82 160 8 + 82 161 8 + 82 162 8 + 82 163 8 + 82 164 8 + 82 165 8 + 82 166 8 + 82 167 8 + 82 168 8 + 82 169 8 + 82 170 8 + 82 171 8 + 82 172 8 + 82 173 8 + 82 174 8 + 82 175 8 + 82 176 8 + 82 177 8 + 82 178 8 + 82 179 8 + 82 180 8 + 82 181 8 + 82 182 8 + 82 183 8 + 82 184 8 + 82 185 8 + 82 186 8 + 82 187 8 + 82 188 8 + 82 189 8 + 82 190 8 + 82 191 8 + 82 192 8 + 82 193 8 + 82 194 8 + 82 195 8 + 82 196 8 + 82 197 8 + 82 198 8 + 82 199 8 + 82 200 8 + 82 201 8 + 82 202 8 + 82 203 8 + 82 204 8 + 82 205 8 + 82 206 8 + 82 207 8 + 82 208 8 + 82 209 8 + 82 210 8 + 82 211 8 + 82 212 8 + 82 213 8 + 82 214 8 + 82 215 8 + 82 216 8 + 82 217 8 + 82 218 8 + 82 219 8 + 82 220 8 + 82 221 8 + 82 222 8 + 82 223 8 + 82 224 8 + 82 225 8 + 82 226 8 + 82 227 8 + 82 228 8 + 82 229 8 + 82 230 8 + 82 231 8 + 82 232 8 + 82 233 8 + 82 234 8 + 82 235 8 + 82 236 8 + 82 237 8 + 82 238 8 + 82 239 8 + 82 240 8 + 82 241 8 + 82 242 8 + 82 243 8 + 82 244 8 + 82 245 8 + 82 246 8 + 82 247 8 + 82 248 8 + 82 249 8 + 82 250 8 + 82 251 8 + 82 252 8 + 82 253 8 + 82 254 8 + 82 255 8 + 82 256 8 + 82 257 8 + 82 258 8 + 82 259 8 + 82 260 8 + 82 261 8 + 82 262 8 + 82 263 8 + 82 264 8 + 82 265 8 + 82 266 8 + 82 267 8 + 82 268 8 + 82 269 8 + 82 270 8 + 82 271 8 + 82 272 8 + 82 273 8 + 82 274 8 + 82 275 8 + 82 276 8 + 82 277 8 + 82 278 8 + 82 279 8 + 82 280 8 + 82 281 8 + 82 282 8 + 82 283 8 + 82 284 8 + 82 285 8 + 82 286 8 + 82 287 8 + 82 288 8 + 82 289 8 + 82 290 8 + 82 291 8 + 82 292 8 + 82 293 8 + 82 294 8 + 82 295 8 + 82 296 8 + 82 297 8 + 82 298 8 + 82 299 8 + 82 300 8 + 82 301 8 + 82 302 8 + 82 303 8 + 82 304 8 + 82 305 8 + 82 306 8 + 82 307 8 + 82 308 8 + 82 309 8 + 82 310 8 + 82 311 8 + 82 312 8 + 82 313 8 + 82 314 8 + 82 315 8 + 82 316 8 + 82 317 8 + 82 318 8 + 82 319 8 + 82 320 8 + 82 321 8 + 82 322 8 + 82 323 8 + 82 324 8 + 82 325 8 + 82 326 8 + 82 327 8 + 82 328 8 + 82 329 8 + 82 330 8 + 82 331 8 + 82 332 8 + 82 333 8 + 82 334 8 + 82 335 8 + 82 336 8 + 82 337 8 + 82 338 8 + 82 339 8 + 82 340 8 + 82 341 8 + 82 342 8 + 82 343 8 + 82 344 8 + 82 345 8 + 82 346 8 + 82 347 8 + 82 348 8 + 82 349 8 + 83 84 8 + 83 85 8 + 83 86 8 + 83 87 8 + 83 88 8 + 83 89 8 + 83 90 8 + 83 91 8 + 83 92 8 + 83 93 8 + 83 94 8 + 83 95 8 + 83 96 8 + 83 97 8 + 83 98 8 + 83 99 8 + 83 100 8 + 83 101 8 + 83 102 8 + 83 103 8 + 83 104 8 + 83 105 8 + 83 106 8 + 83 107 8 + 83 108 8 + 83 109 8 + 83 110 8 + 83 111 8 + 83 112 8 + 83 113 8 + 83 114 8 + 83 115 8 + 83 116 8 + 83 117 8 + 83 118 8 + 83 119 8 + 83 120 8 + 83 121 8 + 83 122 8 + 83 123 8 + 83 124 8 + 83 125 8 + 83 126 8 + 83 127 8 + 83 128 8 + 83 129 8 + 83 130 8 + 83 131 8 + 83 132 8 + 83 133 8 + 83 134 8 + 83 135 8 + 83 136 8 + 83 137 8 + 83 138 8 + 83 139 8 + 83 140 8 + 83 141 8 + 83 142 8 + 83 143 8 + 83 144 8 + 83 145 8 + 83 146 8 + 83 147 8 + 83 148 8 + 83 149 8 + 83 150 8 + 83 151 8 + 83 152 8 + 83 153 8 + 83 154 8 + 83 155 8 + 83 156 8 + 83 157 8 + 83 158 8 + 83 159 8 + 83 160 8 + 83 161 8 + 83 162 8 + 83 163 8 + 83 164 8 + 83 165 8 + 83 166 8 + 83 167 8 + 83 168 8 + 83 169 8 + 83 170 8 + 83 171 8 + 83 172 8 + 83 173 8 + 83 174 8 + 83 175 8 + 83 176 8 + 83 177 8 + 83 178 8 + 83 179 8 + 83 180 8 + 83 181 8 + 83 182 8 + 83 183 8 + 83 184 8 + 83 185 8 + 83 186 8 + 83 187 8 + 83 188 8 + 83 189 8 + 83 190 8 + 83 191 8 + 83 192 8 + 83 193 8 + 83 194 8 + 83 195 8 + 83 196 8 + 83 197 8 + 83 198 8 + 83 199 8 + 83 200 8 + 83 201 8 + 83 202 8 + 83 203 8 + 83 204 8 + 83 205 8 + 83 206 8 + 83 207 8 + 83 208 8 + 83 209 8 + 83 210 8 + 83 211 8 + 83 212 8 + 83 213 8 + 83 214 8 + 83 215 8 + 83 216 8 + 83 217 8 + 83 218 8 + 83 219 8 + 83 220 8 + 83 221 8 + 83 222 8 + 83 223 8 + 83 224 8 + 83 225 8 + 83 226 8 + 83 227 8 + 83 228 8 + 83 229 8 + 83 230 8 + 83 231 8 + 83 232 8 + 83 233 8 + 83 234 8 + 83 235 8 + 83 236 8 + 83 237 8 + 83 238 8 + 83 239 8 + 83 240 8 + 83 241 8 + 83 242 8 + 83 243 8 + 83 244 8 + 83 245 8 + 83 246 8 + 83 247 8 + 83 248 8 + 83 249 8 + 83 250 8 + 83 251 8 + 83 252 8 + 83 253 8 + 83 254 8 + 83 255 8 + 83 256 8 + 83 257 8 + 83 258 8 + 83 259 8 + 83 260 8 + 83 261 8 + 83 262 8 + 83 263 8 + 83 264 8 + 83 265 8 + 83 266 8 + 83 267 8 + 83 268 8 + 83 269 8 + 83 270 8 + 83 271 8 + 83 272 8 + 83 273 8 + 83 274 8 + 83 275 8 + 83 276 8 + 83 277 8 + 83 278 8 + 83 279 8 + 83 280 8 + 83 281 8 + 83 282 8 + 83 283 8 + 83 284 8 + 83 285 8 + 83 286 8 + 83 287 8 + 83 288 8 + 83 289 8 + 83 290 8 + 83 291 8 + 83 292 8 + 83 293 8 + 83 294 8 + 83 295 8 + 83 296 8 + 83 297 8 + 83 298 8 + 83 299 8 + 83 300 8 + 83 301 8 + 83 302 8 + 83 303 8 + 83 304 8 + 83 305 8 + 83 306 8 + 83 307 8 + 83 308 8 + 83 309 8 + 83 310 8 + 83 311 8 + 83 312 8 + 83 313 8 + 83 314 8 + 83 315 8 + 83 316 8 + 83 317 8 + 83 318 8 + 83 319 8 + 83 320 8 + 83 321 8 + 83 322 8 + 83 323 8 + 83 324 8 + 83 325 8 + 83 326 8 + 83 327 8 + 83 328 8 + 83 329 8 + 83 330 8 + 83 331 8 + 83 332 8 + 83 333 8 + 83 334 8 + 83 335 8 + 83 336 8 + 83 337 8 + 83 338 8 + 83 339 8 + 83 340 8 + 83 341 8 + 83 342 8 + 83 343 8 + 83 344 8 + 83 345 8 + 83 346 8 + 83 347 8 + 83 348 8 + 83 349 8 + 84 85 8 + 84 86 8 + 84 87 8 + 84 88 8 + 84 89 8 + 84 90 8 + 84 91 8 + 84 92 8 + 84 93 8 + 84 94 8 + 84 95 8 + 84 96 8 + 84 97 8 + 84 98 8 + 84 99 8 + 84 100 8 + 84 101 8 + 84 102 8 + 84 103 8 + 84 104 8 + 84 105 8 + 84 106 8 + 84 107 8 + 84 108 8 + 84 109 8 + 84 110 8 + 84 111 8 + 84 112 8 + 84 113 8 + 84 114 8 + 84 115 8 + 84 116 8 + 84 117 8 + 84 118 8 + 84 119 8 + 84 120 8 + 84 121 8 + 84 122 8 + 84 123 8 + 84 124 8 + 84 125 8 + 84 126 8 + 84 127 8 + 84 128 8 + 84 129 8 + 84 130 8 + 84 131 8 + 84 132 8 + 84 133 8 + 84 134 8 + 84 135 8 + 84 136 8 + 84 137 8 + 84 138 8 + 84 139 8 + 84 140 8 + 84 141 8 + 84 142 8 + 84 143 8 + 84 144 8 + 84 145 8 + 84 146 8 + 84 147 8 + 84 148 8 + 84 149 8 + 84 150 8 + 84 151 8 + 84 152 8 + 84 153 8 + 84 154 8 + 84 155 8 + 84 156 8 + 84 157 8 + 84 158 8 + 84 159 8 + 84 160 8 + 84 161 8 + 84 162 8 + 84 163 8 + 84 164 8 + 84 165 8 + 84 166 8 + 84 167 8 + 84 168 8 + 84 169 8 + 84 170 8 + 84 171 8 + 84 172 8 + 84 173 8 + 84 174 8 + 84 175 8 + 84 176 8 + 84 177 8 + 84 178 8 + 84 179 8 + 84 180 8 + 84 181 8 + 84 182 8 + 84 183 8 + 84 184 8 + 84 185 8 + 84 186 8 + 84 187 8 + 84 188 8 + 84 189 8 + 84 190 8 + 84 191 8 + 84 192 8 + 84 193 8 + 84 194 8 + 84 195 8 + 84 196 8 + 84 197 8 + 84 198 8 + 84 199 8 + 84 200 8 + 84 201 8 + 84 202 8 + 84 203 8 + 84 204 8 + 84 205 8 + 84 206 8 + 84 207 8 + 84 208 8 + 84 209 8 + 84 210 8 + 84 211 8 + 84 212 8 + 84 213 8 + 84 214 8 + 84 215 8 + 84 216 8 + 84 217 8 + 84 218 8 + 84 219 8 + 84 220 8 + 84 221 8 + 84 222 8 + 84 223 8 + 84 224 8 + 84 225 8 + 84 226 8 + 84 227 8 + 84 228 8 + 84 229 8 + 84 230 8 + 84 231 8 + 84 232 8 + 84 233 8 + 84 234 8 + 84 235 8 + 84 236 8 + 84 237 8 + 84 238 8 + 84 239 8 + 84 240 8 + 84 241 8 + 84 242 8 + 84 243 8 + 84 244 8 + 84 245 8 + 84 246 8 + 84 247 8 + 84 248 8 + 84 249 8 + 84 250 8 + 84 251 8 + 84 252 8 + 84 253 8 + 84 254 8 + 84 255 8 + 84 256 8 + 84 257 8 + 84 258 8 + 84 259 8 + 84 260 8 + 84 261 8 + 84 262 8 + 84 263 8 + 84 264 8 + 84 265 8 + 84 266 8 + 84 267 8 + 84 268 8 + 84 269 8 + 84 270 8 + 84 271 8 + 84 272 8 + 84 273 8 + 84 274 8 + 84 275 8 + 84 276 8 + 84 277 8 + 84 278 8 + 84 279 8 + 84 280 8 + 84 281 8 + 84 282 8 + 84 283 8 + 84 284 8 + 84 285 8 + 84 286 8 + 84 287 8 + 84 288 8 + 84 289 8 + 84 290 8 + 84 291 8 + 84 292 8 + 84 293 8 + 84 294 8 + 84 295 8 + 84 296 8 + 84 297 8 + 84 298 8 + 84 299 8 + 84 300 8 + 84 301 8 + 84 302 8 + 84 303 8 + 84 304 8 + 84 305 8 + 84 306 8 + 84 307 8 + 84 308 8 + 84 309 8 + 84 310 8 + 84 311 8 + 84 312 8 + 84 313 8 + 84 314 8 + 84 315 8 + 84 316 8 + 84 317 8 + 84 318 8 + 84 319 8 + 84 320 8 + 84 321 8 + 84 322 8 + 84 323 8 + 84 324 8 + 84 325 8 + 84 326 8 + 84 327 8 + 84 328 8 + 84 329 8 + 84 330 8 + 84 331 8 + 84 332 8 + 84 333 8 + 84 334 8 + 84 335 8 + 84 336 8 + 84 337 8 + 84 338 8 + 84 339 8 + 84 340 8 + 84 341 8 + 84 342 8 + 84 343 8 + 84 344 8 + 84 345 8 + 84 346 8 + 84 347 8 + 84 348 8 + 84 349 8 + 85 86 8 + 85 87 8 + 85 88 8 + 85 89 8 + 85 90 8 + 85 91 8 + 85 92 8 + 85 93 8 + 85 94 8 + 85 95 8 + 85 96 8 + 85 97 8 + 85 98 8 + 85 99 8 + 85 100 8 + 85 101 8 + 85 102 8 + 85 103 8 + 85 104 8 + 85 105 8 + 85 106 8 + 85 107 8 + 85 108 8 + 85 109 8 + 85 110 8 + 85 111 8 + 85 112 8 + 85 113 8 + 85 114 8 + 85 115 8 + 85 116 8 + 85 117 8 + 85 118 8 + 85 119 8 + 85 120 8 + 85 121 8 + 85 122 8 + 85 123 8 + 85 124 8 + 85 125 8 + 85 126 8 + 85 127 8 + 85 128 8 + 85 129 8 + 85 130 8 + 85 131 8 + 85 132 8 + 85 133 8 + 85 134 8 + 85 135 8 + 85 136 8 + 85 137 8 + 85 138 8 + 85 139 8 + 85 140 8 + 85 141 8 + 85 142 8 + 85 143 8 + 85 144 8 + 85 145 8 + 85 146 8 + 85 147 8 + 85 148 8 + 85 149 8 + 85 150 8 + 85 151 8 + 85 152 8 + 85 153 8 + 85 154 8 + 85 155 8 + 85 156 8 + 85 157 8 + 85 158 8 + 85 159 8 + 85 160 8 + 85 161 8 + 85 162 8 + 85 163 8 + 85 164 8 + 85 165 8 + 85 166 8 + 85 167 8 + 85 168 8 + 85 169 8 + 85 170 8 + 85 171 8 + 85 172 8 + 85 173 8 + 85 174 8 + 85 175 8 + 85 176 8 + 85 177 8 + 85 178 8 + 85 179 8 + 85 180 8 + 85 181 8 + 85 182 8 + 85 183 8 + 85 184 8 + 85 185 8 + 85 186 8 + 85 187 8 + 85 188 8 + 85 189 8 + 85 190 8 + 85 191 8 + 85 192 8 + 85 193 8 + 85 194 8 + 85 195 8 + 85 196 8 + 85 197 8 + 85 198 8 + 85 199 8 + 85 200 8 + 85 201 8 + 85 202 8 + 85 203 8 + 85 204 8 + 85 205 8 + 85 206 8 + 85 207 8 + 85 208 8 + 85 209 8 + 85 210 8 + 85 211 8 + 85 212 8 + 85 213 8 + 85 214 8 + 85 215 8 + 85 216 8 + 85 217 8 + 85 218 8 + 85 219 8 + 85 220 8 + 85 221 8 + 85 222 8 + 85 223 8 + 85 224 8 + 85 225 8 + 85 226 8 + 85 227 8 + 85 228 8 + 85 229 8 + 85 230 8 + 85 231 8 + 85 232 8 + 85 233 8 + 85 234 8 + 85 235 8 + 85 236 8 + 85 237 8 + 85 238 8 + 85 239 8 + 85 240 8 + 85 241 8 + 85 242 8 + 85 243 8 + 85 244 8 + 85 245 8 + 85 246 8 + 85 247 8 + 85 248 8 + 85 249 8 + 85 250 8 + 85 251 8 + 85 252 8 + 85 253 8 + 85 254 8 + 85 255 8 + 85 256 8 + 85 257 8 + 85 258 8 + 85 259 8 + 85 260 8 + 85 261 8 + 85 262 8 + 85 263 8 + 85 264 8 + 85 265 8 + 85 266 8 + 85 267 8 + 85 268 8 + 85 269 8 + 85 270 8 + 85 271 8 + 85 272 8 + 85 273 8 + 85 274 8 + 85 275 8 + 85 276 8 + 85 277 8 + 85 278 8 + 85 279 8 + 85 280 8 + 85 281 8 + 85 282 8 + 85 283 8 + 85 284 8 + 85 285 8 + 85 286 8 + 85 287 8 + 85 288 8 + 85 289 8 + 85 290 8 + 85 291 8 + 85 292 8 + 85 293 8 + 85 294 8 + 85 295 8 + 85 296 8 + 85 297 8 + 85 298 8 + 85 299 8 + 85 300 8 + 85 301 8 + 85 302 8 + 85 303 8 + 85 304 8 + 85 305 8 + 85 306 8 + 85 307 8 + 85 308 8 + 85 309 8 + 85 310 8 + 85 311 8 + 85 312 8 + 85 313 8 + 85 314 8 + 85 315 8 + 85 316 8 + 85 317 8 + 85 318 8 + 85 319 8 + 85 320 8 + 85 321 8 + 85 322 8 + 85 323 8 + 85 324 8 + 85 325 8 + 85 326 8 + 85 327 8 + 85 328 8 + 85 329 8 + 85 330 8 + 85 331 8 + 85 332 8 + 85 333 8 + 85 334 8 + 85 335 8 + 85 336 8 + 85 337 8 + 85 338 8 + 85 339 8 + 85 340 8 + 85 341 8 + 85 342 8 + 85 343 8 + 85 344 8 + 85 345 8 + 85 346 8 + 85 347 8 + 85 348 8 + 85 349 8 + 86 87 8 + 86 88 8 + 86 89 8 + 86 90 8 + 86 91 8 + 86 92 8 + 86 93 8 + 86 94 8 + 86 95 8 + 86 96 8 + 86 97 8 + 86 98 8 + 86 99 8 + 86 100 8 + 86 101 8 + 86 102 8 + 86 103 8 + 86 104 8 + 86 105 8 + 86 106 8 + 86 107 8 + 86 108 8 + 86 109 8 + 86 110 8 + 86 111 8 + 86 112 8 + 86 113 8 + 86 114 8 + 86 115 8 + 86 116 8 + 86 117 8 + 86 118 8 + 86 119 8 + 86 120 8 + 86 121 8 + 86 122 8 + 86 123 8 + 86 124 8 + 86 125 8 + 86 126 8 + 86 127 8 + 86 128 8 + 86 129 8 + 86 130 8 + 86 131 8 + 86 132 8 + 86 133 8 + 86 134 8 + 86 135 8 + 86 136 8 + 86 137 8 + 86 138 8 + 86 139 8 + 86 140 8 + 86 141 8 + 86 142 8 + 86 143 8 + 86 144 8 + 86 145 8 + 86 146 8 + 86 147 8 + 86 148 8 + 86 149 8 + 86 150 8 + 86 151 8 + 86 152 8 + 86 153 8 + 86 154 8 + 86 155 8 + 86 156 8 + 86 157 8 + 86 158 8 + 86 159 8 + 86 160 8 + 86 161 8 + 86 162 8 + 86 163 8 + 86 164 8 + 86 165 8 + 86 166 8 + 86 167 8 + 86 168 8 + 86 169 8 + 86 170 8 + 86 171 8 + 86 172 8 + 86 173 8 + 86 174 8 + 86 175 8 + 86 176 8 + 86 177 8 + 86 178 8 + 86 179 8 + 86 180 8 + 86 181 8 + 86 182 8 + 86 183 8 + 86 184 8 + 86 185 8 + 86 186 8 + 86 187 8 + 86 188 8 + 86 189 8 + 86 190 8 + 86 191 8 + 86 192 8 + 86 193 8 + 86 194 8 + 86 195 8 + 86 196 8 + 86 197 8 + 86 198 8 + 86 199 8 + 86 200 8 + 86 201 8 + 86 202 8 + 86 203 8 + 86 204 8 + 86 205 8 + 86 206 8 + 86 207 8 + 86 208 8 + 86 209 8 + 86 210 8 + 86 211 8 + 86 212 8 + 86 213 8 + 86 214 8 + 86 215 8 + 86 216 8 + 86 217 8 + 86 218 8 + 86 219 8 + 86 220 8 + 86 221 8 + 86 222 8 + 86 223 8 + 86 224 8 + 86 225 8 + 86 226 8 + 86 227 8 + 86 228 8 + 86 229 8 + 86 230 8 + 86 231 8 + 86 232 8 + 86 233 8 + 86 234 8 + 86 235 8 + 86 236 8 + 86 237 8 + 86 238 8 + 86 239 8 + 86 240 8 + 86 241 8 + 86 242 8 + 86 243 8 + 86 244 8 + 86 245 8 + 86 246 8 + 86 247 8 + 86 248 8 + 86 249 8 + 86 250 8 + 86 251 8 + 86 252 8 + 86 253 8 + 86 254 8 + 86 255 8 + 86 256 8 + 86 257 8 + 86 258 8 + 86 259 8 + 86 260 8 + 86 261 8 + 86 262 8 + 86 263 8 + 86 264 8 + 86 265 8 + 86 266 8 + 86 267 8 + 86 268 8 + 86 269 8 + 86 270 8 + 86 271 8 + 86 272 8 + 86 273 8 + 86 274 8 + 86 275 8 + 86 276 8 + 86 277 8 + 86 278 8 + 86 279 8 + 86 280 8 + 86 281 8 + 86 282 8 + 86 283 8 + 86 284 8 + 86 285 8 + 86 286 8 + 86 287 8 + 86 288 8 + 86 289 8 + 86 290 8 + 86 291 8 + 86 292 8 + 86 293 8 + 86 294 8 + 86 295 8 + 86 296 8 + 86 297 8 + 86 298 8 + 86 299 8 + 86 300 8 + 86 301 8 + 86 302 8 + 86 303 8 + 86 304 8 + 86 305 8 + 86 306 8 + 86 307 8 + 86 308 8 + 86 309 8 + 86 310 8 + 86 311 8 + 86 312 8 + 86 313 8 + 86 314 8 + 86 315 8 + 86 316 8 + 86 317 8 + 86 318 8 + 86 319 8 + 86 320 8 + 86 321 8 + 86 322 8 + 86 323 8 + 86 324 8 + 86 325 8 + 86 326 8 + 86 327 8 + 86 328 8 + 86 329 8 + 86 330 8 + 86 331 8 + 86 332 8 + 86 333 8 + 86 334 8 + 86 335 8 + 86 336 8 + 86 337 8 + 86 338 8 + 86 339 8 + 86 340 8 + 86 341 8 + 86 342 8 + 86 343 8 + 86 344 8 + 86 345 8 + 86 346 8 + 86 347 8 + 86 348 8 + 86 349 8 + 87 88 8 + 87 89 8 + 87 90 8 + 87 91 8 + 87 92 8 + 87 93 8 + 87 94 8 + 87 95 8 + 87 96 8 + 87 97 8 + 87 98 8 + 87 99 8 + 87 100 8 + 87 101 8 + 87 102 8 + 87 103 8 + 87 104 8 + 87 105 8 + 87 106 8 + 87 107 8 + 87 108 8 + 87 109 8 + 87 110 8 + 87 111 8 + 87 112 8 + 87 113 8 + 87 114 8 + 87 115 8 + 87 116 8 + 87 117 8 + 87 118 8 + 87 119 8 + 87 120 8 + 87 121 8 + 87 122 8 + 87 123 8 + 87 124 8 + 87 125 8 + 87 126 8 + 87 127 8 + 87 128 8 + 87 129 8 + 87 130 8 + 87 131 8 + 87 132 8 + 87 133 8 + 87 134 8 + 87 135 8 + 87 136 8 + 87 137 8 + 87 138 8 + 87 139 8 + 87 140 8 + 87 141 8 + 87 142 8 + 87 143 8 + 87 144 8 + 87 145 8 + 87 146 8 + 87 147 8 + 87 148 8 + 87 149 8 + 87 150 8 + 87 151 8 + 87 152 8 + 87 153 8 + 87 154 8 + 87 155 8 + 87 156 8 + 87 157 8 + 87 158 8 + 87 159 8 + 87 160 8 + 87 161 8 + 87 162 8 + 87 163 8 + 87 164 8 + 87 165 8 + 87 166 8 + 87 167 8 + 87 168 8 + 87 169 8 + 87 170 8 + 87 171 8 + 87 172 8 + 87 173 8 + 87 174 8 + 87 175 8 + 87 176 8 + 87 177 8 + 87 178 8 + 87 179 8 + 87 180 8 + 87 181 8 + 87 182 8 + 87 183 8 + 87 184 8 + 87 185 8 + 87 186 8 + 87 187 8 + 87 188 8 + 87 189 8 + 87 190 8 + 87 191 8 + 87 192 8 + 87 193 8 + 87 194 8 + 87 195 8 + 87 196 8 + 87 197 8 + 87 198 8 + 87 199 8 + 87 200 8 + 87 201 8 + 87 202 8 + 87 203 8 + 87 204 8 + 87 205 8 + 87 206 8 + 87 207 8 + 87 208 8 + 87 209 8 + 87 210 8 + 87 211 8 + 87 212 8 + 87 213 8 + 87 214 8 + 87 215 8 + 87 216 8 + 87 217 8 + 87 218 8 + 87 219 8 + 87 220 8 + 87 221 8 + 87 222 8 + 87 223 8 + 87 224 8 + 87 225 8 + 87 226 8 + 87 227 8 + 87 228 8 + 87 229 8 + 87 230 8 + 87 231 8 + 87 232 8 + 87 233 8 + 87 234 8 + 87 235 8 + 87 236 8 + 87 237 8 + 87 238 8 + 87 239 8 + 87 240 8 + 87 241 8 + 87 242 8 + 87 243 8 + 87 244 8 + 87 245 8 + 87 246 8 + 87 247 8 + 87 248 8 + 87 249 8 + 87 250 8 + 87 251 8 + 87 252 8 + 87 253 8 + 87 254 8 + 87 255 8 + 87 256 8 + 87 257 8 + 87 258 8 + 87 259 8 + 87 260 8 + 87 261 8 + 87 262 8 + 87 263 8 + 87 264 8 + 87 265 8 + 87 266 8 + 87 267 8 + 87 268 8 + 87 269 8 + 87 270 8 + 87 271 8 + 87 272 8 + 87 273 8 + 87 274 8 + 87 275 8 + 87 276 8 + 87 277 8 + 87 278 8 + 87 279 8 + 87 280 8 + 87 281 8 + 87 282 8 + 87 283 8 + 87 284 8 + 87 285 8 + 87 286 8 + 87 287 8 + 87 288 8 + 87 289 8 + 87 290 8 + 87 291 8 + 87 292 8 + 87 293 8 + 87 294 8 + 87 295 8 + 87 296 8 + 87 297 8 + 87 298 8 + 87 299 8 + 87 300 8 + 87 301 8 + 87 302 8 + 87 303 8 + 87 304 8 + 87 305 8 + 87 306 8 + 87 307 8 + 87 308 8 + 87 309 8 + 87 310 8 + 87 311 8 + 87 312 8 + 87 313 8 + 87 314 8 + 87 315 8 + 87 316 8 + 87 317 8 + 87 318 8 + 87 319 8 + 87 320 8 + 87 321 8 + 87 322 8 + 87 323 8 + 87 324 8 + 87 325 8 + 87 326 8 + 87 327 8 + 87 328 8 + 87 329 8 + 87 330 8 + 87 331 8 + 87 332 8 + 87 333 8 + 87 334 8 + 87 335 8 + 87 336 8 + 87 337 8 + 87 338 8 + 87 339 8 + 87 340 8 + 87 341 8 + 87 342 8 + 87 343 8 + 87 344 8 + 87 345 8 + 87 346 8 + 87 347 8 + 87 348 8 + 87 349 8 + 88 89 8 + 88 90 8 + 88 91 8 + 88 92 8 + 88 93 8 + 88 94 8 + 88 95 8 + 88 96 8 + 88 97 8 + 88 98 8 + 88 99 8 + 88 100 8 + 88 101 8 + 88 102 8 + 88 103 8 + 88 104 8 + 88 105 8 + 88 106 8 + 88 107 8 + 88 108 8 + 88 109 8 + 88 110 8 + 88 111 8 + 88 112 8 + 88 113 8 + 88 114 8 + 88 115 8 + 88 116 8 + 88 117 8 + 88 118 8 + 88 119 8 + 88 120 8 + 88 121 8 + 88 122 8 + 88 123 8 + 88 124 8 + 88 125 8 + 88 126 8 + 88 127 8 + 88 128 8 + 88 129 8 + 88 130 8 + 88 131 8 + 88 132 8 + 88 133 8 + 88 134 8 + 88 135 8 + 88 136 8 + 88 137 8 + 88 138 8 + 88 139 8 + 88 140 8 + 88 141 8 + 88 142 8 + 88 143 8 + 88 144 8 + 88 145 8 + 88 146 8 + 88 147 8 + 88 148 8 + 88 149 8 + 88 150 8 + 88 151 8 + 88 152 8 + 88 153 8 + 88 154 8 + 88 155 8 + 88 156 8 + 88 157 8 + 88 158 8 + 88 159 8 + 88 160 8 + 88 161 8 + 88 162 8 + 88 163 8 + 88 164 8 + 88 165 8 + 88 166 8 + 88 167 8 + 88 168 8 + 88 169 8 + 88 170 8 + 88 171 8 + 88 172 8 + 88 173 8 + 88 174 8 + 88 175 8 + 88 176 8 + 88 177 8 + 88 178 8 + 88 179 8 + 88 180 8 + 88 181 8 + 88 182 8 + 88 183 8 + 88 184 8 + 88 185 8 + 88 186 8 + 88 187 8 + 88 188 8 + 88 189 8 + 88 190 8 + 88 191 8 + 88 192 8 + 88 193 8 + 88 194 8 + 88 195 8 + 88 196 8 + 88 197 8 + 88 198 8 + 88 199 8 + 88 200 8 + 88 201 8 + 88 202 8 + 88 203 8 + 88 204 8 + 88 205 8 + 88 206 8 + 88 207 8 + 88 208 8 + 88 209 8 + 88 210 8 + 88 211 8 + 88 212 8 + 88 213 8 + 88 214 8 + 88 215 8 + 88 216 8 + 88 217 8 + 88 218 8 + 88 219 8 + 88 220 8 + 88 221 8 + 88 222 8 + 88 223 8 + 88 224 8 + 88 225 8 + 88 226 8 + 88 227 8 + 88 228 8 + 88 229 8 + 88 230 8 + 88 231 8 + 88 232 8 + 88 233 8 + 88 234 8 + 88 235 8 + 88 236 8 + 88 237 8 + 88 238 8 + 88 239 8 + 88 240 8 + 88 241 8 + 88 242 8 + 88 243 8 + 88 244 8 + 88 245 8 + 88 246 8 + 88 247 8 + 88 248 8 + 88 249 8 + 88 250 8 + 88 251 8 + 88 252 8 + 88 253 8 + 88 254 8 + 88 255 8 + 88 256 8 + 88 257 8 + 88 258 8 + 88 259 8 + 88 260 8 + 88 261 8 + 88 262 8 + 88 263 8 + 88 264 8 + 88 265 8 + 88 266 8 + 88 267 8 + 88 268 8 + 88 269 8 + 88 270 8 + 88 271 8 + 88 272 8 + 88 273 8 + 88 274 8 + 88 275 8 + 88 276 8 + 88 277 8 + 88 278 8 + 88 279 8 + 88 280 8 + 88 281 8 + 88 282 8 + 88 283 8 + 88 284 8 + 88 285 8 + 88 286 8 + 88 287 8 + 88 288 8 + 88 289 8 + 88 290 8 + 88 291 8 + 88 292 8 + 88 293 8 + 88 294 8 + 88 295 8 + 88 296 8 + 88 297 8 + 88 298 8 + 88 299 8 + 88 300 8 + 88 301 8 + 88 302 8 + 88 303 8 + 88 304 8 + 88 305 8 + 88 306 8 + 88 307 8 + 88 308 8 + 88 309 8 + 88 310 8 + 88 311 8 + 88 312 8 + 88 313 8 + 88 314 8 + 88 315 8 + 88 316 8 + 88 317 8 + 88 318 8 + 88 319 8 + 88 320 8 + 88 321 8 + 88 322 8 + 88 323 8 + 88 324 8 + 88 325 8 + 88 326 8 + 88 327 8 + 88 328 8 + 88 329 8 + 88 330 8 + 88 331 8 + 88 332 8 + 88 333 8 + 88 334 8 + 88 335 8 + 88 336 8 + 88 337 8 + 88 338 8 + 88 339 8 + 88 340 8 + 88 341 8 + 88 342 8 + 88 343 8 + 88 344 8 + 88 345 8 + 88 346 8 + 88 347 8 + 88 348 8 + 88 349 8 + 89 90 8 + 89 91 8 + 89 92 8 + 89 93 8 + 89 94 8 + 89 95 8 + 89 96 8 + 89 97 8 + 89 98 8 + 89 99 8 + 89 100 8 + 89 101 8 + 89 102 8 + 89 103 8 + 89 104 8 + 89 105 8 + 89 106 8 + 89 107 8 + 89 108 8 + 89 109 8 + 89 110 8 + 89 111 8 + 89 112 8 + 89 113 8 + 89 114 8 + 89 115 8 + 89 116 8 + 89 117 8 + 89 118 8 + 89 119 8 + 89 120 8 + 89 121 8 + 89 122 8 + 89 123 8 + 89 124 8 + 89 125 8 + 89 126 8 + 89 127 8 + 89 128 8 + 89 129 8 + 89 130 8 + 89 131 8 + 89 132 8 + 89 133 8 + 89 134 8 + 89 135 8 + 89 136 8 + 89 137 8 + 89 138 8 + 89 139 8 + 89 140 8 + 89 141 8 + 89 142 8 + 89 143 8 + 89 144 8 + 89 145 8 + 89 146 8 + 89 147 8 + 89 148 8 + 89 149 8 + 89 150 8 + 89 151 8 + 89 152 8 + 89 153 8 + 89 154 8 + 89 155 8 + 89 156 8 + 89 157 8 + 89 158 8 + 89 159 8 + 89 160 8 + 89 161 8 + 89 162 8 + 89 163 8 + 89 164 8 + 89 165 8 + 89 166 8 + 89 167 8 + 89 168 8 + 89 169 8 + 89 170 8 + 89 171 8 + 89 172 8 + 89 173 8 + 89 174 8 + 89 175 8 + 89 176 8 + 89 177 8 + 89 178 8 + 89 179 8 + 89 180 8 + 89 181 8 + 89 182 8 + 89 183 8 + 89 184 8 + 89 185 8 + 89 186 8 + 89 187 8 + 89 188 8 + 89 189 8 + 89 190 8 + 89 191 8 + 89 192 8 + 89 193 8 + 89 194 8 + 89 195 8 + 89 196 8 + 89 197 8 + 89 198 8 + 89 199 8 + 89 200 8 + 89 201 8 + 89 202 8 + 89 203 8 + 89 204 8 + 89 205 8 + 89 206 8 + 89 207 8 + 89 208 8 + 89 209 8 + 89 210 8 + 89 211 8 + 89 212 8 + 89 213 8 + 89 214 8 + 89 215 8 + 89 216 8 + 89 217 8 + 89 218 8 + 89 219 8 + 89 220 8 + 89 221 8 + 89 222 8 + 89 223 8 + 89 224 8 + 89 225 8 + 89 226 8 + 89 227 8 + 89 228 8 + 89 229 8 + 89 230 8 + 89 231 8 + 89 232 8 + 89 233 8 + 89 234 8 + 89 235 8 + 89 236 8 + 89 237 8 + 89 238 8 + 89 239 8 + 89 240 8 + 89 241 8 + 89 242 8 + 89 243 8 + 89 244 8 + 89 245 8 + 89 246 8 + 89 247 8 + 89 248 8 + 89 249 8 + 89 250 8 + 89 251 8 + 89 252 8 + 89 253 8 + 89 254 8 + 89 255 8 + 89 256 8 + 89 257 8 + 89 258 8 + 89 259 8 + 89 260 8 + 89 261 8 + 89 262 8 + 89 263 8 + 89 264 8 + 89 265 8 + 89 266 8 + 89 267 8 + 89 268 8 + 89 269 8 + 89 270 8 + 89 271 8 + 89 272 8 + 89 273 8 + 89 274 8 + 89 275 8 + 89 276 8 + 89 277 8 + 89 278 8 + 89 279 8 + 89 280 8 + 89 281 8 + 89 282 8 + 89 283 8 + 89 284 8 + 89 285 8 + 89 286 8 + 89 287 8 + 89 288 8 + 89 289 8 + 89 290 8 + 89 291 8 + 89 292 8 + 89 293 8 + 89 294 8 + 89 295 8 + 89 296 8 + 89 297 8 + 89 298 8 + 89 299 8 + 89 300 8 + 89 301 8 + 89 302 8 + 89 303 8 + 89 304 8 + 89 305 8 + 89 306 8 + 89 307 8 + 89 308 8 + 89 309 8 + 89 310 8 + 89 311 8 + 89 312 8 + 89 313 8 + 89 314 8 + 89 315 8 + 89 316 8 + 89 317 8 + 89 318 8 + 89 319 8 + 89 320 8 + 89 321 8 + 89 322 8 + 89 323 8 + 89 324 8 + 89 325 8 + 89 326 8 + 89 327 8 + 89 328 8 + 89 329 8 + 89 330 8 + 89 331 8 + 89 332 8 + 89 333 8 + 89 334 8 + 89 335 8 + 89 336 8 + 89 337 8 + 89 338 8 + 89 339 8 + 89 340 8 + 89 341 8 + 89 342 8 + 89 343 8 + 89 344 8 + 89 345 8 + 89 346 8 + 89 347 8 + 89 348 8 + 89 349 8 + 90 91 8 + 90 92 8 + 90 93 8 + 90 94 8 + 90 95 8 + 90 96 8 + 90 97 8 + 90 98 8 + 90 99 8 + 90 100 8 + 90 101 8 + 90 102 8 + 90 103 8 + 90 104 8 + 90 105 8 + 90 106 8 + 90 107 8 + 90 108 8 + 90 109 8 + 90 110 8 + 90 111 8 + 90 112 8 + 90 113 8 + 90 114 8 + 90 115 8 + 90 116 8 + 90 117 8 + 90 118 8 + 90 119 8 + 90 120 8 + 90 121 8 + 90 122 8 + 90 123 8 + 90 124 8 + 90 125 8 + 90 126 8 + 90 127 8 + 90 128 8 + 90 129 8 + 90 130 8 + 90 131 8 + 90 132 8 + 90 133 8 + 90 134 8 + 90 135 8 + 90 136 8 + 90 137 8 + 90 138 8 + 90 139 8 + 90 140 8 + 90 141 8 + 90 142 8 + 90 143 8 + 90 144 8 + 90 145 8 + 90 146 8 + 90 147 8 + 90 148 8 + 90 149 8 + 90 150 8 + 90 151 8 + 90 152 8 + 90 153 8 + 90 154 8 + 90 155 8 + 90 156 8 + 90 157 8 + 90 158 8 + 90 159 8 + 90 160 8 + 90 161 8 + 90 162 8 + 90 163 8 + 90 164 8 + 90 165 8 + 90 166 8 + 90 167 8 + 90 168 8 + 90 169 8 + 90 170 8 + 90 171 8 + 90 172 8 + 90 173 8 + 90 174 8 + 90 175 8 + 90 176 8 + 90 177 8 + 90 178 8 + 90 179 8 + 90 180 8 + 90 181 8 + 90 182 8 + 90 183 8 + 90 184 8 + 90 185 8 + 90 186 8 + 90 187 8 + 90 188 8 + 90 189 8 + 90 190 8 + 90 191 8 + 90 192 8 + 90 193 8 + 90 194 8 + 90 195 8 + 90 196 8 + 90 197 8 + 90 198 8 + 90 199 8 + 90 200 8 + 90 201 8 + 90 202 8 + 90 203 8 + 90 204 8 + 90 205 8 + 90 206 8 + 90 207 8 + 90 208 8 + 90 209 8 + 90 210 8 + 90 211 8 + 90 212 8 + 90 213 8 + 90 214 8 + 90 215 8 + 90 216 8 + 90 217 8 + 90 218 8 + 90 219 8 + 90 220 8 + 90 221 8 + 90 222 8 + 90 223 8 + 90 224 8 + 90 225 8 + 90 226 8 + 90 227 8 + 90 228 8 + 90 229 8 + 90 230 8 + 90 231 8 + 90 232 8 + 90 233 8 + 90 234 8 + 90 235 8 + 90 236 8 + 90 237 8 + 90 238 8 + 90 239 8 + 90 240 8 + 90 241 8 + 90 242 8 + 90 243 8 + 90 244 8 + 90 245 8 + 90 246 8 + 90 247 8 + 90 248 8 + 90 249 8 + 90 250 8 + 90 251 8 + 90 252 8 + 90 253 8 + 90 254 8 + 90 255 8 + 90 256 8 + 90 257 8 + 90 258 8 + 90 259 8 + 90 260 8 + 90 261 8 + 90 262 8 + 90 263 8 + 90 264 8 + 90 265 8 + 90 266 8 + 90 267 8 + 90 268 8 + 90 269 8 + 90 270 8 + 90 271 8 + 90 272 8 + 90 273 8 + 90 274 8 + 90 275 8 + 90 276 8 + 90 277 8 + 90 278 8 + 90 279 8 + 90 280 8 + 90 281 8 + 90 282 8 + 90 283 8 + 90 284 8 + 90 285 8 + 90 286 8 + 90 287 8 + 90 288 8 + 90 289 8 + 90 290 8 + 90 291 8 + 90 292 8 + 90 293 8 + 90 294 8 + 90 295 8 + 90 296 8 + 90 297 8 + 90 298 8 + 90 299 8 + 90 300 8 + 90 301 8 + 90 302 8 + 90 303 8 + 90 304 8 + 90 305 8 + 90 306 8 + 90 307 8 + 90 308 8 + 90 309 8 + 90 310 8 + 90 311 8 + 90 312 8 + 90 313 8 + 90 314 8 + 90 315 8 + 90 316 8 + 90 317 8 + 90 318 8 + 90 319 8 + 90 320 8 + 90 321 8 + 90 322 8 + 90 323 8 + 90 324 8 + 90 325 8 + 90 326 8 + 90 327 8 + 90 328 8 + 90 329 8 + 90 330 8 + 90 331 8 + 90 332 8 + 90 333 8 + 90 334 8 + 90 335 8 + 90 336 8 + 90 337 8 + 90 338 8 + 90 339 8 + 90 340 8 + 90 341 8 + 90 342 8 + 90 343 8 + 90 344 8 + 90 345 8 + 90 346 8 + 90 347 8 + 90 348 8 + 90 349 8 + 91 92 8 + 91 93 8 + 91 94 8 + 91 95 8 + 91 96 8 + 91 97 8 + 91 98 8 + 91 99 8 + 91 100 8 + 91 101 8 + 91 102 8 + 91 103 8 + 91 104 8 + 91 105 8 + 91 106 8 + 91 107 8 + 91 108 8 + 91 109 8 + 91 110 8 + 91 111 8 + 91 112 8 + 91 113 8 + 91 114 8 + 91 115 8 + 91 116 8 + 91 117 8 + 91 118 8 + 91 119 8 + 91 120 8 + 91 121 8 + 91 122 8 + 91 123 8 + 91 124 8 + 91 125 8 + 91 126 8 + 91 127 8 + 91 128 8 + 91 129 8 + 91 130 8 + 91 131 8 + 91 132 8 + 91 133 8 + 91 134 8 + 91 135 8 + 91 136 8 + 91 137 8 + 91 138 8 + 91 139 8 + 91 140 8 + 91 141 8 + 91 142 8 + 91 143 8 + 91 144 8 + 91 145 8 + 91 146 8 + 91 147 8 + 91 148 8 + 91 149 8 + 91 150 8 + 91 151 8 + 91 152 8 + 91 153 8 + 91 154 8 + 91 155 8 + 91 156 8 + 91 157 8 + 91 158 8 + 91 159 8 + 91 160 8 + 91 161 8 + 91 162 8 + 91 163 8 + 91 164 8 + 91 165 8 + 91 166 8 + 91 167 8 + 91 168 8 + 91 169 8 + 91 170 8 + 91 171 8 + 91 172 8 + 91 173 8 + 91 174 8 + 91 175 8 + 91 176 8 + 91 177 8 + 91 178 8 + 91 179 8 + 91 180 8 + 91 181 8 + 91 182 8 + 91 183 8 + 91 184 8 + 91 185 8 + 91 186 8 + 91 187 8 + 91 188 8 + 91 189 8 + 91 190 8 + 91 191 8 + 91 192 8 + 91 193 8 + 91 194 8 + 91 195 8 + 91 196 8 + 91 197 8 + 91 198 8 + 91 199 8 + 91 200 8 + 91 201 8 + 91 202 8 + 91 203 8 + 91 204 8 + 91 205 8 + 91 206 8 + 91 207 8 + 91 208 8 + 91 209 8 + 91 210 8 + 91 211 8 + 91 212 8 + 91 213 8 + 91 214 8 + 91 215 8 + 91 216 8 + 91 217 8 + 91 218 8 + 91 219 8 + 91 220 8 + 91 221 8 + 91 222 8 + 91 223 8 + 91 224 8 + 91 225 8 + 91 226 8 + 91 227 8 + 91 228 8 + 91 229 8 + 91 230 8 + 91 231 8 + 91 232 8 + 91 233 8 + 91 234 8 + 91 235 8 + 91 236 8 + 91 237 8 + 91 238 8 + 91 239 8 + 91 240 8 + 91 241 8 + 91 242 8 + 91 243 8 + 91 244 8 + 91 245 8 + 91 246 8 + 91 247 8 + 91 248 8 + 91 249 8 + 91 250 8 + 91 251 8 + 91 252 8 + 91 253 8 + 91 254 8 + 91 255 8 + 91 256 8 + 91 257 8 + 91 258 8 + 91 259 8 + 91 260 8 + 91 261 8 + 91 262 8 + 91 263 8 + 91 264 8 + 91 265 8 + 91 266 8 + 91 267 8 + 91 268 8 + 91 269 8 + 91 270 8 + 91 271 8 + 91 272 8 + 91 273 8 + 91 274 8 + 91 275 8 + 91 276 8 + 91 277 8 + 91 278 8 + 91 279 8 + 91 280 8 + 91 281 8 + 91 282 8 + 91 283 8 + 91 284 8 + 91 285 8 + 91 286 8 + 91 287 8 + 91 288 8 + 91 289 8 + 91 290 8 + 91 291 8 + 91 292 8 + 91 293 8 + 91 294 8 + 91 295 8 + 91 296 8 + 91 297 8 + 91 298 8 + 91 299 8 + 91 300 8 + 91 301 8 + 91 302 8 + 91 303 8 + 91 304 8 + 91 305 8 + 91 306 8 + 91 307 8 + 91 308 8 + 91 309 8 + 91 310 8 + 91 311 8 + 91 312 8 + 91 313 8 + 91 314 8 + 91 315 8 + 91 316 8 + 91 317 8 + 91 318 8 + 91 319 8 + 91 320 8 + 91 321 8 + 91 322 8 + 91 323 8 + 91 324 8 + 91 325 8 + 91 326 8 + 91 327 8 + 91 328 8 + 91 329 8 + 91 330 8 + 91 331 8 + 91 332 8 + 91 333 8 + 91 334 8 + 91 335 8 + 91 336 8 + 91 337 8 + 91 338 8 + 91 339 8 + 91 340 8 + 91 341 8 + 91 342 8 + 91 343 8 + 91 344 8 + 91 345 8 + 91 346 8 + 91 347 8 + 91 348 8 + 91 349 8 + 92 93 8 + 92 94 8 + 92 95 8 + 92 96 8 + 92 97 8 + 92 98 8 + 92 99 8 + 92 100 8 + 92 101 8 + 92 102 8 + 92 103 8 + 92 104 8 + 92 105 8 + 92 106 8 + 92 107 8 + 92 108 8 + 92 109 8 + 92 110 8 + 92 111 8 + 92 112 8 + 92 113 8 + 92 114 8 + 92 115 8 + 92 116 8 + 92 117 8 + 92 118 8 + 92 119 8 + 92 120 8 + 92 121 8 + 92 122 8 + 92 123 8 + 92 124 8 + 92 125 8 + 92 126 8 + 92 127 8 + 92 128 8 + 92 129 8 + 92 130 8 + 92 131 8 + 92 132 8 + 92 133 8 + 92 134 8 + 92 135 8 + 92 136 8 + 92 137 8 + 92 138 8 + 92 139 8 + 92 140 8 + 92 141 8 + 92 142 8 + 92 143 8 + 92 144 8 + 92 145 8 + 92 146 8 + 92 147 8 + 92 148 8 + 92 149 8 + 92 150 8 + 92 151 8 + 92 152 8 + 92 153 8 + 92 154 8 + 92 155 8 + 92 156 8 + 92 157 8 + 92 158 8 + 92 159 8 + 92 160 8 + 92 161 8 + 92 162 8 + 92 163 8 + 92 164 8 + 92 165 8 + 92 166 8 + 92 167 8 + 92 168 8 + 92 169 8 + 92 170 8 + 92 171 8 + 92 172 8 + 92 173 8 + 92 174 8 + 92 175 8 + 92 176 8 + 92 177 8 + 92 178 8 + 92 179 8 + 92 180 8 + 92 181 8 + 92 182 8 + 92 183 8 + 92 184 8 + 92 185 8 + 92 186 8 + 92 187 8 + 92 188 8 + 92 189 8 + 92 190 8 + 92 191 8 + 92 192 8 + 92 193 8 + 92 194 8 + 92 195 8 + 92 196 8 + 92 197 8 + 92 198 8 + 92 199 8 + 92 200 8 + 92 201 8 + 92 202 8 + 92 203 8 + 92 204 8 + 92 205 8 + 92 206 8 + 92 207 8 + 92 208 8 + 92 209 8 + 92 210 8 + 92 211 8 + 92 212 8 + 92 213 8 + 92 214 8 + 92 215 8 + 92 216 8 + 92 217 8 + 92 218 8 + 92 219 8 + 92 220 8 + 92 221 8 + 92 222 8 + 92 223 8 + 92 224 8 + 92 225 8 + 92 226 8 + 92 227 8 + 92 228 8 + 92 229 8 + 92 230 8 + 92 231 8 + 92 232 8 + 92 233 8 + 92 234 8 + 92 235 8 + 92 236 8 + 92 237 8 + 92 238 8 + 92 239 8 + 92 240 8 + 92 241 8 + 92 242 8 + 92 243 8 + 92 244 8 + 92 245 8 + 92 246 8 + 92 247 8 + 92 248 8 + 92 249 8 + 92 250 8 + 92 251 8 + 92 252 8 + 92 253 8 + 92 254 8 + 92 255 8 + 92 256 8 + 92 257 8 + 92 258 8 + 92 259 8 + 92 260 8 + 92 261 8 + 92 262 8 + 92 263 8 + 92 264 8 + 92 265 8 + 92 266 8 + 92 267 8 + 92 268 8 + 92 269 8 + 92 270 8 + 92 271 8 + 92 272 8 + 92 273 8 + 92 274 8 + 92 275 8 + 92 276 8 + 92 277 8 + 92 278 8 + 92 279 8 + 92 280 8 + 92 281 8 + 92 282 8 + 92 283 8 + 92 284 8 + 92 285 8 + 92 286 8 + 92 287 8 + 92 288 8 + 92 289 8 + 92 290 8 + 92 291 8 + 92 292 8 + 92 293 8 + 92 294 8 + 92 295 8 + 92 296 8 + 92 297 8 + 92 298 8 + 92 299 8 + 92 300 8 + 92 301 8 + 92 302 8 + 92 303 8 + 92 304 8 + 92 305 8 + 92 306 8 + 92 307 8 + 92 308 8 + 92 309 8 + 92 310 8 + 92 311 8 + 92 312 8 + 92 313 8 + 92 314 8 + 92 315 8 + 92 316 8 + 92 317 8 + 92 318 8 + 92 319 8 + 92 320 8 + 92 321 8 + 92 322 8 + 92 323 8 + 92 324 8 + 92 325 8 + 92 326 8 + 92 327 8 + 92 328 8 + 92 329 8 + 92 330 8 + 92 331 8 + 92 332 8 + 92 333 8 + 92 334 8 + 92 335 8 + 92 336 8 + 92 337 8 + 92 338 8 + 92 339 8 + 92 340 8 + 92 341 8 + 92 342 8 + 92 343 8 + 92 344 8 + 92 345 8 + 92 346 8 + 92 347 8 + 92 348 8 + 92 349 8 + 93 94 8 + 93 95 8 + 93 96 8 + 93 97 8 + 93 98 8 + 93 99 8 + 93 100 8 + 93 101 8 + 93 102 8 + 93 103 8 + 93 104 8 + 93 105 8 + 93 106 8 + 93 107 8 + 93 108 8 + 93 109 8 + 93 110 8 + 93 111 8 + 93 112 8 + 93 113 8 + 93 114 8 + 93 115 8 + 93 116 8 + 93 117 8 + 93 118 8 + 93 119 8 + 93 120 8 + 93 121 8 + 93 122 8 + 93 123 8 + 93 124 8 + 93 125 8 + 93 126 8 + 93 127 8 + 93 128 8 + 93 129 8 + 93 130 8 + 93 131 8 + 93 132 8 + 93 133 8 + 93 134 8 + 93 135 8 + 93 136 8 + 93 137 8 + 93 138 8 + 93 139 8 + 93 140 8 + 93 141 8 + 93 142 8 + 93 143 8 + 93 144 8 + 93 145 8 + 93 146 8 + 93 147 8 + 93 148 8 + 93 149 8 + 93 150 8 + 93 151 8 + 93 152 8 + 93 153 8 + 93 154 8 + 93 155 8 + 93 156 8 + 93 157 8 + 93 158 8 + 93 159 8 + 93 160 8 + 93 161 8 + 93 162 8 + 93 163 8 + 93 164 8 + 93 165 8 + 93 166 8 + 93 167 8 + 93 168 8 + 93 169 8 + 93 170 8 + 93 171 8 + 93 172 8 + 93 173 8 + 93 174 8 + 93 175 8 + 93 176 8 + 93 177 8 + 93 178 8 + 93 179 8 + 93 180 8 + 93 181 8 + 93 182 8 + 93 183 8 + 93 184 8 + 93 185 8 + 93 186 8 + 93 187 8 + 93 188 8 + 93 189 8 + 93 190 8 + 93 191 8 + 93 192 8 + 93 193 8 + 93 194 8 + 93 195 8 + 93 196 8 + 93 197 8 + 93 198 8 + 93 199 8 + 93 200 8 + 93 201 8 + 93 202 8 + 93 203 8 + 93 204 8 + 93 205 8 + 93 206 8 + 93 207 8 + 93 208 8 + 93 209 8 + 93 210 8 + 93 211 8 + 93 212 8 + 93 213 8 + 93 214 8 + 93 215 8 + 93 216 8 + 93 217 8 + 93 218 8 + 93 219 8 + 93 220 8 + 93 221 8 + 93 222 8 + 93 223 8 + 93 224 8 + 93 225 8 + 93 226 8 + 93 227 8 + 93 228 8 + 93 229 8 + 93 230 8 + 93 231 8 + 93 232 8 + 93 233 8 + 93 234 8 + 93 235 8 + 93 236 8 + 93 237 8 + 93 238 8 + 93 239 8 + 93 240 8 + 93 241 8 + 93 242 8 + 93 243 8 + 93 244 8 + 93 245 8 + 93 246 8 + 93 247 8 + 93 248 8 + 93 249 8 + 93 250 8 + 93 251 8 + 93 252 8 + 93 253 8 + 93 254 8 + 93 255 8 + 93 256 8 + 93 257 8 + 93 258 8 + 93 259 8 + 93 260 8 + 93 261 8 + 93 262 8 + 93 263 8 + 93 264 8 + 93 265 8 + 93 266 8 + 93 267 8 + 93 268 8 + 93 269 8 + 93 270 8 + 93 271 8 + 93 272 8 + 93 273 8 + 93 274 8 + 93 275 8 + 93 276 8 + 93 277 8 + 93 278 8 + 93 279 8 + 93 280 8 + 93 281 8 + 93 282 8 + 93 283 8 + 93 284 8 + 93 285 8 + 93 286 8 + 93 287 8 + 93 288 8 + 93 289 8 + 93 290 8 + 93 291 8 + 93 292 8 + 93 293 8 + 93 294 8 + 93 295 8 + 93 296 8 + 93 297 8 + 93 298 8 + 93 299 8 + 93 300 8 + 93 301 8 + 93 302 8 + 93 303 8 + 93 304 8 + 93 305 8 + 93 306 8 + 93 307 8 + 93 308 8 + 93 309 8 + 93 310 8 + 93 311 8 + 93 312 8 + 93 313 8 + 93 314 8 + 93 315 8 + 93 316 8 + 93 317 8 + 93 318 8 + 93 319 8 + 93 320 8 + 93 321 8 + 93 322 8 + 93 323 8 + 93 324 8 + 93 325 8 + 93 326 8 + 93 327 8 + 93 328 8 + 93 329 8 + 93 330 8 + 93 331 8 + 93 332 8 + 93 333 8 + 93 334 8 + 93 335 8 + 93 336 8 + 93 337 8 + 93 338 8 + 93 339 8 + 93 340 8 + 93 341 8 + 93 342 8 + 93 343 8 + 93 344 8 + 93 345 8 + 93 346 8 + 93 347 8 + 93 348 8 + 93 349 8 + 94 95 8 + 94 96 8 + 94 97 8 + 94 98 8 + 94 99 8 + 94 100 8 + 94 101 8 + 94 102 8 + 94 103 8 + 94 104 8 + 94 105 8 + 94 106 8 + 94 107 8 + 94 108 8 + 94 109 8 + 94 110 8 + 94 111 8 + 94 112 8 + 94 113 8 + 94 114 8 + 94 115 8 + 94 116 8 + 94 117 8 + 94 118 8 + 94 119 8 + 94 120 8 + 94 121 8 + 94 122 8 + 94 123 8 + 94 124 8 + 94 125 8 + 94 126 8 + 94 127 8 + 94 128 8 + 94 129 8 + 94 130 8 + 94 131 8 + 94 132 8 + 94 133 8 + 94 134 8 + 94 135 8 + 94 136 8 + 94 137 8 + 94 138 8 + 94 139 8 + 94 140 8 + 94 141 8 + 94 142 8 + 94 143 8 + 94 144 8 + 94 145 8 + 94 146 8 + 94 147 8 + 94 148 8 + 94 149 8 + 94 150 8 + 94 151 8 + 94 152 8 + 94 153 8 + 94 154 8 + 94 155 8 + 94 156 8 + 94 157 8 + 94 158 8 + 94 159 8 + 94 160 8 + 94 161 8 + 94 162 8 + 94 163 8 + 94 164 8 + 94 165 8 + 94 166 8 + 94 167 8 + 94 168 8 + 94 169 8 + 94 170 8 + 94 171 8 + 94 172 8 + 94 173 8 + 94 174 8 + 94 175 8 + 94 176 8 + 94 177 8 + 94 178 8 + 94 179 8 + 94 180 8 + 94 181 8 + 94 182 8 + 94 183 8 + 94 184 8 + 94 185 8 + 94 186 8 + 94 187 8 + 94 188 8 + 94 189 8 + 94 190 8 + 94 191 8 + 94 192 8 + 94 193 8 + 94 194 8 + 94 195 8 + 94 196 8 + 94 197 8 + 94 198 8 + 94 199 8 + 94 200 8 + 94 201 8 + 94 202 8 + 94 203 8 + 94 204 8 + 94 205 8 + 94 206 8 + 94 207 8 + 94 208 8 + 94 209 8 + 94 210 8 + 94 211 8 + 94 212 8 + 94 213 8 + 94 214 8 + 94 215 8 + 94 216 8 + 94 217 8 + 94 218 8 + 94 219 8 + 94 220 8 + 94 221 8 + 94 222 8 + 94 223 8 + 94 224 8 + 94 225 8 + 94 226 8 + 94 227 8 + 94 228 8 + 94 229 8 + 94 230 8 + 94 231 8 + 94 232 8 + 94 233 8 + 94 234 8 + 94 235 8 + 94 236 8 + 94 237 8 + 94 238 8 + 94 239 8 + 94 240 8 + 94 241 8 + 94 242 8 + 94 243 8 + 94 244 8 + 94 245 8 + 94 246 8 + 94 247 8 + 94 248 8 + 94 249 8 + 94 250 8 + 94 251 8 + 94 252 8 + 94 253 8 + 94 254 8 + 94 255 8 + 94 256 8 + 94 257 8 + 94 258 8 + 94 259 8 + 94 260 8 + 94 261 8 + 94 262 8 + 94 263 8 + 94 264 8 + 94 265 8 + 94 266 8 + 94 267 8 + 94 268 8 + 94 269 8 + 94 270 8 + 94 271 8 + 94 272 8 + 94 273 8 + 94 274 8 + 94 275 8 + 94 276 8 + 94 277 8 + 94 278 8 + 94 279 8 + 94 280 8 + 94 281 8 + 94 282 8 + 94 283 8 + 94 284 8 + 94 285 8 + 94 286 8 + 94 287 8 + 94 288 8 + 94 289 8 + 94 290 8 + 94 291 8 + 94 292 8 + 94 293 8 + 94 294 8 + 94 295 8 + 94 296 8 + 94 297 8 + 94 298 8 + 94 299 8 + 94 300 8 + 94 301 8 + 94 302 8 + 94 303 8 + 94 304 8 + 94 305 8 + 94 306 8 + 94 307 8 + 94 308 8 + 94 309 8 + 94 310 8 + 94 311 8 + 94 312 8 + 94 313 8 + 94 314 8 + 94 315 8 + 94 316 8 + 94 317 8 + 94 318 8 + 94 319 8 + 94 320 8 + 94 321 8 + 94 322 8 + 94 323 8 + 94 324 8 + 94 325 8 + 94 326 8 + 94 327 8 + 94 328 8 + 94 329 8 + 94 330 8 + 94 331 8 + 94 332 8 + 94 333 8 + 94 334 8 + 94 335 8 + 94 336 8 + 94 337 8 + 94 338 8 + 94 339 8 + 94 340 8 + 94 341 8 + 94 342 8 + 94 343 8 + 94 344 8 + 94 345 8 + 94 346 8 + 94 347 8 + 94 348 8 + 94 349 8 + 95 96 8 + 95 97 8 + 95 98 8 + 95 99 8 + 95 100 8 + 95 101 8 + 95 102 8 + 95 103 8 + 95 104 8 + 95 105 8 + 95 106 8 + 95 107 8 + 95 108 8 + 95 109 8 + 95 110 8 + 95 111 8 + 95 112 8 + 95 113 8 + 95 114 8 + 95 115 8 + 95 116 8 + 95 117 8 + 95 118 8 + 95 119 8 + 95 120 8 + 95 121 8 + 95 122 8 + 95 123 8 + 95 124 8 + 95 125 8 + 95 126 8 + 95 127 8 + 95 128 8 + 95 129 8 + 95 130 8 + 95 131 8 + 95 132 8 + 95 133 8 + 95 134 8 + 95 135 8 + 95 136 8 + 95 137 8 + 95 138 8 + 95 139 8 + 95 140 8 + 95 141 8 + 95 142 8 + 95 143 8 + 95 144 8 + 95 145 8 + 95 146 8 + 95 147 8 + 95 148 8 + 95 149 8 + 95 150 8 + 95 151 8 + 95 152 8 + 95 153 8 + 95 154 8 + 95 155 8 + 95 156 8 + 95 157 8 + 95 158 8 + 95 159 8 + 95 160 8 + 95 161 8 + 95 162 8 + 95 163 8 + 95 164 8 + 95 165 8 + 95 166 8 + 95 167 8 + 95 168 8 + 95 169 8 + 95 170 8 + 95 171 8 + 95 172 8 + 95 173 8 + 95 174 8 + 95 175 8 + 95 176 8 + 95 177 8 + 95 178 8 + 95 179 8 + 95 180 8 + 95 181 8 + 95 182 8 + 95 183 8 + 95 184 8 + 95 185 8 + 95 186 8 + 95 187 8 + 95 188 8 + 95 189 8 + 95 190 8 + 95 191 8 + 95 192 8 + 95 193 8 + 95 194 8 + 95 195 8 + 95 196 8 + 95 197 8 + 95 198 8 + 95 199 8 + 95 200 8 + 95 201 8 + 95 202 8 + 95 203 8 + 95 204 8 + 95 205 8 + 95 206 8 + 95 207 8 + 95 208 8 + 95 209 8 + 95 210 8 + 95 211 8 + 95 212 8 + 95 213 8 + 95 214 8 + 95 215 8 + 95 216 8 + 95 217 8 + 95 218 8 + 95 219 8 + 95 220 8 + 95 221 8 + 95 222 8 + 95 223 8 + 95 224 8 + 95 225 8 + 95 226 8 + 95 227 8 + 95 228 8 + 95 229 8 + 95 230 8 + 95 231 8 + 95 232 8 + 95 233 8 + 95 234 8 + 95 235 8 + 95 236 8 + 95 237 8 + 95 238 8 + 95 239 8 + 95 240 8 + 95 241 8 + 95 242 8 + 95 243 8 + 95 244 8 + 95 245 8 + 95 246 8 + 95 247 8 + 95 248 8 + 95 249 8 + 95 250 8 + 95 251 8 + 95 252 8 + 95 253 8 + 95 254 8 + 95 255 8 + 95 256 8 + 95 257 8 + 95 258 8 + 95 259 8 + 95 260 8 + 95 261 8 + 95 262 8 + 95 263 8 + 95 264 8 + 95 265 8 + 95 266 8 + 95 267 8 + 95 268 8 + 95 269 8 + 95 270 8 + 95 271 8 + 95 272 8 + 95 273 8 + 95 274 8 + 95 275 8 + 95 276 8 + 95 277 8 + 95 278 8 + 95 279 8 + 95 280 8 + 95 281 8 + 95 282 8 + 95 283 8 + 95 284 8 + 95 285 8 + 95 286 8 + 95 287 8 + 95 288 8 + 95 289 8 + 95 290 8 + 95 291 8 + 95 292 8 + 95 293 8 + 95 294 8 + 95 295 8 + 95 296 8 + 95 297 8 + 95 298 8 + 95 299 8 + 95 300 8 + 95 301 8 + 95 302 8 + 95 303 8 + 95 304 8 + 95 305 8 + 95 306 8 + 95 307 8 + 95 308 8 + 95 309 8 + 95 310 8 + 95 311 8 + 95 312 8 + 95 313 8 + 95 314 8 + 95 315 8 + 95 316 8 + 95 317 8 + 95 318 8 + 95 319 8 + 95 320 8 + 95 321 8 + 95 322 8 + 95 323 8 + 95 324 8 + 95 325 8 + 95 326 8 + 95 327 8 + 95 328 8 + 95 329 8 + 95 330 8 + 95 331 8 + 95 332 8 + 95 333 8 + 95 334 8 + 95 335 8 + 95 336 8 + 95 337 8 + 95 338 8 + 95 339 8 + 95 340 8 + 95 341 8 + 95 342 8 + 95 343 8 + 95 344 8 + 95 345 8 + 95 346 8 + 95 347 8 + 95 348 8 + 95 349 8 + 96 97 8 + 96 98 8 + 96 99 8 + 96 100 8 + 96 101 8 + 96 102 8 + 96 103 8 + 96 104 8 + 96 105 8 + 96 106 8 + 96 107 8 + 96 108 8 + 96 109 8 + 96 110 8 + 96 111 8 + 96 112 8 + 96 113 8 + 96 114 8 + 96 115 8 + 96 116 8 + 96 117 8 + 96 118 8 + 96 119 8 + 96 120 8 + 96 121 8 + 96 122 8 + 96 123 8 + 96 124 8 + 96 125 8 + 96 126 8 + 96 127 8 + 96 128 8 + 96 129 8 + 96 130 8 + 96 131 8 + 96 132 8 + 96 133 8 + 96 134 8 + 96 135 8 + 96 136 8 + 96 137 8 + 96 138 8 + 96 139 8 + 96 140 8 + 96 141 8 + 96 142 8 + 96 143 8 + 96 144 8 + 96 145 8 + 96 146 8 + 96 147 8 + 96 148 8 + 96 149 8 + 96 150 8 + 96 151 8 + 96 152 8 + 96 153 8 + 96 154 8 + 96 155 8 + 96 156 8 + 96 157 8 + 96 158 8 + 96 159 8 + 96 160 8 + 96 161 8 + 96 162 8 + 96 163 8 + 96 164 8 + 96 165 8 + 96 166 8 + 96 167 8 + 96 168 8 + 96 169 8 + 96 170 8 + 96 171 8 + 96 172 8 + 96 173 8 + 96 174 8 + 96 175 8 + 96 176 8 + 96 177 8 + 96 178 8 + 96 179 8 + 96 180 8 + 96 181 8 + 96 182 8 + 96 183 8 + 96 184 8 + 96 185 8 + 96 186 8 + 96 187 8 + 96 188 8 + 96 189 8 + 96 190 8 + 96 191 8 + 96 192 8 + 96 193 8 + 96 194 8 + 96 195 8 + 96 196 8 + 96 197 8 + 96 198 8 + 96 199 8 + 96 200 8 + 96 201 8 + 96 202 8 + 96 203 8 + 96 204 8 + 96 205 8 + 96 206 8 + 96 207 8 + 96 208 8 + 96 209 8 + 96 210 8 + 96 211 8 + 96 212 8 + 96 213 8 + 96 214 8 + 96 215 8 + 96 216 8 + 96 217 8 + 96 218 8 + 96 219 8 + 96 220 8 + 96 221 8 + 96 222 8 + 96 223 8 + 96 224 8 + 96 225 8 + 96 226 8 + 96 227 8 + 96 228 8 + 96 229 8 + 96 230 8 + 96 231 8 + 96 232 8 + 96 233 8 + 96 234 8 + 96 235 8 + 96 236 8 + 96 237 8 + 96 238 8 + 96 239 8 + 96 240 8 + 96 241 8 + 96 242 8 + 96 243 8 + 96 244 8 + 96 245 8 + 96 246 8 + 96 247 8 + 96 248 8 + 96 249 8 + 96 250 8 + 96 251 8 + 96 252 8 + 96 253 8 + 96 254 8 + 96 255 8 + 96 256 8 + 96 257 8 + 96 258 8 + 96 259 8 + 96 260 8 + 96 261 8 + 96 262 8 + 96 263 8 + 96 264 8 + 96 265 8 + 96 266 8 + 96 267 8 + 96 268 8 + 96 269 8 + 96 270 8 + 96 271 8 + 96 272 8 + 96 273 8 + 96 274 8 + 96 275 8 + 96 276 8 + 96 277 8 + 96 278 8 + 96 279 8 + 96 280 8 + 96 281 8 + 96 282 8 + 96 283 8 + 96 284 8 + 96 285 8 + 96 286 8 + 96 287 8 + 96 288 8 + 96 289 8 + 96 290 8 + 96 291 8 + 96 292 8 + 96 293 8 + 96 294 8 + 96 295 8 + 96 296 8 + 96 297 8 + 96 298 8 + 96 299 8 + 96 300 8 + 96 301 8 + 96 302 8 + 96 303 8 + 96 304 8 + 96 305 8 + 96 306 8 + 96 307 8 + 96 308 8 + 96 309 8 + 96 310 8 + 96 311 8 + 96 312 8 + 96 313 8 + 96 314 8 + 96 315 8 + 96 316 8 + 96 317 8 + 96 318 8 + 96 319 8 + 96 320 8 + 96 321 8 + 96 322 8 + 96 323 8 + 96 324 8 + 96 325 8 + 96 326 8 + 96 327 8 + 96 328 8 + 96 329 8 + 96 330 8 + 96 331 8 + 96 332 8 + 96 333 8 + 96 334 8 + 96 335 8 + 96 336 8 + 96 337 8 + 96 338 8 + 96 339 8 + 96 340 8 + 96 341 8 + 96 342 8 + 96 343 8 + 96 344 8 + 96 345 8 + 96 346 8 + 96 347 8 + 96 348 8 + 96 349 8 + 97 98 8 + 97 99 8 + 97 100 8 + 97 101 8 + 97 102 8 + 97 103 8 + 97 104 8 + 97 105 8 + 97 106 8 + 97 107 8 + 97 108 8 + 97 109 8 + 97 110 8 + 97 111 8 + 97 112 8 + 97 113 8 + 97 114 8 + 97 115 8 + 97 116 8 + 97 117 8 + 97 118 8 + 97 119 8 + 97 120 8 + 97 121 8 + 97 122 8 + 97 123 8 + 97 124 8 + 97 125 8 + 97 126 8 + 97 127 8 + 97 128 8 + 97 129 8 + 97 130 8 + 97 131 8 + 97 132 8 + 97 133 8 + 97 134 8 + 97 135 8 + 97 136 8 + 97 137 8 + 97 138 8 + 97 139 8 + 97 140 8 + 97 141 8 + 97 142 8 + 97 143 8 + 97 144 8 + 97 145 8 + 97 146 8 + 97 147 8 + 97 148 8 + 97 149 8 + 97 150 8 + 97 151 8 + 97 152 8 + 97 153 8 + 97 154 8 + 97 155 8 + 97 156 8 + 97 157 8 + 97 158 8 + 97 159 8 + 97 160 8 + 97 161 8 + 97 162 8 + 97 163 8 + 97 164 8 + 97 165 8 + 97 166 8 + 97 167 8 + 97 168 8 + 97 169 8 + 97 170 8 + 97 171 8 + 97 172 8 + 97 173 8 + 97 174 8 + 97 175 8 + 97 176 8 + 97 177 8 + 97 178 8 + 97 179 8 + 97 180 8 + 97 181 8 + 97 182 8 + 97 183 8 + 97 184 8 + 97 185 8 + 97 186 8 + 97 187 8 + 97 188 8 + 97 189 8 + 97 190 8 + 97 191 8 + 97 192 8 + 97 193 8 + 97 194 8 + 97 195 8 + 97 196 8 + 97 197 8 + 97 198 8 + 97 199 8 + 97 200 8 + 97 201 8 + 97 202 8 + 97 203 8 + 97 204 8 + 97 205 8 + 97 206 8 + 97 207 8 + 97 208 8 + 97 209 8 + 97 210 8 + 97 211 8 + 97 212 8 + 97 213 8 + 97 214 8 + 97 215 8 + 97 216 8 + 97 217 8 + 97 218 8 + 97 219 8 + 97 220 8 + 97 221 8 + 97 222 8 + 97 223 8 + 97 224 8 + 97 225 8 + 97 226 8 + 97 227 8 + 97 228 8 + 97 229 8 + 97 230 8 + 97 231 8 + 97 232 8 + 97 233 8 + 97 234 8 + 97 235 8 + 97 236 8 + 97 237 8 + 97 238 8 + 97 239 8 + 97 240 8 + 97 241 8 + 97 242 8 + 97 243 8 + 97 244 8 + 97 245 8 + 97 246 8 + 97 247 8 + 97 248 8 + 97 249 8 + 97 250 8 + 97 251 8 + 97 252 8 + 97 253 8 + 97 254 8 + 97 255 8 + 97 256 8 + 97 257 8 + 97 258 8 + 97 259 8 + 97 260 8 + 97 261 8 + 97 262 8 + 97 263 8 + 97 264 8 + 97 265 8 + 97 266 8 + 97 267 8 + 97 268 8 + 97 269 8 + 97 270 8 + 97 271 8 + 97 272 8 + 97 273 8 + 97 274 8 + 97 275 8 + 97 276 8 + 97 277 8 + 97 278 8 + 97 279 8 + 97 280 8 + 97 281 8 + 97 282 8 + 97 283 8 + 97 284 8 + 97 285 8 + 97 286 8 + 97 287 8 + 97 288 8 + 97 289 8 + 97 290 8 + 97 291 8 + 97 292 8 + 97 293 8 + 97 294 8 + 97 295 8 + 97 296 8 + 97 297 8 + 97 298 8 + 97 299 8 + 97 300 8 + 97 301 8 + 97 302 8 + 97 303 8 + 97 304 8 + 97 305 8 + 97 306 8 + 97 307 8 + 97 308 8 + 97 309 8 + 97 310 8 + 97 311 8 + 97 312 8 + 97 313 8 + 97 314 8 + 97 315 8 + 97 316 8 + 97 317 8 + 97 318 8 + 97 319 8 + 97 320 8 + 97 321 8 + 97 322 8 + 97 323 8 + 97 324 8 + 97 325 8 + 97 326 8 + 97 327 8 + 97 328 8 + 97 329 8 + 97 330 8 + 97 331 8 + 97 332 8 + 97 333 8 + 97 334 8 + 97 335 8 + 97 336 8 + 97 337 8 + 97 338 8 + 97 339 8 + 97 340 8 + 97 341 8 + 97 342 8 + 97 343 8 + 97 344 8 + 97 345 8 + 97 346 8 + 97 347 8 + 97 348 8 + 97 349 8 + 98 99 8 + 98 100 8 + 98 101 8 + 98 102 8 + 98 103 8 + 98 104 8 + 98 105 8 + 98 106 8 + 98 107 8 + 98 108 8 + 98 109 8 + 98 110 8 + 98 111 8 + 98 112 8 + 98 113 8 + 98 114 8 + 98 115 8 + 98 116 8 + 98 117 8 + 98 118 8 + 98 119 8 + 98 120 8 + 98 121 8 + 98 122 8 + 98 123 8 + 98 124 8 + 98 125 8 + 98 126 8 + 98 127 8 + 98 128 8 + 98 129 8 + 98 130 8 + 98 131 8 + 98 132 8 + 98 133 8 + 98 134 8 + 98 135 8 + 98 136 8 + 98 137 8 + 98 138 8 + 98 139 8 + 98 140 8 + 98 141 8 + 98 142 8 + 98 143 8 + 98 144 8 + 98 145 8 + 98 146 8 + 98 147 8 + 98 148 8 + 98 149 8 + 98 150 8 + 98 151 8 + 98 152 8 + 98 153 8 + 98 154 8 + 98 155 8 + 98 156 8 + 98 157 8 + 98 158 8 + 98 159 8 + 98 160 8 + 98 161 8 + 98 162 8 + 98 163 8 + 98 164 8 + 98 165 8 + 98 166 8 + 98 167 8 + 98 168 8 + 98 169 8 + 98 170 8 + 98 171 8 + 98 172 8 + 98 173 8 + 98 174 8 + 98 175 8 + 98 176 8 + 98 177 8 + 98 178 8 + 98 179 8 + 98 180 8 + 98 181 8 + 98 182 8 + 98 183 8 + 98 184 8 + 98 185 8 + 98 186 8 + 98 187 8 + 98 188 8 + 98 189 8 + 98 190 8 + 98 191 8 + 98 192 8 + 98 193 8 + 98 194 8 + 98 195 8 + 98 196 8 + 98 197 8 + 98 198 8 + 98 199 8 + 98 200 8 + 98 201 8 + 98 202 8 + 98 203 8 + 98 204 8 + 98 205 8 + 98 206 8 + 98 207 8 + 98 208 8 + 98 209 8 + 98 210 8 + 98 211 8 + 98 212 8 + 98 213 8 + 98 214 8 + 98 215 8 + 98 216 8 + 98 217 8 + 98 218 8 + 98 219 8 + 98 220 8 + 98 221 8 + 98 222 8 + 98 223 8 + 98 224 8 + 98 225 8 + 98 226 8 + 98 227 8 + 98 228 8 + 98 229 8 + 98 230 8 + 98 231 8 + 98 232 8 + 98 233 8 + 98 234 8 + 98 235 8 + 98 236 8 + 98 237 8 + 98 238 8 + 98 239 8 + 98 240 8 + 98 241 8 + 98 242 8 + 98 243 8 + 98 244 8 + 98 245 8 + 98 246 8 + 98 247 8 + 98 248 8 + 98 249 8 + 98 250 8 + 98 251 8 + 98 252 8 + 98 253 8 + 98 254 8 + 98 255 8 + 98 256 8 + 98 257 8 + 98 258 8 + 98 259 8 + 98 260 8 + 98 261 8 + 98 262 8 + 98 263 8 + 98 264 8 + 98 265 8 + 98 266 8 + 98 267 8 + 98 268 8 + 98 269 8 + 98 270 8 + 98 271 8 + 98 272 8 + 98 273 8 + 98 274 8 + 98 275 8 + 98 276 8 + 98 277 8 + 98 278 8 + 98 279 8 + 98 280 8 + 98 281 8 + 98 282 8 + 98 283 8 + 98 284 8 + 98 285 8 + 98 286 8 + 98 287 8 + 98 288 8 + 98 289 8 + 98 290 8 + 98 291 8 + 98 292 8 + 98 293 8 + 98 294 8 + 98 295 8 + 98 296 8 + 98 297 8 + 98 298 8 + 98 299 8 + 98 300 8 + 98 301 8 + 98 302 8 + 98 303 8 + 98 304 8 + 98 305 8 + 98 306 8 + 98 307 8 + 98 308 8 + 98 309 8 + 98 310 8 + 98 311 8 + 98 312 8 + 98 313 8 + 98 314 8 + 98 315 8 + 98 316 8 + 98 317 8 + 98 318 8 + 98 319 8 + 98 320 8 + 98 321 8 + 98 322 8 + 98 323 8 + 98 324 8 + 98 325 8 + 98 326 8 + 98 327 8 + 98 328 8 + 98 329 8 + 98 330 8 + 98 331 8 + 98 332 8 + 98 333 8 + 98 334 8 + 98 335 8 + 98 336 8 + 98 337 8 + 98 338 8 + 98 339 8 + 98 340 8 + 98 341 8 + 98 342 8 + 98 343 8 + 98 344 8 + 98 345 8 + 98 346 8 + 98 347 8 + 98 348 8 + 98 349 8 + 99 100 8 + 99 101 8 + 99 102 8 + 99 103 8 + 99 104 8 + 99 105 8 + 99 106 8 + 99 107 8 + 99 108 8 + 99 109 8 + 99 110 8 + 99 111 8 + 99 112 8 + 99 113 8 + 99 114 8 + 99 115 8 + 99 116 8 + 99 117 8 + 99 118 8 + 99 119 8 + 99 120 8 + 99 121 8 + 99 122 8 + 99 123 8 + 99 124 8 + 99 125 8 + 99 126 8 + 99 127 8 + 99 128 8 + 99 129 8 + 99 130 8 + 99 131 8 + 99 132 8 + 99 133 8 + 99 134 8 + 99 135 8 + 99 136 8 + 99 137 8 + 99 138 8 + 99 139 8 + 99 140 8 + 99 141 8 + 99 142 8 + 99 143 8 + 99 144 8 + 99 145 8 + 99 146 8 + 99 147 8 + 99 148 8 + 99 149 8 + 99 150 8 + 99 151 8 + 99 152 8 + 99 153 8 + 99 154 8 + 99 155 8 + 99 156 8 + 99 157 8 + 99 158 8 + 99 159 8 + 99 160 8 + 99 161 8 + 99 162 8 + 99 163 8 + 99 164 8 + 99 165 8 + 99 166 8 + 99 167 8 + 99 168 8 + 99 169 8 + 99 170 8 + 99 171 8 + 99 172 8 + 99 173 8 + 99 174 8 + 99 175 8 + 99 176 8 + 99 177 8 + 99 178 8 + 99 179 8 + 99 180 8 + 99 181 8 + 99 182 8 + 99 183 8 + 99 184 8 + 99 185 8 + 99 186 8 + 99 187 8 + 99 188 8 + 99 189 8 + 99 190 8 + 99 191 8 + 99 192 8 + 99 193 8 + 99 194 8 + 99 195 8 + 99 196 8 + 99 197 8 + 99 198 8 + 99 199 8 + 99 200 8 + 99 201 8 + 99 202 8 + 99 203 8 + 99 204 8 + 99 205 8 + 99 206 8 + 99 207 8 + 99 208 8 + 99 209 8 + 99 210 8 + 99 211 8 + 99 212 8 + 99 213 8 + 99 214 8 + 99 215 8 + 99 216 8 + 99 217 8 + 99 218 8 + 99 219 8 + 99 220 8 + 99 221 8 + 99 222 8 + 99 223 8 + 99 224 8 + 99 225 8 + 99 226 8 + 99 227 8 + 99 228 8 + 99 229 8 + 99 230 8 + 99 231 8 + 99 232 8 + 99 233 8 + 99 234 8 + 99 235 8 + 99 236 8 + 99 237 8 + 99 238 8 + 99 239 8 + 99 240 8 + 99 241 8 + 99 242 8 + 99 243 8 + 99 244 8 + 99 245 8 + 99 246 8 + 99 247 8 + 99 248 8 + 99 249 8 + 99 250 8 + 99 251 8 + 99 252 8 + 99 253 8 + 99 254 8 + 99 255 8 + 99 256 8 + 99 257 8 + 99 258 8 + 99 259 8 + 99 260 8 + 99 261 8 + 99 262 8 + 99 263 8 + 99 264 8 + 99 265 8 + 99 266 8 + 99 267 8 + 99 268 8 + 99 269 8 + 99 270 8 + 99 271 8 + 99 272 8 + 99 273 8 + 99 274 8 + 99 275 8 + 99 276 8 + 99 277 8 + 99 278 8 + 99 279 8 + 99 280 8 + 99 281 8 + 99 282 8 + 99 283 8 + 99 284 8 + 99 285 8 + 99 286 8 + 99 287 8 + 99 288 8 + 99 289 8 + 99 290 8 + 99 291 8 + 99 292 8 + 99 293 8 + 99 294 8 + 99 295 8 + 99 296 8 + 99 297 8 + 99 298 8 + 99 299 8 + 99 300 8 + 99 301 8 + 99 302 8 + 99 303 8 + 99 304 8 + 99 305 8 + 99 306 8 + 99 307 8 + 99 308 8 + 99 309 8 + 99 310 8 + 99 311 8 + 99 312 8 + 99 313 8 + 99 314 8 + 99 315 8 + 99 316 8 + 99 317 8 + 99 318 8 + 99 319 8 + 99 320 8 + 99 321 8 + 99 322 8 + 99 323 8 + 99 324 8 + 99 325 8 + 99 326 8 + 99 327 8 + 99 328 8 + 99 329 8 + 99 330 8 + 99 331 8 + 99 332 8 + 99 333 8 + 99 334 8 + 99 335 8 + 99 336 8 + 99 337 8 + 99 338 8 + 99 339 8 + 99 340 8 + 99 341 8 + 99 342 8 + 99 343 8 + 99 344 8 + 99 345 8 + 99 346 8 + 99 347 8 + 99 348 8 + 99 349 8 +100 101 8 +100 102 8 +100 103 8 +100 104 8 +100 105 8 +100 106 8 +100 107 8 +100 108 8 +100 109 8 +100 110 8 +100 111 8 +100 112 8 +100 113 8 +100 114 8 +100 115 8 +100 116 8 +100 117 8 +100 118 8 +100 119 8 +100 120 8 +100 121 8 +100 122 8 +100 123 8 +100 124 8 +100 125 8 +100 126 8 +100 127 8 +100 128 8 +100 129 8 +100 130 8 +100 131 8 +100 132 8 +100 133 8 +100 134 8 +100 135 8 +100 136 8 +100 137 8 +100 138 8 +100 139 8 +100 140 8 +100 141 8 +100 142 8 +100 143 8 +100 144 8 +100 145 8 +100 146 8 +100 147 8 +100 148 8 +100 149 8 +100 150 8 +100 151 8 +100 152 8 +100 153 8 +100 154 8 +100 155 8 +100 156 8 +100 157 8 +100 158 8 +100 159 8 +100 160 8 +100 161 8 +100 162 8 +100 163 8 +100 164 8 +100 165 8 +100 166 8 +100 167 8 +100 168 8 +100 169 8 +100 170 8 +100 171 8 +100 172 8 +100 173 8 +100 174 8 +100 175 8 +100 176 8 +100 177 8 +100 178 8 +100 179 8 +100 180 8 +100 181 8 +100 182 8 +100 183 8 +100 184 8 +100 185 8 +100 186 8 +100 187 8 +100 188 8 +100 189 8 +100 190 8 +100 191 8 +100 192 8 +100 193 8 +100 194 8 +100 195 8 +100 196 8 +100 197 8 +100 198 8 +100 199 8 +100 200 8 +100 201 8 +100 202 8 +100 203 8 +100 204 8 +100 205 8 +100 206 8 +100 207 8 +100 208 8 +100 209 8 +100 210 8 +100 211 8 +100 212 8 +100 213 8 +100 214 8 +100 215 8 +100 216 8 +100 217 8 +100 218 8 +100 219 8 +100 220 8 +100 221 8 +100 222 8 +100 223 8 +100 224 8 +100 225 8 +100 226 8 +100 227 8 +100 228 8 +100 229 8 +100 230 8 +100 231 8 +100 232 8 +100 233 8 +100 234 8 +100 235 8 +100 236 8 +100 237 8 +100 238 8 +100 239 8 +100 240 8 +100 241 8 +100 242 8 +100 243 8 +100 244 8 +100 245 8 +100 246 8 +100 247 8 +100 248 8 +100 249 8 +100 250 8 +100 251 8 +100 252 8 +100 253 8 +100 254 8 +100 255 8 +100 256 8 +100 257 8 +100 258 8 +100 259 8 +100 260 8 +100 261 8 +100 262 8 +100 263 8 +100 264 8 +100 265 8 +100 266 8 +100 267 8 +100 268 8 +100 269 8 +100 270 8 +100 271 8 +100 272 8 +100 273 8 +100 274 8 +100 275 8 +100 276 8 +100 277 8 +100 278 8 +100 279 8 +100 280 8 +100 281 8 +100 282 8 +100 283 8 +100 284 8 +100 285 8 +100 286 8 +100 287 8 +100 288 8 +100 289 8 +100 290 8 +100 291 8 +100 292 8 +100 293 8 +100 294 8 +100 295 8 +100 296 8 +100 297 8 +100 298 8 +100 299 8 +100 300 8 +100 301 8 +100 302 8 +100 303 8 +100 304 8 +100 305 8 +100 306 8 +100 307 8 +100 308 8 +100 309 8 +100 310 8 +100 311 8 +100 312 8 +100 313 8 +100 314 8 +100 315 8 +100 316 8 +100 317 8 +100 318 8 +100 319 8 +100 320 8 +100 321 8 +100 322 8 +100 323 8 +100 324 8 +100 325 8 +100 326 8 +100 327 8 +100 328 8 +100 329 8 +100 330 8 +100 331 8 +100 332 8 +100 333 8 +100 334 8 +100 335 8 +100 336 8 +100 337 8 +100 338 8 +100 339 8 +100 340 8 +100 341 8 +100 342 8 +100 343 8 +100 344 8 +100 345 8 +100 346 8 +100 347 8 +100 348 8 +100 349 8 +101 102 8 +101 103 8 +101 104 8 +101 105 8 +101 106 8 +101 107 8 +101 108 8 +101 109 8 +101 110 8 +101 111 8 +101 112 8 +101 113 8 +101 114 8 +101 115 8 +101 116 8 +101 117 8 +101 118 8 +101 119 8 +101 120 8 +101 121 8 +101 122 8 +101 123 8 +101 124 8 +101 125 8 +101 126 8 +101 127 8 +101 128 8 +101 129 8 +101 130 8 +101 131 8 +101 132 8 +101 133 8 +101 134 8 +101 135 8 +101 136 8 +101 137 8 +101 138 8 +101 139 8 +101 140 8 +101 141 8 +101 142 8 +101 143 8 +101 144 8 +101 145 8 +101 146 8 +101 147 8 +101 148 8 +101 149 8 +101 150 8 +101 151 8 +101 152 8 +101 153 8 +101 154 8 +101 155 8 +101 156 8 +101 157 8 +101 158 8 +101 159 8 +101 160 8 +101 161 8 +101 162 8 +101 163 8 +101 164 8 +101 165 8 +101 166 8 +101 167 8 +101 168 8 +101 169 8 +101 170 8 +101 171 8 +101 172 8 +101 173 8 +101 174 8 +101 175 8 +101 176 8 +101 177 8 +101 178 8 +101 179 8 +101 180 8 +101 181 8 +101 182 8 +101 183 8 +101 184 8 +101 185 8 +101 186 8 +101 187 8 +101 188 8 +101 189 8 +101 190 8 +101 191 8 +101 192 8 +101 193 8 +101 194 8 +101 195 8 +101 196 8 +101 197 8 +101 198 8 +101 199 8 +101 200 8 +101 201 8 +101 202 8 +101 203 8 +101 204 8 +101 205 8 +101 206 8 +101 207 8 +101 208 8 +101 209 8 +101 210 16 +101 211 16 +101 212 16 +101 213 16 +101 214 16 +101 215 16 +101 216 16 +101 217 16 +101 218 16 +101 219 16 +101 220 16 +101 221 16 +101 222 16 +101 223 16 +101 224 16 +101 225 16 +101 226 16 +101 227 16 +101 228 16 +101 229 16 +101 230 16 +101 231 16 +101 232 16 +101 233 16 +101 234 16 +101 235 16 +101 236 16 +101 237 16 +101 238 16 +101 239 16 +101 240 16 +101 241 16 +101 242 16 +101 243 16 +101 244 16 +101 245 16 +101 246 16 +101 247 16 +101 248 16 +101 249 16 +101 250 16 +101 251 16 +101 252 16 +101 253 16 +101 254 16 +101 255 16 +101 256 16 +101 257 16 +101 258 16 +101 259 16 +101 260 16 +101 261 16 +101 262 16 +101 263 16 +101 264 16 +101 265 16 +101 266 16 +101 267 16 +101 268 16 +101 269 16 +101 270 16 +101 271 16 +101 272 16 +101 273 16 +101 274 16 +101 275 16 +101 276 16 +101 277 16 +101 278 16 +101 279 16 +101 280 16 +101 281 16 +101 282 16 +101 283 16 +101 284 16 +101 285 16 +101 286 16 +101 287 16 +101 288 16 +101 289 16 +101 290 16 +101 291 16 +101 292 16 +101 293 16 +101 294 16 +101 295 16 +101 296 16 +101 297 16 +101 298 16 +101 299 16 +101 300 16 +101 301 16 +101 302 16 +101 303 16 +101 304 16 +101 305 16 +101 306 16 +101 307 16 +101 308 16 +101 309 16 +101 310 16 +101 311 16 +101 312 16 +101 313 16 +101 314 16 +101 315 16 +101 316 16 +101 317 16 +101 318 16 +101 319 16 +101 320 16 +101 321 16 +101 322 16 +101 323 16 +101 324 16 +101 325 16 +101 326 16 +101 327 16 +101 328 16 +101 329 16 +101 330 16 +101 331 16 +101 332 16 +101 333 16 +101 334 16 +101 335 16 +101 336 16 +101 337 16 +101 338 16 +101 339 16 +101 340 16 +101 341 16 +101 342 16 +101 343 16 +101 344 16 +101 345 16 +101 346 16 +101 347 16 +101 348 16 +101 349 16 +102 103 16 +102 104 16 +102 105 16 +102 106 16 +102 107 16 +102 108 16 +102 109 16 +102 110 16 +102 111 16 +102 112 16 +102 113 16 +102 114 16 +102 115 16 +102 116 16 +102 117 16 +102 118 16 +102 119 16 +102 120 16 +102 121 16 +102 122 16 +102 123 16 +102 124 16 +102 125 16 +102 126 16 +102 127 16 +102 128 16 +102 129 16 +102 130 16 +102 131 16 +102 132 16 +102 133 16 +102 134 16 +102 135 16 +102 136 16 +102 137 16 +102 138 16 +102 139 16 +102 140 16 +102 141 16 +102 142 16 +102 143 16 +102 144 16 +102 145 16 +102 146 16 +102 147 16 +102 148 16 +102 149 16 +102 150 16 +102 151 16 +102 152 16 +102 153 16 +102 154 16 +102 155 16 +102 156 16 +102 157 16 +102 158 16 +102 159 16 +102 160 16 +102 161 16 +102 162 16 +102 163 16 +102 164 16 +102 165 16 +102 166 16 +102 167 16 +102 168 16 +102 169 16 +102 170 16 +102 171 16 +102 172 16 +102 173 16 +102 174 16 +102 175 16 +102 176 16 +102 177 16 +102 178 16 +102 179 16 +102 180 16 +102 181 16 +102 182 16 +102 183 16 +102 184 16 +102 185 16 +102 186 16 +102 187 16 +102 188 16 +102 189 16 +102 190 16 +102 191 16 +102 192 16 +102 193 16 +102 194 16 +102 195 16 +102 196 16 +102 197 16 +102 198 16 +102 199 16 +102 200 16 +102 201 16 +102 202 16 +102 203 16 +102 204 16 +102 205 16 +102 206 16 +102 207 16 +102 208 16 +102 209 16 +102 210 16 +102 211 16 +102 212 16 +102 213 16 +102 214 16 +102 215 16 +102 216 16 +102 217 16 +102 218 16 +102 219 16 +102 220 16 +102 221 16 +102 222 16 +102 223 16 +102 224 16 +102 225 16 +102 226 16 +102 227 16 +102 228 16 +102 229 16 +102 230 16 +102 231 16 +102 232 16 +102 233 16 +102 234 16 +102 235 16 +102 236 16 +102 237 16 +102 238 16 +102 239 16 +102 240 16 +102 241 16 +102 242 16 +102 243 16 +102 244 16 +102 245 16 +102 246 16 +102 247 16 +102 248 16 +102 249 16 +102 250 16 +102 251 16 +102 252 16 +102 253 16 +102 254 16 +102 255 16 +102 256 16 +102 257 16 +102 258 16 +102 259 16 +102 260 16 +102 261 16 +102 262 16 +102 263 16 +102 264 16 +102 265 16 +102 266 16 +102 267 16 +102 268 16 +102 269 16 +102 270 16 +102 271 16 +102 272 16 +102 273 16 +102 274 16 +102 275 16 +102 276 16 +102 277 16 +102 278 16 +102 279 16 +102 280 16 +102 281 16 +102 282 16 +102 283 16 +102 284 16 +102 285 16 +102 286 16 +102 287 16 +102 288 16 +102 289 16 +102 290 16 +102 291 16 +102 292 16 +102 293 16 +102 294 16 +102 295 16 +102 296 16 +102 297 16 +102 298 16 +102 299 16 +102 300 16 +102 301 16 +102 302 16 +102 303 16 +102 304 16 +102 305 16 +102 306 16 +102 307 16 +102 308 16 +102 309 16 +102 310 16 +102 311 16 +102 312 16 +102 313 16 +102 314 16 +102 315 16 +102 316 16 +102 317 16 +102 318 16 +102 319 16 +102 320 16 +102 321 16 +102 322 16 +102 323 16 +102 324 16 +102 325 16 +102 326 16 +102 327 16 +102 328 16 +102 329 16 +102 330 16 +102 331 16 +102 332 16 +102 333 16 +102 334 16 +102 335 16 +102 336 16 +102 337 16 +102 338 16 +102 339 16 +102 340 16 +102 341 16 +102 342 16 +102 343 16 +102 344 16 +102 345 16 +102 346 16 +102 347 16 +102 348 16 +102 349 16 +103 104 16 +103 105 16 +103 106 16 +103 107 16 +103 108 16 +103 109 16 +103 110 16 +103 111 16 +103 112 16 +103 113 16 +103 114 16 +103 115 16 +103 116 16 +103 117 16 +103 118 16 +103 119 16 +103 120 16 +103 121 16 +103 122 16 +103 123 16 +103 124 16 +103 125 16 +103 126 16 +103 127 16 +103 128 16 +103 129 16 +103 130 16 +103 131 16 +103 132 16 +103 133 16 +103 134 16 +103 135 16 +103 136 16 +103 137 16 +103 138 16 +103 139 16 +103 140 16 +103 141 16 +103 142 16 +103 143 16 +103 144 16 +103 145 16 +103 146 16 +103 147 16 +103 148 16 +103 149 16 +103 150 16 +103 151 16 +103 152 16 +103 153 16 +103 154 16 +103 155 16 +103 156 16 +103 157 16 +103 158 16 +103 159 16 +103 160 16 +103 161 16 +103 162 16 +103 163 16 +103 164 16 +103 165 16 +103 166 16 +103 167 16 +103 168 16 +103 169 16 +103 170 16 +103 171 16 +103 172 16 +103 173 16 +103 174 16 +103 175 16 +103 176 16 +103 177 16 +103 178 16 +103 179 16 +103 180 16 +103 181 16 +103 182 16 +103 183 16 +103 184 16 +103 185 16 +103 186 16 +103 187 16 +103 188 16 +103 189 16 +103 190 16 +103 191 16 +103 192 16 +103 193 16 +103 194 16 +103 195 16 +103 196 16 +103 197 16 +103 198 16 +103 199 16 +103 200 16 +103 201 16 +103 202 16 +103 203 16 +103 204 16 +103 205 16 +103 206 16 +103 207 16 +103 208 16 +103 209 16 +103 210 16 +103 211 16 +103 212 16 +103 213 16 +103 214 16 +103 215 16 +103 216 16 +103 217 16 +103 218 16 +103 219 16 +103 220 16 +103 221 16 +103 222 16 +103 223 16 +103 224 16 +103 225 16 +103 226 16 +103 227 16 +103 228 16 +103 229 16 +103 230 16 +103 231 16 +103 232 16 +103 233 16 +103 234 16 +103 235 16 +103 236 16 +103 237 16 +103 238 16 +103 239 16 +103 240 16 +103 241 16 +103 242 16 +103 243 16 +103 244 16 +103 245 16 +103 246 16 +103 247 16 +103 248 16 +103 249 16 +103 250 16 +103 251 16 +103 252 16 +103 253 16 +103 254 16 +103 255 16 +103 256 16 +103 257 16 +103 258 16 +103 259 16 +103 260 16 +103 261 16 +103 262 16 +103 263 16 +103 264 16 +103 265 16 +103 266 16 +103 267 16 +103 268 16 +103 269 16 +103 270 16 +103 271 16 +103 272 16 +103 273 16 +103 274 16 +103 275 16 +103 276 16 +103 277 16 +103 278 16 +103 279 16 +103 280 16 +103 281 16 +103 282 16 +103 283 16 +103 284 16 +103 285 16 +103 286 16 +103 287 16 +103 288 16 +103 289 16 +103 290 16 +103 291 16 +103 292 16 +103 293 16 +103 294 16 +103 295 16 +103 296 16 +103 297 16 +103 298 16 +103 299 16 +103 300 16 +103 301 16 +103 302 16 +103 303 16 +103 304 16 +103 305 16 +103 306 16 +103 307 16 +103 308 16 +103 309 16 +103 310 16 +103 311 16 +103 312 16 +103 313 16 +103 314 16 +103 315 16 +103 316 16 +103 317 16 +103 318 16 +103 319 16 +103 320 16 +103 321 16 +103 322 16 +103 323 16 +103 324 16 +103 325 16 +103 326 16 +103 327 16 +103 328 16 +103 329 16 +103 330 16 +103 331 16 +103 332 16 +103 333 16 +103 334 16 +103 335 16 +103 336 16 +103 337 16 +103 338 16 +103 339 16 +103 340 16 +103 341 16 +103 342 16 +103 343 16 +103 344 16 +103 345 16 +103 346 16 +103 347 16 +103 348 16 +103 349 16 +104 105 16 +104 106 16 +104 107 16 +104 108 16 +104 109 16 +104 110 16 +104 111 16 +104 112 16 +104 113 16 +104 114 16 +104 115 16 +104 116 16 +104 117 16 +104 118 16 +104 119 16 +104 120 16 +104 121 16 +104 122 16 +104 123 16 +104 124 16 +104 125 16 +104 126 16 +104 127 16 +104 128 16 +104 129 16 +104 130 16 +104 131 16 +104 132 16 +104 133 16 +104 134 16 +104 135 16 +104 136 16 +104 137 16 +104 138 16 +104 139 16 +104 140 16 +104 141 16 +104 142 16 +104 143 16 +104 144 16 +104 145 16 +104 146 16 +104 147 16 +104 148 16 +104 149 16 +104 150 16 +104 151 16 +104 152 16 +104 153 16 +104 154 16 +104 155 16 +104 156 16 +104 157 16 +104 158 16 +104 159 16 +104 160 16 +104 161 16 +104 162 16 +104 163 16 +104 164 16 +104 165 16 +104 166 16 +104 167 16 +104 168 16 +104 169 16 +104 170 16 +104 171 16 +104 172 16 +104 173 16 +104 174 16 +104 175 16 +104 176 16 +104 177 16 +104 178 16 +104 179 16 +104 180 16 +104 181 16 +104 182 16 +104 183 16 +104 184 16 +104 185 16 +104 186 16 +104 187 16 +104 188 16 +104 189 16 +104 190 16 +104 191 16 +104 192 16 +104 193 16 +104 194 16 +104 195 16 +104 196 16 +104 197 16 +104 198 16 +104 199 16 +104 200 16 +104 201 16 +104 202 16 +104 203 16 +104 204 16 +104 205 16 +104 206 16 +104 207 16 +104 208 16 +104 209 16 +104 210 16 +104 211 16 +104 212 16 +104 213 16 +104 214 16 +104 215 16 +104 216 16 +104 217 16 +104 218 16 +104 219 16 +104 220 16 +104 221 16 +104 222 16 +104 223 16 +104 224 16 +104 225 16 +104 226 16 +104 227 16 +104 228 16 +104 229 16 +104 230 16 +104 231 16 +104 232 16 +104 233 16 +104 234 16 +104 235 16 +104 236 16 +104 237 16 +104 238 16 +104 239 16 +104 240 16 +104 241 16 +104 242 16 +104 243 16 +104 244 16 +104 245 16 +104 246 16 +104 247 16 +104 248 16 +104 249 16 +104 250 16 +104 251 16 +104 252 16 +104 253 16 +104 254 16 +104 255 16 +104 256 16 +104 257 16 +104 258 16 +104 259 16 +104 260 16 +104 261 16 +104 262 16 +104 263 16 +104 264 16 +104 265 16 +104 266 16 +104 267 16 +104 268 16 +104 269 16 +104 270 16 +104 271 16 +104 272 16 +104 273 16 +104 274 16 +104 275 16 +104 276 16 +104 277 16 +104 278 16 +104 279 16 +104 280 16 +104 281 16 +104 282 16 +104 283 16 +104 284 16 +104 285 16 +104 286 16 +104 287 16 +104 288 16 +104 289 16 +104 290 16 +104 291 16 +104 292 16 +104 293 16 +104 294 16 +104 295 16 +104 296 16 +104 297 16 +104 298 16 +104 299 16 +104 300 16 +104 301 16 +104 302 16 +104 303 16 +104 304 16 +104 305 16 +104 306 16 +104 307 16 +104 308 16 +104 309 16 +104 310 16 +104 311 16 +104 312 16 +104 313 16 +104 314 16 +104 315 16 +104 316 16 +104 317 16 +104 318 16 +104 319 16 +104 320 16 +104 321 16 +104 322 16 +104 323 16 +104 324 16 +104 325 16 +104 326 16 +104 327 16 +104 328 16 +104 329 16 +104 330 16 +104 331 16 +104 332 16 +104 333 16 +104 334 16 +104 335 16 +104 336 16 +104 337 16 +104 338 16 +104 339 16 +104 340 16 +104 341 16 +104 342 16 +104 343 16 +104 344 16 +104 345 16 +104 346 16 +104 347 16 +104 348 16 +104 349 16 +105 106 16 +105 107 16 +105 108 16 +105 109 16 +105 110 16 +105 111 16 +105 112 16 +105 113 16 +105 114 16 +105 115 16 +105 116 16 +105 117 16 +105 118 16 +105 119 16 +105 120 16 +105 121 16 +105 122 16 +105 123 16 +105 124 16 +105 125 16 +105 126 16 +105 127 16 +105 128 16 +105 129 16 +105 130 16 +105 131 16 +105 132 16 +105 133 16 +105 134 16 +105 135 16 +105 136 16 +105 137 16 +105 138 16 +105 139 16 +105 140 16 +105 141 16 +105 142 16 +105 143 16 +105 144 16 +105 145 16 +105 146 16 +105 147 16 +105 148 16 +105 149 16 +105 150 16 +105 151 16 +105 152 16 +105 153 16 +105 154 16 +105 155 16 +105 156 16 +105 157 16 +105 158 16 +105 159 16 +105 160 16 +105 161 16 +105 162 16 +105 163 16 +105 164 16 +105 165 16 +105 166 16 +105 167 16 +105 168 16 +105 169 16 +105 170 16 +105 171 16 +105 172 16 +105 173 16 +105 174 16 +105 175 16 +105 176 16 +105 177 16 +105 178 16 +105 179 16 +105 180 16 +105 181 16 +105 182 16 +105 183 16 +105 184 16 +105 185 16 +105 186 16 +105 187 16 +105 188 16 +105 189 16 +105 190 16 +105 191 16 +105 192 16 +105 193 16 +105 194 16 +105 195 16 +105 196 16 +105 197 16 +105 198 16 +105 199 16 +105 200 16 +105 201 16 +105 202 16 +105 203 16 +105 204 16 +105 205 16 +105 206 16 +105 207 16 +105 208 16 +105 209 16 +105 210 16 +105 211 16 +105 212 16 +105 213 16 +105 214 16 +105 215 16 +105 216 16 +105 217 16 +105 218 16 +105 219 16 +105 220 16 +105 221 16 +105 222 16 +105 223 16 +105 224 16 +105 225 16 +105 226 16 +105 227 16 +105 228 16 +105 229 16 +105 230 16 +105 231 16 +105 232 16 +105 233 16 +105 234 16 +105 235 16 +105 236 16 +105 237 16 +105 238 16 +105 239 16 +105 240 16 +105 241 16 +105 242 16 +105 243 16 +105 244 16 +105 245 16 +105 246 16 +105 247 16 +105 248 16 +105 249 16 +105 250 16 +105 251 16 +105 252 16 +105 253 16 +105 254 16 +105 255 16 +105 256 16 +105 257 16 +105 258 16 +105 259 16 +105 260 16 +105 261 16 +105 262 16 +105 263 16 +105 264 16 +105 265 16 +105 266 16 +105 267 16 +105 268 16 +105 269 16 +105 270 16 +105 271 16 +105 272 16 +105 273 16 +105 274 16 +105 275 16 +105 276 16 +105 277 16 +105 278 16 +105 279 16 +105 280 16 +105 281 16 +105 282 16 +105 283 16 +105 284 16 +105 285 16 +105 286 16 +105 287 16 +105 288 16 +105 289 16 +105 290 16 +105 291 16 +105 292 16 +105 293 16 +105 294 16 +105 295 16 +105 296 16 +105 297 16 +105 298 16 +105 299 16 +105 300 16 +105 301 16 +105 302 16 +105 303 16 +105 304 16 +105 305 16 +105 306 16 +105 307 16 +105 308 16 +105 309 16 +105 310 16 +105 311 16 +105 312 16 +105 313 16 +105 314 16 +105 315 16 +105 316 16 +105 317 16 +105 318 16 +105 319 16 +105 320 16 +105 321 16 +105 322 16 +105 323 16 +105 324 16 +105 325 16 +105 326 16 +105 327 16 +105 328 16 +105 329 16 +105 330 16 +105 331 16 +105 332 16 +105 333 16 +105 334 16 +105 335 16 +105 336 16 +105 337 16 +105 338 16 +105 339 16 +105 340 16 +105 341 16 +105 342 16 +105 343 16 +105 344 16 +105 345 16 +105 346 16 +105 347 16 +105 348 16 +105 349 16 +106 107 16 +106 108 16 +106 109 16 +106 110 16 +106 111 16 +106 112 16 +106 113 16 +106 114 16 +106 115 16 +106 116 16 +106 117 16 +106 118 16 +106 119 16 +106 120 16 +106 121 16 +106 122 16 +106 123 16 +106 124 16 +106 125 16 +106 126 16 +106 127 16 +106 128 16 +106 129 16 +106 130 16 +106 131 16 +106 132 16 +106 133 16 +106 134 16 +106 135 16 +106 136 16 +106 137 16 +106 138 16 +106 139 16 +106 140 16 +106 141 16 +106 142 16 +106 143 16 +106 144 16 +106 145 16 +106 146 16 +106 147 16 +106 148 16 +106 149 16 +106 150 16 +106 151 16 +106 152 16 +106 153 16 +106 154 16 +106 155 16 +106 156 16 +106 157 16 +106 158 16 +106 159 16 +106 160 16 +106 161 16 +106 162 16 +106 163 16 +106 164 16 +106 165 16 +106 166 16 +106 167 16 +106 168 16 +106 169 16 +106 170 16 +106 171 16 +106 172 16 +106 173 16 +106 174 16 +106 175 16 +106 176 16 +106 177 16 +106 178 16 +106 179 16 +106 180 16 +106 181 16 +106 182 16 +106 183 16 +106 184 16 +106 185 16 +106 186 16 +106 187 16 +106 188 16 +106 189 16 +106 190 16 +106 191 16 +106 192 16 +106 193 16 +106 194 16 +106 195 16 +106 196 16 +106 197 16 +106 198 16 +106 199 16 +106 200 16 +106 201 16 +106 202 16 +106 203 16 +106 204 16 +106 205 16 +106 206 16 +106 207 16 +106 208 16 +106 209 16 +106 210 16 +106 211 16 +106 212 16 +106 213 16 +106 214 16 +106 215 16 +106 216 16 +106 217 16 +106 218 16 +106 219 16 +106 220 16 +106 221 16 +106 222 16 +106 223 16 +106 224 16 +106 225 16 +106 226 16 +106 227 16 +106 228 16 +106 229 16 +106 230 16 +106 231 16 +106 232 16 +106 233 16 +106 234 16 +106 235 16 +106 236 16 +106 237 16 +106 238 16 +106 239 16 +106 240 16 +106 241 16 +106 242 16 +106 243 16 +106 244 16 +106 245 16 +106 246 16 +106 247 16 +106 248 16 +106 249 16 +106 250 16 +106 251 16 +106 252 16 +106 253 16 +106 254 16 +106 255 16 +106 256 16 +106 257 16 +106 258 16 +106 259 16 +106 260 16 +106 261 16 +106 262 16 +106 263 16 +106 264 16 +106 265 16 +106 266 16 +106 267 16 +106 268 16 +106 269 16 +106 270 16 +106 271 16 +106 272 16 +106 273 16 +106 274 16 +106 275 16 +106 276 16 +106 277 16 +106 278 16 +106 279 16 +106 280 16 +106 281 16 +106 282 16 +106 283 16 +106 284 16 +106 285 16 +106 286 16 +106 287 16 +106 288 16 +106 289 16 +106 290 16 +106 291 16 +106 292 16 +106 293 16 +106 294 16 +106 295 16 +106 296 16 +106 297 16 +106 298 16 +106 299 16 +106 300 16 +106 301 16 +106 302 16 +106 303 16 +106 304 16 +106 305 16 +106 306 16 +106 307 16 +106 308 16 +106 309 16 +106 310 16 +106 311 16 +106 312 16 +106 313 16 +106 314 16 +106 315 16 +106 316 16 +106 317 16 +106 318 16 +106 319 16 +106 320 16 +106 321 16 +106 322 16 +106 323 16 +106 324 16 +106 325 16 +106 326 16 +106 327 16 +106 328 16 +106 329 16 +106 330 16 +106 331 16 +106 332 16 +106 333 16 +106 334 16 +106 335 16 +106 336 16 +106 337 16 +106 338 16 +106 339 16 +106 340 16 +106 341 16 +106 342 16 +106 343 16 +106 344 16 +106 345 16 +106 346 16 +106 347 16 +106 348 16 +106 349 16 +107 108 16 +107 109 16 +107 110 16 +107 111 16 +107 112 16 +107 113 16 +107 114 16 +107 115 16 +107 116 16 +107 117 16 +107 118 16 +107 119 16 +107 120 16 +107 121 16 +107 122 16 +107 123 16 +107 124 16 +107 125 16 +107 126 16 +107 127 16 +107 128 16 +107 129 16 +107 130 16 +107 131 16 +107 132 16 +107 133 16 +107 134 16 +107 135 16 +107 136 16 +107 137 16 +107 138 16 +107 139 16 +107 140 16 +107 141 16 +107 142 16 +107 143 16 +107 144 16 +107 145 16 +107 146 16 +107 147 16 +107 148 16 +107 149 16 +107 150 16 +107 151 16 +107 152 16 +107 153 16 +107 154 16 +107 155 16 +107 156 16 +107 157 16 +107 158 16 +107 159 16 +107 160 16 +107 161 16 +107 162 16 +107 163 16 +107 164 16 +107 165 16 +107 166 16 +107 167 16 +107 168 16 +107 169 16 +107 170 16 +107 171 16 +107 172 16 +107 173 16 +107 174 16 +107 175 16 +107 176 16 +107 177 16 +107 178 16 +107 179 16 +107 180 16 +107 181 16 +107 182 16 +107 183 16 +107 184 16 +107 185 16 +107 186 16 +107 187 16 +107 188 16 +107 189 16 +107 190 16 +107 191 16 +107 192 16 +107 193 16 +107 194 16 +107 195 16 +107 196 16 +107 197 16 +107 198 16 +107 199 16 +107 200 16 +107 201 16 +107 202 16 +107 203 16 +107 204 16 +107 205 16 +107 206 16 +107 207 16 +107 208 16 +107 209 16 +107 210 16 +107 211 16 +107 212 16 +107 213 16 +107 214 16 +107 215 16 +107 216 16 +107 217 16 +107 218 16 +107 219 16 +107 220 16 +107 221 16 +107 222 16 +107 223 16 +107 224 16 +107 225 16 +107 226 16 +107 227 16 +107 228 16 +107 229 16 +107 230 16 +107 231 16 +107 232 16 +107 233 16 +107 234 16 +107 235 16 +107 236 16 +107 237 16 +107 238 16 +107 239 16 +107 240 16 +107 241 16 +107 242 16 +107 243 16 +107 244 16 +107 245 16 +107 246 16 +107 247 16 +107 248 16 +107 249 16 +107 250 16 +107 251 16 +107 252 16 +107 253 16 +107 254 16 +107 255 16 +107 256 16 +107 257 16 +107 258 16 +107 259 16 +107 260 16 +107 261 16 +107 262 16 +107 263 16 +107 264 16 +107 265 16 +107 266 16 +107 267 16 +107 268 16 +107 269 16 +107 270 16 +107 271 16 +107 272 16 +107 273 16 +107 274 16 +107 275 16 +107 276 16 +107 277 16 +107 278 16 +107 279 16 +107 280 16 +107 281 16 +107 282 16 +107 283 16 +107 284 16 +107 285 16 +107 286 16 +107 287 16 +107 288 16 +107 289 16 +107 290 16 +107 291 16 +107 292 16 +107 293 16 +107 294 16 +107 295 16 +107 296 16 +107 297 16 +107 298 16 +107 299 16 +107 300 16 +107 301 16 +107 302 16 +107 303 16 +107 304 16 +107 305 16 +107 306 16 +107 307 16 +107 308 16 +107 309 16 +107 310 16 +107 311 16 +107 312 16 +107 313 16 +107 314 16 +107 315 16 +107 316 16 +107 317 16 +107 318 16 +107 319 16 +107 320 16 +107 321 16 +107 322 16 +107 323 16 +107 324 16 +107 325 16 +107 326 16 +107 327 16 +107 328 16 +107 329 16 +107 330 16 +107 331 16 +107 332 16 +107 333 16 +107 334 16 +107 335 16 +107 336 16 +107 337 16 +107 338 16 +107 339 16 +107 340 16 +107 341 16 +107 342 16 +107 343 16 +107 344 16 +107 345 16 +107 346 16 +107 347 16 +107 348 16 +107 349 16 +108 109 16 +108 110 16 +108 111 16 +108 112 16 +108 113 16 +108 114 16 +108 115 16 +108 116 16 +108 117 16 +108 118 16 +108 119 16 +108 120 16 +108 121 16 +108 122 16 +108 123 16 +108 124 16 +108 125 16 +108 126 16 +108 127 16 +108 128 16 +108 129 16 +108 130 16 +108 131 16 +108 132 16 +108 133 16 +108 134 16 +108 135 16 +108 136 16 +108 137 16 +108 138 16 +108 139 16 +108 140 16 +108 141 16 +108 142 16 +108 143 16 +108 144 16 +108 145 16 +108 146 16 +108 147 16 +108 148 16 +108 149 16 +108 150 16 +108 151 16 +108 152 16 +108 153 16 +108 154 16 +108 155 16 +108 156 16 +108 157 16 +108 158 16 +108 159 16 +108 160 16 +108 161 16 +108 162 16 +108 163 16 +108 164 16 +108 165 16 +108 166 16 +108 167 16 +108 168 16 +108 169 16 +108 170 16 +108 171 16 +108 172 16 +108 173 16 +108 174 16 +108 175 16 +108 176 16 +108 177 16 +108 178 16 +108 179 16 +108 180 16 +108 181 16 +108 182 16 +108 183 16 +108 184 16 +108 185 16 +108 186 16 +108 187 16 +108 188 16 +108 189 16 +108 190 16 +108 191 16 +108 192 16 +108 193 16 +108 194 16 +108 195 16 +108 196 16 +108 197 16 +108 198 16 +108 199 16 +108 200 16 +108 201 16 +108 202 16 +108 203 16 +108 204 16 +108 205 16 +108 206 16 +108 207 16 +108 208 16 +108 209 16 +108 210 16 +108 211 16 +108 212 16 +108 213 16 +108 214 16 +108 215 16 +108 216 16 +108 217 16 +108 218 16 +108 219 16 +108 220 16 +108 221 16 +108 222 16 +108 223 16 +108 224 16 +108 225 16 +108 226 16 +108 227 16 +108 228 16 +108 229 16 +108 230 16 +108 231 16 +108 232 16 +108 233 16 +108 234 16 +108 235 16 +108 236 16 +108 237 16 +108 238 16 +108 239 16 +108 240 16 +108 241 16 +108 242 16 +108 243 16 +108 244 16 +108 245 16 +108 246 16 +108 247 16 +108 248 16 +108 249 16 +108 250 16 +108 251 16 +108 252 16 +108 253 16 +108 254 16 +108 255 16 +108 256 16 +108 257 16 +108 258 16 +108 259 16 +108 260 16 +108 261 16 +108 262 16 +108 263 16 +108 264 16 +108 265 16 +108 266 16 +108 267 16 +108 268 16 +108 269 16 +108 270 16 +108 271 16 +108 272 16 +108 273 16 +108 274 16 +108 275 16 +108 276 16 +108 277 16 +108 278 16 +108 279 16 +108 280 16 +108 281 16 +108 282 16 +108 283 16 +108 284 16 +108 285 16 +108 286 16 +108 287 16 +108 288 16 +108 289 16 +108 290 16 +108 291 16 +108 292 16 +108 293 16 +108 294 16 +108 295 16 +108 296 16 +108 297 16 +108 298 16 +108 299 16 +108 300 16 +108 301 16 +108 302 16 +108 303 16 +108 304 16 +108 305 16 +108 306 16 +108 307 16 +108 308 16 +108 309 16 +108 310 16 +108 311 16 +108 312 16 +108 313 16 +108 314 16 +108 315 16 +108 316 16 +108 317 16 +108 318 16 +108 319 16 +108 320 16 +108 321 16 +108 322 16 +108 323 16 +108 324 16 +108 325 16 +108 326 16 +108 327 16 +108 328 16 +108 329 16 +108 330 16 +108 331 16 +108 332 16 +108 333 16 +108 334 16 +108 335 16 +108 336 16 +108 337 16 +108 338 16 +108 339 16 +108 340 16 +108 341 16 +108 342 16 +108 343 16 +108 344 16 +108 345 16 +108 346 16 +108 347 16 +108 348 16 +108 349 16 +109 110 16 +109 111 16 +109 112 16 +109 113 16 +109 114 16 +109 115 16 +109 116 16 +109 117 16 +109 118 16 +109 119 16 +109 120 16 +109 121 16 +109 122 16 +109 123 16 +109 124 16 +109 125 16 +109 126 16 +109 127 16 +109 128 16 +109 129 16 +109 130 16 +109 131 16 +109 132 16 +109 133 16 +109 134 16 +109 135 16 +109 136 16 +109 137 16 +109 138 16 +109 139 16 +109 140 16 +109 141 16 +109 142 16 +109 143 16 +109 144 16 +109 145 16 +109 146 16 +109 147 16 +109 148 16 +109 149 16 +109 150 16 +109 151 16 +109 152 16 +109 153 16 +109 154 16 +109 155 16 +109 156 16 +109 157 16 +109 158 16 +109 159 16 +109 160 16 +109 161 16 +109 162 16 +109 163 16 +109 164 16 +109 165 16 +109 166 16 +109 167 16 +109 168 16 +109 169 16 +109 170 16 +109 171 16 +109 172 16 +109 173 16 +109 174 16 +109 175 16 +109 176 16 +109 177 16 +109 178 16 +109 179 16 +109 180 16 +109 181 16 +109 182 16 +109 183 16 +109 184 16 +109 185 16 +109 186 16 +109 187 16 +109 188 16 +109 189 16 +109 190 16 +109 191 16 +109 192 16 +109 193 16 +109 194 16 +109 195 16 +109 196 16 +109 197 16 +109 198 16 +109 199 16 +109 200 16 +109 201 16 +109 202 16 +109 203 16 +109 204 16 +109 205 16 +109 206 16 +109 207 16 +109 208 16 +109 209 16 +109 210 16 +109 211 16 +109 212 16 +109 213 16 +109 214 16 +109 215 16 +109 216 16 +109 217 16 +109 218 16 +109 219 16 +109 220 16 +109 221 16 +109 222 16 +109 223 16 +109 224 16 +109 225 16 +109 226 16 +109 227 16 +109 228 16 +109 229 16 +109 230 16 +109 231 16 +109 232 16 +109 233 16 +109 234 16 +109 235 16 +109 236 16 +109 237 16 +109 238 16 +109 239 16 +109 240 16 +109 241 16 +109 242 16 +109 243 16 +109 244 16 +109 245 16 +109 246 16 +109 247 16 +109 248 16 +109 249 16 +109 250 16 +109 251 16 +109 252 16 +109 253 16 +109 254 16 +109 255 16 +109 256 16 +109 257 16 +109 258 16 +109 259 16 +109 260 16 +109 261 16 +109 262 16 +109 263 16 +109 264 16 +109 265 16 +109 266 16 +109 267 16 +109 268 16 +109 269 16 +109 270 16 +109 271 16 +109 272 16 +109 273 16 +109 274 16 +109 275 16 +109 276 16 +109 277 16 +109 278 16 +109 279 16 +109 280 16 +109 281 16 +109 282 16 +109 283 16 +109 284 16 +109 285 16 +109 286 16 +109 287 16 +109 288 16 +109 289 16 +109 290 16 +109 291 16 +109 292 16 +109 293 16 +109 294 16 +109 295 16 +109 296 16 +109 297 16 +109 298 16 +109 299 16 +109 300 16 +109 301 16 +109 302 16 +109 303 16 +109 304 16 +109 305 16 +109 306 16 +109 307 16 +109 308 16 +109 309 16 +109 310 16 +109 311 16 +109 312 16 +109 313 16 +109 314 16 +109 315 16 +109 316 16 +109 317 16 +109 318 16 +109 319 16 +109 320 16 +109 321 16 +109 322 16 +109 323 16 +109 324 16 +109 325 16 +109 326 16 +109 327 16 +109 328 16 +109 329 16 +109 330 16 +109 331 16 +109 332 16 +109 333 16 +109 334 16 +109 335 16 +109 336 16 +109 337 16 +109 338 16 +109 339 16 +109 340 16 +109 341 16 +109 342 16 +109 343 16 +109 344 16 +109 345 16 +109 346 16 +109 347 16 +109 348 16 +109 349 16 +110 111 16 +110 112 16 +110 113 16 +110 114 16 +110 115 16 +110 116 16 +110 117 16 +110 118 16 +110 119 16 +110 120 16 +110 121 16 +110 122 16 +110 123 16 +110 124 16 +110 125 16 +110 126 16 +110 127 16 +110 128 16 +110 129 16 +110 130 16 +110 131 16 +110 132 16 +110 133 16 +110 134 16 +110 135 16 +110 136 16 +110 137 16 +110 138 16 +110 139 16 +110 140 16 +110 141 16 +110 142 16 +110 143 16 +110 144 16 +110 145 16 +110 146 16 +110 147 16 +110 148 16 +110 149 16 +110 150 16 +110 151 16 +110 152 16 +110 153 16 +110 154 16 +110 155 16 +110 156 16 +110 157 16 +110 158 16 +110 159 16 +110 160 16 +110 161 16 +110 162 16 +110 163 16 +110 164 16 +110 165 16 +110 166 16 +110 167 16 +110 168 16 +110 169 16 +110 170 16 +110 171 16 +110 172 16 +110 173 16 +110 174 16 +110 175 16 +110 176 16 +110 177 16 +110 178 16 +110 179 16 +110 180 16 +110 181 16 +110 182 16 +110 183 16 +110 184 16 +110 185 16 +110 186 16 +110 187 16 +110 188 16 +110 189 16 +110 190 16 +110 191 16 +110 192 16 +110 193 16 +110 194 16 +110 195 16 +110 196 16 +110 197 16 +110 198 16 +110 199 16 +110 200 16 +110 201 16 +110 202 16 +110 203 16 +110 204 16 +110 205 16 +110 206 16 +110 207 16 +110 208 16 +110 209 16 +110 210 16 +110 211 16 +110 212 16 +110 213 16 +110 214 16 +110 215 16 +110 216 16 +110 217 16 +110 218 16 +110 219 16 +110 220 16 +110 221 16 +110 222 16 +110 223 16 +110 224 16 +110 225 16 +110 226 16 +110 227 16 +110 228 16 +110 229 16 +110 230 16 +110 231 16 +110 232 16 +110 233 16 +110 234 16 +110 235 16 +110 236 16 +110 237 16 +110 238 16 +110 239 16 +110 240 16 +110 241 16 +110 242 16 +110 243 16 +110 244 16 +110 245 16 +110 246 16 +110 247 16 +110 248 16 +110 249 16 +110 250 16 +110 251 16 +110 252 16 +110 253 16 +110 254 16 +110 255 16 +110 256 16 +110 257 16 +110 258 16 +110 259 16 +110 260 16 +110 261 16 +110 262 16 +110 263 16 +110 264 16 +110 265 16 +110 266 16 +110 267 16 +110 268 16 +110 269 16 +110 270 16 +110 271 16 +110 272 16 +110 273 16 +110 274 16 +110 275 16 +110 276 16 +110 277 16 +110 278 16 +110 279 16 +110 280 16 +110 281 16 +110 282 16 +110 283 16 +110 284 16 +110 285 16 +110 286 16 +110 287 16 +110 288 16 +110 289 16 +110 290 16 +110 291 16 +110 292 16 +110 293 16 +110 294 16 +110 295 16 +110 296 16 +110 297 16 +110 298 16 +110 299 16 +110 300 16 +110 301 16 +110 302 16 +110 303 16 +110 304 16 +110 305 16 +110 306 16 +110 307 16 +110 308 16 +110 309 16 +110 310 16 +110 311 16 +110 312 16 +110 313 16 +110 314 16 +110 315 16 +110 316 16 +110 317 16 +110 318 16 +110 319 16 +110 320 16 +110 321 16 +110 322 16 +110 323 16 +110 324 16 +110 325 16 +110 326 16 +110 327 16 +110 328 16 +110 329 16 +110 330 16 +110 331 16 +110 332 16 +110 333 16 +110 334 16 +110 335 16 +110 336 16 +110 337 16 +110 338 16 +110 339 16 +110 340 16 +110 341 16 +110 342 16 +110 343 16 +110 344 16 +110 345 16 +110 346 16 +110 347 16 +110 348 16 +110 349 16 +111 112 16 +111 113 16 +111 114 16 +111 115 16 +111 116 16 +111 117 16 +111 118 16 +111 119 16 +111 120 16 +111 121 16 +111 122 16 +111 123 16 +111 124 16 +111 125 16 +111 126 16 +111 127 16 +111 128 16 +111 129 16 +111 130 16 +111 131 16 +111 132 16 +111 133 16 +111 134 16 +111 135 16 +111 136 16 +111 137 16 +111 138 16 +111 139 16 +111 140 16 +111 141 16 +111 142 16 +111 143 16 +111 144 16 +111 145 16 +111 146 16 +111 147 16 +111 148 16 +111 149 16 +111 150 16 +111 151 16 +111 152 16 +111 153 16 +111 154 16 +111 155 16 +111 156 16 +111 157 16 +111 158 16 +111 159 16 +111 160 16 +111 161 16 +111 162 16 +111 163 16 +111 164 16 +111 165 16 +111 166 16 +111 167 16 +111 168 16 +111 169 16 +111 170 16 +111 171 16 +111 172 16 +111 173 16 +111 174 16 +111 175 16 +111 176 16 +111 177 16 +111 178 16 +111 179 16 +111 180 16 +111 181 16 +111 182 16 +111 183 16 +111 184 16 +111 185 16 +111 186 16 +111 187 16 +111 188 16 +111 189 16 +111 190 16 +111 191 16 +111 192 16 +111 193 16 +111 194 16 +111 195 16 +111 196 16 +111 197 16 +111 198 16 +111 199 16 +111 200 16 +111 201 16 +111 202 16 +111 203 16 +111 204 16 +111 205 16 +111 206 16 +111 207 16 +111 208 16 +111 209 16 +111 210 16 +111 211 16 +111 212 16 +111 213 16 +111 214 16 +111 215 16 +111 216 16 +111 217 16 +111 218 16 +111 219 16 +111 220 16 +111 221 16 +111 222 16 +111 223 16 +111 224 16 +111 225 16 +111 226 16 +111 227 16 +111 228 16 +111 229 16 +111 230 16 +111 231 16 +111 232 16 +111 233 16 +111 234 16 +111 235 16 +111 236 16 +111 237 16 +111 238 16 +111 239 16 +111 240 16 +111 241 16 +111 242 16 +111 243 16 +111 244 16 +111 245 16 +111 246 16 +111 247 16 +111 248 16 +111 249 16 +111 250 16 +111 251 16 +111 252 16 +111 253 16 +111 254 16 +111 255 16 +111 256 16 +111 257 16 +111 258 16 +111 259 16 +111 260 16 +111 261 16 +111 262 16 +111 263 16 +111 264 16 +111 265 16 +111 266 16 +111 267 16 +111 268 16 +111 269 16 +111 270 16 +111 271 16 +111 272 16 +111 273 16 +111 274 16 +111 275 16 +111 276 16 +111 277 16 +111 278 16 +111 279 16 +111 280 16 +111 281 16 +111 282 16 +111 283 16 +111 284 16 +111 285 16 +111 286 16 +111 287 16 +111 288 16 +111 289 16 +111 290 16 +111 291 16 +111 292 16 +111 293 16 +111 294 16 +111 295 16 +111 296 16 +111 297 16 +111 298 16 +111 299 16 +111 300 16 +111 301 16 +111 302 16 +111 303 16 +111 304 16 +111 305 16 +111 306 16 +111 307 16 +111 308 16 +111 309 16 +111 310 16 +111 311 16 +111 312 16 +111 313 16 +111 314 16 +111 315 16 +111 316 16 +111 317 16 +111 318 16 +111 319 16 +111 320 16 +111 321 16 +111 322 16 +111 323 16 +111 324 16 +111 325 16 +111 326 16 +111 327 16 +111 328 16 +111 329 16 +111 330 16 +111 331 16 +111 332 16 +111 333 16 +111 334 16 +111 335 16 +111 336 16 +111 337 16 +111 338 16 +111 339 16 +111 340 16 +111 341 16 +111 342 16 +111 343 16 +111 344 16 +111 345 16 +111 346 16 +111 347 16 +111 348 16 +111 349 16 +112 113 16 +112 114 16 +112 115 16 +112 116 16 +112 117 16 +112 118 16 +112 119 16 +112 120 16 +112 121 16 +112 122 16 +112 123 16 +112 124 16 +112 125 16 +112 126 16 +112 127 16 +112 128 16 +112 129 16 +112 130 16 +112 131 16 +112 132 16 +112 133 16 +112 134 16 +112 135 16 +112 136 16 +112 137 16 +112 138 16 +112 139 16 +112 140 16 +112 141 16 +112 142 16 +112 143 16 +112 144 16 +112 145 16 +112 146 16 +112 147 16 +112 148 16 +112 149 16 +112 150 16 +112 151 16 +112 152 16 +112 153 16 +112 154 16 +112 155 16 +112 156 16 +112 157 16 +112 158 16 +112 159 16 +112 160 16 +112 161 16 +112 162 16 +112 163 16 +112 164 16 +112 165 16 +112 166 16 +112 167 16 +112 168 16 +112 169 16 +112 170 16 +112 171 16 +112 172 16 +112 173 16 +112 174 16 +112 175 16 +112 176 16 +112 177 16 +112 178 16 +112 179 16 +112 180 16 +112 181 16 +112 182 16 +112 183 16 +112 184 16 +112 185 16 +112 186 16 +112 187 16 +112 188 16 +112 189 16 +112 190 16 +112 191 16 +112 192 16 +112 193 16 +112 194 16 +112 195 16 +112 196 16 +112 197 16 +112 198 16 +112 199 16 +112 200 16 +112 201 16 +112 202 16 +112 203 16 +112 204 16 +112 205 16 +112 206 16 +112 207 16 +112 208 16 +112 209 16 +112 210 16 +112 211 16 +112 212 16 +112 213 16 +112 214 16 +112 215 16 +112 216 16 +112 217 16 +112 218 16 +112 219 16 +112 220 16 +112 221 16 +112 222 16 +112 223 16 +112 224 16 +112 225 16 +112 226 16 +112 227 16 +112 228 16 +112 229 16 +112 230 16 +112 231 16 +112 232 16 +112 233 16 +112 234 16 +112 235 16 +112 236 16 +112 237 16 +112 238 16 +112 239 16 +112 240 16 +112 241 16 +112 242 16 +112 243 16 +112 244 16 +112 245 16 +112 246 16 +112 247 16 +112 248 16 +112 249 16 +112 250 16 +112 251 16 +112 252 16 +112 253 16 +112 254 16 +112 255 16 +112 256 16 +112 257 16 +112 258 16 +112 259 16 +112 260 16 +112 261 16 +112 262 16 +112 263 16 +112 264 16 +112 265 16 +112 266 16 +112 267 16 +112 268 16 +112 269 16 +112 270 16 +112 271 16 +112 272 16 +112 273 16 +112 274 16 +112 275 16 +112 276 16 +112 277 16 +112 278 16 +112 279 16 +112 280 16 +112 281 16 +112 282 16 +112 283 16 +112 284 16 +112 285 16 +112 286 16 +112 287 16 +112 288 16 +112 289 16 +112 290 16 +112 291 16 +112 292 16 +112 293 16 +112 294 16 +112 295 16 +112 296 16 +112 297 16 +112 298 16 +112 299 16 +112 300 16 +112 301 16 +112 302 16 +112 303 16 +112 304 16 +112 305 16 +112 306 16 +112 307 16 +112 308 16 +112 309 16 +112 310 16 +112 311 16 +112 312 16 +112 313 16 +112 314 16 +112 315 16 +112 316 16 +112 317 16 +112 318 16 +112 319 16 +112 320 16 +112 321 16 +112 322 16 +112 323 16 +112 324 16 +112 325 16 +112 326 16 +112 327 16 +112 328 16 +112 329 16 +112 330 16 +112 331 16 +112 332 16 +112 333 16 +112 334 16 +112 335 16 +112 336 16 +112 337 16 +112 338 16 +112 339 16 +112 340 16 +112 341 16 +112 342 16 +112 343 16 +112 344 16 +112 345 16 +112 346 16 +112 347 16 +112 348 16 +112 349 16 +113 114 16 +113 115 16 +113 116 16 +113 117 16 +113 118 16 +113 119 16 +113 120 16 +113 121 16 +113 122 16 +113 123 16 +113 124 16 +113 125 16 +113 126 16 +113 127 16 +113 128 16 +113 129 16 +113 130 16 +113 131 16 +113 132 16 +113 133 16 +113 134 16 +113 135 16 +113 136 16 +113 137 16 +113 138 16 +113 139 16 +113 140 16 +113 141 16 +113 142 16 +113 143 16 +113 144 16 +113 145 16 +113 146 16 +113 147 16 +113 148 16 +113 149 16 +113 150 16 +113 151 16 +113 152 16 +113 153 16 +113 154 16 +113 155 16 +113 156 16 +113 157 16 +113 158 16 +113 159 16 +113 160 16 +113 161 16 +113 162 16 +113 163 16 +113 164 16 +113 165 16 +113 166 16 +113 167 16 +113 168 16 +113 169 16 +113 170 16 +113 171 16 +113 172 16 +113 173 16 +113 174 16 +113 175 16 +113 176 16 +113 177 16 +113 178 16 +113 179 16 +113 180 16 +113 181 16 +113 182 16 +113 183 16 +113 184 16 +113 185 16 +113 186 16 +113 187 16 +113 188 16 +113 189 16 +113 190 16 +113 191 16 +113 192 16 +113 193 16 +113 194 16 +113 195 16 +113 196 16 +113 197 16 +113 198 16 +113 199 16 +113 200 16 +113 201 16 +113 202 16 +113 203 16 +113 204 16 +113 205 16 +113 206 16 +113 207 16 +113 208 16 +113 209 16 +113 210 16 +113 211 16 +113 212 16 +113 213 16 +113 214 16 +113 215 16 +113 216 16 +113 217 16 +113 218 16 +113 219 16 +113 220 16 +113 221 16 +113 222 16 +113 223 16 +113 224 16 +113 225 16 +113 226 16 +113 227 16 +113 228 16 +113 229 16 +113 230 16 +113 231 16 +113 232 16 +113 233 16 +113 234 16 +113 235 16 +113 236 16 +113 237 16 +113 238 16 +113 239 16 +113 240 16 +113 241 16 +113 242 16 +113 243 16 +113 244 16 +113 245 16 +113 246 16 +113 247 16 +113 248 16 +113 249 16 +113 250 16 +113 251 16 +113 252 16 +113 253 16 +113 254 16 +113 255 16 +113 256 16 +113 257 16 +113 258 16 +113 259 16 +113 260 16 +113 261 16 +113 262 16 +113 263 16 +113 264 16 +113 265 16 +113 266 16 +113 267 16 +113 268 16 +113 269 16 +113 270 16 +113 271 16 +113 272 16 +113 273 16 +113 274 16 +113 275 16 +113 276 16 +113 277 16 +113 278 16 +113 279 16 +113 280 16 +113 281 16 +113 282 16 +113 283 16 +113 284 16 +113 285 16 +113 286 16 +113 287 16 +113 288 16 +113 289 16 +113 290 16 +113 291 16 +113 292 16 +113 293 16 +113 294 16 +113 295 16 +113 296 16 +113 297 16 +113 298 16 +113 299 16 +113 300 16 +113 301 16 +113 302 16 +113 303 16 +113 304 16 +113 305 16 +113 306 16 +113 307 16 +113 308 16 +113 309 16 +113 310 16 +113 311 16 +113 312 16 +113 313 16 +113 314 16 +113 315 16 +113 316 16 +113 317 16 +113 318 16 +113 319 16 +113 320 16 +113 321 16 +113 322 16 +113 323 16 +113 324 16 +113 325 16 +113 326 16 +113 327 16 +113 328 16 +113 329 16 +113 330 16 +113 331 16 +113 332 16 +113 333 16 +113 334 16 +113 335 16 +113 336 16 +113 337 16 +113 338 16 +113 339 16 +113 340 16 +113 341 16 +113 342 16 +113 343 16 +113 344 16 +113 345 16 +113 346 16 +113 347 16 +113 348 16 +113 349 16 +114 115 16 +114 116 16 +114 117 16 +114 118 16 +114 119 16 +114 120 16 +114 121 16 +114 122 16 +114 123 16 +114 124 16 +114 125 16 +114 126 16 +114 127 16 +114 128 16 +114 129 16 +114 130 16 +114 131 16 +114 132 16 +114 133 16 +114 134 16 +114 135 16 +114 136 16 +114 137 16 +114 138 16 +114 139 16 +114 140 16 +114 141 16 +114 142 16 +114 143 16 +114 144 16 +114 145 16 +114 146 16 +114 147 16 +114 148 16 +114 149 16 +114 150 16 +114 151 16 +114 152 16 +114 153 16 +114 154 16 +114 155 16 +114 156 16 +114 157 16 +114 158 16 +114 159 16 +114 160 16 +114 161 16 +114 162 16 +114 163 16 +114 164 16 +114 165 16 +114 166 16 +114 167 16 +114 168 16 +114 169 16 +114 170 16 +114 171 16 +114 172 16 +114 173 16 +114 174 16 +114 175 16 +114 176 16 +114 177 16 +114 178 16 +114 179 16 +114 180 16 +114 181 16 +114 182 16 +114 183 16 +114 184 16 +114 185 16 +114 186 16 +114 187 16 +114 188 16 +114 189 16 +114 190 16 +114 191 16 +114 192 16 +114 193 16 +114 194 16 +114 195 16 +114 196 16 +114 197 16 +114 198 16 +114 199 16 +114 200 16 +114 201 16 +114 202 16 +114 203 16 +114 204 16 +114 205 16 +114 206 16 +114 207 16 +114 208 16 +114 209 16 +114 210 16 +114 211 16 +114 212 16 +114 213 16 +114 214 16 +114 215 16 +114 216 16 +114 217 16 +114 218 16 +114 219 16 +114 220 16 +114 221 16 +114 222 16 +114 223 16 +114 224 16 +114 225 16 +114 226 16 +114 227 16 +114 228 16 +114 229 16 +114 230 16 +114 231 16 +114 232 16 +114 233 16 +114 234 16 +114 235 16 +114 236 16 +114 237 16 +114 238 16 +114 239 16 +114 240 16 +114 241 16 +114 242 16 +114 243 16 +114 244 16 +114 245 16 +114 246 16 +114 247 16 +114 248 16 +114 249 16 +114 250 16 +114 251 16 +114 252 16 +114 253 16 +114 254 16 +114 255 16 +114 256 16 +114 257 16 +114 258 16 +114 259 16 +114 260 16 +114 261 16 +114 262 16 +114 263 16 +114 264 16 +114 265 16 +114 266 16 +114 267 16 +114 268 16 +114 269 16 +114 270 16 +114 271 16 +114 272 16 +114 273 16 +114 274 16 +114 275 16 +114 276 16 +114 277 16 +114 278 16 +114 279 16 +114 280 16 +114 281 16 +114 282 16 +114 283 16 +114 284 16 +114 285 16 +114 286 16 +114 287 16 +114 288 16 +114 289 16 +114 290 16 +114 291 16 +114 292 16 +114 293 16 +114 294 16 +114 295 16 +114 296 16 +114 297 16 +114 298 16 +114 299 16 +114 300 16 +114 301 16 +114 302 16 +114 303 16 +114 304 16 +114 305 16 +114 306 16 +114 307 16 +114 308 16 +114 309 16 +114 310 16 +114 311 16 +114 312 16 +114 313 16 +114 314 16 +114 315 16 +114 316 16 +114 317 16 +114 318 16 +114 319 16 +114 320 16 +114 321 16 +114 322 16 +114 323 16 +114 324 16 +114 325 16 +114 326 16 +114 327 16 +114 328 16 +114 329 16 +114 330 16 +114 331 16 +114 332 16 +114 333 16 +114 334 16 +114 335 16 +114 336 16 +114 337 16 +114 338 16 +114 339 16 +114 340 16 +114 341 16 +114 342 16 +114 343 16 +114 344 16 +114 345 16 +114 346 16 +114 347 16 +114 348 16 +114 349 16 +115 116 16 +115 117 16 +115 118 16 +115 119 16 +115 120 16 +115 121 16 +115 122 16 +115 123 16 +115 124 16 +115 125 16 +115 126 16 +115 127 16 +115 128 16 +115 129 16 +115 130 16 +115 131 16 +115 132 16 +115 133 16 +115 134 16 +115 135 16 +115 136 16 +115 137 16 +115 138 16 +115 139 16 +115 140 16 +115 141 16 +115 142 16 +115 143 16 +115 144 16 +115 145 16 +115 146 16 +115 147 16 +115 148 16 +115 149 16 +115 150 16 +115 151 16 +115 152 16 +115 153 16 +115 154 16 +115 155 16 +115 156 16 +115 157 16 +115 158 16 +115 159 16 +115 160 16 +115 161 16 +115 162 16 +115 163 16 +115 164 16 +115 165 16 +115 166 16 +115 167 16 +115 168 16 +115 169 16 +115 170 16 +115 171 16 +115 172 16 +115 173 16 +115 174 16 +115 175 16 +115 176 16 +115 177 16 +115 178 16 +115 179 16 +115 180 16 +115 181 16 +115 182 16 +115 183 16 +115 184 16 +115 185 16 +115 186 16 +115 187 16 +115 188 16 +115 189 16 +115 190 16 +115 191 16 +115 192 16 +115 193 16 +115 194 16 +115 195 16 +115 196 16 +115 197 16 +115 198 16 +115 199 16 +115 200 16 +115 201 16 +115 202 16 +115 203 16 +115 204 16 +115 205 16 +115 206 16 +115 207 16 +115 208 16 +115 209 16 +115 210 16 +115 211 16 +115 212 16 +115 213 16 +115 214 16 +115 215 16 +115 216 16 +115 217 16 +115 218 16 +115 219 16 +115 220 16 +115 221 16 +115 222 16 +115 223 16 +115 224 16 +115 225 16 +115 226 16 +115 227 16 +115 228 16 +115 229 16 +115 230 16 +115 231 16 +115 232 16 +115 233 16 +115 234 16 +115 235 16 +115 236 16 +115 237 16 +115 238 16 +115 239 16 +115 240 16 +115 241 16 +115 242 16 +115 243 16 +115 244 16 +115 245 16 +115 246 16 +115 247 16 +115 248 16 +115 249 16 +115 250 16 +115 251 16 +115 252 16 +115 253 16 +115 254 16 +115 255 16 +115 256 16 +115 257 16 +115 258 16 +115 259 16 +115 260 16 +115 261 16 +115 262 16 +115 263 16 +115 264 16 +115 265 16 +115 266 16 +115 267 16 +115 268 16 +115 269 16 +115 270 16 +115 271 16 +115 272 16 +115 273 16 +115 274 16 +115 275 16 +115 276 16 +115 277 16 +115 278 16 +115 279 16 +115 280 16 +115 281 16 +115 282 16 +115 283 16 +115 284 16 +115 285 16 +115 286 16 +115 287 16 +115 288 16 +115 289 16 +115 290 16 +115 291 16 +115 292 16 +115 293 16 +115 294 16 +115 295 16 +115 296 16 +115 297 16 +115 298 16 +115 299 16 +115 300 16 +115 301 16 +115 302 16 +115 303 16 +115 304 16 +115 305 16 +115 306 16 +115 307 16 +115 308 16 +115 309 16 +115 310 16 +115 311 16 +115 312 16 +115 313 16 +115 314 16 +115 315 16 +115 316 16 +115 317 16 +115 318 16 +115 319 16 +115 320 16 +115 321 16 +115 322 16 +115 323 16 +115 324 16 +115 325 16 +115 326 16 +115 327 16 +115 328 16 +115 329 16 +115 330 16 +115 331 16 +115 332 16 +115 333 16 +115 334 16 +115 335 16 +115 336 16 +115 337 16 +115 338 16 +115 339 16 +115 340 16 +115 341 16 +115 342 16 +115 343 16 +115 344 16 +115 345 16 +115 346 16 +115 347 16 +115 348 16 +115 349 16 +116 117 16 +116 118 16 +116 119 16 +116 120 16 +116 121 16 +116 122 16 +116 123 16 +116 124 16 +116 125 16 +116 126 16 +116 127 16 +116 128 16 +116 129 16 +116 130 16 +116 131 16 +116 132 16 +116 133 16 +116 134 16 +116 135 16 +116 136 16 +116 137 16 +116 138 16 +116 139 16 +116 140 16 +116 141 16 +116 142 16 +116 143 16 +116 144 16 +116 145 16 +116 146 16 +116 147 16 +116 148 16 +116 149 16 +116 150 16 +116 151 16 +116 152 16 +116 153 16 +116 154 16 +116 155 16 +116 156 16 +116 157 16 +116 158 16 +116 159 16 +116 160 16 +116 161 16 +116 162 16 +116 163 16 +116 164 16 +116 165 16 +116 166 16 +116 167 16 +116 168 16 +116 169 16 +116 170 16 +116 171 16 +116 172 16 +116 173 16 +116 174 16 +116 175 16 +116 176 16 +116 177 16 +116 178 16 +116 179 16 +116 180 16 +116 181 16 +116 182 16 +116 183 16 +116 184 16 +116 185 16 +116 186 16 +116 187 16 +116 188 16 +116 189 16 +116 190 16 +116 191 16 +116 192 16 +116 193 16 +116 194 16 +116 195 16 +116 196 16 +116 197 16 +116 198 16 +116 199 16 +116 200 16 +116 201 16 +116 202 16 +116 203 16 +116 204 16 +116 205 16 +116 206 16 +116 207 16 +116 208 16 +116 209 16 +116 210 16 +116 211 16 +116 212 16 +116 213 16 +116 214 16 +116 215 16 +116 216 16 +116 217 16 +116 218 16 +116 219 16 +116 220 16 +116 221 16 +116 222 16 +116 223 16 +116 224 16 +116 225 16 +116 226 16 +116 227 16 +116 228 16 +116 229 16 +116 230 16 +116 231 16 +116 232 16 +116 233 16 +116 234 16 +116 235 16 +116 236 16 +116 237 16 +116 238 16 +116 239 16 +116 240 16 +116 241 16 +116 242 16 +116 243 16 +116 244 16 +116 245 16 +116 246 16 +116 247 16 +116 248 16 +116 249 16 +116 250 16 +116 251 16 +116 252 16 +116 253 16 +116 254 16 +116 255 16 +116 256 16 +116 257 16 +116 258 16 +116 259 16 +116 260 16 +116 261 16 +116 262 16 +116 263 16 +116 264 16 +116 265 16 +116 266 16 +116 267 16 +116 268 16 +116 269 16 +116 270 16 +116 271 16 +116 272 16 +116 273 16 +116 274 16 +116 275 16 +116 276 16 +116 277 16 +116 278 16 +116 279 16 +116 280 16 +116 281 16 +116 282 16 +116 283 16 +116 284 16 +116 285 16 +116 286 16 +116 287 16 +116 288 16 +116 289 16 +116 290 16 +116 291 16 +116 292 16 +116 293 16 +116 294 16 +116 295 16 +116 296 16 +116 297 16 +116 298 16 +116 299 16 +116 300 16 +116 301 16 +116 302 16 +116 303 16 +116 304 16 +116 305 16 +116 306 16 +116 307 16 +116 308 16 +116 309 16 +116 310 16 +116 311 16 +116 312 16 +116 313 16 +116 314 16 +116 315 16 +116 316 16 +116 317 16 +116 318 16 +116 319 16 +116 320 16 +116 321 16 +116 322 16 +116 323 16 +116 324 16 +116 325 16 +116 326 16 +116 327 16 +116 328 16 +116 329 16 +116 330 16 +116 331 16 +116 332 16 +116 333 16 +116 334 16 +116 335 16 +116 336 16 +116 337 16 +116 338 16 +116 339 16 +116 340 16 +116 341 16 +116 342 16 +116 343 16 +116 344 16 +116 345 16 +116 346 16 +116 347 16 +116 348 16 +116 349 16 +117 118 16 +117 119 16 +117 120 16 +117 121 16 +117 122 16 +117 123 16 +117 124 16 +117 125 16 +117 126 16 +117 127 16 +117 128 16 +117 129 16 +117 130 16 +117 131 16 +117 132 16 +117 133 16 +117 134 16 +117 135 16 +117 136 16 +117 137 16 +117 138 16 +117 139 16 +117 140 16 +117 141 16 +117 142 16 +117 143 16 +117 144 16 +117 145 16 +117 146 16 +117 147 16 +117 148 16 +117 149 16 +117 150 16 +117 151 16 +117 152 16 +117 153 16 +117 154 16 +117 155 16 +117 156 16 +117 157 16 +117 158 16 +117 159 16 +117 160 16 +117 161 16 +117 162 16 +117 163 16 +117 164 16 +117 165 16 +117 166 16 +117 167 16 +117 168 16 +117 169 16 +117 170 16 +117 171 16 +117 172 16 +117 173 16 +117 174 16 +117 175 16 +117 176 16 +117 177 16 +117 178 16 +117 179 16 +117 180 16 +117 181 16 +117 182 16 +117 183 16 +117 184 16 +117 185 16 +117 186 16 +117 187 16 +117 188 16 +117 189 16 +117 190 16 +117 191 16 +117 192 16 +117 193 16 +117 194 16 +117 195 16 +117 196 16 +117 197 16 +117 198 16 +117 199 16 +117 200 16 +117 201 16 +117 202 16 +117 203 16 +117 204 16 +117 205 16 +117 206 16 +117 207 16 +117 208 16 +117 209 16 +117 210 16 +117 211 16 +117 212 16 +117 213 16 +117 214 16 +117 215 16 +117 216 16 +117 217 16 +117 218 16 +117 219 16 +117 220 16 +117 221 16 +117 222 16 +117 223 16 +117 224 16 +117 225 16 +117 226 16 +117 227 16 +117 228 16 +117 229 16 +117 230 16 +117 231 16 +117 232 16 +117 233 16 +117 234 16 +117 235 16 +117 236 16 +117 237 16 +117 238 16 +117 239 16 +117 240 16 +117 241 16 +117 242 16 +117 243 16 +117 244 16 +117 245 16 +117 246 16 +117 247 16 +117 248 16 +117 249 16 +117 250 16 +117 251 16 +117 252 16 +117 253 16 +117 254 16 +117 255 16 +117 256 16 +117 257 16 +117 258 16 +117 259 16 +117 260 16 +117 261 16 +117 262 16 +117 263 16 +117 264 16 +117 265 16 +117 266 16 +117 267 16 +117 268 16 +117 269 16 +117 270 16 +117 271 16 +117 272 16 +117 273 16 +117 274 16 +117 275 16 +117 276 16 +117 277 16 +117 278 16 +117 279 16 +117 280 16 +117 281 16 +117 282 16 +117 283 16 +117 284 16 +117 285 16 +117 286 16 +117 287 16 +117 288 16 +117 289 16 +117 290 16 +117 291 16 +117 292 16 +117 293 16 +117 294 16 +117 295 16 +117 296 16 +117 297 16 +117 298 16 +117 299 16 +117 300 16 +117 301 16 +117 302 16 +117 303 16 +117 304 16 +117 305 16 +117 306 16 +117 307 16 +117 308 16 +117 309 16 +117 310 16 +117 311 16 +117 312 16 +117 313 16 +117 314 16 +117 315 16 +117 316 16 +117 317 16 +117 318 16 +117 319 16 +117 320 16 +117 321 16 +117 322 16 +117 323 16 +117 324 16 +117 325 16 +117 326 16 +117 327 16 +117 328 16 +117 329 16 +117 330 16 +117 331 16 +117 332 16 +117 333 16 +117 334 16 +117 335 16 +117 336 16 +117 337 16 +117 338 16 +117 339 16 +117 340 16 +117 341 16 +117 342 16 +117 343 16 +117 344 16 +117 345 16 +117 346 16 +117 347 16 +117 348 16 +117 349 16 +118 119 16 +118 120 16 +118 121 16 +118 122 16 +118 123 16 +118 124 16 +118 125 16 +118 126 16 +118 127 16 +118 128 16 +118 129 16 +118 130 16 +118 131 16 +118 132 16 +118 133 16 +118 134 16 +118 135 16 +118 136 16 +118 137 16 +118 138 16 +118 139 16 +118 140 16 +118 141 16 +118 142 16 +118 143 16 +118 144 16 +118 145 16 +118 146 16 +118 147 16 +118 148 16 +118 149 16 +118 150 16 +118 151 16 +118 152 16 +118 153 16 +118 154 16 +118 155 16 +118 156 16 +118 157 16 +118 158 16 +118 159 16 +118 160 16 +118 161 16 +118 162 16 +118 163 16 +118 164 16 +118 165 16 +118 166 16 +118 167 16 +118 168 16 +118 169 16 +118 170 16 +118 171 16 +118 172 16 +118 173 16 +118 174 16 +118 175 16 +118 176 16 +118 177 16 +118 178 16 +118 179 16 +118 180 16 +118 181 16 +118 182 16 +118 183 16 +118 184 16 +118 185 16 +118 186 16 +118 187 16 +118 188 16 +118 189 16 +118 190 16 +118 191 16 +118 192 16 +118 193 16 +118 194 16 +118 195 16 +118 196 16 +118 197 16 +118 198 16 +118 199 16 +118 200 16 +118 201 16 +118 202 16 +118 203 16 +118 204 16 +118 205 16 +118 206 16 +118 207 16 +118 208 16 +118 209 16 +118 210 16 +118 211 16 +118 212 16 +118 213 16 +118 214 16 +118 215 16 +118 216 16 +118 217 16 +118 218 16 +118 219 16 +118 220 16 +118 221 16 +118 222 16 +118 223 16 +118 224 16 +118 225 16 +118 226 16 +118 227 16 +118 228 16 +118 229 16 +118 230 16 +118 231 16 +118 232 16 +118 233 16 +118 234 16 +118 235 16 +118 236 16 +118 237 16 +118 238 16 +118 239 16 +118 240 16 +118 241 16 +118 242 16 +118 243 16 +118 244 16 +118 245 16 +118 246 16 +118 247 16 +118 248 16 +118 249 16 +118 250 16 +118 251 16 +118 252 16 +118 253 16 +118 254 16 +118 255 16 +118 256 16 +118 257 16 +118 258 16 +118 259 16 +118 260 16 +118 261 16 +118 262 16 +118 263 16 +118 264 16 +118 265 16 +118 266 16 +118 267 16 +118 268 16 +118 269 16 +118 270 16 +118 271 16 +118 272 16 +118 273 16 +118 274 16 +118 275 16 +118 276 16 +118 277 16 +118 278 16 +118 279 16 +118 280 16 +118 281 16 +118 282 16 +118 283 16 +118 284 16 +118 285 16 +118 286 16 +118 287 16 +118 288 16 +118 289 16 +118 290 16 +118 291 16 +118 292 16 +118 293 16 +118 294 16 +118 295 16 +118 296 16 +118 297 16 +118 298 16 +118 299 16 +118 300 16 +118 301 16 +118 302 16 +118 303 16 +118 304 16 +118 305 16 +118 306 16 +118 307 16 +118 308 16 +118 309 16 +118 310 16 +118 311 16 +118 312 16 +118 313 16 +118 314 16 +118 315 16 +118 316 16 +118 317 16 +118 318 16 +118 319 16 +118 320 16 +118 321 16 +118 322 16 +118 323 16 +118 324 16 +118 325 16 +118 326 16 +118 327 16 +118 328 16 +118 329 16 +118 330 16 +118 331 16 +118 332 16 +118 333 16 +118 334 16 +118 335 16 +118 336 16 +118 337 16 +118 338 16 +118 339 16 +118 340 16 +118 341 16 +118 342 16 +118 343 16 +118 344 16 +118 345 16 +118 346 16 +118 347 16 +118 348 16 +118 349 16 +119 120 16 +119 121 16 +119 122 16 +119 123 16 +119 124 16 +119 125 16 +119 126 16 +119 127 16 +119 128 16 +119 129 16 +119 130 16 +119 131 16 +119 132 16 +119 133 16 +119 134 16 +119 135 16 +119 136 16 +119 137 16 +119 138 16 +119 139 16 +119 140 16 +119 141 16 +119 142 16 +119 143 16 +119 144 16 +119 145 16 +119 146 16 +119 147 16 +119 148 16 +119 149 16 +119 150 16 +119 151 16 +119 152 16 +119 153 16 +119 154 16 +119 155 16 +119 156 16 +119 157 16 +119 158 16 +119 159 16 +119 160 16 +119 161 16 +119 162 16 +119 163 16 +119 164 16 +119 165 16 +119 166 16 +119 167 16 +119 168 16 +119 169 16 +119 170 16 +119 171 16 +119 172 16 +119 173 16 +119 174 16 +119 175 16 +119 176 16 +119 177 16 +119 178 16 +119 179 16 +119 180 16 +119 181 16 +119 182 16 +119 183 16 +119 184 16 +119 185 16 +119 186 16 +119 187 16 +119 188 16 +119 189 16 +119 190 16 +119 191 16 +119 192 16 +119 193 16 +119 194 16 +119 195 16 +119 196 16 +119 197 16 +119 198 16 +119 199 16 +119 200 16 +119 201 16 +119 202 16 +119 203 16 +119 204 16 +119 205 16 +119 206 16 +119 207 16 +119 208 16 +119 209 16 +119 210 16 +119 211 16 +119 212 16 +119 213 16 +119 214 16 +119 215 16 +119 216 16 +119 217 16 +119 218 16 +119 219 16 +119 220 16 +119 221 16 +119 222 16 +119 223 16 +119 224 16 +119 225 16 +119 226 16 +119 227 16 +119 228 16 +119 229 16 +119 230 16 +119 231 16 +119 232 16 +119 233 16 +119 234 16 +119 235 16 +119 236 16 +119 237 16 +119 238 16 +119 239 16 +119 240 16 +119 241 16 +119 242 16 +119 243 16 +119 244 16 +119 245 16 +119 246 16 +119 247 16 +119 248 16 +119 249 16 +119 250 16 +119 251 16 +119 252 16 +119 253 16 +119 254 16 +119 255 16 +119 256 16 +119 257 16 +119 258 16 +119 259 16 +119 260 16 +119 261 16 +119 262 16 +119 263 16 +119 264 16 +119 265 16 +119 266 16 +119 267 16 +119 268 16 +119 269 16 +119 270 16 +119 271 16 +119 272 16 +119 273 16 +119 274 16 +119 275 16 +119 276 16 +119 277 16 +119 278 16 +119 279 16 +119 280 16 +119 281 16 +119 282 16 +119 283 16 +119 284 16 +119 285 16 +119 286 16 +119 287 16 +119 288 16 +119 289 16 +119 290 16 +119 291 16 +119 292 16 +119 293 16 +119 294 16 +119 295 16 +119 296 16 +119 297 16 +119 298 16 +119 299 16 +119 300 16 +119 301 16 +119 302 16 +119 303 16 +119 304 16 +119 305 16 +119 306 16 +119 307 16 +119 308 16 +119 309 16 +119 310 16 +119 311 16 +119 312 16 +119 313 16 +119 314 16 +119 315 16 +119 316 16 +119 317 16 +119 318 16 +119 319 16 +119 320 16 +119 321 16 +119 322 16 +119 323 16 +119 324 16 +119 325 16 +119 326 16 +119 327 16 +119 328 16 +119 329 16 +119 330 16 +119 331 16 +119 332 16 +119 333 16 +119 334 16 +119 335 16 +119 336 16 +119 337 16 +119 338 16 +119 339 16 +119 340 16 +119 341 16 +119 342 16 +119 343 16 +119 344 16 +119 345 16 +119 346 16 +119 347 16 +119 348 16 +119 349 16 +120 121 16 +120 122 16 +120 123 16 +120 124 16 +120 125 16 +120 126 16 +120 127 16 +120 128 16 +120 129 16 +120 130 16 +120 131 16 +120 132 16 +120 133 16 +120 134 16 +120 135 16 +120 136 16 +120 137 16 +120 138 16 +120 139 16 +120 140 16 +120 141 16 +120 142 16 +120 143 16 +120 144 16 +120 145 16 +120 146 16 +120 147 16 +120 148 16 +120 149 16 +120 150 16 +120 151 16 +120 152 16 +120 153 16 +120 154 16 +120 155 16 +120 156 16 +120 157 16 +120 158 16 +120 159 16 +120 160 16 +120 161 16 +120 162 16 +120 163 16 +120 164 16 +120 165 16 +120 166 16 +120 167 16 +120 168 16 +120 169 16 +120 170 16 +120 171 16 +120 172 16 +120 173 16 +120 174 16 +120 175 16 +120 176 16 +120 177 16 +120 178 16 +120 179 16 +120 180 16 +120 181 16 +120 182 16 +120 183 16 +120 184 16 +120 185 16 +120 186 16 +120 187 16 +120 188 16 +120 189 16 +120 190 16 +120 191 16 +120 192 16 +120 193 16 +120 194 16 +120 195 16 +120 196 16 +120 197 16 +120 198 16 +120 199 16 +120 200 16 +120 201 16 +120 202 16 +120 203 16 +120 204 16 +120 205 16 +120 206 16 +120 207 16 +120 208 16 +120 209 16 +120 210 16 +120 211 16 +120 212 16 +120 213 16 +120 214 16 +120 215 16 +120 216 16 +120 217 16 +120 218 16 +120 219 16 +120 220 16 +120 221 16 +120 222 16 +120 223 16 +120 224 16 +120 225 16 +120 226 16 +120 227 16 +120 228 16 +120 229 16 +120 230 16 +120 231 16 +120 232 16 +120 233 16 +120 234 16 +120 235 16 +120 236 16 +120 237 16 +120 238 16 +120 239 16 +120 240 16 +120 241 16 +120 242 16 +120 243 16 +120 244 16 +120 245 16 +120 246 16 +120 247 16 +120 248 16 +120 249 16 +120 250 16 +120 251 16 +120 252 16 +120 253 16 +120 254 16 +120 255 16 +120 256 16 +120 257 16 +120 258 16 +120 259 16 +120 260 16 +120 261 16 +120 262 16 +120 263 16 +120 264 16 +120 265 16 +120 266 16 +120 267 16 +120 268 16 +120 269 16 +120 270 16 +120 271 16 +120 272 16 +120 273 16 +120 274 16 +120 275 16 +120 276 16 +120 277 16 +120 278 16 +120 279 16 +120 280 16 +120 281 16 +120 282 16 +120 283 16 +120 284 16 +120 285 16 +120 286 16 +120 287 16 +120 288 16 +120 289 16 +120 290 16 +120 291 16 +120 292 16 +120 293 16 +120 294 16 +120 295 16 +120 296 16 +120 297 16 +120 298 16 +120 299 16 +120 300 16 +120 301 16 +120 302 16 +120 303 16 +120 304 16 +120 305 16 +120 306 16 +120 307 16 +120 308 16 +120 309 16 +120 310 16 +120 311 16 +120 312 16 +120 313 16 +120 314 16 +120 315 16 +120 316 16 +120 317 16 +120 318 16 +120 319 16 +120 320 16 +120 321 16 +120 322 16 +120 323 16 +120 324 16 +120 325 16 +120 326 16 +120 327 16 +120 328 16 +120 329 16 +120 330 16 +120 331 16 +120 332 16 +120 333 16 +120 334 16 +120 335 16 +120 336 16 +120 337 16 +120 338 16 +120 339 16 +120 340 16 +120 341 16 +120 342 16 +120 343 16 +120 344 16 +120 345 16 +120 346 16 +120 347 16 +120 348 16 +120 349 16 +121 122 16 +121 123 16 +121 124 16 +121 125 16 +121 126 16 +121 127 16 +121 128 16 +121 129 16 +121 130 16 +121 131 16 +121 132 16 +121 133 16 +121 134 16 +121 135 16 +121 136 16 +121 137 16 +121 138 16 +121 139 16 +121 140 16 +121 141 16 +121 142 16 +121 143 16 +121 144 16 +121 145 16 +121 146 16 +121 147 16 +121 148 16 +121 149 16 +121 150 16 +121 151 16 +121 152 16 +121 153 16 +121 154 16 +121 155 16 +121 156 16 +121 157 16 +121 158 16 +121 159 16 +121 160 16 +121 161 16 +121 162 16 +121 163 16 +121 164 16 +121 165 16 +121 166 16 +121 167 16 +121 168 16 +121 169 16 +121 170 16 +121 171 16 +121 172 16 +121 173 16 +121 174 16 +121 175 16 +121 176 16 +121 177 16 +121 178 16 +121 179 16 +121 180 16 +121 181 16 +121 182 16 +121 183 16 +121 184 16 +121 185 16 +121 186 16 +121 187 16 +121 188 16 +121 189 16 +121 190 16 +121 191 16 +121 192 16 +121 193 16 +121 194 16 +121 195 16 +121 196 16 +121 197 16 +121 198 16 +121 199 16 +121 200 16 +121 201 16 +121 202 16 +121 203 16 +121 204 16 +121 205 16 +121 206 16 +121 207 16 +121 208 16 +121 209 16 +121 210 16 +121 211 16 +121 212 16 +121 213 16 +121 214 16 +121 215 16 +121 216 16 +121 217 16 +121 218 16 +121 219 16 +121 220 16 +121 221 16 +121 222 16 +121 223 16 +121 224 16 +121 225 16 +121 226 16 +121 227 16 +121 228 16 +121 229 16 +121 230 16 +121 231 16 +121 232 16 +121 233 16 +121 234 16 +121 235 16 +121 236 16 +121 237 16 +121 238 16 +121 239 16 +121 240 16 +121 241 16 +121 242 16 +121 243 16 +121 244 16 +121 245 16 +121 246 16 +121 247 16 +121 248 16 +121 249 16 +121 250 16 +121 251 16 +121 252 16 +121 253 16 +121 254 16 +121 255 16 +121 256 16 +121 257 16 +121 258 16 +121 259 16 +121 260 16 +121 261 16 +121 262 16 +121 263 16 +121 264 16 +121 265 16 +121 266 16 +121 267 16 +121 268 16 +121 269 16 +121 270 16 +121 271 16 +121 272 16 +121 273 16 +121 274 16 +121 275 16 +121 276 16 +121 277 16 +121 278 16 +121 279 16 +121 280 16 +121 281 16 +121 282 16 +121 283 16 +121 284 16 +121 285 16 +121 286 16 +121 287 16 +121 288 16 +121 289 16 +121 290 16 +121 291 16 +121 292 16 +121 293 16 +121 294 16 +121 295 16 +121 296 16 +121 297 16 +121 298 16 +121 299 16 +121 300 16 +121 301 16 +121 302 16 +121 303 16 +121 304 16 +121 305 16 +121 306 16 +121 307 16 +121 308 16 +121 309 16 +121 310 16 +121 311 16 +121 312 16 +121 313 16 +121 314 16 +121 315 16 +121 316 16 +121 317 16 +121 318 16 +121 319 16 +121 320 16 +121 321 16 +121 322 16 +121 323 16 +121 324 16 +121 325 16 +121 326 16 +121 327 16 +121 328 16 +121 329 16 +121 330 16 +121 331 16 +121 332 16 +121 333 16 +121 334 16 +121 335 16 +121 336 16 +121 337 16 +121 338 16 +121 339 16 +121 340 16 +121 341 16 +121 342 16 +121 343 16 +121 344 16 +121 345 16 +121 346 16 +121 347 16 +121 348 16 +121 349 16 +122 123 16 +122 124 16 +122 125 16 +122 126 16 +122 127 16 +122 128 16 +122 129 16 +122 130 16 +122 131 16 +122 132 16 +122 133 16 +122 134 16 +122 135 16 +122 136 16 +122 137 16 +122 138 16 +122 139 16 +122 140 16 +122 141 16 +122 142 16 +122 143 16 +122 144 16 +122 145 16 +122 146 16 +122 147 16 +122 148 16 +122 149 16 +122 150 16 +122 151 16 +122 152 16 +122 153 16 +122 154 16 +122 155 16 +122 156 16 +122 157 16 +122 158 16 +122 159 16 +122 160 16 +122 161 16 +122 162 16 +122 163 16 +122 164 16 +122 165 16 +122 166 16 +122 167 16 +122 168 16 +122 169 16 +122 170 16 +122 171 16 +122 172 16 +122 173 16 +122 174 16 +122 175 16 +122 176 16 +122 177 16 +122 178 16 +122 179 16 +122 180 16 +122 181 16 +122 182 16 +122 183 16 +122 184 16 +122 185 16 +122 186 16 +122 187 16 +122 188 16 +122 189 16 +122 190 16 +122 191 16 +122 192 16 +122 193 16 +122 194 16 +122 195 16 +122 196 16 +122 197 16 +122 198 16 +122 199 16 +122 200 16 +122 201 16 +122 202 16 +122 203 16 +122 204 16 +122 205 16 +122 206 16 +122 207 16 +122 208 16 +122 209 16 +122 210 16 +122 211 16 +122 212 16 +122 213 16 +122 214 16 +122 215 16 +122 216 16 +122 217 16 +122 218 16 +122 219 16 +122 220 16 +122 221 16 +122 222 16 +122 223 16 +122 224 16 +122 225 16 +122 226 16 +122 227 16 +122 228 16 +122 229 16 +122 230 16 +122 231 16 +122 232 16 +122 233 16 +122 234 16 +122 235 16 +122 236 16 +122 237 16 +122 238 16 +122 239 16 +122 240 16 +122 241 16 +122 242 16 +122 243 16 +122 244 16 +122 245 16 +122 246 16 +122 247 16 +122 248 16 +122 249 16 +122 250 16 +122 251 16 +122 252 16 +122 253 16 +122 254 16 +122 255 16 +122 256 16 +122 257 16 +122 258 16 +122 259 16 +122 260 16 +122 261 16 +122 262 16 +122 263 16 +122 264 16 +122 265 16 +122 266 16 +122 267 16 +122 268 16 +122 269 16 +122 270 16 +122 271 16 +122 272 16 +122 273 16 +122 274 16 +122 275 16 +122 276 16 +122 277 16 +122 278 16 +122 279 16 +122 280 16 +122 281 16 +122 282 16 +122 283 16 +122 284 16 +122 285 16 +122 286 16 +122 287 16 +122 288 16 +122 289 16 +122 290 16 +122 291 16 +122 292 16 +122 293 16 +122 294 16 +122 295 16 +122 296 16 +122 297 16 +122 298 16 +122 299 16 +122 300 16 +122 301 16 +122 302 16 +122 303 16 +122 304 16 +122 305 16 +122 306 16 +122 307 16 +122 308 16 +122 309 16 +122 310 16 +122 311 16 +122 312 16 +122 313 16 +122 314 16 +122 315 16 +122 316 16 +122 317 16 +122 318 16 +122 319 16 +122 320 16 +122 321 16 +122 322 16 +122 323 16 +122 324 16 +122 325 16 +122 326 16 +122 327 16 +122 328 16 +122 329 16 +122 330 16 +122 331 16 +122 332 16 +122 333 16 +122 334 16 +122 335 16 +122 336 16 +122 337 16 +122 338 16 +122 339 16 +122 340 16 +122 341 16 +122 342 16 +122 343 16 +122 344 16 +122 345 16 +122 346 16 +122 347 16 +122 348 16 +122 349 16 +123 124 16 +123 125 16 +123 126 16 +123 127 16 +123 128 16 +123 129 16 +123 130 16 +123 131 16 +123 132 16 +123 133 16 +123 134 16 +123 135 16 +123 136 16 +123 137 16 +123 138 16 +123 139 16 +123 140 16 +123 141 16 +123 142 16 +123 143 16 +123 144 16 +123 145 16 +123 146 16 +123 147 16 +123 148 16 +123 149 16 +123 150 16 +123 151 16 +123 152 16 +123 153 16 +123 154 16 +123 155 16 +123 156 16 +123 157 16 +123 158 16 +123 159 16 +123 160 16 +123 161 16 +123 162 16 +123 163 16 +123 164 16 +123 165 16 +123 166 16 +123 167 16 +123 168 16 +123 169 16 +123 170 16 +123 171 16 +123 172 16 +123 173 16 +123 174 16 +123 175 16 +123 176 16 +123 177 16 +123 178 16 +123 179 16 +123 180 16 +123 181 16 +123 182 16 +123 183 16 +123 184 16 +123 185 16 +123 186 16 +123 187 16 +123 188 16 +123 189 16 +123 190 16 +123 191 16 +123 192 16 +123 193 16 +123 194 16 +123 195 16 +123 196 16 +123 197 16 +123 198 16 +123 199 16 +123 200 16 +123 201 16 +123 202 16 +123 203 16 +123 204 16 +123 205 16 +123 206 16 +123 207 16 +123 208 16 +123 209 16 +123 210 16 +123 211 16 +123 212 16 +123 213 16 +123 214 16 +123 215 16 +123 216 16 +123 217 16 +123 218 16 +123 219 16 +123 220 16 +123 221 16 +123 222 16 +123 223 16 +123 224 16 +123 225 16 +123 226 16 +123 227 16 +123 228 16 +123 229 16 +123 230 16 +123 231 16 +123 232 16 +123 233 16 +123 234 16 +123 235 16 +123 236 16 +123 237 16 +123 238 16 +123 239 16 +123 240 16 +123 241 16 +123 242 16 +123 243 16 +123 244 16 +123 245 16 +123 246 16 +123 247 16 +123 248 16 +123 249 16 +123 250 16 +123 251 16 +123 252 16 +123 253 16 +123 254 16 +123 255 16 +123 256 16 +123 257 16 +123 258 16 +123 259 16 +123 260 16 +123 261 16 +123 262 16 +123 263 16 +123 264 16 +123 265 16 +123 266 16 +123 267 16 +123 268 16 +123 269 16 +123 270 16 +123 271 16 +123 272 16 +123 273 16 +123 274 16 +123 275 16 +123 276 16 +123 277 16 +123 278 16 +123 279 16 +123 280 16 +123 281 16 +123 282 16 +123 283 16 +123 284 16 +123 285 16 +123 286 16 +123 287 16 +123 288 16 +123 289 16 +123 290 16 +123 291 16 +123 292 16 +123 293 16 +123 294 16 +123 295 16 +123 296 16 +123 297 16 +123 298 16 +123 299 16 +123 300 16 +123 301 16 +123 302 16 +123 303 16 +123 304 16 +123 305 16 +123 306 16 +123 307 16 +123 308 16 +123 309 16 +123 310 16 +123 311 16 +123 312 16 +123 313 16 +123 314 16 +123 315 16 +123 316 16 +123 317 16 +123 318 16 +123 319 16 +123 320 16 +123 321 16 +123 322 16 +123 323 16 +123 324 16 +123 325 16 +123 326 16 +123 327 16 +123 328 16 +123 329 16 +123 330 16 +123 331 16 +123 332 16 +123 333 16 +123 334 16 +123 335 16 +123 336 16 +123 337 16 +123 338 16 +123 339 16 +123 340 16 +123 341 16 +123 342 16 +123 343 16 +123 344 16 +123 345 16 +123 346 16 +123 347 16 +123 348 16 +123 349 16 +124 125 16 +124 126 16 +124 127 16 +124 128 16 +124 129 16 +124 130 16 +124 131 16 +124 132 16 +124 133 16 +124 134 16 +124 135 16 +124 136 16 +124 137 16 +124 138 16 +124 139 16 +124 140 16 +124 141 16 +124 142 16 +124 143 16 +124 144 16 +124 145 16 +124 146 16 +124 147 16 +124 148 16 +124 149 16 +124 150 16 +124 151 16 +124 152 16 +124 153 16 +124 154 16 +124 155 16 +124 156 16 +124 157 16 +124 158 16 +124 159 16 +124 160 16 +124 161 16 +124 162 16 +124 163 16 +124 164 16 +124 165 16 +124 166 16 +124 167 16 +124 168 16 +124 169 16 +124 170 16 +124 171 16 +124 172 16 +124 173 16 +124 174 16 +124 175 16 +124 176 16 +124 177 16 +124 178 16 +124 179 16 +124 180 16 +124 181 16 +124 182 16 +124 183 16 +124 184 16 +124 185 16 +124 186 16 +124 187 16 +124 188 16 +124 189 16 +124 190 16 +124 191 16 +124 192 16 +124 193 16 +124 194 16 +124 195 16 +124 196 16 +124 197 16 +124 198 16 +124 199 16 +124 200 16 +124 201 16 +124 202 16 +124 203 16 +124 204 16 +124 205 16 +124 206 16 +124 207 16 +124 208 16 +124 209 16 +124 210 16 +124 211 16 +124 212 16 +124 213 16 +124 214 16 +124 215 16 +124 216 16 +124 217 16 +124 218 16 +124 219 16 +124 220 16 +124 221 16 +124 222 16 +124 223 16 +124 224 16 +124 225 16 +124 226 16 +124 227 16 +124 228 16 +124 229 16 +124 230 16 +124 231 16 +124 232 16 +124 233 16 +124 234 16 +124 235 16 +124 236 16 +124 237 16 +124 238 16 +124 239 16 +124 240 16 +124 241 16 +124 242 16 +124 243 16 +124 244 16 +124 245 16 +124 246 16 +124 247 16 +124 248 16 +124 249 16 +124 250 16 +124 251 16 +124 252 16 +124 253 16 +124 254 16 +124 255 16 +124 256 16 +124 257 16 +124 258 16 +124 259 16 +124 260 16 +124 261 16 +124 262 16 +124 263 16 +124 264 16 +124 265 16 +124 266 16 +124 267 16 +124 268 16 +124 269 16 +124 270 16 +124 271 16 +124 272 16 +124 273 16 +124 274 16 +124 275 16 +124 276 16 +124 277 16 +124 278 16 +124 279 16 +124 280 16 +124 281 16 +124 282 16 +124 283 16 +124 284 16 +124 285 16 +124 286 16 +124 287 16 +124 288 16 +124 289 16 +124 290 16 +124 291 16 +124 292 16 +124 293 16 +124 294 16 +124 295 16 +124 296 16 +124 297 16 +124 298 16 +124 299 16 +124 300 16 +124 301 16 +124 302 16 +124 303 16 +124 304 16 +124 305 16 +124 306 16 +124 307 16 +124 308 16 +124 309 16 +124 310 16 +124 311 16 +124 312 16 +124 313 16 +124 314 16 +124 315 16 +124 316 16 +124 317 16 +124 318 16 +124 319 16 +124 320 16 +124 321 16 +124 322 16 +124 323 16 +124 324 16 +124 325 16 +124 326 16 +124 327 16 +124 328 16 +124 329 16 +124 330 16 +124 331 16 +124 332 16 +124 333 16 +124 334 16 +124 335 16 +124 336 16 +124 337 16 +124 338 16 +124 339 16 +124 340 16 +124 341 16 +124 342 16 +124 343 16 +124 344 16 +124 345 16 +124 346 16 +124 347 16 +124 348 16 +124 349 16 +125 126 16 +125 127 16 +125 128 16 +125 129 16 +125 130 16 +125 131 16 +125 132 16 +125 133 16 +125 134 16 +125 135 16 +125 136 16 +125 137 16 +125 138 16 +125 139 16 +125 140 16 +125 141 16 +125 142 16 +125 143 16 +125 144 16 +125 145 16 +125 146 16 +125 147 16 +125 148 16 +125 149 16 +125 150 16 +125 151 16 +125 152 16 +125 153 16 +125 154 16 +125 155 16 +125 156 16 +125 157 16 +125 158 16 +125 159 16 +125 160 16 +125 161 16 +125 162 16 +125 163 16 +125 164 16 +125 165 16 +125 166 16 +125 167 16 +125 168 16 +125 169 16 +125 170 16 +125 171 16 +125 172 16 +125 173 16 +125 174 16 +125 175 16 +125 176 16 +125 177 16 +125 178 16 +125 179 16 +125 180 16 +125 181 16 +125 182 16 +125 183 16 +125 184 16 +125 185 16 +125 186 16 +125 187 16 +125 188 16 +125 189 16 +125 190 16 +125 191 16 +125 192 16 +125 193 16 +125 194 16 +125 195 16 +125 196 16 +125 197 16 +125 198 16 +125 199 16 +125 200 16 +125 201 16 +125 202 16 +125 203 16 +125 204 16 +125 205 16 +125 206 16 +125 207 16 +125 208 16 +125 209 16 +125 210 16 +125 211 16 +125 212 16 +125 213 16 +125 214 16 +125 215 16 +125 216 16 +125 217 16 +125 218 16 +125 219 16 +125 220 16 +125 221 16 +125 222 16 +125 223 16 +125 224 16 +125 225 16 +125 226 16 +125 227 16 +125 228 16 +125 229 16 +125 230 16 +125 231 16 +125 232 16 +125 233 16 +125 234 16 +125 235 16 +125 236 16 +125 237 16 +125 238 16 +125 239 16 +125 240 16 +125 241 16 +125 242 16 +125 243 16 +125 244 16 +125 245 16 +125 246 16 +125 247 16 +125 248 16 +125 249 16 +125 250 16 +125 251 16 +125 252 16 +125 253 16 +125 254 16 +125 255 16 +125 256 16 +125 257 16 +125 258 16 +125 259 16 +125 260 16 +125 261 16 +125 262 16 +125 263 16 +125 264 16 +125 265 16 +125 266 16 +125 267 16 +125 268 16 +125 269 16 +125 270 16 +125 271 16 +125 272 16 +125 273 16 +125 274 16 +125 275 16 +125 276 16 +125 277 16 +125 278 16 +125 279 16 +125 280 16 +125 281 16 +125 282 16 +125 283 16 +125 284 16 +125 285 16 +125 286 16 +125 287 16 +125 288 16 +125 289 16 +125 290 16 +125 291 16 +125 292 16 +125 293 16 +125 294 16 +125 295 16 +125 296 16 +125 297 16 +125 298 16 +125 299 16 +125 300 16 +125 301 16 +125 302 16 +125 303 16 +125 304 16 +125 305 16 +125 306 16 +125 307 16 +125 308 16 +125 309 16 +125 310 16 +125 311 16 +125 312 16 +125 313 16 +125 314 16 +125 315 16 +125 316 16 +125 317 16 +125 318 16 +125 319 16 +125 320 16 +125 321 16 +125 322 16 +125 323 16 +125 324 16 +125 325 16 +125 326 16 +125 327 16 +125 328 16 +125 329 16 +125 330 16 +125 331 16 +125 332 16 +125 333 16 +125 334 16 +125 335 16 +125 336 16 +125 337 16 +125 338 16 +125 339 16 +125 340 16 +125 341 16 +125 342 16 +125 343 16 +125 344 16 +125 345 16 +125 346 16 +125 347 16 +125 348 16 +125 349 16 +126 127 16 +126 128 16 +126 129 16 +126 130 16 +126 131 16 +126 132 16 +126 133 16 +126 134 16 +126 135 16 +126 136 16 +126 137 16 +126 138 16 +126 139 16 +126 140 16 +126 141 16 +126 142 16 +126 143 16 +126 144 16 +126 145 16 +126 146 16 +126 147 16 +126 148 16 +126 149 16 +126 150 16 +126 151 16 +126 152 16 +126 153 16 +126 154 16 +126 155 16 +126 156 16 +126 157 16 +126 158 16 +126 159 16 +126 160 16 +126 161 16 +126 162 16 +126 163 16 +126 164 16 +126 165 16 +126 166 16 +126 167 16 +126 168 16 +126 169 16 +126 170 16 +126 171 16 +126 172 16 +126 173 16 +126 174 16 +126 175 16 +126 176 16 +126 177 16 +126 178 16 +126 179 16 +126 180 16 +126 181 16 +126 182 16 +126 183 16 +126 184 16 +126 185 16 +126 186 16 +126 187 16 +126 188 16 +126 189 16 +126 190 16 +126 191 16 +126 192 16 +126 193 16 +126 194 16 +126 195 16 +126 196 16 +126 197 16 +126 198 16 +126 199 16 +126 200 16 +126 201 16 +126 202 16 +126 203 16 +126 204 16 +126 205 16 +126 206 16 +126 207 16 +126 208 16 +126 209 16 +126 210 16 +126 211 16 +126 212 16 +126 213 16 +126 214 16 +126 215 16 +126 216 16 +126 217 16 +126 218 16 +126 219 16 +126 220 16 +126 221 16 +126 222 16 +126 223 16 +126 224 16 +126 225 16 +126 226 16 +126 227 16 +126 228 16 +126 229 16 +126 230 16 +126 231 16 +126 232 16 +126 233 16 +126 234 16 +126 235 16 +126 236 16 +126 237 16 +126 238 16 +126 239 16 +126 240 16 +126 241 16 +126 242 16 +126 243 16 +126 244 16 +126 245 16 +126 246 16 +126 247 16 +126 248 16 +126 249 16 +126 250 16 +126 251 16 +126 252 16 +126 253 16 +126 254 16 +126 255 16 +126 256 16 +126 257 16 +126 258 16 +126 259 16 +126 260 16 +126 261 16 +126 262 16 +126 263 16 +126 264 16 +126 265 16 +126 266 16 +126 267 16 +126 268 16 +126 269 16 +126 270 16 +126 271 16 +126 272 16 +126 273 16 +126 274 16 +126 275 16 +126 276 16 +126 277 16 +126 278 16 +126 279 16 +126 280 16 +126 281 16 +126 282 16 +126 283 16 +126 284 16 +126 285 16 +126 286 16 +126 287 16 +126 288 16 +126 289 16 +126 290 16 +126 291 16 +126 292 16 +126 293 16 +126 294 16 +126 295 16 +126 296 16 +126 297 16 +126 298 16 +126 299 16 +126 300 16 +126 301 16 +126 302 16 +126 303 16 +126 304 16 +126 305 16 +126 306 16 +126 307 16 +126 308 16 +126 309 16 +126 310 16 +126 311 16 +126 312 16 +126 313 16 +126 314 16 +126 315 16 +126 316 16 +126 317 16 +126 318 16 +126 319 16 +126 320 16 +126 321 16 +126 322 16 +126 323 16 +126 324 16 +126 325 16 +126 326 16 +126 327 16 +126 328 16 +126 329 16 +126 330 16 +126 331 16 +126 332 16 +126 333 16 +126 334 16 +126 335 16 +126 336 16 +126 337 16 +126 338 16 +126 339 16 +126 340 16 +126 341 16 +126 342 16 +126 343 16 +126 344 16 +126 345 16 +126 346 16 +126 347 16 +126 348 16 +126 349 16 +127 128 16 +127 129 16 +127 130 16 +127 131 16 +127 132 16 +127 133 16 +127 134 16 +127 135 16 +127 136 16 +127 137 16 +127 138 16 +127 139 16 +127 140 16 +127 141 16 +127 142 16 +127 143 16 +127 144 16 +127 145 16 +127 146 16 +127 147 16 +127 148 16 +127 149 16 +127 150 16 +127 151 16 +127 152 16 +127 153 16 +127 154 16 +127 155 16 +127 156 16 +127 157 16 +127 158 16 +127 159 16 +127 160 16 +127 161 16 +127 162 16 +127 163 16 +127 164 16 +127 165 16 +127 166 16 +127 167 16 +127 168 16 +127 169 16 +127 170 16 +127 171 16 +127 172 16 +127 173 16 +127 174 16 +127 175 16 +127 176 16 +127 177 16 +127 178 16 +127 179 16 +127 180 16 +127 181 16 +127 182 16 +127 183 16 +127 184 16 +127 185 16 +127 186 16 +127 187 16 +127 188 16 +127 189 16 +127 190 16 +127 191 16 +127 192 16 +127 193 16 +127 194 16 +127 195 16 +127 196 16 +127 197 16 +127 198 16 +127 199 16 +127 200 16 +127 201 16 +127 202 16 +127 203 16 +127 204 16 +127 205 16 +127 206 16 +127 207 16 +127 208 16 +127 209 16 +127 210 16 +127 211 16 +127 212 16 +127 213 16 +127 214 16 +127 215 16 +127 216 16 +127 217 16 +127 218 16 +127 219 16 +127 220 16 +127 221 16 +127 222 16 +127 223 16 +127 224 16 +127 225 16 +127 226 16 +127 227 16 +127 228 16 +127 229 16 +127 230 16 +127 231 16 +127 232 16 +127 233 16 +127 234 16 +127 235 16 +127 236 16 +127 237 16 +127 238 16 +127 239 16 +127 240 16 +127 241 16 +127 242 16 +127 243 16 +127 244 16 +127 245 16 +127 246 16 +127 247 16 +127 248 16 +127 249 16 +127 250 16 +127 251 16 +127 252 16 +127 253 16 +127 254 16 +127 255 16 +127 256 16 +127 257 16 +127 258 16 +127 259 16 +127 260 16 +127 261 16 +127 262 16 +127 263 16 +127 264 16 +127 265 16 +127 266 16 +127 267 16 +127 268 16 +127 269 16 +127 270 16 +127 271 16 +127 272 16 +127 273 16 +127 274 16 +127 275 16 +127 276 16 +127 277 16 +127 278 16 +127 279 16 +127 280 16 +127 281 16 +127 282 16 +127 283 16 +127 284 16 +127 285 16 +127 286 16 +127 287 16 +127 288 16 +127 289 16 +127 290 16 +127 291 16 +127 292 16 +127 293 16 +127 294 16 +127 295 16 +127 296 16 +127 297 16 +127 298 16 +127 299 16 +127 300 16 +127 301 16 +127 302 16 +127 303 16 +127 304 16 +127 305 16 +127 306 16 +127 307 16 +127 308 16 +127 309 16 +127 310 16 +127 311 16 +127 312 16 +127 313 16 +127 314 16 +127 315 16 +127 316 16 +127 317 16 +127 318 16 +127 319 16 +127 320 16 +127 321 16 +127 322 16 +127 323 16 +127 324 16 +127 325 16 +127 326 16 +127 327 16 +127 328 16 +127 329 16 +127 330 16 +127 331 16 +127 332 16 +127 333 16 +127 334 16 +127 335 16 +127 336 16 +127 337 16 +127 338 16 +127 339 16 +127 340 16 +127 341 16 +127 342 16 +127 343 16 +127 344 16 +127 345 16 +127 346 16 +127 347 16 +127 348 16 +127 349 16 +128 129 16 +128 130 16 +128 131 16 +128 132 16 +128 133 16 +128 134 16 +128 135 16 +128 136 16 +128 137 16 +128 138 16 +128 139 16 +128 140 16 +128 141 16 +128 142 16 +128 143 16 +128 144 16 +128 145 16 +128 146 16 +128 147 16 +128 148 16 +128 149 16 +128 150 16 +128 151 16 +128 152 16 +128 153 16 +128 154 16 +128 155 16 +128 156 16 +128 157 16 +128 158 16 +128 159 16 +128 160 16 +128 161 16 +128 162 16 +128 163 16 +128 164 16 +128 165 16 +128 166 16 +128 167 16 +128 168 16 +128 169 16 +128 170 16 +128 171 16 +128 172 16 +128 173 16 +128 174 16 +128 175 16 +128 176 16 +128 177 16 +128 178 16 +128 179 16 +128 180 16 +128 181 16 +128 182 16 +128 183 16 +128 184 16 +128 185 16 +128 186 16 +128 187 16 +128 188 16 +128 189 16 +128 190 16 +128 191 16 +128 192 16 +128 193 16 +128 194 16 +128 195 16 +128 196 16 +128 197 16 +128 198 16 +128 199 16 +128 200 16 +128 201 16 +128 202 16 +128 203 16 +128 204 16 +128 205 16 +128 206 16 +128 207 16 +128 208 16 +128 209 16 +128 210 16 +128 211 16 +128 212 16 +128 213 16 +128 214 16 +128 215 16 +128 216 16 +128 217 16 +128 218 16 +128 219 16 +128 220 16 +128 221 16 +128 222 16 +128 223 16 +128 224 16 +128 225 16 +128 226 16 +128 227 16 +128 228 16 +128 229 16 +128 230 16 +128 231 16 +128 232 16 +128 233 16 +128 234 16 +128 235 16 +128 236 16 +128 237 16 +128 238 16 +128 239 16 +128 240 16 +128 241 16 +128 242 16 +128 243 16 +128 244 16 +128 245 16 +128 246 16 +128 247 16 +128 248 16 +128 249 16 +128 250 16 +128 251 16 +128 252 16 +128 253 16 +128 254 16 +128 255 16 +128 256 16 +128 257 16 +128 258 16 +128 259 16 +128 260 16 +128 261 16 +128 262 16 +128 263 16 +128 264 16 +128 265 16 +128 266 16 +128 267 16 +128 268 16 +128 269 16 +128 270 16 +128 271 16 +128 272 16 +128 273 16 +128 274 16 +128 275 16 +128 276 16 +128 277 16 +128 278 16 +128 279 16 +128 280 16 +128 281 16 +128 282 16 +128 283 16 +128 284 16 +128 285 16 +128 286 16 +128 287 16 +128 288 16 +128 289 16 +128 290 16 +128 291 16 +128 292 16 +128 293 16 +128 294 16 +128 295 16 +128 296 16 +128 297 16 +128 298 16 +128 299 16 +128 300 16 +128 301 16 +128 302 16 +128 303 16 +128 304 16 +128 305 16 +128 306 16 +128 307 16 +128 308 16 +128 309 16 +128 310 16 +128 311 16 +128 312 16 +128 313 16 +128 314 16 +128 315 16 +128 316 16 +128 317 16 +128 318 16 +128 319 16 +128 320 16 +128 321 16 +128 322 16 +128 323 16 +128 324 16 +128 325 16 +128 326 16 +128 327 16 +128 328 16 +128 329 16 +128 330 16 +128 331 16 +128 332 16 +128 333 16 +128 334 16 +128 335 16 +128 336 16 +128 337 16 +128 338 16 +128 339 16 +128 340 16 +128 341 16 +128 342 16 +128 343 16 +128 344 16 +128 345 16 +128 346 16 +128 347 16 +128 348 16 +128 349 16 +129 130 16 +129 131 16 +129 132 16 +129 133 16 +129 134 16 +129 135 16 +129 136 16 +129 137 16 +129 138 16 +129 139 16 +129 140 16 +129 141 16 +129 142 16 +129 143 16 +129 144 16 +129 145 16 +129 146 16 +129 147 16 +129 148 16 +129 149 16 +129 150 16 +129 151 16 +129 152 16 +129 153 16 +129 154 16 +129 155 16 +129 156 16 +129 157 16 +129 158 16 +129 159 16 +129 160 16 +129 161 16 +129 162 16 +129 163 16 +129 164 16 +129 165 16 +129 166 16 +129 167 16 +129 168 16 +129 169 16 +129 170 16 +129 171 16 +129 172 16 +129 173 16 +129 174 16 +129 175 16 +129 176 16 +129 177 16 +129 178 16 +129 179 16 +129 180 16 +129 181 16 +129 182 16 +129 183 16 +129 184 16 +129 185 16 +129 186 16 +129 187 16 +129 188 16 +129 189 16 +129 190 16 +129 191 16 +129 192 16 +129 193 16 +129 194 16 +129 195 16 +129 196 16 +129 197 16 +129 198 16 +129 199 16 +129 200 16 +129 201 16 +129 202 16 +129 203 16 +129 204 16 +129 205 16 +129 206 16 +129 207 16 +129 208 16 +129 209 16 +129 210 16 +129 211 16 +129 212 16 +129 213 16 +129 214 16 +129 215 16 +129 216 16 +129 217 16 +129 218 16 +129 219 16 +129 220 16 +129 221 16 +129 222 16 +129 223 16 +129 224 16 +129 225 16 +129 226 16 +129 227 16 +129 228 16 +129 229 16 +129 230 16 +129 231 16 +129 232 16 +129 233 16 +129 234 16 +129 235 16 +129 236 16 +129 237 16 +129 238 16 +129 239 16 +129 240 16 +129 241 16 +129 242 16 +129 243 16 +129 244 16 +129 245 16 +129 246 16 +129 247 16 +129 248 16 +129 249 16 +129 250 16 +129 251 16 +129 252 16 +129 253 16 +129 254 16 +129 255 16 +129 256 16 +129 257 16 +129 258 16 +129 259 16 +129 260 16 +129 261 16 +129 262 16 +129 263 16 +129 264 16 +129 265 16 +129 266 16 +129 267 16 +129 268 16 +129 269 16 +129 270 16 +129 271 16 +129 272 16 +129 273 16 +129 274 16 +129 275 16 +129 276 16 +129 277 16 +129 278 16 +129 279 16 +129 280 16 +129 281 16 +129 282 16 +129 283 16 +129 284 16 +129 285 16 +129 286 16 +129 287 16 +129 288 16 +129 289 16 +129 290 16 +129 291 16 +129 292 16 +129 293 16 +129 294 16 +129 295 16 +129 296 16 +129 297 16 +129 298 16 +129 299 16 +129 300 16 +129 301 16 +129 302 16 +129 303 16 +129 304 16 +129 305 16 +129 306 16 +129 307 16 +129 308 16 +129 309 16 +129 310 16 +129 311 16 +129 312 16 +129 313 16 +129 314 16 +129 315 16 +129 316 16 +129 317 16 +129 318 16 +129 319 16 +129 320 16 +129 321 16 +129 322 16 +129 323 16 +129 324 16 +129 325 16 +129 326 16 +129 327 16 +129 328 16 +129 329 16 +129 330 16 +129 331 16 +129 332 16 +129 333 16 +129 334 16 +129 335 16 +129 336 16 +129 337 16 +129 338 16 +129 339 16 +129 340 16 +129 341 16 +129 342 16 +129 343 16 +129 344 16 +129 345 16 +129 346 16 +129 347 16 +129 348 16 +129 349 16 +130 131 16 +130 132 16 +130 133 16 +130 134 16 +130 135 16 +130 136 16 +130 137 16 +130 138 16 +130 139 16 +130 140 16 +130 141 16 +130 142 16 +130 143 16 +130 144 16 +130 145 16 +130 146 16 +130 147 16 +130 148 16 +130 149 16 +130 150 16 +130 151 16 +130 152 16 +130 153 16 +130 154 16 +130 155 16 +130 156 16 +130 157 16 +130 158 16 +130 159 16 +130 160 16 +130 161 16 +130 162 16 +130 163 16 +130 164 16 +130 165 16 +130 166 16 +130 167 16 +130 168 16 +130 169 16 +130 170 16 +130 171 16 +130 172 16 +130 173 16 +130 174 16 +130 175 16 +130 176 16 +130 177 16 +130 178 16 +130 179 16 +130 180 16 +130 181 16 +130 182 16 +130 183 16 +130 184 16 +130 185 16 +130 186 16 +130 187 16 +130 188 16 +130 189 16 +130 190 16 +130 191 16 +130 192 16 +130 193 16 +130 194 16 +130 195 16 +130 196 16 +130 197 16 +130 198 16 +130 199 16 +130 200 16 +130 201 16 +130 202 16 +130 203 16 +130 204 16 +130 205 16 +130 206 16 +130 207 16 +130 208 16 +130 209 16 +130 210 16 +130 211 16 +130 212 16 +130 213 16 +130 214 16 +130 215 16 +130 216 16 +130 217 16 +130 218 16 +130 219 16 +130 220 16 +130 221 16 +130 222 16 +130 223 16 +130 224 16 +130 225 16 +130 226 16 +130 227 16 +130 228 16 +130 229 16 +130 230 16 +130 231 16 +130 232 16 +130 233 16 +130 234 16 +130 235 16 +130 236 16 +130 237 16 +130 238 16 +130 239 16 +130 240 16 +130 241 16 +130 242 16 +130 243 16 +130 244 16 +130 245 16 +130 246 16 +130 247 16 +130 248 16 +130 249 16 +130 250 16 +130 251 16 +130 252 16 +130 253 16 +130 254 16 +130 255 16 +130 256 16 +130 257 16 +130 258 16 +130 259 16 +130 260 16 +130 261 16 +130 262 16 +130 263 16 +130 264 16 +130 265 16 +130 266 16 +130 267 16 +130 268 16 +130 269 16 +130 270 16 +130 271 16 +130 272 16 +130 273 16 +130 274 16 +130 275 16 +130 276 16 +130 277 16 +130 278 16 +130 279 16 +130 280 16 +130 281 16 +130 282 16 +130 283 16 +130 284 16 +130 285 16 +130 286 16 +130 287 16 +130 288 16 +130 289 16 +130 290 16 +130 291 16 +130 292 16 +130 293 16 +130 294 16 +130 295 16 +130 296 16 +130 297 16 +130 298 16 +130 299 16 +130 300 16 +130 301 16 +130 302 16 +130 303 16 +130 304 16 +130 305 16 +130 306 16 +130 307 16 +130 308 16 +130 309 16 +130 310 16 +130 311 16 +130 312 16 +130 313 16 +130 314 16 +130 315 16 +130 316 16 +130 317 16 +130 318 16 +130 319 16 +130 320 16 +130 321 16 +130 322 16 +130 323 16 +130 324 16 +130 325 16 +130 326 16 +130 327 16 +130 328 16 +130 329 16 +130 330 16 +130 331 16 +130 332 16 +130 333 16 +130 334 16 +130 335 16 +130 336 16 +130 337 16 +130 338 16 +130 339 16 +130 340 16 +130 341 16 +130 342 16 +130 343 16 +130 344 16 +130 345 16 +130 346 16 +130 347 16 +130 348 16 +130 349 16 +131 132 16 +131 133 16 +131 134 16 +131 135 16 +131 136 16 +131 137 16 +131 138 16 +131 139 16 +131 140 16 +131 141 16 +131 142 16 +131 143 16 +131 144 16 +131 145 16 +131 146 16 +131 147 16 +131 148 16 +131 149 16 +131 150 16 +131 151 16 +131 152 16 +131 153 16 +131 154 16 +131 155 16 +131 156 16 +131 157 16 +131 158 16 +131 159 16 +131 160 16 +131 161 16 +131 162 16 +131 163 16 +131 164 16 +131 165 16 +131 166 16 +131 167 16 +131 168 16 +131 169 16 +131 170 16 +131 171 16 +131 172 16 +131 173 16 +131 174 16 +131 175 16 +131 176 16 +131 177 16 +131 178 16 +131 179 16 +131 180 16 +131 181 16 +131 182 16 +131 183 16 +131 184 16 +131 185 16 +131 186 16 +131 187 16 +131 188 16 +131 189 16 +131 190 16 +131 191 16 +131 192 16 +131 193 16 +131 194 16 +131 195 16 +131 196 16 +131 197 16 +131 198 16 +131 199 16 +131 200 16 +131 201 16 +131 202 16 +131 203 16 +131 204 16 +131 205 16 +131 206 16 +131 207 16 +131 208 16 +131 209 16 +131 210 16 +131 211 16 +131 212 16 +131 213 16 +131 214 16 +131 215 16 +131 216 16 +131 217 16 +131 218 16 +131 219 16 +131 220 16 +131 221 16 +131 222 16 +131 223 16 +131 224 16 +131 225 16 +131 226 16 +131 227 16 +131 228 16 +131 229 16 +131 230 16 +131 231 16 +131 232 16 +131 233 16 +131 234 16 +131 235 16 +131 236 16 +131 237 16 +131 238 16 +131 239 16 +131 240 16 +131 241 16 +131 242 16 +131 243 16 +131 244 16 +131 245 16 +131 246 16 +131 247 16 +131 248 16 +131 249 16 +131 250 16 +131 251 16 +131 252 16 +131 253 16 +131 254 16 +131 255 16 +131 256 16 +131 257 16 +131 258 16 +131 259 16 +131 260 16 +131 261 16 +131 262 16 +131 263 16 +131 264 16 +131 265 16 +131 266 16 +131 267 16 +131 268 16 +131 269 16 +131 270 16 +131 271 16 +131 272 16 +131 273 16 +131 274 16 +131 275 16 +131 276 16 +131 277 16 +131 278 16 +131 279 16 +131 280 16 +131 281 16 +131 282 16 +131 283 16 +131 284 16 +131 285 16 +131 286 16 +131 287 16 +131 288 16 +131 289 16 +131 290 16 +131 291 16 +131 292 16 +131 293 16 +131 294 16 +131 295 16 +131 296 16 +131 297 16 +131 298 16 +131 299 16 +131 300 16 +131 301 16 +131 302 16 +131 303 16 +131 304 16 +131 305 16 +131 306 16 +131 307 16 +131 308 16 +131 309 16 +131 310 16 +131 311 16 +131 312 16 +131 313 16 +131 314 16 +131 315 16 +131 316 16 +131 317 16 +131 318 16 +131 319 16 +131 320 16 +131 321 16 +131 322 16 +131 323 16 +131 324 16 +131 325 16 +131 326 16 +131 327 16 +131 328 16 +131 329 16 +131 330 16 +131 331 16 +131 332 16 +131 333 16 +131 334 16 +131 335 16 +131 336 16 +131 337 16 +131 338 16 +131 339 16 +131 340 16 +131 341 16 +131 342 16 +131 343 16 +131 344 16 +131 345 16 +131 346 16 +131 347 16 +131 348 16 +131 349 16 +132 133 16 +132 134 16 +132 135 16 +132 136 16 +132 137 16 +132 138 16 +132 139 16 +132 140 16 +132 141 16 +132 142 16 +132 143 16 +132 144 16 +132 145 16 +132 146 16 +132 147 16 +132 148 16 +132 149 16 +132 150 16 +132 151 16 +132 152 16 +132 153 16 +132 154 16 +132 155 16 +132 156 16 +132 157 16 +132 158 16 +132 159 16 +132 160 16 +132 161 16 +132 162 16 +132 163 16 +132 164 16 +132 165 16 +132 166 16 +132 167 16 +132 168 16 +132 169 16 +132 170 16 +132 171 16 +132 172 16 +132 173 16 +132 174 16 +132 175 16 +132 176 16 +132 177 16 +132 178 16 +132 179 16 +132 180 16 +132 181 16 +132 182 16 +132 183 16 +132 184 16 +132 185 16 +132 186 16 +132 187 16 +132 188 16 +132 189 16 +132 190 16 +132 191 16 +132 192 16 +132 193 16 +132 194 16 +132 195 16 +132 196 16 +132 197 16 +132 198 16 +132 199 16 +132 200 16 +132 201 16 +132 202 16 +132 203 16 +132 204 16 +132 205 16 +132 206 16 +132 207 16 +132 208 16 +132 209 16 +132 210 16 +132 211 16 +132 212 16 +132 213 16 +132 214 16 +132 215 16 +132 216 16 +132 217 16 +132 218 16 +132 219 16 +132 220 16 +132 221 16 +132 222 16 +132 223 16 +132 224 16 +132 225 16 +132 226 16 +132 227 16 +132 228 16 +132 229 16 +132 230 16 +132 231 16 +132 232 16 +132 233 16 +132 234 16 +132 235 16 +132 236 16 +132 237 16 +132 238 16 +132 239 16 +132 240 16 +132 241 16 +132 242 16 +132 243 16 +132 244 16 +132 245 16 +132 246 16 +132 247 16 +132 248 16 +132 249 16 +132 250 16 +132 251 16 +132 252 16 +132 253 16 +132 254 16 +132 255 16 +132 256 16 +132 257 16 +132 258 16 +132 259 16 +132 260 16 +132 261 16 +132 262 16 +132 263 16 +132 264 16 +132 265 16 +132 266 16 +132 267 16 +132 268 16 +132 269 16 +132 270 16 +132 271 16 +132 272 16 +132 273 16 +132 274 16 +132 275 16 +132 276 16 +132 277 16 +132 278 16 +132 279 16 +132 280 16 +132 281 16 +132 282 16 +132 283 16 +132 284 16 +132 285 16 +132 286 16 +132 287 16 +132 288 16 +132 289 16 +132 290 16 +132 291 16 +132 292 16 +132 293 16 +132 294 16 +132 295 16 +132 296 16 +132 297 16 +132 298 16 +132 299 16 +132 300 16 +132 301 16 +132 302 16 +132 303 16 +132 304 16 +132 305 16 +132 306 16 +132 307 16 +132 308 16 +132 309 16 +132 310 16 +132 311 16 +132 312 16 +132 313 16 +132 314 16 +132 315 16 +132 316 16 +132 317 16 +132 318 16 +132 319 16 +132 320 16 +132 321 16 +132 322 16 +132 323 16 +132 324 16 +132 325 16 +132 326 16 +132 327 16 +132 328 16 +132 329 16 +132 330 16 +132 331 16 +132 332 16 +132 333 16 +132 334 16 +132 335 16 +132 336 16 +132 337 16 +132 338 16 +132 339 16 +132 340 16 +132 341 16 +132 342 16 +132 343 16 +132 344 16 +132 345 16 +132 346 16 +132 347 16 +132 348 16 +132 349 16 +133 134 16 +133 135 16 +133 136 16 +133 137 16 +133 138 16 +133 139 16 +133 140 16 +133 141 16 +133 142 16 +133 143 16 +133 144 16 +133 145 16 +133 146 16 +133 147 16 +133 148 16 +133 149 16 +133 150 16 +133 151 16 +133 152 16 +133 153 16 +133 154 16 +133 155 16 +133 156 16 +133 157 16 +133 158 16 +133 159 16 +133 160 16 +133 161 16 +133 162 16 +133 163 16 +133 164 16 +133 165 16 +133 166 16 +133 167 16 +133 168 16 +133 169 16 +133 170 16 +133 171 16 +133 172 16 +133 173 16 +133 174 16 +133 175 16 +133 176 16 +133 177 16 +133 178 16 +133 179 16 +133 180 16 +133 181 16 +133 182 16 +133 183 16 +133 184 16 +133 185 16 +133 186 16 +133 187 16 +133 188 16 +133 189 16 +133 190 16 +133 191 16 +133 192 16 +133 193 16 +133 194 16 +133 195 16 +133 196 16 +133 197 16 +133 198 16 +133 199 16 +133 200 16 +133 201 16 +133 202 16 +133 203 16 +133 204 16 +133 205 16 +133 206 16 +133 207 16 +133 208 16 +133 209 16 +133 210 16 +133 211 16 +133 212 16 +133 213 16 +133 214 16 +133 215 16 +133 216 16 +133 217 16 +133 218 16 +133 219 16 +133 220 16 +133 221 16 +133 222 16 +133 223 16 +133 224 16 +133 225 16 +133 226 16 +133 227 16 +133 228 16 +133 229 16 +133 230 16 +133 231 16 +133 232 16 +133 233 16 +133 234 16 +133 235 16 +133 236 16 +133 237 16 +133 238 16 +133 239 16 +133 240 16 +133 241 16 +133 242 16 +133 243 16 +133 244 16 +133 245 16 +133 246 16 +133 247 16 +133 248 16 +133 249 16 +133 250 16 +133 251 16 +133 252 16 +133 253 16 +133 254 16 +133 255 16 +133 256 16 +133 257 16 +133 258 16 +133 259 16 +133 260 16 +133 261 16 +133 262 16 +133 263 16 +133 264 16 +133 265 16 +133 266 16 +133 267 16 +133 268 16 +133 269 16 +133 270 16 +133 271 16 +133 272 16 +133 273 16 +133 274 16 +133 275 16 +133 276 16 +133 277 16 +133 278 16 +133 279 16 +133 280 16 +133 281 16 +133 282 16 +133 283 16 +133 284 16 +133 285 16 +133 286 16 +133 287 16 +133 288 16 +133 289 16 +133 290 16 +133 291 16 +133 292 16 +133 293 16 +133 294 16 +133 295 16 +133 296 16 +133 297 16 +133 298 16 +133 299 16 +133 300 16 +133 301 16 +133 302 16 +133 303 16 +133 304 16 +133 305 16 +133 306 16 +133 307 16 +133 308 16 +133 309 16 +133 310 16 +133 311 16 +133 312 16 +133 313 16 +133 314 16 +133 315 16 +133 316 16 +133 317 16 +133 318 16 +133 319 16 +133 320 16 +133 321 16 +133 322 16 +133 323 16 +133 324 16 +133 325 16 +133 326 16 +133 327 16 +133 328 16 +133 329 16 +133 330 16 +133 331 16 +133 332 16 +133 333 16 +133 334 16 +133 335 16 +133 336 16 +133 337 16 +133 338 16 +133 339 16 +133 340 16 +133 341 16 +133 342 16 +133 343 16 +133 344 16 +133 345 16 +133 346 16 +133 347 16 +133 348 16 +133 349 16 +134 135 16 +134 136 16 +134 137 16 +134 138 16 +134 139 16 +134 140 16 +134 141 16 +134 142 16 +134 143 16 +134 144 16 +134 145 16 +134 146 16 +134 147 16 +134 148 16 +134 149 16 +134 150 16 +134 151 16 +134 152 16 +134 153 16 +134 154 16 +134 155 16 +134 156 16 +134 157 16 +134 158 16 +134 159 16 +134 160 16 +134 161 16 +134 162 16 +134 163 16 +134 164 16 +134 165 16 +134 166 16 +134 167 16 +134 168 16 +134 169 16 +134 170 16 +134 171 16 +134 172 16 +134 173 16 +134 174 16 +134 175 16 +134 176 16 +134 177 16 +134 178 16 +134 179 16 +134 180 16 +134 181 16 +134 182 16 +134 183 16 +134 184 16 +134 185 16 +134 186 16 +134 187 16 +134 188 16 +134 189 16 +134 190 16 +134 191 16 +134 192 16 +134 193 16 +134 194 16 +134 195 16 +134 196 16 +134 197 16 +134 198 16 +134 199 16 +134 200 16 +134 201 16 +134 202 16 +134 203 16 +134 204 16 +134 205 16 +134 206 16 +134 207 16 +134 208 16 +134 209 16 +134 210 16 +134 211 16 +134 212 16 +134 213 16 +134 214 16 +134 215 16 +134 216 16 +134 217 16 +134 218 16 +134 219 16 +134 220 16 +134 221 16 +134 222 16 +134 223 16 +134 224 16 +134 225 16 +134 226 16 +134 227 16 +134 228 16 +134 229 16 +134 230 16 +134 231 16 +134 232 16 +134 233 16 +134 234 16 +134 235 16 +134 236 16 +134 237 16 +134 238 16 +134 239 16 +134 240 16 +134 241 16 +134 242 16 +134 243 16 +134 244 16 +134 245 16 +134 246 16 +134 247 16 +134 248 16 +134 249 16 +134 250 16 +134 251 16 +134 252 16 +134 253 16 +134 254 16 +134 255 16 +134 256 16 +134 257 16 +134 258 16 +134 259 16 +134 260 16 +134 261 16 +134 262 16 +134 263 16 +134 264 16 +134 265 16 +134 266 16 +134 267 16 +134 268 16 +134 269 16 +134 270 16 +134 271 16 +134 272 16 +134 273 16 +134 274 16 +134 275 16 +134 276 16 +134 277 16 +134 278 16 +134 279 16 +134 280 16 +134 281 16 +134 282 16 +134 283 16 +134 284 16 +134 285 16 +134 286 16 +134 287 16 +134 288 16 +134 289 16 +134 290 16 +134 291 16 +134 292 16 +134 293 16 +134 294 16 +134 295 16 +134 296 16 +134 297 16 +134 298 16 +134 299 16 +134 300 16 +134 301 16 +134 302 16 +134 303 16 +134 304 16 +134 305 16 +134 306 16 +134 307 16 +134 308 16 +134 309 16 +134 310 16 +134 311 16 +134 312 16 +134 313 16 +134 314 16 +134 315 16 +134 316 16 +134 317 16 +134 318 16 +134 319 16 +134 320 16 +134 321 16 +134 322 16 +134 323 16 +134 324 16 +134 325 16 +134 326 16 +134 327 16 +134 328 16 +134 329 16 +134 330 16 +134 331 16 +134 332 16 +134 333 16 +134 334 16 +134 335 16 +134 336 16 +134 337 16 +134 338 16 +134 339 16 +134 340 16 +134 341 16 +134 342 16 +134 343 16 +134 344 16 +134 345 16 +134 346 16 +134 347 16 +134 348 16 +134 349 16 +135 136 16 +135 137 16 +135 138 16 +135 139 16 +135 140 16 +135 141 16 +135 142 16 +135 143 16 +135 144 16 +135 145 16 +135 146 16 +135 147 16 +135 148 16 +135 149 16 +135 150 16 +135 151 16 +135 152 16 +135 153 16 +135 154 16 +135 155 16 +135 156 16 +135 157 16 +135 158 16 +135 159 16 +135 160 16 +135 161 16 +135 162 16 +135 163 16 +135 164 16 +135 165 16 +135 166 16 +135 167 16 +135 168 16 +135 169 16 +135 170 16 +135 171 16 +135 172 16 +135 173 16 +135 174 16 +135 175 16 +135 176 16 +135 177 16 +135 178 16 +135 179 16 +135 180 16 +135 181 16 +135 182 16 +135 183 16 +135 184 16 +135 185 16 +135 186 16 +135 187 16 +135 188 16 +135 189 16 +135 190 16 +135 191 16 +135 192 16 +135 193 16 +135 194 16 +135 195 16 +135 196 16 +135 197 16 +135 198 16 +135 199 16 +135 200 16 +135 201 16 +135 202 16 +135 203 16 +135 204 16 +135 205 16 +135 206 16 +135 207 16 +135 208 16 +135 209 16 +135 210 16 +135 211 16 +135 212 16 +135 213 16 +135 214 16 +135 215 16 +135 216 16 +135 217 16 +135 218 16 +135 219 16 +135 220 16 +135 221 16 +135 222 16 +135 223 16 +135 224 16 +135 225 16 +135 226 16 +135 227 16 +135 228 16 +135 229 16 +135 230 16 +135 231 16 +135 232 16 +135 233 16 +135 234 16 +135 235 16 +135 236 16 +135 237 16 +135 238 16 +135 239 16 +135 240 16 +135 241 16 +135 242 16 +135 243 16 +135 244 16 +135 245 16 +135 246 16 +135 247 16 +135 248 16 +135 249 16 +135 250 16 +135 251 16 +135 252 16 +135 253 16 +135 254 16 +135 255 16 +135 256 16 +135 257 16 +135 258 16 +135 259 16 +135 260 16 +135 261 16 +135 262 16 +135 263 16 +135 264 16 +135 265 16 +135 266 16 +135 267 16 +135 268 16 +135 269 16 +135 270 16 +135 271 16 +135 272 16 +135 273 16 +135 274 16 +135 275 16 +135 276 16 +135 277 16 +135 278 16 +135 279 16 +135 280 16 +135 281 16 +135 282 16 +135 283 16 +135 284 16 +135 285 16 +135 286 16 +135 287 16 +135 288 16 +135 289 16 +135 290 16 +135 291 16 +135 292 16 +135 293 16 +135 294 16 +135 295 16 +135 296 16 +135 297 16 +135 298 16 +135 299 16 +135 300 16 +135 301 16 +135 302 16 +135 303 16 +135 304 16 +135 305 16 +135 306 16 +135 307 16 +135 308 16 +135 309 16 +135 310 16 +135 311 16 +135 312 16 +135 313 16 +135 314 16 +135 315 16 +135 316 16 +135 317 16 +135 318 16 +135 319 16 +135 320 16 +135 321 16 +135 322 16 +135 323 16 +135 324 16 +135 325 16 +135 326 16 +135 327 16 +135 328 16 +135 329 16 +135 330 16 +135 331 16 +135 332 16 +135 333 16 +135 334 16 +135 335 16 +135 336 16 +135 337 16 +135 338 16 +135 339 16 +135 340 16 +135 341 16 +135 342 16 +135 343 16 +135 344 16 +135 345 16 +135 346 16 +135 347 16 +135 348 16 +135 349 16 +136 137 16 +136 138 16 +136 139 16 +136 140 16 +136 141 16 +136 142 16 +136 143 16 +136 144 16 +136 145 16 +136 146 16 +136 147 16 +136 148 16 +136 149 16 +136 150 16 +136 151 16 +136 152 16 +136 153 16 +136 154 16 +136 155 16 +136 156 16 +136 157 16 +136 158 16 +136 159 16 +136 160 16 +136 161 16 +136 162 16 +136 163 16 +136 164 16 +136 165 16 +136 166 16 +136 167 16 +136 168 16 +136 169 16 +136 170 16 +136 171 16 +136 172 16 +136 173 16 +136 174 16 +136 175 16 +136 176 16 +136 177 16 +136 178 16 +136 179 16 +136 180 16 +136 181 16 +136 182 16 +136 183 16 +136 184 16 +136 185 16 +136 186 16 +136 187 16 +136 188 16 +136 189 16 +136 190 16 +136 191 16 +136 192 16 +136 193 16 +136 194 16 +136 195 16 +136 196 16 +136 197 16 +136 198 16 +136 199 16 +136 200 16 +136 201 16 +136 202 16 +136 203 16 +136 204 16 +136 205 16 +136 206 16 +136 207 16 +136 208 16 +136 209 16 +136 210 16 +136 211 16 +136 212 16 +136 213 16 +136 214 16 +136 215 16 +136 216 16 +136 217 16 +136 218 16 +136 219 16 +136 220 16 +136 221 16 +136 222 16 +136 223 16 +136 224 16 +136 225 16 +136 226 16 +136 227 16 +136 228 16 +136 229 16 +136 230 16 +136 231 16 +136 232 16 +136 233 16 +136 234 16 +136 235 16 +136 236 16 +136 237 16 +136 238 16 +136 239 16 +136 240 16 +136 241 16 +136 242 16 +136 243 16 +136 244 16 +136 245 16 +136 246 16 +136 247 16 +136 248 16 +136 249 16 +136 250 16 +136 251 16 +136 252 16 +136 253 16 +136 254 16 +136 255 16 +136 256 16 +136 257 16 +136 258 16 +136 259 16 +136 260 16 +136 261 16 +136 262 16 +136 263 16 +136 264 16 +136 265 16 +136 266 16 +136 267 16 +136 268 16 +136 269 16 +136 270 16 +136 271 16 +136 272 16 +136 273 16 +136 274 16 +136 275 16 +136 276 16 +136 277 16 +136 278 16 +136 279 16 +136 280 16 +136 281 16 +136 282 16 +136 283 16 +136 284 16 +136 285 16 +136 286 16 +136 287 16 +136 288 16 +136 289 16 +136 290 16 +136 291 16 +136 292 16 +136 293 16 +136 294 16 +136 295 16 +136 296 16 +136 297 16 +136 298 16 +136 299 16 +136 300 16 +136 301 16 +136 302 16 +136 303 16 +136 304 16 +136 305 16 +136 306 16 +136 307 16 +136 308 16 +136 309 16 +136 310 16 +136 311 16 +136 312 16 +136 313 16 +136 314 16 +136 315 16 +136 316 16 +136 317 16 +136 318 16 +136 319 16 +136 320 16 +136 321 16 +136 322 16 +136 323 16 +136 324 16 +136 325 16 +136 326 16 +136 327 16 +136 328 16 +136 329 16 +136 330 16 +136 331 16 +136 332 16 +136 333 16 +136 334 16 +136 335 16 +136 336 16 +136 337 16 +136 338 16 +136 339 16 +136 340 16 +136 341 16 +136 342 16 +136 343 16 +136 344 16 +136 345 16 +136 346 16 +136 347 16 +136 348 16 +136 349 16 +137 138 16 +137 139 16 +137 140 16 +137 141 16 +137 142 16 +137 143 16 +137 144 16 +137 145 16 +137 146 16 +137 147 16 +137 148 16 +137 149 16 +137 150 16 +137 151 16 +137 152 16 +137 153 16 +137 154 16 +137 155 16 +137 156 16 +137 157 16 +137 158 16 +137 159 16 +137 160 16 +137 161 16 +137 162 16 +137 163 16 +137 164 16 +137 165 16 +137 166 16 +137 167 16 +137 168 16 +137 169 16 +137 170 16 +137 171 16 +137 172 16 +137 173 16 +137 174 16 +137 175 16 +137 176 16 +137 177 16 +137 178 16 +137 179 16 +137 180 16 +137 181 16 +137 182 16 +137 183 16 +137 184 16 +137 185 16 +137 186 16 +137 187 16 +137 188 16 +137 189 16 +137 190 16 +137 191 16 +137 192 16 +137 193 16 +137 194 16 +137 195 16 +137 196 16 +137 197 16 +137 198 16 +137 199 16 +137 200 16 +137 201 16 +137 202 16 +137 203 16 +137 204 16 +137 205 16 +137 206 16 +137 207 16 +137 208 16 +137 209 16 +137 210 16 +137 211 16 +137 212 16 +137 213 16 +137 214 16 +137 215 16 +137 216 16 +137 217 16 +137 218 16 +137 219 16 +137 220 16 +137 221 16 +137 222 16 +137 223 16 +137 224 16 +137 225 16 +137 226 16 +137 227 16 +137 228 16 +137 229 16 +137 230 16 +137 231 16 +137 232 16 +137 233 16 +137 234 16 +137 235 16 +137 236 16 +137 237 16 +137 238 16 +137 239 16 +137 240 16 +137 241 16 +137 242 16 +137 243 16 +137 244 16 +137 245 16 +137 246 16 +137 247 16 +137 248 16 +137 249 16 +137 250 16 +137 251 16 +137 252 16 +137 253 16 +137 254 16 +137 255 16 +137 256 16 +137 257 16 +137 258 16 +137 259 16 +137 260 16 +137 261 16 +137 262 16 +137 263 16 +137 264 16 +137 265 16 +137 266 16 +137 267 16 +137 268 16 +137 269 16 +137 270 16 +137 271 16 +137 272 16 +137 273 16 +137 274 16 +137 275 16 +137 276 16 +137 277 16 +137 278 16 +137 279 16 +137 280 16 +137 281 16 +137 282 16 +137 283 16 +137 284 16 +137 285 16 +137 286 16 +137 287 16 +137 288 16 +137 289 16 +137 290 16 +137 291 16 +137 292 16 +137 293 16 +137 294 16 +137 295 16 +137 296 16 +137 297 16 +137 298 16 +137 299 16 +137 300 16 +137 301 16 +137 302 16 +137 303 16 +137 304 16 +137 305 16 +137 306 16 +137 307 16 +137 308 16 +137 309 16 +137 310 16 +137 311 16 +137 312 16 +137 313 16 +137 314 16 +137 315 16 +137 316 16 +137 317 16 +137 318 16 +137 319 16 +137 320 16 +137 321 16 +137 322 16 +137 323 16 +137 324 16 +137 325 16 +137 326 16 +137 327 16 +137 328 16 +137 329 16 +137 330 16 +137 331 16 +137 332 16 +137 333 16 +137 334 16 +137 335 16 +137 336 16 +137 337 16 +137 338 16 +137 339 16 +137 340 16 +137 341 16 +137 342 16 +137 343 16 +137 344 16 +137 345 16 +137 346 16 +137 347 16 +137 348 16 +137 349 16 +138 139 16 +138 140 16 +138 141 16 +138 142 16 +138 143 16 +138 144 16 +138 145 16 +138 146 16 +138 147 16 +138 148 16 +138 149 16 +138 150 16 +138 151 16 +138 152 16 +138 153 16 +138 154 16 +138 155 16 +138 156 16 +138 157 16 +138 158 16 +138 159 16 +138 160 16 +138 161 16 +138 162 16 +138 163 16 +138 164 16 +138 165 16 +138 166 16 +138 167 16 +138 168 16 +138 169 16 +138 170 16 +138 171 16 +138 172 16 +138 173 16 +138 174 16 +138 175 16 +138 176 16 +138 177 16 +138 178 16 +138 179 16 +138 180 16 +138 181 16 +138 182 16 +138 183 16 +138 184 16 +138 185 16 +138 186 16 +138 187 16 +138 188 16 +138 189 16 +138 190 16 +138 191 16 +138 192 16 +138 193 16 +138 194 16 +138 195 16 +138 196 16 +138 197 16 +138 198 16 +138 199 16 +138 200 16 +138 201 16 +138 202 16 +138 203 16 +138 204 16 +138 205 16 +138 206 16 +138 207 16 +138 208 16 +138 209 16 +138 210 16 +138 211 16 +138 212 16 +138 213 16 +138 214 16 +138 215 16 +138 216 16 +138 217 16 +138 218 16 +138 219 16 +138 220 16 +138 221 16 +138 222 16 +138 223 16 +138 224 16 +138 225 16 +138 226 16 +138 227 16 +138 228 16 +138 229 16 +138 230 16 +138 231 16 +138 232 16 +138 233 16 +138 234 16 +138 235 16 +138 236 16 +138 237 16 +138 238 16 +138 239 16 +138 240 16 +138 241 16 +138 242 16 +138 243 16 +138 244 16 +138 245 16 +138 246 16 +138 247 16 +138 248 16 +138 249 16 +138 250 16 +138 251 16 +138 252 16 +138 253 16 +138 254 16 +138 255 16 +138 256 16 +138 257 16 +138 258 16 +138 259 16 +138 260 16 +138 261 16 +138 262 16 +138 263 16 +138 264 16 +138 265 16 +138 266 16 +138 267 16 +138 268 16 +138 269 16 +138 270 16 +138 271 16 +138 272 16 +138 273 16 +138 274 16 +138 275 16 +138 276 16 +138 277 16 +138 278 16 +138 279 16 +138 280 16 +138 281 16 +138 282 16 +138 283 16 +138 284 16 +138 285 16 +138 286 16 +138 287 16 +138 288 16 +138 289 16 +138 290 16 +138 291 16 +138 292 16 +138 293 16 +138 294 16 +138 295 16 +138 296 16 +138 297 16 +138 298 16 +138 299 16 +138 300 16 +138 301 16 +138 302 16 +138 303 16 +138 304 16 +138 305 16 +138 306 16 +138 307 16 +138 308 16 +138 309 16 +138 310 16 +138 311 16 +138 312 16 +138 313 16 +138 314 16 +138 315 16 +138 316 16 +138 317 16 +138 318 16 +138 319 16 +138 320 16 +138 321 16 +138 322 16 +138 323 16 +138 324 16 +138 325 16 +138 326 16 +138 327 16 +138 328 16 +138 329 16 +138 330 16 +138 331 16 +138 332 16 +138 333 16 +138 334 16 +138 335 16 +138 336 16 +138 337 16 +138 338 16 +138 339 16 +138 340 16 +138 341 16 +138 342 16 +138 343 16 +138 344 16 +138 345 16 +138 346 16 +138 347 16 +138 348 16 +138 349 16 +139 140 16 +139 141 16 +139 142 16 +139 143 16 +139 144 16 +139 145 16 +139 146 16 +139 147 16 +139 148 16 +139 149 16 +139 150 16 +139 151 16 +139 152 16 +139 153 16 +139 154 16 +139 155 16 +139 156 16 +139 157 16 +139 158 16 +139 159 16 +139 160 16 +139 161 16 +139 162 16 +139 163 16 +139 164 16 +139 165 16 +139 166 16 +139 167 16 +139 168 16 +139 169 16 +139 170 16 +139 171 16 +139 172 16 +139 173 16 +139 174 16 +139 175 16 +139 176 16 +139 177 16 +139 178 16 +139 179 16 +139 180 16 +139 181 16 +139 182 16 +139 183 16 +139 184 16 +139 185 16 +139 186 16 +139 187 16 +139 188 16 +139 189 16 +139 190 16 +139 191 16 +139 192 16 +139 193 16 +139 194 16 +139 195 16 +139 196 16 +139 197 16 +139 198 16 +139 199 16 +139 200 16 +139 201 16 +139 202 16 +139 203 16 +139 204 16 +139 205 16 +139 206 16 +139 207 16 +139 208 16 +139 209 16 +139 210 16 +139 211 16 +139 212 16 +139 213 16 +139 214 16 +139 215 16 +139 216 16 +139 217 16 +139 218 16 +139 219 16 +139 220 16 +139 221 16 +139 222 16 +139 223 16 +139 224 16 +139 225 16 +139 226 16 +139 227 16 +139 228 16 +139 229 16 +139 230 16 +139 231 16 +139 232 16 +139 233 16 +139 234 16 +139 235 16 +139 236 16 +139 237 16 +139 238 16 +139 239 16 +139 240 16 +139 241 16 +139 242 16 +139 243 16 +139 244 16 +139 245 16 +139 246 16 +139 247 16 +139 248 16 +139 249 16 +139 250 16 +139 251 16 +139 252 16 +139 253 16 +139 254 16 +139 255 16 +139 256 16 +139 257 16 +139 258 16 +139 259 16 +139 260 16 +139 261 16 +139 262 16 +139 263 16 +139 264 16 +139 265 16 +139 266 16 +139 267 16 +139 268 16 +139 269 16 +139 270 16 +139 271 16 +139 272 16 +139 273 16 +139 274 16 +139 275 16 +139 276 16 +139 277 16 +139 278 16 +139 279 16 +139 280 16 +139 281 16 +139 282 16 +139 283 16 +139 284 16 +139 285 16 +139 286 16 +139 287 16 +139 288 16 +139 289 16 +139 290 16 +139 291 16 +139 292 16 +139 293 16 +139 294 16 +139 295 16 +139 296 16 +139 297 16 +139 298 16 +139 299 16 +139 300 16 +139 301 16 +139 302 16 +139 303 16 +139 304 16 +139 305 16 +139 306 16 +139 307 16 +139 308 16 +139 309 16 +139 310 16 +139 311 16 +139 312 16 +139 313 16 +139 314 16 +139 315 16 +139 316 16 +139 317 16 +139 318 16 +139 319 16 +139 320 16 +139 321 16 +139 322 16 +139 323 16 +139 324 16 +139 325 16 +139 326 16 +139 327 16 +139 328 16 +139 329 16 +139 330 16 +139 331 16 +139 332 16 +139 333 16 +139 334 16 +139 335 16 +139 336 16 +139 337 16 +139 338 16 +139 339 16 +139 340 16 +139 341 16 +139 342 16 +139 343 16 +139 344 16 +139 345 16 +139 346 16 +139 347 16 +139 348 16 +139 349 16 +140 141 16 +140 142 16 +140 143 16 +140 144 16 +140 145 16 +140 146 16 +140 147 16 +140 148 16 +140 149 16 +140 150 16 +140 151 16 +140 152 16 +140 153 16 +140 154 16 +140 155 16 +140 156 16 +140 157 16 +140 158 16 +140 159 16 +140 160 16 +140 161 16 +140 162 16 +140 163 16 +140 164 16 +140 165 16 +140 166 16 +140 167 16 +140 168 16 +140 169 16 +140 170 16 +140 171 16 +140 172 16 +140 173 16 +140 174 16 +140 175 16 +140 176 16 +140 177 16 +140 178 16 +140 179 16 +140 180 16 +140 181 16 +140 182 16 +140 183 16 +140 184 16 +140 185 16 +140 186 16 +140 187 16 +140 188 16 +140 189 16 +140 190 16 +140 191 16 +140 192 16 +140 193 16 +140 194 16 +140 195 16 +140 196 16 +140 197 16 +140 198 16 +140 199 16 +140 200 16 +140 201 16 +140 202 16 +140 203 16 +140 204 16 +140 205 16 +140 206 16 +140 207 16 +140 208 16 +140 209 16 +140 210 16 +140 211 16 +140 212 16 +140 213 16 +140 214 16 +140 215 16 +140 216 16 +140 217 16 +140 218 16 +140 219 16 +140 220 16 +140 221 16 +140 222 16 +140 223 16 +140 224 16 +140 225 16 +140 226 16 +140 227 16 +140 228 16 +140 229 16 +140 230 16 +140 231 16 +140 232 16 +140 233 16 +140 234 16 +140 235 16 +140 236 16 +140 237 16 +140 238 16 +140 239 16 +140 240 16 +140 241 16 +140 242 16 +140 243 16 +140 244 16 +140 245 16 +140 246 16 +140 247 16 +140 248 16 +140 249 16 +140 250 16 +140 251 16 +140 252 16 +140 253 16 +140 254 16 +140 255 16 +140 256 16 +140 257 16 +140 258 16 +140 259 16 +140 260 16 +140 261 16 +140 262 16 +140 263 16 +140 264 16 +140 265 16 +140 266 16 +140 267 16 +140 268 16 +140 269 16 +140 270 16 +140 271 16 +140 272 16 +140 273 16 +140 274 16 +140 275 16 +140 276 16 +140 277 16 +140 278 16 +140 279 16 +140 280 16 +140 281 16 +140 282 16 +140 283 16 +140 284 16 +140 285 16 +140 286 16 +140 287 16 +140 288 16 +140 289 16 +140 290 16 +140 291 16 +140 292 16 +140 293 16 +140 294 16 +140 295 16 +140 296 16 +140 297 16 +140 298 16 +140 299 16 +140 300 16 +140 301 16 +140 302 16 +140 303 16 +140 304 16 +140 305 16 +140 306 16 +140 307 16 +140 308 16 +140 309 16 +140 310 16 +140 311 16 +140 312 16 +140 313 16 +140 314 16 +140 315 16 +140 316 16 +140 317 16 +140 318 16 +140 319 16 +140 320 16 +140 321 16 +140 322 16 +140 323 16 +140 324 16 +140 325 16 +140 326 16 +140 327 16 +140 328 16 +140 329 16 +140 330 16 +140 331 16 +140 332 16 +140 333 16 +140 334 16 +140 335 16 +140 336 16 +140 337 16 +140 338 16 +140 339 16 +140 340 16 +140 341 16 +140 342 16 +140 343 16 +140 344 16 +140 345 16 +140 346 16 +140 347 16 +140 348 16 +140 349 16 +141 142 16 +141 143 16 +141 144 16 +141 145 16 +141 146 16 +141 147 16 +141 148 16 +141 149 16 +141 150 16 +141 151 16 +141 152 16 +141 153 16 +141 154 16 +141 155 16 +141 156 16 +141 157 16 +141 158 16 +141 159 16 +141 160 16 +141 161 16 +141 162 16 +141 163 16 +141 164 16 +141 165 16 +141 166 16 +141 167 16 +141 168 16 +141 169 16 +141 170 16 +141 171 16 +141 172 16 +141 173 16 +141 174 16 +141 175 16 +141 176 16 +141 177 16 +141 178 16 +141 179 16 +141 180 16 +141 181 16 +141 182 16 +141 183 16 +141 184 16 +141 185 16 +141 186 16 +141 187 16 +141 188 16 +141 189 16 +141 190 16 +141 191 16 +141 192 16 +141 193 16 +141 194 16 +141 195 16 +141 196 16 +141 197 16 +141 198 16 +141 199 16 +141 200 16 +141 201 16 +141 202 16 +141 203 16 +141 204 16 +141 205 16 +141 206 16 +141 207 16 +141 208 16 +141 209 16 +141 210 16 +141 211 16 +141 212 16 +141 213 16 +141 214 16 +141 215 16 +141 216 16 +141 217 16 +141 218 16 +141 219 16 +141 220 16 +141 221 16 +141 222 16 +141 223 16 +141 224 16 +141 225 16 +141 226 16 +141 227 16 +141 228 16 +141 229 16 +141 230 16 +141 231 16 +141 232 16 +141 233 16 +141 234 16 +141 235 16 +141 236 16 +141 237 16 +141 238 16 +141 239 16 +141 240 16 +141 241 16 +141 242 16 +141 243 16 +141 244 16 +141 245 16 +141 246 16 +141 247 16 +141 248 16 +141 249 16 +141 250 16 +141 251 16 +141 252 16 +141 253 16 +141 254 16 +141 255 16 +141 256 16 +141 257 16 +141 258 16 +141 259 16 +141 260 16 +141 261 16 +141 262 16 +141 263 16 +141 264 16 +141 265 16 +141 266 16 +141 267 16 +141 268 16 +141 269 16 +141 270 16 +141 271 16 +141 272 16 +141 273 16 +141 274 16 +141 275 16 +141 276 16 +141 277 16 +141 278 16 +141 279 16 +141 280 16 +141 281 16 +141 282 16 +141 283 16 +141 284 16 +141 285 16 +141 286 16 +141 287 16 +141 288 16 +141 289 16 +141 290 16 +141 291 16 +141 292 16 +141 293 16 +141 294 16 +141 295 16 +141 296 16 +141 297 16 +141 298 16 +141 299 16 +141 300 16 +141 301 16 +141 302 16 +141 303 16 +141 304 16 +141 305 16 +141 306 16 +141 307 16 +141 308 16 +141 309 16 +141 310 16 +141 311 16 +141 312 16 +141 313 16 +141 314 16 +141 315 16 +141 316 16 +141 317 16 +141 318 16 +141 319 16 +141 320 16 +141 321 16 +141 322 16 +141 323 16 +141 324 16 +141 325 16 +141 326 16 +141 327 16 +141 328 16 +141 329 16 +141 330 16 +141 331 16 +141 332 16 +141 333 16 +141 334 16 +141 335 16 +141 336 16 +141 337 16 +141 338 16 +141 339 16 +141 340 16 +141 341 16 +141 342 16 +141 343 16 +141 344 16 +141 345 16 +141 346 16 +141 347 16 +141 348 16 +141 349 16 +142 143 16 +142 144 16 +142 145 16 +142 146 16 +142 147 16 +142 148 16 +142 149 16 +142 150 16 +142 151 16 +142 152 16 +142 153 16 +142 154 16 +142 155 16 +142 156 16 +142 157 16 +142 158 16 +142 159 16 +142 160 16 +142 161 16 +142 162 16 +142 163 16 +142 164 16 +142 165 16 +142 166 16 +142 167 16 +142 168 16 +142 169 16 +142 170 16 +142 171 16 +142 172 16 +142 173 16 +142 174 16 +142 175 16 +142 176 16 +142 177 16 +142 178 16 +142 179 16 +142 180 16 +142 181 16 +142 182 16 +142 183 16 +142 184 16 +142 185 16 +142 186 16 +142 187 16 +142 188 16 +142 189 16 +142 190 16 +142 191 16 +142 192 16 +142 193 16 +142 194 16 +142 195 16 +142 196 16 +142 197 16 +142 198 16 +142 199 16 +142 200 16 +142 201 16 +142 202 16 +142 203 16 +142 204 16 +142 205 16 +142 206 16 +142 207 16 +142 208 16 +142 209 16 +142 210 16 +142 211 16 +142 212 16 +142 213 16 +142 214 16 +142 215 16 +142 216 16 +142 217 16 +142 218 16 +142 219 16 +142 220 16 +142 221 16 +142 222 16 +142 223 16 +142 224 16 +142 225 16 +142 226 16 +142 227 16 +142 228 16 +142 229 16 +142 230 16 +142 231 16 +142 232 16 +142 233 16 +142 234 16 +142 235 16 +142 236 16 +142 237 16 +142 238 16 +142 239 16 +142 240 16 +142 241 16 +142 242 16 +142 243 16 +142 244 16 +142 245 16 +142 246 16 +142 247 16 +142 248 16 +142 249 16 +142 250 16 +142 251 16 +142 252 16 +142 253 16 +142 254 16 +142 255 16 +142 256 16 +142 257 16 +142 258 16 +142 259 16 +142 260 16 +142 261 16 +142 262 16 +142 263 16 +142 264 16 +142 265 16 +142 266 16 +142 267 16 +142 268 16 +142 269 16 +142 270 16 +142 271 16 +142 272 16 +142 273 16 +142 274 16 +142 275 16 +142 276 16 +142 277 16 +142 278 16 +142 279 16 +142 280 16 +142 281 16 +142 282 16 +142 283 16 +142 284 16 +142 285 16 +142 286 16 +142 287 16 +142 288 16 +142 289 16 +142 290 16 +142 291 16 +142 292 16 +142 293 16 +142 294 16 +142 295 16 +142 296 16 +142 297 16 +142 298 16 +142 299 16 +142 300 16 +142 301 16 +142 302 16 +142 303 16 +142 304 16 +142 305 16 +142 306 16 +142 307 16 +142 308 16 +142 309 16 +142 310 16 +142 311 16 +142 312 16 +142 313 16 +142 314 16 +142 315 16 +142 316 16 +142 317 16 +142 318 16 +142 319 16 +142 320 16 +142 321 16 +142 322 16 +142 323 16 +142 324 16 +142 325 16 +142 326 16 +142 327 16 +142 328 16 +142 329 16 +142 330 16 +142 331 16 +142 332 16 +142 333 16 +142 334 16 +142 335 16 +142 336 16 +142 337 16 +142 338 16 +142 339 16 +142 340 16 +142 341 16 +142 342 16 +142 343 16 +142 344 16 +142 345 16 +142 346 16 +142 347 16 +142 348 16 +142 349 16 +143 144 16 +143 145 16 +143 146 16 +143 147 16 +143 148 16 +143 149 16 +143 150 16 +143 151 16 +143 152 16 +143 153 16 +143 154 16 +143 155 16 +143 156 16 +143 157 16 +143 158 16 +143 159 16 +143 160 16 +143 161 16 +143 162 16 +143 163 16 +143 164 16 +143 165 16 +143 166 16 +143 167 16 +143 168 16 +143 169 16 +143 170 16 +143 171 16 +143 172 16 +143 173 16 +143 174 16 +143 175 16 +143 176 16 +143 177 16 +143 178 16 +143 179 16 +143 180 16 +143 181 16 +143 182 16 +143 183 16 +143 184 16 +143 185 16 +143 186 16 +143 187 16 +143 188 16 +143 189 16 +143 190 16 +143 191 16 +143 192 16 +143 193 16 +143 194 16 +143 195 16 +143 196 16 +143 197 16 +143 198 16 +143 199 16 +143 200 16 +143 201 16 +143 202 16 +143 203 16 +143 204 16 +143 205 16 +143 206 16 +143 207 16 +143 208 16 +143 209 16 +143 210 16 +143 211 16 +143 212 16 +143 213 16 +143 214 16 +143 215 16 +143 216 16 +143 217 16 +143 218 16 +143 219 16 +143 220 16 +143 221 16 +143 222 16 +143 223 16 +143 224 16 +143 225 16 +143 226 16 +143 227 16 +143 228 16 +143 229 16 +143 230 16 +143 231 16 +143 232 16 +143 233 16 +143 234 16 +143 235 16 +143 236 16 +143 237 16 +143 238 16 +143 239 16 +143 240 16 +143 241 16 +143 242 16 +143 243 16 +143 244 16 +143 245 16 +143 246 16 +143 247 16 +143 248 16 +143 249 16 +143 250 16 +143 251 16 +143 252 16 +143 253 16 +143 254 16 +143 255 16 +143 256 16 +143 257 16 +143 258 16 +143 259 16 +143 260 16 +143 261 16 +143 262 16 +143 263 16 +143 264 16 +143 265 16 +143 266 16 +143 267 16 +143 268 16 +143 269 16 +143 270 16 +143 271 16 +143 272 16 +143 273 16 +143 274 16 +143 275 16 +143 276 16 +143 277 16 +143 278 16 +143 279 16 +143 280 16 +143 281 16 +143 282 16 +143 283 16 +143 284 16 +143 285 16 +143 286 16 +143 287 16 +143 288 16 +143 289 16 +143 290 16 +143 291 16 +143 292 16 +143 293 16 +143 294 16 +143 295 16 +143 296 16 +143 297 16 +143 298 16 +143 299 16 +143 300 16 +143 301 16 +143 302 16 +143 303 16 +143 304 16 +143 305 16 +143 306 16 +143 307 16 +143 308 16 +143 309 16 +143 310 16 +143 311 16 +143 312 16 +143 313 16 +143 314 16 +143 315 16 +143 316 16 +143 317 16 +143 318 16 +143 319 16 +143 320 16 +143 321 16 +143 322 16 +143 323 16 +143 324 16 +143 325 16 +143 326 16 +143 327 16 +143 328 16 +143 329 16 +143 330 16 +143 331 16 +143 332 16 +143 333 16 +143 334 16 +143 335 16 +143 336 16 +143 337 16 +143 338 16 +143 339 16 +143 340 16 +143 341 16 +143 342 16 +143 343 16 +143 344 16 +143 345 16 +143 346 16 +143 347 16 +143 348 16 +143 349 16 +144 145 16 +144 146 16 +144 147 16 +144 148 16 +144 149 16 +144 150 16 +144 151 16 +144 152 16 +144 153 16 +144 154 16 +144 155 16 +144 156 16 +144 157 16 +144 158 16 +144 159 16 +144 160 16 +144 161 16 +144 162 16 +144 163 16 +144 164 16 +144 165 16 +144 166 16 +144 167 16 +144 168 16 +144 169 16 +144 170 16 +144 171 16 +144 172 16 +144 173 16 +144 174 16 +144 175 16 +144 176 16 +144 177 16 +144 178 16 +144 179 16 +144 180 16 +144 181 16 +144 182 16 +144 183 16 +144 184 16 +144 185 16 +144 186 16 +144 187 16 +144 188 16 +144 189 16 +144 190 16 +144 191 16 +144 192 16 +144 193 16 +144 194 16 +144 195 16 +144 196 16 +144 197 16 +144 198 16 +144 199 16 +144 200 16 +144 201 16 +144 202 16 +144 203 16 +144 204 16 +144 205 16 +144 206 16 +144 207 16 +144 208 16 +144 209 16 +144 210 16 +144 211 16 +144 212 16 +144 213 16 +144 214 16 +144 215 16 +144 216 16 +144 217 16 +144 218 16 +144 219 16 +144 220 16 +144 221 16 +144 222 16 +144 223 16 +144 224 16 +144 225 16 +144 226 16 +144 227 16 +144 228 16 +144 229 16 +144 230 16 +144 231 16 +144 232 16 +144 233 16 +144 234 16 +144 235 16 +144 236 16 +144 237 16 +144 238 16 +144 239 16 +144 240 16 +144 241 16 +144 242 16 +144 243 16 +144 244 16 +144 245 16 +144 246 16 +144 247 16 +144 248 16 +144 249 16 +144 250 16 +144 251 16 +144 252 16 +144 253 16 +144 254 16 +144 255 16 +144 256 16 +144 257 16 +144 258 16 +144 259 16 +144 260 16 +144 261 16 +144 262 16 +144 263 16 +144 264 16 +144 265 16 +144 266 16 +144 267 16 +144 268 16 +144 269 16 +144 270 16 +144 271 16 +144 272 16 +144 273 16 +144 274 16 +144 275 16 +144 276 16 +144 277 16 +144 278 16 +144 279 16 +144 280 16 +144 281 16 +144 282 16 +144 283 16 +144 284 16 +144 285 16 +144 286 16 +144 287 16 +144 288 16 +144 289 16 +144 290 16 +144 291 16 +144 292 16 +144 293 16 +144 294 16 +144 295 16 +144 296 16 +144 297 16 +144 298 16 +144 299 16 +144 300 16 +144 301 16 +144 302 16 +144 303 16 +144 304 16 +144 305 16 +144 306 16 +144 307 16 +144 308 16 +144 309 16 +144 310 16 +144 311 16 +144 312 16 +144 313 16 +144 314 16 +144 315 16 +144 316 16 +144 317 16 +144 318 16 +144 319 16 +144 320 16 +144 321 16 +144 322 16 +144 323 16 +144 324 16 +144 325 16 +144 326 16 +144 327 16 +144 328 16 +144 329 16 +144 330 16 +144 331 16 +144 332 16 +144 333 16 +144 334 16 +144 335 16 +144 336 16 +144 337 16 +144 338 16 +144 339 16 +144 340 16 +144 341 16 +144 342 16 +144 343 16 +144 344 16 +144 345 16 +144 346 16 +144 347 16 +144 348 16 +144 349 16 +145 146 16 +145 147 16 +145 148 16 +145 149 16 +145 150 16 +145 151 16 +145 152 16 +145 153 16 +145 154 16 +145 155 16 +145 156 16 +145 157 16 +145 158 16 +145 159 16 +145 160 16 +145 161 16 +145 162 16 +145 163 16 +145 164 16 +145 165 16 +145 166 16 +145 167 16 +145 168 16 +145 169 16 +145 170 16 +145 171 16 +145 172 16 +145 173 16 +145 174 16 +145 175 16 +145 176 16 +145 177 16 +145 178 16 +145 179 16 +145 180 16 +145 181 16 +145 182 16 +145 183 16 +145 184 16 +145 185 16 +145 186 16 +145 187 16 +145 188 16 +145 189 16 +145 190 16 +145 191 16 +145 192 16 +145 193 16 +145 194 16 +145 195 16 +145 196 16 +145 197 16 +145 198 16 +145 199 16 +145 200 16 +145 201 16 +145 202 16 +145 203 16 +145 204 16 +145 205 16 +145 206 16 +145 207 16 +145 208 16 +145 209 16 +145 210 16 +145 211 16 +145 212 16 +145 213 16 +145 214 16 +145 215 16 +145 216 16 +145 217 16 +145 218 16 +145 219 16 +145 220 16 +145 221 16 +145 222 16 +145 223 16 +145 224 16 +145 225 16 +145 226 16 +145 227 16 +145 228 16 +145 229 16 +145 230 16 +145 231 16 +145 232 16 +145 233 16 +145 234 16 +145 235 16 +145 236 16 +145 237 16 +145 238 16 +145 239 16 +145 240 16 +145 241 16 +145 242 16 +145 243 16 +145 244 16 +145 245 16 +145 246 16 +145 247 16 +145 248 16 +145 249 16 +145 250 16 +145 251 16 +145 252 16 +145 253 16 +145 254 16 +145 255 16 +145 256 16 +145 257 16 +145 258 16 +145 259 16 +145 260 16 +145 261 16 +145 262 16 +145 263 16 +145 264 16 +145 265 16 +145 266 16 +145 267 16 +145 268 16 +145 269 16 +145 270 16 +145 271 16 +145 272 16 +145 273 16 +145 274 16 +145 275 16 +145 276 16 +145 277 16 +145 278 16 +145 279 16 +145 280 16 +145 281 16 +145 282 16 +145 283 16 +145 284 16 +145 285 16 +145 286 16 +145 287 16 +145 288 16 +145 289 16 +145 290 16 +145 291 16 +145 292 16 +145 293 16 +145 294 16 +145 295 16 +145 296 16 +145 297 16 +145 298 16 +145 299 16 +145 300 16 +145 301 16 +145 302 16 +145 303 16 +145 304 16 +145 305 16 +145 306 16 +145 307 16 +145 308 16 +145 309 16 +145 310 16 +145 311 16 +145 312 16 +145 313 16 +145 314 16 +145 315 16 +145 316 16 +145 317 16 +145 318 16 +145 319 16 +145 320 16 +145 321 16 +145 322 16 +145 323 16 +145 324 16 +145 325 16 +145 326 16 +145 327 16 +145 328 16 +145 329 16 +145 330 16 +145 331 16 +145 332 16 +145 333 16 +145 334 16 +145 335 16 +145 336 16 +145 337 16 +145 338 16 +145 339 16 +145 340 16 +145 341 16 +145 342 16 +145 343 16 +145 344 16 +145 345 16 +145 346 16 +145 347 16 +145 348 16 +145 349 16 +146 147 16 +146 148 16 +146 149 16 +146 150 16 +146 151 16 +146 152 16 +146 153 16 +146 154 16 +146 155 16 +146 156 16 +146 157 16 +146 158 16 +146 159 16 +146 160 16 +146 161 16 +146 162 16 +146 163 16 +146 164 16 +146 165 16 +146 166 16 +146 167 16 +146 168 16 +146 169 16 +146 170 16 +146 171 16 +146 172 16 +146 173 16 +146 174 16 +146 175 16 +146 176 16 +146 177 16 +146 178 16 +146 179 16 +146 180 16 +146 181 16 +146 182 16 +146 183 16 +146 184 16 +146 185 16 +146 186 16 +146 187 16 +146 188 16 +146 189 16 +146 190 16 +146 191 16 +146 192 16 +146 193 16 +146 194 16 +146 195 16 +146 196 16 +146 197 16 +146 198 16 +146 199 16 +146 200 16 +146 201 16 +146 202 16 +146 203 16 +146 204 16 +146 205 16 +146 206 16 +146 207 16 +146 208 16 +146 209 16 +146 210 16 +146 211 16 +146 212 16 +146 213 16 +146 214 16 +146 215 16 +146 216 16 +146 217 16 +146 218 16 +146 219 16 +146 220 16 +146 221 16 +146 222 16 +146 223 16 +146 224 16 +146 225 16 +146 226 16 +146 227 16 +146 228 16 +146 229 16 +146 230 16 +146 231 16 +146 232 16 +146 233 16 +146 234 16 +146 235 16 +146 236 16 +146 237 16 +146 238 16 +146 239 16 +146 240 16 +146 241 16 +146 242 16 +146 243 16 +146 244 16 +146 245 16 +146 246 16 +146 247 16 +146 248 16 +146 249 16 +146 250 16 +146 251 16 +146 252 16 +146 253 16 +146 254 16 +146 255 16 +146 256 16 +146 257 16 +146 258 16 +146 259 16 +146 260 16 +146 261 16 +146 262 16 +146 263 16 +146 264 16 +146 265 16 +146 266 16 +146 267 16 +146 268 16 +146 269 16 +146 270 16 +146 271 16 +146 272 16 +146 273 16 +146 274 16 +146 275 16 +146 276 16 +146 277 16 +146 278 16 +146 279 16 +146 280 16 +146 281 16 +146 282 16 +146 283 16 +146 284 16 +146 285 16 +146 286 16 +146 287 16 +146 288 16 +146 289 16 +146 290 16 +146 291 16 +146 292 16 +146 293 16 +146 294 16 +146 295 16 +146 296 16 +146 297 16 +146 298 16 +146 299 16 +146 300 16 +146 301 16 +146 302 16 +146 303 16 +146 304 16 +146 305 16 +146 306 16 +146 307 16 +146 308 16 +146 309 16 +146 310 16 +146 311 16 +146 312 16 +146 313 16 +146 314 16 +146 315 16 +146 316 16 +146 317 16 +146 318 16 +146 319 16 +146 320 16 +146 321 16 +146 322 16 +146 323 16 +146 324 16 +146 325 16 +146 326 16 +146 327 16 +146 328 16 +146 329 16 +146 330 16 +146 331 16 +146 332 16 +146 333 16 +146 334 16 +146 335 16 +146 336 16 +146 337 16 +146 338 16 +146 339 16 +146 340 16 +146 341 16 +146 342 16 +146 343 16 +146 344 16 +146 345 16 +146 346 16 +146 347 16 +146 348 16 +146 349 16 +147 148 16 +147 149 16 +147 150 16 +147 151 16 +147 152 16 +147 153 16 +147 154 16 +147 155 16 +147 156 16 +147 157 16 +147 158 16 +147 159 16 +147 160 16 +147 161 16 +147 162 16 +147 163 16 +147 164 16 +147 165 16 +147 166 16 +147 167 16 +147 168 16 +147 169 16 +147 170 16 +147 171 16 +147 172 16 +147 173 16 +147 174 16 +147 175 16 +147 176 16 +147 177 16 +147 178 16 +147 179 16 +147 180 16 +147 181 16 +147 182 16 +147 183 16 +147 184 16 +147 185 16 +147 186 16 +147 187 16 +147 188 16 +147 189 16 +147 190 16 +147 191 16 +147 192 16 +147 193 16 +147 194 16 +147 195 16 +147 196 16 +147 197 16 +147 198 16 +147 199 16 +147 200 16 +147 201 16 +147 202 16 +147 203 16 +147 204 16 +147 205 16 +147 206 16 +147 207 16 +147 208 16 +147 209 16 +147 210 16 +147 211 16 +147 212 16 +147 213 16 +147 214 16 +147 215 16 +147 216 16 +147 217 16 +147 218 16 +147 219 16 +147 220 16 +147 221 16 +147 222 16 +147 223 16 +147 224 16 +147 225 16 +147 226 16 +147 227 16 +147 228 16 +147 229 16 +147 230 16 +147 231 16 +147 232 16 +147 233 16 +147 234 16 +147 235 16 +147 236 16 +147 237 16 +147 238 16 +147 239 16 +147 240 16 +147 241 16 +147 242 16 +147 243 16 +147 244 16 +147 245 16 +147 246 16 +147 247 16 +147 248 16 +147 249 16 +147 250 16 +147 251 16 +147 252 16 +147 253 16 +147 254 16 +147 255 16 +147 256 16 +147 257 16 +147 258 16 +147 259 16 +147 260 16 +147 261 16 +147 262 16 +147 263 16 +147 264 16 +147 265 16 +147 266 16 +147 267 16 +147 268 16 +147 269 16 +147 270 16 +147 271 16 +147 272 16 +147 273 16 +147 274 16 +147 275 16 +147 276 16 +147 277 16 +147 278 16 +147 279 16 +147 280 16 +147 281 16 +147 282 16 +147 283 16 +147 284 16 +147 285 16 +147 286 16 +147 287 16 +147 288 16 +147 289 16 +147 290 16 +147 291 16 +147 292 16 +147 293 16 +147 294 16 +147 295 16 +147 296 16 +147 297 16 +147 298 16 +147 299 16 +147 300 16 +147 301 16 +147 302 16 +147 303 16 +147 304 16 +147 305 16 +147 306 16 +147 307 16 +147 308 16 +147 309 16 +147 310 16 +147 311 16 +147 312 16 +147 313 16 +147 314 16 +147 315 16 +147 316 16 +147 317 16 +147 318 16 +147 319 16 +147 320 16 +147 321 16 +147 322 16 +147 323 16 +147 324 16 +147 325 16 +147 326 16 +147 327 16 +147 328 16 +147 329 16 +147 330 16 +147 331 16 +147 332 16 +147 333 16 +147 334 16 +147 335 16 +147 336 16 +147 337 16 +147 338 16 +147 339 16 +147 340 16 +147 341 16 +147 342 16 +147 343 16 +147 344 16 +147 345 16 +147 346 16 +147 347 16 +147 348 16 +147 349 16 +148 149 16 +148 150 16 +148 151 16 +148 152 16 +148 153 16 +148 154 16 +148 155 16 +148 156 16 +148 157 16 +148 158 16 +148 159 16 +148 160 16 +148 161 16 +148 162 16 +148 163 16 +148 164 16 +148 165 16 +148 166 16 +148 167 16 +148 168 16 +148 169 16 +148 170 16 +148 171 16 +148 172 16 +148 173 16 +148 174 16 +148 175 16 +148 176 16 +148 177 16 +148 178 16 +148 179 16 +148 180 16 +148 181 16 +148 182 16 +148 183 16 +148 184 16 +148 185 16 +148 186 16 +148 187 16 +148 188 16 +148 189 16 +148 190 16 +148 191 16 +148 192 16 +148 193 16 +148 194 16 +148 195 16 +148 196 16 +148 197 16 +148 198 16 +148 199 16 +148 200 16 +148 201 16 +148 202 16 +148 203 16 +148 204 16 +148 205 16 +148 206 16 +148 207 16 +148 208 16 +148 209 16 +148 210 16 +148 211 16 +148 212 16 +148 213 16 +148 214 16 +148 215 16 +148 216 16 +148 217 16 +148 218 16 +148 219 16 +148 220 16 +148 221 16 +148 222 16 +148 223 16 +148 224 16 +148 225 16 +148 226 16 +148 227 16 +148 228 16 +148 229 16 +148 230 16 +148 231 16 +148 232 16 +148 233 16 +148 234 16 +148 235 16 +148 236 16 +148 237 16 +148 238 16 +148 239 16 +148 240 16 +148 241 16 +148 242 16 +148 243 16 +148 244 16 +148 245 16 +148 246 16 +148 247 16 +148 248 16 +148 249 16 +148 250 16 +148 251 16 +148 252 16 +148 253 16 +148 254 16 +148 255 16 +148 256 16 +148 257 16 +148 258 16 +148 259 16 +148 260 16 +148 261 16 +148 262 16 +148 263 16 +148 264 16 +148 265 16 +148 266 16 +148 267 16 +148 268 16 +148 269 16 +148 270 16 +148 271 16 +148 272 16 +148 273 16 +148 274 16 +148 275 16 +148 276 16 +148 277 16 +148 278 16 +148 279 16 +148 280 16 +148 281 16 +148 282 16 +148 283 16 +148 284 16 +148 285 16 +148 286 16 +148 287 16 +148 288 16 +148 289 16 +148 290 16 +148 291 16 +148 292 16 +148 293 16 +148 294 16 +148 295 16 +148 296 16 +148 297 16 +148 298 16 +148 299 16 +148 300 16 +148 301 16 +148 302 16 +148 303 16 +148 304 16 +148 305 16 +148 306 16 +148 307 16 +148 308 16 +148 309 16 +148 310 16 +148 311 16 +148 312 16 +148 313 16 +148 314 16 +148 315 16 +148 316 16 +148 317 16 +148 318 16 +148 319 16 +148 320 16 +148 321 16 +148 322 16 +148 323 16 +148 324 16 +148 325 16 +148 326 16 +148 327 16 +148 328 16 +148 329 16 +148 330 16 +148 331 16 +148 332 16 +148 333 16 +148 334 16 +148 335 16 +148 336 16 +148 337 16 +148 338 16 +148 339 16 +148 340 16 +148 341 16 +148 342 16 +148 343 16 +148 344 16 +148 345 16 +148 346 16 +148 347 16 +148 348 16 +148 349 16 +149 150 16 +149 151 16 +149 152 16 +149 153 16 +149 154 16 +149 155 16 +149 156 16 +149 157 16 +149 158 16 +149 159 16 +149 160 16 +149 161 16 +149 162 16 +149 163 16 +149 164 16 +149 165 16 +149 166 16 +149 167 16 +149 168 16 +149 169 16 +149 170 16 +149 171 16 +149 172 16 +149 173 16 +149 174 16 +149 175 16 +149 176 16 +149 177 16 +149 178 16 +149 179 16 +149 180 16 +149 181 16 +149 182 16 +149 183 16 +149 184 16 +149 185 16 +149 186 16 +149 187 16 +149 188 16 +149 189 16 +149 190 16 +149 191 16 +149 192 16 +149 193 16 +149 194 16 +149 195 16 +149 196 16 +149 197 16 +149 198 16 +149 199 16 +149 200 16 +149 201 16 +149 202 16 +149 203 16 +149 204 16 +149 205 16 +149 206 16 +149 207 16 +149 208 16 +149 209 16 +149 210 16 +149 211 16 +149 212 16 +149 213 16 +149 214 16 +149 215 16 +149 216 16 +149 217 16 +149 218 16 +149 219 16 +149 220 16 +149 221 16 +149 222 16 +149 223 16 +149 224 16 +149 225 16 +149 226 16 +149 227 16 +149 228 16 +149 229 16 +149 230 16 +149 231 16 +149 232 16 +149 233 16 +149 234 16 +149 235 16 +149 236 16 +149 237 16 +149 238 16 +149 239 16 +149 240 16 +149 241 16 +149 242 16 +149 243 16 +149 244 16 +149 245 16 +149 246 16 +149 247 16 +149 248 16 +149 249 16 +149 250 16 +149 251 16 +149 252 16 +149 253 16 +149 254 16 +149 255 16 +149 256 16 +149 257 16 +149 258 16 +149 259 16 +149 260 16 +149 261 16 +149 262 16 +149 263 16 +149 264 16 +149 265 16 +149 266 16 +149 267 16 +149 268 16 +149 269 16 +149 270 16 +149 271 16 +149 272 16 +149 273 16 +149 274 16 +149 275 16 +149 276 16 +149 277 16 +149 278 16 +149 279 16 +149 280 16 +149 281 16 +149 282 16 +149 283 16 +149 284 16 +149 285 16 +149 286 16 +149 287 16 +149 288 16 +149 289 16 +149 290 16 +149 291 16 +149 292 16 +149 293 16 +149 294 16 +149 295 16 +149 296 16 +149 297 16 +149 298 16 +149 299 16 +149 300 16 +149 301 16 +149 302 16 +149 303 16 +149 304 16 +149 305 16 +149 306 16 +149 307 16 +149 308 16 +149 309 16 +149 310 16 +149 311 16 +149 312 16 +149 313 16 +149 314 16 +149 315 16 +149 316 16 +149 317 16 +149 318 16 +149 319 16 +149 320 16 +149 321 16 +149 322 16 +149 323 16 +149 324 16 +149 325 16 +149 326 16 +149 327 16 +149 328 16 +149 329 16 +149 330 16 +149 331 16 +149 332 16 +149 333 16 +149 334 16 +149 335 16 +149 336 16 +149 337 16 +149 338 16 +149 339 16 +149 340 16 +149 341 16 +149 342 16 +149 343 16 +149 344 16 +149 345 16 +149 346 16 +149 347 16 +149 348 16 +149 349 16 +150 151 16 +150 152 16 +150 153 16 +150 154 16 +150 155 16 +150 156 16 +150 157 16 +150 158 16 +150 159 16 +150 160 16 +150 161 16 +150 162 16 +150 163 16 +150 164 16 +150 165 16 +150 166 16 +150 167 16 +150 168 16 +150 169 16 +150 170 16 +150 171 16 +150 172 16 +150 173 16 +150 174 16 +150 175 16 +150 176 16 +150 177 16 +150 178 16 +150 179 16 +150 180 16 +150 181 16 +150 182 16 +150 183 16 +150 184 16 +150 185 16 +150 186 16 +150 187 16 +150 188 16 +150 189 16 +150 190 16 +150 191 16 +150 192 16 +150 193 16 +150 194 16 +150 195 16 +150 196 16 +150 197 16 +150 198 16 +150 199 16 +150 200 16 +150 201 16 +150 202 16 +150 203 16 +150 204 16 +150 205 16 +150 206 16 +150 207 16 +150 208 16 +150 209 16 +150 210 16 +150 211 16 +150 212 16 +150 213 16 +150 214 16 +150 215 16 +150 216 16 +150 217 16 +150 218 16 +150 219 16 +150 220 16 +150 221 16 +150 222 16 +150 223 16 +150 224 16 +150 225 16 +150 226 16 +150 227 16 +150 228 16 +150 229 16 +150 230 16 +150 231 16 +150 232 16 +150 233 16 +150 234 16 +150 235 16 +150 236 16 +150 237 16 +150 238 16 +150 239 16 +150 240 16 +150 241 16 +150 242 16 +150 243 16 +150 244 16 +150 245 16 +150 246 16 +150 247 16 +150 248 16 +150 249 16 +150 250 16 +150 251 16 +150 252 16 +150 253 16 +150 254 16 +150 255 16 +150 256 16 +150 257 16 +150 258 16 +150 259 16 +150 260 16 +150 261 16 +150 262 16 +150 263 16 +150 264 16 +150 265 16 +150 266 16 +150 267 16 +150 268 16 +150 269 16 +150 270 16 +150 271 16 +150 272 16 +150 273 16 +150 274 16 +150 275 16 +150 276 16 +150 277 16 +150 278 16 +150 279 16 +150 280 16 +150 281 16 +150 282 16 +150 283 16 +150 284 16 +150 285 16 +150 286 16 +150 287 16 +150 288 16 +150 289 16 +150 290 16 +150 291 16 +150 292 16 +150 293 16 +150 294 16 +150 295 16 +150 296 16 +150 297 16 +150 298 16 +150 299 16 +150 300 16 +150 301 16 +150 302 16 +150 303 16 +150 304 16 +150 305 16 +150 306 16 +150 307 16 +150 308 16 +150 309 16 +150 310 16 +150 311 16 +150 312 16 +150 313 16 +150 314 16 +150 315 16 +150 316 16 +150 317 16 +150 318 16 +150 319 16 +150 320 16 +150 321 16 +150 322 16 +150 323 16 +150 324 16 +150 325 16 +150 326 16 +150 327 16 +150 328 16 +150 329 16 +150 330 16 +150 331 16 +150 332 16 +150 333 16 +150 334 16 +150 335 16 +150 336 16 +150 337 16 +150 338 16 +150 339 16 +150 340 16 +150 341 16 +150 342 16 +150 343 16 +150 344 16 +150 345 16 +150 346 16 +150 347 16 +150 348 16 +150 349 16 +151 152 16 +151 153 16 +151 154 16 +151 155 16 +151 156 16 +151 157 16 +151 158 16 +151 159 16 +151 160 16 +151 161 16 +151 162 16 +151 163 16 +151 164 16 +151 165 16 +151 166 16 +151 167 16 +151 168 16 +151 169 16 +151 170 16 +151 171 16 +151 172 16 +151 173 16 +151 174 16 +151 175 16 +151 176 16 +151 177 16 +151 178 16 +151 179 16 +151 180 16 +151 181 16 +151 182 16 +151 183 16 +151 184 16 +151 185 16 +151 186 16 +151 187 16 +151 188 16 +151 189 16 +151 190 16 +151 191 16 +151 192 16 +151 193 16 +151 194 16 +151 195 16 +151 196 16 +151 197 16 +151 198 16 +151 199 16 +151 200 16 +151 201 16 +151 202 16 +151 203 16 +151 204 16 +151 205 16 +151 206 16 +151 207 16 +151 208 16 +151 209 16 +151 210 16 +151 211 16 +151 212 16 +151 213 16 +151 214 16 +151 215 16 +151 216 16 +151 217 16 +151 218 16 +151 219 16 +151 220 16 +151 221 16 +151 222 16 +151 223 16 +151 224 16 +151 225 16 +151 226 16 +151 227 16 +151 228 16 +151 229 16 +151 230 16 +151 231 16 +151 232 16 +151 233 16 +151 234 16 +151 235 16 +151 236 16 +151 237 16 +151 238 16 +151 239 16 +151 240 16 +151 241 16 +151 242 16 +151 243 16 +151 244 16 +151 245 16 +151 246 16 +151 247 16 +151 248 16 +151 249 16 +151 250 16 +151 251 16 +151 252 16 +151 253 16 +151 254 16 +151 255 16 +151 256 16 +151 257 16 +151 258 16 +151 259 16 +151 260 16 +151 261 16 +151 262 16 +151 263 16 +151 264 16 +151 265 16 +151 266 16 +151 267 16 +151 268 16 +151 269 16 +151 270 16 +151 271 16 +151 272 16 +151 273 16 +151 274 16 +151 275 16 +151 276 16 +151 277 16 +151 278 16 +151 279 16 +151 280 16 +151 281 16 +151 282 16 +151 283 16 +151 284 16 +151 285 16 +151 286 16 +151 287 16 +151 288 16 +151 289 16 +151 290 16 +151 291 16 +151 292 16 +151 293 16 +151 294 16 +151 295 16 +151 296 16 +151 297 16 +151 298 16 +151 299 16 +151 300 16 +151 301 16 +151 302 16 +151 303 16 +151 304 16 +151 305 16 +151 306 16 +151 307 16 +151 308 16 +151 309 16 +151 310 16 +151 311 16 +151 312 16 +151 313 16 +151 314 16 +151 315 16 +151 316 16 +151 317 16 +151 318 16 +151 319 16 +151 320 16 +151 321 16 +151 322 16 +151 323 16 +151 324 16 +151 325 16 +151 326 16 +151 327 16 +151 328 16 +151 329 16 +151 330 16 +151 331 16 +151 332 16 +151 333 16 +151 334 16 +151 335 16 +151 336 16 +151 337 16 +151 338 16 +151 339 16 +151 340 16 +151 341 16 +151 342 16 +151 343 16 +151 344 16 +151 345 16 +151 346 16 +151 347 16 +151 348 16 +151 349 16 +152 153 16 +152 154 16 +152 155 16 +152 156 16 +152 157 16 +152 158 16 +152 159 16 +152 160 16 +152 161 16 +152 162 16 +152 163 16 +152 164 16 +152 165 16 +152 166 16 +152 167 16 +152 168 16 +152 169 16 +152 170 16 +152 171 16 +152 172 16 +152 173 16 +152 174 16 +152 175 16 +152 176 16 +152 177 16 +152 178 16 +152 179 16 +152 180 16 +152 181 16 +152 182 16 +152 183 16 +152 184 16 +152 185 16 +152 186 16 +152 187 16 +152 188 16 +152 189 16 +152 190 16 +152 191 16 +152 192 16 +152 193 16 +152 194 16 +152 195 16 +152 196 16 +152 197 16 +152 198 16 +152 199 16 +152 200 16 +152 201 16 +152 202 16 +152 203 16 +152 204 16 +152 205 16 +152 206 16 +152 207 16 +152 208 16 +152 209 16 +152 210 16 +152 211 16 +152 212 16 +152 213 16 +152 214 16 +152 215 16 +152 216 16 +152 217 16 +152 218 16 +152 219 16 +152 220 16 +152 221 16 +152 222 16 +152 223 16 +152 224 16 +152 225 16 +152 226 16 +152 227 16 +152 228 16 +152 229 16 +152 230 16 +152 231 16 +152 232 16 +152 233 16 +152 234 16 +152 235 16 +152 236 16 +152 237 16 +152 238 16 +152 239 16 +152 240 16 +152 241 16 +152 242 16 +152 243 16 +152 244 16 +152 245 16 +152 246 16 +152 247 16 +152 248 16 +152 249 16 +152 250 16 +152 251 16 +152 252 16 +152 253 16 +152 254 16 +152 255 16 +152 256 16 +152 257 16 +152 258 16 +152 259 16 +152 260 16 +152 261 16 +152 262 16 +152 263 16 +152 264 16 +152 265 16 +152 266 16 +152 267 16 +152 268 16 +152 269 16 +152 270 16 +152 271 16 +152 272 16 +152 273 16 +152 274 16 +152 275 16 +152 276 16 +152 277 16 +152 278 16 +152 279 16 +152 280 16 +152 281 16 +152 282 16 +152 283 16 +152 284 16 +152 285 16 +152 286 16 +152 287 16 +152 288 16 +152 289 16 +152 290 16 +152 291 16 +152 292 16 +152 293 16 +152 294 16 +152 295 16 +152 296 16 +152 297 16 +152 298 16 +152 299 16 +152 300 16 +152 301 16 +152 302 16 +152 303 16 +152 304 16 +152 305 16 +152 306 16 +152 307 16 +152 308 16 +152 309 16 +152 310 16 +152 311 16 +152 312 16 +152 313 16 +152 314 16 +152 315 16 +152 316 16 +152 317 16 +152 318 16 +152 319 16 +152 320 16 +152 321 16 +152 322 16 +152 323 16 +152 324 16 +152 325 16 +152 326 16 +152 327 16 +152 328 16 +152 329 16 +152 330 16 +152 331 16 +152 332 16 +152 333 16 +152 334 16 +152 335 16 +152 336 16 +152 337 16 +152 338 16 +152 339 16 +152 340 16 +152 341 16 +152 342 16 +152 343 16 +152 344 16 +152 345 16 +152 346 16 +152 347 16 +152 348 16 +152 349 16 +153 154 16 +153 155 16 +153 156 16 +153 157 16 +153 158 16 +153 159 16 +153 160 16 +153 161 16 +153 162 16 +153 163 16 +153 164 16 +153 165 16 +153 166 16 +153 167 16 +153 168 16 +153 169 16 +153 170 16 +153 171 16 +153 172 16 +153 173 16 +153 174 16 +153 175 16 +153 176 16 +153 177 16 +153 178 16 +153 179 16 +153 180 16 +153 181 16 +153 182 16 +153 183 16 +153 184 16 +153 185 16 +153 186 16 +153 187 16 +153 188 16 +153 189 16 +153 190 16 +153 191 16 +153 192 16 +153 193 16 +153 194 16 +153 195 16 +153 196 16 +153 197 16 +153 198 16 +153 199 16 +153 200 16 +153 201 16 +153 202 16 +153 203 16 +153 204 16 +153 205 16 +153 206 16 +153 207 16 +153 208 16 +153 209 16 +153 210 16 +153 211 16 +153 212 16 +153 213 16 +153 214 16 +153 215 16 +153 216 16 +153 217 16 +153 218 16 +153 219 16 +153 220 16 +153 221 16 +153 222 16 +153 223 16 +153 224 16 +153 225 16 +153 226 16 +153 227 16 +153 228 16 +153 229 16 +153 230 16 +153 231 16 +153 232 16 +153 233 16 +153 234 16 +153 235 16 +153 236 16 +153 237 16 +153 238 16 +153 239 16 +153 240 16 +153 241 16 +153 242 16 +153 243 16 +153 244 16 +153 245 16 +153 246 16 +153 247 16 +153 248 16 +153 249 16 +153 250 16 +153 251 16 +153 252 16 +153 253 16 +153 254 16 +153 255 16 +153 256 16 +153 257 16 +153 258 16 +153 259 16 +153 260 16 +153 261 16 +153 262 16 +153 263 16 +153 264 16 +153 265 16 +153 266 16 +153 267 16 +153 268 16 +153 269 16 +153 270 16 +153 271 16 +153 272 16 +153 273 16 +153 274 16 +153 275 16 +153 276 16 +153 277 16 +153 278 16 +153 279 16 +153 280 16 +153 281 16 +153 282 16 +153 283 16 +153 284 16 +153 285 16 +153 286 16 +153 287 16 +153 288 16 +153 289 16 +153 290 16 +153 291 16 +153 292 16 +153 293 16 +153 294 16 +153 295 16 +153 296 16 +153 297 16 +153 298 16 +153 299 16 +153 300 16 +153 301 16 +153 302 16 +153 303 16 +153 304 16 +153 305 16 +153 306 16 +153 307 16 +153 308 16 +153 309 16 +153 310 16 +153 311 16 +153 312 16 +153 313 16 +153 314 16 +153 315 16 +153 316 16 +153 317 16 +153 318 16 +153 319 16 +153 320 16 +153 321 16 +153 322 16 +153 323 16 +153 324 16 +153 325 16 +153 326 16 +153 327 16 +153 328 16 +153 329 16 +153 330 16 +153 331 16 +153 332 16 +153 333 16 +153 334 16 +153 335 16 +153 336 16 +153 337 16 +153 338 16 +153 339 16 +153 340 16 +153 341 16 +153 342 16 +153 343 16 +153 344 16 +153 345 16 +153 346 16 +153 347 16 +153 348 16 +153 349 16 +154 155 16 +154 156 16 +154 157 16 +154 158 16 +154 159 16 +154 160 16 +154 161 16 +154 162 16 +154 163 16 +154 164 16 +154 165 16 +154 166 16 +154 167 16 +154 168 16 +154 169 16 +154 170 16 +154 171 16 +154 172 16 +154 173 16 +154 174 16 +154 175 16 +154 176 16 +154 177 16 +154 178 16 +154 179 16 +154 180 16 +154 181 16 +154 182 16 +154 183 16 +154 184 16 +154 185 16 +154 186 16 +154 187 16 +154 188 16 +154 189 16 +154 190 16 +154 191 16 +154 192 16 +154 193 16 +154 194 16 +154 195 16 +154 196 16 +154 197 16 +154 198 16 +154 199 16 +154 200 16 +154 201 16 +154 202 16 +154 203 16 +154 204 16 +154 205 16 +154 206 16 +154 207 16 +154 208 16 +154 209 16 +154 210 16 +154 211 16 +154 212 16 +154 213 16 +154 214 16 +154 215 16 +154 216 16 +154 217 16 +154 218 16 +154 219 16 +154 220 16 +154 221 16 +154 222 16 +154 223 16 +154 224 16 +154 225 16 +154 226 16 +154 227 16 +154 228 16 +154 229 16 +154 230 16 +154 231 16 +154 232 16 +154 233 16 +154 234 16 +154 235 16 +154 236 16 +154 237 16 +154 238 16 +154 239 16 +154 240 16 +154 241 16 +154 242 16 +154 243 16 +154 244 16 +154 245 16 +154 246 16 +154 247 16 +154 248 16 +154 249 16 +154 250 16 +154 251 16 +154 252 16 +154 253 16 +154 254 16 +154 255 16 +154 256 16 +154 257 16 +154 258 16 +154 259 16 +154 260 16 +154 261 16 +154 262 16 +154 263 16 +154 264 16 +154 265 16 +154 266 16 +154 267 16 +154 268 16 +154 269 16 +154 270 16 +154 271 16 +154 272 16 +154 273 16 +154 274 16 +154 275 16 +154 276 16 +154 277 16 +154 278 16 +154 279 16 +154 280 16 +154 281 16 +154 282 16 +154 283 16 +154 284 16 +154 285 16 +154 286 16 +154 287 16 +154 288 16 +154 289 16 +154 290 16 +154 291 16 +154 292 16 +154 293 16 +154 294 16 +154 295 16 +154 296 16 +154 297 16 +154 298 16 +154 299 16 +154 300 16 +154 301 16 +154 302 16 +154 303 16 +154 304 16 +154 305 16 +154 306 16 +154 307 16 +154 308 16 +154 309 16 +154 310 16 +154 311 16 +154 312 16 +154 313 16 +154 314 16 +154 315 16 +154 316 16 +154 317 16 +154 318 16 +154 319 16 +154 320 16 +154 321 16 +154 322 16 +154 323 16 +154 324 16 +154 325 16 +154 326 16 +154 327 16 +154 328 16 +154 329 16 +154 330 16 +154 331 16 +154 332 16 +154 333 16 +154 334 16 +154 335 16 +154 336 16 +154 337 16 +154 338 16 +154 339 16 +154 340 16 +154 341 16 +154 342 16 +154 343 16 +154 344 16 +154 345 16 +154 346 16 +154 347 16 +154 348 16 +154 349 16 +155 156 16 +155 157 16 +155 158 16 +155 159 16 +155 160 16 +155 161 16 +155 162 16 +155 163 16 +155 164 16 +155 165 16 +155 166 16 +155 167 16 +155 168 16 +155 169 16 +155 170 16 +155 171 16 +155 172 16 +155 173 16 +155 174 16 +155 175 16 +155 176 16 +155 177 16 +155 178 16 +155 179 16 +155 180 16 +155 181 16 +155 182 16 +155 183 16 +155 184 16 +155 185 16 +155 186 16 +155 187 16 +155 188 16 +155 189 16 +155 190 16 +155 191 16 +155 192 16 +155 193 16 +155 194 16 +155 195 16 +155 196 16 +155 197 16 +155 198 16 +155 199 16 +155 200 16 +155 201 16 +155 202 16 +155 203 16 +155 204 16 +155 205 16 +155 206 16 +155 207 16 +155 208 16 +155 209 16 +155 210 16 +155 211 16 +155 212 16 +155 213 16 +155 214 16 +155 215 16 +155 216 16 +155 217 16 +155 218 16 +155 219 16 +155 220 16 +155 221 16 +155 222 16 +155 223 16 +155 224 16 +155 225 16 +155 226 16 +155 227 16 +155 228 16 +155 229 16 +155 230 16 +155 231 16 +155 232 16 +155 233 16 +155 234 16 +155 235 16 +155 236 16 +155 237 16 +155 238 16 +155 239 16 +155 240 16 +155 241 16 +155 242 16 +155 243 16 +155 244 16 +155 245 16 +155 246 16 +155 247 16 +155 248 16 +155 249 16 +155 250 16 +155 251 16 +155 252 16 +155 253 16 +155 254 16 +155 255 16 +155 256 16 +155 257 16 +155 258 16 +155 259 16 +155 260 16 +155 261 16 +155 262 16 +155 263 16 +155 264 16 +155 265 16 +155 266 16 +155 267 16 +155 268 16 +155 269 16 +155 270 16 +155 271 16 +155 272 16 +155 273 16 +155 274 16 +155 275 16 +155 276 16 +155 277 16 +155 278 16 +155 279 16 +155 280 16 +155 281 16 +155 282 16 +155 283 16 +155 284 16 +155 285 16 +155 286 16 +155 287 16 +155 288 16 +155 289 16 +155 290 16 +155 291 16 +155 292 16 +155 293 16 +155 294 16 +155 295 16 +155 296 16 +155 297 16 +155 298 16 +155 299 16 +155 300 16 +155 301 16 +155 302 16 +155 303 16 +155 304 16 +155 305 16 +155 306 16 +155 307 16 +155 308 16 +155 309 16 +155 310 16 +155 311 16 +155 312 16 +155 313 16 +155 314 16 +155 315 16 +155 316 16 +155 317 16 +155 318 16 +155 319 16 +155 320 16 +155 321 16 +155 322 16 +155 323 16 +155 324 16 +155 325 16 +155 326 16 +155 327 16 +155 328 16 +155 329 16 +155 330 16 +155 331 16 +155 332 16 +155 333 16 +155 334 16 +155 335 16 +155 336 16 +155 337 16 +155 338 16 +155 339 16 +155 340 16 +155 341 16 +155 342 16 +155 343 16 +155 344 16 +155 345 16 +155 346 16 +155 347 16 +155 348 16 +155 349 16 +156 157 16 +156 158 16 +156 159 16 +156 160 16 +156 161 16 +156 162 16 +156 163 16 +156 164 16 +156 165 16 +156 166 16 +156 167 16 +156 168 16 +156 169 16 +156 170 16 +156 171 16 +156 172 16 +156 173 16 +156 174 16 +156 175 16 +156 176 16 +156 177 16 +156 178 16 +156 179 16 +156 180 16 +156 181 16 +156 182 16 +156 183 16 +156 184 16 +156 185 16 +156 186 16 +156 187 16 +156 188 16 +156 189 16 +156 190 16 +156 191 16 +156 192 16 +156 193 16 +156 194 16 +156 195 16 +156 196 16 +156 197 16 +156 198 16 +156 199 16 +156 200 16 +156 201 16 +156 202 16 +156 203 16 +156 204 16 +156 205 16 +156 206 16 +156 207 16 +156 208 16 +156 209 16 +156 210 16 +156 211 16 +156 212 16 +156 213 16 +156 214 16 +156 215 16 +156 216 16 +156 217 16 +156 218 16 +156 219 16 +156 220 16 +156 221 16 +156 222 16 +156 223 16 +156 224 16 +156 225 16 +156 226 16 +156 227 16 +156 228 16 +156 229 16 +156 230 16 +156 231 16 +156 232 16 +156 233 16 +156 234 16 +156 235 16 +156 236 16 +156 237 16 +156 238 16 +156 239 16 +156 240 16 +156 241 16 +156 242 16 +156 243 16 +156 244 16 +156 245 16 +156 246 16 +156 247 16 +156 248 16 +156 249 16 +156 250 16 +156 251 16 +156 252 16 +156 253 16 +156 254 16 +156 255 16 +156 256 16 +156 257 16 +156 258 16 +156 259 16 +156 260 16 +156 261 16 +156 262 16 +156 263 16 +156 264 16 +156 265 16 +156 266 16 +156 267 16 +156 268 16 +156 269 16 +156 270 16 +156 271 16 +156 272 16 +156 273 16 +156 274 16 +156 275 16 +156 276 16 +156 277 16 +156 278 16 +156 279 16 +156 280 16 +156 281 16 +156 282 16 +156 283 16 +156 284 16 +156 285 16 +156 286 16 +156 287 16 +156 288 16 +156 289 16 +156 290 16 +156 291 16 +156 292 16 +156 293 16 +156 294 16 +156 295 16 +156 296 16 +156 297 16 +156 298 16 +156 299 16 +156 300 16 +156 301 16 +156 302 16 +156 303 16 +156 304 16 +156 305 16 +156 306 16 +156 307 16 +156 308 16 +156 309 16 +156 310 16 +156 311 16 +156 312 16 +156 313 16 +156 314 16 +156 315 16 +156 316 16 +156 317 16 +156 318 16 +156 319 16 +156 320 16 +156 321 16 +156 322 16 +156 323 16 +156 324 16 +156 325 16 +156 326 16 +156 327 16 +156 328 16 +156 329 16 +156 330 16 +156 331 16 +156 332 16 +156 333 16 +156 334 16 +156 335 16 +156 336 16 +156 337 16 +156 338 16 +156 339 16 +156 340 16 +156 341 16 +156 342 16 +156 343 16 +156 344 16 +156 345 16 +156 346 16 +156 347 16 +156 348 16 +156 349 16 +157 158 16 +157 159 16 +157 160 16 +157 161 16 +157 162 16 +157 163 16 +157 164 16 +157 165 16 +157 166 16 +157 167 16 +157 168 16 +157 169 16 +157 170 16 +157 171 16 +157 172 16 +157 173 16 +157 174 16 +157 175 16 +157 176 16 +157 177 16 +157 178 16 +157 179 16 +157 180 16 +157 181 16 +157 182 16 +157 183 16 +157 184 16 +157 185 16 +157 186 16 +157 187 16 +157 188 16 +157 189 16 +157 190 16 +157 191 16 +157 192 16 +157 193 16 +157 194 16 +157 195 16 +157 196 16 +157 197 16 +157 198 16 +157 199 16 +157 200 16 +157 201 16 +157 202 16 +157 203 16 +157 204 16 +157 205 16 +157 206 16 +157 207 16 +157 208 16 +157 209 16 +157 210 16 +157 211 16 +157 212 16 +157 213 16 +157 214 16 +157 215 16 +157 216 16 +157 217 16 +157 218 16 +157 219 16 +157 220 16 +157 221 16 +157 222 16 +157 223 16 +157 224 16 +157 225 16 +157 226 16 +157 227 16 +157 228 16 +157 229 16 +157 230 16 +157 231 16 +157 232 16 +157 233 16 +157 234 16 +157 235 16 +157 236 16 +157 237 16 +157 238 16 +157 239 16 +157 240 16 +157 241 16 +157 242 16 +157 243 16 +157 244 16 +157 245 16 +157 246 16 +157 247 16 +157 248 16 +157 249 16 +157 250 16 +157 251 16 +157 252 16 +157 253 16 +157 254 16 +157 255 16 +157 256 16 +157 257 16 +157 258 16 +157 259 16 +157 260 16 +157 261 16 +157 262 16 +157 263 16 +157 264 16 +157 265 16 +157 266 16 +157 267 16 +157 268 16 +157 269 16 +157 270 16 +157 271 16 +157 272 16 +157 273 16 +157 274 16 +157 275 16 +157 276 16 +157 277 16 +157 278 16 +157 279 16 +157 280 16 +157 281 16 +157 282 16 +157 283 16 +157 284 16 +157 285 16 +157 286 16 +157 287 16 +157 288 16 +157 289 16 +157 290 16 +157 291 16 +157 292 16 +157 293 16 +157 294 16 +157 295 16 +157 296 16 +157 297 16 +157 298 16 +157 299 16 +157 300 16 +157 301 16 +157 302 16 +157 303 16 +157 304 16 +157 305 16 +157 306 16 +157 307 16 +157 308 16 +157 309 16 +157 310 16 +157 311 16 +157 312 16 +157 313 16 +157 314 16 +157 315 16 +157 316 16 +157 317 16 +157 318 16 +157 319 16 +157 320 16 +157 321 16 +157 322 16 +157 323 16 +157 324 16 +157 325 16 +157 326 16 +157 327 16 +157 328 16 +157 329 16 +157 330 16 +157 331 16 +157 332 16 +157 333 16 +157 334 16 +157 335 16 +157 336 16 +157 337 16 +157 338 16 +157 339 16 +157 340 16 +157 341 16 +157 342 16 +157 343 16 +157 344 16 +157 345 16 +157 346 16 +157 347 16 +157 348 16 +157 349 16 +158 159 16 +158 160 16 +158 161 16 +158 162 16 +158 163 16 +158 164 16 +158 165 16 +158 166 16 +158 167 16 +158 168 16 +158 169 16 +158 170 16 +158 171 16 +158 172 16 +158 173 16 +158 174 16 +158 175 16 +158 176 16 +158 177 16 +158 178 16 +158 179 16 +158 180 16 +158 181 16 +158 182 16 +158 183 16 +158 184 16 +158 185 16 +158 186 16 +158 187 16 +158 188 16 +158 189 16 +158 190 16 +158 191 16 +158 192 16 +158 193 16 +158 194 16 +158 195 16 +158 196 16 +158 197 16 +158 198 16 +158 199 16 +158 200 16 +158 201 16 +158 202 16 +158 203 16 +158 204 16 +158 205 16 +158 206 16 +158 207 16 +158 208 16 +158 209 16 +158 210 16 +158 211 16 +158 212 16 +158 213 16 +158 214 16 +158 215 16 +158 216 16 +158 217 16 +158 218 16 +158 219 16 +158 220 16 +158 221 16 +158 222 16 +158 223 16 +158 224 16 +158 225 16 +158 226 16 +158 227 16 +158 228 16 +158 229 16 +158 230 16 +158 231 16 +158 232 16 +158 233 16 +158 234 16 +158 235 16 +158 236 16 +158 237 16 +158 238 16 +158 239 16 +158 240 16 +158 241 16 +158 242 16 +158 243 16 +158 244 16 +158 245 16 +158 246 16 +158 247 16 +158 248 16 +158 249 16 +158 250 16 +158 251 16 +158 252 16 +158 253 16 +158 254 16 +158 255 16 +158 256 16 +158 257 16 +158 258 16 +158 259 16 +158 260 16 +158 261 16 +158 262 16 +158 263 16 +158 264 16 +158 265 16 +158 266 16 +158 267 16 +158 268 16 +158 269 16 +158 270 16 +158 271 16 +158 272 16 +158 273 16 +158 274 16 +158 275 16 +158 276 16 +158 277 16 +158 278 16 +158 279 16 +158 280 16 +158 281 16 +158 282 16 +158 283 16 +158 284 16 +158 285 16 +158 286 16 +158 287 16 +158 288 16 +158 289 16 +158 290 16 +158 291 16 +158 292 16 +158 293 16 +158 294 16 +158 295 16 +158 296 16 +158 297 16 +158 298 16 +158 299 16 +158 300 16 +158 301 16 +158 302 16 +158 303 16 +158 304 16 +158 305 16 +158 306 16 +158 307 16 +158 308 16 +158 309 16 +158 310 16 +158 311 16 +158 312 16 +158 313 16 +158 314 16 +158 315 16 +158 316 16 +158 317 16 +158 318 16 +158 319 16 +158 320 16 +158 321 16 +158 322 16 +158 323 16 +158 324 16 +158 325 16 +158 326 16 +158 327 16 +158 328 16 +158 329 16 +158 330 16 +158 331 16 +158 332 16 +158 333 16 +158 334 16 +158 335 16 +158 336 16 +158 337 16 +158 338 16 +158 339 16 +158 340 16 +158 341 16 +158 342 16 +158 343 16 +158 344 16 +158 345 16 +158 346 16 +158 347 16 +158 348 16 +158 349 16 +159 160 16 +159 161 16 +159 162 16 +159 163 16 +159 164 16 +159 165 16 +159 166 16 +159 167 16 +159 168 16 +159 169 16 +159 170 16 +159 171 16 +159 172 16 +159 173 16 +159 174 16 +159 175 16 +159 176 16 +159 177 16 +159 178 16 +159 179 16 +159 180 16 +159 181 16 +159 182 16 +159 183 16 +159 184 16 +159 185 16 +159 186 16 +159 187 16 +159 188 16 +159 189 16 +159 190 16 +159 191 16 +159 192 16 +159 193 16 +159 194 16 +159 195 16 +159 196 16 +159 197 16 +159 198 16 +159 199 16 +159 200 16 +159 201 16 +159 202 16 +159 203 16 +159 204 16 +159 205 16 +159 206 16 +159 207 16 +159 208 16 +159 209 16 +159 210 16 +159 211 16 +159 212 16 +159 213 16 +159 214 16 +159 215 16 +159 216 16 +159 217 16 +159 218 16 +159 219 16 +159 220 16 +159 221 16 +159 222 16 +159 223 16 +159 224 16 +159 225 16 +159 226 16 +159 227 16 +159 228 16 +159 229 16 +159 230 16 +159 231 16 +159 232 16 +159 233 16 +159 234 16 +159 235 16 +159 236 16 +159 237 16 +159 238 16 +159 239 16 +159 240 16 +159 241 16 +159 242 16 +159 243 16 +159 244 16 +159 245 16 +159 246 16 +159 247 16 +159 248 16 +159 249 16 +159 250 16 +159 251 16 +159 252 16 +159 253 16 +159 254 16 +159 255 16 +159 256 16 +159 257 16 +159 258 16 +159 259 16 +159 260 16 +159 261 16 +159 262 16 +159 263 16 +159 264 16 +159 265 16 +159 266 16 +159 267 16 +159 268 16 +159 269 16 +159 270 16 +159 271 16 +159 272 16 +159 273 16 +159 274 16 +159 275 16 +159 276 16 +159 277 16 +159 278 16 +159 279 16 +159 280 16 +159 281 16 +159 282 16 +159 283 16 +159 284 16 +159 285 16 +159 286 16 +159 287 16 +159 288 16 +159 289 16 +159 290 16 +159 291 16 +159 292 16 +159 293 16 +159 294 16 +159 295 16 +159 296 16 +159 297 16 +159 298 16 +159 299 16 +159 300 16 +159 301 16 +159 302 16 +159 303 16 +159 304 16 +159 305 16 +159 306 16 +159 307 16 +159 308 16 +159 309 16 +159 310 16 +159 311 16 +159 312 16 +159 313 16 +159 314 16 +159 315 16 +159 316 16 +159 317 16 +159 318 16 +159 319 16 +159 320 16 +159 321 16 +159 322 16 +159 323 16 +159 324 16 +159 325 16 +159 326 16 +159 327 16 +159 328 16 +159 329 16 +159 330 16 +159 331 16 +159 332 16 +159 333 16 +159 334 16 +159 335 16 +159 336 16 +159 337 16 +159 338 16 +159 339 16 +159 340 16 +159 341 16 +159 342 16 +159 343 16 +159 344 16 +159 345 16 +159 346 16 +159 347 16 +159 348 16 +159 349 16 +160 161 16 +160 162 16 +160 163 16 +160 164 16 +160 165 16 +160 166 16 +160 167 16 +160 168 16 +160 169 16 +160 170 16 +160 171 16 +160 172 16 +160 173 16 +160 174 16 +160 175 16 +160 176 16 +160 177 16 +160 178 16 +160 179 16 +160 180 16 +160 181 16 +160 182 16 +160 183 16 +160 184 16 +160 185 16 +160 186 16 +160 187 16 +160 188 16 +160 189 16 +160 190 16 +160 191 16 +160 192 16 +160 193 16 +160 194 16 +160 195 16 +160 196 16 +160 197 16 +160 198 16 +160 199 16 +160 200 16 +160 201 16 +160 202 16 +160 203 16 +160 204 16 +160 205 16 +160 206 16 +160 207 16 +160 208 16 +160 209 16 +160 210 16 +160 211 16 +160 212 16 +160 213 16 +160 214 16 +160 215 16 +160 216 16 +160 217 16 +160 218 16 +160 219 16 +160 220 16 +160 221 16 +160 222 16 +160 223 16 +160 224 16 +160 225 16 +160 226 16 +160 227 16 +160 228 16 +160 229 16 +160 230 16 +160 231 16 +160 232 16 +160 233 16 +160 234 16 +160 235 16 +160 236 16 +160 237 16 +160 238 16 +160 239 16 +160 240 16 +160 241 16 +160 242 16 +160 243 16 +160 244 16 +160 245 16 +160 246 16 +160 247 16 +160 248 16 +160 249 16 +160 250 16 +160 251 16 +160 252 16 +160 253 16 +160 254 16 +160 255 16 +160 256 16 +160 257 16 +160 258 16 +160 259 16 +160 260 16 +160 261 16 +160 262 16 +160 263 16 +160 264 16 +160 265 16 +160 266 16 +160 267 16 +160 268 16 +160 269 16 +160 270 16 +160 271 16 +160 272 16 +160 273 16 +160 274 16 +160 275 16 +160 276 16 +160 277 16 +160 278 16 +160 279 16 +160 280 16 +160 281 16 +160 282 16 +160 283 16 +160 284 16 +160 285 16 +160 286 16 +160 287 16 +160 288 16 +160 289 16 +160 290 16 +160 291 16 +160 292 16 +160 293 16 +160 294 16 +160 295 16 +160 296 16 +160 297 16 +160 298 16 +160 299 16 +160 300 16 +160 301 16 +160 302 16 +160 303 16 +160 304 16 +160 305 16 +160 306 16 +160 307 16 +160 308 16 +160 309 16 +160 310 16 +160 311 16 +160 312 16 +160 313 16 +160 314 16 +160 315 16 +160 316 16 +160 317 16 +160 318 16 +160 319 16 +160 320 16 +160 321 16 +160 322 16 +160 323 16 +160 324 16 +160 325 16 +160 326 16 +160 327 16 +160 328 16 +160 329 16 +160 330 16 +160 331 16 +160 332 16 +160 333 16 +160 334 16 +160 335 16 +160 336 16 +160 337 16 +160 338 16 +160 339 16 +160 340 16 +160 341 16 +160 342 16 +160 343 16 +160 344 16 +160 345 16 +160 346 16 +160 347 16 +160 348 16 +160 349 16 +161 162 16 +161 163 16 +161 164 16 +161 165 16 +161 166 16 +161 167 16 +161 168 16 +161 169 16 +161 170 16 +161 171 16 +161 172 16 +161 173 16 +161 174 16 +161 175 16 +161 176 16 +161 177 16 +161 178 16 +161 179 16 +161 180 16 +161 181 16 +161 182 16 +161 183 16 +161 184 16 +161 185 16 +161 186 16 +161 187 16 +161 188 16 +161 189 16 +161 190 16 +161 191 16 +161 192 16 +161 193 16 +161 194 16 +161 195 16 +161 196 16 +161 197 16 +161 198 16 +161 199 16 +161 200 16 +161 201 16 +161 202 16 +161 203 16 +161 204 16 +161 205 16 +161 206 16 +161 207 16 +161 208 16 +161 209 16 +161 210 16 +161 211 16 +161 212 16 +161 213 16 +161 214 16 +161 215 16 +161 216 16 +161 217 16 +161 218 16 +161 219 16 +161 220 16 +161 221 16 +161 222 16 +161 223 16 +161 224 16 +161 225 16 +161 226 16 +161 227 16 +161 228 16 +161 229 16 +161 230 16 +161 231 16 +161 232 16 +161 233 16 +161 234 16 +161 235 16 +161 236 16 +161 237 16 +161 238 16 +161 239 16 +161 240 16 +161 241 16 +161 242 16 +161 243 16 +161 244 16 +161 245 16 +161 246 16 +161 247 16 +161 248 16 +161 249 16 +161 250 16 +161 251 16 +161 252 16 +161 253 16 +161 254 16 +161 255 16 +161 256 16 +161 257 16 +161 258 16 +161 259 16 +161 260 16 +161 261 16 +161 262 16 +161 263 16 +161 264 16 +161 265 16 +161 266 16 +161 267 16 +161 268 16 +161 269 16 +161 270 16 +161 271 16 +161 272 16 +161 273 16 +161 274 16 +161 275 16 +161 276 16 +161 277 16 +161 278 16 +161 279 16 +161 280 16 +161 281 16 +161 282 16 +161 283 16 +161 284 16 +161 285 16 +161 286 16 +161 287 16 +161 288 16 +161 289 16 +161 290 16 +161 291 16 +161 292 16 +161 293 16 +161 294 16 +161 295 16 +161 296 16 +161 297 16 +161 298 16 +161 299 16 +161 300 16 +161 301 16 +161 302 16 +161 303 16 +161 304 16 +161 305 16 +161 306 16 +161 307 16 +161 308 16 +161 309 16 +161 310 16 +161 311 16 +161 312 16 +161 313 16 +161 314 16 +161 315 16 +161 316 16 +161 317 16 +161 318 16 +161 319 16 +161 320 16 +161 321 16 +161 322 16 +161 323 16 +161 324 16 +161 325 16 +161 326 16 +161 327 16 +161 328 16 +161 329 16 +161 330 16 +161 331 16 +161 332 16 +161 333 16 +161 334 16 +161 335 16 +161 336 16 +161 337 16 +161 338 16 +161 339 16 +161 340 16 +161 341 16 +161 342 16 +161 343 16 +161 344 16 +161 345 16 +161 346 16 +161 347 16 +161 348 16 +161 349 16 +162 163 16 +162 164 16 +162 165 16 +162 166 16 +162 167 16 +162 168 16 +162 169 16 +162 170 16 +162 171 16 +162 172 16 +162 173 16 +162 174 16 +162 175 16 +162 176 16 +162 177 16 +162 178 16 +162 179 16 +162 180 16 +162 181 16 +162 182 16 +162 183 16 +162 184 16 +162 185 16 +162 186 16 +162 187 16 +162 188 16 +162 189 16 +162 190 16 +162 191 16 +162 192 16 +162 193 16 +162 194 16 +162 195 16 +162 196 16 +162 197 16 +162 198 16 +162 199 16 +162 200 16 +162 201 16 +162 202 16 +162 203 16 +162 204 16 +162 205 16 +162 206 16 +162 207 16 +162 208 16 +162 209 16 +162 210 16 +162 211 16 +162 212 16 +162 213 16 +162 214 16 +162 215 16 +162 216 16 +162 217 16 +162 218 16 +162 219 16 +162 220 16 +162 221 16 +162 222 16 +162 223 16 +162 224 16 +162 225 16 +162 226 16 +162 227 16 +162 228 16 +162 229 16 +162 230 16 +162 231 16 +162 232 16 +162 233 16 +162 234 16 +162 235 16 +162 236 16 +162 237 16 +162 238 16 +162 239 16 +162 240 16 +162 241 16 +162 242 16 +162 243 16 +162 244 16 +162 245 16 +162 246 16 +162 247 16 +162 248 16 +162 249 16 +162 250 16 +162 251 16 +162 252 16 +162 253 16 +162 254 16 +162 255 16 +162 256 16 +162 257 16 +162 258 16 +162 259 16 +162 260 16 +162 261 16 +162 262 16 +162 263 16 +162 264 16 +162 265 16 +162 266 16 +162 267 16 +162 268 16 +162 269 16 +162 270 16 +162 271 16 +162 272 16 +162 273 16 +162 274 16 +162 275 16 +162 276 16 +162 277 16 +162 278 16 +162 279 16 +162 280 16 +162 281 16 +162 282 16 +162 283 16 +162 284 16 +162 285 16 +162 286 16 +162 287 16 +162 288 16 +162 289 16 +162 290 16 +162 291 16 +162 292 16 +162 293 16 +162 294 16 +162 295 16 +162 296 16 +162 297 16 +162 298 16 +162 299 16 +162 300 16 +162 301 16 +162 302 16 +162 303 16 +162 304 16 +162 305 16 +162 306 16 +162 307 16 +162 308 16 +162 309 16 +162 310 16 +162 311 16 +162 312 16 +162 313 16 +162 314 16 +162 315 16 +162 316 16 +162 317 16 +162 318 16 +162 319 16 +162 320 16 +162 321 16 +162 322 16 +162 323 16 +162 324 16 +162 325 16 +162 326 16 +162 327 16 +162 328 16 +162 329 16 +162 330 16 +162 331 16 +162 332 16 +162 333 16 +162 334 16 +162 335 16 +162 336 16 +162 337 16 +162 338 16 +162 339 16 +162 340 16 +162 341 16 +162 342 16 +162 343 16 +162 344 16 +162 345 16 +162 346 16 +162 347 16 +162 348 16 +162 349 16 +163 164 16 +163 165 16 +163 166 16 +163 167 16 +163 168 16 +163 169 16 +163 170 16 +163 171 16 +163 172 16 +163 173 16 +163 174 16 +163 175 16 +163 176 16 +163 177 16 +163 178 16 +163 179 16 +163 180 16 +163 181 16 +163 182 16 +163 183 16 +163 184 16 +163 185 16 +163 186 16 +163 187 16 +163 188 16 +163 189 16 +163 190 16 +163 191 16 +163 192 16 +163 193 16 +163 194 16 +163 195 16 +163 196 16 +163 197 16 +163 198 16 +163 199 16 +163 200 16 +163 201 16 +163 202 16 +163 203 16 +163 204 16 +163 205 16 +163 206 16 +163 207 16 +163 208 16 +163 209 16 +163 210 16 +163 211 16 +163 212 16 +163 213 16 +163 214 16 +163 215 16 +163 216 16 +163 217 16 +163 218 16 +163 219 16 +163 220 16 +163 221 16 +163 222 16 +163 223 16 +163 224 16 +163 225 16 +163 226 16 +163 227 16 +163 228 16 +163 229 16 +163 230 16 +163 231 16 +163 232 16 +163 233 16 +163 234 16 +163 235 16 +163 236 16 +163 237 16 +163 238 16 +163 239 16 +163 240 16 +163 241 16 +163 242 16 +163 243 16 +163 244 16 +163 245 16 +163 246 16 +163 247 16 +163 248 16 +163 249 16 +163 250 16 +163 251 16 +163 252 16 +163 253 16 +163 254 16 +163 255 16 +163 256 16 +163 257 16 +163 258 16 +163 259 16 +163 260 16 +163 261 16 +163 262 16 +163 263 16 +163 264 16 +163 265 16 +163 266 16 +163 267 16 +163 268 16 +163 269 16 +163 270 16 +163 271 16 +163 272 16 +163 273 16 +163 274 16 +163 275 16 +163 276 16 +163 277 16 +163 278 16 +163 279 16 +163 280 16 +163 281 16 +163 282 16 +163 283 16 +163 284 16 +163 285 16 +163 286 16 +163 287 16 +163 288 16 +163 289 16 +163 290 16 +163 291 16 +163 292 16 +163 293 16 +163 294 16 +163 295 16 +163 296 16 +163 297 16 +163 298 16 +163 299 16 +163 300 16 +163 301 16 +163 302 16 +163 303 16 +163 304 16 +163 305 16 +163 306 16 +163 307 16 +163 308 16 +163 309 16 +163 310 16 +163 311 16 +163 312 16 +163 313 16 +163 314 16 +163 315 16 +163 316 16 +163 317 16 +163 318 16 +163 319 16 +163 320 16 +163 321 16 +163 322 16 +163 323 16 +163 324 16 +163 325 16 +163 326 16 +163 327 16 +163 328 16 +163 329 16 +163 330 16 +163 331 16 +163 332 16 +163 333 16 +163 334 16 +163 335 16 +163 336 16 +163 337 16 +163 338 16 +163 339 16 +163 340 16 +163 341 16 +163 342 16 +163 343 16 +163 344 16 +163 345 16 +163 346 16 +163 347 16 +163 348 16 +163 349 16 +164 165 16 +164 166 16 +164 167 16 +164 168 16 +164 169 16 +164 170 16 +164 171 16 +164 172 16 +164 173 16 +164 174 16 +164 175 16 +164 176 16 +164 177 16 +164 178 16 +164 179 16 +164 180 16 +164 181 16 +164 182 16 +164 183 16 +164 184 16 +164 185 16 +164 186 16 +164 187 16 +164 188 16 +164 189 16 +164 190 16 +164 191 16 +164 192 16 +164 193 16 +164 194 16 +164 195 16 +164 196 16 +164 197 16 +164 198 16 +164 199 16 +164 200 16 +164 201 16 +164 202 16 +164 203 16 +164 204 16 +164 205 16 +164 206 16 +164 207 16 +164 208 16 +164 209 16 +164 210 16 +164 211 16 +164 212 16 +164 213 16 +164 214 16 +164 215 16 +164 216 16 +164 217 16 +164 218 16 +164 219 16 +164 220 16 +164 221 16 +164 222 16 +164 223 16 +164 224 16 +164 225 16 +164 226 16 +164 227 16 +164 228 16 +164 229 16 +164 230 16 +164 231 16 +164 232 16 +164 233 16 +164 234 16 +164 235 16 +164 236 16 +164 237 16 +164 238 16 +164 239 16 +164 240 16 +164 241 16 +164 242 16 +164 243 16 +164 244 16 +164 245 16 +164 246 16 +164 247 16 +164 248 16 +164 249 16 +164 250 16 +164 251 16 +164 252 16 +164 253 16 +164 254 16 +164 255 16 +164 256 16 +164 257 16 +164 258 16 +164 259 16 +164 260 16 +164 261 16 +164 262 16 +164 263 16 +164 264 16 +164 265 16 +164 266 16 +164 267 16 +164 268 16 +164 269 16 +164 270 16 +164 271 16 +164 272 16 +164 273 16 +164 274 16 +164 275 16 +164 276 16 +164 277 16 +164 278 16 +164 279 16 +164 280 16 +164 281 16 +164 282 16 +164 283 16 +164 284 16 +164 285 16 +164 286 16 +164 287 16 +164 288 16 +164 289 16 +164 290 16 +164 291 16 +164 292 16 +164 293 16 +164 294 16 +164 295 16 +164 296 16 +164 297 16 +164 298 16 +164 299 16 +164 300 16 +164 301 16 +164 302 16 +164 303 16 +164 304 16 +164 305 16 +164 306 16 +164 307 16 +164 308 16 +164 309 16 +164 310 16 +164 311 16 +164 312 16 +164 313 16 +164 314 16 +164 315 16 +164 316 16 +164 317 16 +164 318 16 +164 319 16 +164 320 16 +164 321 16 +164 322 16 +164 323 16 +164 324 16 +164 325 16 +164 326 16 +164 327 16 +164 328 16 +164 329 16 +164 330 16 +164 331 16 +164 332 16 +164 333 16 +164 334 16 +164 335 16 +164 336 16 +164 337 16 +164 338 16 +164 339 16 +164 340 16 +164 341 16 +164 342 16 +164 343 16 +164 344 16 +164 345 16 +164 346 16 +164 347 16 +164 348 16 +164 349 16 +165 166 16 +165 167 16 +165 168 16 +165 169 16 +165 170 16 +165 171 16 +165 172 16 +165 173 16 +165 174 16 +165 175 16 +165 176 16 +165 177 16 +165 178 16 +165 179 16 +165 180 16 +165 181 16 +165 182 16 +165 183 16 +165 184 16 +165 185 16 +165 186 16 +165 187 16 +165 188 16 +165 189 16 +165 190 16 +165 191 16 +165 192 16 +165 193 16 +165 194 16 +165 195 16 +165 196 16 +165 197 16 +165 198 16 +165 199 16 +165 200 16 +165 201 16 +165 202 16 +165 203 16 +165 204 16 +165 205 16 +165 206 16 +165 207 16 +165 208 16 +165 209 16 +165 210 16 +165 211 16 +165 212 16 +165 213 16 +165 214 16 +165 215 16 +165 216 16 +165 217 16 +165 218 16 +165 219 16 +165 220 16 +165 221 16 +165 222 16 +165 223 16 +165 224 16 +165 225 16 +165 226 16 +165 227 16 +165 228 16 +165 229 16 +165 230 16 +165 231 16 +165 232 16 +165 233 16 +165 234 16 +165 235 16 +165 236 16 +165 237 16 +165 238 16 +165 239 16 +165 240 16 +165 241 16 +165 242 16 +165 243 16 +165 244 16 +165 245 16 +165 246 16 +165 247 16 +165 248 16 +165 249 16 +165 250 16 +165 251 16 +165 252 16 +165 253 16 +165 254 16 +165 255 16 +165 256 16 +165 257 16 +165 258 16 +165 259 16 +165 260 16 +165 261 16 +165 262 16 +165 263 16 +165 264 16 +165 265 16 +165 266 16 +165 267 16 +165 268 16 +165 269 16 +165 270 16 +165 271 16 +165 272 16 +165 273 16 +165 274 16 +165 275 16 +165 276 16 +165 277 16 +165 278 16 +165 279 16 +165 280 16 +165 281 16 +165 282 16 +165 283 16 +165 284 16 +165 285 16 +165 286 16 +165 287 16 +165 288 16 +165 289 16 +165 290 16 +165 291 16 +165 292 16 +165 293 16 +165 294 16 +165 295 16 +165 296 16 +165 297 16 +165 298 16 +165 299 16 +165 300 16 +165 301 16 +165 302 16 +165 303 16 +165 304 16 +165 305 16 +165 306 16 +165 307 16 +165 308 16 +165 309 16 +165 310 16 +165 311 16 +165 312 16 +165 313 16 +165 314 16 +165 315 16 +165 316 16 +165 317 16 +165 318 16 +165 319 16 +165 320 16 +165 321 16 +165 322 16 +165 323 16 +165 324 16 +165 325 16 +165 326 16 +165 327 16 +165 328 16 +165 329 16 +165 330 16 +165 331 16 +165 332 16 +165 333 16 +165 334 16 +165 335 16 +165 336 16 +165 337 16 +165 338 16 +165 339 16 +165 340 16 +165 341 16 +165 342 16 +165 343 16 +165 344 16 +165 345 16 +165 346 16 +165 347 16 +165 348 16 +165 349 16 +166 167 16 +166 168 16 +166 169 16 +166 170 16 +166 171 16 +166 172 16 +166 173 16 +166 174 16 +166 175 16 +166 176 16 +166 177 16 +166 178 16 +166 179 16 +166 180 16 +166 181 16 +166 182 16 +166 183 16 +166 184 16 +166 185 16 +166 186 16 +166 187 16 +166 188 16 +166 189 16 +166 190 16 +166 191 16 +166 192 16 +166 193 16 +166 194 16 +166 195 16 +166 196 16 +166 197 16 +166 198 16 +166 199 16 +166 200 16 +166 201 16 +166 202 16 +166 203 16 +166 204 16 +166 205 16 +166 206 16 +166 207 16 +166 208 16 +166 209 16 +166 210 16 +166 211 16 +166 212 16 +166 213 16 +166 214 16 +166 215 16 +166 216 16 +166 217 16 +166 218 16 +166 219 16 +166 220 16 +166 221 16 +166 222 16 +166 223 16 +166 224 16 +166 225 16 +166 226 16 +166 227 16 +166 228 16 +166 229 16 +166 230 16 +166 231 16 +166 232 16 +166 233 16 +166 234 16 +166 235 16 +166 236 16 +166 237 16 +166 238 16 +166 239 16 +166 240 16 +166 241 16 +166 242 16 +166 243 16 +166 244 16 +166 245 16 +166 246 16 +166 247 16 +166 248 16 +166 249 16 +166 250 16 +166 251 16 +166 252 16 +166 253 16 +166 254 16 +166 255 16 +166 256 16 +166 257 16 +166 258 16 +166 259 16 +166 260 16 +166 261 16 +166 262 16 +166 263 16 +166 264 16 +166 265 16 +166 266 16 +166 267 16 +166 268 16 +166 269 16 +166 270 16 +166 271 16 +166 272 16 +166 273 16 +166 274 16 +166 275 16 +166 276 16 +166 277 16 +166 278 16 +166 279 16 +166 280 16 +166 281 16 +166 282 16 +166 283 16 +166 284 16 +166 285 16 +166 286 16 +166 287 16 +166 288 16 +166 289 16 +166 290 16 +166 291 16 +166 292 16 +166 293 16 +166 294 16 +166 295 16 +166 296 16 +166 297 16 +166 298 16 +166 299 16 +166 300 16 +166 301 16 +166 302 16 +166 303 16 +166 304 16 +166 305 16 +166 306 16 +166 307 16 +166 308 16 +166 309 16 +166 310 16 +166 311 16 +166 312 16 +166 313 16 +166 314 16 +166 315 16 +166 316 16 +166 317 16 +166 318 16 +166 319 16 +166 320 16 +166 321 16 +166 322 16 +166 323 16 +166 324 16 +166 325 16 +166 326 16 +166 327 16 +166 328 16 +166 329 16 +166 330 16 +166 331 16 +166 332 16 +166 333 16 +166 334 16 +166 335 16 +166 336 16 +166 337 16 +166 338 16 +166 339 16 +166 340 16 +166 341 16 +166 342 16 +166 343 16 +166 344 16 +166 345 16 +166 346 16 +166 347 16 +166 348 16 +166 349 16 +167 168 16 +167 169 16 +167 170 16 +167 171 16 +167 172 16 +167 173 16 +167 174 16 +167 175 16 +167 176 16 +167 177 16 +167 178 16 +167 179 16 +167 180 16 +167 181 16 +167 182 16 +167 183 16 +167 184 16 +167 185 16 +167 186 16 +167 187 16 +167 188 16 +167 189 16 +167 190 16 +167 191 16 +167 192 16 +167 193 16 +167 194 16 +167 195 16 +167 196 16 +167 197 16 +167 198 16 +167 199 16 +167 200 16 +167 201 16 +167 202 16 +167 203 16 +167 204 16 +167 205 16 +167 206 16 +167 207 16 +167 208 16 +167 209 16 +167 210 16 +167 211 16 +167 212 16 +167 213 16 +167 214 16 +167 215 16 +167 216 16 +167 217 16 +167 218 16 +167 219 16 +167 220 16 +167 221 16 +167 222 16 +167 223 16 +167 224 16 +167 225 16 +167 226 16 +167 227 16 +167 228 16 +167 229 16 +167 230 16 +167 231 16 +167 232 16 +167 233 16 +167 234 16 +167 235 16 +167 236 16 +167 237 16 +167 238 16 +167 239 16 +167 240 16 +167 241 16 +167 242 16 +167 243 16 +167 244 16 +167 245 16 +167 246 16 +167 247 16 +167 248 16 +167 249 16 +167 250 16 +167 251 16 +167 252 16 +167 253 16 +167 254 16 +167 255 16 +167 256 16 +167 257 16 +167 258 16 +167 259 16 +167 260 16 +167 261 16 +167 262 16 +167 263 16 +167 264 16 +167 265 16 +167 266 16 +167 267 16 +167 268 16 +167 269 16 +167 270 16 +167 271 16 +167 272 16 +167 273 16 +167 274 16 +167 275 16 +167 276 16 +167 277 16 +167 278 16 +167 279 16 +167 280 16 +167 281 16 +167 282 16 +167 283 16 +167 284 16 +167 285 16 +167 286 16 +167 287 16 +167 288 16 +167 289 16 +167 290 16 +167 291 16 +167 292 16 +167 293 16 +167 294 16 +167 295 16 +167 296 16 +167 297 16 +167 298 16 +167 299 16 +167 300 16 +167 301 16 +167 302 16 +167 303 16 +167 304 16 +167 305 16 +167 306 16 +167 307 16 +167 308 16 +167 309 16 +167 310 16 +167 311 16 +167 312 16 +167 313 16 +167 314 16 +167 315 16 +167 316 16 +167 317 16 +167 318 16 +167 319 16 +167 320 16 +167 321 16 +167 322 16 +167 323 16 +167 324 16 +167 325 16 +167 326 16 +167 327 16 +167 328 16 +167 329 16 +167 330 16 +167 331 16 +167 332 16 +167 333 16 +167 334 16 +167 335 16 +167 336 16 +167 337 16 +167 338 16 +167 339 16 +167 340 16 +167 341 16 +167 342 16 +167 343 16 +167 344 16 +167 345 16 +167 346 16 +167 347 16 +167 348 16 +167 349 16 +168 169 16 +168 170 16 +168 171 16 +168 172 16 +168 173 16 +168 174 16 +168 175 16 +168 176 16 +168 177 16 +168 178 16 +168 179 16 +168 180 16 +168 181 16 +168 182 16 +168 183 16 +168 184 16 +168 185 16 +168 186 16 +168 187 16 +168 188 16 +168 189 16 +168 190 16 +168 191 16 +168 192 16 +168 193 16 +168 194 16 +168 195 16 +168 196 16 +168 197 16 +168 198 16 +168 199 16 +168 200 16 +168 201 16 +168 202 16 +168 203 16 +168 204 16 +168 205 16 +168 206 16 +168 207 16 +168 208 16 +168 209 16 +168 210 16 +168 211 16 +168 212 16 +168 213 16 +168 214 16 +168 215 16 +168 216 16 +168 217 16 +168 218 16 +168 219 16 +168 220 16 +168 221 16 +168 222 16 +168 223 16 +168 224 16 +168 225 16 +168 226 16 +168 227 16 +168 228 16 +168 229 16 +168 230 16 +168 231 16 +168 232 16 +168 233 16 +168 234 16 +168 235 16 +168 236 16 +168 237 16 +168 238 16 +168 239 16 +168 240 16 +168 241 16 +168 242 16 +168 243 16 +168 244 16 +168 245 16 +168 246 16 +168 247 16 +168 248 16 +168 249 16 +168 250 16 +168 251 16 +168 252 16 +168 253 16 +168 254 16 +168 255 16 +168 256 16 +168 257 16 +168 258 16 +168 259 16 +168 260 16 +168 261 16 +168 262 16 +168 263 16 +168 264 16 +168 265 16 +168 266 16 +168 267 16 +168 268 16 +168 269 16 +168 270 16 +168 271 16 +168 272 16 +168 273 16 +168 274 16 +168 275 16 +168 276 16 +168 277 16 +168 278 16 +168 279 16 +168 280 16 +168 281 16 +168 282 16 +168 283 16 +168 284 16 +168 285 16 +168 286 16 +168 287 16 +168 288 16 +168 289 16 +168 290 16 +168 291 16 +168 292 16 +168 293 16 +168 294 16 +168 295 16 +168 296 16 +168 297 16 +168 298 16 +168 299 16 +168 300 16 +168 301 16 +168 302 16 +168 303 16 +168 304 16 +168 305 16 +168 306 16 +168 307 16 +168 308 16 +168 309 16 +168 310 16 +168 311 16 +168 312 16 +168 313 16 +168 314 16 +168 315 16 +168 316 16 +168 317 16 +168 318 16 +168 319 16 +168 320 16 +168 321 16 +168 322 16 +168 323 16 +168 324 16 +168 325 16 +168 326 16 +168 327 16 +168 328 16 +168 329 16 +168 330 16 +168 331 16 +168 332 16 +168 333 16 +168 334 16 +168 335 16 +168 336 16 +168 337 16 +168 338 16 +168 339 16 +168 340 16 +168 341 16 +168 342 16 +168 343 16 +168 344 16 +168 345 16 +168 346 16 +168 347 16 +168 348 16 +168 349 16 +169 170 16 +169 171 16 +169 172 16 +169 173 16 +169 174 16 +169 175 16 +169 176 16 +169 177 16 +169 178 16 +169 179 16 +169 180 16 +169 181 16 +169 182 16 +169 183 16 +169 184 16 +169 185 16 +169 186 16 +169 187 16 +169 188 16 +169 189 16 +169 190 16 +169 191 16 +169 192 16 +169 193 16 +169 194 16 +169 195 16 +169 196 16 +169 197 16 +169 198 16 +169 199 16 +169 200 16 +169 201 16 +169 202 16 +169 203 16 +169 204 16 +169 205 16 +169 206 16 +169 207 16 +169 208 16 +169 209 16 +169 210 16 +169 211 16 +169 212 16 +169 213 16 +169 214 16 +169 215 16 +169 216 16 +169 217 16 +169 218 16 +169 219 16 +169 220 16 +169 221 16 +169 222 16 +169 223 16 +169 224 16 +169 225 16 +169 226 16 +169 227 16 +169 228 16 +169 229 16 +169 230 16 +169 231 16 +169 232 16 +169 233 16 +169 234 16 +169 235 16 +169 236 16 +169 237 16 +169 238 16 +169 239 16 +169 240 16 +169 241 16 +169 242 16 +169 243 16 +169 244 16 +169 245 16 +169 246 16 +169 247 16 +169 248 16 +169 249 16 +169 250 16 +169 251 16 +169 252 16 +169 253 16 +169 254 16 +169 255 16 +169 256 16 +169 257 16 +169 258 16 +169 259 16 +169 260 16 +169 261 16 +169 262 16 +169 263 16 +169 264 16 +169 265 16 +169 266 16 +169 267 16 +169 268 16 +169 269 16 +169 270 16 +169 271 16 +169 272 16 +169 273 16 +169 274 16 +169 275 16 +169 276 16 +169 277 16 +169 278 16 +169 279 16 +169 280 16 +169 281 16 +169 282 16 +169 283 16 +169 284 16 +169 285 16 +169 286 16 +169 287 16 +169 288 16 +169 289 16 +169 290 16 +169 291 16 +169 292 16 +169 293 16 +169 294 16 +169 295 16 +169 296 16 +169 297 16 +169 298 16 +169 299 16 +169 300 16 +169 301 16 +169 302 16 +169 303 16 +169 304 16 +169 305 16 +169 306 16 +169 307 16 +169 308 16 +169 309 16 +169 310 16 +169 311 16 +169 312 16 +169 313 16 +169 314 16 +169 315 16 +169 316 16 +169 317 16 +169 318 16 +169 319 16 +169 320 16 +169 321 16 +169 322 16 +169 323 16 +169 324 16 +169 325 16 +169 326 16 +169 327 16 +169 328 16 +169 329 16 +169 330 16 +169 331 16 +169 332 16 +169 333 16 +169 334 16 +169 335 16 +169 336 16 +169 337 16 +169 338 16 +169 339 16 +169 340 16 +169 341 16 +169 342 16 +169 343 16 +169 344 16 +169 345 16 +169 346 16 +169 347 16 +169 348 16 +169 349 16 +170 171 16 +170 172 16 +170 173 16 +170 174 16 +170 175 16 +170 176 16 +170 177 16 +170 178 16 +170 179 16 +170 180 16 +170 181 16 +170 182 16 +170 183 16 +170 184 16 +170 185 16 +170 186 16 +170 187 16 +170 188 16 +170 189 16 +170 190 16 +170 191 16 +170 192 16 +170 193 16 +170 194 16 +170 195 16 +170 196 16 +170 197 16 +170 198 16 +170 199 16 +170 200 16 +170 201 16 +170 202 16 +170 203 16 +170 204 16 +170 205 16 +170 206 16 +170 207 16 +170 208 16 +170 209 16 +170 210 16 +170 211 16 +170 212 16 +170 213 16 +170 214 16 +170 215 16 +170 216 16 +170 217 16 +170 218 16 +170 219 16 +170 220 16 +170 221 16 +170 222 16 +170 223 16 +170 224 16 +170 225 16 +170 226 16 +170 227 16 +170 228 16 +170 229 16 +170 230 16 +170 231 16 +170 232 16 +170 233 16 +170 234 16 +170 235 16 +170 236 16 +170 237 16 +170 238 16 +170 239 16 +170 240 16 +170 241 16 +170 242 16 +170 243 16 +170 244 16 +170 245 16 +170 246 16 +170 247 16 +170 248 16 +170 249 16 +170 250 16 +170 251 16 +170 252 16 +170 253 16 +170 254 16 +170 255 16 +170 256 16 +170 257 16 +170 258 16 +170 259 16 +170 260 16 +170 261 16 +170 262 16 +170 263 16 +170 264 16 +170 265 16 +170 266 16 +170 267 16 +170 268 16 +170 269 16 +170 270 16 +170 271 16 +170 272 16 +170 273 16 +170 274 16 +170 275 16 +170 276 16 +170 277 16 +170 278 16 +170 279 16 +170 280 16 +170 281 16 +170 282 16 +170 283 16 +170 284 16 +170 285 16 +170 286 16 +170 287 16 +170 288 16 +170 289 16 +170 290 16 +170 291 16 +170 292 16 +170 293 16 +170 294 16 +170 295 16 +170 296 16 +170 297 16 +170 298 16 +170 299 16 +170 300 16 +170 301 16 +170 302 16 +170 303 16 +170 304 16 +170 305 16 +170 306 16 +170 307 16 +170 308 16 +170 309 16 +170 310 16 +170 311 16 +170 312 16 +170 313 16 +170 314 16 +170 315 16 +170 316 16 +170 317 16 +170 318 16 +170 319 16 +170 320 16 +170 321 16 +170 322 16 +170 323 16 +170 324 16 +170 325 16 +170 326 16 +170 327 16 +170 328 16 +170 329 16 +170 330 16 +170 331 16 +170 332 16 +170 333 16 +170 334 16 +170 335 16 +170 336 16 +170 337 16 +170 338 16 +170 339 16 +170 340 16 +170 341 16 +170 342 16 +170 343 16 +170 344 16 +170 345 16 +170 346 16 +170 347 16 +170 348 16 +170 349 16 +171 172 16 +171 173 16 +171 174 16 +171 175 16 +171 176 16 +171 177 16 +171 178 16 +171 179 16 +171 180 16 +171 181 16 +171 182 16 +171 183 16 +171 184 16 +171 185 16 +171 186 16 +171 187 16 +171 188 16 +171 189 16 +171 190 16 +171 191 16 +171 192 16 +171 193 16 +171 194 16 +171 195 16 +171 196 16 +171 197 16 +171 198 16 +171 199 16 +171 200 16 +171 201 16 +171 202 16 +171 203 16 +171 204 16 +171 205 16 +171 206 16 +171 207 16 +171 208 16 +171 209 16 +171 210 16 +171 211 16 +171 212 16 +171 213 16 +171 214 16 +171 215 16 +171 216 16 +171 217 16 +171 218 16 +171 219 16 +171 220 16 +171 221 16 +171 222 16 +171 223 16 +171 224 16 +171 225 16 +171 226 16 +171 227 16 +171 228 16 +171 229 16 +171 230 16 +171 231 16 +171 232 16 +171 233 16 +171 234 16 +171 235 16 +171 236 16 +171 237 16 +171 238 16 +171 239 16 +171 240 16 +171 241 16 +171 242 16 +171 243 16 +171 244 16 +171 245 16 +171 246 16 +171 247 16 +171 248 16 +171 249 16 +171 250 16 +171 251 16 +171 252 16 +171 253 16 +171 254 16 +171 255 16 +171 256 16 +171 257 16 +171 258 16 +171 259 16 +171 260 16 +171 261 16 +171 262 16 +171 263 16 +171 264 16 +171 265 16 +171 266 16 +171 267 16 +171 268 16 +171 269 16 +171 270 16 +171 271 16 +171 272 16 +171 273 16 +171 274 16 +171 275 16 +171 276 16 +171 277 16 +171 278 16 +171 279 16 +171 280 16 +171 281 16 +171 282 16 +171 283 16 +171 284 16 +171 285 16 +171 286 16 +171 287 16 +171 288 16 +171 289 16 +171 290 16 +171 291 16 +171 292 16 +171 293 16 +171 294 16 +171 295 16 +171 296 16 +171 297 16 +171 298 16 +171 299 16 +171 300 16 +171 301 16 +171 302 16 +171 303 16 +171 304 16 +171 305 16 +171 306 16 +171 307 16 +171 308 16 +171 309 16 +171 310 16 +171 311 16 +171 312 16 +171 313 16 +171 314 16 +171 315 16 +171 316 16 +171 317 16 +171 318 16 +171 319 16 +171 320 16 +171 321 16 +171 322 16 +171 323 16 +171 324 16 +171 325 16 +171 326 16 +171 327 16 +171 328 16 +171 329 16 +171 330 16 +171 331 16 +171 332 16 +171 333 16 +171 334 16 +171 335 16 +171 336 16 +171 337 16 +171 338 16 +171 339 16 +171 340 16 +171 341 16 +171 342 16 +171 343 16 +171 344 16 +171 345 16 +171 346 16 +171 347 16 +171 348 16 +171 349 16 +172 173 16 +172 174 16 +172 175 16 +172 176 16 +172 177 16 +172 178 16 +172 179 16 +172 180 16 +172 181 16 +172 182 16 +172 183 16 +172 184 16 +172 185 16 +172 186 16 +172 187 16 +172 188 16 +172 189 16 +172 190 16 +172 191 16 +172 192 16 +172 193 16 +172 194 16 +172 195 16 +172 196 16 +172 197 16 +172 198 16 +172 199 16 +172 200 16 +172 201 16 +172 202 16 +172 203 16 +172 204 16 +172 205 16 +172 206 16 +172 207 16 +172 208 16 +172 209 16 +172 210 16 +172 211 16 +172 212 16 +172 213 16 +172 214 16 +172 215 16 +172 216 16 +172 217 16 +172 218 16 +172 219 16 +172 220 16 +172 221 16 +172 222 16 +172 223 16 +172 224 16 +172 225 16 +172 226 16 +172 227 16 +172 228 16 +172 229 16 +172 230 16 +172 231 16 +172 232 16 +172 233 16 +172 234 16 +172 235 16 +172 236 16 +172 237 16 +172 238 16 +172 239 16 +172 240 16 +172 241 16 +172 242 16 +172 243 16 +172 244 16 +172 245 16 +172 246 16 +172 247 16 +172 248 16 +172 249 16 +172 250 16 +172 251 16 +172 252 16 +172 253 16 +172 254 16 +172 255 16 +172 256 16 +172 257 16 +172 258 16 +172 259 16 +172 260 16 +172 261 16 +172 262 16 +172 263 16 +172 264 16 +172 265 16 +172 266 16 +172 267 16 +172 268 16 +172 269 16 +172 270 16 +172 271 16 +172 272 16 +172 273 16 +172 274 16 +172 275 16 +172 276 16 +172 277 16 +172 278 16 +172 279 16 +172 280 16 +172 281 16 +172 282 16 +172 283 16 +172 284 16 +172 285 16 +172 286 16 +172 287 16 +172 288 16 +172 289 16 +172 290 16 +172 291 16 +172 292 16 +172 293 16 +172 294 16 +172 295 16 +172 296 16 +172 297 16 +172 298 16 +172 299 16 +172 300 16 +172 301 16 +172 302 16 +172 303 16 +172 304 16 +172 305 16 +172 306 16 +172 307 16 +172 308 16 +172 309 16 +172 310 16 +172 311 16 +172 312 16 +172 313 16 +172 314 16 +172 315 16 +172 316 16 +172 317 16 +172 318 16 +172 319 16 +172 320 16 +172 321 16 +172 322 16 +172 323 16 +172 324 16 +172 325 16 +172 326 16 +172 327 16 +172 328 16 +172 329 16 +172 330 16 +172 331 16 +172 332 16 +172 333 16 +172 334 16 +172 335 16 +172 336 16 +172 337 16 +172 338 16 +172 339 16 +172 340 16 +172 341 16 +172 342 16 +172 343 16 +172 344 16 +172 345 16 +172 346 16 +172 347 16 +172 348 16 +172 349 16 +173 174 16 +173 175 16 +173 176 16 +173 177 16 +173 178 16 +173 179 16 +173 180 16 +173 181 16 +173 182 16 +173 183 16 +173 184 16 +173 185 16 +173 186 16 +173 187 16 +173 188 16 +173 189 16 +173 190 16 +173 191 16 +173 192 16 +173 193 16 +173 194 16 +173 195 16 +173 196 16 +173 197 16 +173 198 16 +173 199 16 +173 200 16 +173 201 16 +173 202 16 +173 203 16 +173 204 16 +173 205 16 +173 206 16 +173 207 16 +173 208 16 +173 209 16 +173 210 16 +173 211 16 +173 212 16 +173 213 16 +173 214 16 +173 215 16 +173 216 16 +173 217 16 +173 218 16 +173 219 16 +173 220 16 +173 221 16 +173 222 16 +173 223 16 +173 224 16 +173 225 16 +173 226 16 +173 227 16 +173 228 16 +173 229 16 +173 230 16 +173 231 16 +173 232 16 +173 233 16 +173 234 16 +173 235 16 +173 236 16 +173 237 16 +173 238 16 +173 239 16 +173 240 16 +173 241 16 +173 242 16 +173 243 16 +173 244 16 +173 245 16 +173 246 16 +173 247 16 +173 248 16 +173 249 16 +173 250 16 +173 251 16 +173 252 16 +173 253 16 +173 254 16 +173 255 16 +173 256 16 +173 257 16 +173 258 16 +173 259 16 +173 260 16 +173 261 16 +173 262 16 +173 263 16 +173 264 16 +173 265 16 +173 266 16 +173 267 16 +173 268 16 +173 269 16 +173 270 16 +173 271 16 +173 272 16 +173 273 16 +173 274 16 +173 275 16 +173 276 16 +173 277 16 +173 278 16 +173 279 16 +173 280 16 +173 281 16 +173 282 16 +173 283 16 +173 284 16 +173 285 16 +173 286 16 +173 287 16 +173 288 16 +173 289 16 +173 290 16 +173 291 16 +173 292 16 +173 293 16 +173 294 16 +173 295 16 +173 296 16 +173 297 16 +173 298 16 +173 299 16 +173 300 16 +173 301 16 +173 302 16 +173 303 16 +173 304 16 +173 305 16 +173 306 16 +173 307 16 +173 308 16 +173 309 16 +173 310 16 +173 311 16 +173 312 16 +173 313 16 +173 314 16 +173 315 16 +173 316 16 +173 317 16 +173 318 16 +173 319 16 +173 320 16 +173 321 16 +173 322 16 +173 323 16 +173 324 16 +173 325 16 +173 326 16 +173 327 16 +173 328 16 +173 329 16 +173 330 16 +173 331 16 +173 332 16 +173 333 16 +173 334 16 +173 335 16 +173 336 16 +173 337 16 +173 338 16 +173 339 16 +173 340 16 +173 341 16 +173 342 16 +173 343 16 +173 344 16 +173 345 16 +173 346 16 +173 347 16 +173 348 16 +173 349 16 +174 175 16 +174 176 16 +174 177 16 +174 178 16 +174 179 16 +174 180 16 +174 181 16 +174 182 16 +174 183 16 +174 184 16 +174 185 16 +174 186 16 +174 187 16 +174 188 16 +174 189 16 +174 190 16 +174 191 16 +174 192 16 +174 193 16 +174 194 16 +174 195 16 +174 196 16 +174 197 16 +174 198 16 +174 199 16 +174 200 16 +174 201 16 +174 202 16 +174 203 16 +174 204 16 +174 205 16 +174 206 16 +174 207 16 +174 208 16 +174 209 16 +174 210 16 +174 211 16 +174 212 16 +174 213 16 +174 214 16 +174 215 16 +174 216 16 +174 217 16 +174 218 16 +174 219 16 +174 220 16 +174 221 16 +174 222 16 +174 223 16 +174 224 16 +174 225 16 +174 226 16 +174 227 16 +174 228 16 +174 229 16 +174 230 16 +174 231 16 +174 232 16 +174 233 16 +174 234 16 +174 235 16 +174 236 16 +174 237 16 +174 238 16 +174 239 16 +174 240 16 +174 241 16 +174 242 16 +174 243 16 +174 244 16 +174 245 16 +174 246 16 +174 247 16 +174 248 16 +174 249 16 +174 250 16 +174 251 16 +174 252 16 +174 253 16 +174 254 16 +174 255 16 +174 256 16 +174 257 16 +174 258 16 +174 259 16 +174 260 16 +174 261 16 +174 262 16 +174 263 16 +174 264 16 +174 265 16 +174 266 16 +174 267 16 +174 268 16 +174 269 16 +174 270 16 +174 271 16 +174 272 16 +174 273 16 +174 274 16 +174 275 16 +174 276 16 +174 277 16 +174 278 16 +174 279 16 +174 280 16 +174 281 16 +174 282 16 +174 283 16 +174 284 16 +174 285 16 +174 286 16 +174 287 16 +174 288 16 +174 289 16 +174 290 16 +174 291 16 +174 292 16 +174 293 16 +174 294 16 +174 295 16 +174 296 16 +174 297 16 +174 298 16 +174 299 16 +174 300 16 +174 301 16 +174 302 16 +174 303 16 +174 304 16 +174 305 16 +174 306 16 +174 307 16 +174 308 16 +174 309 16 +174 310 16 +174 311 16 +174 312 16 +174 313 16 +174 314 16 +174 315 16 +174 316 16 +174 317 16 +174 318 16 +174 319 16 +174 320 16 +174 321 16 +174 322 16 +174 323 16 +174 324 16 +174 325 16 +174 326 16 +174 327 16 +174 328 16 +174 329 16 +174 330 16 +174 331 16 +174 332 16 +174 333 16 +174 334 16 +174 335 16 +174 336 16 +174 337 16 +174 338 16 +174 339 16 +174 340 16 +174 341 16 +174 342 16 +174 343 16 +174 344 16 +174 345 16 +174 346 16 +174 347 16 +174 348 16 +174 349 16 +175 176 16 +175 177 16 +175 178 16 +175 179 16 +175 180 16 +175 181 16 +175 182 16 +175 183 16 +175 184 16 +175 185 16 +175 186 16 +175 187 16 +175 188 16 +175 189 16 +175 190 16 +175 191 16 +175 192 16 +175 193 16 +175 194 16 +175 195 16 +175 196 16 +175 197 16 +175 198 16 +175 199 16 +175 200 16 +175 201 16 +175 202 16 +175 203 16 +175 204 16 +175 205 16 +175 206 16 +175 207 16 +175 208 16 +175 209 16 +175 210 16 +175 211 16 +175 212 16 +175 213 16 +175 214 16 +175 215 16 +175 216 16 +175 217 16 +175 218 16 +175 219 16 +175 220 16 +175 221 16 +175 222 16 +175 223 16 +175 224 16 +175 225 16 +175 226 16 +175 227 16 +175 228 16 +175 229 16 +175 230 16 +175 231 16 +175 232 16 +175 233 16 +175 234 16 +175 235 16 +175 236 16 +175 237 16 +175 238 16 +175 239 16 +175 240 16 +175 241 16 +175 242 16 +175 243 16 +175 244 16 +175 245 16 +175 246 16 +175 247 16 +175 248 16 +175 249 16 +175 250 16 +175 251 16 +175 252 16 +175 253 16 +175 254 16 +175 255 16 +175 256 16 +175 257 16 +175 258 16 +175 259 16 +175 260 16 +175 261 16 +175 262 16 +175 263 16 +175 264 16 +175 265 16 +175 266 16 +175 267 16 +175 268 16 +175 269 16 +175 270 16 +175 271 16 +175 272 16 +175 273 16 +175 274 16 +175 275 16 +175 276 16 +175 277 16 +175 278 16 +175 279 16 +175 280 16 +175 281 16 +175 282 16 +175 283 16 +175 284 16 +175 285 16 +175 286 16 +175 287 16 +175 288 16 +175 289 16 +175 290 16 +175 291 16 +175 292 16 +175 293 16 +175 294 16 +175 295 16 +175 296 16 +175 297 16 +175 298 16 +175 299 16 +175 300 16 +175 301 16 +175 302 16 +175 303 16 +175 304 16 +175 305 16 +175 306 16 +175 307 16 +175 308 16 +175 309 16 +175 310 16 +175 311 16 +175 312 16 +175 313 16 +175 314 16 +175 315 16 +175 316 16 +175 317 16 +175 318 16 +175 319 16 +175 320 16 +175 321 16 +175 322 16 +175 323 16 +175 324 16 +175 325 16 +175 326 16 +175 327 16 +175 328 16 +175 329 16 +175 330 16 +175 331 16 +175 332 16 +175 333 16 +175 334 16 +175 335 16 +175 336 16 +175 337 16 +175 338 16 +175 339 16 +175 340 16 +175 341 16 +175 342 16 +175 343 16 +175 344 16 +175 345 16 +175 346 16 +175 347 16 +175 348 16 +175 349 16 +176 177 16 +176 178 16 +176 179 16 +176 180 16 +176 181 16 +176 182 16 +176 183 16 +176 184 16 +176 185 16 +176 186 16 +176 187 16 +176 188 16 +176 189 16 +176 190 16 +176 191 16 +176 192 16 +176 193 16 +176 194 16 +176 195 16 +176 196 16 +176 197 16 +176 198 16 +176 199 16 +176 200 16 +176 201 16 +176 202 16 +176 203 16 +176 204 16 +176 205 16 +176 206 16 +176 207 16 +176 208 16 +176 209 16 +176 210 16 +176 211 16 +176 212 16 +176 213 16 +176 214 16 +176 215 16 +176 216 16 +176 217 16 +176 218 16 +176 219 16 +176 220 16 +176 221 16 +176 222 16 +176 223 16 +176 224 16 +176 225 16 +176 226 16 +176 227 16 +176 228 16 +176 229 16 +176 230 16 +176 231 16 +176 232 16 +176 233 16 +176 234 16 +176 235 16 +176 236 16 +176 237 16 +176 238 16 +176 239 16 +176 240 16 +176 241 16 +176 242 16 +176 243 16 +176 244 16 +176 245 16 +176 246 16 +176 247 16 +176 248 16 +176 249 16 +176 250 16 +176 251 16 +176 252 16 +176 253 16 +176 254 16 +176 255 16 +176 256 16 +176 257 16 +176 258 16 +176 259 16 +176 260 16 +176 261 16 +176 262 16 +176 263 16 +176 264 16 +176 265 16 +176 266 16 +176 267 16 +176 268 16 +176 269 16 +176 270 16 +176 271 16 +176 272 16 +176 273 16 +176 274 16 +176 275 16 +176 276 16 +176 277 16 +176 278 16 +176 279 16 +176 280 16 +176 281 16 +176 282 16 +176 283 16 +176 284 16 +176 285 16 +176 286 16 +176 287 16 +176 288 16 +176 289 16 +176 290 16 +176 291 16 +176 292 16 +176 293 16 +176 294 16 +176 295 16 +176 296 16 +176 297 16 +176 298 16 +176 299 16 +176 300 16 +176 301 16 +176 302 16 +176 303 16 +176 304 16 +176 305 16 +176 306 16 +176 307 16 +176 308 16 +176 309 16 +176 310 16 +176 311 16 +176 312 16 +176 313 16 +176 314 16 +176 315 16 +176 316 16 +176 317 16 +176 318 16 +176 319 16 +176 320 16 +176 321 16 +176 322 16 +176 323 16 +176 324 16 +176 325 16 +176 326 16 +176 327 16 +176 328 16 +176 329 16 +176 330 16 +176 331 16 +176 332 16 +176 333 16 +176 334 16 +176 335 16 +176 336 16 +176 337 16 +176 338 16 +176 339 16 +176 340 16 +176 341 16 +176 342 16 +176 343 16 +176 344 16 +176 345 16 +176 346 16 +176 347 16 +176 348 16 +176 349 16 +177 178 16 +177 179 16 +177 180 16 +177 181 16 +177 182 16 +177 183 16 +177 184 16 +177 185 16 +177 186 16 +177 187 16 +177 188 16 +177 189 16 +177 190 16 +177 191 16 +177 192 16 +177 193 16 +177 194 16 +177 195 16 +177 196 16 +177 197 16 +177 198 16 +177 199 16 +177 200 16 +177 201 16 +177 202 16 +177 203 16 +177 204 16 +177 205 16 +177 206 16 +177 207 16 +177 208 16 +177 209 16 +177 210 16 +177 211 16 +177 212 16 +177 213 16 +177 214 16 +177 215 16 +177 216 16 +177 217 16 +177 218 16 +177 219 16 +177 220 16 +177 221 16 +177 222 16 +177 223 16 +177 224 16 +177 225 16 +177 226 16 +177 227 16 +177 228 16 +177 229 16 +177 230 16 +177 231 16 +177 232 16 +177 233 16 +177 234 16 +177 235 16 +177 236 16 +177 237 16 +177 238 16 +177 239 16 +177 240 16 +177 241 16 +177 242 16 +177 243 16 +177 244 16 +177 245 16 +177 246 16 +177 247 16 +177 248 16 +177 249 16 +177 250 16 +177 251 16 +177 252 16 +177 253 16 +177 254 16 +177 255 16 +177 256 16 +177 257 16 +177 258 16 +177 259 16 +177 260 16 +177 261 16 +177 262 16 +177 263 16 +177 264 16 +177 265 16 +177 266 16 +177 267 16 +177 268 16 +177 269 16 +177 270 16 +177 271 16 +177 272 16 +177 273 16 +177 274 16 +177 275 16 +177 276 16 +177 277 16 +177 278 16 +177 279 16 +177 280 16 +177 281 16 +177 282 16 +177 283 16 +177 284 16 +177 285 16 +177 286 16 +177 287 16 +177 288 16 +177 289 16 +177 290 16 +177 291 16 +177 292 16 +177 293 16 +177 294 16 +177 295 16 +177 296 16 +177 297 16 +177 298 16 +177 299 16 +177 300 16 +177 301 16 +177 302 16 +177 303 16 +177 304 16 +177 305 16 +177 306 16 +177 307 16 +177 308 16 +177 309 16 +177 310 16 +177 311 16 +177 312 16 +177 313 16 +177 314 16 +177 315 16 +177 316 16 +177 317 16 +177 318 16 +177 319 16 +177 320 16 +177 321 16 +177 322 16 +177 323 16 +177 324 16 +177 325 16 +177 326 16 +177 327 16 +177 328 16 +177 329 16 +177 330 16 +177 331 16 +177 332 16 +177 333 16 +177 334 16 +177 335 16 +177 336 16 +177 337 16 +177 338 16 +177 339 16 +177 340 16 +177 341 16 +177 342 16 +177 343 16 +177 344 16 +177 345 16 +177 346 16 +177 347 16 +177 348 16 +177 349 16 +178 179 16 +178 180 16 +178 181 16 +178 182 16 +178 183 16 +178 184 16 +178 185 16 +178 186 16 +178 187 16 +178 188 16 +178 189 16 +178 190 16 +178 191 16 +178 192 16 +178 193 16 +178 194 16 +178 195 16 +178 196 16 +178 197 16 +178 198 16 +178 199 16 +178 200 16 +178 201 16 +178 202 16 +178 203 16 +178 204 16 +178 205 16 +178 206 16 +178 207 16 +178 208 16 +178 209 16 +178 210 16 +178 211 16 +178 212 16 +178 213 16 +178 214 16 +178 215 16 +178 216 16 +178 217 16 +178 218 16 +178 219 16 +178 220 16 +178 221 16 +178 222 16 +178 223 16 +178 224 16 +178 225 16 +178 226 16 +178 227 16 +178 228 16 +178 229 16 +178 230 16 +178 231 16 +178 232 16 +178 233 16 +178 234 16 +178 235 16 +178 236 16 +178 237 16 +178 238 16 +178 239 16 +178 240 16 +178 241 16 +178 242 16 +178 243 16 +178 244 16 +178 245 16 +178 246 16 +178 247 16 +178 248 16 +178 249 16 +178 250 16 +178 251 16 +178 252 16 +178 253 16 +178 254 16 +178 255 16 +178 256 16 +178 257 16 +178 258 16 +178 259 16 +178 260 16 +178 261 16 +178 262 16 +178 263 16 +178 264 16 +178 265 16 +178 266 16 +178 267 16 +178 268 16 +178 269 16 +178 270 16 +178 271 16 +178 272 16 +178 273 16 +178 274 16 +178 275 16 +178 276 16 +178 277 16 +178 278 16 +178 279 16 +178 280 16 +178 281 16 +178 282 16 +178 283 16 +178 284 16 +178 285 16 +178 286 16 +178 287 16 +178 288 16 +178 289 16 +178 290 16 +178 291 16 +178 292 16 +178 293 16 +178 294 16 +178 295 16 +178 296 16 +178 297 16 +178 298 16 +178 299 16 +178 300 16 +178 301 16 +178 302 16 +178 303 16 +178 304 16 +178 305 16 +178 306 16 +178 307 16 +178 308 16 +178 309 16 +178 310 16 +178 311 16 +178 312 16 +178 313 16 +178 314 16 +178 315 16 +178 316 16 +178 317 16 +178 318 16 +178 319 16 +178 320 16 +178 321 16 +178 322 16 +178 323 16 +178 324 16 +178 325 16 +178 326 16 +178 327 16 +178 328 16 +178 329 16 +178 330 16 +178 331 16 +178 332 16 +178 333 16 +178 334 16 +178 335 16 +178 336 16 +178 337 16 +178 338 16 +178 339 16 +178 340 16 +178 341 16 +178 342 16 +178 343 16 +178 344 16 +178 345 16 +178 346 16 +178 347 16 +178 348 16 +178 349 16 +179 180 16 +179 181 16 +179 182 16 +179 183 16 +179 184 16 +179 185 16 +179 186 16 +179 187 16 +179 188 16 +179 189 16 +179 190 16 +179 191 16 +179 192 16 +179 193 16 +179 194 16 +179 195 16 +179 196 16 +179 197 16 +179 198 16 +179 199 16 +179 200 16 +179 201 16 +179 202 16 +179 203 16 +179 204 16 +179 205 16 +179 206 16 +179 207 16 +179 208 16 +179 209 16 +179 210 16 +179 211 16 +179 212 16 +179 213 16 +179 214 16 +179 215 16 +179 216 16 +179 217 16 +179 218 16 +179 219 16 +179 220 16 +179 221 16 +179 222 16 +179 223 16 +179 224 16 +179 225 16 +179 226 16 +179 227 16 +179 228 16 +179 229 16 +179 230 16 +179 231 16 +179 232 16 +179 233 16 +179 234 16 +179 235 16 +179 236 16 +179 237 16 +179 238 16 +179 239 16 +179 240 16 +179 241 16 +179 242 16 +179 243 16 +179 244 16 +179 245 16 +179 246 16 +179 247 16 +179 248 16 +179 249 16 +179 250 16 +179 251 16 +179 252 16 +179 253 16 +179 254 16 +179 255 16 +179 256 16 +179 257 16 +179 258 16 +179 259 16 +179 260 16 +179 261 16 +179 262 16 +179 263 16 +179 264 16 +179 265 16 +179 266 16 +179 267 16 +179 268 16 +179 269 16 +179 270 16 +179 271 16 +179 272 16 +179 273 16 +179 274 16 +179 275 16 +179 276 16 +179 277 16 +179 278 16 +179 279 16 +179 280 16 +179 281 16 +179 282 16 +179 283 16 +179 284 16 +179 285 16 +179 286 16 +179 287 16 +179 288 16 +179 289 16 +179 290 16 +179 291 16 +179 292 16 +179 293 16 +179 294 16 +179 295 16 +179 296 16 +179 297 16 +179 298 16 +179 299 16 +179 300 16 +179 301 16 +179 302 16 +179 303 16 +179 304 16 +179 305 16 +179 306 16 +179 307 16 +179 308 16 +179 309 16 +179 310 16 +179 311 16 +179 312 16 +179 313 16 +179 314 16 +179 315 16 +179 316 16 +179 317 16 +179 318 16 +179 319 16 +179 320 16 +179 321 16 +179 322 16 +179 323 16 +179 324 16 +179 325 16 +179 326 16 +179 327 16 +179 328 16 +179 329 16 +179 330 16 +179 331 16 +179 332 16 +179 333 16 +179 334 16 +179 335 16 +179 336 16 +179 337 16 +179 338 16 +179 339 16 +179 340 16 +179 341 16 +179 342 16 +179 343 16 +179 344 16 +179 345 16 +179 346 16 +179 347 16 +179 348 16 +179 349 16 +180 181 16 +180 182 16 +180 183 16 +180 184 16 +180 185 16 +180 186 16 +180 187 16 +180 188 16 +180 189 16 +180 190 16 +180 191 16 +180 192 16 +180 193 16 +180 194 16 +180 195 16 +180 196 16 +180 197 16 +180 198 16 +180 199 16 +180 200 16 +180 201 16 +180 202 16 +180 203 16 +180 204 16 +180 205 16 +180 206 16 +180 207 16 +180 208 16 +180 209 16 +180 210 16 +180 211 16 +180 212 16 +180 213 16 +180 214 16 +180 215 16 +180 216 16 +180 217 16 +180 218 16 +180 219 16 +180 220 16 +180 221 16 +180 222 16 +180 223 16 +180 224 16 +180 225 16 +180 226 16 +180 227 16 +180 228 16 +180 229 16 +180 230 16 +180 231 16 +180 232 16 +180 233 16 +180 234 16 +180 235 16 +180 236 16 +180 237 16 +180 238 16 +180 239 16 +180 240 16 +180 241 16 +180 242 16 +180 243 16 +180 244 16 +180 245 16 +180 246 16 +180 247 16 +180 248 16 +180 249 16 +180 250 16 +180 251 16 +180 252 16 +180 253 16 +180 254 16 +180 255 16 +180 256 16 +180 257 16 +180 258 16 +180 259 16 +180 260 16 +180 261 16 +180 262 16 +180 263 16 +180 264 16 +180 265 16 +180 266 16 +180 267 16 +180 268 16 +180 269 16 +180 270 16 +180 271 16 +180 272 16 +180 273 16 +180 274 16 +180 275 16 +180 276 16 +180 277 16 +180 278 16 +180 279 16 +180 280 16 +180 281 16 +180 282 16 +180 283 16 +180 284 16 +180 285 16 +180 286 16 +180 287 16 +180 288 16 +180 289 16 +180 290 16 +180 291 16 +180 292 16 +180 293 16 +180 294 16 +180 295 16 +180 296 16 +180 297 16 +180 298 16 +180 299 16 +180 300 16 +180 301 16 +180 302 16 +180 303 16 +180 304 16 +180 305 16 +180 306 16 +180 307 16 +180 308 16 +180 309 16 +180 310 16 +180 311 16 +180 312 16 +180 313 16 +180 314 16 +180 315 16 +180 316 16 +180 317 16 +180 318 16 +180 319 16 +180 320 16 +180 321 16 +180 322 16 +180 323 16 +180 324 16 +180 325 16 +180 326 16 +180 327 16 +180 328 16 +180 329 16 +180 330 16 +180 331 16 +180 332 16 +180 333 16 +180 334 16 +180 335 16 +180 336 16 +180 337 16 +180 338 16 +180 339 16 +180 340 16 +180 341 16 +180 342 16 +180 343 16 +180 344 16 +180 345 16 +180 346 16 +180 347 16 +180 348 16 +180 349 16 +181 182 16 +181 183 16 +181 184 16 +181 185 16 +181 186 16 +181 187 16 +181 188 16 +181 189 16 +181 190 16 +181 191 16 +181 192 16 +181 193 16 +181 194 16 +181 195 16 +181 196 16 +181 197 16 +181 198 16 +181 199 16 +181 200 16 +181 201 16 +181 202 16 +181 203 16 +181 204 16 +181 205 16 +181 206 16 +181 207 16 +181 208 16 +181 209 16 +181 210 16 +181 211 16 +181 212 16 +181 213 16 +181 214 16 +181 215 16 +181 216 16 +181 217 16 +181 218 16 +181 219 16 +181 220 16 +181 221 16 +181 222 16 +181 223 16 +181 224 16 +181 225 16 +181 226 16 +181 227 16 +181 228 16 +181 229 16 +181 230 16 +181 231 16 +181 232 16 +181 233 16 +181 234 16 +181 235 16 +181 236 16 +181 237 16 +181 238 16 +181 239 16 +181 240 16 +181 241 16 +181 242 16 +181 243 16 +181 244 16 +181 245 16 +181 246 16 +181 247 16 +181 248 16 +181 249 16 +181 250 16 +181 251 16 +181 252 16 +181 253 16 +181 254 16 +181 255 16 +181 256 16 +181 257 16 +181 258 16 +181 259 16 +181 260 16 +181 261 16 +181 262 16 +181 263 16 +181 264 16 +181 265 16 +181 266 16 +181 267 16 +181 268 16 +181 269 16 +181 270 16 +181 271 16 +181 272 16 +181 273 16 +181 274 16 +181 275 16 +181 276 16 +181 277 16 +181 278 16 +181 279 16 +181 280 16 +181 281 16 +181 282 16 +181 283 16 +181 284 16 +181 285 16 +181 286 16 +181 287 16 +181 288 16 +181 289 16 +181 290 16 +181 291 16 +181 292 16 +181 293 16 +181 294 16 +181 295 16 +181 296 16 +181 297 16 +181 298 16 +181 299 16 +181 300 16 +181 301 16 +181 302 16 +181 303 16 +181 304 16 +181 305 16 +181 306 16 +181 307 16 +181 308 16 +181 309 16 +181 310 16 +181 311 16 +181 312 16 +181 313 16 +181 314 16 +181 315 16 +181 316 16 +181 317 16 +181 318 16 +181 319 16 +181 320 16 +181 321 16 +181 322 16 +181 323 16 +181 324 16 +181 325 16 +181 326 16 +181 327 16 +181 328 16 +181 329 16 +181 330 16 +181 331 16 +181 332 16 +181 333 16 +181 334 16 +181 335 16 +181 336 16 +181 337 16 +181 338 16 +181 339 16 +181 340 16 +181 341 16 +181 342 16 +181 343 16 +181 344 16 +181 345 16 +181 346 16 +181 347 16 +181 348 16 +181 349 16 +182 183 16 +182 184 16 +182 185 16 +182 186 16 +182 187 16 +182 188 16 +182 189 16 +182 190 16 +182 191 16 +182 192 16 +182 193 16 +182 194 16 +182 195 16 +182 196 16 +182 197 16 +182 198 16 +182 199 16 +182 200 16 +182 201 16 +182 202 16 +182 203 16 +182 204 16 +182 205 16 +182 206 16 +182 207 16 +182 208 16 +182 209 16 +182 210 16 +182 211 16 +182 212 16 +182 213 16 +182 214 16 +182 215 16 +182 216 16 +182 217 16 +182 218 16 +182 219 16 +182 220 16 +182 221 16 +182 222 16 +182 223 16 +182 224 16 +182 225 16 +182 226 16 +182 227 16 +182 228 16 +182 229 16 +182 230 16 +182 231 16 +182 232 16 +182 233 16 +182 234 16 +182 235 16 +182 236 16 +182 237 16 +182 238 16 +182 239 16 +182 240 16 +182 241 16 +182 242 16 +182 243 16 +182 244 16 +182 245 16 +182 246 16 +182 247 16 +182 248 16 +182 249 16 +182 250 16 +182 251 16 +182 252 16 +182 253 16 +182 254 16 +182 255 16 +182 256 16 +182 257 16 +182 258 16 +182 259 16 +182 260 16 +182 261 16 +182 262 16 +182 263 16 +182 264 16 +182 265 16 +182 266 16 +182 267 16 +182 268 16 +182 269 16 +182 270 16 +182 271 16 +182 272 16 +182 273 16 +182 274 16 +182 275 16 +182 276 16 +182 277 16 +182 278 16 +182 279 16 +182 280 16 +182 281 16 +182 282 16 +182 283 16 +182 284 16 +182 285 16 +182 286 16 +182 287 16 +182 288 16 +182 289 16 +182 290 16 +182 291 16 +182 292 16 +182 293 16 +182 294 16 +182 295 16 +182 296 16 +182 297 16 +182 298 16 +182 299 16 +182 300 16 +182 301 16 +182 302 16 +182 303 16 +182 304 16 +182 305 16 +182 306 16 +182 307 16 +182 308 16 +182 309 16 +182 310 16 +182 311 16 +182 312 16 +182 313 16 +182 314 16 +182 315 16 +182 316 16 +182 317 16 +182 318 16 +182 319 16 +182 320 16 +182 321 16 +182 322 16 +182 323 16 +182 324 16 +182 325 16 +182 326 16 +182 327 16 +182 328 16 +182 329 16 +182 330 16 +182 331 16 +182 332 16 +182 333 16 +182 334 16 +182 335 16 +182 336 16 +182 337 16 +182 338 16 +182 339 16 +182 340 16 +182 341 16 +182 342 16 +182 343 16 +182 344 16 +182 345 16 +182 346 16 +182 347 16 +182 348 16 +182 349 16 +183 184 16 +183 185 16 +183 186 16 +183 187 16 +183 188 16 +183 189 16 +183 190 16 +183 191 16 +183 192 16 +183 193 16 +183 194 16 +183 195 16 +183 196 16 +183 197 16 +183 198 16 +183 199 16 +183 200 16 +183 201 16 +183 202 16 +183 203 16 +183 204 16 +183 205 16 +183 206 16 +183 207 16 +183 208 16 +183 209 16 +183 210 16 +183 211 16 +183 212 16 +183 213 16 +183 214 16 +183 215 16 +183 216 16 +183 217 16 +183 218 16 +183 219 16 +183 220 16 +183 221 16 +183 222 16 +183 223 16 +183 224 16 +183 225 16 +183 226 16 +183 227 16 +183 228 16 +183 229 16 +183 230 16 +183 231 16 +183 232 16 +183 233 16 +183 234 16 +183 235 16 +183 236 16 +183 237 16 +183 238 16 +183 239 16 +183 240 16 +183 241 16 +183 242 16 +183 243 16 +183 244 16 +183 245 16 +183 246 16 +183 247 16 +183 248 16 +183 249 16 +183 250 16 +183 251 16 +183 252 16 +183 253 16 +183 254 16 +183 255 16 +183 256 16 +183 257 16 +183 258 16 +183 259 16 +183 260 16 +183 261 16 +183 262 16 +183 263 16 +183 264 16 +183 265 16 +183 266 16 +183 267 16 +183 268 16 +183 269 16 +183 270 16 +183 271 16 +183 272 16 +183 273 16 +183 274 16 +183 275 16 +183 276 16 +183 277 16 +183 278 16 +183 279 16 +183 280 16 +183 281 16 +183 282 16 +183 283 16 +183 284 16 +183 285 16 +183 286 16 +183 287 16 +183 288 16 +183 289 16 +183 290 16 +183 291 16 +183 292 16 +183 293 16 +183 294 16 +183 295 16 +183 296 16 +183 297 16 +183 298 16 +183 299 16 +183 300 16 +183 301 16 +183 302 16 +183 303 16 +183 304 16 +183 305 16 +183 306 16 +183 307 16 +183 308 16 +183 309 16 +183 310 16 +183 311 16 +183 312 16 +183 313 16 +183 314 16 +183 315 16 +183 316 16 +183 317 16 +183 318 16 +183 319 16 +183 320 16 +183 321 16 +183 322 16 +183 323 16 +183 324 16 +183 325 16 +183 326 16 +183 327 16 +183 328 16 +183 329 16 +183 330 16 +183 331 16 +183 332 16 +183 333 16 +183 334 16 +183 335 16 +183 336 16 +183 337 16 +183 338 16 +183 339 16 +183 340 16 +183 341 16 +183 342 16 +183 343 16 +183 344 16 +183 345 16 +183 346 16 +183 347 16 +183 348 16 +183 349 16 +184 185 16 +184 186 16 +184 187 16 +184 188 16 +184 189 16 +184 190 16 +184 191 16 +184 192 16 +184 193 16 +184 194 16 +184 195 16 +184 196 16 +184 197 16 +184 198 16 +184 199 16 +184 200 16 +184 201 16 +184 202 16 +184 203 16 +184 204 16 +184 205 16 +184 206 16 +184 207 16 +184 208 16 +184 209 16 +184 210 16 +184 211 16 +184 212 16 +184 213 16 +184 214 16 +184 215 16 +184 216 16 +184 217 16 +184 218 16 +184 219 16 +184 220 16 +184 221 16 +184 222 16 +184 223 16 +184 224 16 +184 225 16 +184 226 16 +184 227 16 +184 228 16 +184 229 16 +184 230 16 +184 231 16 +184 232 16 +184 233 16 +184 234 16 +184 235 16 +184 236 16 +184 237 16 +184 238 16 +184 239 16 +184 240 16 +184 241 16 +184 242 16 +184 243 16 +184 244 16 +184 245 16 +184 246 16 +184 247 16 +184 248 16 +184 249 16 +184 250 16 +184 251 16 +184 252 16 +184 253 16 +184 254 16 +184 255 16 +184 256 16 +184 257 16 +184 258 16 +184 259 16 +184 260 16 +184 261 16 +184 262 16 +184 263 16 +184 264 16 +184 265 16 +184 266 16 +184 267 16 +184 268 16 +184 269 16 +184 270 16 +184 271 16 +184 272 16 +184 273 16 +184 274 16 +184 275 16 +184 276 16 +184 277 16 +184 278 16 +184 279 16 +184 280 16 +184 281 16 +184 282 16 +184 283 16 +184 284 16 +184 285 16 +184 286 16 +184 287 16 +184 288 16 +184 289 16 +184 290 16 +184 291 16 +184 292 16 +184 293 16 +184 294 16 +184 295 16 +184 296 16 +184 297 16 +184 298 16 +184 299 16 +184 300 16 +184 301 16 +184 302 16 +184 303 16 +184 304 16 +184 305 16 +184 306 16 +184 307 16 +184 308 16 +184 309 16 +184 310 16 +184 311 16 +184 312 16 +184 313 16 +184 314 16 +184 315 16 +184 316 16 +184 317 16 +184 318 16 +184 319 16 +184 320 16 +184 321 16 +184 322 16 +184 323 16 +184 324 16 +184 325 16 +184 326 16 +184 327 16 +184 328 16 +184 329 16 +184 330 16 +184 331 16 +184 332 16 +184 333 16 +184 334 16 +184 335 16 +184 336 16 +184 337 16 +184 338 16 +184 339 16 +184 340 16 +184 341 16 +184 342 16 +184 343 16 +184 344 16 +184 345 16 +184 346 16 +184 347 16 +184 348 16 +184 349 16 +185 186 16 +185 187 16 +185 188 16 +185 189 16 +185 190 16 +185 191 16 +185 192 16 +185 193 16 +185 194 16 +185 195 16 +185 196 16 +185 197 16 +185 198 16 +185 199 16 +185 200 16 +185 201 16 +185 202 16 +185 203 16 +185 204 16 +185 205 16 +185 206 16 +185 207 16 +185 208 16 +185 209 16 +185 210 16 +185 211 16 +185 212 16 +185 213 16 +185 214 16 +185 215 16 +185 216 16 +185 217 16 +185 218 16 +185 219 16 +185 220 16 +185 221 16 +185 222 16 +185 223 16 +185 224 16 +185 225 16 +185 226 16 +185 227 16 +185 228 16 +185 229 16 +185 230 16 +185 231 16 +185 232 16 +185 233 16 +185 234 16 +185 235 16 +185 236 16 +185 237 16 +185 238 16 +185 239 16 +185 240 16 +185 241 16 +185 242 16 +185 243 16 +185 244 16 +185 245 16 +185 246 16 +185 247 16 +185 248 16 +185 249 16 +185 250 16 +185 251 16 +185 252 16 +185 253 16 +185 254 16 +185 255 16 +185 256 16 +185 257 16 +185 258 16 +185 259 16 +185 260 16 +185 261 16 +185 262 16 +185 263 16 +185 264 16 +185 265 16 +185 266 16 +185 267 16 +185 268 16 +185 269 16 +185 270 16 +185 271 16 +185 272 16 +185 273 16 +185 274 16 +185 275 16 +185 276 16 +185 277 16 +185 278 16 +185 279 16 +185 280 16 +185 281 16 +185 282 16 +185 283 16 +185 284 16 +185 285 16 +185 286 16 +185 287 16 +185 288 16 +185 289 16 +185 290 16 +185 291 16 +185 292 16 +185 293 16 +185 294 16 +185 295 16 +185 296 16 +185 297 16 +185 298 16 +185 299 16 +185 300 16 +185 301 16 +185 302 16 +185 303 16 +185 304 16 +185 305 16 +185 306 16 +185 307 16 +185 308 16 +185 309 16 +185 310 16 +185 311 16 +185 312 16 +185 313 16 +185 314 16 +185 315 16 +185 316 16 +185 317 16 +185 318 16 +185 319 16 +185 320 16 +185 321 16 +185 322 16 +185 323 16 +185 324 16 +185 325 16 +185 326 16 +185 327 16 +185 328 16 +185 329 16 +185 330 16 +185 331 16 +185 332 16 +185 333 16 +185 334 16 +185 335 16 +185 336 16 +185 337 16 +185 338 16 +185 339 16 +185 340 16 +185 341 16 +185 342 16 +185 343 16 +185 344 16 +185 345 16 +185 346 16 +185 347 16 +185 348 16 +185 349 16 +186 187 16 +186 188 16 +186 189 16 +186 190 16 +186 191 16 +186 192 16 +186 193 16 +186 194 16 +186 195 16 +186 196 16 +186 197 16 +186 198 16 +186 199 16 +186 200 16 +186 201 16 +186 202 16 +186 203 16 +186 204 16 +186 205 16 +186 206 16 +186 207 16 +186 208 16 +186 209 16 +186 210 16 +186 211 16 +186 212 16 +186 213 16 +186 214 16 +186 215 16 +186 216 16 +186 217 16 +186 218 16 +186 219 16 +186 220 16 +186 221 16 +186 222 16 +186 223 16 +186 224 16 +186 225 16 +186 226 16 +186 227 16 +186 228 16 +186 229 16 +186 230 16 +186 231 16 +186 232 16 +186 233 16 +186 234 16 +186 235 16 +186 236 16 +186 237 16 +186 238 16 +186 239 16 +186 240 16 +186 241 16 +186 242 16 +186 243 16 +186 244 16 +186 245 16 +186 246 16 +186 247 16 +186 248 16 +186 249 16 +186 250 16 +186 251 16 +186 252 16 +186 253 16 +186 254 16 +186 255 16 +186 256 16 +186 257 16 +186 258 16 +186 259 16 +186 260 16 +186 261 16 +186 262 16 +186 263 16 +186 264 16 +186 265 16 +186 266 16 +186 267 16 +186 268 16 +186 269 16 +186 270 16 +186 271 16 +186 272 16 +186 273 16 +186 274 16 +186 275 16 +186 276 16 +186 277 16 +186 278 16 +186 279 16 +186 280 16 +186 281 16 +186 282 16 +186 283 16 +186 284 16 +186 285 16 +186 286 16 +186 287 16 +186 288 16 +186 289 16 +186 290 16 +186 291 16 +186 292 16 +186 293 16 +186 294 16 +186 295 16 +186 296 16 +186 297 16 +186 298 16 +186 299 16 +186 300 16 +186 301 16 +186 302 16 +186 303 16 +186 304 16 +186 305 16 +186 306 16 +186 307 16 +186 308 16 +186 309 16 +186 310 16 +186 311 16 +186 312 16 +186 313 16 +186 314 16 +186 315 16 +186 316 16 +186 317 16 +186 318 16 +186 319 16 +186 320 16 +186 321 16 +186 322 16 +186 323 16 +186 324 16 +186 325 16 +186 326 16 +186 327 16 +186 328 16 +186 329 16 +186 330 16 +186 331 16 +186 332 16 +186 333 16 +186 334 16 +186 335 16 +186 336 16 +186 337 16 +186 338 16 +186 339 16 +186 340 16 +186 341 16 +186 342 16 +186 343 16 +186 344 16 +186 345 16 +186 346 16 +186 347 16 +186 348 16 +186 349 16 +187 188 16 +187 189 16 +187 190 16 +187 191 16 +187 192 16 +187 193 16 +187 194 16 +187 195 16 +187 196 16 +187 197 16 +187 198 16 +187 199 16 +187 200 16 +187 201 16 +187 202 16 +187 203 16 +187 204 16 +187 205 16 +187 206 16 +187 207 16 +187 208 16 +187 209 16 +187 210 16 +187 211 16 +187 212 16 +187 213 16 +187 214 16 +187 215 16 +187 216 16 +187 217 16 +187 218 16 +187 219 16 +187 220 16 +187 221 16 +187 222 16 +187 223 16 +187 224 16 +187 225 16 +187 226 16 +187 227 16 +187 228 16 +187 229 16 +187 230 16 +187 231 16 +187 232 16 +187 233 16 +187 234 16 +187 235 16 +187 236 16 +187 237 16 +187 238 16 +187 239 16 +187 240 16 +187 241 16 +187 242 16 +187 243 16 +187 244 16 +187 245 16 +187 246 16 +187 247 16 +187 248 16 +187 249 16 +187 250 16 +187 251 16 +187 252 16 +187 253 16 +187 254 16 +187 255 16 +187 256 16 +187 257 16 +187 258 16 +187 259 16 +187 260 16 +187 261 16 +187 262 16 +187 263 16 +187 264 16 +187 265 16 +187 266 16 +187 267 16 +187 268 16 +187 269 16 +187 270 16 +187 271 16 +187 272 16 +187 273 16 +187 274 16 +187 275 16 +187 276 16 +187 277 16 +187 278 16 +187 279 16 +187 280 16 +187 281 16 +187 282 16 +187 283 16 +187 284 16 +187 285 16 +187 286 16 +187 287 16 +187 288 16 +187 289 16 +187 290 16 +187 291 16 +187 292 16 +187 293 16 +187 294 16 +187 295 16 +187 296 16 +187 297 16 +187 298 16 +187 299 16 +187 300 16 +187 301 16 +187 302 16 +187 303 16 +187 304 16 +187 305 16 +187 306 16 +187 307 16 +187 308 16 +187 309 16 +187 310 16 +187 311 16 +187 312 16 +187 313 16 +187 314 16 +187 315 16 +187 316 16 +187 317 16 +187 318 16 +187 319 16 +187 320 16 +187 321 16 +187 322 16 +187 323 16 +187 324 16 +187 325 16 +187 326 16 +187 327 16 +187 328 16 +187 329 16 +187 330 16 +187 331 16 +187 332 16 +187 333 16 +187 334 16 +187 335 16 +187 336 16 +187 337 16 +187 338 16 +187 339 16 +187 340 16 +187 341 16 +187 342 16 +187 343 16 +187 344 16 +187 345 16 +187 346 16 +187 347 16 +187 348 16 +187 349 16 +188 189 16 +188 190 16 +188 191 16 +188 192 16 +188 193 16 +188 194 16 +188 195 16 +188 196 16 +188 197 16 +188 198 16 +188 199 16 +188 200 16 +188 201 16 +188 202 16 +188 203 16 +188 204 16 +188 205 16 +188 206 16 +188 207 16 +188 208 16 +188 209 16 +188 210 16 +188 211 16 +188 212 16 +188 213 16 +188 214 16 +188 215 16 +188 216 16 +188 217 16 +188 218 16 +188 219 16 +188 220 16 +188 221 16 +188 222 16 +188 223 16 +188 224 16 +188 225 16 +188 226 16 +188 227 16 +188 228 16 +188 229 16 +188 230 16 +188 231 16 +188 232 16 +188 233 16 +188 234 16 +188 235 16 +188 236 16 +188 237 16 +188 238 16 +188 239 16 +188 240 16 +188 241 16 +188 242 16 +188 243 16 +188 244 16 +188 245 16 +188 246 16 +188 247 16 +188 248 16 +188 249 16 +188 250 16 +188 251 16 +188 252 16 +188 253 16 +188 254 16 +188 255 16 +188 256 16 +188 257 16 +188 258 16 +188 259 16 +188 260 16 +188 261 16 +188 262 16 +188 263 16 +188 264 16 +188 265 16 +188 266 16 +188 267 16 +188 268 16 +188 269 16 +188 270 16 +188 271 16 +188 272 16 +188 273 16 +188 274 16 +188 275 16 +188 276 16 +188 277 16 +188 278 16 +188 279 16 +188 280 16 +188 281 16 +188 282 16 +188 283 16 +188 284 16 +188 285 16 +188 286 16 +188 287 16 +188 288 16 +188 289 16 +188 290 16 +188 291 16 +188 292 16 +188 293 16 +188 294 16 +188 295 16 +188 296 16 +188 297 16 +188 298 16 +188 299 16 +188 300 16 +188 301 16 +188 302 16 +188 303 16 +188 304 16 +188 305 16 +188 306 16 +188 307 16 +188 308 16 +188 309 16 +188 310 16 +188 311 16 +188 312 16 +188 313 16 +188 314 16 +188 315 16 +188 316 16 +188 317 16 +188 318 16 +188 319 16 +188 320 16 +188 321 16 +188 322 16 +188 323 16 +188 324 16 +188 325 16 +188 326 16 +188 327 16 +188 328 16 +188 329 16 +188 330 16 +188 331 16 +188 332 16 +188 333 16 +188 334 16 +188 335 16 +188 336 16 +188 337 16 +188 338 16 +188 339 16 +188 340 16 +188 341 16 +188 342 16 +188 343 16 +188 344 16 +188 345 16 +188 346 16 +188 347 16 +188 348 16 +188 349 16 +189 190 16 +189 191 16 +189 192 16 +189 193 16 +189 194 16 +189 195 16 +189 196 16 +189 197 16 +189 198 16 +189 199 16 +189 200 16 +189 201 16 +189 202 16 +189 203 16 +189 204 16 +189 205 16 +189 206 16 +189 207 16 +189 208 16 +189 209 16 +189 210 16 +189 211 16 +189 212 16 +189 213 16 +189 214 16 +189 215 16 +189 216 16 +189 217 16 +189 218 16 +189 219 16 +189 220 16 +189 221 16 +189 222 16 +189 223 16 +189 224 16 +189 225 16 +189 226 16 +189 227 16 +189 228 16 +189 229 16 +189 230 16 +189 231 16 +189 232 16 +189 233 16 +189 234 16 +189 235 16 +189 236 16 +189 237 16 +189 238 16 +189 239 16 +189 240 16 +189 241 16 +189 242 16 +189 243 16 +189 244 16 +189 245 16 +189 246 16 +189 247 16 +189 248 16 +189 249 16 +189 250 16 +189 251 16 +189 252 16 +189 253 16 +189 254 16 +189 255 16 +189 256 16 +189 257 16 +189 258 16 +189 259 16 +189 260 16 +189 261 16 +189 262 16 +189 263 16 +189 264 16 +189 265 16 +189 266 16 +189 267 16 +189 268 16 +189 269 16 +189 270 16 +189 271 16 +189 272 16 +189 273 16 +189 274 16 +189 275 16 +189 276 16 +189 277 16 +189 278 16 +189 279 16 +189 280 16 +189 281 16 +189 282 16 +189 283 16 +189 284 16 +189 285 16 +189 286 16 +189 287 16 +189 288 16 +189 289 16 +189 290 16 +189 291 16 +189 292 16 +189 293 16 +189 294 16 +189 295 16 +189 296 16 +189 297 16 +189 298 16 +189 299 16 +189 300 16 +189 301 16 +189 302 16 +189 303 16 +189 304 16 +189 305 16 +189 306 16 +189 307 16 +189 308 16 +189 309 16 +189 310 16 +189 311 16 +189 312 16 +189 313 16 +189 314 16 +189 315 16 +189 316 16 +189 317 16 +189 318 16 +189 319 16 +189 320 16 +189 321 16 +189 322 16 +189 323 16 +189 324 16 +189 325 16 +189 326 16 +189 327 16 +189 328 16 +189 329 16 +189 330 16 +189 331 16 +189 332 16 +189 333 16 +189 334 16 +189 335 16 +189 336 16 +189 337 16 +189 338 16 +189 339 16 +189 340 16 +189 341 16 +189 342 16 +189 343 16 +189 344 16 +189 345 16 +189 346 16 +189 347 16 +189 348 16 +189 349 16 +190 191 16 +190 192 16 +190 193 16 +190 194 16 +190 195 16 +190 196 16 +190 197 16 +190 198 16 +190 199 16 +190 200 16 +190 201 16 +190 202 16 +190 203 16 +190 204 16 +190 205 16 +190 206 16 +190 207 16 +190 208 16 +190 209 16 +190 210 16 +190 211 16 +190 212 16 +190 213 16 +190 214 16 +190 215 16 +190 216 16 +190 217 16 +190 218 16 +190 219 16 +190 220 16 +190 221 16 +190 222 16 +190 223 16 +190 224 16 +190 225 16 +190 226 16 +190 227 16 +190 228 16 +190 229 16 +190 230 16 +190 231 16 +190 232 16 +190 233 16 +190 234 16 +190 235 16 +190 236 16 +190 237 16 +190 238 16 +190 239 16 +190 240 16 +190 241 16 +190 242 16 +190 243 16 +190 244 16 +190 245 16 +190 246 16 +190 247 16 +190 248 16 +190 249 16 +190 250 16 +190 251 16 +190 252 16 +190 253 16 +190 254 16 +190 255 16 +190 256 16 +190 257 16 +190 258 16 +190 259 16 +190 260 16 +190 261 16 +190 262 16 +190 263 16 +190 264 16 +190 265 16 +190 266 16 +190 267 16 +190 268 16 +190 269 16 +190 270 16 +190 271 16 +190 272 16 +190 273 16 +190 274 16 +190 275 16 +190 276 16 +190 277 16 +190 278 16 +190 279 16 +190 280 16 +190 281 16 +190 282 16 +190 283 16 +190 284 16 +190 285 16 +190 286 16 +190 287 16 +190 288 16 +190 289 16 +190 290 16 +190 291 16 +190 292 16 +190 293 16 +190 294 16 +190 295 16 +190 296 16 +190 297 16 +190 298 16 +190 299 16 +190 300 16 +190 301 16 +190 302 16 +190 303 16 +190 304 16 +190 305 16 +190 306 16 +190 307 16 +190 308 16 +190 309 16 +190 310 16 +190 311 16 +190 312 16 +190 313 16 +190 314 16 +190 315 16 +190 316 16 +190 317 16 +190 318 16 +190 319 16 +190 320 16 +190 321 16 +190 322 16 +190 323 16 +190 324 16 +190 325 16 +190 326 16 +190 327 16 +190 328 16 +190 329 16 +190 330 16 +190 331 16 +190 332 16 +190 333 16 +190 334 16 +190 335 16 +190 336 16 +190 337 16 +190 338 16 +190 339 16 +190 340 16 +190 341 16 +190 342 16 +190 343 16 +190 344 16 +190 345 16 +190 346 16 +190 347 16 +190 348 16 +190 349 16 +191 192 16 +191 193 16 +191 194 16 +191 195 16 +191 196 16 +191 197 16 +191 198 16 +191 199 16 +191 200 16 +191 201 16 +191 202 16 +191 203 16 +191 204 16 +191 205 16 +191 206 16 +191 207 16 +191 208 16 +191 209 16 +191 210 16 +191 211 16 +191 212 16 +191 213 16 +191 214 16 +191 215 16 +191 216 16 +191 217 16 +191 218 16 +191 219 16 +191 220 16 +191 221 16 +191 222 16 +191 223 16 +191 224 16 +191 225 16 +191 226 16 +191 227 16 +191 228 16 +191 229 16 +191 230 16 +191 231 16 +191 232 16 +191 233 16 +191 234 16 +191 235 16 +191 236 16 +191 237 16 +191 238 16 +191 239 16 +191 240 16 +191 241 16 +191 242 16 +191 243 16 +191 244 16 +191 245 16 +191 246 16 +191 247 16 +191 248 16 +191 249 16 +191 250 16 +191 251 16 +191 252 16 +191 253 16 +191 254 16 +191 255 16 +191 256 16 +191 257 16 +191 258 16 +191 259 16 +191 260 16 +191 261 16 +191 262 16 +191 263 16 +191 264 16 +191 265 16 +191 266 16 +191 267 16 +191 268 16 +191 269 16 +191 270 16 +191 271 16 +191 272 16 +191 273 16 +191 274 16 +191 275 16 +191 276 16 +191 277 16 +191 278 16 +191 279 16 +191 280 16 +191 281 16 +191 282 16 +191 283 16 +191 284 16 +191 285 16 +191 286 16 +191 287 16 +191 288 16 +191 289 16 +191 290 16 +191 291 16 +191 292 16 +191 293 16 +191 294 16 +191 295 16 +191 296 16 +191 297 16 +191 298 16 +191 299 16 +191 300 16 +191 301 16 +191 302 16 +191 303 16 +191 304 16 +191 305 16 +191 306 16 +191 307 16 +191 308 16 +191 309 16 +191 310 16 +191 311 16 +191 312 16 +191 313 16 +191 314 16 +191 315 16 +191 316 16 +191 317 16 +191 318 16 +191 319 16 +191 320 16 +191 321 16 +191 322 16 +191 323 16 +191 324 16 +191 325 16 +191 326 16 +191 327 16 +191 328 16 +191 329 16 +191 330 16 +191 331 16 +191 332 16 +191 333 16 +191 334 16 +191 335 16 +191 336 16 +191 337 16 +191 338 16 +191 339 16 +191 340 16 +191 341 16 +191 342 16 +191 343 16 +191 344 16 +191 345 16 +191 346 16 +191 347 16 +191 348 16 +191 349 16 +192 193 16 +192 194 16 +192 195 16 +192 196 16 +192 197 16 +192 198 16 +192 199 16 +192 200 16 +192 201 16 +192 202 16 +192 203 16 +192 204 16 +192 205 16 +192 206 16 +192 207 16 +192 208 16 +192 209 16 +192 210 16 +192 211 16 +192 212 16 +192 213 16 +192 214 16 +192 215 16 +192 216 16 +192 217 16 +192 218 16 +192 219 16 +192 220 16 +192 221 16 +192 222 16 +192 223 16 +192 224 16 +192 225 16 +192 226 16 +192 227 16 +192 228 16 +192 229 16 +192 230 16 +192 231 16 +192 232 16 +192 233 16 +192 234 16 +192 235 16 +192 236 16 +192 237 16 +192 238 16 +192 239 16 +192 240 16 +192 241 16 +192 242 16 +192 243 16 +192 244 16 +192 245 16 +192 246 16 +192 247 16 +192 248 16 +192 249 16 +192 250 16 +192 251 16 +192 252 16 +192 253 16 +192 254 16 +192 255 16 +192 256 16 +192 257 16 +192 258 16 +192 259 16 +192 260 16 +192 261 16 +192 262 16 +192 263 16 +192 264 16 +192 265 16 +192 266 16 +192 267 16 +192 268 16 +192 269 16 +192 270 16 +192 271 16 +192 272 16 +192 273 16 +192 274 16 +192 275 16 +192 276 16 +192 277 16 +192 278 16 +192 279 16 +192 280 16 +192 281 16 +192 282 16 +192 283 16 +192 284 16 +192 285 16 +192 286 16 +192 287 16 +192 288 16 +192 289 16 +192 290 16 +192 291 16 +192 292 16 +192 293 16 +192 294 16 +192 295 16 +192 296 16 +192 297 16 +192 298 16 +192 299 16 +192 300 16 +192 301 16 +192 302 16 +192 303 16 +192 304 16 +192 305 16 +192 306 16 +192 307 16 +192 308 16 +192 309 16 +192 310 16 +192 311 16 +192 312 16 +192 313 16 +192 314 16 +192 315 16 +192 316 16 +192 317 16 +192 318 16 +192 319 16 +192 320 16 +192 321 16 +192 322 16 +192 323 16 +192 324 16 +192 325 16 +192 326 16 +192 327 16 +192 328 16 +192 329 16 +192 330 16 +192 331 16 +192 332 16 +192 333 16 +192 334 16 +192 335 16 +192 336 16 +192 337 16 +192 338 16 +192 339 16 +192 340 16 +192 341 16 +192 342 16 +192 343 16 +192 344 16 +192 345 16 +192 346 16 +192 347 16 +192 348 16 +192 349 16 +193 194 16 +193 195 16 +193 196 16 +193 197 16 +193 198 16 +193 199 16 +193 200 16 +193 201 16 +193 202 16 +193 203 16 +193 204 16 +193 205 16 +193 206 16 +193 207 16 +193 208 16 +193 209 16 +193 210 16 +193 211 16 +193 212 16 +193 213 16 +193 214 16 +193 215 16 +193 216 16 +193 217 16 +193 218 16 +193 219 16 +193 220 16 +193 221 16 +193 222 16 +193 223 16 +193 224 16 +193 225 16 +193 226 16 +193 227 16 +193 228 16 +193 229 16 +193 230 16 +193 231 16 +193 232 16 +193 233 16 +193 234 16 +193 235 16 +193 236 16 +193 237 16 +193 238 16 +193 239 16 +193 240 16 +193 241 16 +193 242 16 +193 243 16 +193 244 16 +193 245 16 +193 246 16 +193 247 16 +193 248 16 +193 249 16 +193 250 16 +193 251 16 +193 252 16 +193 253 16 +193 254 16 +193 255 16 +193 256 16 +193 257 16 +193 258 16 +193 259 16 +193 260 16 +193 261 16 +193 262 16 +193 263 16 +193 264 16 +193 265 16 +193 266 16 +193 267 16 +193 268 16 +193 269 16 +193 270 16 +193 271 16 +193 272 16 +193 273 16 +193 274 16 +193 275 16 +193 276 16 +193 277 16 +193 278 16 +193 279 16 +193 280 16 +193 281 16 +193 282 16 +193 283 16 +193 284 16 +193 285 16 +193 286 16 +193 287 16 +193 288 16 +193 289 16 +193 290 16 +193 291 16 +193 292 16 +193 293 16 +193 294 16 +193 295 16 +193 296 16 +193 297 16 +193 298 16 +193 299 16 +193 300 16 +193 301 16 +193 302 16 +193 303 16 +193 304 16 +193 305 16 +193 306 16 +193 307 16 +193 308 16 +193 309 16 +193 310 16 +193 311 16 +193 312 16 +193 313 16 +193 314 16 +193 315 16 +193 316 16 +193 317 16 +193 318 16 +193 319 16 +193 320 16 +193 321 16 +193 322 16 +193 323 16 +193 324 16 +193 325 16 +193 326 16 +193 327 16 +193 328 16 +193 329 16 +193 330 16 +193 331 16 +193 332 16 +193 333 16 +193 334 16 +193 335 16 +193 336 16 +193 337 16 +193 338 16 +193 339 16 +193 340 16 +193 341 16 +193 342 16 +193 343 16 +193 344 16 +193 345 16 +193 346 16 +193 347 16 +193 348 16 +193 349 16 +194 195 16 +194 196 16 +194 197 16 +194 198 16 +194 199 16 +194 200 16 +194 201 16 +194 202 16 +194 203 16 +194 204 16 +194 205 16 +194 206 16 +194 207 16 +194 208 16 +194 209 16 +194 210 16 +194 211 16 +194 212 16 +194 213 16 +194 214 16 +194 215 16 +194 216 16 +194 217 16 +194 218 16 +194 219 16 +194 220 16 +194 221 16 +194 222 16 +194 223 16 +194 224 16 +194 225 16 +194 226 16 +194 227 16 +194 228 16 +194 229 16 +194 230 16 +194 231 16 +194 232 16 +194 233 16 +194 234 16 +194 235 16 +194 236 16 +194 237 16 +194 238 16 +194 239 16 +194 240 16 +194 241 16 +194 242 16 +194 243 16 +194 244 16 +194 245 16 +194 246 16 +194 247 16 +194 248 16 +194 249 16 +194 250 16 +194 251 16 +194 252 16 +194 253 16 +194 254 16 +194 255 16 +194 256 16 +194 257 16 +194 258 16 +194 259 16 +194 260 16 +194 261 16 +194 262 16 +194 263 16 +194 264 16 +194 265 16 +194 266 16 +194 267 16 +194 268 16 +194 269 16 +194 270 16 +194 271 16 +194 272 16 +194 273 16 +194 274 16 +194 275 16 +194 276 16 +194 277 16 +194 278 16 +194 279 16 +194 280 16 +194 281 16 +194 282 16 +194 283 16 +194 284 16 +194 285 16 +194 286 16 +194 287 16 +194 288 16 +194 289 16 +194 290 16 +194 291 16 +194 292 16 +194 293 16 +194 294 16 +194 295 16 +194 296 16 +194 297 16 +194 298 16 +194 299 16 +194 300 16 +194 301 16 +194 302 16 +194 303 16 +194 304 16 +194 305 16 +194 306 16 +194 307 16 +194 308 16 +194 309 16 +194 310 16 +194 311 16 +194 312 16 +194 313 16 +194 314 16 +194 315 16 +194 316 16 +194 317 16 +194 318 16 +194 319 16 +194 320 16 +194 321 16 +194 322 16 +194 323 16 +194 324 16 +194 325 16 +194 326 16 +194 327 16 +194 328 16 +194 329 16 +194 330 16 +194 331 16 +194 332 16 +194 333 16 +194 334 16 +194 335 16 +194 336 16 +194 337 16 +194 338 16 +194 339 16 +194 340 16 +194 341 16 +194 342 16 +194 343 16 +194 344 16 +194 345 16 +194 346 16 +194 347 16 +194 348 16 +194 349 16 +195 196 16 +195 197 16 +195 198 16 +195 199 16 +195 200 16 +195 201 16 +195 202 16 +195 203 16 +195 204 16 +195 205 16 +195 206 16 +195 207 16 +195 208 16 +195 209 16 +195 210 16 +195 211 16 +195 212 16 +195 213 16 +195 214 16 +195 215 16 +195 216 16 +195 217 16 +195 218 16 +195 219 16 +195 220 16 +195 221 16 +195 222 16 +195 223 16 +195 224 16 +195 225 16 +195 226 16 +195 227 16 +195 228 16 +195 229 16 +195 230 16 +195 231 16 +195 232 16 +195 233 16 +195 234 16 +195 235 16 +195 236 16 +195 237 16 +195 238 16 +195 239 16 +195 240 16 +195 241 16 +195 242 16 +195 243 16 +195 244 16 +195 245 16 +195 246 16 +195 247 16 +195 248 16 +195 249 16 +195 250 16 +195 251 16 +195 252 16 +195 253 16 +195 254 16 +195 255 16 +195 256 16 +195 257 16 +195 258 16 +195 259 16 +195 260 16 +195 261 16 +195 262 16 +195 263 16 +195 264 16 +195 265 16 +195 266 16 +195 267 16 +195 268 16 +195 269 16 +195 270 16 +195 271 16 +195 272 16 +195 273 16 +195 274 16 +195 275 16 +195 276 16 +195 277 16 +195 278 16 +195 279 16 +195 280 16 +195 281 16 +195 282 16 +195 283 16 +195 284 16 +195 285 16 +195 286 16 +195 287 16 +195 288 16 +195 289 16 +195 290 16 +195 291 16 +195 292 16 +195 293 16 +195 294 16 +195 295 16 +195 296 16 +195 297 16 +195 298 16 +195 299 16 +195 300 16 +195 301 16 +195 302 16 +195 303 16 +195 304 16 +195 305 16 +195 306 16 +195 307 16 +195 308 16 +195 309 16 +195 310 16 +195 311 16 +195 312 16 +195 313 16 +195 314 16 +195 315 16 +195 316 16 +195 317 16 +195 318 16 +195 319 16 +195 320 16 +195 321 16 +195 322 16 +195 323 16 +195 324 16 +195 325 16 +195 326 16 +195 327 16 +195 328 16 +195 329 16 +195 330 16 +195 331 16 +195 332 16 +195 333 16 +195 334 16 +195 335 16 +195 336 16 +195 337 16 +195 338 16 +195 339 16 +195 340 16 +195 341 16 +195 342 16 +195 343 16 +195 344 16 +195 345 16 +195 346 16 +195 347 16 +195 348 16 +195 349 16 +196 197 16 +196 198 16 +196 199 16 +196 200 16 +196 201 16 +196 202 16 +196 203 16 +196 204 16 +196 205 16 +196 206 16 +196 207 16 +196 208 16 +196 209 16 +196 210 16 +196 211 16 +196 212 16 +196 213 16 +196 214 16 +196 215 16 +196 216 16 +196 217 16 +196 218 16 +196 219 16 +196 220 16 +196 221 16 +196 222 16 +196 223 16 +196 224 16 +196 225 16 +196 226 16 +196 227 16 +196 228 16 +196 229 16 +196 230 16 +196 231 16 +196 232 16 +196 233 16 +196 234 16 +196 235 16 +196 236 16 +196 237 16 +196 238 16 +196 239 16 +196 240 16 +196 241 16 +196 242 16 +196 243 16 +196 244 16 +196 245 16 +196 246 16 +196 247 16 +196 248 16 +196 249 16 +196 250 16 +196 251 16 +196 252 16 +196 253 16 +196 254 16 +196 255 16 +196 256 16 +196 257 16 +196 258 16 +196 259 16 +196 260 16 +196 261 16 +196 262 16 +196 263 16 +196 264 16 +196 265 16 +196 266 16 +196 267 16 +196 268 16 +196 269 16 +196 270 16 +196 271 16 +196 272 16 +196 273 16 +196 274 16 +196 275 16 +196 276 16 +196 277 16 +196 278 16 +196 279 16 +196 280 16 +196 281 16 +196 282 16 +196 283 16 +196 284 16 +196 285 16 +196 286 16 +196 287 16 +196 288 16 +196 289 16 +196 290 16 +196 291 16 +196 292 16 +196 293 16 +196 294 16 +196 295 16 +196 296 16 +196 297 16 +196 298 16 +196 299 16 +196 300 16 +196 301 16 +196 302 16 +196 303 16 +196 304 16 +196 305 16 +196 306 16 +196 307 16 +196 308 16 +196 309 16 +196 310 16 +196 311 16 +196 312 16 +196 313 16 +196 314 16 +196 315 16 +196 316 16 +196 317 16 +196 318 16 +196 319 16 +196 320 16 +196 321 16 +196 322 16 +196 323 16 +196 324 16 +196 325 16 +196 326 16 +196 327 16 +196 328 16 +196 329 16 +196 330 16 +196 331 16 +196 332 16 +196 333 16 +196 334 16 +196 335 16 +196 336 16 +196 337 16 +196 338 16 +196 339 16 +196 340 16 +196 341 16 +196 342 16 +196 343 16 +196 344 16 +196 345 16 +196 346 16 +196 347 16 +196 348 16 +196 349 16 +197 198 16 +197 199 16 +197 200 16 +197 201 16 +197 202 16 +197 203 16 +197 204 16 +197 205 16 +197 206 16 +197 207 16 +197 208 16 +197 209 16 +197 210 16 +197 211 16 +197 212 16 +197 213 16 +197 214 16 +197 215 16 +197 216 16 +197 217 16 +197 218 16 +197 219 16 +197 220 16 +197 221 16 +197 222 16 +197 223 16 +197 224 16 +197 225 16 +197 226 16 +197 227 16 +197 228 16 +197 229 16 +197 230 16 +197 231 16 +197 232 16 +197 233 16 +197 234 16 +197 235 16 +197 236 16 +197 237 16 +197 238 16 +197 239 16 +197 240 16 +197 241 16 +197 242 16 +197 243 16 +197 244 16 +197 245 16 +197 246 16 +197 247 16 +197 248 16 +197 249 16 +197 250 16 +197 251 16 +197 252 16 +197 253 16 +197 254 16 +197 255 16 +197 256 16 +197 257 16 +197 258 16 +197 259 16 +197 260 16 +197 261 16 +197 262 16 +197 263 16 +197 264 16 +197 265 16 +197 266 16 +197 267 16 +197 268 16 +197 269 16 +197 270 16 +197 271 16 +197 272 16 +197 273 16 +197 274 16 +197 275 16 +197 276 16 +197 277 16 +197 278 16 +197 279 16 +197 280 16 +197 281 16 +197 282 16 +197 283 16 +197 284 16 +197 285 16 +197 286 16 +197 287 16 +197 288 16 +197 289 16 +197 290 16 +197 291 16 +197 292 16 +197 293 16 +197 294 16 +197 295 16 +197 296 16 +197 297 16 +197 298 16 +197 299 16 +197 300 16 +197 301 16 +197 302 16 +197 303 16 +197 304 16 +197 305 16 +197 306 16 +197 307 16 +197 308 16 +197 309 16 +197 310 16 +197 311 16 +197 312 16 +197 313 16 +197 314 16 +197 315 16 +197 316 16 +197 317 16 +197 318 16 +197 319 16 +197 320 16 +197 321 16 +197 322 16 +197 323 16 +197 324 16 +197 325 16 +197 326 16 +197 327 16 +197 328 16 +197 329 16 +197 330 16 +197 331 16 +197 332 16 +197 333 16 +197 334 16 +197 335 16 +197 336 16 +197 337 16 +197 338 16 +197 339 16 +197 340 16 +197 341 16 +197 342 16 +197 343 16 +197 344 16 +197 345 16 +197 346 16 +197 347 16 +197 348 16 +197 349 16 +198 199 16 +198 200 16 +198 201 16 +198 202 16 +198 203 16 +198 204 16 +198 205 16 +198 206 16 +198 207 16 +198 208 16 +198 209 16 +198 210 16 +198 211 16 +198 212 16 +198 213 16 +198 214 16 +198 215 16 +198 216 16 +198 217 16 +198 218 16 +198 219 16 +198 220 16 +198 221 16 +198 222 16 +198 223 16 +198 224 16 +198 225 16 +198 226 16 +198 227 16 +198 228 16 +198 229 16 +198 230 16 +198 231 16 +198 232 16 +198 233 16 +198 234 16 +198 235 16 +198 236 16 +198 237 16 +198 238 16 +198 239 16 +198 240 16 +198 241 16 +198 242 16 +198 243 16 +198 244 16 +198 245 16 +198 246 16 +198 247 16 +198 248 16 +198 249 16 +198 250 16 +198 251 16 +198 252 16 +198 253 16 +198 254 16 +198 255 16 +198 256 16 +198 257 16 +198 258 16 +198 259 16 +198 260 16 +198 261 16 +198 262 16 +198 263 16 +198 264 16 +198 265 16 +198 266 16 +198 267 16 +198 268 16 +198 269 16 +198 270 16 +198 271 16 +198 272 16 +198 273 16 +198 274 16 +198 275 16 +198 276 16 +198 277 16 +198 278 16 +198 279 16 +198 280 16 +198 281 16 +198 282 16 +198 283 16 +198 284 16 +198 285 16 +198 286 16 +198 287 16 +198 288 16 +198 289 16 +198 290 16 +198 291 16 +198 292 16 +198 293 16 +198 294 16 +198 295 16 +198 296 16 +198 297 16 +198 298 16 +198 299 16 +198 300 16 +198 301 16 +198 302 16 +198 303 16 +198 304 16 +198 305 16 +198 306 16 +198 307 16 +198 308 16 +198 309 16 +198 310 16 +198 311 16 +198 312 16 +198 313 16 +198 314 16 +198 315 16 +198 316 16 +198 317 16 +198 318 16 +198 319 16 +198 320 16 +198 321 16 +198 322 16 +198 323 16 +198 324 16 +198 325 16 +198 326 16 +198 327 16 +198 328 16 +198 329 16 +198 330 16 +198 331 16 +198 332 16 +198 333 16 +198 334 16 +198 335 16 +198 336 16 +198 337 16 +198 338 16 +198 339 16 +198 340 16 +198 341 16 +198 342 16 +198 343 16 +198 344 16 +198 345 16 +198 346 16 +198 347 16 +198 348 16 +198 349 16 +199 200 16 +199 201 16 +199 202 16 +199 203 16 +199 204 16 +199 205 16 +199 206 16 +199 207 16 +199 208 16 +199 209 16 +199 210 16 +199 211 16 +199 212 16 +199 213 16 +199 214 16 +199 215 16 +199 216 16 +199 217 16 +199 218 16 +199 219 16 +199 220 16 +199 221 16 +199 222 16 +199 223 16 +199 224 16 +199 225 16 +199 226 16 +199 227 16 +199 228 16 +199 229 16 +199 230 16 +199 231 16 +199 232 16 +199 233 16 +199 234 16 +199 235 16 +199 236 16 +199 237 16 +199 238 16 +199 239 16 +199 240 16 +199 241 16 +199 242 16 +199 243 16 +199 244 16 +199 245 16 +199 246 16 +199 247 16 +199 248 16 +199 249 16 +199 250 16 +199 251 16 +199 252 16 +199 253 16 +199 254 16 +199 255 16 +199 256 16 +199 257 16 +199 258 16 +199 259 16 +199 260 16 +199 261 16 +199 262 16 +199 263 16 +199 264 16 +199 265 16 +199 266 16 +199 267 16 +199 268 16 +199 269 16 +199 270 16 +199 271 16 +199 272 16 +199 273 16 +199 274 16 +199 275 16 +199 276 16 +199 277 16 +199 278 16 +199 279 16 +199 280 16 +199 281 16 +199 282 16 +199 283 16 +199 284 16 +199 285 16 +199 286 16 +199 287 16 +199 288 16 +199 289 16 +199 290 16 +199 291 16 +199 292 16 +199 293 16 +199 294 16 +199 295 16 +199 296 16 +199 297 16 +199 298 16 +199 299 16 +199 300 16 +199 301 16 +199 302 16 +199 303 16 +199 304 16 +199 305 16 +199 306 16 +199 307 16 +199 308 16 +199 309 16 +199 310 16 +199 311 16 +199 312 16 +199 313 16 +199 314 16 +199 315 16 +199 316 16 +199 317 16 +199 318 16 +199 319 16 +199 320 16 +199 321 16 +199 322 16 +199 323 16 +199 324 16 +199 325 16 +199 326 16 +199 327 16 +199 328 16 +199 329 16 +199 330 16 +199 331 16 +199 332 16 +199 333 16 +199 334 16 +199 335 16 +199 336 16 +199 337 16 +199 338 16 +199 339 16 +199 340 16 +199 341 16 +199 342 16 +199 343 16 +199 344 16 +199 345 16 +199 346 16 +199 347 16 +199 348 16 +199 349 16 +200 201 16 +200 202 16 +200 203 16 +200 204 16 +200 205 16 +200 206 16 +200 207 16 +200 208 16 +200 209 16 +200 210 16 +200 211 16 +200 212 16 +200 213 16 +200 214 16 +200 215 16 +200 216 16 +200 217 16 +200 218 16 +200 219 16 +200 220 16 +200 221 16 +200 222 16 +200 223 16 +200 224 16 +200 225 16 +200 226 16 +200 227 16 +200 228 16 +200 229 16 +200 230 16 +200 231 16 +200 232 16 +200 233 16 +200 234 16 +200 235 16 +200 236 16 +200 237 16 +200 238 16 +200 239 16 +200 240 16 +200 241 16 +200 242 16 +200 243 16 +200 244 16 +200 245 16 +200 246 16 +200 247 16 +200 248 16 +200 249 16 +200 250 16 +200 251 16 +200 252 16 +200 253 16 +200 254 16 +200 255 16 +200 256 16 +200 257 16 +200 258 16 +200 259 16 +200 260 16 +200 261 16 +200 262 16 +200 263 16 +200 264 16 +200 265 16 +200 266 16 +200 267 16 +200 268 16 +200 269 16 +200 270 16 +200 271 16 +200 272 16 +200 273 16 +200 274 16 +200 275 16 +200 276 16 +200 277 16 +200 278 16 +200 279 16 +200 280 16 +200 281 16 +200 282 16 +200 283 16 +200 284 16 +200 285 16 +200 286 16 +200 287 16 +200 288 16 +200 289 16 +200 290 16 +200 291 16 +200 292 16 +200 293 16 +200 294 16 +200 295 16 +200 296 16 +200 297 16 +200 298 16 +200 299 16 +200 300 16 +200 301 16 +200 302 16 +200 303 16 +200 304 16 +200 305 16 +200 306 16 +200 307 16 +200 308 16 +200 309 16 +200 310 16 +200 311 16 +200 312 16 +200 313 16 +200 314 16 +200 315 16 +200 316 16 +200 317 16 +200 318 16 +200 319 16 +200 320 16 +200 321 16 +200 322 16 +200 323 16 +200 324 16 +200 325 16 +200 326 16 +200 327 16 +200 328 16 +200 329 16 +200 330 16 +200 331 16 +200 332 16 +200 333 16 +200 334 16 +200 335 16 +200 336 16 +200 337 16 +200 338 16 +200 339 16 +200 340 16 +200 341 16 +200 342 16 +200 343 16 +200 344 16 +200 345 16 +200 346 16 +200 347 16 +200 348 16 +200 349 16 +201 202 16 +201 203 16 +201 204 16 +201 205 16 +201 206 16 +201 207 16 +201 208 16 +201 209 16 +201 210 16 +201 211 16 +201 212 16 +201 213 16 +201 214 16 +201 215 16 +201 216 16 +201 217 16 +201 218 16 +201 219 16 +201 220 16 +201 221 16 +201 222 16 +201 223 16 +201 224 16 +201 225 16 +201 226 16 +201 227 16 +201 228 16 +201 229 16 +201 230 16 +201 231 16 +201 232 16 +201 233 16 +201 234 16 +201 235 16 +201 236 16 +201 237 16 +201 238 16 +201 239 16 +201 240 16 +201 241 16 +201 242 16 +201 243 16 +201 244 16 +201 245 16 +201 246 16 +201 247 16 +201 248 16 +201 249 16 +201 250 16 +201 251 16 +201 252 16 +201 253 16 +201 254 16 +201 255 16 +201 256 16 +201 257 16 +201 258 16 +201 259 16 +201 260 16 +201 261 16 +201 262 16 +201 263 16 +201 264 16 +201 265 16 +201 266 16 +201 267 16 +201 268 16 +201 269 16 +201 270 16 +201 271 16 +201 272 16 +201 273 16 +201 274 16 +201 275 16 +201 276 16 +201 277 16 +201 278 16 +201 279 16 +201 280 16 +201 281 16 +201 282 16 +201 283 16 +201 284 16 +201 285 16 +201 286 16 +201 287 16 +201 288 16 +201 289 16 +201 290 16 +201 291 16 +201 292 16 +201 293 16 +201 294 16 +201 295 16 +201 296 16 +201 297 16 +201 298 16 +201 299 16 +201 300 16 +201 301 16 +201 302 16 +201 303 16 +201 304 16 +201 305 16 +201 306 16 +201 307 16 +201 308 16 +201 309 16 +201 310 16 +201 311 16 +201 312 16 +201 313 16 +201 314 16 +201 315 16 +201 316 16 +201 317 16 +201 318 16 +201 319 16 +201 320 16 +201 321 16 +201 322 16 +201 323 16 +201 324 16 +201 325 16 +201 326 16 +201 327 16 +201 328 16 +201 329 16 +201 330 16 +201 331 16 +201 332 16 +201 333 16 +201 334 16 +201 335 16 +201 336 16 +201 337 16 +201 338 16 +201 339 16 +201 340 16 +201 341 16 +201 342 16 +201 343 16 +201 344 16 +201 345 16 +201 346 16 +201 347 16 +201 348 16 +201 349 16 +202 203 16 +202 204 16 +202 205 16 +202 206 16 +202 207 16 +202 208 16 +202 209 16 +202 210 16 +202 211 16 +202 212 16 +202 213 16 +202 214 16 +202 215 16 +202 216 16 +202 217 16 +202 218 16 +202 219 16 +202 220 16 +202 221 16 +202 222 16 +202 223 16 +202 224 16 +202 225 16 +202 226 16 +202 227 16 +202 228 16 +202 229 16 +202 230 16 +202 231 16 +202 232 16 +202 233 16 +202 234 16 +202 235 16 +202 236 16 +202 237 16 +202 238 16 +202 239 16 +202 240 16 +202 241 16 +202 242 16 +202 243 16 +202 244 16 +202 245 16 +202 246 16 +202 247 16 +202 248 16 +202 249 16 +202 250 16 +202 251 16 +202 252 16 +202 253 16 +202 254 16 +202 255 16 +202 256 16 +202 257 16 +202 258 16 +202 259 16 +202 260 16 +202 261 16 +202 262 16 +202 263 16 +202 264 16 +202 265 16 +202 266 16 +202 267 16 +202 268 16 +202 269 16 +202 270 16 +202 271 16 +202 272 16 +202 273 16 +202 274 16 +202 275 16 +202 276 16 +202 277 16 +202 278 16 +202 279 16 +202 280 16 +202 281 16 +202 282 16 +202 283 16 +202 284 16 +202 285 16 +202 286 16 +202 287 16 +202 288 16 +202 289 16 +202 290 16 +202 291 16 +202 292 16 +202 293 16 +202 294 16 +202 295 16 +202 296 16 +202 297 16 +202 298 16 +202 299 16 +202 300 16 +202 301 16 +202 302 16 +202 303 16 +202 304 16 +202 305 16 +202 306 16 +202 307 16 +202 308 16 +202 309 16 +202 310 16 +202 311 16 +202 312 16 +202 313 16 +202 314 16 +202 315 16 +202 316 16 +202 317 16 +202 318 16 +202 319 16 +202 320 16 +202 321 16 +202 322 16 +202 323 16 +202 324 16 +202 325 16 +202 326 16 +202 327 16 +202 328 16 +202 329 16 +202 330 16 +202 331 16 +202 332 16 +202 333 16 +202 334 16 +202 335 16 +202 336 16 +202 337 16 +202 338 16 +202 339 16 +202 340 16 +202 341 16 +202 342 16 +202 343 16 +202 344 16 +202 345 16 +202 346 16 +202 347 16 +202 348 16 +202 349 16 +203 204 16 +203 205 16 +203 206 16 +203 207 16 +203 208 16 +203 209 16 +203 210 16 +203 211 16 +203 212 16 +203 213 16 +203 214 16 +203 215 16 +203 216 16 +203 217 16 +203 218 16 +203 219 16 +203 220 16 +203 221 16 +203 222 16 +203 223 16 +203 224 16 +203 225 16 +203 226 16 +203 227 16 +203 228 16 +203 229 16 +203 230 16 +203 231 16 +203 232 16 +203 233 16 +203 234 16 +203 235 16 +203 236 16 +203 237 16 +203 238 16 +203 239 16 +203 240 16 +203 241 16 +203 242 16 +203 243 16 +203 244 16 +203 245 16 +203 246 16 +203 247 16 +203 248 16 +203 249 16 +203 250 16 +203 251 16 +203 252 16 +203 253 16 +203 254 16 +203 255 16 +203 256 16 +203 257 16 +203 258 16 +203 259 16 +203 260 16 +203 261 16 +203 262 16 +203 263 16 +203 264 16 +203 265 16 +203 266 16 +203 267 16 +203 268 16 +203 269 16 +203 270 16 +203 271 16 +203 272 16 +203 273 16 +203 274 16 +203 275 16 +203 276 16 +203 277 16 +203 278 16 +203 279 16 +203 280 16 +203 281 16 +203 282 16 +203 283 16 +203 284 16 +203 285 16 +203 286 16 +203 287 16 +203 288 16 +203 289 16 +203 290 16 +203 291 16 +203 292 16 +203 293 16 +203 294 16 +203 295 16 +203 296 16 +203 297 16 +203 298 16 +203 299 16 +203 300 16 +203 301 16 +203 302 16 +203 303 16 +203 304 16 +203 305 16 +203 306 16 +203 307 16 +203 308 16 +203 309 16 +203 310 16 +203 311 16 +203 312 16 +203 313 16 +203 314 16 +203 315 16 +203 316 16 +203 317 16 +203 318 16 +203 319 16 +203 320 16 +203 321 16 +203 322 16 +203 323 16 +203 324 16 +203 325 16 +203 326 16 +203 327 16 +203 328 16 +203 329 16 +203 330 16 +203 331 16 +203 332 16 +203 333 16 +203 334 16 +203 335 16 +203 336 16 +203 337 16 +203 338 16 +203 339 16 +203 340 16 +203 341 16 +203 342 16 +203 343 16 +203 344 16 +203 345 16 +203 346 16 +203 347 16 +203 348 16 +203 349 16 +204 205 16 +204 206 16 +204 207 16 +204 208 16 +204 209 16 +204 210 16 +204 211 16 +204 212 16 +204 213 16 +204 214 16 +204 215 16 +204 216 16 +204 217 16 +204 218 16 +204 219 16 +204 220 16 +204 221 16 +204 222 16 +204 223 16 +204 224 16 +204 225 16 +204 226 16 +204 227 16 +204 228 16 +204 229 16 +204 230 16 +204 231 16 +204 232 16 +204 233 16 +204 234 16 +204 235 16 +204 236 16 +204 237 16 +204 238 16 +204 239 16 +204 240 16 +204 241 16 +204 242 16 +204 243 16 +204 244 16 +204 245 16 +204 246 16 +204 247 16 +204 248 16 +204 249 16 +204 250 16 +204 251 16 +204 252 16 +204 253 16 +204 254 16 +204 255 16 +204 256 16 +204 257 16 +204 258 16 +204 259 16 +204 260 16 +204 261 16 +204 262 16 +204 263 16 +204 264 16 +204 265 16 +204 266 16 +204 267 16 +204 268 16 +204 269 16 +204 270 16 +204 271 16 +204 272 16 +204 273 16 +204 274 16 +204 275 16 +204 276 16 +204 277 16 +204 278 16 +204 279 16 +204 280 16 +204 281 16 +204 282 16 +204 283 16 +204 284 16 +204 285 16 +204 286 16 +204 287 16 +204 288 16 +204 289 16 +204 290 16 +204 291 16 +204 292 16 +204 293 16 +204 294 16 +204 295 16 +204 296 16 +204 297 16 +204 298 16 +204 299 16 +204 300 16 +204 301 16 +204 302 16 +204 303 16 +204 304 16 +204 305 16 +204 306 16 +204 307 16 +204 308 16 +204 309 16 +204 310 16 +204 311 16 +204 312 16 +204 313 16 +204 314 16 +204 315 16 +204 316 16 +204 317 16 +204 318 16 +204 319 16 +204 320 16 +204 321 16 +204 322 16 +204 323 16 +204 324 16 +204 325 16 +204 326 16 +204 327 16 +204 328 16 +204 329 16 +204 330 16 +204 331 16 +204 332 16 +204 333 16 +204 334 16 +204 335 16 +204 336 16 +204 337 16 +204 338 16 +204 339 16 +204 340 16 +204 341 16 +204 342 16 +204 343 16 +204 344 16 +204 345 16 +204 346 16 +204 347 16 +204 348 16 +204 349 16 +205 206 16 +205 207 16 +205 208 16 +205 209 16 +205 210 16 +205 211 16 +205 212 16 +205 213 16 +205 214 16 +205 215 16 +205 216 16 +205 217 16 +205 218 16 +205 219 16 +205 220 16 +205 221 16 +205 222 16 +205 223 16 +205 224 16 +205 225 16 +205 226 16 +205 227 16 +205 228 16 +205 229 16 +205 230 16 +205 231 16 +205 232 16 +205 233 16 +205 234 16 +205 235 16 +205 236 16 +205 237 16 +205 238 16 +205 239 16 +205 240 16 +205 241 16 +205 242 16 +205 243 16 +205 244 16 +205 245 16 +205 246 16 +205 247 16 +205 248 16 +205 249 16 +205 250 16 +205 251 16 +205 252 16 +205 253 16 +205 254 16 +205 255 16 +205 256 16 +205 257 16 +205 258 16 +205 259 16 +205 260 16 +205 261 16 +205 262 16 +205 263 16 +205 264 16 +205 265 16 +205 266 16 +205 267 16 +205 268 16 +205 269 16 +205 270 16 +205 271 16 +205 272 16 +205 273 16 +205 274 16 +205 275 16 +205 276 16 +205 277 16 +205 278 16 +205 279 16 +205 280 16 +205 281 16 +205 282 16 +205 283 16 +205 284 16 +205 285 16 +205 286 16 +205 287 16 +205 288 16 +205 289 16 +205 290 16 +205 291 16 +205 292 16 +205 293 16 +205 294 16 +205 295 16 +205 296 16 +205 297 16 +205 298 16 +205 299 16 +205 300 16 +205 301 16 +205 302 16 +205 303 16 +205 304 16 +205 305 16 +205 306 16 +205 307 16 +205 308 16 +205 309 16 +205 310 16 +205 311 16 +205 312 16 +205 313 16 +205 314 16 +205 315 16 +205 316 16 +205 317 16 +205 318 16 +205 319 16 +205 320 16 +205 321 16 +205 322 16 +205 323 16 +205 324 16 +205 325 16 +205 326 16 +205 327 16 +205 328 16 +205 329 16 +205 330 16 +205 331 16 +205 332 16 +205 333 16 +205 334 16 +205 335 16 +205 336 16 +205 337 16 +205 338 16 +205 339 16 +205 340 16 +205 341 16 +205 342 16 +205 343 16 +205 344 16 +205 345 16 +205 346 16 +205 347 16 +205 348 16 +205 349 16 +206 207 16 +206 208 16 +206 209 16 +206 210 16 +206 211 16 +206 212 16 +206 213 16 +206 214 16 +206 215 16 +206 216 16 +206 217 16 +206 218 16 +206 219 16 +206 220 16 +206 221 16 +206 222 16 +206 223 16 +206 224 16 +206 225 16 +206 226 16 +206 227 16 +206 228 16 +206 229 16 +206 230 16 +206 231 16 +206 232 16 +206 233 16 +206 234 16 +206 235 16 +206 236 16 +206 237 16 +206 238 16 +206 239 16 +206 240 16 +206 241 16 +206 242 16 +206 243 16 +206 244 16 +206 245 16 +206 246 16 +206 247 16 +206 248 16 +206 249 16 +206 250 16 +206 251 16 +206 252 16 +206 253 16 +206 254 16 +206 255 16 +206 256 16 +206 257 16 +206 258 16 +206 259 16 +206 260 16 +206 261 16 +206 262 16 +206 263 16 +206 264 16 +206 265 16 +206 266 16 +206 267 16 +206 268 16 +206 269 16 +206 270 16 +206 271 16 +206 272 16 +206 273 16 +206 274 16 +206 275 16 +206 276 16 +206 277 16 +206 278 16 +206 279 16 +206 280 16 +206 281 16 +206 282 16 +206 283 16 +206 284 16 +206 285 16 +206 286 16 +206 287 16 +206 288 16 +206 289 16 +206 290 16 +206 291 16 +206 292 16 +206 293 16 +206 294 16 +206 295 16 +206 296 16 +206 297 16 +206 298 16 +206 299 16 +206 300 16 +206 301 16 +206 302 16 +206 303 16 +206 304 16 +206 305 16 +206 306 16 +206 307 16 +206 308 16 +206 309 16 +206 310 16 +206 311 16 +206 312 16 +206 313 16 +206 314 16 +206 315 16 +206 316 16 +206 317 16 +206 318 16 +206 319 16 +206 320 16 +206 321 16 +206 322 16 +206 323 16 +206 324 16 +206 325 16 +206 326 16 +206 327 16 +206 328 16 +206 329 16 +206 330 16 +206 331 16 +206 332 16 +206 333 16 +206 334 16 +206 335 16 +206 336 16 +206 337 16 +206 338 16 +206 339 16 +206 340 16 +206 341 16 +206 342 16 +206 343 16 +206 344 16 +206 345 16 +206 346 16 +206 347 16 +206 348 16 +206 349 16 +207 208 16 +207 209 16 +207 210 16 +207 211 16 +207 212 16 +207 213 16 +207 214 16 +207 215 16 +207 216 16 +207 217 16 +207 218 16 +207 219 16 +207 220 16 +207 221 16 +207 222 16 +207 223 16 +207 224 16 +207 225 16 +207 226 16 +207 227 16 +207 228 16 +207 229 16 +207 230 16 +207 231 16 +207 232 16 +207 233 16 +207 234 16 +207 235 16 +207 236 16 +207 237 16 +207 238 16 +207 239 16 +207 240 16 +207 241 16 +207 242 16 +207 243 16 +207 244 16 +207 245 16 +207 246 16 +207 247 16 +207 248 16 +207 249 16 +207 250 16 +207 251 16 +207 252 16 +207 253 16 +207 254 16 +207 255 16 +207 256 16 +207 257 16 +207 258 16 +207 259 16 +207 260 16 +207 261 16 +207 262 16 +207 263 16 +207 264 16 +207 265 16 +207 266 16 +207 267 16 +207 268 16 +207 269 16 +207 270 16 +207 271 16 +207 272 16 +207 273 16 +207 274 16 +207 275 16 +207 276 16 +207 277 16 +207 278 16 +207 279 16 +207 280 16 +207 281 16 +207 282 16 +207 283 16 +207 284 16 +207 285 16 +207 286 16 +207 287 16 +207 288 16 +207 289 16 +207 290 16 +207 291 16 +207 292 16 +207 293 16 +207 294 16 +207 295 16 +207 296 16 +207 297 16 +207 298 16 +207 299 16 +207 300 16 +207 301 16 +207 302 16 +207 303 16 +207 304 16 +207 305 16 +207 306 16 +207 307 16 +207 308 16 +207 309 16 +207 310 16 +207 311 16 +207 312 16 +207 313 16 +207 314 16 +207 315 16 +207 316 16 +207 317 16 +207 318 16 +207 319 16 +207 320 16 +207 321 16 +207 322 16 +207 323 16 +207 324 16 +207 325 16 +207 326 16 +207 327 16 +207 328 16 +207 329 16 +207 330 16 +207 331 16 +207 332 16 +207 333 16 +207 334 16 +207 335 16 +207 336 16 +207 337 16 +207 338 16 +207 339 16 +207 340 16 +207 341 16 +207 342 16 +207 343 16 +207 344 16 +207 345 16 +207 346 16 +207 347 16 +207 348 16 +207 349 16 +208 209 16 +208 210 16 +208 211 16 +208 212 16 +208 213 16 +208 214 16 +208 215 16 +208 216 16 +208 217 16 +208 218 16 +208 219 16 +208 220 16 +208 221 16 +208 222 16 +208 223 16 +208 224 16 +208 225 16 +208 226 16 +208 227 16 +208 228 16 +208 229 16 +208 230 16 +208 231 16 +208 232 16 +208 233 16 +208 234 16 +208 235 16 +208 236 16 +208 237 16 +208 238 16 +208 239 16 +208 240 16 +208 241 16 +208 242 16 +208 243 16 +208 244 16 +208 245 16 +208 246 16 +208 247 16 +208 248 16 +208 249 16 +208 250 16 +208 251 16 +208 252 16 +208 253 16 +208 254 16 +208 255 16 +208 256 16 +208 257 16 +208 258 16 +208 259 16 +208 260 16 +208 261 16 +208 262 16 +208 263 16 +208 264 16 +208 265 16 +208 266 16 +208 267 16 +208 268 16 +208 269 16 +208 270 16 +208 271 16 +208 272 16 +208 273 16 +208 274 16 +208 275 16 +208 276 16 +208 277 16 +208 278 16 +208 279 16 +208 280 16 +208 281 16 +208 282 16 +208 283 16 +208 284 16 +208 285 16 +208 286 16 +208 287 16 +208 288 16 +208 289 16 +208 290 16 +208 291 16 +208 292 16 +208 293 16 +208 294 16 +208 295 16 +208 296 16 +208 297 16 +208 298 16 +208 299 16 +208 300 16 +208 301 16 +208 302 16 +208 303 16 +208 304 16 +208 305 16 +208 306 16 +208 307 16 +208 308 16 +208 309 16 +208 310 16 +208 311 16 +208 312 16 +208 313 16 +208 314 16 +208 315 16 +208 316 16 +208 317 16 +208 318 16 +208 319 16 +208 320 16 +208 321 16 +208 322 16 +208 323 16 +208 324 16 +208 325 16 +208 326 16 +208 327 16 +208 328 16 +208 329 16 +208 330 16 +208 331 16 +208 332 16 +208 333 16 +208 334 16 +208 335 16 +208 336 16 +208 337 16 +208 338 16 +208 339 16 +208 340 16 +208 341 16 +208 342 16 +208 343 16 +208 344 16 +208 345 16 +208 346 16 +208 347 16 +208 348 16 +208 349 16 +209 210 16 +209 211 16 +209 212 16 +209 213 16 +209 214 16 +209 215 16 +209 216 16 +209 217 16 +209 218 16 +209 219 16 +209 220 16 +209 221 16 +209 222 16 +209 223 16 +209 224 16 +209 225 16 +209 226 16 +209 227 16 +209 228 16 +209 229 16 +209 230 16 +209 231 16 +209 232 16 +209 233 16 +209 234 16 +209 235 16 +209 236 16 +209 237 16 +209 238 16 +209 239 16 +209 240 16 +209 241 16 +209 242 16 +209 243 16 +209 244 16 +209 245 16 +209 246 16 +209 247 16 +209 248 16 +209 249 16 +209 250 16 +209 251 16 +209 252 16 +209 253 16 +209 254 16 +209 255 16 +209 256 16 +209 257 16 +209 258 16 +209 259 16 +209 260 16 +209 261 16 +209 262 16 +209 263 16 +209 264 16 +209 265 16 +209 266 16 +209 267 16 +209 268 16 +209 269 16 +209 270 16 +209 271 16 +209 272 16 +209 273 16 +209 274 16 +209 275 16 +209 276 16 +209 277 16 +209 278 16 +209 279 16 +209 280 16 +209 281 16 +209 282 16 +209 283 16 +209 284 16 +209 285 16 +209 286 16 +209 287 16 +209 288 16 +209 289 16 +209 290 16 +209 291 16 +209 292 16 +209 293 16 +209 294 16 +209 295 16 +209 296 16 +209 297 16 +209 298 16 +209 299 16 +209 300 16 +209 301 16 +209 302 16 +209 303 16 +209 304 16 +209 305 16 +209 306 16 +209 307 16 +209 308 16 +209 309 16 +209 310 16 +209 311 16 +209 312 16 +209 313 16 +209 314 16 +209 315 16 +209 316 16 +209 317 16 +209 318 16 +209 319 16 +209 320 16 +209 321 16 +209 322 16 +209 323 16 +209 324 16 +209 325 16 +209 326 16 +209 327 16 +209 328 16 +209 329 16 +209 330 16 +209 331 16 +209 332 16 +209 333 16 +209 334 16 +209 335 16 +209 336 16 +209 337 16 +209 338 16 +209 339 16 +209 340 16 +209 341 16 +209 342 16 +209 343 16 +209 344 16 +209 345 16 +209 346 16 +209 347 16 +209 348 16 +209 349 16 +210 211 16 +210 212 16 +210 213 16 +210 214 16 +210 215 16 +210 216 16 +210 217 16 +210 218 16 +210 219 16 +210 220 16 +210 221 16 +210 222 16 +210 223 16 +210 224 16 +210 225 16 +210 226 16 +210 227 16 +210 228 16 +210 229 16 +210 230 16 +210 231 16 +210 232 16 +210 233 16 +210 234 16 +210 235 16 +210 236 16 +210 237 16 +210 238 16 +210 239 16 +210 240 16 +210 241 16 +210 242 16 +210 243 16 +210 244 16 +210 245 16 +210 246 16 +210 247 16 +210 248 16 +210 249 16 +210 250 16 +210 251 16 +210 252 16 +210 253 16 +210 254 16 +210 255 16 +210 256 16 +210 257 16 +210 258 16 +210 259 16 +210 260 16 +210 261 16 +210 262 16 +210 263 16 +210 264 16 +210 265 16 +210 266 16 +210 267 16 +210 268 16 +210 269 16 +210 270 16 +210 271 16 +210 272 16 +210 273 16 +210 274 16 +210 275 16 +210 276 16 +210 277 16 +210 278 16 +210 279 16 +210 280 16 +210 281 16 +210 282 16 +210 283 16 +210 284 16 +210 285 16 +210 286 16 +210 287 16 +210 288 16 +210 289 16 +210 290 16 +210 291 16 +210 292 16 +210 293 16 +210 294 16 +210 295 16 +210 296 16 +210 297 16 +210 298 16 +210 299 16 +210 300 16 +210 301 16 +210 302 16 +210 303 16 +210 304 16 +210 305 16 +210 306 16 +210 307 16 +210 308 16 +210 309 16 +210 310 16 +210 311 16 +210 312 16 +210 313 16 +210 314 16 +210 315 16 +210 316 16 +210 317 16 +210 318 16 +210 319 16 +210 320 16 +210 321 16 +210 322 16 +210 323 16 +210 324 16 +210 325 16 +210 326 16 +210 327 16 +210 328 16 +210 329 16 +210 330 16 +210 331 16 +210 332 16 +210 333 16 +210 334 16 +210 335 16 +210 336 16 +210 337 16 +210 338 16 +210 339 16 +210 340 16 +210 341 16 +210 342 16 +210 343 16 +210 344 16 +210 345 16 +210 346 16 +210 347 16 +210 348 16 +210 349 16 +211 212 16 +211 213 16 +211 214 16 +211 215 16 +211 216 16 +211 217 16 +211 218 16 +211 219 16 +211 220 16 +211 221 16 +211 222 16 +211 223 16 +211 224 16 +211 225 16 +211 226 16 +211 227 16 +211 228 16 +211 229 16 +211 230 16 +211 231 16 +211 232 16 +211 233 16 +211 234 16 +211 235 16 +211 236 16 +211 237 16 +211 238 16 +211 239 16 +211 240 16 +211 241 16 +211 242 16 +211 243 16 +211 244 16 +211 245 16 +211 246 16 +211 247 16 +211 248 16 +211 249 16 +211 250 16 +211 251 16 +211 252 16 +211 253 16 +211 254 16 +211 255 16 +211 256 16 +211 257 16 +211 258 16 +211 259 16 +211 260 16 +211 261 16 +211 262 16 +211 263 16 +211 264 16 +211 265 16 +211 266 16 +211 267 16 +211 268 16 +211 269 16 +211 270 16 +211 271 16 +211 272 16 +211 273 16 +211 274 16 +211 275 16 +211 276 16 +211 277 16 +211 278 16 +211 279 16 +211 280 16 +211 281 16 +211 282 16 +211 283 16 +211 284 16 +211 285 16 +211 286 16 +211 287 16 +211 288 16 +211 289 16 +211 290 16 +211 291 16 +211 292 16 +211 293 16 +211 294 16 +211 295 16 +211 296 16 +211 297 16 +211 298 16 +211 299 16 +211 300 16 +211 301 16 +211 302 16 +211 303 16 +211 304 16 +211 305 16 +211 306 16 +211 307 16 +211 308 16 +211 309 16 +211 310 16 +211 311 16 +211 312 16 +211 313 16 +211 314 16 +211 315 16 +211 316 16 +211 317 16 +211 318 16 +211 319 16 +211 320 16 +211 321 16 +211 322 16 +211 323 16 +211 324 16 +211 325 16 +211 326 16 +211 327 16 +211 328 16 +211 329 16 +211 330 16 +211 331 16 +211 332 16 +211 333 16 +211 334 16 +211 335 16 +211 336 16 +211 337 16 +211 338 16 +211 339 16 +211 340 16 +211 341 16 +211 342 16 +211 343 16 +211 344 16 +211 345 16 +211 346 16 +211 347 16 +211 348 16 +211 349 16 +212 213 16 +212 214 16 +212 215 16 +212 216 16 +212 217 16 +212 218 16 +212 219 16 +212 220 16 +212 221 16 +212 222 16 +212 223 16 +212 224 16 +212 225 16 +212 226 16 +212 227 16 +212 228 16 +212 229 16 +212 230 16 +212 231 16 +212 232 16 +212 233 16 +212 234 16 +212 235 16 +212 236 16 +212 237 16 +212 238 16 +212 239 16 +212 240 16 +212 241 16 +212 242 16 +212 243 16 +212 244 16 +212 245 16 +212 246 16 +212 247 16 +212 248 16 +212 249 16 +212 250 16 +212 251 16 +212 252 16 +212 253 16 +212 254 16 +212 255 16 +212 256 16 +212 257 16 +212 258 16 +212 259 16 +212 260 16 +212 261 16 +212 262 16 +212 263 16 +212 264 16 +212 265 16 +212 266 16 +212 267 16 +212 268 16 +212 269 16 +212 270 16 +212 271 16 +212 272 16 +212 273 16 +212 274 16 +212 275 16 +212 276 16 +212 277 16 +212 278 16 +212 279 16 +212 280 16 +212 281 16 +212 282 16 +212 283 16 +212 284 16 +212 285 16 +212 286 16 +212 287 16 +212 288 16 +212 289 16 +212 290 16 +212 291 16 +212 292 16 +212 293 16 +212 294 16 +212 295 16 +212 296 16 +212 297 16 +212 298 16 +212 299 16 +212 300 16 +212 301 16 +212 302 16 +212 303 16 +212 304 16 +212 305 16 +212 306 16 +212 307 16 +212 308 16 +212 309 16 +212 310 16 +212 311 16 +212 312 16 +212 313 16 +212 314 16 +212 315 16 +212 316 16 +212 317 16 +212 318 16 +212 319 16 +212 320 16 +212 321 16 +212 322 16 +212 323 16 +212 324 16 +212 325 16 +212 326 16 +212 327 16 +212 328 16 +212 329 16 +212 330 16 +212 331 16 +212 332 16 +212 333 16 +212 334 16 +212 335 16 +212 336 16 +212 337 16 +212 338 16 +212 339 16 +212 340 16 +212 341 16 +212 342 16 +212 343 16 +212 344 16 +212 345 16 +212 346 16 +212 347 16 +212 348 16 +212 349 16 +213 214 16 +213 215 16 +213 216 16 +213 217 16 +213 218 16 +213 219 16 +213 220 16 +213 221 16 +213 222 16 +213 223 16 +213 224 16 +213 225 16 +213 226 16 +213 227 16 +213 228 16 +213 229 16 +213 230 16 +213 231 16 +213 232 16 +213 233 16 +213 234 16 +213 235 16 +213 236 16 +213 237 16 +213 238 16 +213 239 16 +213 240 16 +213 241 16 +213 242 16 +213 243 16 +213 244 16 +213 245 16 +213 246 16 +213 247 16 +213 248 16 +213 249 16 +213 250 16 +213 251 16 +213 252 16 +213 253 16 +213 254 16 +213 255 16 +213 256 16 +213 257 16 +213 258 16 +213 259 16 +213 260 16 +213 261 16 +213 262 16 +213 263 16 +213 264 16 +213 265 16 +213 266 16 +213 267 16 +213 268 16 +213 269 16 +213 270 16 +213 271 16 +213 272 16 +213 273 16 +213 274 16 +213 275 16 +213 276 16 +213 277 16 +213 278 16 +213 279 16 +213 280 16 +213 281 16 +213 282 16 +213 283 16 +213 284 16 +213 285 16 +213 286 16 +213 287 16 +213 288 16 +213 289 16 +213 290 16 +213 291 16 +213 292 16 +213 293 16 +213 294 16 +213 295 16 +213 296 16 +213 297 16 +213 298 16 +213 299 16 +213 300 16 +213 301 16 +213 302 16 +213 303 16 +213 304 16 +213 305 16 +213 306 16 +213 307 16 +213 308 16 +213 309 16 +213 310 16 +213 311 16 +213 312 16 +213 313 16 +213 314 16 +213 315 16 +213 316 16 +213 317 16 +213 318 16 +213 319 16 +213 320 16 +213 321 16 +213 322 16 +213 323 16 +213 324 16 +213 325 16 +213 326 16 +213 327 16 +213 328 16 +213 329 16 +213 330 16 +213 331 16 +213 332 16 +213 333 16 +213 334 16 +213 335 16 +213 336 16 +213 337 16 +213 338 16 +213 339 16 +213 340 16 +213 341 16 +213 342 16 +213 343 16 +213 344 16 +213 345 16 +213 346 16 +213 347 16 +213 348 16 +213 349 16 +214 215 16 +214 216 16 +214 217 16 +214 218 16 +214 219 16 +214 220 16 +214 221 16 +214 222 16 +214 223 16 +214 224 16 +214 225 16 +214 226 16 +214 227 16 +214 228 16 +214 229 16 +214 230 16 +214 231 16 +214 232 16 +214 233 16 +214 234 16 +214 235 16 +214 236 16 +214 237 16 +214 238 16 +214 239 16 +214 240 16 +214 241 16 +214 242 16 +214 243 16 +214 244 16 +214 245 16 +214 246 16 +214 247 16 +214 248 16 +214 249 16 +214 250 16 +214 251 16 +214 252 16 +214 253 16 +214 254 16 +214 255 16 +214 256 16 +214 257 16 +214 258 16 +214 259 16 +214 260 16 +214 261 16 +214 262 16 +214 263 16 +214 264 16 +214 265 16 +214 266 16 +214 267 16 +214 268 16 +214 269 16 +214 270 16 +214 271 16 +214 272 16 +214 273 16 +214 274 16 +214 275 16 +214 276 16 +214 277 16 +214 278 16 +214 279 16 +214 280 16 +214 281 16 +214 282 16 +214 283 16 +214 284 16 +214 285 16 +214 286 16 +214 287 16 +214 288 16 +214 289 16 +214 290 16 +214 291 16 +214 292 16 +214 293 16 +214 294 16 +214 295 16 +214 296 16 +214 297 16 +214 298 16 +214 299 16 +214 300 16 +214 301 16 +214 302 16 +214 303 16 +214 304 16 +214 305 16 +214 306 16 +214 307 16 +214 308 16 +214 309 16 +214 310 16 +214 311 16 +214 312 16 +214 313 16 +214 314 16 +214 315 16 +214 316 16 +214 317 16 +214 318 16 +214 319 16 +214 320 16 +214 321 16 +214 322 16 +214 323 16 +214 324 16 +214 325 16 +214 326 16 +214 327 16 +214 328 16 +214 329 16 +214 330 16 +214 331 16 +214 332 16 +214 333 16 +214 334 16 +214 335 16 +214 336 16 +214 337 16 +214 338 16 +214 339 16 +214 340 16 +214 341 16 +214 342 16 +214 343 16 +214 344 16 +214 345 16 +214 346 16 +214 347 16 +214 348 16 +214 349 16 +215 216 16 +215 217 16 +215 218 16 +215 219 16 +215 220 16 +215 221 16 +215 222 16 +215 223 16 +215 224 16 +215 225 16 +215 226 16 +215 227 16 +215 228 16 +215 229 16 +215 230 16 +215 231 16 +215 232 16 +215 233 16 +215 234 16 +215 235 16 +215 236 16 +215 237 16 +215 238 16 +215 239 16 +215 240 16 +215 241 16 +215 242 16 +215 243 16 +215 244 16 +215 245 16 +215 246 16 +215 247 16 +215 248 16 +215 249 16 +215 250 16 +215 251 16 +215 252 16 +215 253 16 +215 254 16 +215 255 16 +215 256 16 +215 257 16 +215 258 16 +215 259 16 +215 260 16 +215 261 16 +215 262 16 +215 263 16 +215 264 16 +215 265 16 +215 266 16 +215 267 16 +215 268 16 +215 269 16 +215 270 16 +215 271 16 +215 272 16 +215 273 16 +215 274 16 +215 275 16 +215 276 16 +215 277 16 +215 278 16 +215 279 16 +215 280 16 +215 281 16 +215 282 16 +215 283 16 +215 284 16 +215 285 16 +215 286 16 +215 287 16 +215 288 16 +215 289 16 +215 290 16 +215 291 16 +215 292 16 +215 293 16 +215 294 16 +215 295 16 +215 296 16 +215 297 16 +215 298 16 +215 299 16 +215 300 16 +215 301 16 +215 302 16 +215 303 16 +215 304 16 +215 305 16 +215 306 16 +215 307 16 +215 308 16 +215 309 16 +215 310 16 +215 311 16 +215 312 16 +215 313 16 +215 314 16 +215 315 16 +215 316 16 +215 317 16 +215 318 16 +215 319 16 +215 320 16 +215 321 16 +215 322 16 +215 323 16 +215 324 16 +215 325 16 +215 326 16 +215 327 16 +215 328 16 +215 329 16 +215 330 16 +215 331 16 +215 332 16 +215 333 16 +215 334 16 +215 335 16 +215 336 16 +215 337 16 +215 338 16 +215 339 16 +215 340 16 +215 341 16 +215 342 16 +215 343 16 +215 344 16 +215 345 16 +215 346 16 +215 347 16 +215 348 16 +215 349 16 +216 217 16 +216 218 16 +216 219 16 +216 220 16 +216 221 16 +216 222 16 +216 223 16 +216 224 16 +216 225 16 +216 226 16 +216 227 16 +216 228 16 +216 229 16 +216 230 16 +216 231 16 +216 232 16 +216 233 16 +216 234 16 +216 235 16 +216 236 16 +216 237 16 +216 238 16 +216 239 16 +216 240 16 +216 241 16 +216 242 16 +216 243 16 +216 244 16 +216 245 16 +216 246 16 +216 247 16 +216 248 16 +216 249 16 +216 250 16 +216 251 16 +216 252 16 +216 253 16 +216 254 16 +216 255 16 +216 256 16 +216 257 16 +216 258 16 +216 259 16 +216 260 16 +216 261 16 +216 262 16 +216 263 16 +216 264 16 +216 265 16 +216 266 16 +216 267 16 +216 268 16 +216 269 16 +216 270 16 +216 271 16 +216 272 16 +216 273 16 +216 274 16 +216 275 16 +216 276 16 +216 277 16 +216 278 16 +216 279 16 +216 280 16 +216 281 16 +216 282 16 +216 283 16 +216 284 16 +216 285 16 +216 286 16 +216 287 16 +216 288 16 +216 289 16 +216 290 16 +216 291 16 +216 292 16 +216 293 16 +216 294 16 +216 295 16 +216 296 16 +216 297 16 +216 298 16 +216 299 16 +216 300 16 +216 301 16 +216 302 16 +216 303 16 +216 304 16 +216 305 16 +216 306 16 +216 307 16 +216 308 16 +216 309 16 +216 310 16 +216 311 16 +216 312 16 +216 313 16 +216 314 16 +216 315 16 +216 316 16 +216 317 16 +216 318 16 +216 319 16 +216 320 16 +216 321 16 +216 322 16 +216 323 16 +216 324 16 +216 325 16 +216 326 16 +216 327 16 +216 328 16 +216 329 16 +216 330 16 +216 331 16 +216 332 16 +216 333 16 +216 334 16 +216 335 16 +216 336 16 +216 337 16 +216 338 16 +216 339 16 +216 340 16 +216 341 16 +216 342 16 +216 343 16 +216 344 16 +216 345 16 +216 346 16 +216 347 16 +216 348 16 +216 349 16 +217 218 16 +217 219 16 +217 220 16 +217 221 16 +217 222 16 +217 223 16 +217 224 16 +217 225 16 +217 226 16 +217 227 16 +217 228 16 +217 229 16 +217 230 16 +217 231 16 +217 232 16 +217 233 16 +217 234 16 +217 235 16 +217 236 16 +217 237 16 +217 238 16 +217 239 16 +217 240 16 +217 241 16 +217 242 16 +217 243 16 +217 244 16 +217 245 16 +217 246 16 +217 247 16 +217 248 16 +217 249 16 +217 250 16 +217 251 16 +217 252 16 +217 253 16 +217 254 16 +217 255 16 +217 256 16 +217 257 16 +217 258 16 +217 259 16 +217 260 16 +217 261 16 +217 262 16 +217 263 16 +217 264 16 +217 265 16 +217 266 16 +217 267 16 +217 268 16 +217 269 16 +217 270 16 +217 271 16 +217 272 16 +217 273 16 +217 274 16 +217 275 16 +217 276 16 +217 277 16 +217 278 16 +217 279 16 +217 280 16 +217 281 16 +217 282 16 +217 283 16 +217 284 16 +217 285 16 +217 286 16 +217 287 16 +217 288 16 +217 289 16 +217 290 16 +217 291 16 +217 292 16 +217 293 16 +217 294 16 +217 295 16 +217 296 16 +217 297 16 +217 298 16 +217 299 16 +217 300 16 +217 301 16 +217 302 16 +217 303 16 +217 304 16 +217 305 16 +217 306 16 +217 307 16 +217 308 16 +217 309 16 +217 310 16 +217 311 16 +217 312 16 +217 313 16 +217 314 16 +217 315 16 +217 316 16 +217 317 16 +217 318 16 +217 319 16 +217 320 16 +217 321 16 +217 322 16 +217 323 16 +217 324 16 +217 325 16 +217 326 16 +217 327 16 +217 328 16 +217 329 16 +217 330 16 +217 331 16 +217 332 16 +217 333 16 +217 334 16 +217 335 16 +217 336 16 +217 337 16 +217 338 16 +217 339 16 +217 340 16 +217 341 16 +217 342 16 +217 343 16 +217 344 16 +217 345 16 +217 346 16 +217 347 16 +217 348 16 +217 349 16 +218 219 16 +218 220 16 +218 221 16 +218 222 16 +218 223 16 +218 224 16 +218 225 16 +218 226 16 +218 227 16 +218 228 16 +218 229 16 +218 230 16 +218 231 16 +218 232 16 +218 233 16 +218 234 16 +218 235 16 +218 236 16 +218 237 16 +218 238 16 +218 239 16 +218 240 16 +218 241 16 +218 242 16 +218 243 16 +218 244 16 +218 245 16 +218 246 16 +218 247 16 +218 248 16 +218 249 16 +218 250 16 +218 251 16 +218 252 16 +218 253 16 +218 254 16 +218 255 16 +218 256 16 +218 257 16 +218 258 16 +218 259 16 +218 260 16 +218 261 16 +218 262 16 +218 263 16 +218 264 16 +218 265 16 +218 266 16 +218 267 16 +218 268 16 +218 269 16 +218 270 16 +218 271 16 +218 272 16 +218 273 16 +218 274 16 +218 275 16 +218 276 16 +218 277 16 +218 278 16 +218 279 16 +218 280 16 +218 281 16 +218 282 16 +218 283 16 +218 284 16 +218 285 16 +218 286 16 +218 287 16 +218 288 16 +218 289 16 +218 290 16 +218 291 16 +218 292 16 +218 293 16 +218 294 16 +218 295 16 +218 296 16 +218 297 16 +218 298 16 +218 299 16 +218 300 16 +218 301 16 +218 302 16 +218 303 16 +218 304 16 +218 305 16 +218 306 16 +218 307 16 +218 308 16 +218 309 16 +218 310 16 +218 311 16 +218 312 16 +218 313 16 +218 314 16 +218 315 16 +218 316 16 +218 317 16 +218 318 16 +218 319 16 +218 320 16 +218 321 16 +218 322 16 +218 323 16 +218 324 16 +218 325 16 +218 326 16 +218 327 16 +218 328 16 +218 329 16 +218 330 16 +218 331 16 +218 332 16 +218 333 16 +218 334 16 +218 335 16 +218 336 16 +218 337 16 +218 338 16 +218 339 16 +218 340 16 +218 341 16 +218 342 16 +218 343 16 +218 344 16 +218 345 16 +218 346 16 +218 347 16 +218 348 16 +218 349 16 +219 220 16 +219 221 16 +219 222 16 +219 223 16 +219 224 16 +219 225 16 +219 226 16 +219 227 16 +219 228 16 +219 229 16 +219 230 16 +219 231 16 +219 232 16 +219 233 16 +219 234 16 +219 235 16 +219 236 16 +219 237 16 +219 238 16 +219 239 16 +219 240 16 +219 241 16 +219 242 16 +219 243 16 +219 244 16 +219 245 16 +219 246 16 +219 247 16 +219 248 16 +219 249 16 +219 250 16 +219 251 16 +219 252 16 +219 253 16 +219 254 16 +219 255 16 +219 256 16 +219 257 16 +219 258 16 +219 259 16 +219 260 16 +219 261 16 +219 262 16 +219 263 16 +219 264 16 +219 265 16 +219 266 16 +219 267 16 +219 268 16 +219 269 16 +219 270 16 +219 271 16 +219 272 16 +219 273 16 +219 274 16 +219 275 16 +219 276 16 +219 277 16 +219 278 16 +219 279 16 +219 280 16 +219 281 16 +219 282 16 +219 283 16 +219 284 16 +219 285 16 +219 286 16 +219 287 16 +219 288 16 +219 289 16 +219 290 16 +219 291 16 +219 292 16 +219 293 16 +219 294 16 +219 295 16 +219 296 16 +219 297 16 +219 298 16 +219 299 16 +219 300 16 +219 301 16 +219 302 16 +219 303 16 +219 304 16 +219 305 16 +219 306 16 +219 307 16 +219 308 16 +219 309 16 +219 310 16 +219 311 16 +219 312 16 +219 313 16 +219 314 16 +219 315 16 +219 316 16 +219 317 16 +219 318 16 +219 319 16 +219 320 16 +219 321 16 +219 322 16 +219 323 16 +219 324 16 +219 325 16 +219 326 16 +219 327 16 +219 328 16 +219 329 16 +219 330 16 +219 331 16 +219 332 16 +219 333 16 +219 334 16 +219 335 16 +219 336 16 +219 337 16 +219 338 16 +219 339 16 +219 340 16 +219 341 16 +219 342 16 +219 343 16 +219 344 16 +219 345 16 +219 346 16 +219 347 16 +219 348 16 +219 349 16 +220 221 16 +220 222 16 +220 223 16 +220 224 16 +220 225 16 +220 226 16 +220 227 16 +220 228 16 +220 229 16 +220 230 16 +220 231 16 +220 232 16 +220 233 16 +220 234 16 +220 235 16 +220 236 16 +220 237 16 +220 238 16 +220 239 16 +220 240 16 +220 241 16 +220 242 16 +220 243 16 +220 244 16 +220 245 16 +220 246 16 +220 247 16 +220 248 16 +220 249 16 +220 250 16 +220 251 16 +220 252 16 +220 253 16 +220 254 16 +220 255 16 +220 256 16 +220 257 16 +220 258 16 +220 259 16 +220 260 16 +220 261 16 +220 262 16 +220 263 16 +220 264 16 +220 265 16 +220 266 16 +220 267 16 +220 268 16 +220 269 16 +220 270 16 +220 271 16 +220 272 16 +220 273 16 +220 274 16 +220 275 16 +220 276 16 +220 277 16 +220 278 16 +220 279 16 +220 280 16 +220 281 16 +220 282 16 +220 283 16 +220 284 16 +220 285 16 +220 286 16 +220 287 16 +220 288 16 +220 289 16 +220 290 16 +220 291 16 +220 292 16 +220 293 16 +220 294 16 +220 295 16 +220 296 16 +220 297 16 +220 298 16 +220 299 16 +220 300 16 +220 301 16 +220 302 16 +220 303 16 +220 304 16 +220 305 16 +220 306 16 +220 307 16 +220 308 16 +220 309 16 +220 310 16 +220 311 16 +220 312 16 +220 313 16 +220 314 16 +220 315 16 +220 316 16 +220 317 16 +220 318 16 +220 319 16 +220 320 16 +220 321 16 +220 322 16 +220 323 16 +220 324 16 +220 325 16 +220 326 16 +220 327 16 +220 328 16 +220 329 16 +220 330 16 +220 331 16 +220 332 16 +220 333 16 +220 334 16 +220 335 16 +220 336 16 +220 337 16 +220 338 16 +220 339 16 +220 340 16 +220 341 16 +220 342 16 +220 343 16 +220 344 16 +220 345 16 +220 346 16 +220 347 16 +220 348 16 +220 349 16 +221 222 16 +221 223 16 +221 224 16 +221 225 16 +221 226 16 +221 227 16 +221 228 16 +221 229 16 +221 230 16 +221 231 16 +221 232 16 +221 233 16 +221 234 16 +221 235 16 +221 236 16 +221 237 16 +221 238 16 +221 239 16 +221 240 16 +221 241 16 +221 242 16 +221 243 16 +221 244 16 +221 245 16 +221 246 16 +221 247 16 +221 248 16 +221 249 16 +221 250 16 +221 251 16 +221 252 16 +221 253 16 +221 254 16 +221 255 16 +221 256 16 +221 257 16 +221 258 16 +221 259 16 +221 260 16 +221 261 16 +221 262 16 +221 263 16 +221 264 16 +221 265 16 +221 266 16 +221 267 16 +221 268 16 +221 269 16 +221 270 16 +221 271 16 +221 272 16 +221 273 16 +221 274 16 +221 275 16 +221 276 16 +221 277 16 +221 278 16 +221 279 16 +221 280 16 +221 281 16 +221 282 16 +221 283 16 +221 284 16 +221 285 16 +221 286 16 +221 287 16 +221 288 16 +221 289 16 +221 290 16 +221 291 16 +221 292 16 +221 293 16 +221 294 16 +221 295 16 +221 296 16 +221 297 16 +221 298 16 +221 299 16 +221 300 16 +221 301 16 +221 302 16 +221 303 16 +221 304 16 +221 305 16 +221 306 16 +221 307 16 +221 308 16 +221 309 16 +221 310 16 +221 311 16 +221 312 16 +221 313 16 +221 314 16 +221 315 16 +221 316 16 +221 317 16 +221 318 16 +221 319 16 +221 320 16 +221 321 16 +221 322 16 +221 323 16 +221 324 16 +221 325 16 +221 326 16 +221 327 16 +221 328 16 +221 329 16 +221 330 16 +221 331 16 +221 332 16 +221 333 16 +221 334 16 +221 335 16 +221 336 16 +221 337 16 +221 338 16 +221 339 16 +221 340 16 +221 341 16 +221 342 16 +221 343 16 +221 344 16 +221 345 16 +221 346 16 +221 347 16 +221 348 16 +221 349 16 +222 223 16 +222 224 16 +222 225 16 +222 226 16 +222 227 16 +222 228 16 +222 229 16 +222 230 16 +222 231 16 +222 232 16 +222 233 16 +222 234 16 +222 235 16 +222 236 16 +222 237 16 +222 238 16 +222 239 16 +222 240 16 +222 241 16 +222 242 16 +222 243 16 +222 244 16 +222 245 16 +222 246 16 +222 247 16 +222 248 16 +222 249 16 +222 250 16 +222 251 16 +222 252 16 +222 253 16 +222 254 16 +222 255 16 +222 256 16 +222 257 16 +222 258 16 +222 259 16 +222 260 16 +222 261 16 +222 262 16 +222 263 16 +222 264 16 +222 265 16 +222 266 16 +222 267 16 +222 268 16 +222 269 16 +222 270 16 +222 271 16 +222 272 16 +222 273 16 +222 274 16 +222 275 16 +222 276 16 +222 277 16 +222 278 16 +222 279 16 +222 280 16 +222 281 16 +222 282 16 +222 283 16 +222 284 16 +222 285 16 +222 286 16 +222 287 16 +222 288 16 +222 289 16 +222 290 16 +222 291 16 +222 292 16 +222 293 16 +222 294 16 +222 295 16 +222 296 16 +222 297 16 +222 298 16 +222 299 16 +222 300 16 +222 301 16 +222 302 16 +222 303 16 +222 304 16 +222 305 16 +222 306 16 +222 307 16 +222 308 16 +222 309 16 +222 310 16 +222 311 16 +222 312 16 +222 313 16 +222 314 16 +222 315 16 +222 316 16 +222 317 16 +222 318 16 +222 319 16 +222 320 16 +222 321 16 +222 322 16 +222 323 16 +222 324 16 +222 325 16 +222 326 16 +222 327 16 +222 328 16 +222 329 16 +222 330 16 +222 331 16 +222 332 16 +222 333 16 +222 334 16 +222 335 16 +222 336 16 +222 337 16 +222 338 16 +222 339 16 +222 340 16 +222 341 16 +222 342 16 +222 343 16 +222 344 16 +222 345 16 +222 346 16 +222 347 16 +222 348 16 +222 349 16 +223 224 16 +223 225 16 +223 226 16 +223 227 16 +223 228 16 +223 229 16 +223 230 16 +223 231 16 +223 232 16 +223 233 16 +223 234 16 +223 235 16 +223 236 16 +223 237 16 +223 238 16 +223 239 16 +223 240 16 +223 241 16 +223 242 16 +223 243 16 +223 244 16 +223 245 16 +223 246 16 +223 247 16 +223 248 16 +223 249 16 +223 250 16 +223 251 16 +223 252 16 +223 253 16 +223 254 16 +223 255 16 +223 256 16 +223 257 16 +223 258 16 +223 259 16 +223 260 16 +223 261 16 +223 262 16 +223 263 16 +223 264 16 +223 265 16 +223 266 16 +223 267 16 +223 268 16 +223 269 16 +223 270 16 +223 271 16 +223 272 16 +223 273 16 +223 274 16 +223 275 16 +223 276 16 +223 277 16 +223 278 16 +223 279 16 +223 280 16 +223 281 16 +223 282 16 +223 283 16 +223 284 16 +223 285 16 +223 286 16 +223 287 16 +223 288 16 +223 289 16 +223 290 16 +223 291 16 +223 292 16 +223 293 16 +223 294 16 +223 295 16 +223 296 16 +223 297 16 +223 298 16 +223 299 16 +223 300 16 +223 301 16 +223 302 16 +223 303 16 +223 304 16 +223 305 16 +223 306 16 +223 307 16 +223 308 16 +223 309 16 +223 310 16 +223 311 16 +223 312 16 +223 313 16 +223 314 16 +223 315 16 +223 316 16 +223 317 16 +223 318 16 +223 319 16 +223 320 16 +223 321 16 +223 322 16 +223 323 16 +223 324 16 +223 325 16 +223 326 16 +223 327 16 +223 328 16 +223 329 16 +223 330 16 +223 331 16 +223 332 16 +223 333 16 +223 334 16 +223 335 16 +223 336 16 +223 337 16 +223 338 16 +223 339 16 +223 340 16 +223 341 16 +223 342 16 +223 343 16 +223 344 16 +223 345 16 +223 346 16 +223 347 16 +223 348 16 +223 349 16 +224 225 16 +224 226 16 +224 227 16 +224 228 16 +224 229 16 +224 230 16 +224 231 16 +224 232 16 +224 233 16 +224 234 16 +224 235 16 +224 236 16 +224 237 16 +224 238 16 +224 239 16 +224 240 16 +224 241 16 +224 242 16 +224 243 16 +224 244 16 +224 245 16 +224 246 16 +224 247 16 +224 248 16 +224 249 16 +224 250 16 +224 251 16 +224 252 16 +224 253 16 +224 254 16 +224 255 16 +224 256 16 +224 257 16 +224 258 16 +224 259 16 +224 260 16 +224 261 16 +224 262 16 +224 263 16 +224 264 16 +224 265 16 +224 266 16 +224 267 16 +224 268 16 +224 269 16 +224 270 16 +224 271 16 +224 272 16 +224 273 16 +224 274 16 +224 275 16 +224 276 16 +224 277 16 +224 278 16 +224 279 16 +224 280 16 +224 281 16 +224 282 16 +224 283 16 +224 284 16 +224 285 16 +224 286 16 +224 287 16 +224 288 16 +224 289 16 +224 290 16 +224 291 16 +224 292 16 +224 293 16 +224 294 16 +224 295 16 +224 296 16 +224 297 16 +224 298 16 +224 299 16 +224 300 16 +224 301 16 +224 302 16 +224 303 16 +224 304 16 +224 305 16 +224 306 16 +224 307 16 +224 308 16 +224 309 16 +224 310 16 +224 311 16 +224 312 16 +224 313 16 +224 314 16 +224 315 16 +224 316 16 +224 317 16 +224 318 16 +224 319 16 +224 320 16 +224 321 16 +224 322 16 +224 323 16 +224 324 16 +224 325 16 +224 326 16 +224 327 16 +224 328 16 +224 329 16 +224 330 16 +224 331 16 +224 332 16 +224 333 16 +224 334 16 +224 335 16 +224 336 16 +224 337 16 +224 338 16 +224 339 16 +224 340 16 +224 341 16 +224 342 16 +224 343 16 +224 344 16 +224 345 16 +224 346 16 +224 347 16 +224 348 16 +224 349 16 +225 226 16 +225 227 16 +225 228 16 +225 229 16 +225 230 16 +225 231 16 +225 232 16 +225 233 16 +225 234 16 +225 235 16 +225 236 16 +225 237 16 +225 238 16 +225 239 16 +225 240 16 +225 241 16 +225 242 16 +225 243 16 +225 244 16 +225 245 16 +225 246 16 +225 247 16 +225 248 16 +225 249 16 +225 250 16 +225 251 16 +225 252 16 +225 253 16 +225 254 16 +225 255 16 +225 256 16 +225 257 16 +225 258 16 +225 259 16 +225 260 16 +225 261 16 +225 262 16 +225 263 16 +225 264 16 +225 265 16 +225 266 16 +225 267 16 +225 268 16 +225 269 16 +225 270 16 +225 271 16 +225 272 16 +225 273 16 +225 274 16 +225 275 16 +225 276 16 +225 277 16 +225 278 16 +225 279 16 +225 280 16 +225 281 16 +225 282 16 +225 283 16 +225 284 16 +225 285 16 +225 286 16 +225 287 16 +225 288 16 +225 289 16 +225 290 16 +225 291 16 +225 292 16 +225 293 16 +225 294 16 +225 295 16 +225 296 16 +225 297 16 +225 298 16 +225 299 16 +225 300 16 +225 301 16 +225 302 16 +225 303 16 +225 304 16 +225 305 16 +225 306 16 +225 307 16 +225 308 16 +225 309 16 +225 310 16 +225 311 16 +225 312 16 +225 313 16 +225 314 16 +225 315 16 +225 316 16 +225 317 16 +225 318 16 +225 319 16 +225 320 16 +225 321 16 +225 322 16 +225 323 16 +225 324 16 +225 325 16 +225 326 16 +225 327 16 +225 328 16 +225 329 16 +225 330 16 +225 331 16 +225 332 16 +225 333 16 +225 334 16 +225 335 16 +225 336 16 +225 337 16 +225 338 16 +225 339 16 +225 340 16 +225 341 16 +225 342 16 +225 343 16 +225 344 16 +225 345 16 +225 346 16 +225 347 16 +225 348 16 +225 349 16 +226 227 16 +226 228 16 +226 229 16 +226 230 16 +226 231 16 +226 232 16 +226 233 16 +226 234 16 +226 235 16 +226 236 16 +226 237 16 +226 238 16 +226 239 16 +226 240 16 +226 241 16 +226 242 16 +226 243 16 +226 244 16 +226 245 16 +226 246 16 +226 247 16 +226 248 16 +226 249 16 +226 250 16 +226 251 16 +226 252 16 +226 253 16 +226 254 16 +226 255 16 +226 256 16 +226 257 16 +226 258 16 +226 259 16 +226 260 16 +226 261 16 +226 262 16 +226 263 16 +226 264 16 +226 265 16 +226 266 16 +226 267 16 +226 268 16 +226 269 16 +226 270 16 +226 271 16 +226 272 16 +226 273 16 +226 274 16 +226 275 16 +226 276 16 +226 277 16 +226 278 16 +226 279 16 +226 280 16 +226 281 16 +226 282 16 +226 283 16 +226 284 16 +226 285 16 +226 286 16 +226 287 16 +226 288 16 +226 289 16 +226 290 16 +226 291 16 +226 292 16 +226 293 16 +226 294 16 +226 295 16 +226 296 16 +226 297 16 +226 298 16 +226 299 16 +226 300 16 +226 301 16 +226 302 16 +226 303 16 +226 304 16 +226 305 16 +226 306 16 +226 307 16 +226 308 16 +226 309 16 +226 310 16 +226 311 16 +226 312 16 +226 313 16 +226 314 16 +226 315 16 +226 316 16 +226 317 16 +226 318 16 +226 319 16 +226 320 16 +226 321 16 +226 322 16 +226 323 16 +226 324 16 +226 325 16 +226 326 16 +226 327 16 +226 328 16 +226 329 16 +226 330 16 +226 331 16 +226 332 16 +226 333 16 +226 334 16 +226 335 16 +226 336 16 +226 337 16 +226 338 16 +226 339 16 +226 340 16 +226 341 16 +226 342 16 +226 343 16 +226 344 16 +226 345 16 +226 346 16 +226 347 16 +226 348 16 +226 349 16 +227 228 16 +227 229 16 +227 230 16 +227 231 16 +227 232 16 +227 233 16 +227 234 16 +227 235 16 +227 236 16 +227 237 16 +227 238 16 +227 239 16 +227 240 16 +227 241 16 +227 242 16 +227 243 16 +227 244 16 +227 245 16 +227 246 16 +227 247 16 +227 248 16 +227 249 16 +227 250 16 +227 251 16 +227 252 16 +227 253 16 +227 254 16 +227 255 16 +227 256 16 +227 257 16 +227 258 16 +227 259 16 +227 260 16 +227 261 16 +227 262 16 +227 263 16 +227 264 16 +227 265 16 +227 266 16 +227 267 16 +227 268 16 +227 269 16 +227 270 16 +227 271 16 +227 272 16 +227 273 16 +227 274 16 +227 275 16 +227 276 16 +227 277 16 +227 278 16 +227 279 16 +227 280 16 +227 281 16 +227 282 16 +227 283 16 +227 284 16 +227 285 16 +227 286 16 +227 287 16 +227 288 16 +227 289 16 +227 290 16 +227 291 16 +227 292 16 +227 293 16 +227 294 16 +227 295 16 +227 296 16 +227 297 16 +227 298 16 +227 299 16 +227 300 16 +227 301 16 +227 302 16 +227 303 16 +227 304 16 +227 305 16 +227 306 16 +227 307 16 +227 308 16 +227 309 16 +227 310 16 +227 311 16 +227 312 16 +227 313 16 +227 314 16 +227 315 16 +227 316 16 +227 317 16 +227 318 16 +227 319 16 +227 320 16 +227 321 16 +227 322 16 +227 323 16 +227 324 16 +227 325 16 +227 326 16 +227 327 16 +227 328 16 +227 329 16 +227 330 16 +227 331 16 +227 332 16 +227 333 16 +227 334 16 +227 335 16 +227 336 16 +227 337 16 +227 338 16 +227 339 16 +227 340 16 +227 341 16 +227 342 16 +227 343 16 +227 344 16 +227 345 16 +227 346 16 +227 347 16 +227 348 16 +227 349 16 +228 229 16 +228 230 16 +228 231 16 +228 232 16 +228 233 16 +228 234 16 +228 235 16 +228 236 16 +228 237 16 +228 238 16 +228 239 16 +228 240 16 +228 241 16 +228 242 16 +228 243 16 +228 244 16 +228 245 16 +228 246 16 +228 247 16 +228 248 16 +228 249 16 +228 250 16 +228 251 16 +228 252 16 +228 253 16 +228 254 16 +228 255 16 +228 256 16 +228 257 16 +228 258 16 +228 259 16 +228 260 16 +228 261 16 +228 262 16 +228 263 16 +228 264 16 +228 265 16 +228 266 16 +228 267 16 +228 268 16 +228 269 16 +228 270 16 +228 271 16 +228 272 16 +228 273 16 +228 274 16 +228 275 16 +228 276 16 +228 277 16 +228 278 16 +228 279 16 +228 280 16 +228 281 16 +228 282 16 +228 283 16 +228 284 16 +228 285 16 +228 286 16 +228 287 16 +228 288 16 +228 289 16 +228 290 16 +228 291 16 +228 292 16 +228 293 16 +228 294 16 +228 295 16 +228 296 16 +228 297 16 +228 298 16 +228 299 16 +228 300 16 +228 301 16 +228 302 16 +228 303 16 +228 304 16 +228 305 16 +228 306 16 +228 307 16 +228 308 16 +228 309 16 +228 310 16 +228 311 16 +228 312 16 +228 313 16 +228 314 16 +228 315 16 +228 316 16 +228 317 16 +228 318 16 +228 319 16 +228 320 16 +228 321 16 +228 322 16 +228 323 16 +228 324 16 +228 325 16 +228 326 16 +228 327 16 +228 328 16 +228 329 16 +228 330 16 +228 331 16 +228 332 16 +228 333 16 +228 334 16 +228 335 16 +228 336 16 +228 337 16 +228 338 16 +228 339 16 +228 340 16 +228 341 16 +228 342 16 +228 343 16 +228 344 16 +228 345 16 +228 346 16 +228 347 16 +228 348 16 +228 349 16 +229 230 16 +229 231 16 +229 232 16 +229 233 16 +229 234 16 +229 235 16 +229 236 16 +229 237 16 +229 238 16 +229 239 16 +229 240 16 +229 241 16 +229 242 16 +229 243 16 +229 244 16 +229 245 16 +229 246 16 +229 247 16 +229 248 16 +229 249 16 +229 250 16 +229 251 16 +229 252 16 +229 253 16 +229 254 16 +229 255 16 +229 256 16 +229 257 16 +229 258 16 +229 259 16 +229 260 16 +229 261 16 +229 262 16 +229 263 16 +229 264 16 +229 265 16 +229 266 16 +229 267 16 +229 268 16 +229 269 16 +229 270 16 +229 271 16 +229 272 16 +229 273 16 +229 274 16 +229 275 16 +229 276 16 +229 277 16 +229 278 16 +229 279 16 +229 280 16 +229 281 16 +229 282 16 +229 283 16 +229 284 16 +229 285 16 +229 286 16 +229 287 16 +229 288 16 +229 289 16 +229 290 16 +229 291 16 +229 292 16 +229 293 16 +229 294 16 +229 295 16 +229 296 16 +229 297 16 +229 298 16 +229 299 16 +229 300 16 +229 301 16 +229 302 16 +229 303 16 +229 304 16 +229 305 16 +229 306 16 +229 307 16 +229 308 16 +229 309 16 +229 310 16 +229 311 16 +229 312 16 +229 313 16 +229 314 16 +229 315 16 +229 316 16 +229 317 16 +229 318 16 +229 319 16 +229 320 16 +229 321 16 +229 322 16 +229 323 16 +229 324 16 +229 325 16 +229 326 16 +229 327 16 +229 328 16 +229 329 16 +229 330 16 +229 331 16 +229 332 16 +229 333 16 +229 334 16 +229 335 16 +229 336 16 +229 337 16 +229 338 16 +229 339 16 +229 340 16 +229 341 16 +229 342 16 +229 343 16 +229 344 16 +229 345 16 +229 346 16 +229 347 16 +229 348 16 +229 349 16 +230 231 16 +230 232 16 +230 233 16 +230 234 16 +230 235 16 +230 236 16 +230 237 16 +230 238 16 +230 239 16 +230 240 16 +230 241 16 +230 242 16 +230 243 16 +230 244 16 +230 245 16 +230 246 16 +230 247 16 +230 248 16 +230 249 16 +230 250 16 +230 251 16 +230 252 16 +230 253 16 +230 254 16 +230 255 16 +230 256 16 +230 257 16 +230 258 16 +230 259 16 +230 260 16 +230 261 16 +230 262 16 +230 263 16 +230 264 16 +230 265 16 +230 266 16 +230 267 16 +230 268 16 +230 269 16 +230 270 16 +230 271 16 +230 272 16 +230 273 16 +230 274 16 +230 275 16 +230 276 16 +230 277 16 +230 278 16 +230 279 16 +230 280 16 +230 281 16 +230 282 16 +230 283 16 +230 284 16 +230 285 16 +230 286 16 +230 287 16 +230 288 16 +230 289 16 +230 290 16 +230 291 16 +230 292 16 +230 293 16 +230 294 16 +230 295 16 +230 296 16 +230 297 16 +230 298 16 +230 299 16 +230 300 16 +230 301 16 +230 302 16 +230 303 16 +230 304 16 +230 305 16 +230 306 16 +230 307 16 +230 308 16 +230 309 16 +230 310 16 +230 311 16 +230 312 16 +230 313 16 +230 314 16 +230 315 16 +230 316 16 +230 317 16 +230 318 16 +230 319 16 +230 320 16 +230 321 16 +230 322 16 +230 323 16 +230 324 16 +230 325 16 +230 326 16 +230 327 16 +230 328 16 +230 329 16 +230 330 16 +230 331 16 +230 332 16 +230 333 16 +230 334 16 +230 335 16 +230 336 16 +230 337 16 +230 338 16 +230 339 16 +230 340 16 +230 341 16 +230 342 16 +230 343 16 +230 344 16 +230 345 16 +230 346 16 +230 347 16 +230 348 16 +230 349 16 +231 232 16 +231 233 16 +231 234 16 +231 235 16 +231 236 16 +231 237 16 +231 238 16 +231 239 16 +231 240 16 +231 241 16 +231 242 16 +231 243 16 +231 244 16 +231 245 16 +231 246 16 +231 247 16 +231 248 16 +231 249 16 +231 250 16 +231 251 16 +231 252 16 +231 253 16 +231 254 16 +231 255 16 +231 256 16 +231 257 16 +231 258 16 +231 259 16 +231 260 16 +231 261 16 +231 262 16 +231 263 16 +231 264 16 +231 265 16 +231 266 16 +231 267 16 +231 268 16 +231 269 16 +231 270 16 +231 271 16 +231 272 16 +231 273 16 +231 274 16 +231 275 16 +231 276 16 +231 277 16 +231 278 16 +231 279 16 +231 280 16 +231 281 16 +231 282 16 +231 283 16 +231 284 16 +231 285 16 +231 286 16 +231 287 16 +231 288 16 +231 289 16 +231 290 16 +231 291 16 +231 292 16 +231 293 16 +231 294 16 +231 295 16 +231 296 16 +231 297 16 +231 298 16 +231 299 16 +231 300 16 +231 301 16 +231 302 16 +231 303 16 +231 304 16 +231 305 16 +231 306 16 +231 307 16 +231 308 16 +231 309 16 +231 310 16 +231 311 16 +231 312 16 +231 313 16 +231 314 16 +231 315 16 +231 316 16 +231 317 16 +231 318 16 +231 319 16 +231 320 16 +231 321 16 +231 322 16 +231 323 16 +231 324 16 +231 325 16 +231 326 16 +231 327 16 +231 328 16 +231 329 16 +231 330 16 +231 331 16 +231 332 16 +231 333 16 +231 334 16 +231 335 16 +231 336 16 +231 337 16 +231 338 16 +231 339 16 +231 340 16 +231 341 16 +231 342 16 +231 343 16 +231 344 16 +231 345 16 +231 346 16 +231 347 16 +231 348 16 +231 349 16 +232 233 16 +232 234 16 +232 235 16 +232 236 16 +232 237 16 +232 238 16 +232 239 16 +232 240 16 +232 241 16 +232 242 16 +232 243 16 +232 244 16 +232 245 16 +232 246 16 +232 247 16 +232 248 16 +232 249 16 +232 250 16 +232 251 16 +232 252 16 +232 253 16 +232 254 16 +232 255 16 +232 256 16 +232 257 16 +232 258 16 +232 259 16 +232 260 16 +232 261 16 +232 262 16 +232 263 16 +232 264 16 +232 265 16 +232 266 16 +232 267 16 +232 268 16 +232 269 16 +232 270 16 +232 271 16 +232 272 16 +232 273 16 +232 274 16 +232 275 16 +232 276 16 +232 277 16 +232 278 16 +232 279 16 +232 280 16 +232 281 16 +232 282 16 +232 283 16 +232 284 16 +232 285 16 +232 286 16 +232 287 16 +232 288 16 +232 289 16 +232 290 16 +232 291 16 +232 292 16 +232 293 16 +232 294 16 +232 295 16 +232 296 16 +232 297 16 +232 298 16 +232 299 16 +232 300 16 +232 301 16 +232 302 16 +232 303 16 +232 304 16 +232 305 16 +232 306 16 +232 307 16 +232 308 16 +232 309 16 +232 310 16 +232 311 16 +232 312 16 +232 313 16 +232 314 16 +232 315 16 +232 316 16 +232 317 16 +232 318 16 +232 319 16 +232 320 16 +232 321 16 +232 322 16 +232 323 16 +232 324 16 +232 325 16 +232 326 16 +232 327 16 +232 328 16 +232 329 16 +232 330 16 +232 331 16 +232 332 16 +232 333 16 +232 334 16 +232 335 16 +232 336 16 +232 337 16 +232 338 16 +232 339 16 +232 340 16 +232 341 16 +232 342 16 +232 343 16 +232 344 16 +232 345 16 +232 346 16 +232 347 16 +232 348 16 +232 349 16 +233 234 16 +233 235 16 +233 236 16 +233 237 16 +233 238 16 +233 239 16 +233 240 16 +233 241 16 +233 242 16 +233 243 16 +233 244 16 +233 245 16 +233 246 16 +233 247 16 +233 248 16 +233 249 16 +233 250 16 +233 251 16 +233 252 16 +233 253 16 +233 254 16 +233 255 16 +233 256 16 +233 257 16 +233 258 16 +233 259 16 +233 260 16 +233 261 16 +233 262 16 +233 263 16 +233 264 16 +233 265 16 +233 266 16 +233 267 16 +233 268 16 +233 269 16 +233 270 16 +233 271 16 +233 272 16 +233 273 16 +233 274 16 +233 275 16 +233 276 16 +233 277 16 +233 278 16 +233 279 16 +233 280 16 +233 281 16 +233 282 16 +233 283 16 +233 284 16 +233 285 16 +233 286 16 +233 287 16 +233 288 16 +233 289 16 +233 290 16 +233 291 16 +233 292 16 +233 293 16 +233 294 16 +233 295 16 +233 296 16 +233 297 16 +233 298 16 +233 299 16 +233 300 16 +233 301 16 +233 302 16 +233 303 16 +233 304 16 +233 305 16 +233 306 16 +233 307 16 +233 308 16 +233 309 16 +233 310 16 +233 311 16 +233 312 16 +233 313 16 +233 314 16 +233 315 16 +233 316 16 +233 317 16 +233 318 16 +233 319 16 +233 320 16 +233 321 16 +233 322 16 +233 323 16 +233 324 16 +233 325 16 +233 326 16 +233 327 16 +233 328 16 +233 329 16 +233 330 16 +233 331 16 +233 332 16 +233 333 16 +233 334 16 +233 335 16 +233 336 16 +233 337 16 +233 338 16 +233 339 16 +233 340 16 +233 341 16 +233 342 16 +233 343 16 +233 344 16 +233 345 16 +233 346 16 +233 347 16 +233 348 16 +233 349 16 +234 235 16 +234 236 16 +234 237 16 +234 238 16 +234 239 16 +234 240 16 +234 241 16 +234 242 16 +234 243 16 +234 244 16 +234 245 16 +234 246 16 +234 247 16 +234 248 16 +234 249 16 +234 250 16 +234 251 16 +234 252 16 +234 253 16 +234 254 16 +234 255 16 +234 256 16 +234 257 16 +234 258 16 +234 259 16 +234 260 16 +234 261 16 +234 262 16 +234 263 16 +234 264 16 +234 265 16 +234 266 16 +234 267 16 +234 268 16 +234 269 16 +234 270 16 +234 271 16 +234 272 16 +234 273 16 +234 274 16 +234 275 16 +234 276 16 +234 277 16 +234 278 16 +234 279 16 +234 280 16 +234 281 16 +234 282 16 +234 283 16 +234 284 16 +234 285 16 +234 286 16 +234 287 16 +234 288 16 +234 289 16 +234 290 16 +234 291 16 +234 292 16 +234 293 16 +234 294 16 +234 295 16 +234 296 16 +234 297 16 +234 298 16 +234 299 16 +234 300 16 +234 301 16 +234 302 16 +234 303 16 +234 304 16 +234 305 16 +234 306 16 +234 307 16 +234 308 16 +234 309 16 +234 310 16 +234 311 16 +234 312 16 +234 313 16 +234 314 16 +234 315 16 +234 316 16 +234 317 16 +234 318 16 +234 319 16 +234 320 16 +234 321 16 +234 322 16 +234 323 16 +234 324 16 +234 325 16 +234 326 16 +234 327 16 +234 328 16 +234 329 16 +234 330 16 +234 331 16 +234 332 16 +234 333 16 +234 334 16 +234 335 16 +234 336 16 +234 337 16 +234 338 16 +234 339 16 +234 340 16 +234 341 16 +234 342 16 +234 343 16 +234 344 16 +234 345 16 +234 346 16 +234 347 16 +234 348 16 +234 349 16 +235 236 16 +235 237 16 +235 238 16 +235 239 16 +235 240 16 +235 241 16 +235 242 16 +235 243 16 +235 244 16 +235 245 16 +235 246 16 +235 247 16 +235 248 16 +235 249 16 +235 250 16 +235 251 16 +235 252 16 +235 253 16 +235 254 16 +235 255 16 +235 256 16 +235 257 16 +235 258 16 +235 259 16 +235 260 16 +235 261 16 +235 262 16 +235 263 16 +235 264 16 +235 265 16 +235 266 16 +235 267 16 +235 268 16 +235 269 16 +235 270 16 +235 271 16 +235 272 16 +235 273 16 +235 274 16 +235 275 16 +235 276 16 +235 277 16 +235 278 16 +235 279 16 +235 280 16 +235 281 16 +235 282 16 +235 283 16 +235 284 16 +235 285 16 +235 286 16 +235 287 16 +235 288 16 +235 289 16 +235 290 16 +235 291 16 +235 292 16 +235 293 16 +235 294 16 +235 295 16 +235 296 16 +235 297 16 +235 298 16 +235 299 16 +235 300 16 +235 301 16 +235 302 16 +235 303 16 +235 304 16 +235 305 16 +235 306 16 +235 307 16 +235 308 16 +235 309 16 +235 310 16 +235 311 16 +235 312 16 +235 313 16 +235 314 16 +235 315 16 +235 316 16 +235 317 16 +235 318 16 +235 319 16 +235 320 16 +235 321 16 +235 322 16 +235 323 16 +235 324 16 +235 325 16 +235 326 16 +235 327 16 +235 328 16 +235 329 16 +235 330 16 +235 331 16 +235 332 16 +235 333 16 +235 334 16 +235 335 16 +235 336 16 +235 337 16 +235 338 16 +235 339 16 +235 340 16 +235 341 16 +235 342 16 +235 343 16 +235 344 16 +235 345 16 +235 346 16 +235 347 16 +235 348 16 +235 349 16 +236 237 16 +236 238 16 +236 239 16 +236 240 16 +236 241 16 +236 242 16 +236 243 16 +236 244 16 +236 245 16 +236 246 16 +236 247 16 +236 248 16 +236 249 16 +236 250 16 +236 251 16 +236 252 16 +236 253 16 +236 254 16 +236 255 16 +236 256 16 +236 257 16 +236 258 16 +236 259 16 +236 260 16 +236 261 16 +236 262 16 +236 263 16 +236 264 16 +236 265 16 +236 266 16 +236 267 16 +236 268 16 +236 269 16 +236 270 16 +236 271 16 +236 272 16 +236 273 16 +236 274 16 +236 275 16 +236 276 16 +236 277 16 +236 278 16 +236 279 16 +236 280 16 +236 281 16 +236 282 16 +236 283 16 +236 284 16 +236 285 16 +236 286 16 +236 287 16 +236 288 16 +236 289 16 +236 290 16 +236 291 16 +236 292 16 +236 293 16 +236 294 16 +236 295 16 +236 296 16 +236 297 16 +236 298 16 +236 299 16 +236 300 16 +236 301 16 +236 302 16 +236 303 16 +236 304 16 +236 305 16 +236 306 16 +236 307 16 +236 308 16 +236 309 16 +236 310 16 +236 311 16 +236 312 16 +236 313 16 +236 314 16 +236 315 16 +236 316 16 +236 317 16 +236 318 16 +236 319 16 +236 320 16 +236 321 16 +236 322 16 +236 323 16 +236 324 16 +236 325 16 +236 326 16 +236 327 16 +236 328 16 +236 329 16 +236 330 16 +236 331 16 +236 332 16 +236 333 16 +236 334 16 +236 335 16 +236 336 16 +236 337 16 +236 338 16 +236 339 16 +236 340 16 +236 341 16 +236 342 16 +236 343 16 +236 344 16 +236 345 16 +236 346 16 +236 347 16 +236 348 16 +236 349 16 +237 238 16 +237 239 16 +237 240 16 +237 241 16 +237 242 16 +237 243 16 +237 244 16 +237 245 16 +237 246 16 +237 247 16 +237 248 16 +237 249 16 +237 250 16 +237 251 16 +237 252 16 +237 253 16 +237 254 16 +237 255 16 +237 256 16 +237 257 16 +237 258 16 +237 259 16 +237 260 16 +237 261 16 +237 262 16 +237 263 16 +237 264 16 +237 265 16 +237 266 16 +237 267 16 +237 268 16 +237 269 16 +237 270 16 +237 271 16 +237 272 16 +237 273 16 +237 274 16 +237 275 16 +237 276 16 +237 277 16 +237 278 16 +237 279 16 +237 280 16 +237 281 16 +237 282 16 +237 283 16 +237 284 16 +237 285 16 +237 286 16 +237 287 16 +237 288 16 +237 289 16 +237 290 16 +237 291 16 +237 292 16 +237 293 16 +237 294 16 +237 295 16 +237 296 16 +237 297 16 +237 298 16 +237 299 16 +237 300 16 +237 301 16 +237 302 16 +237 303 16 +237 304 16 +237 305 16 +237 306 16 +237 307 16 +237 308 16 +237 309 16 +237 310 16 +237 311 16 +237 312 16 +237 313 16 +237 314 16 +237 315 16 +237 316 16 +237 317 16 +237 318 16 +237 319 16 +237 320 16 +237 321 16 +237 322 16 +237 323 16 +237 324 16 +237 325 16 +237 326 16 +237 327 16 +237 328 16 +237 329 16 +237 330 16 +237 331 16 +237 332 16 +237 333 16 +237 334 16 +237 335 16 +237 336 16 +237 337 16 +237 338 16 +237 339 16 +237 340 16 +237 341 16 +237 342 16 +237 343 16 +237 344 16 +237 345 16 +237 346 16 +237 347 16 +237 348 16 +237 349 16 +238 239 16 +238 240 16 +238 241 16 +238 242 16 +238 243 16 +238 244 16 +238 245 16 +238 246 16 +238 247 16 +238 248 16 +238 249 16 +238 250 16 +238 251 16 +238 252 16 +238 253 16 +238 254 16 +238 255 16 +238 256 16 +238 257 16 +238 258 16 +238 259 16 +238 260 16 +238 261 16 +238 262 16 +238 263 16 +238 264 16 +238 265 16 +238 266 16 +238 267 16 +238 268 16 +238 269 16 +238 270 16 +238 271 16 +238 272 16 +238 273 16 +238 274 16 +238 275 16 +238 276 16 +238 277 16 +238 278 16 +238 279 16 +238 280 16 +238 281 16 +238 282 16 +238 283 16 +238 284 16 +238 285 16 +238 286 16 +238 287 16 +238 288 16 +238 289 16 +238 290 16 +238 291 16 +238 292 16 +238 293 16 +238 294 16 +238 295 16 +238 296 16 +238 297 16 +238 298 16 +238 299 16 +238 300 16 +238 301 16 +238 302 16 +238 303 16 +238 304 16 +238 305 16 +238 306 16 +238 307 16 +238 308 16 +238 309 16 +238 310 16 +238 311 16 +238 312 16 +238 313 16 +238 314 16 +238 315 16 +238 316 16 +238 317 16 +238 318 16 +238 319 16 +238 320 16 +238 321 16 +238 322 16 +238 323 16 +238 324 16 +238 325 16 +238 326 16 +238 327 16 +238 328 16 +238 329 16 +238 330 16 +238 331 16 +238 332 16 +238 333 16 +238 334 16 +238 335 16 +238 336 16 +238 337 16 +238 338 16 +238 339 16 +238 340 16 +238 341 16 +238 342 16 +238 343 16 +238 344 16 +238 345 16 +238 346 16 +238 347 16 +238 348 16 +238 349 16 +239 240 16 +239 241 16 +239 242 16 +239 243 16 +239 244 16 +239 245 16 +239 246 16 +239 247 16 +239 248 16 +239 249 16 +239 250 16 +239 251 16 +239 252 16 +239 253 16 +239 254 16 +239 255 16 +239 256 16 +239 257 16 +239 258 16 +239 259 16 +239 260 16 +239 261 16 +239 262 16 +239 263 16 +239 264 16 +239 265 16 +239 266 16 +239 267 16 +239 268 16 +239 269 16 +239 270 16 +239 271 16 +239 272 16 +239 273 16 +239 274 16 +239 275 16 +239 276 16 +239 277 16 +239 278 16 +239 279 16 +239 280 16 +239 281 16 +239 282 16 +239 283 16 +239 284 16 +239 285 16 +239 286 16 +239 287 16 +239 288 16 +239 289 16 +239 290 16 +239 291 16 +239 292 16 +239 293 16 +239 294 16 +239 295 16 +239 296 16 +239 297 16 +239 298 16 +239 299 16 +239 300 16 +239 301 16 +239 302 16 +239 303 16 +239 304 16 +239 305 16 +239 306 16 +239 307 16 +239 308 16 +239 309 16 +239 310 16 +239 311 16 +239 312 16 +239 313 16 +239 314 16 +239 315 16 +239 316 16 +239 317 16 +239 318 16 +239 319 16 +239 320 16 +239 321 16 +239 322 16 +239 323 16 +239 324 16 +239 325 16 +239 326 16 +239 327 16 +239 328 16 +239 329 16 +239 330 16 +239 331 16 +239 332 16 +239 333 16 +239 334 16 +239 335 16 +239 336 16 +239 337 16 +239 338 16 +239 339 16 +239 340 16 +239 341 16 +239 342 16 +239 343 16 +239 344 16 +239 345 16 +239 346 16 +239 347 16 +239 348 16 +239 349 16 +240 241 16 +240 242 16 +240 243 16 +240 244 16 +240 245 16 +240 246 16 +240 247 16 +240 248 16 +240 249 16 +240 250 16 +240 251 16 +240 252 16 +240 253 16 +240 254 16 +240 255 16 +240 256 16 +240 257 16 +240 258 16 +240 259 16 +240 260 16 +240 261 16 +240 262 16 +240 263 16 +240 264 16 +240 265 16 +240 266 16 +240 267 16 +240 268 16 +240 269 16 +240 270 16 +240 271 16 +240 272 16 +240 273 16 +240 274 16 +240 275 16 +240 276 16 +240 277 16 +240 278 16 +240 279 16 +240 280 16 +240 281 16 +240 282 16 +240 283 16 +240 284 16 +240 285 16 +240 286 16 +240 287 16 +240 288 16 +240 289 16 +240 290 16 +240 291 16 +240 292 16 +240 293 16 +240 294 16 +240 295 16 +240 296 16 +240 297 16 +240 298 16 +240 299 16 +240 300 16 +240 301 16 +240 302 16 +240 303 16 +240 304 16 +240 305 16 +240 306 16 +240 307 16 +240 308 16 +240 309 16 +240 310 16 +240 311 16 +240 312 16 +240 313 16 +240 314 16 +240 315 16 +240 316 16 +240 317 16 +240 318 16 +240 319 16 +240 320 16 +240 321 16 +240 322 16 +240 323 16 +240 324 16 +240 325 16 +240 326 16 +240 327 16 +240 328 16 +240 329 16 +240 330 16 +240 331 16 +240 332 16 +240 333 16 +240 334 16 +240 335 16 +240 336 16 +240 337 16 +240 338 16 +240 339 16 +240 340 16 +240 341 16 +240 342 16 +240 343 16 +240 344 16 +240 345 16 +240 346 16 +240 347 16 +240 348 16 +240 349 16 +241 242 16 +241 243 16 +241 244 16 +241 245 16 +241 246 16 +241 247 16 +241 248 16 +241 249 16 +241 250 16 +241 251 16 +241 252 16 +241 253 16 +241 254 16 +241 255 16 +241 256 16 +241 257 16 +241 258 16 +241 259 16 +241 260 16 +241 261 16 +241 262 16 +241 263 16 +241 264 16 +241 265 16 +241 266 16 +241 267 16 +241 268 16 +241 269 16 +241 270 16 +241 271 16 +241 272 16 +241 273 16 +241 274 16 +241 275 16 +241 276 16 +241 277 16 +241 278 16 +241 279 16 +241 280 16 +241 281 16 +241 282 16 +241 283 16 +241 284 16 +241 285 16 +241 286 16 +241 287 16 +241 288 16 +241 289 16 +241 290 16 +241 291 16 +241 292 16 +241 293 16 +241 294 16 +241 295 16 +241 296 16 +241 297 16 +241 298 16 +241 299 16 +241 300 16 +241 301 16 +241 302 16 +241 303 16 +241 304 16 +241 305 16 +241 306 16 +241 307 16 +241 308 16 +241 309 16 +241 310 16 +241 311 16 +241 312 16 +241 313 16 +241 314 16 +241 315 16 +241 316 16 +241 317 16 +241 318 16 +241 319 16 +241 320 16 +241 321 16 +241 322 16 +241 323 16 +241 324 16 +241 325 16 +241 326 16 +241 327 16 +241 328 16 +241 329 16 +241 330 16 +241 331 16 +241 332 16 +241 333 16 +241 334 16 +241 335 16 +241 336 16 +241 337 16 +241 338 16 +241 339 16 +241 340 16 +241 341 16 +241 342 16 +241 343 16 +241 344 16 +241 345 16 +241 346 16 +241 347 16 +241 348 16 +241 349 16 +242 243 16 +242 244 16 +242 245 16 +242 246 16 +242 247 16 +242 248 16 +242 249 16 +242 250 16 +242 251 16 +242 252 16 +242 253 16 +242 254 16 +242 255 16 +242 256 16 +242 257 16 +242 258 16 +242 259 16 +242 260 16 +242 261 16 +242 262 16 +242 263 16 +242 264 16 +242 265 16 +242 266 16 +242 267 16 +242 268 16 +242 269 16 +242 270 16 +242 271 16 +242 272 16 +242 273 16 +242 274 16 +242 275 16 +242 276 16 +242 277 16 +242 278 16 +242 279 16 +242 280 16 +242 281 16 +242 282 16 +242 283 16 +242 284 16 +242 285 16 +242 286 16 +242 287 16 +242 288 16 +242 289 16 +242 290 16 +242 291 16 +242 292 16 +242 293 16 +242 294 16 +242 295 16 +242 296 16 +242 297 16 +242 298 16 +242 299 16 +242 300 16 +242 301 16 +242 302 16 +242 303 16 +242 304 16 +242 305 16 +242 306 16 +242 307 16 +242 308 16 +242 309 16 +242 310 16 +242 311 16 +242 312 16 +242 313 16 +242 314 16 +242 315 16 +242 316 16 +242 317 16 +242 318 16 +242 319 16 +242 320 16 +242 321 16 +242 322 16 +242 323 16 +242 324 16 +242 325 16 +242 326 16 +242 327 16 +242 328 16 +242 329 16 +242 330 16 +242 331 16 +242 332 16 +242 333 16 +242 334 16 +242 335 16 +242 336 16 +242 337 16 +242 338 16 +242 339 16 +242 340 16 +242 341 16 +242 342 16 +242 343 16 +242 344 16 +242 345 16 +242 346 16 +242 347 16 +242 348 16 +242 349 16 +243 244 16 +243 245 16 +243 246 16 +243 247 16 +243 248 16 +243 249 16 +243 250 16 +243 251 16 +243 252 16 +243 253 16 +243 254 16 +243 255 16 +243 256 16 +243 257 16 +243 258 16 +243 259 16 +243 260 16 +243 261 16 +243 262 16 +243 263 16 +243 264 16 +243 265 16 +243 266 16 +243 267 16 +243 268 16 +243 269 16 +243 270 16 +243 271 16 +243 272 16 +243 273 16 +243 274 16 +243 275 16 +243 276 16 +243 277 16 +243 278 16 +243 279 16 +243 280 16 +243 281 16 +243 282 16 +243 283 16 +243 284 16 +243 285 16 +243 286 16 +243 287 16 +243 288 16 +243 289 16 +243 290 16 +243 291 16 +243 292 16 +243 293 16 +243 294 16 +243 295 16 +243 296 16 +243 297 16 +243 298 16 +243 299 16 +243 300 16 +243 301 16 +243 302 16 +243 303 16 +243 304 16 +243 305 16 +243 306 16 +243 307 16 +243 308 16 +243 309 16 +243 310 16 +243 311 16 +243 312 16 +243 313 16 +243 314 16 +243 315 16 +243 316 16 +243 317 16 +243 318 16 +243 319 16 +243 320 16 +243 321 16 +243 322 16 +243 323 16 +243 324 16 +243 325 16 +243 326 16 +243 327 16 +243 328 16 +243 329 16 +243 330 16 +243 331 16 +243 332 16 +243 333 16 +243 334 16 +243 335 16 +243 336 16 +243 337 16 +243 338 16 +243 339 16 +243 340 16 +243 341 16 +243 342 16 +243 343 16 +243 344 16 +243 345 16 +243 346 16 +243 347 16 +243 348 16 +243 349 16 +244 245 16 +244 246 16 +244 247 16 +244 248 16 +244 249 16 +244 250 16 +244 251 16 +244 252 16 +244 253 16 +244 254 16 +244 255 16 +244 256 16 +244 257 16 +244 258 16 +244 259 16 +244 260 16 +244 261 16 +244 262 16 +244 263 16 +244 264 16 +244 265 16 +244 266 16 +244 267 16 +244 268 16 +244 269 16 +244 270 16 +244 271 16 +244 272 16 +244 273 16 +244 274 16 +244 275 16 +244 276 16 +244 277 16 +244 278 16 +244 279 16 +244 280 16 +244 281 16 +244 282 16 +244 283 16 +244 284 16 +244 285 16 +244 286 16 +244 287 16 +244 288 16 +244 289 16 +244 290 16 +244 291 16 +244 292 16 +244 293 16 +244 294 16 +244 295 16 +244 296 16 +244 297 16 +244 298 16 +244 299 16 +244 300 16 +244 301 16 +244 302 16 +244 303 16 +244 304 16 +244 305 16 +244 306 16 +244 307 16 +244 308 16 +244 309 16 +244 310 16 +244 311 16 +244 312 16 +244 313 16 +244 314 16 +244 315 16 +244 316 16 +244 317 16 +244 318 16 +244 319 16 +244 320 16 +244 321 16 +244 322 16 +244 323 16 +244 324 16 +244 325 16 +244 326 16 +244 327 16 +244 328 16 +244 329 16 +244 330 16 +244 331 16 +244 332 16 +244 333 16 +244 334 16 +244 335 16 +244 336 16 +244 337 16 +244 338 16 +244 339 16 +244 340 16 +244 341 16 +244 342 16 +244 343 16 +244 344 16 +244 345 16 +244 346 16 +244 347 16 +244 348 16 +244 349 16 +245 246 16 +245 247 16 +245 248 16 +245 249 16 +245 250 16 +245 251 16 +245 252 16 +245 253 16 +245 254 16 +245 255 16 +245 256 16 +245 257 16 +245 258 16 +245 259 16 +245 260 16 +245 261 16 +245 262 16 +245 263 16 +245 264 16 +245 265 16 +245 266 16 +245 267 16 +245 268 16 +245 269 16 +245 270 16 +245 271 16 +245 272 16 +245 273 16 +245 274 16 +245 275 16 +245 276 16 +245 277 16 +245 278 16 +245 279 16 +245 280 16 +245 281 16 +245 282 16 +245 283 16 +245 284 16 +245 285 16 +245 286 16 +245 287 16 +245 288 16 +245 289 16 +245 290 16 +245 291 16 +245 292 16 +245 293 16 +245 294 16 +245 295 16 +245 296 16 +245 297 16 +245 298 16 +245 299 16 +245 300 16 +245 301 16 +245 302 16 +245 303 16 +245 304 16 +245 305 16 +245 306 16 +245 307 16 +245 308 16 +245 309 16 +245 310 16 +245 311 16 +245 312 16 +245 313 16 +245 314 16 +245 315 16 +245 316 16 +245 317 16 +245 318 16 +245 319 16 +245 320 16 +245 321 16 +245 322 16 +245 323 16 +245 324 16 +245 325 16 +245 326 16 +245 327 16 +245 328 16 +245 329 16 +245 330 16 +245 331 16 +245 332 16 +245 333 16 +245 334 16 +245 335 16 +245 336 16 +245 337 16 +245 338 16 +245 339 16 +245 340 16 +245 341 16 +245 342 16 +245 343 16 +245 344 16 +245 345 16 +245 346 16 +245 347 16 +245 348 16 +245 349 16 +246 247 16 +246 248 16 +246 249 16 +246 250 16 +246 251 16 +246 252 16 +246 253 16 +246 254 16 +246 255 16 +246 256 16 +246 257 16 +246 258 16 +246 259 16 +246 260 16 +246 261 16 +246 262 16 +246 263 16 +246 264 16 +246 265 16 +246 266 16 +246 267 16 +246 268 16 +246 269 16 +246 270 16 +246 271 16 +246 272 16 +246 273 16 +246 274 16 +246 275 16 +246 276 16 +246 277 16 +246 278 16 +246 279 16 +246 280 16 +246 281 16 +246 282 16 +246 283 16 +246 284 16 +246 285 16 +246 286 16 +246 287 16 +246 288 16 +246 289 16 +246 290 16 +246 291 16 +246 292 16 +246 293 16 +246 294 16 +246 295 16 +246 296 16 +246 297 16 +246 298 16 +246 299 16 +246 300 16 +246 301 16 +246 302 16 +246 303 16 +246 304 16 +246 305 16 +246 306 16 +246 307 16 +246 308 16 +246 309 16 +246 310 16 +246 311 16 +246 312 16 +246 313 16 +246 314 16 +246 315 16 +246 316 16 +246 317 16 +246 318 16 +246 319 16 +246 320 16 +246 321 16 +246 322 16 +246 323 16 +246 324 16 +246 325 16 +246 326 16 +246 327 16 +246 328 16 +246 329 16 +246 330 16 +246 331 16 +246 332 16 +246 333 16 +246 334 16 +246 335 16 +246 336 16 +246 337 16 +246 338 16 +246 339 16 +246 340 16 +246 341 16 +246 342 16 +246 343 16 +246 344 16 +246 345 16 +246 346 16 +246 347 16 +246 348 16 +246 349 16 +247 248 16 +247 249 16 +247 250 16 +247 251 16 +247 252 16 +247 253 16 +247 254 16 +247 255 16 +247 256 16 +247 257 16 +247 258 16 +247 259 16 +247 260 16 +247 261 16 +247 262 16 +247 263 16 +247 264 16 +247 265 16 +247 266 16 +247 267 16 +247 268 16 +247 269 16 +247 270 16 +247 271 16 +247 272 16 +247 273 16 +247 274 16 +247 275 16 +247 276 16 +247 277 16 +247 278 16 +247 279 16 +247 280 16 +247 281 16 +247 282 16 +247 283 16 +247 284 16 +247 285 16 +247 286 16 +247 287 16 +247 288 16 +247 289 16 +247 290 16 +247 291 16 +247 292 16 +247 293 16 +247 294 16 +247 295 16 +247 296 16 +247 297 16 +247 298 16 +247 299 16 +247 300 16 +247 301 16 +247 302 16 +247 303 16 +247 304 16 +247 305 16 +247 306 16 +247 307 16 +247 308 16 +247 309 16 +247 310 16 +247 311 16 +247 312 16 +247 313 16 +247 314 16 +247 315 16 +247 316 16 +247 317 16 +247 318 16 +247 319 16 +247 320 16 +247 321 16 +247 322 16 +247 323 16 +247 324 16 +247 325 16 +247 326 16 +247 327 16 +247 328 16 +247 329 16 +247 330 16 +247 331 16 +247 332 16 +247 333 16 +247 334 16 +247 335 16 +247 336 16 +247 337 16 +247 338 16 +247 339 16 +247 340 16 +247 341 16 +247 342 16 +247 343 16 +247 344 16 +247 345 16 +247 346 16 +247 347 16 +247 348 16 +247 349 16 +248 249 16 +248 250 16 +248 251 16 +248 252 16 +248 253 16 +248 254 16 +248 255 16 +248 256 16 +248 257 16 +248 258 16 +248 259 16 +248 260 16 +248 261 16 +248 262 16 +248 263 16 +248 264 16 +248 265 16 +248 266 16 +248 267 16 +248 268 16 +248 269 16 +248 270 16 +248 271 16 +248 272 16 +248 273 16 +248 274 16 +248 275 16 +248 276 16 +248 277 16 +248 278 16 +248 279 16 +248 280 16 +248 281 16 +248 282 16 +248 283 16 +248 284 16 +248 285 16 +248 286 16 +248 287 16 +248 288 16 +248 289 16 +248 290 16 +248 291 16 +248 292 16 +248 293 16 +248 294 16 +248 295 16 +248 296 16 +248 297 16 +248 298 16 +248 299 16 +248 300 16 +248 301 16 +248 302 16 +248 303 16 +248 304 16 +248 305 16 +248 306 16 +248 307 16 +248 308 16 +248 309 16 +248 310 16 +248 311 16 +248 312 16 +248 313 16 +248 314 16 +248 315 16 +248 316 16 +248 317 16 +248 318 16 +248 319 16 +248 320 16 +248 321 16 +248 322 16 +248 323 16 +248 324 16 +248 325 16 +248 326 16 +248 327 16 +248 328 16 +248 329 16 +248 330 16 +248 331 16 +248 332 16 +248 333 16 +248 334 16 +248 335 16 +248 336 16 +248 337 16 +248 338 16 +248 339 16 +248 340 16 +248 341 16 +248 342 16 +248 343 16 +248 344 16 +248 345 16 +248 346 16 +248 347 16 +248 348 16 +248 349 16 +249 250 16 +249 251 16 +249 252 16 +249 253 16 +249 254 16 +249 255 16 +249 256 16 +249 257 16 +249 258 16 +249 259 16 +249 260 16 +249 261 16 +249 262 16 +249 263 16 +249 264 16 +249 265 16 +249 266 16 +249 267 16 +249 268 16 +249 269 16 +249 270 16 +249 271 16 +249 272 16 +249 273 16 +249 274 16 +249 275 16 +249 276 16 +249 277 16 +249 278 16 +249 279 16 +249 280 16 +249 281 16 +249 282 16 +249 283 16 +249 284 16 +249 285 16 +249 286 16 +249 287 16 +249 288 16 +249 289 16 +249 290 16 +249 291 16 +249 292 16 +249 293 16 +249 294 16 +249 295 16 +249 296 16 +249 297 16 +249 298 16 +249 299 16 +249 300 16 +249 301 16 +249 302 16 +249 303 16 +249 304 16 +249 305 16 +249 306 16 +249 307 16 +249 308 16 +249 309 16 +249 310 16 +249 311 16 +249 312 16 +249 313 16 +249 314 16 +249 315 16 +249 316 16 +249 317 16 +249 318 16 +249 319 16 +249 320 16 +249 321 16 +249 322 16 +249 323 16 +249 324 16 +249 325 16 +249 326 16 +249 327 16 +249 328 16 +249 329 16 +249 330 16 +249 331 16 +249 332 16 +249 333 16 +249 334 16 +249 335 16 +249 336 16 +249 337 16 +249 338 16 +249 339 16 +249 340 16 +249 341 16 +249 342 16 +249 343 16 +249 344 16 +249 345 16 +249 346 16 +249 347 16 +249 348 16 +249 349 16 +250 251 16 +250 252 16 +250 253 16 +250 254 16 +250 255 16 +250 256 16 +250 257 16 +250 258 16 +250 259 16 +250 260 16 +250 261 16 +250 262 16 +250 263 16 +250 264 16 +250 265 16 +250 266 16 +250 267 16 +250 268 16 +250 269 16 +250 270 16 +250 271 16 +250 272 16 +250 273 16 +250 274 16 +250 275 16 +250 276 16 +250 277 16 +250 278 16 +250 279 16 +250 280 16 +250 281 16 +250 282 16 +250 283 16 +250 284 16 +250 285 16 +250 286 16 +250 287 16 +250 288 16 +250 289 16 +250 290 16 +250 291 16 +250 292 16 +250 293 16 +250 294 16 +250 295 16 +250 296 16 +250 297 16 +250 298 16 +250 299 16 +250 300 16 +250 301 16 +250 302 16 +250 303 16 +250 304 16 +250 305 16 +250 306 16 +250 307 16 +250 308 16 +250 309 16 +250 310 16 +250 311 16 +250 312 16 +250 313 16 +250 314 16 +250 315 16 +250 316 16 +250 317 16 +250 318 16 +250 319 16 +250 320 16 +250 321 16 +250 322 16 +250 323 16 +250 324 16 +250 325 16 +250 326 16 +250 327 16 +250 328 16 +250 329 16 +250 330 16 +250 331 16 +250 332 16 +250 333 16 +250 334 16 +250 335 16 +250 336 16 +250 337 16 +250 338 16 +250 339 16 +250 340 16 +250 341 16 +250 342 16 +250 343 16 +250 344 16 +250 345 16 +250 346 16 +250 347 16 +250 348 16 +250 349 16 +251 252 16 +251 253 16 +251 254 16 +251 255 16 +251 256 16 +251 257 16 +251 258 16 +251 259 16 +251 260 16 +251 261 16 +251 262 16 +251 263 16 +251 264 16 +251 265 16 +251 266 16 +251 267 16 +251 268 16 +251 269 16 +251 270 16 +251 271 16 +251 272 16 +251 273 16 +251 274 16 +251 275 16 +251 276 16 +251 277 16 +251 278 16 +251 279 16 +251 280 16 +251 281 16 +251 282 16 +251 283 16 +251 284 16 +251 285 16 +251 286 16 +251 287 16 +251 288 16 +251 289 16 +251 290 16 +251 291 16 +251 292 16 +251 293 16 +251 294 16 +251 295 16 +251 296 16 +251 297 16 +251 298 16 +251 299 16 +251 300 16 +251 301 16 +251 302 16 +251 303 16 +251 304 16 +251 305 16 +251 306 16 +251 307 16 +251 308 16 +251 309 16 +251 310 16 +251 311 16 +251 312 16 +251 313 16 +251 314 16 +251 315 16 +251 316 16 +251 317 16 +251 318 16 +251 319 16 +251 320 16 +251 321 16 +251 322 16 +251 323 16 +251 324 16 +251 325 16 +251 326 16 +251 327 16 +251 328 16 +251 329 16 +251 330 16 +251 331 16 +251 332 16 +251 333 16 +251 334 16 +251 335 16 +251 336 16 +251 337 16 +251 338 16 +251 339 16 +251 340 16 +251 341 16 +251 342 16 +251 343 16 +251 344 16 +251 345 16 +251 346 16 +251 347 16 +251 348 16 +251 349 16 +252 253 16 +252 254 16 +252 255 16 +252 256 16 +252 257 16 +252 258 16 +252 259 16 +252 260 16 +252 261 16 +252 262 16 +252 263 16 +252 264 16 +252 265 16 +252 266 16 +252 267 16 +252 268 16 +252 269 16 +252 270 16 +252 271 16 +252 272 16 +252 273 16 +252 274 16 +252 275 16 +252 276 16 +252 277 16 +252 278 16 +252 279 16 +252 280 16 +252 281 16 +252 282 16 +252 283 16 +252 284 16 +252 285 16 +252 286 16 +252 287 16 +252 288 16 +252 289 16 +252 290 16 +252 291 16 +252 292 16 +252 293 16 +252 294 16 +252 295 16 +252 296 16 +252 297 16 +252 298 16 +252 299 16 +252 300 16 +252 301 16 +252 302 16 +252 303 16 +252 304 16 +252 305 16 +252 306 16 +252 307 16 +252 308 16 +252 309 16 +252 310 16 +252 311 16 +252 312 16 +252 313 16 +252 314 16 +252 315 16 +252 316 16 +252 317 16 +252 318 16 +252 319 16 +252 320 16 +252 321 16 +252 322 16 +252 323 16 +252 324 16 +252 325 16 +252 326 16 +252 327 16 +252 328 16 +252 329 16 +252 330 16 +252 331 16 +252 332 16 +252 333 16 +252 334 16 +252 335 16 +252 336 16 +252 337 16 +252 338 16 +252 339 16 +252 340 16 +252 341 16 +252 342 16 +252 343 16 +252 344 16 +252 345 16 +252 346 16 +252 347 16 +252 348 16 +252 349 16 +253 254 16 +253 255 16 +253 256 16 +253 257 16 +253 258 16 +253 259 16 +253 260 16 +253 261 16 +253 262 16 +253 263 16 +253 264 16 +253 265 16 +253 266 16 +253 267 16 +253 268 16 +253 269 16 +253 270 16 +253 271 16 +253 272 16 +253 273 16 +253 274 16 +253 275 16 +253 276 16 +253 277 16 +253 278 16 +253 279 16 +253 280 16 +253 281 16 +253 282 16 +253 283 16 +253 284 16 +253 285 16 +253 286 16 +253 287 16 +253 288 16 +253 289 16 +253 290 16 +253 291 16 +253 292 16 +253 293 16 +253 294 16 +253 295 16 +253 296 16 +253 297 16 +253 298 16 +253 299 16 +253 300 16 +253 301 16 +253 302 16 +253 303 16 +253 304 16 +253 305 16 +253 306 16 +253 307 16 +253 308 16 +253 309 16 +253 310 16 +253 311 16 +253 312 16 +253 313 16 +253 314 16 +253 315 16 +253 316 16 +253 317 16 +253 318 16 +253 319 16 +253 320 16 +253 321 16 +253 322 16 +253 323 16 +253 324 16 +253 325 16 +253 326 16 +253 327 16 +253 328 16 +253 329 16 +253 330 16 +253 331 16 +253 332 16 +253 333 16 +253 334 16 +253 335 16 +253 336 16 +253 337 16 +253 338 16 +253 339 16 +253 340 16 +253 341 16 +253 342 16 +253 343 16 +253 344 16 +253 345 16 +253 346 16 +253 347 16 +253 348 16 +253 349 16 +254 255 16 +254 256 16 +254 257 16 +254 258 16 +254 259 16 +254 260 16 +254 261 16 +254 262 16 +254 263 16 +254 264 16 +254 265 16 +254 266 16 +254 267 16 +254 268 16 +254 269 16 +254 270 16 +254 271 16 +254 272 16 +254 273 16 +254 274 16 +254 275 16 +254 276 16 +254 277 16 +254 278 16 +254 279 16 +254 280 16 +254 281 16 +254 282 16 +254 283 16 +254 284 16 +254 285 16 +254 286 16 +254 287 16 +254 288 16 +254 289 16 +254 290 16 +254 291 16 +254 292 16 +254 293 16 +254 294 16 +254 295 16 +254 296 16 +254 297 16 +254 298 16 +254 299 16 +254 300 16 +254 301 16 +254 302 16 +254 303 16 +254 304 16 +254 305 16 +254 306 16 +254 307 16 +254 308 16 +254 309 16 +254 310 16 +254 311 16 +254 312 16 +254 313 16 +254 314 16 +254 315 16 +254 316 16 +254 317 16 +254 318 16 +254 319 16 +254 320 16 +254 321 16 +254 322 16 +254 323 16 +254 324 16 +254 325 16 +254 326 16 +254 327 16 +254 328 16 +254 329 16 +254 330 16 +254 331 16 +254 332 16 +254 333 16 +254 334 16 +254 335 16 +254 336 16 +254 337 16 +254 338 16 +254 339 16 +254 340 16 +254 341 16 +254 342 16 +254 343 16 +254 344 16 +254 345 16 +254 346 16 +254 347 16 +254 348 16 +254 349 16 +255 256 16 +255 257 16 +255 258 16 +255 259 16 +255 260 16 +255 261 16 +255 262 16 +255 263 16 +255 264 16 +255 265 16 +255 266 16 +255 267 16 +255 268 16 +255 269 16 +255 270 16 +255 271 16 +255 272 16 +255 273 16 +255 274 16 +255 275 16 +255 276 16 +255 277 16 +255 278 16 +255 279 16 +255 280 16 +255 281 16 +255 282 16 +255 283 16 +255 284 16 +255 285 16 +255 286 16 +255 287 16 +255 288 16 +255 289 16 +255 290 16 +255 291 16 +255 292 16 +255 293 16 +255 294 16 +255 295 16 +255 296 16 +255 297 16 +255 298 16 +255 299 16 +255 300 16 +255 301 16 +255 302 16 +255 303 16 +255 304 16 +255 305 16 +255 306 16 +255 307 16 +255 308 16 +255 309 16 +255 310 16 +255 311 16 +255 312 16 +255 313 16 +255 314 16 +255 315 16 +255 316 16 +255 317 16 +255 318 16 +255 319 16 +255 320 16 +255 321 16 +255 322 16 +255 323 16 +255 324 16 +255 325 16 +255 326 16 +255 327 16 +255 328 16 +255 329 16 +255 330 16 +255 331 16 +255 332 16 +255 333 16 +255 334 16 +255 335 16 +255 336 16 +255 337 16 +255 338 16 +255 339 16 +255 340 16 +255 341 16 +255 342 16 +255 343 16 +255 344 16 +255 345 16 +255 346 16 +255 347 16 +255 348 16 +255 349 16 +256 257 16 +256 258 16 +256 259 16 +256 260 16 +256 261 16 +256 262 16 +256 263 16 +256 264 16 +256 265 16 +256 266 16 +256 267 16 +256 268 16 +256 269 16 +256 270 16 +256 271 16 +256 272 16 +256 273 16 +256 274 16 +256 275 16 +256 276 16 +256 277 16 +256 278 16 +256 279 16 +256 280 16 +256 281 16 +256 282 16 +256 283 16 +256 284 16 +256 285 16 +256 286 16 +256 287 16 +256 288 16 +256 289 16 +256 290 16 +256 291 16 +256 292 16 +256 293 16 +256 294 16 +256 295 16 +256 296 16 +256 297 16 +256 298 16 +256 299 16 +256 300 16 +256 301 16 +256 302 16 +256 303 16 +256 304 16 +256 305 16 +256 306 16 +256 307 16 +256 308 16 +256 309 16 +256 310 16 +256 311 16 +256 312 16 +256 313 16 +256 314 16 +256 315 16 +256 316 16 +256 317 16 +256 318 16 +256 319 16 +256 320 16 +256 321 16 +256 322 16 +256 323 16 +256 324 16 +256 325 16 +256 326 16 +256 327 16 +256 328 16 +256 329 16 +256 330 16 +256 331 16 +256 332 16 +256 333 16 +256 334 16 +256 335 16 +256 336 16 +256 337 16 +256 338 16 +256 339 16 +256 340 16 +256 341 16 +256 342 16 +256 343 16 +256 344 16 +256 345 16 +256 346 16 +256 347 16 +256 348 16 +256 349 16 +257 258 16 +257 259 16 +257 260 16 +257 261 16 +257 262 16 +257 263 16 +257 264 16 +257 265 16 +257 266 16 +257 267 16 +257 268 16 +257 269 16 +257 270 16 +257 271 16 +257 272 16 +257 273 16 +257 274 16 +257 275 16 +257 276 16 +257 277 16 +257 278 16 +257 279 16 +257 280 16 +257 281 16 +257 282 16 +257 283 16 +257 284 16 +257 285 16 +257 286 16 +257 287 16 +257 288 16 +257 289 16 +257 290 16 +257 291 16 +257 292 16 +257 293 16 +257 294 16 +257 295 16 +257 296 16 +257 297 16 +257 298 16 +257 299 16 +257 300 16 +257 301 16 +257 302 16 +257 303 16 +257 304 16 +257 305 16 +257 306 16 +257 307 16 +257 308 16 +257 309 16 +257 310 16 +257 311 16 +257 312 16 +257 313 16 +257 314 16 +257 315 16 +257 316 16 +257 317 16 +257 318 16 +257 319 16 +257 320 16 +257 321 16 +257 322 16 +257 323 16 +257 324 16 +257 325 16 +257 326 16 +257 327 16 +257 328 16 +257 329 16 +257 330 16 +257 331 16 +257 332 16 +257 333 16 +257 334 16 +257 335 16 +257 336 16 +257 337 16 +257 338 16 +257 339 16 +257 340 16 +257 341 16 +257 342 16 +257 343 16 +257 344 16 +257 345 16 +257 346 16 +257 347 16 +257 348 16 +257 349 16 +258 259 16 +258 260 16 +258 261 16 +258 262 16 +258 263 16 +258 264 16 +258 265 16 +258 266 16 +258 267 16 +258 268 16 +258 269 16 +258 270 16 +258 271 16 +258 272 16 +258 273 16 +258 274 16 +258 275 16 +258 276 16 +258 277 16 +258 278 16 +258 279 16 +258 280 16 +258 281 16 +258 282 16 +258 283 16 +258 284 16 +258 285 16 +258 286 16 +258 287 16 +258 288 16 +258 289 16 +258 290 16 +258 291 16 +258 292 16 +258 293 16 +258 294 16 +258 295 16 +258 296 16 +258 297 16 +258 298 16 +258 299 16 +258 300 16 +258 301 16 +258 302 16 +258 303 16 +258 304 16 +258 305 16 +258 306 16 +258 307 16 +258 308 16 +258 309 16 +258 310 16 +258 311 16 +258 312 16 +258 313 16 +258 314 16 +258 315 16 +258 316 16 +258 317 16 +258 318 16 +258 319 16 +258 320 16 +258 321 16 +258 322 16 +258 323 16 +258 324 16 +258 325 16 +258 326 16 +258 327 16 +258 328 16 +258 329 16 +258 330 16 +258 331 16 +258 332 16 +258 333 16 +258 334 16 +258 335 16 +258 336 16 +258 337 16 +258 338 16 +258 339 16 +258 340 16 +258 341 16 +258 342 16 +258 343 16 +258 344 16 +258 345 16 +258 346 16 +258 347 16 +258 348 16 +258 349 16 +259 260 16 +259 261 16 +259 262 16 +259 263 16 +259 264 16 +259 265 16 +259 266 16 +259 267 16 +259 268 16 +259 269 16 +259 270 16 +259 271 16 +259 272 16 +259 273 16 +259 274 16 +259 275 16 +259 276 16 +259 277 16 +259 278 16 +259 279 16 +259 280 16 +259 281 16 +259 282 16 +259 283 16 +259 284 16 +259 285 16 +259 286 16 +259 287 16 +259 288 16 +259 289 16 +259 290 16 +259 291 16 +259 292 16 +259 293 16 +259 294 16 +259 295 16 +259 296 16 +259 297 16 +259 298 16 +259 299 16 +259 300 16 +259 301 16 +259 302 16 +259 303 16 +259 304 16 +259 305 16 +259 306 16 +259 307 16 +259 308 16 +259 309 16 +259 310 16 +259 311 16 +259 312 16 +259 313 16 +259 314 16 +259 315 16 +259 316 16 +259 317 16 +259 318 16 +259 319 16 +259 320 16 +259 321 16 +259 322 16 +259 323 16 +259 324 16 +259 325 16 +259 326 16 +259 327 16 +259 328 16 +259 329 16 +259 330 16 +259 331 16 +259 332 16 +259 333 16 +259 334 16 +259 335 16 +259 336 16 +259 337 16 +259 338 16 +259 339 16 +259 340 16 +259 341 16 +259 342 16 +259 343 16 +259 344 16 +259 345 16 +259 346 16 +259 347 16 +259 348 16 +259 349 16 +260 261 16 +260 262 16 +260 263 16 +260 264 16 +260 265 16 +260 266 16 +260 267 16 +260 268 16 +260 269 16 +260 270 16 +260 271 16 +260 272 16 +260 273 16 +260 274 16 +260 275 16 +260 276 16 +260 277 16 +260 278 16 +260 279 16 +260 280 16 +260 281 16 +260 282 16 +260 283 16 +260 284 16 +260 285 16 +260 286 16 +260 287 16 +260 288 16 +260 289 16 +260 290 16 +260 291 16 +260 292 16 +260 293 16 +260 294 16 +260 295 16 +260 296 16 +260 297 16 +260 298 16 +260 299 16 +260 300 16 +260 301 16 +260 302 16 +260 303 16 +260 304 16 +260 305 16 +260 306 16 +260 307 16 +260 308 16 +260 309 16 +260 310 16 +260 311 16 +260 312 16 +260 313 16 +260 314 16 +260 315 16 +260 316 16 +260 317 16 +260 318 16 +260 319 16 +260 320 16 +260 321 16 +260 322 16 +260 323 16 +260 324 16 +260 325 16 +260 326 16 +260 327 16 +260 328 16 +260 329 16 +260 330 16 +260 331 16 +260 332 16 +260 333 16 +260 334 16 +260 335 16 +260 336 16 +260 337 16 +260 338 16 +260 339 16 +260 340 16 +260 341 16 +260 342 16 +260 343 16 +260 344 16 +260 345 16 +260 346 16 +260 347 16 +260 348 16 +260 349 16 +261 262 16 +261 263 16 +261 264 16 +261 265 16 +261 266 16 +261 267 16 +261 268 16 +261 269 16 +261 270 16 +261 271 16 +261 272 16 +261 273 16 +261 274 16 +261 275 16 +261 276 16 +261 277 16 +261 278 16 +261 279 16 +261 280 16 +261 281 16 +261 282 16 +261 283 16 +261 284 16 +261 285 16 +261 286 16 +261 287 16 +261 288 16 +261 289 16 +261 290 16 +261 291 16 +261 292 16 +261 293 16 +261 294 16 +261 295 16 +261 296 16 +261 297 16 +261 298 16 +261 299 16 +261 300 16 +261 301 16 +261 302 16 +261 303 16 +261 304 16 +261 305 16 +261 306 16 +261 307 16 +261 308 16 +261 309 16 +261 310 16 +261 311 16 +261 312 16 +261 313 16 +261 314 16 +261 315 16 +261 316 16 +261 317 16 +261 318 16 +261 319 16 +261 320 16 +261 321 16 +261 322 16 +261 323 16 +261 324 16 +261 325 16 +261 326 16 +261 327 16 +261 328 16 +261 329 16 +261 330 16 +261 331 16 +261 332 16 +261 333 16 +261 334 16 +261 335 16 +261 336 16 +261 337 16 +261 338 16 +261 339 16 +261 340 16 +261 341 16 +261 342 16 +261 343 16 +261 344 16 +261 345 16 +261 346 16 +261 347 16 +261 348 16 +261 349 16 +262 263 16 +262 264 16 +262 265 16 +262 266 16 +262 267 16 +262 268 16 +262 269 16 +262 270 16 +262 271 16 +262 272 16 +262 273 16 +262 274 16 +262 275 16 +262 276 16 +262 277 16 +262 278 16 +262 279 16 +262 280 16 +262 281 16 +262 282 16 +262 283 16 +262 284 16 +262 285 16 +262 286 16 +262 287 16 +262 288 16 +262 289 16 +262 290 16 +262 291 16 +262 292 16 +262 293 16 +262 294 16 +262 295 16 +262 296 16 +262 297 16 +262 298 16 +262 299 16 +262 300 16 +262 301 16 +262 302 16 +262 303 16 +262 304 16 +262 305 16 +262 306 16 +262 307 16 +262 308 16 +262 309 16 +262 310 16 +262 311 16 +262 312 16 +262 313 16 +262 314 16 +262 315 16 +262 316 16 +262 317 16 +262 318 16 +262 319 16 +262 320 16 +262 321 16 +262 322 16 +262 323 16 +262 324 16 +262 325 16 +262 326 16 +262 327 16 +262 328 16 +262 329 16 +262 330 16 +262 331 16 +262 332 16 +262 333 16 +262 334 16 +262 335 16 +262 336 16 +262 337 16 +262 338 16 +262 339 16 +262 340 16 +262 341 16 +262 342 16 +262 343 16 +262 344 16 +262 345 16 +262 346 16 +262 347 16 +262 348 16 +262 349 16 +263 264 16 +263 265 16 +263 266 16 +263 267 16 +263 268 16 +263 269 16 +263 270 16 +263 271 16 +263 272 16 +263 273 16 +263 274 16 +263 275 16 +263 276 16 +263 277 16 +263 278 16 +263 279 16 +263 280 16 +263 281 16 +263 282 16 +263 283 16 +263 284 16 +263 285 16 +263 286 16 +263 287 16 +263 288 16 +263 289 16 +263 290 16 +263 291 16 +263 292 16 +263 293 16 +263 294 16 +263 295 16 +263 296 16 +263 297 16 +263 298 16 +263 299 16 +263 300 16 +263 301 16 +263 302 16 +263 303 16 +263 304 16 +263 305 16 +263 306 16 +263 307 16 +263 308 16 +263 309 16 +263 310 16 +263 311 16 +263 312 16 +263 313 16 +263 314 16 +263 315 16 +263 316 16 +263 317 16 +263 318 16 +263 319 16 +263 320 16 +263 321 16 +263 322 16 +263 323 16 +263 324 16 +263 325 16 +263 326 16 +263 327 16 +263 328 16 +263 329 16 +263 330 16 +263 331 16 +263 332 16 +263 333 16 +263 334 16 +263 335 16 +263 336 16 +263 337 16 +263 338 16 +263 339 16 +263 340 16 +263 341 16 +263 342 16 +263 343 16 +263 344 16 +263 345 16 +263 346 16 +263 347 16 +263 348 16 +263 349 16 +264 265 16 +264 266 16 +264 267 16 +264 268 16 +264 269 16 +264 270 16 +264 271 16 +264 272 16 +264 273 16 +264 274 16 +264 275 16 +264 276 16 +264 277 16 +264 278 16 +264 279 16 +264 280 16 +264 281 16 +264 282 16 +264 283 16 +264 284 16 +264 285 16 +264 286 16 +264 287 16 +264 288 16 +264 289 16 +264 290 16 +264 291 16 +264 292 16 +264 293 16 +264 294 16 +264 295 16 +264 296 16 +264 297 16 +264 298 16 +264 299 16 +264 300 16 +264 301 16 +264 302 16 +264 303 16 +264 304 16 +264 305 16 +264 306 16 +264 307 16 +264 308 16 +264 309 16 +264 310 16 +264 311 16 +264 312 16 +264 313 16 +264 314 16 +264 315 16 +264 316 16 +264 317 16 +264 318 16 +264 319 16 +264 320 16 +264 321 16 +264 322 16 +264 323 16 +264 324 16 +264 325 16 +264 326 16 +264 327 16 +264 328 16 +264 329 16 +264 330 16 +264 331 16 +264 332 16 +264 333 16 +264 334 16 +264 335 16 +264 336 16 +264 337 16 +264 338 16 +264 339 16 +264 340 16 +264 341 16 +264 342 16 +264 343 16 +264 344 16 +264 345 16 +264 346 16 +264 347 16 +264 348 16 +264 349 16 +265 266 16 +265 267 16 +265 268 16 +265 269 16 +265 270 16 +265 271 16 +265 272 16 +265 273 16 +265 274 16 +265 275 16 +265 276 16 +265 277 16 +265 278 16 +265 279 16 +265 280 16 +265 281 16 +265 282 16 +265 283 16 +265 284 16 +265 285 16 +265 286 16 +265 287 16 +265 288 16 +265 289 16 +265 290 16 +265 291 16 +265 292 16 +265 293 16 +265 294 16 +265 295 16 +265 296 16 +265 297 16 +265 298 16 +265 299 16 +265 300 16 +265 301 16 +265 302 16 +265 303 16 +265 304 16 +265 305 16 +265 306 16 +265 307 16 +265 308 16 +265 309 16 +265 310 16 +265 311 16 +265 312 16 +265 313 16 +265 314 16 +265 315 16 +265 316 16 +265 317 16 +265 318 16 +265 319 16 +265 320 16 +265 321 16 +265 322 16 +265 323 16 +265 324 16 +265 325 16 +265 326 16 +265 327 16 +265 328 16 +265 329 16 +265 330 16 +265 331 16 +265 332 16 +265 333 16 +265 334 16 +265 335 16 +265 336 16 +265 337 16 +265 338 16 +265 339 16 +265 340 16 +265 341 16 +265 342 16 +265 343 16 +265 344 16 +265 345 16 +265 346 16 +265 347 16 +265 348 16 +265 349 16 +266 267 16 +266 268 16 +266 269 16 +266 270 16 +266 271 16 +266 272 16 +266 273 16 +266 274 16 +266 275 16 +266 276 16 +266 277 16 +266 278 16 +266 279 16 +266 280 16 +266 281 16 +266 282 16 +266 283 16 +266 284 16 +266 285 16 +266 286 16 +266 287 16 +266 288 16 +266 289 16 +266 290 16 +266 291 16 +266 292 16 +266 293 16 +266 294 16 +266 295 16 +266 296 16 +266 297 16 +266 298 16 +266 299 16 +266 300 16 +266 301 16 +266 302 16 +266 303 16 +266 304 16 +266 305 16 +266 306 16 +266 307 16 +266 308 16 +266 309 16 +266 310 16 +266 311 16 +266 312 16 +266 313 16 +266 314 16 +266 315 16 +266 316 16 +266 317 16 +266 318 16 +266 319 16 +266 320 16 +266 321 16 +266 322 16 +266 323 16 +266 324 16 +266 325 16 +266 326 16 +266 327 16 +266 328 16 +266 329 16 +266 330 16 +266 331 16 +266 332 16 +266 333 16 +266 334 16 +266 335 16 +266 336 16 +266 337 16 +266 338 16 +266 339 16 +266 340 16 +266 341 16 +266 342 16 +266 343 16 +266 344 16 +266 345 16 +266 346 16 +266 347 16 +266 348 16 +266 349 16 +267 268 16 +267 269 16 +267 270 16 +267 271 16 +267 272 16 +267 273 16 +267 274 16 +267 275 16 +267 276 16 +267 277 16 +267 278 16 +267 279 16 +267 280 16 +267 281 16 +267 282 16 +267 283 16 +267 284 16 +267 285 16 +267 286 16 +267 287 16 +267 288 16 +267 289 16 +267 290 16 +267 291 16 +267 292 16 +267 293 16 +267 294 16 +267 295 16 +267 296 16 +267 297 16 +267 298 16 +267 299 16 +267 300 16 +267 301 16 +267 302 16 +267 303 16 +267 304 16 +267 305 16 +267 306 16 +267 307 16 +267 308 16 +267 309 16 +267 310 16 +267 311 16 +267 312 16 +267 313 16 +267 314 16 +267 315 16 +267 316 16 +267 317 16 +267 318 16 +267 319 16 +267 320 16 +267 321 16 +267 322 16 +267 323 16 +267 324 16 +267 325 16 +267 326 16 +267 327 16 +267 328 16 +267 329 16 +267 330 16 +267 331 16 +267 332 16 +267 333 16 +267 334 16 +267 335 16 +267 336 16 +267 337 16 +267 338 16 +267 339 16 +267 340 16 +267 341 16 +267 342 16 +267 343 16 +267 344 16 +267 345 16 +267 346 16 +267 347 16 +267 348 16 +267 349 16 +268 269 16 +268 270 16 +268 271 16 +268 272 16 +268 273 16 +268 274 16 +268 275 16 +268 276 16 +268 277 16 +268 278 16 +268 279 16 +268 280 16 +268 281 16 +268 282 16 +268 283 16 +268 284 16 +268 285 16 +268 286 16 +268 287 16 +268 288 16 +268 289 16 +268 290 16 +268 291 16 +268 292 16 +268 293 16 +268 294 16 +268 295 16 +268 296 16 +268 297 16 +268 298 16 +268 299 16 +268 300 16 +268 301 16 +268 302 16 +268 303 16 +268 304 16 +268 305 16 +268 306 16 +268 307 16 +268 308 16 +268 309 16 +268 310 16 +268 311 16 +268 312 16 +268 313 16 +268 314 16 +268 315 16 +268 316 16 +268 317 16 +268 318 16 +268 319 16 +268 320 16 +268 321 16 +268 322 16 +268 323 16 +268 324 16 +268 325 16 +268 326 16 +268 327 16 +268 328 16 +268 329 16 +268 330 16 +268 331 16 +268 332 16 +268 333 16 +268 334 16 +268 335 16 +268 336 16 +268 337 16 +268 338 16 +268 339 16 +268 340 16 +268 341 16 +268 342 16 +268 343 16 +268 344 16 +268 345 16 +268 346 16 +268 347 16 +268 348 16 +268 349 16 +269 270 16 +269 271 16 +269 272 16 +269 273 16 +269 274 16 +269 275 16 +269 276 16 +269 277 16 +269 278 16 +269 279 16 +269 280 16 +269 281 16 +269 282 16 +269 283 16 +269 284 16 +269 285 16 +269 286 16 +269 287 16 +269 288 16 +269 289 16 +269 290 16 +269 291 16 +269 292 16 +269 293 16 +269 294 16 +269 295 16 +269 296 16 +269 297 16 +269 298 16 +269 299 16 +269 300 16 +269 301 16 +269 302 16 +269 303 16 +269 304 16 +269 305 16 +269 306 16 +269 307 16 +269 308 16 +269 309 16 +269 310 16 +269 311 16 +269 312 16 +269 313 16 +269 314 16 +269 315 16 +269 316 16 +269 317 16 +269 318 16 +269 319 16 +269 320 16 +269 321 16 +269 322 16 +269 323 16 +269 324 16 +269 325 16 +269 326 16 +269 327 16 +269 328 16 +269 329 16 +269 330 16 +269 331 16 +269 332 16 +269 333 16 +269 334 16 +269 335 16 +269 336 16 +269 337 16 +269 338 16 +269 339 16 +269 340 16 +269 341 16 +269 342 16 +269 343 16 +269 344 16 +269 345 16 +269 346 16 +269 347 16 +269 348 16 +269 349 16 +270 271 16 +270 272 16 +270 273 16 +270 274 16 +270 275 16 +270 276 16 +270 277 16 +270 278 16 +270 279 16 +270 280 16 +270 281 16 +270 282 16 +270 283 16 +270 284 16 +270 285 16 +270 286 16 +270 287 16 +270 288 16 +270 289 16 +270 290 16 +270 291 16 +270 292 16 +270 293 16 +270 294 16 +270 295 16 +270 296 16 +270 297 16 +270 298 16 +270 299 16 +270 300 16 +270 301 16 +270 302 16 +270 303 16 +270 304 16 +270 305 16 +270 306 16 +270 307 16 +270 308 16 +270 309 16 +270 310 16 +270 311 16 +270 312 16 +270 313 16 +270 314 16 +270 315 16 +270 316 16 +270 317 16 +270 318 16 +270 319 16 +270 320 16 +270 321 16 +270 322 16 +270 323 16 +270 324 16 +270 325 16 +270 326 16 +270 327 16 +270 328 16 +270 329 16 +270 330 16 +270 331 16 +270 332 16 +270 333 16 +270 334 16 +270 335 16 +270 336 16 +270 337 16 +270 338 16 +270 339 16 +270 340 16 +270 341 16 +270 342 16 +270 343 16 +270 344 16 +270 345 16 +270 346 16 +270 347 16 +270 348 16 +270 349 16 +271 272 16 +271 273 16 +271 274 16 +271 275 16 +271 276 16 +271 277 16 +271 278 16 +271 279 16 +271 280 16 +271 281 16 +271 282 16 +271 283 16 +271 284 16 +271 285 16 +271 286 16 +271 287 16 +271 288 16 +271 289 16 +271 290 16 +271 291 16 +271 292 16 +271 293 16 +271 294 16 +271 295 16 +271 296 16 +271 297 16 +271 298 16 +271 299 16 +271 300 16 +271 301 16 +271 302 16 +271 303 16 +271 304 16 +271 305 16 +271 306 16 +271 307 16 +271 308 16 +271 309 16 +271 310 16 +271 311 16 +271 312 16 +271 313 16 +271 314 16 +271 315 16 +271 316 16 +271 317 16 +271 318 16 +271 319 16 +271 320 16 +271 321 16 +271 322 16 +271 323 16 +271 324 16 +271 325 16 +271 326 16 +271 327 16 +271 328 16 +271 329 16 +271 330 16 +271 331 16 +271 332 16 +271 333 16 +271 334 16 +271 335 16 +271 336 16 +271 337 16 +271 338 16 +271 339 16 +271 340 16 +271 341 16 +271 342 16 +271 343 16 +271 344 16 +271 345 16 +271 346 16 +271 347 16 +271 348 16 +271 349 16 +272 273 16 +272 274 16 +272 275 16 +272 276 16 +272 277 16 +272 278 16 +272 279 16 +272 280 16 +272 281 16 +272 282 16 +272 283 16 +272 284 16 +272 285 16 +272 286 16 +272 287 16 +272 288 16 +272 289 16 +272 290 16 +272 291 16 +272 292 16 +272 293 16 +272 294 16 +272 295 16 +272 296 16 +272 297 16 +272 298 16 +272 299 16 +272 300 16 +272 301 16 +272 302 16 +272 303 16 +272 304 16 +272 305 16 +272 306 16 +272 307 16 +272 308 16 +272 309 16 +272 310 16 +272 311 16 +272 312 16 +272 313 16 +272 314 16 +272 315 16 +272 316 16 +272 317 16 +272 318 16 +272 319 16 +272 320 16 +272 321 16 +272 322 16 +272 323 16 +272 324 16 +272 325 16 +272 326 16 +272 327 16 +272 328 16 +272 329 16 +272 330 16 +272 331 16 +272 332 16 +272 333 16 +272 334 16 +272 335 16 +272 336 16 +272 337 16 +272 338 16 +272 339 16 +272 340 16 +272 341 16 +272 342 16 +272 343 16 +272 344 16 +272 345 16 +272 346 16 +272 347 16 +272 348 16 +272 349 16 +273 274 16 +273 275 16 +273 276 16 +273 277 16 +273 278 16 +273 279 16 +273 280 16 +273 281 16 +273 282 16 +273 283 16 +273 284 16 +273 285 16 +273 286 16 +273 287 16 +273 288 16 +273 289 16 +273 290 16 +273 291 16 +273 292 16 +273 293 16 +273 294 16 +273 295 16 +273 296 16 +273 297 16 +273 298 16 +273 299 16 +273 300 16 +273 301 16 +273 302 16 +273 303 16 +273 304 16 +273 305 16 +273 306 16 +273 307 16 +273 308 16 +273 309 16 +273 310 16 +273 311 16 +273 312 16 +273 313 16 +273 314 16 +273 315 16 +273 316 16 +273 317 16 +273 318 16 +273 319 16 +273 320 16 +273 321 16 +273 322 16 +273 323 16 +273 324 16 +273 325 16 +273 326 16 +273 327 16 +273 328 16 +273 329 16 +273 330 16 +273 331 16 +273 332 16 +273 333 16 +273 334 16 +273 335 16 +273 336 16 +273 337 16 +273 338 16 +273 339 16 +273 340 16 +273 341 16 +273 342 16 +273 343 16 +273 344 16 +273 345 16 +273 346 16 +273 347 16 +273 348 16 +273 349 16 +274 275 16 +274 276 16 +274 277 16 +274 278 16 +274 279 16 +274 280 16 +274 281 16 +274 282 16 +274 283 16 +274 284 16 +274 285 16 +274 286 16 +274 287 16 +274 288 16 +274 289 16 +274 290 16 +274 291 16 +274 292 16 +274 293 16 +274 294 16 +274 295 16 +274 296 16 +274 297 16 +274 298 16 +274 299 16 +274 300 16 +274 301 16 +274 302 16 +274 303 16 +274 304 16 +274 305 16 +274 306 16 +274 307 16 +274 308 16 +274 309 16 +274 310 16 +274 311 16 +274 312 16 +274 313 16 +274 314 16 +274 315 16 +274 316 16 +274 317 16 +274 318 16 +274 319 16 +274 320 16 +274 321 16 +274 322 16 +274 323 16 +274 324 16 +274 325 16 +274 326 16 +274 327 16 +274 328 16 +274 329 16 +274 330 16 +274 331 16 +274 332 16 +274 333 16 +274 334 16 +274 335 16 +274 336 16 +274 337 16 +274 338 16 +274 339 16 +274 340 16 +274 341 16 +274 342 16 +274 343 16 +274 344 16 +274 345 16 +274 346 16 +274 347 16 +274 348 16 +274 349 16 +275 276 16 +275 277 16 +275 278 16 +275 279 16 +275 280 16 +275 281 16 +275 282 16 +275 283 16 +275 284 16 +275 285 16 +275 286 16 +275 287 16 +275 288 16 +275 289 16 +275 290 16 +275 291 16 +275 292 16 +275 293 16 +275 294 16 +275 295 16 +275 296 16 +275 297 16 +275 298 16 +275 299 16 +275 300 16 +275 301 16 +275 302 16 +275 303 16 +275 304 16 +275 305 16 +275 306 16 +275 307 16 +275 308 16 +275 309 16 +275 310 16 +275 311 16 +275 312 16 +275 313 16 +275 314 16 +275 315 16 +275 316 16 +275 317 16 +275 318 16 +275 319 16 +275 320 16 +275 321 16 +275 322 16 +275 323 16 +275 324 16 +275 325 16 +275 326 16 +275 327 16 +275 328 16 +275 329 16 +275 330 16 +275 331 16 +275 332 16 +275 333 16 +275 334 16 +275 335 16 +275 336 16 +275 337 16 +275 338 16 +275 339 16 +275 340 16 +275 341 16 +275 342 16 +275 343 16 +275 344 16 +275 345 16 +275 346 16 +275 347 16 +275 348 16 +275 349 16 +276 277 16 +276 278 16 +276 279 16 +276 280 16 +276 281 16 +276 282 16 +276 283 16 +276 284 16 +276 285 16 +276 286 16 +276 287 16 +276 288 16 +276 289 16 +276 290 16 +276 291 16 +276 292 16 +276 293 16 +276 294 16 +276 295 16 +276 296 16 +276 297 16 +276 298 16 +276 299 16 +276 300 16 +276 301 16 +276 302 16 +276 303 16 +276 304 16 +276 305 16 +276 306 16 +276 307 16 +276 308 16 +276 309 16 +276 310 16 +276 311 16 +276 312 16 +276 313 16 +276 314 16 +276 315 16 +276 316 16 +276 317 16 +276 318 16 +276 319 16 +276 320 16 +276 321 16 +276 322 16 +276 323 16 +276 324 16 +276 325 16 +276 326 16 +276 327 16 +276 328 16 +276 329 16 +276 330 16 +276 331 16 +276 332 16 +276 333 16 +276 334 16 +276 335 16 +276 336 16 +276 337 16 +276 338 16 +276 339 16 +276 340 16 +276 341 16 +276 342 16 +276 343 16 +276 344 16 +276 345 16 +276 346 16 +276 347 16 +276 348 16 +276 349 16 +277 278 16 +277 279 16 +277 280 16 +277 281 16 +277 282 16 +277 283 16 +277 284 16 +277 285 16 +277 286 16 +277 287 16 +277 288 16 +277 289 16 +277 290 16 +277 291 16 +277 292 16 +277 293 16 +277 294 16 +277 295 16 +277 296 16 +277 297 16 +277 298 16 +277 299 16 +277 300 16 +277 301 16 +277 302 16 +277 303 16 +277 304 16 +277 305 16 +277 306 16 +277 307 16 +277 308 16 +277 309 16 +277 310 16 +277 311 16 +277 312 16 +277 313 16 +277 314 16 +277 315 16 +277 316 16 +277 317 16 +277 318 16 +277 319 16 +277 320 16 +277 321 16 +277 322 16 +277 323 16 +277 324 16 +277 325 16 +277 326 16 +277 327 16 +277 328 16 +277 329 16 +277 330 16 +277 331 16 +277 332 16 +277 333 16 +277 334 16 +277 335 16 +277 336 16 +277 337 16 +277 338 16 +277 339 16 +277 340 16 +277 341 16 +277 342 16 +277 343 16 +277 344 16 +277 345 16 +277 346 16 +277 347 16 +277 348 16 +277 349 16 +278 279 16 +278 280 16 +278 281 16 +278 282 16 +278 283 16 +278 284 16 +278 285 16 +278 286 16 +278 287 16 +278 288 16 +278 289 16 +278 290 16 +278 291 16 +278 292 16 +278 293 16 +278 294 16 +278 295 16 +278 296 16 +278 297 16 +278 298 16 +278 299 16 +278 300 16 +278 301 16 +278 302 16 +278 303 16 +278 304 16 +278 305 16 +278 306 16 +278 307 16 +278 308 16 +278 309 16 +278 310 16 +278 311 16 +278 312 16 +278 313 16 +278 314 16 +278 315 16 +278 316 16 +278 317 16 +278 318 16 +278 319 16 +278 320 16 +278 321 16 +278 322 16 +278 323 16 +278 324 16 +278 325 16 +278 326 16 +278 327 16 +278 328 16 +278 329 16 +278 330 16 +278 331 16 +278 332 16 +278 333 16 +278 334 16 +278 335 16 +278 336 16 +278 337 16 +278 338 16 +278 339 16 +278 340 16 +278 341 16 +278 342 16 +278 343 16 +278 344 16 +278 345 16 +278 346 16 +278 347 16 +278 348 16 +278 349 16 +279 280 16 +279 281 16 +279 282 16 +279 283 16 +279 284 16 +279 285 16 +279 286 16 +279 287 16 +279 288 16 +279 289 16 +279 290 16 +279 291 16 +279 292 16 +279 293 16 +279 294 16 +279 295 16 +279 296 16 +279 297 16 +279 298 16 +279 299 16 +279 300 16 +279 301 16 +279 302 16 +279 303 16 +279 304 16 +279 305 16 +279 306 16 +279 307 16 +279 308 16 +279 309 16 +279 310 16 +279 311 16 +279 312 16 +279 313 16 +279 314 16 +279 315 16 +279 316 16 +279 317 16 +279 318 16 +279 319 16 +279 320 16 +279 321 16 +279 322 16 +279 323 16 +279 324 16 +279 325 16 +279 326 16 +279 327 16 +279 328 16 +279 329 16 +279 330 16 +279 331 16 +279 332 16 +279 333 16 +279 334 16 +279 335 16 +279 336 16 +279 337 16 +279 338 16 +279 339 16 +279 340 16 +279 341 16 +279 342 16 +279 343 16 +279 344 16 +279 345 16 +279 346 16 +279 347 16 +279 348 16 +279 349 16 +280 281 16 +280 282 16 +280 283 16 +280 284 16 +280 285 16 +280 286 16 +280 287 16 +280 288 16 +280 289 16 +280 290 16 +280 291 16 +280 292 16 +280 293 16 +280 294 16 +280 295 16 +280 296 16 +280 297 16 +280 298 16 +280 299 16 +280 300 16 +280 301 16 +280 302 16 +280 303 16 +280 304 16 +280 305 16 +280 306 16 +280 307 16 +280 308 16 +280 309 16 +280 310 16 +280 311 16 +280 312 16 +280 313 16 +280 314 16 +280 315 16 +280 316 16 +280 317 16 +280 318 16 +280 319 16 +280 320 16 +280 321 16 +280 322 16 +280 323 16 +280 324 16 +280 325 16 +280 326 16 +280 327 16 +280 328 16 +280 329 16 +280 330 16 +280 331 16 +280 332 16 +280 333 16 +280 334 16 +280 335 16 +280 336 16 +280 337 16 +280 338 16 +280 339 16 +280 340 16 +280 341 16 +280 342 16 +280 343 16 +280 344 16 +280 345 16 +280 346 16 +280 347 16 +280 348 16 +280 349 16 +281 282 16 +281 283 16 +281 284 16 +281 285 16 +281 286 16 +281 287 16 +281 288 16 +281 289 16 +281 290 16 +281 291 16 +281 292 16 +281 293 16 +281 294 16 +281 295 16 +281 296 16 +281 297 16 +281 298 16 +281 299 16 +281 300 16 +281 301 16 +281 302 16 +281 303 16 +281 304 16 +281 305 16 +281 306 16 +281 307 16 +281 308 16 +281 309 16 +281 310 16 +281 311 16 +281 312 16 +281 313 16 +281 314 16 +281 315 16 +281 316 16 +281 317 16 +281 318 16 +281 319 16 +281 320 16 +281 321 16 +281 322 16 +281 323 16 +281 324 16 +281 325 16 +281 326 16 +281 327 16 +281 328 16 +281 329 16 +281 330 16 +281 331 16 +281 332 16 +281 333 16 +281 334 16 +281 335 16 +281 336 16 +281 337 16 +281 338 16 +281 339 16 +281 340 16 +281 341 16 +281 342 16 +281 343 16 +281 344 16 +281 345 16 +281 346 16 +281 347 16 +281 348 16 +281 349 16 +282 283 16 +282 284 16 +282 285 16 +282 286 16 +282 287 16 +282 288 16 +282 289 16 +282 290 16 +282 291 16 +282 292 16 +282 293 16 +282 294 16 +282 295 16 +282 296 16 +282 297 16 +282 298 16 +282 299 16 +282 300 16 +282 301 16 +282 302 16 +282 303 16 +282 304 16 +282 305 16 +282 306 16 +282 307 16 +282 308 16 +282 309 16 +282 310 16 +282 311 16 +282 312 16 +282 313 16 +282 314 16 +282 315 16 +282 316 16 +282 317 16 +282 318 16 +282 319 16 +282 320 16 +282 321 16 +282 322 16 +282 323 16 +282 324 16 +282 325 16 +282 326 16 +282 327 16 +282 328 16 +282 329 16 +282 330 16 +282 331 16 +282 332 16 +282 333 16 +282 334 16 +282 335 16 +282 336 16 +282 337 16 +282 338 16 +282 339 16 +282 340 16 +282 341 16 +282 342 16 +282 343 16 +282 344 16 +282 345 16 +282 346 16 +282 347 16 +282 348 16 +282 349 16 +283 284 16 +283 285 16 +283 286 16 +283 287 16 +283 288 16 +283 289 16 +283 290 16 +283 291 16 +283 292 16 +283 293 16 +283 294 16 +283 295 16 +283 296 16 +283 297 16 +283 298 16 +283 299 16 +283 300 16 +283 301 16 +283 302 16 +283 303 16 +283 304 16 +283 305 16 +283 306 16 +283 307 16 +283 308 16 +283 309 16 +283 310 16 +283 311 16 +283 312 16 +283 313 16 +283 314 16 +283 315 16 +283 316 16 +283 317 16 +283 318 16 +283 319 16 +283 320 16 +283 321 16 +283 322 16 +283 323 16 +283 324 16 +283 325 16 +283 326 16 +283 327 16 +283 328 16 +283 329 16 +283 330 16 +283 331 16 +283 332 16 +283 333 16 +283 334 16 +283 335 16 +283 336 16 +283 337 16 +283 338 16 +283 339 16 +283 340 16 +283 341 16 +283 342 16 +283 343 16 +283 344 16 +283 345 16 +283 346 16 +283 347 16 +283 348 16 +283 349 16 +284 285 16 +284 286 16 +284 287 16 +284 288 16 +284 289 16 +284 290 16 +284 291 16 +284 292 16 +284 293 16 +284 294 16 +284 295 16 +284 296 16 +284 297 16 +284 298 16 +284 299 16 +284 300 16 +284 301 16 +284 302 16 +284 303 16 +284 304 16 +284 305 16 +284 306 16 +284 307 16 +284 308 16 +284 309 16 +284 310 16 +284 311 16 +284 312 16 +284 313 16 +284 314 16 +284 315 16 +284 316 16 +284 317 16 +284 318 16 +284 319 16 +284 320 16 +284 321 16 +284 322 16 +284 323 16 +284 324 16 +284 325 16 +284 326 16 +284 327 16 +284 328 16 +284 329 16 +284 330 16 +284 331 16 +284 332 16 +284 333 16 +284 334 16 +284 335 16 +284 336 16 +284 337 16 +284 338 16 +284 339 16 +284 340 16 +284 341 16 +284 342 16 +284 343 16 +284 344 16 +284 345 16 +284 346 16 +284 347 16 +284 348 16 +284 349 16 +285 286 16 +285 287 16 +285 288 16 +285 289 16 +285 290 16 +285 291 16 +285 292 16 +285 293 16 +285 294 16 +285 295 16 +285 296 16 +285 297 16 +285 298 16 +285 299 16 +285 300 16 +285 301 16 +285 302 16 +285 303 16 +285 304 16 +285 305 16 +285 306 16 +285 307 16 +285 308 16 +285 309 16 +285 310 16 +285 311 16 +285 312 16 +285 313 16 +285 314 16 +285 315 16 +285 316 16 +285 317 16 +285 318 16 +285 319 16 +285 320 16 +285 321 16 +285 322 16 +285 323 16 +285 324 16 +285 325 16 +285 326 16 +285 327 16 +285 328 16 +285 329 16 +285 330 16 +285 331 16 +285 332 16 +285 333 16 +285 334 16 +285 335 16 +285 336 16 +285 337 16 +285 338 16 +285 339 16 +285 340 16 +285 341 16 +285 342 16 +285 343 16 +285 344 16 +285 345 16 +285 346 16 +285 347 16 +285 348 16 +285 349 16 +286 287 16 +286 288 16 +286 289 16 +286 290 16 +286 291 16 +286 292 16 +286 293 16 +286 294 16 +286 295 16 +286 296 16 +286 297 16 +286 298 16 +286 299 16 +286 300 16 +286 301 16 +286 302 16 +286 303 16 +286 304 16 +286 305 16 +286 306 16 +286 307 16 +286 308 16 +286 309 16 +286 310 16 +286 311 16 +286 312 16 +286 313 16 +286 314 16 +286 315 16 +286 316 16 +286 317 16 +286 318 16 +286 319 16 +286 320 16 +286 321 16 +286 322 16 +286 323 16 +286 324 16 +286 325 16 +286 326 16 +286 327 16 +286 328 16 +286 329 16 +286 330 16 +286 331 16 +286 332 16 +286 333 16 +286 334 16 +286 335 16 +286 336 16 +286 337 16 +286 338 16 +286 339 16 +286 340 16 +286 341 16 +286 342 16 +286 343 16 +286 344 16 +286 345 16 +286 346 16 +286 347 16 +286 348 16 +286 349 16 +287 288 16 +287 289 16 +287 290 16 +287 291 16 +287 292 16 +287 293 16 +287 294 16 +287 295 16 +287 296 16 +287 297 16 +287 298 16 +287 299 16 +287 300 16 +287 301 16 +287 302 16 +287 303 16 +287 304 16 +287 305 16 +287 306 16 +287 307 16 +287 308 16 +287 309 16 +287 310 16 +287 311 16 +287 312 16 +287 313 16 +287 314 16 +287 315 16 +287 316 16 +287 317 16 +287 318 16 +287 319 16 +287 320 16 +287 321 16 +287 322 16 +287 323 16 +287 324 16 +287 325 16 +287 326 16 +287 327 16 +287 328 16 +287 329 16 +287 330 16 +287 331 16 +287 332 16 +287 333 16 +287 334 16 +287 335 16 +287 336 16 +287 337 16 +287 338 16 +287 339 16 +287 340 16 +287 341 16 +287 342 16 +287 343 16 +287 344 16 +287 345 16 +287 346 16 +287 347 16 +287 348 16 +287 349 16 +288 289 16 +288 290 16 +288 291 16 +288 292 16 +288 293 16 +288 294 16 +288 295 16 +288 296 16 +288 297 16 +288 298 16 +288 299 16 +288 300 16 +288 301 16 +288 302 16 +288 303 16 +288 304 16 +288 305 16 +288 306 16 +288 307 16 +288 308 16 +288 309 16 +288 310 16 +288 311 16 +288 312 16 +288 313 16 +288 314 16 +288 315 16 +288 316 16 +288 317 16 +288 318 16 +288 319 16 +288 320 16 +288 321 16 +288 322 16 +288 323 16 +288 324 16 +288 325 16 +288 326 16 +288 327 16 +288 328 16 +288 329 16 +288 330 16 +288 331 16 +288 332 16 +288 333 16 +288 334 16 +288 335 16 +288 336 16 +288 337 16 +288 338 16 +288 339 16 +288 340 16 +288 341 16 +288 342 16 +288 343 16 +288 344 16 +288 345 16 +288 346 16 +288 347 16 +288 348 16 +288 349 16 +289 290 16 +289 291 16 +289 292 16 +289 293 16 +289 294 16 +289 295 16 +289 296 16 +289 297 16 +289 298 16 +289 299 16 +289 300 16 +289 301 16 +289 302 16 +289 303 16 +289 304 16 +289 305 16 +289 306 16 +289 307 16 +289 308 16 +289 309 16 +289 310 16 +289 311 16 +289 312 16 +289 313 16 +289 314 16 +289 315 16 +289 316 16 +289 317 16 +289 318 16 +289 319 16 +289 320 16 +289 321 16 +289 322 16 +289 323 16 +289 324 16 +289 325 16 +289 326 16 +289 327 16 +289 328 16 +289 329 16 +289 330 16 +289 331 16 +289 332 16 +289 333 16 +289 334 16 +289 335 16 +289 336 16 +289 337 16 +289 338 16 +289 339 16 +289 340 16 +289 341 16 +289 342 16 +289 343 16 +289 344 16 +289 345 16 +289 346 16 +289 347 16 +289 348 16 +289 349 16 +290 291 16 +290 292 16 +290 293 16 +290 294 16 +290 295 16 +290 296 16 +290 297 16 +290 298 16 +290 299 16 +290 300 16 +290 301 16 +290 302 16 +290 303 16 +290 304 16 +290 305 16 +290 306 16 +290 307 16 +290 308 16 +290 309 16 +290 310 16 +290 311 16 +290 312 16 +290 313 16 +290 314 16 +290 315 16 +290 316 16 +290 317 16 +290 318 16 +290 319 16 +290 320 16 +290 321 16 +290 322 16 +290 323 16 +290 324 16 +290 325 16 +290 326 16 +290 327 16 +290 328 16 +290 329 16 +290 330 16 +290 331 16 +290 332 16 +290 333 16 +290 334 16 +290 335 16 +290 336 16 +290 337 16 +290 338 16 +290 339 16 +290 340 16 +290 341 16 +290 342 16 +290 343 16 +290 344 16 +290 345 16 +290 346 16 +290 347 16 +290 348 16 +290 349 16 +291 292 16 +291 293 16 +291 294 16 +291 295 16 +291 296 16 +291 297 16 +291 298 16 +291 299 16 +291 300 16 +291 301 16 +291 302 16 +291 303 16 +291 304 16 +291 305 16 +291 306 16 +291 307 16 +291 308 16 +291 309 16 +291 310 16 +291 311 16 +291 312 16 +291 313 16 +291 314 16 +291 315 16 +291 316 16 +291 317 16 +291 318 16 +291 319 16 +291 320 16 +291 321 16 +291 322 16 +291 323 16 +291 324 16 +291 325 16 +291 326 16 +291 327 16 +291 328 16 +291 329 16 +291 330 16 +291 331 16 +291 332 16 +291 333 16 +291 334 16 +291 335 16 +291 336 16 +291 337 16 +291 338 16 +291 339 16 +291 340 16 +291 341 16 +291 342 16 +291 343 16 +291 344 16 +291 345 16 +291 346 16 +291 347 16 +291 348 16 +291 349 16 +292 293 16 +292 294 16 +292 295 16 +292 296 16 +292 297 16 +292 298 16 +292 299 16 +292 300 16 +292 301 16 +292 302 16 +292 303 16 +292 304 16 +292 305 16 +292 306 16 +292 307 16 +292 308 16 +292 309 16 +292 310 16 +292 311 16 +292 312 16 +292 313 16 +292 314 16 +292 315 16 +292 316 16 +292 317 16 +292 318 16 +292 319 16 +292 320 16 +292 321 16 +292 322 16 +292 323 16 +292 324 16 +292 325 16 +292 326 16 +292 327 16 +292 328 16 +292 329 16 +292 330 16 +292 331 16 +292 332 16 +292 333 16 +292 334 16 +292 335 16 +292 336 16 +292 337 16 +292 338 16 +292 339 16 +292 340 16 +292 341 16 +292 342 16 +292 343 16 +292 344 16 +292 345 16 +292 346 16 +292 347 16 +292 348 16 +292 349 16 +293 294 16 +293 295 16 +293 296 16 +293 297 16 +293 298 16 +293 299 16 +293 300 16 +293 301 16 +293 302 16 +293 303 16 +293 304 16 +293 305 16 +293 306 16 +293 307 16 +293 308 16 +293 309 16 +293 310 16 +293 311 16 +293 312 16 +293 313 16 +293 314 16 +293 315 16 +293 316 16 +293 317 16 +293 318 16 +293 319 16 +293 320 16 +293 321 16 +293 322 16 +293 323 16 +293 324 16 +293 325 16 +293 326 16 +293 327 16 +293 328 16 +293 329 16 +293 330 16 +293 331 16 +293 332 16 +293 333 16 +293 334 16 +293 335 16 +293 336 16 +293 337 16 +293 338 16 +293 339 16 +293 340 16 +293 341 16 +293 342 16 +293 343 16 +293 344 16 +293 345 16 +293 346 16 +293 347 16 +293 348 16 +293 349 16 +294 295 16 +294 296 16 +294 297 16 +294 298 16 +294 299 16 +294 300 16 +294 301 16 +294 302 16 +294 303 16 +294 304 16 +294 305 16 +294 306 16 +294 307 16 +294 308 16 +294 309 16 +294 310 16 +294 311 16 +294 312 16 +294 313 16 +294 314 16 +294 315 16 +294 316 16 +294 317 16 +294 318 16 +294 319 16 +294 320 16 +294 321 16 +294 322 16 +294 323 16 +294 324 16 +294 325 16 +294 326 16 +294 327 16 +294 328 16 +294 329 16 +294 330 16 +294 331 16 +294 332 16 +294 333 16 +294 334 16 +294 335 16 +294 336 16 +294 337 16 +294 338 16 +294 339 16 +294 340 16 +294 341 16 +294 342 16 +294 343 16 +294 344 16 +294 345 16 +294 346 16 +294 347 16 +294 348 16 +294 349 16 +295 296 16 +295 297 16 +295 298 16 +295 299 16 +295 300 16 +295 301 16 +295 302 16 +295 303 16 +295 304 16 +295 305 16 +295 306 16 +295 307 16 +295 308 16 +295 309 16 +295 310 16 +295 311 16 +295 312 16 +295 313 16 +295 314 16 +295 315 16 +295 316 16 +295 317 16 +295 318 16 +295 319 16 +295 320 16 +295 321 16 +295 322 16 +295 323 16 +295 324 16 +295 325 16 +295 326 16 +295 327 16 +295 328 16 +295 329 16 +295 330 16 +295 331 16 +295 332 16 +295 333 16 +295 334 16 +295 335 16 +295 336 16 +295 337 16 +295 338 16 +295 339 16 +295 340 16 +295 341 16 +295 342 16 +295 343 16 +295 344 16 +295 345 16 +295 346 16 +295 347 16 +295 348 16 +295 349 16 +296 297 16 +296 298 16 +296 299 16 +296 300 16 +296 301 16 +296 302 16 +296 303 16 +296 304 16 +296 305 16 +296 306 16 +296 307 16 +296 308 16 +296 309 16 +296 310 16 +296 311 16 +296 312 16 +296 313 16 +296 314 16 +296 315 16 +296 316 16 +296 317 16 +296 318 16 +296 319 16 +296 320 16 +296 321 16 +296 322 16 +296 323 16 +296 324 16 +296 325 16 +296 326 16 +296 327 16 +296 328 16 +296 329 16 +296 330 16 +296 331 16 +296 332 16 +296 333 16 +296 334 16 +296 335 16 +296 336 16 +296 337 16 +296 338 16 +296 339 16 +296 340 16 +296 341 16 +296 342 16 +296 343 16 +296 344 16 +296 345 16 +296 346 16 +296 347 16 +296 348 16 +296 349 16 +297 298 16 +297 299 16 +297 300 16 +297 301 16 +297 302 16 +297 303 16 +297 304 16 +297 305 16 +297 306 16 +297 307 16 +297 308 16 +297 309 16 +297 310 16 +297 311 16 +297 312 16 +297 313 16 +297 314 16 +297 315 16 +297 316 16 +297 317 16 +297 318 16 +297 319 16 +297 320 16 +297 321 16 +297 322 16 +297 323 16 +297 324 16 +297 325 16 +297 326 16 +297 327 16 +297 328 16 +297 329 16 +297 330 16 +297 331 16 +297 332 16 +297 333 16 +297 334 16 +297 335 16 +297 336 16 +297 337 16 +297 338 16 +297 339 16 +297 340 16 +297 341 16 +297 342 16 +297 343 16 +297 344 16 +297 345 16 +297 346 16 +297 347 16 +297 348 16 +297 349 16 +298 299 16 +298 300 16 +298 301 16 +298 302 16 +298 303 16 +298 304 16 +298 305 16 +298 306 16 +298 307 16 +298 308 16 +298 309 16 +298 310 16 +298 311 16 +298 312 16 +298 313 16 +298 314 16 +298 315 16 +298 316 16 +298 317 16 +298 318 16 +298 319 16 +298 320 16 +298 321 16 +298 322 16 +298 323 16 +298 324 16 +298 325 16 +298 326 16 +298 327 16 +298 328 16 +298 329 16 +298 330 16 +298 331 16 +298 332 16 +298 333 16 +298 334 16 +298 335 16 +298 336 16 +298 337 16 +298 338 16 +298 339 16 +298 340 16 +298 341 16 +298 342 16 +298 343 16 +298 344 16 +298 345 16 +298 346 16 +298 347 16 +298 348 16 +298 349 16 +299 300 16 +299 301 16 +299 302 16 +299 303 16 +299 304 16 +299 305 16 +299 306 16 +299 307 16 +299 308 16 +299 309 16 +299 310 16 +299 311 16 +299 312 16 +299 313 16 +299 314 16 +299 315 16 +299 316 16 +299 317 16 +299 318 16 +299 319 16 +299 320 16 +299 321 16 +299 322 16 +299 323 16 +299 324 16 +299 325 16 +299 326 16 +299 327 16 +299 328 16 +299 329 16 +299 330 16 +299 331 16 +299 332 16 +299 333 16 +299 334 16 +299 335 16 +299 336 16 +299 337 16 +299 338 16 +299 339 16 +299 340 16 +299 341 16 +299 342 16 +299 343 16 +299 344 16 +299 345 16 +299 346 16 +299 347 16 +299 348 16 +299 349 16 +300 301 16 +300 302 16 +300 303 16 +300 304 16 +300 305 16 +300 306 16 +300 307 16 +300 308 16 +300 309 16 +300 310 16 +300 311 16 +300 312 16 +300 313 16 +300 314 16 +300 315 16 +300 316 16 +300 317 16 +300 318 16 +300 319 16 +300 320 16 +300 321 16 +300 322 16 +300 323 16 +300 324 16 +300 325 16 +300 326 16 +300 327 16 +300 328 16 +300 329 16 +300 330 16 +300 331 16 +300 332 16 +300 333 16 +300 334 16 +300 335 16 +300 336 16 +300 337 16 +300 338 16 +300 339 16 +300 340 16 +300 341 16 +300 342 16 +300 343 16 +300 344 16 +300 345 16 +300 346 16 +300 347 16 +300 348 16 +300 349 16 +301 302 16 +301 303 16 +301 304 16 +301 305 16 +301 306 16 +301 307 16 +301 308 16 +301 309 16 +301 310 16 +301 311 16 +301 312 16 +301 313 16 +301 314 16 +301 315 16 +301 316 16 +301 317 16 +301 318 16 +301 319 16 +301 320 16 +301 321 16 +301 322 16 +301 323 16 +301 324 16 +301 325 16 +301 326 16 +301 327 16 +301 328 16 +301 329 16 +301 330 16 +301 331 16 +301 332 16 +301 333 16 +301 334 16 +301 335 16 +301 336 16 +301 337 16 +301 338 16 +301 339 16 +301 340 16 +301 341 16 +301 342 16 +301 343 16 +301 344 16 +301 345 16 +301 346 16 +301 347 16 +301 348 16 +301 349 16 +302 303 16 +302 304 16 +302 305 16 +302 306 16 +302 307 16 +302 308 16 +302 309 16 +302 310 16 +302 311 16 +302 312 16 +302 313 16 +302 314 16 +302 315 16 +302 316 16 +302 317 16 +302 318 16 +302 319 16 +302 320 16 +302 321 16 +302 322 16 +302 323 16 +302 324 16 +302 325 16 +302 326 16 +302 327 16 +302 328 16 +302 329 16 +302 330 16 +302 331 16 +302 332 16 +302 333 16 +302 334 16 +302 335 16 +302 336 16 +302 337 16 +302 338 16 +302 339 16 +302 340 16 +302 341 16 +302 342 16 +302 343 16 +302 344 16 +302 345 16 +302 346 16 +302 347 16 +302 348 16 +302 349 16 +303 304 16 +303 305 16 +303 306 16 +303 307 16 +303 308 16 +303 309 16 +303 310 16 +303 311 16 +303 312 16 +303 313 16 +303 314 16 +303 315 16 +303 316 16 +303 317 16 +303 318 16 +303 319 16 +303 320 16 +303 321 16 +303 322 16 +303 323 16 +303 324 16 +303 325 16 +303 326 16 +303 327 16 +303 328 16 +303 329 16 +303 330 16 +303 331 16 +303 332 16 +303 333 16 +303 334 16 +303 335 16 +303 336 16 +303 337 16 +303 338 16 +303 339 16 +303 340 16 +303 341 16 +303 342 16 +303 343 16 +303 344 16 +303 345 16 +303 346 16 +303 347 16 +303 348 16 +303 349 16 +304 305 16 +304 306 16 +304 307 16 +304 308 16 +304 309 16 +304 310 16 +304 311 16 +304 312 16 +304 313 16 +304 314 16 +304 315 16 +304 316 16 +304 317 16 +304 318 16 +304 319 16 +304 320 16 +304 321 16 +304 322 16 +304 323 16 +304 324 16 +304 325 16 +304 326 16 +304 327 16 +304 328 16 +304 329 16 +304 330 16 +304 331 16 +304 332 16 +304 333 16 +304 334 16 +304 335 16 +304 336 16 +304 337 16 +304 338 16 +304 339 16 +304 340 16 +304 341 16 +304 342 16 +304 343 16 +304 344 16 +304 345 16 +304 346 16 +304 347 16 +304 348 16 +304 349 16 +305 306 16 +305 307 16 +305 308 16 +305 309 16 +305 310 16 +305 311 16 +305 312 16 +305 313 16 +305 314 16 +305 315 16 +305 316 16 +305 317 16 +305 318 16 +305 319 16 +305 320 16 +305 321 16 +305 322 16 +305 323 16 +305 324 16 +305 325 16 +305 326 16 +305 327 16 +305 328 16 +305 329 16 +305 330 16 +305 331 16 +305 332 16 +305 333 16 +305 334 16 +305 335 16 +305 336 16 +305 337 16 +305 338 16 +305 339 16 +305 340 16 +305 341 16 +305 342 16 +305 343 16 +305 344 16 +305 345 16 +305 346 16 +305 347 16 +305 348 16 +305 349 16 +306 307 16 +306 308 16 +306 309 16 +306 310 16 +306 311 16 +306 312 16 +306 313 16 +306 314 16 +306 315 16 +306 316 16 +306 317 16 +306 318 16 +306 319 16 +306 320 16 +306 321 16 +306 322 16 +306 323 16 +306 324 16 +306 325 16 +306 326 16 +306 327 16 +306 328 16 +306 329 16 +306 330 16 +306 331 16 +306 332 16 +306 333 16 +306 334 16 +306 335 16 +306 336 16 +306 337 16 +306 338 16 +306 339 16 +306 340 16 +306 341 16 +306 342 16 +306 343 16 +306 344 16 +306 345 16 +306 346 16 +306 347 16 +306 348 16 +306 349 16 +307 308 16 +307 309 16 +307 310 16 +307 311 16 +307 312 16 +307 313 16 +307 314 16 +307 315 16 +307 316 16 +307 317 16 +307 318 16 +307 319 16 +307 320 16 +307 321 16 +307 322 16 +307 323 16 +307 324 16 +307 325 16 +307 326 16 +307 327 16 +307 328 16 +307 329 16 +307 330 16 +307 331 16 +307 332 16 +307 333 16 +307 334 16 +307 335 16 +307 336 16 +307 337 16 +307 338 16 +307 339 16 +307 340 16 +307 341 16 +307 342 16 +307 343 16 +307 344 16 +307 345 16 +307 346 16 +307 347 16 +307 348 16 +307 349 16 +308 309 16 +308 310 16 +308 311 16 +308 312 16 +308 313 16 +308 314 16 +308 315 16 +308 316 16 +308 317 16 +308 318 16 +308 319 16 +308 320 16 +308 321 16 +308 322 16 +308 323 16 +308 324 16 +308 325 16 +308 326 16 +308 327 16 +308 328 16 +308 329 16 +308 330 16 +308 331 16 +308 332 16 +308 333 16 +308 334 16 +308 335 16 +308 336 16 +308 337 16 +308 338 16 +308 339 16 +308 340 16 +308 341 16 +308 342 16 +308 343 16 +308 344 16 +308 345 16 +308 346 16 +308 347 16 +308 348 16 +308 349 16 +309 310 16 +309 311 16 +309 312 16 +309 313 16 +309 314 16 +309 315 16 +309 316 16 +309 317 16 +309 318 16 +309 319 16 +309 320 16 +309 321 16 +309 322 16 +309 323 16 +309 324 16 +309 325 16 +309 326 16 +309 327 16 +309 328 16 +309 329 16 +309 330 16 +309 331 16 +309 332 16 +309 333 16 +309 334 16 +309 335 16 +309 336 16 +309 337 16 +309 338 16 +309 339 16 +309 340 16 +309 341 16 +309 342 16 +309 343 16 +309 344 16 +309 345 16 +309 346 16 +309 347 16 +309 348 16 +309 349 16 +310 311 16 +310 312 16 +310 313 16 +310 314 16 +310 315 16 +310 316 16 +310 317 16 +310 318 16 +310 319 16 +310 320 16 +310 321 16 +310 322 16 +310 323 16 +310 324 16 +310 325 16 +310 326 16 +310 327 16 +310 328 16 +310 329 16 +310 330 16 +310 331 16 +310 332 16 +310 333 16 +310 334 16 +310 335 16 +310 336 16 +310 337 16 +310 338 16 +310 339 16 +310 340 16 +310 341 16 +310 342 16 +310 343 16 +310 344 16 +310 345 16 +310 346 16 +310 347 16 +310 348 16 +310 349 16 +311 312 16 +311 313 16 +311 314 16 +311 315 16 +311 316 16 +311 317 16 +311 318 16 +311 319 16 +311 320 16 +311 321 16 +311 322 16 +311 323 16 +311 324 16 +311 325 16 +311 326 16 +311 327 16 +311 328 16 +311 329 16 +311 330 16 +311 331 16 +311 332 16 +311 333 16 +311 334 16 +311 335 16 +311 336 16 +311 337 16 +311 338 16 +311 339 16 +311 340 16 +311 341 16 +311 342 16 +311 343 16 +311 344 16 +311 345 16 +311 346 16 +311 347 16 +311 348 16 +311 349 16 +312 313 16 +312 314 16 +312 315 16 +312 316 16 +312 317 16 +312 318 16 +312 319 16 +312 320 16 +312 321 16 +312 322 16 +312 323 16 +312 324 16 +312 325 16 +312 326 16 +312 327 16 +312 328 16 +312 329 16 +312 330 16 +312 331 16 +312 332 16 +312 333 16 +312 334 16 +312 335 16 +312 336 16 +312 337 16 +312 338 16 +312 339 16 +312 340 16 +312 341 16 +312 342 16 +312 343 16 +312 344 16 +312 345 16 +312 346 16 +312 347 16 +312 348 16 +312 349 16 +313 314 16 +313 315 16 +313 316 16 +313 317 16 +313 318 16 +313 319 16 +313 320 16 +313 321 16 +313 322 16 +313 323 16 +313 324 16 +313 325 16 +313 326 16 +313 327 16 +313 328 16 +313 329 16 +313 330 16 +313 331 16 +313 332 16 +313 333 16 +313 334 16 +313 335 16 +313 336 16 +313 337 16 +313 338 16 +313 339 16 +313 340 16 +313 341 16 +313 342 16 +313 343 16 +313 344 16 +313 345 16 +313 346 16 +313 347 16 +313 348 16 +313 349 16 +314 315 16 +314 316 16 +314 317 16 +314 318 16 +314 319 16 +314 320 16 +314 321 16 +314 322 16 +314 323 16 +314 324 16 +314 325 16 +314 326 16 +314 327 16 +314 328 16 +314 329 16 +314 330 16 +314 331 16 +314 332 16 +314 333 16 +314 334 16 +314 335 16 +314 336 16 +314 337 16 +314 338 16 +314 339 16 +314 340 16 +314 341 16 +314 342 16 +314 343 16 +314 344 16 +314 345 16 +314 346 16 +314 347 16 +314 348 16 +314 349 16 +315 316 16 +315 317 16 +315 318 16 +315 319 16 +315 320 16 +315 321 16 +315 322 16 +315 323 16 +315 324 16 +315 325 16 +315 326 16 +315 327 16 +315 328 16 +315 329 16 +315 330 16 +315 331 16 +315 332 16 +315 333 16 +315 334 16 +315 335 16 +315 336 16 +315 337 16 +315 338 16 +315 339 16 +315 340 16 +315 341 16 +315 342 16 +315 343 16 +315 344 16 +315 345 16 +315 346 16 +315 347 16 +315 348 16 +315 349 16 +316 317 16 +316 318 16 +316 319 16 +316 320 16 +316 321 16 +316 322 16 +316 323 16 +316 324 16 +316 325 16 +316 326 16 +316 327 16 +316 328 16 +316 329 16 +316 330 16 +316 331 16 +316 332 16 +316 333 16 +316 334 16 +316 335 16 +316 336 16 +316 337 16 +316 338 16 +316 339 16 +316 340 16 +316 341 16 +316 342 16 +316 343 16 +316 344 16 +316 345 16 +316 346 16 +316 347 16 +316 348 16 +316 349 16 +317 318 16 +317 319 16 +317 320 16 +317 321 16 +317 322 16 +317 323 16 +317 324 16 +317 325 16 +317 326 16 +317 327 16 +317 328 16 +317 329 16 +317 330 16 +317 331 16 +317 332 16 +317 333 16 +317 334 16 +317 335 16 +317 336 16 +317 337 16 +317 338 16 +317 339 16 +317 340 16 +317 341 16 +317 342 16 +317 343 16 +317 344 16 +317 345 16 +317 346 16 +317 347 16 +317 348 16 +317 349 16 +318 319 16 +318 320 16 +318 321 16 +318 322 16 +318 323 16 +318 324 16 +318 325 16 +318 326 16 +318 327 16 +318 328 16 +318 329 16 +318 330 16 +318 331 16 +318 332 16 +318 333 16 +318 334 16 +318 335 16 +318 336 16 +318 337 16 +318 338 16 +318 339 16 +318 340 16 +318 341 16 +318 342 16 +318 343 16 +318 344 16 +318 345 16 +318 346 16 +318 347 16 +318 348 16 +318 349 16 +319 320 16 +319 321 16 +319 322 16 +319 323 16 +319 324 16 +319 325 16 +319 326 16 +319 327 16 +319 328 16 +319 329 16 +319 330 16 +319 331 16 +319 332 16 +319 333 16 +319 334 16 +319 335 16 +319 336 16 +319 337 16 +319 338 16 +319 339 16 +319 340 16 +319 341 16 +319 342 16 +319 343 16 +319 344 16 +319 345 16 +319 346 16 +319 347 16 +319 348 16 +319 349 16 +320 321 16 +320 322 16 +320 323 16 +320 324 16 +320 325 16 +320 326 16 +320 327 16 +320 328 16 +320 329 16 +320 330 16 +320 331 16 +320 332 16 +320 333 16 +320 334 16 +320 335 16 +320 336 16 +320 337 16 +320 338 16 +320 339 16 +320 340 16 +320 341 16 +320 342 16 +320 343 16 +320 344 16 +320 345 16 +320 346 16 +320 347 16 +320 348 16 +320 349 16 +321 322 16 +321 323 16 +321 324 16 +321 325 16 +321 326 16 +321 327 16 +321 328 16 +321 329 16 +321 330 16 +321 331 16 +321 332 16 +321 333 16 +321 334 16 +321 335 16 +321 336 16 +321 337 16 +321 338 16 +321 339 16 +321 340 16 +321 341 16 +321 342 16 +321 343 16 +321 344 16 +321 345 16 +321 346 16 +321 347 16 +321 348 16 +321 349 16 +322 323 16 +322 324 16 +322 325 16 +322 326 16 +322 327 16 +322 328 16 +322 329 16 +322 330 16 +322 331 16 +322 332 16 +322 333 16 +322 334 16 +322 335 16 +322 336 16 +322 337 16 +322 338 16 +322 339 16 +322 340 16 +322 341 16 +322 342 16 +322 343 16 +322 344 16 +322 345 16 +322 346 16 +322 347 16 +322 348 16 +322 349 16 +323 324 16 +323 325 16 +323 326 16 +323 327 16 +323 328 16 +323 329 16 +323 330 16 +323 331 16 +323 332 16 +323 333 16 +323 334 16 +323 335 16 +323 336 16 +323 337 16 +323 338 16 +323 339 16 +323 340 16 +323 341 16 +323 342 16 +323 343 16 +323 344 16 +323 345 16 +323 346 16 +323 347 16 +323 348 16 +323 349 16 +324 325 16 +324 326 16 +324 327 16 +324 328 16 +324 329 16 +324 330 16 +324 331 16 +324 332 16 +324 333 16 +324 334 16 +324 335 16 +324 336 16 +324 337 16 +324 338 16 +324 339 16 +324 340 16 +324 341 16 +324 342 16 +324 343 16 +324 344 16 +324 345 16 +324 346 16 +324 347 16 +324 348 16 +324 349 16 +325 326 16 +325 327 16 +325 328 16 +325 329 16 +325 330 16 +325 331 16 +325 332 16 +325 333 16 +325 334 16 +325 335 16 +325 336 16 +325 337 16 +325 338 16 +325 339 16 +325 340 16 +325 341 16 +325 342 16 +325 343 16 +325 344 16 +325 345 16 +325 346 16 +325 347 16 +325 348 16 +325 349 16 +326 327 16 +326 328 16 +326 329 16 +326 330 16 +326 331 16 +326 332 16 +326 333 16 +326 334 16 +326 335 16 +326 336 16 +326 337 16 +326 338 16 +326 339 16 +326 340 16 +326 341 16 +326 342 16 +326 343 16 +326 344 16 +326 345 16 +326 346 16 +326 347 16 +326 348 16 +326 349 16 +327 328 16 +327 329 16 +327 330 16 +327 331 16 +327 332 16 +327 333 16 +327 334 16 +327 335 16 +327 336 16 +327 337 16 +327 338 16 +327 339 16 +327 340 16 +327 341 16 +327 342 16 +327 343 16 +327 344 16 +327 345 16 +327 346 16 +327 347 16 +327 348 16 +327 349 16 +328 329 16 +328 330 16 +328 331 16 +328 332 16 +328 333 16 +328 334 16 +328 335 16 +328 336 16 +328 337 16 +328 338 16 +328 339 16 +328 340 16 +328 341 16 +328 342 16 +328 343 16 +328 344 16 +328 345 16 +328 346 16 +328 347 16 +328 348 16 +328 349 16 +329 330 16 +329 331 16 +329 332 16 +329 333 16 +329 334 16 +329 335 16 +329 336 16 +329 337 16 +329 338 16 +329 339 16 +329 340 16 +329 341 16 +329 342 16 +329 343 16 +329 344 16 +329 345 16 +329 346 16 +329 347 16 +329 348 16 +329 349 16 +330 331 16 +330 332 16 +330 333 16 +330 334 16 +330 335 16 +330 336 16 +330 337 16 +330 338 16 +330 339 16 +330 340 16 +330 341 16 +330 342 16 +330 343 16 +330 344 16 +330 345 16 +330 346 16 +330 347 16 +330 348 16 +330 349 16 +331 332 16 +331 333 16 +331 334 16 +331 335 16 +331 336 16 +331 337 16 +331 338 16 +331 339 16 +331 340 16 +331 341 16 +331 342 16 +331 343 16 +331 344 16 +331 345 16 +331 346 16 +331 347 16 +331 348 16 +331 349 16 +332 333 16 +332 334 16 +332 335 16 +332 336 16 +332 337 16 +332 338 16 +332 339 16 +332 340 16 +332 341 16 +332 342 16 +332 343 16 +332 344 16 +332 345 16 +332 346 16 +332 347 16 +332 348 16 +332 349 16 +333 334 16 +333 335 16 +333 336 16 +333 337 16 +333 338 16 +333 339 16 +333 340 16 +333 341 16 +333 342 16 +333 343 16 +333 344 16 +333 345 16 +333 346 16 +333 347 16 +333 348 16 +333 349 16 +334 335 16 +334 336 16 +334 337 16 +334 338 16 +334 339 16 +334 340 16 +334 341 16 +334 342 16 +334 343 16 +334 344 16 +334 345 16 +334 346 16 +334 347 16 +334 348 16 +334 349 16 +335 336 16 +335 337 16 +335 338 16 +335 339 16 +335 340 16 +335 341 16 +335 342 16 +335 343 16 +335 344 16 +335 345 16 +335 346 16 +335 347 16 +335 348 16 +335 349 16 +336 337 16 +336 338 16 +336 339 16 +336 340 16 +336 341 16 +336 342 16 +336 343 16 +336 344 16 +336 345 16 +336 346 16 +336 347 16 +336 348 16 +336 349 16 +337 338 16 +337 339 16 +337 340 16 +337 341 16 +337 342 16 +337 343 16 +337 344 16 +337 345 16 +337 346 16 +337 347 16 +337 348 16 +337 349 16 +338 339 16 +338 340 16 +338 341 16 +338 342 16 +338 343 16 +338 344 16 +338 345 16 +338 346 16 +338 347 16 +338 348 16 +338 349 16 +339 340 16 +339 341 16 +339 342 16 +339 343 16 +339 344 16 +339 345 16 +339 346 16 +339 347 16 +339 348 16 +339 349 16 +340 341 16 +340 342 16 +340 343 16 +340 344 16 +340 345 16 +340 346 16 +340 347 16 +340 348 16 +340 349 16 +341 342 16 +341 343 16 +341 344 16 +341 345 16 +341 346 16 +341 347 16 +341 348 16 +341 349 16 +342 343 16 +342 344 16 +342 345 16 +342 346 16 +342 347 16 +342 348 16 +342 349 16 +343 344 16 +343 345 16 +343 346 16 +343 347 16 +343 348 16 +343 349 16 +344 345 16 +344 346 16 +344 347 16 +344 348 16 +344 349 16 +345 346 16 +345 347 16 +345 348 16 +345 349 16 +346 347 16 +346 348 16 +346 349 16 +347 348 16 +347 349 16 +348 349 16 From 0e1c642ea9ee2903bfeda21b4d1e093bbc9454a0 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 6 Mar 2019 10:57:55 -0800 Subject: [PATCH 169/420] check packets-to-catcher format and contents --- src/hera_gpu_bda_thread.c | 219 --------------------------- src/scripts/check_catcher_capture.py | 83 ++++++++++ 2 files changed, 83 insertions(+), 219 deletions(-) delete mode 100644 src/hera_gpu_bda_thread.c create mode 100644 src/scripts/check_catcher_capture.py diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c deleted file mode 100644 index 8440687d..00000000 --- a/src/hera_gpu_bda_thread.c +++ /dev/null @@ -1,219 +0,0 @@ -/* Takes the output from the GPU and - * averages over time for the shorter - * baselines according to a config file. - * Output is stored in CASPER ordered - * shared memory segments. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "hashpipe.h" -#include "paper_databuf.h" - -#define LOG(x) ((int)(log((x))/log(2))) // yields msb loc -#define CHECK_PWR2(x) (!((x)&((x)-1))) - -typedef struct BDA_params { - int intbin_cntr[5]; // No. of baselines in each bin - int *ant_pair_0[5]; // Ant0 of pair - int *ant_pair_1[5]; // Ant1 of pair -} BDA_params_t; - -BDA_params_t bdaparams; -static XGPUInfo xgpu_info; - -// Computes the triangular index of an (i,j) pair as shown here... -// NB: Output is valid only if i >= j. -// -// i=0 1 2 3 4.. -// +--------------- -// j=0 | 00 01 03 06 10 -// 1 | 02 04 07 11 -// 2 | 05 08 12 -// 3 | 09 13 -// 4 | 14 -// : -static inline off_t tri_index(const int i, const int j) -{ - return (i * (i+1))/2 + j; -} - -// regtile_chan_length is the number of complex cross products per channel for -// the xGPU register tile order correlator output format with N_INPUTS. -// NB: N_INPUTS = N_STATION * N_POL -#define REGTILE_CHAN_LENGTH (4 * 4 * N_INPUTS/4 * (N_INPUTS/4+1) / 2) -static inline size_t regtile_chan_length() -{ - // Four cross products for each quadrant of 4 input x 4 input tile - return REGTILE_CHAN_LENGTH; -} - -// Returns index into the GPU's register tile ordered output buffer for the -// real component of the cross product of inputs in0 and in1. Note that in0 -// and in1 are input indexes (i.e. 0 based) and often represent antenna and -// polarization by passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx -// and pol_idx are also 0 based). Return value is valid if in1 >= in0. The -// corresponding imaginary component is located xgpu_info.matLength words after -// the real component. -static off_t regtile_index(const int in0, const int in1) -{ - const int a0 = in0 >> 1; - const int a1 = in1 >> 1; - const int p0 = in0 & 1; - const int p1 = in1 & 1; - const int num_words_per_cell = 4; - - // Index within a quadrant - const int quadrant_index = tri_index(a1/2, a0/2); - // Quadrant for this input pair - const int quadrant = 2*(a0&1) + (a1&1); - // Size of quadrant - const int quadrant_size = (xgpu_info.nstation/2 + 1) * xgpu_info.nstation/4; - // Index of cell (in units of cells) - const int cell_index = quadrant*quadrant_size + quadrant_index; - //printf("%s: in0=%d, in1=%d, a0=%d, a1=%d, cell_index=%d\n", __FUNCTION__, in0, in1, a0, a1, cell_index); - // Pol offset - const int pol_offset = 2*p1 + p0; - // Word index (in units of words (i.e. floats) of real component - const int index = (cell_index * num_words_per_cell) + pol_offset; - return index; -} - -// Returns index into a CASPER ordered buffer for the real component of the -// cross product of inputs in0 and in1. Note that in0 and in1 are input -// indexes (i.e. 0 based) and often represent antenna and polarization by -// passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx ad pol_idx are -// also 0 based). Return value is valid if in1 >= in0. The corresponding -// imaginary component is located in the word immediately following the real -// component. A casper ordered buffer consists of four complex values for each -// pair of input pairs. Thus, the number of complex values in a casper ordered -// buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) -static off_t casper_index(const int in0, const int in1, const int n) -{ - const int a0 = in0 >> 1; - const int a1 = in1 >> 1; - const int p0 = in0 & 1; - const int p1 = in1 & 1; - const int delta = a1-a0; - const int num_words_per_cell = 8; - const int nant_2 = (n/2) / 2; - - // Three cases: top triangle, middle rectangle, bottom triangle - const int triangle_size = ((nant_2 + 1) * nant_2)/2; - const int middle_rect_offset = triangle_size; - const int last_cell_offset = 4*middle_rect_offset - nant_2 - 1; - int cell_index; - - if(delta > nant_2) { - // bottom triangle - cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1); - } else if (a1 < (n/2)/2) { - // top triangle - cell_index = tri_index(a1, a0); - } else { - // middle rectangle - cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); - } - //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); - // Pol offset - const int pol_offset = 2*(2*(p0^p1) + p0); - // Word index (in units of words (i.e. floats) of real component - const int index = (cell_index * num_words_per_cell) + pol_offset; - return index; -} - -// For each channel, a casper ordered buffer contains four complex values for -// each pair of input pairs. Thus, the number of complex values in a casper -// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) -#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) - -// Lookup table mapping casper_idx to regtile_idx -static off_t *idx_map; - -static int init_idx_map() -{ - int a0, a1, p0, p1, i, j; - idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); - if(!idx_map) { - return -1; - } - - for(a1=0; a1 nant_2): + cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1) + elif (a1 < nant_2): + cell_index = tri_index(a1,a0) + else: + cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta) + idx_map[cell_index] = (a0,a1) + return idx_map + +def decode_packet(packet): + p = struct.unpack('>1Q2I2H1025i', packet) + time, baseline_id, offset, xeng_id, payload_len = p[0], p[1], p[2], p[3], p[4] + data = np.asarray(p[6:]) + return time, baseline_id, offset, xeng_id, payload_len, data + + +idx_map = baseline_index(args.n_inputs) + +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +sock.bind((args.host, args.port)) + +errors = 0 +packets = 0 + +while True: + try: + pkt, addr = sock.recvfrom(4120) # buffer size is 1024 bytes + packets += 1 + t,b,o,x,l,data = decode_packet(pkt) + if args.verbose: + print t, idx_map[b], o, data[:8], data[-8:] + if args.check: + if not (np.all(data[::2] == 1)): + print "Error! Real", idx_map[b], o, data[::2] + errors += 1 + if not (np.all(data[1::2] == -2)): + print "Error! Imag", idx_map[b], o, data[1::2] + errors += 1 + except(KeyboardInterrupt): + print("") + print("Total number of packets captured: %d"%packets) + print("Total number of errors: %d"%errors) + break From 0d58a2dcf689643f04e1768214d11f486f08f466 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 11 Mar 2019 18:54:17 +0000 Subject: [PATCH 170/420] Convert all np.arrays in cminfo to lists This allows them to be JSON serialized. It's not enough to just convert antenna positions because this script also adds the new array antenna_positions_enu, which is used for u,v,w calculations by the catcher. --- src/scripts/hera_make_hdf5_template.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 00b89165..11cc97b4 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -239,9 +239,11 @@ def add_extra_keywords(obj, cminfo=None, fenginfo=None): extras = obj.create_group("extra_keywords") if cminfo is not None: extras.create_dataset("cmver", data=np.string_(cminfo["cm_version"])) - # we need to convert antenna_positions to a list for json to play nicely + # Convert any numpy arrays to lists so they can be JSON encoded cminfo_copy = copy.deepcopy(cminfo) - cminfo_copy["antenna_positions"] = cminfo_copy["antenna_positions"].tolist() + for key in cminfo_copy.keys(): + if isinstance(cminfo_copy[key], np.ndarray): + cminfo_copy[key] = cminfo_copy[key].tolist() extras.create_dataset("cminfo", data=np.string_(json.dumps(cminfo_copy))) del(cminfo_copy) else: From 59d6a85e91256a072bae8af5e5c697004e24b43e Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 13 Mar 2019 17:11:24 -0700 Subject: [PATCH 171/420] catcher end of bda v2 --- src/Makefile.am | 28 +- src/hera_catcher_net_thread_bda_v2.c | 583 +++++++++++++++++++++++++++ src/paper_databuf.c | 6 +- src/paper_databuf.h | 75 ++-- src/scripts/check_catcher_capture.py | 13 +- src/scripts/hera_fake_bda_output.py | 81 ++++ 6 files changed, 740 insertions(+), 46 deletions(-) create mode 100644 src/hera_catcher_net_thread_bda_v2.c create mode 100644 src/scripts/hera_fake_bda_output.py diff --git a/src/Makefile.am b/src/Makefile.am index c1db68c7..5e5dfd0a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -21,20 +21,20 @@ AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -f paper_databuf = paper_databuf.h \ paper_databuf.c -paper_threads = paper_fake_net_thread.c \ - paper_gpu_cpu_output_thread.c \ - paper_gpu_output_thread.c \ - paper_gpu_thread.c \ - paper_fluff_thread.c \ - hera_pktsock_thread.c \ - hera_fake_gpu_thread.c \ - paper_crc_thread.c \ - hera_catcher_net_thread.c \ - hera_catcher_disk_thread.c \ - hera_gpu_output_thread.c \ - lzf/lzf_c.c \ - lzf/lzf_d.c \ - lzf_filter.c \ +paper_threads = paper_fake_net_thread.c \ + paper_gpu_cpu_output_thread.c \ + paper_gpu_output_thread.c \ + paper_gpu_thread.c \ + paper_fluff_thread.c \ + hera_pktsock_thread.c \ + hera_fake_gpu_thread.c \ + paper_crc_thread.c \ + hera_catcher_net_thread_bda_v2.c \ + #hera_catcher_disk_thread.c \ + hera_gpu_output_thread.c \ + lzf/lzf_c.c \ + lzf/lzf_d.c \ + lzf_filter.c \ lzf_filter.h paper_fluff = paper_fluff.h \ diff --git a/src/hera_catcher_net_thread_bda_v2.c b/src/hera_catcher_net_thread_bda_v2.c new file mode 100644 index 00000000..88d94eab --- /dev/null +++ b/src/hera_catcher_net_thread_bda_v2.c @@ -0,0 +1,583 @@ +/* hera_catcher_net_thread.c + * + * Routine to read packets sent to the catcher from + * network and put them into shared memory blocks. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + + +#define DEBUG_NET + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#define PKTSOCK_BYTES_PER_FRAME (4864) +#define PKTSOCK_FRAMES_PER_BLOCK (128) +#define PKTSOCK_NBLOCKS (5000) +#define PKTSOCK_NFRAMES (PKTSOCK_FRAMES_PER_BLOCK * PKTSOCK_NBLOCKS) + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +#define MAX_OUT_OF_SEQ_PKTS (4096) + +typedef struct{ + uint64_t mcnt; // timestamp of the packet + uint32_t bcnt; // unique id based on order of baselines sent to catcher + uint32_t offset; // channel within one x-eng + uint16_t ant0; + uint16_t ant1; + uint16_t xeng_id; // For time demux and starting channel + uint16_t payload_len; // should be 4096 +} packet_header_t; + +// The fields of a block_info_t structure hold meta-data +// about the contents of each block +typedef struct { + int initialized; + int block_curr; + int block_next; + long thresh; + long out_of_seq_cnt; + long block_packet_counter[CATCHER_N_BLOCKS]; + char flags[CATCHER_N_BLOCKS][PACKETS_PER_BLOCK]; + char baselines[CATCHER_N_BLOCKS][BASELINES_PER_BLOCK]; +} block_info_t; + +static hashpipe_status_t *st_p; +static const char * status_key; + +// Get physical block number given the bcnt +static inline int block_for_bcnt(uint64_t bcnt){ + return (bcnt/BASELINES_PER_BLOCK) % CATCHER_N_BLOCKS; +} + +// Initialize a block by clearing its "good data" flag and saving the +// bcnt of the first baseline in this block. The bcnt should be a multiple +// of BASELINES_PER_BLOCK. +static inline void initialize_block(hera_catcher_input_databuf_t * hera_catcher_input_databuf_p, uint64_t bcnt){ + int block_i = block_for_bcnt(bcnt); + hera_catcher_input_databuf_p->block[block_i].header.bcnt = bcnt; + hera_catcher_input_databuf_p->block[block_i].header.good_data = 0; +} + +/* Initialize block_info */ +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo){ + int i; + + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + + for(i = 0; i < CATCHER_N_BLOCKS; i++) { + binfo->block_packet_counter[i] = 0; + memset(binfo->flags[i], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo->baselines[i], 0, BASELINES_PER_BLOCK*sizeof(char)); + } + + // On startup the first two blocks will be processed + binfo->block_curr = 0; + binfo->block_next = 1; + binfo->thresh = PACKETS_PER_BLOCK/8; + binfo->out_of_seq_cnt = 0; + binfo->initialized = 1; +} + +/* Get packet header */ +static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_header){ + packet_header_t *packet_header_raw = (packet_header_t *)PKT_UDP_DATA(p_frame); + pkt_header->mcnt = be64toh(packet_header_raw->mcnt); + pkt_header->bcnt = be32toh(packet_header_raw->bcnt); + pkt_header->offset = be32toh(packet_header_raw->offset); + pkt_header->ant0 = be16toh(packet_header_raw->ant0); + pkt_header->ant1 = be16toh(packet_header_raw->ant1); + pkt_header->xeng_id = be16toh(packet_header_raw->xeng_id); + pkt_header->payload_len = be16toh(packet_header_raw->payload_len); +} + +/* Set hashpipe block to filled */ +// This sets the "current" block to be marked as filled. The current block is +// the block corresponding to binfo->block_i. Returns bcnt of the block +// being marked filled. +static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, block_info_t *binfo){ + static int last_filled = -1; + + uint64_t block_missed_pkt_cnt; + uint32_t missed_pkt_cnt; + uint32_t block_i = binfo->block_curr; + + // Validate that we're filling blocks in the proper sequence + last_filled = (last_filled+1) % CATCHER_N_BLOCKS; + if(last_filled != block_i) { + printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); + } + + hera_catcher_input_databuf_p->block[block_i].header.good_data = 1; + + // Set the block as filled + if(hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_p, block_i) != HASHPIPE_OK){ + hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); + pthread_exit(NULL); + } + + // Calculate missing packets. + block_missed_pkt_cnt = PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + + // Update status buffer + hashpipe_status_lock_busywait_safe(st_p); + hputu4(st_p->buf, "NETBKOUT", block_i); + if(block_missed_pkt_cnt){ + fprintf(stdout, "Expected %lu packets, Got %lu\n", PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); + // Increment MISSEDPK by number of missed packets for this block + hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + missed_pkt_cnt += block_missed_pkt_cnt; + hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + // fprintf(stderr, "got %d packets instead of %d\n", + // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); + } + hashpipe_status_unlock_safe(st_p); + + return hera_catcher_input_databuf_p->block[block_i].header.bcnt; +} + + +/* Process packet */ +// This function returns -1 unless the given packet causes a block to be marked +// as filled in which case this function returns the marked block's first bcnt. +// Any return value other than -1 will be stored in the status memory as +// NETMCNT, so it is important that values other than -1 are returned rarely +// (i.e. when marking a block as filled)!!! +static inline uint64_t process_packet( + hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, unsigned char *p_frame){ + + static block_info_t binfo; + packet_header_t pkt_header; + const uint32_t *payload_p; + uint32_t *dest_p; + int pkt_block_i; + int b, x, t, o; + uint32_t pkt_offset; + int i; + uint64_t bcnt = -1; + int rv; + + // Lazy init binfo + if(!binfo.initialized){ + initialize_block_info(&binfo); + } + + // Parse packet header + get_header(p_frame, &pkt_header); + pkt_block_i = block_for_bcnt(pkt_header.bcnt); + + // Place the packet in curr/next block or drop it + // If the packet belongs to the current block, process it as usual. + // If the packet belongs to the next block, mark the previous block + // as filled and update the binfo tags. + // If the packet is two blocks away (i.e., curr_block_id + 2) then + // drop the packet. + if(pkt_block_i == binfo.block_curr || pkt_block_i == binfo.block_next){ + b = pkt_header.bcnt % BASELINES_PER_BLOCK; + x = pkt_header.xeng_id % N_XENGINES_PER_TIME; + t = (pkt_header.mcnt/Nt) % TIME_DEMUX; //Nt = 2 + o = pkt_header.offset; + + pkt_offset = hera_catcher_input_databuf_pkt_offset(b, t, x, o); + + if(binfo.flags[pkt_block_i][pkt_offset]){ + // This slot is already filled + binfo.out_of_seq_cnt++; + return -1; + } + + // If this is the first packet of this baseline, update header + if(!binfo.baselines[pkt_block_i][b]){ + hera_catcher_input_databuf_p->block[pkt_block_i].header.mcnt[b] = pkt_header.mcnt; + hera_catcher_input_databuf_p->block[pkt_block_i].header.ant_pair_0[b] = pkt_header.ant0; + hera_catcher_input_databuf_p->block[pkt_block_i].header.ant_pair_1[b] = pkt_header.ant1; + binfo.baselines[pkt_block_i][b] = 1; + } + + // Copy data into buffer with byte swap + payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); + dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[pkt_block_i].data + \ + (pkt_header.payload_len * pkt_offset/sizeof(uint32_t))); + + for(i=0; i<(pkt_header.payload_len>>2); i++){ + dest_p[i] = be32toh(payload_p[i]); + } + binfo.flags[pkt_block_i][pkt_offset] = 1; + binfo.block_packet_counter[pkt_block_i]++; + + // Check if curr block is full or next block is at thresh and set curr + // as filled. Wait to acquire the next block and update binfo tags. + if((binfo.block_packet_counter[binfo.block_curr] == PACKETS_PER_BLOCK) || \ + (binfo.block_packet_counter[binfo.block_next] == binfo.thresh)){ + + bcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); + + // Update binfo + binfo.block_packet_counter[binfo.block_curr] = 0; + memset(binfo.flags[binfo.block_curr], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[binfo.block_curr], 0, BASELINES_PER_BLOCK*sizeof(char)); + + binfo.block_curr = binfo.block_next; + binfo.block_next = (binfo.block_next+1) % CATCHER_N_BLOCKS; + + // Wait (hopefully not long!) to acquire the block after next. + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "waiting for outbuf"); + hashpipe_status_unlock_safe(st_p); + while ((rv=hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_p, binfo.block_next)) != HASHPIPE_OK){ + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "blocked output"); + hashpipe_status_unlock_safe(st_p); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + break; + } + } + + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "running"); + hashpipe_status_unlock_safe(st_p); + // Initialize the newly acquired block + initialize_block(hera_catcher_input_databuf_p, bcnt+2*BASELINES_PER_BLOCK); + } + }else{ + binfo.out_of_seq_cnt++; + return -1; + } + + if (binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ_PKTS){ + fprintf(stderr,"Lots of out of sequence packets!"); + } + return bcnt; +} + + +static int init(hashpipe_thread_args_t *args){ + /* Read network params */ + char bindhost[80]; + int bindport = CATCHER_PORT; + status_key = args->thread_desc->skey; + + strcpy(bindhost, "127.0.0.1"); //"0.0.0.0"); + + hashpipe_status_t st = args->st; + + hashpipe_status_lock_safe(&st); + // Record version + hputs(st.buf, "GIT_VER", GIT_VERSION); + // Get info from status buffer if present (no change if not present) + hgets(st.buf, "BINDHOST", 80, bindhost); + hgeti4(st.buf, "BINDPORT", &bindport); + // Store bind host/port info etc in status buffer + hputs(st.buf, "BINDHOST", bindhost); + hputi4(st.buf, "BINDPORT", bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hashpipe_status_unlock_safe(&st); + +#ifndef TIMING_TEST + /* Set up pktsock */ + struct hashpipe_pktsock *p_ps = (struct hashpipe_pktsock *) + malloc(sizeof(struct hashpipe_pktsock)); + + if(!p_ps) { + perror(__FUNCTION__); + return -1; + } + + // Make frame_size be a divisor of block size so that frames will be + // contiguous in mapped mempory. block_size must also be a multiple of + // page_size. Easiest way is to oversize the frames to be 16384 bytes, which + // is bigger than we need, but keeps things easy. + p_ps->frame_size = PKTSOCK_BYTES_PER_FRAME; + // total number of frames + p_ps->nframes = PKTSOCK_NFRAMES; + // number of blocks + p_ps->nblocks = PKTSOCK_NBLOCKS; + + int rv = hashpipe_pktsock_open(p_ps, bindhost, PACKET_RX_RING); + if (rv!=HASHPIPE_OK) { + hashpipe_error("hera_pktsock_thread", "Error opening pktsock."); + pthread_exit(NULL); + } + + // Store packet socket pointer in args + args->user_data = p_ps; +#endif + + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args){ + // Local aliases to shorten access to args fields + // Our output buffer happens to be a paper_input_databuf + hera_catcher_input_databuf_t *db = (hera_catcher_input_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char *status_key = args->thread_desc->skey; + + st_p = &st; // allow global (this source file) access to the status buffer + + // Flag that holds off the net thread + int holdoff = 0; + + // Force ourself into the hold off state + fprintf(stdout, "Setting CNETHOLD state to 1."\ + "Waiting for someone to set it to 0\n"); + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "CNETHOLD", 1); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); + + while(holdoff) { + sleep(1); + hashpipe_status_lock_safe(&st); + hgeti4(st.buf, "CNETHOLD", &holdoff); + if(!holdoff) { + // Done holding, so delete the key + hdel(st.buf, "CNETHOLD"); + hputs(st.buf, status_key, "starting"); + fprintf(stdout, "Starting...\n"); + } + hashpipe_status_unlock_safe(&st); + } + + // Acquire first two blocks to start + if(hera_catcher_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ + if (errno == EINTR){ + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + }else{ + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + }if(hera_catcher_input_databuf_busywait_free(db, 1) != HASHPIPE_OK){ + if (errno == EINTR){ + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + }else{ + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + + // Initialize the newly acquired block + initialize_block(db, 0); + initialize_block(db, BASELINES_PER_BLOCK); + + /* Read network params */ + int bindport = CATCHER_PORT; + // (N_BYTES_PER_PACKET excludes header) + size_t expected_packet_size = OUTPUT_BYTES_PER_PACKET + sizeof(packet_header_t); + +#ifndef TIMING_TEST + /* Get pktsock from args*/ + struct hashpipe_pktsock * p_ps = (struct hashpipe_pktsock*)args->user_data; + pthread_cleanup_push(free, p_ps); + pthread_cleanup_push((void (*)(void *))hashpipe_pktsock_close, p_ps); + + // Drop all packets to date + unsigned char *p_frame; + while((p_frame=hashpipe_pktsock_recv_frame_nonblock(p_ps))) { + hashpipe_pktsock_release_frame(p_frame); + } + + hashpipe_status_lock_safe(&st); + // Get info from status buffer + hgeti4(st.buf, "BINDPORT", &bindport); + hputu4(st.buf, "MISSEDPK", 0); + hputs(st.buf, status_key, "running"); + hashpipe_status_unlock_safe(&st); +#endif + + + /* Main loop */ + uint64_t packet_count = 0; + uint64_t wait_ns = 0; // ns for most recent wait + uint64_t recv_ns = 0; // ns for most recent recv + uint64_t proc_ns = 0; // ns for most recent proc + uint64_t min_wait_ns = 99999; // min ns per single wait + uint64_t min_recv_ns = 99999; // min ns per single recv + uint64_t min_proc_ns = 99999; // min ns per single proc + uint64_t max_wait_ns = 0; // max ns per single wait + uint64_t max_recv_ns = 0; // max ns per single recv + uint64_t max_proc_ns = 0; // max ns per single proc + uint64_t elapsed_wait_ns = 0; // cumulative wait time per block + uint64_t elapsed_recv_ns = 0; // cumulative recv time per block + uint64_t elapsed_proc_ns = 0; // cumulative proc time per block + uint64_t status_ns = 0; // User to fetch ns values from status buffer + float ns_per_wait = 0.0; // Average ns per wait over 1 block + float ns_per_recv = 0.0; // Average ns per recv over 1 block + float ns_per_proc = 0.0; // Average ns per proc over 1 block + unsigned int pktsock_pkts = 0; // Stats counter from socket packet + unsigned int pktsock_drops = 0; // Stats counter from socket packet + uint64_t pktsock_pkts_total = 0; // Stats total for socket packet + uint64_t pktsock_drops_total = 0; // Stats total for socket packet + struct timespec start, stop; + struct timespec recv_start, recv_stop; + + while (run_threads()) { + // Read packet + clock_gettime(CLOCK_MONOTONIC, &recv_start); + do{ + clock_gettime(CLOCK_MONOTONIC, &start); + p_frame = hashpipe_pktsock_recv_udp_frame_nonblock(p_ps, bindport); + clock_gettime(CLOCK_MONOTONIC, &recv_stop); + } while (!p_frame && run_threads()); + + // Make sure received packet size matches expected packet size. + // -8 for the UDP header (not the *App* header!) + int packet_size = PKT_UDP_SIZE(p_frame) - 8; + if (expected_packet_size != packet_size) { + // Log warning and ignore wrongly sized packet + #ifdef DEBUG_NET + hashpipe_warn("hera_pktsock_thread", "Invalid pkt size (%d)", packet_size); + #endif + hashpipe_pktsock_release_frame(p_frame); + continue; + } + + packet_count++; + + // Copy packet into any blocks where it belongs. + const uint64_t bcnt = process_packet((hera_catcher_input_databuf_t *)db, p_frame); + // Release frame back to kernel + hashpipe_pktsock_release_frame(p_frame); + + clock_gettime(CLOCK_MONOTONIC, &stop); + wait_ns = ELAPSED_NS(recv_start, start); + recv_ns = ELAPSED_NS(start, recv_stop); + proc_ns = ELAPSED_NS(recv_stop, stop); + elapsed_wait_ns += wait_ns; + elapsed_recv_ns += recv_ns; + elapsed_proc_ns += proc_ns; + // Update min max values + min_wait_ns = MIN(wait_ns, min_wait_ns); + min_recv_ns = MIN(recv_ns, min_recv_ns); + min_proc_ns = MIN(proc_ns, min_proc_ns); + max_wait_ns = MAX(wait_ns, max_wait_ns); + max_recv_ns = MAX(recv_ns, max_recv_ns); + max_proc_ns = MAX(proc_ns, max_proc_ns); + + if(bcnt != -1) { + // Update status + ns_per_wait = (float)elapsed_wait_ns / packet_count; + ns_per_recv = (float)elapsed_recv_ns / packet_count; + ns_per_proc = (float)elapsed_proc_ns / packet_count; + + // Get stats from packet socket + hashpipe_pktsock_stats(p_ps, &pktsock_pkts, &pktsock_drops); + + hashpipe_status_lock_busywait_safe(&st); + + hputu8(st.buf, "NETBCNT", bcnt); + // Gbps = bits_per_packet / ns_per_packet + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); + hputr4(st.buf, "NETWATNS", ns_per_wait); + hputr4(st.buf, "NETRECNS", ns_per_recv); + hputr4(st.buf, "NETPRCNS", ns_per_proc); + + // Get and put min and max values. The "get-then-put" allows the + // user to reset the min max values in the status buffer. + hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + status_ns = MIN(min_wait_ns, status_ns); + hputi8(st.buf, "NETWATMN", status_ns); + + hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + status_ns = MIN(min_recv_ns, status_ns); + hputi8(st.buf, "NETRECMN", status_ns); + + hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + status_ns = MIN(min_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMN", status_ns); + + hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + status_ns = MAX(max_wait_ns, status_ns); + hputi8(st.buf, "NETWATMX", status_ns); + + hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + status_ns = MAX(max_recv_ns, status_ns); + hputi8(st.buf, "NETRECMX", status_ns); + + hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + status_ns = MAX(max_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMX", status_ns); + + hputu8(st.buf, "NETPKTS", pktsock_pkts); + hputu8(st.buf, "NETDROPS", pktsock_drops); + + hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); + hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); + + hashpipe_status_unlock_safe(&st); + + // Start new average + elapsed_wait_ns = 0; + elapsed_recv_ns = 0; + elapsed_proc_ns = 0; + packet_count = 0; + } + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + +#ifndef TIMING_TEST + /* Have to close all push's */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_pktsock_close) */ + pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ +#endif + return NULL; +} + +static hashpipe_thread_desc_t hera_catcher_net_thread = { + name: "hera_catcher_net_thread", + skey: "CNETSTAT", + init: init, + run: run, + ibuf_desc: {NULL}, + obuf_desc: {hera_catcher_input_databuf_create} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&hera_catcher_net_thread); +} + +// vi: set ts=8 sw=4 noet : diff --git a/src/paper_databuf.c b/src/paper_databuf.c index c49029c2..ce9ed424 100644 --- a/src/paper_databuf.c +++ b/src/paper_databuf.c @@ -197,8 +197,10 @@ hashpipe_databuf_t *hera_catcher_input_databuf_create(int instance_id, int datab + sizeof(hashpipe_databuf_cache_alignment); size_t block_size = sizeof(hera_catcher_input_block_t); int n_block = CATCHER_N_BLOCKS; - fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); - fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, (uint64_t)(VIS_MATRIX_ENTRIES *TIME_DEMUX)); + //fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", + // (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + //fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, + // (uint64_t)(PACKETS_PER_BLOCK*OUTPUT_BYTES_PER_PACKET)); return hashpipe_databuf_create( instance_id, databuf_id, header_size, block_size, n_block); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 5f3f4f57..af8a4f52 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -53,18 +53,6 @@ #define PAGE_SIZE (4096) #define CACHE_ALIGNMENT (128) -// Correlator Output parameters -#define CATCHER_PORT 10000 -#define OUTPUT_BYTES_PER_PACKET (4096) -#define CATCHER_N_BLOCKS 2 -#define CATCHER_CHAN_SUM 1 -#define XENG_CHAN_SUM 4 -#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) -#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) -#define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) -#define N_STOKES 4 - - // The HERA correlator is based largely on the PAPER correlator. The main // difference will be in the F engines. The ROACH2 based F engines are being // replaced by SNAP based F engines. Because SNAPs have a different number of @@ -278,10 +266,10 @@ typedef struct paper_output_databuf { typedef struct hera_bda_header{ - uint64_t mcnt; // mcnt of the first time sample in the data + uint64_t mcnt; // mcnt of the first time sample in the data int sam; int totsam; // number of time samples to be added (from config file) - unsigned long long datsize; // size of buffer (from no. baselines) + unsigned long long datsize; // size of buffer (from no. baselines) } hera_bda_header_t; typedef uint8_t hera_bda_header_cache_alignment[ @@ -298,7 +286,7 @@ typedef struct hera_bda_buf{ int *ant_pair_0[N_BDA_BINS]; int *ant_pair_1[N_BDA_BINS]; unsigned long int baselines_per_bin[N_BDA_BINS]; - char send[N_BDA_BINS]; // 0 - don't packetize, 1 - ready for sending + char send[N_BDA_BINS]; // 0 - don't packetize, 1 - ready for sending hera_int_bin_buf_t buf[N_BDA_BINS]; } hera_bda_buf_t; @@ -306,10 +294,51 @@ typedef struct hera_bda_buf{ * CATCHER BUFFER STRUCTURES */ +#define CATCHER_N_BLOCKS 4 +// Correlator Output parameters +#define CATCHER_PORT 10000 +#define OUTPUT_BYTES_PER_PACKET (4096) +#define CATCHER_CHAN_SUM 1 +#define N_STOKES 4 +#define BASELINES_PER_BLOCK 4096 + +#define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) +#define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) +#define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) +#define PACKETS_PER_BLOCK (BASELINES_PER_BLOCK * TIME_DEMUX * PACKETS_PER_BASELINE) + +#define BYTES_PER_BLOCK (PACKETS_PER_BLOCK * OUTPUT_BYTES_PER_PACKET) + +//entries_per_block = (BASELINES_PER_BLOCK * N_CHAN_TOTAL * TIME_DEMUX * N_STOKES) + + +// == hera_catcher_input_databuf_t == +// +// * catcher net thread output +// * catcher disk thread input +// Offset determined by baseline_id, time_demux, xend_id, offset +// * Data field is structured as: +// +// +-- baseline +-- (even/odd) +-- freq +-- stokes +// | | | | +// V V V V +// baseline_id time_demux (xeng_id+offset) +// ----------- ---------- ---------------- +// b0 }--------> even }-------> f0 }-------------> s0 +// odd f1 s1 +// s2 +// s3 + +#define hera_catcher_input_databuf_pkt_offset(b, t, x, o) \ + (((b)*TIME_DEMUX*PACKETS_PER_BASELINE) + ((t)*PACKETS_PER_BASELINE) + ((x)*PACKETS_PER_BL_PER_X) + (o)) + typedef struct hera_catcher_input_header{ - uint64_t mcnt; uint64_t good_data; - //uint8_t flags[VIS_MATRIX_ENTRIES*TIME_DEMUX]; + uint64_t bcnt; // starting value of baseline_id for this block + uint64_t mcnt[BASELINES_PER_BLOCK]; // times are diff for each baseline + uint32_t ant_pair_0[BASELINES_PER_BLOCK]; // list of antennas in this block + uint32_t ant_pair_1[BASELINES_PER_BLOCK]; + //uint8_t flags[BASELINES_PER_BLOCK]; } hera_catcher_input_header_t; typedef uint8_t hera_catcher_input_header_cache_alignment[ @@ -319,7 +348,7 @@ typedef uint8_t hera_catcher_input_header_cache_alignment[ typedef struct hera_catcher_input_block { hera_catcher_input_header_t header; hera_catcher_input_header_cache_alignment padding; // Maintain cache alignment - uint64_t data[VIS_MATRIX_ENTRIES*TIME_DEMUX]; + uint32_t data[BYTES_PER_BLOCK/sizeof(uint32_t)]; } hera_catcher_input_block_t; typedef struct hera_catcher_input_databuf { @@ -328,12 +357,10 @@ typedef struct hera_catcher_input_databuf { hera_catcher_input_block_t block[CATCHER_N_BLOCKS]; } hera_catcher_input_databuf_t; -// Catcher input buffer has dimensions: -// n-xengines x n-baselines x nchans-per-x x time-demux x stokes x real/imag -#define hera_catcher_input_databuf_idx32(t, x, o) \ - (2L*TIME_DEMUX*(VIS_MATRIX_ENTRIES_PER_CHAN * (N_CHAN_PER_X/XENG_CHAN_SUM)*(x)) + (TIME_DEMUX*((o)>>2)) + (2*N_STOKES*(t))) -#define hera_catcher_input_databuf_by_bl_idx32(x, b) \ - (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (N_STOKES*(b)))) +//#define XENG_CHAN_SUM 4 +//#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) +//#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) +//#define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) /* * INPUT BUFFER FUNCTIONS diff --git a/src/scripts/check_catcher_capture.py b/src/scripts/check_catcher_capture.py index 9ce4887f..87b8e35f 100644 --- a/src/scripts/check_catcher_capture.py +++ b/src/scripts/check_catcher_capture.py @@ -47,11 +47,12 @@ def baseline_index(n): idx_map[cell_index] = (a0,a1) return idx_map +# mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len def decode_packet(packet): p = struct.unpack('>1Q2I2H1025i', packet) - time, baseline_id, offset, xeng_id, payload_len = p[0], p[1], p[2], p[3], p[4] - data = np.asarray(p[6:]) - return time, baseline_id, offset, xeng_id, payload_len, data + time, bcnt, offset, ant0, ant1, xeng_id, payload_len = p[0:7] + data = np.asarray(p[7:]) + return time, bcnt, offset, ant0, ant1, xeng_id, payload_len, data idx_map = baseline_index(args.n_inputs) @@ -66,14 +67,14 @@ def decode_packet(packet): try: pkt, addr = sock.recvfrom(4120) # buffer size is 1024 bytes packets += 1 - t,b,o,x,l,data = decode_packet(pkt) + t,b,o,a0,a1,x,l,data = decode_packet(pkt) if args.verbose: - print t, idx_map[b], o, data[:8], data[-8:] + print t, b//4096, b%4096, o, a0, a1, data[:8], data[-8:] if args.check: if not (np.all(data[::2] == 1)): print "Error! Real", idx_map[b], o, data[::2] errors += 1 - if not (np.all(data[1::2] == -2)): + if not (np.all(data[1::2] == -1)): print "Error! Imag", idx_map[b], o, data[1::2] errors += 1 except(KeyboardInterrupt): diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py new file mode 100644 index 00000000..2fd493f2 --- /dev/null +++ b/src/scripts/hera_fake_bda_output.py @@ -0,0 +1,81 @@ +import numpy as np +import struct +import socket +import time + +Na = 352 # antennas +Nx = 16 # xeng +Nc = 328 # chan +Nt = 2 # demux +Ns = 4 # stokes +udp_ip = '10.20.1.66' +udp_port = 10000 + +bdaconfig = np.loadtxt('../bda_config.txt') + +baselines = {} +for i in range(5): + baselines[i] = [] + +for i,t in enumerate(bdaconfig[:,2]): + baselines[int(np.log(t)/np.log(2))].append((bdaconfig[i,0],bdaconfig[i,1])) + +for a0 in range(Na): + baselines[1].append((a0,a0)) + +bcnt = 0 +mcnt = 0 +cntr = 0 +offset = np.arange(3) +xeng_id = 0 + +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +sock.bind(('10.20.1.2',8500)) +data = {} +for i in range(6): + data[i] = (2**i)*np.ones(1024) + data[i][1::2] = -1*(2**i) + +# mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len +while True: + cntr += 1 + mcnt = cntr*1024 + for a0,a1 in baselines[0]: + for o in offset: + pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[0]) + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.001) + bcnt += 1 + + if (cntr%2 == 0): + for a0,a1 in baselines[1]: + for o in offset: + pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[1]) + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.001) + bcnt += 1 + + if (cntr%4 == 0): + for a0,a1 in baselines[2]: + for o in offset: + pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[2]) + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.001) + bcnt += 1 + + if (cntr%8 == 0): + for a0,a1 in baselines[3]: + for o in offset: + pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[3]) + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.001) + bcnt += 1 + + if (cntr%16 == 0): + for a0,a1 in baselines[4]: + for o in offset: + pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[4]) + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.001) + bcnt += 1 + From 8ccab3b0266dfb98f1d6980425be15a67686f76d Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 13 Mar 2019 17:12:31 -0700 Subject: [PATCH 172/420] change baseline_id to a bcnt type variable that increments for every baseline sent --- src/hera_gpu_output_thread.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 54dbf6a1..38053ab2 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -26,11 +26,12 @@ #define CHECK_PWR2(x) (!((x)&((x)-1))) // Macros for generating values for the pkthdr_t fields -#define TIMESTAMP(x) (htobe64((uint64_t)x)) -#define BASELINE_ID(x) (htobe32((uint32_t)x)) -#define OFFSET(x) (htobe32((uint32_t)x)) -#define XENG_ID(x) (htobe16((uint16_t)x)) -#define PAYLOAD_LEN(x) (htobe16((uint16_t)x)) +#define TIMESTAMP(x) (htobe64((uint64_t)(x))) +#define BASELINE_ID(x) (htobe32((uint32_t)(x))) +#define OFFSET(x) (htobe32((uint32_t)(x))) +#define XENG_ID(x) (htobe16((uint16_t)(x))) +#define PAYLOAD_LEN(x) (htobe16((uint16_t)(x))) +#define ANTENNA(x) (htobe16((uint16_t)(x))) #define CONVERT(x) (htobe32((x))) @@ -42,6 +43,8 @@ typedef struct pkthdr { uint64_t timestamp; uint32_t baseline_id; uint32_t offset; + uint16_t ant0; + uint16_t ant1; uint16_t xeng_id; uint16_t payload_len; } pkthdr_t; @@ -432,6 +435,7 @@ static void *run(hashpipe_thread_args_t * args) int offset = 0; unsigned long long datoffset = 0; int ant0, ant1; + int catcher_bl_id = 0; unsigned long long idx_baseline; off_t idx_regtile; hera_int_bin_buf_t *intbuf; @@ -500,14 +504,16 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &pkt_start); for(bl=0; bl Date: Thu, 9 May 2019 00:57:00 +0000 Subject: [PATCH 173/420] Add catcher stop script. Generate header template on every new data run. Stop script simply sets filesize and n_files to zero via redis interface. Call the header template generation script every time take_data is run, to make sure array config is up to date. --- src/Makefile.am | 1 + src/scripts/hera_catcher_stop_data.py | 26 ++++++++++++++++++++++++++ src/scripts/hera_catcher_take_data.py | 24 ++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 src/scripts/hera_catcher_stop_data.py diff --git a/src/Makefile.am b/src/Makefile.am index a63eacb9..a7a449ab 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -66,6 +66,7 @@ dist_bin_SCRIPTS = scripts/paper_init.sh \ scripts/hera_catcher_up.py \ scripts/hera_catcher_down.sh \ scripts/hera_catcher_take_data.py \ + scripts/hera_catcher_stop_data.py \ scripts/tweak-perf.sh \ scripts/hera_ctl.py \ scripts/hera_make_hdf5_template.py diff --git a/src/scripts/hera_catcher_stop_data.py b/src/scripts/hera_catcher_stop_data.py new file mode 100644 index 00000000..149ce2fd --- /dev/null +++ b/src/scripts/hera_catcher_stop_data.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +import redis +import time +import argparse +import subprocess + +parser = argparse.ArgumentParser(description='Trigger data collection on the HERA catcher node', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + +parser.add_argument('host', type=str, help='Host on which to capture data') +parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') + +args = parser.parse_args() + +r = redis.Redis(args.redishost) + +#Configure runtime parameters +catcher_dict = { + 'MSPERFIL' : 0, + 'NFILES' : 0, +} + +pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) +for key, val in catcher_dict.iteritems(): + r.publish(pubchan, '%s=%s' % (key, val)) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index 4a58601e..067ccc51 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -5,6 +5,22 @@ import argparse import subprocess +python_source_cmd = ['source', '~/hera-venv/bin/activate'] +template_cmd = ['hera_make_hdf5_template.py'] + +def run_on_hosts(hosts, cmd, user=None, wait=True): + if isinstance(cmd, str): + cmd = [cmd] + p = [] + for host in hosts: + if user is None: + p += [subprocess.Popen(['ssh', '%s' % (host)] + cmd)] + else: + p += [subprocess.Popen(['ssh', '%s@%s' % (user, host)] + cmd)] + if wait: + for pn in p: + pn.wait() + parser = argparse.ArgumentParser(description='Trigger data collection on the HERA catcher node', formatter_class=argparse.ArgumentDefaultsHelpFormatter) @@ -13,6 +29,7 @@ parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') parser.add_argument('-t', dest='tag', type=str, default='none', help='A descriptive tag to go into data files') +parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') args = parser.parse_args() @@ -21,10 +38,17 @@ if len(args.tag) > 127: raise ValueError("Tag argument must be <127 characters!") +# Generate the meta-data template +run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) + + #Configure runtime parameters catcher_dict = { + 'HDF5TPLT' : args.hdf5template, 'MSPERFIL' : args.msperfile, 'NFILES' : args.nfiles, + 'SYNCTIME' : r['corr:feng_sync_time'], + 'INTTIME' : r['corr:acc_len'], 'TAG' : args.tag, } From 737b12750c599ab8c35c7fc2f704e08403897980 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 9 May 2019 01:21:01 +0000 Subject: [PATCH 174/420] Fix argument flag clash tag is now --tag. -t is header template file path --- src/scripts/hera_catcher_take_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index 067ccc51..5ed96456 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -28,7 +28,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') -parser.add_argument('-t', dest='tag', type=str, default='none', help='A descriptive tag to go into data files') +parser.add_argument('--tag', dest='tag', type=str, default='none', help='A descriptive tag to go into data files') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') args = parser.parse_args() From 5301d14d69abc4d7044f874c7ceaf9130ca7131a Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 9 May 2019 01:53:54 +0000 Subject: [PATCH 175/420] Round acc_len to 2048 spectra --- src/scripts/hera_ctl.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py index 0af2aca6..0f7b4645 100755 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -71,12 +71,17 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): print 'Trigger MCNT: %d' % trig_mcnt print 'Trigger time is %.1f seconds in the future (%s)' % (trig_time - time.time(), time.ctime(trig_time)) + # round acc_len + acclen = int(args.acclen / MCNT_XGPU_BLOCK_SIZE) * MCNT_XGPU_BLOCK_SIZE + print 'Requested accumulation length: %d' % args.acclen + print 'Actual accumulation length: %d' % acclen + # Use the hashpipe publish channel to update keys in all status buffers. # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb # for details about formatting for slice in range(args.slices): - msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, args.acclen) + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen) for host in range(args.xhosts): hostname = 'px%d' % (slice * args.xhosts + host + 1) rdb.publish('hashpipe://%s/0/set' % hostname, msg) @@ -85,5 +90,5 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): rdb['corr:trig_mcnt'] = trig_mcnt rdb['corr:trig_time'] = trig_time - rdb['corr:acc_len'] = args.acclen - rdb['corr:int_time'] = args.acclen * args.slices * mcnts_per_second() + rdb['corr:acc_len'] = acclen + rdb['corr:int_time'] = acclen * args.slices * mcnts_per_second() From 706f070cd543d570935536914ccc109723172eb0 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Fri, 10 May 2019 08:50:57 -0700 Subject: [PATCH 176/420] Fix x_orientation --- src/scripts/hera_make_hdf5_template.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 11cc97b4..da3bb4d4 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -192,7 +192,7 @@ def create_header(h5, use_cm=False, use_redis=False): header.create_dataset("spw_array", dtype=" radians lat = cminfo['cofa_lat'] * np.pi / 180. From d2006a89e1f801666ee692a36a7a90060c644eab Mon Sep 17 00:00:00 2001 From: Jack H Date: Sun, 19 May 2019 16:34:30 -0700 Subject: [PATCH 177/420] Add hashpipe as submodule. NB All testing so far has used hashpipe v1.6. This commit is for 1.7 --- .gitmodules | 3 +++ hashpipe | 1 + 2 files changed, 4 insertions(+) create mode 160000 hashpipe diff --git a/.gitmodules b/.gitmodules index 7bde612e..bb1ec3ff 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "bitshuffle"] path = bitshuffle url = https://github.com/kiyo-masui/bitshuffle +[submodule "hashpipe"] + path = hashpipe + url = https://astro.berkeley.edu/~davidm/hashpipe.git diff --git a/hashpipe b/hashpipe new file mode 160000 index 00000000..6b16dc80 --- /dev/null +++ b/hashpipe @@ -0,0 +1 @@ +Subproject commit 6b16dc80354d44a12a25faa8e6797aad3a54ceaf From 3fd1e01215876cbccaf0b0be4a6c17fa20a3d491 Mon Sep 17 00:00:00 2001 From: Jack H Date: Sun, 19 May 2019 16:36:39 -0700 Subject: [PATCH 178/420] Use IB verbs hashpipe branch --- hashpipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hashpipe b/hashpipe index 6b16dc80..ad77eceb 160000 --- a/hashpipe +++ b/hashpipe @@ -1 +1 @@ -Subproject commit 6b16dc80354d44a12a25faa8e6797aad3a54ceaf +Subproject commit ad77eceb1a60ed45078d65157f30b5aa42b84705 From 61a8e2e665673965d10e3c7f1d2dd3729a0c54ec Mon Sep 17 00:00:00 2001 From: Jack H Date: Sun, 19 May 2019 16:37:17 -0700 Subject: [PATCH 179/420] Revert "Use IB verbs hashpipe branch" This reverts commit 3fd1e01215876cbccaf0b0be4a6c17fa20a3d491. --- hashpipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hashpipe b/hashpipe index ad77eceb..6b16dc80 160000 --- a/hashpipe +++ b/hashpipe @@ -1 +1 @@ -Subproject commit ad77eceb1a60ed45078d65157f30b5aa42b84705 +Subproject commit 6b16dc80354d44a12a25faa8e6797aad3a54ceaf From 8c330623c26721a7dc39efa8f96525917e8eaed3 Mon Sep 17 00:00:00 2001 From: Jack H Date: Sun, 19 May 2019 16:37:58 -0700 Subject: [PATCH 180/420] Use IB verbs hashpipe branch --- hashpipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hashpipe b/hashpipe index 6b16dc80..ad77eceb 160000 --- a/hashpipe +++ b/hashpipe @@ -1 +1 @@ -Subproject commit 6b16dc80354d44a12a25faa8e6797aad3a54ceaf +Subproject commit ad77eceb1a60ed45078d65157f30b5aa42b84705 From 3ba26ee2951e11e4d4c10d38fdd92717643c5616 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 20 May 2019 19:23:05 +0000 Subject: [PATCH 181/420] flexible catcher buffers to accomodate bda-ed baselines --- src/Makefile.am | 15 ++-- src/hera_catcher_net_thread_bda_v2.c | 86 ++++++++++++++--------- src/paper_databuf.h | 6 +- src/scripts/check_catcher_capture.py | 4 +- src/scripts/hera_fake_bda_output.py | 100 +++++++++++---------------- 5 files changed, 104 insertions(+), 107 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 5e5dfd0a..85cdda31 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -22,21 +22,22 @@ paper_databuf = paper_databuf.h \ paper_databuf.c paper_threads = paper_fake_net_thread.c \ - paper_gpu_cpu_output_thread.c \ - paper_gpu_output_thread.c \ - paper_gpu_thread.c \ - paper_fluff_thread.c \ - hera_pktsock_thread.c \ + paper_gpu_cpu_output_thread.c \ + paper_gpu_output_thread.c \ + paper_gpu_thread.c \ + paper_fluff_thread.c \ + hera_pktsock_thread.c \ hera_fake_gpu_thread.c \ - paper_crc_thread.c \ + paper_crc_thread.c \ hera_catcher_net_thread_bda_v2.c \ - #hera_catcher_disk_thread.c \ hera_gpu_output_thread.c \ lzf/lzf_c.c \ lzf/lzf_d.c \ lzf_filter.c \ lzf_filter.h +#hera_catcher_disk_thread.c + paper_fluff = paper_fluff.h \ paper_fluff.c diff --git a/src/hera_catcher_net_thread_bda_v2.c b/src/hera_catcher_net_thread_bda_v2.c index 88d94eab..9c93e402 100644 --- a/src/hera_catcher_net_thread_bda_v2.c +++ b/src/hera_catcher_net_thread_bda_v2.c @@ -85,7 +85,7 @@ static inline void initialize_block(hera_catcher_input_databuf_t * hera_catcher_ /* Initialize block_info */ // This function must be called once and only once per block_info structure! // Subsequent calls are no-ops. -static inline void initialize_block_info(block_info_t * binfo){ +static inline void initialize_block_info(block_info_t * binfo, int pkt_block_id){ int i; // If this block_info structure has already been initialized @@ -94,14 +94,14 @@ static inline void initialize_block_info(block_info_t * binfo){ } for(i = 0; i < CATCHER_N_BLOCKS; i++) { - binfo->block_packet_counter[i] = 0; + binfo->block_packet_counter[i] = 0; memset(binfo->flags[i], 0, PACKETS_PER_BLOCK*sizeof(char)); memset(binfo->baselines[i], 0, BASELINES_PER_BLOCK*sizeof(char)); } - // On startup the first two blocks will be processed - binfo->block_curr = 0; - binfo->block_next = 1; + // The number of the current block is set by the first packet received + binfo->block_curr = pkt_block_id; + binfo->block_next = (pkt_block_id+1) % CATCHER_N_BLOCKS; binfo->thresh = PACKETS_PER_BLOCK/8; binfo->out_of_seq_cnt = 0; binfo->initialized = 1; @@ -120,11 +120,10 @@ static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_heade } /* Set hashpipe block to filled */ -// This sets the "current" block to be marked as filled. The current block is -// the block corresponding to binfo->block_i. Returns bcnt of the block -// being marked filled. +// This sets the "current" block to be marked as filled. +// Returns bcnt of the block being marked filled. static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, block_info_t *binfo){ - static int last_filled = -1; + static int last_filled = -1; //(binfo->block_curr-1)% CATCHER_N_BLOCKS; uint64_t block_missed_pkt_cnt; uint32_t missed_pkt_cnt; @@ -151,7 +150,7 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu hashpipe_status_lock_busywait_safe(st_p); hputu4(st_p->buf, "NETBKOUT", block_i); if(block_missed_pkt_cnt){ - fprintf(stdout, "Expected %lu packets, Got %lu\n", PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); + fprintf(stderr, "Expected %lu packets, Got %lu\n", PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); // Increment MISSEDPK by number of missed packets for this block hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; @@ -176,24 +175,31 @@ static inline uint64_t process_packet( static block_info_t binfo; packet_header_t pkt_header; - const uint32_t *payload_p; - uint32_t *dest_p; + //const uint32_t *payload_p; + //uint32_t *dest_p; + //int i; int pkt_block_i; int b, x, t, o; uint32_t pkt_offset; - int i; uint64_t bcnt = -1; int rv; + // Parse packet header + get_header(p_frame, &pkt_header); + pkt_block_i = block_for_bcnt(pkt_header.bcnt); + // Lazy init binfo if(!binfo.initialized){ - initialize_block_info(&binfo); + fprintf(stderr,"Initializing binfo..!\n"); + initialize_block_info(&binfo, pkt_block_i); + initialize_block(hera_catcher_input_databuf_p, pkt_header.bcnt); + initialize_block(hera_catcher_input_databuf_p, pkt_header.bcnt+BASELINES_PER_BLOCK); } - // Parse packet header - get_header(p_frame, &pkt_header); - pkt_block_i = block_for_bcnt(pkt_header.bcnt); - + fprintf(stderr, "curr:%d\tnext:%d\t",binfo.block_curr, binfo.block_next); + fprintf(stderr, "bcnt:%d\tblock_id:%d\t",pkt_header.bcnt,pkt_block_i); + fprintf(stderr, "xeng:%d\n",pkt_header.xeng_id); + // Place the packet in curr/next block or drop it // If the packet belongs to the current block, process it as usual. // If the packet belongs to the next block, mark the previous block @@ -207,9 +213,12 @@ static inline uint64_t process_packet( o = pkt_header.offset; pkt_offset = hera_catcher_input_databuf_pkt_offset(b, t, x, o); + //fprintf(stderr, "offset: %d\n", pkt_offset); + //fprintf(stderr, "bcnt-loc:%d\txeng:%d\ttime:%d\tpktoffset:%d\n",b,x,t,o); if(binfo.flags[pkt_block_i][pkt_offset]){ // This slot is already filled + //fprintf(stderr, "Packet repeated!!\n"); binfo.out_of_seq_cnt++; return -1; } @@ -223,16 +232,16 @@ static inline uint64_t process_packet( } // Copy data into buffer with byte swap - payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); - dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[pkt_block_i].data + \ - (pkt_header.payload_len * pkt_offset/sizeof(uint32_t))); + //payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); + //dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[pkt_block_i].data + (pkt_header.payload_len * pkt_offset/sizeof(uint32_t))); - for(i=0; i<(pkt_header.payload_len>>2); i++){ - dest_p[i] = be32toh(payload_p[i]); - } + //for(i=0; i<(pkt_header.payload_len>>2); i++){ + // dest_p[i] = be32toh(payload_p[i]); + //} binfo.flags[pkt_block_i][pkt_offset] = 1; binfo.block_packet_counter[pkt_block_i]++; - + //fprintf(stderr,"bcnt:%d\t block_id:%d\t Pkt cntr: %lu\n",b, pkt_block_i, binfo.block_packet_counter[pkt_block_i]); + // Check if curr block is full or next block is at thresh and set curr // as filled. Wait to acquire the next block and update binfo tags. if((binfo.block_packet_counter[binfo.block_curr] == PACKETS_PER_BLOCK) || \ @@ -240,6 +249,9 @@ static inline uint64_t process_packet( bcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); + // Print + fprintf(stderr,"Filled Block: %d with bcnt: %lu\n",binfo.block_curr, bcnt); + // Update binfo binfo.block_packet_counter[binfo.block_curr] = 0; memset(binfo.flags[binfo.block_curr], 0, PACKETS_PER_BLOCK*sizeof(char)); @@ -277,7 +289,7 @@ static inline uint64_t process_packet( } if (binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ_PKTS){ - fprintf(stderr,"Lots of out of sequence packets!"); + //fprintf(stderr,"Lots of out of sequence packets!"); } return bcnt; } @@ -289,7 +301,7 @@ static int init(hashpipe_thread_args_t *args){ int bindport = CATCHER_PORT; status_key = args->thread_desc->skey; - strcpy(bindhost, "127.0.0.1"); //"0.0.0.0"); + strcpy(bindhost, "0.0.0.0"); hashpipe_status_t st = args->st; @@ -350,15 +362,15 @@ static void *run(hashpipe_thread_args_t * args){ st_p = &st; // allow global (this source file) access to the status buffer // Flag that holds off the net thread + //int holdoff = 1; int holdoff = 0; // Force ourself into the hold off state - fprintf(stdout, "Setting CNETHOLD state to 1."\ - "Waiting for someone to set it to 0\n"); - hashpipe_status_lock_safe(&st); - hputi4(st.buf, "CNETHOLD", 1); - hputs(st.buf, status_key, "holding"); - hashpipe_status_unlock_safe(&st); + //fprintf(stderr, "Setting CNETHOLD state to 1.Waiting for someone to set it to 0\n"); + //hashpipe_status_lock_safe(&st); + //hputi4(st.buf, "CNETHOLD", 1); + //hputs(st.buf, status_key, "holding"); + //hashpipe_status_unlock_safe(&st); while(holdoff) { sleep(1); @@ -368,11 +380,13 @@ static void *run(hashpipe_thread_args_t * args){ // Done holding, so delete the key hdel(st.buf, "CNETHOLD"); hputs(st.buf, status_key, "starting"); - fprintf(stdout, "Starting...\n"); + fprintf(stderr, "Starting...\n"); } hashpipe_status_unlock_safe(&st); } + fprintf(stderr,"Waiting to acquire two blocks to start!\n"); + // Acquire first two blocks to start if(hera_catcher_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ if (errno == EINTR){ @@ -394,6 +408,7 @@ static void *run(hashpipe_thread_args_t * args){ } } + fprintf(stderr,"Initializing the blocks..\n"); // Initialize the newly acquired block initialize_block(db, 0); initialize_block(db, BASELINES_PER_BLOCK); @@ -449,6 +464,9 @@ static void *run(hashpipe_thread_args_t * args){ struct timespec start, stop; struct timespec recv_start, recv_stop; + + fprintf(stderr,"Starting to collect packets..\n"); + while (run_threads()) { // Read packet clock_gettime(CLOCK_MONOTONIC, &recv_start); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index af8a4f52..cc0adcb8 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -300,7 +300,7 @@ typedef struct hera_bda_buf{ #define OUTPUT_BYTES_PER_PACKET (4096) #define CATCHER_CHAN_SUM 1 #define N_STOKES 4 -#define BASELINES_PER_BLOCK 4096 +#define BASELINES_PER_BLOCK 16384 #define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) #define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) @@ -336,8 +336,8 @@ typedef struct hera_catcher_input_header{ uint64_t good_data; uint64_t bcnt; // starting value of baseline_id for this block uint64_t mcnt[BASELINES_PER_BLOCK]; // times are diff for each baseline - uint32_t ant_pair_0[BASELINES_PER_BLOCK]; // list of antennas in this block - uint32_t ant_pair_1[BASELINES_PER_BLOCK]; + uint16_t ant_pair_0[BASELINES_PER_BLOCK]; // list of antennas in this block + uint16_t ant_pair_1[BASELINES_PER_BLOCK]; //uint8_t flags[BASELINES_PER_BLOCK]; } hera_catcher_input_header_t; diff --git a/src/scripts/check_catcher_capture.py b/src/scripts/check_catcher_capture.py index 87b8e35f..2a56c5b5 100644 --- a/src/scripts/check_catcher_capture.py +++ b/src/scripts/check_catcher_capture.py @@ -49,7 +49,7 @@ def baseline_index(n): # mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len def decode_packet(packet): - p = struct.unpack('>1Q2I2H1025i', packet) + p = struct.unpack('>1Q2I4H1024i', packet) time, bcnt, offset, ant0, ant1, xeng_id, payload_len = p[0:7] data = np.asarray(p[7:]) return time, bcnt, offset, ant0, ant1, xeng_id, payload_len, data @@ -69,7 +69,7 @@ def decode_packet(packet): packets += 1 t,b,o,a0,a1,x,l,data = decode_packet(pkt) if args.verbose: - print t, b//4096, b%4096, o, a0, a1, data[:8], data[-8:] + print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//4096, b%4096, o, a0, a1, x), data[:8] if args.check: if not (np.all(data[::2] == 1)): print "Error! Real", idx_map[b], o, data[::2] diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py index 2fd493f2..d1ae7c33 100644 --- a/src/scripts/hera_fake_bda_output.py +++ b/src/scripts/hera_fake_bda_output.py @@ -1,3 +1,7 @@ +# Imitate 16 xengs, 2 times, all baselines +# Send packets to catcher imitating the output +# of all the xengs in the chain. + import numpy as np import struct import socket @@ -8,74 +12,48 @@ Nc = 328 # chan Nt = 2 # demux Ns = 4 # stokes -udp_ip = '10.20.1.66' +Nbins = 5 # number of diff integration bins +udp_ip = '10.80.40.251' udp_port = 10000 -bdaconfig = np.loadtxt('../bda_config.txt') +int_bin = {} +int_bin['baselines'] = {} +int_bin['data'] = {} -baselines = {} -for i in range(5): - baselines[i] = [] +for n in range(Nbins): + int_bin['baselines'][n] = [] + int_bin['data'][n] = (2**n)*np.ones(1024) + int_bin['data'][n][1::2] = -1*(2**n) +# Populate baseline pairs from config file +bdaconfig = np.loadtxt('../bda_config.txt', dtype=np.int) for i,t in enumerate(bdaconfig[:,2]): - baselines[int(np.log(t)/np.log(2))].append((bdaconfig[i,0],bdaconfig[i,1])) + n = int(np.log(t)/np.log(2)) + int_bin['baselines'][n].append((bdaconfig[i,0], bdaconfig[i,1])) +for a in range(Na): + int_bin['baselines'][0].append((a,a)) -for a0 in range(Na): - baselines[1].append((a0,a0)) +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -bcnt = 0 -mcnt = 0 -cntr = 0 +bcnt = 0; mcnt = 0; ctr = 0 offset = np.arange(3) -xeng_id = 0 - -sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -sock.bind(('10.20.1.2',8500)) -data = {} -for i in range(6): - data[i] = (2**i)*np.ones(1024) - data[i][1::2] = -1*(2**i) -# mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len while True: - cntr += 1 - mcnt = cntr*1024 - for a0,a1 in baselines[0]: - for o in offset: - pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[0]) - sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.001) - bcnt += 1 - - if (cntr%2 == 0): - for a0,a1 in baselines[1]: - for o in offset: - pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[1]) - sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.001) - bcnt += 1 - - if (cntr%4 == 0): - for a0,a1 in baselines[2]: - for o in offset: - pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[2]) - sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.001) - bcnt += 1 - - if (cntr%8 == 0): - for a0,a1 in baselines[3]: - for o in offset: - pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[3]) - sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.001) - bcnt += 1 - - if (cntr%16 == 0): - for a0,a1 in baselines[4]: - for o in offset: - pkt = struct.pack('>1Q2I4H1024i', mcnt, bcnt, o, a0, a1, xeng_id, 4096, *data[4]) - sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.001) - bcnt += 1 - + ctr += 2 + mcnt = ctr + for ns in np.logspace(0, Nbins-1, num=Nbins, base=2, dtype=np.int): + if (ctr%ns == 0): + print 'Sending: %d'%ns + nb = int(np.log(ns)/np.log(2)) + for (a0,a1) in int_bin['baselines'][nb]: + for xeng_id in range(Nx*Nt): + pkt = struct.pack('>1Q2I4H1024i', mcnt+((xeng_id//Nx)*2), bcnt, 0, a0, a1, xeng_id, 4096, *int_bin['data'][nb]); + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.000001) + pkt = struct.pack('>1Q2I4H1024i', mcnt+((xeng_id//Nx)*2), bcnt, 1, a0, a1, xeng_id, 4096, *int_bin['data'][nb]); + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.000001) + pkt = struct.pack('>1Q2I4H1024i', mcnt+((xeng_id//Nx)*2), bcnt, 2, a0, a1, xeng_id, 4096, *int_bin['data'][nb]); + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(0.000001) + bcnt += 1 From 835e2ffe2f91cdddaab3edbce119dda066a70b97 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 20 May 2019 19:23:47 +0000 Subject: [PATCH 182/420] delete test print statements --- src/hera_fake_gpu_thread.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/hera_fake_gpu_thread.c b/src/hera_fake_gpu_thread.c index ac55d4a8..c718b832 100644 --- a/src/hera_fake_gpu_thread.c +++ b/src/hera_fake_gpu_thread.c @@ -89,15 +89,6 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ xgpuInfo(&xgpu_info); - /* Test statements */ - printf("N_OUTPUT_MATRIX: %d\n",N_OUTPUT_MATRIX); - printf("N_INPUTS: %d\n",N_INPUTS); - printf("N_ANTS: %d\n",N_ANTS); - printf("N_CHAN_PER_X: %d\n",N_CHAN_PER_X); - printf("Largest index: %ld\n",regtile_index(N_INPUTS-1,N_INPUTS-1)); - printf("xgpu.n_station: %d\n",xgpu_info.nstation); - printf("xgpu.matLength: %lld\n",xgpu_info.matLength); - while (run_threads()) { hashpipe_status_lock_safe(&st); @@ -156,8 +147,6 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ // Setup for next block block_idx = (block_idx + 1)%db->header.n_block; - fprintf(stderr,"Block_id: %d\n",block_idx); - /* Will exit if thread has been cancelled */ pthread_testcancel(); } From 01943b7c2a9e8ce124e071291486b898494b8f3e Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 20 May 2019 19:41:27 +0000 Subject: [PATCH 183/420] removed test print statements --- src/hera_gpu_output_thread.c | 127 +++-------------------------------- 1 file changed, 9 insertions(+), 118 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 38053ab2..5b422fd6 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -16,6 +16,7 @@ #include #include #include +#include #include @@ -69,7 +70,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (4 * XENG_CHAN_SUM * 8*OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (4 * 8*OUTPUT_BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; @@ -261,8 +262,6 @@ static int init_idx_map() return -1; } - fprintf(stderr,"Number of inputs: %d\n",N_INPUTS); - for(a0=0; a0buf->header.datsize = 0; for(j=1; jbaselines_per_bin[j]); bdabuf->send[j] = 0; intbuf = bdabuf->buf+j; intbuf->header.sam = 0; intbuf->header.totsam = pow(2,j); intbuf->header.datsize = bdabuf->baselines_per_bin[j]*N_COMPLEX_PER_BASELINE*2*sizeof(uint32_t); - fprintf(stderr,"Init: Size of Buf: %d is %llu\n",j,intbuf->header.datsize); intbuf->data = malloc(intbuf->header.datsize); if (!intbuf->data) return -1; @@ -368,7 +363,6 @@ static void *run(hashpipe_thread_args_t * args) const char * status_key = args->thread_desc->skey; // Initialize buffers to store averaged baselines - fprintf(stderr, "Initializing buffers..\n"); hera_bda_buf_t bdabuf; init_buffer(&bdabuf); @@ -380,8 +374,6 @@ static void *run(hashpipe_thread_args_t * args) .tv_nsec = PACKET_DELAY_NS }; - fprintf(stderr, "Created socket\n"); - hashpipe_status_lock_safe(&st); hgetu4(st.buf, "XID", &xengine_id); // No change if not found hputu4(st.buf, "XID", xengine_id); @@ -398,7 +390,7 @@ static void *run(hashpipe_thread_args_t * args) #define stringify(x) stringify2(x) // Open socket - sockfd = open_udp_socket("localhost", stringify(CATCHER_PORT)); + sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); if(sockfd == -1) { hashpipe_error(__FUNCTION__, "error opening socket"); pthread_exit(NULL); @@ -434,25 +426,12 @@ static void *run(hashpipe_thread_args_t * args) uint32_t nbytes = 0; int offset = 0; unsigned long long datoffset = 0; - int ant0, ant1; - int catcher_bl_id = 0; + uint16_t ant0, ant1; unsigned long long idx_baseline; + int baseline_id; off_t idx_regtile; hera_int_bin_buf_t *intbuf; - fprintf(stderr, "Starting main loop...\n"); - - /* Test statements */ - fprintf(stderr,"Total number of bins: %d\n",N_BDA_BINS); - for(j=1; jheader.datsize); - } - fprintf(stdout, "Size of packet header: %ld\n",sizeof(pkt.hdr)); - fprintf(stdout, "Size of matrix: %lld\n", xgpu_info.matLength); - fprintf(stdout, "Channels per X-eng: %d\n", N_CHAN_PER_X); - while (run_threads()) { hashpipe_status_lock_safe(&st); @@ -497,7 +476,6 @@ static void *run(hashpipe_thread_args_t * args) intbuf->header.mcnt = db->block[block_idx].header.mcnt; if (bdabuf.send[j]){ - fprintf(stderr,"Bin: %d: Send\n",j); pkt.hdr.timestamp = TIMESTAMP(intbuf->header.mcnt); offset = 0; nbytes = 0; p_out = pkt.data; @@ -506,14 +484,13 @@ static void *run(hashpipe_thread_args_t * args) for(bl=0; bldata, 0, intbuf->header.datsize); }else{ - fprintf(stderr,"Bin: %d: Copy\n",j); for(bl=0; blheader.datsize); for(casper_chan=0; casper_chandata[datoffset+1] += -im; } } - } fprintf(stderr,"Baselines processed: %ld Total baselines: %ld\n", - bl,bdabuf.baselines_per_bin[j]); + } intbuf->header.sam += 1; if ((intbuf->header.sam+1) == intbuf->header.totsam) @@ -653,81 +622,3 @@ static __attribute__((constructor)) void ctor() register_hashpipe_thread(&gpu_output_thread); } -// /* ---------------------------------------------------- */ -// /* Loop through 1-sample baselines and send the packets */ -// /* ---------------------------------------------------- */ -// -// fprintf(stderr, "Processing 1-sample baselines\n"); -// -// // Update header's timestamp for this dump. -// pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); -// pkt.hdr.offset = OFFSET(0); -// clock_gettime(CLOCK_MONOTONIC, &pkt_start); -// -// // All stokes are sent in adjacent words -// for(bl=0; bl < bdabuf.baselines_per_bin[0]; bl++){ -// ant0 = bdabuf.ant_pair_0[0][bl]; -// ant1 = bdabuf.ant_pair_1[0][bl]; -// idx_baseline = baseline_index(2*ant0, 2*ant1, N_INPUTS); -// idx_regtile = regtile_idx_map[idx_baseline]; -// //idx_regtile = regtile_index(2*ant0, 2*ant1); -// pkt.hdr.baseline_id = BASELINE_ID(idx_baseline); -// offset = 0; -// pkt.hdr.offset = OFFSET(0); -// -// for(casper_chan=0; casper_chan 0 && packet_delay.tv_nsec < 1000*1000*1000){ -// nanosleep(&packet_delay, NULL); -// } -// -// // Setup for next packet -// p_out = pkt.data; -// pkt_start = pkt_stop; -// offset++; -// pkt.hdr.offset = OFFSET(offset); -// } // done sending -// } // pol loop -// } // chan loop -// } // baseline loop - - From 78788d3a3262debf45d214c0972a51aa2d982e50 Mon Sep 17 00:00:00 2001 From: Jack H Date: Tue, 21 May 2019 14:40:49 -0700 Subject: [PATCH 184/420] Updates for new version of hashpipe Largely to accommodate pointer type checking with hget8 calls --- src/hera_catcher_disk_thread.c | 2 +- src/hera_catcher_net_thread.c | 16 ++++++++-------- src/hera_pktsock_thread.c | 16 ++++++++-------- src/paper_gpu_thread.c | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 1b4c356b..f3868bdb 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -299,7 +299,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) } -#define VERSION_BYTES 32 +#define VERSION_BYTES 128 static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t, char* tag) { hid_t dataset_id; hid_t memtype; diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 6ec5fa5d..6cba7a8a 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -494,35 +494,35 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 9fbdb60d..6c50f817 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -813,35 +813,35 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index d57da480..a0cc2702 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -91,7 +91,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "waiting"); hgets(st.buf, "INTSTAT", 16, integ_status); - hgeti8(st.buf, "INTSYNC", (long long*)&start_mcount); + hgeti8(st.buf, "INTSYNC", (long int*)&start_mcount); hashpipe_status_unlock_safe(&st); // Wait for new input block to be filled From 899bb1b12358f41b744994796b77b94a392611ec Mon Sep 17 00:00:00 2001 From: Jack H Date: Tue, 21 May 2019 14:44:42 -0700 Subject: [PATCH 185/420] Wait longer for hashpipe redis gateways to come up --- src/scripts/xtor_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 1df384ba..efdf88be 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -56,7 +56,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([host], ['taskset', cpu_masks[i], 'hashpipe_redis_gateway.rb', '-g', host, '-i', '%d'%i]) # Wait for the gateways to come up -time.sleep(1) +time.sleep(3) # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): From 9efa1e903707b625f6e2059cacc98fb0427a79f4 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 29 May 2019 23:08:19 +0000 Subject: [PATCH 186/420] Update sys_handling to cm_sysutils --- src/scripts/hera_make_hdf5_template.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index da3bb4d4..b4906fb2 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -65,8 +65,8 @@ def get_ant_names(): return ["foo"]*352 def get_cm_info(): - from hera_mc import sys_handling - h = sys_handling.Handling() + from hera_mc import cm_sysutils + h = cm_sysutils.Handling() return h.get_cminfo_correlator() def get_antpos_enu(antpos, lat, lon, alt): From 7f7fbf05c74308c78ade0e7a6594d527fe8aeabb Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 30 May 2019 14:38:09 -0700 Subject: [PATCH 187/420] change long long to long int to comply with updated hashpipe checks --- src/hera_pktsock_thread.c | 22 +++++++++++----------- src/paper_gpu_thread.c | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 9fbdb60d..63bb2e69 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -76,7 +76,7 @@ static int time_index; #if 0 static void print_pkt_header(packet_header_t * pkt_header) { - static long long prior_mcnt; + static long int prior_mcnt; printf("packet header : mcnt %012lx (diff from prior %lld) fid %d xid %d\n", pkt_header->mcnt, pkt_header->mcnt-prior_mcnt, pkt_header->fid, pkt_header->xid); @@ -167,7 +167,7 @@ static inline void get_header (unsigned char *p_frame, packet_header_t * pkt_hea //pkt_counter++; #else uint64_t raw_header; - raw_header = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); + raw_header = be64toh(*(unsigned long int *)PKT_UDP_DATA(p_frame)); // raw header contains value of first time sample, not mcnt, as defined in this code //pkt_header->time = (raw_header >> 27) & ((1L<<37)-1); //pkt_header->mcnt = pkt_header->time >> 5; @@ -405,7 +405,7 @@ static inline uint64_t process_packet( #if N_DEBUG_INPUT_BLOCKS == 1 debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; - debug_ptr[debug_offset++] = be64toh(*(unsigned long long *)PKT_UDP_DATA(p_frame)); + debug_ptr[debug_offset++] = be64toh(*(unsigned long int *)PKT_UDP_DATA(p_frame)); if(--debug_remaining == 0) { exit(1); } @@ -813,35 +813,35 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long int *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long int *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long int *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long int *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long int *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long int *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index d57da480..6e2f5b5d 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -91,7 +91,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "waiting"); hgets(st.buf, "INTSTAT", 16, integ_status); - hgeti8(st.buf, "INTSYNC", (long long*)&start_mcount); + hgeti8(st.buf, "INTSYNC", (long int *)&start_mcount); hashpipe_status_unlock_safe(&st); // Wait for new input block to be filled From f961ddb55e32ca2fc532166d83f8d2c5b51df855 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 10 Jun 2019 23:16:22 -0700 Subject: [PATCH 188/420] Packed binary data upfront for faster send datarate --- src/scripts/hera_fake_bda_output.py | 61 ++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py index d1ae7c33..b57dca62 100644 --- a/src/scripts/hera_fake_bda_output.py +++ b/src/scripts/hera_fake_bda_output.py @@ -6,15 +6,38 @@ import struct import socket import time +import threading + +catcher = "10.10.10.222" Na = 352 # antennas Nx = 16 # xeng -Nc = 328 # chan +Nc = 384 # chan Nt = 2 # demux Ns = 4 # stokes Nbins = 5 # number of diff integration bins -udp_ip = '10.80.40.251' +udp_ip = catcher #'10.80.40.251' udp_port = 10000 +inttimes = np.asarray([1,2,4,8,16]) + +def send_xeng(xeng_id): + print 'Xeng: ', xeng_id + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + #sock.bind(("10.10.10.5",10000+xeng_id)) + bcnt = 0; mcnt = 0; ctr = 1; + while True: + for nb in np.nonzero(np.logical_not(ctr%inttimes))[0]: + for (a0,a1) in int_bin['baselines'][nb]: + b = mcnt+((xeng_id//Nx)*2) + pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] + sock.sendto(pkt, (udp_ip, udp_port)) + pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] + sock.sendto(pkt, (udp_ip, udp_port)) + pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] + sock.sendto(pkt, (udp_ip, udp_port)) + bcnt += 1 + ctr += 1 + int_bin = {} int_bin['baselines'] = {} @@ -22,8 +45,11 @@ for n in range(Nbins): int_bin['baselines'][n] = [] - int_bin['data'][n] = (2**n)*np.ones(1024) - int_bin['data'][n][1::2] = -1*(2**n) + int_bin['data'][n] = (2**n)*np.ones(1024, dtype=np.int32) + int_bin['data'][n][1::2] = -2*(2**n) + # convert to binary data for speedup + int_bin['data'][n] = np.array(int_bin['data'][n]).byteswap().tostring() + # Populate baseline pairs from config file bdaconfig = np.loadtxt('../bda_config.txt', dtype=np.int) @@ -33,27 +59,32 @@ for a in range(Na): int_bin['baselines'][0].append((a,a)) -sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +#threads = [] +#for xeng_id in range(16): +# t = threading.Thread(target=send_xeng, args=(xeng_id,)) +# threads.append(t) +# t.start() -bcnt = 0; mcnt = 0; ctr = 0 -offset = np.arange(3) +#xeng_id = 0 +#send_xeng(xeng_id) +bcnt = 0; mcnt = 0; ctr = 0; +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) while True: ctr += 2 mcnt = ctr for ns in np.logspace(0, Nbins-1, num=Nbins, base=2, dtype=np.int): if (ctr%ns == 0): print 'Sending: %d'%ns - nb = int(np.log(ns)/np.log(2)) + nb = int(np.log2(ns)) for (a0,a1) in int_bin['baselines'][nb]: for xeng_id in range(Nx*Nt): - pkt = struct.pack('>1Q2I4H1024i', mcnt+((xeng_id//Nx)*2), bcnt, 0, a0, a1, xeng_id, 4096, *int_bin['data'][nb]); + b = mcnt+((xeng_id//Nx)*2) + pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.000001) - pkt = struct.pack('>1Q2I4H1024i', mcnt+((xeng_id//Nx)*2), bcnt, 1, a0, a1, xeng_id, 4096, *int_bin['data'][nb]); + pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.000001) - pkt = struct.pack('>1Q2I4H1024i', mcnt+((xeng_id//Nx)*2), bcnt, 2, a0, a1, xeng_id, 4096, *int_bin['data'][nb]); + pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(0.000001) - bcnt += 1 + bcnt += 1 + From 4feab2b30af9d49a8ebfda8659f4e247650ca679 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 10 Jun 2019 23:17:30 -0700 Subject: [PATCH 189/420] Multithread baseline dependent averaging ... ... With a single thread processing BDA and output, the data rate is set by the 2s cadence of buffers from the GPU thread becoming available. To take advantage of the 16s cadence that can actually be achieved, BDA needs to be multithreaded. This commit buffers data until all baselines have 16s worth of computations, and an output thread that then sends this data over a larger time period. --- src/hera_bda_output_thread.c | 361 ++++++++++++++++++++++++++ src/hera_gpu_bda_thread.c | 486 +++++++++++++++++++++++++++++++++++ 2 files changed, 847 insertions(+) create mode 100644 src/hera_bda_output_thread.c create mode 100644 src/hera_gpu_bda_thread.c diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c new file mode 100644 index 00000000..5c175a5d --- /dev/null +++ b/src/hera_bda_output_thread.c @@ -0,0 +1,361 @@ +/* Output baseline dependent averaged + * data to the network for the catcher + * thread to accumulate. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +// Macros for generating values for the pkthdr_t fields +#define TIMESTAMP(x) (htobe64((uint64_t)(x))) +#define BASELINE_ID(x) (htobe32((uint32_t)(x))) +#define OFFSET(x) (htobe32((uint32_t)(x))) +#define XENG_ID(x) (htobe16((uint16_t)(x))) +#define PAYLOAD_LEN(x) (htobe16((uint16_t)(x))) +#define ANTENNA(x) (htobe16((uint16_t)(x))) + +#define CONVERT(x) (htobe32((x))) + +//#define PRINT_TEST + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + + +typedef int32_t pktdata_t; + +// Structure for packet header +typedef struct pkthdr { + uint64_t timestamp; + uint32_t baseline_id; + uint32_t offset; + uint16_t ant0; + uint16_t ant1; + uint16_t xeng_id; + uint16_t payload_len; +} pkthdr_t; + +// Structure of a packet +typedef struct struct_pkt { + pkthdr_t hdr; + pktdata_t data[OUTPUT_BYTES_PER_PACKET/sizeof(pktdata_t)]; +} pkt_t; + +// PACKET_DELAY_NS is number of nanoseconds to delay between packets. This is +// to prevent overflowing the network interface's TX queue. +// Keep in mind the total throughput of the network, and also the number +// of x-engine instances which will be running on each host. + +// Note that the below calculations account only for the packet's payload (i.e. +// it considers the size of the packet header to be negligible). +// +// 1000 megabit per second = 1 nanosecond per bit +// 100 megabit per second = 10 nanosecond per bit +// 10 megabit per second = 100 nanosecond per bit + +// 8 * OUTPUT_BYTES_PER_PACKET == 1 Gbps +// 4 * 8 * OUTPUT_BYTES_PER_PACKET == 0.25 Gbps + +// Set to 200 Mbps -- OK for two instances per node. +// With 16 nodes, amounts to 6.4 Gbps of data +#define PACKET_DELAY_NS (8 * OUTPUT_BYTES_PER_PACKET) + +// Open and connect a UDP socket to the given host and port. Note that port is +// a string and can be a stringified integer (e.g. "7148") or a service name +// (e.g. "ntp"). Returns -1 on error, otherwise a valid descriptor for an open +// and connected socket. +static int +open_udp_socket(const char *host, const char *port) +{ + struct addrinfo hints; + struct addrinfo *result, *rp; + int s, sfd=-1; + + // Obtain address(es) matching host/port + + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = 0; + hints.ai_protocol = 0; + + s = getaddrinfo(host, port, &hints, &result); + if (s != 0) { + hashpipe_error("getaddrinfo", gai_strerror(s)); + return -1; + } + + // getaddrinfo() returns a list of address structures. + // Try each address until we successfully connect(2). + // If socket(2) (or connect(2)) fails, we (close the socket + // and) try the next address. + + for (rp = result; rp != NULL; rp = rp->ai_next) { + sfd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); + + if (sfd == -1) { + continue; + } + + if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1) { + break; // Success + } + + close(sfd); + sfd = -1; + } + + freeaddrinfo(result); + +#ifdef PRINT_TEST + // Print send buffer size + int bufsize; + unsigned int bufsizesize = sizeof(bufsize); + getsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &bufsize, &bufsizesize); + printf("send buffer size is %d\n", bufsize); +#endif + + return sfd; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our input buffer happens to be a paper_ouput_databuf + hera_bda_databuf_t *db = (hera_bda_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // Setup socket and message structures + int sockfd; + unsigned int xengine_id = 0; + struct timespec packet_delay = { + .tv_sec = 0, + .tv_nsec = PACKET_DELAY_NS + }; + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "XID", &xengine_id); // No change if not found + hputu4(st.buf, "XID", xengine_id); + hputu4(st.buf, "OUTDUMPS", 0); + hashpipe_status_unlock_safe(&st); + + fprintf(stderr,"Opening socket, starting main loop..\n"); + + pkt_t pkt; + pkt.hdr.xeng_id = XENG_ID(xengine_id); + pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); + + // TODO Get catcher hostname and port from somewhere + +#define stringify2(x) #x +#define stringify(x) stringify2(x) + + // Open socket + sockfd = open_udp_socket("10.10.10.222",stringify(CATCHER_PORT)); //"catcher", stringify(CATCHER_PORT)); + if(sockfd == -1) { + hashpipe_error(__FUNCTION__, "error opening socket"); + pthread_exit(NULL); + } + +#ifdef TEST_INDEX_CALCS + int i, j; + off_t o; + for(i=0; i<32; i++) { + for(j=i; j<32; j++) { + regtile_index(2*i, 2*j); + } + } + for(i=0; i<32; i++) { + for(j=i; j<32; j++) { + o = baseline_index(2*i, 2*j, N_INPUTS); + fprintf(stdout, "%d, %d, %d, %ld\n", i, j, (int) o, + (long int)regtile_idx_map[o]); + } + } +#endif + + /* Main loop */ + int rv; + unsigned int dumps = 0; + int block_idx = 0; + struct timespec start, stop; + uint32_t nbytes = 0; + int chan; + unsigned long bl; + int i,j,p; + struct timespec pkt_start, pkt_stop; + int offset = 0; + uint16_t ant0, ant1; + int baseline_id = 0; + hera_bda_block_t *buf; + unsigned int n_samples; + uint64_t datoffset; + + while (run_threads()) { + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "waiting"); + hashpipe_status_unlock_safe(&st); + + // Wait for new block to be filled + while ((rv = hera_bda_databuf_wait_filled(db, block_idx)) + != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } + + clock_gettime(CLOCK_MONOTONIC, &start); + nbytes = 0; + + // Note processing status, current input block + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hputi4(st.buf, "OUTBLKIN", block_idx); + hputu4(st.buf, "OUTBCNT", baseline_id/N_BASELINES_BDA); + hashpipe_status_unlock_safe(&st); + + buf = &(db->block[block_idx]); + pktdata_t *p_out = pkt.data; + + /* -------------------------------------------- */ + /* Loop through baselines and send the packets */ + /* -------------------------------------------- */ + + for(j=0; jheader[j].baselines; bl++){ + ant0 = buf->header[j].ant_pair_0[bl]; // ordering set by config file + ant1 = buf->header[j].ant_pair_1[bl]; + pkt.hdr.ant1 = ANTENNA(ant1); + pkt.hdr.ant0 = ANTENNA(ant0); + + for(i=0; iheader[j].mcnt[i]); + offset = 0; + + for(chan=0; chandata[j][datoffset]), OUTPUT_BYTES_PER_PACKET); + for(p=0; pdata[j][datoffset+p]); + } + + int bytes_sent = send(sockfd, &pkt, sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET, 0); + nbytes += bytes_sent; + + if(bytes_sent == -1){ + // Send all packets even if catcher is not listening (i.e. we + // we get a connection refused error), but abort sending this + // dump if we get any other error. + if(errno != ECONNREFUSED){ + perror("send"); + // Update stats + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); + hputu4(st.buf, "OUTDUMPS", ++dumps); + hputr4(st.buf, "OUTSECS", 0.0); + hputr4(st.buf, "OUTMBPS", 0.0); + hashpipe_status_unlock_safe(&st); + // Break out of both for loops + goto done_sending; + } + }else if(bytes_sent != sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET) { + printf("only sent %d of %lu bytes!!!\n", bytes_sent, + sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET); + } + + // Delay to prevent overflowing network TX queue + clock_gettime(CLOCK_MONOTONIC, &pkt_stop); + packet_delay.tv_nsec = PACKET_DELAY_NS - ELAPSED_NS(pkt_start, pkt_stop); + if(packet_delay.tv_nsec > 0 && packet_delay.tv_nsec < 1000*1000*1000){ + nanosleep(&packet_delay, NULL); + } + + // Setup for next packet + p_out = pkt.data; + pkt_start = pkt_stop; + offset++; + } // chan + } // samples + } // baseline + } // end intbuf loop + + clock_gettime(CLOCK_MONOTONIC, &stop); + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); + hputu4(st.buf, "OUTDUMPS", ++dumps); + hputu4(st.buf, "OUTBYTES", nbytes); + hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); + hputr4(st.buf, "OUTMBPS", (1e3*8*nbytes)/ELAPSED_NS(start,stop)); + hashpipe_status_unlock_safe(&st); + +done_sending: + + // Mark block as free + hera_bda_databuf_set_free(db, block_idx); + + // Setup for next block + block_idx = (block_idx + 1) % db->header.n_block; + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + + // Thread success! + return NULL; +} + +static hashpipe_thread_desc_t bda_output_thread = { + name: "hera_bda_output_thread", + skey: "OUTSTAT", + init: NULL, + run: run, + ibuf_desc: {hera_bda_databuf_create}, + obuf_desc: {NULL} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&bda_output_thread); +} diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c new file mode 100644 index 00000000..4296ed18 --- /dev/null +++ b/src/hera_gpu_bda_thread.c @@ -0,0 +1,486 @@ +/* Takes the output from the GPU and + * averages over time for the shorter + * baselines according to a config file. + * Output is stored in CASPER ordered + * shared memory segments. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +#define LOG(x) ((uint32_t)(log((x))/log(2))) // yields msb loc +#define CHECK_PWR2(x) (!((x)&((x)-1))) + +//#define PRINT_TEST + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +typedef struct { + uint32_t baselines; + int *ant_pair_0; + int *ant_pair_1; +} bda_info_t; + +static XGPUInfo xgpu_info; +static bda_info_t binfo[N_BDABUF_BINS]; + +// Computes the triangular index of an (i,j) pair as shown here... +// NB: Output is valid only if i >= j. +// +// i=0 1 2 3 4.. +// +--------------- +// j=0 | 00 01 03 06 10 +// 1 | 02 04 07 11 +// 2 | 05 08 12 +// 3 | 09 13 +// 4 | 14 +// : +static inline off_t tri_index(const int i, const int j) +{ + return (i * (i+1))/2 + j; +} + +// regtile_chan_length is the number of complex cross products per channel for +// the xGPU register tile order correlator output format with N_INPUTS. +// NB: N_INPUTS = N_STATION * N_POL +#define REGTILE_CHAN_LENGTH (4 * 4 * N_INPUTS/4 * (N_INPUTS/4+1) / 2) +static inline size_t regtile_chan_length() +{ + // Four cross products for each quadrant of 4 input x 4 input tile + return REGTILE_CHAN_LENGTH; +} + +// Returns index into the GPU's register tile ordered output buffer for the +// real component of the cross product of inputs in0 and in1. Note that in0 +// and in1 are input indexes (i.e. 0 based) and often represent antenna and +// polarization by passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx +// and pol_idx are also 0 based). Return value is valid if in1 >= in0. The +// corresponding imaginary component is located xgpu_info.matLength words after +// the real component. +static off_t regtile_index(const int in0, const int in1) +{ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; + const int num_words_per_cell = 4; + + // Index within a quadrant + const int quadrant_index = tri_index(a1/2, a0/2); + // Quadrant for this input pair + const int quadrant = 2*(a0&1) + (a1&1); + // Size of quadrant + const int quadrant_size = (xgpu_info.nstation/2 + 1) * xgpu_info.nstation/4; + // Index of cell (in units of cells) + const int cell_index = quadrant*quadrant_size + quadrant_index; + //printf("%s: in0=%d, in1=%d, a0=%d, a1=%d, cell_index=%d\n", __FUNCTION__, in0, in1, a0, a1, cell_index); + // Pol offset + const int pol_offset = 2*p1 + p0; + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; +} + +// Returns index into a CASPER ordered buffer for the real component of the +// cross product of inputs in0 and in1. Note that in0 and in1 are input +// indexes (i.e. 0 based) and often represent antenna and polarization by +// passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx ad pol_idx are +// also 0 based). Return value is valid if in1 >= in0. The corresponding +// imaginary component is located in the word immediately following the real +// component. A casper ordered buffer consists of four complex values for each +// pair of input pairs. Thus, the number of complex values in a casper ordered +// buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) + +// For integration buffers, change the ordering to baselines x channels x stokes +// to make it easier to send the packets after integration. + +/* Each baseline (i.e, ant pair) needs a unique index for encoding the + * baseline both while packetization and while building the integration + * buffers. The baseline index function below is an adaption of the + * CASPER index without accounting for the size of each cell or the + * stokes parameters. + */ + +/* The integration buffer location for each baseline is obtained by + * multiplying the baseline_index with: + * (words_per_cell = 8) * (num_chan_per_x = 384) + * Pol offset = 2* (2*(p0^p1) + p0) + */ +static int baseline_index(const int in0, const int in1, const int n) +{ + const int a0 = in0 >> 1; + const int a1 = in1 >> 1; + const int delta = a1-a0; + const int nant_2 = (n/2) / 2; + + // Three cases: top triangle, middle rectangle, bottom triangle + const int triangle_size = ((nant_2 + 1) * nant_2)/2; + const int middle_rect_offset = triangle_size; + const int last_cell_offset = 4*middle_rect_offset - nant_2 - 1; + int cell_index; + + if(delta > nant_2) { + // bottom triangle + cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1); + } else if (a1 < (n/2)/2) { + // top triangle + cell_index = tri_index(a1, a0); + } else { + // middle rectangle + cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); + } + + return cell_index; +} + +// Redefine casper ordering to place channels next to each other (since +// buffers are packetized this way. Thus, the number of complex values +// per baselines are: 4 stokes * N_CHAN_PER_X +// Total buffersize: 4 * N_CHAN_PER_X * (N/2 * (N/2 + 1)) / 2 +#define N_CASPER_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) + +// Lookup table mapping baseline_idx to regtile_idx +static off_t *regtile_idx_map; + +static int init_idx_map() +{ + int a0, a1; + regtile_idx_map = (off_t *)malloc(N_BASELINES * sizeof(off_t)); + if(!regtile_idx_map) { + return -1; + } + + for(a0=0; a0=N_BDABUF_BINS) bin=N_BDABUF_BINS-1; + binfo[bin].ant_pair_0[blctr[bin]] = a0; + binfo[bin].ant_pair_1[blctr[bin]++] = a1; + //fprintf(stderr,"Bin: %d Ctr: %d\n", bin, blctr[bin]); + } + fclose(fp); + + // Include the autos + for(a0=0;a0header[j].baselines = binfo[j].baselines; +#ifdef PRINT_TEST + fprintf(stderr, "init_bda_block_header(): Bin: %d Baselines: %ld\n", j, bdablk->header[j].baselines); +#endif + for(i=0; iheader[j].ant_pair_0[i] = binfo[j].ant_pair_0[i]; + bdablk->header[j].ant_pair_1[i] = binfo[j].ant_pair_1[i]; + } + bdablk->header[j].sample = 0; + bdablk->header[j].datsize = N_MAX_INTTIME/(1<header[j].baselines * N_COMPLEX_PER_BASELINE * 2 * sizeof(uint32_t); + } + + return 0; +} + +static int init(struct hashpipe_thread_args *args) +{ + // Get sizing parameters + xgpuInfo(&xgpu_info); + //bytes_per_dump = xgpu_info.triLength * sizeof(Complex); + //packets_per_dump = bytes_per_dump / OUTPUT_BYTES_PER_PACKET; + //printf("bytes_per_dump = %lu\n", bytes_per_dump); + + if(init_idx_map()) { + return -1; + } + + // Initialize binfo with config file params + init_bda_info(binfo); + + // Allocate memory to the output data blocks based on the config file + int blk_id,j; + hera_bda_databuf_t *odb = (hera_bda_databuf_t *)args->obuf; + hera_bda_block_t *buf; + + for(blk_id=0; blk_id < odb->header.n_block; blk_id++){ + for(j=0; jblock[blk_id]); + buf->header[j].ant_pair_0 = (int *) malloc(binfo[j].baselines * sizeof(int)); + buf->header[j].ant_pair_1 = (int *) malloc(binfo[j].baselines * sizeof(int)); + } + + init_bda_block_header(buf); + + //for(j=0; jheader[j].baselines, + // buf->header[j].datsize); + //} + + for(j=0; jdata[j] = malloc(buf->header[j].datsize); + if(!buf->data[j]) + return -1; + memset(buf->data[j], 0, buf->header[j].datsize); + } + } + + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our input buffer happens to be a paper_ouput_databuf + paper_output_databuf_t *idb = (paper_output_databuf_t *)args->ibuf; + hera_bda_databuf_t *odb = (hera_bda_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char *status_key = args->thread_desc->skey; + + fprintf(stderr,"Initializing BDA buffers..\n"); + + /* Main loop */ + int rv; + uint64_t total_baselines = 0; + int curblock_in = 0; + int curblock_out = 0; + struct timespec start, stop; + int casper_chan, gpu_chan; + uint64_t bl; + int j,pol; + unsigned long long datoffset = 0; + uint16_t ant0, ant1; + unsigned long long idx_baseline; + off_t idx_regtile; + hera_bda_block_t *buf; + int32_t re, im; //pktdata_t is 32bits + static uint64_t sample = 0; + uint16_t sample_loc; + + for(j=0; jblock[curblock_out])); + for(j=0; jblock[curblock_out].data[j], 0, odb->block[curblock_out].header[j].datsize); + } + + clock_gettime(CLOCK_MONOTONIC, &start); + + #ifdef PRINT_TEST + fprintf(stderr,"Sample: %ld\t GPU Block In: %d\t BDA Block Out: %d\n", + sample, curblock_in, curblock_out); + #endif + + // Note processing status, current input block + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hputi4(st.buf, "BDABLKIN", curblock_in); + hputi4(st.buf, "BDABLKOUT", curblock_out); + hashpipe_status_unlock_safe(&st); + + /* -------------------------------------------------- */ + /* Loop through baselines and add/buffer the packets */ + /* -------------------------------------------------- */ + + buf = &(odb->block[curblock_out]); + int32_t *pf_re = idb->block[curblock_in].data; + int32_t *pf_im = idb->block[curblock_in].data + xgpu_info.matLength; + + for(j=0; jheader[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; + + for(bl=0; bl< buf->header[j].baselines; bl++){ + //fprintf(stderr,"Bin:%d, 2**j:%d\n",j,(1<header[j].ant_pair_0[bl]; + ant1 = buf->header[j].ant_pair_1[bl]; + idx_baseline = baseline_index(2*ant0, 2*ant1, N_INPUTS); + idx_regtile = regtile_idx_map[idx_baseline]; + + for(casper_chan=0; casper_chandata[j][datoffset] += re; + buf->data[j][datoffset+1] += -im; + //fprintf(stderr,"Offset: %lld\tReal:%d\tImag:%d\n",datoffset,buf->data[j][datoffset],buf->data[j][datoffset+1]); + } + //fprintf(stderr,"bl:%ld\tchan:%d\toffset:%lld\n",bl,casper_chan,datoffset); + } + + #ifdef PRINT_TEST + //fprintf(stderr,"bl:%ld\toffset:%lld\n",bl,datoffset); + #endif + } + + } // intbuf + + sample++; + + clock_gettime(CLOCK_MONOTONIC, &stop); + + hashpipe_status_lock_safe(&st); + hputu4(st.buf, "BDASAMP", sample); + hputr4(st.buf, "BDASECS", (float)ELAPSED_NS(start,stop)/1e9); + hputr4(st.buf, "BDAMBPS", (float)(total_baselines*N_CHAN_PER_X*N_STOKES*8*1e3)/ELAPSED_NS(start,stop)); + hashpipe_status_unlock_safe(&st); + + // Mark input databuf as free and advance + paper_output_databuf_set_free(idb, curblock_in); + curblock_in = (curblock_in + 1) % idb->header.n_block; + + if(sample%N_MAX_INTTIME == 0){ + // Mark output databuf as filled as advance + hera_bda_databuf_set_filled(odb, curblock_out); + curblock_out = (curblock_out + 1) % odb->header.n_block; + } + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + + // Thread success! + return NULL; +} + +static hashpipe_thread_desc_t gpu_bda_thread = { + name: "hera_gpu_bda_thread", + skey: "BDASTAT", + init: init, + run: run, + ibuf_desc: {paper_output_databuf_create}, + obuf_desc: {hera_bda_databuf_create} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&gpu_bda_thread); +} + From 0ea7f8563a2704fbf57b7cfb5c0ee3ce418ae4d1 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 10 Jun 2019 23:21:25 -0700 Subject: [PATCH 190/420] improved debugging statements --- src/hera_gpu_output_thread.c | 79 ++++++++++++++++++++++++++++++------ 1 file changed, 67 insertions(+), 12 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 5b422fd6..52e09b97 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -23,7 +23,7 @@ #include "hashpipe.h" #include "paper_databuf.h" -#define LOG(x) ((int)(log((x))/log(2))) // yields msb loc +#define LOG(x) ((uint32_t)(log((x))/log(2))) // yields msb loc #define CHECK_PWR2(x) (!((x)&((x)-1))) // Macros for generating values for the pkthdr_t fields @@ -36,6 +36,8 @@ #define CONVERT(x) (htobe32((x))) +//#define PRINT_TEST + typedef int32_t pktdata_t; static XGPUInfo xgpu_info; @@ -70,7 +72,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (4 * 8*OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (4 * 8 * OUTPUT_BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; @@ -124,7 +126,7 @@ open_udp_socket(const char *host, const char *port) freeaddrinfo(result); -#if 0 +#ifdef PRINT_TEST // Print send buffer size int bufsize; unsigned int bufsizesize = sizeof(bufsize); @@ -293,9 +295,12 @@ static int init_buffer(hera_bda_buf_t *bdabuf) // Load baseline averaging params from config file FILE *fp; int j, bin, a0, a1, inttime; - unsigned long ctr[N_BDA_BINS] = {0,0,0,0,0}; + unsigned long long ctr[N_BDA_BINS] = {0,0,0,0,0}; hera_int_bin_buf_t *intbuf; + for(j=0;jbaselines_per_bin[j] = 0; + } // count baselines in each bin if((fp=fopen("bda_config.txt","r")) == NULL){ printf("Cannot open the configuration file.\n"); @@ -306,11 +311,27 @@ static int init_buffer(hera_bda_buf_t *bdabuf) printf("(%d,%d): Samples to integrate not power of 2!\n",a0,a1); exit(1); } - bdabuf->baselines_per_bin[LOG(inttime)]++; + bdabuf->baselines_per_bin[LOG(inttime)]+=1; + //switch(inttime){ + // case 1: bdabuf->baselines_per_bin[0]++; break; + // case 2: bdabuf->baselines_per_bin[1]++; break; + // case 4: bdabuf->baselines_per_bin[2]++; break; + // case 8: bdabuf->baselines_per_bin[3]++; break; + // case 16: bdabuf->baselines_per_bin[4]++; break; + // default: printf("(%d,%d): Samples to integrate not power of 2!\n",a0,a1); exit(1); + //} } // Include autos for the no-integration baselines - bdabuf->baselines_per_bin[0] += N_ANTS; + bdabuf->baselines_per_bin[0] += N_ANTS; + +#ifdef PRINT_TEST + fprintf(stderr,"Finished loading config file. Allocating memory..\n"); + + for(j=0; jbaselines_per_bin[j]); + } +#endif // malloc for storing ant pairs for(j=0; jdata, 0, intbuf->header.datsize); } + + for(j=1;jbaselines_per_bin[j], + bdabuf->buf[j].header.datsize); + } + return 1; } @@ -356,12 +384,15 @@ return 1; static void *run(hashpipe_thread_args_t * args) { + // Local aliases to shorten access to args fields // Our input buffer happens to be a paper_ouput_databuf paper_output_databuf_t *db = (paper_output_databuf_t *)args->ibuf; hashpipe_status_t st = args->st; const char * status_key = args->thread_desc->skey; + fprintf(stderr,"Initializing BDA buffers..\n"); + // Initialize buffers to store averaged baselines hera_bda_buf_t bdabuf; init_buffer(&bdabuf); @@ -380,6 +411,8 @@ static void *run(hashpipe_thread_args_t * args) hputu4(st.buf, "OUTDUMPS", 0); hashpipe_status_unlock_safe(&st); + fprintf(stderr,"Opening socket, starting main loop..\n"); + pkt_t pkt; pkt.hdr.xeng_id = XENG_ID(xengine_id); pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); @@ -390,7 +423,7 @@ static void *run(hashpipe_thread_args_t * args) #define stringify(x) stringify2(x) // Open socket - sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); + sockfd = open_udp_socket("10.10.10.222",stringify(CATCHER_PORT)); //"catcher", stringify(CATCHER_PORT)); if(sockfd == -1) { hashpipe_error(__FUNCTION__, "error opening socket"); pthread_exit(NULL); @@ -415,23 +448,28 @@ static void *run(hashpipe_thread_args_t * args) /* Main loop */ int rv; - int casper_chan, gpu_chan; - unsigned long bl; - int j,pol; unsigned int dumps = 0; int block_idx = 0; struct timespec start, stop; + uint32_t nbytes = 0; + int casper_chan, gpu_chan; + unsigned long bl; + int j,pol; struct timespec pkt_start, pkt_stop; pktdata_t re, im; //pktdata_t is 32bits - uint32_t nbytes = 0; int offset = 0; unsigned long long datoffset = 0; uint16_t ant0, ant1; unsigned long long idx_baseline; - int baseline_id; + int baseline_id = 0; off_t idx_regtile; hera_int_bin_buf_t *intbuf; +#ifdef PRINT_TEST + fprintf(stderr,"Number of antennas:%d\n",N_ANTS); + fprintf(stderr,"Number of channels per X-Eng: %d\n",N_CHAN_PER_X); +#endif + while (run_threads()) { hashpipe_status_lock_safe(&st); @@ -472,10 +510,18 @@ static void *run(hashpipe_thread_args_t * args) /* ------------------------------------------------ */ for(j=0; jheader.mcnt = db->block[block_idx].header.mcnt; if (bdabuf.send[j]){ + +#ifdef PRINT_TEST + fprintf(stderr,"Sending buffer: %d\n", j); +#endif + pkt.hdr.timestamp = TIMESTAMP(intbuf->header.mcnt); offset = 0; nbytes = 0; p_out = pkt.data; @@ -558,6 +604,10 @@ static void *run(hashpipe_thread_args_t * args) memset(intbuf->data, 0, intbuf->header.datsize); }else{ + +#ifdef PRINT_TEST + fprintf(stderr,"Copying buffer: %d\n", j); +#endif for(bl=0; bldata[datoffset] += re; intbuf->data[datoffset+1] += -im; } + //fprintf(stderr,"bl:%ld\tchan:%d\toffset:%lld\n",bl,casper_chan,datoffset); } + +#ifdef PRINT_TEST + fprintf(stderr,"bl:%ld\toffset:%lld\n",bl,datoffset); +#endif } intbuf->header.sam += 1; From 628b9a3f2b8d31fdb7e4068295eaf10cadaf76f1 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 10 Jun 2019 23:27:22 -0700 Subject: [PATCH 191/420] check packet ordering for BDA stuff --- src/scripts/hera_check_catcher_bda.py | 79 +++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/scripts/hera_check_catcher_bda.py diff --git a/src/scripts/hera_check_catcher_bda.py b/src/scripts/hera_check_catcher_bda.py new file mode 100644 index 00000000..2232a330 --- /dev/null +++ b/src/scripts/hera_check_catcher_bda.py @@ -0,0 +1,79 @@ +# BDA +# Check packet structure and contents in test mode + +import numpy as np +import struct +import socket +import argparse + +Nbins = 5 # number of diff integration bins +Na = 352 # antennas +N_bl_per_block = 16384 # baselines within each block + +parser = argparse.ArgumentParser(description='Test packet format and contents for BDA', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + +parser.add_argument('--host', type=str, default="127.0.0.1", + help='Host to capture data') +parser.add_argument('-p', dest='port', type=int, default=10000, + help='Host port to receive data') +parser.add_argument('-n', dest='n_inputs', type=int, default=704, + help='Nant*Npol that xGPU has been configured') +parser.add_argument('-v', dest='verbose', action='store_true', default=False, + help='Print some contents of each packet') +parser.add_argument('-c', dest='check', action='store_true', default=False, + help='Check the packet contents') + +args = parser.parse_args() + +# mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len +def decode_packet(packet): + p = struct.unpack('>1Q2I4H1024i', packet) + time, bcnt, offset, ant0, ant1, xeng_id, payload_len = p[0:7] + data = np.asarray(p[7:]) + return time, bcnt, offset, ant0, ant1, xeng_id, payload_len, data + +int_bin = {} +int_bin['baselines'] = {} +int_bin['data'] = {} + +for n in range(Nbins): + int_bin['baselines'][n] = [] + int_bin['data'][n] = (2**n)*np.ones(1024) + int_bin['data'][n][1::2] = -2*(2**n) + +# 32 sec integrations are only 16sec now +int_bin['data'][4] = (2**3)*np.ones(1024) +int_bin['data'][4][1::2] = -2*(2**3) + +bdaconfig = np.loadtxt('../bda_config.txt', dtype=np.int) +for i,t in enumerate(bdaconfig[:,2]): + n = int(np.log(t)/np.log(2)) + int_bin['baselines'][n].append((bdaconfig[i,0], bdaconfig[i,1])) +for a in range(Na): + int_bin['baselines'][0].append((a,a)) + + +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +sock.bind((args.host, args.port)) + +errors = 0 +packets = 0 + +while True: + try: + pkt, addr = sock.recvfrom(4120) # buffer size is 1024 bytes + packets += 1 + t,b,o,a0,a1,x,l,data = decode_packet(pkt) + if args.verbose: + print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//16384, b%16384, o, a0, a1, x), data[:8] + if args.check: + n = [y for y,v in int_bin['baselines'].items() if (a0,a1) in v][0] + if not (np.all(data == int_bin['data'][n])): + print "Error!", int_bin['data'][n][:8], o, n, data[:8] + errors += 1 + except(KeyboardInterrupt): + print("") + print("Total number of packets captured: %d"%packets) + print("Total number of errors: %d"%errors) + break From c13c25ef7ae36b9adad04efd59829e812cfd9bd5 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 10 Jun 2019 23:28:03 -0700 Subject: [PATCH 192/420] databuf changes for multithreaded BDA buffers --- src/paper_databuf.c | 30 ++++++++++ src/paper_databuf.h | 132 +++++++++++++++++++++++++++++++++----------- 2 files changed, 131 insertions(+), 31 deletions(-) diff --git a/src/paper_databuf.c b/src/paper_databuf.c index ce9ed424..13cece11 100644 --- a/src/paper_databuf.c +++ b/src/paper_databuf.c @@ -229,6 +229,15 @@ hashpipe_databuf_t *paper_gpu_input_databuf_create(int instance_id, int databuf_ hashpipe_databuf_t *paper_output_databuf_create(int instance_id, int databuf_id) { +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + /* Calc databuf sizes */ size_t header_size = sizeof(hashpipe_databuf_t) + sizeof(hashpipe_databuf_cache_alignment); @@ -238,3 +247,24 @@ hashpipe_databuf_t *paper_output_databuf_create(int instance_id, int databuf_id) return hashpipe_databuf_create( instance_id, databuf_id, header_size, block_size, n_block); } + +hashpipe_databuf_t *hera_bda_databuf_create(int instance_id, int databuf_id) +{ +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + + /* Calc databuf sizes */ + size_t header_size = sizeof(hashpipe_databuf_t) + + sizeof(hashpipe_databuf_cache_alignment); + size_t block_size = sizeof(hera_bda_block_t); + int n_block = N_BDABUF_BLOCKS; + + return hashpipe_databuf_create( + instance_id, databuf_id, header_size, block_size, n_block); +} diff --git a/src/paper_databuf.h b/src/paper_databuf.h index cc0adcb8..84721f18 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -232,7 +232,7 @@ typedef struct paper_gpu_input_databuf { typedef struct paper_output_header { uint64_t mcnt; - uint64_t flags[(N_CHAN_PER_X+63)/64]; + uint64_t flags[(N_CHAN_PER_X+63) /64]; } paper_output_header_t; typedef uint8_t paper_output_header_cache_alignment[ @@ -256,42 +256,46 @@ typedef struct paper_output_databuf { */ #define N_BASELINES (N_ANTS * (N_ANTS + 1)/2) -#define N_CROSSPRODS (N_ANTS * (N_ANTS - 1)/2) #define N_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) -#define N_BDA_BINS 5 +#define N_BASELINES_BDA (8*387 + 4*1533 + 2*7168 + 21571 + 30768) // (((N_ANTS-2)*(N_ANTS-1)/2) + 2) + +#define N_BDABUF_BLOCKS 2 +#define N_BDABUF_BINS 4 +#define N_MAX_INTTIME 8 // The longest baselines are collected for 8 time samples // integration bin indexing -#define hera_int_bin_buf_data_idx(b, c, p) \ - ((((b) * N_CHAN_PER_X * N_STOKES) + ((c) * N_STOKES) + (p)) * 2) +#define hera_bda_buf_data_idx(l, s, b, c, p) \ + ((((l)*(b)*N_CHAN_PER_X*N_STOKES)+((s)*N_CHAN_PER_X*N_STOKES)+((c)*N_STOKES)+(p))*2) typedef struct hera_bda_header{ - uint64_t mcnt; // mcnt of the first time sample in the data - int sam; - int totsam; // number of time samples to be added (from config file) - unsigned long long datsize; // size of buffer (from no. baselines) + uint64_t mcnt[8]; // mcnt of the first time sample in the data + uint64_t datsize; // size of buffer (from no. baselines) + int sample; + uint64_t baselines; + int *ant_pair_0; + int *ant_pair_1; } hera_bda_header_t; typedef uint8_t hera_bda_header_cache_alignment[ CACHE_ALIGNMENT - (sizeof(hera_bda_header_t)%CACHE_ALIGNMENT) ]; -typedef struct hera_int_bin_buf{ - hera_bda_header_t header; +typedef struct hera_bda_block{ + hera_bda_header_t header[N_BDABUF_BINS]; hera_bda_header_cache_alignment padding; - uint32_t *data; -} hera_int_bin_buf_t; + uint32_t *data[N_BDABUF_BINS]; +} hera_bda_block_t; + +typedef struct hera_bda_databuf{ + hashpipe_databuf_t header; + hashpipe_databuf_cache_alignment padding; + hera_bda_block_t block[N_BDABUF_BLOCKS]; +} hera_bda_databuf_t; -typedef struct hera_bda_buf{ - int *ant_pair_0[N_BDA_BINS]; - int *ant_pair_1[N_BDA_BINS]; - unsigned long int baselines_per_bin[N_BDA_BINS]; - char send[N_BDA_BINS]; // 0 - don't packetize, 1 - ready for sending - hera_int_bin_buf_t buf[N_BDA_BINS]; -} hera_bda_buf_t; /* - * CATCHER BUFFER STRUCTURES + * CATCHER BUFFER STRUCTURES */ #define CATCHER_N_BLOCKS 4 @@ -300,14 +304,18 @@ typedef struct hera_bda_buf{ #define OUTPUT_BYTES_PER_PACKET (4096) #define CATCHER_CHAN_SUM 1 #define N_STOKES 4 -#define BASELINES_PER_BLOCK 16384 +#define BASELINES_PER_BLOCK 4096 + +#define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 +#define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 +#define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) // 3 +#define PACKETS_PER_BLOCK (BASELINES_PER_BLOCK * TIME_DEMUX * PACKETS_PER_BASELINE) // 1572864 -#define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) -#define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) -#define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) -#define PACKETS_PER_BLOCK (BASELINES_PER_BLOCK * TIME_DEMUX * PACKETS_PER_BASELINE) +#define BYTES_PER_BLOCK (PACKETS_PER_BLOCK * OUTPUT_BYTES_PER_PACKET) // 6GB + +#define hera_bda_buf_data_offset(l, s, b, o) \ + ((((l)*(b)*N_CHAN_PER_X*N_STOKES)+((s)*N_CHAN_PER_X*N_STOKES)+((o)*CHAN_PER_CATCHER_PKT*N_STOKES))*2) -#define BYTES_PER_BLOCK (PACKETS_PER_BLOCK * OUTPUT_BYTES_PER_PACKET) //entries_per_block = (BASELINES_PER_BLOCK * N_CHAN_TOTAL * TIME_DEMUX * N_STOKES) @@ -334,7 +342,7 @@ typedef struct hera_bda_buf{ typedef struct hera_catcher_input_header{ uint64_t good_data; - uint64_t bcnt; // starting value of baseline_id for this block + uint32_t bcnt[BASELINES_PER_BLOCK]; // starting value of baseline_id for this block uint64_t mcnt[BASELINES_PER_BLOCK]; // times are diff for each baseline uint16_t ant_pair_0[BASELINES_PER_BLOCK]; // list of antennas in this block uint16_t ant_pair_1[BASELINES_PER_BLOCK]; @@ -357,9 +365,10 @@ typedef struct hera_catcher_input_databuf { hera_catcher_input_block_t block[CATCHER_N_BLOCKS]; } hera_catcher_input_databuf_t; -//#define XENG_CHAN_SUM 4 -//#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) -//#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) +#define XENG_CHAN_SUM 1 +#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) +#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) + //#define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) /* @@ -511,6 +520,67 @@ static inline int paper_gpu_input_databuf_set_filled(paper_gpu_input_databuf_t * return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); } +/* + * BASELINE DEPENDENT AVERAGING BUFFER FUNCTIONS + */ + +hashpipe_databuf_t *hera_bda_databuf_create(int instance_id, int databuf_id); + +static inline void hera_bda_databuf_clear(hera_bda_databuf_t *d) +{ + hashpipe_databuf_clear((hashpipe_databuf_t *)d); +} + +static inline hera_bda_databuf_t *hera_bda_databuf_attach(int instance_id, int databuf_id) +{ + return (hera_bda_databuf_t *)hashpipe_databuf_attach(instance_id, databuf_id); +} + +static inline int hera_bda_databuf_detach(hera_bda_databuf_t *d) +{ + return hashpipe_databuf_detach((hashpipe_databuf_t *)d); +} + +static inline int hera_bda_databuf_block_status(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_block_status((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_bda_databuf_total_status(hera_bda_databuf_t *d) +{ + return hashpipe_databuf_total_status((hashpipe_databuf_t *)d); +} + +static inline int hera_bda_databuf_wait_free(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_wait_free((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_bda_databuf_busywait_free(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_busywait_free((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_bda_databuf_wait_filled(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_wait_filled((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_bda_databuf_busywait_filled(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_busywait_filled((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_bda_databuf_set_free(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_set_free((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_bda_databuf_set_filled(hera_bda_databuf_t *d, int block_id) +{ + return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); +} + /* * OUTPUT BUFFER FUNCTIONS */ From 906989b48c70aa094ee8073715847de5f63bfec6 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 12 Jun 2019 17:22:51 -0700 Subject: [PATCH 193/420] Make fluff multithreaded --- src/paper_fluff.c | 45 +++++++++++++++++++++++++++++++++++++-- src/paper_fluff.h | 2 +- src/scripts/paper_init.sh | 8 +++---- src/scripts/xtor_up.py | 2 +- 4 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/paper_fluff.c b/src/paper_fluff.c index c44fd9d8..d555a477 100644 --- a/src/paper_fluff.c +++ b/src/paper_fluff.c @@ -34,11 +34,25 @@ typedef union { * This code isn't generic anymore, it assumes that Nt = 2. Sometimes the variable Nt is used to provide * hints about what might need changing for different Nt values. */ -int paper_fluff(const uint64_t const * const in, uint64_t * out) + +struct data { + uint64_t * in; + uint64_t * out; + int n_threads; + int thread_id; +}; + +void paper_fluff_threaded(void *args) { //uint64_t v0, v1, v2, v3; //vec_t in0, in1, in2, in3; //vec_t v0, v1, v2, v3; + struct data *d = args; + uint64_t *in = d->in; + uint64_t *out = d->out; + int n_threads = d->n_threads; + int thread_id = d->thread_id; + int m, c, a, j, k, nn, mm, wa, wc, rn, i; __m256i int0, int1, int2, int3, outx, outy; @@ -73,7 +87,7 @@ int paper_fluff(const uint64_t const * const in, uint64_t * out) */ // First loop is over time/4 (i.e., mcounts in steps of 2) - for(m=0; m> 3; +} + + +#define N_THREADS 2 +int paper_fluff(uint64_t * in, uint64_t * out) +{ + int i; + struct data args[N_THREADS]; + pthread_t threads[N_THREADS]; + + for (i=0; i> 3; } diff --git a/src/paper_fluff.h b/src/paper_fluff.h index 10635078..5bc4f6d3 100644 --- a/src/paper_fluff.h +++ b/src/paper_fluff.h @@ -1,6 +1,6 @@ #include "paper_databuf.h" -int paper_fluff(const uint64_t const * const in, uint64_t * out); +int paper_fluff(uint64_t * in, uint64_t * out); int paper_fluff_lut(const uint64_t const * const in, uint64_t * out); diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index 5e5f2201..52227492 100755 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -133,8 +133,8 @@ case ${hostname} in instances=( # GPU NET FLF GPU OUT # mask bind_host DEV XID CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 1 2 3" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 9 10 11" # Instance 1, eth5 + "0x00ff eth3 0 $xid0 0 0x0006 3 4" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 8 0x0600 9 12" # Instance 1, eth5 );; *) @@ -172,7 +172,7 @@ function init() { -o GPUDEV=$gpudev \ -o XID=$xid \ -c $netcpu hera_pktsock_thread \ - -c $flfcpu paper_fluff_thread \ + -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread @@ -182,7 +182,7 @@ function init() { -o GPUDEV=$gpudev \ -o XID=$xid \ -c $netcpu hera_pktsock_thread \ - -c $flfcpu paper_fluff_thread \ + -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread \ < /dev/null \ diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 1df384ba..3eb53471 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -56,7 +56,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([host], ['taskset', cpu_masks[i], 'hashpipe_redis_gateway.rb', '-g', host, '-i', '%d'%i]) # Wait for the gateways to come up -time.sleep(1) +time.sleep(5) # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): From c6f00fb86bf0384b5d1da0887ab80fc043377d2c Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 13 Jun 2019 00:47:31 +0000 Subject: [PATCH 194/420] Manual merge of ibv version --- src/scripts/xtor_up.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 3eb53471..3ddc0168 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -7,6 +7,7 @@ perf_tweaker = 'tweak-perf.sh' paper_init = 'paper_init.sh' +paper_init_ibv = 'paper_init_ibv.sh' def run_on_hosts(hosts, cmd, user=None, wait=True): if isinstance(cmd, str): @@ -32,6 +33,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Number of pipeline instances per host') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) +parser.add_argument('--ibverbs', dest='ibverbs', action='store_true', default=False, + help='Use the IB Verbs netthread. Experimental!') args = parser.parse_args() hosts = args.hosts # Too lazy to keey typing this @@ -47,7 +50,10 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts(hosts, perf_tweaker, user='root', wait=True) # Start X-Engines -run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host +if args.ibverbs: + run_on_hosts(hosts, [paper_init_ibv, '0', '1'], wait=True) # two instances per host +else: + run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host # Start hashpipe<->redis gateways cpu_masks = ['0x0080', '0x8000'] @@ -56,7 +62,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([host], ['taskset', cpu_masks[i], 'hashpipe_redis_gateway.rb', '-g', host, '-i', '%d'%i]) # Wait for the gateways to come up -time.sleep(5) +time.sleep(3) # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): From d4f67f4808dae2dbb5fbfd189e19c43658b76e82 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 13 Jun 2019 01:14:43 +0000 Subject: [PATCH 195/420] Make fluff CPU use affinity mask --- src/scripts/paper_init_ibv.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/scripts/paper_init_ibv.sh b/src/scripts/paper_init_ibv.sh index 93216dd5..c5d698fc 100755 --- a/src/scripts/paper_init_ibv.sh +++ b/src/scripts/paper_init_ibv.sh @@ -133,8 +133,8 @@ case ${hostname} in instances=( # GPU NET FLF GPU OUT # mask bind_host DEV XID CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 1 2 3" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 9 10 11 12" # Instance 1, eth5 + "0x00ff eth3 0 $xid0 0 0x0006 3 4" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 8 0x0600 9 12" # Instance 1, eth5 );; *) @@ -172,7 +172,7 @@ function init() { -o GPUDEV=$gpudev \ -o XID=$xid \ -c $netcpu hera_ibv_thread \ - -c $flfcpu paper_fluff_thread \ + -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread @@ -182,7 +182,7 @@ function init() { -o GPUDEV=$gpudev \ -o XID=$xid \ -c $netcpu hera_ibv_thread \ - -c $flfcpu paper_fluff_thread \ + -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread \ < /dev/null \ From d541fafee389ca31ed07ab29feec6fb7be48b44c Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 13 Jun 2019 01:15:09 +0000 Subject: [PATCH 196/420] Create IBV rules from dest port, not source port --- src/hera_ibv_thread.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/hera_ibv_thread.c b/src/hera_ibv_thread.c index 63de1efb..91672dbd 100644 --- a/src/hera_ibv_thread.c +++ b/src/hera_ibv_thread.c @@ -602,9 +602,11 @@ static void *run(hashpipe_thread_args_t * args) struct hashpipe_ibv_recv_pkt * hibv_rpkt; struct hashpipe_ibv_recv_pkt * curr_rpkt; char ifname[IFNAMSIZ]; + int bindport; hashpipe_status_lock_safe(&st); hgets(st.buf, "BINDHOST", IFNAMSIZ, ifname); + hgeti4(st.buf, "BINDPORT", &bindport); hashpipe_status_unlock_safe(&st); strncpy(hibv_ctx.interface_name, ifname, IFNAMSIZ); @@ -622,10 +624,8 @@ static void *run(hashpipe_thread_args_t * args) printf("max_qp_wr=%u\n", hibv_ctx.dev_attr.max_qp_wr); // Subscribe to RX flows - int src_port = 8511; - printf("udp ucast flow\n"); if(hashpipe_ibv_flow(&hibv_ctx, 0, IBV_FLOW_SPEC_UDP, - hibv_ctx.mac, NULL, 0, 0, 0, 0, src_port, 0)) { + hibv_ctx.mac, NULL, 0, 0, 0, 0, 0, bindport)) { hashpipe_error(__FUNCTION__, "Failed to configure IBV flow rule"); } @@ -696,7 +696,6 @@ static void *run(hashpipe_thread_args_t * args) initialize_block(db, N_TIME_PER_BLOCK*TIME_DEMUX + time_index); /* Read network params */ - int bindport = 8511; // (N_BYTES_PER_PACKET excludes header, so +8 for the header) size_t expected_packet_size = N_BYTES_PER_PACKET + 8 + UDP_PAYLOAD_OFFSET; // Inc. Eth/IP/UDP headers From 1a3dc6c1e5e3547d8fe3f0d8d039470452ddd8b6 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 12 Jun 2019 18:28:19 +0000 Subject: [PATCH 197/420] Fix double use of cores --- src/scripts/paper_init.sh | 2 +- src/scripts/paper_init_ibv.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index 52227492..a61892bb 100755 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -134,7 +134,7 @@ case ${hostname} in # GPU NET FLF GPU OUT # mask bind_host DEV XID CPU CPU CPU CPU "0x00ff eth3 0 $xid0 0 0x0006 3 4" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 0x0600 9 12" # Instance 1, eth5 + "0xff00 eth5 1 $xid1 8 0x0600 11 12" # Instance 1, eth5 );; *) diff --git a/src/scripts/paper_init_ibv.sh b/src/scripts/paper_init_ibv.sh index c5d698fc..8aa5b776 100755 --- a/src/scripts/paper_init_ibv.sh +++ b/src/scripts/paper_init_ibv.sh @@ -134,7 +134,7 @@ case ${hostname} in # GPU NET FLF GPU OUT # mask bind_host DEV XID CPU CPU CPU CPU "0x00ff eth3 0 $xid0 0 0x0006 3 4" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 0x0600 9 12" # Instance 1, eth5 + "0xff00 eth5 1 $xid1 8 0x0600 11 12" # Instance 1, eth5 );; *) From 2664c622eff04a8234c852eff59811a26a31216e Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 12 Jun 2019 15:50:47 -0700 Subject: [PATCH 198/420] Support ibverbs as a netthread option. Use the `ibverbs` flag with xtor_up.py It's awesome. Thanks Dave. --- src/Makefile.am | 6 +- src/hera_ibv_thread.c | 909 ++++++++++++++++++++++++++++++++++ src/scripts/paper_init_ibv.sh | 220 ++++++++ src/scripts/xtor_up.py | 8 +- 4 files changed, 1141 insertions(+), 2 deletions(-) create mode 100644 src/hera_ibv_thread.c create mode 100755 src/scripts/paper_init_ibv.sh diff --git a/src/Makefile.am b/src/Makefile.am index a7a449ab..28ec7e37 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,6 +27,7 @@ paper_threads = paper_fake_net_thread.c \ paper_gpu_thread.c \ paper_fluff_thread.c \ hera_pktsock_thread.c \ + hera_ibv_thread.c \ paper_crc_thread.c \ hera_catcher_net_thread.c \ hera_catcher_disk_thread.c \ @@ -45,13 +46,15 @@ hera_capture = hera_hdf5.h \ # This is the paper_gpu plugin itself lib_LTLIBRARIES = paper_gpu.la paper_gpu_la_SOURCES = $(paper_databuf) $(paper_threads) $(paper_fluff) -paper_gpu_la_LIBADD = -lrt -lxgpu +paper_gpu_la_LIBADD = -lrt -lxgpu -lhashpipe_ibverbs paper_gpu_la_LDFLAGS = -avoid-version -module -shared -export-dynamic paper_gpu_la_LDFLAGS += -L"@XGPU_LIBDIR@" -Wl,-rpath,"@XGPU_LIBDIR@" paper_gpu_la_LDFLAGS += -L"@HASHPIPE_LIBDIR@" -Wl,-rpath,"@HASHPIPE_LIBDIR@" # Include HDF5 Libraries paper_gpu_la_LDFLAGS += -L/usr/lib/x86_64-linux-gnu/hdf5/serial paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 -lhiredis +# for intel compiler: +#paper_gpu_la_LDFLAGS += -L/usr/local/intel/compilers_and_libraries_2019.4.243/linux/compiler/lib/intel64_lin -Wl,-rpath,/usr/local/intel/compilers_and_libraries_2019.4.243/linux/compiler/lib/intel64_lin # Include HDF5 compression libraries #paper_gpu_la_LDFLAGS += -L/usr/local/lib/python2.7/dist-packages/bitshuffle/plugin #paper_gpu_la_LDFLAGS += -lh5LZF -lh5bshuf @@ -59,6 +62,7 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 -lhiredis # Installed scripts dist_bin_SCRIPTS = scripts/paper_init.sh \ + scripts/paper_init_ibv.sh \ scripts/paper_crc_init.sh \ scripts/xtor_down.sh \ scripts/xtor_up.py \ diff --git a/src/hera_ibv_thread.c b/src/hera_ibv_thread.c new file mode 100644 index 00000000..63de1efb --- /dev/null +++ b/src/hera_ibv_thread.c @@ -0,0 +1,909 @@ +/* hera_ibv_thread.c + * + * Routine to read packets from network and put them + * into shared memory blocks. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "hashpipe.h" +#include "paper_databuf.h" +#include "hashpipe_ibverbs.h" + +#include +#include + + +#define DEBUG_NET + +//number of bytes offset for UDP payload to start +#define UDP_PAYLOAD_OFFSET 42 + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +typedef struct { + uint64_t mcnt; // m-index of block in output buffer (runs from 0 to Nm) + uint64_t time; // First time sample in a packet + int chan; // First channel in a packet + int ant; // Antenna in a packet +} packet_header_t; + +// The fields of a block_info_t structure hold (at least) two different kinds +// of data. Some fields hold data that persist over many packets while other +// fields hold data that are only applicable to the current packet (or the +// previous packet). +typedef struct { + int initialized; + int32_t self_xid; + uint64_t mcnt_start; + uint64_t mcnt_log_late; + int out_of_seq_cnt; + int block_i; + int m; // m-index of block in output buffer (runs from 0 to Nm) + int t; // first time sample in the packet // formerly known as sub_block_i + int c; // first channel in the packet + int a; // antenna in the packet + int block_packet_counter[N_INPUT_BLOCKS]; +} block_info_t; + +static hashpipe_status_t *st_p; + +// A variable to store whether this receiver is processing +// even or odd samples (or in principle a subset of a higher +// order 2^ split +static int time_index; + +#if 0 +static void print_pkt_header(packet_header_t * pkt_header) { + + static long long prior_mcnt; + + printf("packet header : mcnt %012lx (diff from prior %lld) fid %d xid %d\n", + pkt_header->mcnt, pkt_header->mcnt-prior_mcnt, pkt_header->fid, pkt_header->xid); + + prior_mcnt = pkt_header->mcnt; +} +#endif + +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void print_block_info(block_info_t * binfo) { + printf("binfo : mcnt_start %012lx block_i %d t=%02d c=%d a=%d\n", + binfo->mcnt_start, binfo->block_i, binfo->t, binfo->c, binfo->a); +} + +static void print_block_packet_counter(block_info_t * binfo) { + int i; + for(i=0;iblock_i) { + fprintf(stdout, "*%03d ", binfo->block_packet_counter[i]); + } else { + fprintf(stdout, " %03d ", binfo->block_packet_counter[i]); + } + } + fprintf(stdout, "\n"); +} + +static void print_ring_mcnts(paper_input_databuf_t *paper_input_databuf_p) { + + int i; + + for(i=0; i < N_INPUT_BLOCKS; i++) { + printf("block %d mcnt %012lx\n", i, paper_input_databuf_p->block[i].header.mcnt); + } +} +#endif // DIE_ON_OUT_OF_SEQ_FILL + +// Returns physical block number for given mcnt +static inline int block_for_mcnt(uint64_t mcnt) +{ + return ((mcnt / TIME_DEMUX) / N_TIME_PER_BLOCK) % N_INPUT_BLOCKS; +} + +// Returns start mcnt for the block containing a given mcnt +static inline uint64_t start_for_mcnt(uint64_t mcnt) +{ + uint64_t mcnt_time_index = ((mcnt / N_TIME_PER_PACKET) % TIME_DEMUX); + return (mcnt - (mcnt%(N_TIME_PER_BLOCK * TIME_DEMUX)) + (mcnt_time_index*N_TIME_PER_PACKET)); +} + +#ifdef LOG_MCNTS +#define MAX_MCNT_LOG (1024*1024) +//static uint64_t mcnt_log[MAX_MCNT_LOG]; +//static int mcnt_log_idx = 0; +static int total_packets_counted = 0; +static int expected_packets_counted = 0; +static int late_packets_counted = 0; +static int outofseq_packets_counted = 0; +static int filled_packets_counted = 0; + +void dump_mcnt_log(int xid) +{ + //int i; + char fname[80]; + FILE *f; + sprintf(fname, "mcnt.xid%02d.log", xid); + f = fopen(fname,"w"); + fprintf(f, "expected packets counted = %d\n", expected_packets_counted); + fprintf(f, "late packets counted = %d\n", late_packets_counted); + fprintf(f, "outofseq packets counted = %d\n", outofseq_packets_counted); + fprintf(f, "total packets counted = %d\n", total_packets_counted); + fprintf(f, "filled packets counted = %d\n", filled_packets_counted); + //for(i=0; imcnt = (pkt_counter / (Nx*Nq*Nf)) % Nm; + //pkt_header->xid = (pkt_counter / ( Nq*Nf)) % Nx; + //pkt_header->fid = (pkt_counter ) % (Nq*Nf); + //pkt_counter++; +#else + uint64_t raw_header; + raw_header = be64toh(*(unsigned long long *)(p_frame + UDP_PAYLOAD_OFFSET)); + // raw header contains value of first time sample, not mcnt, as defined in this code + pkt_header->mcnt = (raw_header >> 29) & ((1L<<35)-1); + pkt_header->chan = (raw_header >> 16) & ((1<<13)-1); + pkt_header->ant = raw_header & ((1<<16)-1); +#endif + +#ifdef LOG_MCNTS + total_packets_counted++; + //mcnt_log[mcnt_log_idx++] = pkt_header->mcnt; + //if(mcnt_log_idx == MAX_MCNT_LOG) { + // dump_mcnt_log(pkt_header->xid); + // abort(); + //} + // HERA TODO + if(total_packets_counted == 10*1000*1000) { + dump_mcnt_log(pkt_header->chan); + abort(); + } +#endif +} + +#ifdef DIE_ON_OUT_OF_SEQ_FILL +static void die(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) +{ + print_block_info(binfo); + print_block_packet_counter(binfo); + print_ring_mcnts(paper_input_databuf_p); +#ifdef LOG_MCNTS + dump_mcnt_log(); +#endif + abort(); // End process and generate core file (if ulimit allows) +} +#endif + +// This sets the "current" block to be marked as filled. The current block is +// the block corresponding to binfo->mcnt_start. Returns mcnt of the block +// being marked filled. +static uint64_t set_block_filled(paper_input_databuf_t *paper_input_databuf_p, block_info_t *binfo) +{ + static int last_filled = -1; + + uint32_t block_missed_pkt_cnt=N_PACKETS_PER_BLOCK, block_missed_mod_cnt, block_missed_feng, missed_pkt_cnt=0; + + uint32_t block_i = block_for_mcnt(binfo->mcnt_start); + + // Validate that we're filling blocks in the proper sequence + last_filled = (last_filled+1) % N_INPUT_BLOCKS; + if(last_filled != block_i) { + printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); + +#ifdef DIE_ON_OUT_OF_SEQ_FILL + die(paper_input_databuf_p, binfo); +#endif + } + + // Validate that block_i matches binfo->block_i + if(block_i != binfo->block_i) { + hashpipe_warn(__FUNCTION__, + "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", + block_i, binfo->block_i); + } +#ifdef LOG_MCNTS + filled_packets_counted += binfo->block_packet_counter[block_i]; +#endif + + // If all packets are accounted for, mark this block as good + if(binfo->block_packet_counter[block_i] == N_PACKETS_PER_BLOCK) { + paper_input_databuf_p->block[block_i].header.good_data = 1; + } + + // Set the block as filled + if(paper_input_databuf_set_filled(paper_input_databuf_p, block_i) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); + pthread_exit(NULL); + } + + // Calculate missing packets. + block_missed_pkt_cnt = N_PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + //fprintf(stderr, "Packets in block %d: %d, N_PACKETS_PER_BLOCK: %d, N_PACKETS_PER_BLOCK_PER_F: %d, mod_cnt: %d\n", block_i, binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK, N_PACKETS_PER_BLOCK_PER_F, block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F); + // If we missed more than N_PACKETS_PER_BLOCK_PER_F, then assume we + // are missing one or more F engines. Any missed packets beyond an + // integer multiple of N_PACKETS_PER_BLOCK_PER_F will be considered + // as dropped packets. + block_missed_feng = N_INPUTS_PER_PACKET / 2 * block_missed_pkt_cnt / N_PACKETS_PER_BLOCK_PER_F; + block_missed_mod_cnt = block_missed_pkt_cnt % N_PACKETS_PER_BLOCK_PER_F; + + // Reinitialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; + + // Update status buffer + hashpipe_status_lock_busywait_safe(st_p); + hputu4(st_p->buf, "NETBKOUT", block_i); + hputu4(st_p->buf, "MISSEDFE", block_missed_feng); + if(block_missed_mod_cnt) { + //fprintf(stdout, "Expected %d packets, Got %d\n", N_PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); + // Increment MISSEDPK by number of missed packets for this block + hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + missed_pkt_cnt += block_missed_mod_cnt; + hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + // fprintf(stderr, "got %d packets instead of %d\n", + // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); + } + // Update our XID from status buffer + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); + + return binfo->mcnt_start; +} + +static inline int calc_block_indexes(block_info_t *binfo, packet_header_t * pkt_header) +{ + if(pkt_header->ant >= Na) { + hashpipe_error(__FUNCTION__, + "current packet Antenna ID %u out of range (0-%d)", + pkt_header->ant, Na-1); + return -1; +// HERA TODO +// } else if(pkt_header->chan != binfo->self_xid && binfo->self_xid != -1) { +// hashpipe_error(__FUNCTION__, +// "unexpected packet XID %d (expected %d)", +// pkt_header->xid, binfo->self_xid); +// return -1; + } + + //binfo->t = pkt_header->time; + binfo->m = ((pkt_header->mcnt/TIME_DEMUX) % N_TIME_PER_BLOCK) / N_TIME_PER_PACKET; + binfo->a = pkt_header->ant; + binfo->c = pkt_header->chan % Nc; + + return 0; +} + +// This allows for 2 out of sequence packets from each F engine (in a row) +#define MAX_OUT_OF_SEQ (2*Na) + +// This allows packets to be two full databufs late without being considered +// out of sequence. +#define LATE_PKT_MCNT_THRESHOLD (2*TIME_DEMUX*N_TIME_PER_BLOCK*N_INPUT_BLOCKS) + +// Initialize a block by clearing its "good data" flag and saving the first +// (i.e. earliest) mcnt of the block. Note that mcnt does not have to be a +// multiple of Nm (number of mcnts per block). In theory, the block's data +// could be cleared as well, but that takes time and is largely unnecessary in +// a properly functionong system. +static inline void initialize_block(paper_input_databuf_t * paper_input_databuf_p, uint64_t mcnt) +{ + int block_i = block_for_mcnt(mcnt); + uint64_t mcnt_time_index; + + paper_input_databuf_p->block[block_i].header.good_data = 0; + // Round pkt_mcnt down to nearest multiple of N_TIME_PER_BLOCK + mcnt_time_index = ((mcnt / N_TIME_PER_PACKET) % TIME_DEMUX); + if (mcnt_time_index != time_index) { + fprintf(stderr, "Expected packets from time index %d, but got index %lu\n", time_index, mcnt_time_index); + } + paper_input_databuf_p->block[block_i].header.mcnt = start_for_mcnt(mcnt); +} + +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo) +{ + int i; + + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + + for(i = 0; i < N_INPUT_BLOCKS; i++) { + binfo->block_packet_counter[i] = 0; + } + + // Initialize our XID to -1 (unknown until read from status buffer) + binfo->self_xid = -1; + // Update our XID from status buffer + hashpipe_status_lock_busywait_safe(st_p); + hgeti4(st_p->buf, "XID", &binfo->self_xid); + hashpipe_status_unlock_safe(st_p); + + // On startup mcnt_start will be zero and mcnt_log_late will be Nm. + binfo->mcnt_start = time_index; + binfo->mcnt_log_late = N_TIME_PER_BLOCK*TIME_DEMUX + time_index; + binfo->block_i = 0; + + binfo->out_of_seq_cnt = 0; + binfo->initialized = 1; +} + +// This function returns -1 unless the given packet causes a block to be marked +// as filled in which case this function returns the marked block's first mcnt. +// Any return value other than -1 will be stored in the status memory as +// NETMCNT, so it is important that values other than -1 are returned rarely +// (i.e. when marking a block as filled)!!! +static inline uint64_t process_packet( + paper_input_databuf_t *paper_input_databuf_p, unsigned char *p_frame) +{ + + static block_info_t binfo; + packet_header_t pkt_header; + const uint64_t *payload_p; + int pkt_block_i; + int i, j; + uint64_t *dest_p; + int64_t pkt_mcnt_dist; + uint64_t pkt_mcnt; + uint64_t cur_mcnt; + uint64_t netmcnt = -1; // Value to return (!=-1 is stored in status memory) + __m256i vecbuf; +#if N_DEBUG_INPUT_BLOCKS == 1 + static uint64_t debug_remaining = -1ULL; + static off_t debug_offset = 0; + uint64_t * debug_ptr; +#endif + + // Lazy init binfo + if(!binfo.initialized) { + initialize_block_info(&binfo); + } + + // Parse packet header + get_header(p_frame, &pkt_header); + // mcnt is a spectra count, representing the first + // time sample in the packet + pkt_mcnt = pkt_header.mcnt; + pkt_block_i = block_for_mcnt(pkt_mcnt); + cur_mcnt = binfo.mcnt_start; + + // Packet mcnt distance (how far away is this packet's mcnt from the + // current mcnt). Positive distance for pcnt mcnts > current mcnt. + pkt_mcnt_dist = pkt_mcnt - cur_mcnt; + +#if N_DEBUG_INPUT_BLOCKS == 1 + debug_ptr = (uint64_t *)&paper_input_databuf_p->block[N_INPUT_BLOCKS]; + debug_ptr[debug_offset++] = be64toh(*(unsigned long long *)(p_frame + UDP_PAYLOAD_OFFSET)); + if(--debug_remaining == 0) { + exit(1); + } + if(debug_offset >= sizeof(paper_input_block_t)/sizeof(uint64_t)) { + debug_offset = 0; + } +#endif + + //fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //if(pkt_header.ant==0){ + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d, block:%d \n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan, pkt_block_i); + //} + //if(pkt_header.ant==69){ + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //} + //if(pkt_header.ant==138){ + // fprintf(stdout, "mcnt:%lu, time:%lu, ant:%d, chan:%d\n", pkt_header.mcnt, + // pkt_header.time, pkt_header.ant, pkt_header.chan); + //} + + // We expect packets for the current block, the next block, and the block after. + if(0 <= pkt_mcnt_dist && pkt_mcnt_dist < 3*N_TIME_PER_BLOCK*TIME_DEMUX) { + // If the packet is for the block after the next block (i.e. current + // block + 2 blocks) + if(pkt_mcnt_dist >= 2*N_TIME_PER_BLOCK*TIME_DEMUX) { + // Mark the current block as filled + netmcnt = set_block_filled(paper_input_databuf_p, &binfo); + + // Advance mcnt_start to next block + cur_mcnt += N_TIME_PER_BLOCK*TIME_DEMUX; + binfo.mcnt_start += N_TIME_PER_BLOCK*TIME_DEMUX; + binfo.block_i = (binfo.block_i + 1) % N_INPUT_BLOCKS; + + // Wait (hopefully not long!) to acquire the block after next (i.e. + // the block that gets the current packet). + if(paper_input_databuf_busywait_free(paper_input_databuf_p, pkt_block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } + } + + // Initialize the newly acquired block + initialize_block(paper_input_databuf_p, pkt_mcnt); + // Reset binfo's packet counter for this packet's block + binfo.block_packet_counter[pkt_block_i] = 0; + } + + // Reset out-of-seq counter + binfo.out_of_seq_cnt = 0; + + // Increment packet count for block + binfo.block_packet_counter[pkt_block_i]++; +#ifdef LOG_MCNTS + expected_packets_counted++; +#endif + + // Validate header FID and XID and calculate "m" and "f" indexes into + // block (stored in binfo). + if(calc_block_indexes(&binfo, &pkt_header)) { + // Bad packet, error already reported + return -1; + } + + + // Copy data into buffer + for(i=0; iblock[pkt_block_i].data) + + paper_input_databuf_data_idx(binfo.m, binfo.a + i, binfo.c, 0); //time index is always zero + //fprintf(stdout, "m:%d, a:%d, c:%d, %lu\n", binfo.m, binfo.a, binfo.c, paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0)); + payload_p = (uint64_t *)((p_frame + UDP_PAYLOAD_OFFSET)+8+(i*2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET)); + for(j=0; j<((2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET) >> 5); j+=1) { + vecbuf = _mm256_set_epi64x(payload_p[0], payload_p[1], payload_p[2], payload_p[3]); + _mm256_stream_si256((__m256i *)dest_p, vecbuf); + dest_p += 4; + payload_p += 4; + } + //memcpy(dest_p, payload_p, 2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET); + } + + return netmcnt; + } + // Else, if packet is late, but not too late (so we can handle F engine + // restarts and MCNT rollover), then ignore it + else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { + // If not just after an mcnt reset, issue warning. + if(cur_mcnt >= binfo.mcnt_log_late) { + hashpipe_warn("hera_ibv_thread", + "Ignoring late packet (%d mcnts late)", + cur_mcnt - pkt_mcnt); + } +#ifdef LOG_MCNTS + late_packets_counted++; +#endif + return -1; + } + // Else, it is an "out-of-order" packet. + else { + // If not at start-up and this is the first out of order packet, + // issue warning. + if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { + hashpipe_warn("hera_ibv_thread", + "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", + pkt_mcnt, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK*TIME_DEMUX); + } + + // Increment out-of-seq packet counter + binfo.out_of_seq_cnt++; +#ifdef LOG_MCNTS + outofseq_packets_counted++; +#endif + + // If too may out-of-seq packets + if(binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ) { + // Reset current mcnt. The value to reset to must be the first + // value greater than or equal to pkt_mcnt that corresponds to the + // same databuf block as the old current mcnt. + if(binfo.block_i > pkt_block_i) { + // Advance pkt_mcnt to correspond to binfo.block_i + pkt_mcnt += TIME_DEMUX*N_TIME_PER_BLOCK*(binfo.block_i - pkt_block_i); + } else if(binfo.block_i < pkt_block_i) { + // Advance pkt_mcnt to binfo.block_i + N_INPUT_BLOCKS blocks + pkt_mcnt += TIME_DEMUX*N_TIME_PER_BLOCK*(binfo.block_i + N_INPUT_BLOCKS - pkt_block_i); + } + // Round pkt_mcnt down to nearest multiple of Nm + binfo.mcnt_start = start_for_mcnt(pkt_mcnt); + binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK*TIME_DEMUX; + binfo.block_i = block_for_mcnt(binfo.mcnt_start); + hashpipe_warn("hera_ibv_thread", + "resetting to mcnt %012lx block %d based on packet mcnt %012lx", + binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); + // Reinitialize/recycle our two already acquired blocks with new + // mcnt values. + initialize_block(paper_input_databuf_p, binfo.mcnt_start); + initialize_block(paper_input_databuf_p, binfo.mcnt_start+TIME_DEMUX*N_TIME_PER_BLOCK); + // Reset binfo's packet counters for these blocks. + binfo.block_packet_counter[binfo.block_i] = 0; + binfo.block_packet_counter[(binfo.block_i+1)%N_INPUT_BLOCKS] = 0; + } + return -1; + } + + return netmcnt; +} + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +static int init(hashpipe_thread_args_t *args) +{ + /* Read network params */ + char bindhost[80]; + int bindport = 8511; + + strcpy(bindhost, "0.0.0.0"); + + hashpipe_status_t st = args->st; + + hashpipe_status_lock_safe(&st); + // Record version + hputs(st.buf, "GIT_VER", GIT_VERSION); + // Get info from status buffer if present (no change if not present) + hgets(st.buf, "BINDHOST", 80, bindhost); + hgeti4(st.buf, "BINDPORT", &bindport); + // Store bind host/port info etc in status buffer + hputs(st.buf, "BINDHOST", bindhost); + hputi4(st.buf, "BINDPORT", bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hashpipe_status_unlock_safe(&st); + + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our output buffer happens to be a paper_input_databuf + paper_input_databuf_t *db = (paper_input_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + st_p = &st; // allow global (this source file) access to the status buffer + + // IB Verbs structures + struct hashpipe_ibv_context hibv_ctx = {0}; + struct hashpipe_ibv_recv_pkt * hibv_rpkt; + struct hashpipe_ibv_recv_pkt * curr_rpkt; + char ifname[IFNAMSIZ]; + + hashpipe_status_lock_safe(&st); + hgets(st.buf, "BINDHOST", IFNAMSIZ, ifname); + hashpipe_status_unlock_safe(&st); + + strncpy(hibv_ctx.interface_name, ifname, IFNAMSIZ); + hibv_ctx.interface_name[IFNAMSIZ-1] = '\0'; // Ensure NUL termination + hibv_ctx.send_pkt_num = 1; + hibv_ctx.recv_pkt_num = 8192; + hibv_ctx.pkt_size_max = 5000; + hibv_ctx.max_flows = 4; + + fprintf(stdout, "Initializing IBV socket\n"); + if(hashpipe_ibv_init(&hibv_ctx)) { + hashpipe_error(__FUNCTION__, "Failed to initialize IBV"); + } + + printf("max_qp_wr=%u\n", hibv_ctx.dev_attr.max_qp_wr); + + // Subscribe to RX flows + int src_port = 8511; + printf("udp ucast flow\n"); + if(hashpipe_ibv_flow(&hibv_ctx, 0, IBV_FLOW_SPEC_UDP, + hibv_ctx.mac, NULL, 0, 0, 0, 0, src_port, 0)) { + hashpipe_error(__FUNCTION__, "Failed to configure IBV flow rule"); + } + + + // Flag that holds off the net thread + int holdoff = 1; + + // Force ourself into the hold off state + fprintf(stdout, "Setting NETHOLD state to 1. Waiting for someone to set it to 0\n"); + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "NETHOLD", 1); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); + + while(holdoff) { + // We're not in any hurry to startup + sleep(1); + hashpipe_status_lock_safe(&st); + // Look for NETHOLD value + hgeti4(st.buf, "NETHOLD", &holdoff); + // Get the time index of this correlator. I.e. is it correlating + // even or odd blocks of samples. + hgeti4(st.buf, "TIMEIDX", &time_index); + if(!holdoff) { + // Done holding, so delete the key + hdel(st.buf, "NETHOLD"); + hputs(st.buf, status_key, "starting"); + } + hashpipe_status_unlock_safe(&st); + } + +#ifdef DEBUG_SEMS + fprintf(stderr, "s/tid %lu/NET/' <<.\n", pthread_self()); +#endif + +#if 0 + /* Copy status buffer */ + char status_buf[HASHPIPE_STATUS_SIZE]; + hashpipe_status_lock_busywait_safe(st_p); + memcpy(status_buf, st_p->buf, HASHPIPE_STATUS_SIZE); + hashpipe_status_unlock_safe(st_p); +#endif + + // Acquire first two blocks to start + if(paper_input_databuf_busywait_free(db, 0) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + if(paper_input_databuf_busywait_free(db, 1) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } + } + + // Initialize the newly acquired block + initialize_block(db, time_index); + initialize_block(db, N_TIME_PER_BLOCK*TIME_DEMUX + time_index); + + /* Read network params */ + int bindport = 8511; + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + size_t expected_packet_size = N_BYTES_PER_PACKET + 8 + UDP_PAYLOAD_OFFSET; // Inc. Eth/IP/UDP headers + +#ifndef TIMING_TEST + // Drop all packets to date + fprintf(stdout, "Dropping existing packets\n"); + int dropcnt = 0; + while((hibv_rpkt = hashpipe_ibv_recv_pkts(&hibv_ctx, 8192))) { + hashpipe_ibv_release_pkts(&hibv_ctx, hibv_rpkt); + dropcnt += 1; + } + fprintf(stdout, "Dropped waiting packets: %d\n", dropcnt); + + hashpipe_status_lock_safe(&st); + // Get info from status buffer + hgeti4(st.buf, "BINDPORT", &bindport); + hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSEDPK", 0); + hputs(st.buf, status_key, "running"); + hashpipe_status_unlock_safe(&st); +#endif + + /* Main loop */ + uint64_t packet_count = 0; + uint64_t burst_packet_count = 0; + uint64_t wait_ns = 0; // ns for most recent wait + uint64_t recv_ns = 0; // ns for most recent recv + uint64_t proc_ns = 0; // ns for most recent proc + uint64_t min_wait_ns = 99999; // min ns per single wait + uint64_t min_recv_ns = 99999; // min ns per single recv + uint64_t min_proc_ns = 99999; // min ns per single proc + uint64_t max_wait_ns = 0; // max ns per single wait + uint64_t max_recv_ns = 0; // max ns per single recv + uint64_t max_proc_ns = 0; // max ns per single proc + uint64_t elapsed_wait_ns = 0; // cumulative wait time per block + uint64_t elapsed_recv_ns = 0; // cumulative recv time per block + uint64_t elapsed_proc_ns = 0; // cumulative proc time per block + uint64_t status_ns = 0; // User to fetch ns values from status buffer + float ns_per_wait = 0.0; // Average ns per wait over 1 block + float ns_per_recv = 0.0; // Average ns per recv over 1 block + float ns_per_proc = 0.0; // Average ns per proc over 1 block + unsigned int pktsock_pkts = 0; // Stats counter from socket packet + unsigned int pktsock_drops = 0; // Stats counter from socket packet + uint64_t pktsock_pkts_total = 0; // Stats total for socket packet + uint64_t pktsock_drops_total = 0; // Stats total for socket packet + struct timespec start, stop; + struct timespec recv_start, recv_stop; + struct timespec proc_start; + + while (run_threads()) { + +#ifndef TIMING_TEST + /* Read packet */ + clock_gettime(CLOCK_MONOTONIC, &recv_start); + do { + clock_gettime(CLOCK_MONOTONIC, &start); + //p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); + hibv_rpkt = hashpipe_ibv_recv_pkts(&hibv_ctx, 1); + clock_gettime(CLOCK_MONOTONIC, &recv_stop); + } while (!hibv_rpkt && run_threads()); + + if(!run_threads()) break; + +#endif + wait_ns = ELAPSED_NS(recv_start, start); + recv_ns = ELAPSED_NS(start, recv_stop); + elapsed_wait_ns += wait_ns; + elapsed_recv_ns += recv_ns; + min_wait_ns = MIN(wait_ns, min_wait_ns); + min_recv_ns = MIN(recv_ns, min_recv_ns); + max_wait_ns = MAX(wait_ns, max_wait_ns); + max_recv_ns = MAX(recv_ns, max_recv_ns); + + burst_packet_count = 0; + for (curr_rpkt = hibv_rpkt; curr_rpkt; curr_rpkt = (struct hashpipe_ibv_recv_pkt *)curr_rpkt->wr.next) { + clock_gettime(CLOCK_MONOTONIC, &proc_start); + packet_count++; + burst_packet_count++; + // Make sure received packet size matches expected packet size. Allow + // for optional 8 byte CRC in received packet. Zlib's crc32 function + // is too slow to use in realtime, so CRCs cannot be checked on the + // fly. If data errors are suspected, a separate CRC checking utility + // should be used to read the packets from the network and verify CRCs. + int packet_size = curr_rpkt->length; + if (expected_packet_size != packet_size-8 && expected_packet_size != packet_size) { + // Log warning and ignore wrongly sized packet + #ifdef DEBUG_NET + hashpipe_warn(__FUNCTION__, "Invalid pkt size (%d)", packet_size); + #endif + continue; + } + // Copy packet into any blocks where it belongs. + const uint64_t mcnt = process_packet((paper_input_databuf_t *)db, (unsigned char *)curr_rpkt->wr.sg_list->addr); + + clock_gettime(CLOCK_MONOTONIC, &stop); + proc_ns = ELAPSED_NS(proc_start, stop); + elapsed_proc_ns += proc_ns; + // Update min max values + min_proc_ns = MIN(proc_ns, min_proc_ns); + max_proc_ns = MAX(proc_ns, max_proc_ns); + + if(mcnt != -1) { + // Update status + ns_per_wait = (float)elapsed_wait_ns / packet_count; + ns_per_recv = (float)elapsed_recv_ns / packet_count; + ns_per_proc = (float)elapsed_proc_ns / packet_count; + fprintf(stdout, "ns_per_recv: %f, total_ns: %lu, packet count: %lu\n", ns_per_recv, elapsed_recv_ns, packet_count); + + hashpipe_status_lock_busywait_safe(&st); + + hputu8(st.buf, "NETMCNT", mcnt); + // Gbps = bits_per_packet / ns_per_packet + // (N_BYTES_PER_PACKET excludes header, so +8 for the header) + hputr4(st.buf, "NETGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); + hputr4(st.buf, "NETWATNS", ns_per_wait); + hputr4(st.buf, "NETRECNS", ns_per_recv); + hputr4(st.buf, "NETPRCNS", ns_per_proc); + + // Get and put min and max values. The "get-then-put" allows the + // user to reset the min max values in the status buffer. + hgeti8(st.buf, "NETWATMN", (long *)&status_ns); + status_ns = MIN(min_wait_ns, status_ns); + hputi8(st.buf, "NETWATMN", status_ns); + + hgeti8(st.buf, "NETRECMN", (long *)&status_ns); + status_ns = MIN(min_recv_ns, status_ns); + hputi8(st.buf, "NETRECMN", status_ns); + + hgeti8(st.buf, "NETPRCMN", (long *)&status_ns); + status_ns = MIN(min_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMN", status_ns); + + hgeti8(st.buf, "NETWATMX", (long *)&status_ns); + status_ns = MAX(max_wait_ns, status_ns); + hputi8(st.buf, "NETWATMX", status_ns); + + hgeti8(st.buf, "NETRECMX", (long *)&status_ns); + status_ns = MAX(max_recv_ns, status_ns); + hputi8(st.buf, "NETRECMX", status_ns); + + hgeti8(st.buf, "NETPRCMX", (long *)&status_ns); + status_ns = MAX(max_proc_ns, status_ns); + hputi8(st.buf, "NETPRCMX", status_ns); + + hputu8(st.buf, "NETPKTS", pktsock_pkts); + hputu8(st.buf, "NETDROPS", pktsock_drops); + + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); + hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); + hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); + + hashpipe_status_unlock_safe(&st); + + // Start new average + elapsed_wait_ns = 0; + elapsed_recv_ns = 0; + elapsed_proc_ns = 0; + packet_count = 0; + } + } + hashpipe_status_lock_safe(&st); + hputu8(st.buf, "BURSTPKT", burst_packet_count); + hashpipe_status_unlock_safe(&st); + + // Release packets + if (hashpipe_ibv_release_pkts(&hibv_ctx, hibv_rpkt)) { + hashpipe_error(__FUNCTION__, "error releasing packets"); + } +#if defined TIMING_TEST || defined NET_TIMING_TEST + +#define END_LOOP_COUNT (1*1000*1000) + static int loop_count=0; + static struct timespec tt_start, tt_stop; + if(loop_count == 0) { + clock_gettime(CLOCK_MONOTONIC, &tt_start); + } + //if(loop_count == 1000000) pthread_exit(NULL); + if(loop_count == END_LOOP_COUNT) { + clock_gettime(CLOCK_MONOTONIC, &tt_stop); + int64_t elapsed = ELAPSED_NS(tt_start, tt_stop); + printf("processed %d packets in %.6f ms (%.3f us per packet)\n", + END_LOOP_COUNT, elapsed/1e6, elapsed/1e3/END_LOOP_COUNT); + exit(0); + } + loop_count++; +#endif + + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } + + return NULL; +} + +static hashpipe_thread_desc_t ibv_thread = { + name: "hera_ibv_thread", + skey: "NETSTAT", + init: init, + run: run, + ibuf_desc: {NULL}, + obuf_desc: {paper_input_databuf_create} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&ibv_thread); +} + +// vi: set ts=8 sw=4 noet : diff --git a/src/scripts/paper_init_ibv.sh b/src/scripts/paper_init_ibv.sh new file mode 100755 index 00000000..93216dd5 --- /dev/null +++ b/src/scripts/paper_init_ibv.sh @@ -0,0 +1,220 @@ +#!/bin/bash + +# Add directory containing this script to PATH +PATH="$(dirname $0):${PATH}" + +hostname=`hostname -s` + +function getip() { + out=$(host $1) && echo $out | awk '{print $NF}' +} + +myip=$(getip $(hostname)) + +# Determine which, if any, pxN alias maps to IP of current host. +# If a pxN match is found, mypx gets set to N (i.e. just the numeric part). +# If no match is found, mypx will be empty. +mypx= +for p in {1..16} +do + ip=$(getip px${p}) + [ "${myip}" == "${ip}" ] || continue + mypx=$p +done + +# If no pxN alias maps to IP of current host, abort +if [ -z ${mypx} ] +then + echo "$(hostname) is not aliased to a pxN name" + exit 1 +fi + +case ${hostname} in + + snb*) + # Calculate XIDs based on mypx + xid0=$(( 0 + (mypx-1) )) + xid1=$(( 8 + (mypx-1) )) + xid2=$(( 16 + (mypx-1) )) + xid3=$(( 24 + (mypx-1) )) + +# instances=( +# # Setup parameters for four instances. +# # 2 x E5-2660 (8-cores @ 2.2 GHz, 20 MB L3, 8.0 GT/s QPI, 1600 MHz DRAM) +# # Fluff thread and output thread share a core. +# # Save core 0 for OS. +# # Save core 7 for eth2 and eth3 +# # Save core 8 for symmetry with core 0 +# # Save core 15 for eth4 and eth5 +# # +# # Setup for four GPU devices (two GTX690s == two dual-GTX680s). +# # +# # GPU NET FLF GPU OUT +# # mask bind_host DEV XID CPU CPU CPU CPU +# "0x007e ${hostname}-2.tenge.pvt 0 $xid0 1 2 3 2" # Instance 0, eth2 +# "0x007e ${hostname}-3.tenge.pvt 1 $xid1 4 5 6 5" # Instance 1, eth3 +# "0x7e00 ${hostname}-4.tenge.pvt 2 $xid2 9 10 11 10" # Instance 2, eth4 +# "0x7e00 ${hostname}-5.tenge.pvt 3 $xid3 12 13 14 13" # Instance 3, eth5 +# );; + + instances=( + # Setup parameters for four instances. + # 2 x E5-2630 (6-cores @ 2.3 GHz, 15 MB L3, 7.2 GT/s QPI, 1333 MHz DRAM) + # Fluff thread and output thread share a core. + # Save core 0 for OS. + # Save core 5 for eth2 and eth3 + # Save core 6 for symmetry with core 0 + # Save core 11 for eth4 and eth5 + # + # Setup for two GPU devices (two TITANs). + # + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + "0x001e ${hostname}-2.tenge.pvt 0 $xid0 1 2 3 3" # Instance 0, eth2 + "0x001e ${hostname}-3.tenge.pvt 0 $xid1 4 2 3 3" # Instance 1, eth3 + "0x0780 ${hostname}-4.tenge.pvt 1 $xid2 7 8 9 9" # Instance 2, eth4 + "0x0780 ${hostname}-5.tenge.pvt 1 $xid3 10 8 9 9" # Instance 3, eth5 + );; + + asa*) + # Calculate XIDs based on mypx + xid0=$(( 2*(mypx-1) )) + xid1=$(( 2*(mypx-1) + 1)) + + instances=( + # Setup parameters for two instances. + # Fluff thread and output thread share a core. + # + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + "0x0707 ${hostname}-2.tenge.pvt 0 $xid0 2 8 1 8" # Instance 0, eth2 + "0x7070 ${hostname}-4.tenge.pvt 1 $xid1 6 12 5 12" # Instance 1, eth4 + );; + + simech1) + # Calculate XIDs based on mypx + xid0=$(( 2*(mypx-1) )) + xid1=$(( 2*(mypx-1) + 1)) + + instances=( + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + "0x0707 ${hostname}-2.tenge.pvt 0 $xid0 2 8 1 8" # Instance 0, eth2 + "0x7070 ${hostname}-3.tenge.pvt 1 $xid1 6 12 5 12" # Instance 1, eth3 + );; + + paper5) + # Calculate XIDs based on mypx + xid0=$(( 1*(mypx-1) )) + + instances=( + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + "0x0606 ${hostname}-2.tenge.pvt 0 $xid0 2 4 3 4" # Instance 0, eth2 + );; + + px*) + # Setup parameters for two instances. + # 2 x E5-2620 v4 (disabled-HyperThreading, 8-cores @ 2.1 GHz, 20 MB L3, 8 GT/s QPI, 2667 MHz DRAM) + # Fluff thread and output thread share a core. + # Save core 0 for OS. + # Save core 1 for eth2 + # Save core 8 for symmetry with core 0 + # Save core 9 for eth4 and eth5 + # + # Setup for two GPU devices (two TITANs). + # + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + # Calculate XIDs based on mypx + xid0=$(( 2*(mypx-1) )) + xid1=$(( 2*(mypx-1) + 1)) + + instances=( + # GPU NET FLF GPU OUT + # mask bind_host DEV XID CPU CPU CPU CPU + "0x00ff eth3 0 $xid0 0 1 2 3" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 9 10 11 12" # Instance 1, eth5 + );; + + *) + echo "This host (${hostname}) is not supported by $(basename $0)" + exit 1 + ;; +esac + +function init() { + instance=$1 + mask=$2 + bindhost=$3 + gpudev=$4 + xid=$5 + netcpu=$6 + flfcpu=$7 + gpucpu=$8 + outcpu=$9 + + if [ -z "${mask}" ] + then + echo "Invalid instance number '${instance}' (ignored)" + return 1 + fi + + if [ -z "$outcpu" ] + then + echo "Invalid configuration for host ${hostname} instance ${instance} (ignored)" + return 1 + fi + + echo taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu hera_ibv_thread \ + -c $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread + + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu hera_ibv_thread \ + -c $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & +} + +if [ -z "$1" ] +then + echo "Usage: $(basename $0) INSTANCE_ID [...]" + exit 1 +fi + +for instidx in "$@" +do + args="${instances[$instidx]}" + if [ -n "${args}" ] + then + echo + echo Starting instance px$mypx/$instidx + init $instidx $args + echo Instance px$mypx/$instidx pid $! + # Sleep to let instance come up + sleep 10 + else + echo Instance $instidx not defined for host $hostname + fi +done + +# Zero out MISSEDPK counts +for instidx in "$@" +do + echo Resetting MISSEDPK counts for px$mypx/$instidx + hashpipe_check_status -I $instidx -k MISSEDPK -s 0 +done diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index efdf88be..3ddc0168 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -7,6 +7,7 @@ perf_tweaker = 'tweak-perf.sh' paper_init = 'paper_init.sh' +paper_init_ibv = 'paper_init_ibv.sh' def run_on_hosts(hosts, cmd, user=None, wait=True): if isinstance(cmd, str): @@ -32,6 +33,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Number of pipeline instances per host') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) +parser.add_argument('--ibverbs', dest='ibverbs', action='store_true', default=False, + help='Use the IB Verbs netthread. Experimental!') args = parser.parse_args() hosts = args.hosts # Too lazy to keey typing this @@ -47,7 +50,10 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts(hosts, perf_tweaker, user='root', wait=True) # Start X-Engines -run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host +if args.ibverbs: + run_on_hosts(hosts, [paper_init_ibv, '0', '1'], wait=True) # two instances per host +else: + run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host # Start hashpipe<->redis gateways cpu_masks = ['0x0080', '0x8000'] From 36893c43922efcfec21653e92d1dfe1411517c5f Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 12 Jun 2019 15:59:01 -0700 Subject: [PATCH 199/420] Allow 128 character git version --- src/hera_catcher_disk_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 1b4c356b..f3868bdb 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -299,7 +299,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) } -#define VERSION_BYTES 32 +#define VERSION_BYTES 128 static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t, char* tag) { hid_t dataset_id; hid_t memtype; From ea7892246105ea1d1ace2a0983ba696675820a86 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 12 Jun 2019 16:00:45 -0700 Subject: [PATCH 200/420] Make compatible with latest hashpipe compiling against ibverbs branch --- hashpipe | 2 +- src/hera_catcher_net_thread.c | 16 ++++++++-------- src/hera_pktsock_thread.c | 16 ++++++++-------- src/paper_gpu_thread.c | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/hashpipe b/hashpipe index 6b16dc80..ad77eceb 160000 --- a/hashpipe +++ b/hashpipe @@ -1 +1 @@ -Subproject commit 6b16dc80354d44a12a25faa8e6797aad3a54ceaf +Subproject commit ad77eceb1a60ed45078d65157f30b5aa42b84705 diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 6ec5fa5d..6cba7a8a 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -494,35 +494,35 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 9fbdb60d..6c50f817 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -813,35 +813,35 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index d57da480..d558d1bd 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -91,7 +91,7 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "waiting"); hgets(st.buf, "INTSTAT", 16, integ_status); - hgeti8(st.buf, "INTSYNC", (long long*)&start_mcount); + hgeti8(st.buf, "INTSYNC", (long*)&start_mcount); hashpipe_status_unlock_safe(&st); // Wait for new input block to be filled From 9b7ad668206a101eff22c143b8e2e282428ced5c Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 12 Jun 2019 16:03:52 -0700 Subject: [PATCH 201/420] Make TVG tests happen after performance tests --- src/paper_fluff_test.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/paper_fluff_test.c b/src/paper_fluff_test.c index 5ac199ac..b0456f88 100644 --- a/src/paper_fluff_test.c +++ b/src/paper_fluff_test.c @@ -461,7 +461,6 @@ int main(int argc, char *argv[]) printf("N_BYTES_PER_BLOCK=%u\n", N_BYTES_PER_BLOCK); - fluff_check(); #ifdef DEBUG_FLUFF fluffed = paper_fluff(in, out); @@ -479,6 +478,8 @@ int main(int argc, char *argv[]) } #endif // DEBUG_FLUFF_GEN + fluff_check(); + return 0; } #endif // 1 From 785353b0f1c9e75f7177db561a4c97c3d89d88a0 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 13 Jun 2019 01:27:48 +0000 Subject: [PATCH 202/420] Ibverbs version --- hashpipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hashpipe b/hashpipe index ad77eceb..0ffc3a21 160000 --- a/hashpipe +++ b/hashpipe @@ -1 +1 @@ -Subproject commit ad77eceb1a60ed45078d65157f30b5aa42b84705 +Subproject commit 0ffc3a2139f8bfac4b69c0b8cacbbe69d0642cef From 0883b52f4b8c03ae32ffa93ebacb6359628b6d2c Mon Sep 17 00:00:00 2001 From: Jack H Date: Thu, 13 Jun 2019 13:08:52 -0700 Subject: [PATCH 203/420] point hashpipe repo to hera-team github --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index bb1ec3ff..1cfa26b7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -6,4 +6,4 @@ url = https://github.com/kiyo-masui/bitshuffle [submodule "hashpipe"] path = hashpipe - url = https://astro.berkeley.edu/~davidm/hashpipe.git + url = https://github.com/hera-team/hashpipe.git From b2c732124f13c35fff0d12a32d47f9f7472121a1 Mon Sep 17 00:00:00 2001 From: Jack H Date: Thu, 13 Jun 2019 13:50:20 -0700 Subject: [PATCH 204/420] Flip arrangement of 64-bit words in 256-bit reg --- src/hera_ibv_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_ibv_thread.c b/src/hera_ibv_thread.c index 63de1efb..23fa8c62 100644 --- a/src/hera_ibv_thread.c +++ b/src/hera_ibv_thread.c @@ -484,7 +484,7 @@ static inline uint64_t process_packet( //fprintf(stdout, "m:%d, a:%d, c:%d, %lu\n", binfo.m, binfo.a, binfo.c, paper_input_databuf_data_idx(binfo.m, binfo.a, binfo.c, 0)); payload_p = (uint64_t *)((p_frame + UDP_PAYLOAD_OFFSET)+8+(i*2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET)); for(j=0; j<((2*N_CHAN_PER_PACKET*N_TIME_PER_PACKET) >> 5); j+=1) { - vecbuf = _mm256_set_epi64x(payload_p[0], payload_p[1], payload_p[2], payload_p[3]); + vecbuf = _mm256_set_epi64x(payload_p[3], payload_p[2], payload_p[1], payload_p[0]); _mm256_stream_si256((__m256i *)dest_p, vecbuf); dest_p += 4; payload_p += 4; From f0130a46a62673d20e00846a7f68ba360c4d4eda Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 14 Jun 2019 12:36:27 -0700 Subject: [PATCH 205/420] Change variable name NBLTS for baseline-times product --- src/hera_bda_output_thread.c | 2 +- src/paper_databuf.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 5c175a5d..22611566 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -235,7 +235,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "processing"); hputi4(st.buf, "OUTBLKIN", block_idx); - hputu4(st.buf, "OUTBCNT", baseline_id/N_BASELINES_BDA); + hputu4(st.buf, "OUTBCNT", baseline_id/N_BLTS_BDA); hashpipe_status_unlock_safe(&st); buf = &(db->block[block_idx]); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 84721f18..47b9618e 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -257,7 +257,7 @@ typedef struct paper_output_databuf { #define N_BASELINES (N_ANTS * (N_ANTS + 1)/2) #define N_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) -#define N_BASELINES_BDA (8*387 + 4*1533 + 2*7168 + 21571 + 30768) // (((N_ANTS-2)*(N_ANTS-1)/2) + 2) +#define N_BLTS_BDA (8*387 + 4*1533 + 2*7168 + 21571 + 30768) // (((N_ANTS-2)*(N_ANTS-1)/2) + 2) #define N_BDABUF_BLOCKS 2 #define N_BDABUF_BINS 4 @@ -340,6 +340,9 @@ typedef struct hera_bda_databuf{ #define hera_catcher_input_databuf_pkt_offset(b, t, x, o) \ (((b)*TIME_DEMUX*PACKETS_PER_BASELINE) + ((t)*PACKETS_PER_BASELINE) + ((x)*PACKETS_PER_BL_PER_X) + (o)) +#define hera_catcher_input_databuf_by_bcnt_idx32(b,s) \ + (((b)*TIME_DEMUX + (s))*N_CHAN_TOTAL*N_STOKES*2) + typedef struct hera_catcher_input_header{ uint64_t good_data; uint32_t bcnt[BASELINES_PER_BLOCK]; // starting value of baseline_id for this block From edd4c5a9ece907e3b464f36a0bbddd6d134d6e1b Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 14 Jun 2019 12:40:12 -0700 Subject: [PATCH 206/420] Do not hardcode catcher IP address --- src/hera_gpu_output_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 52e09b97..9c97e5fd 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -423,7 +423,7 @@ static void *run(hashpipe_thread_args_t * args) #define stringify(x) stringify2(x) // Open socket - sockfd = open_udp_socket("10.10.10.222",stringify(CATCHER_PORT)); //"catcher", stringify(CATCHER_PORT)); + sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); if(sockfd == -1) { hashpipe_error(__FUNCTION__, "error opening socket"); pthread_exit(NULL); From 5e3bf7dd89c56739e261f4252624aef854ddb000 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 14 Jun 2019 12:41:02 -0700 Subject: [PATCH 207/420] Store baseline index (bcnt) for every baseline... ... in the block. The disk thread uses the same bcnt to map the BDA baseline-times to the hdf5 file. --- src/hera_catcher_net_thread_bda_v2.c | 237 ++++++++++++++------------- 1 file changed, 125 insertions(+), 112 deletions(-) diff --git a/src/hera_catcher_net_thread_bda_v2.c b/src/hera_catcher_net_thread_bda_v2.c index 9c93e402..592049b9 100644 --- a/src/hera_catcher_net_thread_bda_v2.c +++ b/src/hera_catcher_net_thread_bda_v2.c @@ -56,9 +56,9 @@ typedef struct{ // about the contents of each block typedef struct { int initialized; + uint32_t bcnt_start; int block_curr; int block_next; - long thresh; long out_of_seq_cnt; long block_packet_counter[CATCHER_N_BLOCKS]; char flags[CATCHER_N_BLOCKS][PACKETS_PER_BLOCK]; @@ -69,23 +69,23 @@ static hashpipe_status_t *st_p; static const char * status_key; // Get physical block number given the bcnt -static inline int block_for_bcnt(uint64_t bcnt){ +static inline int block_for_bcnt(uint32_t bcnt){ return (bcnt/BASELINES_PER_BLOCK) % CATCHER_N_BLOCKS; } // Initialize a block by clearing its "good data" flag and saving the // bcnt of the first baseline in this block. The bcnt should be a multiple // of BASELINES_PER_BLOCK. -static inline void initialize_block(hera_catcher_input_databuf_t * hera_catcher_input_databuf_p, uint64_t bcnt){ +static inline void initialize_block(hera_catcher_input_databuf_t * db, uint64_t bcnt){ int block_i = block_for_bcnt(bcnt); - hera_catcher_input_databuf_p->block[block_i].header.bcnt = bcnt; - hera_catcher_input_databuf_p->block[block_i].header.good_data = 0; + db->block[block_i].header.bcnt[0] = bcnt; + db->block[block_i].header.good_data = 0; } /* Initialize block_info */ // This function must be called once and only once per block_info structure! // Subsequent calls are no-ops. -static inline void initialize_block_info(block_info_t * binfo, int pkt_block_id){ +static inline void initialize_block_info(block_info_t * binfo, uint32_t bcnt){ int i; // If this block_info structure has already been initialized @@ -100,9 +100,9 @@ static inline void initialize_block_info(block_info_t * binfo, int pkt_block_id) } // The number of the current block is set by the first packet received - binfo->block_curr = pkt_block_id; - binfo->block_next = (pkt_block_id+1) % CATCHER_N_BLOCKS; - binfo->thresh = PACKETS_PER_BLOCK/8; + binfo->bcnt_start = bcnt; + binfo->block_curr = block_for_bcnt(bcnt); + binfo->block_next = (binfo->block_curr+1) % CATCHER_N_BLOCKS; binfo->out_of_seq_cnt = 0; binfo->initialized = 1; } @@ -122,8 +122,11 @@ static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_heade /* Set hashpipe block to filled */ // This sets the "current" block to be marked as filled. // Returns bcnt of the block being marked filled. -static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, block_info_t *binfo){ - static int last_filled = -1; //(binfo->block_curr-1)% CATCHER_N_BLOCKS; +static uint64_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t *binfo){ + static int last_filled = -1; + if (last_filled==-1){ + last_filled = (binfo->block_curr-1)% CATCHER_N_BLOCKS; + } uint64_t block_missed_pkt_cnt; uint32_t missed_pkt_cnt; @@ -135,10 +138,10 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); } - hera_catcher_input_databuf_p->block[block_i].header.good_data = 1; + db->block[block_i].header.good_data = 1; // Set the block as filled - if(hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_p, block_i) != HASHPIPE_OK){ + if(hera_catcher_input_databuf_set_filled(db, block_i) != HASHPIPE_OK){ hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); pthread_exit(NULL); } @@ -160,7 +163,7 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu } hashpipe_status_unlock_safe(st_p); - return hera_catcher_input_databuf_p->block[block_i].header.bcnt; + return db->block[block_i].header.bcnt[0]; } @@ -171,126 +174,130 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu // NETMCNT, so it is important that values other than -1 are returned rarely // (i.e. when marking a block as filled)!!! static inline uint64_t process_packet( - hera_catcher_input_databuf_t *hera_catcher_input_databuf_p, unsigned char *p_frame){ + hera_catcher_input_databuf_t *db, unsigned char *p_frame){ static block_info_t binfo; packet_header_t pkt_header; - //const uint32_t *payload_p; - //uint32_t *dest_p; - //int i; + const uint32_t *payload_p; + uint32_t *dest_p; + int i; int pkt_block_i; int b, x, t, o; uint32_t pkt_offset; + uint32_t pkt_bcnt_dist; uint64_t bcnt = -1; - int rv; // Parse packet header get_header(p_frame, &pkt_header); - pkt_block_i = block_for_bcnt(pkt_header.bcnt); + pkt_block_i = block_for_bcnt(pkt_header.bcnt); // Lazy init binfo if(!binfo.initialized){ fprintf(stderr,"Initializing binfo..!\n"); - initialize_block_info(&binfo, pkt_block_i); - initialize_block(hera_catcher_input_databuf_p, pkt_header.bcnt); - initialize_block(hera_catcher_input_databuf_p, pkt_header.bcnt+BASELINES_PER_BLOCK); + initialize_block_info(&binfo, pkt_header.bcnt); + + fprintf(stderr,"Initializing the first blocks..\n"); + // Initialize the newly acquired block + initialize_block(db, pkt_header.bcnt); + initialize_block(db, pkt_header.bcnt+BASELINES_PER_BLOCK); + initialize_block(db, pkt_header.bcnt+2*BASELINES_PER_BLOCK); } - fprintf(stderr, "curr:%d\tnext:%d\t",binfo.block_curr, binfo.block_next); - fprintf(stderr, "bcnt:%d\tblock_id:%d\t",pkt_header.bcnt,pkt_block_i); - fprintf(stderr, "xeng:%d\n",pkt_header.xeng_id); - - // Place the packet in curr/next block or drop it - // If the packet belongs to the current block, process it as usual. - // If the packet belongs to the next block, mark the previous block - // as filled and update the binfo tags. - // If the packet is two blocks away (i.e., curr_block_id + 2) then - // drop the packet. - if(pkt_block_i == binfo.block_curr || pkt_block_i == binfo.block_next){ + //fprintf(stderr, "curr:%d\tnext:%d\t",binfo.block_curr, binfo.block_next); + //fprintf(stderr, "bcnt:%d\tblock_id:%d\n",pkt_header.bcnt, pkt_block_i); + //fprintf(stderr, "xeng:%d\n",pkt_header.xeng_id); + + // Packet bcnt distance (how far away is this packet's bcnt from the + // current bcnt). Positive distance for pcnt mcnts > current mcnt. + pkt_bcnt_dist = pkt_header.bcnt - binfo.bcnt_start; + + // We expect packets for the current block, the next block and the block after. + if (0 <= pkt_bcnt_dist && pkt_bcnt_dist < 3*BASELINES_PER_BLOCK){ + // If the packet is for the block after the next block (i.e. current + // block + 2 blocks), mark the current block as filled. + if (pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK){ + + bcnt = set_block_filled(db, &binfo); + + // Print + fprintf(stderr,"Filled Block: %d with bcnt: %lu\n",binfo.block_curr, bcnt); + + // Update binfo + binfo.bcnt_start += BASELINES_PER_BLOCK; + binfo.block_packet_counter[binfo.block_curr] = 0; + memset(binfo.flags[binfo.block_curr], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[binfo.block_curr], 0, BASELINES_PER_BLOCK*sizeof(char)); + + binfo.block_curr = binfo.block_next; + binfo.block_next = (binfo.block_next+1) % CATCHER_N_BLOCKS; + + // Wait (hopefully not long!) to acquire the block after next. + if(hera_catcher_input_databuf_busywait_free(db, pkt_block_i) != HASHPIPE_OK) { + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } + } + + // Initialize the newly acquired block + initialize_block(db, bcnt+2*BASELINES_PER_BLOCK); + + // Reset out-of-seq counter + binfo.out_of_seq_cnt = 0; + } + + // Evaluate the location in the buffer to which to copy the packet data b = pkt_header.bcnt % BASELINES_PER_BLOCK; x = pkt_header.xeng_id % N_XENGINES_PER_TIME; t = (pkt_header.mcnt/Nt) % TIME_DEMUX; //Nt = 2 o = pkt_header.offset; - pkt_offset = hera_catcher_input_databuf_pkt_offset(b, t, x, o); //fprintf(stderr, "offset: %d\n", pkt_offset); //fprintf(stderr, "bcnt-loc:%d\txeng:%d\ttime:%d\tpktoffset:%d\n",b,x,t,o); - if(binfo.flags[pkt_block_i][pkt_offset]){ - // This slot is already filled - //fprintf(stderr, "Packet repeated!!\n"); - binfo.out_of_seq_cnt++; - return -1; + // Copy data into buffer with byte swap + payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); + dest_p = (uint32_t *)(db->block[pkt_block_i].data + (pkt_header.payload_len * pkt_offset/sizeof(uint32_t))); + + for(i=0; i<(pkt_header.payload_len>>2); i++){ + dest_p[i] = be32toh(payload_p[i]); } + //fprintf(stderr,"bcnt:%d\t block_id:%d\t Pkt cntr: %lu\n",b, pkt_block_i, binfo.block_packet_counter[pkt_block_i]); // If this is the first packet of this baseline, update header if(!binfo.baselines[pkt_block_i][b]){ - hera_catcher_input_databuf_p->block[pkt_block_i].header.mcnt[b] = pkt_header.mcnt; - hera_catcher_input_databuf_p->block[pkt_block_i].header.ant_pair_0[b] = pkt_header.ant0; - hera_catcher_input_databuf_p->block[pkt_block_i].header.ant_pair_1[b] = pkt_header.ant1; + db->block[pkt_block_i].header.mcnt[b] = pkt_header.mcnt; + db->block[pkt_block_i].header.ant_pair_0[b] = pkt_header.ant0; + db->block[pkt_block_i].header.ant_pair_1[b] = pkt_header.ant1; + db->block[pkt_block_i].header.bcnt[b] = pkt_header.bcnt; binfo.baselines[pkt_block_i][b] = 1; } - - // Copy data into buffer with byte swap - //payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); - //dest_p = (uint32_t *)(hera_catcher_input_databuf_p->block[pkt_block_i].data + (pkt_header.payload_len * pkt_offset/sizeof(uint32_t))); - - //for(i=0; i<(pkt_header.payload_len>>2); i++){ - // dest_p[i] = be32toh(payload_p[i]); - //} + // Update binfo binfo.flags[pkt_block_i][pkt_offset] = 1; binfo.block_packet_counter[pkt_block_i]++; - //fprintf(stderr,"bcnt:%d\t block_id:%d\t Pkt cntr: %lu\n",b, pkt_block_i, binfo.block_packet_counter[pkt_block_i]); - - // Check if curr block is full or next block is at thresh and set curr - // as filled. Wait to acquire the next block and update binfo tags. - if((binfo.block_packet_counter[binfo.block_curr] == PACKETS_PER_BLOCK) || \ - (binfo.block_packet_counter[binfo.block_next] == binfo.thresh)){ - - bcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); - - // Print - fprintf(stderr,"Filled Block: %d with bcnt: %lu\n",binfo.block_curr, bcnt); - - // Update binfo - binfo.block_packet_counter[binfo.block_curr] = 0; - memset(binfo.flags[binfo.block_curr], 0, PACKETS_PER_BLOCK*sizeof(char)); - memset(binfo.baselines[binfo.block_curr], 0, BASELINES_PER_BLOCK*sizeof(char)); - - binfo.block_curr = binfo.block_next; - binfo.block_next = (binfo.block_next+1) % CATCHER_N_BLOCKS; - - // Wait (hopefully not long!) to acquire the block after next. - hashpipe_status_lock_safe(st_p); - hputs(st_p->buf, status_key, "waiting for outbuf"); - hashpipe_status_unlock_safe(st_p); - while ((rv=hera_catcher_input_databuf_wait_free(hera_catcher_input_databuf_p, binfo.block_next)) != HASHPIPE_OK){ - if (rv==HASHPIPE_TIMEOUT) { - hashpipe_status_lock_safe(st_p); - hputs(st_p->buf, status_key, "blocked output"); - hashpipe_status_unlock_safe(st_p); - continue; - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - break; - } - } - - hashpipe_status_lock_safe(st_p); - hputs(st_p->buf, status_key, "running"); - hashpipe_status_unlock_safe(st_p); - // Initialize the newly acquired block - initialize_block(hera_catcher_input_databuf_p, bcnt+2*BASELINES_PER_BLOCK); - } + + // Check for duplicate packets + // if(binfo.flags[pkt_block_i][pkt_offset]){ + // // This slot is already filled + // //fprintf(stderr, "Packet repeated!!\n"); + // binfo.out_of_seq_cnt++; + // return -1; + // } + }else{ binfo.out_of_seq_cnt++; return -1; } - if (binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ_PKTS){ - //fprintf(stderr,"Lots of out of sequence packets!"); - } + //if (binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ_PKTS){ + // fprintf(stderr,"Lots of out of sequence packets!"); + //} return bcnt; } @@ -362,7 +369,6 @@ static void *run(hashpipe_thread_args_t * args){ st_p = &st; // allow global (this source file) access to the status buffer // Flag that holds off the net thread - //int holdoff = 1; int holdoff = 0; // Force ourself into the hold off state @@ -385,7 +391,7 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_status_unlock_safe(&st); } - fprintf(stderr,"Waiting to acquire two blocks to start!\n"); + fprintf(stderr,"Waiting to acquire three blocks to start!\n"); // Acquire first two blocks to start if(hera_catcher_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ @@ -406,12 +412,17 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_error(__FUNCTION__, "error waiting for free databuf"); pthread_exit(NULL); } + }if(hera_catcher_input_databuf_busywait_free(db, 2) != HASHPIPE_OK){ + if (errno == EINTR){ + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + }else{ + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + } } - fprintf(stderr,"Initializing the blocks..\n"); - // Initialize the newly acquired block - initialize_block(db, 0); - initialize_block(db, BASELINES_PER_BLOCK); /* Read network params */ int bindport = CATCHER_PORT; @@ -466,6 +477,8 @@ static void *run(hashpipe_thread_args_t * args){ fprintf(stderr,"Starting to collect packets..\n"); + fprintf(stderr,"Channels per catcher packet:%ld\n",CHAN_PER_CATCHER_PKT); + fprintf(stderr,"Packets per block: %ld\n",PACKETS_PER_BLOCK); while (run_threads()) { // Read packet @@ -489,7 +502,7 @@ static void *run(hashpipe_thread_args_t * args){ } packet_count++; - + // Copy packet into any blocks where it belongs. const uint64_t bcnt = process_packet((hera_catcher_input_databuf_t *)db, p_frame); // Release frame back to kernel @@ -531,35 +544,35 @@ static void *run(hashpipe_thread_args_t * args){ // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long int *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long int *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long int *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long int *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long int *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long int *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); From 03f884e11c8fd42a97e116c8a8e1131748e54ab8 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 14 Jun 2019 12:43:11 -0700 Subject: [PATCH 208/420] BDA disk thread v2 --- src/hera_catcher_disk_thread_v2.c | 999 ++++++++++++++++++++++++++++++ 1 file changed, 999 insertions(+) create mode 100644 src/hera_catcher_disk_thread_v2.c diff --git a/src/hera_catcher_disk_thread_v2.c b/src/hera_catcher_disk_thread_v2.c new file mode 100644 index 00000000..6adff7d7 --- /dev/null +++ b/src/hera_catcher_disk_thread_v2.c @@ -0,0 +1,999 @@ +/* + * hera_catcher_disk_thread.c + * + * Writes correlated data to disk as hdf5 files. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hashpipe.h" +#include "paper_databuf.h" +#include "lzf_filter.h" + +#define ELAPSED_NS(start,stop) \ + (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#define N_DATA_DIMS (4) +#define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM * XENG_CHAN_SUM)) +#define N_CHAN_RECEIVED (N_CHAN_TOTAL / XENG_CHAN_SUM) +#define N_BL_PER_WRITE (32) +//#define SKIP_DIFF + +#define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) + +#define MAXTIMES 64 + +static hid_t complex_id; +static hid_t boolenumtype; +//static hid_t boolean_id; + +typedef enum { + FALSE, + TRUE +} bool_t; + +typedef struct { + double e; + double n; + double u; +} enu_t; + +typedef struct { + int a; + int b; +} bl_t; + +typedef struct { + int ant0; + int ant1; + int tsamp; +} bl_bda_t; + +typedef struct { + hid_t file_id; + hid_t header_gid; + hid_t data_gid; + hid_t extra_keywords_gid; + hid_t visdata_did; + hid_t flags_did; + hid_t nsamples_did; + hid_t time_array_did; + hid_t integration_time_did; + hid_t uvw_array_did; + hid_t ant_1_array_did; + hid_t ant_2_array_did; + hid_t visdata_fs; + hid_t flags_fs; + hid_t nsamples_fs; + hid_t time_array_fs; + hid_t integration_time_fs; + hid_t uvw_array_fs; + hid_t ant_1_array_fs; + hid_t ant_2_array_fs; +} hdf5_id_t; + +static hid_t open_hdf5_from_template(char * sourcename, char * destname) +{ + int read_fd, write_fd; + struct stat stat_buf; + off_t offset = 0; + hid_t status; + + read_fd = open(sourcename, O_RDONLY); + if (read_fd < 0) { + hashpipe_error(__FUNCTION__, "error opening %s", sourcename); + pthread_exit(NULL); + } + + // Get the file size + fstat(read_fd, &stat_buf); + + write_fd = open(destname, O_WRONLY | O_CREAT, stat_buf.st_mode); + if (write_fd < 0) { + hashpipe_error(__FUNCTION__, "error opening %s", destname); + pthread_exit(NULL); + } + + sendfile(write_fd, read_fd, &offset, stat_buf.st_size); + + close(read_fd); + close(write_fd); + + status = H5Fopen(destname, H5F_ACC_RDWR, H5P_DEFAULT); + if (status < 0) { + hashpipe_error(__FUNCTION__, "error opening %s as HDF5 file", destname); + pthread_exit(NULL); + } + + return status; +} + +# define FILTER_H5_LZF 32000 +# define FILTER_H5_BITSHUFFLE 32008 +static void init_data_dataset(hdf5_id_t *id){ + + hsize_t data_dims[N_DATA_DIMS] = {N_BLTS_BDA, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + + hid_t file_space = H5Screate_simple(N_DATA_DIMS, data_dims, NULL); + + //make plist for LZF datasets + int r; + r = register_lzf(); + if (r<0) { + hashpipe_error(__FUNCTION__, "Failed to register LZF filter"); + pthread_exit(NULL); + } + hid_t plist_lzf = H5Pcreate(H5P_DATASET_CREATE); + H5Pset_chunk(plist_lzf, N_DATA_DIMS, chunk_dims); + H5Pset_shuffle(plist_lzf); + H5Pset_filter(plist_lzf, H5PY_FILTER_LZF, H5Z_FLAG_OPTIONAL, 0, NULL); + + // make plist for non-compressed datasets + hid_t plist = H5Pcreate(H5P_DATASET_CREATE); + H5Pset_layout(plist, H5D_CHUNKED); + H5Pset_chunk(plist, N_DATA_DIMS, chunk_dims); + + // Now we have the dataspace properties, create the datasets + id->visdata_did = H5Dcreate(id->data_gid, "visdata", complex_id, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->visdata_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create visdata dataset"); + pthread_exit(NULL); + } + + id->nsamples_did = H5Dcreate(id->data_gid, "nsamples", H5T_IEEE_F32LE, file_space, H5P_DEFAULT, plist_lzf, H5P_DEFAULT); + if (id->nsamples_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create nsamples dataset"); + pthread_exit(NULL); + } + + id->flags_did = H5Dcreate(id->data_gid, "flags", boolenumtype, file_space, H5P_DEFAULT, plist_lzf, H5P_DEFAULT); + if (id->flags_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create flags dataset"); + pthread_exit(NULL); + } + + H5Pclose(plist); + H5Pclose(plist_lzf); + H5Sclose(file_space); +} + +/* Create the extensible header entries which have dimensions ~Nblts. + * These are: + * Header/uvw_array (Nblts x 3) + * Header/time_array (Nblts) + * Header/integration_time (Nblts) + * Header/ant_1_array (Nblts) + * Header/ant_2_array (Nblts) + */ +#define DIM1 1 +#define DIM2 2 +static void init_headers_dataset(hdf5_id_t *id) { + hsize_t dims1[DIM1] = {N_BLTS_BDA}; + hsize_t chunk_dims1[DIM1] = {1}; + + hid_t file_space = H5Screate_simple(DIM1, dims1, NULL); + hid_t plist = H5Pcreate(H5P_DATASET_CREATE); + + H5Pset_layout(plist, H5D_CHUNKED); + H5Pset_chunk(plist, DIM1, chunk_dims1); + + // Now we have the dataspace properties, create the datasets + id->time_array_did = H5Dcreate(id->header_gid, "time_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->time_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create time_array dataset"); + pthread_exit(NULL); + } + + id->integration_time_did = H5Dcreate(id->header_gid, "integration_time", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->integration_time_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create integration_time dataset"); + pthread_exit(NULL); + } + + id->ant_1_array_did = H5Dcreate(id->header_gid, "ant_1_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->ant_1_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create ant_1_array dataset"); + pthread_exit(NULL); + } + + id->ant_2_array_did = H5Dcreate(id->header_gid, "ant_2_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->ant_2_array_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create ant_2_array dataset"); + pthread_exit(NULL); + } + + id->time_array_fs = H5Dget_space(id->time_array_did); + id->integration_time_fs = H5Dget_space(id->integration_time_did); + id->ant_1_array_fs = H5Dget_space(id->ant_1_array_did); + id->ant_2_array_fs = H5Dget_space(id->ant_2_array_did); + + H5Pclose(plist); + H5Sclose(file_space); + + // TODO: uvw array can be static for a file. See if you can encode this in python. + ///* And now uvw_array, which has shape Nblts x 3 */ + //hsize_t dims2[DIM2] = {N_BLTS_BDA, 3}; + //hsize_t chunk_dims2[DIM2] = {1, 3}; + + //file_space = H5Screate_simple(DIM2, dims2, NULL); + //plist = H5Pcreate(H5P_DATASET_CREATE); + + //H5Pset_layout(plist, H5D_CHUNKED); + + //H5Pset_chunk(plist, DIM2, chunk_dims2); + + //// Now we have the dataspace properties, create the datasets + //id->uvw_array_did = H5Dcreate(id->header_gid, "uvw_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + //if (id->uvw_array_did < 0) { + // hashpipe_error(__FUNCTION__, "Failed to create uvw_array dataset"); + // pthread_exit(NULL); + //} + //id->uvw_array_fs = H5Dget_space(id->uvw_array_did); + + //H5Pclose(plist); + H5Sclose(file_space); +} + +#define VERSION_BYTES 32 +static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t, char* tag) { + hid_t dataset_id; + hid_t memtype; + hid_t stat; + char ver[VERSION_BYTES] = GIT_VERSION; // defined at compile time + + id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); + + // Open HDF5 header groups and create data group + id->header_gid = H5Gopen(id->file_id, "Header", H5P_DEFAULT); + if (id->header_gid < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header"); + pthread_exit(NULL); + } + + id->extra_keywords_gid = H5Gopen(id->header_gid, "extra_keywords", H5P_DEFAULT); + if (id->extra_keywords_gid < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords"); + pthread_exit(NULL); + } + + id->data_gid = H5Gcreate(id->file_id, "Data", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + if (id->data_gid < 0) { + hashpipe_error(__FUNCTION__, "Failed to create Data group"); + pthread_exit(NULL); + } + + // Create the "Data" group datasets. This function + // assigns all the dataset ids to the id struct + init_data_dataset(id); + // Create the "Header/*" group datasets. This function + // assigns all the dataset ids to the id struct + init_headers_dataset(id); + + // Write meta-data values we know at file-open + // Write data tag + memtype = H5Tcopy(H5T_C_S1); + stat = H5Tset_size(memtype, 128); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to set size of tag memtype"); + } + dataset_id = H5Dopen(id->extra_keywords_gid, "tag", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/tag"); + } + stat = H5Dwrite(dataset_id, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, tag); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/tag"); + } + stat = H5Dclose(dataset_id); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/tag"); + } + + dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/obs_id"); + } + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/obs_id"); + } + H5Dclose(dataset_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/obs_id"); + } + dataset_id = H5Dopen(id->extra_keywords_gid, "corr_ver", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/corr_ver"); + } + memtype = H5Tcopy(H5T_C_S1); + stat = H5Tset_size(memtype, VERSION_BYTES); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to set size of corr_ver memtype"); + } + stat = H5Dwrite(dataset_id, memtype, H5S_ALL, H5S_ALL, H5P_DEFAULT, ver); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/corr_ver"); + } + stat = H5Dclose(dataset_id); + if (stat < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/corr_ver"); + } + dataset_id = H5Dopen(id->extra_keywords_gid, "startt", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/startt"); + } + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/startt"); + } + H5Dclose(dataset_id); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/startt"); + } +} + + +static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { + hid_t dataset_id; + dataset_id = H5Dopen(id->extra_keywords_gid, "stopt", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); + H5Dclose(dataset_id); + dataset_id = H5Dopen(id->extra_keywords_gid, "duration", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_duration); + H5Dclose(dataset_id); + dataset_id = H5Dopen(id->header_gid, "Nblts", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); + H5Dclose(dataset_id); + dataset_id = H5Dopen(id->header_gid, "Ntimes", H5P_DEFAULT); + H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nts); + H5Dclose(dataset_id); + // Close datasets + if (H5Dclose(id->visdata_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close visdata dataset"); + } + if (H5Dclose(id->flags_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close flags dataset"); + } + if (H5Dclose(id->nsamples_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); + } + // Close groups + if (H5Gclose(id->extra_keywords_gid) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close extra_keywords group"); + } + if (H5Gclose(id->header_gid) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close header group"); + } + if (H5Gclose(id->data_gid) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close data group"); + } + // Close file + if (H5Fflush(id->file_id, H5F_SCOPE_GLOBAL) < 0) { + hashpipe_error(__FUNCTION__, "Failed to flush file"); + } + if (H5Fclose(id->file_id) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close file"); + } +} + +static void close_filespaces(hdf5_id_t *id) { + H5Sclose(id->visdata_fs); + H5Sclose(id->flags_fs); + H5Sclose(id->nsamples_fs); + H5Sclose(id->time_array_fs); + H5Sclose(id->integration_time_fs); + H5Sclose(id->uvw_array_fs); + H5Sclose(id->ant_1_array_fs); + H5Sclose(id->ant_2_array_fs); +} + +/* Given an array of baseline pairs, figure out the indices of the autocorrs */ +static void get_auto_indices(bl_t *bl_order, int32_t *auto_indices, uint32_t n_bls) { + int32_t i = 0; + for (i=0; iheader_gid, "corr_bl_bda_order", H5P_DEFAULT); +// if (dataset_id < 0) { +// hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); +// pthread_exit(NULL); +// } +// status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_bda_order); +// if (status < 0) { +// hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); +// pthread_exit(NULL); +// } +// status = H5Dclose(dataset_id); +// if (status < 0) { +// hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); +// pthread_exit(NULL); +// } +//} + +/* Read the baseline order from an HDF5 file via the Header/corr_bl_order dataset */ +static void get_bl_order(hdf5_id_t *id, bl_t *bl_order) { + hid_t dataset_id; + herr_t status; + dataset_id = H5Dopen(id->header_gid, "corr_bl_order", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); + pthread_exit(NULL); + } + status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_order); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); + pthread_exit(NULL); + } + status = H5Dclose(dataset_id); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); + pthread_exit(NULL); + } +} + +/* Read the antenna positions from an HDF5 file via the Header/antenna_positions_enu dataset */ +static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { + hid_t dataset_id; + herr_t status; + dataset_id = H5Dopen(id->header_gid, "antenna_positions_enu", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/antenna_positions_enu dataset"); + pthread_exit(NULL); + } + status = H5Dread(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_pos); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to read Header/antenna_positions_enu dataset"); + pthread_exit(NULL); + } + status = H5Dclose(dataset_id); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/antenna_positions_enu dataset"); + pthread_exit(NULL); + } +} + +/* +Turn an mcnt into a UNIX time in double-precision. +*/ +static double mcnt2time(uint64_t mcnt, uint32_t sync_time) +{ + return sync_time + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); +} + +/* + * Write a bcnt to the dataset, at the right offset + */ +static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hid_t mem_space, uint64_t *visdata_buf) +{ + hsize_t start[N_DATA_DIMS] = {(bcnt%N_BLTS_BDA), 0, 0, 0}; + hsize_t count[N_DATA_DIMS] = {1 , 1, N_CHAN_PROCESSED, N_STOKES}; + H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); + H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); +} + +/* + * Write information to the hdf5 header. The data is written in the order it comes in, so the + * header might not be in a particular order-- verify! + * Write: time, ant0, ant1, integration time + */ + +static void write_header(hdf5_id_t *id, hsize_t t, hid_t mem_space_nblts, double *integration_time_buf, double *time_array_buf, int *ant_0_array, int *ant_1_array){ + + // integration time + if (H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, mem_space_nblts, id->integration_time_fs, H5P_DEFAULT, integration_time_buf) < 0){ + hashpipe_error(__FUNCTION__, "Error writing integration time"); + } + + // time stamp of integration + if (H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, mem_space_nblts, id->time_array_fs, H5P_DEFAULT, time_array_buf) < 0) { + hashpipe_error(__FUNCTION__, "Error writing time_array"); + } + + // ant0 + if (H5Dwrite(id->ant_1_array_did, H5T_NATIVE_INT, mem_space_nblts, id->ant_1_array_fs, H5P_DEFAULT, ant_0_array) < 0) { + hashpipe_error(__FUNCTION__, "Error writing ant_1_array"); + } + + // ant1 + if (H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, mem_space_nblts, id->ant_2_array_fs, H5P_DEFAULT, ant_1_array) < 0) { + hashpipe_error(__FUNCTION__, "Error writing ant_2_array"); + } + +} + +// Get the even-sample / first-pol / first-complexity of the correlation buffer for chan `c` baseline `b` +static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, uint32_t bcnt) { + + int chan; + + __m256i val_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + __m256i val_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + + __m256i *in_even256, *in_odd256; + __m256i *out_sum256 = (__m256i *)out_sum; + __m256i *out_diff256 = (__m256i *)out_diff; + + in_even256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0)); + in_odd256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); + + // 256 bits = 4 stokes * 2 real/imag * 32 bits == 1 channel + + for(chan=0; chan< N_CHAN_PROCESSED; chan++){ + val_even = _mm256_load_si256(in_even256 + chan); + val_odd = _mm256_load_si256(in_odd256 + chan); + _mm256_store_si256((out_sum256 + chan), _mm256_add_epi32(val_even, val_odd)); + _mm256_store_si256((out_diff256 + chan), _mm256_sub_epi32(val_even, val_odd)); + } + +return; +} + +static int init(hashpipe_thread_args_t *args) +{ + //hashpipe_status_t st = args->st; + //if (register_lzf() < 0) { + // hashpipe_error(__FUNCTION__, "error registering LZF filter"); + // pthread_exit(NULL); + //} + fprintf(stdout, "Initializing Catcher disk thread\n"); + + // generate the complex data type + complex_id = H5Tcreate(H5T_COMPOUND, 8); + H5Tinsert(complex_id, "r", 0, H5T_STD_I32LE); + H5Tinsert(complex_id, "i", 4, H5T_STD_I32LE); + + // generate the boolean data type + bool_t val; + boolenumtype = H5Tcreate(H5T_ENUM, sizeof(bool_t)); + H5Tenum_insert(boolenumtype, "FALSE", CPTR(val, FALSE )); + H5Tenum_insert(boolenumtype, "TRUE", CPTR(val, TRUE )); + //H5Tinsert(boolean_id, "FLAG", 0, boolenumtype); + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our input buffer is a hera_catcher_input_databuf + hera_catcher_input_databuf_t *db_in = (hera_catcher_input_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // Timers for performance monitoring + struct timespec t_start, w_start, w_stop; // transpose start, write start, write stop + float gbps, min_gbps; + + struct timespec start, finish; + uint64_t t_ns; // transpose + uint64_t w_ns; // write + uint64_t min_t_ns = 999999999; + uint64_t min_w_ns = 999999999; + uint64_t max_t_ns = 0; + uint64_t max_w_ns = 0; + uint64_t elapsed_t_ns = 0; + uint64_t elapsed_w_ns = 0; + float bl_t_ns = 0.0; + float bl_w_ns = 0.0; + + // Buffers for file name strings + char template_fname[128]; + char hdf5_fname[128]; + + // Variables for sync time and computed gps time / JD + uint32_t sync_time = 0; + double gps_time; + double julian_time; + + // Variables for data collection parameters + uint32_t acc_len; + uint32_t nfiles; + uint32_t file_cnt = 0; + uint32_t trigger = 0; + char tag[128]; + + // Variables for antenna positions and baseline orders. These should be provided + // via the HDF5 header template. + bl_t bl_order[VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES]; + //bl_bda_t bl_bda_order[N_BLTS_BDA]; + int32_t auto_indices[N_ANTS]; + enu_t ant_pos[N_ANTS]; + + // A buffer for the real parts of a single auto-corr. Used for writing to redis + float auto_corr_n[N_CHAN_PROCESSED]; + float auto_corr_e[N_CHAN_PROCESSED]; + + // Init status variables + hashpipe_status_lock_safe(&st); + hputi8(st.buf, "DISKMCNT", 0); + hputu4(st.buf, "TRIGGER", 0); + hashpipe_status_unlock_safe(&st); + + // Redis connection + redisContext *c; + redisReply *reply; + const char *hostname = "redishost"; + int redisport = 6379; + int use_redis = 1; + int idle = 0; + + struct timeval redistimeout = { 0, 100000 }; // 0.1 seconds + c = redisConnectWithTimeout(hostname, redisport, redistimeout); + if (c == NULL || c->err) { + if (c) { + fprintf(stderr, "Redis connection error: %s\n", c->errstr); + redisFree(c); + use_redis = 0; + } else { + fprintf(stderr, "Connection error: can't allocate redis context\n"); + use_redis = 0; + } + } + + // Indicate via redis that we're started but not taking data + redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + redisCommand(c, "EXPIRE corr:is_taking_data 60"); + + /* Loop(s) */ + int32_t *db_in32; + int rv; + unsigned int samp; + int curblock_in=0; + int a, xeng, xchan, chan; + double file_start_t, file_stop_t, file_duration; + int64_t file_obs_id, file_nblts=0, file_nts=0; + int64_t start_mcnt; + int64_t curr_file_mcnts[8]; + int32_t bcnt; + int32_t curr_file_bcnt = -1; + uint32_t bctr; // bcnt variable + int bl; // baseline variable + + hdf5_id_t sum_file, diff_file; + + // aligned_alloc because we're going to use 256-bit AVX instructions + int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + + double *integration_time_buf = (double *)malloc(N_BLTS_BDA * sizeof(double)); + double *time_array_buf = (double *)malloc(N_BLTS_BDA * sizeof(double)); + uint16_t *ant_0_array = (uint16_t *)malloc(N_BLTS_BDA * sizeof(uint16_t)); + uint16_t *ant_1_array = (uint16_t *)malloc(N_BLTS_BDA * sizeof(uint16_t)); + //double *uvw_array_buf = (double *)malloc(N_BLTS_BDA * 3 * sizeof(double)); + + // Allocate an array of bools for flags and n_samples + hbool_t *flags = (hbool_t *)calloc(0, N_BLTS_BDA * sizeof(hbool_t)); + //uint64_t *nsamples = (uint64_t *)malloc(N_BLTS_BDA * sizeof(uint64_t)); + + // Define the memory space used by these buffers for HDF5 access + // We write 1[baseline] x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time + hsize_t dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + hid_t mem_space_data = H5Screate_simple(N_DATA_DIMS, dims, NULL); + // Memory spaces to Nblts-element header vectors + hsize_t dims1[DIM1] = {N_BLTS_BDA}; + hid_t mem_space_nblts = H5Screate_simple(DIM1, dims1, NULL); + // Memory spaces to (Nblts x 3)-element header vectors + hsize_t dims2[DIM2] = {N_BLTS_BDA, 3}; + hid_t mem_space_uvw = H5Screate_simple(DIM2, dims2, NULL); + + while (run_threads()) { + // Note waiting status, + hashpipe_status_lock_safe(&st); + if (idle) { + hputs(st.buf, status_key, "idle"); + } else { + hputs(st.buf, status_key, "waiting"); + } + hashpipe_status_unlock_safe(&st); + + // Expire the "corr:is_taking_data" key after 60 seconds. + // If this pipeline goes down, we will know because the key will disappear + redisCommand(c, "EXPIRE corr:is_taking_data 60"); + + // Wait for new input block to be filled + while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, curblock_in)) != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked_in"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } + + // reset elapsed time counters + elapsed_w_ns = 0; + elapsed_t_ns = 0.0; + + // Get template filename from redis + hashpipe_status_lock_safe(&st); + hgets(st.buf, "HDF5TPLT", 128, template_fname); + + // Get time that F-engines were last sync'd + hgetu4(st.buf, "SYNCTIME", &sync_time); + + // Get the integration time reported by the correlator + hgetu4(st.buf, "INTTIME", &acc_len); + + // Get the number of files to write + hgetu4(st.buf, "NFILES", &nfiles); + // Update the status with how many files we've already written + hputu4(st.buf, "NDONEFIL", file_cnt); + + // Data tag + hgets(st.buf, "TAG", 128, tag); + + // Get the number of files to write + hgetu4(st.buf, "TRIGGER", &trigger); + hashpipe_status_unlock_safe(&st); + + // If we have written all the files we were commanded to + // start marking blocks as done and idling until a new + // trigger is received + if (trigger) { + fprintf(stdout, "Catcher got a new trigger and will write %d files\n", nfiles); + file_cnt = 0; + hashpipe_status_lock_safe(&st); + hputu4(st.buf, "TRIGGER", 0); + hashpipe_status_unlock_safe(&st); + idle = 0; + if (use_redis) { + // Create the "corr:is_taking_data" hash. This will be set to + // state=False when data taking is complete. Or if this pipeline + // exits the key will expire. + redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); + } + } else if (file_cnt >= nfiles) { + // If we're transitioning to idle state + // Indicate via redis that we're no longer taking data + if (!idle) { + redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + } + idle = 1; + // Mark input block as free and advance + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + continue; + } + + // If we make it to here we're not idle any more. + // Usually this would mean there has been another trigger but + // it could be some weirdness where someone tried to take more + // data by incrementing NFILES without retriggering. + idle = 0; + + // Start writing files! + // A file is defined as N_BLTS_BDA number of bcnts. If a bcnt belonging + // to a new intergation arrives, close the old file and start a new file. + + db_in32 = (int32_t *)db_in->block[curblock_in].data; + + for(bctr = 0; bctr < BASELINES_PER_BLOCK; bctr++){ + + // Check if bcnt marks the beginning of a new file + bcnt = db_in->block[curblock_in].header.bcnt[bctr]; + if (bcnt % N_BLTS_BDA == 0){ + + // If a file is open, finish its meta-data and close it. + if (curr_file_bcnt > 0){ + fprintf(stdout, "Closing datasets and files\n"); + close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); + close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); + file_cnt += 1; + + // If this is the last file, mark this block done and get out of the loop + if (file_cnt >= nfiles) { + fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + curr_file_bcnt = -1; //So the next trigger will start a new file + continue; + } + } + + // Open a new sum and difference file + + // Init all counters to zero + file_nblts = 0; + file_nts = 0; + memset(ant_0_array, 0, N_BLTS_BDA * sizeof(uint16_t)); + memset(ant_1_array, 0, N_BLTS_BDA * sizeof(uint16_t)); + memset(time_array_buf, 0, N_BLTS_BDA * sizeof(double)); + memset(integration_time_buf, 0, N_BLTS_BDA * sizeof(double)); + + curr_file_bcnt = bcnt; + gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); + julian_time = 2440587.5 + (gps_time / (double)(86400.0)); + file_start_t = gps_time; + file_obs_id = (int64_t)gps_time; + + sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); + start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + + sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); + start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + + // Get the antenna positions and baseline orders + // These are needed for populating the ant_[1|2]_array and uvw_array + get_ant_pos(&sum_file, ant_pos); + get_bl_order(&sum_file, bl_order); + //get_bl_bda_order(&sum_file, bl_bda_order); + get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); + } + + // If bcnt does not start a new file, and an open file exists, + // copy data to the right location + if (curr_file_bcnt > 0){ + + // Update time and sample counters + file_nblts += 1; + file_nts += 1; + + if (file_nts > MAXTIMES) { + hashpipe_error(__FUNCTION__, "Writing time sample %d but maximum hardcoded limit is %d\n", file_nts, MAXTIMES); + } + + // extend the datasets with time axes and update filespace IDs + + compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff, bcnt%BASELINES_PER_BLOCK); + write_baseline_index(&sum_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_sum); + write_baseline_index(&diff_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_diff); + + samp = bcnt - curr_file_bcnt; + ant_0_array[samp] = db_in->block[curblock_in].header.ant_pair_0[bctr]; + ant_1_array[samp] = db_in->block[curblock_in].header.ant_pair_1[bctr]; + time_array_buf[samp] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); + + // Close the filespaces - leave the datasets open. We'll close those when the file is done + close_filespaces(&sum_file); + close_filespaces(&diff_file); + + clock_gettime(CLOCK_MONOTONIC, &finish); + + } // processed data copying + } // bctr for loop + + //// Write autocorrs to redis + //if(use_redis) { + // for (a=0; a= 0) { + // //fprintf(stdout, "Reporting autocorrs for ant %d (bl %d) to redis\n", a, auto_indices[a]); + // for (xeng=0; xeng Date: Tue, 18 Jun 2019 20:41:32 +0000 Subject: [PATCH 209/420] Add option to tee X-engine logs to redis --- src/scripts/paper_init.sh | 82 ++++++++++++++++++++++++++++++++------- src/scripts/xtor_up.py | 17 +++++++- 2 files changed, 83 insertions(+), 16 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index a61892bb..d525df71 100755 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -166,33 +166,87 @@ function init() { return 1 fi + if [ $USE_IBVERBS -eq 1 ] + then + netthread=hera_ibv_thread + else + netthread=hera_pktsock_thread + fi + + echo "Using netthread: $netthread" + echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o BINDHOST=$bindhost \ -o GPUDEV=$gpudev \ -o XID=$xid \ - -c $netcpu hera_pktsock_thread \ + -c $netcpu $netthread \ -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread - taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -o GPUDEV=$gpudev \ - -o XID=$xid \ - -c $netcpu hera_pktsock_thread \ - -m $flfcpu paper_fluff_thread \ - -c $gpucpu paper_gpu_thread \ - -c $outcpu hera_gpu_output_thread \ - < /dev/null \ - 1> px${mypx}.out.$instance \ - 2> px${mypx}.err.$instance & + if [ $USE_REDIS -eq 1 ] + then + echo "Using redis logger" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null 2>&3 | tee px${mypx}.out.$instance | \ + stdin_to_redis.py -l INFO >/dev/null; } \ + 3>&1 1>&2 | tee px${mypx}.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + else + echo "*NOT* using redis logger" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & + fi } +# Default to Packet sockets; No redis logging +USE_IBVERBS=0 +USE_REDIS=0 + +for arg in $@; do + case $arg in + -h) + echo "Usage: $(basename $0) [-r] [-i] INSTANCE_ID [...]" + echo " -r : Use redis logging (in addition to log files)" + echo " -i : Use IB-verbs pipeline (rather than packet sockets)" + exit 0 + ;; + + -i) + USE_IBVERBS=1 + shift + ;; + -r) + USE_REDIS=1 + shift + ;; + esac +done + if [ -z "$1" ] then - echo "Usage: $(basename $0) INSTANCE_ID [...]" + echo "Usage: $(basename $0) [-r] [-i] INSTANCE_ID [...]" + echo " -r : Use redis logging (in addition to log files)" + echo " -i : Use IB-verbs pipeline (rather than packet sockets)" exit 1 fi diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 3ddc0168..6961dcbb 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import os import redis import time import argparse @@ -35,6 +36,11 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) parser.add_argument('--ibverbs', dest='ibverbs', action='store_true', default=False, help='Use the IB Verbs netthread. Experimental!') +parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, + help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') +parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", + help='The path to a python virtual environment which will be activated prior to running paper_init. ' + + 'Only relevant if using the --redislog flag, which uses a python redis interface') args = parser.parse_args() hosts = args.hosts # Too lazy to keey typing this @@ -50,10 +56,17 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts(hosts, perf_tweaker, user='root', wait=True) # Start X-Engines +init_args = [] if args.ibverbs: - run_on_hosts(hosts, [paper_init_ibv, '0', '1'], wait=True) # two instances per host + init_args += ['-i'] +if args.redislog: + init_args += ['-r'] + +if args.redislog: + python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + run_on_hosts(hosts, python_source_cmd + [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host else: - run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host + run_on_hosts(hosts, [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host # Start hashpipe<->redis gateways cpu_masks = ['0x0080', '0x8000'] From f25b5cdc42fbd4c45272c0db43f98808510e36d0 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Jun 2019 14:14:44 +0000 Subject: [PATCH 210/420] Add redis logging option to catcher --- src/paper_databuf.c | 4 +-- src/scripts/hera_catcher_init.sh | 50 ++++++++++++++++++++++++++------ src/scripts/hera_catcher_up.py | 12 +++++++- 3 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/paper_databuf.c b/src/paper_databuf.c index c49029c2..2dd1107a 100644 --- a/src/paper_databuf.c +++ b/src/paper_databuf.c @@ -197,8 +197,8 @@ hashpipe_databuf_t *hera_catcher_input_databuf_create(int instance_id, int datab + sizeof(hashpipe_databuf_cache_alignment); size_t block_size = sizeof(hera_catcher_input_block_t); int n_block = CATCHER_N_BLOCKS; - fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); - fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, (uint64_t)(VIS_MATRIX_ENTRIES *TIME_DEMUX)); + fprintf(stdout, "size_t: %u, block size: %lu, nblocks size: %u\n", (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + fprintf(stdout, "header size: %u, words: %lu\n", (uint32_t)header_size, (uint64_t)(VIS_MATRIX_ENTRIES *TIME_DEMUX)); return hashpipe_databuf_create( instance_id, databuf_id, header_size, block_size, n_block); diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 0cee02ef..0cb90e12 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -24,19 +24,51 @@ function init() { -c $netcpu hera_catcher_net_thread \ -c $outcpu hera_catcher_disk_thread - taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -c $netcpu hera_catcher_net_thread \ - -c $outcpu hera_catcher_disk_thread \ - < /dev/null \ - 1> ~/catcher.out.$instance \ - 2> ~/catcher.err.$instance & + if [ $USE_REDIS -eq 1 ] + then + echo "Using redis logger" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread \ + < /dev/null 2>&3 | tee ~/catcher.out.$instance | \ + stdin_to_redis.py -l INFO > /dev/null; } \ + 3>&1 1>&2 | tee ~/catcher.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + else + echo "*NOT* using redis logger" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread \ + < /dev/null \ + 1> ~/catcher.out.$instance \ + 2> ~/catcher.err.$instance & + fi } +USE_REDIS=0 + +for arg in $@; do + case $arg in + -h) + echo "Usage: $(basename $0) [-r] INSTANCE_ID [...]" + echo " -r : Use redis logging (in addition to log files)" + exit 0 + ;; + -r) + USE_REDIS=1 + shift + ;; + esac +done + if [ -z "$1" ] then - echo "Usage: $(basename $0) INSTANCE_ID [...]" + echo "Usage: $(basename $0) [-r] INSTANCE_ID [...]" + echo " -r : Use redis logging (in addition to log files)" exit 1 fi diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index c8d03fac..bf8f6a27 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import os import redis import time import argparse @@ -32,6 +33,11 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Place to put HDF5 header template file') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) +parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, + help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') +parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", + help='The path to a python virtual environment which will be activated prior to running paper_init. ' + + 'Only relevant if using the --redislog flag, which uses a python redis interface') args = parser.parse_args() @@ -42,7 +48,11 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([args.host], perf_tweaker, user='root', wait=True) # Start Catcher -run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=True) +if args.redislog: + python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + run_on_hosts([args.host], python_source_cmd + ['cd', '/data;', init, '-r', '0'], wait=True) +else: + run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=True) time.sleep(15) # Start hashpipe<->redis gateways From afa5b749748ca54f3cfe4c0021959fdbfa1ded28 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Jun 2019 14:17:47 +0000 Subject: [PATCH 211/420] Fix redeclaration of python sourcing path --- src/scripts/hera_catcher_up.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index bf8f6a27..052c490c 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -8,7 +8,6 @@ perf_tweaker = 'tweak-perf-sn.sh' init = 'hera_catcher_init.sh' -python_source_cmd = ['source', '~/hera-venv/bin/activate'] template_cmd = ['hera_make_hdf5_template.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): @@ -63,7 +62,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(15) # Generate the meta-data template -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) +run_on_hosts([args.host], python_source_cmd + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { From 3ae5f333e784dd4d0337935d8d63bd0bf61d3ddc Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Jun 2019 16:09:04 +0000 Subject: [PATCH 212/420] Make teardown scripts kill redis loggers --- src/scripts/hera_catcher_down.sh | 5 +++++ src/scripts/xtor_down.sh | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/scripts/hera_catcher_down.sh b/src/scripts/hera_catcher_down.sh index bf1a9209..d69097c7 100755 --- a/src/scripts/hera_catcher_down.sh +++ b/src/scripts/hera_catcher_down.sh @@ -19,6 +19,11 @@ echo "killing any remaining hashpipe-redis gateways" ssh root@$catcherhost pkill -f hashpipe_redis_gateway.rb ssh root@$catcherhost pkill -f -9 hashpipe_redis_gateway.rb +#Kill any redis loggers +echo "killing any redis loggers" +ssh root@$catcherhost pkill -f stdin_to_redis.py +ssh root@$catcherhost pkill -9 -f stdin_to_redis.py + # Stop hashpipe instances echo "killing hashpipe instances" ssh root@$catcherhost pkill -f hashpipe diff --git a/src/scripts/xtor_down.sh b/src/scripts/xtor_down.sh index a6cfdf1e..b0126480 100755 --- a/src/scripts/xtor_down.sh +++ b/src/scripts/xtor_down.sh @@ -97,6 +97,11 @@ echo "killing any remaining hashpipe-redis gateways" for x; do ssh root@px$x pkill -f hashpipe_redis_gateway.rb; done for x; do ssh root@px$x pkill -9 -f hashpipe_redis_gateway.rb; done +#Kill any redis loggers +echo "killing any redis loggers" +for x; do ssh root@px$x pkill -f stdin_to_redis.py; done +for x; do ssh root@px$x pkill -9 -f stdin_to_redis.py; done + # Stop hashpipe instances echo "killing hashpipe instances" for x; do ssh root@px$x pkill hashpipe; done From 826719dfba7473c42c17b756a5e14dcd13078ee3 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Jun 2019 16:09:58 +0000 Subject: [PATCH 213/420] Don't log stdout, only stderr to redis Otherwise it gets too noisy --- src/scripts/hera_catcher_init.sh | 3 +-- src/scripts/paper_init.sh | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 0cb90e12..1533b2c3 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -32,8 +32,7 @@ function init() { -o BINDHOST=$bindhost \ -c $netcpu hera_catcher_net_thread \ -c $outcpu hera_catcher_disk_thread \ - < /dev/null 2>&3 | tee ~/catcher.out.$instance | \ - stdin_to_redis.py -l INFO > /dev/null; } \ + < /dev/null 2>&3 1>~/catcher.out.$instance; } \ 3>&1 1>&2 | tee ~/catcher.err.$instance | \ stdin_to_redis.py -l WARNING > /dev/null & else diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index d525df71..05ad5f9b 100755 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -197,8 +197,7 @@ function init() { -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread \ - < /dev/null 2>&3 | tee px${mypx}.out.$instance | \ - stdin_to_redis.py -l INFO >/dev/null; } \ + < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ 3>&1 1>&2 | tee px${mypx}.err.$instance | \ stdin_to_redis.py -l WARNING > /dev/null & else From 7e6bbd092927529d52a3409182fb268c2e4374c8 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Jun 2019 23:13:33 +0000 Subject: [PATCH 214/420] python path fix --- src/scripts/hera_catcher_up.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 052c490c..5b869b29 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -40,6 +40,9 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): args = parser.parse_args() +# Environment sourcing command required to run remote python jobs +python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + r = redis.Redis(args.redishost) # Run performance tweaking script @@ -48,7 +51,6 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Start Catcher if args.redislog: - python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] run_on_hosts([args.host], python_source_cmd + ['cd', '/data;', init, '-r', '0'], wait=True) else: run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=True) From f499bc2278d65eb7d47012f65a789896fb8b7d31 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 18 Jun 2019 18:54:43 +0000 Subject: [PATCH 215/420] Reset NFILES and NDONE files on startup And don't allow start a recording by simply increasing the NFILES without a trigger --- src/hera_catcher_disk_thread.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index f3868bdb..eaa2b6cf 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -760,7 +760,10 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputi8(st.buf, "DISKMCNT", 0); hputu4(st.buf, "TRIGGER", 0); + hputu4(st.buf, "NFILES", 0); + hputu4(st.buf, "NDONEFIL", 0); hashpipe_status_unlock_safe(&st); + int idle = 1; // Start in idle state. Need s trigger to kick off. // Redis connection redisContext *c; @@ -768,8 +771,6 @@ static void *run(hashpipe_thread_args_t * args) const char *hostname = "redishost"; int redisport = 6379; int use_redis = 1; - int idle = 0; - use_redis = use_redis; struct timeval redistimeout = { 0, 100000 }; // 0.1 seconds c = redisConnectWithTimeout(hostname, redisport, redistimeout); @@ -824,15 +825,17 @@ static void *run(hashpipe_thread_args_t * args) hsize_t dims2[DIM2] = {VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES, 3}; hid_t mem_space2 = H5Screate_simple(DIM2, dims2, NULL); + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "starting"); + hashpipe_status_unlock_safe(&st); + while (run_threads()) { // Note waiting status, - hashpipe_status_lock_safe(&st); if (idle) { - hputs(st.buf, status_key, "idle"); - } else { - hputs(st.buf, status_key, "waiting"); + hashpipe_status_lock_safe(&st); + hputs(st.buf, "TRIGSTAT", "idle"); + hashpipe_status_unlock_safe(&st); } - hashpipe_status_unlock_safe(&st); // Expire the "corr:is_taking_data" key after 60 seconds. // If this pipeline goes down, we will know because the key will disappear @@ -888,6 +891,7 @@ static void *run(hashpipe_thread_args_t * args) file_cnt = 0; hashpipe_status_lock_safe(&st); hputu4(st.buf, "TRIGGER", 0); + hputs(st.buf, "TRIGSTAT", "running"); hashpipe_status_unlock_safe(&st); idle = 0; if (use_redis) { @@ -895,7 +899,7 @@ static void *run(hashpipe_thread_args_t * args) // when data taking is complete. Or if this pipeline exits the key will expire. redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); } - } else if (file_cnt >= nfiles) { + } else if (file_cnt >= nfiles || idle) { // If we're transitioning to idle state // Indicate via redis that we're no longer taking data if (!idle) { @@ -915,7 +919,7 @@ static void *run(hashpipe_thread_args_t * args) // Usually this would mean there has been another trigger but // it could be some weirdness where someone tried to take more // data by incrementing NFILES without retriggering. - idle = 0; + // ED: this is no longer possible -- the only way out of idle state is a trigger // Got a new data block, update status hashpipe_status_lock_safe(&st); From 0316c7d1d9bdd28fe4d9965b81e97db179b8f5a5 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 19 Jun 2019 14:51:54 +0000 Subject: [PATCH 216/420] Add parameter to take into accoutn netthread sees more bytes than are valid Because each packet contains 3 ants and they may not all be real --- src/paper_databuf.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 83bd4a1d..9ca01c2d 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -34,7 +34,9 @@ //#define N_SUB_BLOCKS_PER_INPUT_BLOCK N_TIME_PER_BLOCK //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) #define N_BYTES_PER_BLOCK (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_INPUTS) -#define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK / N_BYTES_PER_PACKET) +// The netthread sees more bytes than this since we can only send N_INPUTS_PER_PACKET +#define N_BYTES_PER_BLOCK_NET (N_TIME_PER_BLOCK * N_CHAN_PER_X * ((N_INPUTS_PER_PACKET*N_INPUTS + N_INPUTS_PER_PACKET-1) / N_INPUTS_PER_PACKET)) +#define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK_NET / N_BYTES_PER_PACKET) #define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK * N_INPUTS_PER_PACKET / 2 / N_FENGINES) // Number of X-engines per time slice. E.g. for HERA: 16. #define N_XENGINES_PER_TIME (N_CHAN_TOTAL / N_CHAN_PER_X) From b0e17d5ef6deabc9deeb84235f3cd165d4f86ee6 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 19 Jun 2019 22:40:59 +0000 Subject: [PATCH 217/420] Revert "Add parameter to take into accoutn netthread sees more bytes than are valid" This reverts commit 0316c7d1d9bdd28fe4d9965b81e97db179b8f5a5. --- src/paper_databuf.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 9ca01c2d..83bd4a1d 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -34,9 +34,7 @@ //#define N_SUB_BLOCKS_PER_INPUT_BLOCK N_TIME_PER_BLOCK //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) #define N_BYTES_PER_BLOCK (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_INPUTS) -// The netthread sees more bytes than this since we can only send N_INPUTS_PER_PACKET -#define N_BYTES_PER_BLOCK_NET (N_TIME_PER_BLOCK * N_CHAN_PER_X * ((N_INPUTS_PER_PACKET*N_INPUTS + N_INPUTS_PER_PACKET-1) / N_INPUTS_PER_PACKET)) -#define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK_NET / N_BYTES_PER_PACKET) +#define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK / N_BYTES_PER_PACKET) #define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK * N_INPUTS_PER_PACKET / 2 / N_FENGINES) // Number of X-engines per time slice. E.g. for HERA: 16. #define N_XENGINES_PER_TIME (N_CHAN_TOTAL / N_CHAN_PER_X) From f5126f2258ecc327b3ae84730e7cc8d9acdb7a98 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 19 Jun 2019 23:28:39 +0000 Subject: [PATCH 218/420] Have GPU thread print xGPU to status buffer Useful for sanity --- src/paper_gpu_thread.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/paper_gpu_thread.c b/src/paper_gpu_thread.c index d558d1bd..6edf2d6f 100644 --- a/src/paper_gpu_thread.c +++ b/src/paper_gpu_thread.c @@ -51,6 +51,9 @@ static void *run(hashpipe_thread_args_t * args, int doCPU) hputi8(st.buf, "GPUDUMPS", 0); hgeti4(st.buf, "GPUDEV", &gpu_dev); // No change if not found hputi4(st.buf, "GPUDEV", gpu_dev); + hputi8(st.buf, "GPUNANT", N_ANTS); + hputi8(st.buf, "GPUNCHAN", N_CHAN_PER_X); + hputi8(st.buf, "GPUNTIME", N_TIME_PER_BLOCK); hashpipe_status_unlock_safe(&st); /* Loop */ From 700cec0ca041aee0a56b74a846c6a83f6fc39143 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 19 Jun 2019 23:29:25 +0000 Subject: [PATCH 219/420] Make N_FENGINES always equal to N_ANTS Not clear how these can be different in a working system at present --- src/paper_databuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 83bd4a1d..80f65589 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -9,7 +9,7 @@ #define N_CHAN_TOTAL_GENERATED (8192) #define FENG_SAMPLE_RATE (500000000) #define N_CHAN_TOTAL 6144 -#define N_FENGINES 192 +//#define N_FENGINES 192 # isn't this always the same as the number of antennas? #define N_CHAN_PER_F N_CHAN_TOTAL // Number of separate X-engines which deal with @@ -30,6 +30,7 @@ #define N_CHAN_PER_X XGPU_NFREQUENCY // Derived from above quantities +#define N_FENGINES N_ANTS //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / N_TIME_PER_PACKET) //#define N_SUB_BLOCKS_PER_INPUT_BLOCK N_TIME_PER_BLOCK //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) From 37721122403753aa316df465e310d3ffb3405b40 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 19 Jun 2019 23:30:42 +0000 Subject: [PATCH 220/420] Wait an extra couple of seconds before releasing NETHOLD --- src/scripts/xtor_up.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 6961dcbb..3049f212 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -83,6 +83,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): key = 'hashpipe://%s/%d/set' % (host, i) r.publish(key, 'TIMEIDX=%d' % (hn//nhosts_per_timeslice)) +time.sleep(2) + # Let the network threads begin processing for hn, host in enumerate(hosts): for i in range(args.ninstances): From 98048c6314888380930f824e50d222fa4c9ff570 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 20 Jun 2019 00:13:50 +0000 Subject: [PATCH 221/420] Give fluffing 3 threads 2 workers, and one parent --- src/scripts/paper_init.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index 05ad5f9b..67a21893 100755 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -133,8 +133,8 @@ case ${hostname} in instances=( # GPU NET FLF GPU OUT # mask bind_host DEV XID CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 0x0006 3 4" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 0x0600 11 12" # Instance 1, eth5 + "0x00ff eth3 0 $xid0 0 0x000e 4 5" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 8 0x0e00 12 13" # Instance 1, eth5 );; *) From 70ebc0ee9070a90a43b6ea7e88e0dc81f2fe7112 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 20 Jun 2019 00:14:38 +0000 Subject: [PATCH 222/420] Blast the output packets! For testing, don't bother to throttle the output packets. --- src/hera_gpu_output_thread.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index c1afcd3e..70bd01f1 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -69,7 +69,9 @@ static XGPUInfo xgpu_info; // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (4 * XENG_CHAN_SUM * 8*OUTPUT_BYTES_PER_PACKET) +//#define PACKET_DELAY_NS (4 * XENG_CHAN_SUM * 8*OUTPUT_BYTES_PER_PACKET) +// Blast the packets! +#define PACKET_DELAY_NS (0) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; From 073864871f47ce05dc8b7f63af64b7c7a038b80f Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 24 Jun 2019 22:45:31 +0000 Subject: [PATCH 223/420] Add installation script with N_ants option NB: hardcoded N_ANTS still exists in the template hdf5 header generation script --- install_hera.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 install_hera.sh diff --git a/install_hera.sh b/install_hera.sh new file mode 100755 index 00000000..cdbe7626 --- /dev/null +++ b/install_hera.sh @@ -0,0 +1,33 @@ +#! /bin/bash + +#default to 192 antennas +n_ants=192 + +while getopts ":a:h:" opt; do + case ${opt} in + a ) + n_ants=$OPTARG + ;; + \? ) + echo "Usage: $(basename $0) [-a]" + echo " -a : number of antennas to compile for and install" + exit + ;; + esac +done + +echo "Building and installing for ${n_ants} antennas" +sleep 1; + +cd xGPU/src + +make clean +make NSTATION=$n_ants NFREQUENCY=384 NTIME=2048 NTIME_PIPE=1024 CUDA_ARCH=sm_61 DP4A=yes +sudo make install prefix="/usr/local/xgpu-1080-dp4a-384c-${n_ants}a" + +cd ../../src + +./configure --with-xgpu="/usr/local/xgpu-1080-dp4a-384c-${n_ants}a" +make clean +make +sudo make install From d694f688f4d33241c9607b9259d3d1ce0af0d9cc Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:27:19 -0700 Subject: [PATCH 224/420] Separate BDA averaging and sending... ... to us the 16 sec of integration time for sending data, instead of the 2sec it takes to fill the buffer, separating the BDA averaging and data output to the catcher machine. --- src/Makefile.am | 9 ++++-- src/hera_bda_output_thread.c | 2 +- src/hera_gpu_bda_thread.c | 55 ++++++++++++++++++++++++++++-------- 3 files changed, 50 insertions(+), 16 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 85cdda31..389cc43d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -13,7 +13,7 @@ AM_CPPFLAGS += -I/usr/include/hiredis/ # AM_CFLAGS is used for all C compiles #AM_CFLAGS = -ggdb -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -AM_CFLAGS = -fPIC -O3 -Wall -Werror -fno-strict-aliasing -mavx2 -march=native -funroll-loops \ +AM_CFLAGS = -fPIC -O3 -Wall -fno-strict-aliasing -mavx2 -march=native -funroll-loops \ -DGIT_VERSION=\"$(GIT_VERSION)\" -DBUILD_USER=\"$(BUILD_USER)\" \ -DBUILD_HOST=\"$(BUILD_HOST)\" -DBUILD_DATE=\"$(BUILD_DATE)\" @@ -28,9 +28,12 @@ paper_threads = paper_fake_net_thread.c \ paper_fluff_thread.c \ hera_pktsock_thread.c \ hera_fake_gpu_thread.c \ - paper_crc_thread.c \ + paper_crc_thread.c \ hera_catcher_net_thread_bda_v2.c \ - hera_gpu_output_thread.c \ + hera_catcher_disk_thread_v2.c \ + hera_gpu_bda_thread.c \ + hera_bda_output_thread.c \ + hera_null_thread.c \ lzf/lzf_c.c \ lzf/lzf_d.c \ lzf_filter.c \ diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 22611566..2fe95671 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -235,7 +235,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "processing"); hputi4(st.buf, "OUTBLKIN", block_idx); - hputu4(st.buf, "OUTBCNT", baseline_id/N_BLTS_BDA); + hputu4(st.buf, "OUTBCNT", baseline_id); hashpipe_status_unlock_safe(&st); buf = &(db->block[block_idx]); diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 4296ed18..0f28469a 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -26,7 +26,7 @@ #define LOG(x) ((uint32_t)(log((x))/log(2))) // yields msb loc #define CHECK_PWR2(x) (!((x)&((x)-1))) -//#define PRINT_TEST +#define PRINT_TEST #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) @@ -176,23 +176,28 @@ static int init_idx_map() return 0; } -static int init_bda_info(bda_info_t *binfo){ +static int init_bda_info(bda_info_t *binfo, char *config_fname){ FILE *fp; int j, a0, a1, inttime, bin; uint32_t blctr[] = {0,0,0,0,0}; - if((fp=fopen("bda_config.txt","r")) == NULL){ + fprintf(stderr,"Loading config file..\n"); + + if((fp=fopen(config_fname,"r")) == NULL){ printf("Cannot open the configuration file.\n"); exit(1); } while(fscanf(fp, "%d %d %d", &a0, &a1, &inttime)!=EOF){ - if((inttime == 0) || !CHECK_PWR2(inttime)){ + if(!CHECK_PWR2(inttime)){ printf("(%d,%d): Samples to integrate not power of 2!\n",a0,a1); exit(1); } + if(inttime == 0) continue; blctr[LOG(inttime)]+=1; } - blctr[0] += N_ANTS; + + // Config file should contain auto-corrs as well. + //blctr[0] += N_ANTS; for(j=0; j=N_BDABUF_BINS) bin=N_BDABUF_BINS-1; + if (inttime == 0) continue; + bin = LOG(inttime); + if(bin>=N_BDABUF_BINS) bin=N_BDABUF_BINS-1; binfo[bin].ant_pair_0[blctr[bin]] = a0; binfo[bin].ant_pair_1[blctr[bin]++] = a1; //fprintf(stderr,"Bin: %d Ctr: %d\n", bin, blctr[bin]); @@ -215,10 +224,10 @@ static int init_bda_info(bda_info_t *binfo){ fclose(fp); // Include the autos - for(a0=0;a0st; + const char * status_key = args->thread_desc->skey; + char config_fname[128]; + // Get sizing parameters xgpuInfo(&xgpu_info); //bytes_per_dump = xgpu_info.triLength * sizeof(Complex); @@ -268,8 +281,26 @@ static int init(struct hashpipe_thread_args *args) return -1; } + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "initing"); + hgets(st.buf, "BDACONF", 128, config_fname); + hashpipe_status_unlock_safe(&st); + + if (config_fname!=NULL){ + sprintf(config_fname, "bda_config_192ants_nobda.txt"); + } + // Initialize binfo with config file params - init_bda_info(binfo); + init_bda_info(binfo, config_fname); + + // Write the number of baselines per integration + // bin to redis for downstream stuff + hashpipe_status_lock_safe(&st); + hputu8(st.buf,"NBL2SEC",binfo[0].baselines); + hputu8(st.buf,"NBL4SEC",binfo[1].baselines); + hputu8(st.buf,"NBL8SEC",binfo[2].baselines); + hputu8(st.buf,"NBL16SEC",binfo[3].baselines); + hashpipe_status_unlock_safe(&st); // Allocate memory to the output data blocks based on the config file int blk_id,j; From c05697104696a94814fa496234cccd59612f2a45 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:29:36 -0700 Subject: [PATCH 225/420] Catcher to adapt to BDA ... ... catcher writes 16 sec integration files. Changed packet reception and data writing to accomodate BDA parameters. --- src/hera_catcher_disk_thread_v2.c | 343 ++++++++++++++------------- src/hera_catcher_net_thread_bda_v2.c | 231 +++++++++++------- src/paper_databuf.h | 4 +- 3 files changed, 332 insertions(+), 246 deletions(-) diff --git a/src/hera_catcher_disk_thread_v2.c b/src/hera_catcher_disk_thread_v2.c index 6adff7d7..d6f1c3a9 100644 --- a/src/hera_catcher_disk_thread_v2.c +++ b/src/hera_catcher_disk_thread_v2.c @@ -44,11 +44,10 @@ #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) -#define MAXTIMES 64 - static hid_t complex_id; static hid_t boolenumtype; //static hid_t boolean_id; +static uint64_t total_baselines; typedef enum { FALSE, @@ -135,7 +134,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) # define FILTER_H5_BITSHUFFLE 32008 static void init_data_dataset(hdf5_id_t *id){ - hsize_t data_dims[N_DATA_DIMS] = {N_BLTS_BDA, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t data_dims[N_DATA_DIMS] = {total_baselines, 1, N_CHAN_PROCESSED, N_STOKES}; hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, data_dims, NULL); @@ -176,6 +175,22 @@ static void init_data_dataset(hdf5_id_t *id){ pthread_exit(NULL); } + id->visdata_fs = H5Dget_space(id->visdata_did); + if (id->visdata_fs < 0) { + hashpipe_error(__FUNCTION__, "Failed to get visdata filespace\n"); + pthread_exit(NULL); + } + id->flags_fs = H5Dget_space(id->flags_did); + if (id->flags_fs < 0) { + hashpipe_error(__FUNCTION__, "Failed to get flags filespace\n"); + pthread_exit(NULL); + } + id->nsamples_fs = H5Dget_space(id->nsamples_did); + if (id->nsamples_fs < 0) { + hashpipe_error(__FUNCTION__, "Failed to get nsamples filespace\n"); + pthread_exit(NULL); + } + H5Pclose(plist); H5Pclose(plist_lzf); H5Sclose(file_space); @@ -192,7 +207,7 @@ static void init_data_dataset(hdf5_id_t *id){ #define DIM1 1 #define DIM2 2 static void init_headers_dataset(hdf5_id_t *id) { - hsize_t dims1[DIM1] = {N_BLTS_BDA}; + hsize_t dims1[DIM1] = {total_baselines}; hsize_t chunk_dims1[DIM1] = {1}; hid_t file_space = H5Screate_simple(DIM1, dims1, NULL); @@ -236,7 +251,7 @@ static void init_headers_dataset(hdf5_id_t *id) { // TODO: uvw array can be static for a file. See if you can encode this in python. ///* And now uvw_array, which has shape Nblts x 3 */ - //hsize_t dims2[DIM2] = {N_BLTS_BDA, 3}; + //hsize_t dims2[DIM2] = {total_baselines, 3}; //hsize_t chunk_dims2[DIM2] = {1, 3}; //file_space = H5Screate_simple(DIM2, dims2, NULL); @@ -255,11 +270,12 @@ static void init_headers_dataset(hdf5_id_t *id) { //id->uvw_array_fs = H5Dget_space(id->uvw_array_did); //H5Pclose(plist); - H5Sclose(file_space); + //H5Sclose(file_space); } #define VERSION_BYTES 32 -static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t, char* tag) { +static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, uint64_t file_obs_id, double file_start_t, char* tag) +{ hid_t dataset_id; hid_t memtype; hid_t stat; @@ -289,10 +305,11 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui // Create the "Data" group datasets. This function // assigns all the dataset ids to the id struct init_data_dataset(id); + // Create the "Header/*" group datasets. This function // assigns all the dataset ids to the id struct init_headers_dataset(id); - + // Write meta-data values we know at file-open // Write data tag memtype = H5Tcopy(H5T_C_S1); @@ -400,13 +417,14 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, } } -static void close_filespaces(hdf5_id_t *id) { +static void close_filespaces(hdf5_id_t *id) +{ H5Sclose(id->visdata_fs); H5Sclose(id->flags_fs); H5Sclose(id->nsamples_fs); H5Sclose(id->time_array_fs); H5Sclose(id->integration_time_fs); - H5Sclose(id->uvw_array_fs); + //H5Sclose(id->uvw_array_fs); H5Sclose(id->ant_1_array_fs); H5Sclose(id->ant_2_array_fs); } @@ -517,10 +535,18 @@ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) */ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hid_t mem_space, uint64_t *visdata_buf) { - hsize_t start[N_DATA_DIMS] = {(bcnt%N_BLTS_BDA), 0, 0, 0}; + herr_t status; + hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; hsize_t count[N_DATA_DIMS] = {1 , 1, N_CHAN_PROCESSED, N_STOKES}; - H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); - H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); + status = H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); + if (status < 0){ + hashpipe_error(__FUNCTION__, "Failed to select hyperslab for copying data"); + pthread_exit(NULL); + } + if (H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf) < 0){ + hashpipe_error(__FUNCTION__, "Error writing data to hyperslab in file"); + pthread_exit(NULL); + } } /* @@ -529,25 +555,26 @@ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hid_t mem_space, u * Write: time, ant0, ant1, integration time */ -static void write_header(hdf5_id_t *id, hsize_t t, hid_t mem_space_nblts, double *integration_time_buf, double *time_array_buf, int *ant_0_array, int *ant_1_array){ - +static void write_header(hdf5_id_t *id, double *integration_time_buf, double *time_array_buf, + int *ant_0_array, int *ant_1_array) +{ // integration time - if (H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, mem_space_nblts, id->integration_time_fs, H5P_DEFAULT, integration_time_buf) < 0){ + if (H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, integration_time_buf) < 0){ hashpipe_error(__FUNCTION__, "Error writing integration time"); } // time stamp of integration - if (H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, mem_space_nblts, id->time_array_fs, H5P_DEFAULT, time_array_buf) < 0) { + if (H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, time_array_buf) < 0) { hashpipe_error(__FUNCTION__, "Error writing time_array"); } // ant0 - if (H5Dwrite(id->ant_1_array_did, H5T_NATIVE_INT, mem_space_nblts, id->ant_1_array_fs, H5P_DEFAULT, ant_0_array) < 0) { + if (H5Dwrite(id->ant_1_array_did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_0_array) < 0) { hashpipe_error(__FUNCTION__, "Error writing ant_1_array"); } // ant1 - if (H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, mem_space_nblts, id->ant_2_array_fs, H5P_DEFAULT, ant_1_array) < 0) { + if (H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_1_array) < 0) { hashpipe_error(__FUNCTION__, "Error writing ant_2_array"); } @@ -565,9 +592,14 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, u __m256i *out_sum256 = (__m256i *)out_sum; __m256i *out_diff256 = (__m256i *)out_diff; + fprintf(stderr,"Even: %d\t Odd: %d\t",hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0), + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); + in_even256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0)); in_odd256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); + //fprintf(stderr, "Even Val: %lld \t Odd Val: %lld \n", *in_even256, *in_odd256); + // 256 bits = 4 stokes * 2 real/imag * 32 bits == 1 channel for(chan=0; chan< N_CHAN_PROCESSED; chan++){ @@ -612,20 +644,12 @@ static void *run(hashpipe_thread_args_t * args) const char * status_key = args->thread_desc->skey; // Timers for performance monitoring - struct timespec t_start, w_start, w_stop; // transpose start, write start, write stop float gbps, min_gbps; struct timespec start, finish; - uint64_t t_ns; // transpose + struct timespec file_start, file_finish; + struct timespec w_start, w_stop; uint64_t w_ns; // write - uint64_t min_t_ns = 999999999; - uint64_t min_w_ns = 999999999; - uint64_t max_t_ns = 0; - uint64_t max_w_ns = 0; - uint64_t elapsed_t_ns = 0; - uint64_t elapsed_w_ns = 0; - float bl_t_ns = 0.0; - float bl_w_ns = 0.0; // Buffers for file name strings char template_fname[128]; @@ -638,31 +662,27 @@ static void *run(hashpipe_thread_args_t * args) // Variables for data collection parameters uint32_t acc_len; - uint32_t nfiles; + uint32_t nfiles = 1; uint32_t file_cnt = 0; uint32_t trigger = 0; char tag[128]; + uint64_t baseline_dist[N_BDABUF_BINS]; // Variables for antenna positions and baseline orders. These should be provided // via the HDF5 header template. bl_t bl_order[VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES]; - //bl_bda_t bl_bda_order[N_BLTS_BDA]; + //bl_bda_t bl_bda_order[total_baselines]; int32_t auto_indices[N_ANTS]; enu_t ant_pos[N_ANTS]; - // A buffer for the real parts of a single auto-corr. Used for writing to redis - float auto_corr_n[N_CHAN_PROCESSED]; - float auto_corr_e[N_CHAN_PROCESSED]; - // Init status variables hashpipe_status_lock_safe(&st); hputi8(st.buf, "DISKMCNT", 0); - hputu4(st.buf, "TRIGGER", 0); + hputu4(st.buf, "TRIGGER", trigger); hashpipe_status_unlock_safe(&st); // Redis connection redisContext *c; - redisReply *reply; const char *hostname = "redishost"; int redisport = 6379; int use_redis = 1; @@ -681,24 +701,35 @@ static void *run(hashpipe_thread_args_t * args) } } - // Indicate via redis that we're started but not taking data + // Indicate via redis that we've started but not taking data redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); redisCommand(c, "EXPIRE corr:is_taking_data 60"); + // Get baseline distribution from redis. + hashpipe_status_lock_safe(&st); + hgetu8(st.buf,"NBL2SEC", &baseline_dist[0]); + hgetu8(st.buf,"NBL4SEC", &baseline_dist[1]); + hgetu8(st.buf,"NBL8SEC", &baseline_dist[2]); + hgetu8(st.buf,"NBL16SEC",&baseline_dist[3]); + hashpipe_status_unlock_safe(&st); + + total_baselines = 8*baseline_dist[0] + 4*baseline_dist[1] + 2*baseline_dist[2] + baseline_dist[3]; + fprintf(stdout,"Baseline Distribution per file:\n"); + fprintf(stdout,"8 x %ld\t 4 x %ld\t 2 x %ld\t 1 x %ld\n", + baseline_dist[0],baseline_dist[1],baseline_dist[2],baseline_dist[3]); + fprintf(stdout,"Total Baselines: %ld", total_baselines); + /* Loop(s) */ int32_t *db_in32; int rv; - unsigned int samp; + uint32_t samp; int curblock_in=0; - int a, xeng, xchan, chan; - double file_start_t, file_stop_t, file_duration; + double file_start_t, file_stop_t, file_duration; // time from bcnt + double file_time; // time from local machine int64_t file_obs_id, file_nblts=0, file_nts=0; - int64_t start_mcnt; - int64_t curr_file_mcnts[8]; int32_t bcnt; int32_t curr_file_bcnt = -1; uint32_t bctr; // bcnt variable - int bl; // baseline variable hdf5_id_t sum_file, diff_file; @@ -706,26 +737,32 @@ static void *run(hashpipe_thread_args_t * args) int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); - double *integration_time_buf = (double *)malloc(N_BLTS_BDA * sizeof(double)); - double *time_array_buf = (double *)malloc(N_BLTS_BDA * sizeof(double)); - uint16_t *ant_0_array = (uint16_t *)malloc(N_BLTS_BDA * sizeof(uint16_t)); - uint16_t *ant_1_array = (uint16_t *)malloc(N_BLTS_BDA * sizeof(uint16_t)); - //double *uvw_array_buf = (double *)malloc(N_BLTS_BDA * 3 * sizeof(double)); + memset(bl_buf_sum, 0, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + + double *integration_time_buf = (double *)malloc(total_baselines * sizeof(double)); + double *time_array_buf = (double *)malloc(total_baselines * sizeof(double)); + int *ant_0_array = (int *)malloc(total_baselines * sizeof(int)); + int *ant_1_array = (int *)malloc(total_baselines * sizeof(int)); + //double *uvw_array_buf = (double *)malloc(total_baselines * 3 * sizeof(double)); // Allocate an array of bools for flags and n_samples - hbool_t *flags = (hbool_t *)calloc(0, N_BLTS_BDA * sizeof(hbool_t)); - //uint64_t *nsamples = (uint64_t *)malloc(N_BLTS_BDA * sizeof(uint64_t)); + hbool_t *flags = (hbool_t *)calloc(1, total_baselines * sizeof(hbool_t)); + //uint64_t *nsamples = (uint64_t *)malloc(total_baselines * sizeof(uint64_t)); // Define the memory space used by these buffers for HDF5 access // We write 1[baseline] x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time - hsize_t dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; - hid_t mem_space_data = H5Screate_simple(N_DATA_DIMS, dims, NULL); + //hsize_t dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + //hid_t mem_space_data = H5Screate_simple(N_DATA_DIMS, dims, NULL); + + hsize_t dims[DIM1] = {N_CHAN_PROCESSED * N_STOKES}; + hid_t mem_space_data = H5Screate_simple(DIM1, dims, NULL); + // Memory spaces to Nblts-element header vectors - hsize_t dims1[DIM1] = {N_BLTS_BDA}; - hid_t mem_space_nblts = H5Screate_simple(DIM1, dims1, NULL); + //hsize_t dims1[DIM1] = {N_CHAN_PROCESSED*NSTOKES}; + //hid_t mem_space_nblts = H5Screate_simple(DIM1, dims1, NULL); // Memory spaces to (Nblts x 3)-element header vectors - hsize_t dims2[DIM2] = {N_BLTS_BDA, 3}; - hid_t mem_space_uvw = H5Screate_simple(DIM2, dims2, NULL); + //hsize_t dims2[DIM2] = {total_baselines, 3}; + //hid_t mem_space_uvw = H5Screate_simple(DIM2, dims2, NULL); while (run_threads()) { // Note waiting status, @@ -755,10 +792,6 @@ static void *run(hashpipe_thread_args_t * args) } } - // reset elapsed time counters - elapsed_w_ns = 0; - elapsed_t_ns = 0.0; - // Get template filename from redis hashpipe_status_lock_safe(&st); hgets(st.buf, "HDF5TPLT", 128, template_fname); @@ -777,7 +810,7 @@ static void *run(hashpipe_thread_args_t * args) // Data tag hgets(st.buf, "TAG", 128, tag); - // Get the number of files to write + // Wait for the trigger to write files hgetu4(st.buf, "TRIGGER", &trigger); hashpipe_status_unlock_safe(&st); @@ -785,32 +818,32 @@ static void *run(hashpipe_thread_args_t * args) // start marking blocks as done and idling until a new // trigger is received if (trigger) { - fprintf(stdout, "Catcher got a new trigger and will write %d files\n", nfiles); - file_cnt = 0; - hashpipe_status_lock_safe(&st); - hputu4(st.buf, "TRIGGER", 0); - hashpipe_status_unlock_safe(&st); - idle = 0; - if (use_redis) { - // Create the "corr:is_taking_data" hash. This will be set to - // state=False when data taking is complete. Or if this pipeline - // exits the key will expire. - redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); - } + fprintf(stdout, "Catcher got a new trigger and will write %d files\n", nfiles); + file_cnt = 0; + hashpipe_status_lock_safe(&st); + hputu4(st.buf, "TRIGGER", 0); + hashpipe_status_unlock_safe(&st); + idle = 0; + if (use_redis) { + // Create the "corr:is_taking_data" hash. This will be set to + // state=False when data taking is complete. Or if this pipeline + // exits the key will expire. + redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); + } } else if (file_cnt >= nfiles) { - // If we're transitioning to idle state - // Indicate via redis that we're no longer taking data - if (!idle) { - redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); - } - idle = 1; - // Mark input block as free and advance - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); - pthread_exit(NULL); - } - curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; - continue; + // If we're transitioning to idle state + // Indicate via redis that we're no longer taking data + if (!idle) { + redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + } + idle = 1; + // Mark input block as free and advance + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + continue; } // If we make it to here we're not idle any more. @@ -819,25 +852,57 @@ static void *run(hashpipe_thread_args_t * args) // data by incrementing NFILES without retriggering. idle = 0; + // Got a new data block, update status + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "writing"); + hputi4(st.buf, "DISKBKIN", curblock_in); + hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt[0]); + hputu8(st.buf, "DISKBCNT", db_in->block[curblock_in].header.bcnt[0]); + hashpipe_status_unlock_safe(&st); + // Start writing files! - // A file is defined as N_BLTS_BDA number of bcnts. If a bcnt belonging + // A file is defined as total_baselines number of bcnts. If a bcnt belonging // to a new intergation arrives, close the old file and start a new file. + clock_gettime(CLOCK_MONOTONIC, &start); db_in32 = (int32_t *)db_in->block[curblock_in].data; + // reset elapsed time counters + w_ns = 0.0; + for(bctr = 0; bctr < BASELINES_PER_BLOCK; bctr++){ // Check if bcnt marks the beginning of a new file bcnt = db_in->block[curblock_in].header.bcnt[bctr]; - if (bcnt % N_BLTS_BDA == 0){ + if (bcnt % total_baselines == 0){ + + fprintf(stderr,"Processing bcnt: %d\n", bcnt); // If a file is open, finish its meta-data and close it. - if (curr_file_bcnt > 0){ + if (curr_file_bcnt >= 0){ + + gps_time = mcnt2time(bcnt, sync_time); + file_stop_t = gps_time; + file_duration = file_stop_t - file_start_t; + fprintf(stdout, "Closing datasets and files\n"); + write_header(&sum_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + write_header(&diff_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + close_filespaces(&sum_file); + close_filespaces(&diff_file); close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); file_cnt += 1; + clock_gettime(CLOCK_MONOTONIC, &file_finish); + file_time = ELAPSED_NS(file_start, file_finish)/ 1000000000; + + hashpipe_status_lock_safe(&st); + hputu8(st.buf, "FILESEC", file_time); + hashpipe_status_unlock_safe(&st); + + fprintf(stderr,"Closing file %s\n", hdf5_fname); + // If this is the last file, mark this block done and get out of the loop if (file_cnt >= nfiles) { fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); @@ -847,32 +912,36 @@ static void *run(hashpipe_thread_args_t * args) } curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; curr_file_bcnt = -1; //So the next trigger will start a new file - continue; + break; } } // Open a new sum and difference file // Init all counters to zero + clock_gettime(CLOCK_MONOTONIC, &file_start); + file_nblts = 0; file_nts = 0; - memset(ant_0_array, 0, N_BLTS_BDA * sizeof(uint16_t)); - memset(ant_1_array, 0, N_BLTS_BDA * sizeof(uint16_t)); - memset(time_array_buf, 0, N_BLTS_BDA * sizeof(double)); - memset(integration_time_buf, 0, N_BLTS_BDA * sizeof(double)); + memset(ant_0_array, 0, total_baselines * sizeof(uint16_t)); + memset(ant_1_array, 0, total_baselines * sizeof(uint16_t)); + memset(time_array_buf, 0, total_baselines * sizeof(double)); + memset(integration_time_buf, 0, total_baselines * sizeof(double)); curr_file_bcnt = bcnt; + fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); + fprintf(stderr, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[bctr]); gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); file_start_t = gps_time; file_obs_id = (int64_t)gps_time; sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); - fprintf(stdout, "Opening new file %s\n", hdf5_fname); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); - fprintf(stdout, "Opening new file %s\n", hdf5_fname); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); // Get the antenna positions and baseline orders @@ -883,85 +952,39 @@ static void *run(hashpipe_thread_args_t * args) get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); } - // If bcnt does not start a new file, and an open file exists, - // copy data to the right location - if (curr_file_bcnt > 0){ + // If an open file exists, copy data to the right location + if (curr_file_bcnt >= 0){ // Update time and sample counters file_nblts += 1; - file_nts += 1; - - if (file_nts > MAXTIMES) { - hashpipe_error(__FUNCTION__, "Writing time sample %d but maximum hardcoded limit is %d\n", file_nts, MAXTIMES); - } - - // extend the datasets with time axes and update filespace IDs compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff, bcnt%BASELINES_PER_BLOCK); + + clock_gettime(CLOCK_MONOTONIC, &w_start); write_baseline_index(&sum_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_sum); - write_baseline_index(&diff_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_diff); + //write_baseline_index(&diff_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_diff); + clock_gettime(CLOCK_MONOTONIC, &w_stop); + + w_ns += ELAPSED_NS(w_start, w_stop); samp = bcnt - curr_file_bcnt; - ant_0_array[samp] = db_in->block[curblock_in].header.ant_pair_0[bctr]; - ant_1_array[samp] = db_in->block[curblock_in].header.ant_pair_1[bctr]; - time_array_buf[samp] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); - - // Close the filespaces - leave the datasets open. We'll close those when the file is done - close_filespaces(&sum_file); - close_filespaces(&diff_file); - clock_gettime(CLOCK_MONOTONIC, &finish); + ant_0_array[samp] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr]; + ant_1_array[samp] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr]; + time_array_buf[samp] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); + flags[samp] = 0; } // processed data copying } // bctr for loop + + clock_gettime(CLOCK_MONOTONIC, &finish); - //// Write autocorrs to redis - //if(use_redis) { - // for (a=0; a= 0) { - // //fprintf(stdout, "Reporting autocorrs for ant %d (bl %d) to redis\n", a, auto_indices[a]); - // for (xeng=0; xengblock[block_i].header.good_data = 0; } -/* Initialize block_info */ -// This function must be called once and only once per block_info structure! -// Subsequent calls are no-ops. -static inline void initialize_block_info(block_info_t * binfo, uint32_t bcnt){ - int i; - - // If this block_info structure has already been initialized - if(binfo->initialized) { - return; - } - - for(i = 0; i < CATCHER_N_BLOCKS; i++) { - binfo->block_packet_counter[i] = 0; - memset(binfo->flags[i], 0, PACKETS_PER_BLOCK*sizeof(char)); - memset(binfo->baselines[i], 0, BASELINES_PER_BLOCK*sizeof(char)); - } - - // The number of the current block is set by the first packet received - binfo->bcnt_start = bcnt; - binfo->block_curr = block_for_bcnt(bcnt); - binfo->block_next = (binfo->block_curr+1) % CATCHER_N_BLOCKS; - binfo->out_of_seq_cnt = 0; - binfo->initialized = 1; -} - /* Get packet header */ static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_header){ packet_header_t *packet_header_raw = (packet_header_t *)PKT_UDP_DATA(p_frame); @@ -124,13 +105,10 @@ static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_heade // Returns bcnt of the block being marked filled. static uint64_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t *binfo){ static int last_filled = -1; - if (last_filled==-1){ - last_filled = (binfo->block_curr-1)% CATCHER_N_BLOCKS; - } uint64_t block_missed_pkt_cnt; - uint32_t missed_pkt_cnt; - uint32_t block_i = binfo->block_curr; + uint64_t block_missed_xengs, block_missed_mod_cnt, missed_pkt_cnt=0; + uint32_t block_i = block_for_bcnt(binfo->bcnt_start); // Validate that we're filling blocks in the proper sequence last_filled = (last_filled+1) % CATCHER_N_BLOCKS; @@ -138,7 +116,17 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t printf("block %d being marked filled, but expected block %d!\n", block_i, last_filled); } - db->block[block_i].header.good_data = 1; + // Validate that block_i matches binfo->block_i + if(block_i != binfo->block_i) { + hashpipe_warn(__FUNCTION__, + "block_i for binfo's mcnt (%d) != binfo's block_i (%d)", + block_i, binfo->block_i); + } + + // If all packets are accounted for, mark this block as good + if(binfo->block_packet_counter[block_i] == PACKETS_PER_BLOCK){ + db->block[block_i].header.good_data = 1; + } // Set the block as filled if(hera_catcher_input_databuf_set_filled(db, block_i) != HASHPIPE_OK){ @@ -148,16 +136,21 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t // Calculate missing packets. block_missed_pkt_cnt = PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + block_missed_xengs = block_missed_pkt_cnt / (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); + block_missed_mod_cnt = block_missed_xengs % N_XENGINES_PER_TIME; + + //fprintf(stderr,"Missed packets: %ld\tMissed Xengs:%ld\t", block_missed_pkt_cnt, block_missed_xengs); // Update status buffer hashpipe_status_lock_busywait_safe(st_p); hputu4(st_p->buf, "NETBKOUT", block_i); - if(block_missed_pkt_cnt){ + hputu4(st_p->buf, "MISSXENG", block_missed_xengs); + if(block_missed_mod_cnt){ fprintf(stderr, "Expected %lu packets, Got %lu\n", PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); // Increment MISSEDPK by number of missed packets for this block - hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); + hgetu8(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; - hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); + hputu8(st_p->buf, "MISSEDPK", missed_pkt_cnt); // fprintf(stderr, "got %d packets instead of %d\n", // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); } @@ -166,6 +159,30 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t return db->block[block_i].header.bcnt[0]; } +/* Initialize block_info */ +// This function must be called once and only once per block_info structure! +// Subsequent calls are no-ops. +static inline void initialize_block_info(block_info_t * binfo){ + int i; + + // If this block_info structure has already been initialized + if(binfo->initialized) { + return; + } + + for(i = 0; i < CATCHER_N_BLOCKS; i++) { + binfo->block_packet_counter[i] = 0; + memset(binfo->flags[i], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo->baselines[i], 0, BASELINES_PER_BLOCK*sizeof(char)); + } + + // Start with block 0 + binfo->out_of_seq_cnt = 0; + binfo->block_i = 0; + binfo->bcnt_log_late = BASELINES_PER_BLOCK; + binfo->initialized = 1; +} + /* Process packet */ // This function returns -1 unless the given packet causes a block to be marked @@ -178,58 +195,68 @@ static inline uint64_t process_packet( static block_info_t binfo; packet_header_t pkt_header; + int pkt_block_i; + int i; const uint32_t *payload_p; uint32_t *dest_p; - int i; - int pkt_block_i; + uint32_t pkt_bcnt_dist; + uint32_t pkt_bcnt; + uint32_t cur_bcnt; + uint32_t netbcnt = -1; // Value to return if a block is filled int b, x, t, o; uint32_t pkt_offset; - uint32_t pkt_bcnt_dist; - uint64_t bcnt = -1; // Parse packet header get_header(p_frame, &pkt_header); - pkt_block_i = block_for_bcnt(pkt_header.bcnt); + pkt_bcnt = pkt_header.bcnt; // Lazy init binfo if(!binfo.initialized){ + // This is the first packet received fprintf(stderr,"Initializing binfo..!\n"); - initialize_block_info(&binfo, pkt_header.bcnt); + initialize_block_info(&binfo); + + first_bcnt = pkt_bcnt; + binfo.bcnt_start = pkt_bcnt; fprintf(stderr,"Initializing the first blocks..\n"); - // Initialize the newly acquired block - initialize_block(db, pkt_header.bcnt); - initialize_block(db, pkt_header.bcnt+BASELINES_PER_BLOCK); - initialize_block(db, pkt_header.bcnt+2*BASELINES_PER_BLOCK); + // Initialize the newly acquired blocks + initialize_block(db, pkt_bcnt); + initialize_block(db, pkt_bcnt+BASELINES_PER_BLOCK); } + pkt_block_i = block_for_bcnt(pkt_bcnt); + cur_bcnt = binfo.bcnt_start; + //fprintf(stderr, "curr:%d\tnext:%d\t",binfo.block_curr, binfo.block_next); //fprintf(stderr, "bcnt:%d\tblock_id:%d\n",pkt_header.bcnt, pkt_block_i); //fprintf(stderr, "xeng:%d\n",pkt_header.xeng_id); // Packet bcnt distance (how far away is this packet's bcnt from the // current bcnt). Positive distance for pcnt mcnts > current mcnt. - pkt_bcnt_dist = pkt_header.bcnt - binfo.bcnt_start; + pkt_bcnt_dist = pkt_bcnt - cur_bcnt; - // We expect packets for the current block, the next block and the block after. + // We expect packets for the current block (0) and the next block (1). If a packet + // belonging to the block after (2) arrives, the current block is marked full and + // counters advance (1,2,3). if (0 <= pkt_bcnt_dist && pkt_bcnt_dist < 3*BASELINES_PER_BLOCK){ // If the packet is for the block after the next block (i.e. current // block + 2 blocks), mark the current block as filled. - if (pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK){ + if ((pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK) || (binfo.block_packet_counter[binfo.block_i] == PACKETS_PER_BLOCK)){ - bcnt = set_block_filled(db, &binfo); + netbcnt = set_block_filled(db, &binfo); // Print - fprintf(stderr,"Filled Block: %d with bcnt: %lu\n",binfo.block_curr, bcnt); + fprintf(stderr,"Filled Block: %d with bcnt: %d\n", binfo.block_i, netbcnt); // Update binfo + cur_bcnt += BASELINES_PER_BLOCK; binfo.bcnt_start += BASELINES_PER_BLOCK; - binfo.block_packet_counter[binfo.block_curr] = 0; - memset(binfo.flags[binfo.block_curr], 0, PACKETS_PER_BLOCK*sizeof(char)); - memset(binfo.baselines[binfo.block_curr], 0, BASELINES_PER_BLOCK*sizeof(char)); + binfo.block_packet_counter[binfo.block_i] = 0; + memset(binfo.flags[binfo.block_i], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[binfo.block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); - binfo.block_curr = binfo.block_next; - binfo.block_next = (binfo.block_next+1) % CATCHER_N_BLOCKS; + binfo.block_i = (binfo.block_i+1) % CATCHER_N_BLOCKS; // Wait (hopefully not long!) to acquire the block after next. if(hera_catcher_input_databuf_busywait_free(db, pkt_block_i) != HASHPIPE_OK) { @@ -246,7 +273,7 @@ static inline uint64_t process_packet( } // Initialize the newly acquired block - initialize_block(db, bcnt+2*BASELINES_PER_BLOCK); + initialize_block(db, pkt_bcnt); // Reset out-of-seq counter binfo.out_of_seq_cnt = 0; @@ -258,8 +285,8 @@ static inline uint64_t process_packet( t = (pkt_header.mcnt/Nt) % TIME_DEMUX; //Nt = 2 o = pkt_header.offset; pkt_offset = hera_catcher_input_databuf_pkt_offset(b, t, x, o); - //fprintf(stderr, "offset: %d\n", pkt_offset); //fprintf(stderr, "bcnt-loc:%d\txeng:%d\ttime:%d\tpktoffset:%d\n",b,x,t,o); + //fprintf(stderr, "offset: %d\n", pkt_offset); // Copy data into buffer with byte swap payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); @@ -283,25 +310,70 @@ static inline uint64_t process_packet( binfo.block_packet_counter[pkt_block_i]++; // Check for duplicate packets - // if(binfo.flags[pkt_block_i][pkt_offset]){ - // // This slot is already filled - // //fprintf(stderr, "Packet repeated!!\n"); - // binfo.out_of_seq_cnt++; - // return -1; - // } - - }else{ + if(binfo.flags[pkt_block_i][pkt_offset]){ + // This slot is already filled + //fprintf(stderr, "Packet repeated!!\n"); + binfo.out_of_seq_cnt++; + return -1; + } + + return netbcnt; + } + + // Else, if the packet is late, but not too late (so we can handle catcher being + // restarted and bcnt rollover), then ignore it + else if(pkt_bcnt_dist < 0 && pkt_bcnt_dist > -LATE_PKT_BCNT_THRESHOLD) { + // Issue warning if not after a reset + if (cur_bcnt >= binfo.bcnt_log_late) { + hashpipe_warn("hera_catcher_net_thread", + "Ignorning late packet (%d bcnts late)", + cur_bcnt - pkt_bcnt); + } + return -1; + } + + else { + // If not at start-up and this is the first out of order packet, issue warning. + if (cur_bcnt !=0 && binfo.out_of_seq_cnt == 0) { + hashpipe_warn("hera_catcher_net_thread", "out of seq bcnt %012lx (expected: %012lx <= bcnt < %012x)", + pkt_bcnt, cur_bcnt, cur_bcnt+3*BASELINES_PER_BLOCK); + } + binfo.out_of_seq_cnt++; + + // If too many out of sequence packets + if (binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ_PKTS) { + // Reset current mcnt. The value to reset to must be the first + // value greater than or equal to the pkt_bcnt that corresponds + // to the same databuf block as the old current bcnt. + first_bcnt = pkt_header.bcnt - binfo.block_i*BASELINES_PER_BLOCK; + binfo.bcnt_start = pkt_header.bcnt; + binfo.block_i = block_for_bcnt(pkt_header.bcnt); + binfo.bcnt_log_late = binfo.bcnt_start + BASELINES_PER_BLOCK; + + hashpipe_warn("hera_catcher_net_thread", + "resetting to bcnt %012lx block %d based on packet bcnt %012lx", + binfo.bcnt_start, binfo.block_i, pkt_header.bcnt); + + // Reinitialize the acquired blocks with new mcnt values. + initialize_block(db, binfo.bcnt_start); + initialize_block(db, binfo.bcnt_start+BASELINES_PER_BLOCK); + + // Reinitialize binfo counter for these blocks + binfo.block_packet_counter[binfo.block_i] = 0; + memset(binfo.flags[binfo.block_i], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[binfo.block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); + + int next_block = (binfo.block_i + 1) % CATCHER_N_BLOCKS; + binfo.block_packet_counter[next_block] = 0; + memset(binfo.flags[next_block], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[next_block], 0, BASELINES_PER_BLOCK*sizeof(char)); + } return -1; } - - //if (binfo.out_of_seq_cnt > MAX_OUT_OF_SEQ_PKTS){ - // fprintf(stderr,"Lots of out of sequence packets!"); - //} - return bcnt; + return netbcnt; } - static int init(hashpipe_thread_args_t *args){ /* Read network params */ char bindhost[80]; @@ -321,7 +393,7 @@ static int init(hashpipe_thread_args_t *args){ // Store bind host/port info etc in status buffer hputs(st.buf, "BINDHOST", bindhost); hputi4(st.buf, "BINDPORT", bindport); - hputu4(st.buf, "MISSEDFE", 0); + hputu4(st.buf, "MISSXENG", 0); hputu4(st.buf, "MISSEDPK", 0); hashpipe_status_unlock_safe(&st); @@ -391,7 +463,7 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_status_unlock_safe(&st); } - fprintf(stderr,"Waiting to acquire three blocks to start!\n"); + fprintf(stderr,"Waiting to acquire two blocks to start!\n"); // Acquire first two blocks to start if(hera_catcher_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ @@ -412,15 +484,6 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_error(__FUNCTION__, "error waiting for free databuf"); pthread_exit(NULL); } - }if(hera_catcher_input_databuf_busywait_free(db, 2) != HASHPIPE_OK){ - if (errno == EINTR){ - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - }else{ - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - } } diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 47b9618e..4d1973b3 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -257,7 +257,7 @@ typedef struct paper_output_databuf { #define N_BASELINES (N_ANTS * (N_ANTS + 1)/2) #define N_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) -#define N_BLTS_BDA (8*387 + 4*1533 + 2*7168 + 21571 + 30768) // (((N_ANTS-2)*(N_ANTS-1)/2) + 2) +//#define N_BLTS_BDA (8*387 + 4*1533 + 2*7168 + 21571 + 30768) // (((N_ANTS-2)*(N_ANTS-1)/2) + 2) #define N_BDABUF_BLOCKS 2 #define N_BDABUF_BINS 4 @@ -304,7 +304,7 @@ typedef struct hera_bda_databuf{ #define OUTPUT_BYTES_PER_PACKET (4096) #define CATCHER_CHAN_SUM 1 #define N_STOKES 4 -#define BASELINES_PER_BLOCK 4096 +#define BASELINES_PER_BLOCK 256 //8192 #define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 #define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 From 5cfb60ffe2de385deea5a32921c0d0eab3a73c20 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:32:09 -0700 Subject: [PATCH 226/420] Generate fake Xeng vectors and test... ... scripts to check output of X-engs and generate fake input to the catcher. --- src/scripts/check_catcher_capture.py | 84 --------------------- src/scripts/hera_check_catcher_bda.py | 11 ++- src/scripts/hera_fake_bda_output.py | 103 ++++++++++++++------------ 3 files changed, 64 insertions(+), 134 deletions(-) delete mode 100644 src/scripts/check_catcher_capture.py diff --git a/src/scripts/check_catcher_capture.py b/src/scripts/check_catcher_capture.py deleted file mode 100644 index 2a56c5b5..00000000 --- a/src/scripts/check_catcher_capture.py +++ /dev/null @@ -1,84 +0,0 @@ -# BDA -# Check packet structure and contents in test mode - -import numpy as np -import struct -import socket -import argparse - -parser = argparse.ArgumentParser(description='Test packet format and contents for BDA', - formatter_class=argparse.ArgumentDefaultsHelpFormatter) - -parser.add_argument('--host', type=str, default="127.0.0.1", - help='Host to capture data') -parser.add_argument('-p', dest='port', type=int, default=10000, - help='Host port to receive data') -parser.add_argument('-n', dest='n_inputs', type=int, default=704, - help='Nant*Npol that xGPU has been configured') -parser.add_argument('-v', dest='verbose', action='store_true', default=False, - help='Print some contents of each packet') -parser.add_argument('-c', dest='check', action='store_true', default=False, - help='Check the packet contents') - -args = parser.parse_args() - -def tri_index(i,j): - return (i* (i+1))/2 + j - -def baseline_index(n): - """ Generate a baseline pair to index map given - number of inputs 'n' """ - nant_2 = (n/2) // 2 - triangle_size = ((nant_2 + 1) * nant_2)/2 - middle_rect_offset = triangle_size - last_cell_offset = 4 * middle_rect_offset - nant_2 - 1 - - idx_map = {} - - for a0 in range(0, n/2, 1): - for a1 in range(a0, n/2, 1): - delta = a1-a0 - if (delta > nant_2): - cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1) - elif (a1 < nant_2): - cell_index = tri_index(a1,a0) - else: - cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta) - idx_map[cell_index] = (a0,a1) - return idx_map - -# mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len -def decode_packet(packet): - p = struct.unpack('>1Q2I4H1024i', packet) - time, bcnt, offset, ant0, ant1, xeng_id, payload_len = p[0:7] - data = np.asarray(p[7:]) - return time, bcnt, offset, ant0, ant1, xeng_id, payload_len, data - - -idx_map = baseline_index(args.n_inputs) - -sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -sock.bind((args.host, args.port)) - -errors = 0 -packets = 0 - -while True: - try: - pkt, addr = sock.recvfrom(4120) # buffer size is 1024 bytes - packets += 1 - t,b,o,a0,a1,x,l,data = decode_packet(pkt) - if args.verbose: - print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//4096, b%4096, o, a0, a1, x), data[:8] - if args.check: - if not (np.all(data[::2] == 1)): - print "Error! Real", idx_map[b], o, data[::2] - errors += 1 - if not (np.all(data[1::2] == -1)): - print "Error! Imag", idx_map[b], o, data[1::2] - errors += 1 - except(KeyboardInterrupt): - print("") - print("Total number of packets captured: %d"%packets) - print("Total number of errors: %d"%errors) - break diff --git a/src/scripts/hera_check_catcher_bda.py b/src/scripts/hera_check_catcher_bda.py index 2232a330..eb433146 100644 --- a/src/scripts/hera_check_catcher_bda.py +++ b/src/scripts/hera_check_catcher_bda.py @@ -7,7 +7,7 @@ import argparse Nbins = 5 # number of diff integration bins -Na = 352 # antennas +Na = 192 # antennas N_bl_per_block = 16384 # baselines within each block parser = argparse.ArgumentParser(description='Test packet format and contents for BDA', @@ -46,12 +46,13 @@ def decode_packet(packet): int_bin['data'][4] = (2**3)*np.ones(1024) int_bin['data'][4][1::2] = -2*(2**3) -bdaconfig = np.loadtxt('../bda_config.txt', dtype=np.int) +bdaconfig = np.loadtxt('../bda_config_192ants_nobda.txt', dtype=np.int) for i,t in enumerate(bdaconfig[:,2]): + if t==0: continue n = int(np.log(t)/np.log(2)) int_bin['baselines'][n].append((bdaconfig[i,0], bdaconfig[i,1])) -for a in range(Na): - int_bin['baselines'][0].append((a,a)) +#for a in range(Na): +# int_bin['baselines'][0].append((a,a)) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -68,6 +69,8 @@ def decode_packet(packet): if args.verbose: print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//16384, b%16384, o, a0, a1, x), data[:8] if args.check: + if (a0 > Na or a1 > Na): + print "Error! Received wrong antenna!" n = [y for y,v in int_bin['baselines'].items() if (a0,a1) in v][0] if not (np.all(data == int_bin['data'][n])): print "Error!", int_bin['data'][n][:8], o, n, data[:8] diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py index b57dca62..4cc0dcd4 100644 --- a/src/scripts/hera_fake_bda_output.py +++ b/src/scripts/hera_fake_bda_output.py @@ -3,42 +3,28 @@ # of all the xengs in the chain. import numpy as np +import argparse import struct import socket import time -import threading -catcher = "10.10.10.222" +parser = argparse.ArgumentParser(description='Generate FAKE output to test catcher pipeline with baseline dependent averaging', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) +parser.add_argument('config', type=str, help='BDA config file') +parser.add_argument('--catcher', type=str, default= '10.10.10.5', + help='IP address of the Catcher machine') +args = parser.parse_args() Na = 352 # antennas Nx = 16 # xeng Nc = 384 # chan Nt = 2 # demux Ns = 4 # stokes -Nbins = 5 # number of diff integration bins -udp_ip = catcher #'10.80.40.251' +Nbins = 4 # number of diff integration bins +udp_ip = args.catcher #'10.80.40.251' udp_port = 10000 inttimes = np.asarray([1,2,4,8,16]) -def send_xeng(xeng_id): - print 'Xeng: ', xeng_id - sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - #sock.bind(("10.10.10.5",10000+xeng_id)) - bcnt = 0; mcnt = 0; ctr = 1; - while True: - for nb in np.nonzero(np.logical_not(ctr%inttimes))[0]: - for (a0,a1) in int_bin['baselines'][nb]: - b = mcnt+((xeng_id//Nx)*2) - pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] - sock.sendto(pkt, (udp_ip, udp_port)) - pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] - sock.sendto(pkt, (udp_ip, udp_port)) - pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] - sock.sendto(pkt, (udp_ip, udp_port)) - bcnt += 1 - ctr += 1 - - int_bin = {} int_bin['baselines'] = {} int_bin['data'] = {} @@ -52,12 +38,57 @@ def send_xeng(xeng_id): # Populate baseline pairs from config file -bdaconfig = np.loadtxt('../bda_config.txt', dtype=np.int) +bdaconfig = np.loadtxt(args.config, dtype=np.int) for i,t in enumerate(bdaconfig[:,2]): + if (t==0): continue n = int(np.log(t)/np.log(2)) + if (n==4): n = 3 int_bin['baselines'][n].append((bdaconfig[i,0], bdaconfig[i,1])) -for a in range(Na): - int_bin['baselines'][0].append((a,a)) + +for b in int_bin['baselines'].keys(): + print b,len(int_bin['baselines'][b]) + +bcnt = 0; mcnt = 0; ctr = 0; +sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +while True: + ctr += 2 + mcnt = int(500e6 * ctr / (2 * 8192)) + for ns in np.logspace(1, Nbins, num=Nbins, base=2, dtype=np.int): + if (ctr%ns == 0): + nb = int(np.log2(ns)) - 1 + print 'Sending: %d Baselines: %d Bcnt: %d' % (ns, len(int_bin['baselines'][nb]), bcnt) + for (a0,a1) in int_bin['baselines'][nb]: + for xeng_id in range(Nx*Nt): + b = mcnt+((xeng_id//Nx)*2) + pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(1e-3) + pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(1e-3) + pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] + sock.sendto(pkt, (udp_ip, udp_port)) + time.sleep(1e-3) + bcnt += 1 + +#def send_xeng(xeng_id): +# print 'Xeng: ', xeng_id +# sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +# #sock.bind(("10.10.10.5",10000+xeng_id)) +# bcnt = 0; mcnt = 0; ctr = 1; +# while True: +# for nb in np.nonzero(np.logical_not(ctr%inttimes))[0]: +# for (a0,a1) in int_bin['baselines'][nb]: +# b = mcnt+((xeng_id//Nx)*2) +# pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] +# sock.sendto(pkt, (udp_ip, udp_port)) +# pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] +# sock.sendto(pkt, (udp_ip, udp_port)) +# pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] +# sock.sendto(pkt, (udp_ip, udp_port)) +# bcnt += 1 +# ctr += 1 +# #threads = [] #for xeng_id in range(16): @@ -68,23 +99,3 @@ def send_xeng(xeng_id): #xeng_id = 0 #send_xeng(xeng_id) -bcnt = 0; mcnt = 0; ctr = 0; -sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -while True: - ctr += 2 - mcnt = ctr - for ns in np.logspace(0, Nbins-1, num=Nbins, base=2, dtype=np.int): - if (ctr%ns == 0): - print 'Sending: %d'%ns - nb = int(np.log2(ns)) - for (a0,a1) in int_bin['baselines'][nb]: - for xeng_id in range(Nx*Nt): - b = mcnt+((xeng_id//Nx)*2) - pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] - sock.sendto(pkt, (udp_ip, udp_port)) - pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] - sock.sendto(pkt, (udp_ip, udp_port)) - pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] - sock.sendto(pkt, (udp_ip, udp_port)) - bcnt += 1 - From 2c4e49edf0d5af9df7544acdc99caca997d90a54 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:38:49 -0700 Subject: [PATCH 227/420] test configuration scripts --- src/bdaconfig/test_bda_16ants_nobda.txt | 73920 +++++++++++++++++++++ src/bdaconfig/test_bda_192ants_nobda.txt | 73920 +++++++++++++++++++++ src/bdaconfig/test_bda_352ants.txt | 73920 +++++++++++++++++++++ 3 files changed, 221760 insertions(+) create mode 100644 src/bdaconfig/test_bda_16ants_nobda.txt create mode 100644 src/bdaconfig/test_bda_192ants_nobda.txt create mode 100644 src/bdaconfig/test_bda_352ants.txt diff --git a/src/bdaconfig/test_bda_16ants_nobda.txt b/src/bdaconfig/test_bda_16ants_nobda.txt new file mode 100644 index 00000000..a4a94a26 --- /dev/null +++ b/src/bdaconfig/test_bda_16ants_nobda.txt @@ -0,0 +1,73920 @@ +0 0 1 +1 1 1 +2 2 1 +3 3 1 +4 4 1 +5 5 1 +6 6 1 +7 7 1 +8 8 1 +9 9 1 +10 10 1 +11 11 1 +12 12 1 +13 13 1 +14 14 1 +15 15 1 +16 16 0 +17 17 0 +18 18 0 +19 19 0 +20 20 0 +21 21 0 +22 22 0 +23 23 0 +24 24 0 +25 25 0 +26 26 0 +27 27 0 +28 28 0 +29 29 0 +30 30 0 +31 31 0 +32 32 0 +33 33 0 +34 34 0 +35 35 0 +36 36 0 +37 37 0 +38 38 0 +39 39 0 +40 40 0 +41 41 0 +42 42 0 +43 43 0 +44 44 0 +45 45 0 +46 46 0 +47 47 0 +48 48 0 +49 49 0 +50 50 0 +51 51 0 +52 52 0 +53 53 0 +54 54 0 +55 55 0 +56 56 0 +57 57 0 +58 58 0 +59 59 0 +60 60 0 +61 61 0 +62 62 0 +63 63 0 +64 64 0 +65 65 0 +66 66 0 +67 67 0 +68 68 0 +69 69 0 +70 70 0 +71 71 0 +72 72 0 +73 73 0 +74 74 0 +75 75 0 +76 76 0 +77 77 0 +78 78 0 +79 79 0 +80 80 0 +81 81 0 +82 82 0 +83 83 0 +84 84 0 +85 85 0 +86 86 0 +87 87 0 +88 88 0 +89 89 0 +90 90 0 +91 91 0 +92 92 0 +93 93 0 +94 94 0 +95 95 0 +96 96 0 +97 97 0 +98 98 0 +99 99 0 +100 100 0 +101 101 0 +102 102 0 +103 103 0 +104 104 0 +105 105 0 +106 106 0 +107 107 0 +108 108 0 +109 109 0 +110 110 0 +111 111 0 +112 112 0 +113 113 0 +114 114 0 +115 115 0 +116 116 0 +117 117 0 +118 118 0 +119 119 0 +120 120 0 +121 121 0 +122 122 0 +123 123 0 +124 124 0 +125 125 0 +126 126 0 +127 127 0 +128 128 0 +129 129 0 +130 130 0 +131 131 0 +132 132 0 +133 133 0 +134 134 0 +135 135 0 +136 136 0 +137 137 0 +138 138 0 +139 139 0 +140 140 0 +141 141 0 +142 142 0 +143 143 0 +144 144 0 +145 145 0 +146 146 0 +147 147 0 +148 148 0 +149 149 0 +150 150 0 +151 151 0 +152 152 0 +153 153 0 +154 154 0 +155 155 0 +156 156 0 +157 157 0 +158 158 0 +159 159 0 +160 160 0 +161 161 0 +162 162 0 +163 163 0 +164 164 0 +165 165 0 +166 166 0 +167 167 0 +168 168 0 +169 169 0 +170 170 0 +171 171 0 +172 172 0 +173 173 0 +174 174 0 +175 175 0 +176 176 0 +177 177 0 +178 178 0 +179 179 0 +180 180 0 +181 181 0 +182 182 0 +183 183 0 +184 184 0 +185 185 0 +186 186 0 +187 187 0 +188 188 0 +189 189 0 +190 190 0 +191 191 0 +192 192 0 +193 193 0 +194 194 0 +195 195 0 +196 196 0 +197 197 0 +198 198 0 +199 199 0 +200 200 0 +201 201 0 +202 202 0 +203 203 0 +204 204 0 +205 205 0 +206 206 0 +207 207 0 +208 208 0 +209 209 0 +210 210 0 +211 211 0 +212 212 0 +213 213 0 +214 214 0 +215 215 0 +216 216 0 +217 217 0 +218 218 0 +219 219 0 +220 220 0 +221 221 0 +222 222 0 +223 223 0 +224 224 0 +225 225 0 +226 226 0 +227 227 0 +228 228 0 +229 229 0 +230 230 0 +231 231 0 +232 232 0 +233 233 0 +234 234 0 +235 235 0 +236 236 0 +237 237 0 +238 238 0 +239 239 0 +240 240 0 +241 241 0 +242 242 0 +243 243 0 +244 244 0 +245 245 0 +246 246 0 +247 247 0 +248 248 0 +249 249 0 +250 250 0 +251 251 0 +252 252 0 +253 253 0 +254 254 0 +255 255 0 +256 256 0 +257 257 0 +258 258 0 +259 259 0 +260 260 0 +261 261 0 +262 262 0 +263 263 0 +264 264 0 +265 265 0 +266 266 0 +267 267 0 +268 268 0 +269 269 0 +270 270 0 +271 271 0 +272 272 0 +273 273 0 +274 274 0 +275 275 0 +276 276 0 +277 277 0 +278 278 0 +279 279 0 +280 280 0 +281 281 0 +282 282 0 +283 283 0 +284 284 0 +285 285 0 +286 286 0 +287 287 0 +288 288 0 +289 289 0 +290 290 0 +291 291 0 +292 292 0 +293 293 0 +294 294 0 +295 295 0 +296 296 0 +297 297 0 +298 298 0 +299 299 0 +300 300 0 +301 301 0 +302 302 0 +303 303 0 +304 304 0 +305 305 0 +306 306 0 +307 307 0 +308 308 0 +309 309 0 +310 310 0 +311 311 0 +312 312 0 +313 313 0 +314 314 0 +315 315 0 +316 316 0 +317 317 0 +318 318 0 +319 319 0 +320 320 0 +321 321 0 +322 322 0 +323 323 0 +324 324 0 +325 325 0 +326 326 0 +327 327 0 +328 328 0 +329 329 0 +330 330 0 +331 331 0 +332 332 0 +333 333 0 +334 334 0 +335 335 0 +336 336 0 +337 337 0 +338 338 0 +339 339 0 +340 340 0 +341 341 0 +342 342 0 +343 343 0 +344 344 0 +345 345 0 +346 346 0 +347 347 0 +348 348 0 +349 349 0 +350 350 0 +351 351 0 +352 352 0 +353 353 0 +354 354 0 +355 355 0 +356 356 0 +357 357 0 +358 358 0 +359 359 0 +360 360 0 +361 361 0 +362 362 0 +363 363 0 +364 364 0 +365 365 0 +366 366 0 +367 367 0 +368 368 0 +369 369 0 +370 370 0 +371 371 0 +372 372 0 +373 373 0 +374 374 0 +375 375 0 +376 376 0 +377 377 0 +378 378 0 +379 379 0 +380 380 0 +381 381 0 +382 382 0 +383 383 0 +0 1 4 +0 2 4 +0 3 4 +0 4 4 +0 5 4 +0 6 4 +0 7 4 +0 8 4 +0 9 4 +0 10 4 +0 11 4 +0 12 4 +0 13 4 +0 14 4 +0 15 4 +0 16 0 +0 17 0 +0 18 0 +0 19 0 +0 20 0 +0 21 0 +0 22 0 +0 23 0 +0 24 0 +0 25 0 +0 26 0 +0 27 0 +0 28 0 +0 29 0 +0 30 0 +0 31 0 +0 32 0 +0 33 0 +0 34 0 +0 35 0 +0 36 0 +0 37 0 +0 38 0 +0 39 0 +0 40 0 +0 41 0 +0 42 0 +0 43 0 +0 44 0 +0 45 0 +0 46 0 +0 47 0 +0 48 0 +0 49 0 +0 50 0 +0 51 0 +0 52 0 +0 53 0 +0 54 0 +0 55 0 +0 56 0 +0 57 0 +0 58 0 +0 59 0 +0 60 0 +0 61 0 +0 62 0 +0 63 0 +0 64 0 +0 65 0 +0 66 0 +0 67 0 +0 68 0 +0 69 0 +0 70 0 +0 71 0 +0 72 0 +0 73 0 +0 74 0 +0 75 0 +0 76 0 +0 77 0 +0 78 0 +0 79 0 +0 80 0 +0 81 0 +0 82 0 +0 83 0 +0 84 0 +0 85 0 +0 86 0 +0 87 0 +0 88 0 +0 89 0 +0 90 0 +0 91 0 +0 92 0 +0 93 0 +0 94 0 +0 95 0 +0 96 0 +0 97 0 +0 98 0 +0 99 0 +0 100 0 +0 101 0 +0 102 0 +0 103 0 +0 104 0 +0 105 0 +0 106 0 +0 107 0 +0 108 0 +0 109 0 +0 110 0 +0 111 0 +0 112 0 +0 113 0 +0 114 0 +0 115 0 +0 116 0 +0 117 0 +0 118 0 +0 119 0 +0 120 0 +0 121 0 +0 122 0 +0 123 0 +0 124 0 +0 125 0 +0 126 0 +0 127 0 +0 128 0 +0 129 0 +0 130 0 +0 131 0 +0 132 0 +0 133 0 +0 134 0 +0 135 0 +0 136 0 +0 137 0 +0 138 0 +0 139 0 +0 140 0 +0 141 0 +0 142 0 +0 143 0 +0 144 0 +0 145 0 +0 146 0 +0 147 0 +0 148 0 +0 149 0 +0 150 0 +0 151 0 +0 152 0 +0 153 0 +0 154 0 +0 155 0 +0 156 0 +0 157 0 +0 158 0 +0 159 0 +0 160 0 +0 161 0 +0 162 0 +0 163 0 +0 164 0 +0 165 0 +0 166 0 +0 167 0 +0 168 0 +0 169 0 +0 170 0 +0 171 0 +0 172 0 +0 173 0 +0 174 0 +0 175 0 +0 176 0 +0 177 0 +0 178 0 +0 179 0 +0 180 0 +0 181 0 +0 182 0 +0 183 0 +0 184 0 +0 185 0 +0 186 0 +0 187 0 +0 188 0 +0 189 0 +0 190 0 +0 191 0 +0 192 0 +0 193 0 +0 194 0 +0 195 0 +0 196 0 +0 197 0 +0 198 0 +0 199 0 +0 200 0 +0 201 0 +0 202 0 +0 203 0 +0 204 0 +0 205 0 +0 206 0 +0 207 0 +0 208 0 +0 209 0 +0 210 0 +0 211 0 +0 212 0 +0 213 0 +0 214 0 +0 215 0 +0 216 0 +0 217 0 +0 218 0 +0 219 0 +0 220 0 +0 221 0 +0 222 0 +0 223 0 +0 224 0 +0 225 0 +0 226 0 +0 227 0 +0 228 0 +0 229 0 +0 230 0 +0 231 0 +0 232 0 +0 233 0 +0 234 0 +0 235 0 +0 236 0 +0 237 0 +0 238 0 +0 239 0 +0 240 0 +0 241 0 +0 242 0 +0 243 0 +0 244 0 +0 245 0 +0 246 0 +0 247 0 +0 248 0 +0 249 0 +0 250 0 +0 251 0 +0 252 0 +0 253 0 +0 254 0 +0 255 0 +0 256 0 +0 257 0 +0 258 0 +0 259 0 +0 260 0 +0 261 0 +0 262 0 +0 263 0 +0 264 0 +0 265 0 +0 266 0 +0 267 0 +0 268 0 +0 269 0 +0 270 0 +0 271 0 +0 272 0 +0 273 0 +0 274 0 +0 275 0 +0 276 0 +0 277 0 +0 278 0 +0 279 0 +0 280 0 +0 281 0 +0 282 0 +0 283 0 +0 284 0 +0 285 0 +0 286 0 +0 287 0 +0 288 0 +0 289 0 +0 290 0 +0 291 0 +0 292 0 +0 293 0 +0 294 0 +0 295 0 +0 296 0 +0 297 0 +0 298 0 +0 299 0 +0 300 0 +0 301 0 +0 302 0 +0 303 0 +0 304 0 +0 305 0 +0 306 0 +0 307 0 +0 308 0 +0 309 0 +0 310 0 +0 311 0 +0 312 0 +0 313 0 +0 314 0 +0 315 0 +0 316 0 +0 317 0 +0 318 0 +0 319 0 +0 320 0 +0 321 0 +0 322 0 +0 323 0 +0 324 0 +0 325 0 +0 326 0 +0 327 0 +0 328 0 +0 329 0 +0 330 0 +0 331 0 +0 332 0 +0 333 0 +0 334 0 +0 335 0 +0 336 0 +0 337 0 +0 338 0 +0 339 0 +0 340 0 +0 341 0 +0 342 0 +0 343 0 +0 344 0 +0 345 0 +0 346 0 +0 347 0 +0 348 0 +0 349 0 +0 350 0 +0 351 0 +0 352 0 +0 353 0 +0 354 0 +0 355 0 +0 356 0 +0 357 0 +0 358 0 +0 359 0 +0 360 0 +0 361 0 +0 362 0 +0 363 0 +0 364 0 +0 365 0 +0 366 0 +0 367 0 +0 368 0 +0 369 0 +0 370 0 +0 371 0 +0 372 0 +0 373 0 +0 374 0 +0 375 0 +0 376 0 +0 377 0 +0 378 0 +0 379 0 +0 380 0 +0 381 0 +0 382 0 +0 383 0 +1 2 4 +1 3 4 +1 4 4 +1 5 4 +1 6 4 +1 7 4 +1 8 4 +1 9 4 +1 10 4 +1 11 4 +1 12 4 +1 13 4 +1 14 4 +1 15 4 +1 16 0 +1 17 0 +1 18 0 +1 19 0 +1 20 0 +1 21 0 +1 22 0 +1 23 0 +1 24 0 +1 25 0 +1 26 0 +1 27 0 +1 28 0 +1 29 0 +1 30 0 +1 31 0 +1 32 0 +1 33 0 +1 34 0 +1 35 0 +1 36 0 +1 37 0 +1 38 0 +1 39 0 +1 40 0 +1 41 0 +1 42 0 +1 43 0 +1 44 0 +1 45 0 +1 46 0 +1 47 0 +1 48 0 +1 49 0 +1 50 0 +1 51 0 +1 52 0 +1 53 0 +1 54 0 +1 55 0 +1 56 0 +1 57 0 +1 58 0 +1 59 0 +1 60 0 +1 61 0 +1 62 0 +1 63 0 +1 64 0 +1 65 0 +1 66 0 +1 67 0 +1 68 0 +1 69 0 +1 70 0 +1 71 0 +1 72 0 +1 73 0 +1 74 0 +1 75 0 +1 76 0 +1 77 0 +1 78 0 +1 79 0 +1 80 0 +1 81 0 +1 82 0 +1 83 0 +1 84 0 +1 85 0 +1 86 0 +1 87 0 +1 88 0 +1 89 0 +1 90 0 +1 91 0 +1 92 0 +1 93 0 +1 94 0 +1 95 0 +1 96 0 +1 97 0 +1 98 0 +1 99 0 +1 100 0 +1 101 0 +1 102 0 +1 103 0 +1 104 0 +1 105 0 +1 106 0 +1 107 0 +1 108 0 +1 109 0 +1 110 0 +1 111 0 +1 112 0 +1 113 0 +1 114 0 +1 115 0 +1 116 0 +1 117 0 +1 118 0 +1 119 0 +1 120 0 +1 121 0 +1 122 0 +1 123 0 +1 124 0 +1 125 0 +1 126 0 +1 127 0 +1 128 0 +1 129 0 +1 130 0 +1 131 0 +1 132 0 +1 133 0 +1 134 0 +1 135 0 +1 136 0 +1 137 0 +1 138 0 +1 139 0 +1 140 0 +1 141 0 +1 142 0 +1 143 0 +1 144 0 +1 145 0 +1 146 0 +1 147 0 +1 148 0 +1 149 0 +1 150 0 +1 151 0 +1 152 0 +1 153 0 +1 154 0 +1 155 0 +1 156 0 +1 157 0 +1 158 0 +1 159 0 +1 160 0 +1 161 0 +1 162 0 +1 163 0 +1 164 0 +1 165 0 +1 166 0 +1 167 0 +1 168 0 +1 169 0 +1 170 0 +1 171 0 +1 172 0 +1 173 0 +1 174 0 +1 175 0 +1 176 0 +1 177 0 +1 178 0 +1 179 0 +1 180 0 +1 181 0 +1 182 0 +1 183 0 +1 184 0 +1 185 0 +1 186 0 +1 187 0 +1 188 0 +1 189 0 +1 190 0 +1 191 0 +1 192 0 +1 193 0 +1 194 0 +1 195 0 +1 196 0 +1 197 0 +1 198 0 +1 199 0 +1 200 0 +1 201 0 +1 202 0 +1 203 0 +1 204 0 +1 205 0 +1 206 0 +1 207 0 +1 208 0 +1 209 0 +1 210 0 +1 211 0 +1 212 0 +1 213 0 +1 214 0 +1 215 0 +1 216 0 +1 217 0 +1 218 0 +1 219 0 +1 220 0 +1 221 0 +1 222 0 +1 223 0 +1 224 0 +1 225 0 +1 226 0 +1 227 0 +1 228 0 +1 229 0 +1 230 0 +1 231 0 +1 232 0 +1 233 0 +1 234 0 +1 235 0 +1 236 0 +1 237 0 +1 238 0 +1 239 0 +1 240 0 +1 241 0 +1 242 0 +1 243 0 +1 244 0 +1 245 0 +1 246 0 +1 247 0 +1 248 0 +1 249 0 +1 250 0 +1 251 0 +1 252 0 +1 253 0 +1 254 0 +1 255 0 +1 256 0 +1 257 0 +1 258 0 +1 259 0 +1 260 0 +1 261 0 +1 262 0 +1 263 0 +1 264 0 +1 265 0 +1 266 0 +1 267 0 +1 268 0 +1 269 0 +1 270 0 +1 271 0 +1 272 0 +1 273 0 +1 274 0 +1 275 0 +1 276 0 +1 277 0 +1 278 0 +1 279 0 +1 280 0 +1 281 0 +1 282 0 +1 283 0 +1 284 0 +1 285 0 +1 286 0 +1 287 0 +1 288 0 +1 289 0 +1 290 0 +1 291 0 +1 292 0 +1 293 0 +1 294 0 +1 295 0 +1 296 0 +1 297 0 +1 298 0 +1 299 0 +1 300 0 +1 301 0 +1 302 0 +1 303 0 +1 304 0 +1 305 0 +1 306 0 +1 307 0 +1 308 0 +1 309 0 +1 310 0 +1 311 0 +1 312 0 +1 313 0 +1 314 0 +1 315 0 +1 316 0 +1 317 0 +1 318 0 +1 319 0 +1 320 0 +1 321 0 +1 322 0 +1 323 0 +1 324 0 +1 325 0 +1 326 0 +1 327 0 +1 328 0 +1 329 0 +1 330 0 +1 331 0 +1 332 0 +1 333 0 +1 334 0 +1 335 0 +1 336 0 +1 337 0 +1 338 0 +1 339 0 +1 340 0 +1 341 0 +1 342 0 +1 343 0 +1 344 0 +1 345 0 +1 346 0 +1 347 0 +1 348 0 +1 349 0 +1 350 0 +1 351 0 +1 352 0 +1 353 0 +1 354 0 +1 355 0 +1 356 0 +1 357 0 +1 358 0 +1 359 0 +1 360 0 +1 361 0 +1 362 0 +1 363 0 +1 364 0 +1 365 0 +1 366 0 +1 367 0 +1 368 0 +1 369 0 +1 370 0 +1 371 0 +1 372 0 +1 373 0 +1 374 0 +1 375 0 +1 376 0 +1 377 0 +1 378 0 +1 379 0 +1 380 0 +1 381 0 +1 382 0 +1 383 0 +2 3 4 +2 4 4 +2 5 4 +2 6 4 +2 7 4 +2 8 4 +2 9 4 +2 10 4 +2 11 4 +2 12 4 +2 13 4 +2 14 4 +2 15 4 +2 16 0 +2 17 0 +2 18 0 +2 19 0 +2 20 0 +2 21 0 +2 22 0 +2 23 0 +2 24 0 +2 25 0 +2 26 0 +2 27 0 +2 28 0 +2 29 0 +2 30 0 +2 31 0 +2 32 0 +2 33 0 +2 34 0 +2 35 0 +2 36 0 +2 37 0 +2 38 0 +2 39 0 +2 40 0 +2 41 0 +2 42 0 +2 43 0 +2 44 0 +2 45 0 +2 46 0 +2 47 0 +2 48 0 +2 49 0 +2 50 0 +2 51 0 +2 52 0 +2 53 0 +2 54 0 +2 55 0 +2 56 0 +2 57 0 +2 58 0 +2 59 0 +2 60 0 +2 61 0 +2 62 0 +2 63 0 +2 64 0 +2 65 0 +2 66 0 +2 67 0 +2 68 0 +2 69 0 +2 70 0 +2 71 0 +2 72 0 +2 73 0 +2 74 0 +2 75 0 +2 76 0 +2 77 0 +2 78 0 +2 79 0 +2 80 0 +2 81 0 +2 82 0 +2 83 0 +2 84 0 +2 85 0 +2 86 0 +2 87 0 +2 88 0 +2 89 0 +2 90 0 +2 91 0 +2 92 0 +2 93 0 +2 94 0 +2 95 0 +2 96 0 +2 97 0 +2 98 0 +2 99 0 +2 100 0 +2 101 0 +2 102 0 +2 103 0 +2 104 0 +2 105 0 +2 106 0 +2 107 0 +2 108 0 +2 109 0 +2 110 0 +2 111 0 +2 112 0 +2 113 0 +2 114 0 +2 115 0 +2 116 0 +2 117 0 +2 118 0 +2 119 0 +2 120 0 +2 121 0 +2 122 0 +2 123 0 +2 124 0 +2 125 0 +2 126 0 +2 127 0 +2 128 0 +2 129 0 +2 130 0 +2 131 0 +2 132 0 +2 133 0 +2 134 0 +2 135 0 +2 136 0 +2 137 0 +2 138 0 +2 139 0 +2 140 0 +2 141 0 +2 142 0 +2 143 0 +2 144 0 +2 145 0 +2 146 0 +2 147 0 +2 148 0 +2 149 0 +2 150 0 +2 151 0 +2 152 0 +2 153 0 +2 154 0 +2 155 0 +2 156 0 +2 157 0 +2 158 0 +2 159 0 +2 160 0 +2 161 0 +2 162 0 +2 163 0 +2 164 0 +2 165 0 +2 166 0 +2 167 0 +2 168 0 +2 169 0 +2 170 0 +2 171 0 +2 172 0 +2 173 0 +2 174 0 +2 175 0 +2 176 0 +2 177 0 +2 178 0 +2 179 0 +2 180 0 +2 181 0 +2 182 0 +2 183 0 +2 184 0 +2 185 0 +2 186 0 +2 187 0 +2 188 0 +2 189 0 +2 190 0 +2 191 0 +2 192 0 +2 193 0 +2 194 0 +2 195 0 +2 196 0 +2 197 0 +2 198 0 +2 199 0 +2 200 0 +2 201 0 +2 202 0 +2 203 0 +2 204 0 +2 205 0 +2 206 0 +2 207 0 +2 208 0 +2 209 0 +2 210 0 +2 211 0 +2 212 0 +2 213 0 +2 214 0 +2 215 0 +2 216 0 +2 217 0 +2 218 0 +2 219 0 +2 220 0 +2 221 0 +2 222 0 +2 223 0 +2 224 0 +2 225 0 +2 226 0 +2 227 0 +2 228 0 +2 229 0 +2 230 0 +2 231 0 +2 232 0 +2 233 0 +2 234 0 +2 235 0 +2 236 0 +2 237 0 +2 238 0 +2 239 0 +2 240 0 +2 241 0 +2 242 0 +2 243 0 +2 244 0 +2 245 0 +2 246 0 +2 247 0 +2 248 0 +2 249 0 +2 250 0 +2 251 0 +2 252 0 +2 253 0 +2 254 0 +2 255 0 +2 256 0 +2 257 0 +2 258 0 +2 259 0 +2 260 0 +2 261 0 +2 262 0 +2 263 0 +2 264 0 +2 265 0 +2 266 0 +2 267 0 +2 268 0 +2 269 0 +2 270 0 +2 271 0 +2 272 0 +2 273 0 +2 274 0 +2 275 0 +2 276 0 +2 277 0 +2 278 0 +2 279 0 +2 280 0 +2 281 0 +2 282 0 +2 283 0 +2 284 0 +2 285 0 +2 286 0 +2 287 0 +2 288 0 +2 289 0 +2 290 0 +2 291 0 +2 292 0 +2 293 0 +2 294 0 +2 295 0 +2 296 0 +2 297 0 +2 298 0 +2 299 0 +2 300 0 +2 301 0 +2 302 0 +2 303 0 +2 304 0 +2 305 0 +2 306 0 +2 307 0 +2 308 0 +2 309 0 +2 310 0 +2 311 0 +2 312 0 +2 313 0 +2 314 0 +2 315 0 +2 316 0 +2 317 0 +2 318 0 +2 319 0 +2 320 0 +2 321 0 +2 322 0 +2 323 0 +2 324 0 +2 325 0 +2 326 0 +2 327 0 +2 328 0 +2 329 0 +2 330 0 +2 331 0 +2 332 0 +2 333 0 +2 334 0 +2 335 0 +2 336 0 +2 337 0 +2 338 0 +2 339 0 +2 340 0 +2 341 0 +2 342 0 +2 343 0 +2 344 0 +2 345 0 +2 346 0 +2 347 0 +2 348 0 +2 349 0 +2 350 0 +2 351 0 +2 352 0 +2 353 0 +2 354 0 +2 355 0 +2 356 0 +2 357 0 +2 358 0 +2 359 0 +2 360 0 +2 361 0 +2 362 0 +2 363 0 +2 364 0 +2 365 0 +2 366 0 +2 367 0 +2 368 0 +2 369 0 +2 370 0 +2 371 0 +2 372 0 +2 373 0 +2 374 0 +2 375 0 +2 376 0 +2 377 0 +2 378 0 +2 379 0 +2 380 0 +2 381 0 +2 382 0 +2 383 0 +3 4 4 +3 5 4 +3 6 4 +3 7 4 +3 8 4 +3 9 4 +3 10 4 +3 11 4 +3 12 4 +3 13 4 +3 14 4 +3 15 4 +3 16 0 +3 17 0 +3 18 0 +3 19 0 +3 20 0 +3 21 0 +3 22 0 +3 23 0 +3 24 0 +3 25 0 +3 26 0 +3 27 0 +3 28 0 +3 29 0 +3 30 0 +3 31 0 +3 32 0 +3 33 0 +3 34 0 +3 35 0 +3 36 0 +3 37 0 +3 38 0 +3 39 0 +3 40 0 +3 41 0 +3 42 0 +3 43 0 +3 44 0 +3 45 0 +3 46 0 +3 47 0 +3 48 0 +3 49 0 +3 50 0 +3 51 0 +3 52 0 +3 53 0 +3 54 0 +3 55 0 +3 56 0 +3 57 0 +3 58 0 +3 59 0 +3 60 0 +3 61 0 +3 62 0 +3 63 0 +3 64 0 +3 65 0 +3 66 0 +3 67 0 +3 68 0 +3 69 0 +3 70 0 +3 71 0 +3 72 0 +3 73 0 +3 74 0 +3 75 0 +3 76 0 +3 77 0 +3 78 0 +3 79 0 +3 80 0 +3 81 0 +3 82 0 +3 83 0 +3 84 0 +3 85 0 +3 86 0 +3 87 0 +3 88 0 +3 89 0 +3 90 0 +3 91 0 +3 92 0 +3 93 0 +3 94 0 +3 95 0 +3 96 0 +3 97 0 +3 98 0 +3 99 0 +3 100 0 +3 101 0 +3 102 0 +3 103 0 +3 104 0 +3 105 0 +3 106 0 +3 107 0 +3 108 0 +3 109 0 +3 110 0 +3 111 0 +3 112 0 +3 113 0 +3 114 0 +3 115 0 +3 116 0 +3 117 0 +3 118 0 +3 119 0 +3 120 0 +3 121 0 +3 122 0 +3 123 0 +3 124 0 +3 125 0 +3 126 0 +3 127 0 +3 128 0 +3 129 0 +3 130 0 +3 131 0 +3 132 0 +3 133 0 +3 134 0 +3 135 0 +3 136 0 +3 137 0 +3 138 0 +3 139 0 +3 140 0 +3 141 0 +3 142 0 +3 143 0 +3 144 0 +3 145 0 +3 146 0 +3 147 0 +3 148 0 +3 149 0 +3 150 0 +3 151 0 +3 152 0 +3 153 0 +3 154 0 +3 155 0 +3 156 0 +3 157 0 +3 158 0 +3 159 0 +3 160 0 +3 161 0 +3 162 0 +3 163 0 +3 164 0 +3 165 0 +3 166 0 +3 167 0 +3 168 0 +3 169 0 +3 170 0 +3 171 0 +3 172 0 +3 173 0 +3 174 0 +3 175 0 +3 176 0 +3 177 0 +3 178 0 +3 179 0 +3 180 0 +3 181 0 +3 182 0 +3 183 0 +3 184 0 +3 185 0 +3 186 0 +3 187 0 +3 188 0 +3 189 0 +3 190 0 +3 191 0 +3 192 0 +3 193 0 +3 194 0 +3 195 0 +3 196 0 +3 197 0 +3 198 0 +3 199 0 +3 200 0 +3 201 0 +3 202 0 +3 203 0 +3 204 0 +3 205 0 +3 206 0 +3 207 0 +3 208 0 +3 209 0 +3 210 0 +3 211 0 +3 212 0 +3 213 0 +3 214 0 +3 215 0 +3 216 0 +3 217 0 +3 218 0 +3 219 0 +3 220 0 +3 221 0 +3 222 0 +3 223 0 +3 224 0 +3 225 0 +3 226 0 +3 227 0 +3 228 0 +3 229 0 +3 230 0 +3 231 0 +3 232 0 +3 233 0 +3 234 0 +3 235 0 +3 236 0 +3 237 0 +3 238 0 +3 239 0 +3 240 0 +3 241 0 +3 242 0 +3 243 0 +3 244 0 +3 245 0 +3 246 0 +3 247 0 +3 248 0 +3 249 0 +3 250 0 +3 251 0 +3 252 0 +3 253 0 +3 254 0 +3 255 0 +3 256 0 +3 257 0 +3 258 0 +3 259 0 +3 260 0 +3 261 0 +3 262 0 +3 263 0 +3 264 0 +3 265 0 +3 266 0 +3 267 0 +3 268 0 +3 269 0 +3 270 0 +3 271 0 +3 272 0 +3 273 0 +3 274 0 +3 275 0 +3 276 0 +3 277 0 +3 278 0 +3 279 0 +3 280 0 +3 281 0 +3 282 0 +3 283 0 +3 284 0 +3 285 0 +3 286 0 +3 287 0 +3 288 0 +3 289 0 +3 290 0 +3 291 0 +3 292 0 +3 293 0 +3 294 0 +3 295 0 +3 296 0 +3 297 0 +3 298 0 +3 299 0 +3 300 0 +3 301 0 +3 302 0 +3 303 0 +3 304 0 +3 305 0 +3 306 0 +3 307 0 +3 308 0 +3 309 0 +3 310 0 +3 311 0 +3 312 0 +3 313 0 +3 314 0 +3 315 0 +3 316 0 +3 317 0 +3 318 0 +3 319 0 +3 320 0 +3 321 0 +3 322 0 +3 323 0 +3 324 0 +3 325 0 +3 326 0 +3 327 0 +3 328 0 +3 329 0 +3 330 0 +3 331 0 +3 332 0 +3 333 0 +3 334 0 +3 335 0 +3 336 0 +3 337 0 +3 338 0 +3 339 0 +3 340 0 +3 341 0 +3 342 0 +3 343 0 +3 344 0 +3 345 0 +3 346 0 +3 347 0 +3 348 0 +3 349 0 +3 350 0 +3 351 0 +3 352 0 +3 353 0 +3 354 0 +3 355 0 +3 356 0 +3 357 0 +3 358 0 +3 359 0 +3 360 0 +3 361 0 +3 362 0 +3 363 0 +3 364 0 +3 365 0 +3 366 0 +3 367 0 +3 368 0 +3 369 0 +3 370 0 +3 371 0 +3 372 0 +3 373 0 +3 374 0 +3 375 0 +3 376 0 +3 377 0 +3 378 0 +3 379 0 +3 380 0 +3 381 0 +3 382 0 +3 383 0 +4 5 4 +4 6 4 +4 7 4 +4 8 4 +4 9 4 +4 10 4 +4 11 4 +4 12 4 +4 13 4 +4 14 4 +4 15 4 +4 16 0 +4 17 0 +4 18 0 +4 19 0 +4 20 0 +4 21 0 +4 22 0 +4 23 0 +4 24 0 +4 25 0 +4 26 0 +4 27 0 +4 28 0 +4 29 0 +4 30 0 +4 31 0 +4 32 0 +4 33 0 +4 34 0 +4 35 0 +4 36 0 +4 37 0 +4 38 0 +4 39 0 +4 40 0 +4 41 0 +4 42 0 +4 43 0 +4 44 0 +4 45 0 +4 46 0 +4 47 0 +4 48 0 +4 49 0 +4 50 0 +4 51 0 +4 52 0 +4 53 0 +4 54 0 +4 55 0 +4 56 0 +4 57 0 +4 58 0 +4 59 0 +4 60 0 +4 61 0 +4 62 0 +4 63 0 +4 64 0 +4 65 0 +4 66 0 +4 67 0 +4 68 0 +4 69 0 +4 70 0 +4 71 0 +4 72 0 +4 73 0 +4 74 0 +4 75 0 +4 76 0 +4 77 0 +4 78 0 +4 79 0 +4 80 0 +4 81 0 +4 82 0 +4 83 0 +4 84 0 +4 85 0 +4 86 0 +4 87 0 +4 88 0 +4 89 0 +4 90 0 +4 91 0 +4 92 0 +4 93 0 +4 94 0 +4 95 0 +4 96 0 +4 97 0 +4 98 0 +4 99 0 +4 100 0 +4 101 0 +4 102 0 +4 103 0 +4 104 0 +4 105 0 +4 106 0 +4 107 0 +4 108 0 +4 109 0 +4 110 0 +4 111 0 +4 112 0 +4 113 0 +4 114 0 +4 115 0 +4 116 0 +4 117 0 +4 118 0 +4 119 0 +4 120 0 +4 121 0 +4 122 0 +4 123 0 +4 124 0 +4 125 0 +4 126 0 +4 127 0 +4 128 0 +4 129 0 +4 130 0 +4 131 0 +4 132 0 +4 133 0 +4 134 0 +4 135 0 +4 136 0 +4 137 0 +4 138 0 +4 139 0 +4 140 0 +4 141 0 +4 142 0 +4 143 0 +4 144 0 +4 145 0 +4 146 0 +4 147 0 +4 148 0 +4 149 0 +4 150 0 +4 151 0 +4 152 0 +4 153 0 +4 154 0 +4 155 0 +4 156 0 +4 157 0 +4 158 0 +4 159 0 +4 160 0 +4 161 0 +4 162 0 +4 163 0 +4 164 0 +4 165 0 +4 166 0 +4 167 0 +4 168 0 +4 169 0 +4 170 0 +4 171 0 +4 172 0 +4 173 0 +4 174 0 +4 175 0 +4 176 0 +4 177 0 +4 178 0 +4 179 0 +4 180 0 +4 181 0 +4 182 0 +4 183 0 +4 184 0 +4 185 0 +4 186 0 +4 187 0 +4 188 0 +4 189 0 +4 190 0 +4 191 0 +4 192 0 +4 193 0 +4 194 0 +4 195 0 +4 196 0 +4 197 0 +4 198 0 +4 199 0 +4 200 0 +4 201 0 +4 202 0 +4 203 0 +4 204 0 +4 205 0 +4 206 0 +4 207 0 +4 208 0 +4 209 0 +4 210 0 +4 211 0 +4 212 0 +4 213 0 +4 214 0 +4 215 0 +4 216 0 +4 217 0 +4 218 0 +4 219 0 +4 220 0 +4 221 0 +4 222 0 +4 223 0 +4 224 0 +4 225 0 +4 226 0 +4 227 0 +4 228 0 +4 229 0 +4 230 0 +4 231 0 +4 232 0 +4 233 0 +4 234 0 +4 235 0 +4 236 0 +4 237 0 +4 238 0 +4 239 0 +4 240 0 +4 241 0 +4 242 0 +4 243 0 +4 244 0 +4 245 0 +4 246 0 +4 247 0 +4 248 0 +4 249 0 +4 250 0 +4 251 0 +4 252 0 +4 253 0 +4 254 0 +4 255 0 +4 256 0 +4 257 0 +4 258 0 +4 259 0 +4 260 0 +4 261 0 +4 262 0 +4 263 0 +4 264 0 +4 265 0 +4 266 0 +4 267 0 +4 268 0 +4 269 0 +4 270 0 +4 271 0 +4 272 0 +4 273 0 +4 274 0 +4 275 0 +4 276 0 +4 277 0 +4 278 0 +4 279 0 +4 280 0 +4 281 0 +4 282 0 +4 283 0 +4 284 0 +4 285 0 +4 286 0 +4 287 0 +4 288 0 +4 289 0 +4 290 0 +4 291 0 +4 292 0 +4 293 0 +4 294 0 +4 295 0 +4 296 0 +4 297 0 +4 298 0 +4 299 0 +4 300 0 +4 301 0 +4 302 0 +4 303 0 +4 304 0 +4 305 0 +4 306 0 +4 307 0 +4 308 0 +4 309 0 +4 310 0 +4 311 0 +4 312 0 +4 313 0 +4 314 0 +4 315 0 +4 316 0 +4 317 0 +4 318 0 +4 319 0 +4 320 0 +4 321 0 +4 322 0 +4 323 0 +4 324 0 +4 325 0 +4 326 0 +4 327 0 +4 328 0 +4 329 0 +4 330 0 +4 331 0 +4 332 0 +4 333 0 +4 334 0 +4 335 0 +4 336 0 +4 337 0 +4 338 0 +4 339 0 +4 340 0 +4 341 0 +4 342 0 +4 343 0 +4 344 0 +4 345 0 +4 346 0 +4 347 0 +4 348 0 +4 349 0 +4 350 0 +4 351 0 +4 352 0 +4 353 0 +4 354 0 +4 355 0 +4 356 0 +4 357 0 +4 358 0 +4 359 0 +4 360 0 +4 361 0 +4 362 0 +4 363 0 +4 364 0 +4 365 0 +4 366 0 +4 367 0 +4 368 0 +4 369 0 +4 370 0 +4 371 0 +4 372 0 +4 373 0 +4 374 0 +4 375 0 +4 376 0 +4 377 0 +4 378 0 +4 379 0 +4 380 0 +4 381 0 +4 382 0 +4 383 0 +5 6 4 +5 7 4 +5 8 4 +5 9 4 +5 10 4 +5 11 4 +5 12 4 +5 13 4 +5 14 4 +5 15 4 +5 16 0 +5 17 0 +5 18 0 +5 19 0 +5 20 0 +5 21 0 +5 22 0 +5 23 0 +5 24 0 +5 25 0 +5 26 0 +5 27 0 +5 28 0 +5 29 0 +5 30 0 +5 31 0 +5 32 0 +5 33 0 +5 34 0 +5 35 0 +5 36 0 +5 37 0 +5 38 0 +5 39 0 +5 40 0 +5 41 0 +5 42 0 +5 43 0 +5 44 0 +5 45 0 +5 46 0 +5 47 0 +5 48 0 +5 49 0 +5 50 0 +5 51 0 +5 52 0 +5 53 0 +5 54 0 +5 55 0 +5 56 0 +5 57 0 +5 58 0 +5 59 0 +5 60 0 +5 61 0 +5 62 0 +5 63 0 +5 64 0 +5 65 0 +5 66 0 +5 67 0 +5 68 0 +5 69 0 +5 70 0 +5 71 0 +5 72 0 +5 73 0 +5 74 0 +5 75 0 +5 76 0 +5 77 0 +5 78 0 +5 79 0 +5 80 0 +5 81 0 +5 82 0 +5 83 0 +5 84 0 +5 85 0 +5 86 0 +5 87 0 +5 88 0 +5 89 0 +5 90 0 +5 91 0 +5 92 0 +5 93 0 +5 94 0 +5 95 0 +5 96 0 +5 97 0 +5 98 0 +5 99 0 +5 100 0 +5 101 0 +5 102 0 +5 103 0 +5 104 0 +5 105 0 +5 106 0 +5 107 0 +5 108 0 +5 109 0 +5 110 0 +5 111 0 +5 112 0 +5 113 0 +5 114 0 +5 115 0 +5 116 0 +5 117 0 +5 118 0 +5 119 0 +5 120 0 +5 121 0 +5 122 0 +5 123 0 +5 124 0 +5 125 0 +5 126 0 +5 127 0 +5 128 0 +5 129 0 +5 130 0 +5 131 0 +5 132 0 +5 133 0 +5 134 0 +5 135 0 +5 136 0 +5 137 0 +5 138 0 +5 139 0 +5 140 0 +5 141 0 +5 142 0 +5 143 0 +5 144 0 +5 145 0 +5 146 0 +5 147 0 +5 148 0 +5 149 0 +5 150 0 +5 151 0 +5 152 0 +5 153 0 +5 154 0 +5 155 0 +5 156 0 +5 157 0 +5 158 0 +5 159 0 +5 160 0 +5 161 0 +5 162 0 +5 163 0 +5 164 0 +5 165 0 +5 166 0 +5 167 0 +5 168 0 +5 169 0 +5 170 0 +5 171 0 +5 172 0 +5 173 0 +5 174 0 +5 175 0 +5 176 0 +5 177 0 +5 178 0 +5 179 0 +5 180 0 +5 181 0 +5 182 0 +5 183 0 +5 184 0 +5 185 0 +5 186 0 +5 187 0 +5 188 0 +5 189 0 +5 190 0 +5 191 0 +5 192 0 +5 193 0 +5 194 0 +5 195 0 +5 196 0 +5 197 0 +5 198 0 +5 199 0 +5 200 0 +5 201 0 +5 202 0 +5 203 0 +5 204 0 +5 205 0 +5 206 0 +5 207 0 +5 208 0 +5 209 0 +5 210 0 +5 211 0 +5 212 0 +5 213 0 +5 214 0 +5 215 0 +5 216 0 +5 217 0 +5 218 0 +5 219 0 +5 220 0 +5 221 0 +5 222 0 +5 223 0 +5 224 0 +5 225 0 +5 226 0 +5 227 0 +5 228 0 +5 229 0 +5 230 0 +5 231 0 +5 232 0 +5 233 0 +5 234 0 +5 235 0 +5 236 0 +5 237 0 +5 238 0 +5 239 0 +5 240 0 +5 241 0 +5 242 0 +5 243 0 +5 244 0 +5 245 0 +5 246 0 +5 247 0 +5 248 0 +5 249 0 +5 250 0 +5 251 0 +5 252 0 +5 253 0 +5 254 0 +5 255 0 +5 256 0 +5 257 0 +5 258 0 +5 259 0 +5 260 0 +5 261 0 +5 262 0 +5 263 0 +5 264 0 +5 265 0 +5 266 0 +5 267 0 +5 268 0 +5 269 0 +5 270 0 +5 271 0 +5 272 0 +5 273 0 +5 274 0 +5 275 0 +5 276 0 +5 277 0 +5 278 0 +5 279 0 +5 280 0 +5 281 0 +5 282 0 +5 283 0 +5 284 0 +5 285 0 +5 286 0 +5 287 0 +5 288 0 +5 289 0 +5 290 0 +5 291 0 +5 292 0 +5 293 0 +5 294 0 +5 295 0 +5 296 0 +5 297 0 +5 298 0 +5 299 0 +5 300 0 +5 301 0 +5 302 0 +5 303 0 +5 304 0 +5 305 0 +5 306 0 +5 307 0 +5 308 0 +5 309 0 +5 310 0 +5 311 0 +5 312 0 +5 313 0 +5 314 0 +5 315 0 +5 316 0 +5 317 0 +5 318 0 +5 319 0 +5 320 0 +5 321 0 +5 322 0 +5 323 0 +5 324 0 +5 325 0 +5 326 0 +5 327 0 +5 328 0 +5 329 0 +5 330 0 +5 331 0 +5 332 0 +5 333 0 +5 334 0 +5 335 0 +5 336 0 +5 337 0 +5 338 0 +5 339 0 +5 340 0 +5 341 0 +5 342 0 +5 343 0 +5 344 0 +5 345 0 +5 346 0 +5 347 0 +5 348 0 +5 349 0 +5 350 0 +5 351 0 +5 352 0 +5 353 0 +5 354 0 +5 355 0 +5 356 0 +5 357 0 +5 358 0 +5 359 0 +5 360 0 +5 361 0 +5 362 0 +5 363 0 +5 364 0 +5 365 0 +5 366 0 +5 367 0 +5 368 0 +5 369 0 +5 370 0 +5 371 0 +5 372 0 +5 373 0 +5 374 0 +5 375 0 +5 376 0 +5 377 0 +5 378 0 +5 379 0 +5 380 0 +5 381 0 +5 382 0 +5 383 0 +6 7 4 +6 8 4 +6 9 4 +6 10 4 +6 11 4 +6 12 4 +6 13 4 +6 14 4 +6 15 4 +6 16 0 +6 17 0 +6 18 0 +6 19 0 +6 20 0 +6 21 0 +6 22 0 +6 23 0 +6 24 0 +6 25 0 +6 26 0 +6 27 0 +6 28 0 +6 29 0 +6 30 0 +6 31 0 +6 32 0 +6 33 0 +6 34 0 +6 35 0 +6 36 0 +6 37 0 +6 38 0 +6 39 0 +6 40 0 +6 41 0 +6 42 0 +6 43 0 +6 44 0 +6 45 0 +6 46 0 +6 47 0 +6 48 0 +6 49 0 +6 50 0 +6 51 0 +6 52 0 +6 53 0 +6 54 0 +6 55 0 +6 56 0 +6 57 0 +6 58 0 +6 59 0 +6 60 0 +6 61 0 +6 62 0 +6 63 0 +6 64 0 +6 65 0 +6 66 0 +6 67 0 +6 68 0 +6 69 0 +6 70 0 +6 71 0 +6 72 0 +6 73 0 +6 74 0 +6 75 0 +6 76 0 +6 77 0 +6 78 0 +6 79 0 +6 80 0 +6 81 0 +6 82 0 +6 83 0 +6 84 0 +6 85 0 +6 86 0 +6 87 0 +6 88 0 +6 89 0 +6 90 0 +6 91 0 +6 92 0 +6 93 0 +6 94 0 +6 95 0 +6 96 0 +6 97 0 +6 98 0 +6 99 0 +6 100 0 +6 101 0 +6 102 0 +6 103 0 +6 104 0 +6 105 0 +6 106 0 +6 107 0 +6 108 0 +6 109 0 +6 110 0 +6 111 0 +6 112 0 +6 113 0 +6 114 0 +6 115 0 +6 116 0 +6 117 0 +6 118 0 +6 119 0 +6 120 0 +6 121 0 +6 122 0 +6 123 0 +6 124 0 +6 125 0 +6 126 0 +6 127 0 +6 128 0 +6 129 0 +6 130 0 +6 131 0 +6 132 0 +6 133 0 +6 134 0 +6 135 0 +6 136 0 +6 137 0 +6 138 0 +6 139 0 +6 140 0 +6 141 0 +6 142 0 +6 143 0 +6 144 0 +6 145 0 +6 146 0 +6 147 0 +6 148 0 +6 149 0 +6 150 0 +6 151 0 +6 152 0 +6 153 0 +6 154 0 +6 155 0 +6 156 0 +6 157 0 +6 158 0 +6 159 0 +6 160 0 +6 161 0 +6 162 0 +6 163 0 +6 164 0 +6 165 0 +6 166 0 +6 167 0 +6 168 0 +6 169 0 +6 170 0 +6 171 0 +6 172 0 +6 173 0 +6 174 0 +6 175 0 +6 176 0 +6 177 0 +6 178 0 +6 179 0 +6 180 0 +6 181 0 +6 182 0 +6 183 0 +6 184 0 +6 185 0 +6 186 0 +6 187 0 +6 188 0 +6 189 0 +6 190 0 +6 191 0 +6 192 0 +6 193 0 +6 194 0 +6 195 0 +6 196 0 +6 197 0 +6 198 0 +6 199 0 +6 200 0 +6 201 0 +6 202 0 +6 203 0 +6 204 0 +6 205 0 +6 206 0 +6 207 0 +6 208 0 +6 209 0 +6 210 0 +6 211 0 +6 212 0 +6 213 0 +6 214 0 +6 215 0 +6 216 0 +6 217 0 +6 218 0 +6 219 0 +6 220 0 +6 221 0 +6 222 0 +6 223 0 +6 224 0 +6 225 0 +6 226 0 +6 227 0 +6 228 0 +6 229 0 +6 230 0 +6 231 0 +6 232 0 +6 233 0 +6 234 0 +6 235 0 +6 236 0 +6 237 0 +6 238 0 +6 239 0 +6 240 0 +6 241 0 +6 242 0 +6 243 0 +6 244 0 +6 245 0 +6 246 0 +6 247 0 +6 248 0 +6 249 0 +6 250 0 +6 251 0 +6 252 0 +6 253 0 +6 254 0 +6 255 0 +6 256 0 +6 257 0 +6 258 0 +6 259 0 +6 260 0 +6 261 0 +6 262 0 +6 263 0 +6 264 0 +6 265 0 +6 266 0 +6 267 0 +6 268 0 +6 269 0 +6 270 0 +6 271 0 +6 272 0 +6 273 0 +6 274 0 +6 275 0 +6 276 0 +6 277 0 +6 278 0 +6 279 0 +6 280 0 +6 281 0 +6 282 0 +6 283 0 +6 284 0 +6 285 0 +6 286 0 +6 287 0 +6 288 0 +6 289 0 +6 290 0 +6 291 0 +6 292 0 +6 293 0 +6 294 0 +6 295 0 +6 296 0 +6 297 0 +6 298 0 +6 299 0 +6 300 0 +6 301 0 +6 302 0 +6 303 0 +6 304 0 +6 305 0 +6 306 0 +6 307 0 +6 308 0 +6 309 0 +6 310 0 +6 311 0 +6 312 0 +6 313 0 +6 314 0 +6 315 0 +6 316 0 +6 317 0 +6 318 0 +6 319 0 +6 320 0 +6 321 0 +6 322 0 +6 323 0 +6 324 0 +6 325 0 +6 326 0 +6 327 0 +6 328 0 +6 329 0 +6 330 0 +6 331 0 +6 332 0 +6 333 0 +6 334 0 +6 335 0 +6 336 0 +6 337 0 +6 338 0 +6 339 0 +6 340 0 +6 341 0 +6 342 0 +6 343 0 +6 344 0 +6 345 0 +6 346 0 +6 347 0 +6 348 0 +6 349 0 +6 350 0 +6 351 0 +6 352 0 +6 353 0 +6 354 0 +6 355 0 +6 356 0 +6 357 0 +6 358 0 +6 359 0 +6 360 0 +6 361 0 +6 362 0 +6 363 0 +6 364 0 +6 365 0 +6 366 0 +6 367 0 +6 368 0 +6 369 0 +6 370 0 +6 371 0 +6 372 0 +6 373 0 +6 374 0 +6 375 0 +6 376 0 +6 377 0 +6 378 0 +6 379 0 +6 380 0 +6 381 0 +6 382 0 +6 383 0 +7 8 4 +7 9 4 +7 10 4 +7 11 4 +7 12 4 +7 13 4 +7 14 4 +7 15 4 +7 16 0 +7 17 0 +7 18 0 +7 19 0 +7 20 0 +7 21 0 +7 22 0 +7 23 0 +7 24 0 +7 25 0 +7 26 0 +7 27 0 +7 28 0 +7 29 0 +7 30 0 +7 31 0 +7 32 0 +7 33 0 +7 34 0 +7 35 0 +7 36 0 +7 37 0 +7 38 0 +7 39 0 +7 40 0 +7 41 0 +7 42 0 +7 43 0 +7 44 0 +7 45 0 +7 46 0 +7 47 0 +7 48 0 +7 49 0 +7 50 0 +7 51 0 +7 52 0 +7 53 0 +7 54 0 +7 55 0 +7 56 0 +7 57 0 +7 58 0 +7 59 0 +7 60 0 +7 61 0 +7 62 0 +7 63 0 +7 64 0 +7 65 0 +7 66 0 +7 67 0 +7 68 0 +7 69 0 +7 70 0 +7 71 0 +7 72 0 +7 73 0 +7 74 0 +7 75 0 +7 76 0 +7 77 0 +7 78 0 +7 79 0 +7 80 0 +7 81 0 +7 82 0 +7 83 0 +7 84 0 +7 85 0 +7 86 0 +7 87 0 +7 88 0 +7 89 0 +7 90 0 +7 91 0 +7 92 0 +7 93 0 +7 94 0 +7 95 0 +7 96 0 +7 97 0 +7 98 0 +7 99 0 +7 100 0 +7 101 0 +7 102 0 +7 103 0 +7 104 0 +7 105 0 +7 106 0 +7 107 0 +7 108 0 +7 109 0 +7 110 0 +7 111 0 +7 112 0 +7 113 0 +7 114 0 +7 115 0 +7 116 0 +7 117 0 +7 118 0 +7 119 0 +7 120 0 +7 121 0 +7 122 0 +7 123 0 +7 124 0 +7 125 0 +7 126 0 +7 127 0 +7 128 0 +7 129 0 +7 130 0 +7 131 0 +7 132 0 +7 133 0 +7 134 0 +7 135 0 +7 136 0 +7 137 0 +7 138 0 +7 139 0 +7 140 0 +7 141 0 +7 142 0 +7 143 0 +7 144 0 +7 145 0 +7 146 0 +7 147 0 +7 148 0 +7 149 0 +7 150 0 +7 151 0 +7 152 0 +7 153 0 +7 154 0 +7 155 0 +7 156 0 +7 157 0 +7 158 0 +7 159 0 +7 160 0 +7 161 0 +7 162 0 +7 163 0 +7 164 0 +7 165 0 +7 166 0 +7 167 0 +7 168 0 +7 169 0 +7 170 0 +7 171 0 +7 172 0 +7 173 0 +7 174 0 +7 175 0 +7 176 0 +7 177 0 +7 178 0 +7 179 0 +7 180 0 +7 181 0 +7 182 0 +7 183 0 +7 184 0 +7 185 0 +7 186 0 +7 187 0 +7 188 0 +7 189 0 +7 190 0 +7 191 0 +7 192 0 +7 193 0 +7 194 0 +7 195 0 +7 196 0 +7 197 0 +7 198 0 +7 199 0 +7 200 0 +7 201 0 +7 202 0 +7 203 0 +7 204 0 +7 205 0 +7 206 0 +7 207 0 +7 208 0 +7 209 0 +7 210 0 +7 211 0 +7 212 0 +7 213 0 +7 214 0 +7 215 0 +7 216 0 +7 217 0 +7 218 0 +7 219 0 +7 220 0 +7 221 0 +7 222 0 +7 223 0 +7 224 0 +7 225 0 +7 226 0 +7 227 0 +7 228 0 +7 229 0 +7 230 0 +7 231 0 +7 232 0 +7 233 0 +7 234 0 +7 235 0 +7 236 0 +7 237 0 +7 238 0 +7 239 0 +7 240 0 +7 241 0 +7 242 0 +7 243 0 +7 244 0 +7 245 0 +7 246 0 +7 247 0 +7 248 0 +7 249 0 +7 250 0 +7 251 0 +7 252 0 +7 253 0 +7 254 0 +7 255 0 +7 256 0 +7 257 0 +7 258 0 +7 259 0 +7 260 0 +7 261 0 +7 262 0 +7 263 0 +7 264 0 +7 265 0 +7 266 0 +7 267 0 +7 268 0 +7 269 0 +7 270 0 +7 271 0 +7 272 0 +7 273 0 +7 274 0 +7 275 0 +7 276 0 +7 277 0 +7 278 0 +7 279 0 +7 280 0 +7 281 0 +7 282 0 +7 283 0 +7 284 0 +7 285 0 +7 286 0 +7 287 0 +7 288 0 +7 289 0 +7 290 0 +7 291 0 +7 292 0 +7 293 0 +7 294 0 +7 295 0 +7 296 0 +7 297 0 +7 298 0 +7 299 0 +7 300 0 +7 301 0 +7 302 0 +7 303 0 +7 304 0 +7 305 0 +7 306 0 +7 307 0 +7 308 0 +7 309 0 +7 310 0 +7 311 0 +7 312 0 +7 313 0 +7 314 0 +7 315 0 +7 316 0 +7 317 0 +7 318 0 +7 319 0 +7 320 0 +7 321 0 +7 322 0 +7 323 0 +7 324 0 +7 325 0 +7 326 0 +7 327 0 +7 328 0 +7 329 0 +7 330 0 +7 331 0 +7 332 0 +7 333 0 +7 334 0 +7 335 0 +7 336 0 +7 337 0 +7 338 0 +7 339 0 +7 340 0 +7 341 0 +7 342 0 +7 343 0 +7 344 0 +7 345 0 +7 346 0 +7 347 0 +7 348 0 +7 349 0 +7 350 0 +7 351 0 +7 352 0 +7 353 0 +7 354 0 +7 355 0 +7 356 0 +7 357 0 +7 358 0 +7 359 0 +7 360 0 +7 361 0 +7 362 0 +7 363 0 +7 364 0 +7 365 0 +7 366 0 +7 367 0 +7 368 0 +7 369 0 +7 370 0 +7 371 0 +7 372 0 +7 373 0 +7 374 0 +7 375 0 +7 376 0 +7 377 0 +7 378 0 +7 379 0 +7 380 0 +7 381 0 +7 382 0 +7 383 0 +8 9 4 +8 10 4 +8 11 4 +8 12 4 +8 13 4 +8 14 4 +8 15 4 +8 16 0 +8 17 0 +8 18 0 +8 19 0 +8 20 0 +8 21 0 +8 22 0 +8 23 0 +8 24 0 +8 25 0 +8 26 0 +8 27 0 +8 28 0 +8 29 0 +8 30 0 +8 31 0 +8 32 0 +8 33 0 +8 34 0 +8 35 0 +8 36 0 +8 37 0 +8 38 0 +8 39 0 +8 40 0 +8 41 0 +8 42 0 +8 43 0 +8 44 0 +8 45 0 +8 46 0 +8 47 0 +8 48 0 +8 49 0 +8 50 0 +8 51 0 +8 52 0 +8 53 0 +8 54 0 +8 55 0 +8 56 0 +8 57 0 +8 58 0 +8 59 0 +8 60 0 +8 61 0 +8 62 0 +8 63 0 +8 64 0 +8 65 0 +8 66 0 +8 67 0 +8 68 0 +8 69 0 +8 70 0 +8 71 0 +8 72 0 +8 73 0 +8 74 0 +8 75 0 +8 76 0 +8 77 0 +8 78 0 +8 79 0 +8 80 0 +8 81 0 +8 82 0 +8 83 0 +8 84 0 +8 85 0 +8 86 0 +8 87 0 +8 88 0 +8 89 0 +8 90 0 +8 91 0 +8 92 0 +8 93 0 +8 94 0 +8 95 0 +8 96 0 +8 97 0 +8 98 0 +8 99 0 +8 100 0 +8 101 0 +8 102 0 +8 103 0 +8 104 0 +8 105 0 +8 106 0 +8 107 0 +8 108 0 +8 109 0 +8 110 0 +8 111 0 +8 112 0 +8 113 0 +8 114 0 +8 115 0 +8 116 0 +8 117 0 +8 118 0 +8 119 0 +8 120 0 +8 121 0 +8 122 0 +8 123 0 +8 124 0 +8 125 0 +8 126 0 +8 127 0 +8 128 0 +8 129 0 +8 130 0 +8 131 0 +8 132 0 +8 133 0 +8 134 0 +8 135 0 +8 136 0 +8 137 0 +8 138 0 +8 139 0 +8 140 0 +8 141 0 +8 142 0 +8 143 0 +8 144 0 +8 145 0 +8 146 0 +8 147 0 +8 148 0 +8 149 0 +8 150 0 +8 151 0 +8 152 0 +8 153 0 +8 154 0 +8 155 0 +8 156 0 +8 157 0 +8 158 0 +8 159 0 +8 160 0 +8 161 0 +8 162 0 +8 163 0 +8 164 0 +8 165 0 +8 166 0 +8 167 0 +8 168 0 +8 169 0 +8 170 0 +8 171 0 +8 172 0 +8 173 0 +8 174 0 +8 175 0 +8 176 0 +8 177 0 +8 178 0 +8 179 0 +8 180 0 +8 181 0 +8 182 0 +8 183 0 +8 184 0 +8 185 0 +8 186 0 +8 187 0 +8 188 0 +8 189 0 +8 190 0 +8 191 0 +8 192 0 +8 193 0 +8 194 0 +8 195 0 +8 196 0 +8 197 0 +8 198 0 +8 199 0 +8 200 0 +8 201 0 +8 202 0 +8 203 0 +8 204 0 +8 205 0 +8 206 0 +8 207 0 +8 208 0 +8 209 0 +8 210 0 +8 211 0 +8 212 0 +8 213 0 +8 214 0 +8 215 0 +8 216 0 +8 217 0 +8 218 0 +8 219 0 +8 220 0 +8 221 0 +8 222 0 +8 223 0 +8 224 0 +8 225 0 +8 226 0 +8 227 0 +8 228 0 +8 229 0 +8 230 0 +8 231 0 +8 232 0 +8 233 0 +8 234 0 +8 235 0 +8 236 0 +8 237 0 +8 238 0 +8 239 0 +8 240 0 +8 241 0 +8 242 0 +8 243 0 +8 244 0 +8 245 0 +8 246 0 +8 247 0 +8 248 0 +8 249 0 +8 250 0 +8 251 0 +8 252 0 +8 253 0 +8 254 0 +8 255 0 +8 256 0 +8 257 0 +8 258 0 +8 259 0 +8 260 0 +8 261 0 +8 262 0 +8 263 0 +8 264 0 +8 265 0 +8 266 0 +8 267 0 +8 268 0 +8 269 0 +8 270 0 +8 271 0 +8 272 0 +8 273 0 +8 274 0 +8 275 0 +8 276 0 +8 277 0 +8 278 0 +8 279 0 +8 280 0 +8 281 0 +8 282 0 +8 283 0 +8 284 0 +8 285 0 +8 286 0 +8 287 0 +8 288 0 +8 289 0 +8 290 0 +8 291 0 +8 292 0 +8 293 0 +8 294 0 +8 295 0 +8 296 0 +8 297 0 +8 298 0 +8 299 0 +8 300 0 +8 301 0 +8 302 0 +8 303 0 +8 304 0 +8 305 0 +8 306 0 +8 307 0 +8 308 0 +8 309 0 +8 310 0 +8 311 0 +8 312 0 +8 313 0 +8 314 0 +8 315 0 +8 316 0 +8 317 0 +8 318 0 +8 319 0 +8 320 0 +8 321 0 +8 322 0 +8 323 0 +8 324 0 +8 325 0 +8 326 0 +8 327 0 +8 328 0 +8 329 0 +8 330 0 +8 331 0 +8 332 0 +8 333 0 +8 334 0 +8 335 0 +8 336 0 +8 337 0 +8 338 0 +8 339 0 +8 340 0 +8 341 0 +8 342 0 +8 343 0 +8 344 0 +8 345 0 +8 346 0 +8 347 0 +8 348 0 +8 349 0 +8 350 0 +8 351 0 +8 352 0 +8 353 0 +8 354 0 +8 355 0 +8 356 0 +8 357 0 +8 358 0 +8 359 0 +8 360 0 +8 361 0 +8 362 0 +8 363 0 +8 364 0 +8 365 0 +8 366 0 +8 367 0 +8 368 0 +8 369 0 +8 370 0 +8 371 0 +8 372 0 +8 373 0 +8 374 0 +8 375 0 +8 376 0 +8 377 0 +8 378 0 +8 379 0 +8 380 0 +8 381 0 +8 382 0 +8 383 0 +9 10 4 +9 11 4 +9 12 4 +9 13 4 +9 14 4 +9 15 4 +9 16 0 +9 17 0 +9 18 0 +9 19 0 +9 20 0 +9 21 0 +9 22 0 +9 23 0 +9 24 0 +9 25 0 +9 26 0 +9 27 0 +9 28 0 +9 29 0 +9 30 0 +9 31 0 +9 32 0 +9 33 0 +9 34 0 +9 35 0 +9 36 0 +9 37 0 +9 38 0 +9 39 0 +9 40 0 +9 41 0 +9 42 0 +9 43 0 +9 44 0 +9 45 0 +9 46 0 +9 47 0 +9 48 0 +9 49 0 +9 50 0 +9 51 0 +9 52 0 +9 53 0 +9 54 0 +9 55 0 +9 56 0 +9 57 0 +9 58 0 +9 59 0 +9 60 0 +9 61 0 +9 62 0 +9 63 0 +9 64 0 +9 65 0 +9 66 0 +9 67 0 +9 68 0 +9 69 0 +9 70 0 +9 71 0 +9 72 0 +9 73 0 +9 74 0 +9 75 0 +9 76 0 +9 77 0 +9 78 0 +9 79 0 +9 80 0 +9 81 0 +9 82 0 +9 83 0 +9 84 0 +9 85 0 +9 86 0 +9 87 0 +9 88 0 +9 89 0 +9 90 0 +9 91 0 +9 92 0 +9 93 0 +9 94 0 +9 95 0 +9 96 0 +9 97 0 +9 98 0 +9 99 0 +9 100 0 +9 101 0 +9 102 0 +9 103 0 +9 104 0 +9 105 0 +9 106 0 +9 107 0 +9 108 0 +9 109 0 +9 110 0 +9 111 0 +9 112 0 +9 113 0 +9 114 0 +9 115 0 +9 116 0 +9 117 0 +9 118 0 +9 119 0 +9 120 0 +9 121 0 +9 122 0 +9 123 0 +9 124 0 +9 125 0 +9 126 0 +9 127 0 +9 128 0 +9 129 0 +9 130 0 +9 131 0 +9 132 0 +9 133 0 +9 134 0 +9 135 0 +9 136 0 +9 137 0 +9 138 0 +9 139 0 +9 140 0 +9 141 0 +9 142 0 +9 143 0 +9 144 0 +9 145 0 +9 146 0 +9 147 0 +9 148 0 +9 149 0 +9 150 0 +9 151 0 +9 152 0 +9 153 0 +9 154 0 +9 155 0 +9 156 0 +9 157 0 +9 158 0 +9 159 0 +9 160 0 +9 161 0 +9 162 0 +9 163 0 +9 164 0 +9 165 0 +9 166 0 +9 167 0 +9 168 0 +9 169 0 +9 170 0 +9 171 0 +9 172 0 +9 173 0 +9 174 0 +9 175 0 +9 176 0 +9 177 0 +9 178 0 +9 179 0 +9 180 0 +9 181 0 +9 182 0 +9 183 0 +9 184 0 +9 185 0 +9 186 0 +9 187 0 +9 188 0 +9 189 0 +9 190 0 +9 191 0 +9 192 0 +9 193 0 +9 194 0 +9 195 0 +9 196 0 +9 197 0 +9 198 0 +9 199 0 +9 200 0 +9 201 0 +9 202 0 +9 203 0 +9 204 0 +9 205 0 +9 206 0 +9 207 0 +9 208 0 +9 209 0 +9 210 0 +9 211 0 +9 212 0 +9 213 0 +9 214 0 +9 215 0 +9 216 0 +9 217 0 +9 218 0 +9 219 0 +9 220 0 +9 221 0 +9 222 0 +9 223 0 +9 224 0 +9 225 0 +9 226 0 +9 227 0 +9 228 0 +9 229 0 +9 230 0 +9 231 0 +9 232 0 +9 233 0 +9 234 0 +9 235 0 +9 236 0 +9 237 0 +9 238 0 +9 239 0 +9 240 0 +9 241 0 +9 242 0 +9 243 0 +9 244 0 +9 245 0 +9 246 0 +9 247 0 +9 248 0 +9 249 0 +9 250 0 +9 251 0 +9 252 0 +9 253 0 +9 254 0 +9 255 0 +9 256 0 +9 257 0 +9 258 0 +9 259 0 +9 260 0 +9 261 0 +9 262 0 +9 263 0 +9 264 0 +9 265 0 +9 266 0 +9 267 0 +9 268 0 +9 269 0 +9 270 0 +9 271 0 +9 272 0 +9 273 0 +9 274 0 +9 275 0 +9 276 0 +9 277 0 +9 278 0 +9 279 0 +9 280 0 +9 281 0 +9 282 0 +9 283 0 +9 284 0 +9 285 0 +9 286 0 +9 287 0 +9 288 0 +9 289 0 +9 290 0 +9 291 0 +9 292 0 +9 293 0 +9 294 0 +9 295 0 +9 296 0 +9 297 0 +9 298 0 +9 299 0 +9 300 0 +9 301 0 +9 302 0 +9 303 0 +9 304 0 +9 305 0 +9 306 0 +9 307 0 +9 308 0 +9 309 0 +9 310 0 +9 311 0 +9 312 0 +9 313 0 +9 314 0 +9 315 0 +9 316 0 +9 317 0 +9 318 0 +9 319 0 +9 320 0 +9 321 0 +9 322 0 +9 323 0 +9 324 0 +9 325 0 +9 326 0 +9 327 0 +9 328 0 +9 329 0 +9 330 0 +9 331 0 +9 332 0 +9 333 0 +9 334 0 +9 335 0 +9 336 0 +9 337 0 +9 338 0 +9 339 0 +9 340 0 +9 341 0 +9 342 0 +9 343 0 +9 344 0 +9 345 0 +9 346 0 +9 347 0 +9 348 0 +9 349 0 +9 350 0 +9 351 0 +9 352 0 +9 353 0 +9 354 0 +9 355 0 +9 356 0 +9 357 0 +9 358 0 +9 359 0 +9 360 0 +9 361 0 +9 362 0 +9 363 0 +9 364 0 +9 365 0 +9 366 0 +9 367 0 +9 368 0 +9 369 0 +9 370 0 +9 371 0 +9 372 0 +9 373 0 +9 374 0 +9 375 0 +9 376 0 +9 377 0 +9 378 0 +9 379 0 +9 380 0 +9 381 0 +9 382 0 +9 383 0 +10 11 4 +10 12 4 +10 13 4 +10 14 4 +10 15 4 +10 16 0 +10 17 0 +10 18 0 +10 19 0 +10 20 0 +10 21 0 +10 22 0 +10 23 0 +10 24 0 +10 25 0 +10 26 0 +10 27 0 +10 28 0 +10 29 0 +10 30 0 +10 31 0 +10 32 0 +10 33 0 +10 34 0 +10 35 0 +10 36 0 +10 37 0 +10 38 0 +10 39 0 +10 40 0 +10 41 0 +10 42 0 +10 43 0 +10 44 0 +10 45 0 +10 46 0 +10 47 0 +10 48 0 +10 49 0 +10 50 0 +10 51 0 +10 52 0 +10 53 0 +10 54 0 +10 55 0 +10 56 0 +10 57 0 +10 58 0 +10 59 0 +10 60 0 +10 61 0 +10 62 0 +10 63 0 +10 64 0 +10 65 0 +10 66 0 +10 67 0 +10 68 0 +10 69 0 +10 70 0 +10 71 0 +10 72 0 +10 73 0 +10 74 0 +10 75 0 +10 76 0 +10 77 0 +10 78 0 +10 79 0 +10 80 0 +10 81 0 +10 82 0 +10 83 0 +10 84 0 +10 85 0 +10 86 0 +10 87 0 +10 88 0 +10 89 0 +10 90 0 +10 91 0 +10 92 0 +10 93 0 +10 94 0 +10 95 0 +10 96 0 +10 97 0 +10 98 0 +10 99 0 +10 100 0 +10 101 0 +10 102 0 +10 103 0 +10 104 0 +10 105 0 +10 106 0 +10 107 0 +10 108 0 +10 109 0 +10 110 0 +10 111 0 +10 112 0 +10 113 0 +10 114 0 +10 115 0 +10 116 0 +10 117 0 +10 118 0 +10 119 0 +10 120 0 +10 121 0 +10 122 0 +10 123 0 +10 124 0 +10 125 0 +10 126 0 +10 127 0 +10 128 0 +10 129 0 +10 130 0 +10 131 0 +10 132 0 +10 133 0 +10 134 0 +10 135 0 +10 136 0 +10 137 0 +10 138 0 +10 139 0 +10 140 0 +10 141 0 +10 142 0 +10 143 0 +10 144 0 +10 145 0 +10 146 0 +10 147 0 +10 148 0 +10 149 0 +10 150 0 +10 151 0 +10 152 0 +10 153 0 +10 154 0 +10 155 0 +10 156 0 +10 157 0 +10 158 0 +10 159 0 +10 160 0 +10 161 0 +10 162 0 +10 163 0 +10 164 0 +10 165 0 +10 166 0 +10 167 0 +10 168 0 +10 169 0 +10 170 0 +10 171 0 +10 172 0 +10 173 0 +10 174 0 +10 175 0 +10 176 0 +10 177 0 +10 178 0 +10 179 0 +10 180 0 +10 181 0 +10 182 0 +10 183 0 +10 184 0 +10 185 0 +10 186 0 +10 187 0 +10 188 0 +10 189 0 +10 190 0 +10 191 0 +10 192 0 +10 193 0 +10 194 0 +10 195 0 +10 196 0 +10 197 0 +10 198 0 +10 199 0 +10 200 0 +10 201 0 +10 202 0 +10 203 0 +10 204 0 +10 205 0 +10 206 0 +10 207 0 +10 208 0 +10 209 0 +10 210 0 +10 211 0 +10 212 0 +10 213 0 +10 214 0 +10 215 0 +10 216 0 +10 217 0 +10 218 0 +10 219 0 +10 220 0 +10 221 0 +10 222 0 +10 223 0 +10 224 0 +10 225 0 +10 226 0 +10 227 0 +10 228 0 +10 229 0 +10 230 0 +10 231 0 +10 232 0 +10 233 0 +10 234 0 +10 235 0 +10 236 0 +10 237 0 +10 238 0 +10 239 0 +10 240 0 +10 241 0 +10 242 0 +10 243 0 +10 244 0 +10 245 0 +10 246 0 +10 247 0 +10 248 0 +10 249 0 +10 250 0 +10 251 0 +10 252 0 +10 253 0 +10 254 0 +10 255 0 +10 256 0 +10 257 0 +10 258 0 +10 259 0 +10 260 0 +10 261 0 +10 262 0 +10 263 0 +10 264 0 +10 265 0 +10 266 0 +10 267 0 +10 268 0 +10 269 0 +10 270 0 +10 271 0 +10 272 0 +10 273 0 +10 274 0 +10 275 0 +10 276 0 +10 277 0 +10 278 0 +10 279 0 +10 280 0 +10 281 0 +10 282 0 +10 283 0 +10 284 0 +10 285 0 +10 286 0 +10 287 0 +10 288 0 +10 289 0 +10 290 0 +10 291 0 +10 292 0 +10 293 0 +10 294 0 +10 295 0 +10 296 0 +10 297 0 +10 298 0 +10 299 0 +10 300 0 +10 301 0 +10 302 0 +10 303 0 +10 304 0 +10 305 0 +10 306 0 +10 307 0 +10 308 0 +10 309 0 +10 310 0 +10 311 0 +10 312 0 +10 313 0 +10 314 0 +10 315 0 +10 316 0 +10 317 0 +10 318 0 +10 319 0 +10 320 0 +10 321 0 +10 322 0 +10 323 0 +10 324 0 +10 325 0 +10 326 0 +10 327 0 +10 328 0 +10 329 0 +10 330 0 +10 331 0 +10 332 0 +10 333 0 +10 334 0 +10 335 0 +10 336 0 +10 337 0 +10 338 0 +10 339 0 +10 340 0 +10 341 0 +10 342 0 +10 343 0 +10 344 0 +10 345 0 +10 346 0 +10 347 0 +10 348 0 +10 349 0 +10 350 0 +10 351 0 +10 352 0 +10 353 0 +10 354 0 +10 355 0 +10 356 0 +10 357 0 +10 358 0 +10 359 0 +10 360 0 +10 361 0 +10 362 0 +10 363 0 +10 364 0 +10 365 0 +10 366 0 +10 367 0 +10 368 0 +10 369 0 +10 370 0 +10 371 0 +10 372 0 +10 373 0 +10 374 0 +10 375 0 +10 376 0 +10 377 0 +10 378 0 +10 379 0 +10 380 0 +10 381 0 +10 382 0 +10 383 0 +11 12 4 +11 13 4 +11 14 4 +11 15 4 +11 16 0 +11 17 0 +11 18 0 +11 19 0 +11 20 0 +11 21 0 +11 22 0 +11 23 0 +11 24 0 +11 25 0 +11 26 0 +11 27 0 +11 28 0 +11 29 0 +11 30 0 +11 31 0 +11 32 0 +11 33 0 +11 34 0 +11 35 0 +11 36 0 +11 37 0 +11 38 0 +11 39 0 +11 40 0 +11 41 0 +11 42 0 +11 43 0 +11 44 0 +11 45 0 +11 46 0 +11 47 0 +11 48 0 +11 49 0 +11 50 0 +11 51 0 +11 52 0 +11 53 0 +11 54 0 +11 55 0 +11 56 0 +11 57 0 +11 58 0 +11 59 0 +11 60 0 +11 61 0 +11 62 0 +11 63 0 +11 64 0 +11 65 0 +11 66 0 +11 67 0 +11 68 0 +11 69 0 +11 70 0 +11 71 0 +11 72 0 +11 73 0 +11 74 0 +11 75 0 +11 76 0 +11 77 0 +11 78 0 +11 79 0 +11 80 0 +11 81 0 +11 82 0 +11 83 0 +11 84 0 +11 85 0 +11 86 0 +11 87 0 +11 88 0 +11 89 0 +11 90 0 +11 91 0 +11 92 0 +11 93 0 +11 94 0 +11 95 0 +11 96 0 +11 97 0 +11 98 0 +11 99 0 +11 100 0 +11 101 0 +11 102 0 +11 103 0 +11 104 0 +11 105 0 +11 106 0 +11 107 0 +11 108 0 +11 109 0 +11 110 0 +11 111 0 +11 112 0 +11 113 0 +11 114 0 +11 115 0 +11 116 0 +11 117 0 +11 118 0 +11 119 0 +11 120 0 +11 121 0 +11 122 0 +11 123 0 +11 124 0 +11 125 0 +11 126 0 +11 127 0 +11 128 0 +11 129 0 +11 130 0 +11 131 0 +11 132 0 +11 133 0 +11 134 0 +11 135 0 +11 136 0 +11 137 0 +11 138 0 +11 139 0 +11 140 0 +11 141 0 +11 142 0 +11 143 0 +11 144 0 +11 145 0 +11 146 0 +11 147 0 +11 148 0 +11 149 0 +11 150 0 +11 151 0 +11 152 0 +11 153 0 +11 154 0 +11 155 0 +11 156 0 +11 157 0 +11 158 0 +11 159 0 +11 160 0 +11 161 0 +11 162 0 +11 163 0 +11 164 0 +11 165 0 +11 166 0 +11 167 0 +11 168 0 +11 169 0 +11 170 0 +11 171 0 +11 172 0 +11 173 0 +11 174 0 +11 175 0 +11 176 0 +11 177 0 +11 178 0 +11 179 0 +11 180 0 +11 181 0 +11 182 0 +11 183 0 +11 184 0 +11 185 0 +11 186 0 +11 187 0 +11 188 0 +11 189 0 +11 190 0 +11 191 0 +11 192 0 +11 193 0 +11 194 0 +11 195 0 +11 196 0 +11 197 0 +11 198 0 +11 199 0 +11 200 0 +11 201 0 +11 202 0 +11 203 0 +11 204 0 +11 205 0 +11 206 0 +11 207 0 +11 208 0 +11 209 0 +11 210 0 +11 211 0 +11 212 0 +11 213 0 +11 214 0 +11 215 0 +11 216 0 +11 217 0 +11 218 0 +11 219 0 +11 220 0 +11 221 0 +11 222 0 +11 223 0 +11 224 0 +11 225 0 +11 226 0 +11 227 0 +11 228 0 +11 229 0 +11 230 0 +11 231 0 +11 232 0 +11 233 0 +11 234 0 +11 235 0 +11 236 0 +11 237 0 +11 238 0 +11 239 0 +11 240 0 +11 241 0 +11 242 0 +11 243 0 +11 244 0 +11 245 0 +11 246 0 +11 247 0 +11 248 0 +11 249 0 +11 250 0 +11 251 0 +11 252 0 +11 253 0 +11 254 0 +11 255 0 +11 256 0 +11 257 0 +11 258 0 +11 259 0 +11 260 0 +11 261 0 +11 262 0 +11 263 0 +11 264 0 +11 265 0 +11 266 0 +11 267 0 +11 268 0 +11 269 0 +11 270 0 +11 271 0 +11 272 0 +11 273 0 +11 274 0 +11 275 0 +11 276 0 +11 277 0 +11 278 0 +11 279 0 +11 280 0 +11 281 0 +11 282 0 +11 283 0 +11 284 0 +11 285 0 +11 286 0 +11 287 0 +11 288 0 +11 289 0 +11 290 0 +11 291 0 +11 292 0 +11 293 0 +11 294 0 +11 295 0 +11 296 0 +11 297 0 +11 298 0 +11 299 0 +11 300 0 +11 301 0 +11 302 0 +11 303 0 +11 304 0 +11 305 0 +11 306 0 +11 307 0 +11 308 0 +11 309 0 +11 310 0 +11 311 0 +11 312 0 +11 313 0 +11 314 0 +11 315 0 +11 316 0 +11 317 0 +11 318 0 +11 319 0 +11 320 0 +11 321 0 +11 322 0 +11 323 0 +11 324 0 +11 325 0 +11 326 0 +11 327 0 +11 328 0 +11 329 0 +11 330 0 +11 331 0 +11 332 0 +11 333 0 +11 334 0 +11 335 0 +11 336 0 +11 337 0 +11 338 0 +11 339 0 +11 340 0 +11 341 0 +11 342 0 +11 343 0 +11 344 0 +11 345 0 +11 346 0 +11 347 0 +11 348 0 +11 349 0 +11 350 0 +11 351 0 +11 352 0 +11 353 0 +11 354 0 +11 355 0 +11 356 0 +11 357 0 +11 358 0 +11 359 0 +11 360 0 +11 361 0 +11 362 0 +11 363 0 +11 364 0 +11 365 0 +11 366 0 +11 367 0 +11 368 0 +11 369 0 +11 370 0 +11 371 0 +11 372 0 +11 373 0 +11 374 0 +11 375 0 +11 376 0 +11 377 0 +11 378 0 +11 379 0 +11 380 0 +11 381 0 +11 382 0 +11 383 0 +12 13 4 +12 14 4 +12 15 4 +12 16 0 +12 17 0 +12 18 0 +12 19 0 +12 20 0 +12 21 0 +12 22 0 +12 23 0 +12 24 0 +12 25 0 +12 26 0 +12 27 0 +12 28 0 +12 29 0 +12 30 0 +12 31 0 +12 32 0 +12 33 0 +12 34 0 +12 35 0 +12 36 0 +12 37 0 +12 38 0 +12 39 0 +12 40 0 +12 41 0 +12 42 0 +12 43 0 +12 44 0 +12 45 0 +12 46 0 +12 47 0 +12 48 0 +12 49 0 +12 50 0 +12 51 0 +12 52 0 +12 53 0 +12 54 0 +12 55 0 +12 56 0 +12 57 0 +12 58 0 +12 59 0 +12 60 0 +12 61 0 +12 62 0 +12 63 0 +12 64 0 +12 65 0 +12 66 0 +12 67 0 +12 68 0 +12 69 0 +12 70 0 +12 71 0 +12 72 0 +12 73 0 +12 74 0 +12 75 0 +12 76 0 +12 77 0 +12 78 0 +12 79 0 +12 80 0 +12 81 0 +12 82 0 +12 83 0 +12 84 0 +12 85 0 +12 86 0 +12 87 0 +12 88 0 +12 89 0 +12 90 0 +12 91 0 +12 92 0 +12 93 0 +12 94 0 +12 95 0 +12 96 0 +12 97 0 +12 98 0 +12 99 0 +12 100 0 +12 101 0 +12 102 0 +12 103 0 +12 104 0 +12 105 0 +12 106 0 +12 107 0 +12 108 0 +12 109 0 +12 110 0 +12 111 0 +12 112 0 +12 113 0 +12 114 0 +12 115 0 +12 116 0 +12 117 0 +12 118 0 +12 119 0 +12 120 0 +12 121 0 +12 122 0 +12 123 0 +12 124 0 +12 125 0 +12 126 0 +12 127 0 +12 128 0 +12 129 0 +12 130 0 +12 131 0 +12 132 0 +12 133 0 +12 134 0 +12 135 0 +12 136 0 +12 137 0 +12 138 0 +12 139 0 +12 140 0 +12 141 0 +12 142 0 +12 143 0 +12 144 0 +12 145 0 +12 146 0 +12 147 0 +12 148 0 +12 149 0 +12 150 0 +12 151 0 +12 152 0 +12 153 0 +12 154 0 +12 155 0 +12 156 0 +12 157 0 +12 158 0 +12 159 0 +12 160 0 +12 161 0 +12 162 0 +12 163 0 +12 164 0 +12 165 0 +12 166 0 +12 167 0 +12 168 0 +12 169 0 +12 170 0 +12 171 0 +12 172 0 +12 173 0 +12 174 0 +12 175 0 +12 176 0 +12 177 0 +12 178 0 +12 179 0 +12 180 0 +12 181 0 +12 182 0 +12 183 0 +12 184 0 +12 185 0 +12 186 0 +12 187 0 +12 188 0 +12 189 0 +12 190 0 +12 191 0 +12 192 0 +12 193 0 +12 194 0 +12 195 0 +12 196 0 +12 197 0 +12 198 0 +12 199 0 +12 200 0 +12 201 0 +12 202 0 +12 203 0 +12 204 0 +12 205 0 +12 206 0 +12 207 0 +12 208 0 +12 209 0 +12 210 0 +12 211 0 +12 212 0 +12 213 0 +12 214 0 +12 215 0 +12 216 0 +12 217 0 +12 218 0 +12 219 0 +12 220 0 +12 221 0 +12 222 0 +12 223 0 +12 224 0 +12 225 0 +12 226 0 +12 227 0 +12 228 0 +12 229 0 +12 230 0 +12 231 0 +12 232 0 +12 233 0 +12 234 0 +12 235 0 +12 236 0 +12 237 0 +12 238 0 +12 239 0 +12 240 0 +12 241 0 +12 242 0 +12 243 0 +12 244 0 +12 245 0 +12 246 0 +12 247 0 +12 248 0 +12 249 0 +12 250 0 +12 251 0 +12 252 0 +12 253 0 +12 254 0 +12 255 0 +12 256 0 +12 257 0 +12 258 0 +12 259 0 +12 260 0 +12 261 0 +12 262 0 +12 263 0 +12 264 0 +12 265 0 +12 266 0 +12 267 0 +12 268 0 +12 269 0 +12 270 0 +12 271 0 +12 272 0 +12 273 0 +12 274 0 +12 275 0 +12 276 0 +12 277 0 +12 278 0 +12 279 0 +12 280 0 +12 281 0 +12 282 0 +12 283 0 +12 284 0 +12 285 0 +12 286 0 +12 287 0 +12 288 0 +12 289 0 +12 290 0 +12 291 0 +12 292 0 +12 293 0 +12 294 0 +12 295 0 +12 296 0 +12 297 0 +12 298 0 +12 299 0 +12 300 0 +12 301 0 +12 302 0 +12 303 0 +12 304 0 +12 305 0 +12 306 0 +12 307 0 +12 308 0 +12 309 0 +12 310 0 +12 311 0 +12 312 0 +12 313 0 +12 314 0 +12 315 0 +12 316 0 +12 317 0 +12 318 0 +12 319 0 +12 320 0 +12 321 0 +12 322 0 +12 323 0 +12 324 0 +12 325 0 +12 326 0 +12 327 0 +12 328 0 +12 329 0 +12 330 0 +12 331 0 +12 332 0 +12 333 0 +12 334 0 +12 335 0 +12 336 0 +12 337 0 +12 338 0 +12 339 0 +12 340 0 +12 341 0 +12 342 0 +12 343 0 +12 344 0 +12 345 0 +12 346 0 +12 347 0 +12 348 0 +12 349 0 +12 350 0 +12 351 0 +12 352 0 +12 353 0 +12 354 0 +12 355 0 +12 356 0 +12 357 0 +12 358 0 +12 359 0 +12 360 0 +12 361 0 +12 362 0 +12 363 0 +12 364 0 +12 365 0 +12 366 0 +12 367 0 +12 368 0 +12 369 0 +12 370 0 +12 371 0 +12 372 0 +12 373 0 +12 374 0 +12 375 0 +12 376 0 +12 377 0 +12 378 0 +12 379 0 +12 380 0 +12 381 0 +12 382 0 +12 383 0 +13 14 4 +13 15 4 +13 16 0 +13 17 0 +13 18 0 +13 19 0 +13 20 0 +13 21 0 +13 22 0 +13 23 0 +13 24 0 +13 25 0 +13 26 0 +13 27 0 +13 28 0 +13 29 0 +13 30 0 +13 31 0 +13 32 0 +13 33 0 +13 34 0 +13 35 0 +13 36 0 +13 37 0 +13 38 0 +13 39 0 +13 40 0 +13 41 0 +13 42 0 +13 43 0 +13 44 0 +13 45 0 +13 46 0 +13 47 0 +13 48 0 +13 49 0 +13 50 0 +13 51 0 +13 52 0 +13 53 0 +13 54 0 +13 55 0 +13 56 0 +13 57 0 +13 58 0 +13 59 0 +13 60 0 +13 61 0 +13 62 0 +13 63 0 +13 64 0 +13 65 0 +13 66 0 +13 67 0 +13 68 0 +13 69 0 +13 70 0 +13 71 0 +13 72 0 +13 73 0 +13 74 0 +13 75 0 +13 76 0 +13 77 0 +13 78 0 +13 79 0 +13 80 0 +13 81 0 +13 82 0 +13 83 0 +13 84 0 +13 85 0 +13 86 0 +13 87 0 +13 88 0 +13 89 0 +13 90 0 +13 91 0 +13 92 0 +13 93 0 +13 94 0 +13 95 0 +13 96 0 +13 97 0 +13 98 0 +13 99 0 +13 100 0 +13 101 0 +13 102 0 +13 103 0 +13 104 0 +13 105 0 +13 106 0 +13 107 0 +13 108 0 +13 109 0 +13 110 0 +13 111 0 +13 112 0 +13 113 0 +13 114 0 +13 115 0 +13 116 0 +13 117 0 +13 118 0 +13 119 0 +13 120 0 +13 121 0 +13 122 0 +13 123 0 +13 124 0 +13 125 0 +13 126 0 +13 127 0 +13 128 0 +13 129 0 +13 130 0 +13 131 0 +13 132 0 +13 133 0 +13 134 0 +13 135 0 +13 136 0 +13 137 0 +13 138 0 +13 139 0 +13 140 0 +13 141 0 +13 142 0 +13 143 0 +13 144 0 +13 145 0 +13 146 0 +13 147 0 +13 148 0 +13 149 0 +13 150 0 +13 151 0 +13 152 0 +13 153 0 +13 154 0 +13 155 0 +13 156 0 +13 157 0 +13 158 0 +13 159 0 +13 160 0 +13 161 0 +13 162 0 +13 163 0 +13 164 0 +13 165 0 +13 166 0 +13 167 0 +13 168 0 +13 169 0 +13 170 0 +13 171 0 +13 172 0 +13 173 0 +13 174 0 +13 175 0 +13 176 0 +13 177 0 +13 178 0 +13 179 0 +13 180 0 +13 181 0 +13 182 0 +13 183 0 +13 184 0 +13 185 0 +13 186 0 +13 187 0 +13 188 0 +13 189 0 +13 190 0 +13 191 0 +13 192 0 +13 193 0 +13 194 0 +13 195 0 +13 196 0 +13 197 0 +13 198 0 +13 199 0 +13 200 0 +13 201 0 +13 202 0 +13 203 0 +13 204 0 +13 205 0 +13 206 0 +13 207 0 +13 208 0 +13 209 0 +13 210 0 +13 211 0 +13 212 0 +13 213 0 +13 214 0 +13 215 0 +13 216 0 +13 217 0 +13 218 0 +13 219 0 +13 220 0 +13 221 0 +13 222 0 +13 223 0 +13 224 0 +13 225 0 +13 226 0 +13 227 0 +13 228 0 +13 229 0 +13 230 0 +13 231 0 +13 232 0 +13 233 0 +13 234 0 +13 235 0 +13 236 0 +13 237 0 +13 238 0 +13 239 0 +13 240 0 +13 241 0 +13 242 0 +13 243 0 +13 244 0 +13 245 0 +13 246 0 +13 247 0 +13 248 0 +13 249 0 +13 250 0 +13 251 0 +13 252 0 +13 253 0 +13 254 0 +13 255 0 +13 256 0 +13 257 0 +13 258 0 +13 259 0 +13 260 0 +13 261 0 +13 262 0 +13 263 0 +13 264 0 +13 265 0 +13 266 0 +13 267 0 +13 268 0 +13 269 0 +13 270 0 +13 271 0 +13 272 0 +13 273 0 +13 274 0 +13 275 0 +13 276 0 +13 277 0 +13 278 0 +13 279 0 +13 280 0 +13 281 0 +13 282 0 +13 283 0 +13 284 0 +13 285 0 +13 286 0 +13 287 0 +13 288 0 +13 289 0 +13 290 0 +13 291 0 +13 292 0 +13 293 0 +13 294 0 +13 295 0 +13 296 0 +13 297 0 +13 298 0 +13 299 0 +13 300 0 +13 301 0 +13 302 0 +13 303 0 +13 304 0 +13 305 0 +13 306 0 +13 307 0 +13 308 0 +13 309 0 +13 310 0 +13 311 0 +13 312 0 +13 313 0 +13 314 0 +13 315 0 +13 316 0 +13 317 0 +13 318 0 +13 319 0 +13 320 0 +13 321 0 +13 322 0 +13 323 0 +13 324 0 +13 325 0 +13 326 0 +13 327 0 +13 328 0 +13 329 0 +13 330 0 +13 331 0 +13 332 0 +13 333 0 +13 334 0 +13 335 0 +13 336 0 +13 337 0 +13 338 0 +13 339 0 +13 340 0 +13 341 0 +13 342 0 +13 343 0 +13 344 0 +13 345 0 +13 346 0 +13 347 0 +13 348 0 +13 349 0 +13 350 0 +13 351 0 +13 352 0 +13 353 0 +13 354 0 +13 355 0 +13 356 0 +13 357 0 +13 358 0 +13 359 0 +13 360 0 +13 361 0 +13 362 0 +13 363 0 +13 364 0 +13 365 0 +13 366 0 +13 367 0 +13 368 0 +13 369 0 +13 370 0 +13 371 0 +13 372 0 +13 373 0 +13 374 0 +13 375 0 +13 376 0 +13 377 0 +13 378 0 +13 379 0 +13 380 0 +13 381 0 +13 382 0 +13 383 0 +14 15 4 +14 16 0 +14 17 0 +14 18 0 +14 19 0 +14 20 0 +14 21 0 +14 22 0 +14 23 0 +14 24 0 +14 25 0 +14 26 0 +14 27 0 +14 28 0 +14 29 0 +14 30 0 +14 31 0 +14 32 0 +14 33 0 +14 34 0 +14 35 0 +14 36 0 +14 37 0 +14 38 0 +14 39 0 +14 40 0 +14 41 0 +14 42 0 +14 43 0 +14 44 0 +14 45 0 +14 46 0 +14 47 0 +14 48 0 +14 49 0 +14 50 0 +14 51 0 +14 52 0 +14 53 0 +14 54 0 +14 55 0 +14 56 0 +14 57 0 +14 58 0 +14 59 0 +14 60 0 +14 61 0 +14 62 0 +14 63 0 +14 64 0 +14 65 0 +14 66 0 +14 67 0 +14 68 0 +14 69 0 +14 70 0 +14 71 0 +14 72 0 +14 73 0 +14 74 0 +14 75 0 +14 76 0 +14 77 0 +14 78 0 +14 79 0 +14 80 0 +14 81 0 +14 82 0 +14 83 0 +14 84 0 +14 85 0 +14 86 0 +14 87 0 +14 88 0 +14 89 0 +14 90 0 +14 91 0 +14 92 0 +14 93 0 +14 94 0 +14 95 0 +14 96 0 +14 97 0 +14 98 0 +14 99 0 +14 100 0 +14 101 0 +14 102 0 +14 103 0 +14 104 0 +14 105 0 +14 106 0 +14 107 0 +14 108 0 +14 109 0 +14 110 0 +14 111 0 +14 112 0 +14 113 0 +14 114 0 +14 115 0 +14 116 0 +14 117 0 +14 118 0 +14 119 0 +14 120 0 +14 121 0 +14 122 0 +14 123 0 +14 124 0 +14 125 0 +14 126 0 +14 127 0 +14 128 0 +14 129 0 +14 130 0 +14 131 0 +14 132 0 +14 133 0 +14 134 0 +14 135 0 +14 136 0 +14 137 0 +14 138 0 +14 139 0 +14 140 0 +14 141 0 +14 142 0 +14 143 0 +14 144 0 +14 145 0 +14 146 0 +14 147 0 +14 148 0 +14 149 0 +14 150 0 +14 151 0 +14 152 0 +14 153 0 +14 154 0 +14 155 0 +14 156 0 +14 157 0 +14 158 0 +14 159 0 +14 160 0 +14 161 0 +14 162 0 +14 163 0 +14 164 0 +14 165 0 +14 166 0 +14 167 0 +14 168 0 +14 169 0 +14 170 0 +14 171 0 +14 172 0 +14 173 0 +14 174 0 +14 175 0 +14 176 0 +14 177 0 +14 178 0 +14 179 0 +14 180 0 +14 181 0 +14 182 0 +14 183 0 +14 184 0 +14 185 0 +14 186 0 +14 187 0 +14 188 0 +14 189 0 +14 190 0 +14 191 0 +14 192 0 +14 193 0 +14 194 0 +14 195 0 +14 196 0 +14 197 0 +14 198 0 +14 199 0 +14 200 0 +14 201 0 +14 202 0 +14 203 0 +14 204 0 +14 205 0 +14 206 0 +14 207 0 +14 208 0 +14 209 0 +14 210 0 +14 211 0 +14 212 0 +14 213 0 +14 214 0 +14 215 0 +14 216 0 +14 217 0 +14 218 0 +14 219 0 +14 220 0 +14 221 0 +14 222 0 +14 223 0 +14 224 0 +14 225 0 +14 226 0 +14 227 0 +14 228 0 +14 229 0 +14 230 0 +14 231 0 +14 232 0 +14 233 0 +14 234 0 +14 235 0 +14 236 0 +14 237 0 +14 238 0 +14 239 0 +14 240 0 +14 241 0 +14 242 0 +14 243 0 +14 244 0 +14 245 0 +14 246 0 +14 247 0 +14 248 0 +14 249 0 +14 250 0 +14 251 0 +14 252 0 +14 253 0 +14 254 0 +14 255 0 +14 256 0 +14 257 0 +14 258 0 +14 259 0 +14 260 0 +14 261 0 +14 262 0 +14 263 0 +14 264 0 +14 265 0 +14 266 0 +14 267 0 +14 268 0 +14 269 0 +14 270 0 +14 271 0 +14 272 0 +14 273 0 +14 274 0 +14 275 0 +14 276 0 +14 277 0 +14 278 0 +14 279 0 +14 280 0 +14 281 0 +14 282 0 +14 283 0 +14 284 0 +14 285 0 +14 286 0 +14 287 0 +14 288 0 +14 289 0 +14 290 0 +14 291 0 +14 292 0 +14 293 0 +14 294 0 +14 295 0 +14 296 0 +14 297 0 +14 298 0 +14 299 0 +14 300 0 +14 301 0 +14 302 0 +14 303 0 +14 304 0 +14 305 0 +14 306 0 +14 307 0 +14 308 0 +14 309 0 +14 310 0 +14 311 0 +14 312 0 +14 313 0 +14 314 0 +14 315 0 +14 316 0 +14 317 0 +14 318 0 +14 319 0 +14 320 0 +14 321 0 +14 322 0 +14 323 0 +14 324 0 +14 325 0 +14 326 0 +14 327 0 +14 328 0 +14 329 0 +14 330 0 +14 331 0 +14 332 0 +14 333 0 +14 334 0 +14 335 0 +14 336 0 +14 337 0 +14 338 0 +14 339 0 +14 340 0 +14 341 0 +14 342 0 +14 343 0 +14 344 0 +14 345 0 +14 346 0 +14 347 0 +14 348 0 +14 349 0 +14 350 0 +14 351 0 +14 352 0 +14 353 0 +14 354 0 +14 355 0 +14 356 0 +14 357 0 +14 358 0 +14 359 0 +14 360 0 +14 361 0 +14 362 0 +14 363 0 +14 364 0 +14 365 0 +14 366 0 +14 367 0 +14 368 0 +14 369 0 +14 370 0 +14 371 0 +14 372 0 +14 373 0 +14 374 0 +14 375 0 +14 376 0 +14 377 0 +14 378 0 +14 379 0 +14 380 0 +14 381 0 +14 382 0 +14 383 0 +15 16 0 +15 17 0 +15 18 0 +15 19 0 +15 20 0 +15 21 0 +15 22 0 +15 23 0 +15 24 0 +15 25 0 +15 26 0 +15 27 0 +15 28 0 +15 29 0 +15 30 0 +15 31 0 +15 32 0 +15 33 0 +15 34 0 +15 35 0 +15 36 0 +15 37 0 +15 38 0 +15 39 0 +15 40 0 +15 41 0 +15 42 0 +15 43 0 +15 44 0 +15 45 0 +15 46 0 +15 47 0 +15 48 0 +15 49 0 +15 50 0 +15 51 0 +15 52 0 +15 53 0 +15 54 0 +15 55 0 +15 56 0 +15 57 0 +15 58 0 +15 59 0 +15 60 0 +15 61 0 +15 62 0 +15 63 0 +15 64 0 +15 65 0 +15 66 0 +15 67 0 +15 68 0 +15 69 0 +15 70 0 +15 71 0 +15 72 0 +15 73 0 +15 74 0 +15 75 0 +15 76 0 +15 77 0 +15 78 0 +15 79 0 +15 80 0 +15 81 0 +15 82 0 +15 83 0 +15 84 0 +15 85 0 +15 86 0 +15 87 0 +15 88 0 +15 89 0 +15 90 0 +15 91 0 +15 92 0 +15 93 0 +15 94 0 +15 95 0 +15 96 0 +15 97 0 +15 98 0 +15 99 0 +15 100 0 +15 101 0 +15 102 0 +15 103 0 +15 104 0 +15 105 0 +15 106 0 +15 107 0 +15 108 0 +15 109 0 +15 110 0 +15 111 0 +15 112 0 +15 113 0 +15 114 0 +15 115 0 +15 116 0 +15 117 0 +15 118 0 +15 119 0 +15 120 0 +15 121 0 +15 122 0 +15 123 0 +15 124 0 +15 125 0 +15 126 0 +15 127 0 +15 128 0 +15 129 0 +15 130 0 +15 131 0 +15 132 0 +15 133 0 +15 134 0 +15 135 0 +15 136 0 +15 137 0 +15 138 0 +15 139 0 +15 140 0 +15 141 0 +15 142 0 +15 143 0 +15 144 0 +15 145 0 +15 146 0 +15 147 0 +15 148 0 +15 149 0 +15 150 0 +15 151 0 +15 152 0 +15 153 0 +15 154 0 +15 155 0 +15 156 0 +15 157 0 +15 158 0 +15 159 0 +15 160 0 +15 161 0 +15 162 0 +15 163 0 +15 164 0 +15 165 0 +15 166 0 +15 167 0 +15 168 0 +15 169 0 +15 170 0 +15 171 0 +15 172 0 +15 173 0 +15 174 0 +15 175 0 +15 176 0 +15 177 0 +15 178 0 +15 179 0 +15 180 0 +15 181 0 +15 182 0 +15 183 0 +15 184 0 +15 185 0 +15 186 0 +15 187 0 +15 188 0 +15 189 0 +15 190 0 +15 191 0 +15 192 0 +15 193 0 +15 194 0 +15 195 0 +15 196 0 +15 197 0 +15 198 0 +15 199 0 +15 200 0 +15 201 0 +15 202 0 +15 203 0 +15 204 0 +15 205 0 +15 206 0 +15 207 0 +15 208 0 +15 209 0 +15 210 0 +15 211 0 +15 212 0 +15 213 0 +15 214 0 +15 215 0 +15 216 0 +15 217 0 +15 218 0 +15 219 0 +15 220 0 +15 221 0 +15 222 0 +15 223 0 +15 224 0 +15 225 0 +15 226 0 +15 227 0 +15 228 0 +15 229 0 +15 230 0 +15 231 0 +15 232 0 +15 233 0 +15 234 0 +15 235 0 +15 236 0 +15 237 0 +15 238 0 +15 239 0 +15 240 0 +15 241 0 +15 242 0 +15 243 0 +15 244 0 +15 245 0 +15 246 0 +15 247 0 +15 248 0 +15 249 0 +15 250 0 +15 251 0 +15 252 0 +15 253 0 +15 254 0 +15 255 0 +15 256 0 +15 257 0 +15 258 0 +15 259 0 +15 260 0 +15 261 0 +15 262 0 +15 263 0 +15 264 0 +15 265 0 +15 266 0 +15 267 0 +15 268 0 +15 269 0 +15 270 0 +15 271 0 +15 272 0 +15 273 0 +15 274 0 +15 275 0 +15 276 0 +15 277 0 +15 278 0 +15 279 0 +15 280 0 +15 281 0 +15 282 0 +15 283 0 +15 284 0 +15 285 0 +15 286 0 +15 287 0 +15 288 0 +15 289 0 +15 290 0 +15 291 0 +15 292 0 +15 293 0 +15 294 0 +15 295 0 +15 296 0 +15 297 0 +15 298 0 +15 299 0 +15 300 0 +15 301 0 +15 302 0 +15 303 0 +15 304 0 +15 305 0 +15 306 0 +15 307 0 +15 308 0 +15 309 0 +15 310 0 +15 311 0 +15 312 0 +15 313 0 +15 314 0 +15 315 0 +15 316 0 +15 317 0 +15 318 0 +15 319 0 +15 320 0 +15 321 0 +15 322 0 +15 323 0 +15 324 0 +15 325 0 +15 326 0 +15 327 0 +15 328 0 +15 329 0 +15 330 0 +15 331 0 +15 332 0 +15 333 0 +15 334 0 +15 335 0 +15 336 0 +15 337 0 +15 338 0 +15 339 0 +15 340 0 +15 341 0 +15 342 0 +15 343 0 +15 344 0 +15 345 0 +15 346 0 +15 347 0 +15 348 0 +15 349 0 +15 350 0 +15 351 0 +15 352 0 +15 353 0 +15 354 0 +15 355 0 +15 356 0 +15 357 0 +15 358 0 +15 359 0 +15 360 0 +15 361 0 +15 362 0 +15 363 0 +15 364 0 +15 365 0 +15 366 0 +15 367 0 +15 368 0 +15 369 0 +15 370 0 +15 371 0 +15 372 0 +15 373 0 +15 374 0 +15 375 0 +15 376 0 +15 377 0 +15 378 0 +15 379 0 +15 380 0 +15 381 0 +15 382 0 +15 383 0 +16 17 0 +16 18 0 +16 19 0 +16 20 0 +16 21 0 +16 22 0 +16 23 0 +16 24 0 +16 25 0 +16 26 0 +16 27 0 +16 28 0 +16 29 0 +16 30 0 +16 31 0 +16 32 0 +16 33 0 +16 34 0 +16 35 0 +16 36 0 +16 37 0 +16 38 0 +16 39 0 +16 40 0 +16 41 0 +16 42 0 +16 43 0 +16 44 0 +16 45 0 +16 46 0 +16 47 0 +16 48 0 +16 49 0 +16 50 0 +16 51 0 +16 52 0 +16 53 0 +16 54 0 +16 55 0 +16 56 0 +16 57 0 +16 58 0 +16 59 0 +16 60 0 +16 61 0 +16 62 0 +16 63 0 +16 64 0 +16 65 0 +16 66 0 +16 67 0 +16 68 0 +16 69 0 +16 70 0 +16 71 0 +16 72 0 +16 73 0 +16 74 0 +16 75 0 +16 76 0 +16 77 0 +16 78 0 +16 79 0 +16 80 0 +16 81 0 +16 82 0 +16 83 0 +16 84 0 +16 85 0 +16 86 0 +16 87 0 +16 88 0 +16 89 0 +16 90 0 +16 91 0 +16 92 0 +16 93 0 +16 94 0 +16 95 0 +16 96 0 +16 97 0 +16 98 0 +16 99 0 +16 100 0 +16 101 0 +16 102 0 +16 103 0 +16 104 0 +16 105 0 +16 106 0 +16 107 0 +16 108 0 +16 109 0 +16 110 0 +16 111 0 +16 112 0 +16 113 0 +16 114 0 +16 115 0 +16 116 0 +16 117 0 +16 118 0 +16 119 0 +16 120 0 +16 121 0 +16 122 0 +16 123 0 +16 124 0 +16 125 0 +16 126 0 +16 127 0 +16 128 0 +16 129 0 +16 130 0 +16 131 0 +16 132 0 +16 133 0 +16 134 0 +16 135 0 +16 136 0 +16 137 0 +16 138 0 +16 139 0 +16 140 0 +16 141 0 +16 142 0 +16 143 0 +16 144 0 +16 145 0 +16 146 0 +16 147 0 +16 148 0 +16 149 0 +16 150 0 +16 151 0 +16 152 0 +16 153 0 +16 154 0 +16 155 0 +16 156 0 +16 157 0 +16 158 0 +16 159 0 +16 160 0 +16 161 0 +16 162 0 +16 163 0 +16 164 0 +16 165 0 +16 166 0 +16 167 0 +16 168 0 +16 169 0 +16 170 0 +16 171 0 +16 172 0 +16 173 0 +16 174 0 +16 175 0 +16 176 0 +16 177 0 +16 178 0 +16 179 0 +16 180 0 +16 181 0 +16 182 0 +16 183 0 +16 184 0 +16 185 0 +16 186 0 +16 187 0 +16 188 0 +16 189 0 +16 190 0 +16 191 0 +16 192 0 +16 193 0 +16 194 0 +16 195 0 +16 196 0 +16 197 0 +16 198 0 +16 199 0 +16 200 0 +16 201 0 +16 202 0 +16 203 0 +16 204 0 +16 205 0 +16 206 0 +16 207 0 +16 208 0 +16 209 0 +16 210 0 +16 211 0 +16 212 0 +16 213 0 +16 214 0 +16 215 0 +16 216 0 +16 217 0 +16 218 0 +16 219 0 +16 220 0 +16 221 0 +16 222 0 +16 223 0 +16 224 0 +16 225 0 +16 226 0 +16 227 0 +16 228 0 +16 229 0 +16 230 0 +16 231 0 +16 232 0 +16 233 0 +16 234 0 +16 235 0 +16 236 0 +16 237 0 +16 238 0 +16 239 0 +16 240 0 +16 241 0 +16 242 0 +16 243 0 +16 244 0 +16 245 0 +16 246 0 +16 247 0 +16 248 0 +16 249 0 +16 250 0 +16 251 0 +16 252 0 +16 253 0 +16 254 0 +16 255 0 +16 256 0 +16 257 0 +16 258 0 +16 259 0 +16 260 0 +16 261 0 +16 262 0 +16 263 0 +16 264 0 +16 265 0 +16 266 0 +16 267 0 +16 268 0 +16 269 0 +16 270 0 +16 271 0 +16 272 0 +16 273 0 +16 274 0 +16 275 0 +16 276 0 +16 277 0 +16 278 0 +16 279 0 +16 280 0 +16 281 0 +16 282 0 +16 283 0 +16 284 0 +16 285 0 +16 286 0 +16 287 0 +16 288 0 +16 289 0 +16 290 0 +16 291 0 +16 292 0 +16 293 0 +16 294 0 +16 295 0 +16 296 0 +16 297 0 +16 298 0 +16 299 0 +16 300 0 +16 301 0 +16 302 0 +16 303 0 +16 304 0 +16 305 0 +16 306 0 +16 307 0 +16 308 0 +16 309 0 +16 310 0 +16 311 0 +16 312 0 +16 313 0 +16 314 0 +16 315 0 +16 316 0 +16 317 0 +16 318 0 +16 319 0 +16 320 0 +16 321 0 +16 322 0 +16 323 0 +16 324 0 +16 325 0 +16 326 0 +16 327 0 +16 328 0 +16 329 0 +16 330 0 +16 331 0 +16 332 0 +16 333 0 +16 334 0 +16 335 0 +16 336 0 +16 337 0 +16 338 0 +16 339 0 +16 340 0 +16 341 0 +16 342 0 +16 343 0 +16 344 0 +16 345 0 +16 346 0 +16 347 0 +16 348 0 +16 349 0 +16 350 0 +16 351 0 +16 352 0 +16 353 0 +16 354 0 +16 355 0 +16 356 0 +16 357 0 +16 358 0 +16 359 0 +16 360 0 +16 361 0 +16 362 0 +16 363 0 +16 364 0 +16 365 0 +16 366 0 +16 367 0 +16 368 0 +16 369 0 +16 370 0 +16 371 0 +16 372 0 +16 373 0 +16 374 0 +16 375 0 +16 376 0 +16 377 0 +16 378 0 +16 379 0 +16 380 0 +16 381 0 +16 382 0 +16 383 0 +17 18 0 +17 19 0 +17 20 0 +17 21 0 +17 22 0 +17 23 0 +17 24 0 +17 25 0 +17 26 0 +17 27 0 +17 28 0 +17 29 0 +17 30 0 +17 31 0 +17 32 0 +17 33 0 +17 34 0 +17 35 0 +17 36 0 +17 37 0 +17 38 0 +17 39 0 +17 40 0 +17 41 0 +17 42 0 +17 43 0 +17 44 0 +17 45 0 +17 46 0 +17 47 0 +17 48 0 +17 49 0 +17 50 0 +17 51 0 +17 52 0 +17 53 0 +17 54 0 +17 55 0 +17 56 0 +17 57 0 +17 58 0 +17 59 0 +17 60 0 +17 61 0 +17 62 0 +17 63 0 +17 64 0 +17 65 0 +17 66 0 +17 67 0 +17 68 0 +17 69 0 +17 70 0 +17 71 0 +17 72 0 +17 73 0 +17 74 0 +17 75 0 +17 76 0 +17 77 0 +17 78 0 +17 79 0 +17 80 0 +17 81 0 +17 82 0 +17 83 0 +17 84 0 +17 85 0 +17 86 0 +17 87 0 +17 88 0 +17 89 0 +17 90 0 +17 91 0 +17 92 0 +17 93 0 +17 94 0 +17 95 0 +17 96 0 +17 97 0 +17 98 0 +17 99 0 +17 100 0 +17 101 0 +17 102 0 +17 103 0 +17 104 0 +17 105 0 +17 106 0 +17 107 0 +17 108 0 +17 109 0 +17 110 0 +17 111 0 +17 112 0 +17 113 0 +17 114 0 +17 115 0 +17 116 0 +17 117 0 +17 118 0 +17 119 0 +17 120 0 +17 121 0 +17 122 0 +17 123 0 +17 124 0 +17 125 0 +17 126 0 +17 127 0 +17 128 0 +17 129 0 +17 130 0 +17 131 0 +17 132 0 +17 133 0 +17 134 0 +17 135 0 +17 136 0 +17 137 0 +17 138 0 +17 139 0 +17 140 0 +17 141 0 +17 142 0 +17 143 0 +17 144 0 +17 145 0 +17 146 0 +17 147 0 +17 148 0 +17 149 0 +17 150 0 +17 151 0 +17 152 0 +17 153 0 +17 154 0 +17 155 0 +17 156 0 +17 157 0 +17 158 0 +17 159 0 +17 160 0 +17 161 0 +17 162 0 +17 163 0 +17 164 0 +17 165 0 +17 166 0 +17 167 0 +17 168 0 +17 169 0 +17 170 0 +17 171 0 +17 172 0 +17 173 0 +17 174 0 +17 175 0 +17 176 0 +17 177 0 +17 178 0 +17 179 0 +17 180 0 +17 181 0 +17 182 0 +17 183 0 +17 184 0 +17 185 0 +17 186 0 +17 187 0 +17 188 0 +17 189 0 +17 190 0 +17 191 0 +17 192 0 +17 193 0 +17 194 0 +17 195 0 +17 196 0 +17 197 0 +17 198 0 +17 199 0 +17 200 0 +17 201 0 +17 202 0 +17 203 0 +17 204 0 +17 205 0 +17 206 0 +17 207 0 +17 208 0 +17 209 0 +17 210 0 +17 211 0 +17 212 0 +17 213 0 +17 214 0 +17 215 0 +17 216 0 +17 217 0 +17 218 0 +17 219 0 +17 220 0 +17 221 0 +17 222 0 +17 223 0 +17 224 0 +17 225 0 +17 226 0 +17 227 0 +17 228 0 +17 229 0 +17 230 0 +17 231 0 +17 232 0 +17 233 0 +17 234 0 +17 235 0 +17 236 0 +17 237 0 +17 238 0 +17 239 0 +17 240 0 +17 241 0 +17 242 0 +17 243 0 +17 244 0 +17 245 0 +17 246 0 +17 247 0 +17 248 0 +17 249 0 +17 250 0 +17 251 0 +17 252 0 +17 253 0 +17 254 0 +17 255 0 +17 256 0 +17 257 0 +17 258 0 +17 259 0 +17 260 0 +17 261 0 +17 262 0 +17 263 0 +17 264 0 +17 265 0 +17 266 0 +17 267 0 +17 268 0 +17 269 0 +17 270 0 +17 271 0 +17 272 0 +17 273 0 +17 274 0 +17 275 0 +17 276 0 +17 277 0 +17 278 0 +17 279 0 +17 280 0 +17 281 0 +17 282 0 +17 283 0 +17 284 0 +17 285 0 +17 286 0 +17 287 0 +17 288 0 +17 289 0 +17 290 0 +17 291 0 +17 292 0 +17 293 0 +17 294 0 +17 295 0 +17 296 0 +17 297 0 +17 298 0 +17 299 0 +17 300 0 +17 301 0 +17 302 0 +17 303 0 +17 304 0 +17 305 0 +17 306 0 +17 307 0 +17 308 0 +17 309 0 +17 310 0 +17 311 0 +17 312 0 +17 313 0 +17 314 0 +17 315 0 +17 316 0 +17 317 0 +17 318 0 +17 319 0 +17 320 0 +17 321 0 +17 322 0 +17 323 0 +17 324 0 +17 325 0 +17 326 0 +17 327 0 +17 328 0 +17 329 0 +17 330 0 +17 331 0 +17 332 0 +17 333 0 +17 334 0 +17 335 0 +17 336 0 +17 337 0 +17 338 0 +17 339 0 +17 340 0 +17 341 0 +17 342 0 +17 343 0 +17 344 0 +17 345 0 +17 346 0 +17 347 0 +17 348 0 +17 349 0 +17 350 0 +17 351 0 +17 352 0 +17 353 0 +17 354 0 +17 355 0 +17 356 0 +17 357 0 +17 358 0 +17 359 0 +17 360 0 +17 361 0 +17 362 0 +17 363 0 +17 364 0 +17 365 0 +17 366 0 +17 367 0 +17 368 0 +17 369 0 +17 370 0 +17 371 0 +17 372 0 +17 373 0 +17 374 0 +17 375 0 +17 376 0 +17 377 0 +17 378 0 +17 379 0 +17 380 0 +17 381 0 +17 382 0 +17 383 0 +18 19 0 +18 20 0 +18 21 0 +18 22 0 +18 23 0 +18 24 0 +18 25 0 +18 26 0 +18 27 0 +18 28 0 +18 29 0 +18 30 0 +18 31 0 +18 32 0 +18 33 0 +18 34 0 +18 35 0 +18 36 0 +18 37 0 +18 38 0 +18 39 0 +18 40 0 +18 41 0 +18 42 0 +18 43 0 +18 44 0 +18 45 0 +18 46 0 +18 47 0 +18 48 0 +18 49 0 +18 50 0 +18 51 0 +18 52 0 +18 53 0 +18 54 0 +18 55 0 +18 56 0 +18 57 0 +18 58 0 +18 59 0 +18 60 0 +18 61 0 +18 62 0 +18 63 0 +18 64 0 +18 65 0 +18 66 0 +18 67 0 +18 68 0 +18 69 0 +18 70 0 +18 71 0 +18 72 0 +18 73 0 +18 74 0 +18 75 0 +18 76 0 +18 77 0 +18 78 0 +18 79 0 +18 80 0 +18 81 0 +18 82 0 +18 83 0 +18 84 0 +18 85 0 +18 86 0 +18 87 0 +18 88 0 +18 89 0 +18 90 0 +18 91 0 +18 92 0 +18 93 0 +18 94 0 +18 95 0 +18 96 0 +18 97 0 +18 98 0 +18 99 0 +18 100 0 +18 101 0 +18 102 0 +18 103 0 +18 104 0 +18 105 0 +18 106 0 +18 107 0 +18 108 0 +18 109 0 +18 110 0 +18 111 0 +18 112 0 +18 113 0 +18 114 0 +18 115 0 +18 116 0 +18 117 0 +18 118 0 +18 119 0 +18 120 0 +18 121 0 +18 122 0 +18 123 0 +18 124 0 +18 125 0 +18 126 0 +18 127 0 +18 128 0 +18 129 0 +18 130 0 +18 131 0 +18 132 0 +18 133 0 +18 134 0 +18 135 0 +18 136 0 +18 137 0 +18 138 0 +18 139 0 +18 140 0 +18 141 0 +18 142 0 +18 143 0 +18 144 0 +18 145 0 +18 146 0 +18 147 0 +18 148 0 +18 149 0 +18 150 0 +18 151 0 +18 152 0 +18 153 0 +18 154 0 +18 155 0 +18 156 0 +18 157 0 +18 158 0 +18 159 0 +18 160 0 +18 161 0 +18 162 0 +18 163 0 +18 164 0 +18 165 0 +18 166 0 +18 167 0 +18 168 0 +18 169 0 +18 170 0 +18 171 0 +18 172 0 +18 173 0 +18 174 0 +18 175 0 +18 176 0 +18 177 0 +18 178 0 +18 179 0 +18 180 0 +18 181 0 +18 182 0 +18 183 0 +18 184 0 +18 185 0 +18 186 0 +18 187 0 +18 188 0 +18 189 0 +18 190 0 +18 191 0 +18 192 0 +18 193 0 +18 194 0 +18 195 0 +18 196 0 +18 197 0 +18 198 0 +18 199 0 +18 200 0 +18 201 0 +18 202 0 +18 203 0 +18 204 0 +18 205 0 +18 206 0 +18 207 0 +18 208 0 +18 209 0 +18 210 0 +18 211 0 +18 212 0 +18 213 0 +18 214 0 +18 215 0 +18 216 0 +18 217 0 +18 218 0 +18 219 0 +18 220 0 +18 221 0 +18 222 0 +18 223 0 +18 224 0 +18 225 0 +18 226 0 +18 227 0 +18 228 0 +18 229 0 +18 230 0 +18 231 0 +18 232 0 +18 233 0 +18 234 0 +18 235 0 +18 236 0 +18 237 0 +18 238 0 +18 239 0 +18 240 0 +18 241 0 +18 242 0 +18 243 0 +18 244 0 +18 245 0 +18 246 0 +18 247 0 +18 248 0 +18 249 0 +18 250 0 +18 251 0 +18 252 0 +18 253 0 +18 254 0 +18 255 0 +18 256 0 +18 257 0 +18 258 0 +18 259 0 +18 260 0 +18 261 0 +18 262 0 +18 263 0 +18 264 0 +18 265 0 +18 266 0 +18 267 0 +18 268 0 +18 269 0 +18 270 0 +18 271 0 +18 272 0 +18 273 0 +18 274 0 +18 275 0 +18 276 0 +18 277 0 +18 278 0 +18 279 0 +18 280 0 +18 281 0 +18 282 0 +18 283 0 +18 284 0 +18 285 0 +18 286 0 +18 287 0 +18 288 0 +18 289 0 +18 290 0 +18 291 0 +18 292 0 +18 293 0 +18 294 0 +18 295 0 +18 296 0 +18 297 0 +18 298 0 +18 299 0 +18 300 0 +18 301 0 +18 302 0 +18 303 0 +18 304 0 +18 305 0 +18 306 0 +18 307 0 +18 308 0 +18 309 0 +18 310 0 +18 311 0 +18 312 0 +18 313 0 +18 314 0 +18 315 0 +18 316 0 +18 317 0 +18 318 0 +18 319 0 +18 320 0 +18 321 0 +18 322 0 +18 323 0 +18 324 0 +18 325 0 +18 326 0 +18 327 0 +18 328 0 +18 329 0 +18 330 0 +18 331 0 +18 332 0 +18 333 0 +18 334 0 +18 335 0 +18 336 0 +18 337 0 +18 338 0 +18 339 0 +18 340 0 +18 341 0 +18 342 0 +18 343 0 +18 344 0 +18 345 0 +18 346 0 +18 347 0 +18 348 0 +18 349 0 +18 350 0 +18 351 0 +18 352 0 +18 353 0 +18 354 0 +18 355 0 +18 356 0 +18 357 0 +18 358 0 +18 359 0 +18 360 0 +18 361 0 +18 362 0 +18 363 0 +18 364 0 +18 365 0 +18 366 0 +18 367 0 +18 368 0 +18 369 0 +18 370 0 +18 371 0 +18 372 0 +18 373 0 +18 374 0 +18 375 0 +18 376 0 +18 377 0 +18 378 0 +18 379 0 +18 380 0 +18 381 0 +18 382 0 +18 383 0 +19 20 0 +19 21 0 +19 22 0 +19 23 0 +19 24 0 +19 25 0 +19 26 0 +19 27 0 +19 28 0 +19 29 0 +19 30 0 +19 31 0 +19 32 0 +19 33 0 +19 34 0 +19 35 0 +19 36 0 +19 37 0 +19 38 0 +19 39 0 +19 40 0 +19 41 0 +19 42 0 +19 43 0 +19 44 0 +19 45 0 +19 46 0 +19 47 0 +19 48 0 +19 49 0 +19 50 0 +19 51 0 +19 52 0 +19 53 0 +19 54 0 +19 55 0 +19 56 0 +19 57 0 +19 58 0 +19 59 0 +19 60 0 +19 61 0 +19 62 0 +19 63 0 +19 64 0 +19 65 0 +19 66 0 +19 67 0 +19 68 0 +19 69 0 +19 70 0 +19 71 0 +19 72 0 +19 73 0 +19 74 0 +19 75 0 +19 76 0 +19 77 0 +19 78 0 +19 79 0 +19 80 0 +19 81 0 +19 82 0 +19 83 0 +19 84 0 +19 85 0 +19 86 0 +19 87 0 +19 88 0 +19 89 0 +19 90 0 +19 91 0 +19 92 0 +19 93 0 +19 94 0 +19 95 0 +19 96 0 +19 97 0 +19 98 0 +19 99 0 +19 100 0 +19 101 0 +19 102 0 +19 103 0 +19 104 0 +19 105 0 +19 106 0 +19 107 0 +19 108 0 +19 109 0 +19 110 0 +19 111 0 +19 112 0 +19 113 0 +19 114 0 +19 115 0 +19 116 0 +19 117 0 +19 118 0 +19 119 0 +19 120 0 +19 121 0 +19 122 0 +19 123 0 +19 124 0 +19 125 0 +19 126 0 +19 127 0 +19 128 0 +19 129 0 +19 130 0 +19 131 0 +19 132 0 +19 133 0 +19 134 0 +19 135 0 +19 136 0 +19 137 0 +19 138 0 +19 139 0 +19 140 0 +19 141 0 +19 142 0 +19 143 0 +19 144 0 +19 145 0 +19 146 0 +19 147 0 +19 148 0 +19 149 0 +19 150 0 +19 151 0 +19 152 0 +19 153 0 +19 154 0 +19 155 0 +19 156 0 +19 157 0 +19 158 0 +19 159 0 +19 160 0 +19 161 0 +19 162 0 +19 163 0 +19 164 0 +19 165 0 +19 166 0 +19 167 0 +19 168 0 +19 169 0 +19 170 0 +19 171 0 +19 172 0 +19 173 0 +19 174 0 +19 175 0 +19 176 0 +19 177 0 +19 178 0 +19 179 0 +19 180 0 +19 181 0 +19 182 0 +19 183 0 +19 184 0 +19 185 0 +19 186 0 +19 187 0 +19 188 0 +19 189 0 +19 190 0 +19 191 0 +19 192 0 +19 193 0 +19 194 0 +19 195 0 +19 196 0 +19 197 0 +19 198 0 +19 199 0 +19 200 0 +19 201 0 +19 202 0 +19 203 0 +19 204 0 +19 205 0 +19 206 0 +19 207 0 +19 208 0 +19 209 0 +19 210 0 +19 211 0 +19 212 0 +19 213 0 +19 214 0 +19 215 0 +19 216 0 +19 217 0 +19 218 0 +19 219 0 +19 220 0 +19 221 0 +19 222 0 +19 223 0 +19 224 0 +19 225 0 +19 226 0 +19 227 0 +19 228 0 +19 229 0 +19 230 0 +19 231 0 +19 232 0 +19 233 0 +19 234 0 +19 235 0 +19 236 0 +19 237 0 +19 238 0 +19 239 0 +19 240 0 +19 241 0 +19 242 0 +19 243 0 +19 244 0 +19 245 0 +19 246 0 +19 247 0 +19 248 0 +19 249 0 +19 250 0 +19 251 0 +19 252 0 +19 253 0 +19 254 0 +19 255 0 +19 256 0 +19 257 0 +19 258 0 +19 259 0 +19 260 0 +19 261 0 +19 262 0 +19 263 0 +19 264 0 +19 265 0 +19 266 0 +19 267 0 +19 268 0 +19 269 0 +19 270 0 +19 271 0 +19 272 0 +19 273 0 +19 274 0 +19 275 0 +19 276 0 +19 277 0 +19 278 0 +19 279 0 +19 280 0 +19 281 0 +19 282 0 +19 283 0 +19 284 0 +19 285 0 +19 286 0 +19 287 0 +19 288 0 +19 289 0 +19 290 0 +19 291 0 +19 292 0 +19 293 0 +19 294 0 +19 295 0 +19 296 0 +19 297 0 +19 298 0 +19 299 0 +19 300 0 +19 301 0 +19 302 0 +19 303 0 +19 304 0 +19 305 0 +19 306 0 +19 307 0 +19 308 0 +19 309 0 +19 310 0 +19 311 0 +19 312 0 +19 313 0 +19 314 0 +19 315 0 +19 316 0 +19 317 0 +19 318 0 +19 319 0 +19 320 0 +19 321 0 +19 322 0 +19 323 0 +19 324 0 +19 325 0 +19 326 0 +19 327 0 +19 328 0 +19 329 0 +19 330 0 +19 331 0 +19 332 0 +19 333 0 +19 334 0 +19 335 0 +19 336 0 +19 337 0 +19 338 0 +19 339 0 +19 340 0 +19 341 0 +19 342 0 +19 343 0 +19 344 0 +19 345 0 +19 346 0 +19 347 0 +19 348 0 +19 349 0 +19 350 0 +19 351 0 +19 352 0 +19 353 0 +19 354 0 +19 355 0 +19 356 0 +19 357 0 +19 358 0 +19 359 0 +19 360 0 +19 361 0 +19 362 0 +19 363 0 +19 364 0 +19 365 0 +19 366 0 +19 367 0 +19 368 0 +19 369 0 +19 370 0 +19 371 0 +19 372 0 +19 373 0 +19 374 0 +19 375 0 +19 376 0 +19 377 0 +19 378 0 +19 379 0 +19 380 0 +19 381 0 +19 382 0 +19 383 0 +20 21 0 +20 22 0 +20 23 0 +20 24 0 +20 25 0 +20 26 0 +20 27 0 +20 28 0 +20 29 0 +20 30 0 +20 31 0 +20 32 0 +20 33 0 +20 34 0 +20 35 0 +20 36 0 +20 37 0 +20 38 0 +20 39 0 +20 40 0 +20 41 0 +20 42 0 +20 43 0 +20 44 0 +20 45 0 +20 46 0 +20 47 0 +20 48 0 +20 49 0 +20 50 0 +20 51 0 +20 52 0 +20 53 0 +20 54 0 +20 55 0 +20 56 0 +20 57 0 +20 58 0 +20 59 0 +20 60 0 +20 61 0 +20 62 0 +20 63 0 +20 64 0 +20 65 0 +20 66 0 +20 67 0 +20 68 0 +20 69 0 +20 70 0 +20 71 0 +20 72 0 +20 73 0 +20 74 0 +20 75 0 +20 76 0 +20 77 0 +20 78 0 +20 79 0 +20 80 0 +20 81 0 +20 82 0 +20 83 0 +20 84 0 +20 85 0 +20 86 0 +20 87 0 +20 88 0 +20 89 0 +20 90 0 +20 91 0 +20 92 0 +20 93 0 +20 94 0 +20 95 0 +20 96 0 +20 97 0 +20 98 0 +20 99 0 +20 100 0 +20 101 0 +20 102 0 +20 103 0 +20 104 0 +20 105 0 +20 106 0 +20 107 0 +20 108 0 +20 109 0 +20 110 0 +20 111 0 +20 112 0 +20 113 0 +20 114 0 +20 115 0 +20 116 0 +20 117 0 +20 118 0 +20 119 0 +20 120 0 +20 121 0 +20 122 0 +20 123 0 +20 124 0 +20 125 0 +20 126 0 +20 127 0 +20 128 0 +20 129 0 +20 130 0 +20 131 0 +20 132 0 +20 133 0 +20 134 0 +20 135 0 +20 136 0 +20 137 0 +20 138 0 +20 139 0 +20 140 0 +20 141 0 +20 142 0 +20 143 0 +20 144 0 +20 145 0 +20 146 0 +20 147 0 +20 148 0 +20 149 0 +20 150 0 +20 151 0 +20 152 0 +20 153 0 +20 154 0 +20 155 0 +20 156 0 +20 157 0 +20 158 0 +20 159 0 +20 160 0 +20 161 0 +20 162 0 +20 163 0 +20 164 0 +20 165 0 +20 166 0 +20 167 0 +20 168 0 +20 169 0 +20 170 0 +20 171 0 +20 172 0 +20 173 0 +20 174 0 +20 175 0 +20 176 0 +20 177 0 +20 178 0 +20 179 0 +20 180 0 +20 181 0 +20 182 0 +20 183 0 +20 184 0 +20 185 0 +20 186 0 +20 187 0 +20 188 0 +20 189 0 +20 190 0 +20 191 0 +20 192 0 +20 193 0 +20 194 0 +20 195 0 +20 196 0 +20 197 0 +20 198 0 +20 199 0 +20 200 0 +20 201 0 +20 202 0 +20 203 0 +20 204 0 +20 205 0 +20 206 0 +20 207 0 +20 208 0 +20 209 0 +20 210 0 +20 211 0 +20 212 0 +20 213 0 +20 214 0 +20 215 0 +20 216 0 +20 217 0 +20 218 0 +20 219 0 +20 220 0 +20 221 0 +20 222 0 +20 223 0 +20 224 0 +20 225 0 +20 226 0 +20 227 0 +20 228 0 +20 229 0 +20 230 0 +20 231 0 +20 232 0 +20 233 0 +20 234 0 +20 235 0 +20 236 0 +20 237 0 +20 238 0 +20 239 0 +20 240 0 +20 241 0 +20 242 0 +20 243 0 +20 244 0 +20 245 0 +20 246 0 +20 247 0 +20 248 0 +20 249 0 +20 250 0 +20 251 0 +20 252 0 +20 253 0 +20 254 0 +20 255 0 +20 256 0 +20 257 0 +20 258 0 +20 259 0 +20 260 0 +20 261 0 +20 262 0 +20 263 0 +20 264 0 +20 265 0 +20 266 0 +20 267 0 +20 268 0 +20 269 0 +20 270 0 +20 271 0 +20 272 0 +20 273 0 +20 274 0 +20 275 0 +20 276 0 +20 277 0 +20 278 0 +20 279 0 +20 280 0 +20 281 0 +20 282 0 +20 283 0 +20 284 0 +20 285 0 +20 286 0 +20 287 0 +20 288 0 +20 289 0 +20 290 0 +20 291 0 +20 292 0 +20 293 0 +20 294 0 +20 295 0 +20 296 0 +20 297 0 +20 298 0 +20 299 0 +20 300 0 +20 301 0 +20 302 0 +20 303 0 +20 304 0 +20 305 0 +20 306 0 +20 307 0 +20 308 0 +20 309 0 +20 310 0 +20 311 0 +20 312 0 +20 313 0 +20 314 0 +20 315 0 +20 316 0 +20 317 0 +20 318 0 +20 319 0 +20 320 0 +20 321 0 +20 322 0 +20 323 0 +20 324 0 +20 325 0 +20 326 0 +20 327 0 +20 328 0 +20 329 0 +20 330 0 +20 331 0 +20 332 0 +20 333 0 +20 334 0 +20 335 0 +20 336 0 +20 337 0 +20 338 0 +20 339 0 +20 340 0 +20 341 0 +20 342 0 +20 343 0 +20 344 0 +20 345 0 +20 346 0 +20 347 0 +20 348 0 +20 349 0 +20 350 0 +20 351 0 +20 352 0 +20 353 0 +20 354 0 +20 355 0 +20 356 0 +20 357 0 +20 358 0 +20 359 0 +20 360 0 +20 361 0 +20 362 0 +20 363 0 +20 364 0 +20 365 0 +20 366 0 +20 367 0 +20 368 0 +20 369 0 +20 370 0 +20 371 0 +20 372 0 +20 373 0 +20 374 0 +20 375 0 +20 376 0 +20 377 0 +20 378 0 +20 379 0 +20 380 0 +20 381 0 +20 382 0 +20 383 0 +21 22 0 +21 23 0 +21 24 0 +21 25 0 +21 26 0 +21 27 0 +21 28 0 +21 29 0 +21 30 0 +21 31 0 +21 32 0 +21 33 0 +21 34 0 +21 35 0 +21 36 0 +21 37 0 +21 38 0 +21 39 0 +21 40 0 +21 41 0 +21 42 0 +21 43 0 +21 44 0 +21 45 0 +21 46 0 +21 47 0 +21 48 0 +21 49 0 +21 50 0 +21 51 0 +21 52 0 +21 53 0 +21 54 0 +21 55 0 +21 56 0 +21 57 0 +21 58 0 +21 59 0 +21 60 0 +21 61 0 +21 62 0 +21 63 0 +21 64 0 +21 65 0 +21 66 0 +21 67 0 +21 68 0 +21 69 0 +21 70 0 +21 71 0 +21 72 0 +21 73 0 +21 74 0 +21 75 0 +21 76 0 +21 77 0 +21 78 0 +21 79 0 +21 80 0 +21 81 0 +21 82 0 +21 83 0 +21 84 0 +21 85 0 +21 86 0 +21 87 0 +21 88 0 +21 89 0 +21 90 0 +21 91 0 +21 92 0 +21 93 0 +21 94 0 +21 95 0 +21 96 0 +21 97 0 +21 98 0 +21 99 0 +21 100 0 +21 101 0 +21 102 0 +21 103 0 +21 104 0 +21 105 0 +21 106 0 +21 107 0 +21 108 0 +21 109 0 +21 110 0 +21 111 0 +21 112 0 +21 113 0 +21 114 0 +21 115 0 +21 116 0 +21 117 0 +21 118 0 +21 119 0 +21 120 0 +21 121 0 +21 122 0 +21 123 0 +21 124 0 +21 125 0 +21 126 0 +21 127 0 +21 128 0 +21 129 0 +21 130 0 +21 131 0 +21 132 0 +21 133 0 +21 134 0 +21 135 0 +21 136 0 +21 137 0 +21 138 0 +21 139 0 +21 140 0 +21 141 0 +21 142 0 +21 143 0 +21 144 0 +21 145 0 +21 146 0 +21 147 0 +21 148 0 +21 149 0 +21 150 0 +21 151 0 +21 152 0 +21 153 0 +21 154 0 +21 155 0 +21 156 0 +21 157 0 +21 158 0 +21 159 0 +21 160 0 +21 161 0 +21 162 0 +21 163 0 +21 164 0 +21 165 0 +21 166 0 +21 167 0 +21 168 0 +21 169 0 +21 170 0 +21 171 0 +21 172 0 +21 173 0 +21 174 0 +21 175 0 +21 176 0 +21 177 0 +21 178 0 +21 179 0 +21 180 0 +21 181 0 +21 182 0 +21 183 0 +21 184 0 +21 185 0 +21 186 0 +21 187 0 +21 188 0 +21 189 0 +21 190 0 +21 191 0 +21 192 0 +21 193 0 +21 194 0 +21 195 0 +21 196 0 +21 197 0 +21 198 0 +21 199 0 +21 200 0 +21 201 0 +21 202 0 +21 203 0 +21 204 0 +21 205 0 +21 206 0 +21 207 0 +21 208 0 +21 209 0 +21 210 0 +21 211 0 +21 212 0 +21 213 0 +21 214 0 +21 215 0 +21 216 0 +21 217 0 +21 218 0 +21 219 0 +21 220 0 +21 221 0 +21 222 0 +21 223 0 +21 224 0 +21 225 0 +21 226 0 +21 227 0 +21 228 0 +21 229 0 +21 230 0 +21 231 0 +21 232 0 +21 233 0 +21 234 0 +21 235 0 +21 236 0 +21 237 0 +21 238 0 +21 239 0 +21 240 0 +21 241 0 +21 242 0 +21 243 0 +21 244 0 +21 245 0 +21 246 0 +21 247 0 +21 248 0 +21 249 0 +21 250 0 +21 251 0 +21 252 0 +21 253 0 +21 254 0 +21 255 0 +21 256 0 +21 257 0 +21 258 0 +21 259 0 +21 260 0 +21 261 0 +21 262 0 +21 263 0 +21 264 0 +21 265 0 +21 266 0 +21 267 0 +21 268 0 +21 269 0 +21 270 0 +21 271 0 +21 272 0 +21 273 0 +21 274 0 +21 275 0 +21 276 0 +21 277 0 +21 278 0 +21 279 0 +21 280 0 +21 281 0 +21 282 0 +21 283 0 +21 284 0 +21 285 0 +21 286 0 +21 287 0 +21 288 0 +21 289 0 +21 290 0 +21 291 0 +21 292 0 +21 293 0 +21 294 0 +21 295 0 +21 296 0 +21 297 0 +21 298 0 +21 299 0 +21 300 0 +21 301 0 +21 302 0 +21 303 0 +21 304 0 +21 305 0 +21 306 0 +21 307 0 +21 308 0 +21 309 0 +21 310 0 +21 311 0 +21 312 0 +21 313 0 +21 314 0 +21 315 0 +21 316 0 +21 317 0 +21 318 0 +21 319 0 +21 320 0 +21 321 0 +21 322 0 +21 323 0 +21 324 0 +21 325 0 +21 326 0 +21 327 0 +21 328 0 +21 329 0 +21 330 0 +21 331 0 +21 332 0 +21 333 0 +21 334 0 +21 335 0 +21 336 0 +21 337 0 +21 338 0 +21 339 0 +21 340 0 +21 341 0 +21 342 0 +21 343 0 +21 344 0 +21 345 0 +21 346 0 +21 347 0 +21 348 0 +21 349 0 +21 350 0 +21 351 0 +21 352 0 +21 353 0 +21 354 0 +21 355 0 +21 356 0 +21 357 0 +21 358 0 +21 359 0 +21 360 0 +21 361 0 +21 362 0 +21 363 0 +21 364 0 +21 365 0 +21 366 0 +21 367 0 +21 368 0 +21 369 0 +21 370 0 +21 371 0 +21 372 0 +21 373 0 +21 374 0 +21 375 0 +21 376 0 +21 377 0 +21 378 0 +21 379 0 +21 380 0 +21 381 0 +21 382 0 +21 383 0 +22 23 0 +22 24 0 +22 25 0 +22 26 0 +22 27 0 +22 28 0 +22 29 0 +22 30 0 +22 31 0 +22 32 0 +22 33 0 +22 34 0 +22 35 0 +22 36 0 +22 37 0 +22 38 0 +22 39 0 +22 40 0 +22 41 0 +22 42 0 +22 43 0 +22 44 0 +22 45 0 +22 46 0 +22 47 0 +22 48 0 +22 49 0 +22 50 0 +22 51 0 +22 52 0 +22 53 0 +22 54 0 +22 55 0 +22 56 0 +22 57 0 +22 58 0 +22 59 0 +22 60 0 +22 61 0 +22 62 0 +22 63 0 +22 64 0 +22 65 0 +22 66 0 +22 67 0 +22 68 0 +22 69 0 +22 70 0 +22 71 0 +22 72 0 +22 73 0 +22 74 0 +22 75 0 +22 76 0 +22 77 0 +22 78 0 +22 79 0 +22 80 0 +22 81 0 +22 82 0 +22 83 0 +22 84 0 +22 85 0 +22 86 0 +22 87 0 +22 88 0 +22 89 0 +22 90 0 +22 91 0 +22 92 0 +22 93 0 +22 94 0 +22 95 0 +22 96 0 +22 97 0 +22 98 0 +22 99 0 +22 100 0 +22 101 0 +22 102 0 +22 103 0 +22 104 0 +22 105 0 +22 106 0 +22 107 0 +22 108 0 +22 109 0 +22 110 0 +22 111 0 +22 112 0 +22 113 0 +22 114 0 +22 115 0 +22 116 0 +22 117 0 +22 118 0 +22 119 0 +22 120 0 +22 121 0 +22 122 0 +22 123 0 +22 124 0 +22 125 0 +22 126 0 +22 127 0 +22 128 0 +22 129 0 +22 130 0 +22 131 0 +22 132 0 +22 133 0 +22 134 0 +22 135 0 +22 136 0 +22 137 0 +22 138 0 +22 139 0 +22 140 0 +22 141 0 +22 142 0 +22 143 0 +22 144 0 +22 145 0 +22 146 0 +22 147 0 +22 148 0 +22 149 0 +22 150 0 +22 151 0 +22 152 0 +22 153 0 +22 154 0 +22 155 0 +22 156 0 +22 157 0 +22 158 0 +22 159 0 +22 160 0 +22 161 0 +22 162 0 +22 163 0 +22 164 0 +22 165 0 +22 166 0 +22 167 0 +22 168 0 +22 169 0 +22 170 0 +22 171 0 +22 172 0 +22 173 0 +22 174 0 +22 175 0 +22 176 0 +22 177 0 +22 178 0 +22 179 0 +22 180 0 +22 181 0 +22 182 0 +22 183 0 +22 184 0 +22 185 0 +22 186 0 +22 187 0 +22 188 0 +22 189 0 +22 190 0 +22 191 0 +22 192 0 +22 193 0 +22 194 0 +22 195 0 +22 196 0 +22 197 0 +22 198 0 +22 199 0 +22 200 0 +22 201 0 +22 202 0 +22 203 0 +22 204 0 +22 205 0 +22 206 0 +22 207 0 +22 208 0 +22 209 0 +22 210 0 +22 211 0 +22 212 0 +22 213 0 +22 214 0 +22 215 0 +22 216 0 +22 217 0 +22 218 0 +22 219 0 +22 220 0 +22 221 0 +22 222 0 +22 223 0 +22 224 0 +22 225 0 +22 226 0 +22 227 0 +22 228 0 +22 229 0 +22 230 0 +22 231 0 +22 232 0 +22 233 0 +22 234 0 +22 235 0 +22 236 0 +22 237 0 +22 238 0 +22 239 0 +22 240 0 +22 241 0 +22 242 0 +22 243 0 +22 244 0 +22 245 0 +22 246 0 +22 247 0 +22 248 0 +22 249 0 +22 250 0 +22 251 0 +22 252 0 +22 253 0 +22 254 0 +22 255 0 +22 256 0 +22 257 0 +22 258 0 +22 259 0 +22 260 0 +22 261 0 +22 262 0 +22 263 0 +22 264 0 +22 265 0 +22 266 0 +22 267 0 +22 268 0 +22 269 0 +22 270 0 +22 271 0 +22 272 0 +22 273 0 +22 274 0 +22 275 0 +22 276 0 +22 277 0 +22 278 0 +22 279 0 +22 280 0 +22 281 0 +22 282 0 +22 283 0 +22 284 0 +22 285 0 +22 286 0 +22 287 0 +22 288 0 +22 289 0 +22 290 0 +22 291 0 +22 292 0 +22 293 0 +22 294 0 +22 295 0 +22 296 0 +22 297 0 +22 298 0 +22 299 0 +22 300 0 +22 301 0 +22 302 0 +22 303 0 +22 304 0 +22 305 0 +22 306 0 +22 307 0 +22 308 0 +22 309 0 +22 310 0 +22 311 0 +22 312 0 +22 313 0 +22 314 0 +22 315 0 +22 316 0 +22 317 0 +22 318 0 +22 319 0 +22 320 0 +22 321 0 +22 322 0 +22 323 0 +22 324 0 +22 325 0 +22 326 0 +22 327 0 +22 328 0 +22 329 0 +22 330 0 +22 331 0 +22 332 0 +22 333 0 +22 334 0 +22 335 0 +22 336 0 +22 337 0 +22 338 0 +22 339 0 +22 340 0 +22 341 0 +22 342 0 +22 343 0 +22 344 0 +22 345 0 +22 346 0 +22 347 0 +22 348 0 +22 349 0 +22 350 0 +22 351 0 +22 352 0 +22 353 0 +22 354 0 +22 355 0 +22 356 0 +22 357 0 +22 358 0 +22 359 0 +22 360 0 +22 361 0 +22 362 0 +22 363 0 +22 364 0 +22 365 0 +22 366 0 +22 367 0 +22 368 0 +22 369 0 +22 370 0 +22 371 0 +22 372 0 +22 373 0 +22 374 0 +22 375 0 +22 376 0 +22 377 0 +22 378 0 +22 379 0 +22 380 0 +22 381 0 +22 382 0 +22 383 0 +23 24 0 +23 25 0 +23 26 0 +23 27 0 +23 28 0 +23 29 0 +23 30 0 +23 31 0 +23 32 0 +23 33 0 +23 34 0 +23 35 0 +23 36 0 +23 37 0 +23 38 0 +23 39 0 +23 40 0 +23 41 0 +23 42 0 +23 43 0 +23 44 0 +23 45 0 +23 46 0 +23 47 0 +23 48 0 +23 49 0 +23 50 0 +23 51 0 +23 52 0 +23 53 0 +23 54 0 +23 55 0 +23 56 0 +23 57 0 +23 58 0 +23 59 0 +23 60 0 +23 61 0 +23 62 0 +23 63 0 +23 64 0 +23 65 0 +23 66 0 +23 67 0 +23 68 0 +23 69 0 +23 70 0 +23 71 0 +23 72 0 +23 73 0 +23 74 0 +23 75 0 +23 76 0 +23 77 0 +23 78 0 +23 79 0 +23 80 0 +23 81 0 +23 82 0 +23 83 0 +23 84 0 +23 85 0 +23 86 0 +23 87 0 +23 88 0 +23 89 0 +23 90 0 +23 91 0 +23 92 0 +23 93 0 +23 94 0 +23 95 0 +23 96 0 +23 97 0 +23 98 0 +23 99 0 +23 100 0 +23 101 0 +23 102 0 +23 103 0 +23 104 0 +23 105 0 +23 106 0 +23 107 0 +23 108 0 +23 109 0 +23 110 0 +23 111 0 +23 112 0 +23 113 0 +23 114 0 +23 115 0 +23 116 0 +23 117 0 +23 118 0 +23 119 0 +23 120 0 +23 121 0 +23 122 0 +23 123 0 +23 124 0 +23 125 0 +23 126 0 +23 127 0 +23 128 0 +23 129 0 +23 130 0 +23 131 0 +23 132 0 +23 133 0 +23 134 0 +23 135 0 +23 136 0 +23 137 0 +23 138 0 +23 139 0 +23 140 0 +23 141 0 +23 142 0 +23 143 0 +23 144 0 +23 145 0 +23 146 0 +23 147 0 +23 148 0 +23 149 0 +23 150 0 +23 151 0 +23 152 0 +23 153 0 +23 154 0 +23 155 0 +23 156 0 +23 157 0 +23 158 0 +23 159 0 +23 160 0 +23 161 0 +23 162 0 +23 163 0 +23 164 0 +23 165 0 +23 166 0 +23 167 0 +23 168 0 +23 169 0 +23 170 0 +23 171 0 +23 172 0 +23 173 0 +23 174 0 +23 175 0 +23 176 0 +23 177 0 +23 178 0 +23 179 0 +23 180 0 +23 181 0 +23 182 0 +23 183 0 +23 184 0 +23 185 0 +23 186 0 +23 187 0 +23 188 0 +23 189 0 +23 190 0 +23 191 0 +23 192 0 +23 193 0 +23 194 0 +23 195 0 +23 196 0 +23 197 0 +23 198 0 +23 199 0 +23 200 0 +23 201 0 +23 202 0 +23 203 0 +23 204 0 +23 205 0 +23 206 0 +23 207 0 +23 208 0 +23 209 0 +23 210 0 +23 211 0 +23 212 0 +23 213 0 +23 214 0 +23 215 0 +23 216 0 +23 217 0 +23 218 0 +23 219 0 +23 220 0 +23 221 0 +23 222 0 +23 223 0 +23 224 0 +23 225 0 +23 226 0 +23 227 0 +23 228 0 +23 229 0 +23 230 0 +23 231 0 +23 232 0 +23 233 0 +23 234 0 +23 235 0 +23 236 0 +23 237 0 +23 238 0 +23 239 0 +23 240 0 +23 241 0 +23 242 0 +23 243 0 +23 244 0 +23 245 0 +23 246 0 +23 247 0 +23 248 0 +23 249 0 +23 250 0 +23 251 0 +23 252 0 +23 253 0 +23 254 0 +23 255 0 +23 256 0 +23 257 0 +23 258 0 +23 259 0 +23 260 0 +23 261 0 +23 262 0 +23 263 0 +23 264 0 +23 265 0 +23 266 0 +23 267 0 +23 268 0 +23 269 0 +23 270 0 +23 271 0 +23 272 0 +23 273 0 +23 274 0 +23 275 0 +23 276 0 +23 277 0 +23 278 0 +23 279 0 +23 280 0 +23 281 0 +23 282 0 +23 283 0 +23 284 0 +23 285 0 +23 286 0 +23 287 0 +23 288 0 +23 289 0 +23 290 0 +23 291 0 +23 292 0 +23 293 0 +23 294 0 +23 295 0 +23 296 0 +23 297 0 +23 298 0 +23 299 0 +23 300 0 +23 301 0 +23 302 0 +23 303 0 +23 304 0 +23 305 0 +23 306 0 +23 307 0 +23 308 0 +23 309 0 +23 310 0 +23 311 0 +23 312 0 +23 313 0 +23 314 0 +23 315 0 +23 316 0 +23 317 0 +23 318 0 +23 319 0 +23 320 0 +23 321 0 +23 322 0 +23 323 0 +23 324 0 +23 325 0 +23 326 0 +23 327 0 +23 328 0 +23 329 0 +23 330 0 +23 331 0 +23 332 0 +23 333 0 +23 334 0 +23 335 0 +23 336 0 +23 337 0 +23 338 0 +23 339 0 +23 340 0 +23 341 0 +23 342 0 +23 343 0 +23 344 0 +23 345 0 +23 346 0 +23 347 0 +23 348 0 +23 349 0 +23 350 0 +23 351 0 +23 352 0 +23 353 0 +23 354 0 +23 355 0 +23 356 0 +23 357 0 +23 358 0 +23 359 0 +23 360 0 +23 361 0 +23 362 0 +23 363 0 +23 364 0 +23 365 0 +23 366 0 +23 367 0 +23 368 0 +23 369 0 +23 370 0 +23 371 0 +23 372 0 +23 373 0 +23 374 0 +23 375 0 +23 376 0 +23 377 0 +23 378 0 +23 379 0 +23 380 0 +23 381 0 +23 382 0 +23 383 0 +24 25 0 +24 26 0 +24 27 0 +24 28 0 +24 29 0 +24 30 0 +24 31 0 +24 32 0 +24 33 0 +24 34 0 +24 35 0 +24 36 0 +24 37 0 +24 38 0 +24 39 0 +24 40 0 +24 41 0 +24 42 0 +24 43 0 +24 44 0 +24 45 0 +24 46 0 +24 47 0 +24 48 0 +24 49 0 +24 50 0 +24 51 0 +24 52 0 +24 53 0 +24 54 0 +24 55 0 +24 56 0 +24 57 0 +24 58 0 +24 59 0 +24 60 0 +24 61 0 +24 62 0 +24 63 0 +24 64 0 +24 65 0 +24 66 0 +24 67 0 +24 68 0 +24 69 0 +24 70 0 +24 71 0 +24 72 0 +24 73 0 +24 74 0 +24 75 0 +24 76 0 +24 77 0 +24 78 0 +24 79 0 +24 80 0 +24 81 0 +24 82 0 +24 83 0 +24 84 0 +24 85 0 +24 86 0 +24 87 0 +24 88 0 +24 89 0 +24 90 0 +24 91 0 +24 92 0 +24 93 0 +24 94 0 +24 95 0 +24 96 0 +24 97 0 +24 98 0 +24 99 0 +24 100 0 +24 101 0 +24 102 0 +24 103 0 +24 104 0 +24 105 0 +24 106 0 +24 107 0 +24 108 0 +24 109 0 +24 110 0 +24 111 0 +24 112 0 +24 113 0 +24 114 0 +24 115 0 +24 116 0 +24 117 0 +24 118 0 +24 119 0 +24 120 0 +24 121 0 +24 122 0 +24 123 0 +24 124 0 +24 125 0 +24 126 0 +24 127 0 +24 128 0 +24 129 0 +24 130 0 +24 131 0 +24 132 0 +24 133 0 +24 134 0 +24 135 0 +24 136 0 +24 137 0 +24 138 0 +24 139 0 +24 140 0 +24 141 0 +24 142 0 +24 143 0 +24 144 0 +24 145 0 +24 146 0 +24 147 0 +24 148 0 +24 149 0 +24 150 0 +24 151 0 +24 152 0 +24 153 0 +24 154 0 +24 155 0 +24 156 0 +24 157 0 +24 158 0 +24 159 0 +24 160 0 +24 161 0 +24 162 0 +24 163 0 +24 164 0 +24 165 0 +24 166 0 +24 167 0 +24 168 0 +24 169 0 +24 170 0 +24 171 0 +24 172 0 +24 173 0 +24 174 0 +24 175 0 +24 176 0 +24 177 0 +24 178 0 +24 179 0 +24 180 0 +24 181 0 +24 182 0 +24 183 0 +24 184 0 +24 185 0 +24 186 0 +24 187 0 +24 188 0 +24 189 0 +24 190 0 +24 191 0 +24 192 0 +24 193 0 +24 194 0 +24 195 0 +24 196 0 +24 197 0 +24 198 0 +24 199 0 +24 200 0 +24 201 0 +24 202 0 +24 203 0 +24 204 0 +24 205 0 +24 206 0 +24 207 0 +24 208 0 +24 209 0 +24 210 0 +24 211 0 +24 212 0 +24 213 0 +24 214 0 +24 215 0 +24 216 0 +24 217 0 +24 218 0 +24 219 0 +24 220 0 +24 221 0 +24 222 0 +24 223 0 +24 224 0 +24 225 0 +24 226 0 +24 227 0 +24 228 0 +24 229 0 +24 230 0 +24 231 0 +24 232 0 +24 233 0 +24 234 0 +24 235 0 +24 236 0 +24 237 0 +24 238 0 +24 239 0 +24 240 0 +24 241 0 +24 242 0 +24 243 0 +24 244 0 +24 245 0 +24 246 0 +24 247 0 +24 248 0 +24 249 0 +24 250 0 +24 251 0 +24 252 0 +24 253 0 +24 254 0 +24 255 0 +24 256 0 +24 257 0 +24 258 0 +24 259 0 +24 260 0 +24 261 0 +24 262 0 +24 263 0 +24 264 0 +24 265 0 +24 266 0 +24 267 0 +24 268 0 +24 269 0 +24 270 0 +24 271 0 +24 272 0 +24 273 0 +24 274 0 +24 275 0 +24 276 0 +24 277 0 +24 278 0 +24 279 0 +24 280 0 +24 281 0 +24 282 0 +24 283 0 +24 284 0 +24 285 0 +24 286 0 +24 287 0 +24 288 0 +24 289 0 +24 290 0 +24 291 0 +24 292 0 +24 293 0 +24 294 0 +24 295 0 +24 296 0 +24 297 0 +24 298 0 +24 299 0 +24 300 0 +24 301 0 +24 302 0 +24 303 0 +24 304 0 +24 305 0 +24 306 0 +24 307 0 +24 308 0 +24 309 0 +24 310 0 +24 311 0 +24 312 0 +24 313 0 +24 314 0 +24 315 0 +24 316 0 +24 317 0 +24 318 0 +24 319 0 +24 320 0 +24 321 0 +24 322 0 +24 323 0 +24 324 0 +24 325 0 +24 326 0 +24 327 0 +24 328 0 +24 329 0 +24 330 0 +24 331 0 +24 332 0 +24 333 0 +24 334 0 +24 335 0 +24 336 0 +24 337 0 +24 338 0 +24 339 0 +24 340 0 +24 341 0 +24 342 0 +24 343 0 +24 344 0 +24 345 0 +24 346 0 +24 347 0 +24 348 0 +24 349 0 +24 350 0 +24 351 0 +24 352 0 +24 353 0 +24 354 0 +24 355 0 +24 356 0 +24 357 0 +24 358 0 +24 359 0 +24 360 0 +24 361 0 +24 362 0 +24 363 0 +24 364 0 +24 365 0 +24 366 0 +24 367 0 +24 368 0 +24 369 0 +24 370 0 +24 371 0 +24 372 0 +24 373 0 +24 374 0 +24 375 0 +24 376 0 +24 377 0 +24 378 0 +24 379 0 +24 380 0 +24 381 0 +24 382 0 +24 383 0 +25 26 0 +25 27 0 +25 28 0 +25 29 0 +25 30 0 +25 31 0 +25 32 0 +25 33 0 +25 34 0 +25 35 0 +25 36 0 +25 37 0 +25 38 0 +25 39 0 +25 40 0 +25 41 0 +25 42 0 +25 43 0 +25 44 0 +25 45 0 +25 46 0 +25 47 0 +25 48 0 +25 49 0 +25 50 0 +25 51 0 +25 52 0 +25 53 0 +25 54 0 +25 55 0 +25 56 0 +25 57 0 +25 58 0 +25 59 0 +25 60 0 +25 61 0 +25 62 0 +25 63 0 +25 64 0 +25 65 0 +25 66 0 +25 67 0 +25 68 0 +25 69 0 +25 70 0 +25 71 0 +25 72 0 +25 73 0 +25 74 0 +25 75 0 +25 76 0 +25 77 0 +25 78 0 +25 79 0 +25 80 0 +25 81 0 +25 82 0 +25 83 0 +25 84 0 +25 85 0 +25 86 0 +25 87 0 +25 88 0 +25 89 0 +25 90 0 +25 91 0 +25 92 0 +25 93 0 +25 94 0 +25 95 0 +25 96 0 +25 97 0 +25 98 0 +25 99 0 +25 100 0 +25 101 0 +25 102 0 +25 103 0 +25 104 0 +25 105 0 +25 106 0 +25 107 0 +25 108 0 +25 109 0 +25 110 0 +25 111 0 +25 112 0 +25 113 0 +25 114 0 +25 115 0 +25 116 0 +25 117 0 +25 118 0 +25 119 0 +25 120 0 +25 121 0 +25 122 0 +25 123 0 +25 124 0 +25 125 0 +25 126 0 +25 127 0 +25 128 0 +25 129 0 +25 130 0 +25 131 0 +25 132 0 +25 133 0 +25 134 0 +25 135 0 +25 136 0 +25 137 0 +25 138 0 +25 139 0 +25 140 0 +25 141 0 +25 142 0 +25 143 0 +25 144 0 +25 145 0 +25 146 0 +25 147 0 +25 148 0 +25 149 0 +25 150 0 +25 151 0 +25 152 0 +25 153 0 +25 154 0 +25 155 0 +25 156 0 +25 157 0 +25 158 0 +25 159 0 +25 160 0 +25 161 0 +25 162 0 +25 163 0 +25 164 0 +25 165 0 +25 166 0 +25 167 0 +25 168 0 +25 169 0 +25 170 0 +25 171 0 +25 172 0 +25 173 0 +25 174 0 +25 175 0 +25 176 0 +25 177 0 +25 178 0 +25 179 0 +25 180 0 +25 181 0 +25 182 0 +25 183 0 +25 184 0 +25 185 0 +25 186 0 +25 187 0 +25 188 0 +25 189 0 +25 190 0 +25 191 0 +25 192 0 +25 193 0 +25 194 0 +25 195 0 +25 196 0 +25 197 0 +25 198 0 +25 199 0 +25 200 0 +25 201 0 +25 202 0 +25 203 0 +25 204 0 +25 205 0 +25 206 0 +25 207 0 +25 208 0 +25 209 0 +25 210 0 +25 211 0 +25 212 0 +25 213 0 +25 214 0 +25 215 0 +25 216 0 +25 217 0 +25 218 0 +25 219 0 +25 220 0 +25 221 0 +25 222 0 +25 223 0 +25 224 0 +25 225 0 +25 226 0 +25 227 0 +25 228 0 +25 229 0 +25 230 0 +25 231 0 +25 232 0 +25 233 0 +25 234 0 +25 235 0 +25 236 0 +25 237 0 +25 238 0 +25 239 0 +25 240 0 +25 241 0 +25 242 0 +25 243 0 +25 244 0 +25 245 0 +25 246 0 +25 247 0 +25 248 0 +25 249 0 +25 250 0 +25 251 0 +25 252 0 +25 253 0 +25 254 0 +25 255 0 +25 256 0 +25 257 0 +25 258 0 +25 259 0 +25 260 0 +25 261 0 +25 262 0 +25 263 0 +25 264 0 +25 265 0 +25 266 0 +25 267 0 +25 268 0 +25 269 0 +25 270 0 +25 271 0 +25 272 0 +25 273 0 +25 274 0 +25 275 0 +25 276 0 +25 277 0 +25 278 0 +25 279 0 +25 280 0 +25 281 0 +25 282 0 +25 283 0 +25 284 0 +25 285 0 +25 286 0 +25 287 0 +25 288 0 +25 289 0 +25 290 0 +25 291 0 +25 292 0 +25 293 0 +25 294 0 +25 295 0 +25 296 0 +25 297 0 +25 298 0 +25 299 0 +25 300 0 +25 301 0 +25 302 0 +25 303 0 +25 304 0 +25 305 0 +25 306 0 +25 307 0 +25 308 0 +25 309 0 +25 310 0 +25 311 0 +25 312 0 +25 313 0 +25 314 0 +25 315 0 +25 316 0 +25 317 0 +25 318 0 +25 319 0 +25 320 0 +25 321 0 +25 322 0 +25 323 0 +25 324 0 +25 325 0 +25 326 0 +25 327 0 +25 328 0 +25 329 0 +25 330 0 +25 331 0 +25 332 0 +25 333 0 +25 334 0 +25 335 0 +25 336 0 +25 337 0 +25 338 0 +25 339 0 +25 340 0 +25 341 0 +25 342 0 +25 343 0 +25 344 0 +25 345 0 +25 346 0 +25 347 0 +25 348 0 +25 349 0 +25 350 0 +25 351 0 +25 352 0 +25 353 0 +25 354 0 +25 355 0 +25 356 0 +25 357 0 +25 358 0 +25 359 0 +25 360 0 +25 361 0 +25 362 0 +25 363 0 +25 364 0 +25 365 0 +25 366 0 +25 367 0 +25 368 0 +25 369 0 +25 370 0 +25 371 0 +25 372 0 +25 373 0 +25 374 0 +25 375 0 +25 376 0 +25 377 0 +25 378 0 +25 379 0 +25 380 0 +25 381 0 +25 382 0 +25 383 0 +26 27 0 +26 28 0 +26 29 0 +26 30 0 +26 31 0 +26 32 0 +26 33 0 +26 34 0 +26 35 0 +26 36 0 +26 37 0 +26 38 0 +26 39 0 +26 40 0 +26 41 0 +26 42 0 +26 43 0 +26 44 0 +26 45 0 +26 46 0 +26 47 0 +26 48 0 +26 49 0 +26 50 0 +26 51 0 +26 52 0 +26 53 0 +26 54 0 +26 55 0 +26 56 0 +26 57 0 +26 58 0 +26 59 0 +26 60 0 +26 61 0 +26 62 0 +26 63 0 +26 64 0 +26 65 0 +26 66 0 +26 67 0 +26 68 0 +26 69 0 +26 70 0 +26 71 0 +26 72 0 +26 73 0 +26 74 0 +26 75 0 +26 76 0 +26 77 0 +26 78 0 +26 79 0 +26 80 0 +26 81 0 +26 82 0 +26 83 0 +26 84 0 +26 85 0 +26 86 0 +26 87 0 +26 88 0 +26 89 0 +26 90 0 +26 91 0 +26 92 0 +26 93 0 +26 94 0 +26 95 0 +26 96 0 +26 97 0 +26 98 0 +26 99 0 +26 100 0 +26 101 0 +26 102 0 +26 103 0 +26 104 0 +26 105 0 +26 106 0 +26 107 0 +26 108 0 +26 109 0 +26 110 0 +26 111 0 +26 112 0 +26 113 0 +26 114 0 +26 115 0 +26 116 0 +26 117 0 +26 118 0 +26 119 0 +26 120 0 +26 121 0 +26 122 0 +26 123 0 +26 124 0 +26 125 0 +26 126 0 +26 127 0 +26 128 0 +26 129 0 +26 130 0 +26 131 0 +26 132 0 +26 133 0 +26 134 0 +26 135 0 +26 136 0 +26 137 0 +26 138 0 +26 139 0 +26 140 0 +26 141 0 +26 142 0 +26 143 0 +26 144 0 +26 145 0 +26 146 0 +26 147 0 +26 148 0 +26 149 0 +26 150 0 +26 151 0 +26 152 0 +26 153 0 +26 154 0 +26 155 0 +26 156 0 +26 157 0 +26 158 0 +26 159 0 +26 160 0 +26 161 0 +26 162 0 +26 163 0 +26 164 0 +26 165 0 +26 166 0 +26 167 0 +26 168 0 +26 169 0 +26 170 0 +26 171 0 +26 172 0 +26 173 0 +26 174 0 +26 175 0 +26 176 0 +26 177 0 +26 178 0 +26 179 0 +26 180 0 +26 181 0 +26 182 0 +26 183 0 +26 184 0 +26 185 0 +26 186 0 +26 187 0 +26 188 0 +26 189 0 +26 190 0 +26 191 0 +26 192 0 +26 193 0 +26 194 0 +26 195 0 +26 196 0 +26 197 0 +26 198 0 +26 199 0 +26 200 0 +26 201 0 +26 202 0 +26 203 0 +26 204 0 +26 205 0 +26 206 0 +26 207 0 +26 208 0 +26 209 0 +26 210 0 +26 211 0 +26 212 0 +26 213 0 +26 214 0 +26 215 0 +26 216 0 +26 217 0 +26 218 0 +26 219 0 +26 220 0 +26 221 0 +26 222 0 +26 223 0 +26 224 0 +26 225 0 +26 226 0 +26 227 0 +26 228 0 +26 229 0 +26 230 0 +26 231 0 +26 232 0 +26 233 0 +26 234 0 +26 235 0 +26 236 0 +26 237 0 +26 238 0 +26 239 0 +26 240 0 +26 241 0 +26 242 0 +26 243 0 +26 244 0 +26 245 0 +26 246 0 +26 247 0 +26 248 0 +26 249 0 +26 250 0 +26 251 0 +26 252 0 +26 253 0 +26 254 0 +26 255 0 +26 256 0 +26 257 0 +26 258 0 +26 259 0 +26 260 0 +26 261 0 +26 262 0 +26 263 0 +26 264 0 +26 265 0 +26 266 0 +26 267 0 +26 268 0 +26 269 0 +26 270 0 +26 271 0 +26 272 0 +26 273 0 +26 274 0 +26 275 0 +26 276 0 +26 277 0 +26 278 0 +26 279 0 +26 280 0 +26 281 0 +26 282 0 +26 283 0 +26 284 0 +26 285 0 +26 286 0 +26 287 0 +26 288 0 +26 289 0 +26 290 0 +26 291 0 +26 292 0 +26 293 0 +26 294 0 +26 295 0 +26 296 0 +26 297 0 +26 298 0 +26 299 0 +26 300 0 +26 301 0 +26 302 0 +26 303 0 +26 304 0 +26 305 0 +26 306 0 +26 307 0 +26 308 0 +26 309 0 +26 310 0 +26 311 0 +26 312 0 +26 313 0 +26 314 0 +26 315 0 +26 316 0 +26 317 0 +26 318 0 +26 319 0 +26 320 0 +26 321 0 +26 322 0 +26 323 0 +26 324 0 +26 325 0 +26 326 0 +26 327 0 +26 328 0 +26 329 0 +26 330 0 +26 331 0 +26 332 0 +26 333 0 +26 334 0 +26 335 0 +26 336 0 +26 337 0 +26 338 0 +26 339 0 +26 340 0 +26 341 0 +26 342 0 +26 343 0 +26 344 0 +26 345 0 +26 346 0 +26 347 0 +26 348 0 +26 349 0 +26 350 0 +26 351 0 +26 352 0 +26 353 0 +26 354 0 +26 355 0 +26 356 0 +26 357 0 +26 358 0 +26 359 0 +26 360 0 +26 361 0 +26 362 0 +26 363 0 +26 364 0 +26 365 0 +26 366 0 +26 367 0 +26 368 0 +26 369 0 +26 370 0 +26 371 0 +26 372 0 +26 373 0 +26 374 0 +26 375 0 +26 376 0 +26 377 0 +26 378 0 +26 379 0 +26 380 0 +26 381 0 +26 382 0 +26 383 0 +27 28 0 +27 29 0 +27 30 0 +27 31 0 +27 32 0 +27 33 0 +27 34 0 +27 35 0 +27 36 0 +27 37 0 +27 38 0 +27 39 0 +27 40 0 +27 41 0 +27 42 0 +27 43 0 +27 44 0 +27 45 0 +27 46 0 +27 47 0 +27 48 0 +27 49 0 +27 50 0 +27 51 0 +27 52 0 +27 53 0 +27 54 0 +27 55 0 +27 56 0 +27 57 0 +27 58 0 +27 59 0 +27 60 0 +27 61 0 +27 62 0 +27 63 0 +27 64 0 +27 65 0 +27 66 0 +27 67 0 +27 68 0 +27 69 0 +27 70 0 +27 71 0 +27 72 0 +27 73 0 +27 74 0 +27 75 0 +27 76 0 +27 77 0 +27 78 0 +27 79 0 +27 80 0 +27 81 0 +27 82 0 +27 83 0 +27 84 0 +27 85 0 +27 86 0 +27 87 0 +27 88 0 +27 89 0 +27 90 0 +27 91 0 +27 92 0 +27 93 0 +27 94 0 +27 95 0 +27 96 0 +27 97 0 +27 98 0 +27 99 0 +27 100 0 +27 101 0 +27 102 0 +27 103 0 +27 104 0 +27 105 0 +27 106 0 +27 107 0 +27 108 0 +27 109 0 +27 110 0 +27 111 0 +27 112 0 +27 113 0 +27 114 0 +27 115 0 +27 116 0 +27 117 0 +27 118 0 +27 119 0 +27 120 0 +27 121 0 +27 122 0 +27 123 0 +27 124 0 +27 125 0 +27 126 0 +27 127 0 +27 128 0 +27 129 0 +27 130 0 +27 131 0 +27 132 0 +27 133 0 +27 134 0 +27 135 0 +27 136 0 +27 137 0 +27 138 0 +27 139 0 +27 140 0 +27 141 0 +27 142 0 +27 143 0 +27 144 0 +27 145 0 +27 146 0 +27 147 0 +27 148 0 +27 149 0 +27 150 0 +27 151 0 +27 152 0 +27 153 0 +27 154 0 +27 155 0 +27 156 0 +27 157 0 +27 158 0 +27 159 0 +27 160 0 +27 161 0 +27 162 0 +27 163 0 +27 164 0 +27 165 0 +27 166 0 +27 167 0 +27 168 0 +27 169 0 +27 170 0 +27 171 0 +27 172 0 +27 173 0 +27 174 0 +27 175 0 +27 176 0 +27 177 0 +27 178 0 +27 179 0 +27 180 0 +27 181 0 +27 182 0 +27 183 0 +27 184 0 +27 185 0 +27 186 0 +27 187 0 +27 188 0 +27 189 0 +27 190 0 +27 191 0 +27 192 0 +27 193 0 +27 194 0 +27 195 0 +27 196 0 +27 197 0 +27 198 0 +27 199 0 +27 200 0 +27 201 0 +27 202 0 +27 203 0 +27 204 0 +27 205 0 +27 206 0 +27 207 0 +27 208 0 +27 209 0 +27 210 0 +27 211 0 +27 212 0 +27 213 0 +27 214 0 +27 215 0 +27 216 0 +27 217 0 +27 218 0 +27 219 0 +27 220 0 +27 221 0 +27 222 0 +27 223 0 +27 224 0 +27 225 0 +27 226 0 +27 227 0 +27 228 0 +27 229 0 +27 230 0 +27 231 0 +27 232 0 +27 233 0 +27 234 0 +27 235 0 +27 236 0 +27 237 0 +27 238 0 +27 239 0 +27 240 0 +27 241 0 +27 242 0 +27 243 0 +27 244 0 +27 245 0 +27 246 0 +27 247 0 +27 248 0 +27 249 0 +27 250 0 +27 251 0 +27 252 0 +27 253 0 +27 254 0 +27 255 0 +27 256 0 +27 257 0 +27 258 0 +27 259 0 +27 260 0 +27 261 0 +27 262 0 +27 263 0 +27 264 0 +27 265 0 +27 266 0 +27 267 0 +27 268 0 +27 269 0 +27 270 0 +27 271 0 +27 272 0 +27 273 0 +27 274 0 +27 275 0 +27 276 0 +27 277 0 +27 278 0 +27 279 0 +27 280 0 +27 281 0 +27 282 0 +27 283 0 +27 284 0 +27 285 0 +27 286 0 +27 287 0 +27 288 0 +27 289 0 +27 290 0 +27 291 0 +27 292 0 +27 293 0 +27 294 0 +27 295 0 +27 296 0 +27 297 0 +27 298 0 +27 299 0 +27 300 0 +27 301 0 +27 302 0 +27 303 0 +27 304 0 +27 305 0 +27 306 0 +27 307 0 +27 308 0 +27 309 0 +27 310 0 +27 311 0 +27 312 0 +27 313 0 +27 314 0 +27 315 0 +27 316 0 +27 317 0 +27 318 0 +27 319 0 +27 320 0 +27 321 0 +27 322 0 +27 323 0 +27 324 0 +27 325 0 +27 326 0 +27 327 0 +27 328 0 +27 329 0 +27 330 0 +27 331 0 +27 332 0 +27 333 0 +27 334 0 +27 335 0 +27 336 0 +27 337 0 +27 338 0 +27 339 0 +27 340 0 +27 341 0 +27 342 0 +27 343 0 +27 344 0 +27 345 0 +27 346 0 +27 347 0 +27 348 0 +27 349 0 +27 350 0 +27 351 0 +27 352 0 +27 353 0 +27 354 0 +27 355 0 +27 356 0 +27 357 0 +27 358 0 +27 359 0 +27 360 0 +27 361 0 +27 362 0 +27 363 0 +27 364 0 +27 365 0 +27 366 0 +27 367 0 +27 368 0 +27 369 0 +27 370 0 +27 371 0 +27 372 0 +27 373 0 +27 374 0 +27 375 0 +27 376 0 +27 377 0 +27 378 0 +27 379 0 +27 380 0 +27 381 0 +27 382 0 +27 383 0 +28 29 0 +28 30 0 +28 31 0 +28 32 0 +28 33 0 +28 34 0 +28 35 0 +28 36 0 +28 37 0 +28 38 0 +28 39 0 +28 40 0 +28 41 0 +28 42 0 +28 43 0 +28 44 0 +28 45 0 +28 46 0 +28 47 0 +28 48 0 +28 49 0 +28 50 0 +28 51 0 +28 52 0 +28 53 0 +28 54 0 +28 55 0 +28 56 0 +28 57 0 +28 58 0 +28 59 0 +28 60 0 +28 61 0 +28 62 0 +28 63 0 +28 64 0 +28 65 0 +28 66 0 +28 67 0 +28 68 0 +28 69 0 +28 70 0 +28 71 0 +28 72 0 +28 73 0 +28 74 0 +28 75 0 +28 76 0 +28 77 0 +28 78 0 +28 79 0 +28 80 0 +28 81 0 +28 82 0 +28 83 0 +28 84 0 +28 85 0 +28 86 0 +28 87 0 +28 88 0 +28 89 0 +28 90 0 +28 91 0 +28 92 0 +28 93 0 +28 94 0 +28 95 0 +28 96 0 +28 97 0 +28 98 0 +28 99 0 +28 100 0 +28 101 0 +28 102 0 +28 103 0 +28 104 0 +28 105 0 +28 106 0 +28 107 0 +28 108 0 +28 109 0 +28 110 0 +28 111 0 +28 112 0 +28 113 0 +28 114 0 +28 115 0 +28 116 0 +28 117 0 +28 118 0 +28 119 0 +28 120 0 +28 121 0 +28 122 0 +28 123 0 +28 124 0 +28 125 0 +28 126 0 +28 127 0 +28 128 0 +28 129 0 +28 130 0 +28 131 0 +28 132 0 +28 133 0 +28 134 0 +28 135 0 +28 136 0 +28 137 0 +28 138 0 +28 139 0 +28 140 0 +28 141 0 +28 142 0 +28 143 0 +28 144 0 +28 145 0 +28 146 0 +28 147 0 +28 148 0 +28 149 0 +28 150 0 +28 151 0 +28 152 0 +28 153 0 +28 154 0 +28 155 0 +28 156 0 +28 157 0 +28 158 0 +28 159 0 +28 160 0 +28 161 0 +28 162 0 +28 163 0 +28 164 0 +28 165 0 +28 166 0 +28 167 0 +28 168 0 +28 169 0 +28 170 0 +28 171 0 +28 172 0 +28 173 0 +28 174 0 +28 175 0 +28 176 0 +28 177 0 +28 178 0 +28 179 0 +28 180 0 +28 181 0 +28 182 0 +28 183 0 +28 184 0 +28 185 0 +28 186 0 +28 187 0 +28 188 0 +28 189 0 +28 190 0 +28 191 0 +28 192 0 +28 193 0 +28 194 0 +28 195 0 +28 196 0 +28 197 0 +28 198 0 +28 199 0 +28 200 0 +28 201 0 +28 202 0 +28 203 0 +28 204 0 +28 205 0 +28 206 0 +28 207 0 +28 208 0 +28 209 0 +28 210 0 +28 211 0 +28 212 0 +28 213 0 +28 214 0 +28 215 0 +28 216 0 +28 217 0 +28 218 0 +28 219 0 +28 220 0 +28 221 0 +28 222 0 +28 223 0 +28 224 0 +28 225 0 +28 226 0 +28 227 0 +28 228 0 +28 229 0 +28 230 0 +28 231 0 +28 232 0 +28 233 0 +28 234 0 +28 235 0 +28 236 0 +28 237 0 +28 238 0 +28 239 0 +28 240 0 +28 241 0 +28 242 0 +28 243 0 +28 244 0 +28 245 0 +28 246 0 +28 247 0 +28 248 0 +28 249 0 +28 250 0 +28 251 0 +28 252 0 +28 253 0 +28 254 0 +28 255 0 +28 256 0 +28 257 0 +28 258 0 +28 259 0 +28 260 0 +28 261 0 +28 262 0 +28 263 0 +28 264 0 +28 265 0 +28 266 0 +28 267 0 +28 268 0 +28 269 0 +28 270 0 +28 271 0 +28 272 0 +28 273 0 +28 274 0 +28 275 0 +28 276 0 +28 277 0 +28 278 0 +28 279 0 +28 280 0 +28 281 0 +28 282 0 +28 283 0 +28 284 0 +28 285 0 +28 286 0 +28 287 0 +28 288 0 +28 289 0 +28 290 0 +28 291 0 +28 292 0 +28 293 0 +28 294 0 +28 295 0 +28 296 0 +28 297 0 +28 298 0 +28 299 0 +28 300 0 +28 301 0 +28 302 0 +28 303 0 +28 304 0 +28 305 0 +28 306 0 +28 307 0 +28 308 0 +28 309 0 +28 310 0 +28 311 0 +28 312 0 +28 313 0 +28 314 0 +28 315 0 +28 316 0 +28 317 0 +28 318 0 +28 319 0 +28 320 0 +28 321 0 +28 322 0 +28 323 0 +28 324 0 +28 325 0 +28 326 0 +28 327 0 +28 328 0 +28 329 0 +28 330 0 +28 331 0 +28 332 0 +28 333 0 +28 334 0 +28 335 0 +28 336 0 +28 337 0 +28 338 0 +28 339 0 +28 340 0 +28 341 0 +28 342 0 +28 343 0 +28 344 0 +28 345 0 +28 346 0 +28 347 0 +28 348 0 +28 349 0 +28 350 0 +28 351 0 +28 352 0 +28 353 0 +28 354 0 +28 355 0 +28 356 0 +28 357 0 +28 358 0 +28 359 0 +28 360 0 +28 361 0 +28 362 0 +28 363 0 +28 364 0 +28 365 0 +28 366 0 +28 367 0 +28 368 0 +28 369 0 +28 370 0 +28 371 0 +28 372 0 +28 373 0 +28 374 0 +28 375 0 +28 376 0 +28 377 0 +28 378 0 +28 379 0 +28 380 0 +28 381 0 +28 382 0 +28 383 0 +29 30 0 +29 31 0 +29 32 0 +29 33 0 +29 34 0 +29 35 0 +29 36 0 +29 37 0 +29 38 0 +29 39 0 +29 40 0 +29 41 0 +29 42 0 +29 43 0 +29 44 0 +29 45 0 +29 46 0 +29 47 0 +29 48 0 +29 49 0 +29 50 0 +29 51 0 +29 52 0 +29 53 0 +29 54 0 +29 55 0 +29 56 0 +29 57 0 +29 58 0 +29 59 0 +29 60 0 +29 61 0 +29 62 0 +29 63 0 +29 64 0 +29 65 0 +29 66 0 +29 67 0 +29 68 0 +29 69 0 +29 70 0 +29 71 0 +29 72 0 +29 73 0 +29 74 0 +29 75 0 +29 76 0 +29 77 0 +29 78 0 +29 79 0 +29 80 0 +29 81 0 +29 82 0 +29 83 0 +29 84 0 +29 85 0 +29 86 0 +29 87 0 +29 88 0 +29 89 0 +29 90 0 +29 91 0 +29 92 0 +29 93 0 +29 94 0 +29 95 0 +29 96 0 +29 97 0 +29 98 0 +29 99 0 +29 100 0 +29 101 0 +29 102 0 +29 103 0 +29 104 0 +29 105 0 +29 106 0 +29 107 0 +29 108 0 +29 109 0 +29 110 0 +29 111 0 +29 112 0 +29 113 0 +29 114 0 +29 115 0 +29 116 0 +29 117 0 +29 118 0 +29 119 0 +29 120 0 +29 121 0 +29 122 0 +29 123 0 +29 124 0 +29 125 0 +29 126 0 +29 127 0 +29 128 0 +29 129 0 +29 130 0 +29 131 0 +29 132 0 +29 133 0 +29 134 0 +29 135 0 +29 136 0 +29 137 0 +29 138 0 +29 139 0 +29 140 0 +29 141 0 +29 142 0 +29 143 0 +29 144 0 +29 145 0 +29 146 0 +29 147 0 +29 148 0 +29 149 0 +29 150 0 +29 151 0 +29 152 0 +29 153 0 +29 154 0 +29 155 0 +29 156 0 +29 157 0 +29 158 0 +29 159 0 +29 160 0 +29 161 0 +29 162 0 +29 163 0 +29 164 0 +29 165 0 +29 166 0 +29 167 0 +29 168 0 +29 169 0 +29 170 0 +29 171 0 +29 172 0 +29 173 0 +29 174 0 +29 175 0 +29 176 0 +29 177 0 +29 178 0 +29 179 0 +29 180 0 +29 181 0 +29 182 0 +29 183 0 +29 184 0 +29 185 0 +29 186 0 +29 187 0 +29 188 0 +29 189 0 +29 190 0 +29 191 0 +29 192 0 +29 193 0 +29 194 0 +29 195 0 +29 196 0 +29 197 0 +29 198 0 +29 199 0 +29 200 0 +29 201 0 +29 202 0 +29 203 0 +29 204 0 +29 205 0 +29 206 0 +29 207 0 +29 208 0 +29 209 0 +29 210 0 +29 211 0 +29 212 0 +29 213 0 +29 214 0 +29 215 0 +29 216 0 +29 217 0 +29 218 0 +29 219 0 +29 220 0 +29 221 0 +29 222 0 +29 223 0 +29 224 0 +29 225 0 +29 226 0 +29 227 0 +29 228 0 +29 229 0 +29 230 0 +29 231 0 +29 232 0 +29 233 0 +29 234 0 +29 235 0 +29 236 0 +29 237 0 +29 238 0 +29 239 0 +29 240 0 +29 241 0 +29 242 0 +29 243 0 +29 244 0 +29 245 0 +29 246 0 +29 247 0 +29 248 0 +29 249 0 +29 250 0 +29 251 0 +29 252 0 +29 253 0 +29 254 0 +29 255 0 +29 256 0 +29 257 0 +29 258 0 +29 259 0 +29 260 0 +29 261 0 +29 262 0 +29 263 0 +29 264 0 +29 265 0 +29 266 0 +29 267 0 +29 268 0 +29 269 0 +29 270 0 +29 271 0 +29 272 0 +29 273 0 +29 274 0 +29 275 0 +29 276 0 +29 277 0 +29 278 0 +29 279 0 +29 280 0 +29 281 0 +29 282 0 +29 283 0 +29 284 0 +29 285 0 +29 286 0 +29 287 0 +29 288 0 +29 289 0 +29 290 0 +29 291 0 +29 292 0 +29 293 0 +29 294 0 +29 295 0 +29 296 0 +29 297 0 +29 298 0 +29 299 0 +29 300 0 +29 301 0 +29 302 0 +29 303 0 +29 304 0 +29 305 0 +29 306 0 +29 307 0 +29 308 0 +29 309 0 +29 310 0 +29 311 0 +29 312 0 +29 313 0 +29 314 0 +29 315 0 +29 316 0 +29 317 0 +29 318 0 +29 319 0 +29 320 0 +29 321 0 +29 322 0 +29 323 0 +29 324 0 +29 325 0 +29 326 0 +29 327 0 +29 328 0 +29 329 0 +29 330 0 +29 331 0 +29 332 0 +29 333 0 +29 334 0 +29 335 0 +29 336 0 +29 337 0 +29 338 0 +29 339 0 +29 340 0 +29 341 0 +29 342 0 +29 343 0 +29 344 0 +29 345 0 +29 346 0 +29 347 0 +29 348 0 +29 349 0 +29 350 0 +29 351 0 +29 352 0 +29 353 0 +29 354 0 +29 355 0 +29 356 0 +29 357 0 +29 358 0 +29 359 0 +29 360 0 +29 361 0 +29 362 0 +29 363 0 +29 364 0 +29 365 0 +29 366 0 +29 367 0 +29 368 0 +29 369 0 +29 370 0 +29 371 0 +29 372 0 +29 373 0 +29 374 0 +29 375 0 +29 376 0 +29 377 0 +29 378 0 +29 379 0 +29 380 0 +29 381 0 +29 382 0 +29 383 0 +30 31 0 +30 32 0 +30 33 0 +30 34 0 +30 35 0 +30 36 0 +30 37 0 +30 38 0 +30 39 0 +30 40 0 +30 41 0 +30 42 0 +30 43 0 +30 44 0 +30 45 0 +30 46 0 +30 47 0 +30 48 0 +30 49 0 +30 50 0 +30 51 0 +30 52 0 +30 53 0 +30 54 0 +30 55 0 +30 56 0 +30 57 0 +30 58 0 +30 59 0 +30 60 0 +30 61 0 +30 62 0 +30 63 0 +30 64 0 +30 65 0 +30 66 0 +30 67 0 +30 68 0 +30 69 0 +30 70 0 +30 71 0 +30 72 0 +30 73 0 +30 74 0 +30 75 0 +30 76 0 +30 77 0 +30 78 0 +30 79 0 +30 80 0 +30 81 0 +30 82 0 +30 83 0 +30 84 0 +30 85 0 +30 86 0 +30 87 0 +30 88 0 +30 89 0 +30 90 0 +30 91 0 +30 92 0 +30 93 0 +30 94 0 +30 95 0 +30 96 0 +30 97 0 +30 98 0 +30 99 0 +30 100 0 +30 101 0 +30 102 0 +30 103 0 +30 104 0 +30 105 0 +30 106 0 +30 107 0 +30 108 0 +30 109 0 +30 110 0 +30 111 0 +30 112 0 +30 113 0 +30 114 0 +30 115 0 +30 116 0 +30 117 0 +30 118 0 +30 119 0 +30 120 0 +30 121 0 +30 122 0 +30 123 0 +30 124 0 +30 125 0 +30 126 0 +30 127 0 +30 128 0 +30 129 0 +30 130 0 +30 131 0 +30 132 0 +30 133 0 +30 134 0 +30 135 0 +30 136 0 +30 137 0 +30 138 0 +30 139 0 +30 140 0 +30 141 0 +30 142 0 +30 143 0 +30 144 0 +30 145 0 +30 146 0 +30 147 0 +30 148 0 +30 149 0 +30 150 0 +30 151 0 +30 152 0 +30 153 0 +30 154 0 +30 155 0 +30 156 0 +30 157 0 +30 158 0 +30 159 0 +30 160 0 +30 161 0 +30 162 0 +30 163 0 +30 164 0 +30 165 0 +30 166 0 +30 167 0 +30 168 0 +30 169 0 +30 170 0 +30 171 0 +30 172 0 +30 173 0 +30 174 0 +30 175 0 +30 176 0 +30 177 0 +30 178 0 +30 179 0 +30 180 0 +30 181 0 +30 182 0 +30 183 0 +30 184 0 +30 185 0 +30 186 0 +30 187 0 +30 188 0 +30 189 0 +30 190 0 +30 191 0 +30 192 0 +30 193 0 +30 194 0 +30 195 0 +30 196 0 +30 197 0 +30 198 0 +30 199 0 +30 200 0 +30 201 0 +30 202 0 +30 203 0 +30 204 0 +30 205 0 +30 206 0 +30 207 0 +30 208 0 +30 209 0 +30 210 0 +30 211 0 +30 212 0 +30 213 0 +30 214 0 +30 215 0 +30 216 0 +30 217 0 +30 218 0 +30 219 0 +30 220 0 +30 221 0 +30 222 0 +30 223 0 +30 224 0 +30 225 0 +30 226 0 +30 227 0 +30 228 0 +30 229 0 +30 230 0 +30 231 0 +30 232 0 +30 233 0 +30 234 0 +30 235 0 +30 236 0 +30 237 0 +30 238 0 +30 239 0 +30 240 0 +30 241 0 +30 242 0 +30 243 0 +30 244 0 +30 245 0 +30 246 0 +30 247 0 +30 248 0 +30 249 0 +30 250 0 +30 251 0 +30 252 0 +30 253 0 +30 254 0 +30 255 0 +30 256 0 +30 257 0 +30 258 0 +30 259 0 +30 260 0 +30 261 0 +30 262 0 +30 263 0 +30 264 0 +30 265 0 +30 266 0 +30 267 0 +30 268 0 +30 269 0 +30 270 0 +30 271 0 +30 272 0 +30 273 0 +30 274 0 +30 275 0 +30 276 0 +30 277 0 +30 278 0 +30 279 0 +30 280 0 +30 281 0 +30 282 0 +30 283 0 +30 284 0 +30 285 0 +30 286 0 +30 287 0 +30 288 0 +30 289 0 +30 290 0 +30 291 0 +30 292 0 +30 293 0 +30 294 0 +30 295 0 +30 296 0 +30 297 0 +30 298 0 +30 299 0 +30 300 0 +30 301 0 +30 302 0 +30 303 0 +30 304 0 +30 305 0 +30 306 0 +30 307 0 +30 308 0 +30 309 0 +30 310 0 +30 311 0 +30 312 0 +30 313 0 +30 314 0 +30 315 0 +30 316 0 +30 317 0 +30 318 0 +30 319 0 +30 320 0 +30 321 0 +30 322 0 +30 323 0 +30 324 0 +30 325 0 +30 326 0 +30 327 0 +30 328 0 +30 329 0 +30 330 0 +30 331 0 +30 332 0 +30 333 0 +30 334 0 +30 335 0 +30 336 0 +30 337 0 +30 338 0 +30 339 0 +30 340 0 +30 341 0 +30 342 0 +30 343 0 +30 344 0 +30 345 0 +30 346 0 +30 347 0 +30 348 0 +30 349 0 +30 350 0 +30 351 0 +30 352 0 +30 353 0 +30 354 0 +30 355 0 +30 356 0 +30 357 0 +30 358 0 +30 359 0 +30 360 0 +30 361 0 +30 362 0 +30 363 0 +30 364 0 +30 365 0 +30 366 0 +30 367 0 +30 368 0 +30 369 0 +30 370 0 +30 371 0 +30 372 0 +30 373 0 +30 374 0 +30 375 0 +30 376 0 +30 377 0 +30 378 0 +30 379 0 +30 380 0 +30 381 0 +30 382 0 +30 383 0 +31 32 0 +31 33 0 +31 34 0 +31 35 0 +31 36 0 +31 37 0 +31 38 0 +31 39 0 +31 40 0 +31 41 0 +31 42 0 +31 43 0 +31 44 0 +31 45 0 +31 46 0 +31 47 0 +31 48 0 +31 49 0 +31 50 0 +31 51 0 +31 52 0 +31 53 0 +31 54 0 +31 55 0 +31 56 0 +31 57 0 +31 58 0 +31 59 0 +31 60 0 +31 61 0 +31 62 0 +31 63 0 +31 64 0 +31 65 0 +31 66 0 +31 67 0 +31 68 0 +31 69 0 +31 70 0 +31 71 0 +31 72 0 +31 73 0 +31 74 0 +31 75 0 +31 76 0 +31 77 0 +31 78 0 +31 79 0 +31 80 0 +31 81 0 +31 82 0 +31 83 0 +31 84 0 +31 85 0 +31 86 0 +31 87 0 +31 88 0 +31 89 0 +31 90 0 +31 91 0 +31 92 0 +31 93 0 +31 94 0 +31 95 0 +31 96 0 +31 97 0 +31 98 0 +31 99 0 +31 100 0 +31 101 0 +31 102 0 +31 103 0 +31 104 0 +31 105 0 +31 106 0 +31 107 0 +31 108 0 +31 109 0 +31 110 0 +31 111 0 +31 112 0 +31 113 0 +31 114 0 +31 115 0 +31 116 0 +31 117 0 +31 118 0 +31 119 0 +31 120 0 +31 121 0 +31 122 0 +31 123 0 +31 124 0 +31 125 0 +31 126 0 +31 127 0 +31 128 0 +31 129 0 +31 130 0 +31 131 0 +31 132 0 +31 133 0 +31 134 0 +31 135 0 +31 136 0 +31 137 0 +31 138 0 +31 139 0 +31 140 0 +31 141 0 +31 142 0 +31 143 0 +31 144 0 +31 145 0 +31 146 0 +31 147 0 +31 148 0 +31 149 0 +31 150 0 +31 151 0 +31 152 0 +31 153 0 +31 154 0 +31 155 0 +31 156 0 +31 157 0 +31 158 0 +31 159 0 +31 160 0 +31 161 0 +31 162 0 +31 163 0 +31 164 0 +31 165 0 +31 166 0 +31 167 0 +31 168 0 +31 169 0 +31 170 0 +31 171 0 +31 172 0 +31 173 0 +31 174 0 +31 175 0 +31 176 0 +31 177 0 +31 178 0 +31 179 0 +31 180 0 +31 181 0 +31 182 0 +31 183 0 +31 184 0 +31 185 0 +31 186 0 +31 187 0 +31 188 0 +31 189 0 +31 190 0 +31 191 0 +31 192 0 +31 193 0 +31 194 0 +31 195 0 +31 196 0 +31 197 0 +31 198 0 +31 199 0 +31 200 0 +31 201 0 +31 202 0 +31 203 0 +31 204 0 +31 205 0 +31 206 0 +31 207 0 +31 208 0 +31 209 0 +31 210 0 +31 211 0 +31 212 0 +31 213 0 +31 214 0 +31 215 0 +31 216 0 +31 217 0 +31 218 0 +31 219 0 +31 220 0 +31 221 0 +31 222 0 +31 223 0 +31 224 0 +31 225 0 +31 226 0 +31 227 0 +31 228 0 +31 229 0 +31 230 0 +31 231 0 +31 232 0 +31 233 0 +31 234 0 +31 235 0 +31 236 0 +31 237 0 +31 238 0 +31 239 0 +31 240 0 +31 241 0 +31 242 0 +31 243 0 +31 244 0 +31 245 0 +31 246 0 +31 247 0 +31 248 0 +31 249 0 +31 250 0 +31 251 0 +31 252 0 +31 253 0 +31 254 0 +31 255 0 +31 256 0 +31 257 0 +31 258 0 +31 259 0 +31 260 0 +31 261 0 +31 262 0 +31 263 0 +31 264 0 +31 265 0 +31 266 0 +31 267 0 +31 268 0 +31 269 0 +31 270 0 +31 271 0 +31 272 0 +31 273 0 +31 274 0 +31 275 0 +31 276 0 +31 277 0 +31 278 0 +31 279 0 +31 280 0 +31 281 0 +31 282 0 +31 283 0 +31 284 0 +31 285 0 +31 286 0 +31 287 0 +31 288 0 +31 289 0 +31 290 0 +31 291 0 +31 292 0 +31 293 0 +31 294 0 +31 295 0 +31 296 0 +31 297 0 +31 298 0 +31 299 0 +31 300 0 +31 301 0 +31 302 0 +31 303 0 +31 304 0 +31 305 0 +31 306 0 +31 307 0 +31 308 0 +31 309 0 +31 310 0 +31 311 0 +31 312 0 +31 313 0 +31 314 0 +31 315 0 +31 316 0 +31 317 0 +31 318 0 +31 319 0 +31 320 0 +31 321 0 +31 322 0 +31 323 0 +31 324 0 +31 325 0 +31 326 0 +31 327 0 +31 328 0 +31 329 0 +31 330 0 +31 331 0 +31 332 0 +31 333 0 +31 334 0 +31 335 0 +31 336 0 +31 337 0 +31 338 0 +31 339 0 +31 340 0 +31 341 0 +31 342 0 +31 343 0 +31 344 0 +31 345 0 +31 346 0 +31 347 0 +31 348 0 +31 349 0 +31 350 0 +31 351 0 +31 352 0 +31 353 0 +31 354 0 +31 355 0 +31 356 0 +31 357 0 +31 358 0 +31 359 0 +31 360 0 +31 361 0 +31 362 0 +31 363 0 +31 364 0 +31 365 0 +31 366 0 +31 367 0 +31 368 0 +31 369 0 +31 370 0 +31 371 0 +31 372 0 +31 373 0 +31 374 0 +31 375 0 +31 376 0 +31 377 0 +31 378 0 +31 379 0 +31 380 0 +31 381 0 +31 382 0 +31 383 0 +32 33 0 +32 34 0 +32 35 0 +32 36 0 +32 37 0 +32 38 0 +32 39 0 +32 40 0 +32 41 0 +32 42 0 +32 43 0 +32 44 0 +32 45 0 +32 46 0 +32 47 0 +32 48 0 +32 49 0 +32 50 0 +32 51 0 +32 52 0 +32 53 0 +32 54 0 +32 55 0 +32 56 0 +32 57 0 +32 58 0 +32 59 0 +32 60 0 +32 61 0 +32 62 0 +32 63 0 +32 64 0 +32 65 0 +32 66 0 +32 67 0 +32 68 0 +32 69 0 +32 70 0 +32 71 0 +32 72 0 +32 73 0 +32 74 0 +32 75 0 +32 76 0 +32 77 0 +32 78 0 +32 79 0 +32 80 0 +32 81 0 +32 82 0 +32 83 0 +32 84 0 +32 85 0 +32 86 0 +32 87 0 +32 88 0 +32 89 0 +32 90 0 +32 91 0 +32 92 0 +32 93 0 +32 94 0 +32 95 0 +32 96 0 +32 97 0 +32 98 0 +32 99 0 +32 100 0 +32 101 0 +32 102 0 +32 103 0 +32 104 0 +32 105 0 +32 106 0 +32 107 0 +32 108 0 +32 109 0 +32 110 0 +32 111 0 +32 112 0 +32 113 0 +32 114 0 +32 115 0 +32 116 0 +32 117 0 +32 118 0 +32 119 0 +32 120 0 +32 121 0 +32 122 0 +32 123 0 +32 124 0 +32 125 0 +32 126 0 +32 127 0 +32 128 0 +32 129 0 +32 130 0 +32 131 0 +32 132 0 +32 133 0 +32 134 0 +32 135 0 +32 136 0 +32 137 0 +32 138 0 +32 139 0 +32 140 0 +32 141 0 +32 142 0 +32 143 0 +32 144 0 +32 145 0 +32 146 0 +32 147 0 +32 148 0 +32 149 0 +32 150 0 +32 151 0 +32 152 0 +32 153 0 +32 154 0 +32 155 0 +32 156 0 +32 157 0 +32 158 0 +32 159 0 +32 160 0 +32 161 0 +32 162 0 +32 163 0 +32 164 0 +32 165 0 +32 166 0 +32 167 0 +32 168 0 +32 169 0 +32 170 0 +32 171 0 +32 172 0 +32 173 0 +32 174 0 +32 175 0 +32 176 0 +32 177 0 +32 178 0 +32 179 0 +32 180 0 +32 181 0 +32 182 0 +32 183 0 +32 184 0 +32 185 0 +32 186 0 +32 187 0 +32 188 0 +32 189 0 +32 190 0 +32 191 0 +32 192 0 +32 193 0 +32 194 0 +32 195 0 +32 196 0 +32 197 0 +32 198 0 +32 199 0 +32 200 0 +32 201 0 +32 202 0 +32 203 0 +32 204 0 +32 205 0 +32 206 0 +32 207 0 +32 208 0 +32 209 0 +32 210 0 +32 211 0 +32 212 0 +32 213 0 +32 214 0 +32 215 0 +32 216 0 +32 217 0 +32 218 0 +32 219 0 +32 220 0 +32 221 0 +32 222 0 +32 223 0 +32 224 0 +32 225 0 +32 226 0 +32 227 0 +32 228 0 +32 229 0 +32 230 0 +32 231 0 +32 232 0 +32 233 0 +32 234 0 +32 235 0 +32 236 0 +32 237 0 +32 238 0 +32 239 0 +32 240 0 +32 241 0 +32 242 0 +32 243 0 +32 244 0 +32 245 0 +32 246 0 +32 247 0 +32 248 0 +32 249 0 +32 250 0 +32 251 0 +32 252 0 +32 253 0 +32 254 0 +32 255 0 +32 256 0 +32 257 0 +32 258 0 +32 259 0 +32 260 0 +32 261 0 +32 262 0 +32 263 0 +32 264 0 +32 265 0 +32 266 0 +32 267 0 +32 268 0 +32 269 0 +32 270 0 +32 271 0 +32 272 0 +32 273 0 +32 274 0 +32 275 0 +32 276 0 +32 277 0 +32 278 0 +32 279 0 +32 280 0 +32 281 0 +32 282 0 +32 283 0 +32 284 0 +32 285 0 +32 286 0 +32 287 0 +32 288 0 +32 289 0 +32 290 0 +32 291 0 +32 292 0 +32 293 0 +32 294 0 +32 295 0 +32 296 0 +32 297 0 +32 298 0 +32 299 0 +32 300 0 +32 301 0 +32 302 0 +32 303 0 +32 304 0 +32 305 0 +32 306 0 +32 307 0 +32 308 0 +32 309 0 +32 310 0 +32 311 0 +32 312 0 +32 313 0 +32 314 0 +32 315 0 +32 316 0 +32 317 0 +32 318 0 +32 319 0 +32 320 0 +32 321 0 +32 322 0 +32 323 0 +32 324 0 +32 325 0 +32 326 0 +32 327 0 +32 328 0 +32 329 0 +32 330 0 +32 331 0 +32 332 0 +32 333 0 +32 334 0 +32 335 0 +32 336 0 +32 337 0 +32 338 0 +32 339 0 +32 340 0 +32 341 0 +32 342 0 +32 343 0 +32 344 0 +32 345 0 +32 346 0 +32 347 0 +32 348 0 +32 349 0 +32 350 0 +32 351 0 +32 352 0 +32 353 0 +32 354 0 +32 355 0 +32 356 0 +32 357 0 +32 358 0 +32 359 0 +32 360 0 +32 361 0 +32 362 0 +32 363 0 +32 364 0 +32 365 0 +32 366 0 +32 367 0 +32 368 0 +32 369 0 +32 370 0 +32 371 0 +32 372 0 +32 373 0 +32 374 0 +32 375 0 +32 376 0 +32 377 0 +32 378 0 +32 379 0 +32 380 0 +32 381 0 +32 382 0 +32 383 0 +33 34 0 +33 35 0 +33 36 0 +33 37 0 +33 38 0 +33 39 0 +33 40 0 +33 41 0 +33 42 0 +33 43 0 +33 44 0 +33 45 0 +33 46 0 +33 47 0 +33 48 0 +33 49 0 +33 50 0 +33 51 0 +33 52 0 +33 53 0 +33 54 0 +33 55 0 +33 56 0 +33 57 0 +33 58 0 +33 59 0 +33 60 0 +33 61 0 +33 62 0 +33 63 0 +33 64 0 +33 65 0 +33 66 0 +33 67 0 +33 68 0 +33 69 0 +33 70 0 +33 71 0 +33 72 0 +33 73 0 +33 74 0 +33 75 0 +33 76 0 +33 77 0 +33 78 0 +33 79 0 +33 80 0 +33 81 0 +33 82 0 +33 83 0 +33 84 0 +33 85 0 +33 86 0 +33 87 0 +33 88 0 +33 89 0 +33 90 0 +33 91 0 +33 92 0 +33 93 0 +33 94 0 +33 95 0 +33 96 0 +33 97 0 +33 98 0 +33 99 0 +33 100 0 +33 101 0 +33 102 0 +33 103 0 +33 104 0 +33 105 0 +33 106 0 +33 107 0 +33 108 0 +33 109 0 +33 110 0 +33 111 0 +33 112 0 +33 113 0 +33 114 0 +33 115 0 +33 116 0 +33 117 0 +33 118 0 +33 119 0 +33 120 0 +33 121 0 +33 122 0 +33 123 0 +33 124 0 +33 125 0 +33 126 0 +33 127 0 +33 128 0 +33 129 0 +33 130 0 +33 131 0 +33 132 0 +33 133 0 +33 134 0 +33 135 0 +33 136 0 +33 137 0 +33 138 0 +33 139 0 +33 140 0 +33 141 0 +33 142 0 +33 143 0 +33 144 0 +33 145 0 +33 146 0 +33 147 0 +33 148 0 +33 149 0 +33 150 0 +33 151 0 +33 152 0 +33 153 0 +33 154 0 +33 155 0 +33 156 0 +33 157 0 +33 158 0 +33 159 0 +33 160 0 +33 161 0 +33 162 0 +33 163 0 +33 164 0 +33 165 0 +33 166 0 +33 167 0 +33 168 0 +33 169 0 +33 170 0 +33 171 0 +33 172 0 +33 173 0 +33 174 0 +33 175 0 +33 176 0 +33 177 0 +33 178 0 +33 179 0 +33 180 0 +33 181 0 +33 182 0 +33 183 0 +33 184 0 +33 185 0 +33 186 0 +33 187 0 +33 188 0 +33 189 0 +33 190 0 +33 191 0 +33 192 0 +33 193 0 +33 194 0 +33 195 0 +33 196 0 +33 197 0 +33 198 0 +33 199 0 +33 200 0 +33 201 0 +33 202 0 +33 203 0 +33 204 0 +33 205 0 +33 206 0 +33 207 0 +33 208 0 +33 209 0 +33 210 0 +33 211 0 +33 212 0 +33 213 0 +33 214 0 +33 215 0 +33 216 0 +33 217 0 +33 218 0 +33 219 0 +33 220 0 +33 221 0 +33 222 0 +33 223 0 +33 224 0 +33 225 0 +33 226 0 +33 227 0 +33 228 0 +33 229 0 +33 230 0 +33 231 0 +33 232 0 +33 233 0 +33 234 0 +33 235 0 +33 236 0 +33 237 0 +33 238 0 +33 239 0 +33 240 0 +33 241 0 +33 242 0 +33 243 0 +33 244 0 +33 245 0 +33 246 0 +33 247 0 +33 248 0 +33 249 0 +33 250 0 +33 251 0 +33 252 0 +33 253 0 +33 254 0 +33 255 0 +33 256 0 +33 257 0 +33 258 0 +33 259 0 +33 260 0 +33 261 0 +33 262 0 +33 263 0 +33 264 0 +33 265 0 +33 266 0 +33 267 0 +33 268 0 +33 269 0 +33 270 0 +33 271 0 +33 272 0 +33 273 0 +33 274 0 +33 275 0 +33 276 0 +33 277 0 +33 278 0 +33 279 0 +33 280 0 +33 281 0 +33 282 0 +33 283 0 +33 284 0 +33 285 0 +33 286 0 +33 287 0 +33 288 0 +33 289 0 +33 290 0 +33 291 0 +33 292 0 +33 293 0 +33 294 0 +33 295 0 +33 296 0 +33 297 0 +33 298 0 +33 299 0 +33 300 0 +33 301 0 +33 302 0 +33 303 0 +33 304 0 +33 305 0 +33 306 0 +33 307 0 +33 308 0 +33 309 0 +33 310 0 +33 311 0 +33 312 0 +33 313 0 +33 314 0 +33 315 0 +33 316 0 +33 317 0 +33 318 0 +33 319 0 +33 320 0 +33 321 0 +33 322 0 +33 323 0 +33 324 0 +33 325 0 +33 326 0 +33 327 0 +33 328 0 +33 329 0 +33 330 0 +33 331 0 +33 332 0 +33 333 0 +33 334 0 +33 335 0 +33 336 0 +33 337 0 +33 338 0 +33 339 0 +33 340 0 +33 341 0 +33 342 0 +33 343 0 +33 344 0 +33 345 0 +33 346 0 +33 347 0 +33 348 0 +33 349 0 +33 350 0 +33 351 0 +33 352 0 +33 353 0 +33 354 0 +33 355 0 +33 356 0 +33 357 0 +33 358 0 +33 359 0 +33 360 0 +33 361 0 +33 362 0 +33 363 0 +33 364 0 +33 365 0 +33 366 0 +33 367 0 +33 368 0 +33 369 0 +33 370 0 +33 371 0 +33 372 0 +33 373 0 +33 374 0 +33 375 0 +33 376 0 +33 377 0 +33 378 0 +33 379 0 +33 380 0 +33 381 0 +33 382 0 +33 383 0 +34 35 0 +34 36 0 +34 37 0 +34 38 0 +34 39 0 +34 40 0 +34 41 0 +34 42 0 +34 43 0 +34 44 0 +34 45 0 +34 46 0 +34 47 0 +34 48 0 +34 49 0 +34 50 0 +34 51 0 +34 52 0 +34 53 0 +34 54 0 +34 55 0 +34 56 0 +34 57 0 +34 58 0 +34 59 0 +34 60 0 +34 61 0 +34 62 0 +34 63 0 +34 64 0 +34 65 0 +34 66 0 +34 67 0 +34 68 0 +34 69 0 +34 70 0 +34 71 0 +34 72 0 +34 73 0 +34 74 0 +34 75 0 +34 76 0 +34 77 0 +34 78 0 +34 79 0 +34 80 0 +34 81 0 +34 82 0 +34 83 0 +34 84 0 +34 85 0 +34 86 0 +34 87 0 +34 88 0 +34 89 0 +34 90 0 +34 91 0 +34 92 0 +34 93 0 +34 94 0 +34 95 0 +34 96 0 +34 97 0 +34 98 0 +34 99 0 +34 100 0 +34 101 0 +34 102 0 +34 103 0 +34 104 0 +34 105 0 +34 106 0 +34 107 0 +34 108 0 +34 109 0 +34 110 0 +34 111 0 +34 112 0 +34 113 0 +34 114 0 +34 115 0 +34 116 0 +34 117 0 +34 118 0 +34 119 0 +34 120 0 +34 121 0 +34 122 0 +34 123 0 +34 124 0 +34 125 0 +34 126 0 +34 127 0 +34 128 0 +34 129 0 +34 130 0 +34 131 0 +34 132 0 +34 133 0 +34 134 0 +34 135 0 +34 136 0 +34 137 0 +34 138 0 +34 139 0 +34 140 0 +34 141 0 +34 142 0 +34 143 0 +34 144 0 +34 145 0 +34 146 0 +34 147 0 +34 148 0 +34 149 0 +34 150 0 +34 151 0 +34 152 0 +34 153 0 +34 154 0 +34 155 0 +34 156 0 +34 157 0 +34 158 0 +34 159 0 +34 160 0 +34 161 0 +34 162 0 +34 163 0 +34 164 0 +34 165 0 +34 166 0 +34 167 0 +34 168 0 +34 169 0 +34 170 0 +34 171 0 +34 172 0 +34 173 0 +34 174 0 +34 175 0 +34 176 0 +34 177 0 +34 178 0 +34 179 0 +34 180 0 +34 181 0 +34 182 0 +34 183 0 +34 184 0 +34 185 0 +34 186 0 +34 187 0 +34 188 0 +34 189 0 +34 190 0 +34 191 0 +34 192 0 +34 193 0 +34 194 0 +34 195 0 +34 196 0 +34 197 0 +34 198 0 +34 199 0 +34 200 0 +34 201 0 +34 202 0 +34 203 0 +34 204 0 +34 205 0 +34 206 0 +34 207 0 +34 208 0 +34 209 0 +34 210 0 +34 211 0 +34 212 0 +34 213 0 +34 214 0 +34 215 0 +34 216 0 +34 217 0 +34 218 0 +34 219 0 +34 220 0 +34 221 0 +34 222 0 +34 223 0 +34 224 0 +34 225 0 +34 226 0 +34 227 0 +34 228 0 +34 229 0 +34 230 0 +34 231 0 +34 232 0 +34 233 0 +34 234 0 +34 235 0 +34 236 0 +34 237 0 +34 238 0 +34 239 0 +34 240 0 +34 241 0 +34 242 0 +34 243 0 +34 244 0 +34 245 0 +34 246 0 +34 247 0 +34 248 0 +34 249 0 +34 250 0 +34 251 0 +34 252 0 +34 253 0 +34 254 0 +34 255 0 +34 256 0 +34 257 0 +34 258 0 +34 259 0 +34 260 0 +34 261 0 +34 262 0 +34 263 0 +34 264 0 +34 265 0 +34 266 0 +34 267 0 +34 268 0 +34 269 0 +34 270 0 +34 271 0 +34 272 0 +34 273 0 +34 274 0 +34 275 0 +34 276 0 +34 277 0 +34 278 0 +34 279 0 +34 280 0 +34 281 0 +34 282 0 +34 283 0 +34 284 0 +34 285 0 +34 286 0 +34 287 0 +34 288 0 +34 289 0 +34 290 0 +34 291 0 +34 292 0 +34 293 0 +34 294 0 +34 295 0 +34 296 0 +34 297 0 +34 298 0 +34 299 0 +34 300 0 +34 301 0 +34 302 0 +34 303 0 +34 304 0 +34 305 0 +34 306 0 +34 307 0 +34 308 0 +34 309 0 +34 310 0 +34 311 0 +34 312 0 +34 313 0 +34 314 0 +34 315 0 +34 316 0 +34 317 0 +34 318 0 +34 319 0 +34 320 0 +34 321 0 +34 322 0 +34 323 0 +34 324 0 +34 325 0 +34 326 0 +34 327 0 +34 328 0 +34 329 0 +34 330 0 +34 331 0 +34 332 0 +34 333 0 +34 334 0 +34 335 0 +34 336 0 +34 337 0 +34 338 0 +34 339 0 +34 340 0 +34 341 0 +34 342 0 +34 343 0 +34 344 0 +34 345 0 +34 346 0 +34 347 0 +34 348 0 +34 349 0 +34 350 0 +34 351 0 +34 352 0 +34 353 0 +34 354 0 +34 355 0 +34 356 0 +34 357 0 +34 358 0 +34 359 0 +34 360 0 +34 361 0 +34 362 0 +34 363 0 +34 364 0 +34 365 0 +34 366 0 +34 367 0 +34 368 0 +34 369 0 +34 370 0 +34 371 0 +34 372 0 +34 373 0 +34 374 0 +34 375 0 +34 376 0 +34 377 0 +34 378 0 +34 379 0 +34 380 0 +34 381 0 +34 382 0 +34 383 0 +35 36 0 +35 37 0 +35 38 0 +35 39 0 +35 40 0 +35 41 0 +35 42 0 +35 43 0 +35 44 0 +35 45 0 +35 46 0 +35 47 0 +35 48 0 +35 49 0 +35 50 0 +35 51 0 +35 52 0 +35 53 0 +35 54 0 +35 55 0 +35 56 0 +35 57 0 +35 58 0 +35 59 0 +35 60 0 +35 61 0 +35 62 0 +35 63 0 +35 64 0 +35 65 0 +35 66 0 +35 67 0 +35 68 0 +35 69 0 +35 70 0 +35 71 0 +35 72 0 +35 73 0 +35 74 0 +35 75 0 +35 76 0 +35 77 0 +35 78 0 +35 79 0 +35 80 0 +35 81 0 +35 82 0 +35 83 0 +35 84 0 +35 85 0 +35 86 0 +35 87 0 +35 88 0 +35 89 0 +35 90 0 +35 91 0 +35 92 0 +35 93 0 +35 94 0 +35 95 0 +35 96 0 +35 97 0 +35 98 0 +35 99 0 +35 100 0 +35 101 0 +35 102 0 +35 103 0 +35 104 0 +35 105 0 +35 106 0 +35 107 0 +35 108 0 +35 109 0 +35 110 0 +35 111 0 +35 112 0 +35 113 0 +35 114 0 +35 115 0 +35 116 0 +35 117 0 +35 118 0 +35 119 0 +35 120 0 +35 121 0 +35 122 0 +35 123 0 +35 124 0 +35 125 0 +35 126 0 +35 127 0 +35 128 0 +35 129 0 +35 130 0 +35 131 0 +35 132 0 +35 133 0 +35 134 0 +35 135 0 +35 136 0 +35 137 0 +35 138 0 +35 139 0 +35 140 0 +35 141 0 +35 142 0 +35 143 0 +35 144 0 +35 145 0 +35 146 0 +35 147 0 +35 148 0 +35 149 0 +35 150 0 +35 151 0 +35 152 0 +35 153 0 +35 154 0 +35 155 0 +35 156 0 +35 157 0 +35 158 0 +35 159 0 +35 160 0 +35 161 0 +35 162 0 +35 163 0 +35 164 0 +35 165 0 +35 166 0 +35 167 0 +35 168 0 +35 169 0 +35 170 0 +35 171 0 +35 172 0 +35 173 0 +35 174 0 +35 175 0 +35 176 0 +35 177 0 +35 178 0 +35 179 0 +35 180 0 +35 181 0 +35 182 0 +35 183 0 +35 184 0 +35 185 0 +35 186 0 +35 187 0 +35 188 0 +35 189 0 +35 190 0 +35 191 0 +35 192 0 +35 193 0 +35 194 0 +35 195 0 +35 196 0 +35 197 0 +35 198 0 +35 199 0 +35 200 0 +35 201 0 +35 202 0 +35 203 0 +35 204 0 +35 205 0 +35 206 0 +35 207 0 +35 208 0 +35 209 0 +35 210 0 +35 211 0 +35 212 0 +35 213 0 +35 214 0 +35 215 0 +35 216 0 +35 217 0 +35 218 0 +35 219 0 +35 220 0 +35 221 0 +35 222 0 +35 223 0 +35 224 0 +35 225 0 +35 226 0 +35 227 0 +35 228 0 +35 229 0 +35 230 0 +35 231 0 +35 232 0 +35 233 0 +35 234 0 +35 235 0 +35 236 0 +35 237 0 +35 238 0 +35 239 0 +35 240 0 +35 241 0 +35 242 0 +35 243 0 +35 244 0 +35 245 0 +35 246 0 +35 247 0 +35 248 0 +35 249 0 +35 250 0 +35 251 0 +35 252 0 +35 253 0 +35 254 0 +35 255 0 +35 256 0 +35 257 0 +35 258 0 +35 259 0 +35 260 0 +35 261 0 +35 262 0 +35 263 0 +35 264 0 +35 265 0 +35 266 0 +35 267 0 +35 268 0 +35 269 0 +35 270 0 +35 271 0 +35 272 0 +35 273 0 +35 274 0 +35 275 0 +35 276 0 +35 277 0 +35 278 0 +35 279 0 +35 280 0 +35 281 0 +35 282 0 +35 283 0 +35 284 0 +35 285 0 +35 286 0 +35 287 0 +35 288 0 +35 289 0 +35 290 0 +35 291 0 +35 292 0 +35 293 0 +35 294 0 +35 295 0 +35 296 0 +35 297 0 +35 298 0 +35 299 0 +35 300 0 +35 301 0 +35 302 0 +35 303 0 +35 304 0 +35 305 0 +35 306 0 +35 307 0 +35 308 0 +35 309 0 +35 310 0 +35 311 0 +35 312 0 +35 313 0 +35 314 0 +35 315 0 +35 316 0 +35 317 0 +35 318 0 +35 319 0 +35 320 0 +35 321 0 +35 322 0 +35 323 0 +35 324 0 +35 325 0 +35 326 0 +35 327 0 +35 328 0 +35 329 0 +35 330 0 +35 331 0 +35 332 0 +35 333 0 +35 334 0 +35 335 0 +35 336 0 +35 337 0 +35 338 0 +35 339 0 +35 340 0 +35 341 0 +35 342 0 +35 343 0 +35 344 0 +35 345 0 +35 346 0 +35 347 0 +35 348 0 +35 349 0 +35 350 0 +35 351 0 +35 352 0 +35 353 0 +35 354 0 +35 355 0 +35 356 0 +35 357 0 +35 358 0 +35 359 0 +35 360 0 +35 361 0 +35 362 0 +35 363 0 +35 364 0 +35 365 0 +35 366 0 +35 367 0 +35 368 0 +35 369 0 +35 370 0 +35 371 0 +35 372 0 +35 373 0 +35 374 0 +35 375 0 +35 376 0 +35 377 0 +35 378 0 +35 379 0 +35 380 0 +35 381 0 +35 382 0 +35 383 0 +36 37 0 +36 38 0 +36 39 0 +36 40 0 +36 41 0 +36 42 0 +36 43 0 +36 44 0 +36 45 0 +36 46 0 +36 47 0 +36 48 0 +36 49 0 +36 50 0 +36 51 0 +36 52 0 +36 53 0 +36 54 0 +36 55 0 +36 56 0 +36 57 0 +36 58 0 +36 59 0 +36 60 0 +36 61 0 +36 62 0 +36 63 0 +36 64 0 +36 65 0 +36 66 0 +36 67 0 +36 68 0 +36 69 0 +36 70 0 +36 71 0 +36 72 0 +36 73 0 +36 74 0 +36 75 0 +36 76 0 +36 77 0 +36 78 0 +36 79 0 +36 80 0 +36 81 0 +36 82 0 +36 83 0 +36 84 0 +36 85 0 +36 86 0 +36 87 0 +36 88 0 +36 89 0 +36 90 0 +36 91 0 +36 92 0 +36 93 0 +36 94 0 +36 95 0 +36 96 0 +36 97 0 +36 98 0 +36 99 0 +36 100 0 +36 101 0 +36 102 0 +36 103 0 +36 104 0 +36 105 0 +36 106 0 +36 107 0 +36 108 0 +36 109 0 +36 110 0 +36 111 0 +36 112 0 +36 113 0 +36 114 0 +36 115 0 +36 116 0 +36 117 0 +36 118 0 +36 119 0 +36 120 0 +36 121 0 +36 122 0 +36 123 0 +36 124 0 +36 125 0 +36 126 0 +36 127 0 +36 128 0 +36 129 0 +36 130 0 +36 131 0 +36 132 0 +36 133 0 +36 134 0 +36 135 0 +36 136 0 +36 137 0 +36 138 0 +36 139 0 +36 140 0 +36 141 0 +36 142 0 +36 143 0 +36 144 0 +36 145 0 +36 146 0 +36 147 0 +36 148 0 +36 149 0 +36 150 0 +36 151 0 +36 152 0 +36 153 0 +36 154 0 +36 155 0 +36 156 0 +36 157 0 +36 158 0 +36 159 0 +36 160 0 +36 161 0 +36 162 0 +36 163 0 +36 164 0 +36 165 0 +36 166 0 +36 167 0 +36 168 0 +36 169 0 +36 170 0 +36 171 0 +36 172 0 +36 173 0 +36 174 0 +36 175 0 +36 176 0 +36 177 0 +36 178 0 +36 179 0 +36 180 0 +36 181 0 +36 182 0 +36 183 0 +36 184 0 +36 185 0 +36 186 0 +36 187 0 +36 188 0 +36 189 0 +36 190 0 +36 191 0 +36 192 0 +36 193 0 +36 194 0 +36 195 0 +36 196 0 +36 197 0 +36 198 0 +36 199 0 +36 200 0 +36 201 0 +36 202 0 +36 203 0 +36 204 0 +36 205 0 +36 206 0 +36 207 0 +36 208 0 +36 209 0 +36 210 0 +36 211 0 +36 212 0 +36 213 0 +36 214 0 +36 215 0 +36 216 0 +36 217 0 +36 218 0 +36 219 0 +36 220 0 +36 221 0 +36 222 0 +36 223 0 +36 224 0 +36 225 0 +36 226 0 +36 227 0 +36 228 0 +36 229 0 +36 230 0 +36 231 0 +36 232 0 +36 233 0 +36 234 0 +36 235 0 +36 236 0 +36 237 0 +36 238 0 +36 239 0 +36 240 0 +36 241 0 +36 242 0 +36 243 0 +36 244 0 +36 245 0 +36 246 0 +36 247 0 +36 248 0 +36 249 0 +36 250 0 +36 251 0 +36 252 0 +36 253 0 +36 254 0 +36 255 0 +36 256 0 +36 257 0 +36 258 0 +36 259 0 +36 260 0 +36 261 0 +36 262 0 +36 263 0 +36 264 0 +36 265 0 +36 266 0 +36 267 0 +36 268 0 +36 269 0 +36 270 0 +36 271 0 +36 272 0 +36 273 0 +36 274 0 +36 275 0 +36 276 0 +36 277 0 +36 278 0 +36 279 0 +36 280 0 +36 281 0 +36 282 0 +36 283 0 +36 284 0 +36 285 0 +36 286 0 +36 287 0 +36 288 0 +36 289 0 +36 290 0 +36 291 0 +36 292 0 +36 293 0 +36 294 0 +36 295 0 +36 296 0 +36 297 0 +36 298 0 +36 299 0 +36 300 0 +36 301 0 +36 302 0 +36 303 0 +36 304 0 +36 305 0 +36 306 0 +36 307 0 +36 308 0 +36 309 0 +36 310 0 +36 311 0 +36 312 0 +36 313 0 +36 314 0 +36 315 0 +36 316 0 +36 317 0 +36 318 0 +36 319 0 +36 320 0 +36 321 0 +36 322 0 +36 323 0 +36 324 0 +36 325 0 +36 326 0 +36 327 0 +36 328 0 +36 329 0 +36 330 0 +36 331 0 +36 332 0 +36 333 0 +36 334 0 +36 335 0 +36 336 0 +36 337 0 +36 338 0 +36 339 0 +36 340 0 +36 341 0 +36 342 0 +36 343 0 +36 344 0 +36 345 0 +36 346 0 +36 347 0 +36 348 0 +36 349 0 +36 350 0 +36 351 0 +36 352 0 +36 353 0 +36 354 0 +36 355 0 +36 356 0 +36 357 0 +36 358 0 +36 359 0 +36 360 0 +36 361 0 +36 362 0 +36 363 0 +36 364 0 +36 365 0 +36 366 0 +36 367 0 +36 368 0 +36 369 0 +36 370 0 +36 371 0 +36 372 0 +36 373 0 +36 374 0 +36 375 0 +36 376 0 +36 377 0 +36 378 0 +36 379 0 +36 380 0 +36 381 0 +36 382 0 +36 383 0 +37 38 0 +37 39 0 +37 40 0 +37 41 0 +37 42 0 +37 43 0 +37 44 0 +37 45 0 +37 46 0 +37 47 0 +37 48 0 +37 49 0 +37 50 0 +37 51 0 +37 52 0 +37 53 0 +37 54 0 +37 55 0 +37 56 0 +37 57 0 +37 58 0 +37 59 0 +37 60 0 +37 61 0 +37 62 0 +37 63 0 +37 64 0 +37 65 0 +37 66 0 +37 67 0 +37 68 0 +37 69 0 +37 70 0 +37 71 0 +37 72 0 +37 73 0 +37 74 0 +37 75 0 +37 76 0 +37 77 0 +37 78 0 +37 79 0 +37 80 0 +37 81 0 +37 82 0 +37 83 0 +37 84 0 +37 85 0 +37 86 0 +37 87 0 +37 88 0 +37 89 0 +37 90 0 +37 91 0 +37 92 0 +37 93 0 +37 94 0 +37 95 0 +37 96 0 +37 97 0 +37 98 0 +37 99 0 +37 100 0 +37 101 0 +37 102 0 +37 103 0 +37 104 0 +37 105 0 +37 106 0 +37 107 0 +37 108 0 +37 109 0 +37 110 0 +37 111 0 +37 112 0 +37 113 0 +37 114 0 +37 115 0 +37 116 0 +37 117 0 +37 118 0 +37 119 0 +37 120 0 +37 121 0 +37 122 0 +37 123 0 +37 124 0 +37 125 0 +37 126 0 +37 127 0 +37 128 0 +37 129 0 +37 130 0 +37 131 0 +37 132 0 +37 133 0 +37 134 0 +37 135 0 +37 136 0 +37 137 0 +37 138 0 +37 139 0 +37 140 0 +37 141 0 +37 142 0 +37 143 0 +37 144 0 +37 145 0 +37 146 0 +37 147 0 +37 148 0 +37 149 0 +37 150 0 +37 151 0 +37 152 0 +37 153 0 +37 154 0 +37 155 0 +37 156 0 +37 157 0 +37 158 0 +37 159 0 +37 160 0 +37 161 0 +37 162 0 +37 163 0 +37 164 0 +37 165 0 +37 166 0 +37 167 0 +37 168 0 +37 169 0 +37 170 0 +37 171 0 +37 172 0 +37 173 0 +37 174 0 +37 175 0 +37 176 0 +37 177 0 +37 178 0 +37 179 0 +37 180 0 +37 181 0 +37 182 0 +37 183 0 +37 184 0 +37 185 0 +37 186 0 +37 187 0 +37 188 0 +37 189 0 +37 190 0 +37 191 0 +37 192 0 +37 193 0 +37 194 0 +37 195 0 +37 196 0 +37 197 0 +37 198 0 +37 199 0 +37 200 0 +37 201 0 +37 202 0 +37 203 0 +37 204 0 +37 205 0 +37 206 0 +37 207 0 +37 208 0 +37 209 0 +37 210 0 +37 211 0 +37 212 0 +37 213 0 +37 214 0 +37 215 0 +37 216 0 +37 217 0 +37 218 0 +37 219 0 +37 220 0 +37 221 0 +37 222 0 +37 223 0 +37 224 0 +37 225 0 +37 226 0 +37 227 0 +37 228 0 +37 229 0 +37 230 0 +37 231 0 +37 232 0 +37 233 0 +37 234 0 +37 235 0 +37 236 0 +37 237 0 +37 238 0 +37 239 0 +37 240 0 +37 241 0 +37 242 0 +37 243 0 +37 244 0 +37 245 0 +37 246 0 +37 247 0 +37 248 0 +37 249 0 +37 250 0 +37 251 0 +37 252 0 +37 253 0 +37 254 0 +37 255 0 +37 256 0 +37 257 0 +37 258 0 +37 259 0 +37 260 0 +37 261 0 +37 262 0 +37 263 0 +37 264 0 +37 265 0 +37 266 0 +37 267 0 +37 268 0 +37 269 0 +37 270 0 +37 271 0 +37 272 0 +37 273 0 +37 274 0 +37 275 0 +37 276 0 +37 277 0 +37 278 0 +37 279 0 +37 280 0 +37 281 0 +37 282 0 +37 283 0 +37 284 0 +37 285 0 +37 286 0 +37 287 0 +37 288 0 +37 289 0 +37 290 0 +37 291 0 +37 292 0 +37 293 0 +37 294 0 +37 295 0 +37 296 0 +37 297 0 +37 298 0 +37 299 0 +37 300 0 +37 301 0 +37 302 0 +37 303 0 +37 304 0 +37 305 0 +37 306 0 +37 307 0 +37 308 0 +37 309 0 +37 310 0 +37 311 0 +37 312 0 +37 313 0 +37 314 0 +37 315 0 +37 316 0 +37 317 0 +37 318 0 +37 319 0 +37 320 0 +37 321 0 +37 322 0 +37 323 0 +37 324 0 +37 325 0 +37 326 0 +37 327 0 +37 328 0 +37 329 0 +37 330 0 +37 331 0 +37 332 0 +37 333 0 +37 334 0 +37 335 0 +37 336 0 +37 337 0 +37 338 0 +37 339 0 +37 340 0 +37 341 0 +37 342 0 +37 343 0 +37 344 0 +37 345 0 +37 346 0 +37 347 0 +37 348 0 +37 349 0 +37 350 0 +37 351 0 +37 352 0 +37 353 0 +37 354 0 +37 355 0 +37 356 0 +37 357 0 +37 358 0 +37 359 0 +37 360 0 +37 361 0 +37 362 0 +37 363 0 +37 364 0 +37 365 0 +37 366 0 +37 367 0 +37 368 0 +37 369 0 +37 370 0 +37 371 0 +37 372 0 +37 373 0 +37 374 0 +37 375 0 +37 376 0 +37 377 0 +37 378 0 +37 379 0 +37 380 0 +37 381 0 +37 382 0 +37 383 0 +38 39 0 +38 40 0 +38 41 0 +38 42 0 +38 43 0 +38 44 0 +38 45 0 +38 46 0 +38 47 0 +38 48 0 +38 49 0 +38 50 0 +38 51 0 +38 52 0 +38 53 0 +38 54 0 +38 55 0 +38 56 0 +38 57 0 +38 58 0 +38 59 0 +38 60 0 +38 61 0 +38 62 0 +38 63 0 +38 64 0 +38 65 0 +38 66 0 +38 67 0 +38 68 0 +38 69 0 +38 70 0 +38 71 0 +38 72 0 +38 73 0 +38 74 0 +38 75 0 +38 76 0 +38 77 0 +38 78 0 +38 79 0 +38 80 0 +38 81 0 +38 82 0 +38 83 0 +38 84 0 +38 85 0 +38 86 0 +38 87 0 +38 88 0 +38 89 0 +38 90 0 +38 91 0 +38 92 0 +38 93 0 +38 94 0 +38 95 0 +38 96 0 +38 97 0 +38 98 0 +38 99 0 +38 100 0 +38 101 0 +38 102 0 +38 103 0 +38 104 0 +38 105 0 +38 106 0 +38 107 0 +38 108 0 +38 109 0 +38 110 0 +38 111 0 +38 112 0 +38 113 0 +38 114 0 +38 115 0 +38 116 0 +38 117 0 +38 118 0 +38 119 0 +38 120 0 +38 121 0 +38 122 0 +38 123 0 +38 124 0 +38 125 0 +38 126 0 +38 127 0 +38 128 0 +38 129 0 +38 130 0 +38 131 0 +38 132 0 +38 133 0 +38 134 0 +38 135 0 +38 136 0 +38 137 0 +38 138 0 +38 139 0 +38 140 0 +38 141 0 +38 142 0 +38 143 0 +38 144 0 +38 145 0 +38 146 0 +38 147 0 +38 148 0 +38 149 0 +38 150 0 +38 151 0 +38 152 0 +38 153 0 +38 154 0 +38 155 0 +38 156 0 +38 157 0 +38 158 0 +38 159 0 +38 160 0 +38 161 0 +38 162 0 +38 163 0 +38 164 0 +38 165 0 +38 166 0 +38 167 0 +38 168 0 +38 169 0 +38 170 0 +38 171 0 +38 172 0 +38 173 0 +38 174 0 +38 175 0 +38 176 0 +38 177 0 +38 178 0 +38 179 0 +38 180 0 +38 181 0 +38 182 0 +38 183 0 +38 184 0 +38 185 0 +38 186 0 +38 187 0 +38 188 0 +38 189 0 +38 190 0 +38 191 0 +38 192 0 +38 193 0 +38 194 0 +38 195 0 +38 196 0 +38 197 0 +38 198 0 +38 199 0 +38 200 0 +38 201 0 +38 202 0 +38 203 0 +38 204 0 +38 205 0 +38 206 0 +38 207 0 +38 208 0 +38 209 0 +38 210 0 +38 211 0 +38 212 0 +38 213 0 +38 214 0 +38 215 0 +38 216 0 +38 217 0 +38 218 0 +38 219 0 +38 220 0 +38 221 0 +38 222 0 +38 223 0 +38 224 0 +38 225 0 +38 226 0 +38 227 0 +38 228 0 +38 229 0 +38 230 0 +38 231 0 +38 232 0 +38 233 0 +38 234 0 +38 235 0 +38 236 0 +38 237 0 +38 238 0 +38 239 0 +38 240 0 +38 241 0 +38 242 0 +38 243 0 +38 244 0 +38 245 0 +38 246 0 +38 247 0 +38 248 0 +38 249 0 +38 250 0 +38 251 0 +38 252 0 +38 253 0 +38 254 0 +38 255 0 +38 256 0 +38 257 0 +38 258 0 +38 259 0 +38 260 0 +38 261 0 +38 262 0 +38 263 0 +38 264 0 +38 265 0 +38 266 0 +38 267 0 +38 268 0 +38 269 0 +38 270 0 +38 271 0 +38 272 0 +38 273 0 +38 274 0 +38 275 0 +38 276 0 +38 277 0 +38 278 0 +38 279 0 +38 280 0 +38 281 0 +38 282 0 +38 283 0 +38 284 0 +38 285 0 +38 286 0 +38 287 0 +38 288 0 +38 289 0 +38 290 0 +38 291 0 +38 292 0 +38 293 0 +38 294 0 +38 295 0 +38 296 0 +38 297 0 +38 298 0 +38 299 0 +38 300 0 +38 301 0 +38 302 0 +38 303 0 +38 304 0 +38 305 0 +38 306 0 +38 307 0 +38 308 0 +38 309 0 +38 310 0 +38 311 0 +38 312 0 +38 313 0 +38 314 0 +38 315 0 +38 316 0 +38 317 0 +38 318 0 +38 319 0 +38 320 0 +38 321 0 +38 322 0 +38 323 0 +38 324 0 +38 325 0 +38 326 0 +38 327 0 +38 328 0 +38 329 0 +38 330 0 +38 331 0 +38 332 0 +38 333 0 +38 334 0 +38 335 0 +38 336 0 +38 337 0 +38 338 0 +38 339 0 +38 340 0 +38 341 0 +38 342 0 +38 343 0 +38 344 0 +38 345 0 +38 346 0 +38 347 0 +38 348 0 +38 349 0 +38 350 0 +38 351 0 +38 352 0 +38 353 0 +38 354 0 +38 355 0 +38 356 0 +38 357 0 +38 358 0 +38 359 0 +38 360 0 +38 361 0 +38 362 0 +38 363 0 +38 364 0 +38 365 0 +38 366 0 +38 367 0 +38 368 0 +38 369 0 +38 370 0 +38 371 0 +38 372 0 +38 373 0 +38 374 0 +38 375 0 +38 376 0 +38 377 0 +38 378 0 +38 379 0 +38 380 0 +38 381 0 +38 382 0 +38 383 0 +39 40 0 +39 41 0 +39 42 0 +39 43 0 +39 44 0 +39 45 0 +39 46 0 +39 47 0 +39 48 0 +39 49 0 +39 50 0 +39 51 0 +39 52 0 +39 53 0 +39 54 0 +39 55 0 +39 56 0 +39 57 0 +39 58 0 +39 59 0 +39 60 0 +39 61 0 +39 62 0 +39 63 0 +39 64 0 +39 65 0 +39 66 0 +39 67 0 +39 68 0 +39 69 0 +39 70 0 +39 71 0 +39 72 0 +39 73 0 +39 74 0 +39 75 0 +39 76 0 +39 77 0 +39 78 0 +39 79 0 +39 80 0 +39 81 0 +39 82 0 +39 83 0 +39 84 0 +39 85 0 +39 86 0 +39 87 0 +39 88 0 +39 89 0 +39 90 0 +39 91 0 +39 92 0 +39 93 0 +39 94 0 +39 95 0 +39 96 0 +39 97 0 +39 98 0 +39 99 0 +39 100 0 +39 101 0 +39 102 0 +39 103 0 +39 104 0 +39 105 0 +39 106 0 +39 107 0 +39 108 0 +39 109 0 +39 110 0 +39 111 0 +39 112 0 +39 113 0 +39 114 0 +39 115 0 +39 116 0 +39 117 0 +39 118 0 +39 119 0 +39 120 0 +39 121 0 +39 122 0 +39 123 0 +39 124 0 +39 125 0 +39 126 0 +39 127 0 +39 128 0 +39 129 0 +39 130 0 +39 131 0 +39 132 0 +39 133 0 +39 134 0 +39 135 0 +39 136 0 +39 137 0 +39 138 0 +39 139 0 +39 140 0 +39 141 0 +39 142 0 +39 143 0 +39 144 0 +39 145 0 +39 146 0 +39 147 0 +39 148 0 +39 149 0 +39 150 0 +39 151 0 +39 152 0 +39 153 0 +39 154 0 +39 155 0 +39 156 0 +39 157 0 +39 158 0 +39 159 0 +39 160 0 +39 161 0 +39 162 0 +39 163 0 +39 164 0 +39 165 0 +39 166 0 +39 167 0 +39 168 0 +39 169 0 +39 170 0 +39 171 0 +39 172 0 +39 173 0 +39 174 0 +39 175 0 +39 176 0 +39 177 0 +39 178 0 +39 179 0 +39 180 0 +39 181 0 +39 182 0 +39 183 0 +39 184 0 +39 185 0 +39 186 0 +39 187 0 +39 188 0 +39 189 0 +39 190 0 +39 191 0 +39 192 0 +39 193 0 +39 194 0 +39 195 0 +39 196 0 +39 197 0 +39 198 0 +39 199 0 +39 200 0 +39 201 0 +39 202 0 +39 203 0 +39 204 0 +39 205 0 +39 206 0 +39 207 0 +39 208 0 +39 209 0 +39 210 0 +39 211 0 +39 212 0 +39 213 0 +39 214 0 +39 215 0 +39 216 0 +39 217 0 +39 218 0 +39 219 0 +39 220 0 +39 221 0 +39 222 0 +39 223 0 +39 224 0 +39 225 0 +39 226 0 +39 227 0 +39 228 0 +39 229 0 +39 230 0 +39 231 0 +39 232 0 +39 233 0 +39 234 0 +39 235 0 +39 236 0 +39 237 0 +39 238 0 +39 239 0 +39 240 0 +39 241 0 +39 242 0 +39 243 0 +39 244 0 +39 245 0 +39 246 0 +39 247 0 +39 248 0 +39 249 0 +39 250 0 +39 251 0 +39 252 0 +39 253 0 +39 254 0 +39 255 0 +39 256 0 +39 257 0 +39 258 0 +39 259 0 +39 260 0 +39 261 0 +39 262 0 +39 263 0 +39 264 0 +39 265 0 +39 266 0 +39 267 0 +39 268 0 +39 269 0 +39 270 0 +39 271 0 +39 272 0 +39 273 0 +39 274 0 +39 275 0 +39 276 0 +39 277 0 +39 278 0 +39 279 0 +39 280 0 +39 281 0 +39 282 0 +39 283 0 +39 284 0 +39 285 0 +39 286 0 +39 287 0 +39 288 0 +39 289 0 +39 290 0 +39 291 0 +39 292 0 +39 293 0 +39 294 0 +39 295 0 +39 296 0 +39 297 0 +39 298 0 +39 299 0 +39 300 0 +39 301 0 +39 302 0 +39 303 0 +39 304 0 +39 305 0 +39 306 0 +39 307 0 +39 308 0 +39 309 0 +39 310 0 +39 311 0 +39 312 0 +39 313 0 +39 314 0 +39 315 0 +39 316 0 +39 317 0 +39 318 0 +39 319 0 +39 320 0 +39 321 0 +39 322 0 +39 323 0 +39 324 0 +39 325 0 +39 326 0 +39 327 0 +39 328 0 +39 329 0 +39 330 0 +39 331 0 +39 332 0 +39 333 0 +39 334 0 +39 335 0 +39 336 0 +39 337 0 +39 338 0 +39 339 0 +39 340 0 +39 341 0 +39 342 0 +39 343 0 +39 344 0 +39 345 0 +39 346 0 +39 347 0 +39 348 0 +39 349 0 +39 350 0 +39 351 0 +39 352 0 +39 353 0 +39 354 0 +39 355 0 +39 356 0 +39 357 0 +39 358 0 +39 359 0 +39 360 0 +39 361 0 +39 362 0 +39 363 0 +39 364 0 +39 365 0 +39 366 0 +39 367 0 +39 368 0 +39 369 0 +39 370 0 +39 371 0 +39 372 0 +39 373 0 +39 374 0 +39 375 0 +39 376 0 +39 377 0 +39 378 0 +39 379 0 +39 380 0 +39 381 0 +39 382 0 +39 383 0 +40 41 0 +40 42 0 +40 43 0 +40 44 0 +40 45 0 +40 46 0 +40 47 0 +40 48 0 +40 49 0 +40 50 0 +40 51 0 +40 52 0 +40 53 0 +40 54 0 +40 55 0 +40 56 0 +40 57 0 +40 58 0 +40 59 0 +40 60 0 +40 61 0 +40 62 0 +40 63 0 +40 64 0 +40 65 0 +40 66 0 +40 67 0 +40 68 0 +40 69 0 +40 70 0 +40 71 0 +40 72 0 +40 73 0 +40 74 0 +40 75 0 +40 76 0 +40 77 0 +40 78 0 +40 79 0 +40 80 0 +40 81 0 +40 82 0 +40 83 0 +40 84 0 +40 85 0 +40 86 0 +40 87 0 +40 88 0 +40 89 0 +40 90 0 +40 91 0 +40 92 0 +40 93 0 +40 94 0 +40 95 0 +40 96 0 +40 97 0 +40 98 0 +40 99 0 +40 100 0 +40 101 0 +40 102 0 +40 103 0 +40 104 0 +40 105 0 +40 106 0 +40 107 0 +40 108 0 +40 109 0 +40 110 0 +40 111 0 +40 112 0 +40 113 0 +40 114 0 +40 115 0 +40 116 0 +40 117 0 +40 118 0 +40 119 0 +40 120 0 +40 121 0 +40 122 0 +40 123 0 +40 124 0 +40 125 0 +40 126 0 +40 127 0 +40 128 0 +40 129 0 +40 130 0 +40 131 0 +40 132 0 +40 133 0 +40 134 0 +40 135 0 +40 136 0 +40 137 0 +40 138 0 +40 139 0 +40 140 0 +40 141 0 +40 142 0 +40 143 0 +40 144 0 +40 145 0 +40 146 0 +40 147 0 +40 148 0 +40 149 0 +40 150 0 +40 151 0 +40 152 0 +40 153 0 +40 154 0 +40 155 0 +40 156 0 +40 157 0 +40 158 0 +40 159 0 +40 160 0 +40 161 0 +40 162 0 +40 163 0 +40 164 0 +40 165 0 +40 166 0 +40 167 0 +40 168 0 +40 169 0 +40 170 0 +40 171 0 +40 172 0 +40 173 0 +40 174 0 +40 175 0 +40 176 0 +40 177 0 +40 178 0 +40 179 0 +40 180 0 +40 181 0 +40 182 0 +40 183 0 +40 184 0 +40 185 0 +40 186 0 +40 187 0 +40 188 0 +40 189 0 +40 190 0 +40 191 0 +40 192 0 +40 193 0 +40 194 0 +40 195 0 +40 196 0 +40 197 0 +40 198 0 +40 199 0 +40 200 0 +40 201 0 +40 202 0 +40 203 0 +40 204 0 +40 205 0 +40 206 0 +40 207 0 +40 208 0 +40 209 0 +40 210 0 +40 211 0 +40 212 0 +40 213 0 +40 214 0 +40 215 0 +40 216 0 +40 217 0 +40 218 0 +40 219 0 +40 220 0 +40 221 0 +40 222 0 +40 223 0 +40 224 0 +40 225 0 +40 226 0 +40 227 0 +40 228 0 +40 229 0 +40 230 0 +40 231 0 +40 232 0 +40 233 0 +40 234 0 +40 235 0 +40 236 0 +40 237 0 +40 238 0 +40 239 0 +40 240 0 +40 241 0 +40 242 0 +40 243 0 +40 244 0 +40 245 0 +40 246 0 +40 247 0 +40 248 0 +40 249 0 +40 250 0 +40 251 0 +40 252 0 +40 253 0 +40 254 0 +40 255 0 +40 256 0 +40 257 0 +40 258 0 +40 259 0 +40 260 0 +40 261 0 +40 262 0 +40 263 0 +40 264 0 +40 265 0 +40 266 0 +40 267 0 +40 268 0 +40 269 0 +40 270 0 +40 271 0 +40 272 0 +40 273 0 +40 274 0 +40 275 0 +40 276 0 +40 277 0 +40 278 0 +40 279 0 +40 280 0 +40 281 0 +40 282 0 +40 283 0 +40 284 0 +40 285 0 +40 286 0 +40 287 0 +40 288 0 +40 289 0 +40 290 0 +40 291 0 +40 292 0 +40 293 0 +40 294 0 +40 295 0 +40 296 0 +40 297 0 +40 298 0 +40 299 0 +40 300 0 +40 301 0 +40 302 0 +40 303 0 +40 304 0 +40 305 0 +40 306 0 +40 307 0 +40 308 0 +40 309 0 +40 310 0 +40 311 0 +40 312 0 +40 313 0 +40 314 0 +40 315 0 +40 316 0 +40 317 0 +40 318 0 +40 319 0 +40 320 0 +40 321 0 +40 322 0 +40 323 0 +40 324 0 +40 325 0 +40 326 0 +40 327 0 +40 328 0 +40 329 0 +40 330 0 +40 331 0 +40 332 0 +40 333 0 +40 334 0 +40 335 0 +40 336 0 +40 337 0 +40 338 0 +40 339 0 +40 340 0 +40 341 0 +40 342 0 +40 343 0 +40 344 0 +40 345 0 +40 346 0 +40 347 0 +40 348 0 +40 349 0 +40 350 0 +40 351 0 +40 352 0 +40 353 0 +40 354 0 +40 355 0 +40 356 0 +40 357 0 +40 358 0 +40 359 0 +40 360 0 +40 361 0 +40 362 0 +40 363 0 +40 364 0 +40 365 0 +40 366 0 +40 367 0 +40 368 0 +40 369 0 +40 370 0 +40 371 0 +40 372 0 +40 373 0 +40 374 0 +40 375 0 +40 376 0 +40 377 0 +40 378 0 +40 379 0 +40 380 0 +40 381 0 +40 382 0 +40 383 0 +41 42 0 +41 43 0 +41 44 0 +41 45 0 +41 46 0 +41 47 0 +41 48 0 +41 49 0 +41 50 0 +41 51 0 +41 52 0 +41 53 0 +41 54 0 +41 55 0 +41 56 0 +41 57 0 +41 58 0 +41 59 0 +41 60 0 +41 61 0 +41 62 0 +41 63 0 +41 64 0 +41 65 0 +41 66 0 +41 67 0 +41 68 0 +41 69 0 +41 70 0 +41 71 0 +41 72 0 +41 73 0 +41 74 0 +41 75 0 +41 76 0 +41 77 0 +41 78 0 +41 79 0 +41 80 0 +41 81 0 +41 82 0 +41 83 0 +41 84 0 +41 85 0 +41 86 0 +41 87 0 +41 88 0 +41 89 0 +41 90 0 +41 91 0 +41 92 0 +41 93 0 +41 94 0 +41 95 0 +41 96 0 +41 97 0 +41 98 0 +41 99 0 +41 100 0 +41 101 0 +41 102 0 +41 103 0 +41 104 0 +41 105 0 +41 106 0 +41 107 0 +41 108 0 +41 109 0 +41 110 0 +41 111 0 +41 112 0 +41 113 0 +41 114 0 +41 115 0 +41 116 0 +41 117 0 +41 118 0 +41 119 0 +41 120 0 +41 121 0 +41 122 0 +41 123 0 +41 124 0 +41 125 0 +41 126 0 +41 127 0 +41 128 0 +41 129 0 +41 130 0 +41 131 0 +41 132 0 +41 133 0 +41 134 0 +41 135 0 +41 136 0 +41 137 0 +41 138 0 +41 139 0 +41 140 0 +41 141 0 +41 142 0 +41 143 0 +41 144 0 +41 145 0 +41 146 0 +41 147 0 +41 148 0 +41 149 0 +41 150 0 +41 151 0 +41 152 0 +41 153 0 +41 154 0 +41 155 0 +41 156 0 +41 157 0 +41 158 0 +41 159 0 +41 160 0 +41 161 0 +41 162 0 +41 163 0 +41 164 0 +41 165 0 +41 166 0 +41 167 0 +41 168 0 +41 169 0 +41 170 0 +41 171 0 +41 172 0 +41 173 0 +41 174 0 +41 175 0 +41 176 0 +41 177 0 +41 178 0 +41 179 0 +41 180 0 +41 181 0 +41 182 0 +41 183 0 +41 184 0 +41 185 0 +41 186 0 +41 187 0 +41 188 0 +41 189 0 +41 190 0 +41 191 0 +41 192 0 +41 193 0 +41 194 0 +41 195 0 +41 196 0 +41 197 0 +41 198 0 +41 199 0 +41 200 0 +41 201 0 +41 202 0 +41 203 0 +41 204 0 +41 205 0 +41 206 0 +41 207 0 +41 208 0 +41 209 0 +41 210 0 +41 211 0 +41 212 0 +41 213 0 +41 214 0 +41 215 0 +41 216 0 +41 217 0 +41 218 0 +41 219 0 +41 220 0 +41 221 0 +41 222 0 +41 223 0 +41 224 0 +41 225 0 +41 226 0 +41 227 0 +41 228 0 +41 229 0 +41 230 0 +41 231 0 +41 232 0 +41 233 0 +41 234 0 +41 235 0 +41 236 0 +41 237 0 +41 238 0 +41 239 0 +41 240 0 +41 241 0 +41 242 0 +41 243 0 +41 244 0 +41 245 0 +41 246 0 +41 247 0 +41 248 0 +41 249 0 +41 250 0 +41 251 0 +41 252 0 +41 253 0 +41 254 0 +41 255 0 +41 256 0 +41 257 0 +41 258 0 +41 259 0 +41 260 0 +41 261 0 +41 262 0 +41 263 0 +41 264 0 +41 265 0 +41 266 0 +41 267 0 +41 268 0 +41 269 0 +41 270 0 +41 271 0 +41 272 0 +41 273 0 +41 274 0 +41 275 0 +41 276 0 +41 277 0 +41 278 0 +41 279 0 +41 280 0 +41 281 0 +41 282 0 +41 283 0 +41 284 0 +41 285 0 +41 286 0 +41 287 0 +41 288 0 +41 289 0 +41 290 0 +41 291 0 +41 292 0 +41 293 0 +41 294 0 +41 295 0 +41 296 0 +41 297 0 +41 298 0 +41 299 0 +41 300 0 +41 301 0 +41 302 0 +41 303 0 +41 304 0 +41 305 0 +41 306 0 +41 307 0 +41 308 0 +41 309 0 +41 310 0 +41 311 0 +41 312 0 +41 313 0 +41 314 0 +41 315 0 +41 316 0 +41 317 0 +41 318 0 +41 319 0 +41 320 0 +41 321 0 +41 322 0 +41 323 0 +41 324 0 +41 325 0 +41 326 0 +41 327 0 +41 328 0 +41 329 0 +41 330 0 +41 331 0 +41 332 0 +41 333 0 +41 334 0 +41 335 0 +41 336 0 +41 337 0 +41 338 0 +41 339 0 +41 340 0 +41 341 0 +41 342 0 +41 343 0 +41 344 0 +41 345 0 +41 346 0 +41 347 0 +41 348 0 +41 349 0 +41 350 0 +41 351 0 +41 352 0 +41 353 0 +41 354 0 +41 355 0 +41 356 0 +41 357 0 +41 358 0 +41 359 0 +41 360 0 +41 361 0 +41 362 0 +41 363 0 +41 364 0 +41 365 0 +41 366 0 +41 367 0 +41 368 0 +41 369 0 +41 370 0 +41 371 0 +41 372 0 +41 373 0 +41 374 0 +41 375 0 +41 376 0 +41 377 0 +41 378 0 +41 379 0 +41 380 0 +41 381 0 +41 382 0 +41 383 0 +42 43 0 +42 44 0 +42 45 0 +42 46 0 +42 47 0 +42 48 0 +42 49 0 +42 50 0 +42 51 0 +42 52 0 +42 53 0 +42 54 0 +42 55 0 +42 56 0 +42 57 0 +42 58 0 +42 59 0 +42 60 0 +42 61 0 +42 62 0 +42 63 0 +42 64 0 +42 65 0 +42 66 0 +42 67 0 +42 68 0 +42 69 0 +42 70 0 +42 71 0 +42 72 0 +42 73 0 +42 74 0 +42 75 0 +42 76 0 +42 77 0 +42 78 0 +42 79 0 +42 80 0 +42 81 0 +42 82 0 +42 83 0 +42 84 0 +42 85 0 +42 86 0 +42 87 0 +42 88 0 +42 89 0 +42 90 0 +42 91 0 +42 92 0 +42 93 0 +42 94 0 +42 95 0 +42 96 0 +42 97 0 +42 98 0 +42 99 0 +42 100 0 +42 101 0 +42 102 0 +42 103 0 +42 104 0 +42 105 0 +42 106 0 +42 107 0 +42 108 0 +42 109 0 +42 110 0 +42 111 0 +42 112 0 +42 113 0 +42 114 0 +42 115 0 +42 116 0 +42 117 0 +42 118 0 +42 119 0 +42 120 0 +42 121 0 +42 122 0 +42 123 0 +42 124 0 +42 125 0 +42 126 0 +42 127 0 +42 128 0 +42 129 0 +42 130 0 +42 131 0 +42 132 0 +42 133 0 +42 134 0 +42 135 0 +42 136 0 +42 137 0 +42 138 0 +42 139 0 +42 140 0 +42 141 0 +42 142 0 +42 143 0 +42 144 0 +42 145 0 +42 146 0 +42 147 0 +42 148 0 +42 149 0 +42 150 0 +42 151 0 +42 152 0 +42 153 0 +42 154 0 +42 155 0 +42 156 0 +42 157 0 +42 158 0 +42 159 0 +42 160 0 +42 161 0 +42 162 0 +42 163 0 +42 164 0 +42 165 0 +42 166 0 +42 167 0 +42 168 0 +42 169 0 +42 170 0 +42 171 0 +42 172 0 +42 173 0 +42 174 0 +42 175 0 +42 176 0 +42 177 0 +42 178 0 +42 179 0 +42 180 0 +42 181 0 +42 182 0 +42 183 0 +42 184 0 +42 185 0 +42 186 0 +42 187 0 +42 188 0 +42 189 0 +42 190 0 +42 191 0 +42 192 0 +42 193 0 +42 194 0 +42 195 0 +42 196 0 +42 197 0 +42 198 0 +42 199 0 +42 200 0 +42 201 0 +42 202 0 +42 203 0 +42 204 0 +42 205 0 +42 206 0 +42 207 0 +42 208 0 +42 209 0 +42 210 0 +42 211 0 +42 212 0 +42 213 0 +42 214 0 +42 215 0 +42 216 0 +42 217 0 +42 218 0 +42 219 0 +42 220 0 +42 221 0 +42 222 0 +42 223 0 +42 224 0 +42 225 0 +42 226 0 +42 227 0 +42 228 0 +42 229 0 +42 230 0 +42 231 0 +42 232 0 +42 233 0 +42 234 0 +42 235 0 +42 236 0 +42 237 0 +42 238 0 +42 239 0 +42 240 0 +42 241 0 +42 242 0 +42 243 0 +42 244 0 +42 245 0 +42 246 0 +42 247 0 +42 248 0 +42 249 0 +42 250 0 +42 251 0 +42 252 0 +42 253 0 +42 254 0 +42 255 0 +42 256 0 +42 257 0 +42 258 0 +42 259 0 +42 260 0 +42 261 0 +42 262 0 +42 263 0 +42 264 0 +42 265 0 +42 266 0 +42 267 0 +42 268 0 +42 269 0 +42 270 0 +42 271 0 +42 272 0 +42 273 0 +42 274 0 +42 275 0 +42 276 0 +42 277 0 +42 278 0 +42 279 0 +42 280 0 +42 281 0 +42 282 0 +42 283 0 +42 284 0 +42 285 0 +42 286 0 +42 287 0 +42 288 0 +42 289 0 +42 290 0 +42 291 0 +42 292 0 +42 293 0 +42 294 0 +42 295 0 +42 296 0 +42 297 0 +42 298 0 +42 299 0 +42 300 0 +42 301 0 +42 302 0 +42 303 0 +42 304 0 +42 305 0 +42 306 0 +42 307 0 +42 308 0 +42 309 0 +42 310 0 +42 311 0 +42 312 0 +42 313 0 +42 314 0 +42 315 0 +42 316 0 +42 317 0 +42 318 0 +42 319 0 +42 320 0 +42 321 0 +42 322 0 +42 323 0 +42 324 0 +42 325 0 +42 326 0 +42 327 0 +42 328 0 +42 329 0 +42 330 0 +42 331 0 +42 332 0 +42 333 0 +42 334 0 +42 335 0 +42 336 0 +42 337 0 +42 338 0 +42 339 0 +42 340 0 +42 341 0 +42 342 0 +42 343 0 +42 344 0 +42 345 0 +42 346 0 +42 347 0 +42 348 0 +42 349 0 +42 350 0 +42 351 0 +42 352 0 +42 353 0 +42 354 0 +42 355 0 +42 356 0 +42 357 0 +42 358 0 +42 359 0 +42 360 0 +42 361 0 +42 362 0 +42 363 0 +42 364 0 +42 365 0 +42 366 0 +42 367 0 +42 368 0 +42 369 0 +42 370 0 +42 371 0 +42 372 0 +42 373 0 +42 374 0 +42 375 0 +42 376 0 +42 377 0 +42 378 0 +42 379 0 +42 380 0 +42 381 0 +42 382 0 +42 383 0 +43 44 0 +43 45 0 +43 46 0 +43 47 0 +43 48 0 +43 49 0 +43 50 0 +43 51 0 +43 52 0 +43 53 0 +43 54 0 +43 55 0 +43 56 0 +43 57 0 +43 58 0 +43 59 0 +43 60 0 +43 61 0 +43 62 0 +43 63 0 +43 64 0 +43 65 0 +43 66 0 +43 67 0 +43 68 0 +43 69 0 +43 70 0 +43 71 0 +43 72 0 +43 73 0 +43 74 0 +43 75 0 +43 76 0 +43 77 0 +43 78 0 +43 79 0 +43 80 0 +43 81 0 +43 82 0 +43 83 0 +43 84 0 +43 85 0 +43 86 0 +43 87 0 +43 88 0 +43 89 0 +43 90 0 +43 91 0 +43 92 0 +43 93 0 +43 94 0 +43 95 0 +43 96 0 +43 97 0 +43 98 0 +43 99 0 +43 100 0 +43 101 0 +43 102 0 +43 103 0 +43 104 0 +43 105 0 +43 106 0 +43 107 0 +43 108 0 +43 109 0 +43 110 0 +43 111 0 +43 112 0 +43 113 0 +43 114 0 +43 115 0 +43 116 0 +43 117 0 +43 118 0 +43 119 0 +43 120 0 +43 121 0 +43 122 0 +43 123 0 +43 124 0 +43 125 0 +43 126 0 +43 127 0 +43 128 0 +43 129 0 +43 130 0 +43 131 0 +43 132 0 +43 133 0 +43 134 0 +43 135 0 +43 136 0 +43 137 0 +43 138 0 +43 139 0 +43 140 0 +43 141 0 +43 142 0 +43 143 0 +43 144 0 +43 145 0 +43 146 0 +43 147 0 +43 148 0 +43 149 0 +43 150 0 +43 151 0 +43 152 0 +43 153 0 +43 154 0 +43 155 0 +43 156 0 +43 157 0 +43 158 0 +43 159 0 +43 160 0 +43 161 0 +43 162 0 +43 163 0 +43 164 0 +43 165 0 +43 166 0 +43 167 0 +43 168 0 +43 169 0 +43 170 0 +43 171 0 +43 172 0 +43 173 0 +43 174 0 +43 175 0 +43 176 0 +43 177 0 +43 178 0 +43 179 0 +43 180 0 +43 181 0 +43 182 0 +43 183 0 +43 184 0 +43 185 0 +43 186 0 +43 187 0 +43 188 0 +43 189 0 +43 190 0 +43 191 0 +43 192 0 +43 193 0 +43 194 0 +43 195 0 +43 196 0 +43 197 0 +43 198 0 +43 199 0 +43 200 0 +43 201 0 +43 202 0 +43 203 0 +43 204 0 +43 205 0 +43 206 0 +43 207 0 +43 208 0 +43 209 0 +43 210 0 +43 211 0 +43 212 0 +43 213 0 +43 214 0 +43 215 0 +43 216 0 +43 217 0 +43 218 0 +43 219 0 +43 220 0 +43 221 0 +43 222 0 +43 223 0 +43 224 0 +43 225 0 +43 226 0 +43 227 0 +43 228 0 +43 229 0 +43 230 0 +43 231 0 +43 232 0 +43 233 0 +43 234 0 +43 235 0 +43 236 0 +43 237 0 +43 238 0 +43 239 0 +43 240 0 +43 241 0 +43 242 0 +43 243 0 +43 244 0 +43 245 0 +43 246 0 +43 247 0 +43 248 0 +43 249 0 +43 250 0 +43 251 0 +43 252 0 +43 253 0 +43 254 0 +43 255 0 +43 256 0 +43 257 0 +43 258 0 +43 259 0 +43 260 0 +43 261 0 +43 262 0 +43 263 0 +43 264 0 +43 265 0 +43 266 0 +43 267 0 +43 268 0 +43 269 0 +43 270 0 +43 271 0 +43 272 0 +43 273 0 +43 274 0 +43 275 0 +43 276 0 +43 277 0 +43 278 0 +43 279 0 +43 280 0 +43 281 0 +43 282 0 +43 283 0 +43 284 0 +43 285 0 +43 286 0 +43 287 0 +43 288 0 +43 289 0 +43 290 0 +43 291 0 +43 292 0 +43 293 0 +43 294 0 +43 295 0 +43 296 0 +43 297 0 +43 298 0 +43 299 0 +43 300 0 +43 301 0 +43 302 0 +43 303 0 +43 304 0 +43 305 0 +43 306 0 +43 307 0 +43 308 0 +43 309 0 +43 310 0 +43 311 0 +43 312 0 +43 313 0 +43 314 0 +43 315 0 +43 316 0 +43 317 0 +43 318 0 +43 319 0 +43 320 0 +43 321 0 +43 322 0 +43 323 0 +43 324 0 +43 325 0 +43 326 0 +43 327 0 +43 328 0 +43 329 0 +43 330 0 +43 331 0 +43 332 0 +43 333 0 +43 334 0 +43 335 0 +43 336 0 +43 337 0 +43 338 0 +43 339 0 +43 340 0 +43 341 0 +43 342 0 +43 343 0 +43 344 0 +43 345 0 +43 346 0 +43 347 0 +43 348 0 +43 349 0 +43 350 0 +43 351 0 +43 352 0 +43 353 0 +43 354 0 +43 355 0 +43 356 0 +43 357 0 +43 358 0 +43 359 0 +43 360 0 +43 361 0 +43 362 0 +43 363 0 +43 364 0 +43 365 0 +43 366 0 +43 367 0 +43 368 0 +43 369 0 +43 370 0 +43 371 0 +43 372 0 +43 373 0 +43 374 0 +43 375 0 +43 376 0 +43 377 0 +43 378 0 +43 379 0 +43 380 0 +43 381 0 +43 382 0 +43 383 0 +44 45 0 +44 46 0 +44 47 0 +44 48 0 +44 49 0 +44 50 0 +44 51 0 +44 52 0 +44 53 0 +44 54 0 +44 55 0 +44 56 0 +44 57 0 +44 58 0 +44 59 0 +44 60 0 +44 61 0 +44 62 0 +44 63 0 +44 64 0 +44 65 0 +44 66 0 +44 67 0 +44 68 0 +44 69 0 +44 70 0 +44 71 0 +44 72 0 +44 73 0 +44 74 0 +44 75 0 +44 76 0 +44 77 0 +44 78 0 +44 79 0 +44 80 0 +44 81 0 +44 82 0 +44 83 0 +44 84 0 +44 85 0 +44 86 0 +44 87 0 +44 88 0 +44 89 0 +44 90 0 +44 91 0 +44 92 0 +44 93 0 +44 94 0 +44 95 0 +44 96 0 +44 97 0 +44 98 0 +44 99 0 +44 100 0 +44 101 0 +44 102 0 +44 103 0 +44 104 0 +44 105 0 +44 106 0 +44 107 0 +44 108 0 +44 109 0 +44 110 0 +44 111 0 +44 112 0 +44 113 0 +44 114 0 +44 115 0 +44 116 0 +44 117 0 +44 118 0 +44 119 0 +44 120 0 +44 121 0 +44 122 0 +44 123 0 +44 124 0 +44 125 0 +44 126 0 +44 127 0 +44 128 0 +44 129 0 +44 130 0 +44 131 0 +44 132 0 +44 133 0 +44 134 0 +44 135 0 +44 136 0 +44 137 0 +44 138 0 +44 139 0 +44 140 0 +44 141 0 +44 142 0 +44 143 0 +44 144 0 +44 145 0 +44 146 0 +44 147 0 +44 148 0 +44 149 0 +44 150 0 +44 151 0 +44 152 0 +44 153 0 +44 154 0 +44 155 0 +44 156 0 +44 157 0 +44 158 0 +44 159 0 +44 160 0 +44 161 0 +44 162 0 +44 163 0 +44 164 0 +44 165 0 +44 166 0 +44 167 0 +44 168 0 +44 169 0 +44 170 0 +44 171 0 +44 172 0 +44 173 0 +44 174 0 +44 175 0 +44 176 0 +44 177 0 +44 178 0 +44 179 0 +44 180 0 +44 181 0 +44 182 0 +44 183 0 +44 184 0 +44 185 0 +44 186 0 +44 187 0 +44 188 0 +44 189 0 +44 190 0 +44 191 0 +44 192 0 +44 193 0 +44 194 0 +44 195 0 +44 196 0 +44 197 0 +44 198 0 +44 199 0 +44 200 0 +44 201 0 +44 202 0 +44 203 0 +44 204 0 +44 205 0 +44 206 0 +44 207 0 +44 208 0 +44 209 0 +44 210 0 +44 211 0 +44 212 0 +44 213 0 +44 214 0 +44 215 0 +44 216 0 +44 217 0 +44 218 0 +44 219 0 +44 220 0 +44 221 0 +44 222 0 +44 223 0 +44 224 0 +44 225 0 +44 226 0 +44 227 0 +44 228 0 +44 229 0 +44 230 0 +44 231 0 +44 232 0 +44 233 0 +44 234 0 +44 235 0 +44 236 0 +44 237 0 +44 238 0 +44 239 0 +44 240 0 +44 241 0 +44 242 0 +44 243 0 +44 244 0 +44 245 0 +44 246 0 +44 247 0 +44 248 0 +44 249 0 +44 250 0 +44 251 0 +44 252 0 +44 253 0 +44 254 0 +44 255 0 +44 256 0 +44 257 0 +44 258 0 +44 259 0 +44 260 0 +44 261 0 +44 262 0 +44 263 0 +44 264 0 +44 265 0 +44 266 0 +44 267 0 +44 268 0 +44 269 0 +44 270 0 +44 271 0 +44 272 0 +44 273 0 +44 274 0 +44 275 0 +44 276 0 +44 277 0 +44 278 0 +44 279 0 +44 280 0 +44 281 0 +44 282 0 +44 283 0 +44 284 0 +44 285 0 +44 286 0 +44 287 0 +44 288 0 +44 289 0 +44 290 0 +44 291 0 +44 292 0 +44 293 0 +44 294 0 +44 295 0 +44 296 0 +44 297 0 +44 298 0 +44 299 0 +44 300 0 +44 301 0 +44 302 0 +44 303 0 +44 304 0 +44 305 0 +44 306 0 +44 307 0 +44 308 0 +44 309 0 +44 310 0 +44 311 0 +44 312 0 +44 313 0 +44 314 0 +44 315 0 +44 316 0 +44 317 0 +44 318 0 +44 319 0 +44 320 0 +44 321 0 +44 322 0 +44 323 0 +44 324 0 +44 325 0 +44 326 0 +44 327 0 +44 328 0 +44 329 0 +44 330 0 +44 331 0 +44 332 0 +44 333 0 +44 334 0 +44 335 0 +44 336 0 +44 337 0 +44 338 0 +44 339 0 +44 340 0 +44 341 0 +44 342 0 +44 343 0 +44 344 0 +44 345 0 +44 346 0 +44 347 0 +44 348 0 +44 349 0 +44 350 0 +44 351 0 +44 352 0 +44 353 0 +44 354 0 +44 355 0 +44 356 0 +44 357 0 +44 358 0 +44 359 0 +44 360 0 +44 361 0 +44 362 0 +44 363 0 +44 364 0 +44 365 0 +44 366 0 +44 367 0 +44 368 0 +44 369 0 +44 370 0 +44 371 0 +44 372 0 +44 373 0 +44 374 0 +44 375 0 +44 376 0 +44 377 0 +44 378 0 +44 379 0 +44 380 0 +44 381 0 +44 382 0 +44 383 0 +45 46 0 +45 47 0 +45 48 0 +45 49 0 +45 50 0 +45 51 0 +45 52 0 +45 53 0 +45 54 0 +45 55 0 +45 56 0 +45 57 0 +45 58 0 +45 59 0 +45 60 0 +45 61 0 +45 62 0 +45 63 0 +45 64 0 +45 65 0 +45 66 0 +45 67 0 +45 68 0 +45 69 0 +45 70 0 +45 71 0 +45 72 0 +45 73 0 +45 74 0 +45 75 0 +45 76 0 +45 77 0 +45 78 0 +45 79 0 +45 80 0 +45 81 0 +45 82 0 +45 83 0 +45 84 0 +45 85 0 +45 86 0 +45 87 0 +45 88 0 +45 89 0 +45 90 0 +45 91 0 +45 92 0 +45 93 0 +45 94 0 +45 95 0 +45 96 0 +45 97 0 +45 98 0 +45 99 0 +45 100 0 +45 101 0 +45 102 0 +45 103 0 +45 104 0 +45 105 0 +45 106 0 +45 107 0 +45 108 0 +45 109 0 +45 110 0 +45 111 0 +45 112 0 +45 113 0 +45 114 0 +45 115 0 +45 116 0 +45 117 0 +45 118 0 +45 119 0 +45 120 0 +45 121 0 +45 122 0 +45 123 0 +45 124 0 +45 125 0 +45 126 0 +45 127 0 +45 128 0 +45 129 0 +45 130 0 +45 131 0 +45 132 0 +45 133 0 +45 134 0 +45 135 0 +45 136 0 +45 137 0 +45 138 0 +45 139 0 +45 140 0 +45 141 0 +45 142 0 +45 143 0 +45 144 0 +45 145 0 +45 146 0 +45 147 0 +45 148 0 +45 149 0 +45 150 0 +45 151 0 +45 152 0 +45 153 0 +45 154 0 +45 155 0 +45 156 0 +45 157 0 +45 158 0 +45 159 0 +45 160 0 +45 161 0 +45 162 0 +45 163 0 +45 164 0 +45 165 0 +45 166 0 +45 167 0 +45 168 0 +45 169 0 +45 170 0 +45 171 0 +45 172 0 +45 173 0 +45 174 0 +45 175 0 +45 176 0 +45 177 0 +45 178 0 +45 179 0 +45 180 0 +45 181 0 +45 182 0 +45 183 0 +45 184 0 +45 185 0 +45 186 0 +45 187 0 +45 188 0 +45 189 0 +45 190 0 +45 191 0 +45 192 0 +45 193 0 +45 194 0 +45 195 0 +45 196 0 +45 197 0 +45 198 0 +45 199 0 +45 200 0 +45 201 0 +45 202 0 +45 203 0 +45 204 0 +45 205 0 +45 206 0 +45 207 0 +45 208 0 +45 209 0 +45 210 0 +45 211 0 +45 212 0 +45 213 0 +45 214 0 +45 215 0 +45 216 0 +45 217 0 +45 218 0 +45 219 0 +45 220 0 +45 221 0 +45 222 0 +45 223 0 +45 224 0 +45 225 0 +45 226 0 +45 227 0 +45 228 0 +45 229 0 +45 230 0 +45 231 0 +45 232 0 +45 233 0 +45 234 0 +45 235 0 +45 236 0 +45 237 0 +45 238 0 +45 239 0 +45 240 0 +45 241 0 +45 242 0 +45 243 0 +45 244 0 +45 245 0 +45 246 0 +45 247 0 +45 248 0 +45 249 0 +45 250 0 +45 251 0 +45 252 0 +45 253 0 +45 254 0 +45 255 0 +45 256 0 +45 257 0 +45 258 0 +45 259 0 +45 260 0 +45 261 0 +45 262 0 +45 263 0 +45 264 0 +45 265 0 +45 266 0 +45 267 0 +45 268 0 +45 269 0 +45 270 0 +45 271 0 +45 272 0 +45 273 0 +45 274 0 +45 275 0 +45 276 0 +45 277 0 +45 278 0 +45 279 0 +45 280 0 +45 281 0 +45 282 0 +45 283 0 +45 284 0 +45 285 0 +45 286 0 +45 287 0 +45 288 0 +45 289 0 +45 290 0 +45 291 0 +45 292 0 +45 293 0 +45 294 0 +45 295 0 +45 296 0 +45 297 0 +45 298 0 +45 299 0 +45 300 0 +45 301 0 +45 302 0 +45 303 0 +45 304 0 +45 305 0 +45 306 0 +45 307 0 +45 308 0 +45 309 0 +45 310 0 +45 311 0 +45 312 0 +45 313 0 +45 314 0 +45 315 0 +45 316 0 +45 317 0 +45 318 0 +45 319 0 +45 320 0 +45 321 0 +45 322 0 +45 323 0 +45 324 0 +45 325 0 +45 326 0 +45 327 0 +45 328 0 +45 329 0 +45 330 0 +45 331 0 +45 332 0 +45 333 0 +45 334 0 +45 335 0 +45 336 0 +45 337 0 +45 338 0 +45 339 0 +45 340 0 +45 341 0 +45 342 0 +45 343 0 +45 344 0 +45 345 0 +45 346 0 +45 347 0 +45 348 0 +45 349 0 +45 350 0 +45 351 0 +45 352 0 +45 353 0 +45 354 0 +45 355 0 +45 356 0 +45 357 0 +45 358 0 +45 359 0 +45 360 0 +45 361 0 +45 362 0 +45 363 0 +45 364 0 +45 365 0 +45 366 0 +45 367 0 +45 368 0 +45 369 0 +45 370 0 +45 371 0 +45 372 0 +45 373 0 +45 374 0 +45 375 0 +45 376 0 +45 377 0 +45 378 0 +45 379 0 +45 380 0 +45 381 0 +45 382 0 +45 383 0 +46 47 0 +46 48 0 +46 49 0 +46 50 0 +46 51 0 +46 52 0 +46 53 0 +46 54 0 +46 55 0 +46 56 0 +46 57 0 +46 58 0 +46 59 0 +46 60 0 +46 61 0 +46 62 0 +46 63 0 +46 64 0 +46 65 0 +46 66 0 +46 67 0 +46 68 0 +46 69 0 +46 70 0 +46 71 0 +46 72 0 +46 73 0 +46 74 0 +46 75 0 +46 76 0 +46 77 0 +46 78 0 +46 79 0 +46 80 0 +46 81 0 +46 82 0 +46 83 0 +46 84 0 +46 85 0 +46 86 0 +46 87 0 +46 88 0 +46 89 0 +46 90 0 +46 91 0 +46 92 0 +46 93 0 +46 94 0 +46 95 0 +46 96 0 +46 97 0 +46 98 0 +46 99 0 +46 100 0 +46 101 0 +46 102 0 +46 103 0 +46 104 0 +46 105 0 +46 106 0 +46 107 0 +46 108 0 +46 109 0 +46 110 0 +46 111 0 +46 112 0 +46 113 0 +46 114 0 +46 115 0 +46 116 0 +46 117 0 +46 118 0 +46 119 0 +46 120 0 +46 121 0 +46 122 0 +46 123 0 +46 124 0 +46 125 0 +46 126 0 +46 127 0 +46 128 0 +46 129 0 +46 130 0 +46 131 0 +46 132 0 +46 133 0 +46 134 0 +46 135 0 +46 136 0 +46 137 0 +46 138 0 +46 139 0 +46 140 0 +46 141 0 +46 142 0 +46 143 0 +46 144 0 +46 145 0 +46 146 0 +46 147 0 +46 148 0 +46 149 0 +46 150 0 +46 151 0 +46 152 0 +46 153 0 +46 154 0 +46 155 0 +46 156 0 +46 157 0 +46 158 0 +46 159 0 +46 160 0 +46 161 0 +46 162 0 +46 163 0 +46 164 0 +46 165 0 +46 166 0 +46 167 0 +46 168 0 +46 169 0 +46 170 0 +46 171 0 +46 172 0 +46 173 0 +46 174 0 +46 175 0 +46 176 0 +46 177 0 +46 178 0 +46 179 0 +46 180 0 +46 181 0 +46 182 0 +46 183 0 +46 184 0 +46 185 0 +46 186 0 +46 187 0 +46 188 0 +46 189 0 +46 190 0 +46 191 0 +46 192 0 +46 193 0 +46 194 0 +46 195 0 +46 196 0 +46 197 0 +46 198 0 +46 199 0 +46 200 0 +46 201 0 +46 202 0 +46 203 0 +46 204 0 +46 205 0 +46 206 0 +46 207 0 +46 208 0 +46 209 0 +46 210 0 +46 211 0 +46 212 0 +46 213 0 +46 214 0 +46 215 0 +46 216 0 +46 217 0 +46 218 0 +46 219 0 +46 220 0 +46 221 0 +46 222 0 +46 223 0 +46 224 0 +46 225 0 +46 226 0 +46 227 0 +46 228 0 +46 229 0 +46 230 0 +46 231 0 +46 232 0 +46 233 0 +46 234 0 +46 235 0 +46 236 0 +46 237 0 +46 238 0 +46 239 0 +46 240 0 +46 241 0 +46 242 0 +46 243 0 +46 244 0 +46 245 0 +46 246 0 +46 247 0 +46 248 0 +46 249 0 +46 250 0 +46 251 0 +46 252 0 +46 253 0 +46 254 0 +46 255 0 +46 256 0 +46 257 0 +46 258 0 +46 259 0 +46 260 0 +46 261 0 +46 262 0 +46 263 0 +46 264 0 +46 265 0 +46 266 0 +46 267 0 +46 268 0 +46 269 0 +46 270 0 +46 271 0 +46 272 0 +46 273 0 +46 274 0 +46 275 0 +46 276 0 +46 277 0 +46 278 0 +46 279 0 +46 280 0 +46 281 0 +46 282 0 +46 283 0 +46 284 0 +46 285 0 +46 286 0 +46 287 0 +46 288 0 +46 289 0 +46 290 0 +46 291 0 +46 292 0 +46 293 0 +46 294 0 +46 295 0 +46 296 0 +46 297 0 +46 298 0 +46 299 0 +46 300 0 +46 301 0 +46 302 0 +46 303 0 +46 304 0 +46 305 0 +46 306 0 +46 307 0 +46 308 0 +46 309 0 +46 310 0 +46 311 0 +46 312 0 +46 313 0 +46 314 0 +46 315 0 +46 316 0 +46 317 0 +46 318 0 +46 319 0 +46 320 0 +46 321 0 +46 322 0 +46 323 0 +46 324 0 +46 325 0 +46 326 0 +46 327 0 +46 328 0 +46 329 0 +46 330 0 +46 331 0 +46 332 0 +46 333 0 +46 334 0 +46 335 0 +46 336 0 +46 337 0 +46 338 0 +46 339 0 +46 340 0 +46 341 0 +46 342 0 +46 343 0 +46 344 0 +46 345 0 +46 346 0 +46 347 0 +46 348 0 +46 349 0 +46 350 0 +46 351 0 +46 352 0 +46 353 0 +46 354 0 +46 355 0 +46 356 0 +46 357 0 +46 358 0 +46 359 0 +46 360 0 +46 361 0 +46 362 0 +46 363 0 +46 364 0 +46 365 0 +46 366 0 +46 367 0 +46 368 0 +46 369 0 +46 370 0 +46 371 0 +46 372 0 +46 373 0 +46 374 0 +46 375 0 +46 376 0 +46 377 0 +46 378 0 +46 379 0 +46 380 0 +46 381 0 +46 382 0 +46 383 0 +47 48 0 +47 49 0 +47 50 0 +47 51 0 +47 52 0 +47 53 0 +47 54 0 +47 55 0 +47 56 0 +47 57 0 +47 58 0 +47 59 0 +47 60 0 +47 61 0 +47 62 0 +47 63 0 +47 64 0 +47 65 0 +47 66 0 +47 67 0 +47 68 0 +47 69 0 +47 70 0 +47 71 0 +47 72 0 +47 73 0 +47 74 0 +47 75 0 +47 76 0 +47 77 0 +47 78 0 +47 79 0 +47 80 0 +47 81 0 +47 82 0 +47 83 0 +47 84 0 +47 85 0 +47 86 0 +47 87 0 +47 88 0 +47 89 0 +47 90 0 +47 91 0 +47 92 0 +47 93 0 +47 94 0 +47 95 0 +47 96 0 +47 97 0 +47 98 0 +47 99 0 +47 100 0 +47 101 0 +47 102 0 +47 103 0 +47 104 0 +47 105 0 +47 106 0 +47 107 0 +47 108 0 +47 109 0 +47 110 0 +47 111 0 +47 112 0 +47 113 0 +47 114 0 +47 115 0 +47 116 0 +47 117 0 +47 118 0 +47 119 0 +47 120 0 +47 121 0 +47 122 0 +47 123 0 +47 124 0 +47 125 0 +47 126 0 +47 127 0 +47 128 0 +47 129 0 +47 130 0 +47 131 0 +47 132 0 +47 133 0 +47 134 0 +47 135 0 +47 136 0 +47 137 0 +47 138 0 +47 139 0 +47 140 0 +47 141 0 +47 142 0 +47 143 0 +47 144 0 +47 145 0 +47 146 0 +47 147 0 +47 148 0 +47 149 0 +47 150 0 +47 151 0 +47 152 0 +47 153 0 +47 154 0 +47 155 0 +47 156 0 +47 157 0 +47 158 0 +47 159 0 +47 160 0 +47 161 0 +47 162 0 +47 163 0 +47 164 0 +47 165 0 +47 166 0 +47 167 0 +47 168 0 +47 169 0 +47 170 0 +47 171 0 +47 172 0 +47 173 0 +47 174 0 +47 175 0 +47 176 0 +47 177 0 +47 178 0 +47 179 0 +47 180 0 +47 181 0 +47 182 0 +47 183 0 +47 184 0 +47 185 0 +47 186 0 +47 187 0 +47 188 0 +47 189 0 +47 190 0 +47 191 0 +47 192 0 +47 193 0 +47 194 0 +47 195 0 +47 196 0 +47 197 0 +47 198 0 +47 199 0 +47 200 0 +47 201 0 +47 202 0 +47 203 0 +47 204 0 +47 205 0 +47 206 0 +47 207 0 +47 208 0 +47 209 0 +47 210 0 +47 211 0 +47 212 0 +47 213 0 +47 214 0 +47 215 0 +47 216 0 +47 217 0 +47 218 0 +47 219 0 +47 220 0 +47 221 0 +47 222 0 +47 223 0 +47 224 0 +47 225 0 +47 226 0 +47 227 0 +47 228 0 +47 229 0 +47 230 0 +47 231 0 +47 232 0 +47 233 0 +47 234 0 +47 235 0 +47 236 0 +47 237 0 +47 238 0 +47 239 0 +47 240 0 +47 241 0 +47 242 0 +47 243 0 +47 244 0 +47 245 0 +47 246 0 +47 247 0 +47 248 0 +47 249 0 +47 250 0 +47 251 0 +47 252 0 +47 253 0 +47 254 0 +47 255 0 +47 256 0 +47 257 0 +47 258 0 +47 259 0 +47 260 0 +47 261 0 +47 262 0 +47 263 0 +47 264 0 +47 265 0 +47 266 0 +47 267 0 +47 268 0 +47 269 0 +47 270 0 +47 271 0 +47 272 0 +47 273 0 +47 274 0 +47 275 0 +47 276 0 +47 277 0 +47 278 0 +47 279 0 +47 280 0 +47 281 0 +47 282 0 +47 283 0 +47 284 0 +47 285 0 +47 286 0 +47 287 0 +47 288 0 +47 289 0 +47 290 0 +47 291 0 +47 292 0 +47 293 0 +47 294 0 +47 295 0 +47 296 0 +47 297 0 +47 298 0 +47 299 0 +47 300 0 +47 301 0 +47 302 0 +47 303 0 +47 304 0 +47 305 0 +47 306 0 +47 307 0 +47 308 0 +47 309 0 +47 310 0 +47 311 0 +47 312 0 +47 313 0 +47 314 0 +47 315 0 +47 316 0 +47 317 0 +47 318 0 +47 319 0 +47 320 0 +47 321 0 +47 322 0 +47 323 0 +47 324 0 +47 325 0 +47 326 0 +47 327 0 +47 328 0 +47 329 0 +47 330 0 +47 331 0 +47 332 0 +47 333 0 +47 334 0 +47 335 0 +47 336 0 +47 337 0 +47 338 0 +47 339 0 +47 340 0 +47 341 0 +47 342 0 +47 343 0 +47 344 0 +47 345 0 +47 346 0 +47 347 0 +47 348 0 +47 349 0 +47 350 0 +47 351 0 +47 352 0 +47 353 0 +47 354 0 +47 355 0 +47 356 0 +47 357 0 +47 358 0 +47 359 0 +47 360 0 +47 361 0 +47 362 0 +47 363 0 +47 364 0 +47 365 0 +47 366 0 +47 367 0 +47 368 0 +47 369 0 +47 370 0 +47 371 0 +47 372 0 +47 373 0 +47 374 0 +47 375 0 +47 376 0 +47 377 0 +47 378 0 +47 379 0 +47 380 0 +47 381 0 +47 382 0 +47 383 0 +48 49 0 +48 50 0 +48 51 0 +48 52 0 +48 53 0 +48 54 0 +48 55 0 +48 56 0 +48 57 0 +48 58 0 +48 59 0 +48 60 0 +48 61 0 +48 62 0 +48 63 0 +48 64 0 +48 65 0 +48 66 0 +48 67 0 +48 68 0 +48 69 0 +48 70 0 +48 71 0 +48 72 0 +48 73 0 +48 74 0 +48 75 0 +48 76 0 +48 77 0 +48 78 0 +48 79 0 +48 80 0 +48 81 0 +48 82 0 +48 83 0 +48 84 0 +48 85 0 +48 86 0 +48 87 0 +48 88 0 +48 89 0 +48 90 0 +48 91 0 +48 92 0 +48 93 0 +48 94 0 +48 95 0 +48 96 0 +48 97 0 +48 98 0 +48 99 0 +48 100 0 +48 101 0 +48 102 0 +48 103 0 +48 104 0 +48 105 0 +48 106 0 +48 107 0 +48 108 0 +48 109 0 +48 110 0 +48 111 0 +48 112 0 +48 113 0 +48 114 0 +48 115 0 +48 116 0 +48 117 0 +48 118 0 +48 119 0 +48 120 0 +48 121 0 +48 122 0 +48 123 0 +48 124 0 +48 125 0 +48 126 0 +48 127 0 +48 128 0 +48 129 0 +48 130 0 +48 131 0 +48 132 0 +48 133 0 +48 134 0 +48 135 0 +48 136 0 +48 137 0 +48 138 0 +48 139 0 +48 140 0 +48 141 0 +48 142 0 +48 143 0 +48 144 0 +48 145 0 +48 146 0 +48 147 0 +48 148 0 +48 149 0 +48 150 0 +48 151 0 +48 152 0 +48 153 0 +48 154 0 +48 155 0 +48 156 0 +48 157 0 +48 158 0 +48 159 0 +48 160 0 +48 161 0 +48 162 0 +48 163 0 +48 164 0 +48 165 0 +48 166 0 +48 167 0 +48 168 0 +48 169 0 +48 170 0 +48 171 0 +48 172 0 +48 173 0 +48 174 0 +48 175 0 +48 176 0 +48 177 0 +48 178 0 +48 179 0 +48 180 0 +48 181 0 +48 182 0 +48 183 0 +48 184 0 +48 185 0 +48 186 0 +48 187 0 +48 188 0 +48 189 0 +48 190 0 +48 191 0 +48 192 0 +48 193 0 +48 194 0 +48 195 0 +48 196 0 +48 197 0 +48 198 0 +48 199 0 +48 200 0 +48 201 0 +48 202 0 +48 203 0 +48 204 0 +48 205 0 +48 206 0 +48 207 0 +48 208 0 +48 209 0 +48 210 0 +48 211 0 +48 212 0 +48 213 0 +48 214 0 +48 215 0 +48 216 0 +48 217 0 +48 218 0 +48 219 0 +48 220 0 +48 221 0 +48 222 0 +48 223 0 +48 224 0 +48 225 0 +48 226 0 +48 227 0 +48 228 0 +48 229 0 +48 230 0 +48 231 0 +48 232 0 +48 233 0 +48 234 0 +48 235 0 +48 236 0 +48 237 0 +48 238 0 +48 239 0 +48 240 0 +48 241 0 +48 242 0 +48 243 0 +48 244 0 +48 245 0 +48 246 0 +48 247 0 +48 248 0 +48 249 0 +48 250 0 +48 251 0 +48 252 0 +48 253 0 +48 254 0 +48 255 0 +48 256 0 +48 257 0 +48 258 0 +48 259 0 +48 260 0 +48 261 0 +48 262 0 +48 263 0 +48 264 0 +48 265 0 +48 266 0 +48 267 0 +48 268 0 +48 269 0 +48 270 0 +48 271 0 +48 272 0 +48 273 0 +48 274 0 +48 275 0 +48 276 0 +48 277 0 +48 278 0 +48 279 0 +48 280 0 +48 281 0 +48 282 0 +48 283 0 +48 284 0 +48 285 0 +48 286 0 +48 287 0 +48 288 0 +48 289 0 +48 290 0 +48 291 0 +48 292 0 +48 293 0 +48 294 0 +48 295 0 +48 296 0 +48 297 0 +48 298 0 +48 299 0 +48 300 0 +48 301 0 +48 302 0 +48 303 0 +48 304 0 +48 305 0 +48 306 0 +48 307 0 +48 308 0 +48 309 0 +48 310 0 +48 311 0 +48 312 0 +48 313 0 +48 314 0 +48 315 0 +48 316 0 +48 317 0 +48 318 0 +48 319 0 +48 320 0 +48 321 0 +48 322 0 +48 323 0 +48 324 0 +48 325 0 +48 326 0 +48 327 0 +48 328 0 +48 329 0 +48 330 0 +48 331 0 +48 332 0 +48 333 0 +48 334 0 +48 335 0 +48 336 0 +48 337 0 +48 338 0 +48 339 0 +48 340 0 +48 341 0 +48 342 0 +48 343 0 +48 344 0 +48 345 0 +48 346 0 +48 347 0 +48 348 0 +48 349 0 +48 350 0 +48 351 0 +48 352 0 +48 353 0 +48 354 0 +48 355 0 +48 356 0 +48 357 0 +48 358 0 +48 359 0 +48 360 0 +48 361 0 +48 362 0 +48 363 0 +48 364 0 +48 365 0 +48 366 0 +48 367 0 +48 368 0 +48 369 0 +48 370 0 +48 371 0 +48 372 0 +48 373 0 +48 374 0 +48 375 0 +48 376 0 +48 377 0 +48 378 0 +48 379 0 +48 380 0 +48 381 0 +48 382 0 +48 383 0 +49 50 0 +49 51 0 +49 52 0 +49 53 0 +49 54 0 +49 55 0 +49 56 0 +49 57 0 +49 58 0 +49 59 0 +49 60 0 +49 61 0 +49 62 0 +49 63 0 +49 64 0 +49 65 0 +49 66 0 +49 67 0 +49 68 0 +49 69 0 +49 70 0 +49 71 0 +49 72 0 +49 73 0 +49 74 0 +49 75 0 +49 76 0 +49 77 0 +49 78 0 +49 79 0 +49 80 0 +49 81 0 +49 82 0 +49 83 0 +49 84 0 +49 85 0 +49 86 0 +49 87 0 +49 88 0 +49 89 0 +49 90 0 +49 91 0 +49 92 0 +49 93 0 +49 94 0 +49 95 0 +49 96 0 +49 97 0 +49 98 0 +49 99 0 +49 100 0 +49 101 0 +49 102 0 +49 103 0 +49 104 0 +49 105 0 +49 106 0 +49 107 0 +49 108 0 +49 109 0 +49 110 0 +49 111 0 +49 112 0 +49 113 0 +49 114 0 +49 115 0 +49 116 0 +49 117 0 +49 118 0 +49 119 0 +49 120 0 +49 121 0 +49 122 0 +49 123 0 +49 124 0 +49 125 0 +49 126 0 +49 127 0 +49 128 0 +49 129 0 +49 130 0 +49 131 0 +49 132 0 +49 133 0 +49 134 0 +49 135 0 +49 136 0 +49 137 0 +49 138 0 +49 139 0 +49 140 0 +49 141 0 +49 142 0 +49 143 0 +49 144 0 +49 145 0 +49 146 0 +49 147 0 +49 148 0 +49 149 0 +49 150 0 +49 151 0 +49 152 0 +49 153 0 +49 154 0 +49 155 0 +49 156 0 +49 157 0 +49 158 0 +49 159 0 +49 160 0 +49 161 0 +49 162 0 +49 163 0 +49 164 0 +49 165 0 +49 166 0 +49 167 0 +49 168 0 +49 169 0 +49 170 0 +49 171 0 +49 172 0 +49 173 0 +49 174 0 +49 175 0 +49 176 0 +49 177 0 +49 178 0 +49 179 0 +49 180 0 +49 181 0 +49 182 0 +49 183 0 +49 184 0 +49 185 0 +49 186 0 +49 187 0 +49 188 0 +49 189 0 +49 190 0 +49 191 0 +49 192 0 +49 193 0 +49 194 0 +49 195 0 +49 196 0 +49 197 0 +49 198 0 +49 199 0 +49 200 0 +49 201 0 +49 202 0 +49 203 0 +49 204 0 +49 205 0 +49 206 0 +49 207 0 +49 208 0 +49 209 0 +49 210 0 +49 211 0 +49 212 0 +49 213 0 +49 214 0 +49 215 0 +49 216 0 +49 217 0 +49 218 0 +49 219 0 +49 220 0 +49 221 0 +49 222 0 +49 223 0 +49 224 0 +49 225 0 +49 226 0 +49 227 0 +49 228 0 +49 229 0 +49 230 0 +49 231 0 +49 232 0 +49 233 0 +49 234 0 +49 235 0 +49 236 0 +49 237 0 +49 238 0 +49 239 0 +49 240 0 +49 241 0 +49 242 0 +49 243 0 +49 244 0 +49 245 0 +49 246 0 +49 247 0 +49 248 0 +49 249 0 +49 250 0 +49 251 0 +49 252 0 +49 253 0 +49 254 0 +49 255 0 +49 256 0 +49 257 0 +49 258 0 +49 259 0 +49 260 0 +49 261 0 +49 262 0 +49 263 0 +49 264 0 +49 265 0 +49 266 0 +49 267 0 +49 268 0 +49 269 0 +49 270 0 +49 271 0 +49 272 0 +49 273 0 +49 274 0 +49 275 0 +49 276 0 +49 277 0 +49 278 0 +49 279 0 +49 280 0 +49 281 0 +49 282 0 +49 283 0 +49 284 0 +49 285 0 +49 286 0 +49 287 0 +49 288 0 +49 289 0 +49 290 0 +49 291 0 +49 292 0 +49 293 0 +49 294 0 +49 295 0 +49 296 0 +49 297 0 +49 298 0 +49 299 0 +49 300 0 +49 301 0 +49 302 0 +49 303 0 +49 304 0 +49 305 0 +49 306 0 +49 307 0 +49 308 0 +49 309 0 +49 310 0 +49 311 0 +49 312 0 +49 313 0 +49 314 0 +49 315 0 +49 316 0 +49 317 0 +49 318 0 +49 319 0 +49 320 0 +49 321 0 +49 322 0 +49 323 0 +49 324 0 +49 325 0 +49 326 0 +49 327 0 +49 328 0 +49 329 0 +49 330 0 +49 331 0 +49 332 0 +49 333 0 +49 334 0 +49 335 0 +49 336 0 +49 337 0 +49 338 0 +49 339 0 +49 340 0 +49 341 0 +49 342 0 +49 343 0 +49 344 0 +49 345 0 +49 346 0 +49 347 0 +49 348 0 +49 349 0 +49 350 0 +49 351 0 +49 352 0 +49 353 0 +49 354 0 +49 355 0 +49 356 0 +49 357 0 +49 358 0 +49 359 0 +49 360 0 +49 361 0 +49 362 0 +49 363 0 +49 364 0 +49 365 0 +49 366 0 +49 367 0 +49 368 0 +49 369 0 +49 370 0 +49 371 0 +49 372 0 +49 373 0 +49 374 0 +49 375 0 +49 376 0 +49 377 0 +49 378 0 +49 379 0 +49 380 0 +49 381 0 +49 382 0 +49 383 0 +50 51 0 +50 52 0 +50 53 0 +50 54 0 +50 55 0 +50 56 0 +50 57 0 +50 58 0 +50 59 0 +50 60 0 +50 61 0 +50 62 0 +50 63 0 +50 64 0 +50 65 0 +50 66 0 +50 67 0 +50 68 0 +50 69 0 +50 70 0 +50 71 0 +50 72 0 +50 73 0 +50 74 0 +50 75 0 +50 76 0 +50 77 0 +50 78 0 +50 79 0 +50 80 0 +50 81 0 +50 82 0 +50 83 0 +50 84 0 +50 85 0 +50 86 0 +50 87 0 +50 88 0 +50 89 0 +50 90 0 +50 91 0 +50 92 0 +50 93 0 +50 94 0 +50 95 0 +50 96 0 +50 97 0 +50 98 0 +50 99 0 +50 100 0 +50 101 0 +50 102 0 +50 103 0 +50 104 0 +50 105 0 +50 106 0 +50 107 0 +50 108 0 +50 109 0 +50 110 0 +50 111 0 +50 112 0 +50 113 0 +50 114 0 +50 115 0 +50 116 0 +50 117 0 +50 118 0 +50 119 0 +50 120 0 +50 121 0 +50 122 0 +50 123 0 +50 124 0 +50 125 0 +50 126 0 +50 127 0 +50 128 0 +50 129 0 +50 130 0 +50 131 0 +50 132 0 +50 133 0 +50 134 0 +50 135 0 +50 136 0 +50 137 0 +50 138 0 +50 139 0 +50 140 0 +50 141 0 +50 142 0 +50 143 0 +50 144 0 +50 145 0 +50 146 0 +50 147 0 +50 148 0 +50 149 0 +50 150 0 +50 151 0 +50 152 0 +50 153 0 +50 154 0 +50 155 0 +50 156 0 +50 157 0 +50 158 0 +50 159 0 +50 160 0 +50 161 0 +50 162 0 +50 163 0 +50 164 0 +50 165 0 +50 166 0 +50 167 0 +50 168 0 +50 169 0 +50 170 0 +50 171 0 +50 172 0 +50 173 0 +50 174 0 +50 175 0 +50 176 0 +50 177 0 +50 178 0 +50 179 0 +50 180 0 +50 181 0 +50 182 0 +50 183 0 +50 184 0 +50 185 0 +50 186 0 +50 187 0 +50 188 0 +50 189 0 +50 190 0 +50 191 0 +50 192 0 +50 193 0 +50 194 0 +50 195 0 +50 196 0 +50 197 0 +50 198 0 +50 199 0 +50 200 0 +50 201 0 +50 202 0 +50 203 0 +50 204 0 +50 205 0 +50 206 0 +50 207 0 +50 208 0 +50 209 0 +50 210 0 +50 211 0 +50 212 0 +50 213 0 +50 214 0 +50 215 0 +50 216 0 +50 217 0 +50 218 0 +50 219 0 +50 220 0 +50 221 0 +50 222 0 +50 223 0 +50 224 0 +50 225 0 +50 226 0 +50 227 0 +50 228 0 +50 229 0 +50 230 0 +50 231 0 +50 232 0 +50 233 0 +50 234 0 +50 235 0 +50 236 0 +50 237 0 +50 238 0 +50 239 0 +50 240 0 +50 241 0 +50 242 0 +50 243 0 +50 244 0 +50 245 0 +50 246 0 +50 247 0 +50 248 0 +50 249 0 +50 250 0 +50 251 0 +50 252 0 +50 253 0 +50 254 0 +50 255 0 +50 256 0 +50 257 0 +50 258 0 +50 259 0 +50 260 0 +50 261 0 +50 262 0 +50 263 0 +50 264 0 +50 265 0 +50 266 0 +50 267 0 +50 268 0 +50 269 0 +50 270 0 +50 271 0 +50 272 0 +50 273 0 +50 274 0 +50 275 0 +50 276 0 +50 277 0 +50 278 0 +50 279 0 +50 280 0 +50 281 0 +50 282 0 +50 283 0 +50 284 0 +50 285 0 +50 286 0 +50 287 0 +50 288 0 +50 289 0 +50 290 0 +50 291 0 +50 292 0 +50 293 0 +50 294 0 +50 295 0 +50 296 0 +50 297 0 +50 298 0 +50 299 0 +50 300 0 +50 301 0 +50 302 0 +50 303 0 +50 304 0 +50 305 0 +50 306 0 +50 307 0 +50 308 0 +50 309 0 +50 310 0 +50 311 0 +50 312 0 +50 313 0 +50 314 0 +50 315 0 +50 316 0 +50 317 0 +50 318 0 +50 319 0 +50 320 0 +50 321 0 +50 322 0 +50 323 0 +50 324 0 +50 325 0 +50 326 0 +50 327 0 +50 328 0 +50 329 0 +50 330 0 +50 331 0 +50 332 0 +50 333 0 +50 334 0 +50 335 0 +50 336 0 +50 337 0 +50 338 0 +50 339 0 +50 340 0 +50 341 0 +50 342 0 +50 343 0 +50 344 0 +50 345 0 +50 346 0 +50 347 0 +50 348 0 +50 349 0 +50 350 0 +50 351 0 +50 352 0 +50 353 0 +50 354 0 +50 355 0 +50 356 0 +50 357 0 +50 358 0 +50 359 0 +50 360 0 +50 361 0 +50 362 0 +50 363 0 +50 364 0 +50 365 0 +50 366 0 +50 367 0 +50 368 0 +50 369 0 +50 370 0 +50 371 0 +50 372 0 +50 373 0 +50 374 0 +50 375 0 +50 376 0 +50 377 0 +50 378 0 +50 379 0 +50 380 0 +50 381 0 +50 382 0 +50 383 0 +51 52 0 +51 53 0 +51 54 0 +51 55 0 +51 56 0 +51 57 0 +51 58 0 +51 59 0 +51 60 0 +51 61 0 +51 62 0 +51 63 0 +51 64 0 +51 65 0 +51 66 0 +51 67 0 +51 68 0 +51 69 0 +51 70 0 +51 71 0 +51 72 0 +51 73 0 +51 74 0 +51 75 0 +51 76 0 +51 77 0 +51 78 0 +51 79 0 +51 80 0 +51 81 0 +51 82 0 +51 83 0 +51 84 0 +51 85 0 +51 86 0 +51 87 0 +51 88 0 +51 89 0 +51 90 0 +51 91 0 +51 92 0 +51 93 0 +51 94 0 +51 95 0 +51 96 0 +51 97 0 +51 98 0 +51 99 0 +51 100 0 +51 101 0 +51 102 0 +51 103 0 +51 104 0 +51 105 0 +51 106 0 +51 107 0 +51 108 0 +51 109 0 +51 110 0 +51 111 0 +51 112 0 +51 113 0 +51 114 0 +51 115 0 +51 116 0 +51 117 0 +51 118 0 +51 119 0 +51 120 0 +51 121 0 +51 122 0 +51 123 0 +51 124 0 +51 125 0 +51 126 0 +51 127 0 +51 128 0 +51 129 0 +51 130 0 +51 131 0 +51 132 0 +51 133 0 +51 134 0 +51 135 0 +51 136 0 +51 137 0 +51 138 0 +51 139 0 +51 140 0 +51 141 0 +51 142 0 +51 143 0 +51 144 0 +51 145 0 +51 146 0 +51 147 0 +51 148 0 +51 149 0 +51 150 0 +51 151 0 +51 152 0 +51 153 0 +51 154 0 +51 155 0 +51 156 0 +51 157 0 +51 158 0 +51 159 0 +51 160 0 +51 161 0 +51 162 0 +51 163 0 +51 164 0 +51 165 0 +51 166 0 +51 167 0 +51 168 0 +51 169 0 +51 170 0 +51 171 0 +51 172 0 +51 173 0 +51 174 0 +51 175 0 +51 176 0 +51 177 0 +51 178 0 +51 179 0 +51 180 0 +51 181 0 +51 182 0 +51 183 0 +51 184 0 +51 185 0 +51 186 0 +51 187 0 +51 188 0 +51 189 0 +51 190 0 +51 191 0 +51 192 0 +51 193 0 +51 194 0 +51 195 0 +51 196 0 +51 197 0 +51 198 0 +51 199 0 +51 200 0 +51 201 0 +51 202 0 +51 203 0 +51 204 0 +51 205 0 +51 206 0 +51 207 0 +51 208 0 +51 209 0 +51 210 0 +51 211 0 +51 212 0 +51 213 0 +51 214 0 +51 215 0 +51 216 0 +51 217 0 +51 218 0 +51 219 0 +51 220 0 +51 221 0 +51 222 0 +51 223 0 +51 224 0 +51 225 0 +51 226 0 +51 227 0 +51 228 0 +51 229 0 +51 230 0 +51 231 0 +51 232 0 +51 233 0 +51 234 0 +51 235 0 +51 236 0 +51 237 0 +51 238 0 +51 239 0 +51 240 0 +51 241 0 +51 242 0 +51 243 0 +51 244 0 +51 245 0 +51 246 0 +51 247 0 +51 248 0 +51 249 0 +51 250 0 +51 251 0 +51 252 0 +51 253 0 +51 254 0 +51 255 0 +51 256 0 +51 257 0 +51 258 0 +51 259 0 +51 260 0 +51 261 0 +51 262 0 +51 263 0 +51 264 0 +51 265 0 +51 266 0 +51 267 0 +51 268 0 +51 269 0 +51 270 0 +51 271 0 +51 272 0 +51 273 0 +51 274 0 +51 275 0 +51 276 0 +51 277 0 +51 278 0 +51 279 0 +51 280 0 +51 281 0 +51 282 0 +51 283 0 +51 284 0 +51 285 0 +51 286 0 +51 287 0 +51 288 0 +51 289 0 +51 290 0 +51 291 0 +51 292 0 +51 293 0 +51 294 0 +51 295 0 +51 296 0 +51 297 0 +51 298 0 +51 299 0 +51 300 0 +51 301 0 +51 302 0 +51 303 0 +51 304 0 +51 305 0 +51 306 0 +51 307 0 +51 308 0 +51 309 0 +51 310 0 +51 311 0 +51 312 0 +51 313 0 +51 314 0 +51 315 0 +51 316 0 +51 317 0 +51 318 0 +51 319 0 +51 320 0 +51 321 0 +51 322 0 +51 323 0 +51 324 0 +51 325 0 +51 326 0 +51 327 0 +51 328 0 +51 329 0 +51 330 0 +51 331 0 +51 332 0 +51 333 0 +51 334 0 +51 335 0 +51 336 0 +51 337 0 +51 338 0 +51 339 0 +51 340 0 +51 341 0 +51 342 0 +51 343 0 +51 344 0 +51 345 0 +51 346 0 +51 347 0 +51 348 0 +51 349 0 +51 350 0 +51 351 0 +51 352 0 +51 353 0 +51 354 0 +51 355 0 +51 356 0 +51 357 0 +51 358 0 +51 359 0 +51 360 0 +51 361 0 +51 362 0 +51 363 0 +51 364 0 +51 365 0 +51 366 0 +51 367 0 +51 368 0 +51 369 0 +51 370 0 +51 371 0 +51 372 0 +51 373 0 +51 374 0 +51 375 0 +51 376 0 +51 377 0 +51 378 0 +51 379 0 +51 380 0 +51 381 0 +51 382 0 +51 383 0 +52 53 0 +52 54 0 +52 55 0 +52 56 0 +52 57 0 +52 58 0 +52 59 0 +52 60 0 +52 61 0 +52 62 0 +52 63 0 +52 64 0 +52 65 0 +52 66 0 +52 67 0 +52 68 0 +52 69 0 +52 70 0 +52 71 0 +52 72 0 +52 73 0 +52 74 0 +52 75 0 +52 76 0 +52 77 0 +52 78 0 +52 79 0 +52 80 0 +52 81 0 +52 82 0 +52 83 0 +52 84 0 +52 85 0 +52 86 0 +52 87 0 +52 88 0 +52 89 0 +52 90 0 +52 91 0 +52 92 0 +52 93 0 +52 94 0 +52 95 0 +52 96 0 +52 97 0 +52 98 0 +52 99 0 +52 100 0 +52 101 0 +52 102 0 +52 103 0 +52 104 0 +52 105 0 +52 106 0 +52 107 0 +52 108 0 +52 109 0 +52 110 0 +52 111 0 +52 112 0 +52 113 0 +52 114 0 +52 115 0 +52 116 0 +52 117 0 +52 118 0 +52 119 0 +52 120 0 +52 121 0 +52 122 0 +52 123 0 +52 124 0 +52 125 0 +52 126 0 +52 127 0 +52 128 0 +52 129 0 +52 130 0 +52 131 0 +52 132 0 +52 133 0 +52 134 0 +52 135 0 +52 136 0 +52 137 0 +52 138 0 +52 139 0 +52 140 0 +52 141 0 +52 142 0 +52 143 0 +52 144 0 +52 145 0 +52 146 0 +52 147 0 +52 148 0 +52 149 0 +52 150 0 +52 151 0 +52 152 0 +52 153 0 +52 154 0 +52 155 0 +52 156 0 +52 157 0 +52 158 0 +52 159 0 +52 160 0 +52 161 0 +52 162 0 +52 163 0 +52 164 0 +52 165 0 +52 166 0 +52 167 0 +52 168 0 +52 169 0 +52 170 0 +52 171 0 +52 172 0 +52 173 0 +52 174 0 +52 175 0 +52 176 0 +52 177 0 +52 178 0 +52 179 0 +52 180 0 +52 181 0 +52 182 0 +52 183 0 +52 184 0 +52 185 0 +52 186 0 +52 187 0 +52 188 0 +52 189 0 +52 190 0 +52 191 0 +52 192 0 +52 193 0 +52 194 0 +52 195 0 +52 196 0 +52 197 0 +52 198 0 +52 199 0 +52 200 0 +52 201 0 +52 202 0 +52 203 0 +52 204 0 +52 205 0 +52 206 0 +52 207 0 +52 208 0 +52 209 0 +52 210 0 +52 211 0 +52 212 0 +52 213 0 +52 214 0 +52 215 0 +52 216 0 +52 217 0 +52 218 0 +52 219 0 +52 220 0 +52 221 0 +52 222 0 +52 223 0 +52 224 0 +52 225 0 +52 226 0 +52 227 0 +52 228 0 +52 229 0 +52 230 0 +52 231 0 +52 232 0 +52 233 0 +52 234 0 +52 235 0 +52 236 0 +52 237 0 +52 238 0 +52 239 0 +52 240 0 +52 241 0 +52 242 0 +52 243 0 +52 244 0 +52 245 0 +52 246 0 +52 247 0 +52 248 0 +52 249 0 +52 250 0 +52 251 0 +52 252 0 +52 253 0 +52 254 0 +52 255 0 +52 256 0 +52 257 0 +52 258 0 +52 259 0 +52 260 0 +52 261 0 +52 262 0 +52 263 0 +52 264 0 +52 265 0 +52 266 0 +52 267 0 +52 268 0 +52 269 0 +52 270 0 +52 271 0 +52 272 0 +52 273 0 +52 274 0 +52 275 0 +52 276 0 +52 277 0 +52 278 0 +52 279 0 +52 280 0 +52 281 0 +52 282 0 +52 283 0 +52 284 0 +52 285 0 +52 286 0 +52 287 0 +52 288 0 +52 289 0 +52 290 0 +52 291 0 +52 292 0 +52 293 0 +52 294 0 +52 295 0 +52 296 0 +52 297 0 +52 298 0 +52 299 0 +52 300 0 +52 301 0 +52 302 0 +52 303 0 +52 304 0 +52 305 0 +52 306 0 +52 307 0 +52 308 0 +52 309 0 +52 310 0 +52 311 0 +52 312 0 +52 313 0 +52 314 0 +52 315 0 +52 316 0 +52 317 0 +52 318 0 +52 319 0 +52 320 0 +52 321 0 +52 322 0 +52 323 0 +52 324 0 +52 325 0 +52 326 0 +52 327 0 +52 328 0 +52 329 0 +52 330 0 +52 331 0 +52 332 0 +52 333 0 +52 334 0 +52 335 0 +52 336 0 +52 337 0 +52 338 0 +52 339 0 +52 340 0 +52 341 0 +52 342 0 +52 343 0 +52 344 0 +52 345 0 +52 346 0 +52 347 0 +52 348 0 +52 349 0 +52 350 0 +52 351 0 +52 352 0 +52 353 0 +52 354 0 +52 355 0 +52 356 0 +52 357 0 +52 358 0 +52 359 0 +52 360 0 +52 361 0 +52 362 0 +52 363 0 +52 364 0 +52 365 0 +52 366 0 +52 367 0 +52 368 0 +52 369 0 +52 370 0 +52 371 0 +52 372 0 +52 373 0 +52 374 0 +52 375 0 +52 376 0 +52 377 0 +52 378 0 +52 379 0 +52 380 0 +52 381 0 +52 382 0 +52 383 0 +53 54 0 +53 55 0 +53 56 0 +53 57 0 +53 58 0 +53 59 0 +53 60 0 +53 61 0 +53 62 0 +53 63 0 +53 64 0 +53 65 0 +53 66 0 +53 67 0 +53 68 0 +53 69 0 +53 70 0 +53 71 0 +53 72 0 +53 73 0 +53 74 0 +53 75 0 +53 76 0 +53 77 0 +53 78 0 +53 79 0 +53 80 0 +53 81 0 +53 82 0 +53 83 0 +53 84 0 +53 85 0 +53 86 0 +53 87 0 +53 88 0 +53 89 0 +53 90 0 +53 91 0 +53 92 0 +53 93 0 +53 94 0 +53 95 0 +53 96 0 +53 97 0 +53 98 0 +53 99 0 +53 100 0 +53 101 0 +53 102 0 +53 103 0 +53 104 0 +53 105 0 +53 106 0 +53 107 0 +53 108 0 +53 109 0 +53 110 0 +53 111 0 +53 112 0 +53 113 0 +53 114 0 +53 115 0 +53 116 0 +53 117 0 +53 118 0 +53 119 0 +53 120 0 +53 121 0 +53 122 0 +53 123 0 +53 124 0 +53 125 0 +53 126 0 +53 127 0 +53 128 0 +53 129 0 +53 130 0 +53 131 0 +53 132 0 +53 133 0 +53 134 0 +53 135 0 +53 136 0 +53 137 0 +53 138 0 +53 139 0 +53 140 0 +53 141 0 +53 142 0 +53 143 0 +53 144 0 +53 145 0 +53 146 0 +53 147 0 +53 148 0 +53 149 0 +53 150 0 +53 151 0 +53 152 0 +53 153 0 +53 154 0 +53 155 0 +53 156 0 +53 157 0 +53 158 0 +53 159 0 +53 160 0 +53 161 0 +53 162 0 +53 163 0 +53 164 0 +53 165 0 +53 166 0 +53 167 0 +53 168 0 +53 169 0 +53 170 0 +53 171 0 +53 172 0 +53 173 0 +53 174 0 +53 175 0 +53 176 0 +53 177 0 +53 178 0 +53 179 0 +53 180 0 +53 181 0 +53 182 0 +53 183 0 +53 184 0 +53 185 0 +53 186 0 +53 187 0 +53 188 0 +53 189 0 +53 190 0 +53 191 0 +53 192 0 +53 193 0 +53 194 0 +53 195 0 +53 196 0 +53 197 0 +53 198 0 +53 199 0 +53 200 0 +53 201 0 +53 202 0 +53 203 0 +53 204 0 +53 205 0 +53 206 0 +53 207 0 +53 208 0 +53 209 0 +53 210 0 +53 211 0 +53 212 0 +53 213 0 +53 214 0 +53 215 0 +53 216 0 +53 217 0 +53 218 0 +53 219 0 +53 220 0 +53 221 0 +53 222 0 +53 223 0 +53 224 0 +53 225 0 +53 226 0 +53 227 0 +53 228 0 +53 229 0 +53 230 0 +53 231 0 +53 232 0 +53 233 0 +53 234 0 +53 235 0 +53 236 0 +53 237 0 +53 238 0 +53 239 0 +53 240 0 +53 241 0 +53 242 0 +53 243 0 +53 244 0 +53 245 0 +53 246 0 +53 247 0 +53 248 0 +53 249 0 +53 250 0 +53 251 0 +53 252 0 +53 253 0 +53 254 0 +53 255 0 +53 256 0 +53 257 0 +53 258 0 +53 259 0 +53 260 0 +53 261 0 +53 262 0 +53 263 0 +53 264 0 +53 265 0 +53 266 0 +53 267 0 +53 268 0 +53 269 0 +53 270 0 +53 271 0 +53 272 0 +53 273 0 +53 274 0 +53 275 0 +53 276 0 +53 277 0 +53 278 0 +53 279 0 +53 280 0 +53 281 0 +53 282 0 +53 283 0 +53 284 0 +53 285 0 +53 286 0 +53 287 0 +53 288 0 +53 289 0 +53 290 0 +53 291 0 +53 292 0 +53 293 0 +53 294 0 +53 295 0 +53 296 0 +53 297 0 +53 298 0 +53 299 0 +53 300 0 +53 301 0 +53 302 0 +53 303 0 +53 304 0 +53 305 0 +53 306 0 +53 307 0 +53 308 0 +53 309 0 +53 310 0 +53 311 0 +53 312 0 +53 313 0 +53 314 0 +53 315 0 +53 316 0 +53 317 0 +53 318 0 +53 319 0 +53 320 0 +53 321 0 +53 322 0 +53 323 0 +53 324 0 +53 325 0 +53 326 0 +53 327 0 +53 328 0 +53 329 0 +53 330 0 +53 331 0 +53 332 0 +53 333 0 +53 334 0 +53 335 0 +53 336 0 +53 337 0 +53 338 0 +53 339 0 +53 340 0 +53 341 0 +53 342 0 +53 343 0 +53 344 0 +53 345 0 +53 346 0 +53 347 0 +53 348 0 +53 349 0 +53 350 0 +53 351 0 +53 352 0 +53 353 0 +53 354 0 +53 355 0 +53 356 0 +53 357 0 +53 358 0 +53 359 0 +53 360 0 +53 361 0 +53 362 0 +53 363 0 +53 364 0 +53 365 0 +53 366 0 +53 367 0 +53 368 0 +53 369 0 +53 370 0 +53 371 0 +53 372 0 +53 373 0 +53 374 0 +53 375 0 +53 376 0 +53 377 0 +53 378 0 +53 379 0 +53 380 0 +53 381 0 +53 382 0 +53 383 0 +54 55 0 +54 56 0 +54 57 0 +54 58 0 +54 59 0 +54 60 0 +54 61 0 +54 62 0 +54 63 0 +54 64 0 +54 65 0 +54 66 0 +54 67 0 +54 68 0 +54 69 0 +54 70 0 +54 71 0 +54 72 0 +54 73 0 +54 74 0 +54 75 0 +54 76 0 +54 77 0 +54 78 0 +54 79 0 +54 80 0 +54 81 0 +54 82 0 +54 83 0 +54 84 0 +54 85 0 +54 86 0 +54 87 0 +54 88 0 +54 89 0 +54 90 0 +54 91 0 +54 92 0 +54 93 0 +54 94 0 +54 95 0 +54 96 0 +54 97 0 +54 98 0 +54 99 0 +54 100 0 +54 101 0 +54 102 0 +54 103 0 +54 104 0 +54 105 0 +54 106 0 +54 107 0 +54 108 0 +54 109 0 +54 110 0 +54 111 0 +54 112 0 +54 113 0 +54 114 0 +54 115 0 +54 116 0 +54 117 0 +54 118 0 +54 119 0 +54 120 0 +54 121 0 +54 122 0 +54 123 0 +54 124 0 +54 125 0 +54 126 0 +54 127 0 +54 128 0 +54 129 0 +54 130 0 +54 131 0 +54 132 0 +54 133 0 +54 134 0 +54 135 0 +54 136 0 +54 137 0 +54 138 0 +54 139 0 +54 140 0 +54 141 0 +54 142 0 +54 143 0 +54 144 0 +54 145 0 +54 146 0 +54 147 0 +54 148 0 +54 149 0 +54 150 0 +54 151 0 +54 152 0 +54 153 0 +54 154 0 +54 155 0 +54 156 0 +54 157 0 +54 158 0 +54 159 0 +54 160 0 +54 161 0 +54 162 0 +54 163 0 +54 164 0 +54 165 0 +54 166 0 +54 167 0 +54 168 0 +54 169 0 +54 170 0 +54 171 0 +54 172 0 +54 173 0 +54 174 0 +54 175 0 +54 176 0 +54 177 0 +54 178 0 +54 179 0 +54 180 0 +54 181 0 +54 182 0 +54 183 0 +54 184 0 +54 185 0 +54 186 0 +54 187 0 +54 188 0 +54 189 0 +54 190 0 +54 191 0 +54 192 0 +54 193 0 +54 194 0 +54 195 0 +54 196 0 +54 197 0 +54 198 0 +54 199 0 +54 200 0 +54 201 0 +54 202 0 +54 203 0 +54 204 0 +54 205 0 +54 206 0 +54 207 0 +54 208 0 +54 209 0 +54 210 0 +54 211 0 +54 212 0 +54 213 0 +54 214 0 +54 215 0 +54 216 0 +54 217 0 +54 218 0 +54 219 0 +54 220 0 +54 221 0 +54 222 0 +54 223 0 +54 224 0 +54 225 0 +54 226 0 +54 227 0 +54 228 0 +54 229 0 +54 230 0 +54 231 0 +54 232 0 +54 233 0 +54 234 0 +54 235 0 +54 236 0 +54 237 0 +54 238 0 +54 239 0 +54 240 0 +54 241 0 +54 242 0 +54 243 0 +54 244 0 +54 245 0 +54 246 0 +54 247 0 +54 248 0 +54 249 0 +54 250 0 +54 251 0 +54 252 0 +54 253 0 +54 254 0 +54 255 0 +54 256 0 +54 257 0 +54 258 0 +54 259 0 +54 260 0 +54 261 0 +54 262 0 +54 263 0 +54 264 0 +54 265 0 +54 266 0 +54 267 0 +54 268 0 +54 269 0 +54 270 0 +54 271 0 +54 272 0 +54 273 0 +54 274 0 +54 275 0 +54 276 0 +54 277 0 +54 278 0 +54 279 0 +54 280 0 +54 281 0 +54 282 0 +54 283 0 +54 284 0 +54 285 0 +54 286 0 +54 287 0 +54 288 0 +54 289 0 +54 290 0 +54 291 0 +54 292 0 +54 293 0 +54 294 0 +54 295 0 +54 296 0 +54 297 0 +54 298 0 +54 299 0 +54 300 0 +54 301 0 +54 302 0 +54 303 0 +54 304 0 +54 305 0 +54 306 0 +54 307 0 +54 308 0 +54 309 0 +54 310 0 +54 311 0 +54 312 0 +54 313 0 +54 314 0 +54 315 0 +54 316 0 +54 317 0 +54 318 0 +54 319 0 +54 320 0 +54 321 0 +54 322 0 +54 323 0 +54 324 0 +54 325 0 +54 326 0 +54 327 0 +54 328 0 +54 329 0 +54 330 0 +54 331 0 +54 332 0 +54 333 0 +54 334 0 +54 335 0 +54 336 0 +54 337 0 +54 338 0 +54 339 0 +54 340 0 +54 341 0 +54 342 0 +54 343 0 +54 344 0 +54 345 0 +54 346 0 +54 347 0 +54 348 0 +54 349 0 +54 350 0 +54 351 0 +54 352 0 +54 353 0 +54 354 0 +54 355 0 +54 356 0 +54 357 0 +54 358 0 +54 359 0 +54 360 0 +54 361 0 +54 362 0 +54 363 0 +54 364 0 +54 365 0 +54 366 0 +54 367 0 +54 368 0 +54 369 0 +54 370 0 +54 371 0 +54 372 0 +54 373 0 +54 374 0 +54 375 0 +54 376 0 +54 377 0 +54 378 0 +54 379 0 +54 380 0 +54 381 0 +54 382 0 +54 383 0 +55 56 0 +55 57 0 +55 58 0 +55 59 0 +55 60 0 +55 61 0 +55 62 0 +55 63 0 +55 64 0 +55 65 0 +55 66 0 +55 67 0 +55 68 0 +55 69 0 +55 70 0 +55 71 0 +55 72 0 +55 73 0 +55 74 0 +55 75 0 +55 76 0 +55 77 0 +55 78 0 +55 79 0 +55 80 0 +55 81 0 +55 82 0 +55 83 0 +55 84 0 +55 85 0 +55 86 0 +55 87 0 +55 88 0 +55 89 0 +55 90 0 +55 91 0 +55 92 0 +55 93 0 +55 94 0 +55 95 0 +55 96 0 +55 97 0 +55 98 0 +55 99 0 +55 100 0 +55 101 0 +55 102 0 +55 103 0 +55 104 0 +55 105 0 +55 106 0 +55 107 0 +55 108 0 +55 109 0 +55 110 0 +55 111 0 +55 112 0 +55 113 0 +55 114 0 +55 115 0 +55 116 0 +55 117 0 +55 118 0 +55 119 0 +55 120 0 +55 121 0 +55 122 0 +55 123 0 +55 124 0 +55 125 0 +55 126 0 +55 127 0 +55 128 0 +55 129 0 +55 130 0 +55 131 0 +55 132 0 +55 133 0 +55 134 0 +55 135 0 +55 136 0 +55 137 0 +55 138 0 +55 139 0 +55 140 0 +55 141 0 +55 142 0 +55 143 0 +55 144 0 +55 145 0 +55 146 0 +55 147 0 +55 148 0 +55 149 0 +55 150 0 +55 151 0 +55 152 0 +55 153 0 +55 154 0 +55 155 0 +55 156 0 +55 157 0 +55 158 0 +55 159 0 +55 160 0 +55 161 0 +55 162 0 +55 163 0 +55 164 0 +55 165 0 +55 166 0 +55 167 0 +55 168 0 +55 169 0 +55 170 0 +55 171 0 +55 172 0 +55 173 0 +55 174 0 +55 175 0 +55 176 0 +55 177 0 +55 178 0 +55 179 0 +55 180 0 +55 181 0 +55 182 0 +55 183 0 +55 184 0 +55 185 0 +55 186 0 +55 187 0 +55 188 0 +55 189 0 +55 190 0 +55 191 0 +55 192 0 +55 193 0 +55 194 0 +55 195 0 +55 196 0 +55 197 0 +55 198 0 +55 199 0 +55 200 0 +55 201 0 +55 202 0 +55 203 0 +55 204 0 +55 205 0 +55 206 0 +55 207 0 +55 208 0 +55 209 0 +55 210 0 +55 211 0 +55 212 0 +55 213 0 +55 214 0 +55 215 0 +55 216 0 +55 217 0 +55 218 0 +55 219 0 +55 220 0 +55 221 0 +55 222 0 +55 223 0 +55 224 0 +55 225 0 +55 226 0 +55 227 0 +55 228 0 +55 229 0 +55 230 0 +55 231 0 +55 232 0 +55 233 0 +55 234 0 +55 235 0 +55 236 0 +55 237 0 +55 238 0 +55 239 0 +55 240 0 +55 241 0 +55 242 0 +55 243 0 +55 244 0 +55 245 0 +55 246 0 +55 247 0 +55 248 0 +55 249 0 +55 250 0 +55 251 0 +55 252 0 +55 253 0 +55 254 0 +55 255 0 +55 256 0 +55 257 0 +55 258 0 +55 259 0 +55 260 0 +55 261 0 +55 262 0 +55 263 0 +55 264 0 +55 265 0 +55 266 0 +55 267 0 +55 268 0 +55 269 0 +55 270 0 +55 271 0 +55 272 0 +55 273 0 +55 274 0 +55 275 0 +55 276 0 +55 277 0 +55 278 0 +55 279 0 +55 280 0 +55 281 0 +55 282 0 +55 283 0 +55 284 0 +55 285 0 +55 286 0 +55 287 0 +55 288 0 +55 289 0 +55 290 0 +55 291 0 +55 292 0 +55 293 0 +55 294 0 +55 295 0 +55 296 0 +55 297 0 +55 298 0 +55 299 0 +55 300 0 +55 301 0 +55 302 0 +55 303 0 +55 304 0 +55 305 0 +55 306 0 +55 307 0 +55 308 0 +55 309 0 +55 310 0 +55 311 0 +55 312 0 +55 313 0 +55 314 0 +55 315 0 +55 316 0 +55 317 0 +55 318 0 +55 319 0 +55 320 0 +55 321 0 +55 322 0 +55 323 0 +55 324 0 +55 325 0 +55 326 0 +55 327 0 +55 328 0 +55 329 0 +55 330 0 +55 331 0 +55 332 0 +55 333 0 +55 334 0 +55 335 0 +55 336 0 +55 337 0 +55 338 0 +55 339 0 +55 340 0 +55 341 0 +55 342 0 +55 343 0 +55 344 0 +55 345 0 +55 346 0 +55 347 0 +55 348 0 +55 349 0 +55 350 0 +55 351 0 +55 352 0 +55 353 0 +55 354 0 +55 355 0 +55 356 0 +55 357 0 +55 358 0 +55 359 0 +55 360 0 +55 361 0 +55 362 0 +55 363 0 +55 364 0 +55 365 0 +55 366 0 +55 367 0 +55 368 0 +55 369 0 +55 370 0 +55 371 0 +55 372 0 +55 373 0 +55 374 0 +55 375 0 +55 376 0 +55 377 0 +55 378 0 +55 379 0 +55 380 0 +55 381 0 +55 382 0 +55 383 0 +56 57 0 +56 58 0 +56 59 0 +56 60 0 +56 61 0 +56 62 0 +56 63 0 +56 64 0 +56 65 0 +56 66 0 +56 67 0 +56 68 0 +56 69 0 +56 70 0 +56 71 0 +56 72 0 +56 73 0 +56 74 0 +56 75 0 +56 76 0 +56 77 0 +56 78 0 +56 79 0 +56 80 0 +56 81 0 +56 82 0 +56 83 0 +56 84 0 +56 85 0 +56 86 0 +56 87 0 +56 88 0 +56 89 0 +56 90 0 +56 91 0 +56 92 0 +56 93 0 +56 94 0 +56 95 0 +56 96 0 +56 97 0 +56 98 0 +56 99 0 +56 100 0 +56 101 0 +56 102 0 +56 103 0 +56 104 0 +56 105 0 +56 106 0 +56 107 0 +56 108 0 +56 109 0 +56 110 0 +56 111 0 +56 112 0 +56 113 0 +56 114 0 +56 115 0 +56 116 0 +56 117 0 +56 118 0 +56 119 0 +56 120 0 +56 121 0 +56 122 0 +56 123 0 +56 124 0 +56 125 0 +56 126 0 +56 127 0 +56 128 0 +56 129 0 +56 130 0 +56 131 0 +56 132 0 +56 133 0 +56 134 0 +56 135 0 +56 136 0 +56 137 0 +56 138 0 +56 139 0 +56 140 0 +56 141 0 +56 142 0 +56 143 0 +56 144 0 +56 145 0 +56 146 0 +56 147 0 +56 148 0 +56 149 0 +56 150 0 +56 151 0 +56 152 0 +56 153 0 +56 154 0 +56 155 0 +56 156 0 +56 157 0 +56 158 0 +56 159 0 +56 160 0 +56 161 0 +56 162 0 +56 163 0 +56 164 0 +56 165 0 +56 166 0 +56 167 0 +56 168 0 +56 169 0 +56 170 0 +56 171 0 +56 172 0 +56 173 0 +56 174 0 +56 175 0 +56 176 0 +56 177 0 +56 178 0 +56 179 0 +56 180 0 +56 181 0 +56 182 0 +56 183 0 +56 184 0 +56 185 0 +56 186 0 +56 187 0 +56 188 0 +56 189 0 +56 190 0 +56 191 0 +56 192 0 +56 193 0 +56 194 0 +56 195 0 +56 196 0 +56 197 0 +56 198 0 +56 199 0 +56 200 0 +56 201 0 +56 202 0 +56 203 0 +56 204 0 +56 205 0 +56 206 0 +56 207 0 +56 208 0 +56 209 0 +56 210 0 +56 211 0 +56 212 0 +56 213 0 +56 214 0 +56 215 0 +56 216 0 +56 217 0 +56 218 0 +56 219 0 +56 220 0 +56 221 0 +56 222 0 +56 223 0 +56 224 0 +56 225 0 +56 226 0 +56 227 0 +56 228 0 +56 229 0 +56 230 0 +56 231 0 +56 232 0 +56 233 0 +56 234 0 +56 235 0 +56 236 0 +56 237 0 +56 238 0 +56 239 0 +56 240 0 +56 241 0 +56 242 0 +56 243 0 +56 244 0 +56 245 0 +56 246 0 +56 247 0 +56 248 0 +56 249 0 +56 250 0 +56 251 0 +56 252 0 +56 253 0 +56 254 0 +56 255 0 +56 256 0 +56 257 0 +56 258 0 +56 259 0 +56 260 0 +56 261 0 +56 262 0 +56 263 0 +56 264 0 +56 265 0 +56 266 0 +56 267 0 +56 268 0 +56 269 0 +56 270 0 +56 271 0 +56 272 0 +56 273 0 +56 274 0 +56 275 0 +56 276 0 +56 277 0 +56 278 0 +56 279 0 +56 280 0 +56 281 0 +56 282 0 +56 283 0 +56 284 0 +56 285 0 +56 286 0 +56 287 0 +56 288 0 +56 289 0 +56 290 0 +56 291 0 +56 292 0 +56 293 0 +56 294 0 +56 295 0 +56 296 0 +56 297 0 +56 298 0 +56 299 0 +56 300 0 +56 301 0 +56 302 0 +56 303 0 +56 304 0 +56 305 0 +56 306 0 +56 307 0 +56 308 0 +56 309 0 +56 310 0 +56 311 0 +56 312 0 +56 313 0 +56 314 0 +56 315 0 +56 316 0 +56 317 0 +56 318 0 +56 319 0 +56 320 0 +56 321 0 +56 322 0 +56 323 0 +56 324 0 +56 325 0 +56 326 0 +56 327 0 +56 328 0 +56 329 0 +56 330 0 +56 331 0 +56 332 0 +56 333 0 +56 334 0 +56 335 0 +56 336 0 +56 337 0 +56 338 0 +56 339 0 +56 340 0 +56 341 0 +56 342 0 +56 343 0 +56 344 0 +56 345 0 +56 346 0 +56 347 0 +56 348 0 +56 349 0 +56 350 0 +56 351 0 +56 352 0 +56 353 0 +56 354 0 +56 355 0 +56 356 0 +56 357 0 +56 358 0 +56 359 0 +56 360 0 +56 361 0 +56 362 0 +56 363 0 +56 364 0 +56 365 0 +56 366 0 +56 367 0 +56 368 0 +56 369 0 +56 370 0 +56 371 0 +56 372 0 +56 373 0 +56 374 0 +56 375 0 +56 376 0 +56 377 0 +56 378 0 +56 379 0 +56 380 0 +56 381 0 +56 382 0 +56 383 0 +57 58 0 +57 59 0 +57 60 0 +57 61 0 +57 62 0 +57 63 0 +57 64 0 +57 65 0 +57 66 0 +57 67 0 +57 68 0 +57 69 0 +57 70 0 +57 71 0 +57 72 0 +57 73 0 +57 74 0 +57 75 0 +57 76 0 +57 77 0 +57 78 0 +57 79 0 +57 80 0 +57 81 0 +57 82 0 +57 83 0 +57 84 0 +57 85 0 +57 86 0 +57 87 0 +57 88 0 +57 89 0 +57 90 0 +57 91 0 +57 92 0 +57 93 0 +57 94 0 +57 95 0 +57 96 0 +57 97 0 +57 98 0 +57 99 0 +57 100 0 +57 101 0 +57 102 0 +57 103 0 +57 104 0 +57 105 0 +57 106 0 +57 107 0 +57 108 0 +57 109 0 +57 110 0 +57 111 0 +57 112 0 +57 113 0 +57 114 0 +57 115 0 +57 116 0 +57 117 0 +57 118 0 +57 119 0 +57 120 0 +57 121 0 +57 122 0 +57 123 0 +57 124 0 +57 125 0 +57 126 0 +57 127 0 +57 128 0 +57 129 0 +57 130 0 +57 131 0 +57 132 0 +57 133 0 +57 134 0 +57 135 0 +57 136 0 +57 137 0 +57 138 0 +57 139 0 +57 140 0 +57 141 0 +57 142 0 +57 143 0 +57 144 0 +57 145 0 +57 146 0 +57 147 0 +57 148 0 +57 149 0 +57 150 0 +57 151 0 +57 152 0 +57 153 0 +57 154 0 +57 155 0 +57 156 0 +57 157 0 +57 158 0 +57 159 0 +57 160 0 +57 161 0 +57 162 0 +57 163 0 +57 164 0 +57 165 0 +57 166 0 +57 167 0 +57 168 0 +57 169 0 +57 170 0 +57 171 0 +57 172 0 +57 173 0 +57 174 0 +57 175 0 +57 176 0 +57 177 0 +57 178 0 +57 179 0 +57 180 0 +57 181 0 +57 182 0 +57 183 0 +57 184 0 +57 185 0 +57 186 0 +57 187 0 +57 188 0 +57 189 0 +57 190 0 +57 191 0 +57 192 0 +57 193 0 +57 194 0 +57 195 0 +57 196 0 +57 197 0 +57 198 0 +57 199 0 +57 200 0 +57 201 0 +57 202 0 +57 203 0 +57 204 0 +57 205 0 +57 206 0 +57 207 0 +57 208 0 +57 209 0 +57 210 0 +57 211 0 +57 212 0 +57 213 0 +57 214 0 +57 215 0 +57 216 0 +57 217 0 +57 218 0 +57 219 0 +57 220 0 +57 221 0 +57 222 0 +57 223 0 +57 224 0 +57 225 0 +57 226 0 +57 227 0 +57 228 0 +57 229 0 +57 230 0 +57 231 0 +57 232 0 +57 233 0 +57 234 0 +57 235 0 +57 236 0 +57 237 0 +57 238 0 +57 239 0 +57 240 0 +57 241 0 +57 242 0 +57 243 0 +57 244 0 +57 245 0 +57 246 0 +57 247 0 +57 248 0 +57 249 0 +57 250 0 +57 251 0 +57 252 0 +57 253 0 +57 254 0 +57 255 0 +57 256 0 +57 257 0 +57 258 0 +57 259 0 +57 260 0 +57 261 0 +57 262 0 +57 263 0 +57 264 0 +57 265 0 +57 266 0 +57 267 0 +57 268 0 +57 269 0 +57 270 0 +57 271 0 +57 272 0 +57 273 0 +57 274 0 +57 275 0 +57 276 0 +57 277 0 +57 278 0 +57 279 0 +57 280 0 +57 281 0 +57 282 0 +57 283 0 +57 284 0 +57 285 0 +57 286 0 +57 287 0 +57 288 0 +57 289 0 +57 290 0 +57 291 0 +57 292 0 +57 293 0 +57 294 0 +57 295 0 +57 296 0 +57 297 0 +57 298 0 +57 299 0 +57 300 0 +57 301 0 +57 302 0 +57 303 0 +57 304 0 +57 305 0 +57 306 0 +57 307 0 +57 308 0 +57 309 0 +57 310 0 +57 311 0 +57 312 0 +57 313 0 +57 314 0 +57 315 0 +57 316 0 +57 317 0 +57 318 0 +57 319 0 +57 320 0 +57 321 0 +57 322 0 +57 323 0 +57 324 0 +57 325 0 +57 326 0 +57 327 0 +57 328 0 +57 329 0 +57 330 0 +57 331 0 +57 332 0 +57 333 0 +57 334 0 +57 335 0 +57 336 0 +57 337 0 +57 338 0 +57 339 0 +57 340 0 +57 341 0 +57 342 0 +57 343 0 +57 344 0 +57 345 0 +57 346 0 +57 347 0 +57 348 0 +57 349 0 +57 350 0 +57 351 0 +57 352 0 +57 353 0 +57 354 0 +57 355 0 +57 356 0 +57 357 0 +57 358 0 +57 359 0 +57 360 0 +57 361 0 +57 362 0 +57 363 0 +57 364 0 +57 365 0 +57 366 0 +57 367 0 +57 368 0 +57 369 0 +57 370 0 +57 371 0 +57 372 0 +57 373 0 +57 374 0 +57 375 0 +57 376 0 +57 377 0 +57 378 0 +57 379 0 +57 380 0 +57 381 0 +57 382 0 +57 383 0 +58 59 0 +58 60 0 +58 61 0 +58 62 0 +58 63 0 +58 64 0 +58 65 0 +58 66 0 +58 67 0 +58 68 0 +58 69 0 +58 70 0 +58 71 0 +58 72 0 +58 73 0 +58 74 0 +58 75 0 +58 76 0 +58 77 0 +58 78 0 +58 79 0 +58 80 0 +58 81 0 +58 82 0 +58 83 0 +58 84 0 +58 85 0 +58 86 0 +58 87 0 +58 88 0 +58 89 0 +58 90 0 +58 91 0 +58 92 0 +58 93 0 +58 94 0 +58 95 0 +58 96 0 +58 97 0 +58 98 0 +58 99 0 +58 100 0 +58 101 0 +58 102 0 +58 103 0 +58 104 0 +58 105 0 +58 106 0 +58 107 0 +58 108 0 +58 109 0 +58 110 0 +58 111 0 +58 112 0 +58 113 0 +58 114 0 +58 115 0 +58 116 0 +58 117 0 +58 118 0 +58 119 0 +58 120 0 +58 121 0 +58 122 0 +58 123 0 +58 124 0 +58 125 0 +58 126 0 +58 127 0 +58 128 0 +58 129 0 +58 130 0 +58 131 0 +58 132 0 +58 133 0 +58 134 0 +58 135 0 +58 136 0 +58 137 0 +58 138 0 +58 139 0 +58 140 0 +58 141 0 +58 142 0 +58 143 0 +58 144 0 +58 145 0 +58 146 0 +58 147 0 +58 148 0 +58 149 0 +58 150 0 +58 151 0 +58 152 0 +58 153 0 +58 154 0 +58 155 0 +58 156 0 +58 157 0 +58 158 0 +58 159 0 +58 160 0 +58 161 0 +58 162 0 +58 163 0 +58 164 0 +58 165 0 +58 166 0 +58 167 0 +58 168 0 +58 169 0 +58 170 0 +58 171 0 +58 172 0 +58 173 0 +58 174 0 +58 175 0 +58 176 0 +58 177 0 +58 178 0 +58 179 0 +58 180 0 +58 181 0 +58 182 0 +58 183 0 +58 184 0 +58 185 0 +58 186 0 +58 187 0 +58 188 0 +58 189 0 +58 190 0 +58 191 0 +58 192 0 +58 193 0 +58 194 0 +58 195 0 +58 196 0 +58 197 0 +58 198 0 +58 199 0 +58 200 0 +58 201 0 +58 202 0 +58 203 0 +58 204 0 +58 205 0 +58 206 0 +58 207 0 +58 208 0 +58 209 0 +58 210 0 +58 211 0 +58 212 0 +58 213 0 +58 214 0 +58 215 0 +58 216 0 +58 217 0 +58 218 0 +58 219 0 +58 220 0 +58 221 0 +58 222 0 +58 223 0 +58 224 0 +58 225 0 +58 226 0 +58 227 0 +58 228 0 +58 229 0 +58 230 0 +58 231 0 +58 232 0 +58 233 0 +58 234 0 +58 235 0 +58 236 0 +58 237 0 +58 238 0 +58 239 0 +58 240 0 +58 241 0 +58 242 0 +58 243 0 +58 244 0 +58 245 0 +58 246 0 +58 247 0 +58 248 0 +58 249 0 +58 250 0 +58 251 0 +58 252 0 +58 253 0 +58 254 0 +58 255 0 +58 256 0 +58 257 0 +58 258 0 +58 259 0 +58 260 0 +58 261 0 +58 262 0 +58 263 0 +58 264 0 +58 265 0 +58 266 0 +58 267 0 +58 268 0 +58 269 0 +58 270 0 +58 271 0 +58 272 0 +58 273 0 +58 274 0 +58 275 0 +58 276 0 +58 277 0 +58 278 0 +58 279 0 +58 280 0 +58 281 0 +58 282 0 +58 283 0 +58 284 0 +58 285 0 +58 286 0 +58 287 0 +58 288 0 +58 289 0 +58 290 0 +58 291 0 +58 292 0 +58 293 0 +58 294 0 +58 295 0 +58 296 0 +58 297 0 +58 298 0 +58 299 0 +58 300 0 +58 301 0 +58 302 0 +58 303 0 +58 304 0 +58 305 0 +58 306 0 +58 307 0 +58 308 0 +58 309 0 +58 310 0 +58 311 0 +58 312 0 +58 313 0 +58 314 0 +58 315 0 +58 316 0 +58 317 0 +58 318 0 +58 319 0 +58 320 0 +58 321 0 +58 322 0 +58 323 0 +58 324 0 +58 325 0 +58 326 0 +58 327 0 +58 328 0 +58 329 0 +58 330 0 +58 331 0 +58 332 0 +58 333 0 +58 334 0 +58 335 0 +58 336 0 +58 337 0 +58 338 0 +58 339 0 +58 340 0 +58 341 0 +58 342 0 +58 343 0 +58 344 0 +58 345 0 +58 346 0 +58 347 0 +58 348 0 +58 349 0 +58 350 0 +58 351 0 +58 352 0 +58 353 0 +58 354 0 +58 355 0 +58 356 0 +58 357 0 +58 358 0 +58 359 0 +58 360 0 +58 361 0 +58 362 0 +58 363 0 +58 364 0 +58 365 0 +58 366 0 +58 367 0 +58 368 0 +58 369 0 +58 370 0 +58 371 0 +58 372 0 +58 373 0 +58 374 0 +58 375 0 +58 376 0 +58 377 0 +58 378 0 +58 379 0 +58 380 0 +58 381 0 +58 382 0 +58 383 0 +59 60 0 +59 61 0 +59 62 0 +59 63 0 +59 64 0 +59 65 0 +59 66 0 +59 67 0 +59 68 0 +59 69 0 +59 70 0 +59 71 0 +59 72 0 +59 73 0 +59 74 0 +59 75 0 +59 76 0 +59 77 0 +59 78 0 +59 79 0 +59 80 0 +59 81 0 +59 82 0 +59 83 0 +59 84 0 +59 85 0 +59 86 0 +59 87 0 +59 88 0 +59 89 0 +59 90 0 +59 91 0 +59 92 0 +59 93 0 +59 94 0 +59 95 0 +59 96 0 +59 97 0 +59 98 0 +59 99 0 +59 100 0 +59 101 0 +59 102 0 +59 103 0 +59 104 0 +59 105 0 +59 106 0 +59 107 0 +59 108 0 +59 109 0 +59 110 0 +59 111 0 +59 112 0 +59 113 0 +59 114 0 +59 115 0 +59 116 0 +59 117 0 +59 118 0 +59 119 0 +59 120 0 +59 121 0 +59 122 0 +59 123 0 +59 124 0 +59 125 0 +59 126 0 +59 127 0 +59 128 0 +59 129 0 +59 130 0 +59 131 0 +59 132 0 +59 133 0 +59 134 0 +59 135 0 +59 136 0 +59 137 0 +59 138 0 +59 139 0 +59 140 0 +59 141 0 +59 142 0 +59 143 0 +59 144 0 +59 145 0 +59 146 0 +59 147 0 +59 148 0 +59 149 0 +59 150 0 +59 151 0 +59 152 0 +59 153 0 +59 154 0 +59 155 0 +59 156 0 +59 157 0 +59 158 0 +59 159 0 +59 160 0 +59 161 0 +59 162 0 +59 163 0 +59 164 0 +59 165 0 +59 166 0 +59 167 0 +59 168 0 +59 169 0 +59 170 0 +59 171 0 +59 172 0 +59 173 0 +59 174 0 +59 175 0 +59 176 0 +59 177 0 +59 178 0 +59 179 0 +59 180 0 +59 181 0 +59 182 0 +59 183 0 +59 184 0 +59 185 0 +59 186 0 +59 187 0 +59 188 0 +59 189 0 +59 190 0 +59 191 0 +59 192 0 +59 193 0 +59 194 0 +59 195 0 +59 196 0 +59 197 0 +59 198 0 +59 199 0 +59 200 0 +59 201 0 +59 202 0 +59 203 0 +59 204 0 +59 205 0 +59 206 0 +59 207 0 +59 208 0 +59 209 0 +59 210 0 +59 211 0 +59 212 0 +59 213 0 +59 214 0 +59 215 0 +59 216 0 +59 217 0 +59 218 0 +59 219 0 +59 220 0 +59 221 0 +59 222 0 +59 223 0 +59 224 0 +59 225 0 +59 226 0 +59 227 0 +59 228 0 +59 229 0 +59 230 0 +59 231 0 +59 232 0 +59 233 0 +59 234 0 +59 235 0 +59 236 0 +59 237 0 +59 238 0 +59 239 0 +59 240 0 +59 241 0 +59 242 0 +59 243 0 +59 244 0 +59 245 0 +59 246 0 +59 247 0 +59 248 0 +59 249 0 +59 250 0 +59 251 0 +59 252 0 +59 253 0 +59 254 0 +59 255 0 +59 256 0 +59 257 0 +59 258 0 +59 259 0 +59 260 0 +59 261 0 +59 262 0 +59 263 0 +59 264 0 +59 265 0 +59 266 0 +59 267 0 +59 268 0 +59 269 0 +59 270 0 +59 271 0 +59 272 0 +59 273 0 +59 274 0 +59 275 0 +59 276 0 +59 277 0 +59 278 0 +59 279 0 +59 280 0 +59 281 0 +59 282 0 +59 283 0 +59 284 0 +59 285 0 +59 286 0 +59 287 0 +59 288 0 +59 289 0 +59 290 0 +59 291 0 +59 292 0 +59 293 0 +59 294 0 +59 295 0 +59 296 0 +59 297 0 +59 298 0 +59 299 0 +59 300 0 +59 301 0 +59 302 0 +59 303 0 +59 304 0 +59 305 0 +59 306 0 +59 307 0 +59 308 0 +59 309 0 +59 310 0 +59 311 0 +59 312 0 +59 313 0 +59 314 0 +59 315 0 +59 316 0 +59 317 0 +59 318 0 +59 319 0 +59 320 0 +59 321 0 +59 322 0 +59 323 0 +59 324 0 +59 325 0 +59 326 0 +59 327 0 +59 328 0 +59 329 0 +59 330 0 +59 331 0 +59 332 0 +59 333 0 +59 334 0 +59 335 0 +59 336 0 +59 337 0 +59 338 0 +59 339 0 +59 340 0 +59 341 0 +59 342 0 +59 343 0 +59 344 0 +59 345 0 +59 346 0 +59 347 0 +59 348 0 +59 349 0 +59 350 0 +59 351 0 +59 352 0 +59 353 0 +59 354 0 +59 355 0 +59 356 0 +59 357 0 +59 358 0 +59 359 0 +59 360 0 +59 361 0 +59 362 0 +59 363 0 +59 364 0 +59 365 0 +59 366 0 +59 367 0 +59 368 0 +59 369 0 +59 370 0 +59 371 0 +59 372 0 +59 373 0 +59 374 0 +59 375 0 +59 376 0 +59 377 0 +59 378 0 +59 379 0 +59 380 0 +59 381 0 +59 382 0 +59 383 0 +60 61 0 +60 62 0 +60 63 0 +60 64 0 +60 65 0 +60 66 0 +60 67 0 +60 68 0 +60 69 0 +60 70 0 +60 71 0 +60 72 0 +60 73 0 +60 74 0 +60 75 0 +60 76 0 +60 77 0 +60 78 0 +60 79 0 +60 80 0 +60 81 0 +60 82 0 +60 83 0 +60 84 0 +60 85 0 +60 86 0 +60 87 0 +60 88 0 +60 89 0 +60 90 0 +60 91 0 +60 92 0 +60 93 0 +60 94 0 +60 95 0 +60 96 0 +60 97 0 +60 98 0 +60 99 0 +60 100 0 +60 101 0 +60 102 0 +60 103 0 +60 104 0 +60 105 0 +60 106 0 +60 107 0 +60 108 0 +60 109 0 +60 110 0 +60 111 0 +60 112 0 +60 113 0 +60 114 0 +60 115 0 +60 116 0 +60 117 0 +60 118 0 +60 119 0 +60 120 0 +60 121 0 +60 122 0 +60 123 0 +60 124 0 +60 125 0 +60 126 0 +60 127 0 +60 128 0 +60 129 0 +60 130 0 +60 131 0 +60 132 0 +60 133 0 +60 134 0 +60 135 0 +60 136 0 +60 137 0 +60 138 0 +60 139 0 +60 140 0 +60 141 0 +60 142 0 +60 143 0 +60 144 0 +60 145 0 +60 146 0 +60 147 0 +60 148 0 +60 149 0 +60 150 0 +60 151 0 +60 152 0 +60 153 0 +60 154 0 +60 155 0 +60 156 0 +60 157 0 +60 158 0 +60 159 0 +60 160 0 +60 161 0 +60 162 0 +60 163 0 +60 164 0 +60 165 0 +60 166 0 +60 167 0 +60 168 0 +60 169 0 +60 170 0 +60 171 0 +60 172 0 +60 173 0 +60 174 0 +60 175 0 +60 176 0 +60 177 0 +60 178 0 +60 179 0 +60 180 0 +60 181 0 +60 182 0 +60 183 0 +60 184 0 +60 185 0 +60 186 0 +60 187 0 +60 188 0 +60 189 0 +60 190 0 +60 191 0 +60 192 0 +60 193 0 +60 194 0 +60 195 0 +60 196 0 +60 197 0 +60 198 0 +60 199 0 +60 200 0 +60 201 0 +60 202 0 +60 203 0 +60 204 0 +60 205 0 +60 206 0 +60 207 0 +60 208 0 +60 209 0 +60 210 0 +60 211 0 +60 212 0 +60 213 0 +60 214 0 +60 215 0 +60 216 0 +60 217 0 +60 218 0 +60 219 0 +60 220 0 +60 221 0 +60 222 0 +60 223 0 +60 224 0 +60 225 0 +60 226 0 +60 227 0 +60 228 0 +60 229 0 +60 230 0 +60 231 0 +60 232 0 +60 233 0 +60 234 0 +60 235 0 +60 236 0 +60 237 0 +60 238 0 +60 239 0 +60 240 0 +60 241 0 +60 242 0 +60 243 0 +60 244 0 +60 245 0 +60 246 0 +60 247 0 +60 248 0 +60 249 0 +60 250 0 +60 251 0 +60 252 0 +60 253 0 +60 254 0 +60 255 0 +60 256 0 +60 257 0 +60 258 0 +60 259 0 +60 260 0 +60 261 0 +60 262 0 +60 263 0 +60 264 0 +60 265 0 +60 266 0 +60 267 0 +60 268 0 +60 269 0 +60 270 0 +60 271 0 +60 272 0 +60 273 0 +60 274 0 +60 275 0 +60 276 0 +60 277 0 +60 278 0 +60 279 0 +60 280 0 +60 281 0 +60 282 0 +60 283 0 +60 284 0 +60 285 0 +60 286 0 +60 287 0 +60 288 0 +60 289 0 +60 290 0 +60 291 0 +60 292 0 +60 293 0 +60 294 0 +60 295 0 +60 296 0 +60 297 0 +60 298 0 +60 299 0 +60 300 0 +60 301 0 +60 302 0 +60 303 0 +60 304 0 +60 305 0 +60 306 0 +60 307 0 +60 308 0 +60 309 0 +60 310 0 +60 311 0 +60 312 0 +60 313 0 +60 314 0 +60 315 0 +60 316 0 +60 317 0 +60 318 0 +60 319 0 +60 320 0 +60 321 0 +60 322 0 +60 323 0 +60 324 0 +60 325 0 +60 326 0 +60 327 0 +60 328 0 +60 329 0 +60 330 0 +60 331 0 +60 332 0 +60 333 0 +60 334 0 +60 335 0 +60 336 0 +60 337 0 +60 338 0 +60 339 0 +60 340 0 +60 341 0 +60 342 0 +60 343 0 +60 344 0 +60 345 0 +60 346 0 +60 347 0 +60 348 0 +60 349 0 +60 350 0 +60 351 0 +60 352 0 +60 353 0 +60 354 0 +60 355 0 +60 356 0 +60 357 0 +60 358 0 +60 359 0 +60 360 0 +60 361 0 +60 362 0 +60 363 0 +60 364 0 +60 365 0 +60 366 0 +60 367 0 +60 368 0 +60 369 0 +60 370 0 +60 371 0 +60 372 0 +60 373 0 +60 374 0 +60 375 0 +60 376 0 +60 377 0 +60 378 0 +60 379 0 +60 380 0 +60 381 0 +60 382 0 +60 383 0 +61 62 0 +61 63 0 +61 64 0 +61 65 0 +61 66 0 +61 67 0 +61 68 0 +61 69 0 +61 70 0 +61 71 0 +61 72 0 +61 73 0 +61 74 0 +61 75 0 +61 76 0 +61 77 0 +61 78 0 +61 79 0 +61 80 0 +61 81 0 +61 82 0 +61 83 0 +61 84 0 +61 85 0 +61 86 0 +61 87 0 +61 88 0 +61 89 0 +61 90 0 +61 91 0 +61 92 0 +61 93 0 +61 94 0 +61 95 0 +61 96 0 +61 97 0 +61 98 0 +61 99 0 +61 100 0 +61 101 0 +61 102 0 +61 103 0 +61 104 0 +61 105 0 +61 106 0 +61 107 0 +61 108 0 +61 109 0 +61 110 0 +61 111 0 +61 112 0 +61 113 0 +61 114 0 +61 115 0 +61 116 0 +61 117 0 +61 118 0 +61 119 0 +61 120 0 +61 121 0 +61 122 0 +61 123 0 +61 124 0 +61 125 0 +61 126 0 +61 127 0 +61 128 0 +61 129 0 +61 130 0 +61 131 0 +61 132 0 +61 133 0 +61 134 0 +61 135 0 +61 136 0 +61 137 0 +61 138 0 +61 139 0 +61 140 0 +61 141 0 +61 142 0 +61 143 0 +61 144 0 +61 145 0 +61 146 0 +61 147 0 +61 148 0 +61 149 0 +61 150 0 +61 151 0 +61 152 0 +61 153 0 +61 154 0 +61 155 0 +61 156 0 +61 157 0 +61 158 0 +61 159 0 +61 160 0 +61 161 0 +61 162 0 +61 163 0 +61 164 0 +61 165 0 +61 166 0 +61 167 0 +61 168 0 +61 169 0 +61 170 0 +61 171 0 +61 172 0 +61 173 0 +61 174 0 +61 175 0 +61 176 0 +61 177 0 +61 178 0 +61 179 0 +61 180 0 +61 181 0 +61 182 0 +61 183 0 +61 184 0 +61 185 0 +61 186 0 +61 187 0 +61 188 0 +61 189 0 +61 190 0 +61 191 0 +61 192 0 +61 193 0 +61 194 0 +61 195 0 +61 196 0 +61 197 0 +61 198 0 +61 199 0 +61 200 0 +61 201 0 +61 202 0 +61 203 0 +61 204 0 +61 205 0 +61 206 0 +61 207 0 +61 208 0 +61 209 0 +61 210 0 +61 211 0 +61 212 0 +61 213 0 +61 214 0 +61 215 0 +61 216 0 +61 217 0 +61 218 0 +61 219 0 +61 220 0 +61 221 0 +61 222 0 +61 223 0 +61 224 0 +61 225 0 +61 226 0 +61 227 0 +61 228 0 +61 229 0 +61 230 0 +61 231 0 +61 232 0 +61 233 0 +61 234 0 +61 235 0 +61 236 0 +61 237 0 +61 238 0 +61 239 0 +61 240 0 +61 241 0 +61 242 0 +61 243 0 +61 244 0 +61 245 0 +61 246 0 +61 247 0 +61 248 0 +61 249 0 +61 250 0 +61 251 0 +61 252 0 +61 253 0 +61 254 0 +61 255 0 +61 256 0 +61 257 0 +61 258 0 +61 259 0 +61 260 0 +61 261 0 +61 262 0 +61 263 0 +61 264 0 +61 265 0 +61 266 0 +61 267 0 +61 268 0 +61 269 0 +61 270 0 +61 271 0 +61 272 0 +61 273 0 +61 274 0 +61 275 0 +61 276 0 +61 277 0 +61 278 0 +61 279 0 +61 280 0 +61 281 0 +61 282 0 +61 283 0 +61 284 0 +61 285 0 +61 286 0 +61 287 0 +61 288 0 +61 289 0 +61 290 0 +61 291 0 +61 292 0 +61 293 0 +61 294 0 +61 295 0 +61 296 0 +61 297 0 +61 298 0 +61 299 0 +61 300 0 +61 301 0 +61 302 0 +61 303 0 +61 304 0 +61 305 0 +61 306 0 +61 307 0 +61 308 0 +61 309 0 +61 310 0 +61 311 0 +61 312 0 +61 313 0 +61 314 0 +61 315 0 +61 316 0 +61 317 0 +61 318 0 +61 319 0 +61 320 0 +61 321 0 +61 322 0 +61 323 0 +61 324 0 +61 325 0 +61 326 0 +61 327 0 +61 328 0 +61 329 0 +61 330 0 +61 331 0 +61 332 0 +61 333 0 +61 334 0 +61 335 0 +61 336 0 +61 337 0 +61 338 0 +61 339 0 +61 340 0 +61 341 0 +61 342 0 +61 343 0 +61 344 0 +61 345 0 +61 346 0 +61 347 0 +61 348 0 +61 349 0 +61 350 0 +61 351 0 +61 352 0 +61 353 0 +61 354 0 +61 355 0 +61 356 0 +61 357 0 +61 358 0 +61 359 0 +61 360 0 +61 361 0 +61 362 0 +61 363 0 +61 364 0 +61 365 0 +61 366 0 +61 367 0 +61 368 0 +61 369 0 +61 370 0 +61 371 0 +61 372 0 +61 373 0 +61 374 0 +61 375 0 +61 376 0 +61 377 0 +61 378 0 +61 379 0 +61 380 0 +61 381 0 +61 382 0 +61 383 0 +62 63 0 +62 64 0 +62 65 0 +62 66 0 +62 67 0 +62 68 0 +62 69 0 +62 70 0 +62 71 0 +62 72 0 +62 73 0 +62 74 0 +62 75 0 +62 76 0 +62 77 0 +62 78 0 +62 79 0 +62 80 0 +62 81 0 +62 82 0 +62 83 0 +62 84 0 +62 85 0 +62 86 0 +62 87 0 +62 88 0 +62 89 0 +62 90 0 +62 91 0 +62 92 0 +62 93 0 +62 94 0 +62 95 0 +62 96 0 +62 97 0 +62 98 0 +62 99 0 +62 100 0 +62 101 0 +62 102 0 +62 103 0 +62 104 0 +62 105 0 +62 106 0 +62 107 0 +62 108 0 +62 109 0 +62 110 0 +62 111 0 +62 112 0 +62 113 0 +62 114 0 +62 115 0 +62 116 0 +62 117 0 +62 118 0 +62 119 0 +62 120 0 +62 121 0 +62 122 0 +62 123 0 +62 124 0 +62 125 0 +62 126 0 +62 127 0 +62 128 0 +62 129 0 +62 130 0 +62 131 0 +62 132 0 +62 133 0 +62 134 0 +62 135 0 +62 136 0 +62 137 0 +62 138 0 +62 139 0 +62 140 0 +62 141 0 +62 142 0 +62 143 0 +62 144 0 +62 145 0 +62 146 0 +62 147 0 +62 148 0 +62 149 0 +62 150 0 +62 151 0 +62 152 0 +62 153 0 +62 154 0 +62 155 0 +62 156 0 +62 157 0 +62 158 0 +62 159 0 +62 160 0 +62 161 0 +62 162 0 +62 163 0 +62 164 0 +62 165 0 +62 166 0 +62 167 0 +62 168 0 +62 169 0 +62 170 0 +62 171 0 +62 172 0 +62 173 0 +62 174 0 +62 175 0 +62 176 0 +62 177 0 +62 178 0 +62 179 0 +62 180 0 +62 181 0 +62 182 0 +62 183 0 +62 184 0 +62 185 0 +62 186 0 +62 187 0 +62 188 0 +62 189 0 +62 190 0 +62 191 0 +62 192 0 +62 193 0 +62 194 0 +62 195 0 +62 196 0 +62 197 0 +62 198 0 +62 199 0 +62 200 0 +62 201 0 +62 202 0 +62 203 0 +62 204 0 +62 205 0 +62 206 0 +62 207 0 +62 208 0 +62 209 0 +62 210 0 +62 211 0 +62 212 0 +62 213 0 +62 214 0 +62 215 0 +62 216 0 +62 217 0 +62 218 0 +62 219 0 +62 220 0 +62 221 0 +62 222 0 +62 223 0 +62 224 0 +62 225 0 +62 226 0 +62 227 0 +62 228 0 +62 229 0 +62 230 0 +62 231 0 +62 232 0 +62 233 0 +62 234 0 +62 235 0 +62 236 0 +62 237 0 +62 238 0 +62 239 0 +62 240 0 +62 241 0 +62 242 0 +62 243 0 +62 244 0 +62 245 0 +62 246 0 +62 247 0 +62 248 0 +62 249 0 +62 250 0 +62 251 0 +62 252 0 +62 253 0 +62 254 0 +62 255 0 +62 256 0 +62 257 0 +62 258 0 +62 259 0 +62 260 0 +62 261 0 +62 262 0 +62 263 0 +62 264 0 +62 265 0 +62 266 0 +62 267 0 +62 268 0 +62 269 0 +62 270 0 +62 271 0 +62 272 0 +62 273 0 +62 274 0 +62 275 0 +62 276 0 +62 277 0 +62 278 0 +62 279 0 +62 280 0 +62 281 0 +62 282 0 +62 283 0 +62 284 0 +62 285 0 +62 286 0 +62 287 0 +62 288 0 +62 289 0 +62 290 0 +62 291 0 +62 292 0 +62 293 0 +62 294 0 +62 295 0 +62 296 0 +62 297 0 +62 298 0 +62 299 0 +62 300 0 +62 301 0 +62 302 0 +62 303 0 +62 304 0 +62 305 0 +62 306 0 +62 307 0 +62 308 0 +62 309 0 +62 310 0 +62 311 0 +62 312 0 +62 313 0 +62 314 0 +62 315 0 +62 316 0 +62 317 0 +62 318 0 +62 319 0 +62 320 0 +62 321 0 +62 322 0 +62 323 0 +62 324 0 +62 325 0 +62 326 0 +62 327 0 +62 328 0 +62 329 0 +62 330 0 +62 331 0 +62 332 0 +62 333 0 +62 334 0 +62 335 0 +62 336 0 +62 337 0 +62 338 0 +62 339 0 +62 340 0 +62 341 0 +62 342 0 +62 343 0 +62 344 0 +62 345 0 +62 346 0 +62 347 0 +62 348 0 +62 349 0 +62 350 0 +62 351 0 +62 352 0 +62 353 0 +62 354 0 +62 355 0 +62 356 0 +62 357 0 +62 358 0 +62 359 0 +62 360 0 +62 361 0 +62 362 0 +62 363 0 +62 364 0 +62 365 0 +62 366 0 +62 367 0 +62 368 0 +62 369 0 +62 370 0 +62 371 0 +62 372 0 +62 373 0 +62 374 0 +62 375 0 +62 376 0 +62 377 0 +62 378 0 +62 379 0 +62 380 0 +62 381 0 +62 382 0 +62 383 0 +63 64 0 +63 65 0 +63 66 0 +63 67 0 +63 68 0 +63 69 0 +63 70 0 +63 71 0 +63 72 0 +63 73 0 +63 74 0 +63 75 0 +63 76 0 +63 77 0 +63 78 0 +63 79 0 +63 80 0 +63 81 0 +63 82 0 +63 83 0 +63 84 0 +63 85 0 +63 86 0 +63 87 0 +63 88 0 +63 89 0 +63 90 0 +63 91 0 +63 92 0 +63 93 0 +63 94 0 +63 95 0 +63 96 0 +63 97 0 +63 98 0 +63 99 0 +63 100 0 +63 101 0 +63 102 0 +63 103 0 +63 104 0 +63 105 0 +63 106 0 +63 107 0 +63 108 0 +63 109 0 +63 110 0 +63 111 0 +63 112 0 +63 113 0 +63 114 0 +63 115 0 +63 116 0 +63 117 0 +63 118 0 +63 119 0 +63 120 0 +63 121 0 +63 122 0 +63 123 0 +63 124 0 +63 125 0 +63 126 0 +63 127 0 +63 128 0 +63 129 0 +63 130 0 +63 131 0 +63 132 0 +63 133 0 +63 134 0 +63 135 0 +63 136 0 +63 137 0 +63 138 0 +63 139 0 +63 140 0 +63 141 0 +63 142 0 +63 143 0 +63 144 0 +63 145 0 +63 146 0 +63 147 0 +63 148 0 +63 149 0 +63 150 0 +63 151 0 +63 152 0 +63 153 0 +63 154 0 +63 155 0 +63 156 0 +63 157 0 +63 158 0 +63 159 0 +63 160 0 +63 161 0 +63 162 0 +63 163 0 +63 164 0 +63 165 0 +63 166 0 +63 167 0 +63 168 0 +63 169 0 +63 170 0 +63 171 0 +63 172 0 +63 173 0 +63 174 0 +63 175 0 +63 176 0 +63 177 0 +63 178 0 +63 179 0 +63 180 0 +63 181 0 +63 182 0 +63 183 0 +63 184 0 +63 185 0 +63 186 0 +63 187 0 +63 188 0 +63 189 0 +63 190 0 +63 191 0 +63 192 0 +63 193 0 +63 194 0 +63 195 0 +63 196 0 +63 197 0 +63 198 0 +63 199 0 +63 200 0 +63 201 0 +63 202 0 +63 203 0 +63 204 0 +63 205 0 +63 206 0 +63 207 0 +63 208 0 +63 209 0 +63 210 0 +63 211 0 +63 212 0 +63 213 0 +63 214 0 +63 215 0 +63 216 0 +63 217 0 +63 218 0 +63 219 0 +63 220 0 +63 221 0 +63 222 0 +63 223 0 +63 224 0 +63 225 0 +63 226 0 +63 227 0 +63 228 0 +63 229 0 +63 230 0 +63 231 0 +63 232 0 +63 233 0 +63 234 0 +63 235 0 +63 236 0 +63 237 0 +63 238 0 +63 239 0 +63 240 0 +63 241 0 +63 242 0 +63 243 0 +63 244 0 +63 245 0 +63 246 0 +63 247 0 +63 248 0 +63 249 0 +63 250 0 +63 251 0 +63 252 0 +63 253 0 +63 254 0 +63 255 0 +63 256 0 +63 257 0 +63 258 0 +63 259 0 +63 260 0 +63 261 0 +63 262 0 +63 263 0 +63 264 0 +63 265 0 +63 266 0 +63 267 0 +63 268 0 +63 269 0 +63 270 0 +63 271 0 +63 272 0 +63 273 0 +63 274 0 +63 275 0 +63 276 0 +63 277 0 +63 278 0 +63 279 0 +63 280 0 +63 281 0 +63 282 0 +63 283 0 +63 284 0 +63 285 0 +63 286 0 +63 287 0 +63 288 0 +63 289 0 +63 290 0 +63 291 0 +63 292 0 +63 293 0 +63 294 0 +63 295 0 +63 296 0 +63 297 0 +63 298 0 +63 299 0 +63 300 0 +63 301 0 +63 302 0 +63 303 0 +63 304 0 +63 305 0 +63 306 0 +63 307 0 +63 308 0 +63 309 0 +63 310 0 +63 311 0 +63 312 0 +63 313 0 +63 314 0 +63 315 0 +63 316 0 +63 317 0 +63 318 0 +63 319 0 +63 320 0 +63 321 0 +63 322 0 +63 323 0 +63 324 0 +63 325 0 +63 326 0 +63 327 0 +63 328 0 +63 329 0 +63 330 0 +63 331 0 +63 332 0 +63 333 0 +63 334 0 +63 335 0 +63 336 0 +63 337 0 +63 338 0 +63 339 0 +63 340 0 +63 341 0 +63 342 0 +63 343 0 +63 344 0 +63 345 0 +63 346 0 +63 347 0 +63 348 0 +63 349 0 +63 350 0 +63 351 0 +63 352 0 +63 353 0 +63 354 0 +63 355 0 +63 356 0 +63 357 0 +63 358 0 +63 359 0 +63 360 0 +63 361 0 +63 362 0 +63 363 0 +63 364 0 +63 365 0 +63 366 0 +63 367 0 +63 368 0 +63 369 0 +63 370 0 +63 371 0 +63 372 0 +63 373 0 +63 374 0 +63 375 0 +63 376 0 +63 377 0 +63 378 0 +63 379 0 +63 380 0 +63 381 0 +63 382 0 +63 383 0 +64 65 0 +64 66 0 +64 67 0 +64 68 0 +64 69 0 +64 70 0 +64 71 0 +64 72 0 +64 73 0 +64 74 0 +64 75 0 +64 76 0 +64 77 0 +64 78 0 +64 79 0 +64 80 0 +64 81 0 +64 82 0 +64 83 0 +64 84 0 +64 85 0 +64 86 0 +64 87 0 +64 88 0 +64 89 0 +64 90 0 +64 91 0 +64 92 0 +64 93 0 +64 94 0 +64 95 0 +64 96 0 +64 97 0 +64 98 0 +64 99 0 +64 100 0 +64 101 0 +64 102 0 +64 103 0 +64 104 0 +64 105 0 +64 106 0 +64 107 0 +64 108 0 +64 109 0 +64 110 0 +64 111 0 +64 112 0 +64 113 0 +64 114 0 +64 115 0 +64 116 0 +64 117 0 +64 118 0 +64 119 0 +64 120 0 +64 121 0 +64 122 0 +64 123 0 +64 124 0 +64 125 0 +64 126 0 +64 127 0 +64 128 0 +64 129 0 +64 130 0 +64 131 0 +64 132 0 +64 133 0 +64 134 0 +64 135 0 +64 136 0 +64 137 0 +64 138 0 +64 139 0 +64 140 0 +64 141 0 +64 142 0 +64 143 0 +64 144 0 +64 145 0 +64 146 0 +64 147 0 +64 148 0 +64 149 0 +64 150 0 +64 151 0 +64 152 0 +64 153 0 +64 154 0 +64 155 0 +64 156 0 +64 157 0 +64 158 0 +64 159 0 +64 160 0 +64 161 0 +64 162 0 +64 163 0 +64 164 0 +64 165 0 +64 166 0 +64 167 0 +64 168 0 +64 169 0 +64 170 0 +64 171 0 +64 172 0 +64 173 0 +64 174 0 +64 175 0 +64 176 0 +64 177 0 +64 178 0 +64 179 0 +64 180 0 +64 181 0 +64 182 0 +64 183 0 +64 184 0 +64 185 0 +64 186 0 +64 187 0 +64 188 0 +64 189 0 +64 190 0 +64 191 0 +64 192 0 +64 193 0 +64 194 0 +64 195 0 +64 196 0 +64 197 0 +64 198 0 +64 199 0 +64 200 0 +64 201 0 +64 202 0 +64 203 0 +64 204 0 +64 205 0 +64 206 0 +64 207 0 +64 208 0 +64 209 0 +64 210 0 +64 211 0 +64 212 0 +64 213 0 +64 214 0 +64 215 0 +64 216 0 +64 217 0 +64 218 0 +64 219 0 +64 220 0 +64 221 0 +64 222 0 +64 223 0 +64 224 0 +64 225 0 +64 226 0 +64 227 0 +64 228 0 +64 229 0 +64 230 0 +64 231 0 +64 232 0 +64 233 0 +64 234 0 +64 235 0 +64 236 0 +64 237 0 +64 238 0 +64 239 0 +64 240 0 +64 241 0 +64 242 0 +64 243 0 +64 244 0 +64 245 0 +64 246 0 +64 247 0 +64 248 0 +64 249 0 +64 250 0 +64 251 0 +64 252 0 +64 253 0 +64 254 0 +64 255 0 +64 256 0 +64 257 0 +64 258 0 +64 259 0 +64 260 0 +64 261 0 +64 262 0 +64 263 0 +64 264 0 +64 265 0 +64 266 0 +64 267 0 +64 268 0 +64 269 0 +64 270 0 +64 271 0 +64 272 0 +64 273 0 +64 274 0 +64 275 0 +64 276 0 +64 277 0 +64 278 0 +64 279 0 +64 280 0 +64 281 0 +64 282 0 +64 283 0 +64 284 0 +64 285 0 +64 286 0 +64 287 0 +64 288 0 +64 289 0 +64 290 0 +64 291 0 +64 292 0 +64 293 0 +64 294 0 +64 295 0 +64 296 0 +64 297 0 +64 298 0 +64 299 0 +64 300 0 +64 301 0 +64 302 0 +64 303 0 +64 304 0 +64 305 0 +64 306 0 +64 307 0 +64 308 0 +64 309 0 +64 310 0 +64 311 0 +64 312 0 +64 313 0 +64 314 0 +64 315 0 +64 316 0 +64 317 0 +64 318 0 +64 319 0 +64 320 0 +64 321 0 +64 322 0 +64 323 0 +64 324 0 +64 325 0 +64 326 0 +64 327 0 +64 328 0 +64 329 0 +64 330 0 +64 331 0 +64 332 0 +64 333 0 +64 334 0 +64 335 0 +64 336 0 +64 337 0 +64 338 0 +64 339 0 +64 340 0 +64 341 0 +64 342 0 +64 343 0 +64 344 0 +64 345 0 +64 346 0 +64 347 0 +64 348 0 +64 349 0 +64 350 0 +64 351 0 +64 352 0 +64 353 0 +64 354 0 +64 355 0 +64 356 0 +64 357 0 +64 358 0 +64 359 0 +64 360 0 +64 361 0 +64 362 0 +64 363 0 +64 364 0 +64 365 0 +64 366 0 +64 367 0 +64 368 0 +64 369 0 +64 370 0 +64 371 0 +64 372 0 +64 373 0 +64 374 0 +64 375 0 +64 376 0 +64 377 0 +64 378 0 +64 379 0 +64 380 0 +64 381 0 +64 382 0 +64 383 0 +65 66 0 +65 67 0 +65 68 0 +65 69 0 +65 70 0 +65 71 0 +65 72 0 +65 73 0 +65 74 0 +65 75 0 +65 76 0 +65 77 0 +65 78 0 +65 79 0 +65 80 0 +65 81 0 +65 82 0 +65 83 0 +65 84 0 +65 85 0 +65 86 0 +65 87 0 +65 88 0 +65 89 0 +65 90 0 +65 91 0 +65 92 0 +65 93 0 +65 94 0 +65 95 0 +65 96 0 +65 97 0 +65 98 0 +65 99 0 +65 100 0 +65 101 0 +65 102 0 +65 103 0 +65 104 0 +65 105 0 +65 106 0 +65 107 0 +65 108 0 +65 109 0 +65 110 0 +65 111 0 +65 112 0 +65 113 0 +65 114 0 +65 115 0 +65 116 0 +65 117 0 +65 118 0 +65 119 0 +65 120 0 +65 121 0 +65 122 0 +65 123 0 +65 124 0 +65 125 0 +65 126 0 +65 127 0 +65 128 0 +65 129 0 +65 130 0 +65 131 0 +65 132 0 +65 133 0 +65 134 0 +65 135 0 +65 136 0 +65 137 0 +65 138 0 +65 139 0 +65 140 0 +65 141 0 +65 142 0 +65 143 0 +65 144 0 +65 145 0 +65 146 0 +65 147 0 +65 148 0 +65 149 0 +65 150 0 +65 151 0 +65 152 0 +65 153 0 +65 154 0 +65 155 0 +65 156 0 +65 157 0 +65 158 0 +65 159 0 +65 160 0 +65 161 0 +65 162 0 +65 163 0 +65 164 0 +65 165 0 +65 166 0 +65 167 0 +65 168 0 +65 169 0 +65 170 0 +65 171 0 +65 172 0 +65 173 0 +65 174 0 +65 175 0 +65 176 0 +65 177 0 +65 178 0 +65 179 0 +65 180 0 +65 181 0 +65 182 0 +65 183 0 +65 184 0 +65 185 0 +65 186 0 +65 187 0 +65 188 0 +65 189 0 +65 190 0 +65 191 0 +65 192 0 +65 193 0 +65 194 0 +65 195 0 +65 196 0 +65 197 0 +65 198 0 +65 199 0 +65 200 0 +65 201 0 +65 202 0 +65 203 0 +65 204 0 +65 205 0 +65 206 0 +65 207 0 +65 208 0 +65 209 0 +65 210 0 +65 211 0 +65 212 0 +65 213 0 +65 214 0 +65 215 0 +65 216 0 +65 217 0 +65 218 0 +65 219 0 +65 220 0 +65 221 0 +65 222 0 +65 223 0 +65 224 0 +65 225 0 +65 226 0 +65 227 0 +65 228 0 +65 229 0 +65 230 0 +65 231 0 +65 232 0 +65 233 0 +65 234 0 +65 235 0 +65 236 0 +65 237 0 +65 238 0 +65 239 0 +65 240 0 +65 241 0 +65 242 0 +65 243 0 +65 244 0 +65 245 0 +65 246 0 +65 247 0 +65 248 0 +65 249 0 +65 250 0 +65 251 0 +65 252 0 +65 253 0 +65 254 0 +65 255 0 +65 256 0 +65 257 0 +65 258 0 +65 259 0 +65 260 0 +65 261 0 +65 262 0 +65 263 0 +65 264 0 +65 265 0 +65 266 0 +65 267 0 +65 268 0 +65 269 0 +65 270 0 +65 271 0 +65 272 0 +65 273 0 +65 274 0 +65 275 0 +65 276 0 +65 277 0 +65 278 0 +65 279 0 +65 280 0 +65 281 0 +65 282 0 +65 283 0 +65 284 0 +65 285 0 +65 286 0 +65 287 0 +65 288 0 +65 289 0 +65 290 0 +65 291 0 +65 292 0 +65 293 0 +65 294 0 +65 295 0 +65 296 0 +65 297 0 +65 298 0 +65 299 0 +65 300 0 +65 301 0 +65 302 0 +65 303 0 +65 304 0 +65 305 0 +65 306 0 +65 307 0 +65 308 0 +65 309 0 +65 310 0 +65 311 0 +65 312 0 +65 313 0 +65 314 0 +65 315 0 +65 316 0 +65 317 0 +65 318 0 +65 319 0 +65 320 0 +65 321 0 +65 322 0 +65 323 0 +65 324 0 +65 325 0 +65 326 0 +65 327 0 +65 328 0 +65 329 0 +65 330 0 +65 331 0 +65 332 0 +65 333 0 +65 334 0 +65 335 0 +65 336 0 +65 337 0 +65 338 0 +65 339 0 +65 340 0 +65 341 0 +65 342 0 +65 343 0 +65 344 0 +65 345 0 +65 346 0 +65 347 0 +65 348 0 +65 349 0 +65 350 0 +65 351 0 +65 352 0 +65 353 0 +65 354 0 +65 355 0 +65 356 0 +65 357 0 +65 358 0 +65 359 0 +65 360 0 +65 361 0 +65 362 0 +65 363 0 +65 364 0 +65 365 0 +65 366 0 +65 367 0 +65 368 0 +65 369 0 +65 370 0 +65 371 0 +65 372 0 +65 373 0 +65 374 0 +65 375 0 +65 376 0 +65 377 0 +65 378 0 +65 379 0 +65 380 0 +65 381 0 +65 382 0 +65 383 0 +66 67 0 +66 68 0 +66 69 0 +66 70 0 +66 71 0 +66 72 0 +66 73 0 +66 74 0 +66 75 0 +66 76 0 +66 77 0 +66 78 0 +66 79 0 +66 80 0 +66 81 0 +66 82 0 +66 83 0 +66 84 0 +66 85 0 +66 86 0 +66 87 0 +66 88 0 +66 89 0 +66 90 0 +66 91 0 +66 92 0 +66 93 0 +66 94 0 +66 95 0 +66 96 0 +66 97 0 +66 98 0 +66 99 0 +66 100 0 +66 101 0 +66 102 0 +66 103 0 +66 104 0 +66 105 0 +66 106 0 +66 107 0 +66 108 0 +66 109 0 +66 110 0 +66 111 0 +66 112 0 +66 113 0 +66 114 0 +66 115 0 +66 116 0 +66 117 0 +66 118 0 +66 119 0 +66 120 0 +66 121 0 +66 122 0 +66 123 0 +66 124 0 +66 125 0 +66 126 0 +66 127 0 +66 128 0 +66 129 0 +66 130 0 +66 131 0 +66 132 0 +66 133 0 +66 134 0 +66 135 0 +66 136 0 +66 137 0 +66 138 0 +66 139 0 +66 140 0 +66 141 0 +66 142 0 +66 143 0 +66 144 0 +66 145 0 +66 146 0 +66 147 0 +66 148 0 +66 149 0 +66 150 0 +66 151 0 +66 152 0 +66 153 0 +66 154 0 +66 155 0 +66 156 0 +66 157 0 +66 158 0 +66 159 0 +66 160 0 +66 161 0 +66 162 0 +66 163 0 +66 164 0 +66 165 0 +66 166 0 +66 167 0 +66 168 0 +66 169 0 +66 170 0 +66 171 0 +66 172 0 +66 173 0 +66 174 0 +66 175 0 +66 176 0 +66 177 0 +66 178 0 +66 179 0 +66 180 0 +66 181 0 +66 182 0 +66 183 0 +66 184 0 +66 185 0 +66 186 0 +66 187 0 +66 188 0 +66 189 0 +66 190 0 +66 191 0 +66 192 0 +66 193 0 +66 194 0 +66 195 0 +66 196 0 +66 197 0 +66 198 0 +66 199 0 +66 200 0 +66 201 0 +66 202 0 +66 203 0 +66 204 0 +66 205 0 +66 206 0 +66 207 0 +66 208 0 +66 209 0 +66 210 0 +66 211 0 +66 212 0 +66 213 0 +66 214 0 +66 215 0 +66 216 0 +66 217 0 +66 218 0 +66 219 0 +66 220 0 +66 221 0 +66 222 0 +66 223 0 +66 224 0 +66 225 0 +66 226 0 +66 227 0 +66 228 0 +66 229 0 +66 230 0 +66 231 0 +66 232 0 +66 233 0 +66 234 0 +66 235 0 +66 236 0 +66 237 0 +66 238 0 +66 239 0 +66 240 0 +66 241 0 +66 242 0 +66 243 0 +66 244 0 +66 245 0 +66 246 0 +66 247 0 +66 248 0 +66 249 0 +66 250 0 +66 251 0 +66 252 0 +66 253 0 +66 254 0 +66 255 0 +66 256 0 +66 257 0 +66 258 0 +66 259 0 +66 260 0 +66 261 0 +66 262 0 +66 263 0 +66 264 0 +66 265 0 +66 266 0 +66 267 0 +66 268 0 +66 269 0 +66 270 0 +66 271 0 +66 272 0 +66 273 0 +66 274 0 +66 275 0 +66 276 0 +66 277 0 +66 278 0 +66 279 0 +66 280 0 +66 281 0 +66 282 0 +66 283 0 +66 284 0 +66 285 0 +66 286 0 +66 287 0 +66 288 0 +66 289 0 +66 290 0 +66 291 0 +66 292 0 +66 293 0 +66 294 0 +66 295 0 +66 296 0 +66 297 0 +66 298 0 +66 299 0 +66 300 0 +66 301 0 +66 302 0 +66 303 0 +66 304 0 +66 305 0 +66 306 0 +66 307 0 +66 308 0 +66 309 0 +66 310 0 +66 311 0 +66 312 0 +66 313 0 +66 314 0 +66 315 0 +66 316 0 +66 317 0 +66 318 0 +66 319 0 +66 320 0 +66 321 0 +66 322 0 +66 323 0 +66 324 0 +66 325 0 +66 326 0 +66 327 0 +66 328 0 +66 329 0 +66 330 0 +66 331 0 +66 332 0 +66 333 0 +66 334 0 +66 335 0 +66 336 0 +66 337 0 +66 338 0 +66 339 0 +66 340 0 +66 341 0 +66 342 0 +66 343 0 +66 344 0 +66 345 0 +66 346 0 +66 347 0 +66 348 0 +66 349 0 +66 350 0 +66 351 0 +66 352 0 +66 353 0 +66 354 0 +66 355 0 +66 356 0 +66 357 0 +66 358 0 +66 359 0 +66 360 0 +66 361 0 +66 362 0 +66 363 0 +66 364 0 +66 365 0 +66 366 0 +66 367 0 +66 368 0 +66 369 0 +66 370 0 +66 371 0 +66 372 0 +66 373 0 +66 374 0 +66 375 0 +66 376 0 +66 377 0 +66 378 0 +66 379 0 +66 380 0 +66 381 0 +66 382 0 +66 383 0 +67 68 0 +67 69 0 +67 70 0 +67 71 0 +67 72 0 +67 73 0 +67 74 0 +67 75 0 +67 76 0 +67 77 0 +67 78 0 +67 79 0 +67 80 0 +67 81 0 +67 82 0 +67 83 0 +67 84 0 +67 85 0 +67 86 0 +67 87 0 +67 88 0 +67 89 0 +67 90 0 +67 91 0 +67 92 0 +67 93 0 +67 94 0 +67 95 0 +67 96 0 +67 97 0 +67 98 0 +67 99 0 +67 100 0 +67 101 0 +67 102 0 +67 103 0 +67 104 0 +67 105 0 +67 106 0 +67 107 0 +67 108 0 +67 109 0 +67 110 0 +67 111 0 +67 112 0 +67 113 0 +67 114 0 +67 115 0 +67 116 0 +67 117 0 +67 118 0 +67 119 0 +67 120 0 +67 121 0 +67 122 0 +67 123 0 +67 124 0 +67 125 0 +67 126 0 +67 127 0 +67 128 0 +67 129 0 +67 130 0 +67 131 0 +67 132 0 +67 133 0 +67 134 0 +67 135 0 +67 136 0 +67 137 0 +67 138 0 +67 139 0 +67 140 0 +67 141 0 +67 142 0 +67 143 0 +67 144 0 +67 145 0 +67 146 0 +67 147 0 +67 148 0 +67 149 0 +67 150 0 +67 151 0 +67 152 0 +67 153 0 +67 154 0 +67 155 0 +67 156 0 +67 157 0 +67 158 0 +67 159 0 +67 160 0 +67 161 0 +67 162 0 +67 163 0 +67 164 0 +67 165 0 +67 166 0 +67 167 0 +67 168 0 +67 169 0 +67 170 0 +67 171 0 +67 172 0 +67 173 0 +67 174 0 +67 175 0 +67 176 0 +67 177 0 +67 178 0 +67 179 0 +67 180 0 +67 181 0 +67 182 0 +67 183 0 +67 184 0 +67 185 0 +67 186 0 +67 187 0 +67 188 0 +67 189 0 +67 190 0 +67 191 0 +67 192 0 +67 193 0 +67 194 0 +67 195 0 +67 196 0 +67 197 0 +67 198 0 +67 199 0 +67 200 0 +67 201 0 +67 202 0 +67 203 0 +67 204 0 +67 205 0 +67 206 0 +67 207 0 +67 208 0 +67 209 0 +67 210 0 +67 211 0 +67 212 0 +67 213 0 +67 214 0 +67 215 0 +67 216 0 +67 217 0 +67 218 0 +67 219 0 +67 220 0 +67 221 0 +67 222 0 +67 223 0 +67 224 0 +67 225 0 +67 226 0 +67 227 0 +67 228 0 +67 229 0 +67 230 0 +67 231 0 +67 232 0 +67 233 0 +67 234 0 +67 235 0 +67 236 0 +67 237 0 +67 238 0 +67 239 0 +67 240 0 +67 241 0 +67 242 0 +67 243 0 +67 244 0 +67 245 0 +67 246 0 +67 247 0 +67 248 0 +67 249 0 +67 250 0 +67 251 0 +67 252 0 +67 253 0 +67 254 0 +67 255 0 +67 256 0 +67 257 0 +67 258 0 +67 259 0 +67 260 0 +67 261 0 +67 262 0 +67 263 0 +67 264 0 +67 265 0 +67 266 0 +67 267 0 +67 268 0 +67 269 0 +67 270 0 +67 271 0 +67 272 0 +67 273 0 +67 274 0 +67 275 0 +67 276 0 +67 277 0 +67 278 0 +67 279 0 +67 280 0 +67 281 0 +67 282 0 +67 283 0 +67 284 0 +67 285 0 +67 286 0 +67 287 0 +67 288 0 +67 289 0 +67 290 0 +67 291 0 +67 292 0 +67 293 0 +67 294 0 +67 295 0 +67 296 0 +67 297 0 +67 298 0 +67 299 0 +67 300 0 +67 301 0 +67 302 0 +67 303 0 +67 304 0 +67 305 0 +67 306 0 +67 307 0 +67 308 0 +67 309 0 +67 310 0 +67 311 0 +67 312 0 +67 313 0 +67 314 0 +67 315 0 +67 316 0 +67 317 0 +67 318 0 +67 319 0 +67 320 0 +67 321 0 +67 322 0 +67 323 0 +67 324 0 +67 325 0 +67 326 0 +67 327 0 +67 328 0 +67 329 0 +67 330 0 +67 331 0 +67 332 0 +67 333 0 +67 334 0 +67 335 0 +67 336 0 +67 337 0 +67 338 0 +67 339 0 +67 340 0 +67 341 0 +67 342 0 +67 343 0 +67 344 0 +67 345 0 +67 346 0 +67 347 0 +67 348 0 +67 349 0 +67 350 0 +67 351 0 +67 352 0 +67 353 0 +67 354 0 +67 355 0 +67 356 0 +67 357 0 +67 358 0 +67 359 0 +67 360 0 +67 361 0 +67 362 0 +67 363 0 +67 364 0 +67 365 0 +67 366 0 +67 367 0 +67 368 0 +67 369 0 +67 370 0 +67 371 0 +67 372 0 +67 373 0 +67 374 0 +67 375 0 +67 376 0 +67 377 0 +67 378 0 +67 379 0 +67 380 0 +67 381 0 +67 382 0 +67 383 0 +68 69 0 +68 70 0 +68 71 0 +68 72 0 +68 73 0 +68 74 0 +68 75 0 +68 76 0 +68 77 0 +68 78 0 +68 79 0 +68 80 0 +68 81 0 +68 82 0 +68 83 0 +68 84 0 +68 85 0 +68 86 0 +68 87 0 +68 88 0 +68 89 0 +68 90 0 +68 91 0 +68 92 0 +68 93 0 +68 94 0 +68 95 0 +68 96 0 +68 97 0 +68 98 0 +68 99 0 +68 100 0 +68 101 0 +68 102 0 +68 103 0 +68 104 0 +68 105 0 +68 106 0 +68 107 0 +68 108 0 +68 109 0 +68 110 0 +68 111 0 +68 112 0 +68 113 0 +68 114 0 +68 115 0 +68 116 0 +68 117 0 +68 118 0 +68 119 0 +68 120 0 +68 121 0 +68 122 0 +68 123 0 +68 124 0 +68 125 0 +68 126 0 +68 127 0 +68 128 0 +68 129 0 +68 130 0 +68 131 0 +68 132 0 +68 133 0 +68 134 0 +68 135 0 +68 136 0 +68 137 0 +68 138 0 +68 139 0 +68 140 0 +68 141 0 +68 142 0 +68 143 0 +68 144 0 +68 145 0 +68 146 0 +68 147 0 +68 148 0 +68 149 0 +68 150 0 +68 151 0 +68 152 0 +68 153 0 +68 154 0 +68 155 0 +68 156 0 +68 157 0 +68 158 0 +68 159 0 +68 160 0 +68 161 0 +68 162 0 +68 163 0 +68 164 0 +68 165 0 +68 166 0 +68 167 0 +68 168 0 +68 169 0 +68 170 0 +68 171 0 +68 172 0 +68 173 0 +68 174 0 +68 175 0 +68 176 0 +68 177 0 +68 178 0 +68 179 0 +68 180 0 +68 181 0 +68 182 0 +68 183 0 +68 184 0 +68 185 0 +68 186 0 +68 187 0 +68 188 0 +68 189 0 +68 190 0 +68 191 0 +68 192 0 +68 193 0 +68 194 0 +68 195 0 +68 196 0 +68 197 0 +68 198 0 +68 199 0 +68 200 0 +68 201 0 +68 202 0 +68 203 0 +68 204 0 +68 205 0 +68 206 0 +68 207 0 +68 208 0 +68 209 0 +68 210 0 +68 211 0 +68 212 0 +68 213 0 +68 214 0 +68 215 0 +68 216 0 +68 217 0 +68 218 0 +68 219 0 +68 220 0 +68 221 0 +68 222 0 +68 223 0 +68 224 0 +68 225 0 +68 226 0 +68 227 0 +68 228 0 +68 229 0 +68 230 0 +68 231 0 +68 232 0 +68 233 0 +68 234 0 +68 235 0 +68 236 0 +68 237 0 +68 238 0 +68 239 0 +68 240 0 +68 241 0 +68 242 0 +68 243 0 +68 244 0 +68 245 0 +68 246 0 +68 247 0 +68 248 0 +68 249 0 +68 250 0 +68 251 0 +68 252 0 +68 253 0 +68 254 0 +68 255 0 +68 256 0 +68 257 0 +68 258 0 +68 259 0 +68 260 0 +68 261 0 +68 262 0 +68 263 0 +68 264 0 +68 265 0 +68 266 0 +68 267 0 +68 268 0 +68 269 0 +68 270 0 +68 271 0 +68 272 0 +68 273 0 +68 274 0 +68 275 0 +68 276 0 +68 277 0 +68 278 0 +68 279 0 +68 280 0 +68 281 0 +68 282 0 +68 283 0 +68 284 0 +68 285 0 +68 286 0 +68 287 0 +68 288 0 +68 289 0 +68 290 0 +68 291 0 +68 292 0 +68 293 0 +68 294 0 +68 295 0 +68 296 0 +68 297 0 +68 298 0 +68 299 0 +68 300 0 +68 301 0 +68 302 0 +68 303 0 +68 304 0 +68 305 0 +68 306 0 +68 307 0 +68 308 0 +68 309 0 +68 310 0 +68 311 0 +68 312 0 +68 313 0 +68 314 0 +68 315 0 +68 316 0 +68 317 0 +68 318 0 +68 319 0 +68 320 0 +68 321 0 +68 322 0 +68 323 0 +68 324 0 +68 325 0 +68 326 0 +68 327 0 +68 328 0 +68 329 0 +68 330 0 +68 331 0 +68 332 0 +68 333 0 +68 334 0 +68 335 0 +68 336 0 +68 337 0 +68 338 0 +68 339 0 +68 340 0 +68 341 0 +68 342 0 +68 343 0 +68 344 0 +68 345 0 +68 346 0 +68 347 0 +68 348 0 +68 349 0 +68 350 0 +68 351 0 +68 352 0 +68 353 0 +68 354 0 +68 355 0 +68 356 0 +68 357 0 +68 358 0 +68 359 0 +68 360 0 +68 361 0 +68 362 0 +68 363 0 +68 364 0 +68 365 0 +68 366 0 +68 367 0 +68 368 0 +68 369 0 +68 370 0 +68 371 0 +68 372 0 +68 373 0 +68 374 0 +68 375 0 +68 376 0 +68 377 0 +68 378 0 +68 379 0 +68 380 0 +68 381 0 +68 382 0 +68 383 0 +69 70 0 +69 71 0 +69 72 0 +69 73 0 +69 74 0 +69 75 0 +69 76 0 +69 77 0 +69 78 0 +69 79 0 +69 80 0 +69 81 0 +69 82 0 +69 83 0 +69 84 0 +69 85 0 +69 86 0 +69 87 0 +69 88 0 +69 89 0 +69 90 0 +69 91 0 +69 92 0 +69 93 0 +69 94 0 +69 95 0 +69 96 0 +69 97 0 +69 98 0 +69 99 0 +69 100 0 +69 101 0 +69 102 0 +69 103 0 +69 104 0 +69 105 0 +69 106 0 +69 107 0 +69 108 0 +69 109 0 +69 110 0 +69 111 0 +69 112 0 +69 113 0 +69 114 0 +69 115 0 +69 116 0 +69 117 0 +69 118 0 +69 119 0 +69 120 0 +69 121 0 +69 122 0 +69 123 0 +69 124 0 +69 125 0 +69 126 0 +69 127 0 +69 128 0 +69 129 0 +69 130 0 +69 131 0 +69 132 0 +69 133 0 +69 134 0 +69 135 0 +69 136 0 +69 137 0 +69 138 0 +69 139 0 +69 140 0 +69 141 0 +69 142 0 +69 143 0 +69 144 0 +69 145 0 +69 146 0 +69 147 0 +69 148 0 +69 149 0 +69 150 0 +69 151 0 +69 152 0 +69 153 0 +69 154 0 +69 155 0 +69 156 0 +69 157 0 +69 158 0 +69 159 0 +69 160 0 +69 161 0 +69 162 0 +69 163 0 +69 164 0 +69 165 0 +69 166 0 +69 167 0 +69 168 0 +69 169 0 +69 170 0 +69 171 0 +69 172 0 +69 173 0 +69 174 0 +69 175 0 +69 176 0 +69 177 0 +69 178 0 +69 179 0 +69 180 0 +69 181 0 +69 182 0 +69 183 0 +69 184 0 +69 185 0 +69 186 0 +69 187 0 +69 188 0 +69 189 0 +69 190 0 +69 191 0 +69 192 0 +69 193 0 +69 194 0 +69 195 0 +69 196 0 +69 197 0 +69 198 0 +69 199 0 +69 200 0 +69 201 0 +69 202 0 +69 203 0 +69 204 0 +69 205 0 +69 206 0 +69 207 0 +69 208 0 +69 209 0 +69 210 0 +69 211 0 +69 212 0 +69 213 0 +69 214 0 +69 215 0 +69 216 0 +69 217 0 +69 218 0 +69 219 0 +69 220 0 +69 221 0 +69 222 0 +69 223 0 +69 224 0 +69 225 0 +69 226 0 +69 227 0 +69 228 0 +69 229 0 +69 230 0 +69 231 0 +69 232 0 +69 233 0 +69 234 0 +69 235 0 +69 236 0 +69 237 0 +69 238 0 +69 239 0 +69 240 0 +69 241 0 +69 242 0 +69 243 0 +69 244 0 +69 245 0 +69 246 0 +69 247 0 +69 248 0 +69 249 0 +69 250 0 +69 251 0 +69 252 0 +69 253 0 +69 254 0 +69 255 0 +69 256 0 +69 257 0 +69 258 0 +69 259 0 +69 260 0 +69 261 0 +69 262 0 +69 263 0 +69 264 0 +69 265 0 +69 266 0 +69 267 0 +69 268 0 +69 269 0 +69 270 0 +69 271 0 +69 272 0 +69 273 0 +69 274 0 +69 275 0 +69 276 0 +69 277 0 +69 278 0 +69 279 0 +69 280 0 +69 281 0 +69 282 0 +69 283 0 +69 284 0 +69 285 0 +69 286 0 +69 287 0 +69 288 0 +69 289 0 +69 290 0 +69 291 0 +69 292 0 +69 293 0 +69 294 0 +69 295 0 +69 296 0 +69 297 0 +69 298 0 +69 299 0 +69 300 0 +69 301 0 +69 302 0 +69 303 0 +69 304 0 +69 305 0 +69 306 0 +69 307 0 +69 308 0 +69 309 0 +69 310 0 +69 311 0 +69 312 0 +69 313 0 +69 314 0 +69 315 0 +69 316 0 +69 317 0 +69 318 0 +69 319 0 +69 320 0 +69 321 0 +69 322 0 +69 323 0 +69 324 0 +69 325 0 +69 326 0 +69 327 0 +69 328 0 +69 329 0 +69 330 0 +69 331 0 +69 332 0 +69 333 0 +69 334 0 +69 335 0 +69 336 0 +69 337 0 +69 338 0 +69 339 0 +69 340 0 +69 341 0 +69 342 0 +69 343 0 +69 344 0 +69 345 0 +69 346 0 +69 347 0 +69 348 0 +69 349 0 +69 350 0 +69 351 0 +69 352 0 +69 353 0 +69 354 0 +69 355 0 +69 356 0 +69 357 0 +69 358 0 +69 359 0 +69 360 0 +69 361 0 +69 362 0 +69 363 0 +69 364 0 +69 365 0 +69 366 0 +69 367 0 +69 368 0 +69 369 0 +69 370 0 +69 371 0 +69 372 0 +69 373 0 +69 374 0 +69 375 0 +69 376 0 +69 377 0 +69 378 0 +69 379 0 +69 380 0 +69 381 0 +69 382 0 +69 383 0 +70 71 0 +70 72 0 +70 73 0 +70 74 0 +70 75 0 +70 76 0 +70 77 0 +70 78 0 +70 79 0 +70 80 0 +70 81 0 +70 82 0 +70 83 0 +70 84 0 +70 85 0 +70 86 0 +70 87 0 +70 88 0 +70 89 0 +70 90 0 +70 91 0 +70 92 0 +70 93 0 +70 94 0 +70 95 0 +70 96 0 +70 97 0 +70 98 0 +70 99 0 +70 100 0 +70 101 0 +70 102 0 +70 103 0 +70 104 0 +70 105 0 +70 106 0 +70 107 0 +70 108 0 +70 109 0 +70 110 0 +70 111 0 +70 112 0 +70 113 0 +70 114 0 +70 115 0 +70 116 0 +70 117 0 +70 118 0 +70 119 0 +70 120 0 +70 121 0 +70 122 0 +70 123 0 +70 124 0 +70 125 0 +70 126 0 +70 127 0 +70 128 0 +70 129 0 +70 130 0 +70 131 0 +70 132 0 +70 133 0 +70 134 0 +70 135 0 +70 136 0 +70 137 0 +70 138 0 +70 139 0 +70 140 0 +70 141 0 +70 142 0 +70 143 0 +70 144 0 +70 145 0 +70 146 0 +70 147 0 +70 148 0 +70 149 0 +70 150 0 +70 151 0 +70 152 0 +70 153 0 +70 154 0 +70 155 0 +70 156 0 +70 157 0 +70 158 0 +70 159 0 +70 160 0 +70 161 0 +70 162 0 +70 163 0 +70 164 0 +70 165 0 +70 166 0 +70 167 0 +70 168 0 +70 169 0 +70 170 0 +70 171 0 +70 172 0 +70 173 0 +70 174 0 +70 175 0 +70 176 0 +70 177 0 +70 178 0 +70 179 0 +70 180 0 +70 181 0 +70 182 0 +70 183 0 +70 184 0 +70 185 0 +70 186 0 +70 187 0 +70 188 0 +70 189 0 +70 190 0 +70 191 0 +70 192 0 +70 193 0 +70 194 0 +70 195 0 +70 196 0 +70 197 0 +70 198 0 +70 199 0 +70 200 0 +70 201 0 +70 202 0 +70 203 0 +70 204 0 +70 205 0 +70 206 0 +70 207 0 +70 208 0 +70 209 0 +70 210 0 +70 211 0 +70 212 0 +70 213 0 +70 214 0 +70 215 0 +70 216 0 +70 217 0 +70 218 0 +70 219 0 +70 220 0 +70 221 0 +70 222 0 +70 223 0 +70 224 0 +70 225 0 +70 226 0 +70 227 0 +70 228 0 +70 229 0 +70 230 0 +70 231 0 +70 232 0 +70 233 0 +70 234 0 +70 235 0 +70 236 0 +70 237 0 +70 238 0 +70 239 0 +70 240 0 +70 241 0 +70 242 0 +70 243 0 +70 244 0 +70 245 0 +70 246 0 +70 247 0 +70 248 0 +70 249 0 +70 250 0 +70 251 0 +70 252 0 +70 253 0 +70 254 0 +70 255 0 +70 256 0 +70 257 0 +70 258 0 +70 259 0 +70 260 0 +70 261 0 +70 262 0 +70 263 0 +70 264 0 +70 265 0 +70 266 0 +70 267 0 +70 268 0 +70 269 0 +70 270 0 +70 271 0 +70 272 0 +70 273 0 +70 274 0 +70 275 0 +70 276 0 +70 277 0 +70 278 0 +70 279 0 +70 280 0 +70 281 0 +70 282 0 +70 283 0 +70 284 0 +70 285 0 +70 286 0 +70 287 0 +70 288 0 +70 289 0 +70 290 0 +70 291 0 +70 292 0 +70 293 0 +70 294 0 +70 295 0 +70 296 0 +70 297 0 +70 298 0 +70 299 0 +70 300 0 +70 301 0 +70 302 0 +70 303 0 +70 304 0 +70 305 0 +70 306 0 +70 307 0 +70 308 0 +70 309 0 +70 310 0 +70 311 0 +70 312 0 +70 313 0 +70 314 0 +70 315 0 +70 316 0 +70 317 0 +70 318 0 +70 319 0 +70 320 0 +70 321 0 +70 322 0 +70 323 0 +70 324 0 +70 325 0 +70 326 0 +70 327 0 +70 328 0 +70 329 0 +70 330 0 +70 331 0 +70 332 0 +70 333 0 +70 334 0 +70 335 0 +70 336 0 +70 337 0 +70 338 0 +70 339 0 +70 340 0 +70 341 0 +70 342 0 +70 343 0 +70 344 0 +70 345 0 +70 346 0 +70 347 0 +70 348 0 +70 349 0 +70 350 0 +70 351 0 +70 352 0 +70 353 0 +70 354 0 +70 355 0 +70 356 0 +70 357 0 +70 358 0 +70 359 0 +70 360 0 +70 361 0 +70 362 0 +70 363 0 +70 364 0 +70 365 0 +70 366 0 +70 367 0 +70 368 0 +70 369 0 +70 370 0 +70 371 0 +70 372 0 +70 373 0 +70 374 0 +70 375 0 +70 376 0 +70 377 0 +70 378 0 +70 379 0 +70 380 0 +70 381 0 +70 382 0 +70 383 0 +71 72 0 +71 73 0 +71 74 0 +71 75 0 +71 76 0 +71 77 0 +71 78 0 +71 79 0 +71 80 0 +71 81 0 +71 82 0 +71 83 0 +71 84 0 +71 85 0 +71 86 0 +71 87 0 +71 88 0 +71 89 0 +71 90 0 +71 91 0 +71 92 0 +71 93 0 +71 94 0 +71 95 0 +71 96 0 +71 97 0 +71 98 0 +71 99 0 +71 100 0 +71 101 0 +71 102 0 +71 103 0 +71 104 0 +71 105 0 +71 106 0 +71 107 0 +71 108 0 +71 109 0 +71 110 0 +71 111 0 +71 112 0 +71 113 0 +71 114 0 +71 115 0 +71 116 0 +71 117 0 +71 118 0 +71 119 0 +71 120 0 +71 121 0 +71 122 0 +71 123 0 +71 124 0 +71 125 0 +71 126 0 +71 127 0 +71 128 0 +71 129 0 +71 130 0 +71 131 0 +71 132 0 +71 133 0 +71 134 0 +71 135 0 +71 136 0 +71 137 0 +71 138 0 +71 139 0 +71 140 0 +71 141 0 +71 142 0 +71 143 0 +71 144 0 +71 145 0 +71 146 0 +71 147 0 +71 148 0 +71 149 0 +71 150 0 +71 151 0 +71 152 0 +71 153 0 +71 154 0 +71 155 0 +71 156 0 +71 157 0 +71 158 0 +71 159 0 +71 160 0 +71 161 0 +71 162 0 +71 163 0 +71 164 0 +71 165 0 +71 166 0 +71 167 0 +71 168 0 +71 169 0 +71 170 0 +71 171 0 +71 172 0 +71 173 0 +71 174 0 +71 175 0 +71 176 0 +71 177 0 +71 178 0 +71 179 0 +71 180 0 +71 181 0 +71 182 0 +71 183 0 +71 184 0 +71 185 0 +71 186 0 +71 187 0 +71 188 0 +71 189 0 +71 190 0 +71 191 0 +71 192 0 +71 193 0 +71 194 0 +71 195 0 +71 196 0 +71 197 0 +71 198 0 +71 199 0 +71 200 0 +71 201 0 +71 202 0 +71 203 0 +71 204 0 +71 205 0 +71 206 0 +71 207 0 +71 208 0 +71 209 0 +71 210 0 +71 211 0 +71 212 0 +71 213 0 +71 214 0 +71 215 0 +71 216 0 +71 217 0 +71 218 0 +71 219 0 +71 220 0 +71 221 0 +71 222 0 +71 223 0 +71 224 0 +71 225 0 +71 226 0 +71 227 0 +71 228 0 +71 229 0 +71 230 0 +71 231 0 +71 232 0 +71 233 0 +71 234 0 +71 235 0 +71 236 0 +71 237 0 +71 238 0 +71 239 0 +71 240 0 +71 241 0 +71 242 0 +71 243 0 +71 244 0 +71 245 0 +71 246 0 +71 247 0 +71 248 0 +71 249 0 +71 250 0 +71 251 0 +71 252 0 +71 253 0 +71 254 0 +71 255 0 +71 256 0 +71 257 0 +71 258 0 +71 259 0 +71 260 0 +71 261 0 +71 262 0 +71 263 0 +71 264 0 +71 265 0 +71 266 0 +71 267 0 +71 268 0 +71 269 0 +71 270 0 +71 271 0 +71 272 0 +71 273 0 +71 274 0 +71 275 0 +71 276 0 +71 277 0 +71 278 0 +71 279 0 +71 280 0 +71 281 0 +71 282 0 +71 283 0 +71 284 0 +71 285 0 +71 286 0 +71 287 0 +71 288 0 +71 289 0 +71 290 0 +71 291 0 +71 292 0 +71 293 0 +71 294 0 +71 295 0 +71 296 0 +71 297 0 +71 298 0 +71 299 0 +71 300 0 +71 301 0 +71 302 0 +71 303 0 +71 304 0 +71 305 0 +71 306 0 +71 307 0 +71 308 0 +71 309 0 +71 310 0 +71 311 0 +71 312 0 +71 313 0 +71 314 0 +71 315 0 +71 316 0 +71 317 0 +71 318 0 +71 319 0 +71 320 0 +71 321 0 +71 322 0 +71 323 0 +71 324 0 +71 325 0 +71 326 0 +71 327 0 +71 328 0 +71 329 0 +71 330 0 +71 331 0 +71 332 0 +71 333 0 +71 334 0 +71 335 0 +71 336 0 +71 337 0 +71 338 0 +71 339 0 +71 340 0 +71 341 0 +71 342 0 +71 343 0 +71 344 0 +71 345 0 +71 346 0 +71 347 0 +71 348 0 +71 349 0 +71 350 0 +71 351 0 +71 352 0 +71 353 0 +71 354 0 +71 355 0 +71 356 0 +71 357 0 +71 358 0 +71 359 0 +71 360 0 +71 361 0 +71 362 0 +71 363 0 +71 364 0 +71 365 0 +71 366 0 +71 367 0 +71 368 0 +71 369 0 +71 370 0 +71 371 0 +71 372 0 +71 373 0 +71 374 0 +71 375 0 +71 376 0 +71 377 0 +71 378 0 +71 379 0 +71 380 0 +71 381 0 +71 382 0 +71 383 0 +72 73 0 +72 74 0 +72 75 0 +72 76 0 +72 77 0 +72 78 0 +72 79 0 +72 80 0 +72 81 0 +72 82 0 +72 83 0 +72 84 0 +72 85 0 +72 86 0 +72 87 0 +72 88 0 +72 89 0 +72 90 0 +72 91 0 +72 92 0 +72 93 0 +72 94 0 +72 95 0 +72 96 0 +72 97 0 +72 98 0 +72 99 0 +72 100 0 +72 101 0 +72 102 0 +72 103 0 +72 104 0 +72 105 0 +72 106 0 +72 107 0 +72 108 0 +72 109 0 +72 110 0 +72 111 0 +72 112 0 +72 113 0 +72 114 0 +72 115 0 +72 116 0 +72 117 0 +72 118 0 +72 119 0 +72 120 0 +72 121 0 +72 122 0 +72 123 0 +72 124 0 +72 125 0 +72 126 0 +72 127 0 +72 128 0 +72 129 0 +72 130 0 +72 131 0 +72 132 0 +72 133 0 +72 134 0 +72 135 0 +72 136 0 +72 137 0 +72 138 0 +72 139 0 +72 140 0 +72 141 0 +72 142 0 +72 143 0 +72 144 0 +72 145 0 +72 146 0 +72 147 0 +72 148 0 +72 149 0 +72 150 0 +72 151 0 +72 152 0 +72 153 0 +72 154 0 +72 155 0 +72 156 0 +72 157 0 +72 158 0 +72 159 0 +72 160 0 +72 161 0 +72 162 0 +72 163 0 +72 164 0 +72 165 0 +72 166 0 +72 167 0 +72 168 0 +72 169 0 +72 170 0 +72 171 0 +72 172 0 +72 173 0 +72 174 0 +72 175 0 +72 176 0 +72 177 0 +72 178 0 +72 179 0 +72 180 0 +72 181 0 +72 182 0 +72 183 0 +72 184 0 +72 185 0 +72 186 0 +72 187 0 +72 188 0 +72 189 0 +72 190 0 +72 191 0 +72 192 0 +72 193 0 +72 194 0 +72 195 0 +72 196 0 +72 197 0 +72 198 0 +72 199 0 +72 200 0 +72 201 0 +72 202 0 +72 203 0 +72 204 0 +72 205 0 +72 206 0 +72 207 0 +72 208 0 +72 209 0 +72 210 0 +72 211 0 +72 212 0 +72 213 0 +72 214 0 +72 215 0 +72 216 0 +72 217 0 +72 218 0 +72 219 0 +72 220 0 +72 221 0 +72 222 0 +72 223 0 +72 224 0 +72 225 0 +72 226 0 +72 227 0 +72 228 0 +72 229 0 +72 230 0 +72 231 0 +72 232 0 +72 233 0 +72 234 0 +72 235 0 +72 236 0 +72 237 0 +72 238 0 +72 239 0 +72 240 0 +72 241 0 +72 242 0 +72 243 0 +72 244 0 +72 245 0 +72 246 0 +72 247 0 +72 248 0 +72 249 0 +72 250 0 +72 251 0 +72 252 0 +72 253 0 +72 254 0 +72 255 0 +72 256 0 +72 257 0 +72 258 0 +72 259 0 +72 260 0 +72 261 0 +72 262 0 +72 263 0 +72 264 0 +72 265 0 +72 266 0 +72 267 0 +72 268 0 +72 269 0 +72 270 0 +72 271 0 +72 272 0 +72 273 0 +72 274 0 +72 275 0 +72 276 0 +72 277 0 +72 278 0 +72 279 0 +72 280 0 +72 281 0 +72 282 0 +72 283 0 +72 284 0 +72 285 0 +72 286 0 +72 287 0 +72 288 0 +72 289 0 +72 290 0 +72 291 0 +72 292 0 +72 293 0 +72 294 0 +72 295 0 +72 296 0 +72 297 0 +72 298 0 +72 299 0 +72 300 0 +72 301 0 +72 302 0 +72 303 0 +72 304 0 +72 305 0 +72 306 0 +72 307 0 +72 308 0 +72 309 0 +72 310 0 +72 311 0 +72 312 0 +72 313 0 +72 314 0 +72 315 0 +72 316 0 +72 317 0 +72 318 0 +72 319 0 +72 320 0 +72 321 0 +72 322 0 +72 323 0 +72 324 0 +72 325 0 +72 326 0 +72 327 0 +72 328 0 +72 329 0 +72 330 0 +72 331 0 +72 332 0 +72 333 0 +72 334 0 +72 335 0 +72 336 0 +72 337 0 +72 338 0 +72 339 0 +72 340 0 +72 341 0 +72 342 0 +72 343 0 +72 344 0 +72 345 0 +72 346 0 +72 347 0 +72 348 0 +72 349 0 +72 350 0 +72 351 0 +72 352 0 +72 353 0 +72 354 0 +72 355 0 +72 356 0 +72 357 0 +72 358 0 +72 359 0 +72 360 0 +72 361 0 +72 362 0 +72 363 0 +72 364 0 +72 365 0 +72 366 0 +72 367 0 +72 368 0 +72 369 0 +72 370 0 +72 371 0 +72 372 0 +72 373 0 +72 374 0 +72 375 0 +72 376 0 +72 377 0 +72 378 0 +72 379 0 +72 380 0 +72 381 0 +72 382 0 +72 383 0 +73 74 0 +73 75 0 +73 76 0 +73 77 0 +73 78 0 +73 79 0 +73 80 0 +73 81 0 +73 82 0 +73 83 0 +73 84 0 +73 85 0 +73 86 0 +73 87 0 +73 88 0 +73 89 0 +73 90 0 +73 91 0 +73 92 0 +73 93 0 +73 94 0 +73 95 0 +73 96 0 +73 97 0 +73 98 0 +73 99 0 +73 100 0 +73 101 0 +73 102 0 +73 103 0 +73 104 0 +73 105 0 +73 106 0 +73 107 0 +73 108 0 +73 109 0 +73 110 0 +73 111 0 +73 112 0 +73 113 0 +73 114 0 +73 115 0 +73 116 0 +73 117 0 +73 118 0 +73 119 0 +73 120 0 +73 121 0 +73 122 0 +73 123 0 +73 124 0 +73 125 0 +73 126 0 +73 127 0 +73 128 0 +73 129 0 +73 130 0 +73 131 0 +73 132 0 +73 133 0 +73 134 0 +73 135 0 +73 136 0 +73 137 0 +73 138 0 +73 139 0 +73 140 0 +73 141 0 +73 142 0 +73 143 0 +73 144 0 +73 145 0 +73 146 0 +73 147 0 +73 148 0 +73 149 0 +73 150 0 +73 151 0 +73 152 0 +73 153 0 +73 154 0 +73 155 0 +73 156 0 +73 157 0 +73 158 0 +73 159 0 +73 160 0 +73 161 0 +73 162 0 +73 163 0 +73 164 0 +73 165 0 +73 166 0 +73 167 0 +73 168 0 +73 169 0 +73 170 0 +73 171 0 +73 172 0 +73 173 0 +73 174 0 +73 175 0 +73 176 0 +73 177 0 +73 178 0 +73 179 0 +73 180 0 +73 181 0 +73 182 0 +73 183 0 +73 184 0 +73 185 0 +73 186 0 +73 187 0 +73 188 0 +73 189 0 +73 190 0 +73 191 0 +73 192 0 +73 193 0 +73 194 0 +73 195 0 +73 196 0 +73 197 0 +73 198 0 +73 199 0 +73 200 0 +73 201 0 +73 202 0 +73 203 0 +73 204 0 +73 205 0 +73 206 0 +73 207 0 +73 208 0 +73 209 0 +73 210 0 +73 211 0 +73 212 0 +73 213 0 +73 214 0 +73 215 0 +73 216 0 +73 217 0 +73 218 0 +73 219 0 +73 220 0 +73 221 0 +73 222 0 +73 223 0 +73 224 0 +73 225 0 +73 226 0 +73 227 0 +73 228 0 +73 229 0 +73 230 0 +73 231 0 +73 232 0 +73 233 0 +73 234 0 +73 235 0 +73 236 0 +73 237 0 +73 238 0 +73 239 0 +73 240 0 +73 241 0 +73 242 0 +73 243 0 +73 244 0 +73 245 0 +73 246 0 +73 247 0 +73 248 0 +73 249 0 +73 250 0 +73 251 0 +73 252 0 +73 253 0 +73 254 0 +73 255 0 +73 256 0 +73 257 0 +73 258 0 +73 259 0 +73 260 0 +73 261 0 +73 262 0 +73 263 0 +73 264 0 +73 265 0 +73 266 0 +73 267 0 +73 268 0 +73 269 0 +73 270 0 +73 271 0 +73 272 0 +73 273 0 +73 274 0 +73 275 0 +73 276 0 +73 277 0 +73 278 0 +73 279 0 +73 280 0 +73 281 0 +73 282 0 +73 283 0 +73 284 0 +73 285 0 +73 286 0 +73 287 0 +73 288 0 +73 289 0 +73 290 0 +73 291 0 +73 292 0 +73 293 0 +73 294 0 +73 295 0 +73 296 0 +73 297 0 +73 298 0 +73 299 0 +73 300 0 +73 301 0 +73 302 0 +73 303 0 +73 304 0 +73 305 0 +73 306 0 +73 307 0 +73 308 0 +73 309 0 +73 310 0 +73 311 0 +73 312 0 +73 313 0 +73 314 0 +73 315 0 +73 316 0 +73 317 0 +73 318 0 +73 319 0 +73 320 0 +73 321 0 +73 322 0 +73 323 0 +73 324 0 +73 325 0 +73 326 0 +73 327 0 +73 328 0 +73 329 0 +73 330 0 +73 331 0 +73 332 0 +73 333 0 +73 334 0 +73 335 0 +73 336 0 +73 337 0 +73 338 0 +73 339 0 +73 340 0 +73 341 0 +73 342 0 +73 343 0 +73 344 0 +73 345 0 +73 346 0 +73 347 0 +73 348 0 +73 349 0 +73 350 0 +73 351 0 +73 352 0 +73 353 0 +73 354 0 +73 355 0 +73 356 0 +73 357 0 +73 358 0 +73 359 0 +73 360 0 +73 361 0 +73 362 0 +73 363 0 +73 364 0 +73 365 0 +73 366 0 +73 367 0 +73 368 0 +73 369 0 +73 370 0 +73 371 0 +73 372 0 +73 373 0 +73 374 0 +73 375 0 +73 376 0 +73 377 0 +73 378 0 +73 379 0 +73 380 0 +73 381 0 +73 382 0 +73 383 0 +74 75 0 +74 76 0 +74 77 0 +74 78 0 +74 79 0 +74 80 0 +74 81 0 +74 82 0 +74 83 0 +74 84 0 +74 85 0 +74 86 0 +74 87 0 +74 88 0 +74 89 0 +74 90 0 +74 91 0 +74 92 0 +74 93 0 +74 94 0 +74 95 0 +74 96 0 +74 97 0 +74 98 0 +74 99 0 +74 100 0 +74 101 0 +74 102 0 +74 103 0 +74 104 0 +74 105 0 +74 106 0 +74 107 0 +74 108 0 +74 109 0 +74 110 0 +74 111 0 +74 112 0 +74 113 0 +74 114 0 +74 115 0 +74 116 0 +74 117 0 +74 118 0 +74 119 0 +74 120 0 +74 121 0 +74 122 0 +74 123 0 +74 124 0 +74 125 0 +74 126 0 +74 127 0 +74 128 0 +74 129 0 +74 130 0 +74 131 0 +74 132 0 +74 133 0 +74 134 0 +74 135 0 +74 136 0 +74 137 0 +74 138 0 +74 139 0 +74 140 0 +74 141 0 +74 142 0 +74 143 0 +74 144 0 +74 145 0 +74 146 0 +74 147 0 +74 148 0 +74 149 0 +74 150 0 +74 151 0 +74 152 0 +74 153 0 +74 154 0 +74 155 0 +74 156 0 +74 157 0 +74 158 0 +74 159 0 +74 160 0 +74 161 0 +74 162 0 +74 163 0 +74 164 0 +74 165 0 +74 166 0 +74 167 0 +74 168 0 +74 169 0 +74 170 0 +74 171 0 +74 172 0 +74 173 0 +74 174 0 +74 175 0 +74 176 0 +74 177 0 +74 178 0 +74 179 0 +74 180 0 +74 181 0 +74 182 0 +74 183 0 +74 184 0 +74 185 0 +74 186 0 +74 187 0 +74 188 0 +74 189 0 +74 190 0 +74 191 0 +74 192 0 +74 193 0 +74 194 0 +74 195 0 +74 196 0 +74 197 0 +74 198 0 +74 199 0 +74 200 0 +74 201 0 +74 202 0 +74 203 0 +74 204 0 +74 205 0 +74 206 0 +74 207 0 +74 208 0 +74 209 0 +74 210 0 +74 211 0 +74 212 0 +74 213 0 +74 214 0 +74 215 0 +74 216 0 +74 217 0 +74 218 0 +74 219 0 +74 220 0 +74 221 0 +74 222 0 +74 223 0 +74 224 0 +74 225 0 +74 226 0 +74 227 0 +74 228 0 +74 229 0 +74 230 0 +74 231 0 +74 232 0 +74 233 0 +74 234 0 +74 235 0 +74 236 0 +74 237 0 +74 238 0 +74 239 0 +74 240 0 +74 241 0 +74 242 0 +74 243 0 +74 244 0 +74 245 0 +74 246 0 +74 247 0 +74 248 0 +74 249 0 +74 250 0 +74 251 0 +74 252 0 +74 253 0 +74 254 0 +74 255 0 +74 256 0 +74 257 0 +74 258 0 +74 259 0 +74 260 0 +74 261 0 +74 262 0 +74 263 0 +74 264 0 +74 265 0 +74 266 0 +74 267 0 +74 268 0 +74 269 0 +74 270 0 +74 271 0 +74 272 0 +74 273 0 +74 274 0 +74 275 0 +74 276 0 +74 277 0 +74 278 0 +74 279 0 +74 280 0 +74 281 0 +74 282 0 +74 283 0 +74 284 0 +74 285 0 +74 286 0 +74 287 0 +74 288 0 +74 289 0 +74 290 0 +74 291 0 +74 292 0 +74 293 0 +74 294 0 +74 295 0 +74 296 0 +74 297 0 +74 298 0 +74 299 0 +74 300 0 +74 301 0 +74 302 0 +74 303 0 +74 304 0 +74 305 0 +74 306 0 +74 307 0 +74 308 0 +74 309 0 +74 310 0 +74 311 0 +74 312 0 +74 313 0 +74 314 0 +74 315 0 +74 316 0 +74 317 0 +74 318 0 +74 319 0 +74 320 0 +74 321 0 +74 322 0 +74 323 0 +74 324 0 +74 325 0 +74 326 0 +74 327 0 +74 328 0 +74 329 0 +74 330 0 +74 331 0 +74 332 0 +74 333 0 +74 334 0 +74 335 0 +74 336 0 +74 337 0 +74 338 0 +74 339 0 +74 340 0 +74 341 0 +74 342 0 +74 343 0 +74 344 0 +74 345 0 +74 346 0 +74 347 0 +74 348 0 +74 349 0 +74 350 0 +74 351 0 +74 352 0 +74 353 0 +74 354 0 +74 355 0 +74 356 0 +74 357 0 +74 358 0 +74 359 0 +74 360 0 +74 361 0 +74 362 0 +74 363 0 +74 364 0 +74 365 0 +74 366 0 +74 367 0 +74 368 0 +74 369 0 +74 370 0 +74 371 0 +74 372 0 +74 373 0 +74 374 0 +74 375 0 +74 376 0 +74 377 0 +74 378 0 +74 379 0 +74 380 0 +74 381 0 +74 382 0 +74 383 0 +75 76 0 +75 77 0 +75 78 0 +75 79 0 +75 80 0 +75 81 0 +75 82 0 +75 83 0 +75 84 0 +75 85 0 +75 86 0 +75 87 0 +75 88 0 +75 89 0 +75 90 0 +75 91 0 +75 92 0 +75 93 0 +75 94 0 +75 95 0 +75 96 0 +75 97 0 +75 98 0 +75 99 0 +75 100 0 +75 101 0 +75 102 0 +75 103 0 +75 104 0 +75 105 0 +75 106 0 +75 107 0 +75 108 0 +75 109 0 +75 110 0 +75 111 0 +75 112 0 +75 113 0 +75 114 0 +75 115 0 +75 116 0 +75 117 0 +75 118 0 +75 119 0 +75 120 0 +75 121 0 +75 122 0 +75 123 0 +75 124 0 +75 125 0 +75 126 0 +75 127 0 +75 128 0 +75 129 0 +75 130 0 +75 131 0 +75 132 0 +75 133 0 +75 134 0 +75 135 0 +75 136 0 +75 137 0 +75 138 0 +75 139 0 +75 140 0 +75 141 0 +75 142 0 +75 143 0 +75 144 0 +75 145 0 +75 146 0 +75 147 0 +75 148 0 +75 149 0 +75 150 0 +75 151 0 +75 152 0 +75 153 0 +75 154 0 +75 155 0 +75 156 0 +75 157 0 +75 158 0 +75 159 0 +75 160 0 +75 161 0 +75 162 0 +75 163 0 +75 164 0 +75 165 0 +75 166 0 +75 167 0 +75 168 0 +75 169 0 +75 170 0 +75 171 0 +75 172 0 +75 173 0 +75 174 0 +75 175 0 +75 176 0 +75 177 0 +75 178 0 +75 179 0 +75 180 0 +75 181 0 +75 182 0 +75 183 0 +75 184 0 +75 185 0 +75 186 0 +75 187 0 +75 188 0 +75 189 0 +75 190 0 +75 191 0 +75 192 0 +75 193 0 +75 194 0 +75 195 0 +75 196 0 +75 197 0 +75 198 0 +75 199 0 +75 200 0 +75 201 0 +75 202 0 +75 203 0 +75 204 0 +75 205 0 +75 206 0 +75 207 0 +75 208 0 +75 209 0 +75 210 0 +75 211 0 +75 212 0 +75 213 0 +75 214 0 +75 215 0 +75 216 0 +75 217 0 +75 218 0 +75 219 0 +75 220 0 +75 221 0 +75 222 0 +75 223 0 +75 224 0 +75 225 0 +75 226 0 +75 227 0 +75 228 0 +75 229 0 +75 230 0 +75 231 0 +75 232 0 +75 233 0 +75 234 0 +75 235 0 +75 236 0 +75 237 0 +75 238 0 +75 239 0 +75 240 0 +75 241 0 +75 242 0 +75 243 0 +75 244 0 +75 245 0 +75 246 0 +75 247 0 +75 248 0 +75 249 0 +75 250 0 +75 251 0 +75 252 0 +75 253 0 +75 254 0 +75 255 0 +75 256 0 +75 257 0 +75 258 0 +75 259 0 +75 260 0 +75 261 0 +75 262 0 +75 263 0 +75 264 0 +75 265 0 +75 266 0 +75 267 0 +75 268 0 +75 269 0 +75 270 0 +75 271 0 +75 272 0 +75 273 0 +75 274 0 +75 275 0 +75 276 0 +75 277 0 +75 278 0 +75 279 0 +75 280 0 +75 281 0 +75 282 0 +75 283 0 +75 284 0 +75 285 0 +75 286 0 +75 287 0 +75 288 0 +75 289 0 +75 290 0 +75 291 0 +75 292 0 +75 293 0 +75 294 0 +75 295 0 +75 296 0 +75 297 0 +75 298 0 +75 299 0 +75 300 0 +75 301 0 +75 302 0 +75 303 0 +75 304 0 +75 305 0 +75 306 0 +75 307 0 +75 308 0 +75 309 0 +75 310 0 +75 311 0 +75 312 0 +75 313 0 +75 314 0 +75 315 0 +75 316 0 +75 317 0 +75 318 0 +75 319 0 +75 320 0 +75 321 0 +75 322 0 +75 323 0 +75 324 0 +75 325 0 +75 326 0 +75 327 0 +75 328 0 +75 329 0 +75 330 0 +75 331 0 +75 332 0 +75 333 0 +75 334 0 +75 335 0 +75 336 0 +75 337 0 +75 338 0 +75 339 0 +75 340 0 +75 341 0 +75 342 0 +75 343 0 +75 344 0 +75 345 0 +75 346 0 +75 347 0 +75 348 0 +75 349 0 +75 350 0 +75 351 0 +75 352 0 +75 353 0 +75 354 0 +75 355 0 +75 356 0 +75 357 0 +75 358 0 +75 359 0 +75 360 0 +75 361 0 +75 362 0 +75 363 0 +75 364 0 +75 365 0 +75 366 0 +75 367 0 +75 368 0 +75 369 0 +75 370 0 +75 371 0 +75 372 0 +75 373 0 +75 374 0 +75 375 0 +75 376 0 +75 377 0 +75 378 0 +75 379 0 +75 380 0 +75 381 0 +75 382 0 +75 383 0 +76 77 0 +76 78 0 +76 79 0 +76 80 0 +76 81 0 +76 82 0 +76 83 0 +76 84 0 +76 85 0 +76 86 0 +76 87 0 +76 88 0 +76 89 0 +76 90 0 +76 91 0 +76 92 0 +76 93 0 +76 94 0 +76 95 0 +76 96 0 +76 97 0 +76 98 0 +76 99 0 +76 100 0 +76 101 0 +76 102 0 +76 103 0 +76 104 0 +76 105 0 +76 106 0 +76 107 0 +76 108 0 +76 109 0 +76 110 0 +76 111 0 +76 112 0 +76 113 0 +76 114 0 +76 115 0 +76 116 0 +76 117 0 +76 118 0 +76 119 0 +76 120 0 +76 121 0 +76 122 0 +76 123 0 +76 124 0 +76 125 0 +76 126 0 +76 127 0 +76 128 0 +76 129 0 +76 130 0 +76 131 0 +76 132 0 +76 133 0 +76 134 0 +76 135 0 +76 136 0 +76 137 0 +76 138 0 +76 139 0 +76 140 0 +76 141 0 +76 142 0 +76 143 0 +76 144 0 +76 145 0 +76 146 0 +76 147 0 +76 148 0 +76 149 0 +76 150 0 +76 151 0 +76 152 0 +76 153 0 +76 154 0 +76 155 0 +76 156 0 +76 157 0 +76 158 0 +76 159 0 +76 160 0 +76 161 0 +76 162 0 +76 163 0 +76 164 0 +76 165 0 +76 166 0 +76 167 0 +76 168 0 +76 169 0 +76 170 0 +76 171 0 +76 172 0 +76 173 0 +76 174 0 +76 175 0 +76 176 0 +76 177 0 +76 178 0 +76 179 0 +76 180 0 +76 181 0 +76 182 0 +76 183 0 +76 184 0 +76 185 0 +76 186 0 +76 187 0 +76 188 0 +76 189 0 +76 190 0 +76 191 0 +76 192 0 +76 193 0 +76 194 0 +76 195 0 +76 196 0 +76 197 0 +76 198 0 +76 199 0 +76 200 0 +76 201 0 +76 202 0 +76 203 0 +76 204 0 +76 205 0 +76 206 0 +76 207 0 +76 208 0 +76 209 0 +76 210 0 +76 211 0 +76 212 0 +76 213 0 +76 214 0 +76 215 0 +76 216 0 +76 217 0 +76 218 0 +76 219 0 +76 220 0 +76 221 0 +76 222 0 +76 223 0 +76 224 0 +76 225 0 +76 226 0 +76 227 0 +76 228 0 +76 229 0 +76 230 0 +76 231 0 +76 232 0 +76 233 0 +76 234 0 +76 235 0 +76 236 0 +76 237 0 +76 238 0 +76 239 0 +76 240 0 +76 241 0 +76 242 0 +76 243 0 +76 244 0 +76 245 0 +76 246 0 +76 247 0 +76 248 0 +76 249 0 +76 250 0 +76 251 0 +76 252 0 +76 253 0 +76 254 0 +76 255 0 +76 256 0 +76 257 0 +76 258 0 +76 259 0 +76 260 0 +76 261 0 +76 262 0 +76 263 0 +76 264 0 +76 265 0 +76 266 0 +76 267 0 +76 268 0 +76 269 0 +76 270 0 +76 271 0 +76 272 0 +76 273 0 +76 274 0 +76 275 0 +76 276 0 +76 277 0 +76 278 0 +76 279 0 +76 280 0 +76 281 0 +76 282 0 +76 283 0 +76 284 0 +76 285 0 +76 286 0 +76 287 0 +76 288 0 +76 289 0 +76 290 0 +76 291 0 +76 292 0 +76 293 0 +76 294 0 +76 295 0 +76 296 0 +76 297 0 +76 298 0 +76 299 0 +76 300 0 +76 301 0 +76 302 0 +76 303 0 +76 304 0 +76 305 0 +76 306 0 +76 307 0 +76 308 0 +76 309 0 +76 310 0 +76 311 0 +76 312 0 +76 313 0 +76 314 0 +76 315 0 +76 316 0 +76 317 0 +76 318 0 +76 319 0 +76 320 0 +76 321 0 +76 322 0 +76 323 0 +76 324 0 +76 325 0 +76 326 0 +76 327 0 +76 328 0 +76 329 0 +76 330 0 +76 331 0 +76 332 0 +76 333 0 +76 334 0 +76 335 0 +76 336 0 +76 337 0 +76 338 0 +76 339 0 +76 340 0 +76 341 0 +76 342 0 +76 343 0 +76 344 0 +76 345 0 +76 346 0 +76 347 0 +76 348 0 +76 349 0 +76 350 0 +76 351 0 +76 352 0 +76 353 0 +76 354 0 +76 355 0 +76 356 0 +76 357 0 +76 358 0 +76 359 0 +76 360 0 +76 361 0 +76 362 0 +76 363 0 +76 364 0 +76 365 0 +76 366 0 +76 367 0 +76 368 0 +76 369 0 +76 370 0 +76 371 0 +76 372 0 +76 373 0 +76 374 0 +76 375 0 +76 376 0 +76 377 0 +76 378 0 +76 379 0 +76 380 0 +76 381 0 +76 382 0 +76 383 0 +77 78 0 +77 79 0 +77 80 0 +77 81 0 +77 82 0 +77 83 0 +77 84 0 +77 85 0 +77 86 0 +77 87 0 +77 88 0 +77 89 0 +77 90 0 +77 91 0 +77 92 0 +77 93 0 +77 94 0 +77 95 0 +77 96 0 +77 97 0 +77 98 0 +77 99 0 +77 100 0 +77 101 0 +77 102 0 +77 103 0 +77 104 0 +77 105 0 +77 106 0 +77 107 0 +77 108 0 +77 109 0 +77 110 0 +77 111 0 +77 112 0 +77 113 0 +77 114 0 +77 115 0 +77 116 0 +77 117 0 +77 118 0 +77 119 0 +77 120 0 +77 121 0 +77 122 0 +77 123 0 +77 124 0 +77 125 0 +77 126 0 +77 127 0 +77 128 0 +77 129 0 +77 130 0 +77 131 0 +77 132 0 +77 133 0 +77 134 0 +77 135 0 +77 136 0 +77 137 0 +77 138 0 +77 139 0 +77 140 0 +77 141 0 +77 142 0 +77 143 0 +77 144 0 +77 145 0 +77 146 0 +77 147 0 +77 148 0 +77 149 0 +77 150 0 +77 151 0 +77 152 0 +77 153 0 +77 154 0 +77 155 0 +77 156 0 +77 157 0 +77 158 0 +77 159 0 +77 160 0 +77 161 0 +77 162 0 +77 163 0 +77 164 0 +77 165 0 +77 166 0 +77 167 0 +77 168 0 +77 169 0 +77 170 0 +77 171 0 +77 172 0 +77 173 0 +77 174 0 +77 175 0 +77 176 0 +77 177 0 +77 178 0 +77 179 0 +77 180 0 +77 181 0 +77 182 0 +77 183 0 +77 184 0 +77 185 0 +77 186 0 +77 187 0 +77 188 0 +77 189 0 +77 190 0 +77 191 0 +77 192 0 +77 193 0 +77 194 0 +77 195 0 +77 196 0 +77 197 0 +77 198 0 +77 199 0 +77 200 0 +77 201 0 +77 202 0 +77 203 0 +77 204 0 +77 205 0 +77 206 0 +77 207 0 +77 208 0 +77 209 0 +77 210 0 +77 211 0 +77 212 0 +77 213 0 +77 214 0 +77 215 0 +77 216 0 +77 217 0 +77 218 0 +77 219 0 +77 220 0 +77 221 0 +77 222 0 +77 223 0 +77 224 0 +77 225 0 +77 226 0 +77 227 0 +77 228 0 +77 229 0 +77 230 0 +77 231 0 +77 232 0 +77 233 0 +77 234 0 +77 235 0 +77 236 0 +77 237 0 +77 238 0 +77 239 0 +77 240 0 +77 241 0 +77 242 0 +77 243 0 +77 244 0 +77 245 0 +77 246 0 +77 247 0 +77 248 0 +77 249 0 +77 250 0 +77 251 0 +77 252 0 +77 253 0 +77 254 0 +77 255 0 +77 256 0 +77 257 0 +77 258 0 +77 259 0 +77 260 0 +77 261 0 +77 262 0 +77 263 0 +77 264 0 +77 265 0 +77 266 0 +77 267 0 +77 268 0 +77 269 0 +77 270 0 +77 271 0 +77 272 0 +77 273 0 +77 274 0 +77 275 0 +77 276 0 +77 277 0 +77 278 0 +77 279 0 +77 280 0 +77 281 0 +77 282 0 +77 283 0 +77 284 0 +77 285 0 +77 286 0 +77 287 0 +77 288 0 +77 289 0 +77 290 0 +77 291 0 +77 292 0 +77 293 0 +77 294 0 +77 295 0 +77 296 0 +77 297 0 +77 298 0 +77 299 0 +77 300 0 +77 301 0 +77 302 0 +77 303 0 +77 304 0 +77 305 0 +77 306 0 +77 307 0 +77 308 0 +77 309 0 +77 310 0 +77 311 0 +77 312 0 +77 313 0 +77 314 0 +77 315 0 +77 316 0 +77 317 0 +77 318 0 +77 319 0 +77 320 0 +77 321 0 +77 322 0 +77 323 0 +77 324 0 +77 325 0 +77 326 0 +77 327 0 +77 328 0 +77 329 0 +77 330 0 +77 331 0 +77 332 0 +77 333 0 +77 334 0 +77 335 0 +77 336 0 +77 337 0 +77 338 0 +77 339 0 +77 340 0 +77 341 0 +77 342 0 +77 343 0 +77 344 0 +77 345 0 +77 346 0 +77 347 0 +77 348 0 +77 349 0 +77 350 0 +77 351 0 +77 352 0 +77 353 0 +77 354 0 +77 355 0 +77 356 0 +77 357 0 +77 358 0 +77 359 0 +77 360 0 +77 361 0 +77 362 0 +77 363 0 +77 364 0 +77 365 0 +77 366 0 +77 367 0 +77 368 0 +77 369 0 +77 370 0 +77 371 0 +77 372 0 +77 373 0 +77 374 0 +77 375 0 +77 376 0 +77 377 0 +77 378 0 +77 379 0 +77 380 0 +77 381 0 +77 382 0 +77 383 0 +78 79 0 +78 80 0 +78 81 0 +78 82 0 +78 83 0 +78 84 0 +78 85 0 +78 86 0 +78 87 0 +78 88 0 +78 89 0 +78 90 0 +78 91 0 +78 92 0 +78 93 0 +78 94 0 +78 95 0 +78 96 0 +78 97 0 +78 98 0 +78 99 0 +78 100 0 +78 101 0 +78 102 0 +78 103 0 +78 104 0 +78 105 0 +78 106 0 +78 107 0 +78 108 0 +78 109 0 +78 110 0 +78 111 0 +78 112 0 +78 113 0 +78 114 0 +78 115 0 +78 116 0 +78 117 0 +78 118 0 +78 119 0 +78 120 0 +78 121 0 +78 122 0 +78 123 0 +78 124 0 +78 125 0 +78 126 0 +78 127 0 +78 128 0 +78 129 0 +78 130 0 +78 131 0 +78 132 0 +78 133 0 +78 134 0 +78 135 0 +78 136 0 +78 137 0 +78 138 0 +78 139 0 +78 140 0 +78 141 0 +78 142 0 +78 143 0 +78 144 0 +78 145 0 +78 146 0 +78 147 0 +78 148 0 +78 149 0 +78 150 0 +78 151 0 +78 152 0 +78 153 0 +78 154 0 +78 155 0 +78 156 0 +78 157 0 +78 158 0 +78 159 0 +78 160 0 +78 161 0 +78 162 0 +78 163 0 +78 164 0 +78 165 0 +78 166 0 +78 167 0 +78 168 0 +78 169 0 +78 170 0 +78 171 0 +78 172 0 +78 173 0 +78 174 0 +78 175 0 +78 176 0 +78 177 0 +78 178 0 +78 179 0 +78 180 0 +78 181 0 +78 182 0 +78 183 0 +78 184 0 +78 185 0 +78 186 0 +78 187 0 +78 188 0 +78 189 0 +78 190 0 +78 191 0 +78 192 0 +78 193 0 +78 194 0 +78 195 0 +78 196 0 +78 197 0 +78 198 0 +78 199 0 +78 200 0 +78 201 0 +78 202 0 +78 203 0 +78 204 0 +78 205 0 +78 206 0 +78 207 0 +78 208 0 +78 209 0 +78 210 0 +78 211 0 +78 212 0 +78 213 0 +78 214 0 +78 215 0 +78 216 0 +78 217 0 +78 218 0 +78 219 0 +78 220 0 +78 221 0 +78 222 0 +78 223 0 +78 224 0 +78 225 0 +78 226 0 +78 227 0 +78 228 0 +78 229 0 +78 230 0 +78 231 0 +78 232 0 +78 233 0 +78 234 0 +78 235 0 +78 236 0 +78 237 0 +78 238 0 +78 239 0 +78 240 0 +78 241 0 +78 242 0 +78 243 0 +78 244 0 +78 245 0 +78 246 0 +78 247 0 +78 248 0 +78 249 0 +78 250 0 +78 251 0 +78 252 0 +78 253 0 +78 254 0 +78 255 0 +78 256 0 +78 257 0 +78 258 0 +78 259 0 +78 260 0 +78 261 0 +78 262 0 +78 263 0 +78 264 0 +78 265 0 +78 266 0 +78 267 0 +78 268 0 +78 269 0 +78 270 0 +78 271 0 +78 272 0 +78 273 0 +78 274 0 +78 275 0 +78 276 0 +78 277 0 +78 278 0 +78 279 0 +78 280 0 +78 281 0 +78 282 0 +78 283 0 +78 284 0 +78 285 0 +78 286 0 +78 287 0 +78 288 0 +78 289 0 +78 290 0 +78 291 0 +78 292 0 +78 293 0 +78 294 0 +78 295 0 +78 296 0 +78 297 0 +78 298 0 +78 299 0 +78 300 0 +78 301 0 +78 302 0 +78 303 0 +78 304 0 +78 305 0 +78 306 0 +78 307 0 +78 308 0 +78 309 0 +78 310 0 +78 311 0 +78 312 0 +78 313 0 +78 314 0 +78 315 0 +78 316 0 +78 317 0 +78 318 0 +78 319 0 +78 320 0 +78 321 0 +78 322 0 +78 323 0 +78 324 0 +78 325 0 +78 326 0 +78 327 0 +78 328 0 +78 329 0 +78 330 0 +78 331 0 +78 332 0 +78 333 0 +78 334 0 +78 335 0 +78 336 0 +78 337 0 +78 338 0 +78 339 0 +78 340 0 +78 341 0 +78 342 0 +78 343 0 +78 344 0 +78 345 0 +78 346 0 +78 347 0 +78 348 0 +78 349 0 +78 350 0 +78 351 0 +78 352 0 +78 353 0 +78 354 0 +78 355 0 +78 356 0 +78 357 0 +78 358 0 +78 359 0 +78 360 0 +78 361 0 +78 362 0 +78 363 0 +78 364 0 +78 365 0 +78 366 0 +78 367 0 +78 368 0 +78 369 0 +78 370 0 +78 371 0 +78 372 0 +78 373 0 +78 374 0 +78 375 0 +78 376 0 +78 377 0 +78 378 0 +78 379 0 +78 380 0 +78 381 0 +78 382 0 +78 383 0 +79 80 0 +79 81 0 +79 82 0 +79 83 0 +79 84 0 +79 85 0 +79 86 0 +79 87 0 +79 88 0 +79 89 0 +79 90 0 +79 91 0 +79 92 0 +79 93 0 +79 94 0 +79 95 0 +79 96 0 +79 97 0 +79 98 0 +79 99 0 +79 100 0 +79 101 0 +79 102 0 +79 103 0 +79 104 0 +79 105 0 +79 106 0 +79 107 0 +79 108 0 +79 109 0 +79 110 0 +79 111 0 +79 112 0 +79 113 0 +79 114 0 +79 115 0 +79 116 0 +79 117 0 +79 118 0 +79 119 0 +79 120 0 +79 121 0 +79 122 0 +79 123 0 +79 124 0 +79 125 0 +79 126 0 +79 127 0 +79 128 0 +79 129 0 +79 130 0 +79 131 0 +79 132 0 +79 133 0 +79 134 0 +79 135 0 +79 136 0 +79 137 0 +79 138 0 +79 139 0 +79 140 0 +79 141 0 +79 142 0 +79 143 0 +79 144 0 +79 145 0 +79 146 0 +79 147 0 +79 148 0 +79 149 0 +79 150 0 +79 151 0 +79 152 0 +79 153 0 +79 154 0 +79 155 0 +79 156 0 +79 157 0 +79 158 0 +79 159 0 +79 160 0 +79 161 0 +79 162 0 +79 163 0 +79 164 0 +79 165 0 +79 166 0 +79 167 0 +79 168 0 +79 169 0 +79 170 0 +79 171 0 +79 172 0 +79 173 0 +79 174 0 +79 175 0 +79 176 0 +79 177 0 +79 178 0 +79 179 0 +79 180 0 +79 181 0 +79 182 0 +79 183 0 +79 184 0 +79 185 0 +79 186 0 +79 187 0 +79 188 0 +79 189 0 +79 190 0 +79 191 0 +79 192 0 +79 193 0 +79 194 0 +79 195 0 +79 196 0 +79 197 0 +79 198 0 +79 199 0 +79 200 0 +79 201 0 +79 202 0 +79 203 0 +79 204 0 +79 205 0 +79 206 0 +79 207 0 +79 208 0 +79 209 0 +79 210 0 +79 211 0 +79 212 0 +79 213 0 +79 214 0 +79 215 0 +79 216 0 +79 217 0 +79 218 0 +79 219 0 +79 220 0 +79 221 0 +79 222 0 +79 223 0 +79 224 0 +79 225 0 +79 226 0 +79 227 0 +79 228 0 +79 229 0 +79 230 0 +79 231 0 +79 232 0 +79 233 0 +79 234 0 +79 235 0 +79 236 0 +79 237 0 +79 238 0 +79 239 0 +79 240 0 +79 241 0 +79 242 0 +79 243 0 +79 244 0 +79 245 0 +79 246 0 +79 247 0 +79 248 0 +79 249 0 +79 250 0 +79 251 0 +79 252 0 +79 253 0 +79 254 0 +79 255 0 +79 256 0 +79 257 0 +79 258 0 +79 259 0 +79 260 0 +79 261 0 +79 262 0 +79 263 0 +79 264 0 +79 265 0 +79 266 0 +79 267 0 +79 268 0 +79 269 0 +79 270 0 +79 271 0 +79 272 0 +79 273 0 +79 274 0 +79 275 0 +79 276 0 +79 277 0 +79 278 0 +79 279 0 +79 280 0 +79 281 0 +79 282 0 +79 283 0 +79 284 0 +79 285 0 +79 286 0 +79 287 0 +79 288 0 +79 289 0 +79 290 0 +79 291 0 +79 292 0 +79 293 0 +79 294 0 +79 295 0 +79 296 0 +79 297 0 +79 298 0 +79 299 0 +79 300 0 +79 301 0 +79 302 0 +79 303 0 +79 304 0 +79 305 0 +79 306 0 +79 307 0 +79 308 0 +79 309 0 +79 310 0 +79 311 0 +79 312 0 +79 313 0 +79 314 0 +79 315 0 +79 316 0 +79 317 0 +79 318 0 +79 319 0 +79 320 0 +79 321 0 +79 322 0 +79 323 0 +79 324 0 +79 325 0 +79 326 0 +79 327 0 +79 328 0 +79 329 0 +79 330 0 +79 331 0 +79 332 0 +79 333 0 +79 334 0 +79 335 0 +79 336 0 +79 337 0 +79 338 0 +79 339 0 +79 340 0 +79 341 0 +79 342 0 +79 343 0 +79 344 0 +79 345 0 +79 346 0 +79 347 0 +79 348 0 +79 349 0 +79 350 0 +79 351 0 +79 352 0 +79 353 0 +79 354 0 +79 355 0 +79 356 0 +79 357 0 +79 358 0 +79 359 0 +79 360 0 +79 361 0 +79 362 0 +79 363 0 +79 364 0 +79 365 0 +79 366 0 +79 367 0 +79 368 0 +79 369 0 +79 370 0 +79 371 0 +79 372 0 +79 373 0 +79 374 0 +79 375 0 +79 376 0 +79 377 0 +79 378 0 +79 379 0 +79 380 0 +79 381 0 +79 382 0 +79 383 0 +80 81 0 +80 82 0 +80 83 0 +80 84 0 +80 85 0 +80 86 0 +80 87 0 +80 88 0 +80 89 0 +80 90 0 +80 91 0 +80 92 0 +80 93 0 +80 94 0 +80 95 0 +80 96 0 +80 97 0 +80 98 0 +80 99 0 +80 100 0 +80 101 0 +80 102 0 +80 103 0 +80 104 0 +80 105 0 +80 106 0 +80 107 0 +80 108 0 +80 109 0 +80 110 0 +80 111 0 +80 112 0 +80 113 0 +80 114 0 +80 115 0 +80 116 0 +80 117 0 +80 118 0 +80 119 0 +80 120 0 +80 121 0 +80 122 0 +80 123 0 +80 124 0 +80 125 0 +80 126 0 +80 127 0 +80 128 0 +80 129 0 +80 130 0 +80 131 0 +80 132 0 +80 133 0 +80 134 0 +80 135 0 +80 136 0 +80 137 0 +80 138 0 +80 139 0 +80 140 0 +80 141 0 +80 142 0 +80 143 0 +80 144 0 +80 145 0 +80 146 0 +80 147 0 +80 148 0 +80 149 0 +80 150 0 +80 151 0 +80 152 0 +80 153 0 +80 154 0 +80 155 0 +80 156 0 +80 157 0 +80 158 0 +80 159 0 +80 160 0 +80 161 0 +80 162 0 +80 163 0 +80 164 0 +80 165 0 +80 166 0 +80 167 0 +80 168 0 +80 169 0 +80 170 0 +80 171 0 +80 172 0 +80 173 0 +80 174 0 +80 175 0 +80 176 0 +80 177 0 +80 178 0 +80 179 0 +80 180 0 +80 181 0 +80 182 0 +80 183 0 +80 184 0 +80 185 0 +80 186 0 +80 187 0 +80 188 0 +80 189 0 +80 190 0 +80 191 0 +80 192 0 +80 193 0 +80 194 0 +80 195 0 +80 196 0 +80 197 0 +80 198 0 +80 199 0 +80 200 0 +80 201 0 +80 202 0 +80 203 0 +80 204 0 +80 205 0 +80 206 0 +80 207 0 +80 208 0 +80 209 0 +80 210 0 +80 211 0 +80 212 0 +80 213 0 +80 214 0 +80 215 0 +80 216 0 +80 217 0 +80 218 0 +80 219 0 +80 220 0 +80 221 0 +80 222 0 +80 223 0 +80 224 0 +80 225 0 +80 226 0 +80 227 0 +80 228 0 +80 229 0 +80 230 0 +80 231 0 +80 232 0 +80 233 0 +80 234 0 +80 235 0 +80 236 0 +80 237 0 +80 238 0 +80 239 0 +80 240 0 +80 241 0 +80 242 0 +80 243 0 +80 244 0 +80 245 0 +80 246 0 +80 247 0 +80 248 0 +80 249 0 +80 250 0 +80 251 0 +80 252 0 +80 253 0 +80 254 0 +80 255 0 +80 256 0 +80 257 0 +80 258 0 +80 259 0 +80 260 0 +80 261 0 +80 262 0 +80 263 0 +80 264 0 +80 265 0 +80 266 0 +80 267 0 +80 268 0 +80 269 0 +80 270 0 +80 271 0 +80 272 0 +80 273 0 +80 274 0 +80 275 0 +80 276 0 +80 277 0 +80 278 0 +80 279 0 +80 280 0 +80 281 0 +80 282 0 +80 283 0 +80 284 0 +80 285 0 +80 286 0 +80 287 0 +80 288 0 +80 289 0 +80 290 0 +80 291 0 +80 292 0 +80 293 0 +80 294 0 +80 295 0 +80 296 0 +80 297 0 +80 298 0 +80 299 0 +80 300 0 +80 301 0 +80 302 0 +80 303 0 +80 304 0 +80 305 0 +80 306 0 +80 307 0 +80 308 0 +80 309 0 +80 310 0 +80 311 0 +80 312 0 +80 313 0 +80 314 0 +80 315 0 +80 316 0 +80 317 0 +80 318 0 +80 319 0 +80 320 0 +80 321 0 +80 322 0 +80 323 0 +80 324 0 +80 325 0 +80 326 0 +80 327 0 +80 328 0 +80 329 0 +80 330 0 +80 331 0 +80 332 0 +80 333 0 +80 334 0 +80 335 0 +80 336 0 +80 337 0 +80 338 0 +80 339 0 +80 340 0 +80 341 0 +80 342 0 +80 343 0 +80 344 0 +80 345 0 +80 346 0 +80 347 0 +80 348 0 +80 349 0 +80 350 0 +80 351 0 +80 352 0 +80 353 0 +80 354 0 +80 355 0 +80 356 0 +80 357 0 +80 358 0 +80 359 0 +80 360 0 +80 361 0 +80 362 0 +80 363 0 +80 364 0 +80 365 0 +80 366 0 +80 367 0 +80 368 0 +80 369 0 +80 370 0 +80 371 0 +80 372 0 +80 373 0 +80 374 0 +80 375 0 +80 376 0 +80 377 0 +80 378 0 +80 379 0 +80 380 0 +80 381 0 +80 382 0 +80 383 0 +81 82 0 +81 83 0 +81 84 0 +81 85 0 +81 86 0 +81 87 0 +81 88 0 +81 89 0 +81 90 0 +81 91 0 +81 92 0 +81 93 0 +81 94 0 +81 95 0 +81 96 0 +81 97 0 +81 98 0 +81 99 0 +81 100 0 +81 101 0 +81 102 0 +81 103 0 +81 104 0 +81 105 0 +81 106 0 +81 107 0 +81 108 0 +81 109 0 +81 110 0 +81 111 0 +81 112 0 +81 113 0 +81 114 0 +81 115 0 +81 116 0 +81 117 0 +81 118 0 +81 119 0 +81 120 0 +81 121 0 +81 122 0 +81 123 0 +81 124 0 +81 125 0 +81 126 0 +81 127 0 +81 128 0 +81 129 0 +81 130 0 +81 131 0 +81 132 0 +81 133 0 +81 134 0 +81 135 0 +81 136 0 +81 137 0 +81 138 0 +81 139 0 +81 140 0 +81 141 0 +81 142 0 +81 143 0 +81 144 0 +81 145 0 +81 146 0 +81 147 0 +81 148 0 +81 149 0 +81 150 0 +81 151 0 +81 152 0 +81 153 0 +81 154 0 +81 155 0 +81 156 0 +81 157 0 +81 158 0 +81 159 0 +81 160 0 +81 161 0 +81 162 0 +81 163 0 +81 164 0 +81 165 0 +81 166 0 +81 167 0 +81 168 0 +81 169 0 +81 170 0 +81 171 0 +81 172 0 +81 173 0 +81 174 0 +81 175 0 +81 176 0 +81 177 0 +81 178 0 +81 179 0 +81 180 0 +81 181 0 +81 182 0 +81 183 0 +81 184 0 +81 185 0 +81 186 0 +81 187 0 +81 188 0 +81 189 0 +81 190 0 +81 191 0 +81 192 0 +81 193 0 +81 194 0 +81 195 0 +81 196 0 +81 197 0 +81 198 0 +81 199 0 +81 200 0 +81 201 0 +81 202 0 +81 203 0 +81 204 0 +81 205 0 +81 206 0 +81 207 0 +81 208 0 +81 209 0 +81 210 0 +81 211 0 +81 212 0 +81 213 0 +81 214 0 +81 215 0 +81 216 0 +81 217 0 +81 218 0 +81 219 0 +81 220 0 +81 221 0 +81 222 0 +81 223 0 +81 224 0 +81 225 0 +81 226 0 +81 227 0 +81 228 0 +81 229 0 +81 230 0 +81 231 0 +81 232 0 +81 233 0 +81 234 0 +81 235 0 +81 236 0 +81 237 0 +81 238 0 +81 239 0 +81 240 0 +81 241 0 +81 242 0 +81 243 0 +81 244 0 +81 245 0 +81 246 0 +81 247 0 +81 248 0 +81 249 0 +81 250 0 +81 251 0 +81 252 0 +81 253 0 +81 254 0 +81 255 0 +81 256 0 +81 257 0 +81 258 0 +81 259 0 +81 260 0 +81 261 0 +81 262 0 +81 263 0 +81 264 0 +81 265 0 +81 266 0 +81 267 0 +81 268 0 +81 269 0 +81 270 0 +81 271 0 +81 272 0 +81 273 0 +81 274 0 +81 275 0 +81 276 0 +81 277 0 +81 278 0 +81 279 0 +81 280 0 +81 281 0 +81 282 0 +81 283 0 +81 284 0 +81 285 0 +81 286 0 +81 287 0 +81 288 0 +81 289 0 +81 290 0 +81 291 0 +81 292 0 +81 293 0 +81 294 0 +81 295 0 +81 296 0 +81 297 0 +81 298 0 +81 299 0 +81 300 0 +81 301 0 +81 302 0 +81 303 0 +81 304 0 +81 305 0 +81 306 0 +81 307 0 +81 308 0 +81 309 0 +81 310 0 +81 311 0 +81 312 0 +81 313 0 +81 314 0 +81 315 0 +81 316 0 +81 317 0 +81 318 0 +81 319 0 +81 320 0 +81 321 0 +81 322 0 +81 323 0 +81 324 0 +81 325 0 +81 326 0 +81 327 0 +81 328 0 +81 329 0 +81 330 0 +81 331 0 +81 332 0 +81 333 0 +81 334 0 +81 335 0 +81 336 0 +81 337 0 +81 338 0 +81 339 0 +81 340 0 +81 341 0 +81 342 0 +81 343 0 +81 344 0 +81 345 0 +81 346 0 +81 347 0 +81 348 0 +81 349 0 +81 350 0 +81 351 0 +81 352 0 +81 353 0 +81 354 0 +81 355 0 +81 356 0 +81 357 0 +81 358 0 +81 359 0 +81 360 0 +81 361 0 +81 362 0 +81 363 0 +81 364 0 +81 365 0 +81 366 0 +81 367 0 +81 368 0 +81 369 0 +81 370 0 +81 371 0 +81 372 0 +81 373 0 +81 374 0 +81 375 0 +81 376 0 +81 377 0 +81 378 0 +81 379 0 +81 380 0 +81 381 0 +81 382 0 +81 383 0 +82 83 0 +82 84 0 +82 85 0 +82 86 0 +82 87 0 +82 88 0 +82 89 0 +82 90 0 +82 91 0 +82 92 0 +82 93 0 +82 94 0 +82 95 0 +82 96 0 +82 97 0 +82 98 0 +82 99 0 +82 100 0 +82 101 0 +82 102 0 +82 103 0 +82 104 0 +82 105 0 +82 106 0 +82 107 0 +82 108 0 +82 109 0 +82 110 0 +82 111 0 +82 112 0 +82 113 0 +82 114 0 +82 115 0 +82 116 0 +82 117 0 +82 118 0 +82 119 0 +82 120 0 +82 121 0 +82 122 0 +82 123 0 +82 124 0 +82 125 0 +82 126 0 +82 127 0 +82 128 0 +82 129 0 +82 130 0 +82 131 0 +82 132 0 +82 133 0 +82 134 0 +82 135 0 +82 136 0 +82 137 0 +82 138 0 +82 139 0 +82 140 0 +82 141 0 +82 142 0 +82 143 0 +82 144 0 +82 145 0 +82 146 0 +82 147 0 +82 148 0 +82 149 0 +82 150 0 +82 151 0 +82 152 0 +82 153 0 +82 154 0 +82 155 0 +82 156 0 +82 157 0 +82 158 0 +82 159 0 +82 160 0 +82 161 0 +82 162 0 +82 163 0 +82 164 0 +82 165 0 +82 166 0 +82 167 0 +82 168 0 +82 169 0 +82 170 0 +82 171 0 +82 172 0 +82 173 0 +82 174 0 +82 175 0 +82 176 0 +82 177 0 +82 178 0 +82 179 0 +82 180 0 +82 181 0 +82 182 0 +82 183 0 +82 184 0 +82 185 0 +82 186 0 +82 187 0 +82 188 0 +82 189 0 +82 190 0 +82 191 0 +82 192 0 +82 193 0 +82 194 0 +82 195 0 +82 196 0 +82 197 0 +82 198 0 +82 199 0 +82 200 0 +82 201 0 +82 202 0 +82 203 0 +82 204 0 +82 205 0 +82 206 0 +82 207 0 +82 208 0 +82 209 0 +82 210 0 +82 211 0 +82 212 0 +82 213 0 +82 214 0 +82 215 0 +82 216 0 +82 217 0 +82 218 0 +82 219 0 +82 220 0 +82 221 0 +82 222 0 +82 223 0 +82 224 0 +82 225 0 +82 226 0 +82 227 0 +82 228 0 +82 229 0 +82 230 0 +82 231 0 +82 232 0 +82 233 0 +82 234 0 +82 235 0 +82 236 0 +82 237 0 +82 238 0 +82 239 0 +82 240 0 +82 241 0 +82 242 0 +82 243 0 +82 244 0 +82 245 0 +82 246 0 +82 247 0 +82 248 0 +82 249 0 +82 250 0 +82 251 0 +82 252 0 +82 253 0 +82 254 0 +82 255 0 +82 256 0 +82 257 0 +82 258 0 +82 259 0 +82 260 0 +82 261 0 +82 262 0 +82 263 0 +82 264 0 +82 265 0 +82 266 0 +82 267 0 +82 268 0 +82 269 0 +82 270 0 +82 271 0 +82 272 0 +82 273 0 +82 274 0 +82 275 0 +82 276 0 +82 277 0 +82 278 0 +82 279 0 +82 280 0 +82 281 0 +82 282 0 +82 283 0 +82 284 0 +82 285 0 +82 286 0 +82 287 0 +82 288 0 +82 289 0 +82 290 0 +82 291 0 +82 292 0 +82 293 0 +82 294 0 +82 295 0 +82 296 0 +82 297 0 +82 298 0 +82 299 0 +82 300 0 +82 301 0 +82 302 0 +82 303 0 +82 304 0 +82 305 0 +82 306 0 +82 307 0 +82 308 0 +82 309 0 +82 310 0 +82 311 0 +82 312 0 +82 313 0 +82 314 0 +82 315 0 +82 316 0 +82 317 0 +82 318 0 +82 319 0 +82 320 0 +82 321 0 +82 322 0 +82 323 0 +82 324 0 +82 325 0 +82 326 0 +82 327 0 +82 328 0 +82 329 0 +82 330 0 +82 331 0 +82 332 0 +82 333 0 +82 334 0 +82 335 0 +82 336 0 +82 337 0 +82 338 0 +82 339 0 +82 340 0 +82 341 0 +82 342 0 +82 343 0 +82 344 0 +82 345 0 +82 346 0 +82 347 0 +82 348 0 +82 349 0 +82 350 0 +82 351 0 +82 352 0 +82 353 0 +82 354 0 +82 355 0 +82 356 0 +82 357 0 +82 358 0 +82 359 0 +82 360 0 +82 361 0 +82 362 0 +82 363 0 +82 364 0 +82 365 0 +82 366 0 +82 367 0 +82 368 0 +82 369 0 +82 370 0 +82 371 0 +82 372 0 +82 373 0 +82 374 0 +82 375 0 +82 376 0 +82 377 0 +82 378 0 +82 379 0 +82 380 0 +82 381 0 +82 382 0 +82 383 0 +83 84 0 +83 85 0 +83 86 0 +83 87 0 +83 88 0 +83 89 0 +83 90 0 +83 91 0 +83 92 0 +83 93 0 +83 94 0 +83 95 0 +83 96 0 +83 97 0 +83 98 0 +83 99 0 +83 100 0 +83 101 0 +83 102 0 +83 103 0 +83 104 0 +83 105 0 +83 106 0 +83 107 0 +83 108 0 +83 109 0 +83 110 0 +83 111 0 +83 112 0 +83 113 0 +83 114 0 +83 115 0 +83 116 0 +83 117 0 +83 118 0 +83 119 0 +83 120 0 +83 121 0 +83 122 0 +83 123 0 +83 124 0 +83 125 0 +83 126 0 +83 127 0 +83 128 0 +83 129 0 +83 130 0 +83 131 0 +83 132 0 +83 133 0 +83 134 0 +83 135 0 +83 136 0 +83 137 0 +83 138 0 +83 139 0 +83 140 0 +83 141 0 +83 142 0 +83 143 0 +83 144 0 +83 145 0 +83 146 0 +83 147 0 +83 148 0 +83 149 0 +83 150 0 +83 151 0 +83 152 0 +83 153 0 +83 154 0 +83 155 0 +83 156 0 +83 157 0 +83 158 0 +83 159 0 +83 160 0 +83 161 0 +83 162 0 +83 163 0 +83 164 0 +83 165 0 +83 166 0 +83 167 0 +83 168 0 +83 169 0 +83 170 0 +83 171 0 +83 172 0 +83 173 0 +83 174 0 +83 175 0 +83 176 0 +83 177 0 +83 178 0 +83 179 0 +83 180 0 +83 181 0 +83 182 0 +83 183 0 +83 184 0 +83 185 0 +83 186 0 +83 187 0 +83 188 0 +83 189 0 +83 190 0 +83 191 0 +83 192 0 +83 193 0 +83 194 0 +83 195 0 +83 196 0 +83 197 0 +83 198 0 +83 199 0 +83 200 0 +83 201 0 +83 202 0 +83 203 0 +83 204 0 +83 205 0 +83 206 0 +83 207 0 +83 208 0 +83 209 0 +83 210 0 +83 211 0 +83 212 0 +83 213 0 +83 214 0 +83 215 0 +83 216 0 +83 217 0 +83 218 0 +83 219 0 +83 220 0 +83 221 0 +83 222 0 +83 223 0 +83 224 0 +83 225 0 +83 226 0 +83 227 0 +83 228 0 +83 229 0 +83 230 0 +83 231 0 +83 232 0 +83 233 0 +83 234 0 +83 235 0 +83 236 0 +83 237 0 +83 238 0 +83 239 0 +83 240 0 +83 241 0 +83 242 0 +83 243 0 +83 244 0 +83 245 0 +83 246 0 +83 247 0 +83 248 0 +83 249 0 +83 250 0 +83 251 0 +83 252 0 +83 253 0 +83 254 0 +83 255 0 +83 256 0 +83 257 0 +83 258 0 +83 259 0 +83 260 0 +83 261 0 +83 262 0 +83 263 0 +83 264 0 +83 265 0 +83 266 0 +83 267 0 +83 268 0 +83 269 0 +83 270 0 +83 271 0 +83 272 0 +83 273 0 +83 274 0 +83 275 0 +83 276 0 +83 277 0 +83 278 0 +83 279 0 +83 280 0 +83 281 0 +83 282 0 +83 283 0 +83 284 0 +83 285 0 +83 286 0 +83 287 0 +83 288 0 +83 289 0 +83 290 0 +83 291 0 +83 292 0 +83 293 0 +83 294 0 +83 295 0 +83 296 0 +83 297 0 +83 298 0 +83 299 0 +83 300 0 +83 301 0 +83 302 0 +83 303 0 +83 304 0 +83 305 0 +83 306 0 +83 307 0 +83 308 0 +83 309 0 +83 310 0 +83 311 0 +83 312 0 +83 313 0 +83 314 0 +83 315 0 +83 316 0 +83 317 0 +83 318 0 +83 319 0 +83 320 0 +83 321 0 +83 322 0 +83 323 0 +83 324 0 +83 325 0 +83 326 0 +83 327 0 +83 328 0 +83 329 0 +83 330 0 +83 331 0 +83 332 0 +83 333 0 +83 334 0 +83 335 0 +83 336 0 +83 337 0 +83 338 0 +83 339 0 +83 340 0 +83 341 0 +83 342 0 +83 343 0 +83 344 0 +83 345 0 +83 346 0 +83 347 0 +83 348 0 +83 349 0 +83 350 0 +83 351 0 +83 352 0 +83 353 0 +83 354 0 +83 355 0 +83 356 0 +83 357 0 +83 358 0 +83 359 0 +83 360 0 +83 361 0 +83 362 0 +83 363 0 +83 364 0 +83 365 0 +83 366 0 +83 367 0 +83 368 0 +83 369 0 +83 370 0 +83 371 0 +83 372 0 +83 373 0 +83 374 0 +83 375 0 +83 376 0 +83 377 0 +83 378 0 +83 379 0 +83 380 0 +83 381 0 +83 382 0 +83 383 0 +84 85 0 +84 86 0 +84 87 0 +84 88 0 +84 89 0 +84 90 0 +84 91 0 +84 92 0 +84 93 0 +84 94 0 +84 95 0 +84 96 0 +84 97 0 +84 98 0 +84 99 0 +84 100 0 +84 101 0 +84 102 0 +84 103 0 +84 104 0 +84 105 0 +84 106 0 +84 107 0 +84 108 0 +84 109 0 +84 110 0 +84 111 0 +84 112 0 +84 113 0 +84 114 0 +84 115 0 +84 116 0 +84 117 0 +84 118 0 +84 119 0 +84 120 0 +84 121 0 +84 122 0 +84 123 0 +84 124 0 +84 125 0 +84 126 0 +84 127 0 +84 128 0 +84 129 0 +84 130 0 +84 131 0 +84 132 0 +84 133 0 +84 134 0 +84 135 0 +84 136 0 +84 137 0 +84 138 0 +84 139 0 +84 140 0 +84 141 0 +84 142 0 +84 143 0 +84 144 0 +84 145 0 +84 146 0 +84 147 0 +84 148 0 +84 149 0 +84 150 0 +84 151 0 +84 152 0 +84 153 0 +84 154 0 +84 155 0 +84 156 0 +84 157 0 +84 158 0 +84 159 0 +84 160 0 +84 161 0 +84 162 0 +84 163 0 +84 164 0 +84 165 0 +84 166 0 +84 167 0 +84 168 0 +84 169 0 +84 170 0 +84 171 0 +84 172 0 +84 173 0 +84 174 0 +84 175 0 +84 176 0 +84 177 0 +84 178 0 +84 179 0 +84 180 0 +84 181 0 +84 182 0 +84 183 0 +84 184 0 +84 185 0 +84 186 0 +84 187 0 +84 188 0 +84 189 0 +84 190 0 +84 191 0 +84 192 0 +84 193 0 +84 194 0 +84 195 0 +84 196 0 +84 197 0 +84 198 0 +84 199 0 +84 200 0 +84 201 0 +84 202 0 +84 203 0 +84 204 0 +84 205 0 +84 206 0 +84 207 0 +84 208 0 +84 209 0 +84 210 0 +84 211 0 +84 212 0 +84 213 0 +84 214 0 +84 215 0 +84 216 0 +84 217 0 +84 218 0 +84 219 0 +84 220 0 +84 221 0 +84 222 0 +84 223 0 +84 224 0 +84 225 0 +84 226 0 +84 227 0 +84 228 0 +84 229 0 +84 230 0 +84 231 0 +84 232 0 +84 233 0 +84 234 0 +84 235 0 +84 236 0 +84 237 0 +84 238 0 +84 239 0 +84 240 0 +84 241 0 +84 242 0 +84 243 0 +84 244 0 +84 245 0 +84 246 0 +84 247 0 +84 248 0 +84 249 0 +84 250 0 +84 251 0 +84 252 0 +84 253 0 +84 254 0 +84 255 0 +84 256 0 +84 257 0 +84 258 0 +84 259 0 +84 260 0 +84 261 0 +84 262 0 +84 263 0 +84 264 0 +84 265 0 +84 266 0 +84 267 0 +84 268 0 +84 269 0 +84 270 0 +84 271 0 +84 272 0 +84 273 0 +84 274 0 +84 275 0 +84 276 0 +84 277 0 +84 278 0 +84 279 0 +84 280 0 +84 281 0 +84 282 0 +84 283 0 +84 284 0 +84 285 0 +84 286 0 +84 287 0 +84 288 0 +84 289 0 +84 290 0 +84 291 0 +84 292 0 +84 293 0 +84 294 0 +84 295 0 +84 296 0 +84 297 0 +84 298 0 +84 299 0 +84 300 0 +84 301 0 +84 302 0 +84 303 0 +84 304 0 +84 305 0 +84 306 0 +84 307 0 +84 308 0 +84 309 0 +84 310 0 +84 311 0 +84 312 0 +84 313 0 +84 314 0 +84 315 0 +84 316 0 +84 317 0 +84 318 0 +84 319 0 +84 320 0 +84 321 0 +84 322 0 +84 323 0 +84 324 0 +84 325 0 +84 326 0 +84 327 0 +84 328 0 +84 329 0 +84 330 0 +84 331 0 +84 332 0 +84 333 0 +84 334 0 +84 335 0 +84 336 0 +84 337 0 +84 338 0 +84 339 0 +84 340 0 +84 341 0 +84 342 0 +84 343 0 +84 344 0 +84 345 0 +84 346 0 +84 347 0 +84 348 0 +84 349 0 +84 350 0 +84 351 0 +84 352 0 +84 353 0 +84 354 0 +84 355 0 +84 356 0 +84 357 0 +84 358 0 +84 359 0 +84 360 0 +84 361 0 +84 362 0 +84 363 0 +84 364 0 +84 365 0 +84 366 0 +84 367 0 +84 368 0 +84 369 0 +84 370 0 +84 371 0 +84 372 0 +84 373 0 +84 374 0 +84 375 0 +84 376 0 +84 377 0 +84 378 0 +84 379 0 +84 380 0 +84 381 0 +84 382 0 +84 383 0 +85 86 0 +85 87 0 +85 88 0 +85 89 0 +85 90 0 +85 91 0 +85 92 0 +85 93 0 +85 94 0 +85 95 0 +85 96 0 +85 97 0 +85 98 0 +85 99 0 +85 100 0 +85 101 0 +85 102 0 +85 103 0 +85 104 0 +85 105 0 +85 106 0 +85 107 0 +85 108 0 +85 109 0 +85 110 0 +85 111 0 +85 112 0 +85 113 0 +85 114 0 +85 115 0 +85 116 0 +85 117 0 +85 118 0 +85 119 0 +85 120 0 +85 121 0 +85 122 0 +85 123 0 +85 124 0 +85 125 0 +85 126 0 +85 127 0 +85 128 0 +85 129 0 +85 130 0 +85 131 0 +85 132 0 +85 133 0 +85 134 0 +85 135 0 +85 136 0 +85 137 0 +85 138 0 +85 139 0 +85 140 0 +85 141 0 +85 142 0 +85 143 0 +85 144 0 +85 145 0 +85 146 0 +85 147 0 +85 148 0 +85 149 0 +85 150 0 +85 151 0 +85 152 0 +85 153 0 +85 154 0 +85 155 0 +85 156 0 +85 157 0 +85 158 0 +85 159 0 +85 160 0 +85 161 0 +85 162 0 +85 163 0 +85 164 0 +85 165 0 +85 166 0 +85 167 0 +85 168 0 +85 169 0 +85 170 0 +85 171 0 +85 172 0 +85 173 0 +85 174 0 +85 175 0 +85 176 0 +85 177 0 +85 178 0 +85 179 0 +85 180 0 +85 181 0 +85 182 0 +85 183 0 +85 184 0 +85 185 0 +85 186 0 +85 187 0 +85 188 0 +85 189 0 +85 190 0 +85 191 0 +85 192 0 +85 193 0 +85 194 0 +85 195 0 +85 196 0 +85 197 0 +85 198 0 +85 199 0 +85 200 0 +85 201 0 +85 202 0 +85 203 0 +85 204 0 +85 205 0 +85 206 0 +85 207 0 +85 208 0 +85 209 0 +85 210 0 +85 211 0 +85 212 0 +85 213 0 +85 214 0 +85 215 0 +85 216 0 +85 217 0 +85 218 0 +85 219 0 +85 220 0 +85 221 0 +85 222 0 +85 223 0 +85 224 0 +85 225 0 +85 226 0 +85 227 0 +85 228 0 +85 229 0 +85 230 0 +85 231 0 +85 232 0 +85 233 0 +85 234 0 +85 235 0 +85 236 0 +85 237 0 +85 238 0 +85 239 0 +85 240 0 +85 241 0 +85 242 0 +85 243 0 +85 244 0 +85 245 0 +85 246 0 +85 247 0 +85 248 0 +85 249 0 +85 250 0 +85 251 0 +85 252 0 +85 253 0 +85 254 0 +85 255 0 +85 256 0 +85 257 0 +85 258 0 +85 259 0 +85 260 0 +85 261 0 +85 262 0 +85 263 0 +85 264 0 +85 265 0 +85 266 0 +85 267 0 +85 268 0 +85 269 0 +85 270 0 +85 271 0 +85 272 0 +85 273 0 +85 274 0 +85 275 0 +85 276 0 +85 277 0 +85 278 0 +85 279 0 +85 280 0 +85 281 0 +85 282 0 +85 283 0 +85 284 0 +85 285 0 +85 286 0 +85 287 0 +85 288 0 +85 289 0 +85 290 0 +85 291 0 +85 292 0 +85 293 0 +85 294 0 +85 295 0 +85 296 0 +85 297 0 +85 298 0 +85 299 0 +85 300 0 +85 301 0 +85 302 0 +85 303 0 +85 304 0 +85 305 0 +85 306 0 +85 307 0 +85 308 0 +85 309 0 +85 310 0 +85 311 0 +85 312 0 +85 313 0 +85 314 0 +85 315 0 +85 316 0 +85 317 0 +85 318 0 +85 319 0 +85 320 0 +85 321 0 +85 322 0 +85 323 0 +85 324 0 +85 325 0 +85 326 0 +85 327 0 +85 328 0 +85 329 0 +85 330 0 +85 331 0 +85 332 0 +85 333 0 +85 334 0 +85 335 0 +85 336 0 +85 337 0 +85 338 0 +85 339 0 +85 340 0 +85 341 0 +85 342 0 +85 343 0 +85 344 0 +85 345 0 +85 346 0 +85 347 0 +85 348 0 +85 349 0 +85 350 0 +85 351 0 +85 352 0 +85 353 0 +85 354 0 +85 355 0 +85 356 0 +85 357 0 +85 358 0 +85 359 0 +85 360 0 +85 361 0 +85 362 0 +85 363 0 +85 364 0 +85 365 0 +85 366 0 +85 367 0 +85 368 0 +85 369 0 +85 370 0 +85 371 0 +85 372 0 +85 373 0 +85 374 0 +85 375 0 +85 376 0 +85 377 0 +85 378 0 +85 379 0 +85 380 0 +85 381 0 +85 382 0 +85 383 0 +86 87 0 +86 88 0 +86 89 0 +86 90 0 +86 91 0 +86 92 0 +86 93 0 +86 94 0 +86 95 0 +86 96 0 +86 97 0 +86 98 0 +86 99 0 +86 100 0 +86 101 0 +86 102 0 +86 103 0 +86 104 0 +86 105 0 +86 106 0 +86 107 0 +86 108 0 +86 109 0 +86 110 0 +86 111 0 +86 112 0 +86 113 0 +86 114 0 +86 115 0 +86 116 0 +86 117 0 +86 118 0 +86 119 0 +86 120 0 +86 121 0 +86 122 0 +86 123 0 +86 124 0 +86 125 0 +86 126 0 +86 127 0 +86 128 0 +86 129 0 +86 130 0 +86 131 0 +86 132 0 +86 133 0 +86 134 0 +86 135 0 +86 136 0 +86 137 0 +86 138 0 +86 139 0 +86 140 0 +86 141 0 +86 142 0 +86 143 0 +86 144 0 +86 145 0 +86 146 0 +86 147 0 +86 148 0 +86 149 0 +86 150 0 +86 151 0 +86 152 0 +86 153 0 +86 154 0 +86 155 0 +86 156 0 +86 157 0 +86 158 0 +86 159 0 +86 160 0 +86 161 0 +86 162 0 +86 163 0 +86 164 0 +86 165 0 +86 166 0 +86 167 0 +86 168 0 +86 169 0 +86 170 0 +86 171 0 +86 172 0 +86 173 0 +86 174 0 +86 175 0 +86 176 0 +86 177 0 +86 178 0 +86 179 0 +86 180 0 +86 181 0 +86 182 0 +86 183 0 +86 184 0 +86 185 0 +86 186 0 +86 187 0 +86 188 0 +86 189 0 +86 190 0 +86 191 0 +86 192 0 +86 193 0 +86 194 0 +86 195 0 +86 196 0 +86 197 0 +86 198 0 +86 199 0 +86 200 0 +86 201 0 +86 202 0 +86 203 0 +86 204 0 +86 205 0 +86 206 0 +86 207 0 +86 208 0 +86 209 0 +86 210 0 +86 211 0 +86 212 0 +86 213 0 +86 214 0 +86 215 0 +86 216 0 +86 217 0 +86 218 0 +86 219 0 +86 220 0 +86 221 0 +86 222 0 +86 223 0 +86 224 0 +86 225 0 +86 226 0 +86 227 0 +86 228 0 +86 229 0 +86 230 0 +86 231 0 +86 232 0 +86 233 0 +86 234 0 +86 235 0 +86 236 0 +86 237 0 +86 238 0 +86 239 0 +86 240 0 +86 241 0 +86 242 0 +86 243 0 +86 244 0 +86 245 0 +86 246 0 +86 247 0 +86 248 0 +86 249 0 +86 250 0 +86 251 0 +86 252 0 +86 253 0 +86 254 0 +86 255 0 +86 256 0 +86 257 0 +86 258 0 +86 259 0 +86 260 0 +86 261 0 +86 262 0 +86 263 0 +86 264 0 +86 265 0 +86 266 0 +86 267 0 +86 268 0 +86 269 0 +86 270 0 +86 271 0 +86 272 0 +86 273 0 +86 274 0 +86 275 0 +86 276 0 +86 277 0 +86 278 0 +86 279 0 +86 280 0 +86 281 0 +86 282 0 +86 283 0 +86 284 0 +86 285 0 +86 286 0 +86 287 0 +86 288 0 +86 289 0 +86 290 0 +86 291 0 +86 292 0 +86 293 0 +86 294 0 +86 295 0 +86 296 0 +86 297 0 +86 298 0 +86 299 0 +86 300 0 +86 301 0 +86 302 0 +86 303 0 +86 304 0 +86 305 0 +86 306 0 +86 307 0 +86 308 0 +86 309 0 +86 310 0 +86 311 0 +86 312 0 +86 313 0 +86 314 0 +86 315 0 +86 316 0 +86 317 0 +86 318 0 +86 319 0 +86 320 0 +86 321 0 +86 322 0 +86 323 0 +86 324 0 +86 325 0 +86 326 0 +86 327 0 +86 328 0 +86 329 0 +86 330 0 +86 331 0 +86 332 0 +86 333 0 +86 334 0 +86 335 0 +86 336 0 +86 337 0 +86 338 0 +86 339 0 +86 340 0 +86 341 0 +86 342 0 +86 343 0 +86 344 0 +86 345 0 +86 346 0 +86 347 0 +86 348 0 +86 349 0 +86 350 0 +86 351 0 +86 352 0 +86 353 0 +86 354 0 +86 355 0 +86 356 0 +86 357 0 +86 358 0 +86 359 0 +86 360 0 +86 361 0 +86 362 0 +86 363 0 +86 364 0 +86 365 0 +86 366 0 +86 367 0 +86 368 0 +86 369 0 +86 370 0 +86 371 0 +86 372 0 +86 373 0 +86 374 0 +86 375 0 +86 376 0 +86 377 0 +86 378 0 +86 379 0 +86 380 0 +86 381 0 +86 382 0 +86 383 0 +87 88 0 +87 89 0 +87 90 0 +87 91 0 +87 92 0 +87 93 0 +87 94 0 +87 95 0 +87 96 0 +87 97 0 +87 98 0 +87 99 0 +87 100 0 +87 101 0 +87 102 0 +87 103 0 +87 104 0 +87 105 0 +87 106 0 +87 107 0 +87 108 0 +87 109 0 +87 110 0 +87 111 0 +87 112 0 +87 113 0 +87 114 0 +87 115 0 +87 116 0 +87 117 0 +87 118 0 +87 119 0 +87 120 0 +87 121 0 +87 122 0 +87 123 0 +87 124 0 +87 125 0 +87 126 0 +87 127 0 +87 128 0 +87 129 0 +87 130 0 +87 131 0 +87 132 0 +87 133 0 +87 134 0 +87 135 0 +87 136 0 +87 137 0 +87 138 0 +87 139 0 +87 140 0 +87 141 0 +87 142 0 +87 143 0 +87 144 0 +87 145 0 +87 146 0 +87 147 0 +87 148 0 +87 149 0 +87 150 0 +87 151 0 +87 152 0 +87 153 0 +87 154 0 +87 155 0 +87 156 0 +87 157 0 +87 158 0 +87 159 0 +87 160 0 +87 161 0 +87 162 0 +87 163 0 +87 164 0 +87 165 0 +87 166 0 +87 167 0 +87 168 0 +87 169 0 +87 170 0 +87 171 0 +87 172 0 +87 173 0 +87 174 0 +87 175 0 +87 176 0 +87 177 0 +87 178 0 +87 179 0 +87 180 0 +87 181 0 +87 182 0 +87 183 0 +87 184 0 +87 185 0 +87 186 0 +87 187 0 +87 188 0 +87 189 0 +87 190 0 +87 191 0 +87 192 0 +87 193 0 +87 194 0 +87 195 0 +87 196 0 +87 197 0 +87 198 0 +87 199 0 +87 200 0 +87 201 0 +87 202 0 +87 203 0 +87 204 0 +87 205 0 +87 206 0 +87 207 0 +87 208 0 +87 209 0 +87 210 0 +87 211 0 +87 212 0 +87 213 0 +87 214 0 +87 215 0 +87 216 0 +87 217 0 +87 218 0 +87 219 0 +87 220 0 +87 221 0 +87 222 0 +87 223 0 +87 224 0 +87 225 0 +87 226 0 +87 227 0 +87 228 0 +87 229 0 +87 230 0 +87 231 0 +87 232 0 +87 233 0 +87 234 0 +87 235 0 +87 236 0 +87 237 0 +87 238 0 +87 239 0 +87 240 0 +87 241 0 +87 242 0 +87 243 0 +87 244 0 +87 245 0 +87 246 0 +87 247 0 +87 248 0 +87 249 0 +87 250 0 +87 251 0 +87 252 0 +87 253 0 +87 254 0 +87 255 0 +87 256 0 +87 257 0 +87 258 0 +87 259 0 +87 260 0 +87 261 0 +87 262 0 +87 263 0 +87 264 0 +87 265 0 +87 266 0 +87 267 0 +87 268 0 +87 269 0 +87 270 0 +87 271 0 +87 272 0 +87 273 0 +87 274 0 +87 275 0 +87 276 0 +87 277 0 +87 278 0 +87 279 0 +87 280 0 +87 281 0 +87 282 0 +87 283 0 +87 284 0 +87 285 0 +87 286 0 +87 287 0 +87 288 0 +87 289 0 +87 290 0 +87 291 0 +87 292 0 +87 293 0 +87 294 0 +87 295 0 +87 296 0 +87 297 0 +87 298 0 +87 299 0 +87 300 0 +87 301 0 +87 302 0 +87 303 0 +87 304 0 +87 305 0 +87 306 0 +87 307 0 +87 308 0 +87 309 0 +87 310 0 +87 311 0 +87 312 0 +87 313 0 +87 314 0 +87 315 0 +87 316 0 +87 317 0 +87 318 0 +87 319 0 +87 320 0 +87 321 0 +87 322 0 +87 323 0 +87 324 0 +87 325 0 +87 326 0 +87 327 0 +87 328 0 +87 329 0 +87 330 0 +87 331 0 +87 332 0 +87 333 0 +87 334 0 +87 335 0 +87 336 0 +87 337 0 +87 338 0 +87 339 0 +87 340 0 +87 341 0 +87 342 0 +87 343 0 +87 344 0 +87 345 0 +87 346 0 +87 347 0 +87 348 0 +87 349 0 +87 350 0 +87 351 0 +87 352 0 +87 353 0 +87 354 0 +87 355 0 +87 356 0 +87 357 0 +87 358 0 +87 359 0 +87 360 0 +87 361 0 +87 362 0 +87 363 0 +87 364 0 +87 365 0 +87 366 0 +87 367 0 +87 368 0 +87 369 0 +87 370 0 +87 371 0 +87 372 0 +87 373 0 +87 374 0 +87 375 0 +87 376 0 +87 377 0 +87 378 0 +87 379 0 +87 380 0 +87 381 0 +87 382 0 +87 383 0 +88 89 0 +88 90 0 +88 91 0 +88 92 0 +88 93 0 +88 94 0 +88 95 0 +88 96 0 +88 97 0 +88 98 0 +88 99 0 +88 100 0 +88 101 0 +88 102 0 +88 103 0 +88 104 0 +88 105 0 +88 106 0 +88 107 0 +88 108 0 +88 109 0 +88 110 0 +88 111 0 +88 112 0 +88 113 0 +88 114 0 +88 115 0 +88 116 0 +88 117 0 +88 118 0 +88 119 0 +88 120 0 +88 121 0 +88 122 0 +88 123 0 +88 124 0 +88 125 0 +88 126 0 +88 127 0 +88 128 0 +88 129 0 +88 130 0 +88 131 0 +88 132 0 +88 133 0 +88 134 0 +88 135 0 +88 136 0 +88 137 0 +88 138 0 +88 139 0 +88 140 0 +88 141 0 +88 142 0 +88 143 0 +88 144 0 +88 145 0 +88 146 0 +88 147 0 +88 148 0 +88 149 0 +88 150 0 +88 151 0 +88 152 0 +88 153 0 +88 154 0 +88 155 0 +88 156 0 +88 157 0 +88 158 0 +88 159 0 +88 160 0 +88 161 0 +88 162 0 +88 163 0 +88 164 0 +88 165 0 +88 166 0 +88 167 0 +88 168 0 +88 169 0 +88 170 0 +88 171 0 +88 172 0 +88 173 0 +88 174 0 +88 175 0 +88 176 0 +88 177 0 +88 178 0 +88 179 0 +88 180 0 +88 181 0 +88 182 0 +88 183 0 +88 184 0 +88 185 0 +88 186 0 +88 187 0 +88 188 0 +88 189 0 +88 190 0 +88 191 0 +88 192 0 +88 193 0 +88 194 0 +88 195 0 +88 196 0 +88 197 0 +88 198 0 +88 199 0 +88 200 0 +88 201 0 +88 202 0 +88 203 0 +88 204 0 +88 205 0 +88 206 0 +88 207 0 +88 208 0 +88 209 0 +88 210 0 +88 211 0 +88 212 0 +88 213 0 +88 214 0 +88 215 0 +88 216 0 +88 217 0 +88 218 0 +88 219 0 +88 220 0 +88 221 0 +88 222 0 +88 223 0 +88 224 0 +88 225 0 +88 226 0 +88 227 0 +88 228 0 +88 229 0 +88 230 0 +88 231 0 +88 232 0 +88 233 0 +88 234 0 +88 235 0 +88 236 0 +88 237 0 +88 238 0 +88 239 0 +88 240 0 +88 241 0 +88 242 0 +88 243 0 +88 244 0 +88 245 0 +88 246 0 +88 247 0 +88 248 0 +88 249 0 +88 250 0 +88 251 0 +88 252 0 +88 253 0 +88 254 0 +88 255 0 +88 256 0 +88 257 0 +88 258 0 +88 259 0 +88 260 0 +88 261 0 +88 262 0 +88 263 0 +88 264 0 +88 265 0 +88 266 0 +88 267 0 +88 268 0 +88 269 0 +88 270 0 +88 271 0 +88 272 0 +88 273 0 +88 274 0 +88 275 0 +88 276 0 +88 277 0 +88 278 0 +88 279 0 +88 280 0 +88 281 0 +88 282 0 +88 283 0 +88 284 0 +88 285 0 +88 286 0 +88 287 0 +88 288 0 +88 289 0 +88 290 0 +88 291 0 +88 292 0 +88 293 0 +88 294 0 +88 295 0 +88 296 0 +88 297 0 +88 298 0 +88 299 0 +88 300 0 +88 301 0 +88 302 0 +88 303 0 +88 304 0 +88 305 0 +88 306 0 +88 307 0 +88 308 0 +88 309 0 +88 310 0 +88 311 0 +88 312 0 +88 313 0 +88 314 0 +88 315 0 +88 316 0 +88 317 0 +88 318 0 +88 319 0 +88 320 0 +88 321 0 +88 322 0 +88 323 0 +88 324 0 +88 325 0 +88 326 0 +88 327 0 +88 328 0 +88 329 0 +88 330 0 +88 331 0 +88 332 0 +88 333 0 +88 334 0 +88 335 0 +88 336 0 +88 337 0 +88 338 0 +88 339 0 +88 340 0 +88 341 0 +88 342 0 +88 343 0 +88 344 0 +88 345 0 +88 346 0 +88 347 0 +88 348 0 +88 349 0 +88 350 0 +88 351 0 +88 352 0 +88 353 0 +88 354 0 +88 355 0 +88 356 0 +88 357 0 +88 358 0 +88 359 0 +88 360 0 +88 361 0 +88 362 0 +88 363 0 +88 364 0 +88 365 0 +88 366 0 +88 367 0 +88 368 0 +88 369 0 +88 370 0 +88 371 0 +88 372 0 +88 373 0 +88 374 0 +88 375 0 +88 376 0 +88 377 0 +88 378 0 +88 379 0 +88 380 0 +88 381 0 +88 382 0 +88 383 0 +89 90 0 +89 91 0 +89 92 0 +89 93 0 +89 94 0 +89 95 0 +89 96 0 +89 97 0 +89 98 0 +89 99 0 +89 100 0 +89 101 0 +89 102 0 +89 103 0 +89 104 0 +89 105 0 +89 106 0 +89 107 0 +89 108 0 +89 109 0 +89 110 0 +89 111 0 +89 112 0 +89 113 0 +89 114 0 +89 115 0 +89 116 0 +89 117 0 +89 118 0 +89 119 0 +89 120 0 +89 121 0 +89 122 0 +89 123 0 +89 124 0 +89 125 0 +89 126 0 +89 127 0 +89 128 0 +89 129 0 +89 130 0 +89 131 0 +89 132 0 +89 133 0 +89 134 0 +89 135 0 +89 136 0 +89 137 0 +89 138 0 +89 139 0 +89 140 0 +89 141 0 +89 142 0 +89 143 0 +89 144 0 +89 145 0 +89 146 0 +89 147 0 +89 148 0 +89 149 0 +89 150 0 +89 151 0 +89 152 0 +89 153 0 +89 154 0 +89 155 0 +89 156 0 +89 157 0 +89 158 0 +89 159 0 +89 160 0 +89 161 0 +89 162 0 +89 163 0 +89 164 0 +89 165 0 +89 166 0 +89 167 0 +89 168 0 +89 169 0 +89 170 0 +89 171 0 +89 172 0 +89 173 0 +89 174 0 +89 175 0 +89 176 0 +89 177 0 +89 178 0 +89 179 0 +89 180 0 +89 181 0 +89 182 0 +89 183 0 +89 184 0 +89 185 0 +89 186 0 +89 187 0 +89 188 0 +89 189 0 +89 190 0 +89 191 0 +89 192 0 +89 193 0 +89 194 0 +89 195 0 +89 196 0 +89 197 0 +89 198 0 +89 199 0 +89 200 0 +89 201 0 +89 202 0 +89 203 0 +89 204 0 +89 205 0 +89 206 0 +89 207 0 +89 208 0 +89 209 0 +89 210 0 +89 211 0 +89 212 0 +89 213 0 +89 214 0 +89 215 0 +89 216 0 +89 217 0 +89 218 0 +89 219 0 +89 220 0 +89 221 0 +89 222 0 +89 223 0 +89 224 0 +89 225 0 +89 226 0 +89 227 0 +89 228 0 +89 229 0 +89 230 0 +89 231 0 +89 232 0 +89 233 0 +89 234 0 +89 235 0 +89 236 0 +89 237 0 +89 238 0 +89 239 0 +89 240 0 +89 241 0 +89 242 0 +89 243 0 +89 244 0 +89 245 0 +89 246 0 +89 247 0 +89 248 0 +89 249 0 +89 250 0 +89 251 0 +89 252 0 +89 253 0 +89 254 0 +89 255 0 +89 256 0 +89 257 0 +89 258 0 +89 259 0 +89 260 0 +89 261 0 +89 262 0 +89 263 0 +89 264 0 +89 265 0 +89 266 0 +89 267 0 +89 268 0 +89 269 0 +89 270 0 +89 271 0 +89 272 0 +89 273 0 +89 274 0 +89 275 0 +89 276 0 +89 277 0 +89 278 0 +89 279 0 +89 280 0 +89 281 0 +89 282 0 +89 283 0 +89 284 0 +89 285 0 +89 286 0 +89 287 0 +89 288 0 +89 289 0 +89 290 0 +89 291 0 +89 292 0 +89 293 0 +89 294 0 +89 295 0 +89 296 0 +89 297 0 +89 298 0 +89 299 0 +89 300 0 +89 301 0 +89 302 0 +89 303 0 +89 304 0 +89 305 0 +89 306 0 +89 307 0 +89 308 0 +89 309 0 +89 310 0 +89 311 0 +89 312 0 +89 313 0 +89 314 0 +89 315 0 +89 316 0 +89 317 0 +89 318 0 +89 319 0 +89 320 0 +89 321 0 +89 322 0 +89 323 0 +89 324 0 +89 325 0 +89 326 0 +89 327 0 +89 328 0 +89 329 0 +89 330 0 +89 331 0 +89 332 0 +89 333 0 +89 334 0 +89 335 0 +89 336 0 +89 337 0 +89 338 0 +89 339 0 +89 340 0 +89 341 0 +89 342 0 +89 343 0 +89 344 0 +89 345 0 +89 346 0 +89 347 0 +89 348 0 +89 349 0 +89 350 0 +89 351 0 +89 352 0 +89 353 0 +89 354 0 +89 355 0 +89 356 0 +89 357 0 +89 358 0 +89 359 0 +89 360 0 +89 361 0 +89 362 0 +89 363 0 +89 364 0 +89 365 0 +89 366 0 +89 367 0 +89 368 0 +89 369 0 +89 370 0 +89 371 0 +89 372 0 +89 373 0 +89 374 0 +89 375 0 +89 376 0 +89 377 0 +89 378 0 +89 379 0 +89 380 0 +89 381 0 +89 382 0 +89 383 0 +90 91 0 +90 92 0 +90 93 0 +90 94 0 +90 95 0 +90 96 0 +90 97 0 +90 98 0 +90 99 0 +90 100 0 +90 101 0 +90 102 0 +90 103 0 +90 104 0 +90 105 0 +90 106 0 +90 107 0 +90 108 0 +90 109 0 +90 110 0 +90 111 0 +90 112 0 +90 113 0 +90 114 0 +90 115 0 +90 116 0 +90 117 0 +90 118 0 +90 119 0 +90 120 0 +90 121 0 +90 122 0 +90 123 0 +90 124 0 +90 125 0 +90 126 0 +90 127 0 +90 128 0 +90 129 0 +90 130 0 +90 131 0 +90 132 0 +90 133 0 +90 134 0 +90 135 0 +90 136 0 +90 137 0 +90 138 0 +90 139 0 +90 140 0 +90 141 0 +90 142 0 +90 143 0 +90 144 0 +90 145 0 +90 146 0 +90 147 0 +90 148 0 +90 149 0 +90 150 0 +90 151 0 +90 152 0 +90 153 0 +90 154 0 +90 155 0 +90 156 0 +90 157 0 +90 158 0 +90 159 0 +90 160 0 +90 161 0 +90 162 0 +90 163 0 +90 164 0 +90 165 0 +90 166 0 +90 167 0 +90 168 0 +90 169 0 +90 170 0 +90 171 0 +90 172 0 +90 173 0 +90 174 0 +90 175 0 +90 176 0 +90 177 0 +90 178 0 +90 179 0 +90 180 0 +90 181 0 +90 182 0 +90 183 0 +90 184 0 +90 185 0 +90 186 0 +90 187 0 +90 188 0 +90 189 0 +90 190 0 +90 191 0 +90 192 0 +90 193 0 +90 194 0 +90 195 0 +90 196 0 +90 197 0 +90 198 0 +90 199 0 +90 200 0 +90 201 0 +90 202 0 +90 203 0 +90 204 0 +90 205 0 +90 206 0 +90 207 0 +90 208 0 +90 209 0 +90 210 0 +90 211 0 +90 212 0 +90 213 0 +90 214 0 +90 215 0 +90 216 0 +90 217 0 +90 218 0 +90 219 0 +90 220 0 +90 221 0 +90 222 0 +90 223 0 +90 224 0 +90 225 0 +90 226 0 +90 227 0 +90 228 0 +90 229 0 +90 230 0 +90 231 0 +90 232 0 +90 233 0 +90 234 0 +90 235 0 +90 236 0 +90 237 0 +90 238 0 +90 239 0 +90 240 0 +90 241 0 +90 242 0 +90 243 0 +90 244 0 +90 245 0 +90 246 0 +90 247 0 +90 248 0 +90 249 0 +90 250 0 +90 251 0 +90 252 0 +90 253 0 +90 254 0 +90 255 0 +90 256 0 +90 257 0 +90 258 0 +90 259 0 +90 260 0 +90 261 0 +90 262 0 +90 263 0 +90 264 0 +90 265 0 +90 266 0 +90 267 0 +90 268 0 +90 269 0 +90 270 0 +90 271 0 +90 272 0 +90 273 0 +90 274 0 +90 275 0 +90 276 0 +90 277 0 +90 278 0 +90 279 0 +90 280 0 +90 281 0 +90 282 0 +90 283 0 +90 284 0 +90 285 0 +90 286 0 +90 287 0 +90 288 0 +90 289 0 +90 290 0 +90 291 0 +90 292 0 +90 293 0 +90 294 0 +90 295 0 +90 296 0 +90 297 0 +90 298 0 +90 299 0 +90 300 0 +90 301 0 +90 302 0 +90 303 0 +90 304 0 +90 305 0 +90 306 0 +90 307 0 +90 308 0 +90 309 0 +90 310 0 +90 311 0 +90 312 0 +90 313 0 +90 314 0 +90 315 0 +90 316 0 +90 317 0 +90 318 0 +90 319 0 +90 320 0 +90 321 0 +90 322 0 +90 323 0 +90 324 0 +90 325 0 +90 326 0 +90 327 0 +90 328 0 +90 329 0 +90 330 0 +90 331 0 +90 332 0 +90 333 0 +90 334 0 +90 335 0 +90 336 0 +90 337 0 +90 338 0 +90 339 0 +90 340 0 +90 341 0 +90 342 0 +90 343 0 +90 344 0 +90 345 0 +90 346 0 +90 347 0 +90 348 0 +90 349 0 +90 350 0 +90 351 0 +90 352 0 +90 353 0 +90 354 0 +90 355 0 +90 356 0 +90 357 0 +90 358 0 +90 359 0 +90 360 0 +90 361 0 +90 362 0 +90 363 0 +90 364 0 +90 365 0 +90 366 0 +90 367 0 +90 368 0 +90 369 0 +90 370 0 +90 371 0 +90 372 0 +90 373 0 +90 374 0 +90 375 0 +90 376 0 +90 377 0 +90 378 0 +90 379 0 +90 380 0 +90 381 0 +90 382 0 +90 383 0 +91 92 0 +91 93 0 +91 94 0 +91 95 0 +91 96 0 +91 97 0 +91 98 0 +91 99 0 +91 100 0 +91 101 0 +91 102 0 +91 103 0 +91 104 0 +91 105 0 +91 106 0 +91 107 0 +91 108 0 +91 109 0 +91 110 0 +91 111 0 +91 112 0 +91 113 0 +91 114 0 +91 115 0 +91 116 0 +91 117 0 +91 118 0 +91 119 0 +91 120 0 +91 121 0 +91 122 0 +91 123 0 +91 124 0 +91 125 0 +91 126 0 +91 127 0 +91 128 0 +91 129 0 +91 130 0 +91 131 0 +91 132 0 +91 133 0 +91 134 0 +91 135 0 +91 136 0 +91 137 0 +91 138 0 +91 139 0 +91 140 0 +91 141 0 +91 142 0 +91 143 0 +91 144 0 +91 145 0 +91 146 0 +91 147 0 +91 148 0 +91 149 0 +91 150 0 +91 151 0 +91 152 0 +91 153 0 +91 154 0 +91 155 0 +91 156 0 +91 157 0 +91 158 0 +91 159 0 +91 160 0 +91 161 0 +91 162 0 +91 163 0 +91 164 0 +91 165 0 +91 166 0 +91 167 0 +91 168 0 +91 169 0 +91 170 0 +91 171 0 +91 172 0 +91 173 0 +91 174 0 +91 175 0 +91 176 0 +91 177 0 +91 178 0 +91 179 0 +91 180 0 +91 181 0 +91 182 0 +91 183 0 +91 184 0 +91 185 0 +91 186 0 +91 187 0 +91 188 0 +91 189 0 +91 190 0 +91 191 0 +91 192 0 +91 193 0 +91 194 0 +91 195 0 +91 196 0 +91 197 0 +91 198 0 +91 199 0 +91 200 0 +91 201 0 +91 202 0 +91 203 0 +91 204 0 +91 205 0 +91 206 0 +91 207 0 +91 208 0 +91 209 0 +91 210 0 +91 211 0 +91 212 0 +91 213 0 +91 214 0 +91 215 0 +91 216 0 +91 217 0 +91 218 0 +91 219 0 +91 220 0 +91 221 0 +91 222 0 +91 223 0 +91 224 0 +91 225 0 +91 226 0 +91 227 0 +91 228 0 +91 229 0 +91 230 0 +91 231 0 +91 232 0 +91 233 0 +91 234 0 +91 235 0 +91 236 0 +91 237 0 +91 238 0 +91 239 0 +91 240 0 +91 241 0 +91 242 0 +91 243 0 +91 244 0 +91 245 0 +91 246 0 +91 247 0 +91 248 0 +91 249 0 +91 250 0 +91 251 0 +91 252 0 +91 253 0 +91 254 0 +91 255 0 +91 256 0 +91 257 0 +91 258 0 +91 259 0 +91 260 0 +91 261 0 +91 262 0 +91 263 0 +91 264 0 +91 265 0 +91 266 0 +91 267 0 +91 268 0 +91 269 0 +91 270 0 +91 271 0 +91 272 0 +91 273 0 +91 274 0 +91 275 0 +91 276 0 +91 277 0 +91 278 0 +91 279 0 +91 280 0 +91 281 0 +91 282 0 +91 283 0 +91 284 0 +91 285 0 +91 286 0 +91 287 0 +91 288 0 +91 289 0 +91 290 0 +91 291 0 +91 292 0 +91 293 0 +91 294 0 +91 295 0 +91 296 0 +91 297 0 +91 298 0 +91 299 0 +91 300 0 +91 301 0 +91 302 0 +91 303 0 +91 304 0 +91 305 0 +91 306 0 +91 307 0 +91 308 0 +91 309 0 +91 310 0 +91 311 0 +91 312 0 +91 313 0 +91 314 0 +91 315 0 +91 316 0 +91 317 0 +91 318 0 +91 319 0 +91 320 0 +91 321 0 +91 322 0 +91 323 0 +91 324 0 +91 325 0 +91 326 0 +91 327 0 +91 328 0 +91 329 0 +91 330 0 +91 331 0 +91 332 0 +91 333 0 +91 334 0 +91 335 0 +91 336 0 +91 337 0 +91 338 0 +91 339 0 +91 340 0 +91 341 0 +91 342 0 +91 343 0 +91 344 0 +91 345 0 +91 346 0 +91 347 0 +91 348 0 +91 349 0 +91 350 0 +91 351 0 +91 352 0 +91 353 0 +91 354 0 +91 355 0 +91 356 0 +91 357 0 +91 358 0 +91 359 0 +91 360 0 +91 361 0 +91 362 0 +91 363 0 +91 364 0 +91 365 0 +91 366 0 +91 367 0 +91 368 0 +91 369 0 +91 370 0 +91 371 0 +91 372 0 +91 373 0 +91 374 0 +91 375 0 +91 376 0 +91 377 0 +91 378 0 +91 379 0 +91 380 0 +91 381 0 +91 382 0 +91 383 0 +92 93 0 +92 94 0 +92 95 0 +92 96 0 +92 97 0 +92 98 0 +92 99 0 +92 100 0 +92 101 0 +92 102 0 +92 103 0 +92 104 0 +92 105 0 +92 106 0 +92 107 0 +92 108 0 +92 109 0 +92 110 0 +92 111 0 +92 112 0 +92 113 0 +92 114 0 +92 115 0 +92 116 0 +92 117 0 +92 118 0 +92 119 0 +92 120 0 +92 121 0 +92 122 0 +92 123 0 +92 124 0 +92 125 0 +92 126 0 +92 127 0 +92 128 0 +92 129 0 +92 130 0 +92 131 0 +92 132 0 +92 133 0 +92 134 0 +92 135 0 +92 136 0 +92 137 0 +92 138 0 +92 139 0 +92 140 0 +92 141 0 +92 142 0 +92 143 0 +92 144 0 +92 145 0 +92 146 0 +92 147 0 +92 148 0 +92 149 0 +92 150 0 +92 151 0 +92 152 0 +92 153 0 +92 154 0 +92 155 0 +92 156 0 +92 157 0 +92 158 0 +92 159 0 +92 160 0 +92 161 0 +92 162 0 +92 163 0 +92 164 0 +92 165 0 +92 166 0 +92 167 0 +92 168 0 +92 169 0 +92 170 0 +92 171 0 +92 172 0 +92 173 0 +92 174 0 +92 175 0 +92 176 0 +92 177 0 +92 178 0 +92 179 0 +92 180 0 +92 181 0 +92 182 0 +92 183 0 +92 184 0 +92 185 0 +92 186 0 +92 187 0 +92 188 0 +92 189 0 +92 190 0 +92 191 0 +92 192 0 +92 193 0 +92 194 0 +92 195 0 +92 196 0 +92 197 0 +92 198 0 +92 199 0 +92 200 0 +92 201 0 +92 202 0 +92 203 0 +92 204 0 +92 205 0 +92 206 0 +92 207 0 +92 208 0 +92 209 0 +92 210 0 +92 211 0 +92 212 0 +92 213 0 +92 214 0 +92 215 0 +92 216 0 +92 217 0 +92 218 0 +92 219 0 +92 220 0 +92 221 0 +92 222 0 +92 223 0 +92 224 0 +92 225 0 +92 226 0 +92 227 0 +92 228 0 +92 229 0 +92 230 0 +92 231 0 +92 232 0 +92 233 0 +92 234 0 +92 235 0 +92 236 0 +92 237 0 +92 238 0 +92 239 0 +92 240 0 +92 241 0 +92 242 0 +92 243 0 +92 244 0 +92 245 0 +92 246 0 +92 247 0 +92 248 0 +92 249 0 +92 250 0 +92 251 0 +92 252 0 +92 253 0 +92 254 0 +92 255 0 +92 256 0 +92 257 0 +92 258 0 +92 259 0 +92 260 0 +92 261 0 +92 262 0 +92 263 0 +92 264 0 +92 265 0 +92 266 0 +92 267 0 +92 268 0 +92 269 0 +92 270 0 +92 271 0 +92 272 0 +92 273 0 +92 274 0 +92 275 0 +92 276 0 +92 277 0 +92 278 0 +92 279 0 +92 280 0 +92 281 0 +92 282 0 +92 283 0 +92 284 0 +92 285 0 +92 286 0 +92 287 0 +92 288 0 +92 289 0 +92 290 0 +92 291 0 +92 292 0 +92 293 0 +92 294 0 +92 295 0 +92 296 0 +92 297 0 +92 298 0 +92 299 0 +92 300 0 +92 301 0 +92 302 0 +92 303 0 +92 304 0 +92 305 0 +92 306 0 +92 307 0 +92 308 0 +92 309 0 +92 310 0 +92 311 0 +92 312 0 +92 313 0 +92 314 0 +92 315 0 +92 316 0 +92 317 0 +92 318 0 +92 319 0 +92 320 0 +92 321 0 +92 322 0 +92 323 0 +92 324 0 +92 325 0 +92 326 0 +92 327 0 +92 328 0 +92 329 0 +92 330 0 +92 331 0 +92 332 0 +92 333 0 +92 334 0 +92 335 0 +92 336 0 +92 337 0 +92 338 0 +92 339 0 +92 340 0 +92 341 0 +92 342 0 +92 343 0 +92 344 0 +92 345 0 +92 346 0 +92 347 0 +92 348 0 +92 349 0 +92 350 0 +92 351 0 +92 352 0 +92 353 0 +92 354 0 +92 355 0 +92 356 0 +92 357 0 +92 358 0 +92 359 0 +92 360 0 +92 361 0 +92 362 0 +92 363 0 +92 364 0 +92 365 0 +92 366 0 +92 367 0 +92 368 0 +92 369 0 +92 370 0 +92 371 0 +92 372 0 +92 373 0 +92 374 0 +92 375 0 +92 376 0 +92 377 0 +92 378 0 +92 379 0 +92 380 0 +92 381 0 +92 382 0 +92 383 0 +93 94 0 +93 95 0 +93 96 0 +93 97 0 +93 98 0 +93 99 0 +93 100 0 +93 101 0 +93 102 0 +93 103 0 +93 104 0 +93 105 0 +93 106 0 +93 107 0 +93 108 0 +93 109 0 +93 110 0 +93 111 0 +93 112 0 +93 113 0 +93 114 0 +93 115 0 +93 116 0 +93 117 0 +93 118 0 +93 119 0 +93 120 0 +93 121 0 +93 122 0 +93 123 0 +93 124 0 +93 125 0 +93 126 0 +93 127 0 +93 128 0 +93 129 0 +93 130 0 +93 131 0 +93 132 0 +93 133 0 +93 134 0 +93 135 0 +93 136 0 +93 137 0 +93 138 0 +93 139 0 +93 140 0 +93 141 0 +93 142 0 +93 143 0 +93 144 0 +93 145 0 +93 146 0 +93 147 0 +93 148 0 +93 149 0 +93 150 0 +93 151 0 +93 152 0 +93 153 0 +93 154 0 +93 155 0 +93 156 0 +93 157 0 +93 158 0 +93 159 0 +93 160 0 +93 161 0 +93 162 0 +93 163 0 +93 164 0 +93 165 0 +93 166 0 +93 167 0 +93 168 0 +93 169 0 +93 170 0 +93 171 0 +93 172 0 +93 173 0 +93 174 0 +93 175 0 +93 176 0 +93 177 0 +93 178 0 +93 179 0 +93 180 0 +93 181 0 +93 182 0 +93 183 0 +93 184 0 +93 185 0 +93 186 0 +93 187 0 +93 188 0 +93 189 0 +93 190 0 +93 191 0 +93 192 0 +93 193 0 +93 194 0 +93 195 0 +93 196 0 +93 197 0 +93 198 0 +93 199 0 +93 200 0 +93 201 0 +93 202 0 +93 203 0 +93 204 0 +93 205 0 +93 206 0 +93 207 0 +93 208 0 +93 209 0 +93 210 0 +93 211 0 +93 212 0 +93 213 0 +93 214 0 +93 215 0 +93 216 0 +93 217 0 +93 218 0 +93 219 0 +93 220 0 +93 221 0 +93 222 0 +93 223 0 +93 224 0 +93 225 0 +93 226 0 +93 227 0 +93 228 0 +93 229 0 +93 230 0 +93 231 0 +93 232 0 +93 233 0 +93 234 0 +93 235 0 +93 236 0 +93 237 0 +93 238 0 +93 239 0 +93 240 0 +93 241 0 +93 242 0 +93 243 0 +93 244 0 +93 245 0 +93 246 0 +93 247 0 +93 248 0 +93 249 0 +93 250 0 +93 251 0 +93 252 0 +93 253 0 +93 254 0 +93 255 0 +93 256 0 +93 257 0 +93 258 0 +93 259 0 +93 260 0 +93 261 0 +93 262 0 +93 263 0 +93 264 0 +93 265 0 +93 266 0 +93 267 0 +93 268 0 +93 269 0 +93 270 0 +93 271 0 +93 272 0 +93 273 0 +93 274 0 +93 275 0 +93 276 0 +93 277 0 +93 278 0 +93 279 0 +93 280 0 +93 281 0 +93 282 0 +93 283 0 +93 284 0 +93 285 0 +93 286 0 +93 287 0 +93 288 0 +93 289 0 +93 290 0 +93 291 0 +93 292 0 +93 293 0 +93 294 0 +93 295 0 +93 296 0 +93 297 0 +93 298 0 +93 299 0 +93 300 0 +93 301 0 +93 302 0 +93 303 0 +93 304 0 +93 305 0 +93 306 0 +93 307 0 +93 308 0 +93 309 0 +93 310 0 +93 311 0 +93 312 0 +93 313 0 +93 314 0 +93 315 0 +93 316 0 +93 317 0 +93 318 0 +93 319 0 +93 320 0 +93 321 0 +93 322 0 +93 323 0 +93 324 0 +93 325 0 +93 326 0 +93 327 0 +93 328 0 +93 329 0 +93 330 0 +93 331 0 +93 332 0 +93 333 0 +93 334 0 +93 335 0 +93 336 0 +93 337 0 +93 338 0 +93 339 0 +93 340 0 +93 341 0 +93 342 0 +93 343 0 +93 344 0 +93 345 0 +93 346 0 +93 347 0 +93 348 0 +93 349 0 +93 350 0 +93 351 0 +93 352 0 +93 353 0 +93 354 0 +93 355 0 +93 356 0 +93 357 0 +93 358 0 +93 359 0 +93 360 0 +93 361 0 +93 362 0 +93 363 0 +93 364 0 +93 365 0 +93 366 0 +93 367 0 +93 368 0 +93 369 0 +93 370 0 +93 371 0 +93 372 0 +93 373 0 +93 374 0 +93 375 0 +93 376 0 +93 377 0 +93 378 0 +93 379 0 +93 380 0 +93 381 0 +93 382 0 +93 383 0 +94 95 0 +94 96 0 +94 97 0 +94 98 0 +94 99 0 +94 100 0 +94 101 0 +94 102 0 +94 103 0 +94 104 0 +94 105 0 +94 106 0 +94 107 0 +94 108 0 +94 109 0 +94 110 0 +94 111 0 +94 112 0 +94 113 0 +94 114 0 +94 115 0 +94 116 0 +94 117 0 +94 118 0 +94 119 0 +94 120 0 +94 121 0 +94 122 0 +94 123 0 +94 124 0 +94 125 0 +94 126 0 +94 127 0 +94 128 0 +94 129 0 +94 130 0 +94 131 0 +94 132 0 +94 133 0 +94 134 0 +94 135 0 +94 136 0 +94 137 0 +94 138 0 +94 139 0 +94 140 0 +94 141 0 +94 142 0 +94 143 0 +94 144 0 +94 145 0 +94 146 0 +94 147 0 +94 148 0 +94 149 0 +94 150 0 +94 151 0 +94 152 0 +94 153 0 +94 154 0 +94 155 0 +94 156 0 +94 157 0 +94 158 0 +94 159 0 +94 160 0 +94 161 0 +94 162 0 +94 163 0 +94 164 0 +94 165 0 +94 166 0 +94 167 0 +94 168 0 +94 169 0 +94 170 0 +94 171 0 +94 172 0 +94 173 0 +94 174 0 +94 175 0 +94 176 0 +94 177 0 +94 178 0 +94 179 0 +94 180 0 +94 181 0 +94 182 0 +94 183 0 +94 184 0 +94 185 0 +94 186 0 +94 187 0 +94 188 0 +94 189 0 +94 190 0 +94 191 0 +94 192 0 +94 193 0 +94 194 0 +94 195 0 +94 196 0 +94 197 0 +94 198 0 +94 199 0 +94 200 0 +94 201 0 +94 202 0 +94 203 0 +94 204 0 +94 205 0 +94 206 0 +94 207 0 +94 208 0 +94 209 0 +94 210 0 +94 211 0 +94 212 0 +94 213 0 +94 214 0 +94 215 0 +94 216 0 +94 217 0 +94 218 0 +94 219 0 +94 220 0 +94 221 0 +94 222 0 +94 223 0 +94 224 0 +94 225 0 +94 226 0 +94 227 0 +94 228 0 +94 229 0 +94 230 0 +94 231 0 +94 232 0 +94 233 0 +94 234 0 +94 235 0 +94 236 0 +94 237 0 +94 238 0 +94 239 0 +94 240 0 +94 241 0 +94 242 0 +94 243 0 +94 244 0 +94 245 0 +94 246 0 +94 247 0 +94 248 0 +94 249 0 +94 250 0 +94 251 0 +94 252 0 +94 253 0 +94 254 0 +94 255 0 +94 256 0 +94 257 0 +94 258 0 +94 259 0 +94 260 0 +94 261 0 +94 262 0 +94 263 0 +94 264 0 +94 265 0 +94 266 0 +94 267 0 +94 268 0 +94 269 0 +94 270 0 +94 271 0 +94 272 0 +94 273 0 +94 274 0 +94 275 0 +94 276 0 +94 277 0 +94 278 0 +94 279 0 +94 280 0 +94 281 0 +94 282 0 +94 283 0 +94 284 0 +94 285 0 +94 286 0 +94 287 0 +94 288 0 +94 289 0 +94 290 0 +94 291 0 +94 292 0 +94 293 0 +94 294 0 +94 295 0 +94 296 0 +94 297 0 +94 298 0 +94 299 0 +94 300 0 +94 301 0 +94 302 0 +94 303 0 +94 304 0 +94 305 0 +94 306 0 +94 307 0 +94 308 0 +94 309 0 +94 310 0 +94 311 0 +94 312 0 +94 313 0 +94 314 0 +94 315 0 +94 316 0 +94 317 0 +94 318 0 +94 319 0 +94 320 0 +94 321 0 +94 322 0 +94 323 0 +94 324 0 +94 325 0 +94 326 0 +94 327 0 +94 328 0 +94 329 0 +94 330 0 +94 331 0 +94 332 0 +94 333 0 +94 334 0 +94 335 0 +94 336 0 +94 337 0 +94 338 0 +94 339 0 +94 340 0 +94 341 0 +94 342 0 +94 343 0 +94 344 0 +94 345 0 +94 346 0 +94 347 0 +94 348 0 +94 349 0 +94 350 0 +94 351 0 +94 352 0 +94 353 0 +94 354 0 +94 355 0 +94 356 0 +94 357 0 +94 358 0 +94 359 0 +94 360 0 +94 361 0 +94 362 0 +94 363 0 +94 364 0 +94 365 0 +94 366 0 +94 367 0 +94 368 0 +94 369 0 +94 370 0 +94 371 0 +94 372 0 +94 373 0 +94 374 0 +94 375 0 +94 376 0 +94 377 0 +94 378 0 +94 379 0 +94 380 0 +94 381 0 +94 382 0 +94 383 0 +95 96 0 +95 97 0 +95 98 0 +95 99 0 +95 100 0 +95 101 0 +95 102 0 +95 103 0 +95 104 0 +95 105 0 +95 106 0 +95 107 0 +95 108 0 +95 109 0 +95 110 0 +95 111 0 +95 112 0 +95 113 0 +95 114 0 +95 115 0 +95 116 0 +95 117 0 +95 118 0 +95 119 0 +95 120 0 +95 121 0 +95 122 0 +95 123 0 +95 124 0 +95 125 0 +95 126 0 +95 127 0 +95 128 0 +95 129 0 +95 130 0 +95 131 0 +95 132 0 +95 133 0 +95 134 0 +95 135 0 +95 136 0 +95 137 0 +95 138 0 +95 139 0 +95 140 0 +95 141 0 +95 142 0 +95 143 0 +95 144 0 +95 145 0 +95 146 0 +95 147 0 +95 148 0 +95 149 0 +95 150 0 +95 151 0 +95 152 0 +95 153 0 +95 154 0 +95 155 0 +95 156 0 +95 157 0 +95 158 0 +95 159 0 +95 160 0 +95 161 0 +95 162 0 +95 163 0 +95 164 0 +95 165 0 +95 166 0 +95 167 0 +95 168 0 +95 169 0 +95 170 0 +95 171 0 +95 172 0 +95 173 0 +95 174 0 +95 175 0 +95 176 0 +95 177 0 +95 178 0 +95 179 0 +95 180 0 +95 181 0 +95 182 0 +95 183 0 +95 184 0 +95 185 0 +95 186 0 +95 187 0 +95 188 0 +95 189 0 +95 190 0 +95 191 0 +95 192 0 +95 193 0 +95 194 0 +95 195 0 +95 196 0 +95 197 0 +95 198 0 +95 199 0 +95 200 0 +95 201 0 +95 202 0 +95 203 0 +95 204 0 +95 205 0 +95 206 0 +95 207 0 +95 208 0 +95 209 0 +95 210 0 +95 211 0 +95 212 0 +95 213 0 +95 214 0 +95 215 0 +95 216 0 +95 217 0 +95 218 0 +95 219 0 +95 220 0 +95 221 0 +95 222 0 +95 223 0 +95 224 0 +95 225 0 +95 226 0 +95 227 0 +95 228 0 +95 229 0 +95 230 0 +95 231 0 +95 232 0 +95 233 0 +95 234 0 +95 235 0 +95 236 0 +95 237 0 +95 238 0 +95 239 0 +95 240 0 +95 241 0 +95 242 0 +95 243 0 +95 244 0 +95 245 0 +95 246 0 +95 247 0 +95 248 0 +95 249 0 +95 250 0 +95 251 0 +95 252 0 +95 253 0 +95 254 0 +95 255 0 +95 256 0 +95 257 0 +95 258 0 +95 259 0 +95 260 0 +95 261 0 +95 262 0 +95 263 0 +95 264 0 +95 265 0 +95 266 0 +95 267 0 +95 268 0 +95 269 0 +95 270 0 +95 271 0 +95 272 0 +95 273 0 +95 274 0 +95 275 0 +95 276 0 +95 277 0 +95 278 0 +95 279 0 +95 280 0 +95 281 0 +95 282 0 +95 283 0 +95 284 0 +95 285 0 +95 286 0 +95 287 0 +95 288 0 +95 289 0 +95 290 0 +95 291 0 +95 292 0 +95 293 0 +95 294 0 +95 295 0 +95 296 0 +95 297 0 +95 298 0 +95 299 0 +95 300 0 +95 301 0 +95 302 0 +95 303 0 +95 304 0 +95 305 0 +95 306 0 +95 307 0 +95 308 0 +95 309 0 +95 310 0 +95 311 0 +95 312 0 +95 313 0 +95 314 0 +95 315 0 +95 316 0 +95 317 0 +95 318 0 +95 319 0 +95 320 0 +95 321 0 +95 322 0 +95 323 0 +95 324 0 +95 325 0 +95 326 0 +95 327 0 +95 328 0 +95 329 0 +95 330 0 +95 331 0 +95 332 0 +95 333 0 +95 334 0 +95 335 0 +95 336 0 +95 337 0 +95 338 0 +95 339 0 +95 340 0 +95 341 0 +95 342 0 +95 343 0 +95 344 0 +95 345 0 +95 346 0 +95 347 0 +95 348 0 +95 349 0 +95 350 0 +95 351 0 +95 352 0 +95 353 0 +95 354 0 +95 355 0 +95 356 0 +95 357 0 +95 358 0 +95 359 0 +95 360 0 +95 361 0 +95 362 0 +95 363 0 +95 364 0 +95 365 0 +95 366 0 +95 367 0 +95 368 0 +95 369 0 +95 370 0 +95 371 0 +95 372 0 +95 373 0 +95 374 0 +95 375 0 +95 376 0 +95 377 0 +95 378 0 +95 379 0 +95 380 0 +95 381 0 +95 382 0 +95 383 0 +96 97 0 +96 98 0 +96 99 0 +96 100 0 +96 101 0 +96 102 0 +96 103 0 +96 104 0 +96 105 0 +96 106 0 +96 107 0 +96 108 0 +96 109 0 +96 110 0 +96 111 0 +96 112 0 +96 113 0 +96 114 0 +96 115 0 +96 116 0 +96 117 0 +96 118 0 +96 119 0 +96 120 0 +96 121 0 +96 122 0 +96 123 0 +96 124 0 +96 125 0 +96 126 0 +96 127 0 +96 128 0 +96 129 0 +96 130 0 +96 131 0 +96 132 0 +96 133 0 +96 134 0 +96 135 0 +96 136 0 +96 137 0 +96 138 0 +96 139 0 +96 140 0 +96 141 0 +96 142 0 +96 143 0 +96 144 0 +96 145 0 +96 146 0 +96 147 0 +96 148 0 +96 149 0 +96 150 0 +96 151 0 +96 152 0 +96 153 0 +96 154 0 +96 155 0 +96 156 0 +96 157 0 +96 158 0 +96 159 0 +96 160 0 +96 161 0 +96 162 0 +96 163 0 +96 164 0 +96 165 0 +96 166 0 +96 167 0 +96 168 0 +96 169 0 +96 170 0 +96 171 0 +96 172 0 +96 173 0 +96 174 0 +96 175 0 +96 176 0 +96 177 0 +96 178 0 +96 179 0 +96 180 0 +96 181 0 +96 182 0 +96 183 0 +96 184 0 +96 185 0 +96 186 0 +96 187 0 +96 188 0 +96 189 0 +96 190 0 +96 191 0 +96 192 0 +96 193 0 +96 194 0 +96 195 0 +96 196 0 +96 197 0 +96 198 0 +96 199 0 +96 200 0 +96 201 0 +96 202 0 +96 203 0 +96 204 0 +96 205 0 +96 206 0 +96 207 0 +96 208 0 +96 209 0 +96 210 0 +96 211 0 +96 212 0 +96 213 0 +96 214 0 +96 215 0 +96 216 0 +96 217 0 +96 218 0 +96 219 0 +96 220 0 +96 221 0 +96 222 0 +96 223 0 +96 224 0 +96 225 0 +96 226 0 +96 227 0 +96 228 0 +96 229 0 +96 230 0 +96 231 0 +96 232 0 +96 233 0 +96 234 0 +96 235 0 +96 236 0 +96 237 0 +96 238 0 +96 239 0 +96 240 0 +96 241 0 +96 242 0 +96 243 0 +96 244 0 +96 245 0 +96 246 0 +96 247 0 +96 248 0 +96 249 0 +96 250 0 +96 251 0 +96 252 0 +96 253 0 +96 254 0 +96 255 0 +96 256 0 +96 257 0 +96 258 0 +96 259 0 +96 260 0 +96 261 0 +96 262 0 +96 263 0 +96 264 0 +96 265 0 +96 266 0 +96 267 0 +96 268 0 +96 269 0 +96 270 0 +96 271 0 +96 272 0 +96 273 0 +96 274 0 +96 275 0 +96 276 0 +96 277 0 +96 278 0 +96 279 0 +96 280 0 +96 281 0 +96 282 0 +96 283 0 +96 284 0 +96 285 0 +96 286 0 +96 287 0 +96 288 0 +96 289 0 +96 290 0 +96 291 0 +96 292 0 +96 293 0 +96 294 0 +96 295 0 +96 296 0 +96 297 0 +96 298 0 +96 299 0 +96 300 0 +96 301 0 +96 302 0 +96 303 0 +96 304 0 +96 305 0 +96 306 0 +96 307 0 +96 308 0 +96 309 0 +96 310 0 +96 311 0 +96 312 0 +96 313 0 +96 314 0 +96 315 0 +96 316 0 +96 317 0 +96 318 0 +96 319 0 +96 320 0 +96 321 0 +96 322 0 +96 323 0 +96 324 0 +96 325 0 +96 326 0 +96 327 0 +96 328 0 +96 329 0 +96 330 0 +96 331 0 +96 332 0 +96 333 0 +96 334 0 +96 335 0 +96 336 0 +96 337 0 +96 338 0 +96 339 0 +96 340 0 +96 341 0 +96 342 0 +96 343 0 +96 344 0 +96 345 0 +96 346 0 +96 347 0 +96 348 0 +96 349 0 +96 350 0 +96 351 0 +96 352 0 +96 353 0 +96 354 0 +96 355 0 +96 356 0 +96 357 0 +96 358 0 +96 359 0 +96 360 0 +96 361 0 +96 362 0 +96 363 0 +96 364 0 +96 365 0 +96 366 0 +96 367 0 +96 368 0 +96 369 0 +96 370 0 +96 371 0 +96 372 0 +96 373 0 +96 374 0 +96 375 0 +96 376 0 +96 377 0 +96 378 0 +96 379 0 +96 380 0 +96 381 0 +96 382 0 +96 383 0 +97 98 0 +97 99 0 +97 100 0 +97 101 0 +97 102 0 +97 103 0 +97 104 0 +97 105 0 +97 106 0 +97 107 0 +97 108 0 +97 109 0 +97 110 0 +97 111 0 +97 112 0 +97 113 0 +97 114 0 +97 115 0 +97 116 0 +97 117 0 +97 118 0 +97 119 0 +97 120 0 +97 121 0 +97 122 0 +97 123 0 +97 124 0 +97 125 0 +97 126 0 +97 127 0 +97 128 0 +97 129 0 +97 130 0 +97 131 0 +97 132 0 +97 133 0 +97 134 0 +97 135 0 +97 136 0 +97 137 0 +97 138 0 +97 139 0 +97 140 0 +97 141 0 +97 142 0 +97 143 0 +97 144 0 +97 145 0 +97 146 0 +97 147 0 +97 148 0 +97 149 0 +97 150 0 +97 151 0 +97 152 0 +97 153 0 +97 154 0 +97 155 0 +97 156 0 +97 157 0 +97 158 0 +97 159 0 +97 160 0 +97 161 0 +97 162 0 +97 163 0 +97 164 0 +97 165 0 +97 166 0 +97 167 0 +97 168 0 +97 169 0 +97 170 0 +97 171 0 +97 172 0 +97 173 0 +97 174 0 +97 175 0 +97 176 0 +97 177 0 +97 178 0 +97 179 0 +97 180 0 +97 181 0 +97 182 0 +97 183 0 +97 184 0 +97 185 0 +97 186 0 +97 187 0 +97 188 0 +97 189 0 +97 190 0 +97 191 0 +97 192 0 +97 193 0 +97 194 0 +97 195 0 +97 196 0 +97 197 0 +97 198 0 +97 199 0 +97 200 0 +97 201 0 +97 202 0 +97 203 0 +97 204 0 +97 205 0 +97 206 0 +97 207 0 +97 208 0 +97 209 0 +97 210 0 +97 211 0 +97 212 0 +97 213 0 +97 214 0 +97 215 0 +97 216 0 +97 217 0 +97 218 0 +97 219 0 +97 220 0 +97 221 0 +97 222 0 +97 223 0 +97 224 0 +97 225 0 +97 226 0 +97 227 0 +97 228 0 +97 229 0 +97 230 0 +97 231 0 +97 232 0 +97 233 0 +97 234 0 +97 235 0 +97 236 0 +97 237 0 +97 238 0 +97 239 0 +97 240 0 +97 241 0 +97 242 0 +97 243 0 +97 244 0 +97 245 0 +97 246 0 +97 247 0 +97 248 0 +97 249 0 +97 250 0 +97 251 0 +97 252 0 +97 253 0 +97 254 0 +97 255 0 +97 256 0 +97 257 0 +97 258 0 +97 259 0 +97 260 0 +97 261 0 +97 262 0 +97 263 0 +97 264 0 +97 265 0 +97 266 0 +97 267 0 +97 268 0 +97 269 0 +97 270 0 +97 271 0 +97 272 0 +97 273 0 +97 274 0 +97 275 0 +97 276 0 +97 277 0 +97 278 0 +97 279 0 +97 280 0 +97 281 0 +97 282 0 +97 283 0 +97 284 0 +97 285 0 +97 286 0 +97 287 0 +97 288 0 +97 289 0 +97 290 0 +97 291 0 +97 292 0 +97 293 0 +97 294 0 +97 295 0 +97 296 0 +97 297 0 +97 298 0 +97 299 0 +97 300 0 +97 301 0 +97 302 0 +97 303 0 +97 304 0 +97 305 0 +97 306 0 +97 307 0 +97 308 0 +97 309 0 +97 310 0 +97 311 0 +97 312 0 +97 313 0 +97 314 0 +97 315 0 +97 316 0 +97 317 0 +97 318 0 +97 319 0 +97 320 0 +97 321 0 +97 322 0 +97 323 0 +97 324 0 +97 325 0 +97 326 0 +97 327 0 +97 328 0 +97 329 0 +97 330 0 +97 331 0 +97 332 0 +97 333 0 +97 334 0 +97 335 0 +97 336 0 +97 337 0 +97 338 0 +97 339 0 +97 340 0 +97 341 0 +97 342 0 +97 343 0 +97 344 0 +97 345 0 +97 346 0 +97 347 0 +97 348 0 +97 349 0 +97 350 0 +97 351 0 +97 352 0 +97 353 0 +97 354 0 +97 355 0 +97 356 0 +97 357 0 +97 358 0 +97 359 0 +97 360 0 +97 361 0 +97 362 0 +97 363 0 +97 364 0 +97 365 0 +97 366 0 +97 367 0 +97 368 0 +97 369 0 +97 370 0 +97 371 0 +97 372 0 +97 373 0 +97 374 0 +97 375 0 +97 376 0 +97 377 0 +97 378 0 +97 379 0 +97 380 0 +97 381 0 +97 382 0 +97 383 0 +98 99 0 +98 100 0 +98 101 0 +98 102 0 +98 103 0 +98 104 0 +98 105 0 +98 106 0 +98 107 0 +98 108 0 +98 109 0 +98 110 0 +98 111 0 +98 112 0 +98 113 0 +98 114 0 +98 115 0 +98 116 0 +98 117 0 +98 118 0 +98 119 0 +98 120 0 +98 121 0 +98 122 0 +98 123 0 +98 124 0 +98 125 0 +98 126 0 +98 127 0 +98 128 0 +98 129 0 +98 130 0 +98 131 0 +98 132 0 +98 133 0 +98 134 0 +98 135 0 +98 136 0 +98 137 0 +98 138 0 +98 139 0 +98 140 0 +98 141 0 +98 142 0 +98 143 0 +98 144 0 +98 145 0 +98 146 0 +98 147 0 +98 148 0 +98 149 0 +98 150 0 +98 151 0 +98 152 0 +98 153 0 +98 154 0 +98 155 0 +98 156 0 +98 157 0 +98 158 0 +98 159 0 +98 160 0 +98 161 0 +98 162 0 +98 163 0 +98 164 0 +98 165 0 +98 166 0 +98 167 0 +98 168 0 +98 169 0 +98 170 0 +98 171 0 +98 172 0 +98 173 0 +98 174 0 +98 175 0 +98 176 0 +98 177 0 +98 178 0 +98 179 0 +98 180 0 +98 181 0 +98 182 0 +98 183 0 +98 184 0 +98 185 0 +98 186 0 +98 187 0 +98 188 0 +98 189 0 +98 190 0 +98 191 0 +98 192 0 +98 193 0 +98 194 0 +98 195 0 +98 196 0 +98 197 0 +98 198 0 +98 199 0 +98 200 0 +98 201 0 +98 202 0 +98 203 0 +98 204 0 +98 205 0 +98 206 0 +98 207 0 +98 208 0 +98 209 0 +98 210 0 +98 211 0 +98 212 0 +98 213 0 +98 214 0 +98 215 0 +98 216 0 +98 217 0 +98 218 0 +98 219 0 +98 220 0 +98 221 0 +98 222 0 +98 223 0 +98 224 0 +98 225 0 +98 226 0 +98 227 0 +98 228 0 +98 229 0 +98 230 0 +98 231 0 +98 232 0 +98 233 0 +98 234 0 +98 235 0 +98 236 0 +98 237 0 +98 238 0 +98 239 0 +98 240 0 +98 241 0 +98 242 0 +98 243 0 +98 244 0 +98 245 0 +98 246 0 +98 247 0 +98 248 0 +98 249 0 +98 250 0 +98 251 0 +98 252 0 +98 253 0 +98 254 0 +98 255 0 +98 256 0 +98 257 0 +98 258 0 +98 259 0 +98 260 0 +98 261 0 +98 262 0 +98 263 0 +98 264 0 +98 265 0 +98 266 0 +98 267 0 +98 268 0 +98 269 0 +98 270 0 +98 271 0 +98 272 0 +98 273 0 +98 274 0 +98 275 0 +98 276 0 +98 277 0 +98 278 0 +98 279 0 +98 280 0 +98 281 0 +98 282 0 +98 283 0 +98 284 0 +98 285 0 +98 286 0 +98 287 0 +98 288 0 +98 289 0 +98 290 0 +98 291 0 +98 292 0 +98 293 0 +98 294 0 +98 295 0 +98 296 0 +98 297 0 +98 298 0 +98 299 0 +98 300 0 +98 301 0 +98 302 0 +98 303 0 +98 304 0 +98 305 0 +98 306 0 +98 307 0 +98 308 0 +98 309 0 +98 310 0 +98 311 0 +98 312 0 +98 313 0 +98 314 0 +98 315 0 +98 316 0 +98 317 0 +98 318 0 +98 319 0 +98 320 0 +98 321 0 +98 322 0 +98 323 0 +98 324 0 +98 325 0 +98 326 0 +98 327 0 +98 328 0 +98 329 0 +98 330 0 +98 331 0 +98 332 0 +98 333 0 +98 334 0 +98 335 0 +98 336 0 +98 337 0 +98 338 0 +98 339 0 +98 340 0 +98 341 0 +98 342 0 +98 343 0 +98 344 0 +98 345 0 +98 346 0 +98 347 0 +98 348 0 +98 349 0 +98 350 0 +98 351 0 +98 352 0 +98 353 0 +98 354 0 +98 355 0 +98 356 0 +98 357 0 +98 358 0 +98 359 0 +98 360 0 +98 361 0 +98 362 0 +98 363 0 +98 364 0 +98 365 0 +98 366 0 +98 367 0 +98 368 0 +98 369 0 +98 370 0 +98 371 0 +98 372 0 +98 373 0 +98 374 0 +98 375 0 +98 376 0 +98 377 0 +98 378 0 +98 379 0 +98 380 0 +98 381 0 +98 382 0 +98 383 0 +99 100 0 +99 101 0 +99 102 0 +99 103 0 +99 104 0 +99 105 0 +99 106 0 +99 107 0 +99 108 0 +99 109 0 +99 110 0 +99 111 0 +99 112 0 +99 113 0 +99 114 0 +99 115 0 +99 116 0 +99 117 0 +99 118 0 +99 119 0 +99 120 0 +99 121 0 +99 122 0 +99 123 0 +99 124 0 +99 125 0 +99 126 0 +99 127 0 +99 128 0 +99 129 0 +99 130 0 +99 131 0 +99 132 0 +99 133 0 +99 134 0 +99 135 0 +99 136 0 +99 137 0 +99 138 0 +99 139 0 +99 140 0 +99 141 0 +99 142 0 +99 143 0 +99 144 0 +99 145 0 +99 146 0 +99 147 0 +99 148 0 +99 149 0 +99 150 0 +99 151 0 +99 152 0 +99 153 0 +99 154 0 +99 155 0 +99 156 0 +99 157 0 +99 158 0 +99 159 0 +99 160 0 +99 161 0 +99 162 0 +99 163 0 +99 164 0 +99 165 0 +99 166 0 +99 167 0 +99 168 0 +99 169 0 +99 170 0 +99 171 0 +99 172 0 +99 173 0 +99 174 0 +99 175 0 +99 176 0 +99 177 0 +99 178 0 +99 179 0 +99 180 0 +99 181 0 +99 182 0 +99 183 0 +99 184 0 +99 185 0 +99 186 0 +99 187 0 +99 188 0 +99 189 0 +99 190 0 +99 191 0 +99 192 0 +99 193 0 +99 194 0 +99 195 0 +99 196 0 +99 197 0 +99 198 0 +99 199 0 +99 200 0 +99 201 0 +99 202 0 +99 203 0 +99 204 0 +99 205 0 +99 206 0 +99 207 0 +99 208 0 +99 209 0 +99 210 0 +99 211 0 +99 212 0 +99 213 0 +99 214 0 +99 215 0 +99 216 0 +99 217 0 +99 218 0 +99 219 0 +99 220 0 +99 221 0 +99 222 0 +99 223 0 +99 224 0 +99 225 0 +99 226 0 +99 227 0 +99 228 0 +99 229 0 +99 230 0 +99 231 0 +99 232 0 +99 233 0 +99 234 0 +99 235 0 +99 236 0 +99 237 0 +99 238 0 +99 239 0 +99 240 0 +99 241 0 +99 242 0 +99 243 0 +99 244 0 +99 245 0 +99 246 0 +99 247 0 +99 248 0 +99 249 0 +99 250 0 +99 251 0 +99 252 0 +99 253 0 +99 254 0 +99 255 0 +99 256 0 +99 257 0 +99 258 0 +99 259 0 +99 260 0 +99 261 0 +99 262 0 +99 263 0 +99 264 0 +99 265 0 +99 266 0 +99 267 0 +99 268 0 +99 269 0 +99 270 0 +99 271 0 +99 272 0 +99 273 0 +99 274 0 +99 275 0 +99 276 0 +99 277 0 +99 278 0 +99 279 0 +99 280 0 +99 281 0 +99 282 0 +99 283 0 +99 284 0 +99 285 0 +99 286 0 +99 287 0 +99 288 0 +99 289 0 +99 290 0 +99 291 0 +99 292 0 +99 293 0 +99 294 0 +99 295 0 +99 296 0 +99 297 0 +99 298 0 +99 299 0 +99 300 0 +99 301 0 +99 302 0 +99 303 0 +99 304 0 +99 305 0 +99 306 0 +99 307 0 +99 308 0 +99 309 0 +99 310 0 +99 311 0 +99 312 0 +99 313 0 +99 314 0 +99 315 0 +99 316 0 +99 317 0 +99 318 0 +99 319 0 +99 320 0 +99 321 0 +99 322 0 +99 323 0 +99 324 0 +99 325 0 +99 326 0 +99 327 0 +99 328 0 +99 329 0 +99 330 0 +99 331 0 +99 332 0 +99 333 0 +99 334 0 +99 335 0 +99 336 0 +99 337 0 +99 338 0 +99 339 0 +99 340 0 +99 341 0 +99 342 0 +99 343 0 +99 344 0 +99 345 0 +99 346 0 +99 347 0 +99 348 0 +99 349 0 +99 350 0 +99 351 0 +99 352 0 +99 353 0 +99 354 0 +99 355 0 +99 356 0 +99 357 0 +99 358 0 +99 359 0 +99 360 0 +99 361 0 +99 362 0 +99 363 0 +99 364 0 +99 365 0 +99 366 0 +99 367 0 +99 368 0 +99 369 0 +99 370 0 +99 371 0 +99 372 0 +99 373 0 +99 374 0 +99 375 0 +99 376 0 +99 377 0 +99 378 0 +99 379 0 +99 380 0 +99 381 0 +99 382 0 +99 383 0 +100 101 0 +100 102 0 +100 103 0 +100 104 0 +100 105 0 +100 106 0 +100 107 0 +100 108 0 +100 109 0 +100 110 0 +100 111 0 +100 112 0 +100 113 0 +100 114 0 +100 115 0 +100 116 0 +100 117 0 +100 118 0 +100 119 0 +100 120 0 +100 121 0 +100 122 0 +100 123 0 +100 124 0 +100 125 0 +100 126 0 +100 127 0 +100 128 0 +100 129 0 +100 130 0 +100 131 0 +100 132 0 +100 133 0 +100 134 0 +100 135 0 +100 136 0 +100 137 0 +100 138 0 +100 139 0 +100 140 0 +100 141 0 +100 142 0 +100 143 0 +100 144 0 +100 145 0 +100 146 0 +100 147 0 +100 148 0 +100 149 0 +100 150 0 +100 151 0 +100 152 0 +100 153 0 +100 154 0 +100 155 0 +100 156 0 +100 157 0 +100 158 0 +100 159 0 +100 160 0 +100 161 0 +100 162 0 +100 163 0 +100 164 0 +100 165 0 +100 166 0 +100 167 0 +100 168 0 +100 169 0 +100 170 0 +100 171 0 +100 172 0 +100 173 0 +100 174 0 +100 175 0 +100 176 0 +100 177 0 +100 178 0 +100 179 0 +100 180 0 +100 181 0 +100 182 0 +100 183 0 +100 184 0 +100 185 0 +100 186 0 +100 187 0 +100 188 0 +100 189 0 +100 190 0 +100 191 0 +100 192 0 +100 193 0 +100 194 0 +100 195 0 +100 196 0 +100 197 0 +100 198 0 +100 199 0 +100 200 0 +100 201 0 +100 202 0 +100 203 0 +100 204 0 +100 205 0 +100 206 0 +100 207 0 +100 208 0 +100 209 0 +100 210 0 +100 211 0 +100 212 0 +100 213 0 +100 214 0 +100 215 0 +100 216 0 +100 217 0 +100 218 0 +100 219 0 +100 220 0 +100 221 0 +100 222 0 +100 223 0 +100 224 0 +100 225 0 +100 226 0 +100 227 0 +100 228 0 +100 229 0 +100 230 0 +100 231 0 +100 232 0 +100 233 0 +100 234 0 +100 235 0 +100 236 0 +100 237 0 +100 238 0 +100 239 0 +100 240 0 +100 241 0 +100 242 0 +100 243 0 +100 244 0 +100 245 0 +100 246 0 +100 247 0 +100 248 0 +100 249 0 +100 250 0 +100 251 0 +100 252 0 +100 253 0 +100 254 0 +100 255 0 +100 256 0 +100 257 0 +100 258 0 +100 259 0 +100 260 0 +100 261 0 +100 262 0 +100 263 0 +100 264 0 +100 265 0 +100 266 0 +100 267 0 +100 268 0 +100 269 0 +100 270 0 +100 271 0 +100 272 0 +100 273 0 +100 274 0 +100 275 0 +100 276 0 +100 277 0 +100 278 0 +100 279 0 +100 280 0 +100 281 0 +100 282 0 +100 283 0 +100 284 0 +100 285 0 +100 286 0 +100 287 0 +100 288 0 +100 289 0 +100 290 0 +100 291 0 +100 292 0 +100 293 0 +100 294 0 +100 295 0 +100 296 0 +100 297 0 +100 298 0 +100 299 0 +100 300 0 +100 301 0 +100 302 0 +100 303 0 +100 304 0 +100 305 0 +100 306 0 +100 307 0 +100 308 0 +100 309 0 +100 310 0 +100 311 0 +100 312 0 +100 313 0 +100 314 0 +100 315 0 +100 316 0 +100 317 0 +100 318 0 +100 319 0 +100 320 0 +100 321 0 +100 322 0 +100 323 0 +100 324 0 +100 325 0 +100 326 0 +100 327 0 +100 328 0 +100 329 0 +100 330 0 +100 331 0 +100 332 0 +100 333 0 +100 334 0 +100 335 0 +100 336 0 +100 337 0 +100 338 0 +100 339 0 +100 340 0 +100 341 0 +100 342 0 +100 343 0 +100 344 0 +100 345 0 +100 346 0 +100 347 0 +100 348 0 +100 349 0 +100 350 0 +100 351 0 +100 352 0 +100 353 0 +100 354 0 +100 355 0 +100 356 0 +100 357 0 +100 358 0 +100 359 0 +100 360 0 +100 361 0 +100 362 0 +100 363 0 +100 364 0 +100 365 0 +100 366 0 +100 367 0 +100 368 0 +100 369 0 +100 370 0 +100 371 0 +100 372 0 +100 373 0 +100 374 0 +100 375 0 +100 376 0 +100 377 0 +100 378 0 +100 379 0 +100 380 0 +100 381 0 +100 382 0 +100 383 0 +101 102 0 +101 103 0 +101 104 0 +101 105 0 +101 106 0 +101 107 0 +101 108 0 +101 109 0 +101 110 0 +101 111 0 +101 112 0 +101 113 0 +101 114 0 +101 115 0 +101 116 0 +101 117 0 +101 118 0 +101 119 0 +101 120 0 +101 121 0 +101 122 0 +101 123 0 +101 124 0 +101 125 0 +101 126 0 +101 127 0 +101 128 0 +101 129 0 +101 130 0 +101 131 0 +101 132 0 +101 133 0 +101 134 0 +101 135 0 +101 136 0 +101 137 0 +101 138 0 +101 139 0 +101 140 0 +101 141 0 +101 142 0 +101 143 0 +101 144 0 +101 145 0 +101 146 0 +101 147 0 +101 148 0 +101 149 0 +101 150 0 +101 151 0 +101 152 0 +101 153 0 +101 154 0 +101 155 0 +101 156 0 +101 157 0 +101 158 0 +101 159 0 +101 160 0 +101 161 0 +101 162 0 +101 163 0 +101 164 0 +101 165 0 +101 166 0 +101 167 0 +101 168 0 +101 169 0 +101 170 0 +101 171 0 +101 172 0 +101 173 0 +101 174 0 +101 175 0 +101 176 0 +101 177 0 +101 178 0 +101 179 0 +101 180 0 +101 181 0 +101 182 0 +101 183 0 +101 184 0 +101 185 0 +101 186 0 +101 187 0 +101 188 0 +101 189 0 +101 190 0 +101 191 0 +101 192 0 +101 193 0 +101 194 0 +101 195 0 +101 196 0 +101 197 0 +101 198 0 +101 199 0 +101 200 0 +101 201 0 +101 202 0 +101 203 0 +101 204 0 +101 205 0 +101 206 0 +101 207 0 +101 208 0 +101 209 0 +101 210 0 +101 211 0 +101 212 0 +101 213 0 +101 214 0 +101 215 0 +101 216 0 +101 217 0 +101 218 0 +101 219 0 +101 220 0 +101 221 0 +101 222 0 +101 223 0 +101 224 0 +101 225 0 +101 226 0 +101 227 0 +101 228 0 +101 229 0 +101 230 0 +101 231 0 +101 232 0 +101 233 0 +101 234 0 +101 235 0 +101 236 0 +101 237 0 +101 238 0 +101 239 0 +101 240 0 +101 241 0 +101 242 0 +101 243 0 +101 244 0 +101 245 0 +101 246 0 +101 247 0 +101 248 0 +101 249 0 +101 250 0 +101 251 0 +101 252 0 +101 253 0 +101 254 0 +101 255 0 +101 256 0 +101 257 0 +101 258 0 +101 259 0 +101 260 0 +101 261 0 +101 262 0 +101 263 0 +101 264 0 +101 265 0 +101 266 0 +101 267 0 +101 268 0 +101 269 0 +101 270 0 +101 271 0 +101 272 0 +101 273 0 +101 274 0 +101 275 0 +101 276 0 +101 277 0 +101 278 0 +101 279 0 +101 280 0 +101 281 0 +101 282 0 +101 283 0 +101 284 0 +101 285 0 +101 286 0 +101 287 0 +101 288 0 +101 289 0 +101 290 0 +101 291 0 +101 292 0 +101 293 0 +101 294 0 +101 295 0 +101 296 0 +101 297 0 +101 298 0 +101 299 0 +101 300 0 +101 301 0 +101 302 0 +101 303 0 +101 304 0 +101 305 0 +101 306 0 +101 307 0 +101 308 0 +101 309 0 +101 310 0 +101 311 0 +101 312 0 +101 313 0 +101 314 0 +101 315 0 +101 316 0 +101 317 0 +101 318 0 +101 319 0 +101 320 0 +101 321 0 +101 322 0 +101 323 0 +101 324 0 +101 325 0 +101 326 0 +101 327 0 +101 328 0 +101 329 0 +101 330 0 +101 331 0 +101 332 0 +101 333 0 +101 334 0 +101 335 0 +101 336 0 +101 337 0 +101 338 0 +101 339 0 +101 340 0 +101 341 0 +101 342 0 +101 343 0 +101 344 0 +101 345 0 +101 346 0 +101 347 0 +101 348 0 +101 349 0 +101 350 0 +101 351 0 +101 352 0 +101 353 0 +101 354 0 +101 355 0 +101 356 0 +101 357 0 +101 358 0 +101 359 0 +101 360 0 +101 361 0 +101 362 0 +101 363 0 +101 364 0 +101 365 0 +101 366 0 +101 367 0 +101 368 0 +101 369 0 +101 370 0 +101 371 0 +101 372 0 +101 373 0 +101 374 0 +101 375 0 +101 376 0 +101 377 0 +101 378 0 +101 379 0 +101 380 0 +101 381 0 +101 382 0 +101 383 0 +102 103 0 +102 104 0 +102 105 0 +102 106 0 +102 107 0 +102 108 0 +102 109 0 +102 110 0 +102 111 0 +102 112 0 +102 113 0 +102 114 0 +102 115 0 +102 116 0 +102 117 0 +102 118 0 +102 119 0 +102 120 0 +102 121 0 +102 122 0 +102 123 0 +102 124 0 +102 125 0 +102 126 0 +102 127 0 +102 128 0 +102 129 0 +102 130 0 +102 131 0 +102 132 0 +102 133 0 +102 134 0 +102 135 0 +102 136 0 +102 137 0 +102 138 0 +102 139 0 +102 140 0 +102 141 0 +102 142 0 +102 143 0 +102 144 0 +102 145 0 +102 146 0 +102 147 0 +102 148 0 +102 149 0 +102 150 0 +102 151 0 +102 152 0 +102 153 0 +102 154 0 +102 155 0 +102 156 0 +102 157 0 +102 158 0 +102 159 0 +102 160 0 +102 161 0 +102 162 0 +102 163 0 +102 164 0 +102 165 0 +102 166 0 +102 167 0 +102 168 0 +102 169 0 +102 170 0 +102 171 0 +102 172 0 +102 173 0 +102 174 0 +102 175 0 +102 176 0 +102 177 0 +102 178 0 +102 179 0 +102 180 0 +102 181 0 +102 182 0 +102 183 0 +102 184 0 +102 185 0 +102 186 0 +102 187 0 +102 188 0 +102 189 0 +102 190 0 +102 191 0 +102 192 0 +102 193 0 +102 194 0 +102 195 0 +102 196 0 +102 197 0 +102 198 0 +102 199 0 +102 200 0 +102 201 0 +102 202 0 +102 203 0 +102 204 0 +102 205 0 +102 206 0 +102 207 0 +102 208 0 +102 209 0 +102 210 0 +102 211 0 +102 212 0 +102 213 0 +102 214 0 +102 215 0 +102 216 0 +102 217 0 +102 218 0 +102 219 0 +102 220 0 +102 221 0 +102 222 0 +102 223 0 +102 224 0 +102 225 0 +102 226 0 +102 227 0 +102 228 0 +102 229 0 +102 230 0 +102 231 0 +102 232 0 +102 233 0 +102 234 0 +102 235 0 +102 236 0 +102 237 0 +102 238 0 +102 239 0 +102 240 0 +102 241 0 +102 242 0 +102 243 0 +102 244 0 +102 245 0 +102 246 0 +102 247 0 +102 248 0 +102 249 0 +102 250 0 +102 251 0 +102 252 0 +102 253 0 +102 254 0 +102 255 0 +102 256 0 +102 257 0 +102 258 0 +102 259 0 +102 260 0 +102 261 0 +102 262 0 +102 263 0 +102 264 0 +102 265 0 +102 266 0 +102 267 0 +102 268 0 +102 269 0 +102 270 0 +102 271 0 +102 272 0 +102 273 0 +102 274 0 +102 275 0 +102 276 0 +102 277 0 +102 278 0 +102 279 0 +102 280 0 +102 281 0 +102 282 0 +102 283 0 +102 284 0 +102 285 0 +102 286 0 +102 287 0 +102 288 0 +102 289 0 +102 290 0 +102 291 0 +102 292 0 +102 293 0 +102 294 0 +102 295 0 +102 296 0 +102 297 0 +102 298 0 +102 299 0 +102 300 0 +102 301 0 +102 302 0 +102 303 0 +102 304 0 +102 305 0 +102 306 0 +102 307 0 +102 308 0 +102 309 0 +102 310 0 +102 311 0 +102 312 0 +102 313 0 +102 314 0 +102 315 0 +102 316 0 +102 317 0 +102 318 0 +102 319 0 +102 320 0 +102 321 0 +102 322 0 +102 323 0 +102 324 0 +102 325 0 +102 326 0 +102 327 0 +102 328 0 +102 329 0 +102 330 0 +102 331 0 +102 332 0 +102 333 0 +102 334 0 +102 335 0 +102 336 0 +102 337 0 +102 338 0 +102 339 0 +102 340 0 +102 341 0 +102 342 0 +102 343 0 +102 344 0 +102 345 0 +102 346 0 +102 347 0 +102 348 0 +102 349 0 +102 350 0 +102 351 0 +102 352 0 +102 353 0 +102 354 0 +102 355 0 +102 356 0 +102 357 0 +102 358 0 +102 359 0 +102 360 0 +102 361 0 +102 362 0 +102 363 0 +102 364 0 +102 365 0 +102 366 0 +102 367 0 +102 368 0 +102 369 0 +102 370 0 +102 371 0 +102 372 0 +102 373 0 +102 374 0 +102 375 0 +102 376 0 +102 377 0 +102 378 0 +102 379 0 +102 380 0 +102 381 0 +102 382 0 +102 383 0 +103 104 0 +103 105 0 +103 106 0 +103 107 0 +103 108 0 +103 109 0 +103 110 0 +103 111 0 +103 112 0 +103 113 0 +103 114 0 +103 115 0 +103 116 0 +103 117 0 +103 118 0 +103 119 0 +103 120 0 +103 121 0 +103 122 0 +103 123 0 +103 124 0 +103 125 0 +103 126 0 +103 127 0 +103 128 0 +103 129 0 +103 130 0 +103 131 0 +103 132 0 +103 133 0 +103 134 0 +103 135 0 +103 136 0 +103 137 0 +103 138 0 +103 139 0 +103 140 0 +103 141 0 +103 142 0 +103 143 0 +103 144 0 +103 145 0 +103 146 0 +103 147 0 +103 148 0 +103 149 0 +103 150 0 +103 151 0 +103 152 0 +103 153 0 +103 154 0 +103 155 0 +103 156 0 +103 157 0 +103 158 0 +103 159 0 +103 160 0 +103 161 0 +103 162 0 +103 163 0 +103 164 0 +103 165 0 +103 166 0 +103 167 0 +103 168 0 +103 169 0 +103 170 0 +103 171 0 +103 172 0 +103 173 0 +103 174 0 +103 175 0 +103 176 0 +103 177 0 +103 178 0 +103 179 0 +103 180 0 +103 181 0 +103 182 0 +103 183 0 +103 184 0 +103 185 0 +103 186 0 +103 187 0 +103 188 0 +103 189 0 +103 190 0 +103 191 0 +103 192 0 +103 193 0 +103 194 0 +103 195 0 +103 196 0 +103 197 0 +103 198 0 +103 199 0 +103 200 0 +103 201 0 +103 202 0 +103 203 0 +103 204 0 +103 205 0 +103 206 0 +103 207 0 +103 208 0 +103 209 0 +103 210 0 +103 211 0 +103 212 0 +103 213 0 +103 214 0 +103 215 0 +103 216 0 +103 217 0 +103 218 0 +103 219 0 +103 220 0 +103 221 0 +103 222 0 +103 223 0 +103 224 0 +103 225 0 +103 226 0 +103 227 0 +103 228 0 +103 229 0 +103 230 0 +103 231 0 +103 232 0 +103 233 0 +103 234 0 +103 235 0 +103 236 0 +103 237 0 +103 238 0 +103 239 0 +103 240 0 +103 241 0 +103 242 0 +103 243 0 +103 244 0 +103 245 0 +103 246 0 +103 247 0 +103 248 0 +103 249 0 +103 250 0 +103 251 0 +103 252 0 +103 253 0 +103 254 0 +103 255 0 +103 256 0 +103 257 0 +103 258 0 +103 259 0 +103 260 0 +103 261 0 +103 262 0 +103 263 0 +103 264 0 +103 265 0 +103 266 0 +103 267 0 +103 268 0 +103 269 0 +103 270 0 +103 271 0 +103 272 0 +103 273 0 +103 274 0 +103 275 0 +103 276 0 +103 277 0 +103 278 0 +103 279 0 +103 280 0 +103 281 0 +103 282 0 +103 283 0 +103 284 0 +103 285 0 +103 286 0 +103 287 0 +103 288 0 +103 289 0 +103 290 0 +103 291 0 +103 292 0 +103 293 0 +103 294 0 +103 295 0 +103 296 0 +103 297 0 +103 298 0 +103 299 0 +103 300 0 +103 301 0 +103 302 0 +103 303 0 +103 304 0 +103 305 0 +103 306 0 +103 307 0 +103 308 0 +103 309 0 +103 310 0 +103 311 0 +103 312 0 +103 313 0 +103 314 0 +103 315 0 +103 316 0 +103 317 0 +103 318 0 +103 319 0 +103 320 0 +103 321 0 +103 322 0 +103 323 0 +103 324 0 +103 325 0 +103 326 0 +103 327 0 +103 328 0 +103 329 0 +103 330 0 +103 331 0 +103 332 0 +103 333 0 +103 334 0 +103 335 0 +103 336 0 +103 337 0 +103 338 0 +103 339 0 +103 340 0 +103 341 0 +103 342 0 +103 343 0 +103 344 0 +103 345 0 +103 346 0 +103 347 0 +103 348 0 +103 349 0 +103 350 0 +103 351 0 +103 352 0 +103 353 0 +103 354 0 +103 355 0 +103 356 0 +103 357 0 +103 358 0 +103 359 0 +103 360 0 +103 361 0 +103 362 0 +103 363 0 +103 364 0 +103 365 0 +103 366 0 +103 367 0 +103 368 0 +103 369 0 +103 370 0 +103 371 0 +103 372 0 +103 373 0 +103 374 0 +103 375 0 +103 376 0 +103 377 0 +103 378 0 +103 379 0 +103 380 0 +103 381 0 +103 382 0 +103 383 0 +104 105 0 +104 106 0 +104 107 0 +104 108 0 +104 109 0 +104 110 0 +104 111 0 +104 112 0 +104 113 0 +104 114 0 +104 115 0 +104 116 0 +104 117 0 +104 118 0 +104 119 0 +104 120 0 +104 121 0 +104 122 0 +104 123 0 +104 124 0 +104 125 0 +104 126 0 +104 127 0 +104 128 0 +104 129 0 +104 130 0 +104 131 0 +104 132 0 +104 133 0 +104 134 0 +104 135 0 +104 136 0 +104 137 0 +104 138 0 +104 139 0 +104 140 0 +104 141 0 +104 142 0 +104 143 0 +104 144 0 +104 145 0 +104 146 0 +104 147 0 +104 148 0 +104 149 0 +104 150 0 +104 151 0 +104 152 0 +104 153 0 +104 154 0 +104 155 0 +104 156 0 +104 157 0 +104 158 0 +104 159 0 +104 160 0 +104 161 0 +104 162 0 +104 163 0 +104 164 0 +104 165 0 +104 166 0 +104 167 0 +104 168 0 +104 169 0 +104 170 0 +104 171 0 +104 172 0 +104 173 0 +104 174 0 +104 175 0 +104 176 0 +104 177 0 +104 178 0 +104 179 0 +104 180 0 +104 181 0 +104 182 0 +104 183 0 +104 184 0 +104 185 0 +104 186 0 +104 187 0 +104 188 0 +104 189 0 +104 190 0 +104 191 0 +104 192 0 +104 193 0 +104 194 0 +104 195 0 +104 196 0 +104 197 0 +104 198 0 +104 199 0 +104 200 0 +104 201 0 +104 202 0 +104 203 0 +104 204 0 +104 205 0 +104 206 0 +104 207 0 +104 208 0 +104 209 0 +104 210 0 +104 211 0 +104 212 0 +104 213 0 +104 214 0 +104 215 0 +104 216 0 +104 217 0 +104 218 0 +104 219 0 +104 220 0 +104 221 0 +104 222 0 +104 223 0 +104 224 0 +104 225 0 +104 226 0 +104 227 0 +104 228 0 +104 229 0 +104 230 0 +104 231 0 +104 232 0 +104 233 0 +104 234 0 +104 235 0 +104 236 0 +104 237 0 +104 238 0 +104 239 0 +104 240 0 +104 241 0 +104 242 0 +104 243 0 +104 244 0 +104 245 0 +104 246 0 +104 247 0 +104 248 0 +104 249 0 +104 250 0 +104 251 0 +104 252 0 +104 253 0 +104 254 0 +104 255 0 +104 256 0 +104 257 0 +104 258 0 +104 259 0 +104 260 0 +104 261 0 +104 262 0 +104 263 0 +104 264 0 +104 265 0 +104 266 0 +104 267 0 +104 268 0 +104 269 0 +104 270 0 +104 271 0 +104 272 0 +104 273 0 +104 274 0 +104 275 0 +104 276 0 +104 277 0 +104 278 0 +104 279 0 +104 280 0 +104 281 0 +104 282 0 +104 283 0 +104 284 0 +104 285 0 +104 286 0 +104 287 0 +104 288 0 +104 289 0 +104 290 0 +104 291 0 +104 292 0 +104 293 0 +104 294 0 +104 295 0 +104 296 0 +104 297 0 +104 298 0 +104 299 0 +104 300 0 +104 301 0 +104 302 0 +104 303 0 +104 304 0 +104 305 0 +104 306 0 +104 307 0 +104 308 0 +104 309 0 +104 310 0 +104 311 0 +104 312 0 +104 313 0 +104 314 0 +104 315 0 +104 316 0 +104 317 0 +104 318 0 +104 319 0 +104 320 0 +104 321 0 +104 322 0 +104 323 0 +104 324 0 +104 325 0 +104 326 0 +104 327 0 +104 328 0 +104 329 0 +104 330 0 +104 331 0 +104 332 0 +104 333 0 +104 334 0 +104 335 0 +104 336 0 +104 337 0 +104 338 0 +104 339 0 +104 340 0 +104 341 0 +104 342 0 +104 343 0 +104 344 0 +104 345 0 +104 346 0 +104 347 0 +104 348 0 +104 349 0 +104 350 0 +104 351 0 +104 352 0 +104 353 0 +104 354 0 +104 355 0 +104 356 0 +104 357 0 +104 358 0 +104 359 0 +104 360 0 +104 361 0 +104 362 0 +104 363 0 +104 364 0 +104 365 0 +104 366 0 +104 367 0 +104 368 0 +104 369 0 +104 370 0 +104 371 0 +104 372 0 +104 373 0 +104 374 0 +104 375 0 +104 376 0 +104 377 0 +104 378 0 +104 379 0 +104 380 0 +104 381 0 +104 382 0 +104 383 0 +105 106 0 +105 107 0 +105 108 0 +105 109 0 +105 110 0 +105 111 0 +105 112 0 +105 113 0 +105 114 0 +105 115 0 +105 116 0 +105 117 0 +105 118 0 +105 119 0 +105 120 0 +105 121 0 +105 122 0 +105 123 0 +105 124 0 +105 125 0 +105 126 0 +105 127 0 +105 128 0 +105 129 0 +105 130 0 +105 131 0 +105 132 0 +105 133 0 +105 134 0 +105 135 0 +105 136 0 +105 137 0 +105 138 0 +105 139 0 +105 140 0 +105 141 0 +105 142 0 +105 143 0 +105 144 0 +105 145 0 +105 146 0 +105 147 0 +105 148 0 +105 149 0 +105 150 0 +105 151 0 +105 152 0 +105 153 0 +105 154 0 +105 155 0 +105 156 0 +105 157 0 +105 158 0 +105 159 0 +105 160 0 +105 161 0 +105 162 0 +105 163 0 +105 164 0 +105 165 0 +105 166 0 +105 167 0 +105 168 0 +105 169 0 +105 170 0 +105 171 0 +105 172 0 +105 173 0 +105 174 0 +105 175 0 +105 176 0 +105 177 0 +105 178 0 +105 179 0 +105 180 0 +105 181 0 +105 182 0 +105 183 0 +105 184 0 +105 185 0 +105 186 0 +105 187 0 +105 188 0 +105 189 0 +105 190 0 +105 191 0 +105 192 0 +105 193 0 +105 194 0 +105 195 0 +105 196 0 +105 197 0 +105 198 0 +105 199 0 +105 200 0 +105 201 0 +105 202 0 +105 203 0 +105 204 0 +105 205 0 +105 206 0 +105 207 0 +105 208 0 +105 209 0 +105 210 0 +105 211 0 +105 212 0 +105 213 0 +105 214 0 +105 215 0 +105 216 0 +105 217 0 +105 218 0 +105 219 0 +105 220 0 +105 221 0 +105 222 0 +105 223 0 +105 224 0 +105 225 0 +105 226 0 +105 227 0 +105 228 0 +105 229 0 +105 230 0 +105 231 0 +105 232 0 +105 233 0 +105 234 0 +105 235 0 +105 236 0 +105 237 0 +105 238 0 +105 239 0 +105 240 0 +105 241 0 +105 242 0 +105 243 0 +105 244 0 +105 245 0 +105 246 0 +105 247 0 +105 248 0 +105 249 0 +105 250 0 +105 251 0 +105 252 0 +105 253 0 +105 254 0 +105 255 0 +105 256 0 +105 257 0 +105 258 0 +105 259 0 +105 260 0 +105 261 0 +105 262 0 +105 263 0 +105 264 0 +105 265 0 +105 266 0 +105 267 0 +105 268 0 +105 269 0 +105 270 0 +105 271 0 +105 272 0 +105 273 0 +105 274 0 +105 275 0 +105 276 0 +105 277 0 +105 278 0 +105 279 0 +105 280 0 +105 281 0 +105 282 0 +105 283 0 +105 284 0 +105 285 0 +105 286 0 +105 287 0 +105 288 0 +105 289 0 +105 290 0 +105 291 0 +105 292 0 +105 293 0 +105 294 0 +105 295 0 +105 296 0 +105 297 0 +105 298 0 +105 299 0 +105 300 0 +105 301 0 +105 302 0 +105 303 0 +105 304 0 +105 305 0 +105 306 0 +105 307 0 +105 308 0 +105 309 0 +105 310 0 +105 311 0 +105 312 0 +105 313 0 +105 314 0 +105 315 0 +105 316 0 +105 317 0 +105 318 0 +105 319 0 +105 320 0 +105 321 0 +105 322 0 +105 323 0 +105 324 0 +105 325 0 +105 326 0 +105 327 0 +105 328 0 +105 329 0 +105 330 0 +105 331 0 +105 332 0 +105 333 0 +105 334 0 +105 335 0 +105 336 0 +105 337 0 +105 338 0 +105 339 0 +105 340 0 +105 341 0 +105 342 0 +105 343 0 +105 344 0 +105 345 0 +105 346 0 +105 347 0 +105 348 0 +105 349 0 +105 350 0 +105 351 0 +105 352 0 +105 353 0 +105 354 0 +105 355 0 +105 356 0 +105 357 0 +105 358 0 +105 359 0 +105 360 0 +105 361 0 +105 362 0 +105 363 0 +105 364 0 +105 365 0 +105 366 0 +105 367 0 +105 368 0 +105 369 0 +105 370 0 +105 371 0 +105 372 0 +105 373 0 +105 374 0 +105 375 0 +105 376 0 +105 377 0 +105 378 0 +105 379 0 +105 380 0 +105 381 0 +105 382 0 +105 383 0 +106 107 0 +106 108 0 +106 109 0 +106 110 0 +106 111 0 +106 112 0 +106 113 0 +106 114 0 +106 115 0 +106 116 0 +106 117 0 +106 118 0 +106 119 0 +106 120 0 +106 121 0 +106 122 0 +106 123 0 +106 124 0 +106 125 0 +106 126 0 +106 127 0 +106 128 0 +106 129 0 +106 130 0 +106 131 0 +106 132 0 +106 133 0 +106 134 0 +106 135 0 +106 136 0 +106 137 0 +106 138 0 +106 139 0 +106 140 0 +106 141 0 +106 142 0 +106 143 0 +106 144 0 +106 145 0 +106 146 0 +106 147 0 +106 148 0 +106 149 0 +106 150 0 +106 151 0 +106 152 0 +106 153 0 +106 154 0 +106 155 0 +106 156 0 +106 157 0 +106 158 0 +106 159 0 +106 160 0 +106 161 0 +106 162 0 +106 163 0 +106 164 0 +106 165 0 +106 166 0 +106 167 0 +106 168 0 +106 169 0 +106 170 0 +106 171 0 +106 172 0 +106 173 0 +106 174 0 +106 175 0 +106 176 0 +106 177 0 +106 178 0 +106 179 0 +106 180 0 +106 181 0 +106 182 0 +106 183 0 +106 184 0 +106 185 0 +106 186 0 +106 187 0 +106 188 0 +106 189 0 +106 190 0 +106 191 0 +106 192 0 +106 193 0 +106 194 0 +106 195 0 +106 196 0 +106 197 0 +106 198 0 +106 199 0 +106 200 0 +106 201 0 +106 202 0 +106 203 0 +106 204 0 +106 205 0 +106 206 0 +106 207 0 +106 208 0 +106 209 0 +106 210 0 +106 211 0 +106 212 0 +106 213 0 +106 214 0 +106 215 0 +106 216 0 +106 217 0 +106 218 0 +106 219 0 +106 220 0 +106 221 0 +106 222 0 +106 223 0 +106 224 0 +106 225 0 +106 226 0 +106 227 0 +106 228 0 +106 229 0 +106 230 0 +106 231 0 +106 232 0 +106 233 0 +106 234 0 +106 235 0 +106 236 0 +106 237 0 +106 238 0 +106 239 0 +106 240 0 +106 241 0 +106 242 0 +106 243 0 +106 244 0 +106 245 0 +106 246 0 +106 247 0 +106 248 0 +106 249 0 +106 250 0 +106 251 0 +106 252 0 +106 253 0 +106 254 0 +106 255 0 +106 256 0 +106 257 0 +106 258 0 +106 259 0 +106 260 0 +106 261 0 +106 262 0 +106 263 0 +106 264 0 +106 265 0 +106 266 0 +106 267 0 +106 268 0 +106 269 0 +106 270 0 +106 271 0 +106 272 0 +106 273 0 +106 274 0 +106 275 0 +106 276 0 +106 277 0 +106 278 0 +106 279 0 +106 280 0 +106 281 0 +106 282 0 +106 283 0 +106 284 0 +106 285 0 +106 286 0 +106 287 0 +106 288 0 +106 289 0 +106 290 0 +106 291 0 +106 292 0 +106 293 0 +106 294 0 +106 295 0 +106 296 0 +106 297 0 +106 298 0 +106 299 0 +106 300 0 +106 301 0 +106 302 0 +106 303 0 +106 304 0 +106 305 0 +106 306 0 +106 307 0 +106 308 0 +106 309 0 +106 310 0 +106 311 0 +106 312 0 +106 313 0 +106 314 0 +106 315 0 +106 316 0 +106 317 0 +106 318 0 +106 319 0 +106 320 0 +106 321 0 +106 322 0 +106 323 0 +106 324 0 +106 325 0 +106 326 0 +106 327 0 +106 328 0 +106 329 0 +106 330 0 +106 331 0 +106 332 0 +106 333 0 +106 334 0 +106 335 0 +106 336 0 +106 337 0 +106 338 0 +106 339 0 +106 340 0 +106 341 0 +106 342 0 +106 343 0 +106 344 0 +106 345 0 +106 346 0 +106 347 0 +106 348 0 +106 349 0 +106 350 0 +106 351 0 +106 352 0 +106 353 0 +106 354 0 +106 355 0 +106 356 0 +106 357 0 +106 358 0 +106 359 0 +106 360 0 +106 361 0 +106 362 0 +106 363 0 +106 364 0 +106 365 0 +106 366 0 +106 367 0 +106 368 0 +106 369 0 +106 370 0 +106 371 0 +106 372 0 +106 373 0 +106 374 0 +106 375 0 +106 376 0 +106 377 0 +106 378 0 +106 379 0 +106 380 0 +106 381 0 +106 382 0 +106 383 0 +107 108 0 +107 109 0 +107 110 0 +107 111 0 +107 112 0 +107 113 0 +107 114 0 +107 115 0 +107 116 0 +107 117 0 +107 118 0 +107 119 0 +107 120 0 +107 121 0 +107 122 0 +107 123 0 +107 124 0 +107 125 0 +107 126 0 +107 127 0 +107 128 0 +107 129 0 +107 130 0 +107 131 0 +107 132 0 +107 133 0 +107 134 0 +107 135 0 +107 136 0 +107 137 0 +107 138 0 +107 139 0 +107 140 0 +107 141 0 +107 142 0 +107 143 0 +107 144 0 +107 145 0 +107 146 0 +107 147 0 +107 148 0 +107 149 0 +107 150 0 +107 151 0 +107 152 0 +107 153 0 +107 154 0 +107 155 0 +107 156 0 +107 157 0 +107 158 0 +107 159 0 +107 160 0 +107 161 0 +107 162 0 +107 163 0 +107 164 0 +107 165 0 +107 166 0 +107 167 0 +107 168 0 +107 169 0 +107 170 0 +107 171 0 +107 172 0 +107 173 0 +107 174 0 +107 175 0 +107 176 0 +107 177 0 +107 178 0 +107 179 0 +107 180 0 +107 181 0 +107 182 0 +107 183 0 +107 184 0 +107 185 0 +107 186 0 +107 187 0 +107 188 0 +107 189 0 +107 190 0 +107 191 0 +107 192 0 +107 193 0 +107 194 0 +107 195 0 +107 196 0 +107 197 0 +107 198 0 +107 199 0 +107 200 0 +107 201 0 +107 202 0 +107 203 0 +107 204 0 +107 205 0 +107 206 0 +107 207 0 +107 208 0 +107 209 0 +107 210 0 +107 211 0 +107 212 0 +107 213 0 +107 214 0 +107 215 0 +107 216 0 +107 217 0 +107 218 0 +107 219 0 +107 220 0 +107 221 0 +107 222 0 +107 223 0 +107 224 0 +107 225 0 +107 226 0 +107 227 0 +107 228 0 +107 229 0 +107 230 0 +107 231 0 +107 232 0 +107 233 0 +107 234 0 +107 235 0 +107 236 0 +107 237 0 +107 238 0 +107 239 0 +107 240 0 +107 241 0 +107 242 0 +107 243 0 +107 244 0 +107 245 0 +107 246 0 +107 247 0 +107 248 0 +107 249 0 +107 250 0 +107 251 0 +107 252 0 +107 253 0 +107 254 0 +107 255 0 +107 256 0 +107 257 0 +107 258 0 +107 259 0 +107 260 0 +107 261 0 +107 262 0 +107 263 0 +107 264 0 +107 265 0 +107 266 0 +107 267 0 +107 268 0 +107 269 0 +107 270 0 +107 271 0 +107 272 0 +107 273 0 +107 274 0 +107 275 0 +107 276 0 +107 277 0 +107 278 0 +107 279 0 +107 280 0 +107 281 0 +107 282 0 +107 283 0 +107 284 0 +107 285 0 +107 286 0 +107 287 0 +107 288 0 +107 289 0 +107 290 0 +107 291 0 +107 292 0 +107 293 0 +107 294 0 +107 295 0 +107 296 0 +107 297 0 +107 298 0 +107 299 0 +107 300 0 +107 301 0 +107 302 0 +107 303 0 +107 304 0 +107 305 0 +107 306 0 +107 307 0 +107 308 0 +107 309 0 +107 310 0 +107 311 0 +107 312 0 +107 313 0 +107 314 0 +107 315 0 +107 316 0 +107 317 0 +107 318 0 +107 319 0 +107 320 0 +107 321 0 +107 322 0 +107 323 0 +107 324 0 +107 325 0 +107 326 0 +107 327 0 +107 328 0 +107 329 0 +107 330 0 +107 331 0 +107 332 0 +107 333 0 +107 334 0 +107 335 0 +107 336 0 +107 337 0 +107 338 0 +107 339 0 +107 340 0 +107 341 0 +107 342 0 +107 343 0 +107 344 0 +107 345 0 +107 346 0 +107 347 0 +107 348 0 +107 349 0 +107 350 0 +107 351 0 +107 352 0 +107 353 0 +107 354 0 +107 355 0 +107 356 0 +107 357 0 +107 358 0 +107 359 0 +107 360 0 +107 361 0 +107 362 0 +107 363 0 +107 364 0 +107 365 0 +107 366 0 +107 367 0 +107 368 0 +107 369 0 +107 370 0 +107 371 0 +107 372 0 +107 373 0 +107 374 0 +107 375 0 +107 376 0 +107 377 0 +107 378 0 +107 379 0 +107 380 0 +107 381 0 +107 382 0 +107 383 0 +108 109 0 +108 110 0 +108 111 0 +108 112 0 +108 113 0 +108 114 0 +108 115 0 +108 116 0 +108 117 0 +108 118 0 +108 119 0 +108 120 0 +108 121 0 +108 122 0 +108 123 0 +108 124 0 +108 125 0 +108 126 0 +108 127 0 +108 128 0 +108 129 0 +108 130 0 +108 131 0 +108 132 0 +108 133 0 +108 134 0 +108 135 0 +108 136 0 +108 137 0 +108 138 0 +108 139 0 +108 140 0 +108 141 0 +108 142 0 +108 143 0 +108 144 0 +108 145 0 +108 146 0 +108 147 0 +108 148 0 +108 149 0 +108 150 0 +108 151 0 +108 152 0 +108 153 0 +108 154 0 +108 155 0 +108 156 0 +108 157 0 +108 158 0 +108 159 0 +108 160 0 +108 161 0 +108 162 0 +108 163 0 +108 164 0 +108 165 0 +108 166 0 +108 167 0 +108 168 0 +108 169 0 +108 170 0 +108 171 0 +108 172 0 +108 173 0 +108 174 0 +108 175 0 +108 176 0 +108 177 0 +108 178 0 +108 179 0 +108 180 0 +108 181 0 +108 182 0 +108 183 0 +108 184 0 +108 185 0 +108 186 0 +108 187 0 +108 188 0 +108 189 0 +108 190 0 +108 191 0 +108 192 0 +108 193 0 +108 194 0 +108 195 0 +108 196 0 +108 197 0 +108 198 0 +108 199 0 +108 200 0 +108 201 0 +108 202 0 +108 203 0 +108 204 0 +108 205 0 +108 206 0 +108 207 0 +108 208 0 +108 209 0 +108 210 0 +108 211 0 +108 212 0 +108 213 0 +108 214 0 +108 215 0 +108 216 0 +108 217 0 +108 218 0 +108 219 0 +108 220 0 +108 221 0 +108 222 0 +108 223 0 +108 224 0 +108 225 0 +108 226 0 +108 227 0 +108 228 0 +108 229 0 +108 230 0 +108 231 0 +108 232 0 +108 233 0 +108 234 0 +108 235 0 +108 236 0 +108 237 0 +108 238 0 +108 239 0 +108 240 0 +108 241 0 +108 242 0 +108 243 0 +108 244 0 +108 245 0 +108 246 0 +108 247 0 +108 248 0 +108 249 0 +108 250 0 +108 251 0 +108 252 0 +108 253 0 +108 254 0 +108 255 0 +108 256 0 +108 257 0 +108 258 0 +108 259 0 +108 260 0 +108 261 0 +108 262 0 +108 263 0 +108 264 0 +108 265 0 +108 266 0 +108 267 0 +108 268 0 +108 269 0 +108 270 0 +108 271 0 +108 272 0 +108 273 0 +108 274 0 +108 275 0 +108 276 0 +108 277 0 +108 278 0 +108 279 0 +108 280 0 +108 281 0 +108 282 0 +108 283 0 +108 284 0 +108 285 0 +108 286 0 +108 287 0 +108 288 0 +108 289 0 +108 290 0 +108 291 0 +108 292 0 +108 293 0 +108 294 0 +108 295 0 +108 296 0 +108 297 0 +108 298 0 +108 299 0 +108 300 0 +108 301 0 +108 302 0 +108 303 0 +108 304 0 +108 305 0 +108 306 0 +108 307 0 +108 308 0 +108 309 0 +108 310 0 +108 311 0 +108 312 0 +108 313 0 +108 314 0 +108 315 0 +108 316 0 +108 317 0 +108 318 0 +108 319 0 +108 320 0 +108 321 0 +108 322 0 +108 323 0 +108 324 0 +108 325 0 +108 326 0 +108 327 0 +108 328 0 +108 329 0 +108 330 0 +108 331 0 +108 332 0 +108 333 0 +108 334 0 +108 335 0 +108 336 0 +108 337 0 +108 338 0 +108 339 0 +108 340 0 +108 341 0 +108 342 0 +108 343 0 +108 344 0 +108 345 0 +108 346 0 +108 347 0 +108 348 0 +108 349 0 +108 350 0 +108 351 0 +108 352 0 +108 353 0 +108 354 0 +108 355 0 +108 356 0 +108 357 0 +108 358 0 +108 359 0 +108 360 0 +108 361 0 +108 362 0 +108 363 0 +108 364 0 +108 365 0 +108 366 0 +108 367 0 +108 368 0 +108 369 0 +108 370 0 +108 371 0 +108 372 0 +108 373 0 +108 374 0 +108 375 0 +108 376 0 +108 377 0 +108 378 0 +108 379 0 +108 380 0 +108 381 0 +108 382 0 +108 383 0 +109 110 0 +109 111 0 +109 112 0 +109 113 0 +109 114 0 +109 115 0 +109 116 0 +109 117 0 +109 118 0 +109 119 0 +109 120 0 +109 121 0 +109 122 0 +109 123 0 +109 124 0 +109 125 0 +109 126 0 +109 127 0 +109 128 0 +109 129 0 +109 130 0 +109 131 0 +109 132 0 +109 133 0 +109 134 0 +109 135 0 +109 136 0 +109 137 0 +109 138 0 +109 139 0 +109 140 0 +109 141 0 +109 142 0 +109 143 0 +109 144 0 +109 145 0 +109 146 0 +109 147 0 +109 148 0 +109 149 0 +109 150 0 +109 151 0 +109 152 0 +109 153 0 +109 154 0 +109 155 0 +109 156 0 +109 157 0 +109 158 0 +109 159 0 +109 160 0 +109 161 0 +109 162 0 +109 163 0 +109 164 0 +109 165 0 +109 166 0 +109 167 0 +109 168 0 +109 169 0 +109 170 0 +109 171 0 +109 172 0 +109 173 0 +109 174 0 +109 175 0 +109 176 0 +109 177 0 +109 178 0 +109 179 0 +109 180 0 +109 181 0 +109 182 0 +109 183 0 +109 184 0 +109 185 0 +109 186 0 +109 187 0 +109 188 0 +109 189 0 +109 190 0 +109 191 0 +109 192 0 +109 193 0 +109 194 0 +109 195 0 +109 196 0 +109 197 0 +109 198 0 +109 199 0 +109 200 0 +109 201 0 +109 202 0 +109 203 0 +109 204 0 +109 205 0 +109 206 0 +109 207 0 +109 208 0 +109 209 0 +109 210 0 +109 211 0 +109 212 0 +109 213 0 +109 214 0 +109 215 0 +109 216 0 +109 217 0 +109 218 0 +109 219 0 +109 220 0 +109 221 0 +109 222 0 +109 223 0 +109 224 0 +109 225 0 +109 226 0 +109 227 0 +109 228 0 +109 229 0 +109 230 0 +109 231 0 +109 232 0 +109 233 0 +109 234 0 +109 235 0 +109 236 0 +109 237 0 +109 238 0 +109 239 0 +109 240 0 +109 241 0 +109 242 0 +109 243 0 +109 244 0 +109 245 0 +109 246 0 +109 247 0 +109 248 0 +109 249 0 +109 250 0 +109 251 0 +109 252 0 +109 253 0 +109 254 0 +109 255 0 +109 256 0 +109 257 0 +109 258 0 +109 259 0 +109 260 0 +109 261 0 +109 262 0 +109 263 0 +109 264 0 +109 265 0 +109 266 0 +109 267 0 +109 268 0 +109 269 0 +109 270 0 +109 271 0 +109 272 0 +109 273 0 +109 274 0 +109 275 0 +109 276 0 +109 277 0 +109 278 0 +109 279 0 +109 280 0 +109 281 0 +109 282 0 +109 283 0 +109 284 0 +109 285 0 +109 286 0 +109 287 0 +109 288 0 +109 289 0 +109 290 0 +109 291 0 +109 292 0 +109 293 0 +109 294 0 +109 295 0 +109 296 0 +109 297 0 +109 298 0 +109 299 0 +109 300 0 +109 301 0 +109 302 0 +109 303 0 +109 304 0 +109 305 0 +109 306 0 +109 307 0 +109 308 0 +109 309 0 +109 310 0 +109 311 0 +109 312 0 +109 313 0 +109 314 0 +109 315 0 +109 316 0 +109 317 0 +109 318 0 +109 319 0 +109 320 0 +109 321 0 +109 322 0 +109 323 0 +109 324 0 +109 325 0 +109 326 0 +109 327 0 +109 328 0 +109 329 0 +109 330 0 +109 331 0 +109 332 0 +109 333 0 +109 334 0 +109 335 0 +109 336 0 +109 337 0 +109 338 0 +109 339 0 +109 340 0 +109 341 0 +109 342 0 +109 343 0 +109 344 0 +109 345 0 +109 346 0 +109 347 0 +109 348 0 +109 349 0 +109 350 0 +109 351 0 +109 352 0 +109 353 0 +109 354 0 +109 355 0 +109 356 0 +109 357 0 +109 358 0 +109 359 0 +109 360 0 +109 361 0 +109 362 0 +109 363 0 +109 364 0 +109 365 0 +109 366 0 +109 367 0 +109 368 0 +109 369 0 +109 370 0 +109 371 0 +109 372 0 +109 373 0 +109 374 0 +109 375 0 +109 376 0 +109 377 0 +109 378 0 +109 379 0 +109 380 0 +109 381 0 +109 382 0 +109 383 0 +110 111 0 +110 112 0 +110 113 0 +110 114 0 +110 115 0 +110 116 0 +110 117 0 +110 118 0 +110 119 0 +110 120 0 +110 121 0 +110 122 0 +110 123 0 +110 124 0 +110 125 0 +110 126 0 +110 127 0 +110 128 0 +110 129 0 +110 130 0 +110 131 0 +110 132 0 +110 133 0 +110 134 0 +110 135 0 +110 136 0 +110 137 0 +110 138 0 +110 139 0 +110 140 0 +110 141 0 +110 142 0 +110 143 0 +110 144 0 +110 145 0 +110 146 0 +110 147 0 +110 148 0 +110 149 0 +110 150 0 +110 151 0 +110 152 0 +110 153 0 +110 154 0 +110 155 0 +110 156 0 +110 157 0 +110 158 0 +110 159 0 +110 160 0 +110 161 0 +110 162 0 +110 163 0 +110 164 0 +110 165 0 +110 166 0 +110 167 0 +110 168 0 +110 169 0 +110 170 0 +110 171 0 +110 172 0 +110 173 0 +110 174 0 +110 175 0 +110 176 0 +110 177 0 +110 178 0 +110 179 0 +110 180 0 +110 181 0 +110 182 0 +110 183 0 +110 184 0 +110 185 0 +110 186 0 +110 187 0 +110 188 0 +110 189 0 +110 190 0 +110 191 0 +110 192 0 +110 193 0 +110 194 0 +110 195 0 +110 196 0 +110 197 0 +110 198 0 +110 199 0 +110 200 0 +110 201 0 +110 202 0 +110 203 0 +110 204 0 +110 205 0 +110 206 0 +110 207 0 +110 208 0 +110 209 0 +110 210 0 +110 211 0 +110 212 0 +110 213 0 +110 214 0 +110 215 0 +110 216 0 +110 217 0 +110 218 0 +110 219 0 +110 220 0 +110 221 0 +110 222 0 +110 223 0 +110 224 0 +110 225 0 +110 226 0 +110 227 0 +110 228 0 +110 229 0 +110 230 0 +110 231 0 +110 232 0 +110 233 0 +110 234 0 +110 235 0 +110 236 0 +110 237 0 +110 238 0 +110 239 0 +110 240 0 +110 241 0 +110 242 0 +110 243 0 +110 244 0 +110 245 0 +110 246 0 +110 247 0 +110 248 0 +110 249 0 +110 250 0 +110 251 0 +110 252 0 +110 253 0 +110 254 0 +110 255 0 +110 256 0 +110 257 0 +110 258 0 +110 259 0 +110 260 0 +110 261 0 +110 262 0 +110 263 0 +110 264 0 +110 265 0 +110 266 0 +110 267 0 +110 268 0 +110 269 0 +110 270 0 +110 271 0 +110 272 0 +110 273 0 +110 274 0 +110 275 0 +110 276 0 +110 277 0 +110 278 0 +110 279 0 +110 280 0 +110 281 0 +110 282 0 +110 283 0 +110 284 0 +110 285 0 +110 286 0 +110 287 0 +110 288 0 +110 289 0 +110 290 0 +110 291 0 +110 292 0 +110 293 0 +110 294 0 +110 295 0 +110 296 0 +110 297 0 +110 298 0 +110 299 0 +110 300 0 +110 301 0 +110 302 0 +110 303 0 +110 304 0 +110 305 0 +110 306 0 +110 307 0 +110 308 0 +110 309 0 +110 310 0 +110 311 0 +110 312 0 +110 313 0 +110 314 0 +110 315 0 +110 316 0 +110 317 0 +110 318 0 +110 319 0 +110 320 0 +110 321 0 +110 322 0 +110 323 0 +110 324 0 +110 325 0 +110 326 0 +110 327 0 +110 328 0 +110 329 0 +110 330 0 +110 331 0 +110 332 0 +110 333 0 +110 334 0 +110 335 0 +110 336 0 +110 337 0 +110 338 0 +110 339 0 +110 340 0 +110 341 0 +110 342 0 +110 343 0 +110 344 0 +110 345 0 +110 346 0 +110 347 0 +110 348 0 +110 349 0 +110 350 0 +110 351 0 +110 352 0 +110 353 0 +110 354 0 +110 355 0 +110 356 0 +110 357 0 +110 358 0 +110 359 0 +110 360 0 +110 361 0 +110 362 0 +110 363 0 +110 364 0 +110 365 0 +110 366 0 +110 367 0 +110 368 0 +110 369 0 +110 370 0 +110 371 0 +110 372 0 +110 373 0 +110 374 0 +110 375 0 +110 376 0 +110 377 0 +110 378 0 +110 379 0 +110 380 0 +110 381 0 +110 382 0 +110 383 0 +111 112 0 +111 113 0 +111 114 0 +111 115 0 +111 116 0 +111 117 0 +111 118 0 +111 119 0 +111 120 0 +111 121 0 +111 122 0 +111 123 0 +111 124 0 +111 125 0 +111 126 0 +111 127 0 +111 128 0 +111 129 0 +111 130 0 +111 131 0 +111 132 0 +111 133 0 +111 134 0 +111 135 0 +111 136 0 +111 137 0 +111 138 0 +111 139 0 +111 140 0 +111 141 0 +111 142 0 +111 143 0 +111 144 0 +111 145 0 +111 146 0 +111 147 0 +111 148 0 +111 149 0 +111 150 0 +111 151 0 +111 152 0 +111 153 0 +111 154 0 +111 155 0 +111 156 0 +111 157 0 +111 158 0 +111 159 0 +111 160 0 +111 161 0 +111 162 0 +111 163 0 +111 164 0 +111 165 0 +111 166 0 +111 167 0 +111 168 0 +111 169 0 +111 170 0 +111 171 0 +111 172 0 +111 173 0 +111 174 0 +111 175 0 +111 176 0 +111 177 0 +111 178 0 +111 179 0 +111 180 0 +111 181 0 +111 182 0 +111 183 0 +111 184 0 +111 185 0 +111 186 0 +111 187 0 +111 188 0 +111 189 0 +111 190 0 +111 191 0 +111 192 0 +111 193 0 +111 194 0 +111 195 0 +111 196 0 +111 197 0 +111 198 0 +111 199 0 +111 200 0 +111 201 0 +111 202 0 +111 203 0 +111 204 0 +111 205 0 +111 206 0 +111 207 0 +111 208 0 +111 209 0 +111 210 0 +111 211 0 +111 212 0 +111 213 0 +111 214 0 +111 215 0 +111 216 0 +111 217 0 +111 218 0 +111 219 0 +111 220 0 +111 221 0 +111 222 0 +111 223 0 +111 224 0 +111 225 0 +111 226 0 +111 227 0 +111 228 0 +111 229 0 +111 230 0 +111 231 0 +111 232 0 +111 233 0 +111 234 0 +111 235 0 +111 236 0 +111 237 0 +111 238 0 +111 239 0 +111 240 0 +111 241 0 +111 242 0 +111 243 0 +111 244 0 +111 245 0 +111 246 0 +111 247 0 +111 248 0 +111 249 0 +111 250 0 +111 251 0 +111 252 0 +111 253 0 +111 254 0 +111 255 0 +111 256 0 +111 257 0 +111 258 0 +111 259 0 +111 260 0 +111 261 0 +111 262 0 +111 263 0 +111 264 0 +111 265 0 +111 266 0 +111 267 0 +111 268 0 +111 269 0 +111 270 0 +111 271 0 +111 272 0 +111 273 0 +111 274 0 +111 275 0 +111 276 0 +111 277 0 +111 278 0 +111 279 0 +111 280 0 +111 281 0 +111 282 0 +111 283 0 +111 284 0 +111 285 0 +111 286 0 +111 287 0 +111 288 0 +111 289 0 +111 290 0 +111 291 0 +111 292 0 +111 293 0 +111 294 0 +111 295 0 +111 296 0 +111 297 0 +111 298 0 +111 299 0 +111 300 0 +111 301 0 +111 302 0 +111 303 0 +111 304 0 +111 305 0 +111 306 0 +111 307 0 +111 308 0 +111 309 0 +111 310 0 +111 311 0 +111 312 0 +111 313 0 +111 314 0 +111 315 0 +111 316 0 +111 317 0 +111 318 0 +111 319 0 +111 320 0 +111 321 0 +111 322 0 +111 323 0 +111 324 0 +111 325 0 +111 326 0 +111 327 0 +111 328 0 +111 329 0 +111 330 0 +111 331 0 +111 332 0 +111 333 0 +111 334 0 +111 335 0 +111 336 0 +111 337 0 +111 338 0 +111 339 0 +111 340 0 +111 341 0 +111 342 0 +111 343 0 +111 344 0 +111 345 0 +111 346 0 +111 347 0 +111 348 0 +111 349 0 +111 350 0 +111 351 0 +111 352 0 +111 353 0 +111 354 0 +111 355 0 +111 356 0 +111 357 0 +111 358 0 +111 359 0 +111 360 0 +111 361 0 +111 362 0 +111 363 0 +111 364 0 +111 365 0 +111 366 0 +111 367 0 +111 368 0 +111 369 0 +111 370 0 +111 371 0 +111 372 0 +111 373 0 +111 374 0 +111 375 0 +111 376 0 +111 377 0 +111 378 0 +111 379 0 +111 380 0 +111 381 0 +111 382 0 +111 383 0 +112 113 0 +112 114 0 +112 115 0 +112 116 0 +112 117 0 +112 118 0 +112 119 0 +112 120 0 +112 121 0 +112 122 0 +112 123 0 +112 124 0 +112 125 0 +112 126 0 +112 127 0 +112 128 0 +112 129 0 +112 130 0 +112 131 0 +112 132 0 +112 133 0 +112 134 0 +112 135 0 +112 136 0 +112 137 0 +112 138 0 +112 139 0 +112 140 0 +112 141 0 +112 142 0 +112 143 0 +112 144 0 +112 145 0 +112 146 0 +112 147 0 +112 148 0 +112 149 0 +112 150 0 +112 151 0 +112 152 0 +112 153 0 +112 154 0 +112 155 0 +112 156 0 +112 157 0 +112 158 0 +112 159 0 +112 160 0 +112 161 0 +112 162 0 +112 163 0 +112 164 0 +112 165 0 +112 166 0 +112 167 0 +112 168 0 +112 169 0 +112 170 0 +112 171 0 +112 172 0 +112 173 0 +112 174 0 +112 175 0 +112 176 0 +112 177 0 +112 178 0 +112 179 0 +112 180 0 +112 181 0 +112 182 0 +112 183 0 +112 184 0 +112 185 0 +112 186 0 +112 187 0 +112 188 0 +112 189 0 +112 190 0 +112 191 0 +112 192 0 +112 193 0 +112 194 0 +112 195 0 +112 196 0 +112 197 0 +112 198 0 +112 199 0 +112 200 0 +112 201 0 +112 202 0 +112 203 0 +112 204 0 +112 205 0 +112 206 0 +112 207 0 +112 208 0 +112 209 0 +112 210 0 +112 211 0 +112 212 0 +112 213 0 +112 214 0 +112 215 0 +112 216 0 +112 217 0 +112 218 0 +112 219 0 +112 220 0 +112 221 0 +112 222 0 +112 223 0 +112 224 0 +112 225 0 +112 226 0 +112 227 0 +112 228 0 +112 229 0 +112 230 0 +112 231 0 +112 232 0 +112 233 0 +112 234 0 +112 235 0 +112 236 0 +112 237 0 +112 238 0 +112 239 0 +112 240 0 +112 241 0 +112 242 0 +112 243 0 +112 244 0 +112 245 0 +112 246 0 +112 247 0 +112 248 0 +112 249 0 +112 250 0 +112 251 0 +112 252 0 +112 253 0 +112 254 0 +112 255 0 +112 256 0 +112 257 0 +112 258 0 +112 259 0 +112 260 0 +112 261 0 +112 262 0 +112 263 0 +112 264 0 +112 265 0 +112 266 0 +112 267 0 +112 268 0 +112 269 0 +112 270 0 +112 271 0 +112 272 0 +112 273 0 +112 274 0 +112 275 0 +112 276 0 +112 277 0 +112 278 0 +112 279 0 +112 280 0 +112 281 0 +112 282 0 +112 283 0 +112 284 0 +112 285 0 +112 286 0 +112 287 0 +112 288 0 +112 289 0 +112 290 0 +112 291 0 +112 292 0 +112 293 0 +112 294 0 +112 295 0 +112 296 0 +112 297 0 +112 298 0 +112 299 0 +112 300 0 +112 301 0 +112 302 0 +112 303 0 +112 304 0 +112 305 0 +112 306 0 +112 307 0 +112 308 0 +112 309 0 +112 310 0 +112 311 0 +112 312 0 +112 313 0 +112 314 0 +112 315 0 +112 316 0 +112 317 0 +112 318 0 +112 319 0 +112 320 0 +112 321 0 +112 322 0 +112 323 0 +112 324 0 +112 325 0 +112 326 0 +112 327 0 +112 328 0 +112 329 0 +112 330 0 +112 331 0 +112 332 0 +112 333 0 +112 334 0 +112 335 0 +112 336 0 +112 337 0 +112 338 0 +112 339 0 +112 340 0 +112 341 0 +112 342 0 +112 343 0 +112 344 0 +112 345 0 +112 346 0 +112 347 0 +112 348 0 +112 349 0 +112 350 0 +112 351 0 +112 352 0 +112 353 0 +112 354 0 +112 355 0 +112 356 0 +112 357 0 +112 358 0 +112 359 0 +112 360 0 +112 361 0 +112 362 0 +112 363 0 +112 364 0 +112 365 0 +112 366 0 +112 367 0 +112 368 0 +112 369 0 +112 370 0 +112 371 0 +112 372 0 +112 373 0 +112 374 0 +112 375 0 +112 376 0 +112 377 0 +112 378 0 +112 379 0 +112 380 0 +112 381 0 +112 382 0 +112 383 0 +113 114 0 +113 115 0 +113 116 0 +113 117 0 +113 118 0 +113 119 0 +113 120 0 +113 121 0 +113 122 0 +113 123 0 +113 124 0 +113 125 0 +113 126 0 +113 127 0 +113 128 0 +113 129 0 +113 130 0 +113 131 0 +113 132 0 +113 133 0 +113 134 0 +113 135 0 +113 136 0 +113 137 0 +113 138 0 +113 139 0 +113 140 0 +113 141 0 +113 142 0 +113 143 0 +113 144 0 +113 145 0 +113 146 0 +113 147 0 +113 148 0 +113 149 0 +113 150 0 +113 151 0 +113 152 0 +113 153 0 +113 154 0 +113 155 0 +113 156 0 +113 157 0 +113 158 0 +113 159 0 +113 160 0 +113 161 0 +113 162 0 +113 163 0 +113 164 0 +113 165 0 +113 166 0 +113 167 0 +113 168 0 +113 169 0 +113 170 0 +113 171 0 +113 172 0 +113 173 0 +113 174 0 +113 175 0 +113 176 0 +113 177 0 +113 178 0 +113 179 0 +113 180 0 +113 181 0 +113 182 0 +113 183 0 +113 184 0 +113 185 0 +113 186 0 +113 187 0 +113 188 0 +113 189 0 +113 190 0 +113 191 0 +113 192 0 +113 193 0 +113 194 0 +113 195 0 +113 196 0 +113 197 0 +113 198 0 +113 199 0 +113 200 0 +113 201 0 +113 202 0 +113 203 0 +113 204 0 +113 205 0 +113 206 0 +113 207 0 +113 208 0 +113 209 0 +113 210 0 +113 211 0 +113 212 0 +113 213 0 +113 214 0 +113 215 0 +113 216 0 +113 217 0 +113 218 0 +113 219 0 +113 220 0 +113 221 0 +113 222 0 +113 223 0 +113 224 0 +113 225 0 +113 226 0 +113 227 0 +113 228 0 +113 229 0 +113 230 0 +113 231 0 +113 232 0 +113 233 0 +113 234 0 +113 235 0 +113 236 0 +113 237 0 +113 238 0 +113 239 0 +113 240 0 +113 241 0 +113 242 0 +113 243 0 +113 244 0 +113 245 0 +113 246 0 +113 247 0 +113 248 0 +113 249 0 +113 250 0 +113 251 0 +113 252 0 +113 253 0 +113 254 0 +113 255 0 +113 256 0 +113 257 0 +113 258 0 +113 259 0 +113 260 0 +113 261 0 +113 262 0 +113 263 0 +113 264 0 +113 265 0 +113 266 0 +113 267 0 +113 268 0 +113 269 0 +113 270 0 +113 271 0 +113 272 0 +113 273 0 +113 274 0 +113 275 0 +113 276 0 +113 277 0 +113 278 0 +113 279 0 +113 280 0 +113 281 0 +113 282 0 +113 283 0 +113 284 0 +113 285 0 +113 286 0 +113 287 0 +113 288 0 +113 289 0 +113 290 0 +113 291 0 +113 292 0 +113 293 0 +113 294 0 +113 295 0 +113 296 0 +113 297 0 +113 298 0 +113 299 0 +113 300 0 +113 301 0 +113 302 0 +113 303 0 +113 304 0 +113 305 0 +113 306 0 +113 307 0 +113 308 0 +113 309 0 +113 310 0 +113 311 0 +113 312 0 +113 313 0 +113 314 0 +113 315 0 +113 316 0 +113 317 0 +113 318 0 +113 319 0 +113 320 0 +113 321 0 +113 322 0 +113 323 0 +113 324 0 +113 325 0 +113 326 0 +113 327 0 +113 328 0 +113 329 0 +113 330 0 +113 331 0 +113 332 0 +113 333 0 +113 334 0 +113 335 0 +113 336 0 +113 337 0 +113 338 0 +113 339 0 +113 340 0 +113 341 0 +113 342 0 +113 343 0 +113 344 0 +113 345 0 +113 346 0 +113 347 0 +113 348 0 +113 349 0 +113 350 0 +113 351 0 +113 352 0 +113 353 0 +113 354 0 +113 355 0 +113 356 0 +113 357 0 +113 358 0 +113 359 0 +113 360 0 +113 361 0 +113 362 0 +113 363 0 +113 364 0 +113 365 0 +113 366 0 +113 367 0 +113 368 0 +113 369 0 +113 370 0 +113 371 0 +113 372 0 +113 373 0 +113 374 0 +113 375 0 +113 376 0 +113 377 0 +113 378 0 +113 379 0 +113 380 0 +113 381 0 +113 382 0 +113 383 0 +114 115 0 +114 116 0 +114 117 0 +114 118 0 +114 119 0 +114 120 0 +114 121 0 +114 122 0 +114 123 0 +114 124 0 +114 125 0 +114 126 0 +114 127 0 +114 128 0 +114 129 0 +114 130 0 +114 131 0 +114 132 0 +114 133 0 +114 134 0 +114 135 0 +114 136 0 +114 137 0 +114 138 0 +114 139 0 +114 140 0 +114 141 0 +114 142 0 +114 143 0 +114 144 0 +114 145 0 +114 146 0 +114 147 0 +114 148 0 +114 149 0 +114 150 0 +114 151 0 +114 152 0 +114 153 0 +114 154 0 +114 155 0 +114 156 0 +114 157 0 +114 158 0 +114 159 0 +114 160 0 +114 161 0 +114 162 0 +114 163 0 +114 164 0 +114 165 0 +114 166 0 +114 167 0 +114 168 0 +114 169 0 +114 170 0 +114 171 0 +114 172 0 +114 173 0 +114 174 0 +114 175 0 +114 176 0 +114 177 0 +114 178 0 +114 179 0 +114 180 0 +114 181 0 +114 182 0 +114 183 0 +114 184 0 +114 185 0 +114 186 0 +114 187 0 +114 188 0 +114 189 0 +114 190 0 +114 191 0 +114 192 0 +114 193 0 +114 194 0 +114 195 0 +114 196 0 +114 197 0 +114 198 0 +114 199 0 +114 200 0 +114 201 0 +114 202 0 +114 203 0 +114 204 0 +114 205 0 +114 206 0 +114 207 0 +114 208 0 +114 209 0 +114 210 0 +114 211 0 +114 212 0 +114 213 0 +114 214 0 +114 215 0 +114 216 0 +114 217 0 +114 218 0 +114 219 0 +114 220 0 +114 221 0 +114 222 0 +114 223 0 +114 224 0 +114 225 0 +114 226 0 +114 227 0 +114 228 0 +114 229 0 +114 230 0 +114 231 0 +114 232 0 +114 233 0 +114 234 0 +114 235 0 +114 236 0 +114 237 0 +114 238 0 +114 239 0 +114 240 0 +114 241 0 +114 242 0 +114 243 0 +114 244 0 +114 245 0 +114 246 0 +114 247 0 +114 248 0 +114 249 0 +114 250 0 +114 251 0 +114 252 0 +114 253 0 +114 254 0 +114 255 0 +114 256 0 +114 257 0 +114 258 0 +114 259 0 +114 260 0 +114 261 0 +114 262 0 +114 263 0 +114 264 0 +114 265 0 +114 266 0 +114 267 0 +114 268 0 +114 269 0 +114 270 0 +114 271 0 +114 272 0 +114 273 0 +114 274 0 +114 275 0 +114 276 0 +114 277 0 +114 278 0 +114 279 0 +114 280 0 +114 281 0 +114 282 0 +114 283 0 +114 284 0 +114 285 0 +114 286 0 +114 287 0 +114 288 0 +114 289 0 +114 290 0 +114 291 0 +114 292 0 +114 293 0 +114 294 0 +114 295 0 +114 296 0 +114 297 0 +114 298 0 +114 299 0 +114 300 0 +114 301 0 +114 302 0 +114 303 0 +114 304 0 +114 305 0 +114 306 0 +114 307 0 +114 308 0 +114 309 0 +114 310 0 +114 311 0 +114 312 0 +114 313 0 +114 314 0 +114 315 0 +114 316 0 +114 317 0 +114 318 0 +114 319 0 +114 320 0 +114 321 0 +114 322 0 +114 323 0 +114 324 0 +114 325 0 +114 326 0 +114 327 0 +114 328 0 +114 329 0 +114 330 0 +114 331 0 +114 332 0 +114 333 0 +114 334 0 +114 335 0 +114 336 0 +114 337 0 +114 338 0 +114 339 0 +114 340 0 +114 341 0 +114 342 0 +114 343 0 +114 344 0 +114 345 0 +114 346 0 +114 347 0 +114 348 0 +114 349 0 +114 350 0 +114 351 0 +114 352 0 +114 353 0 +114 354 0 +114 355 0 +114 356 0 +114 357 0 +114 358 0 +114 359 0 +114 360 0 +114 361 0 +114 362 0 +114 363 0 +114 364 0 +114 365 0 +114 366 0 +114 367 0 +114 368 0 +114 369 0 +114 370 0 +114 371 0 +114 372 0 +114 373 0 +114 374 0 +114 375 0 +114 376 0 +114 377 0 +114 378 0 +114 379 0 +114 380 0 +114 381 0 +114 382 0 +114 383 0 +115 116 0 +115 117 0 +115 118 0 +115 119 0 +115 120 0 +115 121 0 +115 122 0 +115 123 0 +115 124 0 +115 125 0 +115 126 0 +115 127 0 +115 128 0 +115 129 0 +115 130 0 +115 131 0 +115 132 0 +115 133 0 +115 134 0 +115 135 0 +115 136 0 +115 137 0 +115 138 0 +115 139 0 +115 140 0 +115 141 0 +115 142 0 +115 143 0 +115 144 0 +115 145 0 +115 146 0 +115 147 0 +115 148 0 +115 149 0 +115 150 0 +115 151 0 +115 152 0 +115 153 0 +115 154 0 +115 155 0 +115 156 0 +115 157 0 +115 158 0 +115 159 0 +115 160 0 +115 161 0 +115 162 0 +115 163 0 +115 164 0 +115 165 0 +115 166 0 +115 167 0 +115 168 0 +115 169 0 +115 170 0 +115 171 0 +115 172 0 +115 173 0 +115 174 0 +115 175 0 +115 176 0 +115 177 0 +115 178 0 +115 179 0 +115 180 0 +115 181 0 +115 182 0 +115 183 0 +115 184 0 +115 185 0 +115 186 0 +115 187 0 +115 188 0 +115 189 0 +115 190 0 +115 191 0 +115 192 0 +115 193 0 +115 194 0 +115 195 0 +115 196 0 +115 197 0 +115 198 0 +115 199 0 +115 200 0 +115 201 0 +115 202 0 +115 203 0 +115 204 0 +115 205 0 +115 206 0 +115 207 0 +115 208 0 +115 209 0 +115 210 0 +115 211 0 +115 212 0 +115 213 0 +115 214 0 +115 215 0 +115 216 0 +115 217 0 +115 218 0 +115 219 0 +115 220 0 +115 221 0 +115 222 0 +115 223 0 +115 224 0 +115 225 0 +115 226 0 +115 227 0 +115 228 0 +115 229 0 +115 230 0 +115 231 0 +115 232 0 +115 233 0 +115 234 0 +115 235 0 +115 236 0 +115 237 0 +115 238 0 +115 239 0 +115 240 0 +115 241 0 +115 242 0 +115 243 0 +115 244 0 +115 245 0 +115 246 0 +115 247 0 +115 248 0 +115 249 0 +115 250 0 +115 251 0 +115 252 0 +115 253 0 +115 254 0 +115 255 0 +115 256 0 +115 257 0 +115 258 0 +115 259 0 +115 260 0 +115 261 0 +115 262 0 +115 263 0 +115 264 0 +115 265 0 +115 266 0 +115 267 0 +115 268 0 +115 269 0 +115 270 0 +115 271 0 +115 272 0 +115 273 0 +115 274 0 +115 275 0 +115 276 0 +115 277 0 +115 278 0 +115 279 0 +115 280 0 +115 281 0 +115 282 0 +115 283 0 +115 284 0 +115 285 0 +115 286 0 +115 287 0 +115 288 0 +115 289 0 +115 290 0 +115 291 0 +115 292 0 +115 293 0 +115 294 0 +115 295 0 +115 296 0 +115 297 0 +115 298 0 +115 299 0 +115 300 0 +115 301 0 +115 302 0 +115 303 0 +115 304 0 +115 305 0 +115 306 0 +115 307 0 +115 308 0 +115 309 0 +115 310 0 +115 311 0 +115 312 0 +115 313 0 +115 314 0 +115 315 0 +115 316 0 +115 317 0 +115 318 0 +115 319 0 +115 320 0 +115 321 0 +115 322 0 +115 323 0 +115 324 0 +115 325 0 +115 326 0 +115 327 0 +115 328 0 +115 329 0 +115 330 0 +115 331 0 +115 332 0 +115 333 0 +115 334 0 +115 335 0 +115 336 0 +115 337 0 +115 338 0 +115 339 0 +115 340 0 +115 341 0 +115 342 0 +115 343 0 +115 344 0 +115 345 0 +115 346 0 +115 347 0 +115 348 0 +115 349 0 +115 350 0 +115 351 0 +115 352 0 +115 353 0 +115 354 0 +115 355 0 +115 356 0 +115 357 0 +115 358 0 +115 359 0 +115 360 0 +115 361 0 +115 362 0 +115 363 0 +115 364 0 +115 365 0 +115 366 0 +115 367 0 +115 368 0 +115 369 0 +115 370 0 +115 371 0 +115 372 0 +115 373 0 +115 374 0 +115 375 0 +115 376 0 +115 377 0 +115 378 0 +115 379 0 +115 380 0 +115 381 0 +115 382 0 +115 383 0 +116 117 0 +116 118 0 +116 119 0 +116 120 0 +116 121 0 +116 122 0 +116 123 0 +116 124 0 +116 125 0 +116 126 0 +116 127 0 +116 128 0 +116 129 0 +116 130 0 +116 131 0 +116 132 0 +116 133 0 +116 134 0 +116 135 0 +116 136 0 +116 137 0 +116 138 0 +116 139 0 +116 140 0 +116 141 0 +116 142 0 +116 143 0 +116 144 0 +116 145 0 +116 146 0 +116 147 0 +116 148 0 +116 149 0 +116 150 0 +116 151 0 +116 152 0 +116 153 0 +116 154 0 +116 155 0 +116 156 0 +116 157 0 +116 158 0 +116 159 0 +116 160 0 +116 161 0 +116 162 0 +116 163 0 +116 164 0 +116 165 0 +116 166 0 +116 167 0 +116 168 0 +116 169 0 +116 170 0 +116 171 0 +116 172 0 +116 173 0 +116 174 0 +116 175 0 +116 176 0 +116 177 0 +116 178 0 +116 179 0 +116 180 0 +116 181 0 +116 182 0 +116 183 0 +116 184 0 +116 185 0 +116 186 0 +116 187 0 +116 188 0 +116 189 0 +116 190 0 +116 191 0 +116 192 0 +116 193 0 +116 194 0 +116 195 0 +116 196 0 +116 197 0 +116 198 0 +116 199 0 +116 200 0 +116 201 0 +116 202 0 +116 203 0 +116 204 0 +116 205 0 +116 206 0 +116 207 0 +116 208 0 +116 209 0 +116 210 0 +116 211 0 +116 212 0 +116 213 0 +116 214 0 +116 215 0 +116 216 0 +116 217 0 +116 218 0 +116 219 0 +116 220 0 +116 221 0 +116 222 0 +116 223 0 +116 224 0 +116 225 0 +116 226 0 +116 227 0 +116 228 0 +116 229 0 +116 230 0 +116 231 0 +116 232 0 +116 233 0 +116 234 0 +116 235 0 +116 236 0 +116 237 0 +116 238 0 +116 239 0 +116 240 0 +116 241 0 +116 242 0 +116 243 0 +116 244 0 +116 245 0 +116 246 0 +116 247 0 +116 248 0 +116 249 0 +116 250 0 +116 251 0 +116 252 0 +116 253 0 +116 254 0 +116 255 0 +116 256 0 +116 257 0 +116 258 0 +116 259 0 +116 260 0 +116 261 0 +116 262 0 +116 263 0 +116 264 0 +116 265 0 +116 266 0 +116 267 0 +116 268 0 +116 269 0 +116 270 0 +116 271 0 +116 272 0 +116 273 0 +116 274 0 +116 275 0 +116 276 0 +116 277 0 +116 278 0 +116 279 0 +116 280 0 +116 281 0 +116 282 0 +116 283 0 +116 284 0 +116 285 0 +116 286 0 +116 287 0 +116 288 0 +116 289 0 +116 290 0 +116 291 0 +116 292 0 +116 293 0 +116 294 0 +116 295 0 +116 296 0 +116 297 0 +116 298 0 +116 299 0 +116 300 0 +116 301 0 +116 302 0 +116 303 0 +116 304 0 +116 305 0 +116 306 0 +116 307 0 +116 308 0 +116 309 0 +116 310 0 +116 311 0 +116 312 0 +116 313 0 +116 314 0 +116 315 0 +116 316 0 +116 317 0 +116 318 0 +116 319 0 +116 320 0 +116 321 0 +116 322 0 +116 323 0 +116 324 0 +116 325 0 +116 326 0 +116 327 0 +116 328 0 +116 329 0 +116 330 0 +116 331 0 +116 332 0 +116 333 0 +116 334 0 +116 335 0 +116 336 0 +116 337 0 +116 338 0 +116 339 0 +116 340 0 +116 341 0 +116 342 0 +116 343 0 +116 344 0 +116 345 0 +116 346 0 +116 347 0 +116 348 0 +116 349 0 +116 350 0 +116 351 0 +116 352 0 +116 353 0 +116 354 0 +116 355 0 +116 356 0 +116 357 0 +116 358 0 +116 359 0 +116 360 0 +116 361 0 +116 362 0 +116 363 0 +116 364 0 +116 365 0 +116 366 0 +116 367 0 +116 368 0 +116 369 0 +116 370 0 +116 371 0 +116 372 0 +116 373 0 +116 374 0 +116 375 0 +116 376 0 +116 377 0 +116 378 0 +116 379 0 +116 380 0 +116 381 0 +116 382 0 +116 383 0 +117 118 0 +117 119 0 +117 120 0 +117 121 0 +117 122 0 +117 123 0 +117 124 0 +117 125 0 +117 126 0 +117 127 0 +117 128 0 +117 129 0 +117 130 0 +117 131 0 +117 132 0 +117 133 0 +117 134 0 +117 135 0 +117 136 0 +117 137 0 +117 138 0 +117 139 0 +117 140 0 +117 141 0 +117 142 0 +117 143 0 +117 144 0 +117 145 0 +117 146 0 +117 147 0 +117 148 0 +117 149 0 +117 150 0 +117 151 0 +117 152 0 +117 153 0 +117 154 0 +117 155 0 +117 156 0 +117 157 0 +117 158 0 +117 159 0 +117 160 0 +117 161 0 +117 162 0 +117 163 0 +117 164 0 +117 165 0 +117 166 0 +117 167 0 +117 168 0 +117 169 0 +117 170 0 +117 171 0 +117 172 0 +117 173 0 +117 174 0 +117 175 0 +117 176 0 +117 177 0 +117 178 0 +117 179 0 +117 180 0 +117 181 0 +117 182 0 +117 183 0 +117 184 0 +117 185 0 +117 186 0 +117 187 0 +117 188 0 +117 189 0 +117 190 0 +117 191 0 +117 192 0 +117 193 0 +117 194 0 +117 195 0 +117 196 0 +117 197 0 +117 198 0 +117 199 0 +117 200 0 +117 201 0 +117 202 0 +117 203 0 +117 204 0 +117 205 0 +117 206 0 +117 207 0 +117 208 0 +117 209 0 +117 210 0 +117 211 0 +117 212 0 +117 213 0 +117 214 0 +117 215 0 +117 216 0 +117 217 0 +117 218 0 +117 219 0 +117 220 0 +117 221 0 +117 222 0 +117 223 0 +117 224 0 +117 225 0 +117 226 0 +117 227 0 +117 228 0 +117 229 0 +117 230 0 +117 231 0 +117 232 0 +117 233 0 +117 234 0 +117 235 0 +117 236 0 +117 237 0 +117 238 0 +117 239 0 +117 240 0 +117 241 0 +117 242 0 +117 243 0 +117 244 0 +117 245 0 +117 246 0 +117 247 0 +117 248 0 +117 249 0 +117 250 0 +117 251 0 +117 252 0 +117 253 0 +117 254 0 +117 255 0 +117 256 0 +117 257 0 +117 258 0 +117 259 0 +117 260 0 +117 261 0 +117 262 0 +117 263 0 +117 264 0 +117 265 0 +117 266 0 +117 267 0 +117 268 0 +117 269 0 +117 270 0 +117 271 0 +117 272 0 +117 273 0 +117 274 0 +117 275 0 +117 276 0 +117 277 0 +117 278 0 +117 279 0 +117 280 0 +117 281 0 +117 282 0 +117 283 0 +117 284 0 +117 285 0 +117 286 0 +117 287 0 +117 288 0 +117 289 0 +117 290 0 +117 291 0 +117 292 0 +117 293 0 +117 294 0 +117 295 0 +117 296 0 +117 297 0 +117 298 0 +117 299 0 +117 300 0 +117 301 0 +117 302 0 +117 303 0 +117 304 0 +117 305 0 +117 306 0 +117 307 0 +117 308 0 +117 309 0 +117 310 0 +117 311 0 +117 312 0 +117 313 0 +117 314 0 +117 315 0 +117 316 0 +117 317 0 +117 318 0 +117 319 0 +117 320 0 +117 321 0 +117 322 0 +117 323 0 +117 324 0 +117 325 0 +117 326 0 +117 327 0 +117 328 0 +117 329 0 +117 330 0 +117 331 0 +117 332 0 +117 333 0 +117 334 0 +117 335 0 +117 336 0 +117 337 0 +117 338 0 +117 339 0 +117 340 0 +117 341 0 +117 342 0 +117 343 0 +117 344 0 +117 345 0 +117 346 0 +117 347 0 +117 348 0 +117 349 0 +117 350 0 +117 351 0 +117 352 0 +117 353 0 +117 354 0 +117 355 0 +117 356 0 +117 357 0 +117 358 0 +117 359 0 +117 360 0 +117 361 0 +117 362 0 +117 363 0 +117 364 0 +117 365 0 +117 366 0 +117 367 0 +117 368 0 +117 369 0 +117 370 0 +117 371 0 +117 372 0 +117 373 0 +117 374 0 +117 375 0 +117 376 0 +117 377 0 +117 378 0 +117 379 0 +117 380 0 +117 381 0 +117 382 0 +117 383 0 +118 119 0 +118 120 0 +118 121 0 +118 122 0 +118 123 0 +118 124 0 +118 125 0 +118 126 0 +118 127 0 +118 128 0 +118 129 0 +118 130 0 +118 131 0 +118 132 0 +118 133 0 +118 134 0 +118 135 0 +118 136 0 +118 137 0 +118 138 0 +118 139 0 +118 140 0 +118 141 0 +118 142 0 +118 143 0 +118 144 0 +118 145 0 +118 146 0 +118 147 0 +118 148 0 +118 149 0 +118 150 0 +118 151 0 +118 152 0 +118 153 0 +118 154 0 +118 155 0 +118 156 0 +118 157 0 +118 158 0 +118 159 0 +118 160 0 +118 161 0 +118 162 0 +118 163 0 +118 164 0 +118 165 0 +118 166 0 +118 167 0 +118 168 0 +118 169 0 +118 170 0 +118 171 0 +118 172 0 +118 173 0 +118 174 0 +118 175 0 +118 176 0 +118 177 0 +118 178 0 +118 179 0 +118 180 0 +118 181 0 +118 182 0 +118 183 0 +118 184 0 +118 185 0 +118 186 0 +118 187 0 +118 188 0 +118 189 0 +118 190 0 +118 191 0 +118 192 0 +118 193 0 +118 194 0 +118 195 0 +118 196 0 +118 197 0 +118 198 0 +118 199 0 +118 200 0 +118 201 0 +118 202 0 +118 203 0 +118 204 0 +118 205 0 +118 206 0 +118 207 0 +118 208 0 +118 209 0 +118 210 0 +118 211 0 +118 212 0 +118 213 0 +118 214 0 +118 215 0 +118 216 0 +118 217 0 +118 218 0 +118 219 0 +118 220 0 +118 221 0 +118 222 0 +118 223 0 +118 224 0 +118 225 0 +118 226 0 +118 227 0 +118 228 0 +118 229 0 +118 230 0 +118 231 0 +118 232 0 +118 233 0 +118 234 0 +118 235 0 +118 236 0 +118 237 0 +118 238 0 +118 239 0 +118 240 0 +118 241 0 +118 242 0 +118 243 0 +118 244 0 +118 245 0 +118 246 0 +118 247 0 +118 248 0 +118 249 0 +118 250 0 +118 251 0 +118 252 0 +118 253 0 +118 254 0 +118 255 0 +118 256 0 +118 257 0 +118 258 0 +118 259 0 +118 260 0 +118 261 0 +118 262 0 +118 263 0 +118 264 0 +118 265 0 +118 266 0 +118 267 0 +118 268 0 +118 269 0 +118 270 0 +118 271 0 +118 272 0 +118 273 0 +118 274 0 +118 275 0 +118 276 0 +118 277 0 +118 278 0 +118 279 0 +118 280 0 +118 281 0 +118 282 0 +118 283 0 +118 284 0 +118 285 0 +118 286 0 +118 287 0 +118 288 0 +118 289 0 +118 290 0 +118 291 0 +118 292 0 +118 293 0 +118 294 0 +118 295 0 +118 296 0 +118 297 0 +118 298 0 +118 299 0 +118 300 0 +118 301 0 +118 302 0 +118 303 0 +118 304 0 +118 305 0 +118 306 0 +118 307 0 +118 308 0 +118 309 0 +118 310 0 +118 311 0 +118 312 0 +118 313 0 +118 314 0 +118 315 0 +118 316 0 +118 317 0 +118 318 0 +118 319 0 +118 320 0 +118 321 0 +118 322 0 +118 323 0 +118 324 0 +118 325 0 +118 326 0 +118 327 0 +118 328 0 +118 329 0 +118 330 0 +118 331 0 +118 332 0 +118 333 0 +118 334 0 +118 335 0 +118 336 0 +118 337 0 +118 338 0 +118 339 0 +118 340 0 +118 341 0 +118 342 0 +118 343 0 +118 344 0 +118 345 0 +118 346 0 +118 347 0 +118 348 0 +118 349 0 +118 350 0 +118 351 0 +118 352 0 +118 353 0 +118 354 0 +118 355 0 +118 356 0 +118 357 0 +118 358 0 +118 359 0 +118 360 0 +118 361 0 +118 362 0 +118 363 0 +118 364 0 +118 365 0 +118 366 0 +118 367 0 +118 368 0 +118 369 0 +118 370 0 +118 371 0 +118 372 0 +118 373 0 +118 374 0 +118 375 0 +118 376 0 +118 377 0 +118 378 0 +118 379 0 +118 380 0 +118 381 0 +118 382 0 +118 383 0 +119 120 0 +119 121 0 +119 122 0 +119 123 0 +119 124 0 +119 125 0 +119 126 0 +119 127 0 +119 128 0 +119 129 0 +119 130 0 +119 131 0 +119 132 0 +119 133 0 +119 134 0 +119 135 0 +119 136 0 +119 137 0 +119 138 0 +119 139 0 +119 140 0 +119 141 0 +119 142 0 +119 143 0 +119 144 0 +119 145 0 +119 146 0 +119 147 0 +119 148 0 +119 149 0 +119 150 0 +119 151 0 +119 152 0 +119 153 0 +119 154 0 +119 155 0 +119 156 0 +119 157 0 +119 158 0 +119 159 0 +119 160 0 +119 161 0 +119 162 0 +119 163 0 +119 164 0 +119 165 0 +119 166 0 +119 167 0 +119 168 0 +119 169 0 +119 170 0 +119 171 0 +119 172 0 +119 173 0 +119 174 0 +119 175 0 +119 176 0 +119 177 0 +119 178 0 +119 179 0 +119 180 0 +119 181 0 +119 182 0 +119 183 0 +119 184 0 +119 185 0 +119 186 0 +119 187 0 +119 188 0 +119 189 0 +119 190 0 +119 191 0 +119 192 0 +119 193 0 +119 194 0 +119 195 0 +119 196 0 +119 197 0 +119 198 0 +119 199 0 +119 200 0 +119 201 0 +119 202 0 +119 203 0 +119 204 0 +119 205 0 +119 206 0 +119 207 0 +119 208 0 +119 209 0 +119 210 0 +119 211 0 +119 212 0 +119 213 0 +119 214 0 +119 215 0 +119 216 0 +119 217 0 +119 218 0 +119 219 0 +119 220 0 +119 221 0 +119 222 0 +119 223 0 +119 224 0 +119 225 0 +119 226 0 +119 227 0 +119 228 0 +119 229 0 +119 230 0 +119 231 0 +119 232 0 +119 233 0 +119 234 0 +119 235 0 +119 236 0 +119 237 0 +119 238 0 +119 239 0 +119 240 0 +119 241 0 +119 242 0 +119 243 0 +119 244 0 +119 245 0 +119 246 0 +119 247 0 +119 248 0 +119 249 0 +119 250 0 +119 251 0 +119 252 0 +119 253 0 +119 254 0 +119 255 0 +119 256 0 +119 257 0 +119 258 0 +119 259 0 +119 260 0 +119 261 0 +119 262 0 +119 263 0 +119 264 0 +119 265 0 +119 266 0 +119 267 0 +119 268 0 +119 269 0 +119 270 0 +119 271 0 +119 272 0 +119 273 0 +119 274 0 +119 275 0 +119 276 0 +119 277 0 +119 278 0 +119 279 0 +119 280 0 +119 281 0 +119 282 0 +119 283 0 +119 284 0 +119 285 0 +119 286 0 +119 287 0 +119 288 0 +119 289 0 +119 290 0 +119 291 0 +119 292 0 +119 293 0 +119 294 0 +119 295 0 +119 296 0 +119 297 0 +119 298 0 +119 299 0 +119 300 0 +119 301 0 +119 302 0 +119 303 0 +119 304 0 +119 305 0 +119 306 0 +119 307 0 +119 308 0 +119 309 0 +119 310 0 +119 311 0 +119 312 0 +119 313 0 +119 314 0 +119 315 0 +119 316 0 +119 317 0 +119 318 0 +119 319 0 +119 320 0 +119 321 0 +119 322 0 +119 323 0 +119 324 0 +119 325 0 +119 326 0 +119 327 0 +119 328 0 +119 329 0 +119 330 0 +119 331 0 +119 332 0 +119 333 0 +119 334 0 +119 335 0 +119 336 0 +119 337 0 +119 338 0 +119 339 0 +119 340 0 +119 341 0 +119 342 0 +119 343 0 +119 344 0 +119 345 0 +119 346 0 +119 347 0 +119 348 0 +119 349 0 +119 350 0 +119 351 0 +119 352 0 +119 353 0 +119 354 0 +119 355 0 +119 356 0 +119 357 0 +119 358 0 +119 359 0 +119 360 0 +119 361 0 +119 362 0 +119 363 0 +119 364 0 +119 365 0 +119 366 0 +119 367 0 +119 368 0 +119 369 0 +119 370 0 +119 371 0 +119 372 0 +119 373 0 +119 374 0 +119 375 0 +119 376 0 +119 377 0 +119 378 0 +119 379 0 +119 380 0 +119 381 0 +119 382 0 +119 383 0 +120 121 0 +120 122 0 +120 123 0 +120 124 0 +120 125 0 +120 126 0 +120 127 0 +120 128 0 +120 129 0 +120 130 0 +120 131 0 +120 132 0 +120 133 0 +120 134 0 +120 135 0 +120 136 0 +120 137 0 +120 138 0 +120 139 0 +120 140 0 +120 141 0 +120 142 0 +120 143 0 +120 144 0 +120 145 0 +120 146 0 +120 147 0 +120 148 0 +120 149 0 +120 150 0 +120 151 0 +120 152 0 +120 153 0 +120 154 0 +120 155 0 +120 156 0 +120 157 0 +120 158 0 +120 159 0 +120 160 0 +120 161 0 +120 162 0 +120 163 0 +120 164 0 +120 165 0 +120 166 0 +120 167 0 +120 168 0 +120 169 0 +120 170 0 +120 171 0 +120 172 0 +120 173 0 +120 174 0 +120 175 0 +120 176 0 +120 177 0 +120 178 0 +120 179 0 +120 180 0 +120 181 0 +120 182 0 +120 183 0 +120 184 0 +120 185 0 +120 186 0 +120 187 0 +120 188 0 +120 189 0 +120 190 0 +120 191 0 +120 192 0 +120 193 0 +120 194 0 +120 195 0 +120 196 0 +120 197 0 +120 198 0 +120 199 0 +120 200 0 +120 201 0 +120 202 0 +120 203 0 +120 204 0 +120 205 0 +120 206 0 +120 207 0 +120 208 0 +120 209 0 +120 210 0 +120 211 0 +120 212 0 +120 213 0 +120 214 0 +120 215 0 +120 216 0 +120 217 0 +120 218 0 +120 219 0 +120 220 0 +120 221 0 +120 222 0 +120 223 0 +120 224 0 +120 225 0 +120 226 0 +120 227 0 +120 228 0 +120 229 0 +120 230 0 +120 231 0 +120 232 0 +120 233 0 +120 234 0 +120 235 0 +120 236 0 +120 237 0 +120 238 0 +120 239 0 +120 240 0 +120 241 0 +120 242 0 +120 243 0 +120 244 0 +120 245 0 +120 246 0 +120 247 0 +120 248 0 +120 249 0 +120 250 0 +120 251 0 +120 252 0 +120 253 0 +120 254 0 +120 255 0 +120 256 0 +120 257 0 +120 258 0 +120 259 0 +120 260 0 +120 261 0 +120 262 0 +120 263 0 +120 264 0 +120 265 0 +120 266 0 +120 267 0 +120 268 0 +120 269 0 +120 270 0 +120 271 0 +120 272 0 +120 273 0 +120 274 0 +120 275 0 +120 276 0 +120 277 0 +120 278 0 +120 279 0 +120 280 0 +120 281 0 +120 282 0 +120 283 0 +120 284 0 +120 285 0 +120 286 0 +120 287 0 +120 288 0 +120 289 0 +120 290 0 +120 291 0 +120 292 0 +120 293 0 +120 294 0 +120 295 0 +120 296 0 +120 297 0 +120 298 0 +120 299 0 +120 300 0 +120 301 0 +120 302 0 +120 303 0 +120 304 0 +120 305 0 +120 306 0 +120 307 0 +120 308 0 +120 309 0 +120 310 0 +120 311 0 +120 312 0 +120 313 0 +120 314 0 +120 315 0 +120 316 0 +120 317 0 +120 318 0 +120 319 0 +120 320 0 +120 321 0 +120 322 0 +120 323 0 +120 324 0 +120 325 0 +120 326 0 +120 327 0 +120 328 0 +120 329 0 +120 330 0 +120 331 0 +120 332 0 +120 333 0 +120 334 0 +120 335 0 +120 336 0 +120 337 0 +120 338 0 +120 339 0 +120 340 0 +120 341 0 +120 342 0 +120 343 0 +120 344 0 +120 345 0 +120 346 0 +120 347 0 +120 348 0 +120 349 0 +120 350 0 +120 351 0 +120 352 0 +120 353 0 +120 354 0 +120 355 0 +120 356 0 +120 357 0 +120 358 0 +120 359 0 +120 360 0 +120 361 0 +120 362 0 +120 363 0 +120 364 0 +120 365 0 +120 366 0 +120 367 0 +120 368 0 +120 369 0 +120 370 0 +120 371 0 +120 372 0 +120 373 0 +120 374 0 +120 375 0 +120 376 0 +120 377 0 +120 378 0 +120 379 0 +120 380 0 +120 381 0 +120 382 0 +120 383 0 +121 122 0 +121 123 0 +121 124 0 +121 125 0 +121 126 0 +121 127 0 +121 128 0 +121 129 0 +121 130 0 +121 131 0 +121 132 0 +121 133 0 +121 134 0 +121 135 0 +121 136 0 +121 137 0 +121 138 0 +121 139 0 +121 140 0 +121 141 0 +121 142 0 +121 143 0 +121 144 0 +121 145 0 +121 146 0 +121 147 0 +121 148 0 +121 149 0 +121 150 0 +121 151 0 +121 152 0 +121 153 0 +121 154 0 +121 155 0 +121 156 0 +121 157 0 +121 158 0 +121 159 0 +121 160 0 +121 161 0 +121 162 0 +121 163 0 +121 164 0 +121 165 0 +121 166 0 +121 167 0 +121 168 0 +121 169 0 +121 170 0 +121 171 0 +121 172 0 +121 173 0 +121 174 0 +121 175 0 +121 176 0 +121 177 0 +121 178 0 +121 179 0 +121 180 0 +121 181 0 +121 182 0 +121 183 0 +121 184 0 +121 185 0 +121 186 0 +121 187 0 +121 188 0 +121 189 0 +121 190 0 +121 191 0 +121 192 0 +121 193 0 +121 194 0 +121 195 0 +121 196 0 +121 197 0 +121 198 0 +121 199 0 +121 200 0 +121 201 0 +121 202 0 +121 203 0 +121 204 0 +121 205 0 +121 206 0 +121 207 0 +121 208 0 +121 209 0 +121 210 0 +121 211 0 +121 212 0 +121 213 0 +121 214 0 +121 215 0 +121 216 0 +121 217 0 +121 218 0 +121 219 0 +121 220 0 +121 221 0 +121 222 0 +121 223 0 +121 224 0 +121 225 0 +121 226 0 +121 227 0 +121 228 0 +121 229 0 +121 230 0 +121 231 0 +121 232 0 +121 233 0 +121 234 0 +121 235 0 +121 236 0 +121 237 0 +121 238 0 +121 239 0 +121 240 0 +121 241 0 +121 242 0 +121 243 0 +121 244 0 +121 245 0 +121 246 0 +121 247 0 +121 248 0 +121 249 0 +121 250 0 +121 251 0 +121 252 0 +121 253 0 +121 254 0 +121 255 0 +121 256 0 +121 257 0 +121 258 0 +121 259 0 +121 260 0 +121 261 0 +121 262 0 +121 263 0 +121 264 0 +121 265 0 +121 266 0 +121 267 0 +121 268 0 +121 269 0 +121 270 0 +121 271 0 +121 272 0 +121 273 0 +121 274 0 +121 275 0 +121 276 0 +121 277 0 +121 278 0 +121 279 0 +121 280 0 +121 281 0 +121 282 0 +121 283 0 +121 284 0 +121 285 0 +121 286 0 +121 287 0 +121 288 0 +121 289 0 +121 290 0 +121 291 0 +121 292 0 +121 293 0 +121 294 0 +121 295 0 +121 296 0 +121 297 0 +121 298 0 +121 299 0 +121 300 0 +121 301 0 +121 302 0 +121 303 0 +121 304 0 +121 305 0 +121 306 0 +121 307 0 +121 308 0 +121 309 0 +121 310 0 +121 311 0 +121 312 0 +121 313 0 +121 314 0 +121 315 0 +121 316 0 +121 317 0 +121 318 0 +121 319 0 +121 320 0 +121 321 0 +121 322 0 +121 323 0 +121 324 0 +121 325 0 +121 326 0 +121 327 0 +121 328 0 +121 329 0 +121 330 0 +121 331 0 +121 332 0 +121 333 0 +121 334 0 +121 335 0 +121 336 0 +121 337 0 +121 338 0 +121 339 0 +121 340 0 +121 341 0 +121 342 0 +121 343 0 +121 344 0 +121 345 0 +121 346 0 +121 347 0 +121 348 0 +121 349 0 +121 350 0 +121 351 0 +121 352 0 +121 353 0 +121 354 0 +121 355 0 +121 356 0 +121 357 0 +121 358 0 +121 359 0 +121 360 0 +121 361 0 +121 362 0 +121 363 0 +121 364 0 +121 365 0 +121 366 0 +121 367 0 +121 368 0 +121 369 0 +121 370 0 +121 371 0 +121 372 0 +121 373 0 +121 374 0 +121 375 0 +121 376 0 +121 377 0 +121 378 0 +121 379 0 +121 380 0 +121 381 0 +121 382 0 +121 383 0 +122 123 0 +122 124 0 +122 125 0 +122 126 0 +122 127 0 +122 128 0 +122 129 0 +122 130 0 +122 131 0 +122 132 0 +122 133 0 +122 134 0 +122 135 0 +122 136 0 +122 137 0 +122 138 0 +122 139 0 +122 140 0 +122 141 0 +122 142 0 +122 143 0 +122 144 0 +122 145 0 +122 146 0 +122 147 0 +122 148 0 +122 149 0 +122 150 0 +122 151 0 +122 152 0 +122 153 0 +122 154 0 +122 155 0 +122 156 0 +122 157 0 +122 158 0 +122 159 0 +122 160 0 +122 161 0 +122 162 0 +122 163 0 +122 164 0 +122 165 0 +122 166 0 +122 167 0 +122 168 0 +122 169 0 +122 170 0 +122 171 0 +122 172 0 +122 173 0 +122 174 0 +122 175 0 +122 176 0 +122 177 0 +122 178 0 +122 179 0 +122 180 0 +122 181 0 +122 182 0 +122 183 0 +122 184 0 +122 185 0 +122 186 0 +122 187 0 +122 188 0 +122 189 0 +122 190 0 +122 191 0 +122 192 0 +122 193 0 +122 194 0 +122 195 0 +122 196 0 +122 197 0 +122 198 0 +122 199 0 +122 200 0 +122 201 0 +122 202 0 +122 203 0 +122 204 0 +122 205 0 +122 206 0 +122 207 0 +122 208 0 +122 209 0 +122 210 0 +122 211 0 +122 212 0 +122 213 0 +122 214 0 +122 215 0 +122 216 0 +122 217 0 +122 218 0 +122 219 0 +122 220 0 +122 221 0 +122 222 0 +122 223 0 +122 224 0 +122 225 0 +122 226 0 +122 227 0 +122 228 0 +122 229 0 +122 230 0 +122 231 0 +122 232 0 +122 233 0 +122 234 0 +122 235 0 +122 236 0 +122 237 0 +122 238 0 +122 239 0 +122 240 0 +122 241 0 +122 242 0 +122 243 0 +122 244 0 +122 245 0 +122 246 0 +122 247 0 +122 248 0 +122 249 0 +122 250 0 +122 251 0 +122 252 0 +122 253 0 +122 254 0 +122 255 0 +122 256 0 +122 257 0 +122 258 0 +122 259 0 +122 260 0 +122 261 0 +122 262 0 +122 263 0 +122 264 0 +122 265 0 +122 266 0 +122 267 0 +122 268 0 +122 269 0 +122 270 0 +122 271 0 +122 272 0 +122 273 0 +122 274 0 +122 275 0 +122 276 0 +122 277 0 +122 278 0 +122 279 0 +122 280 0 +122 281 0 +122 282 0 +122 283 0 +122 284 0 +122 285 0 +122 286 0 +122 287 0 +122 288 0 +122 289 0 +122 290 0 +122 291 0 +122 292 0 +122 293 0 +122 294 0 +122 295 0 +122 296 0 +122 297 0 +122 298 0 +122 299 0 +122 300 0 +122 301 0 +122 302 0 +122 303 0 +122 304 0 +122 305 0 +122 306 0 +122 307 0 +122 308 0 +122 309 0 +122 310 0 +122 311 0 +122 312 0 +122 313 0 +122 314 0 +122 315 0 +122 316 0 +122 317 0 +122 318 0 +122 319 0 +122 320 0 +122 321 0 +122 322 0 +122 323 0 +122 324 0 +122 325 0 +122 326 0 +122 327 0 +122 328 0 +122 329 0 +122 330 0 +122 331 0 +122 332 0 +122 333 0 +122 334 0 +122 335 0 +122 336 0 +122 337 0 +122 338 0 +122 339 0 +122 340 0 +122 341 0 +122 342 0 +122 343 0 +122 344 0 +122 345 0 +122 346 0 +122 347 0 +122 348 0 +122 349 0 +122 350 0 +122 351 0 +122 352 0 +122 353 0 +122 354 0 +122 355 0 +122 356 0 +122 357 0 +122 358 0 +122 359 0 +122 360 0 +122 361 0 +122 362 0 +122 363 0 +122 364 0 +122 365 0 +122 366 0 +122 367 0 +122 368 0 +122 369 0 +122 370 0 +122 371 0 +122 372 0 +122 373 0 +122 374 0 +122 375 0 +122 376 0 +122 377 0 +122 378 0 +122 379 0 +122 380 0 +122 381 0 +122 382 0 +122 383 0 +123 124 0 +123 125 0 +123 126 0 +123 127 0 +123 128 0 +123 129 0 +123 130 0 +123 131 0 +123 132 0 +123 133 0 +123 134 0 +123 135 0 +123 136 0 +123 137 0 +123 138 0 +123 139 0 +123 140 0 +123 141 0 +123 142 0 +123 143 0 +123 144 0 +123 145 0 +123 146 0 +123 147 0 +123 148 0 +123 149 0 +123 150 0 +123 151 0 +123 152 0 +123 153 0 +123 154 0 +123 155 0 +123 156 0 +123 157 0 +123 158 0 +123 159 0 +123 160 0 +123 161 0 +123 162 0 +123 163 0 +123 164 0 +123 165 0 +123 166 0 +123 167 0 +123 168 0 +123 169 0 +123 170 0 +123 171 0 +123 172 0 +123 173 0 +123 174 0 +123 175 0 +123 176 0 +123 177 0 +123 178 0 +123 179 0 +123 180 0 +123 181 0 +123 182 0 +123 183 0 +123 184 0 +123 185 0 +123 186 0 +123 187 0 +123 188 0 +123 189 0 +123 190 0 +123 191 0 +123 192 0 +123 193 0 +123 194 0 +123 195 0 +123 196 0 +123 197 0 +123 198 0 +123 199 0 +123 200 0 +123 201 0 +123 202 0 +123 203 0 +123 204 0 +123 205 0 +123 206 0 +123 207 0 +123 208 0 +123 209 0 +123 210 0 +123 211 0 +123 212 0 +123 213 0 +123 214 0 +123 215 0 +123 216 0 +123 217 0 +123 218 0 +123 219 0 +123 220 0 +123 221 0 +123 222 0 +123 223 0 +123 224 0 +123 225 0 +123 226 0 +123 227 0 +123 228 0 +123 229 0 +123 230 0 +123 231 0 +123 232 0 +123 233 0 +123 234 0 +123 235 0 +123 236 0 +123 237 0 +123 238 0 +123 239 0 +123 240 0 +123 241 0 +123 242 0 +123 243 0 +123 244 0 +123 245 0 +123 246 0 +123 247 0 +123 248 0 +123 249 0 +123 250 0 +123 251 0 +123 252 0 +123 253 0 +123 254 0 +123 255 0 +123 256 0 +123 257 0 +123 258 0 +123 259 0 +123 260 0 +123 261 0 +123 262 0 +123 263 0 +123 264 0 +123 265 0 +123 266 0 +123 267 0 +123 268 0 +123 269 0 +123 270 0 +123 271 0 +123 272 0 +123 273 0 +123 274 0 +123 275 0 +123 276 0 +123 277 0 +123 278 0 +123 279 0 +123 280 0 +123 281 0 +123 282 0 +123 283 0 +123 284 0 +123 285 0 +123 286 0 +123 287 0 +123 288 0 +123 289 0 +123 290 0 +123 291 0 +123 292 0 +123 293 0 +123 294 0 +123 295 0 +123 296 0 +123 297 0 +123 298 0 +123 299 0 +123 300 0 +123 301 0 +123 302 0 +123 303 0 +123 304 0 +123 305 0 +123 306 0 +123 307 0 +123 308 0 +123 309 0 +123 310 0 +123 311 0 +123 312 0 +123 313 0 +123 314 0 +123 315 0 +123 316 0 +123 317 0 +123 318 0 +123 319 0 +123 320 0 +123 321 0 +123 322 0 +123 323 0 +123 324 0 +123 325 0 +123 326 0 +123 327 0 +123 328 0 +123 329 0 +123 330 0 +123 331 0 +123 332 0 +123 333 0 +123 334 0 +123 335 0 +123 336 0 +123 337 0 +123 338 0 +123 339 0 +123 340 0 +123 341 0 +123 342 0 +123 343 0 +123 344 0 +123 345 0 +123 346 0 +123 347 0 +123 348 0 +123 349 0 +123 350 0 +123 351 0 +123 352 0 +123 353 0 +123 354 0 +123 355 0 +123 356 0 +123 357 0 +123 358 0 +123 359 0 +123 360 0 +123 361 0 +123 362 0 +123 363 0 +123 364 0 +123 365 0 +123 366 0 +123 367 0 +123 368 0 +123 369 0 +123 370 0 +123 371 0 +123 372 0 +123 373 0 +123 374 0 +123 375 0 +123 376 0 +123 377 0 +123 378 0 +123 379 0 +123 380 0 +123 381 0 +123 382 0 +123 383 0 +124 125 0 +124 126 0 +124 127 0 +124 128 0 +124 129 0 +124 130 0 +124 131 0 +124 132 0 +124 133 0 +124 134 0 +124 135 0 +124 136 0 +124 137 0 +124 138 0 +124 139 0 +124 140 0 +124 141 0 +124 142 0 +124 143 0 +124 144 0 +124 145 0 +124 146 0 +124 147 0 +124 148 0 +124 149 0 +124 150 0 +124 151 0 +124 152 0 +124 153 0 +124 154 0 +124 155 0 +124 156 0 +124 157 0 +124 158 0 +124 159 0 +124 160 0 +124 161 0 +124 162 0 +124 163 0 +124 164 0 +124 165 0 +124 166 0 +124 167 0 +124 168 0 +124 169 0 +124 170 0 +124 171 0 +124 172 0 +124 173 0 +124 174 0 +124 175 0 +124 176 0 +124 177 0 +124 178 0 +124 179 0 +124 180 0 +124 181 0 +124 182 0 +124 183 0 +124 184 0 +124 185 0 +124 186 0 +124 187 0 +124 188 0 +124 189 0 +124 190 0 +124 191 0 +124 192 0 +124 193 0 +124 194 0 +124 195 0 +124 196 0 +124 197 0 +124 198 0 +124 199 0 +124 200 0 +124 201 0 +124 202 0 +124 203 0 +124 204 0 +124 205 0 +124 206 0 +124 207 0 +124 208 0 +124 209 0 +124 210 0 +124 211 0 +124 212 0 +124 213 0 +124 214 0 +124 215 0 +124 216 0 +124 217 0 +124 218 0 +124 219 0 +124 220 0 +124 221 0 +124 222 0 +124 223 0 +124 224 0 +124 225 0 +124 226 0 +124 227 0 +124 228 0 +124 229 0 +124 230 0 +124 231 0 +124 232 0 +124 233 0 +124 234 0 +124 235 0 +124 236 0 +124 237 0 +124 238 0 +124 239 0 +124 240 0 +124 241 0 +124 242 0 +124 243 0 +124 244 0 +124 245 0 +124 246 0 +124 247 0 +124 248 0 +124 249 0 +124 250 0 +124 251 0 +124 252 0 +124 253 0 +124 254 0 +124 255 0 +124 256 0 +124 257 0 +124 258 0 +124 259 0 +124 260 0 +124 261 0 +124 262 0 +124 263 0 +124 264 0 +124 265 0 +124 266 0 +124 267 0 +124 268 0 +124 269 0 +124 270 0 +124 271 0 +124 272 0 +124 273 0 +124 274 0 +124 275 0 +124 276 0 +124 277 0 +124 278 0 +124 279 0 +124 280 0 +124 281 0 +124 282 0 +124 283 0 +124 284 0 +124 285 0 +124 286 0 +124 287 0 +124 288 0 +124 289 0 +124 290 0 +124 291 0 +124 292 0 +124 293 0 +124 294 0 +124 295 0 +124 296 0 +124 297 0 +124 298 0 +124 299 0 +124 300 0 +124 301 0 +124 302 0 +124 303 0 +124 304 0 +124 305 0 +124 306 0 +124 307 0 +124 308 0 +124 309 0 +124 310 0 +124 311 0 +124 312 0 +124 313 0 +124 314 0 +124 315 0 +124 316 0 +124 317 0 +124 318 0 +124 319 0 +124 320 0 +124 321 0 +124 322 0 +124 323 0 +124 324 0 +124 325 0 +124 326 0 +124 327 0 +124 328 0 +124 329 0 +124 330 0 +124 331 0 +124 332 0 +124 333 0 +124 334 0 +124 335 0 +124 336 0 +124 337 0 +124 338 0 +124 339 0 +124 340 0 +124 341 0 +124 342 0 +124 343 0 +124 344 0 +124 345 0 +124 346 0 +124 347 0 +124 348 0 +124 349 0 +124 350 0 +124 351 0 +124 352 0 +124 353 0 +124 354 0 +124 355 0 +124 356 0 +124 357 0 +124 358 0 +124 359 0 +124 360 0 +124 361 0 +124 362 0 +124 363 0 +124 364 0 +124 365 0 +124 366 0 +124 367 0 +124 368 0 +124 369 0 +124 370 0 +124 371 0 +124 372 0 +124 373 0 +124 374 0 +124 375 0 +124 376 0 +124 377 0 +124 378 0 +124 379 0 +124 380 0 +124 381 0 +124 382 0 +124 383 0 +125 126 0 +125 127 0 +125 128 0 +125 129 0 +125 130 0 +125 131 0 +125 132 0 +125 133 0 +125 134 0 +125 135 0 +125 136 0 +125 137 0 +125 138 0 +125 139 0 +125 140 0 +125 141 0 +125 142 0 +125 143 0 +125 144 0 +125 145 0 +125 146 0 +125 147 0 +125 148 0 +125 149 0 +125 150 0 +125 151 0 +125 152 0 +125 153 0 +125 154 0 +125 155 0 +125 156 0 +125 157 0 +125 158 0 +125 159 0 +125 160 0 +125 161 0 +125 162 0 +125 163 0 +125 164 0 +125 165 0 +125 166 0 +125 167 0 +125 168 0 +125 169 0 +125 170 0 +125 171 0 +125 172 0 +125 173 0 +125 174 0 +125 175 0 +125 176 0 +125 177 0 +125 178 0 +125 179 0 +125 180 0 +125 181 0 +125 182 0 +125 183 0 +125 184 0 +125 185 0 +125 186 0 +125 187 0 +125 188 0 +125 189 0 +125 190 0 +125 191 0 +125 192 0 +125 193 0 +125 194 0 +125 195 0 +125 196 0 +125 197 0 +125 198 0 +125 199 0 +125 200 0 +125 201 0 +125 202 0 +125 203 0 +125 204 0 +125 205 0 +125 206 0 +125 207 0 +125 208 0 +125 209 0 +125 210 0 +125 211 0 +125 212 0 +125 213 0 +125 214 0 +125 215 0 +125 216 0 +125 217 0 +125 218 0 +125 219 0 +125 220 0 +125 221 0 +125 222 0 +125 223 0 +125 224 0 +125 225 0 +125 226 0 +125 227 0 +125 228 0 +125 229 0 +125 230 0 +125 231 0 +125 232 0 +125 233 0 +125 234 0 +125 235 0 +125 236 0 +125 237 0 +125 238 0 +125 239 0 +125 240 0 +125 241 0 +125 242 0 +125 243 0 +125 244 0 +125 245 0 +125 246 0 +125 247 0 +125 248 0 +125 249 0 +125 250 0 +125 251 0 +125 252 0 +125 253 0 +125 254 0 +125 255 0 +125 256 0 +125 257 0 +125 258 0 +125 259 0 +125 260 0 +125 261 0 +125 262 0 +125 263 0 +125 264 0 +125 265 0 +125 266 0 +125 267 0 +125 268 0 +125 269 0 +125 270 0 +125 271 0 +125 272 0 +125 273 0 +125 274 0 +125 275 0 +125 276 0 +125 277 0 +125 278 0 +125 279 0 +125 280 0 +125 281 0 +125 282 0 +125 283 0 +125 284 0 +125 285 0 +125 286 0 +125 287 0 +125 288 0 +125 289 0 +125 290 0 +125 291 0 +125 292 0 +125 293 0 +125 294 0 +125 295 0 +125 296 0 +125 297 0 +125 298 0 +125 299 0 +125 300 0 +125 301 0 +125 302 0 +125 303 0 +125 304 0 +125 305 0 +125 306 0 +125 307 0 +125 308 0 +125 309 0 +125 310 0 +125 311 0 +125 312 0 +125 313 0 +125 314 0 +125 315 0 +125 316 0 +125 317 0 +125 318 0 +125 319 0 +125 320 0 +125 321 0 +125 322 0 +125 323 0 +125 324 0 +125 325 0 +125 326 0 +125 327 0 +125 328 0 +125 329 0 +125 330 0 +125 331 0 +125 332 0 +125 333 0 +125 334 0 +125 335 0 +125 336 0 +125 337 0 +125 338 0 +125 339 0 +125 340 0 +125 341 0 +125 342 0 +125 343 0 +125 344 0 +125 345 0 +125 346 0 +125 347 0 +125 348 0 +125 349 0 +125 350 0 +125 351 0 +125 352 0 +125 353 0 +125 354 0 +125 355 0 +125 356 0 +125 357 0 +125 358 0 +125 359 0 +125 360 0 +125 361 0 +125 362 0 +125 363 0 +125 364 0 +125 365 0 +125 366 0 +125 367 0 +125 368 0 +125 369 0 +125 370 0 +125 371 0 +125 372 0 +125 373 0 +125 374 0 +125 375 0 +125 376 0 +125 377 0 +125 378 0 +125 379 0 +125 380 0 +125 381 0 +125 382 0 +125 383 0 +126 127 0 +126 128 0 +126 129 0 +126 130 0 +126 131 0 +126 132 0 +126 133 0 +126 134 0 +126 135 0 +126 136 0 +126 137 0 +126 138 0 +126 139 0 +126 140 0 +126 141 0 +126 142 0 +126 143 0 +126 144 0 +126 145 0 +126 146 0 +126 147 0 +126 148 0 +126 149 0 +126 150 0 +126 151 0 +126 152 0 +126 153 0 +126 154 0 +126 155 0 +126 156 0 +126 157 0 +126 158 0 +126 159 0 +126 160 0 +126 161 0 +126 162 0 +126 163 0 +126 164 0 +126 165 0 +126 166 0 +126 167 0 +126 168 0 +126 169 0 +126 170 0 +126 171 0 +126 172 0 +126 173 0 +126 174 0 +126 175 0 +126 176 0 +126 177 0 +126 178 0 +126 179 0 +126 180 0 +126 181 0 +126 182 0 +126 183 0 +126 184 0 +126 185 0 +126 186 0 +126 187 0 +126 188 0 +126 189 0 +126 190 0 +126 191 0 +126 192 0 +126 193 0 +126 194 0 +126 195 0 +126 196 0 +126 197 0 +126 198 0 +126 199 0 +126 200 0 +126 201 0 +126 202 0 +126 203 0 +126 204 0 +126 205 0 +126 206 0 +126 207 0 +126 208 0 +126 209 0 +126 210 0 +126 211 0 +126 212 0 +126 213 0 +126 214 0 +126 215 0 +126 216 0 +126 217 0 +126 218 0 +126 219 0 +126 220 0 +126 221 0 +126 222 0 +126 223 0 +126 224 0 +126 225 0 +126 226 0 +126 227 0 +126 228 0 +126 229 0 +126 230 0 +126 231 0 +126 232 0 +126 233 0 +126 234 0 +126 235 0 +126 236 0 +126 237 0 +126 238 0 +126 239 0 +126 240 0 +126 241 0 +126 242 0 +126 243 0 +126 244 0 +126 245 0 +126 246 0 +126 247 0 +126 248 0 +126 249 0 +126 250 0 +126 251 0 +126 252 0 +126 253 0 +126 254 0 +126 255 0 +126 256 0 +126 257 0 +126 258 0 +126 259 0 +126 260 0 +126 261 0 +126 262 0 +126 263 0 +126 264 0 +126 265 0 +126 266 0 +126 267 0 +126 268 0 +126 269 0 +126 270 0 +126 271 0 +126 272 0 +126 273 0 +126 274 0 +126 275 0 +126 276 0 +126 277 0 +126 278 0 +126 279 0 +126 280 0 +126 281 0 +126 282 0 +126 283 0 +126 284 0 +126 285 0 +126 286 0 +126 287 0 +126 288 0 +126 289 0 +126 290 0 +126 291 0 +126 292 0 +126 293 0 +126 294 0 +126 295 0 +126 296 0 +126 297 0 +126 298 0 +126 299 0 +126 300 0 +126 301 0 +126 302 0 +126 303 0 +126 304 0 +126 305 0 +126 306 0 +126 307 0 +126 308 0 +126 309 0 +126 310 0 +126 311 0 +126 312 0 +126 313 0 +126 314 0 +126 315 0 +126 316 0 +126 317 0 +126 318 0 +126 319 0 +126 320 0 +126 321 0 +126 322 0 +126 323 0 +126 324 0 +126 325 0 +126 326 0 +126 327 0 +126 328 0 +126 329 0 +126 330 0 +126 331 0 +126 332 0 +126 333 0 +126 334 0 +126 335 0 +126 336 0 +126 337 0 +126 338 0 +126 339 0 +126 340 0 +126 341 0 +126 342 0 +126 343 0 +126 344 0 +126 345 0 +126 346 0 +126 347 0 +126 348 0 +126 349 0 +126 350 0 +126 351 0 +126 352 0 +126 353 0 +126 354 0 +126 355 0 +126 356 0 +126 357 0 +126 358 0 +126 359 0 +126 360 0 +126 361 0 +126 362 0 +126 363 0 +126 364 0 +126 365 0 +126 366 0 +126 367 0 +126 368 0 +126 369 0 +126 370 0 +126 371 0 +126 372 0 +126 373 0 +126 374 0 +126 375 0 +126 376 0 +126 377 0 +126 378 0 +126 379 0 +126 380 0 +126 381 0 +126 382 0 +126 383 0 +127 128 0 +127 129 0 +127 130 0 +127 131 0 +127 132 0 +127 133 0 +127 134 0 +127 135 0 +127 136 0 +127 137 0 +127 138 0 +127 139 0 +127 140 0 +127 141 0 +127 142 0 +127 143 0 +127 144 0 +127 145 0 +127 146 0 +127 147 0 +127 148 0 +127 149 0 +127 150 0 +127 151 0 +127 152 0 +127 153 0 +127 154 0 +127 155 0 +127 156 0 +127 157 0 +127 158 0 +127 159 0 +127 160 0 +127 161 0 +127 162 0 +127 163 0 +127 164 0 +127 165 0 +127 166 0 +127 167 0 +127 168 0 +127 169 0 +127 170 0 +127 171 0 +127 172 0 +127 173 0 +127 174 0 +127 175 0 +127 176 0 +127 177 0 +127 178 0 +127 179 0 +127 180 0 +127 181 0 +127 182 0 +127 183 0 +127 184 0 +127 185 0 +127 186 0 +127 187 0 +127 188 0 +127 189 0 +127 190 0 +127 191 0 +127 192 0 +127 193 0 +127 194 0 +127 195 0 +127 196 0 +127 197 0 +127 198 0 +127 199 0 +127 200 0 +127 201 0 +127 202 0 +127 203 0 +127 204 0 +127 205 0 +127 206 0 +127 207 0 +127 208 0 +127 209 0 +127 210 0 +127 211 0 +127 212 0 +127 213 0 +127 214 0 +127 215 0 +127 216 0 +127 217 0 +127 218 0 +127 219 0 +127 220 0 +127 221 0 +127 222 0 +127 223 0 +127 224 0 +127 225 0 +127 226 0 +127 227 0 +127 228 0 +127 229 0 +127 230 0 +127 231 0 +127 232 0 +127 233 0 +127 234 0 +127 235 0 +127 236 0 +127 237 0 +127 238 0 +127 239 0 +127 240 0 +127 241 0 +127 242 0 +127 243 0 +127 244 0 +127 245 0 +127 246 0 +127 247 0 +127 248 0 +127 249 0 +127 250 0 +127 251 0 +127 252 0 +127 253 0 +127 254 0 +127 255 0 +127 256 0 +127 257 0 +127 258 0 +127 259 0 +127 260 0 +127 261 0 +127 262 0 +127 263 0 +127 264 0 +127 265 0 +127 266 0 +127 267 0 +127 268 0 +127 269 0 +127 270 0 +127 271 0 +127 272 0 +127 273 0 +127 274 0 +127 275 0 +127 276 0 +127 277 0 +127 278 0 +127 279 0 +127 280 0 +127 281 0 +127 282 0 +127 283 0 +127 284 0 +127 285 0 +127 286 0 +127 287 0 +127 288 0 +127 289 0 +127 290 0 +127 291 0 +127 292 0 +127 293 0 +127 294 0 +127 295 0 +127 296 0 +127 297 0 +127 298 0 +127 299 0 +127 300 0 +127 301 0 +127 302 0 +127 303 0 +127 304 0 +127 305 0 +127 306 0 +127 307 0 +127 308 0 +127 309 0 +127 310 0 +127 311 0 +127 312 0 +127 313 0 +127 314 0 +127 315 0 +127 316 0 +127 317 0 +127 318 0 +127 319 0 +127 320 0 +127 321 0 +127 322 0 +127 323 0 +127 324 0 +127 325 0 +127 326 0 +127 327 0 +127 328 0 +127 329 0 +127 330 0 +127 331 0 +127 332 0 +127 333 0 +127 334 0 +127 335 0 +127 336 0 +127 337 0 +127 338 0 +127 339 0 +127 340 0 +127 341 0 +127 342 0 +127 343 0 +127 344 0 +127 345 0 +127 346 0 +127 347 0 +127 348 0 +127 349 0 +127 350 0 +127 351 0 +127 352 0 +127 353 0 +127 354 0 +127 355 0 +127 356 0 +127 357 0 +127 358 0 +127 359 0 +127 360 0 +127 361 0 +127 362 0 +127 363 0 +127 364 0 +127 365 0 +127 366 0 +127 367 0 +127 368 0 +127 369 0 +127 370 0 +127 371 0 +127 372 0 +127 373 0 +127 374 0 +127 375 0 +127 376 0 +127 377 0 +127 378 0 +127 379 0 +127 380 0 +127 381 0 +127 382 0 +127 383 0 +128 129 0 +128 130 0 +128 131 0 +128 132 0 +128 133 0 +128 134 0 +128 135 0 +128 136 0 +128 137 0 +128 138 0 +128 139 0 +128 140 0 +128 141 0 +128 142 0 +128 143 0 +128 144 0 +128 145 0 +128 146 0 +128 147 0 +128 148 0 +128 149 0 +128 150 0 +128 151 0 +128 152 0 +128 153 0 +128 154 0 +128 155 0 +128 156 0 +128 157 0 +128 158 0 +128 159 0 +128 160 0 +128 161 0 +128 162 0 +128 163 0 +128 164 0 +128 165 0 +128 166 0 +128 167 0 +128 168 0 +128 169 0 +128 170 0 +128 171 0 +128 172 0 +128 173 0 +128 174 0 +128 175 0 +128 176 0 +128 177 0 +128 178 0 +128 179 0 +128 180 0 +128 181 0 +128 182 0 +128 183 0 +128 184 0 +128 185 0 +128 186 0 +128 187 0 +128 188 0 +128 189 0 +128 190 0 +128 191 0 +128 192 0 +128 193 0 +128 194 0 +128 195 0 +128 196 0 +128 197 0 +128 198 0 +128 199 0 +128 200 0 +128 201 0 +128 202 0 +128 203 0 +128 204 0 +128 205 0 +128 206 0 +128 207 0 +128 208 0 +128 209 0 +128 210 0 +128 211 0 +128 212 0 +128 213 0 +128 214 0 +128 215 0 +128 216 0 +128 217 0 +128 218 0 +128 219 0 +128 220 0 +128 221 0 +128 222 0 +128 223 0 +128 224 0 +128 225 0 +128 226 0 +128 227 0 +128 228 0 +128 229 0 +128 230 0 +128 231 0 +128 232 0 +128 233 0 +128 234 0 +128 235 0 +128 236 0 +128 237 0 +128 238 0 +128 239 0 +128 240 0 +128 241 0 +128 242 0 +128 243 0 +128 244 0 +128 245 0 +128 246 0 +128 247 0 +128 248 0 +128 249 0 +128 250 0 +128 251 0 +128 252 0 +128 253 0 +128 254 0 +128 255 0 +128 256 0 +128 257 0 +128 258 0 +128 259 0 +128 260 0 +128 261 0 +128 262 0 +128 263 0 +128 264 0 +128 265 0 +128 266 0 +128 267 0 +128 268 0 +128 269 0 +128 270 0 +128 271 0 +128 272 0 +128 273 0 +128 274 0 +128 275 0 +128 276 0 +128 277 0 +128 278 0 +128 279 0 +128 280 0 +128 281 0 +128 282 0 +128 283 0 +128 284 0 +128 285 0 +128 286 0 +128 287 0 +128 288 0 +128 289 0 +128 290 0 +128 291 0 +128 292 0 +128 293 0 +128 294 0 +128 295 0 +128 296 0 +128 297 0 +128 298 0 +128 299 0 +128 300 0 +128 301 0 +128 302 0 +128 303 0 +128 304 0 +128 305 0 +128 306 0 +128 307 0 +128 308 0 +128 309 0 +128 310 0 +128 311 0 +128 312 0 +128 313 0 +128 314 0 +128 315 0 +128 316 0 +128 317 0 +128 318 0 +128 319 0 +128 320 0 +128 321 0 +128 322 0 +128 323 0 +128 324 0 +128 325 0 +128 326 0 +128 327 0 +128 328 0 +128 329 0 +128 330 0 +128 331 0 +128 332 0 +128 333 0 +128 334 0 +128 335 0 +128 336 0 +128 337 0 +128 338 0 +128 339 0 +128 340 0 +128 341 0 +128 342 0 +128 343 0 +128 344 0 +128 345 0 +128 346 0 +128 347 0 +128 348 0 +128 349 0 +128 350 0 +128 351 0 +128 352 0 +128 353 0 +128 354 0 +128 355 0 +128 356 0 +128 357 0 +128 358 0 +128 359 0 +128 360 0 +128 361 0 +128 362 0 +128 363 0 +128 364 0 +128 365 0 +128 366 0 +128 367 0 +128 368 0 +128 369 0 +128 370 0 +128 371 0 +128 372 0 +128 373 0 +128 374 0 +128 375 0 +128 376 0 +128 377 0 +128 378 0 +128 379 0 +128 380 0 +128 381 0 +128 382 0 +128 383 0 +129 130 0 +129 131 0 +129 132 0 +129 133 0 +129 134 0 +129 135 0 +129 136 0 +129 137 0 +129 138 0 +129 139 0 +129 140 0 +129 141 0 +129 142 0 +129 143 0 +129 144 0 +129 145 0 +129 146 0 +129 147 0 +129 148 0 +129 149 0 +129 150 0 +129 151 0 +129 152 0 +129 153 0 +129 154 0 +129 155 0 +129 156 0 +129 157 0 +129 158 0 +129 159 0 +129 160 0 +129 161 0 +129 162 0 +129 163 0 +129 164 0 +129 165 0 +129 166 0 +129 167 0 +129 168 0 +129 169 0 +129 170 0 +129 171 0 +129 172 0 +129 173 0 +129 174 0 +129 175 0 +129 176 0 +129 177 0 +129 178 0 +129 179 0 +129 180 0 +129 181 0 +129 182 0 +129 183 0 +129 184 0 +129 185 0 +129 186 0 +129 187 0 +129 188 0 +129 189 0 +129 190 0 +129 191 0 +129 192 0 +129 193 0 +129 194 0 +129 195 0 +129 196 0 +129 197 0 +129 198 0 +129 199 0 +129 200 0 +129 201 0 +129 202 0 +129 203 0 +129 204 0 +129 205 0 +129 206 0 +129 207 0 +129 208 0 +129 209 0 +129 210 0 +129 211 0 +129 212 0 +129 213 0 +129 214 0 +129 215 0 +129 216 0 +129 217 0 +129 218 0 +129 219 0 +129 220 0 +129 221 0 +129 222 0 +129 223 0 +129 224 0 +129 225 0 +129 226 0 +129 227 0 +129 228 0 +129 229 0 +129 230 0 +129 231 0 +129 232 0 +129 233 0 +129 234 0 +129 235 0 +129 236 0 +129 237 0 +129 238 0 +129 239 0 +129 240 0 +129 241 0 +129 242 0 +129 243 0 +129 244 0 +129 245 0 +129 246 0 +129 247 0 +129 248 0 +129 249 0 +129 250 0 +129 251 0 +129 252 0 +129 253 0 +129 254 0 +129 255 0 +129 256 0 +129 257 0 +129 258 0 +129 259 0 +129 260 0 +129 261 0 +129 262 0 +129 263 0 +129 264 0 +129 265 0 +129 266 0 +129 267 0 +129 268 0 +129 269 0 +129 270 0 +129 271 0 +129 272 0 +129 273 0 +129 274 0 +129 275 0 +129 276 0 +129 277 0 +129 278 0 +129 279 0 +129 280 0 +129 281 0 +129 282 0 +129 283 0 +129 284 0 +129 285 0 +129 286 0 +129 287 0 +129 288 0 +129 289 0 +129 290 0 +129 291 0 +129 292 0 +129 293 0 +129 294 0 +129 295 0 +129 296 0 +129 297 0 +129 298 0 +129 299 0 +129 300 0 +129 301 0 +129 302 0 +129 303 0 +129 304 0 +129 305 0 +129 306 0 +129 307 0 +129 308 0 +129 309 0 +129 310 0 +129 311 0 +129 312 0 +129 313 0 +129 314 0 +129 315 0 +129 316 0 +129 317 0 +129 318 0 +129 319 0 +129 320 0 +129 321 0 +129 322 0 +129 323 0 +129 324 0 +129 325 0 +129 326 0 +129 327 0 +129 328 0 +129 329 0 +129 330 0 +129 331 0 +129 332 0 +129 333 0 +129 334 0 +129 335 0 +129 336 0 +129 337 0 +129 338 0 +129 339 0 +129 340 0 +129 341 0 +129 342 0 +129 343 0 +129 344 0 +129 345 0 +129 346 0 +129 347 0 +129 348 0 +129 349 0 +129 350 0 +129 351 0 +129 352 0 +129 353 0 +129 354 0 +129 355 0 +129 356 0 +129 357 0 +129 358 0 +129 359 0 +129 360 0 +129 361 0 +129 362 0 +129 363 0 +129 364 0 +129 365 0 +129 366 0 +129 367 0 +129 368 0 +129 369 0 +129 370 0 +129 371 0 +129 372 0 +129 373 0 +129 374 0 +129 375 0 +129 376 0 +129 377 0 +129 378 0 +129 379 0 +129 380 0 +129 381 0 +129 382 0 +129 383 0 +130 131 0 +130 132 0 +130 133 0 +130 134 0 +130 135 0 +130 136 0 +130 137 0 +130 138 0 +130 139 0 +130 140 0 +130 141 0 +130 142 0 +130 143 0 +130 144 0 +130 145 0 +130 146 0 +130 147 0 +130 148 0 +130 149 0 +130 150 0 +130 151 0 +130 152 0 +130 153 0 +130 154 0 +130 155 0 +130 156 0 +130 157 0 +130 158 0 +130 159 0 +130 160 0 +130 161 0 +130 162 0 +130 163 0 +130 164 0 +130 165 0 +130 166 0 +130 167 0 +130 168 0 +130 169 0 +130 170 0 +130 171 0 +130 172 0 +130 173 0 +130 174 0 +130 175 0 +130 176 0 +130 177 0 +130 178 0 +130 179 0 +130 180 0 +130 181 0 +130 182 0 +130 183 0 +130 184 0 +130 185 0 +130 186 0 +130 187 0 +130 188 0 +130 189 0 +130 190 0 +130 191 0 +130 192 0 +130 193 0 +130 194 0 +130 195 0 +130 196 0 +130 197 0 +130 198 0 +130 199 0 +130 200 0 +130 201 0 +130 202 0 +130 203 0 +130 204 0 +130 205 0 +130 206 0 +130 207 0 +130 208 0 +130 209 0 +130 210 0 +130 211 0 +130 212 0 +130 213 0 +130 214 0 +130 215 0 +130 216 0 +130 217 0 +130 218 0 +130 219 0 +130 220 0 +130 221 0 +130 222 0 +130 223 0 +130 224 0 +130 225 0 +130 226 0 +130 227 0 +130 228 0 +130 229 0 +130 230 0 +130 231 0 +130 232 0 +130 233 0 +130 234 0 +130 235 0 +130 236 0 +130 237 0 +130 238 0 +130 239 0 +130 240 0 +130 241 0 +130 242 0 +130 243 0 +130 244 0 +130 245 0 +130 246 0 +130 247 0 +130 248 0 +130 249 0 +130 250 0 +130 251 0 +130 252 0 +130 253 0 +130 254 0 +130 255 0 +130 256 0 +130 257 0 +130 258 0 +130 259 0 +130 260 0 +130 261 0 +130 262 0 +130 263 0 +130 264 0 +130 265 0 +130 266 0 +130 267 0 +130 268 0 +130 269 0 +130 270 0 +130 271 0 +130 272 0 +130 273 0 +130 274 0 +130 275 0 +130 276 0 +130 277 0 +130 278 0 +130 279 0 +130 280 0 +130 281 0 +130 282 0 +130 283 0 +130 284 0 +130 285 0 +130 286 0 +130 287 0 +130 288 0 +130 289 0 +130 290 0 +130 291 0 +130 292 0 +130 293 0 +130 294 0 +130 295 0 +130 296 0 +130 297 0 +130 298 0 +130 299 0 +130 300 0 +130 301 0 +130 302 0 +130 303 0 +130 304 0 +130 305 0 +130 306 0 +130 307 0 +130 308 0 +130 309 0 +130 310 0 +130 311 0 +130 312 0 +130 313 0 +130 314 0 +130 315 0 +130 316 0 +130 317 0 +130 318 0 +130 319 0 +130 320 0 +130 321 0 +130 322 0 +130 323 0 +130 324 0 +130 325 0 +130 326 0 +130 327 0 +130 328 0 +130 329 0 +130 330 0 +130 331 0 +130 332 0 +130 333 0 +130 334 0 +130 335 0 +130 336 0 +130 337 0 +130 338 0 +130 339 0 +130 340 0 +130 341 0 +130 342 0 +130 343 0 +130 344 0 +130 345 0 +130 346 0 +130 347 0 +130 348 0 +130 349 0 +130 350 0 +130 351 0 +130 352 0 +130 353 0 +130 354 0 +130 355 0 +130 356 0 +130 357 0 +130 358 0 +130 359 0 +130 360 0 +130 361 0 +130 362 0 +130 363 0 +130 364 0 +130 365 0 +130 366 0 +130 367 0 +130 368 0 +130 369 0 +130 370 0 +130 371 0 +130 372 0 +130 373 0 +130 374 0 +130 375 0 +130 376 0 +130 377 0 +130 378 0 +130 379 0 +130 380 0 +130 381 0 +130 382 0 +130 383 0 +131 132 0 +131 133 0 +131 134 0 +131 135 0 +131 136 0 +131 137 0 +131 138 0 +131 139 0 +131 140 0 +131 141 0 +131 142 0 +131 143 0 +131 144 0 +131 145 0 +131 146 0 +131 147 0 +131 148 0 +131 149 0 +131 150 0 +131 151 0 +131 152 0 +131 153 0 +131 154 0 +131 155 0 +131 156 0 +131 157 0 +131 158 0 +131 159 0 +131 160 0 +131 161 0 +131 162 0 +131 163 0 +131 164 0 +131 165 0 +131 166 0 +131 167 0 +131 168 0 +131 169 0 +131 170 0 +131 171 0 +131 172 0 +131 173 0 +131 174 0 +131 175 0 +131 176 0 +131 177 0 +131 178 0 +131 179 0 +131 180 0 +131 181 0 +131 182 0 +131 183 0 +131 184 0 +131 185 0 +131 186 0 +131 187 0 +131 188 0 +131 189 0 +131 190 0 +131 191 0 +131 192 0 +131 193 0 +131 194 0 +131 195 0 +131 196 0 +131 197 0 +131 198 0 +131 199 0 +131 200 0 +131 201 0 +131 202 0 +131 203 0 +131 204 0 +131 205 0 +131 206 0 +131 207 0 +131 208 0 +131 209 0 +131 210 0 +131 211 0 +131 212 0 +131 213 0 +131 214 0 +131 215 0 +131 216 0 +131 217 0 +131 218 0 +131 219 0 +131 220 0 +131 221 0 +131 222 0 +131 223 0 +131 224 0 +131 225 0 +131 226 0 +131 227 0 +131 228 0 +131 229 0 +131 230 0 +131 231 0 +131 232 0 +131 233 0 +131 234 0 +131 235 0 +131 236 0 +131 237 0 +131 238 0 +131 239 0 +131 240 0 +131 241 0 +131 242 0 +131 243 0 +131 244 0 +131 245 0 +131 246 0 +131 247 0 +131 248 0 +131 249 0 +131 250 0 +131 251 0 +131 252 0 +131 253 0 +131 254 0 +131 255 0 +131 256 0 +131 257 0 +131 258 0 +131 259 0 +131 260 0 +131 261 0 +131 262 0 +131 263 0 +131 264 0 +131 265 0 +131 266 0 +131 267 0 +131 268 0 +131 269 0 +131 270 0 +131 271 0 +131 272 0 +131 273 0 +131 274 0 +131 275 0 +131 276 0 +131 277 0 +131 278 0 +131 279 0 +131 280 0 +131 281 0 +131 282 0 +131 283 0 +131 284 0 +131 285 0 +131 286 0 +131 287 0 +131 288 0 +131 289 0 +131 290 0 +131 291 0 +131 292 0 +131 293 0 +131 294 0 +131 295 0 +131 296 0 +131 297 0 +131 298 0 +131 299 0 +131 300 0 +131 301 0 +131 302 0 +131 303 0 +131 304 0 +131 305 0 +131 306 0 +131 307 0 +131 308 0 +131 309 0 +131 310 0 +131 311 0 +131 312 0 +131 313 0 +131 314 0 +131 315 0 +131 316 0 +131 317 0 +131 318 0 +131 319 0 +131 320 0 +131 321 0 +131 322 0 +131 323 0 +131 324 0 +131 325 0 +131 326 0 +131 327 0 +131 328 0 +131 329 0 +131 330 0 +131 331 0 +131 332 0 +131 333 0 +131 334 0 +131 335 0 +131 336 0 +131 337 0 +131 338 0 +131 339 0 +131 340 0 +131 341 0 +131 342 0 +131 343 0 +131 344 0 +131 345 0 +131 346 0 +131 347 0 +131 348 0 +131 349 0 +131 350 0 +131 351 0 +131 352 0 +131 353 0 +131 354 0 +131 355 0 +131 356 0 +131 357 0 +131 358 0 +131 359 0 +131 360 0 +131 361 0 +131 362 0 +131 363 0 +131 364 0 +131 365 0 +131 366 0 +131 367 0 +131 368 0 +131 369 0 +131 370 0 +131 371 0 +131 372 0 +131 373 0 +131 374 0 +131 375 0 +131 376 0 +131 377 0 +131 378 0 +131 379 0 +131 380 0 +131 381 0 +131 382 0 +131 383 0 +132 133 0 +132 134 0 +132 135 0 +132 136 0 +132 137 0 +132 138 0 +132 139 0 +132 140 0 +132 141 0 +132 142 0 +132 143 0 +132 144 0 +132 145 0 +132 146 0 +132 147 0 +132 148 0 +132 149 0 +132 150 0 +132 151 0 +132 152 0 +132 153 0 +132 154 0 +132 155 0 +132 156 0 +132 157 0 +132 158 0 +132 159 0 +132 160 0 +132 161 0 +132 162 0 +132 163 0 +132 164 0 +132 165 0 +132 166 0 +132 167 0 +132 168 0 +132 169 0 +132 170 0 +132 171 0 +132 172 0 +132 173 0 +132 174 0 +132 175 0 +132 176 0 +132 177 0 +132 178 0 +132 179 0 +132 180 0 +132 181 0 +132 182 0 +132 183 0 +132 184 0 +132 185 0 +132 186 0 +132 187 0 +132 188 0 +132 189 0 +132 190 0 +132 191 0 +132 192 0 +132 193 0 +132 194 0 +132 195 0 +132 196 0 +132 197 0 +132 198 0 +132 199 0 +132 200 0 +132 201 0 +132 202 0 +132 203 0 +132 204 0 +132 205 0 +132 206 0 +132 207 0 +132 208 0 +132 209 0 +132 210 0 +132 211 0 +132 212 0 +132 213 0 +132 214 0 +132 215 0 +132 216 0 +132 217 0 +132 218 0 +132 219 0 +132 220 0 +132 221 0 +132 222 0 +132 223 0 +132 224 0 +132 225 0 +132 226 0 +132 227 0 +132 228 0 +132 229 0 +132 230 0 +132 231 0 +132 232 0 +132 233 0 +132 234 0 +132 235 0 +132 236 0 +132 237 0 +132 238 0 +132 239 0 +132 240 0 +132 241 0 +132 242 0 +132 243 0 +132 244 0 +132 245 0 +132 246 0 +132 247 0 +132 248 0 +132 249 0 +132 250 0 +132 251 0 +132 252 0 +132 253 0 +132 254 0 +132 255 0 +132 256 0 +132 257 0 +132 258 0 +132 259 0 +132 260 0 +132 261 0 +132 262 0 +132 263 0 +132 264 0 +132 265 0 +132 266 0 +132 267 0 +132 268 0 +132 269 0 +132 270 0 +132 271 0 +132 272 0 +132 273 0 +132 274 0 +132 275 0 +132 276 0 +132 277 0 +132 278 0 +132 279 0 +132 280 0 +132 281 0 +132 282 0 +132 283 0 +132 284 0 +132 285 0 +132 286 0 +132 287 0 +132 288 0 +132 289 0 +132 290 0 +132 291 0 +132 292 0 +132 293 0 +132 294 0 +132 295 0 +132 296 0 +132 297 0 +132 298 0 +132 299 0 +132 300 0 +132 301 0 +132 302 0 +132 303 0 +132 304 0 +132 305 0 +132 306 0 +132 307 0 +132 308 0 +132 309 0 +132 310 0 +132 311 0 +132 312 0 +132 313 0 +132 314 0 +132 315 0 +132 316 0 +132 317 0 +132 318 0 +132 319 0 +132 320 0 +132 321 0 +132 322 0 +132 323 0 +132 324 0 +132 325 0 +132 326 0 +132 327 0 +132 328 0 +132 329 0 +132 330 0 +132 331 0 +132 332 0 +132 333 0 +132 334 0 +132 335 0 +132 336 0 +132 337 0 +132 338 0 +132 339 0 +132 340 0 +132 341 0 +132 342 0 +132 343 0 +132 344 0 +132 345 0 +132 346 0 +132 347 0 +132 348 0 +132 349 0 +132 350 0 +132 351 0 +132 352 0 +132 353 0 +132 354 0 +132 355 0 +132 356 0 +132 357 0 +132 358 0 +132 359 0 +132 360 0 +132 361 0 +132 362 0 +132 363 0 +132 364 0 +132 365 0 +132 366 0 +132 367 0 +132 368 0 +132 369 0 +132 370 0 +132 371 0 +132 372 0 +132 373 0 +132 374 0 +132 375 0 +132 376 0 +132 377 0 +132 378 0 +132 379 0 +132 380 0 +132 381 0 +132 382 0 +132 383 0 +133 134 0 +133 135 0 +133 136 0 +133 137 0 +133 138 0 +133 139 0 +133 140 0 +133 141 0 +133 142 0 +133 143 0 +133 144 0 +133 145 0 +133 146 0 +133 147 0 +133 148 0 +133 149 0 +133 150 0 +133 151 0 +133 152 0 +133 153 0 +133 154 0 +133 155 0 +133 156 0 +133 157 0 +133 158 0 +133 159 0 +133 160 0 +133 161 0 +133 162 0 +133 163 0 +133 164 0 +133 165 0 +133 166 0 +133 167 0 +133 168 0 +133 169 0 +133 170 0 +133 171 0 +133 172 0 +133 173 0 +133 174 0 +133 175 0 +133 176 0 +133 177 0 +133 178 0 +133 179 0 +133 180 0 +133 181 0 +133 182 0 +133 183 0 +133 184 0 +133 185 0 +133 186 0 +133 187 0 +133 188 0 +133 189 0 +133 190 0 +133 191 0 +133 192 0 +133 193 0 +133 194 0 +133 195 0 +133 196 0 +133 197 0 +133 198 0 +133 199 0 +133 200 0 +133 201 0 +133 202 0 +133 203 0 +133 204 0 +133 205 0 +133 206 0 +133 207 0 +133 208 0 +133 209 0 +133 210 0 +133 211 0 +133 212 0 +133 213 0 +133 214 0 +133 215 0 +133 216 0 +133 217 0 +133 218 0 +133 219 0 +133 220 0 +133 221 0 +133 222 0 +133 223 0 +133 224 0 +133 225 0 +133 226 0 +133 227 0 +133 228 0 +133 229 0 +133 230 0 +133 231 0 +133 232 0 +133 233 0 +133 234 0 +133 235 0 +133 236 0 +133 237 0 +133 238 0 +133 239 0 +133 240 0 +133 241 0 +133 242 0 +133 243 0 +133 244 0 +133 245 0 +133 246 0 +133 247 0 +133 248 0 +133 249 0 +133 250 0 +133 251 0 +133 252 0 +133 253 0 +133 254 0 +133 255 0 +133 256 0 +133 257 0 +133 258 0 +133 259 0 +133 260 0 +133 261 0 +133 262 0 +133 263 0 +133 264 0 +133 265 0 +133 266 0 +133 267 0 +133 268 0 +133 269 0 +133 270 0 +133 271 0 +133 272 0 +133 273 0 +133 274 0 +133 275 0 +133 276 0 +133 277 0 +133 278 0 +133 279 0 +133 280 0 +133 281 0 +133 282 0 +133 283 0 +133 284 0 +133 285 0 +133 286 0 +133 287 0 +133 288 0 +133 289 0 +133 290 0 +133 291 0 +133 292 0 +133 293 0 +133 294 0 +133 295 0 +133 296 0 +133 297 0 +133 298 0 +133 299 0 +133 300 0 +133 301 0 +133 302 0 +133 303 0 +133 304 0 +133 305 0 +133 306 0 +133 307 0 +133 308 0 +133 309 0 +133 310 0 +133 311 0 +133 312 0 +133 313 0 +133 314 0 +133 315 0 +133 316 0 +133 317 0 +133 318 0 +133 319 0 +133 320 0 +133 321 0 +133 322 0 +133 323 0 +133 324 0 +133 325 0 +133 326 0 +133 327 0 +133 328 0 +133 329 0 +133 330 0 +133 331 0 +133 332 0 +133 333 0 +133 334 0 +133 335 0 +133 336 0 +133 337 0 +133 338 0 +133 339 0 +133 340 0 +133 341 0 +133 342 0 +133 343 0 +133 344 0 +133 345 0 +133 346 0 +133 347 0 +133 348 0 +133 349 0 +133 350 0 +133 351 0 +133 352 0 +133 353 0 +133 354 0 +133 355 0 +133 356 0 +133 357 0 +133 358 0 +133 359 0 +133 360 0 +133 361 0 +133 362 0 +133 363 0 +133 364 0 +133 365 0 +133 366 0 +133 367 0 +133 368 0 +133 369 0 +133 370 0 +133 371 0 +133 372 0 +133 373 0 +133 374 0 +133 375 0 +133 376 0 +133 377 0 +133 378 0 +133 379 0 +133 380 0 +133 381 0 +133 382 0 +133 383 0 +134 135 0 +134 136 0 +134 137 0 +134 138 0 +134 139 0 +134 140 0 +134 141 0 +134 142 0 +134 143 0 +134 144 0 +134 145 0 +134 146 0 +134 147 0 +134 148 0 +134 149 0 +134 150 0 +134 151 0 +134 152 0 +134 153 0 +134 154 0 +134 155 0 +134 156 0 +134 157 0 +134 158 0 +134 159 0 +134 160 0 +134 161 0 +134 162 0 +134 163 0 +134 164 0 +134 165 0 +134 166 0 +134 167 0 +134 168 0 +134 169 0 +134 170 0 +134 171 0 +134 172 0 +134 173 0 +134 174 0 +134 175 0 +134 176 0 +134 177 0 +134 178 0 +134 179 0 +134 180 0 +134 181 0 +134 182 0 +134 183 0 +134 184 0 +134 185 0 +134 186 0 +134 187 0 +134 188 0 +134 189 0 +134 190 0 +134 191 0 +134 192 0 +134 193 0 +134 194 0 +134 195 0 +134 196 0 +134 197 0 +134 198 0 +134 199 0 +134 200 0 +134 201 0 +134 202 0 +134 203 0 +134 204 0 +134 205 0 +134 206 0 +134 207 0 +134 208 0 +134 209 0 +134 210 0 +134 211 0 +134 212 0 +134 213 0 +134 214 0 +134 215 0 +134 216 0 +134 217 0 +134 218 0 +134 219 0 +134 220 0 +134 221 0 +134 222 0 +134 223 0 +134 224 0 +134 225 0 +134 226 0 +134 227 0 +134 228 0 +134 229 0 +134 230 0 +134 231 0 +134 232 0 +134 233 0 +134 234 0 +134 235 0 +134 236 0 +134 237 0 +134 238 0 +134 239 0 +134 240 0 +134 241 0 +134 242 0 +134 243 0 +134 244 0 +134 245 0 +134 246 0 +134 247 0 +134 248 0 +134 249 0 +134 250 0 +134 251 0 +134 252 0 +134 253 0 +134 254 0 +134 255 0 +134 256 0 +134 257 0 +134 258 0 +134 259 0 +134 260 0 +134 261 0 +134 262 0 +134 263 0 +134 264 0 +134 265 0 +134 266 0 +134 267 0 +134 268 0 +134 269 0 +134 270 0 +134 271 0 +134 272 0 +134 273 0 +134 274 0 +134 275 0 +134 276 0 +134 277 0 +134 278 0 +134 279 0 +134 280 0 +134 281 0 +134 282 0 +134 283 0 +134 284 0 +134 285 0 +134 286 0 +134 287 0 +134 288 0 +134 289 0 +134 290 0 +134 291 0 +134 292 0 +134 293 0 +134 294 0 +134 295 0 +134 296 0 +134 297 0 +134 298 0 +134 299 0 +134 300 0 +134 301 0 +134 302 0 +134 303 0 +134 304 0 +134 305 0 +134 306 0 +134 307 0 +134 308 0 +134 309 0 +134 310 0 +134 311 0 +134 312 0 +134 313 0 +134 314 0 +134 315 0 +134 316 0 +134 317 0 +134 318 0 +134 319 0 +134 320 0 +134 321 0 +134 322 0 +134 323 0 +134 324 0 +134 325 0 +134 326 0 +134 327 0 +134 328 0 +134 329 0 +134 330 0 +134 331 0 +134 332 0 +134 333 0 +134 334 0 +134 335 0 +134 336 0 +134 337 0 +134 338 0 +134 339 0 +134 340 0 +134 341 0 +134 342 0 +134 343 0 +134 344 0 +134 345 0 +134 346 0 +134 347 0 +134 348 0 +134 349 0 +134 350 0 +134 351 0 +134 352 0 +134 353 0 +134 354 0 +134 355 0 +134 356 0 +134 357 0 +134 358 0 +134 359 0 +134 360 0 +134 361 0 +134 362 0 +134 363 0 +134 364 0 +134 365 0 +134 366 0 +134 367 0 +134 368 0 +134 369 0 +134 370 0 +134 371 0 +134 372 0 +134 373 0 +134 374 0 +134 375 0 +134 376 0 +134 377 0 +134 378 0 +134 379 0 +134 380 0 +134 381 0 +134 382 0 +134 383 0 +135 136 0 +135 137 0 +135 138 0 +135 139 0 +135 140 0 +135 141 0 +135 142 0 +135 143 0 +135 144 0 +135 145 0 +135 146 0 +135 147 0 +135 148 0 +135 149 0 +135 150 0 +135 151 0 +135 152 0 +135 153 0 +135 154 0 +135 155 0 +135 156 0 +135 157 0 +135 158 0 +135 159 0 +135 160 0 +135 161 0 +135 162 0 +135 163 0 +135 164 0 +135 165 0 +135 166 0 +135 167 0 +135 168 0 +135 169 0 +135 170 0 +135 171 0 +135 172 0 +135 173 0 +135 174 0 +135 175 0 +135 176 0 +135 177 0 +135 178 0 +135 179 0 +135 180 0 +135 181 0 +135 182 0 +135 183 0 +135 184 0 +135 185 0 +135 186 0 +135 187 0 +135 188 0 +135 189 0 +135 190 0 +135 191 0 +135 192 0 +135 193 0 +135 194 0 +135 195 0 +135 196 0 +135 197 0 +135 198 0 +135 199 0 +135 200 0 +135 201 0 +135 202 0 +135 203 0 +135 204 0 +135 205 0 +135 206 0 +135 207 0 +135 208 0 +135 209 0 +135 210 0 +135 211 0 +135 212 0 +135 213 0 +135 214 0 +135 215 0 +135 216 0 +135 217 0 +135 218 0 +135 219 0 +135 220 0 +135 221 0 +135 222 0 +135 223 0 +135 224 0 +135 225 0 +135 226 0 +135 227 0 +135 228 0 +135 229 0 +135 230 0 +135 231 0 +135 232 0 +135 233 0 +135 234 0 +135 235 0 +135 236 0 +135 237 0 +135 238 0 +135 239 0 +135 240 0 +135 241 0 +135 242 0 +135 243 0 +135 244 0 +135 245 0 +135 246 0 +135 247 0 +135 248 0 +135 249 0 +135 250 0 +135 251 0 +135 252 0 +135 253 0 +135 254 0 +135 255 0 +135 256 0 +135 257 0 +135 258 0 +135 259 0 +135 260 0 +135 261 0 +135 262 0 +135 263 0 +135 264 0 +135 265 0 +135 266 0 +135 267 0 +135 268 0 +135 269 0 +135 270 0 +135 271 0 +135 272 0 +135 273 0 +135 274 0 +135 275 0 +135 276 0 +135 277 0 +135 278 0 +135 279 0 +135 280 0 +135 281 0 +135 282 0 +135 283 0 +135 284 0 +135 285 0 +135 286 0 +135 287 0 +135 288 0 +135 289 0 +135 290 0 +135 291 0 +135 292 0 +135 293 0 +135 294 0 +135 295 0 +135 296 0 +135 297 0 +135 298 0 +135 299 0 +135 300 0 +135 301 0 +135 302 0 +135 303 0 +135 304 0 +135 305 0 +135 306 0 +135 307 0 +135 308 0 +135 309 0 +135 310 0 +135 311 0 +135 312 0 +135 313 0 +135 314 0 +135 315 0 +135 316 0 +135 317 0 +135 318 0 +135 319 0 +135 320 0 +135 321 0 +135 322 0 +135 323 0 +135 324 0 +135 325 0 +135 326 0 +135 327 0 +135 328 0 +135 329 0 +135 330 0 +135 331 0 +135 332 0 +135 333 0 +135 334 0 +135 335 0 +135 336 0 +135 337 0 +135 338 0 +135 339 0 +135 340 0 +135 341 0 +135 342 0 +135 343 0 +135 344 0 +135 345 0 +135 346 0 +135 347 0 +135 348 0 +135 349 0 +135 350 0 +135 351 0 +135 352 0 +135 353 0 +135 354 0 +135 355 0 +135 356 0 +135 357 0 +135 358 0 +135 359 0 +135 360 0 +135 361 0 +135 362 0 +135 363 0 +135 364 0 +135 365 0 +135 366 0 +135 367 0 +135 368 0 +135 369 0 +135 370 0 +135 371 0 +135 372 0 +135 373 0 +135 374 0 +135 375 0 +135 376 0 +135 377 0 +135 378 0 +135 379 0 +135 380 0 +135 381 0 +135 382 0 +135 383 0 +136 137 0 +136 138 0 +136 139 0 +136 140 0 +136 141 0 +136 142 0 +136 143 0 +136 144 0 +136 145 0 +136 146 0 +136 147 0 +136 148 0 +136 149 0 +136 150 0 +136 151 0 +136 152 0 +136 153 0 +136 154 0 +136 155 0 +136 156 0 +136 157 0 +136 158 0 +136 159 0 +136 160 0 +136 161 0 +136 162 0 +136 163 0 +136 164 0 +136 165 0 +136 166 0 +136 167 0 +136 168 0 +136 169 0 +136 170 0 +136 171 0 +136 172 0 +136 173 0 +136 174 0 +136 175 0 +136 176 0 +136 177 0 +136 178 0 +136 179 0 +136 180 0 +136 181 0 +136 182 0 +136 183 0 +136 184 0 +136 185 0 +136 186 0 +136 187 0 +136 188 0 +136 189 0 +136 190 0 +136 191 0 +136 192 0 +136 193 0 +136 194 0 +136 195 0 +136 196 0 +136 197 0 +136 198 0 +136 199 0 +136 200 0 +136 201 0 +136 202 0 +136 203 0 +136 204 0 +136 205 0 +136 206 0 +136 207 0 +136 208 0 +136 209 0 +136 210 0 +136 211 0 +136 212 0 +136 213 0 +136 214 0 +136 215 0 +136 216 0 +136 217 0 +136 218 0 +136 219 0 +136 220 0 +136 221 0 +136 222 0 +136 223 0 +136 224 0 +136 225 0 +136 226 0 +136 227 0 +136 228 0 +136 229 0 +136 230 0 +136 231 0 +136 232 0 +136 233 0 +136 234 0 +136 235 0 +136 236 0 +136 237 0 +136 238 0 +136 239 0 +136 240 0 +136 241 0 +136 242 0 +136 243 0 +136 244 0 +136 245 0 +136 246 0 +136 247 0 +136 248 0 +136 249 0 +136 250 0 +136 251 0 +136 252 0 +136 253 0 +136 254 0 +136 255 0 +136 256 0 +136 257 0 +136 258 0 +136 259 0 +136 260 0 +136 261 0 +136 262 0 +136 263 0 +136 264 0 +136 265 0 +136 266 0 +136 267 0 +136 268 0 +136 269 0 +136 270 0 +136 271 0 +136 272 0 +136 273 0 +136 274 0 +136 275 0 +136 276 0 +136 277 0 +136 278 0 +136 279 0 +136 280 0 +136 281 0 +136 282 0 +136 283 0 +136 284 0 +136 285 0 +136 286 0 +136 287 0 +136 288 0 +136 289 0 +136 290 0 +136 291 0 +136 292 0 +136 293 0 +136 294 0 +136 295 0 +136 296 0 +136 297 0 +136 298 0 +136 299 0 +136 300 0 +136 301 0 +136 302 0 +136 303 0 +136 304 0 +136 305 0 +136 306 0 +136 307 0 +136 308 0 +136 309 0 +136 310 0 +136 311 0 +136 312 0 +136 313 0 +136 314 0 +136 315 0 +136 316 0 +136 317 0 +136 318 0 +136 319 0 +136 320 0 +136 321 0 +136 322 0 +136 323 0 +136 324 0 +136 325 0 +136 326 0 +136 327 0 +136 328 0 +136 329 0 +136 330 0 +136 331 0 +136 332 0 +136 333 0 +136 334 0 +136 335 0 +136 336 0 +136 337 0 +136 338 0 +136 339 0 +136 340 0 +136 341 0 +136 342 0 +136 343 0 +136 344 0 +136 345 0 +136 346 0 +136 347 0 +136 348 0 +136 349 0 +136 350 0 +136 351 0 +136 352 0 +136 353 0 +136 354 0 +136 355 0 +136 356 0 +136 357 0 +136 358 0 +136 359 0 +136 360 0 +136 361 0 +136 362 0 +136 363 0 +136 364 0 +136 365 0 +136 366 0 +136 367 0 +136 368 0 +136 369 0 +136 370 0 +136 371 0 +136 372 0 +136 373 0 +136 374 0 +136 375 0 +136 376 0 +136 377 0 +136 378 0 +136 379 0 +136 380 0 +136 381 0 +136 382 0 +136 383 0 +137 138 0 +137 139 0 +137 140 0 +137 141 0 +137 142 0 +137 143 0 +137 144 0 +137 145 0 +137 146 0 +137 147 0 +137 148 0 +137 149 0 +137 150 0 +137 151 0 +137 152 0 +137 153 0 +137 154 0 +137 155 0 +137 156 0 +137 157 0 +137 158 0 +137 159 0 +137 160 0 +137 161 0 +137 162 0 +137 163 0 +137 164 0 +137 165 0 +137 166 0 +137 167 0 +137 168 0 +137 169 0 +137 170 0 +137 171 0 +137 172 0 +137 173 0 +137 174 0 +137 175 0 +137 176 0 +137 177 0 +137 178 0 +137 179 0 +137 180 0 +137 181 0 +137 182 0 +137 183 0 +137 184 0 +137 185 0 +137 186 0 +137 187 0 +137 188 0 +137 189 0 +137 190 0 +137 191 0 +137 192 0 +137 193 0 +137 194 0 +137 195 0 +137 196 0 +137 197 0 +137 198 0 +137 199 0 +137 200 0 +137 201 0 +137 202 0 +137 203 0 +137 204 0 +137 205 0 +137 206 0 +137 207 0 +137 208 0 +137 209 0 +137 210 0 +137 211 0 +137 212 0 +137 213 0 +137 214 0 +137 215 0 +137 216 0 +137 217 0 +137 218 0 +137 219 0 +137 220 0 +137 221 0 +137 222 0 +137 223 0 +137 224 0 +137 225 0 +137 226 0 +137 227 0 +137 228 0 +137 229 0 +137 230 0 +137 231 0 +137 232 0 +137 233 0 +137 234 0 +137 235 0 +137 236 0 +137 237 0 +137 238 0 +137 239 0 +137 240 0 +137 241 0 +137 242 0 +137 243 0 +137 244 0 +137 245 0 +137 246 0 +137 247 0 +137 248 0 +137 249 0 +137 250 0 +137 251 0 +137 252 0 +137 253 0 +137 254 0 +137 255 0 +137 256 0 +137 257 0 +137 258 0 +137 259 0 +137 260 0 +137 261 0 +137 262 0 +137 263 0 +137 264 0 +137 265 0 +137 266 0 +137 267 0 +137 268 0 +137 269 0 +137 270 0 +137 271 0 +137 272 0 +137 273 0 +137 274 0 +137 275 0 +137 276 0 +137 277 0 +137 278 0 +137 279 0 +137 280 0 +137 281 0 +137 282 0 +137 283 0 +137 284 0 +137 285 0 +137 286 0 +137 287 0 +137 288 0 +137 289 0 +137 290 0 +137 291 0 +137 292 0 +137 293 0 +137 294 0 +137 295 0 +137 296 0 +137 297 0 +137 298 0 +137 299 0 +137 300 0 +137 301 0 +137 302 0 +137 303 0 +137 304 0 +137 305 0 +137 306 0 +137 307 0 +137 308 0 +137 309 0 +137 310 0 +137 311 0 +137 312 0 +137 313 0 +137 314 0 +137 315 0 +137 316 0 +137 317 0 +137 318 0 +137 319 0 +137 320 0 +137 321 0 +137 322 0 +137 323 0 +137 324 0 +137 325 0 +137 326 0 +137 327 0 +137 328 0 +137 329 0 +137 330 0 +137 331 0 +137 332 0 +137 333 0 +137 334 0 +137 335 0 +137 336 0 +137 337 0 +137 338 0 +137 339 0 +137 340 0 +137 341 0 +137 342 0 +137 343 0 +137 344 0 +137 345 0 +137 346 0 +137 347 0 +137 348 0 +137 349 0 +137 350 0 +137 351 0 +137 352 0 +137 353 0 +137 354 0 +137 355 0 +137 356 0 +137 357 0 +137 358 0 +137 359 0 +137 360 0 +137 361 0 +137 362 0 +137 363 0 +137 364 0 +137 365 0 +137 366 0 +137 367 0 +137 368 0 +137 369 0 +137 370 0 +137 371 0 +137 372 0 +137 373 0 +137 374 0 +137 375 0 +137 376 0 +137 377 0 +137 378 0 +137 379 0 +137 380 0 +137 381 0 +137 382 0 +137 383 0 +138 139 0 +138 140 0 +138 141 0 +138 142 0 +138 143 0 +138 144 0 +138 145 0 +138 146 0 +138 147 0 +138 148 0 +138 149 0 +138 150 0 +138 151 0 +138 152 0 +138 153 0 +138 154 0 +138 155 0 +138 156 0 +138 157 0 +138 158 0 +138 159 0 +138 160 0 +138 161 0 +138 162 0 +138 163 0 +138 164 0 +138 165 0 +138 166 0 +138 167 0 +138 168 0 +138 169 0 +138 170 0 +138 171 0 +138 172 0 +138 173 0 +138 174 0 +138 175 0 +138 176 0 +138 177 0 +138 178 0 +138 179 0 +138 180 0 +138 181 0 +138 182 0 +138 183 0 +138 184 0 +138 185 0 +138 186 0 +138 187 0 +138 188 0 +138 189 0 +138 190 0 +138 191 0 +138 192 0 +138 193 0 +138 194 0 +138 195 0 +138 196 0 +138 197 0 +138 198 0 +138 199 0 +138 200 0 +138 201 0 +138 202 0 +138 203 0 +138 204 0 +138 205 0 +138 206 0 +138 207 0 +138 208 0 +138 209 0 +138 210 0 +138 211 0 +138 212 0 +138 213 0 +138 214 0 +138 215 0 +138 216 0 +138 217 0 +138 218 0 +138 219 0 +138 220 0 +138 221 0 +138 222 0 +138 223 0 +138 224 0 +138 225 0 +138 226 0 +138 227 0 +138 228 0 +138 229 0 +138 230 0 +138 231 0 +138 232 0 +138 233 0 +138 234 0 +138 235 0 +138 236 0 +138 237 0 +138 238 0 +138 239 0 +138 240 0 +138 241 0 +138 242 0 +138 243 0 +138 244 0 +138 245 0 +138 246 0 +138 247 0 +138 248 0 +138 249 0 +138 250 0 +138 251 0 +138 252 0 +138 253 0 +138 254 0 +138 255 0 +138 256 0 +138 257 0 +138 258 0 +138 259 0 +138 260 0 +138 261 0 +138 262 0 +138 263 0 +138 264 0 +138 265 0 +138 266 0 +138 267 0 +138 268 0 +138 269 0 +138 270 0 +138 271 0 +138 272 0 +138 273 0 +138 274 0 +138 275 0 +138 276 0 +138 277 0 +138 278 0 +138 279 0 +138 280 0 +138 281 0 +138 282 0 +138 283 0 +138 284 0 +138 285 0 +138 286 0 +138 287 0 +138 288 0 +138 289 0 +138 290 0 +138 291 0 +138 292 0 +138 293 0 +138 294 0 +138 295 0 +138 296 0 +138 297 0 +138 298 0 +138 299 0 +138 300 0 +138 301 0 +138 302 0 +138 303 0 +138 304 0 +138 305 0 +138 306 0 +138 307 0 +138 308 0 +138 309 0 +138 310 0 +138 311 0 +138 312 0 +138 313 0 +138 314 0 +138 315 0 +138 316 0 +138 317 0 +138 318 0 +138 319 0 +138 320 0 +138 321 0 +138 322 0 +138 323 0 +138 324 0 +138 325 0 +138 326 0 +138 327 0 +138 328 0 +138 329 0 +138 330 0 +138 331 0 +138 332 0 +138 333 0 +138 334 0 +138 335 0 +138 336 0 +138 337 0 +138 338 0 +138 339 0 +138 340 0 +138 341 0 +138 342 0 +138 343 0 +138 344 0 +138 345 0 +138 346 0 +138 347 0 +138 348 0 +138 349 0 +138 350 0 +138 351 0 +138 352 0 +138 353 0 +138 354 0 +138 355 0 +138 356 0 +138 357 0 +138 358 0 +138 359 0 +138 360 0 +138 361 0 +138 362 0 +138 363 0 +138 364 0 +138 365 0 +138 366 0 +138 367 0 +138 368 0 +138 369 0 +138 370 0 +138 371 0 +138 372 0 +138 373 0 +138 374 0 +138 375 0 +138 376 0 +138 377 0 +138 378 0 +138 379 0 +138 380 0 +138 381 0 +138 382 0 +138 383 0 +139 140 0 +139 141 0 +139 142 0 +139 143 0 +139 144 0 +139 145 0 +139 146 0 +139 147 0 +139 148 0 +139 149 0 +139 150 0 +139 151 0 +139 152 0 +139 153 0 +139 154 0 +139 155 0 +139 156 0 +139 157 0 +139 158 0 +139 159 0 +139 160 0 +139 161 0 +139 162 0 +139 163 0 +139 164 0 +139 165 0 +139 166 0 +139 167 0 +139 168 0 +139 169 0 +139 170 0 +139 171 0 +139 172 0 +139 173 0 +139 174 0 +139 175 0 +139 176 0 +139 177 0 +139 178 0 +139 179 0 +139 180 0 +139 181 0 +139 182 0 +139 183 0 +139 184 0 +139 185 0 +139 186 0 +139 187 0 +139 188 0 +139 189 0 +139 190 0 +139 191 0 +139 192 0 +139 193 0 +139 194 0 +139 195 0 +139 196 0 +139 197 0 +139 198 0 +139 199 0 +139 200 0 +139 201 0 +139 202 0 +139 203 0 +139 204 0 +139 205 0 +139 206 0 +139 207 0 +139 208 0 +139 209 0 +139 210 0 +139 211 0 +139 212 0 +139 213 0 +139 214 0 +139 215 0 +139 216 0 +139 217 0 +139 218 0 +139 219 0 +139 220 0 +139 221 0 +139 222 0 +139 223 0 +139 224 0 +139 225 0 +139 226 0 +139 227 0 +139 228 0 +139 229 0 +139 230 0 +139 231 0 +139 232 0 +139 233 0 +139 234 0 +139 235 0 +139 236 0 +139 237 0 +139 238 0 +139 239 0 +139 240 0 +139 241 0 +139 242 0 +139 243 0 +139 244 0 +139 245 0 +139 246 0 +139 247 0 +139 248 0 +139 249 0 +139 250 0 +139 251 0 +139 252 0 +139 253 0 +139 254 0 +139 255 0 +139 256 0 +139 257 0 +139 258 0 +139 259 0 +139 260 0 +139 261 0 +139 262 0 +139 263 0 +139 264 0 +139 265 0 +139 266 0 +139 267 0 +139 268 0 +139 269 0 +139 270 0 +139 271 0 +139 272 0 +139 273 0 +139 274 0 +139 275 0 +139 276 0 +139 277 0 +139 278 0 +139 279 0 +139 280 0 +139 281 0 +139 282 0 +139 283 0 +139 284 0 +139 285 0 +139 286 0 +139 287 0 +139 288 0 +139 289 0 +139 290 0 +139 291 0 +139 292 0 +139 293 0 +139 294 0 +139 295 0 +139 296 0 +139 297 0 +139 298 0 +139 299 0 +139 300 0 +139 301 0 +139 302 0 +139 303 0 +139 304 0 +139 305 0 +139 306 0 +139 307 0 +139 308 0 +139 309 0 +139 310 0 +139 311 0 +139 312 0 +139 313 0 +139 314 0 +139 315 0 +139 316 0 +139 317 0 +139 318 0 +139 319 0 +139 320 0 +139 321 0 +139 322 0 +139 323 0 +139 324 0 +139 325 0 +139 326 0 +139 327 0 +139 328 0 +139 329 0 +139 330 0 +139 331 0 +139 332 0 +139 333 0 +139 334 0 +139 335 0 +139 336 0 +139 337 0 +139 338 0 +139 339 0 +139 340 0 +139 341 0 +139 342 0 +139 343 0 +139 344 0 +139 345 0 +139 346 0 +139 347 0 +139 348 0 +139 349 0 +139 350 0 +139 351 0 +139 352 0 +139 353 0 +139 354 0 +139 355 0 +139 356 0 +139 357 0 +139 358 0 +139 359 0 +139 360 0 +139 361 0 +139 362 0 +139 363 0 +139 364 0 +139 365 0 +139 366 0 +139 367 0 +139 368 0 +139 369 0 +139 370 0 +139 371 0 +139 372 0 +139 373 0 +139 374 0 +139 375 0 +139 376 0 +139 377 0 +139 378 0 +139 379 0 +139 380 0 +139 381 0 +139 382 0 +139 383 0 +140 141 0 +140 142 0 +140 143 0 +140 144 0 +140 145 0 +140 146 0 +140 147 0 +140 148 0 +140 149 0 +140 150 0 +140 151 0 +140 152 0 +140 153 0 +140 154 0 +140 155 0 +140 156 0 +140 157 0 +140 158 0 +140 159 0 +140 160 0 +140 161 0 +140 162 0 +140 163 0 +140 164 0 +140 165 0 +140 166 0 +140 167 0 +140 168 0 +140 169 0 +140 170 0 +140 171 0 +140 172 0 +140 173 0 +140 174 0 +140 175 0 +140 176 0 +140 177 0 +140 178 0 +140 179 0 +140 180 0 +140 181 0 +140 182 0 +140 183 0 +140 184 0 +140 185 0 +140 186 0 +140 187 0 +140 188 0 +140 189 0 +140 190 0 +140 191 0 +140 192 0 +140 193 0 +140 194 0 +140 195 0 +140 196 0 +140 197 0 +140 198 0 +140 199 0 +140 200 0 +140 201 0 +140 202 0 +140 203 0 +140 204 0 +140 205 0 +140 206 0 +140 207 0 +140 208 0 +140 209 0 +140 210 0 +140 211 0 +140 212 0 +140 213 0 +140 214 0 +140 215 0 +140 216 0 +140 217 0 +140 218 0 +140 219 0 +140 220 0 +140 221 0 +140 222 0 +140 223 0 +140 224 0 +140 225 0 +140 226 0 +140 227 0 +140 228 0 +140 229 0 +140 230 0 +140 231 0 +140 232 0 +140 233 0 +140 234 0 +140 235 0 +140 236 0 +140 237 0 +140 238 0 +140 239 0 +140 240 0 +140 241 0 +140 242 0 +140 243 0 +140 244 0 +140 245 0 +140 246 0 +140 247 0 +140 248 0 +140 249 0 +140 250 0 +140 251 0 +140 252 0 +140 253 0 +140 254 0 +140 255 0 +140 256 0 +140 257 0 +140 258 0 +140 259 0 +140 260 0 +140 261 0 +140 262 0 +140 263 0 +140 264 0 +140 265 0 +140 266 0 +140 267 0 +140 268 0 +140 269 0 +140 270 0 +140 271 0 +140 272 0 +140 273 0 +140 274 0 +140 275 0 +140 276 0 +140 277 0 +140 278 0 +140 279 0 +140 280 0 +140 281 0 +140 282 0 +140 283 0 +140 284 0 +140 285 0 +140 286 0 +140 287 0 +140 288 0 +140 289 0 +140 290 0 +140 291 0 +140 292 0 +140 293 0 +140 294 0 +140 295 0 +140 296 0 +140 297 0 +140 298 0 +140 299 0 +140 300 0 +140 301 0 +140 302 0 +140 303 0 +140 304 0 +140 305 0 +140 306 0 +140 307 0 +140 308 0 +140 309 0 +140 310 0 +140 311 0 +140 312 0 +140 313 0 +140 314 0 +140 315 0 +140 316 0 +140 317 0 +140 318 0 +140 319 0 +140 320 0 +140 321 0 +140 322 0 +140 323 0 +140 324 0 +140 325 0 +140 326 0 +140 327 0 +140 328 0 +140 329 0 +140 330 0 +140 331 0 +140 332 0 +140 333 0 +140 334 0 +140 335 0 +140 336 0 +140 337 0 +140 338 0 +140 339 0 +140 340 0 +140 341 0 +140 342 0 +140 343 0 +140 344 0 +140 345 0 +140 346 0 +140 347 0 +140 348 0 +140 349 0 +140 350 0 +140 351 0 +140 352 0 +140 353 0 +140 354 0 +140 355 0 +140 356 0 +140 357 0 +140 358 0 +140 359 0 +140 360 0 +140 361 0 +140 362 0 +140 363 0 +140 364 0 +140 365 0 +140 366 0 +140 367 0 +140 368 0 +140 369 0 +140 370 0 +140 371 0 +140 372 0 +140 373 0 +140 374 0 +140 375 0 +140 376 0 +140 377 0 +140 378 0 +140 379 0 +140 380 0 +140 381 0 +140 382 0 +140 383 0 +141 142 0 +141 143 0 +141 144 0 +141 145 0 +141 146 0 +141 147 0 +141 148 0 +141 149 0 +141 150 0 +141 151 0 +141 152 0 +141 153 0 +141 154 0 +141 155 0 +141 156 0 +141 157 0 +141 158 0 +141 159 0 +141 160 0 +141 161 0 +141 162 0 +141 163 0 +141 164 0 +141 165 0 +141 166 0 +141 167 0 +141 168 0 +141 169 0 +141 170 0 +141 171 0 +141 172 0 +141 173 0 +141 174 0 +141 175 0 +141 176 0 +141 177 0 +141 178 0 +141 179 0 +141 180 0 +141 181 0 +141 182 0 +141 183 0 +141 184 0 +141 185 0 +141 186 0 +141 187 0 +141 188 0 +141 189 0 +141 190 0 +141 191 0 +141 192 0 +141 193 0 +141 194 0 +141 195 0 +141 196 0 +141 197 0 +141 198 0 +141 199 0 +141 200 0 +141 201 0 +141 202 0 +141 203 0 +141 204 0 +141 205 0 +141 206 0 +141 207 0 +141 208 0 +141 209 0 +141 210 0 +141 211 0 +141 212 0 +141 213 0 +141 214 0 +141 215 0 +141 216 0 +141 217 0 +141 218 0 +141 219 0 +141 220 0 +141 221 0 +141 222 0 +141 223 0 +141 224 0 +141 225 0 +141 226 0 +141 227 0 +141 228 0 +141 229 0 +141 230 0 +141 231 0 +141 232 0 +141 233 0 +141 234 0 +141 235 0 +141 236 0 +141 237 0 +141 238 0 +141 239 0 +141 240 0 +141 241 0 +141 242 0 +141 243 0 +141 244 0 +141 245 0 +141 246 0 +141 247 0 +141 248 0 +141 249 0 +141 250 0 +141 251 0 +141 252 0 +141 253 0 +141 254 0 +141 255 0 +141 256 0 +141 257 0 +141 258 0 +141 259 0 +141 260 0 +141 261 0 +141 262 0 +141 263 0 +141 264 0 +141 265 0 +141 266 0 +141 267 0 +141 268 0 +141 269 0 +141 270 0 +141 271 0 +141 272 0 +141 273 0 +141 274 0 +141 275 0 +141 276 0 +141 277 0 +141 278 0 +141 279 0 +141 280 0 +141 281 0 +141 282 0 +141 283 0 +141 284 0 +141 285 0 +141 286 0 +141 287 0 +141 288 0 +141 289 0 +141 290 0 +141 291 0 +141 292 0 +141 293 0 +141 294 0 +141 295 0 +141 296 0 +141 297 0 +141 298 0 +141 299 0 +141 300 0 +141 301 0 +141 302 0 +141 303 0 +141 304 0 +141 305 0 +141 306 0 +141 307 0 +141 308 0 +141 309 0 +141 310 0 +141 311 0 +141 312 0 +141 313 0 +141 314 0 +141 315 0 +141 316 0 +141 317 0 +141 318 0 +141 319 0 +141 320 0 +141 321 0 +141 322 0 +141 323 0 +141 324 0 +141 325 0 +141 326 0 +141 327 0 +141 328 0 +141 329 0 +141 330 0 +141 331 0 +141 332 0 +141 333 0 +141 334 0 +141 335 0 +141 336 0 +141 337 0 +141 338 0 +141 339 0 +141 340 0 +141 341 0 +141 342 0 +141 343 0 +141 344 0 +141 345 0 +141 346 0 +141 347 0 +141 348 0 +141 349 0 +141 350 0 +141 351 0 +141 352 0 +141 353 0 +141 354 0 +141 355 0 +141 356 0 +141 357 0 +141 358 0 +141 359 0 +141 360 0 +141 361 0 +141 362 0 +141 363 0 +141 364 0 +141 365 0 +141 366 0 +141 367 0 +141 368 0 +141 369 0 +141 370 0 +141 371 0 +141 372 0 +141 373 0 +141 374 0 +141 375 0 +141 376 0 +141 377 0 +141 378 0 +141 379 0 +141 380 0 +141 381 0 +141 382 0 +141 383 0 +142 143 0 +142 144 0 +142 145 0 +142 146 0 +142 147 0 +142 148 0 +142 149 0 +142 150 0 +142 151 0 +142 152 0 +142 153 0 +142 154 0 +142 155 0 +142 156 0 +142 157 0 +142 158 0 +142 159 0 +142 160 0 +142 161 0 +142 162 0 +142 163 0 +142 164 0 +142 165 0 +142 166 0 +142 167 0 +142 168 0 +142 169 0 +142 170 0 +142 171 0 +142 172 0 +142 173 0 +142 174 0 +142 175 0 +142 176 0 +142 177 0 +142 178 0 +142 179 0 +142 180 0 +142 181 0 +142 182 0 +142 183 0 +142 184 0 +142 185 0 +142 186 0 +142 187 0 +142 188 0 +142 189 0 +142 190 0 +142 191 0 +142 192 0 +142 193 0 +142 194 0 +142 195 0 +142 196 0 +142 197 0 +142 198 0 +142 199 0 +142 200 0 +142 201 0 +142 202 0 +142 203 0 +142 204 0 +142 205 0 +142 206 0 +142 207 0 +142 208 0 +142 209 0 +142 210 0 +142 211 0 +142 212 0 +142 213 0 +142 214 0 +142 215 0 +142 216 0 +142 217 0 +142 218 0 +142 219 0 +142 220 0 +142 221 0 +142 222 0 +142 223 0 +142 224 0 +142 225 0 +142 226 0 +142 227 0 +142 228 0 +142 229 0 +142 230 0 +142 231 0 +142 232 0 +142 233 0 +142 234 0 +142 235 0 +142 236 0 +142 237 0 +142 238 0 +142 239 0 +142 240 0 +142 241 0 +142 242 0 +142 243 0 +142 244 0 +142 245 0 +142 246 0 +142 247 0 +142 248 0 +142 249 0 +142 250 0 +142 251 0 +142 252 0 +142 253 0 +142 254 0 +142 255 0 +142 256 0 +142 257 0 +142 258 0 +142 259 0 +142 260 0 +142 261 0 +142 262 0 +142 263 0 +142 264 0 +142 265 0 +142 266 0 +142 267 0 +142 268 0 +142 269 0 +142 270 0 +142 271 0 +142 272 0 +142 273 0 +142 274 0 +142 275 0 +142 276 0 +142 277 0 +142 278 0 +142 279 0 +142 280 0 +142 281 0 +142 282 0 +142 283 0 +142 284 0 +142 285 0 +142 286 0 +142 287 0 +142 288 0 +142 289 0 +142 290 0 +142 291 0 +142 292 0 +142 293 0 +142 294 0 +142 295 0 +142 296 0 +142 297 0 +142 298 0 +142 299 0 +142 300 0 +142 301 0 +142 302 0 +142 303 0 +142 304 0 +142 305 0 +142 306 0 +142 307 0 +142 308 0 +142 309 0 +142 310 0 +142 311 0 +142 312 0 +142 313 0 +142 314 0 +142 315 0 +142 316 0 +142 317 0 +142 318 0 +142 319 0 +142 320 0 +142 321 0 +142 322 0 +142 323 0 +142 324 0 +142 325 0 +142 326 0 +142 327 0 +142 328 0 +142 329 0 +142 330 0 +142 331 0 +142 332 0 +142 333 0 +142 334 0 +142 335 0 +142 336 0 +142 337 0 +142 338 0 +142 339 0 +142 340 0 +142 341 0 +142 342 0 +142 343 0 +142 344 0 +142 345 0 +142 346 0 +142 347 0 +142 348 0 +142 349 0 +142 350 0 +142 351 0 +142 352 0 +142 353 0 +142 354 0 +142 355 0 +142 356 0 +142 357 0 +142 358 0 +142 359 0 +142 360 0 +142 361 0 +142 362 0 +142 363 0 +142 364 0 +142 365 0 +142 366 0 +142 367 0 +142 368 0 +142 369 0 +142 370 0 +142 371 0 +142 372 0 +142 373 0 +142 374 0 +142 375 0 +142 376 0 +142 377 0 +142 378 0 +142 379 0 +142 380 0 +142 381 0 +142 382 0 +142 383 0 +143 144 0 +143 145 0 +143 146 0 +143 147 0 +143 148 0 +143 149 0 +143 150 0 +143 151 0 +143 152 0 +143 153 0 +143 154 0 +143 155 0 +143 156 0 +143 157 0 +143 158 0 +143 159 0 +143 160 0 +143 161 0 +143 162 0 +143 163 0 +143 164 0 +143 165 0 +143 166 0 +143 167 0 +143 168 0 +143 169 0 +143 170 0 +143 171 0 +143 172 0 +143 173 0 +143 174 0 +143 175 0 +143 176 0 +143 177 0 +143 178 0 +143 179 0 +143 180 0 +143 181 0 +143 182 0 +143 183 0 +143 184 0 +143 185 0 +143 186 0 +143 187 0 +143 188 0 +143 189 0 +143 190 0 +143 191 0 +143 192 0 +143 193 0 +143 194 0 +143 195 0 +143 196 0 +143 197 0 +143 198 0 +143 199 0 +143 200 0 +143 201 0 +143 202 0 +143 203 0 +143 204 0 +143 205 0 +143 206 0 +143 207 0 +143 208 0 +143 209 0 +143 210 0 +143 211 0 +143 212 0 +143 213 0 +143 214 0 +143 215 0 +143 216 0 +143 217 0 +143 218 0 +143 219 0 +143 220 0 +143 221 0 +143 222 0 +143 223 0 +143 224 0 +143 225 0 +143 226 0 +143 227 0 +143 228 0 +143 229 0 +143 230 0 +143 231 0 +143 232 0 +143 233 0 +143 234 0 +143 235 0 +143 236 0 +143 237 0 +143 238 0 +143 239 0 +143 240 0 +143 241 0 +143 242 0 +143 243 0 +143 244 0 +143 245 0 +143 246 0 +143 247 0 +143 248 0 +143 249 0 +143 250 0 +143 251 0 +143 252 0 +143 253 0 +143 254 0 +143 255 0 +143 256 0 +143 257 0 +143 258 0 +143 259 0 +143 260 0 +143 261 0 +143 262 0 +143 263 0 +143 264 0 +143 265 0 +143 266 0 +143 267 0 +143 268 0 +143 269 0 +143 270 0 +143 271 0 +143 272 0 +143 273 0 +143 274 0 +143 275 0 +143 276 0 +143 277 0 +143 278 0 +143 279 0 +143 280 0 +143 281 0 +143 282 0 +143 283 0 +143 284 0 +143 285 0 +143 286 0 +143 287 0 +143 288 0 +143 289 0 +143 290 0 +143 291 0 +143 292 0 +143 293 0 +143 294 0 +143 295 0 +143 296 0 +143 297 0 +143 298 0 +143 299 0 +143 300 0 +143 301 0 +143 302 0 +143 303 0 +143 304 0 +143 305 0 +143 306 0 +143 307 0 +143 308 0 +143 309 0 +143 310 0 +143 311 0 +143 312 0 +143 313 0 +143 314 0 +143 315 0 +143 316 0 +143 317 0 +143 318 0 +143 319 0 +143 320 0 +143 321 0 +143 322 0 +143 323 0 +143 324 0 +143 325 0 +143 326 0 +143 327 0 +143 328 0 +143 329 0 +143 330 0 +143 331 0 +143 332 0 +143 333 0 +143 334 0 +143 335 0 +143 336 0 +143 337 0 +143 338 0 +143 339 0 +143 340 0 +143 341 0 +143 342 0 +143 343 0 +143 344 0 +143 345 0 +143 346 0 +143 347 0 +143 348 0 +143 349 0 +143 350 0 +143 351 0 +143 352 0 +143 353 0 +143 354 0 +143 355 0 +143 356 0 +143 357 0 +143 358 0 +143 359 0 +143 360 0 +143 361 0 +143 362 0 +143 363 0 +143 364 0 +143 365 0 +143 366 0 +143 367 0 +143 368 0 +143 369 0 +143 370 0 +143 371 0 +143 372 0 +143 373 0 +143 374 0 +143 375 0 +143 376 0 +143 377 0 +143 378 0 +143 379 0 +143 380 0 +143 381 0 +143 382 0 +143 383 0 +144 145 0 +144 146 0 +144 147 0 +144 148 0 +144 149 0 +144 150 0 +144 151 0 +144 152 0 +144 153 0 +144 154 0 +144 155 0 +144 156 0 +144 157 0 +144 158 0 +144 159 0 +144 160 0 +144 161 0 +144 162 0 +144 163 0 +144 164 0 +144 165 0 +144 166 0 +144 167 0 +144 168 0 +144 169 0 +144 170 0 +144 171 0 +144 172 0 +144 173 0 +144 174 0 +144 175 0 +144 176 0 +144 177 0 +144 178 0 +144 179 0 +144 180 0 +144 181 0 +144 182 0 +144 183 0 +144 184 0 +144 185 0 +144 186 0 +144 187 0 +144 188 0 +144 189 0 +144 190 0 +144 191 0 +144 192 0 +144 193 0 +144 194 0 +144 195 0 +144 196 0 +144 197 0 +144 198 0 +144 199 0 +144 200 0 +144 201 0 +144 202 0 +144 203 0 +144 204 0 +144 205 0 +144 206 0 +144 207 0 +144 208 0 +144 209 0 +144 210 0 +144 211 0 +144 212 0 +144 213 0 +144 214 0 +144 215 0 +144 216 0 +144 217 0 +144 218 0 +144 219 0 +144 220 0 +144 221 0 +144 222 0 +144 223 0 +144 224 0 +144 225 0 +144 226 0 +144 227 0 +144 228 0 +144 229 0 +144 230 0 +144 231 0 +144 232 0 +144 233 0 +144 234 0 +144 235 0 +144 236 0 +144 237 0 +144 238 0 +144 239 0 +144 240 0 +144 241 0 +144 242 0 +144 243 0 +144 244 0 +144 245 0 +144 246 0 +144 247 0 +144 248 0 +144 249 0 +144 250 0 +144 251 0 +144 252 0 +144 253 0 +144 254 0 +144 255 0 +144 256 0 +144 257 0 +144 258 0 +144 259 0 +144 260 0 +144 261 0 +144 262 0 +144 263 0 +144 264 0 +144 265 0 +144 266 0 +144 267 0 +144 268 0 +144 269 0 +144 270 0 +144 271 0 +144 272 0 +144 273 0 +144 274 0 +144 275 0 +144 276 0 +144 277 0 +144 278 0 +144 279 0 +144 280 0 +144 281 0 +144 282 0 +144 283 0 +144 284 0 +144 285 0 +144 286 0 +144 287 0 +144 288 0 +144 289 0 +144 290 0 +144 291 0 +144 292 0 +144 293 0 +144 294 0 +144 295 0 +144 296 0 +144 297 0 +144 298 0 +144 299 0 +144 300 0 +144 301 0 +144 302 0 +144 303 0 +144 304 0 +144 305 0 +144 306 0 +144 307 0 +144 308 0 +144 309 0 +144 310 0 +144 311 0 +144 312 0 +144 313 0 +144 314 0 +144 315 0 +144 316 0 +144 317 0 +144 318 0 +144 319 0 +144 320 0 +144 321 0 +144 322 0 +144 323 0 +144 324 0 +144 325 0 +144 326 0 +144 327 0 +144 328 0 +144 329 0 +144 330 0 +144 331 0 +144 332 0 +144 333 0 +144 334 0 +144 335 0 +144 336 0 +144 337 0 +144 338 0 +144 339 0 +144 340 0 +144 341 0 +144 342 0 +144 343 0 +144 344 0 +144 345 0 +144 346 0 +144 347 0 +144 348 0 +144 349 0 +144 350 0 +144 351 0 +144 352 0 +144 353 0 +144 354 0 +144 355 0 +144 356 0 +144 357 0 +144 358 0 +144 359 0 +144 360 0 +144 361 0 +144 362 0 +144 363 0 +144 364 0 +144 365 0 +144 366 0 +144 367 0 +144 368 0 +144 369 0 +144 370 0 +144 371 0 +144 372 0 +144 373 0 +144 374 0 +144 375 0 +144 376 0 +144 377 0 +144 378 0 +144 379 0 +144 380 0 +144 381 0 +144 382 0 +144 383 0 +145 146 0 +145 147 0 +145 148 0 +145 149 0 +145 150 0 +145 151 0 +145 152 0 +145 153 0 +145 154 0 +145 155 0 +145 156 0 +145 157 0 +145 158 0 +145 159 0 +145 160 0 +145 161 0 +145 162 0 +145 163 0 +145 164 0 +145 165 0 +145 166 0 +145 167 0 +145 168 0 +145 169 0 +145 170 0 +145 171 0 +145 172 0 +145 173 0 +145 174 0 +145 175 0 +145 176 0 +145 177 0 +145 178 0 +145 179 0 +145 180 0 +145 181 0 +145 182 0 +145 183 0 +145 184 0 +145 185 0 +145 186 0 +145 187 0 +145 188 0 +145 189 0 +145 190 0 +145 191 0 +145 192 0 +145 193 0 +145 194 0 +145 195 0 +145 196 0 +145 197 0 +145 198 0 +145 199 0 +145 200 0 +145 201 0 +145 202 0 +145 203 0 +145 204 0 +145 205 0 +145 206 0 +145 207 0 +145 208 0 +145 209 0 +145 210 0 +145 211 0 +145 212 0 +145 213 0 +145 214 0 +145 215 0 +145 216 0 +145 217 0 +145 218 0 +145 219 0 +145 220 0 +145 221 0 +145 222 0 +145 223 0 +145 224 0 +145 225 0 +145 226 0 +145 227 0 +145 228 0 +145 229 0 +145 230 0 +145 231 0 +145 232 0 +145 233 0 +145 234 0 +145 235 0 +145 236 0 +145 237 0 +145 238 0 +145 239 0 +145 240 0 +145 241 0 +145 242 0 +145 243 0 +145 244 0 +145 245 0 +145 246 0 +145 247 0 +145 248 0 +145 249 0 +145 250 0 +145 251 0 +145 252 0 +145 253 0 +145 254 0 +145 255 0 +145 256 0 +145 257 0 +145 258 0 +145 259 0 +145 260 0 +145 261 0 +145 262 0 +145 263 0 +145 264 0 +145 265 0 +145 266 0 +145 267 0 +145 268 0 +145 269 0 +145 270 0 +145 271 0 +145 272 0 +145 273 0 +145 274 0 +145 275 0 +145 276 0 +145 277 0 +145 278 0 +145 279 0 +145 280 0 +145 281 0 +145 282 0 +145 283 0 +145 284 0 +145 285 0 +145 286 0 +145 287 0 +145 288 0 +145 289 0 +145 290 0 +145 291 0 +145 292 0 +145 293 0 +145 294 0 +145 295 0 +145 296 0 +145 297 0 +145 298 0 +145 299 0 +145 300 0 +145 301 0 +145 302 0 +145 303 0 +145 304 0 +145 305 0 +145 306 0 +145 307 0 +145 308 0 +145 309 0 +145 310 0 +145 311 0 +145 312 0 +145 313 0 +145 314 0 +145 315 0 +145 316 0 +145 317 0 +145 318 0 +145 319 0 +145 320 0 +145 321 0 +145 322 0 +145 323 0 +145 324 0 +145 325 0 +145 326 0 +145 327 0 +145 328 0 +145 329 0 +145 330 0 +145 331 0 +145 332 0 +145 333 0 +145 334 0 +145 335 0 +145 336 0 +145 337 0 +145 338 0 +145 339 0 +145 340 0 +145 341 0 +145 342 0 +145 343 0 +145 344 0 +145 345 0 +145 346 0 +145 347 0 +145 348 0 +145 349 0 +145 350 0 +145 351 0 +145 352 0 +145 353 0 +145 354 0 +145 355 0 +145 356 0 +145 357 0 +145 358 0 +145 359 0 +145 360 0 +145 361 0 +145 362 0 +145 363 0 +145 364 0 +145 365 0 +145 366 0 +145 367 0 +145 368 0 +145 369 0 +145 370 0 +145 371 0 +145 372 0 +145 373 0 +145 374 0 +145 375 0 +145 376 0 +145 377 0 +145 378 0 +145 379 0 +145 380 0 +145 381 0 +145 382 0 +145 383 0 +146 147 0 +146 148 0 +146 149 0 +146 150 0 +146 151 0 +146 152 0 +146 153 0 +146 154 0 +146 155 0 +146 156 0 +146 157 0 +146 158 0 +146 159 0 +146 160 0 +146 161 0 +146 162 0 +146 163 0 +146 164 0 +146 165 0 +146 166 0 +146 167 0 +146 168 0 +146 169 0 +146 170 0 +146 171 0 +146 172 0 +146 173 0 +146 174 0 +146 175 0 +146 176 0 +146 177 0 +146 178 0 +146 179 0 +146 180 0 +146 181 0 +146 182 0 +146 183 0 +146 184 0 +146 185 0 +146 186 0 +146 187 0 +146 188 0 +146 189 0 +146 190 0 +146 191 0 +146 192 0 +146 193 0 +146 194 0 +146 195 0 +146 196 0 +146 197 0 +146 198 0 +146 199 0 +146 200 0 +146 201 0 +146 202 0 +146 203 0 +146 204 0 +146 205 0 +146 206 0 +146 207 0 +146 208 0 +146 209 0 +146 210 0 +146 211 0 +146 212 0 +146 213 0 +146 214 0 +146 215 0 +146 216 0 +146 217 0 +146 218 0 +146 219 0 +146 220 0 +146 221 0 +146 222 0 +146 223 0 +146 224 0 +146 225 0 +146 226 0 +146 227 0 +146 228 0 +146 229 0 +146 230 0 +146 231 0 +146 232 0 +146 233 0 +146 234 0 +146 235 0 +146 236 0 +146 237 0 +146 238 0 +146 239 0 +146 240 0 +146 241 0 +146 242 0 +146 243 0 +146 244 0 +146 245 0 +146 246 0 +146 247 0 +146 248 0 +146 249 0 +146 250 0 +146 251 0 +146 252 0 +146 253 0 +146 254 0 +146 255 0 +146 256 0 +146 257 0 +146 258 0 +146 259 0 +146 260 0 +146 261 0 +146 262 0 +146 263 0 +146 264 0 +146 265 0 +146 266 0 +146 267 0 +146 268 0 +146 269 0 +146 270 0 +146 271 0 +146 272 0 +146 273 0 +146 274 0 +146 275 0 +146 276 0 +146 277 0 +146 278 0 +146 279 0 +146 280 0 +146 281 0 +146 282 0 +146 283 0 +146 284 0 +146 285 0 +146 286 0 +146 287 0 +146 288 0 +146 289 0 +146 290 0 +146 291 0 +146 292 0 +146 293 0 +146 294 0 +146 295 0 +146 296 0 +146 297 0 +146 298 0 +146 299 0 +146 300 0 +146 301 0 +146 302 0 +146 303 0 +146 304 0 +146 305 0 +146 306 0 +146 307 0 +146 308 0 +146 309 0 +146 310 0 +146 311 0 +146 312 0 +146 313 0 +146 314 0 +146 315 0 +146 316 0 +146 317 0 +146 318 0 +146 319 0 +146 320 0 +146 321 0 +146 322 0 +146 323 0 +146 324 0 +146 325 0 +146 326 0 +146 327 0 +146 328 0 +146 329 0 +146 330 0 +146 331 0 +146 332 0 +146 333 0 +146 334 0 +146 335 0 +146 336 0 +146 337 0 +146 338 0 +146 339 0 +146 340 0 +146 341 0 +146 342 0 +146 343 0 +146 344 0 +146 345 0 +146 346 0 +146 347 0 +146 348 0 +146 349 0 +146 350 0 +146 351 0 +146 352 0 +146 353 0 +146 354 0 +146 355 0 +146 356 0 +146 357 0 +146 358 0 +146 359 0 +146 360 0 +146 361 0 +146 362 0 +146 363 0 +146 364 0 +146 365 0 +146 366 0 +146 367 0 +146 368 0 +146 369 0 +146 370 0 +146 371 0 +146 372 0 +146 373 0 +146 374 0 +146 375 0 +146 376 0 +146 377 0 +146 378 0 +146 379 0 +146 380 0 +146 381 0 +146 382 0 +146 383 0 +147 148 0 +147 149 0 +147 150 0 +147 151 0 +147 152 0 +147 153 0 +147 154 0 +147 155 0 +147 156 0 +147 157 0 +147 158 0 +147 159 0 +147 160 0 +147 161 0 +147 162 0 +147 163 0 +147 164 0 +147 165 0 +147 166 0 +147 167 0 +147 168 0 +147 169 0 +147 170 0 +147 171 0 +147 172 0 +147 173 0 +147 174 0 +147 175 0 +147 176 0 +147 177 0 +147 178 0 +147 179 0 +147 180 0 +147 181 0 +147 182 0 +147 183 0 +147 184 0 +147 185 0 +147 186 0 +147 187 0 +147 188 0 +147 189 0 +147 190 0 +147 191 0 +147 192 0 +147 193 0 +147 194 0 +147 195 0 +147 196 0 +147 197 0 +147 198 0 +147 199 0 +147 200 0 +147 201 0 +147 202 0 +147 203 0 +147 204 0 +147 205 0 +147 206 0 +147 207 0 +147 208 0 +147 209 0 +147 210 0 +147 211 0 +147 212 0 +147 213 0 +147 214 0 +147 215 0 +147 216 0 +147 217 0 +147 218 0 +147 219 0 +147 220 0 +147 221 0 +147 222 0 +147 223 0 +147 224 0 +147 225 0 +147 226 0 +147 227 0 +147 228 0 +147 229 0 +147 230 0 +147 231 0 +147 232 0 +147 233 0 +147 234 0 +147 235 0 +147 236 0 +147 237 0 +147 238 0 +147 239 0 +147 240 0 +147 241 0 +147 242 0 +147 243 0 +147 244 0 +147 245 0 +147 246 0 +147 247 0 +147 248 0 +147 249 0 +147 250 0 +147 251 0 +147 252 0 +147 253 0 +147 254 0 +147 255 0 +147 256 0 +147 257 0 +147 258 0 +147 259 0 +147 260 0 +147 261 0 +147 262 0 +147 263 0 +147 264 0 +147 265 0 +147 266 0 +147 267 0 +147 268 0 +147 269 0 +147 270 0 +147 271 0 +147 272 0 +147 273 0 +147 274 0 +147 275 0 +147 276 0 +147 277 0 +147 278 0 +147 279 0 +147 280 0 +147 281 0 +147 282 0 +147 283 0 +147 284 0 +147 285 0 +147 286 0 +147 287 0 +147 288 0 +147 289 0 +147 290 0 +147 291 0 +147 292 0 +147 293 0 +147 294 0 +147 295 0 +147 296 0 +147 297 0 +147 298 0 +147 299 0 +147 300 0 +147 301 0 +147 302 0 +147 303 0 +147 304 0 +147 305 0 +147 306 0 +147 307 0 +147 308 0 +147 309 0 +147 310 0 +147 311 0 +147 312 0 +147 313 0 +147 314 0 +147 315 0 +147 316 0 +147 317 0 +147 318 0 +147 319 0 +147 320 0 +147 321 0 +147 322 0 +147 323 0 +147 324 0 +147 325 0 +147 326 0 +147 327 0 +147 328 0 +147 329 0 +147 330 0 +147 331 0 +147 332 0 +147 333 0 +147 334 0 +147 335 0 +147 336 0 +147 337 0 +147 338 0 +147 339 0 +147 340 0 +147 341 0 +147 342 0 +147 343 0 +147 344 0 +147 345 0 +147 346 0 +147 347 0 +147 348 0 +147 349 0 +147 350 0 +147 351 0 +147 352 0 +147 353 0 +147 354 0 +147 355 0 +147 356 0 +147 357 0 +147 358 0 +147 359 0 +147 360 0 +147 361 0 +147 362 0 +147 363 0 +147 364 0 +147 365 0 +147 366 0 +147 367 0 +147 368 0 +147 369 0 +147 370 0 +147 371 0 +147 372 0 +147 373 0 +147 374 0 +147 375 0 +147 376 0 +147 377 0 +147 378 0 +147 379 0 +147 380 0 +147 381 0 +147 382 0 +147 383 0 +148 149 0 +148 150 0 +148 151 0 +148 152 0 +148 153 0 +148 154 0 +148 155 0 +148 156 0 +148 157 0 +148 158 0 +148 159 0 +148 160 0 +148 161 0 +148 162 0 +148 163 0 +148 164 0 +148 165 0 +148 166 0 +148 167 0 +148 168 0 +148 169 0 +148 170 0 +148 171 0 +148 172 0 +148 173 0 +148 174 0 +148 175 0 +148 176 0 +148 177 0 +148 178 0 +148 179 0 +148 180 0 +148 181 0 +148 182 0 +148 183 0 +148 184 0 +148 185 0 +148 186 0 +148 187 0 +148 188 0 +148 189 0 +148 190 0 +148 191 0 +148 192 0 +148 193 0 +148 194 0 +148 195 0 +148 196 0 +148 197 0 +148 198 0 +148 199 0 +148 200 0 +148 201 0 +148 202 0 +148 203 0 +148 204 0 +148 205 0 +148 206 0 +148 207 0 +148 208 0 +148 209 0 +148 210 0 +148 211 0 +148 212 0 +148 213 0 +148 214 0 +148 215 0 +148 216 0 +148 217 0 +148 218 0 +148 219 0 +148 220 0 +148 221 0 +148 222 0 +148 223 0 +148 224 0 +148 225 0 +148 226 0 +148 227 0 +148 228 0 +148 229 0 +148 230 0 +148 231 0 +148 232 0 +148 233 0 +148 234 0 +148 235 0 +148 236 0 +148 237 0 +148 238 0 +148 239 0 +148 240 0 +148 241 0 +148 242 0 +148 243 0 +148 244 0 +148 245 0 +148 246 0 +148 247 0 +148 248 0 +148 249 0 +148 250 0 +148 251 0 +148 252 0 +148 253 0 +148 254 0 +148 255 0 +148 256 0 +148 257 0 +148 258 0 +148 259 0 +148 260 0 +148 261 0 +148 262 0 +148 263 0 +148 264 0 +148 265 0 +148 266 0 +148 267 0 +148 268 0 +148 269 0 +148 270 0 +148 271 0 +148 272 0 +148 273 0 +148 274 0 +148 275 0 +148 276 0 +148 277 0 +148 278 0 +148 279 0 +148 280 0 +148 281 0 +148 282 0 +148 283 0 +148 284 0 +148 285 0 +148 286 0 +148 287 0 +148 288 0 +148 289 0 +148 290 0 +148 291 0 +148 292 0 +148 293 0 +148 294 0 +148 295 0 +148 296 0 +148 297 0 +148 298 0 +148 299 0 +148 300 0 +148 301 0 +148 302 0 +148 303 0 +148 304 0 +148 305 0 +148 306 0 +148 307 0 +148 308 0 +148 309 0 +148 310 0 +148 311 0 +148 312 0 +148 313 0 +148 314 0 +148 315 0 +148 316 0 +148 317 0 +148 318 0 +148 319 0 +148 320 0 +148 321 0 +148 322 0 +148 323 0 +148 324 0 +148 325 0 +148 326 0 +148 327 0 +148 328 0 +148 329 0 +148 330 0 +148 331 0 +148 332 0 +148 333 0 +148 334 0 +148 335 0 +148 336 0 +148 337 0 +148 338 0 +148 339 0 +148 340 0 +148 341 0 +148 342 0 +148 343 0 +148 344 0 +148 345 0 +148 346 0 +148 347 0 +148 348 0 +148 349 0 +148 350 0 +148 351 0 +148 352 0 +148 353 0 +148 354 0 +148 355 0 +148 356 0 +148 357 0 +148 358 0 +148 359 0 +148 360 0 +148 361 0 +148 362 0 +148 363 0 +148 364 0 +148 365 0 +148 366 0 +148 367 0 +148 368 0 +148 369 0 +148 370 0 +148 371 0 +148 372 0 +148 373 0 +148 374 0 +148 375 0 +148 376 0 +148 377 0 +148 378 0 +148 379 0 +148 380 0 +148 381 0 +148 382 0 +148 383 0 +149 150 0 +149 151 0 +149 152 0 +149 153 0 +149 154 0 +149 155 0 +149 156 0 +149 157 0 +149 158 0 +149 159 0 +149 160 0 +149 161 0 +149 162 0 +149 163 0 +149 164 0 +149 165 0 +149 166 0 +149 167 0 +149 168 0 +149 169 0 +149 170 0 +149 171 0 +149 172 0 +149 173 0 +149 174 0 +149 175 0 +149 176 0 +149 177 0 +149 178 0 +149 179 0 +149 180 0 +149 181 0 +149 182 0 +149 183 0 +149 184 0 +149 185 0 +149 186 0 +149 187 0 +149 188 0 +149 189 0 +149 190 0 +149 191 0 +149 192 0 +149 193 0 +149 194 0 +149 195 0 +149 196 0 +149 197 0 +149 198 0 +149 199 0 +149 200 0 +149 201 0 +149 202 0 +149 203 0 +149 204 0 +149 205 0 +149 206 0 +149 207 0 +149 208 0 +149 209 0 +149 210 0 +149 211 0 +149 212 0 +149 213 0 +149 214 0 +149 215 0 +149 216 0 +149 217 0 +149 218 0 +149 219 0 +149 220 0 +149 221 0 +149 222 0 +149 223 0 +149 224 0 +149 225 0 +149 226 0 +149 227 0 +149 228 0 +149 229 0 +149 230 0 +149 231 0 +149 232 0 +149 233 0 +149 234 0 +149 235 0 +149 236 0 +149 237 0 +149 238 0 +149 239 0 +149 240 0 +149 241 0 +149 242 0 +149 243 0 +149 244 0 +149 245 0 +149 246 0 +149 247 0 +149 248 0 +149 249 0 +149 250 0 +149 251 0 +149 252 0 +149 253 0 +149 254 0 +149 255 0 +149 256 0 +149 257 0 +149 258 0 +149 259 0 +149 260 0 +149 261 0 +149 262 0 +149 263 0 +149 264 0 +149 265 0 +149 266 0 +149 267 0 +149 268 0 +149 269 0 +149 270 0 +149 271 0 +149 272 0 +149 273 0 +149 274 0 +149 275 0 +149 276 0 +149 277 0 +149 278 0 +149 279 0 +149 280 0 +149 281 0 +149 282 0 +149 283 0 +149 284 0 +149 285 0 +149 286 0 +149 287 0 +149 288 0 +149 289 0 +149 290 0 +149 291 0 +149 292 0 +149 293 0 +149 294 0 +149 295 0 +149 296 0 +149 297 0 +149 298 0 +149 299 0 +149 300 0 +149 301 0 +149 302 0 +149 303 0 +149 304 0 +149 305 0 +149 306 0 +149 307 0 +149 308 0 +149 309 0 +149 310 0 +149 311 0 +149 312 0 +149 313 0 +149 314 0 +149 315 0 +149 316 0 +149 317 0 +149 318 0 +149 319 0 +149 320 0 +149 321 0 +149 322 0 +149 323 0 +149 324 0 +149 325 0 +149 326 0 +149 327 0 +149 328 0 +149 329 0 +149 330 0 +149 331 0 +149 332 0 +149 333 0 +149 334 0 +149 335 0 +149 336 0 +149 337 0 +149 338 0 +149 339 0 +149 340 0 +149 341 0 +149 342 0 +149 343 0 +149 344 0 +149 345 0 +149 346 0 +149 347 0 +149 348 0 +149 349 0 +149 350 0 +149 351 0 +149 352 0 +149 353 0 +149 354 0 +149 355 0 +149 356 0 +149 357 0 +149 358 0 +149 359 0 +149 360 0 +149 361 0 +149 362 0 +149 363 0 +149 364 0 +149 365 0 +149 366 0 +149 367 0 +149 368 0 +149 369 0 +149 370 0 +149 371 0 +149 372 0 +149 373 0 +149 374 0 +149 375 0 +149 376 0 +149 377 0 +149 378 0 +149 379 0 +149 380 0 +149 381 0 +149 382 0 +149 383 0 +150 151 0 +150 152 0 +150 153 0 +150 154 0 +150 155 0 +150 156 0 +150 157 0 +150 158 0 +150 159 0 +150 160 0 +150 161 0 +150 162 0 +150 163 0 +150 164 0 +150 165 0 +150 166 0 +150 167 0 +150 168 0 +150 169 0 +150 170 0 +150 171 0 +150 172 0 +150 173 0 +150 174 0 +150 175 0 +150 176 0 +150 177 0 +150 178 0 +150 179 0 +150 180 0 +150 181 0 +150 182 0 +150 183 0 +150 184 0 +150 185 0 +150 186 0 +150 187 0 +150 188 0 +150 189 0 +150 190 0 +150 191 0 +150 192 0 +150 193 0 +150 194 0 +150 195 0 +150 196 0 +150 197 0 +150 198 0 +150 199 0 +150 200 0 +150 201 0 +150 202 0 +150 203 0 +150 204 0 +150 205 0 +150 206 0 +150 207 0 +150 208 0 +150 209 0 +150 210 0 +150 211 0 +150 212 0 +150 213 0 +150 214 0 +150 215 0 +150 216 0 +150 217 0 +150 218 0 +150 219 0 +150 220 0 +150 221 0 +150 222 0 +150 223 0 +150 224 0 +150 225 0 +150 226 0 +150 227 0 +150 228 0 +150 229 0 +150 230 0 +150 231 0 +150 232 0 +150 233 0 +150 234 0 +150 235 0 +150 236 0 +150 237 0 +150 238 0 +150 239 0 +150 240 0 +150 241 0 +150 242 0 +150 243 0 +150 244 0 +150 245 0 +150 246 0 +150 247 0 +150 248 0 +150 249 0 +150 250 0 +150 251 0 +150 252 0 +150 253 0 +150 254 0 +150 255 0 +150 256 0 +150 257 0 +150 258 0 +150 259 0 +150 260 0 +150 261 0 +150 262 0 +150 263 0 +150 264 0 +150 265 0 +150 266 0 +150 267 0 +150 268 0 +150 269 0 +150 270 0 +150 271 0 +150 272 0 +150 273 0 +150 274 0 +150 275 0 +150 276 0 +150 277 0 +150 278 0 +150 279 0 +150 280 0 +150 281 0 +150 282 0 +150 283 0 +150 284 0 +150 285 0 +150 286 0 +150 287 0 +150 288 0 +150 289 0 +150 290 0 +150 291 0 +150 292 0 +150 293 0 +150 294 0 +150 295 0 +150 296 0 +150 297 0 +150 298 0 +150 299 0 +150 300 0 +150 301 0 +150 302 0 +150 303 0 +150 304 0 +150 305 0 +150 306 0 +150 307 0 +150 308 0 +150 309 0 +150 310 0 +150 311 0 +150 312 0 +150 313 0 +150 314 0 +150 315 0 +150 316 0 +150 317 0 +150 318 0 +150 319 0 +150 320 0 +150 321 0 +150 322 0 +150 323 0 +150 324 0 +150 325 0 +150 326 0 +150 327 0 +150 328 0 +150 329 0 +150 330 0 +150 331 0 +150 332 0 +150 333 0 +150 334 0 +150 335 0 +150 336 0 +150 337 0 +150 338 0 +150 339 0 +150 340 0 +150 341 0 +150 342 0 +150 343 0 +150 344 0 +150 345 0 +150 346 0 +150 347 0 +150 348 0 +150 349 0 +150 350 0 +150 351 0 +150 352 0 +150 353 0 +150 354 0 +150 355 0 +150 356 0 +150 357 0 +150 358 0 +150 359 0 +150 360 0 +150 361 0 +150 362 0 +150 363 0 +150 364 0 +150 365 0 +150 366 0 +150 367 0 +150 368 0 +150 369 0 +150 370 0 +150 371 0 +150 372 0 +150 373 0 +150 374 0 +150 375 0 +150 376 0 +150 377 0 +150 378 0 +150 379 0 +150 380 0 +150 381 0 +150 382 0 +150 383 0 +151 152 0 +151 153 0 +151 154 0 +151 155 0 +151 156 0 +151 157 0 +151 158 0 +151 159 0 +151 160 0 +151 161 0 +151 162 0 +151 163 0 +151 164 0 +151 165 0 +151 166 0 +151 167 0 +151 168 0 +151 169 0 +151 170 0 +151 171 0 +151 172 0 +151 173 0 +151 174 0 +151 175 0 +151 176 0 +151 177 0 +151 178 0 +151 179 0 +151 180 0 +151 181 0 +151 182 0 +151 183 0 +151 184 0 +151 185 0 +151 186 0 +151 187 0 +151 188 0 +151 189 0 +151 190 0 +151 191 0 +151 192 0 +151 193 0 +151 194 0 +151 195 0 +151 196 0 +151 197 0 +151 198 0 +151 199 0 +151 200 0 +151 201 0 +151 202 0 +151 203 0 +151 204 0 +151 205 0 +151 206 0 +151 207 0 +151 208 0 +151 209 0 +151 210 0 +151 211 0 +151 212 0 +151 213 0 +151 214 0 +151 215 0 +151 216 0 +151 217 0 +151 218 0 +151 219 0 +151 220 0 +151 221 0 +151 222 0 +151 223 0 +151 224 0 +151 225 0 +151 226 0 +151 227 0 +151 228 0 +151 229 0 +151 230 0 +151 231 0 +151 232 0 +151 233 0 +151 234 0 +151 235 0 +151 236 0 +151 237 0 +151 238 0 +151 239 0 +151 240 0 +151 241 0 +151 242 0 +151 243 0 +151 244 0 +151 245 0 +151 246 0 +151 247 0 +151 248 0 +151 249 0 +151 250 0 +151 251 0 +151 252 0 +151 253 0 +151 254 0 +151 255 0 +151 256 0 +151 257 0 +151 258 0 +151 259 0 +151 260 0 +151 261 0 +151 262 0 +151 263 0 +151 264 0 +151 265 0 +151 266 0 +151 267 0 +151 268 0 +151 269 0 +151 270 0 +151 271 0 +151 272 0 +151 273 0 +151 274 0 +151 275 0 +151 276 0 +151 277 0 +151 278 0 +151 279 0 +151 280 0 +151 281 0 +151 282 0 +151 283 0 +151 284 0 +151 285 0 +151 286 0 +151 287 0 +151 288 0 +151 289 0 +151 290 0 +151 291 0 +151 292 0 +151 293 0 +151 294 0 +151 295 0 +151 296 0 +151 297 0 +151 298 0 +151 299 0 +151 300 0 +151 301 0 +151 302 0 +151 303 0 +151 304 0 +151 305 0 +151 306 0 +151 307 0 +151 308 0 +151 309 0 +151 310 0 +151 311 0 +151 312 0 +151 313 0 +151 314 0 +151 315 0 +151 316 0 +151 317 0 +151 318 0 +151 319 0 +151 320 0 +151 321 0 +151 322 0 +151 323 0 +151 324 0 +151 325 0 +151 326 0 +151 327 0 +151 328 0 +151 329 0 +151 330 0 +151 331 0 +151 332 0 +151 333 0 +151 334 0 +151 335 0 +151 336 0 +151 337 0 +151 338 0 +151 339 0 +151 340 0 +151 341 0 +151 342 0 +151 343 0 +151 344 0 +151 345 0 +151 346 0 +151 347 0 +151 348 0 +151 349 0 +151 350 0 +151 351 0 +151 352 0 +151 353 0 +151 354 0 +151 355 0 +151 356 0 +151 357 0 +151 358 0 +151 359 0 +151 360 0 +151 361 0 +151 362 0 +151 363 0 +151 364 0 +151 365 0 +151 366 0 +151 367 0 +151 368 0 +151 369 0 +151 370 0 +151 371 0 +151 372 0 +151 373 0 +151 374 0 +151 375 0 +151 376 0 +151 377 0 +151 378 0 +151 379 0 +151 380 0 +151 381 0 +151 382 0 +151 383 0 +152 153 0 +152 154 0 +152 155 0 +152 156 0 +152 157 0 +152 158 0 +152 159 0 +152 160 0 +152 161 0 +152 162 0 +152 163 0 +152 164 0 +152 165 0 +152 166 0 +152 167 0 +152 168 0 +152 169 0 +152 170 0 +152 171 0 +152 172 0 +152 173 0 +152 174 0 +152 175 0 +152 176 0 +152 177 0 +152 178 0 +152 179 0 +152 180 0 +152 181 0 +152 182 0 +152 183 0 +152 184 0 +152 185 0 +152 186 0 +152 187 0 +152 188 0 +152 189 0 +152 190 0 +152 191 0 +152 192 0 +152 193 0 +152 194 0 +152 195 0 +152 196 0 +152 197 0 +152 198 0 +152 199 0 +152 200 0 +152 201 0 +152 202 0 +152 203 0 +152 204 0 +152 205 0 +152 206 0 +152 207 0 +152 208 0 +152 209 0 +152 210 0 +152 211 0 +152 212 0 +152 213 0 +152 214 0 +152 215 0 +152 216 0 +152 217 0 +152 218 0 +152 219 0 +152 220 0 +152 221 0 +152 222 0 +152 223 0 +152 224 0 +152 225 0 +152 226 0 +152 227 0 +152 228 0 +152 229 0 +152 230 0 +152 231 0 +152 232 0 +152 233 0 +152 234 0 +152 235 0 +152 236 0 +152 237 0 +152 238 0 +152 239 0 +152 240 0 +152 241 0 +152 242 0 +152 243 0 +152 244 0 +152 245 0 +152 246 0 +152 247 0 +152 248 0 +152 249 0 +152 250 0 +152 251 0 +152 252 0 +152 253 0 +152 254 0 +152 255 0 +152 256 0 +152 257 0 +152 258 0 +152 259 0 +152 260 0 +152 261 0 +152 262 0 +152 263 0 +152 264 0 +152 265 0 +152 266 0 +152 267 0 +152 268 0 +152 269 0 +152 270 0 +152 271 0 +152 272 0 +152 273 0 +152 274 0 +152 275 0 +152 276 0 +152 277 0 +152 278 0 +152 279 0 +152 280 0 +152 281 0 +152 282 0 +152 283 0 +152 284 0 +152 285 0 +152 286 0 +152 287 0 +152 288 0 +152 289 0 +152 290 0 +152 291 0 +152 292 0 +152 293 0 +152 294 0 +152 295 0 +152 296 0 +152 297 0 +152 298 0 +152 299 0 +152 300 0 +152 301 0 +152 302 0 +152 303 0 +152 304 0 +152 305 0 +152 306 0 +152 307 0 +152 308 0 +152 309 0 +152 310 0 +152 311 0 +152 312 0 +152 313 0 +152 314 0 +152 315 0 +152 316 0 +152 317 0 +152 318 0 +152 319 0 +152 320 0 +152 321 0 +152 322 0 +152 323 0 +152 324 0 +152 325 0 +152 326 0 +152 327 0 +152 328 0 +152 329 0 +152 330 0 +152 331 0 +152 332 0 +152 333 0 +152 334 0 +152 335 0 +152 336 0 +152 337 0 +152 338 0 +152 339 0 +152 340 0 +152 341 0 +152 342 0 +152 343 0 +152 344 0 +152 345 0 +152 346 0 +152 347 0 +152 348 0 +152 349 0 +152 350 0 +152 351 0 +152 352 0 +152 353 0 +152 354 0 +152 355 0 +152 356 0 +152 357 0 +152 358 0 +152 359 0 +152 360 0 +152 361 0 +152 362 0 +152 363 0 +152 364 0 +152 365 0 +152 366 0 +152 367 0 +152 368 0 +152 369 0 +152 370 0 +152 371 0 +152 372 0 +152 373 0 +152 374 0 +152 375 0 +152 376 0 +152 377 0 +152 378 0 +152 379 0 +152 380 0 +152 381 0 +152 382 0 +152 383 0 +153 154 0 +153 155 0 +153 156 0 +153 157 0 +153 158 0 +153 159 0 +153 160 0 +153 161 0 +153 162 0 +153 163 0 +153 164 0 +153 165 0 +153 166 0 +153 167 0 +153 168 0 +153 169 0 +153 170 0 +153 171 0 +153 172 0 +153 173 0 +153 174 0 +153 175 0 +153 176 0 +153 177 0 +153 178 0 +153 179 0 +153 180 0 +153 181 0 +153 182 0 +153 183 0 +153 184 0 +153 185 0 +153 186 0 +153 187 0 +153 188 0 +153 189 0 +153 190 0 +153 191 0 +153 192 0 +153 193 0 +153 194 0 +153 195 0 +153 196 0 +153 197 0 +153 198 0 +153 199 0 +153 200 0 +153 201 0 +153 202 0 +153 203 0 +153 204 0 +153 205 0 +153 206 0 +153 207 0 +153 208 0 +153 209 0 +153 210 0 +153 211 0 +153 212 0 +153 213 0 +153 214 0 +153 215 0 +153 216 0 +153 217 0 +153 218 0 +153 219 0 +153 220 0 +153 221 0 +153 222 0 +153 223 0 +153 224 0 +153 225 0 +153 226 0 +153 227 0 +153 228 0 +153 229 0 +153 230 0 +153 231 0 +153 232 0 +153 233 0 +153 234 0 +153 235 0 +153 236 0 +153 237 0 +153 238 0 +153 239 0 +153 240 0 +153 241 0 +153 242 0 +153 243 0 +153 244 0 +153 245 0 +153 246 0 +153 247 0 +153 248 0 +153 249 0 +153 250 0 +153 251 0 +153 252 0 +153 253 0 +153 254 0 +153 255 0 +153 256 0 +153 257 0 +153 258 0 +153 259 0 +153 260 0 +153 261 0 +153 262 0 +153 263 0 +153 264 0 +153 265 0 +153 266 0 +153 267 0 +153 268 0 +153 269 0 +153 270 0 +153 271 0 +153 272 0 +153 273 0 +153 274 0 +153 275 0 +153 276 0 +153 277 0 +153 278 0 +153 279 0 +153 280 0 +153 281 0 +153 282 0 +153 283 0 +153 284 0 +153 285 0 +153 286 0 +153 287 0 +153 288 0 +153 289 0 +153 290 0 +153 291 0 +153 292 0 +153 293 0 +153 294 0 +153 295 0 +153 296 0 +153 297 0 +153 298 0 +153 299 0 +153 300 0 +153 301 0 +153 302 0 +153 303 0 +153 304 0 +153 305 0 +153 306 0 +153 307 0 +153 308 0 +153 309 0 +153 310 0 +153 311 0 +153 312 0 +153 313 0 +153 314 0 +153 315 0 +153 316 0 +153 317 0 +153 318 0 +153 319 0 +153 320 0 +153 321 0 +153 322 0 +153 323 0 +153 324 0 +153 325 0 +153 326 0 +153 327 0 +153 328 0 +153 329 0 +153 330 0 +153 331 0 +153 332 0 +153 333 0 +153 334 0 +153 335 0 +153 336 0 +153 337 0 +153 338 0 +153 339 0 +153 340 0 +153 341 0 +153 342 0 +153 343 0 +153 344 0 +153 345 0 +153 346 0 +153 347 0 +153 348 0 +153 349 0 +153 350 0 +153 351 0 +153 352 0 +153 353 0 +153 354 0 +153 355 0 +153 356 0 +153 357 0 +153 358 0 +153 359 0 +153 360 0 +153 361 0 +153 362 0 +153 363 0 +153 364 0 +153 365 0 +153 366 0 +153 367 0 +153 368 0 +153 369 0 +153 370 0 +153 371 0 +153 372 0 +153 373 0 +153 374 0 +153 375 0 +153 376 0 +153 377 0 +153 378 0 +153 379 0 +153 380 0 +153 381 0 +153 382 0 +153 383 0 +154 155 0 +154 156 0 +154 157 0 +154 158 0 +154 159 0 +154 160 0 +154 161 0 +154 162 0 +154 163 0 +154 164 0 +154 165 0 +154 166 0 +154 167 0 +154 168 0 +154 169 0 +154 170 0 +154 171 0 +154 172 0 +154 173 0 +154 174 0 +154 175 0 +154 176 0 +154 177 0 +154 178 0 +154 179 0 +154 180 0 +154 181 0 +154 182 0 +154 183 0 +154 184 0 +154 185 0 +154 186 0 +154 187 0 +154 188 0 +154 189 0 +154 190 0 +154 191 0 +154 192 0 +154 193 0 +154 194 0 +154 195 0 +154 196 0 +154 197 0 +154 198 0 +154 199 0 +154 200 0 +154 201 0 +154 202 0 +154 203 0 +154 204 0 +154 205 0 +154 206 0 +154 207 0 +154 208 0 +154 209 0 +154 210 0 +154 211 0 +154 212 0 +154 213 0 +154 214 0 +154 215 0 +154 216 0 +154 217 0 +154 218 0 +154 219 0 +154 220 0 +154 221 0 +154 222 0 +154 223 0 +154 224 0 +154 225 0 +154 226 0 +154 227 0 +154 228 0 +154 229 0 +154 230 0 +154 231 0 +154 232 0 +154 233 0 +154 234 0 +154 235 0 +154 236 0 +154 237 0 +154 238 0 +154 239 0 +154 240 0 +154 241 0 +154 242 0 +154 243 0 +154 244 0 +154 245 0 +154 246 0 +154 247 0 +154 248 0 +154 249 0 +154 250 0 +154 251 0 +154 252 0 +154 253 0 +154 254 0 +154 255 0 +154 256 0 +154 257 0 +154 258 0 +154 259 0 +154 260 0 +154 261 0 +154 262 0 +154 263 0 +154 264 0 +154 265 0 +154 266 0 +154 267 0 +154 268 0 +154 269 0 +154 270 0 +154 271 0 +154 272 0 +154 273 0 +154 274 0 +154 275 0 +154 276 0 +154 277 0 +154 278 0 +154 279 0 +154 280 0 +154 281 0 +154 282 0 +154 283 0 +154 284 0 +154 285 0 +154 286 0 +154 287 0 +154 288 0 +154 289 0 +154 290 0 +154 291 0 +154 292 0 +154 293 0 +154 294 0 +154 295 0 +154 296 0 +154 297 0 +154 298 0 +154 299 0 +154 300 0 +154 301 0 +154 302 0 +154 303 0 +154 304 0 +154 305 0 +154 306 0 +154 307 0 +154 308 0 +154 309 0 +154 310 0 +154 311 0 +154 312 0 +154 313 0 +154 314 0 +154 315 0 +154 316 0 +154 317 0 +154 318 0 +154 319 0 +154 320 0 +154 321 0 +154 322 0 +154 323 0 +154 324 0 +154 325 0 +154 326 0 +154 327 0 +154 328 0 +154 329 0 +154 330 0 +154 331 0 +154 332 0 +154 333 0 +154 334 0 +154 335 0 +154 336 0 +154 337 0 +154 338 0 +154 339 0 +154 340 0 +154 341 0 +154 342 0 +154 343 0 +154 344 0 +154 345 0 +154 346 0 +154 347 0 +154 348 0 +154 349 0 +154 350 0 +154 351 0 +154 352 0 +154 353 0 +154 354 0 +154 355 0 +154 356 0 +154 357 0 +154 358 0 +154 359 0 +154 360 0 +154 361 0 +154 362 0 +154 363 0 +154 364 0 +154 365 0 +154 366 0 +154 367 0 +154 368 0 +154 369 0 +154 370 0 +154 371 0 +154 372 0 +154 373 0 +154 374 0 +154 375 0 +154 376 0 +154 377 0 +154 378 0 +154 379 0 +154 380 0 +154 381 0 +154 382 0 +154 383 0 +155 156 0 +155 157 0 +155 158 0 +155 159 0 +155 160 0 +155 161 0 +155 162 0 +155 163 0 +155 164 0 +155 165 0 +155 166 0 +155 167 0 +155 168 0 +155 169 0 +155 170 0 +155 171 0 +155 172 0 +155 173 0 +155 174 0 +155 175 0 +155 176 0 +155 177 0 +155 178 0 +155 179 0 +155 180 0 +155 181 0 +155 182 0 +155 183 0 +155 184 0 +155 185 0 +155 186 0 +155 187 0 +155 188 0 +155 189 0 +155 190 0 +155 191 0 +155 192 0 +155 193 0 +155 194 0 +155 195 0 +155 196 0 +155 197 0 +155 198 0 +155 199 0 +155 200 0 +155 201 0 +155 202 0 +155 203 0 +155 204 0 +155 205 0 +155 206 0 +155 207 0 +155 208 0 +155 209 0 +155 210 0 +155 211 0 +155 212 0 +155 213 0 +155 214 0 +155 215 0 +155 216 0 +155 217 0 +155 218 0 +155 219 0 +155 220 0 +155 221 0 +155 222 0 +155 223 0 +155 224 0 +155 225 0 +155 226 0 +155 227 0 +155 228 0 +155 229 0 +155 230 0 +155 231 0 +155 232 0 +155 233 0 +155 234 0 +155 235 0 +155 236 0 +155 237 0 +155 238 0 +155 239 0 +155 240 0 +155 241 0 +155 242 0 +155 243 0 +155 244 0 +155 245 0 +155 246 0 +155 247 0 +155 248 0 +155 249 0 +155 250 0 +155 251 0 +155 252 0 +155 253 0 +155 254 0 +155 255 0 +155 256 0 +155 257 0 +155 258 0 +155 259 0 +155 260 0 +155 261 0 +155 262 0 +155 263 0 +155 264 0 +155 265 0 +155 266 0 +155 267 0 +155 268 0 +155 269 0 +155 270 0 +155 271 0 +155 272 0 +155 273 0 +155 274 0 +155 275 0 +155 276 0 +155 277 0 +155 278 0 +155 279 0 +155 280 0 +155 281 0 +155 282 0 +155 283 0 +155 284 0 +155 285 0 +155 286 0 +155 287 0 +155 288 0 +155 289 0 +155 290 0 +155 291 0 +155 292 0 +155 293 0 +155 294 0 +155 295 0 +155 296 0 +155 297 0 +155 298 0 +155 299 0 +155 300 0 +155 301 0 +155 302 0 +155 303 0 +155 304 0 +155 305 0 +155 306 0 +155 307 0 +155 308 0 +155 309 0 +155 310 0 +155 311 0 +155 312 0 +155 313 0 +155 314 0 +155 315 0 +155 316 0 +155 317 0 +155 318 0 +155 319 0 +155 320 0 +155 321 0 +155 322 0 +155 323 0 +155 324 0 +155 325 0 +155 326 0 +155 327 0 +155 328 0 +155 329 0 +155 330 0 +155 331 0 +155 332 0 +155 333 0 +155 334 0 +155 335 0 +155 336 0 +155 337 0 +155 338 0 +155 339 0 +155 340 0 +155 341 0 +155 342 0 +155 343 0 +155 344 0 +155 345 0 +155 346 0 +155 347 0 +155 348 0 +155 349 0 +155 350 0 +155 351 0 +155 352 0 +155 353 0 +155 354 0 +155 355 0 +155 356 0 +155 357 0 +155 358 0 +155 359 0 +155 360 0 +155 361 0 +155 362 0 +155 363 0 +155 364 0 +155 365 0 +155 366 0 +155 367 0 +155 368 0 +155 369 0 +155 370 0 +155 371 0 +155 372 0 +155 373 0 +155 374 0 +155 375 0 +155 376 0 +155 377 0 +155 378 0 +155 379 0 +155 380 0 +155 381 0 +155 382 0 +155 383 0 +156 157 0 +156 158 0 +156 159 0 +156 160 0 +156 161 0 +156 162 0 +156 163 0 +156 164 0 +156 165 0 +156 166 0 +156 167 0 +156 168 0 +156 169 0 +156 170 0 +156 171 0 +156 172 0 +156 173 0 +156 174 0 +156 175 0 +156 176 0 +156 177 0 +156 178 0 +156 179 0 +156 180 0 +156 181 0 +156 182 0 +156 183 0 +156 184 0 +156 185 0 +156 186 0 +156 187 0 +156 188 0 +156 189 0 +156 190 0 +156 191 0 +156 192 0 +156 193 0 +156 194 0 +156 195 0 +156 196 0 +156 197 0 +156 198 0 +156 199 0 +156 200 0 +156 201 0 +156 202 0 +156 203 0 +156 204 0 +156 205 0 +156 206 0 +156 207 0 +156 208 0 +156 209 0 +156 210 0 +156 211 0 +156 212 0 +156 213 0 +156 214 0 +156 215 0 +156 216 0 +156 217 0 +156 218 0 +156 219 0 +156 220 0 +156 221 0 +156 222 0 +156 223 0 +156 224 0 +156 225 0 +156 226 0 +156 227 0 +156 228 0 +156 229 0 +156 230 0 +156 231 0 +156 232 0 +156 233 0 +156 234 0 +156 235 0 +156 236 0 +156 237 0 +156 238 0 +156 239 0 +156 240 0 +156 241 0 +156 242 0 +156 243 0 +156 244 0 +156 245 0 +156 246 0 +156 247 0 +156 248 0 +156 249 0 +156 250 0 +156 251 0 +156 252 0 +156 253 0 +156 254 0 +156 255 0 +156 256 0 +156 257 0 +156 258 0 +156 259 0 +156 260 0 +156 261 0 +156 262 0 +156 263 0 +156 264 0 +156 265 0 +156 266 0 +156 267 0 +156 268 0 +156 269 0 +156 270 0 +156 271 0 +156 272 0 +156 273 0 +156 274 0 +156 275 0 +156 276 0 +156 277 0 +156 278 0 +156 279 0 +156 280 0 +156 281 0 +156 282 0 +156 283 0 +156 284 0 +156 285 0 +156 286 0 +156 287 0 +156 288 0 +156 289 0 +156 290 0 +156 291 0 +156 292 0 +156 293 0 +156 294 0 +156 295 0 +156 296 0 +156 297 0 +156 298 0 +156 299 0 +156 300 0 +156 301 0 +156 302 0 +156 303 0 +156 304 0 +156 305 0 +156 306 0 +156 307 0 +156 308 0 +156 309 0 +156 310 0 +156 311 0 +156 312 0 +156 313 0 +156 314 0 +156 315 0 +156 316 0 +156 317 0 +156 318 0 +156 319 0 +156 320 0 +156 321 0 +156 322 0 +156 323 0 +156 324 0 +156 325 0 +156 326 0 +156 327 0 +156 328 0 +156 329 0 +156 330 0 +156 331 0 +156 332 0 +156 333 0 +156 334 0 +156 335 0 +156 336 0 +156 337 0 +156 338 0 +156 339 0 +156 340 0 +156 341 0 +156 342 0 +156 343 0 +156 344 0 +156 345 0 +156 346 0 +156 347 0 +156 348 0 +156 349 0 +156 350 0 +156 351 0 +156 352 0 +156 353 0 +156 354 0 +156 355 0 +156 356 0 +156 357 0 +156 358 0 +156 359 0 +156 360 0 +156 361 0 +156 362 0 +156 363 0 +156 364 0 +156 365 0 +156 366 0 +156 367 0 +156 368 0 +156 369 0 +156 370 0 +156 371 0 +156 372 0 +156 373 0 +156 374 0 +156 375 0 +156 376 0 +156 377 0 +156 378 0 +156 379 0 +156 380 0 +156 381 0 +156 382 0 +156 383 0 +157 158 0 +157 159 0 +157 160 0 +157 161 0 +157 162 0 +157 163 0 +157 164 0 +157 165 0 +157 166 0 +157 167 0 +157 168 0 +157 169 0 +157 170 0 +157 171 0 +157 172 0 +157 173 0 +157 174 0 +157 175 0 +157 176 0 +157 177 0 +157 178 0 +157 179 0 +157 180 0 +157 181 0 +157 182 0 +157 183 0 +157 184 0 +157 185 0 +157 186 0 +157 187 0 +157 188 0 +157 189 0 +157 190 0 +157 191 0 +157 192 0 +157 193 0 +157 194 0 +157 195 0 +157 196 0 +157 197 0 +157 198 0 +157 199 0 +157 200 0 +157 201 0 +157 202 0 +157 203 0 +157 204 0 +157 205 0 +157 206 0 +157 207 0 +157 208 0 +157 209 0 +157 210 0 +157 211 0 +157 212 0 +157 213 0 +157 214 0 +157 215 0 +157 216 0 +157 217 0 +157 218 0 +157 219 0 +157 220 0 +157 221 0 +157 222 0 +157 223 0 +157 224 0 +157 225 0 +157 226 0 +157 227 0 +157 228 0 +157 229 0 +157 230 0 +157 231 0 +157 232 0 +157 233 0 +157 234 0 +157 235 0 +157 236 0 +157 237 0 +157 238 0 +157 239 0 +157 240 0 +157 241 0 +157 242 0 +157 243 0 +157 244 0 +157 245 0 +157 246 0 +157 247 0 +157 248 0 +157 249 0 +157 250 0 +157 251 0 +157 252 0 +157 253 0 +157 254 0 +157 255 0 +157 256 0 +157 257 0 +157 258 0 +157 259 0 +157 260 0 +157 261 0 +157 262 0 +157 263 0 +157 264 0 +157 265 0 +157 266 0 +157 267 0 +157 268 0 +157 269 0 +157 270 0 +157 271 0 +157 272 0 +157 273 0 +157 274 0 +157 275 0 +157 276 0 +157 277 0 +157 278 0 +157 279 0 +157 280 0 +157 281 0 +157 282 0 +157 283 0 +157 284 0 +157 285 0 +157 286 0 +157 287 0 +157 288 0 +157 289 0 +157 290 0 +157 291 0 +157 292 0 +157 293 0 +157 294 0 +157 295 0 +157 296 0 +157 297 0 +157 298 0 +157 299 0 +157 300 0 +157 301 0 +157 302 0 +157 303 0 +157 304 0 +157 305 0 +157 306 0 +157 307 0 +157 308 0 +157 309 0 +157 310 0 +157 311 0 +157 312 0 +157 313 0 +157 314 0 +157 315 0 +157 316 0 +157 317 0 +157 318 0 +157 319 0 +157 320 0 +157 321 0 +157 322 0 +157 323 0 +157 324 0 +157 325 0 +157 326 0 +157 327 0 +157 328 0 +157 329 0 +157 330 0 +157 331 0 +157 332 0 +157 333 0 +157 334 0 +157 335 0 +157 336 0 +157 337 0 +157 338 0 +157 339 0 +157 340 0 +157 341 0 +157 342 0 +157 343 0 +157 344 0 +157 345 0 +157 346 0 +157 347 0 +157 348 0 +157 349 0 +157 350 0 +157 351 0 +157 352 0 +157 353 0 +157 354 0 +157 355 0 +157 356 0 +157 357 0 +157 358 0 +157 359 0 +157 360 0 +157 361 0 +157 362 0 +157 363 0 +157 364 0 +157 365 0 +157 366 0 +157 367 0 +157 368 0 +157 369 0 +157 370 0 +157 371 0 +157 372 0 +157 373 0 +157 374 0 +157 375 0 +157 376 0 +157 377 0 +157 378 0 +157 379 0 +157 380 0 +157 381 0 +157 382 0 +157 383 0 +158 159 0 +158 160 0 +158 161 0 +158 162 0 +158 163 0 +158 164 0 +158 165 0 +158 166 0 +158 167 0 +158 168 0 +158 169 0 +158 170 0 +158 171 0 +158 172 0 +158 173 0 +158 174 0 +158 175 0 +158 176 0 +158 177 0 +158 178 0 +158 179 0 +158 180 0 +158 181 0 +158 182 0 +158 183 0 +158 184 0 +158 185 0 +158 186 0 +158 187 0 +158 188 0 +158 189 0 +158 190 0 +158 191 0 +158 192 0 +158 193 0 +158 194 0 +158 195 0 +158 196 0 +158 197 0 +158 198 0 +158 199 0 +158 200 0 +158 201 0 +158 202 0 +158 203 0 +158 204 0 +158 205 0 +158 206 0 +158 207 0 +158 208 0 +158 209 0 +158 210 0 +158 211 0 +158 212 0 +158 213 0 +158 214 0 +158 215 0 +158 216 0 +158 217 0 +158 218 0 +158 219 0 +158 220 0 +158 221 0 +158 222 0 +158 223 0 +158 224 0 +158 225 0 +158 226 0 +158 227 0 +158 228 0 +158 229 0 +158 230 0 +158 231 0 +158 232 0 +158 233 0 +158 234 0 +158 235 0 +158 236 0 +158 237 0 +158 238 0 +158 239 0 +158 240 0 +158 241 0 +158 242 0 +158 243 0 +158 244 0 +158 245 0 +158 246 0 +158 247 0 +158 248 0 +158 249 0 +158 250 0 +158 251 0 +158 252 0 +158 253 0 +158 254 0 +158 255 0 +158 256 0 +158 257 0 +158 258 0 +158 259 0 +158 260 0 +158 261 0 +158 262 0 +158 263 0 +158 264 0 +158 265 0 +158 266 0 +158 267 0 +158 268 0 +158 269 0 +158 270 0 +158 271 0 +158 272 0 +158 273 0 +158 274 0 +158 275 0 +158 276 0 +158 277 0 +158 278 0 +158 279 0 +158 280 0 +158 281 0 +158 282 0 +158 283 0 +158 284 0 +158 285 0 +158 286 0 +158 287 0 +158 288 0 +158 289 0 +158 290 0 +158 291 0 +158 292 0 +158 293 0 +158 294 0 +158 295 0 +158 296 0 +158 297 0 +158 298 0 +158 299 0 +158 300 0 +158 301 0 +158 302 0 +158 303 0 +158 304 0 +158 305 0 +158 306 0 +158 307 0 +158 308 0 +158 309 0 +158 310 0 +158 311 0 +158 312 0 +158 313 0 +158 314 0 +158 315 0 +158 316 0 +158 317 0 +158 318 0 +158 319 0 +158 320 0 +158 321 0 +158 322 0 +158 323 0 +158 324 0 +158 325 0 +158 326 0 +158 327 0 +158 328 0 +158 329 0 +158 330 0 +158 331 0 +158 332 0 +158 333 0 +158 334 0 +158 335 0 +158 336 0 +158 337 0 +158 338 0 +158 339 0 +158 340 0 +158 341 0 +158 342 0 +158 343 0 +158 344 0 +158 345 0 +158 346 0 +158 347 0 +158 348 0 +158 349 0 +158 350 0 +158 351 0 +158 352 0 +158 353 0 +158 354 0 +158 355 0 +158 356 0 +158 357 0 +158 358 0 +158 359 0 +158 360 0 +158 361 0 +158 362 0 +158 363 0 +158 364 0 +158 365 0 +158 366 0 +158 367 0 +158 368 0 +158 369 0 +158 370 0 +158 371 0 +158 372 0 +158 373 0 +158 374 0 +158 375 0 +158 376 0 +158 377 0 +158 378 0 +158 379 0 +158 380 0 +158 381 0 +158 382 0 +158 383 0 +159 160 0 +159 161 0 +159 162 0 +159 163 0 +159 164 0 +159 165 0 +159 166 0 +159 167 0 +159 168 0 +159 169 0 +159 170 0 +159 171 0 +159 172 0 +159 173 0 +159 174 0 +159 175 0 +159 176 0 +159 177 0 +159 178 0 +159 179 0 +159 180 0 +159 181 0 +159 182 0 +159 183 0 +159 184 0 +159 185 0 +159 186 0 +159 187 0 +159 188 0 +159 189 0 +159 190 0 +159 191 0 +159 192 0 +159 193 0 +159 194 0 +159 195 0 +159 196 0 +159 197 0 +159 198 0 +159 199 0 +159 200 0 +159 201 0 +159 202 0 +159 203 0 +159 204 0 +159 205 0 +159 206 0 +159 207 0 +159 208 0 +159 209 0 +159 210 0 +159 211 0 +159 212 0 +159 213 0 +159 214 0 +159 215 0 +159 216 0 +159 217 0 +159 218 0 +159 219 0 +159 220 0 +159 221 0 +159 222 0 +159 223 0 +159 224 0 +159 225 0 +159 226 0 +159 227 0 +159 228 0 +159 229 0 +159 230 0 +159 231 0 +159 232 0 +159 233 0 +159 234 0 +159 235 0 +159 236 0 +159 237 0 +159 238 0 +159 239 0 +159 240 0 +159 241 0 +159 242 0 +159 243 0 +159 244 0 +159 245 0 +159 246 0 +159 247 0 +159 248 0 +159 249 0 +159 250 0 +159 251 0 +159 252 0 +159 253 0 +159 254 0 +159 255 0 +159 256 0 +159 257 0 +159 258 0 +159 259 0 +159 260 0 +159 261 0 +159 262 0 +159 263 0 +159 264 0 +159 265 0 +159 266 0 +159 267 0 +159 268 0 +159 269 0 +159 270 0 +159 271 0 +159 272 0 +159 273 0 +159 274 0 +159 275 0 +159 276 0 +159 277 0 +159 278 0 +159 279 0 +159 280 0 +159 281 0 +159 282 0 +159 283 0 +159 284 0 +159 285 0 +159 286 0 +159 287 0 +159 288 0 +159 289 0 +159 290 0 +159 291 0 +159 292 0 +159 293 0 +159 294 0 +159 295 0 +159 296 0 +159 297 0 +159 298 0 +159 299 0 +159 300 0 +159 301 0 +159 302 0 +159 303 0 +159 304 0 +159 305 0 +159 306 0 +159 307 0 +159 308 0 +159 309 0 +159 310 0 +159 311 0 +159 312 0 +159 313 0 +159 314 0 +159 315 0 +159 316 0 +159 317 0 +159 318 0 +159 319 0 +159 320 0 +159 321 0 +159 322 0 +159 323 0 +159 324 0 +159 325 0 +159 326 0 +159 327 0 +159 328 0 +159 329 0 +159 330 0 +159 331 0 +159 332 0 +159 333 0 +159 334 0 +159 335 0 +159 336 0 +159 337 0 +159 338 0 +159 339 0 +159 340 0 +159 341 0 +159 342 0 +159 343 0 +159 344 0 +159 345 0 +159 346 0 +159 347 0 +159 348 0 +159 349 0 +159 350 0 +159 351 0 +159 352 0 +159 353 0 +159 354 0 +159 355 0 +159 356 0 +159 357 0 +159 358 0 +159 359 0 +159 360 0 +159 361 0 +159 362 0 +159 363 0 +159 364 0 +159 365 0 +159 366 0 +159 367 0 +159 368 0 +159 369 0 +159 370 0 +159 371 0 +159 372 0 +159 373 0 +159 374 0 +159 375 0 +159 376 0 +159 377 0 +159 378 0 +159 379 0 +159 380 0 +159 381 0 +159 382 0 +159 383 0 +160 161 0 +160 162 0 +160 163 0 +160 164 0 +160 165 0 +160 166 0 +160 167 0 +160 168 0 +160 169 0 +160 170 0 +160 171 0 +160 172 0 +160 173 0 +160 174 0 +160 175 0 +160 176 0 +160 177 0 +160 178 0 +160 179 0 +160 180 0 +160 181 0 +160 182 0 +160 183 0 +160 184 0 +160 185 0 +160 186 0 +160 187 0 +160 188 0 +160 189 0 +160 190 0 +160 191 0 +160 192 0 +160 193 0 +160 194 0 +160 195 0 +160 196 0 +160 197 0 +160 198 0 +160 199 0 +160 200 0 +160 201 0 +160 202 0 +160 203 0 +160 204 0 +160 205 0 +160 206 0 +160 207 0 +160 208 0 +160 209 0 +160 210 0 +160 211 0 +160 212 0 +160 213 0 +160 214 0 +160 215 0 +160 216 0 +160 217 0 +160 218 0 +160 219 0 +160 220 0 +160 221 0 +160 222 0 +160 223 0 +160 224 0 +160 225 0 +160 226 0 +160 227 0 +160 228 0 +160 229 0 +160 230 0 +160 231 0 +160 232 0 +160 233 0 +160 234 0 +160 235 0 +160 236 0 +160 237 0 +160 238 0 +160 239 0 +160 240 0 +160 241 0 +160 242 0 +160 243 0 +160 244 0 +160 245 0 +160 246 0 +160 247 0 +160 248 0 +160 249 0 +160 250 0 +160 251 0 +160 252 0 +160 253 0 +160 254 0 +160 255 0 +160 256 0 +160 257 0 +160 258 0 +160 259 0 +160 260 0 +160 261 0 +160 262 0 +160 263 0 +160 264 0 +160 265 0 +160 266 0 +160 267 0 +160 268 0 +160 269 0 +160 270 0 +160 271 0 +160 272 0 +160 273 0 +160 274 0 +160 275 0 +160 276 0 +160 277 0 +160 278 0 +160 279 0 +160 280 0 +160 281 0 +160 282 0 +160 283 0 +160 284 0 +160 285 0 +160 286 0 +160 287 0 +160 288 0 +160 289 0 +160 290 0 +160 291 0 +160 292 0 +160 293 0 +160 294 0 +160 295 0 +160 296 0 +160 297 0 +160 298 0 +160 299 0 +160 300 0 +160 301 0 +160 302 0 +160 303 0 +160 304 0 +160 305 0 +160 306 0 +160 307 0 +160 308 0 +160 309 0 +160 310 0 +160 311 0 +160 312 0 +160 313 0 +160 314 0 +160 315 0 +160 316 0 +160 317 0 +160 318 0 +160 319 0 +160 320 0 +160 321 0 +160 322 0 +160 323 0 +160 324 0 +160 325 0 +160 326 0 +160 327 0 +160 328 0 +160 329 0 +160 330 0 +160 331 0 +160 332 0 +160 333 0 +160 334 0 +160 335 0 +160 336 0 +160 337 0 +160 338 0 +160 339 0 +160 340 0 +160 341 0 +160 342 0 +160 343 0 +160 344 0 +160 345 0 +160 346 0 +160 347 0 +160 348 0 +160 349 0 +160 350 0 +160 351 0 +160 352 0 +160 353 0 +160 354 0 +160 355 0 +160 356 0 +160 357 0 +160 358 0 +160 359 0 +160 360 0 +160 361 0 +160 362 0 +160 363 0 +160 364 0 +160 365 0 +160 366 0 +160 367 0 +160 368 0 +160 369 0 +160 370 0 +160 371 0 +160 372 0 +160 373 0 +160 374 0 +160 375 0 +160 376 0 +160 377 0 +160 378 0 +160 379 0 +160 380 0 +160 381 0 +160 382 0 +160 383 0 +161 162 0 +161 163 0 +161 164 0 +161 165 0 +161 166 0 +161 167 0 +161 168 0 +161 169 0 +161 170 0 +161 171 0 +161 172 0 +161 173 0 +161 174 0 +161 175 0 +161 176 0 +161 177 0 +161 178 0 +161 179 0 +161 180 0 +161 181 0 +161 182 0 +161 183 0 +161 184 0 +161 185 0 +161 186 0 +161 187 0 +161 188 0 +161 189 0 +161 190 0 +161 191 0 +161 192 0 +161 193 0 +161 194 0 +161 195 0 +161 196 0 +161 197 0 +161 198 0 +161 199 0 +161 200 0 +161 201 0 +161 202 0 +161 203 0 +161 204 0 +161 205 0 +161 206 0 +161 207 0 +161 208 0 +161 209 0 +161 210 0 +161 211 0 +161 212 0 +161 213 0 +161 214 0 +161 215 0 +161 216 0 +161 217 0 +161 218 0 +161 219 0 +161 220 0 +161 221 0 +161 222 0 +161 223 0 +161 224 0 +161 225 0 +161 226 0 +161 227 0 +161 228 0 +161 229 0 +161 230 0 +161 231 0 +161 232 0 +161 233 0 +161 234 0 +161 235 0 +161 236 0 +161 237 0 +161 238 0 +161 239 0 +161 240 0 +161 241 0 +161 242 0 +161 243 0 +161 244 0 +161 245 0 +161 246 0 +161 247 0 +161 248 0 +161 249 0 +161 250 0 +161 251 0 +161 252 0 +161 253 0 +161 254 0 +161 255 0 +161 256 0 +161 257 0 +161 258 0 +161 259 0 +161 260 0 +161 261 0 +161 262 0 +161 263 0 +161 264 0 +161 265 0 +161 266 0 +161 267 0 +161 268 0 +161 269 0 +161 270 0 +161 271 0 +161 272 0 +161 273 0 +161 274 0 +161 275 0 +161 276 0 +161 277 0 +161 278 0 +161 279 0 +161 280 0 +161 281 0 +161 282 0 +161 283 0 +161 284 0 +161 285 0 +161 286 0 +161 287 0 +161 288 0 +161 289 0 +161 290 0 +161 291 0 +161 292 0 +161 293 0 +161 294 0 +161 295 0 +161 296 0 +161 297 0 +161 298 0 +161 299 0 +161 300 0 +161 301 0 +161 302 0 +161 303 0 +161 304 0 +161 305 0 +161 306 0 +161 307 0 +161 308 0 +161 309 0 +161 310 0 +161 311 0 +161 312 0 +161 313 0 +161 314 0 +161 315 0 +161 316 0 +161 317 0 +161 318 0 +161 319 0 +161 320 0 +161 321 0 +161 322 0 +161 323 0 +161 324 0 +161 325 0 +161 326 0 +161 327 0 +161 328 0 +161 329 0 +161 330 0 +161 331 0 +161 332 0 +161 333 0 +161 334 0 +161 335 0 +161 336 0 +161 337 0 +161 338 0 +161 339 0 +161 340 0 +161 341 0 +161 342 0 +161 343 0 +161 344 0 +161 345 0 +161 346 0 +161 347 0 +161 348 0 +161 349 0 +161 350 0 +161 351 0 +161 352 0 +161 353 0 +161 354 0 +161 355 0 +161 356 0 +161 357 0 +161 358 0 +161 359 0 +161 360 0 +161 361 0 +161 362 0 +161 363 0 +161 364 0 +161 365 0 +161 366 0 +161 367 0 +161 368 0 +161 369 0 +161 370 0 +161 371 0 +161 372 0 +161 373 0 +161 374 0 +161 375 0 +161 376 0 +161 377 0 +161 378 0 +161 379 0 +161 380 0 +161 381 0 +161 382 0 +161 383 0 +162 163 0 +162 164 0 +162 165 0 +162 166 0 +162 167 0 +162 168 0 +162 169 0 +162 170 0 +162 171 0 +162 172 0 +162 173 0 +162 174 0 +162 175 0 +162 176 0 +162 177 0 +162 178 0 +162 179 0 +162 180 0 +162 181 0 +162 182 0 +162 183 0 +162 184 0 +162 185 0 +162 186 0 +162 187 0 +162 188 0 +162 189 0 +162 190 0 +162 191 0 +162 192 0 +162 193 0 +162 194 0 +162 195 0 +162 196 0 +162 197 0 +162 198 0 +162 199 0 +162 200 0 +162 201 0 +162 202 0 +162 203 0 +162 204 0 +162 205 0 +162 206 0 +162 207 0 +162 208 0 +162 209 0 +162 210 0 +162 211 0 +162 212 0 +162 213 0 +162 214 0 +162 215 0 +162 216 0 +162 217 0 +162 218 0 +162 219 0 +162 220 0 +162 221 0 +162 222 0 +162 223 0 +162 224 0 +162 225 0 +162 226 0 +162 227 0 +162 228 0 +162 229 0 +162 230 0 +162 231 0 +162 232 0 +162 233 0 +162 234 0 +162 235 0 +162 236 0 +162 237 0 +162 238 0 +162 239 0 +162 240 0 +162 241 0 +162 242 0 +162 243 0 +162 244 0 +162 245 0 +162 246 0 +162 247 0 +162 248 0 +162 249 0 +162 250 0 +162 251 0 +162 252 0 +162 253 0 +162 254 0 +162 255 0 +162 256 0 +162 257 0 +162 258 0 +162 259 0 +162 260 0 +162 261 0 +162 262 0 +162 263 0 +162 264 0 +162 265 0 +162 266 0 +162 267 0 +162 268 0 +162 269 0 +162 270 0 +162 271 0 +162 272 0 +162 273 0 +162 274 0 +162 275 0 +162 276 0 +162 277 0 +162 278 0 +162 279 0 +162 280 0 +162 281 0 +162 282 0 +162 283 0 +162 284 0 +162 285 0 +162 286 0 +162 287 0 +162 288 0 +162 289 0 +162 290 0 +162 291 0 +162 292 0 +162 293 0 +162 294 0 +162 295 0 +162 296 0 +162 297 0 +162 298 0 +162 299 0 +162 300 0 +162 301 0 +162 302 0 +162 303 0 +162 304 0 +162 305 0 +162 306 0 +162 307 0 +162 308 0 +162 309 0 +162 310 0 +162 311 0 +162 312 0 +162 313 0 +162 314 0 +162 315 0 +162 316 0 +162 317 0 +162 318 0 +162 319 0 +162 320 0 +162 321 0 +162 322 0 +162 323 0 +162 324 0 +162 325 0 +162 326 0 +162 327 0 +162 328 0 +162 329 0 +162 330 0 +162 331 0 +162 332 0 +162 333 0 +162 334 0 +162 335 0 +162 336 0 +162 337 0 +162 338 0 +162 339 0 +162 340 0 +162 341 0 +162 342 0 +162 343 0 +162 344 0 +162 345 0 +162 346 0 +162 347 0 +162 348 0 +162 349 0 +162 350 0 +162 351 0 +162 352 0 +162 353 0 +162 354 0 +162 355 0 +162 356 0 +162 357 0 +162 358 0 +162 359 0 +162 360 0 +162 361 0 +162 362 0 +162 363 0 +162 364 0 +162 365 0 +162 366 0 +162 367 0 +162 368 0 +162 369 0 +162 370 0 +162 371 0 +162 372 0 +162 373 0 +162 374 0 +162 375 0 +162 376 0 +162 377 0 +162 378 0 +162 379 0 +162 380 0 +162 381 0 +162 382 0 +162 383 0 +163 164 0 +163 165 0 +163 166 0 +163 167 0 +163 168 0 +163 169 0 +163 170 0 +163 171 0 +163 172 0 +163 173 0 +163 174 0 +163 175 0 +163 176 0 +163 177 0 +163 178 0 +163 179 0 +163 180 0 +163 181 0 +163 182 0 +163 183 0 +163 184 0 +163 185 0 +163 186 0 +163 187 0 +163 188 0 +163 189 0 +163 190 0 +163 191 0 +163 192 0 +163 193 0 +163 194 0 +163 195 0 +163 196 0 +163 197 0 +163 198 0 +163 199 0 +163 200 0 +163 201 0 +163 202 0 +163 203 0 +163 204 0 +163 205 0 +163 206 0 +163 207 0 +163 208 0 +163 209 0 +163 210 0 +163 211 0 +163 212 0 +163 213 0 +163 214 0 +163 215 0 +163 216 0 +163 217 0 +163 218 0 +163 219 0 +163 220 0 +163 221 0 +163 222 0 +163 223 0 +163 224 0 +163 225 0 +163 226 0 +163 227 0 +163 228 0 +163 229 0 +163 230 0 +163 231 0 +163 232 0 +163 233 0 +163 234 0 +163 235 0 +163 236 0 +163 237 0 +163 238 0 +163 239 0 +163 240 0 +163 241 0 +163 242 0 +163 243 0 +163 244 0 +163 245 0 +163 246 0 +163 247 0 +163 248 0 +163 249 0 +163 250 0 +163 251 0 +163 252 0 +163 253 0 +163 254 0 +163 255 0 +163 256 0 +163 257 0 +163 258 0 +163 259 0 +163 260 0 +163 261 0 +163 262 0 +163 263 0 +163 264 0 +163 265 0 +163 266 0 +163 267 0 +163 268 0 +163 269 0 +163 270 0 +163 271 0 +163 272 0 +163 273 0 +163 274 0 +163 275 0 +163 276 0 +163 277 0 +163 278 0 +163 279 0 +163 280 0 +163 281 0 +163 282 0 +163 283 0 +163 284 0 +163 285 0 +163 286 0 +163 287 0 +163 288 0 +163 289 0 +163 290 0 +163 291 0 +163 292 0 +163 293 0 +163 294 0 +163 295 0 +163 296 0 +163 297 0 +163 298 0 +163 299 0 +163 300 0 +163 301 0 +163 302 0 +163 303 0 +163 304 0 +163 305 0 +163 306 0 +163 307 0 +163 308 0 +163 309 0 +163 310 0 +163 311 0 +163 312 0 +163 313 0 +163 314 0 +163 315 0 +163 316 0 +163 317 0 +163 318 0 +163 319 0 +163 320 0 +163 321 0 +163 322 0 +163 323 0 +163 324 0 +163 325 0 +163 326 0 +163 327 0 +163 328 0 +163 329 0 +163 330 0 +163 331 0 +163 332 0 +163 333 0 +163 334 0 +163 335 0 +163 336 0 +163 337 0 +163 338 0 +163 339 0 +163 340 0 +163 341 0 +163 342 0 +163 343 0 +163 344 0 +163 345 0 +163 346 0 +163 347 0 +163 348 0 +163 349 0 +163 350 0 +163 351 0 +163 352 0 +163 353 0 +163 354 0 +163 355 0 +163 356 0 +163 357 0 +163 358 0 +163 359 0 +163 360 0 +163 361 0 +163 362 0 +163 363 0 +163 364 0 +163 365 0 +163 366 0 +163 367 0 +163 368 0 +163 369 0 +163 370 0 +163 371 0 +163 372 0 +163 373 0 +163 374 0 +163 375 0 +163 376 0 +163 377 0 +163 378 0 +163 379 0 +163 380 0 +163 381 0 +163 382 0 +163 383 0 +164 165 0 +164 166 0 +164 167 0 +164 168 0 +164 169 0 +164 170 0 +164 171 0 +164 172 0 +164 173 0 +164 174 0 +164 175 0 +164 176 0 +164 177 0 +164 178 0 +164 179 0 +164 180 0 +164 181 0 +164 182 0 +164 183 0 +164 184 0 +164 185 0 +164 186 0 +164 187 0 +164 188 0 +164 189 0 +164 190 0 +164 191 0 +164 192 0 +164 193 0 +164 194 0 +164 195 0 +164 196 0 +164 197 0 +164 198 0 +164 199 0 +164 200 0 +164 201 0 +164 202 0 +164 203 0 +164 204 0 +164 205 0 +164 206 0 +164 207 0 +164 208 0 +164 209 0 +164 210 0 +164 211 0 +164 212 0 +164 213 0 +164 214 0 +164 215 0 +164 216 0 +164 217 0 +164 218 0 +164 219 0 +164 220 0 +164 221 0 +164 222 0 +164 223 0 +164 224 0 +164 225 0 +164 226 0 +164 227 0 +164 228 0 +164 229 0 +164 230 0 +164 231 0 +164 232 0 +164 233 0 +164 234 0 +164 235 0 +164 236 0 +164 237 0 +164 238 0 +164 239 0 +164 240 0 +164 241 0 +164 242 0 +164 243 0 +164 244 0 +164 245 0 +164 246 0 +164 247 0 +164 248 0 +164 249 0 +164 250 0 +164 251 0 +164 252 0 +164 253 0 +164 254 0 +164 255 0 +164 256 0 +164 257 0 +164 258 0 +164 259 0 +164 260 0 +164 261 0 +164 262 0 +164 263 0 +164 264 0 +164 265 0 +164 266 0 +164 267 0 +164 268 0 +164 269 0 +164 270 0 +164 271 0 +164 272 0 +164 273 0 +164 274 0 +164 275 0 +164 276 0 +164 277 0 +164 278 0 +164 279 0 +164 280 0 +164 281 0 +164 282 0 +164 283 0 +164 284 0 +164 285 0 +164 286 0 +164 287 0 +164 288 0 +164 289 0 +164 290 0 +164 291 0 +164 292 0 +164 293 0 +164 294 0 +164 295 0 +164 296 0 +164 297 0 +164 298 0 +164 299 0 +164 300 0 +164 301 0 +164 302 0 +164 303 0 +164 304 0 +164 305 0 +164 306 0 +164 307 0 +164 308 0 +164 309 0 +164 310 0 +164 311 0 +164 312 0 +164 313 0 +164 314 0 +164 315 0 +164 316 0 +164 317 0 +164 318 0 +164 319 0 +164 320 0 +164 321 0 +164 322 0 +164 323 0 +164 324 0 +164 325 0 +164 326 0 +164 327 0 +164 328 0 +164 329 0 +164 330 0 +164 331 0 +164 332 0 +164 333 0 +164 334 0 +164 335 0 +164 336 0 +164 337 0 +164 338 0 +164 339 0 +164 340 0 +164 341 0 +164 342 0 +164 343 0 +164 344 0 +164 345 0 +164 346 0 +164 347 0 +164 348 0 +164 349 0 +164 350 0 +164 351 0 +164 352 0 +164 353 0 +164 354 0 +164 355 0 +164 356 0 +164 357 0 +164 358 0 +164 359 0 +164 360 0 +164 361 0 +164 362 0 +164 363 0 +164 364 0 +164 365 0 +164 366 0 +164 367 0 +164 368 0 +164 369 0 +164 370 0 +164 371 0 +164 372 0 +164 373 0 +164 374 0 +164 375 0 +164 376 0 +164 377 0 +164 378 0 +164 379 0 +164 380 0 +164 381 0 +164 382 0 +164 383 0 +165 166 0 +165 167 0 +165 168 0 +165 169 0 +165 170 0 +165 171 0 +165 172 0 +165 173 0 +165 174 0 +165 175 0 +165 176 0 +165 177 0 +165 178 0 +165 179 0 +165 180 0 +165 181 0 +165 182 0 +165 183 0 +165 184 0 +165 185 0 +165 186 0 +165 187 0 +165 188 0 +165 189 0 +165 190 0 +165 191 0 +165 192 0 +165 193 0 +165 194 0 +165 195 0 +165 196 0 +165 197 0 +165 198 0 +165 199 0 +165 200 0 +165 201 0 +165 202 0 +165 203 0 +165 204 0 +165 205 0 +165 206 0 +165 207 0 +165 208 0 +165 209 0 +165 210 0 +165 211 0 +165 212 0 +165 213 0 +165 214 0 +165 215 0 +165 216 0 +165 217 0 +165 218 0 +165 219 0 +165 220 0 +165 221 0 +165 222 0 +165 223 0 +165 224 0 +165 225 0 +165 226 0 +165 227 0 +165 228 0 +165 229 0 +165 230 0 +165 231 0 +165 232 0 +165 233 0 +165 234 0 +165 235 0 +165 236 0 +165 237 0 +165 238 0 +165 239 0 +165 240 0 +165 241 0 +165 242 0 +165 243 0 +165 244 0 +165 245 0 +165 246 0 +165 247 0 +165 248 0 +165 249 0 +165 250 0 +165 251 0 +165 252 0 +165 253 0 +165 254 0 +165 255 0 +165 256 0 +165 257 0 +165 258 0 +165 259 0 +165 260 0 +165 261 0 +165 262 0 +165 263 0 +165 264 0 +165 265 0 +165 266 0 +165 267 0 +165 268 0 +165 269 0 +165 270 0 +165 271 0 +165 272 0 +165 273 0 +165 274 0 +165 275 0 +165 276 0 +165 277 0 +165 278 0 +165 279 0 +165 280 0 +165 281 0 +165 282 0 +165 283 0 +165 284 0 +165 285 0 +165 286 0 +165 287 0 +165 288 0 +165 289 0 +165 290 0 +165 291 0 +165 292 0 +165 293 0 +165 294 0 +165 295 0 +165 296 0 +165 297 0 +165 298 0 +165 299 0 +165 300 0 +165 301 0 +165 302 0 +165 303 0 +165 304 0 +165 305 0 +165 306 0 +165 307 0 +165 308 0 +165 309 0 +165 310 0 +165 311 0 +165 312 0 +165 313 0 +165 314 0 +165 315 0 +165 316 0 +165 317 0 +165 318 0 +165 319 0 +165 320 0 +165 321 0 +165 322 0 +165 323 0 +165 324 0 +165 325 0 +165 326 0 +165 327 0 +165 328 0 +165 329 0 +165 330 0 +165 331 0 +165 332 0 +165 333 0 +165 334 0 +165 335 0 +165 336 0 +165 337 0 +165 338 0 +165 339 0 +165 340 0 +165 341 0 +165 342 0 +165 343 0 +165 344 0 +165 345 0 +165 346 0 +165 347 0 +165 348 0 +165 349 0 +165 350 0 +165 351 0 +165 352 0 +165 353 0 +165 354 0 +165 355 0 +165 356 0 +165 357 0 +165 358 0 +165 359 0 +165 360 0 +165 361 0 +165 362 0 +165 363 0 +165 364 0 +165 365 0 +165 366 0 +165 367 0 +165 368 0 +165 369 0 +165 370 0 +165 371 0 +165 372 0 +165 373 0 +165 374 0 +165 375 0 +165 376 0 +165 377 0 +165 378 0 +165 379 0 +165 380 0 +165 381 0 +165 382 0 +165 383 0 +166 167 0 +166 168 0 +166 169 0 +166 170 0 +166 171 0 +166 172 0 +166 173 0 +166 174 0 +166 175 0 +166 176 0 +166 177 0 +166 178 0 +166 179 0 +166 180 0 +166 181 0 +166 182 0 +166 183 0 +166 184 0 +166 185 0 +166 186 0 +166 187 0 +166 188 0 +166 189 0 +166 190 0 +166 191 0 +166 192 0 +166 193 0 +166 194 0 +166 195 0 +166 196 0 +166 197 0 +166 198 0 +166 199 0 +166 200 0 +166 201 0 +166 202 0 +166 203 0 +166 204 0 +166 205 0 +166 206 0 +166 207 0 +166 208 0 +166 209 0 +166 210 0 +166 211 0 +166 212 0 +166 213 0 +166 214 0 +166 215 0 +166 216 0 +166 217 0 +166 218 0 +166 219 0 +166 220 0 +166 221 0 +166 222 0 +166 223 0 +166 224 0 +166 225 0 +166 226 0 +166 227 0 +166 228 0 +166 229 0 +166 230 0 +166 231 0 +166 232 0 +166 233 0 +166 234 0 +166 235 0 +166 236 0 +166 237 0 +166 238 0 +166 239 0 +166 240 0 +166 241 0 +166 242 0 +166 243 0 +166 244 0 +166 245 0 +166 246 0 +166 247 0 +166 248 0 +166 249 0 +166 250 0 +166 251 0 +166 252 0 +166 253 0 +166 254 0 +166 255 0 +166 256 0 +166 257 0 +166 258 0 +166 259 0 +166 260 0 +166 261 0 +166 262 0 +166 263 0 +166 264 0 +166 265 0 +166 266 0 +166 267 0 +166 268 0 +166 269 0 +166 270 0 +166 271 0 +166 272 0 +166 273 0 +166 274 0 +166 275 0 +166 276 0 +166 277 0 +166 278 0 +166 279 0 +166 280 0 +166 281 0 +166 282 0 +166 283 0 +166 284 0 +166 285 0 +166 286 0 +166 287 0 +166 288 0 +166 289 0 +166 290 0 +166 291 0 +166 292 0 +166 293 0 +166 294 0 +166 295 0 +166 296 0 +166 297 0 +166 298 0 +166 299 0 +166 300 0 +166 301 0 +166 302 0 +166 303 0 +166 304 0 +166 305 0 +166 306 0 +166 307 0 +166 308 0 +166 309 0 +166 310 0 +166 311 0 +166 312 0 +166 313 0 +166 314 0 +166 315 0 +166 316 0 +166 317 0 +166 318 0 +166 319 0 +166 320 0 +166 321 0 +166 322 0 +166 323 0 +166 324 0 +166 325 0 +166 326 0 +166 327 0 +166 328 0 +166 329 0 +166 330 0 +166 331 0 +166 332 0 +166 333 0 +166 334 0 +166 335 0 +166 336 0 +166 337 0 +166 338 0 +166 339 0 +166 340 0 +166 341 0 +166 342 0 +166 343 0 +166 344 0 +166 345 0 +166 346 0 +166 347 0 +166 348 0 +166 349 0 +166 350 0 +166 351 0 +166 352 0 +166 353 0 +166 354 0 +166 355 0 +166 356 0 +166 357 0 +166 358 0 +166 359 0 +166 360 0 +166 361 0 +166 362 0 +166 363 0 +166 364 0 +166 365 0 +166 366 0 +166 367 0 +166 368 0 +166 369 0 +166 370 0 +166 371 0 +166 372 0 +166 373 0 +166 374 0 +166 375 0 +166 376 0 +166 377 0 +166 378 0 +166 379 0 +166 380 0 +166 381 0 +166 382 0 +166 383 0 +167 168 0 +167 169 0 +167 170 0 +167 171 0 +167 172 0 +167 173 0 +167 174 0 +167 175 0 +167 176 0 +167 177 0 +167 178 0 +167 179 0 +167 180 0 +167 181 0 +167 182 0 +167 183 0 +167 184 0 +167 185 0 +167 186 0 +167 187 0 +167 188 0 +167 189 0 +167 190 0 +167 191 0 +167 192 0 +167 193 0 +167 194 0 +167 195 0 +167 196 0 +167 197 0 +167 198 0 +167 199 0 +167 200 0 +167 201 0 +167 202 0 +167 203 0 +167 204 0 +167 205 0 +167 206 0 +167 207 0 +167 208 0 +167 209 0 +167 210 0 +167 211 0 +167 212 0 +167 213 0 +167 214 0 +167 215 0 +167 216 0 +167 217 0 +167 218 0 +167 219 0 +167 220 0 +167 221 0 +167 222 0 +167 223 0 +167 224 0 +167 225 0 +167 226 0 +167 227 0 +167 228 0 +167 229 0 +167 230 0 +167 231 0 +167 232 0 +167 233 0 +167 234 0 +167 235 0 +167 236 0 +167 237 0 +167 238 0 +167 239 0 +167 240 0 +167 241 0 +167 242 0 +167 243 0 +167 244 0 +167 245 0 +167 246 0 +167 247 0 +167 248 0 +167 249 0 +167 250 0 +167 251 0 +167 252 0 +167 253 0 +167 254 0 +167 255 0 +167 256 0 +167 257 0 +167 258 0 +167 259 0 +167 260 0 +167 261 0 +167 262 0 +167 263 0 +167 264 0 +167 265 0 +167 266 0 +167 267 0 +167 268 0 +167 269 0 +167 270 0 +167 271 0 +167 272 0 +167 273 0 +167 274 0 +167 275 0 +167 276 0 +167 277 0 +167 278 0 +167 279 0 +167 280 0 +167 281 0 +167 282 0 +167 283 0 +167 284 0 +167 285 0 +167 286 0 +167 287 0 +167 288 0 +167 289 0 +167 290 0 +167 291 0 +167 292 0 +167 293 0 +167 294 0 +167 295 0 +167 296 0 +167 297 0 +167 298 0 +167 299 0 +167 300 0 +167 301 0 +167 302 0 +167 303 0 +167 304 0 +167 305 0 +167 306 0 +167 307 0 +167 308 0 +167 309 0 +167 310 0 +167 311 0 +167 312 0 +167 313 0 +167 314 0 +167 315 0 +167 316 0 +167 317 0 +167 318 0 +167 319 0 +167 320 0 +167 321 0 +167 322 0 +167 323 0 +167 324 0 +167 325 0 +167 326 0 +167 327 0 +167 328 0 +167 329 0 +167 330 0 +167 331 0 +167 332 0 +167 333 0 +167 334 0 +167 335 0 +167 336 0 +167 337 0 +167 338 0 +167 339 0 +167 340 0 +167 341 0 +167 342 0 +167 343 0 +167 344 0 +167 345 0 +167 346 0 +167 347 0 +167 348 0 +167 349 0 +167 350 0 +167 351 0 +167 352 0 +167 353 0 +167 354 0 +167 355 0 +167 356 0 +167 357 0 +167 358 0 +167 359 0 +167 360 0 +167 361 0 +167 362 0 +167 363 0 +167 364 0 +167 365 0 +167 366 0 +167 367 0 +167 368 0 +167 369 0 +167 370 0 +167 371 0 +167 372 0 +167 373 0 +167 374 0 +167 375 0 +167 376 0 +167 377 0 +167 378 0 +167 379 0 +167 380 0 +167 381 0 +167 382 0 +167 383 0 +168 169 0 +168 170 0 +168 171 0 +168 172 0 +168 173 0 +168 174 0 +168 175 0 +168 176 0 +168 177 0 +168 178 0 +168 179 0 +168 180 0 +168 181 0 +168 182 0 +168 183 0 +168 184 0 +168 185 0 +168 186 0 +168 187 0 +168 188 0 +168 189 0 +168 190 0 +168 191 0 +168 192 0 +168 193 0 +168 194 0 +168 195 0 +168 196 0 +168 197 0 +168 198 0 +168 199 0 +168 200 0 +168 201 0 +168 202 0 +168 203 0 +168 204 0 +168 205 0 +168 206 0 +168 207 0 +168 208 0 +168 209 0 +168 210 0 +168 211 0 +168 212 0 +168 213 0 +168 214 0 +168 215 0 +168 216 0 +168 217 0 +168 218 0 +168 219 0 +168 220 0 +168 221 0 +168 222 0 +168 223 0 +168 224 0 +168 225 0 +168 226 0 +168 227 0 +168 228 0 +168 229 0 +168 230 0 +168 231 0 +168 232 0 +168 233 0 +168 234 0 +168 235 0 +168 236 0 +168 237 0 +168 238 0 +168 239 0 +168 240 0 +168 241 0 +168 242 0 +168 243 0 +168 244 0 +168 245 0 +168 246 0 +168 247 0 +168 248 0 +168 249 0 +168 250 0 +168 251 0 +168 252 0 +168 253 0 +168 254 0 +168 255 0 +168 256 0 +168 257 0 +168 258 0 +168 259 0 +168 260 0 +168 261 0 +168 262 0 +168 263 0 +168 264 0 +168 265 0 +168 266 0 +168 267 0 +168 268 0 +168 269 0 +168 270 0 +168 271 0 +168 272 0 +168 273 0 +168 274 0 +168 275 0 +168 276 0 +168 277 0 +168 278 0 +168 279 0 +168 280 0 +168 281 0 +168 282 0 +168 283 0 +168 284 0 +168 285 0 +168 286 0 +168 287 0 +168 288 0 +168 289 0 +168 290 0 +168 291 0 +168 292 0 +168 293 0 +168 294 0 +168 295 0 +168 296 0 +168 297 0 +168 298 0 +168 299 0 +168 300 0 +168 301 0 +168 302 0 +168 303 0 +168 304 0 +168 305 0 +168 306 0 +168 307 0 +168 308 0 +168 309 0 +168 310 0 +168 311 0 +168 312 0 +168 313 0 +168 314 0 +168 315 0 +168 316 0 +168 317 0 +168 318 0 +168 319 0 +168 320 0 +168 321 0 +168 322 0 +168 323 0 +168 324 0 +168 325 0 +168 326 0 +168 327 0 +168 328 0 +168 329 0 +168 330 0 +168 331 0 +168 332 0 +168 333 0 +168 334 0 +168 335 0 +168 336 0 +168 337 0 +168 338 0 +168 339 0 +168 340 0 +168 341 0 +168 342 0 +168 343 0 +168 344 0 +168 345 0 +168 346 0 +168 347 0 +168 348 0 +168 349 0 +168 350 0 +168 351 0 +168 352 0 +168 353 0 +168 354 0 +168 355 0 +168 356 0 +168 357 0 +168 358 0 +168 359 0 +168 360 0 +168 361 0 +168 362 0 +168 363 0 +168 364 0 +168 365 0 +168 366 0 +168 367 0 +168 368 0 +168 369 0 +168 370 0 +168 371 0 +168 372 0 +168 373 0 +168 374 0 +168 375 0 +168 376 0 +168 377 0 +168 378 0 +168 379 0 +168 380 0 +168 381 0 +168 382 0 +168 383 0 +169 170 0 +169 171 0 +169 172 0 +169 173 0 +169 174 0 +169 175 0 +169 176 0 +169 177 0 +169 178 0 +169 179 0 +169 180 0 +169 181 0 +169 182 0 +169 183 0 +169 184 0 +169 185 0 +169 186 0 +169 187 0 +169 188 0 +169 189 0 +169 190 0 +169 191 0 +169 192 0 +169 193 0 +169 194 0 +169 195 0 +169 196 0 +169 197 0 +169 198 0 +169 199 0 +169 200 0 +169 201 0 +169 202 0 +169 203 0 +169 204 0 +169 205 0 +169 206 0 +169 207 0 +169 208 0 +169 209 0 +169 210 0 +169 211 0 +169 212 0 +169 213 0 +169 214 0 +169 215 0 +169 216 0 +169 217 0 +169 218 0 +169 219 0 +169 220 0 +169 221 0 +169 222 0 +169 223 0 +169 224 0 +169 225 0 +169 226 0 +169 227 0 +169 228 0 +169 229 0 +169 230 0 +169 231 0 +169 232 0 +169 233 0 +169 234 0 +169 235 0 +169 236 0 +169 237 0 +169 238 0 +169 239 0 +169 240 0 +169 241 0 +169 242 0 +169 243 0 +169 244 0 +169 245 0 +169 246 0 +169 247 0 +169 248 0 +169 249 0 +169 250 0 +169 251 0 +169 252 0 +169 253 0 +169 254 0 +169 255 0 +169 256 0 +169 257 0 +169 258 0 +169 259 0 +169 260 0 +169 261 0 +169 262 0 +169 263 0 +169 264 0 +169 265 0 +169 266 0 +169 267 0 +169 268 0 +169 269 0 +169 270 0 +169 271 0 +169 272 0 +169 273 0 +169 274 0 +169 275 0 +169 276 0 +169 277 0 +169 278 0 +169 279 0 +169 280 0 +169 281 0 +169 282 0 +169 283 0 +169 284 0 +169 285 0 +169 286 0 +169 287 0 +169 288 0 +169 289 0 +169 290 0 +169 291 0 +169 292 0 +169 293 0 +169 294 0 +169 295 0 +169 296 0 +169 297 0 +169 298 0 +169 299 0 +169 300 0 +169 301 0 +169 302 0 +169 303 0 +169 304 0 +169 305 0 +169 306 0 +169 307 0 +169 308 0 +169 309 0 +169 310 0 +169 311 0 +169 312 0 +169 313 0 +169 314 0 +169 315 0 +169 316 0 +169 317 0 +169 318 0 +169 319 0 +169 320 0 +169 321 0 +169 322 0 +169 323 0 +169 324 0 +169 325 0 +169 326 0 +169 327 0 +169 328 0 +169 329 0 +169 330 0 +169 331 0 +169 332 0 +169 333 0 +169 334 0 +169 335 0 +169 336 0 +169 337 0 +169 338 0 +169 339 0 +169 340 0 +169 341 0 +169 342 0 +169 343 0 +169 344 0 +169 345 0 +169 346 0 +169 347 0 +169 348 0 +169 349 0 +169 350 0 +169 351 0 +169 352 0 +169 353 0 +169 354 0 +169 355 0 +169 356 0 +169 357 0 +169 358 0 +169 359 0 +169 360 0 +169 361 0 +169 362 0 +169 363 0 +169 364 0 +169 365 0 +169 366 0 +169 367 0 +169 368 0 +169 369 0 +169 370 0 +169 371 0 +169 372 0 +169 373 0 +169 374 0 +169 375 0 +169 376 0 +169 377 0 +169 378 0 +169 379 0 +169 380 0 +169 381 0 +169 382 0 +169 383 0 +170 171 0 +170 172 0 +170 173 0 +170 174 0 +170 175 0 +170 176 0 +170 177 0 +170 178 0 +170 179 0 +170 180 0 +170 181 0 +170 182 0 +170 183 0 +170 184 0 +170 185 0 +170 186 0 +170 187 0 +170 188 0 +170 189 0 +170 190 0 +170 191 0 +170 192 0 +170 193 0 +170 194 0 +170 195 0 +170 196 0 +170 197 0 +170 198 0 +170 199 0 +170 200 0 +170 201 0 +170 202 0 +170 203 0 +170 204 0 +170 205 0 +170 206 0 +170 207 0 +170 208 0 +170 209 0 +170 210 0 +170 211 0 +170 212 0 +170 213 0 +170 214 0 +170 215 0 +170 216 0 +170 217 0 +170 218 0 +170 219 0 +170 220 0 +170 221 0 +170 222 0 +170 223 0 +170 224 0 +170 225 0 +170 226 0 +170 227 0 +170 228 0 +170 229 0 +170 230 0 +170 231 0 +170 232 0 +170 233 0 +170 234 0 +170 235 0 +170 236 0 +170 237 0 +170 238 0 +170 239 0 +170 240 0 +170 241 0 +170 242 0 +170 243 0 +170 244 0 +170 245 0 +170 246 0 +170 247 0 +170 248 0 +170 249 0 +170 250 0 +170 251 0 +170 252 0 +170 253 0 +170 254 0 +170 255 0 +170 256 0 +170 257 0 +170 258 0 +170 259 0 +170 260 0 +170 261 0 +170 262 0 +170 263 0 +170 264 0 +170 265 0 +170 266 0 +170 267 0 +170 268 0 +170 269 0 +170 270 0 +170 271 0 +170 272 0 +170 273 0 +170 274 0 +170 275 0 +170 276 0 +170 277 0 +170 278 0 +170 279 0 +170 280 0 +170 281 0 +170 282 0 +170 283 0 +170 284 0 +170 285 0 +170 286 0 +170 287 0 +170 288 0 +170 289 0 +170 290 0 +170 291 0 +170 292 0 +170 293 0 +170 294 0 +170 295 0 +170 296 0 +170 297 0 +170 298 0 +170 299 0 +170 300 0 +170 301 0 +170 302 0 +170 303 0 +170 304 0 +170 305 0 +170 306 0 +170 307 0 +170 308 0 +170 309 0 +170 310 0 +170 311 0 +170 312 0 +170 313 0 +170 314 0 +170 315 0 +170 316 0 +170 317 0 +170 318 0 +170 319 0 +170 320 0 +170 321 0 +170 322 0 +170 323 0 +170 324 0 +170 325 0 +170 326 0 +170 327 0 +170 328 0 +170 329 0 +170 330 0 +170 331 0 +170 332 0 +170 333 0 +170 334 0 +170 335 0 +170 336 0 +170 337 0 +170 338 0 +170 339 0 +170 340 0 +170 341 0 +170 342 0 +170 343 0 +170 344 0 +170 345 0 +170 346 0 +170 347 0 +170 348 0 +170 349 0 +170 350 0 +170 351 0 +170 352 0 +170 353 0 +170 354 0 +170 355 0 +170 356 0 +170 357 0 +170 358 0 +170 359 0 +170 360 0 +170 361 0 +170 362 0 +170 363 0 +170 364 0 +170 365 0 +170 366 0 +170 367 0 +170 368 0 +170 369 0 +170 370 0 +170 371 0 +170 372 0 +170 373 0 +170 374 0 +170 375 0 +170 376 0 +170 377 0 +170 378 0 +170 379 0 +170 380 0 +170 381 0 +170 382 0 +170 383 0 +171 172 0 +171 173 0 +171 174 0 +171 175 0 +171 176 0 +171 177 0 +171 178 0 +171 179 0 +171 180 0 +171 181 0 +171 182 0 +171 183 0 +171 184 0 +171 185 0 +171 186 0 +171 187 0 +171 188 0 +171 189 0 +171 190 0 +171 191 0 +171 192 0 +171 193 0 +171 194 0 +171 195 0 +171 196 0 +171 197 0 +171 198 0 +171 199 0 +171 200 0 +171 201 0 +171 202 0 +171 203 0 +171 204 0 +171 205 0 +171 206 0 +171 207 0 +171 208 0 +171 209 0 +171 210 0 +171 211 0 +171 212 0 +171 213 0 +171 214 0 +171 215 0 +171 216 0 +171 217 0 +171 218 0 +171 219 0 +171 220 0 +171 221 0 +171 222 0 +171 223 0 +171 224 0 +171 225 0 +171 226 0 +171 227 0 +171 228 0 +171 229 0 +171 230 0 +171 231 0 +171 232 0 +171 233 0 +171 234 0 +171 235 0 +171 236 0 +171 237 0 +171 238 0 +171 239 0 +171 240 0 +171 241 0 +171 242 0 +171 243 0 +171 244 0 +171 245 0 +171 246 0 +171 247 0 +171 248 0 +171 249 0 +171 250 0 +171 251 0 +171 252 0 +171 253 0 +171 254 0 +171 255 0 +171 256 0 +171 257 0 +171 258 0 +171 259 0 +171 260 0 +171 261 0 +171 262 0 +171 263 0 +171 264 0 +171 265 0 +171 266 0 +171 267 0 +171 268 0 +171 269 0 +171 270 0 +171 271 0 +171 272 0 +171 273 0 +171 274 0 +171 275 0 +171 276 0 +171 277 0 +171 278 0 +171 279 0 +171 280 0 +171 281 0 +171 282 0 +171 283 0 +171 284 0 +171 285 0 +171 286 0 +171 287 0 +171 288 0 +171 289 0 +171 290 0 +171 291 0 +171 292 0 +171 293 0 +171 294 0 +171 295 0 +171 296 0 +171 297 0 +171 298 0 +171 299 0 +171 300 0 +171 301 0 +171 302 0 +171 303 0 +171 304 0 +171 305 0 +171 306 0 +171 307 0 +171 308 0 +171 309 0 +171 310 0 +171 311 0 +171 312 0 +171 313 0 +171 314 0 +171 315 0 +171 316 0 +171 317 0 +171 318 0 +171 319 0 +171 320 0 +171 321 0 +171 322 0 +171 323 0 +171 324 0 +171 325 0 +171 326 0 +171 327 0 +171 328 0 +171 329 0 +171 330 0 +171 331 0 +171 332 0 +171 333 0 +171 334 0 +171 335 0 +171 336 0 +171 337 0 +171 338 0 +171 339 0 +171 340 0 +171 341 0 +171 342 0 +171 343 0 +171 344 0 +171 345 0 +171 346 0 +171 347 0 +171 348 0 +171 349 0 +171 350 0 +171 351 0 +171 352 0 +171 353 0 +171 354 0 +171 355 0 +171 356 0 +171 357 0 +171 358 0 +171 359 0 +171 360 0 +171 361 0 +171 362 0 +171 363 0 +171 364 0 +171 365 0 +171 366 0 +171 367 0 +171 368 0 +171 369 0 +171 370 0 +171 371 0 +171 372 0 +171 373 0 +171 374 0 +171 375 0 +171 376 0 +171 377 0 +171 378 0 +171 379 0 +171 380 0 +171 381 0 +171 382 0 +171 383 0 +172 173 0 +172 174 0 +172 175 0 +172 176 0 +172 177 0 +172 178 0 +172 179 0 +172 180 0 +172 181 0 +172 182 0 +172 183 0 +172 184 0 +172 185 0 +172 186 0 +172 187 0 +172 188 0 +172 189 0 +172 190 0 +172 191 0 +172 192 0 +172 193 0 +172 194 0 +172 195 0 +172 196 0 +172 197 0 +172 198 0 +172 199 0 +172 200 0 +172 201 0 +172 202 0 +172 203 0 +172 204 0 +172 205 0 +172 206 0 +172 207 0 +172 208 0 +172 209 0 +172 210 0 +172 211 0 +172 212 0 +172 213 0 +172 214 0 +172 215 0 +172 216 0 +172 217 0 +172 218 0 +172 219 0 +172 220 0 +172 221 0 +172 222 0 +172 223 0 +172 224 0 +172 225 0 +172 226 0 +172 227 0 +172 228 0 +172 229 0 +172 230 0 +172 231 0 +172 232 0 +172 233 0 +172 234 0 +172 235 0 +172 236 0 +172 237 0 +172 238 0 +172 239 0 +172 240 0 +172 241 0 +172 242 0 +172 243 0 +172 244 0 +172 245 0 +172 246 0 +172 247 0 +172 248 0 +172 249 0 +172 250 0 +172 251 0 +172 252 0 +172 253 0 +172 254 0 +172 255 0 +172 256 0 +172 257 0 +172 258 0 +172 259 0 +172 260 0 +172 261 0 +172 262 0 +172 263 0 +172 264 0 +172 265 0 +172 266 0 +172 267 0 +172 268 0 +172 269 0 +172 270 0 +172 271 0 +172 272 0 +172 273 0 +172 274 0 +172 275 0 +172 276 0 +172 277 0 +172 278 0 +172 279 0 +172 280 0 +172 281 0 +172 282 0 +172 283 0 +172 284 0 +172 285 0 +172 286 0 +172 287 0 +172 288 0 +172 289 0 +172 290 0 +172 291 0 +172 292 0 +172 293 0 +172 294 0 +172 295 0 +172 296 0 +172 297 0 +172 298 0 +172 299 0 +172 300 0 +172 301 0 +172 302 0 +172 303 0 +172 304 0 +172 305 0 +172 306 0 +172 307 0 +172 308 0 +172 309 0 +172 310 0 +172 311 0 +172 312 0 +172 313 0 +172 314 0 +172 315 0 +172 316 0 +172 317 0 +172 318 0 +172 319 0 +172 320 0 +172 321 0 +172 322 0 +172 323 0 +172 324 0 +172 325 0 +172 326 0 +172 327 0 +172 328 0 +172 329 0 +172 330 0 +172 331 0 +172 332 0 +172 333 0 +172 334 0 +172 335 0 +172 336 0 +172 337 0 +172 338 0 +172 339 0 +172 340 0 +172 341 0 +172 342 0 +172 343 0 +172 344 0 +172 345 0 +172 346 0 +172 347 0 +172 348 0 +172 349 0 +172 350 0 +172 351 0 +172 352 0 +172 353 0 +172 354 0 +172 355 0 +172 356 0 +172 357 0 +172 358 0 +172 359 0 +172 360 0 +172 361 0 +172 362 0 +172 363 0 +172 364 0 +172 365 0 +172 366 0 +172 367 0 +172 368 0 +172 369 0 +172 370 0 +172 371 0 +172 372 0 +172 373 0 +172 374 0 +172 375 0 +172 376 0 +172 377 0 +172 378 0 +172 379 0 +172 380 0 +172 381 0 +172 382 0 +172 383 0 +173 174 0 +173 175 0 +173 176 0 +173 177 0 +173 178 0 +173 179 0 +173 180 0 +173 181 0 +173 182 0 +173 183 0 +173 184 0 +173 185 0 +173 186 0 +173 187 0 +173 188 0 +173 189 0 +173 190 0 +173 191 0 +173 192 0 +173 193 0 +173 194 0 +173 195 0 +173 196 0 +173 197 0 +173 198 0 +173 199 0 +173 200 0 +173 201 0 +173 202 0 +173 203 0 +173 204 0 +173 205 0 +173 206 0 +173 207 0 +173 208 0 +173 209 0 +173 210 0 +173 211 0 +173 212 0 +173 213 0 +173 214 0 +173 215 0 +173 216 0 +173 217 0 +173 218 0 +173 219 0 +173 220 0 +173 221 0 +173 222 0 +173 223 0 +173 224 0 +173 225 0 +173 226 0 +173 227 0 +173 228 0 +173 229 0 +173 230 0 +173 231 0 +173 232 0 +173 233 0 +173 234 0 +173 235 0 +173 236 0 +173 237 0 +173 238 0 +173 239 0 +173 240 0 +173 241 0 +173 242 0 +173 243 0 +173 244 0 +173 245 0 +173 246 0 +173 247 0 +173 248 0 +173 249 0 +173 250 0 +173 251 0 +173 252 0 +173 253 0 +173 254 0 +173 255 0 +173 256 0 +173 257 0 +173 258 0 +173 259 0 +173 260 0 +173 261 0 +173 262 0 +173 263 0 +173 264 0 +173 265 0 +173 266 0 +173 267 0 +173 268 0 +173 269 0 +173 270 0 +173 271 0 +173 272 0 +173 273 0 +173 274 0 +173 275 0 +173 276 0 +173 277 0 +173 278 0 +173 279 0 +173 280 0 +173 281 0 +173 282 0 +173 283 0 +173 284 0 +173 285 0 +173 286 0 +173 287 0 +173 288 0 +173 289 0 +173 290 0 +173 291 0 +173 292 0 +173 293 0 +173 294 0 +173 295 0 +173 296 0 +173 297 0 +173 298 0 +173 299 0 +173 300 0 +173 301 0 +173 302 0 +173 303 0 +173 304 0 +173 305 0 +173 306 0 +173 307 0 +173 308 0 +173 309 0 +173 310 0 +173 311 0 +173 312 0 +173 313 0 +173 314 0 +173 315 0 +173 316 0 +173 317 0 +173 318 0 +173 319 0 +173 320 0 +173 321 0 +173 322 0 +173 323 0 +173 324 0 +173 325 0 +173 326 0 +173 327 0 +173 328 0 +173 329 0 +173 330 0 +173 331 0 +173 332 0 +173 333 0 +173 334 0 +173 335 0 +173 336 0 +173 337 0 +173 338 0 +173 339 0 +173 340 0 +173 341 0 +173 342 0 +173 343 0 +173 344 0 +173 345 0 +173 346 0 +173 347 0 +173 348 0 +173 349 0 +173 350 0 +173 351 0 +173 352 0 +173 353 0 +173 354 0 +173 355 0 +173 356 0 +173 357 0 +173 358 0 +173 359 0 +173 360 0 +173 361 0 +173 362 0 +173 363 0 +173 364 0 +173 365 0 +173 366 0 +173 367 0 +173 368 0 +173 369 0 +173 370 0 +173 371 0 +173 372 0 +173 373 0 +173 374 0 +173 375 0 +173 376 0 +173 377 0 +173 378 0 +173 379 0 +173 380 0 +173 381 0 +173 382 0 +173 383 0 +174 175 0 +174 176 0 +174 177 0 +174 178 0 +174 179 0 +174 180 0 +174 181 0 +174 182 0 +174 183 0 +174 184 0 +174 185 0 +174 186 0 +174 187 0 +174 188 0 +174 189 0 +174 190 0 +174 191 0 +174 192 0 +174 193 0 +174 194 0 +174 195 0 +174 196 0 +174 197 0 +174 198 0 +174 199 0 +174 200 0 +174 201 0 +174 202 0 +174 203 0 +174 204 0 +174 205 0 +174 206 0 +174 207 0 +174 208 0 +174 209 0 +174 210 0 +174 211 0 +174 212 0 +174 213 0 +174 214 0 +174 215 0 +174 216 0 +174 217 0 +174 218 0 +174 219 0 +174 220 0 +174 221 0 +174 222 0 +174 223 0 +174 224 0 +174 225 0 +174 226 0 +174 227 0 +174 228 0 +174 229 0 +174 230 0 +174 231 0 +174 232 0 +174 233 0 +174 234 0 +174 235 0 +174 236 0 +174 237 0 +174 238 0 +174 239 0 +174 240 0 +174 241 0 +174 242 0 +174 243 0 +174 244 0 +174 245 0 +174 246 0 +174 247 0 +174 248 0 +174 249 0 +174 250 0 +174 251 0 +174 252 0 +174 253 0 +174 254 0 +174 255 0 +174 256 0 +174 257 0 +174 258 0 +174 259 0 +174 260 0 +174 261 0 +174 262 0 +174 263 0 +174 264 0 +174 265 0 +174 266 0 +174 267 0 +174 268 0 +174 269 0 +174 270 0 +174 271 0 +174 272 0 +174 273 0 +174 274 0 +174 275 0 +174 276 0 +174 277 0 +174 278 0 +174 279 0 +174 280 0 +174 281 0 +174 282 0 +174 283 0 +174 284 0 +174 285 0 +174 286 0 +174 287 0 +174 288 0 +174 289 0 +174 290 0 +174 291 0 +174 292 0 +174 293 0 +174 294 0 +174 295 0 +174 296 0 +174 297 0 +174 298 0 +174 299 0 +174 300 0 +174 301 0 +174 302 0 +174 303 0 +174 304 0 +174 305 0 +174 306 0 +174 307 0 +174 308 0 +174 309 0 +174 310 0 +174 311 0 +174 312 0 +174 313 0 +174 314 0 +174 315 0 +174 316 0 +174 317 0 +174 318 0 +174 319 0 +174 320 0 +174 321 0 +174 322 0 +174 323 0 +174 324 0 +174 325 0 +174 326 0 +174 327 0 +174 328 0 +174 329 0 +174 330 0 +174 331 0 +174 332 0 +174 333 0 +174 334 0 +174 335 0 +174 336 0 +174 337 0 +174 338 0 +174 339 0 +174 340 0 +174 341 0 +174 342 0 +174 343 0 +174 344 0 +174 345 0 +174 346 0 +174 347 0 +174 348 0 +174 349 0 +174 350 0 +174 351 0 +174 352 0 +174 353 0 +174 354 0 +174 355 0 +174 356 0 +174 357 0 +174 358 0 +174 359 0 +174 360 0 +174 361 0 +174 362 0 +174 363 0 +174 364 0 +174 365 0 +174 366 0 +174 367 0 +174 368 0 +174 369 0 +174 370 0 +174 371 0 +174 372 0 +174 373 0 +174 374 0 +174 375 0 +174 376 0 +174 377 0 +174 378 0 +174 379 0 +174 380 0 +174 381 0 +174 382 0 +174 383 0 +175 176 0 +175 177 0 +175 178 0 +175 179 0 +175 180 0 +175 181 0 +175 182 0 +175 183 0 +175 184 0 +175 185 0 +175 186 0 +175 187 0 +175 188 0 +175 189 0 +175 190 0 +175 191 0 +175 192 0 +175 193 0 +175 194 0 +175 195 0 +175 196 0 +175 197 0 +175 198 0 +175 199 0 +175 200 0 +175 201 0 +175 202 0 +175 203 0 +175 204 0 +175 205 0 +175 206 0 +175 207 0 +175 208 0 +175 209 0 +175 210 0 +175 211 0 +175 212 0 +175 213 0 +175 214 0 +175 215 0 +175 216 0 +175 217 0 +175 218 0 +175 219 0 +175 220 0 +175 221 0 +175 222 0 +175 223 0 +175 224 0 +175 225 0 +175 226 0 +175 227 0 +175 228 0 +175 229 0 +175 230 0 +175 231 0 +175 232 0 +175 233 0 +175 234 0 +175 235 0 +175 236 0 +175 237 0 +175 238 0 +175 239 0 +175 240 0 +175 241 0 +175 242 0 +175 243 0 +175 244 0 +175 245 0 +175 246 0 +175 247 0 +175 248 0 +175 249 0 +175 250 0 +175 251 0 +175 252 0 +175 253 0 +175 254 0 +175 255 0 +175 256 0 +175 257 0 +175 258 0 +175 259 0 +175 260 0 +175 261 0 +175 262 0 +175 263 0 +175 264 0 +175 265 0 +175 266 0 +175 267 0 +175 268 0 +175 269 0 +175 270 0 +175 271 0 +175 272 0 +175 273 0 +175 274 0 +175 275 0 +175 276 0 +175 277 0 +175 278 0 +175 279 0 +175 280 0 +175 281 0 +175 282 0 +175 283 0 +175 284 0 +175 285 0 +175 286 0 +175 287 0 +175 288 0 +175 289 0 +175 290 0 +175 291 0 +175 292 0 +175 293 0 +175 294 0 +175 295 0 +175 296 0 +175 297 0 +175 298 0 +175 299 0 +175 300 0 +175 301 0 +175 302 0 +175 303 0 +175 304 0 +175 305 0 +175 306 0 +175 307 0 +175 308 0 +175 309 0 +175 310 0 +175 311 0 +175 312 0 +175 313 0 +175 314 0 +175 315 0 +175 316 0 +175 317 0 +175 318 0 +175 319 0 +175 320 0 +175 321 0 +175 322 0 +175 323 0 +175 324 0 +175 325 0 +175 326 0 +175 327 0 +175 328 0 +175 329 0 +175 330 0 +175 331 0 +175 332 0 +175 333 0 +175 334 0 +175 335 0 +175 336 0 +175 337 0 +175 338 0 +175 339 0 +175 340 0 +175 341 0 +175 342 0 +175 343 0 +175 344 0 +175 345 0 +175 346 0 +175 347 0 +175 348 0 +175 349 0 +175 350 0 +175 351 0 +175 352 0 +175 353 0 +175 354 0 +175 355 0 +175 356 0 +175 357 0 +175 358 0 +175 359 0 +175 360 0 +175 361 0 +175 362 0 +175 363 0 +175 364 0 +175 365 0 +175 366 0 +175 367 0 +175 368 0 +175 369 0 +175 370 0 +175 371 0 +175 372 0 +175 373 0 +175 374 0 +175 375 0 +175 376 0 +175 377 0 +175 378 0 +175 379 0 +175 380 0 +175 381 0 +175 382 0 +175 383 0 +176 177 0 +176 178 0 +176 179 0 +176 180 0 +176 181 0 +176 182 0 +176 183 0 +176 184 0 +176 185 0 +176 186 0 +176 187 0 +176 188 0 +176 189 0 +176 190 0 +176 191 0 +176 192 0 +176 193 0 +176 194 0 +176 195 0 +176 196 0 +176 197 0 +176 198 0 +176 199 0 +176 200 0 +176 201 0 +176 202 0 +176 203 0 +176 204 0 +176 205 0 +176 206 0 +176 207 0 +176 208 0 +176 209 0 +176 210 0 +176 211 0 +176 212 0 +176 213 0 +176 214 0 +176 215 0 +176 216 0 +176 217 0 +176 218 0 +176 219 0 +176 220 0 +176 221 0 +176 222 0 +176 223 0 +176 224 0 +176 225 0 +176 226 0 +176 227 0 +176 228 0 +176 229 0 +176 230 0 +176 231 0 +176 232 0 +176 233 0 +176 234 0 +176 235 0 +176 236 0 +176 237 0 +176 238 0 +176 239 0 +176 240 0 +176 241 0 +176 242 0 +176 243 0 +176 244 0 +176 245 0 +176 246 0 +176 247 0 +176 248 0 +176 249 0 +176 250 0 +176 251 0 +176 252 0 +176 253 0 +176 254 0 +176 255 0 +176 256 0 +176 257 0 +176 258 0 +176 259 0 +176 260 0 +176 261 0 +176 262 0 +176 263 0 +176 264 0 +176 265 0 +176 266 0 +176 267 0 +176 268 0 +176 269 0 +176 270 0 +176 271 0 +176 272 0 +176 273 0 +176 274 0 +176 275 0 +176 276 0 +176 277 0 +176 278 0 +176 279 0 +176 280 0 +176 281 0 +176 282 0 +176 283 0 +176 284 0 +176 285 0 +176 286 0 +176 287 0 +176 288 0 +176 289 0 +176 290 0 +176 291 0 +176 292 0 +176 293 0 +176 294 0 +176 295 0 +176 296 0 +176 297 0 +176 298 0 +176 299 0 +176 300 0 +176 301 0 +176 302 0 +176 303 0 +176 304 0 +176 305 0 +176 306 0 +176 307 0 +176 308 0 +176 309 0 +176 310 0 +176 311 0 +176 312 0 +176 313 0 +176 314 0 +176 315 0 +176 316 0 +176 317 0 +176 318 0 +176 319 0 +176 320 0 +176 321 0 +176 322 0 +176 323 0 +176 324 0 +176 325 0 +176 326 0 +176 327 0 +176 328 0 +176 329 0 +176 330 0 +176 331 0 +176 332 0 +176 333 0 +176 334 0 +176 335 0 +176 336 0 +176 337 0 +176 338 0 +176 339 0 +176 340 0 +176 341 0 +176 342 0 +176 343 0 +176 344 0 +176 345 0 +176 346 0 +176 347 0 +176 348 0 +176 349 0 +176 350 0 +176 351 0 +176 352 0 +176 353 0 +176 354 0 +176 355 0 +176 356 0 +176 357 0 +176 358 0 +176 359 0 +176 360 0 +176 361 0 +176 362 0 +176 363 0 +176 364 0 +176 365 0 +176 366 0 +176 367 0 +176 368 0 +176 369 0 +176 370 0 +176 371 0 +176 372 0 +176 373 0 +176 374 0 +176 375 0 +176 376 0 +176 377 0 +176 378 0 +176 379 0 +176 380 0 +176 381 0 +176 382 0 +176 383 0 +177 178 0 +177 179 0 +177 180 0 +177 181 0 +177 182 0 +177 183 0 +177 184 0 +177 185 0 +177 186 0 +177 187 0 +177 188 0 +177 189 0 +177 190 0 +177 191 0 +177 192 0 +177 193 0 +177 194 0 +177 195 0 +177 196 0 +177 197 0 +177 198 0 +177 199 0 +177 200 0 +177 201 0 +177 202 0 +177 203 0 +177 204 0 +177 205 0 +177 206 0 +177 207 0 +177 208 0 +177 209 0 +177 210 0 +177 211 0 +177 212 0 +177 213 0 +177 214 0 +177 215 0 +177 216 0 +177 217 0 +177 218 0 +177 219 0 +177 220 0 +177 221 0 +177 222 0 +177 223 0 +177 224 0 +177 225 0 +177 226 0 +177 227 0 +177 228 0 +177 229 0 +177 230 0 +177 231 0 +177 232 0 +177 233 0 +177 234 0 +177 235 0 +177 236 0 +177 237 0 +177 238 0 +177 239 0 +177 240 0 +177 241 0 +177 242 0 +177 243 0 +177 244 0 +177 245 0 +177 246 0 +177 247 0 +177 248 0 +177 249 0 +177 250 0 +177 251 0 +177 252 0 +177 253 0 +177 254 0 +177 255 0 +177 256 0 +177 257 0 +177 258 0 +177 259 0 +177 260 0 +177 261 0 +177 262 0 +177 263 0 +177 264 0 +177 265 0 +177 266 0 +177 267 0 +177 268 0 +177 269 0 +177 270 0 +177 271 0 +177 272 0 +177 273 0 +177 274 0 +177 275 0 +177 276 0 +177 277 0 +177 278 0 +177 279 0 +177 280 0 +177 281 0 +177 282 0 +177 283 0 +177 284 0 +177 285 0 +177 286 0 +177 287 0 +177 288 0 +177 289 0 +177 290 0 +177 291 0 +177 292 0 +177 293 0 +177 294 0 +177 295 0 +177 296 0 +177 297 0 +177 298 0 +177 299 0 +177 300 0 +177 301 0 +177 302 0 +177 303 0 +177 304 0 +177 305 0 +177 306 0 +177 307 0 +177 308 0 +177 309 0 +177 310 0 +177 311 0 +177 312 0 +177 313 0 +177 314 0 +177 315 0 +177 316 0 +177 317 0 +177 318 0 +177 319 0 +177 320 0 +177 321 0 +177 322 0 +177 323 0 +177 324 0 +177 325 0 +177 326 0 +177 327 0 +177 328 0 +177 329 0 +177 330 0 +177 331 0 +177 332 0 +177 333 0 +177 334 0 +177 335 0 +177 336 0 +177 337 0 +177 338 0 +177 339 0 +177 340 0 +177 341 0 +177 342 0 +177 343 0 +177 344 0 +177 345 0 +177 346 0 +177 347 0 +177 348 0 +177 349 0 +177 350 0 +177 351 0 +177 352 0 +177 353 0 +177 354 0 +177 355 0 +177 356 0 +177 357 0 +177 358 0 +177 359 0 +177 360 0 +177 361 0 +177 362 0 +177 363 0 +177 364 0 +177 365 0 +177 366 0 +177 367 0 +177 368 0 +177 369 0 +177 370 0 +177 371 0 +177 372 0 +177 373 0 +177 374 0 +177 375 0 +177 376 0 +177 377 0 +177 378 0 +177 379 0 +177 380 0 +177 381 0 +177 382 0 +177 383 0 +178 179 0 +178 180 0 +178 181 0 +178 182 0 +178 183 0 +178 184 0 +178 185 0 +178 186 0 +178 187 0 +178 188 0 +178 189 0 +178 190 0 +178 191 0 +178 192 0 +178 193 0 +178 194 0 +178 195 0 +178 196 0 +178 197 0 +178 198 0 +178 199 0 +178 200 0 +178 201 0 +178 202 0 +178 203 0 +178 204 0 +178 205 0 +178 206 0 +178 207 0 +178 208 0 +178 209 0 +178 210 0 +178 211 0 +178 212 0 +178 213 0 +178 214 0 +178 215 0 +178 216 0 +178 217 0 +178 218 0 +178 219 0 +178 220 0 +178 221 0 +178 222 0 +178 223 0 +178 224 0 +178 225 0 +178 226 0 +178 227 0 +178 228 0 +178 229 0 +178 230 0 +178 231 0 +178 232 0 +178 233 0 +178 234 0 +178 235 0 +178 236 0 +178 237 0 +178 238 0 +178 239 0 +178 240 0 +178 241 0 +178 242 0 +178 243 0 +178 244 0 +178 245 0 +178 246 0 +178 247 0 +178 248 0 +178 249 0 +178 250 0 +178 251 0 +178 252 0 +178 253 0 +178 254 0 +178 255 0 +178 256 0 +178 257 0 +178 258 0 +178 259 0 +178 260 0 +178 261 0 +178 262 0 +178 263 0 +178 264 0 +178 265 0 +178 266 0 +178 267 0 +178 268 0 +178 269 0 +178 270 0 +178 271 0 +178 272 0 +178 273 0 +178 274 0 +178 275 0 +178 276 0 +178 277 0 +178 278 0 +178 279 0 +178 280 0 +178 281 0 +178 282 0 +178 283 0 +178 284 0 +178 285 0 +178 286 0 +178 287 0 +178 288 0 +178 289 0 +178 290 0 +178 291 0 +178 292 0 +178 293 0 +178 294 0 +178 295 0 +178 296 0 +178 297 0 +178 298 0 +178 299 0 +178 300 0 +178 301 0 +178 302 0 +178 303 0 +178 304 0 +178 305 0 +178 306 0 +178 307 0 +178 308 0 +178 309 0 +178 310 0 +178 311 0 +178 312 0 +178 313 0 +178 314 0 +178 315 0 +178 316 0 +178 317 0 +178 318 0 +178 319 0 +178 320 0 +178 321 0 +178 322 0 +178 323 0 +178 324 0 +178 325 0 +178 326 0 +178 327 0 +178 328 0 +178 329 0 +178 330 0 +178 331 0 +178 332 0 +178 333 0 +178 334 0 +178 335 0 +178 336 0 +178 337 0 +178 338 0 +178 339 0 +178 340 0 +178 341 0 +178 342 0 +178 343 0 +178 344 0 +178 345 0 +178 346 0 +178 347 0 +178 348 0 +178 349 0 +178 350 0 +178 351 0 +178 352 0 +178 353 0 +178 354 0 +178 355 0 +178 356 0 +178 357 0 +178 358 0 +178 359 0 +178 360 0 +178 361 0 +178 362 0 +178 363 0 +178 364 0 +178 365 0 +178 366 0 +178 367 0 +178 368 0 +178 369 0 +178 370 0 +178 371 0 +178 372 0 +178 373 0 +178 374 0 +178 375 0 +178 376 0 +178 377 0 +178 378 0 +178 379 0 +178 380 0 +178 381 0 +178 382 0 +178 383 0 +179 180 0 +179 181 0 +179 182 0 +179 183 0 +179 184 0 +179 185 0 +179 186 0 +179 187 0 +179 188 0 +179 189 0 +179 190 0 +179 191 0 +179 192 0 +179 193 0 +179 194 0 +179 195 0 +179 196 0 +179 197 0 +179 198 0 +179 199 0 +179 200 0 +179 201 0 +179 202 0 +179 203 0 +179 204 0 +179 205 0 +179 206 0 +179 207 0 +179 208 0 +179 209 0 +179 210 0 +179 211 0 +179 212 0 +179 213 0 +179 214 0 +179 215 0 +179 216 0 +179 217 0 +179 218 0 +179 219 0 +179 220 0 +179 221 0 +179 222 0 +179 223 0 +179 224 0 +179 225 0 +179 226 0 +179 227 0 +179 228 0 +179 229 0 +179 230 0 +179 231 0 +179 232 0 +179 233 0 +179 234 0 +179 235 0 +179 236 0 +179 237 0 +179 238 0 +179 239 0 +179 240 0 +179 241 0 +179 242 0 +179 243 0 +179 244 0 +179 245 0 +179 246 0 +179 247 0 +179 248 0 +179 249 0 +179 250 0 +179 251 0 +179 252 0 +179 253 0 +179 254 0 +179 255 0 +179 256 0 +179 257 0 +179 258 0 +179 259 0 +179 260 0 +179 261 0 +179 262 0 +179 263 0 +179 264 0 +179 265 0 +179 266 0 +179 267 0 +179 268 0 +179 269 0 +179 270 0 +179 271 0 +179 272 0 +179 273 0 +179 274 0 +179 275 0 +179 276 0 +179 277 0 +179 278 0 +179 279 0 +179 280 0 +179 281 0 +179 282 0 +179 283 0 +179 284 0 +179 285 0 +179 286 0 +179 287 0 +179 288 0 +179 289 0 +179 290 0 +179 291 0 +179 292 0 +179 293 0 +179 294 0 +179 295 0 +179 296 0 +179 297 0 +179 298 0 +179 299 0 +179 300 0 +179 301 0 +179 302 0 +179 303 0 +179 304 0 +179 305 0 +179 306 0 +179 307 0 +179 308 0 +179 309 0 +179 310 0 +179 311 0 +179 312 0 +179 313 0 +179 314 0 +179 315 0 +179 316 0 +179 317 0 +179 318 0 +179 319 0 +179 320 0 +179 321 0 +179 322 0 +179 323 0 +179 324 0 +179 325 0 +179 326 0 +179 327 0 +179 328 0 +179 329 0 +179 330 0 +179 331 0 +179 332 0 +179 333 0 +179 334 0 +179 335 0 +179 336 0 +179 337 0 +179 338 0 +179 339 0 +179 340 0 +179 341 0 +179 342 0 +179 343 0 +179 344 0 +179 345 0 +179 346 0 +179 347 0 +179 348 0 +179 349 0 +179 350 0 +179 351 0 +179 352 0 +179 353 0 +179 354 0 +179 355 0 +179 356 0 +179 357 0 +179 358 0 +179 359 0 +179 360 0 +179 361 0 +179 362 0 +179 363 0 +179 364 0 +179 365 0 +179 366 0 +179 367 0 +179 368 0 +179 369 0 +179 370 0 +179 371 0 +179 372 0 +179 373 0 +179 374 0 +179 375 0 +179 376 0 +179 377 0 +179 378 0 +179 379 0 +179 380 0 +179 381 0 +179 382 0 +179 383 0 +180 181 0 +180 182 0 +180 183 0 +180 184 0 +180 185 0 +180 186 0 +180 187 0 +180 188 0 +180 189 0 +180 190 0 +180 191 0 +180 192 0 +180 193 0 +180 194 0 +180 195 0 +180 196 0 +180 197 0 +180 198 0 +180 199 0 +180 200 0 +180 201 0 +180 202 0 +180 203 0 +180 204 0 +180 205 0 +180 206 0 +180 207 0 +180 208 0 +180 209 0 +180 210 0 +180 211 0 +180 212 0 +180 213 0 +180 214 0 +180 215 0 +180 216 0 +180 217 0 +180 218 0 +180 219 0 +180 220 0 +180 221 0 +180 222 0 +180 223 0 +180 224 0 +180 225 0 +180 226 0 +180 227 0 +180 228 0 +180 229 0 +180 230 0 +180 231 0 +180 232 0 +180 233 0 +180 234 0 +180 235 0 +180 236 0 +180 237 0 +180 238 0 +180 239 0 +180 240 0 +180 241 0 +180 242 0 +180 243 0 +180 244 0 +180 245 0 +180 246 0 +180 247 0 +180 248 0 +180 249 0 +180 250 0 +180 251 0 +180 252 0 +180 253 0 +180 254 0 +180 255 0 +180 256 0 +180 257 0 +180 258 0 +180 259 0 +180 260 0 +180 261 0 +180 262 0 +180 263 0 +180 264 0 +180 265 0 +180 266 0 +180 267 0 +180 268 0 +180 269 0 +180 270 0 +180 271 0 +180 272 0 +180 273 0 +180 274 0 +180 275 0 +180 276 0 +180 277 0 +180 278 0 +180 279 0 +180 280 0 +180 281 0 +180 282 0 +180 283 0 +180 284 0 +180 285 0 +180 286 0 +180 287 0 +180 288 0 +180 289 0 +180 290 0 +180 291 0 +180 292 0 +180 293 0 +180 294 0 +180 295 0 +180 296 0 +180 297 0 +180 298 0 +180 299 0 +180 300 0 +180 301 0 +180 302 0 +180 303 0 +180 304 0 +180 305 0 +180 306 0 +180 307 0 +180 308 0 +180 309 0 +180 310 0 +180 311 0 +180 312 0 +180 313 0 +180 314 0 +180 315 0 +180 316 0 +180 317 0 +180 318 0 +180 319 0 +180 320 0 +180 321 0 +180 322 0 +180 323 0 +180 324 0 +180 325 0 +180 326 0 +180 327 0 +180 328 0 +180 329 0 +180 330 0 +180 331 0 +180 332 0 +180 333 0 +180 334 0 +180 335 0 +180 336 0 +180 337 0 +180 338 0 +180 339 0 +180 340 0 +180 341 0 +180 342 0 +180 343 0 +180 344 0 +180 345 0 +180 346 0 +180 347 0 +180 348 0 +180 349 0 +180 350 0 +180 351 0 +180 352 0 +180 353 0 +180 354 0 +180 355 0 +180 356 0 +180 357 0 +180 358 0 +180 359 0 +180 360 0 +180 361 0 +180 362 0 +180 363 0 +180 364 0 +180 365 0 +180 366 0 +180 367 0 +180 368 0 +180 369 0 +180 370 0 +180 371 0 +180 372 0 +180 373 0 +180 374 0 +180 375 0 +180 376 0 +180 377 0 +180 378 0 +180 379 0 +180 380 0 +180 381 0 +180 382 0 +180 383 0 +181 182 0 +181 183 0 +181 184 0 +181 185 0 +181 186 0 +181 187 0 +181 188 0 +181 189 0 +181 190 0 +181 191 0 +181 192 0 +181 193 0 +181 194 0 +181 195 0 +181 196 0 +181 197 0 +181 198 0 +181 199 0 +181 200 0 +181 201 0 +181 202 0 +181 203 0 +181 204 0 +181 205 0 +181 206 0 +181 207 0 +181 208 0 +181 209 0 +181 210 0 +181 211 0 +181 212 0 +181 213 0 +181 214 0 +181 215 0 +181 216 0 +181 217 0 +181 218 0 +181 219 0 +181 220 0 +181 221 0 +181 222 0 +181 223 0 +181 224 0 +181 225 0 +181 226 0 +181 227 0 +181 228 0 +181 229 0 +181 230 0 +181 231 0 +181 232 0 +181 233 0 +181 234 0 +181 235 0 +181 236 0 +181 237 0 +181 238 0 +181 239 0 +181 240 0 +181 241 0 +181 242 0 +181 243 0 +181 244 0 +181 245 0 +181 246 0 +181 247 0 +181 248 0 +181 249 0 +181 250 0 +181 251 0 +181 252 0 +181 253 0 +181 254 0 +181 255 0 +181 256 0 +181 257 0 +181 258 0 +181 259 0 +181 260 0 +181 261 0 +181 262 0 +181 263 0 +181 264 0 +181 265 0 +181 266 0 +181 267 0 +181 268 0 +181 269 0 +181 270 0 +181 271 0 +181 272 0 +181 273 0 +181 274 0 +181 275 0 +181 276 0 +181 277 0 +181 278 0 +181 279 0 +181 280 0 +181 281 0 +181 282 0 +181 283 0 +181 284 0 +181 285 0 +181 286 0 +181 287 0 +181 288 0 +181 289 0 +181 290 0 +181 291 0 +181 292 0 +181 293 0 +181 294 0 +181 295 0 +181 296 0 +181 297 0 +181 298 0 +181 299 0 +181 300 0 +181 301 0 +181 302 0 +181 303 0 +181 304 0 +181 305 0 +181 306 0 +181 307 0 +181 308 0 +181 309 0 +181 310 0 +181 311 0 +181 312 0 +181 313 0 +181 314 0 +181 315 0 +181 316 0 +181 317 0 +181 318 0 +181 319 0 +181 320 0 +181 321 0 +181 322 0 +181 323 0 +181 324 0 +181 325 0 +181 326 0 +181 327 0 +181 328 0 +181 329 0 +181 330 0 +181 331 0 +181 332 0 +181 333 0 +181 334 0 +181 335 0 +181 336 0 +181 337 0 +181 338 0 +181 339 0 +181 340 0 +181 341 0 +181 342 0 +181 343 0 +181 344 0 +181 345 0 +181 346 0 +181 347 0 +181 348 0 +181 349 0 +181 350 0 +181 351 0 +181 352 0 +181 353 0 +181 354 0 +181 355 0 +181 356 0 +181 357 0 +181 358 0 +181 359 0 +181 360 0 +181 361 0 +181 362 0 +181 363 0 +181 364 0 +181 365 0 +181 366 0 +181 367 0 +181 368 0 +181 369 0 +181 370 0 +181 371 0 +181 372 0 +181 373 0 +181 374 0 +181 375 0 +181 376 0 +181 377 0 +181 378 0 +181 379 0 +181 380 0 +181 381 0 +181 382 0 +181 383 0 +182 183 0 +182 184 0 +182 185 0 +182 186 0 +182 187 0 +182 188 0 +182 189 0 +182 190 0 +182 191 0 +182 192 0 +182 193 0 +182 194 0 +182 195 0 +182 196 0 +182 197 0 +182 198 0 +182 199 0 +182 200 0 +182 201 0 +182 202 0 +182 203 0 +182 204 0 +182 205 0 +182 206 0 +182 207 0 +182 208 0 +182 209 0 +182 210 0 +182 211 0 +182 212 0 +182 213 0 +182 214 0 +182 215 0 +182 216 0 +182 217 0 +182 218 0 +182 219 0 +182 220 0 +182 221 0 +182 222 0 +182 223 0 +182 224 0 +182 225 0 +182 226 0 +182 227 0 +182 228 0 +182 229 0 +182 230 0 +182 231 0 +182 232 0 +182 233 0 +182 234 0 +182 235 0 +182 236 0 +182 237 0 +182 238 0 +182 239 0 +182 240 0 +182 241 0 +182 242 0 +182 243 0 +182 244 0 +182 245 0 +182 246 0 +182 247 0 +182 248 0 +182 249 0 +182 250 0 +182 251 0 +182 252 0 +182 253 0 +182 254 0 +182 255 0 +182 256 0 +182 257 0 +182 258 0 +182 259 0 +182 260 0 +182 261 0 +182 262 0 +182 263 0 +182 264 0 +182 265 0 +182 266 0 +182 267 0 +182 268 0 +182 269 0 +182 270 0 +182 271 0 +182 272 0 +182 273 0 +182 274 0 +182 275 0 +182 276 0 +182 277 0 +182 278 0 +182 279 0 +182 280 0 +182 281 0 +182 282 0 +182 283 0 +182 284 0 +182 285 0 +182 286 0 +182 287 0 +182 288 0 +182 289 0 +182 290 0 +182 291 0 +182 292 0 +182 293 0 +182 294 0 +182 295 0 +182 296 0 +182 297 0 +182 298 0 +182 299 0 +182 300 0 +182 301 0 +182 302 0 +182 303 0 +182 304 0 +182 305 0 +182 306 0 +182 307 0 +182 308 0 +182 309 0 +182 310 0 +182 311 0 +182 312 0 +182 313 0 +182 314 0 +182 315 0 +182 316 0 +182 317 0 +182 318 0 +182 319 0 +182 320 0 +182 321 0 +182 322 0 +182 323 0 +182 324 0 +182 325 0 +182 326 0 +182 327 0 +182 328 0 +182 329 0 +182 330 0 +182 331 0 +182 332 0 +182 333 0 +182 334 0 +182 335 0 +182 336 0 +182 337 0 +182 338 0 +182 339 0 +182 340 0 +182 341 0 +182 342 0 +182 343 0 +182 344 0 +182 345 0 +182 346 0 +182 347 0 +182 348 0 +182 349 0 +182 350 0 +182 351 0 +182 352 0 +182 353 0 +182 354 0 +182 355 0 +182 356 0 +182 357 0 +182 358 0 +182 359 0 +182 360 0 +182 361 0 +182 362 0 +182 363 0 +182 364 0 +182 365 0 +182 366 0 +182 367 0 +182 368 0 +182 369 0 +182 370 0 +182 371 0 +182 372 0 +182 373 0 +182 374 0 +182 375 0 +182 376 0 +182 377 0 +182 378 0 +182 379 0 +182 380 0 +182 381 0 +182 382 0 +182 383 0 +183 184 0 +183 185 0 +183 186 0 +183 187 0 +183 188 0 +183 189 0 +183 190 0 +183 191 0 +183 192 0 +183 193 0 +183 194 0 +183 195 0 +183 196 0 +183 197 0 +183 198 0 +183 199 0 +183 200 0 +183 201 0 +183 202 0 +183 203 0 +183 204 0 +183 205 0 +183 206 0 +183 207 0 +183 208 0 +183 209 0 +183 210 0 +183 211 0 +183 212 0 +183 213 0 +183 214 0 +183 215 0 +183 216 0 +183 217 0 +183 218 0 +183 219 0 +183 220 0 +183 221 0 +183 222 0 +183 223 0 +183 224 0 +183 225 0 +183 226 0 +183 227 0 +183 228 0 +183 229 0 +183 230 0 +183 231 0 +183 232 0 +183 233 0 +183 234 0 +183 235 0 +183 236 0 +183 237 0 +183 238 0 +183 239 0 +183 240 0 +183 241 0 +183 242 0 +183 243 0 +183 244 0 +183 245 0 +183 246 0 +183 247 0 +183 248 0 +183 249 0 +183 250 0 +183 251 0 +183 252 0 +183 253 0 +183 254 0 +183 255 0 +183 256 0 +183 257 0 +183 258 0 +183 259 0 +183 260 0 +183 261 0 +183 262 0 +183 263 0 +183 264 0 +183 265 0 +183 266 0 +183 267 0 +183 268 0 +183 269 0 +183 270 0 +183 271 0 +183 272 0 +183 273 0 +183 274 0 +183 275 0 +183 276 0 +183 277 0 +183 278 0 +183 279 0 +183 280 0 +183 281 0 +183 282 0 +183 283 0 +183 284 0 +183 285 0 +183 286 0 +183 287 0 +183 288 0 +183 289 0 +183 290 0 +183 291 0 +183 292 0 +183 293 0 +183 294 0 +183 295 0 +183 296 0 +183 297 0 +183 298 0 +183 299 0 +183 300 0 +183 301 0 +183 302 0 +183 303 0 +183 304 0 +183 305 0 +183 306 0 +183 307 0 +183 308 0 +183 309 0 +183 310 0 +183 311 0 +183 312 0 +183 313 0 +183 314 0 +183 315 0 +183 316 0 +183 317 0 +183 318 0 +183 319 0 +183 320 0 +183 321 0 +183 322 0 +183 323 0 +183 324 0 +183 325 0 +183 326 0 +183 327 0 +183 328 0 +183 329 0 +183 330 0 +183 331 0 +183 332 0 +183 333 0 +183 334 0 +183 335 0 +183 336 0 +183 337 0 +183 338 0 +183 339 0 +183 340 0 +183 341 0 +183 342 0 +183 343 0 +183 344 0 +183 345 0 +183 346 0 +183 347 0 +183 348 0 +183 349 0 +183 350 0 +183 351 0 +183 352 0 +183 353 0 +183 354 0 +183 355 0 +183 356 0 +183 357 0 +183 358 0 +183 359 0 +183 360 0 +183 361 0 +183 362 0 +183 363 0 +183 364 0 +183 365 0 +183 366 0 +183 367 0 +183 368 0 +183 369 0 +183 370 0 +183 371 0 +183 372 0 +183 373 0 +183 374 0 +183 375 0 +183 376 0 +183 377 0 +183 378 0 +183 379 0 +183 380 0 +183 381 0 +183 382 0 +183 383 0 +184 185 0 +184 186 0 +184 187 0 +184 188 0 +184 189 0 +184 190 0 +184 191 0 +184 192 0 +184 193 0 +184 194 0 +184 195 0 +184 196 0 +184 197 0 +184 198 0 +184 199 0 +184 200 0 +184 201 0 +184 202 0 +184 203 0 +184 204 0 +184 205 0 +184 206 0 +184 207 0 +184 208 0 +184 209 0 +184 210 0 +184 211 0 +184 212 0 +184 213 0 +184 214 0 +184 215 0 +184 216 0 +184 217 0 +184 218 0 +184 219 0 +184 220 0 +184 221 0 +184 222 0 +184 223 0 +184 224 0 +184 225 0 +184 226 0 +184 227 0 +184 228 0 +184 229 0 +184 230 0 +184 231 0 +184 232 0 +184 233 0 +184 234 0 +184 235 0 +184 236 0 +184 237 0 +184 238 0 +184 239 0 +184 240 0 +184 241 0 +184 242 0 +184 243 0 +184 244 0 +184 245 0 +184 246 0 +184 247 0 +184 248 0 +184 249 0 +184 250 0 +184 251 0 +184 252 0 +184 253 0 +184 254 0 +184 255 0 +184 256 0 +184 257 0 +184 258 0 +184 259 0 +184 260 0 +184 261 0 +184 262 0 +184 263 0 +184 264 0 +184 265 0 +184 266 0 +184 267 0 +184 268 0 +184 269 0 +184 270 0 +184 271 0 +184 272 0 +184 273 0 +184 274 0 +184 275 0 +184 276 0 +184 277 0 +184 278 0 +184 279 0 +184 280 0 +184 281 0 +184 282 0 +184 283 0 +184 284 0 +184 285 0 +184 286 0 +184 287 0 +184 288 0 +184 289 0 +184 290 0 +184 291 0 +184 292 0 +184 293 0 +184 294 0 +184 295 0 +184 296 0 +184 297 0 +184 298 0 +184 299 0 +184 300 0 +184 301 0 +184 302 0 +184 303 0 +184 304 0 +184 305 0 +184 306 0 +184 307 0 +184 308 0 +184 309 0 +184 310 0 +184 311 0 +184 312 0 +184 313 0 +184 314 0 +184 315 0 +184 316 0 +184 317 0 +184 318 0 +184 319 0 +184 320 0 +184 321 0 +184 322 0 +184 323 0 +184 324 0 +184 325 0 +184 326 0 +184 327 0 +184 328 0 +184 329 0 +184 330 0 +184 331 0 +184 332 0 +184 333 0 +184 334 0 +184 335 0 +184 336 0 +184 337 0 +184 338 0 +184 339 0 +184 340 0 +184 341 0 +184 342 0 +184 343 0 +184 344 0 +184 345 0 +184 346 0 +184 347 0 +184 348 0 +184 349 0 +184 350 0 +184 351 0 +184 352 0 +184 353 0 +184 354 0 +184 355 0 +184 356 0 +184 357 0 +184 358 0 +184 359 0 +184 360 0 +184 361 0 +184 362 0 +184 363 0 +184 364 0 +184 365 0 +184 366 0 +184 367 0 +184 368 0 +184 369 0 +184 370 0 +184 371 0 +184 372 0 +184 373 0 +184 374 0 +184 375 0 +184 376 0 +184 377 0 +184 378 0 +184 379 0 +184 380 0 +184 381 0 +184 382 0 +184 383 0 +185 186 0 +185 187 0 +185 188 0 +185 189 0 +185 190 0 +185 191 0 +185 192 0 +185 193 0 +185 194 0 +185 195 0 +185 196 0 +185 197 0 +185 198 0 +185 199 0 +185 200 0 +185 201 0 +185 202 0 +185 203 0 +185 204 0 +185 205 0 +185 206 0 +185 207 0 +185 208 0 +185 209 0 +185 210 0 +185 211 0 +185 212 0 +185 213 0 +185 214 0 +185 215 0 +185 216 0 +185 217 0 +185 218 0 +185 219 0 +185 220 0 +185 221 0 +185 222 0 +185 223 0 +185 224 0 +185 225 0 +185 226 0 +185 227 0 +185 228 0 +185 229 0 +185 230 0 +185 231 0 +185 232 0 +185 233 0 +185 234 0 +185 235 0 +185 236 0 +185 237 0 +185 238 0 +185 239 0 +185 240 0 +185 241 0 +185 242 0 +185 243 0 +185 244 0 +185 245 0 +185 246 0 +185 247 0 +185 248 0 +185 249 0 +185 250 0 +185 251 0 +185 252 0 +185 253 0 +185 254 0 +185 255 0 +185 256 0 +185 257 0 +185 258 0 +185 259 0 +185 260 0 +185 261 0 +185 262 0 +185 263 0 +185 264 0 +185 265 0 +185 266 0 +185 267 0 +185 268 0 +185 269 0 +185 270 0 +185 271 0 +185 272 0 +185 273 0 +185 274 0 +185 275 0 +185 276 0 +185 277 0 +185 278 0 +185 279 0 +185 280 0 +185 281 0 +185 282 0 +185 283 0 +185 284 0 +185 285 0 +185 286 0 +185 287 0 +185 288 0 +185 289 0 +185 290 0 +185 291 0 +185 292 0 +185 293 0 +185 294 0 +185 295 0 +185 296 0 +185 297 0 +185 298 0 +185 299 0 +185 300 0 +185 301 0 +185 302 0 +185 303 0 +185 304 0 +185 305 0 +185 306 0 +185 307 0 +185 308 0 +185 309 0 +185 310 0 +185 311 0 +185 312 0 +185 313 0 +185 314 0 +185 315 0 +185 316 0 +185 317 0 +185 318 0 +185 319 0 +185 320 0 +185 321 0 +185 322 0 +185 323 0 +185 324 0 +185 325 0 +185 326 0 +185 327 0 +185 328 0 +185 329 0 +185 330 0 +185 331 0 +185 332 0 +185 333 0 +185 334 0 +185 335 0 +185 336 0 +185 337 0 +185 338 0 +185 339 0 +185 340 0 +185 341 0 +185 342 0 +185 343 0 +185 344 0 +185 345 0 +185 346 0 +185 347 0 +185 348 0 +185 349 0 +185 350 0 +185 351 0 +185 352 0 +185 353 0 +185 354 0 +185 355 0 +185 356 0 +185 357 0 +185 358 0 +185 359 0 +185 360 0 +185 361 0 +185 362 0 +185 363 0 +185 364 0 +185 365 0 +185 366 0 +185 367 0 +185 368 0 +185 369 0 +185 370 0 +185 371 0 +185 372 0 +185 373 0 +185 374 0 +185 375 0 +185 376 0 +185 377 0 +185 378 0 +185 379 0 +185 380 0 +185 381 0 +185 382 0 +185 383 0 +186 187 0 +186 188 0 +186 189 0 +186 190 0 +186 191 0 +186 192 0 +186 193 0 +186 194 0 +186 195 0 +186 196 0 +186 197 0 +186 198 0 +186 199 0 +186 200 0 +186 201 0 +186 202 0 +186 203 0 +186 204 0 +186 205 0 +186 206 0 +186 207 0 +186 208 0 +186 209 0 +186 210 0 +186 211 0 +186 212 0 +186 213 0 +186 214 0 +186 215 0 +186 216 0 +186 217 0 +186 218 0 +186 219 0 +186 220 0 +186 221 0 +186 222 0 +186 223 0 +186 224 0 +186 225 0 +186 226 0 +186 227 0 +186 228 0 +186 229 0 +186 230 0 +186 231 0 +186 232 0 +186 233 0 +186 234 0 +186 235 0 +186 236 0 +186 237 0 +186 238 0 +186 239 0 +186 240 0 +186 241 0 +186 242 0 +186 243 0 +186 244 0 +186 245 0 +186 246 0 +186 247 0 +186 248 0 +186 249 0 +186 250 0 +186 251 0 +186 252 0 +186 253 0 +186 254 0 +186 255 0 +186 256 0 +186 257 0 +186 258 0 +186 259 0 +186 260 0 +186 261 0 +186 262 0 +186 263 0 +186 264 0 +186 265 0 +186 266 0 +186 267 0 +186 268 0 +186 269 0 +186 270 0 +186 271 0 +186 272 0 +186 273 0 +186 274 0 +186 275 0 +186 276 0 +186 277 0 +186 278 0 +186 279 0 +186 280 0 +186 281 0 +186 282 0 +186 283 0 +186 284 0 +186 285 0 +186 286 0 +186 287 0 +186 288 0 +186 289 0 +186 290 0 +186 291 0 +186 292 0 +186 293 0 +186 294 0 +186 295 0 +186 296 0 +186 297 0 +186 298 0 +186 299 0 +186 300 0 +186 301 0 +186 302 0 +186 303 0 +186 304 0 +186 305 0 +186 306 0 +186 307 0 +186 308 0 +186 309 0 +186 310 0 +186 311 0 +186 312 0 +186 313 0 +186 314 0 +186 315 0 +186 316 0 +186 317 0 +186 318 0 +186 319 0 +186 320 0 +186 321 0 +186 322 0 +186 323 0 +186 324 0 +186 325 0 +186 326 0 +186 327 0 +186 328 0 +186 329 0 +186 330 0 +186 331 0 +186 332 0 +186 333 0 +186 334 0 +186 335 0 +186 336 0 +186 337 0 +186 338 0 +186 339 0 +186 340 0 +186 341 0 +186 342 0 +186 343 0 +186 344 0 +186 345 0 +186 346 0 +186 347 0 +186 348 0 +186 349 0 +186 350 0 +186 351 0 +186 352 0 +186 353 0 +186 354 0 +186 355 0 +186 356 0 +186 357 0 +186 358 0 +186 359 0 +186 360 0 +186 361 0 +186 362 0 +186 363 0 +186 364 0 +186 365 0 +186 366 0 +186 367 0 +186 368 0 +186 369 0 +186 370 0 +186 371 0 +186 372 0 +186 373 0 +186 374 0 +186 375 0 +186 376 0 +186 377 0 +186 378 0 +186 379 0 +186 380 0 +186 381 0 +186 382 0 +186 383 0 +187 188 0 +187 189 0 +187 190 0 +187 191 0 +187 192 0 +187 193 0 +187 194 0 +187 195 0 +187 196 0 +187 197 0 +187 198 0 +187 199 0 +187 200 0 +187 201 0 +187 202 0 +187 203 0 +187 204 0 +187 205 0 +187 206 0 +187 207 0 +187 208 0 +187 209 0 +187 210 0 +187 211 0 +187 212 0 +187 213 0 +187 214 0 +187 215 0 +187 216 0 +187 217 0 +187 218 0 +187 219 0 +187 220 0 +187 221 0 +187 222 0 +187 223 0 +187 224 0 +187 225 0 +187 226 0 +187 227 0 +187 228 0 +187 229 0 +187 230 0 +187 231 0 +187 232 0 +187 233 0 +187 234 0 +187 235 0 +187 236 0 +187 237 0 +187 238 0 +187 239 0 +187 240 0 +187 241 0 +187 242 0 +187 243 0 +187 244 0 +187 245 0 +187 246 0 +187 247 0 +187 248 0 +187 249 0 +187 250 0 +187 251 0 +187 252 0 +187 253 0 +187 254 0 +187 255 0 +187 256 0 +187 257 0 +187 258 0 +187 259 0 +187 260 0 +187 261 0 +187 262 0 +187 263 0 +187 264 0 +187 265 0 +187 266 0 +187 267 0 +187 268 0 +187 269 0 +187 270 0 +187 271 0 +187 272 0 +187 273 0 +187 274 0 +187 275 0 +187 276 0 +187 277 0 +187 278 0 +187 279 0 +187 280 0 +187 281 0 +187 282 0 +187 283 0 +187 284 0 +187 285 0 +187 286 0 +187 287 0 +187 288 0 +187 289 0 +187 290 0 +187 291 0 +187 292 0 +187 293 0 +187 294 0 +187 295 0 +187 296 0 +187 297 0 +187 298 0 +187 299 0 +187 300 0 +187 301 0 +187 302 0 +187 303 0 +187 304 0 +187 305 0 +187 306 0 +187 307 0 +187 308 0 +187 309 0 +187 310 0 +187 311 0 +187 312 0 +187 313 0 +187 314 0 +187 315 0 +187 316 0 +187 317 0 +187 318 0 +187 319 0 +187 320 0 +187 321 0 +187 322 0 +187 323 0 +187 324 0 +187 325 0 +187 326 0 +187 327 0 +187 328 0 +187 329 0 +187 330 0 +187 331 0 +187 332 0 +187 333 0 +187 334 0 +187 335 0 +187 336 0 +187 337 0 +187 338 0 +187 339 0 +187 340 0 +187 341 0 +187 342 0 +187 343 0 +187 344 0 +187 345 0 +187 346 0 +187 347 0 +187 348 0 +187 349 0 +187 350 0 +187 351 0 +187 352 0 +187 353 0 +187 354 0 +187 355 0 +187 356 0 +187 357 0 +187 358 0 +187 359 0 +187 360 0 +187 361 0 +187 362 0 +187 363 0 +187 364 0 +187 365 0 +187 366 0 +187 367 0 +187 368 0 +187 369 0 +187 370 0 +187 371 0 +187 372 0 +187 373 0 +187 374 0 +187 375 0 +187 376 0 +187 377 0 +187 378 0 +187 379 0 +187 380 0 +187 381 0 +187 382 0 +187 383 0 +188 189 0 +188 190 0 +188 191 0 +188 192 0 +188 193 0 +188 194 0 +188 195 0 +188 196 0 +188 197 0 +188 198 0 +188 199 0 +188 200 0 +188 201 0 +188 202 0 +188 203 0 +188 204 0 +188 205 0 +188 206 0 +188 207 0 +188 208 0 +188 209 0 +188 210 0 +188 211 0 +188 212 0 +188 213 0 +188 214 0 +188 215 0 +188 216 0 +188 217 0 +188 218 0 +188 219 0 +188 220 0 +188 221 0 +188 222 0 +188 223 0 +188 224 0 +188 225 0 +188 226 0 +188 227 0 +188 228 0 +188 229 0 +188 230 0 +188 231 0 +188 232 0 +188 233 0 +188 234 0 +188 235 0 +188 236 0 +188 237 0 +188 238 0 +188 239 0 +188 240 0 +188 241 0 +188 242 0 +188 243 0 +188 244 0 +188 245 0 +188 246 0 +188 247 0 +188 248 0 +188 249 0 +188 250 0 +188 251 0 +188 252 0 +188 253 0 +188 254 0 +188 255 0 +188 256 0 +188 257 0 +188 258 0 +188 259 0 +188 260 0 +188 261 0 +188 262 0 +188 263 0 +188 264 0 +188 265 0 +188 266 0 +188 267 0 +188 268 0 +188 269 0 +188 270 0 +188 271 0 +188 272 0 +188 273 0 +188 274 0 +188 275 0 +188 276 0 +188 277 0 +188 278 0 +188 279 0 +188 280 0 +188 281 0 +188 282 0 +188 283 0 +188 284 0 +188 285 0 +188 286 0 +188 287 0 +188 288 0 +188 289 0 +188 290 0 +188 291 0 +188 292 0 +188 293 0 +188 294 0 +188 295 0 +188 296 0 +188 297 0 +188 298 0 +188 299 0 +188 300 0 +188 301 0 +188 302 0 +188 303 0 +188 304 0 +188 305 0 +188 306 0 +188 307 0 +188 308 0 +188 309 0 +188 310 0 +188 311 0 +188 312 0 +188 313 0 +188 314 0 +188 315 0 +188 316 0 +188 317 0 +188 318 0 +188 319 0 +188 320 0 +188 321 0 +188 322 0 +188 323 0 +188 324 0 +188 325 0 +188 326 0 +188 327 0 +188 328 0 +188 329 0 +188 330 0 +188 331 0 +188 332 0 +188 333 0 +188 334 0 +188 335 0 +188 336 0 +188 337 0 +188 338 0 +188 339 0 +188 340 0 +188 341 0 +188 342 0 +188 343 0 +188 344 0 +188 345 0 +188 346 0 +188 347 0 +188 348 0 +188 349 0 +188 350 0 +188 351 0 +188 352 0 +188 353 0 +188 354 0 +188 355 0 +188 356 0 +188 357 0 +188 358 0 +188 359 0 +188 360 0 +188 361 0 +188 362 0 +188 363 0 +188 364 0 +188 365 0 +188 366 0 +188 367 0 +188 368 0 +188 369 0 +188 370 0 +188 371 0 +188 372 0 +188 373 0 +188 374 0 +188 375 0 +188 376 0 +188 377 0 +188 378 0 +188 379 0 +188 380 0 +188 381 0 +188 382 0 +188 383 0 +189 190 0 +189 191 0 +189 192 0 +189 193 0 +189 194 0 +189 195 0 +189 196 0 +189 197 0 +189 198 0 +189 199 0 +189 200 0 +189 201 0 +189 202 0 +189 203 0 +189 204 0 +189 205 0 +189 206 0 +189 207 0 +189 208 0 +189 209 0 +189 210 0 +189 211 0 +189 212 0 +189 213 0 +189 214 0 +189 215 0 +189 216 0 +189 217 0 +189 218 0 +189 219 0 +189 220 0 +189 221 0 +189 222 0 +189 223 0 +189 224 0 +189 225 0 +189 226 0 +189 227 0 +189 228 0 +189 229 0 +189 230 0 +189 231 0 +189 232 0 +189 233 0 +189 234 0 +189 235 0 +189 236 0 +189 237 0 +189 238 0 +189 239 0 +189 240 0 +189 241 0 +189 242 0 +189 243 0 +189 244 0 +189 245 0 +189 246 0 +189 247 0 +189 248 0 +189 249 0 +189 250 0 +189 251 0 +189 252 0 +189 253 0 +189 254 0 +189 255 0 +189 256 0 +189 257 0 +189 258 0 +189 259 0 +189 260 0 +189 261 0 +189 262 0 +189 263 0 +189 264 0 +189 265 0 +189 266 0 +189 267 0 +189 268 0 +189 269 0 +189 270 0 +189 271 0 +189 272 0 +189 273 0 +189 274 0 +189 275 0 +189 276 0 +189 277 0 +189 278 0 +189 279 0 +189 280 0 +189 281 0 +189 282 0 +189 283 0 +189 284 0 +189 285 0 +189 286 0 +189 287 0 +189 288 0 +189 289 0 +189 290 0 +189 291 0 +189 292 0 +189 293 0 +189 294 0 +189 295 0 +189 296 0 +189 297 0 +189 298 0 +189 299 0 +189 300 0 +189 301 0 +189 302 0 +189 303 0 +189 304 0 +189 305 0 +189 306 0 +189 307 0 +189 308 0 +189 309 0 +189 310 0 +189 311 0 +189 312 0 +189 313 0 +189 314 0 +189 315 0 +189 316 0 +189 317 0 +189 318 0 +189 319 0 +189 320 0 +189 321 0 +189 322 0 +189 323 0 +189 324 0 +189 325 0 +189 326 0 +189 327 0 +189 328 0 +189 329 0 +189 330 0 +189 331 0 +189 332 0 +189 333 0 +189 334 0 +189 335 0 +189 336 0 +189 337 0 +189 338 0 +189 339 0 +189 340 0 +189 341 0 +189 342 0 +189 343 0 +189 344 0 +189 345 0 +189 346 0 +189 347 0 +189 348 0 +189 349 0 +189 350 0 +189 351 0 +189 352 0 +189 353 0 +189 354 0 +189 355 0 +189 356 0 +189 357 0 +189 358 0 +189 359 0 +189 360 0 +189 361 0 +189 362 0 +189 363 0 +189 364 0 +189 365 0 +189 366 0 +189 367 0 +189 368 0 +189 369 0 +189 370 0 +189 371 0 +189 372 0 +189 373 0 +189 374 0 +189 375 0 +189 376 0 +189 377 0 +189 378 0 +189 379 0 +189 380 0 +189 381 0 +189 382 0 +189 383 0 +190 191 0 +190 192 0 +190 193 0 +190 194 0 +190 195 0 +190 196 0 +190 197 0 +190 198 0 +190 199 0 +190 200 0 +190 201 0 +190 202 0 +190 203 0 +190 204 0 +190 205 0 +190 206 0 +190 207 0 +190 208 0 +190 209 0 +190 210 0 +190 211 0 +190 212 0 +190 213 0 +190 214 0 +190 215 0 +190 216 0 +190 217 0 +190 218 0 +190 219 0 +190 220 0 +190 221 0 +190 222 0 +190 223 0 +190 224 0 +190 225 0 +190 226 0 +190 227 0 +190 228 0 +190 229 0 +190 230 0 +190 231 0 +190 232 0 +190 233 0 +190 234 0 +190 235 0 +190 236 0 +190 237 0 +190 238 0 +190 239 0 +190 240 0 +190 241 0 +190 242 0 +190 243 0 +190 244 0 +190 245 0 +190 246 0 +190 247 0 +190 248 0 +190 249 0 +190 250 0 +190 251 0 +190 252 0 +190 253 0 +190 254 0 +190 255 0 +190 256 0 +190 257 0 +190 258 0 +190 259 0 +190 260 0 +190 261 0 +190 262 0 +190 263 0 +190 264 0 +190 265 0 +190 266 0 +190 267 0 +190 268 0 +190 269 0 +190 270 0 +190 271 0 +190 272 0 +190 273 0 +190 274 0 +190 275 0 +190 276 0 +190 277 0 +190 278 0 +190 279 0 +190 280 0 +190 281 0 +190 282 0 +190 283 0 +190 284 0 +190 285 0 +190 286 0 +190 287 0 +190 288 0 +190 289 0 +190 290 0 +190 291 0 +190 292 0 +190 293 0 +190 294 0 +190 295 0 +190 296 0 +190 297 0 +190 298 0 +190 299 0 +190 300 0 +190 301 0 +190 302 0 +190 303 0 +190 304 0 +190 305 0 +190 306 0 +190 307 0 +190 308 0 +190 309 0 +190 310 0 +190 311 0 +190 312 0 +190 313 0 +190 314 0 +190 315 0 +190 316 0 +190 317 0 +190 318 0 +190 319 0 +190 320 0 +190 321 0 +190 322 0 +190 323 0 +190 324 0 +190 325 0 +190 326 0 +190 327 0 +190 328 0 +190 329 0 +190 330 0 +190 331 0 +190 332 0 +190 333 0 +190 334 0 +190 335 0 +190 336 0 +190 337 0 +190 338 0 +190 339 0 +190 340 0 +190 341 0 +190 342 0 +190 343 0 +190 344 0 +190 345 0 +190 346 0 +190 347 0 +190 348 0 +190 349 0 +190 350 0 +190 351 0 +190 352 0 +190 353 0 +190 354 0 +190 355 0 +190 356 0 +190 357 0 +190 358 0 +190 359 0 +190 360 0 +190 361 0 +190 362 0 +190 363 0 +190 364 0 +190 365 0 +190 366 0 +190 367 0 +190 368 0 +190 369 0 +190 370 0 +190 371 0 +190 372 0 +190 373 0 +190 374 0 +190 375 0 +190 376 0 +190 377 0 +190 378 0 +190 379 0 +190 380 0 +190 381 0 +190 382 0 +190 383 0 +191 192 0 +191 193 0 +191 194 0 +191 195 0 +191 196 0 +191 197 0 +191 198 0 +191 199 0 +191 200 0 +191 201 0 +191 202 0 +191 203 0 +191 204 0 +191 205 0 +191 206 0 +191 207 0 +191 208 0 +191 209 0 +191 210 0 +191 211 0 +191 212 0 +191 213 0 +191 214 0 +191 215 0 +191 216 0 +191 217 0 +191 218 0 +191 219 0 +191 220 0 +191 221 0 +191 222 0 +191 223 0 +191 224 0 +191 225 0 +191 226 0 +191 227 0 +191 228 0 +191 229 0 +191 230 0 +191 231 0 +191 232 0 +191 233 0 +191 234 0 +191 235 0 +191 236 0 +191 237 0 +191 238 0 +191 239 0 +191 240 0 +191 241 0 +191 242 0 +191 243 0 +191 244 0 +191 245 0 +191 246 0 +191 247 0 +191 248 0 +191 249 0 +191 250 0 +191 251 0 +191 252 0 +191 253 0 +191 254 0 +191 255 0 +191 256 0 +191 257 0 +191 258 0 +191 259 0 +191 260 0 +191 261 0 +191 262 0 +191 263 0 +191 264 0 +191 265 0 +191 266 0 +191 267 0 +191 268 0 +191 269 0 +191 270 0 +191 271 0 +191 272 0 +191 273 0 +191 274 0 +191 275 0 +191 276 0 +191 277 0 +191 278 0 +191 279 0 +191 280 0 +191 281 0 +191 282 0 +191 283 0 +191 284 0 +191 285 0 +191 286 0 +191 287 0 +191 288 0 +191 289 0 +191 290 0 +191 291 0 +191 292 0 +191 293 0 +191 294 0 +191 295 0 +191 296 0 +191 297 0 +191 298 0 +191 299 0 +191 300 0 +191 301 0 +191 302 0 +191 303 0 +191 304 0 +191 305 0 +191 306 0 +191 307 0 +191 308 0 +191 309 0 +191 310 0 +191 311 0 +191 312 0 +191 313 0 +191 314 0 +191 315 0 +191 316 0 +191 317 0 +191 318 0 +191 319 0 +191 320 0 +191 321 0 +191 322 0 +191 323 0 +191 324 0 +191 325 0 +191 326 0 +191 327 0 +191 328 0 +191 329 0 +191 330 0 +191 331 0 +191 332 0 +191 333 0 +191 334 0 +191 335 0 +191 336 0 +191 337 0 +191 338 0 +191 339 0 +191 340 0 +191 341 0 +191 342 0 +191 343 0 +191 344 0 +191 345 0 +191 346 0 +191 347 0 +191 348 0 +191 349 0 +191 350 0 +191 351 0 +191 352 0 +191 353 0 +191 354 0 +191 355 0 +191 356 0 +191 357 0 +191 358 0 +191 359 0 +191 360 0 +191 361 0 +191 362 0 +191 363 0 +191 364 0 +191 365 0 +191 366 0 +191 367 0 +191 368 0 +191 369 0 +191 370 0 +191 371 0 +191 372 0 +191 373 0 +191 374 0 +191 375 0 +191 376 0 +191 377 0 +191 378 0 +191 379 0 +191 380 0 +191 381 0 +191 382 0 +191 383 0 +192 193 0 +192 194 0 +192 195 0 +192 196 0 +192 197 0 +192 198 0 +192 199 0 +192 200 0 +192 201 0 +192 202 0 +192 203 0 +192 204 0 +192 205 0 +192 206 0 +192 207 0 +192 208 0 +192 209 0 +192 210 0 +192 211 0 +192 212 0 +192 213 0 +192 214 0 +192 215 0 +192 216 0 +192 217 0 +192 218 0 +192 219 0 +192 220 0 +192 221 0 +192 222 0 +192 223 0 +192 224 0 +192 225 0 +192 226 0 +192 227 0 +192 228 0 +192 229 0 +192 230 0 +192 231 0 +192 232 0 +192 233 0 +192 234 0 +192 235 0 +192 236 0 +192 237 0 +192 238 0 +192 239 0 +192 240 0 +192 241 0 +192 242 0 +192 243 0 +192 244 0 +192 245 0 +192 246 0 +192 247 0 +192 248 0 +192 249 0 +192 250 0 +192 251 0 +192 252 0 +192 253 0 +192 254 0 +192 255 0 +192 256 0 +192 257 0 +192 258 0 +192 259 0 +192 260 0 +192 261 0 +192 262 0 +192 263 0 +192 264 0 +192 265 0 +192 266 0 +192 267 0 +192 268 0 +192 269 0 +192 270 0 +192 271 0 +192 272 0 +192 273 0 +192 274 0 +192 275 0 +192 276 0 +192 277 0 +192 278 0 +192 279 0 +192 280 0 +192 281 0 +192 282 0 +192 283 0 +192 284 0 +192 285 0 +192 286 0 +192 287 0 +192 288 0 +192 289 0 +192 290 0 +192 291 0 +192 292 0 +192 293 0 +192 294 0 +192 295 0 +192 296 0 +192 297 0 +192 298 0 +192 299 0 +192 300 0 +192 301 0 +192 302 0 +192 303 0 +192 304 0 +192 305 0 +192 306 0 +192 307 0 +192 308 0 +192 309 0 +192 310 0 +192 311 0 +192 312 0 +192 313 0 +192 314 0 +192 315 0 +192 316 0 +192 317 0 +192 318 0 +192 319 0 +192 320 0 +192 321 0 +192 322 0 +192 323 0 +192 324 0 +192 325 0 +192 326 0 +192 327 0 +192 328 0 +192 329 0 +192 330 0 +192 331 0 +192 332 0 +192 333 0 +192 334 0 +192 335 0 +192 336 0 +192 337 0 +192 338 0 +192 339 0 +192 340 0 +192 341 0 +192 342 0 +192 343 0 +192 344 0 +192 345 0 +192 346 0 +192 347 0 +192 348 0 +192 349 0 +192 350 0 +192 351 0 +192 352 0 +192 353 0 +192 354 0 +192 355 0 +192 356 0 +192 357 0 +192 358 0 +192 359 0 +192 360 0 +192 361 0 +192 362 0 +192 363 0 +192 364 0 +192 365 0 +192 366 0 +192 367 0 +192 368 0 +192 369 0 +192 370 0 +192 371 0 +192 372 0 +192 373 0 +192 374 0 +192 375 0 +192 376 0 +192 377 0 +192 378 0 +192 379 0 +192 380 0 +192 381 0 +192 382 0 +192 383 0 +193 194 0 +193 195 0 +193 196 0 +193 197 0 +193 198 0 +193 199 0 +193 200 0 +193 201 0 +193 202 0 +193 203 0 +193 204 0 +193 205 0 +193 206 0 +193 207 0 +193 208 0 +193 209 0 +193 210 0 +193 211 0 +193 212 0 +193 213 0 +193 214 0 +193 215 0 +193 216 0 +193 217 0 +193 218 0 +193 219 0 +193 220 0 +193 221 0 +193 222 0 +193 223 0 +193 224 0 +193 225 0 +193 226 0 +193 227 0 +193 228 0 +193 229 0 +193 230 0 +193 231 0 +193 232 0 +193 233 0 +193 234 0 +193 235 0 +193 236 0 +193 237 0 +193 238 0 +193 239 0 +193 240 0 +193 241 0 +193 242 0 +193 243 0 +193 244 0 +193 245 0 +193 246 0 +193 247 0 +193 248 0 +193 249 0 +193 250 0 +193 251 0 +193 252 0 +193 253 0 +193 254 0 +193 255 0 +193 256 0 +193 257 0 +193 258 0 +193 259 0 +193 260 0 +193 261 0 +193 262 0 +193 263 0 +193 264 0 +193 265 0 +193 266 0 +193 267 0 +193 268 0 +193 269 0 +193 270 0 +193 271 0 +193 272 0 +193 273 0 +193 274 0 +193 275 0 +193 276 0 +193 277 0 +193 278 0 +193 279 0 +193 280 0 +193 281 0 +193 282 0 +193 283 0 +193 284 0 +193 285 0 +193 286 0 +193 287 0 +193 288 0 +193 289 0 +193 290 0 +193 291 0 +193 292 0 +193 293 0 +193 294 0 +193 295 0 +193 296 0 +193 297 0 +193 298 0 +193 299 0 +193 300 0 +193 301 0 +193 302 0 +193 303 0 +193 304 0 +193 305 0 +193 306 0 +193 307 0 +193 308 0 +193 309 0 +193 310 0 +193 311 0 +193 312 0 +193 313 0 +193 314 0 +193 315 0 +193 316 0 +193 317 0 +193 318 0 +193 319 0 +193 320 0 +193 321 0 +193 322 0 +193 323 0 +193 324 0 +193 325 0 +193 326 0 +193 327 0 +193 328 0 +193 329 0 +193 330 0 +193 331 0 +193 332 0 +193 333 0 +193 334 0 +193 335 0 +193 336 0 +193 337 0 +193 338 0 +193 339 0 +193 340 0 +193 341 0 +193 342 0 +193 343 0 +193 344 0 +193 345 0 +193 346 0 +193 347 0 +193 348 0 +193 349 0 +193 350 0 +193 351 0 +193 352 0 +193 353 0 +193 354 0 +193 355 0 +193 356 0 +193 357 0 +193 358 0 +193 359 0 +193 360 0 +193 361 0 +193 362 0 +193 363 0 +193 364 0 +193 365 0 +193 366 0 +193 367 0 +193 368 0 +193 369 0 +193 370 0 +193 371 0 +193 372 0 +193 373 0 +193 374 0 +193 375 0 +193 376 0 +193 377 0 +193 378 0 +193 379 0 +193 380 0 +193 381 0 +193 382 0 +193 383 0 +194 195 0 +194 196 0 +194 197 0 +194 198 0 +194 199 0 +194 200 0 +194 201 0 +194 202 0 +194 203 0 +194 204 0 +194 205 0 +194 206 0 +194 207 0 +194 208 0 +194 209 0 +194 210 0 +194 211 0 +194 212 0 +194 213 0 +194 214 0 +194 215 0 +194 216 0 +194 217 0 +194 218 0 +194 219 0 +194 220 0 +194 221 0 +194 222 0 +194 223 0 +194 224 0 +194 225 0 +194 226 0 +194 227 0 +194 228 0 +194 229 0 +194 230 0 +194 231 0 +194 232 0 +194 233 0 +194 234 0 +194 235 0 +194 236 0 +194 237 0 +194 238 0 +194 239 0 +194 240 0 +194 241 0 +194 242 0 +194 243 0 +194 244 0 +194 245 0 +194 246 0 +194 247 0 +194 248 0 +194 249 0 +194 250 0 +194 251 0 +194 252 0 +194 253 0 +194 254 0 +194 255 0 +194 256 0 +194 257 0 +194 258 0 +194 259 0 +194 260 0 +194 261 0 +194 262 0 +194 263 0 +194 264 0 +194 265 0 +194 266 0 +194 267 0 +194 268 0 +194 269 0 +194 270 0 +194 271 0 +194 272 0 +194 273 0 +194 274 0 +194 275 0 +194 276 0 +194 277 0 +194 278 0 +194 279 0 +194 280 0 +194 281 0 +194 282 0 +194 283 0 +194 284 0 +194 285 0 +194 286 0 +194 287 0 +194 288 0 +194 289 0 +194 290 0 +194 291 0 +194 292 0 +194 293 0 +194 294 0 +194 295 0 +194 296 0 +194 297 0 +194 298 0 +194 299 0 +194 300 0 +194 301 0 +194 302 0 +194 303 0 +194 304 0 +194 305 0 +194 306 0 +194 307 0 +194 308 0 +194 309 0 +194 310 0 +194 311 0 +194 312 0 +194 313 0 +194 314 0 +194 315 0 +194 316 0 +194 317 0 +194 318 0 +194 319 0 +194 320 0 +194 321 0 +194 322 0 +194 323 0 +194 324 0 +194 325 0 +194 326 0 +194 327 0 +194 328 0 +194 329 0 +194 330 0 +194 331 0 +194 332 0 +194 333 0 +194 334 0 +194 335 0 +194 336 0 +194 337 0 +194 338 0 +194 339 0 +194 340 0 +194 341 0 +194 342 0 +194 343 0 +194 344 0 +194 345 0 +194 346 0 +194 347 0 +194 348 0 +194 349 0 +194 350 0 +194 351 0 +194 352 0 +194 353 0 +194 354 0 +194 355 0 +194 356 0 +194 357 0 +194 358 0 +194 359 0 +194 360 0 +194 361 0 +194 362 0 +194 363 0 +194 364 0 +194 365 0 +194 366 0 +194 367 0 +194 368 0 +194 369 0 +194 370 0 +194 371 0 +194 372 0 +194 373 0 +194 374 0 +194 375 0 +194 376 0 +194 377 0 +194 378 0 +194 379 0 +194 380 0 +194 381 0 +194 382 0 +194 383 0 +195 196 0 +195 197 0 +195 198 0 +195 199 0 +195 200 0 +195 201 0 +195 202 0 +195 203 0 +195 204 0 +195 205 0 +195 206 0 +195 207 0 +195 208 0 +195 209 0 +195 210 0 +195 211 0 +195 212 0 +195 213 0 +195 214 0 +195 215 0 +195 216 0 +195 217 0 +195 218 0 +195 219 0 +195 220 0 +195 221 0 +195 222 0 +195 223 0 +195 224 0 +195 225 0 +195 226 0 +195 227 0 +195 228 0 +195 229 0 +195 230 0 +195 231 0 +195 232 0 +195 233 0 +195 234 0 +195 235 0 +195 236 0 +195 237 0 +195 238 0 +195 239 0 +195 240 0 +195 241 0 +195 242 0 +195 243 0 +195 244 0 +195 245 0 +195 246 0 +195 247 0 +195 248 0 +195 249 0 +195 250 0 +195 251 0 +195 252 0 +195 253 0 +195 254 0 +195 255 0 +195 256 0 +195 257 0 +195 258 0 +195 259 0 +195 260 0 +195 261 0 +195 262 0 +195 263 0 +195 264 0 +195 265 0 +195 266 0 +195 267 0 +195 268 0 +195 269 0 +195 270 0 +195 271 0 +195 272 0 +195 273 0 +195 274 0 +195 275 0 +195 276 0 +195 277 0 +195 278 0 +195 279 0 +195 280 0 +195 281 0 +195 282 0 +195 283 0 +195 284 0 +195 285 0 +195 286 0 +195 287 0 +195 288 0 +195 289 0 +195 290 0 +195 291 0 +195 292 0 +195 293 0 +195 294 0 +195 295 0 +195 296 0 +195 297 0 +195 298 0 +195 299 0 +195 300 0 +195 301 0 +195 302 0 +195 303 0 +195 304 0 +195 305 0 +195 306 0 +195 307 0 +195 308 0 +195 309 0 +195 310 0 +195 311 0 +195 312 0 +195 313 0 +195 314 0 +195 315 0 +195 316 0 +195 317 0 +195 318 0 +195 319 0 +195 320 0 +195 321 0 +195 322 0 +195 323 0 +195 324 0 +195 325 0 +195 326 0 +195 327 0 +195 328 0 +195 329 0 +195 330 0 +195 331 0 +195 332 0 +195 333 0 +195 334 0 +195 335 0 +195 336 0 +195 337 0 +195 338 0 +195 339 0 +195 340 0 +195 341 0 +195 342 0 +195 343 0 +195 344 0 +195 345 0 +195 346 0 +195 347 0 +195 348 0 +195 349 0 +195 350 0 +195 351 0 +195 352 0 +195 353 0 +195 354 0 +195 355 0 +195 356 0 +195 357 0 +195 358 0 +195 359 0 +195 360 0 +195 361 0 +195 362 0 +195 363 0 +195 364 0 +195 365 0 +195 366 0 +195 367 0 +195 368 0 +195 369 0 +195 370 0 +195 371 0 +195 372 0 +195 373 0 +195 374 0 +195 375 0 +195 376 0 +195 377 0 +195 378 0 +195 379 0 +195 380 0 +195 381 0 +195 382 0 +195 383 0 +196 197 0 +196 198 0 +196 199 0 +196 200 0 +196 201 0 +196 202 0 +196 203 0 +196 204 0 +196 205 0 +196 206 0 +196 207 0 +196 208 0 +196 209 0 +196 210 0 +196 211 0 +196 212 0 +196 213 0 +196 214 0 +196 215 0 +196 216 0 +196 217 0 +196 218 0 +196 219 0 +196 220 0 +196 221 0 +196 222 0 +196 223 0 +196 224 0 +196 225 0 +196 226 0 +196 227 0 +196 228 0 +196 229 0 +196 230 0 +196 231 0 +196 232 0 +196 233 0 +196 234 0 +196 235 0 +196 236 0 +196 237 0 +196 238 0 +196 239 0 +196 240 0 +196 241 0 +196 242 0 +196 243 0 +196 244 0 +196 245 0 +196 246 0 +196 247 0 +196 248 0 +196 249 0 +196 250 0 +196 251 0 +196 252 0 +196 253 0 +196 254 0 +196 255 0 +196 256 0 +196 257 0 +196 258 0 +196 259 0 +196 260 0 +196 261 0 +196 262 0 +196 263 0 +196 264 0 +196 265 0 +196 266 0 +196 267 0 +196 268 0 +196 269 0 +196 270 0 +196 271 0 +196 272 0 +196 273 0 +196 274 0 +196 275 0 +196 276 0 +196 277 0 +196 278 0 +196 279 0 +196 280 0 +196 281 0 +196 282 0 +196 283 0 +196 284 0 +196 285 0 +196 286 0 +196 287 0 +196 288 0 +196 289 0 +196 290 0 +196 291 0 +196 292 0 +196 293 0 +196 294 0 +196 295 0 +196 296 0 +196 297 0 +196 298 0 +196 299 0 +196 300 0 +196 301 0 +196 302 0 +196 303 0 +196 304 0 +196 305 0 +196 306 0 +196 307 0 +196 308 0 +196 309 0 +196 310 0 +196 311 0 +196 312 0 +196 313 0 +196 314 0 +196 315 0 +196 316 0 +196 317 0 +196 318 0 +196 319 0 +196 320 0 +196 321 0 +196 322 0 +196 323 0 +196 324 0 +196 325 0 +196 326 0 +196 327 0 +196 328 0 +196 329 0 +196 330 0 +196 331 0 +196 332 0 +196 333 0 +196 334 0 +196 335 0 +196 336 0 +196 337 0 +196 338 0 +196 339 0 +196 340 0 +196 341 0 +196 342 0 +196 343 0 +196 344 0 +196 345 0 +196 346 0 +196 347 0 +196 348 0 +196 349 0 +196 350 0 +196 351 0 +196 352 0 +196 353 0 +196 354 0 +196 355 0 +196 356 0 +196 357 0 +196 358 0 +196 359 0 +196 360 0 +196 361 0 +196 362 0 +196 363 0 +196 364 0 +196 365 0 +196 366 0 +196 367 0 +196 368 0 +196 369 0 +196 370 0 +196 371 0 +196 372 0 +196 373 0 +196 374 0 +196 375 0 +196 376 0 +196 377 0 +196 378 0 +196 379 0 +196 380 0 +196 381 0 +196 382 0 +196 383 0 +197 198 0 +197 199 0 +197 200 0 +197 201 0 +197 202 0 +197 203 0 +197 204 0 +197 205 0 +197 206 0 +197 207 0 +197 208 0 +197 209 0 +197 210 0 +197 211 0 +197 212 0 +197 213 0 +197 214 0 +197 215 0 +197 216 0 +197 217 0 +197 218 0 +197 219 0 +197 220 0 +197 221 0 +197 222 0 +197 223 0 +197 224 0 +197 225 0 +197 226 0 +197 227 0 +197 228 0 +197 229 0 +197 230 0 +197 231 0 +197 232 0 +197 233 0 +197 234 0 +197 235 0 +197 236 0 +197 237 0 +197 238 0 +197 239 0 +197 240 0 +197 241 0 +197 242 0 +197 243 0 +197 244 0 +197 245 0 +197 246 0 +197 247 0 +197 248 0 +197 249 0 +197 250 0 +197 251 0 +197 252 0 +197 253 0 +197 254 0 +197 255 0 +197 256 0 +197 257 0 +197 258 0 +197 259 0 +197 260 0 +197 261 0 +197 262 0 +197 263 0 +197 264 0 +197 265 0 +197 266 0 +197 267 0 +197 268 0 +197 269 0 +197 270 0 +197 271 0 +197 272 0 +197 273 0 +197 274 0 +197 275 0 +197 276 0 +197 277 0 +197 278 0 +197 279 0 +197 280 0 +197 281 0 +197 282 0 +197 283 0 +197 284 0 +197 285 0 +197 286 0 +197 287 0 +197 288 0 +197 289 0 +197 290 0 +197 291 0 +197 292 0 +197 293 0 +197 294 0 +197 295 0 +197 296 0 +197 297 0 +197 298 0 +197 299 0 +197 300 0 +197 301 0 +197 302 0 +197 303 0 +197 304 0 +197 305 0 +197 306 0 +197 307 0 +197 308 0 +197 309 0 +197 310 0 +197 311 0 +197 312 0 +197 313 0 +197 314 0 +197 315 0 +197 316 0 +197 317 0 +197 318 0 +197 319 0 +197 320 0 +197 321 0 +197 322 0 +197 323 0 +197 324 0 +197 325 0 +197 326 0 +197 327 0 +197 328 0 +197 329 0 +197 330 0 +197 331 0 +197 332 0 +197 333 0 +197 334 0 +197 335 0 +197 336 0 +197 337 0 +197 338 0 +197 339 0 +197 340 0 +197 341 0 +197 342 0 +197 343 0 +197 344 0 +197 345 0 +197 346 0 +197 347 0 +197 348 0 +197 349 0 +197 350 0 +197 351 0 +197 352 0 +197 353 0 +197 354 0 +197 355 0 +197 356 0 +197 357 0 +197 358 0 +197 359 0 +197 360 0 +197 361 0 +197 362 0 +197 363 0 +197 364 0 +197 365 0 +197 366 0 +197 367 0 +197 368 0 +197 369 0 +197 370 0 +197 371 0 +197 372 0 +197 373 0 +197 374 0 +197 375 0 +197 376 0 +197 377 0 +197 378 0 +197 379 0 +197 380 0 +197 381 0 +197 382 0 +197 383 0 +198 199 0 +198 200 0 +198 201 0 +198 202 0 +198 203 0 +198 204 0 +198 205 0 +198 206 0 +198 207 0 +198 208 0 +198 209 0 +198 210 0 +198 211 0 +198 212 0 +198 213 0 +198 214 0 +198 215 0 +198 216 0 +198 217 0 +198 218 0 +198 219 0 +198 220 0 +198 221 0 +198 222 0 +198 223 0 +198 224 0 +198 225 0 +198 226 0 +198 227 0 +198 228 0 +198 229 0 +198 230 0 +198 231 0 +198 232 0 +198 233 0 +198 234 0 +198 235 0 +198 236 0 +198 237 0 +198 238 0 +198 239 0 +198 240 0 +198 241 0 +198 242 0 +198 243 0 +198 244 0 +198 245 0 +198 246 0 +198 247 0 +198 248 0 +198 249 0 +198 250 0 +198 251 0 +198 252 0 +198 253 0 +198 254 0 +198 255 0 +198 256 0 +198 257 0 +198 258 0 +198 259 0 +198 260 0 +198 261 0 +198 262 0 +198 263 0 +198 264 0 +198 265 0 +198 266 0 +198 267 0 +198 268 0 +198 269 0 +198 270 0 +198 271 0 +198 272 0 +198 273 0 +198 274 0 +198 275 0 +198 276 0 +198 277 0 +198 278 0 +198 279 0 +198 280 0 +198 281 0 +198 282 0 +198 283 0 +198 284 0 +198 285 0 +198 286 0 +198 287 0 +198 288 0 +198 289 0 +198 290 0 +198 291 0 +198 292 0 +198 293 0 +198 294 0 +198 295 0 +198 296 0 +198 297 0 +198 298 0 +198 299 0 +198 300 0 +198 301 0 +198 302 0 +198 303 0 +198 304 0 +198 305 0 +198 306 0 +198 307 0 +198 308 0 +198 309 0 +198 310 0 +198 311 0 +198 312 0 +198 313 0 +198 314 0 +198 315 0 +198 316 0 +198 317 0 +198 318 0 +198 319 0 +198 320 0 +198 321 0 +198 322 0 +198 323 0 +198 324 0 +198 325 0 +198 326 0 +198 327 0 +198 328 0 +198 329 0 +198 330 0 +198 331 0 +198 332 0 +198 333 0 +198 334 0 +198 335 0 +198 336 0 +198 337 0 +198 338 0 +198 339 0 +198 340 0 +198 341 0 +198 342 0 +198 343 0 +198 344 0 +198 345 0 +198 346 0 +198 347 0 +198 348 0 +198 349 0 +198 350 0 +198 351 0 +198 352 0 +198 353 0 +198 354 0 +198 355 0 +198 356 0 +198 357 0 +198 358 0 +198 359 0 +198 360 0 +198 361 0 +198 362 0 +198 363 0 +198 364 0 +198 365 0 +198 366 0 +198 367 0 +198 368 0 +198 369 0 +198 370 0 +198 371 0 +198 372 0 +198 373 0 +198 374 0 +198 375 0 +198 376 0 +198 377 0 +198 378 0 +198 379 0 +198 380 0 +198 381 0 +198 382 0 +198 383 0 +199 200 0 +199 201 0 +199 202 0 +199 203 0 +199 204 0 +199 205 0 +199 206 0 +199 207 0 +199 208 0 +199 209 0 +199 210 0 +199 211 0 +199 212 0 +199 213 0 +199 214 0 +199 215 0 +199 216 0 +199 217 0 +199 218 0 +199 219 0 +199 220 0 +199 221 0 +199 222 0 +199 223 0 +199 224 0 +199 225 0 +199 226 0 +199 227 0 +199 228 0 +199 229 0 +199 230 0 +199 231 0 +199 232 0 +199 233 0 +199 234 0 +199 235 0 +199 236 0 +199 237 0 +199 238 0 +199 239 0 +199 240 0 +199 241 0 +199 242 0 +199 243 0 +199 244 0 +199 245 0 +199 246 0 +199 247 0 +199 248 0 +199 249 0 +199 250 0 +199 251 0 +199 252 0 +199 253 0 +199 254 0 +199 255 0 +199 256 0 +199 257 0 +199 258 0 +199 259 0 +199 260 0 +199 261 0 +199 262 0 +199 263 0 +199 264 0 +199 265 0 +199 266 0 +199 267 0 +199 268 0 +199 269 0 +199 270 0 +199 271 0 +199 272 0 +199 273 0 +199 274 0 +199 275 0 +199 276 0 +199 277 0 +199 278 0 +199 279 0 +199 280 0 +199 281 0 +199 282 0 +199 283 0 +199 284 0 +199 285 0 +199 286 0 +199 287 0 +199 288 0 +199 289 0 +199 290 0 +199 291 0 +199 292 0 +199 293 0 +199 294 0 +199 295 0 +199 296 0 +199 297 0 +199 298 0 +199 299 0 +199 300 0 +199 301 0 +199 302 0 +199 303 0 +199 304 0 +199 305 0 +199 306 0 +199 307 0 +199 308 0 +199 309 0 +199 310 0 +199 311 0 +199 312 0 +199 313 0 +199 314 0 +199 315 0 +199 316 0 +199 317 0 +199 318 0 +199 319 0 +199 320 0 +199 321 0 +199 322 0 +199 323 0 +199 324 0 +199 325 0 +199 326 0 +199 327 0 +199 328 0 +199 329 0 +199 330 0 +199 331 0 +199 332 0 +199 333 0 +199 334 0 +199 335 0 +199 336 0 +199 337 0 +199 338 0 +199 339 0 +199 340 0 +199 341 0 +199 342 0 +199 343 0 +199 344 0 +199 345 0 +199 346 0 +199 347 0 +199 348 0 +199 349 0 +199 350 0 +199 351 0 +199 352 0 +199 353 0 +199 354 0 +199 355 0 +199 356 0 +199 357 0 +199 358 0 +199 359 0 +199 360 0 +199 361 0 +199 362 0 +199 363 0 +199 364 0 +199 365 0 +199 366 0 +199 367 0 +199 368 0 +199 369 0 +199 370 0 +199 371 0 +199 372 0 +199 373 0 +199 374 0 +199 375 0 +199 376 0 +199 377 0 +199 378 0 +199 379 0 +199 380 0 +199 381 0 +199 382 0 +199 383 0 +200 201 0 +200 202 0 +200 203 0 +200 204 0 +200 205 0 +200 206 0 +200 207 0 +200 208 0 +200 209 0 +200 210 0 +200 211 0 +200 212 0 +200 213 0 +200 214 0 +200 215 0 +200 216 0 +200 217 0 +200 218 0 +200 219 0 +200 220 0 +200 221 0 +200 222 0 +200 223 0 +200 224 0 +200 225 0 +200 226 0 +200 227 0 +200 228 0 +200 229 0 +200 230 0 +200 231 0 +200 232 0 +200 233 0 +200 234 0 +200 235 0 +200 236 0 +200 237 0 +200 238 0 +200 239 0 +200 240 0 +200 241 0 +200 242 0 +200 243 0 +200 244 0 +200 245 0 +200 246 0 +200 247 0 +200 248 0 +200 249 0 +200 250 0 +200 251 0 +200 252 0 +200 253 0 +200 254 0 +200 255 0 +200 256 0 +200 257 0 +200 258 0 +200 259 0 +200 260 0 +200 261 0 +200 262 0 +200 263 0 +200 264 0 +200 265 0 +200 266 0 +200 267 0 +200 268 0 +200 269 0 +200 270 0 +200 271 0 +200 272 0 +200 273 0 +200 274 0 +200 275 0 +200 276 0 +200 277 0 +200 278 0 +200 279 0 +200 280 0 +200 281 0 +200 282 0 +200 283 0 +200 284 0 +200 285 0 +200 286 0 +200 287 0 +200 288 0 +200 289 0 +200 290 0 +200 291 0 +200 292 0 +200 293 0 +200 294 0 +200 295 0 +200 296 0 +200 297 0 +200 298 0 +200 299 0 +200 300 0 +200 301 0 +200 302 0 +200 303 0 +200 304 0 +200 305 0 +200 306 0 +200 307 0 +200 308 0 +200 309 0 +200 310 0 +200 311 0 +200 312 0 +200 313 0 +200 314 0 +200 315 0 +200 316 0 +200 317 0 +200 318 0 +200 319 0 +200 320 0 +200 321 0 +200 322 0 +200 323 0 +200 324 0 +200 325 0 +200 326 0 +200 327 0 +200 328 0 +200 329 0 +200 330 0 +200 331 0 +200 332 0 +200 333 0 +200 334 0 +200 335 0 +200 336 0 +200 337 0 +200 338 0 +200 339 0 +200 340 0 +200 341 0 +200 342 0 +200 343 0 +200 344 0 +200 345 0 +200 346 0 +200 347 0 +200 348 0 +200 349 0 +200 350 0 +200 351 0 +200 352 0 +200 353 0 +200 354 0 +200 355 0 +200 356 0 +200 357 0 +200 358 0 +200 359 0 +200 360 0 +200 361 0 +200 362 0 +200 363 0 +200 364 0 +200 365 0 +200 366 0 +200 367 0 +200 368 0 +200 369 0 +200 370 0 +200 371 0 +200 372 0 +200 373 0 +200 374 0 +200 375 0 +200 376 0 +200 377 0 +200 378 0 +200 379 0 +200 380 0 +200 381 0 +200 382 0 +200 383 0 +201 202 0 +201 203 0 +201 204 0 +201 205 0 +201 206 0 +201 207 0 +201 208 0 +201 209 0 +201 210 0 +201 211 0 +201 212 0 +201 213 0 +201 214 0 +201 215 0 +201 216 0 +201 217 0 +201 218 0 +201 219 0 +201 220 0 +201 221 0 +201 222 0 +201 223 0 +201 224 0 +201 225 0 +201 226 0 +201 227 0 +201 228 0 +201 229 0 +201 230 0 +201 231 0 +201 232 0 +201 233 0 +201 234 0 +201 235 0 +201 236 0 +201 237 0 +201 238 0 +201 239 0 +201 240 0 +201 241 0 +201 242 0 +201 243 0 +201 244 0 +201 245 0 +201 246 0 +201 247 0 +201 248 0 +201 249 0 +201 250 0 +201 251 0 +201 252 0 +201 253 0 +201 254 0 +201 255 0 +201 256 0 +201 257 0 +201 258 0 +201 259 0 +201 260 0 +201 261 0 +201 262 0 +201 263 0 +201 264 0 +201 265 0 +201 266 0 +201 267 0 +201 268 0 +201 269 0 +201 270 0 +201 271 0 +201 272 0 +201 273 0 +201 274 0 +201 275 0 +201 276 0 +201 277 0 +201 278 0 +201 279 0 +201 280 0 +201 281 0 +201 282 0 +201 283 0 +201 284 0 +201 285 0 +201 286 0 +201 287 0 +201 288 0 +201 289 0 +201 290 0 +201 291 0 +201 292 0 +201 293 0 +201 294 0 +201 295 0 +201 296 0 +201 297 0 +201 298 0 +201 299 0 +201 300 0 +201 301 0 +201 302 0 +201 303 0 +201 304 0 +201 305 0 +201 306 0 +201 307 0 +201 308 0 +201 309 0 +201 310 0 +201 311 0 +201 312 0 +201 313 0 +201 314 0 +201 315 0 +201 316 0 +201 317 0 +201 318 0 +201 319 0 +201 320 0 +201 321 0 +201 322 0 +201 323 0 +201 324 0 +201 325 0 +201 326 0 +201 327 0 +201 328 0 +201 329 0 +201 330 0 +201 331 0 +201 332 0 +201 333 0 +201 334 0 +201 335 0 +201 336 0 +201 337 0 +201 338 0 +201 339 0 +201 340 0 +201 341 0 +201 342 0 +201 343 0 +201 344 0 +201 345 0 +201 346 0 +201 347 0 +201 348 0 +201 349 0 +201 350 0 +201 351 0 +201 352 0 +201 353 0 +201 354 0 +201 355 0 +201 356 0 +201 357 0 +201 358 0 +201 359 0 +201 360 0 +201 361 0 +201 362 0 +201 363 0 +201 364 0 +201 365 0 +201 366 0 +201 367 0 +201 368 0 +201 369 0 +201 370 0 +201 371 0 +201 372 0 +201 373 0 +201 374 0 +201 375 0 +201 376 0 +201 377 0 +201 378 0 +201 379 0 +201 380 0 +201 381 0 +201 382 0 +201 383 0 +202 203 0 +202 204 0 +202 205 0 +202 206 0 +202 207 0 +202 208 0 +202 209 0 +202 210 0 +202 211 0 +202 212 0 +202 213 0 +202 214 0 +202 215 0 +202 216 0 +202 217 0 +202 218 0 +202 219 0 +202 220 0 +202 221 0 +202 222 0 +202 223 0 +202 224 0 +202 225 0 +202 226 0 +202 227 0 +202 228 0 +202 229 0 +202 230 0 +202 231 0 +202 232 0 +202 233 0 +202 234 0 +202 235 0 +202 236 0 +202 237 0 +202 238 0 +202 239 0 +202 240 0 +202 241 0 +202 242 0 +202 243 0 +202 244 0 +202 245 0 +202 246 0 +202 247 0 +202 248 0 +202 249 0 +202 250 0 +202 251 0 +202 252 0 +202 253 0 +202 254 0 +202 255 0 +202 256 0 +202 257 0 +202 258 0 +202 259 0 +202 260 0 +202 261 0 +202 262 0 +202 263 0 +202 264 0 +202 265 0 +202 266 0 +202 267 0 +202 268 0 +202 269 0 +202 270 0 +202 271 0 +202 272 0 +202 273 0 +202 274 0 +202 275 0 +202 276 0 +202 277 0 +202 278 0 +202 279 0 +202 280 0 +202 281 0 +202 282 0 +202 283 0 +202 284 0 +202 285 0 +202 286 0 +202 287 0 +202 288 0 +202 289 0 +202 290 0 +202 291 0 +202 292 0 +202 293 0 +202 294 0 +202 295 0 +202 296 0 +202 297 0 +202 298 0 +202 299 0 +202 300 0 +202 301 0 +202 302 0 +202 303 0 +202 304 0 +202 305 0 +202 306 0 +202 307 0 +202 308 0 +202 309 0 +202 310 0 +202 311 0 +202 312 0 +202 313 0 +202 314 0 +202 315 0 +202 316 0 +202 317 0 +202 318 0 +202 319 0 +202 320 0 +202 321 0 +202 322 0 +202 323 0 +202 324 0 +202 325 0 +202 326 0 +202 327 0 +202 328 0 +202 329 0 +202 330 0 +202 331 0 +202 332 0 +202 333 0 +202 334 0 +202 335 0 +202 336 0 +202 337 0 +202 338 0 +202 339 0 +202 340 0 +202 341 0 +202 342 0 +202 343 0 +202 344 0 +202 345 0 +202 346 0 +202 347 0 +202 348 0 +202 349 0 +202 350 0 +202 351 0 +202 352 0 +202 353 0 +202 354 0 +202 355 0 +202 356 0 +202 357 0 +202 358 0 +202 359 0 +202 360 0 +202 361 0 +202 362 0 +202 363 0 +202 364 0 +202 365 0 +202 366 0 +202 367 0 +202 368 0 +202 369 0 +202 370 0 +202 371 0 +202 372 0 +202 373 0 +202 374 0 +202 375 0 +202 376 0 +202 377 0 +202 378 0 +202 379 0 +202 380 0 +202 381 0 +202 382 0 +202 383 0 +203 204 0 +203 205 0 +203 206 0 +203 207 0 +203 208 0 +203 209 0 +203 210 0 +203 211 0 +203 212 0 +203 213 0 +203 214 0 +203 215 0 +203 216 0 +203 217 0 +203 218 0 +203 219 0 +203 220 0 +203 221 0 +203 222 0 +203 223 0 +203 224 0 +203 225 0 +203 226 0 +203 227 0 +203 228 0 +203 229 0 +203 230 0 +203 231 0 +203 232 0 +203 233 0 +203 234 0 +203 235 0 +203 236 0 +203 237 0 +203 238 0 +203 239 0 +203 240 0 +203 241 0 +203 242 0 +203 243 0 +203 244 0 +203 245 0 +203 246 0 +203 247 0 +203 248 0 +203 249 0 +203 250 0 +203 251 0 +203 252 0 +203 253 0 +203 254 0 +203 255 0 +203 256 0 +203 257 0 +203 258 0 +203 259 0 +203 260 0 +203 261 0 +203 262 0 +203 263 0 +203 264 0 +203 265 0 +203 266 0 +203 267 0 +203 268 0 +203 269 0 +203 270 0 +203 271 0 +203 272 0 +203 273 0 +203 274 0 +203 275 0 +203 276 0 +203 277 0 +203 278 0 +203 279 0 +203 280 0 +203 281 0 +203 282 0 +203 283 0 +203 284 0 +203 285 0 +203 286 0 +203 287 0 +203 288 0 +203 289 0 +203 290 0 +203 291 0 +203 292 0 +203 293 0 +203 294 0 +203 295 0 +203 296 0 +203 297 0 +203 298 0 +203 299 0 +203 300 0 +203 301 0 +203 302 0 +203 303 0 +203 304 0 +203 305 0 +203 306 0 +203 307 0 +203 308 0 +203 309 0 +203 310 0 +203 311 0 +203 312 0 +203 313 0 +203 314 0 +203 315 0 +203 316 0 +203 317 0 +203 318 0 +203 319 0 +203 320 0 +203 321 0 +203 322 0 +203 323 0 +203 324 0 +203 325 0 +203 326 0 +203 327 0 +203 328 0 +203 329 0 +203 330 0 +203 331 0 +203 332 0 +203 333 0 +203 334 0 +203 335 0 +203 336 0 +203 337 0 +203 338 0 +203 339 0 +203 340 0 +203 341 0 +203 342 0 +203 343 0 +203 344 0 +203 345 0 +203 346 0 +203 347 0 +203 348 0 +203 349 0 +203 350 0 +203 351 0 +203 352 0 +203 353 0 +203 354 0 +203 355 0 +203 356 0 +203 357 0 +203 358 0 +203 359 0 +203 360 0 +203 361 0 +203 362 0 +203 363 0 +203 364 0 +203 365 0 +203 366 0 +203 367 0 +203 368 0 +203 369 0 +203 370 0 +203 371 0 +203 372 0 +203 373 0 +203 374 0 +203 375 0 +203 376 0 +203 377 0 +203 378 0 +203 379 0 +203 380 0 +203 381 0 +203 382 0 +203 383 0 +204 205 0 +204 206 0 +204 207 0 +204 208 0 +204 209 0 +204 210 0 +204 211 0 +204 212 0 +204 213 0 +204 214 0 +204 215 0 +204 216 0 +204 217 0 +204 218 0 +204 219 0 +204 220 0 +204 221 0 +204 222 0 +204 223 0 +204 224 0 +204 225 0 +204 226 0 +204 227 0 +204 228 0 +204 229 0 +204 230 0 +204 231 0 +204 232 0 +204 233 0 +204 234 0 +204 235 0 +204 236 0 +204 237 0 +204 238 0 +204 239 0 +204 240 0 +204 241 0 +204 242 0 +204 243 0 +204 244 0 +204 245 0 +204 246 0 +204 247 0 +204 248 0 +204 249 0 +204 250 0 +204 251 0 +204 252 0 +204 253 0 +204 254 0 +204 255 0 +204 256 0 +204 257 0 +204 258 0 +204 259 0 +204 260 0 +204 261 0 +204 262 0 +204 263 0 +204 264 0 +204 265 0 +204 266 0 +204 267 0 +204 268 0 +204 269 0 +204 270 0 +204 271 0 +204 272 0 +204 273 0 +204 274 0 +204 275 0 +204 276 0 +204 277 0 +204 278 0 +204 279 0 +204 280 0 +204 281 0 +204 282 0 +204 283 0 +204 284 0 +204 285 0 +204 286 0 +204 287 0 +204 288 0 +204 289 0 +204 290 0 +204 291 0 +204 292 0 +204 293 0 +204 294 0 +204 295 0 +204 296 0 +204 297 0 +204 298 0 +204 299 0 +204 300 0 +204 301 0 +204 302 0 +204 303 0 +204 304 0 +204 305 0 +204 306 0 +204 307 0 +204 308 0 +204 309 0 +204 310 0 +204 311 0 +204 312 0 +204 313 0 +204 314 0 +204 315 0 +204 316 0 +204 317 0 +204 318 0 +204 319 0 +204 320 0 +204 321 0 +204 322 0 +204 323 0 +204 324 0 +204 325 0 +204 326 0 +204 327 0 +204 328 0 +204 329 0 +204 330 0 +204 331 0 +204 332 0 +204 333 0 +204 334 0 +204 335 0 +204 336 0 +204 337 0 +204 338 0 +204 339 0 +204 340 0 +204 341 0 +204 342 0 +204 343 0 +204 344 0 +204 345 0 +204 346 0 +204 347 0 +204 348 0 +204 349 0 +204 350 0 +204 351 0 +204 352 0 +204 353 0 +204 354 0 +204 355 0 +204 356 0 +204 357 0 +204 358 0 +204 359 0 +204 360 0 +204 361 0 +204 362 0 +204 363 0 +204 364 0 +204 365 0 +204 366 0 +204 367 0 +204 368 0 +204 369 0 +204 370 0 +204 371 0 +204 372 0 +204 373 0 +204 374 0 +204 375 0 +204 376 0 +204 377 0 +204 378 0 +204 379 0 +204 380 0 +204 381 0 +204 382 0 +204 383 0 +205 206 0 +205 207 0 +205 208 0 +205 209 0 +205 210 0 +205 211 0 +205 212 0 +205 213 0 +205 214 0 +205 215 0 +205 216 0 +205 217 0 +205 218 0 +205 219 0 +205 220 0 +205 221 0 +205 222 0 +205 223 0 +205 224 0 +205 225 0 +205 226 0 +205 227 0 +205 228 0 +205 229 0 +205 230 0 +205 231 0 +205 232 0 +205 233 0 +205 234 0 +205 235 0 +205 236 0 +205 237 0 +205 238 0 +205 239 0 +205 240 0 +205 241 0 +205 242 0 +205 243 0 +205 244 0 +205 245 0 +205 246 0 +205 247 0 +205 248 0 +205 249 0 +205 250 0 +205 251 0 +205 252 0 +205 253 0 +205 254 0 +205 255 0 +205 256 0 +205 257 0 +205 258 0 +205 259 0 +205 260 0 +205 261 0 +205 262 0 +205 263 0 +205 264 0 +205 265 0 +205 266 0 +205 267 0 +205 268 0 +205 269 0 +205 270 0 +205 271 0 +205 272 0 +205 273 0 +205 274 0 +205 275 0 +205 276 0 +205 277 0 +205 278 0 +205 279 0 +205 280 0 +205 281 0 +205 282 0 +205 283 0 +205 284 0 +205 285 0 +205 286 0 +205 287 0 +205 288 0 +205 289 0 +205 290 0 +205 291 0 +205 292 0 +205 293 0 +205 294 0 +205 295 0 +205 296 0 +205 297 0 +205 298 0 +205 299 0 +205 300 0 +205 301 0 +205 302 0 +205 303 0 +205 304 0 +205 305 0 +205 306 0 +205 307 0 +205 308 0 +205 309 0 +205 310 0 +205 311 0 +205 312 0 +205 313 0 +205 314 0 +205 315 0 +205 316 0 +205 317 0 +205 318 0 +205 319 0 +205 320 0 +205 321 0 +205 322 0 +205 323 0 +205 324 0 +205 325 0 +205 326 0 +205 327 0 +205 328 0 +205 329 0 +205 330 0 +205 331 0 +205 332 0 +205 333 0 +205 334 0 +205 335 0 +205 336 0 +205 337 0 +205 338 0 +205 339 0 +205 340 0 +205 341 0 +205 342 0 +205 343 0 +205 344 0 +205 345 0 +205 346 0 +205 347 0 +205 348 0 +205 349 0 +205 350 0 +205 351 0 +205 352 0 +205 353 0 +205 354 0 +205 355 0 +205 356 0 +205 357 0 +205 358 0 +205 359 0 +205 360 0 +205 361 0 +205 362 0 +205 363 0 +205 364 0 +205 365 0 +205 366 0 +205 367 0 +205 368 0 +205 369 0 +205 370 0 +205 371 0 +205 372 0 +205 373 0 +205 374 0 +205 375 0 +205 376 0 +205 377 0 +205 378 0 +205 379 0 +205 380 0 +205 381 0 +205 382 0 +205 383 0 +206 207 0 +206 208 0 +206 209 0 +206 210 0 +206 211 0 +206 212 0 +206 213 0 +206 214 0 +206 215 0 +206 216 0 +206 217 0 +206 218 0 +206 219 0 +206 220 0 +206 221 0 +206 222 0 +206 223 0 +206 224 0 +206 225 0 +206 226 0 +206 227 0 +206 228 0 +206 229 0 +206 230 0 +206 231 0 +206 232 0 +206 233 0 +206 234 0 +206 235 0 +206 236 0 +206 237 0 +206 238 0 +206 239 0 +206 240 0 +206 241 0 +206 242 0 +206 243 0 +206 244 0 +206 245 0 +206 246 0 +206 247 0 +206 248 0 +206 249 0 +206 250 0 +206 251 0 +206 252 0 +206 253 0 +206 254 0 +206 255 0 +206 256 0 +206 257 0 +206 258 0 +206 259 0 +206 260 0 +206 261 0 +206 262 0 +206 263 0 +206 264 0 +206 265 0 +206 266 0 +206 267 0 +206 268 0 +206 269 0 +206 270 0 +206 271 0 +206 272 0 +206 273 0 +206 274 0 +206 275 0 +206 276 0 +206 277 0 +206 278 0 +206 279 0 +206 280 0 +206 281 0 +206 282 0 +206 283 0 +206 284 0 +206 285 0 +206 286 0 +206 287 0 +206 288 0 +206 289 0 +206 290 0 +206 291 0 +206 292 0 +206 293 0 +206 294 0 +206 295 0 +206 296 0 +206 297 0 +206 298 0 +206 299 0 +206 300 0 +206 301 0 +206 302 0 +206 303 0 +206 304 0 +206 305 0 +206 306 0 +206 307 0 +206 308 0 +206 309 0 +206 310 0 +206 311 0 +206 312 0 +206 313 0 +206 314 0 +206 315 0 +206 316 0 +206 317 0 +206 318 0 +206 319 0 +206 320 0 +206 321 0 +206 322 0 +206 323 0 +206 324 0 +206 325 0 +206 326 0 +206 327 0 +206 328 0 +206 329 0 +206 330 0 +206 331 0 +206 332 0 +206 333 0 +206 334 0 +206 335 0 +206 336 0 +206 337 0 +206 338 0 +206 339 0 +206 340 0 +206 341 0 +206 342 0 +206 343 0 +206 344 0 +206 345 0 +206 346 0 +206 347 0 +206 348 0 +206 349 0 +206 350 0 +206 351 0 +206 352 0 +206 353 0 +206 354 0 +206 355 0 +206 356 0 +206 357 0 +206 358 0 +206 359 0 +206 360 0 +206 361 0 +206 362 0 +206 363 0 +206 364 0 +206 365 0 +206 366 0 +206 367 0 +206 368 0 +206 369 0 +206 370 0 +206 371 0 +206 372 0 +206 373 0 +206 374 0 +206 375 0 +206 376 0 +206 377 0 +206 378 0 +206 379 0 +206 380 0 +206 381 0 +206 382 0 +206 383 0 +207 208 0 +207 209 0 +207 210 0 +207 211 0 +207 212 0 +207 213 0 +207 214 0 +207 215 0 +207 216 0 +207 217 0 +207 218 0 +207 219 0 +207 220 0 +207 221 0 +207 222 0 +207 223 0 +207 224 0 +207 225 0 +207 226 0 +207 227 0 +207 228 0 +207 229 0 +207 230 0 +207 231 0 +207 232 0 +207 233 0 +207 234 0 +207 235 0 +207 236 0 +207 237 0 +207 238 0 +207 239 0 +207 240 0 +207 241 0 +207 242 0 +207 243 0 +207 244 0 +207 245 0 +207 246 0 +207 247 0 +207 248 0 +207 249 0 +207 250 0 +207 251 0 +207 252 0 +207 253 0 +207 254 0 +207 255 0 +207 256 0 +207 257 0 +207 258 0 +207 259 0 +207 260 0 +207 261 0 +207 262 0 +207 263 0 +207 264 0 +207 265 0 +207 266 0 +207 267 0 +207 268 0 +207 269 0 +207 270 0 +207 271 0 +207 272 0 +207 273 0 +207 274 0 +207 275 0 +207 276 0 +207 277 0 +207 278 0 +207 279 0 +207 280 0 +207 281 0 +207 282 0 +207 283 0 +207 284 0 +207 285 0 +207 286 0 +207 287 0 +207 288 0 +207 289 0 +207 290 0 +207 291 0 +207 292 0 +207 293 0 +207 294 0 +207 295 0 +207 296 0 +207 297 0 +207 298 0 +207 299 0 +207 300 0 +207 301 0 +207 302 0 +207 303 0 +207 304 0 +207 305 0 +207 306 0 +207 307 0 +207 308 0 +207 309 0 +207 310 0 +207 311 0 +207 312 0 +207 313 0 +207 314 0 +207 315 0 +207 316 0 +207 317 0 +207 318 0 +207 319 0 +207 320 0 +207 321 0 +207 322 0 +207 323 0 +207 324 0 +207 325 0 +207 326 0 +207 327 0 +207 328 0 +207 329 0 +207 330 0 +207 331 0 +207 332 0 +207 333 0 +207 334 0 +207 335 0 +207 336 0 +207 337 0 +207 338 0 +207 339 0 +207 340 0 +207 341 0 +207 342 0 +207 343 0 +207 344 0 +207 345 0 +207 346 0 +207 347 0 +207 348 0 +207 349 0 +207 350 0 +207 351 0 +207 352 0 +207 353 0 +207 354 0 +207 355 0 +207 356 0 +207 357 0 +207 358 0 +207 359 0 +207 360 0 +207 361 0 +207 362 0 +207 363 0 +207 364 0 +207 365 0 +207 366 0 +207 367 0 +207 368 0 +207 369 0 +207 370 0 +207 371 0 +207 372 0 +207 373 0 +207 374 0 +207 375 0 +207 376 0 +207 377 0 +207 378 0 +207 379 0 +207 380 0 +207 381 0 +207 382 0 +207 383 0 +208 209 0 +208 210 0 +208 211 0 +208 212 0 +208 213 0 +208 214 0 +208 215 0 +208 216 0 +208 217 0 +208 218 0 +208 219 0 +208 220 0 +208 221 0 +208 222 0 +208 223 0 +208 224 0 +208 225 0 +208 226 0 +208 227 0 +208 228 0 +208 229 0 +208 230 0 +208 231 0 +208 232 0 +208 233 0 +208 234 0 +208 235 0 +208 236 0 +208 237 0 +208 238 0 +208 239 0 +208 240 0 +208 241 0 +208 242 0 +208 243 0 +208 244 0 +208 245 0 +208 246 0 +208 247 0 +208 248 0 +208 249 0 +208 250 0 +208 251 0 +208 252 0 +208 253 0 +208 254 0 +208 255 0 +208 256 0 +208 257 0 +208 258 0 +208 259 0 +208 260 0 +208 261 0 +208 262 0 +208 263 0 +208 264 0 +208 265 0 +208 266 0 +208 267 0 +208 268 0 +208 269 0 +208 270 0 +208 271 0 +208 272 0 +208 273 0 +208 274 0 +208 275 0 +208 276 0 +208 277 0 +208 278 0 +208 279 0 +208 280 0 +208 281 0 +208 282 0 +208 283 0 +208 284 0 +208 285 0 +208 286 0 +208 287 0 +208 288 0 +208 289 0 +208 290 0 +208 291 0 +208 292 0 +208 293 0 +208 294 0 +208 295 0 +208 296 0 +208 297 0 +208 298 0 +208 299 0 +208 300 0 +208 301 0 +208 302 0 +208 303 0 +208 304 0 +208 305 0 +208 306 0 +208 307 0 +208 308 0 +208 309 0 +208 310 0 +208 311 0 +208 312 0 +208 313 0 +208 314 0 +208 315 0 +208 316 0 +208 317 0 +208 318 0 +208 319 0 +208 320 0 +208 321 0 +208 322 0 +208 323 0 +208 324 0 +208 325 0 +208 326 0 +208 327 0 +208 328 0 +208 329 0 +208 330 0 +208 331 0 +208 332 0 +208 333 0 +208 334 0 +208 335 0 +208 336 0 +208 337 0 +208 338 0 +208 339 0 +208 340 0 +208 341 0 +208 342 0 +208 343 0 +208 344 0 +208 345 0 +208 346 0 +208 347 0 +208 348 0 +208 349 0 +208 350 0 +208 351 0 +208 352 0 +208 353 0 +208 354 0 +208 355 0 +208 356 0 +208 357 0 +208 358 0 +208 359 0 +208 360 0 +208 361 0 +208 362 0 +208 363 0 +208 364 0 +208 365 0 +208 366 0 +208 367 0 +208 368 0 +208 369 0 +208 370 0 +208 371 0 +208 372 0 +208 373 0 +208 374 0 +208 375 0 +208 376 0 +208 377 0 +208 378 0 +208 379 0 +208 380 0 +208 381 0 +208 382 0 +208 383 0 +209 210 0 +209 211 0 +209 212 0 +209 213 0 +209 214 0 +209 215 0 +209 216 0 +209 217 0 +209 218 0 +209 219 0 +209 220 0 +209 221 0 +209 222 0 +209 223 0 +209 224 0 +209 225 0 +209 226 0 +209 227 0 +209 228 0 +209 229 0 +209 230 0 +209 231 0 +209 232 0 +209 233 0 +209 234 0 +209 235 0 +209 236 0 +209 237 0 +209 238 0 +209 239 0 +209 240 0 +209 241 0 +209 242 0 +209 243 0 +209 244 0 +209 245 0 +209 246 0 +209 247 0 +209 248 0 +209 249 0 +209 250 0 +209 251 0 +209 252 0 +209 253 0 +209 254 0 +209 255 0 +209 256 0 +209 257 0 +209 258 0 +209 259 0 +209 260 0 +209 261 0 +209 262 0 +209 263 0 +209 264 0 +209 265 0 +209 266 0 +209 267 0 +209 268 0 +209 269 0 +209 270 0 +209 271 0 +209 272 0 +209 273 0 +209 274 0 +209 275 0 +209 276 0 +209 277 0 +209 278 0 +209 279 0 +209 280 0 +209 281 0 +209 282 0 +209 283 0 +209 284 0 +209 285 0 +209 286 0 +209 287 0 +209 288 0 +209 289 0 +209 290 0 +209 291 0 +209 292 0 +209 293 0 +209 294 0 +209 295 0 +209 296 0 +209 297 0 +209 298 0 +209 299 0 +209 300 0 +209 301 0 +209 302 0 +209 303 0 +209 304 0 +209 305 0 +209 306 0 +209 307 0 +209 308 0 +209 309 0 +209 310 0 +209 311 0 +209 312 0 +209 313 0 +209 314 0 +209 315 0 +209 316 0 +209 317 0 +209 318 0 +209 319 0 +209 320 0 +209 321 0 +209 322 0 +209 323 0 +209 324 0 +209 325 0 +209 326 0 +209 327 0 +209 328 0 +209 329 0 +209 330 0 +209 331 0 +209 332 0 +209 333 0 +209 334 0 +209 335 0 +209 336 0 +209 337 0 +209 338 0 +209 339 0 +209 340 0 +209 341 0 +209 342 0 +209 343 0 +209 344 0 +209 345 0 +209 346 0 +209 347 0 +209 348 0 +209 349 0 +209 350 0 +209 351 0 +209 352 0 +209 353 0 +209 354 0 +209 355 0 +209 356 0 +209 357 0 +209 358 0 +209 359 0 +209 360 0 +209 361 0 +209 362 0 +209 363 0 +209 364 0 +209 365 0 +209 366 0 +209 367 0 +209 368 0 +209 369 0 +209 370 0 +209 371 0 +209 372 0 +209 373 0 +209 374 0 +209 375 0 +209 376 0 +209 377 0 +209 378 0 +209 379 0 +209 380 0 +209 381 0 +209 382 0 +209 383 0 +210 211 0 +210 212 0 +210 213 0 +210 214 0 +210 215 0 +210 216 0 +210 217 0 +210 218 0 +210 219 0 +210 220 0 +210 221 0 +210 222 0 +210 223 0 +210 224 0 +210 225 0 +210 226 0 +210 227 0 +210 228 0 +210 229 0 +210 230 0 +210 231 0 +210 232 0 +210 233 0 +210 234 0 +210 235 0 +210 236 0 +210 237 0 +210 238 0 +210 239 0 +210 240 0 +210 241 0 +210 242 0 +210 243 0 +210 244 0 +210 245 0 +210 246 0 +210 247 0 +210 248 0 +210 249 0 +210 250 0 +210 251 0 +210 252 0 +210 253 0 +210 254 0 +210 255 0 +210 256 0 +210 257 0 +210 258 0 +210 259 0 +210 260 0 +210 261 0 +210 262 0 +210 263 0 +210 264 0 +210 265 0 +210 266 0 +210 267 0 +210 268 0 +210 269 0 +210 270 0 +210 271 0 +210 272 0 +210 273 0 +210 274 0 +210 275 0 +210 276 0 +210 277 0 +210 278 0 +210 279 0 +210 280 0 +210 281 0 +210 282 0 +210 283 0 +210 284 0 +210 285 0 +210 286 0 +210 287 0 +210 288 0 +210 289 0 +210 290 0 +210 291 0 +210 292 0 +210 293 0 +210 294 0 +210 295 0 +210 296 0 +210 297 0 +210 298 0 +210 299 0 +210 300 0 +210 301 0 +210 302 0 +210 303 0 +210 304 0 +210 305 0 +210 306 0 +210 307 0 +210 308 0 +210 309 0 +210 310 0 +210 311 0 +210 312 0 +210 313 0 +210 314 0 +210 315 0 +210 316 0 +210 317 0 +210 318 0 +210 319 0 +210 320 0 +210 321 0 +210 322 0 +210 323 0 +210 324 0 +210 325 0 +210 326 0 +210 327 0 +210 328 0 +210 329 0 +210 330 0 +210 331 0 +210 332 0 +210 333 0 +210 334 0 +210 335 0 +210 336 0 +210 337 0 +210 338 0 +210 339 0 +210 340 0 +210 341 0 +210 342 0 +210 343 0 +210 344 0 +210 345 0 +210 346 0 +210 347 0 +210 348 0 +210 349 0 +210 350 0 +210 351 0 +210 352 0 +210 353 0 +210 354 0 +210 355 0 +210 356 0 +210 357 0 +210 358 0 +210 359 0 +210 360 0 +210 361 0 +210 362 0 +210 363 0 +210 364 0 +210 365 0 +210 366 0 +210 367 0 +210 368 0 +210 369 0 +210 370 0 +210 371 0 +210 372 0 +210 373 0 +210 374 0 +210 375 0 +210 376 0 +210 377 0 +210 378 0 +210 379 0 +210 380 0 +210 381 0 +210 382 0 +210 383 0 +211 212 0 +211 213 0 +211 214 0 +211 215 0 +211 216 0 +211 217 0 +211 218 0 +211 219 0 +211 220 0 +211 221 0 +211 222 0 +211 223 0 +211 224 0 +211 225 0 +211 226 0 +211 227 0 +211 228 0 +211 229 0 +211 230 0 +211 231 0 +211 232 0 +211 233 0 +211 234 0 +211 235 0 +211 236 0 +211 237 0 +211 238 0 +211 239 0 +211 240 0 +211 241 0 +211 242 0 +211 243 0 +211 244 0 +211 245 0 +211 246 0 +211 247 0 +211 248 0 +211 249 0 +211 250 0 +211 251 0 +211 252 0 +211 253 0 +211 254 0 +211 255 0 +211 256 0 +211 257 0 +211 258 0 +211 259 0 +211 260 0 +211 261 0 +211 262 0 +211 263 0 +211 264 0 +211 265 0 +211 266 0 +211 267 0 +211 268 0 +211 269 0 +211 270 0 +211 271 0 +211 272 0 +211 273 0 +211 274 0 +211 275 0 +211 276 0 +211 277 0 +211 278 0 +211 279 0 +211 280 0 +211 281 0 +211 282 0 +211 283 0 +211 284 0 +211 285 0 +211 286 0 +211 287 0 +211 288 0 +211 289 0 +211 290 0 +211 291 0 +211 292 0 +211 293 0 +211 294 0 +211 295 0 +211 296 0 +211 297 0 +211 298 0 +211 299 0 +211 300 0 +211 301 0 +211 302 0 +211 303 0 +211 304 0 +211 305 0 +211 306 0 +211 307 0 +211 308 0 +211 309 0 +211 310 0 +211 311 0 +211 312 0 +211 313 0 +211 314 0 +211 315 0 +211 316 0 +211 317 0 +211 318 0 +211 319 0 +211 320 0 +211 321 0 +211 322 0 +211 323 0 +211 324 0 +211 325 0 +211 326 0 +211 327 0 +211 328 0 +211 329 0 +211 330 0 +211 331 0 +211 332 0 +211 333 0 +211 334 0 +211 335 0 +211 336 0 +211 337 0 +211 338 0 +211 339 0 +211 340 0 +211 341 0 +211 342 0 +211 343 0 +211 344 0 +211 345 0 +211 346 0 +211 347 0 +211 348 0 +211 349 0 +211 350 0 +211 351 0 +211 352 0 +211 353 0 +211 354 0 +211 355 0 +211 356 0 +211 357 0 +211 358 0 +211 359 0 +211 360 0 +211 361 0 +211 362 0 +211 363 0 +211 364 0 +211 365 0 +211 366 0 +211 367 0 +211 368 0 +211 369 0 +211 370 0 +211 371 0 +211 372 0 +211 373 0 +211 374 0 +211 375 0 +211 376 0 +211 377 0 +211 378 0 +211 379 0 +211 380 0 +211 381 0 +211 382 0 +211 383 0 +212 213 0 +212 214 0 +212 215 0 +212 216 0 +212 217 0 +212 218 0 +212 219 0 +212 220 0 +212 221 0 +212 222 0 +212 223 0 +212 224 0 +212 225 0 +212 226 0 +212 227 0 +212 228 0 +212 229 0 +212 230 0 +212 231 0 +212 232 0 +212 233 0 +212 234 0 +212 235 0 +212 236 0 +212 237 0 +212 238 0 +212 239 0 +212 240 0 +212 241 0 +212 242 0 +212 243 0 +212 244 0 +212 245 0 +212 246 0 +212 247 0 +212 248 0 +212 249 0 +212 250 0 +212 251 0 +212 252 0 +212 253 0 +212 254 0 +212 255 0 +212 256 0 +212 257 0 +212 258 0 +212 259 0 +212 260 0 +212 261 0 +212 262 0 +212 263 0 +212 264 0 +212 265 0 +212 266 0 +212 267 0 +212 268 0 +212 269 0 +212 270 0 +212 271 0 +212 272 0 +212 273 0 +212 274 0 +212 275 0 +212 276 0 +212 277 0 +212 278 0 +212 279 0 +212 280 0 +212 281 0 +212 282 0 +212 283 0 +212 284 0 +212 285 0 +212 286 0 +212 287 0 +212 288 0 +212 289 0 +212 290 0 +212 291 0 +212 292 0 +212 293 0 +212 294 0 +212 295 0 +212 296 0 +212 297 0 +212 298 0 +212 299 0 +212 300 0 +212 301 0 +212 302 0 +212 303 0 +212 304 0 +212 305 0 +212 306 0 +212 307 0 +212 308 0 +212 309 0 +212 310 0 +212 311 0 +212 312 0 +212 313 0 +212 314 0 +212 315 0 +212 316 0 +212 317 0 +212 318 0 +212 319 0 +212 320 0 +212 321 0 +212 322 0 +212 323 0 +212 324 0 +212 325 0 +212 326 0 +212 327 0 +212 328 0 +212 329 0 +212 330 0 +212 331 0 +212 332 0 +212 333 0 +212 334 0 +212 335 0 +212 336 0 +212 337 0 +212 338 0 +212 339 0 +212 340 0 +212 341 0 +212 342 0 +212 343 0 +212 344 0 +212 345 0 +212 346 0 +212 347 0 +212 348 0 +212 349 0 +212 350 0 +212 351 0 +212 352 0 +212 353 0 +212 354 0 +212 355 0 +212 356 0 +212 357 0 +212 358 0 +212 359 0 +212 360 0 +212 361 0 +212 362 0 +212 363 0 +212 364 0 +212 365 0 +212 366 0 +212 367 0 +212 368 0 +212 369 0 +212 370 0 +212 371 0 +212 372 0 +212 373 0 +212 374 0 +212 375 0 +212 376 0 +212 377 0 +212 378 0 +212 379 0 +212 380 0 +212 381 0 +212 382 0 +212 383 0 +213 214 0 +213 215 0 +213 216 0 +213 217 0 +213 218 0 +213 219 0 +213 220 0 +213 221 0 +213 222 0 +213 223 0 +213 224 0 +213 225 0 +213 226 0 +213 227 0 +213 228 0 +213 229 0 +213 230 0 +213 231 0 +213 232 0 +213 233 0 +213 234 0 +213 235 0 +213 236 0 +213 237 0 +213 238 0 +213 239 0 +213 240 0 +213 241 0 +213 242 0 +213 243 0 +213 244 0 +213 245 0 +213 246 0 +213 247 0 +213 248 0 +213 249 0 +213 250 0 +213 251 0 +213 252 0 +213 253 0 +213 254 0 +213 255 0 +213 256 0 +213 257 0 +213 258 0 +213 259 0 +213 260 0 +213 261 0 +213 262 0 +213 263 0 +213 264 0 +213 265 0 +213 266 0 +213 267 0 +213 268 0 +213 269 0 +213 270 0 +213 271 0 +213 272 0 +213 273 0 +213 274 0 +213 275 0 +213 276 0 +213 277 0 +213 278 0 +213 279 0 +213 280 0 +213 281 0 +213 282 0 +213 283 0 +213 284 0 +213 285 0 +213 286 0 +213 287 0 +213 288 0 +213 289 0 +213 290 0 +213 291 0 +213 292 0 +213 293 0 +213 294 0 +213 295 0 +213 296 0 +213 297 0 +213 298 0 +213 299 0 +213 300 0 +213 301 0 +213 302 0 +213 303 0 +213 304 0 +213 305 0 +213 306 0 +213 307 0 +213 308 0 +213 309 0 +213 310 0 +213 311 0 +213 312 0 +213 313 0 +213 314 0 +213 315 0 +213 316 0 +213 317 0 +213 318 0 +213 319 0 +213 320 0 +213 321 0 +213 322 0 +213 323 0 +213 324 0 +213 325 0 +213 326 0 +213 327 0 +213 328 0 +213 329 0 +213 330 0 +213 331 0 +213 332 0 +213 333 0 +213 334 0 +213 335 0 +213 336 0 +213 337 0 +213 338 0 +213 339 0 +213 340 0 +213 341 0 +213 342 0 +213 343 0 +213 344 0 +213 345 0 +213 346 0 +213 347 0 +213 348 0 +213 349 0 +213 350 0 +213 351 0 +213 352 0 +213 353 0 +213 354 0 +213 355 0 +213 356 0 +213 357 0 +213 358 0 +213 359 0 +213 360 0 +213 361 0 +213 362 0 +213 363 0 +213 364 0 +213 365 0 +213 366 0 +213 367 0 +213 368 0 +213 369 0 +213 370 0 +213 371 0 +213 372 0 +213 373 0 +213 374 0 +213 375 0 +213 376 0 +213 377 0 +213 378 0 +213 379 0 +213 380 0 +213 381 0 +213 382 0 +213 383 0 +214 215 0 +214 216 0 +214 217 0 +214 218 0 +214 219 0 +214 220 0 +214 221 0 +214 222 0 +214 223 0 +214 224 0 +214 225 0 +214 226 0 +214 227 0 +214 228 0 +214 229 0 +214 230 0 +214 231 0 +214 232 0 +214 233 0 +214 234 0 +214 235 0 +214 236 0 +214 237 0 +214 238 0 +214 239 0 +214 240 0 +214 241 0 +214 242 0 +214 243 0 +214 244 0 +214 245 0 +214 246 0 +214 247 0 +214 248 0 +214 249 0 +214 250 0 +214 251 0 +214 252 0 +214 253 0 +214 254 0 +214 255 0 +214 256 0 +214 257 0 +214 258 0 +214 259 0 +214 260 0 +214 261 0 +214 262 0 +214 263 0 +214 264 0 +214 265 0 +214 266 0 +214 267 0 +214 268 0 +214 269 0 +214 270 0 +214 271 0 +214 272 0 +214 273 0 +214 274 0 +214 275 0 +214 276 0 +214 277 0 +214 278 0 +214 279 0 +214 280 0 +214 281 0 +214 282 0 +214 283 0 +214 284 0 +214 285 0 +214 286 0 +214 287 0 +214 288 0 +214 289 0 +214 290 0 +214 291 0 +214 292 0 +214 293 0 +214 294 0 +214 295 0 +214 296 0 +214 297 0 +214 298 0 +214 299 0 +214 300 0 +214 301 0 +214 302 0 +214 303 0 +214 304 0 +214 305 0 +214 306 0 +214 307 0 +214 308 0 +214 309 0 +214 310 0 +214 311 0 +214 312 0 +214 313 0 +214 314 0 +214 315 0 +214 316 0 +214 317 0 +214 318 0 +214 319 0 +214 320 0 +214 321 0 +214 322 0 +214 323 0 +214 324 0 +214 325 0 +214 326 0 +214 327 0 +214 328 0 +214 329 0 +214 330 0 +214 331 0 +214 332 0 +214 333 0 +214 334 0 +214 335 0 +214 336 0 +214 337 0 +214 338 0 +214 339 0 +214 340 0 +214 341 0 +214 342 0 +214 343 0 +214 344 0 +214 345 0 +214 346 0 +214 347 0 +214 348 0 +214 349 0 +214 350 0 +214 351 0 +214 352 0 +214 353 0 +214 354 0 +214 355 0 +214 356 0 +214 357 0 +214 358 0 +214 359 0 +214 360 0 +214 361 0 +214 362 0 +214 363 0 +214 364 0 +214 365 0 +214 366 0 +214 367 0 +214 368 0 +214 369 0 +214 370 0 +214 371 0 +214 372 0 +214 373 0 +214 374 0 +214 375 0 +214 376 0 +214 377 0 +214 378 0 +214 379 0 +214 380 0 +214 381 0 +214 382 0 +214 383 0 +215 216 0 +215 217 0 +215 218 0 +215 219 0 +215 220 0 +215 221 0 +215 222 0 +215 223 0 +215 224 0 +215 225 0 +215 226 0 +215 227 0 +215 228 0 +215 229 0 +215 230 0 +215 231 0 +215 232 0 +215 233 0 +215 234 0 +215 235 0 +215 236 0 +215 237 0 +215 238 0 +215 239 0 +215 240 0 +215 241 0 +215 242 0 +215 243 0 +215 244 0 +215 245 0 +215 246 0 +215 247 0 +215 248 0 +215 249 0 +215 250 0 +215 251 0 +215 252 0 +215 253 0 +215 254 0 +215 255 0 +215 256 0 +215 257 0 +215 258 0 +215 259 0 +215 260 0 +215 261 0 +215 262 0 +215 263 0 +215 264 0 +215 265 0 +215 266 0 +215 267 0 +215 268 0 +215 269 0 +215 270 0 +215 271 0 +215 272 0 +215 273 0 +215 274 0 +215 275 0 +215 276 0 +215 277 0 +215 278 0 +215 279 0 +215 280 0 +215 281 0 +215 282 0 +215 283 0 +215 284 0 +215 285 0 +215 286 0 +215 287 0 +215 288 0 +215 289 0 +215 290 0 +215 291 0 +215 292 0 +215 293 0 +215 294 0 +215 295 0 +215 296 0 +215 297 0 +215 298 0 +215 299 0 +215 300 0 +215 301 0 +215 302 0 +215 303 0 +215 304 0 +215 305 0 +215 306 0 +215 307 0 +215 308 0 +215 309 0 +215 310 0 +215 311 0 +215 312 0 +215 313 0 +215 314 0 +215 315 0 +215 316 0 +215 317 0 +215 318 0 +215 319 0 +215 320 0 +215 321 0 +215 322 0 +215 323 0 +215 324 0 +215 325 0 +215 326 0 +215 327 0 +215 328 0 +215 329 0 +215 330 0 +215 331 0 +215 332 0 +215 333 0 +215 334 0 +215 335 0 +215 336 0 +215 337 0 +215 338 0 +215 339 0 +215 340 0 +215 341 0 +215 342 0 +215 343 0 +215 344 0 +215 345 0 +215 346 0 +215 347 0 +215 348 0 +215 349 0 +215 350 0 +215 351 0 +215 352 0 +215 353 0 +215 354 0 +215 355 0 +215 356 0 +215 357 0 +215 358 0 +215 359 0 +215 360 0 +215 361 0 +215 362 0 +215 363 0 +215 364 0 +215 365 0 +215 366 0 +215 367 0 +215 368 0 +215 369 0 +215 370 0 +215 371 0 +215 372 0 +215 373 0 +215 374 0 +215 375 0 +215 376 0 +215 377 0 +215 378 0 +215 379 0 +215 380 0 +215 381 0 +215 382 0 +215 383 0 +216 217 0 +216 218 0 +216 219 0 +216 220 0 +216 221 0 +216 222 0 +216 223 0 +216 224 0 +216 225 0 +216 226 0 +216 227 0 +216 228 0 +216 229 0 +216 230 0 +216 231 0 +216 232 0 +216 233 0 +216 234 0 +216 235 0 +216 236 0 +216 237 0 +216 238 0 +216 239 0 +216 240 0 +216 241 0 +216 242 0 +216 243 0 +216 244 0 +216 245 0 +216 246 0 +216 247 0 +216 248 0 +216 249 0 +216 250 0 +216 251 0 +216 252 0 +216 253 0 +216 254 0 +216 255 0 +216 256 0 +216 257 0 +216 258 0 +216 259 0 +216 260 0 +216 261 0 +216 262 0 +216 263 0 +216 264 0 +216 265 0 +216 266 0 +216 267 0 +216 268 0 +216 269 0 +216 270 0 +216 271 0 +216 272 0 +216 273 0 +216 274 0 +216 275 0 +216 276 0 +216 277 0 +216 278 0 +216 279 0 +216 280 0 +216 281 0 +216 282 0 +216 283 0 +216 284 0 +216 285 0 +216 286 0 +216 287 0 +216 288 0 +216 289 0 +216 290 0 +216 291 0 +216 292 0 +216 293 0 +216 294 0 +216 295 0 +216 296 0 +216 297 0 +216 298 0 +216 299 0 +216 300 0 +216 301 0 +216 302 0 +216 303 0 +216 304 0 +216 305 0 +216 306 0 +216 307 0 +216 308 0 +216 309 0 +216 310 0 +216 311 0 +216 312 0 +216 313 0 +216 314 0 +216 315 0 +216 316 0 +216 317 0 +216 318 0 +216 319 0 +216 320 0 +216 321 0 +216 322 0 +216 323 0 +216 324 0 +216 325 0 +216 326 0 +216 327 0 +216 328 0 +216 329 0 +216 330 0 +216 331 0 +216 332 0 +216 333 0 +216 334 0 +216 335 0 +216 336 0 +216 337 0 +216 338 0 +216 339 0 +216 340 0 +216 341 0 +216 342 0 +216 343 0 +216 344 0 +216 345 0 +216 346 0 +216 347 0 +216 348 0 +216 349 0 +216 350 0 +216 351 0 +216 352 0 +216 353 0 +216 354 0 +216 355 0 +216 356 0 +216 357 0 +216 358 0 +216 359 0 +216 360 0 +216 361 0 +216 362 0 +216 363 0 +216 364 0 +216 365 0 +216 366 0 +216 367 0 +216 368 0 +216 369 0 +216 370 0 +216 371 0 +216 372 0 +216 373 0 +216 374 0 +216 375 0 +216 376 0 +216 377 0 +216 378 0 +216 379 0 +216 380 0 +216 381 0 +216 382 0 +216 383 0 +217 218 0 +217 219 0 +217 220 0 +217 221 0 +217 222 0 +217 223 0 +217 224 0 +217 225 0 +217 226 0 +217 227 0 +217 228 0 +217 229 0 +217 230 0 +217 231 0 +217 232 0 +217 233 0 +217 234 0 +217 235 0 +217 236 0 +217 237 0 +217 238 0 +217 239 0 +217 240 0 +217 241 0 +217 242 0 +217 243 0 +217 244 0 +217 245 0 +217 246 0 +217 247 0 +217 248 0 +217 249 0 +217 250 0 +217 251 0 +217 252 0 +217 253 0 +217 254 0 +217 255 0 +217 256 0 +217 257 0 +217 258 0 +217 259 0 +217 260 0 +217 261 0 +217 262 0 +217 263 0 +217 264 0 +217 265 0 +217 266 0 +217 267 0 +217 268 0 +217 269 0 +217 270 0 +217 271 0 +217 272 0 +217 273 0 +217 274 0 +217 275 0 +217 276 0 +217 277 0 +217 278 0 +217 279 0 +217 280 0 +217 281 0 +217 282 0 +217 283 0 +217 284 0 +217 285 0 +217 286 0 +217 287 0 +217 288 0 +217 289 0 +217 290 0 +217 291 0 +217 292 0 +217 293 0 +217 294 0 +217 295 0 +217 296 0 +217 297 0 +217 298 0 +217 299 0 +217 300 0 +217 301 0 +217 302 0 +217 303 0 +217 304 0 +217 305 0 +217 306 0 +217 307 0 +217 308 0 +217 309 0 +217 310 0 +217 311 0 +217 312 0 +217 313 0 +217 314 0 +217 315 0 +217 316 0 +217 317 0 +217 318 0 +217 319 0 +217 320 0 +217 321 0 +217 322 0 +217 323 0 +217 324 0 +217 325 0 +217 326 0 +217 327 0 +217 328 0 +217 329 0 +217 330 0 +217 331 0 +217 332 0 +217 333 0 +217 334 0 +217 335 0 +217 336 0 +217 337 0 +217 338 0 +217 339 0 +217 340 0 +217 341 0 +217 342 0 +217 343 0 +217 344 0 +217 345 0 +217 346 0 +217 347 0 +217 348 0 +217 349 0 +217 350 0 +217 351 0 +217 352 0 +217 353 0 +217 354 0 +217 355 0 +217 356 0 +217 357 0 +217 358 0 +217 359 0 +217 360 0 +217 361 0 +217 362 0 +217 363 0 +217 364 0 +217 365 0 +217 366 0 +217 367 0 +217 368 0 +217 369 0 +217 370 0 +217 371 0 +217 372 0 +217 373 0 +217 374 0 +217 375 0 +217 376 0 +217 377 0 +217 378 0 +217 379 0 +217 380 0 +217 381 0 +217 382 0 +217 383 0 +218 219 0 +218 220 0 +218 221 0 +218 222 0 +218 223 0 +218 224 0 +218 225 0 +218 226 0 +218 227 0 +218 228 0 +218 229 0 +218 230 0 +218 231 0 +218 232 0 +218 233 0 +218 234 0 +218 235 0 +218 236 0 +218 237 0 +218 238 0 +218 239 0 +218 240 0 +218 241 0 +218 242 0 +218 243 0 +218 244 0 +218 245 0 +218 246 0 +218 247 0 +218 248 0 +218 249 0 +218 250 0 +218 251 0 +218 252 0 +218 253 0 +218 254 0 +218 255 0 +218 256 0 +218 257 0 +218 258 0 +218 259 0 +218 260 0 +218 261 0 +218 262 0 +218 263 0 +218 264 0 +218 265 0 +218 266 0 +218 267 0 +218 268 0 +218 269 0 +218 270 0 +218 271 0 +218 272 0 +218 273 0 +218 274 0 +218 275 0 +218 276 0 +218 277 0 +218 278 0 +218 279 0 +218 280 0 +218 281 0 +218 282 0 +218 283 0 +218 284 0 +218 285 0 +218 286 0 +218 287 0 +218 288 0 +218 289 0 +218 290 0 +218 291 0 +218 292 0 +218 293 0 +218 294 0 +218 295 0 +218 296 0 +218 297 0 +218 298 0 +218 299 0 +218 300 0 +218 301 0 +218 302 0 +218 303 0 +218 304 0 +218 305 0 +218 306 0 +218 307 0 +218 308 0 +218 309 0 +218 310 0 +218 311 0 +218 312 0 +218 313 0 +218 314 0 +218 315 0 +218 316 0 +218 317 0 +218 318 0 +218 319 0 +218 320 0 +218 321 0 +218 322 0 +218 323 0 +218 324 0 +218 325 0 +218 326 0 +218 327 0 +218 328 0 +218 329 0 +218 330 0 +218 331 0 +218 332 0 +218 333 0 +218 334 0 +218 335 0 +218 336 0 +218 337 0 +218 338 0 +218 339 0 +218 340 0 +218 341 0 +218 342 0 +218 343 0 +218 344 0 +218 345 0 +218 346 0 +218 347 0 +218 348 0 +218 349 0 +218 350 0 +218 351 0 +218 352 0 +218 353 0 +218 354 0 +218 355 0 +218 356 0 +218 357 0 +218 358 0 +218 359 0 +218 360 0 +218 361 0 +218 362 0 +218 363 0 +218 364 0 +218 365 0 +218 366 0 +218 367 0 +218 368 0 +218 369 0 +218 370 0 +218 371 0 +218 372 0 +218 373 0 +218 374 0 +218 375 0 +218 376 0 +218 377 0 +218 378 0 +218 379 0 +218 380 0 +218 381 0 +218 382 0 +218 383 0 +219 220 0 +219 221 0 +219 222 0 +219 223 0 +219 224 0 +219 225 0 +219 226 0 +219 227 0 +219 228 0 +219 229 0 +219 230 0 +219 231 0 +219 232 0 +219 233 0 +219 234 0 +219 235 0 +219 236 0 +219 237 0 +219 238 0 +219 239 0 +219 240 0 +219 241 0 +219 242 0 +219 243 0 +219 244 0 +219 245 0 +219 246 0 +219 247 0 +219 248 0 +219 249 0 +219 250 0 +219 251 0 +219 252 0 +219 253 0 +219 254 0 +219 255 0 +219 256 0 +219 257 0 +219 258 0 +219 259 0 +219 260 0 +219 261 0 +219 262 0 +219 263 0 +219 264 0 +219 265 0 +219 266 0 +219 267 0 +219 268 0 +219 269 0 +219 270 0 +219 271 0 +219 272 0 +219 273 0 +219 274 0 +219 275 0 +219 276 0 +219 277 0 +219 278 0 +219 279 0 +219 280 0 +219 281 0 +219 282 0 +219 283 0 +219 284 0 +219 285 0 +219 286 0 +219 287 0 +219 288 0 +219 289 0 +219 290 0 +219 291 0 +219 292 0 +219 293 0 +219 294 0 +219 295 0 +219 296 0 +219 297 0 +219 298 0 +219 299 0 +219 300 0 +219 301 0 +219 302 0 +219 303 0 +219 304 0 +219 305 0 +219 306 0 +219 307 0 +219 308 0 +219 309 0 +219 310 0 +219 311 0 +219 312 0 +219 313 0 +219 314 0 +219 315 0 +219 316 0 +219 317 0 +219 318 0 +219 319 0 +219 320 0 +219 321 0 +219 322 0 +219 323 0 +219 324 0 +219 325 0 +219 326 0 +219 327 0 +219 328 0 +219 329 0 +219 330 0 +219 331 0 +219 332 0 +219 333 0 +219 334 0 +219 335 0 +219 336 0 +219 337 0 +219 338 0 +219 339 0 +219 340 0 +219 341 0 +219 342 0 +219 343 0 +219 344 0 +219 345 0 +219 346 0 +219 347 0 +219 348 0 +219 349 0 +219 350 0 +219 351 0 +219 352 0 +219 353 0 +219 354 0 +219 355 0 +219 356 0 +219 357 0 +219 358 0 +219 359 0 +219 360 0 +219 361 0 +219 362 0 +219 363 0 +219 364 0 +219 365 0 +219 366 0 +219 367 0 +219 368 0 +219 369 0 +219 370 0 +219 371 0 +219 372 0 +219 373 0 +219 374 0 +219 375 0 +219 376 0 +219 377 0 +219 378 0 +219 379 0 +219 380 0 +219 381 0 +219 382 0 +219 383 0 +220 221 0 +220 222 0 +220 223 0 +220 224 0 +220 225 0 +220 226 0 +220 227 0 +220 228 0 +220 229 0 +220 230 0 +220 231 0 +220 232 0 +220 233 0 +220 234 0 +220 235 0 +220 236 0 +220 237 0 +220 238 0 +220 239 0 +220 240 0 +220 241 0 +220 242 0 +220 243 0 +220 244 0 +220 245 0 +220 246 0 +220 247 0 +220 248 0 +220 249 0 +220 250 0 +220 251 0 +220 252 0 +220 253 0 +220 254 0 +220 255 0 +220 256 0 +220 257 0 +220 258 0 +220 259 0 +220 260 0 +220 261 0 +220 262 0 +220 263 0 +220 264 0 +220 265 0 +220 266 0 +220 267 0 +220 268 0 +220 269 0 +220 270 0 +220 271 0 +220 272 0 +220 273 0 +220 274 0 +220 275 0 +220 276 0 +220 277 0 +220 278 0 +220 279 0 +220 280 0 +220 281 0 +220 282 0 +220 283 0 +220 284 0 +220 285 0 +220 286 0 +220 287 0 +220 288 0 +220 289 0 +220 290 0 +220 291 0 +220 292 0 +220 293 0 +220 294 0 +220 295 0 +220 296 0 +220 297 0 +220 298 0 +220 299 0 +220 300 0 +220 301 0 +220 302 0 +220 303 0 +220 304 0 +220 305 0 +220 306 0 +220 307 0 +220 308 0 +220 309 0 +220 310 0 +220 311 0 +220 312 0 +220 313 0 +220 314 0 +220 315 0 +220 316 0 +220 317 0 +220 318 0 +220 319 0 +220 320 0 +220 321 0 +220 322 0 +220 323 0 +220 324 0 +220 325 0 +220 326 0 +220 327 0 +220 328 0 +220 329 0 +220 330 0 +220 331 0 +220 332 0 +220 333 0 +220 334 0 +220 335 0 +220 336 0 +220 337 0 +220 338 0 +220 339 0 +220 340 0 +220 341 0 +220 342 0 +220 343 0 +220 344 0 +220 345 0 +220 346 0 +220 347 0 +220 348 0 +220 349 0 +220 350 0 +220 351 0 +220 352 0 +220 353 0 +220 354 0 +220 355 0 +220 356 0 +220 357 0 +220 358 0 +220 359 0 +220 360 0 +220 361 0 +220 362 0 +220 363 0 +220 364 0 +220 365 0 +220 366 0 +220 367 0 +220 368 0 +220 369 0 +220 370 0 +220 371 0 +220 372 0 +220 373 0 +220 374 0 +220 375 0 +220 376 0 +220 377 0 +220 378 0 +220 379 0 +220 380 0 +220 381 0 +220 382 0 +220 383 0 +221 222 0 +221 223 0 +221 224 0 +221 225 0 +221 226 0 +221 227 0 +221 228 0 +221 229 0 +221 230 0 +221 231 0 +221 232 0 +221 233 0 +221 234 0 +221 235 0 +221 236 0 +221 237 0 +221 238 0 +221 239 0 +221 240 0 +221 241 0 +221 242 0 +221 243 0 +221 244 0 +221 245 0 +221 246 0 +221 247 0 +221 248 0 +221 249 0 +221 250 0 +221 251 0 +221 252 0 +221 253 0 +221 254 0 +221 255 0 +221 256 0 +221 257 0 +221 258 0 +221 259 0 +221 260 0 +221 261 0 +221 262 0 +221 263 0 +221 264 0 +221 265 0 +221 266 0 +221 267 0 +221 268 0 +221 269 0 +221 270 0 +221 271 0 +221 272 0 +221 273 0 +221 274 0 +221 275 0 +221 276 0 +221 277 0 +221 278 0 +221 279 0 +221 280 0 +221 281 0 +221 282 0 +221 283 0 +221 284 0 +221 285 0 +221 286 0 +221 287 0 +221 288 0 +221 289 0 +221 290 0 +221 291 0 +221 292 0 +221 293 0 +221 294 0 +221 295 0 +221 296 0 +221 297 0 +221 298 0 +221 299 0 +221 300 0 +221 301 0 +221 302 0 +221 303 0 +221 304 0 +221 305 0 +221 306 0 +221 307 0 +221 308 0 +221 309 0 +221 310 0 +221 311 0 +221 312 0 +221 313 0 +221 314 0 +221 315 0 +221 316 0 +221 317 0 +221 318 0 +221 319 0 +221 320 0 +221 321 0 +221 322 0 +221 323 0 +221 324 0 +221 325 0 +221 326 0 +221 327 0 +221 328 0 +221 329 0 +221 330 0 +221 331 0 +221 332 0 +221 333 0 +221 334 0 +221 335 0 +221 336 0 +221 337 0 +221 338 0 +221 339 0 +221 340 0 +221 341 0 +221 342 0 +221 343 0 +221 344 0 +221 345 0 +221 346 0 +221 347 0 +221 348 0 +221 349 0 +221 350 0 +221 351 0 +221 352 0 +221 353 0 +221 354 0 +221 355 0 +221 356 0 +221 357 0 +221 358 0 +221 359 0 +221 360 0 +221 361 0 +221 362 0 +221 363 0 +221 364 0 +221 365 0 +221 366 0 +221 367 0 +221 368 0 +221 369 0 +221 370 0 +221 371 0 +221 372 0 +221 373 0 +221 374 0 +221 375 0 +221 376 0 +221 377 0 +221 378 0 +221 379 0 +221 380 0 +221 381 0 +221 382 0 +221 383 0 +222 223 0 +222 224 0 +222 225 0 +222 226 0 +222 227 0 +222 228 0 +222 229 0 +222 230 0 +222 231 0 +222 232 0 +222 233 0 +222 234 0 +222 235 0 +222 236 0 +222 237 0 +222 238 0 +222 239 0 +222 240 0 +222 241 0 +222 242 0 +222 243 0 +222 244 0 +222 245 0 +222 246 0 +222 247 0 +222 248 0 +222 249 0 +222 250 0 +222 251 0 +222 252 0 +222 253 0 +222 254 0 +222 255 0 +222 256 0 +222 257 0 +222 258 0 +222 259 0 +222 260 0 +222 261 0 +222 262 0 +222 263 0 +222 264 0 +222 265 0 +222 266 0 +222 267 0 +222 268 0 +222 269 0 +222 270 0 +222 271 0 +222 272 0 +222 273 0 +222 274 0 +222 275 0 +222 276 0 +222 277 0 +222 278 0 +222 279 0 +222 280 0 +222 281 0 +222 282 0 +222 283 0 +222 284 0 +222 285 0 +222 286 0 +222 287 0 +222 288 0 +222 289 0 +222 290 0 +222 291 0 +222 292 0 +222 293 0 +222 294 0 +222 295 0 +222 296 0 +222 297 0 +222 298 0 +222 299 0 +222 300 0 +222 301 0 +222 302 0 +222 303 0 +222 304 0 +222 305 0 +222 306 0 +222 307 0 +222 308 0 +222 309 0 +222 310 0 +222 311 0 +222 312 0 +222 313 0 +222 314 0 +222 315 0 +222 316 0 +222 317 0 +222 318 0 +222 319 0 +222 320 0 +222 321 0 +222 322 0 +222 323 0 +222 324 0 +222 325 0 +222 326 0 +222 327 0 +222 328 0 +222 329 0 +222 330 0 +222 331 0 +222 332 0 +222 333 0 +222 334 0 +222 335 0 +222 336 0 +222 337 0 +222 338 0 +222 339 0 +222 340 0 +222 341 0 +222 342 0 +222 343 0 +222 344 0 +222 345 0 +222 346 0 +222 347 0 +222 348 0 +222 349 0 +222 350 0 +222 351 0 +222 352 0 +222 353 0 +222 354 0 +222 355 0 +222 356 0 +222 357 0 +222 358 0 +222 359 0 +222 360 0 +222 361 0 +222 362 0 +222 363 0 +222 364 0 +222 365 0 +222 366 0 +222 367 0 +222 368 0 +222 369 0 +222 370 0 +222 371 0 +222 372 0 +222 373 0 +222 374 0 +222 375 0 +222 376 0 +222 377 0 +222 378 0 +222 379 0 +222 380 0 +222 381 0 +222 382 0 +222 383 0 +223 224 0 +223 225 0 +223 226 0 +223 227 0 +223 228 0 +223 229 0 +223 230 0 +223 231 0 +223 232 0 +223 233 0 +223 234 0 +223 235 0 +223 236 0 +223 237 0 +223 238 0 +223 239 0 +223 240 0 +223 241 0 +223 242 0 +223 243 0 +223 244 0 +223 245 0 +223 246 0 +223 247 0 +223 248 0 +223 249 0 +223 250 0 +223 251 0 +223 252 0 +223 253 0 +223 254 0 +223 255 0 +223 256 0 +223 257 0 +223 258 0 +223 259 0 +223 260 0 +223 261 0 +223 262 0 +223 263 0 +223 264 0 +223 265 0 +223 266 0 +223 267 0 +223 268 0 +223 269 0 +223 270 0 +223 271 0 +223 272 0 +223 273 0 +223 274 0 +223 275 0 +223 276 0 +223 277 0 +223 278 0 +223 279 0 +223 280 0 +223 281 0 +223 282 0 +223 283 0 +223 284 0 +223 285 0 +223 286 0 +223 287 0 +223 288 0 +223 289 0 +223 290 0 +223 291 0 +223 292 0 +223 293 0 +223 294 0 +223 295 0 +223 296 0 +223 297 0 +223 298 0 +223 299 0 +223 300 0 +223 301 0 +223 302 0 +223 303 0 +223 304 0 +223 305 0 +223 306 0 +223 307 0 +223 308 0 +223 309 0 +223 310 0 +223 311 0 +223 312 0 +223 313 0 +223 314 0 +223 315 0 +223 316 0 +223 317 0 +223 318 0 +223 319 0 +223 320 0 +223 321 0 +223 322 0 +223 323 0 +223 324 0 +223 325 0 +223 326 0 +223 327 0 +223 328 0 +223 329 0 +223 330 0 +223 331 0 +223 332 0 +223 333 0 +223 334 0 +223 335 0 +223 336 0 +223 337 0 +223 338 0 +223 339 0 +223 340 0 +223 341 0 +223 342 0 +223 343 0 +223 344 0 +223 345 0 +223 346 0 +223 347 0 +223 348 0 +223 349 0 +223 350 0 +223 351 0 +223 352 0 +223 353 0 +223 354 0 +223 355 0 +223 356 0 +223 357 0 +223 358 0 +223 359 0 +223 360 0 +223 361 0 +223 362 0 +223 363 0 +223 364 0 +223 365 0 +223 366 0 +223 367 0 +223 368 0 +223 369 0 +223 370 0 +223 371 0 +223 372 0 +223 373 0 +223 374 0 +223 375 0 +223 376 0 +223 377 0 +223 378 0 +223 379 0 +223 380 0 +223 381 0 +223 382 0 +223 383 0 +224 225 0 +224 226 0 +224 227 0 +224 228 0 +224 229 0 +224 230 0 +224 231 0 +224 232 0 +224 233 0 +224 234 0 +224 235 0 +224 236 0 +224 237 0 +224 238 0 +224 239 0 +224 240 0 +224 241 0 +224 242 0 +224 243 0 +224 244 0 +224 245 0 +224 246 0 +224 247 0 +224 248 0 +224 249 0 +224 250 0 +224 251 0 +224 252 0 +224 253 0 +224 254 0 +224 255 0 +224 256 0 +224 257 0 +224 258 0 +224 259 0 +224 260 0 +224 261 0 +224 262 0 +224 263 0 +224 264 0 +224 265 0 +224 266 0 +224 267 0 +224 268 0 +224 269 0 +224 270 0 +224 271 0 +224 272 0 +224 273 0 +224 274 0 +224 275 0 +224 276 0 +224 277 0 +224 278 0 +224 279 0 +224 280 0 +224 281 0 +224 282 0 +224 283 0 +224 284 0 +224 285 0 +224 286 0 +224 287 0 +224 288 0 +224 289 0 +224 290 0 +224 291 0 +224 292 0 +224 293 0 +224 294 0 +224 295 0 +224 296 0 +224 297 0 +224 298 0 +224 299 0 +224 300 0 +224 301 0 +224 302 0 +224 303 0 +224 304 0 +224 305 0 +224 306 0 +224 307 0 +224 308 0 +224 309 0 +224 310 0 +224 311 0 +224 312 0 +224 313 0 +224 314 0 +224 315 0 +224 316 0 +224 317 0 +224 318 0 +224 319 0 +224 320 0 +224 321 0 +224 322 0 +224 323 0 +224 324 0 +224 325 0 +224 326 0 +224 327 0 +224 328 0 +224 329 0 +224 330 0 +224 331 0 +224 332 0 +224 333 0 +224 334 0 +224 335 0 +224 336 0 +224 337 0 +224 338 0 +224 339 0 +224 340 0 +224 341 0 +224 342 0 +224 343 0 +224 344 0 +224 345 0 +224 346 0 +224 347 0 +224 348 0 +224 349 0 +224 350 0 +224 351 0 +224 352 0 +224 353 0 +224 354 0 +224 355 0 +224 356 0 +224 357 0 +224 358 0 +224 359 0 +224 360 0 +224 361 0 +224 362 0 +224 363 0 +224 364 0 +224 365 0 +224 366 0 +224 367 0 +224 368 0 +224 369 0 +224 370 0 +224 371 0 +224 372 0 +224 373 0 +224 374 0 +224 375 0 +224 376 0 +224 377 0 +224 378 0 +224 379 0 +224 380 0 +224 381 0 +224 382 0 +224 383 0 +225 226 0 +225 227 0 +225 228 0 +225 229 0 +225 230 0 +225 231 0 +225 232 0 +225 233 0 +225 234 0 +225 235 0 +225 236 0 +225 237 0 +225 238 0 +225 239 0 +225 240 0 +225 241 0 +225 242 0 +225 243 0 +225 244 0 +225 245 0 +225 246 0 +225 247 0 +225 248 0 +225 249 0 +225 250 0 +225 251 0 +225 252 0 +225 253 0 +225 254 0 +225 255 0 +225 256 0 +225 257 0 +225 258 0 +225 259 0 +225 260 0 +225 261 0 +225 262 0 +225 263 0 +225 264 0 +225 265 0 +225 266 0 +225 267 0 +225 268 0 +225 269 0 +225 270 0 +225 271 0 +225 272 0 +225 273 0 +225 274 0 +225 275 0 +225 276 0 +225 277 0 +225 278 0 +225 279 0 +225 280 0 +225 281 0 +225 282 0 +225 283 0 +225 284 0 +225 285 0 +225 286 0 +225 287 0 +225 288 0 +225 289 0 +225 290 0 +225 291 0 +225 292 0 +225 293 0 +225 294 0 +225 295 0 +225 296 0 +225 297 0 +225 298 0 +225 299 0 +225 300 0 +225 301 0 +225 302 0 +225 303 0 +225 304 0 +225 305 0 +225 306 0 +225 307 0 +225 308 0 +225 309 0 +225 310 0 +225 311 0 +225 312 0 +225 313 0 +225 314 0 +225 315 0 +225 316 0 +225 317 0 +225 318 0 +225 319 0 +225 320 0 +225 321 0 +225 322 0 +225 323 0 +225 324 0 +225 325 0 +225 326 0 +225 327 0 +225 328 0 +225 329 0 +225 330 0 +225 331 0 +225 332 0 +225 333 0 +225 334 0 +225 335 0 +225 336 0 +225 337 0 +225 338 0 +225 339 0 +225 340 0 +225 341 0 +225 342 0 +225 343 0 +225 344 0 +225 345 0 +225 346 0 +225 347 0 +225 348 0 +225 349 0 +225 350 0 +225 351 0 +225 352 0 +225 353 0 +225 354 0 +225 355 0 +225 356 0 +225 357 0 +225 358 0 +225 359 0 +225 360 0 +225 361 0 +225 362 0 +225 363 0 +225 364 0 +225 365 0 +225 366 0 +225 367 0 +225 368 0 +225 369 0 +225 370 0 +225 371 0 +225 372 0 +225 373 0 +225 374 0 +225 375 0 +225 376 0 +225 377 0 +225 378 0 +225 379 0 +225 380 0 +225 381 0 +225 382 0 +225 383 0 +226 227 0 +226 228 0 +226 229 0 +226 230 0 +226 231 0 +226 232 0 +226 233 0 +226 234 0 +226 235 0 +226 236 0 +226 237 0 +226 238 0 +226 239 0 +226 240 0 +226 241 0 +226 242 0 +226 243 0 +226 244 0 +226 245 0 +226 246 0 +226 247 0 +226 248 0 +226 249 0 +226 250 0 +226 251 0 +226 252 0 +226 253 0 +226 254 0 +226 255 0 +226 256 0 +226 257 0 +226 258 0 +226 259 0 +226 260 0 +226 261 0 +226 262 0 +226 263 0 +226 264 0 +226 265 0 +226 266 0 +226 267 0 +226 268 0 +226 269 0 +226 270 0 +226 271 0 +226 272 0 +226 273 0 +226 274 0 +226 275 0 +226 276 0 +226 277 0 +226 278 0 +226 279 0 +226 280 0 +226 281 0 +226 282 0 +226 283 0 +226 284 0 +226 285 0 +226 286 0 +226 287 0 +226 288 0 +226 289 0 +226 290 0 +226 291 0 +226 292 0 +226 293 0 +226 294 0 +226 295 0 +226 296 0 +226 297 0 +226 298 0 +226 299 0 +226 300 0 +226 301 0 +226 302 0 +226 303 0 +226 304 0 +226 305 0 +226 306 0 +226 307 0 +226 308 0 +226 309 0 +226 310 0 +226 311 0 +226 312 0 +226 313 0 +226 314 0 +226 315 0 +226 316 0 +226 317 0 +226 318 0 +226 319 0 +226 320 0 +226 321 0 +226 322 0 +226 323 0 +226 324 0 +226 325 0 +226 326 0 +226 327 0 +226 328 0 +226 329 0 +226 330 0 +226 331 0 +226 332 0 +226 333 0 +226 334 0 +226 335 0 +226 336 0 +226 337 0 +226 338 0 +226 339 0 +226 340 0 +226 341 0 +226 342 0 +226 343 0 +226 344 0 +226 345 0 +226 346 0 +226 347 0 +226 348 0 +226 349 0 +226 350 0 +226 351 0 +226 352 0 +226 353 0 +226 354 0 +226 355 0 +226 356 0 +226 357 0 +226 358 0 +226 359 0 +226 360 0 +226 361 0 +226 362 0 +226 363 0 +226 364 0 +226 365 0 +226 366 0 +226 367 0 +226 368 0 +226 369 0 +226 370 0 +226 371 0 +226 372 0 +226 373 0 +226 374 0 +226 375 0 +226 376 0 +226 377 0 +226 378 0 +226 379 0 +226 380 0 +226 381 0 +226 382 0 +226 383 0 +227 228 0 +227 229 0 +227 230 0 +227 231 0 +227 232 0 +227 233 0 +227 234 0 +227 235 0 +227 236 0 +227 237 0 +227 238 0 +227 239 0 +227 240 0 +227 241 0 +227 242 0 +227 243 0 +227 244 0 +227 245 0 +227 246 0 +227 247 0 +227 248 0 +227 249 0 +227 250 0 +227 251 0 +227 252 0 +227 253 0 +227 254 0 +227 255 0 +227 256 0 +227 257 0 +227 258 0 +227 259 0 +227 260 0 +227 261 0 +227 262 0 +227 263 0 +227 264 0 +227 265 0 +227 266 0 +227 267 0 +227 268 0 +227 269 0 +227 270 0 +227 271 0 +227 272 0 +227 273 0 +227 274 0 +227 275 0 +227 276 0 +227 277 0 +227 278 0 +227 279 0 +227 280 0 +227 281 0 +227 282 0 +227 283 0 +227 284 0 +227 285 0 +227 286 0 +227 287 0 +227 288 0 +227 289 0 +227 290 0 +227 291 0 +227 292 0 +227 293 0 +227 294 0 +227 295 0 +227 296 0 +227 297 0 +227 298 0 +227 299 0 +227 300 0 +227 301 0 +227 302 0 +227 303 0 +227 304 0 +227 305 0 +227 306 0 +227 307 0 +227 308 0 +227 309 0 +227 310 0 +227 311 0 +227 312 0 +227 313 0 +227 314 0 +227 315 0 +227 316 0 +227 317 0 +227 318 0 +227 319 0 +227 320 0 +227 321 0 +227 322 0 +227 323 0 +227 324 0 +227 325 0 +227 326 0 +227 327 0 +227 328 0 +227 329 0 +227 330 0 +227 331 0 +227 332 0 +227 333 0 +227 334 0 +227 335 0 +227 336 0 +227 337 0 +227 338 0 +227 339 0 +227 340 0 +227 341 0 +227 342 0 +227 343 0 +227 344 0 +227 345 0 +227 346 0 +227 347 0 +227 348 0 +227 349 0 +227 350 0 +227 351 0 +227 352 0 +227 353 0 +227 354 0 +227 355 0 +227 356 0 +227 357 0 +227 358 0 +227 359 0 +227 360 0 +227 361 0 +227 362 0 +227 363 0 +227 364 0 +227 365 0 +227 366 0 +227 367 0 +227 368 0 +227 369 0 +227 370 0 +227 371 0 +227 372 0 +227 373 0 +227 374 0 +227 375 0 +227 376 0 +227 377 0 +227 378 0 +227 379 0 +227 380 0 +227 381 0 +227 382 0 +227 383 0 +228 229 0 +228 230 0 +228 231 0 +228 232 0 +228 233 0 +228 234 0 +228 235 0 +228 236 0 +228 237 0 +228 238 0 +228 239 0 +228 240 0 +228 241 0 +228 242 0 +228 243 0 +228 244 0 +228 245 0 +228 246 0 +228 247 0 +228 248 0 +228 249 0 +228 250 0 +228 251 0 +228 252 0 +228 253 0 +228 254 0 +228 255 0 +228 256 0 +228 257 0 +228 258 0 +228 259 0 +228 260 0 +228 261 0 +228 262 0 +228 263 0 +228 264 0 +228 265 0 +228 266 0 +228 267 0 +228 268 0 +228 269 0 +228 270 0 +228 271 0 +228 272 0 +228 273 0 +228 274 0 +228 275 0 +228 276 0 +228 277 0 +228 278 0 +228 279 0 +228 280 0 +228 281 0 +228 282 0 +228 283 0 +228 284 0 +228 285 0 +228 286 0 +228 287 0 +228 288 0 +228 289 0 +228 290 0 +228 291 0 +228 292 0 +228 293 0 +228 294 0 +228 295 0 +228 296 0 +228 297 0 +228 298 0 +228 299 0 +228 300 0 +228 301 0 +228 302 0 +228 303 0 +228 304 0 +228 305 0 +228 306 0 +228 307 0 +228 308 0 +228 309 0 +228 310 0 +228 311 0 +228 312 0 +228 313 0 +228 314 0 +228 315 0 +228 316 0 +228 317 0 +228 318 0 +228 319 0 +228 320 0 +228 321 0 +228 322 0 +228 323 0 +228 324 0 +228 325 0 +228 326 0 +228 327 0 +228 328 0 +228 329 0 +228 330 0 +228 331 0 +228 332 0 +228 333 0 +228 334 0 +228 335 0 +228 336 0 +228 337 0 +228 338 0 +228 339 0 +228 340 0 +228 341 0 +228 342 0 +228 343 0 +228 344 0 +228 345 0 +228 346 0 +228 347 0 +228 348 0 +228 349 0 +228 350 0 +228 351 0 +228 352 0 +228 353 0 +228 354 0 +228 355 0 +228 356 0 +228 357 0 +228 358 0 +228 359 0 +228 360 0 +228 361 0 +228 362 0 +228 363 0 +228 364 0 +228 365 0 +228 366 0 +228 367 0 +228 368 0 +228 369 0 +228 370 0 +228 371 0 +228 372 0 +228 373 0 +228 374 0 +228 375 0 +228 376 0 +228 377 0 +228 378 0 +228 379 0 +228 380 0 +228 381 0 +228 382 0 +228 383 0 +229 230 0 +229 231 0 +229 232 0 +229 233 0 +229 234 0 +229 235 0 +229 236 0 +229 237 0 +229 238 0 +229 239 0 +229 240 0 +229 241 0 +229 242 0 +229 243 0 +229 244 0 +229 245 0 +229 246 0 +229 247 0 +229 248 0 +229 249 0 +229 250 0 +229 251 0 +229 252 0 +229 253 0 +229 254 0 +229 255 0 +229 256 0 +229 257 0 +229 258 0 +229 259 0 +229 260 0 +229 261 0 +229 262 0 +229 263 0 +229 264 0 +229 265 0 +229 266 0 +229 267 0 +229 268 0 +229 269 0 +229 270 0 +229 271 0 +229 272 0 +229 273 0 +229 274 0 +229 275 0 +229 276 0 +229 277 0 +229 278 0 +229 279 0 +229 280 0 +229 281 0 +229 282 0 +229 283 0 +229 284 0 +229 285 0 +229 286 0 +229 287 0 +229 288 0 +229 289 0 +229 290 0 +229 291 0 +229 292 0 +229 293 0 +229 294 0 +229 295 0 +229 296 0 +229 297 0 +229 298 0 +229 299 0 +229 300 0 +229 301 0 +229 302 0 +229 303 0 +229 304 0 +229 305 0 +229 306 0 +229 307 0 +229 308 0 +229 309 0 +229 310 0 +229 311 0 +229 312 0 +229 313 0 +229 314 0 +229 315 0 +229 316 0 +229 317 0 +229 318 0 +229 319 0 +229 320 0 +229 321 0 +229 322 0 +229 323 0 +229 324 0 +229 325 0 +229 326 0 +229 327 0 +229 328 0 +229 329 0 +229 330 0 +229 331 0 +229 332 0 +229 333 0 +229 334 0 +229 335 0 +229 336 0 +229 337 0 +229 338 0 +229 339 0 +229 340 0 +229 341 0 +229 342 0 +229 343 0 +229 344 0 +229 345 0 +229 346 0 +229 347 0 +229 348 0 +229 349 0 +229 350 0 +229 351 0 +229 352 0 +229 353 0 +229 354 0 +229 355 0 +229 356 0 +229 357 0 +229 358 0 +229 359 0 +229 360 0 +229 361 0 +229 362 0 +229 363 0 +229 364 0 +229 365 0 +229 366 0 +229 367 0 +229 368 0 +229 369 0 +229 370 0 +229 371 0 +229 372 0 +229 373 0 +229 374 0 +229 375 0 +229 376 0 +229 377 0 +229 378 0 +229 379 0 +229 380 0 +229 381 0 +229 382 0 +229 383 0 +230 231 0 +230 232 0 +230 233 0 +230 234 0 +230 235 0 +230 236 0 +230 237 0 +230 238 0 +230 239 0 +230 240 0 +230 241 0 +230 242 0 +230 243 0 +230 244 0 +230 245 0 +230 246 0 +230 247 0 +230 248 0 +230 249 0 +230 250 0 +230 251 0 +230 252 0 +230 253 0 +230 254 0 +230 255 0 +230 256 0 +230 257 0 +230 258 0 +230 259 0 +230 260 0 +230 261 0 +230 262 0 +230 263 0 +230 264 0 +230 265 0 +230 266 0 +230 267 0 +230 268 0 +230 269 0 +230 270 0 +230 271 0 +230 272 0 +230 273 0 +230 274 0 +230 275 0 +230 276 0 +230 277 0 +230 278 0 +230 279 0 +230 280 0 +230 281 0 +230 282 0 +230 283 0 +230 284 0 +230 285 0 +230 286 0 +230 287 0 +230 288 0 +230 289 0 +230 290 0 +230 291 0 +230 292 0 +230 293 0 +230 294 0 +230 295 0 +230 296 0 +230 297 0 +230 298 0 +230 299 0 +230 300 0 +230 301 0 +230 302 0 +230 303 0 +230 304 0 +230 305 0 +230 306 0 +230 307 0 +230 308 0 +230 309 0 +230 310 0 +230 311 0 +230 312 0 +230 313 0 +230 314 0 +230 315 0 +230 316 0 +230 317 0 +230 318 0 +230 319 0 +230 320 0 +230 321 0 +230 322 0 +230 323 0 +230 324 0 +230 325 0 +230 326 0 +230 327 0 +230 328 0 +230 329 0 +230 330 0 +230 331 0 +230 332 0 +230 333 0 +230 334 0 +230 335 0 +230 336 0 +230 337 0 +230 338 0 +230 339 0 +230 340 0 +230 341 0 +230 342 0 +230 343 0 +230 344 0 +230 345 0 +230 346 0 +230 347 0 +230 348 0 +230 349 0 +230 350 0 +230 351 0 +230 352 0 +230 353 0 +230 354 0 +230 355 0 +230 356 0 +230 357 0 +230 358 0 +230 359 0 +230 360 0 +230 361 0 +230 362 0 +230 363 0 +230 364 0 +230 365 0 +230 366 0 +230 367 0 +230 368 0 +230 369 0 +230 370 0 +230 371 0 +230 372 0 +230 373 0 +230 374 0 +230 375 0 +230 376 0 +230 377 0 +230 378 0 +230 379 0 +230 380 0 +230 381 0 +230 382 0 +230 383 0 +231 232 0 +231 233 0 +231 234 0 +231 235 0 +231 236 0 +231 237 0 +231 238 0 +231 239 0 +231 240 0 +231 241 0 +231 242 0 +231 243 0 +231 244 0 +231 245 0 +231 246 0 +231 247 0 +231 248 0 +231 249 0 +231 250 0 +231 251 0 +231 252 0 +231 253 0 +231 254 0 +231 255 0 +231 256 0 +231 257 0 +231 258 0 +231 259 0 +231 260 0 +231 261 0 +231 262 0 +231 263 0 +231 264 0 +231 265 0 +231 266 0 +231 267 0 +231 268 0 +231 269 0 +231 270 0 +231 271 0 +231 272 0 +231 273 0 +231 274 0 +231 275 0 +231 276 0 +231 277 0 +231 278 0 +231 279 0 +231 280 0 +231 281 0 +231 282 0 +231 283 0 +231 284 0 +231 285 0 +231 286 0 +231 287 0 +231 288 0 +231 289 0 +231 290 0 +231 291 0 +231 292 0 +231 293 0 +231 294 0 +231 295 0 +231 296 0 +231 297 0 +231 298 0 +231 299 0 +231 300 0 +231 301 0 +231 302 0 +231 303 0 +231 304 0 +231 305 0 +231 306 0 +231 307 0 +231 308 0 +231 309 0 +231 310 0 +231 311 0 +231 312 0 +231 313 0 +231 314 0 +231 315 0 +231 316 0 +231 317 0 +231 318 0 +231 319 0 +231 320 0 +231 321 0 +231 322 0 +231 323 0 +231 324 0 +231 325 0 +231 326 0 +231 327 0 +231 328 0 +231 329 0 +231 330 0 +231 331 0 +231 332 0 +231 333 0 +231 334 0 +231 335 0 +231 336 0 +231 337 0 +231 338 0 +231 339 0 +231 340 0 +231 341 0 +231 342 0 +231 343 0 +231 344 0 +231 345 0 +231 346 0 +231 347 0 +231 348 0 +231 349 0 +231 350 0 +231 351 0 +231 352 0 +231 353 0 +231 354 0 +231 355 0 +231 356 0 +231 357 0 +231 358 0 +231 359 0 +231 360 0 +231 361 0 +231 362 0 +231 363 0 +231 364 0 +231 365 0 +231 366 0 +231 367 0 +231 368 0 +231 369 0 +231 370 0 +231 371 0 +231 372 0 +231 373 0 +231 374 0 +231 375 0 +231 376 0 +231 377 0 +231 378 0 +231 379 0 +231 380 0 +231 381 0 +231 382 0 +231 383 0 +232 233 0 +232 234 0 +232 235 0 +232 236 0 +232 237 0 +232 238 0 +232 239 0 +232 240 0 +232 241 0 +232 242 0 +232 243 0 +232 244 0 +232 245 0 +232 246 0 +232 247 0 +232 248 0 +232 249 0 +232 250 0 +232 251 0 +232 252 0 +232 253 0 +232 254 0 +232 255 0 +232 256 0 +232 257 0 +232 258 0 +232 259 0 +232 260 0 +232 261 0 +232 262 0 +232 263 0 +232 264 0 +232 265 0 +232 266 0 +232 267 0 +232 268 0 +232 269 0 +232 270 0 +232 271 0 +232 272 0 +232 273 0 +232 274 0 +232 275 0 +232 276 0 +232 277 0 +232 278 0 +232 279 0 +232 280 0 +232 281 0 +232 282 0 +232 283 0 +232 284 0 +232 285 0 +232 286 0 +232 287 0 +232 288 0 +232 289 0 +232 290 0 +232 291 0 +232 292 0 +232 293 0 +232 294 0 +232 295 0 +232 296 0 +232 297 0 +232 298 0 +232 299 0 +232 300 0 +232 301 0 +232 302 0 +232 303 0 +232 304 0 +232 305 0 +232 306 0 +232 307 0 +232 308 0 +232 309 0 +232 310 0 +232 311 0 +232 312 0 +232 313 0 +232 314 0 +232 315 0 +232 316 0 +232 317 0 +232 318 0 +232 319 0 +232 320 0 +232 321 0 +232 322 0 +232 323 0 +232 324 0 +232 325 0 +232 326 0 +232 327 0 +232 328 0 +232 329 0 +232 330 0 +232 331 0 +232 332 0 +232 333 0 +232 334 0 +232 335 0 +232 336 0 +232 337 0 +232 338 0 +232 339 0 +232 340 0 +232 341 0 +232 342 0 +232 343 0 +232 344 0 +232 345 0 +232 346 0 +232 347 0 +232 348 0 +232 349 0 +232 350 0 +232 351 0 +232 352 0 +232 353 0 +232 354 0 +232 355 0 +232 356 0 +232 357 0 +232 358 0 +232 359 0 +232 360 0 +232 361 0 +232 362 0 +232 363 0 +232 364 0 +232 365 0 +232 366 0 +232 367 0 +232 368 0 +232 369 0 +232 370 0 +232 371 0 +232 372 0 +232 373 0 +232 374 0 +232 375 0 +232 376 0 +232 377 0 +232 378 0 +232 379 0 +232 380 0 +232 381 0 +232 382 0 +232 383 0 +233 234 0 +233 235 0 +233 236 0 +233 237 0 +233 238 0 +233 239 0 +233 240 0 +233 241 0 +233 242 0 +233 243 0 +233 244 0 +233 245 0 +233 246 0 +233 247 0 +233 248 0 +233 249 0 +233 250 0 +233 251 0 +233 252 0 +233 253 0 +233 254 0 +233 255 0 +233 256 0 +233 257 0 +233 258 0 +233 259 0 +233 260 0 +233 261 0 +233 262 0 +233 263 0 +233 264 0 +233 265 0 +233 266 0 +233 267 0 +233 268 0 +233 269 0 +233 270 0 +233 271 0 +233 272 0 +233 273 0 +233 274 0 +233 275 0 +233 276 0 +233 277 0 +233 278 0 +233 279 0 +233 280 0 +233 281 0 +233 282 0 +233 283 0 +233 284 0 +233 285 0 +233 286 0 +233 287 0 +233 288 0 +233 289 0 +233 290 0 +233 291 0 +233 292 0 +233 293 0 +233 294 0 +233 295 0 +233 296 0 +233 297 0 +233 298 0 +233 299 0 +233 300 0 +233 301 0 +233 302 0 +233 303 0 +233 304 0 +233 305 0 +233 306 0 +233 307 0 +233 308 0 +233 309 0 +233 310 0 +233 311 0 +233 312 0 +233 313 0 +233 314 0 +233 315 0 +233 316 0 +233 317 0 +233 318 0 +233 319 0 +233 320 0 +233 321 0 +233 322 0 +233 323 0 +233 324 0 +233 325 0 +233 326 0 +233 327 0 +233 328 0 +233 329 0 +233 330 0 +233 331 0 +233 332 0 +233 333 0 +233 334 0 +233 335 0 +233 336 0 +233 337 0 +233 338 0 +233 339 0 +233 340 0 +233 341 0 +233 342 0 +233 343 0 +233 344 0 +233 345 0 +233 346 0 +233 347 0 +233 348 0 +233 349 0 +233 350 0 +233 351 0 +233 352 0 +233 353 0 +233 354 0 +233 355 0 +233 356 0 +233 357 0 +233 358 0 +233 359 0 +233 360 0 +233 361 0 +233 362 0 +233 363 0 +233 364 0 +233 365 0 +233 366 0 +233 367 0 +233 368 0 +233 369 0 +233 370 0 +233 371 0 +233 372 0 +233 373 0 +233 374 0 +233 375 0 +233 376 0 +233 377 0 +233 378 0 +233 379 0 +233 380 0 +233 381 0 +233 382 0 +233 383 0 +234 235 0 +234 236 0 +234 237 0 +234 238 0 +234 239 0 +234 240 0 +234 241 0 +234 242 0 +234 243 0 +234 244 0 +234 245 0 +234 246 0 +234 247 0 +234 248 0 +234 249 0 +234 250 0 +234 251 0 +234 252 0 +234 253 0 +234 254 0 +234 255 0 +234 256 0 +234 257 0 +234 258 0 +234 259 0 +234 260 0 +234 261 0 +234 262 0 +234 263 0 +234 264 0 +234 265 0 +234 266 0 +234 267 0 +234 268 0 +234 269 0 +234 270 0 +234 271 0 +234 272 0 +234 273 0 +234 274 0 +234 275 0 +234 276 0 +234 277 0 +234 278 0 +234 279 0 +234 280 0 +234 281 0 +234 282 0 +234 283 0 +234 284 0 +234 285 0 +234 286 0 +234 287 0 +234 288 0 +234 289 0 +234 290 0 +234 291 0 +234 292 0 +234 293 0 +234 294 0 +234 295 0 +234 296 0 +234 297 0 +234 298 0 +234 299 0 +234 300 0 +234 301 0 +234 302 0 +234 303 0 +234 304 0 +234 305 0 +234 306 0 +234 307 0 +234 308 0 +234 309 0 +234 310 0 +234 311 0 +234 312 0 +234 313 0 +234 314 0 +234 315 0 +234 316 0 +234 317 0 +234 318 0 +234 319 0 +234 320 0 +234 321 0 +234 322 0 +234 323 0 +234 324 0 +234 325 0 +234 326 0 +234 327 0 +234 328 0 +234 329 0 +234 330 0 +234 331 0 +234 332 0 +234 333 0 +234 334 0 +234 335 0 +234 336 0 +234 337 0 +234 338 0 +234 339 0 +234 340 0 +234 341 0 +234 342 0 +234 343 0 +234 344 0 +234 345 0 +234 346 0 +234 347 0 +234 348 0 +234 349 0 +234 350 0 +234 351 0 +234 352 0 +234 353 0 +234 354 0 +234 355 0 +234 356 0 +234 357 0 +234 358 0 +234 359 0 +234 360 0 +234 361 0 +234 362 0 +234 363 0 +234 364 0 +234 365 0 +234 366 0 +234 367 0 +234 368 0 +234 369 0 +234 370 0 +234 371 0 +234 372 0 +234 373 0 +234 374 0 +234 375 0 +234 376 0 +234 377 0 +234 378 0 +234 379 0 +234 380 0 +234 381 0 +234 382 0 +234 383 0 +235 236 0 +235 237 0 +235 238 0 +235 239 0 +235 240 0 +235 241 0 +235 242 0 +235 243 0 +235 244 0 +235 245 0 +235 246 0 +235 247 0 +235 248 0 +235 249 0 +235 250 0 +235 251 0 +235 252 0 +235 253 0 +235 254 0 +235 255 0 +235 256 0 +235 257 0 +235 258 0 +235 259 0 +235 260 0 +235 261 0 +235 262 0 +235 263 0 +235 264 0 +235 265 0 +235 266 0 +235 267 0 +235 268 0 +235 269 0 +235 270 0 +235 271 0 +235 272 0 +235 273 0 +235 274 0 +235 275 0 +235 276 0 +235 277 0 +235 278 0 +235 279 0 +235 280 0 +235 281 0 +235 282 0 +235 283 0 +235 284 0 +235 285 0 +235 286 0 +235 287 0 +235 288 0 +235 289 0 +235 290 0 +235 291 0 +235 292 0 +235 293 0 +235 294 0 +235 295 0 +235 296 0 +235 297 0 +235 298 0 +235 299 0 +235 300 0 +235 301 0 +235 302 0 +235 303 0 +235 304 0 +235 305 0 +235 306 0 +235 307 0 +235 308 0 +235 309 0 +235 310 0 +235 311 0 +235 312 0 +235 313 0 +235 314 0 +235 315 0 +235 316 0 +235 317 0 +235 318 0 +235 319 0 +235 320 0 +235 321 0 +235 322 0 +235 323 0 +235 324 0 +235 325 0 +235 326 0 +235 327 0 +235 328 0 +235 329 0 +235 330 0 +235 331 0 +235 332 0 +235 333 0 +235 334 0 +235 335 0 +235 336 0 +235 337 0 +235 338 0 +235 339 0 +235 340 0 +235 341 0 +235 342 0 +235 343 0 +235 344 0 +235 345 0 +235 346 0 +235 347 0 +235 348 0 +235 349 0 +235 350 0 +235 351 0 +235 352 0 +235 353 0 +235 354 0 +235 355 0 +235 356 0 +235 357 0 +235 358 0 +235 359 0 +235 360 0 +235 361 0 +235 362 0 +235 363 0 +235 364 0 +235 365 0 +235 366 0 +235 367 0 +235 368 0 +235 369 0 +235 370 0 +235 371 0 +235 372 0 +235 373 0 +235 374 0 +235 375 0 +235 376 0 +235 377 0 +235 378 0 +235 379 0 +235 380 0 +235 381 0 +235 382 0 +235 383 0 +236 237 0 +236 238 0 +236 239 0 +236 240 0 +236 241 0 +236 242 0 +236 243 0 +236 244 0 +236 245 0 +236 246 0 +236 247 0 +236 248 0 +236 249 0 +236 250 0 +236 251 0 +236 252 0 +236 253 0 +236 254 0 +236 255 0 +236 256 0 +236 257 0 +236 258 0 +236 259 0 +236 260 0 +236 261 0 +236 262 0 +236 263 0 +236 264 0 +236 265 0 +236 266 0 +236 267 0 +236 268 0 +236 269 0 +236 270 0 +236 271 0 +236 272 0 +236 273 0 +236 274 0 +236 275 0 +236 276 0 +236 277 0 +236 278 0 +236 279 0 +236 280 0 +236 281 0 +236 282 0 +236 283 0 +236 284 0 +236 285 0 +236 286 0 +236 287 0 +236 288 0 +236 289 0 +236 290 0 +236 291 0 +236 292 0 +236 293 0 +236 294 0 +236 295 0 +236 296 0 +236 297 0 +236 298 0 +236 299 0 +236 300 0 +236 301 0 +236 302 0 +236 303 0 +236 304 0 +236 305 0 +236 306 0 +236 307 0 +236 308 0 +236 309 0 +236 310 0 +236 311 0 +236 312 0 +236 313 0 +236 314 0 +236 315 0 +236 316 0 +236 317 0 +236 318 0 +236 319 0 +236 320 0 +236 321 0 +236 322 0 +236 323 0 +236 324 0 +236 325 0 +236 326 0 +236 327 0 +236 328 0 +236 329 0 +236 330 0 +236 331 0 +236 332 0 +236 333 0 +236 334 0 +236 335 0 +236 336 0 +236 337 0 +236 338 0 +236 339 0 +236 340 0 +236 341 0 +236 342 0 +236 343 0 +236 344 0 +236 345 0 +236 346 0 +236 347 0 +236 348 0 +236 349 0 +236 350 0 +236 351 0 +236 352 0 +236 353 0 +236 354 0 +236 355 0 +236 356 0 +236 357 0 +236 358 0 +236 359 0 +236 360 0 +236 361 0 +236 362 0 +236 363 0 +236 364 0 +236 365 0 +236 366 0 +236 367 0 +236 368 0 +236 369 0 +236 370 0 +236 371 0 +236 372 0 +236 373 0 +236 374 0 +236 375 0 +236 376 0 +236 377 0 +236 378 0 +236 379 0 +236 380 0 +236 381 0 +236 382 0 +236 383 0 +237 238 0 +237 239 0 +237 240 0 +237 241 0 +237 242 0 +237 243 0 +237 244 0 +237 245 0 +237 246 0 +237 247 0 +237 248 0 +237 249 0 +237 250 0 +237 251 0 +237 252 0 +237 253 0 +237 254 0 +237 255 0 +237 256 0 +237 257 0 +237 258 0 +237 259 0 +237 260 0 +237 261 0 +237 262 0 +237 263 0 +237 264 0 +237 265 0 +237 266 0 +237 267 0 +237 268 0 +237 269 0 +237 270 0 +237 271 0 +237 272 0 +237 273 0 +237 274 0 +237 275 0 +237 276 0 +237 277 0 +237 278 0 +237 279 0 +237 280 0 +237 281 0 +237 282 0 +237 283 0 +237 284 0 +237 285 0 +237 286 0 +237 287 0 +237 288 0 +237 289 0 +237 290 0 +237 291 0 +237 292 0 +237 293 0 +237 294 0 +237 295 0 +237 296 0 +237 297 0 +237 298 0 +237 299 0 +237 300 0 +237 301 0 +237 302 0 +237 303 0 +237 304 0 +237 305 0 +237 306 0 +237 307 0 +237 308 0 +237 309 0 +237 310 0 +237 311 0 +237 312 0 +237 313 0 +237 314 0 +237 315 0 +237 316 0 +237 317 0 +237 318 0 +237 319 0 +237 320 0 +237 321 0 +237 322 0 +237 323 0 +237 324 0 +237 325 0 +237 326 0 +237 327 0 +237 328 0 +237 329 0 +237 330 0 +237 331 0 +237 332 0 +237 333 0 +237 334 0 +237 335 0 +237 336 0 +237 337 0 +237 338 0 +237 339 0 +237 340 0 +237 341 0 +237 342 0 +237 343 0 +237 344 0 +237 345 0 +237 346 0 +237 347 0 +237 348 0 +237 349 0 +237 350 0 +237 351 0 +237 352 0 +237 353 0 +237 354 0 +237 355 0 +237 356 0 +237 357 0 +237 358 0 +237 359 0 +237 360 0 +237 361 0 +237 362 0 +237 363 0 +237 364 0 +237 365 0 +237 366 0 +237 367 0 +237 368 0 +237 369 0 +237 370 0 +237 371 0 +237 372 0 +237 373 0 +237 374 0 +237 375 0 +237 376 0 +237 377 0 +237 378 0 +237 379 0 +237 380 0 +237 381 0 +237 382 0 +237 383 0 +238 239 0 +238 240 0 +238 241 0 +238 242 0 +238 243 0 +238 244 0 +238 245 0 +238 246 0 +238 247 0 +238 248 0 +238 249 0 +238 250 0 +238 251 0 +238 252 0 +238 253 0 +238 254 0 +238 255 0 +238 256 0 +238 257 0 +238 258 0 +238 259 0 +238 260 0 +238 261 0 +238 262 0 +238 263 0 +238 264 0 +238 265 0 +238 266 0 +238 267 0 +238 268 0 +238 269 0 +238 270 0 +238 271 0 +238 272 0 +238 273 0 +238 274 0 +238 275 0 +238 276 0 +238 277 0 +238 278 0 +238 279 0 +238 280 0 +238 281 0 +238 282 0 +238 283 0 +238 284 0 +238 285 0 +238 286 0 +238 287 0 +238 288 0 +238 289 0 +238 290 0 +238 291 0 +238 292 0 +238 293 0 +238 294 0 +238 295 0 +238 296 0 +238 297 0 +238 298 0 +238 299 0 +238 300 0 +238 301 0 +238 302 0 +238 303 0 +238 304 0 +238 305 0 +238 306 0 +238 307 0 +238 308 0 +238 309 0 +238 310 0 +238 311 0 +238 312 0 +238 313 0 +238 314 0 +238 315 0 +238 316 0 +238 317 0 +238 318 0 +238 319 0 +238 320 0 +238 321 0 +238 322 0 +238 323 0 +238 324 0 +238 325 0 +238 326 0 +238 327 0 +238 328 0 +238 329 0 +238 330 0 +238 331 0 +238 332 0 +238 333 0 +238 334 0 +238 335 0 +238 336 0 +238 337 0 +238 338 0 +238 339 0 +238 340 0 +238 341 0 +238 342 0 +238 343 0 +238 344 0 +238 345 0 +238 346 0 +238 347 0 +238 348 0 +238 349 0 +238 350 0 +238 351 0 +238 352 0 +238 353 0 +238 354 0 +238 355 0 +238 356 0 +238 357 0 +238 358 0 +238 359 0 +238 360 0 +238 361 0 +238 362 0 +238 363 0 +238 364 0 +238 365 0 +238 366 0 +238 367 0 +238 368 0 +238 369 0 +238 370 0 +238 371 0 +238 372 0 +238 373 0 +238 374 0 +238 375 0 +238 376 0 +238 377 0 +238 378 0 +238 379 0 +238 380 0 +238 381 0 +238 382 0 +238 383 0 +239 240 0 +239 241 0 +239 242 0 +239 243 0 +239 244 0 +239 245 0 +239 246 0 +239 247 0 +239 248 0 +239 249 0 +239 250 0 +239 251 0 +239 252 0 +239 253 0 +239 254 0 +239 255 0 +239 256 0 +239 257 0 +239 258 0 +239 259 0 +239 260 0 +239 261 0 +239 262 0 +239 263 0 +239 264 0 +239 265 0 +239 266 0 +239 267 0 +239 268 0 +239 269 0 +239 270 0 +239 271 0 +239 272 0 +239 273 0 +239 274 0 +239 275 0 +239 276 0 +239 277 0 +239 278 0 +239 279 0 +239 280 0 +239 281 0 +239 282 0 +239 283 0 +239 284 0 +239 285 0 +239 286 0 +239 287 0 +239 288 0 +239 289 0 +239 290 0 +239 291 0 +239 292 0 +239 293 0 +239 294 0 +239 295 0 +239 296 0 +239 297 0 +239 298 0 +239 299 0 +239 300 0 +239 301 0 +239 302 0 +239 303 0 +239 304 0 +239 305 0 +239 306 0 +239 307 0 +239 308 0 +239 309 0 +239 310 0 +239 311 0 +239 312 0 +239 313 0 +239 314 0 +239 315 0 +239 316 0 +239 317 0 +239 318 0 +239 319 0 +239 320 0 +239 321 0 +239 322 0 +239 323 0 +239 324 0 +239 325 0 +239 326 0 +239 327 0 +239 328 0 +239 329 0 +239 330 0 +239 331 0 +239 332 0 +239 333 0 +239 334 0 +239 335 0 +239 336 0 +239 337 0 +239 338 0 +239 339 0 +239 340 0 +239 341 0 +239 342 0 +239 343 0 +239 344 0 +239 345 0 +239 346 0 +239 347 0 +239 348 0 +239 349 0 +239 350 0 +239 351 0 +239 352 0 +239 353 0 +239 354 0 +239 355 0 +239 356 0 +239 357 0 +239 358 0 +239 359 0 +239 360 0 +239 361 0 +239 362 0 +239 363 0 +239 364 0 +239 365 0 +239 366 0 +239 367 0 +239 368 0 +239 369 0 +239 370 0 +239 371 0 +239 372 0 +239 373 0 +239 374 0 +239 375 0 +239 376 0 +239 377 0 +239 378 0 +239 379 0 +239 380 0 +239 381 0 +239 382 0 +239 383 0 +240 241 0 +240 242 0 +240 243 0 +240 244 0 +240 245 0 +240 246 0 +240 247 0 +240 248 0 +240 249 0 +240 250 0 +240 251 0 +240 252 0 +240 253 0 +240 254 0 +240 255 0 +240 256 0 +240 257 0 +240 258 0 +240 259 0 +240 260 0 +240 261 0 +240 262 0 +240 263 0 +240 264 0 +240 265 0 +240 266 0 +240 267 0 +240 268 0 +240 269 0 +240 270 0 +240 271 0 +240 272 0 +240 273 0 +240 274 0 +240 275 0 +240 276 0 +240 277 0 +240 278 0 +240 279 0 +240 280 0 +240 281 0 +240 282 0 +240 283 0 +240 284 0 +240 285 0 +240 286 0 +240 287 0 +240 288 0 +240 289 0 +240 290 0 +240 291 0 +240 292 0 +240 293 0 +240 294 0 +240 295 0 +240 296 0 +240 297 0 +240 298 0 +240 299 0 +240 300 0 +240 301 0 +240 302 0 +240 303 0 +240 304 0 +240 305 0 +240 306 0 +240 307 0 +240 308 0 +240 309 0 +240 310 0 +240 311 0 +240 312 0 +240 313 0 +240 314 0 +240 315 0 +240 316 0 +240 317 0 +240 318 0 +240 319 0 +240 320 0 +240 321 0 +240 322 0 +240 323 0 +240 324 0 +240 325 0 +240 326 0 +240 327 0 +240 328 0 +240 329 0 +240 330 0 +240 331 0 +240 332 0 +240 333 0 +240 334 0 +240 335 0 +240 336 0 +240 337 0 +240 338 0 +240 339 0 +240 340 0 +240 341 0 +240 342 0 +240 343 0 +240 344 0 +240 345 0 +240 346 0 +240 347 0 +240 348 0 +240 349 0 +240 350 0 +240 351 0 +240 352 0 +240 353 0 +240 354 0 +240 355 0 +240 356 0 +240 357 0 +240 358 0 +240 359 0 +240 360 0 +240 361 0 +240 362 0 +240 363 0 +240 364 0 +240 365 0 +240 366 0 +240 367 0 +240 368 0 +240 369 0 +240 370 0 +240 371 0 +240 372 0 +240 373 0 +240 374 0 +240 375 0 +240 376 0 +240 377 0 +240 378 0 +240 379 0 +240 380 0 +240 381 0 +240 382 0 +240 383 0 +241 242 0 +241 243 0 +241 244 0 +241 245 0 +241 246 0 +241 247 0 +241 248 0 +241 249 0 +241 250 0 +241 251 0 +241 252 0 +241 253 0 +241 254 0 +241 255 0 +241 256 0 +241 257 0 +241 258 0 +241 259 0 +241 260 0 +241 261 0 +241 262 0 +241 263 0 +241 264 0 +241 265 0 +241 266 0 +241 267 0 +241 268 0 +241 269 0 +241 270 0 +241 271 0 +241 272 0 +241 273 0 +241 274 0 +241 275 0 +241 276 0 +241 277 0 +241 278 0 +241 279 0 +241 280 0 +241 281 0 +241 282 0 +241 283 0 +241 284 0 +241 285 0 +241 286 0 +241 287 0 +241 288 0 +241 289 0 +241 290 0 +241 291 0 +241 292 0 +241 293 0 +241 294 0 +241 295 0 +241 296 0 +241 297 0 +241 298 0 +241 299 0 +241 300 0 +241 301 0 +241 302 0 +241 303 0 +241 304 0 +241 305 0 +241 306 0 +241 307 0 +241 308 0 +241 309 0 +241 310 0 +241 311 0 +241 312 0 +241 313 0 +241 314 0 +241 315 0 +241 316 0 +241 317 0 +241 318 0 +241 319 0 +241 320 0 +241 321 0 +241 322 0 +241 323 0 +241 324 0 +241 325 0 +241 326 0 +241 327 0 +241 328 0 +241 329 0 +241 330 0 +241 331 0 +241 332 0 +241 333 0 +241 334 0 +241 335 0 +241 336 0 +241 337 0 +241 338 0 +241 339 0 +241 340 0 +241 341 0 +241 342 0 +241 343 0 +241 344 0 +241 345 0 +241 346 0 +241 347 0 +241 348 0 +241 349 0 +241 350 0 +241 351 0 +241 352 0 +241 353 0 +241 354 0 +241 355 0 +241 356 0 +241 357 0 +241 358 0 +241 359 0 +241 360 0 +241 361 0 +241 362 0 +241 363 0 +241 364 0 +241 365 0 +241 366 0 +241 367 0 +241 368 0 +241 369 0 +241 370 0 +241 371 0 +241 372 0 +241 373 0 +241 374 0 +241 375 0 +241 376 0 +241 377 0 +241 378 0 +241 379 0 +241 380 0 +241 381 0 +241 382 0 +241 383 0 +242 243 0 +242 244 0 +242 245 0 +242 246 0 +242 247 0 +242 248 0 +242 249 0 +242 250 0 +242 251 0 +242 252 0 +242 253 0 +242 254 0 +242 255 0 +242 256 0 +242 257 0 +242 258 0 +242 259 0 +242 260 0 +242 261 0 +242 262 0 +242 263 0 +242 264 0 +242 265 0 +242 266 0 +242 267 0 +242 268 0 +242 269 0 +242 270 0 +242 271 0 +242 272 0 +242 273 0 +242 274 0 +242 275 0 +242 276 0 +242 277 0 +242 278 0 +242 279 0 +242 280 0 +242 281 0 +242 282 0 +242 283 0 +242 284 0 +242 285 0 +242 286 0 +242 287 0 +242 288 0 +242 289 0 +242 290 0 +242 291 0 +242 292 0 +242 293 0 +242 294 0 +242 295 0 +242 296 0 +242 297 0 +242 298 0 +242 299 0 +242 300 0 +242 301 0 +242 302 0 +242 303 0 +242 304 0 +242 305 0 +242 306 0 +242 307 0 +242 308 0 +242 309 0 +242 310 0 +242 311 0 +242 312 0 +242 313 0 +242 314 0 +242 315 0 +242 316 0 +242 317 0 +242 318 0 +242 319 0 +242 320 0 +242 321 0 +242 322 0 +242 323 0 +242 324 0 +242 325 0 +242 326 0 +242 327 0 +242 328 0 +242 329 0 +242 330 0 +242 331 0 +242 332 0 +242 333 0 +242 334 0 +242 335 0 +242 336 0 +242 337 0 +242 338 0 +242 339 0 +242 340 0 +242 341 0 +242 342 0 +242 343 0 +242 344 0 +242 345 0 +242 346 0 +242 347 0 +242 348 0 +242 349 0 +242 350 0 +242 351 0 +242 352 0 +242 353 0 +242 354 0 +242 355 0 +242 356 0 +242 357 0 +242 358 0 +242 359 0 +242 360 0 +242 361 0 +242 362 0 +242 363 0 +242 364 0 +242 365 0 +242 366 0 +242 367 0 +242 368 0 +242 369 0 +242 370 0 +242 371 0 +242 372 0 +242 373 0 +242 374 0 +242 375 0 +242 376 0 +242 377 0 +242 378 0 +242 379 0 +242 380 0 +242 381 0 +242 382 0 +242 383 0 +243 244 0 +243 245 0 +243 246 0 +243 247 0 +243 248 0 +243 249 0 +243 250 0 +243 251 0 +243 252 0 +243 253 0 +243 254 0 +243 255 0 +243 256 0 +243 257 0 +243 258 0 +243 259 0 +243 260 0 +243 261 0 +243 262 0 +243 263 0 +243 264 0 +243 265 0 +243 266 0 +243 267 0 +243 268 0 +243 269 0 +243 270 0 +243 271 0 +243 272 0 +243 273 0 +243 274 0 +243 275 0 +243 276 0 +243 277 0 +243 278 0 +243 279 0 +243 280 0 +243 281 0 +243 282 0 +243 283 0 +243 284 0 +243 285 0 +243 286 0 +243 287 0 +243 288 0 +243 289 0 +243 290 0 +243 291 0 +243 292 0 +243 293 0 +243 294 0 +243 295 0 +243 296 0 +243 297 0 +243 298 0 +243 299 0 +243 300 0 +243 301 0 +243 302 0 +243 303 0 +243 304 0 +243 305 0 +243 306 0 +243 307 0 +243 308 0 +243 309 0 +243 310 0 +243 311 0 +243 312 0 +243 313 0 +243 314 0 +243 315 0 +243 316 0 +243 317 0 +243 318 0 +243 319 0 +243 320 0 +243 321 0 +243 322 0 +243 323 0 +243 324 0 +243 325 0 +243 326 0 +243 327 0 +243 328 0 +243 329 0 +243 330 0 +243 331 0 +243 332 0 +243 333 0 +243 334 0 +243 335 0 +243 336 0 +243 337 0 +243 338 0 +243 339 0 +243 340 0 +243 341 0 +243 342 0 +243 343 0 +243 344 0 +243 345 0 +243 346 0 +243 347 0 +243 348 0 +243 349 0 +243 350 0 +243 351 0 +243 352 0 +243 353 0 +243 354 0 +243 355 0 +243 356 0 +243 357 0 +243 358 0 +243 359 0 +243 360 0 +243 361 0 +243 362 0 +243 363 0 +243 364 0 +243 365 0 +243 366 0 +243 367 0 +243 368 0 +243 369 0 +243 370 0 +243 371 0 +243 372 0 +243 373 0 +243 374 0 +243 375 0 +243 376 0 +243 377 0 +243 378 0 +243 379 0 +243 380 0 +243 381 0 +243 382 0 +243 383 0 +244 245 0 +244 246 0 +244 247 0 +244 248 0 +244 249 0 +244 250 0 +244 251 0 +244 252 0 +244 253 0 +244 254 0 +244 255 0 +244 256 0 +244 257 0 +244 258 0 +244 259 0 +244 260 0 +244 261 0 +244 262 0 +244 263 0 +244 264 0 +244 265 0 +244 266 0 +244 267 0 +244 268 0 +244 269 0 +244 270 0 +244 271 0 +244 272 0 +244 273 0 +244 274 0 +244 275 0 +244 276 0 +244 277 0 +244 278 0 +244 279 0 +244 280 0 +244 281 0 +244 282 0 +244 283 0 +244 284 0 +244 285 0 +244 286 0 +244 287 0 +244 288 0 +244 289 0 +244 290 0 +244 291 0 +244 292 0 +244 293 0 +244 294 0 +244 295 0 +244 296 0 +244 297 0 +244 298 0 +244 299 0 +244 300 0 +244 301 0 +244 302 0 +244 303 0 +244 304 0 +244 305 0 +244 306 0 +244 307 0 +244 308 0 +244 309 0 +244 310 0 +244 311 0 +244 312 0 +244 313 0 +244 314 0 +244 315 0 +244 316 0 +244 317 0 +244 318 0 +244 319 0 +244 320 0 +244 321 0 +244 322 0 +244 323 0 +244 324 0 +244 325 0 +244 326 0 +244 327 0 +244 328 0 +244 329 0 +244 330 0 +244 331 0 +244 332 0 +244 333 0 +244 334 0 +244 335 0 +244 336 0 +244 337 0 +244 338 0 +244 339 0 +244 340 0 +244 341 0 +244 342 0 +244 343 0 +244 344 0 +244 345 0 +244 346 0 +244 347 0 +244 348 0 +244 349 0 +244 350 0 +244 351 0 +244 352 0 +244 353 0 +244 354 0 +244 355 0 +244 356 0 +244 357 0 +244 358 0 +244 359 0 +244 360 0 +244 361 0 +244 362 0 +244 363 0 +244 364 0 +244 365 0 +244 366 0 +244 367 0 +244 368 0 +244 369 0 +244 370 0 +244 371 0 +244 372 0 +244 373 0 +244 374 0 +244 375 0 +244 376 0 +244 377 0 +244 378 0 +244 379 0 +244 380 0 +244 381 0 +244 382 0 +244 383 0 +245 246 0 +245 247 0 +245 248 0 +245 249 0 +245 250 0 +245 251 0 +245 252 0 +245 253 0 +245 254 0 +245 255 0 +245 256 0 +245 257 0 +245 258 0 +245 259 0 +245 260 0 +245 261 0 +245 262 0 +245 263 0 +245 264 0 +245 265 0 +245 266 0 +245 267 0 +245 268 0 +245 269 0 +245 270 0 +245 271 0 +245 272 0 +245 273 0 +245 274 0 +245 275 0 +245 276 0 +245 277 0 +245 278 0 +245 279 0 +245 280 0 +245 281 0 +245 282 0 +245 283 0 +245 284 0 +245 285 0 +245 286 0 +245 287 0 +245 288 0 +245 289 0 +245 290 0 +245 291 0 +245 292 0 +245 293 0 +245 294 0 +245 295 0 +245 296 0 +245 297 0 +245 298 0 +245 299 0 +245 300 0 +245 301 0 +245 302 0 +245 303 0 +245 304 0 +245 305 0 +245 306 0 +245 307 0 +245 308 0 +245 309 0 +245 310 0 +245 311 0 +245 312 0 +245 313 0 +245 314 0 +245 315 0 +245 316 0 +245 317 0 +245 318 0 +245 319 0 +245 320 0 +245 321 0 +245 322 0 +245 323 0 +245 324 0 +245 325 0 +245 326 0 +245 327 0 +245 328 0 +245 329 0 +245 330 0 +245 331 0 +245 332 0 +245 333 0 +245 334 0 +245 335 0 +245 336 0 +245 337 0 +245 338 0 +245 339 0 +245 340 0 +245 341 0 +245 342 0 +245 343 0 +245 344 0 +245 345 0 +245 346 0 +245 347 0 +245 348 0 +245 349 0 +245 350 0 +245 351 0 +245 352 0 +245 353 0 +245 354 0 +245 355 0 +245 356 0 +245 357 0 +245 358 0 +245 359 0 +245 360 0 +245 361 0 +245 362 0 +245 363 0 +245 364 0 +245 365 0 +245 366 0 +245 367 0 +245 368 0 +245 369 0 +245 370 0 +245 371 0 +245 372 0 +245 373 0 +245 374 0 +245 375 0 +245 376 0 +245 377 0 +245 378 0 +245 379 0 +245 380 0 +245 381 0 +245 382 0 +245 383 0 +246 247 0 +246 248 0 +246 249 0 +246 250 0 +246 251 0 +246 252 0 +246 253 0 +246 254 0 +246 255 0 +246 256 0 +246 257 0 +246 258 0 +246 259 0 +246 260 0 +246 261 0 +246 262 0 +246 263 0 +246 264 0 +246 265 0 +246 266 0 +246 267 0 +246 268 0 +246 269 0 +246 270 0 +246 271 0 +246 272 0 +246 273 0 +246 274 0 +246 275 0 +246 276 0 +246 277 0 +246 278 0 +246 279 0 +246 280 0 +246 281 0 +246 282 0 +246 283 0 +246 284 0 +246 285 0 +246 286 0 +246 287 0 +246 288 0 +246 289 0 +246 290 0 +246 291 0 +246 292 0 +246 293 0 +246 294 0 +246 295 0 +246 296 0 +246 297 0 +246 298 0 +246 299 0 +246 300 0 +246 301 0 +246 302 0 +246 303 0 +246 304 0 +246 305 0 +246 306 0 +246 307 0 +246 308 0 +246 309 0 +246 310 0 +246 311 0 +246 312 0 +246 313 0 +246 314 0 +246 315 0 +246 316 0 +246 317 0 +246 318 0 +246 319 0 +246 320 0 +246 321 0 +246 322 0 +246 323 0 +246 324 0 +246 325 0 +246 326 0 +246 327 0 +246 328 0 +246 329 0 +246 330 0 +246 331 0 +246 332 0 +246 333 0 +246 334 0 +246 335 0 +246 336 0 +246 337 0 +246 338 0 +246 339 0 +246 340 0 +246 341 0 +246 342 0 +246 343 0 +246 344 0 +246 345 0 +246 346 0 +246 347 0 +246 348 0 +246 349 0 +246 350 0 +246 351 0 +246 352 0 +246 353 0 +246 354 0 +246 355 0 +246 356 0 +246 357 0 +246 358 0 +246 359 0 +246 360 0 +246 361 0 +246 362 0 +246 363 0 +246 364 0 +246 365 0 +246 366 0 +246 367 0 +246 368 0 +246 369 0 +246 370 0 +246 371 0 +246 372 0 +246 373 0 +246 374 0 +246 375 0 +246 376 0 +246 377 0 +246 378 0 +246 379 0 +246 380 0 +246 381 0 +246 382 0 +246 383 0 +247 248 0 +247 249 0 +247 250 0 +247 251 0 +247 252 0 +247 253 0 +247 254 0 +247 255 0 +247 256 0 +247 257 0 +247 258 0 +247 259 0 +247 260 0 +247 261 0 +247 262 0 +247 263 0 +247 264 0 +247 265 0 +247 266 0 +247 267 0 +247 268 0 +247 269 0 +247 270 0 +247 271 0 +247 272 0 +247 273 0 +247 274 0 +247 275 0 +247 276 0 +247 277 0 +247 278 0 +247 279 0 +247 280 0 +247 281 0 +247 282 0 +247 283 0 +247 284 0 +247 285 0 +247 286 0 +247 287 0 +247 288 0 +247 289 0 +247 290 0 +247 291 0 +247 292 0 +247 293 0 +247 294 0 +247 295 0 +247 296 0 +247 297 0 +247 298 0 +247 299 0 +247 300 0 +247 301 0 +247 302 0 +247 303 0 +247 304 0 +247 305 0 +247 306 0 +247 307 0 +247 308 0 +247 309 0 +247 310 0 +247 311 0 +247 312 0 +247 313 0 +247 314 0 +247 315 0 +247 316 0 +247 317 0 +247 318 0 +247 319 0 +247 320 0 +247 321 0 +247 322 0 +247 323 0 +247 324 0 +247 325 0 +247 326 0 +247 327 0 +247 328 0 +247 329 0 +247 330 0 +247 331 0 +247 332 0 +247 333 0 +247 334 0 +247 335 0 +247 336 0 +247 337 0 +247 338 0 +247 339 0 +247 340 0 +247 341 0 +247 342 0 +247 343 0 +247 344 0 +247 345 0 +247 346 0 +247 347 0 +247 348 0 +247 349 0 +247 350 0 +247 351 0 +247 352 0 +247 353 0 +247 354 0 +247 355 0 +247 356 0 +247 357 0 +247 358 0 +247 359 0 +247 360 0 +247 361 0 +247 362 0 +247 363 0 +247 364 0 +247 365 0 +247 366 0 +247 367 0 +247 368 0 +247 369 0 +247 370 0 +247 371 0 +247 372 0 +247 373 0 +247 374 0 +247 375 0 +247 376 0 +247 377 0 +247 378 0 +247 379 0 +247 380 0 +247 381 0 +247 382 0 +247 383 0 +248 249 0 +248 250 0 +248 251 0 +248 252 0 +248 253 0 +248 254 0 +248 255 0 +248 256 0 +248 257 0 +248 258 0 +248 259 0 +248 260 0 +248 261 0 +248 262 0 +248 263 0 +248 264 0 +248 265 0 +248 266 0 +248 267 0 +248 268 0 +248 269 0 +248 270 0 +248 271 0 +248 272 0 +248 273 0 +248 274 0 +248 275 0 +248 276 0 +248 277 0 +248 278 0 +248 279 0 +248 280 0 +248 281 0 +248 282 0 +248 283 0 +248 284 0 +248 285 0 +248 286 0 +248 287 0 +248 288 0 +248 289 0 +248 290 0 +248 291 0 +248 292 0 +248 293 0 +248 294 0 +248 295 0 +248 296 0 +248 297 0 +248 298 0 +248 299 0 +248 300 0 +248 301 0 +248 302 0 +248 303 0 +248 304 0 +248 305 0 +248 306 0 +248 307 0 +248 308 0 +248 309 0 +248 310 0 +248 311 0 +248 312 0 +248 313 0 +248 314 0 +248 315 0 +248 316 0 +248 317 0 +248 318 0 +248 319 0 +248 320 0 +248 321 0 +248 322 0 +248 323 0 +248 324 0 +248 325 0 +248 326 0 +248 327 0 +248 328 0 +248 329 0 +248 330 0 +248 331 0 +248 332 0 +248 333 0 +248 334 0 +248 335 0 +248 336 0 +248 337 0 +248 338 0 +248 339 0 +248 340 0 +248 341 0 +248 342 0 +248 343 0 +248 344 0 +248 345 0 +248 346 0 +248 347 0 +248 348 0 +248 349 0 +248 350 0 +248 351 0 +248 352 0 +248 353 0 +248 354 0 +248 355 0 +248 356 0 +248 357 0 +248 358 0 +248 359 0 +248 360 0 +248 361 0 +248 362 0 +248 363 0 +248 364 0 +248 365 0 +248 366 0 +248 367 0 +248 368 0 +248 369 0 +248 370 0 +248 371 0 +248 372 0 +248 373 0 +248 374 0 +248 375 0 +248 376 0 +248 377 0 +248 378 0 +248 379 0 +248 380 0 +248 381 0 +248 382 0 +248 383 0 +249 250 0 +249 251 0 +249 252 0 +249 253 0 +249 254 0 +249 255 0 +249 256 0 +249 257 0 +249 258 0 +249 259 0 +249 260 0 +249 261 0 +249 262 0 +249 263 0 +249 264 0 +249 265 0 +249 266 0 +249 267 0 +249 268 0 +249 269 0 +249 270 0 +249 271 0 +249 272 0 +249 273 0 +249 274 0 +249 275 0 +249 276 0 +249 277 0 +249 278 0 +249 279 0 +249 280 0 +249 281 0 +249 282 0 +249 283 0 +249 284 0 +249 285 0 +249 286 0 +249 287 0 +249 288 0 +249 289 0 +249 290 0 +249 291 0 +249 292 0 +249 293 0 +249 294 0 +249 295 0 +249 296 0 +249 297 0 +249 298 0 +249 299 0 +249 300 0 +249 301 0 +249 302 0 +249 303 0 +249 304 0 +249 305 0 +249 306 0 +249 307 0 +249 308 0 +249 309 0 +249 310 0 +249 311 0 +249 312 0 +249 313 0 +249 314 0 +249 315 0 +249 316 0 +249 317 0 +249 318 0 +249 319 0 +249 320 0 +249 321 0 +249 322 0 +249 323 0 +249 324 0 +249 325 0 +249 326 0 +249 327 0 +249 328 0 +249 329 0 +249 330 0 +249 331 0 +249 332 0 +249 333 0 +249 334 0 +249 335 0 +249 336 0 +249 337 0 +249 338 0 +249 339 0 +249 340 0 +249 341 0 +249 342 0 +249 343 0 +249 344 0 +249 345 0 +249 346 0 +249 347 0 +249 348 0 +249 349 0 +249 350 0 +249 351 0 +249 352 0 +249 353 0 +249 354 0 +249 355 0 +249 356 0 +249 357 0 +249 358 0 +249 359 0 +249 360 0 +249 361 0 +249 362 0 +249 363 0 +249 364 0 +249 365 0 +249 366 0 +249 367 0 +249 368 0 +249 369 0 +249 370 0 +249 371 0 +249 372 0 +249 373 0 +249 374 0 +249 375 0 +249 376 0 +249 377 0 +249 378 0 +249 379 0 +249 380 0 +249 381 0 +249 382 0 +249 383 0 +250 251 0 +250 252 0 +250 253 0 +250 254 0 +250 255 0 +250 256 0 +250 257 0 +250 258 0 +250 259 0 +250 260 0 +250 261 0 +250 262 0 +250 263 0 +250 264 0 +250 265 0 +250 266 0 +250 267 0 +250 268 0 +250 269 0 +250 270 0 +250 271 0 +250 272 0 +250 273 0 +250 274 0 +250 275 0 +250 276 0 +250 277 0 +250 278 0 +250 279 0 +250 280 0 +250 281 0 +250 282 0 +250 283 0 +250 284 0 +250 285 0 +250 286 0 +250 287 0 +250 288 0 +250 289 0 +250 290 0 +250 291 0 +250 292 0 +250 293 0 +250 294 0 +250 295 0 +250 296 0 +250 297 0 +250 298 0 +250 299 0 +250 300 0 +250 301 0 +250 302 0 +250 303 0 +250 304 0 +250 305 0 +250 306 0 +250 307 0 +250 308 0 +250 309 0 +250 310 0 +250 311 0 +250 312 0 +250 313 0 +250 314 0 +250 315 0 +250 316 0 +250 317 0 +250 318 0 +250 319 0 +250 320 0 +250 321 0 +250 322 0 +250 323 0 +250 324 0 +250 325 0 +250 326 0 +250 327 0 +250 328 0 +250 329 0 +250 330 0 +250 331 0 +250 332 0 +250 333 0 +250 334 0 +250 335 0 +250 336 0 +250 337 0 +250 338 0 +250 339 0 +250 340 0 +250 341 0 +250 342 0 +250 343 0 +250 344 0 +250 345 0 +250 346 0 +250 347 0 +250 348 0 +250 349 0 +250 350 0 +250 351 0 +250 352 0 +250 353 0 +250 354 0 +250 355 0 +250 356 0 +250 357 0 +250 358 0 +250 359 0 +250 360 0 +250 361 0 +250 362 0 +250 363 0 +250 364 0 +250 365 0 +250 366 0 +250 367 0 +250 368 0 +250 369 0 +250 370 0 +250 371 0 +250 372 0 +250 373 0 +250 374 0 +250 375 0 +250 376 0 +250 377 0 +250 378 0 +250 379 0 +250 380 0 +250 381 0 +250 382 0 +250 383 0 +251 252 0 +251 253 0 +251 254 0 +251 255 0 +251 256 0 +251 257 0 +251 258 0 +251 259 0 +251 260 0 +251 261 0 +251 262 0 +251 263 0 +251 264 0 +251 265 0 +251 266 0 +251 267 0 +251 268 0 +251 269 0 +251 270 0 +251 271 0 +251 272 0 +251 273 0 +251 274 0 +251 275 0 +251 276 0 +251 277 0 +251 278 0 +251 279 0 +251 280 0 +251 281 0 +251 282 0 +251 283 0 +251 284 0 +251 285 0 +251 286 0 +251 287 0 +251 288 0 +251 289 0 +251 290 0 +251 291 0 +251 292 0 +251 293 0 +251 294 0 +251 295 0 +251 296 0 +251 297 0 +251 298 0 +251 299 0 +251 300 0 +251 301 0 +251 302 0 +251 303 0 +251 304 0 +251 305 0 +251 306 0 +251 307 0 +251 308 0 +251 309 0 +251 310 0 +251 311 0 +251 312 0 +251 313 0 +251 314 0 +251 315 0 +251 316 0 +251 317 0 +251 318 0 +251 319 0 +251 320 0 +251 321 0 +251 322 0 +251 323 0 +251 324 0 +251 325 0 +251 326 0 +251 327 0 +251 328 0 +251 329 0 +251 330 0 +251 331 0 +251 332 0 +251 333 0 +251 334 0 +251 335 0 +251 336 0 +251 337 0 +251 338 0 +251 339 0 +251 340 0 +251 341 0 +251 342 0 +251 343 0 +251 344 0 +251 345 0 +251 346 0 +251 347 0 +251 348 0 +251 349 0 +251 350 0 +251 351 0 +251 352 0 +251 353 0 +251 354 0 +251 355 0 +251 356 0 +251 357 0 +251 358 0 +251 359 0 +251 360 0 +251 361 0 +251 362 0 +251 363 0 +251 364 0 +251 365 0 +251 366 0 +251 367 0 +251 368 0 +251 369 0 +251 370 0 +251 371 0 +251 372 0 +251 373 0 +251 374 0 +251 375 0 +251 376 0 +251 377 0 +251 378 0 +251 379 0 +251 380 0 +251 381 0 +251 382 0 +251 383 0 +252 253 0 +252 254 0 +252 255 0 +252 256 0 +252 257 0 +252 258 0 +252 259 0 +252 260 0 +252 261 0 +252 262 0 +252 263 0 +252 264 0 +252 265 0 +252 266 0 +252 267 0 +252 268 0 +252 269 0 +252 270 0 +252 271 0 +252 272 0 +252 273 0 +252 274 0 +252 275 0 +252 276 0 +252 277 0 +252 278 0 +252 279 0 +252 280 0 +252 281 0 +252 282 0 +252 283 0 +252 284 0 +252 285 0 +252 286 0 +252 287 0 +252 288 0 +252 289 0 +252 290 0 +252 291 0 +252 292 0 +252 293 0 +252 294 0 +252 295 0 +252 296 0 +252 297 0 +252 298 0 +252 299 0 +252 300 0 +252 301 0 +252 302 0 +252 303 0 +252 304 0 +252 305 0 +252 306 0 +252 307 0 +252 308 0 +252 309 0 +252 310 0 +252 311 0 +252 312 0 +252 313 0 +252 314 0 +252 315 0 +252 316 0 +252 317 0 +252 318 0 +252 319 0 +252 320 0 +252 321 0 +252 322 0 +252 323 0 +252 324 0 +252 325 0 +252 326 0 +252 327 0 +252 328 0 +252 329 0 +252 330 0 +252 331 0 +252 332 0 +252 333 0 +252 334 0 +252 335 0 +252 336 0 +252 337 0 +252 338 0 +252 339 0 +252 340 0 +252 341 0 +252 342 0 +252 343 0 +252 344 0 +252 345 0 +252 346 0 +252 347 0 +252 348 0 +252 349 0 +252 350 0 +252 351 0 +252 352 0 +252 353 0 +252 354 0 +252 355 0 +252 356 0 +252 357 0 +252 358 0 +252 359 0 +252 360 0 +252 361 0 +252 362 0 +252 363 0 +252 364 0 +252 365 0 +252 366 0 +252 367 0 +252 368 0 +252 369 0 +252 370 0 +252 371 0 +252 372 0 +252 373 0 +252 374 0 +252 375 0 +252 376 0 +252 377 0 +252 378 0 +252 379 0 +252 380 0 +252 381 0 +252 382 0 +252 383 0 +253 254 0 +253 255 0 +253 256 0 +253 257 0 +253 258 0 +253 259 0 +253 260 0 +253 261 0 +253 262 0 +253 263 0 +253 264 0 +253 265 0 +253 266 0 +253 267 0 +253 268 0 +253 269 0 +253 270 0 +253 271 0 +253 272 0 +253 273 0 +253 274 0 +253 275 0 +253 276 0 +253 277 0 +253 278 0 +253 279 0 +253 280 0 +253 281 0 +253 282 0 +253 283 0 +253 284 0 +253 285 0 +253 286 0 +253 287 0 +253 288 0 +253 289 0 +253 290 0 +253 291 0 +253 292 0 +253 293 0 +253 294 0 +253 295 0 +253 296 0 +253 297 0 +253 298 0 +253 299 0 +253 300 0 +253 301 0 +253 302 0 +253 303 0 +253 304 0 +253 305 0 +253 306 0 +253 307 0 +253 308 0 +253 309 0 +253 310 0 +253 311 0 +253 312 0 +253 313 0 +253 314 0 +253 315 0 +253 316 0 +253 317 0 +253 318 0 +253 319 0 +253 320 0 +253 321 0 +253 322 0 +253 323 0 +253 324 0 +253 325 0 +253 326 0 +253 327 0 +253 328 0 +253 329 0 +253 330 0 +253 331 0 +253 332 0 +253 333 0 +253 334 0 +253 335 0 +253 336 0 +253 337 0 +253 338 0 +253 339 0 +253 340 0 +253 341 0 +253 342 0 +253 343 0 +253 344 0 +253 345 0 +253 346 0 +253 347 0 +253 348 0 +253 349 0 +253 350 0 +253 351 0 +253 352 0 +253 353 0 +253 354 0 +253 355 0 +253 356 0 +253 357 0 +253 358 0 +253 359 0 +253 360 0 +253 361 0 +253 362 0 +253 363 0 +253 364 0 +253 365 0 +253 366 0 +253 367 0 +253 368 0 +253 369 0 +253 370 0 +253 371 0 +253 372 0 +253 373 0 +253 374 0 +253 375 0 +253 376 0 +253 377 0 +253 378 0 +253 379 0 +253 380 0 +253 381 0 +253 382 0 +253 383 0 +254 255 0 +254 256 0 +254 257 0 +254 258 0 +254 259 0 +254 260 0 +254 261 0 +254 262 0 +254 263 0 +254 264 0 +254 265 0 +254 266 0 +254 267 0 +254 268 0 +254 269 0 +254 270 0 +254 271 0 +254 272 0 +254 273 0 +254 274 0 +254 275 0 +254 276 0 +254 277 0 +254 278 0 +254 279 0 +254 280 0 +254 281 0 +254 282 0 +254 283 0 +254 284 0 +254 285 0 +254 286 0 +254 287 0 +254 288 0 +254 289 0 +254 290 0 +254 291 0 +254 292 0 +254 293 0 +254 294 0 +254 295 0 +254 296 0 +254 297 0 +254 298 0 +254 299 0 +254 300 0 +254 301 0 +254 302 0 +254 303 0 +254 304 0 +254 305 0 +254 306 0 +254 307 0 +254 308 0 +254 309 0 +254 310 0 +254 311 0 +254 312 0 +254 313 0 +254 314 0 +254 315 0 +254 316 0 +254 317 0 +254 318 0 +254 319 0 +254 320 0 +254 321 0 +254 322 0 +254 323 0 +254 324 0 +254 325 0 +254 326 0 +254 327 0 +254 328 0 +254 329 0 +254 330 0 +254 331 0 +254 332 0 +254 333 0 +254 334 0 +254 335 0 +254 336 0 +254 337 0 +254 338 0 +254 339 0 +254 340 0 +254 341 0 +254 342 0 +254 343 0 +254 344 0 +254 345 0 +254 346 0 +254 347 0 +254 348 0 +254 349 0 +254 350 0 +254 351 0 +254 352 0 +254 353 0 +254 354 0 +254 355 0 +254 356 0 +254 357 0 +254 358 0 +254 359 0 +254 360 0 +254 361 0 +254 362 0 +254 363 0 +254 364 0 +254 365 0 +254 366 0 +254 367 0 +254 368 0 +254 369 0 +254 370 0 +254 371 0 +254 372 0 +254 373 0 +254 374 0 +254 375 0 +254 376 0 +254 377 0 +254 378 0 +254 379 0 +254 380 0 +254 381 0 +254 382 0 +254 383 0 +255 256 0 +255 257 0 +255 258 0 +255 259 0 +255 260 0 +255 261 0 +255 262 0 +255 263 0 +255 264 0 +255 265 0 +255 266 0 +255 267 0 +255 268 0 +255 269 0 +255 270 0 +255 271 0 +255 272 0 +255 273 0 +255 274 0 +255 275 0 +255 276 0 +255 277 0 +255 278 0 +255 279 0 +255 280 0 +255 281 0 +255 282 0 +255 283 0 +255 284 0 +255 285 0 +255 286 0 +255 287 0 +255 288 0 +255 289 0 +255 290 0 +255 291 0 +255 292 0 +255 293 0 +255 294 0 +255 295 0 +255 296 0 +255 297 0 +255 298 0 +255 299 0 +255 300 0 +255 301 0 +255 302 0 +255 303 0 +255 304 0 +255 305 0 +255 306 0 +255 307 0 +255 308 0 +255 309 0 +255 310 0 +255 311 0 +255 312 0 +255 313 0 +255 314 0 +255 315 0 +255 316 0 +255 317 0 +255 318 0 +255 319 0 +255 320 0 +255 321 0 +255 322 0 +255 323 0 +255 324 0 +255 325 0 +255 326 0 +255 327 0 +255 328 0 +255 329 0 +255 330 0 +255 331 0 +255 332 0 +255 333 0 +255 334 0 +255 335 0 +255 336 0 +255 337 0 +255 338 0 +255 339 0 +255 340 0 +255 341 0 +255 342 0 +255 343 0 +255 344 0 +255 345 0 +255 346 0 +255 347 0 +255 348 0 +255 349 0 +255 350 0 +255 351 0 +255 352 0 +255 353 0 +255 354 0 +255 355 0 +255 356 0 +255 357 0 +255 358 0 +255 359 0 +255 360 0 +255 361 0 +255 362 0 +255 363 0 +255 364 0 +255 365 0 +255 366 0 +255 367 0 +255 368 0 +255 369 0 +255 370 0 +255 371 0 +255 372 0 +255 373 0 +255 374 0 +255 375 0 +255 376 0 +255 377 0 +255 378 0 +255 379 0 +255 380 0 +255 381 0 +255 382 0 +255 383 0 +256 257 0 +256 258 0 +256 259 0 +256 260 0 +256 261 0 +256 262 0 +256 263 0 +256 264 0 +256 265 0 +256 266 0 +256 267 0 +256 268 0 +256 269 0 +256 270 0 +256 271 0 +256 272 0 +256 273 0 +256 274 0 +256 275 0 +256 276 0 +256 277 0 +256 278 0 +256 279 0 +256 280 0 +256 281 0 +256 282 0 +256 283 0 +256 284 0 +256 285 0 +256 286 0 +256 287 0 +256 288 0 +256 289 0 +256 290 0 +256 291 0 +256 292 0 +256 293 0 +256 294 0 +256 295 0 +256 296 0 +256 297 0 +256 298 0 +256 299 0 +256 300 0 +256 301 0 +256 302 0 +256 303 0 +256 304 0 +256 305 0 +256 306 0 +256 307 0 +256 308 0 +256 309 0 +256 310 0 +256 311 0 +256 312 0 +256 313 0 +256 314 0 +256 315 0 +256 316 0 +256 317 0 +256 318 0 +256 319 0 +256 320 0 +256 321 0 +256 322 0 +256 323 0 +256 324 0 +256 325 0 +256 326 0 +256 327 0 +256 328 0 +256 329 0 +256 330 0 +256 331 0 +256 332 0 +256 333 0 +256 334 0 +256 335 0 +256 336 0 +256 337 0 +256 338 0 +256 339 0 +256 340 0 +256 341 0 +256 342 0 +256 343 0 +256 344 0 +256 345 0 +256 346 0 +256 347 0 +256 348 0 +256 349 0 +256 350 0 +256 351 0 +256 352 0 +256 353 0 +256 354 0 +256 355 0 +256 356 0 +256 357 0 +256 358 0 +256 359 0 +256 360 0 +256 361 0 +256 362 0 +256 363 0 +256 364 0 +256 365 0 +256 366 0 +256 367 0 +256 368 0 +256 369 0 +256 370 0 +256 371 0 +256 372 0 +256 373 0 +256 374 0 +256 375 0 +256 376 0 +256 377 0 +256 378 0 +256 379 0 +256 380 0 +256 381 0 +256 382 0 +256 383 0 +257 258 0 +257 259 0 +257 260 0 +257 261 0 +257 262 0 +257 263 0 +257 264 0 +257 265 0 +257 266 0 +257 267 0 +257 268 0 +257 269 0 +257 270 0 +257 271 0 +257 272 0 +257 273 0 +257 274 0 +257 275 0 +257 276 0 +257 277 0 +257 278 0 +257 279 0 +257 280 0 +257 281 0 +257 282 0 +257 283 0 +257 284 0 +257 285 0 +257 286 0 +257 287 0 +257 288 0 +257 289 0 +257 290 0 +257 291 0 +257 292 0 +257 293 0 +257 294 0 +257 295 0 +257 296 0 +257 297 0 +257 298 0 +257 299 0 +257 300 0 +257 301 0 +257 302 0 +257 303 0 +257 304 0 +257 305 0 +257 306 0 +257 307 0 +257 308 0 +257 309 0 +257 310 0 +257 311 0 +257 312 0 +257 313 0 +257 314 0 +257 315 0 +257 316 0 +257 317 0 +257 318 0 +257 319 0 +257 320 0 +257 321 0 +257 322 0 +257 323 0 +257 324 0 +257 325 0 +257 326 0 +257 327 0 +257 328 0 +257 329 0 +257 330 0 +257 331 0 +257 332 0 +257 333 0 +257 334 0 +257 335 0 +257 336 0 +257 337 0 +257 338 0 +257 339 0 +257 340 0 +257 341 0 +257 342 0 +257 343 0 +257 344 0 +257 345 0 +257 346 0 +257 347 0 +257 348 0 +257 349 0 +257 350 0 +257 351 0 +257 352 0 +257 353 0 +257 354 0 +257 355 0 +257 356 0 +257 357 0 +257 358 0 +257 359 0 +257 360 0 +257 361 0 +257 362 0 +257 363 0 +257 364 0 +257 365 0 +257 366 0 +257 367 0 +257 368 0 +257 369 0 +257 370 0 +257 371 0 +257 372 0 +257 373 0 +257 374 0 +257 375 0 +257 376 0 +257 377 0 +257 378 0 +257 379 0 +257 380 0 +257 381 0 +257 382 0 +257 383 0 +258 259 0 +258 260 0 +258 261 0 +258 262 0 +258 263 0 +258 264 0 +258 265 0 +258 266 0 +258 267 0 +258 268 0 +258 269 0 +258 270 0 +258 271 0 +258 272 0 +258 273 0 +258 274 0 +258 275 0 +258 276 0 +258 277 0 +258 278 0 +258 279 0 +258 280 0 +258 281 0 +258 282 0 +258 283 0 +258 284 0 +258 285 0 +258 286 0 +258 287 0 +258 288 0 +258 289 0 +258 290 0 +258 291 0 +258 292 0 +258 293 0 +258 294 0 +258 295 0 +258 296 0 +258 297 0 +258 298 0 +258 299 0 +258 300 0 +258 301 0 +258 302 0 +258 303 0 +258 304 0 +258 305 0 +258 306 0 +258 307 0 +258 308 0 +258 309 0 +258 310 0 +258 311 0 +258 312 0 +258 313 0 +258 314 0 +258 315 0 +258 316 0 +258 317 0 +258 318 0 +258 319 0 +258 320 0 +258 321 0 +258 322 0 +258 323 0 +258 324 0 +258 325 0 +258 326 0 +258 327 0 +258 328 0 +258 329 0 +258 330 0 +258 331 0 +258 332 0 +258 333 0 +258 334 0 +258 335 0 +258 336 0 +258 337 0 +258 338 0 +258 339 0 +258 340 0 +258 341 0 +258 342 0 +258 343 0 +258 344 0 +258 345 0 +258 346 0 +258 347 0 +258 348 0 +258 349 0 +258 350 0 +258 351 0 +258 352 0 +258 353 0 +258 354 0 +258 355 0 +258 356 0 +258 357 0 +258 358 0 +258 359 0 +258 360 0 +258 361 0 +258 362 0 +258 363 0 +258 364 0 +258 365 0 +258 366 0 +258 367 0 +258 368 0 +258 369 0 +258 370 0 +258 371 0 +258 372 0 +258 373 0 +258 374 0 +258 375 0 +258 376 0 +258 377 0 +258 378 0 +258 379 0 +258 380 0 +258 381 0 +258 382 0 +258 383 0 +259 260 0 +259 261 0 +259 262 0 +259 263 0 +259 264 0 +259 265 0 +259 266 0 +259 267 0 +259 268 0 +259 269 0 +259 270 0 +259 271 0 +259 272 0 +259 273 0 +259 274 0 +259 275 0 +259 276 0 +259 277 0 +259 278 0 +259 279 0 +259 280 0 +259 281 0 +259 282 0 +259 283 0 +259 284 0 +259 285 0 +259 286 0 +259 287 0 +259 288 0 +259 289 0 +259 290 0 +259 291 0 +259 292 0 +259 293 0 +259 294 0 +259 295 0 +259 296 0 +259 297 0 +259 298 0 +259 299 0 +259 300 0 +259 301 0 +259 302 0 +259 303 0 +259 304 0 +259 305 0 +259 306 0 +259 307 0 +259 308 0 +259 309 0 +259 310 0 +259 311 0 +259 312 0 +259 313 0 +259 314 0 +259 315 0 +259 316 0 +259 317 0 +259 318 0 +259 319 0 +259 320 0 +259 321 0 +259 322 0 +259 323 0 +259 324 0 +259 325 0 +259 326 0 +259 327 0 +259 328 0 +259 329 0 +259 330 0 +259 331 0 +259 332 0 +259 333 0 +259 334 0 +259 335 0 +259 336 0 +259 337 0 +259 338 0 +259 339 0 +259 340 0 +259 341 0 +259 342 0 +259 343 0 +259 344 0 +259 345 0 +259 346 0 +259 347 0 +259 348 0 +259 349 0 +259 350 0 +259 351 0 +259 352 0 +259 353 0 +259 354 0 +259 355 0 +259 356 0 +259 357 0 +259 358 0 +259 359 0 +259 360 0 +259 361 0 +259 362 0 +259 363 0 +259 364 0 +259 365 0 +259 366 0 +259 367 0 +259 368 0 +259 369 0 +259 370 0 +259 371 0 +259 372 0 +259 373 0 +259 374 0 +259 375 0 +259 376 0 +259 377 0 +259 378 0 +259 379 0 +259 380 0 +259 381 0 +259 382 0 +259 383 0 +260 261 0 +260 262 0 +260 263 0 +260 264 0 +260 265 0 +260 266 0 +260 267 0 +260 268 0 +260 269 0 +260 270 0 +260 271 0 +260 272 0 +260 273 0 +260 274 0 +260 275 0 +260 276 0 +260 277 0 +260 278 0 +260 279 0 +260 280 0 +260 281 0 +260 282 0 +260 283 0 +260 284 0 +260 285 0 +260 286 0 +260 287 0 +260 288 0 +260 289 0 +260 290 0 +260 291 0 +260 292 0 +260 293 0 +260 294 0 +260 295 0 +260 296 0 +260 297 0 +260 298 0 +260 299 0 +260 300 0 +260 301 0 +260 302 0 +260 303 0 +260 304 0 +260 305 0 +260 306 0 +260 307 0 +260 308 0 +260 309 0 +260 310 0 +260 311 0 +260 312 0 +260 313 0 +260 314 0 +260 315 0 +260 316 0 +260 317 0 +260 318 0 +260 319 0 +260 320 0 +260 321 0 +260 322 0 +260 323 0 +260 324 0 +260 325 0 +260 326 0 +260 327 0 +260 328 0 +260 329 0 +260 330 0 +260 331 0 +260 332 0 +260 333 0 +260 334 0 +260 335 0 +260 336 0 +260 337 0 +260 338 0 +260 339 0 +260 340 0 +260 341 0 +260 342 0 +260 343 0 +260 344 0 +260 345 0 +260 346 0 +260 347 0 +260 348 0 +260 349 0 +260 350 0 +260 351 0 +260 352 0 +260 353 0 +260 354 0 +260 355 0 +260 356 0 +260 357 0 +260 358 0 +260 359 0 +260 360 0 +260 361 0 +260 362 0 +260 363 0 +260 364 0 +260 365 0 +260 366 0 +260 367 0 +260 368 0 +260 369 0 +260 370 0 +260 371 0 +260 372 0 +260 373 0 +260 374 0 +260 375 0 +260 376 0 +260 377 0 +260 378 0 +260 379 0 +260 380 0 +260 381 0 +260 382 0 +260 383 0 +261 262 0 +261 263 0 +261 264 0 +261 265 0 +261 266 0 +261 267 0 +261 268 0 +261 269 0 +261 270 0 +261 271 0 +261 272 0 +261 273 0 +261 274 0 +261 275 0 +261 276 0 +261 277 0 +261 278 0 +261 279 0 +261 280 0 +261 281 0 +261 282 0 +261 283 0 +261 284 0 +261 285 0 +261 286 0 +261 287 0 +261 288 0 +261 289 0 +261 290 0 +261 291 0 +261 292 0 +261 293 0 +261 294 0 +261 295 0 +261 296 0 +261 297 0 +261 298 0 +261 299 0 +261 300 0 +261 301 0 +261 302 0 +261 303 0 +261 304 0 +261 305 0 +261 306 0 +261 307 0 +261 308 0 +261 309 0 +261 310 0 +261 311 0 +261 312 0 +261 313 0 +261 314 0 +261 315 0 +261 316 0 +261 317 0 +261 318 0 +261 319 0 +261 320 0 +261 321 0 +261 322 0 +261 323 0 +261 324 0 +261 325 0 +261 326 0 +261 327 0 +261 328 0 +261 329 0 +261 330 0 +261 331 0 +261 332 0 +261 333 0 +261 334 0 +261 335 0 +261 336 0 +261 337 0 +261 338 0 +261 339 0 +261 340 0 +261 341 0 +261 342 0 +261 343 0 +261 344 0 +261 345 0 +261 346 0 +261 347 0 +261 348 0 +261 349 0 +261 350 0 +261 351 0 +261 352 0 +261 353 0 +261 354 0 +261 355 0 +261 356 0 +261 357 0 +261 358 0 +261 359 0 +261 360 0 +261 361 0 +261 362 0 +261 363 0 +261 364 0 +261 365 0 +261 366 0 +261 367 0 +261 368 0 +261 369 0 +261 370 0 +261 371 0 +261 372 0 +261 373 0 +261 374 0 +261 375 0 +261 376 0 +261 377 0 +261 378 0 +261 379 0 +261 380 0 +261 381 0 +261 382 0 +261 383 0 +262 263 0 +262 264 0 +262 265 0 +262 266 0 +262 267 0 +262 268 0 +262 269 0 +262 270 0 +262 271 0 +262 272 0 +262 273 0 +262 274 0 +262 275 0 +262 276 0 +262 277 0 +262 278 0 +262 279 0 +262 280 0 +262 281 0 +262 282 0 +262 283 0 +262 284 0 +262 285 0 +262 286 0 +262 287 0 +262 288 0 +262 289 0 +262 290 0 +262 291 0 +262 292 0 +262 293 0 +262 294 0 +262 295 0 +262 296 0 +262 297 0 +262 298 0 +262 299 0 +262 300 0 +262 301 0 +262 302 0 +262 303 0 +262 304 0 +262 305 0 +262 306 0 +262 307 0 +262 308 0 +262 309 0 +262 310 0 +262 311 0 +262 312 0 +262 313 0 +262 314 0 +262 315 0 +262 316 0 +262 317 0 +262 318 0 +262 319 0 +262 320 0 +262 321 0 +262 322 0 +262 323 0 +262 324 0 +262 325 0 +262 326 0 +262 327 0 +262 328 0 +262 329 0 +262 330 0 +262 331 0 +262 332 0 +262 333 0 +262 334 0 +262 335 0 +262 336 0 +262 337 0 +262 338 0 +262 339 0 +262 340 0 +262 341 0 +262 342 0 +262 343 0 +262 344 0 +262 345 0 +262 346 0 +262 347 0 +262 348 0 +262 349 0 +262 350 0 +262 351 0 +262 352 0 +262 353 0 +262 354 0 +262 355 0 +262 356 0 +262 357 0 +262 358 0 +262 359 0 +262 360 0 +262 361 0 +262 362 0 +262 363 0 +262 364 0 +262 365 0 +262 366 0 +262 367 0 +262 368 0 +262 369 0 +262 370 0 +262 371 0 +262 372 0 +262 373 0 +262 374 0 +262 375 0 +262 376 0 +262 377 0 +262 378 0 +262 379 0 +262 380 0 +262 381 0 +262 382 0 +262 383 0 +263 264 0 +263 265 0 +263 266 0 +263 267 0 +263 268 0 +263 269 0 +263 270 0 +263 271 0 +263 272 0 +263 273 0 +263 274 0 +263 275 0 +263 276 0 +263 277 0 +263 278 0 +263 279 0 +263 280 0 +263 281 0 +263 282 0 +263 283 0 +263 284 0 +263 285 0 +263 286 0 +263 287 0 +263 288 0 +263 289 0 +263 290 0 +263 291 0 +263 292 0 +263 293 0 +263 294 0 +263 295 0 +263 296 0 +263 297 0 +263 298 0 +263 299 0 +263 300 0 +263 301 0 +263 302 0 +263 303 0 +263 304 0 +263 305 0 +263 306 0 +263 307 0 +263 308 0 +263 309 0 +263 310 0 +263 311 0 +263 312 0 +263 313 0 +263 314 0 +263 315 0 +263 316 0 +263 317 0 +263 318 0 +263 319 0 +263 320 0 +263 321 0 +263 322 0 +263 323 0 +263 324 0 +263 325 0 +263 326 0 +263 327 0 +263 328 0 +263 329 0 +263 330 0 +263 331 0 +263 332 0 +263 333 0 +263 334 0 +263 335 0 +263 336 0 +263 337 0 +263 338 0 +263 339 0 +263 340 0 +263 341 0 +263 342 0 +263 343 0 +263 344 0 +263 345 0 +263 346 0 +263 347 0 +263 348 0 +263 349 0 +263 350 0 +263 351 0 +263 352 0 +263 353 0 +263 354 0 +263 355 0 +263 356 0 +263 357 0 +263 358 0 +263 359 0 +263 360 0 +263 361 0 +263 362 0 +263 363 0 +263 364 0 +263 365 0 +263 366 0 +263 367 0 +263 368 0 +263 369 0 +263 370 0 +263 371 0 +263 372 0 +263 373 0 +263 374 0 +263 375 0 +263 376 0 +263 377 0 +263 378 0 +263 379 0 +263 380 0 +263 381 0 +263 382 0 +263 383 0 +264 265 0 +264 266 0 +264 267 0 +264 268 0 +264 269 0 +264 270 0 +264 271 0 +264 272 0 +264 273 0 +264 274 0 +264 275 0 +264 276 0 +264 277 0 +264 278 0 +264 279 0 +264 280 0 +264 281 0 +264 282 0 +264 283 0 +264 284 0 +264 285 0 +264 286 0 +264 287 0 +264 288 0 +264 289 0 +264 290 0 +264 291 0 +264 292 0 +264 293 0 +264 294 0 +264 295 0 +264 296 0 +264 297 0 +264 298 0 +264 299 0 +264 300 0 +264 301 0 +264 302 0 +264 303 0 +264 304 0 +264 305 0 +264 306 0 +264 307 0 +264 308 0 +264 309 0 +264 310 0 +264 311 0 +264 312 0 +264 313 0 +264 314 0 +264 315 0 +264 316 0 +264 317 0 +264 318 0 +264 319 0 +264 320 0 +264 321 0 +264 322 0 +264 323 0 +264 324 0 +264 325 0 +264 326 0 +264 327 0 +264 328 0 +264 329 0 +264 330 0 +264 331 0 +264 332 0 +264 333 0 +264 334 0 +264 335 0 +264 336 0 +264 337 0 +264 338 0 +264 339 0 +264 340 0 +264 341 0 +264 342 0 +264 343 0 +264 344 0 +264 345 0 +264 346 0 +264 347 0 +264 348 0 +264 349 0 +264 350 0 +264 351 0 +264 352 0 +264 353 0 +264 354 0 +264 355 0 +264 356 0 +264 357 0 +264 358 0 +264 359 0 +264 360 0 +264 361 0 +264 362 0 +264 363 0 +264 364 0 +264 365 0 +264 366 0 +264 367 0 +264 368 0 +264 369 0 +264 370 0 +264 371 0 +264 372 0 +264 373 0 +264 374 0 +264 375 0 +264 376 0 +264 377 0 +264 378 0 +264 379 0 +264 380 0 +264 381 0 +264 382 0 +264 383 0 +265 266 0 +265 267 0 +265 268 0 +265 269 0 +265 270 0 +265 271 0 +265 272 0 +265 273 0 +265 274 0 +265 275 0 +265 276 0 +265 277 0 +265 278 0 +265 279 0 +265 280 0 +265 281 0 +265 282 0 +265 283 0 +265 284 0 +265 285 0 +265 286 0 +265 287 0 +265 288 0 +265 289 0 +265 290 0 +265 291 0 +265 292 0 +265 293 0 +265 294 0 +265 295 0 +265 296 0 +265 297 0 +265 298 0 +265 299 0 +265 300 0 +265 301 0 +265 302 0 +265 303 0 +265 304 0 +265 305 0 +265 306 0 +265 307 0 +265 308 0 +265 309 0 +265 310 0 +265 311 0 +265 312 0 +265 313 0 +265 314 0 +265 315 0 +265 316 0 +265 317 0 +265 318 0 +265 319 0 +265 320 0 +265 321 0 +265 322 0 +265 323 0 +265 324 0 +265 325 0 +265 326 0 +265 327 0 +265 328 0 +265 329 0 +265 330 0 +265 331 0 +265 332 0 +265 333 0 +265 334 0 +265 335 0 +265 336 0 +265 337 0 +265 338 0 +265 339 0 +265 340 0 +265 341 0 +265 342 0 +265 343 0 +265 344 0 +265 345 0 +265 346 0 +265 347 0 +265 348 0 +265 349 0 +265 350 0 +265 351 0 +265 352 0 +265 353 0 +265 354 0 +265 355 0 +265 356 0 +265 357 0 +265 358 0 +265 359 0 +265 360 0 +265 361 0 +265 362 0 +265 363 0 +265 364 0 +265 365 0 +265 366 0 +265 367 0 +265 368 0 +265 369 0 +265 370 0 +265 371 0 +265 372 0 +265 373 0 +265 374 0 +265 375 0 +265 376 0 +265 377 0 +265 378 0 +265 379 0 +265 380 0 +265 381 0 +265 382 0 +265 383 0 +266 267 0 +266 268 0 +266 269 0 +266 270 0 +266 271 0 +266 272 0 +266 273 0 +266 274 0 +266 275 0 +266 276 0 +266 277 0 +266 278 0 +266 279 0 +266 280 0 +266 281 0 +266 282 0 +266 283 0 +266 284 0 +266 285 0 +266 286 0 +266 287 0 +266 288 0 +266 289 0 +266 290 0 +266 291 0 +266 292 0 +266 293 0 +266 294 0 +266 295 0 +266 296 0 +266 297 0 +266 298 0 +266 299 0 +266 300 0 +266 301 0 +266 302 0 +266 303 0 +266 304 0 +266 305 0 +266 306 0 +266 307 0 +266 308 0 +266 309 0 +266 310 0 +266 311 0 +266 312 0 +266 313 0 +266 314 0 +266 315 0 +266 316 0 +266 317 0 +266 318 0 +266 319 0 +266 320 0 +266 321 0 +266 322 0 +266 323 0 +266 324 0 +266 325 0 +266 326 0 +266 327 0 +266 328 0 +266 329 0 +266 330 0 +266 331 0 +266 332 0 +266 333 0 +266 334 0 +266 335 0 +266 336 0 +266 337 0 +266 338 0 +266 339 0 +266 340 0 +266 341 0 +266 342 0 +266 343 0 +266 344 0 +266 345 0 +266 346 0 +266 347 0 +266 348 0 +266 349 0 +266 350 0 +266 351 0 +266 352 0 +266 353 0 +266 354 0 +266 355 0 +266 356 0 +266 357 0 +266 358 0 +266 359 0 +266 360 0 +266 361 0 +266 362 0 +266 363 0 +266 364 0 +266 365 0 +266 366 0 +266 367 0 +266 368 0 +266 369 0 +266 370 0 +266 371 0 +266 372 0 +266 373 0 +266 374 0 +266 375 0 +266 376 0 +266 377 0 +266 378 0 +266 379 0 +266 380 0 +266 381 0 +266 382 0 +266 383 0 +267 268 0 +267 269 0 +267 270 0 +267 271 0 +267 272 0 +267 273 0 +267 274 0 +267 275 0 +267 276 0 +267 277 0 +267 278 0 +267 279 0 +267 280 0 +267 281 0 +267 282 0 +267 283 0 +267 284 0 +267 285 0 +267 286 0 +267 287 0 +267 288 0 +267 289 0 +267 290 0 +267 291 0 +267 292 0 +267 293 0 +267 294 0 +267 295 0 +267 296 0 +267 297 0 +267 298 0 +267 299 0 +267 300 0 +267 301 0 +267 302 0 +267 303 0 +267 304 0 +267 305 0 +267 306 0 +267 307 0 +267 308 0 +267 309 0 +267 310 0 +267 311 0 +267 312 0 +267 313 0 +267 314 0 +267 315 0 +267 316 0 +267 317 0 +267 318 0 +267 319 0 +267 320 0 +267 321 0 +267 322 0 +267 323 0 +267 324 0 +267 325 0 +267 326 0 +267 327 0 +267 328 0 +267 329 0 +267 330 0 +267 331 0 +267 332 0 +267 333 0 +267 334 0 +267 335 0 +267 336 0 +267 337 0 +267 338 0 +267 339 0 +267 340 0 +267 341 0 +267 342 0 +267 343 0 +267 344 0 +267 345 0 +267 346 0 +267 347 0 +267 348 0 +267 349 0 +267 350 0 +267 351 0 +267 352 0 +267 353 0 +267 354 0 +267 355 0 +267 356 0 +267 357 0 +267 358 0 +267 359 0 +267 360 0 +267 361 0 +267 362 0 +267 363 0 +267 364 0 +267 365 0 +267 366 0 +267 367 0 +267 368 0 +267 369 0 +267 370 0 +267 371 0 +267 372 0 +267 373 0 +267 374 0 +267 375 0 +267 376 0 +267 377 0 +267 378 0 +267 379 0 +267 380 0 +267 381 0 +267 382 0 +267 383 0 +268 269 0 +268 270 0 +268 271 0 +268 272 0 +268 273 0 +268 274 0 +268 275 0 +268 276 0 +268 277 0 +268 278 0 +268 279 0 +268 280 0 +268 281 0 +268 282 0 +268 283 0 +268 284 0 +268 285 0 +268 286 0 +268 287 0 +268 288 0 +268 289 0 +268 290 0 +268 291 0 +268 292 0 +268 293 0 +268 294 0 +268 295 0 +268 296 0 +268 297 0 +268 298 0 +268 299 0 +268 300 0 +268 301 0 +268 302 0 +268 303 0 +268 304 0 +268 305 0 +268 306 0 +268 307 0 +268 308 0 +268 309 0 +268 310 0 +268 311 0 +268 312 0 +268 313 0 +268 314 0 +268 315 0 +268 316 0 +268 317 0 +268 318 0 +268 319 0 +268 320 0 +268 321 0 +268 322 0 +268 323 0 +268 324 0 +268 325 0 +268 326 0 +268 327 0 +268 328 0 +268 329 0 +268 330 0 +268 331 0 +268 332 0 +268 333 0 +268 334 0 +268 335 0 +268 336 0 +268 337 0 +268 338 0 +268 339 0 +268 340 0 +268 341 0 +268 342 0 +268 343 0 +268 344 0 +268 345 0 +268 346 0 +268 347 0 +268 348 0 +268 349 0 +268 350 0 +268 351 0 +268 352 0 +268 353 0 +268 354 0 +268 355 0 +268 356 0 +268 357 0 +268 358 0 +268 359 0 +268 360 0 +268 361 0 +268 362 0 +268 363 0 +268 364 0 +268 365 0 +268 366 0 +268 367 0 +268 368 0 +268 369 0 +268 370 0 +268 371 0 +268 372 0 +268 373 0 +268 374 0 +268 375 0 +268 376 0 +268 377 0 +268 378 0 +268 379 0 +268 380 0 +268 381 0 +268 382 0 +268 383 0 +269 270 0 +269 271 0 +269 272 0 +269 273 0 +269 274 0 +269 275 0 +269 276 0 +269 277 0 +269 278 0 +269 279 0 +269 280 0 +269 281 0 +269 282 0 +269 283 0 +269 284 0 +269 285 0 +269 286 0 +269 287 0 +269 288 0 +269 289 0 +269 290 0 +269 291 0 +269 292 0 +269 293 0 +269 294 0 +269 295 0 +269 296 0 +269 297 0 +269 298 0 +269 299 0 +269 300 0 +269 301 0 +269 302 0 +269 303 0 +269 304 0 +269 305 0 +269 306 0 +269 307 0 +269 308 0 +269 309 0 +269 310 0 +269 311 0 +269 312 0 +269 313 0 +269 314 0 +269 315 0 +269 316 0 +269 317 0 +269 318 0 +269 319 0 +269 320 0 +269 321 0 +269 322 0 +269 323 0 +269 324 0 +269 325 0 +269 326 0 +269 327 0 +269 328 0 +269 329 0 +269 330 0 +269 331 0 +269 332 0 +269 333 0 +269 334 0 +269 335 0 +269 336 0 +269 337 0 +269 338 0 +269 339 0 +269 340 0 +269 341 0 +269 342 0 +269 343 0 +269 344 0 +269 345 0 +269 346 0 +269 347 0 +269 348 0 +269 349 0 +269 350 0 +269 351 0 +269 352 0 +269 353 0 +269 354 0 +269 355 0 +269 356 0 +269 357 0 +269 358 0 +269 359 0 +269 360 0 +269 361 0 +269 362 0 +269 363 0 +269 364 0 +269 365 0 +269 366 0 +269 367 0 +269 368 0 +269 369 0 +269 370 0 +269 371 0 +269 372 0 +269 373 0 +269 374 0 +269 375 0 +269 376 0 +269 377 0 +269 378 0 +269 379 0 +269 380 0 +269 381 0 +269 382 0 +269 383 0 +270 271 0 +270 272 0 +270 273 0 +270 274 0 +270 275 0 +270 276 0 +270 277 0 +270 278 0 +270 279 0 +270 280 0 +270 281 0 +270 282 0 +270 283 0 +270 284 0 +270 285 0 +270 286 0 +270 287 0 +270 288 0 +270 289 0 +270 290 0 +270 291 0 +270 292 0 +270 293 0 +270 294 0 +270 295 0 +270 296 0 +270 297 0 +270 298 0 +270 299 0 +270 300 0 +270 301 0 +270 302 0 +270 303 0 +270 304 0 +270 305 0 +270 306 0 +270 307 0 +270 308 0 +270 309 0 +270 310 0 +270 311 0 +270 312 0 +270 313 0 +270 314 0 +270 315 0 +270 316 0 +270 317 0 +270 318 0 +270 319 0 +270 320 0 +270 321 0 +270 322 0 +270 323 0 +270 324 0 +270 325 0 +270 326 0 +270 327 0 +270 328 0 +270 329 0 +270 330 0 +270 331 0 +270 332 0 +270 333 0 +270 334 0 +270 335 0 +270 336 0 +270 337 0 +270 338 0 +270 339 0 +270 340 0 +270 341 0 +270 342 0 +270 343 0 +270 344 0 +270 345 0 +270 346 0 +270 347 0 +270 348 0 +270 349 0 +270 350 0 +270 351 0 +270 352 0 +270 353 0 +270 354 0 +270 355 0 +270 356 0 +270 357 0 +270 358 0 +270 359 0 +270 360 0 +270 361 0 +270 362 0 +270 363 0 +270 364 0 +270 365 0 +270 366 0 +270 367 0 +270 368 0 +270 369 0 +270 370 0 +270 371 0 +270 372 0 +270 373 0 +270 374 0 +270 375 0 +270 376 0 +270 377 0 +270 378 0 +270 379 0 +270 380 0 +270 381 0 +270 382 0 +270 383 0 +271 272 0 +271 273 0 +271 274 0 +271 275 0 +271 276 0 +271 277 0 +271 278 0 +271 279 0 +271 280 0 +271 281 0 +271 282 0 +271 283 0 +271 284 0 +271 285 0 +271 286 0 +271 287 0 +271 288 0 +271 289 0 +271 290 0 +271 291 0 +271 292 0 +271 293 0 +271 294 0 +271 295 0 +271 296 0 +271 297 0 +271 298 0 +271 299 0 +271 300 0 +271 301 0 +271 302 0 +271 303 0 +271 304 0 +271 305 0 +271 306 0 +271 307 0 +271 308 0 +271 309 0 +271 310 0 +271 311 0 +271 312 0 +271 313 0 +271 314 0 +271 315 0 +271 316 0 +271 317 0 +271 318 0 +271 319 0 +271 320 0 +271 321 0 +271 322 0 +271 323 0 +271 324 0 +271 325 0 +271 326 0 +271 327 0 +271 328 0 +271 329 0 +271 330 0 +271 331 0 +271 332 0 +271 333 0 +271 334 0 +271 335 0 +271 336 0 +271 337 0 +271 338 0 +271 339 0 +271 340 0 +271 341 0 +271 342 0 +271 343 0 +271 344 0 +271 345 0 +271 346 0 +271 347 0 +271 348 0 +271 349 0 +271 350 0 +271 351 0 +271 352 0 +271 353 0 +271 354 0 +271 355 0 +271 356 0 +271 357 0 +271 358 0 +271 359 0 +271 360 0 +271 361 0 +271 362 0 +271 363 0 +271 364 0 +271 365 0 +271 366 0 +271 367 0 +271 368 0 +271 369 0 +271 370 0 +271 371 0 +271 372 0 +271 373 0 +271 374 0 +271 375 0 +271 376 0 +271 377 0 +271 378 0 +271 379 0 +271 380 0 +271 381 0 +271 382 0 +271 383 0 +272 273 0 +272 274 0 +272 275 0 +272 276 0 +272 277 0 +272 278 0 +272 279 0 +272 280 0 +272 281 0 +272 282 0 +272 283 0 +272 284 0 +272 285 0 +272 286 0 +272 287 0 +272 288 0 +272 289 0 +272 290 0 +272 291 0 +272 292 0 +272 293 0 +272 294 0 +272 295 0 +272 296 0 +272 297 0 +272 298 0 +272 299 0 +272 300 0 +272 301 0 +272 302 0 +272 303 0 +272 304 0 +272 305 0 +272 306 0 +272 307 0 +272 308 0 +272 309 0 +272 310 0 +272 311 0 +272 312 0 +272 313 0 +272 314 0 +272 315 0 +272 316 0 +272 317 0 +272 318 0 +272 319 0 +272 320 0 +272 321 0 +272 322 0 +272 323 0 +272 324 0 +272 325 0 +272 326 0 +272 327 0 +272 328 0 +272 329 0 +272 330 0 +272 331 0 +272 332 0 +272 333 0 +272 334 0 +272 335 0 +272 336 0 +272 337 0 +272 338 0 +272 339 0 +272 340 0 +272 341 0 +272 342 0 +272 343 0 +272 344 0 +272 345 0 +272 346 0 +272 347 0 +272 348 0 +272 349 0 +272 350 0 +272 351 0 +272 352 0 +272 353 0 +272 354 0 +272 355 0 +272 356 0 +272 357 0 +272 358 0 +272 359 0 +272 360 0 +272 361 0 +272 362 0 +272 363 0 +272 364 0 +272 365 0 +272 366 0 +272 367 0 +272 368 0 +272 369 0 +272 370 0 +272 371 0 +272 372 0 +272 373 0 +272 374 0 +272 375 0 +272 376 0 +272 377 0 +272 378 0 +272 379 0 +272 380 0 +272 381 0 +272 382 0 +272 383 0 +273 274 0 +273 275 0 +273 276 0 +273 277 0 +273 278 0 +273 279 0 +273 280 0 +273 281 0 +273 282 0 +273 283 0 +273 284 0 +273 285 0 +273 286 0 +273 287 0 +273 288 0 +273 289 0 +273 290 0 +273 291 0 +273 292 0 +273 293 0 +273 294 0 +273 295 0 +273 296 0 +273 297 0 +273 298 0 +273 299 0 +273 300 0 +273 301 0 +273 302 0 +273 303 0 +273 304 0 +273 305 0 +273 306 0 +273 307 0 +273 308 0 +273 309 0 +273 310 0 +273 311 0 +273 312 0 +273 313 0 +273 314 0 +273 315 0 +273 316 0 +273 317 0 +273 318 0 +273 319 0 +273 320 0 +273 321 0 +273 322 0 +273 323 0 +273 324 0 +273 325 0 +273 326 0 +273 327 0 +273 328 0 +273 329 0 +273 330 0 +273 331 0 +273 332 0 +273 333 0 +273 334 0 +273 335 0 +273 336 0 +273 337 0 +273 338 0 +273 339 0 +273 340 0 +273 341 0 +273 342 0 +273 343 0 +273 344 0 +273 345 0 +273 346 0 +273 347 0 +273 348 0 +273 349 0 +273 350 0 +273 351 0 +273 352 0 +273 353 0 +273 354 0 +273 355 0 +273 356 0 +273 357 0 +273 358 0 +273 359 0 +273 360 0 +273 361 0 +273 362 0 +273 363 0 +273 364 0 +273 365 0 +273 366 0 +273 367 0 +273 368 0 +273 369 0 +273 370 0 +273 371 0 +273 372 0 +273 373 0 +273 374 0 +273 375 0 +273 376 0 +273 377 0 +273 378 0 +273 379 0 +273 380 0 +273 381 0 +273 382 0 +273 383 0 +274 275 0 +274 276 0 +274 277 0 +274 278 0 +274 279 0 +274 280 0 +274 281 0 +274 282 0 +274 283 0 +274 284 0 +274 285 0 +274 286 0 +274 287 0 +274 288 0 +274 289 0 +274 290 0 +274 291 0 +274 292 0 +274 293 0 +274 294 0 +274 295 0 +274 296 0 +274 297 0 +274 298 0 +274 299 0 +274 300 0 +274 301 0 +274 302 0 +274 303 0 +274 304 0 +274 305 0 +274 306 0 +274 307 0 +274 308 0 +274 309 0 +274 310 0 +274 311 0 +274 312 0 +274 313 0 +274 314 0 +274 315 0 +274 316 0 +274 317 0 +274 318 0 +274 319 0 +274 320 0 +274 321 0 +274 322 0 +274 323 0 +274 324 0 +274 325 0 +274 326 0 +274 327 0 +274 328 0 +274 329 0 +274 330 0 +274 331 0 +274 332 0 +274 333 0 +274 334 0 +274 335 0 +274 336 0 +274 337 0 +274 338 0 +274 339 0 +274 340 0 +274 341 0 +274 342 0 +274 343 0 +274 344 0 +274 345 0 +274 346 0 +274 347 0 +274 348 0 +274 349 0 +274 350 0 +274 351 0 +274 352 0 +274 353 0 +274 354 0 +274 355 0 +274 356 0 +274 357 0 +274 358 0 +274 359 0 +274 360 0 +274 361 0 +274 362 0 +274 363 0 +274 364 0 +274 365 0 +274 366 0 +274 367 0 +274 368 0 +274 369 0 +274 370 0 +274 371 0 +274 372 0 +274 373 0 +274 374 0 +274 375 0 +274 376 0 +274 377 0 +274 378 0 +274 379 0 +274 380 0 +274 381 0 +274 382 0 +274 383 0 +275 276 0 +275 277 0 +275 278 0 +275 279 0 +275 280 0 +275 281 0 +275 282 0 +275 283 0 +275 284 0 +275 285 0 +275 286 0 +275 287 0 +275 288 0 +275 289 0 +275 290 0 +275 291 0 +275 292 0 +275 293 0 +275 294 0 +275 295 0 +275 296 0 +275 297 0 +275 298 0 +275 299 0 +275 300 0 +275 301 0 +275 302 0 +275 303 0 +275 304 0 +275 305 0 +275 306 0 +275 307 0 +275 308 0 +275 309 0 +275 310 0 +275 311 0 +275 312 0 +275 313 0 +275 314 0 +275 315 0 +275 316 0 +275 317 0 +275 318 0 +275 319 0 +275 320 0 +275 321 0 +275 322 0 +275 323 0 +275 324 0 +275 325 0 +275 326 0 +275 327 0 +275 328 0 +275 329 0 +275 330 0 +275 331 0 +275 332 0 +275 333 0 +275 334 0 +275 335 0 +275 336 0 +275 337 0 +275 338 0 +275 339 0 +275 340 0 +275 341 0 +275 342 0 +275 343 0 +275 344 0 +275 345 0 +275 346 0 +275 347 0 +275 348 0 +275 349 0 +275 350 0 +275 351 0 +275 352 0 +275 353 0 +275 354 0 +275 355 0 +275 356 0 +275 357 0 +275 358 0 +275 359 0 +275 360 0 +275 361 0 +275 362 0 +275 363 0 +275 364 0 +275 365 0 +275 366 0 +275 367 0 +275 368 0 +275 369 0 +275 370 0 +275 371 0 +275 372 0 +275 373 0 +275 374 0 +275 375 0 +275 376 0 +275 377 0 +275 378 0 +275 379 0 +275 380 0 +275 381 0 +275 382 0 +275 383 0 +276 277 0 +276 278 0 +276 279 0 +276 280 0 +276 281 0 +276 282 0 +276 283 0 +276 284 0 +276 285 0 +276 286 0 +276 287 0 +276 288 0 +276 289 0 +276 290 0 +276 291 0 +276 292 0 +276 293 0 +276 294 0 +276 295 0 +276 296 0 +276 297 0 +276 298 0 +276 299 0 +276 300 0 +276 301 0 +276 302 0 +276 303 0 +276 304 0 +276 305 0 +276 306 0 +276 307 0 +276 308 0 +276 309 0 +276 310 0 +276 311 0 +276 312 0 +276 313 0 +276 314 0 +276 315 0 +276 316 0 +276 317 0 +276 318 0 +276 319 0 +276 320 0 +276 321 0 +276 322 0 +276 323 0 +276 324 0 +276 325 0 +276 326 0 +276 327 0 +276 328 0 +276 329 0 +276 330 0 +276 331 0 +276 332 0 +276 333 0 +276 334 0 +276 335 0 +276 336 0 +276 337 0 +276 338 0 +276 339 0 +276 340 0 +276 341 0 +276 342 0 +276 343 0 +276 344 0 +276 345 0 +276 346 0 +276 347 0 +276 348 0 +276 349 0 +276 350 0 +276 351 0 +276 352 0 +276 353 0 +276 354 0 +276 355 0 +276 356 0 +276 357 0 +276 358 0 +276 359 0 +276 360 0 +276 361 0 +276 362 0 +276 363 0 +276 364 0 +276 365 0 +276 366 0 +276 367 0 +276 368 0 +276 369 0 +276 370 0 +276 371 0 +276 372 0 +276 373 0 +276 374 0 +276 375 0 +276 376 0 +276 377 0 +276 378 0 +276 379 0 +276 380 0 +276 381 0 +276 382 0 +276 383 0 +277 278 0 +277 279 0 +277 280 0 +277 281 0 +277 282 0 +277 283 0 +277 284 0 +277 285 0 +277 286 0 +277 287 0 +277 288 0 +277 289 0 +277 290 0 +277 291 0 +277 292 0 +277 293 0 +277 294 0 +277 295 0 +277 296 0 +277 297 0 +277 298 0 +277 299 0 +277 300 0 +277 301 0 +277 302 0 +277 303 0 +277 304 0 +277 305 0 +277 306 0 +277 307 0 +277 308 0 +277 309 0 +277 310 0 +277 311 0 +277 312 0 +277 313 0 +277 314 0 +277 315 0 +277 316 0 +277 317 0 +277 318 0 +277 319 0 +277 320 0 +277 321 0 +277 322 0 +277 323 0 +277 324 0 +277 325 0 +277 326 0 +277 327 0 +277 328 0 +277 329 0 +277 330 0 +277 331 0 +277 332 0 +277 333 0 +277 334 0 +277 335 0 +277 336 0 +277 337 0 +277 338 0 +277 339 0 +277 340 0 +277 341 0 +277 342 0 +277 343 0 +277 344 0 +277 345 0 +277 346 0 +277 347 0 +277 348 0 +277 349 0 +277 350 0 +277 351 0 +277 352 0 +277 353 0 +277 354 0 +277 355 0 +277 356 0 +277 357 0 +277 358 0 +277 359 0 +277 360 0 +277 361 0 +277 362 0 +277 363 0 +277 364 0 +277 365 0 +277 366 0 +277 367 0 +277 368 0 +277 369 0 +277 370 0 +277 371 0 +277 372 0 +277 373 0 +277 374 0 +277 375 0 +277 376 0 +277 377 0 +277 378 0 +277 379 0 +277 380 0 +277 381 0 +277 382 0 +277 383 0 +278 279 0 +278 280 0 +278 281 0 +278 282 0 +278 283 0 +278 284 0 +278 285 0 +278 286 0 +278 287 0 +278 288 0 +278 289 0 +278 290 0 +278 291 0 +278 292 0 +278 293 0 +278 294 0 +278 295 0 +278 296 0 +278 297 0 +278 298 0 +278 299 0 +278 300 0 +278 301 0 +278 302 0 +278 303 0 +278 304 0 +278 305 0 +278 306 0 +278 307 0 +278 308 0 +278 309 0 +278 310 0 +278 311 0 +278 312 0 +278 313 0 +278 314 0 +278 315 0 +278 316 0 +278 317 0 +278 318 0 +278 319 0 +278 320 0 +278 321 0 +278 322 0 +278 323 0 +278 324 0 +278 325 0 +278 326 0 +278 327 0 +278 328 0 +278 329 0 +278 330 0 +278 331 0 +278 332 0 +278 333 0 +278 334 0 +278 335 0 +278 336 0 +278 337 0 +278 338 0 +278 339 0 +278 340 0 +278 341 0 +278 342 0 +278 343 0 +278 344 0 +278 345 0 +278 346 0 +278 347 0 +278 348 0 +278 349 0 +278 350 0 +278 351 0 +278 352 0 +278 353 0 +278 354 0 +278 355 0 +278 356 0 +278 357 0 +278 358 0 +278 359 0 +278 360 0 +278 361 0 +278 362 0 +278 363 0 +278 364 0 +278 365 0 +278 366 0 +278 367 0 +278 368 0 +278 369 0 +278 370 0 +278 371 0 +278 372 0 +278 373 0 +278 374 0 +278 375 0 +278 376 0 +278 377 0 +278 378 0 +278 379 0 +278 380 0 +278 381 0 +278 382 0 +278 383 0 +279 280 0 +279 281 0 +279 282 0 +279 283 0 +279 284 0 +279 285 0 +279 286 0 +279 287 0 +279 288 0 +279 289 0 +279 290 0 +279 291 0 +279 292 0 +279 293 0 +279 294 0 +279 295 0 +279 296 0 +279 297 0 +279 298 0 +279 299 0 +279 300 0 +279 301 0 +279 302 0 +279 303 0 +279 304 0 +279 305 0 +279 306 0 +279 307 0 +279 308 0 +279 309 0 +279 310 0 +279 311 0 +279 312 0 +279 313 0 +279 314 0 +279 315 0 +279 316 0 +279 317 0 +279 318 0 +279 319 0 +279 320 0 +279 321 0 +279 322 0 +279 323 0 +279 324 0 +279 325 0 +279 326 0 +279 327 0 +279 328 0 +279 329 0 +279 330 0 +279 331 0 +279 332 0 +279 333 0 +279 334 0 +279 335 0 +279 336 0 +279 337 0 +279 338 0 +279 339 0 +279 340 0 +279 341 0 +279 342 0 +279 343 0 +279 344 0 +279 345 0 +279 346 0 +279 347 0 +279 348 0 +279 349 0 +279 350 0 +279 351 0 +279 352 0 +279 353 0 +279 354 0 +279 355 0 +279 356 0 +279 357 0 +279 358 0 +279 359 0 +279 360 0 +279 361 0 +279 362 0 +279 363 0 +279 364 0 +279 365 0 +279 366 0 +279 367 0 +279 368 0 +279 369 0 +279 370 0 +279 371 0 +279 372 0 +279 373 0 +279 374 0 +279 375 0 +279 376 0 +279 377 0 +279 378 0 +279 379 0 +279 380 0 +279 381 0 +279 382 0 +279 383 0 +280 281 0 +280 282 0 +280 283 0 +280 284 0 +280 285 0 +280 286 0 +280 287 0 +280 288 0 +280 289 0 +280 290 0 +280 291 0 +280 292 0 +280 293 0 +280 294 0 +280 295 0 +280 296 0 +280 297 0 +280 298 0 +280 299 0 +280 300 0 +280 301 0 +280 302 0 +280 303 0 +280 304 0 +280 305 0 +280 306 0 +280 307 0 +280 308 0 +280 309 0 +280 310 0 +280 311 0 +280 312 0 +280 313 0 +280 314 0 +280 315 0 +280 316 0 +280 317 0 +280 318 0 +280 319 0 +280 320 0 +280 321 0 +280 322 0 +280 323 0 +280 324 0 +280 325 0 +280 326 0 +280 327 0 +280 328 0 +280 329 0 +280 330 0 +280 331 0 +280 332 0 +280 333 0 +280 334 0 +280 335 0 +280 336 0 +280 337 0 +280 338 0 +280 339 0 +280 340 0 +280 341 0 +280 342 0 +280 343 0 +280 344 0 +280 345 0 +280 346 0 +280 347 0 +280 348 0 +280 349 0 +280 350 0 +280 351 0 +280 352 0 +280 353 0 +280 354 0 +280 355 0 +280 356 0 +280 357 0 +280 358 0 +280 359 0 +280 360 0 +280 361 0 +280 362 0 +280 363 0 +280 364 0 +280 365 0 +280 366 0 +280 367 0 +280 368 0 +280 369 0 +280 370 0 +280 371 0 +280 372 0 +280 373 0 +280 374 0 +280 375 0 +280 376 0 +280 377 0 +280 378 0 +280 379 0 +280 380 0 +280 381 0 +280 382 0 +280 383 0 +281 282 0 +281 283 0 +281 284 0 +281 285 0 +281 286 0 +281 287 0 +281 288 0 +281 289 0 +281 290 0 +281 291 0 +281 292 0 +281 293 0 +281 294 0 +281 295 0 +281 296 0 +281 297 0 +281 298 0 +281 299 0 +281 300 0 +281 301 0 +281 302 0 +281 303 0 +281 304 0 +281 305 0 +281 306 0 +281 307 0 +281 308 0 +281 309 0 +281 310 0 +281 311 0 +281 312 0 +281 313 0 +281 314 0 +281 315 0 +281 316 0 +281 317 0 +281 318 0 +281 319 0 +281 320 0 +281 321 0 +281 322 0 +281 323 0 +281 324 0 +281 325 0 +281 326 0 +281 327 0 +281 328 0 +281 329 0 +281 330 0 +281 331 0 +281 332 0 +281 333 0 +281 334 0 +281 335 0 +281 336 0 +281 337 0 +281 338 0 +281 339 0 +281 340 0 +281 341 0 +281 342 0 +281 343 0 +281 344 0 +281 345 0 +281 346 0 +281 347 0 +281 348 0 +281 349 0 +281 350 0 +281 351 0 +281 352 0 +281 353 0 +281 354 0 +281 355 0 +281 356 0 +281 357 0 +281 358 0 +281 359 0 +281 360 0 +281 361 0 +281 362 0 +281 363 0 +281 364 0 +281 365 0 +281 366 0 +281 367 0 +281 368 0 +281 369 0 +281 370 0 +281 371 0 +281 372 0 +281 373 0 +281 374 0 +281 375 0 +281 376 0 +281 377 0 +281 378 0 +281 379 0 +281 380 0 +281 381 0 +281 382 0 +281 383 0 +282 283 0 +282 284 0 +282 285 0 +282 286 0 +282 287 0 +282 288 0 +282 289 0 +282 290 0 +282 291 0 +282 292 0 +282 293 0 +282 294 0 +282 295 0 +282 296 0 +282 297 0 +282 298 0 +282 299 0 +282 300 0 +282 301 0 +282 302 0 +282 303 0 +282 304 0 +282 305 0 +282 306 0 +282 307 0 +282 308 0 +282 309 0 +282 310 0 +282 311 0 +282 312 0 +282 313 0 +282 314 0 +282 315 0 +282 316 0 +282 317 0 +282 318 0 +282 319 0 +282 320 0 +282 321 0 +282 322 0 +282 323 0 +282 324 0 +282 325 0 +282 326 0 +282 327 0 +282 328 0 +282 329 0 +282 330 0 +282 331 0 +282 332 0 +282 333 0 +282 334 0 +282 335 0 +282 336 0 +282 337 0 +282 338 0 +282 339 0 +282 340 0 +282 341 0 +282 342 0 +282 343 0 +282 344 0 +282 345 0 +282 346 0 +282 347 0 +282 348 0 +282 349 0 +282 350 0 +282 351 0 +282 352 0 +282 353 0 +282 354 0 +282 355 0 +282 356 0 +282 357 0 +282 358 0 +282 359 0 +282 360 0 +282 361 0 +282 362 0 +282 363 0 +282 364 0 +282 365 0 +282 366 0 +282 367 0 +282 368 0 +282 369 0 +282 370 0 +282 371 0 +282 372 0 +282 373 0 +282 374 0 +282 375 0 +282 376 0 +282 377 0 +282 378 0 +282 379 0 +282 380 0 +282 381 0 +282 382 0 +282 383 0 +283 284 0 +283 285 0 +283 286 0 +283 287 0 +283 288 0 +283 289 0 +283 290 0 +283 291 0 +283 292 0 +283 293 0 +283 294 0 +283 295 0 +283 296 0 +283 297 0 +283 298 0 +283 299 0 +283 300 0 +283 301 0 +283 302 0 +283 303 0 +283 304 0 +283 305 0 +283 306 0 +283 307 0 +283 308 0 +283 309 0 +283 310 0 +283 311 0 +283 312 0 +283 313 0 +283 314 0 +283 315 0 +283 316 0 +283 317 0 +283 318 0 +283 319 0 +283 320 0 +283 321 0 +283 322 0 +283 323 0 +283 324 0 +283 325 0 +283 326 0 +283 327 0 +283 328 0 +283 329 0 +283 330 0 +283 331 0 +283 332 0 +283 333 0 +283 334 0 +283 335 0 +283 336 0 +283 337 0 +283 338 0 +283 339 0 +283 340 0 +283 341 0 +283 342 0 +283 343 0 +283 344 0 +283 345 0 +283 346 0 +283 347 0 +283 348 0 +283 349 0 +283 350 0 +283 351 0 +283 352 0 +283 353 0 +283 354 0 +283 355 0 +283 356 0 +283 357 0 +283 358 0 +283 359 0 +283 360 0 +283 361 0 +283 362 0 +283 363 0 +283 364 0 +283 365 0 +283 366 0 +283 367 0 +283 368 0 +283 369 0 +283 370 0 +283 371 0 +283 372 0 +283 373 0 +283 374 0 +283 375 0 +283 376 0 +283 377 0 +283 378 0 +283 379 0 +283 380 0 +283 381 0 +283 382 0 +283 383 0 +284 285 0 +284 286 0 +284 287 0 +284 288 0 +284 289 0 +284 290 0 +284 291 0 +284 292 0 +284 293 0 +284 294 0 +284 295 0 +284 296 0 +284 297 0 +284 298 0 +284 299 0 +284 300 0 +284 301 0 +284 302 0 +284 303 0 +284 304 0 +284 305 0 +284 306 0 +284 307 0 +284 308 0 +284 309 0 +284 310 0 +284 311 0 +284 312 0 +284 313 0 +284 314 0 +284 315 0 +284 316 0 +284 317 0 +284 318 0 +284 319 0 +284 320 0 +284 321 0 +284 322 0 +284 323 0 +284 324 0 +284 325 0 +284 326 0 +284 327 0 +284 328 0 +284 329 0 +284 330 0 +284 331 0 +284 332 0 +284 333 0 +284 334 0 +284 335 0 +284 336 0 +284 337 0 +284 338 0 +284 339 0 +284 340 0 +284 341 0 +284 342 0 +284 343 0 +284 344 0 +284 345 0 +284 346 0 +284 347 0 +284 348 0 +284 349 0 +284 350 0 +284 351 0 +284 352 0 +284 353 0 +284 354 0 +284 355 0 +284 356 0 +284 357 0 +284 358 0 +284 359 0 +284 360 0 +284 361 0 +284 362 0 +284 363 0 +284 364 0 +284 365 0 +284 366 0 +284 367 0 +284 368 0 +284 369 0 +284 370 0 +284 371 0 +284 372 0 +284 373 0 +284 374 0 +284 375 0 +284 376 0 +284 377 0 +284 378 0 +284 379 0 +284 380 0 +284 381 0 +284 382 0 +284 383 0 +285 286 0 +285 287 0 +285 288 0 +285 289 0 +285 290 0 +285 291 0 +285 292 0 +285 293 0 +285 294 0 +285 295 0 +285 296 0 +285 297 0 +285 298 0 +285 299 0 +285 300 0 +285 301 0 +285 302 0 +285 303 0 +285 304 0 +285 305 0 +285 306 0 +285 307 0 +285 308 0 +285 309 0 +285 310 0 +285 311 0 +285 312 0 +285 313 0 +285 314 0 +285 315 0 +285 316 0 +285 317 0 +285 318 0 +285 319 0 +285 320 0 +285 321 0 +285 322 0 +285 323 0 +285 324 0 +285 325 0 +285 326 0 +285 327 0 +285 328 0 +285 329 0 +285 330 0 +285 331 0 +285 332 0 +285 333 0 +285 334 0 +285 335 0 +285 336 0 +285 337 0 +285 338 0 +285 339 0 +285 340 0 +285 341 0 +285 342 0 +285 343 0 +285 344 0 +285 345 0 +285 346 0 +285 347 0 +285 348 0 +285 349 0 +285 350 0 +285 351 0 +285 352 0 +285 353 0 +285 354 0 +285 355 0 +285 356 0 +285 357 0 +285 358 0 +285 359 0 +285 360 0 +285 361 0 +285 362 0 +285 363 0 +285 364 0 +285 365 0 +285 366 0 +285 367 0 +285 368 0 +285 369 0 +285 370 0 +285 371 0 +285 372 0 +285 373 0 +285 374 0 +285 375 0 +285 376 0 +285 377 0 +285 378 0 +285 379 0 +285 380 0 +285 381 0 +285 382 0 +285 383 0 +286 287 0 +286 288 0 +286 289 0 +286 290 0 +286 291 0 +286 292 0 +286 293 0 +286 294 0 +286 295 0 +286 296 0 +286 297 0 +286 298 0 +286 299 0 +286 300 0 +286 301 0 +286 302 0 +286 303 0 +286 304 0 +286 305 0 +286 306 0 +286 307 0 +286 308 0 +286 309 0 +286 310 0 +286 311 0 +286 312 0 +286 313 0 +286 314 0 +286 315 0 +286 316 0 +286 317 0 +286 318 0 +286 319 0 +286 320 0 +286 321 0 +286 322 0 +286 323 0 +286 324 0 +286 325 0 +286 326 0 +286 327 0 +286 328 0 +286 329 0 +286 330 0 +286 331 0 +286 332 0 +286 333 0 +286 334 0 +286 335 0 +286 336 0 +286 337 0 +286 338 0 +286 339 0 +286 340 0 +286 341 0 +286 342 0 +286 343 0 +286 344 0 +286 345 0 +286 346 0 +286 347 0 +286 348 0 +286 349 0 +286 350 0 +286 351 0 +286 352 0 +286 353 0 +286 354 0 +286 355 0 +286 356 0 +286 357 0 +286 358 0 +286 359 0 +286 360 0 +286 361 0 +286 362 0 +286 363 0 +286 364 0 +286 365 0 +286 366 0 +286 367 0 +286 368 0 +286 369 0 +286 370 0 +286 371 0 +286 372 0 +286 373 0 +286 374 0 +286 375 0 +286 376 0 +286 377 0 +286 378 0 +286 379 0 +286 380 0 +286 381 0 +286 382 0 +286 383 0 +287 288 0 +287 289 0 +287 290 0 +287 291 0 +287 292 0 +287 293 0 +287 294 0 +287 295 0 +287 296 0 +287 297 0 +287 298 0 +287 299 0 +287 300 0 +287 301 0 +287 302 0 +287 303 0 +287 304 0 +287 305 0 +287 306 0 +287 307 0 +287 308 0 +287 309 0 +287 310 0 +287 311 0 +287 312 0 +287 313 0 +287 314 0 +287 315 0 +287 316 0 +287 317 0 +287 318 0 +287 319 0 +287 320 0 +287 321 0 +287 322 0 +287 323 0 +287 324 0 +287 325 0 +287 326 0 +287 327 0 +287 328 0 +287 329 0 +287 330 0 +287 331 0 +287 332 0 +287 333 0 +287 334 0 +287 335 0 +287 336 0 +287 337 0 +287 338 0 +287 339 0 +287 340 0 +287 341 0 +287 342 0 +287 343 0 +287 344 0 +287 345 0 +287 346 0 +287 347 0 +287 348 0 +287 349 0 +287 350 0 +287 351 0 +287 352 0 +287 353 0 +287 354 0 +287 355 0 +287 356 0 +287 357 0 +287 358 0 +287 359 0 +287 360 0 +287 361 0 +287 362 0 +287 363 0 +287 364 0 +287 365 0 +287 366 0 +287 367 0 +287 368 0 +287 369 0 +287 370 0 +287 371 0 +287 372 0 +287 373 0 +287 374 0 +287 375 0 +287 376 0 +287 377 0 +287 378 0 +287 379 0 +287 380 0 +287 381 0 +287 382 0 +287 383 0 +288 289 0 +288 290 0 +288 291 0 +288 292 0 +288 293 0 +288 294 0 +288 295 0 +288 296 0 +288 297 0 +288 298 0 +288 299 0 +288 300 0 +288 301 0 +288 302 0 +288 303 0 +288 304 0 +288 305 0 +288 306 0 +288 307 0 +288 308 0 +288 309 0 +288 310 0 +288 311 0 +288 312 0 +288 313 0 +288 314 0 +288 315 0 +288 316 0 +288 317 0 +288 318 0 +288 319 0 +288 320 0 +288 321 0 +288 322 0 +288 323 0 +288 324 0 +288 325 0 +288 326 0 +288 327 0 +288 328 0 +288 329 0 +288 330 0 +288 331 0 +288 332 0 +288 333 0 +288 334 0 +288 335 0 +288 336 0 +288 337 0 +288 338 0 +288 339 0 +288 340 0 +288 341 0 +288 342 0 +288 343 0 +288 344 0 +288 345 0 +288 346 0 +288 347 0 +288 348 0 +288 349 0 +288 350 0 +288 351 0 +288 352 0 +288 353 0 +288 354 0 +288 355 0 +288 356 0 +288 357 0 +288 358 0 +288 359 0 +288 360 0 +288 361 0 +288 362 0 +288 363 0 +288 364 0 +288 365 0 +288 366 0 +288 367 0 +288 368 0 +288 369 0 +288 370 0 +288 371 0 +288 372 0 +288 373 0 +288 374 0 +288 375 0 +288 376 0 +288 377 0 +288 378 0 +288 379 0 +288 380 0 +288 381 0 +288 382 0 +288 383 0 +289 290 0 +289 291 0 +289 292 0 +289 293 0 +289 294 0 +289 295 0 +289 296 0 +289 297 0 +289 298 0 +289 299 0 +289 300 0 +289 301 0 +289 302 0 +289 303 0 +289 304 0 +289 305 0 +289 306 0 +289 307 0 +289 308 0 +289 309 0 +289 310 0 +289 311 0 +289 312 0 +289 313 0 +289 314 0 +289 315 0 +289 316 0 +289 317 0 +289 318 0 +289 319 0 +289 320 0 +289 321 0 +289 322 0 +289 323 0 +289 324 0 +289 325 0 +289 326 0 +289 327 0 +289 328 0 +289 329 0 +289 330 0 +289 331 0 +289 332 0 +289 333 0 +289 334 0 +289 335 0 +289 336 0 +289 337 0 +289 338 0 +289 339 0 +289 340 0 +289 341 0 +289 342 0 +289 343 0 +289 344 0 +289 345 0 +289 346 0 +289 347 0 +289 348 0 +289 349 0 +289 350 0 +289 351 0 +289 352 0 +289 353 0 +289 354 0 +289 355 0 +289 356 0 +289 357 0 +289 358 0 +289 359 0 +289 360 0 +289 361 0 +289 362 0 +289 363 0 +289 364 0 +289 365 0 +289 366 0 +289 367 0 +289 368 0 +289 369 0 +289 370 0 +289 371 0 +289 372 0 +289 373 0 +289 374 0 +289 375 0 +289 376 0 +289 377 0 +289 378 0 +289 379 0 +289 380 0 +289 381 0 +289 382 0 +289 383 0 +290 291 0 +290 292 0 +290 293 0 +290 294 0 +290 295 0 +290 296 0 +290 297 0 +290 298 0 +290 299 0 +290 300 0 +290 301 0 +290 302 0 +290 303 0 +290 304 0 +290 305 0 +290 306 0 +290 307 0 +290 308 0 +290 309 0 +290 310 0 +290 311 0 +290 312 0 +290 313 0 +290 314 0 +290 315 0 +290 316 0 +290 317 0 +290 318 0 +290 319 0 +290 320 0 +290 321 0 +290 322 0 +290 323 0 +290 324 0 +290 325 0 +290 326 0 +290 327 0 +290 328 0 +290 329 0 +290 330 0 +290 331 0 +290 332 0 +290 333 0 +290 334 0 +290 335 0 +290 336 0 +290 337 0 +290 338 0 +290 339 0 +290 340 0 +290 341 0 +290 342 0 +290 343 0 +290 344 0 +290 345 0 +290 346 0 +290 347 0 +290 348 0 +290 349 0 +290 350 0 +290 351 0 +290 352 0 +290 353 0 +290 354 0 +290 355 0 +290 356 0 +290 357 0 +290 358 0 +290 359 0 +290 360 0 +290 361 0 +290 362 0 +290 363 0 +290 364 0 +290 365 0 +290 366 0 +290 367 0 +290 368 0 +290 369 0 +290 370 0 +290 371 0 +290 372 0 +290 373 0 +290 374 0 +290 375 0 +290 376 0 +290 377 0 +290 378 0 +290 379 0 +290 380 0 +290 381 0 +290 382 0 +290 383 0 +291 292 0 +291 293 0 +291 294 0 +291 295 0 +291 296 0 +291 297 0 +291 298 0 +291 299 0 +291 300 0 +291 301 0 +291 302 0 +291 303 0 +291 304 0 +291 305 0 +291 306 0 +291 307 0 +291 308 0 +291 309 0 +291 310 0 +291 311 0 +291 312 0 +291 313 0 +291 314 0 +291 315 0 +291 316 0 +291 317 0 +291 318 0 +291 319 0 +291 320 0 +291 321 0 +291 322 0 +291 323 0 +291 324 0 +291 325 0 +291 326 0 +291 327 0 +291 328 0 +291 329 0 +291 330 0 +291 331 0 +291 332 0 +291 333 0 +291 334 0 +291 335 0 +291 336 0 +291 337 0 +291 338 0 +291 339 0 +291 340 0 +291 341 0 +291 342 0 +291 343 0 +291 344 0 +291 345 0 +291 346 0 +291 347 0 +291 348 0 +291 349 0 +291 350 0 +291 351 0 +291 352 0 +291 353 0 +291 354 0 +291 355 0 +291 356 0 +291 357 0 +291 358 0 +291 359 0 +291 360 0 +291 361 0 +291 362 0 +291 363 0 +291 364 0 +291 365 0 +291 366 0 +291 367 0 +291 368 0 +291 369 0 +291 370 0 +291 371 0 +291 372 0 +291 373 0 +291 374 0 +291 375 0 +291 376 0 +291 377 0 +291 378 0 +291 379 0 +291 380 0 +291 381 0 +291 382 0 +291 383 0 +292 293 0 +292 294 0 +292 295 0 +292 296 0 +292 297 0 +292 298 0 +292 299 0 +292 300 0 +292 301 0 +292 302 0 +292 303 0 +292 304 0 +292 305 0 +292 306 0 +292 307 0 +292 308 0 +292 309 0 +292 310 0 +292 311 0 +292 312 0 +292 313 0 +292 314 0 +292 315 0 +292 316 0 +292 317 0 +292 318 0 +292 319 0 +292 320 0 +292 321 0 +292 322 0 +292 323 0 +292 324 0 +292 325 0 +292 326 0 +292 327 0 +292 328 0 +292 329 0 +292 330 0 +292 331 0 +292 332 0 +292 333 0 +292 334 0 +292 335 0 +292 336 0 +292 337 0 +292 338 0 +292 339 0 +292 340 0 +292 341 0 +292 342 0 +292 343 0 +292 344 0 +292 345 0 +292 346 0 +292 347 0 +292 348 0 +292 349 0 +292 350 0 +292 351 0 +292 352 0 +292 353 0 +292 354 0 +292 355 0 +292 356 0 +292 357 0 +292 358 0 +292 359 0 +292 360 0 +292 361 0 +292 362 0 +292 363 0 +292 364 0 +292 365 0 +292 366 0 +292 367 0 +292 368 0 +292 369 0 +292 370 0 +292 371 0 +292 372 0 +292 373 0 +292 374 0 +292 375 0 +292 376 0 +292 377 0 +292 378 0 +292 379 0 +292 380 0 +292 381 0 +292 382 0 +292 383 0 +293 294 0 +293 295 0 +293 296 0 +293 297 0 +293 298 0 +293 299 0 +293 300 0 +293 301 0 +293 302 0 +293 303 0 +293 304 0 +293 305 0 +293 306 0 +293 307 0 +293 308 0 +293 309 0 +293 310 0 +293 311 0 +293 312 0 +293 313 0 +293 314 0 +293 315 0 +293 316 0 +293 317 0 +293 318 0 +293 319 0 +293 320 0 +293 321 0 +293 322 0 +293 323 0 +293 324 0 +293 325 0 +293 326 0 +293 327 0 +293 328 0 +293 329 0 +293 330 0 +293 331 0 +293 332 0 +293 333 0 +293 334 0 +293 335 0 +293 336 0 +293 337 0 +293 338 0 +293 339 0 +293 340 0 +293 341 0 +293 342 0 +293 343 0 +293 344 0 +293 345 0 +293 346 0 +293 347 0 +293 348 0 +293 349 0 +293 350 0 +293 351 0 +293 352 0 +293 353 0 +293 354 0 +293 355 0 +293 356 0 +293 357 0 +293 358 0 +293 359 0 +293 360 0 +293 361 0 +293 362 0 +293 363 0 +293 364 0 +293 365 0 +293 366 0 +293 367 0 +293 368 0 +293 369 0 +293 370 0 +293 371 0 +293 372 0 +293 373 0 +293 374 0 +293 375 0 +293 376 0 +293 377 0 +293 378 0 +293 379 0 +293 380 0 +293 381 0 +293 382 0 +293 383 0 +294 295 0 +294 296 0 +294 297 0 +294 298 0 +294 299 0 +294 300 0 +294 301 0 +294 302 0 +294 303 0 +294 304 0 +294 305 0 +294 306 0 +294 307 0 +294 308 0 +294 309 0 +294 310 0 +294 311 0 +294 312 0 +294 313 0 +294 314 0 +294 315 0 +294 316 0 +294 317 0 +294 318 0 +294 319 0 +294 320 0 +294 321 0 +294 322 0 +294 323 0 +294 324 0 +294 325 0 +294 326 0 +294 327 0 +294 328 0 +294 329 0 +294 330 0 +294 331 0 +294 332 0 +294 333 0 +294 334 0 +294 335 0 +294 336 0 +294 337 0 +294 338 0 +294 339 0 +294 340 0 +294 341 0 +294 342 0 +294 343 0 +294 344 0 +294 345 0 +294 346 0 +294 347 0 +294 348 0 +294 349 0 +294 350 0 +294 351 0 +294 352 0 +294 353 0 +294 354 0 +294 355 0 +294 356 0 +294 357 0 +294 358 0 +294 359 0 +294 360 0 +294 361 0 +294 362 0 +294 363 0 +294 364 0 +294 365 0 +294 366 0 +294 367 0 +294 368 0 +294 369 0 +294 370 0 +294 371 0 +294 372 0 +294 373 0 +294 374 0 +294 375 0 +294 376 0 +294 377 0 +294 378 0 +294 379 0 +294 380 0 +294 381 0 +294 382 0 +294 383 0 +295 296 0 +295 297 0 +295 298 0 +295 299 0 +295 300 0 +295 301 0 +295 302 0 +295 303 0 +295 304 0 +295 305 0 +295 306 0 +295 307 0 +295 308 0 +295 309 0 +295 310 0 +295 311 0 +295 312 0 +295 313 0 +295 314 0 +295 315 0 +295 316 0 +295 317 0 +295 318 0 +295 319 0 +295 320 0 +295 321 0 +295 322 0 +295 323 0 +295 324 0 +295 325 0 +295 326 0 +295 327 0 +295 328 0 +295 329 0 +295 330 0 +295 331 0 +295 332 0 +295 333 0 +295 334 0 +295 335 0 +295 336 0 +295 337 0 +295 338 0 +295 339 0 +295 340 0 +295 341 0 +295 342 0 +295 343 0 +295 344 0 +295 345 0 +295 346 0 +295 347 0 +295 348 0 +295 349 0 +295 350 0 +295 351 0 +295 352 0 +295 353 0 +295 354 0 +295 355 0 +295 356 0 +295 357 0 +295 358 0 +295 359 0 +295 360 0 +295 361 0 +295 362 0 +295 363 0 +295 364 0 +295 365 0 +295 366 0 +295 367 0 +295 368 0 +295 369 0 +295 370 0 +295 371 0 +295 372 0 +295 373 0 +295 374 0 +295 375 0 +295 376 0 +295 377 0 +295 378 0 +295 379 0 +295 380 0 +295 381 0 +295 382 0 +295 383 0 +296 297 0 +296 298 0 +296 299 0 +296 300 0 +296 301 0 +296 302 0 +296 303 0 +296 304 0 +296 305 0 +296 306 0 +296 307 0 +296 308 0 +296 309 0 +296 310 0 +296 311 0 +296 312 0 +296 313 0 +296 314 0 +296 315 0 +296 316 0 +296 317 0 +296 318 0 +296 319 0 +296 320 0 +296 321 0 +296 322 0 +296 323 0 +296 324 0 +296 325 0 +296 326 0 +296 327 0 +296 328 0 +296 329 0 +296 330 0 +296 331 0 +296 332 0 +296 333 0 +296 334 0 +296 335 0 +296 336 0 +296 337 0 +296 338 0 +296 339 0 +296 340 0 +296 341 0 +296 342 0 +296 343 0 +296 344 0 +296 345 0 +296 346 0 +296 347 0 +296 348 0 +296 349 0 +296 350 0 +296 351 0 +296 352 0 +296 353 0 +296 354 0 +296 355 0 +296 356 0 +296 357 0 +296 358 0 +296 359 0 +296 360 0 +296 361 0 +296 362 0 +296 363 0 +296 364 0 +296 365 0 +296 366 0 +296 367 0 +296 368 0 +296 369 0 +296 370 0 +296 371 0 +296 372 0 +296 373 0 +296 374 0 +296 375 0 +296 376 0 +296 377 0 +296 378 0 +296 379 0 +296 380 0 +296 381 0 +296 382 0 +296 383 0 +297 298 0 +297 299 0 +297 300 0 +297 301 0 +297 302 0 +297 303 0 +297 304 0 +297 305 0 +297 306 0 +297 307 0 +297 308 0 +297 309 0 +297 310 0 +297 311 0 +297 312 0 +297 313 0 +297 314 0 +297 315 0 +297 316 0 +297 317 0 +297 318 0 +297 319 0 +297 320 0 +297 321 0 +297 322 0 +297 323 0 +297 324 0 +297 325 0 +297 326 0 +297 327 0 +297 328 0 +297 329 0 +297 330 0 +297 331 0 +297 332 0 +297 333 0 +297 334 0 +297 335 0 +297 336 0 +297 337 0 +297 338 0 +297 339 0 +297 340 0 +297 341 0 +297 342 0 +297 343 0 +297 344 0 +297 345 0 +297 346 0 +297 347 0 +297 348 0 +297 349 0 +297 350 0 +297 351 0 +297 352 0 +297 353 0 +297 354 0 +297 355 0 +297 356 0 +297 357 0 +297 358 0 +297 359 0 +297 360 0 +297 361 0 +297 362 0 +297 363 0 +297 364 0 +297 365 0 +297 366 0 +297 367 0 +297 368 0 +297 369 0 +297 370 0 +297 371 0 +297 372 0 +297 373 0 +297 374 0 +297 375 0 +297 376 0 +297 377 0 +297 378 0 +297 379 0 +297 380 0 +297 381 0 +297 382 0 +297 383 0 +298 299 0 +298 300 0 +298 301 0 +298 302 0 +298 303 0 +298 304 0 +298 305 0 +298 306 0 +298 307 0 +298 308 0 +298 309 0 +298 310 0 +298 311 0 +298 312 0 +298 313 0 +298 314 0 +298 315 0 +298 316 0 +298 317 0 +298 318 0 +298 319 0 +298 320 0 +298 321 0 +298 322 0 +298 323 0 +298 324 0 +298 325 0 +298 326 0 +298 327 0 +298 328 0 +298 329 0 +298 330 0 +298 331 0 +298 332 0 +298 333 0 +298 334 0 +298 335 0 +298 336 0 +298 337 0 +298 338 0 +298 339 0 +298 340 0 +298 341 0 +298 342 0 +298 343 0 +298 344 0 +298 345 0 +298 346 0 +298 347 0 +298 348 0 +298 349 0 +298 350 0 +298 351 0 +298 352 0 +298 353 0 +298 354 0 +298 355 0 +298 356 0 +298 357 0 +298 358 0 +298 359 0 +298 360 0 +298 361 0 +298 362 0 +298 363 0 +298 364 0 +298 365 0 +298 366 0 +298 367 0 +298 368 0 +298 369 0 +298 370 0 +298 371 0 +298 372 0 +298 373 0 +298 374 0 +298 375 0 +298 376 0 +298 377 0 +298 378 0 +298 379 0 +298 380 0 +298 381 0 +298 382 0 +298 383 0 +299 300 0 +299 301 0 +299 302 0 +299 303 0 +299 304 0 +299 305 0 +299 306 0 +299 307 0 +299 308 0 +299 309 0 +299 310 0 +299 311 0 +299 312 0 +299 313 0 +299 314 0 +299 315 0 +299 316 0 +299 317 0 +299 318 0 +299 319 0 +299 320 0 +299 321 0 +299 322 0 +299 323 0 +299 324 0 +299 325 0 +299 326 0 +299 327 0 +299 328 0 +299 329 0 +299 330 0 +299 331 0 +299 332 0 +299 333 0 +299 334 0 +299 335 0 +299 336 0 +299 337 0 +299 338 0 +299 339 0 +299 340 0 +299 341 0 +299 342 0 +299 343 0 +299 344 0 +299 345 0 +299 346 0 +299 347 0 +299 348 0 +299 349 0 +299 350 0 +299 351 0 +299 352 0 +299 353 0 +299 354 0 +299 355 0 +299 356 0 +299 357 0 +299 358 0 +299 359 0 +299 360 0 +299 361 0 +299 362 0 +299 363 0 +299 364 0 +299 365 0 +299 366 0 +299 367 0 +299 368 0 +299 369 0 +299 370 0 +299 371 0 +299 372 0 +299 373 0 +299 374 0 +299 375 0 +299 376 0 +299 377 0 +299 378 0 +299 379 0 +299 380 0 +299 381 0 +299 382 0 +299 383 0 +300 301 0 +300 302 0 +300 303 0 +300 304 0 +300 305 0 +300 306 0 +300 307 0 +300 308 0 +300 309 0 +300 310 0 +300 311 0 +300 312 0 +300 313 0 +300 314 0 +300 315 0 +300 316 0 +300 317 0 +300 318 0 +300 319 0 +300 320 0 +300 321 0 +300 322 0 +300 323 0 +300 324 0 +300 325 0 +300 326 0 +300 327 0 +300 328 0 +300 329 0 +300 330 0 +300 331 0 +300 332 0 +300 333 0 +300 334 0 +300 335 0 +300 336 0 +300 337 0 +300 338 0 +300 339 0 +300 340 0 +300 341 0 +300 342 0 +300 343 0 +300 344 0 +300 345 0 +300 346 0 +300 347 0 +300 348 0 +300 349 0 +300 350 0 +300 351 0 +300 352 0 +300 353 0 +300 354 0 +300 355 0 +300 356 0 +300 357 0 +300 358 0 +300 359 0 +300 360 0 +300 361 0 +300 362 0 +300 363 0 +300 364 0 +300 365 0 +300 366 0 +300 367 0 +300 368 0 +300 369 0 +300 370 0 +300 371 0 +300 372 0 +300 373 0 +300 374 0 +300 375 0 +300 376 0 +300 377 0 +300 378 0 +300 379 0 +300 380 0 +300 381 0 +300 382 0 +300 383 0 +301 302 0 +301 303 0 +301 304 0 +301 305 0 +301 306 0 +301 307 0 +301 308 0 +301 309 0 +301 310 0 +301 311 0 +301 312 0 +301 313 0 +301 314 0 +301 315 0 +301 316 0 +301 317 0 +301 318 0 +301 319 0 +301 320 0 +301 321 0 +301 322 0 +301 323 0 +301 324 0 +301 325 0 +301 326 0 +301 327 0 +301 328 0 +301 329 0 +301 330 0 +301 331 0 +301 332 0 +301 333 0 +301 334 0 +301 335 0 +301 336 0 +301 337 0 +301 338 0 +301 339 0 +301 340 0 +301 341 0 +301 342 0 +301 343 0 +301 344 0 +301 345 0 +301 346 0 +301 347 0 +301 348 0 +301 349 0 +301 350 0 +301 351 0 +301 352 0 +301 353 0 +301 354 0 +301 355 0 +301 356 0 +301 357 0 +301 358 0 +301 359 0 +301 360 0 +301 361 0 +301 362 0 +301 363 0 +301 364 0 +301 365 0 +301 366 0 +301 367 0 +301 368 0 +301 369 0 +301 370 0 +301 371 0 +301 372 0 +301 373 0 +301 374 0 +301 375 0 +301 376 0 +301 377 0 +301 378 0 +301 379 0 +301 380 0 +301 381 0 +301 382 0 +301 383 0 +302 303 0 +302 304 0 +302 305 0 +302 306 0 +302 307 0 +302 308 0 +302 309 0 +302 310 0 +302 311 0 +302 312 0 +302 313 0 +302 314 0 +302 315 0 +302 316 0 +302 317 0 +302 318 0 +302 319 0 +302 320 0 +302 321 0 +302 322 0 +302 323 0 +302 324 0 +302 325 0 +302 326 0 +302 327 0 +302 328 0 +302 329 0 +302 330 0 +302 331 0 +302 332 0 +302 333 0 +302 334 0 +302 335 0 +302 336 0 +302 337 0 +302 338 0 +302 339 0 +302 340 0 +302 341 0 +302 342 0 +302 343 0 +302 344 0 +302 345 0 +302 346 0 +302 347 0 +302 348 0 +302 349 0 +302 350 0 +302 351 0 +302 352 0 +302 353 0 +302 354 0 +302 355 0 +302 356 0 +302 357 0 +302 358 0 +302 359 0 +302 360 0 +302 361 0 +302 362 0 +302 363 0 +302 364 0 +302 365 0 +302 366 0 +302 367 0 +302 368 0 +302 369 0 +302 370 0 +302 371 0 +302 372 0 +302 373 0 +302 374 0 +302 375 0 +302 376 0 +302 377 0 +302 378 0 +302 379 0 +302 380 0 +302 381 0 +302 382 0 +302 383 0 +303 304 0 +303 305 0 +303 306 0 +303 307 0 +303 308 0 +303 309 0 +303 310 0 +303 311 0 +303 312 0 +303 313 0 +303 314 0 +303 315 0 +303 316 0 +303 317 0 +303 318 0 +303 319 0 +303 320 0 +303 321 0 +303 322 0 +303 323 0 +303 324 0 +303 325 0 +303 326 0 +303 327 0 +303 328 0 +303 329 0 +303 330 0 +303 331 0 +303 332 0 +303 333 0 +303 334 0 +303 335 0 +303 336 0 +303 337 0 +303 338 0 +303 339 0 +303 340 0 +303 341 0 +303 342 0 +303 343 0 +303 344 0 +303 345 0 +303 346 0 +303 347 0 +303 348 0 +303 349 0 +303 350 0 +303 351 0 +303 352 0 +303 353 0 +303 354 0 +303 355 0 +303 356 0 +303 357 0 +303 358 0 +303 359 0 +303 360 0 +303 361 0 +303 362 0 +303 363 0 +303 364 0 +303 365 0 +303 366 0 +303 367 0 +303 368 0 +303 369 0 +303 370 0 +303 371 0 +303 372 0 +303 373 0 +303 374 0 +303 375 0 +303 376 0 +303 377 0 +303 378 0 +303 379 0 +303 380 0 +303 381 0 +303 382 0 +303 383 0 +304 305 0 +304 306 0 +304 307 0 +304 308 0 +304 309 0 +304 310 0 +304 311 0 +304 312 0 +304 313 0 +304 314 0 +304 315 0 +304 316 0 +304 317 0 +304 318 0 +304 319 0 +304 320 0 +304 321 0 +304 322 0 +304 323 0 +304 324 0 +304 325 0 +304 326 0 +304 327 0 +304 328 0 +304 329 0 +304 330 0 +304 331 0 +304 332 0 +304 333 0 +304 334 0 +304 335 0 +304 336 0 +304 337 0 +304 338 0 +304 339 0 +304 340 0 +304 341 0 +304 342 0 +304 343 0 +304 344 0 +304 345 0 +304 346 0 +304 347 0 +304 348 0 +304 349 0 +304 350 0 +304 351 0 +304 352 0 +304 353 0 +304 354 0 +304 355 0 +304 356 0 +304 357 0 +304 358 0 +304 359 0 +304 360 0 +304 361 0 +304 362 0 +304 363 0 +304 364 0 +304 365 0 +304 366 0 +304 367 0 +304 368 0 +304 369 0 +304 370 0 +304 371 0 +304 372 0 +304 373 0 +304 374 0 +304 375 0 +304 376 0 +304 377 0 +304 378 0 +304 379 0 +304 380 0 +304 381 0 +304 382 0 +304 383 0 +305 306 0 +305 307 0 +305 308 0 +305 309 0 +305 310 0 +305 311 0 +305 312 0 +305 313 0 +305 314 0 +305 315 0 +305 316 0 +305 317 0 +305 318 0 +305 319 0 +305 320 0 +305 321 0 +305 322 0 +305 323 0 +305 324 0 +305 325 0 +305 326 0 +305 327 0 +305 328 0 +305 329 0 +305 330 0 +305 331 0 +305 332 0 +305 333 0 +305 334 0 +305 335 0 +305 336 0 +305 337 0 +305 338 0 +305 339 0 +305 340 0 +305 341 0 +305 342 0 +305 343 0 +305 344 0 +305 345 0 +305 346 0 +305 347 0 +305 348 0 +305 349 0 +305 350 0 +305 351 0 +305 352 0 +305 353 0 +305 354 0 +305 355 0 +305 356 0 +305 357 0 +305 358 0 +305 359 0 +305 360 0 +305 361 0 +305 362 0 +305 363 0 +305 364 0 +305 365 0 +305 366 0 +305 367 0 +305 368 0 +305 369 0 +305 370 0 +305 371 0 +305 372 0 +305 373 0 +305 374 0 +305 375 0 +305 376 0 +305 377 0 +305 378 0 +305 379 0 +305 380 0 +305 381 0 +305 382 0 +305 383 0 +306 307 0 +306 308 0 +306 309 0 +306 310 0 +306 311 0 +306 312 0 +306 313 0 +306 314 0 +306 315 0 +306 316 0 +306 317 0 +306 318 0 +306 319 0 +306 320 0 +306 321 0 +306 322 0 +306 323 0 +306 324 0 +306 325 0 +306 326 0 +306 327 0 +306 328 0 +306 329 0 +306 330 0 +306 331 0 +306 332 0 +306 333 0 +306 334 0 +306 335 0 +306 336 0 +306 337 0 +306 338 0 +306 339 0 +306 340 0 +306 341 0 +306 342 0 +306 343 0 +306 344 0 +306 345 0 +306 346 0 +306 347 0 +306 348 0 +306 349 0 +306 350 0 +306 351 0 +306 352 0 +306 353 0 +306 354 0 +306 355 0 +306 356 0 +306 357 0 +306 358 0 +306 359 0 +306 360 0 +306 361 0 +306 362 0 +306 363 0 +306 364 0 +306 365 0 +306 366 0 +306 367 0 +306 368 0 +306 369 0 +306 370 0 +306 371 0 +306 372 0 +306 373 0 +306 374 0 +306 375 0 +306 376 0 +306 377 0 +306 378 0 +306 379 0 +306 380 0 +306 381 0 +306 382 0 +306 383 0 +307 308 0 +307 309 0 +307 310 0 +307 311 0 +307 312 0 +307 313 0 +307 314 0 +307 315 0 +307 316 0 +307 317 0 +307 318 0 +307 319 0 +307 320 0 +307 321 0 +307 322 0 +307 323 0 +307 324 0 +307 325 0 +307 326 0 +307 327 0 +307 328 0 +307 329 0 +307 330 0 +307 331 0 +307 332 0 +307 333 0 +307 334 0 +307 335 0 +307 336 0 +307 337 0 +307 338 0 +307 339 0 +307 340 0 +307 341 0 +307 342 0 +307 343 0 +307 344 0 +307 345 0 +307 346 0 +307 347 0 +307 348 0 +307 349 0 +307 350 0 +307 351 0 +307 352 0 +307 353 0 +307 354 0 +307 355 0 +307 356 0 +307 357 0 +307 358 0 +307 359 0 +307 360 0 +307 361 0 +307 362 0 +307 363 0 +307 364 0 +307 365 0 +307 366 0 +307 367 0 +307 368 0 +307 369 0 +307 370 0 +307 371 0 +307 372 0 +307 373 0 +307 374 0 +307 375 0 +307 376 0 +307 377 0 +307 378 0 +307 379 0 +307 380 0 +307 381 0 +307 382 0 +307 383 0 +308 309 0 +308 310 0 +308 311 0 +308 312 0 +308 313 0 +308 314 0 +308 315 0 +308 316 0 +308 317 0 +308 318 0 +308 319 0 +308 320 0 +308 321 0 +308 322 0 +308 323 0 +308 324 0 +308 325 0 +308 326 0 +308 327 0 +308 328 0 +308 329 0 +308 330 0 +308 331 0 +308 332 0 +308 333 0 +308 334 0 +308 335 0 +308 336 0 +308 337 0 +308 338 0 +308 339 0 +308 340 0 +308 341 0 +308 342 0 +308 343 0 +308 344 0 +308 345 0 +308 346 0 +308 347 0 +308 348 0 +308 349 0 +308 350 0 +308 351 0 +308 352 0 +308 353 0 +308 354 0 +308 355 0 +308 356 0 +308 357 0 +308 358 0 +308 359 0 +308 360 0 +308 361 0 +308 362 0 +308 363 0 +308 364 0 +308 365 0 +308 366 0 +308 367 0 +308 368 0 +308 369 0 +308 370 0 +308 371 0 +308 372 0 +308 373 0 +308 374 0 +308 375 0 +308 376 0 +308 377 0 +308 378 0 +308 379 0 +308 380 0 +308 381 0 +308 382 0 +308 383 0 +309 310 0 +309 311 0 +309 312 0 +309 313 0 +309 314 0 +309 315 0 +309 316 0 +309 317 0 +309 318 0 +309 319 0 +309 320 0 +309 321 0 +309 322 0 +309 323 0 +309 324 0 +309 325 0 +309 326 0 +309 327 0 +309 328 0 +309 329 0 +309 330 0 +309 331 0 +309 332 0 +309 333 0 +309 334 0 +309 335 0 +309 336 0 +309 337 0 +309 338 0 +309 339 0 +309 340 0 +309 341 0 +309 342 0 +309 343 0 +309 344 0 +309 345 0 +309 346 0 +309 347 0 +309 348 0 +309 349 0 +309 350 0 +309 351 0 +309 352 0 +309 353 0 +309 354 0 +309 355 0 +309 356 0 +309 357 0 +309 358 0 +309 359 0 +309 360 0 +309 361 0 +309 362 0 +309 363 0 +309 364 0 +309 365 0 +309 366 0 +309 367 0 +309 368 0 +309 369 0 +309 370 0 +309 371 0 +309 372 0 +309 373 0 +309 374 0 +309 375 0 +309 376 0 +309 377 0 +309 378 0 +309 379 0 +309 380 0 +309 381 0 +309 382 0 +309 383 0 +310 311 0 +310 312 0 +310 313 0 +310 314 0 +310 315 0 +310 316 0 +310 317 0 +310 318 0 +310 319 0 +310 320 0 +310 321 0 +310 322 0 +310 323 0 +310 324 0 +310 325 0 +310 326 0 +310 327 0 +310 328 0 +310 329 0 +310 330 0 +310 331 0 +310 332 0 +310 333 0 +310 334 0 +310 335 0 +310 336 0 +310 337 0 +310 338 0 +310 339 0 +310 340 0 +310 341 0 +310 342 0 +310 343 0 +310 344 0 +310 345 0 +310 346 0 +310 347 0 +310 348 0 +310 349 0 +310 350 0 +310 351 0 +310 352 0 +310 353 0 +310 354 0 +310 355 0 +310 356 0 +310 357 0 +310 358 0 +310 359 0 +310 360 0 +310 361 0 +310 362 0 +310 363 0 +310 364 0 +310 365 0 +310 366 0 +310 367 0 +310 368 0 +310 369 0 +310 370 0 +310 371 0 +310 372 0 +310 373 0 +310 374 0 +310 375 0 +310 376 0 +310 377 0 +310 378 0 +310 379 0 +310 380 0 +310 381 0 +310 382 0 +310 383 0 +311 312 0 +311 313 0 +311 314 0 +311 315 0 +311 316 0 +311 317 0 +311 318 0 +311 319 0 +311 320 0 +311 321 0 +311 322 0 +311 323 0 +311 324 0 +311 325 0 +311 326 0 +311 327 0 +311 328 0 +311 329 0 +311 330 0 +311 331 0 +311 332 0 +311 333 0 +311 334 0 +311 335 0 +311 336 0 +311 337 0 +311 338 0 +311 339 0 +311 340 0 +311 341 0 +311 342 0 +311 343 0 +311 344 0 +311 345 0 +311 346 0 +311 347 0 +311 348 0 +311 349 0 +311 350 0 +311 351 0 +311 352 0 +311 353 0 +311 354 0 +311 355 0 +311 356 0 +311 357 0 +311 358 0 +311 359 0 +311 360 0 +311 361 0 +311 362 0 +311 363 0 +311 364 0 +311 365 0 +311 366 0 +311 367 0 +311 368 0 +311 369 0 +311 370 0 +311 371 0 +311 372 0 +311 373 0 +311 374 0 +311 375 0 +311 376 0 +311 377 0 +311 378 0 +311 379 0 +311 380 0 +311 381 0 +311 382 0 +311 383 0 +312 313 0 +312 314 0 +312 315 0 +312 316 0 +312 317 0 +312 318 0 +312 319 0 +312 320 0 +312 321 0 +312 322 0 +312 323 0 +312 324 0 +312 325 0 +312 326 0 +312 327 0 +312 328 0 +312 329 0 +312 330 0 +312 331 0 +312 332 0 +312 333 0 +312 334 0 +312 335 0 +312 336 0 +312 337 0 +312 338 0 +312 339 0 +312 340 0 +312 341 0 +312 342 0 +312 343 0 +312 344 0 +312 345 0 +312 346 0 +312 347 0 +312 348 0 +312 349 0 +312 350 0 +312 351 0 +312 352 0 +312 353 0 +312 354 0 +312 355 0 +312 356 0 +312 357 0 +312 358 0 +312 359 0 +312 360 0 +312 361 0 +312 362 0 +312 363 0 +312 364 0 +312 365 0 +312 366 0 +312 367 0 +312 368 0 +312 369 0 +312 370 0 +312 371 0 +312 372 0 +312 373 0 +312 374 0 +312 375 0 +312 376 0 +312 377 0 +312 378 0 +312 379 0 +312 380 0 +312 381 0 +312 382 0 +312 383 0 +313 314 0 +313 315 0 +313 316 0 +313 317 0 +313 318 0 +313 319 0 +313 320 0 +313 321 0 +313 322 0 +313 323 0 +313 324 0 +313 325 0 +313 326 0 +313 327 0 +313 328 0 +313 329 0 +313 330 0 +313 331 0 +313 332 0 +313 333 0 +313 334 0 +313 335 0 +313 336 0 +313 337 0 +313 338 0 +313 339 0 +313 340 0 +313 341 0 +313 342 0 +313 343 0 +313 344 0 +313 345 0 +313 346 0 +313 347 0 +313 348 0 +313 349 0 +313 350 0 +313 351 0 +313 352 0 +313 353 0 +313 354 0 +313 355 0 +313 356 0 +313 357 0 +313 358 0 +313 359 0 +313 360 0 +313 361 0 +313 362 0 +313 363 0 +313 364 0 +313 365 0 +313 366 0 +313 367 0 +313 368 0 +313 369 0 +313 370 0 +313 371 0 +313 372 0 +313 373 0 +313 374 0 +313 375 0 +313 376 0 +313 377 0 +313 378 0 +313 379 0 +313 380 0 +313 381 0 +313 382 0 +313 383 0 +314 315 0 +314 316 0 +314 317 0 +314 318 0 +314 319 0 +314 320 0 +314 321 0 +314 322 0 +314 323 0 +314 324 0 +314 325 0 +314 326 0 +314 327 0 +314 328 0 +314 329 0 +314 330 0 +314 331 0 +314 332 0 +314 333 0 +314 334 0 +314 335 0 +314 336 0 +314 337 0 +314 338 0 +314 339 0 +314 340 0 +314 341 0 +314 342 0 +314 343 0 +314 344 0 +314 345 0 +314 346 0 +314 347 0 +314 348 0 +314 349 0 +314 350 0 +314 351 0 +314 352 0 +314 353 0 +314 354 0 +314 355 0 +314 356 0 +314 357 0 +314 358 0 +314 359 0 +314 360 0 +314 361 0 +314 362 0 +314 363 0 +314 364 0 +314 365 0 +314 366 0 +314 367 0 +314 368 0 +314 369 0 +314 370 0 +314 371 0 +314 372 0 +314 373 0 +314 374 0 +314 375 0 +314 376 0 +314 377 0 +314 378 0 +314 379 0 +314 380 0 +314 381 0 +314 382 0 +314 383 0 +315 316 0 +315 317 0 +315 318 0 +315 319 0 +315 320 0 +315 321 0 +315 322 0 +315 323 0 +315 324 0 +315 325 0 +315 326 0 +315 327 0 +315 328 0 +315 329 0 +315 330 0 +315 331 0 +315 332 0 +315 333 0 +315 334 0 +315 335 0 +315 336 0 +315 337 0 +315 338 0 +315 339 0 +315 340 0 +315 341 0 +315 342 0 +315 343 0 +315 344 0 +315 345 0 +315 346 0 +315 347 0 +315 348 0 +315 349 0 +315 350 0 +315 351 0 +315 352 0 +315 353 0 +315 354 0 +315 355 0 +315 356 0 +315 357 0 +315 358 0 +315 359 0 +315 360 0 +315 361 0 +315 362 0 +315 363 0 +315 364 0 +315 365 0 +315 366 0 +315 367 0 +315 368 0 +315 369 0 +315 370 0 +315 371 0 +315 372 0 +315 373 0 +315 374 0 +315 375 0 +315 376 0 +315 377 0 +315 378 0 +315 379 0 +315 380 0 +315 381 0 +315 382 0 +315 383 0 +316 317 0 +316 318 0 +316 319 0 +316 320 0 +316 321 0 +316 322 0 +316 323 0 +316 324 0 +316 325 0 +316 326 0 +316 327 0 +316 328 0 +316 329 0 +316 330 0 +316 331 0 +316 332 0 +316 333 0 +316 334 0 +316 335 0 +316 336 0 +316 337 0 +316 338 0 +316 339 0 +316 340 0 +316 341 0 +316 342 0 +316 343 0 +316 344 0 +316 345 0 +316 346 0 +316 347 0 +316 348 0 +316 349 0 +316 350 0 +316 351 0 +316 352 0 +316 353 0 +316 354 0 +316 355 0 +316 356 0 +316 357 0 +316 358 0 +316 359 0 +316 360 0 +316 361 0 +316 362 0 +316 363 0 +316 364 0 +316 365 0 +316 366 0 +316 367 0 +316 368 0 +316 369 0 +316 370 0 +316 371 0 +316 372 0 +316 373 0 +316 374 0 +316 375 0 +316 376 0 +316 377 0 +316 378 0 +316 379 0 +316 380 0 +316 381 0 +316 382 0 +316 383 0 +317 318 0 +317 319 0 +317 320 0 +317 321 0 +317 322 0 +317 323 0 +317 324 0 +317 325 0 +317 326 0 +317 327 0 +317 328 0 +317 329 0 +317 330 0 +317 331 0 +317 332 0 +317 333 0 +317 334 0 +317 335 0 +317 336 0 +317 337 0 +317 338 0 +317 339 0 +317 340 0 +317 341 0 +317 342 0 +317 343 0 +317 344 0 +317 345 0 +317 346 0 +317 347 0 +317 348 0 +317 349 0 +317 350 0 +317 351 0 +317 352 0 +317 353 0 +317 354 0 +317 355 0 +317 356 0 +317 357 0 +317 358 0 +317 359 0 +317 360 0 +317 361 0 +317 362 0 +317 363 0 +317 364 0 +317 365 0 +317 366 0 +317 367 0 +317 368 0 +317 369 0 +317 370 0 +317 371 0 +317 372 0 +317 373 0 +317 374 0 +317 375 0 +317 376 0 +317 377 0 +317 378 0 +317 379 0 +317 380 0 +317 381 0 +317 382 0 +317 383 0 +318 319 0 +318 320 0 +318 321 0 +318 322 0 +318 323 0 +318 324 0 +318 325 0 +318 326 0 +318 327 0 +318 328 0 +318 329 0 +318 330 0 +318 331 0 +318 332 0 +318 333 0 +318 334 0 +318 335 0 +318 336 0 +318 337 0 +318 338 0 +318 339 0 +318 340 0 +318 341 0 +318 342 0 +318 343 0 +318 344 0 +318 345 0 +318 346 0 +318 347 0 +318 348 0 +318 349 0 +318 350 0 +318 351 0 +318 352 0 +318 353 0 +318 354 0 +318 355 0 +318 356 0 +318 357 0 +318 358 0 +318 359 0 +318 360 0 +318 361 0 +318 362 0 +318 363 0 +318 364 0 +318 365 0 +318 366 0 +318 367 0 +318 368 0 +318 369 0 +318 370 0 +318 371 0 +318 372 0 +318 373 0 +318 374 0 +318 375 0 +318 376 0 +318 377 0 +318 378 0 +318 379 0 +318 380 0 +318 381 0 +318 382 0 +318 383 0 +319 320 0 +319 321 0 +319 322 0 +319 323 0 +319 324 0 +319 325 0 +319 326 0 +319 327 0 +319 328 0 +319 329 0 +319 330 0 +319 331 0 +319 332 0 +319 333 0 +319 334 0 +319 335 0 +319 336 0 +319 337 0 +319 338 0 +319 339 0 +319 340 0 +319 341 0 +319 342 0 +319 343 0 +319 344 0 +319 345 0 +319 346 0 +319 347 0 +319 348 0 +319 349 0 +319 350 0 +319 351 0 +319 352 0 +319 353 0 +319 354 0 +319 355 0 +319 356 0 +319 357 0 +319 358 0 +319 359 0 +319 360 0 +319 361 0 +319 362 0 +319 363 0 +319 364 0 +319 365 0 +319 366 0 +319 367 0 +319 368 0 +319 369 0 +319 370 0 +319 371 0 +319 372 0 +319 373 0 +319 374 0 +319 375 0 +319 376 0 +319 377 0 +319 378 0 +319 379 0 +319 380 0 +319 381 0 +319 382 0 +319 383 0 +320 321 0 +320 322 0 +320 323 0 +320 324 0 +320 325 0 +320 326 0 +320 327 0 +320 328 0 +320 329 0 +320 330 0 +320 331 0 +320 332 0 +320 333 0 +320 334 0 +320 335 0 +320 336 0 +320 337 0 +320 338 0 +320 339 0 +320 340 0 +320 341 0 +320 342 0 +320 343 0 +320 344 0 +320 345 0 +320 346 0 +320 347 0 +320 348 0 +320 349 0 +320 350 0 +320 351 0 +320 352 0 +320 353 0 +320 354 0 +320 355 0 +320 356 0 +320 357 0 +320 358 0 +320 359 0 +320 360 0 +320 361 0 +320 362 0 +320 363 0 +320 364 0 +320 365 0 +320 366 0 +320 367 0 +320 368 0 +320 369 0 +320 370 0 +320 371 0 +320 372 0 +320 373 0 +320 374 0 +320 375 0 +320 376 0 +320 377 0 +320 378 0 +320 379 0 +320 380 0 +320 381 0 +320 382 0 +320 383 0 +321 322 0 +321 323 0 +321 324 0 +321 325 0 +321 326 0 +321 327 0 +321 328 0 +321 329 0 +321 330 0 +321 331 0 +321 332 0 +321 333 0 +321 334 0 +321 335 0 +321 336 0 +321 337 0 +321 338 0 +321 339 0 +321 340 0 +321 341 0 +321 342 0 +321 343 0 +321 344 0 +321 345 0 +321 346 0 +321 347 0 +321 348 0 +321 349 0 +321 350 0 +321 351 0 +321 352 0 +321 353 0 +321 354 0 +321 355 0 +321 356 0 +321 357 0 +321 358 0 +321 359 0 +321 360 0 +321 361 0 +321 362 0 +321 363 0 +321 364 0 +321 365 0 +321 366 0 +321 367 0 +321 368 0 +321 369 0 +321 370 0 +321 371 0 +321 372 0 +321 373 0 +321 374 0 +321 375 0 +321 376 0 +321 377 0 +321 378 0 +321 379 0 +321 380 0 +321 381 0 +321 382 0 +321 383 0 +322 323 0 +322 324 0 +322 325 0 +322 326 0 +322 327 0 +322 328 0 +322 329 0 +322 330 0 +322 331 0 +322 332 0 +322 333 0 +322 334 0 +322 335 0 +322 336 0 +322 337 0 +322 338 0 +322 339 0 +322 340 0 +322 341 0 +322 342 0 +322 343 0 +322 344 0 +322 345 0 +322 346 0 +322 347 0 +322 348 0 +322 349 0 +322 350 0 +322 351 0 +322 352 0 +322 353 0 +322 354 0 +322 355 0 +322 356 0 +322 357 0 +322 358 0 +322 359 0 +322 360 0 +322 361 0 +322 362 0 +322 363 0 +322 364 0 +322 365 0 +322 366 0 +322 367 0 +322 368 0 +322 369 0 +322 370 0 +322 371 0 +322 372 0 +322 373 0 +322 374 0 +322 375 0 +322 376 0 +322 377 0 +322 378 0 +322 379 0 +322 380 0 +322 381 0 +322 382 0 +322 383 0 +323 324 0 +323 325 0 +323 326 0 +323 327 0 +323 328 0 +323 329 0 +323 330 0 +323 331 0 +323 332 0 +323 333 0 +323 334 0 +323 335 0 +323 336 0 +323 337 0 +323 338 0 +323 339 0 +323 340 0 +323 341 0 +323 342 0 +323 343 0 +323 344 0 +323 345 0 +323 346 0 +323 347 0 +323 348 0 +323 349 0 +323 350 0 +323 351 0 +323 352 0 +323 353 0 +323 354 0 +323 355 0 +323 356 0 +323 357 0 +323 358 0 +323 359 0 +323 360 0 +323 361 0 +323 362 0 +323 363 0 +323 364 0 +323 365 0 +323 366 0 +323 367 0 +323 368 0 +323 369 0 +323 370 0 +323 371 0 +323 372 0 +323 373 0 +323 374 0 +323 375 0 +323 376 0 +323 377 0 +323 378 0 +323 379 0 +323 380 0 +323 381 0 +323 382 0 +323 383 0 +324 325 0 +324 326 0 +324 327 0 +324 328 0 +324 329 0 +324 330 0 +324 331 0 +324 332 0 +324 333 0 +324 334 0 +324 335 0 +324 336 0 +324 337 0 +324 338 0 +324 339 0 +324 340 0 +324 341 0 +324 342 0 +324 343 0 +324 344 0 +324 345 0 +324 346 0 +324 347 0 +324 348 0 +324 349 0 +324 350 0 +324 351 0 +324 352 0 +324 353 0 +324 354 0 +324 355 0 +324 356 0 +324 357 0 +324 358 0 +324 359 0 +324 360 0 +324 361 0 +324 362 0 +324 363 0 +324 364 0 +324 365 0 +324 366 0 +324 367 0 +324 368 0 +324 369 0 +324 370 0 +324 371 0 +324 372 0 +324 373 0 +324 374 0 +324 375 0 +324 376 0 +324 377 0 +324 378 0 +324 379 0 +324 380 0 +324 381 0 +324 382 0 +324 383 0 +325 326 0 +325 327 0 +325 328 0 +325 329 0 +325 330 0 +325 331 0 +325 332 0 +325 333 0 +325 334 0 +325 335 0 +325 336 0 +325 337 0 +325 338 0 +325 339 0 +325 340 0 +325 341 0 +325 342 0 +325 343 0 +325 344 0 +325 345 0 +325 346 0 +325 347 0 +325 348 0 +325 349 0 +325 350 0 +325 351 0 +325 352 0 +325 353 0 +325 354 0 +325 355 0 +325 356 0 +325 357 0 +325 358 0 +325 359 0 +325 360 0 +325 361 0 +325 362 0 +325 363 0 +325 364 0 +325 365 0 +325 366 0 +325 367 0 +325 368 0 +325 369 0 +325 370 0 +325 371 0 +325 372 0 +325 373 0 +325 374 0 +325 375 0 +325 376 0 +325 377 0 +325 378 0 +325 379 0 +325 380 0 +325 381 0 +325 382 0 +325 383 0 +326 327 0 +326 328 0 +326 329 0 +326 330 0 +326 331 0 +326 332 0 +326 333 0 +326 334 0 +326 335 0 +326 336 0 +326 337 0 +326 338 0 +326 339 0 +326 340 0 +326 341 0 +326 342 0 +326 343 0 +326 344 0 +326 345 0 +326 346 0 +326 347 0 +326 348 0 +326 349 0 +326 350 0 +326 351 0 +326 352 0 +326 353 0 +326 354 0 +326 355 0 +326 356 0 +326 357 0 +326 358 0 +326 359 0 +326 360 0 +326 361 0 +326 362 0 +326 363 0 +326 364 0 +326 365 0 +326 366 0 +326 367 0 +326 368 0 +326 369 0 +326 370 0 +326 371 0 +326 372 0 +326 373 0 +326 374 0 +326 375 0 +326 376 0 +326 377 0 +326 378 0 +326 379 0 +326 380 0 +326 381 0 +326 382 0 +326 383 0 +327 328 0 +327 329 0 +327 330 0 +327 331 0 +327 332 0 +327 333 0 +327 334 0 +327 335 0 +327 336 0 +327 337 0 +327 338 0 +327 339 0 +327 340 0 +327 341 0 +327 342 0 +327 343 0 +327 344 0 +327 345 0 +327 346 0 +327 347 0 +327 348 0 +327 349 0 +327 350 0 +327 351 0 +327 352 0 +327 353 0 +327 354 0 +327 355 0 +327 356 0 +327 357 0 +327 358 0 +327 359 0 +327 360 0 +327 361 0 +327 362 0 +327 363 0 +327 364 0 +327 365 0 +327 366 0 +327 367 0 +327 368 0 +327 369 0 +327 370 0 +327 371 0 +327 372 0 +327 373 0 +327 374 0 +327 375 0 +327 376 0 +327 377 0 +327 378 0 +327 379 0 +327 380 0 +327 381 0 +327 382 0 +327 383 0 +328 329 0 +328 330 0 +328 331 0 +328 332 0 +328 333 0 +328 334 0 +328 335 0 +328 336 0 +328 337 0 +328 338 0 +328 339 0 +328 340 0 +328 341 0 +328 342 0 +328 343 0 +328 344 0 +328 345 0 +328 346 0 +328 347 0 +328 348 0 +328 349 0 +328 350 0 +328 351 0 +328 352 0 +328 353 0 +328 354 0 +328 355 0 +328 356 0 +328 357 0 +328 358 0 +328 359 0 +328 360 0 +328 361 0 +328 362 0 +328 363 0 +328 364 0 +328 365 0 +328 366 0 +328 367 0 +328 368 0 +328 369 0 +328 370 0 +328 371 0 +328 372 0 +328 373 0 +328 374 0 +328 375 0 +328 376 0 +328 377 0 +328 378 0 +328 379 0 +328 380 0 +328 381 0 +328 382 0 +328 383 0 +329 330 0 +329 331 0 +329 332 0 +329 333 0 +329 334 0 +329 335 0 +329 336 0 +329 337 0 +329 338 0 +329 339 0 +329 340 0 +329 341 0 +329 342 0 +329 343 0 +329 344 0 +329 345 0 +329 346 0 +329 347 0 +329 348 0 +329 349 0 +329 350 0 +329 351 0 +329 352 0 +329 353 0 +329 354 0 +329 355 0 +329 356 0 +329 357 0 +329 358 0 +329 359 0 +329 360 0 +329 361 0 +329 362 0 +329 363 0 +329 364 0 +329 365 0 +329 366 0 +329 367 0 +329 368 0 +329 369 0 +329 370 0 +329 371 0 +329 372 0 +329 373 0 +329 374 0 +329 375 0 +329 376 0 +329 377 0 +329 378 0 +329 379 0 +329 380 0 +329 381 0 +329 382 0 +329 383 0 +330 331 0 +330 332 0 +330 333 0 +330 334 0 +330 335 0 +330 336 0 +330 337 0 +330 338 0 +330 339 0 +330 340 0 +330 341 0 +330 342 0 +330 343 0 +330 344 0 +330 345 0 +330 346 0 +330 347 0 +330 348 0 +330 349 0 +330 350 0 +330 351 0 +330 352 0 +330 353 0 +330 354 0 +330 355 0 +330 356 0 +330 357 0 +330 358 0 +330 359 0 +330 360 0 +330 361 0 +330 362 0 +330 363 0 +330 364 0 +330 365 0 +330 366 0 +330 367 0 +330 368 0 +330 369 0 +330 370 0 +330 371 0 +330 372 0 +330 373 0 +330 374 0 +330 375 0 +330 376 0 +330 377 0 +330 378 0 +330 379 0 +330 380 0 +330 381 0 +330 382 0 +330 383 0 +331 332 0 +331 333 0 +331 334 0 +331 335 0 +331 336 0 +331 337 0 +331 338 0 +331 339 0 +331 340 0 +331 341 0 +331 342 0 +331 343 0 +331 344 0 +331 345 0 +331 346 0 +331 347 0 +331 348 0 +331 349 0 +331 350 0 +331 351 0 +331 352 0 +331 353 0 +331 354 0 +331 355 0 +331 356 0 +331 357 0 +331 358 0 +331 359 0 +331 360 0 +331 361 0 +331 362 0 +331 363 0 +331 364 0 +331 365 0 +331 366 0 +331 367 0 +331 368 0 +331 369 0 +331 370 0 +331 371 0 +331 372 0 +331 373 0 +331 374 0 +331 375 0 +331 376 0 +331 377 0 +331 378 0 +331 379 0 +331 380 0 +331 381 0 +331 382 0 +331 383 0 +332 333 0 +332 334 0 +332 335 0 +332 336 0 +332 337 0 +332 338 0 +332 339 0 +332 340 0 +332 341 0 +332 342 0 +332 343 0 +332 344 0 +332 345 0 +332 346 0 +332 347 0 +332 348 0 +332 349 0 +332 350 0 +332 351 0 +332 352 0 +332 353 0 +332 354 0 +332 355 0 +332 356 0 +332 357 0 +332 358 0 +332 359 0 +332 360 0 +332 361 0 +332 362 0 +332 363 0 +332 364 0 +332 365 0 +332 366 0 +332 367 0 +332 368 0 +332 369 0 +332 370 0 +332 371 0 +332 372 0 +332 373 0 +332 374 0 +332 375 0 +332 376 0 +332 377 0 +332 378 0 +332 379 0 +332 380 0 +332 381 0 +332 382 0 +332 383 0 +333 334 0 +333 335 0 +333 336 0 +333 337 0 +333 338 0 +333 339 0 +333 340 0 +333 341 0 +333 342 0 +333 343 0 +333 344 0 +333 345 0 +333 346 0 +333 347 0 +333 348 0 +333 349 0 +333 350 0 +333 351 0 +333 352 0 +333 353 0 +333 354 0 +333 355 0 +333 356 0 +333 357 0 +333 358 0 +333 359 0 +333 360 0 +333 361 0 +333 362 0 +333 363 0 +333 364 0 +333 365 0 +333 366 0 +333 367 0 +333 368 0 +333 369 0 +333 370 0 +333 371 0 +333 372 0 +333 373 0 +333 374 0 +333 375 0 +333 376 0 +333 377 0 +333 378 0 +333 379 0 +333 380 0 +333 381 0 +333 382 0 +333 383 0 +334 335 0 +334 336 0 +334 337 0 +334 338 0 +334 339 0 +334 340 0 +334 341 0 +334 342 0 +334 343 0 +334 344 0 +334 345 0 +334 346 0 +334 347 0 +334 348 0 +334 349 0 +334 350 0 +334 351 0 +334 352 0 +334 353 0 +334 354 0 +334 355 0 +334 356 0 +334 357 0 +334 358 0 +334 359 0 +334 360 0 +334 361 0 +334 362 0 +334 363 0 +334 364 0 +334 365 0 +334 366 0 +334 367 0 +334 368 0 +334 369 0 +334 370 0 +334 371 0 +334 372 0 +334 373 0 +334 374 0 +334 375 0 +334 376 0 +334 377 0 +334 378 0 +334 379 0 +334 380 0 +334 381 0 +334 382 0 +334 383 0 +335 336 0 +335 337 0 +335 338 0 +335 339 0 +335 340 0 +335 341 0 +335 342 0 +335 343 0 +335 344 0 +335 345 0 +335 346 0 +335 347 0 +335 348 0 +335 349 0 +335 350 0 +335 351 0 +335 352 0 +335 353 0 +335 354 0 +335 355 0 +335 356 0 +335 357 0 +335 358 0 +335 359 0 +335 360 0 +335 361 0 +335 362 0 +335 363 0 +335 364 0 +335 365 0 +335 366 0 +335 367 0 +335 368 0 +335 369 0 +335 370 0 +335 371 0 +335 372 0 +335 373 0 +335 374 0 +335 375 0 +335 376 0 +335 377 0 +335 378 0 +335 379 0 +335 380 0 +335 381 0 +335 382 0 +335 383 0 +336 337 0 +336 338 0 +336 339 0 +336 340 0 +336 341 0 +336 342 0 +336 343 0 +336 344 0 +336 345 0 +336 346 0 +336 347 0 +336 348 0 +336 349 0 +336 350 0 +336 351 0 +336 352 0 +336 353 0 +336 354 0 +336 355 0 +336 356 0 +336 357 0 +336 358 0 +336 359 0 +336 360 0 +336 361 0 +336 362 0 +336 363 0 +336 364 0 +336 365 0 +336 366 0 +336 367 0 +336 368 0 +336 369 0 +336 370 0 +336 371 0 +336 372 0 +336 373 0 +336 374 0 +336 375 0 +336 376 0 +336 377 0 +336 378 0 +336 379 0 +336 380 0 +336 381 0 +336 382 0 +336 383 0 +337 338 0 +337 339 0 +337 340 0 +337 341 0 +337 342 0 +337 343 0 +337 344 0 +337 345 0 +337 346 0 +337 347 0 +337 348 0 +337 349 0 +337 350 0 +337 351 0 +337 352 0 +337 353 0 +337 354 0 +337 355 0 +337 356 0 +337 357 0 +337 358 0 +337 359 0 +337 360 0 +337 361 0 +337 362 0 +337 363 0 +337 364 0 +337 365 0 +337 366 0 +337 367 0 +337 368 0 +337 369 0 +337 370 0 +337 371 0 +337 372 0 +337 373 0 +337 374 0 +337 375 0 +337 376 0 +337 377 0 +337 378 0 +337 379 0 +337 380 0 +337 381 0 +337 382 0 +337 383 0 +338 339 0 +338 340 0 +338 341 0 +338 342 0 +338 343 0 +338 344 0 +338 345 0 +338 346 0 +338 347 0 +338 348 0 +338 349 0 +338 350 0 +338 351 0 +338 352 0 +338 353 0 +338 354 0 +338 355 0 +338 356 0 +338 357 0 +338 358 0 +338 359 0 +338 360 0 +338 361 0 +338 362 0 +338 363 0 +338 364 0 +338 365 0 +338 366 0 +338 367 0 +338 368 0 +338 369 0 +338 370 0 +338 371 0 +338 372 0 +338 373 0 +338 374 0 +338 375 0 +338 376 0 +338 377 0 +338 378 0 +338 379 0 +338 380 0 +338 381 0 +338 382 0 +338 383 0 +339 340 0 +339 341 0 +339 342 0 +339 343 0 +339 344 0 +339 345 0 +339 346 0 +339 347 0 +339 348 0 +339 349 0 +339 350 0 +339 351 0 +339 352 0 +339 353 0 +339 354 0 +339 355 0 +339 356 0 +339 357 0 +339 358 0 +339 359 0 +339 360 0 +339 361 0 +339 362 0 +339 363 0 +339 364 0 +339 365 0 +339 366 0 +339 367 0 +339 368 0 +339 369 0 +339 370 0 +339 371 0 +339 372 0 +339 373 0 +339 374 0 +339 375 0 +339 376 0 +339 377 0 +339 378 0 +339 379 0 +339 380 0 +339 381 0 +339 382 0 +339 383 0 +340 341 0 +340 342 0 +340 343 0 +340 344 0 +340 345 0 +340 346 0 +340 347 0 +340 348 0 +340 349 0 +340 350 0 +340 351 0 +340 352 0 +340 353 0 +340 354 0 +340 355 0 +340 356 0 +340 357 0 +340 358 0 +340 359 0 +340 360 0 +340 361 0 +340 362 0 +340 363 0 +340 364 0 +340 365 0 +340 366 0 +340 367 0 +340 368 0 +340 369 0 +340 370 0 +340 371 0 +340 372 0 +340 373 0 +340 374 0 +340 375 0 +340 376 0 +340 377 0 +340 378 0 +340 379 0 +340 380 0 +340 381 0 +340 382 0 +340 383 0 +341 342 0 +341 343 0 +341 344 0 +341 345 0 +341 346 0 +341 347 0 +341 348 0 +341 349 0 +341 350 0 +341 351 0 +341 352 0 +341 353 0 +341 354 0 +341 355 0 +341 356 0 +341 357 0 +341 358 0 +341 359 0 +341 360 0 +341 361 0 +341 362 0 +341 363 0 +341 364 0 +341 365 0 +341 366 0 +341 367 0 +341 368 0 +341 369 0 +341 370 0 +341 371 0 +341 372 0 +341 373 0 +341 374 0 +341 375 0 +341 376 0 +341 377 0 +341 378 0 +341 379 0 +341 380 0 +341 381 0 +341 382 0 +341 383 0 +342 343 0 +342 344 0 +342 345 0 +342 346 0 +342 347 0 +342 348 0 +342 349 0 +342 350 0 +342 351 0 +342 352 0 +342 353 0 +342 354 0 +342 355 0 +342 356 0 +342 357 0 +342 358 0 +342 359 0 +342 360 0 +342 361 0 +342 362 0 +342 363 0 +342 364 0 +342 365 0 +342 366 0 +342 367 0 +342 368 0 +342 369 0 +342 370 0 +342 371 0 +342 372 0 +342 373 0 +342 374 0 +342 375 0 +342 376 0 +342 377 0 +342 378 0 +342 379 0 +342 380 0 +342 381 0 +342 382 0 +342 383 0 +343 344 0 +343 345 0 +343 346 0 +343 347 0 +343 348 0 +343 349 0 +343 350 0 +343 351 0 +343 352 0 +343 353 0 +343 354 0 +343 355 0 +343 356 0 +343 357 0 +343 358 0 +343 359 0 +343 360 0 +343 361 0 +343 362 0 +343 363 0 +343 364 0 +343 365 0 +343 366 0 +343 367 0 +343 368 0 +343 369 0 +343 370 0 +343 371 0 +343 372 0 +343 373 0 +343 374 0 +343 375 0 +343 376 0 +343 377 0 +343 378 0 +343 379 0 +343 380 0 +343 381 0 +343 382 0 +343 383 0 +344 345 0 +344 346 0 +344 347 0 +344 348 0 +344 349 0 +344 350 0 +344 351 0 +344 352 0 +344 353 0 +344 354 0 +344 355 0 +344 356 0 +344 357 0 +344 358 0 +344 359 0 +344 360 0 +344 361 0 +344 362 0 +344 363 0 +344 364 0 +344 365 0 +344 366 0 +344 367 0 +344 368 0 +344 369 0 +344 370 0 +344 371 0 +344 372 0 +344 373 0 +344 374 0 +344 375 0 +344 376 0 +344 377 0 +344 378 0 +344 379 0 +344 380 0 +344 381 0 +344 382 0 +344 383 0 +345 346 0 +345 347 0 +345 348 0 +345 349 0 +345 350 0 +345 351 0 +345 352 0 +345 353 0 +345 354 0 +345 355 0 +345 356 0 +345 357 0 +345 358 0 +345 359 0 +345 360 0 +345 361 0 +345 362 0 +345 363 0 +345 364 0 +345 365 0 +345 366 0 +345 367 0 +345 368 0 +345 369 0 +345 370 0 +345 371 0 +345 372 0 +345 373 0 +345 374 0 +345 375 0 +345 376 0 +345 377 0 +345 378 0 +345 379 0 +345 380 0 +345 381 0 +345 382 0 +345 383 0 +346 347 0 +346 348 0 +346 349 0 +346 350 0 +346 351 0 +346 352 0 +346 353 0 +346 354 0 +346 355 0 +346 356 0 +346 357 0 +346 358 0 +346 359 0 +346 360 0 +346 361 0 +346 362 0 +346 363 0 +346 364 0 +346 365 0 +346 366 0 +346 367 0 +346 368 0 +346 369 0 +346 370 0 +346 371 0 +346 372 0 +346 373 0 +346 374 0 +346 375 0 +346 376 0 +346 377 0 +346 378 0 +346 379 0 +346 380 0 +346 381 0 +346 382 0 +346 383 0 +347 348 0 +347 349 0 +347 350 0 +347 351 0 +347 352 0 +347 353 0 +347 354 0 +347 355 0 +347 356 0 +347 357 0 +347 358 0 +347 359 0 +347 360 0 +347 361 0 +347 362 0 +347 363 0 +347 364 0 +347 365 0 +347 366 0 +347 367 0 +347 368 0 +347 369 0 +347 370 0 +347 371 0 +347 372 0 +347 373 0 +347 374 0 +347 375 0 +347 376 0 +347 377 0 +347 378 0 +347 379 0 +347 380 0 +347 381 0 +347 382 0 +347 383 0 +348 349 0 +348 350 0 +348 351 0 +348 352 0 +348 353 0 +348 354 0 +348 355 0 +348 356 0 +348 357 0 +348 358 0 +348 359 0 +348 360 0 +348 361 0 +348 362 0 +348 363 0 +348 364 0 +348 365 0 +348 366 0 +348 367 0 +348 368 0 +348 369 0 +348 370 0 +348 371 0 +348 372 0 +348 373 0 +348 374 0 +348 375 0 +348 376 0 +348 377 0 +348 378 0 +348 379 0 +348 380 0 +348 381 0 +348 382 0 +348 383 0 +349 350 0 +349 351 0 +349 352 0 +349 353 0 +349 354 0 +349 355 0 +349 356 0 +349 357 0 +349 358 0 +349 359 0 +349 360 0 +349 361 0 +349 362 0 +349 363 0 +349 364 0 +349 365 0 +349 366 0 +349 367 0 +349 368 0 +349 369 0 +349 370 0 +349 371 0 +349 372 0 +349 373 0 +349 374 0 +349 375 0 +349 376 0 +349 377 0 +349 378 0 +349 379 0 +349 380 0 +349 381 0 +349 382 0 +349 383 0 +350 351 0 +350 352 0 +350 353 0 +350 354 0 +350 355 0 +350 356 0 +350 357 0 +350 358 0 +350 359 0 +350 360 0 +350 361 0 +350 362 0 +350 363 0 +350 364 0 +350 365 0 +350 366 0 +350 367 0 +350 368 0 +350 369 0 +350 370 0 +350 371 0 +350 372 0 +350 373 0 +350 374 0 +350 375 0 +350 376 0 +350 377 0 +350 378 0 +350 379 0 +350 380 0 +350 381 0 +350 382 0 +350 383 0 +351 352 0 +351 353 0 +351 354 0 +351 355 0 +351 356 0 +351 357 0 +351 358 0 +351 359 0 +351 360 0 +351 361 0 +351 362 0 +351 363 0 +351 364 0 +351 365 0 +351 366 0 +351 367 0 +351 368 0 +351 369 0 +351 370 0 +351 371 0 +351 372 0 +351 373 0 +351 374 0 +351 375 0 +351 376 0 +351 377 0 +351 378 0 +351 379 0 +351 380 0 +351 381 0 +351 382 0 +351 383 0 +352 353 0 +352 354 0 +352 355 0 +352 356 0 +352 357 0 +352 358 0 +352 359 0 +352 360 0 +352 361 0 +352 362 0 +352 363 0 +352 364 0 +352 365 0 +352 366 0 +352 367 0 +352 368 0 +352 369 0 +352 370 0 +352 371 0 +352 372 0 +352 373 0 +352 374 0 +352 375 0 +352 376 0 +352 377 0 +352 378 0 +352 379 0 +352 380 0 +352 381 0 +352 382 0 +352 383 0 +353 354 0 +353 355 0 +353 356 0 +353 357 0 +353 358 0 +353 359 0 +353 360 0 +353 361 0 +353 362 0 +353 363 0 +353 364 0 +353 365 0 +353 366 0 +353 367 0 +353 368 0 +353 369 0 +353 370 0 +353 371 0 +353 372 0 +353 373 0 +353 374 0 +353 375 0 +353 376 0 +353 377 0 +353 378 0 +353 379 0 +353 380 0 +353 381 0 +353 382 0 +353 383 0 +354 355 0 +354 356 0 +354 357 0 +354 358 0 +354 359 0 +354 360 0 +354 361 0 +354 362 0 +354 363 0 +354 364 0 +354 365 0 +354 366 0 +354 367 0 +354 368 0 +354 369 0 +354 370 0 +354 371 0 +354 372 0 +354 373 0 +354 374 0 +354 375 0 +354 376 0 +354 377 0 +354 378 0 +354 379 0 +354 380 0 +354 381 0 +354 382 0 +354 383 0 +355 356 0 +355 357 0 +355 358 0 +355 359 0 +355 360 0 +355 361 0 +355 362 0 +355 363 0 +355 364 0 +355 365 0 +355 366 0 +355 367 0 +355 368 0 +355 369 0 +355 370 0 +355 371 0 +355 372 0 +355 373 0 +355 374 0 +355 375 0 +355 376 0 +355 377 0 +355 378 0 +355 379 0 +355 380 0 +355 381 0 +355 382 0 +355 383 0 +356 357 0 +356 358 0 +356 359 0 +356 360 0 +356 361 0 +356 362 0 +356 363 0 +356 364 0 +356 365 0 +356 366 0 +356 367 0 +356 368 0 +356 369 0 +356 370 0 +356 371 0 +356 372 0 +356 373 0 +356 374 0 +356 375 0 +356 376 0 +356 377 0 +356 378 0 +356 379 0 +356 380 0 +356 381 0 +356 382 0 +356 383 0 +357 358 0 +357 359 0 +357 360 0 +357 361 0 +357 362 0 +357 363 0 +357 364 0 +357 365 0 +357 366 0 +357 367 0 +357 368 0 +357 369 0 +357 370 0 +357 371 0 +357 372 0 +357 373 0 +357 374 0 +357 375 0 +357 376 0 +357 377 0 +357 378 0 +357 379 0 +357 380 0 +357 381 0 +357 382 0 +357 383 0 +358 359 0 +358 360 0 +358 361 0 +358 362 0 +358 363 0 +358 364 0 +358 365 0 +358 366 0 +358 367 0 +358 368 0 +358 369 0 +358 370 0 +358 371 0 +358 372 0 +358 373 0 +358 374 0 +358 375 0 +358 376 0 +358 377 0 +358 378 0 +358 379 0 +358 380 0 +358 381 0 +358 382 0 +358 383 0 +359 360 0 +359 361 0 +359 362 0 +359 363 0 +359 364 0 +359 365 0 +359 366 0 +359 367 0 +359 368 0 +359 369 0 +359 370 0 +359 371 0 +359 372 0 +359 373 0 +359 374 0 +359 375 0 +359 376 0 +359 377 0 +359 378 0 +359 379 0 +359 380 0 +359 381 0 +359 382 0 +359 383 0 +360 361 0 +360 362 0 +360 363 0 +360 364 0 +360 365 0 +360 366 0 +360 367 0 +360 368 0 +360 369 0 +360 370 0 +360 371 0 +360 372 0 +360 373 0 +360 374 0 +360 375 0 +360 376 0 +360 377 0 +360 378 0 +360 379 0 +360 380 0 +360 381 0 +360 382 0 +360 383 0 +361 362 0 +361 363 0 +361 364 0 +361 365 0 +361 366 0 +361 367 0 +361 368 0 +361 369 0 +361 370 0 +361 371 0 +361 372 0 +361 373 0 +361 374 0 +361 375 0 +361 376 0 +361 377 0 +361 378 0 +361 379 0 +361 380 0 +361 381 0 +361 382 0 +361 383 0 +362 363 0 +362 364 0 +362 365 0 +362 366 0 +362 367 0 +362 368 0 +362 369 0 +362 370 0 +362 371 0 +362 372 0 +362 373 0 +362 374 0 +362 375 0 +362 376 0 +362 377 0 +362 378 0 +362 379 0 +362 380 0 +362 381 0 +362 382 0 +362 383 0 +363 364 0 +363 365 0 +363 366 0 +363 367 0 +363 368 0 +363 369 0 +363 370 0 +363 371 0 +363 372 0 +363 373 0 +363 374 0 +363 375 0 +363 376 0 +363 377 0 +363 378 0 +363 379 0 +363 380 0 +363 381 0 +363 382 0 +363 383 0 +364 365 0 +364 366 0 +364 367 0 +364 368 0 +364 369 0 +364 370 0 +364 371 0 +364 372 0 +364 373 0 +364 374 0 +364 375 0 +364 376 0 +364 377 0 +364 378 0 +364 379 0 +364 380 0 +364 381 0 +364 382 0 +364 383 0 +365 366 0 +365 367 0 +365 368 0 +365 369 0 +365 370 0 +365 371 0 +365 372 0 +365 373 0 +365 374 0 +365 375 0 +365 376 0 +365 377 0 +365 378 0 +365 379 0 +365 380 0 +365 381 0 +365 382 0 +365 383 0 +366 367 0 +366 368 0 +366 369 0 +366 370 0 +366 371 0 +366 372 0 +366 373 0 +366 374 0 +366 375 0 +366 376 0 +366 377 0 +366 378 0 +366 379 0 +366 380 0 +366 381 0 +366 382 0 +366 383 0 +367 368 0 +367 369 0 +367 370 0 +367 371 0 +367 372 0 +367 373 0 +367 374 0 +367 375 0 +367 376 0 +367 377 0 +367 378 0 +367 379 0 +367 380 0 +367 381 0 +367 382 0 +367 383 0 +368 369 0 +368 370 0 +368 371 0 +368 372 0 +368 373 0 +368 374 0 +368 375 0 +368 376 0 +368 377 0 +368 378 0 +368 379 0 +368 380 0 +368 381 0 +368 382 0 +368 383 0 +369 370 0 +369 371 0 +369 372 0 +369 373 0 +369 374 0 +369 375 0 +369 376 0 +369 377 0 +369 378 0 +369 379 0 +369 380 0 +369 381 0 +369 382 0 +369 383 0 +370 371 0 +370 372 0 +370 373 0 +370 374 0 +370 375 0 +370 376 0 +370 377 0 +370 378 0 +370 379 0 +370 380 0 +370 381 0 +370 382 0 +370 383 0 +371 372 0 +371 373 0 +371 374 0 +371 375 0 +371 376 0 +371 377 0 +371 378 0 +371 379 0 +371 380 0 +371 381 0 +371 382 0 +371 383 0 +372 373 0 +372 374 0 +372 375 0 +372 376 0 +372 377 0 +372 378 0 +372 379 0 +372 380 0 +372 381 0 +372 382 0 +372 383 0 +373 374 0 +373 375 0 +373 376 0 +373 377 0 +373 378 0 +373 379 0 +373 380 0 +373 381 0 +373 382 0 +373 383 0 +374 375 0 +374 376 0 +374 377 0 +374 378 0 +374 379 0 +374 380 0 +374 381 0 +374 382 0 +374 383 0 +375 376 0 +375 377 0 +375 378 0 +375 379 0 +375 380 0 +375 381 0 +375 382 0 +375 383 0 +376 377 0 +376 378 0 +376 379 0 +376 380 0 +376 381 0 +376 382 0 +376 383 0 +377 378 0 +377 379 0 +377 380 0 +377 381 0 +377 382 0 +377 383 0 +378 379 0 +378 380 0 +378 381 0 +378 382 0 +378 383 0 +379 380 0 +379 381 0 +379 382 0 +379 383 0 +380 381 0 +380 382 0 +380 383 0 +381 382 0 +381 383 0 +382 383 0 diff --git a/src/bdaconfig/test_bda_192ants_nobda.txt b/src/bdaconfig/test_bda_192ants_nobda.txt new file mode 100644 index 00000000..d2ee68cd --- /dev/null +++ b/src/bdaconfig/test_bda_192ants_nobda.txt @@ -0,0 +1,73920 @@ +0 0 1 +1 1 1 +2 2 1 +3 3 1 +4 4 1 +5 5 1 +6 6 1 +7 7 1 +8 8 1 +9 9 1 +10 10 1 +11 11 1 +12 12 1 +13 13 1 +14 14 1 +15 15 1 +16 16 1 +17 17 1 +18 18 1 +19 19 1 +20 20 1 +21 21 1 +22 22 1 +23 23 1 +24 24 1 +25 25 1 +26 26 1 +27 27 1 +28 28 1 +29 29 1 +30 30 1 +31 31 1 +32 32 1 +33 33 1 +34 34 1 +35 35 1 +36 36 1 +37 37 1 +38 38 1 +39 39 1 +40 40 1 +41 41 1 +42 42 1 +43 43 1 +44 44 1 +45 45 1 +46 46 1 +47 47 1 +48 48 1 +49 49 1 +50 50 1 +51 51 1 +52 52 1 +53 53 1 +54 54 1 +55 55 1 +56 56 1 +57 57 1 +58 58 1 +59 59 1 +60 60 1 +61 61 1 +62 62 1 +63 63 1 +64 64 1 +65 65 1 +66 66 1 +67 67 1 +68 68 1 +69 69 1 +70 70 1 +71 71 1 +72 72 1 +73 73 1 +74 74 1 +75 75 1 +76 76 1 +77 77 1 +78 78 1 +79 79 1 +80 80 1 +81 81 1 +82 82 1 +83 83 1 +84 84 1 +85 85 1 +86 86 1 +87 87 1 +88 88 1 +89 89 1 +90 90 1 +91 91 1 +92 92 1 +93 93 1 +94 94 1 +95 95 1 +96 96 1 +97 97 1 +98 98 1 +99 99 1 +100 100 1 +101 101 1 +102 102 1 +103 103 1 +104 104 1 +105 105 1 +106 106 1 +107 107 1 +108 108 1 +109 109 1 +110 110 1 +111 111 1 +112 112 1 +113 113 1 +114 114 1 +115 115 1 +116 116 1 +117 117 1 +118 118 1 +119 119 1 +120 120 1 +121 121 1 +122 122 1 +123 123 1 +124 124 1 +125 125 1 +126 126 1 +127 127 1 +128 128 1 +129 129 1 +130 130 1 +131 131 1 +132 132 1 +133 133 1 +134 134 1 +135 135 1 +136 136 1 +137 137 1 +138 138 1 +139 139 1 +140 140 1 +141 141 1 +142 142 1 +143 143 1 +144 144 1 +145 145 1 +146 146 1 +147 147 1 +148 148 1 +149 149 1 +150 150 1 +151 151 1 +152 152 1 +153 153 1 +154 154 1 +155 155 1 +156 156 1 +157 157 1 +158 158 1 +159 159 1 +160 160 1 +161 161 1 +162 162 1 +163 163 1 +164 164 1 +165 165 1 +166 166 1 +167 167 1 +168 168 1 +169 169 1 +170 170 1 +171 171 1 +172 172 1 +173 173 1 +174 174 1 +175 175 1 +176 176 1 +177 177 1 +178 178 1 +179 179 1 +180 180 1 +181 181 1 +182 182 1 +183 183 1 +184 184 1 +185 185 1 +186 186 1 +187 187 1 +188 188 1 +189 189 1 +190 190 1 +191 191 1 +192 192 0 +193 193 0 +194 194 0 +195 195 0 +196 196 0 +197 197 0 +198 198 0 +199 199 0 +200 200 0 +201 201 0 +202 202 0 +203 203 0 +204 204 0 +205 205 0 +206 206 0 +207 207 0 +208 208 0 +209 209 0 +210 210 0 +211 211 0 +212 212 0 +213 213 0 +214 214 0 +215 215 0 +216 216 0 +217 217 0 +218 218 0 +219 219 0 +220 220 0 +221 221 0 +222 222 0 +223 223 0 +224 224 0 +225 225 0 +226 226 0 +227 227 0 +228 228 0 +229 229 0 +230 230 0 +231 231 0 +232 232 0 +233 233 0 +234 234 0 +235 235 0 +236 236 0 +237 237 0 +238 238 0 +239 239 0 +240 240 0 +241 241 0 +242 242 0 +243 243 0 +244 244 0 +245 245 0 +246 246 0 +247 247 0 +248 248 0 +249 249 0 +250 250 0 +251 251 0 +252 252 0 +253 253 0 +254 254 0 +255 255 0 +256 256 0 +257 257 0 +258 258 0 +259 259 0 +260 260 0 +261 261 0 +262 262 0 +263 263 0 +264 264 0 +265 265 0 +266 266 0 +267 267 0 +268 268 0 +269 269 0 +270 270 0 +271 271 0 +272 272 0 +273 273 0 +274 274 0 +275 275 0 +276 276 0 +277 277 0 +278 278 0 +279 279 0 +280 280 0 +281 281 0 +282 282 0 +283 283 0 +284 284 0 +285 285 0 +286 286 0 +287 287 0 +288 288 0 +289 289 0 +290 290 0 +291 291 0 +292 292 0 +293 293 0 +294 294 0 +295 295 0 +296 296 0 +297 297 0 +298 298 0 +299 299 0 +300 300 0 +301 301 0 +302 302 0 +303 303 0 +304 304 0 +305 305 0 +306 306 0 +307 307 0 +308 308 0 +309 309 0 +310 310 0 +311 311 0 +312 312 0 +313 313 0 +314 314 0 +315 315 0 +316 316 0 +317 317 0 +318 318 0 +319 319 0 +320 320 0 +321 321 0 +322 322 0 +323 323 0 +324 324 0 +325 325 0 +326 326 0 +327 327 0 +328 328 0 +329 329 0 +330 330 0 +331 331 0 +332 332 0 +333 333 0 +334 334 0 +335 335 0 +336 336 0 +337 337 0 +338 338 0 +339 339 0 +340 340 0 +341 341 0 +342 342 0 +343 343 0 +344 344 0 +345 345 0 +346 346 0 +347 347 0 +348 348 0 +349 349 0 +350 350 0 +351 351 0 +352 352 0 +353 353 0 +354 354 0 +355 355 0 +356 356 0 +357 357 0 +358 358 0 +359 359 0 +360 360 0 +361 361 0 +362 362 0 +363 363 0 +364 364 0 +365 365 0 +366 366 0 +367 367 0 +368 368 0 +369 369 0 +370 370 0 +371 371 0 +372 372 0 +373 373 0 +374 374 0 +375 375 0 +376 376 0 +377 377 0 +378 378 0 +379 379 0 +380 380 0 +381 381 0 +382 382 0 +383 383 0 +0 1 4 +0 2 4 +0 3 4 +0 4 4 +0 5 4 +0 6 4 +0 7 4 +0 8 4 +0 9 4 +0 10 4 +0 11 4 +0 12 4 +0 13 4 +0 14 4 +0 15 4 +0 16 4 +0 17 4 +0 18 4 +0 19 4 +0 20 4 +0 21 4 +0 22 4 +0 23 4 +0 24 4 +0 25 4 +0 26 4 +0 27 4 +0 28 4 +0 29 4 +0 30 4 +0 31 4 +0 32 4 +0 33 4 +0 34 4 +0 35 4 +0 36 4 +0 37 4 +0 38 4 +0 39 4 +0 40 4 +0 41 4 +0 42 4 +0 43 4 +0 44 4 +0 45 4 +0 46 4 +0 47 4 +0 48 4 +0 49 4 +0 50 4 +0 51 4 +0 52 4 +0 53 4 +0 54 4 +0 55 4 +0 56 4 +0 57 4 +0 58 4 +0 59 4 +0 60 4 +0 61 4 +0 62 4 +0 63 4 +0 64 4 +0 65 4 +0 66 4 +0 67 4 +0 68 4 +0 69 4 +0 70 4 +0 71 4 +0 72 4 +0 73 4 +0 74 4 +0 75 4 +0 76 4 +0 77 4 +0 78 4 +0 79 4 +0 80 4 +0 81 4 +0 82 4 +0 83 4 +0 84 4 +0 85 4 +0 86 4 +0 87 4 +0 88 4 +0 89 4 +0 90 4 +0 91 4 +0 92 4 +0 93 4 +0 94 4 +0 95 4 +0 96 4 +0 97 4 +0 98 4 +0 99 4 +0 100 4 +0 101 4 +0 102 4 +0 103 4 +0 104 4 +0 105 4 +0 106 4 +0 107 4 +0 108 4 +0 109 4 +0 110 4 +0 111 4 +0 112 4 +0 113 4 +0 114 4 +0 115 4 +0 116 4 +0 117 4 +0 118 4 +0 119 4 +0 120 4 +0 121 4 +0 122 4 +0 123 4 +0 124 4 +0 125 4 +0 126 4 +0 127 4 +0 128 4 +0 129 4 +0 130 4 +0 131 4 +0 132 4 +0 133 4 +0 134 4 +0 135 4 +0 136 4 +0 137 4 +0 138 4 +0 139 4 +0 140 4 +0 141 4 +0 142 4 +0 143 4 +0 144 4 +0 145 4 +0 146 4 +0 147 4 +0 148 4 +0 149 4 +0 150 4 +0 151 4 +0 152 4 +0 153 4 +0 154 4 +0 155 4 +0 156 4 +0 157 4 +0 158 4 +0 159 4 +0 160 4 +0 161 4 +0 162 4 +0 163 4 +0 164 4 +0 165 4 +0 166 4 +0 167 4 +0 168 4 +0 169 4 +0 170 4 +0 171 4 +0 172 4 +0 173 4 +0 174 4 +0 175 4 +0 176 4 +0 177 4 +0 178 4 +0 179 4 +0 180 4 +0 181 4 +0 182 4 +0 183 4 +0 184 4 +0 185 4 +0 186 4 +0 187 4 +0 188 4 +0 189 4 +0 190 4 +0 191 4 +0 192 0 +0 193 0 +0 194 0 +0 195 0 +0 196 0 +0 197 0 +0 198 0 +0 199 0 +0 200 0 +0 201 0 +0 202 0 +0 203 0 +0 204 0 +0 205 0 +0 206 0 +0 207 0 +0 208 0 +0 209 0 +0 210 0 +0 211 0 +0 212 0 +0 213 0 +0 214 0 +0 215 0 +0 216 0 +0 217 0 +0 218 0 +0 219 0 +0 220 0 +0 221 0 +0 222 0 +0 223 0 +0 224 0 +0 225 0 +0 226 0 +0 227 0 +0 228 0 +0 229 0 +0 230 0 +0 231 0 +0 232 0 +0 233 0 +0 234 0 +0 235 0 +0 236 0 +0 237 0 +0 238 0 +0 239 0 +0 240 0 +0 241 0 +0 242 0 +0 243 0 +0 244 0 +0 245 0 +0 246 0 +0 247 0 +0 248 0 +0 249 0 +0 250 0 +0 251 0 +0 252 0 +0 253 0 +0 254 0 +0 255 0 +0 256 0 +0 257 0 +0 258 0 +0 259 0 +0 260 0 +0 261 0 +0 262 0 +0 263 0 +0 264 0 +0 265 0 +0 266 0 +0 267 0 +0 268 0 +0 269 0 +0 270 0 +0 271 0 +0 272 0 +0 273 0 +0 274 0 +0 275 0 +0 276 0 +0 277 0 +0 278 0 +0 279 0 +0 280 0 +0 281 0 +0 282 0 +0 283 0 +0 284 0 +0 285 0 +0 286 0 +0 287 0 +0 288 0 +0 289 0 +0 290 0 +0 291 0 +0 292 0 +0 293 0 +0 294 0 +0 295 0 +0 296 0 +0 297 0 +0 298 0 +0 299 0 +0 300 0 +0 301 0 +0 302 0 +0 303 0 +0 304 0 +0 305 0 +0 306 0 +0 307 0 +0 308 0 +0 309 0 +0 310 0 +0 311 0 +0 312 0 +0 313 0 +0 314 0 +0 315 0 +0 316 0 +0 317 0 +0 318 0 +0 319 0 +0 320 0 +0 321 0 +0 322 0 +0 323 0 +0 324 0 +0 325 0 +0 326 0 +0 327 0 +0 328 0 +0 329 0 +0 330 0 +0 331 0 +0 332 0 +0 333 0 +0 334 0 +0 335 0 +0 336 0 +0 337 0 +0 338 0 +0 339 0 +0 340 0 +0 341 0 +0 342 0 +0 343 0 +0 344 0 +0 345 0 +0 346 0 +0 347 0 +0 348 0 +0 349 0 +0 350 0 +0 351 0 +0 352 0 +0 353 0 +0 354 0 +0 355 0 +0 356 0 +0 357 0 +0 358 0 +0 359 0 +0 360 0 +0 361 0 +0 362 0 +0 363 0 +0 364 0 +0 365 0 +0 366 0 +0 367 0 +0 368 0 +0 369 0 +0 370 0 +0 371 0 +0 372 0 +0 373 0 +0 374 0 +0 375 0 +0 376 0 +0 377 0 +0 378 0 +0 379 0 +0 380 0 +0 381 0 +0 382 0 +0 383 0 +1 2 4 +1 3 4 +1 4 4 +1 5 4 +1 6 4 +1 7 4 +1 8 4 +1 9 4 +1 10 4 +1 11 4 +1 12 4 +1 13 4 +1 14 4 +1 15 4 +1 16 4 +1 17 4 +1 18 4 +1 19 4 +1 20 4 +1 21 4 +1 22 4 +1 23 4 +1 24 4 +1 25 4 +1 26 4 +1 27 4 +1 28 4 +1 29 4 +1 30 4 +1 31 4 +1 32 4 +1 33 4 +1 34 4 +1 35 4 +1 36 4 +1 37 4 +1 38 4 +1 39 4 +1 40 4 +1 41 4 +1 42 4 +1 43 4 +1 44 4 +1 45 4 +1 46 4 +1 47 4 +1 48 4 +1 49 4 +1 50 4 +1 51 4 +1 52 4 +1 53 4 +1 54 4 +1 55 4 +1 56 4 +1 57 4 +1 58 4 +1 59 4 +1 60 4 +1 61 4 +1 62 4 +1 63 4 +1 64 4 +1 65 4 +1 66 4 +1 67 4 +1 68 4 +1 69 4 +1 70 4 +1 71 4 +1 72 4 +1 73 4 +1 74 4 +1 75 4 +1 76 4 +1 77 4 +1 78 4 +1 79 4 +1 80 4 +1 81 4 +1 82 4 +1 83 4 +1 84 4 +1 85 4 +1 86 4 +1 87 4 +1 88 4 +1 89 4 +1 90 4 +1 91 4 +1 92 4 +1 93 4 +1 94 4 +1 95 4 +1 96 4 +1 97 4 +1 98 4 +1 99 4 +1 100 4 +1 101 4 +1 102 4 +1 103 4 +1 104 4 +1 105 4 +1 106 4 +1 107 4 +1 108 4 +1 109 4 +1 110 4 +1 111 4 +1 112 4 +1 113 4 +1 114 4 +1 115 4 +1 116 4 +1 117 4 +1 118 4 +1 119 4 +1 120 4 +1 121 4 +1 122 4 +1 123 4 +1 124 4 +1 125 4 +1 126 4 +1 127 4 +1 128 4 +1 129 4 +1 130 4 +1 131 4 +1 132 4 +1 133 4 +1 134 4 +1 135 4 +1 136 4 +1 137 4 +1 138 4 +1 139 4 +1 140 4 +1 141 4 +1 142 4 +1 143 4 +1 144 4 +1 145 4 +1 146 4 +1 147 4 +1 148 4 +1 149 4 +1 150 4 +1 151 4 +1 152 4 +1 153 4 +1 154 4 +1 155 4 +1 156 4 +1 157 4 +1 158 4 +1 159 4 +1 160 4 +1 161 4 +1 162 4 +1 163 4 +1 164 4 +1 165 4 +1 166 4 +1 167 4 +1 168 4 +1 169 4 +1 170 4 +1 171 4 +1 172 4 +1 173 4 +1 174 4 +1 175 4 +1 176 4 +1 177 4 +1 178 4 +1 179 4 +1 180 4 +1 181 4 +1 182 4 +1 183 4 +1 184 4 +1 185 4 +1 186 4 +1 187 4 +1 188 4 +1 189 4 +1 190 4 +1 191 4 +1 192 0 +1 193 0 +1 194 0 +1 195 0 +1 196 0 +1 197 0 +1 198 0 +1 199 0 +1 200 0 +1 201 0 +1 202 0 +1 203 0 +1 204 0 +1 205 0 +1 206 0 +1 207 0 +1 208 0 +1 209 0 +1 210 0 +1 211 0 +1 212 0 +1 213 0 +1 214 0 +1 215 0 +1 216 0 +1 217 0 +1 218 0 +1 219 0 +1 220 0 +1 221 0 +1 222 0 +1 223 0 +1 224 0 +1 225 0 +1 226 0 +1 227 0 +1 228 0 +1 229 0 +1 230 0 +1 231 0 +1 232 0 +1 233 0 +1 234 0 +1 235 0 +1 236 0 +1 237 0 +1 238 0 +1 239 0 +1 240 0 +1 241 0 +1 242 0 +1 243 0 +1 244 0 +1 245 0 +1 246 0 +1 247 0 +1 248 0 +1 249 0 +1 250 0 +1 251 0 +1 252 0 +1 253 0 +1 254 0 +1 255 0 +1 256 0 +1 257 0 +1 258 0 +1 259 0 +1 260 0 +1 261 0 +1 262 0 +1 263 0 +1 264 0 +1 265 0 +1 266 0 +1 267 0 +1 268 0 +1 269 0 +1 270 0 +1 271 0 +1 272 0 +1 273 0 +1 274 0 +1 275 0 +1 276 0 +1 277 0 +1 278 0 +1 279 0 +1 280 0 +1 281 0 +1 282 0 +1 283 0 +1 284 0 +1 285 0 +1 286 0 +1 287 0 +1 288 0 +1 289 0 +1 290 0 +1 291 0 +1 292 0 +1 293 0 +1 294 0 +1 295 0 +1 296 0 +1 297 0 +1 298 0 +1 299 0 +1 300 0 +1 301 0 +1 302 0 +1 303 0 +1 304 0 +1 305 0 +1 306 0 +1 307 0 +1 308 0 +1 309 0 +1 310 0 +1 311 0 +1 312 0 +1 313 0 +1 314 0 +1 315 0 +1 316 0 +1 317 0 +1 318 0 +1 319 0 +1 320 0 +1 321 0 +1 322 0 +1 323 0 +1 324 0 +1 325 0 +1 326 0 +1 327 0 +1 328 0 +1 329 0 +1 330 0 +1 331 0 +1 332 0 +1 333 0 +1 334 0 +1 335 0 +1 336 0 +1 337 0 +1 338 0 +1 339 0 +1 340 0 +1 341 0 +1 342 0 +1 343 0 +1 344 0 +1 345 0 +1 346 0 +1 347 0 +1 348 0 +1 349 0 +1 350 0 +1 351 0 +1 352 0 +1 353 0 +1 354 0 +1 355 0 +1 356 0 +1 357 0 +1 358 0 +1 359 0 +1 360 0 +1 361 0 +1 362 0 +1 363 0 +1 364 0 +1 365 0 +1 366 0 +1 367 0 +1 368 0 +1 369 0 +1 370 0 +1 371 0 +1 372 0 +1 373 0 +1 374 0 +1 375 0 +1 376 0 +1 377 0 +1 378 0 +1 379 0 +1 380 0 +1 381 0 +1 382 0 +1 383 0 +2 3 4 +2 4 4 +2 5 4 +2 6 4 +2 7 4 +2 8 4 +2 9 4 +2 10 4 +2 11 4 +2 12 4 +2 13 4 +2 14 4 +2 15 4 +2 16 4 +2 17 4 +2 18 4 +2 19 4 +2 20 4 +2 21 4 +2 22 4 +2 23 4 +2 24 4 +2 25 4 +2 26 4 +2 27 4 +2 28 4 +2 29 4 +2 30 4 +2 31 4 +2 32 4 +2 33 4 +2 34 4 +2 35 4 +2 36 4 +2 37 4 +2 38 4 +2 39 4 +2 40 4 +2 41 4 +2 42 4 +2 43 4 +2 44 4 +2 45 4 +2 46 4 +2 47 4 +2 48 4 +2 49 4 +2 50 4 +2 51 4 +2 52 4 +2 53 4 +2 54 4 +2 55 4 +2 56 4 +2 57 4 +2 58 4 +2 59 4 +2 60 4 +2 61 4 +2 62 4 +2 63 4 +2 64 4 +2 65 4 +2 66 4 +2 67 4 +2 68 4 +2 69 4 +2 70 4 +2 71 4 +2 72 4 +2 73 4 +2 74 4 +2 75 4 +2 76 4 +2 77 4 +2 78 4 +2 79 4 +2 80 4 +2 81 4 +2 82 4 +2 83 4 +2 84 4 +2 85 4 +2 86 4 +2 87 4 +2 88 4 +2 89 4 +2 90 4 +2 91 4 +2 92 4 +2 93 4 +2 94 4 +2 95 4 +2 96 4 +2 97 4 +2 98 4 +2 99 4 +2 100 4 +2 101 4 +2 102 4 +2 103 4 +2 104 4 +2 105 4 +2 106 4 +2 107 4 +2 108 4 +2 109 4 +2 110 4 +2 111 4 +2 112 4 +2 113 4 +2 114 4 +2 115 4 +2 116 4 +2 117 4 +2 118 4 +2 119 4 +2 120 4 +2 121 4 +2 122 4 +2 123 4 +2 124 4 +2 125 4 +2 126 4 +2 127 4 +2 128 4 +2 129 4 +2 130 4 +2 131 4 +2 132 4 +2 133 4 +2 134 4 +2 135 4 +2 136 4 +2 137 4 +2 138 4 +2 139 4 +2 140 4 +2 141 4 +2 142 4 +2 143 4 +2 144 4 +2 145 4 +2 146 4 +2 147 4 +2 148 4 +2 149 4 +2 150 4 +2 151 4 +2 152 4 +2 153 4 +2 154 4 +2 155 4 +2 156 4 +2 157 4 +2 158 4 +2 159 4 +2 160 4 +2 161 4 +2 162 4 +2 163 4 +2 164 4 +2 165 4 +2 166 4 +2 167 4 +2 168 4 +2 169 4 +2 170 4 +2 171 4 +2 172 4 +2 173 4 +2 174 4 +2 175 4 +2 176 4 +2 177 4 +2 178 4 +2 179 4 +2 180 4 +2 181 4 +2 182 4 +2 183 4 +2 184 4 +2 185 4 +2 186 4 +2 187 4 +2 188 4 +2 189 4 +2 190 4 +2 191 4 +2 192 0 +2 193 0 +2 194 0 +2 195 0 +2 196 0 +2 197 0 +2 198 0 +2 199 0 +2 200 0 +2 201 0 +2 202 0 +2 203 0 +2 204 0 +2 205 0 +2 206 0 +2 207 0 +2 208 0 +2 209 0 +2 210 0 +2 211 0 +2 212 0 +2 213 0 +2 214 0 +2 215 0 +2 216 0 +2 217 0 +2 218 0 +2 219 0 +2 220 0 +2 221 0 +2 222 0 +2 223 0 +2 224 0 +2 225 0 +2 226 0 +2 227 0 +2 228 0 +2 229 0 +2 230 0 +2 231 0 +2 232 0 +2 233 0 +2 234 0 +2 235 0 +2 236 0 +2 237 0 +2 238 0 +2 239 0 +2 240 0 +2 241 0 +2 242 0 +2 243 0 +2 244 0 +2 245 0 +2 246 0 +2 247 0 +2 248 0 +2 249 0 +2 250 0 +2 251 0 +2 252 0 +2 253 0 +2 254 0 +2 255 0 +2 256 0 +2 257 0 +2 258 0 +2 259 0 +2 260 0 +2 261 0 +2 262 0 +2 263 0 +2 264 0 +2 265 0 +2 266 0 +2 267 0 +2 268 0 +2 269 0 +2 270 0 +2 271 0 +2 272 0 +2 273 0 +2 274 0 +2 275 0 +2 276 0 +2 277 0 +2 278 0 +2 279 0 +2 280 0 +2 281 0 +2 282 0 +2 283 0 +2 284 0 +2 285 0 +2 286 0 +2 287 0 +2 288 0 +2 289 0 +2 290 0 +2 291 0 +2 292 0 +2 293 0 +2 294 0 +2 295 0 +2 296 0 +2 297 0 +2 298 0 +2 299 0 +2 300 0 +2 301 0 +2 302 0 +2 303 0 +2 304 0 +2 305 0 +2 306 0 +2 307 0 +2 308 0 +2 309 0 +2 310 0 +2 311 0 +2 312 0 +2 313 0 +2 314 0 +2 315 0 +2 316 0 +2 317 0 +2 318 0 +2 319 0 +2 320 0 +2 321 0 +2 322 0 +2 323 0 +2 324 0 +2 325 0 +2 326 0 +2 327 0 +2 328 0 +2 329 0 +2 330 0 +2 331 0 +2 332 0 +2 333 0 +2 334 0 +2 335 0 +2 336 0 +2 337 0 +2 338 0 +2 339 0 +2 340 0 +2 341 0 +2 342 0 +2 343 0 +2 344 0 +2 345 0 +2 346 0 +2 347 0 +2 348 0 +2 349 0 +2 350 0 +2 351 0 +2 352 0 +2 353 0 +2 354 0 +2 355 0 +2 356 0 +2 357 0 +2 358 0 +2 359 0 +2 360 0 +2 361 0 +2 362 0 +2 363 0 +2 364 0 +2 365 0 +2 366 0 +2 367 0 +2 368 0 +2 369 0 +2 370 0 +2 371 0 +2 372 0 +2 373 0 +2 374 0 +2 375 0 +2 376 0 +2 377 0 +2 378 0 +2 379 0 +2 380 0 +2 381 0 +2 382 0 +2 383 0 +3 4 4 +3 5 4 +3 6 4 +3 7 4 +3 8 4 +3 9 4 +3 10 4 +3 11 4 +3 12 4 +3 13 4 +3 14 4 +3 15 4 +3 16 4 +3 17 4 +3 18 4 +3 19 4 +3 20 4 +3 21 4 +3 22 4 +3 23 4 +3 24 4 +3 25 4 +3 26 4 +3 27 4 +3 28 4 +3 29 4 +3 30 4 +3 31 4 +3 32 4 +3 33 4 +3 34 4 +3 35 4 +3 36 4 +3 37 4 +3 38 4 +3 39 4 +3 40 4 +3 41 4 +3 42 4 +3 43 4 +3 44 4 +3 45 4 +3 46 4 +3 47 4 +3 48 4 +3 49 4 +3 50 4 +3 51 4 +3 52 4 +3 53 4 +3 54 4 +3 55 4 +3 56 4 +3 57 4 +3 58 4 +3 59 4 +3 60 4 +3 61 4 +3 62 4 +3 63 4 +3 64 4 +3 65 4 +3 66 4 +3 67 4 +3 68 4 +3 69 4 +3 70 4 +3 71 4 +3 72 4 +3 73 4 +3 74 4 +3 75 4 +3 76 4 +3 77 4 +3 78 4 +3 79 4 +3 80 4 +3 81 4 +3 82 4 +3 83 4 +3 84 4 +3 85 4 +3 86 4 +3 87 4 +3 88 4 +3 89 4 +3 90 4 +3 91 4 +3 92 4 +3 93 4 +3 94 4 +3 95 4 +3 96 4 +3 97 4 +3 98 4 +3 99 4 +3 100 4 +3 101 4 +3 102 4 +3 103 4 +3 104 4 +3 105 4 +3 106 4 +3 107 4 +3 108 4 +3 109 4 +3 110 4 +3 111 4 +3 112 4 +3 113 4 +3 114 4 +3 115 4 +3 116 4 +3 117 4 +3 118 4 +3 119 4 +3 120 4 +3 121 4 +3 122 4 +3 123 4 +3 124 4 +3 125 4 +3 126 4 +3 127 4 +3 128 4 +3 129 4 +3 130 4 +3 131 4 +3 132 4 +3 133 4 +3 134 4 +3 135 4 +3 136 4 +3 137 4 +3 138 4 +3 139 4 +3 140 4 +3 141 4 +3 142 4 +3 143 4 +3 144 4 +3 145 4 +3 146 4 +3 147 4 +3 148 4 +3 149 4 +3 150 4 +3 151 4 +3 152 4 +3 153 4 +3 154 4 +3 155 4 +3 156 4 +3 157 4 +3 158 4 +3 159 4 +3 160 4 +3 161 4 +3 162 4 +3 163 4 +3 164 4 +3 165 4 +3 166 4 +3 167 4 +3 168 4 +3 169 4 +3 170 4 +3 171 4 +3 172 4 +3 173 4 +3 174 4 +3 175 4 +3 176 4 +3 177 4 +3 178 4 +3 179 4 +3 180 4 +3 181 4 +3 182 4 +3 183 4 +3 184 4 +3 185 4 +3 186 4 +3 187 4 +3 188 4 +3 189 4 +3 190 4 +3 191 4 +3 192 0 +3 193 0 +3 194 0 +3 195 0 +3 196 0 +3 197 0 +3 198 0 +3 199 0 +3 200 0 +3 201 0 +3 202 0 +3 203 0 +3 204 0 +3 205 0 +3 206 0 +3 207 0 +3 208 0 +3 209 0 +3 210 0 +3 211 0 +3 212 0 +3 213 0 +3 214 0 +3 215 0 +3 216 0 +3 217 0 +3 218 0 +3 219 0 +3 220 0 +3 221 0 +3 222 0 +3 223 0 +3 224 0 +3 225 0 +3 226 0 +3 227 0 +3 228 0 +3 229 0 +3 230 0 +3 231 0 +3 232 0 +3 233 0 +3 234 0 +3 235 0 +3 236 0 +3 237 0 +3 238 0 +3 239 0 +3 240 0 +3 241 0 +3 242 0 +3 243 0 +3 244 0 +3 245 0 +3 246 0 +3 247 0 +3 248 0 +3 249 0 +3 250 0 +3 251 0 +3 252 0 +3 253 0 +3 254 0 +3 255 0 +3 256 0 +3 257 0 +3 258 0 +3 259 0 +3 260 0 +3 261 0 +3 262 0 +3 263 0 +3 264 0 +3 265 0 +3 266 0 +3 267 0 +3 268 0 +3 269 0 +3 270 0 +3 271 0 +3 272 0 +3 273 0 +3 274 0 +3 275 0 +3 276 0 +3 277 0 +3 278 0 +3 279 0 +3 280 0 +3 281 0 +3 282 0 +3 283 0 +3 284 0 +3 285 0 +3 286 0 +3 287 0 +3 288 0 +3 289 0 +3 290 0 +3 291 0 +3 292 0 +3 293 0 +3 294 0 +3 295 0 +3 296 0 +3 297 0 +3 298 0 +3 299 0 +3 300 0 +3 301 0 +3 302 0 +3 303 0 +3 304 0 +3 305 0 +3 306 0 +3 307 0 +3 308 0 +3 309 0 +3 310 0 +3 311 0 +3 312 0 +3 313 0 +3 314 0 +3 315 0 +3 316 0 +3 317 0 +3 318 0 +3 319 0 +3 320 0 +3 321 0 +3 322 0 +3 323 0 +3 324 0 +3 325 0 +3 326 0 +3 327 0 +3 328 0 +3 329 0 +3 330 0 +3 331 0 +3 332 0 +3 333 0 +3 334 0 +3 335 0 +3 336 0 +3 337 0 +3 338 0 +3 339 0 +3 340 0 +3 341 0 +3 342 0 +3 343 0 +3 344 0 +3 345 0 +3 346 0 +3 347 0 +3 348 0 +3 349 0 +3 350 0 +3 351 0 +3 352 0 +3 353 0 +3 354 0 +3 355 0 +3 356 0 +3 357 0 +3 358 0 +3 359 0 +3 360 0 +3 361 0 +3 362 0 +3 363 0 +3 364 0 +3 365 0 +3 366 0 +3 367 0 +3 368 0 +3 369 0 +3 370 0 +3 371 0 +3 372 0 +3 373 0 +3 374 0 +3 375 0 +3 376 0 +3 377 0 +3 378 0 +3 379 0 +3 380 0 +3 381 0 +3 382 0 +3 383 0 +4 5 4 +4 6 4 +4 7 4 +4 8 4 +4 9 4 +4 10 4 +4 11 4 +4 12 4 +4 13 4 +4 14 4 +4 15 4 +4 16 4 +4 17 4 +4 18 4 +4 19 4 +4 20 4 +4 21 4 +4 22 4 +4 23 4 +4 24 4 +4 25 4 +4 26 4 +4 27 4 +4 28 4 +4 29 4 +4 30 4 +4 31 4 +4 32 4 +4 33 4 +4 34 4 +4 35 4 +4 36 4 +4 37 4 +4 38 4 +4 39 4 +4 40 4 +4 41 4 +4 42 4 +4 43 4 +4 44 4 +4 45 4 +4 46 4 +4 47 4 +4 48 4 +4 49 4 +4 50 4 +4 51 4 +4 52 4 +4 53 4 +4 54 4 +4 55 4 +4 56 4 +4 57 4 +4 58 4 +4 59 4 +4 60 4 +4 61 4 +4 62 4 +4 63 4 +4 64 4 +4 65 4 +4 66 4 +4 67 4 +4 68 4 +4 69 4 +4 70 4 +4 71 4 +4 72 4 +4 73 4 +4 74 4 +4 75 4 +4 76 4 +4 77 4 +4 78 4 +4 79 4 +4 80 4 +4 81 4 +4 82 4 +4 83 4 +4 84 4 +4 85 4 +4 86 4 +4 87 4 +4 88 4 +4 89 4 +4 90 4 +4 91 4 +4 92 4 +4 93 4 +4 94 4 +4 95 4 +4 96 4 +4 97 4 +4 98 4 +4 99 4 +4 100 4 +4 101 4 +4 102 4 +4 103 4 +4 104 4 +4 105 4 +4 106 4 +4 107 4 +4 108 4 +4 109 4 +4 110 4 +4 111 4 +4 112 4 +4 113 4 +4 114 4 +4 115 4 +4 116 4 +4 117 4 +4 118 4 +4 119 4 +4 120 4 +4 121 4 +4 122 4 +4 123 4 +4 124 4 +4 125 4 +4 126 4 +4 127 4 +4 128 4 +4 129 4 +4 130 4 +4 131 4 +4 132 4 +4 133 4 +4 134 4 +4 135 4 +4 136 4 +4 137 4 +4 138 4 +4 139 4 +4 140 4 +4 141 4 +4 142 4 +4 143 4 +4 144 4 +4 145 4 +4 146 4 +4 147 4 +4 148 4 +4 149 4 +4 150 4 +4 151 4 +4 152 4 +4 153 4 +4 154 4 +4 155 4 +4 156 4 +4 157 4 +4 158 4 +4 159 4 +4 160 4 +4 161 4 +4 162 4 +4 163 4 +4 164 4 +4 165 4 +4 166 4 +4 167 4 +4 168 4 +4 169 4 +4 170 4 +4 171 4 +4 172 4 +4 173 4 +4 174 4 +4 175 4 +4 176 4 +4 177 4 +4 178 4 +4 179 4 +4 180 4 +4 181 4 +4 182 4 +4 183 4 +4 184 4 +4 185 4 +4 186 4 +4 187 4 +4 188 4 +4 189 4 +4 190 4 +4 191 4 +4 192 0 +4 193 0 +4 194 0 +4 195 0 +4 196 0 +4 197 0 +4 198 0 +4 199 0 +4 200 0 +4 201 0 +4 202 0 +4 203 0 +4 204 0 +4 205 0 +4 206 0 +4 207 0 +4 208 0 +4 209 0 +4 210 0 +4 211 0 +4 212 0 +4 213 0 +4 214 0 +4 215 0 +4 216 0 +4 217 0 +4 218 0 +4 219 0 +4 220 0 +4 221 0 +4 222 0 +4 223 0 +4 224 0 +4 225 0 +4 226 0 +4 227 0 +4 228 0 +4 229 0 +4 230 0 +4 231 0 +4 232 0 +4 233 0 +4 234 0 +4 235 0 +4 236 0 +4 237 0 +4 238 0 +4 239 0 +4 240 0 +4 241 0 +4 242 0 +4 243 0 +4 244 0 +4 245 0 +4 246 0 +4 247 0 +4 248 0 +4 249 0 +4 250 0 +4 251 0 +4 252 0 +4 253 0 +4 254 0 +4 255 0 +4 256 0 +4 257 0 +4 258 0 +4 259 0 +4 260 0 +4 261 0 +4 262 0 +4 263 0 +4 264 0 +4 265 0 +4 266 0 +4 267 0 +4 268 0 +4 269 0 +4 270 0 +4 271 0 +4 272 0 +4 273 0 +4 274 0 +4 275 0 +4 276 0 +4 277 0 +4 278 0 +4 279 0 +4 280 0 +4 281 0 +4 282 0 +4 283 0 +4 284 0 +4 285 0 +4 286 0 +4 287 0 +4 288 0 +4 289 0 +4 290 0 +4 291 0 +4 292 0 +4 293 0 +4 294 0 +4 295 0 +4 296 0 +4 297 0 +4 298 0 +4 299 0 +4 300 0 +4 301 0 +4 302 0 +4 303 0 +4 304 0 +4 305 0 +4 306 0 +4 307 0 +4 308 0 +4 309 0 +4 310 0 +4 311 0 +4 312 0 +4 313 0 +4 314 0 +4 315 0 +4 316 0 +4 317 0 +4 318 0 +4 319 0 +4 320 0 +4 321 0 +4 322 0 +4 323 0 +4 324 0 +4 325 0 +4 326 0 +4 327 0 +4 328 0 +4 329 0 +4 330 0 +4 331 0 +4 332 0 +4 333 0 +4 334 0 +4 335 0 +4 336 0 +4 337 0 +4 338 0 +4 339 0 +4 340 0 +4 341 0 +4 342 0 +4 343 0 +4 344 0 +4 345 0 +4 346 0 +4 347 0 +4 348 0 +4 349 0 +4 350 0 +4 351 0 +4 352 0 +4 353 0 +4 354 0 +4 355 0 +4 356 0 +4 357 0 +4 358 0 +4 359 0 +4 360 0 +4 361 0 +4 362 0 +4 363 0 +4 364 0 +4 365 0 +4 366 0 +4 367 0 +4 368 0 +4 369 0 +4 370 0 +4 371 0 +4 372 0 +4 373 0 +4 374 0 +4 375 0 +4 376 0 +4 377 0 +4 378 0 +4 379 0 +4 380 0 +4 381 0 +4 382 0 +4 383 0 +5 6 4 +5 7 4 +5 8 4 +5 9 4 +5 10 4 +5 11 4 +5 12 4 +5 13 4 +5 14 4 +5 15 4 +5 16 4 +5 17 4 +5 18 4 +5 19 4 +5 20 4 +5 21 4 +5 22 4 +5 23 4 +5 24 4 +5 25 4 +5 26 4 +5 27 4 +5 28 4 +5 29 4 +5 30 4 +5 31 4 +5 32 4 +5 33 4 +5 34 4 +5 35 4 +5 36 4 +5 37 4 +5 38 4 +5 39 4 +5 40 4 +5 41 4 +5 42 4 +5 43 4 +5 44 4 +5 45 4 +5 46 4 +5 47 4 +5 48 4 +5 49 4 +5 50 4 +5 51 4 +5 52 4 +5 53 4 +5 54 4 +5 55 4 +5 56 4 +5 57 4 +5 58 4 +5 59 4 +5 60 4 +5 61 4 +5 62 4 +5 63 4 +5 64 4 +5 65 4 +5 66 4 +5 67 4 +5 68 4 +5 69 4 +5 70 4 +5 71 4 +5 72 4 +5 73 4 +5 74 4 +5 75 4 +5 76 4 +5 77 4 +5 78 4 +5 79 4 +5 80 4 +5 81 4 +5 82 4 +5 83 4 +5 84 4 +5 85 4 +5 86 4 +5 87 4 +5 88 4 +5 89 4 +5 90 4 +5 91 4 +5 92 4 +5 93 4 +5 94 4 +5 95 4 +5 96 4 +5 97 4 +5 98 4 +5 99 4 +5 100 4 +5 101 4 +5 102 4 +5 103 4 +5 104 4 +5 105 4 +5 106 4 +5 107 4 +5 108 4 +5 109 4 +5 110 4 +5 111 4 +5 112 4 +5 113 4 +5 114 4 +5 115 4 +5 116 4 +5 117 4 +5 118 4 +5 119 4 +5 120 4 +5 121 4 +5 122 4 +5 123 4 +5 124 4 +5 125 4 +5 126 4 +5 127 4 +5 128 4 +5 129 4 +5 130 4 +5 131 4 +5 132 4 +5 133 4 +5 134 4 +5 135 4 +5 136 4 +5 137 4 +5 138 4 +5 139 4 +5 140 4 +5 141 4 +5 142 4 +5 143 4 +5 144 4 +5 145 4 +5 146 4 +5 147 4 +5 148 4 +5 149 4 +5 150 4 +5 151 4 +5 152 4 +5 153 4 +5 154 4 +5 155 4 +5 156 4 +5 157 4 +5 158 4 +5 159 4 +5 160 4 +5 161 4 +5 162 4 +5 163 4 +5 164 4 +5 165 4 +5 166 4 +5 167 4 +5 168 4 +5 169 4 +5 170 4 +5 171 4 +5 172 4 +5 173 4 +5 174 4 +5 175 4 +5 176 4 +5 177 4 +5 178 4 +5 179 4 +5 180 4 +5 181 4 +5 182 4 +5 183 4 +5 184 4 +5 185 4 +5 186 4 +5 187 4 +5 188 4 +5 189 4 +5 190 4 +5 191 4 +5 192 0 +5 193 0 +5 194 0 +5 195 0 +5 196 0 +5 197 0 +5 198 0 +5 199 0 +5 200 0 +5 201 0 +5 202 0 +5 203 0 +5 204 0 +5 205 0 +5 206 0 +5 207 0 +5 208 0 +5 209 0 +5 210 0 +5 211 0 +5 212 0 +5 213 0 +5 214 0 +5 215 0 +5 216 0 +5 217 0 +5 218 0 +5 219 0 +5 220 0 +5 221 0 +5 222 0 +5 223 0 +5 224 0 +5 225 0 +5 226 0 +5 227 0 +5 228 0 +5 229 0 +5 230 0 +5 231 0 +5 232 0 +5 233 0 +5 234 0 +5 235 0 +5 236 0 +5 237 0 +5 238 0 +5 239 0 +5 240 0 +5 241 0 +5 242 0 +5 243 0 +5 244 0 +5 245 0 +5 246 0 +5 247 0 +5 248 0 +5 249 0 +5 250 0 +5 251 0 +5 252 0 +5 253 0 +5 254 0 +5 255 0 +5 256 0 +5 257 0 +5 258 0 +5 259 0 +5 260 0 +5 261 0 +5 262 0 +5 263 0 +5 264 0 +5 265 0 +5 266 0 +5 267 0 +5 268 0 +5 269 0 +5 270 0 +5 271 0 +5 272 0 +5 273 0 +5 274 0 +5 275 0 +5 276 0 +5 277 0 +5 278 0 +5 279 0 +5 280 0 +5 281 0 +5 282 0 +5 283 0 +5 284 0 +5 285 0 +5 286 0 +5 287 0 +5 288 0 +5 289 0 +5 290 0 +5 291 0 +5 292 0 +5 293 0 +5 294 0 +5 295 0 +5 296 0 +5 297 0 +5 298 0 +5 299 0 +5 300 0 +5 301 0 +5 302 0 +5 303 0 +5 304 0 +5 305 0 +5 306 0 +5 307 0 +5 308 0 +5 309 0 +5 310 0 +5 311 0 +5 312 0 +5 313 0 +5 314 0 +5 315 0 +5 316 0 +5 317 0 +5 318 0 +5 319 0 +5 320 0 +5 321 0 +5 322 0 +5 323 0 +5 324 0 +5 325 0 +5 326 0 +5 327 0 +5 328 0 +5 329 0 +5 330 0 +5 331 0 +5 332 0 +5 333 0 +5 334 0 +5 335 0 +5 336 0 +5 337 0 +5 338 0 +5 339 0 +5 340 0 +5 341 0 +5 342 0 +5 343 0 +5 344 0 +5 345 0 +5 346 0 +5 347 0 +5 348 0 +5 349 0 +5 350 0 +5 351 0 +5 352 0 +5 353 0 +5 354 0 +5 355 0 +5 356 0 +5 357 0 +5 358 0 +5 359 0 +5 360 0 +5 361 0 +5 362 0 +5 363 0 +5 364 0 +5 365 0 +5 366 0 +5 367 0 +5 368 0 +5 369 0 +5 370 0 +5 371 0 +5 372 0 +5 373 0 +5 374 0 +5 375 0 +5 376 0 +5 377 0 +5 378 0 +5 379 0 +5 380 0 +5 381 0 +5 382 0 +5 383 0 +6 7 4 +6 8 4 +6 9 4 +6 10 4 +6 11 4 +6 12 4 +6 13 4 +6 14 4 +6 15 4 +6 16 4 +6 17 4 +6 18 4 +6 19 4 +6 20 4 +6 21 4 +6 22 4 +6 23 4 +6 24 4 +6 25 4 +6 26 4 +6 27 4 +6 28 4 +6 29 4 +6 30 4 +6 31 4 +6 32 4 +6 33 4 +6 34 4 +6 35 4 +6 36 4 +6 37 4 +6 38 4 +6 39 4 +6 40 4 +6 41 4 +6 42 4 +6 43 4 +6 44 4 +6 45 4 +6 46 4 +6 47 4 +6 48 4 +6 49 4 +6 50 4 +6 51 4 +6 52 4 +6 53 4 +6 54 4 +6 55 4 +6 56 4 +6 57 4 +6 58 4 +6 59 4 +6 60 4 +6 61 4 +6 62 4 +6 63 4 +6 64 4 +6 65 4 +6 66 4 +6 67 4 +6 68 4 +6 69 4 +6 70 4 +6 71 4 +6 72 4 +6 73 4 +6 74 4 +6 75 4 +6 76 4 +6 77 4 +6 78 4 +6 79 4 +6 80 4 +6 81 4 +6 82 4 +6 83 4 +6 84 4 +6 85 4 +6 86 4 +6 87 4 +6 88 4 +6 89 4 +6 90 4 +6 91 4 +6 92 4 +6 93 4 +6 94 4 +6 95 4 +6 96 4 +6 97 4 +6 98 4 +6 99 4 +6 100 4 +6 101 4 +6 102 4 +6 103 4 +6 104 4 +6 105 4 +6 106 4 +6 107 4 +6 108 4 +6 109 4 +6 110 4 +6 111 4 +6 112 4 +6 113 4 +6 114 4 +6 115 4 +6 116 4 +6 117 4 +6 118 4 +6 119 4 +6 120 4 +6 121 4 +6 122 4 +6 123 4 +6 124 4 +6 125 4 +6 126 4 +6 127 4 +6 128 4 +6 129 4 +6 130 4 +6 131 4 +6 132 4 +6 133 4 +6 134 4 +6 135 4 +6 136 4 +6 137 4 +6 138 4 +6 139 4 +6 140 4 +6 141 4 +6 142 4 +6 143 4 +6 144 4 +6 145 4 +6 146 4 +6 147 4 +6 148 4 +6 149 4 +6 150 4 +6 151 4 +6 152 4 +6 153 4 +6 154 4 +6 155 4 +6 156 4 +6 157 4 +6 158 4 +6 159 4 +6 160 4 +6 161 4 +6 162 4 +6 163 4 +6 164 4 +6 165 4 +6 166 4 +6 167 4 +6 168 4 +6 169 4 +6 170 4 +6 171 4 +6 172 4 +6 173 4 +6 174 4 +6 175 4 +6 176 4 +6 177 4 +6 178 4 +6 179 4 +6 180 4 +6 181 4 +6 182 4 +6 183 4 +6 184 4 +6 185 4 +6 186 4 +6 187 4 +6 188 4 +6 189 4 +6 190 4 +6 191 4 +6 192 0 +6 193 0 +6 194 0 +6 195 0 +6 196 0 +6 197 0 +6 198 0 +6 199 0 +6 200 0 +6 201 0 +6 202 0 +6 203 0 +6 204 0 +6 205 0 +6 206 0 +6 207 0 +6 208 0 +6 209 0 +6 210 0 +6 211 0 +6 212 0 +6 213 0 +6 214 0 +6 215 0 +6 216 0 +6 217 0 +6 218 0 +6 219 0 +6 220 0 +6 221 0 +6 222 0 +6 223 0 +6 224 0 +6 225 0 +6 226 0 +6 227 0 +6 228 0 +6 229 0 +6 230 0 +6 231 0 +6 232 0 +6 233 0 +6 234 0 +6 235 0 +6 236 0 +6 237 0 +6 238 0 +6 239 0 +6 240 0 +6 241 0 +6 242 0 +6 243 0 +6 244 0 +6 245 0 +6 246 0 +6 247 0 +6 248 0 +6 249 0 +6 250 0 +6 251 0 +6 252 0 +6 253 0 +6 254 0 +6 255 0 +6 256 0 +6 257 0 +6 258 0 +6 259 0 +6 260 0 +6 261 0 +6 262 0 +6 263 0 +6 264 0 +6 265 0 +6 266 0 +6 267 0 +6 268 0 +6 269 0 +6 270 0 +6 271 0 +6 272 0 +6 273 0 +6 274 0 +6 275 0 +6 276 0 +6 277 0 +6 278 0 +6 279 0 +6 280 0 +6 281 0 +6 282 0 +6 283 0 +6 284 0 +6 285 0 +6 286 0 +6 287 0 +6 288 0 +6 289 0 +6 290 0 +6 291 0 +6 292 0 +6 293 0 +6 294 0 +6 295 0 +6 296 0 +6 297 0 +6 298 0 +6 299 0 +6 300 0 +6 301 0 +6 302 0 +6 303 0 +6 304 0 +6 305 0 +6 306 0 +6 307 0 +6 308 0 +6 309 0 +6 310 0 +6 311 0 +6 312 0 +6 313 0 +6 314 0 +6 315 0 +6 316 0 +6 317 0 +6 318 0 +6 319 0 +6 320 0 +6 321 0 +6 322 0 +6 323 0 +6 324 0 +6 325 0 +6 326 0 +6 327 0 +6 328 0 +6 329 0 +6 330 0 +6 331 0 +6 332 0 +6 333 0 +6 334 0 +6 335 0 +6 336 0 +6 337 0 +6 338 0 +6 339 0 +6 340 0 +6 341 0 +6 342 0 +6 343 0 +6 344 0 +6 345 0 +6 346 0 +6 347 0 +6 348 0 +6 349 0 +6 350 0 +6 351 0 +6 352 0 +6 353 0 +6 354 0 +6 355 0 +6 356 0 +6 357 0 +6 358 0 +6 359 0 +6 360 0 +6 361 0 +6 362 0 +6 363 0 +6 364 0 +6 365 0 +6 366 0 +6 367 0 +6 368 0 +6 369 0 +6 370 0 +6 371 0 +6 372 0 +6 373 0 +6 374 0 +6 375 0 +6 376 0 +6 377 0 +6 378 0 +6 379 0 +6 380 0 +6 381 0 +6 382 0 +6 383 0 +7 8 4 +7 9 4 +7 10 4 +7 11 4 +7 12 4 +7 13 4 +7 14 4 +7 15 4 +7 16 4 +7 17 4 +7 18 4 +7 19 4 +7 20 4 +7 21 4 +7 22 4 +7 23 4 +7 24 4 +7 25 4 +7 26 4 +7 27 4 +7 28 4 +7 29 4 +7 30 4 +7 31 4 +7 32 4 +7 33 4 +7 34 4 +7 35 4 +7 36 4 +7 37 4 +7 38 4 +7 39 4 +7 40 4 +7 41 4 +7 42 4 +7 43 4 +7 44 4 +7 45 4 +7 46 4 +7 47 4 +7 48 4 +7 49 4 +7 50 4 +7 51 4 +7 52 4 +7 53 4 +7 54 4 +7 55 4 +7 56 4 +7 57 4 +7 58 4 +7 59 4 +7 60 4 +7 61 4 +7 62 4 +7 63 4 +7 64 4 +7 65 4 +7 66 4 +7 67 4 +7 68 4 +7 69 4 +7 70 4 +7 71 4 +7 72 4 +7 73 4 +7 74 4 +7 75 4 +7 76 4 +7 77 4 +7 78 4 +7 79 4 +7 80 4 +7 81 4 +7 82 4 +7 83 4 +7 84 4 +7 85 4 +7 86 4 +7 87 4 +7 88 4 +7 89 4 +7 90 4 +7 91 4 +7 92 4 +7 93 4 +7 94 4 +7 95 4 +7 96 4 +7 97 4 +7 98 4 +7 99 4 +7 100 4 +7 101 4 +7 102 4 +7 103 4 +7 104 4 +7 105 4 +7 106 4 +7 107 4 +7 108 4 +7 109 4 +7 110 4 +7 111 4 +7 112 4 +7 113 4 +7 114 4 +7 115 4 +7 116 4 +7 117 4 +7 118 4 +7 119 4 +7 120 4 +7 121 4 +7 122 4 +7 123 4 +7 124 4 +7 125 4 +7 126 4 +7 127 4 +7 128 4 +7 129 4 +7 130 4 +7 131 4 +7 132 4 +7 133 4 +7 134 4 +7 135 4 +7 136 4 +7 137 4 +7 138 4 +7 139 4 +7 140 4 +7 141 4 +7 142 4 +7 143 4 +7 144 4 +7 145 4 +7 146 4 +7 147 4 +7 148 4 +7 149 4 +7 150 4 +7 151 4 +7 152 4 +7 153 4 +7 154 4 +7 155 4 +7 156 4 +7 157 4 +7 158 4 +7 159 4 +7 160 4 +7 161 4 +7 162 4 +7 163 4 +7 164 4 +7 165 4 +7 166 4 +7 167 4 +7 168 4 +7 169 4 +7 170 4 +7 171 4 +7 172 4 +7 173 4 +7 174 4 +7 175 4 +7 176 4 +7 177 4 +7 178 4 +7 179 4 +7 180 4 +7 181 4 +7 182 4 +7 183 4 +7 184 4 +7 185 4 +7 186 4 +7 187 4 +7 188 4 +7 189 4 +7 190 4 +7 191 4 +7 192 0 +7 193 0 +7 194 0 +7 195 0 +7 196 0 +7 197 0 +7 198 0 +7 199 0 +7 200 0 +7 201 0 +7 202 0 +7 203 0 +7 204 0 +7 205 0 +7 206 0 +7 207 0 +7 208 0 +7 209 0 +7 210 0 +7 211 0 +7 212 0 +7 213 0 +7 214 0 +7 215 0 +7 216 0 +7 217 0 +7 218 0 +7 219 0 +7 220 0 +7 221 0 +7 222 0 +7 223 0 +7 224 0 +7 225 0 +7 226 0 +7 227 0 +7 228 0 +7 229 0 +7 230 0 +7 231 0 +7 232 0 +7 233 0 +7 234 0 +7 235 0 +7 236 0 +7 237 0 +7 238 0 +7 239 0 +7 240 0 +7 241 0 +7 242 0 +7 243 0 +7 244 0 +7 245 0 +7 246 0 +7 247 0 +7 248 0 +7 249 0 +7 250 0 +7 251 0 +7 252 0 +7 253 0 +7 254 0 +7 255 0 +7 256 0 +7 257 0 +7 258 0 +7 259 0 +7 260 0 +7 261 0 +7 262 0 +7 263 0 +7 264 0 +7 265 0 +7 266 0 +7 267 0 +7 268 0 +7 269 0 +7 270 0 +7 271 0 +7 272 0 +7 273 0 +7 274 0 +7 275 0 +7 276 0 +7 277 0 +7 278 0 +7 279 0 +7 280 0 +7 281 0 +7 282 0 +7 283 0 +7 284 0 +7 285 0 +7 286 0 +7 287 0 +7 288 0 +7 289 0 +7 290 0 +7 291 0 +7 292 0 +7 293 0 +7 294 0 +7 295 0 +7 296 0 +7 297 0 +7 298 0 +7 299 0 +7 300 0 +7 301 0 +7 302 0 +7 303 0 +7 304 0 +7 305 0 +7 306 0 +7 307 0 +7 308 0 +7 309 0 +7 310 0 +7 311 0 +7 312 0 +7 313 0 +7 314 0 +7 315 0 +7 316 0 +7 317 0 +7 318 0 +7 319 0 +7 320 0 +7 321 0 +7 322 0 +7 323 0 +7 324 0 +7 325 0 +7 326 0 +7 327 0 +7 328 0 +7 329 0 +7 330 0 +7 331 0 +7 332 0 +7 333 0 +7 334 0 +7 335 0 +7 336 0 +7 337 0 +7 338 0 +7 339 0 +7 340 0 +7 341 0 +7 342 0 +7 343 0 +7 344 0 +7 345 0 +7 346 0 +7 347 0 +7 348 0 +7 349 0 +7 350 0 +7 351 0 +7 352 0 +7 353 0 +7 354 0 +7 355 0 +7 356 0 +7 357 0 +7 358 0 +7 359 0 +7 360 0 +7 361 0 +7 362 0 +7 363 0 +7 364 0 +7 365 0 +7 366 0 +7 367 0 +7 368 0 +7 369 0 +7 370 0 +7 371 0 +7 372 0 +7 373 0 +7 374 0 +7 375 0 +7 376 0 +7 377 0 +7 378 0 +7 379 0 +7 380 0 +7 381 0 +7 382 0 +7 383 0 +8 9 4 +8 10 4 +8 11 4 +8 12 4 +8 13 4 +8 14 4 +8 15 4 +8 16 4 +8 17 4 +8 18 4 +8 19 4 +8 20 4 +8 21 4 +8 22 4 +8 23 4 +8 24 4 +8 25 4 +8 26 4 +8 27 4 +8 28 4 +8 29 4 +8 30 4 +8 31 4 +8 32 4 +8 33 4 +8 34 4 +8 35 4 +8 36 4 +8 37 4 +8 38 4 +8 39 4 +8 40 4 +8 41 4 +8 42 4 +8 43 4 +8 44 4 +8 45 4 +8 46 4 +8 47 4 +8 48 4 +8 49 4 +8 50 4 +8 51 4 +8 52 4 +8 53 4 +8 54 4 +8 55 4 +8 56 4 +8 57 4 +8 58 4 +8 59 4 +8 60 4 +8 61 4 +8 62 4 +8 63 4 +8 64 4 +8 65 4 +8 66 4 +8 67 4 +8 68 4 +8 69 4 +8 70 4 +8 71 4 +8 72 4 +8 73 4 +8 74 4 +8 75 4 +8 76 4 +8 77 4 +8 78 4 +8 79 4 +8 80 4 +8 81 4 +8 82 4 +8 83 4 +8 84 4 +8 85 4 +8 86 4 +8 87 4 +8 88 4 +8 89 4 +8 90 4 +8 91 4 +8 92 4 +8 93 4 +8 94 4 +8 95 4 +8 96 4 +8 97 4 +8 98 4 +8 99 4 +8 100 4 +8 101 4 +8 102 4 +8 103 4 +8 104 4 +8 105 4 +8 106 4 +8 107 4 +8 108 4 +8 109 4 +8 110 4 +8 111 4 +8 112 4 +8 113 4 +8 114 4 +8 115 4 +8 116 4 +8 117 4 +8 118 4 +8 119 4 +8 120 4 +8 121 4 +8 122 4 +8 123 4 +8 124 4 +8 125 4 +8 126 4 +8 127 4 +8 128 4 +8 129 4 +8 130 4 +8 131 4 +8 132 4 +8 133 4 +8 134 4 +8 135 4 +8 136 4 +8 137 4 +8 138 4 +8 139 4 +8 140 4 +8 141 4 +8 142 4 +8 143 4 +8 144 4 +8 145 4 +8 146 4 +8 147 4 +8 148 4 +8 149 4 +8 150 4 +8 151 4 +8 152 4 +8 153 4 +8 154 4 +8 155 4 +8 156 4 +8 157 4 +8 158 4 +8 159 4 +8 160 4 +8 161 4 +8 162 4 +8 163 4 +8 164 4 +8 165 4 +8 166 4 +8 167 4 +8 168 4 +8 169 4 +8 170 4 +8 171 4 +8 172 4 +8 173 4 +8 174 4 +8 175 4 +8 176 4 +8 177 4 +8 178 4 +8 179 4 +8 180 4 +8 181 4 +8 182 4 +8 183 4 +8 184 4 +8 185 4 +8 186 4 +8 187 4 +8 188 4 +8 189 4 +8 190 4 +8 191 4 +8 192 0 +8 193 0 +8 194 0 +8 195 0 +8 196 0 +8 197 0 +8 198 0 +8 199 0 +8 200 0 +8 201 0 +8 202 0 +8 203 0 +8 204 0 +8 205 0 +8 206 0 +8 207 0 +8 208 0 +8 209 0 +8 210 0 +8 211 0 +8 212 0 +8 213 0 +8 214 0 +8 215 0 +8 216 0 +8 217 0 +8 218 0 +8 219 0 +8 220 0 +8 221 0 +8 222 0 +8 223 0 +8 224 0 +8 225 0 +8 226 0 +8 227 0 +8 228 0 +8 229 0 +8 230 0 +8 231 0 +8 232 0 +8 233 0 +8 234 0 +8 235 0 +8 236 0 +8 237 0 +8 238 0 +8 239 0 +8 240 0 +8 241 0 +8 242 0 +8 243 0 +8 244 0 +8 245 0 +8 246 0 +8 247 0 +8 248 0 +8 249 0 +8 250 0 +8 251 0 +8 252 0 +8 253 0 +8 254 0 +8 255 0 +8 256 0 +8 257 0 +8 258 0 +8 259 0 +8 260 0 +8 261 0 +8 262 0 +8 263 0 +8 264 0 +8 265 0 +8 266 0 +8 267 0 +8 268 0 +8 269 0 +8 270 0 +8 271 0 +8 272 0 +8 273 0 +8 274 0 +8 275 0 +8 276 0 +8 277 0 +8 278 0 +8 279 0 +8 280 0 +8 281 0 +8 282 0 +8 283 0 +8 284 0 +8 285 0 +8 286 0 +8 287 0 +8 288 0 +8 289 0 +8 290 0 +8 291 0 +8 292 0 +8 293 0 +8 294 0 +8 295 0 +8 296 0 +8 297 0 +8 298 0 +8 299 0 +8 300 0 +8 301 0 +8 302 0 +8 303 0 +8 304 0 +8 305 0 +8 306 0 +8 307 0 +8 308 0 +8 309 0 +8 310 0 +8 311 0 +8 312 0 +8 313 0 +8 314 0 +8 315 0 +8 316 0 +8 317 0 +8 318 0 +8 319 0 +8 320 0 +8 321 0 +8 322 0 +8 323 0 +8 324 0 +8 325 0 +8 326 0 +8 327 0 +8 328 0 +8 329 0 +8 330 0 +8 331 0 +8 332 0 +8 333 0 +8 334 0 +8 335 0 +8 336 0 +8 337 0 +8 338 0 +8 339 0 +8 340 0 +8 341 0 +8 342 0 +8 343 0 +8 344 0 +8 345 0 +8 346 0 +8 347 0 +8 348 0 +8 349 0 +8 350 0 +8 351 0 +8 352 0 +8 353 0 +8 354 0 +8 355 0 +8 356 0 +8 357 0 +8 358 0 +8 359 0 +8 360 0 +8 361 0 +8 362 0 +8 363 0 +8 364 0 +8 365 0 +8 366 0 +8 367 0 +8 368 0 +8 369 0 +8 370 0 +8 371 0 +8 372 0 +8 373 0 +8 374 0 +8 375 0 +8 376 0 +8 377 0 +8 378 0 +8 379 0 +8 380 0 +8 381 0 +8 382 0 +8 383 0 +9 10 4 +9 11 4 +9 12 4 +9 13 4 +9 14 4 +9 15 4 +9 16 4 +9 17 4 +9 18 4 +9 19 4 +9 20 4 +9 21 4 +9 22 4 +9 23 4 +9 24 4 +9 25 4 +9 26 4 +9 27 4 +9 28 4 +9 29 4 +9 30 4 +9 31 4 +9 32 4 +9 33 4 +9 34 4 +9 35 4 +9 36 4 +9 37 4 +9 38 4 +9 39 4 +9 40 4 +9 41 4 +9 42 4 +9 43 4 +9 44 4 +9 45 4 +9 46 4 +9 47 4 +9 48 4 +9 49 4 +9 50 4 +9 51 4 +9 52 4 +9 53 4 +9 54 4 +9 55 4 +9 56 4 +9 57 4 +9 58 4 +9 59 4 +9 60 4 +9 61 4 +9 62 4 +9 63 4 +9 64 4 +9 65 4 +9 66 4 +9 67 4 +9 68 4 +9 69 4 +9 70 4 +9 71 4 +9 72 4 +9 73 4 +9 74 4 +9 75 4 +9 76 4 +9 77 4 +9 78 4 +9 79 4 +9 80 4 +9 81 4 +9 82 4 +9 83 4 +9 84 4 +9 85 4 +9 86 4 +9 87 4 +9 88 4 +9 89 4 +9 90 4 +9 91 4 +9 92 4 +9 93 4 +9 94 4 +9 95 4 +9 96 4 +9 97 4 +9 98 4 +9 99 4 +9 100 4 +9 101 4 +9 102 4 +9 103 4 +9 104 4 +9 105 4 +9 106 4 +9 107 4 +9 108 4 +9 109 4 +9 110 4 +9 111 4 +9 112 4 +9 113 4 +9 114 4 +9 115 4 +9 116 4 +9 117 4 +9 118 4 +9 119 4 +9 120 4 +9 121 4 +9 122 4 +9 123 4 +9 124 4 +9 125 4 +9 126 4 +9 127 4 +9 128 4 +9 129 4 +9 130 4 +9 131 4 +9 132 4 +9 133 4 +9 134 4 +9 135 4 +9 136 4 +9 137 4 +9 138 4 +9 139 4 +9 140 4 +9 141 4 +9 142 4 +9 143 4 +9 144 4 +9 145 4 +9 146 4 +9 147 4 +9 148 4 +9 149 4 +9 150 4 +9 151 4 +9 152 4 +9 153 4 +9 154 4 +9 155 4 +9 156 4 +9 157 4 +9 158 4 +9 159 4 +9 160 4 +9 161 4 +9 162 4 +9 163 4 +9 164 4 +9 165 4 +9 166 4 +9 167 4 +9 168 4 +9 169 4 +9 170 4 +9 171 4 +9 172 4 +9 173 4 +9 174 4 +9 175 4 +9 176 4 +9 177 4 +9 178 4 +9 179 4 +9 180 4 +9 181 4 +9 182 4 +9 183 4 +9 184 4 +9 185 4 +9 186 4 +9 187 4 +9 188 4 +9 189 4 +9 190 4 +9 191 4 +9 192 0 +9 193 0 +9 194 0 +9 195 0 +9 196 0 +9 197 0 +9 198 0 +9 199 0 +9 200 0 +9 201 0 +9 202 0 +9 203 0 +9 204 0 +9 205 0 +9 206 0 +9 207 0 +9 208 0 +9 209 0 +9 210 0 +9 211 0 +9 212 0 +9 213 0 +9 214 0 +9 215 0 +9 216 0 +9 217 0 +9 218 0 +9 219 0 +9 220 0 +9 221 0 +9 222 0 +9 223 0 +9 224 0 +9 225 0 +9 226 0 +9 227 0 +9 228 0 +9 229 0 +9 230 0 +9 231 0 +9 232 0 +9 233 0 +9 234 0 +9 235 0 +9 236 0 +9 237 0 +9 238 0 +9 239 0 +9 240 0 +9 241 0 +9 242 0 +9 243 0 +9 244 0 +9 245 0 +9 246 0 +9 247 0 +9 248 0 +9 249 0 +9 250 0 +9 251 0 +9 252 0 +9 253 0 +9 254 0 +9 255 0 +9 256 0 +9 257 0 +9 258 0 +9 259 0 +9 260 0 +9 261 0 +9 262 0 +9 263 0 +9 264 0 +9 265 0 +9 266 0 +9 267 0 +9 268 0 +9 269 0 +9 270 0 +9 271 0 +9 272 0 +9 273 0 +9 274 0 +9 275 0 +9 276 0 +9 277 0 +9 278 0 +9 279 0 +9 280 0 +9 281 0 +9 282 0 +9 283 0 +9 284 0 +9 285 0 +9 286 0 +9 287 0 +9 288 0 +9 289 0 +9 290 0 +9 291 0 +9 292 0 +9 293 0 +9 294 0 +9 295 0 +9 296 0 +9 297 0 +9 298 0 +9 299 0 +9 300 0 +9 301 0 +9 302 0 +9 303 0 +9 304 0 +9 305 0 +9 306 0 +9 307 0 +9 308 0 +9 309 0 +9 310 0 +9 311 0 +9 312 0 +9 313 0 +9 314 0 +9 315 0 +9 316 0 +9 317 0 +9 318 0 +9 319 0 +9 320 0 +9 321 0 +9 322 0 +9 323 0 +9 324 0 +9 325 0 +9 326 0 +9 327 0 +9 328 0 +9 329 0 +9 330 0 +9 331 0 +9 332 0 +9 333 0 +9 334 0 +9 335 0 +9 336 0 +9 337 0 +9 338 0 +9 339 0 +9 340 0 +9 341 0 +9 342 0 +9 343 0 +9 344 0 +9 345 0 +9 346 0 +9 347 0 +9 348 0 +9 349 0 +9 350 0 +9 351 0 +9 352 0 +9 353 0 +9 354 0 +9 355 0 +9 356 0 +9 357 0 +9 358 0 +9 359 0 +9 360 0 +9 361 0 +9 362 0 +9 363 0 +9 364 0 +9 365 0 +9 366 0 +9 367 0 +9 368 0 +9 369 0 +9 370 0 +9 371 0 +9 372 0 +9 373 0 +9 374 0 +9 375 0 +9 376 0 +9 377 0 +9 378 0 +9 379 0 +9 380 0 +9 381 0 +9 382 0 +9 383 0 +10 11 4 +10 12 4 +10 13 4 +10 14 4 +10 15 4 +10 16 4 +10 17 4 +10 18 4 +10 19 4 +10 20 4 +10 21 4 +10 22 4 +10 23 4 +10 24 4 +10 25 4 +10 26 4 +10 27 4 +10 28 4 +10 29 4 +10 30 4 +10 31 4 +10 32 4 +10 33 4 +10 34 4 +10 35 4 +10 36 4 +10 37 4 +10 38 4 +10 39 4 +10 40 4 +10 41 4 +10 42 4 +10 43 4 +10 44 4 +10 45 4 +10 46 4 +10 47 4 +10 48 4 +10 49 4 +10 50 4 +10 51 4 +10 52 4 +10 53 4 +10 54 4 +10 55 4 +10 56 4 +10 57 4 +10 58 4 +10 59 4 +10 60 4 +10 61 4 +10 62 4 +10 63 4 +10 64 4 +10 65 4 +10 66 4 +10 67 4 +10 68 4 +10 69 4 +10 70 4 +10 71 4 +10 72 4 +10 73 4 +10 74 4 +10 75 4 +10 76 4 +10 77 4 +10 78 4 +10 79 4 +10 80 4 +10 81 4 +10 82 4 +10 83 4 +10 84 4 +10 85 4 +10 86 4 +10 87 4 +10 88 4 +10 89 4 +10 90 4 +10 91 4 +10 92 4 +10 93 4 +10 94 4 +10 95 4 +10 96 4 +10 97 4 +10 98 4 +10 99 4 +10 100 4 +10 101 4 +10 102 4 +10 103 4 +10 104 4 +10 105 4 +10 106 4 +10 107 4 +10 108 4 +10 109 4 +10 110 4 +10 111 4 +10 112 4 +10 113 4 +10 114 4 +10 115 4 +10 116 4 +10 117 4 +10 118 4 +10 119 4 +10 120 4 +10 121 4 +10 122 4 +10 123 4 +10 124 4 +10 125 4 +10 126 4 +10 127 4 +10 128 4 +10 129 4 +10 130 4 +10 131 4 +10 132 4 +10 133 4 +10 134 4 +10 135 4 +10 136 4 +10 137 4 +10 138 4 +10 139 4 +10 140 4 +10 141 4 +10 142 4 +10 143 4 +10 144 4 +10 145 4 +10 146 4 +10 147 4 +10 148 4 +10 149 4 +10 150 4 +10 151 4 +10 152 4 +10 153 4 +10 154 4 +10 155 4 +10 156 4 +10 157 4 +10 158 4 +10 159 4 +10 160 4 +10 161 4 +10 162 4 +10 163 4 +10 164 4 +10 165 4 +10 166 4 +10 167 4 +10 168 4 +10 169 4 +10 170 4 +10 171 4 +10 172 4 +10 173 4 +10 174 4 +10 175 4 +10 176 4 +10 177 4 +10 178 4 +10 179 4 +10 180 4 +10 181 4 +10 182 4 +10 183 4 +10 184 4 +10 185 4 +10 186 4 +10 187 4 +10 188 4 +10 189 4 +10 190 4 +10 191 4 +10 192 0 +10 193 0 +10 194 0 +10 195 0 +10 196 0 +10 197 0 +10 198 0 +10 199 0 +10 200 0 +10 201 0 +10 202 0 +10 203 0 +10 204 0 +10 205 0 +10 206 0 +10 207 0 +10 208 0 +10 209 0 +10 210 0 +10 211 0 +10 212 0 +10 213 0 +10 214 0 +10 215 0 +10 216 0 +10 217 0 +10 218 0 +10 219 0 +10 220 0 +10 221 0 +10 222 0 +10 223 0 +10 224 0 +10 225 0 +10 226 0 +10 227 0 +10 228 0 +10 229 0 +10 230 0 +10 231 0 +10 232 0 +10 233 0 +10 234 0 +10 235 0 +10 236 0 +10 237 0 +10 238 0 +10 239 0 +10 240 0 +10 241 0 +10 242 0 +10 243 0 +10 244 0 +10 245 0 +10 246 0 +10 247 0 +10 248 0 +10 249 0 +10 250 0 +10 251 0 +10 252 0 +10 253 0 +10 254 0 +10 255 0 +10 256 0 +10 257 0 +10 258 0 +10 259 0 +10 260 0 +10 261 0 +10 262 0 +10 263 0 +10 264 0 +10 265 0 +10 266 0 +10 267 0 +10 268 0 +10 269 0 +10 270 0 +10 271 0 +10 272 0 +10 273 0 +10 274 0 +10 275 0 +10 276 0 +10 277 0 +10 278 0 +10 279 0 +10 280 0 +10 281 0 +10 282 0 +10 283 0 +10 284 0 +10 285 0 +10 286 0 +10 287 0 +10 288 0 +10 289 0 +10 290 0 +10 291 0 +10 292 0 +10 293 0 +10 294 0 +10 295 0 +10 296 0 +10 297 0 +10 298 0 +10 299 0 +10 300 0 +10 301 0 +10 302 0 +10 303 0 +10 304 0 +10 305 0 +10 306 0 +10 307 0 +10 308 0 +10 309 0 +10 310 0 +10 311 0 +10 312 0 +10 313 0 +10 314 0 +10 315 0 +10 316 0 +10 317 0 +10 318 0 +10 319 0 +10 320 0 +10 321 0 +10 322 0 +10 323 0 +10 324 0 +10 325 0 +10 326 0 +10 327 0 +10 328 0 +10 329 0 +10 330 0 +10 331 0 +10 332 0 +10 333 0 +10 334 0 +10 335 0 +10 336 0 +10 337 0 +10 338 0 +10 339 0 +10 340 0 +10 341 0 +10 342 0 +10 343 0 +10 344 0 +10 345 0 +10 346 0 +10 347 0 +10 348 0 +10 349 0 +10 350 0 +10 351 0 +10 352 0 +10 353 0 +10 354 0 +10 355 0 +10 356 0 +10 357 0 +10 358 0 +10 359 0 +10 360 0 +10 361 0 +10 362 0 +10 363 0 +10 364 0 +10 365 0 +10 366 0 +10 367 0 +10 368 0 +10 369 0 +10 370 0 +10 371 0 +10 372 0 +10 373 0 +10 374 0 +10 375 0 +10 376 0 +10 377 0 +10 378 0 +10 379 0 +10 380 0 +10 381 0 +10 382 0 +10 383 0 +11 12 4 +11 13 4 +11 14 4 +11 15 4 +11 16 4 +11 17 4 +11 18 4 +11 19 4 +11 20 4 +11 21 4 +11 22 4 +11 23 4 +11 24 4 +11 25 4 +11 26 4 +11 27 4 +11 28 4 +11 29 4 +11 30 4 +11 31 4 +11 32 4 +11 33 4 +11 34 4 +11 35 4 +11 36 4 +11 37 4 +11 38 4 +11 39 4 +11 40 4 +11 41 4 +11 42 4 +11 43 4 +11 44 4 +11 45 4 +11 46 4 +11 47 4 +11 48 4 +11 49 4 +11 50 4 +11 51 4 +11 52 4 +11 53 4 +11 54 4 +11 55 4 +11 56 4 +11 57 4 +11 58 4 +11 59 4 +11 60 4 +11 61 4 +11 62 4 +11 63 4 +11 64 4 +11 65 4 +11 66 4 +11 67 4 +11 68 4 +11 69 4 +11 70 4 +11 71 4 +11 72 4 +11 73 4 +11 74 4 +11 75 4 +11 76 4 +11 77 4 +11 78 4 +11 79 4 +11 80 4 +11 81 4 +11 82 4 +11 83 4 +11 84 4 +11 85 4 +11 86 4 +11 87 4 +11 88 4 +11 89 4 +11 90 4 +11 91 4 +11 92 4 +11 93 4 +11 94 4 +11 95 4 +11 96 4 +11 97 4 +11 98 4 +11 99 4 +11 100 4 +11 101 4 +11 102 4 +11 103 4 +11 104 4 +11 105 4 +11 106 4 +11 107 4 +11 108 4 +11 109 4 +11 110 4 +11 111 4 +11 112 4 +11 113 4 +11 114 4 +11 115 4 +11 116 4 +11 117 4 +11 118 4 +11 119 4 +11 120 4 +11 121 4 +11 122 4 +11 123 4 +11 124 4 +11 125 4 +11 126 4 +11 127 4 +11 128 4 +11 129 4 +11 130 4 +11 131 4 +11 132 4 +11 133 4 +11 134 4 +11 135 4 +11 136 4 +11 137 4 +11 138 4 +11 139 4 +11 140 4 +11 141 4 +11 142 4 +11 143 4 +11 144 4 +11 145 4 +11 146 4 +11 147 4 +11 148 4 +11 149 4 +11 150 4 +11 151 4 +11 152 4 +11 153 4 +11 154 4 +11 155 4 +11 156 4 +11 157 4 +11 158 4 +11 159 4 +11 160 4 +11 161 4 +11 162 4 +11 163 4 +11 164 4 +11 165 4 +11 166 4 +11 167 4 +11 168 4 +11 169 4 +11 170 4 +11 171 4 +11 172 4 +11 173 4 +11 174 4 +11 175 4 +11 176 4 +11 177 4 +11 178 4 +11 179 4 +11 180 4 +11 181 4 +11 182 4 +11 183 4 +11 184 4 +11 185 4 +11 186 4 +11 187 4 +11 188 4 +11 189 4 +11 190 4 +11 191 4 +11 192 0 +11 193 0 +11 194 0 +11 195 0 +11 196 0 +11 197 0 +11 198 0 +11 199 0 +11 200 0 +11 201 0 +11 202 0 +11 203 0 +11 204 0 +11 205 0 +11 206 0 +11 207 0 +11 208 0 +11 209 0 +11 210 0 +11 211 0 +11 212 0 +11 213 0 +11 214 0 +11 215 0 +11 216 0 +11 217 0 +11 218 0 +11 219 0 +11 220 0 +11 221 0 +11 222 0 +11 223 0 +11 224 0 +11 225 0 +11 226 0 +11 227 0 +11 228 0 +11 229 0 +11 230 0 +11 231 0 +11 232 0 +11 233 0 +11 234 0 +11 235 0 +11 236 0 +11 237 0 +11 238 0 +11 239 0 +11 240 0 +11 241 0 +11 242 0 +11 243 0 +11 244 0 +11 245 0 +11 246 0 +11 247 0 +11 248 0 +11 249 0 +11 250 0 +11 251 0 +11 252 0 +11 253 0 +11 254 0 +11 255 0 +11 256 0 +11 257 0 +11 258 0 +11 259 0 +11 260 0 +11 261 0 +11 262 0 +11 263 0 +11 264 0 +11 265 0 +11 266 0 +11 267 0 +11 268 0 +11 269 0 +11 270 0 +11 271 0 +11 272 0 +11 273 0 +11 274 0 +11 275 0 +11 276 0 +11 277 0 +11 278 0 +11 279 0 +11 280 0 +11 281 0 +11 282 0 +11 283 0 +11 284 0 +11 285 0 +11 286 0 +11 287 0 +11 288 0 +11 289 0 +11 290 0 +11 291 0 +11 292 0 +11 293 0 +11 294 0 +11 295 0 +11 296 0 +11 297 0 +11 298 0 +11 299 0 +11 300 0 +11 301 0 +11 302 0 +11 303 0 +11 304 0 +11 305 0 +11 306 0 +11 307 0 +11 308 0 +11 309 0 +11 310 0 +11 311 0 +11 312 0 +11 313 0 +11 314 0 +11 315 0 +11 316 0 +11 317 0 +11 318 0 +11 319 0 +11 320 0 +11 321 0 +11 322 0 +11 323 0 +11 324 0 +11 325 0 +11 326 0 +11 327 0 +11 328 0 +11 329 0 +11 330 0 +11 331 0 +11 332 0 +11 333 0 +11 334 0 +11 335 0 +11 336 0 +11 337 0 +11 338 0 +11 339 0 +11 340 0 +11 341 0 +11 342 0 +11 343 0 +11 344 0 +11 345 0 +11 346 0 +11 347 0 +11 348 0 +11 349 0 +11 350 0 +11 351 0 +11 352 0 +11 353 0 +11 354 0 +11 355 0 +11 356 0 +11 357 0 +11 358 0 +11 359 0 +11 360 0 +11 361 0 +11 362 0 +11 363 0 +11 364 0 +11 365 0 +11 366 0 +11 367 0 +11 368 0 +11 369 0 +11 370 0 +11 371 0 +11 372 0 +11 373 0 +11 374 0 +11 375 0 +11 376 0 +11 377 0 +11 378 0 +11 379 0 +11 380 0 +11 381 0 +11 382 0 +11 383 0 +12 13 4 +12 14 4 +12 15 4 +12 16 4 +12 17 4 +12 18 4 +12 19 4 +12 20 4 +12 21 4 +12 22 4 +12 23 4 +12 24 4 +12 25 4 +12 26 4 +12 27 4 +12 28 4 +12 29 4 +12 30 4 +12 31 4 +12 32 4 +12 33 4 +12 34 4 +12 35 4 +12 36 4 +12 37 4 +12 38 4 +12 39 4 +12 40 4 +12 41 4 +12 42 4 +12 43 4 +12 44 4 +12 45 4 +12 46 4 +12 47 4 +12 48 4 +12 49 4 +12 50 4 +12 51 4 +12 52 4 +12 53 4 +12 54 4 +12 55 4 +12 56 4 +12 57 4 +12 58 4 +12 59 4 +12 60 4 +12 61 4 +12 62 4 +12 63 4 +12 64 4 +12 65 4 +12 66 4 +12 67 4 +12 68 4 +12 69 4 +12 70 4 +12 71 4 +12 72 4 +12 73 4 +12 74 4 +12 75 4 +12 76 4 +12 77 4 +12 78 4 +12 79 4 +12 80 4 +12 81 4 +12 82 4 +12 83 4 +12 84 4 +12 85 4 +12 86 4 +12 87 4 +12 88 4 +12 89 4 +12 90 4 +12 91 4 +12 92 4 +12 93 4 +12 94 4 +12 95 4 +12 96 4 +12 97 4 +12 98 4 +12 99 4 +12 100 4 +12 101 4 +12 102 4 +12 103 4 +12 104 4 +12 105 4 +12 106 4 +12 107 4 +12 108 4 +12 109 4 +12 110 4 +12 111 4 +12 112 4 +12 113 4 +12 114 4 +12 115 4 +12 116 4 +12 117 4 +12 118 4 +12 119 4 +12 120 4 +12 121 4 +12 122 4 +12 123 4 +12 124 4 +12 125 4 +12 126 4 +12 127 4 +12 128 4 +12 129 4 +12 130 4 +12 131 4 +12 132 4 +12 133 4 +12 134 4 +12 135 4 +12 136 4 +12 137 4 +12 138 4 +12 139 4 +12 140 4 +12 141 4 +12 142 4 +12 143 4 +12 144 4 +12 145 4 +12 146 4 +12 147 4 +12 148 4 +12 149 4 +12 150 4 +12 151 4 +12 152 4 +12 153 4 +12 154 4 +12 155 4 +12 156 4 +12 157 4 +12 158 4 +12 159 4 +12 160 4 +12 161 4 +12 162 4 +12 163 4 +12 164 4 +12 165 4 +12 166 4 +12 167 4 +12 168 4 +12 169 4 +12 170 4 +12 171 4 +12 172 4 +12 173 4 +12 174 4 +12 175 4 +12 176 4 +12 177 4 +12 178 4 +12 179 4 +12 180 4 +12 181 4 +12 182 4 +12 183 4 +12 184 4 +12 185 4 +12 186 4 +12 187 4 +12 188 4 +12 189 4 +12 190 4 +12 191 4 +12 192 0 +12 193 0 +12 194 0 +12 195 0 +12 196 0 +12 197 0 +12 198 0 +12 199 0 +12 200 0 +12 201 0 +12 202 0 +12 203 0 +12 204 0 +12 205 0 +12 206 0 +12 207 0 +12 208 0 +12 209 0 +12 210 0 +12 211 0 +12 212 0 +12 213 0 +12 214 0 +12 215 0 +12 216 0 +12 217 0 +12 218 0 +12 219 0 +12 220 0 +12 221 0 +12 222 0 +12 223 0 +12 224 0 +12 225 0 +12 226 0 +12 227 0 +12 228 0 +12 229 0 +12 230 0 +12 231 0 +12 232 0 +12 233 0 +12 234 0 +12 235 0 +12 236 0 +12 237 0 +12 238 0 +12 239 0 +12 240 0 +12 241 0 +12 242 0 +12 243 0 +12 244 0 +12 245 0 +12 246 0 +12 247 0 +12 248 0 +12 249 0 +12 250 0 +12 251 0 +12 252 0 +12 253 0 +12 254 0 +12 255 0 +12 256 0 +12 257 0 +12 258 0 +12 259 0 +12 260 0 +12 261 0 +12 262 0 +12 263 0 +12 264 0 +12 265 0 +12 266 0 +12 267 0 +12 268 0 +12 269 0 +12 270 0 +12 271 0 +12 272 0 +12 273 0 +12 274 0 +12 275 0 +12 276 0 +12 277 0 +12 278 0 +12 279 0 +12 280 0 +12 281 0 +12 282 0 +12 283 0 +12 284 0 +12 285 0 +12 286 0 +12 287 0 +12 288 0 +12 289 0 +12 290 0 +12 291 0 +12 292 0 +12 293 0 +12 294 0 +12 295 0 +12 296 0 +12 297 0 +12 298 0 +12 299 0 +12 300 0 +12 301 0 +12 302 0 +12 303 0 +12 304 0 +12 305 0 +12 306 0 +12 307 0 +12 308 0 +12 309 0 +12 310 0 +12 311 0 +12 312 0 +12 313 0 +12 314 0 +12 315 0 +12 316 0 +12 317 0 +12 318 0 +12 319 0 +12 320 0 +12 321 0 +12 322 0 +12 323 0 +12 324 0 +12 325 0 +12 326 0 +12 327 0 +12 328 0 +12 329 0 +12 330 0 +12 331 0 +12 332 0 +12 333 0 +12 334 0 +12 335 0 +12 336 0 +12 337 0 +12 338 0 +12 339 0 +12 340 0 +12 341 0 +12 342 0 +12 343 0 +12 344 0 +12 345 0 +12 346 0 +12 347 0 +12 348 0 +12 349 0 +12 350 0 +12 351 0 +12 352 0 +12 353 0 +12 354 0 +12 355 0 +12 356 0 +12 357 0 +12 358 0 +12 359 0 +12 360 0 +12 361 0 +12 362 0 +12 363 0 +12 364 0 +12 365 0 +12 366 0 +12 367 0 +12 368 0 +12 369 0 +12 370 0 +12 371 0 +12 372 0 +12 373 0 +12 374 0 +12 375 0 +12 376 0 +12 377 0 +12 378 0 +12 379 0 +12 380 0 +12 381 0 +12 382 0 +12 383 0 +13 14 4 +13 15 4 +13 16 4 +13 17 4 +13 18 4 +13 19 4 +13 20 4 +13 21 4 +13 22 4 +13 23 4 +13 24 4 +13 25 4 +13 26 4 +13 27 4 +13 28 4 +13 29 4 +13 30 4 +13 31 4 +13 32 4 +13 33 4 +13 34 4 +13 35 4 +13 36 4 +13 37 4 +13 38 4 +13 39 4 +13 40 4 +13 41 4 +13 42 4 +13 43 4 +13 44 4 +13 45 4 +13 46 4 +13 47 4 +13 48 4 +13 49 4 +13 50 4 +13 51 4 +13 52 4 +13 53 4 +13 54 4 +13 55 4 +13 56 4 +13 57 4 +13 58 4 +13 59 4 +13 60 4 +13 61 4 +13 62 4 +13 63 4 +13 64 4 +13 65 4 +13 66 4 +13 67 4 +13 68 4 +13 69 4 +13 70 4 +13 71 4 +13 72 4 +13 73 4 +13 74 4 +13 75 4 +13 76 4 +13 77 4 +13 78 4 +13 79 4 +13 80 4 +13 81 4 +13 82 4 +13 83 4 +13 84 4 +13 85 4 +13 86 4 +13 87 4 +13 88 4 +13 89 4 +13 90 4 +13 91 4 +13 92 4 +13 93 4 +13 94 4 +13 95 4 +13 96 4 +13 97 4 +13 98 4 +13 99 4 +13 100 4 +13 101 4 +13 102 4 +13 103 4 +13 104 4 +13 105 4 +13 106 4 +13 107 4 +13 108 4 +13 109 4 +13 110 4 +13 111 4 +13 112 4 +13 113 4 +13 114 4 +13 115 4 +13 116 4 +13 117 4 +13 118 4 +13 119 4 +13 120 4 +13 121 4 +13 122 4 +13 123 4 +13 124 4 +13 125 4 +13 126 4 +13 127 4 +13 128 4 +13 129 4 +13 130 4 +13 131 4 +13 132 4 +13 133 4 +13 134 4 +13 135 4 +13 136 4 +13 137 4 +13 138 4 +13 139 4 +13 140 4 +13 141 4 +13 142 4 +13 143 4 +13 144 4 +13 145 4 +13 146 4 +13 147 4 +13 148 4 +13 149 4 +13 150 4 +13 151 4 +13 152 4 +13 153 4 +13 154 4 +13 155 4 +13 156 4 +13 157 4 +13 158 4 +13 159 4 +13 160 4 +13 161 4 +13 162 4 +13 163 4 +13 164 4 +13 165 4 +13 166 4 +13 167 4 +13 168 4 +13 169 4 +13 170 4 +13 171 4 +13 172 4 +13 173 4 +13 174 4 +13 175 4 +13 176 4 +13 177 4 +13 178 4 +13 179 4 +13 180 4 +13 181 4 +13 182 4 +13 183 4 +13 184 4 +13 185 4 +13 186 4 +13 187 4 +13 188 4 +13 189 4 +13 190 4 +13 191 4 +13 192 0 +13 193 0 +13 194 0 +13 195 0 +13 196 0 +13 197 0 +13 198 0 +13 199 0 +13 200 0 +13 201 0 +13 202 0 +13 203 0 +13 204 0 +13 205 0 +13 206 0 +13 207 0 +13 208 0 +13 209 0 +13 210 0 +13 211 0 +13 212 0 +13 213 0 +13 214 0 +13 215 0 +13 216 0 +13 217 0 +13 218 0 +13 219 0 +13 220 0 +13 221 0 +13 222 0 +13 223 0 +13 224 0 +13 225 0 +13 226 0 +13 227 0 +13 228 0 +13 229 0 +13 230 0 +13 231 0 +13 232 0 +13 233 0 +13 234 0 +13 235 0 +13 236 0 +13 237 0 +13 238 0 +13 239 0 +13 240 0 +13 241 0 +13 242 0 +13 243 0 +13 244 0 +13 245 0 +13 246 0 +13 247 0 +13 248 0 +13 249 0 +13 250 0 +13 251 0 +13 252 0 +13 253 0 +13 254 0 +13 255 0 +13 256 0 +13 257 0 +13 258 0 +13 259 0 +13 260 0 +13 261 0 +13 262 0 +13 263 0 +13 264 0 +13 265 0 +13 266 0 +13 267 0 +13 268 0 +13 269 0 +13 270 0 +13 271 0 +13 272 0 +13 273 0 +13 274 0 +13 275 0 +13 276 0 +13 277 0 +13 278 0 +13 279 0 +13 280 0 +13 281 0 +13 282 0 +13 283 0 +13 284 0 +13 285 0 +13 286 0 +13 287 0 +13 288 0 +13 289 0 +13 290 0 +13 291 0 +13 292 0 +13 293 0 +13 294 0 +13 295 0 +13 296 0 +13 297 0 +13 298 0 +13 299 0 +13 300 0 +13 301 0 +13 302 0 +13 303 0 +13 304 0 +13 305 0 +13 306 0 +13 307 0 +13 308 0 +13 309 0 +13 310 0 +13 311 0 +13 312 0 +13 313 0 +13 314 0 +13 315 0 +13 316 0 +13 317 0 +13 318 0 +13 319 0 +13 320 0 +13 321 0 +13 322 0 +13 323 0 +13 324 0 +13 325 0 +13 326 0 +13 327 0 +13 328 0 +13 329 0 +13 330 0 +13 331 0 +13 332 0 +13 333 0 +13 334 0 +13 335 0 +13 336 0 +13 337 0 +13 338 0 +13 339 0 +13 340 0 +13 341 0 +13 342 0 +13 343 0 +13 344 0 +13 345 0 +13 346 0 +13 347 0 +13 348 0 +13 349 0 +13 350 0 +13 351 0 +13 352 0 +13 353 0 +13 354 0 +13 355 0 +13 356 0 +13 357 0 +13 358 0 +13 359 0 +13 360 0 +13 361 0 +13 362 0 +13 363 0 +13 364 0 +13 365 0 +13 366 0 +13 367 0 +13 368 0 +13 369 0 +13 370 0 +13 371 0 +13 372 0 +13 373 0 +13 374 0 +13 375 0 +13 376 0 +13 377 0 +13 378 0 +13 379 0 +13 380 0 +13 381 0 +13 382 0 +13 383 0 +14 15 4 +14 16 4 +14 17 4 +14 18 4 +14 19 4 +14 20 4 +14 21 4 +14 22 4 +14 23 4 +14 24 4 +14 25 4 +14 26 4 +14 27 4 +14 28 4 +14 29 4 +14 30 4 +14 31 4 +14 32 4 +14 33 4 +14 34 4 +14 35 4 +14 36 4 +14 37 4 +14 38 4 +14 39 4 +14 40 4 +14 41 4 +14 42 4 +14 43 4 +14 44 4 +14 45 4 +14 46 4 +14 47 4 +14 48 4 +14 49 4 +14 50 4 +14 51 4 +14 52 4 +14 53 4 +14 54 4 +14 55 4 +14 56 4 +14 57 4 +14 58 4 +14 59 4 +14 60 4 +14 61 4 +14 62 4 +14 63 4 +14 64 4 +14 65 4 +14 66 4 +14 67 4 +14 68 4 +14 69 4 +14 70 4 +14 71 4 +14 72 4 +14 73 4 +14 74 4 +14 75 4 +14 76 4 +14 77 4 +14 78 4 +14 79 4 +14 80 4 +14 81 4 +14 82 4 +14 83 4 +14 84 4 +14 85 4 +14 86 4 +14 87 4 +14 88 4 +14 89 4 +14 90 4 +14 91 4 +14 92 4 +14 93 4 +14 94 4 +14 95 4 +14 96 4 +14 97 4 +14 98 4 +14 99 4 +14 100 4 +14 101 4 +14 102 4 +14 103 4 +14 104 4 +14 105 4 +14 106 4 +14 107 4 +14 108 4 +14 109 4 +14 110 4 +14 111 4 +14 112 4 +14 113 4 +14 114 4 +14 115 4 +14 116 4 +14 117 4 +14 118 4 +14 119 4 +14 120 4 +14 121 4 +14 122 4 +14 123 4 +14 124 4 +14 125 4 +14 126 4 +14 127 4 +14 128 4 +14 129 4 +14 130 4 +14 131 4 +14 132 4 +14 133 4 +14 134 4 +14 135 4 +14 136 4 +14 137 4 +14 138 4 +14 139 4 +14 140 4 +14 141 4 +14 142 4 +14 143 4 +14 144 4 +14 145 4 +14 146 4 +14 147 4 +14 148 4 +14 149 4 +14 150 4 +14 151 4 +14 152 4 +14 153 4 +14 154 4 +14 155 4 +14 156 4 +14 157 4 +14 158 4 +14 159 4 +14 160 4 +14 161 4 +14 162 4 +14 163 4 +14 164 4 +14 165 4 +14 166 4 +14 167 4 +14 168 4 +14 169 4 +14 170 4 +14 171 4 +14 172 4 +14 173 4 +14 174 4 +14 175 4 +14 176 4 +14 177 4 +14 178 4 +14 179 4 +14 180 4 +14 181 4 +14 182 4 +14 183 4 +14 184 4 +14 185 4 +14 186 4 +14 187 4 +14 188 4 +14 189 4 +14 190 4 +14 191 4 +14 192 0 +14 193 0 +14 194 0 +14 195 0 +14 196 0 +14 197 0 +14 198 0 +14 199 0 +14 200 0 +14 201 0 +14 202 0 +14 203 0 +14 204 0 +14 205 0 +14 206 0 +14 207 0 +14 208 0 +14 209 0 +14 210 0 +14 211 0 +14 212 0 +14 213 0 +14 214 0 +14 215 0 +14 216 0 +14 217 0 +14 218 0 +14 219 0 +14 220 0 +14 221 0 +14 222 0 +14 223 0 +14 224 0 +14 225 0 +14 226 0 +14 227 0 +14 228 0 +14 229 0 +14 230 0 +14 231 0 +14 232 0 +14 233 0 +14 234 0 +14 235 0 +14 236 0 +14 237 0 +14 238 0 +14 239 0 +14 240 0 +14 241 0 +14 242 0 +14 243 0 +14 244 0 +14 245 0 +14 246 0 +14 247 0 +14 248 0 +14 249 0 +14 250 0 +14 251 0 +14 252 0 +14 253 0 +14 254 0 +14 255 0 +14 256 0 +14 257 0 +14 258 0 +14 259 0 +14 260 0 +14 261 0 +14 262 0 +14 263 0 +14 264 0 +14 265 0 +14 266 0 +14 267 0 +14 268 0 +14 269 0 +14 270 0 +14 271 0 +14 272 0 +14 273 0 +14 274 0 +14 275 0 +14 276 0 +14 277 0 +14 278 0 +14 279 0 +14 280 0 +14 281 0 +14 282 0 +14 283 0 +14 284 0 +14 285 0 +14 286 0 +14 287 0 +14 288 0 +14 289 0 +14 290 0 +14 291 0 +14 292 0 +14 293 0 +14 294 0 +14 295 0 +14 296 0 +14 297 0 +14 298 0 +14 299 0 +14 300 0 +14 301 0 +14 302 0 +14 303 0 +14 304 0 +14 305 0 +14 306 0 +14 307 0 +14 308 0 +14 309 0 +14 310 0 +14 311 0 +14 312 0 +14 313 0 +14 314 0 +14 315 0 +14 316 0 +14 317 0 +14 318 0 +14 319 0 +14 320 0 +14 321 0 +14 322 0 +14 323 0 +14 324 0 +14 325 0 +14 326 0 +14 327 0 +14 328 0 +14 329 0 +14 330 0 +14 331 0 +14 332 0 +14 333 0 +14 334 0 +14 335 0 +14 336 0 +14 337 0 +14 338 0 +14 339 0 +14 340 0 +14 341 0 +14 342 0 +14 343 0 +14 344 0 +14 345 0 +14 346 0 +14 347 0 +14 348 0 +14 349 0 +14 350 0 +14 351 0 +14 352 0 +14 353 0 +14 354 0 +14 355 0 +14 356 0 +14 357 0 +14 358 0 +14 359 0 +14 360 0 +14 361 0 +14 362 0 +14 363 0 +14 364 0 +14 365 0 +14 366 0 +14 367 0 +14 368 0 +14 369 0 +14 370 0 +14 371 0 +14 372 0 +14 373 0 +14 374 0 +14 375 0 +14 376 0 +14 377 0 +14 378 0 +14 379 0 +14 380 0 +14 381 0 +14 382 0 +14 383 0 +15 16 4 +15 17 4 +15 18 4 +15 19 4 +15 20 4 +15 21 4 +15 22 4 +15 23 4 +15 24 4 +15 25 4 +15 26 4 +15 27 4 +15 28 4 +15 29 4 +15 30 4 +15 31 4 +15 32 4 +15 33 4 +15 34 4 +15 35 4 +15 36 4 +15 37 4 +15 38 4 +15 39 4 +15 40 4 +15 41 4 +15 42 4 +15 43 4 +15 44 4 +15 45 4 +15 46 4 +15 47 4 +15 48 4 +15 49 4 +15 50 4 +15 51 4 +15 52 4 +15 53 4 +15 54 4 +15 55 4 +15 56 4 +15 57 4 +15 58 4 +15 59 4 +15 60 4 +15 61 4 +15 62 4 +15 63 4 +15 64 4 +15 65 4 +15 66 4 +15 67 4 +15 68 4 +15 69 4 +15 70 4 +15 71 4 +15 72 4 +15 73 4 +15 74 4 +15 75 4 +15 76 4 +15 77 4 +15 78 4 +15 79 4 +15 80 4 +15 81 4 +15 82 4 +15 83 4 +15 84 4 +15 85 4 +15 86 4 +15 87 4 +15 88 4 +15 89 4 +15 90 4 +15 91 4 +15 92 4 +15 93 4 +15 94 4 +15 95 4 +15 96 4 +15 97 4 +15 98 4 +15 99 4 +15 100 4 +15 101 4 +15 102 4 +15 103 4 +15 104 4 +15 105 4 +15 106 4 +15 107 4 +15 108 4 +15 109 4 +15 110 4 +15 111 4 +15 112 4 +15 113 4 +15 114 4 +15 115 4 +15 116 4 +15 117 4 +15 118 4 +15 119 4 +15 120 4 +15 121 4 +15 122 4 +15 123 4 +15 124 4 +15 125 4 +15 126 4 +15 127 4 +15 128 4 +15 129 4 +15 130 4 +15 131 4 +15 132 4 +15 133 4 +15 134 4 +15 135 4 +15 136 4 +15 137 4 +15 138 4 +15 139 4 +15 140 4 +15 141 4 +15 142 4 +15 143 4 +15 144 4 +15 145 4 +15 146 4 +15 147 4 +15 148 4 +15 149 4 +15 150 4 +15 151 4 +15 152 4 +15 153 4 +15 154 4 +15 155 4 +15 156 4 +15 157 4 +15 158 4 +15 159 4 +15 160 4 +15 161 4 +15 162 4 +15 163 4 +15 164 4 +15 165 4 +15 166 4 +15 167 4 +15 168 4 +15 169 4 +15 170 4 +15 171 4 +15 172 4 +15 173 4 +15 174 4 +15 175 4 +15 176 4 +15 177 4 +15 178 4 +15 179 4 +15 180 4 +15 181 4 +15 182 4 +15 183 4 +15 184 4 +15 185 4 +15 186 4 +15 187 4 +15 188 4 +15 189 4 +15 190 4 +15 191 4 +15 192 0 +15 193 0 +15 194 0 +15 195 0 +15 196 0 +15 197 0 +15 198 0 +15 199 0 +15 200 0 +15 201 0 +15 202 0 +15 203 0 +15 204 0 +15 205 0 +15 206 0 +15 207 0 +15 208 0 +15 209 0 +15 210 0 +15 211 0 +15 212 0 +15 213 0 +15 214 0 +15 215 0 +15 216 0 +15 217 0 +15 218 0 +15 219 0 +15 220 0 +15 221 0 +15 222 0 +15 223 0 +15 224 0 +15 225 0 +15 226 0 +15 227 0 +15 228 0 +15 229 0 +15 230 0 +15 231 0 +15 232 0 +15 233 0 +15 234 0 +15 235 0 +15 236 0 +15 237 0 +15 238 0 +15 239 0 +15 240 0 +15 241 0 +15 242 0 +15 243 0 +15 244 0 +15 245 0 +15 246 0 +15 247 0 +15 248 0 +15 249 0 +15 250 0 +15 251 0 +15 252 0 +15 253 0 +15 254 0 +15 255 0 +15 256 0 +15 257 0 +15 258 0 +15 259 0 +15 260 0 +15 261 0 +15 262 0 +15 263 0 +15 264 0 +15 265 0 +15 266 0 +15 267 0 +15 268 0 +15 269 0 +15 270 0 +15 271 0 +15 272 0 +15 273 0 +15 274 0 +15 275 0 +15 276 0 +15 277 0 +15 278 0 +15 279 0 +15 280 0 +15 281 0 +15 282 0 +15 283 0 +15 284 0 +15 285 0 +15 286 0 +15 287 0 +15 288 0 +15 289 0 +15 290 0 +15 291 0 +15 292 0 +15 293 0 +15 294 0 +15 295 0 +15 296 0 +15 297 0 +15 298 0 +15 299 0 +15 300 0 +15 301 0 +15 302 0 +15 303 0 +15 304 0 +15 305 0 +15 306 0 +15 307 0 +15 308 0 +15 309 0 +15 310 0 +15 311 0 +15 312 0 +15 313 0 +15 314 0 +15 315 0 +15 316 0 +15 317 0 +15 318 0 +15 319 0 +15 320 0 +15 321 0 +15 322 0 +15 323 0 +15 324 0 +15 325 0 +15 326 0 +15 327 0 +15 328 0 +15 329 0 +15 330 0 +15 331 0 +15 332 0 +15 333 0 +15 334 0 +15 335 0 +15 336 0 +15 337 0 +15 338 0 +15 339 0 +15 340 0 +15 341 0 +15 342 0 +15 343 0 +15 344 0 +15 345 0 +15 346 0 +15 347 0 +15 348 0 +15 349 0 +15 350 0 +15 351 0 +15 352 0 +15 353 0 +15 354 0 +15 355 0 +15 356 0 +15 357 0 +15 358 0 +15 359 0 +15 360 0 +15 361 0 +15 362 0 +15 363 0 +15 364 0 +15 365 0 +15 366 0 +15 367 0 +15 368 0 +15 369 0 +15 370 0 +15 371 0 +15 372 0 +15 373 0 +15 374 0 +15 375 0 +15 376 0 +15 377 0 +15 378 0 +15 379 0 +15 380 0 +15 381 0 +15 382 0 +15 383 0 +16 17 4 +16 18 4 +16 19 4 +16 20 4 +16 21 4 +16 22 4 +16 23 4 +16 24 4 +16 25 4 +16 26 4 +16 27 4 +16 28 4 +16 29 4 +16 30 4 +16 31 4 +16 32 4 +16 33 4 +16 34 4 +16 35 4 +16 36 4 +16 37 4 +16 38 4 +16 39 4 +16 40 4 +16 41 4 +16 42 4 +16 43 4 +16 44 4 +16 45 4 +16 46 4 +16 47 4 +16 48 4 +16 49 4 +16 50 4 +16 51 4 +16 52 4 +16 53 4 +16 54 4 +16 55 4 +16 56 4 +16 57 4 +16 58 4 +16 59 4 +16 60 4 +16 61 4 +16 62 4 +16 63 4 +16 64 4 +16 65 4 +16 66 4 +16 67 4 +16 68 4 +16 69 4 +16 70 4 +16 71 4 +16 72 4 +16 73 4 +16 74 4 +16 75 4 +16 76 4 +16 77 4 +16 78 4 +16 79 4 +16 80 4 +16 81 4 +16 82 4 +16 83 4 +16 84 4 +16 85 4 +16 86 4 +16 87 4 +16 88 4 +16 89 4 +16 90 4 +16 91 4 +16 92 4 +16 93 4 +16 94 4 +16 95 4 +16 96 4 +16 97 4 +16 98 4 +16 99 4 +16 100 4 +16 101 4 +16 102 4 +16 103 4 +16 104 4 +16 105 4 +16 106 4 +16 107 4 +16 108 4 +16 109 4 +16 110 4 +16 111 4 +16 112 4 +16 113 4 +16 114 4 +16 115 4 +16 116 4 +16 117 4 +16 118 4 +16 119 4 +16 120 4 +16 121 4 +16 122 4 +16 123 4 +16 124 4 +16 125 4 +16 126 4 +16 127 4 +16 128 4 +16 129 4 +16 130 4 +16 131 4 +16 132 4 +16 133 4 +16 134 4 +16 135 4 +16 136 4 +16 137 4 +16 138 4 +16 139 4 +16 140 4 +16 141 4 +16 142 4 +16 143 4 +16 144 4 +16 145 4 +16 146 4 +16 147 4 +16 148 4 +16 149 4 +16 150 4 +16 151 4 +16 152 4 +16 153 4 +16 154 4 +16 155 4 +16 156 4 +16 157 4 +16 158 4 +16 159 4 +16 160 4 +16 161 4 +16 162 4 +16 163 4 +16 164 4 +16 165 4 +16 166 4 +16 167 4 +16 168 4 +16 169 4 +16 170 4 +16 171 4 +16 172 4 +16 173 4 +16 174 4 +16 175 4 +16 176 4 +16 177 4 +16 178 4 +16 179 4 +16 180 4 +16 181 4 +16 182 4 +16 183 4 +16 184 4 +16 185 4 +16 186 4 +16 187 4 +16 188 4 +16 189 4 +16 190 4 +16 191 4 +16 192 0 +16 193 0 +16 194 0 +16 195 0 +16 196 0 +16 197 0 +16 198 0 +16 199 0 +16 200 0 +16 201 0 +16 202 0 +16 203 0 +16 204 0 +16 205 0 +16 206 0 +16 207 0 +16 208 0 +16 209 0 +16 210 0 +16 211 0 +16 212 0 +16 213 0 +16 214 0 +16 215 0 +16 216 0 +16 217 0 +16 218 0 +16 219 0 +16 220 0 +16 221 0 +16 222 0 +16 223 0 +16 224 0 +16 225 0 +16 226 0 +16 227 0 +16 228 0 +16 229 0 +16 230 0 +16 231 0 +16 232 0 +16 233 0 +16 234 0 +16 235 0 +16 236 0 +16 237 0 +16 238 0 +16 239 0 +16 240 0 +16 241 0 +16 242 0 +16 243 0 +16 244 0 +16 245 0 +16 246 0 +16 247 0 +16 248 0 +16 249 0 +16 250 0 +16 251 0 +16 252 0 +16 253 0 +16 254 0 +16 255 0 +16 256 0 +16 257 0 +16 258 0 +16 259 0 +16 260 0 +16 261 0 +16 262 0 +16 263 0 +16 264 0 +16 265 0 +16 266 0 +16 267 0 +16 268 0 +16 269 0 +16 270 0 +16 271 0 +16 272 0 +16 273 0 +16 274 0 +16 275 0 +16 276 0 +16 277 0 +16 278 0 +16 279 0 +16 280 0 +16 281 0 +16 282 0 +16 283 0 +16 284 0 +16 285 0 +16 286 0 +16 287 0 +16 288 0 +16 289 0 +16 290 0 +16 291 0 +16 292 0 +16 293 0 +16 294 0 +16 295 0 +16 296 0 +16 297 0 +16 298 0 +16 299 0 +16 300 0 +16 301 0 +16 302 0 +16 303 0 +16 304 0 +16 305 0 +16 306 0 +16 307 0 +16 308 0 +16 309 0 +16 310 0 +16 311 0 +16 312 0 +16 313 0 +16 314 0 +16 315 0 +16 316 0 +16 317 0 +16 318 0 +16 319 0 +16 320 0 +16 321 0 +16 322 0 +16 323 0 +16 324 0 +16 325 0 +16 326 0 +16 327 0 +16 328 0 +16 329 0 +16 330 0 +16 331 0 +16 332 0 +16 333 0 +16 334 0 +16 335 0 +16 336 0 +16 337 0 +16 338 0 +16 339 0 +16 340 0 +16 341 0 +16 342 0 +16 343 0 +16 344 0 +16 345 0 +16 346 0 +16 347 0 +16 348 0 +16 349 0 +16 350 0 +16 351 0 +16 352 0 +16 353 0 +16 354 0 +16 355 0 +16 356 0 +16 357 0 +16 358 0 +16 359 0 +16 360 0 +16 361 0 +16 362 0 +16 363 0 +16 364 0 +16 365 0 +16 366 0 +16 367 0 +16 368 0 +16 369 0 +16 370 0 +16 371 0 +16 372 0 +16 373 0 +16 374 0 +16 375 0 +16 376 0 +16 377 0 +16 378 0 +16 379 0 +16 380 0 +16 381 0 +16 382 0 +16 383 0 +17 18 4 +17 19 4 +17 20 4 +17 21 4 +17 22 4 +17 23 4 +17 24 4 +17 25 4 +17 26 4 +17 27 4 +17 28 4 +17 29 4 +17 30 4 +17 31 4 +17 32 4 +17 33 4 +17 34 4 +17 35 4 +17 36 4 +17 37 4 +17 38 4 +17 39 4 +17 40 4 +17 41 4 +17 42 4 +17 43 4 +17 44 4 +17 45 4 +17 46 4 +17 47 4 +17 48 4 +17 49 4 +17 50 4 +17 51 4 +17 52 4 +17 53 4 +17 54 4 +17 55 4 +17 56 4 +17 57 4 +17 58 4 +17 59 4 +17 60 4 +17 61 4 +17 62 4 +17 63 4 +17 64 4 +17 65 4 +17 66 4 +17 67 4 +17 68 4 +17 69 4 +17 70 4 +17 71 4 +17 72 4 +17 73 4 +17 74 4 +17 75 4 +17 76 4 +17 77 4 +17 78 4 +17 79 4 +17 80 4 +17 81 4 +17 82 4 +17 83 4 +17 84 4 +17 85 4 +17 86 4 +17 87 4 +17 88 4 +17 89 4 +17 90 4 +17 91 4 +17 92 4 +17 93 4 +17 94 4 +17 95 4 +17 96 4 +17 97 4 +17 98 4 +17 99 4 +17 100 4 +17 101 4 +17 102 4 +17 103 4 +17 104 4 +17 105 4 +17 106 4 +17 107 4 +17 108 4 +17 109 4 +17 110 4 +17 111 4 +17 112 4 +17 113 4 +17 114 4 +17 115 4 +17 116 4 +17 117 4 +17 118 4 +17 119 4 +17 120 4 +17 121 4 +17 122 4 +17 123 4 +17 124 4 +17 125 4 +17 126 4 +17 127 4 +17 128 4 +17 129 4 +17 130 4 +17 131 4 +17 132 4 +17 133 4 +17 134 4 +17 135 4 +17 136 4 +17 137 4 +17 138 4 +17 139 4 +17 140 4 +17 141 4 +17 142 4 +17 143 4 +17 144 4 +17 145 4 +17 146 4 +17 147 4 +17 148 4 +17 149 4 +17 150 4 +17 151 4 +17 152 4 +17 153 4 +17 154 4 +17 155 4 +17 156 4 +17 157 4 +17 158 4 +17 159 4 +17 160 4 +17 161 4 +17 162 4 +17 163 4 +17 164 4 +17 165 4 +17 166 4 +17 167 4 +17 168 4 +17 169 4 +17 170 4 +17 171 4 +17 172 4 +17 173 4 +17 174 4 +17 175 4 +17 176 4 +17 177 4 +17 178 4 +17 179 4 +17 180 4 +17 181 4 +17 182 4 +17 183 4 +17 184 4 +17 185 4 +17 186 4 +17 187 4 +17 188 4 +17 189 4 +17 190 4 +17 191 4 +17 192 0 +17 193 0 +17 194 0 +17 195 0 +17 196 0 +17 197 0 +17 198 0 +17 199 0 +17 200 0 +17 201 0 +17 202 0 +17 203 0 +17 204 0 +17 205 0 +17 206 0 +17 207 0 +17 208 0 +17 209 0 +17 210 0 +17 211 0 +17 212 0 +17 213 0 +17 214 0 +17 215 0 +17 216 0 +17 217 0 +17 218 0 +17 219 0 +17 220 0 +17 221 0 +17 222 0 +17 223 0 +17 224 0 +17 225 0 +17 226 0 +17 227 0 +17 228 0 +17 229 0 +17 230 0 +17 231 0 +17 232 0 +17 233 0 +17 234 0 +17 235 0 +17 236 0 +17 237 0 +17 238 0 +17 239 0 +17 240 0 +17 241 0 +17 242 0 +17 243 0 +17 244 0 +17 245 0 +17 246 0 +17 247 0 +17 248 0 +17 249 0 +17 250 0 +17 251 0 +17 252 0 +17 253 0 +17 254 0 +17 255 0 +17 256 0 +17 257 0 +17 258 0 +17 259 0 +17 260 0 +17 261 0 +17 262 0 +17 263 0 +17 264 0 +17 265 0 +17 266 0 +17 267 0 +17 268 0 +17 269 0 +17 270 0 +17 271 0 +17 272 0 +17 273 0 +17 274 0 +17 275 0 +17 276 0 +17 277 0 +17 278 0 +17 279 0 +17 280 0 +17 281 0 +17 282 0 +17 283 0 +17 284 0 +17 285 0 +17 286 0 +17 287 0 +17 288 0 +17 289 0 +17 290 0 +17 291 0 +17 292 0 +17 293 0 +17 294 0 +17 295 0 +17 296 0 +17 297 0 +17 298 0 +17 299 0 +17 300 0 +17 301 0 +17 302 0 +17 303 0 +17 304 0 +17 305 0 +17 306 0 +17 307 0 +17 308 0 +17 309 0 +17 310 0 +17 311 0 +17 312 0 +17 313 0 +17 314 0 +17 315 0 +17 316 0 +17 317 0 +17 318 0 +17 319 0 +17 320 0 +17 321 0 +17 322 0 +17 323 0 +17 324 0 +17 325 0 +17 326 0 +17 327 0 +17 328 0 +17 329 0 +17 330 0 +17 331 0 +17 332 0 +17 333 0 +17 334 0 +17 335 0 +17 336 0 +17 337 0 +17 338 0 +17 339 0 +17 340 0 +17 341 0 +17 342 0 +17 343 0 +17 344 0 +17 345 0 +17 346 0 +17 347 0 +17 348 0 +17 349 0 +17 350 0 +17 351 0 +17 352 0 +17 353 0 +17 354 0 +17 355 0 +17 356 0 +17 357 0 +17 358 0 +17 359 0 +17 360 0 +17 361 0 +17 362 0 +17 363 0 +17 364 0 +17 365 0 +17 366 0 +17 367 0 +17 368 0 +17 369 0 +17 370 0 +17 371 0 +17 372 0 +17 373 0 +17 374 0 +17 375 0 +17 376 0 +17 377 0 +17 378 0 +17 379 0 +17 380 0 +17 381 0 +17 382 0 +17 383 0 +18 19 4 +18 20 4 +18 21 4 +18 22 4 +18 23 4 +18 24 4 +18 25 4 +18 26 4 +18 27 4 +18 28 4 +18 29 4 +18 30 4 +18 31 4 +18 32 4 +18 33 4 +18 34 4 +18 35 4 +18 36 4 +18 37 4 +18 38 4 +18 39 4 +18 40 4 +18 41 4 +18 42 4 +18 43 4 +18 44 4 +18 45 4 +18 46 4 +18 47 4 +18 48 4 +18 49 4 +18 50 4 +18 51 4 +18 52 4 +18 53 4 +18 54 4 +18 55 4 +18 56 4 +18 57 4 +18 58 4 +18 59 4 +18 60 4 +18 61 4 +18 62 4 +18 63 4 +18 64 4 +18 65 4 +18 66 4 +18 67 4 +18 68 4 +18 69 4 +18 70 4 +18 71 4 +18 72 4 +18 73 4 +18 74 4 +18 75 4 +18 76 4 +18 77 4 +18 78 4 +18 79 4 +18 80 4 +18 81 4 +18 82 4 +18 83 4 +18 84 4 +18 85 4 +18 86 4 +18 87 4 +18 88 4 +18 89 4 +18 90 4 +18 91 4 +18 92 4 +18 93 4 +18 94 4 +18 95 4 +18 96 4 +18 97 4 +18 98 4 +18 99 4 +18 100 4 +18 101 4 +18 102 4 +18 103 4 +18 104 4 +18 105 4 +18 106 4 +18 107 4 +18 108 4 +18 109 4 +18 110 4 +18 111 4 +18 112 4 +18 113 4 +18 114 4 +18 115 4 +18 116 4 +18 117 4 +18 118 4 +18 119 4 +18 120 4 +18 121 4 +18 122 4 +18 123 4 +18 124 4 +18 125 4 +18 126 4 +18 127 4 +18 128 4 +18 129 4 +18 130 4 +18 131 4 +18 132 4 +18 133 4 +18 134 4 +18 135 4 +18 136 4 +18 137 4 +18 138 4 +18 139 4 +18 140 4 +18 141 4 +18 142 4 +18 143 4 +18 144 4 +18 145 4 +18 146 4 +18 147 4 +18 148 4 +18 149 4 +18 150 4 +18 151 4 +18 152 4 +18 153 4 +18 154 4 +18 155 4 +18 156 4 +18 157 4 +18 158 4 +18 159 4 +18 160 4 +18 161 4 +18 162 4 +18 163 4 +18 164 4 +18 165 4 +18 166 4 +18 167 4 +18 168 4 +18 169 4 +18 170 4 +18 171 4 +18 172 4 +18 173 4 +18 174 4 +18 175 4 +18 176 4 +18 177 4 +18 178 4 +18 179 4 +18 180 4 +18 181 4 +18 182 4 +18 183 4 +18 184 4 +18 185 4 +18 186 4 +18 187 4 +18 188 4 +18 189 4 +18 190 4 +18 191 4 +18 192 0 +18 193 0 +18 194 0 +18 195 0 +18 196 0 +18 197 0 +18 198 0 +18 199 0 +18 200 0 +18 201 0 +18 202 0 +18 203 0 +18 204 0 +18 205 0 +18 206 0 +18 207 0 +18 208 0 +18 209 0 +18 210 0 +18 211 0 +18 212 0 +18 213 0 +18 214 0 +18 215 0 +18 216 0 +18 217 0 +18 218 0 +18 219 0 +18 220 0 +18 221 0 +18 222 0 +18 223 0 +18 224 0 +18 225 0 +18 226 0 +18 227 0 +18 228 0 +18 229 0 +18 230 0 +18 231 0 +18 232 0 +18 233 0 +18 234 0 +18 235 0 +18 236 0 +18 237 0 +18 238 0 +18 239 0 +18 240 0 +18 241 0 +18 242 0 +18 243 0 +18 244 0 +18 245 0 +18 246 0 +18 247 0 +18 248 0 +18 249 0 +18 250 0 +18 251 0 +18 252 0 +18 253 0 +18 254 0 +18 255 0 +18 256 0 +18 257 0 +18 258 0 +18 259 0 +18 260 0 +18 261 0 +18 262 0 +18 263 0 +18 264 0 +18 265 0 +18 266 0 +18 267 0 +18 268 0 +18 269 0 +18 270 0 +18 271 0 +18 272 0 +18 273 0 +18 274 0 +18 275 0 +18 276 0 +18 277 0 +18 278 0 +18 279 0 +18 280 0 +18 281 0 +18 282 0 +18 283 0 +18 284 0 +18 285 0 +18 286 0 +18 287 0 +18 288 0 +18 289 0 +18 290 0 +18 291 0 +18 292 0 +18 293 0 +18 294 0 +18 295 0 +18 296 0 +18 297 0 +18 298 0 +18 299 0 +18 300 0 +18 301 0 +18 302 0 +18 303 0 +18 304 0 +18 305 0 +18 306 0 +18 307 0 +18 308 0 +18 309 0 +18 310 0 +18 311 0 +18 312 0 +18 313 0 +18 314 0 +18 315 0 +18 316 0 +18 317 0 +18 318 0 +18 319 0 +18 320 0 +18 321 0 +18 322 0 +18 323 0 +18 324 0 +18 325 0 +18 326 0 +18 327 0 +18 328 0 +18 329 0 +18 330 0 +18 331 0 +18 332 0 +18 333 0 +18 334 0 +18 335 0 +18 336 0 +18 337 0 +18 338 0 +18 339 0 +18 340 0 +18 341 0 +18 342 0 +18 343 0 +18 344 0 +18 345 0 +18 346 0 +18 347 0 +18 348 0 +18 349 0 +18 350 0 +18 351 0 +18 352 0 +18 353 0 +18 354 0 +18 355 0 +18 356 0 +18 357 0 +18 358 0 +18 359 0 +18 360 0 +18 361 0 +18 362 0 +18 363 0 +18 364 0 +18 365 0 +18 366 0 +18 367 0 +18 368 0 +18 369 0 +18 370 0 +18 371 0 +18 372 0 +18 373 0 +18 374 0 +18 375 0 +18 376 0 +18 377 0 +18 378 0 +18 379 0 +18 380 0 +18 381 0 +18 382 0 +18 383 0 +19 20 4 +19 21 4 +19 22 4 +19 23 4 +19 24 4 +19 25 4 +19 26 4 +19 27 4 +19 28 4 +19 29 4 +19 30 4 +19 31 4 +19 32 4 +19 33 4 +19 34 4 +19 35 4 +19 36 4 +19 37 4 +19 38 4 +19 39 4 +19 40 4 +19 41 4 +19 42 4 +19 43 4 +19 44 4 +19 45 4 +19 46 4 +19 47 4 +19 48 4 +19 49 4 +19 50 4 +19 51 4 +19 52 4 +19 53 4 +19 54 4 +19 55 4 +19 56 4 +19 57 4 +19 58 4 +19 59 4 +19 60 4 +19 61 4 +19 62 4 +19 63 4 +19 64 4 +19 65 4 +19 66 4 +19 67 4 +19 68 4 +19 69 4 +19 70 4 +19 71 4 +19 72 4 +19 73 4 +19 74 4 +19 75 4 +19 76 4 +19 77 4 +19 78 4 +19 79 4 +19 80 4 +19 81 4 +19 82 4 +19 83 4 +19 84 4 +19 85 4 +19 86 4 +19 87 4 +19 88 4 +19 89 4 +19 90 4 +19 91 4 +19 92 4 +19 93 4 +19 94 4 +19 95 4 +19 96 4 +19 97 4 +19 98 4 +19 99 4 +19 100 4 +19 101 4 +19 102 4 +19 103 4 +19 104 4 +19 105 4 +19 106 4 +19 107 4 +19 108 4 +19 109 4 +19 110 4 +19 111 4 +19 112 4 +19 113 4 +19 114 4 +19 115 4 +19 116 4 +19 117 4 +19 118 4 +19 119 4 +19 120 4 +19 121 4 +19 122 4 +19 123 4 +19 124 4 +19 125 4 +19 126 4 +19 127 4 +19 128 4 +19 129 4 +19 130 4 +19 131 4 +19 132 4 +19 133 4 +19 134 4 +19 135 4 +19 136 4 +19 137 4 +19 138 4 +19 139 4 +19 140 4 +19 141 4 +19 142 4 +19 143 4 +19 144 4 +19 145 4 +19 146 4 +19 147 4 +19 148 4 +19 149 4 +19 150 4 +19 151 4 +19 152 4 +19 153 4 +19 154 4 +19 155 4 +19 156 4 +19 157 4 +19 158 4 +19 159 4 +19 160 4 +19 161 4 +19 162 4 +19 163 4 +19 164 4 +19 165 4 +19 166 4 +19 167 4 +19 168 4 +19 169 4 +19 170 4 +19 171 4 +19 172 4 +19 173 4 +19 174 4 +19 175 4 +19 176 4 +19 177 4 +19 178 4 +19 179 4 +19 180 4 +19 181 4 +19 182 4 +19 183 4 +19 184 4 +19 185 4 +19 186 4 +19 187 4 +19 188 4 +19 189 4 +19 190 4 +19 191 4 +19 192 0 +19 193 0 +19 194 0 +19 195 0 +19 196 0 +19 197 0 +19 198 0 +19 199 0 +19 200 0 +19 201 0 +19 202 0 +19 203 0 +19 204 0 +19 205 0 +19 206 0 +19 207 0 +19 208 0 +19 209 0 +19 210 0 +19 211 0 +19 212 0 +19 213 0 +19 214 0 +19 215 0 +19 216 0 +19 217 0 +19 218 0 +19 219 0 +19 220 0 +19 221 0 +19 222 0 +19 223 0 +19 224 0 +19 225 0 +19 226 0 +19 227 0 +19 228 0 +19 229 0 +19 230 0 +19 231 0 +19 232 0 +19 233 0 +19 234 0 +19 235 0 +19 236 0 +19 237 0 +19 238 0 +19 239 0 +19 240 0 +19 241 0 +19 242 0 +19 243 0 +19 244 0 +19 245 0 +19 246 0 +19 247 0 +19 248 0 +19 249 0 +19 250 0 +19 251 0 +19 252 0 +19 253 0 +19 254 0 +19 255 0 +19 256 0 +19 257 0 +19 258 0 +19 259 0 +19 260 0 +19 261 0 +19 262 0 +19 263 0 +19 264 0 +19 265 0 +19 266 0 +19 267 0 +19 268 0 +19 269 0 +19 270 0 +19 271 0 +19 272 0 +19 273 0 +19 274 0 +19 275 0 +19 276 0 +19 277 0 +19 278 0 +19 279 0 +19 280 0 +19 281 0 +19 282 0 +19 283 0 +19 284 0 +19 285 0 +19 286 0 +19 287 0 +19 288 0 +19 289 0 +19 290 0 +19 291 0 +19 292 0 +19 293 0 +19 294 0 +19 295 0 +19 296 0 +19 297 0 +19 298 0 +19 299 0 +19 300 0 +19 301 0 +19 302 0 +19 303 0 +19 304 0 +19 305 0 +19 306 0 +19 307 0 +19 308 0 +19 309 0 +19 310 0 +19 311 0 +19 312 0 +19 313 0 +19 314 0 +19 315 0 +19 316 0 +19 317 0 +19 318 0 +19 319 0 +19 320 0 +19 321 0 +19 322 0 +19 323 0 +19 324 0 +19 325 0 +19 326 0 +19 327 0 +19 328 0 +19 329 0 +19 330 0 +19 331 0 +19 332 0 +19 333 0 +19 334 0 +19 335 0 +19 336 0 +19 337 0 +19 338 0 +19 339 0 +19 340 0 +19 341 0 +19 342 0 +19 343 0 +19 344 0 +19 345 0 +19 346 0 +19 347 0 +19 348 0 +19 349 0 +19 350 0 +19 351 0 +19 352 0 +19 353 0 +19 354 0 +19 355 0 +19 356 0 +19 357 0 +19 358 0 +19 359 0 +19 360 0 +19 361 0 +19 362 0 +19 363 0 +19 364 0 +19 365 0 +19 366 0 +19 367 0 +19 368 0 +19 369 0 +19 370 0 +19 371 0 +19 372 0 +19 373 0 +19 374 0 +19 375 0 +19 376 0 +19 377 0 +19 378 0 +19 379 0 +19 380 0 +19 381 0 +19 382 0 +19 383 0 +20 21 4 +20 22 4 +20 23 4 +20 24 4 +20 25 4 +20 26 4 +20 27 4 +20 28 4 +20 29 4 +20 30 4 +20 31 4 +20 32 4 +20 33 4 +20 34 4 +20 35 4 +20 36 4 +20 37 4 +20 38 4 +20 39 4 +20 40 4 +20 41 4 +20 42 4 +20 43 4 +20 44 4 +20 45 4 +20 46 4 +20 47 4 +20 48 4 +20 49 4 +20 50 4 +20 51 4 +20 52 4 +20 53 4 +20 54 4 +20 55 4 +20 56 4 +20 57 4 +20 58 4 +20 59 4 +20 60 4 +20 61 4 +20 62 4 +20 63 4 +20 64 4 +20 65 4 +20 66 4 +20 67 4 +20 68 4 +20 69 4 +20 70 4 +20 71 4 +20 72 4 +20 73 4 +20 74 4 +20 75 4 +20 76 4 +20 77 4 +20 78 4 +20 79 4 +20 80 4 +20 81 4 +20 82 4 +20 83 4 +20 84 4 +20 85 4 +20 86 4 +20 87 4 +20 88 4 +20 89 4 +20 90 4 +20 91 4 +20 92 4 +20 93 4 +20 94 4 +20 95 4 +20 96 4 +20 97 4 +20 98 4 +20 99 4 +20 100 4 +20 101 4 +20 102 4 +20 103 4 +20 104 4 +20 105 4 +20 106 4 +20 107 4 +20 108 4 +20 109 4 +20 110 4 +20 111 4 +20 112 4 +20 113 4 +20 114 4 +20 115 4 +20 116 4 +20 117 4 +20 118 4 +20 119 4 +20 120 4 +20 121 4 +20 122 4 +20 123 4 +20 124 4 +20 125 4 +20 126 4 +20 127 4 +20 128 4 +20 129 4 +20 130 4 +20 131 4 +20 132 4 +20 133 4 +20 134 4 +20 135 4 +20 136 4 +20 137 4 +20 138 4 +20 139 4 +20 140 4 +20 141 4 +20 142 4 +20 143 4 +20 144 4 +20 145 4 +20 146 4 +20 147 4 +20 148 4 +20 149 4 +20 150 4 +20 151 4 +20 152 4 +20 153 4 +20 154 4 +20 155 4 +20 156 4 +20 157 4 +20 158 4 +20 159 4 +20 160 4 +20 161 4 +20 162 4 +20 163 4 +20 164 4 +20 165 4 +20 166 4 +20 167 4 +20 168 4 +20 169 4 +20 170 4 +20 171 4 +20 172 4 +20 173 4 +20 174 4 +20 175 4 +20 176 4 +20 177 4 +20 178 4 +20 179 4 +20 180 4 +20 181 4 +20 182 4 +20 183 4 +20 184 4 +20 185 4 +20 186 4 +20 187 4 +20 188 4 +20 189 4 +20 190 4 +20 191 4 +20 192 0 +20 193 0 +20 194 0 +20 195 0 +20 196 0 +20 197 0 +20 198 0 +20 199 0 +20 200 0 +20 201 0 +20 202 0 +20 203 0 +20 204 0 +20 205 0 +20 206 0 +20 207 0 +20 208 0 +20 209 0 +20 210 0 +20 211 0 +20 212 0 +20 213 0 +20 214 0 +20 215 0 +20 216 0 +20 217 0 +20 218 0 +20 219 0 +20 220 0 +20 221 0 +20 222 0 +20 223 0 +20 224 0 +20 225 0 +20 226 0 +20 227 0 +20 228 0 +20 229 0 +20 230 0 +20 231 0 +20 232 0 +20 233 0 +20 234 0 +20 235 0 +20 236 0 +20 237 0 +20 238 0 +20 239 0 +20 240 0 +20 241 0 +20 242 0 +20 243 0 +20 244 0 +20 245 0 +20 246 0 +20 247 0 +20 248 0 +20 249 0 +20 250 0 +20 251 0 +20 252 0 +20 253 0 +20 254 0 +20 255 0 +20 256 0 +20 257 0 +20 258 0 +20 259 0 +20 260 0 +20 261 0 +20 262 0 +20 263 0 +20 264 0 +20 265 0 +20 266 0 +20 267 0 +20 268 0 +20 269 0 +20 270 0 +20 271 0 +20 272 0 +20 273 0 +20 274 0 +20 275 0 +20 276 0 +20 277 0 +20 278 0 +20 279 0 +20 280 0 +20 281 0 +20 282 0 +20 283 0 +20 284 0 +20 285 0 +20 286 0 +20 287 0 +20 288 0 +20 289 0 +20 290 0 +20 291 0 +20 292 0 +20 293 0 +20 294 0 +20 295 0 +20 296 0 +20 297 0 +20 298 0 +20 299 0 +20 300 0 +20 301 0 +20 302 0 +20 303 0 +20 304 0 +20 305 0 +20 306 0 +20 307 0 +20 308 0 +20 309 0 +20 310 0 +20 311 0 +20 312 0 +20 313 0 +20 314 0 +20 315 0 +20 316 0 +20 317 0 +20 318 0 +20 319 0 +20 320 0 +20 321 0 +20 322 0 +20 323 0 +20 324 0 +20 325 0 +20 326 0 +20 327 0 +20 328 0 +20 329 0 +20 330 0 +20 331 0 +20 332 0 +20 333 0 +20 334 0 +20 335 0 +20 336 0 +20 337 0 +20 338 0 +20 339 0 +20 340 0 +20 341 0 +20 342 0 +20 343 0 +20 344 0 +20 345 0 +20 346 0 +20 347 0 +20 348 0 +20 349 0 +20 350 0 +20 351 0 +20 352 0 +20 353 0 +20 354 0 +20 355 0 +20 356 0 +20 357 0 +20 358 0 +20 359 0 +20 360 0 +20 361 0 +20 362 0 +20 363 0 +20 364 0 +20 365 0 +20 366 0 +20 367 0 +20 368 0 +20 369 0 +20 370 0 +20 371 0 +20 372 0 +20 373 0 +20 374 0 +20 375 0 +20 376 0 +20 377 0 +20 378 0 +20 379 0 +20 380 0 +20 381 0 +20 382 0 +20 383 0 +21 22 4 +21 23 4 +21 24 4 +21 25 4 +21 26 4 +21 27 4 +21 28 4 +21 29 4 +21 30 4 +21 31 4 +21 32 4 +21 33 4 +21 34 4 +21 35 4 +21 36 4 +21 37 4 +21 38 4 +21 39 4 +21 40 4 +21 41 4 +21 42 4 +21 43 4 +21 44 4 +21 45 4 +21 46 4 +21 47 4 +21 48 4 +21 49 4 +21 50 4 +21 51 4 +21 52 4 +21 53 4 +21 54 4 +21 55 4 +21 56 4 +21 57 4 +21 58 4 +21 59 4 +21 60 4 +21 61 4 +21 62 4 +21 63 4 +21 64 4 +21 65 4 +21 66 4 +21 67 4 +21 68 4 +21 69 4 +21 70 4 +21 71 4 +21 72 4 +21 73 4 +21 74 4 +21 75 4 +21 76 4 +21 77 4 +21 78 4 +21 79 4 +21 80 4 +21 81 4 +21 82 4 +21 83 4 +21 84 4 +21 85 4 +21 86 4 +21 87 4 +21 88 4 +21 89 4 +21 90 4 +21 91 4 +21 92 4 +21 93 4 +21 94 4 +21 95 4 +21 96 4 +21 97 4 +21 98 4 +21 99 4 +21 100 4 +21 101 4 +21 102 4 +21 103 4 +21 104 4 +21 105 4 +21 106 4 +21 107 4 +21 108 4 +21 109 4 +21 110 4 +21 111 4 +21 112 4 +21 113 4 +21 114 4 +21 115 4 +21 116 4 +21 117 4 +21 118 4 +21 119 4 +21 120 4 +21 121 4 +21 122 4 +21 123 4 +21 124 4 +21 125 4 +21 126 4 +21 127 4 +21 128 4 +21 129 4 +21 130 4 +21 131 4 +21 132 4 +21 133 4 +21 134 4 +21 135 4 +21 136 4 +21 137 4 +21 138 4 +21 139 4 +21 140 4 +21 141 4 +21 142 4 +21 143 4 +21 144 4 +21 145 4 +21 146 4 +21 147 4 +21 148 4 +21 149 4 +21 150 4 +21 151 4 +21 152 4 +21 153 4 +21 154 4 +21 155 4 +21 156 4 +21 157 4 +21 158 4 +21 159 4 +21 160 4 +21 161 4 +21 162 4 +21 163 4 +21 164 4 +21 165 4 +21 166 4 +21 167 4 +21 168 4 +21 169 4 +21 170 4 +21 171 4 +21 172 4 +21 173 4 +21 174 4 +21 175 4 +21 176 4 +21 177 4 +21 178 4 +21 179 4 +21 180 4 +21 181 4 +21 182 4 +21 183 4 +21 184 4 +21 185 4 +21 186 4 +21 187 4 +21 188 4 +21 189 4 +21 190 4 +21 191 4 +21 192 0 +21 193 0 +21 194 0 +21 195 0 +21 196 0 +21 197 0 +21 198 0 +21 199 0 +21 200 0 +21 201 0 +21 202 0 +21 203 0 +21 204 0 +21 205 0 +21 206 0 +21 207 0 +21 208 0 +21 209 0 +21 210 0 +21 211 0 +21 212 0 +21 213 0 +21 214 0 +21 215 0 +21 216 0 +21 217 0 +21 218 0 +21 219 0 +21 220 0 +21 221 0 +21 222 0 +21 223 0 +21 224 0 +21 225 0 +21 226 0 +21 227 0 +21 228 0 +21 229 0 +21 230 0 +21 231 0 +21 232 0 +21 233 0 +21 234 0 +21 235 0 +21 236 0 +21 237 0 +21 238 0 +21 239 0 +21 240 0 +21 241 0 +21 242 0 +21 243 0 +21 244 0 +21 245 0 +21 246 0 +21 247 0 +21 248 0 +21 249 0 +21 250 0 +21 251 0 +21 252 0 +21 253 0 +21 254 0 +21 255 0 +21 256 0 +21 257 0 +21 258 0 +21 259 0 +21 260 0 +21 261 0 +21 262 0 +21 263 0 +21 264 0 +21 265 0 +21 266 0 +21 267 0 +21 268 0 +21 269 0 +21 270 0 +21 271 0 +21 272 0 +21 273 0 +21 274 0 +21 275 0 +21 276 0 +21 277 0 +21 278 0 +21 279 0 +21 280 0 +21 281 0 +21 282 0 +21 283 0 +21 284 0 +21 285 0 +21 286 0 +21 287 0 +21 288 0 +21 289 0 +21 290 0 +21 291 0 +21 292 0 +21 293 0 +21 294 0 +21 295 0 +21 296 0 +21 297 0 +21 298 0 +21 299 0 +21 300 0 +21 301 0 +21 302 0 +21 303 0 +21 304 0 +21 305 0 +21 306 0 +21 307 0 +21 308 0 +21 309 0 +21 310 0 +21 311 0 +21 312 0 +21 313 0 +21 314 0 +21 315 0 +21 316 0 +21 317 0 +21 318 0 +21 319 0 +21 320 0 +21 321 0 +21 322 0 +21 323 0 +21 324 0 +21 325 0 +21 326 0 +21 327 0 +21 328 0 +21 329 0 +21 330 0 +21 331 0 +21 332 0 +21 333 0 +21 334 0 +21 335 0 +21 336 0 +21 337 0 +21 338 0 +21 339 0 +21 340 0 +21 341 0 +21 342 0 +21 343 0 +21 344 0 +21 345 0 +21 346 0 +21 347 0 +21 348 0 +21 349 0 +21 350 0 +21 351 0 +21 352 0 +21 353 0 +21 354 0 +21 355 0 +21 356 0 +21 357 0 +21 358 0 +21 359 0 +21 360 0 +21 361 0 +21 362 0 +21 363 0 +21 364 0 +21 365 0 +21 366 0 +21 367 0 +21 368 0 +21 369 0 +21 370 0 +21 371 0 +21 372 0 +21 373 0 +21 374 0 +21 375 0 +21 376 0 +21 377 0 +21 378 0 +21 379 0 +21 380 0 +21 381 0 +21 382 0 +21 383 0 +22 23 4 +22 24 4 +22 25 4 +22 26 4 +22 27 4 +22 28 4 +22 29 4 +22 30 4 +22 31 4 +22 32 4 +22 33 4 +22 34 4 +22 35 4 +22 36 4 +22 37 4 +22 38 4 +22 39 4 +22 40 4 +22 41 4 +22 42 4 +22 43 4 +22 44 4 +22 45 4 +22 46 4 +22 47 4 +22 48 4 +22 49 4 +22 50 4 +22 51 4 +22 52 4 +22 53 4 +22 54 4 +22 55 4 +22 56 4 +22 57 4 +22 58 4 +22 59 4 +22 60 4 +22 61 4 +22 62 4 +22 63 4 +22 64 4 +22 65 4 +22 66 4 +22 67 4 +22 68 4 +22 69 4 +22 70 4 +22 71 4 +22 72 4 +22 73 4 +22 74 4 +22 75 4 +22 76 4 +22 77 4 +22 78 4 +22 79 4 +22 80 4 +22 81 4 +22 82 4 +22 83 4 +22 84 4 +22 85 4 +22 86 4 +22 87 4 +22 88 4 +22 89 4 +22 90 4 +22 91 4 +22 92 4 +22 93 4 +22 94 4 +22 95 4 +22 96 4 +22 97 4 +22 98 4 +22 99 4 +22 100 4 +22 101 4 +22 102 4 +22 103 4 +22 104 4 +22 105 4 +22 106 4 +22 107 4 +22 108 4 +22 109 4 +22 110 4 +22 111 4 +22 112 4 +22 113 4 +22 114 4 +22 115 4 +22 116 4 +22 117 4 +22 118 4 +22 119 4 +22 120 4 +22 121 4 +22 122 4 +22 123 4 +22 124 4 +22 125 4 +22 126 4 +22 127 4 +22 128 4 +22 129 4 +22 130 4 +22 131 4 +22 132 4 +22 133 4 +22 134 4 +22 135 4 +22 136 4 +22 137 4 +22 138 4 +22 139 4 +22 140 4 +22 141 4 +22 142 4 +22 143 4 +22 144 4 +22 145 4 +22 146 4 +22 147 4 +22 148 4 +22 149 4 +22 150 4 +22 151 4 +22 152 4 +22 153 4 +22 154 4 +22 155 4 +22 156 4 +22 157 4 +22 158 4 +22 159 4 +22 160 4 +22 161 4 +22 162 4 +22 163 4 +22 164 4 +22 165 4 +22 166 4 +22 167 4 +22 168 4 +22 169 4 +22 170 4 +22 171 4 +22 172 4 +22 173 4 +22 174 4 +22 175 4 +22 176 4 +22 177 4 +22 178 4 +22 179 4 +22 180 4 +22 181 4 +22 182 4 +22 183 4 +22 184 4 +22 185 4 +22 186 4 +22 187 4 +22 188 4 +22 189 4 +22 190 4 +22 191 4 +22 192 0 +22 193 0 +22 194 0 +22 195 0 +22 196 0 +22 197 0 +22 198 0 +22 199 0 +22 200 0 +22 201 0 +22 202 0 +22 203 0 +22 204 0 +22 205 0 +22 206 0 +22 207 0 +22 208 0 +22 209 0 +22 210 0 +22 211 0 +22 212 0 +22 213 0 +22 214 0 +22 215 0 +22 216 0 +22 217 0 +22 218 0 +22 219 0 +22 220 0 +22 221 0 +22 222 0 +22 223 0 +22 224 0 +22 225 0 +22 226 0 +22 227 0 +22 228 0 +22 229 0 +22 230 0 +22 231 0 +22 232 0 +22 233 0 +22 234 0 +22 235 0 +22 236 0 +22 237 0 +22 238 0 +22 239 0 +22 240 0 +22 241 0 +22 242 0 +22 243 0 +22 244 0 +22 245 0 +22 246 0 +22 247 0 +22 248 0 +22 249 0 +22 250 0 +22 251 0 +22 252 0 +22 253 0 +22 254 0 +22 255 0 +22 256 0 +22 257 0 +22 258 0 +22 259 0 +22 260 0 +22 261 0 +22 262 0 +22 263 0 +22 264 0 +22 265 0 +22 266 0 +22 267 0 +22 268 0 +22 269 0 +22 270 0 +22 271 0 +22 272 0 +22 273 0 +22 274 0 +22 275 0 +22 276 0 +22 277 0 +22 278 0 +22 279 0 +22 280 0 +22 281 0 +22 282 0 +22 283 0 +22 284 0 +22 285 0 +22 286 0 +22 287 0 +22 288 0 +22 289 0 +22 290 0 +22 291 0 +22 292 0 +22 293 0 +22 294 0 +22 295 0 +22 296 0 +22 297 0 +22 298 0 +22 299 0 +22 300 0 +22 301 0 +22 302 0 +22 303 0 +22 304 0 +22 305 0 +22 306 0 +22 307 0 +22 308 0 +22 309 0 +22 310 0 +22 311 0 +22 312 0 +22 313 0 +22 314 0 +22 315 0 +22 316 0 +22 317 0 +22 318 0 +22 319 0 +22 320 0 +22 321 0 +22 322 0 +22 323 0 +22 324 0 +22 325 0 +22 326 0 +22 327 0 +22 328 0 +22 329 0 +22 330 0 +22 331 0 +22 332 0 +22 333 0 +22 334 0 +22 335 0 +22 336 0 +22 337 0 +22 338 0 +22 339 0 +22 340 0 +22 341 0 +22 342 0 +22 343 0 +22 344 0 +22 345 0 +22 346 0 +22 347 0 +22 348 0 +22 349 0 +22 350 0 +22 351 0 +22 352 0 +22 353 0 +22 354 0 +22 355 0 +22 356 0 +22 357 0 +22 358 0 +22 359 0 +22 360 0 +22 361 0 +22 362 0 +22 363 0 +22 364 0 +22 365 0 +22 366 0 +22 367 0 +22 368 0 +22 369 0 +22 370 0 +22 371 0 +22 372 0 +22 373 0 +22 374 0 +22 375 0 +22 376 0 +22 377 0 +22 378 0 +22 379 0 +22 380 0 +22 381 0 +22 382 0 +22 383 0 +23 24 4 +23 25 4 +23 26 4 +23 27 4 +23 28 4 +23 29 4 +23 30 4 +23 31 4 +23 32 4 +23 33 4 +23 34 4 +23 35 4 +23 36 4 +23 37 4 +23 38 4 +23 39 4 +23 40 4 +23 41 4 +23 42 4 +23 43 4 +23 44 4 +23 45 4 +23 46 4 +23 47 4 +23 48 4 +23 49 4 +23 50 4 +23 51 4 +23 52 4 +23 53 4 +23 54 4 +23 55 4 +23 56 4 +23 57 4 +23 58 4 +23 59 4 +23 60 4 +23 61 4 +23 62 4 +23 63 4 +23 64 4 +23 65 4 +23 66 4 +23 67 4 +23 68 4 +23 69 4 +23 70 4 +23 71 4 +23 72 4 +23 73 4 +23 74 4 +23 75 4 +23 76 4 +23 77 4 +23 78 4 +23 79 4 +23 80 4 +23 81 4 +23 82 4 +23 83 4 +23 84 4 +23 85 4 +23 86 4 +23 87 4 +23 88 4 +23 89 4 +23 90 4 +23 91 4 +23 92 4 +23 93 4 +23 94 4 +23 95 4 +23 96 4 +23 97 4 +23 98 4 +23 99 4 +23 100 4 +23 101 4 +23 102 4 +23 103 4 +23 104 4 +23 105 4 +23 106 4 +23 107 4 +23 108 4 +23 109 4 +23 110 4 +23 111 4 +23 112 4 +23 113 4 +23 114 4 +23 115 4 +23 116 4 +23 117 4 +23 118 4 +23 119 4 +23 120 4 +23 121 4 +23 122 4 +23 123 4 +23 124 4 +23 125 4 +23 126 4 +23 127 4 +23 128 4 +23 129 4 +23 130 4 +23 131 4 +23 132 4 +23 133 4 +23 134 4 +23 135 4 +23 136 4 +23 137 4 +23 138 4 +23 139 4 +23 140 4 +23 141 4 +23 142 4 +23 143 4 +23 144 4 +23 145 4 +23 146 4 +23 147 4 +23 148 4 +23 149 4 +23 150 4 +23 151 4 +23 152 4 +23 153 4 +23 154 4 +23 155 4 +23 156 4 +23 157 4 +23 158 4 +23 159 4 +23 160 4 +23 161 4 +23 162 4 +23 163 4 +23 164 4 +23 165 4 +23 166 4 +23 167 4 +23 168 4 +23 169 4 +23 170 4 +23 171 4 +23 172 4 +23 173 4 +23 174 4 +23 175 4 +23 176 4 +23 177 4 +23 178 4 +23 179 4 +23 180 4 +23 181 4 +23 182 4 +23 183 4 +23 184 4 +23 185 4 +23 186 4 +23 187 4 +23 188 4 +23 189 4 +23 190 4 +23 191 4 +23 192 0 +23 193 0 +23 194 0 +23 195 0 +23 196 0 +23 197 0 +23 198 0 +23 199 0 +23 200 0 +23 201 0 +23 202 0 +23 203 0 +23 204 0 +23 205 0 +23 206 0 +23 207 0 +23 208 0 +23 209 0 +23 210 0 +23 211 0 +23 212 0 +23 213 0 +23 214 0 +23 215 0 +23 216 0 +23 217 0 +23 218 0 +23 219 0 +23 220 0 +23 221 0 +23 222 0 +23 223 0 +23 224 0 +23 225 0 +23 226 0 +23 227 0 +23 228 0 +23 229 0 +23 230 0 +23 231 0 +23 232 0 +23 233 0 +23 234 0 +23 235 0 +23 236 0 +23 237 0 +23 238 0 +23 239 0 +23 240 0 +23 241 0 +23 242 0 +23 243 0 +23 244 0 +23 245 0 +23 246 0 +23 247 0 +23 248 0 +23 249 0 +23 250 0 +23 251 0 +23 252 0 +23 253 0 +23 254 0 +23 255 0 +23 256 0 +23 257 0 +23 258 0 +23 259 0 +23 260 0 +23 261 0 +23 262 0 +23 263 0 +23 264 0 +23 265 0 +23 266 0 +23 267 0 +23 268 0 +23 269 0 +23 270 0 +23 271 0 +23 272 0 +23 273 0 +23 274 0 +23 275 0 +23 276 0 +23 277 0 +23 278 0 +23 279 0 +23 280 0 +23 281 0 +23 282 0 +23 283 0 +23 284 0 +23 285 0 +23 286 0 +23 287 0 +23 288 0 +23 289 0 +23 290 0 +23 291 0 +23 292 0 +23 293 0 +23 294 0 +23 295 0 +23 296 0 +23 297 0 +23 298 0 +23 299 0 +23 300 0 +23 301 0 +23 302 0 +23 303 0 +23 304 0 +23 305 0 +23 306 0 +23 307 0 +23 308 0 +23 309 0 +23 310 0 +23 311 0 +23 312 0 +23 313 0 +23 314 0 +23 315 0 +23 316 0 +23 317 0 +23 318 0 +23 319 0 +23 320 0 +23 321 0 +23 322 0 +23 323 0 +23 324 0 +23 325 0 +23 326 0 +23 327 0 +23 328 0 +23 329 0 +23 330 0 +23 331 0 +23 332 0 +23 333 0 +23 334 0 +23 335 0 +23 336 0 +23 337 0 +23 338 0 +23 339 0 +23 340 0 +23 341 0 +23 342 0 +23 343 0 +23 344 0 +23 345 0 +23 346 0 +23 347 0 +23 348 0 +23 349 0 +23 350 0 +23 351 0 +23 352 0 +23 353 0 +23 354 0 +23 355 0 +23 356 0 +23 357 0 +23 358 0 +23 359 0 +23 360 0 +23 361 0 +23 362 0 +23 363 0 +23 364 0 +23 365 0 +23 366 0 +23 367 0 +23 368 0 +23 369 0 +23 370 0 +23 371 0 +23 372 0 +23 373 0 +23 374 0 +23 375 0 +23 376 0 +23 377 0 +23 378 0 +23 379 0 +23 380 0 +23 381 0 +23 382 0 +23 383 0 +24 25 4 +24 26 4 +24 27 4 +24 28 4 +24 29 4 +24 30 4 +24 31 4 +24 32 4 +24 33 4 +24 34 4 +24 35 4 +24 36 4 +24 37 4 +24 38 4 +24 39 4 +24 40 4 +24 41 4 +24 42 4 +24 43 4 +24 44 4 +24 45 4 +24 46 4 +24 47 4 +24 48 4 +24 49 4 +24 50 4 +24 51 4 +24 52 4 +24 53 4 +24 54 4 +24 55 4 +24 56 4 +24 57 4 +24 58 4 +24 59 4 +24 60 4 +24 61 4 +24 62 4 +24 63 4 +24 64 4 +24 65 4 +24 66 4 +24 67 4 +24 68 4 +24 69 4 +24 70 4 +24 71 4 +24 72 4 +24 73 4 +24 74 4 +24 75 4 +24 76 4 +24 77 4 +24 78 4 +24 79 4 +24 80 4 +24 81 4 +24 82 4 +24 83 4 +24 84 4 +24 85 4 +24 86 4 +24 87 4 +24 88 4 +24 89 4 +24 90 4 +24 91 4 +24 92 4 +24 93 4 +24 94 4 +24 95 4 +24 96 4 +24 97 4 +24 98 4 +24 99 4 +24 100 4 +24 101 4 +24 102 4 +24 103 4 +24 104 4 +24 105 4 +24 106 4 +24 107 4 +24 108 4 +24 109 4 +24 110 4 +24 111 4 +24 112 4 +24 113 4 +24 114 4 +24 115 4 +24 116 4 +24 117 4 +24 118 4 +24 119 4 +24 120 4 +24 121 4 +24 122 4 +24 123 4 +24 124 4 +24 125 4 +24 126 4 +24 127 4 +24 128 4 +24 129 4 +24 130 4 +24 131 4 +24 132 4 +24 133 4 +24 134 4 +24 135 4 +24 136 4 +24 137 4 +24 138 4 +24 139 4 +24 140 4 +24 141 4 +24 142 4 +24 143 4 +24 144 4 +24 145 4 +24 146 4 +24 147 4 +24 148 4 +24 149 4 +24 150 4 +24 151 4 +24 152 4 +24 153 4 +24 154 4 +24 155 4 +24 156 4 +24 157 4 +24 158 4 +24 159 4 +24 160 4 +24 161 4 +24 162 4 +24 163 4 +24 164 4 +24 165 4 +24 166 4 +24 167 4 +24 168 4 +24 169 4 +24 170 4 +24 171 4 +24 172 4 +24 173 4 +24 174 4 +24 175 4 +24 176 4 +24 177 4 +24 178 4 +24 179 4 +24 180 4 +24 181 4 +24 182 4 +24 183 4 +24 184 4 +24 185 4 +24 186 4 +24 187 4 +24 188 4 +24 189 4 +24 190 4 +24 191 4 +24 192 0 +24 193 0 +24 194 0 +24 195 0 +24 196 0 +24 197 0 +24 198 0 +24 199 0 +24 200 0 +24 201 0 +24 202 0 +24 203 0 +24 204 0 +24 205 0 +24 206 0 +24 207 0 +24 208 0 +24 209 0 +24 210 0 +24 211 0 +24 212 0 +24 213 0 +24 214 0 +24 215 0 +24 216 0 +24 217 0 +24 218 0 +24 219 0 +24 220 0 +24 221 0 +24 222 0 +24 223 0 +24 224 0 +24 225 0 +24 226 0 +24 227 0 +24 228 0 +24 229 0 +24 230 0 +24 231 0 +24 232 0 +24 233 0 +24 234 0 +24 235 0 +24 236 0 +24 237 0 +24 238 0 +24 239 0 +24 240 0 +24 241 0 +24 242 0 +24 243 0 +24 244 0 +24 245 0 +24 246 0 +24 247 0 +24 248 0 +24 249 0 +24 250 0 +24 251 0 +24 252 0 +24 253 0 +24 254 0 +24 255 0 +24 256 0 +24 257 0 +24 258 0 +24 259 0 +24 260 0 +24 261 0 +24 262 0 +24 263 0 +24 264 0 +24 265 0 +24 266 0 +24 267 0 +24 268 0 +24 269 0 +24 270 0 +24 271 0 +24 272 0 +24 273 0 +24 274 0 +24 275 0 +24 276 0 +24 277 0 +24 278 0 +24 279 0 +24 280 0 +24 281 0 +24 282 0 +24 283 0 +24 284 0 +24 285 0 +24 286 0 +24 287 0 +24 288 0 +24 289 0 +24 290 0 +24 291 0 +24 292 0 +24 293 0 +24 294 0 +24 295 0 +24 296 0 +24 297 0 +24 298 0 +24 299 0 +24 300 0 +24 301 0 +24 302 0 +24 303 0 +24 304 0 +24 305 0 +24 306 0 +24 307 0 +24 308 0 +24 309 0 +24 310 0 +24 311 0 +24 312 0 +24 313 0 +24 314 0 +24 315 0 +24 316 0 +24 317 0 +24 318 0 +24 319 0 +24 320 0 +24 321 0 +24 322 0 +24 323 0 +24 324 0 +24 325 0 +24 326 0 +24 327 0 +24 328 0 +24 329 0 +24 330 0 +24 331 0 +24 332 0 +24 333 0 +24 334 0 +24 335 0 +24 336 0 +24 337 0 +24 338 0 +24 339 0 +24 340 0 +24 341 0 +24 342 0 +24 343 0 +24 344 0 +24 345 0 +24 346 0 +24 347 0 +24 348 0 +24 349 0 +24 350 0 +24 351 0 +24 352 0 +24 353 0 +24 354 0 +24 355 0 +24 356 0 +24 357 0 +24 358 0 +24 359 0 +24 360 0 +24 361 0 +24 362 0 +24 363 0 +24 364 0 +24 365 0 +24 366 0 +24 367 0 +24 368 0 +24 369 0 +24 370 0 +24 371 0 +24 372 0 +24 373 0 +24 374 0 +24 375 0 +24 376 0 +24 377 0 +24 378 0 +24 379 0 +24 380 0 +24 381 0 +24 382 0 +24 383 0 +25 26 4 +25 27 4 +25 28 4 +25 29 4 +25 30 4 +25 31 4 +25 32 4 +25 33 4 +25 34 4 +25 35 4 +25 36 4 +25 37 4 +25 38 4 +25 39 4 +25 40 4 +25 41 4 +25 42 4 +25 43 4 +25 44 4 +25 45 4 +25 46 4 +25 47 4 +25 48 4 +25 49 4 +25 50 4 +25 51 4 +25 52 4 +25 53 4 +25 54 4 +25 55 4 +25 56 4 +25 57 4 +25 58 4 +25 59 4 +25 60 4 +25 61 4 +25 62 4 +25 63 4 +25 64 4 +25 65 4 +25 66 4 +25 67 4 +25 68 4 +25 69 4 +25 70 4 +25 71 4 +25 72 4 +25 73 4 +25 74 4 +25 75 4 +25 76 4 +25 77 4 +25 78 4 +25 79 4 +25 80 4 +25 81 4 +25 82 4 +25 83 4 +25 84 4 +25 85 4 +25 86 4 +25 87 4 +25 88 4 +25 89 4 +25 90 4 +25 91 4 +25 92 4 +25 93 4 +25 94 4 +25 95 4 +25 96 4 +25 97 4 +25 98 4 +25 99 4 +25 100 4 +25 101 4 +25 102 4 +25 103 4 +25 104 4 +25 105 4 +25 106 4 +25 107 4 +25 108 4 +25 109 4 +25 110 4 +25 111 4 +25 112 4 +25 113 4 +25 114 4 +25 115 4 +25 116 4 +25 117 4 +25 118 4 +25 119 4 +25 120 4 +25 121 4 +25 122 4 +25 123 4 +25 124 4 +25 125 4 +25 126 4 +25 127 4 +25 128 4 +25 129 4 +25 130 4 +25 131 4 +25 132 4 +25 133 4 +25 134 4 +25 135 4 +25 136 4 +25 137 4 +25 138 4 +25 139 4 +25 140 4 +25 141 4 +25 142 4 +25 143 4 +25 144 4 +25 145 4 +25 146 4 +25 147 4 +25 148 4 +25 149 4 +25 150 4 +25 151 4 +25 152 4 +25 153 4 +25 154 4 +25 155 4 +25 156 4 +25 157 4 +25 158 4 +25 159 4 +25 160 4 +25 161 4 +25 162 4 +25 163 4 +25 164 4 +25 165 4 +25 166 4 +25 167 4 +25 168 4 +25 169 4 +25 170 4 +25 171 4 +25 172 4 +25 173 4 +25 174 4 +25 175 4 +25 176 4 +25 177 4 +25 178 4 +25 179 4 +25 180 4 +25 181 4 +25 182 4 +25 183 4 +25 184 4 +25 185 4 +25 186 4 +25 187 4 +25 188 4 +25 189 4 +25 190 4 +25 191 4 +25 192 0 +25 193 0 +25 194 0 +25 195 0 +25 196 0 +25 197 0 +25 198 0 +25 199 0 +25 200 0 +25 201 0 +25 202 0 +25 203 0 +25 204 0 +25 205 0 +25 206 0 +25 207 0 +25 208 0 +25 209 0 +25 210 0 +25 211 0 +25 212 0 +25 213 0 +25 214 0 +25 215 0 +25 216 0 +25 217 0 +25 218 0 +25 219 0 +25 220 0 +25 221 0 +25 222 0 +25 223 0 +25 224 0 +25 225 0 +25 226 0 +25 227 0 +25 228 0 +25 229 0 +25 230 0 +25 231 0 +25 232 0 +25 233 0 +25 234 0 +25 235 0 +25 236 0 +25 237 0 +25 238 0 +25 239 0 +25 240 0 +25 241 0 +25 242 0 +25 243 0 +25 244 0 +25 245 0 +25 246 0 +25 247 0 +25 248 0 +25 249 0 +25 250 0 +25 251 0 +25 252 0 +25 253 0 +25 254 0 +25 255 0 +25 256 0 +25 257 0 +25 258 0 +25 259 0 +25 260 0 +25 261 0 +25 262 0 +25 263 0 +25 264 0 +25 265 0 +25 266 0 +25 267 0 +25 268 0 +25 269 0 +25 270 0 +25 271 0 +25 272 0 +25 273 0 +25 274 0 +25 275 0 +25 276 0 +25 277 0 +25 278 0 +25 279 0 +25 280 0 +25 281 0 +25 282 0 +25 283 0 +25 284 0 +25 285 0 +25 286 0 +25 287 0 +25 288 0 +25 289 0 +25 290 0 +25 291 0 +25 292 0 +25 293 0 +25 294 0 +25 295 0 +25 296 0 +25 297 0 +25 298 0 +25 299 0 +25 300 0 +25 301 0 +25 302 0 +25 303 0 +25 304 0 +25 305 0 +25 306 0 +25 307 0 +25 308 0 +25 309 0 +25 310 0 +25 311 0 +25 312 0 +25 313 0 +25 314 0 +25 315 0 +25 316 0 +25 317 0 +25 318 0 +25 319 0 +25 320 0 +25 321 0 +25 322 0 +25 323 0 +25 324 0 +25 325 0 +25 326 0 +25 327 0 +25 328 0 +25 329 0 +25 330 0 +25 331 0 +25 332 0 +25 333 0 +25 334 0 +25 335 0 +25 336 0 +25 337 0 +25 338 0 +25 339 0 +25 340 0 +25 341 0 +25 342 0 +25 343 0 +25 344 0 +25 345 0 +25 346 0 +25 347 0 +25 348 0 +25 349 0 +25 350 0 +25 351 0 +25 352 0 +25 353 0 +25 354 0 +25 355 0 +25 356 0 +25 357 0 +25 358 0 +25 359 0 +25 360 0 +25 361 0 +25 362 0 +25 363 0 +25 364 0 +25 365 0 +25 366 0 +25 367 0 +25 368 0 +25 369 0 +25 370 0 +25 371 0 +25 372 0 +25 373 0 +25 374 0 +25 375 0 +25 376 0 +25 377 0 +25 378 0 +25 379 0 +25 380 0 +25 381 0 +25 382 0 +25 383 0 +26 27 4 +26 28 4 +26 29 4 +26 30 4 +26 31 4 +26 32 4 +26 33 4 +26 34 4 +26 35 4 +26 36 4 +26 37 4 +26 38 4 +26 39 4 +26 40 4 +26 41 4 +26 42 4 +26 43 4 +26 44 4 +26 45 4 +26 46 4 +26 47 4 +26 48 4 +26 49 4 +26 50 4 +26 51 4 +26 52 4 +26 53 4 +26 54 4 +26 55 4 +26 56 4 +26 57 4 +26 58 4 +26 59 4 +26 60 4 +26 61 4 +26 62 4 +26 63 4 +26 64 4 +26 65 4 +26 66 4 +26 67 4 +26 68 4 +26 69 4 +26 70 4 +26 71 4 +26 72 4 +26 73 4 +26 74 4 +26 75 4 +26 76 4 +26 77 4 +26 78 4 +26 79 4 +26 80 4 +26 81 4 +26 82 4 +26 83 4 +26 84 4 +26 85 4 +26 86 4 +26 87 4 +26 88 4 +26 89 4 +26 90 4 +26 91 4 +26 92 4 +26 93 4 +26 94 4 +26 95 4 +26 96 4 +26 97 4 +26 98 4 +26 99 4 +26 100 4 +26 101 4 +26 102 4 +26 103 4 +26 104 4 +26 105 4 +26 106 4 +26 107 4 +26 108 4 +26 109 4 +26 110 4 +26 111 4 +26 112 4 +26 113 4 +26 114 4 +26 115 4 +26 116 4 +26 117 4 +26 118 4 +26 119 4 +26 120 4 +26 121 4 +26 122 4 +26 123 4 +26 124 4 +26 125 4 +26 126 4 +26 127 4 +26 128 4 +26 129 4 +26 130 4 +26 131 4 +26 132 4 +26 133 4 +26 134 4 +26 135 4 +26 136 4 +26 137 4 +26 138 4 +26 139 4 +26 140 4 +26 141 4 +26 142 4 +26 143 4 +26 144 4 +26 145 4 +26 146 4 +26 147 4 +26 148 4 +26 149 4 +26 150 4 +26 151 4 +26 152 4 +26 153 4 +26 154 4 +26 155 4 +26 156 4 +26 157 4 +26 158 4 +26 159 4 +26 160 4 +26 161 4 +26 162 4 +26 163 4 +26 164 4 +26 165 4 +26 166 4 +26 167 4 +26 168 4 +26 169 4 +26 170 4 +26 171 4 +26 172 4 +26 173 4 +26 174 4 +26 175 4 +26 176 4 +26 177 4 +26 178 4 +26 179 4 +26 180 4 +26 181 4 +26 182 4 +26 183 4 +26 184 4 +26 185 4 +26 186 4 +26 187 4 +26 188 4 +26 189 4 +26 190 4 +26 191 4 +26 192 0 +26 193 0 +26 194 0 +26 195 0 +26 196 0 +26 197 0 +26 198 0 +26 199 0 +26 200 0 +26 201 0 +26 202 0 +26 203 0 +26 204 0 +26 205 0 +26 206 0 +26 207 0 +26 208 0 +26 209 0 +26 210 0 +26 211 0 +26 212 0 +26 213 0 +26 214 0 +26 215 0 +26 216 0 +26 217 0 +26 218 0 +26 219 0 +26 220 0 +26 221 0 +26 222 0 +26 223 0 +26 224 0 +26 225 0 +26 226 0 +26 227 0 +26 228 0 +26 229 0 +26 230 0 +26 231 0 +26 232 0 +26 233 0 +26 234 0 +26 235 0 +26 236 0 +26 237 0 +26 238 0 +26 239 0 +26 240 0 +26 241 0 +26 242 0 +26 243 0 +26 244 0 +26 245 0 +26 246 0 +26 247 0 +26 248 0 +26 249 0 +26 250 0 +26 251 0 +26 252 0 +26 253 0 +26 254 0 +26 255 0 +26 256 0 +26 257 0 +26 258 0 +26 259 0 +26 260 0 +26 261 0 +26 262 0 +26 263 0 +26 264 0 +26 265 0 +26 266 0 +26 267 0 +26 268 0 +26 269 0 +26 270 0 +26 271 0 +26 272 0 +26 273 0 +26 274 0 +26 275 0 +26 276 0 +26 277 0 +26 278 0 +26 279 0 +26 280 0 +26 281 0 +26 282 0 +26 283 0 +26 284 0 +26 285 0 +26 286 0 +26 287 0 +26 288 0 +26 289 0 +26 290 0 +26 291 0 +26 292 0 +26 293 0 +26 294 0 +26 295 0 +26 296 0 +26 297 0 +26 298 0 +26 299 0 +26 300 0 +26 301 0 +26 302 0 +26 303 0 +26 304 0 +26 305 0 +26 306 0 +26 307 0 +26 308 0 +26 309 0 +26 310 0 +26 311 0 +26 312 0 +26 313 0 +26 314 0 +26 315 0 +26 316 0 +26 317 0 +26 318 0 +26 319 0 +26 320 0 +26 321 0 +26 322 0 +26 323 0 +26 324 0 +26 325 0 +26 326 0 +26 327 0 +26 328 0 +26 329 0 +26 330 0 +26 331 0 +26 332 0 +26 333 0 +26 334 0 +26 335 0 +26 336 0 +26 337 0 +26 338 0 +26 339 0 +26 340 0 +26 341 0 +26 342 0 +26 343 0 +26 344 0 +26 345 0 +26 346 0 +26 347 0 +26 348 0 +26 349 0 +26 350 0 +26 351 0 +26 352 0 +26 353 0 +26 354 0 +26 355 0 +26 356 0 +26 357 0 +26 358 0 +26 359 0 +26 360 0 +26 361 0 +26 362 0 +26 363 0 +26 364 0 +26 365 0 +26 366 0 +26 367 0 +26 368 0 +26 369 0 +26 370 0 +26 371 0 +26 372 0 +26 373 0 +26 374 0 +26 375 0 +26 376 0 +26 377 0 +26 378 0 +26 379 0 +26 380 0 +26 381 0 +26 382 0 +26 383 0 +27 28 4 +27 29 4 +27 30 4 +27 31 4 +27 32 4 +27 33 4 +27 34 4 +27 35 4 +27 36 4 +27 37 4 +27 38 4 +27 39 4 +27 40 4 +27 41 4 +27 42 4 +27 43 4 +27 44 4 +27 45 4 +27 46 4 +27 47 4 +27 48 4 +27 49 4 +27 50 4 +27 51 4 +27 52 4 +27 53 4 +27 54 4 +27 55 4 +27 56 4 +27 57 4 +27 58 4 +27 59 4 +27 60 4 +27 61 4 +27 62 4 +27 63 4 +27 64 4 +27 65 4 +27 66 4 +27 67 4 +27 68 4 +27 69 4 +27 70 4 +27 71 4 +27 72 4 +27 73 4 +27 74 4 +27 75 4 +27 76 4 +27 77 4 +27 78 4 +27 79 4 +27 80 4 +27 81 4 +27 82 4 +27 83 4 +27 84 4 +27 85 4 +27 86 4 +27 87 4 +27 88 4 +27 89 4 +27 90 4 +27 91 4 +27 92 4 +27 93 4 +27 94 4 +27 95 4 +27 96 4 +27 97 4 +27 98 4 +27 99 4 +27 100 4 +27 101 4 +27 102 4 +27 103 4 +27 104 4 +27 105 4 +27 106 4 +27 107 4 +27 108 4 +27 109 4 +27 110 4 +27 111 4 +27 112 4 +27 113 4 +27 114 4 +27 115 4 +27 116 4 +27 117 4 +27 118 4 +27 119 4 +27 120 4 +27 121 4 +27 122 4 +27 123 4 +27 124 4 +27 125 4 +27 126 4 +27 127 4 +27 128 4 +27 129 4 +27 130 4 +27 131 4 +27 132 4 +27 133 4 +27 134 4 +27 135 4 +27 136 4 +27 137 4 +27 138 4 +27 139 4 +27 140 4 +27 141 4 +27 142 4 +27 143 4 +27 144 4 +27 145 4 +27 146 4 +27 147 4 +27 148 4 +27 149 4 +27 150 4 +27 151 4 +27 152 4 +27 153 4 +27 154 4 +27 155 4 +27 156 4 +27 157 4 +27 158 4 +27 159 4 +27 160 4 +27 161 4 +27 162 4 +27 163 4 +27 164 4 +27 165 4 +27 166 4 +27 167 4 +27 168 4 +27 169 4 +27 170 4 +27 171 4 +27 172 4 +27 173 4 +27 174 4 +27 175 4 +27 176 4 +27 177 4 +27 178 4 +27 179 4 +27 180 4 +27 181 4 +27 182 4 +27 183 4 +27 184 4 +27 185 4 +27 186 4 +27 187 4 +27 188 4 +27 189 4 +27 190 4 +27 191 4 +27 192 0 +27 193 0 +27 194 0 +27 195 0 +27 196 0 +27 197 0 +27 198 0 +27 199 0 +27 200 0 +27 201 0 +27 202 0 +27 203 0 +27 204 0 +27 205 0 +27 206 0 +27 207 0 +27 208 0 +27 209 0 +27 210 0 +27 211 0 +27 212 0 +27 213 0 +27 214 0 +27 215 0 +27 216 0 +27 217 0 +27 218 0 +27 219 0 +27 220 0 +27 221 0 +27 222 0 +27 223 0 +27 224 0 +27 225 0 +27 226 0 +27 227 0 +27 228 0 +27 229 0 +27 230 0 +27 231 0 +27 232 0 +27 233 0 +27 234 0 +27 235 0 +27 236 0 +27 237 0 +27 238 0 +27 239 0 +27 240 0 +27 241 0 +27 242 0 +27 243 0 +27 244 0 +27 245 0 +27 246 0 +27 247 0 +27 248 0 +27 249 0 +27 250 0 +27 251 0 +27 252 0 +27 253 0 +27 254 0 +27 255 0 +27 256 0 +27 257 0 +27 258 0 +27 259 0 +27 260 0 +27 261 0 +27 262 0 +27 263 0 +27 264 0 +27 265 0 +27 266 0 +27 267 0 +27 268 0 +27 269 0 +27 270 0 +27 271 0 +27 272 0 +27 273 0 +27 274 0 +27 275 0 +27 276 0 +27 277 0 +27 278 0 +27 279 0 +27 280 0 +27 281 0 +27 282 0 +27 283 0 +27 284 0 +27 285 0 +27 286 0 +27 287 0 +27 288 0 +27 289 0 +27 290 0 +27 291 0 +27 292 0 +27 293 0 +27 294 0 +27 295 0 +27 296 0 +27 297 0 +27 298 0 +27 299 0 +27 300 0 +27 301 0 +27 302 0 +27 303 0 +27 304 0 +27 305 0 +27 306 0 +27 307 0 +27 308 0 +27 309 0 +27 310 0 +27 311 0 +27 312 0 +27 313 0 +27 314 0 +27 315 0 +27 316 0 +27 317 0 +27 318 0 +27 319 0 +27 320 0 +27 321 0 +27 322 0 +27 323 0 +27 324 0 +27 325 0 +27 326 0 +27 327 0 +27 328 0 +27 329 0 +27 330 0 +27 331 0 +27 332 0 +27 333 0 +27 334 0 +27 335 0 +27 336 0 +27 337 0 +27 338 0 +27 339 0 +27 340 0 +27 341 0 +27 342 0 +27 343 0 +27 344 0 +27 345 0 +27 346 0 +27 347 0 +27 348 0 +27 349 0 +27 350 0 +27 351 0 +27 352 0 +27 353 0 +27 354 0 +27 355 0 +27 356 0 +27 357 0 +27 358 0 +27 359 0 +27 360 0 +27 361 0 +27 362 0 +27 363 0 +27 364 0 +27 365 0 +27 366 0 +27 367 0 +27 368 0 +27 369 0 +27 370 0 +27 371 0 +27 372 0 +27 373 0 +27 374 0 +27 375 0 +27 376 0 +27 377 0 +27 378 0 +27 379 0 +27 380 0 +27 381 0 +27 382 0 +27 383 0 +28 29 4 +28 30 4 +28 31 4 +28 32 4 +28 33 4 +28 34 4 +28 35 4 +28 36 4 +28 37 4 +28 38 4 +28 39 4 +28 40 4 +28 41 4 +28 42 4 +28 43 4 +28 44 4 +28 45 4 +28 46 4 +28 47 4 +28 48 4 +28 49 4 +28 50 4 +28 51 4 +28 52 4 +28 53 4 +28 54 4 +28 55 4 +28 56 4 +28 57 4 +28 58 4 +28 59 4 +28 60 4 +28 61 4 +28 62 4 +28 63 4 +28 64 4 +28 65 4 +28 66 4 +28 67 4 +28 68 4 +28 69 4 +28 70 4 +28 71 4 +28 72 4 +28 73 4 +28 74 4 +28 75 4 +28 76 4 +28 77 4 +28 78 4 +28 79 4 +28 80 4 +28 81 4 +28 82 4 +28 83 4 +28 84 4 +28 85 4 +28 86 4 +28 87 4 +28 88 4 +28 89 4 +28 90 4 +28 91 4 +28 92 4 +28 93 4 +28 94 4 +28 95 4 +28 96 4 +28 97 4 +28 98 4 +28 99 4 +28 100 4 +28 101 4 +28 102 4 +28 103 4 +28 104 4 +28 105 4 +28 106 4 +28 107 4 +28 108 4 +28 109 4 +28 110 4 +28 111 4 +28 112 4 +28 113 4 +28 114 4 +28 115 4 +28 116 4 +28 117 4 +28 118 4 +28 119 4 +28 120 4 +28 121 4 +28 122 4 +28 123 4 +28 124 4 +28 125 4 +28 126 4 +28 127 4 +28 128 4 +28 129 4 +28 130 4 +28 131 4 +28 132 4 +28 133 4 +28 134 4 +28 135 4 +28 136 4 +28 137 4 +28 138 4 +28 139 4 +28 140 4 +28 141 4 +28 142 4 +28 143 4 +28 144 4 +28 145 4 +28 146 4 +28 147 4 +28 148 4 +28 149 4 +28 150 4 +28 151 4 +28 152 4 +28 153 4 +28 154 4 +28 155 4 +28 156 4 +28 157 4 +28 158 4 +28 159 4 +28 160 4 +28 161 4 +28 162 4 +28 163 4 +28 164 4 +28 165 4 +28 166 4 +28 167 4 +28 168 4 +28 169 4 +28 170 4 +28 171 4 +28 172 4 +28 173 4 +28 174 4 +28 175 4 +28 176 4 +28 177 4 +28 178 4 +28 179 4 +28 180 4 +28 181 4 +28 182 4 +28 183 4 +28 184 4 +28 185 4 +28 186 4 +28 187 4 +28 188 4 +28 189 4 +28 190 4 +28 191 4 +28 192 0 +28 193 0 +28 194 0 +28 195 0 +28 196 0 +28 197 0 +28 198 0 +28 199 0 +28 200 0 +28 201 0 +28 202 0 +28 203 0 +28 204 0 +28 205 0 +28 206 0 +28 207 0 +28 208 0 +28 209 0 +28 210 0 +28 211 0 +28 212 0 +28 213 0 +28 214 0 +28 215 0 +28 216 0 +28 217 0 +28 218 0 +28 219 0 +28 220 0 +28 221 0 +28 222 0 +28 223 0 +28 224 0 +28 225 0 +28 226 0 +28 227 0 +28 228 0 +28 229 0 +28 230 0 +28 231 0 +28 232 0 +28 233 0 +28 234 0 +28 235 0 +28 236 0 +28 237 0 +28 238 0 +28 239 0 +28 240 0 +28 241 0 +28 242 0 +28 243 0 +28 244 0 +28 245 0 +28 246 0 +28 247 0 +28 248 0 +28 249 0 +28 250 0 +28 251 0 +28 252 0 +28 253 0 +28 254 0 +28 255 0 +28 256 0 +28 257 0 +28 258 0 +28 259 0 +28 260 0 +28 261 0 +28 262 0 +28 263 0 +28 264 0 +28 265 0 +28 266 0 +28 267 0 +28 268 0 +28 269 0 +28 270 0 +28 271 0 +28 272 0 +28 273 0 +28 274 0 +28 275 0 +28 276 0 +28 277 0 +28 278 0 +28 279 0 +28 280 0 +28 281 0 +28 282 0 +28 283 0 +28 284 0 +28 285 0 +28 286 0 +28 287 0 +28 288 0 +28 289 0 +28 290 0 +28 291 0 +28 292 0 +28 293 0 +28 294 0 +28 295 0 +28 296 0 +28 297 0 +28 298 0 +28 299 0 +28 300 0 +28 301 0 +28 302 0 +28 303 0 +28 304 0 +28 305 0 +28 306 0 +28 307 0 +28 308 0 +28 309 0 +28 310 0 +28 311 0 +28 312 0 +28 313 0 +28 314 0 +28 315 0 +28 316 0 +28 317 0 +28 318 0 +28 319 0 +28 320 0 +28 321 0 +28 322 0 +28 323 0 +28 324 0 +28 325 0 +28 326 0 +28 327 0 +28 328 0 +28 329 0 +28 330 0 +28 331 0 +28 332 0 +28 333 0 +28 334 0 +28 335 0 +28 336 0 +28 337 0 +28 338 0 +28 339 0 +28 340 0 +28 341 0 +28 342 0 +28 343 0 +28 344 0 +28 345 0 +28 346 0 +28 347 0 +28 348 0 +28 349 0 +28 350 0 +28 351 0 +28 352 0 +28 353 0 +28 354 0 +28 355 0 +28 356 0 +28 357 0 +28 358 0 +28 359 0 +28 360 0 +28 361 0 +28 362 0 +28 363 0 +28 364 0 +28 365 0 +28 366 0 +28 367 0 +28 368 0 +28 369 0 +28 370 0 +28 371 0 +28 372 0 +28 373 0 +28 374 0 +28 375 0 +28 376 0 +28 377 0 +28 378 0 +28 379 0 +28 380 0 +28 381 0 +28 382 0 +28 383 0 +29 30 4 +29 31 4 +29 32 4 +29 33 4 +29 34 4 +29 35 4 +29 36 4 +29 37 4 +29 38 4 +29 39 4 +29 40 4 +29 41 4 +29 42 4 +29 43 4 +29 44 4 +29 45 4 +29 46 4 +29 47 4 +29 48 4 +29 49 4 +29 50 4 +29 51 4 +29 52 4 +29 53 4 +29 54 4 +29 55 4 +29 56 4 +29 57 4 +29 58 4 +29 59 4 +29 60 4 +29 61 4 +29 62 4 +29 63 4 +29 64 4 +29 65 4 +29 66 4 +29 67 4 +29 68 4 +29 69 4 +29 70 4 +29 71 4 +29 72 4 +29 73 4 +29 74 4 +29 75 4 +29 76 4 +29 77 4 +29 78 4 +29 79 4 +29 80 4 +29 81 4 +29 82 4 +29 83 4 +29 84 4 +29 85 4 +29 86 4 +29 87 4 +29 88 4 +29 89 4 +29 90 4 +29 91 4 +29 92 4 +29 93 4 +29 94 4 +29 95 4 +29 96 4 +29 97 4 +29 98 4 +29 99 4 +29 100 4 +29 101 4 +29 102 4 +29 103 4 +29 104 4 +29 105 4 +29 106 4 +29 107 4 +29 108 4 +29 109 4 +29 110 4 +29 111 4 +29 112 4 +29 113 4 +29 114 4 +29 115 4 +29 116 4 +29 117 4 +29 118 4 +29 119 4 +29 120 4 +29 121 4 +29 122 4 +29 123 4 +29 124 4 +29 125 4 +29 126 4 +29 127 4 +29 128 4 +29 129 4 +29 130 4 +29 131 4 +29 132 4 +29 133 4 +29 134 4 +29 135 4 +29 136 4 +29 137 4 +29 138 4 +29 139 4 +29 140 4 +29 141 4 +29 142 4 +29 143 4 +29 144 4 +29 145 4 +29 146 4 +29 147 4 +29 148 4 +29 149 4 +29 150 4 +29 151 4 +29 152 4 +29 153 4 +29 154 4 +29 155 4 +29 156 4 +29 157 4 +29 158 4 +29 159 4 +29 160 4 +29 161 4 +29 162 4 +29 163 4 +29 164 4 +29 165 4 +29 166 4 +29 167 4 +29 168 4 +29 169 4 +29 170 4 +29 171 4 +29 172 4 +29 173 4 +29 174 4 +29 175 4 +29 176 4 +29 177 4 +29 178 4 +29 179 4 +29 180 4 +29 181 4 +29 182 4 +29 183 4 +29 184 4 +29 185 4 +29 186 4 +29 187 4 +29 188 4 +29 189 4 +29 190 4 +29 191 4 +29 192 0 +29 193 0 +29 194 0 +29 195 0 +29 196 0 +29 197 0 +29 198 0 +29 199 0 +29 200 0 +29 201 0 +29 202 0 +29 203 0 +29 204 0 +29 205 0 +29 206 0 +29 207 0 +29 208 0 +29 209 0 +29 210 0 +29 211 0 +29 212 0 +29 213 0 +29 214 0 +29 215 0 +29 216 0 +29 217 0 +29 218 0 +29 219 0 +29 220 0 +29 221 0 +29 222 0 +29 223 0 +29 224 0 +29 225 0 +29 226 0 +29 227 0 +29 228 0 +29 229 0 +29 230 0 +29 231 0 +29 232 0 +29 233 0 +29 234 0 +29 235 0 +29 236 0 +29 237 0 +29 238 0 +29 239 0 +29 240 0 +29 241 0 +29 242 0 +29 243 0 +29 244 0 +29 245 0 +29 246 0 +29 247 0 +29 248 0 +29 249 0 +29 250 0 +29 251 0 +29 252 0 +29 253 0 +29 254 0 +29 255 0 +29 256 0 +29 257 0 +29 258 0 +29 259 0 +29 260 0 +29 261 0 +29 262 0 +29 263 0 +29 264 0 +29 265 0 +29 266 0 +29 267 0 +29 268 0 +29 269 0 +29 270 0 +29 271 0 +29 272 0 +29 273 0 +29 274 0 +29 275 0 +29 276 0 +29 277 0 +29 278 0 +29 279 0 +29 280 0 +29 281 0 +29 282 0 +29 283 0 +29 284 0 +29 285 0 +29 286 0 +29 287 0 +29 288 0 +29 289 0 +29 290 0 +29 291 0 +29 292 0 +29 293 0 +29 294 0 +29 295 0 +29 296 0 +29 297 0 +29 298 0 +29 299 0 +29 300 0 +29 301 0 +29 302 0 +29 303 0 +29 304 0 +29 305 0 +29 306 0 +29 307 0 +29 308 0 +29 309 0 +29 310 0 +29 311 0 +29 312 0 +29 313 0 +29 314 0 +29 315 0 +29 316 0 +29 317 0 +29 318 0 +29 319 0 +29 320 0 +29 321 0 +29 322 0 +29 323 0 +29 324 0 +29 325 0 +29 326 0 +29 327 0 +29 328 0 +29 329 0 +29 330 0 +29 331 0 +29 332 0 +29 333 0 +29 334 0 +29 335 0 +29 336 0 +29 337 0 +29 338 0 +29 339 0 +29 340 0 +29 341 0 +29 342 0 +29 343 0 +29 344 0 +29 345 0 +29 346 0 +29 347 0 +29 348 0 +29 349 0 +29 350 0 +29 351 0 +29 352 0 +29 353 0 +29 354 0 +29 355 0 +29 356 0 +29 357 0 +29 358 0 +29 359 0 +29 360 0 +29 361 0 +29 362 0 +29 363 0 +29 364 0 +29 365 0 +29 366 0 +29 367 0 +29 368 0 +29 369 0 +29 370 0 +29 371 0 +29 372 0 +29 373 0 +29 374 0 +29 375 0 +29 376 0 +29 377 0 +29 378 0 +29 379 0 +29 380 0 +29 381 0 +29 382 0 +29 383 0 +30 31 4 +30 32 4 +30 33 4 +30 34 4 +30 35 4 +30 36 4 +30 37 4 +30 38 4 +30 39 4 +30 40 4 +30 41 4 +30 42 4 +30 43 4 +30 44 4 +30 45 4 +30 46 4 +30 47 4 +30 48 4 +30 49 4 +30 50 4 +30 51 4 +30 52 4 +30 53 4 +30 54 4 +30 55 4 +30 56 4 +30 57 4 +30 58 4 +30 59 4 +30 60 4 +30 61 4 +30 62 4 +30 63 4 +30 64 4 +30 65 4 +30 66 4 +30 67 4 +30 68 4 +30 69 4 +30 70 4 +30 71 4 +30 72 4 +30 73 4 +30 74 4 +30 75 4 +30 76 4 +30 77 4 +30 78 4 +30 79 4 +30 80 4 +30 81 4 +30 82 4 +30 83 4 +30 84 4 +30 85 4 +30 86 4 +30 87 4 +30 88 4 +30 89 4 +30 90 4 +30 91 4 +30 92 4 +30 93 4 +30 94 4 +30 95 4 +30 96 4 +30 97 4 +30 98 4 +30 99 4 +30 100 4 +30 101 4 +30 102 4 +30 103 4 +30 104 4 +30 105 4 +30 106 4 +30 107 4 +30 108 4 +30 109 4 +30 110 4 +30 111 4 +30 112 4 +30 113 4 +30 114 4 +30 115 4 +30 116 4 +30 117 4 +30 118 4 +30 119 4 +30 120 4 +30 121 4 +30 122 4 +30 123 4 +30 124 4 +30 125 4 +30 126 4 +30 127 4 +30 128 4 +30 129 4 +30 130 4 +30 131 4 +30 132 4 +30 133 4 +30 134 4 +30 135 4 +30 136 4 +30 137 4 +30 138 4 +30 139 4 +30 140 4 +30 141 4 +30 142 4 +30 143 4 +30 144 4 +30 145 4 +30 146 4 +30 147 4 +30 148 4 +30 149 4 +30 150 4 +30 151 4 +30 152 4 +30 153 4 +30 154 4 +30 155 4 +30 156 4 +30 157 4 +30 158 4 +30 159 4 +30 160 4 +30 161 4 +30 162 4 +30 163 4 +30 164 4 +30 165 4 +30 166 4 +30 167 4 +30 168 4 +30 169 4 +30 170 4 +30 171 4 +30 172 4 +30 173 4 +30 174 4 +30 175 4 +30 176 4 +30 177 4 +30 178 4 +30 179 4 +30 180 4 +30 181 4 +30 182 4 +30 183 4 +30 184 4 +30 185 4 +30 186 4 +30 187 4 +30 188 4 +30 189 4 +30 190 4 +30 191 4 +30 192 0 +30 193 0 +30 194 0 +30 195 0 +30 196 0 +30 197 0 +30 198 0 +30 199 0 +30 200 0 +30 201 0 +30 202 0 +30 203 0 +30 204 0 +30 205 0 +30 206 0 +30 207 0 +30 208 0 +30 209 0 +30 210 0 +30 211 0 +30 212 0 +30 213 0 +30 214 0 +30 215 0 +30 216 0 +30 217 0 +30 218 0 +30 219 0 +30 220 0 +30 221 0 +30 222 0 +30 223 0 +30 224 0 +30 225 0 +30 226 0 +30 227 0 +30 228 0 +30 229 0 +30 230 0 +30 231 0 +30 232 0 +30 233 0 +30 234 0 +30 235 0 +30 236 0 +30 237 0 +30 238 0 +30 239 0 +30 240 0 +30 241 0 +30 242 0 +30 243 0 +30 244 0 +30 245 0 +30 246 0 +30 247 0 +30 248 0 +30 249 0 +30 250 0 +30 251 0 +30 252 0 +30 253 0 +30 254 0 +30 255 0 +30 256 0 +30 257 0 +30 258 0 +30 259 0 +30 260 0 +30 261 0 +30 262 0 +30 263 0 +30 264 0 +30 265 0 +30 266 0 +30 267 0 +30 268 0 +30 269 0 +30 270 0 +30 271 0 +30 272 0 +30 273 0 +30 274 0 +30 275 0 +30 276 0 +30 277 0 +30 278 0 +30 279 0 +30 280 0 +30 281 0 +30 282 0 +30 283 0 +30 284 0 +30 285 0 +30 286 0 +30 287 0 +30 288 0 +30 289 0 +30 290 0 +30 291 0 +30 292 0 +30 293 0 +30 294 0 +30 295 0 +30 296 0 +30 297 0 +30 298 0 +30 299 0 +30 300 0 +30 301 0 +30 302 0 +30 303 0 +30 304 0 +30 305 0 +30 306 0 +30 307 0 +30 308 0 +30 309 0 +30 310 0 +30 311 0 +30 312 0 +30 313 0 +30 314 0 +30 315 0 +30 316 0 +30 317 0 +30 318 0 +30 319 0 +30 320 0 +30 321 0 +30 322 0 +30 323 0 +30 324 0 +30 325 0 +30 326 0 +30 327 0 +30 328 0 +30 329 0 +30 330 0 +30 331 0 +30 332 0 +30 333 0 +30 334 0 +30 335 0 +30 336 0 +30 337 0 +30 338 0 +30 339 0 +30 340 0 +30 341 0 +30 342 0 +30 343 0 +30 344 0 +30 345 0 +30 346 0 +30 347 0 +30 348 0 +30 349 0 +30 350 0 +30 351 0 +30 352 0 +30 353 0 +30 354 0 +30 355 0 +30 356 0 +30 357 0 +30 358 0 +30 359 0 +30 360 0 +30 361 0 +30 362 0 +30 363 0 +30 364 0 +30 365 0 +30 366 0 +30 367 0 +30 368 0 +30 369 0 +30 370 0 +30 371 0 +30 372 0 +30 373 0 +30 374 0 +30 375 0 +30 376 0 +30 377 0 +30 378 0 +30 379 0 +30 380 0 +30 381 0 +30 382 0 +30 383 0 +31 32 4 +31 33 4 +31 34 4 +31 35 4 +31 36 4 +31 37 4 +31 38 4 +31 39 4 +31 40 4 +31 41 4 +31 42 4 +31 43 4 +31 44 4 +31 45 4 +31 46 4 +31 47 4 +31 48 4 +31 49 4 +31 50 4 +31 51 4 +31 52 4 +31 53 4 +31 54 4 +31 55 4 +31 56 4 +31 57 4 +31 58 4 +31 59 4 +31 60 4 +31 61 4 +31 62 4 +31 63 4 +31 64 4 +31 65 4 +31 66 4 +31 67 4 +31 68 4 +31 69 4 +31 70 4 +31 71 4 +31 72 4 +31 73 4 +31 74 4 +31 75 4 +31 76 4 +31 77 4 +31 78 4 +31 79 4 +31 80 4 +31 81 4 +31 82 4 +31 83 4 +31 84 4 +31 85 4 +31 86 4 +31 87 4 +31 88 4 +31 89 4 +31 90 4 +31 91 4 +31 92 4 +31 93 4 +31 94 4 +31 95 4 +31 96 4 +31 97 4 +31 98 4 +31 99 4 +31 100 4 +31 101 4 +31 102 4 +31 103 4 +31 104 4 +31 105 4 +31 106 4 +31 107 4 +31 108 4 +31 109 4 +31 110 4 +31 111 4 +31 112 4 +31 113 4 +31 114 4 +31 115 4 +31 116 4 +31 117 4 +31 118 4 +31 119 4 +31 120 4 +31 121 4 +31 122 4 +31 123 4 +31 124 4 +31 125 4 +31 126 4 +31 127 4 +31 128 4 +31 129 4 +31 130 4 +31 131 4 +31 132 4 +31 133 4 +31 134 4 +31 135 4 +31 136 4 +31 137 4 +31 138 4 +31 139 4 +31 140 4 +31 141 4 +31 142 4 +31 143 4 +31 144 4 +31 145 4 +31 146 4 +31 147 4 +31 148 4 +31 149 4 +31 150 4 +31 151 4 +31 152 4 +31 153 4 +31 154 4 +31 155 4 +31 156 4 +31 157 4 +31 158 4 +31 159 4 +31 160 4 +31 161 4 +31 162 4 +31 163 4 +31 164 4 +31 165 4 +31 166 4 +31 167 4 +31 168 4 +31 169 4 +31 170 4 +31 171 4 +31 172 4 +31 173 4 +31 174 4 +31 175 4 +31 176 4 +31 177 4 +31 178 4 +31 179 4 +31 180 4 +31 181 4 +31 182 4 +31 183 4 +31 184 4 +31 185 4 +31 186 4 +31 187 4 +31 188 4 +31 189 4 +31 190 4 +31 191 4 +31 192 0 +31 193 0 +31 194 0 +31 195 0 +31 196 0 +31 197 0 +31 198 0 +31 199 0 +31 200 0 +31 201 0 +31 202 0 +31 203 0 +31 204 0 +31 205 0 +31 206 0 +31 207 0 +31 208 0 +31 209 0 +31 210 0 +31 211 0 +31 212 0 +31 213 0 +31 214 0 +31 215 0 +31 216 0 +31 217 0 +31 218 0 +31 219 0 +31 220 0 +31 221 0 +31 222 0 +31 223 0 +31 224 0 +31 225 0 +31 226 0 +31 227 0 +31 228 0 +31 229 0 +31 230 0 +31 231 0 +31 232 0 +31 233 0 +31 234 0 +31 235 0 +31 236 0 +31 237 0 +31 238 0 +31 239 0 +31 240 0 +31 241 0 +31 242 0 +31 243 0 +31 244 0 +31 245 0 +31 246 0 +31 247 0 +31 248 0 +31 249 0 +31 250 0 +31 251 0 +31 252 0 +31 253 0 +31 254 0 +31 255 0 +31 256 0 +31 257 0 +31 258 0 +31 259 0 +31 260 0 +31 261 0 +31 262 0 +31 263 0 +31 264 0 +31 265 0 +31 266 0 +31 267 0 +31 268 0 +31 269 0 +31 270 0 +31 271 0 +31 272 0 +31 273 0 +31 274 0 +31 275 0 +31 276 0 +31 277 0 +31 278 0 +31 279 0 +31 280 0 +31 281 0 +31 282 0 +31 283 0 +31 284 0 +31 285 0 +31 286 0 +31 287 0 +31 288 0 +31 289 0 +31 290 0 +31 291 0 +31 292 0 +31 293 0 +31 294 0 +31 295 0 +31 296 0 +31 297 0 +31 298 0 +31 299 0 +31 300 0 +31 301 0 +31 302 0 +31 303 0 +31 304 0 +31 305 0 +31 306 0 +31 307 0 +31 308 0 +31 309 0 +31 310 0 +31 311 0 +31 312 0 +31 313 0 +31 314 0 +31 315 0 +31 316 0 +31 317 0 +31 318 0 +31 319 0 +31 320 0 +31 321 0 +31 322 0 +31 323 0 +31 324 0 +31 325 0 +31 326 0 +31 327 0 +31 328 0 +31 329 0 +31 330 0 +31 331 0 +31 332 0 +31 333 0 +31 334 0 +31 335 0 +31 336 0 +31 337 0 +31 338 0 +31 339 0 +31 340 0 +31 341 0 +31 342 0 +31 343 0 +31 344 0 +31 345 0 +31 346 0 +31 347 0 +31 348 0 +31 349 0 +31 350 0 +31 351 0 +31 352 0 +31 353 0 +31 354 0 +31 355 0 +31 356 0 +31 357 0 +31 358 0 +31 359 0 +31 360 0 +31 361 0 +31 362 0 +31 363 0 +31 364 0 +31 365 0 +31 366 0 +31 367 0 +31 368 0 +31 369 0 +31 370 0 +31 371 0 +31 372 0 +31 373 0 +31 374 0 +31 375 0 +31 376 0 +31 377 0 +31 378 0 +31 379 0 +31 380 0 +31 381 0 +31 382 0 +31 383 0 +32 33 4 +32 34 4 +32 35 4 +32 36 4 +32 37 4 +32 38 4 +32 39 4 +32 40 4 +32 41 4 +32 42 4 +32 43 4 +32 44 4 +32 45 4 +32 46 4 +32 47 4 +32 48 4 +32 49 4 +32 50 4 +32 51 4 +32 52 4 +32 53 4 +32 54 4 +32 55 4 +32 56 4 +32 57 4 +32 58 4 +32 59 4 +32 60 4 +32 61 4 +32 62 4 +32 63 4 +32 64 4 +32 65 4 +32 66 4 +32 67 4 +32 68 4 +32 69 4 +32 70 4 +32 71 4 +32 72 4 +32 73 4 +32 74 4 +32 75 4 +32 76 4 +32 77 4 +32 78 4 +32 79 4 +32 80 4 +32 81 4 +32 82 4 +32 83 4 +32 84 4 +32 85 4 +32 86 4 +32 87 4 +32 88 4 +32 89 4 +32 90 4 +32 91 4 +32 92 4 +32 93 4 +32 94 4 +32 95 4 +32 96 4 +32 97 4 +32 98 4 +32 99 4 +32 100 4 +32 101 4 +32 102 4 +32 103 4 +32 104 4 +32 105 4 +32 106 4 +32 107 4 +32 108 4 +32 109 4 +32 110 4 +32 111 4 +32 112 4 +32 113 4 +32 114 4 +32 115 4 +32 116 4 +32 117 4 +32 118 4 +32 119 4 +32 120 4 +32 121 4 +32 122 4 +32 123 4 +32 124 4 +32 125 4 +32 126 4 +32 127 4 +32 128 4 +32 129 4 +32 130 4 +32 131 4 +32 132 4 +32 133 4 +32 134 4 +32 135 4 +32 136 4 +32 137 4 +32 138 4 +32 139 4 +32 140 4 +32 141 4 +32 142 4 +32 143 4 +32 144 4 +32 145 4 +32 146 4 +32 147 4 +32 148 4 +32 149 4 +32 150 4 +32 151 4 +32 152 4 +32 153 4 +32 154 4 +32 155 4 +32 156 4 +32 157 4 +32 158 4 +32 159 4 +32 160 4 +32 161 4 +32 162 4 +32 163 4 +32 164 4 +32 165 4 +32 166 4 +32 167 4 +32 168 4 +32 169 4 +32 170 4 +32 171 4 +32 172 4 +32 173 4 +32 174 4 +32 175 4 +32 176 4 +32 177 4 +32 178 4 +32 179 4 +32 180 4 +32 181 4 +32 182 4 +32 183 4 +32 184 4 +32 185 4 +32 186 4 +32 187 4 +32 188 4 +32 189 4 +32 190 4 +32 191 4 +32 192 0 +32 193 0 +32 194 0 +32 195 0 +32 196 0 +32 197 0 +32 198 0 +32 199 0 +32 200 0 +32 201 0 +32 202 0 +32 203 0 +32 204 0 +32 205 0 +32 206 0 +32 207 0 +32 208 0 +32 209 0 +32 210 0 +32 211 0 +32 212 0 +32 213 0 +32 214 0 +32 215 0 +32 216 0 +32 217 0 +32 218 0 +32 219 0 +32 220 0 +32 221 0 +32 222 0 +32 223 0 +32 224 0 +32 225 0 +32 226 0 +32 227 0 +32 228 0 +32 229 0 +32 230 0 +32 231 0 +32 232 0 +32 233 0 +32 234 0 +32 235 0 +32 236 0 +32 237 0 +32 238 0 +32 239 0 +32 240 0 +32 241 0 +32 242 0 +32 243 0 +32 244 0 +32 245 0 +32 246 0 +32 247 0 +32 248 0 +32 249 0 +32 250 0 +32 251 0 +32 252 0 +32 253 0 +32 254 0 +32 255 0 +32 256 0 +32 257 0 +32 258 0 +32 259 0 +32 260 0 +32 261 0 +32 262 0 +32 263 0 +32 264 0 +32 265 0 +32 266 0 +32 267 0 +32 268 0 +32 269 0 +32 270 0 +32 271 0 +32 272 0 +32 273 0 +32 274 0 +32 275 0 +32 276 0 +32 277 0 +32 278 0 +32 279 0 +32 280 0 +32 281 0 +32 282 0 +32 283 0 +32 284 0 +32 285 0 +32 286 0 +32 287 0 +32 288 0 +32 289 0 +32 290 0 +32 291 0 +32 292 0 +32 293 0 +32 294 0 +32 295 0 +32 296 0 +32 297 0 +32 298 0 +32 299 0 +32 300 0 +32 301 0 +32 302 0 +32 303 0 +32 304 0 +32 305 0 +32 306 0 +32 307 0 +32 308 0 +32 309 0 +32 310 0 +32 311 0 +32 312 0 +32 313 0 +32 314 0 +32 315 0 +32 316 0 +32 317 0 +32 318 0 +32 319 0 +32 320 0 +32 321 0 +32 322 0 +32 323 0 +32 324 0 +32 325 0 +32 326 0 +32 327 0 +32 328 0 +32 329 0 +32 330 0 +32 331 0 +32 332 0 +32 333 0 +32 334 0 +32 335 0 +32 336 0 +32 337 0 +32 338 0 +32 339 0 +32 340 0 +32 341 0 +32 342 0 +32 343 0 +32 344 0 +32 345 0 +32 346 0 +32 347 0 +32 348 0 +32 349 0 +32 350 0 +32 351 0 +32 352 0 +32 353 0 +32 354 0 +32 355 0 +32 356 0 +32 357 0 +32 358 0 +32 359 0 +32 360 0 +32 361 0 +32 362 0 +32 363 0 +32 364 0 +32 365 0 +32 366 0 +32 367 0 +32 368 0 +32 369 0 +32 370 0 +32 371 0 +32 372 0 +32 373 0 +32 374 0 +32 375 0 +32 376 0 +32 377 0 +32 378 0 +32 379 0 +32 380 0 +32 381 0 +32 382 0 +32 383 0 +33 34 4 +33 35 4 +33 36 4 +33 37 4 +33 38 4 +33 39 4 +33 40 4 +33 41 4 +33 42 4 +33 43 4 +33 44 4 +33 45 4 +33 46 4 +33 47 4 +33 48 4 +33 49 4 +33 50 4 +33 51 4 +33 52 4 +33 53 4 +33 54 4 +33 55 4 +33 56 4 +33 57 4 +33 58 4 +33 59 4 +33 60 4 +33 61 4 +33 62 4 +33 63 4 +33 64 4 +33 65 4 +33 66 4 +33 67 4 +33 68 4 +33 69 4 +33 70 4 +33 71 4 +33 72 4 +33 73 4 +33 74 4 +33 75 4 +33 76 4 +33 77 4 +33 78 4 +33 79 4 +33 80 4 +33 81 4 +33 82 4 +33 83 4 +33 84 4 +33 85 4 +33 86 4 +33 87 4 +33 88 4 +33 89 4 +33 90 4 +33 91 4 +33 92 4 +33 93 4 +33 94 4 +33 95 4 +33 96 4 +33 97 4 +33 98 4 +33 99 4 +33 100 4 +33 101 4 +33 102 4 +33 103 4 +33 104 4 +33 105 4 +33 106 4 +33 107 4 +33 108 4 +33 109 4 +33 110 4 +33 111 4 +33 112 4 +33 113 4 +33 114 4 +33 115 4 +33 116 4 +33 117 4 +33 118 4 +33 119 4 +33 120 4 +33 121 4 +33 122 4 +33 123 4 +33 124 4 +33 125 4 +33 126 4 +33 127 4 +33 128 4 +33 129 4 +33 130 4 +33 131 4 +33 132 4 +33 133 4 +33 134 4 +33 135 4 +33 136 4 +33 137 4 +33 138 4 +33 139 4 +33 140 4 +33 141 4 +33 142 4 +33 143 4 +33 144 4 +33 145 4 +33 146 4 +33 147 4 +33 148 4 +33 149 4 +33 150 4 +33 151 4 +33 152 4 +33 153 4 +33 154 4 +33 155 4 +33 156 4 +33 157 4 +33 158 4 +33 159 4 +33 160 4 +33 161 4 +33 162 4 +33 163 4 +33 164 4 +33 165 4 +33 166 4 +33 167 4 +33 168 4 +33 169 4 +33 170 4 +33 171 4 +33 172 4 +33 173 4 +33 174 4 +33 175 4 +33 176 4 +33 177 4 +33 178 4 +33 179 4 +33 180 4 +33 181 4 +33 182 4 +33 183 4 +33 184 4 +33 185 4 +33 186 4 +33 187 4 +33 188 4 +33 189 4 +33 190 4 +33 191 4 +33 192 0 +33 193 0 +33 194 0 +33 195 0 +33 196 0 +33 197 0 +33 198 0 +33 199 0 +33 200 0 +33 201 0 +33 202 0 +33 203 0 +33 204 0 +33 205 0 +33 206 0 +33 207 0 +33 208 0 +33 209 0 +33 210 0 +33 211 0 +33 212 0 +33 213 0 +33 214 0 +33 215 0 +33 216 0 +33 217 0 +33 218 0 +33 219 0 +33 220 0 +33 221 0 +33 222 0 +33 223 0 +33 224 0 +33 225 0 +33 226 0 +33 227 0 +33 228 0 +33 229 0 +33 230 0 +33 231 0 +33 232 0 +33 233 0 +33 234 0 +33 235 0 +33 236 0 +33 237 0 +33 238 0 +33 239 0 +33 240 0 +33 241 0 +33 242 0 +33 243 0 +33 244 0 +33 245 0 +33 246 0 +33 247 0 +33 248 0 +33 249 0 +33 250 0 +33 251 0 +33 252 0 +33 253 0 +33 254 0 +33 255 0 +33 256 0 +33 257 0 +33 258 0 +33 259 0 +33 260 0 +33 261 0 +33 262 0 +33 263 0 +33 264 0 +33 265 0 +33 266 0 +33 267 0 +33 268 0 +33 269 0 +33 270 0 +33 271 0 +33 272 0 +33 273 0 +33 274 0 +33 275 0 +33 276 0 +33 277 0 +33 278 0 +33 279 0 +33 280 0 +33 281 0 +33 282 0 +33 283 0 +33 284 0 +33 285 0 +33 286 0 +33 287 0 +33 288 0 +33 289 0 +33 290 0 +33 291 0 +33 292 0 +33 293 0 +33 294 0 +33 295 0 +33 296 0 +33 297 0 +33 298 0 +33 299 0 +33 300 0 +33 301 0 +33 302 0 +33 303 0 +33 304 0 +33 305 0 +33 306 0 +33 307 0 +33 308 0 +33 309 0 +33 310 0 +33 311 0 +33 312 0 +33 313 0 +33 314 0 +33 315 0 +33 316 0 +33 317 0 +33 318 0 +33 319 0 +33 320 0 +33 321 0 +33 322 0 +33 323 0 +33 324 0 +33 325 0 +33 326 0 +33 327 0 +33 328 0 +33 329 0 +33 330 0 +33 331 0 +33 332 0 +33 333 0 +33 334 0 +33 335 0 +33 336 0 +33 337 0 +33 338 0 +33 339 0 +33 340 0 +33 341 0 +33 342 0 +33 343 0 +33 344 0 +33 345 0 +33 346 0 +33 347 0 +33 348 0 +33 349 0 +33 350 0 +33 351 0 +33 352 0 +33 353 0 +33 354 0 +33 355 0 +33 356 0 +33 357 0 +33 358 0 +33 359 0 +33 360 0 +33 361 0 +33 362 0 +33 363 0 +33 364 0 +33 365 0 +33 366 0 +33 367 0 +33 368 0 +33 369 0 +33 370 0 +33 371 0 +33 372 0 +33 373 0 +33 374 0 +33 375 0 +33 376 0 +33 377 0 +33 378 0 +33 379 0 +33 380 0 +33 381 0 +33 382 0 +33 383 0 +34 35 4 +34 36 4 +34 37 4 +34 38 4 +34 39 4 +34 40 4 +34 41 4 +34 42 4 +34 43 4 +34 44 4 +34 45 4 +34 46 4 +34 47 4 +34 48 4 +34 49 4 +34 50 4 +34 51 4 +34 52 4 +34 53 4 +34 54 4 +34 55 4 +34 56 4 +34 57 4 +34 58 4 +34 59 4 +34 60 4 +34 61 4 +34 62 4 +34 63 4 +34 64 4 +34 65 4 +34 66 4 +34 67 4 +34 68 4 +34 69 4 +34 70 4 +34 71 4 +34 72 4 +34 73 4 +34 74 4 +34 75 4 +34 76 4 +34 77 4 +34 78 4 +34 79 4 +34 80 4 +34 81 4 +34 82 4 +34 83 4 +34 84 4 +34 85 4 +34 86 4 +34 87 4 +34 88 4 +34 89 4 +34 90 4 +34 91 4 +34 92 4 +34 93 4 +34 94 4 +34 95 4 +34 96 4 +34 97 4 +34 98 4 +34 99 4 +34 100 4 +34 101 4 +34 102 4 +34 103 4 +34 104 4 +34 105 4 +34 106 4 +34 107 4 +34 108 4 +34 109 4 +34 110 4 +34 111 4 +34 112 4 +34 113 4 +34 114 4 +34 115 4 +34 116 4 +34 117 4 +34 118 4 +34 119 4 +34 120 4 +34 121 4 +34 122 4 +34 123 4 +34 124 4 +34 125 4 +34 126 4 +34 127 4 +34 128 4 +34 129 4 +34 130 4 +34 131 4 +34 132 4 +34 133 4 +34 134 4 +34 135 4 +34 136 4 +34 137 4 +34 138 4 +34 139 4 +34 140 4 +34 141 4 +34 142 4 +34 143 4 +34 144 4 +34 145 4 +34 146 4 +34 147 4 +34 148 4 +34 149 4 +34 150 4 +34 151 4 +34 152 4 +34 153 4 +34 154 4 +34 155 4 +34 156 4 +34 157 4 +34 158 4 +34 159 4 +34 160 4 +34 161 4 +34 162 4 +34 163 4 +34 164 4 +34 165 4 +34 166 4 +34 167 4 +34 168 4 +34 169 4 +34 170 4 +34 171 4 +34 172 4 +34 173 4 +34 174 4 +34 175 4 +34 176 4 +34 177 4 +34 178 4 +34 179 4 +34 180 4 +34 181 4 +34 182 4 +34 183 4 +34 184 4 +34 185 4 +34 186 4 +34 187 4 +34 188 4 +34 189 4 +34 190 4 +34 191 4 +34 192 0 +34 193 0 +34 194 0 +34 195 0 +34 196 0 +34 197 0 +34 198 0 +34 199 0 +34 200 0 +34 201 0 +34 202 0 +34 203 0 +34 204 0 +34 205 0 +34 206 0 +34 207 0 +34 208 0 +34 209 0 +34 210 0 +34 211 0 +34 212 0 +34 213 0 +34 214 0 +34 215 0 +34 216 0 +34 217 0 +34 218 0 +34 219 0 +34 220 0 +34 221 0 +34 222 0 +34 223 0 +34 224 0 +34 225 0 +34 226 0 +34 227 0 +34 228 0 +34 229 0 +34 230 0 +34 231 0 +34 232 0 +34 233 0 +34 234 0 +34 235 0 +34 236 0 +34 237 0 +34 238 0 +34 239 0 +34 240 0 +34 241 0 +34 242 0 +34 243 0 +34 244 0 +34 245 0 +34 246 0 +34 247 0 +34 248 0 +34 249 0 +34 250 0 +34 251 0 +34 252 0 +34 253 0 +34 254 0 +34 255 0 +34 256 0 +34 257 0 +34 258 0 +34 259 0 +34 260 0 +34 261 0 +34 262 0 +34 263 0 +34 264 0 +34 265 0 +34 266 0 +34 267 0 +34 268 0 +34 269 0 +34 270 0 +34 271 0 +34 272 0 +34 273 0 +34 274 0 +34 275 0 +34 276 0 +34 277 0 +34 278 0 +34 279 0 +34 280 0 +34 281 0 +34 282 0 +34 283 0 +34 284 0 +34 285 0 +34 286 0 +34 287 0 +34 288 0 +34 289 0 +34 290 0 +34 291 0 +34 292 0 +34 293 0 +34 294 0 +34 295 0 +34 296 0 +34 297 0 +34 298 0 +34 299 0 +34 300 0 +34 301 0 +34 302 0 +34 303 0 +34 304 0 +34 305 0 +34 306 0 +34 307 0 +34 308 0 +34 309 0 +34 310 0 +34 311 0 +34 312 0 +34 313 0 +34 314 0 +34 315 0 +34 316 0 +34 317 0 +34 318 0 +34 319 0 +34 320 0 +34 321 0 +34 322 0 +34 323 0 +34 324 0 +34 325 0 +34 326 0 +34 327 0 +34 328 0 +34 329 0 +34 330 0 +34 331 0 +34 332 0 +34 333 0 +34 334 0 +34 335 0 +34 336 0 +34 337 0 +34 338 0 +34 339 0 +34 340 0 +34 341 0 +34 342 0 +34 343 0 +34 344 0 +34 345 0 +34 346 0 +34 347 0 +34 348 0 +34 349 0 +34 350 0 +34 351 0 +34 352 0 +34 353 0 +34 354 0 +34 355 0 +34 356 0 +34 357 0 +34 358 0 +34 359 0 +34 360 0 +34 361 0 +34 362 0 +34 363 0 +34 364 0 +34 365 0 +34 366 0 +34 367 0 +34 368 0 +34 369 0 +34 370 0 +34 371 0 +34 372 0 +34 373 0 +34 374 0 +34 375 0 +34 376 0 +34 377 0 +34 378 0 +34 379 0 +34 380 0 +34 381 0 +34 382 0 +34 383 0 +35 36 4 +35 37 4 +35 38 4 +35 39 4 +35 40 4 +35 41 4 +35 42 4 +35 43 4 +35 44 4 +35 45 4 +35 46 4 +35 47 4 +35 48 4 +35 49 4 +35 50 4 +35 51 4 +35 52 4 +35 53 4 +35 54 4 +35 55 4 +35 56 4 +35 57 4 +35 58 4 +35 59 4 +35 60 4 +35 61 4 +35 62 4 +35 63 4 +35 64 4 +35 65 4 +35 66 4 +35 67 4 +35 68 4 +35 69 4 +35 70 4 +35 71 4 +35 72 4 +35 73 4 +35 74 4 +35 75 4 +35 76 4 +35 77 4 +35 78 4 +35 79 4 +35 80 4 +35 81 4 +35 82 4 +35 83 4 +35 84 4 +35 85 4 +35 86 4 +35 87 4 +35 88 4 +35 89 4 +35 90 4 +35 91 4 +35 92 4 +35 93 4 +35 94 4 +35 95 4 +35 96 4 +35 97 4 +35 98 4 +35 99 4 +35 100 4 +35 101 4 +35 102 4 +35 103 4 +35 104 4 +35 105 4 +35 106 4 +35 107 4 +35 108 4 +35 109 4 +35 110 4 +35 111 4 +35 112 4 +35 113 4 +35 114 4 +35 115 4 +35 116 4 +35 117 4 +35 118 4 +35 119 4 +35 120 4 +35 121 4 +35 122 4 +35 123 4 +35 124 4 +35 125 4 +35 126 4 +35 127 4 +35 128 4 +35 129 4 +35 130 4 +35 131 4 +35 132 4 +35 133 4 +35 134 4 +35 135 4 +35 136 4 +35 137 4 +35 138 4 +35 139 4 +35 140 4 +35 141 4 +35 142 4 +35 143 4 +35 144 4 +35 145 4 +35 146 4 +35 147 4 +35 148 4 +35 149 4 +35 150 4 +35 151 4 +35 152 4 +35 153 4 +35 154 4 +35 155 4 +35 156 4 +35 157 4 +35 158 4 +35 159 4 +35 160 4 +35 161 4 +35 162 4 +35 163 4 +35 164 4 +35 165 4 +35 166 4 +35 167 4 +35 168 4 +35 169 4 +35 170 4 +35 171 4 +35 172 4 +35 173 4 +35 174 4 +35 175 4 +35 176 4 +35 177 4 +35 178 4 +35 179 4 +35 180 4 +35 181 4 +35 182 4 +35 183 4 +35 184 4 +35 185 4 +35 186 4 +35 187 4 +35 188 4 +35 189 4 +35 190 4 +35 191 4 +35 192 0 +35 193 0 +35 194 0 +35 195 0 +35 196 0 +35 197 0 +35 198 0 +35 199 0 +35 200 0 +35 201 0 +35 202 0 +35 203 0 +35 204 0 +35 205 0 +35 206 0 +35 207 0 +35 208 0 +35 209 0 +35 210 0 +35 211 0 +35 212 0 +35 213 0 +35 214 0 +35 215 0 +35 216 0 +35 217 0 +35 218 0 +35 219 0 +35 220 0 +35 221 0 +35 222 0 +35 223 0 +35 224 0 +35 225 0 +35 226 0 +35 227 0 +35 228 0 +35 229 0 +35 230 0 +35 231 0 +35 232 0 +35 233 0 +35 234 0 +35 235 0 +35 236 0 +35 237 0 +35 238 0 +35 239 0 +35 240 0 +35 241 0 +35 242 0 +35 243 0 +35 244 0 +35 245 0 +35 246 0 +35 247 0 +35 248 0 +35 249 0 +35 250 0 +35 251 0 +35 252 0 +35 253 0 +35 254 0 +35 255 0 +35 256 0 +35 257 0 +35 258 0 +35 259 0 +35 260 0 +35 261 0 +35 262 0 +35 263 0 +35 264 0 +35 265 0 +35 266 0 +35 267 0 +35 268 0 +35 269 0 +35 270 0 +35 271 0 +35 272 0 +35 273 0 +35 274 0 +35 275 0 +35 276 0 +35 277 0 +35 278 0 +35 279 0 +35 280 0 +35 281 0 +35 282 0 +35 283 0 +35 284 0 +35 285 0 +35 286 0 +35 287 0 +35 288 0 +35 289 0 +35 290 0 +35 291 0 +35 292 0 +35 293 0 +35 294 0 +35 295 0 +35 296 0 +35 297 0 +35 298 0 +35 299 0 +35 300 0 +35 301 0 +35 302 0 +35 303 0 +35 304 0 +35 305 0 +35 306 0 +35 307 0 +35 308 0 +35 309 0 +35 310 0 +35 311 0 +35 312 0 +35 313 0 +35 314 0 +35 315 0 +35 316 0 +35 317 0 +35 318 0 +35 319 0 +35 320 0 +35 321 0 +35 322 0 +35 323 0 +35 324 0 +35 325 0 +35 326 0 +35 327 0 +35 328 0 +35 329 0 +35 330 0 +35 331 0 +35 332 0 +35 333 0 +35 334 0 +35 335 0 +35 336 0 +35 337 0 +35 338 0 +35 339 0 +35 340 0 +35 341 0 +35 342 0 +35 343 0 +35 344 0 +35 345 0 +35 346 0 +35 347 0 +35 348 0 +35 349 0 +35 350 0 +35 351 0 +35 352 0 +35 353 0 +35 354 0 +35 355 0 +35 356 0 +35 357 0 +35 358 0 +35 359 0 +35 360 0 +35 361 0 +35 362 0 +35 363 0 +35 364 0 +35 365 0 +35 366 0 +35 367 0 +35 368 0 +35 369 0 +35 370 0 +35 371 0 +35 372 0 +35 373 0 +35 374 0 +35 375 0 +35 376 0 +35 377 0 +35 378 0 +35 379 0 +35 380 0 +35 381 0 +35 382 0 +35 383 0 +36 37 4 +36 38 4 +36 39 4 +36 40 4 +36 41 4 +36 42 4 +36 43 4 +36 44 4 +36 45 4 +36 46 4 +36 47 4 +36 48 4 +36 49 4 +36 50 4 +36 51 4 +36 52 4 +36 53 4 +36 54 4 +36 55 4 +36 56 4 +36 57 4 +36 58 4 +36 59 4 +36 60 4 +36 61 4 +36 62 4 +36 63 4 +36 64 4 +36 65 4 +36 66 4 +36 67 4 +36 68 4 +36 69 4 +36 70 4 +36 71 4 +36 72 4 +36 73 4 +36 74 4 +36 75 4 +36 76 4 +36 77 4 +36 78 4 +36 79 4 +36 80 4 +36 81 4 +36 82 4 +36 83 4 +36 84 4 +36 85 4 +36 86 4 +36 87 4 +36 88 4 +36 89 4 +36 90 4 +36 91 4 +36 92 4 +36 93 4 +36 94 4 +36 95 4 +36 96 4 +36 97 4 +36 98 4 +36 99 4 +36 100 4 +36 101 4 +36 102 4 +36 103 4 +36 104 4 +36 105 4 +36 106 4 +36 107 4 +36 108 4 +36 109 4 +36 110 4 +36 111 4 +36 112 4 +36 113 4 +36 114 4 +36 115 4 +36 116 4 +36 117 4 +36 118 4 +36 119 4 +36 120 4 +36 121 4 +36 122 4 +36 123 4 +36 124 4 +36 125 4 +36 126 4 +36 127 4 +36 128 4 +36 129 4 +36 130 4 +36 131 4 +36 132 4 +36 133 4 +36 134 4 +36 135 4 +36 136 4 +36 137 4 +36 138 4 +36 139 4 +36 140 4 +36 141 4 +36 142 4 +36 143 4 +36 144 4 +36 145 4 +36 146 4 +36 147 4 +36 148 4 +36 149 4 +36 150 4 +36 151 4 +36 152 4 +36 153 4 +36 154 4 +36 155 4 +36 156 4 +36 157 4 +36 158 4 +36 159 4 +36 160 4 +36 161 4 +36 162 4 +36 163 4 +36 164 4 +36 165 4 +36 166 4 +36 167 4 +36 168 4 +36 169 4 +36 170 4 +36 171 4 +36 172 4 +36 173 4 +36 174 4 +36 175 4 +36 176 4 +36 177 4 +36 178 4 +36 179 4 +36 180 4 +36 181 4 +36 182 4 +36 183 4 +36 184 4 +36 185 4 +36 186 4 +36 187 4 +36 188 4 +36 189 4 +36 190 4 +36 191 4 +36 192 0 +36 193 0 +36 194 0 +36 195 0 +36 196 0 +36 197 0 +36 198 0 +36 199 0 +36 200 0 +36 201 0 +36 202 0 +36 203 0 +36 204 0 +36 205 0 +36 206 0 +36 207 0 +36 208 0 +36 209 0 +36 210 0 +36 211 0 +36 212 0 +36 213 0 +36 214 0 +36 215 0 +36 216 0 +36 217 0 +36 218 0 +36 219 0 +36 220 0 +36 221 0 +36 222 0 +36 223 0 +36 224 0 +36 225 0 +36 226 0 +36 227 0 +36 228 0 +36 229 0 +36 230 0 +36 231 0 +36 232 0 +36 233 0 +36 234 0 +36 235 0 +36 236 0 +36 237 0 +36 238 0 +36 239 0 +36 240 0 +36 241 0 +36 242 0 +36 243 0 +36 244 0 +36 245 0 +36 246 0 +36 247 0 +36 248 0 +36 249 0 +36 250 0 +36 251 0 +36 252 0 +36 253 0 +36 254 0 +36 255 0 +36 256 0 +36 257 0 +36 258 0 +36 259 0 +36 260 0 +36 261 0 +36 262 0 +36 263 0 +36 264 0 +36 265 0 +36 266 0 +36 267 0 +36 268 0 +36 269 0 +36 270 0 +36 271 0 +36 272 0 +36 273 0 +36 274 0 +36 275 0 +36 276 0 +36 277 0 +36 278 0 +36 279 0 +36 280 0 +36 281 0 +36 282 0 +36 283 0 +36 284 0 +36 285 0 +36 286 0 +36 287 0 +36 288 0 +36 289 0 +36 290 0 +36 291 0 +36 292 0 +36 293 0 +36 294 0 +36 295 0 +36 296 0 +36 297 0 +36 298 0 +36 299 0 +36 300 0 +36 301 0 +36 302 0 +36 303 0 +36 304 0 +36 305 0 +36 306 0 +36 307 0 +36 308 0 +36 309 0 +36 310 0 +36 311 0 +36 312 0 +36 313 0 +36 314 0 +36 315 0 +36 316 0 +36 317 0 +36 318 0 +36 319 0 +36 320 0 +36 321 0 +36 322 0 +36 323 0 +36 324 0 +36 325 0 +36 326 0 +36 327 0 +36 328 0 +36 329 0 +36 330 0 +36 331 0 +36 332 0 +36 333 0 +36 334 0 +36 335 0 +36 336 0 +36 337 0 +36 338 0 +36 339 0 +36 340 0 +36 341 0 +36 342 0 +36 343 0 +36 344 0 +36 345 0 +36 346 0 +36 347 0 +36 348 0 +36 349 0 +36 350 0 +36 351 0 +36 352 0 +36 353 0 +36 354 0 +36 355 0 +36 356 0 +36 357 0 +36 358 0 +36 359 0 +36 360 0 +36 361 0 +36 362 0 +36 363 0 +36 364 0 +36 365 0 +36 366 0 +36 367 0 +36 368 0 +36 369 0 +36 370 0 +36 371 0 +36 372 0 +36 373 0 +36 374 0 +36 375 0 +36 376 0 +36 377 0 +36 378 0 +36 379 0 +36 380 0 +36 381 0 +36 382 0 +36 383 0 +37 38 4 +37 39 4 +37 40 4 +37 41 4 +37 42 4 +37 43 4 +37 44 4 +37 45 4 +37 46 4 +37 47 4 +37 48 4 +37 49 4 +37 50 4 +37 51 4 +37 52 4 +37 53 4 +37 54 4 +37 55 4 +37 56 4 +37 57 4 +37 58 4 +37 59 4 +37 60 4 +37 61 4 +37 62 4 +37 63 4 +37 64 4 +37 65 4 +37 66 4 +37 67 4 +37 68 4 +37 69 4 +37 70 4 +37 71 4 +37 72 4 +37 73 4 +37 74 4 +37 75 4 +37 76 4 +37 77 4 +37 78 4 +37 79 4 +37 80 4 +37 81 4 +37 82 4 +37 83 4 +37 84 4 +37 85 4 +37 86 4 +37 87 4 +37 88 4 +37 89 4 +37 90 4 +37 91 4 +37 92 4 +37 93 4 +37 94 4 +37 95 4 +37 96 4 +37 97 4 +37 98 4 +37 99 4 +37 100 4 +37 101 4 +37 102 4 +37 103 4 +37 104 4 +37 105 4 +37 106 4 +37 107 4 +37 108 4 +37 109 4 +37 110 4 +37 111 4 +37 112 4 +37 113 4 +37 114 4 +37 115 4 +37 116 4 +37 117 4 +37 118 4 +37 119 4 +37 120 4 +37 121 4 +37 122 4 +37 123 4 +37 124 4 +37 125 4 +37 126 4 +37 127 4 +37 128 4 +37 129 4 +37 130 4 +37 131 4 +37 132 4 +37 133 4 +37 134 4 +37 135 4 +37 136 4 +37 137 4 +37 138 4 +37 139 4 +37 140 4 +37 141 4 +37 142 4 +37 143 4 +37 144 4 +37 145 4 +37 146 4 +37 147 4 +37 148 4 +37 149 4 +37 150 4 +37 151 4 +37 152 4 +37 153 4 +37 154 4 +37 155 4 +37 156 4 +37 157 4 +37 158 4 +37 159 4 +37 160 4 +37 161 4 +37 162 4 +37 163 4 +37 164 4 +37 165 4 +37 166 4 +37 167 4 +37 168 4 +37 169 4 +37 170 4 +37 171 4 +37 172 4 +37 173 4 +37 174 4 +37 175 4 +37 176 4 +37 177 4 +37 178 4 +37 179 4 +37 180 4 +37 181 4 +37 182 4 +37 183 4 +37 184 4 +37 185 4 +37 186 4 +37 187 4 +37 188 4 +37 189 4 +37 190 4 +37 191 4 +37 192 0 +37 193 0 +37 194 0 +37 195 0 +37 196 0 +37 197 0 +37 198 0 +37 199 0 +37 200 0 +37 201 0 +37 202 0 +37 203 0 +37 204 0 +37 205 0 +37 206 0 +37 207 0 +37 208 0 +37 209 0 +37 210 0 +37 211 0 +37 212 0 +37 213 0 +37 214 0 +37 215 0 +37 216 0 +37 217 0 +37 218 0 +37 219 0 +37 220 0 +37 221 0 +37 222 0 +37 223 0 +37 224 0 +37 225 0 +37 226 0 +37 227 0 +37 228 0 +37 229 0 +37 230 0 +37 231 0 +37 232 0 +37 233 0 +37 234 0 +37 235 0 +37 236 0 +37 237 0 +37 238 0 +37 239 0 +37 240 0 +37 241 0 +37 242 0 +37 243 0 +37 244 0 +37 245 0 +37 246 0 +37 247 0 +37 248 0 +37 249 0 +37 250 0 +37 251 0 +37 252 0 +37 253 0 +37 254 0 +37 255 0 +37 256 0 +37 257 0 +37 258 0 +37 259 0 +37 260 0 +37 261 0 +37 262 0 +37 263 0 +37 264 0 +37 265 0 +37 266 0 +37 267 0 +37 268 0 +37 269 0 +37 270 0 +37 271 0 +37 272 0 +37 273 0 +37 274 0 +37 275 0 +37 276 0 +37 277 0 +37 278 0 +37 279 0 +37 280 0 +37 281 0 +37 282 0 +37 283 0 +37 284 0 +37 285 0 +37 286 0 +37 287 0 +37 288 0 +37 289 0 +37 290 0 +37 291 0 +37 292 0 +37 293 0 +37 294 0 +37 295 0 +37 296 0 +37 297 0 +37 298 0 +37 299 0 +37 300 0 +37 301 0 +37 302 0 +37 303 0 +37 304 0 +37 305 0 +37 306 0 +37 307 0 +37 308 0 +37 309 0 +37 310 0 +37 311 0 +37 312 0 +37 313 0 +37 314 0 +37 315 0 +37 316 0 +37 317 0 +37 318 0 +37 319 0 +37 320 0 +37 321 0 +37 322 0 +37 323 0 +37 324 0 +37 325 0 +37 326 0 +37 327 0 +37 328 0 +37 329 0 +37 330 0 +37 331 0 +37 332 0 +37 333 0 +37 334 0 +37 335 0 +37 336 0 +37 337 0 +37 338 0 +37 339 0 +37 340 0 +37 341 0 +37 342 0 +37 343 0 +37 344 0 +37 345 0 +37 346 0 +37 347 0 +37 348 0 +37 349 0 +37 350 0 +37 351 0 +37 352 0 +37 353 0 +37 354 0 +37 355 0 +37 356 0 +37 357 0 +37 358 0 +37 359 0 +37 360 0 +37 361 0 +37 362 0 +37 363 0 +37 364 0 +37 365 0 +37 366 0 +37 367 0 +37 368 0 +37 369 0 +37 370 0 +37 371 0 +37 372 0 +37 373 0 +37 374 0 +37 375 0 +37 376 0 +37 377 0 +37 378 0 +37 379 0 +37 380 0 +37 381 0 +37 382 0 +37 383 0 +38 39 4 +38 40 4 +38 41 4 +38 42 4 +38 43 4 +38 44 4 +38 45 4 +38 46 4 +38 47 4 +38 48 4 +38 49 4 +38 50 4 +38 51 4 +38 52 4 +38 53 4 +38 54 4 +38 55 4 +38 56 4 +38 57 4 +38 58 4 +38 59 4 +38 60 4 +38 61 4 +38 62 4 +38 63 4 +38 64 4 +38 65 4 +38 66 4 +38 67 4 +38 68 4 +38 69 4 +38 70 4 +38 71 4 +38 72 4 +38 73 4 +38 74 4 +38 75 4 +38 76 4 +38 77 4 +38 78 4 +38 79 4 +38 80 4 +38 81 4 +38 82 4 +38 83 4 +38 84 4 +38 85 4 +38 86 4 +38 87 4 +38 88 4 +38 89 4 +38 90 4 +38 91 4 +38 92 4 +38 93 4 +38 94 4 +38 95 4 +38 96 4 +38 97 4 +38 98 4 +38 99 4 +38 100 4 +38 101 4 +38 102 4 +38 103 4 +38 104 4 +38 105 4 +38 106 4 +38 107 4 +38 108 4 +38 109 4 +38 110 4 +38 111 4 +38 112 4 +38 113 4 +38 114 4 +38 115 4 +38 116 4 +38 117 4 +38 118 4 +38 119 4 +38 120 4 +38 121 4 +38 122 4 +38 123 4 +38 124 4 +38 125 4 +38 126 4 +38 127 4 +38 128 4 +38 129 4 +38 130 4 +38 131 4 +38 132 4 +38 133 4 +38 134 4 +38 135 4 +38 136 4 +38 137 4 +38 138 4 +38 139 4 +38 140 4 +38 141 4 +38 142 4 +38 143 4 +38 144 4 +38 145 4 +38 146 4 +38 147 4 +38 148 4 +38 149 4 +38 150 4 +38 151 4 +38 152 4 +38 153 4 +38 154 4 +38 155 4 +38 156 4 +38 157 4 +38 158 4 +38 159 4 +38 160 4 +38 161 4 +38 162 4 +38 163 4 +38 164 4 +38 165 4 +38 166 4 +38 167 4 +38 168 4 +38 169 4 +38 170 4 +38 171 4 +38 172 4 +38 173 4 +38 174 4 +38 175 4 +38 176 4 +38 177 4 +38 178 4 +38 179 4 +38 180 4 +38 181 4 +38 182 4 +38 183 4 +38 184 4 +38 185 4 +38 186 4 +38 187 4 +38 188 4 +38 189 4 +38 190 4 +38 191 4 +38 192 0 +38 193 0 +38 194 0 +38 195 0 +38 196 0 +38 197 0 +38 198 0 +38 199 0 +38 200 0 +38 201 0 +38 202 0 +38 203 0 +38 204 0 +38 205 0 +38 206 0 +38 207 0 +38 208 0 +38 209 0 +38 210 0 +38 211 0 +38 212 0 +38 213 0 +38 214 0 +38 215 0 +38 216 0 +38 217 0 +38 218 0 +38 219 0 +38 220 0 +38 221 0 +38 222 0 +38 223 0 +38 224 0 +38 225 0 +38 226 0 +38 227 0 +38 228 0 +38 229 0 +38 230 0 +38 231 0 +38 232 0 +38 233 0 +38 234 0 +38 235 0 +38 236 0 +38 237 0 +38 238 0 +38 239 0 +38 240 0 +38 241 0 +38 242 0 +38 243 0 +38 244 0 +38 245 0 +38 246 0 +38 247 0 +38 248 0 +38 249 0 +38 250 0 +38 251 0 +38 252 0 +38 253 0 +38 254 0 +38 255 0 +38 256 0 +38 257 0 +38 258 0 +38 259 0 +38 260 0 +38 261 0 +38 262 0 +38 263 0 +38 264 0 +38 265 0 +38 266 0 +38 267 0 +38 268 0 +38 269 0 +38 270 0 +38 271 0 +38 272 0 +38 273 0 +38 274 0 +38 275 0 +38 276 0 +38 277 0 +38 278 0 +38 279 0 +38 280 0 +38 281 0 +38 282 0 +38 283 0 +38 284 0 +38 285 0 +38 286 0 +38 287 0 +38 288 0 +38 289 0 +38 290 0 +38 291 0 +38 292 0 +38 293 0 +38 294 0 +38 295 0 +38 296 0 +38 297 0 +38 298 0 +38 299 0 +38 300 0 +38 301 0 +38 302 0 +38 303 0 +38 304 0 +38 305 0 +38 306 0 +38 307 0 +38 308 0 +38 309 0 +38 310 0 +38 311 0 +38 312 0 +38 313 0 +38 314 0 +38 315 0 +38 316 0 +38 317 0 +38 318 0 +38 319 0 +38 320 0 +38 321 0 +38 322 0 +38 323 0 +38 324 0 +38 325 0 +38 326 0 +38 327 0 +38 328 0 +38 329 0 +38 330 0 +38 331 0 +38 332 0 +38 333 0 +38 334 0 +38 335 0 +38 336 0 +38 337 0 +38 338 0 +38 339 0 +38 340 0 +38 341 0 +38 342 0 +38 343 0 +38 344 0 +38 345 0 +38 346 0 +38 347 0 +38 348 0 +38 349 0 +38 350 0 +38 351 0 +38 352 0 +38 353 0 +38 354 0 +38 355 0 +38 356 0 +38 357 0 +38 358 0 +38 359 0 +38 360 0 +38 361 0 +38 362 0 +38 363 0 +38 364 0 +38 365 0 +38 366 0 +38 367 0 +38 368 0 +38 369 0 +38 370 0 +38 371 0 +38 372 0 +38 373 0 +38 374 0 +38 375 0 +38 376 0 +38 377 0 +38 378 0 +38 379 0 +38 380 0 +38 381 0 +38 382 0 +38 383 0 +39 40 4 +39 41 4 +39 42 4 +39 43 4 +39 44 4 +39 45 4 +39 46 4 +39 47 4 +39 48 4 +39 49 4 +39 50 4 +39 51 4 +39 52 4 +39 53 4 +39 54 4 +39 55 4 +39 56 4 +39 57 4 +39 58 4 +39 59 4 +39 60 4 +39 61 4 +39 62 4 +39 63 4 +39 64 4 +39 65 4 +39 66 4 +39 67 4 +39 68 4 +39 69 4 +39 70 4 +39 71 4 +39 72 4 +39 73 4 +39 74 4 +39 75 4 +39 76 4 +39 77 4 +39 78 4 +39 79 4 +39 80 4 +39 81 4 +39 82 4 +39 83 4 +39 84 4 +39 85 4 +39 86 4 +39 87 4 +39 88 4 +39 89 4 +39 90 4 +39 91 4 +39 92 4 +39 93 4 +39 94 4 +39 95 4 +39 96 4 +39 97 4 +39 98 4 +39 99 4 +39 100 4 +39 101 4 +39 102 4 +39 103 4 +39 104 4 +39 105 4 +39 106 4 +39 107 4 +39 108 4 +39 109 4 +39 110 4 +39 111 4 +39 112 4 +39 113 4 +39 114 4 +39 115 4 +39 116 4 +39 117 4 +39 118 4 +39 119 4 +39 120 4 +39 121 4 +39 122 4 +39 123 4 +39 124 4 +39 125 4 +39 126 4 +39 127 4 +39 128 4 +39 129 4 +39 130 4 +39 131 4 +39 132 4 +39 133 4 +39 134 4 +39 135 4 +39 136 4 +39 137 4 +39 138 4 +39 139 4 +39 140 4 +39 141 4 +39 142 4 +39 143 4 +39 144 4 +39 145 4 +39 146 4 +39 147 4 +39 148 4 +39 149 4 +39 150 4 +39 151 4 +39 152 4 +39 153 4 +39 154 4 +39 155 4 +39 156 4 +39 157 4 +39 158 4 +39 159 4 +39 160 4 +39 161 4 +39 162 4 +39 163 4 +39 164 4 +39 165 4 +39 166 4 +39 167 4 +39 168 4 +39 169 4 +39 170 4 +39 171 4 +39 172 4 +39 173 4 +39 174 4 +39 175 4 +39 176 4 +39 177 4 +39 178 4 +39 179 4 +39 180 4 +39 181 4 +39 182 4 +39 183 4 +39 184 4 +39 185 4 +39 186 4 +39 187 4 +39 188 4 +39 189 4 +39 190 4 +39 191 4 +39 192 0 +39 193 0 +39 194 0 +39 195 0 +39 196 0 +39 197 0 +39 198 0 +39 199 0 +39 200 0 +39 201 0 +39 202 0 +39 203 0 +39 204 0 +39 205 0 +39 206 0 +39 207 0 +39 208 0 +39 209 0 +39 210 0 +39 211 0 +39 212 0 +39 213 0 +39 214 0 +39 215 0 +39 216 0 +39 217 0 +39 218 0 +39 219 0 +39 220 0 +39 221 0 +39 222 0 +39 223 0 +39 224 0 +39 225 0 +39 226 0 +39 227 0 +39 228 0 +39 229 0 +39 230 0 +39 231 0 +39 232 0 +39 233 0 +39 234 0 +39 235 0 +39 236 0 +39 237 0 +39 238 0 +39 239 0 +39 240 0 +39 241 0 +39 242 0 +39 243 0 +39 244 0 +39 245 0 +39 246 0 +39 247 0 +39 248 0 +39 249 0 +39 250 0 +39 251 0 +39 252 0 +39 253 0 +39 254 0 +39 255 0 +39 256 0 +39 257 0 +39 258 0 +39 259 0 +39 260 0 +39 261 0 +39 262 0 +39 263 0 +39 264 0 +39 265 0 +39 266 0 +39 267 0 +39 268 0 +39 269 0 +39 270 0 +39 271 0 +39 272 0 +39 273 0 +39 274 0 +39 275 0 +39 276 0 +39 277 0 +39 278 0 +39 279 0 +39 280 0 +39 281 0 +39 282 0 +39 283 0 +39 284 0 +39 285 0 +39 286 0 +39 287 0 +39 288 0 +39 289 0 +39 290 0 +39 291 0 +39 292 0 +39 293 0 +39 294 0 +39 295 0 +39 296 0 +39 297 0 +39 298 0 +39 299 0 +39 300 0 +39 301 0 +39 302 0 +39 303 0 +39 304 0 +39 305 0 +39 306 0 +39 307 0 +39 308 0 +39 309 0 +39 310 0 +39 311 0 +39 312 0 +39 313 0 +39 314 0 +39 315 0 +39 316 0 +39 317 0 +39 318 0 +39 319 0 +39 320 0 +39 321 0 +39 322 0 +39 323 0 +39 324 0 +39 325 0 +39 326 0 +39 327 0 +39 328 0 +39 329 0 +39 330 0 +39 331 0 +39 332 0 +39 333 0 +39 334 0 +39 335 0 +39 336 0 +39 337 0 +39 338 0 +39 339 0 +39 340 0 +39 341 0 +39 342 0 +39 343 0 +39 344 0 +39 345 0 +39 346 0 +39 347 0 +39 348 0 +39 349 0 +39 350 0 +39 351 0 +39 352 0 +39 353 0 +39 354 0 +39 355 0 +39 356 0 +39 357 0 +39 358 0 +39 359 0 +39 360 0 +39 361 0 +39 362 0 +39 363 0 +39 364 0 +39 365 0 +39 366 0 +39 367 0 +39 368 0 +39 369 0 +39 370 0 +39 371 0 +39 372 0 +39 373 0 +39 374 0 +39 375 0 +39 376 0 +39 377 0 +39 378 0 +39 379 0 +39 380 0 +39 381 0 +39 382 0 +39 383 0 +40 41 4 +40 42 4 +40 43 4 +40 44 4 +40 45 4 +40 46 4 +40 47 4 +40 48 4 +40 49 4 +40 50 4 +40 51 4 +40 52 4 +40 53 4 +40 54 4 +40 55 4 +40 56 4 +40 57 4 +40 58 4 +40 59 4 +40 60 4 +40 61 4 +40 62 4 +40 63 4 +40 64 4 +40 65 4 +40 66 4 +40 67 4 +40 68 4 +40 69 4 +40 70 4 +40 71 4 +40 72 4 +40 73 4 +40 74 4 +40 75 4 +40 76 4 +40 77 4 +40 78 4 +40 79 4 +40 80 4 +40 81 4 +40 82 4 +40 83 4 +40 84 4 +40 85 4 +40 86 4 +40 87 4 +40 88 4 +40 89 4 +40 90 4 +40 91 4 +40 92 4 +40 93 4 +40 94 4 +40 95 4 +40 96 4 +40 97 4 +40 98 4 +40 99 4 +40 100 4 +40 101 4 +40 102 4 +40 103 4 +40 104 4 +40 105 4 +40 106 4 +40 107 4 +40 108 4 +40 109 4 +40 110 4 +40 111 4 +40 112 4 +40 113 4 +40 114 4 +40 115 4 +40 116 4 +40 117 4 +40 118 4 +40 119 4 +40 120 4 +40 121 4 +40 122 4 +40 123 4 +40 124 4 +40 125 4 +40 126 4 +40 127 4 +40 128 4 +40 129 4 +40 130 4 +40 131 4 +40 132 4 +40 133 4 +40 134 4 +40 135 4 +40 136 4 +40 137 4 +40 138 4 +40 139 4 +40 140 4 +40 141 4 +40 142 4 +40 143 4 +40 144 4 +40 145 4 +40 146 4 +40 147 4 +40 148 4 +40 149 4 +40 150 4 +40 151 4 +40 152 4 +40 153 4 +40 154 4 +40 155 4 +40 156 4 +40 157 4 +40 158 4 +40 159 4 +40 160 4 +40 161 4 +40 162 4 +40 163 4 +40 164 4 +40 165 4 +40 166 4 +40 167 4 +40 168 4 +40 169 4 +40 170 4 +40 171 4 +40 172 4 +40 173 4 +40 174 4 +40 175 4 +40 176 4 +40 177 4 +40 178 4 +40 179 4 +40 180 4 +40 181 4 +40 182 4 +40 183 4 +40 184 4 +40 185 4 +40 186 4 +40 187 4 +40 188 4 +40 189 4 +40 190 4 +40 191 4 +40 192 0 +40 193 0 +40 194 0 +40 195 0 +40 196 0 +40 197 0 +40 198 0 +40 199 0 +40 200 0 +40 201 0 +40 202 0 +40 203 0 +40 204 0 +40 205 0 +40 206 0 +40 207 0 +40 208 0 +40 209 0 +40 210 0 +40 211 0 +40 212 0 +40 213 0 +40 214 0 +40 215 0 +40 216 0 +40 217 0 +40 218 0 +40 219 0 +40 220 0 +40 221 0 +40 222 0 +40 223 0 +40 224 0 +40 225 0 +40 226 0 +40 227 0 +40 228 0 +40 229 0 +40 230 0 +40 231 0 +40 232 0 +40 233 0 +40 234 0 +40 235 0 +40 236 0 +40 237 0 +40 238 0 +40 239 0 +40 240 0 +40 241 0 +40 242 0 +40 243 0 +40 244 0 +40 245 0 +40 246 0 +40 247 0 +40 248 0 +40 249 0 +40 250 0 +40 251 0 +40 252 0 +40 253 0 +40 254 0 +40 255 0 +40 256 0 +40 257 0 +40 258 0 +40 259 0 +40 260 0 +40 261 0 +40 262 0 +40 263 0 +40 264 0 +40 265 0 +40 266 0 +40 267 0 +40 268 0 +40 269 0 +40 270 0 +40 271 0 +40 272 0 +40 273 0 +40 274 0 +40 275 0 +40 276 0 +40 277 0 +40 278 0 +40 279 0 +40 280 0 +40 281 0 +40 282 0 +40 283 0 +40 284 0 +40 285 0 +40 286 0 +40 287 0 +40 288 0 +40 289 0 +40 290 0 +40 291 0 +40 292 0 +40 293 0 +40 294 0 +40 295 0 +40 296 0 +40 297 0 +40 298 0 +40 299 0 +40 300 0 +40 301 0 +40 302 0 +40 303 0 +40 304 0 +40 305 0 +40 306 0 +40 307 0 +40 308 0 +40 309 0 +40 310 0 +40 311 0 +40 312 0 +40 313 0 +40 314 0 +40 315 0 +40 316 0 +40 317 0 +40 318 0 +40 319 0 +40 320 0 +40 321 0 +40 322 0 +40 323 0 +40 324 0 +40 325 0 +40 326 0 +40 327 0 +40 328 0 +40 329 0 +40 330 0 +40 331 0 +40 332 0 +40 333 0 +40 334 0 +40 335 0 +40 336 0 +40 337 0 +40 338 0 +40 339 0 +40 340 0 +40 341 0 +40 342 0 +40 343 0 +40 344 0 +40 345 0 +40 346 0 +40 347 0 +40 348 0 +40 349 0 +40 350 0 +40 351 0 +40 352 0 +40 353 0 +40 354 0 +40 355 0 +40 356 0 +40 357 0 +40 358 0 +40 359 0 +40 360 0 +40 361 0 +40 362 0 +40 363 0 +40 364 0 +40 365 0 +40 366 0 +40 367 0 +40 368 0 +40 369 0 +40 370 0 +40 371 0 +40 372 0 +40 373 0 +40 374 0 +40 375 0 +40 376 0 +40 377 0 +40 378 0 +40 379 0 +40 380 0 +40 381 0 +40 382 0 +40 383 0 +41 42 4 +41 43 4 +41 44 4 +41 45 4 +41 46 4 +41 47 4 +41 48 4 +41 49 4 +41 50 4 +41 51 4 +41 52 4 +41 53 4 +41 54 4 +41 55 4 +41 56 4 +41 57 4 +41 58 4 +41 59 4 +41 60 4 +41 61 4 +41 62 4 +41 63 4 +41 64 4 +41 65 4 +41 66 4 +41 67 4 +41 68 4 +41 69 4 +41 70 4 +41 71 4 +41 72 4 +41 73 4 +41 74 4 +41 75 4 +41 76 4 +41 77 4 +41 78 4 +41 79 4 +41 80 4 +41 81 4 +41 82 4 +41 83 4 +41 84 4 +41 85 4 +41 86 4 +41 87 4 +41 88 4 +41 89 4 +41 90 4 +41 91 4 +41 92 4 +41 93 4 +41 94 4 +41 95 4 +41 96 4 +41 97 4 +41 98 4 +41 99 4 +41 100 4 +41 101 4 +41 102 4 +41 103 4 +41 104 4 +41 105 4 +41 106 4 +41 107 4 +41 108 4 +41 109 4 +41 110 4 +41 111 4 +41 112 4 +41 113 4 +41 114 4 +41 115 4 +41 116 4 +41 117 4 +41 118 4 +41 119 4 +41 120 4 +41 121 4 +41 122 4 +41 123 4 +41 124 4 +41 125 4 +41 126 4 +41 127 4 +41 128 4 +41 129 4 +41 130 4 +41 131 4 +41 132 4 +41 133 4 +41 134 4 +41 135 4 +41 136 4 +41 137 4 +41 138 4 +41 139 4 +41 140 4 +41 141 4 +41 142 4 +41 143 4 +41 144 4 +41 145 4 +41 146 4 +41 147 4 +41 148 4 +41 149 4 +41 150 4 +41 151 4 +41 152 4 +41 153 4 +41 154 4 +41 155 4 +41 156 4 +41 157 4 +41 158 4 +41 159 4 +41 160 4 +41 161 4 +41 162 4 +41 163 4 +41 164 4 +41 165 4 +41 166 4 +41 167 4 +41 168 4 +41 169 4 +41 170 4 +41 171 4 +41 172 4 +41 173 4 +41 174 4 +41 175 4 +41 176 4 +41 177 4 +41 178 4 +41 179 4 +41 180 4 +41 181 4 +41 182 4 +41 183 4 +41 184 4 +41 185 4 +41 186 4 +41 187 4 +41 188 4 +41 189 4 +41 190 4 +41 191 4 +41 192 0 +41 193 0 +41 194 0 +41 195 0 +41 196 0 +41 197 0 +41 198 0 +41 199 0 +41 200 0 +41 201 0 +41 202 0 +41 203 0 +41 204 0 +41 205 0 +41 206 0 +41 207 0 +41 208 0 +41 209 0 +41 210 0 +41 211 0 +41 212 0 +41 213 0 +41 214 0 +41 215 0 +41 216 0 +41 217 0 +41 218 0 +41 219 0 +41 220 0 +41 221 0 +41 222 0 +41 223 0 +41 224 0 +41 225 0 +41 226 0 +41 227 0 +41 228 0 +41 229 0 +41 230 0 +41 231 0 +41 232 0 +41 233 0 +41 234 0 +41 235 0 +41 236 0 +41 237 0 +41 238 0 +41 239 0 +41 240 0 +41 241 0 +41 242 0 +41 243 0 +41 244 0 +41 245 0 +41 246 0 +41 247 0 +41 248 0 +41 249 0 +41 250 0 +41 251 0 +41 252 0 +41 253 0 +41 254 0 +41 255 0 +41 256 0 +41 257 0 +41 258 0 +41 259 0 +41 260 0 +41 261 0 +41 262 0 +41 263 0 +41 264 0 +41 265 0 +41 266 0 +41 267 0 +41 268 0 +41 269 0 +41 270 0 +41 271 0 +41 272 0 +41 273 0 +41 274 0 +41 275 0 +41 276 0 +41 277 0 +41 278 0 +41 279 0 +41 280 0 +41 281 0 +41 282 0 +41 283 0 +41 284 0 +41 285 0 +41 286 0 +41 287 0 +41 288 0 +41 289 0 +41 290 0 +41 291 0 +41 292 0 +41 293 0 +41 294 0 +41 295 0 +41 296 0 +41 297 0 +41 298 0 +41 299 0 +41 300 0 +41 301 0 +41 302 0 +41 303 0 +41 304 0 +41 305 0 +41 306 0 +41 307 0 +41 308 0 +41 309 0 +41 310 0 +41 311 0 +41 312 0 +41 313 0 +41 314 0 +41 315 0 +41 316 0 +41 317 0 +41 318 0 +41 319 0 +41 320 0 +41 321 0 +41 322 0 +41 323 0 +41 324 0 +41 325 0 +41 326 0 +41 327 0 +41 328 0 +41 329 0 +41 330 0 +41 331 0 +41 332 0 +41 333 0 +41 334 0 +41 335 0 +41 336 0 +41 337 0 +41 338 0 +41 339 0 +41 340 0 +41 341 0 +41 342 0 +41 343 0 +41 344 0 +41 345 0 +41 346 0 +41 347 0 +41 348 0 +41 349 0 +41 350 0 +41 351 0 +41 352 0 +41 353 0 +41 354 0 +41 355 0 +41 356 0 +41 357 0 +41 358 0 +41 359 0 +41 360 0 +41 361 0 +41 362 0 +41 363 0 +41 364 0 +41 365 0 +41 366 0 +41 367 0 +41 368 0 +41 369 0 +41 370 0 +41 371 0 +41 372 0 +41 373 0 +41 374 0 +41 375 0 +41 376 0 +41 377 0 +41 378 0 +41 379 0 +41 380 0 +41 381 0 +41 382 0 +41 383 0 +42 43 4 +42 44 4 +42 45 4 +42 46 4 +42 47 4 +42 48 4 +42 49 4 +42 50 4 +42 51 4 +42 52 4 +42 53 4 +42 54 4 +42 55 4 +42 56 4 +42 57 4 +42 58 4 +42 59 4 +42 60 4 +42 61 4 +42 62 4 +42 63 4 +42 64 4 +42 65 4 +42 66 4 +42 67 4 +42 68 4 +42 69 4 +42 70 4 +42 71 4 +42 72 4 +42 73 4 +42 74 4 +42 75 4 +42 76 4 +42 77 4 +42 78 4 +42 79 4 +42 80 4 +42 81 4 +42 82 4 +42 83 4 +42 84 4 +42 85 4 +42 86 4 +42 87 4 +42 88 4 +42 89 4 +42 90 4 +42 91 4 +42 92 4 +42 93 4 +42 94 4 +42 95 4 +42 96 4 +42 97 4 +42 98 4 +42 99 4 +42 100 4 +42 101 4 +42 102 4 +42 103 4 +42 104 4 +42 105 4 +42 106 4 +42 107 4 +42 108 4 +42 109 4 +42 110 4 +42 111 4 +42 112 4 +42 113 4 +42 114 4 +42 115 4 +42 116 4 +42 117 4 +42 118 4 +42 119 4 +42 120 4 +42 121 4 +42 122 4 +42 123 4 +42 124 4 +42 125 4 +42 126 4 +42 127 4 +42 128 4 +42 129 4 +42 130 4 +42 131 4 +42 132 4 +42 133 4 +42 134 4 +42 135 4 +42 136 4 +42 137 4 +42 138 4 +42 139 4 +42 140 4 +42 141 4 +42 142 4 +42 143 4 +42 144 4 +42 145 4 +42 146 4 +42 147 4 +42 148 4 +42 149 4 +42 150 4 +42 151 4 +42 152 4 +42 153 4 +42 154 4 +42 155 4 +42 156 4 +42 157 4 +42 158 4 +42 159 4 +42 160 4 +42 161 4 +42 162 4 +42 163 4 +42 164 4 +42 165 4 +42 166 4 +42 167 4 +42 168 4 +42 169 4 +42 170 4 +42 171 4 +42 172 4 +42 173 4 +42 174 4 +42 175 4 +42 176 4 +42 177 4 +42 178 4 +42 179 4 +42 180 4 +42 181 4 +42 182 4 +42 183 4 +42 184 4 +42 185 4 +42 186 4 +42 187 4 +42 188 4 +42 189 4 +42 190 4 +42 191 4 +42 192 0 +42 193 0 +42 194 0 +42 195 0 +42 196 0 +42 197 0 +42 198 0 +42 199 0 +42 200 0 +42 201 0 +42 202 0 +42 203 0 +42 204 0 +42 205 0 +42 206 0 +42 207 0 +42 208 0 +42 209 0 +42 210 0 +42 211 0 +42 212 0 +42 213 0 +42 214 0 +42 215 0 +42 216 0 +42 217 0 +42 218 0 +42 219 0 +42 220 0 +42 221 0 +42 222 0 +42 223 0 +42 224 0 +42 225 0 +42 226 0 +42 227 0 +42 228 0 +42 229 0 +42 230 0 +42 231 0 +42 232 0 +42 233 0 +42 234 0 +42 235 0 +42 236 0 +42 237 0 +42 238 0 +42 239 0 +42 240 0 +42 241 0 +42 242 0 +42 243 0 +42 244 0 +42 245 0 +42 246 0 +42 247 0 +42 248 0 +42 249 0 +42 250 0 +42 251 0 +42 252 0 +42 253 0 +42 254 0 +42 255 0 +42 256 0 +42 257 0 +42 258 0 +42 259 0 +42 260 0 +42 261 0 +42 262 0 +42 263 0 +42 264 0 +42 265 0 +42 266 0 +42 267 0 +42 268 0 +42 269 0 +42 270 0 +42 271 0 +42 272 0 +42 273 0 +42 274 0 +42 275 0 +42 276 0 +42 277 0 +42 278 0 +42 279 0 +42 280 0 +42 281 0 +42 282 0 +42 283 0 +42 284 0 +42 285 0 +42 286 0 +42 287 0 +42 288 0 +42 289 0 +42 290 0 +42 291 0 +42 292 0 +42 293 0 +42 294 0 +42 295 0 +42 296 0 +42 297 0 +42 298 0 +42 299 0 +42 300 0 +42 301 0 +42 302 0 +42 303 0 +42 304 0 +42 305 0 +42 306 0 +42 307 0 +42 308 0 +42 309 0 +42 310 0 +42 311 0 +42 312 0 +42 313 0 +42 314 0 +42 315 0 +42 316 0 +42 317 0 +42 318 0 +42 319 0 +42 320 0 +42 321 0 +42 322 0 +42 323 0 +42 324 0 +42 325 0 +42 326 0 +42 327 0 +42 328 0 +42 329 0 +42 330 0 +42 331 0 +42 332 0 +42 333 0 +42 334 0 +42 335 0 +42 336 0 +42 337 0 +42 338 0 +42 339 0 +42 340 0 +42 341 0 +42 342 0 +42 343 0 +42 344 0 +42 345 0 +42 346 0 +42 347 0 +42 348 0 +42 349 0 +42 350 0 +42 351 0 +42 352 0 +42 353 0 +42 354 0 +42 355 0 +42 356 0 +42 357 0 +42 358 0 +42 359 0 +42 360 0 +42 361 0 +42 362 0 +42 363 0 +42 364 0 +42 365 0 +42 366 0 +42 367 0 +42 368 0 +42 369 0 +42 370 0 +42 371 0 +42 372 0 +42 373 0 +42 374 0 +42 375 0 +42 376 0 +42 377 0 +42 378 0 +42 379 0 +42 380 0 +42 381 0 +42 382 0 +42 383 0 +43 44 4 +43 45 4 +43 46 4 +43 47 4 +43 48 4 +43 49 4 +43 50 4 +43 51 4 +43 52 4 +43 53 4 +43 54 4 +43 55 4 +43 56 4 +43 57 4 +43 58 4 +43 59 4 +43 60 4 +43 61 4 +43 62 4 +43 63 4 +43 64 4 +43 65 4 +43 66 4 +43 67 4 +43 68 4 +43 69 4 +43 70 4 +43 71 4 +43 72 4 +43 73 4 +43 74 4 +43 75 4 +43 76 4 +43 77 4 +43 78 4 +43 79 4 +43 80 4 +43 81 4 +43 82 4 +43 83 4 +43 84 4 +43 85 4 +43 86 4 +43 87 4 +43 88 4 +43 89 4 +43 90 4 +43 91 4 +43 92 4 +43 93 4 +43 94 4 +43 95 4 +43 96 4 +43 97 4 +43 98 4 +43 99 4 +43 100 4 +43 101 4 +43 102 4 +43 103 4 +43 104 4 +43 105 4 +43 106 4 +43 107 4 +43 108 4 +43 109 4 +43 110 4 +43 111 4 +43 112 4 +43 113 4 +43 114 4 +43 115 4 +43 116 4 +43 117 4 +43 118 4 +43 119 4 +43 120 4 +43 121 4 +43 122 4 +43 123 4 +43 124 4 +43 125 4 +43 126 4 +43 127 4 +43 128 4 +43 129 4 +43 130 4 +43 131 4 +43 132 4 +43 133 4 +43 134 4 +43 135 4 +43 136 4 +43 137 4 +43 138 4 +43 139 4 +43 140 4 +43 141 4 +43 142 4 +43 143 4 +43 144 4 +43 145 4 +43 146 4 +43 147 4 +43 148 4 +43 149 4 +43 150 4 +43 151 4 +43 152 4 +43 153 4 +43 154 4 +43 155 4 +43 156 4 +43 157 4 +43 158 4 +43 159 4 +43 160 4 +43 161 4 +43 162 4 +43 163 4 +43 164 4 +43 165 4 +43 166 4 +43 167 4 +43 168 4 +43 169 4 +43 170 4 +43 171 4 +43 172 4 +43 173 4 +43 174 4 +43 175 4 +43 176 4 +43 177 4 +43 178 4 +43 179 4 +43 180 4 +43 181 4 +43 182 4 +43 183 4 +43 184 4 +43 185 4 +43 186 4 +43 187 4 +43 188 4 +43 189 4 +43 190 4 +43 191 4 +43 192 0 +43 193 0 +43 194 0 +43 195 0 +43 196 0 +43 197 0 +43 198 0 +43 199 0 +43 200 0 +43 201 0 +43 202 0 +43 203 0 +43 204 0 +43 205 0 +43 206 0 +43 207 0 +43 208 0 +43 209 0 +43 210 0 +43 211 0 +43 212 0 +43 213 0 +43 214 0 +43 215 0 +43 216 0 +43 217 0 +43 218 0 +43 219 0 +43 220 0 +43 221 0 +43 222 0 +43 223 0 +43 224 0 +43 225 0 +43 226 0 +43 227 0 +43 228 0 +43 229 0 +43 230 0 +43 231 0 +43 232 0 +43 233 0 +43 234 0 +43 235 0 +43 236 0 +43 237 0 +43 238 0 +43 239 0 +43 240 0 +43 241 0 +43 242 0 +43 243 0 +43 244 0 +43 245 0 +43 246 0 +43 247 0 +43 248 0 +43 249 0 +43 250 0 +43 251 0 +43 252 0 +43 253 0 +43 254 0 +43 255 0 +43 256 0 +43 257 0 +43 258 0 +43 259 0 +43 260 0 +43 261 0 +43 262 0 +43 263 0 +43 264 0 +43 265 0 +43 266 0 +43 267 0 +43 268 0 +43 269 0 +43 270 0 +43 271 0 +43 272 0 +43 273 0 +43 274 0 +43 275 0 +43 276 0 +43 277 0 +43 278 0 +43 279 0 +43 280 0 +43 281 0 +43 282 0 +43 283 0 +43 284 0 +43 285 0 +43 286 0 +43 287 0 +43 288 0 +43 289 0 +43 290 0 +43 291 0 +43 292 0 +43 293 0 +43 294 0 +43 295 0 +43 296 0 +43 297 0 +43 298 0 +43 299 0 +43 300 0 +43 301 0 +43 302 0 +43 303 0 +43 304 0 +43 305 0 +43 306 0 +43 307 0 +43 308 0 +43 309 0 +43 310 0 +43 311 0 +43 312 0 +43 313 0 +43 314 0 +43 315 0 +43 316 0 +43 317 0 +43 318 0 +43 319 0 +43 320 0 +43 321 0 +43 322 0 +43 323 0 +43 324 0 +43 325 0 +43 326 0 +43 327 0 +43 328 0 +43 329 0 +43 330 0 +43 331 0 +43 332 0 +43 333 0 +43 334 0 +43 335 0 +43 336 0 +43 337 0 +43 338 0 +43 339 0 +43 340 0 +43 341 0 +43 342 0 +43 343 0 +43 344 0 +43 345 0 +43 346 0 +43 347 0 +43 348 0 +43 349 0 +43 350 0 +43 351 0 +43 352 0 +43 353 0 +43 354 0 +43 355 0 +43 356 0 +43 357 0 +43 358 0 +43 359 0 +43 360 0 +43 361 0 +43 362 0 +43 363 0 +43 364 0 +43 365 0 +43 366 0 +43 367 0 +43 368 0 +43 369 0 +43 370 0 +43 371 0 +43 372 0 +43 373 0 +43 374 0 +43 375 0 +43 376 0 +43 377 0 +43 378 0 +43 379 0 +43 380 0 +43 381 0 +43 382 0 +43 383 0 +44 45 4 +44 46 4 +44 47 4 +44 48 4 +44 49 4 +44 50 4 +44 51 4 +44 52 4 +44 53 4 +44 54 4 +44 55 4 +44 56 4 +44 57 4 +44 58 4 +44 59 4 +44 60 4 +44 61 4 +44 62 4 +44 63 4 +44 64 4 +44 65 4 +44 66 4 +44 67 4 +44 68 4 +44 69 4 +44 70 4 +44 71 4 +44 72 4 +44 73 4 +44 74 4 +44 75 4 +44 76 4 +44 77 4 +44 78 4 +44 79 4 +44 80 4 +44 81 4 +44 82 4 +44 83 4 +44 84 4 +44 85 4 +44 86 4 +44 87 4 +44 88 4 +44 89 4 +44 90 4 +44 91 4 +44 92 4 +44 93 4 +44 94 4 +44 95 4 +44 96 4 +44 97 4 +44 98 4 +44 99 4 +44 100 4 +44 101 4 +44 102 4 +44 103 4 +44 104 4 +44 105 4 +44 106 4 +44 107 4 +44 108 4 +44 109 4 +44 110 4 +44 111 4 +44 112 4 +44 113 4 +44 114 4 +44 115 4 +44 116 4 +44 117 4 +44 118 4 +44 119 4 +44 120 4 +44 121 4 +44 122 4 +44 123 4 +44 124 4 +44 125 4 +44 126 4 +44 127 4 +44 128 4 +44 129 4 +44 130 4 +44 131 4 +44 132 4 +44 133 4 +44 134 4 +44 135 4 +44 136 4 +44 137 4 +44 138 4 +44 139 4 +44 140 4 +44 141 4 +44 142 4 +44 143 4 +44 144 4 +44 145 4 +44 146 4 +44 147 4 +44 148 4 +44 149 4 +44 150 4 +44 151 4 +44 152 4 +44 153 4 +44 154 4 +44 155 4 +44 156 4 +44 157 4 +44 158 4 +44 159 4 +44 160 4 +44 161 4 +44 162 4 +44 163 4 +44 164 4 +44 165 4 +44 166 4 +44 167 4 +44 168 4 +44 169 4 +44 170 4 +44 171 4 +44 172 4 +44 173 4 +44 174 4 +44 175 4 +44 176 4 +44 177 4 +44 178 4 +44 179 4 +44 180 4 +44 181 4 +44 182 4 +44 183 4 +44 184 4 +44 185 4 +44 186 4 +44 187 4 +44 188 4 +44 189 4 +44 190 4 +44 191 4 +44 192 0 +44 193 0 +44 194 0 +44 195 0 +44 196 0 +44 197 0 +44 198 0 +44 199 0 +44 200 0 +44 201 0 +44 202 0 +44 203 0 +44 204 0 +44 205 0 +44 206 0 +44 207 0 +44 208 0 +44 209 0 +44 210 0 +44 211 0 +44 212 0 +44 213 0 +44 214 0 +44 215 0 +44 216 0 +44 217 0 +44 218 0 +44 219 0 +44 220 0 +44 221 0 +44 222 0 +44 223 0 +44 224 0 +44 225 0 +44 226 0 +44 227 0 +44 228 0 +44 229 0 +44 230 0 +44 231 0 +44 232 0 +44 233 0 +44 234 0 +44 235 0 +44 236 0 +44 237 0 +44 238 0 +44 239 0 +44 240 0 +44 241 0 +44 242 0 +44 243 0 +44 244 0 +44 245 0 +44 246 0 +44 247 0 +44 248 0 +44 249 0 +44 250 0 +44 251 0 +44 252 0 +44 253 0 +44 254 0 +44 255 0 +44 256 0 +44 257 0 +44 258 0 +44 259 0 +44 260 0 +44 261 0 +44 262 0 +44 263 0 +44 264 0 +44 265 0 +44 266 0 +44 267 0 +44 268 0 +44 269 0 +44 270 0 +44 271 0 +44 272 0 +44 273 0 +44 274 0 +44 275 0 +44 276 0 +44 277 0 +44 278 0 +44 279 0 +44 280 0 +44 281 0 +44 282 0 +44 283 0 +44 284 0 +44 285 0 +44 286 0 +44 287 0 +44 288 0 +44 289 0 +44 290 0 +44 291 0 +44 292 0 +44 293 0 +44 294 0 +44 295 0 +44 296 0 +44 297 0 +44 298 0 +44 299 0 +44 300 0 +44 301 0 +44 302 0 +44 303 0 +44 304 0 +44 305 0 +44 306 0 +44 307 0 +44 308 0 +44 309 0 +44 310 0 +44 311 0 +44 312 0 +44 313 0 +44 314 0 +44 315 0 +44 316 0 +44 317 0 +44 318 0 +44 319 0 +44 320 0 +44 321 0 +44 322 0 +44 323 0 +44 324 0 +44 325 0 +44 326 0 +44 327 0 +44 328 0 +44 329 0 +44 330 0 +44 331 0 +44 332 0 +44 333 0 +44 334 0 +44 335 0 +44 336 0 +44 337 0 +44 338 0 +44 339 0 +44 340 0 +44 341 0 +44 342 0 +44 343 0 +44 344 0 +44 345 0 +44 346 0 +44 347 0 +44 348 0 +44 349 0 +44 350 0 +44 351 0 +44 352 0 +44 353 0 +44 354 0 +44 355 0 +44 356 0 +44 357 0 +44 358 0 +44 359 0 +44 360 0 +44 361 0 +44 362 0 +44 363 0 +44 364 0 +44 365 0 +44 366 0 +44 367 0 +44 368 0 +44 369 0 +44 370 0 +44 371 0 +44 372 0 +44 373 0 +44 374 0 +44 375 0 +44 376 0 +44 377 0 +44 378 0 +44 379 0 +44 380 0 +44 381 0 +44 382 0 +44 383 0 +45 46 4 +45 47 4 +45 48 4 +45 49 4 +45 50 4 +45 51 4 +45 52 4 +45 53 4 +45 54 4 +45 55 4 +45 56 4 +45 57 4 +45 58 4 +45 59 4 +45 60 4 +45 61 4 +45 62 4 +45 63 4 +45 64 4 +45 65 4 +45 66 4 +45 67 4 +45 68 4 +45 69 4 +45 70 4 +45 71 4 +45 72 4 +45 73 4 +45 74 4 +45 75 4 +45 76 4 +45 77 4 +45 78 4 +45 79 4 +45 80 4 +45 81 4 +45 82 4 +45 83 4 +45 84 4 +45 85 4 +45 86 4 +45 87 4 +45 88 4 +45 89 4 +45 90 4 +45 91 4 +45 92 4 +45 93 4 +45 94 4 +45 95 4 +45 96 4 +45 97 4 +45 98 4 +45 99 4 +45 100 4 +45 101 4 +45 102 4 +45 103 4 +45 104 4 +45 105 4 +45 106 4 +45 107 4 +45 108 4 +45 109 4 +45 110 4 +45 111 4 +45 112 4 +45 113 4 +45 114 4 +45 115 4 +45 116 4 +45 117 4 +45 118 4 +45 119 4 +45 120 4 +45 121 4 +45 122 4 +45 123 4 +45 124 4 +45 125 4 +45 126 4 +45 127 4 +45 128 4 +45 129 4 +45 130 4 +45 131 4 +45 132 4 +45 133 4 +45 134 4 +45 135 4 +45 136 4 +45 137 4 +45 138 4 +45 139 4 +45 140 4 +45 141 4 +45 142 4 +45 143 4 +45 144 4 +45 145 4 +45 146 4 +45 147 4 +45 148 4 +45 149 4 +45 150 4 +45 151 4 +45 152 4 +45 153 4 +45 154 4 +45 155 4 +45 156 4 +45 157 4 +45 158 4 +45 159 4 +45 160 4 +45 161 4 +45 162 4 +45 163 4 +45 164 4 +45 165 4 +45 166 4 +45 167 4 +45 168 4 +45 169 4 +45 170 4 +45 171 4 +45 172 4 +45 173 4 +45 174 4 +45 175 4 +45 176 4 +45 177 4 +45 178 4 +45 179 4 +45 180 4 +45 181 4 +45 182 4 +45 183 4 +45 184 4 +45 185 4 +45 186 4 +45 187 4 +45 188 4 +45 189 4 +45 190 4 +45 191 4 +45 192 0 +45 193 0 +45 194 0 +45 195 0 +45 196 0 +45 197 0 +45 198 0 +45 199 0 +45 200 0 +45 201 0 +45 202 0 +45 203 0 +45 204 0 +45 205 0 +45 206 0 +45 207 0 +45 208 0 +45 209 0 +45 210 0 +45 211 0 +45 212 0 +45 213 0 +45 214 0 +45 215 0 +45 216 0 +45 217 0 +45 218 0 +45 219 0 +45 220 0 +45 221 0 +45 222 0 +45 223 0 +45 224 0 +45 225 0 +45 226 0 +45 227 0 +45 228 0 +45 229 0 +45 230 0 +45 231 0 +45 232 0 +45 233 0 +45 234 0 +45 235 0 +45 236 0 +45 237 0 +45 238 0 +45 239 0 +45 240 0 +45 241 0 +45 242 0 +45 243 0 +45 244 0 +45 245 0 +45 246 0 +45 247 0 +45 248 0 +45 249 0 +45 250 0 +45 251 0 +45 252 0 +45 253 0 +45 254 0 +45 255 0 +45 256 0 +45 257 0 +45 258 0 +45 259 0 +45 260 0 +45 261 0 +45 262 0 +45 263 0 +45 264 0 +45 265 0 +45 266 0 +45 267 0 +45 268 0 +45 269 0 +45 270 0 +45 271 0 +45 272 0 +45 273 0 +45 274 0 +45 275 0 +45 276 0 +45 277 0 +45 278 0 +45 279 0 +45 280 0 +45 281 0 +45 282 0 +45 283 0 +45 284 0 +45 285 0 +45 286 0 +45 287 0 +45 288 0 +45 289 0 +45 290 0 +45 291 0 +45 292 0 +45 293 0 +45 294 0 +45 295 0 +45 296 0 +45 297 0 +45 298 0 +45 299 0 +45 300 0 +45 301 0 +45 302 0 +45 303 0 +45 304 0 +45 305 0 +45 306 0 +45 307 0 +45 308 0 +45 309 0 +45 310 0 +45 311 0 +45 312 0 +45 313 0 +45 314 0 +45 315 0 +45 316 0 +45 317 0 +45 318 0 +45 319 0 +45 320 0 +45 321 0 +45 322 0 +45 323 0 +45 324 0 +45 325 0 +45 326 0 +45 327 0 +45 328 0 +45 329 0 +45 330 0 +45 331 0 +45 332 0 +45 333 0 +45 334 0 +45 335 0 +45 336 0 +45 337 0 +45 338 0 +45 339 0 +45 340 0 +45 341 0 +45 342 0 +45 343 0 +45 344 0 +45 345 0 +45 346 0 +45 347 0 +45 348 0 +45 349 0 +45 350 0 +45 351 0 +45 352 0 +45 353 0 +45 354 0 +45 355 0 +45 356 0 +45 357 0 +45 358 0 +45 359 0 +45 360 0 +45 361 0 +45 362 0 +45 363 0 +45 364 0 +45 365 0 +45 366 0 +45 367 0 +45 368 0 +45 369 0 +45 370 0 +45 371 0 +45 372 0 +45 373 0 +45 374 0 +45 375 0 +45 376 0 +45 377 0 +45 378 0 +45 379 0 +45 380 0 +45 381 0 +45 382 0 +45 383 0 +46 47 4 +46 48 4 +46 49 4 +46 50 4 +46 51 4 +46 52 4 +46 53 4 +46 54 4 +46 55 4 +46 56 4 +46 57 4 +46 58 4 +46 59 4 +46 60 4 +46 61 4 +46 62 4 +46 63 4 +46 64 4 +46 65 4 +46 66 4 +46 67 4 +46 68 4 +46 69 4 +46 70 4 +46 71 4 +46 72 4 +46 73 4 +46 74 4 +46 75 4 +46 76 4 +46 77 4 +46 78 4 +46 79 4 +46 80 4 +46 81 4 +46 82 4 +46 83 4 +46 84 4 +46 85 4 +46 86 4 +46 87 4 +46 88 4 +46 89 4 +46 90 4 +46 91 4 +46 92 4 +46 93 4 +46 94 4 +46 95 4 +46 96 4 +46 97 4 +46 98 4 +46 99 4 +46 100 4 +46 101 4 +46 102 4 +46 103 4 +46 104 4 +46 105 4 +46 106 4 +46 107 4 +46 108 4 +46 109 4 +46 110 4 +46 111 4 +46 112 4 +46 113 4 +46 114 4 +46 115 4 +46 116 4 +46 117 4 +46 118 4 +46 119 4 +46 120 4 +46 121 4 +46 122 4 +46 123 4 +46 124 4 +46 125 4 +46 126 4 +46 127 4 +46 128 4 +46 129 4 +46 130 4 +46 131 4 +46 132 4 +46 133 4 +46 134 4 +46 135 4 +46 136 4 +46 137 4 +46 138 4 +46 139 4 +46 140 4 +46 141 4 +46 142 4 +46 143 4 +46 144 4 +46 145 4 +46 146 4 +46 147 4 +46 148 4 +46 149 4 +46 150 4 +46 151 4 +46 152 4 +46 153 4 +46 154 4 +46 155 4 +46 156 4 +46 157 4 +46 158 4 +46 159 4 +46 160 4 +46 161 4 +46 162 4 +46 163 4 +46 164 4 +46 165 4 +46 166 4 +46 167 4 +46 168 4 +46 169 4 +46 170 4 +46 171 4 +46 172 4 +46 173 4 +46 174 4 +46 175 4 +46 176 4 +46 177 4 +46 178 4 +46 179 4 +46 180 4 +46 181 4 +46 182 4 +46 183 4 +46 184 4 +46 185 4 +46 186 4 +46 187 4 +46 188 4 +46 189 4 +46 190 4 +46 191 4 +46 192 0 +46 193 0 +46 194 0 +46 195 0 +46 196 0 +46 197 0 +46 198 0 +46 199 0 +46 200 0 +46 201 0 +46 202 0 +46 203 0 +46 204 0 +46 205 0 +46 206 0 +46 207 0 +46 208 0 +46 209 0 +46 210 0 +46 211 0 +46 212 0 +46 213 0 +46 214 0 +46 215 0 +46 216 0 +46 217 0 +46 218 0 +46 219 0 +46 220 0 +46 221 0 +46 222 0 +46 223 0 +46 224 0 +46 225 0 +46 226 0 +46 227 0 +46 228 0 +46 229 0 +46 230 0 +46 231 0 +46 232 0 +46 233 0 +46 234 0 +46 235 0 +46 236 0 +46 237 0 +46 238 0 +46 239 0 +46 240 0 +46 241 0 +46 242 0 +46 243 0 +46 244 0 +46 245 0 +46 246 0 +46 247 0 +46 248 0 +46 249 0 +46 250 0 +46 251 0 +46 252 0 +46 253 0 +46 254 0 +46 255 0 +46 256 0 +46 257 0 +46 258 0 +46 259 0 +46 260 0 +46 261 0 +46 262 0 +46 263 0 +46 264 0 +46 265 0 +46 266 0 +46 267 0 +46 268 0 +46 269 0 +46 270 0 +46 271 0 +46 272 0 +46 273 0 +46 274 0 +46 275 0 +46 276 0 +46 277 0 +46 278 0 +46 279 0 +46 280 0 +46 281 0 +46 282 0 +46 283 0 +46 284 0 +46 285 0 +46 286 0 +46 287 0 +46 288 0 +46 289 0 +46 290 0 +46 291 0 +46 292 0 +46 293 0 +46 294 0 +46 295 0 +46 296 0 +46 297 0 +46 298 0 +46 299 0 +46 300 0 +46 301 0 +46 302 0 +46 303 0 +46 304 0 +46 305 0 +46 306 0 +46 307 0 +46 308 0 +46 309 0 +46 310 0 +46 311 0 +46 312 0 +46 313 0 +46 314 0 +46 315 0 +46 316 0 +46 317 0 +46 318 0 +46 319 0 +46 320 0 +46 321 0 +46 322 0 +46 323 0 +46 324 0 +46 325 0 +46 326 0 +46 327 0 +46 328 0 +46 329 0 +46 330 0 +46 331 0 +46 332 0 +46 333 0 +46 334 0 +46 335 0 +46 336 0 +46 337 0 +46 338 0 +46 339 0 +46 340 0 +46 341 0 +46 342 0 +46 343 0 +46 344 0 +46 345 0 +46 346 0 +46 347 0 +46 348 0 +46 349 0 +46 350 0 +46 351 0 +46 352 0 +46 353 0 +46 354 0 +46 355 0 +46 356 0 +46 357 0 +46 358 0 +46 359 0 +46 360 0 +46 361 0 +46 362 0 +46 363 0 +46 364 0 +46 365 0 +46 366 0 +46 367 0 +46 368 0 +46 369 0 +46 370 0 +46 371 0 +46 372 0 +46 373 0 +46 374 0 +46 375 0 +46 376 0 +46 377 0 +46 378 0 +46 379 0 +46 380 0 +46 381 0 +46 382 0 +46 383 0 +47 48 4 +47 49 4 +47 50 4 +47 51 4 +47 52 4 +47 53 4 +47 54 4 +47 55 4 +47 56 4 +47 57 4 +47 58 4 +47 59 4 +47 60 4 +47 61 4 +47 62 4 +47 63 4 +47 64 4 +47 65 4 +47 66 4 +47 67 4 +47 68 4 +47 69 4 +47 70 4 +47 71 4 +47 72 4 +47 73 4 +47 74 4 +47 75 4 +47 76 4 +47 77 4 +47 78 4 +47 79 4 +47 80 4 +47 81 4 +47 82 4 +47 83 4 +47 84 4 +47 85 4 +47 86 4 +47 87 4 +47 88 4 +47 89 4 +47 90 4 +47 91 4 +47 92 4 +47 93 4 +47 94 4 +47 95 4 +47 96 4 +47 97 4 +47 98 4 +47 99 4 +47 100 4 +47 101 4 +47 102 4 +47 103 4 +47 104 4 +47 105 4 +47 106 4 +47 107 4 +47 108 4 +47 109 4 +47 110 4 +47 111 4 +47 112 4 +47 113 4 +47 114 4 +47 115 4 +47 116 4 +47 117 4 +47 118 4 +47 119 4 +47 120 4 +47 121 4 +47 122 4 +47 123 4 +47 124 4 +47 125 4 +47 126 4 +47 127 4 +47 128 4 +47 129 4 +47 130 4 +47 131 4 +47 132 4 +47 133 4 +47 134 4 +47 135 4 +47 136 4 +47 137 4 +47 138 4 +47 139 4 +47 140 4 +47 141 4 +47 142 4 +47 143 4 +47 144 4 +47 145 4 +47 146 4 +47 147 4 +47 148 4 +47 149 4 +47 150 4 +47 151 4 +47 152 4 +47 153 4 +47 154 4 +47 155 4 +47 156 4 +47 157 4 +47 158 4 +47 159 4 +47 160 4 +47 161 4 +47 162 4 +47 163 4 +47 164 4 +47 165 4 +47 166 4 +47 167 4 +47 168 4 +47 169 4 +47 170 4 +47 171 4 +47 172 4 +47 173 4 +47 174 4 +47 175 4 +47 176 4 +47 177 4 +47 178 4 +47 179 4 +47 180 4 +47 181 4 +47 182 4 +47 183 4 +47 184 4 +47 185 4 +47 186 4 +47 187 4 +47 188 4 +47 189 4 +47 190 4 +47 191 4 +47 192 0 +47 193 0 +47 194 0 +47 195 0 +47 196 0 +47 197 0 +47 198 0 +47 199 0 +47 200 0 +47 201 0 +47 202 0 +47 203 0 +47 204 0 +47 205 0 +47 206 0 +47 207 0 +47 208 0 +47 209 0 +47 210 0 +47 211 0 +47 212 0 +47 213 0 +47 214 0 +47 215 0 +47 216 0 +47 217 0 +47 218 0 +47 219 0 +47 220 0 +47 221 0 +47 222 0 +47 223 0 +47 224 0 +47 225 0 +47 226 0 +47 227 0 +47 228 0 +47 229 0 +47 230 0 +47 231 0 +47 232 0 +47 233 0 +47 234 0 +47 235 0 +47 236 0 +47 237 0 +47 238 0 +47 239 0 +47 240 0 +47 241 0 +47 242 0 +47 243 0 +47 244 0 +47 245 0 +47 246 0 +47 247 0 +47 248 0 +47 249 0 +47 250 0 +47 251 0 +47 252 0 +47 253 0 +47 254 0 +47 255 0 +47 256 0 +47 257 0 +47 258 0 +47 259 0 +47 260 0 +47 261 0 +47 262 0 +47 263 0 +47 264 0 +47 265 0 +47 266 0 +47 267 0 +47 268 0 +47 269 0 +47 270 0 +47 271 0 +47 272 0 +47 273 0 +47 274 0 +47 275 0 +47 276 0 +47 277 0 +47 278 0 +47 279 0 +47 280 0 +47 281 0 +47 282 0 +47 283 0 +47 284 0 +47 285 0 +47 286 0 +47 287 0 +47 288 0 +47 289 0 +47 290 0 +47 291 0 +47 292 0 +47 293 0 +47 294 0 +47 295 0 +47 296 0 +47 297 0 +47 298 0 +47 299 0 +47 300 0 +47 301 0 +47 302 0 +47 303 0 +47 304 0 +47 305 0 +47 306 0 +47 307 0 +47 308 0 +47 309 0 +47 310 0 +47 311 0 +47 312 0 +47 313 0 +47 314 0 +47 315 0 +47 316 0 +47 317 0 +47 318 0 +47 319 0 +47 320 0 +47 321 0 +47 322 0 +47 323 0 +47 324 0 +47 325 0 +47 326 0 +47 327 0 +47 328 0 +47 329 0 +47 330 0 +47 331 0 +47 332 0 +47 333 0 +47 334 0 +47 335 0 +47 336 0 +47 337 0 +47 338 0 +47 339 0 +47 340 0 +47 341 0 +47 342 0 +47 343 0 +47 344 0 +47 345 0 +47 346 0 +47 347 0 +47 348 0 +47 349 0 +47 350 0 +47 351 0 +47 352 0 +47 353 0 +47 354 0 +47 355 0 +47 356 0 +47 357 0 +47 358 0 +47 359 0 +47 360 0 +47 361 0 +47 362 0 +47 363 0 +47 364 0 +47 365 0 +47 366 0 +47 367 0 +47 368 0 +47 369 0 +47 370 0 +47 371 0 +47 372 0 +47 373 0 +47 374 0 +47 375 0 +47 376 0 +47 377 0 +47 378 0 +47 379 0 +47 380 0 +47 381 0 +47 382 0 +47 383 0 +48 49 4 +48 50 4 +48 51 4 +48 52 4 +48 53 4 +48 54 4 +48 55 4 +48 56 4 +48 57 4 +48 58 4 +48 59 4 +48 60 4 +48 61 4 +48 62 4 +48 63 4 +48 64 4 +48 65 4 +48 66 4 +48 67 4 +48 68 4 +48 69 4 +48 70 4 +48 71 4 +48 72 4 +48 73 4 +48 74 4 +48 75 4 +48 76 4 +48 77 4 +48 78 4 +48 79 4 +48 80 4 +48 81 4 +48 82 4 +48 83 4 +48 84 4 +48 85 4 +48 86 4 +48 87 4 +48 88 4 +48 89 4 +48 90 4 +48 91 4 +48 92 4 +48 93 4 +48 94 4 +48 95 4 +48 96 4 +48 97 4 +48 98 4 +48 99 4 +48 100 4 +48 101 4 +48 102 4 +48 103 4 +48 104 4 +48 105 4 +48 106 4 +48 107 4 +48 108 4 +48 109 4 +48 110 4 +48 111 4 +48 112 4 +48 113 4 +48 114 4 +48 115 4 +48 116 4 +48 117 4 +48 118 4 +48 119 4 +48 120 4 +48 121 4 +48 122 4 +48 123 4 +48 124 4 +48 125 4 +48 126 4 +48 127 4 +48 128 4 +48 129 4 +48 130 4 +48 131 4 +48 132 4 +48 133 4 +48 134 4 +48 135 4 +48 136 4 +48 137 4 +48 138 4 +48 139 4 +48 140 4 +48 141 4 +48 142 4 +48 143 4 +48 144 4 +48 145 4 +48 146 4 +48 147 4 +48 148 4 +48 149 4 +48 150 4 +48 151 4 +48 152 4 +48 153 4 +48 154 4 +48 155 4 +48 156 4 +48 157 4 +48 158 4 +48 159 4 +48 160 4 +48 161 4 +48 162 4 +48 163 4 +48 164 4 +48 165 4 +48 166 4 +48 167 4 +48 168 4 +48 169 4 +48 170 4 +48 171 4 +48 172 4 +48 173 4 +48 174 4 +48 175 4 +48 176 4 +48 177 4 +48 178 4 +48 179 4 +48 180 4 +48 181 4 +48 182 4 +48 183 4 +48 184 4 +48 185 4 +48 186 4 +48 187 4 +48 188 4 +48 189 4 +48 190 4 +48 191 4 +48 192 0 +48 193 0 +48 194 0 +48 195 0 +48 196 0 +48 197 0 +48 198 0 +48 199 0 +48 200 0 +48 201 0 +48 202 0 +48 203 0 +48 204 0 +48 205 0 +48 206 0 +48 207 0 +48 208 0 +48 209 0 +48 210 0 +48 211 0 +48 212 0 +48 213 0 +48 214 0 +48 215 0 +48 216 0 +48 217 0 +48 218 0 +48 219 0 +48 220 0 +48 221 0 +48 222 0 +48 223 0 +48 224 0 +48 225 0 +48 226 0 +48 227 0 +48 228 0 +48 229 0 +48 230 0 +48 231 0 +48 232 0 +48 233 0 +48 234 0 +48 235 0 +48 236 0 +48 237 0 +48 238 0 +48 239 0 +48 240 0 +48 241 0 +48 242 0 +48 243 0 +48 244 0 +48 245 0 +48 246 0 +48 247 0 +48 248 0 +48 249 0 +48 250 0 +48 251 0 +48 252 0 +48 253 0 +48 254 0 +48 255 0 +48 256 0 +48 257 0 +48 258 0 +48 259 0 +48 260 0 +48 261 0 +48 262 0 +48 263 0 +48 264 0 +48 265 0 +48 266 0 +48 267 0 +48 268 0 +48 269 0 +48 270 0 +48 271 0 +48 272 0 +48 273 0 +48 274 0 +48 275 0 +48 276 0 +48 277 0 +48 278 0 +48 279 0 +48 280 0 +48 281 0 +48 282 0 +48 283 0 +48 284 0 +48 285 0 +48 286 0 +48 287 0 +48 288 0 +48 289 0 +48 290 0 +48 291 0 +48 292 0 +48 293 0 +48 294 0 +48 295 0 +48 296 0 +48 297 0 +48 298 0 +48 299 0 +48 300 0 +48 301 0 +48 302 0 +48 303 0 +48 304 0 +48 305 0 +48 306 0 +48 307 0 +48 308 0 +48 309 0 +48 310 0 +48 311 0 +48 312 0 +48 313 0 +48 314 0 +48 315 0 +48 316 0 +48 317 0 +48 318 0 +48 319 0 +48 320 0 +48 321 0 +48 322 0 +48 323 0 +48 324 0 +48 325 0 +48 326 0 +48 327 0 +48 328 0 +48 329 0 +48 330 0 +48 331 0 +48 332 0 +48 333 0 +48 334 0 +48 335 0 +48 336 0 +48 337 0 +48 338 0 +48 339 0 +48 340 0 +48 341 0 +48 342 0 +48 343 0 +48 344 0 +48 345 0 +48 346 0 +48 347 0 +48 348 0 +48 349 0 +48 350 0 +48 351 0 +48 352 0 +48 353 0 +48 354 0 +48 355 0 +48 356 0 +48 357 0 +48 358 0 +48 359 0 +48 360 0 +48 361 0 +48 362 0 +48 363 0 +48 364 0 +48 365 0 +48 366 0 +48 367 0 +48 368 0 +48 369 0 +48 370 0 +48 371 0 +48 372 0 +48 373 0 +48 374 0 +48 375 0 +48 376 0 +48 377 0 +48 378 0 +48 379 0 +48 380 0 +48 381 0 +48 382 0 +48 383 0 +49 50 4 +49 51 4 +49 52 4 +49 53 4 +49 54 4 +49 55 4 +49 56 4 +49 57 4 +49 58 4 +49 59 4 +49 60 4 +49 61 4 +49 62 4 +49 63 4 +49 64 4 +49 65 4 +49 66 4 +49 67 4 +49 68 4 +49 69 4 +49 70 4 +49 71 4 +49 72 4 +49 73 4 +49 74 4 +49 75 4 +49 76 4 +49 77 4 +49 78 4 +49 79 4 +49 80 4 +49 81 4 +49 82 4 +49 83 4 +49 84 4 +49 85 4 +49 86 4 +49 87 4 +49 88 4 +49 89 4 +49 90 4 +49 91 4 +49 92 4 +49 93 4 +49 94 4 +49 95 4 +49 96 4 +49 97 4 +49 98 4 +49 99 4 +49 100 4 +49 101 4 +49 102 4 +49 103 4 +49 104 4 +49 105 4 +49 106 4 +49 107 4 +49 108 4 +49 109 4 +49 110 4 +49 111 4 +49 112 4 +49 113 4 +49 114 4 +49 115 4 +49 116 4 +49 117 4 +49 118 4 +49 119 4 +49 120 4 +49 121 4 +49 122 4 +49 123 4 +49 124 4 +49 125 4 +49 126 4 +49 127 4 +49 128 4 +49 129 4 +49 130 4 +49 131 4 +49 132 4 +49 133 4 +49 134 4 +49 135 4 +49 136 4 +49 137 4 +49 138 4 +49 139 4 +49 140 4 +49 141 4 +49 142 4 +49 143 4 +49 144 4 +49 145 4 +49 146 4 +49 147 4 +49 148 4 +49 149 4 +49 150 4 +49 151 4 +49 152 4 +49 153 4 +49 154 4 +49 155 4 +49 156 4 +49 157 4 +49 158 4 +49 159 4 +49 160 4 +49 161 4 +49 162 4 +49 163 4 +49 164 4 +49 165 4 +49 166 4 +49 167 4 +49 168 4 +49 169 4 +49 170 4 +49 171 4 +49 172 4 +49 173 4 +49 174 4 +49 175 4 +49 176 4 +49 177 4 +49 178 4 +49 179 4 +49 180 4 +49 181 4 +49 182 4 +49 183 4 +49 184 4 +49 185 4 +49 186 4 +49 187 4 +49 188 4 +49 189 4 +49 190 4 +49 191 4 +49 192 0 +49 193 0 +49 194 0 +49 195 0 +49 196 0 +49 197 0 +49 198 0 +49 199 0 +49 200 0 +49 201 0 +49 202 0 +49 203 0 +49 204 0 +49 205 0 +49 206 0 +49 207 0 +49 208 0 +49 209 0 +49 210 0 +49 211 0 +49 212 0 +49 213 0 +49 214 0 +49 215 0 +49 216 0 +49 217 0 +49 218 0 +49 219 0 +49 220 0 +49 221 0 +49 222 0 +49 223 0 +49 224 0 +49 225 0 +49 226 0 +49 227 0 +49 228 0 +49 229 0 +49 230 0 +49 231 0 +49 232 0 +49 233 0 +49 234 0 +49 235 0 +49 236 0 +49 237 0 +49 238 0 +49 239 0 +49 240 0 +49 241 0 +49 242 0 +49 243 0 +49 244 0 +49 245 0 +49 246 0 +49 247 0 +49 248 0 +49 249 0 +49 250 0 +49 251 0 +49 252 0 +49 253 0 +49 254 0 +49 255 0 +49 256 0 +49 257 0 +49 258 0 +49 259 0 +49 260 0 +49 261 0 +49 262 0 +49 263 0 +49 264 0 +49 265 0 +49 266 0 +49 267 0 +49 268 0 +49 269 0 +49 270 0 +49 271 0 +49 272 0 +49 273 0 +49 274 0 +49 275 0 +49 276 0 +49 277 0 +49 278 0 +49 279 0 +49 280 0 +49 281 0 +49 282 0 +49 283 0 +49 284 0 +49 285 0 +49 286 0 +49 287 0 +49 288 0 +49 289 0 +49 290 0 +49 291 0 +49 292 0 +49 293 0 +49 294 0 +49 295 0 +49 296 0 +49 297 0 +49 298 0 +49 299 0 +49 300 0 +49 301 0 +49 302 0 +49 303 0 +49 304 0 +49 305 0 +49 306 0 +49 307 0 +49 308 0 +49 309 0 +49 310 0 +49 311 0 +49 312 0 +49 313 0 +49 314 0 +49 315 0 +49 316 0 +49 317 0 +49 318 0 +49 319 0 +49 320 0 +49 321 0 +49 322 0 +49 323 0 +49 324 0 +49 325 0 +49 326 0 +49 327 0 +49 328 0 +49 329 0 +49 330 0 +49 331 0 +49 332 0 +49 333 0 +49 334 0 +49 335 0 +49 336 0 +49 337 0 +49 338 0 +49 339 0 +49 340 0 +49 341 0 +49 342 0 +49 343 0 +49 344 0 +49 345 0 +49 346 0 +49 347 0 +49 348 0 +49 349 0 +49 350 0 +49 351 0 +49 352 0 +49 353 0 +49 354 0 +49 355 0 +49 356 0 +49 357 0 +49 358 0 +49 359 0 +49 360 0 +49 361 0 +49 362 0 +49 363 0 +49 364 0 +49 365 0 +49 366 0 +49 367 0 +49 368 0 +49 369 0 +49 370 0 +49 371 0 +49 372 0 +49 373 0 +49 374 0 +49 375 0 +49 376 0 +49 377 0 +49 378 0 +49 379 0 +49 380 0 +49 381 0 +49 382 0 +49 383 0 +50 51 4 +50 52 4 +50 53 4 +50 54 4 +50 55 4 +50 56 4 +50 57 4 +50 58 4 +50 59 4 +50 60 4 +50 61 4 +50 62 4 +50 63 4 +50 64 4 +50 65 4 +50 66 4 +50 67 4 +50 68 4 +50 69 4 +50 70 4 +50 71 4 +50 72 4 +50 73 4 +50 74 4 +50 75 4 +50 76 4 +50 77 4 +50 78 4 +50 79 4 +50 80 4 +50 81 4 +50 82 4 +50 83 4 +50 84 4 +50 85 4 +50 86 4 +50 87 4 +50 88 4 +50 89 4 +50 90 4 +50 91 4 +50 92 4 +50 93 4 +50 94 4 +50 95 4 +50 96 4 +50 97 4 +50 98 4 +50 99 4 +50 100 4 +50 101 4 +50 102 4 +50 103 4 +50 104 4 +50 105 4 +50 106 4 +50 107 4 +50 108 4 +50 109 4 +50 110 4 +50 111 4 +50 112 4 +50 113 4 +50 114 4 +50 115 4 +50 116 4 +50 117 4 +50 118 4 +50 119 4 +50 120 4 +50 121 4 +50 122 4 +50 123 4 +50 124 4 +50 125 4 +50 126 4 +50 127 4 +50 128 4 +50 129 4 +50 130 4 +50 131 4 +50 132 4 +50 133 4 +50 134 4 +50 135 4 +50 136 4 +50 137 4 +50 138 4 +50 139 4 +50 140 4 +50 141 4 +50 142 4 +50 143 4 +50 144 4 +50 145 4 +50 146 4 +50 147 4 +50 148 4 +50 149 4 +50 150 4 +50 151 4 +50 152 4 +50 153 4 +50 154 4 +50 155 4 +50 156 4 +50 157 4 +50 158 4 +50 159 4 +50 160 4 +50 161 4 +50 162 4 +50 163 4 +50 164 4 +50 165 4 +50 166 4 +50 167 4 +50 168 4 +50 169 4 +50 170 4 +50 171 4 +50 172 4 +50 173 4 +50 174 4 +50 175 4 +50 176 4 +50 177 4 +50 178 4 +50 179 4 +50 180 4 +50 181 4 +50 182 4 +50 183 4 +50 184 4 +50 185 4 +50 186 4 +50 187 4 +50 188 4 +50 189 4 +50 190 4 +50 191 4 +50 192 0 +50 193 0 +50 194 0 +50 195 0 +50 196 0 +50 197 0 +50 198 0 +50 199 0 +50 200 0 +50 201 0 +50 202 0 +50 203 0 +50 204 0 +50 205 0 +50 206 0 +50 207 0 +50 208 0 +50 209 0 +50 210 0 +50 211 0 +50 212 0 +50 213 0 +50 214 0 +50 215 0 +50 216 0 +50 217 0 +50 218 0 +50 219 0 +50 220 0 +50 221 0 +50 222 0 +50 223 0 +50 224 0 +50 225 0 +50 226 0 +50 227 0 +50 228 0 +50 229 0 +50 230 0 +50 231 0 +50 232 0 +50 233 0 +50 234 0 +50 235 0 +50 236 0 +50 237 0 +50 238 0 +50 239 0 +50 240 0 +50 241 0 +50 242 0 +50 243 0 +50 244 0 +50 245 0 +50 246 0 +50 247 0 +50 248 0 +50 249 0 +50 250 0 +50 251 0 +50 252 0 +50 253 0 +50 254 0 +50 255 0 +50 256 0 +50 257 0 +50 258 0 +50 259 0 +50 260 0 +50 261 0 +50 262 0 +50 263 0 +50 264 0 +50 265 0 +50 266 0 +50 267 0 +50 268 0 +50 269 0 +50 270 0 +50 271 0 +50 272 0 +50 273 0 +50 274 0 +50 275 0 +50 276 0 +50 277 0 +50 278 0 +50 279 0 +50 280 0 +50 281 0 +50 282 0 +50 283 0 +50 284 0 +50 285 0 +50 286 0 +50 287 0 +50 288 0 +50 289 0 +50 290 0 +50 291 0 +50 292 0 +50 293 0 +50 294 0 +50 295 0 +50 296 0 +50 297 0 +50 298 0 +50 299 0 +50 300 0 +50 301 0 +50 302 0 +50 303 0 +50 304 0 +50 305 0 +50 306 0 +50 307 0 +50 308 0 +50 309 0 +50 310 0 +50 311 0 +50 312 0 +50 313 0 +50 314 0 +50 315 0 +50 316 0 +50 317 0 +50 318 0 +50 319 0 +50 320 0 +50 321 0 +50 322 0 +50 323 0 +50 324 0 +50 325 0 +50 326 0 +50 327 0 +50 328 0 +50 329 0 +50 330 0 +50 331 0 +50 332 0 +50 333 0 +50 334 0 +50 335 0 +50 336 0 +50 337 0 +50 338 0 +50 339 0 +50 340 0 +50 341 0 +50 342 0 +50 343 0 +50 344 0 +50 345 0 +50 346 0 +50 347 0 +50 348 0 +50 349 0 +50 350 0 +50 351 0 +50 352 0 +50 353 0 +50 354 0 +50 355 0 +50 356 0 +50 357 0 +50 358 0 +50 359 0 +50 360 0 +50 361 0 +50 362 0 +50 363 0 +50 364 0 +50 365 0 +50 366 0 +50 367 0 +50 368 0 +50 369 0 +50 370 0 +50 371 0 +50 372 0 +50 373 0 +50 374 0 +50 375 0 +50 376 0 +50 377 0 +50 378 0 +50 379 0 +50 380 0 +50 381 0 +50 382 0 +50 383 0 +51 52 4 +51 53 4 +51 54 4 +51 55 4 +51 56 4 +51 57 4 +51 58 4 +51 59 4 +51 60 4 +51 61 4 +51 62 4 +51 63 4 +51 64 4 +51 65 4 +51 66 4 +51 67 4 +51 68 4 +51 69 4 +51 70 4 +51 71 4 +51 72 4 +51 73 4 +51 74 4 +51 75 4 +51 76 4 +51 77 4 +51 78 4 +51 79 4 +51 80 4 +51 81 4 +51 82 4 +51 83 4 +51 84 4 +51 85 4 +51 86 4 +51 87 4 +51 88 4 +51 89 4 +51 90 4 +51 91 4 +51 92 4 +51 93 4 +51 94 4 +51 95 4 +51 96 4 +51 97 4 +51 98 4 +51 99 4 +51 100 4 +51 101 4 +51 102 4 +51 103 4 +51 104 4 +51 105 4 +51 106 4 +51 107 4 +51 108 4 +51 109 4 +51 110 4 +51 111 4 +51 112 4 +51 113 4 +51 114 4 +51 115 4 +51 116 4 +51 117 4 +51 118 4 +51 119 4 +51 120 4 +51 121 4 +51 122 4 +51 123 4 +51 124 4 +51 125 4 +51 126 4 +51 127 4 +51 128 4 +51 129 4 +51 130 4 +51 131 4 +51 132 4 +51 133 4 +51 134 4 +51 135 4 +51 136 4 +51 137 4 +51 138 4 +51 139 4 +51 140 4 +51 141 4 +51 142 4 +51 143 4 +51 144 4 +51 145 4 +51 146 4 +51 147 4 +51 148 4 +51 149 4 +51 150 4 +51 151 4 +51 152 4 +51 153 4 +51 154 4 +51 155 4 +51 156 4 +51 157 4 +51 158 4 +51 159 4 +51 160 4 +51 161 4 +51 162 4 +51 163 4 +51 164 4 +51 165 4 +51 166 4 +51 167 4 +51 168 4 +51 169 4 +51 170 4 +51 171 4 +51 172 4 +51 173 4 +51 174 4 +51 175 4 +51 176 4 +51 177 4 +51 178 4 +51 179 4 +51 180 4 +51 181 4 +51 182 4 +51 183 4 +51 184 4 +51 185 4 +51 186 4 +51 187 4 +51 188 4 +51 189 4 +51 190 4 +51 191 4 +51 192 0 +51 193 0 +51 194 0 +51 195 0 +51 196 0 +51 197 0 +51 198 0 +51 199 0 +51 200 0 +51 201 0 +51 202 0 +51 203 0 +51 204 0 +51 205 0 +51 206 0 +51 207 0 +51 208 0 +51 209 0 +51 210 0 +51 211 0 +51 212 0 +51 213 0 +51 214 0 +51 215 0 +51 216 0 +51 217 0 +51 218 0 +51 219 0 +51 220 0 +51 221 0 +51 222 0 +51 223 0 +51 224 0 +51 225 0 +51 226 0 +51 227 0 +51 228 0 +51 229 0 +51 230 0 +51 231 0 +51 232 0 +51 233 0 +51 234 0 +51 235 0 +51 236 0 +51 237 0 +51 238 0 +51 239 0 +51 240 0 +51 241 0 +51 242 0 +51 243 0 +51 244 0 +51 245 0 +51 246 0 +51 247 0 +51 248 0 +51 249 0 +51 250 0 +51 251 0 +51 252 0 +51 253 0 +51 254 0 +51 255 0 +51 256 0 +51 257 0 +51 258 0 +51 259 0 +51 260 0 +51 261 0 +51 262 0 +51 263 0 +51 264 0 +51 265 0 +51 266 0 +51 267 0 +51 268 0 +51 269 0 +51 270 0 +51 271 0 +51 272 0 +51 273 0 +51 274 0 +51 275 0 +51 276 0 +51 277 0 +51 278 0 +51 279 0 +51 280 0 +51 281 0 +51 282 0 +51 283 0 +51 284 0 +51 285 0 +51 286 0 +51 287 0 +51 288 0 +51 289 0 +51 290 0 +51 291 0 +51 292 0 +51 293 0 +51 294 0 +51 295 0 +51 296 0 +51 297 0 +51 298 0 +51 299 0 +51 300 0 +51 301 0 +51 302 0 +51 303 0 +51 304 0 +51 305 0 +51 306 0 +51 307 0 +51 308 0 +51 309 0 +51 310 0 +51 311 0 +51 312 0 +51 313 0 +51 314 0 +51 315 0 +51 316 0 +51 317 0 +51 318 0 +51 319 0 +51 320 0 +51 321 0 +51 322 0 +51 323 0 +51 324 0 +51 325 0 +51 326 0 +51 327 0 +51 328 0 +51 329 0 +51 330 0 +51 331 0 +51 332 0 +51 333 0 +51 334 0 +51 335 0 +51 336 0 +51 337 0 +51 338 0 +51 339 0 +51 340 0 +51 341 0 +51 342 0 +51 343 0 +51 344 0 +51 345 0 +51 346 0 +51 347 0 +51 348 0 +51 349 0 +51 350 0 +51 351 0 +51 352 0 +51 353 0 +51 354 0 +51 355 0 +51 356 0 +51 357 0 +51 358 0 +51 359 0 +51 360 0 +51 361 0 +51 362 0 +51 363 0 +51 364 0 +51 365 0 +51 366 0 +51 367 0 +51 368 0 +51 369 0 +51 370 0 +51 371 0 +51 372 0 +51 373 0 +51 374 0 +51 375 0 +51 376 0 +51 377 0 +51 378 0 +51 379 0 +51 380 0 +51 381 0 +51 382 0 +51 383 0 +52 53 4 +52 54 4 +52 55 4 +52 56 4 +52 57 4 +52 58 4 +52 59 4 +52 60 4 +52 61 4 +52 62 4 +52 63 4 +52 64 4 +52 65 4 +52 66 4 +52 67 4 +52 68 4 +52 69 4 +52 70 4 +52 71 4 +52 72 4 +52 73 4 +52 74 4 +52 75 4 +52 76 4 +52 77 4 +52 78 4 +52 79 4 +52 80 4 +52 81 4 +52 82 4 +52 83 4 +52 84 4 +52 85 4 +52 86 4 +52 87 4 +52 88 4 +52 89 4 +52 90 4 +52 91 4 +52 92 4 +52 93 4 +52 94 4 +52 95 4 +52 96 4 +52 97 4 +52 98 4 +52 99 4 +52 100 4 +52 101 4 +52 102 4 +52 103 4 +52 104 4 +52 105 4 +52 106 4 +52 107 4 +52 108 4 +52 109 4 +52 110 4 +52 111 4 +52 112 4 +52 113 4 +52 114 4 +52 115 4 +52 116 4 +52 117 4 +52 118 4 +52 119 4 +52 120 4 +52 121 4 +52 122 4 +52 123 4 +52 124 4 +52 125 4 +52 126 4 +52 127 4 +52 128 4 +52 129 4 +52 130 4 +52 131 4 +52 132 4 +52 133 4 +52 134 4 +52 135 4 +52 136 4 +52 137 4 +52 138 4 +52 139 4 +52 140 4 +52 141 4 +52 142 4 +52 143 4 +52 144 4 +52 145 4 +52 146 4 +52 147 4 +52 148 4 +52 149 4 +52 150 4 +52 151 4 +52 152 4 +52 153 4 +52 154 4 +52 155 4 +52 156 4 +52 157 4 +52 158 4 +52 159 4 +52 160 4 +52 161 4 +52 162 4 +52 163 4 +52 164 4 +52 165 4 +52 166 4 +52 167 4 +52 168 4 +52 169 4 +52 170 4 +52 171 4 +52 172 4 +52 173 4 +52 174 4 +52 175 4 +52 176 4 +52 177 4 +52 178 4 +52 179 4 +52 180 4 +52 181 4 +52 182 4 +52 183 4 +52 184 4 +52 185 4 +52 186 4 +52 187 4 +52 188 4 +52 189 4 +52 190 4 +52 191 4 +52 192 0 +52 193 0 +52 194 0 +52 195 0 +52 196 0 +52 197 0 +52 198 0 +52 199 0 +52 200 0 +52 201 0 +52 202 0 +52 203 0 +52 204 0 +52 205 0 +52 206 0 +52 207 0 +52 208 0 +52 209 0 +52 210 0 +52 211 0 +52 212 0 +52 213 0 +52 214 0 +52 215 0 +52 216 0 +52 217 0 +52 218 0 +52 219 0 +52 220 0 +52 221 0 +52 222 0 +52 223 0 +52 224 0 +52 225 0 +52 226 0 +52 227 0 +52 228 0 +52 229 0 +52 230 0 +52 231 0 +52 232 0 +52 233 0 +52 234 0 +52 235 0 +52 236 0 +52 237 0 +52 238 0 +52 239 0 +52 240 0 +52 241 0 +52 242 0 +52 243 0 +52 244 0 +52 245 0 +52 246 0 +52 247 0 +52 248 0 +52 249 0 +52 250 0 +52 251 0 +52 252 0 +52 253 0 +52 254 0 +52 255 0 +52 256 0 +52 257 0 +52 258 0 +52 259 0 +52 260 0 +52 261 0 +52 262 0 +52 263 0 +52 264 0 +52 265 0 +52 266 0 +52 267 0 +52 268 0 +52 269 0 +52 270 0 +52 271 0 +52 272 0 +52 273 0 +52 274 0 +52 275 0 +52 276 0 +52 277 0 +52 278 0 +52 279 0 +52 280 0 +52 281 0 +52 282 0 +52 283 0 +52 284 0 +52 285 0 +52 286 0 +52 287 0 +52 288 0 +52 289 0 +52 290 0 +52 291 0 +52 292 0 +52 293 0 +52 294 0 +52 295 0 +52 296 0 +52 297 0 +52 298 0 +52 299 0 +52 300 0 +52 301 0 +52 302 0 +52 303 0 +52 304 0 +52 305 0 +52 306 0 +52 307 0 +52 308 0 +52 309 0 +52 310 0 +52 311 0 +52 312 0 +52 313 0 +52 314 0 +52 315 0 +52 316 0 +52 317 0 +52 318 0 +52 319 0 +52 320 0 +52 321 0 +52 322 0 +52 323 0 +52 324 0 +52 325 0 +52 326 0 +52 327 0 +52 328 0 +52 329 0 +52 330 0 +52 331 0 +52 332 0 +52 333 0 +52 334 0 +52 335 0 +52 336 0 +52 337 0 +52 338 0 +52 339 0 +52 340 0 +52 341 0 +52 342 0 +52 343 0 +52 344 0 +52 345 0 +52 346 0 +52 347 0 +52 348 0 +52 349 0 +52 350 0 +52 351 0 +52 352 0 +52 353 0 +52 354 0 +52 355 0 +52 356 0 +52 357 0 +52 358 0 +52 359 0 +52 360 0 +52 361 0 +52 362 0 +52 363 0 +52 364 0 +52 365 0 +52 366 0 +52 367 0 +52 368 0 +52 369 0 +52 370 0 +52 371 0 +52 372 0 +52 373 0 +52 374 0 +52 375 0 +52 376 0 +52 377 0 +52 378 0 +52 379 0 +52 380 0 +52 381 0 +52 382 0 +52 383 0 +53 54 4 +53 55 4 +53 56 4 +53 57 4 +53 58 4 +53 59 4 +53 60 4 +53 61 4 +53 62 4 +53 63 4 +53 64 4 +53 65 4 +53 66 4 +53 67 4 +53 68 4 +53 69 4 +53 70 4 +53 71 4 +53 72 4 +53 73 4 +53 74 4 +53 75 4 +53 76 4 +53 77 4 +53 78 4 +53 79 4 +53 80 4 +53 81 4 +53 82 4 +53 83 4 +53 84 4 +53 85 4 +53 86 4 +53 87 4 +53 88 4 +53 89 4 +53 90 4 +53 91 4 +53 92 4 +53 93 4 +53 94 4 +53 95 4 +53 96 4 +53 97 4 +53 98 4 +53 99 4 +53 100 4 +53 101 4 +53 102 4 +53 103 4 +53 104 4 +53 105 4 +53 106 4 +53 107 4 +53 108 4 +53 109 4 +53 110 4 +53 111 4 +53 112 4 +53 113 4 +53 114 4 +53 115 4 +53 116 4 +53 117 4 +53 118 4 +53 119 4 +53 120 4 +53 121 4 +53 122 4 +53 123 4 +53 124 4 +53 125 4 +53 126 4 +53 127 4 +53 128 4 +53 129 4 +53 130 4 +53 131 4 +53 132 4 +53 133 4 +53 134 4 +53 135 4 +53 136 4 +53 137 4 +53 138 4 +53 139 4 +53 140 4 +53 141 4 +53 142 4 +53 143 4 +53 144 4 +53 145 4 +53 146 4 +53 147 4 +53 148 4 +53 149 4 +53 150 4 +53 151 4 +53 152 4 +53 153 4 +53 154 4 +53 155 4 +53 156 4 +53 157 4 +53 158 4 +53 159 4 +53 160 4 +53 161 4 +53 162 4 +53 163 4 +53 164 4 +53 165 4 +53 166 4 +53 167 4 +53 168 4 +53 169 4 +53 170 4 +53 171 4 +53 172 4 +53 173 4 +53 174 4 +53 175 4 +53 176 4 +53 177 4 +53 178 4 +53 179 4 +53 180 4 +53 181 4 +53 182 4 +53 183 4 +53 184 4 +53 185 4 +53 186 4 +53 187 4 +53 188 4 +53 189 4 +53 190 4 +53 191 4 +53 192 0 +53 193 0 +53 194 0 +53 195 0 +53 196 0 +53 197 0 +53 198 0 +53 199 0 +53 200 0 +53 201 0 +53 202 0 +53 203 0 +53 204 0 +53 205 0 +53 206 0 +53 207 0 +53 208 0 +53 209 0 +53 210 0 +53 211 0 +53 212 0 +53 213 0 +53 214 0 +53 215 0 +53 216 0 +53 217 0 +53 218 0 +53 219 0 +53 220 0 +53 221 0 +53 222 0 +53 223 0 +53 224 0 +53 225 0 +53 226 0 +53 227 0 +53 228 0 +53 229 0 +53 230 0 +53 231 0 +53 232 0 +53 233 0 +53 234 0 +53 235 0 +53 236 0 +53 237 0 +53 238 0 +53 239 0 +53 240 0 +53 241 0 +53 242 0 +53 243 0 +53 244 0 +53 245 0 +53 246 0 +53 247 0 +53 248 0 +53 249 0 +53 250 0 +53 251 0 +53 252 0 +53 253 0 +53 254 0 +53 255 0 +53 256 0 +53 257 0 +53 258 0 +53 259 0 +53 260 0 +53 261 0 +53 262 0 +53 263 0 +53 264 0 +53 265 0 +53 266 0 +53 267 0 +53 268 0 +53 269 0 +53 270 0 +53 271 0 +53 272 0 +53 273 0 +53 274 0 +53 275 0 +53 276 0 +53 277 0 +53 278 0 +53 279 0 +53 280 0 +53 281 0 +53 282 0 +53 283 0 +53 284 0 +53 285 0 +53 286 0 +53 287 0 +53 288 0 +53 289 0 +53 290 0 +53 291 0 +53 292 0 +53 293 0 +53 294 0 +53 295 0 +53 296 0 +53 297 0 +53 298 0 +53 299 0 +53 300 0 +53 301 0 +53 302 0 +53 303 0 +53 304 0 +53 305 0 +53 306 0 +53 307 0 +53 308 0 +53 309 0 +53 310 0 +53 311 0 +53 312 0 +53 313 0 +53 314 0 +53 315 0 +53 316 0 +53 317 0 +53 318 0 +53 319 0 +53 320 0 +53 321 0 +53 322 0 +53 323 0 +53 324 0 +53 325 0 +53 326 0 +53 327 0 +53 328 0 +53 329 0 +53 330 0 +53 331 0 +53 332 0 +53 333 0 +53 334 0 +53 335 0 +53 336 0 +53 337 0 +53 338 0 +53 339 0 +53 340 0 +53 341 0 +53 342 0 +53 343 0 +53 344 0 +53 345 0 +53 346 0 +53 347 0 +53 348 0 +53 349 0 +53 350 0 +53 351 0 +53 352 0 +53 353 0 +53 354 0 +53 355 0 +53 356 0 +53 357 0 +53 358 0 +53 359 0 +53 360 0 +53 361 0 +53 362 0 +53 363 0 +53 364 0 +53 365 0 +53 366 0 +53 367 0 +53 368 0 +53 369 0 +53 370 0 +53 371 0 +53 372 0 +53 373 0 +53 374 0 +53 375 0 +53 376 0 +53 377 0 +53 378 0 +53 379 0 +53 380 0 +53 381 0 +53 382 0 +53 383 0 +54 55 4 +54 56 4 +54 57 4 +54 58 4 +54 59 4 +54 60 4 +54 61 4 +54 62 4 +54 63 4 +54 64 4 +54 65 4 +54 66 4 +54 67 4 +54 68 4 +54 69 4 +54 70 4 +54 71 4 +54 72 4 +54 73 4 +54 74 4 +54 75 4 +54 76 4 +54 77 4 +54 78 4 +54 79 4 +54 80 4 +54 81 4 +54 82 4 +54 83 4 +54 84 4 +54 85 4 +54 86 4 +54 87 4 +54 88 4 +54 89 4 +54 90 4 +54 91 4 +54 92 4 +54 93 4 +54 94 4 +54 95 4 +54 96 4 +54 97 4 +54 98 4 +54 99 4 +54 100 4 +54 101 4 +54 102 4 +54 103 4 +54 104 4 +54 105 4 +54 106 4 +54 107 4 +54 108 4 +54 109 4 +54 110 4 +54 111 4 +54 112 4 +54 113 4 +54 114 4 +54 115 4 +54 116 4 +54 117 4 +54 118 4 +54 119 4 +54 120 4 +54 121 4 +54 122 4 +54 123 4 +54 124 4 +54 125 4 +54 126 4 +54 127 4 +54 128 4 +54 129 4 +54 130 4 +54 131 4 +54 132 4 +54 133 4 +54 134 4 +54 135 4 +54 136 4 +54 137 4 +54 138 4 +54 139 4 +54 140 4 +54 141 4 +54 142 4 +54 143 4 +54 144 4 +54 145 4 +54 146 4 +54 147 4 +54 148 4 +54 149 4 +54 150 4 +54 151 4 +54 152 4 +54 153 4 +54 154 4 +54 155 4 +54 156 4 +54 157 4 +54 158 4 +54 159 4 +54 160 4 +54 161 4 +54 162 4 +54 163 4 +54 164 4 +54 165 4 +54 166 4 +54 167 4 +54 168 4 +54 169 4 +54 170 4 +54 171 4 +54 172 4 +54 173 4 +54 174 4 +54 175 4 +54 176 4 +54 177 4 +54 178 4 +54 179 4 +54 180 4 +54 181 4 +54 182 4 +54 183 4 +54 184 4 +54 185 4 +54 186 4 +54 187 4 +54 188 4 +54 189 4 +54 190 4 +54 191 4 +54 192 0 +54 193 0 +54 194 0 +54 195 0 +54 196 0 +54 197 0 +54 198 0 +54 199 0 +54 200 0 +54 201 0 +54 202 0 +54 203 0 +54 204 0 +54 205 0 +54 206 0 +54 207 0 +54 208 0 +54 209 0 +54 210 0 +54 211 0 +54 212 0 +54 213 0 +54 214 0 +54 215 0 +54 216 0 +54 217 0 +54 218 0 +54 219 0 +54 220 0 +54 221 0 +54 222 0 +54 223 0 +54 224 0 +54 225 0 +54 226 0 +54 227 0 +54 228 0 +54 229 0 +54 230 0 +54 231 0 +54 232 0 +54 233 0 +54 234 0 +54 235 0 +54 236 0 +54 237 0 +54 238 0 +54 239 0 +54 240 0 +54 241 0 +54 242 0 +54 243 0 +54 244 0 +54 245 0 +54 246 0 +54 247 0 +54 248 0 +54 249 0 +54 250 0 +54 251 0 +54 252 0 +54 253 0 +54 254 0 +54 255 0 +54 256 0 +54 257 0 +54 258 0 +54 259 0 +54 260 0 +54 261 0 +54 262 0 +54 263 0 +54 264 0 +54 265 0 +54 266 0 +54 267 0 +54 268 0 +54 269 0 +54 270 0 +54 271 0 +54 272 0 +54 273 0 +54 274 0 +54 275 0 +54 276 0 +54 277 0 +54 278 0 +54 279 0 +54 280 0 +54 281 0 +54 282 0 +54 283 0 +54 284 0 +54 285 0 +54 286 0 +54 287 0 +54 288 0 +54 289 0 +54 290 0 +54 291 0 +54 292 0 +54 293 0 +54 294 0 +54 295 0 +54 296 0 +54 297 0 +54 298 0 +54 299 0 +54 300 0 +54 301 0 +54 302 0 +54 303 0 +54 304 0 +54 305 0 +54 306 0 +54 307 0 +54 308 0 +54 309 0 +54 310 0 +54 311 0 +54 312 0 +54 313 0 +54 314 0 +54 315 0 +54 316 0 +54 317 0 +54 318 0 +54 319 0 +54 320 0 +54 321 0 +54 322 0 +54 323 0 +54 324 0 +54 325 0 +54 326 0 +54 327 0 +54 328 0 +54 329 0 +54 330 0 +54 331 0 +54 332 0 +54 333 0 +54 334 0 +54 335 0 +54 336 0 +54 337 0 +54 338 0 +54 339 0 +54 340 0 +54 341 0 +54 342 0 +54 343 0 +54 344 0 +54 345 0 +54 346 0 +54 347 0 +54 348 0 +54 349 0 +54 350 0 +54 351 0 +54 352 0 +54 353 0 +54 354 0 +54 355 0 +54 356 0 +54 357 0 +54 358 0 +54 359 0 +54 360 0 +54 361 0 +54 362 0 +54 363 0 +54 364 0 +54 365 0 +54 366 0 +54 367 0 +54 368 0 +54 369 0 +54 370 0 +54 371 0 +54 372 0 +54 373 0 +54 374 0 +54 375 0 +54 376 0 +54 377 0 +54 378 0 +54 379 0 +54 380 0 +54 381 0 +54 382 0 +54 383 0 +55 56 4 +55 57 4 +55 58 4 +55 59 4 +55 60 4 +55 61 4 +55 62 4 +55 63 4 +55 64 4 +55 65 4 +55 66 4 +55 67 4 +55 68 4 +55 69 4 +55 70 4 +55 71 4 +55 72 4 +55 73 4 +55 74 4 +55 75 4 +55 76 4 +55 77 4 +55 78 4 +55 79 4 +55 80 4 +55 81 4 +55 82 4 +55 83 4 +55 84 4 +55 85 4 +55 86 4 +55 87 4 +55 88 4 +55 89 4 +55 90 4 +55 91 4 +55 92 4 +55 93 4 +55 94 4 +55 95 4 +55 96 4 +55 97 4 +55 98 4 +55 99 4 +55 100 4 +55 101 4 +55 102 4 +55 103 4 +55 104 4 +55 105 4 +55 106 4 +55 107 4 +55 108 4 +55 109 4 +55 110 4 +55 111 4 +55 112 4 +55 113 4 +55 114 4 +55 115 4 +55 116 4 +55 117 4 +55 118 4 +55 119 4 +55 120 4 +55 121 4 +55 122 4 +55 123 4 +55 124 4 +55 125 4 +55 126 4 +55 127 4 +55 128 4 +55 129 4 +55 130 4 +55 131 4 +55 132 4 +55 133 4 +55 134 4 +55 135 4 +55 136 4 +55 137 4 +55 138 4 +55 139 4 +55 140 4 +55 141 4 +55 142 4 +55 143 4 +55 144 4 +55 145 4 +55 146 4 +55 147 4 +55 148 4 +55 149 4 +55 150 4 +55 151 4 +55 152 4 +55 153 4 +55 154 4 +55 155 4 +55 156 4 +55 157 4 +55 158 4 +55 159 4 +55 160 4 +55 161 4 +55 162 4 +55 163 4 +55 164 4 +55 165 4 +55 166 4 +55 167 4 +55 168 4 +55 169 4 +55 170 4 +55 171 4 +55 172 4 +55 173 4 +55 174 4 +55 175 4 +55 176 4 +55 177 4 +55 178 4 +55 179 4 +55 180 4 +55 181 4 +55 182 4 +55 183 4 +55 184 4 +55 185 4 +55 186 4 +55 187 4 +55 188 4 +55 189 4 +55 190 4 +55 191 4 +55 192 0 +55 193 0 +55 194 0 +55 195 0 +55 196 0 +55 197 0 +55 198 0 +55 199 0 +55 200 0 +55 201 0 +55 202 0 +55 203 0 +55 204 0 +55 205 0 +55 206 0 +55 207 0 +55 208 0 +55 209 0 +55 210 0 +55 211 0 +55 212 0 +55 213 0 +55 214 0 +55 215 0 +55 216 0 +55 217 0 +55 218 0 +55 219 0 +55 220 0 +55 221 0 +55 222 0 +55 223 0 +55 224 0 +55 225 0 +55 226 0 +55 227 0 +55 228 0 +55 229 0 +55 230 0 +55 231 0 +55 232 0 +55 233 0 +55 234 0 +55 235 0 +55 236 0 +55 237 0 +55 238 0 +55 239 0 +55 240 0 +55 241 0 +55 242 0 +55 243 0 +55 244 0 +55 245 0 +55 246 0 +55 247 0 +55 248 0 +55 249 0 +55 250 0 +55 251 0 +55 252 0 +55 253 0 +55 254 0 +55 255 0 +55 256 0 +55 257 0 +55 258 0 +55 259 0 +55 260 0 +55 261 0 +55 262 0 +55 263 0 +55 264 0 +55 265 0 +55 266 0 +55 267 0 +55 268 0 +55 269 0 +55 270 0 +55 271 0 +55 272 0 +55 273 0 +55 274 0 +55 275 0 +55 276 0 +55 277 0 +55 278 0 +55 279 0 +55 280 0 +55 281 0 +55 282 0 +55 283 0 +55 284 0 +55 285 0 +55 286 0 +55 287 0 +55 288 0 +55 289 0 +55 290 0 +55 291 0 +55 292 0 +55 293 0 +55 294 0 +55 295 0 +55 296 0 +55 297 0 +55 298 0 +55 299 0 +55 300 0 +55 301 0 +55 302 0 +55 303 0 +55 304 0 +55 305 0 +55 306 0 +55 307 0 +55 308 0 +55 309 0 +55 310 0 +55 311 0 +55 312 0 +55 313 0 +55 314 0 +55 315 0 +55 316 0 +55 317 0 +55 318 0 +55 319 0 +55 320 0 +55 321 0 +55 322 0 +55 323 0 +55 324 0 +55 325 0 +55 326 0 +55 327 0 +55 328 0 +55 329 0 +55 330 0 +55 331 0 +55 332 0 +55 333 0 +55 334 0 +55 335 0 +55 336 0 +55 337 0 +55 338 0 +55 339 0 +55 340 0 +55 341 0 +55 342 0 +55 343 0 +55 344 0 +55 345 0 +55 346 0 +55 347 0 +55 348 0 +55 349 0 +55 350 0 +55 351 0 +55 352 0 +55 353 0 +55 354 0 +55 355 0 +55 356 0 +55 357 0 +55 358 0 +55 359 0 +55 360 0 +55 361 0 +55 362 0 +55 363 0 +55 364 0 +55 365 0 +55 366 0 +55 367 0 +55 368 0 +55 369 0 +55 370 0 +55 371 0 +55 372 0 +55 373 0 +55 374 0 +55 375 0 +55 376 0 +55 377 0 +55 378 0 +55 379 0 +55 380 0 +55 381 0 +55 382 0 +55 383 0 +56 57 4 +56 58 4 +56 59 4 +56 60 4 +56 61 4 +56 62 4 +56 63 4 +56 64 4 +56 65 4 +56 66 4 +56 67 4 +56 68 4 +56 69 4 +56 70 4 +56 71 4 +56 72 4 +56 73 4 +56 74 4 +56 75 4 +56 76 4 +56 77 4 +56 78 4 +56 79 4 +56 80 4 +56 81 4 +56 82 4 +56 83 4 +56 84 4 +56 85 4 +56 86 4 +56 87 4 +56 88 4 +56 89 4 +56 90 4 +56 91 4 +56 92 4 +56 93 4 +56 94 4 +56 95 4 +56 96 4 +56 97 4 +56 98 4 +56 99 4 +56 100 4 +56 101 4 +56 102 4 +56 103 4 +56 104 4 +56 105 4 +56 106 4 +56 107 4 +56 108 4 +56 109 4 +56 110 4 +56 111 4 +56 112 4 +56 113 4 +56 114 4 +56 115 4 +56 116 4 +56 117 4 +56 118 4 +56 119 4 +56 120 4 +56 121 4 +56 122 4 +56 123 4 +56 124 4 +56 125 4 +56 126 4 +56 127 4 +56 128 4 +56 129 4 +56 130 4 +56 131 4 +56 132 4 +56 133 4 +56 134 4 +56 135 4 +56 136 4 +56 137 4 +56 138 4 +56 139 4 +56 140 4 +56 141 4 +56 142 4 +56 143 4 +56 144 4 +56 145 4 +56 146 4 +56 147 4 +56 148 4 +56 149 4 +56 150 4 +56 151 4 +56 152 4 +56 153 4 +56 154 4 +56 155 4 +56 156 4 +56 157 4 +56 158 4 +56 159 4 +56 160 4 +56 161 4 +56 162 4 +56 163 4 +56 164 4 +56 165 4 +56 166 4 +56 167 4 +56 168 4 +56 169 4 +56 170 4 +56 171 4 +56 172 4 +56 173 4 +56 174 4 +56 175 4 +56 176 4 +56 177 4 +56 178 4 +56 179 4 +56 180 4 +56 181 4 +56 182 4 +56 183 4 +56 184 4 +56 185 4 +56 186 4 +56 187 4 +56 188 4 +56 189 4 +56 190 4 +56 191 4 +56 192 0 +56 193 0 +56 194 0 +56 195 0 +56 196 0 +56 197 0 +56 198 0 +56 199 0 +56 200 0 +56 201 0 +56 202 0 +56 203 0 +56 204 0 +56 205 0 +56 206 0 +56 207 0 +56 208 0 +56 209 0 +56 210 0 +56 211 0 +56 212 0 +56 213 0 +56 214 0 +56 215 0 +56 216 0 +56 217 0 +56 218 0 +56 219 0 +56 220 0 +56 221 0 +56 222 0 +56 223 0 +56 224 0 +56 225 0 +56 226 0 +56 227 0 +56 228 0 +56 229 0 +56 230 0 +56 231 0 +56 232 0 +56 233 0 +56 234 0 +56 235 0 +56 236 0 +56 237 0 +56 238 0 +56 239 0 +56 240 0 +56 241 0 +56 242 0 +56 243 0 +56 244 0 +56 245 0 +56 246 0 +56 247 0 +56 248 0 +56 249 0 +56 250 0 +56 251 0 +56 252 0 +56 253 0 +56 254 0 +56 255 0 +56 256 0 +56 257 0 +56 258 0 +56 259 0 +56 260 0 +56 261 0 +56 262 0 +56 263 0 +56 264 0 +56 265 0 +56 266 0 +56 267 0 +56 268 0 +56 269 0 +56 270 0 +56 271 0 +56 272 0 +56 273 0 +56 274 0 +56 275 0 +56 276 0 +56 277 0 +56 278 0 +56 279 0 +56 280 0 +56 281 0 +56 282 0 +56 283 0 +56 284 0 +56 285 0 +56 286 0 +56 287 0 +56 288 0 +56 289 0 +56 290 0 +56 291 0 +56 292 0 +56 293 0 +56 294 0 +56 295 0 +56 296 0 +56 297 0 +56 298 0 +56 299 0 +56 300 0 +56 301 0 +56 302 0 +56 303 0 +56 304 0 +56 305 0 +56 306 0 +56 307 0 +56 308 0 +56 309 0 +56 310 0 +56 311 0 +56 312 0 +56 313 0 +56 314 0 +56 315 0 +56 316 0 +56 317 0 +56 318 0 +56 319 0 +56 320 0 +56 321 0 +56 322 0 +56 323 0 +56 324 0 +56 325 0 +56 326 0 +56 327 0 +56 328 0 +56 329 0 +56 330 0 +56 331 0 +56 332 0 +56 333 0 +56 334 0 +56 335 0 +56 336 0 +56 337 0 +56 338 0 +56 339 0 +56 340 0 +56 341 0 +56 342 0 +56 343 0 +56 344 0 +56 345 0 +56 346 0 +56 347 0 +56 348 0 +56 349 0 +56 350 0 +56 351 0 +56 352 0 +56 353 0 +56 354 0 +56 355 0 +56 356 0 +56 357 0 +56 358 0 +56 359 0 +56 360 0 +56 361 0 +56 362 0 +56 363 0 +56 364 0 +56 365 0 +56 366 0 +56 367 0 +56 368 0 +56 369 0 +56 370 0 +56 371 0 +56 372 0 +56 373 0 +56 374 0 +56 375 0 +56 376 0 +56 377 0 +56 378 0 +56 379 0 +56 380 0 +56 381 0 +56 382 0 +56 383 0 +57 58 4 +57 59 4 +57 60 4 +57 61 4 +57 62 4 +57 63 4 +57 64 4 +57 65 4 +57 66 4 +57 67 4 +57 68 4 +57 69 4 +57 70 4 +57 71 4 +57 72 4 +57 73 4 +57 74 4 +57 75 4 +57 76 4 +57 77 4 +57 78 4 +57 79 4 +57 80 4 +57 81 4 +57 82 4 +57 83 4 +57 84 4 +57 85 4 +57 86 4 +57 87 4 +57 88 4 +57 89 4 +57 90 4 +57 91 4 +57 92 4 +57 93 4 +57 94 4 +57 95 4 +57 96 4 +57 97 4 +57 98 4 +57 99 4 +57 100 4 +57 101 4 +57 102 4 +57 103 4 +57 104 4 +57 105 4 +57 106 4 +57 107 4 +57 108 4 +57 109 4 +57 110 4 +57 111 4 +57 112 4 +57 113 4 +57 114 4 +57 115 4 +57 116 4 +57 117 4 +57 118 4 +57 119 4 +57 120 4 +57 121 4 +57 122 4 +57 123 4 +57 124 4 +57 125 4 +57 126 4 +57 127 4 +57 128 4 +57 129 4 +57 130 4 +57 131 4 +57 132 4 +57 133 4 +57 134 4 +57 135 4 +57 136 4 +57 137 4 +57 138 4 +57 139 4 +57 140 4 +57 141 4 +57 142 4 +57 143 4 +57 144 4 +57 145 4 +57 146 4 +57 147 4 +57 148 4 +57 149 4 +57 150 4 +57 151 4 +57 152 4 +57 153 4 +57 154 4 +57 155 4 +57 156 4 +57 157 4 +57 158 4 +57 159 4 +57 160 4 +57 161 4 +57 162 4 +57 163 4 +57 164 4 +57 165 4 +57 166 4 +57 167 4 +57 168 4 +57 169 4 +57 170 4 +57 171 4 +57 172 4 +57 173 4 +57 174 4 +57 175 4 +57 176 4 +57 177 4 +57 178 4 +57 179 4 +57 180 4 +57 181 4 +57 182 4 +57 183 4 +57 184 4 +57 185 4 +57 186 4 +57 187 4 +57 188 4 +57 189 4 +57 190 4 +57 191 4 +57 192 0 +57 193 0 +57 194 0 +57 195 0 +57 196 0 +57 197 0 +57 198 0 +57 199 0 +57 200 0 +57 201 0 +57 202 0 +57 203 0 +57 204 0 +57 205 0 +57 206 0 +57 207 0 +57 208 0 +57 209 0 +57 210 0 +57 211 0 +57 212 0 +57 213 0 +57 214 0 +57 215 0 +57 216 0 +57 217 0 +57 218 0 +57 219 0 +57 220 0 +57 221 0 +57 222 0 +57 223 0 +57 224 0 +57 225 0 +57 226 0 +57 227 0 +57 228 0 +57 229 0 +57 230 0 +57 231 0 +57 232 0 +57 233 0 +57 234 0 +57 235 0 +57 236 0 +57 237 0 +57 238 0 +57 239 0 +57 240 0 +57 241 0 +57 242 0 +57 243 0 +57 244 0 +57 245 0 +57 246 0 +57 247 0 +57 248 0 +57 249 0 +57 250 0 +57 251 0 +57 252 0 +57 253 0 +57 254 0 +57 255 0 +57 256 0 +57 257 0 +57 258 0 +57 259 0 +57 260 0 +57 261 0 +57 262 0 +57 263 0 +57 264 0 +57 265 0 +57 266 0 +57 267 0 +57 268 0 +57 269 0 +57 270 0 +57 271 0 +57 272 0 +57 273 0 +57 274 0 +57 275 0 +57 276 0 +57 277 0 +57 278 0 +57 279 0 +57 280 0 +57 281 0 +57 282 0 +57 283 0 +57 284 0 +57 285 0 +57 286 0 +57 287 0 +57 288 0 +57 289 0 +57 290 0 +57 291 0 +57 292 0 +57 293 0 +57 294 0 +57 295 0 +57 296 0 +57 297 0 +57 298 0 +57 299 0 +57 300 0 +57 301 0 +57 302 0 +57 303 0 +57 304 0 +57 305 0 +57 306 0 +57 307 0 +57 308 0 +57 309 0 +57 310 0 +57 311 0 +57 312 0 +57 313 0 +57 314 0 +57 315 0 +57 316 0 +57 317 0 +57 318 0 +57 319 0 +57 320 0 +57 321 0 +57 322 0 +57 323 0 +57 324 0 +57 325 0 +57 326 0 +57 327 0 +57 328 0 +57 329 0 +57 330 0 +57 331 0 +57 332 0 +57 333 0 +57 334 0 +57 335 0 +57 336 0 +57 337 0 +57 338 0 +57 339 0 +57 340 0 +57 341 0 +57 342 0 +57 343 0 +57 344 0 +57 345 0 +57 346 0 +57 347 0 +57 348 0 +57 349 0 +57 350 0 +57 351 0 +57 352 0 +57 353 0 +57 354 0 +57 355 0 +57 356 0 +57 357 0 +57 358 0 +57 359 0 +57 360 0 +57 361 0 +57 362 0 +57 363 0 +57 364 0 +57 365 0 +57 366 0 +57 367 0 +57 368 0 +57 369 0 +57 370 0 +57 371 0 +57 372 0 +57 373 0 +57 374 0 +57 375 0 +57 376 0 +57 377 0 +57 378 0 +57 379 0 +57 380 0 +57 381 0 +57 382 0 +57 383 0 +58 59 4 +58 60 4 +58 61 4 +58 62 4 +58 63 4 +58 64 4 +58 65 4 +58 66 4 +58 67 4 +58 68 4 +58 69 4 +58 70 4 +58 71 4 +58 72 4 +58 73 4 +58 74 4 +58 75 4 +58 76 4 +58 77 4 +58 78 4 +58 79 4 +58 80 4 +58 81 4 +58 82 4 +58 83 4 +58 84 4 +58 85 4 +58 86 4 +58 87 4 +58 88 4 +58 89 4 +58 90 4 +58 91 4 +58 92 4 +58 93 4 +58 94 4 +58 95 4 +58 96 4 +58 97 4 +58 98 4 +58 99 4 +58 100 4 +58 101 4 +58 102 4 +58 103 4 +58 104 4 +58 105 4 +58 106 4 +58 107 4 +58 108 4 +58 109 4 +58 110 4 +58 111 4 +58 112 4 +58 113 4 +58 114 4 +58 115 4 +58 116 4 +58 117 4 +58 118 4 +58 119 4 +58 120 4 +58 121 4 +58 122 4 +58 123 4 +58 124 4 +58 125 4 +58 126 4 +58 127 4 +58 128 4 +58 129 4 +58 130 4 +58 131 4 +58 132 4 +58 133 4 +58 134 4 +58 135 4 +58 136 4 +58 137 4 +58 138 4 +58 139 4 +58 140 4 +58 141 4 +58 142 4 +58 143 4 +58 144 4 +58 145 4 +58 146 4 +58 147 4 +58 148 4 +58 149 4 +58 150 4 +58 151 4 +58 152 4 +58 153 4 +58 154 4 +58 155 4 +58 156 4 +58 157 4 +58 158 4 +58 159 4 +58 160 4 +58 161 4 +58 162 4 +58 163 4 +58 164 4 +58 165 4 +58 166 4 +58 167 4 +58 168 4 +58 169 4 +58 170 4 +58 171 4 +58 172 4 +58 173 4 +58 174 4 +58 175 4 +58 176 4 +58 177 4 +58 178 4 +58 179 4 +58 180 4 +58 181 4 +58 182 4 +58 183 4 +58 184 4 +58 185 4 +58 186 4 +58 187 4 +58 188 4 +58 189 4 +58 190 4 +58 191 4 +58 192 0 +58 193 0 +58 194 0 +58 195 0 +58 196 0 +58 197 0 +58 198 0 +58 199 0 +58 200 0 +58 201 0 +58 202 0 +58 203 0 +58 204 0 +58 205 0 +58 206 0 +58 207 0 +58 208 0 +58 209 0 +58 210 0 +58 211 0 +58 212 0 +58 213 0 +58 214 0 +58 215 0 +58 216 0 +58 217 0 +58 218 0 +58 219 0 +58 220 0 +58 221 0 +58 222 0 +58 223 0 +58 224 0 +58 225 0 +58 226 0 +58 227 0 +58 228 0 +58 229 0 +58 230 0 +58 231 0 +58 232 0 +58 233 0 +58 234 0 +58 235 0 +58 236 0 +58 237 0 +58 238 0 +58 239 0 +58 240 0 +58 241 0 +58 242 0 +58 243 0 +58 244 0 +58 245 0 +58 246 0 +58 247 0 +58 248 0 +58 249 0 +58 250 0 +58 251 0 +58 252 0 +58 253 0 +58 254 0 +58 255 0 +58 256 0 +58 257 0 +58 258 0 +58 259 0 +58 260 0 +58 261 0 +58 262 0 +58 263 0 +58 264 0 +58 265 0 +58 266 0 +58 267 0 +58 268 0 +58 269 0 +58 270 0 +58 271 0 +58 272 0 +58 273 0 +58 274 0 +58 275 0 +58 276 0 +58 277 0 +58 278 0 +58 279 0 +58 280 0 +58 281 0 +58 282 0 +58 283 0 +58 284 0 +58 285 0 +58 286 0 +58 287 0 +58 288 0 +58 289 0 +58 290 0 +58 291 0 +58 292 0 +58 293 0 +58 294 0 +58 295 0 +58 296 0 +58 297 0 +58 298 0 +58 299 0 +58 300 0 +58 301 0 +58 302 0 +58 303 0 +58 304 0 +58 305 0 +58 306 0 +58 307 0 +58 308 0 +58 309 0 +58 310 0 +58 311 0 +58 312 0 +58 313 0 +58 314 0 +58 315 0 +58 316 0 +58 317 0 +58 318 0 +58 319 0 +58 320 0 +58 321 0 +58 322 0 +58 323 0 +58 324 0 +58 325 0 +58 326 0 +58 327 0 +58 328 0 +58 329 0 +58 330 0 +58 331 0 +58 332 0 +58 333 0 +58 334 0 +58 335 0 +58 336 0 +58 337 0 +58 338 0 +58 339 0 +58 340 0 +58 341 0 +58 342 0 +58 343 0 +58 344 0 +58 345 0 +58 346 0 +58 347 0 +58 348 0 +58 349 0 +58 350 0 +58 351 0 +58 352 0 +58 353 0 +58 354 0 +58 355 0 +58 356 0 +58 357 0 +58 358 0 +58 359 0 +58 360 0 +58 361 0 +58 362 0 +58 363 0 +58 364 0 +58 365 0 +58 366 0 +58 367 0 +58 368 0 +58 369 0 +58 370 0 +58 371 0 +58 372 0 +58 373 0 +58 374 0 +58 375 0 +58 376 0 +58 377 0 +58 378 0 +58 379 0 +58 380 0 +58 381 0 +58 382 0 +58 383 0 +59 60 4 +59 61 4 +59 62 4 +59 63 4 +59 64 4 +59 65 4 +59 66 4 +59 67 4 +59 68 4 +59 69 4 +59 70 4 +59 71 4 +59 72 4 +59 73 4 +59 74 4 +59 75 4 +59 76 4 +59 77 4 +59 78 4 +59 79 4 +59 80 4 +59 81 4 +59 82 4 +59 83 4 +59 84 4 +59 85 4 +59 86 4 +59 87 4 +59 88 4 +59 89 4 +59 90 4 +59 91 4 +59 92 4 +59 93 4 +59 94 4 +59 95 4 +59 96 4 +59 97 4 +59 98 4 +59 99 4 +59 100 4 +59 101 4 +59 102 4 +59 103 4 +59 104 4 +59 105 4 +59 106 4 +59 107 4 +59 108 4 +59 109 4 +59 110 4 +59 111 4 +59 112 4 +59 113 4 +59 114 4 +59 115 4 +59 116 4 +59 117 4 +59 118 4 +59 119 4 +59 120 4 +59 121 4 +59 122 4 +59 123 4 +59 124 4 +59 125 4 +59 126 4 +59 127 4 +59 128 4 +59 129 4 +59 130 4 +59 131 4 +59 132 4 +59 133 4 +59 134 4 +59 135 4 +59 136 4 +59 137 4 +59 138 4 +59 139 4 +59 140 4 +59 141 4 +59 142 4 +59 143 4 +59 144 4 +59 145 4 +59 146 4 +59 147 4 +59 148 4 +59 149 4 +59 150 4 +59 151 4 +59 152 4 +59 153 4 +59 154 4 +59 155 4 +59 156 4 +59 157 4 +59 158 4 +59 159 4 +59 160 4 +59 161 4 +59 162 4 +59 163 4 +59 164 4 +59 165 4 +59 166 4 +59 167 4 +59 168 4 +59 169 4 +59 170 4 +59 171 4 +59 172 4 +59 173 4 +59 174 4 +59 175 4 +59 176 4 +59 177 4 +59 178 4 +59 179 4 +59 180 4 +59 181 4 +59 182 4 +59 183 4 +59 184 4 +59 185 4 +59 186 4 +59 187 4 +59 188 4 +59 189 4 +59 190 4 +59 191 4 +59 192 0 +59 193 0 +59 194 0 +59 195 0 +59 196 0 +59 197 0 +59 198 0 +59 199 0 +59 200 0 +59 201 0 +59 202 0 +59 203 0 +59 204 0 +59 205 0 +59 206 0 +59 207 0 +59 208 0 +59 209 0 +59 210 0 +59 211 0 +59 212 0 +59 213 0 +59 214 0 +59 215 0 +59 216 0 +59 217 0 +59 218 0 +59 219 0 +59 220 0 +59 221 0 +59 222 0 +59 223 0 +59 224 0 +59 225 0 +59 226 0 +59 227 0 +59 228 0 +59 229 0 +59 230 0 +59 231 0 +59 232 0 +59 233 0 +59 234 0 +59 235 0 +59 236 0 +59 237 0 +59 238 0 +59 239 0 +59 240 0 +59 241 0 +59 242 0 +59 243 0 +59 244 0 +59 245 0 +59 246 0 +59 247 0 +59 248 0 +59 249 0 +59 250 0 +59 251 0 +59 252 0 +59 253 0 +59 254 0 +59 255 0 +59 256 0 +59 257 0 +59 258 0 +59 259 0 +59 260 0 +59 261 0 +59 262 0 +59 263 0 +59 264 0 +59 265 0 +59 266 0 +59 267 0 +59 268 0 +59 269 0 +59 270 0 +59 271 0 +59 272 0 +59 273 0 +59 274 0 +59 275 0 +59 276 0 +59 277 0 +59 278 0 +59 279 0 +59 280 0 +59 281 0 +59 282 0 +59 283 0 +59 284 0 +59 285 0 +59 286 0 +59 287 0 +59 288 0 +59 289 0 +59 290 0 +59 291 0 +59 292 0 +59 293 0 +59 294 0 +59 295 0 +59 296 0 +59 297 0 +59 298 0 +59 299 0 +59 300 0 +59 301 0 +59 302 0 +59 303 0 +59 304 0 +59 305 0 +59 306 0 +59 307 0 +59 308 0 +59 309 0 +59 310 0 +59 311 0 +59 312 0 +59 313 0 +59 314 0 +59 315 0 +59 316 0 +59 317 0 +59 318 0 +59 319 0 +59 320 0 +59 321 0 +59 322 0 +59 323 0 +59 324 0 +59 325 0 +59 326 0 +59 327 0 +59 328 0 +59 329 0 +59 330 0 +59 331 0 +59 332 0 +59 333 0 +59 334 0 +59 335 0 +59 336 0 +59 337 0 +59 338 0 +59 339 0 +59 340 0 +59 341 0 +59 342 0 +59 343 0 +59 344 0 +59 345 0 +59 346 0 +59 347 0 +59 348 0 +59 349 0 +59 350 0 +59 351 0 +59 352 0 +59 353 0 +59 354 0 +59 355 0 +59 356 0 +59 357 0 +59 358 0 +59 359 0 +59 360 0 +59 361 0 +59 362 0 +59 363 0 +59 364 0 +59 365 0 +59 366 0 +59 367 0 +59 368 0 +59 369 0 +59 370 0 +59 371 0 +59 372 0 +59 373 0 +59 374 0 +59 375 0 +59 376 0 +59 377 0 +59 378 0 +59 379 0 +59 380 0 +59 381 0 +59 382 0 +59 383 0 +60 61 4 +60 62 4 +60 63 4 +60 64 4 +60 65 4 +60 66 4 +60 67 4 +60 68 4 +60 69 4 +60 70 4 +60 71 4 +60 72 4 +60 73 4 +60 74 4 +60 75 4 +60 76 4 +60 77 4 +60 78 4 +60 79 4 +60 80 4 +60 81 4 +60 82 4 +60 83 4 +60 84 4 +60 85 4 +60 86 4 +60 87 4 +60 88 4 +60 89 4 +60 90 4 +60 91 4 +60 92 4 +60 93 4 +60 94 4 +60 95 4 +60 96 4 +60 97 4 +60 98 4 +60 99 4 +60 100 4 +60 101 4 +60 102 4 +60 103 4 +60 104 4 +60 105 4 +60 106 4 +60 107 4 +60 108 4 +60 109 4 +60 110 4 +60 111 4 +60 112 4 +60 113 4 +60 114 4 +60 115 4 +60 116 4 +60 117 4 +60 118 4 +60 119 4 +60 120 4 +60 121 4 +60 122 4 +60 123 4 +60 124 4 +60 125 4 +60 126 4 +60 127 4 +60 128 4 +60 129 4 +60 130 4 +60 131 4 +60 132 4 +60 133 4 +60 134 4 +60 135 4 +60 136 4 +60 137 4 +60 138 4 +60 139 4 +60 140 4 +60 141 4 +60 142 4 +60 143 4 +60 144 4 +60 145 4 +60 146 4 +60 147 4 +60 148 4 +60 149 4 +60 150 4 +60 151 4 +60 152 4 +60 153 4 +60 154 4 +60 155 4 +60 156 4 +60 157 4 +60 158 4 +60 159 4 +60 160 4 +60 161 4 +60 162 4 +60 163 4 +60 164 4 +60 165 4 +60 166 4 +60 167 4 +60 168 4 +60 169 4 +60 170 4 +60 171 4 +60 172 4 +60 173 4 +60 174 4 +60 175 4 +60 176 4 +60 177 4 +60 178 4 +60 179 4 +60 180 4 +60 181 4 +60 182 4 +60 183 4 +60 184 4 +60 185 4 +60 186 4 +60 187 4 +60 188 4 +60 189 4 +60 190 4 +60 191 4 +60 192 0 +60 193 0 +60 194 0 +60 195 0 +60 196 0 +60 197 0 +60 198 0 +60 199 0 +60 200 0 +60 201 0 +60 202 0 +60 203 0 +60 204 0 +60 205 0 +60 206 0 +60 207 0 +60 208 0 +60 209 0 +60 210 0 +60 211 0 +60 212 0 +60 213 0 +60 214 0 +60 215 0 +60 216 0 +60 217 0 +60 218 0 +60 219 0 +60 220 0 +60 221 0 +60 222 0 +60 223 0 +60 224 0 +60 225 0 +60 226 0 +60 227 0 +60 228 0 +60 229 0 +60 230 0 +60 231 0 +60 232 0 +60 233 0 +60 234 0 +60 235 0 +60 236 0 +60 237 0 +60 238 0 +60 239 0 +60 240 0 +60 241 0 +60 242 0 +60 243 0 +60 244 0 +60 245 0 +60 246 0 +60 247 0 +60 248 0 +60 249 0 +60 250 0 +60 251 0 +60 252 0 +60 253 0 +60 254 0 +60 255 0 +60 256 0 +60 257 0 +60 258 0 +60 259 0 +60 260 0 +60 261 0 +60 262 0 +60 263 0 +60 264 0 +60 265 0 +60 266 0 +60 267 0 +60 268 0 +60 269 0 +60 270 0 +60 271 0 +60 272 0 +60 273 0 +60 274 0 +60 275 0 +60 276 0 +60 277 0 +60 278 0 +60 279 0 +60 280 0 +60 281 0 +60 282 0 +60 283 0 +60 284 0 +60 285 0 +60 286 0 +60 287 0 +60 288 0 +60 289 0 +60 290 0 +60 291 0 +60 292 0 +60 293 0 +60 294 0 +60 295 0 +60 296 0 +60 297 0 +60 298 0 +60 299 0 +60 300 0 +60 301 0 +60 302 0 +60 303 0 +60 304 0 +60 305 0 +60 306 0 +60 307 0 +60 308 0 +60 309 0 +60 310 0 +60 311 0 +60 312 0 +60 313 0 +60 314 0 +60 315 0 +60 316 0 +60 317 0 +60 318 0 +60 319 0 +60 320 0 +60 321 0 +60 322 0 +60 323 0 +60 324 0 +60 325 0 +60 326 0 +60 327 0 +60 328 0 +60 329 0 +60 330 0 +60 331 0 +60 332 0 +60 333 0 +60 334 0 +60 335 0 +60 336 0 +60 337 0 +60 338 0 +60 339 0 +60 340 0 +60 341 0 +60 342 0 +60 343 0 +60 344 0 +60 345 0 +60 346 0 +60 347 0 +60 348 0 +60 349 0 +60 350 0 +60 351 0 +60 352 0 +60 353 0 +60 354 0 +60 355 0 +60 356 0 +60 357 0 +60 358 0 +60 359 0 +60 360 0 +60 361 0 +60 362 0 +60 363 0 +60 364 0 +60 365 0 +60 366 0 +60 367 0 +60 368 0 +60 369 0 +60 370 0 +60 371 0 +60 372 0 +60 373 0 +60 374 0 +60 375 0 +60 376 0 +60 377 0 +60 378 0 +60 379 0 +60 380 0 +60 381 0 +60 382 0 +60 383 0 +61 62 4 +61 63 4 +61 64 4 +61 65 4 +61 66 4 +61 67 4 +61 68 4 +61 69 4 +61 70 4 +61 71 4 +61 72 4 +61 73 4 +61 74 4 +61 75 4 +61 76 4 +61 77 4 +61 78 4 +61 79 4 +61 80 4 +61 81 4 +61 82 4 +61 83 4 +61 84 4 +61 85 4 +61 86 4 +61 87 4 +61 88 4 +61 89 4 +61 90 4 +61 91 4 +61 92 4 +61 93 4 +61 94 4 +61 95 4 +61 96 4 +61 97 4 +61 98 4 +61 99 4 +61 100 4 +61 101 4 +61 102 4 +61 103 4 +61 104 4 +61 105 4 +61 106 4 +61 107 4 +61 108 4 +61 109 4 +61 110 4 +61 111 4 +61 112 4 +61 113 4 +61 114 4 +61 115 4 +61 116 4 +61 117 4 +61 118 4 +61 119 4 +61 120 4 +61 121 4 +61 122 4 +61 123 4 +61 124 4 +61 125 4 +61 126 4 +61 127 4 +61 128 4 +61 129 4 +61 130 4 +61 131 4 +61 132 4 +61 133 4 +61 134 4 +61 135 4 +61 136 4 +61 137 4 +61 138 4 +61 139 4 +61 140 4 +61 141 4 +61 142 4 +61 143 4 +61 144 4 +61 145 4 +61 146 4 +61 147 4 +61 148 4 +61 149 4 +61 150 4 +61 151 4 +61 152 4 +61 153 4 +61 154 4 +61 155 4 +61 156 4 +61 157 4 +61 158 4 +61 159 4 +61 160 4 +61 161 4 +61 162 4 +61 163 4 +61 164 4 +61 165 4 +61 166 4 +61 167 4 +61 168 4 +61 169 4 +61 170 4 +61 171 4 +61 172 4 +61 173 4 +61 174 4 +61 175 4 +61 176 4 +61 177 4 +61 178 4 +61 179 4 +61 180 4 +61 181 4 +61 182 4 +61 183 4 +61 184 4 +61 185 4 +61 186 4 +61 187 4 +61 188 4 +61 189 4 +61 190 4 +61 191 4 +61 192 0 +61 193 0 +61 194 0 +61 195 0 +61 196 0 +61 197 0 +61 198 0 +61 199 0 +61 200 0 +61 201 0 +61 202 0 +61 203 0 +61 204 0 +61 205 0 +61 206 0 +61 207 0 +61 208 0 +61 209 0 +61 210 0 +61 211 0 +61 212 0 +61 213 0 +61 214 0 +61 215 0 +61 216 0 +61 217 0 +61 218 0 +61 219 0 +61 220 0 +61 221 0 +61 222 0 +61 223 0 +61 224 0 +61 225 0 +61 226 0 +61 227 0 +61 228 0 +61 229 0 +61 230 0 +61 231 0 +61 232 0 +61 233 0 +61 234 0 +61 235 0 +61 236 0 +61 237 0 +61 238 0 +61 239 0 +61 240 0 +61 241 0 +61 242 0 +61 243 0 +61 244 0 +61 245 0 +61 246 0 +61 247 0 +61 248 0 +61 249 0 +61 250 0 +61 251 0 +61 252 0 +61 253 0 +61 254 0 +61 255 0 +61 256 0 +61 257 0 +61 258 0 +61 259 0 +61 260 0 +61 261 0 +61 262 0 +61 263 0 +61 264 0 +61 265 0 +61 266 0 +61 267 0 +61 268 0 +61 269 0 +61 270 0 +61 271 0 +61 272 0 +61 273 0 +61 274 0 +61 275 0 +61 276 0 +61 277 0 +61 278 0 +61 279 0 +61 280 0 +61 281 0 +61 282 0 +61 283 0 +61 284 0 +61 285 0 +61 286 0 +61 287 0 +61 288 0 +61 289 0 +61 290 0 +61 291 0 +61 292 0 +61 293 0 +61 294 0 +61 295 0 +61 296 0 +61 297 0 +61 298 0 +61 299 0 +61 300 0 +61 301 0 +61 302 0 +61 303 0 +61 304 0 +61 305 0 +61 306 0 +61 307 0 +61 308 0 +61 309 0 +61 310 0 +61 311 0 +61 312 0 +61 313 0 +61 314 0 +61 315 0 +61 316 0 +61 317 0 +61 318 0 +61 319 0 +61 320 0 +61 321 0 +61 322 0 +61 323 0 +61 324 0 +61 325 0 +61 326 0 +61 327 0 +61 328 0 +61 329 0 +61 330 0 +61 331 0 +61 332 0 +61 333 0 +61 334 0 +61 335 0 +61 336 0 +61 337 0 +61 338 0 +61 339 0 +61 340 0 +61 341 0 +61 342 0 +61 343 0 +61 344 0 +61 345 0 +61 346 0 +61 347 0 +61 348 0 +61 349 0 +61 350 0 +61 351 0 +61 352 0 +61 353 0 +61 354 0 +61 355 0 +61 356 0 +61 357 0 +61 358 0 +61 359 0 +61 360 0 +61 361 0 +61 362 0 +61 363 0 +61 364 0 +61 365 0 +61 366 0 +61 367 0 +61 368 0 +61 369 0 +61 370 0 +61 371 0 +61 372 0 +61 373 0 +61 374 0 +61 375 0 +61 376 0 +61 377 0 +61 378 0 +61 379 0 +61 380 0 +61 381 0 +61 382 0 +61 383 0 +62 63 4 +62 64 4 +62 65 4 +62 66 4 +62 67 4 +62 68 4 +62 69 4 +62 70 4 +62 71 4 +62 72 4 +62 73 4 +62 74 4 +62 75 4 +62 76 4 +62 77 4 +62 78 4 +62 79 4 +62 80 4 +62 81 4 +62 82 4 +62 83 4 +62 84 4 +62 85 4 +62 86 4 +62 87 4 +62 88 4 +62 89 4 +62 90 4 +62 91 4 +62 92 4 +62 93 4 +62 94 4 +62 95 4 +62 96 4 +62 97 4 +62 98 4 +62 99 4 +62 100 4 +62 101 4 +62 102 4 +62 103 4 +62 104 4 +62 105 4 +62 106 4 +62 107 4 +62 108 4 +62 109 4 +62 110 4 +62 111 4 +62 112 4 +62 113 4 +62 114 4 +62 115 4 +62 116 4 +62 117 4 +62 118 4 +62 119 4 +62 120 4 +62 121 4 +62 122 4 +62 123 4 +62 124 4 +62 125 4 +62 126 4 +62 127 4 +62 128 4 +62 129 4 +62 130 4 +62 131 4 +62 132 4 +62 133 4 +62 134 4 +62 135 4 +62 136 4 +62 137 4 +62 138 4 +62 139 4 +62 140 4 +62 141 4 +62 142 4 +62 143 4 +62 144 4 +62 145 4 +62 146 4 +62 147 4 +62 148 4 +62 149 4 +62 150 4 +62 151 4 +62 152 4 +62 153 4 +62 154 4 +62 155 4 +62 156 4 +62 157 4 +62 158 4 +62 159 4 +62 160 4 +62 161 4 +62 162 4 +62 163 4 +62 164 4 +62 165 4 +62 166 4 +62 167 4 +62 168 4 +62 169 4 +62 170 4 +62 171 4 +62 172 4 +62 173 4 +62 174 4 +62 175 4 +62 176 4 +62 177 4 +62 178 4 +62 179 4 +62 180 4 +62 181 4 +62 182 4 +62 183 4 +62 184 4 +62 185 4 +62 186 4 +62 187 4 +62 188 4 +62 189 4 +62 190 4 +62 191 4 +62 192 0 +62 193 0 +62 194 0 +62 195 0 +62 196 0 +62 197 0 +62 198 0 +62 199 0 +62 200 0 +62 201 0 +62 202 0 +62 203 0 +62 204 0 +62 205 0 +62 206 0 +62 207 0 +62 208 0 +62 209 0 +62 210 0 +62 211 0 +62 212 0 +62 213 0 +62 214 0 +62 215 0 +62 216 0 +62 217 0 +62 218 0 +62 219 0 +62 220 0 +62 221 0 +62 222 0 +62 223 0 +62 224 0 +62 225 0 +62 226 0 +62 227 0 +62 228 0 +62 229 0 +62 230 0 +62 231 0 +62 232 0 +62 233 0 +62 234 0 +62 235 0 +62 236 0 +62 237 0 +62 238 0 +62 239 0 +62 240 0 +62 241 0 +62 242 0 +62 243 0 +62 244 0 +62 245 0 +62 246 0 +62 247 0 +62 248 0 +62 249 0 +62 250 0 +62 251 0 +62 252 0 +62 253 0 +62 254 0 +62 255 0 +62 256 0 +62 257 0 +62 258 0 +62 259 0 +62 260 0 +62 261 0 +62 262 0 +62 263 0 +62 264 0 +62 265 0 +62 266 0 +62 267 0 +62 268 0 +62 269 0 +62 270 0 +62 271 0 +62 272 0 +62 273 0 +62 274 0 +62 275 0 +62 276 0 +62 277 0 +62 278 0 +62 279 0 +62 280 0 +62 281 0 +62 282 0 +62 283 0 +62 284 0 +62 285 0 +62 286 0 +62 287 0 +62 288 0 +62 289 0 +62 290 0 +62 291 0 +62 292 0 +62 293 0 +62 294 0 +62 295 0 +62 296 0 +62 297 0 +62 298 0 +62 299 0 +62 300 0 +62 301 0 +62 302 0 +62 303 0 +62 304 0 +62 305 0 +62 306 0 +62 307 0 +62 308 0 +62 309 0 +62 310 0 +62 311 0 +62 312 0 +62 313 0 +62 314 0 +62 315 0 +62 316 0 +62 317 0 +62 318 0 +62 319 0 +62 320 0 +62 321 0 +62 322 0 +62 323 0 +62 324 0 +62 325 0 +62 326 0 +62 327 0 +62 328 0 +62 329 0 +62 330 0 +62 331 0 +62 332 0 +62 333 0 +62 334 0 +62 335 0 +62 336 0 +62 337 0 +62 338 0 +62 339 0 +62 340 0 +62 341 0 +62 342 0 +62 343 0 +62 344 0 +62 345 0 +62 346 0 +62 347 0 +62 348 0 +62 349 0 +62 350 0 +62 351 0 +62 352 0 +62 353 0 +62 354 0 +62 355 0 +62 356 0 +62 357 0 +62 358 0 +62 359 0 +62 360 0 +62 361 0 +62 362 0 +62 363 0 +62 364 0 +62 365 0 +62 366 0 +62 367 0 +62 368 0 +62 369 0 +62 370 0 +62 371 0 +62 372 0 +62 373 0 +62 374 0 +62 375 0 +62 376 0 +62 377 0 +62 378 0 +62 379 0 +62 380 0 +62 381 0 +62 382 0 +62 383 0 +63 64 4 +63 65 4 +63 66 4 +63 67 4 +63 68 4 +63 69 4 +63 70 4 +63 71 4 +63 72 4 +63 73 4 +63 74 4 +63 75 4 +63 76 4 +63 77 4 +63 78 4 +63 79 4 +63 80 4 +63 81 4 +63 82 4 +63 83 4 +63 84 4 +63 85 4 +63 86 4 +63 87 4 +63 88 4 +63 89 4 +63 90 4 +63 91 4 +63 92 4 +63 93 4 +63 94 4 +63 95 4 +63 96 4 +63 97 4 +63 98 4 +63 99 4 +63 100 4 +63 101 4 +63 102 4 +63 103 4 +63 104 4 +63 105 4 +63 106 4 +63 107 4 +63 108 4 +63 109 4 +63 110 4 +63 111 4 +63 112 4 +63 113 4 +63 114 4 +63 115 4 +63 116 4 +63 117 4 +63 118 4 +63 119 4 +63 120 4 +63 121 4 +63 122 4 +63 123 4 +63 124 4 +63 125 4 +63 126 4 +63 127 4 +63 128 4 +63 129 4 +63 130 4 +63 131 4 +63 132 4 +63 133 4 +63 134 4 +63 135 4 +63 136 4 +63 137 4 +63 138 4 +63 139 4 +63 140 4 +63 141 4 +63 142 4 +63 143 4 +63 144 4 +63 145 4 +63 146 4 +63 147 4 +63 148 4 +63 149 4 +63 150 4 +63 151 4 +63 152 4 +63 153 4 +63 154 4 +63 155 4 +63 156 4 +63 157 4 +63 158 4 +63 159 4 +63 160 4 +63 161 4 +63 162 4 +63 163 4 +63 164 4 +63 165 4 +63 166 4 +63 167 4 +63 168 4 +63 169 4 +63 170 4 +63 171 4 +63 172 4 +63 173 4 +63 174 4 +63 175 4 +63 176 4 +63 177 4 +63 178 4 +63 179 4 +63 180 4 +63 181 4 +63 182 4 +63 183 4 +63 184 4 +63 185 4 +63 186 4 +63 187 4 +63 188 4 +63 189 4 +63 190 4 +63 191 4 +63 192 0 +63 193 0 +63 194 0 +63 195 0 +63 196 0 +63 197 0 +63 198 0 +63 199 0 +63 200 0 +63 201 0 +63 202 0 +63 203 0 +63 204 0 +63 205 0 +63 206 0 +63 207 0 +63 208 0 +63 209 0 +63 210 0 +63 211 0 +63 212 0 +63 213 0 +63 214 0 +63 215 0 +63 216 0 +63 217 0 +63 218 0 +63 219 0 +63 220 0 +63 221 0 +63 222 0 +63 223 0 +63 224 0 +63 225 0 +63 226 0 +63 227 0 +63 228 0 +63 229 0 +63 230 0 +63 231 0 +63 232 0 +63 233 0 +63 234 0 +63 235 0 +63 236 0 +63 237 0 +63 238 0 +63 239 0 +63 240 0 +63 241 0 +63 242 0 +63 243 0 +63 244 0 +63 245 0 +63 246 0 +63 247 0 +63 248 0 +63 249 0 +63 250 0 +63 251 0 +63 252 0 +63 253 0 +63 254 0 +63 255 0 +63 256 0 +63 257 0 +63 258 0 +63 259 0 +63 260 0 +63 261 0 +63 262 0 +63 263 0 +63 264 0 +63 265 0 +63 266 0 +63 267 0 +63 268 0 +63 269 0 +63 270 0 +63 271 0 +63 272 0 +63 273 0 +63 274 0 +63 275 0 +63 276 0 +63 277 0 +63 278 0 +63 279 0 +63 280 0 +63 281 0 +63 282 0 +63 283 0 +63 284 0 +63 285 0 +63 286 0 +63 287 0 +63 288 0 +63 289 0 +63 290 0 +63 291 0 +63 292 0 +63 293 0 +63 294 0 +63 295 0 +63 296 0 +63 297 0 +63 298 0 +63 299 0 +63 300 0 +63 301 0 +63 302 0 +63 303 0 +63 304 0 +63 305 0 +63 306 0 +63 307 0 +63 308 0 +63 309 0 +63 310 0 +63 311 0 +63 312 0 +63 313 0 +63 314 0 +63 315 0 +63 316 0 +63 317 0 +63 318 0 +63 319 0 +63 320 0 +63 321 0 +63 322 0 +63 323 0 +63 324 0 +63 325 0 +63 326 0 +63 327 0 +63 328 0 +63 329 0 +63 330 0 +63 331 0 +63 332 0 +63 333 0 +63 334 0 +63 335 0 +63 336 0 +63 337 0 +63 338 0 +63 339 0 +63 340 0 +63 341 0 +63 342 0 +63 343 0 +63 344 0 +63 345 0 +63 346 0 +63 347 0 +63 348 0 +63 349 0 +63 350 0 +63 351 0 +63 352 0 +63 353 0 +63 354 0 +63 355 0 +63 356 0 +63 357 0 +63 358 0 +63 359 0 +63 360 0 +63 361 0 +63 362 0 +63 363 0 +63 364 0 +63 365 0 +63 366 0 +63 367 0 +63 368 0 +63 369 0 +63 370 0 +63 371 0 +63 372 0 +63 373 0 +63 374 0 +63 375 0 +63 376 0 +63 377 0 +63 378 0 +63 379 0 +63 380 0 +63 381 0 +63 382 0 +63 383 0 +64 65 4 +64 66 4 +64 67 4 +64 68 4 +64 69 4 +64 70 4 +64 71 4 +64 72 4 +64 73 4 +64 74 4 +64 75 4 +64 76 4 +64 77 4 +64 78 4 +64 79 4 +64 80 4 +64 81 4 +64 82 4 +64 83 4 +64 84 4 +64 85 4 +64 86 4 +64 87 4 +64 88 4 +64 89 4 +64 90 4 +64 91 4 +64 92 4 +64 93 4 +64 94 4 +64 95 4 +64 96 4 +64 97 4 +64 98 4 +64 99 4 +64 100 4 +64 101 4 +64 102 4 +64 103 4 +64 104 4 +64 105 4 +64 106 4 +64 107 4 +64 108 4 +64 109 4 +64 110 4 +64 111 4 +64 112 4 +64 113 4 +64 114 4 +64 115 4 +64 116 4 +64 117 4 +64 118 4 +64 119 4 +64 120 4 +64 121 4 +64 122 4 +64 123 4 +64 124 4 +64 125 4 +64 126 4 +64 127 4 +64 128 4 +64 129 4 +64 130 4 +64 131 4 +64 132 4 +64 133 4 +64 134 4 +64 135 4 +64 136 4 +64 137 4 +64 138 4 +64 139 4 +64 140 4 +64 141 4 +64 142 4 +64 143 4 +64 144 4 +64 145 4 +64 146 4 +64 147 4 +64 148 4 +64 149 4 +64 150 4 +64 151 4 +64 152 4 +64 153 4 +64 154 4 +64 155 4 +64 156 4 +64 157 4 +64 158 4 +64 159 4 +64 160 4 +64 161 4 +64 162 4 +64 163 4 +64 164 4 +64 165 4 +64 166 4 +64 167 4 +64 168 4 +64 169 4 +64 170 4 +64 171 4 +64 172 4 +64 173 4 +64 174 4 +64 175 4 +64 176 4 +64 177 4 +64 178 4 +64 179 4 +64 180 4 +64 181 4 +64 182 4 +64 183 4 +64 184 4 +64 185 4 +64 186 4 +64 187 4 +64 188 4 +64 189 4 +64 190 4 +64 191 4 +64 192 0 +64 193 0 +64 194 0 +64 195 0 +64 196 0 +64 197 0 +64 198 0 +64 199 0 +64 200 0 +64 201 0 +64 202 0 +64 203 0 +64 204 0 +64 205 0 +64 206 0 +64 207 0 +64 208 0 +64 209 0 +64 210 0 +64 211 0 +64 212 0 +64 213 0 +64 214 0 +64 215 0 +64 216 0 +64 217 0 +64 218 0 +64 219 0 +64 220 0 +64 221 0 +64 222 0 +64 223 0 +64 224 0 +64 225 0 +64 226 0 +64 227 0 +64 228 0 +64 229 0 +64 230 0 +64 231 0 +64 232 0 +64 233 0 +64 234 0 +64 235 0 +64 236 0 +64 237 0 +64 238 0 +64 239 0 +64 240 0 +64 241 0 +64 242 0 +64 243 0 +64 244 0 +64 245 0 +64 246 0 +64 247 0 +64 248 0 +64 249 0 +64 250 0 +64 251 0 +64 252 0 +64 253 0 +64 254 0 +64 255 0 +64 256 0 +64 257 0 +64 258 0 +64 259 0 +64 260 0 +64 261 0 +64 262 0 +64 263 0 +64 264 0 +64 265 0 +64 266 0 +64 267 0 +64 268 0 +64 269 0 +64 270 0 +64 271 0 +64 272 0 +64 273 0 +64 274 0 +64 275 0 +64 276 0 +64 277 0 +64 278 0 +64 279 0 +64 280 0 +64 281 0 +64 282 0 +64 283 0 +64 284 0 +64 285 0 +64 286 0 +64 287 0 +64 288 0 +64 289 0 +64 290 0 +64 291 0 +64 292 0 +64 293 0 +64 294 0 +64 295 0 +64 296 0 +64 297 0 +64 298 0 +64 299 0 +64 300 0 +64 301 0 +64 302 0 +64 303 0 +64 304 0 +64 305 0 +64 306 0 +64 307 0 +64 308 0 +64 309 0 +64 310 0 +64 311 0 +64 312 0 +64 313 0 +64 314 0 +64 315 0 +64 316 0 +64 317 0 +64 318 0 +64 319 0 +64 320 0 +64 321 0 +64 322 0 +64 323 0 +64 324 0 +64 325 0 +64 326 0 +64 327 0 +64 328 0 +64 329 0 +64 330 0 +64 331 0 +64 332 0 +64 333 0 +64 334 0 +64 335 0 +64 336 0 +64 337 0 +64 338 0 +64 339 0 +64 340 0 +64 341 0 +64 342 0 +64 343 0 +64 344 0 +64 345 0 +64 346 0 +64 347 0 +64 348 0 +64 349 0 +64 350 0 +64 351 0 +64 352 0 +64 353 0 +64 354 0 +64 355 0 +64 356 0 +64 357 0 +64 358 0 +64 359 0 +64 360 0 +64 361 0 +64 362 0 +64 363 0 +64 364 0 +64 365 0 +64 366 0 +64 367 0 +64 368 0 +64 369 0 +64 370 0 +64 371 0 +64 372 0 +64 373 0 +64 374 0 +64 375 0 +64 376 0 +64 377 0 +64 378 0 +64 379 0 +64 380 0 +64 381 0 +64 382 0 +64 383 0 +65 66 4 +65 67 4 +65 68 4 +65 69 4 +65 70 4 +65 71 4 +65 72 4 +65 73 4 +65 74 4 +65 75 4 +65 76 4 +65 77 4 +65 78 4 +65 79 4 +65 80 4 +65 81 4 +65 82 4 +65 83 4 +65 84 4 +65 85 4 +65 86 4 +65 87 4 +65 88 4 +65 89 4 +65 90 4 +65 91 4 +65 92 4 +65 93 4 +65 94 4 +65 95 4 +65 96 4 +65 97 4 +65 98 4 +65 99 4 +65 100 4 +65 101 4 +65 102 4 +65 103 4 +65 104 4 +65 105 4 +65 106 4 +65 107 4 +65 108 4 +65 109 4 +65 110 4 +65 111 4 +65 112 4 +65 113 4 +65 114 4 +65 115 4 +65 116 4 +65 117 4 +65 118 4 +65 119 4 +65 120 4 +65 121 4 +65 122 4 +65 123 4 +65 124 4 +65 125 4 +65 126 4 +65 127 4 +65 128 4 +65 129 4 +65 130 4 +65 131 4 +65 132 4 +65 133 4 +65 134 4 +65 135 4 +65 136 4 +65 137 4 +65 138 4 +65 139 4 +65 140 4 +65 141 4 +65 142 4 +65 143 4 +65 144 4 +65 145 4 +65 146 4 +65 147 4 +65 148 4 +65 149 4 +65 150 4 +65 151 4 +65 152 4 +65 153 4 +65 154 4 +65 155 4 +65 156 4 +65 157 4 +65 158 4 +65 159 4 +65 160 4 +65 161 4 +65 162 4 +65 163 4 +65 164 4 +65 165 4 +65 166 4 +65 167 4 +65 168 4 +65 169 4 +65 170 4 +65 171 4 +65 172 4 +65 173 4 +65 174 4 +65 175 4 +65 176 4 +65 177 4 +65 178 4 +65 179 4 +65 180 4 +65 181 4 +65 182 4 +65 183 4 +65 184 4 +65 185 4 +65 186 4 +65 187 4 +65 188 4 +65 189 4 +65 190 4 +65 191 4 +65 192 0 +65 193 0 +65 194 0 +65 195 0 +65 196 0 +65 197 0 +65 198 0 +65 199 0 +65 200 0 +65 201 0 +65 202 0 +65 203 0 +65 204 0 +65 205 0 +65 206 0 +65 207 0 +65 208 0 +65 209 0 +65 210 0 +65 211 0 +65 212 0 +65 213 0 +65 214 0 +65 215 0 +65 216 0 +65 217 0 +65 218 0 +65 219 0 +65 220 0 +65 221 0 +65 222 0 +65 223 0 +65 224 0 +65 225 0 +65 226 0 +65 227 0 +65 228 0 +65 229 0 +65 230 0 +65 231 0 +65 232 0 +65 233 0 +65 234 0 +65 235 0 +65 236 0 +65 237 0 +65 238 0 +65 239 0 +65 240 0 +65 241 0 +65 242 0 +65 243 0 +65 244 0 +65 245 0 +65 246 0 +65 247 0 +65 248 0 +65 249 0 +65 250 0 +65 251 0 +65 252 0 +65 253 0 +65 254 0 +65 255 0 +65 256 0 +65 257 0 +65 258 0 +65 259 0 +65 260 0 +65 261 0 +65 262 0 +65 263 0 +65 264 0 +65 265 0 +65 266 0 +65 267 0 +65 268 0 +65 269 0 +65 270 0 +65 271 0 +65 272 0 +65 273 0 +65 274 0 +65 275 0 +65 276 0 +65 277 0 +65 278 0 +65 279 0 +65 280 0 +65 281 0 +65 282 0 +65 283 0 +65 284 0 +65 285 0 +65 286 0 +65 287 0 +65 288 0 +65 289 0 +65 290 0 +65 291 0 +65 292 0 +65 293 0 +65 294 0 +65 295 0 +65 296 0 +65 297 0 +65 298 0 +65 299 0 +65 300 0 +65 301 0 +65 302 0 +65 303 0 +65 304 0 +65 305 0 +65 306 0 +65 307 0 +65 308 0 +65 309 0 +65 310 0 +65 311 0 +65 312 0 +65 313 0 +65 314 0 +65 315 0 +65 316 0 +65 317 0 +65 318 0 +65 319 0 +65 320 0 +65 321 0 +65 322 0 +65 323 0 +65 324 0 +65 325 0 +65 326 0 +65 327 0 +65 328 0 +65 329 0 +65 330 0 +65 331 0 +65 332 0 +65 333 0 +65 334 0 +65 335 0 +65 336 0 +65 337 0 +65 338 0 +65 339 0 +65 340 0 +65 341 0 +65 342 0 +65 343 0 +65 344 0 +65 345 0 +65 346 0 +65 347 0 +65 348 0 +65 349 0 +65 350 0 +65 351 0 +65 352 0 +65 353 0 +65 354 0 +65 355 0 +65 356 0 +65 357 0 +65 358 0 +65 359 0 +65 360 0 +65 361 0 +65 362 0 +65 363 0 +65 364 0 +65 365 0 +65 366 0 +65 367 0 +65 368 0 +65 369 0 +65 370 0 +65 371 0 +65 372 0 +65 373 0 +65 374 0 +65 375 0 +65 376 0 +65 377 0 +65 378 0 +65 379 0 +65 380 0 +65 381 0 +65 382 0 +65 383 0 +66 67 4 +66 68 4 +66 69 4 +66 70 4 +66 71 4 +66 72 4 +66 73 4 +66 74 4 +66 75 4 +66 76 4 +66 77 4 +66 78 4 +66 79 4 +66 80 4 +66 81 4 +66 82 4 +66 83 4 +66 84 4 +66 85 4 +66 86 4 +66 87 4 +66 88 4 +66 89 4 +66 90 4 +66 91 4 +66 92 4 +66 93 4 +66 94 4 +66 95 4 +66 96 4 +66 97 4 +66 98 4 +66 99 4 +66 100 4 +66 101 4 +66 102 4 +66 103 4 +66 104 4 +66 105 4 +66 106 4 +66 107 4 +66 108 4 +66 109 4 +66 110 4 +66 111 4 +66 112 4 +66 113 4 +66 114 4 +66 115 4 +66 116 4 +66 117 4 +66 118 4 +66 119 4 +66 120 4 +66 121 4 +66 122 4 +66 123 4 +66 124 4 +66 125 4 +66 126 4 +66 127 4 +66 128 4 +66 129 4 +66 130 4 +66 131 4 +66 132 4 +66 133 4 +66 134 4 +66 135 4 +66 136 4 +66 137 4 +66 138 4 +66 139 4 +66 140 4 +66 141 4 +66 142 4 +66 143 4 +66 144 4 +66 145 4 +66 146 4 +66 147 4 +66 148 4 +66 149 4 +66 150 4 +66 151 4 +66 152 4 +66 153 4 +66 154 4 +66 155 4 +66 156 4 +66 157 4 +66 158 4 +66 159 4 +66 160 4 +66 161 4 +66 162 4 +66 163 4 +66 164 4 +66 165 4 +66 166 4 +66 167 4 +66 168 4 +66 169 4 +66 170 4 +66 171 4 +66 172 4 +66 173 4 +66 174 4 +66 175 4 +66 176 4 +66 177 4 +66 178 4 +66 179 4 +66 180 4 +66 181 4 +66 182 4 +66 183 4 +66 184 4 +66 185 4 +66 186 4 +66 187 4 +66 188 4 +66 189 4 +66 190 4 +66 191 4 +66 192 0 +66 193 0 +66 194 0 +66 195 0 +66 196 0 +66 197 0 +66 198 0 +66 199 0 +66 200 0 +66 201 0 +66 202 0 +66 203 0 +66 204 0 +66 205 0 +66 206 0 +66 207 0 +66 208 0 +66 209 0 +66 210 0 +66 211 0 +66 212 0 +66 213 0 +66 214 0 +66 215 0 +66 216 0 +66 217 0 +66 218 0 +66 219 0 +66 220 0 +66 221 0 +66 222 0 +66 223 0 +66 224 0 +66 225 0 +66 226 0 +66 227 0 +66 228 0 +66 229 0 +66 230 0 +66 231 0 +66 232 0 +66 233 0 +66 234 0 +66 235 0 +66 236 0 +66 237 0 +66 238 0 +66 239 0 +66 240 0 +66 241 0 +66 242 0 +66 243 0 +66 244 0 +66 245 0 +66 246 0 +66 247 0 +66 248 0 +66 249 0 +66 250 0 +66 251 0 +66 252 0 +66 253 0 +66 254 0 +66 255 0 +66 256 0 +66 257 0 +66 258 0 +66 259 0 +66 260 0 +66 261 0 +66 262 0 +66 263 0 +66 264 0 +66 265 0 +66 266 0 +66 267 0 +66 268 0 +66 269 0 +66 270 0 +66 271 0 +66 272 0 +66 273 0 +66 274 0 +66 275 0 +66 276 0 +66 277 0 +66 278 0 +66 279 0 +66 280 0 +66 281 0 +66 282 0 +66 283 0 +66 284 0 +66 285 0 +66 286 0 +66 287 0 +66 288 0 +66 289 0 +66 290 0 +66 291 0 +66 292 0 +66 293 0 +66 294 0 +66 295 0 +66 296 0 +66 297 0 +66 298 0 +66 299 0 +66 300 0 +66 301 0 +66 302 0 +66 303 0 +66 304 0 +66 305 0 +66 306 0 +66 307 0 +66 308 0 +66 309 0 +66 310 0 +66 311 0 +66 312 0 +66 313 0 +66 314 0 +66 315 0 +66 316 0 +66 317 0 +66 318 0 +66 319 0 +66 320 0 +66 321 0 +66 322 0 +66 323 0 +66 324 0 +66 325 0 +66 326 0 +66 327 0 +66 328 0 +66 329 0 +66 330 0 +66 331 0 +66 332 0 +66 333 0 +66 334 0 +66 335 0 +66 336 0 +66 337 0 +66 338 0 +66 339 0 +66 340 0 +66 341 0 +66 342 0 +66 343 0 +66 344 0 +66 345 0 +66 346 0 +66 347 0 +66 348 0 +66 349 0 +66 350 0 +66 351 0 +66 352 0 +66 353 0 +66 354 0 +66 355 0 +66 356 0 +66 357 0 +66 358 0 +66 359 0 +66 360 0 +66 361 0 +66 362 0 +66 363 0 +66 364 0 +66 365 0 +66 366 0 +66 367 0 +66 368 0 +66 369 0 +66 370 0 +66 371 0 +66 372 0 +66 373 0 +66 374 0 +66 375 0 +66 376 0 +66 377 0 +66 378 0 +66 379 0 +66 380 0 +66 381 0 +66 382 0 +66 383 0 +67 68 4 +67 69 4 +67 70 4 +67 71 4 +67 72 4 +67 73 4 +67 74 4 +67 75 4 +67 76 4 +67 77 4 +67 78 4 +67 79 4 +67 80 4 +67 81 4 +67 82 4 +67 83 4 +67 84 4 +67 85 4 +67 86 4 +67 87 4 +67 88 4 +67 89 4 +67 90 4 +67 91 4 +67 92 4 +67 93 4 +67 94 4 +67 95 4 +67 96 4 +67 97 4 +67 98 4 +67 99 4 +67 100 4 +67 101 4 +67 102 4 +67 103 4 +67 104 4 +67 105 4 +67 106 4 +67 107 4 +67 108 4 +67 109 4 +67 110 4 +67 111 4 +67 112 4 +67 113 4 +67 114 4 +67 115 4 +67 116 4 +67 117 4 +67 118 4 +67 119 4 +67 120 4 +67 121 4 +67 122 4 +67 123 4 +67 124 4 +67 125 4 +67 126 4 +67 127 4 +67 128 4 +67 129 4 +67 130 4 +67 131 4 +67 132 4 +67 133 4 +67 134 4 +67 135 4 +67 136 4 +67 137 4 +67 138 4 +67 139 4 +67 140 4 +67 141 4 +67 142 4 +67 143 4 +67 144 4 +67 145 4 +67 146 4 +67 147 4 +67 148 4 +67 149 4 +67 150 4 +67 151 4 +67 152 4 +67 153 4 +67 154 4 +67 155 4 +67 156 4 +67 157 4 +67 158 4 +67 159 4 +67 160 4 +67 161 4 +67 162 4 +67 163 4 +67 164 4 +67 165 4 +67 166 4 +67 167 4 +67 168 4 +67 169 4 +67 170 4 +67 171 4 +67 172 4 +67 173 4 +67 174 4 +67 175 4 +67 176 4 +67 177 4 +67 178 4 +67 179 4 +67 180 4 +67 181 4 +67 182 4 +67 183 4 +67 184 4 +67 185 4 +67 186 4 +67 187 4 +67 188 4 +67 189 4 +67 190 4 +67 191 4 +67 192 0 +67 193 0 +67 194 0 +67 195 0 +67 196 0 +67 197 0 +67 198 0 +67 199 0 +67 200 0 +67 201 0 +67 202 0 +67 203 0 +67 204 0 +67 205 0 +67 206 0 +67 207 0 +67 208 0 +67 209 0 +67 210 0 +67 211 0 +67 212 0 +67 213 0 +67 214 0 +67 215 0 +67 216 0 +67 217 0 +67 218 0 +67 219 0 +67 220 0 +67 221 0 +67 222 0 +67 223 0 +67 224 0 +67 225 0 +67 226 0 +67 227 0 +67 228 0 +67 229 0 +67 230 0 +67 231 0 +67 232 0 +67 233 0 +67 234 0 +67 235 0 +67 236 0 +67 237 0 +67 238 0 +67 239 0 +67 240 0 +67 241 0 +67 242 0 +67 243 0 +67 244 0 +67 245 0 +67 246 0 +67 247 0 +67 248 0 +67 249 0 +67 250 0 +67 251 0 +67 252 0 +67 253 0 +67 254 0 +67 255 0 +67 256 0 +67 257 0 +67 258 0 +67 259 0 +67 260 0 +67 261 0 +67 262 0 +67 263 0 +67 264 0 +67 265 0 +67 266 0 +67 267 0 +67 268 0 +67 269 0 +67 270 0 +67 271 0 +67 272 0 +67 273 0 +67 274 0 +67 275 0 +67 276 0 +67 277 0 +67 278 0 +67 279 0 +67 280 0 +67 281 0 +67 282 0 +67 283 0 +67 284 0 +67 285 0 +67 286 0 +67 287 0 +67 288 0 +67 289 0 +67 290 0 +67 291 0 +67 292 0 +67 293 0 +67 294 0 +67 295 0 +67 296 0 +67 297 0 +67 298 0 +67 299 0 +67 300 0 +67 301 0 +67 302 0 +67 303 0 +67 304 0 +67 305 0 +67 306 0 +67 307 0 +67 308 0 +67 309 0 +67 310 0 +67 311 0 +67 312 0 +67 313 0 +67 314 0 +67 315 0 +67 316 0 +67 317 0 +67 318 0 +67 319 0 +67 320 0 +67 321 0 +67 322 0 +67 323 0 +67 324 0 +67 325 0 +67 326 0 +67 327 0 +67 328 0 +67 329 0 +67 330 0 +67 331 0 +67 332 0 +67 333 0 +67 334 0 +67 335 0 +67 336 0 +67 337 0 +67 338 0 +67 339 0 +67 340 0 +67 341 0 +67 342 0 +67 343 0 +67 344 0 +67 345 0 +67 346 0 +67 347 0 +67 348 0 +67 349 0 +67 350 0 +67 351 0 +67 352 0 +67 353 0 +67 354 0 +67 355 0 +67 356 0 +67 357 0 +67 358 0 +67 359 0 +67 360 0 +67 361 0 +67 362 0 +67 363 0 +67 364 0 +67 365 0 +67 366 0 +67 367 0 +67 368 0 +67 369 0 +67 370 0 +67 371 0 +67 372 0 +67 373 0 +67 374 0 +67 375 0 +67 376 0 +67 377 0 +67 378 0 +67 379 0 +67 380 0 +67 381 0 +67 382 0 +67 383 0 +68 69 4 +68 70 4 +68 71 4 +68 72 4 +68 73 4 +68 74 4 +68 75 4 +68 76 4 +68 77 4 +68 78 4 +68 79 4 +68 80 4 +68 81 4 +68 82 4 +68 83 4 +68 84 4 +68 85 4 +68 86 4 +68 87 4 +68 88 4 +68 89 4 +68 90 4 +68 91 4 +68 92 4 +68 93 4 +68 94 4 +68 95 4 +68 96 4 +68 97 4 +68 98 4 +68 99 4 +68 100 4 +68 101 4 +68 102 4 +68 103 4 +68 104 4 +68 105 4 +68 106 4 +68 107 4 +68 108 4 +68 109 4 +68 110 4 +68 111 4 +68 112 4 +68 113 4 +68 114 4 +68 115 4 +68 116 4 +68 117 4 +68 118 4 +68 119 4 +68 120 4 +68 121 4 +68 122 4 +68 123 4 +68 124 4 +68 125 4 +68 126 4 +68 127 4 +68 128 4 +68 129 4 +68 130 4 +68 131 4 +68 132 4 +68 133 4 +68 134 4 +68 135 4 +68 136 4 +68 137 4 +68 138 4 +68 139 4 +68 140 4 +68 141 4 +68 142 4 +68 143 4 +68 144 4 +68 145 4 +68 146 4 +68 147 4 +68 148 4 +68 149 4 +68 150 4 +68 151 4 +68 152 4 +68 153 4 +68 154 4 +68 155 4 +68 156 4 +68 157 4 +68 158 4 +68 159 4 +68 160 4 +68 161 4 +68 162 4 +68 163 4 +68 164 4 +68 165 4 +68 166 4 +68 167 4 +68 168 4 +68 169 4 +68 170 4 +68 171 4 +68 172 4 +68 173 4 +68 174 4 +68 175 4 +68 176 4 +68 177 4 +68 178 4 +68 179 4 +68 180 4 +68 181 4 +68 182 4 +68 183 4 +68 184 4 +68 185 4 +68 186 4 +68 187 4 +68 188 4 +68 189 4 +68 190 4 +68 191 4 +68 192 0 +68 193 0 +68 194 0 +68 195 0 +68 196 0 +68 197 0 +68 198 0 +68 199 0 +68 200 0 +68 201 0 +68 202 0 +68 203 0 +68 204 0 +68 205 0 +68 206 0 +68 207 0 +68 208 0 +68 209 0 +68 210 0 +68 211 0 +68 212 0 +68 213 0 +68 214 0 +68 215 0 +68 216 0 +68 217 0 +68 218 0 +68 219 0 +68 220 0 +68 221 0 +68 222 0 +68 223 0 +68 224 0 +68 225 0 +68 226 0 +68 227 0 +68 228 0 +68 229 0 +68 230 0 +68 231 0 +68 232 0 +68 233 0 +68 234 0 +68 235 0 +68 236 0 +68 237 0 +68 238 0 +68 239 0 +68 240 0 +68 241 0 +68 242 0 +68 243 0 +68 244 0 +68 245 0 +68 246 0 +68 247 0 +68 248 0 +68 249 0 +68 250 0 +68 251 0 +68 252 0 +68 253 0 +68 254 0 +68 255 0 +68 256 0 +68 257 0 +68 258 0 +68 259 0 +68 260 0 +68 261 0 +68 262 0 +68 263 0 +68 264 0 +68 265 0 +68 266 0 +68 267 0 +68 268 0 +68 269 0 +68 270 0 +68 271 0 +68 272 0 +68 273 0 +68 274 0 +68 275 0 +68 276 0 +68 277 0 +68 278 0 +68 279 0 +68 280 0 +68 281 0 +68 282 0 +68 283 0 +68 284 0 +68 285 0 +68 286 0 +68 287 0 +68 288 0 +68 289 0 +68 290 0 +68 291 0 +68 292 0 +68 293 0 +68 294 0 +68 295 0 +68 296 0 +68 297 0 +68 298 0 +68 299 0 +68 300 0 +68 301 0 +68 302 0 +68 303 0 +68 304 0 +68 305 0 +68 306 0 +68 307 0 +68 308 0 +68 309 0 +68 310 0 +68 311 0 +68 312 0 +68 313 0 +68 314 0 +68 315 0 +68 316 0 +68 317 0 +68 318 0 +68 319 0 +68 320 0 +68 321 0 +68 322 0 +68 323 0 +68 324 0 +68 325 0 +68 326 0 +68 327 0 +68 328 0 +68 329 0 +68 330 0 +68 331 0 +68 332 0 +68 333 0 +68 334 0 +68 335 0 +68 336 0 +68 337 0 +68 338 0 +68 339 0 +68 340 0 +68 341 0 +68 342 0 +68 343 0 +68 344 0 +68 345 0 +68 346 0 +68 347 0 +68 348 0 +68 349 0 +68 350 0 +68 351 0 +68 352 0 +68 353 0 +68 354 0 +68 355 0 +68 356 0 +68 357 0 +68 358 0 +68 359 0 +68 360 0 +68 361 0 +68 362 0 +68 363 0 +68 364 0 +68 365 0 +68 366 0 +68 367 0 +68 368 0 +68 369 0 +68 370 0 +68 371 0 +68 372 0 +68 373 0 +68 374 0 +68 375 0 +68 376 0 +68 377 0 +68 378 0 +68 379 0 +68 380 0 +68 381 0 +68 382 0 +68 383 0 +69 70 4 +69 71 4 +69 72 4 +69 73 4 +69 74 4 +69 75 4 +69 76 4 +69 77 4 +69 78 4 +69 79 4 +69 80 4 +69 81 4 +69 82 4 +69 83 4 +69 84 4 +69 85 4 +69 86 4 +69 87 4 +69 88 4 +69 89 4 +69 90 4 +69 91 4 +69 92 4 +69 93 4 +69 94 4 +69 95 4 +69 96 4 +69 97 4 +69 98 4 +69 99 4 +69 100 4 +69 101 4 +69 102 4 +69 103 4 +69 104 4 +69 105 4 +69 106 4 +69 107 4 +69 108 4 +69 109 4 +69 110 4 +69 111 4 +69 112 4 +69 113 4 +69 114 4 +69 115 4 +69 116 4 +69 117 4 +69 118 4 +69 119 4 +69 120 4 +69 121 4 +69 122 4 +69 123 4 +69 124 4 +69 125 4 +69 126 4 +69 127 4 +69 128 4 +69 129 4 +69 130 4 +69 131 4 +69 132 4 +69 133 4 +69 134 4 +69 135 4 +69 136 4 +69 137 4 +69 138 4 +69 139 4 +69 140 4 +69 141 4 +69 142 4 +69 143 4 +69 144 4 +69 145 4 +69 146 4 +69 147 4 +69 148 4 +69 149 4 +69 150 4 +69 151 4 +69 152 4 +69 153 4 +69 154 4 +69 155 4 +69 156 4 +69 157 4 +69 158 4 +69 159 4 +69 160 4 +69 161 4 +69 162 4 +69 163 4 +69 164 4 +69 165 4 +69 166 4 +69 167 4 +69 168 4 +69 169 4 +69 170 4 +69 171 4 +69 172 4 +69 173 4 +69 174 4 +69 175 4 +69 176 4 +69 177 4 +69 178 4 +69 179 4 +69 180 4 +69 181 4 +69 182 4 +69 183 4 +69 184 4 +69 185 4 +69 186 4 +69 187 4 +69 188 4 +69 189 4 +69 190 4 +69 191 4 +69 192 0 +69 193 0 +69 194 0 +69 195 0 +69 196 0 +69 197 0 +69 198 0 +69 199 0 +69 200 0 +69 201 0 +69 202 0 +69 203 0 +69 204 0 +69 205 0 +69 206 0 +69 207 0 +69 208 0 +69 209 0 +69 210 0 +69 211 0 +69 212 0 +69 213 0 +69 214 0 +69 215 0 +69 216 0 +69 217 0 +69 218 0 +69 219 0 +69 220 0 +69 221 0 +69 222 0 +69 223 0 +69 224 0 +69 225 0 +69 226 0 +69 227 0 +69 228 0 +69 229 0 +69 230 0 +69 231 0 +69 232 0 +69 233 0 +69 234 0 +69 235 0 +69 236 0 +69 237 0 +69 238 0 +69 239 0 +69 240 0 +69 241 0 +69 242 0 +69 243 0 +69 244 0 +69 245 0 +69 246 0 +69 247 0 +69 248 0 +69 249 0 +69 250 0 +69 251 0 +69 252 0 +69 253 0 +69 254 0 +69 255 0 +69 256 0 +69 257 0 +69 258 0 +69 259 0 +69 260 0 +69 261 0 +69 262 0 +69 263 0 +69 264 0 +69 265 0 +69 266 0 +69 267 0 +69 268 0 +69 269 0 +69 270 0 +69 271 0 +69 272 0 +69 273 0 +69 274 0 +69 275 0 +69 276 0 +69 277 0 +69 278 0 +69 279 0 +69 280 0 +69 281 0 +69 282 0 +69 283 0 +69 284 0 +69 285 0 +69 286 0 +69 287 0 +69 288 0 +69 289 0 +69 290 0 +69 291 0 +69 292 0 +69 293 0 +69 294 0 +69 295 0 +69 296 0 +69 297 0 +69 298 0 +69 299 0 +69 300 0 +69 301 0 +69 302 0 +69 303 0 +69 304 0 +69 305 0 +69 306 0 +69 307 0 +69 308 0 +69 309 0 +69 310 0 +69 311 0 +69 312 0 +69 313 0 +69 314 0 +69 315 0 +69 316 0 +69 317 0 +69 318 0 +69 319 0 +69 320 0 +69 321 0 +69 322 0 +69 323 0 +69 324 0 +69 325 0 +69 326 0 +69 327 0 +69 328 0 +69 329 0 +69 330 0 +69 331 0 +69 332 0 +69 333 0 +69 334 0 +69 335 0 +69 336 0 +69 337 0 +69 338 0 +69 339 0 +69 340 0 +69 341 0 +69 342 0 +69 343 0 +69 344 0 +69 345 0 +69 346 0 +69 347 0 +69 348 0 +69 349 0 +69 350 0 +69 351 0 +69 352 0 +69 353 0 +69 354 0 +69 355 0 +69 356 0 +69 357 0 +69 358 0 +69 359 0 +69 360 0 +69 361 0 +69 362 0 +69 363 0 +69 364 0 +69 365 0 +69 366 0 +69 367 0 +69 368 0 +69 369 0 +69 370 0 +69 371 0 +69 372 0 +69 373 0 +69 374 0 +69 375 0 +69 376 0 +69 377 0 +69 378 0 +69 379 0 +69 380 0 +69 381 0 +69 382 0 +69 383 0 +70 71 4 +70 72 4 +70 73 4 +70 74 4 +70 75 4 +70 76 4 +70 77 4 +70 78 4 +70 79 4 +70 80 4 +70 81 4 +70 82 4 +70 83 4 +70 84 4 +70 85 4 +70 86 4 +70 87 4 +70 88 4 +70 89 4 +70 90 4 +70 91 4 +70 92 4 +70 93 4 +70 94 4 +70 95 4 +70 96 4 +70 97 4 +70 98 4 +70 99 4 +70 100 4 +70 101 4 +70 102 4 +70 103 4 +70 104 4 +70 105 4 +70 106 4 +70 107 4 +70 108 4 +70 109 4 +70 110 4 +70 111 4 +70 112 4 +70 113 4 +70 114 4 +70 115 4 +70 116 4 +70 117 4 +70 118 4 +70 119 4 +70 120 4 +70 121 4 +70 122 4 +70 123 4 +70 124 4 +70 125 4 +70 126 4 +70 127 4 +70 128 4 +70 129 4 +70 130 4 +70 131 4 +70 132 4 +70 133 4 +70 134 4 +70 135 4 +70 136 4 +70 137 4 +70 138 4 +70 139 4 +70 140 4 +70 141 4 +70 142 4 +70 143 4 +70 144 4 +70 145 4 +70 146 4 +70 147 4 +70 148 4 +70 149 4 +70 150 4 +70 151 4 +70 152 4 +70 153 4 +70 154 4 +70 155 4 +70 156 4 +70 157 4 +70 158 4 +70 159 4 +70 160 4 +70 161 4 +70 162 4 +70 163 4 +70 164 4 +70 165 4 +70 166 4 +70 167 4 +70 168 4 +70 169 4 +70 170 4 +70 171 4 +70 172 4 +70 173 4 +70 174 4 +70 175 4 +70 176 4 +70 177 4 +70 178 4 +70 179 4 +70 180 4 +70 181 4 +70 182 4 +70 183 4 +70 184 4 +70 185 4 +70 186 4 +70 187 4 +70 188 4 +70 189 4 +70 190 4 +70 191 4 +70 192 0 +70 193 0 +70 194 0 +70 195 0 +70 196 0 +70 197 0 +70 198 0 +70 199 0 +70 200 0 +70 201 0 +70 202 0 +70 203 0 +70 204 0 +70 205 0 +70 206 0 +70 207 0 +70 208 0 +70 209 0 +70 210 0 +70 211 0 +70 212 0 +70 213 0 +70 214 0 +70 215 0 +70 216 0 +70 217 0 +70 218 0 +70 219 0 +70 220 0 +70 221 0 +70 222 0 +70 223 0 +70 224 0 +70 225 0 +70 226 0 +70 227 0 +70 228 0 +70 229 0 +70 230 0 +70 231 0 +70 232 0 +70 233 0 +70 234 0 +70 235 0 +70 236 0 +70 237 0 +70 238 0 +70 239 0 +70 240 0 +70 241 0 +70 242 0 +70 243 0 +70 244 0 +70 245 0 +70 246 0 +70 247 0 +70 248 0 +70 249 0 +70 250 0 +70 251 0 +70 252 0 +70 253 0 +70 254 0 +70 255 0 +70 256 0 +70 257 0 +70 258 0 +70 259 0 +70 260 0 +70 261 0 +70 262 0 +70 263 0 +70 264 0 +70 265 0 +70 266 0 +70 267 0 +70 268 0 +70 269 0 +70 270 0 +70 271 0 +70 272 0 +70 273 0 +70 274 0 +70 275 0 +70 276 0 +70 277 0 +70 278 0 +70 279 0 +70 280 0 +70 281 0 +70 282 0 +70 283 0 +70 284 0 +70 285 0 +70 286 0 +70 287 0 +70 288 0 +70 289 0 +70 290 0 +70 291 0 +70 292 0 +70 293 0 +70 294 0 +70 295 0 +70 296 0 +70 297 0 +70 298 0 +70 299 0 +70 300 0 +70 301 0 +70 302 0 +70 303 0 +70 304 0 +70 305 0 +70 306 0 +70 307 0 +70 308 0 +70 309 0 +70 310 0 +70 311 0 +70 312 0 +70 313 0 +70 314 0 +70 315 0 +70 316 0 +70 317 0 +70 318 0 +70 319 0 +70 320 0 +70 321 0 +70 322 0 +70 323 0 +70 324 0 +70 325 0 +70 326 0 +70 327 0 +70 328 0 +70 329 0 +70 330 0 +70 331 0 +70 332 0 +70 333 0 +70 334 0 +70 335 0 +70 336 0 +70 337 0 +70 338 0 +70 339 0 +70 340 0 +70 341 0 +70 342 0 +70 343 0 +70 344 0 +70 345 0 +70 346 0 +70 347 0 +70 348 0 +70 349 0 +70 350 0 +70 351 0 +70 352 0 +70 353 0 +70 354 0 +70 355 0 +70 356 0 +70 357 0 +70 358 0 +70 359 0 +70 360 0 +70 361 0 +70 362 0 +70 363 0 +70 364 0 +70 365 0 +70 366 0 +70 367 0 +70 368 0 +70 369 0 +70 370 0 +70 371 0 +70 372 0 +70 373 0 +70 374 0 +70 375 0 +70 376 0 +70 377 0 +70 378 0 +70 379 0 +70 380 0 +70 381 0 +70 382 0 +70 383 0 +71 72 4 +71 73 4 +71 74 4 +71 75 4 +71 76 4 +71 77 4 +71 78 4 +71 79 4 +71 80 4 +71 81 4 +71 82 4 +71 83 4 +71 84 4 +71 85 4 +71 86 4 +71 87 4 +71 88 4 +71 89 4 +71 90 4 +71 91 4 +71 92 4 +71 93 4 +71 94 4 +71 95 4 +71 96 4 +71 97 4 +71 98 4 +71 99 4 +71 100 4 +71 101 4 +71 102 4 +71 103 4 +71 104 4 +71 105 4 +71 106 4 +71 107 4 +71 108 4 +71 109 4 +71 110 4 +71 111 4 +71 112 4 +71 113 4 +71 114 4 +71 115 4 +71 116 4 +71 117 4 +71 118 4 +71 119 4 +71 120 4 +71 121 4 +71 122 4 +71 123 4 +71 124 4 +71 125 4 +71 126 4 +71 127 4 +71 128 4 +71 129 4 +71 130 4 +71 131 4 +71 132 4 +71 133 4 +71 134 4 +71 135 4 +71 136 4 +71 137 4 +71 138 4 +71 139 4 +71 140 4 +71 141 4 +71 142 4 +71 143 4 +71 144 4 +71 145 4 +71 146 4 +71 147 4 +71 148 4 +71 149 4 +71 150 4 +71 151 4 +71 152 4 +71 153 4 +71 154 4 +71 155 4 +71 156 4 +71 157 4 +71 158 4 +71 159 4 +71 160 4 +71 161 4 +71 162 4 +71 163 4 +71 164 4 +71 165 4 +71 166 4 +71 167 4 +71 168 4 +71 169 4 +71 170 4 +71 171 4 +71 172 4 +71 173 4 +71 174 4 +71 175 4 +71 176 4 +71 177 4 +71 178 4 +71 179 4 +71 180 4 +71 181 4 +71 182 4 +71 183 4 +71 184 4 +71 185 4 +71 186 4 +71 187 4 +71 188 4 +71 189 4 +71 190 4 +71 191 4 +71 192 0 +71 193 0 +71 194 0 +71 195 0 +71 196 0 +71 197 0 +71 198 0 +71 199 0 +71 200 0 +71 201 0 +71 202 0 +71 203 0 +71 204 0 +71 205 0 +71 206 0 +71 207 0 +71 208 0 +71 209 0 +71 210 0 +71 211 0 +71 212 0 +71 213 0 +71 214 0 +71 215 0 +71 216 0 +71 217 0 +71 218 0 +71 219 0 +71 220 0 +71 221 0 +71 222 0 +71 223 0 +71 224 0 +71 225 0 +71 226 0 +71 227 0 +71 228 0 +71 229 0 +71 230 0 +71 231 0 +71 232 0 +71 233 0 +71 234 0 +71 235 0 +71 236 0 +71 237 0 +71 238 0 +71 239 0 +71 240 0 +71 241 0 +71 242 0 +71 243 0 +71 244 0 +71 245 0 +71 246 0 +71 247 0 +71 248 0 +71 249 0 +71 250 0 +71 251 0 +71 252 0 +71 253 0 +71 254 0 +71 255 0 +71 256 0 +71 257 0 +71 258 0 +71 259 0 +71 260 0 +71 261 0 +71 262 0 +71 263 0 +71 264 0 +71 265 0 +71 266 0 +71 267 0 +71 268 0 +71 269 0 +71 270 0 +71 271 0 +71 272 0 +71 273 0 +71 274 0 +71 275 0 +71 276 0 +71 277 0 +71 278 0 +71 279 0 +71 280 0 +71 281 0 +71 282 0 +71 283 0 +71 284 0 +71 285 0 +71 286 0 +71 287 0 +71 288 0 +71 289 0 +71 290 0 +71 291 0 +71 292 0 +71 293 0 +71 294 0 +71 295 0 +71 296 0 +71 297 0 +71 298 0 +71 299 0 +71 300 0 +71 301 0 +71 302 0 +71 303 0 +71 304 0 +71 305 0 +71 306 0 +71 307 0 +71 308 0 +71 309 0 +71 310 0 +71 311 0 +71 312 0 +71 313 0 +71 314 0 +71 315 0 +71 316 0 +71 317 0 +71 318 0 +71 319 0 +71 320 0 +71 321 0 +71 322 0 +71 323 0 +71 324 0 +71 325 0 +71 326 0 +71 327 0 +71 328 0 +71 329 0 +71 330 0 +71 331 0 +71 332 0 +71 333 0 +71 334 0 +71 335 0 +71 336 0 +71 337 0 +71 338 0 +71 339 0 +71 340 0 +71 341 0 +71 342 0 +71 343 0 +71 344 0 +71 345 0 +71 346 0 +71 347 0 +71 348 0 +71 349 0 +71 350 0 +71 351 0 +71 352 0 +71 353 0 +71 354 0 +71 355 0 +71 356 0 +71 357 0 +71 358 0 +71 359 0 +71 360 0 +71 361 0 +71 362 0 +71 363 0 +71 364 0 +71 365 0 +71 366 0 +71 367 0 +71 368 0 +71 369 0 +71 370 0 +71 371 0 +71 372 0 +71 373 0 +71 374 0 +71 375 0 +71 376 0 +71 377 0 +71 378 0 +71 379 0 +71 380 0 +71 381 0 +71 382 0 +71 383 0 +72 73 4 +72 74 4 +72 75 4 +72 76 4 +72 77 4 +72 78 4 +72 79 4 +72 80 4 +72 81 4 +72 82 4 +72 83 4 +72 84 4 +72 85 4 +72 86 4 +72 87 4 +72 88 4 +72 89 4 +72 90 4 +72 91 4 +72 92 4 +72 93 4 +72 94 4 +72 95 4 +72 96 4 +72 97 4 +72 98 4 +72 99 4 +72 100 4 +72 101 4 +72 102 4 +72 103 4 +72 104 4 +72 105 4 +72 106 4 +72 107 4 +72 108 4 +72 109 4 +72 110 4 +72 111 4 +72 112 4 +72 113 4 +72 114 4 +72 115 4 +72 116 4 +72 117 4 +72 118 4 +72 119 4 +72 120 4 +72 121 4 +72 122 4 +72 123 4 +72 124 4 +72 125 4 +72 126 4 +72 127 4 +72 128 4 +72 129 4 +72 130 4 +72 131 4 +72 132 4 +72 133 4 +72 134 4 +72 135 4 +72 136 4 +72 137 4 +72 138 4 +72 139 4 +72 140 4 +72 141 4 +72 142 4 +72 143 4 +72 144 4 +72 145 4 +72 146 4 +72 147 4 +72 148 4 +72 149 4 +72 150 4 +72 151 4 +72 152 4 +72 153 4 +72 154 4 +72 155 4 +72 156 4 +72 157 4 +72 158 4 +72 159 4 +72 160 4 +72 161 4 +72 162 4 +72 163 4 +72 164 4 +72 165 4 +72 166 4 +72 167 4 +72 168 4 +72 169 4 +72 170 4 +72 171 4 +72 172 4 +72 173 4 +72 174 4 +72 175 4 +72 176 4 +72 177 4 +72 178 4 +72 179 4 +72 180 4 +72 181 4 +72 182 4 +72 183 4 +72 184 4 +72 185 4 +72 186 4 +72 187 4 +72 188 4 +72 189 4 +72 190 4 +72 191 4 +72 192 0 +72 193 0 +72 194 0 +72 195 0 +72 196 0 +72 197 0 +72 198 0 +72 199 0 +72 200 0 +72 201 0 +72 202 0 +72 203 0 +72 204 0 +72 205 0 +72 206 0 +72 207 0 +72 208 0 +72 209 0 +72 210 0 +72 211 0 +72 212 0 +72 213 0 +72 214 0 +72 215 0 +72 216 0 +72 217 0 +72 218 0 +72 219 0 +72 220 0 +72 221 0 +72 222 0 +72 223 0 +72 224 0 +72 225 0 +72 226 0 +72 227 0 +72 228 0 +72 229 0 +72 230 0 +72 231 0 +72 232 0 +72 233 0 +72 234 0 +72 235 0 +72 236 0 +72 237 0 +72 238 0 +72 239 0 +72 240 0 +72 241 0 +72 242 0 +72 243 0 +72 244 0 +72 245 0 +72 246 0 +72 247 0 +72 248 0 +72 249 0 +72 250 0 +72 251 0 +72 252 0 +72 253 0 +72 254 0 +72 255 0 +72 256 0 +72 257 0 +72 258 0 +72 259 0 +72 260 0 +72 261 0 +72 262 0 +72 263 0 +72 264 0 +72 265 0 +72 266 0 +72 267 0 +72 268 0 +72 269 0 +72 270 0 +72 271 0 +72 272 0 +72 273 0 +72 274 0 +72 275 0 +72 276 0 +72 277 0 +72 278 0 +72 279 0 +72 280 0 +72 281 0 +72 282 0 +72 283 0 +72 284 0 +72 285 0 +72 286 0 +72 287 0 +72 288 0 +72 289 0 +72 290 0 +72 291 0 +72 292 0 +72 293 0 +72 294 0 +72 295 0 +72 296 0 +72 297 0 +72 298 0 +72 299 0 +72 300 0 +72 301 0 +72 302 0 +72 303 0 +72 304 0 +72 305 0 +72 306 0 +72 307 0 +72 308 0 +72 309 0 +72 310 0 +72 311 0 +72 312 0 +72 313 0 +72 314 0 +72 315 0 +72 316 0 +72 317 0 +72 318 0 +72 319 0 +72 320 0 +72 321 0 +72 322 0 +72 323 0 +72 324 0 +72 325 0 +72 326 0 +72 327 0 +72 328 0 +72 329 0 +72 330 0 +72 331 0 +72 332 0 +72 333 0 +72 334 0 +72 335 0 +72 336 0 +72 337 0 +72 338 0 +72 339 0 +72 340 0 +72 341 0 +72 342 0 +72 343 0 +72 344 0 +72 345 0 +72 346 0 +72 347 0 +72 348 0 +72 349 0 +72 350 0 +72 351 0 +72 352 0 +72 353 0 +72 354 0 +72 355 0 +72 356 0 +72 357 0 +72 358 0 +72 359 0 +72 360 0 +72 361 0 +72 362 0 +72 363 0 +72 364 0 +72 365 0 +72 366 0 +72 367 0 +72 368 0 +72 369 0 +72 370 0 +72 371 0 +72 372 0 +72 373 0 +72 374 0 +72 375 0 +72 376 0 +72 377 0 +72 378 0 +72 379 0 +72 380 0 +72 381 0 +72 382 0 +72 383 0 +73 74 4 +73 75 4 +73 76 4 +73 77 4 +73 78 4 +73 79 4 +73 80 4 +73 81 4 +73 82 4 +73 83 4 +73 84 4 +73 85 4 +73 86 4 +73 87 4 +73 88 4 +73 89 4 +73 90 4 +73 91 4 +73 92 4 +73 93 4 +73 94 4 +73 95 4 +73 96 4 +73 97 4 +73 98 4 +73 99 4 +73 100 4 +73 101 4 +73 102 4 +73 103 4 +73 104 4 +73 105 4 +73 106 4 +73 107 4 +73 108 4 +73 109 4 +73 110 4 +73 111 4 +73 112 4 +73 113 4 +73 114 4 +73 115 4 +73 116 4 +73 117 4 +73 118 4 +73 119 4 +73 120 4 +73 121 4 +73 122 4 +73 123 4 +73 124 4 +73 125 4 +73 126 4 +73 127 4 +73 128 4 +73 129 4 +73 130 4 +73 131 4 +73 132 4 +73 133 4 +73 134 4 +73 135 4 +73 136 4 +73 137 4 +73 138 4 +73 139 4 +73 140 4 +73 141 4 +73 142 4 +73 143 4 +73 144 4 +73 145 4 +73 146 4 +73 147 4 +73 148 4 +73 149 4 +73 150 4 +73 151 4 +73 152 4 +73 153 4 +73 154 4 +73 155 4 +73 156 4 +73 157 4 +73 158 4 +73 159 4 +73 160 4 +73 161 4 +73 162 4 +73 163 4 +73 164 4 +73 165 4 +73 166 4 +73 167 4 +73 168 4 +73 169 4 +73 170 4 +73 171 4 +73 172 4 +73 173 4 +73 174 4 +73 175 4 +73 176 4 +73 177 4 +73 178 4 +73 179 4 +73 180 4 +73 181 4 +73 182 4 +73 183 4 +73 184 4 +73 185 4 +73 186 4 +73 187 4 +73 188 4 +73 189 4 +73 190 4 +73 191 4 +73 192 0 +73 193 0 +73 194 0 +73 195 0 +73 196 0 +73 197 0 +73 198 0 +73 199 0 +73 200 0 +73 201 0 +73 202 0 +73 203 0 +73 204 0 +73 205 0 +73 206 0 +73 207 0 +73 208 0 +73 209 0 +73 210 0 +73 211 0 +73 212 0 +73 213 0 +73 214 0 +73 215 0 +73 216 0 +73 217 0 +73 218 0 +73 219 0 +73 220 0 +73 221 0 +73 222 0 +73 223 0 +73 224 0 +73 225 0 +73 226 0 +73 227 0 +73 228 0 +73 229 0 +73 230 0 +73 231 0 +73 232 0 +73 233 0 +73 234 0 +73 235 0 +73 236 0 +73 237 0 +73 238 0 +73 239 0 +73 240 0 +73 241 0 +73 242 0 +73 243 0 +73 244 0 +73 245 0 +73 246 0 +73 247 0 +73 248 0 +73 249 0 +73 250 0 +73 251 0 +73 252 0 +73 253 0 +73 254 0 +73 255 0 +73 256 0 +73 257 0 +73 258 0 +73 259 0 +73 260 0 +73 261 0 +73 262 0 +73 263 0 +73 264 0 +73 265 0 +73 266 0 +73 267 0 +73 268 0 +73 269 0 +73 270 0 +73 271 0 +73 272 0 +73 273 0 +73 274 0 +73 275 0 +73 276 0 +73 277 0 +73 278 0 +73 279 0 +73 280 0 +73 281 0 +73 282 0 +73 283 0 +73 284 0 +73 285 0 +73 286 0 +73 287 0 +73 288 0 +73 289 0 +73 290 0 +73 291 0 +73 292 0 +73 293 0 +73 294 0 +73 295 0 +73 296 0 +73 297 0 +73 298 0 +73 299 0 +73 300 0 +73 301 0 +73 302 0 +73 303 0 +73 304 0 +73 305 0 +73 306 0 +73 307 0 +73 308 0 +73 309 0 +73 310 0 +73 311 0 +73 312 0 +73 313 0 +73 314 0 +73 315 0 +73 316 0 +73 317 0 +73 318 0 +73 319 0 +73 320 0 +73 321 0 +73 322 0 +73 323 0 +73 324 0 +73 325 0 +73 326 0 +73 327 0 +73 328 0 +73 329 0 +73 330 0 +73 331 0 +73 332 0 +73 333 0 +73 334 0 +73 335 0 +73 336 0 +73 337 0 +73 338 0 +73 339 0 +73 340 0 +73 341 0 +73 342 0 +73 343 0 +73 344 0 +73 345 0 +73 346 0 +73 347 0 +73 348 0 +73 349 0 +73 350 0 +73 351 0 +73 352 0 +73 353 0 +73 354 0 +73 355 0 +73 356 0 +73 357 0 +73 358 0 +73 359 0 +73 360 0 +73 361 0 +73 362 0 +73 363 0 +73 364 0 +73 365 0 +73 366 0 +73 367 0 +73 368 0 +73 369 0 +73 370 0 +73 371 0 +73 372 0 +73 373 0 +73 374 0 +73 375 0 +73 376 0 +73 377 0 +73 378 0 +73 379 0 +73 380 0 +73 381 0 +73 382 0 +73 383 0 +74 75 4 +74 76 4 +74 77 4 +74 78 4 +74 79 4 +74 80 4 +74 81 4 +74 82 4 +74 83 4 +74 84 4 +74 85 4 +74 86 4 +74 87 4 +74 88 4 +74 89 4 +74 90 4 +74 91 4 +74 92 4 +74 93 4 +74 94 4 +74 95 4 +74 96 4 +74 97 4 +74 98 4 +74 99 4 +74 100 4 +74 101 4 +74 102 4 +74 103 4 +74 104 4 +74 105 4 +74 106 4 +74 107 4 +74 108 4 +74 109 4 +74 110 4 +74 111 4 +74 112 4 +74 113 4 +74 114 4 +74 115 4 +74 116 4 +74 117 4 +74 118 4 +74 119 4 +74 120 4 +74 121 4 +74 122 4 +74 123 4 +74 124 4 +74 125 4 +74 126 4 +74 127 4 +74 128 4 +74 129 4 +74 130 4 +74 131 4 +74 132 4 +74 133 4 +74 134 4 +74 135 4 +74 136 4 +74 137 4 +74 138 4 +74 139 4 +74 140 4 +74 141 4 +74 142 4 +74 143 4 +74 144 4 +74 145 4 +74 146 4 +74 147 4 +74 148 4 +74 149 4 +74 150 4 +74 151 4 +74 152 4 +74 153 4 +74 154 4 +74 155 4 +74 156 4 +74 157 4 +74 158 4 +74 159 4 +74 160 4 +74 161 4 +74 162 4 +74 163 4 +74 164 4 +74 165 4 +74 166 4 +74 167 4 +74 168 4 +74 169 4 +74 170 4 +74 171 4 +74 172 4 +74 173 4 +74 174 4 +74 175 4 +74 176 4 +74 177 4 +74 178 4 +74 179 4 +74 180 4 +74 181 4 +74 182 4 +74 183 4 +74 184 4 +74 185 4 +74 186 4 +74 187 4 +74 188 4 +74 189 4 +74 190 4 +74 191 4 +74 192 0 +74 193 0 +74 194 0 +74 195 0 +74 196 0 +74 197 0 +74 198 0 +74 199 0 +74 200 0 +74 201 0 +74 202 0 +74 203 0 +74 204 0 +74 205 0 +74 206 0 +74 207 0 +74 208 0 +74 209 0 +74 210 0 +74 211 0 +74 212 0 +74 213 0 +74 214 0 +74 215 0 +74 216 0 +74 217 0 +74 218 0 +74 219 0 +74 220 0 +74 221 0 +74 222 0 +74 223 0 +74 224 0 +74 225 0 +74 226 0 +74 227 0 +74 228 0 +74 229 0 +74 230 0 +74 231 0 +74 232 0 +74 233 0 +74 234 0 +74 235 0 +74 236 0 +74 237 0 +74 238 0 +74 239 0 +74 240 0 +74 241 0 +74 242 0 +74 243 0 +74 244 0 +74 245 0 +74 246 0 +74 247 0 +74 248 0 +74 249 0 +74 250 0 +74 251 0 +74 252 0 +74 253 0 +74 254 0 +74 255 0 +74 256 0 +74 257 0 +74 258 0 +74 259 0 +74 260 0 +74 261 0 +74 262 0 +74 263 0 +74 264 0 +74 265 0 +74 266 0 +74 267 0 +74 268 0 +74 269 0 +74 270 0 +74 271 0 +74 272 0 +74 273 0 +74 274 0 +74 275 0 +74 276 0 +74 277 0 +74 278 0 +74 279 0 +74 280 0 +74 281 0 +74 282 0 +74 283 0 +74 284 0 +74 285 0 +74 286 0 +74 287 0 +74 288 0 +74 289 0 +74 290 0 +74 291 0 +74 292 0 +74 293 0 +74 294 0 +74 295 0 +74 296 0 +74 297 0 +74 298 0 +74 299 0 +74 300 0 +74 301 0 +74 302 0 +74 303 0 +74 304 0 +74 305 0 +74 306 0 +74 307 0 +74 308 0 +74 309 0 +74 310 0 +74 311 0 +74 312 0 +74 313 0 +74 314 0 +74 315 0 +74 316 0 +74 317 0 +74 318 0 +74 319 0 +74 320 0 +74 321 0 +74 322 0 +74 323 0 +74 324 0 +74 325 0 +74 326 0 +74 327 0 +74 328 0 +74 329 0 +74 330 0 +74 331 0 +74 332 0 +74 333 0 +74 334 0 +74 335 0 +74 336 0 +74 337 0 +74 338 0 +74 339 0 +74 340 0 +74 341 0 +74 342 0 +74 343 0 +74 344 0 +74 345 0 +74 346 0 +74 347 0 +74 348 0 +74 349 0 +74 350 0 +74 351 0 +74 352 0 +74 353 0 +74 354 0 +74 355 0 +74 356 0 +74 357 0 +74 358 0 +74 359 0 +74 360 0 +74 361 0 +74 362 0 +74 363 0 +74 364 0 +74 365 0 +74 366 0 +74 367 0 +74 368 0 +74 369 0 +74 370 0 +74 371 0 +74 372 0 +74 373 0 +74 374 0 +74 375 0 +74 376 0 +74 377 0 +74 378 0 +74 379 0 +74 380 0 +74 381 0 +74 382 0 +74 383 0 +75 76 4 +75 77 4 +75 78 4 +75 79 4 +75 80 4 +75 81 4 +75 82 4 +75 83 4 +75 84 4 +75 85 4 +75 86 4 +75 87 4 +75 88 4 +75 89 4 +75 90 4 +75 91 4 +75 92 4 +75 93 4 +75 94 4 +75 95 4 +75 96 4 +75 97 4 +75 98 4 +75 99 4 +75 100 4 +75 101 4 +75 102 4 +75 103 4 +75 104 4 +75 105 4 +75 106 4 +75 107 4 +75 108 4 +75 109 4 +75 110 4 +75 111 4 +75 112 4 +75 113 4 +75 114 4 +75 115 4 +75 116 4 +75 117 4 +75 118 4 +75 119 4 +75 120 4 +75 121 4 +75 122 4 +75 123 4 +75 124 4 +75 125 4 +75 126 4 +75 127 4 +75 128 4 +75 129 4 +75 130 4 +75 131 4 +75 132 4 +75 133 4 +75 134 4 +75 135 4 +75 136 4 +75 137 4 +75 138 4 +75 139 4 +75 140 4 +75 141 4 +75 142 4 +75 143 4 +75 144 4 +75 145 4 +75 146 4 +75 147 4 +75 148 4 +75 149 4 +75 150 4 +75 151 4 +75 152 4 +75 153 4 +75 154 4 +75 155 4 +75 156 4 +75 157 4 +75 158 4 +75 159 4 +75 160 4 +75 161 4 +75 162 4 +75 163 4 +75 164 4 +75 165 4 +75 166 4 +75 167 4 +75 168 4 +75 169 4 +75 170 4 +75 171 4 +75 172 4 +75 173 4 +75 174 4 +75 175 4 +75 176 4 +75 177 4 +75 178 4 +75 179 4 +75 180 4 +75 181 4 +75 182 4 +75 183 4 +75 184 4 +75 185 4 +75 186 4 +75 187 4 +75 188 4 +75 189 4 +75 190 4 +75 191 4 +75 192 0 +75 193 0 +75 194 0 +75 195 0 +75 196 0 +75 197 0 +75 198 0 +75 199 0 +75 200 0 +75 201 0 +75 202 0 +75 203 0 +75 204 0 +75 205 0 +75 206 0 +75 207 0 +75 208 0 +75 209 0 +75 210 0 +75 211 0 +75 212 0 +75 213 0 +75 214 0 +75 215 0 +75 216 0 +75 217 0 +75 218 0 +75 219 0 +75 220 0 +75 221 0 +75 222 0 +75 223 0 +75 224 0 +75 225 0 +75 226 0 +75 227 0 +75 228 0 +75 229 0 +75 230 0 +75 231 0 +75 232 0 +75 233 0 +75 234 0 +75 235 0 +75 236 0 +75 237 0 +75 238 0 +75 239 0 +75 240 0 +75 241 0 +75 242 0 +75 243 0 +75 244 0 +75 245 0 +75 246 0 +75 247 0 +75 248 0 +75 249 0 +75 250 0 +75 251 0 +75 252 0 +75 253 0 +75 254 0 +75 255 0 +75 256 0 +75 257 0 +75 258 0 +75 259 0 +75 260 0 +75 261 0 +75 262 0 +75 263 0 +75 264 0 +75 265 0 +75 266 0 +75 267 0 +75 268 0 +75 269 0 +75 270 0 +75 271 0 +75 272 0 +75 273 0 +75 274 0 +75 275 0 +75 276 0 +75 277 0 +75 278 0 +75 279 0 +75 280 0 +75 281 0 +75 282 0 +75 283 0 +75 284 0 +75 285 0 +75 286 0 +75 287 0 +75 288 0 +75 289 0 +75 290 0 +75 291 0 +75 292 0 +75 293 0 +75 294 0 +75 295 0 +75 296 0 +75 297 0 +75 298 0 +75 299 0 +75 300 0 +75 301 0 +75 302 0 +75 303 0 +75 304 0 +75 305 0 +75 306 0 +75 307 0 +75 308 0 +75 309 0 +75 310 0 +75 311 0 +75 312 0 +75 313 0 +75 314 0 +75 315 0 +75 316 0 +75 317 0 +75 318 0 +75 319 0 +75 320 0 +75 321 0 +75 322 0 +75 323 0 +75 324 0 +75 325 0 +75 326 0 +75 327 0 +75 328 0 +75 329 0 +75 330 0 +75 331 0 +75 332 0 +75 333 0 +75 334 0 +75 335 0 +75 336 0 +75 337 0 +75 338 0 +75 339 0 +75 340 0 +75 341 0 +75 342 0 +75 343 0 +75 344 0 +75 345 0 +75 346 0 +75 347 0 +75 348 0 +75 349 0 +75 350 0 +75 351 0 +75 352 0 +75 353 0 +75 354 0 +75 355 0 +75 356 0 +75 357 0 +75 358 0 +75 359 0 +75 360 0 +75 361 0 +75 362 0 +75 363 0 +75 364 0 +75 365 0 +75 366 0 +75 367 0 +75 368 0 +75 369 0 +75 370 0 +75 371 0 +75 372 0 +75 373 0 +75 374 0 +75 375 0 +75 376 0 +75 377 0 +75 378 0 +75 379 0 +75 380 0 +75 381 0 +75 382 0 +75 383 0 +76 77 4 +76 78 4 +76 79 4 +76 80 4 +76 81 4 +76 82 4 +76 83 4 +76 84 4 +76 85 4 +76 86 4 +76 87 4 +76 88 4 +76 89 4 +76 90 4 +76 91 4 +76 92 4 +76 93 4 +76 94 4 +76 95 4 +76 96 4 +76 97 4 +76 98 4 +76 99 4 +76 100 4 +76 101 4 +76 102 4 +76 103 4 +76 104 4 +76 105 4 +76 106 4 +76 107 4 +76 108 4 +76 109 4 +76 110 4 +76 111 4 +76 112 4 +76 113 4 +76 114 4 +76 115 4 +76 116 4 +76 117 4 +76 118 4 +76 119 4 +76 120 4 +76 121 4 +76 122 4 +76 123 4 +76 124 4 +76 125 4 +76 126 4 +76 127 4 +76 128 4 +76 129 4 +76 130 4 +76 131 4 +76 132 4 +76 133 4 +76 134 4 +76 135 4 +76 136 4 +76 137 4 +76 138 4 +76 139 4 +76 140 4 +76 141 4 +76 142 4 +76 143 4 +76 144 4 +76 145 4 +76 146 4 +76 147 4 +76 148 4 +76 149 4 +76 150 4 +76 151 4 +76 152 4 +76 153 4 +76 154 4 +76 155 4 +76 156 4 +76 157 4 +76 158 4 +76 159 4 +76 160 4 +76 161 4 +76 162 4 +76 163 4 +76 164 4 +76 165 4 +76 166 4 +76 167 4 +76 168 4 +76 169 4 +76 170 4 +76 171 4 +76 172 4 +76 173 4 +76 174 4 +76 175 4 +76 176 4 +76 177 4 +76 178 4 +76 179 4 +76 180 4 +76 181 4 +76 182 4 +76 183 4 +76 184 4 +76 185 4 +76 186 4 +76 187 4 +76 188 4 +76 189 4 +76 190 4 +76 191 4 +76 192 0 +76 193 0 +76 194 0 +76 195 0 +76 196 0 +76 197 0 +76 198 0 +76 199 0 +76 200 0 +76 201 0 +76 202 0 +76 203 0 +76 204 0 +76 205 0 +76 206 0 +76 207 0 +76 208 0 +76 209 0 +76 210 0 +76 211 0 +76 212 0 +76 213 0 +76 214 0 +76 215 0 +76 216 0 +76 217 0 +76 218 0 +76 219 0 +76 220 0 +76 221 0 +76 222 0 +76 223 0 +76 224 0 +76 225 0 +76 226 0 +76 227 0 +76 228 0 +76 229 0 +76 230 0 +76 231 0 +76 232 0 +76 233 0 +76 234 0 +76 235 0 +76 236 0 +76 237 0 +76 238 0 +76 239 0 +76 240 0 +76 241 0 +76 242 0 +76 243 0 +76 244 0 +76 245 0 +76 246 0 +76 247 0 +76 248 0 +76 249 0 +76 250 0 +76 251 0 +76 252 0 +76 253 0 +76 254 0 +76 255 0 +76 256 0 +76 257 0 +76 258 0 +76 259 0 +76 260 0 +76 261 0 +76 262 0 +76 263 0 +76 264 0 +76 265 0 +76 266 0 +76 267 0 +76 268 0 +76 269 0 +76 270 0 +76 271 0 +76 272 0 +76 273 0 +76 274 0 +76 275 0 +76 276 0 +76 277 0 +76 278 0 +76 279 0 +76 280 0 +76 281 0 +76 282 0 +76 283 0 +76 284 0 +76 285 0 +76 286 0 +76 287 0 +76 288 0 +76 289 0 +76 290 0 +76 291 0 +76 292 0 +76 293 0 +76 294 0 +76 295 0 +76 296 0 +76 297 0 +76 298 0 +76 299 0 +76 300 0 +76 301 0 +76 302 0 +76 303 0 +76 304 0 +76 305 0 +76 306 0 +76 307 0 +76 308 0 +76 309 0 +76 310 0 +76 311 0 +76 312 0 +76 313 0 +76 314 0 +76 315 0 +76 316 0 +76 317 0 +76 318 0 +76 319 0 +76 320 0 +76 321 0 +76 322 0 +76 323 0 +76 324 0 +76 325 0 +76 326 0 +76 327 0 +76 328 0 +76 329 0 +76 330 0 +76 331 0 +76 332 0 +76 333 0 +76 334 0 +76 335 0 +76 336 0 +76 337 0 +76 338 0 +76 339 0 +76 340 0 +76 341 0 +76 342 0 +76 343 0 +76 344 0 +76 345 0 +76 346 0 +76 347 0 +76 348 0 +76 349 0 +76 350 0 +76 351 0 +76 352 0 +76 353 0 +76 354 0 +76 355 0 +76 356 0 +76 357 0 +76 358 0 +76 359 0 +76 360 0 +76 361 0 +76 362 0 +76 363 0 +76 364 0 +76 365 0 +76 366 0 +76 367 0 +76 368 0 +76 369 0 +76 370 0 +76 371 0 +76 372 0 +76 373 0 +76 374 0 +76 375 0 +76 376 0 +76 377 0 +76 378 0 +76 379 0 +76 380 0 +76 381 0 +76 382 0 +76 383 0 +77 78 4 +77 79 4 +77 80 4 +77 81 4 +77 82 4 +77 83 4 +77 84 4 +77 85 4 +77 86 4 +77 87 4 +77 88 4 +77 89 4 +77 90 4 +77 91 4 +77 92 4 +77 93 4 +77 94 4 +77 95 4 +77 96 4 +77 97 4 +77 98 4 +77 99 4 +77 100 4 +77 101 4 +77 102 4 +77 103 4 +77 104 4 +77 105 4 +77 106 4 +77 107 4 +77 108 4 +77 109 4 +77 110 4 +77 111 4 +77 112 4 +77 113 4 +77 114 4 +77 115 4 +77 116 4 +77 117 4 +77 118 4 +77 119 4 +77 120 4 +77 121 4 +77 122 4 +77 123 4 +77 124 4 +77 125 4 +77 126 4 +77 127 4 +77 128 4 +77 129 4 +77 130 4 +77 131 4 +77 132 4 +77 133 4 +77 134 4 +77 135 4 +77 136 4 +77 137 4 +77 138 4 +77 139 4 +77 140 4 +77 141 4 +77 142 4 +77 143 4 +77 144 4 +77 145 4 +77 146 4 +77 147 4 +77 148 4 +77 149 4 +77 150 4 +77 151 4 +77 152 4 +77 153 4 +77 154 4 +77 155 4 +77 156 4 +77 157 4 +77 158 4 +77 159 4 +77 160 4 +77 161 4 +77 162 4 +77 163 4 +77 164 4 +77 165 4 +77 166 4 +77 167 4 +77 168 4 +77 169 4 +77 170 4 +77 171 4 +77 172 4 +77 173 4 +77 174 4 +77 175 4 +77 176 4 +77 177 4 +77 178 4 +77 179 4 +77 180 4 +77 181 4 +77 182 4 +77 183 4 +77 184 4 +77 185 4 +77 186 4 +77 187 4 +77 188 4 +77 189 4 +77 190 4 +77 191 4 +77 192 0 +77 193 0 +77 194 0 +77 195 0 +77 196 0 +77 197 0 +77 198 0 +77 199 0 +77 200 0 +77 201 0 +77 202 0 +77 203 0 +77 204 0 +77 205 0 +77 206 0 +77 207 0 +77 208 0 +77 209 0 +77 210 0 +77 211 0 +77 212 0 +77 213 0 +77 214 0 +77 215 0 +77 216 0 +77 217 0 +77 218 0 +77 219 0 +77 220 0 +77 221 0 +77 222 0 +77 223 0 +77 224 0 +77 225 0 +77 226 0 +77 227 0 +77 228 0 +77 229 0 +77 230 0 +77 231 0 +77 232 0 +77 233 0 +77 234 0 +77 235 0 +77 236 0 +77 237 0 +77 238 0 +77 239 0 +77 240 0 +77 241 0 +77 242 0 +77 243 0 +77 244 0 +77 245 0 +77 246 0 +77 247 0 +77 248 0 +77 249 0 +77 250 0 +77 251 0 +77 252 0 +77 253 0 +77 254 0 +77 255 0 +77 256 0 +77 257 0 +77 258 0 +77 259 0 +77 260 0 +77 261 0 +77 262 0 +77 263 0 +77 264 0 +77 265 0 +77 266 0 +77 267 0 +77 268 0 +77 269 0 +77 270 0 +77 271 0 +77 272 0 +77 273 0 +77 274 0 +77 275 0 +77 276 0 +77 277 0 +77 278 0 +77 279 0 +77 280 0 +77 281 0 +77 282 0 +77 283 0 +77 284 0 +77 285 0 +77 286 0 +77 287 0 +77 288 0 +77 289 0 +77 290 0 +77 291 0 +77 292 0 +77 293 0 +77 294 0 +77 295 0 +77 296 0 +77 297 0 +77 298 0 +77 299 0 +77 300 0 +77 301 0 +77 302 0 +77 303 0 +77 304 0 +77 305 0 +77 306 0 +77 307 0 +77 308 0 +77 309 0 +77 310 0 +77 311 0 +77 312 0 +77 313 0 +77 314 0 +77 315 0 +77 316 0 +77 317 0 +77 318 0 +77 319 0 +77 320 0 +77 321 0 +77 322 0 +77 323 0 +77 324 0 +77 325 0 +77 326 0 +77 327 0 +77 328 0 +77 329 0 +77 330 0 +77 331 0 +77 332 0 +77 333 0 +77 334 0 +77 335 0 +77 336 0 +77 337 0 +77 338 0 +77 339 0 +77 340 0 +77 341 0 +77 342 0 +77 343 0 +77 344 0 +77 345 0 +77 346 0 +77 347 0 +77 348 0 +77 349 0 +77 350 0 +77 351 0 +77 352 0 +77 353 0 +77 354 0 +77 355 0 +77 356 0 +77 357 0 +77 358 0 +77 359 0 +77 360 0 +77 361 0 +77 362 0 +77 363 0 +77 364 0 +77 365 0 +77 366 0 +77 367 0 +77 368 0 +77 369 0 +77 370 0 +77 371 0 +77 372 0 +77 373 0 +77 374 0 +77 375 0 +77 376 0 +77 377 0 +77 378 0 +77 379 0 +77 380 0 +77 381 0 +77 382 0 +77 383 0 +78 79 4 +78 80 4 +78 81 4 +78 82 4 +78 83 4 +78 84 4 +78 85 4 +78 86 4 +78 87 4 +78 88 4 +78 89 4 +78 90 4 +78 91 4 +78 92 4 +78 93 4 +78 94 4 +78 95 4 +78 96 4 +78 97 4 +78 98 4 +78 99 4 +78 100 4 +78 101 4 +78 102 4 +78 103 4 +78 104 4 +78 105 4 +78 106 4 +78 107 4 +78 108 4 +78 109 4 +78 110 4 +78 111 4 +78 112 4 +78 113 4 +78 114 4 +78 115 4 +78 116 4 +78 117 4 +78 118 4 +78 119 4 +78 120 4 +78 121 4 +78 122 4 +78 123 4 +78 124 4 +78 125 4 +78 126 4 +78 127 4 +78 128 4 +78 129 4 +78 130 4 +78 131 4 +78 132 4 +78 133 4 +78 134 4 +78 135 4 +78 136 4 +78 137 4 +78 138 4 +78 139 4 +78 140 4 +78 141 4 +78 142 4 +78 143 4 +78 144 4 +78 145 4 +78 146 4 +78 147 4 +78 148 4 +78 149 4 +78 150 4 +78 151 4 +78 152 4 +78 153 4 +78 154 4 +78 155 4 +78 156 4 +78 157 4 +78 158 4 +78 159 4 +78 160 4 +78 161 4 +78 162 4 +78 163 4 +78 164 4 +78 165 4 +78 166 4 +78 167 4 +78 168 4 +78 169 4 +78 170 4 +78 171 4 +78 172 4 +78 173 4 +78 174 4 +78 175 4 +78 176 4 +78 177 4 +78 178 4 +78 179 4 +78 180 4 +78 181 4 +78 182 4 +78 183 4 +78 184 4 +78 185 4 +78 186 4 +78 187 4 +78 188 4 +78 189 4 +78 190 4 +78 191 4 +78 192 0 +78 193 0 +78 194 0 +78 195 0 +78 196 0 +78 197 0 +78 198 0 +78 199 0 +78 200 0 +78 201 0 +78 202 0 +78 203 0 +78 204 0 +78 205 0 +78 206 0 +78 207 0 +78 208 0 +78 209 0 +78 210 0 +78 211 0 +78 212 0 +78 213 0 +78 214 0 +78 215 0 +78 216 0 +78 217 0 +78 218 0 +78 219 0 +78 220 0 +78 221 0 +78 222 0 +78 223 0 +78 224 0 +78 225 0 +78 226 0 +78 227 0 +78 228 0 +78 229 0 +78 230 0 +78 231 0 +78 232 0 +78 233 0 +78 234 0 +78 235 0 +78 236 0 +78 237 0 +78 238 0 +78 239 0 +78 240 0 +78 241 0 +78 242 0 +78 243 0 +78 244 0 +78 245 0 +78 246 0 +78 247 0 +78 248 0 +78 249 0 +78 250 0 +78 251 0 +78 252 0 +78 253 0 +78 254 0 +78 255 0 +78 256 0 +78 257 0 +78 258 0 +78 259 0 +78 260 0 +78 261 0 +78 262 0 +78 263 0 +78 264 0 +78 265 0 +78 266 0 +78 267 0 +78 268 0 +78 269 0 +78 270 0 +78 271 0 +78 272 0 +78 273 0 +78 274 0 +78 275 0 +78 276 0 +78 277 0 +78 278 0 +78 279 0 +78 280 0 +78 281 0 +78 282 0 +78 283 0 +78 284 0 +78 285 0 +78 286 0 +78 287 0 +78 288 0 +78 289 0 +78 290 0 +78 291 0 +78 292 0 +78 293 0 +78 294 0 +78 295 0 +78 296 0 +78 297 0 +78 298 0 +78 299 0 +78 300 0 +78 301 0 +78 302 0 +78 303 0 +78 304 0 +78 305 0 +78 306 0 +78 307 0 +78 308 0 +78 309 0 +78 310 0 +78 311 0 +78 312 0 +78 313 0 +78 314 0 +78 315 0 +78 316 0 +78 317 0 +78 318 0 +78 319 0 +78 320 0 +78 321 0 +78 322 0 +78 323 0 +78 324 0 +78 325 0 +78 326 0 +78 327 0 +78 328 0 +78 329 0 +78 330 0 +78 331 0 +78 332 0 +78 333 0 +78 334 0 +78 335 0 +78 336 0 +78 337 0 +78 338 0 +78 339 0 +78 340 0 +78 341 0 +78 342 0 +78 343 0 +78 344 0 +78 345 0 +78 346 0 +78 347 0 +78 348 0 +78 349 0 +78 350 0 +78 351 0 +78 352 0 +78 353 0 +78 354 0 +78 355 0 +78 356 0 +78 357 0 +78 358 0 +78 359 0 +78 360 0 +78 361 0 +78 362 0 +78 363 0 +78 364 0 +78 365 0 +78 366 0 +78 367 0 +78 368 0 +78 369 0 +78 370 0 +78 371 0 +78 372 0 +78 373 0 +78 374 0 +78 375 0 +78 376 0 +78 377 0 +78 378 0 +78 379 0 +78 380 0 +78 381 0 +78 382 0 +78 383 0 +79 80 4 +79 81 4 +79 82 4 +79 83 4 +79 84 4 +79 85 4 +79 86 4 +79 87 4 +79 88 4 +79 89 4 +79 90 4 +79 91 4 +79 92 4 +79 93 4 +79 94 4 +79 95 4 +79 96 4 +79 97 4 +79 98 4 +79 99 4 +79 100 4 +79 101 4 +79 102 4 +79 103 4 +79 104 4 +79 105 4 +79 106 4 +79 107 4 +79 108 4 +79 109 4 +79 110 4 +79 111 4 +79 112 4 +79 113 4 +79 114 4 +79 115 4 +79 116 4 +79 117 4 +79 118 4 +79 119 4 +79 120 4 +79 121 4 +79 122 4 +79 123 4 +79 124 4 +79 125 4 +79 126 4 +79 127 4 +79 128 4 +79 129 4 +79 130 4 +79 131 4 +79 132 4 +79 133 4 +79 134 4 +79 135 4 +79 136 4 +79 137 4 +79 138 4 +79 139 4 +79 140 4 +79 141 4 +79 142 4 +79 143 4 +79 144 4 +79 145 4 +79 146 4 +79 147 4 +79 148 4 +79 149 4 +79 150 4 +79 151 4 +79 152 4 +79 153 4 +79 154 4 +79 155 4 +79 156 4 +79 157 4 +79 158 4 +79 159 4 +79 160 4 +79 161 4 +79 162 4 +79 163 4 +79 164 4 +79 165 4 +79 166 4 +79 167 4 +79 168 4 +79 169 4 +79 170 4 +79 171 4 +79 172 4 +79 173 4 +79 174 4 +79 175 4 +79 176 4 +79 177 4 +79 178 4 +79 179 4 +79 180 4 +79 181 4 +79 182 4 +79 183 4 +79 184 4 +79 185 4 +79 186 4 +79 187 4 +79 188 4 +79 189 4 +79 190 4 +79 191 4 +79 192 0 +79 193 0 +79 194 0 +79 195 0 +79 196 0 +79 197 0 +79 198 0 +79 199 0 +79 200 0 +79 201 0 +79 202 0 +79 203 0 +79 204 0 +79 205 0 +79 206 0 +79 207 0 +79 208 0 +79 209 0 +79 210 0 +79 211 0 +79 212 0 +79 213 0 +79 214 0 +79 215 0 +79 216 0 +79 217 0 +79 218 0 +79 219 0 +79 220 0 +79 221 0 +79 222 0 +79 223 0 +79 224 0 +79 225 0 +79 226 0 +79 227 0 +79 228 0 +79 229 0 +79 230 0 +79 231 0 +79 232 0 +79 233 0 +79 234 0 +79 235 0 +79 236 0 +79 237 0 +79 238 0 +79 239 0 +79 240 0 +79 241 0 +79 242 0 +79 243 0 +79 244 0 +79 245 0 +79 246 0 +79 247 0 +79 248 0 +79 249 0 +79 250 0 +79 251 0 +79 252 0 +79 253 0 +79 254 0 +79 255 0 +79 256 0 +79 257 0 +79 258 0 +79 259 0 +79 260 0 +79 261 0 +79 262 0 +79 263 0 +79 264 0 +79 265 0 +79 266 0 +79 267 0 +79 268 0 +79 269 0 +79 270 0 +79 271 0 +79 272 0 +79 273 0 +79 274 0 +79 275 0 +79 276 0 +79 277 0 +79 278 0 +79 279 0 +79 280 0 +79 281 0 +79 282 0 +79 283 0 +79 284 0 +79 285 0 +79 286 0 +79 287 0 +79 288 0 +79 289 0 +79 290 0 +79 291 0 +79 292 0 +79 293 0 +79 294 0 +79 295 0 +79 296 0 +79 297 0 +79 298 0 +79 299 0 +79 300 0 +79 301 0 +79 302 0 +79 303 0 +79 304 0 +79 305 0 +79 306 0 +79 307 0 +79 308 0 +79 309 0 +79 310 0 +79 311 0 +79 312 0 +79 313 0 +79 314 0 +79 315 0 +79 316 0 +79 317 0 +79 318 0 +79 319 0 +79 320 0 +79 321 0 +79 322 0 +79 323 0 +79 324 0 +79 325 0 +79 326 0 +79 327 0 +79 328 0 +79 329 0 +79 330 0 +79 331 0 +79 332 0 +79 333 0 +79 334 0 +79 335 0 +79 336 0 +79 337 0 +79 338 0 +79 339 0 +79 340 0 +79 341 0 +79 342 0 +79 343 0 +79 344 0 +79 345 0 +79 346 0 +79 347 0 +79 348 0 +79 349 0 +79 350 0 +79 351 0 +79 352 0 +79 353 0 +79 354 0 +79 355 0 +79 356 0 +79 357 0 +79 358 0 +79 359 0 +79 360 0 +79 361 0 +79 362 0 +79 363 0 +79 364 0 +79 365 0 +79 366 0 +79 367 0 +79 368 0 +79 369 0 +79 370 0 +79 371 0 +79 372 0 +79 373 0 +79 374 0 +79 375 0 +79 376 0 +79 377 0 +79 378 0 +79 379 0 +79 380 0 +79 381 0 +79 382 0 +79 383 0 +80 81 4 +80 82 4 +80 83 4 +80 84 4 +80 85 4 +80 86 4 +80 87 4 +80 88 4 +80 89 4 +80 90 4 +80 91 4 +80 92 4 +80 93 4 +80 94 4 +80 95 4 +80 96 4 +80 97 4 +80 98 4 +80 99 4 +80 100 4 +80 101 4 +80 102 4 +80 103 4 +80 104 4 +80 105 4 +80 106 4 +80 107 4 +80 108 4 +80 109 4 +80 110 4 +80 111 4 +80 112 4 +80 113 4 +80 114 4 +80 115 4 +80 116 4 +80 117 4 +80 118 4 +80 119 4 +80 120 4 +80 121 4 +80 122 4 +80 123 4 +80 124 4 +80 125 4 +80 126 4 +80 127 4 +80 128 4 +80 129 4 +80 130 4 +80 131 4 +80 132 4 +80 133 4 +80 134 4 +80 135 4 +80 136 4 +80 137 4 +80 138 4 +80 139 4 +80 140 4 +80 141 4 +80 142 4 +80 143 4 +80 144 4 +80 145 4 +80 146 4 +80 147 4 +80 148 4 +80 149 4 +80 150 4 +80 151 4 +80 152 4 +80 153 4 +80 154 4 +80 155 4 +80 156 4 +80 157 4 +80 158 4 +80 159 4 +80 160 4 +80 161 4 +80 162 4 +80 163 4 +80 164 4 +80 165 4 +80 166 4 +80 167 4 +80 168 4 +80 169 4 +80 170 4 +80 171 4 +80 172 4 +80 173 4 +80 174 4 +80 175 4 +80 176 4 +80 177 4 +80 178 4 +80 179 4 +80 180 4 +80 181 4 +80 182 4 +80 183 4 +80 184 4 +80 185 4 +80 186 4 +80 187 4 +80 188 4 +80 189 4 +80 190 4 +80 191 4 +80 192 0 +80 193 0 +80 194 0 +80 195 0 +80 196 0 +80 197 0 +80 198 0 +80 199 0 +80 200 0 +80 201 0 +80 202 0 +80 203 0 +80 204 0 +80 205 0 +80 206 0 +80 207 0 +80 208 0 +80 209 0 +80 210 0 +80 211 0 +80 212 0 +80 213 0 +80 214 0 +80 215 0 +80 216 0 +80 217 0 +80 218 0 +80 219 0 +80 220 0 +80 221 0 +80 222 0 +80 223 0 +80 224 0 +80 225 0 +80 226 0 +80 227 0 +80 228 0 +80 229 0 +80 230 0 +80 231 0 +80 232 0 +80 233 0 +80 234 0 +80 235 0 +80 236 0 +80 237 0 +80 238 0 +80 239 0 +80 240 0 +80 241 0 +80 242 0 +80 243 0 +80 244 0 +80 245 0 +80 246 0 +80 247 0 +80 248 0 +80 249 0 +80 250 0 +80 251 0 +80 252 0 +80 253 0 +80 254 0 +80 255 0 +80 256 0 +80 257 0 +80 258 0 +80 259 0 +80 260 0 +80 261 0 +80 262 0 +80 263 0 +80 264 0 +80 265 0 +80 266 0 +80 267 0 +80 268 0 +80 269 0 +80 270 0 +80 271 0 +80 272 0 +80 273 0 +80 274 0 +80 275 0 +80 276 0 +80 277 0 +80 278 0 +80 279 0 +80 280 0 +80 281 0 +80 282 0 +80 283 0 +80 284 0 +80 285 0 +80 286 0 +80 287 0 +80 288 0 +80 289 0 +80 290 0 +80 291 0 +80 292 0 +80 293 0 +80 294 0 +80 295 0 +80 296 0 +80 297 0 +80 298 0 +80 299 0 +80 300 0 +80 301 0 +80 302 0 +80 303 0 +80 304 0 +80 305 0 +80 306 0 +80 307 0 +80 308 0 +80 309 0 +80 310 0 +80 311 0 +80 312 0 +80 313 0 +80 314 0 +80 315 0 +80 316 0 +80 317 0 +80 318 0 +80 319 0 +80 320 0 +80 321 0 +80 322 0 +80 323 0 +80 324 0 +80 325 0 +80 326 0 +80 327 0 +80 328 0 +80 329 0 +80 330 0 +80 331 0 +80 332 0 +80 333 0 +80 334 0 +80 335 0 +80 336 0 +80 337 0 +80 338 0 +80 339 0 +80 340 0 +80 341 0 +80 342 0 +80 343 0 +80 344 0 +80 345 0 +80 346 0 +80 347 0 +80 348 0 +80 349 0 +80 350 0 +80 351 0 +80 352 0 +80 353 0 +80 354 0 +80 355 0 +80 356 0 +80 357 0 +80 358 0 +80 359 0 +80 360 0 +80 361 0 +80 362 0 +80 363 0 +80 364 0 +80 365 0 +80 366 0 +80 367 0 +80 368 0 +80 369 0 +80 370 0 +80 371 0 +80 372 0 +80 373 0 +80 374 0 +80 375 0 +80 376 0 +80 377 0 +80 378 0 +80 379 0 +80 380 0 +80 381 0 +80 382 0 +80 383 0 +81 82 4 +81 83 4 +81 84 4 +81 85 4 +81 86 4 +81 87 4 +81 88 4 +81 89 4 +81 90 4 +81 91 4 +81 92 4 +81 93 4 +81 94 4 +81 95 4 +81 96 4 +81 97 4 +81 98 4 +81 99 4 +81 100 4 +81 101 4 +81 102 4 +81 103 4 +81 104 4 +81 105 4 +81 106 4 +81 107 4 +81 108 4 +81 109 4 +81 110 4 +81 111 4 +81 112 4 +81 113 4 +81 114 4 +81 115 4 +81 116 4 +81 117 4 +81 118 4 +81 119 4 +81 120 4 +81 121 4 +81 122 4 +81 123 4 +81 124 4 +81 125 4 +81 126 4 +81 127 4 +81 128 4 +81 129 4 +81 130 4 +81 131 4 +81 132 4 +81 133 4 +81 134 4 +81 135 4 +81 136 4 +81 137 4 +81 138 4 +81 139 4 +81 140 4 +81 141 4 +81 142 4 +81 143 4 +81 144 4 +81 145 4 +81 146 4 +81 147 4 +81 148 4 +81 149 4 +81 150 4 +81 151 4 +81 152 4 +81 153 4 +81 154 4 +81 155 4 +81 156 4 +81 157 4 +81 158 4 +81 159 4 +81 160 4 +81 161 4 +81 162 4 +81 163 4 +81 164 4 +81 165 4 +81 166 4 +81 167 4 +81 168 4 +81 169 4 +81 170 4 +81 171 4 +81 172 4 +81 173 4 +81 174 4 +81 175 4 +81 176 4 +81 177 4 +81 178 4 +81 179 4 +81 180 4 +81 181 4 +81 182 4 +81 183 4 +81 184 4 +81 185 4 +81 186 4 +81 187 4 +81 188 4 +81 189 4 +81 190 4 +81 191 4 +81 192 0 +81 193 0 +81 194 0 +81 195 0 +81 196 0 +81 197 0 +81 198 0 +81 199 0 +81 200 0 +81 201 0 +81 202 0 +81 203 0 +81 204 0 +81 205 0 +81 206 0 +81 207 0 +81 208 0 +81 209 0 +81 210 0 +81 211 0 +81 212 0 +81 213 0 +81 214 0 +81 215 0 +81 216 0 +81 217 0 +81 218 0 +81 219 0 +81 220 0 +81 221 0 +81 222 0 +81 223 0 +81 224 0 +81 225 0 +81 226 0 +81 227 0 +81 228 0 +81 229 0 +81 230 0 +81 231 0 +81 232 0 +81 233 0 +81 234 0 +81 235 0 +81 236 0 +81 237 0 +81 238 0 +81 239 0 +81 240 0 +81 241 0 +81 242 0 +81 243 0 +81 244 0 +81 245 0 +81 246 0 +81 247 0 +81 248 0 +81 249 0 +81 250 0 +81 251 0 +81 252 0 +81 253 0 +81 254 0 +81 255 0 +81 256 0 +81 257 0 +81 258 0 +81 259 0 +81 260 0 +81 261 0 +81 262 0 +81 263 0 +81 264 0 +81 265 0 +81 266 0 +81 267 0 +81 268 0 +81 269 0 +81 270 0 +81 271 0 +81 272 0 +81 273 0 +81 274 0 +81 275 0 +81 276 0 +81 277 0 +81 278 0 +81 279 0 +81 280 0 +81 281 0 +81 282 0 +81 283 0 +81 284 0 +81 285 0 +81 286 0 +81 287 0 +81 288 0 +81 289 0 +81 290 0 +81 291 0 +81 292 0 +81 293 0 +81 294 0 +81 295 0 +81 296 0 +81 297 0 +81 298 0 +81 299 0 +81 300 0 +81 301 0 +81 302 0 +81 303 0 +81 304 0 +81 305 0 +81 306 0 +81 307 0 +81 308 0 +81 309 0 +81 310 0 +81 311 0 +81 312 0 +81 313 0 +81 314 0 +81 315 0 +81 316 0 +81 317 0 +81 318 0 +81 319 0 +81 320 0 +81 321 0 +81 322 0 +81 323 0 +81 324 0 +81 325 0 +81 326 0 +81 327 0 +81 328 0 +81 329 0 +81 330 0 +81 331 0 +81 332 0 +81 333 0 +81 334 0 +81 335 0 +81 336 0 +81 337 0 +81 338 0 +81 339 0 +81 340 0 +81 341 0 +81 342 0 +81 343 0 +81 344 0 +81 345 0 +81 346 0 +81 347 0 +81 348 0 +81 349 0 +81 350 0 +81 351 0 +81 352 0 +81 353 0 +81 354 0 +81 355 0 +81 356 0 +81 357 0 +81 358 0 +81 359 0 +81 360 0 +81 361 0 +81 362 0 +81 363 0 +81 364 0 +81 365 0 +81 366 0 +81 367 0 +81 368 0 +81 369 0 +81 370 0 +81 371 0 +81 372 0 +81 373 0 +81 374 0 +81 375 0 +81 376 0 +81 377 0 +81 378 0 +81 379 0 +81 380 0 +81 381 0 +81 382 0 +81 383 0 +82 83 4 +82 84 4 +82 85 4 +82 86 4 +82 87 4 +82 88 4 +82 89 4 +82 90 4 +82 91 4 +82 92 4 +82 93 4 +82 94 4 +82 95 4 +82 96 4 +82 97 4 +82 98 4 +82 99 4 +82 100 4 +82 101 4 +82 102 4 +82 103 4 +82 104 4 +82 105 4 +82 106 4 +82 107 4 +82 108 4 +82 109 4 +82 110 4 +82 111 4 +82 112 4 +82 113 4 +82 114 4 +82 115 4 +82 116 4 +82 117 4 +82 118 4 +82 119 4 +82 120 4 +82 121 4 +82 122 4 +82 123 4 +82 124 4 +82 125 4 +82 126 4 +82 127 4 +82 128 4 +82 129 4 +82 130 4 +82 131 4 +82 132 4 +82 133 4 +82 134 4 +82 135 4 +82 136 4 +82 137 4 +82 138 4 +82 139 4 +82 140 4 +82 141 4 +82 142 4 +82 143 4 +82 144 4 +82 145 4 +82 146 4 +82 147 4 +82 148 4 +82 149 4 +82 150 4 +82 151 4 +82 152 4 +82 153 4 +82 154 4 +82 155 4 +82 156 4 +82 157 4 +82 158 4 +82 159 4 +82 160 4 +82 161 4 +82 162 4 +82 163 4 +82 164 4 +82 165 4 +82 166 4 +82 167 4 +82 168 4 +82 169 4 +82 170 4 +82 171 4 +82 172 4 +82 173 4 +82 174 4 +82 175 4 +82 176 4 +82 177 4 +82 178 4 +82 179 4 +82 180 4 +82 181 4 +82 182 4 +82 183 4 +82 184 4 +82 185 4 +82 186 4 +82 187 4 +82 188 4 +82 189 4 +82 190 4 +82 191 4 +82 192 0 +82 193 0 +82 194 0 +82 195 0 +82 196 0 +82 197 0 +82 198 0 +82 199 0 +82 200 0 +82 201 0 +82 202 0 +82 203 0 +82 204 0 +82 205 0 +82 206 0 +82 207 0 +82 208 0 +82 209 0 +82 210 0 +82 211 0 +82 212 0 +82 213 0 +82 214 0 +82 215 0 +82 216 0 +82 217 0 +82 218 0 +82 219 0 +82 220 0 +82 221 0 +82 222 0 +82 223 0 +82 224 0 +82 225 0 +82 226 0 +82 227 0 +82 228 0 +82 229 0 +82 230 0 +82 231 0 +82 232 0 +82 233 0 +82 234 0 +82 235 0 +82 236 0 +82 237 0 +82 238 0 +82 239 0 +82 240 0 +82 241 0 +82 242 0 +82 243 0 +82 244 0 +82 245 0 +82 246 0 +82 247 0 +82 248 0 +82 249 0 +82 250 0 +82 251 0 +82 252 0 +82 253 0 +82 254 0 +82 255 0 +82 256 0 +82 257 0 +82 258 0 +82 259 0 +82 260 0 +82 261 0 +82 262 0 +82 263 0 +82 264 0 +82 265 0 +82 266 0 +82 267 0 +82 268 0 +82 269 0 +82 270 0 +82 271 0 +82 272 0 +82 273 0 +82 274 0 +82 275 0 +82 276 0 +82 277 0 +82 278 0 +82 279 0 +82 280 0 +82 281 0 +82 282 0 +82 283 0 +82 284 0 +82 285 0 +82 286 0 +82 287 0 +82 288 0 +82 289 0 +82 290 0 +82 291 0 +82 292 0 +82 293 0 +82 294 0 +82 295 0 +82 296 0 +82 297 0 +82 298 0 +82 299 0 +82 300 0 +82 301 0 +82 302 0 +82 303 0 +82 304 0 +82 305 0 +82 306 0 +82 307 0 +82 308 0 +82 309 0 +82 310 0 +82 311 0 +82 312 0 +82 313 0 +82 314 0 +82 315 0 +82 316 0 +82 317 0 +82 318 0 +82 319 0 +82 320 0 +82 321 0 +82 322 0 +82 323 0 +82 324 0 +82 325 0 +82 326 0 +82 327 0 +82 328 0 +82 329 0 +82 330 0 +82 331 0 +82 332 0 +82 333 0 +82 334 0 +82 335 0 +82 336 0 +82 337 0 +82 338 0 +82 339 0 +82 340 0 +82 341 0 +82 342 0 +82 343 0 +82 344 0 +82 345 0 +82 346 0 +82 347 0 +82 348 0 +82 349 0 +82 350 0 +82 351 0 +82 352 0 +82 353 0 +82 354 0 +82 355 0 +82 356 0 +82 357 0 +82 358 0 +82 359 0 +82 360 0 +82 361 0 +82 362 0 +82 363 0 +82 364 0 +82 365 0 +82 366 0 +82 367 0 +82 368 0 +82 369 0 +82 370 0 +82 371 0 +82 372 0 +82 373 0 +82 374 0 +82 375 0 +82 376 0 +82 377 0 +82 378 0 +82 379 0 +82 380 0 +82 381 0 +82 382 0 +82 383 0 +83 84 4 +83 85 4 +83 86 4 +83 87 4 +83 88 4 +83 89 4 +83 90 4 +83 91 4 +83 92 4 +83 93 4 +83 94 4 +83 95 4 +83 96 4 +83 97 4 +83 98 4 +83 99 4 +83 100 4 +83 101 4 +83 102 4 +83 103 4 +83 104 4 +83 105 4 +83 106 4 +83 107 4 +83 108 4 +83 109 4 +83 110 4 +83 111 4 +83 112 4 +83 113 4 +83 114 4 +83 115 4 +83 116 4 +83 117 4 +83 118 4 +83 119 4 +83 120 4 +83 121 4 +83 122 4 +83 123 4 +83 124 4 +83 125 4 +83 126 4 +83 127 4 +83 128 4 +83 129 4 +83 130 4 +83 131 4 +83 132 4 +83 133 4 +83 134 4 +83 135 4 +83 136 4 +83 137 4 +83 138 4 +83 139 4 +83 140 4 +83 141 4 +83 142 4 +83 143 4 +83 144 4 +83 145 4 +83 146 4 +83 147 4 +83 148 4 +83 149 4 +83 150 4 +83 151 4 +83 152 4 +83 153 4 +83 154 4 +83 155 4 +83 156 4 +83 157 4 +83 158 4 +83 159 4 +83 160 4 +83 161 4 +83 162 4 +83 163 4 +83 164 4 +83 165 4 +83 166 4 +83 167 4 +83 168 4 +83 169 4 +83 170 4 +83 171 4 +83 172 4 +83 173 4 +83 174 4 +83 175 4 +83 176 4 +83 177 4 +83 178 4 +83 179 4 +83 180 4 +83 181 4 +83 182 4 +83 183 4 +83 184 4 +83 185 4 +83 186 4 +83 187 4 +83 188 4 +83 189 4 +83 190 4 +83 191 4 +83 192 0 +83 193 0 +83 194 0 +83 195 0 +83 196 0 +83 197 0 +83 198 0 +83 199 0 +83 200 0 +83 201 0 +83 202 0 +83 203 0 +83 204 0 +83 205 0 +83 206 0 +83 207 0 +83 208 0 +83 209 0 +83 210 0 +83 211 0 +83 212 0 +83 213 0 +83 214 0 +83 215 0 +83 216 0 +83 217 0 +83 218 0 +83 219 0 +83 220 0 +83 221 0 +83 222 0 +83 223 0 +83 224 0 +83 225 0 +83 226 0 +83 227 0 +83 228 0 +83 229 0 +83 230 0 +83 231 0 +83 232 0 +83 233 0 +83 234 0 +83 235 0 +83 236 0 +83 237 0 +83 238 0 +83 239 0 +83 240 0 +83 241 0 +83 242 0 +83 243 0 +83 244 0 +83 245 0 +83 246 0 +83 247 0 +83 248 0 +83 249 0 +83 250 0 +83 251 0 +83 252 0 +83 253 0 +83 254 0 +83 255 0 +83 256 0 +83 257 0 +83 258 0 +83 259 0 +83 260 0 +83 261 0 +83 262 0 +83 263 0 +83 264 0 +83 265 0 +83 266 0 +83 267 0 +83 268 0 +83 269 0 +83 270 0 +83 271 0 +83 272 0 +83 273 0 +83 274 0 +83 275 0 +83 276 0 +83 277 0 +83 278 0 +83 279 0 +83 280 0 +83 281 0 +83 282 0 +83 283 0 +83 284 0 +83 285 0 +83 286 0 +83 287 0 +83 288 0 +83 289 0 +83 290 0 +83 291 0 +83 292 0 +83 293 0 +83 294 0 +83 295 0 +83 296 0 +83 297 0 +83 298 0 +83 299 0 +83 300 0 +83 301 0 +83 302 0 +83 303 0 +83 304 0 +83 305 0 +83 306 0 +83 307 0 +83 308 0 +83 309 0 +83 310 0 +83 311 0 +83 312 0 +83 313 0 +83 314 0 +83 315 0 +83 316 0 +83 317 0 +83 318 0 +83 319 0 +83 320 0 +83 321 0 +83 322 0 +83 323 0 +83 324 0 +83 325 0 +83 326 0 +83 327 0 +83 328 0 +83 329 0 +83 330 0 +83 331 0 +83 332 0 +83 333 0 +83 334 0 +83 335 0 +83 336 0 +83 337 0 +83 338 0 +83 339 0 +83 340 0 +83 341 0 +83 342 0 +83 343 0 +83 344 0 +83 345 0 +83 346 0 +83 347 0 +83 348 0 +83 349 0 +83 350 0 +83 351 0 +83 352 0 +83 353 0 +83 354 0 +83 355 0 +83 356 0 +83 357 0 +83 358 0 +83 359 0 +83 360 0 +83 361 0 +83 362 0 +83 363 0 +83 364 0 +83 365 0 +83 366 0 +83 367 0 +83 368 0 +83 369 0 +83 370 0 +83 371 0 +83 372 0 +83 373 0 +83 374 0 +83 375 0 +83 376 0 +83 377 0 +83 378 0 +83 379 0 +83 380 0 +83 381 0 +83 382 0 +83 383 0 +84 85 4 +84 86 4 +84 87 4 +84 88 4 +84 89 4 +84 90 4 +84 91 4 +84 92 4 +84 93 4 +84 94 4 +84 95 4 +84 96 4 +84 97 4 +84 98 4 +84 99 4 +84 100 4 +84 101 4 +84 102 4 +84 103 4 +84 104 4 +84 105 4 +84 106 4 +84 107 4 +84 108 4 +84 109 4 +84 110 4 +84 111 4 +84 112 4 +84 113 4 +84 114 4 +84 115 4 +84 116 4 +84 117 4 +84 118 4 +84 119 4 +84 120 4 +84 121 4 +84 122 4 +84 123 4 +84 124 4 +84 125 4 +84 126 4 +84 127 4 +84 128 4 +84 129 4 +84 130 4 +84 131 4 +84 132 4 +84 133 4 +84 134 4 +84 135 4 +84 136 4 +84 137 4 +84 138 4 +84 139 4 +84 140 4 +84 141 4 +84 142 4 +84 143 4 +84 144 4 +84 145 4 +84 146 4 +84 147 4 +84 148 4 +84 149 4 +84 150 4 +84 151 4 +84 152 4 +84 153 4 +84 154 4 +84 155 4 +84 156 4 +84 157 4 +84 158 4 +84 159 4 +84 160 4 +84 161 4 +84 162 4 +84 163 4 +84 164 4 +84 165 4 +84 166 4 +84 167 4 +84 168 4 +84 169 4 +84 170 4 +84 171 4 +84 172 4 +84 173 4 +84 174 4 +84 175 4 +84 176 4 +84 177 4 +84 178 4 +84 179 4 +84 180 4 +84 181 4 +84 182 4 +84 183 4 +84 184 4 +84 185 4 +84 186 4 +84 187 4 +84 188 4 +84 189 4 +84 190 4 +84 191 4 +84 192 0 +84 193 0 +84 194 0 +84 195 0 +84 196 0 +84 197 0 +84 198 0 +84 199 0 +84 200 0 +84 201 0 +84 202 0 +84 203 0 +84 204 0 +84 205 0 +84 206 0 +84 207 0 +84 208 0 +84 209 0 +84 210 0 +84 211 0 +84 212 0 +84 213 0 +84 214 0 +84 215 0 +84 216 0 +84 217 0 +84 218 0 +84 219 0 +84 220 0 +84 221 0 +84 222 0 +84 223 0 +84 224 0 +84 225 0 +84 226 0 +84 227 0 +84 228 0 +84 229 0 +84 230 0 +84 231 0 +84 232 0 +84 233 0 +84 234 0 +84 235 0 +84 236 0 +84 237 0 +84 238 0 +84 239 0 +84 240 0 +84 241 0 +84 242 0 +84 243 0 +84 244 0 +84 245 0 +84 246 0 +84 247 0 +84 248 0 +84 249 0 +84 250 0 +84 251 0 +84 252 0 +84 253 0 +84 254 0 +84 255 0 +84 256 0 +84 257 0 +84 258 0 +84 259 0 +84 260 0 +84 261 0 +84 262 0 +84 263 0 +84 264 0 +84 265 0 +84 266 0 +84 267 0 +84 268 0 +84 269 0 +84 270 0 +84 271 0 +84 272 0 +84 273 0 +84 274 0 +84 275 0 +84 276 0 +84 277 0 +84 278 0 +84 279 0 +84 280 0 +84 281 0 +84 282 0 +84 283 0 +84 284 0 +84 285 0 +84 286 0 +84 287 0 +84 288 0 +84 289 0 +84 290 0 +84 291 0 +84 292 0 +84 293 0 +84 294 0 +84 295 0 +84 296 0 +84 297 0 +84 298 0 +84 299 0 +84 300 0 +84 301 0 +84 302 0 +84 303 0 +84 304 0 +84 305 0 +84 306 0 +84 307 0 +84 308 0 +84 309 0 +84 310 0 +84 311 0 +84 312 0 +84 313 0 +84 314 0 +84 315 0 +84 316 0 +84 317 0 +84 318 0 +84 319 0 +84 320 0 +84 321 0 +84 322 0 +84 323 0 +84 324 0 +84 325 0 +84 326 0 +84 327 0 +84 328 0 +84 329 0 +84 330 0 +84 331 0 +84 332 0 +84 333 0 +84 334 0 +84 335 0 +84 336 0 +84 337 0 +84 338 0 +84 339 0 +84 340 0 +84 341 0 +84 342 0 +84 343 0 +84 344 0 +84 345 0 +84 346 0 +84 347 0 +84 348 0 +84 349 0 +84 350 0 +84 351 0 +84 352 0 +84 353 0 +84 354 0 +84 355 0 +84 356 0 +84 357 0 +84 358 0 +84 359 0 +84 360 0 +84 361 0 +84 362 0 +84 363 0 +84 364 0 +84 365 0 +84 366 0 +84 367 0 +84 368 0 +84 369 0 +84 370 0 +84 371 0 +84 372 0 +84 373 0 +84 374 0 +84 375 0 +84 376 0 +84 377 0 +84 378 0 +84 379 0 +84 380 0 +84 381 0 +84 382 0 +84 383 0 +85 86 4 +85 87 4 +85 88 4 +85 89 4 +85 90 4 +85 91 4 +85 92 4 +85 93 4 +85 94 4 +85 95 4 +85 96 4 +85 97 4 +85 98 4 +85 99 4 +85 100 4 +85 101 4 +85 102 4 +85 103 4 +85 104 4 +85 105 4 +85 106 4 +85 107 4 +85 108 4 +85 109 4 +85 110 4 +85 111 4 +85 112 4 +85 113 4 +85 114 4 +85 115 4 +85 116 4 +85 117 4 +85 118 4 +85 119 4 +85 120 4 +85 121 4 +85 122 4 +85 123 4 +85 124 4 +85 125 4 +85 126 4 +85 127 4 +85 128 4 +85 129 4 +85 130 4 +85 131 4 +85 132 4 +85 133 4 +85 134 4 +85 135 4 +85 136 4 +85 137 4 +85 138 4 +85 139 4 +85 140 4 +85 141 4 +85 142 4 +85 143 4 +85 144 4 +85 145 4 +85 146 4 +85 147 4 +85 148 4 +85 149 4 +85 150 4 +85 151 4 +85 152 4 +85 153 4 +85 154 4 +85 155 4 +85 156 4 +85 157 4 +85 158 4 +85 159 4 +85 160 4 +85 161 4 +85 162 4 +85 163 4 +85 164 4 +85 165 4 +85 166 4 +85 167 4 +85 168 4 +85 169 4 +85 170 4 +85 171 4 +85 172 4 +85 173 4 +85 174 4 +85 175 4 +85 176 4 +85 177 4 +85 178 4 +85 179 4 +85 180 4 +85 181 4 +85 182 4 +85 183 4 +85 184 4 +85 185 4 +85 186 4 +85 187 4 +85 188 4 +85 189 4 +85 190 4 +85 191 4 +85 192 0 +85 193 0 +85 194 0 +85 195 0 +85 196 0 +85 197 0 +85 198 0 +85 199 0 +85 200 0 +85 201 0 +85 202 0 +85 203 0 +85 204 0 +85 205 0 +85 206 0 +85 207 0 +85 208 0 +85 209 0 +85 210 0 +85 211 0 +85 212 0 +85 213 0 +85 214 0 +85 215 0 +85 216 0 +85 217 0 +85 218 0 +85 219 0 +85 220 0 +85 221 0 +85 222 0 +85 223 0 +85 224 0 +85 225 0 +85 226 0 +85 227 0 +85 228 0 +85 229 0 +85 230 0 +85 231 0 +85 232 0 +85 233 0 +85 234 0 +85 235 0 +85 236 0 +85 237 0 +85 238 0 +85 239 0 +85 240 0 +85 241 0 +85 242 0 +85 243 0 +85 244 0 +85 245 0 +85 246 0 +85 247 0 +85 248 0 +85 249 0 +85 250 0 +85 251 0 +85 252 0 +85 253 0 +85 254 0 +85 255 0 +85 256 0 +85 257 0 +85 258 0 +85 259 0 +85 260 0 +85 261 0 +85 262 0 +85 263 0 +85 264 0 +85 265 0 +85 266 0 +85 267 0 +85 268 0 +85 269 0 +85 270 0 +85 271 0 +85 272 0 +85 273 0 +85 274 0 +85 275 0 +85 276 0 +85 277 0 +85 278 0 +85 279 0 +85 280 0 +85 281 0 +85 282 0 +85 283 0 +85 284 0 +85 285 0 +85 286 0 +85 287 0 +85 288 0 +85 289 0 +85 290 0 +85 291 0 +85 292 0 +85 293 0 +85 294 0 +85 295 0 +85 296 0 +85 297 0 +85 298 0 +85 299 0 +85 300 0 +85 301 0 +85 302 0 +85 303 0 +85 304 0 +85 305 0 +85 306 0 +85 307 0 +85 308 0 +85 309 0 +85 310 0 +85 311 0 +85 312 0 +85 313 0 +85 314 0 +85 315 0 +85 316 0 +85 317 0 +85 318 0 +85 319 0 +85 320 0 +85 321 0 +85 322 0 +85 323 0 +85 324 0 +85 325 0 +85 326 0 +85 327 0 +85 328 0 +85 329 0 +85 330 0 +85 331 0 +85 332 0 +85 333 0 +85 334 0 +85 335 0 +85 336 0 +85 337 0 +85 338 0 +85 339 0 +85 340 0 +85 341 0 +85 342 0 +85 343 0 +85 344 0 +85 345 0 +85 346 0 +85 347 0 +85 348 0 +85 349 0 +85 350 0 +85 351 0 +85 352 0 +85 353 0 +85 354 0 +85 355 0 +85 356 0 +85 357 0 +85 358 0 +85 359 0 +85 360 0 +85 361 0 +85 362 0 +85 363 0 +85 364 0 +85 365 0 +85 366 0 +85 367 0 +85 368 0 +85 369 0 +85 370 0 +85 371 0 +85 372 0 +85 373 0 +85 374 0 +85 375 0 +85 376 0 +85 377 0 +85 378 0 +85 379 0 +85 380 0 +85 381 0 +85 382 0 +85 383 0 +86 87 4 +86 88 4 +86 89 4 +86 90 4 +86 91 4 +86 92 4 +86 93 4 +86 94 4 +86 95 4 +86 96 4 +86 97 4 +86 98 4 +86 99 4 +86 100 4 +86 101 4 +86 102 4 +86 103 4 +86 104 4 +86 105 4 +86 106 4 +86 107 4 +86 108 4 +86 109 4 +86 110 4 +86 111 4 +86 112 4 +86 113 4 +86 114 4 +86 115 4 +86 116 4 +86 117 4 +86 118 4 +86 119 4 +86 120 4 +86 121 4 +86 122 4 +86 123 4 +86 124 4 +86 125 4 +86 126 4 +86 127 4 +86 128 4 +86 129 4 +86 130 4 +86 131 4 +86 132 4 +86 133 4 +86 134 4 +86 135 4 +86 136 4 +86 137 4 +86 138 4 +86 139 4 +86 140 4 +86 141 4 +86 142 4 +86 143 4 +86 144 4 +86 145 4 +86 146 4 +86 147 4 +86 148 4 +86 149 4 +86 150 4 +86 151 4 +86 152 4 +86 153 4 +86 154 4 +86 155 4 +86 156 4 +86 157 4 +86 158 4 +86 159 4 +86 160 4 +86 161 4 +86 162 4 +86 163 4 +86 164 4 +86 165 4 +86 166 4 +86 167 4 +86 168 4 +86 169 4 +86 170 4 +86 171 4 +86 172 4 +86 173 4 +86 174 4 +86 175 4 +86 176 4 +86 177 4 +86 178 4 +86 179 4 +86 180 4 +86 181 4 +86 182 4 +86 183 4 +86 184 4 +86 185 4 +86 186 4 +86 187 4 +86 188 4 +86 189 4 +86 190 4 +86 191 4 +86 192 0 +86 193 0 +86 194 0 +86 195 0 +86 196 0 +86 197 0 +86 198 0 +86 199 0 +86 200 0 +86 201 0 +86 202 0 +86 203 0 +86 204 0 +86 205 0 +86 206 0 +86 207 0 +86 208 0 +86 209 0 +86 210 0 +86 211 0 +86 212 0 +86 213 0 +86 214 0 +86 215 0 +86 216 0 +86 217 0 +86 218 0 +86 219 0 +86 220 0 +86 221 0 +86 222 0 +86 223 0 +86 224 0 +86 225 0 +86 226 0 +86 227 0 +86 228 0 +86 229 0 +86 230 0 +86 231 0 +86 232 0 +86 233 0 +86 234 0 +86 235 0 +86 236 0 +86 237 0 +86 238 0 +86 239 0 +86 240 0 +86 241 0 +86 242 0 +86 243 0 +86 244 0 +86 245 0 +86 246 0 +86 247 0 +86 248 0 +86 249 0 +86 250 0 +86 251 0 +86 252 0 +86 253 0 +86 254 0 +86 255 0 +86 256 0 +86 257 0 +86 258 0 +86 259 0 +86 260 0 +86 261 0 +86 262 0 +86 263 0 +86 264 0 +86 265 0 +86 266 0 +86 267 0 +86 268 0 +86 269 0 +86 270 0 +86 271 0 +86 272 0 +86 273 0 +86 274 0 +86 275 0 +86 276 0 +86 277 0 +86 278 0 +86 279 0 +86 280 0 +86 281 0 +86 282 0 +86 283 0 +86 284 0 +86 285 0 +86 286 0 +86 287 0 +86 288 0 +86 289 0 +86 290 0 +86 291 0 +86 292 0 +86 293 0 +86 294 0 +86 295 0 +86 296 0 +86 297 0 +86 298 0 +86 299 0 +86 300 0 +86 301 0 +86 302 0 +86 303 0 +86 304 0 +86 305 0 +86 306 0 +86 307 0 +86 308 0 +86 309 0 +86 310 0 +86 311 0 +86 312 0 +86 313 0 +86 314 0 +86 315 0 +86 316 0 +86 317 0 +86 318 0 +86 319 0 +86 320 0 +86 321 0 +86 322 0 +86 323 0 +86 324 0 +86 325 0 +86 326 0 +86 327 0 +86 328 0 +86 329 0 +86 330 0 +86 331 0 +86 332 0 +86 333 0 +86 334 0 +86 335 0 +86 336 0 +86 337 0 +86 338 0 +86 339 0 +86 340 0 +86 341 0 +86 342 0 +86 343 0 +86 344 0 +86 345 0 +86 346 0 +86 347 0 +86 348 0 +86 349 0 +86 350 0 +86 351 0 +86 352 0 +86 353 0 +86 354 0 +86 355 0 +86 356 0 +86 357 0 +86 358 0 +86 359 0 +86 360 0 +86 361 0 +86 362 0 +86 363 0 +86 364 0 +86 365 0 +86 366 0 +86 367 0 +86 368 0 +86 369 0 +86 370 0 +86 371 0 +86 372 0 +86 373 0 +86 374 0 +86 375 0 +86 376 0 +86 377 0 +86 378 0 +86 379 0 +86 380 0 +86 381 0 +86 382 0 +86 383 0 +87 88 4 +87 89 4 +87 90 4 +87 91 4 +87 92 4 +87 93 4 +87 94 4 +87 95 4 +87 96 4 +87 97 4 +87 98 4 +87 99 4 +87 100 4 +87 101 4 +87 102 4 +87 103 4 +87 104 4 +87 105 4 +87 106 4 +87 107 4 +87 108 4 +87 109 4 +87 110 4 +87 111 4 +87 112 4 +87 113 4 +87 114 4 +87 115 4 +87 116 4 +87 117 4 +87 118 4 +87 119 4 +87 120 4 +87 121 4 +87 122 4 +87 123 4 +87 124 4 +87 125 4 +87 126 4 +87 127 4 +87 128 4 +87 129 4 +87 130 4 +87 131 4 +87 132 4 +87 133 4 +87 134 4 +87 135 4 +87 136 4 +87 137 4 +87 138 4 +87 139 4 +87 140 4 +87 141 4 +87 142 4 +87 143 4 +87 144 4 +87 145 4 +87 146 4 +87 147 4 +87 148 4 +87 149 4 +87 150 4 +87 151 4 +87 152 4 +87 153 4 +87 154 4 +87 155 4 +87 156 4 +87 157 4 +87 158 4 +87 159 4 +87 160 4 +87 161 4 +87 162 4 +87 163 4 +87 164 4 +87 165 4 +87 166 4 +87 167 4 +87 168 4 +87 169 4 +87 170 4 +87 171 4 +87 172 4 +87 173 4 +87 174 4 +87 175 4 +87 176 4 +87 177 4 +87 178 4 +87 179 4 +87 180 4 +87 181 4 +87 182 4 +87 183 4 +87 184 4 +87 185 4 +87 186 4 +87 187 4 +87 188 4 +87 189 4 +87 190 4 +87 191 4 +87 192 0 +87 193 0 +87 194 0 +87 195 0 +87 196 0 +87 197 0 +87 198 0 +87 199 0 +87 200 0 +87 201 0 +87 202 0 +87 203 0 +87 204 0 +87 205 0 +87 206 0 +87 207 0 +87 208 0 +87 209 0 +87 210 0 +87 211 0 +87 212 0 +87 213 0 +87 214 0 +87 215 0 +87 216 0 +87 217 0 +87 218 0 +87 219 0 +87 220 0 +87 221 0 +87 222 0 +87 223 0 +87 224 0 +87 225 0 +87 226 0 +87 227 0 +87 228 0 +87 229 0 +87 230 0 +87 231 0 +87 232 0 +87 233 0 +87 234 0 +87 235 0 +87 236 0 +87 237 0 +87 238 0 +87 239 0 +87 240 0 +87 241 0 +87 242 0 +87 243 0 +87 244 0 +87 245 0 +87 246 0 +87 247 0 +87 248 0 +87 249 0 +87 250 0 +87 251 0 +87 252 0 +87 253 0 +87 254 0 +87 255 0 +87 256 0 +87 257 0 +87 258 0 +87 259 0 +87 260 0 +87 261 0 +87 262 0 +87 263 0 +87 264 0 +87 265 0 +87 266 0 +87 267 0 +87 268 0 +87 269 0 +87 270 0 +87 271 0 +87 272 0 +87 273 0 +87 274 0 +87 275 0 +87 276 0 +87 277 0 +87 278 0 +87 279 0 +87 280 0 +87 281 0 +87 282 0 +87 283 0 +87 284 0 +87 285 0 +87 286 0 +87 287 0 +87 288 0 +87 289 0 +87 290 0 +87 291 0 +87 292 0 +87 293 0 +87 294 0 +87 295 0 +87 296 0 +87 297 0 +87 298 0 +87 299 0 +87 300 0 +87 301 0 +87 302 0 +87 303 0 +87 304 0 +87 305 0 +87 306 0 +87 307 0 +87 308 0 +87 309 0 +87 310 0 +87 311 0 +87 312 0 +87 313 0 +87 314 0 +87 315 0 +87 316 0 +87 317 0 +87 318 0 +87 319 0 +87 320 0 +87 321 0 +87 322 0 +87 323 0 +87 324 0 +87 325 0 +87 326 0 +87 327 0 +87 328 0 +87 329 0 +87 330 0 +87 331 0 +87 332 0 +87 333 0 +87 334 0 +87 335 0 +87 336 0 +87 337 0 +87 338 0 +87 339 0 +87 340 0 +87 341 0 +87 342 0 +87 343 0 +87 344 0 +87 345 0 +87 346 0 +87 347 0 +87 348 0 +87 349 0 +87 350 0 +87 351 0 +87 352 0 +87 353 0 +87 354 0 +87 355 0 +87 356 0 +87 357 0 +87 358 0 +87 359 0 +87 360 0 +87 361 0 +87 362 0 +87 363 0 +87 364 0 +87 365 0 +87 366 0 +87 367 0 +87 368 0 +87 369 0 +87 370 0 +87 371 0 +87 372 0 +87 373 0 +87 374 0 +87 375 0 +87 376 0 +87 377 0 +87 378 0 +87 379 0 +87 380 0 +87 381 0 +87 382 0 +87 383 0 +88 89 4 +88 90 4 +88 91 4 +88 92 4 +88 93 4 +88 94 4 +88 95 4 +88 96 4 +88 97 4 +88 98 4 +88 99 4 +88 100 4 +88 101 4 +88 102 4 +88 103 4 +88 104 4 +88 105 4 +88 106 4 +88 107 4 +88 108 4 +88 109 4 +88 110 4 +88 111 4 +88 112 4 +88 113 4 +88 114 4 +88 115 4 +88 116 4 +88 117 4 +88 118 4 +88 119 4 +88 120 4 +88 121 4 +88 122 4 +88 123 4 +88 124 4 +88 125 4 +88 126 4 +88 127 4 +88 128 4 +88 129 4 +88 130 4 +88 131 4 +88 132 4 +88 133 4 +88 134 4 +88 135 4 +88 136 4 +88 137 4 +88 138 4 +88 139 4 +88 140 4 +88 141 4 +88 142 4 +88 143 4 +88 144 4 +88 145 4 +88 146 4 +88 147 4 +88 148 4 +88 149 4 +88 150 4 +88 151 4 +88 152 4 +88 153 4 +88 154 4 +88 155 4 +88 156 4 +88 157 4 +88 158 4 +88 159 4 +88 160 4 +88 161 4 +88 162 4 +88 163 4 +88 164 4 +88 165 4 +88 166 4 +88 167 4 +88 168 4 +88 169 4 +88 170 4 +88 171 4 +88 172 4 +88 173 4 +88 174 4 +88 175 4 +88 176 4 +88 177 4 +88 178 4 +88 179 4 +88 180 4 +88 181 4 +88 182 4 +88 183 4 +88 184 4 +88 185 4 +88 186 4 +88 187 4 +88 188 4 +88 189 4 +88 190 4 +88 191 4 +88 192 0 +88 193 0 +88 194 0 +88 195 0 +88 196 0 +88 197 0 +88 198 0 +88 199 0 +88 200 0 +88 201 0 +88 202 0 +88 203 0 +88 204 0 +88 205 0 +88 206 0 +88 207 0 +88 208 0 +88 209 0 +88 210 0 +88 211 0 +88 212 0 +88 213 0 +88 214 0 +88 215 0 +88 216 0 +88 217 0 +88 218 0 +88 219 0 +88 220 0 +88 221 0 +88 222 0 +88 223 0 +88 224 0 +88 225 0 +88 226 0 +88 227 0 +88 228 0 +88 229 0 +88 230 0 +88 231 0 +88 232 0 +88 233 0 +88 234 0 +88 235 0 +88 236 0 +88 237 0 +88 238 0 +88 239 0 +88 240 0 +88 241 0 +88 242 0 +88 243 0 +88 244 0 +88 245 0 +88 246 0 +88 247 0 +88 248 0 +88 249 0 +88 250 0 +88 251 0 +88 252 0 +88 253 0 +88 254 0 +88 255 0 +88 256 0 +88 257 0 +88 258 0 +88 259 0 +88 260 0 +88 261 0 +88 262 0 +88 263 0 +88 264 0 +88 265 0 +88 266 0 +88 267 0 +88 268 0 +88 269 0 +88 270 0 +88 271 0 +88 272 0 +88 273 0 +88 274 0 +88 275 0 +88 276 0 +88 277 0 +88 278 0 +88 279 0 +88 280 0 +88 281 0 +88 282 0 +88 283 0 +88 284 0 +88 285 0 +88 286 0 +88 287 0 +88 288 0 +88 289 0 +88 290 0 +88 291 0 +88 292 0 +88 293 0 +88 294 0 +88 295 0 +88 296 0 +88 297 0 +88 298 0 +88 299 0 +88 300 0 +88 301 0 +88 302 0 +88 303 0 +88 304 0 +88 305 0 +88 306 0 +88 307 0 +88 308 0 +88 309 0 +88 310 0 +88 311 0 +88 312 0 +88 313 0 +88 314 0 +88 315 0 +88 316 0 +88 317 0 +88 318 0 +88 319 0 +88 320 0 +88 321 0 +88 322 0 +88 323 0 +88 324 0 +88 325 0 +88 326 0 +88 327 0 +88 328 0 +88 329 0 +88 330 0 +88 331 0 +88 332 0 +88 333 0 +88 334 0 +88 335 0 +88 336 0 +88 337 0 +88 338 0 +88 339 0 +88 340 0 +88 341 0 +88 342 0 +88 343 0 +88 344 0 +88 345 0 +88 346 0 +88 347 0 +88 348 0 +88 349 0 +88 350 0 +88 351 0 +88 352 0 +88 353 0 +88 354 0 +88 355 0 +88 356 0 +88 357 0 +88 358 0 +88 359 0 +88 360 0 +88 361 0 +88 362 0 +88 363 0 +88 364 0 +88 365 0 +88 366 0 +88 367 0 +88 368 0 +88 369 0 +88 370 0 +88 371 0 +88 372 0 +88 373 0 +88 374 0 +88 375 0 +88 376 0 +88 377 0 +88 378 0 +88 379 0 +88 380 0 +88 381 0 +88 382 0 +88 383 0 +89 90 4 +89 91 4 +89 92 4 +89 93 4 +89 94 4 +89 95 4 +89 96 4 +89 97 4 +89 98 4 +89 99 4 +89 100 4 +89 101 4 +89 102 4 +89 103 4 +89 104 4 +89 105 4 +89 106 4 +89 107 4 +89 108 4 +89 109 4 +89 110 4 +89 111 4 +89 112 4 +89 113 4 +89 114 4 +89 115 4 +89 116 4 +89 117 4 +89 118 4 +89 119 4 +89 120 4 +89 121 4 +89 122 4 +89 123 4 +89 124 4 +89 125 4 +89 126 4 +89 127 4 +89 128 4 +89 129 4 +89 130 4 +89 131 4 +89 132 4 +89 133 4 +89 134 4 +89 135 4 +89 136 4 +89 137 4 +89 138 4 +89 139 4 +89 140 4 +89 141 4 +89 142 4 +89 143 4 +89 144 4 +89 145 4 +89 146 4 +89 147 4 +89 148 4 +89 149 4 +89 150 4 +89 151 4 +89 152 4 +89 153 4 +89 154 4 +89 155 4 +89 156 4 +89 157 4 +89 158 4 +89 159 4 +89 160 4 +89 161 4 +89 162 4 +89 163 4 +89 164 4 +89 165 4 +89 166 4 +89 167 4 +89 168 4 +89 169 4 +89 170 4 +89 171 4 +89 172 4 +89 173 4 +89 174 4 +89 175 4 +89 176 4 +89 177 4 +89 178 4 +89 179 4 +89 180 4 +89 181 4 +89 182 4 +89 183 4 +89 184 4 +89 185 4 +89 186 4 +89 187 4 +89 188 4 +89 189 4 +89 190 4 +89 191 4 +89 192 0 +89 193 0 +89 194 0 +89 195 0 +89 196 0 +89 197 0 +89 198 0 +89 199 0 +89 200 0 +89 201 0 +89 202 0 +89 203 0 +89 204 0 +89 205 0 +89 206 0 +89 207 0 +89 208 0 +89 209 0 +89 210 0 +89 211 0 +89 212 0 +89 213 0 +89 214 0 +89 215 0 +89 216 0 +89 217 0 +89 218 0 +89 219 0 +89 220 0 +89 221 0 +89 222 0 +89 223 0 +89 224 0 +89 225 0 +89 226 0 +89 227 0 +89 228 0 +89 229 0 +89 230 0 +89 231 0 +89 232 0 +89 233 0 +89 234 0 +89 235 0 +89 236 0 +89 237 0 +89 238 0 +89 239 0 +89 240 0 +89 241 0 +89 242 0 +89 243 0 +89 244 0 +89 245 0 +89 246 0 +89 247 0 +89 248 0 +89 249 0 +89 250 0 +89 251 0 +89 252 0 +89 253 0 +89 254 0 +89 255 0 +89 256 0 +89 257 0 +89 258 0 +89 259 0 +89 260 0 +89 261 0 +89 262 0 +89 263 0 +89 264 0 +89 265 0 +89 266 0 +89 267 0 +89 268 0 +89 269 0 +89 270 0 +89 271 0 +89 272 0 +89 273 0 +89 274 0 +89 275 0 +89 276 0 +89 277 0 +89 278 0 +89 279 0 +89 280 0 +89 281 0 +89 282 0 +89 283 0 +89 284 0 +89 285 0 +89 286 0 +89 287 0 +89 288 0 +89 289 0 +89 290 0 +89 291 0 +89 292 0 +89 293 0 +89 294 0 +89 295 0 +89 296 0 +89 297 0 +89 298 0 +89 299 0 +89 300 0 +89 301 0 +89 302 0 +89 303 0 +89 304 0 +89 305 0 +89 306 0 +89 307 0 +89 308 0 +89 309 0 +89 310 0 +89 311 0 +89 312 0 +89 313 0 +89 314 0 +89 315 0 +89 316 0 +89 317 0 +89 318 0 +89 319 0 +89 320 0 +89 321 0 +89 322 0 +89 323 0 +89 324 0 +89 325 0 +89 326 0 +89 327 0 +89 328 0 +89 329 0 +89 330 0 +89 331 0 +89 332 0 +89 333 0 +89 334 0 +89 335 0 +89 336 0 +89 337 0 +89 338 0 +89 339 0 +89 340 0 +89 341 0 +89 342 0 +89 343 0 +89 344 0 +89 345 0 +89 346 0 +89 347 0 +89 348 0 +89 349 0 +89 350 0 +89 351 0 +89 352 0 +89 353 0 +89 354 0 +89 355 0 +89 356 0 +89 357 0 +89 358 0 +89 359 0 +89 360 0 +89 361 0 +89 362 0 +89 363 0 +89 364 0 +89 365 0 +89 366 0 +89 367 0 +89 368 0 +89 369 0 +89 370 0 +89 371 0 +89 372 0 +89 373 0 +89 374 0 +89 375 0 +89 376 0 +89 377 0 +89 378 0 +89 379 0 +89 380 0 +89 381 0 +89 382 0 +89 383 0 +90 91 4 +90 92 4 +90 93 4 +90 94 4 +90 95 4 +90 96 4 +90 97 4 +90 98 4 +90 99 4 +90 100 4 +90 101 4 +90 102 4 +90 103 4 +90 104 4 +90 105 4 +90 106 4 +90 107 4 +90 108 4 +90 109 4 +90 110 4 +90 111 4 +90 112 4 +90 113 4 +90 114 4 +90 115 4 +90 116 4 +90 117 4 +90 118 4 +90 119 4 +90 120 4 +90 121 4 +90 122 4 +90 123 4 +90 124 4 +90 125 4 +90 126 4 +90 127 4 +90 128 4 +90 129 4 +90 130 4 +90 131 4 +90 132 4 +90 133 4 +90 134 4 +90 135 4 +90 136 4 +90 137 4 +90 138 4 +90 139 4 +90 140 4 +90 141 4 +90 142 4 +90 143 4 +90 144 4 +90 145 4 +90 146 4 +90 147 4 +90 148 4 +90 149 4 +90 150 4 +90 151 4 +90 152 4 +90 153 4 +90 154 4 +90 155 4 +90 156 4 +90 157 4 +90 158 4 +90 159 4 +90 160 4 +90 161 4 +90 162 4 +90 163 4 +90 164 4 +90 165 4 +90 166 4 +90 167 4 +90 168 4 +90 169 4 +90 170 4 +90 171 4 +90 172 4 +90 173 4 +90 174 4 +90 175 4 +90 176 4 +90 177 4 +90 178 4 +90 179 4 +90 180 4 +90 181 4 +90 182 4 +90 183 4 +90 184 4 +90 185 4 +90 186 4 +90 187 4 +90 188 4 +90 189 4 +90 190 4 +90 191 4 +90 192 0 +90 193 0 +90 194 0 +90 195 0 +90 196 0 +90 197 0 +90 198 0 +90 199 0 +90 200 0 +90 201 0 +90 202 0 +90 203 0 +90 204 0 +90 205 0 +90 206 0 +90 207 0 +90 208 0 +90 209 0 +90 210 0 +90 211 0 +90 212 0 +90 213 0 +90 214 0 +90 215 0 +90 216 0 +90 217 0 +90 218 0 +90 219 0 +90 220 0 +90 221 0 +90 222 0 +90 223 0 +90 224 0 +90 225 0 +90 226 0 +90 227 0 +90 228 0 +90 229 0 +90 230 0 +90 231 0 +90 232 0 +90 233 0 +90 234 0 +90 235 0 +90 236 0 +90 237 0 +90 238 0 +90 239 0 +90 240 0 +90 241 0 +90 242 0 +90 243 0 +90 244 0 +90 245 0 +90 246 0 +90 247 0 +90 248 0 +90 249 0 +90 250 0 +90 251 0 +90 252 0 +90 253 0 +90 254 0 +90 255 0 +90 256 0 +90 257 0 +90 258 0 +90 259 0 +90 260 0 +90 261 0 +90 262 0 +90 263 0 +90 264 0 +90 265 0 +90 266 0 +90 267 0 +90 268 0 +90 269 0 +90 270 0 +90 271 0 +90 272 0 +90 273 0 +90 274 0 +90 275 0 +90 276 0 +90 277 0 +90 278 0 +90 279 0 +90 280 0 +90 281 0 +90 282 0 +90 283 0 +90 284 0 +90 285 0 +90 286 0 +90 287 0 +90 288 0 +90 289 0 +90 290 0 +90 291 0 +90 292 0 +90 293 0 +90 294 0 +90 295 0 +90 296 0 +90 297 0 +90 298 0 +90 299 0 +90 300 0 +90 301 0 +90 302 0 +90 303 0 +90 304 0 +90 305 0 +90 306 0 +90 307 0 +90 308 0 +90 309 0 +90 310 0 +90 311 0 +90 312 0 +90 313 0 +90 314 0 +90 315 0 +90 316 0 +90 317 0 +90 318 0 +90 319 0 +90 320 0 +90 321 0 +90 322 0 +90 323 0 +90 324 0 +90 325 0 +90 326 0 +90 327 0 +90 328 0 +90 329 0 +90 330 0 +90 331 0 +90 332 0 +90 333 0 +90 334 0 +90 335 0 +90 336 0 +90 337 0 +90 338 0 +90 339 0 +90 340 0 +90 341 0 +90 342 0 +90 343 0 +90 344 0 +90 345 0 +90 346 0 +90 347 0 +90 348 0 +90 349 0 +90 350 0 +90 351 0 +90 352 0 +90 353 0 +90 354 0 +90 355 0 +90 356 0 +90 357 0 +90 358 0 +90 359 0 +90 360 0 +90 361 0 +90 362 0 +90 363 0 +90 364 0 +90 365 0 +90 366 0 +90 367 0 +90 368 0 +90 369 0 +90 370 0 +90 371 0 +90 372 0 +90 373 0 +90 374 0 +90 375 0 +90 376 0 +90 377 0 +90 378 0 +90 379 0 +90 380 0 +90 381 0 +90 382 0 +90 383 0 +91 92 4 +91 93 4 +91 94 4 +91 95 4 +91 96 4 +91 97 4 +91 98 4 +91 99 4 +91 100 4 +91 101 4 +91 102 4 +91 103 4 +91 104 4 +91 105 4 +91 106 4 +91 107 4 +91 108 4 +91 109 4 +91 110 4 +91 111 4 +91 112 4 +91 113 4 +91 114 4 +91 115 4 +91 116 4 +91 117 4 +91 118 4 +91 119 4 +91 120 4 +91 121 4 +91 122 4 +91 123 4 +91 124 4 +91 125 4 +91 126 4 +91 127 4 +91 128 4 +91 129 4 +91 130 4 +91 131 4 +91 132 4 +91 133 4 +91 134 4 +91 135 4 +91 136 4 +91 137 4 +91 138 4 +91 139 4 +91 140 4 +91 141 4 +91 142 4 +91 143 4 +91 144 4 +91 145 4 +91 146 4 +91 147 4 +91 148 4 +91 149 4 +91 150 4 +91 151 4 +91 152 4 +91 153 4 +91 154 4 +91 155 4 +91 156 4 +91 157 4 +91 158 4 +91 159 4 +91 160 4 +91 161 4 +91 162 4 +91 163 4 +91 164 4 +91 165 4 +91 166 4 +91 167 4 +91 168 4 +91 169 4 +91 170 4 +91 171 4 +91 172 4 +91 173 4 +91 174 4 +91 175 4 +91 176 4 +91 177 4 +91 178 4 +91 179 4 +91 180 4 +91 181 4 +91 182 4 +91 183 4 +91 184 4 +91 185 4 +91 186 4 +91 187 4 +91 188 4 +91 189 4 +91 190 4 +91 191 4 +91 192 0 +91 193 0 +91 194 0 +91 195 0 +91 196 0 +91 197 0 +91 198 0 +91 199 0 +91 200 0 +91 201 0 +91 202 0 +91 203 0 +91 204 0 +91 205 0 +91 206 0 +91 207 0 +91 208 0 +91 209 0 +91 210 0 +91 211 0 +91 212 0 +91 213 0 +91 214 0 +91 215 0 +91 216 0 +91 217 0 +91 218 0 +91 219 0 +91 220 0 +91 221 0 +91 222 0 +91 223 0 +91 224 0 +91 225 0 +91 226 0 +91 227 0 +91 228 0 +91 229 0 +91 230 0 +91 231 0 +91 232 0 +91 233 0 +91 234 0 +91 235 0 +91 236 0 +91 237 0 +91 238 0 +91 239 0 +91 240 0 +91 241 0 +91 242 0 +91 243 0 +91 244 0 +91 245 0 +91 246 0 +91 247 0 +91 248 0 +91 249 0 +91 250 0 +91 251 0 +91 252 0 +91 253 0 +91 254 0 +91 255 0 +91 256 0 +91 257 0 +91 258 0 +91 259 0 +91 260 0 +91 261 0 +91 262 0 +91 263 0 +91 264 0 +91 265 0 +91 266 0 +91 267 0 +91 268 0 +91 269 0 +91 270 0 +91 271 0 +91 272 0 +91 273 0 +91 274 0 +91 275 0 +91 276 0 +91 277 0 +91 278 0 +91 279 0 +91 280 0 +91 281 0 +91 282 0 +91 283 0 +91 284 0 +91 285 0 +91 286 0 +91 287 0 +91 288 0 +91 289 0 +91 290 0 +91 291 0 +91 292 0 +91 293 0 +91 294 0 +91 295 0 +91 296 0 +91 297 0 +91 298 0 +91 299 0 +91 300 0 +91 301 0 +91 302 0 +91 303 0 +91 304 0 +91 305 0 +91 306 0 +91 307 0 +91 308 0 +91 309 0 +91 310 0 +91 311 0 +91 312 0 +91 313 0 +91 314 0 +91 315 0 +91 316 0 +91 317 0 +91 318 0 +91 319 0 +91 320 0 +91 321 0 +91 322 0 +91 323 0 +91 324 0 +91 325 0 +91 326 0 +91 327 0 +91 328 0 +91 329 0 +91 330 0 +91 331 0 +91 332 0 +91 333 0 +91 334 0 +91 335 0 +91 336 0 +91 337 0 +91 338 0 +91 339 0 +91 340 0 +91 341 0 +91 342 0 +91 343 0 +91 344 0 +91 345 0 +91 346 0 +91 347 0 +91 348 0 +91 349 0 +91 350 0 +91 351 0 +91 352 0 +91 353 0 +91 354 0 +91 355 0 +91 356 0 +91 357 0 +91 358 0 +91 359 0 +91 360 0 +91 361 0 +91 362 0 +91 363 0 +91 364 0 +91 365 0 +91 366 0 +91 367 0 +91 368 0 +91 369 0 +91 370 0 +91 371 0 +91 372 0 +91 373 0 +91 374 0 +91 375 0 +91 376 0 +91 377 0 +91 378 0 +91 379 0 +91 380 0 +91 381 0 +91 382 0 +91 383 0 +92 93 4 +92 94 4 +92 95 4 +92 96 4 +92 97 4 +92 98 4 +92 99 4 +92 100 4 +92 101 4 +92 102 4 +92 103 4 +92 104 4 +92 105 4 +92 106 4 +92 107 4 +92 108 4 +92 109 4 +92 110 4 +92 111 4 +92 112 4 +92 113 4 +92 114 4 +92 115 4 +92 116 4 +92 117 4 +92 118 4 +92 119 4 +92 120 4 +92 121 4 +92 122 4 +92 123 4 +92 124 4 +92 125 4 +92 126 4 +92 127 4 +92 128 4 +92 129 4 +92 130 4 +92 131 4 +92 132 4 +92 133 4 +92 134 4 +92 135 4 +92 136 4 +92 137 4 +92 138 4 +92 139 4 +92 140 4 +92 141 4 +92 142 4 +92 143 4 +92 144 4 +92 145 4 +92 146 4 +92 147 4 +92 148 4 +92 149 4 +92 150 4 +92 151 4 +92 152 4 +92 153 4 +92 154 4 +92 155 4 +92 156 4 +92 157 4 +92 158 4 +92 159 4 +92 160 4 +92 161 4 +92 162 4 +92 163 4 +92 164 4 +92 165 4 +92 166 4 +92 167 4 +92 168 4 +92 169 4 +92 170 4 +92 171 4 +92 172 4 +92 173 4 +92 174 4 +92 175 4 +92 176 4 +92 177 4 +92 178 4 +92 179 4 +92 180 4 +92 181 4 +92 182 4 +92 183 4 +92 184 4 +92 185 4 +92 186 4 +92 187 4 +92 188 4 +92 189 4 +92 190 4 +92 191 4 +92 192 0 +92 193 0 +92 194 0 +92 195 0 +92 196 0 +92 197 0 +92 198 0 +92 199 0 +92 200 0 +92 201 0 +92 202 0 +92 203 0 +92 204 0 +92 205 0 +92 206 0 +92 207 0 +92 208 0 +92 209 0 +92 210 0 +92 211 0 +92 212 0 +92 213 0 +92 214 0 +92 215 0 +92 216 0 +92 217 0 +92 218 0 +92 219 0 +92 220 0 +92 221 0 +92 222 0 +92 223 0 +92 224 0 +92 225 0 +92 226 0 +92 227 0 +92 228 0 +92 229 0 +92 230 0 +92 231 0 +92 232 0 +92 233 0 +92 234 0 +92 235 0 +92 236 0 +92 237 0 +92 238 0 +92 239 0 +92 240 0 +92 241 0 +92 242 0 +92 243 0 +92 244 0 +92 245 0 +92 246 0 +92 247 0 +92 248 0 +92 249 0 +92 250 0 +92 251 0 +92 252 0 +92 253 0 +92 254 0 +92 255 0 +92 256 0 +92 257 0 +92 258 0 +92 259 0 +92 260 0 +92 261 0 +92 262 0 +92 263 0 +92 264 0 +92 265 0 +92 266 0 +92 267 0 +92 268 0 +92 269 0 +92 270 0 +92 271 0 +92 272 0 +92 273 0 +92 274 0 +92 275 0 +92 276 0 +92 277 0 +92 278 0 +92 279 0 +92 280 0 +92 281 0 +92 282 0 +92 283 0 +92 284 0 +92 285 0 +92 286 0 +92 287 0 +92 288 0 +92 289 0 +92 290 0 +92 291 0 +92 292 0 +92 293 0 +92 294 0 +92 295 0 +92 296 0 +92 297 0 +92 298 0 +92 299 0 +92 300 0 +92 301 0 +92 302 0 +92 303 0 +92 304 0 +92 305 0 +92 306 0 +92 307 0 +92 308 0 +92 309 0 +92 310 0 +92 311 0 +92 312 0 +92 313 0 +92 314 0 +92 315 0 +92 316 0 +92 317 0 +92 318 0 +92 319 0 +92 320 0 +92 321 0 +92 322 0 +92 323 0 +92 324 0 +92 325 0 +92 326 0 +92 327 0 +92 328 0 +92 329 0 +92 330 0 +92 331 0 +92 332 0 +92 333 0 +92 334 0 +92 335 0 +92 336 0 +92 337 0 +92 338 0 +92 339 0 +92 340 0 +92 341 0 +92 342 0 +92 343 0 +92 344 0 +92 345 0 +92 346 0 +92 347 0 +92 348 0 +92 349 0 +92 350 0 +92 351 0 +92 352 0 +92 353 0 +92 354 0 +92 355 0 +92 356 0 +92 357 0 +92 358 0 +92 359 0 +92 360 0 +92 361 0 +92 362 0 +92 363 0 +92 364 0 +92 365 0 +92 366 0 +92 367 0 +92 368 0 +92 369 0 +92 370 0 +92 371 0 +92 372 0 +92 373 0 +92 374 0 +92 375 0 +92 376 0 +92 377 0 +92 378 0 +92 379 0 +92 380 0 +92 381 0 +92 382 0 +92 383 0 +93 94 4 +93 95 4 +93 96 4 +93 97 4 +93 98 4 +93 99 4 +93 100 4 +93 101 4 +93 102 4 +93 103 4 +93 104 4 +93 105 4 +93 106 4 +93 107 4 +93 108 4 +93 109 4 +93 110 4 +93 111 4 +93 112 4 +93 113 4 +93 114 4 +93 115 4 +93 116 4 +93 117 4 +93 118 4 +93 119 4 +93 120 4 +93 121 4 +93 122 4 +93 123 4 +93 124 4 +93 125 4 +93 126 4 +93 127 4 +93 128 4 +93 129 4 +93 130 4 +93 131 4 +93 132 4 +93 133 4 +93 134 4 +93 135 4 +93 136 4 +93 137 4 +93 138 4 +93 139 4 +93 140 4 +93 141 4 +93 142 4 +93 143 4 +93 144 4 +93 145 4 +93 146 4 +93 147 4 +93 148 4 +93 149 4 +93 150 4 +93 151 4 +93 152 4 +93 153 4 +93 154 4 +93 155 4 +93 156 4 +93 157 4 +93 158 4 +93 159 4 +93 160 4 +93 161 4 +93 162 4 +93 163 4 +93 164 4 +93 165 4 +93 166 4 +93 167 4 +93 168 4 +93 169 4 +93 170 4 +93 171 4 +93 172 4 +93 173 4 +93 174 4 +93 175 4 +93 176 4 +93 177 4 +93 178 4 +93 179 4 +93 180 4 +93 181 4 +93 182 4 +93 183 4 +93 184 4 +93 185 4 +93 186 4 +93 187 4 +93 188 4 +93 189 4 +93 190 4 +93 191 4 +93 192 0 +93 193 0 +93 194 0 +93 195 0 +93 196 0 +93 197 0 +93 198 0 +93 199 0 +93 200 0 +93 201 0 +93 202 0 +93 203 0 +93 204 0 +93 205 0 +93 206 0 +93 207 0 +93 208 0 +93 209 0 +93 210 0 +93 211 0 +93 212 0 +93 213 0 +93 214 0 +93 215 0 +93 216 0 +93 217 0 +93 218 0 +93 219 0 +93 220 0 +93 221 0 +93 222 0 +93 223 0 +93 224 0 +93 225 0 +93 226 0 +93 227 0 +93 228 0 +93 229 0 +93 230 0 +93 231 0 +93 232 0 +93 233 0 +93 234 0 +93 235 0 +93 236 0 +93 237 0 +93 238 0 +93 239 0 +93 240 0 +93 241 0 +93 242 0 +93 243 0 +93 244 0 +93 245 0 +93 246 0 +93 247 0 +93 248 0 +93 249 0 +93 250 0 +93 251 0 +93 252 0 +93 253 0 +93 254 0 +93 255 0 +93 256 0 +93 257 0 +93 258 0 +93 259 0 +93 260 0 +93 261 0 +93 262 0 +93 263 0 +93 264 0 +93 265 0 +93 266 0 +93 267 0 +93 268 0 +93 269 0 +93 270 0 +93 271 0 +93 272 0 +93 273 0 +93 274 0 +93 275 0 +93 276 0 +93 277 0 +93 278 0 +93 279 0 +93 280 0 +93 281 0 +93 282 0 +93 283 0 +93 284 0 +93 285 0 +93 286 0 +93 287 0 +93 288 0 +93 289 0 +93 290 0 +93 291 0 +93 292 0 +93 293 0 +93 294 0 +93 295 0 +93 296 0 +93 297 0 +93 298 0 +93 299 0 +93 300 0 +93 301 0 +93 302 0 +93 303 0 +93 304 0 +93 305 0 +93 306 0 +93 307 0 +93 308 0 +93 309 0 +93 310 0 +93 311 0 +93 312 0 +93 313 0 +93 314 0 +93 315 0 +93 316 0 +93 317 0 +93 318 0 +93 319 0 +93 320 0 +93 321 0 +93 322 0 +93 323 0 +93 324 0 +93 325 0 +93 326 0 +93 327 0 +93 328 0 +93 329 0 +93 330 0 +93 331 0 +93 332 0 +93 333 0 +93 334 0 +93 335 0 +93 336 0 +93 337 0 +93 338 0 +93 339 0 +93 340 0 +93 341 0 +93 342 0 +93 343 0 +93 344 0 +93 345 0 +93 346 0 +93 347 0 +93 348 0 +93 349 0 +93 350 0 +93 351 0 +93 352 0 +93 353 0 +93 354 0 +93 355 0 +93 356 0 +93 357 0 +93 358 0 +93 359 0 +93 360 0 +93 361 0 +93 362 0 +93 363 0 +93 364 0 +93 365 0 +93 366 0 +93 367 0 +93 368 0 +93 369 0 +93 370 0 +93 371 0 +93 372 0 +93 373 0 +93 374 0 +93 375 0 +93 376 0 +93 377 0 +93 378 0 +93 379 0 +93 380 0 +93 381 0 +93 382 0 +93 383 0 +94 95 4 +94 96 4 +94 97 4 +94 98 4 +94 99 4 +94 100 4 +94 101 4 +94 102 4 +94 103 4 +94 104 4 +94 105 4 +94 106 4 +94 107 4 +94 108 4 +94 109 4 +94 110 4 +94 111 4 +94 112 4 +94 113 4 +94 114 4 +94 115 4 +94 116 4 +94 117 4 +94 118 4 +94 119 4 +94 120 4 +94 121 4 +94 122 4 +94 123 4 +94 124 4 +94 125 4 +94 126 4 +94 127 4 +94 128 4 +94 129 4 +94 130 4 +94 131 4 +94 132 4 +94 133 4 +94 134 4 +94 135 4 +94 136 4 +94 137 4 +94 138 4 +94 139 4 +94 140 4 +94 141 4 +94 142 4 +94 143 4 +94 144 4 +94 145 4 +94 146 4 +94 147 4 +94 148 4 +94 149 4 +94 150 4 +94 151 4 +94 152 4 +94 153 4 +94 154 4 +94 155 4 +94 156 4 +94 157 4 +94 158 4 +94 159 4 +94 160 4 +94 161 4 +94 162 4 +94 163 4 +94 164 4 +94 165 4 +94 166 4 +94 167 4 +94 168 4 +94 169 4 +94 170 4 +94 171 4 +94 172 4 +94 173 4 +94 174 4 +94 175 4 +94 176 4 +94 177 4 +94 178 4 +94 179 4 +94 180 4 +94 181 4 +94 182 4 +94 183 4 +94 184 4 +94 185 4 +94 186 4 +94 187 4 +94 188 4 +94 189 4 +94 190 4 +94 191 4 +94 192 0 +94 193 0 +94 194 0 +94 195 0 +94 196 0 +94 197 0 +94 198 0 +94 199 0 +94 200 0 +94 201 0 +94 202 0 +94 203 0 +94 204 0 +94 205 0 +94 206 0 +94 207 0 +94 208 0 +94 209 0 +94 210 0 +94 211 0 +94 212 0 +94 213 0 +94 214 0 +94 215 0 +94 216 0 +94 217 0 +94 218 0 +94 219 0 +94 220 0 +94 221 0 +94 222 0 +94 223 0 +94 224 0 +94 225 0 +94 226 0 +94 227 0 +94 228 0 +94 229 0 +94 230 0 +94 231 0 +94 232 0 +94 233 0 +94 234 0 +94 235 0 +94 236 0 +94 237 0 +94 238 0 +94 239 0 +94 240 0 +94 241 0 +94 242 0 +94 243 0 +94 244 0 +94 245 0 +94 246 0 +94 247 0 +94 248 0 +94 249 0 +94 250 0 +94 251 0 +94 252 0 +94 253 0 +94 254 0 +94 255 0 +94 256 0 +94 257 0 +94 258 0 +94 259 0 +94 260 0 +94 261 0 +94 262 0 +94 263 0 +94 264 0 +94 265 0 +94 266 0 +94 267 0 +94 268 0 +94 269 0 +94 270 0 +94 271 0 +94 272 0 +94 273 0 +94 274 0 +94 275 0 +94 276 0 +94 277 0 +94 278 0 +94 279 0 +94 280 0 +94 281 0 +94 282 0 +94 283 0 +94 284 0 +94 285 0 +94 286 0 +94 287 0 +94 288 0 +94 289 0 +94 290 0 +94 291 0 +94 292 0 +94 293 0 +94 294 0 +94 295 0 +94 296 0 +94 297 0 +94 298 0 +94 299 0 +94 300 0 +94 301 0 +94 302 0 +94 303 0 +94 304 0 +94 305 0 +94 306 0 +94 307 0 +94 308 0 +94 309 0 +94 310 0 +94 311 0 +94 312 0 +94 313 0 +94 314 0 +94 315 0 +94 316 0 +94 317 0 +94 318 0 +94 319 0 +94 320 0 +94 321 0 +94 322 0 +94 323 0 +94 324 0 +94 325 0 +94 326 0 +94 327 0 +94 328 0 +94 329 0 +94 330 0 +94 331 0 +94 332 0 +94 333 0 +94 334 0 +94 335 0 +94 336 0 +94 337 0 +94 338 0 +94 339 0 +94 340 0 +94 341 0 +94 342 0 +94 343 0 +94 344 0 +94 345 0 +94 346 0 +94 347 0 +94 348 0 +94 349 0 +94 350 0 +94 351 0 +94 352 0 +94 353 0 +94 354 0 +94 355 0 +94 356 0 +94 357 0 +94 358 0 +94 359 0 +94 360 0 +94 361 0 +94 362 0 +94 363 0 +94 364 0 +94 365 0 +94 366 0 +94 367 0 +94 368 0 +94 369 0 +94 370 0 +94 371 0 +94 372 0 +94 373 0 +94 374 0 +94 375 0 +94 376 0 +94 377 0 +94 378 0 +94 379 0 +94 380 0 +94 381 0 +94 382 0 +94 383 0 +95 96 4 +95 97 4 +95 98 4 +95 99 4 +95 100 4 +95 101 4 +95 102 4 +95 103 4 +95 104 4 +95 105 4 +95 106 4 +95 107 4 +95 108 4 +95 109 4 +95 110 4 +95 111 4 +95 112 4 +95 113 4 +95 114 4 +95 115 4 +95 116 4 +95 117 4 +95 118 4 +95 119 4 +95 120 4 +95 121 4 +95 122 4 +95 123 4 +95 124 4 +95 125 4 +95 126 4 +95 127 4 +95 128 4 +95 129 4 +95 130 4 +95 131 4 +95 132 4 +95 133 4 +95 134 4 +95 135 4 +95 136 4 +95 137 4 +95 138 4 +95 139 4 +95 140 4 +95 141 4 +95 142 4 +95 143 4 +95 144 4 +95 145 4 +95 146 4 +95 147 4 +95 148 4 +95 149 4 +95 150 4 +95 151 4 +95 152 4 +95 153 4 +95 154 4 +95 155 4 +95 156 4 +95 157 4 +95 158 4 +95 159 4 +95 160 4 +95 161 4 +95 162 4 +95 163 4 +95 164 4 +95 165 4 +95 166 4 +95 167 4 +95 168 4 +95 169 4 +95 170 4 +95 171 4 +95 172 4 +95 173 4 +95 174 4 +95 175 4 +95 176 4 +95 177 4 +95 178 4 +95 179 4 +95 180 4 +95 181 4 +95 182 4 +95 183 4 +95 184 4 +95 185 4 +95 186 4 +95 187 4 +95 188 4 +95 189 4 +95 190 4 +95 191 4 +95 192 0 +95 193 0 +95 194 0 +95 195 0 +95 196 0 +95 197 0 +95 198 0 +95 199 0 +95 200 0 +95 201 0 +95 202 0 +95 203 0 +95 204 0 +95 205 0 +95 206 0 +95 207 0 +95 208 0 +95 209 0 +95 210 0 +95 211 0 +95 212 0 +95 213 0 +95 214 0 +95 215 0 +95 216 0 +95 217 0 +95 218 0 +95 219 0 +95 220 0 +95 221 0 +95 222 0 +95 223 0 +95 224 0 +95 225 0 +95 226 0 +95 227 0 +95 228 0 +95 229 0 +95 230 0 +95 231 0 +95 232 0 +95 233 0 +95 234 0 +95 235 0 +95 236 0 +95 237 0 +95 238 0 +95 239 0 +95 240 0 +95 241 0 +95 242 0 +95 243 0 +95 244 0 +95 245 0 +95 246 0 +95 247 0 +95 248 0 +95 249 0 +95 250 0 +95 251 0 +95 252 0 +95 253 0 +95 254 0 +95 255 0 +95 256 0 +95 257 0 +95 258 0 +95 259 0 +95 260 0 +95 261 0 +95 262 0 +95 263 0 +95 264 0 +95 265 0 +95 266 0 +95 267 0 +95 268 0 +95 269 0 +95 270 0 +95 271 0 +95 272 0 +95 273 0 +95 274 0 +95 275 0 +95 276 0 +95 277 0 +95 278 0 +95 279 0 +95 280 0 +95 281 0 +95 282 0 +95 283 0 +95 284 0 +95 285 0 +95 286 0 +95 287 0 +95 288 0 +95 289 0 +95 290 0 +95 291 0 +95 292 0 +95 293 0 +95 294 0 +95 295 0 +95 296 0 +95 297 0 +95 298 0 +95 299 0 +95 300 0 +95 301 0 +95 302 0 +95 303 0 +95 304 0 +95 305 0 +95 306 0 +95 307 0 +95 308 0 +95 309 0 +95 310 0 +95 311 0 +95 312 0 +95 313 0 +95 314 0 +95 315 0 +95 316 0 +95 317 0 +95 318 0 +95 319 0 +95 320 0 +95 321 0 +95 322 0 +95 323 0 +95 324 0 +95 325 0 +95 326 0 +95 327 0 +95 328 0 +95 329 0 +95 330 0 +95 331 0 +95 332 0 +95 333 0 +95 334 0 +95 335 0 +95 336 0 +95 337 0 +95 338 0 +95 339 0 +95 340 0 +95 341 0 +95 342 0 +95 343 0 +95 344 0 +95 345 0 +95 346 0 +95 347 0 +95 348 0 +95 349 0 +95 350 0 +95 351 0 +95 352 0 +95 353 0 +95 354 0 +95 355 0 +95 356 0 +95 357 0 +95 358 0 +95 359 0 +95 360 0 +95 361 0 +95 362 0 +95 363 0 +95 364 0 +95 365 0 +95 366 0 +95 367 0 +95 368 0 +95 369 0 +95 370 0 +95 371 0 +95 372 0 +95 373 0 +95 374 0 +95 375 0 +95 376 0 +95 377 0 +95 378 0 +95 379 0 +95 380 0 +95 381 0 +95 382 0 +95 383 0 +96 97 4 +96 98 4 +96 99 4 +96 100 4 +96 101 4 +96 102 4 +96 103 4 +96 104 4 +96 105 4 +96 106 4 +96 107 4 +96 108 4 +96 109 4 +96 110 4 +96 111 4 +96 112 4 +96 113 4 +96 114 4 +96 115 4 +96 116 4 +96 117 4 +96 118 4 +96 119 4 +96 120 4 +96 121 4 +96 122 4 +96 123 4 +96 124 4 +96 125 4 +96 126 4 +96 127 4 +96 128 4 +96 129 4 +96 130 4 +96 131 4 +96 132 4 +96 133 4 +96 134 4 +96 135 4 +96 136 4 +96 137 4 +96 138 4 +96 139 4 +96 140 4 +96 141 4 +96 142 4 +96 143 4 +96 144 4 +96 145 4 +96 146 4 +96 147 4 +96 148 4 +96 149 4 +96 150 4 +96 151 4 +96 152 4 +96 153 4 +96 154 4 +96 155 4 +96 156 4 +96 157 4 +96 158 4 +96 159 4 +96 160 4 +96 161 4 +96 162 4 +96 163 4 +96 164 4 +96 165 4 +96 166 4 +96 167 4 +96 168 4 +96 169 4 +96 170 4 +96 171 4 +96 172 4 +96 173 4 +96 174 4 +96 175 4 +96 176 4 +96 177 4 +96 178 4 +96 179 4 +96 180 4 +96 181 4 +96 182 4 +96 183 4 +96 184 4 +96 185 4 +96 186 4 +96 187 4 +96 188 4 +96 189 4 +96 190 4 +96 191 4 +96 192 0 +96 193 0 +96 194 0 +96 195 0 +96 196 0 +96 197 0 +96 198 0 +96 199 0 +96 200 0 +96 201 0 +96 202 0 +96 203 0 +96 204 0 +96 205 0 +96 206 0 +96 207 0 +96 208 0 +96 209 0 +96 210 0 +96 211 0 +96 212 0 +96 213 0 +96 214 0 +96 215 0 +96 216 0 +96 217 0 +96 218 0 +96 219 0 +96 220 0 +96 221 0 +96 222 0 +96 223 0 +96 224 0 +96 225 0 +96 226 0 +96 227 0 +96 228 0 +96 229 0 +96 230 0 +96 231 0 +96 232 0 +96 233 0 +96 234 0 +96 235 0 +96 236 0 +96 237 0 +96 238 0 +96 239 0 +96 240 0 +96 241 0 +96 242 0 +96 243 0 +96 244 0 +96 245 0 +96 246 0 +96 247 0 +96 248 0 +96 249 0 +96 250 0 +96 251 0 +96 252 0 +96 253 0 +96 254 0 +96 255 0 +96 256 0 +96 257 0 +96 258 0 +96 259 0 +96 260 0 +96 261 0 +96 262 0 +96 263 0 +96 264 0 +96 265 0 +96 266 0 +96 267 0 +96 268 0 +96 269 0 +96 270 0 +96 271 0 +96 272 0 +96 273 0 +96 274 0 +96 275 0 +96 276 0 +96 277 0 +96 278 0 +96 279 0 +96 280 0 +96 281 0 +96 282 0 +96 283 0 +96 284 0 +96 285 0 +96 286 0 +96 287 0 +96 288 0 +96 289 0 +96 290 0 +96 291 0 +96 292 0 +96 293 0 +96 294 0 +96 295 0 +96 296 0 +96 297 0 +96 298 0 +96 299 0 +96 300 0 +96 301 0 +96 302 0 +96 303 0 +96 304 0 +96 305 0 +96 306 0 +96 307 0 +96 308 0 +96 309 0 +96 310 0 +96 311 0 +96 312 0 +96 313 0 +96 314 0 +96 315 0 +96 316 0 +96 317 0 +96 318 0 +96 319 0 +96 320 0 +96 321 0 +96 322 0 +96 323 0 +96 324 0 +96 325 0 +96 326 0 +96 327 0 +96 328 0 +96 329 0 +96 330 0 +96 331 0 +96 332 0 +96 333 0 +96 334 0 +96 335 0 +96 336 0 +96 337 0 +96 338 0 +96 339 0 +96 340 0 +96 341 0 +96 342 0 +96 343 0 +96 344 0 +96 345 0 +96 346 0 +96 347 0 +96 348 0 +96 349 0 +96 350 0 +96 351 0 +96 352 0 +96 353 0 +96 354 0 +96 355 0 +96 356 0 +96 357 0 +96 358 0 +96 359 0 +96 360 0 +96 361 0 +96 362 0 +96 363 0 +96 364 0 +96 365 0 +96 366 0 +96 367 0 +96 368 0 +96 369 0 +96 370 0 +96 371 0 +96 372 0 +96 373 0 +96 374 0 +96 375 0 +96 376 0 +96 377 0 +96 378 0 +96 379 0 +96 380 0 +96 381 0 +96 382 0 +96 383 0 +97 98 4 +97 99 4 +97 100 4 +97 101 4 +97 102 4 +97 103 4 +97 104 4 +97 105 4 +97 106 4 +97 107 4 +97 108 4 +97 109 4 +97 110 4 +97 111 4 +97 112 4 +97 113 4 +97 114 4 +97 115 4 +97 116 4 +97 117 4 +97 118 4 +97 119 4 +97 120 4 +97 121 4 +97 122 4 +97 123 4 +97 124 4 +97 125 4 +97 126 4 +97 127 4 +97 128 4 +97 129 4 +97 130 4 +97 131 4 +97 132 4 +97 133 4 +97 134 4 +97 135 4 +97 136 4 +97 137 4 +97 138 4 +97 139 4 +97 140 4 +97 141 4 +97 142 4 +97 143 4 +97 144 4 +97 145 4 +97 146 4 +97 147 4 +97 148 4 +97 149 4 +97 150 4 +97 151 4 +97 152 4 +97 153 4 +97 154 4 +97 155 4 +97 156 4 +97 157 4 +97 158 4 +97 159 4 +97 160 4 +97 161 4 +97 162 4 +97 163 4 +97 164 4 +97 165 4 +97 166 4 +97 167 4 +97 168 4 +97 169 4 +97 170 4 +97 171 4 +97 172 4 +97 173 4 +97 174 4 +97 175 4 +97 176 4 +97 177 4 +97 178 4 +97 179 4 +97 180 4 +97 181 4 +97 182 4 +97 183 4 +97 184 4 +97 185 4 +97 186 4 +97 187 4 +97 188 4 +97 189 4 +97 190 4 +97 191 4 +97 192 0 +97 193 0 +97 194 0 +97 195 0 +97 196 0 +97 197 0 +97 198 0 +97 199 0 +97 200 0 +97 201 0 +97 202 0 +97 203 0 +97 204 0 +97 205 0 +97 206 0 +97 207 0 +97 208 0 +97 209 0 +97 210 0 +97 211 0 +97 212 0 +97 213 0 +97 214 0 +97 215 0 +97 216 0 +97 217 0 +97 218 0 +97 219 0 +97 220 0 +97 221 0 +97 222 0 +97 223 0 +97 224 0 +97 225 0 +97 226 0 +97 227 0 +97 228 0 +97 229 0 +97 230 0 +97 231 0 +97 232 0 +97 233 0 +97 234 0 +97 235 0 +97 236 0 +97 237 0 +97 238 0 +97 239 0 +97 240 0 +97 241 0 +97 242 0 +97 243 0 +97 244 0 +97 245 0 +97 246 0 +97 247 0 +97 248 0 +97 249 0 +97 250 0 +97 251 0 +97 252 0 +97 253 0 +97 254 0 +97 255 0 +97 256 0 +97 257 0 +97 258 0 +97 259 0 +97 260 0 +97 261 0 +97 262 0 +97 263 0 +97 264 0 +97 265 0 +97 266 0 +97 267 0 +97 268 0 +97 269 0 +97 270 0 +97 271 0 +97 272 0 +97 273 0 +97 274 0 +97 275 0 +97 276 0 +97 277 0 +97 278 0 +97 279 0 +97 280 0 +97 281 0 +97 282 0 +97 283 0 +97 284 0 +97 285 0 +97 286 0 +97 287 0 +97 288 0 +97 289 0 +97 290 0 +97 291 0 +97 292 0 +97 293 0 +97 294 0 +97 295 0 +97 296 0 +97 297 0 +97 298 0 +97 299 0 +97 300 0 +97 301 0 +97 302 0 +97 303 0 +97 304 0 +97 305 0 +97 306 0 +97 307 0 +97 308 0 +97 309 0 +97 310 0 +97 311 0 +97 312 0 +97 313 0 +97 314 0 +97 315 0 +97 316 0 +97 317 0 +97 318 0 +97 319 0 +97 320 0 +97 321 0 +97 322 0 +97 323 0 +97 324 0 +97 325 0 +97 326 0 +97 327 0 +97 328 0 +97 329 0 +97 330 0 +97 331 0 +97 332 0 +97 333 0 +97 334 0 +97 335 0 +97 336 0 +97 337 0 +97 338 0 +97 339 0 +97 340 0 +97 341 0 +97 342 0 +97 343 0 +97 344 0 +97 345 0 +97 346 0 +97 347 0 +97 348 0 +97 349 0 +97 350 0 +97 351 0 +97 352 0 +97 353 0 +97 354 0 +97 355 0 +97 356 0 +97 357 0 +97 358 0 +97 359 0 +97 360 0 +97 361 0 +97 362 0 +97 363 0 +97 364 0 +97 365 0 +97 366 0 +97 367 0 +97 368 0 +97 369 0 +97 370 0 +97 371 0 +97 372 0 +97 373 0 +97 374 0 +97 375 0 +97 376 0 +97 377 0 +97 378 0 +97 379 0 +97 380 0 +97 381 0 +97 382 0 +97 383 0 +98 99 4 +98 100 4 +98 101 4 +98 102 4 +98 103 4 +98 104 4 +98 105 4 +98 106 4 +98 107 4 +98 108 4 +98 109 4 +98 110 4 +98 111 4 +98 112 4 +98 113 4 +98 114 4 +98 115 4 +98 116 4 +98 117 4 +98 118 4 +98 119 4 +98 120 4 +98 121 4 +98 122 4 +98 123 4 +98 124 4 +98 125 4 +98 126 4 +98 127 4 +98 128 4 +98 129 4 +98 130 4 +98 131 4 +98 132 4 +98 133 4 +98 134 4 +98 135 4 +98 136 4 +98 137 4 +98 138 4 +98 139 4 +98 140 4 +98 141 4 +98 142 4 +98 143 4 +98 144 4 +98 145 4 +98 146 4 +98 147 4 +98 148 4 +98 149 4 +98 150 4 +98 151 4 +98 152 4 +98 153 4 +98 154 4 +98 155 4 +98 156 4 +98 157 4 +98 158 4 +98 159 4 +98 160 4 +98 161 4 +98 162 4 +98 163 4 +98 164 4 +98 165 4 +98 166 4 +98 167 4 +98 168 4 +98 169 4 +98 170 4 +98 171 4 +98 172 4 +98 173 4 +98 174 4 +98 175 4 +98 176 4 +98 177 4 +98 178 4 +98 179 4 +98 180 4 +98 181 4 +98 182 4 +98 183 4 +98 184 4 +98 185 4 +98 186 4 +98 187 4 +98 188 4 +98 189 4 +98 190 4 +98 191 4 +98 192 0 +98 193 0 +98 194 0 +98 195 0 +98 196 0 +98 197 0 +98 198 0 +98 199 0 +98 200 0 +98 201 0 +98 202 0 +98 203 0 +98 204 0 +98 205 0 +98 206 0 +98 207 0 +98 208 0 +98 209 0 +98 210 0 +98 211 0 +98 212 0 +98 213 0 +98 214 0 +98 215 0 +98 216 0 +98 217 0 +98 218 0 +98 219 0 +98 220 0 +98 221 0 +98 222 0 +98 223 0 +98 224 0 +98 225 0 +98 226 0 +98 227 0 +98 228 0 +98 229 0 +98 230 0 +98 231 0 +98 232 0 +98 233 0 +98 234 0 +98 235 0 +98 236 0 +98 237 0 +98 238 0 +98 239 0 +98 240 0 +98 241 0 +98 242 0 +98 243 0 +98 244 0 +98 245 0 +98 246 0 +98 247 0 +98 248 0 +98 249 0 +98 250 0 +98 251 0 +98 252 0 +98 253 0 +98 254 0 +98 255 0 +98 256 0 +98 257 0 +98 258 0 +98 259 0 +98 260 0 +98 261 0 +98 262 0 +98 263 0 +98 264 0 +98 265 0 +98 266 0 +98 267 0 +98 268 0 +98 269 0 +98 270 0 +98 271 0 +98 272 0 +98 273 0 +98 274 0 +98 275 0 +98 276 0 +98 277 0 +98 278 0 +98 279 0 +98 280 0 +98 281 0 +98 282 0 +98 283 0 +98 284 0 +98 285 0 +98 286 0 +98 287 0 +98 288 0 +98 289 0 +98 290 0 +98 291 0 +98 292 0 +98 293 0 +98 294 0 +98 295 0 +98 296 0 +98 297 0 +98 298 0 +98 299 0 +98 300 0 +98 301 0 +98 302 0 +98 303 0 +98 304 0 +98 305 0 +98 306 0 +98 307 0 +98 308 0 +98 309 0 +98 310 0 +98 311 0 +98 312 0 +98 313 0 +98 314 0 +98 315 0 +98 316 0 +98 317 0 +98 318 0 +98 319 0 +98 320 0 +98 321 0 +98 322 0 +98 323 0 +98 324 0 +98 325 0 +98 326 0 +98 327 0 +98 328 0 +98 329 0 +98 330 0 +98 331 0 +98 332 0 +98 333 0 +98 334 0 +98 335 0 +98 336 0 +98 337 0 +98 338 0 +98 339 0 +98 340 0 +98 341 0 +98 342 0 +98 343 0 +98 344 0 +98 345 0 +98 346 0 +98 347 0 +98 348 0 +98 349 0 +98 350 0 +98 351 0 +98 352 0 +98 353 0 +98 354 0 +98 355 0 +98 356 0 +98 357 0 +98 358 0 +98 359 0 +98 360 0 +98 361 0 +98 362 0 +98 363 0 +98 364 0 +98 365 0 +98 366 0 +98 367 0 +98 368 0 +98 369 0 +98 370 0 +98 371 0 +98 372 0 +98 373 0 +98 374 0 +98 375 0 +98 376 0 +98 377 0 +98 378 0 +98 379 0 +98 380 0 +98 381 0 +98 382 0 +98 383 0 +99 100 4 +99 101 4 +99 102 4 +99 103 4 +99 104 4 +99 105 4 +99 106 4 +99 107 4 +99 108 4 +99 109 4 +99 110 4 +99 111 4 +99 112 4 +99 113 4 +99 114 4 +99 115 4 +99 116 4 +99 117 4 +99 118 4 +99 119 4 +99 120 4 +99 121 4 +99 122 4 +99 123 4 +99 124 4 +99 125 4 +99 126 4 +99 127 4 +99 128 4 +99 129 4 +99 130 4 +99 131 4 +99 132 4 +99 133 4 +99 134 4 +99 135 4 +99 136 4 +99 137 4 +99 138 4 +99 139 4 +99 140 4 +99 141 4 +99 142 4 +99 143 4 +99 144 4 +99 145 4 +99 146 4 +99 147 4 +99 148 4 +99 149 4 +99 150 4 +99 151 4 +99 152 4 +99 153 4 +99 154 4 +99 155 4 +99 156 4 +99 157 4 +99 158 4 +99 159 4 +99 160 4 +99 161 4 +99 162 4 +99 163 4 +99 164 4 +99 165 4 +99 166 4 +99 167 4 +99 168 4 +99 169 4 +99 170 4 +99 171 4 +99 172 4 +99 173 4 +99 174 4 +99 175 4 +99 176 4 +99 177 4 +99 178 4 +99 179 4 +99 180 4 +99 181 4 +99 182 4 +99 183 4 +99 184 4 +99 185 4 +99 186 4 +99 187 4 +99 188 4 +99 189 4 +99 190 4 +99 191 4 +99 192 0 +99 193 0 +99 194 0 +99 195 0 +99 196 0 +99 197 0 +99 198 0 +99 199 0 +99 200 0 +99 201 0 +99 202 0 +99 203 0 +99 204 0 +99 205 0 +99 206 0 +99 207 0 +99 208 0 +99 209 0 +99 210 0 +99 211 0 +99 212 0 +99 213 0 +99 214 0 +99 215 0 +99 216 0 +99 217 0 +99 218 0 +99 219 0 +99 220 0 +99 221 0 +99 222 0 +99 223 0 +99 224 0 +99 225 0 +99 226 0 +99 227 0 +99 228 0 +99 229 0 +99 230 0 +99 231 0 +99 232 0 +99 233 0 +99 234 0 +99 235 0 +99 236 0 +99 237 0 +99 238 0 +99 239 0 +99 240 0 +99 241 0 +99 242 0 +99 243 0 +99 244 0 +99 245 0 +99 246 0 +99 247 0 +99 248 0 +99 249 0 +99 250 0 +99 251 0 +99 252 0 +99 253 0 +99 254 0 +99 255 0 +99 256 0 +99 257 0 +99 258 0 +99 259 0 +99 260 0 +99 261 0 +99 262 0 +99 263 0 +99 264 0 +99 265 0 +99 266 0 +99 267 0 +99 268 0 +99 269 0 +99 270 0 +99 271 0 +99 272 0 +99 273 0 +99 274 0 +99 275 0 +99 276 0 +99 277 0 +99 278 0 +99 279 0 +99 280 0 +99 281 0 +99 282 0 +99 283 0 +99 284 0 +99 285 0 +99 286 0 +99 287 0 +99 288 0 +99 289 0 +99 290 0 +99 291 0 +99 292 0 +99 293 0 +99 294 0 +99 295 0 +99 296 0 +99 297 0 +99 298 0 +99 299 0 +99 300 0 +99 301 0 +99 302 0 +99 303 0 +99 304 0 +99 305 0 +99 306 0 +99 307 0 +99 308 0 +99 309 0 +99 310 0 +99 311 0 +99 312 0 +99 313 0 +99 314 0 +99 315 0 +99 316 0 +99 317 0 +99 318 0 +99 319 0 +99 320 0 +99 321 0 +99 322 0 +99 323 0 +99 324 0 +99 325 0 +99 326 0 +99 327 0 +99 328 0 +99 329 0 +99 330 0 +99 331 0 +99 332 0 +99 333 0 +99 334 0 +99 335 0 +99 336 0 +99 337 0 +99 338 0 +99 339 0 +99 340 0 +99 341 0 +99 342 0 +99 343 0 +99 344 0 +99 345 0 +99 346 0 +99 347 0 +99 348 0 +99 349 0 +99 350 0 +99 351 0 +99 352 0 +99 353 0 +99 354 0 +99 355 0 +99 356 0 +99 357 0 +99 358 0 +99 359 0 +99 360 0 +99 361 0 +99 362 0 +99 363 0 +99 364 0 +99 365 0 +99 366 0 +99 367 0 +99 368 0 +99 369 0 +99 370 0 +99 371 0 +99 372 0 +99 373 0 +99 374 0 +99 375 0 +99 376 0 +99 377 0 +99 378 0 +99 379 0 +99 380 0 +99 381 0 +99 382 0 +99 383 0 +100 101 4 +100 102 4 +100 103 4 +100 104 4 +100 105 4 +100 106 4 +100 107 4 +100 108 4 +100 109 4 +100 110 4 +100 111 4 +100 112 4 +100 113 4 +100 114 4 +100 115 4 +100 116 4 +100 117 4 +100 118 4 +100 119 4 +100 120 4 +100 121 4 +100 122 4 +100 123 4 +100 124 4 +100 125 4 +100 126 4 +100 127 4 +100 128 4 +100 129 4 +100 130 4 +100 131 4 +100 132 4 +100 133 4 +100 134 4 +100 135 4 +100 136 4 +100 137 4 +100 138 4 +100 139 4 +100 140 4 +100 141 4 +100 142 4 +100 143 4 +100 144 4 +100 145 4 +100 146 4 +100 147 4 +100 148 4 +100 149 4 +100 150 4 +100 151 4 +100 152 4 +100 153 4 +100 154 4 +100 155 4 +100 156 4 +100 157 4 +100 158 4 +100 159 4 +100 160 4 +100 161 4 +100 162 4 +100 163 4 +100 164 4 +100 165 4 +100 166 4 +100 167 4 +100 168 4 +100 169 4 +100 170 4 +100 171 4 +100 172 4 +100 173 4 +100 174 4 +100 175 4 +100 176 4 +100 177 4 +100 178 4 +100 179 4 +100 180 4 +100 181 4 +100 182 4 +100 183 4 +100 184 4 +100 185 4 +100 186 4 +100 187 4 +100 188 4 +100 189 4 +100 190 4 +100 191 4 +100 192 0 +100 193 0 +100 194 0 +100 195 0 +100 196 0 +100 197 0 +100 198 0 +100 199 0 +100 200 0 +100 201 0 +100 202 0 +100 203 0 +100 204 0 +100 205 0 +100 206 0 +100 207 0 +100 208 0 +100 209 0 +100 210 0 +100 211 0 +100 212 0 +100 213 0 +100 214 0 +100 215 0 +100 216 0 +100 217 0 +100 218 0 +100 219 0 +100 220 0 +100 221 0 +100 222 0 +100 223 0 +100 224 0 +100 225 0 +100 226 0 +100 227 0 +100 228 0 +100 229 0 +100 230 0 +100 231 0 +100 232 0 +100 233 0 +100 234 0 +100 235 0 +100 236 0 +100 237 0 +100 238 0 +100 239 0 +100 240 0 +100 241 0 +100 242 0 +100 243 0 +100 244 0 +100 245 0 +100 246 0 +100 247 0 +100 248 0 +100 249 0 +100 250 0 +100 251 0 +100 252 0 +100 253 0 +100 254 0 +100 255 0 +100 256 0 +100 257 0 +100 258 0 +100 259 0 +100 260 0 +100 261 0 +100 262 0 +100 263 0 +100 264 0 +100 265 0 +100 266 0 +100 267 0 +100 268 0 +100 269 0 +100 270 0 +100 271 0 +100 272 0 +100 273 0 +100 274 0 +100 275 0 +100 276 0 +100 277 0 +100 278 0 +100 279 0 +100 280 0 +100 281 0 +100 282 0 +100 283 0 +100 284 0 +100 285 0 +100 286 0 +100 287 0 +100 288 0 +100 289 0 +100 290 0 +100 291 0 +100 292 0 +100 293 0 +100 294 0 +100 295 0 +100 296 0 +100 297 0 +100 298 0 +100 299 0 +100 300 0 +100 301 0 +100 302 0 +100 303 0 +100 304 0 +100 305 0 +100 306 0 +100 307 0 +100 308 0 +100 309 0 +100 310 0 +100 311 0 +100 312 0 +100 313 0 +100 314 0 +100 315 0 +100 316 0 +100 317 0 +100 318 0 +100 319 0 +100 320 0 +100 321 0 +100 322 0 +100 323 0 +100 324 0 +100 325 0 +100 326 0 +100 327 0 +100 328 0 +100 329 0 +100 330 0 +100 331 0 +100 332 0 +100 333 0 +100 334 0 +100 335 0 +100 336 0 +100 337 0 +100 338 0 +100 339 0 +100 340 0 +100 341 0 +100 342 0 +100 343 0 +100 344 0 +100 345 0 +100 346 0 +100 347 0 +100 348 0 +100 349 0 +100 350 0 +100 351 0 +100 352 0 +100 353 0 +100 354 0 +100 355 0 +100 356 0 +100 357 0 +100 358 0 +100 359 0 +100 360 0 +100 361 0 +100 362 0 +100 363 0 +100 364 0 +100 365 0 +100 366 0 +100 367 0 +100 368 0 +100 369 0 +100 370 0 +100 371 0 +100 372 0 +100 373 0 +100 374 0 +100 375 0 +100 376 0 +100 377 0 +100 378 0 +100 379 0 +100 380 0 +100 381 0 +100 382 0 +100 383 0 +101 102 4 +101 103 4 +101 104 4 +101 105 4 +101 106 4 +101 107 4 +101 108 4 +101 109 4 +101 110 4 +101 111 4 +101 112 4 +101 113 4 +101 114 4 +101 115 4 +101 116 4 +101 117 4 +101 118 4 +101 119 4 +101 120 4 +101 121 4 +101 122 4 +101 123 4 +101 124 4 +101 125 4 +101 126 4 +101 127 4 +101 128 4 +101 129 4 +101 130 4 +101 131 4 +101 132 4 +101 133 4 +101 134 4 +101 135 4 +101 136 4 +101 137 4 +101 138 4 +101 139 4 +101 140 4 +101 141 4 +101 142 4 +101 143 4 +101 144 4 +101 145 4 +101 146 4 +101 147 4 +101 148 4 +101 149 4 +101 150 4 +101 151 4 +101 152 4 +101 153 4 +101 154 4 +101 155 4 +101 156 4 +101 157 4 +101 158 4 +101 159 4 +101 160 4 +101 161 4 +101 162 4 +101 163 4 +101 164 4 +101 165 4 +101 166 4 +101 167 4 +101 168 4 +101 169 4 +101 170 4 +101 171 4 +101 172 4 +101 173 4 +101 174 4 +101 175 4 +101 176 4 +101 177 4 +101 178 4 +101 179 4 +101 180 4 +101 181 4 +101 182 4 +101 183 4 +101 184 4 +101 185 4 +101 186 4 +101 187 4 +101 188 4 +101 189 4 +101 190 4 +101 191 4 +101 192 0 +101 193 0 +101 194 0 +101 195 0 +101 196 0 +101 197 0 +101 198 0 +101 199 0 +101 200 0 +101 201 0 +101 202 0 +101 203 0 +101 204 0 +101 205 0 +101 206 0 +101 207 0 +101 208 0 +101 209 0 +101 210 0 +101 211 0 +101 212 0 +101 213 0 +101 214 0 +101 215 0 +101 216 0 +101 217 0 +101 218 0 +101 219 0 +101 220 0 +101 221 0 +101 222 0 +101 223 0 +101 224 0 +101 225 0 +101 226 0 +101 227 0 +101 228 0 +101 229 0 +101 230 0 +101 231 0 +101 232 0 +101 233 0 +101 234 0 +101 235 0 +101 236 0 +101 237 0 +101 238 0 +101 239 0 +101 240 0 +101 241 0 +101 242 0 +101 243 0 +101 244 0 +101 245 0 +101 246 0 +101 247 0 +101 248 0 +101 249 0 +101 250 0 +101 251 0 +101 252 0 +101 253 0 +101 254 0 +101 255 0 +101 256 0 +101 257 0 +101 258 0 +101 259 0 +101 260 0 +101 261 0 +101 262 0 +101 263 0 +101 264 0 +101 265 0 +101 266 0 +101 267 0 +101 268 0 +101 269 0 +101 270 0 +101 271 0 +101 272 0 +101 273 0 +101 274 0 +101 275 0 +101 276 0 +101 277 0 +101 278 0 +101 279 0 +101 280 0 +101 281 0 +101 282 0 +101 283 0 +101 284 0 +101 285 0 +101 286 0 +101 287 0 +101 288 0 +101 289 0 +101 290 0 +101 291 0 +101 292 0 +101 293 0 +101 294 0 +101 295 0 +101 296 0 +101 297 0 +101 298 0 +101 299 0 +101 300 0 +101 301 0 +101 302 0 +101 303 0 +101 304 0 +101 305 0 +101 306 0 +101 307 0 +101 308 0 +101 309 0 +101 310 0 +101 311 0 +101 312 0 +101 313 0 +101 314 0 +101 315 0 +101 316 0 +101 317 0 +101 318 0 +101 319 0 +101 320 0 +101 321 0 +101 322 0 +101 323 0 +101 324 0 +101 325 0 +101 326 0 +101 327 0 +101 328 0 +101 329 0 +101 330 0 +101 331 0 +101 332 0 +101 333 0 +101 334 0 +101 335 0 +101 336 0 +101 337 0 +101 338 0 +101 339 0 +101 340 0 +101 341 0 +101 342 0 +101 343 0 +101 344 0 +101 345 0 +101 346 0 +101 347 0 +101 348 0 +101 349 0 +101 350 0 +101 351 0 +101 352 0 +101 353 0 +101 354 0 +101 355 0 +101 356 0 +101 357 0 +101 358 0 +101 359 0 +101 360 0 +101 361 0 +101 362 0 +101 363 0 +101 364 0 +101 365 0 +101 366 0 +101 367 0 +101 368 0 +101 369 0 +101 370 0 +101 371 0 +101 372 0 +101 373 0 +101 374 0 +101 375 0 +101 376 0 +101 377 0 +101 378 0 +101 379 0 +101 380 0 +101 381 0 +101 382 0 +101 383 0 +102 103 4 +102 104 4 +102 105 4 +102 106 4 +102 107 4 +102 108 4 +102 109 4 +102 110 4 +102 111 4 +102 112 4 +102 113 4 +102 114 4 +102 115 4 +102 116 4 +102 117 4 +102 118 4 +102 119 4 +102 120 4 +102 121 4 +102 122 4 +102 123 4 +102 124 4 +102 125 4 +102 126 4 +102 127 4 +102 128 4 +102 129 4 +102 130 4 +102 131 4 +102 132 4 +102 133 4 +102 134 4 +102 135 4 +102 136 4 +102 137 4 +102 138 4 +102 139 4 +102 140 4 +102 141 4 +102 142 4 +102 143 4 +102 144 4 +102 145 4 +102 146 4 +102 147 4 +102 148 4 +102 149 4 +102 150 4 +102 151 4 +102 152 4 +102 153 4 +102 154 4 +102 155 4 +102 156 4 +102 157 4 +102 158 4 +102 159 4 +102 160 4 +102 161 4 +102 162 4 +102 163 4 +102 164 4 +102 165 4 +102 166 4 +102 167 4 +102 168 4 +102 169 4 +102 170 4 +102 171 4 +102 172 4 +102 173 4 +102 174 4 +102 175 4 +102 176 4 +102 177 4 +102 178 4 +102 179 4 +102 180 4 +102 181 4 +102 182 4 +102 183 4 +102 184 4 +102 185 4 +102 186 4 +102 187 4 +102 188 4 +102 189 4 +102 190 4 +102 191 4 +102 192 0 +102 193 0 +102 194 0 +102 195 0 +102 196 0 +102 197 0 +102 198 0 +102 199 0 +102 200 0 +102 201 0 +102 202 0 +102 203 0 +102 204 0 +102 205 0 +102 206 0 +102 207 0 +102 208 0 +102 209 0 +102 210 0 +102 211 0 +102 212 0 +102 213 0 +102 214 0 +102 215 0 +102 216 0 +102 217 0 +102 218 0 +102 219 0 +102 220 0 +102 221 0 +102 222 0 +102 223 0 +102 224 0 +102 225 0 +102 226 0 +102 227 0 +102 228 0 +102 229 0 +102 230 0 +102 231 0 +102 232 0 +102 233 0 +102 234 0 +102 235 0 +102 236 0 +102 237 0 +102 238 0 +102 239 0 +102 240 0 +102 241 0 +102 242 0 +102 243 0 +102 244 0 +102 245 0 +102 246 0 +102 247 0 +102 248 0 +102 249 0 +102 250 0 +102 251 0 +102 252 0 +102 253 0 +102 254 0 +102 255 0 +102 256 0 +102 257 0 +102 258 0 +102 259 0 +102 260 0 +102 261 0 +102 262 0 +102 263 0 +102 264 0 +102 265 0 +102 266 0 +102 267 0 +102 268 0 +102 269 0 +102 270 0 +102 271 0 +102 272 0 +102 273 0 +102 274 0 +102 275 0 +102 276 0 +102 277 0 +102 278 0 +102 279 0 +102 280 0 +102 281 0 +102 282 0 +102 283 0 +102 284 0 +102 285 0 +102 286 0 +102 287 0 +102 288 0 +102 289 0 +102 290 0 +102 291 0 +102 292 0 +102 293 0 +102 294 0 +102 295 0 +102 296 0 +102 297 0 +102 298 0 +102 299 0 +102 300 0 +102 301 0 +102 302 0 +102 303 0 +102 304 0 +102 305 0 +102 306 0 +102 307 0 +102 308 0 +102 309 0 +102 310 0 +102 311 0 +102 312 0 +102 313 0 +102 314 0 +102 315 0 +102 316 0 +102 317 0 +102 318 0 +102 319 0 +102 320 0 +102 321 0 +102 322 0 +102 323 0 +102 324 0 +102 325 0 +102 326 0 +102 327 0 +102 328 0 +102 329 0 +102 330 0 +102 331 0 +102 332 0 +102 333 0 +102 334 0 +102 335 0 +102 336 0 +102 337 0 +102 338 0 +102 339 0 +102 340 0 +102 341 0 +102 342 0 +102 343 0 +102 344 0 +102 345 0 +102 346 0 +102 347 0 +102 348 0 +102 349 0 +102 350 0 +102 351 0 +102 352 0 +102 353 0 +102 354 0 +102 355 0 +102 356 0 +102 357 0 +102 358 0 +102 359 0 +102 360 0 +102 361 0 +102 362 0 +102 363 0 +102 364 0 +102 365 0 +102 366 0 +102 367 0 +102 368 0 +102 369 0 +102 370 0 +102 371 0 +102 372 0 +102 373 0 +102 374 0 +102 375 0 +102 376 0 +102 377 0 +102 378 0 +102 379 0 +102 380 0 +102 381 0 +102 382 0 +102 383 0 +103 104 4 +103 105 4 +103 106 4 +103 107 4 +103 108 4 +103 109 4 +103 110 4 +103 111 4 +103 112 4 +103 113 4 +103 114 4 +103 115 4 +103 116 4 +103 117 4 +103 118 4 +103 119 4 +103 120 4 +103 121 4 +103 122 4 +103 123 4 +103 124 4 +103 125 4 +103 126 4 +103 127 4 +103 128 4 +103 129 4 +103 130 4 +103 131 4 +103 132 4 +103 133 4 +103 134 4 +103 135 4 +103 136 4 +103 137 4 +103 138 4 +103 139 4 +103 140 4 +103 141 4 +103 142 4 +103 143 4 +103 144 4 +103 145 4 +103 146 4 +103 147 4 +103 148 4 +103 149 4 +103 150 4 +103 151 4 +103 152 4 +103 153 4 +103 154 4 +103 155 4 +103 156 4 +103 157 4 +103 158 4 +103 159 4 +103 160 4 +103 161 4 +103 162 4 +103 163 4 +103 164 4 +103 165 4 +103 166 4 +103 167 4 +103 168 4 +103 169 4 +103 170 4 +103 171 4 +103 172 4 +103 173 4 +103 174 4 +103 175 4 +103 176 4 +103 177 4 +103 178 4 +103 179 4 +103 180 4 +103 181 4 +103 182 4 +103 183 4 +103 184 4 +103 185 4 +103 186 4 +103 187 4 +103 188 4 +103 189 4 +103 190 4 +103 191 4 +103 192 0 +103 193 0 +103 194 0 +103 195 0 +103 196 0 +103 197 0 +103 198 0 +103 199 0 +103 200 0 +103 201 0 +103 202 0 +103 203 0 +103 204 0 +103 205 0 +103 206 0 +103 207 0 +103 208 0 +103 209 0 +103 210 0 +103 211 0 +103 212 0 +103 213 0 +103 214 0 +103 215 0 +103 216 0 +103 217 0 +103 218 0 +103 219 0 +103 220 0 +103 221 0 +103 222 0 +103 223 0 +103 224 0 +103 225 0 +103 226 0 +103 227 0 +103 228 0 +103 229 0 +103 230 0 +103 231 0 +103 232 0 +103 233 0 +103 234 0 +103 235 0 +103 236 0 +103 237 0 +103 238 0 +103 239 0 +103 240 0 +103 241 0 +103 242 0 +103 243 0 +103 244 0 +103 245 0 +103 246 0 +103 247 0 +103 248 0 +103 249 0 +103 250 0 +103 251 0 +103 252 0 +103 253 0 +103 254 0 +103 255 0 +103 256 0 +103 257 0 +103 258 0 +103 259 0 +103 260 0 +103 261 0 +103 262 0 +103 263 0 +103 264 0 +103 265 0 +103 266 0 +103 267 0 +103 268 0 +103 269 0 +103 270 0 +103 271 0 +103 272 0 +103 273 0 +103 274 0 +103 275 0 +103 276 0 +103 277 0 +103 278 0 +103 279 0 +103 280 0 +103 281 0 +103 282 0 +103 283 0 +103 284 0 +103 285 0 +103 286 0 +103 287 0 +103 288 0 +103 289 0 +103 290 0 +103 291 0 +103 292 0 +103 293 0 +103 294 0 +103 295 0 +103 296 0 +103 297 0 +103 298 0 +103 299 0 +103 300 0 +103 301 0 +103 302 0 +103 303 0 +103 304 0 +103 305 0 +103 306 0 +103 307 0 +103 308 0 +103 309 0 +103 310 0 +103 311 0 +103 312 0 +103 313 0 +103 314 0 +103 315 0 +103 316 0 +103 317 0 +103 318 0 +103 319 0 +103 320 0 +103 321 0 +103 322 0 +103 323 0 +103 324 0 +103 325 0 +103 326 0 +103 327 0 +103 328 0 +103 329 0 +103 330 0 +103 331 0 +103 332 0 +103 333 0 +103 334 0 +103 335 0 +103 336 0 +103 337 0 +103 338 0 +103 339 0 +103 340 0 +103 341 0 +103 342 0 +103 343 0 +103 344 0 +103 345 0 +103 346 0 +103 347 0 +103 348 0 +103 349 0 +103 350 0 +103 351 0 +103 352 0 +103 353 0 +103 354 0 +103 355 0 +103 356 0 +103 357 0 +103 358 0 +103 359 0 +103 360 0 +103 361 0 +103 362 0 +103 363 0 +103 364 0 +103 365 0 +103 366 0 +103 367 0 +103 368 0 +103 369 0 +103 370 0 +103 371 0 +103 372 0 +103 373 0 +103 374 0 +103 375 0 +103 376 0 +103 377 0 +103 378 0 +103 379 0 +103 380 0 +103 381 0 +103 382 0 +103 383 0 +104 105 4 +104 106 4 +104 107 4 +104 108 4 +104 109 4 +104 110 4 +104 111 4 +104 112 4 +104 113 4 +104 114 4 +104 115 4 +104 116 4 +104 117 4 +104 118 4 +104 119 4 +104 120 4 +104 121 4 +104 122 4 +104 123 4 +104 124 4 +104 125 4 +104 126 4 +104 127 4 +104 128 4 +104 129 4 +104 130 4 +104 131 4 +104 132 4 +104 133 4 +104 134 4 +104 135 4 +104 136 4 +104 137 4 +104 138 4 +104 139 4 +104 140 4 +104 141 4 +104 142 4 +104 143 4 +104 144 4 +104 145 4 +104 146 4 +104 147 4 +104 148 4 +104 149 4 +104 150 4 +104 151 4 +104 152 4 +104 153 4 +104 154 4 +104 155 4 +104 156 4 +104 157 4 +104 158 4 +104 159 4 +104 160 4 +104 161 4 +104 162 4 +104 163 4 +104 164 4 +104 165 4 +104 166 4 +104 167 4 +104 168 4 +104 169 4 +104 170 4 +104 171 4 +104 172 4 +104 173 4 +104 174 4 +104 175 4 +104 176 4 +104 177 4 +104 178 4 +104 179 4 +104 180 4 +104 181 4 +104 182 4 +104 183 4 +104 184 4 +104 185 4 +104 186 4 +104 187 4 +104 188 4 +104 189 4 +104 190 4 +104 191 4 +104 192 0 +104 193 0 +104 194 0 +104 195 0 +104 196 0 +104 197 0 +104 198 0 +104 199 0 +104 200 0 +104 201 0 +104 202 0 +104 203 0 +104 204 0 +104 205 0 +104 206 0 +104 207 0 +104 208 0 +104 209 0 +104 210 0 +104 211 0 +104 212 0 +104 213 0 +104 214 0 +104 215 0 +104 216 0 +104 217 0 +104 218 0 +104 219 0 +104 220 0 +104 221 0 +104 222 0 +104 223 0 +104 224 0 +104 225 0 +104 226 0 +104 227 0 +104 228 0 +104 229 0 +104 230 0 +104 231 0 +104 232 0 +104 233 0 +104 234 0 +104 235 0 +104 236 0 +104 237 0 +104 238 0 +104 239 0 +104 240 0 +104 241 0 +104 242 0 +104 243 0 +104 244 0 +104 245 0 +104 246 0 +104 247 0 +104 248 0 +104 249 0 +104 250 0 +104 251 0 +104 252 0 +104 253 0 +104 254 0 +104 255 0 +104 256 0 +104 257 0 +104 258 0 +104 259 0 +104 260 0 +104 261 0 +104 262 0 +104 263 0 +104 264 0 +104 265 0 +104 266 0 +104 267 0 +104 268 0 +104 269 0 +104 270 0 +104 271 0 +104 272 0 +104 273 0 +104 274 0 +104 275 0 +104 276 0 +104 277 0 +104 278 0 +104 279 0 +104 280 0 +104 281 0 +104 282 0 +104 283 0 +104 284 0 +104 285 0 +104 286 0 +104 287 0 +104 288 0 +104 289 0 +104 290 0 +104 291 0 +104 292 0 +104 293 0 +104 294 0 +104 295 0 +104 296 0 +104 297 0 +104 298 0 +104 299 0 +104 300 0 +104 301 0 +104 302 0 +104 303 0 +104 304 0 +104 305 0 +104 306 0 +104 307 0 +104 308 0 +104 309 0 +104 310 0 +104 311 0 +104 312 0 +104 313 0 +104 314 0 +104 315 0 +104 316 0 +104 317 0 +104 318 0 +104 319 0 +104 320 0 +104 321 0 +104 322 0 +104 323 0 +104 324 0 +104 325 0 +104 326 0 +104 327 0 +104 328 0 +104 329 0 +104 330 0 +104 331 0 +104 332 0 +104 333 0 +104 334 0 +104 335 0 +104 336 0 +104 337 0 +104 338 0 +104 339 0 +104 340 0 +104 341 0 +104 342 0 +104 343 0 +104 344 0 +104 345 0 +104 346 0 +104 347 0 +104 348 0 +104 349 0 +104 350 0 +104 351 0 +104 352 0 +104 353 0 +104 354 0 +104 355 0 +104 356 0 +104 357 0 +104 358 0 +104 359 0 +104 360 0 +104 361 0 +104 362 0 +104 363 0 +104 364 0 +104 365 0 +104 366 0 +104 367 0 +104 368 0 +104 369 0 +104 370 0 +104 371 0 +104 372 0 +104 373 0 +104 374 0 +104 375 0 +104 376 0 +104 377 0 +104 378 0 +104 379 0 +104 380 0 +104 381 0 +104 382 0 +104 383 0 +105 106 4 +105 107 4 +105 108 4 +105 109 4 +105 110 4 +105 111 4 +105 112 4 +105 113 4 +105 114 4 +105 115 4 +105 116 4 +105 117 4 +105 118 4 +105 119 4 +105 120 4 +105 121 4 +105 122 4 +105 123 4 +105 124 4 +105 125 4 +105 126 4 +105 127 4 +105 128 4 +105 129 4 +105 130 4 +105 131 4 +105 132 4 +105 133 4 +105 134 4 +105 135 4 +105 136 4 +105 137 4 +105 138 4 +105 139 4 +105 140 4 +105 141 4 +105 142 4 +105 143 4 +105 144 4 +105 145 4 +105 146 4 +105 147 4 +105 148 4 +105 149 4 +105 150 4 +105 151 4 +105 152 4 +105 153 4 +105 154 4 +105 155 4 +105 156 4 +105 157 4 +105 158 4 +105 159 4 +105 160 4 +105 161 4 +105 162 4 +105 163 4 +105 164 4 +105 165 4 +105 166 4 +105 167 4 +105 168 4 +105 169 4 +105 170 4 +105 171 4 +105 172 4 +105 173 4 +105 174 4 +105 175 4 +105 176 4 +105 177 4 +105 178 4 +105 179 4 +105 180 4 +105 181 4 +105 182 4 +105 183 4 +105 184 4 +105 185 4 +105 186 4 +105 187 4 +105 188 4 +105 189 4 +105 190 4 +105 191 4 +105 192 0 +105 193 0 +105 194 0 +105 195 0 +105 196 0 +105 197 0 +105 198 0 +105 199 0 +105 200 0 +105 201 0 +105 202 0 +105 203 0 +105 204 0 +105 205 0 +105 206 0 +105 207 0 +105 208 0 +105 209 0 +105 210 0 +105 211 0 +105 212 0 +105 213 0 +105 214 0 +105 215 0 +105 216 0 +105 217 0 +105 218 0 +105 219 0 +105 220 0 +105 221 0 +105 222 0 +105 223 0 +105 224 0 +105 225 0 +105 226 0 +105 227 0 +105 228 0 +105 229 0 +105 230 0 +105 231 0 +105 232 0 +105 233 0 +105 234 0 +105 235 0 +105 236 0 +105 237 0 +105 238 0 +105 239 0 +105 240 0 +105 241 0 +105 242 0 +105 243 0 +105 244 0 +105 245 0 +105 246 0 +105 247 0 +105 248 0 +105 249 0 +105 250 0 +105 251 0 +105 252 0 +105 253 0 +105 254 0 +105 255 0 +105 256 0 +105 257 0 +105 258 0 +105 259 0 +105 260 0 +105 261 0 +105 262 0 +105 263 0 +105 264 0 +105 265 0 +105 266 0 +105 267 0 +105 268 0 +105 269 0 +105 270 0 +105 271 0 +105 272 0 +105 273 0 +105 274 0 +105 275 0 +105 276 0 +105 277 0 +105 278 0 +105 279 0 +105 280 0 +105 281 0 +105 282 0 +105 283 0 +105 284 0 +105 285 0 +105 286 0 +105 287 0 +105 288 0 +105 289 0 +105 290 0 +105 291 0 +105 292 0 +105 293 0 +105 294 0 +105 295 0 +105 296 0 +105 297 0 +105 298 0 +105 299 0 +105 300 0 +105 301 0 +105 302 0 +105 303 0 +105 304 0 +105 305 0 +105 306 0 +105 307 0 +105 308 0 +105 309 0 +105 310 0 +105 311 0 +105 312 0 +105 313 0 +105 314 0 +105 315 0 +105 316 0 +105 317 0 +105 318 0 +105 319 0 +105 320 0 +105 321 0 +105 322 0 +105 323 0 +105 324 0 +105 325 0 +105 326 0 +105 327 0 +105 328 0 +105 329 0 +105 330 0 +105 331 0 +105 332 0 +105 333 0 +105 334 0 +105 335 0 +105 336 0 +105 337 0 +105 338 0 +105 339 0 +105 340 0 +105 341 0 +105 342 0 +105 343 0 +105 344 0 +105 345 0 +105 346 0 +105 347 0 +105 348 0 +105 349 0 +105 350 0 +105 351 0 +105 352 0 +105 353 0 +105 354 0 +105 355 0 +105 356 0 +105 357 0 +105 358 0 +105 359 0 +105 360 0 +105 361 0 +105 362 0 +105 363 0 +105 364 0 +105 365 0 +105 366 0 +105 367 0 +105 368 0 +105 369 0 +105 370 0 +105 371 0 +105 372 0 +105 373 0 +105 374 0 +105 375 0 +105 376 0 +105 377 0 +105 378 0 +105 379 0 +105 380 0 +105 381 0 +105 382 0 +105 383 0 +106 107 4 +106 108 4 +106 109 4 +106 110 4 +106 111 4 +106 112 4 +106 113 4 +106 114 4 +106 115 4 +106 116 4 +106 117 4 +106 118 4 +106 119 4 +106 120 4 +106 121 4 +106 122 4 +106 123 4 +106 124 4 +106 125 4 +106 126 4 +106 127 4 +106 128 4 +106 129 4 +106 130 4 +106 131 4 +106 132 4 +106 133 4 +106 134 4 +106 135 4 +106 136 4 +106 137 4 +106 138 4 +106 139 4 +106 140 4 +106 141 4 +106 142 4 +106 143 4 +106 144 4 +106 145 4 +106 146 4 +106 147 4 +106 148 4 +106 149 4 +106 150 4 +106 151 4 +106 152 4 +106 153 4 +106 154 4 +106 155 4 +106 156 4 +106 157 4 +106 158 4 +106 159 4 +106 160 4 +106 161 4 +106 162 4 +106 163 4 +106 164 4 +106 165 4 +106 166 4 +106 167 4 +106 168 4 +106 169 4 +106 170 4 +106 171 4 +106 172 4 +106 173 4 +106 174 4 +106 175 4 +106 176 4 +106 177 4 +106 178 4 +106 179 4 +106 180 4 +106 181 4 +106 182 4 +106 183 4 +106 184 4 +106 185 4 +106 186 4 +106 187 4 +106 188 4 +106 189 4 +106 190 4 +106 191 4 +106 192 0 +106 193 0 +106 194 0 +106 195 0 +106 196 0 +106 197 0 +106 198 0 +106 199 0 +106 200 0 +106 201 0 +106 202 0 +106 203 0 +106 204 0 +106 205 0 +106 206 0 +106 207 0 +106 208 0 +106 209 0 +106 210 0 +106 211 0 +106 212 0 +106 213 0 +106 214 0 +106 215 0 +106 216 0 +106 217 0 +106 218 0 +106 219 0 +106 220 0 +106 221 0 +106 222 0 +106 223 0 +106 224 0 +106 225 0 +106 226 0 +106 227 0 +106 228 0 +106 229 0 +106 230 0 +106 231 0 +106 232 0 +106 233 0 +106 234 0 +106 235 0 +106 236 0 +106 237 0 +106 238 0 +106 239 0 +106 240 0 +106 241 0 +106 242 0 +106 243 0 +106 244 0 +106 245 0 +106 246 0 +106 247 0 +106 248 0 +106 249 0 +106 250 0 +106 251 0 +106 252 0 +106 253 0 +106 254 0 +106 255 0 +106 256 0 +106 257 0 +106 258 0 +106 259 0 +106 260 0 +106 261 0 +106 262 0 +106 263 0 +106 264 0 +106 265 0 +106 266 0 +106 267 0 +106 268 0 +106 269 0 +106 270 0 +106 271 0 +106 272 0 +106 273 0 +106 274 0 +106 275 0 +106 276 0 +106 277 0 +106 278 0 +106 279 0 +106 280 0 +106 281 0 +106 282 0 +106 283 0 +106 284 0 +106 285 0 +106 286 0 +106 287 0 +106 288 0 +106 289 0 +106 290 0 +106 291 0 +106 292 0 +106 293 0 +106 294 0 +106 295 0 +106 296 0 +106 297 0 +106 298 0 +106 299 0 +106 300 0 +106 301 0 +106 302 0 +106 303 0 +106 304 0 +106 305 0 +106 306 0 +106 307 0 +106 308 0 +106 309 0 +106 310 0 +106 311 0 +106 312 0 +106 313 0 +106 314 0 +106 315 0 +106 316 0 +106 317 0 +106 318 0 +106 319 0 +106 320 0 +106 321 0 +106 322 0 +106 323 0 +106 324 0 +106 325 0 +106 326 0 +106 327 0 +106 328 0 +106 329 0 +106 330 0 +106 331 0 +106 332 0 +106 333 0 +106 334 0 +106 335 0 +106 336 0 +106 337 0 +106 338 0 +106 339 0 +106 340 0 +106 341 0 +106 342 0 +106 343 0 +106 344 0 +106 345 0 +106 346 0 +106 347 0 +106 348 0 +106 349 0 +106 350 0 +106 351 0 +106 352 0 +106 353 0 +106 354 0 +106 355 0 +106 356 0 +106 357 0 +106 358 0 +106 359 0 +106 360 0 +106 361 0 +106 362 0 +106 363 0 +106 364 0 +106 365 0 +106 366 0 +106 367 0 +106 368 0 +106 369 0 +106 370 0 +106 371 0 +106 372 0 +106 373 0 +106 374 0 +106 375 0 +106 376 0 +106 377 0 +106 378 0 +106 379 0 +106 380 0 +106 381 0 +106 382 0 +106 383 0 +107 108 4 +107 109 4 +107 110 4 +107 111 4 +107 112 4 +107 113 4 +107 114 4 +107 115 4 +107 116 4 +107 117 4 +107 118 4 +107 119 4 +107 120 4 +107 121 4 +107 122 4 +107 123 4 +107 124 4 +107 125 4 +107 126 4 +107 127 4 +107 128 4 +107 129 4 +107 130 4 +107 131 4 +107 132 4 +107 133 4 +107 134 4 +107 135 4 +107 136 4 +107 137 4 +107 138 4 +107 139 4 +107 140 4 +107 141 4 +107 142 4 +107 143 4 +107 144 4 +107 145 4 +107 146 4 +107 147 4 +107 148 4 +107 149 4 +107 150 4 +107 151 4 +107 152 4 +107 153 4 +107 154 4 +107 155 4 +107 156 4 +107 157 4 +107 158 4 +107 159 4 +107 160 4 +107 161 4 +107 162 4 +107 163 4 +107 164 4 +107 165 4 +107 166 4 +107 167 4 +107 168 4 +107 169 4 +107 170 4 +107 171 4 +107 172 4 +107 173 4 +107 174 4 +107 175 4 +107 176 4 +107 177 4 +107 178 4 +107 179 4 +107 180 4 +107 181 4 +107 182 4 +107 183 4 +107 184 4 +107 185 4 +107 186 4 +107 187 4 +107 188 4 +107 189 4 +107 190 4 +107 191 4 +107 192 0 +107 193 0 +107 194 0 +107 195 0 +107 196 0 +107 197 0 +107 198 0 +107 199 0 +107 200 0 +107 201 0 +107 202 0 +107 203 0 +107 204 0 +107 205 0 +107 206 0 +107 207 0 +107 208 0 +107 209 0 +107 210 0 +107 211 0 +107 212 0 +107 213 0 +107 214 0 +107 215 0 +107 216 0 +107 217 0 +107 218 0 +107 219 0 +107 220 0 +107 221 0 +107 222 0 +107 223 0 +107 224 0 +107 225 0 +107 226 0 +107 227 0 +107 228 0 +107 229 0 +107 230 0 +107 231 0 +107 232 0 +107 233 0 +107 234 0 +107 235 0 +107 236 0 +107 237 0 +107 238 0 +107 239 0 +107 240 0 +107 241 0 +107 242 0 +107 243 0 +107 244 0 +107 245 0 +107 246 0 +107 247 0 +107 248 0 +107 249 0 +107 250 0 +107 251 0 +107 252 0 +107 253 0 +107 254 0 +107 255 0 +107 256 0 +107 257 0 +107 258 0 +107 259 0 +107 260 0 +107 261 0 +107 262 0 +107 263 0 +107 264 0 +107 265 0 +107 266 0 +107 267 0 +107 268 0 +107 269 0 +107 270 0 +107 271 0 +107 272 0 +107 273 0 +107 274 0 +107 275 0 +107 276 0 +107 277 0 +107 278 0 +107 279 0 +107 280 0 +107 281 0 +107 282 0 +107 283 0 +107 284 0 +107 285 0 +107 286 0 +107 287 0 +107 288 0 +107 289 0 +107 290 0 +107 291 0 +107 292 0 +107 293 0 +107 294 0 +107 295 0 +107 296 0 +107 297 0 +107 298 0 +107 299 0 +107 300 0 +107 301 0 +107 302 0 +107 303 0 +107 304 0 +107 305 0 +107 306 0 +107 307 0 +107 308 0 +107 309 0 +107 310 0 +107 311 0 +107 312 0 +107 313 0 +107 314 0 +107 315 0 +107 316 0 +107 317 0 +107 318 0 +107 319 0 +107 320 0 +107 321 0 +107 322 0 +107 323 0 +107 324 0 +107 325 0 +107 326 0 +107 327 0 +107 328 0 +107 329 0 +107 330 0 +107 331 0 +107 332 0 +107 333 0 +107 334 0 +107 335 0 +107 336 0 +107 337 0 +107 338 0 +107 339 0 +107 340 0 +107 341 0 +107 342 0 +107 343 0 +107 344 0 +107 345 0 +107 346 0 +107 347 0 +107 348 0 +107 349 0 +107 350 0 +107 351 0 +107 352 0 +107 353 0 +107 354 0 +107 355 0 +107 356 0 +107 357 0 +107 358 0 +107 359 0 +107 360 0 +107 361 0 +107 362 0 +107 363 0 +107 364 0 +107 365 0 +107 366 0 +107 367 0 +107 368 0 +107 369 0 +107 370 0 +107 371 0 +107 372 0 +107 373 0 +107 374 0 +107 375 0 +107 376 0 +107 377 0 +107 378 0 +107 379 0 +107 380 0 +107 381 0 +107 382 0 +107 383 0 +108 109 4 +108 110 4 +108 111 4 +108 112 4 +108 113 4 +108 114 4 +108 115 4 +108 116 4 +108 117 4 +108 118 4 +108 119 4 +108 120 4 +108 121 4 +108 122 4 +108 123 4 +108 124 4 +108 125 4 +108 126 4 +108 127 4 +108 128 4 +108 129 4 +108 130 4 +108 131 4 +108 132 4 +108 133 4 +108 134 4 +108 135 4 +108 136 4 +108 137 4 +108 138 4 +108 139 4 +108 140 4 +108 141 4 +108 142 4 +108 143 4 +108 144 4 +108 145 4 +108 146 4 +108 147 4 +108 148 4 +108 149 4 +108 150 4 +108 151 4 +108 152 4 +108 153 4 +108 154 4 +108 155 4 +108 156 4 +108 157 4 +108 158 4 +108 159 4 +108 160 4 +108 161 4 +108 162 4 +108 163 4 +108 164 4 +108 165 4 +108 166 4 +108 167 4 +108 168 4 +108 169 4 +108 170 4 +108 171 4 +108 172 4 +108 173 4 +108 174 4 +108 175 4 +108 176 4 +108 177 4 +108 178 4 +108 179 4 +108 180 4 +108 181 4 +108 182 4 +108 183 4 +108 184 4 +108 185 4 +108 186 4 +108 187 4 +108 188 4 +108 189 4 +108 190 4 +108 191 4 +108 192 0 +108 193 0 +108 194 0 +108 195 0 +108 196 0 +108 197 0 +108 198 0 +108 199 0 +108 200 0 +108 201 0 +108 202 0 +108 203 0 +108 204 0 +108 205 0 +108 206 0 +108 207 0 +108 208 0 +108 209 0 +108 210 0 +108 211 0 +108 212 0 +108 213 0 +108 214 0 +108 215 0 +108 216 0 +108 217 0 +108 218 0 +108 219 0 +108 220 0 +108 221 0 +108 222 0 +108 223 0 +108 224 0 +108 225 0 +108 226 0 +108 227 0 +108 228 0 +108 229 0 +108 230 0 +108 231 0 +108 232 0 +108 233 0 +108 234 0 +108 235 0 +108 236 0 +108 237 0 +108 238 0 +108 239 0 +108 240 0 +108 241 0 +108 242 0 +108 243 0 +108 244 0 +108 245 0 +108 246 0 +108 247 0 +108 248 0 +108 249 0 +108 250 0 +108 251 0 +108 252 0 +108 253 0 +108 254 0 +108 255 0 +108 256 0 +108 257 0 +108 258 0 +108 259 0 +108 260 0 +108 261 0 +108 262 0 +108 263 0 +108 264 0 +108 265 0 +108 266 0 +108 267 0 +108 268 0 +108 269 0 +108 270 0 +108 271 0 +108 272 0 +108 273 0 +108 274 0 +108 275 0 +108 276 0 +108 277 0 +108 278 0 +108 279 0 +108 280 0 +108 281 0 +108 282 0 +108 283 0 +108 284 0 +108 285 0 +108 286 0 +108 287 0 +108 288 0 +108 289 0 +108 290 0 +108 291 0 +108 292 0 +108 293 0 +108 294 0 +108 295 0 +108 296 0 +108 297 0 +108 298 0 +108 299 0 +108 300 0 +108 301 0 +108 302 0 +108 303 0 +108 304 0 +108 305 0 +108 306 0 +108 307 0 +108 308 0 +108 309 0 +108 310 0 +108 311 0 +108 312 0 +108 313 0 +108 314 0 +108 315 0 +108 316 0 +108 317 0 +108 318 0 +108 319 0 +108 320 0 +108 321 0 +108 322 0 +108 323 0 +108 324 0 +108 325 0 +108 326 0 +108 327 0 +108 328 0 +108 329 0 +108 330 0 +108 331 0 +108 332 0 +108 333 0 +108 334 0 +108 335 0 +108 336 0 +108 337 0 +108 338 0 +108 339 0 +108 340 0 +108 341 0 +108 342 0 +108 343 0 +108 344 0 +108 345 0 +108 346 0 +108 347 0 +108 348 0 +108 349 0 +108 350 0 +108 351 0 +108 352 0 +108 353 0 +108 354 0 +108 355 0 +108 356 0 +108 357 0 +108 358 0 +108 359 0 +108 360 0 +108 361 0 +108 362 0 +108 363 0 +108 364 0 +108 365 0 +108 366 0 +108 367 0 +108 368 0 +108 369 0 +108 370 0 +108 371 0 +108 372 0 +108 373 0 +108 374 0 +108 375 0 +108 376 0 +108 377 0 +108 378 0 +108 379 0 +108 380 0 +108 381 0 +108 382 0 +108 383 0 +109 110 4 +109 111 4 +109 112 4 +109 113 4 +109 114 4 +109 115 4 +109 116 4 +109 117 4 +109 118 4 +109 119 4 +109 120 4 +109 121 4 +109 122 4 +109 123 4 +109 124 4 +109 125 4 +109 126 4 +109 127 4 +109 128 4 +109 129 4 +109 130 4 +109 131 4 +109 132 4 +109 133 4 +109 134 4 +109 135 4 +109 136 4 +109 137 4 +109 138 4 +109 139 4 +109 140 4 +109 141 4 +109 142 4 +109 143 4 +109 144 4 +109 145 4 +109 146 4 +109 147 4 +109 148 4 +109 149 4 +109 150 4 +109 151 4 +109 152 4 +109 153 4 +109 154 4 +109 155 4 +109 156 4 +109 157 4 +109 158 4 +109 159 4 +109 160 4 +109 161 4 +109 162 4 +109 163 4 +109 164 4 +109 165 4 +109 166 4 +109 167 4 +109 168 4 +109 169 4 +109 170 4 +109 171 4 +109 172 4 +109 173 4 +109 174 4 +109 175 4 +109 176 4 +109 177 4 +109 178 4 +109 179 4 +109 180 4 +109 181 4 +109 182 4 +109 183 4 +109 184 4 +109 185 4 +109 186 4 +109 187 4 +109 188 4 +109 189 4 +109 190 4 +109 191 4 +109 192 0 +109 193 0 +109 194 0 +109 195 0 +109 196 0 +109 197 0 +109 198 0 +109 199 0 +109 200 0 +109 201 0 +109 202 0 +109 203 0 +109 204 0 +109 205 0 +109 206 0 +109 207 0 +109 208 0 +109 209 0 +109 210 0 +109 211 0 +109 212 0 +109 213 0 +109 214 0 +109 215 0 +109 216 0 +109 217 0 +109 218 0 +109 219 0 +109 220 0 +109 221 0 +109 222 0 +109 223 0 +109 224 0 +109 225 0 +109 226 0 +109 227 0 +109 228 0 +109 229 0 +109 230 0 +109 231 0 +109 232 0 +109 233 0 +109 234 0 +109 235 0 +109 236 0 +109 237 0 +109 238 0 +109 239 0 +109 240 0 +109 241 0 +109 242 0 +109 243 0 +109 244 0 +109 245 0 +109 246 0 +109 247 0 +109 248 0 +109 249 0 +109 250 0 +109 251 0 +109 252 0 +109 253 0 +109 254 0 +109 255 0 +109 256 0 +109 257 0 +109 258 0 +109 259 0 +109 260 0 +109 261 0 +109 262 0 +109 263 0 +109 264 0 +109 265 0 +109 266 0 +109 267 0 +109 268 0 +109 269 0 +109 270 0 +109 271 0 +109 272 0 +109 273 0 +109 274 0 +109 275 0 +109 276 0 +109 277 0 +109 278 0 +109 279 0 +109 280 0 +109 281 0 +109 282 0 +109 283 0 +109 284 0 +109 285 0 +109 286 0 +109 287 0 +109 288 0 +109 289 0 +109 290 0 +109 291 0 +109 292 0 +109 293 0 +109 294 0 +109 295 0 +109 296 0 +109 297 0 +109 298 0 +109 299 0 +109 300 0 +109 301 0 +109 302 0 +109 303 0 +109 304 0 +109 305 0 +109 306 0 +109 307 0 +109 308 0 +109 309 0 +109 310 0 +109 311 0 +109 312 0 +109 313 0 +109 314 0 +109 315 0 +109 316 0 +109 317 0 +109 318 0 +109 319 0 +109 320 0 +109 321 0 +109 322 0 +109 323 0 +109 324 0 +109 325 0 +109 326 0 +109 327 0 +109 328 0 +109 329 0 +109 330 0 +109 331 0 +109 332 0 +109 333 0 +109 334 0 +109 335 0 +109 336 0 +109 337 0 +109 338 0 +109 339 0 +109 340 0 +109 341 0 +109 342 0 +109 343 0 +109 344 0 +109 345 0 +109 346 0 +109 347 0 +109 348 0 +109 349 0 +109 350 0 +109 351 0 +109 352 0 +109 353 0 +109 354 0 +109 355 0 +109 356 0 +109 357 0 +109 358 0 +109 359 0 +109 360 0 +109 361 0 +109 362 0 +109 363 0 +109 364 0 +109 365 0 +109 366 0 +109 367 0 +109 368 0 +109 369 0 +109 370 0 +109 371 0 +109 372 0 +109 373 0 +109 374 0 +109 375 0 +109 376 0 +109 377 0 +109 378 0 +109 379 0 +109 380 0 +109 381 0 +109 382 0 +109 383 0 +110 111 4 +110 112 4 +110 113 4 +110 114 4 +110 115 4 +110 116 4 +110 117 4 +110 118 4 +110 119 4 +110 120 4 +110 121 4 +110 122 4 +110 123 4 +110 124 4 +110 125 4 +110 126 4 +110 127 4 +110 128 4 +110 129 4 +110 130 4 +110 131 4 +110 132 4 +110 133 4 +110 134 4 +110 135 4 +110 136 4 +110 137 4 +110 138 4 +110 139 4 +110 140 4 +110 141 4 +110 142 4 +110 143 4 +110 144 4 +110 145 4 +110 146 4 +110 147 4 +110 148 4 +110 149 4 +110 150 4 +110 151 4 +110 152 4 +110 153 4 +110 154 4 +110 155 4 +110 156 4 +110 157 4 +110 158 4 +110 159 4 +110 160 4 +110 161 4 +110 162 4 +110 163 4 +110 164 4 +110 165 4 +110 166 4 +110 167 4 +110 168 4 +110 169 4 +110 170 4 +110 171 4 +110 172 4 +110 173 4 +110 174 4 +110 175 4 +110 176 4 +110 177 4 +110 178 4 +110 179 4 +110 180 4 +110 181 4 +110 182 4 +110 183 4 +110 184 4 +110 185 4 +110 186 4 +110 187 4 +110 188 4 +110 189 4 +110 190 4 +110 191 4 +110 192 0 +110 193 0 +110 194 0 +110 195 0 +110 196 0 +110 197 0 +110 198 0 +110 199 0 +110 200 0 +110 201 0 +110 202 0 +110 203 0 +110 204 0 +110 205 0 +110 206 0 +110 207 0 +110 208 0 +110 209 0 +110 210 0 +110 211 0 +110 212 0 +110 213 0 +110 214 0 +110 215 0 +110 216 0 +110 217 0 +110 218 0 +110 219 0 +110 220 0 +110 221 0 +110 222 0 +110 223 0 +110 224 0 +110 225 0 +110 226 0 +110 227 0 +110 228 0 +110 229 0 +110 230 0 +110 231 0 +110 232 0 +110 233 0 +110 234 0 +110 235 0 +110 236 0 +110 237 0 +110 238 0 +110 239 0 +110 240 0 +110 241 0 +110 242 0 +110 243 0 +110 244 0 +110 245 0 +110 246 0 +110 247 0 +110 248 0 +110 249 0 +110 250 0 +110 251 0 +110 252 0 +110 253 0 +110 254 0 +110 255 0 +110 256 0 +110 257 0 +110 258 0 +110 259 0 +110 260 0 +110 261 0 +110 262 0 +110 263 0 +110 264 0 +110 265 0 +110 266 0 +110 267 0 +110 268 0 +110 269 0 +110 270 0 +110 271 0 +110 272 0 +110 273 0 +110 274 0 +110 275 0 +110 276 0 +110 277 0 +110 278 0 +110 279 0 +110 280 0 +110 281 0 +110 282 0 +110 283 0 +110 284 0 +110 285 0 +110 286 0 +110 287 0 +110 288 0 +110 289 0 +110 290 0 +110 291 0 +110 292 0 +110 293 0 +110 294 0 +110 295 0 +110 296 0 +110 297 0 +110 298 0 +110 299 0 +110 300 0 +110 301 0 +110 302 0 +110 303 0 +110 304 0 +110 305 0 +110 306 0 +110 307 0 +110 308 0 +110 309 0 +110 310 0 +110 311 0 +110 312 0 +110 313 0 +110 314 0 +110 315 0 +110 316 0 +110 317 0 +110 318 0 +110 319 0 +110 320 0 +110 321 0 +110 322 0 +110 323 0 +110 324 0 +110 325 0 +110 326 0 +110 327 0 +110 328 0 +110 329 0 +110 330 0 +110 331 0 +110 332 0 +110 333 0 +110 334 0 +110 335 0 +110 336 0 +110 337 0 +110 338 0 +110 339 0 +110 340 0 +110 341 0 +110 342 0 +110 343 0 +110 344 0 +110 345 0 +110 346 0 +110 347 0 +110 348 0 +110 349 0 +110 350 0 +110 351 0 +110 352 0 +110 353 0 +110 354 0 +110 355 0 +110 356 0 +110 357 0 +110 358 0 +110 359 0 +110 360 0 +110 361 0 +110 362 0 +110 363 0 +110 364 0 +110 365 0 +110 366 0 +110 367 0 +110 368 0 +110 369 0 +110 370 0 +110 371 0 +110 372 0 +110 373 0 +110 374 0 +110 375 0 +110 376 0 +110 377 0 +110 378 0 +110 379 0 +110 380 0 +110 381 0 +110 382 0 +110 383 0 +111 112 4 +111 113 4 +111 114 4 +111 115 4 +111 116 4 +111 117 4 +111 118 4 +111 119 4 +111 120 4 +111 121 4 +111 122 4 +111 123 4 +111 124 4 +111 125 4 +111 126 4 +111 127 4 +111 128 4 +111 129 4 +111 130 4 +111 131 4 +111 132 4 +111 133 4 +111 134 4 +111 135 4 +111 136 4 +111 137 4 +111 138 4 +111 139 4 +111 140 4 +111 141 4 +111 142 4 +111 143 4 +111 144 4 +111 145 4 +111 146 4 +111 147 4 +111 148 4 +111 149 4 +111 150 4 +111 151 4 +111 152 4 +111 153 4 +111 154 4 +111 155 4 +111 156 4 +111 157 4 +111 158 4 +111 159 4 +111 160 4 +111 161 4 +111 162 4 +111 163 4 +111 164 4 +111 165 4 +111 166 4 +111 167 4 +111 168 4 +111 169 4 +111 170 4 +111 171 4 +111 172 4 +111 173 4 +111 174 4 +111 175 4 +111 176 4 +111 177 4 +111 178 4 +111 179 4 +111 180 4 +111 181 4 +111 182 4 +111 183 4 +111 184 4 +111 185 4 +111 186 4 +111 187 4 +111 188 4 +111 189 4 +111 190 4 +111 191 4 +111 192 0 +111 193 0 +111 194 0 +111 195 0 +111 196 0 +111 197 0 +111 198 0 +111 199 0 +111 200 0 +111 201 0 +111 202 0 +111 203 0 +111 204 0 +111 205 0 +111 206 0 +111 207 0 +111 208 0 +111 209 0 +111 210 0 +111 211 0 +111 212 0 +111 213 0 +111 214 0 +111 215 0 +111 216 0 +111 217 0 +111 218 0 +111 219 0 +111 220 0 +111 221 0 +111 222 0 +111 223 0 +111 224 0 +111 225 0 +111 226 0 +111 227 0 +111 228 0 +111 229 0 +111 230 0 +111 231 0 +111 232 0 +111 233 0 +111 234 0 +111 235 0 +111 236 0 +111 237 0 +111 238 0 +111 239 0 +111 240 0 +111 241 0 +111 242 0 +111 243 0 +111 244 0 +111 245 0 +111 246 0 +111 247 0 +111 248 0 +111 249 0 +111 250 0 +111 251 0 +111 252 0 +111 253 0 +111 254 0 +111 255 0 +111 256 0 +111 257 0 +111 258 0 +111 259 0 +111 260 0 +111 261 0 +111 262 0 +111 263 0 +111 264 0 +111 265 0 +111 266 0 +111 267 0 +111 268 0 +111 269 0 +111 270 0 +111 271 0 +111 272 0 +111 273 0 +111 274 0 +111 275 0 +111 276 0 +111 277 0 +111 278 0 +111 279 0 +111 280 0 +111 281 0 +111 282 0 +111 283 0 +111 284 0 +111 285 0 +111 286 0 +111 287 0 +111 288 0 +111 289 0 +111 290 0 +111 291 0 +111 292 0 +111 293 0 +111 294 0 +111 295 0 +111 296 0 +111 297 0 +111 298 0 +111 299 0 +111 300 0 +111 301 0 +111 302 0 +111 303 0 +111 304 0 +111 305 0 +111 306 0 +111 307 0 +111 308 0 +111 309 0 +111 310 0 +111 311 0 +111 312 0 +111 313 0 +111 314 0 +111 315 0 +111 316 0 +111 317 0 +111 318 0 +111 319 0 +111 320 0 +111 321 0 +111 322 0 +111 323 0 +111 324 0 +111 325 0 +111 326 0 +111 327 0 +111 328 0 +111 329 0 +111 330 0 +111 331 0 +111 332 0 +111 333 0 +111 334 0 +111 335 0 +111 336 0 +111 337 0 +111 338 0 +111 339 0 +111 340 0 +111 341 0 +111 342 0 +111 343 0 +111 344 0 +111 345 0 +111 346 0 +111 347 0 +111 348 0 +111 349 0 +111 350 0 +111 351 0 +111 352 0 +111 353 0 +111 354 0 +111 355 0 +111 356 0 +111 357 0 +111 358 0 +111 359 0 +111 360 0 +111 361 0 +111 362 0 +111 363 0 +111 364 0 +111 365 0 +111 366 0 +111 367 0 +111 368 0 +111 369 0 +111 370 0 +111 371 0 +111 372 0 +111 373 0 +111 374 0 +111 375 0 +111 376 0 +111 377 0 +111 378 0 +111 379 0 +111 380 0 +111 381 0 +111 382 0 +111 383 0 +112 113 4 +112 114 4 +112 115 4 +112 116 4 +112 117 4 +112 118 4 +112 119 4 +112 120 4 +112 121 4 +112 122 4 +112 123 4 +112 124 4 +112 125 4 +112 126 4 +112 127 4 +112 128 4 +112 129 4 +112 130 4 +112 131 4 +112 132 4 +112 133 4 +112 134 4 +112 135 4 +112 136 4 +112 137 4 +112 138 4 +112 139 4 +112 140 4 +112 141 4 +112 142 4 +112 143 4 +112 144 4 +112 145 4 +112 146 4 +112 147 4 +112 148 4 +112 149 4 +112 150 4 +112 151 4 +112 152 4 +112 153 4 +112 154 4 +112 155 4 +112 156 4 +112 157 4 +112 158 4 +112 159 4 +112 160 4 +112 161 4 +112 162 4 +112 163 4 +112 164 4 +112 165 4 +112 166 4 +112 167 4 +112 168 4 +112 169 4 +112 170 4 +112 171 4 +112 172 4 +112 173 4 +112 174 4 +112 175 4 +112 176 4 +112 177 4 +112 178 4 +112 179 4 +112 180 4 +112 181 4 +112 182 4 +112 183 4 +112 184 4 +112 185 4 +112 186 4 +112 187 4 +112 188 4 +112 189 4 +112 190 4 +112 191 4 +112 192 0 +112 193 0 +112 194 0 +112 195 0 +112 196 0 +112 197 0 +112 198 0 +112 199 0 +112 200 0 +112 201 0 +112 202 0 +112 203 0 +112 204 0 +112 205 0 +112 206 0 +112 207 0 +112 208 0 +112 209 0 +112 210 0 +112 211 0 +112 212 0 +112 213 0 +112 214 0 +112 215 0 +112 216 0 +112 217 0 +112 218 0 +112 219 0 +112 220 0 +112 221 0 +112 222 0 +112 223 0 +112 224 0 +112 225 0 +112 226 0 +112 227 0 +112 228 0 +112 229 0 +112 230 0 +112 231 0 +112 232 0 +112 233 0 +112 234 0 +112 235 0 +112 236 0 +112 237 0 +112 238 0 +112 239 0 +112 240 0 +112 241 0 +112 242 0 +112 243 0 +112 244 0 +112 245 0 +112 246 0 +112 247 0 +112 248 0 +112 249 0 +112 250 0 +112 251 0 +112 252 0 +112 253 0 +112 254 0 +112 255 0 +112 256 0 +112 257 0 +112 258 0 +112 259 0 +112 260 0 +112 261 0 +112 262 0 +112 263 0 +112 264 0 +112 265 0 +112 266 0 +112 267 0 +112 268 0 +112 269 0 +112 270 0 +112 271 0 +112 272 0 +112 273 0 +112 274 0 +112 275 0 +112 276 0 +112 277 0 +112 278 0 +112 279 0 +112 280 0 +112 281 0 +112 282 0 +112 283 0 +112 284 0 +112 285 0 +112 286 0 +112 287 0 +112 288 0 +112 289 0 +112 290 0 +112 291 0 +112 292 0 +112 293 0 +112 294 0 +112 295 0 +112 296 0 +112 297 0 +112 298 0 +112 299 0 +112 300 0 +112 301 0 +112 302 0 +112 303 0 +112 304 0 +112 305 0 +112 306 0 +112 307 0 +112 308 0 +112 309 0 +112 310 0 +112 311 0 +112 312 0 +112 313 0 +112 314 0 +112 315 0 +112 316 0 +112 317 0 +112 318 0 +112 319 0 +112 320 0 +112 321 0 +112 322 0 +112 323 0 +112 324 0 +112 325 0 +112 326 0 +112 327 0 +112 328 0 +112 329 0 +112 330 0 +112 331 0 +112 332 0 +112 333 0 +112 334 0 +112 335 0 +112 336 0 +112 337 0 +112 338 0 +112 339 0 +112 340 0 +112 341 0 +112 342 0 +112 343 0 +112 344 0 +112 345 0 +112 346 0 +112 347 0 +112 348 0 +112 349 0 +112 350 0 +112 351 0 +112 352 0 +112 353 0 +112 354 0 +112 355 0 +112 356 0 +112 357 0 +112 358 0 +112 359 0 +112 360 0 +112 361 0 +112 362 0 +112 363 0 +112 364 0 +112 365 0 +112 366 0 +112 367 0 +112 368 0 +112 369 0 +112 370 0 +112 371 0 +112 372 0 +112 373 0 +112 374 0 +112 375 0 +112 376 0 +112 377 0 +112 378 0 +112 379 0 +112 380 0 +112 381 0 +112 382 0 +112 383 0 +113 114 4 +113 115 4 +113 116 4 +113 117 4 +113 118 4 +113 119 4 +113 120 4 +113 121 4 +113 122 4 +113 123 4 +113 124 4 +113 125 4 +113 126 4 +113 127 4 +113 128 4 +113 129 4 +113 130 4 +113 131 4 +113 132 4 +113 133 4 +113 134 4 +113 135 4 +113 136 4 +113 137 4 +113 138 4 +113 139 4 +113 140 4 +113 141 4 +113 142 4 +113 143 4 +113 144 4 +113 145 4 +113 146 4 +113 147 4 +113 148 4 +113 149 4 +113 150 4 +113 151 4 +113 152 4 +113 153 4 +113 154 4 +113 155 4 +113 156 4 +113 157 4 +113 158 4 +113 159 4 +113 160 4 +113 161 4 +113 162 4 +113 163 4 +113 164 4 +113 165 4 +113 166 4 +113 167 4 +113 168 4 +113 169 4 +113 170 4 +113 171 4 +113 172 4 +113 173 4 +113 174 4 +113 175 4 +113 176 4 +113 177 4 +113 178 4 +113 179 4 +113 180 4 +113 181 4 +113 182 4 +113 183 4 +113 184 4 +113 185 4 +113 186 4 +113 187 4 +113 188 4 +113 189 4 +113 190 4 +113 191 4 +113 192 0 +113 193 0 +113 194 0 +113 195 0 +113 196 0 +113 197 0 +113 198 0 +113 199 0 +113 200 0 +113 201 0 +113 202 0 +113 203 0 +113 204 0 +113 205 0 +113 206 0 +113 207 0 +113 208 0 +113 209 0 +113 210 0 +113 211 0 +113 212 0 +113 213 0 +113 214 0 +113 215 0 +113 216 0 +113 217 0 +113 218 0 +113 219 0 +113 220 0 +113 221 0 +113 222 0 +113 223 0 +113 224 0 +113 225 0 +113 226 0 +113 227 0 +113 228 0 +113 229 0 +113 230 0 +113 231 0 +113 232 0 +113 233 0 +113 234 0 +113 235 0 +113 236 0 +113 237 0 +113 238 0 +113 239 0 +113 240 0 +113 241 0 +113 242 0 +113 243 0 +113 244 0 +113 245 0 +113 246 0 +113 247 0 +113 248 0 +113 249 0 +113 250 0 +113 251 0 +113 252 0 +113 253 0 +113 254 0 +113 255 0 +113 256 0 +113 257 0 +113 258 0 +113 259 0 +113 260 0 +113 261 0 +113 262 0 +113 263 0 +113 264 0 +113 265 0 +113 266 0 +113 267 0 +113 268 0 +113 269 0 +113 270 0 +113 271 0 +113 272 0 +113 273 0 +113 274 0 +113 275 0 +113 276 0 +113 277 0 +113 278 0 +113 279 0 +113 280 0 +113 281 0 +113 282 0 +113 283 0 +113 284 0 +113 285 0 +113 286 0 +113 287 0 +113 288 0 +113 289 0 +113 290 0 +113 291 0 +113 292 0 +113 293 0 +113 294 0 +113 295 0 +113 296 0 +113 297 0 +113 298 0 +113 299 0 +113 300 0 +113 301 0 +113 302 0 +113 303 0 +113 304 0 +113 305 0 +113 306 0 +113 307 0 +113 308 0 +113 309 0 +113 310 0 +113 311 0 +113 312 0 +113 313 0 +113 314 0 +113 315 0 +113 316 0 +113 317 0 +113 318 0 +113 319 0 +113 320 0 +113 321 0 +113 322 0 +113 323 0 +113 324 0 +113 325 0 +113 326 0 +113 327 0 +113 328 0 +113 329 0 +113 330 0 +113 331 0 +113 332 0 +113 333 0 +113 334 0 +113 335 0 +113 336 0 +113 337 0 +113 338 0 +113 339 0 +113 340 0 +113 341 0 +113 342 0 +113 343 0 +113 344 0 +113 345 0 +113 346 0 +113 347 0 +113 348 0 +113 349 0 +113 350 0 +113 351 0 +113 352 0 +113 353 0 +113 354 0 +113 355 0 +113 356 0 +113 357 0 +113 358 0 +113 359 0 +113 360 0 +113 361 0 +113 362 0 +113 363 0 +113 364 0 +113 365 0 +113 366 0 +113 367 0 +113 368 0 +113 369 0 +113 370 0 +113 371 0 +113 372 0 +113 373 0 +113 374 0 +113 375 0 +113 376 0 +113 377 0 +113 378 0 +113 379 0 +113 380 0 +113 381 0 +113 382 0 +113 383 0 +114 115 4 +114 116 4 +114 117 4 +114 118 4 +114 119 4 +114 120 4 +114 121 4 +114 122 4 +114 123 4 +114 124 4 +114 125 4 +114 126 4 +114 127 4 +114 128 4 +114 129 4 +114 130 4 +114 131 4 +114 132 4 +114 133 4 +114 134 4 +114 135 4 +114 136 4 +114 137 4 +114 138 4 +114 139 4 +114 140 4 +114 141 4 +114 142 4 +114 143 4 +114 144 4 +114 145 4 +114 146 4 +114 147 4 +114 148 4 +114 149 4 +114 150 4 +114 151 4 +114 152 4 +114 153 4 +114 154 4 +114 155 4 +114 156 4 +114 157 4 +114 158 4 +114 159 4 +114 160 4 +114 161 4 +114 162 4 +114 163 4 +114 164 4 +114 165 4 +114 166 4 +114 167 4 +114 168 4 +114 169 4 +114 170 4 +114 171 4 +114 172 4 +114 173 4 +114 174 4 +114 175 4 +114 176 4 +114 177 4 +114 178 4 +114 179 4 +114 180 4 +114 181 4 +114 182 4 +114 183 4 +114 184 4 +114 185 4 +114 186 4 +114 187 4 +114 188 4 +114 189 4 +114 190 4 +114 191 4 +114 192 0 +114 193 0 +114 194 0 +114 195 0 +114 196 0 +114 197 0 +114 198 0 +114 199 0 +114 200 0 +114 201 0 +114 202 0 +114 203 0 +114 204 0 +114 205 0 +114 206 0 +114 207 0 +114 208 0 +114 209 0 +114 210 0 +114 211 0 +114 212 0 +114 213 0 +114 214 0 +114 215 0 +114 216 0 +114 217 0 +114 218 0 +114 219 0 +114 220 0 +114 221 0 +114 222 0 +114 223 0 +114 224 0 +114 225 0 +114 226 0 +114 227 0 +114 228 0 +114 229 0 +114 230 0 +114 231 0 +114 232 0 +114 233 0 +114 234 0 +114 235 0 +114 236 0 +114 237 0 +114 238 0 +114 239 0 +114 240 0 +114 241 0 +114 242 0 +114 243 0 +114 244 0 +114 245 0 +114 246 0 +114 247 0 +114 248 0 +114 249 0 +114 250 0 +114 251 0 +114 252 0 +114 253 0 +114 254 0 +114 255 0 +114 256 0 +114 257 0 +114 258 0 +114 259 0 +114 260 0 +114 261 0 +114 262 0 +114 263 0 +114 264 0 +114 265 0 +114 266 0 +114 267 0 +114 268 0 +114 269 0 +114 270 0 +114 271 0 +114 272 0 +114 273 0 +114 274 0 +114 275 0 +114 276 0 +114 277 0 +114 278 0 +114 279 0 +114 280 0 +114 281 0 +114 282 0 +114 283 0 +114 284 0 +114 285 0 +114 286 0 +114 287 0 +114 288 0 +114 289 0 +114 290 0 +114 291 0 +114 292 0 +114 293 0 +114 294 0 +114 295 0 +114 296 0 +114 297 0 +114 298 0 +114 299 0 +114 300 0 +114 301 0 +114 302 0 +114 303 0 +114 304 0 +114 305 0 +114 306 0 +114 307 0 +114 308 0 +114 309 0 +114 310 0 +114 311 0 +114 312 0 +114 313 0 +114 314 0 +114 315 0 +114 316 0 +114 317 0 +114 318 0 +114 319 0 +114 320 0 +114 321 0 +114 322 0 +114 323 0 +114 324 0 +114 325 0 +114 326 0 +114 327 0 +114 328 0 +114 329 0 +114 330 0 +114 331 0 +114 332 0 +114 333 0 +114 334 0 +114 335 0 +114 336 0 +114 337 0 +114 338 0 +114 339 0 +114 340 0 +114 341 0 +114 342 0 +114 343 0 +114 344 0 +114 345 0 +114 346 0 +114 347 0 +114 348 0 +114 349 0 +114 350 0 +114 351 0 +114 352 0 +114 353 0 +114 354 0 +114 355 0 +114 356 0 +114 357 0 +114 358 0 +114 359 0 +114 360 0 +114 361 0 +114 362 0 +114 363 0 +114 364 0 +114 365 0 +114 366 0 +114 367 0 +114 368 0 +114 369 0 +114 370 0 +114 371 0 +114 372 0 +114 373 0 +114 374 0 +114 375 0 +114 376 0 +114 377 0 +114 378 0 +114 379 0 +114 380 0 +114 381 0 +114 382 0 +114 383 0 +115 116 4 +115 117 4 +115 118 4 +115 119 4 +115 120 4 +115 121 4 +115 122 4 +115 123 4 +115 124 4 +115 125 4 +115 126 4 +115 127 4 +115 128 4 +115 129 4 +115 130 4 +115 131 4 +115 132 4 +115 133 4 +115 134 4 +115 135 4 +115 136 4 +115 137 4 +115 138 4 +115 139 4 +115 140 4 +115 141 4 +115 142 4 +115 143 4 +115 144 4 +115 145 4 +115 146 4 +115 147 4 +115 148 4 +115 149 4 +115 150 4 +115 151 4 +115 152 4 +115 153 4 +115 154 4 +115 155 4 +115 156 4 +115 157 4 +115 158 4 +115 159 4 +115 160 4 +115 161 4 +115 162 4 +115 163 4 +115 164 4 +115 165 4 +115 166 4 +115 167 4 +115 168 4 +115 169 4 +115 170 4 +115 171 4 +115 172 4 +115 173 4 +115 174 4 +115 175 4 +115 176 4 +115 177 4 +115 178 4 +115 179 4 +115 180 4 +115 181 4 +115 182 4 +115 183 4 +115 184 4 +115 185 4 +115 186 4 +115 187 4 +115 188 4 +115 189 4 +115 190 4 +115 191 4 +115 192 0 +115 193 0 +115 194 0 +115 195 0 +115 196 0 +115 197 0 +115 198 0 +115 199 0 +115 200 0 +115 201 0 +115 202 0 +115 203 0 +115 204 0 +115 205 0 +115 206 0 +115 207 0 +115 208 0 +115 209 0 +115 210 0 +115 211 0 +115 212 0 +115 213 0 +115 214 0 +115 215 0 +115 216 0 +115 217 0 +115 218 0 +115 219 0 +115 220 0 +115 221 0 +115 222 0 +115 223 0 +115 224 0 +115 225 0 +115 226 0 +115 227 0 +115 228 0 +115 229 0 +115 230 0 +115 231 0 +115 232 0 +115 233 0 +115 234 0 +115 235 0 +115 236 0 +115 237 0 +115 238 0 +115 239 0 +115 240 0 +115 241 0 +115 242 0 +115 243 0 +115 244 0 +115 245 0 +115 246 0 +115 247 0 +115 248 0 +115 249 0 +115 250 0 +115 251 0 +115 252 0 +115 253 0 +115 254 0 +115 255 0 +115 256 0 +115 257 0 +115 258 0 +115 259 0 +115 260 0 +115 261 0 +115 262 0 +115 263 0 +115 264 0 +115 265 0 +115 266 0 +115 267 0 +115 268 0 +115 269 0 +115 270 0 +115 271 0 +115 272 0 +115 273 0 +115 274 0 +115 275 0 +115 276 0 +115 277 0 +115 278 0 +115 279 0 +115 280 0 +115 281 0 +115 282 0 +115 283 0 +115 284 0 +115 285 0 +115 286 0 +115 287 0 +115 288 0 +115 289 0 +115 290 0 +115 291 0 +115 292 0 +115 293 0 +115 294 0 +115 295 0 +115 296 0 +115 297 0 +115 298 0 +115 299 0 +115 300 0 +115 301 0 +115 302 0 +115 303 0 +115 304 0 +115 305 0 +115 306 0 +115 307 0 +115 308 0 +115 309 0 +115 310 0 +115 311 0 +115 312 0 +115 313 0 +115 314 0 +115 315 0 +115 316 0 +115 317 0 +115 318 0 +115 319 0 +115 320 0 +115 321 0 +115 322 0 +115 323 0 +115 324 0 +115 325 0 +115 326 0 +115 327 0 +115 328 0 +115 329 0 +115 330 0 +115 331 0 +115 332 0 +115 333 0 +115 334 0 +115 335 0 +115 336 0 +115 337 0 +115 338 0 +115 339 0 +115 340 0 +115 341 0 +115 342 0 +115 343 0 +115 344 0 +115 345 0 +115 346 0 +115 347 0 +115 348 0 +115 349 0 +115 350 0 +115 351 0 +115 352 0 +115 353 0 +115 354 0 +115 355 0 +115 356 0 +115 357 0 +115 358 0 +115 359 0 +115 360 0 +115 361 0 +115 362 0 +115 363 0 +115 364 0 +115 365 0 +115 366 0 +115 367 0 +115 368 0 +115 369 0 +115 370 0 +115 371 0 +115 372 0 +115 373 0 +115 374 0 +115 375 0 +115 376 0 +115 377 0 +115 378 0 +115 379 0 +115 380 0 +115 381 0 +115 382 0 +115 383 0 +116 117 4 +116 118 4 +116 119 4 +116 120 4 +116 121 4 +116 122 4 +116 123 4 +116 124 4 +116 125 4 +116 126 4 +116 127 4 +116 128 4 +116 129 4 +116 130 4 +116 131 4 +116 132 4 +116 133 4 +116 134 4 +116 135 4 +116 136 4 +116 137 4 +116 138 4 +116 139 4 +116 140 4 +116 141 4 +116 142 4 +116 143 4 +116 144 4 +116 145 4 +116 146 4 +116 147 4 +116 148 4 +116 149 4 +116 150 4 +116 151 4 +116 152 4 +116 153 4 +116 154 4 +116 155 4 +116 156 4 +116 157 4 +116 158 4 +116 159 4 +116 160 4 +116 161 4 +116 162 4 +116 163 4 +116 164 4 +116 165 4 +116 166 4 +116 167 4 +116 168 4 +116 169 4 +116 170 4 +116 171 4 +116 172 4 +116 173 4 +116 174 4 +116 175 4 +116 176 4 +116 177 4 +116 178 4 +116 179 4 +116 180 4 +116 181 4 +116 182 4 +116 183 4 +116 184 4 +116 185 4 +116 186 4 +116 187 4 +116 188 4 +116 189 4 +116 190 4 +116 191 4 +116 192 0 +116 193 0 +116 194 0 +116 195 0 +116 196 0 +116 197 0 +116 198 0 +116 199 0 +116 200 0 +116 201 0 +116 202 0 +116 203 0 +116 204 0 +116 205 0 +116 206 0 +116 207 0 +116 208 0 +116 209 0 +116 210 0 +116 211 0 +116 212 0 +116 213 0 +116 214 0 +116 215 0 +116 216 0 +116 217 0 +116 218 0 +116 219 0 +116 220 0 +116 221 0 +116 222 0 +116 223 0 +116 224 0 +116 225 0 +116 226 0 +116 227 0 +116 228 0 +116 229 0 +116 230 0 +116 231 0 +116 232 0 +116 233 0 +116 234 0 +116 235 0 +116 236 0 +116 237 0 +116 238 0 +116 239 0 +116 240 0 +116 241 0 +116 242 0 +116 243 0 +116 244 0 +116 245 0 +116 246 0 +116 247 0 +116 248 0 +116 249 0 +116 250 0 +116 251 0 +116 252 0 +116 253 0 +116 254 0 +116 255 0 +116 256 0 +116 257 0 +116 258 0 +116 259 0 +116 260 0 +116 261 0 +116 262 0 +116 263 0 +116 264 0 +116 265 0 +116 266 0 +116 267 0 +116 268 0 +116 269 0 +116 270 0 +116 271 0 +116 272 0 +116 273 0 +116 274 0 +116 275 0 +116 276 0 +116 277 0 +116 278 0 +116 279 0 +116 280 0 +116 281 0 +116 282 0 +116 283 0 +116 284 0 +116 285 0 +116 286 0 +116 287 0 +116 288 0 +116 289 0 +116 290 0 +116 291 0 +116 292 0 +116 293 0 +116 294 0 +116 295 0 +116 296 0 +116 297 0 +116 298 0 +116 299 0 +116 300 0 +116 301 0 +116 302 0 +116 303 0 +116 304 0 +116 305 0 +116 306 0 +116 307 0 +116 308 0 +116 309 0 +116 310 0 +116 311 0 +116 312 0 +116 313 0 +116 314 0 +116 315 0 +116 316 0 +116 317 0 +116 318 0 +116 319 0 +116 320 0 +116 321 0 +116 322 0 +116 323 0 +116 324 0 +116 325 0 +116 326 0 +116 327 0 +116 328 0 +116 329 0 +116 330 0 +116 331 0 +116 332 0 +116 333 0 +116 334 0 +116 335 0 +116 336 0 +116 337 0 +116 338 0 +116 339 0 +116 340 0 +116 341 0 +116 342 0 +116 343 0 +116 344 0 +116 345 0 +116 346 0 +116 347 0 +116 348 0 +116 349 0 +116 350 0 +116 351 0 +116 352 0 +116 353 0 +116 354 0 +116 355 0 +116 356 0 +116 357 0 +116 358 0 +116 359 0 +116 360 0 +116 361 0 +116 362 0 +116 363 0 +116 364 0 +116 365 0 +116 366 0 +116 367 0 +116 368 0 +116 369 0 +116 370 0 +116 371 0 +116 372 0 +116 373 0 +116 374 0 +116 375 0 +116 376 0 +116 377 0 +116 378 0 +116 379 0 +116 380 0 +116 381 0 +116 382 0 +116 383 0 +117 118 4 +117 119 4 +117 120 4 +117 121 4 +117 122 4 +117 123 4 +117 124 4 +117 125 4 +117 126 4 +117 127 4 +117 128 4 +117 129 4 +117 130 4 +117 131 4 +117 132 4 +117 133 4 +117 134 4 +117 135 4 +117 136 4 +117 137 4 +117 138 4 +117 139 4 +117 140 4 +117 141 4 +117 142 4 +117 143 4 +117 144 4 +117 145 4 +117 146 4 +117 147 4 +117 148 4 +117 149 4 +117 150 4 +117 151 4 +117 152 4 +117 153 4 +117 154 4 +117 155 4 +117 156 4 +117 157 4 +117 158 4 +117 159 4 +117 160 4 +117 161 4 +117 162 4 +117 163 4 +117 164 4 +117 165 4 +117 166 4 +117 167 4 +117 168 4 +117 169 4 +117 170 4 +117 171 4 +117 172 4 +117 173 4 +117 174 4 +117 175 4 +117 176 4 +117 177 4 +117 178 4 +117 179 4 +117 180 4 +117 181 4 +117 182 4 +117 183 4 +117 184 4 +117 185 4 +117 186 4 +117 187 4 +117 188 4 +117 189 4 +117 190 4 +117 191 4 +117 192 0 +117 193 0 +117 194 0 +117 195 0 +117 196 0 +117 197 0 +117 198 0 +117 199 0 +117 200 0 +117 201 0 +117 202 0 +117 203 0 +117 204 0 +117 205 0 +117 206 0 +117 207 0 +117 208 0 +117 209 0 +117 210 0 +117 211 0 +117 212 0 +117 213 0 +117 214 0 +117 215 0 +117 216 0 +117 217 0 +117 218 0 +117 219 0 +117 220 0 +117 221 0 +117 222 0 +117 223 0 +117 224 0 +117 225 0 +117 226 0 +117 227 0 +117 228 0 +117 229 0 +117 230 0 +117 231 0 +117 232 0 +117 233 0 +117 234 0 +117 235 0 +117 236 0 +117 237 0 +117 238 0 +117 239 0 +117 240 0 +117 241 0 +117 242 0 +117 243 0 +117 244 0 +117 245 0 +117 246 0 +117 247 0 +117 248 0 +117 249 0 +117 250 0 +117 251 0 +117 252 0 +117 253 0 +117 254 0 +117 255 0 +117 256 0 +117 257 0 +117 258 0 +117 259 0 +117 260 0 +117 261 0 +117 262 0 +117 263 0 +117 264 0 +117 265 0 +117 266 0 +117 267 0 +117 268 0 +117 269 0 +117 270 0 +117 271 0 +117 272 0 +117 273 0 +117 274 0 +117 275 0 +117 276 0 +117 277 0 +117 278 0 +117 279 0 +117 280 0 +117 281 0 +117 282 0 +117 283 0 +117 284 0 +117 285 0 +117 286 0 +117 287 0 +117 288 0 +117 289 0 +117 290 0 +117 291 0 +117 292 0 +117 293 0 +117 294 0 +117 295 0 +117 296 0 +117 297 0 +117 298 0 +117 299 0 +117 300 0 +117 301 0 +117 302 0 +117 303 0 +117 304 0 +117 305 0 +117 306 0 +117 307 0 +117 308 0 +117 309 0 +117 310 0 +117 311 0 +117 312 0 +117 313 0 +117 314 0 +117 315 0 +117 316 0 +117 317 0 +117 318 0 +117 319 0 +117 320 0 +117 321 0 +117 322 0 +117 323 0 +117 324 0 +117 325 0 +117 326 0 +117 327 0 +117 328 0 +117 329 0 +117 330 0 +117 331 0 +117 332 0 +117 333 0 +117 334 0 +117 335 0 +117 336 0 +117 337 0 +117 338 0 +117 339 0 +117 340 0 +117 341 0 +117 342 0 +117 343 0 +117 344 0 +117 345 0 +117 346 0 +117 347 0 +117 348 0 +117 349 0 +117 350 0 +117 351 0 +117 352 0 +117 353 0 +117 354 0 +117 355 0 +117 356 0 +117 357 0 +117 358 0 +117 359 0 +117 360 0 +117 361 0 +117 362 0 +117 363 0 +117 364 0 +117 365 0 +117 366 0 +117 367 0 +117 368 0 +117 369 0 +117 370 0 +117 371 0 +117 372 0 +117 373 0 +117 374 0 +117 375 0 +117 376 0 +117 377 0 +117 378 0 +117 379 0 +117 380 0 +117 381 0 +117 382 0 +117 383 0 +118 119 4 +118 120 4 +118 121 4 +118 122 4 +118 123 4 +118 124 4 +118 125 4 +118 126 4 +118 127 4 +118 128 4 +118 129 4 +118 130 4 +118 131 4 +118 132 4 +118 133 4 +118 134 4 +118 135 4 +118 136 4 +118 137 4 +118 138 4 +118 139 4 +118 140 4 +118 141 4 +118 142 4 +118 143 4 +118 144 4 +118 145 4 +118 146 4 +118 147 4 +118 148 4 +118 149 4 +118 150 4 +118 151 4 +118 152 4 +118 153 4 +118 154 4 +118 155 4 +118 156 4 +118 157 4 +118 158 4 +118 159 4 +118 160 4 +118 161 4 +118 162 4 +118 163 4 +118 164 4 +118 165 4 +118 166 4 +118 167 4 +118 168 4 +118 169 4 +118 170 4 +118 171 4 +118 172 4 +118 173 4 +118 174 4 +118 175 4 +118 176 4 +118 177 4 +118 178 4 +118 179 4 +118 180 4 +118 181 4 +118 182 4 +118 183 4 +118 184 4 +118 185 4 +118 186 4 +118 187 4 +118 188 4 +118 189 4 +118 190 4 +118 191 4 +118 192 0 +118 193 0 +118 194 0 +118 195 0 +118 196 0 +118 197 0 +118 198 0 +118 199 0 +118 200 0 +118 201 0 +118 202 0 +118 203 0 +118 204 0 +118 205 0 +118 206 0 +118 207 0 +118 208 0 +118 209 0 +118 210 0 +118 211 0 +118 212 0 +118 213 0 +118 214 0 +118 215 0 +118 216 0 +118 217 0 +118 218 0 +118 219 0 +118 220 0 +118 221 0 +118 222 0 +118 223 0 +118 224 0 +118 225 0 +118 226 0 +118 227 0 +118 228 0 +118 229 0 +118 230 0 +118 231 0 +118 232 0 +118 233 0 +118 234 0 +118 235 0 +118 236 0 +118 237 0 +118 238 0 +118 239 0 +118 240 0 +118 241 0 +118 242 0 +118 243 0 +118 244 0 +118 245 0 +118 246 0 +118 247 0 +118 248 0 +118 249 0 +118 250 0 +118 251 0 +118 252 0 +118 253 0 +118 254 0 +118 255 0 +118 256 0 +118 257 0 +118 258 0 +118 259 0 +118 260 0 +118 261 0 +118 262 0 +118 263 0 +118 264 0 +118 265 0 +118 266 0 +118 267 0 +118 268 0 +118 269 0 +118 270 0 +118 271 0 +118 272 0 +118 273 0 +118 274 0 +118 275 0 +118 276 0 +118 277 0 +118 278 0 +118 279 0 +118 280 0 +118 281 0 +118 282 0 +118 283 0 +118 284 0 +118 285 0 +118 286 0 +118 287 0 +118 288 0 +118 289 0 +118 290 0 +118 291 0 +118 292 0 +118 293 0 +118 294 0 +118 295 0 +118 296 0 +118 297 0 +118 298 0 +118 299 0 +118 300 0 +118 301 0 +118 302 0 +118 303 0 +118 304 0 +118 305 0 +118 306 0 +118 307 0 +118 308 0 +118 309 0 +118 310 0 +118 311 0 +118 312 0 +118 313 0 +118 314 0 +118 315 0 +118 316 0 +118 317 0 +118 318 0 +118 319 0 +118 320 0 +118 321 0 +118 322 0 +118 323 0 +118 324 0 +118 325 0 +118 326 0 +118 327 0 +118 328 0 +118 329 0 +118 330 0 +118 331 0 +118 332 0 +118 333 0 +118 334 0 +118 335 0 +118 336 0 +118 337 0 +118 338 0 +118 339 0 +118 340 0 +118 341 0 +118 342 0 +118 343 0 +118 344 0 +118 345 0 +118 346 0 +118 347 0 +118 348 0 +118 349 0 +118 350 0 +118 351 0 +118 352 0 +118 353 0 +118 354 0 +118 355 0 +118 356 0 +118 357 0 +118 358 0 +118 359 0 +118 360 0 +118 361 0 +118 362 0 +118 363 0 +118 364 0 +118 365 0 +118 366 0 +118 367 0 +118 368 0 +118 369 0 +118 370 0 +118 371 0 +118 372 0 +118 373 0 +118 374 0 +118 375 0 +118 376 0 +118 377 0 +118 378 0 +118 379 0 +118 380 0 +118 381 0 +118 382 0 +118 383 0 +119 120 4 +119 121 4 +119 122 4 +119 123 4 +119 124 4 +119 125 4 +119 126 4 +119 127 4 +119 128 4 +119 129 4 +119 130 4 +119 131 4 +119 132 4 +119 133 4 +119 134 4 +119 135 4 +119 136 4 +119 137 4 +119 138 4 +119 139 4 +119 140 4 +119 141 4 +119 142 4 +119 143 4 +119 144 4 +119 145 4 +119 146 4 +119 147 4 +119 148 4 +119 149 4 +119 150 4 +119 151 4 +119 152 4 +119 153 4 +119 154 4 +119 155 4 +119 156 4 +119 157 4 +119 158 4 +119 159 4 +119 160 4 +119 161 4 +119 162 4 +119 163 4 +119 164 4 +119 165 4 +119 166 4 +119 167 4 +119 168 4 +119 169 4 +119 170 4 +119 171 4 +119 172 4 +119 173 4 +119 174 4 +119 175 4 +119 176 4 +119 177 4 +119 178 4 +119 179 4 +119 180 4 +119 181 4 +119 182 4 +119 183 4 +119 184 4 +119 185 4 +119 186 4 +119 187 4 +119 188 4 +119 189 4 +119 190 4 +119 191 4 +119 192 0 +119 193 0 +119 194 0 +119 195 0 +119 196 0 +119 197 0 +119 198 0 +119 199 0 +119 200 0 +119 201 0 +119 202 0 +119 203 0 +119 204 0 +119 205 0 +119 206 0 +119 207 0 +119 208 0 +119 209 0 +119 210 0 +119 211 0 +119 212 0 +119 213 0 +119 214 0 +119 215 0 +119 216 0 +119 217 0 +119 218 0 +119 219 0 +119 220 0 +119 221 0 +119 222 0 +119 223 0 +119 224 0 +119 225 0 +119 226 0 +119 227 0 +119 228 0 +119 229 0 +119 230 0 +119 231 0 +119 232 0 +119 233 0 +119 234 0 +119 235 0 +119 236 0 +119 237 0 +119 238 0 +119 239 0 +119 240 0 +119 241 0 +119 242 0 +119 243 0 +119 244 0 +119 245 0 +119 246 0 +119 247 0 +119 248 0 +119 249 0 +119 250 0 +119 251 0 +119 252 0 +119 253 0 +119 254 0 +119 255 0 +119 256 0 +119 257 0 +119 258 0 +119 259 0 +119 260 0 +119 261 0 +119 262 0 +119 263 0 +119 264 0 +119 265 0 +119 266 0 +119 267 0 +119 268 0 +119 269 0 +119 270 0 +119 271 0 +119 272 0 +119 273 0 +119 274 0 +119 275 0 +119 276 0 +119 277 0 +119 278 0 +119 279 0 +119 280 0 +119 281 0 +119 282 0 +119 283 0 +119 284 0 +119 285 0 +119 286 0 +119 287 0 +119 288 0 +119 289 0 +119 290 0 +119 291 0 +119 292 0 +119 293 0 +119 294 0 +119 295 0 +119 296 0 +119 297 0 +119 298 0 +119 299 0 +119 300 0 +119 301 0 +119 302 0 +119 303 0 +119 304 0 +119 305 0 +119 306 0 +119 307 0 +119 308 0 +119 309 0 +119 310 0 +119 311 0 +119 312 0 +119 313 0 +119 314 0 +119 315 0 +119 316 0 +119 317 0 +119 318 0 +119 319 0 +119 320 0 +119 321 0 +119 322 0 +119 323 0 +119 324 0 +119 325 0 +119 326 0 +119 327 0 +119 328 0 +119 329 0 +119 330 0 +119 331 0 +119 332 0 +119 333 0 +119 334 0 +119 335 0 +119 336 0 +119 337 0 +119 338 0 +119 339 0 +119 340 0 +119 341 0 +119 342 0 +119 343 0 +119 344 0 +119 345 0 +119 346 0 +119 347 0 +119 348 0 +119 349 0 +119 350 0 +119 351 0 +119 352 0 +119 353 0 +119 354 0 +119 355 0 +119 356 0 +119 357 0 +119 358 0 +119 359 0 +119 360 0 +119 361 0 +119 362 0 +119 363 0 +119 364 0 +119 365 0 +119 366 0 +119 367 0 +119 368 0 +119 369 0 +119 370 0 +119 371 0 +119 372 0 +119 373 0 +119 374 0 +119 375 0 +119 376 0 +119 377 0 +119 378 0 +119 379 0 +119 380 0 +119 381 0 +119 382 0 +119 383 0 +120 121 4 +120 122 4 +120 123 4 +120 124 4 +120 125 4 +120 126 4 +120 127 4 +120 128 4 +120 129 4 +120 130 4 +120 131 4 +120 132 4 +120 133 4 +120 134 4 +120 135 4 +120 136 4 +120 137 4 +120 138 4 +120 139 4 +120 140 4 +120 141 4 +120 142 4 +120 143 4 +120 144 4 +120 145 4 +120 146 4 +120 147 4 +120 148 4 +120 149 4 +120 150 4 +120 151 4 +120 152 4 +120 153 4 +120 154 4 +120 155 4 +120 156 4 +120 157 4 +120 158 4 +120 159 4 +120 160 4 +120 161 4 +120 162 4 +120 163 4 +120 164 4 +120 165 4 +120 166 4 +120 167 4 +120 168 4 +120 169 4 +120 170 4 +120 171 4 +120 172 4 +120 173 4 +120 174 4 +120 175 4 +120 176 4 +120 177 4 +120 178 4 +120 179 4 +120 180 4 +120 181 4 +120 182 4 +120 183 4 +120 184 4 +120 185 4 +120 186 4 +120 187 4 +120 188 4 +120 189 4 +120 190 4 +120 191 4 +120 192 0 +120 193 0 +120 194 0 +120 195 0 +120 196 0 +120 197 0 +120 198 0 +120 199 0 +120 200 0 +120 201 0 +120 202 0 +120 203 0 +120 204 0 +120 205 0 +120 206 0 +120 207 0 +120 208 0 +120 209 0 +120 210 0 +120 211 0 +120 212 0 +120 213 0 +120 214 0 +120 215 0 +120 216 0 +120 217 0 +120 218 0 +120 219 0 +120 220 0 +120 221 0 +120 222 0 +120 223 0 +120 224 0 +120 225 0 +120 226 0 +120 227 0 +120 228 0 +120 229 0 +120 230 0 +120 231 0 +120 232 0 +120 233 0 +120 234 0 +120 235 0 +120 236 0 +120 237 0 +120 238 0 +120 239 0 +120 240 0 +120 241 0 +120 242 0 +120 243 0 +120 244 0 +120 245 0 +120 246 0 +120 247 0 +120 248 0 +120 249 0 +120 250 0 +120 251 0 +120 252 0 +120 253 0 +120 254 0 +120 255 0 +120 256 0 +120 257 0 +120 258 0 +120 259 0 +120 260 0 +120 261 0 +120 262 0 +120 263 0 +120 264 0 +120 265 0 +120 266 0 +120 267 0 +120 268 0 +120 269 0 +120 270 0 +120 271 0 +120 272 0 +120 273 0 +120 274 0 +120 275 0 +120 276 0 +120 277 0 +120 278 0 +120 279 0 +120 280 0 +120 281 0 +120 282 0 +120 283 0 +120 284 0 +120 285 0 +120 286 0 +120 287 0 +120 288 0 +120 289 0 +120 290 0 +120 291 0 +120 292 0 +120 293 0 +120 294 0 +120 295 0 +120 296 0 +120 297 0 +120 298 0 +120 299 0 +120 300 0 +120 301 0 +120 302 0 +120 303 0 +120 304 0 +120 305 0 +120 306 0 +120 307 0 +120 308 0 +120 309 0 +120 310 0 +120 311 0 +120 312 0 +120 313 0 +120 314 0 +120 315 0 +120 316 0 +120 317 0 +120 318 0 +120 319 0 +120 320 0 +120 321 0 +120 322 0 +120 323 0 +120 324 0 +120 325 0 +120 326 0 +120 327 0 +120 328 0 +120 329 0 +120 330 0 +120 331 0 +120 332 0 +120 333 0 +120 334 0 +120 335 0 +120 336 0 +120 337 0 +120 338 0 +120 339 0 +120 340 0 +120 341 0 +120 342 0 +120 343 0 +120 344 0 +120 345 0 +120 346 0 +120 347 0 +120 348 0 +120 349 0 +120 350 0 +120 351 0 +120 352 0 +120 353 0 +120 354 0 +120 355 0 +120 356 0 +120 357 0 +120 358 0 +120 359 0 +120 360 0 +120 361 0 +120 362 0 +120 363 0 +120 364 0 +120 365 0 +120 366 0 +120 367 0 +120 368 0 +120 369 0 +120 370 0 +120 371 0 +120 372 0 +120 373 0 +120 374 0 +120 375 0 +120 376 0 +120 377 0 +120 378 0 +120 379 0 +120 380 0 +120 381 0 +120 382 0 +120 383 0 +121 122 4 +121 123 4 +121 124 4 +121 125 4 +121 126 4 +121 127 4 +121 128 4 +121 129 4 +121 130 4 +121 131 4 +121 132 4 +121 133 4 +121 134 4 +121 135 4 +121 136 4 +121 137 4 +121 138 4 +121 139 4 +121 140 4 +121 141 4 +121 142 4 +121 143 4 +121 144 4 +121 145 4 +121 146 4 +121 147 4 +121 148 4 +121 149 4 +121 150 4 +121 151 4 +121 152 4 +121 153 4 +121 154 4 +121 155 4 +121 156 4 +121 157 4 +121 158 4 +121 159 4 +121 160 4 +121 161 4 +121 162 4 +121 163 4 +121 164 4 +121 165 4 +121 166 4 +121 167 4 +121 168 4 +121 169 4 +121 170 4 +121 171 4 +121 172 4 +121 173 4 +121 174 4 +121 175 4 +121 176 4 +121 177 4 +121 178 4 +121 179 4 +121 180 4 +121 181 4 +121 182 4 +121 183 4 +121 184 4 +121 185 4 +121 186 4 +121 187 4 +121 188 4 +121 189 4 +121 190 4 +121 191 4 +121 192 0 +121 193 0 +121 194 0 +121 195 0 +121 196 0 +121 197 0 +121 198 0 +121 199 0 +121 200 0 +121 201 0 +121 202 0 +121 203 0 +121 204 0 +121 205 0 +121 206 0 +121 207 0 +121 208 0 +121 209 0 +121 210 0 +121 211 0 +121 212 0 +121 213 0 +121 214 0 +121 215 0 +121 216 0 +121 217 0 +121 218 0 +121 219 0 +121 220 0 +121 221 0 +121 222 0 +121 223 0 +121 224 0 +121 225 0 +121 226 0 +121 227 0 +121 228 0 +121 229 0 +121 230 0 +121 231 0 +121 232 0 +121 233 0 +121 234 0 +121 235 0 +121 236 0 +121 237 0 +121 238 0 +121 239 0 +121 240 0 +121 241 0 +121 242 0 +121 243 0 +121 244 0 +121 245 0 +121 246 0 +121 247 0 +121 248 0 +121 249 0 +121 250 0 +121 251 0 +121 252 0 +121 253 0 +121 254 0 +121 255 0 +121 256 0 +121 257 0 +121 258 0 +121 259 0 +121 260 0 +121 261 0 +121 262 0 +121 263 0 +121 264 0 +121 265 0 +121 266 0 +121 267 0 +121 268 0 +121 269 0 +121 270 0 +121 271 0 +121 272 0 +121 273 0 +121 274 0 +121 275 0 +121 276 0 +121 277 0 +121 278 0 +121 279 0 +121 280 0 +121 281 0 +121 282 0 +121 283 0 +121 284 0 +121 285 0 +121 286 0 +121 287 0 +121 288 0 +121 289 0 +121 290 0 +121 291 0 +121 292 0 +121 293 0 +121 294 0 +121 295 0 +121 296 0 +121 297 0 +121 298 0 +121 299 0 +121 300 0 +121 301 0 +121 302 0 +121 303 0 +121 304 0 +121 305 0 +121 306 0 +121 307 0 +121 308 0 +121 309 0 +121 310 0 +121 311 0 +121 312 0 +121 313 0 +121 314 0 +121 315 0 +121 316 0 +121 317 0 +121 318 0 +121 319 0 +121 320 0 +121 321 0 +121 322 0 +121 323 0 +121 324 0 +121 325 0 +121 326 0 +121 327 0 +121 328 0 +121 329 0 +121 330 0 +121 331 0 +121 332 0 +121 333 0 +121 334 0 +121 335 0 +121 336 0 +121 337 0 +121 338 0 +121 339 0 +121 340 0 +121 341 0 +121 342 0 +121 343 0 +121 344 0 +121 345 0 +121 346 0 +121 347 0 +121 348 0 +121 349 0 +121 350 0 +121 351 0 +121 352 0 +121 353 0 +121 354 0 +121 355 0 +121 356 0 +121 357 0 +121 358 0 +121 359 0 +121 360 0 +121 361 0 +121 362 0 +121 363 0 +121 364 0 +121 365 0 +121 366 0 +121 367 0 +121 368 0 +121 369 0 +121 370 0 +121 371 0 +121 372 0 +121 373 0 +121 374 0 +121 375 0 +121 376 0 +121 377 0 +121 378 0 +121 379 0 +121 380 0 +121 381 0 +121 382 0 +121 383 0 +122 123 4 +122 124 4 +122 125 4 +122 126 4 +122 127 4 +122 128 4 +122 129 4 +122 130 4 +122 131 4 +122 132 4 +122 133 4 +122 134 4 +122 135 4 +122 136 4 +122 137 4 +122 138 4 +122 139 4 +122 140 4 +122 141 4 +122 142 4 +122 143 4 +122 144 4 +122 145 4 +122 146 4 +122 147 4 +122 148 4 +122 149 4 +122 150 4 +122 151 4 +122 152 4 +122 153 4 +122 154 4 +122 155 4 +122 156 4 +122 157 4 +122 158 4 +122 159 4 +122 160 4 +122 161 4 +122 162 4 +122 163 4 +122 164 4 +122 165 4 +122 166 4 +122 167 4 +122 168 4 +122 169 4 +122 170 4 +122 171 4 +122 172 4 +122 173 4 +122 174 4 +122 175 4 +122 176 4 +122 177 4 +122 178 4 +122 179 4 +122 180 4 +122 181 4 +122 182 4 +122 183 4 +122 184 4 +122 185 4 +122 186 4 +122 187 4 +122 188 4 +122 189 4 +122 190 4 +122 191 4 +122 192 0 +122 193 0 +122 194 0 +122 195 0 +122 196 0 +122 197 0 +122 198 0 +122 199 0 +122 200 0 +122 201 0 +122 202 0 +122 203 0 +122 204 0 +122 205 0 +122 206 0 +122 207 0 +122 208 0 +122 209 0 +122 210 0 +122 211 0 +122 212 0 +122 213 0 +122 214 0 +122 215 0 +122 216 0 +122 217 0 +122 218 0 +122 219 0 +122 220 0 +122 221 0 +122 222 0 +122 223 0 +122 224 0 +122 225 0 +122 226 0 +122 227 0 +122 228 0 +122 229 0 +122 230 0 +122 231 0 +122 232 0 +122 233 0 +122 234 0 +122 235 0 +122 236 0 +122 237 0 +122 238 0 +122 239 0 +122 240 0 +122 241 0 +122 242 0 +122 243 0 +122 244 0 +122 245 0 +122 246 0 +122 247 0 +122 248 0 +122 249 0 +122 250 0 +122 251 0 +122 252 0 +122 253 0 +122 254 0 +122 255 0 +122 256 0 +122 257 0 +122 258 0 +122 259 0 +122 260 0 +122 261 0 +122 262 0 +122 263 0 +122 264 0 +122 265 0 +122 266 0 +122 267 0 +122 268 0 +122 269 0 +122 270 0 +122 271 0 +122 272 0 +122 273 0 +122 274 0 +122 275 0 +122 276 0 +122 277 0 +122 278 0 +122 279 0 +122 280 0 +122 281 0 +122 282 0 +122 283 0 +122 284 0 +122 285 0 +122 286 0 +122 287 0 +122 288 0 +122 289 0 +122 290 0 +122 291 0 +122 292 0 +122 293 0 +122 294 0 +122 295 0 +122 296 0 +122 297 0 +122 298 0 +122 299 0 +122 300 0 +122 301 0 +122 302 0 +122 303 0 +122 304 0 +122 305 0 +122 306 0 +122 307 0 +122 308 0 +122 309 0 +122 310 0 +122 311 0 +122 312 0 +122 313 0 +122 314 0 +122 315 0 +122 316 0 +122 317 0 +122 318 0 +122 319 0 +122 320 0 +122 321 0 +122 322 0 +122 323 0 +122 324 0 +122 325 0 +122 326 0 +122 327 0 +122 328 0 +122 329 0 +122 330 0 +122 331 0 +122 332 0 +122 333 0 +122 334 0 +122 335 0 +122 336 0 +122 337 0 +122 338 0 +122 339 0 +122 340 0 +122 341 0 +122 342 0 +122 343 0 +122 344 0 +122 345 0 +122 346 0 +122 347 0 +122 348 0 +122 349 0 +122 350 0 +122 351 0 +122 352 0 +122 353 0 +122 354 0 +122 355 0 +122 356 0 +122 357 0 +122 358 0 +122 359 0 +122 360 0 +122 361 0 +122 362 0 +122 363 0 +122 364 0 +122 365 0 +122 366 0 +122 367 0 +122 368 0 +122 369 0 +122 370 0 +122 371 0 +122 372 0 +122 373 0 +122 374 0 +122 375 0 +122 376 0 +122 377 0 +122 378 0 +122 379 0 +122 380 0 +122 381 0 +122 382 0 +122 383 0 +123 124 4 +123 125 4 +123 126 4 +123 127 4 +123 128 4 +123 129 4 +123 130 4 +123 131 4 +123 132 4 +123 133 4 +123 134 4 +123 135 4 +123 136 4 +123 137 4 +123 138 4 +123 139 4 +123 140 4 +123 141 4 +123 142 4 +123 143 4 +123 144 4 +123 145 4 +123 146 4 +123 147 4 +123 148 4 +123 149 4 +123 150 4 +123 151 4 +123 152 4 +123 153 4 +123 154 4 +123 155 4 +123 156 4 +123 157 4 +123 158 4 +123 159 4 +123 160 4 +123 161 4 +123 162 4 +123 163 4 +123 164 4 +123 165 4 +123 166 4 +123 167 4 +123 168 4 +123 169 4 +123 170 4 +123 171 4 +123 172 4 +123 173 4 +123 174 4 +123 175 4 +123 176 4 +123 177 4 +123 178 4 +123 179 4 +123 180 4 +123 181 4 +123 182 4 +123 183 4 +123 184 4 +123 185 4 +123 186 4 +123 187 4 +123 188 4 +123 189 4 +123 190 4 +123 191 4 +123 192 0 +123 193 0 +123 194 0 +123 195 0 +123 196 0 +123 197 0 +123 198 0 +123 199 0 +123 200 0 +123 201 0 +123 202 0 +123 203 0 +123 204 0 +123 205 0 +123 206 0 +123 207 0 +123 208 0 +123 209 0 +123 210 0 +123 211 0 +123 212 0 +123 213 0 +123 214 0 +123 215 0 +123 216 0 +123 217 0 +123 218 0 +123 219 0 +123 220 0 +123 221 0 +123 222 0 +123 223 0 +123 224 0 +123 225 0 +123 226 0 +123 227 0 +123 228 0 +123 229 0 +123 230 0 +123 231 0 +123 232 0 +123 233 0 +123 234 0 +123 235 0 +123 236 0 +123 237 0 +123 238 0 +123 239 0 +123 240 0 +123 241 0 +123 242 0 +123 243 0 +123 244 0 +123 245 0 +123 246 0 +123 247 0 +123 248 0 +123 249 0 +123 250 0 +123 251 0 +123 252 0 +123 253 0 +123 254 0 +123 255 0 +123 256 0 +123 257 0 +123 258 0 +123 259 0 +123 260 0 +123 261 0 +123 262 0 +123 263 0 +123 264 0 +123 265 0 +123 266 0 +123 267 0 +123 268 0 +123 269 0 +123 270 0 +123 271 0 +123 272 0 +123 273 0 +123 274 0 +123 275 0 +123 276 0 +123 277 0 +123 278 0 +123 279 0 +123 280 0 +123 281 0 +123 282 0 +123 283 0 +123 284 0 +123 285 0 +123 286 0 +123 287 0 +123 288 0 +123 289 0 +123 290 0 +123 291 0 +123 292 0 +123 293 0 +123 294 0 +123 295 0 +123 296 0 +123 297 0 +123 298 0 +123 299 0 +123 300 0 +123 301 0 +123 302 0 +123 303 0 +123 304 0 +123 305 0 +123 306 0 +123 307 0 +123 308 0 +123 309 0 +123 310 0 +123 311 0 +123 312 0 +123 313 0 +123 314 0 +123 315 0 +123 316 0 +123 317 0 +123 318 0 +123 319 0 +123 320 0 +123 321 0 +123 322 0 +123 323 0 +123 324 0 +123 325 0 +123 326 0 +123 327 0 +123 328 0 +123 329 0 +123 330 0 +123 331 0 +123 332 0 +123 333 0 +123 334 0 +123 335 0 +123 336 0 +123 337 0 +123 338 0 +123 339 0 +123 340 0 +123 341 0 +123 342 0 +123 343 0 +123 344 0 +123 345 0 +123 346 0 +123 347 0 +123 348 0 +123 349 0 +123 350 0 +123 351 0 +123 352 0 +123 353 0 +123 354 0 +123 355 0 +123 356 0 +123 357 0 +123 358 0 +123 359 0 +123 360 0 +123 361 0 +123 362 0 +123 363 0 +123 364 0 +123 365 0 +123 366 0 +123 367 0 +123 368 0 +123 369 0 +123 370 0 +123 371 0 +123 372 0 +123 373 0 +123 374 0 +123 375 0 +123 376 0 +123 377 0 +123 378 0 +123 379 0 +123 380 0 +123 381 0 +123 382 0 +123 383 0 +124 125 4 +124 126 4 +124 127 4 +124 128 4 +124 129 4 +124 130 4 +124 131 4 +124 132 4 +124 133 4 +124 134 4 +124 135 4 +124 136 4 +124 137 4 +124 138 4 +124 139 4 +124 140 4 +124 141 4 +124 142 4 +124 143 4 +124 144 4 +124 145 4 +124 146 4 +124 147 4 +124 148 4 +124 149 4 +124 150 4 +124 151 4 +124 152 4 +124 153 4 +124 154 4 +124 155 4 +124 156 4 +124 157 4 +124 158 4 +124 159 4 +124 160 4 +124 161 4 +124 162 4 +124 163 4 +124 164 4 +124 165 4 +124 166 4 +124 167 4 +124 168 4 +124 169 4 +124 170 4 +124 171 4 +124 172 4 +124 173 4 +124 174 4 +124 175 4 +124 176 4 +124 177 4 +124 178 4 +124 179 4 +124 180 4 +124 181 4 +124 182 4 +124 183 4 +124 184 4 +124 185 4 +124 186 4 +124 187 4 +124 188 4 +124 189 4 +124 190 4 +124 191 4 +124 192 0 +124 193 0 +124 194 0 +124 195 0 +124 196 0 +124 197 0 +124 198 0 +124 199 0 +124 200 0 +124 201 0 +124 202 0 +124 203 0 +124 204 0 +124 205 0 +124 206 0 +124 207 0 +124 208 0 +124 209 0 +124 210 0 +124 211 0 +124 212 0 +124 213 0 +124 214 0 +124 215 0 +124 216 0 +124 217 0 +124 218 0 +124 219 0 +124 220 0 +124 221 0 +124 222 0 +124 223 0 +124 224 0 +124 225 0 +124 226 0 +124 227 0 +124 228 0 +124 229 0 +124 230 0 +124 231 0 +124 232 0 +124 233 0 +124 234 0 +124 235 0 +124 236 0 +124 237 0 +124 238 0 +124 239 0 +124 240 0 +124 241 0 +124 242 0 +124 243 0 +124 244 0 +124 245 0 +124 246 0 +124 247 0 +124 248 0 +124 249 0 +124 250 0 +124 251 0 +124 252 0 +124 253 0 +124 254 0 +124 255 0 +124 256 0 +124 257 0 +124 258 0 +124 259 0 +124 260 0 +124 261 0 +124 262 0 +124 263 0 +124 264 0 +124 265 0 +124 266 0 +124 267 0 +124 268 0 +124 269 0 +124 270 0 +124 271 0 +124 272 0 +124 273 0 +124 274 0 +124 275 0 +124 276 0 +124 277 0 +124 278 0 +124 279 0 +124 280 0 +124 281 0 +124 282 0 +124 283 0 +124 284 0 +124 285 0 +124 286 0 +124 287 0 +124 288 0 +124 289 0 +124 290 0 +124 291 0 +124 292 0 +124 293 0 +124 294 0 +124 295 0 +124 296 0 +124 297 0 +124 298 0 +124 299 0 +124 300 0 +124 301 0 +124 302 0 +124 303 0 +124 304 0 +124 305 0 +124 306 0 +124 307 0 +124 308 0 +124 309 0 +124 310 0 +124 311 0 +124 312 0 +124 313 0 +124 314 0 +124 315 0 +124 316 0 +124 317 0 +124 318 0 +124 319 0 +124 320 0 +124 321 0 +124 322 0 +124 323 0 +124 324 0 +124 325 0 +124 326 0 +124 327 0 +124 328 0 +124 329 0 +124 330 0 +124 331 0 +124 332 0 +124 333 0 +124 334 0 +124 335 0 +124 336 0 +124 337 0 +124 338 0 +124 339 0 +124 340 0 +124 341 0 +124 342 0 +124 343 0 +124 344 0 +124 345 0 +124 346 0 +124 347 0 +124 348 0 +124 349 0 +124 350 0 +124 351 0 +124 352 0 +124 353 0 +124 354 0 +124 355 0 +124 356 0 +124 357 0 +124 358 0 +124 359 0 +124 360 0 +124 361 0 +124 362 0 +124 363 0 +124 364 0 +124 365 0 +124 366 0 +124 367 0 +124 368 0 +124 369 0 +124 370 0 +124 371 0 +124 372 0 +124 373 0 +124 374 0 +124 375 0 +124 376 0 +124 377 0 +124 378 0 +124 379 0 +124 380 0 +124 381 0 +124 382 0 +124 383 0 +125 126 4 +125 127 4 +125 128 4 +125 129 4 +125 130 4 +125 131 4 +125 132 4 +125 133 4 +125 134 4 +125 135 4 +125 136 4 +125 137 4 +125 138 4 +125 139 4 +125 140 4 +125 141 4 +125 142 4 +125 143 4 +125 144 4 +125 145 4 +125 146 4 +125 147 4 +125 148 4 +125 149 4 +125 150 4 +125 151 4 +125 152 4 +125 153 4 +125 154 4 +125 155 4 +125 156 4 +125 157 4 +125 158 4 +125 159 4 +125 160 4 +125 161 4 +125 162 4 +125 163 4 +125 164 4 +125 165 4 +125 166 4 +125 167 4 +125 168 4 +125 169 4 +125 170 4 +125 171 4 +125 172 4 +125 173 4 +125 174 4 +125 175 4 +125 176 4 +125 177 4 +125 178 4 +125 179 4 +125 180 4 +125 181 4 +125 182 4 +125 183 4 +125 184 4 +125 185 4 +125 186 4 +125 187 4 +125 188 4 +125 189 4 +125 190 4 +125 191 4 +125 192 0 +125 193 0 +125 194 0 +125 195 0 +125 196 0 +125 197 0 +125 198 0 +125 199 0 +125 200 0 +125 201 0 +125 202 0 +125 203 0 +125 204 0 +125 205 0 +125 206 0 +125 207 0 +125 208 0 +125 209 0 +125 210 0 +125 211 0 +125 212 0 +125 213 0 +125 214 0 +125 215 0 +125 216 0 +125 217 0 +125 218 0 +125 219 0 +125 220 0 +125 221 0 +125 222 0 +125 223 0 +125 224 0 +125 225 0 +125 226 0 +125 227 0 +125 228 0 +125 229 0 +125 230 0 +125 231 0 +125 232 0 +125 233 0 +125 234 0 +125 235 0 +125 236 0 +125 237 0 +125 238 0 +125 239 0 +125 240 0 +125 241 0 +125 242 0 +125 243 0 +125 244 0 +125 245 0 +125 246 0 +125 247 0 +125 248 0 +125 249 0 +125 250 0 +125 251 0 +125 252 0 +125 253 0 +125 254 0 +125 255 0 +125 256 0 +125 257 0 +125 258 0 +125 259 0 +125 260 0 +125 261 0 +125 262 0 +125 263 0 +125 264 0 +125 265 0 +125 266 0 +125 267 0 +125 268 0 +125 269 0 +125 270 0 +125 271 0 +125 272 0 +125 273 0 +125 274 0 +125 275 0 +125 276 0 +125 277 0 +125 278 0 +125 279 0 +125 280 0 +125 281 0 +125 282 0 +125 283 0 +125 284 0 +125 285 0 +125 286 0 +125 287 0 +125 288 0 +125 289 0 +125 290 0 +125 291 0 +125 292 0 +125 293 0 +125 294 0 +125 295 0 +125 296 0 +125 297 0 +125 298 0 +125 299 0 +125 300 0 +125 301 0 +125 302 0 +125 303 0 +125 304 0 +125 305 0 +125 306 0 +125 307 0 +125 308 0 +125 309 0 +125 310 0 +125 311 0 +125 312 0 +125 313 0 +125 314 0 +125 315 0 +125 316 0 +125 317 0 +125 318 0 +125 319 0 +125 320 0 +125 321 0 +125 322 0 +125 323 0 +125 324 0 +125 325 0 +125 326 0 +125 327 0 +125 328 0 +125 329 0 +125 330 0 +125 331 0 +125 332 0 +125 333 0 +125 334 0 +125 335 0 +125 336 0 +125 337 0 +125 338 0 +125 339 0 +125 340 0 +125 341 0 +125 342 0 +125 343 0 +125 344 0 +125 345 0 +125 346 0 +125 347 0 +125 348 0 +125 349 0 +125 350 0 +125 351 0 +125 352 0 +125 353 0 +125 354 0 +125 355 0 +125 356 0 +125 357 0 +125 358 0 +125 359 0 +125 360 0 +125 361 0 +125 362 0 +125 363 0 +125 364 0 +125 365 0 +125 366 0 +125 367 0 +125 368 0 +125 369 0 +125 370 0 +125 371 0 +125 372 0 +125 373 0 +125 374 0 +125 375 0 +125 376 0 +125 377 0 +125 378 0 +125 379 0 +125 380 0 +125 381 0 +125 382 0 +125 383 0 +126 127 4 +126 128 4 +126 129 4 +126 130 4 +126 131 4 +126 132 4 +126 133 4 +126 134 4 +126 135 4 +126 136 4 +126 137 4 +126 138 4 +126 139 4 +126 140 4 +126 141 4 +126 142 4 +126 143 4 +126 144 4 +126 145 4 +126 146 4 +126 147 4 +126 148 4 +126 149 4 +126 150 4 +126 151 4 +126 152 4 +126 153 4 +126 154 4 +126 155 4 +126 156 4 +126 157 4 +126 158 4 +126 159 4 +126 160 4 +126 161 4 +126 162 4 +126 163 4 +126 164 4 +126 165 4 +126 166 4 +126 167 4 +126 168 4 +126 169 4 +126 170 4 +126 171 4 +126 172 4 +126 173 4 +126 174 4 +126 175 4 +126 176 4 +126 177 4 +126 178 4 +126 179 4 +126 180 4 +126 181 4 +126 182 4 +126 183 4 +126 184 4 +126 185 4 +126 186 4 +126 187 4 +126 188 4 +126 189 4 +126 190 4 +126 191 4 +126 192 0 +126 193 0 +126 194 0 +126 195 0 +126 196 0 +126 197 0 +126 198 0 +126 199 0 +126 200 0 +126 201 0 +126 202 0 +126 203 0 +126 204 0 +126 205 0 +126 206 0 +126 207 0 +126 208 0 +126 209 0 +126 210 0 +126 211 0 +126 212 0 +126 213 0 +126 214 0 +126 215 0 +126 216 0 +126 217 0 +126 218 0 +126 219 0 +126 220 0 +126 221 0 +126 222 0 +126 223 0 +126 224 0 +126 225 0 +126 226 0 +126 227 0 +126 228 0 +126 229 0 +126 230 0 +126 231 0 +126 232 0 +126 233 0 +126 234 0 +126 235 0 +126 236 0 +126 237 0 +126 238 0 +126 239 0 +126 240 0 +126 241 0 +126 242 0 +126 243 0 +126 244 0 +126 245 0 +126 246 0 +126 247 0 +126 248 0 +126 249 0 +126 250 0 +126 251 0 +126 252 0 +126 253 0 +126 254 0 +126 255 0 +126 256 0 +126 257 0 +126 258 0 +126 259 0 +126 260 0 +126 261 0 +126 262 0 +126 263 0 +126 264 0 +126 265 0 +126 266 0 +126 267 0 +126 268 0 +126 269 0 +126 270 0 +126 271 0 +126 272 0 +126 273 0 +126 274 0 +126 275 0 +126 276 0 +126 277 0 +126 278 0 +126 279 0 +126 280 0 +126 281 0 +126 282 0 +126 283 0 +126 284 0 +126 285 0 +126 286 0 +126 287 0 +126 288 0 +126 289 0 +126 290 0 +126 291 0 +126 292 0 +126 293 0 +126 294 0 +126 295 0 +126 296 0 +126 297 0 +126 298 0 +126 299 0 +126 300 0 +126 301 0 +126 302 0 +126 303 0 +126 304 0 +126 305 0 +126 306 0 +126 307 0 +126 308 0 +126 309 0 +126 310 0 +126 311 0 +126 312 0 +126 313 0 +126 314 0 +126 315 0 +126 316 0 +126 317 0 +126 318 0 +126 319 0 +126 320 0 +126 321 0 +126 322 0 +126 323 0 +126 324 0 +126 325 0 +126 326 0 +126 327 0 +126 328 0 +126 329 0 +126 330 0 +126 331 0 +126 332 0 +126 333 0 +126 334 0 +126 335 0 +126 336 0 +126 337 0 +126 338 0 +126 339 0 +126 340 0 +126 341 0 +126 342 0 +126 343 0 +126 344 0 +126 345 0 +126 346 0 +126 347 0 +126 348 0 +126 349 0 +126 350 0 +126 351 0 +126 352 0 +126 353 0 +126 354 0 +126 355 0 +126 356 0 +126 357 0 +126 358 0 +126 359 0 +126 360 0 +126 361 0 +126 362 0 +126 363 0 +126 364 0 +126 365 0 +126 366 0 +126 367 0 +126 368 0 +126 369 0 +126 370 0 +126 371 0 +126 372 0 +126 373 0 +126 374 0 +126 375 0 +126 376 0 +126 377 0 +126 378 0 +126 379 0 +126 380 0 +126 381 0 +126 382 0 +126 383 0 +127 128 4 +127 129 4 +127 130 4 +127 131 4 +127 132 4 +127 133 4 +127 134 4 +127 135 4 +127 136 4 +127 137 4 +127 138 4 +127 139 4 +127 140 4 +127 141 4 +127 142 4 +127 143 4 +127 144 4 +127 145 4 +127 146 4 +127 147 4 +127 148 4 +127 149 4 +127 150 4 +127 151 4 +127 152 4 +127 153 4 +127 154 4 +127 155 4 +127 156 4 +127 157 4 +127 158 4 +127 159 4 +127 160 4 +127 161 4 +127 162 4 +127 163 4 +127 164 4 +127 165 4 +127 166 4 +127 167 4 +127 168 4 +127 169 4 +127 170 4 +127 171 4 +127 172 4 +127 173 4 +127 174 4 +127 175 4 +127 176 4 +127 177 4 +127 178 4 +127 179 4 +127 180 4 +127 181 4 +127 182 4 +127 183 4 +127 184 4 +127 185 4 +127 186 4 +127 187 4 +127 188 4 +127 189 4 +127 190 4 +127 191 4 +127 192 0 +127 193 0 +127 194 0 +127 195 0 +127 196 0 +127 197 0 +127 198 0 +127 199 0 +127 200 0 +127 201 0 +127 202 0 +127 203 0 +127 204 0 +127 205 0 +127 206 0 +127 207 0 +127 208 0 +127 209 0 +127 210 0 +127 211 0 +127 212 0 +127 213 0 +127 214 0 +127 215 0 +127 216 0 +127 217 0 +127 218 0 +127 219 0 +127 220 0 +127 221 0 +127 222 0 +127 223 0 +127 224 0 +127 225 0 +127 226 0 +127 227 0 +127 228 0 +127 229 0 +127 230 0 +127 231 0 +127 232 0 +127 233 0 +127 234 0 +127 235 0 +127 236 0 +127 237 0 +127 238 0 +127 239 0 +127 240 0 +127 241 0 +127 242 0 +127 243 0 +127 244 0 +127 245 0 +127 246 0 +127 247 0 +127 248 0 +127 249 0 +127 250 0 +127 251 0 +127 252 0 +127 253 0 +127 254 0 +127 255 0 +127 256 0 +127 257 0 +127 258 0 +127 259 0 +127 260 0 +127 261 0 +127 262 0 +127 263 0 +127 264 0 +127 265 0 +127 266 0 +127 267 0 +127 268 0 +127 269 0 +127 270 0 +127 271 0 +127 272 0 +127 273 0 +127 274 0 +127 275 0 +127 276 0 +127 277 0 +127 278 0 +127 279 0 +127 280 0 +127 281 0 +127 282 0 +127 283 0 +127 284 0 +127 285 0 +127 286 0 +127 287 0 +127 288 0 +127 289 0 +127 290 0 +127 291 0 +127 292 0 +127 293 0 +127 294 0 +127 295 0 +127 296 0 +127 297 0 +127 298 0 +127 299 0 +127 300 0 +127 301 0 +127 302 0 +127 303 0 +127 304 0 +127 305 0 +127 306 0 +127 307 0 +127 308 0 +127 309 0 +127 310 0 +127 311 0 +127 312 0 +127 313 0 +127 314 0 +127 315 0 +127 316 0 +127 317 0 +127 318 0 +127 319 0 +127 320 0 +127 321 0 +127 322 0 +127 323 0 +127 324 0 +127 325 0 +127 326 0 +127 327 0 +127 328 0 +127 329 0 +127 330 0 +127 331 0 +127 332 0 +127 333 0 +127 334 0 +127 335 0 +127 336 0 +127 337 0 +127 338 0 +127 339 0 +127 340 0 +127 341 0 +127 342 0 +127 343 0 +127 344 0 +127 345 0 +127 346 0 +127 347 0 +127 348 0 +127 349 0 +127 350 0 +127 351 0 +127 352 0 +127 353 0 +127 354 0 +127 355 0 +127 356 0 +127 357 0 +127 358 0 +127 359 0 +127 360 0 +127 361 0 +127 362 0 +127 363 0 +127 364 0 +127 365 0 +127 366 0 +127 367 0 +127 368 0 +127 369 0 +127 370 0 +127 371 0 +127 372 0 +127 373 0 +127 374 0 +127 375 0 +127 376 0 +127 377 0 +127 378 0 +127 379 0 +127 380 0 +127 381 0 +127 382 0 +127 383 0 +128 129 4 +128 130 4 +128 131 4 +128 132 4 +128 133 4 +128 134 4 +128 135 4 +128 136 4 +128 137 4 +128 138 4 +128 139 4 +128 140 4 +128 141 4 +128 142 4 +128 143 4 +128 144 4 +128 145 4 +128 146 4 +128 147 4 +128 148 4 +128 149 4 +128 150 4 +128 151 4 +128 152 4 +128 153 4 +128 154 4 +128 155 4 +128 156 4 +128 157 4 +128 158 4 +128 159 4 +128 160 4 +128 161 4 +128 162 4 +128 163 4 +128 164 4 +128 165 4 +128 166 4 +128 167 4 +128 168 4 +128 169 4 +128 170 4 +128 171 4 +128 172 4 +128 173 4 +128 174 4 +128 175 4 +128 176 4 +128 177 4 +128 178 4 +128 179 4 +128 180 4 +128 181 4 +128 182 4 +128 183 4 +128 184 4 +128 185 4 +128 186 4 +128 187 4 +128 188 4 +128 189 4 +128 190 4 +128 191 4 +128 192 0 +128 193 0 +128 194 0 +128 195 0 +128 196 0 +128 197 0 +128 198 0 +128 199 0 +128 200 0 +128 201 0 +128 202 0 +128 203 0 +128 204 0 +128 205 0 +128 206 0 +128 207 0 +128 208 0 +128 209 0 +128 210 0 +128 211 0 +128 212 0 +128 213 0 +128 214 0 +128 215 0 +128 216 0 +128 217 0 +128 218 0 +128 219 0 +128 220 0 +128 221 0 +128 222 0 +128 223 0 +128 224 0 +128 225 0 +128 226 0 +128 227 0 +128 228 0 +128 229 0 +128 230 0 +128 231 0 +128 232 0 +128 233 0 +128 234 0 +128 235 0 +128 236 0 +128 237 0 +128 238 0 +128 239 0 +128 240 0 +128 241 0 +128 242 0 +128 243 0 +128 244 0 +128 245 0 +128 246 0 +128 247 0 +128 248 0 +128 249 0 +128 250 0 +128 251 0 +128 252 0 +128 253 0 +128 254 0 +128 255 0 +128 256 0 +128 257 0 +128 258 0 +128 259 0 +128 260 0 +128 261 0 +128 262 0 +128 263 0 +128 264 0 +128 265 0 +128 266 0 +128 267 0 +128 268 0 +128 269 0 +128 270 0 +128 271 0 +128 272 0 +128 273 0 +128 274 0 +128 275 0 +128 276 0 +128 277 0 +128 278 0 +128 279 0 +128 280 0 +128 281 0 +128 282 0 +128 283 0 +128 284 0 +128 285 0 +128 286 0 +128 287 0 +128 288 0 +128 289 0 +128 290 0 +128 291 0 +128 292 0 +128 293 0 +128 294 0 +128 295 0 +128 296 0 +128 297 0 +128 298 0 +128 299 0 +128 300 0 +128 301 0 +128 302 0 +128 303 0 +128 304 0 +128 305 0 +128 306 0 +128 307 0 +128 308 0 +128 309 0 +128 310 0 +128 311 0 +128 312 0 +128 313 0 +128 314 0 +128 315 0 +128 316 0 +128 317 0 +128 318 0 +128 319 0 +128 320 0 +128 321 0 +128 322 0 +128 323 0 +128 324 0 +128 325 0 +128 326 0 +128 327 0 +128 328 0 +128 329 0 +128 330 0 +128 331 0 +128 332 0 +128 333 0 +128 334 0 +128 335 0 +128 336 0 +128 337 0 +128 338 0 +128 339 0 +128 340 0 +128 341 0 +128 342 0 +128 343 0 +128 344 0 +128 345 0 +128 346 0 +128 347 0 +128 348 0 +128 349 0 +128 350 0 +128 351 0 +128 352 0 +128 353 0 +128 354 0 +128 355 0 +128 356 0 +128 357 0 +128 358 0 +128 359 0 +128 360 0 +128 361 0 +128 362 0 +128 363 0 +128 364 0 +128 365 0 +128 366 0 +128 367 0 +128 368 0 +128 369 0 +128 370 0 +128 371 0 +128 372 0 +128 373 0 +128 374 0 +128 375 0 +128 376 0 +128 377 0 +128 378 0 +128 379 0 +128 380 0 +128 381 0 +128 382 0 +128 383 0 +129 130 4 +129 131 4 +129 132 4 +129 133 4 +129 134 4 +129 135 4 +129 136 4 +129 137 4 +129 138 4 +129 139 4 +129 140 4 +129 141 4 +129 142 4 +129 143 4 +129 144 4 +129 145 4 +129 146 4 +129 147 4 +129 148 4 +129 149 4 +129 150 4 +129 151 4 +129 152 4 +129 153 4 +129 154 4 +129 155 4 +129 156 4 +129 157 4 +129 158 4 +129 159 4 +129 160 4 +129 161 4 +129 162 4 +129 163 4 +129 164 4 +129 165 4 +129 166 4 +129 167 4 +129 168 4 +129 169 4 +129 170 4 +129 171 4 +129 172 4 +129 173 4 +129 174 4 +129 175 4 +129 176 4 +129 177 4 +129 178 4 +129 179 4 +129 180 4 +129 181 4 +129 182 4 +129 183 4 +129 184 4 +129 185 4 +129 186 4 +129 187 4 +129 188 4 +129 189 4 +129 190 4 +129 191 4 +129 192 0 +129 193 0 +129 194 0 +129 195 0 +129 196 0 +129 197 0 +129 198 0 +129 199 0 +129 200 0 +129 201 0 +129 202 0 +129 203 0 +129 204 0 +129 205 0 +129 206 0 +129 207 0 +129 208 0 +129 209 0 +129 210 0 +129 211 0 +129 212 0 +129 213 0 +129 214 0 +129 215 0 +129 216 0 +129 217 0 +129 218 0 +129 219 0 +129 220 0 +129 221 0 +129 222 0 +129 223 0 +129 224 0 +129 225 0 +129 226 0 +129 227 0 +129 228 0 +129 229 0 +129 230 0 +129 231 0 +129 232 0 +129 233 0 +129 234 0 +129 235 0 +129 236 0 +129 237 0 +129 238 0 +129 239 0 +129 240 0 +129 241 0 +129 242 0 +129 243 0 +129 244 0 +129 245 0 +129 246 0 +129 247 0 +129 248 0 +129 249 0 +129 250 0 +129 251 0 +129 252 0 +129 253 0 +129 254 0 +129 255 0 +129 256 0 +129 257 0 +129 258 0 +129 259 0 +129 260 0 +129 261 0 +129 262 0 +129 263 0 +129 264 0 +129 265 0 +129 266 0 +129 267 0 +129 268 0 +129 269 0 +129 270 0 +129 271 0 +129 272 0 +129 273 0 +129 274 0 +129 275 0 +129 276 0 +129 277 0 +129 278 0 +129 279 0 +129 280 0 +129 281 0 +129 282 0 +129 283 0 +129 284 0 +129 285 0 +129 286 0 +129 287 0 +129 288 0 +129 289 0 +129 290 0 +129 291 0 +129 292 0 +129 293 0 +129 294 0 +129 295 0 +129 296 0 +129 297 0 +129 298 0 +129 299 0 +129 300 0 +129 301 0 +129 302 0 +129 303 0 +129 304 0 +129 305 0 +129 306 0 +129 307 0 +129 308 0 +129 309 0 +129 310 0 +129 311 0 +129 312 0 +129 313 0 +129 314 0 +129 315 0 +129 316 0 +129 317 0 +129 318 0 +129 319 0 +129 320 0 +129 321 0 +129 322 0 +129 323 0 +129 324 0 +129 325 0 +129 326 0 +129 327 0 +129 328 0 +129 329 0 +129 330 0 +129 331 0 +129 332 0 +129 333 0 +129 334 0 +129 335 0 +129 336 0 +129 337 0 +129 338 0 +129 339 0 +129 340 0 +129 341 0 +129 342 0 +129 343 0 +129 344 0 +129 345 0 +129 346 0 +129 347 0 +129 348 0 +129 349 0 +129 350 0 +129 351 0 +129 352 0 +129 353 0 +129 354 0 +129 355 0 +129 356 0 +129 357 0 +129 358 0 +129 359 0 +129 360 0 +129 361 0 +129 362 0 +129 363 0 +129 364 0 +129 365 0 +129 366 0 +129 367 0 +129 368 0 +129 369 0 +129 370 0 +129 371 0 +129 372 0 +129 373 0 +129 374 0 +129 375 0 +129 376 0 +129 377 0 +129 378 0 +129 379 0 +129 380 0 +129 381 0 +129 382 0 +129 383 0 +130 131 4 +130 132 4 +130 133 4 +130 134 4 +130 135 4 +130 136 4 +130 137 4 +130 138 4 +130 139 4 +130 140 4 +130 141 4 +130 142 4 +130 143 4 +130 144 4 +130 145 4 +130 146 4 +130 147 4 +130 148 4 +130 149 4 +130 150 4 +130 151 4 +130 152 4 +130 153 4 +130 154 4 +130 155 4 +130 156 4 +130 157 4 +130 158 4 +130 159 4 +130 160 4 +130 161 4 +130 162 4 +130 163 4 +130 164 4 +130 165 4 +130 166 4 +130 167 4 +130 168 4 +130 169 4 +130 170 4 +130 171 4 +130 172 4 +130 173 4 +130 174 4 +130 175 4 +130 176 4 +130 177 4 +130 178 4 +130 179 4 +130 180 4 +130 181 4 +130 182 4 +130 183 4 +130 184 4 +130 185 4 +130 186 4 +130 187 4 +130 188 4 +130 189 4 +130 190 4 +130 191 4 +130 192 0 +130 193 0 +130 194 0 +130 195 0 +130 196 0 +130 197 0 +130 198 0 +130 199 0 +130 200 0 +130 201 0 +130 202 0 +130 203 0 +130 204 0 +130 205 0 +130 206 0 +130 207 0 +130 208 0 +130 209 0 +130 210 0 +130 211 0 +130 212 0 +130 213 0 +130 214 0 +130 215 0 +130 216 0 +130 217 0 +130 218 0 +130 219 0 +130 220 0 +130 221 0 +130 222 0 +130 223 0 +130 224 0 +130 225 0 +130 226 0 +130 227 0 +130 228 0 +130 229 0 +130 230 0 +130 231 0 +130 232 0 +130 233 0 +130 234 0 +130 235 0 +130 236 0 +130 237 0 +130 238 0 +130 239 0 +130 240 0 +130 241 0 +130 242 0 +130 243 0 +130 244 0 +130 245 0 +130 246 0 +130 247 0 +130 248 0 +130 249 0 +130 250 0 +130 251 0 +130 252 0 +130 253 0 +130 254 0 +130 255 0 +130 256 0 +130 257 0 +130 258 0 +130 259 0 +130 260 0 +130 261 0 +130 262 0 +130 263 0 +130 264 0 +130 265 0 +130 266 0 +130 267 0 +130 268 0 +130 269 0 +130 270 0 +130 271 0 +130 272 0 +130 273 0 +130 274 0 +130 275 0 +130 276 0 +130 277 0 +130 278 0 +130 279 0 +130 280 0 +130 281 0 +130 282 0 +130 283 0 +130 284 0 +130 285 0 +130 286 0 +130 287 0 +130 288 0 +130 289 0 +130 290 0 +130 291 0 +130 292 0 +130 293 0 +130 294 0 +130 295 0 +130 296 0 +130 297 0 +130 298 0 +130 299 0 +130 300 0 +130 301 0 +130 302 0 +130 303 0 +130 304 0 +130 305 0 +130 306 0 +130 307 0 +130 308 0 +130 309 0 +130 310 0 +130 311 0 +130 312 0 +130 313 0 +130 314 0 +130 315 0 +130 316 0 +130 317 0 +130 318 0 +130 319 0 +130 320 0 +130 321 0 +130 322 0 +130 323 0 +130 324 0 +130 325 0 +130 326 0 +130 327 0 +130 328 0 +130 329 0 +130 330 0 +130 331 0 +130 332 0 +130 333 0 +130 334 0 +130 335 0 +130 336 0 +130 337 0 +130 338 0 +130 339 0 +130 340 0 +130 341 0 +130 342 0 +130 343 0 +130 344 0 +130 345 0 +130 346 0 +130 347 0 +130 348 0 +130 349 0 +130 350 0 +130 351 0 +130 352 0 +130 353 0 +130 354 0 +130 355 0 +130 356 0 +130 357 0 +130 358 0 +130 359 0 +130 360 0 +130 361 0 +130 362 0 +130 363 0 +130 364 0 +130 365 0 +130 366 0 +130 367 0 +130 368 0 +130 369 0 +130 370 0 +130 371 0 +130 372 0 +130 373 0 +130 374 0 +130 375 0 +130 376 0 +130 377 0 +130 378 0 +130 379 0 +130 380 0 +130 381 0 +130 382 0 +130 383 0 +131 132 4 +131 133 4 +131 134 4 +131 135 4 +131 136 4 +131 137 4 +131 138 4 +131 139 4 +131 140 4 +131 141 4 +131 142 4 +131 143 4 +131 144 4 +131 145 4 +131 146 4 +131 147 4 +131 148 4 +131 149 4 +131 150 4 +131 151 4 +131 152 4 +131 153 4 +131 154 4 +131 155 4 +131 156 4 +131 157 4 +131 158 4 +131 159 4 +131 160 4 +131 161 4 +131 162 4 +131 163 4 +131 164 4 +131 165 4 +131 166 4 +131 167 4 +131 168 4 +131 169 4 +131 170 4 +131 171 4 +131 172 4 +131 173 4 +131 174 4 +131 175 4 +131 176 4 +131 177 4 +131 178 4 +131 179 4 +131 180 4 +131 181 4 +131 182 4 +131 183 4 +131 184 4 +131 185 4 +131 186 4 +131 187 4 +131 188 4 +131 189 4 +131 190 4 +131 191 4 +131 192 0 +131 193 0 +131 194 0 +131 195 0 +131 196 0 +131 197 0 +131 198 0 +131 199 0 +131 200 0 +131 201 0 +131 202 0 +131 203 0 +131 204 0 +131 205 0 +131 206 0 +131 207 0 +131 208 0 +131 209 0 +131 210 0 +131 211 0 +131 212 0 +131 213 0 +131 214 0 +131 215 0 +131 216 0 +131 217 0 +131 218 0 +131 219 0 +131 220 0 +131 221 0 +131 222 0 +131 223 0 +131 224 0 +131 225 0 +131 226 0 +131 227 0 +131 228 0 +131 229 0 +131 230 0 +131 231 0 +131 232 0 +131 233 0 +131 234 0 +131 235 0 +131 236 0 +131 237 0 +131 238 0 +131 239 0 +131 240 0 +131 241 0 +131 242 0 +131 243 0 +131 244 0 +131 245 0 +131 246 0 +131 247 0 +131 248 0 +131 249 0 +131 250 0 +131 251 0 +131 252 0 +131 253 0 +131 254 0 +131 255 0 +131 256 0 +131 257 0 +131 258 0 +131 259 0 +131 260 0 +131 261 0 +131 262 0 +131 263 0 +131 264 0 +131 265 0 +131 266 0 +131 267 0 +131 268 0 +131 269 0 +131 270 0 +131 271 0 +131 272 0 +131 273 0 +131 274 0 +131 275 0 +131 276 0 +131 277 0 +131 278 0 +131 279 0 +131 280 0 +131 281 0 +131 282 0 +131 283 0 +131 284 0 +131 285 0 +131 286 0 +131 287 0 +131 288 0 +131 289 0 +131 290 0 +131 291 0 +131 292 0 +131 293 0 +131 294 0 +131 295 0 +131 296 0 +131 297 0 +131 298 0 +131 299 0 +131 300 0 +131 301 0 +131 302 0 +131 303 0 +131 304 0 +131 305 0 +131 306 0 +131 307 0 +131 308 0 +131 309 0 +131 310 0 +131 311 0 +131 312 0 +131 313 0 +131 314 0 +131 315 0 +131 316 0 +131 317 0 +131 318 0 +131 319 0 +131 320 0 +131 321 0 +131 322 0 +131 323 0 +131 324 0 +131 325 0 +131 326 0 +131 327 0 +131 328 0 +131 329 0 +131 330 0 +131 331 0 +131 332 0 +131 333 0 +131 334 0 +131 335 0 +131 336 0 +131 337 0 +131 338 0 +131 339 0 +131 340 0 +131 341 0 +131 342 0 +131 343 0 +131 344 0 +131 345 0 +131 346 0 +131 347 0 +131 348 0 +131 349 0 +131 350 0 +131 351 0 +131 352 0 +131 353 0 +131 354 0 +131 355 0 +131 356 0 +131 357 0 +131 358 0 +131 359 0 +131 360 0 +131 361 0 +131 362 0 +131 363 0 +131 364 0 +131 365 0 +131 366 0 +131 367 0 +131 368 0 +131 369 0 +131 370 0 +131 371 0 +131 372 0 +131 373 0 +131 374 0 +131 375 0 +131 376 0 +131 377 0 +131 378 0 +131 379 0 +131 380 0 +131 381 0 +131 382 0 +131 383 0 +132 133 4 +132 134 4 +132 135 4 +132 136 4 +132 137 4 +132 138 4 +132 139 4 +132 140 4 +132 141 4 +132 142 4 +132 143 4 +132 144 4 +132 145 4 +132 146 4 +132 147 4 +132 148 4 +132 149 4 +132 150 4 +132 151 4 +132 152 4 +132 153 4 +132 154 4 +132 155 4 +132 156 4 +132 157 4 +132 158 4 +132 159 4 +132 160 4 +132 161 4 +132 162 4 +132 163 4 +132 164 4 +132 165 4 +132 166 4 +132 167 4 +132 168 4 +132 169 4 +132 170 4 +132 171 4 +132 172 4 +132 173 4 +132 174 4 +132 175 4 +132 176 4 +132 177 4 +132 178 4 +132 179 4 +132 180 4 +132 181 4 +132 182 4 +132 183 4 +132 184 4 +132 185 4 +132 186 4 +132 187 4 +132 188 4 +132 189 4 +132 190 4 +132 191 4 +132 192 0 +132 193 0 +132 194 0 +132 195 0 +132 196 0 +132 197 0 +132 198 0 +132 199 0 +132 200 0 +132 201 0 +132 202 0 +132 203 0 +132 204 0 +132 205 0 +132 206 0 +132 207 0 +132 208 0 +132 209 0 +132 210 0 +132 211 0 +132 212 0 +132 213 0 +132 214 0 +132 215 0 +132 216 0 +132 217 0 +132 218 0 +132 219 0 +132 220 0 +132 221 0 +132 222 0 +132 223 0 +132 224 0 +132 225 0 +132 226 0 +132 227 0 +132 228 0 +132 229 0 +132 230 0 +132 231 0 +132 232 0 +132 233 0 +132 234 0 +132 235 0 +132 236 0 +132 237 0 +132 238 0 +132 239 0 +132 240 0 +132 241 0 +132 242 0 +132 243 0 +132 244 0 +132 245 0 +132 246 0 +132 247 0 +132 248 0 +132 249 0 +132 250 0 +132 251 0 +132 252 0 +132 253 0 +132 254 0 +132 255 0 +132 256 0 +132 257 0 +132 258 0 +132 259 0 +132 260 0 +132 261 0 +132 262 0 +132 263 0 +132 264 0 +132 265 0 +132 266 0 +132 267 0 +132 268 0 +132 269 0 +132 270 0 +132 271 0 +132 272 0 +132 273 0 +132 274 0 +132 275 0 +132 276 0 +132 277 0 +132 278 0 +132 279 0 +132 280 0 +132 281 0 +132 282 0 +132 283 0 +132 284 0 +132 285 0 +132 286 0 +132 287 0 +132 288 0 +132 289 0 +132 290 0 +132 291 0 +132 292 0 +132 293 0 +132 294 0 +132 295 0 +132 296 0 +132 297 0 +132 298 0 +132 299 0 +132 300 0 +132 301 0 +132 302 0 +132 303 0 +132 304 0 +132 305 0 +132 306 0 +132 307 0 +132 308 0 +132 309 0 +132 310 0 +132 311 0 +132 312 0 +132 313 0 +132 314 0 +132 315 0 +132 316 0 +132 317 0 +132 318 0 +132 319 0 +132 320 0 +132 321 0 +132 322 0 +132 323 0 +132 324 0 +132 325 0 +132 326 0 +132 327 0 +132 328 0 +132 329 0 +132 330 0 +132 331 0 +132 332 0 +132 333 0 +132 334 0 +132 335 0 +132 336 0 +132 337 0 +132 338 0 +132 339 0 +132 340 0 +132 341 0 +132 342 0 +132 343 0 +132 344 0 +132 345 0 +132 346 0 +132 347 0 +132 348 0 +132 349 0 +132 350 0 +132 351 0 +132 352 0 +132 353 0 +132 354 0 +132 355 0 +132 356 0 +132 357 0 +132 358 0 +132 359 0 +132 360 0 +132 361 0 +132 362 0 +132 363 0 +132 364 0 +132 365 0 +132 366 0 +132 367 0 +132 368 0 +132 369 0 +132 370 0 +132 371 0 +132 372 0 +132 373 0 +132 374 0 +132 375 0 +132 376 0 +132 377 0 +132 378 0 +132 379 0 +132 380 0 +132 381 0 +132 382 0 +132 383 0 +133 134 4 +133 135 4 +133 136 4 +133 137 4 +133 138 4 +133 139 4 +133 140 4 +133 141 4 +133 142 4 +133 143 4 +133 144 4 +133 145 4 +133 146 4 +133 147 4 +133 148 4 +133 149 4 +133 150 4 +133 151 4 +133 152 4 +133 153 4 +133 154 4 +133 155 4 +133 156 4 +133 157 4 +133 158 4 +133 159 4 +133 160 4 +133 161 4 +133 162 4 +133 163 4 +133 164 4 +133 165 4 +133 166 4 +133 167 4 +133 168 4 +133 169 4 +133 170 4 +133 171 4 +133 172 4 +133 173 4 +133 174 4 +133 175 4 +133 176 4 +133 177 4 +133 178 4 +133 179 4 +133 180 4 +133 181 4 +133 182 4 +133 183 4 +133 184 4 +133 185 4 +133 186 4 +133 187 4 +133 188 4 +133 189 4 +133 190 4 +133 191 4 +133 192 0 +133 193 0 +133 194 0 +133 195 0 +133 196 0 +133 197 0 +133 198 0 +133 199 0 +133 200 0 +133 201 0 +133 202 0 +133 203 0 +133 204 0 +133 205 0 +133 206 0 +133 207 0 +133 208 0 +133 209 0 +133 210 0 +133 211 0 +133 212 0 +133 213 0 +133 214 0 +133 215 0 +133 216 0 +133 217 0 +133 218 0 +133 219 0 +133 220 0 +133 221 0 +133 222 0 +133 223 0 +133 224 0 +133 225 0 +133 226 0 +133 227 0 +133 228 0 +133 229 0 +133 230 0 +133 231 0 +133 232 0 +133 233 0 +133 234 0 +133 235 0 +133 236 0 +133 237 0 +133 238 0 +133 239 0 +133 240 0 +133 241 0 +133 242 0 +133 243 0 +133 244 0 +133 245 0 +133 246 0 +133 247 0 +133 248 0 +133 249 0 +133 250 0 +133 251 0 +133 252 0 +133 253 0 +133 254 0 +133 255 0 +133 256 0 +133 257 0 +133 258 0 +133 259 0 +133 260 0 +133 261 0 +133 262 0 +133 263 0 +133 264 0 +133 265 0 +133 266 0 +133 267 0 +133 268 0 +133 269 0 +133 270 0 +133 271 0 +133 272 0 +133 273 0 +133 274 0 +133 275 0 +133 276 0 +133 277 0 +133 278 0 +133 279 0 +133 280 0 +133 281 0 +133 282 0 +133 283 0 +133 284 0 +133 285 0 +133 286 0 +133 287 0 +133 288 0 +133 289 0 +133 290 0 +133 291 0 +133 292 0 +133 293 0 +133 294 0 +133 295 0 +133 296 0 +133 297 0 +133 298 0 +133 299 0 +133 300 0 +133 301 0 +133 302 0 +133 303 0 +133 304 0 +133 305 0 +133 306 0 +133 307 0 +133 308 0 +133 309 0 +133 310 0 +133 311 0 +133 312 0 +133 313 0 +133 314 0 +133 315 0 +133 316 0 +133 317 0 +133 318 0 +133 319 0 +133 320 0 +133 321 0 +133 322 0 +133 323 0 +133 324 0 +133 325 0 +133 326 0 +133 327 0 +133 328 0 +133 329 0 +133 330 0 +133 331 0 +133 332 0 +133 333 0 +133 334 0 +133 335 0 +133 336 0 +133 337 0 +133 338 0 +133 339 0 +133 340 0 +133 341 0 +133 342 0 +133 343 0 +133 344 0 +133 345 0 +133 346 0 +133 347 0 +133 348 0 +133 349 0 +133 350 0 +133 351 0 +133 352 0 +133 353 0 +133 354 0 +133 355 0 +133 356 0 +133 357 0 +133 358 0 +133 359 0 +133 360 0 +133 361 0 +133 362 0 +133 363 0 +133 364 0 +133 365 0 +133 366 0 +133 367 0 +133 368 0 +133 369 0 +133 370 0 +133 371 0 +133 372 0 +133 373 0 +133 374 0 +133 375 0 +133 376 0 +133 377 0 +133 378 0 +133 379 0 +133 380 0 +133 381 0 +133 382 0 +133 383 0 +134 135 4 +134 136 4 +134 137 4 +134 138 4 +134 139 4 +134 140 4 +134 141 4 +134 142 4 +134 143 4 +134 144 4 +134 145 4 +134 146 4 +134 147 4 +134 148 4 +134 149 4 +134 150 4 +134 151 4 +134 152 4 +134 153 4 +134 154 4 +134 155 4 +134 156 4 +134 157 4 +134 158 4 +134 159 4 +134 160 4 +134 161 4 +134 162 4 +134 163 4 +134 164 4 +134 165 4 +134 166 4 +134 167 4 +134 168 4 +134 169 4 +134 170 4 +134 171 4 +134 172 4 +134 173 4 +134 174 4 +134 175 4 +134 176 4 +134 177 4 +134 178 4 +134 179 4 +134 180 4 +134 181 4 +134 182 4 +134 183 4 +134 184 4 +134 185 4 +134 186 4 +134 187 4 +134 188 4 +134 189 4 +134 190 4 +134 191 4 +134 192 0 +134 193 0 +134 194 0 +134 195 0 +134 196 0 +134 197 0 +134 198 0 +134 199 0 +134 200 0 +134 201 0 +134 202 0 +134 203 0 +134 204 0 +134 205 0 +134 206 0 +134 207 0 +134 208 0 +134 209 0 +134 210 0 +134 211 0 +134 212 0 +134 213 0 +134 214 0 +134 215 0 +134 216 0 +134 217 0 +134 218 0 +134 219 0 +134 220 0 +134 221 0 +134 222 0 +134 223 0 +134 224 0 +134 225 0 +134 226 0 +134 227 0 +134 228 0 +134 229 0 +134 230 0 +134 231 0 +134 232 0 +134 233 0 +134 234 0 +134 235 0 +134 236 0 +134 237 0 +134 238 0 +134 239 0 +134 240 0 +134 241 0 +134 242 0 +134 243 0 +134 244 0 +134 245 0 +134 246 0 +134 247 0 +134 248 0 +134 249 0 +134 250 0 +134 251 0 +134 252 0 +134 253 0 +134 254 0 +134 255 0 +134 256 0 +134 257 0 +134 258 0 +134 259 0 +134 260 0 +134 261 0 +134 262 0 +134 263 0 +134 264 0 +134 265 0 +134 266 0 +134 267 0 +134 268 0 +134 269 0 +134 270 0 +134 271 0 +134 272 0 +134 273 0 +134 274 0 +134 275 0 +134 276 0 +134 277 0 +134 278 0 +134 279 0 +134 280 0 +134 281 0 +134 282 0 +134 283 0 +134 284 0 +134 285 0 +134 286 0 +134 287 0 +134 288 0 +134 289 0 +134 290 0 +134 291 0 +134 292 0 +134 293 0 +134 294 0 +134 295 0 +134 296 0 +134 297 0 +134 298 0 +134 299 0 +134 300 0 +134 301 0 +134 302 0 +134 303 0 +134 304 0 +134 305 0 +134 306 0 +134 307 0 +134 308 0 +134 309 0 +134 310 0 +134 311 0 +134 312 0 +134 313 0 +134 314 0 +134 315 0 +134 316 0 +134 317 0 +134 318 0 +134 319 0 +134 320 0 +134 321 0 +134 322 0 +134 323 0 +134 324 0 +134 325 0 +134 326 0 +134 327 0 +134 328 0 +134 329 0 +134 330 0 +134 331 0 +134 332 0 +134 333 0 +134 334 0 +134 335 0 +134 336 0 +134 337 0 +134 338 0 +134 339 0 +134 340 0 +134 341 0 +134 342 0 +134 343 0 +134 344 0 +134 345 0 +134 346 0 +134 347 0 +134 348 0 +134 349 0 +134 350 0 +134 351 0 +134 352 0 +134 353 0 +134 354 0 +134 355 0 +134 356 0 +134 357 0 +134 358 0 +134 359 0 +134 360 0 +134 361 0 +134 362 0 +134 363 0 +134 364 0 +134 365 0 +134 366 0 +134 367 0 +134 368 0 +134 369 0 +134 370 0 +134 371 0 +134 372 0 +134 373 0 +134 374 0 +134 375 0 +134 376 0 +134 377 0 +134 378 0 +134 379 0 +134 380 0 +134 381 0 +134 382 0 +134 383 0 +135 136 4 +135 137 4 +135 138 4 +135 139 4 +135 140 4 +135 141 4 +135 142 4 +135 143 4 +135 144 4 +135 145 4 +135 146 4 +135 147 4 +135 148 4 +135 149 4 +135 150 4 +135 151 4 +135 152 4 +135 153 4 +135 154 4 +135 155 4 +135 156 4 +135 157 4 +135 158 4 +135 159 4 +135 160 4 +135 161 4 +135 162 4 +135 163 4 +135 164 4 +135 165 4 +135 166 4 +135 167 4 +135 168 4 +135 169 4 +135 170 4 +135 171 4 +135 172 4 +135 173 4 +135 174 4 +135 175 4 +135 176 4 +135 177 4 +135 178 4 +135 179 4 +135 180 4 +135 181 4 +135 182 4 +135 183 4 +135 184 4 +135 185 4 +135 186 4 +135 187 4 +135 188 4 +135 189 4 +135 190 4 +135 191 4 +135 192 0 +135 193 0 +135 194 0 +135 195 0 +135 196 0 +135 197 0 +135 198 0 +135 199 0 +135 200 0 +135 201 0 +135 202 0 +135 203 0 +135 204 0 +135 205 0 +135 206 0 +135 207 0 +135 208 0 +135 209 0 +135 210 0 +135 211 0 +135 212 0 +135 213 0 +135 214 0 +135 215 0 +135 216 0 +135 217 0 +135 218 0 +135 219 0 +135 220 0 +135 221 0 +135 222 0 +135 223 0 +135 224 0 +135 225 0 +135 226 0 +135 227 0 +135 228 0 +135 229 0 +135 230 0 +135 231 0 +135 232 0 +135 233 0 +135 234 0 +135 235 0 +135 236 0 +135 237 0 +135 238 0 +135 239 0 +135 240 0 +135 241 0 +135 242 0 +135 243 0 +135 244 0 +135 245 0 +135 246 0 +135 247 0 +135 248 0 +135 249 0 +135 250 0 +135 251 0 +135 252 0 +135 253 0 +135 254 0 +135 255 0 +135 256 0 +135 257 0 +135 258 0 +135 259 0 +135 260 0 +135 261 0 +135 262 0 +135 263 0 +135 264 0 +135 265 0 +135 266 0 +135 267 0 +135 268 0 +135 269 0 +135 270 0 +135 271 0 +135 272 0 +135 273 0 +135 274 0 +135 275 0 +135 276 0 +135 277 0 +135 278 0 +135 279 0 +135 280 0 +135 281 0 +135 282 0 +135 283 0 +135 284 0 +135 285 0 +135 286 0 +135 287 0 +135 288 0 +135 289 0 +135 290 0 +135 291 0 +135 292 0 +135 293 0 +135 294 0 +135 295 0 +135 296 0 +135 297 0 +135 298 0 +135 299 0 +135 300 0 +135 301 0 +135 302 0 +135 303 0 +135 304 0 +135 305 0 +135 306 0 +135 307 0 +135 308 0 +135 309 0 +135 310 0 +135 311 0 +135 312 0 +135 313 0 +135 314 0 +135 315 0 +135 316 0 +135 317 0 +135 318 0 +135 319 0 +135 320 0 +135 321 0 +135 322 0 +135 323 0 +135 324 0 +135 325 0 +135 326 0 +135 327 0 +135 328 0 +135 329 0 +135 330 0 +135 331 0 +135 332 0 +135 333 0 +135 334 0 +135 335 0 +135 336 0 +135 337 0 +135 338 0 +135 339 0 +135 340 0 +135 341 0 +135 342 0 +135 343 0 +135 344 0 +135 345 0 +135 346 0 +135 347 0 +135 348 0 +135 349 0 +135 350 0 +135 351 0 +135 352 0 +135 353 0 +135 354 0 +135 355 0 +135 356 0 +135 357 0 +135 358 0 +135 359 0 +135 360 0 +135 361 0 +135 362 0 +135 363 0 +135 364 0 +135 365 0 +135 366 0 +135 367 0 +135 368 0 +135 369 0 +135 370 0 +135 371 0 +135 372 0 +135 373 0 +135 374 0 +135 375 0 +135 376 0 +135 377 0 +135 378 0 +135 379 0 +135 380 0 +135 381 0 +135 382 0 +135 383 0 +136 137 4 +136 138 4 +136 139 4 +136 140 4 +136 141 4 +136 142 4 +136 143 4 +136 144 4 +136 145 4 +136 146 4 +136 147 4 +136 148 4 +136 149 4 +136 150 4 +136 151 4 +136 152 4 +136 153 4 +136 154 4 +136 155 4 +136 156 4 +136 157 4 +136 158 4 +136 159 4 +136 160 4 +136 161 4 +136 162 4 +136 163 4 +136 164 4 +136 165 4 +136 166 4 +136 167 4 +136 168 4 +136 169 4 +136 170 4 +136 171 4 +136 172 4 +136 173 4 +136 174 4 +136 175 4 +136 176 4 +136 177 4 +136 178 4 +136 179 4 +136 180 4 +136 181 4 +136 182 4 +136 183 4 +136 184 4 +136 185 4 +136 186 4 +136 187 4 +136 188 4 +136 189 4 +136 190 4 +136 191 4 +136 192 0 +136 193 0 +136 194 0 +136 195 0 +136 196 0 +136 197 0 +136 198 0 +136 199 0 +136 200 0 +136 201 0 +136 202 0 +136 203 0 +136 204 0 +136 205 0 +136 206 0 +136 207 0 +136 208 0 +136 209 0 +136 210 0 +136 211 0 +136 212 0 +136 213 0 +136 214 0 +136 215 0 +136 216 0 +136 217 0 +136 218 0 +136 219 0 +136 220 0 +136 221 0 +136 222 0 +136 223 0 +136 224 0 +136 225 0 +136 226 0 +136 227 0 +136 228 0 +136 229 0 +136 230 0 +136 231 0 +136 232 0 +136 233 0 +136 234 0 +136 235 0 +136 236 0 +136 237 0 +136 238 0 +136 239 0 +136 240 0 +136 241 0 +136 242 0 +136 243 0 +136 244 0 +136 245 0 +136 246 0 +136 247 0 +136 248 0 +136 249 0 +136 250 0 +136 251 0 +136 252 0 +136 253 0 +136 254 0 +136 255 0 +136 256 0 +136 257 0 +136 258 0 +136 259 0 +136 260 0 +136 261 0 +136 262 0 +136 263 0 +136 264 0 +136 265 0 +136 266 0 +136 267 0 +136 268 0 +136 269 0 +136 270 0 +136 271 0 +136 272 0 +136 273 0 +136 274 0 +136 275 0 +136 276 0 +136 277 0 +136 278 0 +136 279 0 +136 280 0 +136 281 0 +136 282 0 +136 283 0 +136 284 0 +136 285 0 +136 286 0 +136 287 0 +136 288 0 +136 289 0 +136 290 0 +136 291 0 +136 292 0 +136 293 0 +136 294 0 +136 295 0 +136 296 0 +136 297 0 +136 298 0 +136 299 0 +136 300 0 +136 301 0 +136 302 0 +136 303 0 +136 304 0 +136 305 0 +136 306 0 +136 307 0 +136 308 0 +136 309 0 +136 310 0 +136 311 0 +136 312 0 +136 313 0 +136 314 0 +136 315 0 +136 316 0 +136 317 0 +136 318 0 +136 319 0 +136 320 0 +136 321 0 +136 322 0 +136 323 0 +136 324 0 +136 325 0 +136 326 0 +136 327 0 +136 328 0 +136 329 0 +136 330 0 +136 331 0 +136 332 0 +136 333 0 +136 334 0 +136 335 0 +136 336 0 +136 337 0 +136 338 0 +136 339 0 +136 340 0 +136 341 0 +136 342 0 +136 343 0 +136 344 0 +136 345 0 +136 346 0 +136 347 0 +136 348 0 +136 349 0 +136 350 0 +136 351 0 +136 352 0 +136 353 0 +136 354 0 +136 355 0 +136 356 0 +136 357 0 +136 358 0 +136 359 0 +136 360 0 +136 361 0 +136 362 0 +136 363 0 +136 364 0 +136 365 0 +136 366 0 +136 367 0 +136 368 0 +136 369 0 +136 370 0 +136 371 0 +136 372 0 +136 373 0 +136 374 0 +136 375 0 +136 376 0 +136 377 0 +136 378 0 +136 379 0 +136 380 0 +136 381 0 +136 382 0 +136 383 0 +137 138 4 +137 139 4 +137 140 4 +137 141 4 +137 142 4 +137 143 4 +137 144 4 +137 145 4 +137 146 4 +137 147 4 +137 148 4 +137 149 4 +137 150 4 +137 151 4 +137 152 4 +137 153 4 +137 154 4 +137 155 4 +137 156 4 +137 157 4 +137 158 4 +137 159 4 +137 160 4 +137 161 4 +137 162 4 +137 163 4 +137 164 4 +137 165 4 +137 166 4 +137 167 4 +137 168 4 +137 169 4 +137 170 4 +137 171 4 +137 172 4 +137 173 4 +137 174 4 +137 175 4 +137 176 4 +137 177 4 +137 178 4 +137 179 4 +137 180 4 +137 181 4 +137 182 4 +137 183 4 +137 184 4 +137 185 4 +137 186 4 +137 187 4 +137 188 4 +137 189 4 +137 190 4 +137 191 4 +137 192 0 +137 193 0 +137 194 0 +137 195 0 +137 196 0 +137 197 0 +137 198 0 +137 199 0 +137 200 0 +137 201 0 +137 202 0 +137 203 0 +137 204 0 +137 205 0 +137 206 0 +137 207 0 +137 208 0 +137 209 0 +137 210 0 +137 211 0 +137 212 0 +137 213 0 +137 214 0 +137 215 0 +137 216 0 +137 217 0 +137 218 0 +137 219 0 +137 220 0 +137 221 0 +137 222 0 +137 223 0 +137 224 0 +137 225 0 +137 226 0 +137 227 0 +137 228 0 +137 229 0 +137 230 0 +137 231 0 +137 232 0 +137 233 0 +137 234 0 +137 235 0 +137 236 0 +137 237 0 +137 238 0 +137 239 0 +137 240 0 +137 241 0 +137 242 0 +137 243 0 +137 244 0 +137 245 0 +137 246 0 +137 247 0 +137 248 0 +137 249 0 +137 250 0 +137 251 0 +137 252 0 +137 253 0 +137 254 0 +137 255 0 +137 256 0 +137 257 0 +137 258 0 +137 259 0 +137 260 0 +137 261 0 +137 262 0 +137 263 0 +137 264 0 +137 265 0 +137 266 0 +137 267 0 +137 268 0 +137 269 0 +137 270 0 +137 271 0 +137 272 0 +137 273 0 +137 274 0 +137 275 0 +137 276 0 +137 277 0 +137 278 0 +137 279 0 +137 280 0 +137 281 0 +137 282 0 +137 283 0 +137 284 0 +137 285 0 +137 286 0 +137 287 0 +137 288 0 +137 289 0 +137 290 0 +137 291 0 +137 292 0 +137 293 0 +137 294 0 +137 295 0 +137 296 0 +137 297 0 +137 298 0 +137 299 0 +137 300 0 +137 301 0 +137 302 0 +137 303 0 +137 304 0 +137 305 0 +137 306 0 +137 307 0 +137 308 0 +137 309 0 +137 310 0 +137 311 0 +137 312 0 +137 313 0 +137 314 0 +137 315 0 +137 316 0 +137 317 0 +137 318 0 +137 319 0 +137 320 0 +137 321 0 +137 322 0 +137 323 0 +137 324 0 +137 325 0 +137 326 0 +137 327 0 +137 328 0 +137 329 0 +137 330 0 +137 331 0 +137 332 0 +137 333 0 +137 334 0 +137 335 0 +137 336 0 +137 337 0 +137 338 0 +137 339 0 +137 340 0 +137 341 0 +137 342 0 +137 343 0 +137 344 0 +137 345 0 +137 346 0 +137 347 0 +137 348 0 +137 349 0 +137 350 0 +137 351 0 +137 352 0 +137 353 0 +137 354 0 +137 355 0 +137 356 0 +137 357 0 +137 358 0 +137 359 0 +137 360 0 +137 361 0 +137 362 0 +137 363 0 +137 364 0 +137 365 0 +137 366 0 +137 367 0 +137 368 0 +137 369 0 +137 370 0 +137 371 0 +137 372 0 +137 373 0 +137 374 0 +137 375 0 +137 376 0 +137 377 0 +137 378 0 +137 379 0 +137 380 0 +137 381 0 +137 382 0 +137 383 0 +138 139 4 +138 140 4 +138 141 4 +138 142 4 +138 143 4 +138 144 4 +138 145 4 +138 146 4 +138 147 4 +138 148 4 +138 149 4 +138 150 4 +138 151 4 +138 152 4 +138 153 4 +138 154 4 +138 155 4 +138 156 4 +138 157 4 +138 158 4 +138 159 4 +138 160 4 +138 161 4 +138 162 4 +138 163 4 +138 164 4 +138 165 4 +138 166 4 +138 167 4 +138 168 4 +138 169 4 +138 170 4 +138 171 4 +138 172 4 +138 173 4 +138 174 4 +138 175 4 +138 176 4 +138 177 4 +138 178 4 +138 179 4 +138 180 4 +138 181 4 +138 182 4 +138 183 4 +138 184 4 +138 185 4 +138 186 4 +138 187 4 +138 188 4 +138 189 4 +138 190 4 +138 191 4 +138 192 0 +138 193 0 +138 194 0 +138 195 0 +138 196 0 +138 197 0 +138 198 0 +138 199 0 +138 200 0 +138 201 0 +138 202 0 +138 203 0 +138 204 0 +138 205 0 +138 206 0 +138 207 0 +138 208 0 +138 209 0 +138 210 0 +138 211 0 +138 212 0 +138 213 0 +138 214 0 +138 215 0 +138 216 0 +138 217 0 +138 218 0 +138 219 0 +138 220 0 +138 221 0 +138 222 0 +138 223 0 +138 224 0 +138 225 0 +138 226 0 +138 227 0 +138 228 0 +138 229 0 +138 230 0 +138 231 0 +138 232 0 +138 233 0 +138 234 0 +138 235 0 +138 236 0 +138 237 0 +138 238 0 +138 239 0 +138 240 0 +138 241 0 +138 242 0 +138 243 0 +138 244 0 +138 245 0 +138 246 0 +138 247 0 +138 248 0 +138 249 0 +138 250 0 +138 251 0 +138 252 0 +138 253 0 +138 254 0 +138 255 0 +138 256 0 +138 257 0 +138 258 0 +138 259 0 +138 260 0 +138 261 0 +138 262 0 +138 263 0 +138 264 0 +138 265 0 +138 266 0 +138 267 0 +138 268 0 +138 269 0 +138 270 0 +138 271 0 +138 272 0 +138 273 0 +138 274 0 +138 275 0 +138 276 0 +138 277 0 +138 278 0 +138 279 0 +138 280 0 +138 281 0 +138 282 0 +138 283 0 +138 284 0 +138 285 0 +138 286 0 +138 287 0 +138 288 0 +138 289 0 +138 290 0 +138 291 0 +138 292 0 +138 293 0 +138 294 0 +138 295 0 +138 296 0 +138 297 0 +138 298 0 +138 299 0 +138 300 0 +138 301 0 +138 302 0 +138 303 0 +138 304 0 +138 305 0 +138 306 0 +138 307 0 +138 308 0 +138 309 0 +138 310 0 +138 311 0 +138 312 0 +138 313 0 +138 314 0 +138 315 0 +138 316 0 +138 317 0 +138 318 0 +138 319 0 +138 320 0 +138 321 0 +138 322 0 +138 323 0 +138 324 0 +138 325 0 +138 326 0 +138 327 0 +138 328 0 +138 329 0 +138 330 0 +138 331 0 +138 332 0 +138 333 0 +138 334 0 +138 335 0 +138 336 0 +138 337 0 +138 338 0 +138 339 0 +138 340 0 +138 341 0 +138 342 0 +138 343 0 +138 344 0 +138 345 0 +138 346 0 +138 347 0 +138 348 0 +138 349 0 +138 350 0 +138 351 0 +138 352 0 +138 353 0 +138 354 0 +138 355 0 +138 356 0 +138 357 0 +138 358 0 +138 359 0 +138 360 0 +138 361 0 +138 362 0 +138 363 0 +138 364 0 +138 365 0 +138 366 0 +138 367 0 +138 368 0 +138 369 0 +138 370 0 +138 371 0 +138 372 0 +138 373 0 +138 374 0 +138 375 0 +138 376 0 +138 377 0 +138 378 0 +138 379 0 +138 380 0 +138 381 0 +138 382 0 +138 383 0 +139 140 4 +139 141 4 +139 142 4 +139 143 4 +139 144 4 +139 145 4 +139 146 4 +139 147 4 +139 148 4 +139 149 4 +139 150 4 +139 151 4 +139 152 4 +139 153 4 +139 154 4 +139 155 4 +139 156 4 +139 157 4 +139 158 4 +139 159 4 +139 160 4 +139 161 4 +139 162 4 +139 163 4 +139 164 4 +139 165 4 +139 166 4 +139 167 4 +139 168 4 +139 169 4 +139 170 4 +139 171 4 +139 172 4 +139 173 4 +139 174 4 +139 175 4 +139 176 4 +139 177 4 +139 178 4 +139 179 4 +139 180 4 +139 181 4 +139 182 4 +139 183 4 +139 184 4 +139 185 4 +139 186 4 +139 187 4 +139 188 4 +139 189 4 +139 190 4 +139 191 4 +139 192 0 +139 193 0 +139 194 0 +139 195 0 +139 196 0 +139 197 0 +139 198 0 +139 199 0 +139 200 0 +139 201 0 +139 202 0 +139 203 0 +139 204 0 +139 205 0 +139 206 0 +139 207 0 +139 208 0 +139 209 0 +139 210 0 +139 211 0 +139 212 0 +139 213 0 +139 214 0 +139 215 0 +139 216 0 +139 217 0 +139 218 0 +139 219 0 +139 220 0 +139 221 0 +139 222 0 +139 223 0 +139 224 0 +139 225 0 +139 226 0 +139 227 0 +139 228 0 +139 229 0 +139 230 0 +139 231 0 +139 232 0 +139 233 0 +139 234 0 +139 235 0 +139 236 0 +139 237 0 +139 238 0 +139 239 0 +139 240 0 +139 241 0 +139 242 0 +139 243 0 +139 244 0 +139 245 0 +139 246 0 +139 247 0 +139 248 0 +139 249 0 +139 250 0 +139 251 0 +139 252 0 +139 253 0 +139 254 0 +139 255 0 +139 256 0 +139 257 0 +139 258 0 +139 259 0 +139 260 0 +139 261 0 +139 262 0 +139 263 0 +139 264 0 +139 265 0 +139 266 0 +139 267 0 +139 268 0 +139 269 0 +139 270 0 +139 271 0 +139 272 0 +139 273 0 +139 274 0 +139 275 0 +139 276 0 +139 277 0 +139 278 0 +139 279 0 +139 280 0 +139 281 0 +139 282 0 +139 283 0 +139 284 0 +139 285 0 +139 286 0 +139 287 0 +139 288 0 +139 289 0 +139 290 0 +139 291 0 +139 292 0 +139 293 0 +139 294 0 +139 295 0 +139 296 0 +139 297 0 +139 298 0 +139 299 0 +139 300 0 +139 301 0 +139 302 0 +139 303 0 +139 304 0 +139 305 0 +139 306 0 +139 307 0 +139 308 0 +139 309 0 +139 310 0 +139 311 0 +139 312 0 +139 313 0 +139 314 0 +139 315 0 +139 316 0 +139 317 0 +139 318 0 +139 319 0 +139 320 0 +139 321 0 +139 322 0 +139 323 0 +139 324 0 +139 325 0 +139 326 0 +139 327 0 +139 328 0 +139 329 0 +139 330 0 +139 331 0 +139 332 0 +139 333 0 +139 334 0 +139 335 0 +139 336 0 +139 337 0 +139 338 0 +139 339 0 +139 340 0 +139 341 0 +139 342 0 +139 343 0 +139 344 0 +139 345 0 +139 346 0 +139 347 0 +139 348 0 +139 349 0 +139 350 0 +139 351 0 +139 352 0 +139 353 0 +139 354 0 +139 355 0 +139 356 0 +139 357 0 +139 358 0 +139 359 0 +139 360 0 +139 361 0 +139 362 0 +139 363 0 +139 364 0 +139 365 0 +139 366 0 +139 367 0 +139 368 0 +139 369 0 +139 370 0 +139 371 0 +139 372 0 +139 373 0 +139 374 0 +139 375 0 +139 376 0 +139 377 0 +139 378 0 +139 379 0 +139 380 0 +139 381 0 +139 382 0 +139 383 0 +140 141 4 +140 142 4 +140 143 4 +140 144 4 +140 145 4 +140 146 4 +140 147 4 +140 148 4 +140 149 4 +140 150 4 +140 151 4 +140 152 4 +140 153 4 +140 154 4 +140 155 4 +140 156 4 +140 157 4 +140 158 4 +140 159 4 +140 160 4 +140 161 4 +140 162 4 +140 163 4 +140 164 4 +140 165 4 +140 166 4 +140 167 4 +140 168 4 +140 169 4 +140 170 4 +140 171 4 +140 172 4 +140 173 4 +140 174 4 +140 175 4 +140 176 4 +140 177 4 +140 178 4 +140 179 4 +140 180 4 +140 181 4 +140 182 4 +140 183 4 +140 184 4 +140 185 4 +140 186 4 +140 187 4 +140 188 4 +140 189 4 +140 190 4 +140 191 4 +140 192 0 +140 193 0 +140 194 0 +140 195 0 +140 196 0 +140 197 0 +140 198 0 +140 199 0 +140 200 0 +140 201 0 +140 202 0 +140 203 0 +140 204 0 +140 205 0 +140 206 0 +140 207 0 +140 208 0 +140 209 0 +140 210 0 +140 211 0 +140 212 0 +140 213 0 +140 214 0 +140 215 0 +140 216 0 +140 217 0 +140 218 0 +140 219 0 +140 220 0 +140 221 0 +140 222 0 +140 223 0 +140 224 0 +140 225 0 +140 226 0 +140 227 0 +140 228 0 +140 229 0 +140 230 0 +140 231 0 +140 232 0 +140 233 0 +140 234 0 +140 235 0 +140 236 0 +140 237 0 +140 238 0 +140 239 0 +140 240 0 +140 241 0 +140 242 0 +140 243 0 +140 244 0 +140 245 0 +140 246 0 +140 247 0 +140 248 0 +140 249 0 +140 250 0 +140 251 0 +140 252 0 +140 253 0 +140 254 0 +140 255 0 +140 256 0 +140 257 0 +140 258 0 +140 259 0 +140 260 0 +140 261 0 +140 262 0 +140 263 0 +140 264 0 +140 265 0 +140 266 0 +140 267 0 +140 268 0 +140 269 0 +140 270 0 +140 271 0 +140 272 0 +140 273 0 +140 274 0 +140 275 0 +140 276 0 +140 277 0 +140 278 0 +140 279 0 +140 280 0 +140 281 0 +140 282 0 +140 283 0 +140 284 0 +140 285 0 +140 286 0 +140 287 0 +140 288 0 +140 289 0 +140 290 0 +140 291 0 +140 292 0 +140 293 0 +140 294 0 +140 295 0 +140 296 0 +140 297 0 +140 298 0 +140 299 0 +140 300 0 +140 301 0 +140 302 0 +140 303 0 +140 304 0 +140 305 0 +140 306 0 +140 307 0 +140 308 0 +140 309 0 +140 310 0 +140 311 0 +140 312 0 +140 313 0 +140 314 0 +140 315 0 +140 316 0 +140 317 0 +140 318 0 +140 319 0 +140 320 0 +140 321 0 +140 322 0 +140 323 0 +140 324 0 +140 325 0 +140 326 0 +140 327 0 +140 328 0 +140 329 0 +140 330 0 +140 331 0 +140 332 0 +140 333 0 +140 334 0 +140 335 0 +140 336 0 +140 337 0 +140 338 0 +140 339 0 +140 340 0 +140 341 0 +140 342 0 +140 343 0 +140 344 0 +140 345 0 +140 346 0 +140 347 0 +140 348 0 +140 349 0 +140 350 0 +140 351 0 +140 352 0 +140 353 0 +140 354 0 +140 355 0 +140 356 0 +140 357 0 +140 358 0 +140 359 0 +140 360 0 +140 361 0 +140 362 0 +140 363 0 +140 364 0 +140 365 0 +140 366 0 +140 367 0 +140 368 0 +140 369 0 +140 370 0 +140 371 0 +140 372 0 +140 373 0 +140 374 0 +140 375 0 +140 376 0 +140 377 0 +140 378 0 +140 379 0 +140 380 0 +140 381 0 +140 382 0 +140 383 0 +141 142 4 +141 143 4 +141 144 4 +141 145 4 +141 146 4 +141 147 4 +141 148 4 +141 149 4 +141 150 4 +141 151 4 +141 152 4 +141 153 4 +141 154 4 +141 155 4 +141 156 4 +141 157 4 +141 158 4 +141 159 4 +141 160 4 +141 161 4 +141 162 4 +141 163 4 +141 164 4 +141 165 4 +141 166 4 +141 167 4 +141 168 4 +141 169 4 +141 170 4 +141 171 4 +141 172 4 +141 173 4 +141 174 4 +141 175 4 +141 176 4 +141 177 4 +141 178 4 +141 179 4 +141 180 4 +141 181 4 +141 182 4 +141 183 4 +141 184 4 +141 185 4 +141 186 4 +141 187 4 +141 188 4 +141 189 4 +141 190 4 +141 191 4 +141 192 0 +141 193 0 +141 194 0 +141 195 0 +141 196 0 +141 197 0 +141 198 0 +141 199 0 +141 200 0 +141 201 0 +141 202 0 +141 203 0 +141 204 0 +141 205 0 +141 206 0 +141 207 0 +141 208 0 +141 209 0 +141 210 0 +141 211 0 +141 212 0 +141 213 0 +141 214 0 +141 215 0 +141 216 0 +141 217 0 +141 218 0 +141 219 0 +141 220 0 +141 221 0 +141 222 0 +141 223 0 +141 224 0 +141 225 0 +141 226 0 +141 227 0 +141 228 0 +141 229 0 +141 230 0 +141 231 0 +141 232 0 +141 233 0 +141 234 0 +141 235 0 +141 236 0 +141 237 0 +141 238 0 +141 239 0 +141 240 0 +141 241 0 +141 242 0 +141 243 0 +141 244 0 +141 245 0 +141 246 0 +141 247 0 +141 248 0 +141 249 0 +141 250 0 +141 251 0 +141 252 0 +141 253 0 +141 254 0 +141 255 0 +141 256 0 +141 257 0 +141 258 0 +141 259 0 +141 260 0 +141 261 0 +141 262 0 +141 263 0 +141 264 0 +141 265 0 +141 266 0 +141 267 0 +141 268 0 +141 269 0 +141 270 0 +141 271 0 +141 272 0 +141 273 0 +141 274 0 +141 275 0 +141 276 0 +141 277 0 +141 278 0 +141 279 0 +141 280 0 +141 281 0 +141 282 0 +141 283 0 +141 284 0 +141 285 0 +141 286 0 +141 287 0 +141 288 0 +141 289 0 +141 290 0 +141 291 0 +141 292 0 +141 293 0 +141 294 0 +141 295 0 +141 296 0 +141 297 0 +141 298 0 +141 299 0 +141 300 0 +141 301 0 +141 302 0 +141 303 0 +141 304 0 +141 305 0 +141 306 0 +141 307 0 +141 308 0 +141 309 0 +141 310 0 +141 311 0 +141 312 0 +141 313 0 +141 314 0 +141 315 0 +141 316 0 +141 317 0 +141 318 0 +141 319 0 +141 320 0 +141 321 0 +141 322 0 +141 323 0 +141 324 0 +141 325 0 +141 326 0 +141 327 0 +141 328 0 +141 329 0 +141 330 0 +141 331 0 +141 332 0 +141 333 0 +141 334 0 +141 335 0 +141 336 0 +141 337 0 +141 338 0 +141 339 0 +141 340 0 +141 341 0 +141 342 0 +141 343 0 +141 344 0 +141 345 0 +141 346 0 +141 347 0 +141 348 0 +141 349 0 +141 350 0 +141 351 0 +141 352 0 +141 353 0 +141 354 0 +141 355 0 +141 356 0 +141 357 0 +141 358 0 +141 359 0 +141 360 0 +141 361 0 +141 362 0 +141 363 0 +141 364 0 +141 365 0 +141 366 0 +141 367 0 +141 368 0 +141 369 0 +141 370 0 +141 371 0 +141 372 0 +141 373 0 +141 374 0 +141 375 0 +141 376 0 +141 377 0 +141 378 0 +141 379 0 +141 380 0 +141 381 0 +141 382 0 +141 383 0 +142 143 4 +142 144 4 +142 145 4 +142 146 4 +142 147 4 +142 148 4 +142 149 4 +142 150 4 +142 151 4 +142 152 4 +142 153 4 +142 154 4 +142 155 4 +142 156 4 +142 157 4 +142 158 4 +142 159 4 +142 160 4 +142 161 4 +142 162 4 +142 163 4 +142 164 4 +142 165 4 +142 166 4 +142 167 4 +142 168 4 +142 169 4 +142 170 4 +142 171 4 +142 172 4 +142 173 4 +142 174 4 +142 175 4 +142 176 4 +142 177 4 +142 178 4 +142 179 4 +142 180 4 +142 181 4 +142 182 4 +142 183 4 +142 184 4 +142 185 4 +142 186 4 +142 187 4 +142 188 4 +142 189 4 +142 190 4 +142 191 4 +142 192 0 +142 193 0 +142 194 0 +142 195 0 +142 196 0 +142 197 0 +142 198 0 +142 199 0 +142 200 0 +142 201 0 +142 202 0 +142 203 0 +142 204 0 +142 205 0 +142 206 0 +142 207 0 +142 208 0 +142 209 0 +142 210 0 +142 211 0 +142 212 0 +142 213 0 +142 214 0 +142 215 0 +142 216 0 +142 217 0 +142 218 0 +142 219 0 +142 220 0 +142 221 0 +142 222 0 +142 223 0 +142 224 0 +142 225 0 +142 226 0 +142 227 0 +142 228 0 +142 229 0 +142 230 0 +142 231 0 +142 232 0 +142 233 0 +142 234 0 +142 235 0 +142 236 0 +142 237 0 +142 238 0 +142 239 0 +142 240 0 +142 241 0 +142 242 0 +142 243 0 +142 244 0 +142 245 0 +142 246 0 +142 247 0 +142 248 0 +142 249 0 +142 250 0 +142 251 0 +142 252 0 +142 253 0 +142 254 0 +142 255 0 +142 256 0 +142 257 0 +142 258 0 +142 259 0 +142 260 0 +142 261 0 +142 262 0 +142 263 0 +142 264 0 +142 265 0 +142 266 0 +142 267 0 +142 268 0 +142 269 0 +142 270 0 +142 271 0 +142 272 0 +142 273 0 +142 274 0 +142 275 0 +142 276 0 +142 277 0 +142 278 0 +142 279 0 +142 280 0 +142 281 0 +142 282 0 +142 283 0 +142 284 0 +142 285 0 +142 286 0 +142 287 0 +142 288 0 +142 289 0 +142 290 0 +142 291 0 +142 292 0 +142 293 0 +142 294 0 +142 295 0 +142 296 0 +142 297 0 +142 298 0 +142 299 0 +142 300 0 +142 301 0 +142 302 0 +142 303 0 +142 304 0 +142 305 0 +142 306 0 +142 307 0 +142 308 0 +142 309 0 +142 310 0 +142 311 0 +142 312 0 +142 313 0 +142 314 0 +142 315 0 +142 316 0 +142 317 0 +142 318 0 +142 319 0 +142 320 0 +142 321 0 +142 322 0 +142 323 0 +142 324 0 +142 325 0 +142 326 0 +142 327 0 +142 328 0 +142 329 0 +142 330 0 +142 331 0 +142 332 0 +142 333 0 +142 334 0 +142 335 0 +142 336 0 +142 337 0 +142 338 0 +142 339 0 +142 340 0 +142 341 0 +142 342 0 +142 343 0 +142 344 0 +142 345 0 +142 346 0 +142 347 0 +142 348 0 +142 349 0 +142 350 0 +142 351 0 +142 352 0 +142 353 0 +142 354 0 +142 355 0 +142 356 0 +142 357 0 +142 358 0 +142 359 0 +142 360 0 +142 361 0 +142 362 0 +142 363 0 +142 364 0 +142 365 0 +142 366 0 +142 367 0 +142 368 0 +142 369 0 +142 370 0 +142 371 0 +142 372 0 +142 373 0 +142 374 0 +142 375 0 +142 376 0 +142 377 0 +142 378 0 +142 379 0 +142 380 0 +142 381 0 +142 382 0 +142 383 0 +143 144 4 +143 145 4 +143 146 4 +143 147 4 +143 148 4 +143 149 4 +143 150 4 +143 151 4 +143 152 4 +143 153 4 +143 154 4 +143 155 4 +143 156 4 +143 157 4 +143 158 4 +143 159 4 +143 160 4 +143 161 4 +143 162 4 +143 163 4 +143 164 4 +143 165 4 +143 166 4 +143 167 4 +143 168 4 +143 169 4 +143 170 4 +143 171 4 +143 172 4 +143 173 4 +143 174 4 +143 175 4 +143 176 4 +143 177 4 +143 178 4 +143 179 4 +143 180 4 +143 181 4 +143 182 4 +143 183 4 +143 184 4 +143 185 4 +143 186 4 +143 187 4 +143 188 4 +143 189 4 +143 190 4 +143 191 4 +143 192 0 +143 193 0 +143 194 0 +143 195 0 +143 196 0 +143 197 0 +143 198 0 +143 199 0 +143 200 0 +143 201 0 +143 202 0 +143 203 0 +143 204 0 +143 205 0 +143 206 0 +143 207 0 +143 208 0 +143 209 0 +143 210 0 +143 211 0 +143 212 0 +143 213 0 +143 214 0 +143 215 0 +143 216 0 +143 217 0 +143 218 0 +143 219 0 +143 220 0 +143 221 0 +143 222 0 +143 223 0 +143 224 0 +143 225 0 +143 226 0 +143 227 0 +143 228 0 +143 229 0 +143 230 0 +143 231 0 +143 232 0 +143 233 0 +143 234 0 +143 235 0 +143 236 0 +143 237 0 +143 238 0 +143 239 0 +143 240 0 +143 241 0 +143 242 0 +143 243 0 +143 244 0 +143 245 0 +143 246 0 +143 247 0 +143 248 0 +143 249 0 +143 250 0 +143 251 0 +143 252 0 +143 253 0 +143 254 0 +143 255 0 +143 256 0 +143 257 0 +143 258 0 +143 259 0 +143 260 0 +143 261 0 +143 262 0 +143 263 0 +143 264 0 +143 265 0 +143 266 0 +143 267 0 +143 268 0 +143 269 0 +143 270 0 +143 271 0 +143 272 0 +143 273 0 +143 274 0 +143 275 0 +143 276 0 +143 277 0 +143 278 0 +143 279 0 +143 280 0 +143 281 0 +143 282 0 +143 283 0 +143 284 0 +143 285 0 +143 286 0 +143 287 0 +143 288 0 +143 289 0 +143 290 0 +143 291 0 +143 292 0 +143 293 0 +143 294 0 +143 295 0 +143 296 0 +143 297 0 +143 298 0 +143 299 0 +143 300 0 +143 301 0 +143 302 0 +143 303 0 +143 304 0 +143 305 0 +143 306 0 +143 307 0 +143 308 0 +143 309 0 +143 310 0 +143 311 0 +143 312 0 +143 313 0 +143 314 0 +143 315 0 +143 316 0 +143 317 0 +143 318 0 +143 319 0 +143 320 0 +143 321 0 +143 322 0 +143 323 0 +143 324 0 +143 325 0 +143 326 0 +143 327 0 +143 328 0 +143 329 0 +143 330 0 +143 331 0 +143 332 0 +143 333 0 +143 334 0 +143 335 0 +143 336 0 +143 337 0 +143 338 0 +143 339 0 +143 340 0 +143 341 0 +143 342 0 +143 343 0 +143 344 0 +143 345 0 +143 346 0 +143 347 0 +143 348 0 +143 349 0 +143 350 0 +143 351 0 +143 352 0 +143 353 0 +143 354 0 +143 355 0 +143 356 0 +143 357 0 +143 358 0 +143 359 0 +143 360 0 +143 361 0 +143 362 0 +143 363 0 +143 364 0 +143 365 0 +143 366 0 +143 367 0 +143 368 0 +143 369 0 +143 370 0 +143 371 0 +143 372 0 +143 373 0 +143 374 0 +143 375 0 +143 376 0 +143 377 0 +143 378 0 +143 379 0 +143 380 0 +143 381 0 +143 382 0 +143 383 0 +144 145 4 +144 146 4 +144 147 4 +144 148 4 +144 149 4 +144 150 4 +144 151 4 +144 152 4 +144 153 4 +144 154 4 +144 155 4 +144 156 4 +144 157 4 +144 158 4 +144 159 4 +144 160 4 +144 161 4 +144 162 4 +144 163 4 +144 164 4 +144 165 4 +144 166 4 +144 167 4 +144 168 4 +144 169 4 +144 170 4 +144 171 4 +144 172 4 +144 173 4 +144 174 4 +144 175 4 +144 176 4 +144 177 4 +144 178 4 +144 179 4 +144 180 4 +144 181 4 +144 182 4 +144 183 4 +144 184 4 +144 185 4 +144 186 4 +144 187 4 +144 188 4 +144 189 4 +144 190 4 +144 191 4 +144 192 0 +144 193 0 +144 194 0 +144 195 0 +144 196 0 +144 197 0 +144 198 0 +144 199 0 +144 200 0 +144 201 0 +144 202 0 +144 203 0 +144 204 0 +144 205 0 +144 206 0 +144 207 0 +144 208 0 +144 209 0 +144 210 0 +144 211 0 +144 212 0 +144 213 0 +144 214 0 +144 215 0 +144 216 0 +144 217 0 +144 218 0 +144 219 0 +144 220 0 +144 221 0 +144 222 0 +144 223 0 +144 224 0 +144 225 0 +144 226 0 +144 227 0 +144 228 0 +144 229 0 +144 230 0 +144 231 0 +144 232 0 +144 233 0 +144 234 0 +144 235 0 +144 236 0 +144 237 0 +144 238 0 +144 239 0 +144 240 0 +144 241 0 +144 242 0 +144 243 0 +144 244 0 +144 245 0 +144 246 0 +144 247 0 +144 248 0 +144 249 0 +144 250 0 +144 251 0 +144 252 0 +144 253 0 +144 254 0 +144 255 0 +144 256 0 +144 257 0 +144 258 0 +144 259 0 +144 260 0 +144 261 0 +144 262 0 +144 263 0 +144 264 0 +144 265 0 +144 266 0 +144 267 0 +144 268 0 +144 269 0 +144 270 0 +144 271 0 +144 272 0 +144 273 0 +144 274 0 +144 275 0 +144 276 0 +144 277 0 +144 278 0 +144 279 0 +144 280 0 +144 281 0 +144 282 0 +144 283 0 +144 284 0 +144 285 0 +144 286 0 +144 287 0 +144 288 0 +144 289 0 +144 290 0 +144 291 0 +144 292 0 +144 293 0 +144 294 0 +144 295 0 +144 296 0 +144 297 0 +144 298 0 +144 299 0 +144 300 0 +144 301 0 +144 302 0 +144 303 0 +144 304 0 +144 305 0 +144 306 0 +144 307 0 +144 308 0 +144 309 0 +144 310 0 +144 311 0 +144 312 0 +144 313 0 +144 314 0 +144 315 0 +144 316 0 +144 317 0 +144 318 0 +144 319 0 +144 320 0 +144 321 0 +144 322 0 +144 323 0 +144 324 0 +144 325 0 +144 326 0 +144 327 0 +144 328 0 +144 329 0 +144 330 0 +144 331 0 +144 332 0 +144 333 0 +144 334 0 +144 335 0 +144 336 0 +144 337 0 +144 338 0 +144 339 0 +144 340 0 +144 341 0 +144 342 0 +144 343 0 +144 344 0 +144 345 0 +144 346 0 +144 347 0 +144 348 0 +144 349 0 +144 350 0 +144 351 0 +144 352 0 +144 353 0 +144 354 0 +144 355 0 +144 356 0 +144 357 0 +144 358 0 +144 359 0 +144 360 0 +144 361 0 +144 362 0 +144 363 0 +144 364 0 +144 365 0 +144 366 0 +144 367 0 +144 368 0 +144 369 0 +144 370 0 +144 371 0 +144 372 0 +144 373 0 +144 374 0 +144 375 0 +144 376 0 +144 377 0 +144 378 0 +144 379 0 +144 380 0 +144 381 0 +144 382 0 +144 383 0 +145 146 4 +145 147 4 +145 148 4 +145 149 4 +145 150 4 +145 151 4 +145 152 4 +145 153 4 +145 154 4 +145 155 4 +145 156 4 +145 157 4 +145 158 4 +145 159 4 +145 160 4 +145 161 4 +145 162 4 +145 163 4 +145 164 4 +145 165 4 +145 166 4 +145 167 4 +145 168 4 +145 169 4 +145 170 4 +145 171 4 +145 172 4 +145 173 4 +145 174 4 +145 175 4 +145 176 4 +145 177 4 +145 178 4 +145 179 4 +145 180 4 +145 181 4 +145 182 4 +145 183 4 +145 184 4 +145 185 4 +145 186 4 +145 187 4 +145 188 4 +145 189 4 +145 190 4 +145 191 4 +145 192 0 +145 193 0 +145 194 0 +145 195 0 +145 196 0 +145 197 0 +145 198 0 +145 199 0 +145 200 0 +145 201 0 +145 202 0 +145 203 0 +145 204 0 +145 205 0 +145 206 0 +145 207 0 +145 208 0 +145 209 0 +145 210 0 +145 211 0 +145 212 0 +145 213 0 +145 214 0 +145 215 0 +145 216 0 +145 217 0 +145 218 0 +145 219 0 +145 220 0 +145 221 0 +145 222 0 +145 223 0 +145 224 0 +145 225 0 +145 226 0 +145 227 0 +145 228 0 +145 229 0 +145 230 0 +145 231 0 +145 232 0 +145 233 0 +145 234 0 +145 235 0 +145 236 0 +145 237 0 +145 238 0 +145 239 0 +145 240 0 +145 241 0 +145 242 0 +145 243 0 +145 244 0 +145 245 0 +145 246 0 +145 247 0 +145 248 0 +145 249 0 +145 250 0 +145 251 0 +145 252 0 +145 253 0 +145 254 0 +145 255 0 +145 256 0 +145 257 0 +145 258 0 +145 259 0 +145 260 0 +145 261 0 +145 262 0 +145 263 0 +145 264 0 +145 265 0 +145 266 0 +145 267 0 +145 268 0 +145 269 0 +145 270 0 +145 271 0 +145 272 0 +145 273 0 +145 274 0 +145 275 0 +145 276 0 +145 277 0 +145 278 0 +145 279 0 +145 280 0 +145 281 0 +145 282 0 +145 283 0 +145 284 0 +145 285 0 +145 286 0 +145 287 0 +145 288 0 +145 289 0 +145 290 0 +145 291 0 +145 292 0 +145 293 0 +145 294 0 +145 295 0 +145 296 0 +145 297 0 +145 298 0 +145 299 0 +145 300 0 +145 301 0 +145 302 0 +145 303 0 +145 304 0 +145 305 0 +145 306 0 +145 307 0 +145 308 0 +145 309 0 +145 310 0 +145 311 0 +145 312 0 +145 313 0 +145 314 0 +145 315 0 +145 316 0 +145 317 0 +145 318 0 +145 319 0 +145 320 0 +145 321 0 +145 322 0 +145 323 0 +145 324 0 +145 325 0 +145 326 0 +145 327 0 +145 328 0 +145 329 0 +145 330 0 +145 331 0 +145 332 0 +145 333 0 +145 334 0 +145 335 0 +145 336 0 +145 337 0 +145 338 0 +145 339 0 +145 340 0 +145 341 0 +145 342 0 +145 343 0 +145 344 0 +145 345 0 +145 346 0 +145 347 0 +145 348 0 +145 349 0 +145 350 0 +145 351 0 +145 352 0 +145 353 0 +145 354 0 +145 355 0 +145 356 0 +145 357 0 +145 358 0 +145 359 0 +145 360 0 +145 361 0 +145 362 0 +145 363 0 +145 364 0 +145 365 0 +145 366 0 +145 367 0 +145 368 0 +145 369 0 +145 370 0 +145 371 0 +145 372 0 +145 373 0 +145 374 0 +145 375 0 +145 376 0 +145 377 0 +145 378 0 +145 379 0 +145 380 0 +145 381 0 +145 382 0 +145 383 0 +146 147 4 +146 148 4 +146 149 4 +146 150 4 +146 151 4 +146 152 4 +146 153 4 +146 154 4 +146 155 4 +146 156 4 +146 157 4 +146 158 4 +146 159 4 +146 160 4 +146 161 4 +146 162 4 +146 163 4 +146 164 4 +146 165 4 +146 166 4 +146 167 4 +146 168 4 +146 169 4 +146 170 4 +146 171 4 +146 172 4 +146 173 4 +146 174 4 +146 175 4 +146 176 4 +146 177 4 +146 178 4 +146 179 4 +146 180 4 +146 181 4 +146 182 4 +146 183 4 +146 184 4 +146 185 4 +146 186 4 +146 187 4 +146 188 4 +146 189 4 +146 190 4 +146 191 4 +146 192 0 +146 193 0 +146 194 0 +146 195 0 +146 196 0 +146 197 0 +146 198 0 +146 199 0 +146 200 0 +146 201 0 +146 202 0 +146 203 0 +146 204 0 +146 205 0 +146 206 0 +146 207 0 +146 208 0 +146 209 0 +146 210 0 +146 211 0 +146 212 0 +146 213 0 +146 214 0 +146 215 0 +146 216 0 +146 217 0 +146 218 0 +146 219 0 +146 220 0 +146 221 0 +146 222 0 +146 223 0 +146 224 0 +146 225 0 +146 226 0 +146 227 0 +146 228 0 +146 229 0 +146 230 0 +146 231 0 +146 232 0 +146 233 0 +146 234 0 +146 235 0 +146 236 0 +146 237 0 +146 238 0 +146 239 0 +146 240 0 +146 241 0 +146 242 0 +146 243 0 +146 244 0 +146 245 0 +146 246 0 +146 247 0 +146 248 0 +146 249 0 +146 250 0 +146 251 0 +146 252 0 +146 253 0 +146 254 0 +146 255 0 +146 256 0 +146 257 0 +146 258 0 +146 259 0 +146 260 0 +146 261 0 +146 262 0 +146 263 0 +146 264 0 +146 265 0 +146 266 0 +146 267 0 +146 268 0 +146 269 0 +146 270 0 +146 271 0 +146 272 0 +146 273 0 +146 274 0 +146 275 0 +146 276 0 +146 277 0 +146 278 0 +146 279 0 +146 280 0 +146 281 0 +146 282 0 +146 283 0 +146 284 0 +146 285 0 +146 286 0 +146 287 0 +146 288 0 +146 289 0 +146 290 0 +146 291 0 +146 292 0 +146 293 0 +146 294 0 +146 295 0 +146 296 0 +146 297 0 +146 298 0 +146 299 0 +146 300 0 +146 301 0 +146 302 0 +146 303 0 +146 304 0 +146 305 0 +146 306 0 +146 307 0 +146 308 0 +146 309 0 +146 310 0 +146 311 0 +146 312 0 +146 313 0 +146 314 0 +146 315 0 +146 316 0 +146 317 0 +146 318 0 +146 319 0 +146 320 0 +146 321 0 +146 322 0 +146 323 0 +146 324 0 +146 325 0 +146 326 0 +146 327 0 +146 328 0 +146 329 0 +146 330 0 +146 331 0 +146 332 0 +146 333 0 +146 334 0 +146 335 0 +146 336 0 +146 337 0 +146 338 0 +146 339 0 +146 340 0 +146 341 0 +146 342 0 +146 343 0 +146 344 0 +146 345 0 +146 346 0 +146 347 0 +146 348 0 +146 349 0 +146 350 0 +146 351 0 +146 352 0 +146 353 0 +146 354 0 +146 355 0 +146 356 0 +146 357 0 +146 358 0 +146 359 0 +146 360 0 +146 361 0 +146 362 0 +146 363 0 +146 364 0 +146 365 0 +146 366 0 +146 367 0 +146 368 0 +146 369 0 +146 370 0 +146 371 0 +146 372 0 +146 373 0 +146 374 0 +146 375 0 +146 376 0 +146 377 0 +146 378 0 +146 379 0 +146 380 0 +146 381 0 +146 382 0 +146 383 0 +147 148 4 +147 149 4 +147 150 4 +147 151 4 +147 152 4 +147 153 4 +147 154 4 +147 155 4 +147 156 4 +147 157 4 +147 158 4 +147 159 4 +147 160 4 +147 161 4 +147 162 4 +147 163 4 +147 164 4 +147 165 4 +147 166 4 +147 167 4 +147 168 4 +147 169 4 +147 170 4 +147 171 4 +147 172 4 +147 173 4 +147 174 4 +147 175 4 +147 176 4 +147 177 4 +147 178 4 +147 179 4 +147 180 4 +147 181 4 +147 182 4 +147 183 4 +147 184 4 +147 185 4 +147 186 4 +147 187 4 +147 188 4 +147 189 4 +147 190 4 +147 191 4 +147 192 0 +147 193 0 +147 194 0 +147 195 0 +147 196 0 +147 197 0 +147 198 0 +147 199 0 +147 200 0 +147 201 0 +147 202 0 +147 203 0 +147 204 0 +147 205 0 +147 206 0 +147 207 0 +147 208 0 +147 209 0 +147 210 0 +147 211 0 +147 212 0 +147 213 0 +147 214 0 +147 215 0 +147 216 0 +147 217 0 +147 218 0 +147 219 0 +147 220 0 +147 221 0 +147 222 0 +147 223 0 +147 224 0 +147 225 0 +147 226 0 +147 227 0 +147 228 0 +147 229 0 +147 230 0 +147 231 0 +147 232 0 +147 233 0 +147 234 0 +147 235 0 +147 236 0 +147 237 0 +147 238 0 +147 239 0 +147 240 0 +147 241 0 +147 242 0 +147 243 0 +147 244 0 +147 245 0 +147 246 0 +147 247 0 +147 248 0 +147 249 0 +147 250 0 +147 251 0 +147 252 0 +147 253 0 +147 254 0 +147 255 0 +147 256 0 +147 257 0 +147 258 0 +147 259 0 +147 260 0 +147 261 0 +147 262 0 +147 263 0 +147 264 0 +147 265 0 +147 266 0 +147 267 0 +147 268 0 +147 269 0 +147 270 0 +147 271 0 +147 272 0 +147 273 0 +147 274 0 +147 275 0 +147 276 0 +147 277 0 +147 278 0 +147 279 0 +147 280 0 +147 281 0 +147 282 0 +147 283 0 +147 284 0 +147 285 0 +147 286 0 +147 287 0 +147 288 0 +147 289 0 +147 290 0 +147 291 0 +147 292 0 +147 293 0 +147 294 0 +147 295 0 +147 296 0 +147 297 0 +147 298 0 +147 299 0 +147 300 0 +147 301 0 +147 302 0 +147 303 0 +147 304 0 +147 305 0 +147 306 0 +147 307 0 +147 308 0 +147 309 0 +147 310 0 +147 311 0 +147 312 0 +147 313 0 +147 314 0 +147 315 0 +147 316 0 +147 317 0 +147 318 0 +147 319 0 +147 320 0 +147 321 0 +147 322 0 +147 323 0 +147 324 0 +147 325 0 +147 326 0 +147 327 0 +147 328 0 +147 329 0 +147 330 0 +147 331 0 +147 332 0 +147 333 0 +147 334 0 +147 335 0 +147 336 0 +147 337 0 +147 338 0 +147 339 0 +147 340 0 +147 341 0 +147 342 0 +147 343 0 +147 344 0 +147 345 0 +147 346 0 +147 347 0 +147 348 0 +147 349 0 +147 350 0 +147 351 0 +147 352 0 +147 353 0 +147 354 0 +147 355 0 +147 356 0 +147 357 0 +147 358 0 +147 359 0 +147 360 0 +147 361 0 +147 362 0 +147 363 0 +147 364 0 +147 365 0 +147 366 0 +147 367 0 +147 368 0 +147 369 0 +147 370 0 +147 371 0 +147 372 0 +147 373 0 +147 374 0 +147 375 0 +147 376 0 +147 377 0 +147 378 0 +147 379 0 +147 380 0 +147 381 0 +147 382 0 +147 383 0 +148 149 4 +148 150 4 +148 151 4 +148 152 4 +148 153 4 +148 154 4 +148 155 4 +148 156 4 +148 157 4 +148 158 4 +148 159 4 +148 160 4 +148 161 4 +148 162 4 +148 163 4 +148 164 4 +148 165 4 +148 166 4 +148 167 4 +148 168 4 +148 169 4 +148 170 4 +148 171 4 +148 172 4 +148 173 4 +148 174 4 +148 175 4 +148 176 4 +148 177 4 +148 178 4 +148 179 4 +148 180 4 +148 181 4 +148 182 4 +148 183 4 +148 184 4 +148 185 4 +148 186 4 +148 187 4 +148 188 4 +148 189 4 +148 190 4 +148 191 4 +148 192 0 +148 193 0 +148 194 0 +148 195 0 +148 196 0 +148 197 0 +148 198 0 +148 199 0 +148 200 0 +148 201 0 +148 202 0 +148 203 0 +148 204 0 +148 205 0 +148 206 0 +148 207 0 +148 208 0 +148 209 0 +148 210 0 +148 211 0 +148 212 0 +148 213 0 +148 214 0 +148 215 0 +148 216 0 +148 217 0 +148 218 0 +148 219 0 +148 220 0 +148 221 0 +148 222 0 +148 223 0 +148 224 0 +148 225 0 +148 226 0 +148 227 0 +148 228 0 +148 229 0 +148 230 0 +148 231 0 +148 232 0 +148 233 0 +148 234 0 +148 235 0 +148 236 0 +148 237 0 +148 238 0 +148 239 0 +148 240 0 +148 241 0 +148 242 0 +148 243 0 +148 244 0 +148 245 0 +148 246 0 +148 247 0 +148 248 0 +148 249 0 +148 250 0 +148 251 0 +148 252 0 +148 253 0 +148 254 0 +148 255 0 +148 256 0 +148 257 0 +148 258 0 +148 259 0 +148 260 0 +148 261 0 +148 262 0 +148 263 0 +148 264 0 +148 265 0 +148 266 0 +148 267 0 +148 268 0 +148 269 0 +148 270 0 +148 271 0 +148 272 0 +148 273 0 +148 274 0 +148 275 0 +148 276 0 +148 277 0 +148 278 0 +148 279 0 +148 280 0 +148 281 0 +148 282 0 +148 283 0 +148 284 0 +148 285 0 +148 286 0 +148 287 0 +148 288 0 +148 289 0 +148 290 0 +148 291 0 +148 292 0 +148 293 0 +148 294 0 +148 295 0 +148 296 0 +148 297 0 +148 298 0 +148 299 0 +148 300 0 +148 301 0 +148 302 0 +148 303 0 +148 304 0 +148 305 0 +148 306 0 +148 307 0 +148 308 0 +148 309 0 +148 310 0 +148 311 0 +148 312 0 +148 313 0 +148 314 0 +148 315 0 +148 316 0 +148 317 0 +148 318 0 +148 319 0 +148 320 0 +148 321 0 +148 322 0 +148 323 0 +148 324 0 +148 325 0 +148 326 0 +148 327 0 +148 328 0 +148 329 0 +148 330 0 +148 331 0 +148 332 0 +148 333 0 +148 334 0 +148 335 0 +148 336 0 +148 337 0 +148 338 0 +148 339 0 +148 340 0 +148 341 0 +148 342 0 +148 343 0 +148 344 0 +148 345 0 +148 346 0 +148 347 0 +148 348 0 +148 349 0 +148 350 0 +148 351 0 +148 352 0 +148 353 0 +148 354 0 +148 355 0 +148 356 0 +148 357 0 +148 358 0 +148 359 0 +148 360 0 +148 361 0 +148 362 0 +148 363 0 +148 364 0 +148 365 0 +148 366 0 +148 367 0 +148 368 0 +148 369 0 +148 370 0 +148 371 0 +148 372 0 +148 373 0 +148 374 0 +148 375 0 +148 376 0 +148 377 0 +148 378 0 +148 379 0 +148 380 0 +148 381 0 +148 382 0 +148 383 0 +149 150 4 +149 151 4 +149 152 4 +149 153 4 +149 154 4 +149 155 4 +149 156 4 +149 157 4 +149 158 4 +149 159 4 +149 160 4 +149 161 4 +149 162 4 +149 163 4 +149 164 4 +149 165 4 +149 166 4 +149 167 4 +149 168 4 +149 169 4 +149 170 4 +149 171 4 +149 172 4 +149 173 4 +149 174 4 +149 175 4 +149 176 4 +149 177 4 +149 178 4 +149 179 4 +149 180 4 +149 181 4 +149 182 4 +149 183 4 +149 184 4 +149 185 4 +149 186 4 +149 187 4 +149 188 4 +149 189 4 +149 190 4 +149 191 4 +149 192 0 +149 193 0 +149 194 0 +149 195 0 +149 196 0 +149 197 0 +149 198 0 +149 199 0 +149 200 0 +149 201 0 +149 202 0 +149 203 0 +149 204 0 +149 205 0 +149 206 0 +149 207 0 +149 208 0 +149 209 0 +149 210 0 +149 211 0 +149 212 0 +149 213 0 +149 214 0 +149 215 0 +149 216 0 +149 217 0 +149 218 0 +149 219 0 +149 220 0 +149 221 0 +149 222 0 +149 223 0 +149 224 0 +149 225 0 +149 226 0 +149 227 0 +149 228 0 +149 229 0 +149 230 0 +149 231 0 +149 232 0 +149 233 0 +149 234 0 +149 235 0 +149 236 0 +149 237 0 +149 238 0 +149 239 0 +149 240 0 +149 241 0 +149 242 0 +149 243 0 +149 244 0 +149 245 0 +149 246 0 +149 247 0 +149 248 0 +149 249 0 +149 250 0 +149 251 0 +149 252 0 +149 253 0 +149 254 0 +149 255 0 +149 256 0 +149 257 0 +149 258 0 +149 259 0 +149 260 0 +149 261 0 +149 262 0 +149 263 0 +149 264 0 +149 265 0 +149 266 0 +149 267 0 +149 268 0 +149 269 0 +149 270 0 +149 271 0 +149 272 0 +149 273 0 +149 274 0 +149 275 0 +149 276 0 +149 277 0 +149 278 0 +149 279 0 +149 280 0 +149 281 0 +149 282 0 +149 283 0 +149 284 0 +149 285 0 +149 286 0 +149 287 0 +149 288 0 +149 289 0 +149 290 0 +149 291 0 +149 292 0 +149 293 0 +149 294 0 +149 295 0 +149 296 0 +149 297 0 +149 298 0 +149 299 0 +149 300 0 +149 301 0 +149 302 0 +149 303 0 +149 304 0 +149 305 0 +149 306 0 +149 307 0 +149 308 0 +149 309 0 +149 310 0 +149 311 0 +149 312 0 +149 313 0 +149 314 0 +149 315 0 +149 316 0 +149 317 0 +149 318 0 +149 319 0 +149 320 0 +149 321 0 +149 322 0 +149 323 0 +149 324 0 +149 325 0 +149 326 0 +149 327 0 +149 328 0 +149 329 0 +149 330 0 +149 331 0 +149 332 0 +149 333 0 +149 334 0 +149 335 0 +149 336 0 +149 337 0 +149 338 0 +149 339 0 +149 340 0 +149 341 0 +149 342 0 +149 343 0 +149 344 0 +149 345 0 +149 346 0 +149 347 0 +149 348 0 +149 349 0 +149 350 0 +149 351 0 +149 352 0 +149 353 0 +149 354 0 +149 355 0 +149 356 0 +149 357 0 +149 358 0 +149 359 0 +149 360 0 +149 361 0 +149 362 0 +149 363 0 +149 364 0 +149 365 0 +149 366 0 +149 367 0 +149 368 0 +149 369 0 +149 370 0 +149 371 0 +149 372 0 +149 373 0 +149 374 0 +149 375 0 +149 376 0 +149 377 0 +149 378 0 +149 379 0 +149 380 0 +149 381 0 +149 382 0 +149 383 0 +150 151 4 +150 152 4 +150 153 4 +150 154 4 +150 155 4 +150 156 4 +150 157 4 +150 158 4 +150 159 4 +150 160 4 +150 161 4 +150 162 4 +150 163 4 +150 164 4 +150 165 4 +150 166 4 +150 167 4 +150 168 4 +150 169 4 +150 170 4 +150 171 4 +150 172 4 +150 173 4 +150 174 4 +150 175 4 +150 176 4 +150 177 4 +150 178 4 +150 179 4 +150 180 4 +150 181 4 +150 182 4 +150 183 4 +150 184 4 +150 185 4 +150 186 4 +150 187 4 +150 188 4 +150 189 4 +150 190 4 +150 191 4 +150 192 0 +150 193 0 +150 194 0 +150 195 0 +150 196 0 +150 197 0 +150 198 0 +150 199 0 +150 200 0 +150 201 0 +150 202 0 +150 203 0 +150 204 0 +150 205 0 +150 206 0 +150 207 0 +150 208 0 +150 209 0 +150 210 0 +150 211 0 +150 212 0 +150 213 0 +150 214 0 +150 215 0 +150 216 0 +150 217 0 +150 218 0 +150 219 0 +150 220 0 +150 221 0 +150 222 0 +150 223 0 +150 224 0 +150 225 0 +150 226 0 +150 227 0 +150 228 0 +150 229 0 +150 230 0 +150 231 0 +150 232 0 +150 233 0 +150 234 0 +150 235 0 +150 236 0 +150 237 0 +150 238 0 +150 239 0 +150 240 0 +150 241 0 +150 242 0 +150 243 0 +150 244 0 +150 245 0 +150 246 0 +150 247 0 +150 248 0 +150 249 0 +150 250 0 +150 251 0 +150 252 0 +150 253 0 +150 254 0 +150 255 0 +150 256 0 +150 257 0 +150 258 0 +150 259 0 +150 260 0 +150 261 0 +150 262 0 +150 263 0 +150 264 0 +150 265 0 +150 266 0 +150 267 0 +150 268 0 +150 269 0 +150 270 0 +150 271 0 +150 272 0 +150 273 0 +150 274 0 +150 275 0 +150 276 0 +150 277 0 +150 278 0 +150 279 0 +150 280 0 +150 281 0 +150 282 0 +150 283 0 +150 284 0 +150 285 0 +150 286 0 +150 287 0 +150 288 0 +150 289 0 +150 290 0 +150 291 0 +150 292 0 +150 293 0 +150 294 0 +150 295 0 +150 296 0 +150 297 0 +150 298 0 +150 299 0 +150 300 0 +150 301 0 +150 302 0 +150 303 0 +150 304 0 +150 305 0 +150 306 0 +150 307 0 +150 308 0 +150 309 0 +150 310 0 +150 311 0 +150 312 0 +150 313 0 +150 314 0 +150 315 0 +150 316 0 +150 317 0 +150 318 0 +150 319 0 +150 320 0 +150 321 0 +150 322 0 +150 323 0 +150 324 0 +150 325 0 +150 326 0 +150 327 0 +150 328 0 +150 329 0 +150 330 0 +150 331 0 +150 332 0 +150 333 0 +150 334 0 +150 335 0 +150 336 0 +150 337 0 +150 338 0 +150 339 0 +150 340 0 +150 341 0 +150 342 0 +150 343 0 +150 344 0 +150 345 0 +150 346 0 +150 347 0 +150 348 0 +150 349 0 +150 350 0 +150 351 0 +150 352 0 +150 353 0 +150 354 0 +150 355 0 +150 356 0 +150 357 0 +150 358 0 +150 359 0 +150 360 0 +150 361 0 +150 362 0 +150 363 0 +150 364 0 +150 365 0 +150 366 0 +150 367 0 +150 368 0 +150 369 0 +150 370 0 +150 371 0 +150 372 0 +150 373 0 +150 374 0 +150 375 0 +150 376 0 +150 377 0 +150 378 0 +150 379 0 +150 380 0 +150 381 0 +150 382 0 +150 383 0 +151 152 4 +151 153 4 +151 154 4 +151 155 4 +151 156 4 +151 157 4 +151 158 4 +151 159 4 +151 160 4 +151 161 4 +151 162 4 +151 163 4 +151 164 4 +151 165 4 +151 166 4 +151 167 4 +151 168 4 +151 169 4 +151 170 4 +151 171 4 +151 172 4 +151 173 4 +151 174 4 +151 175 4 +151 176 4 +151 177 4 +151 178 4 +151 179 4 +151 180 4 +151 181 4 +151 182 4 +151 183 4 +151 184 4 +151 185 4 +151 186 4 +151 187 4 +151 188 4 +151 189 4 +151 190 4 +151 191 4 +151 192 0 +151 193 0 +151 194 0 +151 195 0 +151 196 0 +151 197 0 +151 198 0 +151 199 0 +151 200 0 +151 201 0 +151 202 0 +151 203 0 +151 204 0 +151 205 0 +151 206 0 +151 207 0 +151 208 0 +151 209 0 +151 210 0 +151 211 0 +151 212 0 +151 213 0 +151 214 0 +151 215 0 +151 216 0 +151 217 0 +151 218 0 +151 219 0 +151 220 0 +151 221 0 +151 222 0 +151 223 0 +151 224 0 +151 225 0 +151 226 0 +151 227 0 +151 228 0 +151 229 0 +151 230 0 +151 231 0 +151 232 0 +151 233 0 +151 234 0 +151 235 0 +151 236 0 +151 237 0 +151 238 0 +151 239 0 +151 240 0 +151 241 0 +151 242 0 +151 243 0 +151 244 0 +151 245 0 +151 246 0 +151 247 0 +151 248 0 +151 249 0 +151 250 0 +151 251 0 +151 252 0 +151 253 0 +151 254 0 +151 255 0 +151 256 0 +151 257 0 +151 258 0 +151 259 0 +151 260 0 +151 261 0 +151 262 0 +151 263 0 +151 264 0 +151 265 0 +151 266 0 +151 267 0 +151 268 0 +151 269 0 +151 270 0 +151 271 0 +151 272 0 +151 273 0 +151 274 0 +151 275 0 +151 276 0 +151 277 0 +151 278 0 +151 279 0 +151 280 0 +151 281 0 +151 282 0 +151 283 0 +151 284 0 +151 285 0 +151 286 0 +151 287 0 +151 288 0 +151 289 0 +151 290 0 +151 291 0 +151 292 0 +151 293 0 +151 294 0 +151 295 0 +151 296 0 +151 297 0 +151 298 0 +151 299 0 +151 300 0 +151 301 0 +151 302 0 +151 303 0 +151 304 0 +151 305 0 +151 306 0 +151 307 0 +151 308 0 +151 309 0 +151 310 0 +151 311 0 +151 312 0 +151 313 0 +151 314 0 +151 315 0 +151 316 0 +151 317 0 +151 318 0 +151 319 0 +151 320 0 +151 321 0 +151 322 0 +151 323 0 +151 324 0 +151 325 0 +151 326 0 +151 327 0 +151 328 0 +151 329 0 +151 330 0 +151 331 0 +151 332 0 +151 333 0 +151 334 0 +151 335 0 +151 336 0 +151 337 0 +151 338 0 +151 339 0 +151 340 0 +151 341 0 +151 342 0 +151 343 0 +151 344 0 +151 345 0 +151 346 0 +151 347 0 +151 348 0 +151 349 0 +151 350 0 +151 351 0 +151 352 0 +151 353 0 +151 354 0 +151 355 0 +151 356 0 +151 357 0 +151 358 0 +151 359 0 +151 360 0 +151 361 0 +151 362 0 +151 363 0 +151 364 0 +151 365 0 +151 366 0 +151 367 0 +151 368 0 +151 369 0 +151 370 0 +151 371 0 +151 372 0 +151 373 0 +151 374 0 +151 375 0 +151 376 0 +151 377 0 +151 378 0 +151 379 0 +151 380 0 +151 381 0 +151 382 0 +151 383 0 +152 153 4 +152 154 4 +152 155 4 +152 156 4 +152 157 4 +152 158 4 +152 159 4 +152 160 4 +152 161 4 +152 162 4 +152 163 4 +152 164 4 +152 165 4 +152 166 4 +152 167 4 +152 168 4 +152 169 4 +152 170 4 +152 171 4 +152 172 4 +152 173 4 +152 174 4 +152 175 4 +152 176 4 +152 177 4 +152 178 4 +152 179 4 +152 180 4 +152 181 4 +152 182 4 +152 183 4 +152 184 4 +152 185 4 +152 186 4 +152 187 4 +152 188 4 +152 189 4 +152 190 4 +152 191 4 +152 192 0 +152 193 0 +152 194 0 +152 195 0 +152 196 0 +152 197 0 +152 198 0 +152 199 0 +152 200 0 +152 201 0 +152 202 0 +152 203 0 +152 204 0 +152 205 0 +152 206 0 +152 207 0 +152 208 0 +152 209 0 +152 210 0 +152 211 0 +152 212 0 +152 213 0 +152 214 0 +152 215 0 +152 216 0 +152 217 0 +152 218 0 +152 219 0 +152 220 0 +152 221 0 +152 222 0 +152 223 0 +152 224 0 +152 225 0 +152 226 0 +152 227 0 +152 228 0 +152 229 0 +152 230 0 +152 231 0 +152 232 0 +152 233 0 +152 234 0 +152 235 0 +152 236 0 +152 237 0 +152 238 0 +152 239 0 +152 240 0 +152 241 0 +152 242 0 +152 243 0 +152 244 0 +152 245 0 +152 246 0 +152 247 0 +152 248 0 +152 249 0 +152 250 0 +152 251 0 +152 252 0 +152 253 0 +152 254 0 +152 255 0 +152 256 0 +152 257 0 +152 258 0 +152 259 0 +152 260 0 +152 261 0 +152 262 0 +152 263 0 +152 264 0 +152 265 0 +152 266 0 +152 267 0 +152 268 0 +152 269 0 +152 270 0 +152 271 0 +152 272 0 +152 273 0 +152 274 0 +152 275 0 +152 276 0 +152 277 0 +152 278 0 +152 279 0 +152 280 0 +152 281 0 +152 282 0 +152 283 0 +152 284 0 +152 285 0 +152 286 0 +152 287 0 +152 288 0 +152 289 0 +152 290 0 +152 291 0 +152 292 0 +152 293 0 +152 294 0 +152 295 0 +152 296 0 +152 297 0 +152 298 0 +152 299 0 +152 300 0 +152 301 0 +152 302 0 +152 303 0 +152 304 0 +152 305 0 +152 306 0 +152 307 0 +152 308 0 +152 309 0 +152 310 0 +152 311 0 +152 312 0 +152 313 0 +152 314 0 +152 315 0 +152 316 0 +152 317 0 +152 318 0 +152 319 0 +152 320 0 +152 321 0 +152 322 0 +152 323 0 +152 324 0 +152 325 0 +152 326 0 +152 327 0 +152 328 0 +152 329 0 +152 330 0 +152 331 0 +152 332 0 +152 333 0 +152 334 0 +152 335 0 +152 336 0 +152 337 0 +152 338 0 +152 339 0 +152 340 0 +152 341 0 +152 342 0 +152 343 0 +152 344 0 +152 345 0 +152 346 0 +152 347 0 +152 348 0 +152 349 0 +152 350 0 +152 351 0 +152 352 0 +152 353 0 +152 354 0 +152 355 0 +152 356 0 +152 357 0 +152 358 0 +152 359 0 +152 360 0 +152 361 0 +152 362 0 +152 363 0 +152 364 0 +152 365 0 +152 366 0 +152 367 0 +152 368 0 +152 369 0 +152 370 0 +152 371 0 +152 372 0 +152 373 0 +152 374 0 +152 375 0 +152 376 0 +152 377 0 +152 378 0 +152 379 0 +152 380 0 +152 381 0 +152 382 0 +152 383 0 +153 154 4 +153 155 4 +153 156 4 +153 157 4 +153 158 4 +153 159 4 +153 160 4 +153 161 4 +153 162 4 +153 163 4 +153 164 4 +153 165 4 +153 166 4 +153 167 4 +153 168 4 +153 169 4 +153 170 4 +153 171 4 +153 172 4 +153 173 4 +153 174 4 +153 175 4 +153 176 4 +153 177 4 +153 178 4 +153 179 4 +153 180 4 +153 181 4 +153 182 4 +153 183 4 +153 184 4 +153 185 4 +153 186 4 +153 187 4 +153 188 4 +153 189 4 +153 190 4 +153 191 4 +153 192 0 +153 193 0 +153 194 0 +153 195 0 +153 196 0 +153 197 0 +153 198 0 +153 199 0 +153 200 0 +153 201 0 +153 202 0 +153 203 0 +153 204 0 +153 205 0 +153 206 0 +153 207 0 +153 208 0 +153 209 0 +153 210 0 +153 211 0 +153 212 0 +153 213 0 +153 214 0 +153 215 0 +153 216 0 +153 217 0 +153 218 0 +153 219 0 +153 220 0 +153 221 0 +153 222 0 +153 223 0 +153 224 0 +153 225 0 +153 226 0 +153 227 0 +153 228 0 +153 229 0 +153 230 0 +153 231 0 +153 232 0 +153 233 0 +153 234 0 +153 235 0 +153 236 0 +153 237 0 +153 238 0 +153 239 0 +153 240 0 +153 241 0 +153 242 0 +153 243 0 +153 244 0 +153 245 0 +153 246 0 +153 247 0 +153 248 0 +153 249 0 +153 250 0 +153 251 0 +153 252 0 +153 253 0 +153 254 0 +153 255 0 +153 256 0 +153 257 0 +153 258 0 +153 259 0 +153 260 0 +153 261 0 +153 262 0 +153 263 0 +153 264 0 +153 265 0 +153 266 0 +153 267 0 +153 268 0 +153 269 0 +153 270 0 +153 271 0 +153 272 0 +153 273 0 +153 274 0 +153 275 0 +153 276 0 +153 277 0 +153 278 0 +153 279 0 +153 280 0 +153 281 0 +153 282 0 +153 283 0 +153 284 0 +153 285 0 +153 286 0 +153 287 0 +153 288 0 +153 289 0 +153 290 0 +153 291 0 +153 292 0 +153 293 0 +153 294 0 +153 295 0 +153 296 0 +153 297 0 +153 298 0 +153 299 0 +153 300 0 +153 301 0 +153 302 0 +153 303 0 +153 304 0 +153 305 0 +153 306 0 +153 307 0 +153 308 0 +153 309 0 +153 310 0 +153 311 0 +153 312 0 +153 313 0 +153 314 0 +153 315 0 +153 316 0 +153 317 0 +153 318 0 +153 319 0 +153 320 0 +153 321 0 +153 322 0 +153 323 0 +153 324 0 +153 325 0 +153 326 0 +153 327 0 +153 328 0 +153 329 0 +153 330 0 +153 331 0 +153 332 0 +153 333 0 +153 334 0 +153 335 0 +153 336 0 +153 337 0 +153 338 0 +153 339 0 +153 340 0 +153 341 0 +153 342 0 +153 343 0 +153 344 0 +153 345 0 +153 346 0 +153 347 0 +153 348 0 +153 349 0 +153 350 0 +153 351 0 +153 352 0 +153 353 0 +153 354 0 +153 355 0 +153 356 0 +153 357 0 +153 358 0 +153 359 0 +153 360 0 +153 361 0 +153 362 0 +153 363 0 +153 364 0 +153 365 0 +153 366 0 +153 367 0 +153 368 0 +153 369 0 +153 370 0 +153 371 0 +153 372 0 +153 373 0 +153 374 0 +153 375 0 +153 376 0 +153 377 0 +153 378 0 +153 379 0 +153 380 0 +153 381 0 +153 382 0 +153 383 0 +154 155 4 +154 156 4 +154 157 4 +154 158 4 +154 159 4 +154 160 4 +154 161 4 +154 162 4 +154 163 4 +154 164 4 +154 165 4 +154 166 4 +154 167 4 +154 168 4 +154 169 4 +154 170 4 +154 171 4 +154 172 4 +154 173 4 +154 174 4 +154 175 4 +154 176 4 +154 177 4 +154 178 4 +154 179 4 +154 180 4 +154 181 4 +154 182 4 +154 183 4 +154 184 4 +154 185 4 +154 186 4 +154 187 4 +154 188 4 +154 189 4 +154 190 4 +154 191 4 +154 192 0 +154 193 0 +154 194 0 +154 195 0 +154 196 0 +154 197 0 +154 198 0 +154 199 0 +154 200 0 +154 201 0 +154 202 0 +154 203 0 +154 204 0 +154 205 0 +154 206 0 +154 207 0 +154 208 0 +154 209 0 +154 210 0 +154 211 0 +154 212 0 +154 213 0 +154 214 0 +154 215 0 +154 216 0 +154 217 0 +154 218 0 +154 219 0 +154 220 0 +154 221 0 +154 222 0 +154 223 0 +154 224 0 +154 225 0 +154 226 0 +154 227 0 +154 228 0 +154 229 0 +154 230 0 +154 231 0 +154 232 0 +154 233 0 +154 234 0 +154 235 0 +154 236 0 +154 237 0 +154 238 0 +154 239 0 +154 240 0 +154 241 0 +154 242 0 +154 243 0 +154 244 0 +154 245 0 +154 246 0 +154 247 0 +154 248 0 +154 249 0 +154 250 0 +154 251 0 +154 252 0 +154 253 0 +154 254 0 +154 255 0 +154 256 0 +154 257 0 +154 258 0 +154 259 0 +154 260 0 +154 261 0 +154 262 0 +154 263 0 +154 264 0 +154 265 0 +154 266 0 +154 267 0 +154 268 0 +154 269 0 +154 270 0 +154 271 0 +154 272 0 +154 273 0 +154 274 0 +154 275 0 +154 276 0 +154 277 0 +154 278 0 +154 279 0 +154 280 0 +154 281 0 +154 282 0 +154 283 0 +154 284 0 +154 285 0 +154 286 0 +154 287 0 +154 288 0 +154 289 0 +154 290 0 +154 291 0 +154 292 0 +154 293 0 +154 294 0 +154 295 0 +154 296 0 +154 297 0 +154 298 0 +154 299 0 +154 300 0 +154 301 0 +154 302 0 +154 303 0 +154 304 0 +154 305 0 +154 306 0 +154 307 0 +154 308 0 +154 309 0 +154 310 0 +154 311 0 +154 312 0 +154 313 0 +154 314 0 +154 315 0 +154 316 0 +154 317 0 +154 318 0 +154 319 0 +154 320 0 +154 321 0 +154 322 0 +154 323 0 +154 324 0 +154 325 0 +154 326 0 +154 327 0 +154 328 0 +154 329 0 +154 330 0 +154 331 0 +154 332 0 +154 333 0 +154 334 0 +154 335 0 +154 336 0 +154 337 0 +154 338 0 +154 339 0 +154 340 0 +154 341 0 +154 342 0 +154 343 0 +154 344 0 +154 345 0 +154 346 0 +154 347 0 +154 348 0 +154 349 0 +154 350 0 +154 351 0 +154 352 0 +154 353 0 +154 354 0 +154 355 0 +154 356 0 +154 357 0 +154 358 0 +154 359 0 +154 360 0 +154 361 0 +154 362 0 +154 363 0 +154 364 0 +154 365 0 +154 366 0 +154 367 0 +154 368 0 +154 369 0 +154 370 0 +154 371 0 +154 372 0 +154 373 0 +154 374 0 +154 375 0 +154 376 0 +154 377 0 +154 378 0 +154 379 0 +154 380 0 +154 381 0 +154 382 0 +154 383 0 +155 156 4 +155 157 4 +155 158 4 +155 159 4 +155 160 4 +155 161 4 +155 162 4 +155 163 4 +155 164 4 +155 165 4 +155 166 4 +155 167 4 +155 168 4 +155 169 4 +155 170 4 +155 171 4 +155 172 4 +155 173 4 +155 174 4 +155 175 4 +155 176 4 +155 177 4 +155 178 4 +155 179 4 +155 180 4 +155 181 4 +155 182 4 +155 183 4 +155 184 4 +155 185 4 +155 186 4 +155 187 4 +155 188 4 +155 189 4 +155 190 4 +155 191 4 +155 192 0 +155 193 0 +155 194 0 +155 195 0 +155 196 0 +155 197 0 +155 198 0 +155 199 0 +155 200 0 +155 201 0 +155 202 0 +155 203 0 +155 204 0 +155 205 0 +155 206 0 +155 207 0 +155 208 0 +155 209 0 +155 210 0 +155 211 0 +155 212 0 +155 213 0 +155 214 0 +155 215 0 +155 216 0 +155 217 0 +155 218 0 +155 219 0 +155 220 0 +155 221 0 +155 222 0 +155 223 0 +155 224 0 +155 225 0 +155 226 0 +155 227 0 +155 228 0 +155 229 0 +155 230 0 +155 231 0 +155 232 0 +155 233 0 +155 234 0 +155 235 0 +155 236 0 +155 237 0 +155 238 0 +155 239 0 +155 240 0 +155 241 0 +155 242 0 +155 243 0 +155 244 0 +155 245 0 +155 246 0 +155 247 0 +155 248 0 +155 249 0 +155 250 0 +155 251 0 +155 252 0 +155 253 0 +155 254 0 +155 255 0 +155 256 0 +155 257 0 +155 258 0 +155 259 0 +155 260 0 +155 261 0 +155 262 0 +155 263 0 +155 264 0 +155 265 0 +155 266 0 +155 267 0 +155 268 0 +155 269 0 +155 270 0 +155 271 0 +155 272 0 +155 273 0 +155 274 0 +155 275 0 +155 276 0 +155 277 0 +155 278 0 +155 279 0 +155 280 0 +155 281 0 +155 282 0 +155 283 0 +155 284 0 +155 285 0 +155 286 0 +155 287 0 +155 288 0 +155 289 0 +155 290 0 +155 291 0 +155 292 0 +155 293 0 +155 294 0 +155 295 0 +155 296 0 +155 297 0 +155 298 0 +155 299 0 +155 300 0 +155 301 0 +155 302 0 +155 303 0 +155 304 0 +155 305 0 +155 306 0 +155 307 0 +155 308 0 +155 309 0 +155 310 0 +155 311 0 +155 312 0 +155 313 0 +155 314 0 +155 315 0 +155 316 0 +155 317 0 +155 318 0 +155 319 0 +155 320 0 +155 321 0 +155 322 0 +155 323 0 +155 324 0 +155 325 0 +155 326 0 +155 327 0 +155 328 0 +155 329 0 +155 330 0 +155 331 0 +155 332 0 +155 333 0 +155 334 0 +155 335 0 +155 336 0 +155 337 0 +155 338 0 +155 339 0 +155 340 0 +155 341 0 +155 342 0 +155 343 0 +155 344 0 +155 345 0 +155 346 0 +155 347 0 +155 348 0 +155 349 0 +155 350 0 +155 351 0 +155 352 0 +155 353 0 +155 354 0 +155 355 0 +155 356 0 +155 357 0 +155 358 0 +155 359 0 +155 360 0 +155 361 0 +155 362 0 +155 363 0 +155 364 0 +155 365 0 +155 366 0 +155 367 0 +155 368 0 +155 369 0 +155 370 0 +155 371 0 +155 372 0 +155 373 0 +155 374 0 +155 375 0 +155 376 0 +155 377 0 +155 378 0 +155 379 0 +155 380 0 +155 381 0 +155 382 0 +155 383 0 +156 157 4 +156 158 4 +156 159 4 +156 160 4 +156 161 4 +156 162 4 +156 163 4 +156 164 4 +156 165 4 +156 166 4 +156 167 4 +156 168 4 +156 169 4 +156 170 4 +156 171 4 +156 172 4 +156 173 4 +156 174 4 +156 175 4 +156 176 4 +156 177 4 +156 178 4 +156 179 4 +156 180 4 +156 181 4 +156 182 4 +156 183 4 +156 184 4 +156 185 4 +156 186 4 +156 187 4 +156 188 4 +156 189 4 +156 190 4 +156 191 4 +156 192 0 +156 193 0 +156 194 0 +156 195 0 +156 196 0 +156 197 0 +156 198 0 +156 199 0 +156 200 0 +156 201 0 +156 202 0 +156 203 0 +156 204 0 +156 205 0 +156 206 0 +156 207 0 +156 208 0 +156 209 0 +156 210 0 +156 211 0 +156 212 0 +156 213 0 +156 214 0 +156 215 0 +156 216 0 +156 217 0 +156 218 0 +156 219 0 +156 220 0 +156 221 0 +156 222 0 +156 223 0 +156 224 0 +156 225 0 +156 226 0 +156 227 0 +156 228 0 +156 229 0 +156 230 0 +156 231 0 +156 232 0 +156 233 0 +156 234 0 +156 235 0 +156 236 0 +156 237 0 +156 238 0 +156 239 0 +156 240 0 +156 241 0 +156 242 0 +156 243 0 +156 244 0 +156 245 0 +156 246 0 +156 247 0 +156 248 0 +156 249 0 +156 250 0 +156 251 0 +156 252 0 +156 253 0 +156 254 0 +156 255 0 +156 256 0 +156 257 0 +156 258 0 +156 259 0 +156 260 0 +156 261 0 +156 262 0 +156 263 0 +156 264 0 +156 265 0 +156 266 0 +156 267 0 +156 268 0 +156 269 0 +156 270 0 +156 271 0 +156 272 0 +156 273 0 +156 274 0 +156 275 0 +156 276 0 +156 277 0 +156 278 0 +156 279 0 +156 280 0 +156 281 0 +156 282 0 +156 283 0 +156 284 0 +156 285 0 +156 286 0 +156 287 0 +156 288 0 +156 289 0 +156 290 0 +156 291 0 +156 292 0 +156 293 0 +156 294 0 +156 295 0 +156 296 0 +156 297 0 +156 298 0 +156 299 0 +156 300 0 +156 301 0 +156 302 0 +156 303 0 +156 304 0 +156 305 0 +156 306 0 +156 307 0 +156 308 0 +156 309 0 +156 310 0 +156 311 0 +156 312 0 +156 313 0 +156 314 0 +156 315 0 +156 316 0 +156 317 0 +156 318 0 +156 319 0 +156 320 0 +156 321 0 +156 322 0 +156 323 0 +156 324 0 +156 325 0 +156 326 0 +156 327 0 +156 328 0 +156 329 0 +156 330 0 +156 331 0 +156 332 0 +156 333 0 +156 334 0 +156 335 0 +156 336 0 +156 337 0 +156 338 0 +156 339 0 +156 340 0 +156 341 0 +156 342 0 +156 343 0 +156 344 0 +156 345 0 +156 346 0 +156 347 0 +156 348 0 +156 349 0 +156 350 0 +156 351 0 +156 352 0 +156 353 0 +156 354 0 +156 355 0 +156 356 0 +156 357 0 +156 358 0 +156 359 0 +156 360 0 +156 361 0 +156 362 0 +156 363 0 +156 364 0 +156 365 0 +156 366 0 +156 367 0 +156 368 0 +156 369 0 +156 370 0 +156 371 0 +156 372 0 +156 373 0 +156 374 0 +156 375 0 +156 376 0 +156 377 0 +156 378 0 +156 379 0 +156 380 0 +156 381 0 +156 382 0 +156 383 0 +157 158 4 +157 159 4 +157 160 4 +157 161 4 +157 162 4 +157 163 4 +157 164 4 +157 165 4 +157 166 4 +157 167 4 +157 168 4 +157 169 4 +157 170 4 +157 171 4 +157 172 4 +157 173 4 +157 174 4 +157 175 4 +157 176 4 +157 177 4 +157 178 4 +157 179 4 +157 180 4 +157 181 4 +157 182 4 +157 183 4 +157 184 4 +157 185 4 +157 186 4 +157 187 4 +157 188 4 +157 189 4 +157 190 4 +157 191 4 +157 192 0 +157 193 0 +157 194 0 +157 195 0 +157 196 0 +157 197 0 +157 198 0 +157 199 0 +157 200 0 +157 201 0 +157 202 0 +157 203 0 +157 204 0 +157 205 0 +157 206 0 +157 207 0 +157 208 0 +157 209 0 +157 210 0 +157 211 0 +157 212 0 +157 213 0 +157 214 0 +157 215 0 +157 216 0 +157 217 0 +157 218 0 +157 219 0 +157 220 0 +157 221 0 +157 222 0 +157 223 0 +157 224 0 +157 225 0 +157 226 0 +157 227 0 +157 228 0 +157 229 0 +157 230 0 +157 231 0 +157 232 0 +157 233 0 +157 234 0 +157 235 0 +157 236 0 +157 237 0 +157 238 0 +157 239 0 +157 240 0 +157 241 0 +157 242 0 +157 243 0 +157 244 0 +157 245 0 +157 246 0 +157 247 0 +157 248 0 +157 249 0 +157 250 0 +157 251 0 +157 252 0 +157 253 0 +157 254 0 +157 255 0 +157 256 0 +157 257 0 +157 258 0 +157 259 0 +157 260 0 +157 261 0 +157 262 0 +157 263 0 +157 264 0 +157 265 0 +157 266 0 +157 267 0 +157 268 0 +157 269 0 +157 270 0 +157 271 0 +157 272 0 +157 273 0 +157 274 0 +157 275 0 +157 276 0 +157 277 0 +157 278 0 +157 279 0 +157 280 0 +157 281 0 +157 282 0 +157 283 0 +157 284 0 +157 285 0 +157 286 0 +157 287 0 +157 288 0 +157 289 0 +157 290 0 +157 291 0 +157 292 0 +157 293 0 +157 294 0 +157 295 0 +157 296 0 +157 297 0 +157 298 0 +157 299 0 +157 300 0 +157 301 0 +157 302 0 +157 303 0 +157 304 0 +157 305 0 +157 306 0 +157 307 0 +157 308 0 +157 309 0 +157 310 0 +157 311 0 +157 312 0 +157 313 0 +157 314 0 +157 315 0 +157 316 0 +157 317 0 +157 318 0 +157 319 0 +157 320 0 +157 321 0 +157 322 0 +157 323 0 +157 324 0 +157 325 0 +157 326 0 +157 327 0 +157 328 0 +157 329 0 +157 330 0 +157 331 0 +157 332 0 +157 333 0 +157 334 0 +157 335 0 +157 336 0 +157 337 0 +157 338 0 +157 339 0 +157 340 0 +157 341 0 +157 342 0 +157 343 0 +157 344 0 +157 345 0 +157 346 0 +157 347 0 +157 348 0 +157 349 0 +157 350 0 +157 351 0 +157 352 0 +157 353 0 +157 354 0 +157 355 0 +157 356 0 +157 357 0 +157 358 0 +157 359 0 +157 360 0 +157 361 0 +157 362 0 +157 363 0 +157 364 0 +157 365 0 +157 366 0 +157 367 0 +157 368 0 +157 369 0 +157 370 0 +157 371 0 +157 372 0 +157 373 0 +157 374 0 +157 375 0 +157 376 0 +157 377 0 +157 378 0 +157 379 0 +157 380 0 +157 381 0 +157 382 0 +157 383 0 +158 159 4 +158 160 4 +158 161 4 +158 162 4 +158 163 4 +158 164 4 +158 165 4 +158 166 4 +158 167 4 +158 168 4 +158 169 4 +158 170 4 +158 171 4 +158 172 4 +158 173 4 +158 174 4 +158 175 4 +158 176 4 +158 177 4 +158 178 4 +158 179 4 +158 180 4 +158 181 4 +158 182 4 +158 183 4 +158 184 4 +158 185 4 +158 186 4 +158 187 4 +158 188 4 +158 189 4 +158 190 4 +158 191 4 +158 192 0 +158 193 0 +158 194 0 +158 195 0 +158 196 0 +158 197 0 +158 198 0 +158 199 0 +158 200 0 +158 201 0 +158 202 0 +158 203 0 +158 204 0 +158 205 0 +158 206 0 +158 207 0 +158 208 0 +158 209 0 +158 210 0 +158 211 0 +158 212 0 +158 213 0 +158 214 0 +158 215 0 +158 216 0 +158 217 0 +158 218 0 +158 219 0 +158 220 0 +158 221 0 +158 222 0 +158 223 0 +158 224 0 +158 225 0 +158 226 0 +158 227 0 +158 228 0 +158 229 0 +158 230 0 +158 231 0 +158 232 0 +158 233 0 +158 234 0 +158 235 0 +158 236 0 +158 237 0 +158 238 0 +158 239 0 +158 240 0 +158 241 0 +158 242 0 +158 243 0 +158 244 0 +158 245 0 +158 246 0 +158 247 0 +158 248 0 +158 249 0 +158 250 0 +158 251 0 +158 252 0 +158 253 0 +158 254 0 +158 255 0 +158 256 0 +158 257 0 +158 258 0 +158 259 0 +158 260 0 +158 261 0 +158 262 0 +158 263 0 +158 264 0 +158 265 0 +158 266 0 +158 267 0 +158 268 0 +158 269 0 +158 270 0 +158 271 0 +158 272 0 +158 273 0 +158 274 0 +158 275 0 +158 276 0 +158 277 0 +158 278 0 +158 279 0 +158 280 0 +158 281 0 +158 282 0 +158 283 0 +158 284 0 +158 285 0 +158 286 0 +158 287 0 +158 288 0 +158 289 0 +158 290 0 +158 291 0 +158 292 0 +158 293 0 +158 294 0 +158 295 0 +158 296 0 +158 297 0 +158 298 0 +158 299 0 +158 300 0 +158 301 0 +158 302 0 +158 303 0 +158 304 0 +158 305 0 +158 306 0 +158 307 0 +158 308 0 +158 309 0 +158 310 0 +158 311 0 +158 312 0 +158 313 0 +158 314 0 +158 315 0 +158 316 0 +158 317 0 +158 318 0 +158 319 0 +158 320 0 +158 321 0 +158 322 0 +158 323 0 +158 324 0 +158 325 0 +158 326 0 +158 327 0 +158 328 0 +158 329 0 +158 330 0 +158 331 0 +158 332 0 +158 333 0 +158 334 0 +158 335 0 +158 336 0 +158 337 0 +158 338 0 +158 339 0 +158 340 0 +158 341 0 +158 342 0 +158 343 0 +158 344 0 +158 345 0 +158 346 0 +158 347 0 +158 348 0 +158 349 0 +158 350 0 +158 351 0 +158 352 0 +158 353 0 +158 354 0 +158 355 0 +158 356 0 +158 357 0 +158 358 0 +158 359 0 +158 360 0 +158 361 0 +158 362 0 +158 363 0 +158 364 0 +158 365 0 +158 366 0 +158 367 0 +158 368 0 +158 369 0 +158 370 0 +158 371 0 +158 372 0 +158 373 0 +158 374 0 +158 375 0 +158 376 0 +158 377 0 +158 378 0 +158 379 0 +158 380 0 +158 381 0 +158 382 0 +158 383 0 +159 160 4 +159 161 4 +159 162 4 +159 163 4 +159 164 4 +159 165 4 +159 166 4 +159 167 4 +159 168 4 +159 169 4 +159 170 4 +159 171 4 +159 172 4 +159 173 4 +159 174 4 +159 175 4 +159 176 4 +159 177 4 +159 178 4 +159 179 4 +159 180 4 +159 181 4 +159 182 4 +159 183 4 +159 184 4 +159 185 4 +159 186 4 +159 187 4 +159 188 4 +159 189 4 +159 190 4 +159 191 4 +159 192 0 +159 193 0 +159 194 0 +159 195 0 +159 196 0 +159 197 0 +159 198 0 +159 199 0 +159 200 0 +159 201 0 +159 202 0 +159 203 0 +159 204 0 +159 205 0 +159 206 0 +159 207 0 +159 208 0 +159 209 0 +159 210 0 +159 211 0 +159 212 0 +159 213 0 +159 214 0 +159 215 0 +159 216 0 +159 217 0 +159 218 0 +159 219 0 +159 220 0 +159 221 0 +159 222 0 +159 223 0 +159 224 0 +159 225 0 +159 226 0 +159 227 0 +159 228 0 +159 229 0 +159 230 0 +159 231 0 +159 232 0 +159 233 0 +159 234 0 +159 235 0 +159 236 0 +159 237 0 +159 238 0 +159 239 0 +159 240 0 +159 241 0 +159 242 0 +159 243 0 +159 244 0 +159 245 0 +159 246 0 +159 247 0 +159 248 0 +159 249 0 +159 250 0 +159 251 0 +159 252 0 +159 253 0 +159 254 0 +159 255 0 +159 256 0 +159 257 0 +159 258 0 +159 259 0 +159 260 0 +159 261 0 +159 262 0 +159 263 0 +159 264 0 +159 265 0 +159 266 0 +159 267 0 +159 268 0 +159 269 0 +159 270 0 +159 271 0 +159 272 0 +159 273 0 +159 274 0 +159 275 0 +159 276 0 +159 277 0 +159 278 0 +159 279 0 +159 280 0 +159 281 0 +159 282 0 +159 283 0 +159 284 0 +159 285 0 +159 286 0 +159 287 0 +159 288 0 +159 289 0 +159 290 0 +159 291 0 +159 292 0 +159 293 0 +159 294 0 +159 295 0 +159 296 0 +159 297 0 +159 298 0 +159 299 0 +159 300 0 +159 301 0 +159 302 0 +159 303 0 +159 304 0 +159 305 0 +159 306 0 +159 307 0 +159 308 0 +159 309 0 +159 310 0 +159 311 0 +159 312 0 +159 313 0 +159 314 0 +159 315 0 +159 316 0 +159 317 0 +159 318 0 +159 319 0 +159 320 0 +159 321 0 +159 322 0 +159 323 0 +159 324 0 +159 325 0 +159 326 0 +159 327 0 +159 328 0 +159 329 0 +159 330 0 +159 331 0 +159 332 0 +159 333 0 +159 334 0 +159 335 0 +159 336 0 +159 337 0 +159 338 0 +159 339 0 +159 340 0 +159 341 0 +159 342 0 +159 343 0 +159 344 0 +159 345 0 +159 346 0 +159 347 0 +159 348 0 +159 349 0 +159 350 0 +159 351 0 +159 352 0 +159 353 0 +159 354 0 +159 355 0 +159 356 0 +159 357 0 +159 358 0 +159 359 0 +159 360 0 +159 361 0 +159 362 0 +159 363 0 +159 364 0 +159 365 0 +159 366 0 +159 367 0 +159 368 0 +159 369 0 +159 370 0 +159 371 0 +159 372 0 +159 373 0 +159 374 0 +159 375 0 +159 376 0 +159 377 0 +159 378 0 +159 379 0 +159 380 0 +159 381 0 +159 382 0 +159 383 0 +160 161 4 +160 162 4 +160 163 4 +160 164 4 +160 165 4 +160 166 4 +160 167 4 +160 168 4 +160 169 4 +160 170 4 +160 171 4 +160 172 4 +160 173 4 +160 174 4 +160 175 4 +160 176 4 +160 177 4 +160 178 4 +160 179 4 +160 180 4 +160 181 4 +160 182 4 +160 183 4 +160 184 4 +160 185 4 +160 186 4 +160 187 4 +160 188 4 +160 189 4 +160 190 4 +160 191 4 +160 192 0 +160 193 0 +160 194 0 +160 195 0 +160 196 0 +160 197 0 +160 198 0 +160 199 0 +160 200 0 +160 201 0 +160 202 0 +160 203 0 +160 204 0 +160 205 0 +160 206 0 +160 207 0 +160 208 0 +160 209 0 +160 210 0 +160 211 0 +160 212 0 +160 213 0 +160 214 0 +160 215 0 +160 216 0 +160 217 0 +160 218 0 +160 219 0 +160 220 0 +160 221 0 +160 222 0 +160 223 0 +160 224 0 +160 225 0 +160 226 0 +160 227 0 +160 228 0 +160 229 0 +160 230 0 +160 231 0 +160 232 0 +160 233 0 +160 234 0 +160 235 0 +160 236 0 +160 237 0 +160 238 0 +160 239 0 +160 240 0 +160 241 0 +160 242 0 +160 243 0 +160 244 0 +160 245 0 +160 246 0 +160 247 0 +160 248 0 +160 249 0 +160 250 0 +160 251 0 +160 252 0 +160 253 0 +160 254 0 +160 255 0 +160 256 0 +160 257 0 +160 258 0 +160 259 0 +160 260 0 +160 261 0 +160 262 0 +160 263 0 +160 264 0 +160 265 0 +160 266 0 +160 267 0 +160 268 0 +160 269 0 +160 270 0 +160 271 0 +160 272 0 +160 273 0 +160 274 0 +160 275 0 +160 276 0 +160 277 0 +160 278 0 +160 279 0 +160 280 0 +160 281 0 +160 282 0 +160 283 0 +160 284 0 +160 285 0 +160 286 0 +160 287 0 +160 288 0 +160 289 0 +160 290 0 +160 291 0 +160 292 0 +160 293 0 +160 294 0 +160 295 0 +160 296 0 +160 297 0 +160 298 0 +160 299 0 +160 300 0 +160 301 0 +160 302 0 +160 303 0 +160 304 0 +160 305 0 +160 306 0 +160 307 0 +160 308 0 +160 309 0 +160 310 0 +160 311 0 +160 312 0 +160 313 0 +160 314 0 +160 315 0 +160 316 0 +160 317 0 +160 318 0 +160 319 0 +160 320 0 +160 321 0 +160 322 0 +160 323 0 +160 324 0 +160 325 0 +160 326 0 +160 327 0 +160 328 0 +160 329 0 +160 330 0 +160 331 0 +160 332 0 +160 333 0 +160 334 0 +160 335 0 +160 336 0 +160 337 0 +160 338 0 +160 339 0 +160 340 0 +160 341 0 +160 342 0 +160 343 0 +160 344 0 +160 345 0 +160 346 0 +160 347 0 +160 348 0 +160 349 0 +160 350 0 +160 351 0 +160 352 0 +160 353 0 +160 354 0 +160 355 0 +160 356 0 +160 357 0 +160 358 0 +160 359 0 +160 360 0 +160 361 0 +160 362 0 +160 363 0 +160 364 0 +160 365 0 +160 366 0 +160 367 0 +160 368 0 +160 369 0 +160 370 0 +160 371 0 +160 372 0 +160 373 0 +160 374 0 +160 375 0 +160 376 0 +160 377 0 +160 378 0 +160 379 0 +160 380 0 +160 381 0 +160 382 0 +160 383 0 +161 162 4 +161 163 4 +161 164 4 +161 165 4 +161 166 4 +161 167 4 +161 168 4 +161 169 4 +161 170 4 +161 171 4 +161 172 4 +161 173 4 +161 174 4 +161 175 4 +161 176 4 +161 177 4 +161 178 4 +161 179 4 +161 180 4 +161 181 4 +161 182 4 +161 183 4 +161 184 4 +161 185 4 +161 186 4 +161 187 4 +161 188 4 +161 189 4 +161 190 4 +161 191 4 +161 192 0 +161 193 0 +161 194 0 +161 195 0 +161 196 0 +161 197 0 +161 198 0 +161 199 0 +161 200 0 +161 201 0 +161 202 0 +161 203 0 +161 204 0 +161 205 0 +161 206 0 +161 207 0 +161 208 0 +161 209 0 +161 210 0 +161 211 0 +161 212 0 +161 213 0 +161 214 0 +161 215 0 +161 216 0 +161 217 0 +161 218 0 +161 219 0 +161 220 0 +161 221 0 +161 222 0 +161 223 0 +161 224 0 +161 225 0 +161 226 0 +161 227 0 +161 228 0 +161 229 0 +161 230 0 +161 231 0 +161 232 0 +161 233 0 +161 234 0 +161 235 0 +161 236 0 +161 237 0 +161 238 0 +161 239 0 +161 240 0 +161 241 0 +161 242 0 +161 243 0 +161 244 0 +161 245 0 +161 246 0 +161 247 0 +161 248 0 +161 249 0 +161 250 0 +161 251 0 +161 252 0 +161 253 0 +161 254 0 +161 255 0 +161 256 0 +161 257 0 +161 258 0 +161 259 0 +161 260 0 +161 261 0 +161 262 0 +161 263 0 +161 264 0 +161 265 0 +161 266 0 +161 267 0 +161 268 0 +161 269 0 +161 270 0 +161 271 0 +161 272 0 +161 273 0 +161 274 0 +161 275 0 +161 276 0 +161 277 0 +161 278 0 +161 279 0 +161 280 0 +161 281 0 +161 282 0 +161 283 0 +161 284 0 +161 285 0 +161 286 0 +161 287 0 +161 288 0 +161 289 0 +161 290 0 +161 291 0 +161 292 0 +161 293 0 +161 294 0 +161 295 0 +161 296 0 +161 297 0 +161 298 0 +161 299 0 +161 300 0 +161 301 0 +161 302 0 +161 303 0 +161 304 0 +161 305 0 +161 306 0 +161 307 0 +161 308 0 +161 309 0 +161 310 0 +161 311 0 +161 312 0 +161 313 0 +161 314 0 +161 315 0 +161 316 0 +161 317 0 +161 318 0 +161 319 0 +161 320 0 +161 321 0 +161 322 0 +161 323 0 +161 324 0 +161 325 0 +161 326 0 +161 327 0 +161 328 0 +161 329 0 +161 330 0 +161 331 0 +161 332 0 +161 333 0 +161 334 0 +161 335 0 +161 336 0 +161 337 0 +161 338 0 +161 339 0 +161 340 0 +161 341 0 +161 342 0 +161 343 0 +161 344 0 +161 345 0 +161 346 0 +161 347 0 +161 348 0 +161 349 0 +161 350 0 +161 351 0 +161 352 0 +161 353 0 +161 354 0 +161 355 0 +161 356 0 +161 357 0 +161 358 0 +161 359 0 +161 360 0 +161 361 0 +161 362 0 +161 363 0 +161 364 0 +161 365 0 +161 366 0 +161 367 0 +161 368 0 +161 369 0 +161 370 0 +161 371 0 +161 372 0 +161 373 0 +161 374 0 +161 375 0 +161 376 0 +161 377 0 +161 378 0 +161 379 0 +161 380 0 +161 381 0 +161 382 0 +161 383 0 +162 163 4 +162 164 4 +162 165 4 +162 166 4 +162 167 4 +162 168 4 +162 169 4 +162 170 4 +162 171 4 +162 172 4 +162 173 4 +162 174 4 +162 175 4 +162 176 4 +162 177 4 +162 178 4 +162 179 4 +162 180 4 +162 181 4 +162 182 4 +162 183 4 +162 184 4 +162 185 4 +162 186 4 +162 187 4 +162 188 4 +162 189 4 +162 190 4 +162 191 4 +162 192 0 +162 193 0 +162 194 0 +162 195 0 +162 196 0 +162 197 0 +162 198 0 +162 199 0 +162 200 0 +162 201 0 +162 202 0 +162 203 0 +162 204 0 +162 205 0 +162 206 0 +162 207 0 +162 208 0 +162 209 0 +162 210 0 +162 211 0 +162 212 0 +162 213 0 +162 214 0 +162 215 0 +162 216 0 +162 217 0 +162 218 0 +162 219 0 +162 220 0 +162 221 0 +162 222 0 +162 223 0 +162 224 0 +162 225 0 +162 226 0 +162 227 0 +162 228 0 +162 229 0 +162 230 0 +162 231 0 +162 232 0 +162 233 0 +162 234 0 +162 235 0 +162 236 0 +162 237 0 +162 238 0 +162 239 0 +162 240 0 +162 241 0 +162 242 0 +162 243 0 +162 244 0 +162 245 0 +162 246 0 +162 247 0 +162 248 0 +162 249 0 +162 250 0 +162 251 0 +162 252 0 +162 253 0 +162 254 0 +162 255 0 +162 256 0 +162 257 0 +162 258 0 +162 259 0 +162 260 0 +162 261 0 +162 262 0 +162 263 0 +162 264 0 +162 265 0 +162 266 0 +162 267 0 +162 268 0 +162 269 0 +162 270 0 +162 271 0 +162 272 0 +162 273 0 +162 274 0 +162 275 0 +162 276 0 +162 277 0 +162 278 0 +162 279 0 +162 280 0 +162 281 0 +162 282 0 +162 283 0 +162 284 0 +162 285 0 +162 286 0 +162 287 0 +162 288 0 +162 289 0 +162 290 0 +162 291 0 +162 292 0 +162 293 0 +162 294 0 +162 295 0 +162 296 0 +162 297 0 +162 298 0 +162 299 0 +162 300 0 +162 301 0 +162 302 0 +162 303 0 +162 304 0 +162 305 0 +162 306 0 +162 307 0 +162 308 0 +162 309 0 +162 310 0 +162 311 0 +162 312 0 +162 313 0 +162 314 0 +162 315 0 +162 316 0 +162 317 0 +162 318 0 +162 319 0 +162 320 0 +162 321 0 +162 322 0 +162 323 0 +162 324 0 +162 325 0 +162 326 0 +162 327 0 +162 328 0 +162 329 0 +162 330 0 +162 331 0 +162 332 0 +162 333 0 +162 334 0 +162 335 0 +162 336 0 +162 337 0 +162 338 0 +162 339 0 +162 340 0 +162 341 0 +162 342 0 +162 343 0 +162 344 0 +162 345 0 +162 346 0 +162 347 0 +162 348 0 +162 349 0 +162 350 0 +162 351 0 +162 352 0 +162 353 0 +162 354 0 +162 355 0 +162 356 0 +162 357 0 +162 358 0 +162 359 0 +162 360 0 +162 361 0 +162 362 0 +162 363 0 +162 364 0 +162 365 0 +162 366 0 +162 367 0 +162 368 0 +162 369 0 +162 370 0 +162 371 0 +162 372 0 +162 373 0 +162 374 0 +162 375 0 +162 376 0 +162 377 0 +162 378 0 +162 379 0 +162 380 0 +162 381 0 +162 382 0 +162 383 0 +163 164 4 +163 165 4 +163 166 4 +163 167 4 +163 168 4 +163 169 4 +163 170 4 +163 171 4 +163 172 4 +163 173 4 +163 174 4 +163 175 4 +163 176 4 +163 177 4 +163 178 4 +163 179 4 +163 180 4 +163 181 4 +163 182 4 +163 183 4 +163 184 4 +163 185 4 +163 186 4 +163 187 4 +163 188 4 +163 189 4 +163 190 4 +163 191 4 +163 192 0 +163 193 0 +163 194 0 +163 195 0 +163 196 0 +163 197 0 +163 198 0 +163 199 0 +163 200 0 +163 201 0 +163 202 0 +163 203 0 +163 204 0 +163 205 0 +163 206 0 +163 207 0 +163 208 0 +163 209 0 +163 210 0 +163 211 0 +163 212 0 +163 213 0 +163 214 0 +163 215 0 +163 216 0 +163 217 0 +163 218 0 +163 219 0 +163 220 0 +163 221 0 +163 222 0 +163 223 0 +163 224 0 +163 225 0 +163 226 0 +163 227 0 +163 228 0 +163 229 0 +163 230 0 +163 231 0 +163 232 0 +163 233 0 +163 234 0 +163 235 0 +163 236 0 +163 237 0 +163 238 0 +163 239 0 +163 240 0 +163 241 0 +163 242 0 +163 243 0 +163 244 0 +163 245 0 +163 246 0 +163 247 0 +163 248 0 +163 249 0 +163 250 0 +163 251 0 +163 252 0 +163 253 0 +163 254 0 +163 255 0 +163 256 0 +163 257 0 +163 258 0 +163 259 0 +163 260 0 +163 261 0 +163 262 0 +163 263 0 +163 264 0 +163 265 0 +163 266 0 +163 267 0 +163 268 0 +163 269 0 +163 270 0 +163 271 0 +163 272 0 +163 273 0 +163 274 0 +163 275 0 +163 276 0 +163 277 0 +163 278 0 +163 279 0 +163 280 0 +163 281 0 +163 282 0 +163 283 0 +163 284 0 +163 285 0 +163 286 0 +163 287 0 +163 288 0 +163 289 0 +163 290 0 +163 291 0 +163 292 0 +163 293 0 +163 294 0 +163 295 0 +163 296 0 +163 297 0 +163 298 0 +163 299 0 +163 300 0 +163 301 0 +163 302 0 +163 303 0 +163 304 0 +163 305 0 +163 306 0 +163 307 0 +163 308 0 +163 309 0 +163 310 0 +163 311 0 +163 312 0 +163 313 0 +163 314 0 +163 315 0 +163 316 0 +163 317 0 +163 318 0 +163 319 0 +163 320 0 +163 321 0 +163 322 0 +163 323 0 +163 324 0 +163 325 0 +163 326 0 +163 327 0 +163 328 0 +163 329 0 +163 330 0 +163 331 0 +163 332 0 +163 333 0 +163 334 0 +163 335 0 +163 336 0 +163 337 0 +163 338 0 +163 339 0 +163 340 0 +163 341 0 +163 342 0 +163 343 0 +163 344 0 +163 345 0 +163 346 0 +163 347 0 +163 348 0 +163 349 0 +163 350 0 +163 351 0 +163 352 0 +163 353 0 +163 354 0 +163 355 0 +163 356 0 +163 357 0 +163 358 0 +163 359 0 +163 360 0 +163 361 0 +163 362 0 +163 363 0 +163 364 0 +163 365 0 +163 366 0 +163 367 0 +163 368 0 +163 369 0 +163 370 0 +163 371 0 +163 372 0 +163 373 0 +163 374 0 +163 375 0 +163 376 0 +163 377 0 +163 378 0 +163 379 0 +163 380 0 +163 381 0 +163 382 0 +163 383 0 +164 165 4 +164 166 4 +164 167 4 +164 168 4 +164 169 4 +164 170 4 +164 171 4 +164 172 4 +164 173 4 +164 174 4 +164 175 4 +164 176 4 +164 177 4 +164 178 4 +164 179 4 +164 180 4 +164 181 4 +164 182 4 +164 183 4 +164 184 4 +164 185 4 +164 186 4 +164 187 4 +164 188 4 +164 189 4 +164 190 4 +164 191 4 +164 192 0 +164 193 0 +164 194 0 +164 195 0 +164 196 0 +164 197 0 +164 198 0 +164 199 0 +164 200 0 +164 201 0 +164 202 0 +164 203 0 +164 204 0 +164 205 0 +164 206 0 +164 207 0 +164 208 0 +164 209 0 +164 210 0 +164 211 0 +164 212 0 +164 213 0 +164 214 0 +164 215 0 +164 216 0 +164 217 0 +164 218 0 +164 219 0 +164 220 0 +164 221 0 +164 222 0 +164 223 0 +164 224 0 +164 225 0 +164 226 0 +164 227 0 +164 228 0 +164 229 0 +164 230 0 +164 231 0 +164 232 0 +164 233 0 +164 234 0 +164 235 0 +164 236 0 +164 237 0 +164 238 0 +164 239 0 +164 240 0 +164 241 0 +164 242 0 +164 243 0 +164 244 0 +164 245 0 +164 246 0 +164 247 0 +164 248 0 +164 249 0 +164 250 0 +164 251 0 +164 252 0 +164 253 0 +164 254 0 +164 255 0 +164 256 0 +164 257 0 +164 258 0 +164 259 0 +164 260 0 +164 261 0 +164 262 0 +164 263 0 +164 264 0 +164 265 0 +164 266 0 +164 267 0 +164 268 0 +164 269 0 +164 270 0 +164 271 0 +164 272 0 +164 273 0 +164 274 0 +164 275 0 +164 276 0 +164 277 0 +164 278 0 +164 279 0 +164 280 0 +164 281 0 +164 282 0 +164 283 0 +164 284 0 +164 285 0 +164 286 0 +164 287 0 +164 288 0 +164 289 0 +164 290 0 +164 291 0 +164 292 0 +164 293 0 +164 294 0 +164 295 0 +164 296 0 +164 297 0 +164 298 0 +164 299 0 +164 300 0 +164 301 0 +164 302 0 +164 303 0 +164 304 0 +164 305 0 +164 306 0 +164 307 0 +164 308 0 +164 309 0 +164 310 0 +164 311 0 +164 312 0 +164 313 0 +164 314 0 +164 315 0 +164 316 0 +164 317 0 +164 318 0 +164 319 0 +164 320 0 +164 321 0 +164 322 0 +164 323 0 +164 324 0 +164 325 0 +164 326 0 +164 327 0 +164 328 0 +164 329 0 +164 330 0 +164 331 0 +164 332 0 +164 333 0 +164 334 0 +164 335 0 +164 336 0 +164 337 0 +164 338 0 +164 339 0 +164 340 0 +164 341 0 +164 342 0 +164 343 0 +164 344 0 +164 345 0 +164 346 0 +164 347 0 +164 348 0 +164 349 0 +164 350 0 +164 351 0 +164 352 0 +164 353 0 +164 354 0 +164 355 0 +164 356 0 +164 357 0 +164 358 0 +164 359 0 +164 360 0 +164 361 0 +164 362 0 +164 363 0 +164 364 0 +164 365 0 +164 366 0 +164 367 0 +164 368 0 +164 369 0 +164 370 0 +164 371 0 +164 372 0 +164 373 0 +164 374 0 +164 375 0 +164 376 0 +164 377 0 +164 378 0 +164 379 0 +164 380 0 +164 381 0 +164 382 0 +164 383 0 +165 166 4 +165 167 4 +165 168 4 +165 169 4 +165 170 4 +165 171 4 +165 172 4 +165 173 4 +165 174 4 +165 175 4 +165 176 4 +165 177 4 +165 178 4 +165 179 4 +165 180 4 +165 181 4 +165 182 4 +165 183 4 +165 184 4 +165 185 4 +165 186 4 +165 187 4 +165 188 4 +165 189 4 +165 190 4 +165 191 4 +165 192 0 +165 193 0 +165 194 0 +165 195 0 +165 196 0 +165 197 0 +165 198 0 +165 199 0 +165 200 0 +165 201 0 +165 202 0 +165 203 0 +165 204 0 +165 205 0 +165 206 0 +165 207 0 +165 208 0 +165 209 0 +165 210 0 +165 211 0 +165 212 0 +165 213 0 +165 214 0 +165 215 0 +165 216 0 +165 217 0 +165 218 0 +165 219 0 +165 220 0 +165 221 0 +165 222 0 +165 223 0 +165 224 0 +165 225 0 +165 226 0 +165 227 0 +165 228 0 +165 229 0 +165 230 0 +165 231 0 +165 232 0 +165 233 0 +165 234 0 +165 235 0 +165 236 0 +165 237 0 +165 238 0 +165 239 0 +165 240 0 +165 241 0 +165 242 0 +165 243 0 +165 244 0 +165 245 0 +165 246 0 +165 247 0 +165 248 0 +165 249 0 +165 250 0 +165 251 0 +165 252 0 +165 253 0 +165 254 0 +165 255 0 +165 256 0 +165 257 0 +165 258 0 +165 259 0 +165 260 0 +165 261 0 +165 262 0 +165 263 0 +165 264 0 +165 265 0 +165 266 0 +165 267 0 +165 268 0 +165 269 0 +165 270 0 +165 271 0 +165 272 0 +165 273 0 +165 274 0 +165 275 0 +165 276 0 +165 277 0 +165 278 0 +165 279 0 +165 280 0 +165 281 0 +165 282 0 +165 283 0 +165 284 0 +165 285 0 +165 286 0 +165 287 0 +165 288 0 +165 289 0 +165 290 0 +165 291 0 +165 292 0 +165 293 0 +165 294 0 +165 295 0 +165 296 0 +165 297 0 +165 298 0 +165 299 0 +165 300 0 +165 301 0 +165 302 0 +165 303 0 +165 304 0 +165 305 0 +165 306 0 +165 307 0 +165 308 0 +165 309 0 +165 310 0 +165 311 0 +165 312 0 +165 313 0 +165 314 0 +165 315 0 +165 316 0 +165 317 0 +165 318 0 +165 319 0 +165 320 0 +165 321 0 +165 322 0 +165 323 0 +165 324 0 +165 325 0 +165 326 0 +165 327 0 +165 328 0 +165 329 0 +165 330 0 +165 331 0 +165 332 0 +165 333 0 +165 334 0 +165 335 0 +165 336 0 +165 337 0 +165 338 0 +165 339 0 +165 340 0 +165 341 0 +165 342 0 +165 343 0 +165 344 0 +165 345 0 +165 346 0 +165 347 0 +165 348 0 +165 349 0 +165 350 0 +165 351 0 +165 352 0 +165 353 0 +165 354 0 +165 355 0 +165 356 0 +165 357 0 +165 358 0 +165 359 0 +165 360 0 +165 361 0 +165 362 0 +165 363 0 +165 364 0 +165 365 0 +165 366 0 +165 367 0 +165 368 0 +165 369 0 +165 370 0 +165 371 0 +165 372 0 +165 373 0 +165 374 0 +165 375 0 +165 376 0 +165 377 0 +165 378 0 +165 379 0 +165 380 0 +165 381 0 +165 382 0 +165 383 0 +166 167 4 +166 168 4 +166 169 4 +166 170 4 +166 171 4 +166 172 4 +166 173 4 +166 174 4 +166 175 4 +166 176 4 +166 177 4 +166 178 4 +166 179 4 +166 180 4 +166 181 4 +166 182 4 +166 183 4 +166 184 4 +166 185 4 +166 186 4 +166 187 4 +166 188 4 +166 189 4 +166 190 4 +166 191 4 +166 192 0 +166 193 0 +166 194 0 +166 195 0 +166 196 0 +166 197 0 +166 198 0 +166 199 0 +166 200 0 +166 201 0 +166 202 0 +166 203 0 +166 204 0 +166 205 0 +166 206 0 +166 207 0 +166 208 0 +166 209 0 +166 210 0 +166 211 0 +166 212 0 +166 213 0 +166 214 0 +166 215 0 +166 216 0 +166 217 0 +166 218 0 +166 219 0 +166 220 0 +166 221 0 +166 222 0 +166 223 0 +166 224 0 +166 225 0 +166 226 0 +166 227 0 +166 228 0 +166 229 0 +166 230 0 +166 231 0 +166 232 0 +166 233 0 +166 234 0 +166 235 0 +166 236 0 +166 237 0 +166 238 0 +166 239 0 +166 240 0 +166 241 0 +166 242 0 +166 243 0 +166 244 0 +166 245 0 +166 246 0 +166 247 0 +166 248 0 +166 249 0 +166 250 0 +166 251 0 +166 252 0 +166 253 0 +166 254 0 +166 255 0 +166 256 0 +166 257 0 +166 258 0 +166 259 0 +166 260 0 +166 261 0 +166 262 0 +166 263 0 +166 264 0 +166 265 0 +166 266 0 +166 267 0 +166 268 0 +166 269 0 +166 270 0 +166 271 0 +166 272 0 +166 273 0 +166 274 0 +166 275 0 +166 276 0 +166 277 0 +166 278 0 +166 279 0 +166 280 0 +166 281 0 +166 282 0 +166 283 0 +166 284 0 +166 285 0 +166 286 0 +166 287 0 +166 288 0 +166 289 0 +166 290 0 +166 291 0 +166 292 0 +166 293 0 +166 294 0 +166 295 0 +166 296 0 +166 297 0 +166 298 0 +166 299 0 +166 300 0 +166 301 0 +166 302 0 +166 303 0 +166 304 0 +166 305 0 +166 306 0 +166 307 0 +166 308 0 +166 309 0 +166 310 0 +166 311 0 +166 312 0 +166 313 0 +166 314 0 +166 315 0 +166 316 0 +166 317 0 +166 318 0 +166 319 0 +166 320 0 +166 321 0 +166 322 0 +166 323 0 +166 324 0 +166 325 0 +166 326 0 +166 327 0 +166 328 0 +166 329 0 +166 330 0 +166 331 0 +166 332 0 +166 333 0 +166 334 0 +166 335 0 +166 336 0 +166 337 0 +166 338 0 +166 339 0 +166 340 0 +166 341 0 +166 342 0 +166 343 0 +166 344 0 +166 345 0 +166 346 0 +166 347 0 +166 348 0 +166 349 0 +166 350 0 +166 351 0 +166 352 0 +166 353 0 +166 354 0 +166 355 0 +166 356 0 +166 357 0 +166 358 0 +166 359 0 +166 360 0 +166 361 0 +166 362 0 +166 363 0 +166 364 0 +166 365 0 +166 366 0 +166 367 0 +166 368 0 +166 369 0 +166 370 0 +166 371 0 +166 372 0 +166 373 0 +166 374 0 +166 375 0 +166 376 0 +166 377 0 +166 378 0 +166 379 0 +166 380 0 +166 381 0 +166 382 0 +166 383 0 +167 168 4 +167 169 4 +167 170 4 +167 171 4 +167 172 4 +167 173 4 +167 174 4 +167 175 4 +167 176 4 +167 177 4 +167 178 4 +167 179 4 +167 180 4 +167 181 4 +167 182 4 +167 183 4 +167 184 4 +167 185 4 +167 186 4 +167 187 4 +167 188 4 +167 189 4 +167 190 4 +167 191 4 +167 192 0 +167 193 0 +167 194 0 +167 195 0 +167 196 0 +167 197 0 +167 198 0 +167 199 0 +167 200 0 +167 201 0 +167 202 0 +167 203 0 +167 204 0 +167 205 0 +167 206 0 +167 207 0 +167 208 0 +167 209 0 +167 210 0 +167 211 0 +167 212 0 +167 213 0 +167 214 0 +167 215 0 +167 216 0 +167 217 0 +167 218 0 +167 219 0 +167 220 0 +167 221 0 +167 222 0 +167 223 0 +167 224 0 +167 225 0 +167 226 0 +167 227 0 +167 228 0 +167 229 0 +167 230 0 +167 231 0 +167 232 0 +167 233 0 +167 234 0 +167 235 0 +167 236 0 +167 237 0 +167 238 0 +167 239 0 +167 240 0 +167 241 0 +167 242 0 +167 243 0 +167 244 0 +167 245 0 +167 246 0 +167 247 0 +167 248 0 +167 249 0 +167 250 0 +167 251 0 +167 252 0 +167 253 0 +167 254 0 +167 255 0 +167 256 0 +167 257 0 +167 258 0 +167 259 0 +167 260 0 +167 261 0 +167 262 0 +167 263 0 +167 264 0 +167 265 0 +167 266 0 +167 267 0 +167 268 0 +167 269 0 +167 270 0 +167 271 0 +167 272 0 +167 273 0 +167 274 0 +167 275 0 +167 276 0 +167 277 0 +167 278 0 +167 279 0 +167 280 0 +167 281 0 +167 282 0 +167 283 0 +167 284 0 +167 285 0 +167 286 0 +167 287 0 +167 288 0 +167 289 0 +167 290 0 +167 291 0 +167 292 0 +167 293 0 +167 294 0 +167 295 0 +167 296 0 +167 297 0 +167 298 0 +167 299 0 +167 300 0 +167 301 0 +167 302 0 +167 303 0 +167 304 0 +167 305 0 +167 306 0 +167 307 0 +167 308 0 +167 309 0 +167 310 0 +167 311 0 +167 312 0 +167 313 0 +167 314 0 +167 315 0 +167 316 0 +167 317 0 +167 318 0 +167 319 0 +167 320 0 +167 321 0 +167 322 0 +167 323 0 +167 324 0 +167 325 0 +167 326 0 +167 327 0 +167 328 0 +167 329 0 +167 330 0 +167 331 0 +167 332 0 +167 333 0 +167 334 0 +167 335 0 +167 336 0 +167 337 0 +167 338 0 +167 339 0 +167 340 0 +167 341 0 +167 342 0 +167 343 0 +167 344 0 +167 345 0 +167 346 0 +167 347 0 +167 348 0 +167 349 0 +167 350 0 +167 351 0 +167 352 0 +167 353 0 +167 354 0 +167 355 0 +167 356 0 +167 357 0 +167 358 0 +167 359 0 +167 360 0 +167 361 0 +167 362 0 +167 363 0 +167 364 0 +167 365 0 +167 366 0 +167 367 0 +167 368 0 +167 369 0 +167 370 0 +167 371 0 +167 372 0 +167 373 0 +167 374 0 +167 375 0 +167 376 0 +167 377 0 +167 378 0 +167 379 0 +167 380 0 +167 381 0 +167 382 0 +167 383 0 +168 169 4 +168 170 4 +168 171 4 +168 172 4 +168 173 4 +168 174 4 +168 175 4 +168 176 4 +168 177 4 +168 178 4 +168 179 4 +168 180 4 +168 181 4 +168 182 4 +168 183 4 +168 184 4 +168 185 4 +168 186 4 +168 187 4 +168 188 4 +168 189 4 +168 190 4 +168 191 4 +168 192 0 +168 193 0 +168 194 0 +168 195 0 +168 196 0 +168 197 0 +168 198 0 +168 199 0 +168 200 0 +168 201 0 +168 202 0 +168 203 0 +168 204 0 +168 205 0 +168 206 0 +168 207 0 +168 208 0 +168 209 0 +168 210 0 +168 211 0 +168 212 0 +168 213 0 +168 214 0 +168 215 0 +168 216 0 +168 217 0 +168 218 0 +168 219 0 +168 220 0 +168 221 0 +168 222 0 +168 223 0 +168 224 0 +168 225 0 +168 226 0 +168 227 0 +168 228 0 +168 229 0 +168 230 0 +168 231 0 +168 232 0 +168 233 0 +168 234 0 +168 235 0 +168 236 0 +168 237 0 +168 238 0 +168 239 0 +168 240 0 +168 241 0 +168 242 0 +168 243 0 +168 244 0 +168 245 0 +168 246 0 +168 247 0 +168 248 0 +168 249 0 +168 250 0 +168 251 0 +168 252 0 +168 253 0 +168 254 0 +168 255 0 +168 256 0 +168 257 0 +168 258 0 +168 259 0 +168 260 0 +168 261 0 +168 262 0 +168 263 0 +168 264 0 +168 265 0 +168 266 0 +168 267 0 +168 268 0 +168 269 0 +168 270 0 +168 271 0 +168 272 0 +168 273 0 +168 274 0 +168 275 0 +168 276 0 +168 277 0 +168 278 0 +168 279 0 +168 280 0 +168 281 0 +168 282 0 +168 283 0 +168 284 0 +168 285 0 +168 286 0 +168 287 0 +168 288 0 +168 289 0 +168 290 0 +168 291 0 +168 292 0 +168 293 0 +168 294 0 +168 295 0 +168 296 0 +168 297 0 +168 298 0 +168 299 0 +168 300 0 +168 301 0 +168 302 0 +168 303 0 +168 304 0 +168 305 0 +168 306 0 +168 307 0 +168 308 0 +168 309 0 +168 310 0 +168 311 0 +168 312 0 +168 313 0 +168 314 0 +168 315 0 +168 316 0 +168 317 0 +168 318 0 +168 319 0 +168 320 0 +168 321 0 +168 322 0 +168 323 0 +168 324 0 +168 325 0 +168 326 0 +168 327 0 +168 328 0 +168 329 0 +168 330 0 +168 331 0 +168 332 0 +168 333 0 +168 334 0 +168 335 0 +168 336 0 +168 337 0 +168 338 0 +168 339 0 +168 340 0 +168 341 0 +168 342 0 +168 343 0 +168 344 0 +168 345 0 +168 346 0 +168 347 0 +168 348 0 +168 349 0 +168 350 0 +168 351 0 +168 352 0 +168 353 0 +168 354 0 +168 355 0 +168 356 0 +168 357 0 +168 358 0 +168 359 0 +168 360 0 +168 361 0 +168 362 0 +168 363 0 +168 364 0 +168 365 0 +168 366 0 +168 367 0 +168 368 0 +168 369 0 +168 370 0 +168 371 0 +168 372 0 +168 373 0 +168 374 0 +168 375 0 +168 376 0 +168 377 0 +168 378 0 +168 379 0 +168 380 0 +168 381 0 +168 382 0 +168 383 0 +169 170 4 +169 171 4 +169 172 4 +169 173 4 +169 174 4 +169 175 4 +169 176 4 +169 177 4 +169 178 4 +169 179 4 +169 180 4 +169 181 4 +169 182 4 +169 183 4 +169 184 4 +169 185 4 +169 186 4 +169 187 4 +169 188 4 +169 189 4 +169 190 4 +169 191 4 +169 192 0 +169 193 0 +169 194 0 +169 195 0 +169 196 0 +169 197 0 +169 198 0 +169 199 0 +169 200 0 +169 201 0 +169 202 0 +169 203 0 +169 204 0 +169 205 0 +169 206 0 +169 207 0 +169 208 0 +169 209 0 +169 210 0 +169 211 0 +169 212 0 +169 213 0 +169 214 0 +169 215 0 +169 216 0 +169 217 0 +169 218 0 +169 219 0 +169 220 0 +169 221 0 +169 222 0 +169 223 0 +169 224 0 +169 225 0 +169 226 0 +169 227 0 +169 228 0 +169 229 0 +169 230 0 +169 231 0 +169 232 0 +169 233 0 +169 234 0 +169 235 0 +169 236 0 +169 237 0 +169 238 0 +169 239 0 +169 240 0 +169 241 0 +169 242 0 +169 243 0 +169 244 0 +169 245 0 +169 246 0 +169 247 0 +169 248 0 +169 249 0 +169 250 0 +169 251 0 +169 252 0 +169 253 0 +169 254 0 +169 255 0 +169 256 0 +169 257 0 +169 258 0 +169 259 0 +169 260 0 +169 261 0 +169 262 0 +169 263 0 +169 264 0 +169 265 0 +169 266 0 +169 267 0 +169 268 0 +169 269 0 +169 270 0 +169 271 0 +169 272 0 +169 273 0 +169 274 0 +169 275 0 +169 276 0 +169 277 0 +169 278 0 +169 279 0 +169 280 0 +169 281 0 +169 282 0 +169 283 0 +169 284 0 +169 285 0 +169 286 0 +169 287 0 +169 288 0 +169 289 0 +169 290 0 +169 291 0 +169 292 0 +169 293 0 +169 294 0 +169 295 0 +169 296 0 +169 297 0 +169 298 0 +169 299 0 +169 300 0 +169 301 0 +169 302 0 +169 303 0 +169 304 0 +169 305 0 +169 306 0 +169 307 0 +169 308 0 +169 309 0 +169 310 0 +169 311 0 +169 312 0 +169 313 0 +169 314 0 +169 315 0 +169 316 0 +169 317 0 +169 318 0 +169 319 0 +169 320 0 +169 321 0 +169 322 0 +169 323 0 +169 324 0 +169 325 0 +169 326 0 +169 327 0 +169 328 0 +169 329 0 +169 330 0 +169 331 0 +169 332 0 +169 333 0 +169 334 0 +169 335 0 +169 336 0 +169 337 0 +169 338 0 +169 339 0 +169 340 0 +169 341 0 +169 342 0 +169 343 0 +169 344 0 +169 345 0 +169 346 0 +169 347 0 +169 348 0 +169 349 0 +169 350 0 +169 351 0 +169 352 0 +169 353 0 +169 354 0 +169 355 0 +169 356 0 +169 357 0 +169 358 0 +169 359 0 +169 360 0 +169 361 0 +169 362 0 +169 363 0 +169 364 0 +169 365 0 +169 366 0 +169 367 0 +169 368 0 +169 369 0 +169 370 0 +169 371 0 +169 372 0 +169 373 0 +169 374 0 +169 375 0 +169 376 0 +169 377 0 +169 378 0 +169 379 0 +169 380 0 +169 381 0 +169 382 0 +169 383 0 +170 171 4 +170 172 4 +170 173 4 +170 174 4 +170 175 4 +170 176 4 +170 177 4 +170 178 4 +170 179 4 +170 180 4 +170 181 4 +170 182 4 +170 183 4 +170 184 4 +170 185 4 +170 186 4 +170 187 4 +170 188 4 +170 189 4 +170 190 4 +170 191 4 +170 192 0 +170 193 0 +170 194 0 +170 195 0 +170 196 0 +170 197 0 +170 198 0 +170 199 0 +170 200 0 +170 201 0 +170 202 0 +170 203 0 +170 204 0 +170 205 0 +170 206 0 +170 207 0 +170 208 0 +170 209 0 +170 210 0 +170 211 0 +170 212 0 +170 213 0 +170 214 0 +170 215 0 +170 216 0 +170 217 0 +170 218 0 +170 219 0 +170 220 0 +170 221 0 +170 222 0 +170 223 0 +170 224 0 +170 225 0 +170 226 0 +170 227 0 +170 228 0 +170 229 0 +170 230 0 +170 231 0 +170 232 0 +170 233 0 +170 234 0 +170 235 0 +170 236 0 +170 237 0 +170 238 0 +170 239 0 +170 240 0 +170 241 0 +170 242 0 +170 243 0 +170 244 0 +170 245 0 +170 246 0 +170 247 0 +170 248 0 +170 249 0 +170 250 0 +170 251 0 +170 252 0 +170 253 0 +170 254 0 +170 255 0 +170 256 0 +170 257 0 +170 258 0 +170 259 0 +170 260 0 +170 261 0 +170 262 0 +170 263 0 +170 264 0 +170 265 0 +170 266 0 +170 267 0 +170 268 0 +170 269 0 +170 270 0 +170 271 0 +170 272 0 +170 273 0 +170 274 0 +170 275 0 +170 276 0 +170 277 0 +170 278 0 +170 279 0 +170 280 0 +170 281 0 +170 282 0 +170 283 0 +170 284 0 +170 285 0 +170 286 0 +170 287 0 +170 288 0 +170 289 0 +170 290 0 +170 291 0 +170 292 0 +170 293 0 +170 294 0 +170 295 0 +170 296 0 +170 297 0 +170 298 0 +170 299 0 +170 300 0 +170 301 0 +170 302 0 +170 303 0 +170 304 0 +170 305 0 +170 306 0 +170 307 0 +170 308 0 +170 309 0 +170 310 0 +170 311 0 +170 312 0 +170 313 0 +170 314 0 +170 315 0 +170 316 0 +170 317 0 +170 318 0 +170 319 0 +170 320 0 +170 321 0 +170 322 0 +170 323 0 +170 324 0 +170 325 0 +170 326 0 +170 327 0 +170 328 0 +170 329 0 +170 330 0 +170 331 0 +170 332 0 +170 333 0 +170 334 0 +170 335 0 +170 336 0 +170 337 0 +170 338 0 +170 339 0 +170 340 0 +170 341 0 +170 342 0 +170 343 0 +170 344 0 +170 345 0 +170 346 0 +170 347 0 +170 348 0 +170 349 0 +170 350 0 +170 351 0 +170 352 0 +170 353 0 +170 354 0 +170 355 0 +170 356 0 +170 357 0 +170 358 0 +170 359 0 +170 360 0 +170 361 0 +170 362 0 +170 363 0 +170 364 0 +170 365 0 +170 366 0 +170 367 0 +170 368 0 +170 369 0 +170 370 0 +170 371 0 +170 372 0 +170 373 0 +170 374 0 +170 375 0 +170 376 0 +170 377 0 +170 378 0 +170 379 0 +170 380 0 +170 381 0 +170 382 0 +170 383 0 +171 172 4 +171 173 4 +171 174 4 +171 175 4 +171 176 4 +171 177 4 +171 178 4 +171 179 4 +171 180 4 +171 181 4 +171 182 4 +171 183 4 +171 184 4 +171 185 4 +171 186 4 +171 187 4 +171 188 4 +171 189 4 +171 190 4 +171 191 4 +171 192 0 +171 193 0 +171 194 0 +171 195 0 +171 196 0 +171 197 0 +171 198 0 +171 199 0 +171 200 0 +171 201 0 +171 202 0 +171 203 0 +171 204 0 +171 205 0 +171 206 0 +171 207 0 +171 208 0 +171 209 0 +171 210 0 +171 211 0 +171 212 0 +171 213 0 +171 214 0 +171 215 0 +171 216 0 +171 217 0 +171 218 0 +171 219 0 +171 220 0 +171 221 0 +171 222 0 +171 223 0 +171 224 0 +171 225 0 +171 226 0 +171 227 0 +171 228 0 +171 229 0 +171 230 0 +171 231 0 +171 232 0 +171 233 0 +171 234 0 +171 235 0 +171 236 0 +171 237 0 +171 238 0 +171 239 0 +171 240 0 +171 241 0 +171 242 0 +171 243 0 +171 244 0 +171 245 0 +171 246 0 +171 247 0 +171 248 0 +171 249 0 +171 250 0 +171 251 0 +171 252 0 +171 253 0 +171 254 0 +171 255 0 +171 256 0 +171 257 0 +171 258 0 +171 259 0 +171 260 0 +171 261 0 +171 262 0 +171 263 0 +171 264 0 +171 265 0 +171 266 0 +171 267 0 +171 268 0 +171 269 0 +171 270 0 +171 271 0 +171 272 0 +171 273 0 +171 274 0 +171 275 0 +171 276 0 +171 277 0 +171 278 0 +171 279 0 +171 280 0 +171 281 0 +171 282 0 +171 283 0 +171 284 0 +171 285 0 +171 286 0 +171 287 0 +171 288 0 +171 289 0 +171 290 0 +171 291 0 +171 292 0 +171 293 0 +171 294 0 +171 295 0 +171 296 0 +171 297 0 +171 298 0 +171 299 0 +171 300 0 +171 301 0 +171 302 0 +171 303 0 +171 304 0 +171 305 0 +171 306 0 +171 307 0 +171 308 0 +171 309 0 +171 310 0 +171 311 0 +171 312 0 +171 313 0 +171 314 0 +171 315 0 +171 316 0 +171 317 0 +171 318 0 +171 319 0 +171 320 0 +171 321 0 +171 322 0 +171 323 0 +171 324 0 +171 325 0 +171 326 0 +171 327 0 +171 328 0 +171 329 0 +171 330 0 +171 331 0 +171 332 0 +171 333 0 +171 334 0 +171 335 0 +171 336 0 +171 337 0 +171 338 0 +171 339 0 +171 340 0 +171 341 0 +171 342 0 +171 343 0 +171 344 0 +171 345 0 +171 346 0 +171 347 0 +171 348 0 +171 349 0 +171 350 0 +171 351 0 +171 352 0 +171 353 0 +171 354 0 +171 355 0 +171 356 0 +171 357 0 +171 358 0 +171 359 0 +171 360 0 +171 361 0 +171 362 0 +171 363 0 +171 364 0 +171 365 0 +171 366 0 +171 367 0 +171 368 0 +171 369 0 +171 370 0 +171 371 0 +171 372 0 +171 373 0 +171 374 0 +171 375 0 +171 376 0 +171 377 0 +171 378 0 +171 379 0 +171 380 0 +171 381 0 +171 382 0 +171 383 0 +172 173 4 +172 174 4 +172 175 4 +172 176 4 +172 177 4 +172 178 4 +172 179 4 +172 180 4 +172 181 4 +172 182 4 +172 183 4 +172 184 4 +172 185 4 +172 186 4 +172 187 4 +172 188 4 +172 189 4 +172 190 4 +172 191 4 +172 192 0 +172 193 0 +172 194 0 +172 195 0 +172 196 0 +172 197 0 +172 198 0 +172 199 0 +172 200 0 +172 201 0 +172 202 0 +172 203 0 +172 204 0 +172 205 0 +172 206 0 +172 207 0 +172 208 0 +172 209 0 +172 210 0 +172 211 0 +172 212 0 +172 213 0 +172 214 0 +172 215 0 +172 216 0 +172 217 0 +172 218 0 +172 219 0 +172 220 0 +172 221 0 +172 222 0 +172 223 0 +172 224 0 +172 225 0 +172 226 0 +172 227 0 +172 228 0 +172 229 0 +172 230 0 +172 231 0 +172 232 0 +172 233 0 +172 234 0 +172 235 0 +172 236 0 +172 237 0 +172 238 0 +172 239 0 +172 240 0 +172 241 0 +172 242 0 +172 243 0 +172 244 0 +172 245 0 +172 246 0 +172 247 0 +172 248 0 +172 249 0 +172 250 0 +172 251 0 +172 252 0 +172 253 0 +172 254 0 +172 255 0 +172 256 0 +172 257 0 +172 258 0 +172 259 0 +172 260 0 +172 261 0 +172 262 0 +172 263 0 +172 264 0 +172 265 0 +172 266 0 +172 267 0 +172 268 0 +172 269 0 +172 270 0 +172 271 0 +172 272 0 +172 273 0 +172 274 0 +172 275 0 +172 276 0 +172 277 0 +172 278 0 +172 279 0 +172 280 0 +172 281 0 +172 282 0 +172 283 0 +172 284 0 +172 285 0 +172 286 0 +172 287 0 +172 288 0 +172 289 0 +172 290 0 +172 291 0 +172 292 0 +172 293 0 +172 294 0 +172 295 0 +172 296 0 +172 297 0 +172 298 0 +172 299 0 +172 300 0 +172 301 0 +172 302 0 +172 303 0 +172 304 0 +172 305 0 +172 306 0 +172 307 0 +172 308 0 +172 309 0 +172 310 0 +172 311 0 +172 312 0 +172 313 0 +172 314 0 +172 315 0 +172 316 0 +172 317 0 +172 318 0 +172 319 0 +172 320 0 +172 321 0 +172 322 0 +172 323 0 +172 324 0 +172 325 0 +172 326 0 +172 327 0 +172 328 0 +172 329 0 +172 330 0 +172 331 0 +172 332 0 +172 333 0 +172 334 0 +172 335 0 +172 336 0 +172 337 0 +172 338 0 +172 339 0 +172 340 0 +172 341 0 +172 342 0 +172 343 0 +172 344 0 +172 345 0 +172 346 0 +172 347 0 +172 348 0 +172 349 0 +172 350 0 +172 351 0 +172 352 0 +172 353 0 +172 354 0 +172 355 0 +172 356 0 +172 357 0 +172 358 0 +172 359 0 +172 360 0 +172 361 0 +172 362 0 +172 363 0 +172 364 0 +172 365 0 +172 366 0 +172 367 0 +172 368 0 +172 369 0 +172 370 0 +172 371 0 +172 372 0 +172 373 0 +172 374 0 +172 375 0 +172 376 0 +172 377 0 +172 378 0 +172 379 0 +172 380 0 +172 381 0 +172 382 0 +172 383 0 +173 174 4 +173 175 4 +173 176 4 +173 177 4 +173 178 4 +173 179 4 +173 180 4 +173 181 4 +173 182 4 +173 183 4 +173 184 4 +173 185 4 +173 186 4 +173 187 4 +173 188 4 +173 189 4 +173 190 4 +173 191 4 +173 192 0 +173 193 0 +173 194 0 +173 195 0 +173 196 0 +173 197 0 +173 198 0 +173 199 0 +173 200 0 +173 201 0 +173 202 0 +173 203 0 +173 204 0 +173 205 0 +173 206 0 +173 207 0 +173 208 0 +173 209 0 +173 210 0 +173 211 0 +173 212 0 +173 213 0 +173 214 0 +173 215 0 +173 216 0 +173 217 0 +173 218 0 +173 219 0 +173 220 0 +173 221 0 +173 222 0 +173 223 0 +173 224 0 +173 225 0 +173 226 0 +173 227 0 +173 228 0 +173 229 0 +173 230 0 +173 231 0 +173 232 0 +173 233 0 +173 234 0 +173 235 0 +173 236 0 +173 237 0 +173 238 0 +173 239 0 +173 240 0 +173 241 0 +173 242 0 +173 243 0 +173 244 0 +173 245 0 +173 246 0 +173 247 0 +173 248 0 +173 249 0 +173 250 0 +173 251 0 +173 252 0 +173 253 0 +173 254 0 +173 255 0 +173 256 0 +173 257 0 +173 258 0 +173 259 0 +173 260 0 +173 261 0 +173 262 0 +173 263 0 +173 264 0 +173 265 0 +173 266 0 +173 267 0 +173 268 0 +173 269 0 +173 270 0 +173 271 0 +173 272 0 +173 273 0 +173 274 0 +173 275 0 +173 276 0 +173 277 0 +173 278 0 +173 279 0 +173 280 0 +173 281 0 +173 282 0 +173 283 0 +173 284 0 +173 285 0 +173 286 0 +173 287 0 +173 288 0 +173 289 0 +173 290 0 +173 291 0 +173 292 0 +173 293 0 +173 294 0 +173 295 0 +173 296 0 +173 297 0 +173 298 0 +173 299 0 +173 300 0 +173 301 0 +173 302 0 +173 303 0 +173 304 0 +173 305 0 +173 306 0 +173 307 0 +173 308 0 +173 309 0 +173 310 0 +173 311 0 +173 312 0 +173 313 0 +173 314 0 +173 315 0 +173 316 0 +173 317 0 +173 318 0 +173 319 0 +173 320 0 +173 321 0 +173 322 0 +173 323 0 +173 324 0 +173 325 0 +173 326 0 +173 327 0 +173 328 0 +173 329 0 +173 330 0 +173 331 0 +173 332 0 +173 333 0 +173 334 0 +173 335 0 +173 336 0 +173 337 0 +173 338 0 +173 339 0 +173 340 0 +173 341 0 +173 342 0 +173 343 0 +173 344 0 +173 345 0 +173 346 0 +173 347 0 +173 348 0 +173 349 0 +173 350 0 +173 351 0 +173 352 0 +173 353 0 +173 354 0 +173 355 0 +173 356 0 +173 357 0 +173 358 0 +173 359 0 +173 360 0 +173 361 0 +173 362 0 +173 363 0 +173 364 0 +173 365 0 +173 366 0 +173 367 0 +173 368 0 +173 369 0 +173 370 0 +173 371 0 +173 372 0 +173 373 0 +173 374 0 +173 375 0 +173 376 0 +173 377 0 +173 378 0 +173 379 0 +173 380 0 +173 381 0 +173 382 0 +173 383 0 +174 175 4 +174 176 4 +174 177 4 +174 178 4 +174 179 4 +174 180 4 +174 181 4 +174 182 4 +174 183 4 +174 184 4 +174 185 4 +174 186 4 +174 187 4 +174 188 4 +174 189 4 +174 190 4 +174 191 4 +174 192 0 +174 193 0 +174 194 0 +174 195 0 +174 196 0 +174 197 0 +174 198 0 +174 199 0 +174 200 0 +174 201 0 +174 202 0 +174 203 0 +174 204 0 +174 205 0 +174 206 0 +174 207 0 +174 208 0 +174 209 0 +174 210 0 +174 211 0 +174 212 0 +174 213 0 +174 214 0 +174 215 0 +174 216 0 +174 217 0 +174 218 0 +174 219 0 +174 220 0 +174 221 0 +174 222 0 +174 223 0 +174 224 0 +174 225 0 +174 226 0 +174 227 0 +174 228 0 +174 229 0 +174 230 0 +174 231 0 +174 232 0 +174 233 0 +174 234 0 +174 235 0 +174 236 0 +174 237 0 +174 238 0 +174 239 0 +174 240 0 +174 241 0 +174 242 0 +174 243 0 +174 244 0 +174 245 0 +174 246 0 +174 247 0 +174 248 0 +174 249 0 +174 250 0 +174 251 0 +174 252 0 +174 253 0 +174 254 0 +174 255 0 +174 256 0 +174 257 0 +174 258 0 +174 259 0 +174 260 0 +174 261 0 +174 262 0 +174 263 0 +174 264 0 +174 265 0 +174 266 0 +174 267 0 +174 268 0 +174 269 0 +174 270 0 +174 271 0 +174 272 0 +174 273 0 +174 274 0 +174 275 0 +174 276 0 +174 277 0 +174 278 0 +174 279 0 +174 280 0 +174 281 0 +174 282 0 +174 283 0 +174 284 0 +174 285 0 +174 286 0 +174 287 0 +174 288 0 +174 289 0 +174 290 0 +174 291 0 +174 292 0 +174 293 0 +174 294 0 +174 295 0 +174 296 0 +174 297 0 +174 298 0 +174 299 0 +174 300 0 +174 301 0 +174 302 0 +174 303 0 +174 304 0 +174 305 0 +174 306 0 +174 307 0 +174 308 0 +174 309 0 +174 310 0 +174 311 0 +174 312 0 +174 313 0 +174 314 0 +174 315 0 +174 316 0 +174 317 0 +174 318 0 +174 319 0 +174 320 0 +174 321 0 +174 322 0 +174 323 0 +174 324 0 +174 325 0 +174 326 0 +174 327 0 +174 328 0 +174 329 0 +174 330 0 +174 331 0 +174 332 0 +174 333 0 +174 334 0 +174 335 0 +174 336 0 +174 337 0 +174 338 0 +174 339 0 +174 340 0 +174 341 0 +174 342 0 +174 343 0 +174 344 0 +174 345 0 +174 346 0 +174 347 0 +174 348 0 +174 349 0 +174 350 0 +174 351 0 +174 352 0 +174 353 0 +174 354 0 +174 355 0 +174 356 0 +174 357 0 +174 358 0 +174 359 0 +174 360 0 +174 361 0 +174 362 0 +174 363 0 +174 364 0 +174 365 0 +174 366 0 +174 367 0 +174 368 0 +174 369 0 +174 370 0 +174 371 0 +174 372 0 +174 373 0 +174 374 0 +174 375 0 +174 376 0 +174 377 0 +174 378 0 +174 379 0 +174 380 0 +174 381 0 +174 382 0 +174 383 0 +175 176 4 +175 177 4 +175 178 4 +175 179 4 +175 180 4 +175 181 4 +175 182 4 +175 183 4 +175 184 4 +175 185 4 +175 186 4 +175 187 4 +175 188 4 +175 189 4 +175 190 4 +175 191 4 +175 192 0 +175 193 0 +175 194 0 +175 195 0 +175 196 0 +175 197 0 +175 198 0 +175 199 0 +175 200 0 +175 201 0 +175 202 0 +175 203 0 +175 204 0 +175 205 0 +175 206 0 +175 207 0 +175 208 0 +175 209 0 +175 210 0 +175 211 0 +175 212 0 +175 213 0 +175 214 0 +175 215 0 +175 216 0 +175 217 0 +175 218 0 +175 219 0 +175 220 0 +175 221 0 +175 222 0 +175 223 0 +175 224 0 +175 225 0 +175 226 0 +175 227 0 +175 228 0 +175 229 0 +175 230 0 +175 231 0 +175 232 0 +175 233 0 +175 234 0 +175 235 0 +175 236 0 +175 237 0 +175 238 0 +175 239 0 +175 240 0 +175 241 0 +175 242 0 +175 243 0 +175 244 0 +175 245 0 +175 246 0 +175 247 0 +175 248 0 +175 249 0 +175 250 0 +175 251 0 +175 252 0 +175 253 0 +175 254 0 +175 255 0 +175 256 0 +175 257 0 +175 258 0 +175 259 0 +175 260 0 +175 261 0 +175 262 0 +175 263 0 +175 264 0 +175 265 0 +175 266 0 +175 267 0 +175 268 0 +175 269 0 +175 270 0 +175 271 0 +175 272 0 +175 273 0 +175 274 0 +175 275 0 +175 276 0 +175 277 0 +175 278 0 +175 279 0 +175 280 0 +175 281 0 +175 282 0 +175 283 0 +175 284 0 +175 285 0 +175 286 0 +175 287 0 +175 288 0 +175 289 0 +175 290 0 +175 291 0 +175 292 0 +175 293 0 +175 294 0 +175 295 0 +175 296 0 +175 297 0 +175 298 0 +175 299 0 +175 300 0 +175 301 0 +175 302 0 +175 303 0 +175 304 0 +175 305 0 +175 306 0 +175 307 0 +175 308 0 +175 309 0 +175 310 0 +175 311 0 +175 312 0 +175 313 0 +175 314 0 +175 315 0 +175 316 0 +175 317 0 +175 318 0 +175 319 0 +175 320 0 +175 321 0 +175 322 0 +175 323 0 +175 324 0 +175 325 0 +175 326 0 +175 327 0 +175 328 0 +175 329 0 +175 330 0 +175 331 0 +175 332 0 +175 333 0 +175 334 0 +175 335 0 +175 336 0 +175 337 0 +175 338 0 +175 339 0 +175 340 0 +175 341 0 +175 342 0 +175 343 0 +175 344 0 +175 345 0 +175 346 0 +175 347 0 +175 348 0 +175 349 0 +175 350 0 +175 351 0 +175 352 0 +175 353 0 +175 354 0 +175 355 0 +175 356 0 +175 357 0 +175 358 0 +175 359 0 +175 360 0 +175 361 0 +175 362 0 +175 363 0 +175 364 0 +175 365 0 +175 366 0 +175 367 0 +175 368 0 +175 369 0 +175 370 0 +175 371 0 +175 372 0 +175 373 0 +175 374 0 +175 375 0 +175 376 0 +175 377 0 +175 378 0 +175 379 0 +175 380 0 +175 381 0 +175 382 0 +175 383 0 +176 177 4 +176 178 4 +176 179 4 +176 180 4 +176 181 4 +176 182 4 +176 183 4 +176 184 4 +176 185 4 +176 186 4 +176 187 4 +176 188 4 +176 189 4 +176 190 4 +176 191 4 +176 192 0 +176 193 0 +176 194 0 +176 195 0 +176 196 0 +176 197 0 +176 198 0 +176 199 0 +176 200 0 +176 201 0 +176 202 0 +176 203 0 +176 204 0 +176 205 0 +176 206 0 +176 207 0 +176 208 0 +176 209 0 +176 210 0 +176 211 0 +176 212 0 +176 213 0 +176 214 0 +176 215 0 +176 216 0 +176 217 0 +176 218 0 +176 219 0 +176 220 0 +176 221 0 +176 222 0 +176 223 0 +176 224 0 +176 225 0 +176 226 0 +176 227 0 +176 228 0 +176 229 0 +176 230 0 +176 231 0 +176 232 0 +176 233 0 +176 234 0 +176 235 0 +176 236 0 +176 237 0 +176 238 0 +176 239 0 +176 240 0 +176 241 0 +176 242 0 +176 243 0 +176 244 0 +176 245 0 +176 246 0 +176 247 0 +176 248 0 +176 249 0 +176 250 0 +176 251 0 +176 252 0 +176 253 0 +176 254 0 +176 255 0 +176 256 0 +176 257 0 +176 258 0 +176 259 0 +176 260 0 +176 261 0 +176 262 0 +176 263 0 +176 264 0 +176 265 0 +176 266 0 +176 267 0 +176 268 0 +176 269 0 +176 270 0 +176 271 0 +176 272 0 +176 273 0 +176 274 0 +176 275 0 +176 276 0 +176 277 0 +176 278 0 +176 279 0 +176 280 0 +176 281 0 +176 282 0 +176 283 0 +176 284 0 +176 285 0 +176 286 0 +176 287 0 +176 288 0 +176 289 0 +176 290 0 +176 291 0 +176 292 0 +176 293 0 +176 294 0 +176 295 0 +176 296 0 +176 297 0 +176 298 0 +176 299 0 +176 300 0 +176 301 0 +176 302 0 +176 303 0 +176 304 0 +176 305 0 +176 306 0 +176 307 0 +176 308 0 +176 309 0 +176 310 0 +176 311 0 +176 312 0 +176 313 0 +176 314 0 +176 315 0 +176 316 0 +176 317 0 +176 318 0 +176 319 0 +176 320 0 +176 321 0 +176 322 0 +176 323 0 +176 324 0 +176 325 0 +176 326 0 +176 327 0 +176 328 0 +176 329 0 +176 330 0 +176 331 0 +176 332 0 +176 333 0 +176 334 0 +176 335 0 +176 336 0 +176 337 0 +176 338 0 +176 339 0 +176 340 0 +176 341 0 +176 342 0 +176 343 0 +176 344 0 +176 345 0 +176 346 0 +176 347 0 +176 348 0 +176 349 0 +176 350 0 +176 351 0 +176 352 0 +176 353 0 +176 354 0 +176 355 0 +176 356 0 +176 357 0 +176 358 0 +176 359 0 +176 360 0 +176 361 0 +176 362 0 +176 363 0 +176 364 0 +176 365 0 +176 366 0 +176 367 0 +176 368 0 +176 369 0 +176 370 0 +176 371 0 +176 372 0 +176 373 0 +176 374 0 +176 375 0 +176 376 0 +176 377 0 +176 378 0 +176 379 0 +176 380 0 +176 381 0 +176 382 0 +176 383 0 +177 178 4 +177 179 4 +177 180 4 +177 181 4 +177 182 4 +177 183 4 +177 184 4 +177 185 4 +177 186 4 +177 187 4 +177 188 4 +177 189 4 +177 190 4 +177 191 4 +177 192 0 +177 193 0 +177 194 0 +177 195 0 +177 196 0 +177 197 0 +177 198 0 +177 199 0 +177 200 0 +177 201 0 +177 202 0 +177 203 0 +177 204 0 +177 205 0 +177 206 0 +177 207 0 +177 208 0 +177 209 0 +177 210 0 +177 211 0 +177 212 0 +177 213 0 +177 214 0 +177 215 0 +177 216 0 +177 217 0 +177 218 0 +177 219 0 +177 220 0 +177 221 0 +177 222 0 +177 223 0 +177 224 0 +177 225 0 +177 226 0 +177 227 0 +177 228 0 +177 229 0 +177 230 0 +177 231 0 +177 232 0 +177 233 0 +177 234 0 +177 235 0 +177 236 0 +177 237 0 +177 238 0 +177 239 0 +177 240 0 +177 241 0 +177 242 0 +177 243 0 +177 244 0 +177 245 0 +177 246 0 +177 247 0 +177 248 0 +177 249 0 +177 250 0 +177 251 0 +177 252 0 +177 253 0 +177 254 0 +177 255 0 +177 256 0 +177 257 0 +177 258 0 +177 259 0 +177 260 0 +177 261 0 +177 262 0 +177 263 0 +177 264 0 +177 265 0 +177 266 0 +177 267 0 +177 268 0 +177 269 0 +177 270 0 +177 271 0 +177 272 0 +177 273 0 +177 274 0 +177 275 0 +177 276 0 +177 277 0 +177 278 0 +177 279 0 +177 280 0 +177 281 0 +177 282 0 +177 283 0 +177 284 0 +177 285 0 +177 286 0 +177 287 0 +177 288 0 +177 289 0 +177 290 0 +177 291 0 +177 292 0 +177 293 0 +177 294 0 +177 295 0 +177 296 0 +177 297 0 +177 298 0 +177 299 0 +177 300 0 +177 301 0 +177 302 0 +177 303 0 +177 304 0 +177 305 0 +177 306 0 +177 307 0 +177 308 0 +177 309 0 +177 310 0 +177 311 0 +177 312 0 +177 313 0 +177 314 0 +177 315 0 +177 316 0 +177 317 0 +177 318 0 +177 319 0 +177 320 0 +177 321 0 +177 322 0 +177 323 0 +177 324 0 +177 325 0 +177 326 0 +177 327 0 +177 328 0 +177 329 0 +177 330 0 +177 331 0 +177 332 0 +177 333 0 +177 334 0 +177 335 0 +177 336 0 +177 337 0 +177 338 0 +177 339 0 +177 340 0 +177 341 0 +177 342 0 +177 343 0 +177 344 0 +177 345 0 +177 346 0 +177 347 0 +177 348 0 +177 349 0 +177 350 0 +177 351 0 +177 352 0 +177 353 0 +177 354 0 +177 355 0 +177 356 0 +177 357 0 +177 358 0 +177 359 0 +177 360 0 +177 361 0 +177 362 0 +177 363 0 +177 364 0 +177 365 0 +177 366 0 +177 367 0 +177 368 0 +177 369 0 +177 370 0 +177 371 0 +177 372 0 +177 373 0 +177 374 0 +177 375 0 +177 376 0 +177 377 0 +177 378 0 +177 379 0 +177 380 0 +177 381 0 +177 382 0 +177 383 0 +178 179 4 +178 180 4 +178 181 4 +178 182 4 +178 183 4 +178 184 4 +178 185 4 +178 186 4 +178 187 4 +178 188 4 +178 189 4 +178 190 4 +178 191 4 +178 192 0 +178 193 0 +178 194 0 +178 195 0 +178 196 0 +178 197 0 +178 198 0 +178 199 0 +178 200 0 +178 201 0 +178 202 0 +178 203 0 +178 204 0 +178 205 0 +178 206 0 +178 207 0 +178 208 0 +178 209 0 +178 210 0 +178 211 0 +178 212 0 +178 213 0 +178 214 0 +178 215 0 +178 216 0 +178 217 0 +178 218 0 +178 219 0 +178 220 0 +178 221 0 +178 222 0 +178 223 0 +178 224 0 +178 225 0 +178 226 0 +178 227 0 +178 228 0 +178 229 0 +178 230 0 +178 231 0 +178 232 0 +178 233 0 +178 234 0 +178 235 0 +178 236 0 +178 237 0 +178 238 0 +178 239 0 +178 240 0 +178 241 0 +178 242 0 +178 243 0 +178 244 0 +178 245 0 +178 246 0 +178 247 0 +178 248 0 +178 249 0 +178 250 0 +178 251 0 +178 252 0 +178 253 0 +178 254 0 +178 255 0 +178 256 0 +178 257 0 +178 258 0 +178 259 0 +178 260 0 +178 261 0 +178 262 0 +178 263 0 +178 264 0 +178 265 0 +178 266 0 +178 267 0 +178 268 0 +178 269 0 +178 270 0 +178 271 0 +178 272 0 +178 273 0 +178 274 0 +178 275 0 +178 276 0 +178 277 0 +178 278 0 +178 279 0 +178 280 0 +178 281 0 +178 282 0 +178 283 0 +178 284 0 +178 285 0 +178 286 0 +178 287 0 +178 288 0 +178 289 0 +178 290 0 +178 291 0 +178 292 0 +178 293 0 +178 294 0 +178 295 0 +178 296 0 +178 297 0 +178 298 0 +178 299 0 +178 300 0 +178 301 0 +178 302 0 +178 303 0 +178 304 0 +178 305 0 +178 306 0 +178 307 0 +178 308 0 +178 309 0 +178 310 0 +178 311 0 +178 312 0 +178 313 0 +178 314 0 +178 315 0 +178 316 0 +178 317 0 +178 318 0 +178 319 0 +178 320 0 +178 321 0 +178 322 0 +178 323 0 +178 324 0 +178 325 0 +178 326 0 +178 327 0 +178 328 0 +178 329 0 +178 330 0 +178 331 0 +178 332 0 +178 333 0 +178 334 0 +178 335 0 +178 336 0 +178 337 0 +178 338 0 +178 339 0 +178 340 0 +178 341 0 +178 342 0 +178 343 0 +178 344 0 +178 345 0 +178 346 0 +178 347 0 +178 348 0 +178 349 0 +178 350 0 +178 351 0 +178 352 0 +178 353 0 +178 354 0 +178 355 0 +178 356 0 +178 357 0 +178 358 0 +178 359 0 +178 360 0 +178 361 0 +178 362 0 +178 363 0 +178 364 0 +178 365 0 +178 366 0 +178 367 0 +178 368 0 +178 369 0 +178 370 0 +178 371 0 +178 372 0 +178 373 0 +178 374 0 +178 375 0 +178 376 0 +178 377 0 +178 378 0 +178 379 0 +178 380 0 +178 381 0 +178 382 0 +178 383 0 +179 180 4 +179 181 4 +179 182 4 +179 183 4 +179 184 4 +179 185 4 +179 186 4 +179 187 4 +179 188 4 +179 189 4 +179 190 4 +179 191 4 +179 192 0 +179 193 0 +179 194 0 +179 195 0 +179 196 0 +179 197 0 +179 198 0 +179 199 0 +179 200 0 +179 201 0 +179 202 0 +179 203 0 +179 204 0 +179 205 0 +179 206 0 +179 207 0 +179 208 0 +179 209 0 +179 210 0 +179 211 0 +179 212 0 +179 213 0 +179 214 0 +179 215 0 +179 216 0 +179 217 0 +179 218 0 +179 219 0 +179 220 0 +179 221 0 +179 222 0 +179 223 0 +179 224 0 +179 225 0 +179 226 0 +179 227 0 +179 228 0 +179 229 0 +179 230 0 +179 231 0 +179 232 0 +179 233 0 +179 234 0 +179 235 0 +179 236 0 +179 237 0 +179 238 0 +179 239 0 +179 240 0 +179 241 0 +179 242 0 +179 243 0 +179 244 0 +179 245 0 +179 246 0 +179 247 0 +179 248 0 +179 249 0 +179 250 0 +179 251 0 +179 252 0 +179 253 0 +179 254 0 +179 255 0 +179 256 0 +179 257 0 +179 258 0 +179 259 0 +179 260 0 +179 261 0 +179 262 0 +179 263 0 +179 264 0 +179 265 0 +179 266 0 +179 267 0 +179 268 0 +179 269 0 +179 270 0 +179 271 0 +179 272 0 +179 273 0 +179 274 0 +179 275 0 +179 276 0 +179 277 0 +179 278 0 +179 279 0 +179 280 0 +179 281 0 +179 282 0 +179 283 0 +179 284 0 +179 285 0 +179 286 0 +179 287 0 +179 288 0 +179 289 0 +179 290 0 +179 291 0 +179 292 0 +179 293 0 +179 294 0 +179 295 0 +179 296 0 +179 297 0 +179 298 0 +179 299 0 +179 300 0 +179 301 0 +179 302 0 +179 303 0 +179 304 0 +179 305 0 +179 306 0 +179 307 0 +179 308 0 +179 309 0 +179 310 0 +179 311 0 +179 312 0 +179 313 0 +179 314 0 +179 315 0 +179 316 0 +179 317 0 +179 318 0 +179 319 0 +179 320 0 +179 321 0 +179 322 0 +179 323 0 +179 324 0 +179 325 0 +179 326 0 +179 327 0 +179 328 0 +179 329 0 +179 330 0 +179 331 0 +179 332 0 +179 333 0 +179 334 0 +179 335 0 +179 336 0 +179 337 0 +179 338 0 +179 339 0 +179 340 0 +179 341 0 +179 342 0 +179 343 0 +179 344 0 +179 345 0 +179 346 0 +179 347 0 +179 348 0 +179 349 0 +179 350 0 +179 351 0 +179 352 0 +179 353 0 +179 354 0 +179 355 0 +179 356 0 +179 357 0 +179 358 0 +179 359 0 +179 360 0 +179 361 0 +179 362 0 +179 363 0 +179 364 0 +179 365 0 +179 366 0 +179 367 0 +179 368 0 +179 369 0 +179 370 0 +179 371 0 +179 372 0 +179 373 0 +179 374 0 +179 375 0 +179 376 0 +179 377 0 +179 378 0 +179 379 0 +179 380 0 +179 381 0 +179 382 0 +179 383 0 +180 181 4 +180 182 4 +180 183 4 +180 184 4 +180 185 4 +180 186 4 +180 187 4 +180 188 4 +180 189 4 +180 190 4 +180 191 4 +180 192 0 +180 193 0 +180 194 0 +180 195 0 +180 196 0 +180 197 0 +180 198 0 +180 199 0 +180 200 0 +180 201 0 +180 202 0 +180 203 0 +180 204 0 +180 205 0 +180 206 0 +180 207 0 +180 208 0 +180 209 0 +180 210 0 +180 211 0 +180 212 0 +180 213 0 +180 214 0 +180 215 0 +180 216 0 +180 217 0 +180 218 0 +180 219 0 +180 220 0 +180 221 0 +180 222 0 +180 223 0 +180 224 0 +180 225 0 +180 226 0 +180 227 0 +180 228 0 +180 229 0 +180 230 0 +180 231 0 +180 232 0 +180 233 0 +180 234 0 +180 235 0 +180 236 0 +180 237 0 +180 238 0 +180 239 0 +180 240 0 +180 241 0 +180 242 0 +180 243 0 +180 244 0 +180 245 0 +180 246 0 +180 247 0 +180 248 0 +180 249 0 +180 250 0 +180 251 0 +180 252 0 +180 253 0 +180 254 0 +180 255 0 +180 256 0 +180 257 0 +180 258 0 +180 259 0 +180 260 0 +180 261 0 +180 262 0 +180 263 0 +180 264 0 +180 265 0 +180 266 0 +180 267 0 +180 268 0 +180 269 0 +180 270 0 +180 271 0 +180 272 0 +180 273 0 +180 274 0 +180 275 0 +180 276 0 +180 277 0 +180 278 0 +180 279 0 +180 280 0 +180 281 0 +180 282 0 +180 283 0 +180 284 0 +180 285 0 +180 286 0 +180 287 0 +180 288 0 +180 289 0 +180 290 0 +180 291 0 +180 292 0 +180 293 0 +180 294 0 +180 295 0 +180 296 0 +180 297 0 +180 298 0 +180 299 0 +180 300 0 +180 301 0 +180 302 0 +180 303 0 +180 304 0 +180 305 0 +180 306 0 +180 307 0 +180 308 0 +180 309 0 +180 310 0 +180 311 0 +180 312 0 +180 313 0 +180 314 0 +180 315 0 +180 316 0 +180 317 0 +180 318 0 +180 319 0 +180 320 0 +180 321 0 +180 322 0 +180 323 0 +180 324 0 +180 325 0 +180 326 0 +180 327 0 +180 328 0 +180 329 0 +180 330 0 +180 331 0 +180 332 0 +180 333 0 +180 334 0 +180 335 0 +180 336 0 +180 337 0 +180 338 0 +180 339 0 +180 340 0 +180 341 0 +180 342 0 +180 343 0 +180 344 0 +180 345 0 +180 346 0 +180 347 0 +180 348 0 +180 349 0 +180 350 0 +180 351 0 +180 352 0 +180 353 0 +180 354 0 +180 355 0 +180 356 0 +180 357 0 +180 358 0 +180 359 0 +180 360 0 +180 361 0 +180 362 0 +180 363 0 +180 364 0 +180 365 0 +180 366 0 +180 367 0 +180 368 0 +180 369 0 +180 370 0 +180 371 0 +180 372 0 +180 373 0 +180 374 0 +180 375 0 +180 376 0 +180 377 0 +180 378 0 +180 379 0 +180 380 0 +180 381 0 +180 382 0 +180 383 0 +181 182 4 +181 183 4 +181 184 4 +181 185 4 +181 186 4 +181 187 4 +181 188 4 +181 189 4 +181 190 4 +181 191 4 +181 192 0 +181 193 0 +181 194 0 +181 195 0 +181 196 0 +181 197 0 +181 198 0 +181 199 0 +181 200 0 +181 201 0 +181 202 0 +181 203 0 +181 204 0 +181 205 0 +181 206 0 +181 207 0 +181 208 0 +181 209 0 +181 210 0 +181 211 0 +181 212 0 +181 213 0 +181 214 0 +181 215 0 +181 216 0 +181 217 0 +181 218 0 +181 219 0 +181 220 0 +181 221 0 +181 222 0 +181 223 0 +181 224 0 +181 225 0 +181 226 0 +181 227 0 +181 228 0 +181 229 0 +181 230 0 +181 231 0 +181 232 0 +181 233 0 +181 234 0 +181 235 0 +181 236 0 +181 237 0 +181 238 0 +181 239 0 +181 240 0 +181 241 0 +181 242 0 +181 243 0 +181 244 0 +181 245 0 +181 246 0 +181 247 0 +181 248 0 +181 249 0 +181 250 0 +181 251 0 +181 252 0 +181 253 0 +181 254 0 +181 255 0 +181 256 0 +181 257 0 +181 258 0 +181 259 0 +181 260 0 +181 261 0 +181 262 0 +181 263 0 +181 264 0 +181 265 0 +181 266 0 +181 267 0 +181 268 0 +181 269 0 +181 270 0 +181 271 0 +181 272 0 +181 273 0 +181 274 0 +181 275 0 +181 276 0 +181 277 0 +181 278 0 +181 279 0 +181 280 0 +181 281 0 +181 282 0 +181 283 0 +181 284 0 +181 285 0 +181 286 0 +181 287 0 +181 288 0 +181 289 0 +181 290 0 +181 291 0 +181 292 0 +181 293 0 +181 294 0 +181 295 0 +181 296 0 +181 297 0 +181 298 0 +181 299 0 +181 300 0 +181 301 0 +181 302 0 +181 303 0 +181 304 0 +181 305 0 +181 306 0 +181 307 0 +181 308 0 +181 309 0 +181 310 0 +181 311 0 +181 312 0 +181 313 0 +181 314 0 +181 315 0 +181 316 0 +181 317 0 +181 318 0 +181 319 0 +181 320 0 +181 321 0 +181 322 0 +181 323 0 +181 324 0 +181 325 0 +181 326 0 +181 327 0 +181 328 0 +181 329 0 +181 330 0 +181 331 0 +181 332 0 +181 333 0 +181 334 0 +181 335 0 +181 336 0 +181 337 0 +181 338 0 +181 339 0 +181 340 0 +181 341 0 +181 342 0 +181 343 0 +181 344 0 +181 345 0 +181 346 0 +181 347 0 +181 348 0 +181 349 0 +181 350 0 +181 351 0 +181 352 0 +181 353 0 +181 354 0 +181 355 0 +181 356 0 +181 357 0 +181 358 0 +181 359 0 +181 360 0 +181 361 0 +181 362 0 +181 363 0 +181 364 0 +181 365 0 +181 366 0 +181 367 0 +181 368 0 +181 369 0 +181 370 0 +181 371 0 +181 372 0 +181 373 0 +181 374 0 +181 375 0 +181 376 0 +181 377 0 +181 378 0 +181 379 0 +181 380 0 +181 381 0 +181 382 0 +181 383 0 +182 183 4 +182 184 4 +182 185 4 +182 186 4 +182 187 4 +182 188 4 +182 189 4 +182 190 4 +182 191 4 +182 192 0 +182 193 0 +182 194 0 +182 195 0 +182 196 0 +182 197 0 +182 198 0 +182 199 0 +182 200 0 +182 201 0 +182 202 0 +182 203 0 +182 204 0 +182 205 0 +182 206 0 +182 207 0 +182 208 0 +182 209 0 +182 210 0 +182 211 0 +182 212 0 +182 213 0 +182 214 0 +182 215 0 +182 216 0 +182 217 0 +182 218 0 +182 219 0 +182 220 0 +182 221 0 +182 222 0 +182 223 0 +182 224 0 +182 225 0 +182 226 0 +182 227 0 +182 228 0 +182 229 0 +182 230 0 +182 231 0 +182 232 0 +182 233 0 +182 234 0 +182 235 0 +182 236 0 +182 237 0 +182 238 0 +182 239 0 +182 240 0 +182 241 0 +182 242 0 +182 243 0 +182 244 0 +182 245 0 +182 246 0 +182 247 0 +182 248 0 +182 249 0 +182 250 0 +182 251 0 +182 252 0 +182 253 0 +182 254 0 +182 255 0 +182 256 0 +182 257 0 +182 258 0 +182 259 0 +182 260 0 +182 261 0 +182 262 0 +182 263 0 +182 264 0 +182 265 0 +182 266 0 +182 267 0 +182 268 0 +182 269 0 +182 270 0 +182 271 0 +182 272 0 +182 273 0 +182 274 0 +182 275 0 +182 276 0 +182 277 0 +182 278 0 +182 279 0 +182 280 0 +182 281 0 +182 282 0 +182 283 0 +182 284 0 +182 285 0 +182 286 0 +182 287 0 +182 288 0 +182 289 0 +182 290 0 +182 291 0 +182 292 0 +182 293 0 +182 294 0 +182 295 0 +182 296 0 +182 297 0 +182 298 0 +182 299 0 +182 300 0 +182 301 0 +182 302 0 +182 303 0 +182 304 0 +182 305 0 +182 306 0 +182 307 0 +182 308 0 +182 309 0 +182 310 0 +182 311 0 +182 312 0 +182 313 0 +182 314 0 +182 315 0 +182 316 0 +182 317 0 +182 318 0 +182 319 0 +182 320 0 +182 321 0 +182 322 0 +182 323 0 +182 324 0 +182 325 0 +182 326 0 +182 327 0 +182 328 0 +182 329 0 +182 330 0 +182 331 0 +182 332 0 +182 333 0 +182 334 0 +182 335 0 +182 336 0 +182 337 0 +182 338 0 +182 339 0 +182 340 0 +182 341 0 +182 342 0 +182 343 0 +182 344 0 +182 345 0 +182 346 0 +182 347 0 +182 348 0 +182 349 0 +182 350 0 +182 351 0 +182 352 0 +182 353 0 +182 354 0 +182 355 0 +182 356 0 +182 357 0 +182 358 0 +182 359 0 +182 360 0 +182 361 0 +182 362 0 +182 363 0 +182 364 0 +182 365 0 +182 366 0 +182 367 0 +182 368 0 +182 369 0 +182 370 0 +182 371 0 +182 372 0 +182 373 0 +182 374 0 +182 375 0 +182 376 0 +182 377 0 +182 378 0 +182 379 0 +182 380 0 +182 381 0 +182 382 0 +182 383 0 +183 184 4 +183 185 4 +183 186 4 +183 187 4 +183 188 4 +183 189 4 +183 190 4 +183 191 4 +183 192 0 +183 193 0 +183 194 0 +183 195 0 +183 196 0 +183 197 0 +183 198 0 +183 199 0 +183 200 0 +183 201 0 +183 202 0 +183 203 0 +183 204 0 +183 205 0 +183 206 0 +183 207 0 +183 208 0 +183 209 0 +183 210 0 +183 211 0 +183 212 0 +183 213 0 +183 214 0 +183 215 0 +183 216 0 +183 217 0 +183 218 0 +183 219 0 +183 220 0 +183 221 0 +183 222 0 +183 223 0 +183 224 0 +183 225 0 +183 226 0 +183 227 0 +183 228 0 +183 229 0 +183 230 0 +183 231 0 +183 232 0 +183 233 0 +183 234 0 +183 235 0 +183 236 0 +183 237 0 +183 238 0 +183 239 0 +183 240 0 +183 241 0 +183 242 0 +183 243 0 +183 244 0 +183 245 0 +183 246 0 +183 247 0 +183 248 0 +183 249 0 +183 250 0 +183 251 0 +183 252 0 +183 253 0 +183 254 0 +183 255 0 +183 256 0 +183 257 0 +183 258 0 +183 259 0 +183 260 0 +183 261 0 +183 262 0 +183 263 0 +183 264 0 +183 265 0 +183 266 0 +183 267 0 +183 268 0 +183 269 0 +183 270 0 +183 271 0 +183 272 0 +183 273 0 +183 274 0 +183 275 0 +183 276 0 +183 277 0 +183 278 0 +183 279 0 +183 280 0 +183 281 0 +183 282 0 +183 283 0 +183 284 0 +183 285 0 +183 286 0 +183 287 0 +183 288 0 +183 289 0 +183 290 0 +183 291 0 +183 292 0 +183 293 0 +183 294 0 +183 295 0 +183 296 0 +183 297 0 +183 298 0 +183 299 0 +183 300 0 +183 301 0 +183 302 0 +183 303 0 +183 304 0 +183 305 0 +183 306 0 +183 307 0 +183 308 0 +183 309 0 +183 310 0 +183 311 0 +183 312 0 +183 313 0 +183 314 0 +183 315 0 +183 316 0 +183 317 0 +183 318 0 +183 319 0 +183 320 0 +183 321 0 +183 322 0 +183 323 0 +183 324 0 +183 325 0 +183 326 0 +183 327 0 +183 328 0 +183 329 0 +183 330 0 +183 331 0 +183 332 0 +183 333 0 +183 334 0 +183 335 0 +183 336 0 +183 337 0 +183 338 0 +183 339 0 +183 340 0 +183 341 0 +183 342 0 +183 343 0 +183 344 0 +183 345 0 +183 346 0 +183 347 0 +183 348 0 +183 349 0 +183 350 0 +183 351 0 +183 352 0 +183 353 0 +183 354 0 +183 355 0 +183 356 0 +183 357 0 +183 358 0 +183 359 0 +183 360 0 +183 361 0 +183 362 0 +183 363 0 +183 364 0 +183 365 0 +183 366 0 +183 367 0 +183 368 0 +183 369 0 +183 370 0 +183 371 0 +183 372 0 +183 373 0 +183 374 0 +183 375 0 +183 376 0 +183 377 0 +183 378 0 +183 379 0 +183 380 0 +183 381 0 +183 382 0 +183 383 0 +184 185 4 +184 186 4 +184 187 4 +184 188 4 +184 189 4 +184 190 4 +184 191 4 +184 192 0 +184 193 0 +184 194 0 +184 195 0 +184 196 0 +184 197 0 +184 198 0 +184 199 0 +184 200 0 +184 201 0 +184 202 0 +184 203 0 +184 204 0 +184 205 0 +184 206 0 +184 207 0 +184 208 0 +184 209 0 +184 210 0 +184 211 0 +184 212 0 +184 213 0 +184 214 0 +184 215 0 +184 216 0 +184 217 0 +184 218 0 +184 219 0 +184 220 0 +184 221 0 +184 222 0 +184 223 0 +184 224 0 +184 225 0 +184 226 0 +184 227 0 +184 228 0 +184 229 0 +184 230 0 +184 231 0 +184 232 0 +184 233 0 +184 234 0 +184 235 0 +184 236 0 +184 237 0 +184 238 0 +184 239 0 +184 240 0 +184 241 0 +184 242 0 +184 243 0 +184 244 0 +184 245 0 +184 246 0 +184 247 0 +184 248 0 +184 249 0 +184 250 0 +184 251 0 +184 252 0 +184 253 0 +184 254 0 +184 255 0 +184 256 0 +184 257 0 +184 258 0 +184 259 0 +184 260 0 +184 261 0 +184 262 0 +184 263 0 +184 264 0 +184 265 0 +184 266 0 +184 267 0 +184 268 0 +184 269 0 +184 270 0 +184 271 0 +184 272 0 +184 273 0 +184 274 0 +184 275 0 +184 276 0 +184 277 0 +184 278 0 +184 279 0 +184 280 0 +184 281 0 +184 282 0 +184 283 0 +184 284 0 +184 285 0 +184 286 0 +184 287 0 +184 288 0 +184 289 0 +184 290 0 +184 291 0 +184 292 0 +184 293 0 +184 294 0 +184 295 0 +184 296 0 +184 297 0 +184 298 0 +184 299 0 +184 300 0 +184 301 0 +184 302 0 +184 303 0 +184 304 0 +184 305 0 +184 306 0 +184 307 0 +184 308 0 +184 309 0 +184 310 0 +184 311 0 +184 312 0 +184 313 0 +184 314 0 +184 315 0 +184 316 0 +184 317 0 +184 318 0 +184 319 0 +184 320 0 +184 321 0 +184 322 0 +184 323 0 +184 324 0 +184 325 0 +184 326 0 +184 327 0 +184 328 0 +184 329 0 +184 330 0 +184 331 0 +184 332 0 +184 333 0 +184 334 0 +184 335 0 +184 336 0 +184 337 0 +184 338 0 +184 339 0 +184 340 0 +184 341 0 +184 342 0 +184 343 0 +184 344 0 +184 345 0 +184 346 0 +184 347 0 +184 348 0 +184 349 0 +184 350 0 +184 351 0 +184 352 0 +184 353 0 +184 354 0 +184 355 0 +184 356 0 +184 357 0 +184 358 0 +184 359 0 +184 360 0 +184 361 0 +184 362 0 +184 363 0 +184 364 0 +184 365 0 +184 366 0 +184 367 0 +184 368 0 +184 369 0 +184 370 0 +184 371 0 +184 372 0 +184 373 0 +184 374 0 +184 375 0 +184 376 0 +184 377 0 +184 378 0 +184 379 0 +184 380 0 +184 381 0 +184 382 0 +184 383 0 +185 186 4 +185 187 4 +185 188 4 +185 189 4 +185 190 4 +185 191 4 +185 192 0 +185 193 0 +185 194 0 +185 195 0 +185 196 0 +185 197 0 +185 198 0 +185 199 0 +185 200 0 +185 201 0 +185 202 0 +185 203 0 +185 204 0 +185 205 0 +185 206 0 +185 207 0 +185 208 0 +185 209 0 +185 210 0 +185 211 0 +185 212 0 +185 213 0 +185 214 0 +185 215 0 +185 216 0 +185 217 0 +185 218 0 +185 219 0 +185 220 0 +185 221 0 +185 222 0 +185 223 0 +185 224 0 +185 225 0 +185 226 0 +185 227 0 +185 228 0 +185 229 0 +185 230 0 +185 231 0 +185 232 0 +185 233 0 +185 234 0 +185 235 0 +185 236 0 +185 237 0 +185 238 0 +185 239 0 +185 240 0 +185 241 0 +185 242 0 +185 243 0 +185 244 0 +185 245 0 +185 246 0 +185 247 0 +185 248 0 +185 249 0 +185 250 0 +185 251 0 +185 252 0 +185 253 0 +185 254 0 +185 255 0 +185 256 0 +185 257 0 +185 258 0 +185 259 0 +185 260 0 +185 261 0 +185 262 0 +185 263 0 +185 264 0 +185 265 0 +185 266 0 +185 267 0 +185 268 0 +185 269 0 +185 270 0 +185 271 0 +185 272 0 +185 273 0 +185 274 0 +185 275 0 +185 276 0 +185 277 0 +185 278 0 +185 279 0 +185 280 0 +185 281 0 +185 282 0 +185 283 0 +185 284 0 +185 285 0 +185 286 0 +185 287 0 +185 288 0 +185 289 0 +185 290 0 +185 291 0 +185 292 0 +185 293 0 +185 294 0 +185 295 0 +185 296 0 +185 297 0 +185 298 0 +185 299 0 +185 300 0 +185 301 0 +185 302 0 +185 303 0 +185 304 0 +185 305 0 +185 306 0 +185 307 0 +185 308 0 +185 309 0 +185 310 0 +185 311 0 +185 312 0 +185 313 0 +185 314 0 +185 315 0 +185 316 0 +185 317 0 +185 318 0 +185 319 0 +185 320 0 +185 321 0 +185 322 0 +185 323 0 +185 324 0 +185 325 0 +185 326 0 +185 327 0 +185 328 0 +185 329 0 +185 330 0 +185 331 0 +185 332 0 +185 333 0 +185 334 0 +185 335 0 +185 336 0 +185 337 0 +185 338 0 +185 339 0 +185 340 0 +185 341 0 +185 342 0 +185 343 0 +185 344 0 +185 345 0 +185 346 0 +185 347 0 +185 348 0 +185 349 0 +185 350 0 +185 351 0 +185 352 0 +185 353 0 +185 354 0 +185 355 0 +185 356 0 +185 357 0 +185 358 0 +185 359 0 +185 360 0 +185 361 0 +185 362 0 +185 363 0 +185 364 0 +185 365 0 +185 366 0 +185 367 0 +185 368 0 +185 369 0 +185 370 0 +185 371 0 +185 372 0 +185 373 0 +185 374 0 +185 375 0 +185 376 0 +185 377 0 +185 378 0 +185 379 0 +185 380 0 +185 381 0 +185 382 0 +185 383 0 +186 187 4 +186 188 4 +186 189 4 +186 190 4 +186 191 4 +186 192 0 +186 193 0 +186 194 0 +186 195 0 +186 196 0 +186 197 0 +186 198 0 +186 199 0 +186 200 0 +186 201 0 +186 202 0 +186 203 0 +186 204 0 +186 205 0 +186 206 0 +186 207 0 +186 208 0 +186 209 0 +186 210 0 +186 211 0 +186 212 0 +186 213 0 +186 214 0 +186 215 0 +186 216 0 +186 217 0 +186 218 0 +186 219 0 +186 220 0 +186 221 0 +186 222 0 +186 223 0 +186 224 0 +186 225 0 +186 226 0 +186 227 0 +186 228 0 +186 229 0 +186 230 0 +186 231 0 +186 232 0 +186 233 0 +186 234 0 +186 235 0 +186 236 0 +186 237 0 +186 238 0 +186 239 0 +186 240 0 +186 241 0 +186 242 0 +186 243 0 +186 244 0 +186 245 0 +186 246 0 +186 247 0 +186 248 0 +186 249 0 +186 250 0 +186 251 0 +186 252 0 +186 253 0 +186 254 0 +186 255 0 +186 256 0 +186 257 0 +186 258 0 +186 259 0 +186 260 0 +186 261 0 +186 262 0 +186 263 0 +186 264 0 +186 265 0 +186 266 0 +186 267 0 +186 268 0 +186 269 0 +186 270 0 +186 271 0 +186 272 0 +186 273 0 +186 274 0 +186 275 0 +186 276 0 +186 277 0 +186 278 0 +186 279 0 +186 280 0 +186 281 0 +186 282 0 +186 283 0 +186 284 0 +186 285 0 +186 286 0 +186 287 0 +186 288 0 +186 289 0 +186 290 0 +186 291 0 +186 292 0 +186 293 0 +186 294 0 +186 295 0 +186 296 0 +186 297 0 +186 298 0 +186 299 0 +186 300 0 +186 301 0 +186 302 0 +186 303 0 +186 304 0 +186 305 0 +186 306 0 +186 307 0 +186 308 0 +186 309 0 +186 310 0 +186 311 0 +186 312 0 +186 313 0 +186 314 0 +186 315 0 +186 316 0 +186 317 0 +186 318 0 +186 319 0 +186 320 0 +186 321 0 +186 322 0 +186 323 0 +186 324 0 +186 325 0 +186 326 0 +186 327 0 +186 328 0 +186 329 0 +186 330 0 +186 331 0 +186 332 0 +186 333 0 +186 334 0 +186 335 0 +186 336 0 +186 337 0 +186 338 0 +186 339 0 +186 340 0 +186 341 0 +186 342 0 +186 343 0 +186 344 0 +186 345 0 +186 346 0 +186 347 0 +186 348 0 +186 349 0 +186 350 0 +186 351 0 +186 352 0 +186 353 0 +186 354 0 +186 355 0 +186 356 0 +186 357 0 +186 358 0 +186 359 0 +186 360 0 +186 361 0 +186 362 0 +186 363 0 +186 364 0 +186 365 0 +186 366 0 +186 367 0 +186 368 0 +186 369 0 +186 370 0 +186 371 0 +186 372 0 +186 373 0 +186 374 0 +186 375 0 +186 376 0 +186 377 0 +186 378 0 +186 379 0 +186 380 0 +186 381 0 +186 382 0 +186 383 0 +187 188 4 +187 189 4 +187 190 4 +187 191 4 +187 192 0 +187 193 0 +187 194 0 +187 195 0 +187 196 0 +187 197 0 +187 198 0 +187 199 0 +187 200 0 +187 201 0 +187 202 0 +187 203 0 +187 204 0 +187 205 0 +187 206 0 +187 207 0 +187 208 0 +187 209 0 +187 210 0 +187 211 0 +187 212 0 +187 213 0 +187 214 0 +187 215 0 +187 216 0 +187 217 0 +187 218 0 +187 219 0 +187 220 0 +187 221 0 +187 222 0 +187 223 0 +187 224 0 +187 225 0 +187 226 0 +187 227 0 +187 228 0 +187 229 0 +187 230 0 +187 231 0 +187 232 0 +187 233 0 +187 234 0 +187 235 0 +187 236 0 +187 237 0 +187 238 0 +187 239 0 +187 240 0 +187 241 0 +187 242 0 +187 243 0 +187 244 0 +187 245 0 +187 246 0 +187 247 0 +187 248 0 +187 249 0 +187 250 0 +187 251 0 +187 252 0 +187 253 0 +187 254 0 +187 255 0 +187 256 0 +187 257 0 +187 258 0 +187 259 0 +187 260 0 +187 261 0 +187 262 0 +187 263 0 +187 264 0 +187 265 0 +187 266 0 +187 267 0 +187 268 0 +187 269 0 +187 270 0 +187 271 0 +187 272 0 +187 273 0 +187 274 0 +187 275 0 +187 276 0 +187 277 0 +187 278 0 +187 279 0 +187 280 0 +187 281 0 +187 282 0 +187 283 0 +187 284 0 +187 285 0 +187 286 0 +187 287 0 +187 288 0 +187 289 0 +187 290 0 +187 291 0 +187 292 0 +187 293 0 +187 294 0 +187 295 0 +187 296 0 +187 297 0 +187 298 0 +187 299 0 +187 300 0 +187 301 0 +187 302 0 +187 303 0 +187 304 0 +187 305 0 +187 306 0 +187 307 0 +187 308 0 +187 309 0 +187 310 0 +187 311 0 +187 312 0 +187 313 0 +187 314 0 +187 315 0 +187 316 0 +187 317 0 +187 318 0 +187 319 0 +187 320 0 +187 321 0 +187 322 0 +187 323 0 +187 324 0 +187 325 0 +187 326 0 +187 327 0 +187 328 0 +187 329 0 +187 330 0 +187 331 0 +187 332 0 +187 333 0 +187 334 0 +187 335 0 +187 336 0 +187 337 0 +187 338 0 +187 339 0 +187 340 0 +187 341 0 +187 342 0 +187 343 0 +187 344 0 +187 345 0 +187 346 0 +187 347 0 +187 348 0 +187 349 0 +187 350 0 +187 351 0 +187 352 0 +187 353 0 +187 354 0 +187 355 0 +187 356 0 +187 357 0 +187 358 0 +187 359 0 +187 360 0 +187 361 0 +187 362 0 +187 363 0 +187 364 0 +187 365 0 +187 366 0 +187 367 0 +187 368 0 +187 369 0 +187 370 0 +187 371 0 +187 372 0 +187 373 0 +187 374 0 +187 375 0 +187 376 0 +187 377 0 +187 378 0 +187 379 0 +187 380 0 +187 381 0 +187 382 0 +187 383 0 +188 189 4 +188 190 4 +188 191 4 +188 192 0 +188 193 0 +188 194 0 +188 195 0 +188 196 0 +188 197 0 +188 198 0 +188 199 0 +188 200 0 +188 201 0 +188 202 0 +188 203 0 +188 204 0 +188 205 0 +188 206 0 +188 207 0 +188 208 0 +188 209 0 +188 210 0 +188 211 0 +188 212 0 +188 213 0 +188 214 0 +188 215 0 +188 216 0 +188 217 0 +188 218 0 +188 219 0 +188 220 0 +188 221 0 +188 222 0 +188 223 0 +188 224 0 +188 225 0 +188 226 0 +188 227 0 +188 228 0 +188 229 0 +188 230 0 +188 231 0 +188 232 0 +188 233 0 +188 234 0 +188 235 0 +188 236 0 +188 237 0 +188 238 0 +188 239 0 +188 240 0 +188 241 0 +188 242 0 +188 243 0 +188 244 0 +188 245 0 +188 246 0 +188 247 0 +188 248 0 +188 249 0 +188 250 0 +188 251 0 +188 252 0 +188 253 0 +188 254 0 +188 255 0 +188 256 0 +188 257 0 +188 258 0 +188 259 0 +188 260 0 +188 261 0 +188 262 0 +188 263 0 +188 264 0 +188 265 0 +188 266 0 +188 267 0 +188 268 0 +188 269 0 +188 270 0 +188 271 0 +188 272 0 +188 273 0 +188 274 0 +188 275 0 +188 276 0 +188 277 0 +188 278 0 +188 279 0 +188 280 0 +188 281 0 +188 282 0 +188 283 0 +188 284 0 +188 285 0 +188 286 0 +188 287 0 +188 288 0 +188 289 0 +188 290 0 +188 291 0 +188 292 0 +188 293 0 +188 294 0 +188 295 0 +188 296 0 +188 297 0 +188 298 0 +188 299 0 +188 300 0 +188 301 0 +188 302 0 +188 303 0 +188 304 0 +188 305 0 +188 306 0 +188 307 0 +188 308 0 +188 309 0 +188 310 0 +188 311 0 +188 312 0 +188 313 0 +188 314 0 +188 315 0 +188 316 0 +188 317 0 +188 318 0 +188 319 0 +188 320 0 +188 321 0 +188 322 0 +188 323 0 +188 324 0 +188 325 0 +188 326 0 +188 327 0 +188 328 0 +188 329 0 +188 330 0 +188 331 0 +188 332 0 +188 333 0 +188 334 0 +188 335 0 +188 336 0 +188 337 0 +188 338 0 +188 339 0 +188 340 0 +188 341 0 +188 342 0 +188 343 0 +188 344 0 +188 345 0 +188 346 0 +188 347 0 +188 348 0 +188 349 0 +188 350 0 +188 351 0 +188 352 0 +188 353 0 +188 354 0 +188 355 0 +188 356 0 +188 357 0 +188 358 0 +188 359 0 +188 360 0 +188 361 0 +188 362 0 +188 363 0 +188 364 0 +188 365 0 +188 366 0 +188 367 0 +188 368 0 +188 369 0 +188 370 0 +188 371 0 +188 372 0 +188 373 0 +188 374 0 +188 375 0 +188 376 0 +188 377 0 +188 378 0 +188 379 0 +188 380 0 +188 381 0 +188 382 0 +188 383 0 +189 190 4 +189 191 4 +189 192 0 +189 193 0 +189 194 0 +189 195 0 +189 196 0 +189 197 0 +189 198 0 +189 199 0 +189 200 0 +189 201 0 +189 202 0 +189 203 0 +189 204 0 +189 205 0 +189 206 0 +189 207 0 +189 208 0 +189 209 0 +189 210 0 +189 211 0 +189 212 0 +189 213 0 +189 214 0 +189 215 0 +189 216 0 +189 217 0 +189 218 0 +189 219 0 +189 220 0 +189 221 0 +189 222 0 +189 223 0 +189 224 0 +189 225 0 +189 226 0 +189 227 0 +189 228 0 +189 229 0 +189 230 0 +189 231 0 +189 232 0 +189 233 0 +189 234 0 +189 235 0 +189 236 0 +189 237 0 +189 238 0 +189 239 0 +189 240 0 +189 241 0 +189 242 0 +189 243 0 +189 244 0 +189 245 0 +189 246 0 +189 247 0 +189 248 0 +189 249 0 +189 250 0 +189 251 0 +189 252 0 +189 253 0 +189 254 0 +189 255 0 +189 256 0 +189 257 0 +189 258 0 +189 259 0 +189 260 0 +189 261 0 +189 262 0 +189 263 0 +189 264 0 +189 265 0 +189 266 0 +189 267 0 +189 268 0 +189 269 0 +189 270 0 +189 271 0 +189 272 0 +189 273 0 +189 274 0 +189 275 0 +189 276 0 +189 277 0 +189 278 0 +189 279 0 +189 280 0 +189 281 0 +189 282 0 +189 283 0 +189 284 0 +189 285 0 +189 286 0 +189 287 0 +189 288 0 +189 289 0 +189 290 0 +189 291 0 +189 292 0 +189 293 0 +189 294 0 +189 295 0 +189 296 0 +189 297 0 +189 298 0 +189 299 0 +189 300 0 +189 301 0 +189 302 0 +189 303 0 +189 304 0 +189 305 0 +189 306 0 +189 307 0 +189 308 0 +189 309 0 +189 310 0 +189 311 0 +189 312 0 +189 313 0 +189 314 0 +189 315 0 +189 316 0 +189 317 0 +189 318 0 +189 319 0 +189 320 0 +189 321 0 +189 322 0 +189 323 0 +189 324 0 +189 325 0 +189 326 0 +189 327 0 +189 328 0 +189 329 0 +189 330 0 +189 331 0 +189 332 0 +189 333 0 +189 334 0 +189 335 0 +189 336 0 +189 337 0 +189 338 0 +189 339 0 +189 340 0 +189 341 0 +189 342 0 +189 343 0 +189 344 0 +189 345 0 +189 346 0 +189 347 0 +189 348 0 +189 349 0 +189 350 0 +189 351 0 +189 352 0 +189 353 0 +189 354 0 +189 355 0 +189 356 0 +189 357 0 +189 358 0 +189 359 0 +189 360 0 +189 361 0 +189 362 0 +189 363 0 +189 364 0 +189 365 0 +189 366 0 +189 367 0 +189 368 0 +189 369 0 +189 370 0 +189 371 0 +189 372 0 +189 373 0 +189 374 0 +189 375 0 +189 376 0 +189 377 0 +189 378 0 +189 379 0 +189 380 0 +189 381 0 +189 382 0 +189 383 0 +190 191 4 +190 192 0 +190 193 0 +190 194 0 +190 195 0 +190 196 0 +190 197 0 +190 198 0 +190 199 0 +190 200 0 +190 201 0 +190 202 0 +190 203 0 +190 204 0 +190 205 0 +190 206 0 +190 207 0 +190 208 0 +190 209 0 +190 210 0 +190 211 0 +190 212 0 +190 213 0 +190 214 0 +190 215 0 +190 216 0 +190 217 0 +190 218 0 +190 219 0 +190 220 0 +190 221 0 +190 222 0 +190 223 0 +190 224 0 +190 225 0 +190 226 0 +190 227 0 +190 228 0 +190 229 0 +190 230 0 +190 231 0 +190 232 0 +190 233 0 +190 234 0 +190 235 0 +190 236 0 +190 237 0 +190 238 0 +190 239 0 +190 240 0 +190 241 0 +190 242 0 +190 243 0 +190 244 0 +190 245 0 +190 246 0 +190 247 0 +190 248 0 +190 249 0 +190 250 0 +190 251 0 +190 252 0 +190 253 0 +190 254 0 +190 255 0 +190 256 0 +190 257 0 +190 258 0 +190 259 0 +190 260 0 +190 261 0 +190 262 0 +190 263 0 +190 264 0 +190 265 0 +190 266 0 +190 267 0 +190 268 0 +190 269 0 +190 270 0 +190 271 0 +190 272 0 +190 273 0 +190 274 0 +190 275 0 +190 276 0 +190 277 0 +190 278 0 +190 279 0 +190 280 0 +190 281 0 +190 282 0 +190 283 0 +190 284 0 +190 285 0 +190 286 0 +190 287 0 +190 288 0 +190 289 0 +190 290 0 +190 291 0 +190 292 0 +190 293 0 +190 294 0 +190 295 0 +190 296 0 +190 297 0 +190 298 0 +190 299 0 +190 300 0 +190 301 0 +190 302 0 +190 303 0 +190 304 0 +190 305 0 +190 306 0 +190 307 0 +190 308 0 +190 309 0 +190 310 0 +190 311 0 +190 312 0 +190 313 0 +190 314 0 +190 315 0 +190 316 0 +190 317 0 +190 318 0 +190 319 0 +190 320 0 +190 321 0 +190 322 0 +190 323 0 +190 324 0 +190 325 0 +190 326 0 +190 327 0 +190 328 0 +190 329 0 +190 330 0 +190 331 0 +190 332 0 +190 333 0 +190 334 0 +190 335 0 +190 336 0 +190 337 0 +190 338 0 +190 339 0 +190 340 0 +190 341 0 +190 342 0 +190 343 0 +190 344 0 +190 345 0 +190 346 0 +190 347 0 +190 348 0 +190 349 0 +190 350 0 +190 351 0 +190 352 0 +190 353 0 +190 354 0 +190 355 0 +190 356 0 +190 357 0 +190 358 0 +190 359 0 +190 360 0 +190 361 0 +190 362 0 +190 363 0 +190 364 0 +190 365 0 +190 366 0 +190 367 0 +190 368 0 +190 369 0 +190 370 0 +190 371 0 +190 372 0 +190 373 0 +190 374 0 +190 375 0 +190 376 0 +190 377 0 +190 378 0 +190 379 0 +190 380 0 +190 381 0 +190 382 0 +190 383 0 +191 192 0 +191 193 0 +191 194 0 +191 195 0 +191 196 0 +191 197 0 +191 198 0 +191 199 0 +191 200 0 +191 201 0 +191 202 0 +191 203 0 +191 204 0 +191 205 0 +191 206 0 +191 207 0 +191 208 0 +191 209 0 +191 210 0 +191 211 0 +191 212 0 +191 213 0 +191 214 0 +191 215 0 +191 216 0 +191 217 0 +191 218 0 +191 219 0 +191 220 0 +191 221 0 +191 222 0 +191 223 0 +191 224 0 +191 225 0 +191 226 0 +191 227 0 +191 228 0 +191 229 0 +191 230 0 +191 231 0 +191 232 0 +191 233 0 +191 234 0 +191 235 0 +191 236 0 +191 237 0 +191 238 0 +191 239 0 +191 240 0 +191 241 0 +191 242 0 +191 243 0 +191 244 0 +191 245 0 +191 246 0 +191 247 0 +191 248 0 +191 249 0 +191 250 0 +191 251 0 +191 252 0 +191 253 0 +191 254 0 +191 255 0 +191 256 0 +191 257 0 +191 258 0 +191 259 0 +191 260 0 +191 261 0 +191 262 0 +191 263 0 +191 264 0 +191 265 0 +191 266 0 +191 267 0 +191 268 0 +191 269 0 +191 270 0 +191 271 0 +191 272 0 +191 273 0 +191 274 0 +191 275 0 +191 276 0 +191 277 0 +191 278 0 +191 279 0 +191 280 0 +191 281 0 +191 282 0 +191 283 0 +191 284 0 +191 285 0 +191 286 0 +191 287 0 +191 288 0 +191 289 0 +191 290 0 +191 291 0 +191 292 0 +191 293 0 +191 294 0 +191 295 0 +191 296 0 +191 297 0 +191 298 0 +191 299 0 +191 300 0 +191 301 0 +191 302 0 +191 303 0 +191 304 0 +191 305 0 +191 306 0 +191 307 0 +191 308 0 +191 309 0 +191 310 0 +191 311 0 +191 312 0 +191 313 0 +191 314 0 +191 315 0 +191 316 0 +191 317 0 +191 318 0 +191 319 0 +191 320 0 +191 321 0 +191 322 0 +191 323 0 +191 324 0 +191 325 0 +191 326 0 +191 327 0 +191 328 0 +191 329 0 +191 330 0 +191 331 0 +191 332 0 +191 333 0 +191 334 0 +191 335 0 +191 336 0 +191 337 0 +191 338 0 +191 339 0 +191 340 0 +191 341 0 +191 342 0 +191 343 0 +191 344 0 +191 345 0 +191 346 0 +191 347 0 +191 348 0 +191 349 0 +191 350 0 +191 351 0 +191 352 0 +191 353 0 +191 354 0 +191 355 0 +191 356 0 +191 357 0 +191 358 0 +191 359 0 +191 360 0 +191 361 0 +191 362 0 +191 363 0 +191 364 0 +191 365 0 +191 366 0 +191 367 0 +191 368 0 +191 369 0 +191 370 0 +191 371 0 +191 372 0 +191 373 0 +191 374 0 +191 375 0 +191 376 0 +191 377 0 +191 378 0 +191 379 0 +191 380 0 +191 381 0 +191 382 0 +191 383 0 +192 193 0 +192 194 0 +192 195 0 +192 196 0 +192 197 0 +192 198 0 +192 199 0 +192 200 0 +192 201 0 +192 202 0 +192 203 0 +192 204 0 +192 205 0 +192 206 0 +192 207 0 +192 208 0 +192 209 0 +192 210 0 +192 211 0 +192 212 0 +192 213 0 +192 214 0 +192 215 0 +192 216 0 +192 217 0 +192 218 0 +192 219 0 +192 220 0 +192 221 0 +192 222 0 +192 223 0 +192 224 0 +192 225 0 +192 226 0 +192 227 0 +192 228 0 +192 229 0 +192 230 0 +192 231 0 +192 232 0 +192 233 0 +192 234 0 +192 235 0 +192 236 0 +192 237 0 +192 238 0 +192 239 0 +192 240 0 +192 241 0 +192 242 0 +192 243 0 +192 244 0 +192 245 0 +192 246 0 +192 247 0 +192 248 0 +192 249 0 +192 250 0 +192 251 0 +192 252 0 +192 253 0 +192 254 0 +192 255 0 +192 256 0 +192 257 0 +192 258 0 +192 259 0 +192 260 0 +192 261 0 +192 262 0 +192 263 0 +192 264 0 +192 265 0 +192 266 0 +192 267 0 +192 268 0 +192 269 0 +192 270 0 +192 271 0 +192 272 0 +192 273 0 +192 274 0 +192 275 0 +192 276 0 +192 277 0 +192 278 0 +192 279 0 +192 280 0 +192 281 0 +192 282 0 +192 283 0 +192 284 0 +192 285 0 +192 286 0 +192 287 0 +192 288 0 +192 289 0 +192 290 0 +192 291 0 +192 292 0 +192 293 0 +192 294 0 +192 295 0 +192 296 0 +192 297 0 +192 298 0 +192 299 0 +192 300 0 +192 301 0 +192 302 0 +192 303 0 +192 304 0 +192 305 0 +192 306 0 +192 307 0 +192 308 0 +192 309 0 +192 310 0 +192 311 0 +192 312 0 +192 313 0 +192 314 0 +192 315 0 +192 316 0 +192 317 0 +192 318 0 +192 319 0 +192 320 0 +192 321 0 +192 322 0 +192 323 0 +192 324 0 +192 325 0 +192 326 0 +192 327 0 +192 328 0 +192 329 0 +192 330 0 +192 331 0 +192 332 0 +192 333 0 +192 334 0 +192 335 0 +192 336 0 +192 337 0 +192 338 0 +192 339 0 +192 340 0 +192 341 0 +192 342 0 +192 343 0 +192 344 0 +192 345 0 +192 346 0 +192 347 0 +192 348 0 +192 349 0 +192 350 0 +192 351 0 +192 352 0 +192 353 0 +192 354 0 +192 355 0 +192 356 0 +192 357 0 +192 358 0 +192 359 0 +192 360 0 +192 361 0 +192 362 0 +192 363 0 +192 364 0 +192 365 0 +192 366 0 +192 367 0 +192 368 0 +192 369 0 +192 370 0 +192 371 0 +192 372 0 +192 373 0 +192 374 0 +192 375 0 +192 376 0 +192 377 0 +192 378 0 +192 379 0 +192 380 0 +192 381 0 +192 382 0 +192 383 0 +193 194 0 +193 195 0 +193 196 0 +193 197 0 +193 198 0 +193 199 0 +193 200 0 +193 201 0 +193 202 0 +193 203 0 +193 204 0 +193 205 0 +193 206 0 +193 207 0 +193 208 0 +193 209 0 +193 210 0 +193 211 0 +193 212 0 +193 213 0 +193 214 0 +193 215 0 +193 216 0 +193 217 0 +193 218 0 +193 219 0 +193 220 0 +193 221 0 +193 222 0 +193 223 0 +193 224 0 +193 225 0 +193 226 0 +193 227 0 +193 228 0 +193 229 0 +193 230 0 +193 231 0 +193 232 0 +193 233 0 +193 234 0 +193 235 0 +193 236 0 +193 237 0 +193 238 0 +193 239 0 +193 240 0 +193 241 0 +193 242 0 +193 243 0 +193 244 0 +193 245 0 +193 246 0 +193 247 0 +193 248 0 +193 249 0 +193 250 0 +193 251 0 +193 252 0 +193 253 0 +193 254 0 +193 255 0 +193 256 0 +193 257 0 +193 258 0 +193 259 0 +193 260 0 +193 261 0 +193 262 0 +193 263 0 +193 264 0 +193 265 0 +193 266 0 +193 267 0 +193 268 0 +193 269 0 +193 270 0 +193 271 0 +193 272 0 +193 273 0 +193 274 0 +193 275 0 +193 276 0 +193 277 0 +193 278 0 +193 279 0 +193 280 0 +193 281 0 +193 282 0 +193 283 0 +193 284 0 +193 285 0 +193 286 0 +193 287 0 +193 288 0 +193 289 0 +193 290 0 +193 291 0 +193 292 0 +193 293 0 +193 294 0 +193 295 0 +193 296 0 +193 297 0 +193 298 0 +193 299 0 +193 300 0 +193 301 0 +193 302 0 +193 303 0 +193 304 0 +193 305 0 +193 306 0 +193 307 0 +193 308 0 +193 309 0 +193 310 0 +193 311 0 +193 312 0 +193 313 0 +193 314 0 +193 315 0 +193 316 0 +193 317 0 +193 318 0 +193 319 0 +193 320 0 +193 321 0 +193 322 0 +193 323 0 +193 324 0 +193 325 0 +193 326 0 +193 327 0 +193 328 0 +193 329 0 +193 330 0 +193 331 0 +193 332 0 +193 333 0 +193 334 0 +193 335 0 +193 336 0 +193 337 0 +193 338 0 +193 339 0 +193 340 0 +193 341 0 +193 342 0 +193 343 0 +193 344 0 +193 345 0 +193 346 0 +193 347 0 +193 348 0 +193 349 0 +193 350 0 +193 351 0 +193 352 0 +193 353 0 +193 354 0 +193 355 0 +193 356 0 +193 357 0 +193 358 0 +193 359 0 +193 360 0 +193 361 0 +193 362 0 +193 363 0 +193 364 0 +193 365 0 +193 366 0 +193 367 0 +193 368 0 +193 369 0 +193 370 0 +193 371 0 +193 372 0 +193 373 0 +193 374 0 +193 375 0 +193 376 0 +193 377 0 +193 378 0 +193 379 0 +193 380 0 +193 381 0 +193 382 0 +193 383 0 +194 195 0 +194 196 0 +194 197 0 +194 198 0 +194 199 0 +194 200 0 +194 201 0 +194 202 0 +194 203 0 +194 204 0 +194 205 0 +194 206 0 +194 207 0 +194 208 0 +194 209 0 +194 210 0 +194 211 0 +194 212 0 +194 213 0 +194 214 0 +194 215 0 +194 216 0 +194 217 0 +194 218 0 +194 219 0 +194 220 0 +194 221 0 +194 222 0 +194 223 0 +194 224 0 +194 225 0 +194 226 0 +194 227 0 +194 228 0 +194 229 0 +194 230 0 +194 231 0 +194 232 0 +194 233 0 +194 234 0 +194 235 0 +194 236 0 +194 237 0 +194 238 0 +194 239 0 +194 240 0 +194 241 0 +194 242 0 +194 243 0 +194 244 0 +194 245 0 +194 246 0 +194 247 0 +194 248 0 +194 249 0 +194 250 0 +194 251 0 +194 252 0 +194 253 0 +194 254 0 +194 255 0 +194 256 0 +194 257 0 +194 258 0 +194 259 0 +194 260 0 +194 261 0 +194 262 0 +194 263 0 +194 264 0 +194 265 0 +194 266 0 +194 267 0 +194 268 0 +194 269 0 +194 270 0 +194 271 0 +194 272 0 +194 273 0 +194 274 0 +194 275 0 +194 276 0 +194 277 0 +194 278 0 +194 279 0 +194 280 0 +194 281 0 +194 282 0 +194 283 0 +194 284 0 +194 285 0 +194 286 0 +194 287 0 +194 288 0 +194 289 0 +194 290 0 +194 291 0 +194 292 0 +194 293 0 +194 294 0 +194 295 0 +194 296 0 +194 297 0 +194 298 0 +194 299 0 +194 300 0 +194 301 0 +194 302 0 +194 303 0 +194 304 0 +194 305 0 +194 306 0 +194 307 0 +194 308 0 +194 309 0 +194 310 0 +194 311 0 +194 312 0 +194 313 0 +194 314 0 +194 315 0 +194 316 0 +194 317 0 +194 318 0 +194 319 0 +194 320 0 +194 321 0 +194 322 0 +194 323 0 +194 324 0 +194 325 0 +194 326 0 +194 327 0 +194 328 0 +194 329 0 +194 330 0 +194 331 0 +194 332 0 +194 333 0 +194 334 0 +194 335 0 +194 336 0 +194 337 0 +194 338 0 +194 339 0 +194 340 0 +194 341 0 +194 342 0 +194 343 0 +194 344 0 +194 345 0 +194 346 0 +194 347 0 +194 348 0 +194 349 0 +194 350 0 +194 351 0 +194 352 0 +194 353 0 +194 354 0 +194 355 0 +194 356 0 +194 357 0 +194 358 0 +194 359 0 +194 360 0 +194 361 0 +194 362 0 +194 363 0 +194 364 0 +194 365 0 +194 366 0 +194 367 0 +194 368 0 +194 369 0 +194 370 0 +194 371 0 +194 372 0 +194 373 0 +194 374 0 +194 375 0 +194 376 0 +194 377 0 +194 378 0 +194 379 0 +194 380 0 +194 381 0 +194 382 0 +194 383 0 +195 196 0 +195 197 0 +195 198 0 +195 199 0 +195 200 0 +195 201 0 +195 202 0 +195 203 0 +195 204 0 +195 205 0 +195 206 0 +195 207 0 +195 208 0 +195 209 0 +195 210 0 +195 211 0 +195 212 0 +195 213 0 +195 214 0 +195 215 0 +195 216 0 +195 217 0 +195 218 0 +195 219 0 +195 220 0 +195 221 0 +195 222 0 +195 223 0 +195 224 0 +195 225 0 +195 226 0 +195 227 0 +195 228 0 +195 229 0 +195 230 0 +195 231 0 +195 232 0 +195 233 0 +195 234 0 +195 235 0 +195 236 0 +195 237 0 +195 238 0 +195 239 0 +195 240 0 +195 241 0 +195 242 0 +195 243 0 +195 244 0 +195 245 0 +195 246 0 +195 247 0 +195 248 0 +195 249 0 +195 250 0 +195 251 0 +195 252 0 +195 253 0 +195 254 0 +195 255 0 +195 256 0 +195 257 0 +195 258 0 +195 259 0 +195 260 0 +195 261 0 +195 262 0 +195 263 0 +195 264 0 +195 265 0 +195 266 0 +195 267 0 +195 268 0 +195 269 0 +195 270 0 +195 271 0 +195 272 0 +195 273 0 +195 274 0 +195 275 0 +195 276 0 +195 277 0 +195 278 0 +195 279 0 +195 280 0 +195 281 0 +195 282 0 +195 283 0 +195 284 0 +195 285 0 +195 286 0 +195 287 0 +195 288 0 +195 289 0 +195 290 0 +195 291 0 +195 292 0 +195 293 0 +195 294 0 +195 295 0 +195 296 0 +195 297 0 +195 298 0 +195 299 0 +195 300 0 +195 301 0 +195 302 0 +195 303 0 +195 304 0 +195 305 0 +195 306 0 +195 307 0 +195 308 0 +195 309 0 +195 310 0 +195 311 0 +195 312 0 +195 313 0 +195 314 0 +195 315 0 +195 316 0 +195 317 0 +195 318 0 +195 319 0 +195 320 0 +195 321 0 +195 322 0 +195 323 0 +195 324 0 +195 325 0 +195 326 0 +195 327 0 +195 328 0 +195 329 0 +195 330 0 +195 331 0 +195 332 0 +195 333 0 +195 334 0 +195 335 0 +195 336 0 +195 337 0 +195 338 0 +195 339 0 +195 340 0 +195 341 0 +195 342 0 +195 343 0 +195 344 0 +195 345 0 +195 346 0 +195 347 0 +195 348 0 +195 349 0 +195 350 0 +195 351 0 +195 352 0 +195 353 0 +195 354 0 +195 355 0 +195 356 0 +195 357 0 +195 358 0 +195 359 0 +195 360 0 +195 361 0 +195 362 0 +195 363 0 +195 364 0 +195 365 0 +195 366 0 +195 367 0 +195 368 0 +195 369 0 +195 370 0 +195 371 0 +195 372 0 +195 373 0 +195 374 0 +195 375 0 +195 376 0 +195 377 0 +195 378 0 +195 379 0 +195 380 0 +195 381 0 +195 382 0 +195 383 0 +196 197 0 +196 198 0 +196 199 0 +196 200 0 +196 201 0 +196 202 0 +196 203 0 +196 204 0 +196 205 0 +196 206 0 +196 207 0 +196 208 0 +196 209 0 +196 210 0 +196 211 0 +196 212 0 +196 213 0 +196 214 0 +196 215 0 +196 216 0 +196 217 0 +196 218 0 +196 219 0 +196 220 0 +196 221 0 +196 222 0 +196 223 0 +196 224 0 +196 225 0 +196 226 0 +196 227 0 +196 228 0 +196 229 0 +196 230 0 +196 231 0 +196 232 0 +196 233 0 +196 234 0 +196 235 0 +196 236 0 +196 237 0 +196 238 0 +196 239 0 +196 240 0 +196 241 0 +196 242 0 +196 243 0 +196 244 0 +196 245 0 +196 246 0 +196 247 0 +196 248 0 +196 249 0 +196 250 0 +196 251 0 +196 252 0 +196 253 0 +196 254 0 +196 255 0 +196 256 0 +196 257 0 +196 258 0 +196 259 0 +196 260 0 +196 261 0 +196 262 0 +196 263 0 +196 264 0 +196 265 0 +196 266 0 +196 267 0 +196 268 0 +196 269 0 +196 270 0 +196 271 0 +196 272 0 +196 273 0 +196 274 0 +196 275 0 +196 276 0 +196 277 0 +196 278 0 +196 279 0 +196 280 0 +196 281 0 +196 282 0 +196 283 0 +196 284 0 +196 285 0 +196 286 0 +196 287 0 +196 288 0 +196 289 0 +196 290 0 +196 291 0 +196 292 0 +196 293 0 +196 294 0 +196 295 0 +196 296 0 +196 297 0 +196 298 0 +196 299 0 +196 300 0 +196 301 0 +196 302 0 +196 303 0 +196 304 0 +196 305 0 +196 306 0 +196 307 0 +196 308 0 +196 309 0 +196 310 0 +196 311 0 +196 312 0 +196 313 0 +196 314 0 +196 315 0 +196 316 0 +196 317 0 +196 318 0 +196 319 0 +196 320 0 +196 321 0 +196 322 0 +196 323 0 +196 324 0 +196 325 0 +196 326 0 +196 327 0 +196 328 0 +196 329 0 +196 330 0 +196 331 0 +196 332 0 +196 333 0 +196 334 0 +196 335 0 +196 336 0 +196 337 0 +196 338 0 +196 339 0 +196 340 0 +196 341 0 +196 342 0 +196 343 0 +196 344 0 +196 345 0 +196 346 0 +196 347 0 +196 348 0 +196 349 0 +196 350 0 +196 351 0 +196 352 0 +196 353 0 +196 354 0 +196 355 0 +196 356 0 +196 357 0 +196 358 0 +196 359 0 +196 360 0 +196 361 0 +196 362 0 +196 363 0 +196 364 0 +196 365 0 +196 366 0 +196 367 0 +196 368 0 +196 369 0 +196 370 0 +196 371 0 +196 372 0 +196 373 0 +196 374 0 +196 375 0 +196 376 0 +196 377 0 +196 378 0 +196 379 0 +196 380 0 +196 381 0 +196 382 0 +196 383 0 +197 198 0 +197 199 0 +197 200 0 +197 201 0 +197 202 0 +197 203 0 +197 204 0 +197 205 0 +197 206 0 +197 207 0 +197 208 0 +197 209 0 +197 210 0 +197 211 0 +197 212 0 +197 213 0 +197 214 0 +197 215 0 +197 216 0 +197 217 0 +197 218 0 +197 219 0 +197 220 0 +197 221 0 +197 222 0 +197 223 0 +197 224 0 +197 225 0 +197 226 0 +197 227 0 +197 228 0 +197 229 0 +197 230 0 +197 231 0 +197 232 0 +197 233 0 +197 234 0 +197 235 0 +197 236 0 +197 237 0 +197 238 0 +197 239 0 +197 240 0 +197 241 0 +197 242 0 +197 243 0 +197 244 0 +197 245 0 +197 246 0 +197 247 0 +197 248 0 +197 249 0 +197 250 0 +197 251 0 +197 252 0 +197 253 0 +197 254 0 +197 255 0 +197 256 0 +197 257 0 +197 258 0 +197 259 0 +197 260 0 +197 261 0 +197 262 0 +197 263 0 +197 264 0 +197 265 0 +197 266 0 +197 267 0 +197 268 0 +197 269 0 +197 270 0 +197 271 0 +197 272 0 +197 273 0 +197 274 0 +197 275 0 +197 276 0 +197 277 0 +197 278 0 +197 279 0 +197 280 0 +197 281 0 +197 282 0 +197 283 0 +197 284 0 +197 285 0 +197 286 0 +197 287 0 +197 288 0 +197 289 0 +197 290 0 +197 291 0 +197 292 0 +197 293 0 +197 294 0 +197 295 0 +197 296 0 +197 297 0 +197 298 0 +197 299 0 +197 300 0 +197 301 0 +197 302 0 +197 303 0 +197 304 0 +197 305 0 +197 306 0 +197 307 0 +197 308 0 +197 309 0 +197 310 0 +197 311 0 +197 312 0 +197 313 0 +197 314 0 +197 315 0 +197 316 0 +197 317 0 +197 318 0 +197 319 0 +197 320 0 +197 321 0 +197 322 0 +197 323 0 +197 324 0 +197 325 0 +197 326 0 +197 327 0 +197 328 0 +197 329 0 +197 330 0 +197 331 0 +197 332 0 +197 333 0 +197 334 0 +197 335 0 +197 336 0 +197 337 0 +197 338 0 +197 339 0 +197 340 0 +197 341 0 +197 342 0 +197 343 0 +197 344 0 +197 345 0 +197 346 0 +197 347 0 +197 348 0 +197 349 0 +197 350 0 +197 351 0 +197 352 0 +197 353 0 +197 354 0 +197 355 0 +197 356 0 +197 357 0 +197 358 0 +197 359 0 +197 360 0 +197 361 0 +197 362 0 +197 363 0 +197 364 0 +197 365 0 +197 366 0 +197 367 0 +197 368 0 +197 369 0 +197 370 0 +197 371 0 +197 372 0 +197 373 0 +197 374 0 +197 375 0 +197 376 0 +197 377 0 +197 378 0 +197 379 0 +197 380 0 +197 381 0 +197 382 0 +197 383 0 +198 199 0 +198 200 0 +198 201 0 +198 202 0 +198 203 0 +198 204 0 +198 205 0 +198 206 0 +198 207 0 +198 208 0 +198 209 0 +198 210 0 +198 211 0 +198 212 0 +198 213 0 +198 214 0 +198 215 0 +198 216 0 +198 217 0 +198 218 0 +198 219 0 +198 220 0 +198 221 0 +198 222 0 +198 223 0 +198 224 0 +198 225 0 +198 226 0 +198 227 0 +198 228 0 +198 229 0 +198 230 0 +198 231 0 +198 232 0 +198 233 0 +198 234 0 +198 235 0 +198 236 0 +198 237 0 +198 238 0 +198 239 0 +198 240 0 +198 241 0 +198 242 0 +198 243 0 +198 244 0 +198 245 0 +198 246 0 +198 247 0 +198 248 0 +198 249 0 +198 250 0 +198 251 0 +198 252 0 +198 253 0 +198 254 0 +198 255 0 +198 256 0 +198 257 0 +198 258 0 +198 259 0 +198 260 0 +198 261 0 +198 262 0 +198 263 0 +198 264 0 +198 265 0 +198 266 0 +198 267 0 +198 268 0 +198 269 0 +198 270 0 +198 271 0 +198 272 0 +198 273 0 +198 274 0 +198 275 0 +198 276 0 +198 277 0 +198 278 0 +198 279 0 +198 280 0 +198 281 0 +198 282 0 +198 283 0 +198 284 0 +198 285 0 +198 286 0 +198 287 0 +198 288 0 +198 289 0 +198 290 0 +198 291 0 +198 292 0 +198 293 0 +198 294 0 +198 295 0 +198 296 0 +198 297 0 +198 298 0 +198 299 0 +198 300 0 +198 301 0 +198 302 0 +198 303 0 +198 304 0 +198 305 0 +198 306 0 +198 307 0 +198 308 0 +198 309 0 +198 310 0 +198 311 0 +198 312 0 +198 313 0 +198 314 0 +198 315 0 +198 316 0 +198 317 0 +198 318 0 +198 319 0 +198 320 0 +198 321 0 +198 322 0 +198 323 0 +198 324 0 +198 325 0 +198 326 0 +198 327 0 +198 328 0 +198 329 0 +198 330 0 +198 331 0 +198 332 0 +198 333 0 +198 334 0 +198 335 0 +198 336 0 +198 337 0 +198 338 0 +198 339 0 +198 340 0 +198 341 0 +198 342 0 +198 343 0 +198 344 0 +198 345 0 +198 346 0 +198 347 0 +198 348 0 +198 349 0 +198 350 0 +198 351 0 +198 352 0 +198 353 0 +198 354 0 +198 355 0 +198 356 0 +198 357 0 +198 358 0 +198 359 0 +198 360 0 +198 361 0 +198 362 0 +198 363 0 +198 364 0 +198 365 0 +198 366 0 +198 367 0 +198 368 0 +198 369 0 +198 370 0 +198 371 0 +198 372 0 +198 373 0 +198 374 0 +198 375 0 +198 376 0 +198 377 0 +198 378 0 +198 379 0 +198 380 0 +198 381 0 +198 382 0 +198 383 0 +199 200 0 +199 201 0 +199 202 0 +199 203 0 +199 204 0 +199 205 0 +199 206 0 +199 207 0 +199 208 0 +199 209 0 +199 210 0 +199 211 0 +199 212 0 +199 213 0 +199 214 0 +199 215 0 +199 216 0 +199 217 0 +199 218 0 +199 219 0 +199 220 0 +199 221 0 +199 222 0 +199 223 0 +199 224 0 +199 225 0 +199 226 0 +199 227 0 +199 228 0 +199 229 0 +199 230 0 +199 231 0 +199 232 0 +199 233 0 +199 234 0 +199 235 0 +199 236 0 +199 237 0 +199 238 0 +199 239 0 +199 240 0 +199 241 0 +199 242 0 +199 243 0 +199 244 0 +199 245 0 +199 246 0 +199 247 0 +199 248 0 +199 249 0 +199 250 0 +199 251 0 +199 252 0 +199 253 0 +199 254 0 +199 255 0 +199 256 0 +199 257 0 +199 258 0 +199 259 0 +199 260 0 +199 261 0 +199 262 0 +199 263 0 +199 264 0 +199 265 0 +199 266 0 +199 267 0 +199 268 0 +199 269 0 +199 270 0 +199 271 0 +199 272 0 +199 273 0 +199 274 0 +199 275 0 +199 276 0 +199 277 0 +199 278 0 +199 279 0 +199 280 0 +199 281 0 +199 282 0 +199 283 0 +199 284 0 +199 285 0 +199 286 0 +199 287 0 +199 288 0 +199 289 0 +199 290 0 +199 291 0 +199 292 0 +199 293 0 +199 294 0 +199 295 0 +199 296 0 +199 297 0 +199 298 0 +199 299 0 +199 300 0 +199 301 0 +199 302 0 +199 303 0 +199 304 0 +199 305 0 +199 306 0 +199 307 0 +199 308 0 +199 309 0 +199 310 0 +199 311 0 +199 312 0 +199 313 0 +199 314 0 +199 315 0 +199 316 0 +199 317 0 +199 318 0 +199 319 0 +199 320 0 +199 321 0 +199 322 0 +199 323 0 +199 324 0 +199 325 0 +199 326 0 +199 327 0 +199 328 0 +199 329 0 +199 330 0 +199 331 0 +199 332 0 +199 333 0 +199 334 0 +199 335 0 +199 336 0 +199 337 0 +199 338 0 +199 339 0 +199 340 0 +199 341 0 +199 342 0 +199 343 0 +199 344 0 +199 345 0 +199 346 0 +199 347 0 +199 348 0 +199 349 0 +199 350 0 +199 351 0 +199 352 0 +199 353 0 +199 354 0 +199 355 0 +199 356 0 +199 357 0 +199 358 0 +199 359 0 +199 360 0 +199 361 0 +199 362 0 +199 363 0 +199 364 0 +199 365 0 +199 366 0 +199 367 0 +199 368 0 +199 369 0 +199 370 0 +199 371 0 +199 372 0 +199 373 0 +199 374 0 +199 375 0 +199 376 0 +199 377 0 +199 378 0 +199 379 0 +199 380 0 +199 381 0 +199 382 0 +199 383 0 +200 201 0 +200 202 0 +200 203 0 +200 204 0 +200 205 0 +200 206 0 +200 207 0 +200 208 0 +200 209 0 +200 210 0 +200 211 0 +200 212 0 +200 213 0 +200 214 0 +200 215 0 +200 216 0 +200 217 0 +200 218 0 +200 219 0 +200 220 0 +200 221 0 +200 222 0 +200 223 0 +200 224 0 +200 225 0 +200 226 0 +200 227 0 +200 228 0 +200 229 0 +200 230 0 +200 231 0 +200 232 0 +200 233 0 +200 234 0 +200 235 0 +200 236 0 +200 237 0 +200 238 0 +200 239 0 +200 240 0 +200 241 0 +200 242 0 +200 243 0 +200 244 0 +200 245 0 +200 246 0 +200 247 0 +200 248 0 +200 249 0 +200 250 0 +200 251 0 +200 252 0 +200 253 0 +200 254 0 +200 255 0 +200 256 0 +200 257 0 +200 258 0 +200 259 0 +200 260 0 +200 261 0 +200 262 0 +200 263 0 +200 264 0 +200 265 0 +200 266 0 +200 267 0 +200 268 0 +200 269 0 +200 270 0 +200 271 0 +200 272 0 +200 273 0 +200 274 0 +200 275 0 +200 276 0 +200 277 0 +200 278 0 +200 279 0 +200 280 0 +200 281 0 +200 282 0 +200 283 0 +200 284 0 +200 285 0 +200 286 0 +200 287 0 +200 288 0 +200 289 0 +200 290 0 +200 291 0 +200 292 0 +200 293 0 +200 294 0 +200 295 0 +200 296 0 +200 297 0 +200 298 0 +200 299 0 +200 300 0 +200 301 0 +200 302 0 +200 303 0 +200 304 0 +200 305 0 +200 306 0 +200 307 0 +200 308 0 +200 309 0 +200 310 0 +200 311 0 +200 312 0 +200 313 0 +200 314 0 +200 315 0 +200 316 0 +200 317 0 +200 318 0 +200 319 0 +200 320 0 +200 321 0 +200 322 0 +200 323 0 +200 324 0 +200 325 0 +200 326 0 +200 327 0 +200 328 0 +200 329 0 +200 330 0 +200 331 0 +200 332 0 +200 333 0 +200 334 0 +200 335 0 +200 336 0 +200 337 0 +200 338 0 +200 339 0 +200 340 0 +200 341 0 +200 342 0 +200 343 0 +200 344 0 +200 345 0 +200 346 0 +200 347 0 +200 348 0 +200 349 0 +200 350 0 +200 351 0 +200 352 0 +200 353 0 +200 354 0 +200 355 0 +200 356 0 +200 357 0 +200 358 0 +200 359 0 +200 360 0 +200 361 0 +200 362 0 +200 363 0 +200 364 0 +200 365 0 +200 366 0 +200 367 0 +200 368 0 +200 369 0 +200 370 0 +200 371 0 +200 372 0 +200 373 0 +200 374 0 +200 375 0 +200 376 0 +200 377 0 +200 378 0 +200 379 0 +200 380 0 +200 381 0 +200 382 0 +200 383 0 +201 202 0 +201 203 0 +201 204 0 +201 205 0 +201 206 0 +201 207 0 +201 208 0 +201 209 0 +201 210 0 +201 211 0 +201 212 0 +201 213 0 +201 214 0 +201 215 0 +201 216 0 +201 217 0 +201 218 0 +201 219 0 +201 220 0 +201 221 0 +201 222 0 +201 223 0 +201 224 0 +201 225 0 +201 226 0 +201 227 0 +201 228 0 +201 229 0 +201 230 0 +201 231 0 +201 232 0 +201 233 0 +201 234 0 +201 235 0 +201 236 0 +201 237 0 +201 238 0 +201 239 0 +201 240 0 +201 241 0 +201 242 0 +201 243 0 +201 244 0 +201 245 0 +201 246 0 +201 247 0 +201 248 0 +201 249 0 +201 250 0 +201 251 0 +201 252 0 +201 253 0 +201 254 0 +201 255 0 +201 256 0 +201 257 0 +201 258 0 +201 259 0 +201 260 0 +201 261 0 +201 262 0 +201 263 0 +201 264 0 +201 265 0 +201 266 0 +201 267 0 +201 268 0 +201 269 0 +201 270 0 +201 271 0 +201 272 0 +201 273 0 +201 274 0 +201 275 0 +201 276 0 +201 277 0 +201 278 0 +201 279 0 +201 280 0 +201 281 0 +201 282 0 +201 283 0 +201 284 0 +201 285 0 +201 286 0 +201 287 0 +201 288 0 +201 289 0 +201 290 0 +201 291 0 +201 292 0 +201 293 0 +201 294 0 +201 295 0 +201 296 0 +201 297 0 +201 298 0 +201 299 0 +201 300 0 +201 301 0 +201 302 0 +201 303 0 +201 304 0 +201 305 0 +201 306 0 +201 307 0 +201 308 0 +201 309 0 +201 310 0 +201 311 0 +201 312 0 +201 313 0 +201 314 0 +201 315 0 +201 316 0 +201 317 0 +201 318 0 +201 319 0 +201 320 0 +201 321 0 +201 322 0 +201 323 0 +201 324 0 +201 325 0 +201 326 0 +201 327 0 +201 328 0 +201 329 0 +201 330 0 +201 331 0 +201 332 0 +201 333 0 +201 334 0 +201 335 0 +201 336 0 +201 337 0 +201 338 0 +201 339 0 +201 340 0 +201 341 0 +201 342 0 +201 343 0 +201 344 0 +201 345 0 +201 346 0 +201 347 0 +201 348 0 +201 349 0 +201 350 0 +201 351 0 +201 352 0 +201 353 0 +201 354 0 +201 355 0 +201 356 0 +201 357 0 +201 358 0 +201 359 0 +201 360 0 +201 361 0 +201 362 0 +201 363 0 +201 364 0 +201 365 0 +201 366 0 +201 367 0 +201 368 0 +201 369 0 +201 370 0 +201 371 0 +201 372 0 +201 373 0 +201 374 0 +201 375 0 +201 376 0 +201 377 0 +201 378 0 +201 379 0 +201 380 0 +201 381 0 +201 382 0 +201 383 0 +202 203 0 +202 204 0 +202 205 0 +202 206 0 +202 207 0 +202 208 0 +202 209 0 +202 210 0 +202 211 0 +202 212 0 +202 213 0 +202 214 0 +202 215 0 +202 216 0 +202 217 0 +202 218 0 +202 219 0 +202 220 0 +202 221 0 +202 222 0 +202 223 0 +202 224 0 +202 225 0 +202 226 0 +202 227 0 +202 228 0 +202 229 0 +202 230 0 +202 231 0 +202 232 0 +202 233 0 +202 234 0 +202 235 0 +202 236 0 +202 237 0 +202 238 0 +202 239 0 +202 240 0 +202 241 0 +202 242 0 +202 243 0 +202 244 0 +202 245 0 +202 246 0 +202 247 0 +202 248 0 +202 249 0 +202 250 0 +202 251 0 +202 252 0 +202 253 0 +202 254 0 +202 255 0 +202 256 0 +202 257 0 +202 258 0 +202 259 0 +202 260 0 +202 261 0 +202 262 0 +202 263 0 +202 264 0 +202 265 0 +202 266 0 +202 267 0 +202 268 0 +202 269 0 +202 270 0 +202 271 0 +202 272 0 +202 273 0 +202 274 0 +202 275 0 +202 276 0 +202 277 0 +202 278 0 +202 279 0 +202 280 0 +202 281 0 +202 282 0 +202 283 0 +202 284 0 +202 285 0 +202 286 0 +202 287 0 +202 288 0 +202 289 0 +202 290 0 +202 291 0 +202 292 0 +202 293 0 +202 294 0 +202 295 0 +202 296 0 +202 297 0 +202 298 0 +202 299 0 +202 300 0 +202 301 0 +202 302 0 +202 303 0 +202 304 0 +202 305 0 +202 306 0 +202 307 0 +202 308 0 +202 309 0 +202 310 0 +202 311 0 +202 312 0 +202 313 0 +202 314 0 +202 315 0 +202 316 0 +202 317 0 +202 318 0 +202 319 0 +202 320 0 +202 321 0 +202 322 0 +202 323 0 +202 324 0 +202 325 0 +202 326 0 +202 327 0 +202 328 0 +202 329 0 +202 330 0 +202 331 0 +202 332 0 +202 333 0 +202 334 0 +202 335 0 +202 336 0 +202 337 0 +202 338 0 +202 339 0 +202 340 0 +202 341 0 +202 342 0 +202 343 0 +202 344 0 +202 345 0 +202 346 0 +202 347 0 +202 348 0 +202 349 0 +202 350 0 +202 351 0 +202 352 0 +202 353 0 +202 354 0 +202 355 0 +202 356 0 +202 357 0 +202 358 0 +202 359 0 +202 360 0 +202 361 0 +202 362 0 +202 363 0 +202 364 0 +202 365 0 +202 366 0 +202 367 0 +202 368 0 +202 369 0 +202 370 0 +202 371 0 +202 372 0 +202 373 0 +202 374 0 +202 375 0 +202 376 0 +202 377 0 +202 378 0 +202 379 0 +202 380 0 +202 381 0 +202 382 0 +202 383 0 +203 204 0 +203 205 0 +203 206 0 +203 207 0 +203 208 0 +203 209 0 +203 210 0 +203 211 0 +203 212 0 +203 213 0 +203 214 0 +203 215 0 +203 216 0 +203 217 0 +203 218 0 +203 219 0 +203 220 0 +203 221 0 +203 222 0 +203 223 0 +203 224 0 +203 225 0 +203 226 0 +203 227 0 +203 228 0 +203 229 0 +203 230 0 +203 231 0 +203 232 0 +203 233 0 +203 234 0 +203 235 0 +203 236 0 +203 237 0 +203 238 0 +203 239 0 +203 240 0 +203 241 0 +203 242 0 +203 243 0 +203 244 0 +203 245 0 +203 246 0 +203 247 0 +203 248 0 +203 249 0 +203 250 0 +203 251 0 +203 252 0 +203 253 0 +203 254 0 +203 255 0 +203 256 0 +203 257 0 +203 258 0 +203 259 0 +203 260 0 +203 261 0 +203 262 0 +203 263 0 +203 264 0 +203 265 0 +203 266 0 +203 267 0 +203 268 0 +203 269 0 +203 270 0 +203 271 0 +203 272 0 +203 273 0 +203 274 0 +203 275 0 +203 276 0 +203 277 0 +203 278 0 +203 279 0 +203 280 0 +203 281 0 +203 282 0 +203 283 0 +203 284 0 +203 285 0 +203 286 0 +203 287 0 +203 288 0 +203 289 0 +203 290 0 +203 291 0 +203 292 0 +203 293 0 +203 294 0 +203 295 0 +203 296 0 +203 297 0 +203 298 0 +203 299 0 +203 300 0 +203 301 0 +203 302 0 +203 303 0 +203 304 0 +203 305 0 +203 306 0 +203 307 0 +203 308 0 +203 309 0 +203 310 0 +203 311 0 +203 312 0 +203 313 0 +203 314 0 +203 315 0 +203 316 0 +203 317 0 +203 318 0 +203 319 0 +203 320 0 +203 321 0 +203 322 0 +203 323 0 +203 324 0 +203 325 0 +203 326 0 +203 327 0 +203 328 0 +203 329 0 +203 330 0 +203 331 0 +203 332 0 +203 333 0 +203 334 0 +203 335 0 +203 336 0 +203 337 0 +203 338 0 +203 339 0 +203 340 0 +203 341 0 +203 342 0 +203 343 0 +203 344 0 +203 345 0 +203 346 0 +203 347 0 +203 348 0 +203 349 0 +203 350 0 +203 351 0 +203 352 0 +203 353 0 +203 354 0 +203 355 0 +203 356 0 +203 357 0 +203 358 0 +203 359 0 +203 360 0 +203 361 0 +203 362 0 +203 363 0 +203 364 0 +203 365 0 +203 366 0 +203 367 0 +203 368 0 +203 369 0 +203 370 0 +203 371 0 +203 372 0 +203 373 0 +203 374 0 +203 375 0 +203 376 0 +203 377 0 +203 378 0 +203 379 0 +203 380 0 +203 381 0 +203 382 0 +203 383 0 +204 205 0 +204 206 0 +204 207 0 +204 208 0 +204 209 0 +204 210 0 +204 211 0 +204 212 0 +204 213 0 +204 214 0 +204 215 0 +204 216 0 +204 217 0 +204 218 0 +204 219 0 +204 220 0 +204 221 0 +204 222 0 +204 223 0 +204 224 0 +204 225 0 +204 226 0 +204 227 0 +204 228 0 +204 229 0 +204 230 0 +204 231 0 +204 232 0 +204 233 0 +204 234 0 +204 235 0 +204 236 0 +204 237 0 +204 238 0 +204 239 0 +204 240 0 +204 241 0 +204 242 0 +204 243 0 +204 244 0 +204 245 0 +204 246 0 +204 247 0 +204 248 0 +204 249 0 +204 250 0 +204 251 0 +204 252 0 +204 253 0 +204 254 0 +204 255 0 +204 256 0 +204 257 0 +204 258 0 +204 259 0 +204 260 0 +204 261 0 +204 262 0 +204 263 0 +204 264 0 +204 265 0 +204 266 0 +204 267 0 +204 268 0 +204 269 0 +204 270 0 +204 271 0 +204 272 0 +204 273 0 +204 274 0 +204 275 0 +204 276 0 +204 277 0 +204 278 0 +204 279 0 +204 280 0 +204 281 0 +204 282 0 +204 283 0 +204 284 0 +204 285 0 +204 286 0 +204 287 0 +204 288 0 +204 289 0 +204 290 0 +204 291 0 +204 292 0 +204 293 0 +204 294 0 +204 295 0 +204 296 0 +204 297 0 +204 298 0 +204 299 0 +204 300 0 +204 301 0 +204 302 0 +204 303 0 +204 304 0 +204 305 0 +204 306 0 +204 307 0 +204 308 0 +204 309 0 +204 310 0 +204 311 0 +204 312 0 +204 313 0 +204 314 0 +204 315 0 +204 316 0 +204 317 0 +204 318 0 +204 319 0 +204 320 0 +204 321 0 +204 322 0 +204 323 0 +204 324 0 +204 325 0 +204 326 0 +204 327 0 +204 328 0 +204 329 0 +204 330 0 +204 331 0 +204 332 0 +204 333 0 +204 334 0 +204 335 0 +204 336 0 +204 337 0 +204 338 0 +204 339 0 +204 340 0 +204 341 0 +204 342 0 +204 343 0 +204 344 0 +204 345 0 +204 346 0 +204 347 0 +204 348 0 +204 349 0 +204 350 0 +204 351 0 +204 352 0 +204 353 0 +204 354 0 +204 355 0 +204 356 0 +204 357 0 +204 358 0 +204 359 0 +204 360 0 +204 361 0 +204 362 0 +204 363 0 +204 364 0 +204 365 0 +204 366 0 +204 367 0 +204 368 0 +204 369 0 +204 370 0 +204 371 0 +204 372 0 +204 373 0 +204 374 0 +204 375 0 +204 376 0 +204 377 0 +204 378 0 +204 379 0 +204 380 0 +204 381 0 +204 382 0 +204 383 0 +205 206 0 +205 207 0 +205 208 0 +205 209 0 +205 210 0 +205 211 0 +205 212 0 +205 213 0 +205 214 0 +205 215 0 +205 216 0 +205 217 0 +205 218 0 +205 219 0 +205 220 0 +205 221 0 +205 222 0 +205 223 0 +205 224 0 +205 225 0 +205 226 0 +205 227 0 +205 228 0 +205 229 0 +205 230 0 +205 231 0 +205 232 0 +205 233 0 +205 234 0 +205 235 0 +205 236 0 +205 237 0 +205 238 0 +205 239 0 +205 240 0 +205 241 0 +205 242 0 +205 243 0 +205 244 0 +205 245 0 +205 246 0 +205 247 0 +205 248 0 +205 249 0 +205 250 0 +205 251 0 +205 252 0 +205 253 0 +205 254 0 +205 255 0 +205 256 0 +205 257 0 +205 258 0 +205 259 0 +205 260 0 +205 261 0 +205 262 0 +205 263 0 +205 264 0 +205 265 0 +205 266 0 +205 267 0 +205 268 0 +205 269 0 +205 270 0 +205 271 0 +205 272 0 +205 273 0 +205 274 0 +205 275 0 +205 276 0 +205 277 0 +205 278 0 +205 279 0 +205 280 0 +205 281 0 +205 282 0 +205 283 0 +205 284 0 +205 285 0 +205 286 0 +205 287 0 +205 288 0 +205 289 0 +205 290 0 +205 291 0 +205 292 0 +205 293 0 +205 294 0 +205 295 0 +205 296 0 +205 297 0 +205 298 0 +205 299 0 +205 300 0 +205 301 0 +205 302 0 +205 303 0 +205 304 0 +205 305 0 +205 306 0 +205 307 0 +205 308 0 +205 309 0 +205 310 0 +205 311 0 +205 312 0 +205 313 0 +205 314 0 +205 315 0 +205 316 0 +205 317 0 +205 318 0 +205 319 0 +205 320 0 +205 321 0 +205 322 0 +205 323 0 +205 324 0 +205 325 0 +205 326 0 +205 327 0 +205 328 0 +205 329 0 +205 330 0 +205 331 0 +205 332 0 +205 333 0 +205 334 0 +205 335 0 +205 336 0 +205 337 0 +205 338 0 +205 339 0 +205 340 0 +205 341 0 +205 342 0 +205 343 0 +205 344 0 +205 345 0 +205 346 0 +205 347 0 +205 348 0 +205 349 0 +205 350 0 +205 351 0 +205 352 0 +205 353 0 +205 354 0 +205 355 0 +205 356 0 +205 357 0 +205 358 0 +205 359 0 +205 360 0 +205 361 0 +205 362 0 +205 363 0 +205 364 0 +205 365 0 +205 366 0 +205 367 0 +205 368 0 +205 369 0 +205 370 0 +205 371 0 +205 372 0 +205 373 0 +205 374 0 +205 375 0 +205 376 0 +205 377 0 +205 378 0 +205 379 0 +205 380 0 +205 381 0 +205 382 0 +205 383 0 +206 207 0 +206 208 0 +206 209 0 +206 210 0 +206 211 0 +206 212 0 +206 213 0 +206 214 0 +206 215 0 +206 216 0 +206 217 0 +206 218 0 +206 219 0 +206 220 0 +206 221 0 +206 222 0 +206 223 0 +206 224 0 +206 225 0 +206 226 0 +206 227 0 +206 228 0 +206 229 0 +206 230 0 +206 231 0 +206 232 0 +206 233 0 +206 234 0 +206 235 0 +206 236 0 +206 237 0 +206 238 0 +206 239 0 +206 240 0 +206 241 0 +206 242 0 +206 243 0 +206 244 0 +206 245 0 +206 246 0 +206 247 0 +206 248 0 +206 249 0 +206 250 0 +206 251 0 +206 252 0 +206 253 0 +206 254 0 +206 255 0 +206 256 0 +206 257 0 +206 258 0 +206 259 0 +206 260 0 +206 261 0 +206 262 0 +206 263 0 +206 264 0 +206 265 0 +206 266 0 +206 267 0 +206 268 0 +206 269 0 +206 270 0 +206 271 0 +206 272 0 +206 273 0 +206 274 0 +206 275 0 +206 276 0 +206 277 0 +206 278 0 +206 279 0 +206 280 0 +206 281 0 +206 282 0 +206 283 0 +206 284 0 +206 285 0 +206 286 0 +206 287 0 +206 288 0 +206 289 0 +206 290 0 +206 291 0 +206 292 0 +206 293 0 +206 294 0 +206 295 0 +206 296 0 +206 297 0 +206 298 0 +206 299 0 +206 300 0 +206 301 0 +206 302 0 +206 303 0 +206 304 0 +206 305 0 +206 306 0 +206 307 0 +206 308 0 +206 309 0 +206 310 0 +206 311 0 +206 312 0 +206 313 0 +206 314 0 +206 315 0 +206 316 0 +206 317 0 +206 318 0 +206 319 0 +206 320 0 +206 321 0 +206 322 0 +206 323 0 +206 324 0 +206 325 0 +206 326 0 +206 327 0 +206 328 0 +206 329 0 +206 330 0 +206 331 0 +206 332 0 +206 333 0 +206 334 0 +206 335 0 +206 336 0 +206 337 0 +206 338 0 +206 339 0 +206 340 0 +206 341 0 +206 342 0 +206 343 0 +206 344 0 +206 345 0 +206 346 0 +206 347 0 +206 348 0 +206 349 0 +206 350 0 +206 351 0 +206 352 0 +206 353 0 +206 354 0 +206 355 0 +206 356 0 +206 357 0 +206 358 0 +206 359 0 +206 360 0 +206 361 0 +206 362 0 +206 363 0 +206 364 0 +206 365 0 +206 366 0 +206 367 0 +206 368 0 +206 369 0 +206 370 0 +206 371 0 +206 372 0 +206 373 0 +206 374 0 +206 375 0 +206 376 0 +206 377 0 +206 378 0 +206 379 0 +206 380 0 +206 381 0 +206 382 0 +206 383 0 +207 208 0 +207 209 0 +207 210 0 +207 211 0 +207 212 0 +207 213 0 +207 214 0 +207 215 0 +207 216 0 +207 217 0 +207 218 0 +207 219 0 +207 220 0 +207 221 0 +207 222 0 +207 223 0 +207 224 0 +207 225 0 +207 226 0 +207 227 0 +207 228 0 +207 229 0 +207 230 0 +207 231 0 +207 232 0 +207 233 0 +207 234 0 +207 235 0 +207 236 0 +207 237 0 +207 238 0 +207 239 0 +207 240 0 +207 241 0 +207 242 0 +207 243 0 +207 244 0 +207 245 0 +207 246 0 +207 247 0 +207 248 0 +207 249 0 +207 250 0 +207 251 0 +207 252 0 +207 253 0 +207 254 0 +207 255 0 +207 256 0 +207 257 0 +207 258 0 +207 259 0 +207 260 0 +207 261 0 +207 262 0 +207 263 0 +207 264 0 +207 265 0 +207 266 0 +207 267 0 +207 268 0 +207 269 0 +207 270 0 +207 271 0 +207 272 0 +207 273 0 +207 274 0 +207 275 0 +207 276 0 +207 277 0 +207 278 0 +207 279 0 +207 280 0 +207 281 0 +207 282 0 +207 283 0 +207 284 0 +207 285 0 +207 286 0 +207 287 0 +207 288 0 +207 289 0 +207 290 0 +207 291 0 +207 292 0 +207 293 0 +207 294 0 +207 295 0 +207 296 0 +207 297 0 +207 298 0 +207 299 0 +207 300 0 +207 301 0 +207 302 0 +207 303 0 +207 304 0 +207 305 0 +207 306 0 +207 307 0 +207 308 0 +207 309 0 +207 310 0 +207 311 0 +207 312 0 +207 313 0 +207 314 0 +207 315 0 +207 316 0 +207 317 0 +207 318 0 +207 319 0 +207 320 0 +207 321 0 +207 322 0 +207 323 0 +207 324 0 +207 325 0 +207 326 0 +207 327 0 +207 328 0 +207 329 0 +207 330 0 +207 331 0 +207 332 0 +207 333 0 +207 334 0 +207 335 0 +207 336 0 +207 337 0 +207 338 0 +207 339 0 +207 340 0 +207 341 0 +207 342 0 +207 343 0 +207 344 0 +207 345 0 +207 346 0 +207 347 0 +207 348 0 +207 349 0 +207 350 0 +207 351 0 +207 352 0 +207 353 0 +207 354 0 +207 355 0 +207 356 0 +207 357 0 +207 358 0 +207 359 0 +207 360 0 +207 361 0 +207 362 0 +207 363 0 +207 364 0 +207 365 0 +207 366 0 +207 367 0 +207 368 0 +207 369 0 +207 370 0 +207 371 0 +207 372 0 +207 373 0 +207 374 0 +207 375 0 +207 376 0 +207 377 0 +207 378 0 +207 379 0 +207 380 0 +207 381 0 +207 382 0 +207 383 0 +208 209 0 +208 210 0 +208 211 0 +208 212 0 +208 213 0 +208 214 0 +208 215 0 +208 216 0 +208 217 0 +208 218 0 +208 219 0 +208 220 0 +208 221 0 +208 222 0 +208 223 0 +208 224 0 +208 225 0 +208 226 0 +208 227 0 +208 228 0 +208 229 0 +208 230 0 +208 231 0 +208 232 0 +208 233 0 +208 234 0 +208 235 0 +208 236 0 +208 237 0 +208 238 0 +208 239 0 +208 240 0 +208 241 0 +208 242 0 +208 243 0 +208 244 0 +208 245 0 +208 246 0 +208 247 0 +208 248 0 +208 249 0 +208 250 0 +208 251 0 +208 252 0 +208 253 0 +208 254 0 +208 255 0 +208 256 0 +208 257 0 +208 258 0 +208 259 0 +208 260 0 +208 261 0 +208 262 0 +208 263 0 +208 264 0 +208 265 0 +208 266 0 +208 267 0 +208 268 0 +208 269 0 +208 270 0 +208 271 0 +208 272 0 +208 273 0 +208 274 0 +208 275 0 +208 276 0 +208 277 0 +208 278 0 +208 279 0 +208 280 0 +208 281 0 +208 282 0 +208 283 0 +208 284 0 +208 285 0 +208 286 0 +208 287 0 +208 288 0 +208 289 0 +208 290 0 +208 291 0 +208 292 0 +208 293 0 +208 294 0 +208 295 0 +208 296 0 +208 297 0 +208 298 0 +208 299 0 +208 300 0 +208 301 0 +208 302 0 +208 303 0 +208 304 0 +208 305 0 +208 306 0 +208 307 0 +208 308 0 +208 309 0 +208 310 0 +208 311 0 +208 312 0 +208 313 0 +208 314 0 +208 315 0 +208 316 0 +208 317 0 +208 318 0 +208 319 0 +208 320 0 +208 321 0 +208 322 0 +208 323 0 +208 324 0 +208 325 0 +208 326 0 +208 327 0 +208 328 0 +208 329 0 +208 330 0 +208 331 0 +208 332 0 +208 333 0 +208 334 0 +208 335 0 +208 336 0 +208 337 0 +208 338 0 +208 339 0 +208 340 0 +208 341 0 +208 342 0 +208 343 0 +208 344 0 +208 345 0 +208 346 0 +208 347 0 +208 348 0 +208 349 0 +208 350 0 +208 351 0 +208 352 0 +208 353 0 +208 354 0 +208 355 0 +208 356 0 +208 357 0 +208 358 0 +208 359 0 +208 360 0 +208 361 0 +208 362 0 +208 363 0 +208 364 0 +208 365 0 +208 366 0 +208 367 0 +208 368 0 +208 369 0 +208 370 0 +208 371 0 +208 372 0 +208 373 0 +208 374 0 +208 375 0 +208 376 0 +208 377 0 +208 378 0 +208 379 0 +208 380 0 +208 381 0 +208 382 0 +208 383 0 +209 210 0 +209 211 0 +209 212 0 +209 213 0 +209 214 0 +209 215 0 +209 216 0 +209 217 0 +209 218 0 +209 219 0 +209 220 0 +209 221 0 +209 222 0 +209 223 0 +209 224 0 +209 225 0 +209 226 0 +209 227 0 +209 228 0 +209 229 0 +209 230 0 +209 231 0 +209 232 0 +209 233 0 +209 234 0 +209 235 0 +209 236 0 +209 237 0 +209 238 0 +209 239 0 +209 240 0 +209 241 0 +209 242 0 +209 243 0 +209 244 0 +209 245 0 +209 246 0 +209 247 0 +209 248 0 +209 249 0 +209 250 0 +209 251 0 +209 252 0 +209 253 0 +209 254 0 +209 255 0 +209 256 0 +209 257 0 +209 258 0 +209 259 0 +209 260 0 +209 261 0 +209 262 0 +209 263 0 +209 264 0 +209 265 0 +209 266 0 +209 267 0 +209 268 0 +209 269 0 +209 270 0 +209 271 0 +209 272 0 +209 273 0 +209 274 0 +209 275 0 +209 276 0 +209 277 0 +209 278 0 +209 279 0 +209 280 0 +209 281 0 +209 282 0 +209 283 0 +209 284 0 +209 285 0 +209 286 0 +209 287 0 +209 288 0 +209 289 0 +209 290 0 +209 291 0 +209 292 0 +209 293 0 +209 294 0 +209 295 0 +209 296 0 +209 297 0 +209 298 0 +209 299 0 +209 300 0 +209 301 0 +209 302 0 +209 303 0 +209 304 0 +209 305 0 +209 306 0 +209 307 0 +209 308 0 +209 309 0 +209 310 0 +209 311 0 +209 312 0 +209 313 0 +209 314 0 +209 315 0 +209 316 0 +209 317 0 +209 318 0 +209 319 0 +209 320 0 +209 321 0 +209 322 0 +209 323 0 +209 324 0 +209 325 0 +209 326 0 +209 327 0 +209 328 0 +209 329 0 +209 330 0 +209 331 0 +209 332 0 +209 333 0 +209 334 0 +209 335 0 +209 336 0 +209 337 0 +209 338 0 +209 339 0 +209 340 0 +209 341 0 +209 342 0 +209 343 0 +209 344 0 +209 345 0 +209 346 0 +209 347 0 +209 348 0 +209 349 0 +209 350 0 +209 351 0 +209 352 0 +209 353 0 +209 354 0 +209 355 0 +209 356 0 +209 357 0 +209 358 0 +209 359 0 +209 360 0 +209 361 0 +209 362 0 +209 363 0 +209 364 0 +209 365 0 +209 366 0 +209 367 0 +209 368 0 +209 369 0 +209 370 0 +209 371 0 +209 372 0 +209 373 0 +209 374 0 +209 375 0 +209 376 0 +209 377 0 +209 378 0 +209 379 0 +209 380 0 +209 381 0 +209 382 0 +209 383 0 +210 211 0 +210 212 0 +210 213 0 +210 214 0 +210 215 0 +210 216 0 +210 217 0 +210 218 0 +210 219 0 +210 220 0 +210 221 0 +210 222 0 +210 223 0 +210 224 0 +210 225 0 +210 226 0 +210 227 0 +210 228 0 +210 229 0 +210 230 0 +210 231 0 +210 232 0 +210 233 0 +210 234 0 +210 235 0 +210 236 0 +210 237 0 +210 238 0 +210 239 0 +210 240 0 +210 241 0 +210 242 0 +210 243 0 +210 244 0 +210 245 0 +210 246 0 +210 247 0 +210 248 0 +210 249 0 +210 250 0 +210 251 0 +210 252 0 +210 253 0 +210 254 0 +210 255 0 +210 256 0 +210 257 0 +210 258 0 +210 259 0 +210 260 0 +210 261 0 +210 262 0 +210 263 0 +210 264 0 +210 265 0 +210 266 0 +210 267 0 +210 268 0 +210 269 0 +210 270 0 +210 271 0 +210 272 0 +210 273 0 +210 274 0 +210 275 0 +210 276 0 +210 277 0 +210 278 0 +210 279 0 +210 280 0 +210 281 0 +210 282 0 +210 283 0 +210 284 0 +210 285 0 +210 286 0 +210 287 0 +210 288 0 +210 289 0 +210 290 0 +210 291 0 +210 292 0 +210 293 0 +210 294 0 +210 295 0 +210 296 0 +210 297 0 +210 298 0 +210 299 0 +210 300 0 +210 301 0 +210 302 0 +210 303 0 +210 304 0 +210 305 0 +210 306 0 +210 307 0 +210 308 0 +210 309 0 +210 310 0 +210 311 0 +210 312 0 +210 313 0 +210 314 0 +210 315 0 +210 316 0 +210 317 0 +210 318 0 +210 319 0 +210 320 0 +210 321 0 +210 322 0 +210 323 0 +210 324 0 +210 325 0 +210 326 0 +210 327 0 +210 328 0 +210 329 0 +210 330 0 +210 331 0 +210 332 0 +210 333 0 +210 334 0 +210 335 0 +210 336 0 +210 337 0 +210 338 0 +210 339 0 +210 340 0 +210 341 0 +210 342 0 +210 343 0 +210 344 0 +210 345 0 +210 346 0 +210 347 0 +210 348 0 +210 349 0 +210 350 0 +210 351 0 +210 352 0 +210 353 0 +210 354 0 +210 355 0 +210 356 0 +210 357 0 +210 358 0 +210 359 0 +210 360 0 +210 361 0 +210 362 0 +210 363 0 +210 364 0 +210 365 0 +210 366 0 +210 367 0 +210 368 0 +210 369 0 +210 370 0 +210 371 0 +210 372 0 +210 373 0 +210 374 0 +210 375 0 +210 376 0 +210 377 0 +210 378 0 +210 379 0 +210 380 0 +210 381 0 +210 382 0 +210 383 0 +211 212 0 +211 213 0 +211 214 0 +211 215 0 +211 216 0 +211 217 0 +211 218 0 +211 219 0 +211 220 0 +211 221 0 +211 222 0 +211 223 0 +211 224 0 +211 225 0 +211 226 0 +211 227 0 +211 228 0 +211 229 0 +211 230 0 +211 231 0 +211 232 0 +211 233 0 +211 234 0 +211 235 0 +211 236 0 +211 237 0 +211 238 0 +211 239 0 +211 240 0 +211 241 0 +211 242 0 +211 243 0 +211 244 0 +211 245 0 +211 246 0 +211 247 0 +211 248 0 +211 249 0 +211 250 0 +211 251 0 +211 252 0 +211 253 0 +211 254 0 +211 255 0 +211 256 0 +211 257 0 +211 258 0 +211 259 0 +211 260 0 +211 261 0 +211 262 0 +211 263 0 +211 264 0 +211 265 0 +211 266 0 +211 267 0 +211 268 0 +211 269 0 +211 270 0 +211 271 0 +211 272 0 +211 273 0 +211 274 0 +211 275 0 +211 276 0 +211 277 0 +211 278 0 +211 279 0 +211 280 0 +211 281 0 +211 282 0 +211 283 0 +211 284 0 +211 285 0 +211 286 0 +211 287 0 +211 288 0 +211 289 0 +211 290 0 +211 291 0 +211 292 0 +211 293 0 +211 294 0 +211 295 0 +211 296 0 +211 297 0 +211 298 0 +211 299 0 +211 300 0 +211 301 0 +211 302 0 +211 303 0 +211 304 0 +211 305 0 +211 306 0 +211 307 0 +211 308 0 +211 309 0 +211 310 0 +211 311 0 +211 312 0 +211 313 0 +211 314 0 +211 315 0 +211 316 0 +211 317 0 +211 318 0 +211 319 0 +211 320 0 +211 321 0 +211 322 0 +211 323 0 +211 324 0 +211 325 0 +211 326 0 +211 327 0 +211 328 0 +211 329 0 +211 330 0 +211 331 0 +211 332 0 +211 333 0 +211 334 0 +211 335 0 +211 336 0 +211 337 0 +211 338 0 +211 339 0 +211 340 0 +211 341 0 +211 342 0 +211 343 0 +211 344 0 +211 345 0 +211 346 0 +211 347 0 +211 348 0 +211 349 0 +211 350 0 +211 351 0 +211 352 0 +211 353 0 +211 354 0 +211 355 0 +211 356 0 +211 357 0 +211 358 0 +211 359 0 +211 360 0 +211 361 0 +211 362 0 +211 363 0 +211 364 0 +211 365 0 +211 366 0 +211 367 0 +211 368 0 +211 369 0 +211 370 0 +211 371 0 +211 372 0 +211 373 0 +211 374 0 +211 375 0 +211 376 0 +211 377 0 +211 378 0 +211 379 0 +211 380 0 +211 381 0 +211 382 0 +211 383 0 +212 213 0 +212 214 0 +212 215 0 +212 216 0 +212 217 0 +212 218 0 +212 219 0 +212 220 0 +212 221 0 +212 222 0 +212 223 0 +212 224 0 +212 225 0 +212 226 0 +212 227 0 +212 228 0 +212 229 0 +212 230 0 +212 231 0 +212 232 0 +212 233 0 +212 234 0 +212 235 0 +212 236 0 +212 237 0 +212 238 0 +212 239 0 +212 240 0 +212 241 0 +212 242 0 +212 243 0 +212 244 0 +212 245 0 +212 246 0 +212 247 0 +212 248 0 +212 249 0 +212 250 0 +212 251 0 +212 252 0 +212 253 0 +212 254 0 +212 255 0 +212 256 0 +212 257 0 +212 258 0 +212 259 0 +212 260 0 +212 261 0 +212 262 0 +212 263 0 +212 264 0 +212 265 0 +212 266 0 +212 267 0 +212 268 0 +212 269 0 +212 270 0 +212 271 0 +212 272 0 +212 273 0 +212 274 0 +212 275 0 +212 276 0 +212 277 0 +212 278 0 +212 279 0 +212 280 0 +212 281 0 +212 282 0 +212 283 0 +212 284 0 +212 285 0 +212 286 0 +212 287 0 +212 288 0 +212 289 0 +212 290 0 +212 291 0 +212 292 0 +212 293 0 +212 294 0 +212 295 0 +212 296 0 +212 297 0 +212 298 0 +212 299 0 +212 300 0 +212 301 0 +212 302 0 +212 303 0 +212 304 0 +212 305 0 +212 306 0 +212 307 0 +212 308 0 +212 309 0 +212 310 0 +212 311 0 +212 312 0 +212 313 0 +212 314 0 +212 315 0 +212 316 0 +212 317 0 +212 318 0 +212 319 0 +212 320 0 +212 321 0 +212 322 0 +212 323 0 +212 324 0 +212 325 0 +212 326 0 +212 327 0 +212 328 0 +212 329 0 +212 330 0 +212 331 0 +212 332 0 +212 333 0 +212 334 0 +212 335 0 +212 336 0 +212 337 0 +212 338 0 +212 339 0 +212 340 0 +212 341 0 +212 342 0 +212 343 0 +212 344 0 +212 345 0 +212 346 0 +212 347 0 +212 348 0 +212 349 0 +212 350 0 +212 351 0 +212 352 0 +212 353 0 +212 354 0 +212 355 0 +212 356 0 +212 357 0 +212 358 0 +212 359 0 +212 360 0 +212 361 0 +212 362 0 +212 363 0 +212 364 0 +212 365 0 +212 366 0 +212 367 0 +212 368 0 +212 369 0 +212 370 0 +212 371 0 +212 372 0 +212 373 0 +212 374 0 +212 375 0 +212 376 0 +212 377 0 +212 378 0 +212 379 0 +212 380 0 +212 381 0 +212 382 0 +212 383 0 +213 214 0 +213 215 0 +213 216 0 +213 217 0 +213 218 0 +213 219 0 +213 220 0 +213 221 0 +213 222 0 +213 223 0 +213 224 0 +213 225 0 +213 226 0 +213 227 0 +213 228 0 +213 229 0 +213 230 0 +213 231 0 +213 232 0 +213 233 0 +213 234 0 +213 235 0 +213 236 0 +213 237 0 +213 238 0 +213 239 0 +213 240 0 +213 241 0 +213 242 0 +213 243 0 +213 244 0 +213 245 0 +213 246 0 +213 247 0 +213 248 0 +213 249 0 +213 250 0 +213 251 0 +213 252 0 +213 253 0 +213 254 0 +213 255 0 +213 256 0 +213 257 0 +213 258 0 +213 259 0 +213 260 0 +213 261 0 +213 262 0 +213 263 0 +213 264 0 +213 265 0 +213 266 0 +213 267 0 +213 268 0 +213 269 0 +213 270 0 +213 271 0 +213 272 0 +213 273 0 +213 274 0 +213 275 0 +213 276 0 +213 277 0 +213 278 0 +213 279 0 +213 280 0 +213 281 0 +213 282 0 +213 283 0 +213 284 0 +213 285 0 +213 286 0 +213 287 0 +213 288 0 +213 289 0 +213 290 0 +213 291 0 +213 292 0 +213 293 0 +213 294 0 +213 295 0 +213 296 0 +213 297 0 +213 298 0 +213 299 0 +213 300 0 +213 301 0 +213 302 0 +213 303 0 +213 304 0 +213 305 0 +213 306 0 +213 307 0 +213 308 0 +213 309 0 +213 310 0 +213 311 0 +213 312 0 +213 313 0 +213 314 0 +213 315 0 +213 316 0 +213 317 0 +213 318 0 +213 319 0 +213 320 0 +213 321 0 +213 322 0 +213 323 0 +213 324 0 +213 325 0 +213 326 0 +213 327 0 +213 328 0 +213 329 0 +213 330 0 +213 331 0 +213 332 0 +213 333 0 +213 334 0 +213 335 0 +213 336 0 +213 337 0 +213 338 0 +213 339 0 +213 340 0 +213 341 0 +213 342 0 +213 343 0 +213 344 0 +213 345 0 +213 346 0 +213 347 0 +213 348 0 +213 349 0 +213 350 0 +213 351 0 +213 352 0 +213 353 0 +213 354 0 +213 355 0 +213 356 0 +213 357 0 +213 358 0 +213 359 0 +213 360 0 +213 361 0 +213 362 0 +213 363 0 +213 364 0 +213 365 0 +213 366 0 +213 367 0 +213 368 0 +213 369 0 +213 370 0 +213 371 0 +213 372 0 +213 373 0 +213 374 0 +213 375 0 +213 376 0 +213 377 0 +213 378 0 +213 379 0 +213 380 0 +213 381 0 +213 382 0 +213 383 0 +214 215 0 +214 216 0 +214 217 0 +214 218 0 +214 219 0 +214 220 0 +214 221 0 +214 222 0 +214 223 0 +214 224 0 +214 225 0 +214 226 0 +214 227 0 +214 228 0 +214 229 0 +214 230 0 +214 231 0 +214 232 0 +214 233 0 +214 234 0 +214 235 0 +214 236 0 +214 237 0 +214 238 0 +214 239 0 +214 240 0 +214 241 0 +214 242 0 +214 243 0 +214 244 0 +214 245 0 +214 246 0 +214 247 0 +214 248 0 +214 249 0 +214 250 0 +214 251 0 +214 252 0 +214 253 0 +214 254 0 +214 255 0 +214 256 0 +214 257 0 +214 258 0 +214 259 0 +214 260 0 +214 261 0 +214 262 0 +214 263 0 +214 264 0 +214 265 0 +214 266 0 +214 267 0 +214 268 0 +214 269 0 +214 270 0 +214 271 0 +214 272 0 +214 273 0 +214 274 0 +214 275 0 +214 276 0 +214 277 0 +214 278 0 +214 279 0 +214 280 0 +214 281 0 +214 282 0 +214 283 0 +214 284 0 +214 285 0 +214 286 0 +214 287 0 +214 288 0 +214 289 0 +214 290 0 +214 291 0 +214 292 0 +214 293 0 +214 294 0 +214 295 0 +214 296 0 +214 297 0 +214 298 0 +214 299 0 +214 300 0 +214 301 0 +214 302 0 +214 303 0 +214 304 0 +214 305 0 +214 306 0 +214 307 0 +214 308 0 +214 309 0 +214 310 0 +214 311 0 +214 312 0 +214 313 0 +214 314 0 +214 315 0 +214 316 0 +214 317 0 +214 318 0 +214 319 0 +214 320 0 +214 321 0 +214 322 0 +214 323 0 +214 324 0 +214 325 0 +214 326 0 +214 327 0 +214 328 0 +214 329 0 +214 330 0 +214 331 0 +214 332 0 +214 333 0 +214 334 0 +214 335 0 +214 336 0 +214 337 0 +214 338 0 +214 339 0 +214 340 0 +214 341 0 +214 342 0 +214 343 0 +214 344 0 +214 345 0 +214 346 0 +214 347 0 +214 348 0 +214 349 0 +214 350 0 +214 351 0 +214 352 0 +214 353 0 +214 354 0 +214 355 0 +214 356 0 +214 357 0 +214 358 0 +214 359 0 +214 360 0 +214 361 0 +214 362 0 +214 363 0 +214 364 0 +214 365 0 +214 366 0 +214 367 0 +214 368 0 +214 369 0 +214 370 0 +214 371 0 +214 372 0 +214 373 0 +214 374 0 +214 375 0 +214 376 0 +214 377 0 +214 378 0 +214 379 0 +214 380 0 +214 381 0 +214 382 0 +214 383 0 +215 216 0 +215 217 0 +215 218 0 +215 219 0 +215 220 0 +215 221 0 +215 222 0 +215 223 0 +215 224 0 +215 225 0 +215 226 0 +215 227 0 +215 228 0 +215 229 0 +215 230 0 +215 231 0 +215 232 0 +215 233 0 +215 234 0 +215 235 0 +215 236 0 +215 237 0 +215 238 0 +215 239 0 +215 240 0 +215 241 0 +215 242 0 +215 243 0 +215 244 0 +215 245 0 +215 246 0 +215 247 0 +215 248 0 +215 249 0 +215 250 0 +215 251 0 +215 252 0 +215 253 0 +215 254 0 +215 255 0 +215 256 0 +215 257 0 +215 258 0 +215 259 0 +215 260 0 +215 261 0 +215 262 0 +215 263 0 +215 264 0 +215 265 0 +215 266 0 +215 267 0 +215 268 0 +215 269 0 +215 270 0 +215 271 0 +215 272 0 +215 273 0 +215 274 0 +215 275 0 +215 276 0 +215 277 0 +215 278 0 +215 279 0 +215 280 0 +215 281 0 +215 282 0 +215 283 0 +215 284 0 +215 285 0 +215 286 0 +215 287 0 +215 288 0 +215 289 0 +215 290 0 +215 291 0 +215 292 0 +215 293 0 +215 294 0 +215 295 0 +215 296 0 +215 297 0 +215 298 0 +215 299 0 +215 300 0 +215 301 0 +215 302 0 +215 303 0 +215 304 0 +215 305 0 +215 306 0 +215 307 0 +215 308 0 +215 309 0 +215 310 0 +215 311 0 +215 312 0 +215 313 0 +215 314 0 +215 315 0 +215 316 0 +215 317 0 +215 318 0 +215 319 0 +215 320 0 +215 321 0 +215 322 0 +215 323 0 +215 324 0 +215 325 0 +215 326 0 +215 327 0 +215 328 0 +215 329 0 +215 330 0 +215 331 0 +215 332 0 +215 333 0 +215 334 0 +215 335 0 +215 336 0 +215 337 0 +215 338 0 +215 339 0 +215 340 0 +215 341 0 +215 342 0 +215 343 0 +215 344 0 +215 345 0 +215 346 0 +215 347 0 +215 348 0 +215 349 0 +215 350 0 +215 351 0 +215 352 0 +215 353 0 +215 354 0 +215 355 0 +215 356 0 +215 357 0 +215 358 0 +215 359 0 +215 360 0 +215 361 0 +215 362 0 +215 363 0 +215 364 0 +215 365 0 +215 366 0 +215 367 0 +215 368 0 +215 369 0 +215 370 0 +215 371 0 +215 372 0 +215 373 0 +215 374 0 +215 375 0 +215 376 0 +215 377 0 +215 378 0 +215 379 0 +215 380 0 +215 381 0 +215 382 0 +215 383 0 +216 217 0 +216 218 0 +216 219 0 +216 220 0 +216 221 0 +216 222 0 +216 223 0 +216 224 0 +216 225 0 +216 226 0 +216 227 0 +216 228 0 +216 229 0 +216 230 0 +216 231 0 +216 232 0 +216 233 0 +216 234 0 +216 235 0 +216 236 0 +216 237 0 +216 238 0 +216 239 0 +216 240 0 +216 241 0 +216 242 0 +216 243 0 +216 244 0 +216 245 0 +216 246 0 +216 247 0 +216 248 0 +216 249 0 +216 250 0 +216 251 0 +216 252 0 +216 253 0 +216 254 0 +216 255 0 +216 256 0 +216 257 0 +216 258 0 +216 259 0 +216 260 0 +216 261 0 +216 262 0 +216 263 0 +216 264 0 +216 265 0 +216 266 0 +216 267 0 +216 268 0 +216 269 0 +216 270 0 +216 271 0 +216 272 0 +216 273 0 +216 274 0 +216 275 0 +216 276 0 +216 277 0 +216 278 0 +216 279 0 +216 280 0 +216 281 0 +216 282 0 +216 283 0 +216 284 0 +216 285 0 +216 286 0 +216 287 0 +216 288 0 +216 289 0 +216 290 0 +216 291 0 +216 292 0 +216 293 0 +216 294 0 +216 295 0 +216 296 0 +216 297 0 +216 298 0 +216 299 0 +216 300 0 +216 301 0 +216 302 0 +216 303 0 +216 304 0 +216 305 0 +216 306 0 +216 307 0 +216 308 0 +216 309 0 +216 310 0 +216 311 0 +216 312 0 +216 313 0 +216 314 0 +216 315 0 +216 316 0 +216 317 0 +216 318 0 +216 319 0 +216 320 0 +216 321 0 +216 322 0 +216 323 0 +216 324 0 +216 325 0 +216 326 0 +216 327 0 +216 328 0 +216 329 0 +216 330 0 +216 331 0 +216 332 0 +216 333 0 +216 334 0 +216 335 0 +216 336 0 +216 337 0 +216 338 0 +216 339 0 +216 340 0 +216 341 0 +216 342 0 +216 343 0 +216 344 0 +216 345 0 +216 346 0 +216 347 0 +216 348 0 +216 349 0 +216 350 0 +216 351 0 +216 352 0 +216 353 0 +216 354 0 +216 355 0 +216 356 0 +216 357 0 +216 358 0 +216 359 0 +216 360 0 +216 361 0 +216 362 0 +216 363 0 +216 364 0 +216 365 0 +216 366 0 +216 367 0 +216 368 0 +216 369 0 +216 370 0 +216 371 0 +216 372 0 +216 373 0 +216 374 0 +216 375 0 +216 376 0 +216 377 0 +216 378 0 +216 379 0 +216 380 0 +216 381 0 +216 382 0 +216 383 0 +217 218 0 +217 219 0 +217 220 0 +217 221 0 +217 222 0 +217 223 0 +217 224 0 +217 225 0 +217 226 0 +217 227 0 +217 228 0 +217 229 0 +217 230 0 +217 231 0 +217 232 0 +217 233 0 +217 234 0 +217 235 0 +217 236 0 +217 237 0 +217 238 0 +217 239 0 +217 240 0 +217 241 0 +217 242 0 +217 243 0 +217 244 0 +217 245 0 +217 246 0 +217 247 0 +217 248 0 +217 249 0 +217 250 0 +217 251 0 +217 252 0 +217 253 0 +217 254 0 +217 255 0 +217 256 0 +217 257 0 +217 258 0 +217 259 0 +217 260 0 +217 261 0 +217 262 0 +217 263 0 +217 264 0 +217 265 0 +217 266 0 +217 267 0 +217 268 0 +217 269 0 +217 270 0 +217 271 0 +217 272 0 +217 273 0 +217 274 0 +217 275 0 +217 276 0 +217 277 0 +217 278 0 +217 279 0 +217 280 0 +217 281 0 +217 282 0 +217 283 0 +217 284 0 +217 285 0 +217 286 0 +217 287 0 +217 288 0 +217 289 0 +217 290 0 +217 291 0 +217 292 0 +217 293 0 +217 294 0 +217 295 0 +217 296 0 +217 297 0 +217 298 0 +217 299 0 +217 300 0 +217 301 0 +217 302 0 +217 303 0 +217 304 0 +217 305 0 +217 306 0 +217 307 0 +217 308 0 +217 309 0 +217 310 0 +217 311 0 +217 312 0 +217 313 0 +217 314 0 +217 315 0 +217 316 0 +217 317 0 +217 318 0 +217 319 0 +217 320 0 +217 321 0 +217 322 0 +217 323 0 +217 324 0 +217 325 0 +217 326 0 +217 327 0 +217 328 0 +217 329 0 +217 330 0 +217 331 0 +217 332 0 +217 333 0 +217 334 0 +217 335 0 +217 336 0 +217 337 0 +217 338 0 +217 339 0 +217 340 0 +217 341 0 +217 342 0 +217 343 0 +217 344 0 +217 345 0 +217 346 0 +217 347 0 +217 348 0 +217 349 0 +217 350 0 +217 351 0 +217 352 0 +217 353 0 +217 354 0 +217 355 0 +217 356 0 +217 357 0 +217 358 0 +217 359 0 +217 360 0 +217 361 0 +217 362 0 +217 363 0 +217 364 0 +217 365 0 +217 366 0 +217 367 0 +217 368 0 +217 369 0 +217 370 0 +217 371 0 +217 372 0 +217 373 0 +217 374 0 +217 375 0 +217 376 0 +217 377 0 +217 378 0 +217 379 0 +217 380 0 +217 381 0 +217 382 0 +217 383 0 +218 219 0 +218 220 0 +218 221 0 +218 222 0 +218 223 0 +218 224 0 +218 225 0 +218 226 0 +218 227 0 +218 228 0 +218 229 0 +218 230 0 +218 231 0 +218 232 0 +218 233 0 +218 234 0 +218 235 0 +218 236 0 +218 237 0 +218 238 0 +218 239 0 +218 240 0 +218 241 0 +218 242 0 +218 243 0 +218 244 0 +218 245 0 +218 246 0 +218 247 0 +218 248 0 +218 249 0 +218 250 0 +218 251 0 +218 252 0 +218 253 0 +218 254 0 +218 255 0 +218 256 0 +218 257 0 +218 258 0 +218 259 0 +218 260 0 +218 261 0 +218 262 0 +218 263 0 +218 264 0 +218 265 0 +218 266 0 +218 267 0 +218 268 0 +218 269 0 +218 270 0 +218 271 0 +218 272 0 +218 273 0 +218 274 0 +218 275 0 +218 276 0 +218 277 0 +218 278 0 +218 279 0 +218 280 0 +218 281 0 +218 282 0 +218 283 0 +218 284 0 +218 285 0 +218 286 0 +218 287 0 +218 288 0 +218 289 0 +218 290 0 +218 291 0 +218 292 0 +218 293 0 +218 294 0 +218 295 0 +218 296 0 +218 297 0 +218 298 0 +218 299 0 +218 300 0 +218 301 0 +218 302 0 +218 303 0 +218 304 0 +218 305 0 +218 306 0 +218 307 0 +218 308 0 +218 309 0 +218 310 0 +218 311 0 +218 312 0 +218 313 0 +218 314 0 +218 315 0 +218 316 0 +218 317 0 +218 318 0 +218 319 0 +218 320 0 +218 321 0 +218 322 0 +218 323 0 +218 324 0 +218 325 0 +218 326 0 +218 327 0 +218 328 0 +218 329 0 +218 330 0 +218 331 0 +218 332 0 +218 333 0 +218 334 0 +218 335 0 +218 336 0 +218 337 0 +218 338 0 +218 339 0 +218 340 0 +218 341 0 +218 342 0 +218 343 0 +218 344 0 +218 345 0 +218 346 0 +218 347 0 +218 348 0 +218 349 0 +218 350 0 +218 351 0 +218 352 0 +218 353 0 +218 354 0 +218 355 0 +218 356 0 +218 357 0 +218 358 0 +218 359 0 +218 360 0 +218 361 0 +218 362 0 +218 363 0 +218 364 0 +218 365 0 +218 366 0 +218 367 0 +218 368 0 +218 369 0 +218 370 0 +218 371 0 +218 372 0 +218 373 0 +218 374 0 +218 375 0 +218 376 0 +218 377 0 +218 378 0 +218 379 0 +218 380 0 +218 381 0 +218 382 0 +218 383 0 +219 220 0 +219 221 0 +219 222 0 +219 223 0 +219 224 0 +219 225 0 +219 226 0 +219 227 0 +219 228 0 +219 229 0 +219 230 0 +219 231 0 +219 232 0 +219 233 0 +219 234 0 +219 235 0 +219 236 0 +219 237 0 +219 238 0 +219 239 0 +219 240 0 +219 241 0 +219 242 0 +219 243 0 +219 244 0 +219 245 0 +219 246 0 +219 247 0 +219 248 0 +219 249 0 +219 250 0 +219 251 0 +219 252 0 +219 253 0 +219 254 0 +219 255 0 +219 256 0 +219 257 0 +219 258 0 +219 259 0 +219 260 0 +219 261 0 +219 262 0 +219 263 0 +219 264 0 +219 265 0 +219 266 0 +219 267 0 +219 268 0 +219 269 0 +219 270 0 +219 271 0 +219 272 0 +219 273 0 +219 274 0 +219 275 0 +219 276 0 +219 277 0 +219 278 0 +219 279 0 +219 280 0 +219 281 0 +219 282 0 +219 283 0 +219 284 0 +219 285 0 +219 286 0 +219 287 0 +219 288 0 +219 289 0 +219 290 0 +219 291 0 +219 292 0 +219 293 0 +219 294 0 +219 295 0 +219 296 0 +219 297 0 +219 298 0 +219 299 0 +219 300 0 +219 301 0 +219 302 0 +219 303 0 +219 304 0 +219 305 0 +219 306 0 +219 307 0 +219 308 0 +219 309 0 +219 310 0 +219 311 0 +219 312 0 +219 313 0 +219 314 0 +219 315 0 +219 316 0 +219 317 0 +219 318 0 +219 319 0 +219 320 0 +219 321 0 +219 322 0 +219 323 0 +219 324 0 +219 325 0 +219 326 0 +219 327 0 +219 328 0 +219 329 0 +219 330 0 +219 331 0 +219 332 0 +219 333 0 +219 334 0 +219 335 0 +219 336 0 +219 337 0 +219 338 0 +219 339 0 +219 340 0 +219 341 0 +219 342 0 +219 343 0 +219 344 0 +219 345 0 +219 346 0 +219 347 0 +219 348 0 +219 349 0 +219 350 0 +219 351 0 +219 352 0 +219 353 0 +219 354 0 +219 355 0 +219 356 0 +219 357 0 +219 358 0 +219 359 0 +219 360 0 +219 361 0 +219 362 0 +219 363 0 +219 364 0 +219 365 0 +219 366 0 +219 367 0 +219 368 0 +219 369 0 +219 370 0 +219 371 0 +219 372 0 +219 373 0 +219 374 0 +219 375 0 +219 376 0 +219 377 0 +219 378 0 +219 379 0 +219 380 0 +219 381 0 +219 382 0 +219 383 0 +220 221 0 +220 222 0 +220 223 0 +220 224 0 +220 225 0 +220 226 0 +220 227 0 +220 228 0 +220 229 0 +220 230 0 +220 231 0 +220 232 0 +220 233 0 +220 234 0 +220 235 0 +220 236 0 +220 237 0 +220 238 0 +220 239 0 +220 240 0 +220 241 0 +220 242 0 +220 243 0 +220 244 0 +220 245 0 +220 246 0 +220 247 0 +220 248 0 +220 249 0 +220 250 0 +220 251 0 +220 252 0 +220 253 0 +220 254 0 +220 255 0 +220 256 0 +220 257 0 +220 258 0 +220 259 0 +220 260 0 +220 261 0 +220 262 0 +220 263 0 +220 264 0 +220 265 0 +220 266 0 +220 267 0 +220 268 0 +220 269 0 +220 270 0 +220 271 0 +220 272 0 +220 273 0 +220 274 0 +220 275 0 +220 276 0 +220 277 0 +220 278 0 +220 279 0 +220 280 0 +220 281 0 +220 282 0 +220 283 0 +220 284 0 +220 285 0 +220 286 0 +220 287 0 +220 288 0 +220 289 0 +220 290 0 +220 291 0 +220 292 0 +220 293 0 +220 294 0 +220 295 0 +220 296 0 +220 297 0 +220 298 0 +220 299 0 +220 300 0 +220 301 0 +220 302 0 +220 303 0 +220 304 0 +220 305 0 +220 306 0 +220 307 0 +220 308 0 +220 309 0 +220 310 0 +220 311 0 +220 312 0 +220 313 0 +220 314 0 +220 315 0 +220 316 0 +220 317 0 +220 318 0 +220 319 0 +220 320 0 +220 321 0 +220 322 0 +220 323 0 +220 324 0 +220 325 0 +220 326 0 +220 327 0 +220 328 0 +220 329 0 +220 330 0 +220 331 0 +220 332 0 +220 333 0 +220 334 0 +220 335 0 +220 336 0 +220 337 0 +220 338 0 +220 339 0 +220 340 0 +220 341 0 +220 342 0 +220 343 0 +220 344 0 +220 345 0 +220 346 0 +220 347 0 +220 348 0 +220 349 0 +220 350 0 +220 351 0 +220 352 0 +220 353 0 +220 354 0 +220 355 0 +220 356 0 +220 357 0 +220 358 0 +220 359 0 +220 360 0 +220 361 0 +220 362 0 +220 363 0 +220 364 0 +220 365 0 +220 366 0 +220 367 0 +220 368 0 +220 369 0 +220 370 0 +220 371 0 +220 372 0 +220 373 0 +220 374 0 +220 375 0 +220 376 0 +220 377 0 +220 378 0 +220 379 0 +220 380 0 +220 381 0 +220 382 0 +220 383 0 +221 222 0 +221 223 0 +221 224 0 +221 225 0 +221 226 0 +221 227 0 +221 228 0 +221 229 0 +221 230 0 +221 231 0 +221 232 0 +221 233 0 +221 234 0 +221 235 0 +221 236 0 +221 237 0 +221 238 0 +221 239 0 +221 240 0 +221 241 0 +221 242 0 +221 243 0 +221 244 0 +221 245 0 +221 246 0 +221 247 0 +221 248 0 +221 249 0 +221 250 0 +221 251 0 +221 252 0 +221 253 0 +221 254 0 +221 255 0 +221 256 0 +221 257 0 +221 258 0 +221 259 0 +221 260 0 +221 261 0 +221 262 0 +221 263 0 +221 264 0 +221 265 0 +221 266 0 +221 267 0 +221 268 0 +221 269 0 +221 270 0 +221 271 0 +221 272 0 +221 273 0 +221 274 0 +221 275 0 +221 276 0 +221 277 0 +221 278 0 +221 279 0 +221 280 0 +221 281 0 +221 282 0 +221 283 0 +221 284 0 +221 285 0 +221 286 0 +221 287 0 +221 288 0 +221 289 0 +221 290 0 +221 291 0 +221 292 0 +221 293 0 +221 294 0 +221 295 0 +221 296 0 +221 297 0 +221 298 0 +221 299 0 +221 300 0 +221 301 0 +221 302 0 +221 303 0 +221 304 0 +221 305 0 +221 306 0 +221 307 0 +221 308 0 +221 309 0 +221 310 0 +221 311 0 +221 312 0 +221 313 0 +221 314 0 +221 315 0 +221 316 0 +221 317 0 +221 318 0 +221 319 0 +221 320 0 +221 321 0 +221 322 0 +221 323 0 +221 324 0 +221 325 0 +221 326 0 +221 327 0 +221 328 0 +221 329 0 +221 330 0 +221 331 0 +221 332 0 +221 333 0 +221 334 0 +221 335 0 +221 336 0 +221 337 0 +221 338 0 +221 339 0 +221 340 0 +221 341 0 +221 342 0 +221 343 0 +221 344 0 +221 345 0 +221 346 0 +221 347 0 +221 348 0 +221 349 0 +221 350 0 +221 351 0 +221 352 0 +221 353 0 +221 354 0 +221 355 0 +221 356 0 +221 357 0 +221 358 0 +221 359 0 +221 360 0 +221 361 0 +221 362 0 +221 363 0 +221 364 0 +221 365 0 +221 366 0 +221 367 0 +221 368 0 +221 369 0 +221 370 0 +221 371 0 +221 372 0 +221 373 0 +221 374 0 +221 375 0 +221 376 0 +221 377 0 +221 378 0 +221 379 0 +221 380 0 +221 381 0 +221 382 0 +221 383 0 +222 223 0 +222 224 0 +222 225 0 +222 226 0 +222 227 0 +222 228 0 +222 229 0 +222 230 0 +222 231 0 +222 232 0 +222 233 0 +222 234 0 +222 235 0 +222 236 0 +222 237 0 +222 238 0 +222 239 0 +222 240 0 +222 241 0 +222 242 0 +222 243 0 +222 244 0 +222 245 0 +222 246 0 +222 247 0 +222 248 0 +222 249 0 +222 250 0 +222 251 0 +222 252 0 +222 253 0 +222 254 0 +222 255 0 +222 256 0 +222 257 0 +222 258 0 +222 259 0 +222 260 0 +222 261 0 +222 262 0 +222 263 0 +222 264 0 +222 265 0 +222 266 0 +222 267 0 +222 268 0 +222 269 0 +222 270 0 +222 271 0 +222 272 0 +222 273 0 +222 274 0 +222 275 0 +222 276 0 +222 277 0 +222 278 0 +222 279 0 +222 280 0 +222 281 0 +222 282 0 +222 283 0 +222 284 0 +222 285 0 +222 286 0 +222 287 0 +222 288 0 +222 289 0 +222 290 0 +222 291 0 +222 292 0 +222 293 0 +222 294 0 +222 295 0 +222 296 0 +222 297 0 +222 298 0 +222 299 0 +222 300 0 +222 301 0 +222 302 0 +222 303 0 +222 304 0 +222 305 0 +222 306 0 +222 307 0 +222 308 0 +222 309 0 +222 310 0 +222 311 0 +222 312 0 +222 313 0 +222 314 0 +222 315 0 +222 316 0 +222 317 0 +222 318 0 +222 319 0 +222 320 0 +222 321 0 +222 322 0 +222 323 0 +222 324 0 +222 325 0 +222 326 0 +222 327 0 +222 328 0 +222 329 0 +222 330 0 +222 331 0 +222 332 0 +222 333 0 +222 334 0 +222 335 0 +222 336 0 +222 337 0 +222 338 0 +222 339 0 +222 340 0 +222 341 0 +222 342 0 +222 343 0 +222 344 0 +222 345 0 +222 346 0 +222 347 0 +222 348 0 +222 349 0 +222 350 0 +222 351 0 +222 352 0 +222 353 0 +222 354 0 +222 355 0 +222 356 0 +222 357 0 +222 358 0 +222 359 0 +222 360 0 +222 361 0 +222 362 0 +222 363 0 +222 364 0 +222 365 0 +222 366 0 +222 367 0 +222 368 0 +222 369 0 +222 370 0 +222 371 0 +222 372 0 +222 373 0 +222 374 0 +222 375 0 +222 376 0 +222 377 0 +222 378 0 +222 379 0 +222 380 0 +222 381 0 +222 382 0 +222 383 0 +223 224 0 +223 225 0 +223 226 0 +223 227 0 +223 228 0 +223 229 0 +223 230 0 +223 231 0 +223 232 0 +223 233 0 +223 234 0 +223 235 0 +223 236 0 +223 237 0 +223 238 0 +223 239 0 +223 240 0 +223 241 0 +223 242 0 +223 243 0 +223 244 0 +223 245 0 +223 246 0 +223 247 0 +223 248 0 +223 249 0 +223 250 0 +223 251 0 +223 252 0 +223 253 0 +223 254 0 +223 255 0 +223 256 0 +223 257 0 +223 258 0 +223 259 0 +223 260 0 +223 261 0 +223 262 0 +223 263 0 +223 264 0 +223 265 0 +223 266 0 +223 267 0 +223 268 0 +223 269 0 +223 270 0 +223 271 0 +223 272 0 +223 273 0 +223 274 0 +223 275 0 +223 276 0 +223 277 0 +223 278 0 +223 279 0 +223 280 0 +223 281 0 +223 282 0 +223 283 0 +223 284 0 +223 285 0 +223 286 0 +223 287 0 +223 288 0 +223 289 0 +223 290 0 +223 291 0 +223 292 0 +223 293 0 +223 294 0 +223 295 0 +223 296 0 +223 297 0 +223 298 0 +223 299 0 +223 300 0 +223 301 0 +223 302 0 +223 303 0 +223 304 0 +223 305 0 +223 306 0 +223 307 0 +223 308 0 +223 309 0 +223 310 0 +223 311 0 +223 312 0 +223 313 0 +223 314 0 +223 315 0 +223 316 0 +223 317 0 +223 318 0 +223 319 0 +223 320 0 +223 321 0 +223 322 0 +223 323 0 +223 324 0 +223 325 0 +223 326 0 +223 327 0 +223 328 0 +223 329 0 +223 330 0 +223 331 0 +223 332 0 +223 333 0 +223 334 0 +223 335 0 +223 336 0 +223 337 0 +223 338 0 +223 339 0 +223 340 0 +223 341 0 +223 342 0 +223 343 0 +223 344 0 +223 345 0 +223 346 0 +223 347 0 +223 348 0 +223 349 0 +223 350 0 +223 351 0 +223 352 0 +223 353 0 +223 354 0 +223 355 0 +223 356 0 +223 357 0 +223 358 0 +223 359 0 +223 360 0 +223 361 0 +223 362 0 +223 363 0 +223 364 0 +223 365 0 +223 366 0 +223 367 0 +223 368 0 +223 369 0 +223 370 0 +223 371 0 +223 372 0 +223 373 0 +223 374 0 +223 375 0 +223 376 0 +223 377 0 +223 378 0 +223 379 0 +223 380 0 +223 381 0 +223 382 0 +223 383 0 +224 225 0 +224 226 0 +224 227 0 +224 228 0 +224 229 0 +224 230 0 +224 231 0 +224 232 0 +224 233 0 +224 234 0 +224 235 0 +224 236 0 +224 237 0 +224 238 0 +224 239 0 +224 240 0 +224 241 0 +224 242 0 +224 243 0 +224 244 0 +224 245 0 +224 246 0 +224 247 0 +224 248 0 +224 249 0 +224 250 0 +224 251 0 +224 252 0 +224 253 0 +224 254 0 +224 255 0 +224 256 0 +224 257 0 +224 258 0 +224 259 0 +224 260 0 +224 261 0 +224 262 0 +224 263 0 +224 264 0 +224 265 0 +224 266 0 +224 267 0 +224 268 0 +224 269 0 +224 270 0 +224 271 0 +224 272 0 +224 273 0 +224 274 0 +224 275 0 +224 276 0 +224 277 0 +224 278 0 +224 279 0 +224 280 0 +224 281 0 +224 282 0 +224 283 0 +224 284 0 +224 285 0 +224 286 0 +224 287 0 +224 288 0 +224 289 0 +224 290 0 +224 291 0 +224 292 0 +224 293 0 +224 294 0 +224 295 0 +224 296 0 +224 297 0 +224 298 0 +224 299 0 +224 300 0 +224 301 0 +224 302 0 +224 303 0 +224 304 0 +224 305 0 +224 306 0 +224 307 0 +224 308 0 +224 309 0 +224 310 0 +224 311 0 +224 312 0 +224 313 0 +224 314 0 +224 315 0 +224 316 0 +224 317 0 +224 318 0 +224 319 0 +224 320 0 +224 321 0 +224 322 0 +224 323 0 +224 324 0 +224 325 0 +224 326 0 +224 327 0 +224 328 0 +224 329 0 +224 330 0 +224 331 0 +224 332 0 +224 333 0 +224 334 0 +224 335 0 +224 336 0 +224 337 0 +224 338 0 +224 339 0 +224 340 0 +224 341 0 +224 342 0 +224 343 0 +224 344 0 +224 345 0 +224 346 0 +224 347 0 +224 348 0 +224 349 0 +224 350 0 +224 351 0 +224 352 0 +224 353 0 +224 354 0 +224 355 0 +224 356 0 +224 357 0 +224 358 0 +224 359 0 +224 360 0 +224 361 0 +224 362 0 +224 363 0 +224 364 0 +224 365 0 +224 366 0 +224 367 0 +224 368 0 +224 369 0 +224 370 0 +224 371 0 +224 372 0 +224 373 0 +224 374 0 +224 375 0 +224 376 0 +224 377 0 +224 378 0 +224 379 0 +224 380 0 +224 381 0 +224 382 0 +224 383 0 +225 226 0 +225 227 0 +225 228 0 +225 229 0 +225 230 0 +225 231 0 +225 232 0 +225 233 0 +225 234 0 +225 235 0 +225 236 0 +225 237 0 +225 238 0 +225 239 0 +225 240 0 +225 241 0 +225 242 0 +225 243 0 +225 244 0 +225 245 0 +225 246 0 +225 247 0 +225 248 0 +225 249 0 +225 250 0 +225 251 0 +225 252 0 +225 253 0 +225 254 0 +225 255 0 +225 256 0 +225 257 0 +225 258 0 +225 259 0 +225 260 0 +225 261 0 +225 262 0 +225 263 0 +225 264 0 +225 265 0 +225 266 0 +225 267 0 +225 268 0 +225 269 0 +225 270 0 +225 271 0 +225 272 0 +225 273 0 +225 274 0 +225 275 0 +225 276 0 +225 277 0 +225 278 0 +225 279 0 +225 280 0 +225 281 0 +225 282 0 +225 283 0 +225 284 0 +225 285 0 +225 286 0 +225 287 0 +225 288 0 +225 289 0 +225 290 0 +225 291 0 +225 292 0 +225 293 0 +225 294 0 +225 295 0 +225 296 0 +225 297 0 +225 298 0 +225 299 0 +225 300 0 +225 301 0 +225 302 0 +225 303 0 +225 304 0 +225 305 0 +225 306 0 +225 307 0 +225 308 0 +225 309 0 +225 310 0 +225 311 0 +225 312 0 +225 313 0 +225 314 0 +225 315 0 +225 316 0 +225 317 0 +225 318 0 +225 319 0 +225 320 0 +225 321 0 +225 322 0 +225 323 0 +225 324 0 +225 325 0 +225 326 0 +225 327 0 +225 328 0 +225 329 0 +225 330 0 +225 331 0 +225 332 0 +225 333 0 +225 334 0 +225 335 0 +225 336 0 +225 337 0 +225 338 0 +225 339 0 +225 340 0 +225 341 0 +225 342 0 +225 343 0 +225 344 0 +225 345 0 +225 346 0 +225 347 0 +225 348 0 +225 349 0 +225 350 0 +225 351 0 +225 352 0 +225 353 0 +225 354 0 +225 355 0 +225 356 0 +225 357 0 +225 358 0 +225 359 0 +225 360 0 +225 361 0 +225 362 0 +225 363 0 +225 364 0 +225 365 0 +225 366 0 +225 367 0 +225 368 0 +225 369 0 +225 370 0 +225 371 0 +225 372 0 +225 373 0 +225 374 0 +225 375 0 +225 376 0 +225 377 0 +225 378 0 +225 379 0 +225 380 0 +225 381 0 +225 382 0 +225 383 0 +226 227 0 +226 228 0 +226 229 0 +226 230 0 +226 231 0 +226 232 0 +226 233 0 +226 234 0 +226 235 0 +226 236 0 +226 237 0 +226 238 0 +226 239 0 +226 240 0 +226 241 0 +226 242 0 +226 243 0 +226 244 0 +226 245 0 +226 246 0 +226 247 0 +226 248 0 +226 249 0 +226 250 0 +226 251 0 +226 252 0 +226 253 0 +226 254 0 +226 255 0 +226 256 0 +226 257 0 +226 258 0 +226 259 0 +226 260 0 +226 261 0 +226 262 0 +226 263 0 +226 264 0 +226 265 0 +226 266 0 +226 267 0 +226 268 0 +226 269 0 +226 270 0 +226 271 0 +226 272 0 +226 273 0 +226 274 0 +226 275 0 +226 276 0 +226 277 0 +226 278 0 +226 279 0 +226 280 0 +226 281 0 +226 282 0 +226 283 0 +226 284 0 +226 285 0 +226 286 0 +226 287 0 +226 288 0 +226 289 0 +226 290 0 +226 291 0 +226 292 0 +226 293 0 +226 294 0 +226 295 0 +226 296 0 +226 297 0 +226 298 0 +226 299 0 +226 300 0 +226 301 0 +226 302 0 +226 303 0 +226 304 0 +226 305 0 +226 306 0 +226 307 0 +226 308 0 +226 309 0 +226 310 0 +226 311 0 +226 312 0 +226 313 0 +226 314 0 +226 315 0 +226 316 0 +226 317 0 +226 318 0 +226 319 0 +226 320 0 +226 321 0 +226 322 0 +226 323 0 +226 324 0 +226 325 0 +226 326 0 +226 327 0 +226 328 0 +226 329 0 +226 330 0 +226 331 0 +226 332 0 +226 333 0 +226 334 0 +226 335 0 +226 336 0 +226 337 0 +226 338 0 +226 339 0 +226 340 0 +226 341 0 +226 342 0 +226 343 0 +226 344 0 +226 345 0 +226 346 0 +226 347 0 +226 348 0 +226 349 0 +226 350 0 +226 351 0 +226 352 0 +226 353 0 +226 354 0 +226 355 0 +226 356 0 +226 357 0 +226 358 0 +226 359 0 +226 360 0 +226 361 0 +226 362 0 +226 363 0 +226 364 0 +226 365 0 +226 366 0 +226 367 0 +226 368 0 +226 369 0 +226 370 0 +226 371 0 +226 372 0 +226 373 0 +226 374 0 +226 375 0 +226 376 0 +226 377 0 +226 378 0 +226 379 0 +226 380 0 +226 381 0 +226 382 0 +226 383 0 +227 228 0 +227 229 0 +227 230 0 +227 231 0 +227 232 0 +227 233 0 +227 234 0 +227 235 0 +227 236 0 +227 237 0 +227 238 0 +227 239 0 +227 240 0 +227 241 0 +227 242 0 +227 243 0 +227 244 0 +227 245 0 +227 246 0 +227 247 0 +227 248 0 +227 249 0 +227 250 0 +227 251 0 +227 252 0 +227 253 0 +227 254 0 +227 255 0 +227 256 0 +227 257 0 +227 258 0 +227 259 0 +227 260 0 +227 261 0 +227 262 0 +227 263 0 +227 264 0 +227 265 0 +227 266 0 +227 267 0 +227 268 0 +227 269 0 +227 270 0 +227 271 0 +227 272 0 +227 273 0 +227 274 0 +227 275 0 +227 276 0 +227 277 0 +227 278 0 +227 279 0 +227 280 0 +227 281 0 +227 282 0 +227 283 0 +227 284 0 +227 285 0 +227 286 0 +227 287 0 +227 288 0 +227 289 0 +227 290 0 +227 291 0 +227 292 0 +227 293 0 +227 294 0 +227 295 0 +227 296 0 +227 297 0 +227 298 0 +227 299 0 +227 300 0 +227 301 0 +227 302 0 +227 303 0 +227 304 0 +227 305 0 +227 306 0 +227 307 0 +227 308 0 +227 309 0 +227 310 0 +227 311 0 +227 312 0 +227 313 0 +227 314 0 +227 315 0 +227 316 0 +227 317 0 +227 318 0 +227 319 0 +227 320 0 +227 321 0 +227 322 0 +227 323 0 +227 324 0 +227 325 0 +227 326 0 +227 327 0 +227 328 0 +227 329 0 +227 330 0 +227 331 0 +227 332 0 +227 333 0 +227 334 0 +227 335 0 +227 336 0 +227 337 0 +227 338 0 +227 339 0 +227 340 0 +227 341 0 +227 342 0 +227 343 0 +227 344 0 +227 345 0 +227 346 0 +227 347 0 +227 348 0 +227 349 0 +227 350 0 +227 351 0 +227 352 0 +227 353 0 +227 354 0 +227 355 0 +227 356 0 +227 357 0 +227 358 0 +227 359 0 +227 360 0 +227 361 0 +227 362 0 +227 363 0 +227 364 0 +227 365 0 +227 366 0 +227 367 0 +227 368 0 +227 369 0 +227 370 0 +227 371 0 +227 372 0 +227 373 0 +227 374 0 +227 375 0 +227 376 0 +227 377 0 +227 378 0 +227 379 0 +227 380 0 +227 381 0 +227 382 0 +227 383 0 +228 229 0 +228 230 0 +228 231 0 +228 232 0 +228 233 0 +228 234 0 +228 235 0 +228 236 0 +228 237 0 +228 238 0 +228 239 0 +228 240 0 +228 241 0 +228 242 0 +228 243 0 +228 244 0 +228 245 0 +228 246 0 +228 247 0 +228 248 0 +228 249 0 +228 250 0 +228 251 0 +228 252 0 +228 253 0 +228 254 0 +228 255 0 +228 256 0 +228 257 0 +228 258 0 +228 259 0 +228 260 0 +228 261 0 +228 262 0 +228 263 0 +228 264 0 +228 265 0 +228 266 0 +228 267 0 +228 268 0 +228 269 0 +228 270 0 +228 271 0 +228 272 0 +228 273 0 +228 274 0 +228 275 0 +228 276 0 +228 277 0 +228 278 0 +228 279 0 +228 280 0 +228 281 0 +228 282 0 +228 283 0 +228 284 0 +228 285 0 +228 286 0 +228 287 0 +228 288 0 +228 289 0 +228 290 0 +228 291 0 +228 292 0 +228 293 0 +228 294 0 +228 295 0 +228 296 0 +228 297 0 +228 298 0 +228 299 0 +228 300 0 +228 301 0 +228 302 0 +228 303 0 +228 304 0 +228 305 0 +228 306 0 +228 307 0 +228 308 0 +228 309 0 +228 310 0 +228 311 0 +228 312 0 +228 313 0 +228 314 0 +228 315 0 +228 316 0 +228 317 0 +228 318 0 +228 319 0 +228 320 0 +228 321 0 +228 322 0 +228 323 0 +228 324 0 +228 325 0 +228 326 0 +228 327 0 +228 328 0 +228 329 0 +228 330 0 +228 331 0 +228 332 0 +228 333 0 +228 334 0 +228 335 0 +228 336 0 +228 337 0 +228 338 0 +228 339 0 +228 340 0 +228 341 0 +228 342 0 +228 343 0 +228 344 0 +228 345 0 +228 346 0 +228 347 0 +228 348 0 +228 349 0 +228 350 0 +228 351 0 +228 352 0 +228 353 0 +228 354 0 +228 355 0 +228 356 0 +228 357 0 +228 358 0 +228 359 0 +228 360 0 +228 361 0 +228 362 0 +228 363 0 +228 364 0 +228 365 0 +228 366 0 +228 367 0 +228 368 0 +228 369 0 +228 370 0 +228 371 0 +228 372 0 +228 373 0 +228 374 0 +228 375 0 +228 376 0 +228 377 0 +228 378 0 +228 379 0 +228 380 0 +228 381 0 +228 382 0 +228 383 0 +229 230 0 +229 231 0 +229 232 0 +229 233 0 +229 234 0 +229 235 0 +229 236 0 +229 237 0 +229 238 0 +229 239 0 +229 240 0 +229 241 0 +229 242 0 +229 243 0 +229 244 0 +229 245 0 +229 246 0 +229 247 0 +229 248 0 +229 249 0 +229 250 0 +229 251 0 +229 252 0 +229 253 0 +229 254 0 +229 255 0 +229 256 0 +229 257 0 +229 258 0 +229 259 0 +229 260 0 +229 261 0 +229 262 0 +229 263 0 +229 264 0 +229 265 0 +229 266 0 +229 267 0 +229 268 0 +229 269 0 +229 270 0 +229 271 0 +229 272 0 +229 273 0 +229 274 0 +229 275 0 +229 276 0 +229 277 0 +229 278 0 +229 279 0 +229 280 0 +229 281 0 +229 282 0 +229 283 0 +229 284 0 +229 285 0 +229 286 0 +229 287 0 +229 288 0 +229 289 0 +229 290 0 +229 291 0 +229 292 0 +229 293 0 +229 294 0 +229 295 0 +229 296 0 +229 297 0 +229 298 0 +229 299 0 +229 300 0 +229 301 0 +229 302 0 +229 303 0 +229 304 0 +229 305 0 +229 306 0 +229 307 0 +229 308 0 +229 309 0 +229 310 0 +229 311 0 +229 312 0 +229 313 0 +229 314 0 +229 315 0 +229 316 0 +229 317 0 +229 318 0 +229 319 0 +229 320 0 +229 321 0 +229 322 0 +229 323 0 +229 324 0 +229 325 0 +229 326 0 +229 327 0 +229 328 0 +229 329 0 +229 330 0 +229 331 0 +229 332 0 +229 333 0 +229 334 0 +229 335 0 +229 336 0 +229 337 0 +229 338 0 +229 339 0 +229 340 0 +229 341 0 +229 342 0 +229 343 0 +229 344 0 +229 345 0 +229 346 0 +229 347 0 +229 348 0 +229 349 0 +229 350 0 +229 351 0 +229 352 0 +229 353 0 +229 354 0 +229 355 0 +229 356 0 +229 357 0 +229 358 0 +229 359 0 +229 360 0 +229 361 0 +229 362 0 +229 363 0 +229 364 0 +229 365 0 +229 366 0 +229 367 0 +229 368 0 +229 369 0 +229 370 0 +229 371 0 +229 372 0 +229 373 0 +229 374 0 +229 375 0 +229 376 0 +229 377 0 +229 378 0 +229 379 0 +229 380 0 +229 381 0 +229 382 0 +229 383 0 +230 231 0 +230 232 0 +230 233 0 +230 234 0 +230 235 0 +230 236 0 +230 237 0 +230 238 0 +230 239 0 +230 240 0 +230 241 0 +230 242 0 +230 243 0 +230 244 0 +230 245 0 +230 246 0 +230 247 0 +230 248 0 +230 249 0 +230 250 0 +230 251 0 +230 252 0 +230 253 0 +230 254 0 +230 255 0 +230 256 0 +230 257 0 +230 258 0 +230 259 0 +230 260 0 +230 261 0 +230 262 0 +230 263 0 +230 264 0 +230 265 0 +230 266 0 +230 267 0 +230 268 0 +230 269 0 +230 270 0 +230 271 0 +230 272 0 +230 273 0 +230 274 0 +230 275 0 +230 276 0 +230 277 0 +230 278 0 +230 279 0 +230 280 0 +230 281 0 +230 282 0 +230 283 0 +230 284 0 +230 285 0 +230 286 0 +230 287 0 +230 288 0 +230 289 0 +230 290 0 +230 291 0 +230 292 0 +230 293 0 +230 294 0 +230 295 0 +230 296 0 +230 297 0 +230 298 0 +230 299 0 +230 300 0 +230 301 0 +230 302 0 +230 303 0 +230 304 0 +230 305 0 +230 306 0 +230 307 0 +230 308 0 +230 309 0 +230 310 0 +230 311 0 +230 312 0 +230 313 0 +230 314 0 +230 315 0 +230 316 0 +230 317 0 +230 318 0 +230 319 0 +230 320 0 +230 321 0 +230 322 0 +230 323 0 +230 324 0 +230 325 0 +230 326 0 +230 327 0 +230 328 0 +230 329 0 +230 330 0 +230 331 0 +230 332 0 +230 333 0 +230 334 0 +230 335 0 +230 336 0 +230 337 0 +230 338 0 +230 339 0 +230 340 0 +230 341 0 +230 342 0 +230 343 0 +230 344 0 +230 345 0 +230 346 0 +230 347 0 +230 348 0 +230 349 0 +230 350 0 +230 351 0 +230 352 0 +230 353 0 +230 354 0 +230 355 0 +230 356 0 +230 357 0 +230 358 0 +230 359 0 +230 360 0 +230 361 0 +230 362 0 +230 363 0 +230 364 0 +230 365 0 +230 366 0 +230 367 0 +230 368 0 +230 369 0 +230 370 0 +230 371 0 +230 372 0 +230 373 0 +230 374 0 +230 375 0 +230 376 0 +230 377 0 +230 378 0 +230 379 0 +230 380 0 +230 381 0 +230 382 0 +230 383 0 +231 232 0 +231 233 0 +231 234 0 +231 235 0 +231 236 0 +231 237 0 +231 238 0 +231 239 0 +231 240 0 +231 241 0 +231 242 0 +231 243 0 +231 244 0 +231 245 0 +231 246 0 +231 247 0 +231 248 0 +231 249 0 +231 250 0 +231 251 0 +231 252 0 +231 253 0 +231 254 0 +231 255 0 +231 256 0 +231 257 0 +231 258 0 +231 259 0 +231 260 0 +231 261 0 +231 262 0 +231 263 0 +231 264 0 +231 265 0 +231 266 0 +231 267 0 +231 268 0 +231 269 0 +231 270 0 +231 271 0 +231 272 0 +231 273 0 +231 274 0 +231 275 0 +231 276 0 +231 277 0 +231 278 0 +231 279 0 +231 280 0 +231 281 0 +231 282 0 +231 283 0 +231 284 0 +231 285 0 +231 286 0 +231 287 0 +231 288 0 +231 289 0 +231 290 0 +231 291 0 +231 292 0 +231 293 0 +231 294 0 +231 295 0 +231 296 0 +231 297 0 +231 298 0 +231 299 0 +231 300 0 +231 301 0 +231 302 0 +231 303 0 +231 304 0 +231 305 0 +231 306 0 +231 307 0 +231 308 0 +231 309 0 +231 310 0 +231 311 0 +231 312 0 +231 313 0 +231 314 0 +231 315 0 +231 316 0 +231 317 0 +231 318 0 +231 319 0 +231 320 0 +231 321 0 +231 322 0 +231 323 0 +231 324 0 +231 325 0 +231 326 0 +231 327 0 +231 328 0 +231 329 0 +231 330 0 +231 331 0 +231 332 0 +231 333 0 +231 334 0 +231 335 0 +231 336 0 +231 337 0 +231 338 0 +231 339 0 +231 340 0 +231 341 0 +231 342 0 +231 343 0 +231 344 0 +231 345 0 +231 346 0 +231 347 0 +231 348 0 +231 349 0 +231 350 0 +231 351 0 +231 352 0 +231 353 0 +231 354 0 +231 355 0 +231 356 0 +231 357 0 +231 358 0 +231 359 0 +231 360 0 +231 361 0 +231 362 0 +231 363 0 +231 364 0 +231 365 0 +231 366 0 +231 367 0 +231 368 0 +231 369 0 +231 370 0 +231 371 0 +231 372 0 +231 373 0 +231 374 0 +231 375 0 +231 376 0 +231 377 0 +231 378 0 +231 379 0 +231 380 0 +231 381 0 +231 382 0 +231 383 0 +232 233 0 +232 234 0 +232 235 0 +232 236 0 +232 237 0 +232 238 0 +232 239 0 +232 240 0 +232 241 0 +232 242 0 +232 243 0 +232 244 0 +232 245 0 +232 246 0 +232 247 0 +232 248 0 +232 249 0 +232 250 0 +232 251 0 +232 252 0 +232 253 0 +232 254 0 +232 255 0 +232 256 0 +232 257 0 +232 258 0 +232 259 0 +232 260 0 +232 261 0 +232 262 0 +232 263 0 +232 264 0 +232 265 0 +232 266 0 +232 267 0 +232 268 0 +232 269 0 +232 270 0 +232 271 0 +232 272 0 +232 273 0 +232 274 0 +232 275 0 +232 276 0 +232 277 0 +232 278 0 +232 279 0 +232 280 0 +232 281 0 +232 282 0 +232 283 0 +232 284 0 +232 285 0 +232 286 0 +232 287 0 +232 288 0 +232 289 0 +232 290 0 +232 291 0 +232 292 0 +232 293 0 +232 294 0 +232 295 0 +232 296 0 +232 297 0 +232 298 0 +232 299 0 +232 300 0 +232 301 0 +232 302 0 +232 303 0 +232 304 0 +232 305 0 +232 306 0 +232 307 0 +232 308 0 +232 309 0 +232 310 0 +232 311 0 +232 312 0 +232 313 0 +232 314 0 +232 315 0 +232 316 0 +232 317 0 +232 318 0 +232 319 0 +232 320 0 +232 321 0 +232 322 0 +232 323 0 +232 324 0 +232 325 0 +232 326 0 +232 327 0 +232 328 0 +232 329 0 +232 330 0 +232 331 0 +232 332 0 +232 333 0 +232 334 0 +232 335 0 +232 336 0 +232 337 0 +232 338 0 +232 339 0 +232 340 0 +232 341 0 +232 342 0 +232 343 0 +232 344 0 +232 345 0 +232 346 0 +232 347 0 +232 348 0 +232 349 0 +232 350 0 +232 351 0 +232 352 0 +232 353 0 +232 354 0 +232 355 0 +232 356 0 +232 357 0 +232 358 0 +232 359 0 +232 360 0 +232 361 0 +232 362 0 +232 363 0 +232 364 0 +232 365 0 +232 366 0 +232 367 0 +232 368 0 +232 369 0 +232 370 0 +232 371 0 +232 372 0 +232 373 0 +232 374 0 +232 375 0 +232 376 0 +232 377 0 +232 378 0 +232 379 0 +232 380 0 +232 381 0 +232 382 0 +232 383 0 +233 234 0 +233 235 0 +233 236 0 +233 237 0 +233 238 0 +233 239 0 +233 240 0 +233 241 0 +233 242 0 +233 243 0 +233 244 0 +233 245 0 +233 246 0 +233 247 0 +233 248 0 +233 249 0 +233 250 0 +233 251 0 +233 252 0 +233 253 0 +233 254 0 +233 255 0 +233 256 0 +233 257 0 +233 258 0 +233 259 0 +233 260 0 +233 261 0 +233 262 0 +233 263 0 +233 264 0 +233 265 0 +233 266 0 +233 267 0 +233 268 0 +233 269 0 +233 270 0 +233 271 0 +233 272 0 +233 273 0 +233 274 0 +233 275 0 +233 276 0 +233 277 0 +233 278 0 +233 279 0 +233 280 0 +233 281 0 +233 282 0 +233 283 0 +233 284 0 +233 285 0 +233 286 0 +233 287 0 +233 288 0 +233 289 0 +233 290 0 +233 291 0 +233 292 0 +233 293 0 +233 294 0 +233 295 0 +233 296 0 +233 297 0 +233 298 0 +233 299 0 +233 300 0 +233 301 0 +233 302 0 +233 303 0 +233 304 0 +233 305 0 +233 306 0 +233 307 0 +233 308 0 +233 309 0 +233 310 0 +233 311 0 +233 312 0 +233 313 0 +233 314 0 +233 315 0 +233 316 0 +233 317 0 +233 318 0 +233 319 0 +233 320 0 +233 321 0 +233 322 0 +233 323 0 +233 324 0 +233 325 0 +233 326 0 +233 327 0 +233 328 0 +233 329 0 +233 330 0 +233 331 0 +233 332 0 +233 333 0 +233 334 0 +233 335 0 +233 336 0 +233 337 0 +233 338 0 +233 339 0 +233 340 0 +233 341 0 +233 342 0 +233 343 0 +233 344 0 +233 345 0 +233 346 0 +233 347 0 +233 348 0 +233 349 0 +233 350 0 +233 351 0 +233 352 0 +233 353 0 +233 354 0 +233 355 0 +233 356 0 +233 357 0 +233 358 0 +233 359 0 +233 360 0 +233 361 0 +233 362 0 +233 363 0 +233 364 0 +233 365 0 +233 366 0 +233 367 0 +233 368 0 +233 369 0 +233 370 0 +233 371 0 +233 372 0 +233 373 0 +233 374 0 +233 375 0 +233 376 0 +233 377 0 +233 378 0 +233 379 0 +233 380 0 +233 381 0 +233 382 0 +233 383 0 +234 235 0 +234 236 0 +234 237 0 +234 238 0 +234 239 0 +234 240 0 +234 241 0 +234 242 0 +234 243 0 +234 244 0 +234 245 0 +234 246 0 +234 247 0 +234 248 0 +234 249 0 +234 250 0 +234 251 0 +234 252 0 +234 253 0 +234 254 0 +234 255 0 +234 256 0 +234 257 0 +234 258 0 +234 259 0 +234 260 0 +234 261 0 +234 262 0 +234 263 0 +234 264 0 +234 265 0 +234 266 0 +234 267 0 +234 268 0 +234 269 0 +234 270 0 +234 271 0 +234 272 0 +234 273 0 +234 274 0 +234 275 0 +234 276 0 +234 277 0 +234 278 0 +234 279 0 +234 280 0 +234 281 0 +234 282 0 +234 283 0 +234 284 0 +234 285 0 +234 286 0 +234 287 0 +234 288 0 +234 289 0 +234 290 0 +234 291 0 +234 292 0 +234 293 0 +234 294 0 +234 295 0 +234 296 0 +234 297 0 +234 298 0 +234 299 0 +234 300 0 +234 301 0 +234 302 0 +234 303 0 +234 304 0 +234 305 0 +234 306 0 +234 307 0 +234 308 0 +234 309 0 +234 310 0 +234 311 0 +234 312 0 +234 313 0 +234 314 0 +234 315 0 +234 316 0 +234 317 0 +234 318 0 +234 319 0 +234 320 0 +234 321 0 +234 322 0 +234 323 0 +234 324 0 +234 325 0 +234 326 0 +234 327 0 +234 328 0 +234 329 0 +234 330 0 +234 331 0 +234 332 0 +234 333 0 +234 334 0 +234 335 0 +234 336 0 +234 337 0 +234 338 0 +234 339 0 +234 340 0 +234 341 0 +234 342 0 +234 343 0 +234 344 0 +234 345 0 +234 346 0 +234 347 0 +234 348 0 +234 349 0 +234 350 0 +234 351 0 +234 352 0 +234 353 0 +234 354 0 +234 355 0 +234 356 0 +234 357 0 +234 358 0 +234 359 0 +234 360 0 +234 361 0 +234 362 0 +234 363 0 +234 364 0 +234 365 0 +234 366 0 +234 367 0 +234 368 0 +234 369 0 +234 370 0 +234 371 0 +234 372 0 +234 373 0 +234 374 0 +234 375 0 +234 376 0 +234 377 0 +234 378 0 +234 379 0 +234 380 0 +234 381 0 +234 382 0 +234 383 0 +235 236 0 +235 237 0 +235 238 0 +235 239 0 +235 240 0 +235 241 0 +235 242 0 +235 243 0 +235 244 0 +235 245 0 +235 246 0 +235 247 0 +235 248 0 +235 249 0 +235 250 0 +235 251 0 +235 252 0 +235 253 0 +235 254 0 +235 255 0 +235 256 0 +235 257 0 +235 258 0 +235 259 0 +235 260 0 +235 261 0 +235 262 0 +235 263 0 +235 264 0 +235 265 0 +235 266 0 +235 267 0 +235 268 0 +235 269 0 +235 270 0 +235 271 0 +235 272 0 +235 273 0 +235 274 0 +235 275 0 +235 276 0 +235 277 0 +235 278 0 +235 279 0 +235 280 0 +235 281 0 +235 282 0 +235 283 0 +235 284 0 +235 285 0 +235 286 0 +235 287 0 +235 288 0 +235 289 0 +235 290 0 +235 291 0 +235 292 0 +235 293 0 +235 294 0 +235 295 0 +235 296 0 +235 297 0 +235 298 0 +235 299 0 +235 300 0 +235 301 0 +235 302 0 +235 303 0 +235 304 0 +235 305 0 +235 306 0 +235 307 0 +235 308 0 +235 309 0 +235 310 0 +235 311 0 +235 312 0 +235 313 0 +235 314 0 +235 315 0 +235 316 0 +235 317 0 +235 318 0 +235 319 0 +235 320 0 +235 321 0 +235 322 0 +235 323 0 +235 324 0 +235 325 0 +235 326 0 +235 327 0 +235 328 0 +235 329 0 +235 330 0 +235 331 0 +235 332 0 +235 333 0 +235 334 0 +235 335 0 +235 336 0 +235 337 0 +235 338 0 +235 339 0 +235 340 0 +235 341 0 +235 342 0 +235 343 0 +235 344 0 +235 345 0 +235 346 0 +235 347 0 +235 348 0 +235 349 0 +235 350 0 +235 351 0 +235 352 0 +235 353 0 +235 354 0 +235 355 0 +235 356 0 +235 357 0 +235 358 0 +235 359 0 +235 360 0 +235 361 0 +235 362 0 +235 363 0 +235 364 0 +235 365 0 +235 366 0 +235 367 0 +235 368 0 +235 369 0 +235 370 0 +235 371 0 +235 372 0 +235 373 0 +235 374 0 +235 375 0 +235 376 0 +235 377 0 +235 378 0 +235 379 0 +235 380 0 +235 381 0 +235 382 0 +235 383 0 +236 237 0 +236 238 0 +236 239 0 +236 240 0 +236 241 0 +236 242 0 +236 243 0 +236 244 0 +236 245 0 +236 246 0 +236 247 0 +236 248 0 +236 249 0 +236 250 0 +236 251 0 +236 252 0 +236 253 0 +236 254 0 +236 255 0 +236 256 0 +236 257 0 +236 258 0 +236 259 0 +236 260 0 +236 261 0 +236 262 0 +236 263 0 +236 264 0 +236 265 0 +236 266 0 +236 267 0 +236 268 0 +236 269 0 +236 270 0 +236 271 0 +236 272 0 +236 273 0 +236 274 0 +236 275 0 +236 276 0 +236 277 0 +236 278 0 +236 279 0 +236 280 0 +236 281 0 +236 282 0 +236 283 0 +236 284 0 +236 285 0 +236 286 0 +236 287 0 +236 288 0 +236 289 0 +236 290 0 +236 291 0 +236 292 0 +236 293 0 +236 294 0 +236 295 0 +236 296 0 +236 297 0 +236 298 0 +236 299 0 +236 300 0 +236 301 0 +236 302 0 +236 303 0 +236 304 0 +236 305 0 +236 306 0 +236 307 0 +236 308 0 +236 309 0 +236 310 0 +236 311 0 +236 312 0 +236 313 0 +236 314 0 +236 315 0 +236 316 0 +236 317 0 +236 318 0 +236 319 0 +236 320 0 +236 321 0 +236 322 0 +236 323 0 +236 324 0 +236 325 0 +236 326 0 +236 327 0 +236 328 0 +236 329 0 +236 330 0 +236 331 0 +236 332 0 +236 333 0 +236 334 0 +236 335 0 +236 336 0 +236 337 0 +236 338 0 +236 339 0 +236 340 0 +236 341 0 +236 342 0 +236 343 0 +236 344 0 +236 345 0 +236 346 0 +236 347 0 +236 348 0 +236 349 0 +236 350 0 +236 351 0 +236 352 0 +236 353 0 +236 354 0 +236 355 0 +236 356 0 +236 357 0 +236 358 0 +236 359 0 +236 360 0 +236 361 0 +236 362 0 +236 363 0 +236 364 0 +236 365 0 +236 366 0 +236 367 0 +236 368 0 +236 369 0 +236 370 0 +236 371 0 +236 372 0 +236 373 0 +236 374 0 +236 375 0 +236 376 0 +236 377 0 +236 378 0 +236 379 0 +236 380 0 +236 381 0 +236 382 0 +236 383 0 +237 238 0 +237 239 0 +237 240 0 +237 241 0 +237 242 0 +237 243 0 +237 244 0 +237 245 0 +237 246 0 +237 247 0 +237 248 0 +237 249 0 +237 250 0 +237 251 0 +237 252 0 +237 253 0 +237 254 0 +237 255 0 +237 256 0 +237 257 0 +237 258 0 +237 259 0 +237 260 0 +237 261 0 +237 262 0 +237 263 0 +237 264 0 +237 265 0 +237 266 0 +237 267 0 +237 268 0 +237 269 0 +237 270 0 +237 271 0 +237 272 0 +237 273 0 +237 274 0 +237 275 0 +237 276 0 +237 277 0 +237 278 0 +237 279 0 +237 280 0 +237 281 0 +237 282 0 +237 283 0 +237 284 0 +237 285 0 +237 286 0 +237 287 0 +237 288 0 +237 289 0 +237 290 0 +237 291 0 +237 292 0 +237 293 0 +237 294 0 +237 295 0 +237 296 0 +237 297 0 +237 298 0 +237 299 0 +237 300 0 +237 301 0 +237 302 0 +237 303 0 +237 304 0 +237 305 0 +237 306 0 +237 307 0 +237 308 0 +237 309 0 +237 310 0 +237 311 0 +237 312 0 +237 313 0 +237 314 0 +237 315 0 +237 316 0 +237 317 0 +237 318 0 +237 319 0 +237 320 0 +237 321 0 +237 322 0 +237 323 0 +237 324 0 +237 325 0 +237 326 0 +237 327 0 +237 328 0 +237 329 0 +237 330 0 +237 331 0 +237 332 0 +237 333 0 +237 334 0 +237 335 0 +237 336 0 +237 337 0 +237 338 0 +237 339 0 +237 340 0 +237 341 0 +237 342 0 +237 343 0 +237 344 0 +237 345 0 +237 346 0 +237 347 0 +237 348 0 +237 349 0 +237 350 0 +237 351 0 +237 352 0 +237 353 0 +237 354 0 +237 355 0 +237 356 0 +237 357 0 +237 358 0 +237 359 0 +237 360 0 +237 361 0 +237 362 0 +237 363 0 +237 364 0 +237 365 0 +237 366 0 +237 367 0 +237 368 0 +237 369 0 +237 370 0 +237 371 0 +237 372 0 +237 373 0 +237 374 0 +237 375 0 +237 376 0 +237 377 0 +237 378 0 +237 379 0 +237 380 0 +237 381 0 +237 382 0 +237 383 0 +238 239 0 +238 240 0 +238 241 0 +238 242 0 +238 243 0 +238 244 0 +238 245 0 +238 246 0 +238 247 0 +238 248 0 +238 249 0 +238 250 0 +238 251 0 +238 252 0 +238 253 0 +238 254 0 +238 255 0 +238 256 0 +238 257 0 +238 258 0 +238 259 0 +238 260 0 +238 261 0 +238 262 0 +238 263 0 +238 264 0 +238 265 0 +238 266 0 +238 267 0 +238 268 0 +238 269 0 +238 270 0 +238 271 0 +238 272 0 +238 273 0 +238 274 0 +238 275 0 +238 276 0 +238 277 0 +238 278 0 +238 279 0 +238 280 0 +238 281 0 +238 282 0 +238 283 0 +238 284 0 +238 285 0 +238 286 0 +238 287 0 +238 288 0 +238 289 0 +238 290 0 +238 291 0 +238 292 0 +238 293 0 +238 294 0 +238 295 0 +238 296 0 +238 297 0 +238 298 0 +238 299 0 +238 300 0 +238 301 0 +238 302 0 +238 303 0 +238 304 0 +238 305 0 +238 306 0 +238 307 0 +238 308 0 +238 309 0 +238 310 0 +238 311 0 +238 312 0 +238 313 0 +238 314 0 +238 315 0 +238 316 0 +238 317 0 +238 318 0 +238 319 0 +238 320 0 +238 321 0 +238 322 0 +238 323 0 +238 324 0 +238 325 0 +238 326 0 +238 327 0 +238 328 0 +238 329 0 +238 330 0 +238 331 0 +238 332 0 +238 333 0 +238 334 0 +238 335 0 +238 336 0 +238 337 0 +238 338 0 +238 339 0 +238 340 0 +238 341 0 +238 342 0 +238 343 0 +238 344 0 +238 345 0 +238 346 0 +238 347 0 +238 348 0 +238 349 0 +238 350 0 +238 351 0 +238 352 0 +238 353 0 +238 354 0 +238 355 0 +238 356 0 +238 357 0 +238 358 0 +238 359 0 +238 360 0 +238 361 0 +238 362 0 +238 363 0 +238 364 0 +238 365 0 +238 366 0 +238 367 0 +238 368 0 +238 369 0 +238 370 0 +238 371 0 +238 372 0 +238 373 0 +238 374 0 +238 375 0 +238 376 0 +238 377 0 +238 378 0 +238 379 0 +238 380 0 +238 381 0 +238 382 0 +238 383 0 +239 240 0 +239 241 0 +239 242 0 +239 243 0 +239 244 0 +239 245 0 +239 246 0 +239 247 0 +239 248 0 +239 249 0 +239 250 0 +239 251 0 +239 252 0 +239 253 0 +239 254 0 +239 255 0 +239 256 0 +239 257 0 +239 258 0 +239 259 0 +239 260 0 +239 261 0 +239 262 0 +239 263 0 +239 264 0 +239 265 0 +239 266 0 +239 267 0 +239 268 0 +239 269 0 +239 270 0 +239 271 0 +239 272 0 +239 273 0 +239 274 0 +239 275 0 +239 276 0 +239 277 0 +239 278 0 +239 279 0 +239 280 0 +239 281 0 +239 282 0 +239 283 0 +239 284 0 +239 285 0 +239 286 0 +239 287 0 +239 288 0 +239 289 0 +239 290 0 +239 291 0 +239 292 0 +239 293 0 +239 294 0 +239 295 0 +239 296 0 +239 297 0 +239 298 0 +239 299 0 +239 300 0 +239 301 0 +239 302 0 +239 303 0 +239 304 0 +239 305 0 +239 306 0 +239 307 0 +239 308 0 +239 309 0 +239 310 0 +239 311 0 +239 312 0 +239 313 0 +239 314 0 +239 315 0 +239 316 0 +239 317 0 +239 318 0 +239 319 0 +239 320 0 +239 321 0 +239 322 0 +239 323 0 +239 324 0 +239 325 0 +239 326 0 +239 327 0 +239 328 0 +239 329 0 +239 330 0 +239 331 0 +239 332 0 +239 333 0 +239 334 0 +239 335 0 +239 336 0 +239 337 0 +239 338 0 +239 339 0 +239 340 0 +239 341 0 +239 342 0 +239 343 0 +239 344 0 +239 345 0 +239 346 0 +239 347 0 +239 348 0 +239 349 0 +239 350 0 +239 351 0 +239 352 0 +239 353 0 +239 354 0 +239 355 0 +239 356 0 +239 357 0 +239 358 0 +239 359 0 +239 360 0 +239 361 0 +239 362 0 +239 363 0 +239 364 0 +239 365 0 +239 366 0 +239 367 0 +239 368 0 +239 369 0 +239 370 0 +239 371 0 +239 372 0 +239 373 0 +239 374 0 +239 375 0 +239 376 0 +239 377 0 +239 378 0 +239 379 0 +239 380 0 +239 381 0 +239 382 0 +239 383 0 +240 241 0 +240 242 0 +240 243 0 +240 244 0 +240 245 0 +240 246 0 +240 247 0 +240 248 0 +240 249 0 +240 250 0 +240 251 0 +240 252 0 +240 253 0 +240 254 0 +240 255 0 +240 256 0 +240 257 0 +240 258 0 +240 259 0 +240 260 0 +240 261 0 +240 262 0 +240 263 0 +240 264 0 +240 265 0 +240 266 0 +240 267 0 +240 268 0 +240 269 0 +240 270 0 +240 271 0 +240 272 0 +240 273 0 +240 274 0 +240 275 0 +240 276 0 +240 277 0 +240 278 0 +240 279 0 +240 280 0 +240 281 0 +240 282 0 +240 283 0 +240 284 0 +240 285 0 +240 286 0 +240 287 0 +240 288 0 +240 289 0 +240 290 0 +240 291 0 +240 292 0 +240 293 0 +240 294 0 +240 295 0 +240 296 0 +240 297 0 +240 298 0 +240 299 0 +240 300 0 +240 301 0 +240 302 0 +240 303 0 +240 304 0 +240 305 0 +240 306 0 +240 307 0 +240 308 0 +240 309 0 +240 310 0 +240 311 0 +240 312 0 +240 313 0 +240 314 0 +240 315 0 +240 316 0 +240 317 0 +240 318 0 +240 319 0 +240 320 0 +240 321 0 +240 322 0 +240 323 0 +240 324 0 +240 325 0 +240 326 0 +240 327 0 +240 328 0 +240 329 0 +240 330 0 +240 331 0 +240 332 0 +240 333 0 +240 334 0 +240 335 0 +240 336 0 +240 337 0 +240 338 0 +240 339 0 +240 340 0 +240 341 0 +240 342 0 +240 343 0 +240 344 0 +240 345 0 +240 346 0 +240 347 0 +240 348 0 +240 349 0 +240 350 0 +240 351 0 +240 352 0 +240 353 0 +240 354 0 +240 355 0 +240 356 0 +240 357 0 +240 358 0 +240 359 0 +240 360 0 +240 361 0 +240 362 0 +240 363 0 +240 364 0 +240 365 0 +240 366 0 +240 367 0 +240 368 0 +240 369 0 +240 370 0 +240 371 0 +240 372 0 +240 373 0 +240 374 0 +240 375 0 +240 376 0 +240 377 0 +240 378 0 +240 379 0 +240 380 0 +240 381 0 +240 382 0 +240 383 0 +241 242 0 +241 243 0 +241 244 0 +241 245 0 +241 246 0 +241 247 0 +241 248 0 +241 249 0 +241 250 0 +241 251 0 +241 252 0 +241 253 0 +241 254 0 +241 255 0 +241 256 0 +241 257 0 +241 258 0 +241 259 0 +241 260 0 +241 261 0 +241 262 0 +241 263 0 +241 264 0 +241 265 0 +241 266 0 +241 267 0 +241 268 0 +241 269 0 +241 270 0 +241 271 0 +241 272 0 +241 273 0 +241 274 0 +241 275 0 +241 276 0 +241 277 0 +241 278 0 +241 279 0 +241 280 0 +241 281 0 +241 282 0 +241 283 0 +241 284 0 +241 285 0 +241 286 0 +241 287 0 +241 288 0 +241 289 0 +241 290 0 +241 291 0 +241 292 0 +241 293 0 +241 294 0 +241 295 0 +241 296 0 +241 297 0 +241 298 0 +241 299 0 +241 300 0 +241 301 0 +241 302 0 +241 303 0 +241 304 0 +241 305 0 +241 306 0 +241 307 0 +241 308 0 +241 309 0 +241 310 0 +241 311 0 +241 312 0 +241 313 0 +241 314 0 +241 315 0 +241 316 0 +241 317 0 +241 318 0 +241 319 0 +241 320 0 +241 321 0 +241 322 0 +241 323 0 +241 324 0 +241 325 0 +241 326 0 +241 327 0 +241 328 0 +241 329 0 +241 330 0 +241 331 0 +241 332 0 +241 333 0 +241 334 0 +241 335 0 +241 336 0 +241 337 0 +241 338 0 +241 339 0 +241 340 0 +241 341 0 +241 342 0 +241 343 0 +241 344 0 +241 345 0 +241 346 0 +241 347 0 +241 348 0 +241 349 0 +241 350 0 +241 351 0 +241 352 0 +241 353 0 +241 354 0 +241 355 0 +241 356 0 +241 357 0 +241 358 0 +241 359 0 +241 360 0 +241 361 0 +241 362 0 +241 363 0 +241 364 0 +241 365 0 +241 366 0 +241 367 0 +241 368 0 +241 369 0 +241 370 0 +241 371 0 +241 372 0 +241 373 0 +241 374 0 +241 375 0 +241 376 0 +241 377 0 +241 378 0 +241 379 0 +241 380 0 +241 381 0 +241 382 0 +241 383 0 +242 243 0 +242 244 0 +242 245 0 +242 246 0 +242 247 0 +242 248 0 +242 249 0 +242 250 0 +242 251 0 +242 252 0 +242 253 0 +242 254 0 +242 255 0 +242 256 0 +242 257 0 +242 258 0 +242 259 0 +242 260 0 +242 261 0 +242 262 0 +242 263 0 +242 264 0 +242 265 0 +242 266 0 +242 267 0 +242 268 0 +242 269 0 +242 270 0 +242 271 0 +242 272 0 +242 273 0 +242 274 0 +242 275 0 +242 276 0 +242 277 0 +242 278 0 +242 279 0 +242 280 0 +242 281 0 +242 282 0 +242 283 0 +242 284 0 +242 285 0 +242 286 0 +242 287 0 +242 288 0 +242 289 0 +242 290 0 +242 291 0 +242 292 0 +242 293 0 +242 294 0 +242 295 0 +242 296 0 +242 297 0 +242 298 0 +242 299 0 +242 300 0 +242 301 0 +242 302 0 +242 303 0 +242 304 0 +242 305 0 +242 306 0 +242 307 0 +242 308 0 +242 309 0 +242 310 0 +242 311 0 +242 312 0 +242 313 0 +242 314 0 +242 315 0 +242 316 0 +242 317 0 +242 318 0 +242 319 0 +242 320 0 +242 321 0 +242 322 0 +242 323 0 +242 324 0 +242 325 0 +242 326 0 +242 327 0 +242 328 0 +242 329 0 +242 330 0 +242 331 0 +242 332 0 +242 333 0 +242 334 0 +242 335 0 +242 336 0 +242 337 0 +242 338 0 +242 339 0 +242 340 0 +242 341 0 +242 342 0 +242 343 0 +242 344 0 +242 345 0 +242 346 0 +242 347 0 +242 348 0 +242 349 0 +242 350 0 +242 351 0 +242 352 0 +242 353 0 +242 354 0 +242 355 0 +242 356 0 +242 357 0 +242 358 0 +242 359 0 +242 360 0 +242 361 0 +242 362 0 +242 363 0 +242 364 0 +242 365 0 +242 366 0 +242 367 0 +242 368 0 +242 369 0 +242 370 0 +242 371 0 +242 372 0 +242 373 0 +242 374 0 +242 375 0 +242 376 0 +242 377 0 +242 378 0 +242 379 0 +242 380 0 +242 381 0 +242 382 0 +242 383 0 +243 244 0 +243 245 0 +243 246 0 +243 247 0 +243 248 0 +243 249 0 +243 250 0 +243 251 0 +243 252 0 +243 253 0 +243 254 0 +243 255 0 +243 256 0 +243 257 0 +243 258 0 +243 259 0 +243 260 0 +243 261 0 +243 262 0 +243 263 0 +243 264 0 +243 265 0 +243 266 0 +243 267 0 +243 268 0 +243 269 0 +243 270 0 +243 271 0 +243 272 0 +243 273 0 +243 274 0 +243 275 0 +243 276 0 +243 277 0 +243 278 0 +243 279 0 +243 280 0 +243 281 0 +243 282 0 +243 283 0 +243 284 0 +243 285 0 +243 286 0 +243 287 0 +243 288 0 +243 289 0 +243 290 0 +243 291 0 +243 292 0 +243 293 0 +243 294 0 +243 295 0 +243 296 0 +243 297 0 +243 298 0 +243 299 0 +243 300 0 +243 301 0 +243 302 0 +243 303 0 +243 304 0 +243 305 0 +243 306 0 +243 307 0 +243 308 0 +243 309 0 +243 310 0 +243 311 0 +243 312 0 +243 313 0 +243 314 0 +243 315 0 +243 316 0 +243 317 0 +243 318 0 +243 319 0 +243 320 0 +243 321 0 +243 322 0 +243 323 0 +243 324 0 +243 325 0 +243 326 0 +243 327 0 +243 328 0 +243 329 0 +243 330 0 +243 331 0 +243 332 0 +243 333 0 +243 334 0 +243 335 0 +243 336 0 +243 337 0 +243 338 0 +243 339 0 +243 340 0 +243 341 0 +243 342 0 +243 343 0 +243 344 0 +243 345 0 +243 346 0 +243 347 0 +243 348 0 +243 349 0 +243 350 0 +243 351 0 +243 352 0 +243 353 0 +243 354 0 +243 355 0 +243 356 0 +243 357 0 +243 358 0 +243 359 0 +243 360 0 +243 361 0 +243 362 0 +243 363 0 +243 364 0 +243 365 0 +243 366 0 +243 367 0 +243 368 0 +243 369 0 +243 370 0 +243 371 0 +243 372 0 +243 373 0 +243 374 0 +243 375 0 +243 376 0 +243 377 0 +243 378 0 +243 379 0 +243 380 0 +243 381 0 +243 382 0 +243 383 0 +244 245 0 +244 246 0 +244 247 0 +244 248 0 +244 249 0 +244 250 0 +244 251 0 +244 252 0 +244 253 0 +244 254 0 +244 255 0 +244 256 0 +244 257 0 +244 258 0 +244 259 0 +244 260 0 +244 261 0 +244 262 0 +244 263 0 +244 264 0 +244 265 0 +244 266 0 +244 267 0 +244 268 0 +244 269 0 +244 270 0 +244 271 0 +244 272 0 +244 273 0 +244 274 0 +244 275 0 +244 276 0 +244 277 0 +244 278 0 +244 279 0 +244 280 0 +244 281 0 +244 282 0 +244 283 0 +244 284 0 +244 285 0 +244 286 0 +244 287 0 +244 288 0 +244 289 0 +244 290 0 +244 291 0 +244 292 0 +244 293 0 +244 294 0 +244 295 0 +244 296 0 +244 297 0 +244 298 0 +244 299 0 +244 300 0 +244 301 0 +244 302 0 +244 303 0 +244 304 0 +244 305 0 +244 306 0 +244 307 0 +244 308 0 +244 309 0 +244 310 0 +244 311 0 +244 312 0 +244 313 0 +244 314 0 +244 315 0 +244 316 0 +244 317 0 +244 318 0 +244 319 0 +244 320 0 +244 321 0 +244 322 0 +244 323 0 +244 324 0 +244 325 0 +244 326 0 +244 327 0 +244 328 0 +244 329 0 +244 330 0 +244 331 0 +244 332 0 +244 333 0 +244 334 0 +244 335 0 +244 336 0 +244 337 0 +244 338 0 +244 339 0 +244 340 0 +244 341 0 +244 342 0 +244 343 0 +244 344 0 +244 345 0 +244 346 0 +244 347 0 +244 348 0 +244 349 0 +244 350 0 +244 351 0 +244 352 0 +244 353 0 +244 354 0 +244 355 0 +244 356 0 +244 357 0 +244 358 0 +244 359 0 +244 360 0 +244 361 0 +244 362 0 +244 363 0 +244 364 0 +244 365 0 +244 366 0 +244 367 0 +244 368 0 +244 369 0 +244 370 0 +244 371 0 +244 372 0 +244 373 0 +244 374 0 +244 375 0 +244 376 0 +244 377 0 +244 378 0 +244 379 0 +244 380 0 +244 381 0 +244 382 0 +244 383 0 +245 246 0 +245 247 0 +245 248 0 +245 249 0 +245 250 0 +245 251 0 +245 252 0 +245 253 0 +245 254 0 +245 255 0 +245 256 0 +245 257 0 +245 258 0 +245 259 0 +245 260 0 +245 261 0 +245 262 0 +245 263 0 +245 264 0 +245 265 0 +245 266 0 +245 267 0 +245 268 0 +245 269 0 +245 270 0 +245 271 0 +245 272 0 +245 273 0 +245 274 0 +245 275 0 +245 276 0 +245 277 0 +245 278 0 +245 279 0 +245 280 0 +245 281 0 +245 282 0 +245 283 0 +245 284 0 +245 285 0 +245 286 0 +245 287 0 +245 288 0 +245 289 0 +245 290 0 +245 291 0 +245 292 0 +245 293 0 +245 294 0 +245 295 0 +245 296 0 +245 297 0 +245 298 0 +245 299 0 +245 300 0 +245 301 0 +245 302 0 +245 303 0 +245 304 0 +245 305 0 +245 306 0 +245 307 0 +245 308 0 +245 309 0 +245 310 0 +245 311 0 +245 312 0 +245 313 0 +245 314 0 +245 315 0 +245 316 0 +245 317 0 +245 318 0 +245 319 0 +245 320 0 +245 321 0 +245 322 0 +245 323 0 +245 324 0 +245 325 0 +245 326 0 +245 327 0 +245 328 0 +245 329 0 +245 330 0 +245 331 0 +245 332 0 +245 333 0 +245 334 0 +245 335 0 +245 336 0 +245 337 0 +245 338 0 +245 339 0 +245 340 0 +245 341 0 +245 342 0 +245 343 0 +245 344 0 +245 345 0 +245 346 0 +245 347 0 +245 348 0 +245 349 0 +245 350 0 +245 351 0 +245 352 0 +245 353 0 +245 354 0 +245 355 0 +245 356 0 +245 357 0 +245 358 0 +245 359 0 +245 360 0 +245 361 0 +245 362 0 +245 363 0 +245 364 0 +245 365 0 +245 366 0 +245 367 0 +245 368 0 +245 369 0 +245 370 0 +245 371 0 +245 372 0 +245 373 0 +245 374 0 +245 375 0 +245 376 0 +245 377 0 +245 378 0 +245 379 0 +245 380 0 +245 381 0 +245 382 0 +245 383 0 +246 247 0 +246 248 0 +246 249 0 +246 250 0 +246 251 0 +246 252 0 +246 253 0 +246 254 0 +246 255 0 +246 256 0 +246 257 0 +246 258 0 +246 259 0 +246 260 0 +246 261 0 +246 262 0 +246 263 0 +246 264 0 +246 265 0 +246 266 0 +246 267 0 +246 268 0 +246 269 0 +246 270 0 +246 271 0 +246 272 0 +246 273 0 +246 274 0 +246 275 0 +246 276 0 +246 277 0 +246 278 0 +246 279 0 +246 280 0 +246 281 0 +246 282 0 +246 283 0 +246 284 0 +246 285 0 +246 286 0 +246 287 0 +246 288 0 +246 289 0 +246 290 0 +246 291 0 +246 292 0 +246 293 0 +246 294 0 +246 295 0 +246 296 0 +246 297 0 +246 298 0 +246 299 0 +246 300 0 +246 301 0 +246 302 0 +246 303 0 +246 304 0 +246 305 0 +246 306 0 +246 307 0 +246 308 0 +246 309 0 +246 310 0 +246 311 0 +246 312 0 +246 313 0 +246 314 0 +246 315 0 +246 316 0 +246 317 0 +246 318 0 +246 319 0 +246 320 0 +246 321 0 +246 322 0 +246 323 0 +246 324 0 +246 325 0 +246 326 0 +246 327 0 +246 328 0 +246 329 0 +246 330 0 +246 331 0 +246 332 0 +246 333 0 +246 334 0 +246 335 0 +246 336 0 +246 337 0 +246 338 0 +246 339 0 +246 340 0 +246 341 0 +246 342 0 +246 343 0 +246 344 0 +246 345 0 +246 346 0 +246 347 0 +246 348 0 +246 349 0 +246 350 0 +246 351 0 +246 352 0 +246 353 0 +246 354 0 +246 355 0 +246 356 0 +246 357 0 +246 358 0 +246 359 0 +246 360 0 +246 361 0 +246 362 0 +246 363 0 +246 364 0 +246 365 0 +246 366 0 +246 367 0 +246 368 0 +246 369 0 +246 370 0 +246 371 0 +246 372 0 +246 373 0 +246 374 0 +246 375 0 +246 376 0 +246 377 0 +246 378 0 +246 379 0 +246 380 0 +246 381 0 +246 382 0 +246 383 0 +247 248 0 +247 249 0 +247 250 0 +247 251 0 +247 252 0 +247 253 0 +247 254 0 +247 255 0 +247 256 0 +247 257 0 +247 258 0 +247 259 0 +247 260 0 +247 261 0 +247 262 0 +247 263 0 +247 264 0 +247 265 0 +247 266 0 +247 267 0 +247 268 0 +247 269 0 +247 270 0 +247 271 0 +247 272 0 +247 273 0 +247 274 0 +247 275 0 +247 276 0 +247 277 0 +247 278 0 +247 279 0 +247 280 0 +247 281 0 +247 282 0 +247 283 0 +247 284 0 +247 285 0 +247 286 0 +247 287 0 +247 288 0 +247 289 0 +247 290 0 +247 291 0 +247 292 0 +247 293 0 +247 294 0 +247 295 0 +247 296 0 +247 297 0 +247 298 0 +247 299 0 +247 300 0 +247 301 0 +247 302 0 +247 303 0 +247 304 0 +247 305 0 +247 306 0 +247 307 0 +247 308 0 +247 309 0 +247 310 0 +247 311 0 +247 312 0 +247 313 0 +247 314 0 +247 315 0 +247 316 0 +247 317 0 +247 318 0 +247 319 0 +247 320 0 +247 321 0 +247 322 0 +247 323 0 +247 324 0 +247 325 0 +247 326 0 +247 327 0 +247 328 0 +247 329 0 +247 330 0 +247 331 0 +247 332 0 +247 333 0 +247 334 0 +247 335 0 +247 336 0 +247 337 0 +247 338 0 +247 339 0 +247 340 0 +247 341 0 +247 342 0 +247 343 0 +247 344 0 +247 345 0 +247 346 0 +247 347 0 +247 348 0 +247 349 0 +247 350 0 +247 351 0 +247 352 0 +247 353 0 +247 354 0 +247 355 0 +247 356 0 +247 357 0 +247 358 0 +247 359 0 +247 360 0 +247 361 0 +247 362 0 +247 363 0 +247 364 0 +247 365 0 +247 366 0 +247 367 0 +247 368 0 +247 369 0 +247 370 0 +247 371 0 +247 372 0 +247 373 0 +247 374 0 +247 375 0 +247 376 0 +247 377 0 +247 378 0 +247 379 0 +247 380 0 +247 381 0 +247 382 0 +247 383 0 +248 249 0 +248 250 0 +248 251 0 +248 252 0 +248 253 0 +248 254 0 +248 255 0 +248 256 0 +248 257 0 +248 258 0 +248 259 0 +248 260 0 +248 261 0 +248 262 0 +248 263 0 +248 264 0 +248 265 0 +248 266 0 +248 267 0 +248 268 0 +248 269 0 +248 270 0 +248 271 0 +248 272 0 +248 273 0 +248 274 0 +248 275 0 +248 276 0 +248 277 0 +248 278 0 +248 279 0 +248 280 0 +248 281 0 +248 282 0 +248 283 0 +248 284 0 +248 285 0 +248 286 0 +248 287 0 +248 288 0 +248 289 0 +248 290 0 +248 291 0 +248 292 0 +248 293 0 +248 294 0 +248 295 0 +248 296 0 +248 297 0 +248 298 0 +248 299 0 +248 300 0 +248 301 0 +248 302 0 +248 303 0 +248 304 0 +248 305 0 +248 306 0 +248 307 0 +248 308 0 +248 309 0 +248 310 0 +248 311 0 +248 312 0 +248 313 0 +248 314 0 +248 315 0 +248 316 0 +248 317 0 +248 318 0 +248 319 0 +248 320 0 +248 321 0 +248 322 0 +248 323 0 +248 324 0 +248 325 0 +248 326 0 +248 327 0 +248 328 0 +248 329 0 +248 330 0 +248 331 0 +248 332 0 +248 333 0 +248 334 0 +248 335 0 +248 336 0 +248 337 0 +248 338 0 +248 339 0 +248 340 0 +248 341 0 +248 342 0 +248 343 0 +248 344 0 +248 345 0 +248 346 0 +248 347 0 +248 348 0 +248 349 0 +248 350 0 +248 351 0 +248 352 0 +248 353 0 +248 354 0 +248 355 0 +248 356 0 +248 357 0 +248 358 0 +248 359 0 +248 360 0 +248 361 0 +248 362 0 +248 363 0 +248 364 0 +248 365 0 +248 366 0 +248 367 0 +248 368 0 +248 369 0 +248 370 0 +248 371 0 +248 372 0 +248 373 0 +248 374 0 +248 375 0 +248 376 0 +248 377 0 +248 378 0 +248 379 0 +248 380 0 +248 381 0 +248 382 0 +248 383 0 +249 250 0 +249 251 0 +249 252 0 +249 253 0 +249 254 0 +249 255 0 +249 256 0 +249 257 0 +249 258 0 +249 259 0 +249 260 0 +249 261 0 +249 262 0 +249 263 0 +249 264 0 +249 265 0 +249 266 0 +249 267 0 +249 268 0 +249 269 0 +249 270 0 +249 271 0 +249 272 0 +249 273 0 +249 274 0 +249 275 0 +249 276 0 +249 277 0 +249 278 0 +249 279 0 +249 280 0 +249 281 0 +249 282 0 +249 283 0 +249 284 0 +249 285 0 +249 286 0 +249 287 0 +249 288 0 +249 289 0 +249 290 0 +249 291 0 +249 292 0 +249 293 0 +249 294 0 +249 295 0 +249 296 0 +249 297 0 +249 298 0 +249 299 0 +249 300 0 +249 301 0 +249 302 0 +249 303 0 +249 304 0 +249 305 0 +249 306 0 +249 307 0 +249 308 0 +249 309 0 +249 310 0 +249 311 0 +249 312 0 +249 313 0 +249 314 0 +249 315 0 +249 316 0 +249 317 0 +249 318 0 +249 319 0 +249 320 0 +249 321 0 +249 322 0 +249 323 0 +249 324 0 +249 325 0 +249 326 0 +249 327 0 +249 328 0 +249 329 0 +249 330 0 +249 331 0 +249 332 0 +249 333 0 +249 334 0 +249 335 0 +249 336 0 +249 337 0 +249 338 0 +249 339 0 +249 340 0 +249 341 0 +249 342 0 +249 343 0 +249 344 0 +249 345 0 +249 346 0 +249 347 0 +249 348 0 +249 349 0 +249 350 0 +249 351 0 +249 352 0 +249 353 0 +249 354 0 +249 355 0 +249 356 0 +249 357 0 +249 358 0 +249 359 0 +249 360 0 +249 361 0 +249 362 0 +249 363 0 +249 364 0 +249 365 0 +249 366 0 +249 367 0 +249 368 0 +249 369 0 +249 370 0 +249 371 0 +249 372 0 +249 373 0 +249 374 0 +249 375 0 +249 376 0 +249 377 0 +249 378 0 +249 379 0 +249 380 0 +249 381 0 +249 382 0 +249 383 0 +250 251 0 +250 252 0 +250 253 0 +250 254 0 +250 255 0 +250 256 0 +250 257 0 +250 258 0 +250 259 0 +250 260 0 +250 261 0 +250 262 0 +250 263 0 +250 264 0 +250 265 0 +250 266 0 +250 267 0 +250 268 0 +250 269 0 +250 270 0 +250 271 0 +250 272 0 +250 273 0 +250 274 0 +250 275 0 +250 276 0 +250 277 0 +250 278 0 +250 279 0 +250 280 0 +250 281 0 +250 282 0 +250 283 0 +250 284 0 +250 285 0 +250 286 0 +250 287 0 +250 288 0 +250 289 0 +250 290 0 +250 291 0 +250 292 0 +250 293 0 +250 294 0 +250 295 0 +250 296 0 +250 297 0 +250 298 0 +250 299 0 +250 300 0 +250 301 0 +250 302 0 +250 303 0 +250 304 0 +250 305 0 +250 306 0 +250 307 0 +250 308 0 +250 309 0 +250 310 0 +250 311 0 +250 312 0 +250 313 0 +250 314 0 +250 315 0 +250 316 0 +250 317 0 +250 318 0 +250 319 0 +250 320 0 +250 321 0 +250 322 0 +250 323 0 +250 324 0 +250 325 0 +250 326 0 +250 327 0 +250 328 0 +250 329 0 +250 330 0 +250 331 0 +250 332 0 +250 333 0 +250 334 0 +250 335 0 +250 336 0 +250 337 0 +250 338 0 +250 339 0 +250 340 0 +250 341 0 +250 342 0 +250 343 0 +250 344 0 +250 345 0 +250 346 0 +250 347 0 +250 348 0 +250 349 0 +250 350 0 +250 351 0 +250 352 0 +250 353 0 +250 354 0 +250 355 0 +250 356 0 +250 357 0 +250 358 0 +250 359 0 +250 360 0 +250 361 0 +250 362 0 +250 363 0 +250 364 0 +250 365 0 +250 366 0 +250 367 0 +250 368 0 +250 369 0 +250 370 0 +250 371 0 +250 372 0 +250 373 0 +250 374 0 +250 375 0 +250 376 0 +250 377 0 +250 378 0 +250 379 0 +250 380 0 +250 381 0 +250 382 0 +250 383 0 +251 252 0 +251 253 0 +251 254 0 +251 255 0 +251 256 0 +251 257 0 +251 258 0 +251 259 0 +251 260 0 +251 261 0 +251 262 0 +251 263 0 +251 264 0 +251 265 0 +251 266 0 +251 267 0 +251 268 0 +251 269 0 +251 270 0 +251 271 0 +251 272 0 +251 273 0 +251 274 0 +251 275 0 +251 276 0 +251 277 0 +251 278 0 +251 279 0 +251 280 0 +251 281 0 +251 282 0 +251 283 0 +251 284 0 +251 285 0 +251 286 0 +251 287 0 +251 288 0 +251 289 0 +251 290 0 +251 291 0 +251 292 0 +251 293 0 +251 294 0 +251 295 0 +251 296 0 +251 297 0 +251 298 0 +251 299 0 +251 300 0 +251 301 0 +251 302 0 +251 303 0 +251 304 0 +251 305 0 +251 306 0 +251 307 0 +251 308 0 +251 309 0 +251 310 0 +251 311 0 +251 312 0 +251 313 0 +251 314 0 +251 315 0 +251 316 0 +251 317 0 +251 318 0 +251 319 0 +251 320 0 +251 321 0 +251 322 0 +251 323 0 +251 324 0 +251 325 0 +251 326 0 +251 327 0 +251 328 0 +251 329 0 +251 330 0 +251 331 0 +251 332 0 +251 333 0 +251 334 0 +251 335 0 +251 336 0 +251 337 0 +251 338 0 +251 339 0 +251 340 0 +251 341 0 +251 342 0 +251 343 0 +251 344 0 +251 345 0 +251 346 0 +251 347 0 +251 348 0 +251 349 0 +251 350 0 +251 351 0 +251 352 0 +251 353 0 +251 354 0 +251 355 0 +251 356 0 +251 357 0 +251 358 0 +251 359 0 +251 360 0 +251 361 0 +251 362 0 +251 363 0 +251 364 0 +251 365 0 +251 366 0 +251 367 0 +251 368 0 +251 369 0 +251 370 0 +251 371 0 +251 372 0 +251 373 0 +251 374 0 +251 375 0 +251 376 0 +251 377 0 +251 378 0 +251 379 0 +251 380 0 +251 381 0 +251 382 0 +251 383 0 +252 253 0 +252 254 0 +252 255 0 +252 256 0 +252 257 0 +252 258 0 +252 259 0 +252 260 0 +252 261 0 +252 262 0 +252 263 0 +252 264 0 +252 265 0 +252 266 0 +252 267 0 +252 268 0 +252 269 0 +252 270 0 +252 271 0 +252 272 0 +252 273 0 +252 274 0 +252 275 0 +252 276 0 +252 277 0 +252 278 0 +252 279 0 +252 280 0 +252 281 0 +252 282 0 +252 283 0 +252 284 0 +252 285 0 +252 286 0 +252 287 0 +252 288 0 +252 289 0 +252 290 0 +252 291 0 +252 292 0 +252 293 0 +252 294 0 +252 295 0 +252 296 0 +252 297 0 +252 298 0 +252 299 0 +252 300 0 +252 301 0 +252 302 0 +252 303 0 +252 304 0 +252 305 0 +252 306 0 +252 307 0 +252 308 0 +252 309 0 +252 310 0 +252 311 0 +252 312 0 +252 313 0 +252 314 0 +252 315 0 +252 316 0 +252 317 0 +252 318 0 +252 319 0 +252 320 0 +252 321 0 +252 322 0 +252 323 0 +252 324 0 +252 325 0 +252 326 0 +252 327 0 +252 328 0 +252 329 0 +252 330 0 +252 331 0 +252 332 0 +252 333 0 +252 334 0 +252 335 0 +252 336 0 +252 337 0 +252 338 0 +252 339 0 +252 340 0 +252 341 0 +252 342 0 +252 343 0 +252 344 0 +252 345 0 +252 346 0 +252 347 0 +252 348 0 +252 349 0 +252 350 0 +252 351 0 +252 352 0 +252 353 0 +252 354 0 +252 355 0 +252 356 0 +252 357 0 +252 358 0 +252 359 0 +252 360 0 +252 361 0 +252 362 0 +252 363 0 +252 364 0 +252 365 0 +252 366 0 +252 367 0 +252 368 0 +252 369 0 +252 370 0 +252 371 0 +252 372 0 +252 373 0 +252 374 0 +252 375 0 +252 376 0 +252 377 0 +252 378 0 +252 379 0 +252 380 0 +252 381 0 +252 382 0 +252 383 0 +253 254 0 +253 255 0 +253 256 0 +253 257 0 +253 258 0 +253 259 0 +253 260 0 +253 261 0 +253 262 0 +253 263 0 +253 264 0 +253 265 0 +253 266 0 +253 267 0 +253 268 0 +253 269 0 +253 270 0 +253 271 0 +253 272 0 +253 273 0 +253 274 0 +253 275 0 +253 276 0 +253 277 0 +253 278 0 +253 279 0 +253 280 0 +253 281 0 +253 282 0 +253 283 0 +253 284 0 +253 285 0 +253 286 0 +253 287 0 +253 288 0 +253 289 0 +253 290 0 +253 291 0 +253 292 0 +253 293 0 +253 294 0 +253 295 0 +253 296 0 +253 297 0 +253 298 0 +253 299 0 +253 300 0 +253 301 0 +253 302 0 +253 303 0 +253 304 0 +253 305 0 +253 306 0 +253 307 0 +253 308 0 +253 309 0 +253 310 0 +253 311 0 +253 312 0 +253 313 0 +253 314 0 +253 315 0 +253 316 0 +253 317 0 +253 318 0 +253 319 0 +253 320 0 +253 321 0 +253 322 0 +253 323 0 +253 324 0 +253 325 0 +253 326 0 +253 327 0 +253 328 0 +253 329 0 +253 330 0 +253 331 0 +253 332 0 +253 333 0 +253 334 0 +253 335 0 +253 336 0 +253 337 0 +253 338 0 +253 339 0 +253 340 0 +253 341 0 +253 342 0 +253 343 0 +253 344 0 +253 345 0 +253 346 0 +253 347 0 +253 348 0 +253 349 0 +253 350 0 +253 351 0 +253 352 0 +253 353 0 +253 354 0 +253 355 0 +253 356 0 +253 357 0 +253 358 0 +253 359 0 +253 360 0 +253 361 0 +253 362 0 +253 363 0 +253 364 0 +253 365 0 +253 366 0 +253 367 0 +253 368 0 +253 369 0 +253 370 0 +253 371 0 +253 372 0 +253 373 0 +253 374 0 +253 375 0 +253 376 0 +253 377 0 +253 378 0 +253 379 0 +253 380 0 +253 381 0 +253 382 0 +253 383 0 +254 255 0 +254 256 0 +254 257 0 +254 258 0 +254 259 0 +254 260 0 +254 261 0 +254 262 0 +254 263 0 +254 264 0 +254 265 0 +254 266 0 +254 267 0 +254 268 0 +254 269 0 +254 270 0 +254 271 0 +254 272 0 +254 273 0 +254 274 0 +254 275 0 +254 276 0 +254 277 0 +254 278 0 +254 279 0 +254 280 0 +254 281 0 +254 282 0 +254 283 0 +254 284 0 +254 285 0 +254 286 0 +254 287 0 +254 288 0 +254 289 0 +254 290 0 +254 291 0 +254 292 0 +254 293 0 +254 294 0 +254 295 0 +254 296 0 +254 297 0 +254 298 0 +254 299 0 +254 300 0 +254 301 0 +254 302 0 +254 303 0 +254 304 0 +254 305 0 +254 306 0 +254 307 0 +254 308 0 +254 309 0 +254 310 0 +254 311 0 +254 312 0 +254 313 0 +254 314 0 +254 315 0 +254 316 0 +254 317 0 +254 318 0 +254 319 0 +254 320 0 +254 321 0 +254 322 0 +254 323 0 +254 324 0 +254 325 0 +254 326 0 +254 327 0 +254 328 0 +254 329 0 +254 330 0 +254 331 0 +254 332 0 +254 333 0 +254 334 0 +254 335 0 +254 336 0 +254 337 0 +254 338 0 +254 339 0 +254 340 0 +254 341 0 +254 342 0 +254 343 0 +254 344 0 +254 345 0 +254 346 0 +254 347 0 +254 348 0 +254 349 0 +254 350 0 +254 351 0 +254 352 0 +254 353 0 +254 354 0 +254 355 0 +254 356 0 +254 357 0 +254 358 0 +254 359 0 +254 360 0 +254 361 0 +254 362 0 +254 363 0 +254 364 0 +254 365 0 +254 366 0 +254 367 0 +254 368 0 +254 369 0 +254 370 0 +254 371 0 +254 372 0 +254 373 0 +254 374 0 +254 375 0 +254 376 0 +254 377 0 +254 378 0 +254 379 0 +254 380 0 +254 381 0 +254 382 0 +254 383 0 +255 256 0 +255 257 0 +255 258 0 +255 259 0 +255 260 0 +255 261 0 +255 262 0 +255 263 0 +255 264 0 +255 265 0 +255 266 0 +255 267 0 +255 268 0 +255 269 0 +255 270 0 +255 271 0 +255 272 0 +255 273 0 +255 274 0 +255 275 0 +255 276 0 +255 277 0 +255 278 0 +255 279 0 +255 280 0 +255 281 0 +255 282 0 +255 283 0 +255 284 0 +255 285 0 +255 286 0 +255 287 0 +255 288 0 +255 289 0 +255 290 0 +255 291 0 +255 292 0 +255 293 0 +255 294 0 +255 295 0 +255 296 0 +255 297 0 +255 298 0 +255 299 0 +255 300 0 +255 301 0 +255 302 0 +255 303 0 +255 304 0 +255 305 0 +255 306 0 +255 307 0 +255 308 0 +255 309 0 +255 310 0 +255 311 0 +255 312 0 +255 313 0 +255 314 0 +255 315 0 +255 316 0 +255 317 0 +255 318 0 +255 319 0 +255 320 0 +255 321 0 +255 322 0 +255 323 0 +255 324 0 +255 325 0 +255 326 0 +255 327 0 +255 328 0 +255 329 0 +255 330 0 +255 331 0 +255 332 0 +255 333 0 +255 334 0 +255 335 0 +255 336 0 +255 337 0 +255 338 0 +255 339 0 +255 340 0 +255 341 0 +255 342 0 +255 343 0 +255 344 0 +255 345 0 +255 346 0 +255 347 0 +255 348 0 +255 349 0 +255 350 0 +255 351 0 +255 352 0 +255 353 0 +255 354 0 +255 355 0 +255 356 0 +255 357 0 +255 358 0 +255 359 0 +255 360 0 +255 361 0 +255 362 0 +255 363 0 +255 364 0 +255 365 0 +255 366 0 +255 367 0 +255 368 0 +255 369 0 +255 370 0 +255 371 0 +255 372 0 +255 373 0 +255 374 0 +255 375 0 +255 376 0 +255 377 0 +255 378 0 +255 379 0 +255 380 0 +255 381 0 +255 382 0 +255 383 0 +256 257 0 +256 258 0 +256 259 0 +256 260 0 +256 261 0 +256 262 0 +256 263 0 +256 264 0 +256 265 0 +256 266 0 +256 267 0 +256 268 0 +256 269 0 +256 270 0 +256 271 0 +256 272 0 +256 273 0 +256 274 0 +256 275 0 +256 276 0 +256 277 0 +256 278 0 +256 279 0 +256 280 0 +256 281 0 +256 282 0 +256 283 0 +256 284 0 +256 285 0 +256 286 0 +256 287 0 +256 288 0 +256 289 0 +256 290 0 +256 291 0 +256 292 0 +256 293 0 +256 294 0 +256 295 0 +256 296 0 +256 297 0 +256 298 0 +256 299 0 +256 300 0 +256 301 0 +256 302 0 +256 303 0 +256 304 0 +256 305 0 +256 306 0 +256 307 0 +256 308 0 +256 309 0 +256 310 0 +256 311 0 +256 312 0 +256 313 0 +256 314 0 +256 315 0 +256 316 0 +256 317 0 +256 318 0 +256 319 0 +256 320 0 +256 321 0 +256 322 0 +256 323 0 +256 324 0 +256 325 0 +256 326 0 +256 327 0 +256 328 0 +256 329 0 +256 330 0 +256 331 0 +256 332 0 +256 333 0 +256 334 0 +256 335 0 +256 336 0 +256 337 0 +256 338 0 +256 339 0 +256 340 0 +256 341 0 +256 342 0 +256 343 0 +256 344 0 +256 345 0 +256 346 0 +256 347 0 +256 348 0 +256 349 0 +256 350 0 +256 351 0 +256 352 0 +256 353 0 +256 354 0 +256 355 0 +256 356 0 +256 357 0 +256 358 0 +256 359 0 +256 360 0 +256 361 0 +256 362 0 +256 363 0 +256 364 0 +256 365 0 +256 366 0 +256 367 0 +256 368 0 +256 369 0 +256 370 0 +256 371 0 +256 372 0 +256 373 0 +256 374 0 +256 375 0 +256 376 0 +256 377 0 +256 378 0 +256 379 0 +256 380 0 +256 381 0 +256 382 0 +256 383 0 +257 258 0 +257 259 0 +257 260 0 +257 261 0 +257 262 0 +257 263 0 +257 264 0 +257 265 0 +257 266 0 +257 267 0 +257 268 0 +257 269 0 +257 270 0 +257 271 0 +257 272 0 +257 273 0 +257 274 0 +257 275 0 +257 276 0 +257 277 0 +257 278 0 +257 279 0 +257 280 0 +257 281 0 +257 282 0 +257 283 0 +257 284 0 +257 285 0 +257 286 0 +257 287 0 +257 288 0 +257 289 0 +257 290 0 +257 291 0 +257 292 0 +257 293 0 +257 294 0 +257 295 0 +257 296 0 +257 297 0 +257 298 0 +257 299 0 +257 300 0 +257 301 0 +257 302 0 +257 303 0 +257 304 0 +257 305 0 +257 306 0 +257 307 0 +257 308 0 +257 309 0 +257 310 0 +257 311 0 +257 312 0 +257 313 0 +257 314 0 +257 315 0 +257 316 0 +257 317 0 +257 318 0 +257 319 0 +257 320 0 +257 321 0 +257 322 0 +257 323 0 +257 324 0 +257 325 0 +257 326 0 +257 327 0 +257 328 0 +257 329 0 +257 330 0 +257 331 0 +257 332 0 +257 333 0 +257 334 0 +257 335 0 +257 336 0 +257 337 0 +257 338 0 +257 339 0 +257 340 0 +257 341 0 +257 342 0 +257 343 0 +257 344 0 +257 345 0 +257 346 0 +257 347 0 +257 348 0 +257 349 0 +257 350 0 +257 351 0 +257 352 0 +257 353 0 +257 354 0 +257 355 0 +257 356 0 +257 357 0 +257 358 0 +257 359 0 +257 360 0 +257 361 0 +257 362 0 +257 363 0 +257 364 0 +257 365 0 +257 366 0 +257 367 0 +257 368 0 +257 369 0 +257 370 0 +257 371 0 +257 372 0 +257 373 0 +257 374 0 +257 375 0 +257 376 0 +257 377 0 +257 378 0 +257 379 0 +257 380 0 +257 381 0 +257 382 0 +257 383 0 +258 259 0 +258 260 0 +258 261 0 +258 262 0 +258 263 0 +258 264 0 +258 265 0 +258 266 0 +258 267 0 +258 268 0 +258 269 0 +258 270 0 +258 271 0 +258 272 0 +258 273 0 +258 274 0 +258 275 0 +258 276 0 +258 277 0 +258 278 0 +258 279 0 +258 280 0 +258 281 0 +258 282 0 +258 283 0 +258 284 0 +258 285 0 +258 286 0 +258 287 0 +258 288 0 +258 289 0 +258 290 0 +258 291 0 +258 292 0 +258 293 0 +258 294 0 +258 295 0 +258 296 0 +258 297 0 +258 298 0 +258 299 0 +258 300 0 +258 301 0 +258 302 0 +258 303 0 +258 304 0 +258 305 0 +258 306 0 +258 307 0 +258 308 0 +258 309 0 +258 310 0 +258 311 0 +258 312 0 +258 313 0 +258 314 0 +258 315 0 +258 316 0 +258 317 0 +258 318 0 +258 319 0 +258 320 0 +258 321 0 +258 322 0 +258 323 0 +258 324 0 +258 325 0 +258 326 0 +258 327 0 +258 328 0 +258 329 0 +258 330 0 +258 331 0 +258 332 0 +258 333 0 +258 334 0 +258 335 0 +258 336 0 +258 337 0 +258 338 0 +258 339 0 +258 340 0 +258 341 0 +258 342 0 +258 343 0 +258 344 0 +258 345 0 +258 346 0 +258 347 0 +258 348 0 +258 349 0 +258 350 0 +258 351 0 +258 352 0 +258 353 0 +258 354 0 +258 355 0 +258 356 0 +258 357 0 +258 358 0 +258 359 0 +258 360 0 +258 361 0 +258 362 0 +258 363 0 +258 364 0 +258 365 0 +258 366 0 +258 367 0 +258 368 0 +258 369 0 +258 370 0 +258 371 0 +258 372 0 +258 373 0 +258 374 0 +258 375 0 +258 376 0 +258 377 0 +258 378 0 +258 379 0 +258 380 0 +258 381 0 +258 382 0 +258 383 0 +259 260 0 +259 261 0 +259 262 0 +259 263 0 +259 264 0 +259 265 0 +259 266 0 +259 267 0 +259 268 0 +259 269 0 +259 270 0 +259 271 0 +259 272 0 +259 273 0 +259 274 0 +259 275 0 +259 276 0 +259 277 0 +259 278 0 +259 279 0 +259 280 0 +259 281 0 +259 282 0 +259 283 0 +259 284 0 +259 285 0 +259 286 0 +259 287 0 +259 288 0 +259 289 0 +259 290 0 +259 291 0 +259 292 0 +259 293 0 +259 294 0 +259 295 0 +259 296 0 +259 297 0 +259 298 0 +259 299 0 +259 300 0 +259 301 0 +259 302 0 +259 303 0 +259 304 0 +259 305 0 +259 306 0 +259 307 0 +259 308 0 +259 309 0 +259 310 0 +259 311 0 +259 312 0 +259 313 0 +259 314 0 +259 315 0 +259 316 0 +259 317 0 +259 318 0 +259 319 0 +259 320 0 +259 321 0 +259 322 0 +259 323 0 +259 324 0 +259 325 0 +259 326 0 +259 327 0 +259 328 0 +259 329 0 +259 330 0 +259 331 0 +259 332 0 +259 333 0 +259 334 0 +259 335 0 +259 336 0 +259 337 0 +259 338 0 +259 339 0 +259 340 0 +259 341 0 +259 342 0 +259 343 0 +259 344 0 +259 345 0 +259 346 0 +259 347 0 +259 348 0 +259 349 0 +259 350 0 +259 351 0 +259 352 0 +259 353 0 +259 354 0 +259 355 0 +259 356 0 +259 357 0 +259 358 0 +259 359 0 +259 360 0 +259 361 0 +259 362 0 +259 363 0 +259 364 0 +259 365 0 +259 366 0 +259 367 0 +259 368 0 +259 369 0 +259 370 0 +259 371 0 +259 372 0 +259 373 0 +259 374 0 +259 375 0 +259 376 0 +259 377 0 +259 378 0 +259 379 0 +259 380 0 +259 381 0 +259 382 0 +259 383 0 +260 261 0 +260 262 0 +260 263 0 +260 264 0 +260 265 0 +260 266 0 +260 267 0 +260 268 0 +260 269 0 +260 270 0 +260 271 0 +260 272 0 +260 273 0 +260 274 0 +260 275 0 +260 276 0 +260 277 0 +260 278 0 +260 279 0 +260 280 0 +260 281 0 +260 282 0 +260 283 0 +260 284 0 +260 285 0 +260 286 0 +260 287 0 +260 288 0 +260 289 0 +260 290 0 +260 291 0 +260 292 0 +260 293 0 +260 294 0 +260 295 0 +260 296 0 +260 297 0 +260 298 0 +260 299 0 +260 300 0 +260 301 0 +260 302 0 +260 303 0 +260 304 0 +260 305 0 +260 306 0 +260 307 0 +260 308 0 +260 309 0 +260 310 0 +260 311 0 +260 312 0 +260 313 0 +260 314 0 +260 315 0 +260 316 0 +260 317 0 +260 318 0 +260 319 0 +260 320 0 +260 321 0 +260 322 0 +260 323 0 +260 324 0 +260 325 0 +260 326 0 +260 327 0 +260 328 0 +260 329 0 +260 330 0 +260 331 0 +260 332 0 +260 333 0 +260 334 0 +260 335 0 +260 336 0 +260 337 0 +260 338 0 +260 339 0 +260 340 0 +260 341 0 +260 342 0 +260 343 0 +260 344 0 +260 345 0 +260 346 0 +260 347 0 +260 348 0 +260 349 0 +260 350 0 +260 351 0 +260 352 0 +260 353 0 +260 354 0 +260 355 0 +260 356 0 +260 357 0 +260 358 0 +260 359 0 +260 360 0 +260 361 0 +260 362 0 +260 363 0 +260 364 0 +260 365 0 +260 366 0 +260 367 0 +260 368 0 +260 369 0 +260 370 0 +260 371 0 +260 372 0 +260 373 0 +260 374 0 +260 375 0 +260 376 0 +260 377 0 +260 378 0 +260 379 0 +260 380 0 +260 381 0 +260 382 0 +260 383 0 +261 262 0 +261 263 0 +261 264 0 +261 265 0 +261 266 0 +261 267 0 +261 268 0 +261 269 0 +261 270 0 +261 271 0 +261 272 0 +261 273 0 +261 274 0 +261 275 0 +261 276 0 +261 277 0 +261 278 0 +261 279 0 +261 280 0 +261 281 0 +261 282 0 +261 283 0 +261 284 0 +261 285 0 +261 286 0 +261 287 0 +261 288 0 +261 289 0 +261 290 0 +261 291 0 +261 292 0 +261 293 0 +261 294 0 +261 295 0 +261 296 0 +261 297 0 +261 298 0 +261 299 0 +261 300 0 +261 301 0 +261 302 0 +261 303 0 +261 304 0 +261 305 0 +261 306 0 +261 307 0 +261 308 0 +261 309 0 +261 310 0 +261 311 0 +261 312 0 +261 313 0 +261 314 0 +261 315 0 +261 316 0 +261 317 0 +261 318 0 +261 319 0 +261 320 0 +261 321 0 +261 322 0 +261 323 0 +261 324 0 +261 325 0 +261 326 0 +261 327 0 +261 328 0 +261 329 0 +261 330 0 +261 331 0 +261 332 0 +261 333 0 +261 334 0 +261 335 0 +261 336 0 +261 337 0 +261 338 0 +261 339 0 +261 340 0 +261 341 0 +261 342 0 +261 343 0 +261 344 0 +261 345 0 +261 346 0 +261 347 0 +261 348 0 +261 349 0 +261 350 0 +261 351 0 +261 352 0 +261 353 0 +261 354 0 +261 355 0 +261 356 0 +261 357 0 +261 358 0 +261 359 0 +261 360 0 +261 361 0 +261 362 0 +261 363 0 +261 364 0 +261 365 0 +261 366 0 +261 367 0 +261 368 0 +261 369 0 +261 370 0 +261 371 0 +261 372 0 +261 373 0 +261 374 0 +261 375 0 +261 376 0 +261 377 0 +261 378 0 +261 379 0 +261 380 0 +261 381 0 +261 382 0 +261 383 0 +262 263 0 +262 264 0 +262 265 0 +262 266 0 +262 267 0 +262 268 0 +262 269 0 +262 270 0 +262 271 0 +262 272 0 +262 273 0 +262 274 0 +262 275 0 +262 276 0 +262 277 0 +262 278 0 +262 279 0 +262 280 0 +262 281 0 +262 282 0 +262 283 0 +262 284 0 +262 285 0 +262 286 0 +262 287 0 +262 288 0 +262 289 0 +262 290 0 +262 291 0 +262 292 0 +262 293 0 +262 294 0 +262 295 0 +262 296 0 +262 297 0 +262 298 0 +262 299 0 +262 300 0 +262 301 0 +262 302 0 +262 303 0 +262 304 0 +262 305 0 +262 306 0 +262 307 0 +262 308 0 +262 309 0 +262 310 0 +262 311 0 +262 312 0 +262 313 0 +262 314 0 +262 315 0 +262 316 0 +262 317 0 +262 318 0 +262 319 0 +262 320 0 +262 321 0 +262 322 0 +262 323 0 +262 324 0 +262 325 0 +262 326 0 +262 327 0 +262 328 0 +262 329 0 +262 330 0 +262 331 0 +262 332 0 +262 333 0 +262 334 0 +262 335 0 +262 336 0 +262 337 0 +262 338 0 +262 339 0 +262 340 0 +262 341 0 +262 342 0 +262 343 0 +262 344 0 +262 345 0 +262 346 0 +262 347 0 +262 348 0 +262 349 0 +262 350 0 +262 351 0 +262 352 0 +262 353 0 +262 354 0 +262 355 0 +262 356 0 +262 357 0 +262 358 0 +262 359 0 +262 360 0 +262 361 0 +262 362 0 +262 363 0 +262 364 0 +262 365 0 +262 366 0 +262 367 0 +262 368 0 +262 369 0 +262 370 0 +262 371 0 +262 372 0 +262 373 0 +262 374 0 +262 375 0 +262 376 0 +262 377 0 +262 378 0 +262 379 0 +262 380 0 +262 381 0 +262 382 0 +262 383 0 +263 264 0 +263 265 0 +263 266 0 +263 267 0 +263 268 0 +263 269 0 +263 270 0 +263 271 0 +263 272 0 +263 273 0 +263 274 0 +263 275 0 +263 276 0 +263 277 0 +263 278 0 +263 279 0 +263 280 0 +263 281 0 +263 282 0 +263 283 0 +263 284 0 +263 285 0 +263 286 0 +263 287 0 +263 288 0 +263 289 0 +263 290 0 +263 291 0 +263 292 0 +263 293 0 +263 294 0 +263 295 0 +263 296 0 +263 297 0 +263 298 0 +263 299 0 +263 300 0 +263 301 0 +263 302 0 +263 303 0 +263 304 0 +263 305 0 +263 306 0 +263 307 0 +263 308 0 +263 309 0 +263 310 0 +263 311 0 +263 312 0 +263 313 0 +263 314 0 +263 315 0 +263 316 0 +263 317 0 +263 318 0 +263 319 0 +263 320 0 +263 321 0 +263 322 0 +263 323 0 +263 324 0 +263 325 0 +263 326 0 +263 327 0 +263 328 0 +263 329 0 +263 330 0 +263 331 0 +263 332 0 +263 333 0 +263 334 0 +263 335 0 +263 336 0 +263 337 0 +263 338 0 +263 339 0 +263 340 0 +263 341 0 +263 342 0 +263 343 0 +263 344 0 +263 345 0 +263 346 0 +263 347 0 +263 348 0 +263 349 0 +263 350 0 +263 351 0 +263 352 0 +263 353 0 +263 354 0 +263 355 0 +263 356 0 +263 357 0 +263 358 0 +263 359 0 +263 360 0 +263 361 0 +263 362 0 +263 363 0 +263 364 0 +263 365 0 +263 366 0 +263 367 0 +263 368 0 +263 369 0 +263 370 0 +263 371 0 +263 372 0 +263 373 0 +263 374 0 +263 375 0 +263 376 0 +263 377 0 +263 378 0 +263 379 0 +263 380 0 +263 381 0 +263 382 0 +263 383 0 +264 265 0 +264 266 0 +264 267 0 +264 268 0 +264 269 0 +264 270 0 +264 271 0 +264 272 0 +264 273 0 +264 274 0 +264 275 0 +264 276 0 +264 277 0 +264 278 0 +264 279 0 +264 280 0 +264 281 0 +264 282 0 +264 283 0 +264 284 0 +264 285 0 +264 286 0 +264 287 0 +264 288 0 +264 289 0 +264 290 0 +264 291 0 +264 292 0 +264 293 0 +264 294 0 +264 295 0 +264 296 0 +264 297 0 +264 298 0 +264 299 0 +264 300 0 +264 301 0 +264 302 0 +264 303 0 +264 304 0 +264 305 0 +264 306 0 +264 307 0 +264 308 0 +264 309 0 +264 310 0 +264 311 0 +264 312 0 +264 313 0 +264 314 0 +264 315 0 +264 316 0 +264 317 0 +264 318 0 +264 319 0 +264 320 0 +264 321 0 +264 322 0 +264 323 0 +264 324 0 +264 325 0 +264 326 0 +264 327 0 +264 328 0 +264 329 0 +264 330 0 +264 331 0 +264 332 0 +264 333 0 +264 334 0 +264 335 0 +264 336 0 +264 337 0 +264 338 0 +264 339 0 +264 340 0 +264 341 0 +264 342 0 +264 343 0 +264 344 0 +264 345 0 +264 346 0 +264 347 0 +264 348 0 +264 349 0 +264 350 0 +264 351 0 +264 352 0 +264 353 0 +264 354 0 +264 355 0 +264 356 0 +264 357 0 +264 358 0 +264 359 0 +264 360 0 +264 361 0 +264 362 0 +264 363 0 +264 364 0 +264 365 0 +264 366 0 +264 367 0 +264 368 0 +264 369 0 +264 370 0 +264 371 0 +264 372 0 +264 373 0 +264 374 0 +264 375 0 +264 376 0 +264 377 0 +264 378 0 +264 379 0 +264 380 0 +264 381 0 +264 382 0 +264 383 0 +265 266 0 +265 267 0 +265 268 0 +265 269 0 +265 270 0 +265 271 0 +265 272 0 +265 273 0 +265 274 0 +265 275 0 +265 276 0 +265 277 0 +265 278 0 +265 279 0 +265 280 0 +265 281 0 +265 282 0 +265 283 0 +265 284 0 +265 285 0 +265 286 0 +265 287 0 +265 288 0 +265 289 0 +265 290 0 +265 291 0 +265 292 0 +265 293 0 +265 294 0 +265 295 0 +265 296 0 +265 297 0 +265 298 0 +265 299 0 +265 300 0 +265 301 0 +265 302 0 +265 303 0 +265 304 0 +265 305 0 +265 306 0 +265 307 0 +265 308 0 +265 309 0 +265 310 0 +265 311 0 +265 312 0 +265 313 0 +265 314 0 +265 315 0 +265 316 0 +265 317 0 +265 318 0 +265 319 0 +265 320 0 +265 321 0 +265 322 0 +265 323 0 +265 324 0 +265 325 0 +265 326 0 +265 327 0 +265 328 0 +265 329 0 +265 330 0 +265 331 0 +265 332 0 +265 333 0 +265 334 0 +265 335 0 +265 336 0 +265 337 0 +265 338 0 +265 339 0 +265 340 0 +265 341 0 +265 342 0 +265 343 0 +265 344 0 +265 345 0 +265 346 0 +265 347 0 +265 348 0 +265 349 0 +265 350 0 +265 351 0 +265 352 0 +265 353 0 +265 354 0 +265 355 0 +265 356 0 +265 357 0 +265 358 0 +265 359 0 +265 360 0 +265 361 0 +265 362 0 +265 363 0 +265 364 0 +265 365 0 +265 366 0 +265 367 0 +265 368 0 +265 369 0 +265 370 0 +265 371 0 +265 372 0 +265 373 0 +265 374 0 +265 375 0 +265 376 0 +265 377 0 +265 378 0 +265 379 0 +265 380 0 +265 381 0 +265 382 0 +265 383 0 +266 267 0 +266 268 0 +266 269 0 +266 270 0 +266 271 0 +266 272 0 +266 273 0 +266 274 0 +266 275 0 +266 276 0 +266 277 0 +266 278 0 +266 279 0 +266 280 0 +266 281 0 +266 282 0 +266 283 0 +266 284 0 +266 285 0 +266 286 0 +266 287 0 +266 288 0 +266 289 0 +266 290 0 +266 291 0 +266 292 0 +266 293 0 +266 294 0 +266 295 0 +266 296 0 +266 297 0 +266 298 0 +266 299 0 +266 300 0 +266 301 0 +266 302 0 +266 303 0 +266 304 0 +266 305 0 +266 306 0 +266 307 0 +266 308 0 +266 309 0 +266 310 0 +266 311 0 +266 312 0 +266 313 0 +266 314 0 +266 315 0 +266 316 0 +266 317 0 +266 318 0 +266 319 0 +266 320 0 +266 321 0 +266 322 0 +266 323 0 +266 324 0 +266 325 0 +266 326 0 +266 327 0 +266 328 0 +266 329 0 +266 330 0 +266 331 0 +266 332 0 +266 333 0 +266 334 0 +266 335 0 +266 336 0 +266 337 0 +266 338 0 +266 339 0 +266 340 0 +266 341 0 +266 342 0 +266 343 0 +266 344 0 +266 345 0 +266 346 0 +266 347 0 +266 348 0 +266 349 0 +266 350 0 +266 351 0 +266 352 0 +266 353 0 +266 354 0 +266 355 0 +266 356 0 +266 357 0 +266 358 0 +266 359 0 +266 360 0 +266 361 0 +266 362 0 +266 363 0 +266 364 0 +266 365 0 +266 366 0 +266 367 0 +266 368 0 +266 369 0 +266 370 0 +266 371 0 +266 372 0 +266 373 0 +266 374 0 +266 375 0 +266 376 0 +266 377 0 +266 378 0 +266 379 0 +266 380 0 +266 381 0 +266 382 0 +266 383 0 +267 268 0 +267 269 0 +267 270 0 +267 271 0 +267 272 0 +267 273 0 +267 274 0 +267 275 0 +267 276 0 +267 277 0 +267 278 0 +267 279 0 +267 280 0 +267 281 0 +267 282 0 +267 283 0 +267 284 0 +267 285 0 +267 286 0 +267 287 0 +267 288 0 +267 289 0 +267 290 0 +267 291 0 +267 292 0 +267 293 0 +267 294 0 +267 295 0 +267 296 0 +267 297 0 +267 298 0 +267 299 0 +267 300 0 +267 301 0 +267 302 0 +267 303 0 +267 304 0 +267 305 0 +267 306 0 +267 307 0 +267 308 0 +267 309 0 +267 310 0 +267 311 0 +267 312 0 +267 313 0 +267 314 0 +267 315 0 +267 316 0 +267 317 0 +267 318 0 +267 319 0 +267 320 0 +267 321 0 +267 322 0 +267 323 0 +267 324 0 +267 325 0 +267 326 0 +267 327 0 +267 328 0 +267 329 0 +267 330 0 +267 331 0 +267 332 0 +267 333 0 +267 334 0 +267 335 0 +267 336 0 +267 337 0 +267 338 0 +267 339 0 +267 340 0 +267 341 0 +267 342 0 +267 343 0 +267 344 0 +267 345 0 +267 346 0 +267 347 0 +267 348 0 +267 349 0 +267 350 0 +267 351 0 +267 352 0 +267 353 0 +267 354 0 +267 355 0 +267 356 0 +267 357 0 +267 358 0 +267 359 0 +267 360 0 +267 361 0 +267 362 0 +267 363 0 +267 364 0 +267 365 0 +267 366 0 +267 367 0 +267 368 0 +267 369 0 +267 370 0 +267 371 0 +267 372 0 +267 373 0 +267 374 0 +267 375 0 +267 376 0 +267 377 0 +267 378 0 +267 379 0 +267 380 0 +267 381 0 +267 382 0 +267 383 0 +268 269 0 +268 270 0 +268 271 0 +268 272 0 +268 273 0 +268 274 0 +268 275 0 +268 276 0 +268 277 0 +268 278 0 +268 279 0 +268 280 0 +268 281 0 +268 282 0 +268 283 0 +268 284 0 +268 285 0 +268 286 0 +268 287 0 +268 288 0 +268 289 0 +268 290 0 +268 291 0 +268 292 0 +268 293 0 +268 294 0 +268 295 0 +268 296 0 +268 297 0 +268 298 0 +268 299 0 +268 300 0 +268 301 0 +268 302 0 +268 303 0 +268 304 0 +268 305 0 +268 306 0 +268 307 0 +268 308 0 +268 309 0 +268 310 0 +268 311 0 +268 312 0 +268 313 0 +268 314 0 +268 315 0 +268 316 0 +268 317 0 +268 318 0 +268 319 0 +268 320 0 +268 321 0 +268 322 0 +268 323 0 +268 324 0 +268 325 0 +268 326 0 +268 327 0 +268 328 0 +268 329 0 +268 330 0 +268 331 0 +268 332 0 +268 333 0 +268 334 0 +268 335 0 +268 336 0 +268 337 0 +268 338 0 +268 339 0 +268 340 0 +268 341 0 +268 342 0 +268 343 0 +268 344 0 +268 345 0 +268 346 0 +268 347 0 +268 348 0 +268 349 0 +268 350 0 +268 351 0 +268 352 0 +268 353 0 +268 354 0 +268 355 0 +268 356 0 +268 357 0 +268 358 0 +268 359 0 +268 360 0 +268 361 0 +268 362 0 +268 363 0 +268 364 0 +268 365 0 +268 366 0 +268 367 0 +268 368 0 +268 369 0 +268 370 0 +268 371 0 +268 372 0 +268 373 0 +268 374 0 +268 375 0 +268 376 0 +268 377 0 +268 378 0 +268 379 0 +268 380 0 +268 381 0 +268 382 0 +268 383 0 +269 270 0 +269 271 0 +269 272 0 +269 273 0 +269 274 0 +269 275 0 +269 276 0 +269 277 0 +269 278 0 +269 279 0 +269 280 0 +269 281 0 +269 282 0 +269 283 0 +269 284 0 +269 285 0 +269 286 0 +269 287 0 +269 288 0 +269 289 0 +269 290 0 +269 291 0 +269 292 0 +269 293 0 +269 294 0 +269 295 0 +269 296 0 +269 297 0 +269 298 0 +269 299 0 +269 300 0 +269 301 0 +269 302 0 +269 303 0 +269 304 0 +269 305 0 +269 306 0 +269 307 0 +269 308 0 +269 309 0 +269 310 0 +269 311 0 +269 312 0 +269 313 0 +269 314 0 +269 315 0 +269 316 0 +269 317 0 +269 318 0 +269 319 0 +269 320 0 +269 321 0 +269 322 0 +269 323 0 +269 324 0 +269 325 0 +269 326 0 +269 327 0 +269 328 0 +269 329 0 +269 330 0 +269 331 0 +269 332 0 +269 333 0 +269 334 0 +269 335 0 +269 336 0 +269 337 0 +269 338 0 +269 339 0 +269 340 0 +269 341 0 +269 342 0 +269 343 0 +269 344 0 +269 345 0 +269 346 0 +269 347 0 +269 348 0 +269 349 0 +269 350 0 +269 351 0 +269 352 0 +269 353 0 +269 354 0 +269 355 0 +269 356 0 +269 357 0 +269 358 0 +269 359 0 +269 360 0 +269 361 0 +269 362 0 +269 363 0 +269 364 0 +269 365 0 +269 366 0 +269 367 0 +269 368 0 +269 369 0 +269 370 0 +269 371 0 +269 372 0 +269 373 0 +269 374 0 +269 375 0 +269 376 0 +269 377 0 +269 378 0 +269 379 0 +269 380 0 +269 381 0 +269 382 0 +269 383 0 +270 271 0 +270 272 0 +270 273 0 +270 274 0 +270 275 0 +270 276 0 +270 277 0 +270 278 0 +270 279 0 +270 280 0 +270 281 0 +270 282 0 +270 283 0 +270 284 0 +270 285 0 +270 286 0 +270 287 0 +270 288 0 +270 289 0 +270 290 0 +270 291 0 +270 292 0 +270 293 0 +270 294 0 +270 295 0 +270 296 0 +270 297 0 +270 298 0 +270 299 0 +270 300 0 +270 301 0 +270 302 0 +270 303 0 +270 304 0 +270 305 0 +270 306 0 +270 307 0 +270 308 0 +270 309 0 +270 310 0 +270 311 0 +270 312 0 +270 313 0 +270 314 0 +270 315 0 +270 316 0 +270 317 0 +270 318 0 +270 319 0 +270 320 0 +270 321 0 +270 322 0 +270 323 0 +270 324 0 +270 325 0 +270 326 0 +270 327 0 +270 328 0 +270 329 0 +270 330 0 +270 331 0 +270 332 0 +270 333 0 +270 334 0 +270 335 0 +270 336 0 +270 337 0 +270 338 0 +270 339 0 +270 340 0 +270 341 0 +270 342 0 +270 343 0 +270 344 0 +270 345 0 +270 346 0 +270 347 0 +270 348 0 +270 349 0 +270 350 0 +270 351 0 +270 352 0 +270 353 0 +270 354 0 +270 355 0 +270 356 0 +270 357 0 +270 358 0 +270 359 0 +270 360 0 +270 361 0 +270 362 0 +270 363 0 +270 364 0 +270 365 0 +270 366 0 +270 367 0 +270 368 0 +270 369 0 +270 370 0 +270 371 0 +270 372 0 +270 373 0 +270 374 0 +270 375 0 +270 376 0 +270 377 0 +270 378 0 +270 379 0 +270 380 0 +270 381 0 +270 382 0 +270 383 0 +271 272 0 +271 273 0 +271 274 0 +271 275 0 +271 276 0 +271 277 0 +271 278 0 +271 279 0 +271 280 0 +271 281 0 +271 282 0 +271 283 0 +271 284 0 +271 285 0 +271 286 0 +271 287 0 +271 288 0 +271 289 0 +271 290 0 +271 291 0 +271 292 0 +271 293 0 +271 294 0 +271 295 0 +271 296 0 +271 297 0 +271 298 0 +271 299 0 +271 300 0 +271 301 0 +271 302 0 +271 303 0 +271 304 0 +271 305 0 +271 306 0 +271 307 0 +271 308 0 +271 309 0 +271 310 0 +271 311 0 +271 312 0 +271 313 0 +271 314 0 +271 315 0 +271 316 0 +271 317 0 +271 318 0 +271 319 0 +271 320 0 +271 321 0 +271 322 0 +271 323 0 +271 324 0 +271 325 0 +271 326 0 +271 327 0 +271 328 0 +271 329 0 +271 330 0 +271 331 0 +271 332 0 +271 333 0 +271 334 0 +271 335 0 +271 336 0 +271 337 0 +271 338 0 +271 339 0 +271 340 0 +271 341 0 +271 342 0 +271 343 0 +271 344 0 +271 345 0 +271 346 0 +271 347 0 +271 348 0 +271 349 0 +271 350 0 +271 351 0 +271 352 0 +271 353 0 +271 354 0 +271 355 0 +271 356 0 +271 357 0 +271 358 0 +271 359 0 +271 360 0 +271 361 0 +271 362 0 +271 363 0 +271 364 0 +271 365 0 +271 366 0 +271 367 0 +271 368 0 +271 369 0 +271 370 0 +271 371 0 +271 372 0 +271 373 0 +271 374 0 +271 375 0 +271 376 0 +271 377 0 +271 378 0 +271 379 0 +271 380 0 +271 381 0 +271 382 0 +271 383 0 +272 273 0 +272 274 0 +272 275 0 +272 276 0 +272 277 0 +272 278 0 +272 279 0 +272 280 0 +272 281 0 +272 282 0 +272 283 0 +272 284 0 +272 285 0 +272 286 0 +272 287 0 +272 288 0 +272 289 0 +272 290 0 +272 291 0 +272 292 0 +272 293 0 +272 294 0 +272 295 0 +272 296 0 +272 297 0 +272 298 0 +272 299 0 +272 300 0 +272 301 0 +272 302 0 +272 303 0 +272 304 0 +272 305 0 +272 306 0 +272 307 0 +272 308 0 +272 309 0 +272 310 0 +272 311 0 +272 312 0 +272 313 0 +272 314 0 +272 315 0 +272 316 0 +272 317 0 +272 318 0 +272 319 0 +272 320 0 +272 321 0 +272 322 0 +272 323 0 +272 324 0 +272 325 0 +272 326 0 +272 327 0 +272 328 0 +272 329 0 +272 330 0 +272 331 0 +272 332 0 +272 333 0 +272 334 0 +272 335 0 +272 336 0 +272 337 0 +272 338 0 +272 339 0 +272 340 0 +272 341 0 +272 342 0 +272 343 0 +272 344 0 +272 345 0 +272 346 0 +272 347 0 +272 348 0 +272 349 0 +272 350 0 +272 351 0 +272 352 0 +272 353 0 +272 354 0 +272 355 0 +272 356 0 +272 357 0 +272 358 0 +272 359 0 +272 360 0 +272 361 0 +272 362 0 +272 363 0 +272 364 0 +272 365 0 +272 366 0 +272 367 0 +272 368 0 +272 369 0 +272 370 0 +272 371 0 +272 372 0 +272 373 0 +272 374 0 +272 375 0 +272 376 0 +272 377 0 +272 378 0 +272 379 0 +272 380 0 +272 381 0 +272 382 0 +272 383 0 +273 274 0 +273 275 0 +273 276 0 +273 277 0 +273 278 0 +273 279 0 +273 280 0 +273 281 0 +273 282 0 +273 283 0 +273 284 0 +273 285 0 +273 286 0 +273 287 0 +273 288 0 +273 289 0 +273 290 0 +273 291 0 +273 292 0 +273 293 0 +273 294 0 +273 295 0 +273 296 0 +273 297 0 +273 298 0 +273 299 0 +273 300 0 +273 301 0 +273 302 0 +273 303 0 +273 304 0 +273 305 0 +273 306 0 +273 307 0 +273 308 0 +273 309 0 +273 310 0 +273 311 0 +273 312 0 +273 313 0 +273 314 0 +273 315 0 +273 316 0 +273 317 0 +273 318 0 +273 319 0 +273 320 0 +273 321 0 +273 322 0 +273 323 0 +273 324 0 +273 325 0 +273 326 0 +273 327 0 +273 328 0 +273 329 0 +273 330 0 +273 331 0 +273 332 0 +273 333 0 +273 334 0 +273 335 0 +273 336 0 +273 337 0 +273 338 0 +273 339 0 +273 340 0 +273 341 0 +273 342 0 +273 343 0 +273 344 0 +273 345 0 +273 346 0 +273 347 0 +273 348 0 +273 349 0 +273 350 0 +273 351 0 +273 352 0 +273 353 0 +273 354 0 +273 355 0 +273 356 0 +273 357 0 +273 358 0 +273 359 0 +273 360 0 +273 361 0 +273 362 0 +273 363 0 +273 364 0 +273 365 0 +273 366 0 +273 367 0 +273 368 0 +273 369 0 +273 370 0 +273 371 0 +273 372 0 +273 373 0 +273 374 0 +273 375 0 +273 376 0 +273 377 0 +273 378 0 +273 379 0 +273 380 0 +273 381 0 +273 382 0 +273 383 0 +274 275 0 +274 276 0 +274 277 0 +274 278 0 +274 279 0 +274 280 0 +274 281 0 +274 282 0 +274 283 0 +274 284 0 +274 285 0 +274 286 0 +274 287 0 +274 288 0 +274 289 0 +274 290 0 +274 291 0 +274 292 0 +274 293 0 +274 294 0 +274 295 0 +274 296 0 +274 297 0 +274 298 0 +274 299 0 +274 300 0 +274 301 0 +274 302 0 +274 303 0 +274 304 0 +274 305 0 +274 306 0 +274 307 0 +274 308 0 +274 309 0 +274 310 0 +274 311 0 +274 312 0 +274 313 0 +274 314 0 +274 315 0 +274 316 0 +274 317 0 +274 318 0 +274 319 0 +274 320 0 +274 321 0 +274 322 0 +274 323 0 +274 324 0 +274 325 0 +274 326 0 +274 327 0 +274 328 0 +274 329 0 +274 330 0 +274 331 0 +274 332 0 +274 333 0 +274 334 0 +274 335 0 +274 336 0 +274 337 0 +274 338 0 +274 339 0 +274 340 0 +274 341 0 +274 342 0 +274 343 0 +274 344 0 +274 345 0 +274 346 0 +274 347 0 +274 348 0 +274 349 0 +274 350 0 +274 351 0 +274 352 0 +274 353 0 +274 354 0 +274 355 0 +274 356 0 +274 357 0 +274 358 0 +274 359 0 +274 360 0 +274 361 0 +274 362 0 +274 363 0 +274 364 0 +274 365 0 +274 366 0 +274 367 0 +274 368 0 +274 369 0 +274 370 0 +274 371 0 +274 372 0 +274 373 0 +274 374 0 +274 375 0 +274 376 0 +274 377 0 +274 378 0 +274 379 0 +274 380 0 +274 381 0 +274 382 0 +274 383 0 +275 276 0 +275 277 0 +275 278 0 +275 279 0 +275 280 0 +275 281 0 +275 282 0 +275 283 0 +275 284 0 +275 285 0 +275 286 0 +275 287 0 +275 288 0 +275 289 0 +275 290 0 +275 291 0 +275 292 0 +275 293 0 +275 294 0 +275 295 0 +275 296 0 +275 297 0 +275 298 0 +275 299 0 +275 300 0 +275 301 0 +275 302 0 +275 303 0 +275 304 0 +275 305 0 +275 306 0 +275 307 0 +275 308 0 +275 309 0 +275 310 0 +275 311 0 +275 312 0 +275 313 0 +275 314 0 +275 315 0 +275 316 0 +275 317 0 +275 318 0 +275 319 0 +275 320 0 +275 321 0 +275 322 0 +275 323 0 +275 324 0 +275 325 0 +275 326 0 +275 327 0 +275 328 0 +275 329 0 +275 330 0 +275 331 0 +275 332 0 +275 333 0 +275 334 0 +275 335 0 +275 336 0 +275 337 0 +275 338 0 +275 339 0 +275 340 0 +275 341 0 +275 342 0 +275 343 0 +275 344 0 +275 345 0 +275 346 0 +275 347 0 +275 348 0 +275 349 0 +275 350 0 +275 351 0 +275 352 0 +275 353 0 +275 354 0 +275 355 0 +275 356 0 +275 357 0 +275 358 0 +275 359 0 +275 360 0 +275 361 0 +275 362 0 +275 363 0 +275 364 0 +275 365 0 +275 366 0 +275 367 0 +275 368 0 +275 369 0 +275 370 0 +275 371 0 +275 372 0 +275 373 0 +275 374 0 +275 375 0 +275 376 0 +275 377 0 +275 378 0 +275 379 0 +275 380 0 +275 381 0 +275 382 0 +275 383 0 +276 277 0 +276 278 0 +276 279 0 +276 280 0 +276 281 0 +276 282 0 +276 283 0 +276 284 0 +276 285 0 +276 286 0 +276 287 0 +276 288 0 +276 289 0 +276 290 0 +276 291 0 +276 292 0 +276 293 0 +276 294 0 +276 295 0 +276 296 0 +276 297 0 +276 298 0 +276 299 0 +276 300 0 +276 301 0 +276 302 0 +276 303 0 +276 304 0 +276 305 0 +276 306 0 +276 307 0 +276 308 0 +276 309 0 +276 310 0 +276 311 0 +276 312 0 +276 313 0 +276 314 0 +276 315 0 +276 316 0 +276 317 0 +276 318 0 +276 319 0 +276 320 0 +276 321 0 +276 322 0 +276 323 0 +276 324 0 +276 325 0 +276 326 0 +276 327 0 +276 328 0 +276 329 0 +276 330 0 +276 331 0 +276 332 0 +276 333 0 +276 334 0 +276 335 0 +276 336 0 +276 337 0 +276 338 0 +276 339 0 +276 340 0 +276 341 0 +276 342 0 +276 343 0 +276 344 0 +276 345 0 +276 346 0 +276 347 0 +276 348 0 +276 349 0 +276 350 0 +276 351 0 +276 352 0 +276 353 0 +276 354 0 +276 355 0 +276 356 0 +276 357 0 +276 358 0 +276 359 0 +276 360 0 +276 361 0 +276 362 0 +276 363 0 +276 364 0 +276 365 0 +276 366 0 +276 367 0 +276 368 0 +276 369 0 +276 370 0 +276 371 0 +276 372 0 +276 373 0 +276 374 0 +276 375 0 +276 376 0 +276 377 0 +276 378 0 +276 379 0 +276 380 0 +276 381 0 +276 382 0 +276 383 0 +277 278 0 +277 279 0 +277 280 0 +277 281 0 +277 282 0 +277 283 0 +277 284 0 +277 285 0 +277 286 0 +277 287 0 +277 288 0 +277 289 0 +277 290 0 +277 291 0 +277 292 0 +277 293 0 +277 294 0 +277 295 0 +277 296 0 +277 297 0 +277 298 0 +277 299 0 +277 300 0 +277 301 0 +277 302 0 +277 303 0 +277 304 0 +277 305 0 +277 306 0 +277 307 0 +277 308 0 +277 309 0 +277 310 0 +277 311 0 +277 312 0 +277 313 0 +277 314 0 +277 315 0 +277 316 0 +277 317 0 +277 318 0 +277 319 0 +277 320 0 +277 321 0 +277 322 0 +277 323 0 +277 324 0 +277 325 0 +277 326 0 +277 327 0 +277 328 0 +277 329 0 +277 330 0 +277 331 0 +277 332 0 +277 333 0 +277 334 0 +277 335 0 +277 336 0 +277 337 0 +277 338 0 +277 339 0 +277 340 0 +277 341 0 +277 342 0 +277 343 0 +277 344 0 +277 345 0 +277 346 0 +277 347 0 +277 348 0 +277 349 0 +277 350 0 +277 351 0 +277 352 0 +277 353 0 +277 354 0 +277 355 0 +277 356 0 +277 357 0 +277 358 0 +277 359 0 +277 360 0 +277 361 0 +277 362 0 +277 363 0 +277 364 0 +277 365 0 +277 366 0 +277 367 0 +277 368 0 +277 369 0 +277 370 0 +277 371 0 +277 372 0 +277 373 0 +277 374 0 +277 375 0 +277 376 0 +277 377 0 +277 378 0 +277 379 0 +277 380 0 +277 381 0 +277 382 0 +277 383 0 +278 279 0 +278 280 0 +278 281 0 +278 282 0 +278 283 0 +278 284 0 +278 285 0 +278 286 0 +278 287 0 +278 288 0 +278 289 0 +278 290 0 +278 291 0 +278 292 0 +278 293 0 +278 294 0 +278 295 0 +278 296 0 +278 297 0 +278 298 0 +278 299 0 +278 300 0 +278 301 0 +278 302 0 +278 303 0 +278 304 0 +278 305 0 +278 306 0 +278 307 0 +278 308 0 +278 309 0 +278 310 0 +278 311 0 +278 312 0 +278 313 0 +278 314 0 +278 315 0 +278 316 0 +278 317 0 +278 318 0 +278 319 0 +278 320 0 +278 321 0 +278 322 0 +278 323 0 +278 324 0 +278 325 0 +278 326 0 +278 327 0 +278 328 0 +278 329 0 +278 330 0 +278 331 0 +278 332 0 +278 333 0 +278 334 0 +278 335 0 +278 336 0 +278 337 0 +278 338 0 +278 339 0 +278 340 0 +278 341 0 +278 342 0 +278 343 0 +278 344 0 +278 345 0 +278 346 0 +278 347 0 +278 348 0 +278 349 0 +278 350 0 +278 351 0 +278 352 0 +278 353 0 +278 354 0 +278 355 0 +278 356 0 +278 357 0 +278 358 0 +278 359 0 +278 360 0 +278 361 0 +278 362 0 +278 363 0 +278 364 0 +278 365 0 +278 366 0 +278 367 0 +278 368 0 +278 369 0 +278 370 0 +278 371 0 +278 372 0 +278 373 0 +278 374 0 +278 375 0 +278 376 0 +278 377 0 +278 378 0 +278 379 0 +278 380 0 +278 381 0 +278 382 0 +278 383 0 +279 280 0 +279 281 0 +279 282 0 +279 283 0 +279 284 0 +279 285 0 +279 286 0 +279 287 0 +279 288 0 +279 289 0 +279 290 0 +279 291 0 +279 292 0 +279 293 0 +279 294 0 +279 295 0 +279 296 0 +279 297 0 +279 298 0 +279 299 0 +279 300 0 +279 301 0 +279 302 0 +279 303 0 +279 304 0 +279 305 0 +279 306 0 +279 307 0 +279 308 0 +279 309 0 +279 310 0 +279 311 0 +279 312 0 +279 313 0 +279 314 0 +279 315 0 +279 316 0 +279 317 0 +279 318 0 +279 319 0 +279 320 0 +279 321 0 +279 322 0 +279 323 0 +279 324 0 +279 325 0 +279 326 0 +279 327 0 +279 328 0 +279 329 0 +279 330 0 +279 331 0 +279 332 0 +279 333 0 +279 334 0 +279 335 0 +279 336 0 +279 337 0 +279 338 0 +279 339 0 +279 340 0 +279 341 0 +279 342 0 +279 343 0 +279 344 0 +279 345 0 +279 346 0 +279 347 0 +279 348 0 +279 349 0 +279 350 0 +279 351 0 +279 352 0 +279 353 0 +279 354 0 +279 355 0 +279 356 0 +279 357 0 +279 358 0 +279 359 0 +279 360 0 +279 361 0 +279 362 0 +279 363 0 +279 364 0 +279 365 0 +279 366 0 +279 367 0 +279 368 0 +279 369 0 +279 370 0 +279 371 0 +279 372 0 +279 373 0 +279 374 0 +279 375 0 +279 376 0 +279 377 0 +279 378 0 +279 379 0 +279 380 0 +279 381 0 +279 382 0 +279 383 0 +280 281 0 +280 282 0 +280 283 0 +280 284 0 +280 285 0 +280 286 0 +280 287 0 +280 288 0 +280 289 0 +280 290 0 +280 291 0 +280 292 0 +280 293 0 +280 294 0 +280 295 0 +280 296 0 +280 297 0 +280 298 0 +280 299 0 +280 300 0 +280 301 0 +280 302 0 +280 303 0 +280 304 0 +280 305 0 +280 306 0 +280 307 0 +280 308 0 +280 309 0 +280 310 0 +280 311 0 +280 312 0 +280 313 0 +280 314 0 +280 315 0 +280 316 0 +280 317 0 +280 318 0 +280 319 0 +280 320 0 +280 321 0 +280 322 0 +280 323 0 +280 324 0 +280 325 0 +280 326 0 +280 327 0 +280 328 0 +280 329 0 +280 330 0 +280 331 0 +280 332 0 +280 333 0 +280 334 0 +280 335 0 +280 336 0 +280 337 0 +280 338 0 +280 339 0 +280 340 0 +280 341 0 +280 342 0 +280 343 0 +280 344 0 +280 345 0 +280 346 0 +280 347 0 +280 348 0 +280 349 0 +280 350 0 +280 351 0 +280 352 0 +280 353 0 +280 354 0 +280 355 0 +280 356 0 +280 357 0 +280 358 0 +280 359 0 +280 360 0 +280 361 0 +280 362 0 +280 363 0 +280 364 0 +280 365 0 +280 366 0 +280 367 0 +280 368 0 +280 369 0 +280 370 0 +280 371 0 +280 372 0 +280 373 0 +280 374 0 +280 375 0 +280 376 0 +280 377 0 +280 378 0 +280 379 0 +280 380 0 +280 381 0 +280 382 0 +280 383 0 +281 282 0 +281 283 0 +281 284 0 +281 285 0 +281 286 0 +281 287 0 +281 288 0 +281 289 0 +281 290 0 +281 291 0 +281 292 0 +281 293 0 +281 294 0 +281 295 0 +281 296 0 +281 297 0 +281 298 0 +281 299 0 +281 300 0 +281 301 0 +281 302 0 +281 303 0 +281 304 0 +281 305 0 +281 306 0 +281 307 0 +281 308 0 +281 309 0 +281 310 0 +281 311 0 +281 312 0 +281 313 0 +281 314 0 +281 315 0 +281 316 0 +281 317 0 +281 318 0 +281 319 0 +281 320 0 +281 321 0 +281 322 0 +281 323 0 +281 324 0 +281 325 0 +281 326 0 +281 327 0 +281 328 0 +281 329 0 +281 330 0 +281 331 0 +281 332 0 +281 333 0 +281 334 0 +281 335 0 +281 336 0 +281 337 0 +281 338 0 +281 339 0 +281 340 0 +281 341 0 +281 342 0 +281 343 0 +281 344 0 +281 345 0 +281 346 0 +281 347 0 +281 348 0 +281 349 0 +281 350 0 +281 351 0 +281 352 0 +281 353 0 +281 354 0 +281 355 0 +281 356 0 +281 357 0 +281 358 0 +281 359 0 +281 360 0 +281 361 0 +281 362 0 +281 363 0 +281 364 0 +281 365 0 +281 366 0 +281 367 0 +281 368 0 +281 369 0 +281 370 0 +281 371 0 +281 372 0 +281 373 0 +281 374 0 +281 375 0 +281 376 0 +281 377 0 +281 378 0 +281 379 0 +281 380 0 +281 381 0 +281 382 0 +281 383 0 +282 283 0 +282 284 0 +282 285 0 +282 286 0 +282 287 0 +282 288 0 +282 289 0 +282 290 0 +282 291 0 +282 292 0 +282 293 0 +282 294 0 +282 295 0 +282 296 0 +282 297 0 +282 298 0 +282 299 0 +282 300 0 +282 301 0 +282 302 0 +282 303 0 +282 304 0 +282 305 0 +282 306 0 +282 307 0 +282 308 0 +282 309 0 +282 310 0 +282 311 0 +282 312 0 +282 313 0 +282 314 0 +282 315 0 +282 316 0 +282 317 0 +282 318 0 +282 319 0 +282 320 0 +282 321 0 +282 322 0 +282 323 0 +282 324 0 +282 325 0 +282 326 0 +282 327 0 +282 328 0 +282 329 0 +282 330 0 +282 331 0 +282 332 0 +282 333 0 +282 334 0 +282 335 0 +282 336 0 +282 337 0 +282 338 0 +282 339 0 +282 340 0 +282 341 0 +282 342 0 +282 343 0 +282 344 0 +282 345 0 +282 346 0 +282 347 0 +282 348 0 +282 349 0 +282 350 0 +282 351 0 +282 352 0 +282 353 0 +282 354 0 +282 355 0 +282 356 0 +282 357 0 +282 358 0 +282 359 0 +282 360 0 +282 361 0 +282 362 0 +282 363 0 +282 364 0 +282 365 0 +282 366 0 +282 367 0 +282 368 0 +282 369 0 +282 370 0 +282 371 0 +282 372 0 +282 373 0 +282 374 0 +282 375 0 +282 376 0 +282 377 0 +282 378 0 +282 379 0 +282 380 0 +282 381 0 +282 382 0 +282 383 0 +283 284 0 +283 285 0 +283 286 0 +283 287 0 +283 288 0 +283 289 0 +283 290 0 +283 291 0 +283 292 0 +283 293 0 +283 294 0 +283 295 0 +283 296 0 +283 297 0 +283 298 0 +283 299 0 +283 300 0 +283 301 0 +283 302 0 +283 303 0 +283 304 0 +283 305 0 +283 306 0 +283 307 0 +283 308 0 +283 309 0 +283 310 0 +283 311 0 +283 312 0 +283 313 0 +283 314 0 +283 315 0 +283 316 0 +283 317 0 +283 318 0 +283 319 0 +283 320 0 +283 321 0 +283 322 0 +283 323 0 +283 324 0 +283 325 0 +283 326 0 +283 327 0 +283 328 0 +283 329 0 +283 330 0 +283 331 0 +283 332 0 +283 333 0 +283 334 0 +283 335 0 +283 336 0 +283 337 0 +283 338 0 +283 339 0 +283 340 0 +283 341 0 +283 342 0 +283 343 0 +283 344 0 +283 345 0 +283 346 0 +283 347 0 +283 348 0 +283 349 0 +283 350 0 +283 351 0 +283 352 0 +283 353 0 +283 354 0 +283 355 0 +283 356 0 +283 357 0 +283 358 0 +283 359 0 +283 360 0 +283 361 0 +283 362 0 +283 363 0 +283 364 0 +283 365 0 +283 366 0 +283 367 0 +283 368 0 +283 369 0 +283 370 0 +283 371 0 +283 372 0 +283 373 0 +283 374 0 +283 375 0 +283 376 0 +283 377 0 +283 378 0 +283 379 0 +283 380 0 +283 381 0 +283 382 0 +283 383 0 +284 285 0 +284 286 0 +284 287 0 +284 288 0 +284 289 0 +284 290 0 +284 291 0 +284 292 0 +284 293 0 +284 294 0 +284 295 0 +284 296 0 +284 297 0 +284 298 0 +284 299 0 +284 300 0 +284 301 0 +284 302 0 +284 303 0 +284 304 0 +284 305 0 +284 306 0 +284 307 0 +284 308 0 +284 309 0 +284 310 0 +284 311 0 +284 312 0 +284 313 0 +284 314 0 +284 315 0 +284 316 0 +284 317 0 +284 318 0 +284 319 0 +284 320 0 +284 321 0 +284 322 0 +284 323 0 +284 324 0 +284 325 0 +284 326 0 +284 327 0 +284 328 0 +284 329 0 +284 330 0 +284 331 0 +284 332 0 +284 333 0 +284 334 0 +284 335 0 +284 336 0 +284 337 0 +284 338 0 +284 339 0 +284 340 0 +284 341 0 +284 342 0 +284 343 0 +284 344 0 +284 345 0 +284 346 0 +284 347 0 +284 348 0 +284 349 0 +284 350 0 +284 351 0 +284 352 0 +284 353 0 +284 354 0 +284 355 0 +284 356 0 +284 357 0 +284 358 0 +284 359 0 +284 360 0 +284 361 0 +284 362 0 +284 363 0 +284 364 0 +284 365 0 +284 366 0 +284 367 0 +284 368 0 +284 369 0 +284 370 0 +284 371 0 +284 372 0 +284 373 0 +284 374 0 +284 375 0 +284 376 0 +284 377 0 +284 378 0 +284 379 0 +284 380 0 +284 381 0 +284 382 0 +284 383 0 +285 286 0 +285 287 0 +285 288 0 +285 289 0 +285 290 0 +285 291 0 +285 292 0 +285 293 0 +285 294 0 +285 295 0 +285 296 0 +285 297 0 +285 298 0 +285 299 0 +285 300 0 +285 301 0 +285 302 0 +285 303 0 +285 304 0 +285 305 0 +285 306 0 +285 307 0 +285 308 0 +285 309 0 +285 310 0 +285 311 0 +285 312 0 +285 313 0 +285 314 0 +285 315 0 +285 316 0 +285 317 0 +285 318 0 +285 319 0 +285 320 0 +285 321 0 +285 322 0 +285 323 0 +285 324 0 +285 325 0 +285 326 0 +285 327 0 +285 328 0 +285 329 0 +285 330 0 +285 331 0 +285 332 0 +285 333 0 +285 334 0 +285 335 0 +285 336 0 +285 337 0 +285 338 0 +285 339 0 +285 340 0 +285 341 0 +285 342 0 +285 343 0 +285 344 0 +285 345 0 +285 346 0 +285 347 0 +285 348 0 +285 349 0 +285 350 0 +285 351 0 +285 352 0 +285 353 0 +285 354 0 +285 355 0 +285 356 0 +285 357 0 +285 358 0 +285 359 0 +285 360 0 +285 361 0 +285 362 0 +285 363 0 +285 364 0 +285 365 0 +285 366 0 +285 367 0 +285 368 0 +285 369 0 +285 370 0 +285 371 0 +285 372 0 +285 373 0 +285 374 0 +285 375 0 +285 376 0 +285 377 0 +285 378 0 +285 379 0 +285 380 0 +285 381 0 +285 382 0 +285 383 0 +286 287 0 +286 288 0 +286 289 0 +286 290 0 +286 291 0 +286 292 0 +286 293 0 +286 294 0 +286 295 0 +286 296 0 +286 297 0 +286 298 0 +286 299 0 +286 300 0 +286 301 0 +286 302 0 +286 303 0 +286 304 0 +286 305 0 +286 306 0 +286 307 0 +286 308 0 +286 309 0 +286 310 0 +286 311 0 +286 312 0 +286 313 0 +286 314 0 +286 315 0 +286 316 0 +286 317 0 +286 318 0 +286 319 0 +286 320 0 +286 321 0 +286 322 0 +286 323 0 +286 324 0 +286 325 0 +286 326 0 +286 327 0 +286 328 0 +286 329 0 +286 330 0 +286 331 0 +286 332 0 +286 333 0 +286 334 0 +286 335 0 +286 336 0 +286 337 0 +286 338 0 +286 339 0 +286 340 0 +286 341 0 +286 342 0 +286 343 0 +286 344 0 +286 345 0 +286 346 0 +286 347 0 +286 348 0 +286 349 0 +286 350 0 +286 351 0 +286 352 0 +286 353 0 +286 354 0 +286 355 0 +286 356 0 +286 357 0 +286 358 0 +286 359 0 +286 360 0 +286 361 0 +286 362 0 +286 363 0 +286 364 0 +286 365 0 +286 366 0 +286 367 0 +286 368 0 +286 369 0 +286 370 0 +286 371 0 +286 372 0 +286 373 0 +286 374 0 +286 375 0 +286 376 0 +286 377 0 +286 378 0 +286 379 0 +286 380 0 +286 381 0 +286 382 0 +286 383 0 +287 288 0 +287 289 0 +287 290 0 +287 291 0 +287 292 0 +287 293 0 +287 294 0 +287 295 0 +287 296 0 +287 297 0 +287 298 0 +287 299 0 +287 300 0 +287 301 0 +287 302 0 +287 303 0 +287 304 0 +287 305 0 +287 306 0 +287 307 0 +287 308 0 +287 309 0 +287 310 0 +287 311 0 +287 312 0 +287 313 0 +287 314 0 +287 315 0 +287 316 0 +287 317 0 +287 318 0 +287 319 0 +287 320 0 +287 321 0 +287 322 0 +287 323 0 +287 324 0 +287 325 0 +287 326 0 +287 327 0 +287 328 0 +287 329 0 +287 330 0 +287 331 0 +287 332 0 +287 333 0 +287 334 0 +287 335 0 +287 336 0 +287 337 0 +287 338 0 +287 339 0 +287 340 0 +287 341 0 +287 342 0 +287 343 0 +287 344 0 +287 345 0 +287 346 0 +287 347 0 +287 348 0 +287 349 0 +287 350 0 +287 351 0 +287 352 0 +287 353 0 +287 354 0 +287 355 0 +287 356 0 +287 357 0 +287 358 0 +287 359 0 +287 360 0 +287 361 0 +287 362 0 +287 363 0 +287 364 0 +287 365 0 +287 366 0 +287 367 0 +287 368 0 +287 369 0 +287 370 0 +287 371 0 +287 372 0 +287 373 0 +287 374 0 +287 375 0 +287 376 0 +287 377 0 +287 378 0 +287 379 0 +287 380 0 +287 381 0 +287 382 0 +287 383 0 +288 289 0 +288 290 0 +288 291 0 +288 292 0 +288 293 0 +288 294 0 +288 295 0 +288 296 0 +288 297 0 +288 298 0 +288 299 0 +288 300 0 +288 301 0 +288 302 0 +288 303 0 +288 304 0 +288 305 0 +288 306 0 +288 307 0 +288 308 0 +288 309 0 +288 310 0 +288 311 0 +288 312 0 +288 313 0 +288 314 0 +288 315 0 +288 316 0 +288 317 0 +288 318 0 +288 319 0 +288 320 0 +288 321 0 +288 322 0 +288 323 0 +288 324 0 +288 325 0 +288 326 0 +288 327 0 +288 328 0 +288 329 0 +288 330 0 +288 331 0 +288 332 0 +288 333 0 +288 334 0 +288 335 0 +288 336 0 +288 337 0 +288 338 0 +288 339 0 +288 340 0 +288 341 0 +288 342 0 +288 343 0 +288 344 0 +288 345 0 +288 346 0 +288 347 0 +288 348 0 +288 349 0 +288 350 0 +288 351 0 +288 352 0 +288 353 0 +288 354 0 +288 355 0 +288 356 0 +288 357 0 +288 358 0 +288 359 0 +288 360 0 +288 361 0 +288 362 0 +288 363 0 +288 364 0 +288 365 0 +288 366 0 +288 367 0 +288 368 0 +288 369 0 +288 370 0 +288 371 0 +288 372 0 +288 373 0 +288 374 0 +288 375 0 +288 376 0 +288 377 0 +288 378 0 +288 379 0 +288 380 0 +288 381 0 +288 382 0 +288 383 0 +289 290 0 +289 291 0 +289 292 0 +289 293 0 +289 294 0 +289 295 0 +289 296 0 +289 297 0 +289 298 0 +289 299 0 +289 300 0 +289 301 0 +289 302 0 +289 303 0 +289 304 0 +289 305 0 +289 306 0 +289 307 0 +289 308 0 +289 309 0 +289 310 0 +289 311 0 +289 312 0 +289 313 0 +289 314 0 +289 315 0 +289 316 0 +289 317 0 +289 318 0 +289 319 0 +289 320 0 +289 321 0 +289 322 0 +289 323 0 +289 324 0 +289 325 0 +289 326 0 +289 327 0 +289 328 0 +289 329 0 +289 330 0 +289 331 0 +289 332 0 +289 333 0 +289 334 0 +289 335 0 +289 336 0 +289 337 0 +289 338 0 +289 339 0 +289 340 0 +289 341 0 +289 342 0 +289 343 0 +289 344 0 +289 345 0 +289 346 0 +289 347 0 +289 348 0 +289 349 0 +289 350 0 +289 351 0 +289 352 0 +289 353 0 +289 354 0 +289 355 0 +289 356 0 +289 357 0 +289 358 0 +289 359 0 +289 360 0 +289 361 0 +289 362 0 +289 363 0 +289 364 0 +289 365 0 +289 366 0 +289 367 0 +289 368 0 +289 369 0 +289 370 0 +289 371 0 +289 372 0 +289 373 0 +289 374 0 +289 375 0 +289 376 0 +289 377 0 +289 378 0 +289 379 0 +289 380 0 +289 381 0 +289 382 0 +289 383 0 +290 291 0 +290 292 0 +290 293 0 +290 294 0 +290 295 0 +290 296 0 +290 297 0 +290 298 0 +290 299 0 +290 300 0 +290 301 0 +290 302 0 +290 303 0 +290 304 0 +290 305 0 +290 306 0 +290 307 0 +290 308 0 +290 309 0 +290 310 0 +290 311 0 +290 312 0 +290 313 0 +290 314 0 +290 315 0 +290 316 0 +290 317 0 +290 318 0 +290 319 0 +290 320 0 +290 321 0 +290 322 0 +290 323 0 +290 324 0 +290 325 0 +290 326 0 +290 327 0 +290 328 0 +290 329 0 +290 330 0 +290 331 0 +290 332 0 +290 333 0 +290 334 0 +290 335 0 +290 336 0 +290 337 0 +290 338 0 +290 339 0 +290 340 0 +290 341 0 +290 342 0 +290 343 0 +290 344 0 +290 345 0 +290 346 0 +290 347 0 +290 348 0 +290 349 0 +290 350 0 +290 351 0 +290 352 0 +290 353 0 +290 354 0 +290 355 0 +290 356 0 +290 357 0 +290 358 0 +290 359 0 +290 360 0 +290 361 0 +290 362 0 +290 363 0 +290 364 0 +290 365 0 +290 366 0 +290 367 0 +290 368 0 +290 369 0 +290 370 0 +290 371 0 +290 372 0 +290 373 0 +290 374 0 +290 375 0 +290 376 0 +290 377 0 +290 378 0 +290 379 0 +290 380 0 +290 381 0 +290 382 0 +290 383 0 +291 292 0 +291 293 0 +291 294 0 +291 295 0 +291 296 0 +291 297 0 +291 298 0 +291 299 0 +291 300 0 +291 301 0 +291 302 0 +291 303 0 +291 304 0 +291 305 0 +291 306 0 +291 307 0 +291 308 0 +291 309 0 +291 310 0 +291 311 0 +291 312 0 +291 313 0 +291 314 0 +291 315 0 +291 316 0 +291 317 0 +291 318 0 +291 319 0 +291 320 0 +291 321 0 +291 322 0 +291 323 0 +291 324 0 +291 325 0 +291 326 0 +291 327 0 +291 328 0 +291 329 0 +291 330 0 +291 331 0 +291 332 0 +291 333 0 +291 334 0 +291 335 0 +291 336 0 +291 337 0 +291 338 0 +291 339 0 +291 340 0 +291 341 0 +291 342 0 +291 343 0 +291 344 0 +291 345 0 +291 346 0 +291 347 0 +291 348 0 +291 349 0 +291 350 0 +291 351 0 +291 352 0 +291 353 0 +291 354 0 +291 355 0 +291 356 0 +291 357 0 +291 358 0 +291 359 0 +291 360 0 +291 361 0 +291 362 0 +291 363 0 +291 364 0 +291 365 0 +291 366 0 +291 367 0 +291 368 0 +291 369 0 +291 370 0 +291 371 0 +291 372 0 +291 373 0 +291 374 0 +291 375 0 +291 376 0 +291 377 0 +291 378 0 +291 379 0 +291 380 0 +291 381 0 +291 382 0 +291 383 0 +292 293 0 +292 294 0 +292 295 0 +292 296 0 +292 297 0 +292 298 0 +292 299 0 +292 300 0 +292 301 0 +292 302 0 +292 303 0 +292 304 0 +292 305 0 +292 306 0 +292 307 0 +292 308 0 +292 309 0 +292 310 0 +292 311 0 +292 312 0 +292 313 0 +292 314 0 +292 315 0 +292 316 0 +292 317 0 +292 318 0 +292 319 0 +292 320 0 +292 321 0 +292 322 0 +292 323 0 +292 324 0 +292 325 0 +292 326 0 +292 327 0 +292 328 0 +292 329 0 +292 330 0 +292 331 0 +292 332 0 +292 333 0 +292 334 0 +292 335 0 +292 336 0 +292 337 0 +292 338 0 +292 339 0 +292 340 0 +292 341 0 +292 342 0 +292 343 0 +292 344 0 +292 345 0 +292 346 0 +292 347 0 +292 348 0 +292 349 0 +292 350 0 +292 351 0 +292 352 0 +292 353 0 +292 354 0 +292 355 0 +292 356 0 +292 357 0 +292 358 0 +292 359 0 +292 360 0 +292 361 0 +292 362 0 +292 363 0 +292 364 0 +292 365 0 +292 366 0 +292 367 0 +292 368 0 +292 369 0 +292 370 0 +292 371 0 +292 372 0 +292 373 0 +292 374 0 +292 375 0 +292 376 0 +292 377 0 +292 378 0 +292 379 0 +292 380 0 +292 381 0 +292 382 0 +292 383 0 +293 294 0 +293 295 0 +293 296 0 +293 297 0 +293 298 0 +293 299 0 +293 300 0 +293 301 0 +293 302 0 +293 303 0 +293 304 0 +293 305 0 +293 306 0 +293 307 0 +293 308 0 +293 309 0 +293 310 0 +293 311 0 +293 312 0 +293 313 0 +293 314 0 +293 315 0 +293 316 0 +293 317 0 +293 318 0 +293 319 0 +293 320 0 +293 321 0 +293 322 0 +293 323 0 +293 324 0 +293 325 0 +293 326 0 +293 327 0 +293 328 0 +293 329 0 +293 330 0 +293 331 0 +293 332 0 +293 333 0 +293 334 0 +293 335 0 +293 336 0 +293 337 0 +293 338 0 +293 339 0 +293 340 0 +293 341 0 +293 342 0 +293 343 0 +293 344 0 +293 345 0 +293 346 0 +293 347 0 +293 348 0 +293 349 0 +293 350 0 +293 351 0 +293 352 0 +293 353 0 +293 354 0 +293 355 0 +293 356 0 +293 357 0 +293 358 0 +293 359 0 +293 360 0 +293 361 0 +293 362 0 +293 363 0 +293 364 0 +293 365 0 +293 366 0 +293 367 0 +293 368 0 +293 369 0 +293 370 0 +293 371 0 +293 372 0 +293 373 0 +293 374 0 +293 375 0 +293 376 0 +293 377 0 +293 378 0 +293 379 0 +293 380 0 +293 381 0 +293 382 0 +293 383 0 +294 295 0 +294 296 0 +294 297 0 +294 298 0 +294 299 0 +294 300 0 +294 301 0 +294 302 0 +294 303 0 +294 304 0 +294 305 0 +294 306 0 +294 307 0 +294 308 0 +294 309 0 +294 310 0 +294 311 0 +294 312 0 +294 313 0 +294 314 0 +294 315 0 +294 316 0 +294 317 0 +294 318 0 +294 319 0 +294 320 0 +294 321 0 +294 322 0 +294 323 0 +294 324 0 +294 325 0 +294 326 0 +294 327 0 +294 328 0 +294 329 0 +294 330 0 +294 331 0 +294 332 0 +294 333 0 +294 334 0 +294 335 0 +294 336 0 +294 337 0 +294 338 0 +294 339 0 +294 340 0 +294 341 0 +294 342 0 +294 343 0 +294 344 0 +294 345 0 +294 346 0 +294 347 0 +294 348 0 +294 349 0 +294 350 0 +294 351 0 +294 352 0 +294 353 0 +294 354 0 +294 355 0 +294 356 0 +294 357 0 +294 358 0 +294 359 0 +294 360 0 +294 361 0 +294 362 0 +294 363 0 +294 364 0 +294 365 0 +294 366 0 +294 367 0 +294 368 0 +294 369 0 +294 370 0 +294 371 0 +294 372 0 +294 373 0 +294 374 0 +294 375 0 +294 376 0 +294 377 0 +294 378 0 +294 379 0 +294 380 0 +294 381 0 +294 382 0 +294 383 0 +295 296 0 +295 297 0 +295 298 0 +295 299 0 +295 300 0 +295 301 0 +295 302 0 +295 303 0 +295 304 0 +295 305 0 +295 306 0 +295 307 0 +295 308 0 +295 309 0 +295 310 0 +295 311 0 +295 312 0 +295 313 0 +295 314 0 +295 315 0 +295 316 0 +295 317 0 +295 318 0 +295 319 0 +295 320 0 +295 321 0 +295 322 0 +295 323 0 +295 324 0 +295 325 0 +295 326 0 +295 327 0 +295 328 0 +295 329 0 +295 330 0 +295 331 0 +295 332 0 +295 333 0 +295 334 0 +295 335 0 +295 336 0 +295 337 0 +295 338 0 +295 339 0 +295 340 0 +295 341 0 +295 342 0 +295 343 0 +295 344 0 +295 345 0 +295 346 0 +295 347 0 +295 348 0 +295 349 0 +295 350 0 +295 351 0 +295 352 0 +295 353 0 +295 354 0 +295 355 0 +295 356 0 +295 357 0 +295 358 0 +295 359 0 +295 360 0 +295 361 0 +295 362 0 +295 363 0 +295 364 0 +295 365 0 +295 366 0 +295 367 0 +295 368 0 +295 369 0 +295 370 0 +295 371 0 +295 372 0 +295 373 0 +295 374 0 +295 375 0 +295 376 0 +295 377 0 +295 378 0 +295 379 0 +295 380 0 +295 381 0 +295 382 0 +295 383 0 +296 297 0 +296 298 0 +296 299 0 +296 300 0 +296 301 0 +296 302 0 +296 303 0 +296 304 0 +296 305 0 +296 306 0 +296 307 0 +296 308 0 +296 309 0 +296 310 0 +296 311 0 +296 312 0 +296 313 0 +296 314 0 +296 315 0 +296 316 0 +296 317 0 +296 318 0 +296 319 0 +296 320 0 +296 321 0 +296 322 0 +296 323 0 +296 324 0 +296 325 0 +296 326 0 +296 327 0 +296 328 0 +296 329 0 +296 330 0 +296 331 0 +296 332 0 +296 333 0 +296 334 0 +296 335 0 +296 336 0 +296 337 0 +296 338 0 +296 339 0 +296 340 0 +296 341 0 +296 342 0 +296 343 0 +296 344 0 +296 345 0 +296 346 0 +296 347 0 +296 348 0 +296 349 0 +296 350 0 +296 351 0 +296 352 0 +296 353 0 +296 354 0 +296 355 0 +296 356 0 +296 357 0 +296 358 0 +296 359 0 +296 360 0 +296 361 0 +296 362 0 +296 363 0 +296 364 0 +296 365 0 +296 366 0 +296 367 0 +296 368 0 +296 369 0 +296 370 0 +296 371 0 +296 372 0 +296 373 0 +296 374 0 +296 375 0 +296 376 0 +296 377 0 +296 378 0 +296 379 0 +296 380 0 +296 381 0 +296 382 0 +296 383 0 +297 298 0 +297 299 0 +297 300 0 +297 301 0 +297 302 0 +297 303 0 +297 304 0 +297 305 0 +297 306 0 +297 307 0 +297 308 0 +297 309 0 +297 310 0 +297 311 0 +297 312 0 +297 313 0 +297 314 0 +297 315 0 +297 316 0 +297 317 0 +297 318 0 +297 319 0 +297 320 0 +297 321 0 +297 322 0 +297 323 0 +297 324 0 +297 325 0 +297 326 0 +297 327 0 +297 328 0 +297 329 0 +297 330 0 +297 331 0 +297 332 0 +297 333 0 +297 334 0 +297 335 0 +297 336 0 +297 337 0 +297 338 0 +297 339 0 +297 340 0 +297 341 0 +297 342 0 +297 343 0 +297 344 0 +297 345 0 +297 346 0 +297 347 0 +297 348 0 +297 349 0 +297 350 0 +297 351 0 +297 352 0 +297 353 0 +297 354 0 +297 355 0 +297 356 0 +297 357 0 +297 358 0 +297 359 0 +297 360 0 +297 361 0 +297 362 0 +297 363 0 +297 364 0 +297 365 0 +297 366 0 +297 367 0 +297 368 0 +297 369 0 +297 370 0 +297 371 0 +297 372 0 +297 373 0 +297 374 0 +297 375 0 +297 376 0 +297 377 0 +297 378 0 +297 379 0 +297 380 0 +297 381 0 +297 382 0 +297 383 0 +298 299 0 +298 300 0 +298 301 0 +298 302 0 +298 303 0 +298 304 0 +298 305 0 +298 306 0 +298 307 0 +298 308 0 +298 309 0 +298 310 0 +298 311 0 +298 312 0 +298 313 0 +298 314 0 +298 315 0 +298 316 0 +298 317 0 +298 318 0 +298 319 0 +298 320 0 +298 321 0 +298 322 0 +298 323 0 +298 324 0 +298 325 0 +298 326 0 +298 327 0 +298 328 0 +298 329 0 +298 330 0 +298 331 0 +298 332 0 +298 333 0 +298 334 0 +298 335 0 +298 336 0 +298 337 0 +298 338 0 +298 339 0 +298 340 0 +298 341 0 +298 342 0 +298 343 0 +298 344 0 +298 345 0 +298 346 0 +298 347 0 +298 348 0 +298 349 0 +298 350 0 +298 351 0 +298 352 0 +298 353 0 +298 354 0 +298 355 0 +298 356 0 +298 357 0 +298 358 0 +298 359 0 +298 360 0 +298 361 0 +298 362 0 +298 363 0 +298 364 0 +298 365 0 +298 366 0 +298 367 0 +298 368 0 +298 369 0 +298 370 0 +298 371 0 +298 372 0 +298 373 0 +298 374 0 +298 375 0 +298 376 0 +298 377 0 +298 378 0 +298 379 0 +298 380 0 +298 381 0 +298 382 0 +298 383 0 +299 300 0 +299 301 0 +299 302 0 +299 303 0 +299 304 0 +299 305 0 +299 306 0 +299 307 0 +299 308 0 +299 309 0 +299 310 0 +299 311 0 +299 312 0 +299 313 0 +299 314 0 +299 315 0 +299 316 0 +299 317 0 +299 318 0 +299 319 0 +299 320 0 +299 321 0 +299 322 0 +299 323 0 +299 324 0 +299 325 0 +299 326 0 +299 327 0 +299 328 0 +299 329 0 +299 330 0 +299 331 0 +299 332 0 +299 333 0 +299 334 0 +299 335 0 +299 336 0 +299 337 0 +299 338 0 +299 339 0 +299 340 0 +299 341 0 +299 342 0 +299 343 0 +299 344 0 +299 345 0 +299 346 0 +299 347 0 +299 348 0 +299 349 0 +299 350 0 +299 351 0 +299 352 0 +299 353 0 +299 354 0 +299 355 0 +299 356 0 +299 357 0 +299 358 0 +299 359 0 +299 360 0 +299 361 0 +299 362 0 +299 363 0 +299 364 0 +299 365 0 +299 366 0 +299 367 0 +299 368 0 +299 369 0 +299 370 0 +299 371 0 +299 372 0 +299 373 0 +299 374 0 +299 375 0 +299 376 0 +299 377 0 +299 378 0 +299 379 0 +299 380 0 +299 381 0 +299 382 0 +299 383 0 +300 301 0 +300 302 0 +300 303 0 +300 304 0 +300 305 0 +300 306 0 +300 307 0 +300 308 0 +300 309 0 +300 310 0 +300 311 0 +300 312 0 +300 313 0 +300 314 0 +300 315 0 +300 316 0 +300 317 0 +300 318 0 +300 319 0 +300 320 0 +300 321 0 +300 322 0 +300 323 0 +300 324 0 +300 325 0 +300 326 0 +300 327 0 +300 328 0 +300 329 0 +300 330 0 +300 331 0 +300 332 0 +300 333 0 +300 334 0 +300 335 0 +300 336 0 +300 337 0 +300 338 0 +300 339 0 +300 340 0 +300 341 0 +300 342 0 +300 343 0 +300 344 0 +300 345 0 +300 346 0 +300 347 0 +300 348 0 +300 349 0 +300 350 0 +300 351 0 +300 352 0 +300 353 0 +300 354 0 +300 355 0 +300 356 0 +300 357 0 +300 358 0 +300 359 0 +300 360 0 +300 361 0 +300 362 0 +300 363 0 +300 364 0 +300 365 0 +300 366 0 +300 367 0 +300 368 0 +300 369 0 +300 370 0 +300 371 0 +300 372 0 +300 373 0 +300 374 0 +300 375 0 +300 376 0 +300 377 0 +300 378 0 +300 379 0 +300 380 0 +300 381 0 +300 382 0 +300 383 0 +301 302 0 +301 303 0 +301 304 0 +301 305 0 +301 306 0 +301 307 0 +301 308 0 +301 309 0 +301 310 0 +301 311 0 +301 312 0 +301 313 0 +301 314 0 +301 315 0 +301 316 0 +301 317 0 +301 318 0 +301 319 0 +301 320 0 +301 321 0 +301 322 0 +301 323 0 +301 324 0 +301 325 0 +301 326 0 +301 327 0 +301 328 0 +301 329 0 +301 330 0 +301 331 0 +301 332 0 +301 333 0 +301 334 0 +301 335 0 +301 336 0 +301 337 0 +301 338 0 +301 339 0 +301 340 0 +301 341 0 +301 342 0 +301 343 0 +301 344 0 +301 345 0 +301 346 0 +301 347 0 +301 348 0 +301 349 0 +301 350 0 +301 351 0 +301 352 0 +301 353 0 +301 354 0 +301 355 0 +301 356 0 +301 357 0 +301 358 0 +301 359 0 +301 360 0 +301 361 0 +301 362 0 +301 363 0 +301 364 0 +301 365 0 +301 366 0 +301 367 0 +301 368 0 +301 369 0 +301 370 0 +301 371 0 +301 372 0 +301 373 0 +301 374 0 +301 375 0 +301 376 0 +301 377 0 +301 378 0 +301 379 0 +301 380 0 +301 381 0 +301 382 0 +301 383 0 +302 303 0 +302 304 0 +302 305 0 +302 306 0 +302 307 0 +302 308 0 +302 309 0 +302 310 0 +302 311 0 +302 312 0 +302 313 0 +302 314 0 +302 315 0 +302 316 0 +302 317 0 +302 318 0 +302 319 0 +302 320 0 +302 321 0 +302 322 0 +302 323 0 +302 324 0 +302 325 0 +302 326 0 +302 327 0 +302 328 0 +302 329 0 +302 330 0 +302 331 0 +302 332 0 +302 333 0 +302 334 0 +302 335 0 +302 336 0 +302 337 0 +302 338 0 +302 339 0 +302 340 0 +302 341 0 +302 342 0 +302 343 0 +302 344 0 +302 345 0 +302 346 0 +302 347 0 +302 348 0 +302 349 0 +302 350 0 +302 351 0 +302 352 0 +302 353 0 +302 354 0 +302 355 0 +302 356 0 +302 357 0 +302 358 0 +302 359 0 +302 360 0 +302 361 0 +302 362 0 +302 363 0 +302 364 0 +302 365 0 +302 366 0 +302 367 0 +302 368 0 +302 369 0 +302 370 0 +302 371 0 +302 372 0 +302 373 0 +302 374 0 +302 375 0 +302 376 0 +302 377 0 +302 378 0 +302 379 0 +302 380 0 +302 381 0 +302 382 0 +302 383 0 +303 304 0 +303 305 0 +303 306 0 +303 307 0 +303 308 0 +303 309 0 +303 310 0 +303 311 0 +303 312 0 +303 313 0 +303 314 0 +303 315 0 +303 316 0 +303 317 0 +303 318 0 +303 319 0 +303 320 0 +303 321 0 +303 322 0 +303 323 0 +303 324 0 +303 325 0 +303 326 0 +303 327 0 +303 328 0 +303 329 0 +303 330 0 +303 331 0 +303 332 0 +303 333 0 +303 334 0 +303 335 0 +303 336 0 +303 337 0 +303 338 0 +303 339 0 +303 340 0 +303 341 0 +303 342 0 +303 343 0 +303 344 0 +303 345 0 +303 346 0 +303 347 0 +303 348 0 +303 349 0 +303 350 0 +303 351 0 +303 352 0 +303 353 0 +303 354 0 +303 355 0 +303 356 0 +303 357 0 +303 358 0 +303 359 0 +303 360 0 +303 361 0 +303 362 0 +303 363 0 +303 364 0 +303 365 0 +303 366 0 +303 367 0 +303 368 0 +303 369 0 +303 370 0 +303 371 0 +303 372 0 +303 373 0 +303 374 0 +303 375 0 +303 376 0 +303 377 0 +303 378 0 +303 379 0 +303 380 0 +303 381 0 +303 382 0 +303 383 0 +304 305 0 +304 306 0 +304 307 0 +304 308 0 +304 309 0 +304 310 0 +304 311 0 +304 312 0 +304 313 0 +304 314 0 +304 315 0 +304 316 0 +304 317 0 +304 318 0 +304 319 0 +304 320 0 +304 321 0 +304 322 0 +304 323 0 +304 324 0 +304 325 0 +304 326 0 +304 327 0 +304 328 0 +304 329 0 +304 330 0 +304 331 0 +304 332 0 +304 333 0 +304 334 0 +304 335 0 +304 336 0 +304 337 0 +304 338 0 +304 339 0 +304 340 0 +304 341 0 +304 342 0 +304 343 0 +304 344 0 +304 345 0 +304 346 0 +304 347 0 +304 348 0 +304 349 0 +304 350 0 +304 351 0 +304 352 0 +304 353 0 +304 354 0 +304 355 0 +304 356 0 +304 357 0 +304 358 0 +304 359 0 +304 360 0 +304 361 0 +304 362 0 +304 363 0 +304 364 0 +304 365 0 +304 366 0 +304 367 0 +304 368 0 +304 369 0 +304 370 0 +304 371 0 +304 372 0 +304 373 0 +304 374 0 +304 375 0 +304 376 0 +304 377 0 +304 378 0 +304 379 0 +304 380 0 +304 381 0 +304 382 0 +304 383 0 +305 306 0 +305 307 0 +305 308 0 +305 309 0 +305 310 0 +305 311 0 +305 312 0 +305 313 0 +305 314 0 +305 315 0 +305 316 0 +305 317 0 +305 318 0 +305 319 0 +305 320 0 +305 321 0 +305 322 0 +305 323 0 +305 324 0 +305 325 0 +305 326 0 +305 327 0 +305 328 0 +305 329 0 +305 330 0 +305 331 0 +305 332 0 +305 333 0 +305 334 0 +305 335 0 +305 336 0 +305 337 0 +305 338 0 +305 339 0 +305 340 0 +305 341 0 +305 342 0 +305 343 0 +305 344 0 +305 345 0 +305 346 0 +305 347 0 +305 348 0 +305 349 0 +305 350 0 +305 351 0 +305 352 0 +305 353 0 +305 354 0 +305 355 0 +305 356 0 +305 357 0 +305 358 0 +305 359 0 +305 360 0 +305 361 0 +305 362 0 +305 363 0 +305 364 0 +305 365 0 +305 366 0 +305 367 0 +305 368 0 +305 369 0 +305 370 0 +305 371 0 +305 372 0 +305 373 0 +305 374 0 +305 375 0 +305 376 0 +305 377 0 +305 378 0 +305 379 0 +305 380 0 +305 381 0 +305 382 0 +305 383 0 +306 307 0 +306 308 0 +306 309 0 +306 310 0 +306 311 0 +306 312 0 +306 313 0 +306 314 0 +306 315 0 +306 316 0 +306 317 0 +306 318 0 +306 319 0 +306 320 0 +306 321 0 +306 322 0 +306 323 0 +306 324 0 +306 325 0 +306 326 0 +306 327 0 +306 328 0 +306 329 0 +306 330 0 +306 331 0 +306 332 0 +306 333 0 +306 334 0 +306 335 0 +306 336 0 +306 337 0 +306 338 0 +306 339 0 +306 340 0 +306 341 0 +306 342 0 +306 343 0 +306 344 0 +306 345 0 +306 346 0 +306 347 0 +306 348 0 +306 349 0 +306 350 0 +306 351 0 +306 352 0 +306 353 0 +306 354 0 +306 355 0 +306 356 0 +306 357 0 +306 358 0 +306 359 0 +306 360 0 +306 361 0 +306 362 0 +306 363 0 +306 364 0 +306 365 0 +306 366 0 +306 367 0 +306 368 0 +306 369 0 +306 370 0 +306 371 0 +306 372 0 +306 373 0 +306 374 0 +306 375 0 +306 376 0 +306 377 0 +306 378 0 +306 379 0 +306 380 0 +306 381 0 +306 382 0 +306 383 0 +307 308 0 +307 309 0 +307 310 0 +307 311 0 +307 312 0 +307 313 0 +307 314 0 +307 315 0 +307 316 0 +307 317 0 +307 318 0 +307 319 0 +307 320 0 +307 321 0 +307 322 0 +307 323 0 +307 324 0 +307 325 0 +307 326 0 +307 327 0 +307 328 0 +307 329 0 +307 330 0 +307 331 0 +307 332 0 +307 333 0 +307 334 0 +307 335 0 +307 336 0 +307 337 0 +307 338 0 +307 339 0 +307 340 0 +307 341 0 +307 342 0 +307 343 0 +307 344 0 +307 345 0 +307 346 0 +307 347 0 +307 348 0 +307 349 0 +307 350 0 +307 351 0 +307 352 0 +307 353 0 +307 354 0 +307 355 0 +307 356 0 +307 357 0 +307 358 0 +307 359 0 +307 360 0 +307 361 0 +307 362 0 +307 363 0 +307 364 0 +307 365 0 +307 366 0 +307 367 0 +307 368 0 +307 369 0 +307 370 0 +307 371 0 +307 372 0 +307 373 0 +307 374 0 +307 375 0 +307 376 0 +307 377 0 +307 378 0 +307 379 0 +307 380 0 +307 381 0 +307 382 0 +307 383 0 +308 309 0 +308 310 0 +308 311 0 +308 312 0 +308 313 0 +308 314 0 +308 315 0 +308 316 0 +308 317 0 +308 318 0 +308 319 0 +308 320 0 +308 321 0 +308 322 0 +308 323 0 +308 324 0 +308 325 0 +308 326 0 +308 327 0 +308 328 0 +308 329 0 +308 330 0 +308 331 0 +308 332 0 +308 333 0 +308 334 0 +308 335 0 +308 336 0 +308 337 0 +308 338 0 +308 339 0 +308 340 0 +308 341 0 +308 342 0 +308 343 0 +308 344 0 +308 345 0 +308 346 0 +308 347 0 +308 348 0 +308 349 0 +308 350 0 +308 351 0 +308 352 0 +308 353 0 +308 354 0 +308 355 0 +308 356 0 +308 357 0 +308 358 0 +308 359 0 +308 360 0 +308 361 0 +308 362 0 +308 363 0 +308 364 0 +308 365 0 +308 366 0 +308 367 0 +308 368 0 +308 369 0 +308 370 0 +308 371 0 +308 372 0 +308 373 0 +308 374 0 +308 375 0 +308 376 0 +308 377 0 +308 378 0 +308 379 0 +308 380 0 +308 381 0 +308 382 0 +308 383 0 +309 310 0 +309 311 0 +309 312 0 +309 313 0 +309 314 0 +309 315 0 +309 316 0 +309 317 0 +309 318 0 +309 319 0 +309 320 0 +309 321 0 +309 322 0 +309 323 0 +309 324 0 +309 325 0 +309 326 0 +309 327 0 +309 328 0 +309 329 0 +309 330 0 +309 331 0 +309 332 0 +309 333 0 +309 334 0 +309 335 0 +309 336 0 +309 337 0 +309 338 0 +309 339 0 +309 340 0 +309 341 0 +309 342 0 +309 343 0 +309 344 0 +309 345 0 +309 346 0 +309 347 0 +309 348 0 +309 349 0 +309 350 0 +309 351 0 +309 352 0 +309 353 0 +309 354 0 +309 355 0 +309 356 0 +309 357 0 +309 358 0 +309 359 0 +309 360 0 +309 361 0 +309 362 0 +309 363 0 +309 364 0 +309 365 0 +309 366 0 +309 367 0 +309 368 0 +309 369 0 +309 370 0 +309 371 0 +309 372 0 +309 373 0 +309 374 0 +309 375 0 +309 376 0 +309 377 0 +309 378 0 +309 379 0 +309 380 0 +309 381 0 +309 382 0 +309 383 0 +310 311 0 +310 312 0 +310 313 0 +310 314 0 +310 315 0 +310 316 0 +310 317 0 +310 318 0 +310 319 0 +310 320 0 +310 321 0 +310 322 0 +310 323 0 +310 324 0 +310 325 0 +310 326 0 +310 327 0 +310 328 0 +310 329 0 +310 330 0 +310 331 0 +310 332 0 +310 333 0 +310 334 0 +310 335 0 +310 336 0 +310 337 0 +310 338 0 +310 339 0 +310 340 0 +310 341 0 +310 342 0 +310 343 0 +310 344 0 +310 345 0 +310 346 0 +310 347 0 +310 348 0 +310 349 0 +310 350 0 +310 351 0 +310 352 0 +310 353 0 +310 354 0 +310 355 0 +310 356 0 +310 357 0 +310 358 0 +310 359 0 +310 360 0 +310 361 0 +310 362 0 +310 363 0 +310 364 0 +310 365 0 +310 366 0 +310 367 0 +310 368 0 +310 369 0 +310 370 0 +310 371 0 +310 372 0 +310 373 0 +310 374 0 +310 375 0 +310 376 0 +310 377 0 +310 378 0 +310 379 0 +310 380 0 +310 381 0 +310 382 0 +310 383 0 +311 312 0 +311 313 0 +311 314 0 +311 315 0 +311 316 0 +311 317 0 +311 318 0 +311 319 0 +311 320 0 +311 321 0 +311 322 0 +311 323 0 +311 324 0 +311 325 0 +311 326 0 +311 327 0 +311 328 0 +311 329 0 +311 330 0 +311 331 0 +311 332 0 +311 333 0 +311 334 0 +311 335 0 +311 336 0 +311 337 0 +311 338 0 +311 339 0 +311 340 0 +311 341 0 +311 342 0 +311 343 0 +311 344 0 +311 345 0 +311 346 0 +311 347 0 +311 348 0 +311 349 0 +311 350 0 +311 351 0 +311 352 0 +311 353 0 +311 354 0 +311 355 0 +311 356 0 +311 357 0 +311 358 0 +311 359 0 +311 360 0 +311 361 0 +311 362 0 +311 363 0 +311 364 0 +311 365 0 +311 366 0 +311 367 0 +311 368 0 +311 369 0 +311 370 0 +311 371 0 +311 372 0 +311 373 0 +311 374 0 +311 375 0 +311 376 0 +311 377 0 +311 378 0 +311 379 0 +311 380 0 +311 381 0 +311 382 0 +311 383 0 +312 313 0 +312 314 0 +312 315 0 +312 316 0 +312 317 0 +312 318 0 +312 319 0 +312 320 0 +312 321 0 +312 322 0 +312 323 0 +312 324 0 +312 325 0 +312 326 0 +312 327 0 +312 328 0 +312 329 0 +312 330 0 +312 331 0 +312 332 0 +312 333 0 +312 334 0 +312 335 0 +312 336 0 +312 337 0 +312 338 0 +312 339 0 +312 340 0 +312 341 0 +312 342 0 +312 343 0 +312 344 0 +312 345 0 +312 346 0 +312 347 0 +312 348 0 +312 349 0 +312 350 0 +312 351 0 +312 352 0 +312 353 0 +312 354 0 +312 355 0 +312 356 0 +312 357 0 +312 358 0 +312 359 0 +312 360 0 +312 361 0 +312 362 0 +312 363 0 +312 364 0 +312 365 0 +312 366 0 +312 367 0 +312 368 0 +312 369 0 +312 370 0 +312 371 0 +312 372 0 +312 373 0 +312 374 0 +312 375 0 +312 376 0 +312 377 0 +312 378 0 +312 379 0 +312 380 0 +312 381 0 +312 382 0 +312 383 0 +313 314 0 +313 315 0 +313 316 0 +313 317 0 +313 318 0 +313 319 0 +313 320 0 +313 321 0 +313 322 0 +313 323 0 +313 324 0 +313 325 0 +313 326 0 +313 327 0 +313 328 0 +313 329 0 +313 330 0 +313 331 0 +313 332 0 +313 333 0 +313 334 0 +313 335 0 +313 336 0 +313 337 0 +313 338 0 +313 339 0 +313 340 0 +313 341 0 +313 342 0 +313 343 0 +313 344 0 +313 345 0 +313 346 0 +313 347 0 +313 348 0 +313 349 0 +313 350 0 +313 351 0 +313 352 0 +313 353 0 +313 354 0 +313 355 0 +313 356 0 +313 357 0 +313 358 0 +313 359 0 +313 360 0 +313 361 0 +313 362 0 +313 363 0 +313 364 0 +313 365 0 +313 366 0 +313 367 0 +313 368 0 +313 369 0 +313 370 0 +313 371 0 +313 372 0 +313 373 0 +313 374 0 +313 375 0 +313 376 0 +313 377 0 +313 378 0 +313 379 0 +313 380 0 +313 381 0 +313 382 0 +313 383 0 +314 315 0 +314 316 0 +314 317 0 +314 318 0 +314 319 0 +314 320 0 +314 321 0 +314 322 0 +314 323 0 +314 324 0 +314 325 0 +314 326 0 +314 327 0 +314 328 0 +314 329 0 +314 330 0 +314 331 0 +314 332 0 +314 333 0 +314 334 0 +314 335 0 +314 336 0 +314 337 0 +314 338 0 +314 339 0 +314 340 0 +314 341 0 +314 342 0 +314 343 0 +314 344 0 +314 345 0 +314 346 0 +314 347 0 +314 348 0 +314 349 0 +314 350 0 +314 351 0 +314 352 0 +314 353 0 +314 354 0 +314 355 0 +314 356 0 +314 357 0 +314 358 0 +314 359 0 +314 360 0 +314 361 0 +314 362 0 +314 363 0 +314 364 0 +314 365 0 +314 366 0 +314 367 0 +314 368 0 +314 369 0 +314 370 0 +314 371 0 +314 372 0 +314 373 0 +314 374 0 +314 375 0 +314 376 0 +314 377 0 +314 378 0 +314 379 0 +314 380 0 +314 381 0 +314 382 0 +314 383 0 +315 316 0 +315 317 0 +315 318 0 +315 319 0 +315 320 0 +315 321 0 +315 322 0 +315 323 0 +315 324 0 +315 325 0 +315 326 0 +315 327 0 +315 328 0 +315 329 0 +315 330 0 +315 331 0 +315 332 0 +315 333 0 +315 334 0 +315 335 0 +315 336 0 +315 337 0 +315 338 0 +315 339 0 +315 340 0 +315 341 0 +315 342 0 +315 343 0 +315 344 0 +315 345 0 +315 346 0 +315 347 0 +315 348 0 +315 349 0 +315 350 0 +315 351 0 +315 352 0 +315 353 0 +315 354 0 +315 355 0 +315 356 0 +315 357 0 +315 358 0 +315 359 0 +315 360 0 +315 361 0 +315 362 0 +315 363 0 +315 364 0 +315 365 0 +315 366 0 +315 367 0 +315 368 0 +315 369 0 +315 370 0 +315 371 0 +315 372 0 +315 373 0 +315 374 0 +315 375 0 +315 376 0 +315 377 0 +315 378 0 +315 379 0 +315 380 0 +315 381 0 +315 382 0 +315 383 0 +316 317 0 +316 318 0 +316 319 0 +316 320 0 +316 321 0 +316 322 0 +316 323 0 +316 324 0 +316 325 0 +316 326 0 +316 327 0 +316 328 0 +316 329 0 +316 330 0 +316 331 0 +316 332 0 +316 333 0 +316 334 0 +316 335 0 +316 336 0 +316 337 0 +316 338 0 +316 339 0 +316 340 0 +316 341 0 +316 342 0 +316 343 0 +316 344 0 +316 345 0 +316 346 0 +316 347 0 +316 348 0 +316 349 0 +316 350 0 +316 351 0 +316 352 0 +316 353 0 +316 354 0 +316 355 0 +316 356 0 +316 357 0 +316 358 0 +316 359 0 +316 360 0 +316 361 0 +316 362 0 +316 363 0 +316 364 0 +316 365 0 +316 366 0 +316 367 0 +316 368 0 +316 369 0 +316 370 0 +316 371 0 +316 372 0 +316 373 0 +316 374 0 +316 375 0 +316 376 0 +316 377 0 +316 378 0 +316 379 0 +316 380 0 +316 381 0 +316 382 0 +316 383 0 +317 318 0 +317 319 0 +317 320 0 +317 321 0 +317 322 0 +317 323 0 +317 324 0 +317 325 0 +317 326 0 +317 327 0 +317 328 0 +317 329 0 +317 330 0 +317 331 0 +317 332 0 +317 333 0 +317 334 0 +317 335 0 +317 336 0 +317 337 0 +317 338 0 +317 339 0 +317 340 0 +317 341 0 +317 342 0 +317 343 0 +317 344 0 +317 345 0 +317 346 0 +317 347 0 +317 348 0 +317 349 0 +317 350 0 +317 351 0 +317 352 0 +317 353 0 +317 354 0 +317 355 0 +317 356 0 +317 357 0 +317 358 0 +317 359 0 +317 360 0 +317 361 0 +317 362 0 +317 363 0 +317 364 0 +317 365 0 +317 366 0 +317 367 0 +317 368 0 +317 369 0 +317 370 0 +317 371 0 +317 372 0 +317 373 0 +317 374 0 +317 375 0 +317 376 0 +317 377 0 +317 378 0 +317 379 0 +317 380 0 +317 381 0 +317 382 0 +317 383 0 +318 319 0 +318 320 0 +318 321 0 +318 322 0 +318 323 0 +318 324 0 +318 325 0 +318 326 0 +318 327 0 +318 328 0 +318 329 0 +318 330 0 +318 331 0 +318 332 0 +318 333 0 +318 334 0 +318 335 0 +318 336 0 +318 337 0 +318 338 0 +318 339 0 +318 340 0 +318 341 0 +318 342 0 +318 343 0 +318 344 0 +318 345 0 +318 346 0 +318 347 0 +318 348 0 +318 349 0 +318 350 0 +318 351 0 +318 352 0 +318 353 0 +318 354 0 +318 355 0 +318 356 0 +318 357 0 +318 358 0 +318 359 0 +318 360 0 +318 361 0 +318 362 0 +318 363 0 +318 364 0 +318 365 0 +318 366 0 +318 367 0 +318 368 0 +318 369 0 +318 370 0 +318 371 0 +318 372 0 +318 373 0 +318 374 0 +318 375 0 +318 376 0 +318 377 0 +318 378 0 +318 379 0 +318 380 0 +318 381 0 +318 382 0 +318 383 0 +319 320 0 +319 321 0 +319 322 0 +319 323 0 +319 324 0 +319 325 0 +319 326 0 +319 327 0 +319 328 0 +319 329 0 +319 330 0 +319 331 0 +319 332 0 +319 333 0 +319 334 0 +319 335 0 +319 336 0 +319 337 0 +319 338 0 +319 339 0 +319 340 0 +319 341 0 +319 342 0 +319 343 0 +319 344 0 +319 345 0 +319 346 0 +319 347 0 +319 348 0 +319 349 0 +319 350 0 +319 351 0 +319 352 0 +319 353 0 +319 354 0 +319 355 0 +319 356 0 +319 357 0 +319 358 0 +319 359 0 +319 360 0 +319 361 0 +319 362 0 +319 363 0 +319 364 0 +319 365 0 +319 366 0 +319 367 0 +319 368 0 +319 369 0 +319 370 0 +319 371 0 +319 372 0 +319 373 0 +319 374 0 +319 375 0 +319 376 0 +319 377 0 +319 378 0 +319 379 0 +319 380 0 +319 381 0 +319 382 0 +319 383 0 +320 321 0 +320 322 0 +320 323 0 +320 324 0 +320 325 0 +320 326 0 +320 327 0 +320 328 0 +320 329 0 +320 330 0 +320 331 0 +320 332 0 +320 333 0 +320 334 0 +320 335 0 +320 336 0 +320 337 0 +320 338 0 +320 339 0 +320 340 0 +320 341 0 +320 342 0 +320 343 0 +320 344 0 +320 345 0 +320 346 0 +320 347 0 +320 348 0 +320 349 0 +320 350 0 +320 351 0 +320 352 0 +320 353 0 +320 354 0 +320 355 0 +320 356 0 +320 357 0 +320 358 0 +320 359 0 +320 360 0 +320 361 0 +320 362 0 +320 363 0 +320 364 0 +320 365 0 +320 366 0 +320 367 0 +320 368 0 +320 369 0 +320 370 0 +320 371 0 +320 372 0 +320 373 0 +320 374 0 +320 375 0 +320 376 0 +320 377 0 +320 378 0 +320 379 0 +320 380 0 +320 381 0 +320 382 0 +320 383 0 +321 322 0 +321 323 0 +321 324 0 +321 325 0 +321 326 0 +321 327 0 +321 328 0 +321 329 0 +321 330 0 +321 331 0 +321 332 0 +321 333 0 +321 334 0 +321 335 0 +321 336 0 +321 337 0 +321 338 0 +321 339 0 +321 340 0 +321 341 0 +321 342 0 +321 343 0 +321 344 0 +321 345 0 +321 346 0 +321 347 0 +321 348 0 +321 349 0 +321 350 0 +321 351 0 +321 352 0 +321 353 0 +321 354 0 +321 355 0 +321 356 0 +321 357 0 +321 358 0 +321 359 0 +321 360 0 +321 361 0 +321 362 0 +321 363 0 +321 364 0 +321 365 0 +321 366 0 +321 367 0 +321 368 0 +321 369 0 +321 370 0 +321 371 0 +321 372 0 +321 373 0 +321 374 0 +321 375 0 +321 376 0 +321 377 0 +321 378 0 +321 379 0 +321 380 0 +321 381 0 +321 382 0 +321 383 0 +322 323 0 +322 324 0 +322 325 0 +322 326 0 +322 327 0 +322 328 0 +322 329 0 +322 330 0 +322 331 0 +322 332 0 +322 333 0 +322 334 0 +322 335 0 +322 336 0 +322 337 0 +322 338 0 +322 339 0 +322 340 0 +322 341 0 +322 342 0 +322 343 0 +322 344 0 +322 345 0 +322 346 0 +322 347 0 +322 348 0 +322 349 0 +322 350 0 +322 351 0 +322 352 0 +322 353 0 +322 354 0 +322 355 0 +322 356 0 +322 357 0 +322 358 0 +322 359 0 +322 360 0 +322 361 0 +322 362 0 +322 363 0 +322 364 0 +322 365 0 +322 366 0 +322 367 0 +322 368 0 +322 369 0 +322 370 0 +322 371 0 +322 372 0 +322 373 0 +322 374 0 +322 375 0 +322 376 0 +322 377 0 +322 378 0 +322 379 0 +322 380 0 +322 381 0 +322 382 0 +322 383 0 +323 324 0 +323 325 0 +323 326 0 +323 327 0 +323 328 0 +323 329 0 +323 330 0 +323 331 0 +323 332 0 +323 333 0 +323 334 0 +323 335 0 +323 336 0 +323 337 0 +323 338 0 +323 339 0 +323 340 0 +323 341 0 +323 342 0 +323 343 0 +323 344 0 +323 345 0 +323 346 0 +323 347 0 +323 348 0 +323 349 0 +323 350 0 +323 351 0 +323 352 0 +323 353 0 +323 354 0 +323 355 0 +323 356 0 +323 357 0 +323 358 0 +323 359 0 +323 360 0 +323 361 0 +323 362 0 +323 363 0 +323 364 0 +323 365 0 +323 366 0 +323 367 0 +323 368 0 +323 369 0 +323 370 0 +323 371 0 +323 372 0 +323 373 0 +323 374 0 +323 375 0 +323 376 0 +323 377 0 +323 378 0 +323 379 0 +323 380 0 +323 381 0 +323 382 0 +323 383 0 +324 325 0 +324 326 0 +324 327 0 +324 328 0 +324 329 0 +324 330 0 +324 331 0 +324 332 0 +324 333 0 +324 334 0 +324 335 0 +324 336 0 +324 337 0 +324 338 0 +324 339 0 +324 340 0 +324 341 0 +324 342 0 +324 343 0 +324 344 0 +324 345 0 +324 346 0 +324 347 0 +324 348 0 +324 349 0 +324 350 0 +324 351 0 +324 352 0 +324 353 0 +324 354 0 +324 355 0 +324 356 0 +324 357 0 +324 358 0 +324 359 0 +324 360 0 +324 361 0 +324 362 0 +324 363 0 +324 364 0 +324 365 0 +324 366 0 +324 367 0 +324 368 0 +324 369 0 +324 370 0 +324 371 0 +324 372 0 +324 373 0 +324 374 0 +324 375 0 +324 376 0 +324 377 0 +324 378 0 +324 379 0 +324 380 0 +324 381 0 +324 382 0 +324 383 0 +325 326 0 +325 327 0 +325 328 0 +325 329 0 +325 330 0 +325 331 0 +325 332 0 +325 333 0 +325 334 0 +325 335 0 +325 336 0 +325 337 0 +325 338 0 +325 339 0 +325 340 0 +325 341 0 +325 342 0 +325 343 0 +325 344 0 +325 345 0 +325 346 0 +325 347 0 +325 348 0 +325 349 0 +325 350 0 +325 351 0 +325 352 0 +325 353 0 +325 354 0 +325 355 0 +325 356 0 +325 357 0 +325 358 0 +325 359 0 +325 360 0 +325 361 0 +325 362 0 +325 363 0 +325 364 0 +325 365 0 +325 366 0 +325 367 0 +325 368 0 +325 369 0 +325 370 0 +325 371 0 +325 372 0 +325 373 0 +325 374 0 +325 375 0 +325 376 0 +325 377 0 +325 378 0 +325 379 0 +325 380 0 +325 381 0 +325 382 0 +325 383 0 +326 327 0 +326 328 0 +326 329 0 +326 330 0 +326 331 0 +326 332 0 +326 333 0 +326 334 0 +326 335 0 +326 336 0 +326 337 0 +326 338 0 +326 339 0 +326 340 0 +326 341 0 +326 342 0 +326 343 0 +326 344 0 +326 345 0 +326 346 0 +326 347 0 +326 348 0 +326 349 0 +326 350 0 +326 351 0 +326 352 0 +326 353 0 +326 354 0 +326 355 0 +326 356 0 +326 357 0 +326 358 0 +326 359 0 +326 360 0 +326 361 0 +326 362 0 +326 363 0 +326 364 0 +326 365 0 +326 366 0 +326 367 0 +326 368 0 +326 369 0 +326 370 0 +326 371 0 +326 372 0 +326 373 0 +326 374 0 +326 375 0 +326 376 0 +326 377 0 +326 378 0 +326 379 0 +326 380 0 +326 381 0 +326 382 0 +326 383 0 +327 328 0 +327 329 0 +327 330 0 +327 331 0 +327 332 0 +327 333 0 +327 334 0 +327 335 0 +327 336 0 +327 337 0 +327 338 0 +327 339 0 +327 340 0 +327 341 0 +327 342 0 +327 343 0 +327 344 0 +327 345 0 +327 346 0 +327 347 0 +327 348 0 +327 349 0 +327 350 0 +327 351 0 +327 352 0 +327 353 0 +327 354 0 +327 355 0 +327 356 0 +327 357 0 +327 358 0 +327 359 0 +327 360 0 +327 361 0 +327 362 0 +327 363 0 +327 364 0 +327 365 0 +327 366 0 +327 367 0 +327 368 0 +327 369 0 +327 370 0 +327 371 0 +327 372 0 +327 373 0 +327 374 0 +327 375 0 +327 376 0 +327 377 0 +327 378 0 +327 379 0 +327 380 0 +327 381 0 +327 382 0 +327 383 0 +328 329 0 +328 330 0 +328 331 0 +328 332 0 +328 333 0 +328 334 0 +328 335 0 +328 336 0 +328 337 0 +328 338 0 +328 339 0 +328 340 0 +328 341 0 +328 342 0 +328 343 0 +328 344 0 +328 345 0 +328 346 0 +328 347 0 +328 348 0 +328 349 0 +328 350 0 +328 351 0 +328 352 0 +328 353 0 +328 354 0 +328 355 0 +328 356 0 +328 357 0 +328 358 0 +328 359 0 +328 360 0 +328 361 0 +328 362 0 +328 363 0 +328 364 0 +328 365 0 +328 366 0 +328 367 0 +328 368 0 +328 369 0 +328 370 0 +328 371 0 +328 372 0 +328 373 0 +328 374 0 +328 375 0 +328 376 0 +328 377 0 +328 378 0 +328 379 0 +328 380 0 +328 381 0 +328 382 0 +328 383 0 +329 330 0 +329 331 0 +329 332 0 +329 333 0 +329 334 0 +329 335 0 +329 336 0 +329 337 0 +329 338 0 +329 339 0 +329 340 0 +329 341 0 +329 342 0 +329 343 0 +329 344 0 +329 345 0 +329 346 0 +329 347 0 +329 348 0 +329 349 0 +329 350 0 +329 351 0 +329 352 0 +329 353 0 +329 354 0 +329 355 0 +329 356 0 +329 357 0 +329 358 0 +329 359 0 +329 360 0 +329 361 0 +329 362 0 +329 363 0 +329 364 0 +329 365 0 +329 366 0 +329 367 0 +329 368 0 +329 369 0 +329 370 0 +329 371 0 +329 372 0 +329 373 0 +329 374 0 +329 375 0 +329 376 0 +329 377 0 +329 378 0 +329 379 0 +329 380 0 +329 381 0 +329 382 0 +329 383 0 +330 331 0 +330 332 0 +330 333 0 +330 334 0 +330 335 0 +330 336 0 +330 337 0 +330 338 0 +330 339 0 +330 340 0 +330 341 0 +330 342 0 +330 343 0 +330 344 0 +330 345 0 +330 346 0 +330 347 0 +330 348 0 +330 349 0 +330 350 0 +330 351 0 +330 352 0 +330 353 0 +330 354 0 +330 355 0 +330 356 0 +330 357 0 +330 358 0 +330 359 0 +330 360 0 +330 361 0 +330 362 0 +330 363 0 +330 364 0 +330 365 0 +330 366 0 +330 367 0 +330 368 0 +330 369 0 +330 370 0 +330 371 0 +330 372 0 +330 373 0 +330 374 0 +330 375 0 +330 376 0 +330 377 0 +330 378 0 +330 379 0 +330 380 0 +330 381 0 +330 382 0 +330 383 0 +331 332 0 +331 333 0 +331 334 0 +331 335 0 +331 336 0 +331 337 0 +331 338 0 +331 339 0 +331 340 0 +331 341 0 +331 342 0 +331 343 0 +331 344 0 +331 345 0 +331 346 0 +331 347 0 +331 348 0 +331 349 0 +331 350 0 +331 351 0 +331 352 0 +331 353 0 +331 354 0 +331 355 0 +331 356 0 +331 357 0 +331 358 0 +331 359 0 +331 360 0 +331 361 0 +331 362 0 +331 363 0 +331 364 0 +331 365 0 +331 366 0 +331 367 0 +331 368 0 +331 369 0 +331 370 0 +331 371 0 +331 372 0 +331 373 0 +331 374 0 +331 375 0 +331 376 0 +331 377 0 +331 378 0 +331 379 0 +331 380 0 +331 381 0 +331 382 0 +331 383 0 +332 333 0 +332 334 0 +332 335 0 +332 336 0 +332 337 0 +332 338 0 +332 339 0 +332 340 0 +332 341 0 +332 342 0 +332 343 0 +332 344 0 +332 345 0 +332 346 0 +332 347 0 +332 348 0 +332 349 0 +332 350 0 +332 351 0 +332 352 0 +332 353 0 +332 354 0 +332 355 0 +332 356 0 +332 357 0 +332 358 0 +332 359 0 +332 360 0 +332 361 0 +332 362 0 +332 363 0 +332 364 0 +332 365 0 +332 366 0 +332 367 0 +332 368 0 +332 369 0 +332 370 0 +332 371 0 +332 372 0 +332 373 0 +332 374 0 +332 375 0 +332 376 0 +332 377 0 +332 378 0 +332 379 0 +332 380 0 +332 381 0 +332 382 0 +332 383 0 +333 334 0 +333 335 0 +333 336 0 +333 337 0 +333 338 0 +333 339 0 +333 340 0 +333 341 0 +333 342 0 +333 343 0 +333 344 0 +333 345 0 +333 346 0 +333 347 0 +333 348 0 +333 349 0 +333 350 0 +333 351 0 +333 352 0 +333 353 0 +333 354 0 +333 355 0 +333 356 0 +333 357 0 +333 358 0 +333 359 0 +333 360 0 +333 361 0 +333 362 0 +333 363 0 +333 364 0 +333 365 0 +333 366 0 +333 367 0 +333 368 0 +333 369 0 +333 370 0 +333 371 0 +333 372 0 +333 373 0 +333 374 0 +333 375 0 +333 376 0 +333 377 0 +333 378 0 +333 379 0 +333 380 0 +333 381 0 +333 382 0 +333 383 0 +334 335 0 +334 336 0 +334 337 0 +334 338 0 +334 339 0 +334 340 0 +334 341 0 +334 342 0 +334 343 0 +334 344 0 +334 345 0 +334 346 0 +334 347 0 +334 348 0 +334 349 0 +334 350 0 +334 351 0 +334 352 0 +334 353 0 +334 354 0 +334 355 0 +334 356 0 +334 357 0 +334 358 0 +334 359 0 +334 360 0 +334 361 0 +334 362 0 +334 363 0 +334 364 0 +334 365 0 +334 366 0 +334 367 0 +334 368 0 +334 369 0 +334 370 0 +334 371 0 +334 372 0 +334 373 0 +334 374 0 +334 375 0 +334 376 0 +334 377 0 +334 378 0 +334 379 0 +334 380 0 +334 381 0 +334 382 0 +334 383 0 +335 336 0 +335 337 0 +335 338 0 +335 339 0 +335 340 0 +335 341 0 +335 342 0 +335 343 0 +335 344 0 +335 345 0 +335 346 0 +335 347 0 +335 348 0 +335 349 0 +335 350 0 +335 351 0 +335 352 0 +335 353 0 +335 354 0 +335 355 0 +335 356 0 +335 357 0 +335 358 0 +335 359 0 +335 360 0 +335 361 0 +335 362 0 +335 363 0 +335 364 0 +335 365 0 +335 366 0 +335 367 0 +335 368 0 +335 369 0 +335 370 0 +335 371 0 +335 372 0 +335 373 0 +335 374 0 +335 375 0 +335 376 0 +335 377 0 +335 378 0 +335 379 0 +335 380 0 +335 381 0 +335 382 0 +335 383 0 +336 337 0 +336 338 0 +336 339 0 +336 340 0 +336 341 0 +336 342 0 +336 343 0 +336 344 0 +336 345 0 +336 346 0 +336 347 0 +336 348 0 +336 349 0 +336 350 0 +336 351 0 +336 352 0 +336 353 0 +336 354 0 +336 355 0 +336 356 0 +336 357 0 +336 358 0 +336 359 0 +336 360 0 +336 361 0 +336 362 0 +336 363 0 +336 364 0 +336 365 0 +336 366 0 +336 367 0 +336 368 0 +336 369 0 +336 370 0 +336 371 0 +336 372 0 +336 373 0 +336 374 0 +336 375 0 +336 376 0 +336 377 0 +336 378 0 +336 379 0 +336 380 0 +336 381 0 +336 382 0 +336 383 0 +337 338 0 +337 339 0 +337 340 0 +337 341 0 +337 342 0 +337 343 0 +337 344 0 +337 345 0 +337 346 0 +337 347 0 +337 348 0 +337 349 0 +337 350 0 +337 351 0 +337 352 0 +337 353 0 +337 354 0 +337 355 0 +337 356 0 +337 357 0 +337 358 0 +337 359 0 +337 360 0 +337 361 0 +337 362 0 +337 363 0 +337 364 0 +337 365 0 +337 366 0 +337 367 0 +337 368 0 +337 369 0 +337 370 0 +337 371 0 +337 372 0 +337 373 0 +337 374 0 +337 375 0 +337 376 0 +337 377 0 +337 378 0 +337 379 0 +337 380 0 +337 381 0 +337 382 0 +337 383 0 +338 339 0 +338 340 0 +338 341 0 +338 342 0 +338 343 0 +338 344 0 +338 345 0 +338 346 0 +338 347 0 +338 348 0 +338 349 0 +338 350 0 +338 351 0 +338 352 0 +338 353 0 +338 354 0 +338 355 0 +338 356 0 +338 357 0 +338 358 0 +338 359 0 +338 360 0 +338 361 0 +338 362 0 +338 363 0 +338 364 0 +338 365 0 +338 366 0 +338 367 0 +338 368 0 +338 369 0 +338 370 0 +338 371 0 +338 372 0 +338 373 0 +338 374 0 +338 375 0 +338 376 0 +338 377 0 +338 378 0 +338 379 0 +338 380 0 +338 381 0 +338 382 0 +338 383 0 +339 340 0 +339 341 0 +339 342 0 +339 343 0 +339 344 0 +339 345 0 +339 346 0 +339 347 0 +339 348 0 +339 349 0 +339 350 0 +339 351 0 +339 352 0 +339 353 0 +339 354 0 +339 355 0 +339 356 0 +339 357 0 +339 358 0 +339 359 0 +339 360 0 +339 361 0 +339 362 0 +339 363 0 +339 364 0 +339 365 0 +339 366 0 +339 367 0 +339 368 0 +339 369 0 +339 370 0 +339 371 0 +339 372 0 +339 373 0 +339 374 0 +339 375 0 +339 376 0 +339 377 0 +339 378 0 +339 379 0 +339 380 0 +339 381 0 +339 382 0 +339 383 0 +340 341 0 +340 342 0 +340 343 0 +340 344 0 +340 345 0 +340 346 0 +340 347 0 +340 348 0 +340 349 0 +340 350 0 +340 351 0 +340 352 0 +340 353 0 +340 354 0 +340 355 0 +340 356 0 +340 357 0 +340 358 0 +340 359 0 +340 360 0 +340 361 0 +340 362 0 +340 363 0 +340 364 0 +340 365 0 +340 366 0 +340 367 0 +340 368 0 +340 369 0 +340 370 0 +340 371 0 +340 372 0 +340 373 0 +340 374 0 +340 375 0 +340 376 0 +340 377 0 +340 378 0 +340 379 0 +340 380 0 +340 381 0 +340 382 0 +340 383 0 +341 342 0 +341 343 0 +341 344 0 +341 345 0 +341 346 0 +341 347 0 +341 348 0 +341 349 0 +341 350 0 +341 351 0 +341 352 0 +341 353 0 +341 354 0 +341 355 0 +341 356 0 +341 357 0 +341 358 0 +341 359 0 +341 360 0 +341 361 0 +341 362 0 +341 363 0 +341 364 0 +341 365 0 +341 366 0 +341 367 0 +341 368 0 +341 369 0 +341 370 0 +341 371 0 +341 372 0 +341 373 0 +341 374 0 +341 375 0 +341 376 0 +341 377 0 +341 378 0 +341 379 0 +341 380 0 +341 381 0 +341 382 0 +341 383 0 +342 343 0 +342 344 0 +342 345 0 +342 346 0 +342 347 0 +342 348 0 +342 349 0 +342 350 0 +342 351 0 +342 352 0 +342 353 0 +342 354 0 +342 355 0 +342 356 0 +342 357 0 +342 358 0 +342 359 0 +342 360 0 +342 361 0 +342 362 0 +342 363 0 +342 364 0 +342 365 0 +342 366 0 +342 367 0 +342 368 0 +342 369 0 +342 370 0 +342 371 0 +342 372 0 +342 373 0 +342 374 0 +342 375 0 +342 376 0 +342 377 0 +342 378 0 +342 379 0 +342 380 0 +342 381 0 +342 382 0 +342 383 0 +343 344 0 +343 345 0 +343 346 0 +343 347 0 +343 348 0 +343 349 0 +343 350 0 +343 351 0 +343 352 0 +343 353 0 +343 354 0 +343 355 0 +343 356 0 +343 357 0 +343 358 0 +343 359 0 +343 360 0 +343 361 0 +343 362 0 +343 363 0 +343 364 0 +343 365 0 +343 366 0 +343 367 0 +343 368 0 +343 369 0 +343 370 0 +343 371 0 +343 372 0 +343 373 0 +343 374 0 +343 375 0 +343 376 0 +343 377 0 +343 378 0 +343 379 0 +343 380 0 +343 381 0 +343 382 0 +343 383 0 +344 345 0 +344 346 0 +344 347 0 +344 348 0 +344 349 0 +344 350 0 +344 351 0 +344 352 0 +344 353 0 +344 354 0 +344 355 0 +344 356 0 +344 357 0 +344 358 0 +344 359 0 +344 360 0 +344 361 0 +344 362 0 +344 363 0 +344 364 0 +344 365 0 +344 366 0 +344 367 0 +344 368 0 +344 369 0 +344 370 0 +344 371 0 +344 372 0 +344 373 0 +344 374 0 +344 375 0 +344 376 0 +344 377 0 +344 378 0 +344 379 0 +344 380 0 +344 381 0 +344 382 0 +344 383 0 +345 346 0 +345 347 0 +345 348 0 +345 349 0 +345 350 0 +345 351 0 +345 352 0 +345 353 0 +345 354 0 +345 355 0 +345 356 0 +345 357 0 +345 358 0 +345 359 0 +345 360 0 +345 361 0 +345 362 0 +345 363 0 +345 364 0 +345 365 0 +345 366 0 +345 367 0 +345 368 0 +345 369 0 +345 370 0 +345 371 0 +345 372 0 +345 373 0 +345 374 0 +345 375 0 +345 376 0 +345 377 0 +345 378 0 +345 379 0 +345 380 0 +345 381 0 +345 382 0 +345 383 0 +346 347 0 +346 348 0 +346 349 0 +346 350 0 +346 351 0 +346 352 0 +346 353 0 +346 354 0 +346 355 0 +346 356 0 +346 357 0 +346 358 0 +346 359 0 +346 360 0 +346 361 0 +346 362 0 +346 363 0 +346 364 0 +346 365 0 +346 366 0 +346 367 0 +346 368 0 +346 369 0 +346 370 0 +346 371 0 +346 372 0 +346 373 0 +346 374 0 +346 375 0 +346 376 0 +346 377 0 +346 378 0 +346 379 0 +346 380 0 +346 381 0 +346 382 0 +346 383 0 +347 348 0 +347 349 0 +347 350 0 +347 351 0 +347 352 0 +347 353 0 +347 354 0 +347 355 0 +347 356 0 +347 357 0 +347 358 0 +347 359 0 +347 360 0 +347 361 0 +347 362 0 +347 363 0 +347 364 0 +347 365 0 +347 366 0 +347 367 0 +347 368 0 +347 369 0 +347 370 0 +347 371 0 +347 372 0 +347 373 0 +347 374 0 +347 375 0 +347 376 0 +347 377 0 +347 378 0 +347 379 0 +347 380 0 +347 381 0 +347 382 0 +347 383 0 +348 349 0 +348 350 0 +348 351 0 +348 352 0 +348 353 0 +348 354 0 +348 355 0 +348 356 0 +348 357 0 +348 358 0 +348 359 0 +348 360 0 +348 361 0 +348 362 0 +348 363 0 +348 364 0 +348 365 0 +348 366 0 +348 367 0 +348 368 0 +348 369 0 +348 370 0 +348 371 0 +348 372 0 +348 373 0 +348 374 0 +348 375 0 +348 376 0 +348 377 0 +348 378 0 +348 379 0 +348 380 0 +348 381 0 +348 382 0 +348 383 0 +349 350 0 +349 351 0 +349 352 0 +349 353 0 +349 354 0 +349 355 0 +349 356 0 +349 357 0 +349 358 0 +349 359 0 +349 360 0 +349 361 0 +349 362 0 +349 363 0 +349 364 0 +349 365 0 +349 366 0 +349 367 0 +349 368 0 +349 369 0 +349 370 0 +349 371 0 +349 372 0 +349 373 0 +349 374 0 +349 375 0 +349 376 0 +349 377 0 +349 378 0 +349 379 0 +349 380 0 +349 381 0 +349 382 0 +349 383 0 +350 351 0 +350 352 0 +350 353 0 +350 354 0 +350 355 0 +350 356 0 +350 357 0 +350 358 0 +350 359 0 +350 360 0 +350 361 0 +350 362 0 +350 363 0 +350 364 0 +350 365 0 +350 366 0 +350 367 0 +350 368 0 +350 369 0 +350 370 0 +350 371 0 +350 372 0 +350 373 0 +350 374 0 +350 375 0 +350 376 0 +350 377 0 +350 378 0 +350 379 0 +350 380 0 +350 381 0 +350 382 0 +350 383 0 +351 352 0 +351 353 0 +351 354 0 +351 355 0 +351 356 0 +351 357 0 +351 358 0 +351 359 0 +351 360 0 +351 361 0 +351 362 0 +351 363 0 +351 364 0 +351 365 0 +351 366 0 +351 367 0 +351 368 0 +351 369 0 +351 370 0 +351 371 0 +351 372 0 +351 373 0 +351 374 0 +351 375 0 +351 376 0 +351 377 0 +351 378 0 +351 379 0 +351 380 0 +351 381 0 +351 382 0 +351 383 0 +352 353 0 +352 354 0 +352 355 0 +352 356 0 +352 357 0 +352 358 0 +352 359 0 +352 360 0 +352 361 0 +352 362 0 +352 363 0 +352 364 0 +352 365 0 +352 366 0 +352 367 0 +352 368 0 +352 369 0 +352 370 0 +352 371 0 +352 372 0 +352 373 0 +352 374 0 +352 375 0 +352 376 0 +352 377 0 +352 378 0 +352 379 0 +352 380 0 +352 381 0 +352 382 0 +352 383 0 +353 354 0 +353 355 0 +353 356 0 +353 357 0 +353 358 0 +353 359 0 +353 360 0 +353 361 0 +353 362 0 +353 363 0 +353 364 0 +353 365 0 +353 366 0 +353 367 0 +353 368 0 +353 369 0 +353 370 0 +353 371 0 +353 372 0 +353 373 0 +353 374 0 +353 375 0 +353 376 0 +353 377 0 +353 378 0 +353 379 0 +353 380 0 +353 381 0 +353 382 0 +353 383 0 +354 355 0 +354 356 0 +354 357 0 +354 358 0 +354 359 0 +354 360 0 +354 361 0 +354 362 0 +354 363 0 +354 364 0 +354 365 0 +354 366 0 +354 367 0 +354 368 0 +354 369 0 +354 370 0 +354 371 0 +354 372 0 +354 373 0 +354 374 0 +354 375 0 +354 376 0 +354 377 0 +354 378 0 +354 379 0 +354 380 0 +354 381 0 +354 382 0 +354 383 0 +355 356 0 +355 357 0 +355 358 0 +355 359 0 +355 360 0 +355 361 0 +355 362 0 +355 363 0 +355 364 0 +355 365 0 +355 366 0 +355 367 0 +355 368 0 +355 369 0 +355 370 0 +355 371 0 +355 372 0 +355 373 0 +355 374 0 +355 375 0 +355 376 0 +355 377 0 +355 378 0 +355 379 0 +355 380 0 +355 381 0 +355 382 0 +355 383 0 +356 357 0 +356 358 0 +356 359 0 +356 360 0 +356 361 0 +356 362 0 +356 363 0 +356 364 0 +356 365 0 +356 366 0 +356 367 0 +356 368 0 +356 369 0 +356 370 0 +356 371 0 +356 372 0 +356 373 0 +356 374 0 +356 375 0 +356 376 0 +356 377 0 +356 378 0 +356 379 0 +356 380 0 +356 381 0 +356 382 0 +356 383 0 +357 358 0 +357 359 0 +357 360 0 +357 361 0 +357 362 0 +357 363 0 +357 364 0 +357 365 0 +357 366 0 +357 367 0 +357 368 0 +357 369 0 +357 370 0 +357 371 0 +357 372 0 +357 373 0 +357 374 0 +357 375 0 +357 376 0 +357 377 0 +357 378 0 +357 379 0 +357 380 0 +357 381 0 +357 382 0 +357 383 0 +358 359 0 +358 360 0 +358 361 0 +358 362 0 +358 363 0 +358 364 0 +358 365 0 +358 366 0 +358 367 0 +358 368 0 +358 369 0 +358 370 0 +358 371 0 +358 372 0 +358 373 0 +358 374 0 +358 375 0 +358 376 0 +358 377 0 +358 378 0 +358 379 0 +358 380 0 +358 381 0 +358 382 0 +358 383 0 +359 360 0 +359 361 0 +359 362 0 +359 363 0 +359 364 0 +359 365 0 +359 366 0 +359 367 0 +359 368 0 +359 369 0 +359 370 0 +359 371 0 +359 372 0 +359 373 0 +359 374 0 +359 375 0 +359 376 0 +359 377 0 +359 378 0 +359 379 0 +359 380 0 +359 381 0 +359 382 0 +359 383 0 +360 361 0 +360 362 0 +360 363 0 +360 364 0 +360 365 0 +360 366 0 +360 367 0 +360 368 0 +360 369 0 +360 370 0 +360 371 0 +360 372 0 +360 373 0 +360 374 0 +360 375 0 +360 376 0 +360 377 0 +360 378 0 +360 379 0 +360 380 0 +360 381 0 +360 382 0 +360 383 0 +361 362 0 +361 363 0 +361 364 0 +361 365 0 +361 366 0 +361 367 0 +361 368 0 +361 369 0 +361 370 0 +361 371 0 +361 372 0 +361 373 0 +361 374 0 +361 375 0 +361 376 0 +361 377 0 +361 378 0 +361 379 0 +361 380 0 +361 381 0 +361 382 0 +361 383 0 +362 363 0 +362 364 0 +362 365 0 +362 366 0 +362 367 0 +362 368 0 +362 369 0 +362 370 0 +362 371 0 +362 372 0 +362 373 0 +362 374 0 +362 375 0 +362 376 0 +362 377 0 +362 378 0 +362 379 0 +362 380 0 +362 381 0 +362 382 0 +362 383 0 +363 364 0 +363 365 0 +363 366 0 +363 367 0 +363 368 0 +363 369 0 +363 370 0 +363 371 0 +363 372 0 +363 373 0 +363 374 0 +363 375 0 +363 376 0 +363 377 0 +363 378 0 +363 379 0 +363 380 0 +363 381 0 +363 382 0 +363 383 0 +364 365 0 +364 366 0 +364 367 0 +364 368 0 +364 369 0 +364 370 0 +364 371 0 +364 372 0 +364 373 0 +364 374 0 +364 375 0 +364 376 0 +364 377 0 +364 378 0 +364 379 0 +364 380 0 +364 381 0 +364 382 0 +364 383 0 +365 366 0 +365 367 0 +365 368 0 +365 369 0 +365 370 0 +365 371 0 +365 372 0 +365 373 0 +365 374 0 +365 375 0 +365 376 0 +365 377 0 +365 378 0 +365 379 0 +365 380 0 +365 381 0 +365 382 0 +365 383 0 +366 367 0 +366 368 0 +366 369 0 +366 370 0 +366 371 0 +366 372 0 +366 373 0 +366 374 0 +366 375 0 +366 376 0 +366 377 0 +366 378 0 +366 379 0 +366 380 0 +366 381 0 +366 382 0 +366 383 0 +367 368 0 +367 369 0 +367 370 0 +367 371 0 +367 372 0 +367 373 0 +367 374 0 +367 375 0 +367 376 0 +367 377 0 +367 378 0 +367 379 0 +367 380 0 +367 381 0 +367 382 0 +367 383 0 +368 369 0 +368 370 0 +368 371 0 +368 372 0 +368 373 0 +368 374 0 +368 375 0 +368 376 0 +368 377 0 +368 378 0 +368 379 0 +368 380 0 +368 381 0 +368 382 0 +368 383 0 +369 370 0 +369 371 0 +369 372 0 +369 373 0 +369 374 0 +369 375 0 +369 376 0 +369 377 0 +369 378 0 +369 379 0 +369 380 0 +369 381 0 +369 382 0 +369 383 0 +370 371 0 +370 372 0 +370 373 0 +370 374 0 +370 375 0 +370 376 0 +370 377 0 +370 378 0 +370 379 0 +370 380 0 +370 381 0 +370 382 0 +370 383 0 +371 372 0 +371 373 0 +371 374 0 +371 375 0 +371 376 0 +371 377 0 +371 378 0 +371 379 0 +371 380 0 +371 381 0 +371 382 0 +371 383 0 +372 373 0 +372 374 0 +372 375 0 +372 376 0 +372 377 0 +372 378 0 +372 379 0 +372 380 0 +372 381 0 +372 382 0 +372 383 0 +373 374 0 +373 375 0 +373 376 0 +373 377 0 +373 378 0 +373 379 0 +373 380 0 +373 381 0 +373 382 0 +373 383 0 +374 375 0 +374 376 0 +374 377 0 +374 378 0 +374 379 0 +374 380 0 +374 381 0 +374 382 0 +374 383 0 +375 376 0 +375 377 0 +375 378 0 +375 379 0 +375 380 0 +375 381 0 +375 382 0 +375 383 0 +376 377 0 +376 378 0 +376 379 0 +376 380 0 +376 381 0 +376 382 0 +376 383 0 +377 378 0 +377 379 0 +377 380 0 +377 381 0 +377 382 0 +377 383 0 +378 379 0 +378 380 0 +378 381 0 +378 382 0 +378 383 0 +379 380 0 +379 381 0 +379 382 0 +379 383 0 +380 381 0 +380 382 0 +380 383 0 +381 382 0 +381 383 0 +382 383 0 diff --git a/src/bdaconfig/test_bda_352ants.txt b/src/bdaconfig/test_bda_352ants.txt new file mode 100644 index 00000000..9c2b9a7d --- /dev/null +++ b/src/bdaconfig/test_bda_352ants.txt @@ -0,0 +1,73920 @@ +0 0 1 +1 1 1 +2 2 1 +3 3 1 +4 4 1 +5 5 1 +6 6 1 +7 7 1 +8 8 1 +9 9 1 +10 10 1 +11 11 1 +12 12 1 +13 13 1 +14 14 1 +15 15 1 +16 16 1 +17 17 1 +18 18 1 +19 19 1 +20 20 1 +21 21 1 +22 22 1 +23 23 1 +24 24 1 +25 25 1 +26 26 1 +27 27 1 +28 28 1 +29 29 1 +30 30 1 +31 31 1 +32 32 1 +33 33 1 +34 34 1 +35 35 1 +36 36 1 +37 37 1 +38 38 1 +39 39 1 +40 40 1 +41 41 1 +42 42 1 +43 43 1 +44 44 1 +45 45 1 +46 46 1 +47 47 1 +48 48 1 +49 49 1 +50 50 1 +51 51 1 +52 52 1 +53 53 1 +54 54 1 +55 55 1 +56 56 1 +57 57 1 +58 58 1 +59 59 1 +60 60 1 +61 61 1 +62 62 1 +63 63 1 +64 64 1 +65 65 1 +66 66 1 +67 67 1 +68 68 1 +69 69 1 +70 70 1 +71 71 1 +72 72 1 +73 73 1 +74 74 1 +75 75 1 +76 76 1 +77 77 1 +78 78 1 +79 79 1 +80 80 1 +81 81 1 +82 82 1 +83 83 1 +84 84 1 +85 85 1 +86 86 1 +87 87 1 +88 88 1 +89 89 1 +90 90 1 +91 91 1 +92 92 1 +93 93 1 +94 94 1 +95 95 1 +96 96 1 +97 97 1 +98 98 1 +99 99 1 +100 100 1 +101 101 1 +102 102 1 +103 103 1 +104 104 1 +105 105 1 +106 106 1 +107 107 1 +108 108 1 +109 109 1 +110 110 1 +111 111 1 +112 112 1 +113 113 1 +114 114 1 +115 115 1 +116 116 1 +117 117 1 +118 118 1 +119 119 1 +120 120 1 +121 121 1 +122 122 1 +123 123 1 +124 124 1 +125 125 1 +126 126 1 +127 127 1 +128 128 1 +129 129 1 +130 130 1 +131 131 1 +132 132 1 +133 133 1 +134 134 1 +135 135 1 +136 136 1 +137 137 1 +138 138 1 +139 139 1 +140 140 1 +141 141 1 +142 142 1 +143 143 1 +144 144 1 +145 145 1 +146 146 1 +147 147 1 +148 148 1 +149 149 1 +150 150 1 +151 151 1 +152 152 1 +153 153 1 +154 154 1 +155 155 1 +156 156 1 +157 157 1 +158 158 1 +159 159 1 +160 160 1 +161 161 1 +162 162 1 +163 163 1 +164 164 1 +165 165 1 +166 166 1 +167 167 1 +168 168 1 +169 169 1 +170 170 1 +171 171 1 +172 172 1 +173 173 1 +174 174 1 +175 175 1 +176 176 1 +177 177 1 +178 178 1 +179 179 1 +180 180 1 +181 181 1 +182 182 1 +183 183 1 +184 184 1 +185 185 1 +186 186 1 +187 187 1 +188 188 1 +189 189 1 +190 190 1 +191 191 1 +192 192 1 +193 193 1 +194 194 1 +195 195 1 +196 196 1 +197 197 1 +198 198 1 +199 199 1 +200 200 1 +201 201 1 +202 202 1 +203 203 1 +204 204 1 +205 205 1 +206 206 1 +207 207 1 +208 208 1 +209 209 1 +210 210 1 +211 211 1 +212 212 1 +213 213 1 +214 214 1 +215 215 1 +216 216 1 +217 217 1 +218 218 1 +219 219 1 +220 220 1 +221 221 1 +222 222 1 +223 223 1 +224 224 1 +225 225 1 +226 226 1 +227 227 1 +228 228 1 +229 229 1 +230 230 1 +231 231 1 +232 232 1 +233 233 1 +234 234 1 +235 235 1 +236 236 1 +237 237 1 +238 238 1 +239 239 1 +240 240 1 +241 241 1 +242 242 1 +243 243 1 +244 244 1 +245 245 1 +246 246 1 +247 247 1 +248 248 1 +249 249 1 +250 250 1 +251 251 1 +252 252 1 +253 253 1 +254 254 1 +255 255 1 +256 256 1 +257 257 1 +258 258 1 +259 259 1 +260 260 1 +261 261 1 +262 262 1 +263 263 1 +264 264 1 +265 265 1 +266 266 1 +267 267 1 +268 268 1 +269 269 1 +270 270 1 +271 271 1 +272 272 1 +273 273 1 +274 274 1 +275 275 1 +276 276 1 +277 277 1 +278 278 1 +279 279 1 +280 280 1 +281 281 1 +282 282 1 +283 283 1 +284 284 1 +285 285 1 +286 286 1 +287 287 1 +288 288 1 +289 289 1 +290 290 1 +291 291 1 +292 292 1 +293 293 1 +294 294 1 +295 295 1 +296 296 1 +297 297 1 +298 298 1 +299 299 1 +300 300 1 +301 301 1 +302 302 1 +303 303 1 +304 304 1 +305 305 1 +306 306 1 +307 307 1 +308 308 1 +309 309 1 +310 310 1 +311 311 1 +312 312 1 +313 313 1 +314 314 1 +315 315 1 +316 316 1 +317 317 1 +318 318 1 +319 319 1 +320 320 1 +321 321 1 +322 322 1 +323 323 1 +324 324 1 +325 325 1 +326 326 1 +327 327 1 +328 328 1 +329 329 1 +330 330 1 +331 331 1 +332 332 1 +333 333 1 +334 334 1 +335 335 1 +336 336 1 +337 337 1 +338 338 1 +339 339 1 +340 340 1 +341 341 1 +342 342 1 +343 343 1 +344 344 1 +345 345 1 +346 346 1 +347 347 1 +348 348 1 +349 349 1 +350 350 0 +351 351 0 +352 352 0 +353 353 0 +354 354 0 +355 355 0 +356 356 0 +357 357 0 +358 358 0 +359 359 0 +360 360 0 +361 361 0 +362 362 0 +363 363 0 +364 364 0 +365 365 0 +366 366 0 +367 367 0 +368 368 0 +369 369 0 +370 370 0 +371 371 0 +372 372 0 +373 373 0 +374 374 0 +375 375 0 +376 376 0 +377 377 0 +378 378 0 +379 379 0 +380 380 0 +381 381 0 +382 382 0 +383 383 0 +0 1 1 +0 2 1 +0 3 1 +0 4 1 +0 5 1 +0 6 1 +0 7 1 +0 8 1 +0 9 1 +0 10 1 +0 11 1 +0 12 1 +0 13 1 +0 14 1 +0 15 1 +0 16 1 +0 17 1 +0 18 1 +0 19 1 +0 20 1 +0 21 1 +0 22 1 +0 23 1 +0 24 1 +0 25 1 +0 26 1 +0 27 1 +0 28 1 +0 29 1 +0 30 1 +0 31 1 +0 32 1 +0 33 1 +0 34 1 +0 35 1 +0 36 2 +0 37 2 +0 38 2 +0 39 2 +0 40 2 +0 41 2 +0 42 2 +0 43 2 +0 44 2 +0 45 2 +0 46 2 +0 47 2 +0 48 2 +0 49 2 +0 50 2 +0 51 2 +0 52 2 +0 53 2 +0 54 2 +0 55 2 +0 56 2 +0 57 2 +0 58 2 +0 59 2 +0 60 2 +0 61 2 +0 62 2 +0 63 2 +0 64 2 +0 65 2 +0 66 2 +0 67 2 +0 68 2 +0 69 2 +0 70 2 +0 71 2 +0 72 2 +0 73 2 +0 74 2 +0 75 2 +0 76 2 +0 77 2 +0 78 2 +0 79 2 +0 80 2 +0 81 2 +0 82 2 +0 83 2 +0 84 2 +0 85 2 +0 86 2 +0 87 2 +0 88 2 +0 89 2 +0 90 2 +0 91 2 +0 92 2 +0 93 2 +0 94 2 +0 95 2 +0 96 2 +0 97 2 +0 98 2 +0 99 2 +0 100 2 +0 101 2 +0 102 2 +0 103 2 +0 104 2 +0 105 2 +0 106 2 +0 107 2 +0 108 2 +0 109 2 +0 110 2 +0 111 2 +0 112 2 +0 113 2 +0 114 2 +0 115 2 +0 116 2 +0 117 2 +0 118 2 +0 119 2 +0 120 2 +0 121 2 +0 122 2 +0 123 2 +0 124 2 +0 125 2 +0 126 2 +0 127 2 +0 128 2 +0 129 2 +0 130 2 +0 131 2 +0 132 2 +0 133 2 +0 134 2 +0 135 2 +0 136 2 +0 137 2 +0 138 2 +0 139 2 +0 140 2 +0 141 2 +0 142 2 +0 143 2 +0 144 2 +0 145 2 +0 146 2 +0 147 2 +0 148 2 +0 149 2 +0 150 2 +0 151 2 +0 152 2 +0 153 2 +0 154 2 +0 155 2 +0 156 2 +0 157 2 +0 158 2 +0 159 2 +0 160 2 +0 161 2 +0 162 2 +0 163 2 +0 164 2 +0 165 2 +0 166 2 +0 167 2 +0 168 2 +0 169 2 +0 170 2 +0 171 2 +0 172 2 +0 173 2 +0 174 2 +0 175 2 +0 176 2 +0 177 2 +0 178 2 +0 179 2 +0 180 2 +0 181 2 +0 182 2 +0 183 2 +0 184 2 +0 185 2 +0 186 2 +0 187 2 +0 188 2 +0 189 2 +0 190 2 +0 191 2 +0 192 2 +0 193 2 +0 194 2 +0 195 2 +0 196 2 +0 197 2 +0 198 2 +0 199 2 +0 200 2 +0 201 2 +0 202 2 +0 203 2 +0 204 2 +0 205 2 +0 206 2 +0 207 2 +0 208 2 +0 209 2 +0 210 2 +0 211 2 +0 212 2 +0 213 2 +0 214 2 +0 215 2 +0 216 2 +0 217 2 +0 218 2 +0 219 2 +0 220 2 +0 221 2 +0 222 2 +0 223 2 +0 224 2 +0 225 2 +0 226 2 +0 227 2 +0 228 2 +0 229 2 +0 230 2 +0 231 2 +0 232 2 +0 233 2 +0 234 2 +0 235 2 +0 236 2 +0 237 2 +0 238 2 +0 239 2 +0 240 2 +0 241 2 +0 242 2 +0 243 2 +0 244 2 +0 245 2 +0 246 2 +0 247 2 +0 248 2 +0 249 2 +0 250 2 +0 251 2 +0 252 2 +0 253 2 +0 254 2 +0 255 2 +0 256 2 +0 257 2 +0 258 2 +0 259 2 +0 260 2 +0 261 2 +0 262 2 +0 263 2 +0 264 2 +0 265 2 +0 266 2 +0 267 2 +0 268 2 +0 269 2 +0 270 2 +0 271 2 +0 272 2 +0 273 2 +0 274 2 +0 275 2 +0 276 2 +0 277 2 +0 278 2 +0 279 2 +0 280 2 +0 281 2 +0 282 2 +0 283 2 +0 284 2 +0 285 2 +0 286 2 +0 287 2 +0 288 2 +0 289 2 +0 290 2 +0 291 2 +0 292 2 +0 293 2 +0 294 2 +0 295 2 +0 296 2 +0 297 2 +0 298 2 +0 299 2 +0 300 2 +0 301 2 +0 302 2 +0 303 2 +0 304 2 +0 305 2 +0 306 2 +0 307 2 +0 308 2 +0 309 2 +0 310 2 +0 311 2 +0 312 2 +0 313 2 +0 314 2 +0 315 2 +0 316 2 +0 317 2 +0 318 2 +0 319 2 +0 320 2 +0 321 2 +0 322 2 +0 323 2 +0 324 2 +0 325 2 +0 326 2 +0 327 2 +0 328 2 +0 329 2 +0 330 2 +0 331 2 +0 332 2 +0 333 2 +0 334 2 +0 335 2 +0 336 2 +0 337 2 +0 338 2 +0 339 2 +0 340 2 +0 341 2 +0 342 2 +0 343 2 +0 344 2 +0 345 2 +0 346 2 +0 347 2 +0 348 2 +0 349 2 +0 350 0 +0 351 0 +0 352 0 +0 353 0 +0 354 0 +0 355 0 +0 356 0 +0 357 0 +0 358 0 +0 359 0 +0 360 0 +0 361 0 +0 362 0 +0 363 0 +0 364 0 +0 365 0 +0 366 0 +0 367 0 +0 368 0 +0 369 0 +0 370 0 +0 371 0 +0 372 0 +0 373 0 +0 374 0 +0 375 0 +0 376 0 +0 377 0 +0 378 0 +0 379 0 +0 380 0 +0 381 0 +0 382 0 +0 383 0 +1 2 2 +1 3 2 +1 4 2 +1 5 2 +1 6 2 +1 7 2 +1 8 2 +1 9 2 +1 10 2 +1 11 2 +1 12 2 +1 13 2 +1 14 2 +1 15 2 +1 16 2 +1 17 2 +1 18 2 +1 19 2 +1 20 2 +1 21 2 +1 22 2 +1 23 2 +1 24 2 +1 25 2 +1 26 2 +1 27 2 +1 28 2 +1 29 2 +1 30 2 +1 31 2 +1 32 2 +1 33 2 +1 34 2 +1 35 2 +1 36 2 +1 37 2 +1 38 2 +1 39 2 +1 40 2 +1 41 2 +1 42 2 +1 43 2 +1 44 2 +1 45 2 +1 46 2 +1 47 2 +1 48 2 +1 49 2 +1 50 2 +1 51 2 +1 52 2 +1 53 2 +1 54 2 +1 55 2 +1 56 2 +1 57 2 +1 58 2 +1 59 2 +1 60 2 +1 61 2 +1 62 2 +1 63 2 +1 64 2 +1 65 2 +1 66 2 +1 67 2 +1 68 2 +1 69 2 +1 70 2 +1 71 2 +1 72 2 +1 73 2 +1 74 2 +1 75 2 +1 76 2 +1 77 2 +1 78 2 +1 79 2 +1 80 2 +1 81 2 +1 82 2 +1 83 2 +1 84 2 +1 85 2 +1 86 2 +1 87 2 +1 88 2 +1 89 2 +1 90 2 +1 91 2 +1 92 2 +1 93 2 +1 94 2 +1 95 2 +1 96 2 +1 97 2 +1 98 2 +1 99 2 +1 100 2 +1 101 2 +1 102 2 +1 103 2 +1 104 2 +1 105 2 +1 106 2 +1 107 2 +1 108 2 +1 109 2 +1 110 2 +1 111 2 +1 112 2 +1 113 2 +1 114 2 +1 115 2 +1 116 2 +1 117 2 +1 118 2 +1 119 2 +1 120 2 +1 121 2 +1 122 2 +1 123 2 +1 124 2 +1 125 2 +1 126 2 +1 127 2 +1 128 2 +1 129 2 +1 130 2 +1 131 2 +1 132 2 +1 133 2 +1 134 2 +1 135 2 +1 136 2 +1 137 2 +1 138 2 +1 139 2 +1 140 2 +1 141 2 +1 142 2 +1 143 2 +1 144 2 +1 145 2 +1 146 2 +1 147 2 +1 148 2 +1 149 2 +1 150 2 +1 151 2 +1 152 2 +1 153 2 +1 154 2 +1 155 2 +1 156 2 +1 157 2 +1 158 2 +1 159 2 +1 160 2 +1 161 2 +1 162 2 +1 163 2 +1 164 2 +1 165 2 +1 166 2 +1 167 2 +1 168 2 +1 169 2 +1 170 2 +1 171 2 +1 172 2 +1 173 2 +1 174 2 +1 175 2 +1 176 2 +1 177 2 +1 178 2 +1 179 2 +1 180 2 +1 181 2 +1 182 2 +1 183 2 +1 184 2 +1 185 2 +1 186 2 +1 187 2 +1 188 2 +1 189 2 +1 190 2 +1 191 2 +1 192 2 +1 193 2 +1 194 2 +1 195 2 +1 196 2 +1 197 2 +1 198 2 +1 199 2 +1 200 2 +1 201 2 +1 202 2 +1 203 2 +1 204 2 +1 205 2 +1 206 2 +1 207 2 +1 208 2 +1 209 2 +1 210 2 +1 211 2 +1 212 2 +1 213 2 +1 214 2 +1 215 2 +1 216 2 +1 217 2 +1 218 2 +1 219 2 +1 220 2 +1 221 2 +1 222 2 +1 223 2 +1 224 2 +1 225 2 +1 226 2 +1 227 2 +1 228 2 +1 229 2 +1 230 2 +1 231 2 +1 232 2 +1 233 2 +1 234 2 +1 235 2 +1 236 2 +1 237 2 +1 238 2 +1 239 2 +1 240 2 +1 241 2 +1 242 2 +1 243 2 +1 244 2 +1 245 2 +1 246 2 +1 247 2 +1 248 2 +1 249 2 +1 250 2 +1 251 2 +1 252 2 +1 253 2 +1 254 2 +1 255 2 +1 256 2 +1 257 2 +1 258 2 +1 259 2 +1 260 2 +1 261 2 +1 262 2 +1 263 2 +1 264 2 +1 265 2 +1 266 2 +1 267 2 +1 268 2 +1 269 2 +1 270 2 +1 271 2 +1 272 2 +1 273 2 +1 274 2 +1 275 2 +1 276 2 +1 277 2 +1 278 2 +1 279 2 +1 280 2 +1 281 2 +1 282 2 +1 283 2 +1 284 2 +1 285 2 +1 286 2 +1 287 2 +1 288 2 +1 289 2 +1 290 2 +1 291 2 +1 292 2 +1 293 2 +1 294 2 +1 295 2 +1 296 2 +1 297 2 +1 298 2 +1 299 2 +1 300 2 +1 301 2 +1 302 2 +1 303 2 +1 304 2 +1 305 2 +1 306 2 +1 307 2 +1 308 2 +1 309 2 +1 310 2 +1 311 2 +1 312 2 +1 313 2 +1 314 2 +1 315 2 +1 316 2 +1 317 2 +1 318 2 +1 319 2 +1 320 2 +1 321 2 +1 322 2 +1 323 2 +1 324 2 +1 325 2 +1 326 2 +1 327 2 +1 328 2 +1 329 2 +1 330 2 +1 331 2 +1 332 2 +1 333 2 +1 334 2 +1 335 2 +1 336 2 +1 337 2 +1 338 2 +1 339 2 +1 340 2 +1 341 2 +1 342 2 +1 343 2 +1 344 2 +1 345 2 +1 346 2 +1 347 2 +1 348 2 +1 349 2 +1 350 0 +1 351 0 +1 352 0 +1 353 0 +1 354 0 +1 355 0 +1 356 0 +1 357 0 +1 358 0 +1 359 0 +1 360 0 +1 361 0 +1 362 0 +1 363 0 +1 364 0 +1 365 0 +1 366 0 +1 367 0 +1 368 0 +1 369 0 +1 370 0 +1 371 0 +1 372 0 +1 373 0 +1 374 0 +1 375 0 +1 376 0 +1 377 0 +1 378 0 +1 379 0 +1 380 0 +1 381 0 +1 382 0 +1 383 0 +2 3 2 +2 4 2 +2 5 2 +2 6 2 +2 7 2 +2 8 2 +2 9 2 +2 10 2 +2 11 2 +2 12 2 +2 13 2 +2 14 2 +2 15 2 +2 16 2 +2 17 2 +2 18 2 +2 19 2 +2 20 2 +2 21 2 +2 22 2 +2 23 2 +2 24 2 +2 25 2 +2 26 2 +2 27 2 +2 28 2 +2 29 2 +2 30 2 +2 31 2 +2 32 2 +2 33 2 +2 34 2 +2 35 2 +2 36 2 +2 37 2 +2 38 2 +2 39 2 +2 40 2 +2 41 2 +2 42 2 +2 43 2 +2 44 2 +2 45 2 +2 46 2 +2 47 2 +2 48 2 +2 49 2 +2 50 2 +2 51 2 +2 52 2 +2 53 2 +2 54 2 +2 55 2 +2 56 2 +2 57 2 +2 58 2 +2 59 2 +2 60 2 +2 61 2 +2 62 2 +2 63 2 +2 64 2 +2 65 2 +2 66 2 +2 67 2 +2 68 2 +2 69 2 +2 70 2 +2 71 2 +2 72 2 +2 73 2 +2 74 2 +2 75 2 +2 76 2 +2 77 2 +2 78 2 +2 79 2 +2 80 2 +2 81 2 +2 82 2 +2 83 2 +2 84 2 +2 85 2 +2 86 2 +2 87 2 +2 88 2 +2 89 2 +2 90 2 +2 91 2 +2 92 2 +2 93 2 +2 94 2 +2 95 2 +2 96 2 +2 97 2 +2 98 2 +2 99 2 +2 100 2 +2 101 2 +2 102 2 +2 103 2 +2 104 2 +2 105 2 +2 106 2 +2 107 2 +2 108 2 +2 109 2 +2 110 2 +2 111 2 +2 112 2 +2 113 2 +2 114 2 +2 115 2 +2 116 2 +2 117 2 +2 118 2 +2 119 2 +2 120 2 +2 121 2 +2 122 2 +2 123 2 +2 124 2 +2 125 2 +2 126 2 +2 127 2 +2 128 2 +2 129 2 +2 130 2 +2 131 2 +2 132 2 +2 133 2 +2 134 2 +2 135 2 +2 136 2 +2 137 2 +2 138 2 +2 139 2 +2 140 2 +2 141 2 +2 142 2 +2 143 2 +2 144 2 +2 145 2 +2 146 2 +2 147 2 +2 148 2 +2 149 2 +2 150 2 +2 151 2 +2 152 2 +2 153 2 +2 154 2 +2 155 2 +2 156 2 +2 157 2 +2 158 2 +2 159 2 +2 160 2 +2 161 2 +2 162 2 +2 163 2 +2 164 2 +2 165 2 +2 166 2 +2 167 2 +2 168 2 +2 169 2 +2 170 2 +2 171 2 +2 172 2 +2 173 2 +2 174 2 +2 175 2 +2 176 2 +2 177 2 +2 178 2 +2 179 2 +2 180 2 +2 181 2 +2 182 2 +2 183 2 +2 184 2 +2 185 2 +2 186 2 +2 187 2 +2 188 2 +2 189 2 +2 190 2 +2 191 2 +2 192 2 +2 193 2 +2 194 2 +2 195 2 +2 196 2 +2 197 2 +2 198 2 +2 199 2 +2 200 2 +2 201 2 +2 202 2 +2 203 2 +2 204 2 +2 205 2 +2 206 2 +2 207 2 +2 208 2 +2 209 2 +2 210 2 +2 211 2 +2 212 2 +2 213 2 +2 214 2 +2 215 2 +2 216 2 +2 217 2 +2 218 2 +2 219 2 +2 220 2 +2 221 2 +2 222 2 +2 223 2 +2 224 2 +2 225 2 +2 226 2 +2 227 2 +2 228 2 +2 229 2 +2 230 2 +2 231 2 +2 232 2 +2 233 2 +2 234 2 +2 235 2 +2 236 2 +2 237 2 +2 238 2 +2 239 2 +2 240 2 +2 241 2 +2 242 2 +2 243 2 +2 244 2 +2 245 2 +2 246 2 +2 247 2 +2 248 2 +2 249 2 +2 250 2 +2 251 2 +2 252 2 +2 253 2 +2 254 2 +2 255 2 +2 256 2 +2 257 2 +2 258 2 +2 259 2 +2 260 2 +2 261 2 +2 262 2 +2 263 2 +2 264 2 +2 265 2 +2 266 2 +2 267 2 +2 268 2 +2 269 2 +2 270 2 +2 271 2 +2 272 2 +2 273 2 +2 274 2 +2 275 2 +2 276 2 +2 277 2 +2 278 2 +2 279 2 +2 280 2 +2 281 2 +2 282 2 +2 283 2 +2 284 2 +2 285 2 +2 286 2 +2 287 2 +2 288 2 +2 289 2 +2 290 2 +2 291 2 +2 292 2 +2 293 2 +2 294 2 +2 295 2 +2 296 2 +2 297 2 +2 298 2 +2 299 2 +2 300 2 +2 301 2 +2 302 2 +2 303 2 +2 304 2 +2 305 2 +2 306 2 +2 307 2 +2 308 2 +2 309 2 +2 310 2 +2 311 2 +2 312 2 +2 313 2 +2 314 2 +2 315 2 +2 316 2 +2 317 2 +2 318 2 +2 319 2 +2 320 2 +2 321 2 +2 322 2 +2 323 2 +2 324 2 +2 325 2 +2 326 2 +2 327 2 +2 328 2 +2 329 2 +2 330 2 +2 331 2 +2 332 2 +2 333 2 +2 334 2 +2 335 2 +2 336 2 +2 337 2 +2 338 2 +2 339 2 +2 340 2 +2 341 2 +2 342 2 +2 343 2 +2 344 2 +2 345 2 +2 346 2 +2 347 2 +2 348 2 +2 349 2 +2 350 0 +2 351 0 +2 352 0 +2 353 0 +2 354 0 +2 355 0 +2 356 0 +2 357 0 +2 358 0 +2 359 0 +2 360 0 +2 361 0 +2 362 0 +2 363 0 +2 364 0 +2 365 0 +2 366 0 +2 367 0 +2 368 0 +2 369 0 +2 370 0 +2 371 0 +2 372 0 +2 373 0 +2 374 0 +2 375 0 +2 376 0 +2 377 0 +2 378 0 +2 379 0 +2 380 0 +2 381 0 +2 382 0 +2 383 0 +3 4 2 +3 5 2 +3 6 2 +3 7 2 +3 8 2 +3 9 2 +3 10 2 +3 11 2 +3 12 2 +3 13 2 +3 14 2 +3 15 2 +3 16 2 +3 17 2 +3 18 2 +3 19 2 +3 20 2 +3 21 2 +3 22 2 +3 23 2 +3 24 2 +3 25 2 +3 26 2 +3 27 2 +3 28 2 +3 29 2 +3 30 2 +3 31 2 +3 32 2 +3 33 2 +3 34 2 +3 35 2 +3 36 2 +3 37 2 +3 38 2 +3 39 2 +3 40 2 +3 41 2 +3 42 2 +3 43 2 +3 44 2 +3 45 2 +3 46 2 +3 47 2 +3 48 2 +3 49 2 +3 50 2 +3 51 2 +3 52 2 +3 53 2 +3 54 2 +3 55 2 +3 56 2 +3 57 2 +3 58 2 +3 59 2 +3 60 2 +3 61 2 +3 62 2 +3 63 2 +3 64 2 +3 65 2 +3 66 2 +3 67 2 +3 68 2 +3 69 2 +3 70 2 +3 71 2 +3 72 2 +3 73 2 +3 74 2 +3 75 2 +3 76 2 +3 77 2 +3 78 2 +3 79 2 +3 80 2 +3 81 2 +3 82 2 +3 83 2 +3 84 2 +3 85 2 +3 86 2 +3 87 2 +3 88 2 +3 89 2 +3 90 2 +3 91 2 +3 92 2 +3 93 2 +3 94 2 +3 95 2 +3 96 2 +3 97 2 +3 98 2 +3 99 2 +3 100 2 +3 101 2 +3 102 2 +3 103 2 +3 104 2 +3 105 2 +3 106 2 +3 107 2 +3 108 2 +3 109 2 +3 110 2 +3 111 2 +3 112 2 +3 113 2 +3 114 2 +3 115 2 +3 116 2 +3 117 2 +3 118 2 +3 119 2 +3 120 2 +3 121 2 +3 122 2 +3 123 2 +3 124 2 +3 125 2 +3 126 2 +3 127 2 +3 128 2 +3 129 2 +3 130 2 +3 131 2 +3 132 2 +3 133 2 +3 134 2 +3 135 2 +3 136 2 +3 137 2 +3 138 2 +3 139 2 +3 140 2 +3 141 2 +3 142 2 +3 143 2 +3 144 2 +3 145 2 +3 146 2 +3 147 2 +3 148 2 +3 149 2 +3 150 2 +3 151 2 +3 152 2 +3 153 2 +3 154 2 +3 155 2 +3 156 2 +3 157 2 +3 158 2 +3 159 2 +3 160 2 +3 161 2 +3 162 2 +3 163 2 +3 164 2 +3 165 2 +3 166 2 +3 167 2 +3 168 2 +3 169 2 +3 170 2 +3 171 2 +3 172 2 +3 173 2 +3 174 2 +3 175 2 +3 176 2 +3 177 2 +3 178 2 +3 179 2 +3 180 2 +3 181 2 +3 182 2 +3 183 2 +3 184 2 +3 185 2 +3 186 2 +3 187 2 +3 188 2 +3 189 2 +3 190 2 +3 191 2 +3 192 2 +3 193 2 +3 194 2 +3 195 2 +3 196 2 +3 197 2 +3 198 2 +3 199 2 +3 200 2 +3 201 2 +3 202 2 +3 203 2 +3 204 2 +3 205 2 +3 206 2 +3 207 2 +3 208 2 +3 209 2 +3 210 2 +3 211 2 +3 212 2 +3 213 2 +3 214 2 +3 215 2 +3 216 2 +3 217 2 +3 218 2 +3 219 2 +3 220 2 +3 221 2 +3 222 2 +3 223 2 +3 224 2 +3 225 2 +3 226 2 +3 227 2 +3 228 2 +3 229 2 +3 230 2 +3 231 2 +3 232 2 +3 233 2 +3 234 2 +3 235 2 +3 236 2 +3 237 2 +3 238 2 +3 239 2 +3 240 2 +3 241 2 +3 242 2 +3 243 2 +3 244 2 +3 245 2 +3 246 2 +3 247 2 +3 248 2 +3 249 2 +3 250 2 +3 251 2 +3 252 2 +3 253 2 +3 254 2 +3 255 2 +3 256 2 +3 257 2 +3 258 2 +3 259 2 +3 260 2 +3 261 2 +3 262 2 +3 263 2 +3 264 2 +3 265 2 +3 266 2 +3 267 2 +3 268 2 +3 269 2 +3 270 2 +3 271 2 +3 272 2 +3 273 2 +3 274 2 +3 275 2 +3 276 2 +3 277 2 +3 278 2 +3 279 2 +3 280 2 +3 281 2 +3 282 2 +3 283 2 +3 284 2 +3 285 2 +3 286 2 +3 287 2 +3 288 2 +3 289 2 +3 290 2 +3 291 2 +3 292 2 +3 293 2 +3 294 2 +3 295 2 +3 296 2 +3 297 2 +3 298 2 +3 299 2 +3 300 2 +3 301 2 +3 302 2 +3 303 2 +3 304 2 +3 305 2 +3 306 2 +3 307 2 +3 308 2 +3 309 2 +3 310 2 +3 311 2 +3 312 2 +3 313 2 +3 314 2 +3 315 2 +3 316 2 +3 317 2 +3 318 2 +3 319 2 +3 320 2 +3 321 2 +3 322 2 +3 323 2 +3 324 2 +3 325 2 +3 326 2 +3 327 2 +3 328 2 +3 329 2 +3 330 2 +3 331 2 +3 332 2 +3 333 2 +3 334 2 +3 335 2 +3 336 2 +3 337 2 +3 338 2 +3 339 2 +3 340 2 +3 341 2 +3 342 2 +3 343 2 +3 344 2 +3 345 2 +3 346 2 +3 347 2 +3 348 2 +3 349 2 +3 350 0 +3 351 0 +3 352 0 +3 353 0 +3 354 0 +3 355 0 +3 356 0 +3 357 0 +3 358 0 +3 359 0 +3 360 0 +3 361 0 +3 362 0 +3 363 0 +3 364 0 +3 365 0 +3 366 0 +3 367 0 +3 368 0 +3 369 0 +3 370 0 +3 371 0 +3 372 0 +3 373 0 +3 374 0 +3 375 0 +3 376 0 +3 377 0 +3 378 0 +3 379 0 +3 380 0 +3 381 0 +3 382 0 +3 383 0 +4 5 2 +4 6 2 +4 7 2 +4 8 2 +4 9 2 +4 10 2 +4 11 2 +4 12 2 +4 13 2 +4 14 2 +4 15 2 +4 16 2 +4 17 2 +4 18 2 +4 19 2 +4 20 2 +4 21 2 +4 22 2 +4 23 2 +4 24 2 +4 25 2 +4 26 2 +4 27 2 +4 28 2 +4 29 2 +4 30 2 +4 31 2 +4 32 2 +4 33 2 +4 34 2 +4 35 2 +4 36 2 +4 37 2 +4 38 2 +4 39 2 +4 40 2 +4 41 2 +4 42 2 +4 43 2 +4 44 2 +4 45 2 +4 46 2 +4 47 2 +4 48 2 +4 49 2 +4 50 2 +4 51 2 +4 52 2 +4 53 2 +4 54 2 +4 55 2 +4 56 2 +4 57 2 +4 58 2 +4 59 2 +4 60 2 +4 61 2 +4 62 2 +4 63 2 +4 64 2 +4 65 2 +4 66 2 +4 67 2 +4 68 2 +4 69 2 +4 70 2 +4 71 2 +4 72 2 +4 73 2 +4 74 2 +4 75 2 +4 76 2 +4 77 2 +4 78 2 +4 79 2 +4 80 2 +4 81 2 +4 82 2 +4 83 2 +4 84 2 +4 85 2 +4 86 2 +4 87 2 +4 88 2 +4 89 2 +4 90 2 +4 91 2 +4 92 2 +4 93 2 +4 94 2 +4 95 2 +4 96 2 +4 97 2 +4 98 2 +4 99 2 +4 100 2 +4 101 2 +4 102 2 +4 103 2 +4 104 2 +4 105 2 +4 106 2 +4 107 2 +4 108 2 +4 109 2 +4 110 2 +4 111 2 +4 112 2 +4 113 2 +4 114 2 +4 115 2 +4 116 2 +4 117 2 +4 118 2 +4 119 2 +4 120 2 +4 121 2 +4 122 2 +4 123 2 +4 124 2 +4 125 2 +4 126 2 +4 127 2 +4 128 2 +4 129 2 +4 130 2 +4 131 2 +4 132 2 +4 133 2 +4 134 2 +4 135 2 +4 136 2 +4 137 2 +4 138 2 +4 139 2 +4 140 2 +4 141 2 +4 142 2 +4 143 2 +4 144 2 +4 145 2 +4 146 2 +4 147 2 +4 148 2 +4 149 2 +4 150 2 +4 151 2 +4 152 2 +4 153 2 +4 154 2 +4 155 2 +4 156 2 +4 157 2 +4 158 2 +4 159 2 +4 160 2 +4 161 2 +4 162 2 +4 163 2 +4 164 2 +4 165 2 +4 166 2 +4 167 2 +4 168 2 +4 169 2 +4 170 2 +4 171 2 +4 172 2 +4 173 2 +4 174 2 +4 175 2 +4 176 2 +4 177 2 +4 178 2 +4 179 2 +4 180 2 +4 181 2 +4 182 2 +4 183 4 +4 184 4 +4 185 4 +4 186 4 +4 187 4 +4 188 4 +4 189 4 +4 190 4 +4 191 4 +4 192 4 +4 193 4 +4 194 4 +4 195 4 +4 196 4 +4 197 4 +4 198 4 +4 199 4 +4 200 4 +4 201 4 +4 202 4 +4 203 4 +4 204 4 +4 205 4 +4 206 4 +4 207 4 +4 208 4 +4 209 4 +4 210 4 +4 211 4 +4 212 4 +4 213 4 +4 214 4 +4 215 4 +4 216 4 +4 217 4 +4 218 4 +4 219 4 +4 220 4 +4 221 4 +4 222 4 +4 223 4 +4 224 4 +4 225 4 +4 226 4 +4 227 4 +4 228 4 +4 229 4 +4 230 4 +4 231 4 +4 232 4 +4 233 4 +4 234 4 +4 235 4 +4 236 4 +4 237 4 +4 238 4 +4 239 4 +4 240 4 +4 241 4 +4 242 4 +4 243 4 +4 244 4 +4 245 4 +4 246 4 +4 247 4 +4 248 4 +4 249 4 +4 250 4 +4 251 4 +4 252 4 +4 253 4 +4 254 4 +4 255 4 +4 256 4 +4 257 4 +4 258 4 +4 259 4 +4 260 4 +4 261 4 +4 262 4 +4 263 4 +4 264 4 +4 265 4 +4 266 4 +4 267 4 +4 268 4 +4 269 4 +4 270 4 +4 271 4 +4 272 4 +4 273 4 +4 274 4 +4 275 4 +4 276 4 +4 277 4 +4 278 4 +4 279 4 +4 280 4 +4 281 4 +4 282 4 +4 283 4 +4 284 4 +4 285 4 +4 286 4 +4 287 4 +4 288 4 +4 289 4 +4 290 4 +4 291 4 +4 292 4 +4 293 4 +4 294 4 +4 295 4 +4 296 4 +4 297 4 +4 298 4 +4 299 4 +4 300 4 +4 301 4 +4 302 4 +4 303 4 +4 304 4 +4 305 4 +4 306 4 +4 307 4 +4 308 4 +4 309 4 +4 310 4 +4 311 4 +4 312 4 +4 313 4 +4 314 4 +4 315 4 +4 316 4 +4 317 4 +4 318 4 +4 319 4 +4 320 4 +4 321 4 +4 322 4 +4 323 4 +4 324 4 +4 325 4 +4 326 4 +4 327 4 +4 328 4 +4 329 4 +4 330 4 +4 331 4 +4 332 4 +4 333 4 +4 334 4 +4 335 4 +4 336 4 +4 337 4 +4 338 4 +4 339 4 +4 340 4 +4 341 4 +4 342 4 +4 343 4 +4 344 4 +4 345 4 +4 346 4 +4 347 4 +4 348 4 +4 349 4 +4 350 0 +4 351 0 +4 352 0 +4 353 0 +4 354 0 +4 355 0 +4 356 0 +4 357 0 +4 358 0 +4 359 0 +4 360 0 +4 361 0 +4 362 0 +4 363 0 +4 364 0 +4 365 0 +4 366 0 +4 367 0 +4 368 0 +4 369 0 +4 370 0 +4 371 0 +4 372 0 +4 373 0 +4 374 0 +4 375 0 +4 376 0 +4 377 0 +4 378 0 +4 379 0 +4 380 0 +4 381 0 +4 382 0 +4 383 0 +5 6 4 +5 7 4 +5 8 4 +5 9 4 +5 10 4 +5 11 4 +5 12 4 +5 13 4 +5 14 4 +5 15 4 +5 16 4 +5 17 4 +5 18 4 +5 19 4 +5 20 4 +5 21 4 +5 22 4 +5 23 4 +5 24 4 +5 25 4 +5 26 4 +5 27 4 +5 28 4 +5 29 4 +5 30 4 +5 31 4 +5 32 4 +5 33 4 +5 34 4 +5 35 4 +5 36 4 +5 37 4 +5 38 4 +5 39 4 +5 40 4 +5 41 4 +5 42 4 +5 43 4 +5 44 4 +5 45 4 +5 46 4 +5 47 4 +5 48 4 +5 49 4 +5 50 4 +5 51 4 +5 52 4 +5 53 4 +5 54 4 +5 55 4 +5 56 4 +5 57 4 +5 58 4 +5 59 4 +5 60 4 +5 61 4 +5 62 4 +5 63 4 +5 64 4 +5 65 4 +5 66 4 +5 67 4 +5 68 4 +5 69 4 +5 70 4 +5 71 4 +5 72 4 +5 73 4 +5 74 4 +5 75 4 +5 76 4 +5 77 4 +5 78 4 +5 79 4 +5 80 4 +5 81 4 +5 82 4 +5 83 4 +5 84 4 +5 85 4 +5 86 4 +5 87 4 +5 88 4 +5 89 4 +5 90 4 +5 91 4 +5 92 4 +5 93 4 +5 94 4 +5 95 4 +5 96 4 +5 97 4 +5 98 4 +5 99 4 +5 100 4 +5 101 4 +5 102 4 +5 103 4 +5 104 4 +5 105 4 +5 106 4 +5 107 4 +5 108 4 +5 109 4 +5 110 4 +5 111 4 +5 112 4 +5 113 4 +5 114 4 +5 115 4 +5 116 4 +5 117 4 +5 118 4 +5 119 4 +5 120 4 +5 121 4 +5 122 4 +5 123 4 +5 124 4 +5 125 4 +5 126 4 +5 127 4 +5 128 4 +5 129 4 +5 130 4 +5 131 4 +5 132 4 +5 133 4 +5 134 4 +5 135 4 +5 136 4 +5 137 4 +5 138 4 +5 139 4 +5 140 4 +5 141 4 +5 142 4 +5 143 4 +5 144 4 +5 145 4 +5 146 4 +5 147 4 +5 148 4 +5 149 4 +5 150 4 +5 151 4 +5 152 4 +5 153 4 +5 154 4 +5 155 4 +5 156 4 +5 157 4 +5 158 4 +5 159 4 +5 160 4 +5 161 4 +5 162 4 +5 163 4 +5 164 4 +5 165 4 +5 166 4 +5 167 4 +5 168 4 +5 169 4 +5 170 4 +5 171 4 +5 172 4 +5 173 4 +5 174 4 +5 175 4 +5 176 4 +5 177 4 +5 178 4 +5 179 4 +5 180 4 +5 181 4 +5 182 4 +5 183 4 +5 184 4 +5 185 4 +5 186 4 +5 187 4 +5 188 4 +5 189 4 +5 190 4 +5 191 4 +5 192 4 +5 193 4 +5 194 4 +5 195 4 +5 196 4 +5 197 4 +5 198 4 +5 199 4 +5 200 4 +5 201 4 +5 202 4 +5 203 4 +5 204 4 +5 205 4 +5 206 4 +5 207 4 +5 208 4 +5 209 4 +5 210 4 +5 211 4 +5 212 4 +5 213 4 +5 214 4 +5 215 4 +5 216 4 +5 217 4 +5 218 4 +5 219 4 +5 220 4 +5 221 4 +5 222 4 +5 223 4 +5 224 4 +5 225 4 +5 226 4 +5 227 4 +5 228 4 +5 229 4 +5 230 4 +5 231 4 +5 232 4 +5 233 4 +5 234 4 +5 235 4 +5 236 4 +5 237 4 +5 238 4 +5 239 4 +5 240 4 +5 241 4 +5 242 4 +5 243 4 +5 244 4 +5 245 4 +5 246 4 +5 247 4 +5 248 4 +5 249 4 +5 250 4 +5 251 4 +5 252 4 +5 253 4 +5 254 4 +5 255 4 +5 256 4 +5 257 4 +5 258 4 +5 259 4 +5 260 4 +5 261 4 +5 262 4 +5 263 4 +5 264 4 +5 265 4 +5 266 4 +5 267 4 +5 268 4 +5 269 4 +5 270 4 +5 271 4 +5 272 4 +5 273 4 +5 274 4 +5 275 4 +5 276 4 +5 277 4 +5 278 4 +5 279 4 +5 280 4 +5 281 4 +5 282 4 +5 283 4 +5 284 4 +5 285 4 +5 286 4 +5 287 4 +5 288 4 +5 289 4 +5 290 4 +5 291 4 +5 292 4 +5 293 4 +5 294 4 +5 295 4 +5 296 4 +5 297 4 +5 298 4 +5 299 4 +5 300 4 +5 301 4 +5 302 4 +5 303 4 +5 304 4 +5 305 4 +5 306 4 +5 307 4 +5 308 4 +5 309 4 +5 310 4 +5 311 4 +5 312 4 +5 313 4 +5 314 4 +5 315 4 +5 316 4 +5 317 4 +5 318 4 +5 319 4 +5 320 4 +5 321 4 +5 322 4 +5 323 4 +5 324 4 +5 325 4 +5 326 4 +5 327 4 +5 328 4 +5 329 4 +5 330 4 +5 331 4 +5 332 4 +5 333 4 +5 334 4 +5 335 4 +5 336 4 +5 337 4 +5 338 4 +5 339 4 +5 340 4 +5 341 4 +5 342 4 +5 343 4 +5 344 4 +5 345 4 +5 346 4 +5 347 4 +5 348 4 +5 349 4 +5 350 0 +5 351 0 +5 352 0 +5 353 0 +5 354 0 +5 355 0 +5 356 0 +5 357 0 +5 358 0 +5 359 0 +5 360 0 +5 361 0 +5 362 0 +5 363 0 +5 364 0 +5 365 0 +5 366 0 +5 367 0 +5 368 0 +5 369 0 +5 370 0 +5 371 0 +5 372 0 +5 373 0 +5 374 0 +5 375 0 +5 376 0 +5 377 0 +5 378 0 +5 379 0 +5 380 0 +5 381 0 +5 382 0 +5 383 0 +6 7 4 +6 8 4 +6 9 4 +6 10 4 +6 11 4 +6 12 4 +6 13 4 +6 14 4 +6 15 4 +6 16 4 +6 17 4 +6 18 4 +6 19 4 +6 20 4 +6 21 4 +6 22 4 +6 23 4 +6 24 4 +6 25 4 +6 26 4 +6 27 4 +6 28 4 +6 29 4 +6 30 4 +6 31 4 +6 32 4 +6 33 4 +6 34 4 +6 35 4 +6 36 4 +6 37 4 +6 38 4 +6 39 4 +6 40 4 +6 41 4 +6 42 4 +6 43 4 +6 44 4 +6 45 4 +6 46 4 +6 47 4 +6 48 4 +6 49 4 +6 50 4 +6 51 4 +6 52 4 +6 53 4 +6 54 4 +6 55 4 +6 56 4 +6 57 4 +6 58 4 +6 59 4 +6 60 4 +6 61 4 +6 62 4 +6 63 4 +6 64 4 +6 65 4 +6 66 4 +6 67 4 +6 68 4 +6 69 4 +6 70 4 +6 71 4 +6 72 4 +6 73 4 +6 74 4 +6 75 4 +6 76 4 +6 77 4 +6 78 4 +6 79 4 +6 80 4 +6 81 4 +6 82 4 +6 83 4 +6 84 4 +6 85 4 +6 86 4 +6 87 4 +6 88 4 +6 89 4 +6 90 4 +6 91 4 +6 92 4 +6 93 4 +6 94 4 +6 95 4 +6 96 4 +6 97 4 +6 98 4 +6 99 4 +6 100 4 +6 101 4 +6 102 4 +6 103 4 +6 104 4 +6 105 4 +6 106 4 +6 107 4 +6 108 4 +6 109 4 +6 110 4 +6 111 4 +6 112 4 +6 113 4 +6 114 4 +6 115 4 +6 116 4 +6 117 4 +6 118 4 +6 119 4 +6 120 4 +6 121 4 +6 122 4 +6 123 4 +6 124 4 +6 125 4 +6 126 4 +6 127 4 +6 128 4 +6 129 4 +6 130 4 +6 131 4 +6 132 4 +6 133 4 +6 134 4 +6 135 4 +6 136 4 +6 137 4 +6 138 4 +6 139 4 +6 140 4 +6 141 4 +6 142 4 +6 143 4 +6 144 4 +6 145 4 +6 146 4 +6 147 4 +6 148 4 +6 149 4 +6 150 4 +6 151 4 +6 152 4 +6 153 4 +6 154 4 +6 155 4 +6 156 4 +6 157 4 +6 158 4 +6 159 4 +6 160 4 +6 161 4 +6 162 4 +6 163 4 +6 164 4 +6 165 4 +6 166 4 +6 167 4 +6 168 4 +6 169 4 +6 170 4 +6 171 4 +6 172 4 +6 173 4 +6 174 4 +6 175 4 +6 176 4 +6 177 4 +6 178 4 +6 179 4 +6 180 4 +6 181 4 +6 182 4 +6 183 4 +6 184 4 +6 185 4 +6 186 4 +6 187 4 +6 188 4 +6 189 4 +6 190 4 +6 191 4 +6 192 4 +6 193 4 +6 194 4 +6 195 4 +6 196 4 +6 197 4 +6 198 4 +6 199 4 +6 200 4 +6 201 4 +6 202 4 +6 203 4 +6 204 4 +6 205 4 +6 206 4 +6 207 4 +6 208 4 +6 209 4 +6 210 4 +6 211 4 +6 212 4 +6 213 4 +6 214 4 +6 215 4 +6 216 4 +6 217 4 +6 218 4 +6 219 4 +6 220 4 +6 221 4 +6 222 4 +6 223 4 +6 224 4 +6 225 4 +6 226 4 +6 227 4 +6 228 4 +6 229 4 +6 230 4 +6 231 4 +6 232 4 +6 233 4 +6 234 4 +6 235 4 +6 236 4 +6 237 4 +6 238 4 +6 239 4 +6 240 4 +6 241 4 +6 242 4 +6 243 4 +6 244 4 +6 245 4 +6 246 4 +6 247 4 +6 248 4 +6 249 4 +6 250 4 +6 251 4 +6 252 4 +6 253 4 +6 254 4 +6 255 4 +6 256 4 +6 257 4 +6 258 4 +6 259 4 +6 260 4 +6 261 4 +6 262 4 +6 263 4 +6 264 4 +6 265 4 +6 266 4 +6 267 4 +6 268 4 +6 269 4 +6 270 4 +6 271 4 +6 272 4 +6 273 4 +6 274 4 +6 275 4 +6 276 4 +6 277 4 +6 278 4 +6 279 4 +6 280 4 +6 281 4 +6 282 4 +6 283 4 +6 284 4 +6 285 4 +6 286 4 +6 287 4 +6 288 4 +6 289 4 +6 290 4 +6 291 4 +6 292 4 +6 293 4 +6 294 4 +6 295 4 +6 296 4 +6 297 4 +6 298 4 +6 299 4 +6 300 4 +6 301 4 +6 302 4 +6 303 4 +6 304 4 +6 305 4 +6 306 4 +6 307 4 +6 308 4 +6 309 4 +6 310 4 +6 311 4 +6 312 4 +6 313 4 +6 314 4 +6 315 4 +6 316 4 +6 317 4 +6 318 4 +6 319 4 +6 320 4 +6 321 4 +6 322 4 +6 323 4 +6 324 4 +6 325 4 +6 326 4 +6 327 4 +6 328 4 +6 329 4 +6 330 4 +6 331 4 +6 332 4 +6 333 4 +6 334 4 +6 335 4 +6 336 4 +6 337 4 +6 338 4 +6 339 4 +6 340 4 +6 341 4 +6 342 4 +6 343 4 +6 344 4 +6 345 4 +6 346 4 +6 347 4 +6 348 4 +6 349 4 +6 350 0 +6 351 0 +6 352 0 +6 353 0 +6 354 0 +6 355 0 +6 356 0 +6 357 0 +6 358 0 +6 359 0 +6 360 0 +6 361 0 +6 362 0 +6 363 0 +6 364 0 +6 365 0 +6 366 0 +6 367 0 +6 368 0 +6 369 0 +6 370 0 +6 371 0 +6 372 0 +6 373 0 +6 374 0 +6 375 0 +6 376 0 +6 377 0 +6 378 0 +6 379 0 +6 380 0 +6 381 0 +6 382 0 +6 383 0 +7 8 4 +7 9 4 +7 10 4 +7 11 4 +7 12 4 +7 13 4 +7 14 4 +7 15 4 +7 16 4 +7 17 4 +7 18 4 +7 19 4 +7 20 4 +7 21 4 +7 22 4 +7 23 4 +7 24 4 +7 25 4 +7 26 4 +7 27 4 +7 28 4 +7 29 4 +7 30 4 +7 31 4 +7 32 4 +7 33 4 +7 34 4 +7 35 4 +7 36 4 +7 37 4 +7 38 4 +7 39 4 +7 40 4 +7 41 4 +7 42 4 +7 43 4 +7 44 4 +7 45 4 +7 46 4 +7 47 4 +7 48 4 +7 49 4 +7 50 4 +7 51 4 +7 52 4 +7 53 4 +7 54 4 +7 55 4 +7 56 4 +7 57 4 +7 58 4 +7 59 4 +7 60 4 +7 61 4 +7 62 4 +7 63 4 +7 64 4 +7 65 4 +7 66 4 +7 67 4 +7 68 4 +7 69 4 +7 70 4 +7 71 4 +7 72 4 +7 73 4 +7 74 4 +7 75 4 +7 76 4 +7 77 4 +7 78 4 +7 79 4 +7 80 4 +7 81 4 +7 82 4 +7 83 4 +7 84 4 +7 85 4 +7 86 4 +7 87 4 +7 88 4 +7 89 4 +7 90 4 +7 91 4 +7 92 4 +7 93 4 +7 94 4 +7 95 4 +7 96 4 +7 97 4 +7 98 4 +7 99 4 +7 100 4 +7 101 4 +7 102 4 +7 103 4 +7 104 4 +7 105 4 +7 106 4 +7 107 4 +7 108 4 +7 109 4 +7 110 4 +7 111 4 +7 112 4 +7 113 4 +7 114 4 +7 115 4 +7 116 4 +7 117 4 +7 118 4 +7 119 4 +7 120 4 +7 121 4 +7 122 4 +7 123 4 +7 124 4 +7 125 4 +7 126 4 +7 127 4 +7 128 4 +7 129 4 +7 130 4 +7 131 4 +7 132 4 +7 133 4 +7 134 4 +7 135 4 +7 136 4 +7 137 4 +7 138 4 +7 139 4 +7 140 4 +7 141 4 +7 142 4 +7 143 4 +7 144 4 +7 145 4 +7 146 4 +7 147 4 +7 148 4 +7 149 4 +7 150 4 +7 151 4 +7 152 4 +7 153 4 +7 154 4 +7 155 4 +7 156 4 +7 157 4 +7 158 4 +7 159 4 +7 160 4 +7 161 4 +7 162 4 +7 163 4 +7 164 4 +7 165 4 +7 166 4 +7 167 4 +7 168 4 +7 169 4 +7 170 4 +7 171 4 +7 172 4 +7 173 4 +7 174 4 +7 175 4 +7 176 4 +7 177 4 +7 178 4 +7 179 4 +7 180 4 +7 181 4 +7 182 4 +7 183 4 +7 184 4 +7 185 4 +7 186 4 +7 187 4 +7 188 4 +7 189 4 +7 190 4 +7 191 4 +7 192 4 +7 193 4 +7 194 4 +7 195 4 +7 196 4 +7 197 4 +7 198 4 +7 199 4 +7 200 4 +7 201 4 +7 202 4 +7 203 4 +7 204 4 +7 205 4 +7 206 4 +7 207 4 +7 208 4 +7 209 4 +7 210 4 +7 211 4 +7 212 4 +7 213 4 +7 214 4 +7 215 4 +7 216 4 +7 217 4 +7 218 4 +7 219 4 +7 220 4 +7 221 4 +7 222 4 +7 223 4 +7 224 4 +7 225 4 +7 226 4 +7 227 4 +7 228 4 +7 229 4 +7 230 4 +7 231 4 +7 232 4 +7 233 4 +7 234 4 +7 235 4 +7 236 4 +7 237 4 +7 238 4 +7 239 4 +7 240 4 +7 241 4 +7 242 4 +7 243 4 +7 244 4 +7 245 4 +7 246 4 +7 247 4 +7 248 4 +7 249 4 +7 250 4 +7 251 4 +7 252 4 +7 253 4 +7 254 4 +7 255 4 +7 256 4 +7 257 4 +7 258 4 +7 259 4 +7 260 4 +7 261 4 +7 262 4 +7 263 4 +7 264 4 +7 265 4 +7 266 4 +7 267 4 +7 268 4 +7 269 4 +7 270 4 +7 271 4 +7 272 4 +7 273 4 +7 274 4 +7 275 4 +7 276 4 +7 277 4 +7 278 4 +7 279 4 +7 280 4 +7 281 4 +7 282 4 +7 283 4 +7 284 4 +7 285 4 +7 286 4 +7 287 4 +7 288 4 +7 289 4 +7 290 4 +7 291 4 +7 292 4 +7 293 4 +7 294 4 +7 295 4 +7 296 4 +7 297 4 +7 298 4 +7 299 4 +7 300 4 +7 301 4 +7 302 4 +7 303 4 +7 304 4 +7 305 4 +7 306 4 +7 307 4 +7 308 4 +7 309 4 +7 310 4 +7 311 4 +7 312 4 +7 313 4 +7 314 4 +7 315 4 +7 316 4 +7 317 4 +7 318 4 +7 319 4 +7 320 4 +7 321 4 +7 322 4 +7 323 4 +7 324 4 +7 325 4 +7 326 4 +7 327 4 +7 328 4 +7 329 4 +7 330 4 +7 331 4 +7 332 4 +7 333 4 +7 334 4 +7 335 4 +7 336 4 +7 337 4 +7 338 4 +7 339 4 +7 340 4 +7 341 4 +7 342 4 +7 343 4 +7 344 4 +7 345 4 +7 346 4 +7 347 4 +7 348 4 +7 349 4 +7 350 0 +7 351 0 +7 352 0 +7 353 0 +7 354 0 +7 355 0 +7 356 0 +7 357 0 +7 358 0 +7 359 0 +7 360 0 +7 361 0 +7 362 0 +7 363 0 +7 364 0 +7 365 0 +7 366 0 +7 367 0 +7 368 0 +7 369 0 +7 370 0 +7 371 0 +7 372 0 +7 373 0 +7 374 0 +7 375 0 +7 376 0 +7 377 0 +7 378 0 +7 379 0 +7 380 0 +7 381 0 +7 382 0 +7 383 0 +8 9 4 +8 10 4 +8 11 4 +8 12 4 +8 13 4 +8 14 4 +8 15 4 +8 16 4 +8 17 4 +8 18 4 +8 19 4 +8 20 4 +8 21 4 +8 22 4 +8 23 4 +8 24 4 +8 25 4 +8 26 4 +8 27 4 +8 28 4 +8 29 4 +8 30 4 +8 31 4 +8 32 4 +8 33 4 +8 34 4 +8 35 4 +8 36 4 +8 37 4 +8 38 4 +8 39 4 +8 40 4 +8 41 4 +8 42 4 +8 43 4 +8 44 4 +8 45 4 +8 46 4 +8 47 4 +8 48 4 +8 49 4 +8 50 4 +8 51 4 +8 52 4 +8 53 4 +8 54 4 +8 55 4 +8 56 4 +8 57 4 +8 58 4 +8 59 4 +8 60 4 +8 61 4 +8 62 4 +8 63 4 +8 64 4 +8 65 4 +8 66 4 +8 67 4 +8 68 4 +8 69 4 +8 70 4 +8 71 4 +8 72 4 +8 73 4 +8 74 4 +8 75 4 +8 76 4 +8 77 4 +8 78 4 +8 79 4 +8 80 4 +8 81 4 +8 82 4 +8 83 4 +8 84 4 +8 85 4 +8 86 4 +8 87 4 +8 88 4 +8 89 4 +8 90 4 +8 91 4 +8 92 4 +8 93 4 +8 94 4 +8 95 4 +8 96 4 +8 97 4 +8 98 4 +8 99 4 +8 100 4 +8 101 4 +8 102 4 +8 103 4 +8 104 4 +8 105 4 +8 106 4 +8 107 4 +8 108 4 +8 109 4 +8 110 4 +8 111 4 +8 112 4 +8 113 4 +8 114 4 +8 115 4 +8 116 4 +8 117 4 +8 118 4 +8 119 4 +8 120 4 +8 121 4 +8 122 4 +8 123 4 +8 124 4 +8 125 4 +8 126 4 +8 127 4 +8 128 4 +8 129 4 +8 130 4 +8 131 4 +8 132 4 +8 133 4 +8 134 4 +8 135 4 +8 136 4 +8 137 4 +8 138 4 +8 139 4 +8 140 4 +8 141 4 +8 142 4 +8 143 4 +8 144 4 +8 145 4 +8 146 4 +8 147 4 +8 148 4 +8 149 4 +8 150 4 +8 151 4 +8 152 4 +8 153 4 +8 154 4 +8 155 4 +8 156 4 +8 157 4 +8 158 4 +8 159 4 +8 160 4 +8 161 4 +8 162 4 +8 163 4 +8 164 4 +8 165 4 +8 166 4 +8 167 4 +8 168 4 +8 169 4 +8 170 4 +8 171 4 +8 172 4 +8 173 4 +8 174 4 +8 175 4 +8 176 4 +8 177 4 +8 178 4 +8 179 4 +8 180 4 +8 181 4 +8 182 4 +8 183 4 +8 184 4 +8 185 4 +8 186 4 +8 187 4 +8 188 4 +8 189 4 +8 190 4 +8 191 4 +8 192 4 +8 193 4 +8 194 4 +8 195 4 +8 196 4 +8 197 4 +8 198 4 +8 199 4 +8 200 4 +8 201 4 +8 202 4 +8 203 4 +8 204 4 +8 205 4 +8 206 4 +8 207 4 +8 208 4 +8 209 4 +8 210 4 +8 211 4 +8 212 4 +8 213 4 +8 214 4 +8 215 4 +8 216 4 +8 217 4 +8 218 4 +8 219 4 +8 220 4 +8 221 4 +8 222 4 +8 223 4 +8 224 4 +8 225 4 +8 226 4 +8 227 4 +8 228 4 +8 229 4 +8 230 4 +8 231 4 +8 232 4 +8 233 4 +8 234 4 +8 235 4 +8 236 4 +8 237 4 +8 238 4 +8 239 4 +8 240 4 +8 241 4 +8 242 4 +8 243 4 +8 244 4 +8 245 4 +8 246 4 +8 247 4 +8 248 4 +8 249 4 +8 250 4 +8 251 4 +8 252 4 +8 253 4 +8 254 4 +8 255 4 +8 256 4 +8 257 4 +8 258 4 +8 259 4 +8 260 4 +8 261 4 +8 262 4 +8 263 4 +8 264 4 +8 265 4 +8 266 4 +8 267 4 +8 268 4 +8 269 4 +8 270 4 +8 271 4 +8 272 4 +8 273 4 +8 274 4 +8 275 4 +8 276 4 +8 277 4 +8 278 4 +8 279 4 +8 280 4 +8 281 4 +8 282 4 +8 283 4 +8 284 4 +8 285 4 +8 286 4 +8 287 4 +8 288 4 +8 289 4 +8 290 4 +8 291 4 +8 292 4 +8 293 4 +8 294 4 +8 295 4 +8 296 4 +8 297 4 +8 298 4 +8 299 4 +8 300 4 +8 301 4 +8 302 4 +8 303 4 +8 304 4 +8 305 4 +8 306 4 +8 307 4 +8 308 4 +8 309 4 +8 310 4 +8 311 4 +8 312 4 +8 313 4 +8 314 4 +8 315 4 +8 316 4 +8 317 4 +8 318 4 +8 319 4 +8 320 4 +8 321 4 +8 322 4 +8 323 4 +8 324 4 +8 325 4 +8 326 4 +8 327 4 +8 328 4 +8 329 4 +8 330 4 +8 331 4 +8 332 4 +8 333 4 +8 334 4 +8 335 4 +8 336 4 +8 337 4 +8 338 4 +8 339 4 +8 340 4 +8 341 4 +8 342 4 +8 343 4 +8 344 4 +8 345 4 +8 346 4 +8 347 4 +8 348 4 +8 349 4 +8 350 0 +8 351 0 +8 352 0 +8 353 0 +8 354 0 +8 355 0 +8 356 0 +8 357 0 +8 358 0 +8 359 0 +8 360 0 +8 361 0 +8 362 0 +8 363 0 +8 364 0 +8 365 0 +8 366 0 +8 367 0 +8 368 0 +8 369 0 +8 370 0 +8 371 0 +8 372 0 +8 373 0 +8 374 0 +8 375 0 +8 376 0 +8 377 0 +8 378 0 +8 379 0 +8 380 0 +8 381 0 +8 382 0 +8 383 0 +9 10 4 +9 11 4 +9 12 4 +9 13 4 +9 14 4 +9 15 4 +9 16 4 +9 17 4 +9 18 4 +9 19 4 +9 20 4 +9 21 4 +9 22 4 +9 23 4 +9 24 4 +9 25 4 +9 26 4 +9 27 4 +9 28 4 +9 29 4 +9 30 4 +9 31 4 +9 32 4 +9 33 4 +9 34 4 +9 35 4 +9 36 4 +9 37 4 +9 38 4 +9 39 4 +9 40 4 +9 41 4 +9 42 4 +9 43 4 +9 44 4 +9 45 4 +9 46 4 +9 47 4 +9 48 4 +9 49 4 +9 50 4 +9 51 4 +9 52 4 +9 53 4 +9 54 4 +9 55 4 +9 56 4 +9 57 4 +9 58 4 +9 59 4 +9 60 4 +9 61 4 +9 62 4 +9 63 4 +9 64 4 +9 65 4 +9 66 4 +9 67 4 +9 68 4 +9 69 4 +9 70 4 +9 71 4 +9 72 4 +9 73 4 +9 74 4 +9 75 4 +9 76 4 +9 77 4 +9 78 4 +9 79 4 +9 80 4 +9 81 4 +9 82 4 +9 83 4 +9 84 4 +9 85 4 +9 86 4 +9 87 4 +9 88 4 +9 89 4 +9 90 4 +9 91 4 +9 92 4 +9 93 4 +9 94 4 +9 95 4 +9 96 4 +9 97 4 +9 98 4 +9 99 4 +9 100 4 +9 101 4 +9 102 4 +9 103 4 +9 104 4 +9 105 4 +9 106 4 +9 107 4 +9 108 4 +9 109 4 +9 110 4 +9 111 4 +9 112 4 +9 113 4 +9 114 4 +9 115 4 +9 116 4 +9 117 4 +9 118 4 +9 119 4 +9 120 4 +9 121 4 +9 122 4 +9 123 4 +9 124 4 +9 125 4 +9 126 4 +9 127 4 +9 128 4 +9 129 4 +9 130 4 +9 131 4 +9 132 4 +9 133 4 +9 134 4 +9 135 4 +9 136 4 +9 137 4 +9 138 4 +9 139 4 +9 140 4 +9 141 4 +9 142 4 +9 143 4 +9 144 4 +9 145 4 +9 146 4 +9 147 4 +9 148 4 +9 149 4 +9 150 4 +9 151 4 +9 152 4 +9 153 4 +9 154 4 +9 155 4 +9 156 4 +9 157 4 +9 158 4 +9 159 4 +9 160 4 +9 161 4 +9 162 4 +9 163 4 +9 164 4 +9 165 4 +9 166 4 +9 167 4 +9 168 4 +9 169 4 +9 170 4 +9 171 4 +9 172 4 +9 173 4 +9 174 4 +9 175 4 +9 176 4 +9 177 4 +9 178 4 +9 179 4 +9 180 4 +9 181 4 +9 182 4 +9 183 4 +9 184 4 +9 185 4 +9 186 4 +9 187 4 +9 188 4 +9 189 4 +9 190 4 +9 191 4 +9 192 4 +9 193 4 +9 194 4 +9 195 4 +9 196 4 +9 197 4 +9 198 4 +9 199 4 +9 200 4 +9 201 4 +9 202 4 +9 203 4 +9 204 4 +9 205 4 +9 206 4 +9 207 4 +9 208 4 +9 209 4 +9 210 4 +9 211 4 +9 212 4 +9 213 4 +9 214 4 +9 215 4 +9 216 4 +9 217 4 +9 218 4 +9 219 4 +9 220 4 +9 221 4 +9 222 4 +9 223 4 +9 224 4 +9 225 4 +9 226 4 +9 227 4 +9 228 4 +9 229 4 +9 230 4 +9 231 4 +9 232 4 +9 233 4 +9 234 4 +9 235 4 +9 236 4 +9 237 4 +9 238 4 +9 239 4 +9 240 4 +9 241 4 +9 242 4 +9 243 4 +9 244 4 +9 245 4 +9 246 4 +9 247 4 +9 248 4 +9 249 4 +9 250 4 +9 251 4 +9 252 4 +9 253 4 +9 254 4 +9 255 4 +9 256 4 +9 257 4 +9 258 4 +9 259 4 +9 260 4 +9 261 4 +9 262 4 +9 263 4 +9 264 4 +9 265 4 +9 266 4 +9 267 4 +9 268 4 +9 269 4 +9 270 4 +9 271 4 +9 272 4 +9 273 4 +9 274 4 +9 275 4 +9 276 4 +9 277 4 +9 278 4 +9 279 4 +9 280 4 +9 281 4 +9 282 4 +9 283 4 +9 284 4 +9 285 4 +9 286 4 +9 287 4 +9 288 4 +9 289 4 +9 290 4 +9 291 4 +9 292 4 +9 293 4 +9 294 4 +9 295 4 +9 296 4 +9 297 4 +9 298 4 +9 299 4 +9 300 4 +9 301 4 +9 302 4 +9 303 4 +9 304 4 +9 305 4 +9 306 4 +9 307 4 +9 308 4 +9 309 4 +9 310 4 +9 311 4 +9 312 4 +9 313 4 +9 314 4 +9 315 4 +9 316 4 +9 317 4 +9 318 4 +9 319 4 +9 320 4 +9 321 4 +9 322 4 +9 323 4 +9 324 4 +9 325 4 +9 326 4 +9 327 4 +9 328 4 +9 329 4 +9 330 4 +9 331 4 +9 332 4 +9 333 4 +9 334 4 +9 335 4 +9 336 4 +9 337 4 +9 338 4 +9 339 4 +9 340 4 +9 341 4 +9 342 4 +9 343 4 +9 344 4 +9 345 4 +9 346 4 +9 347 4 +9 348 4 +9 349 4 +9 350 0 +9 351 0 +9 352 0 +9 353 0 +9 354 0 +9 355 0 +9 356 0 +9 357 0 +9 358 0 +9 359 0 +9 360 0 +9 361 0 +9 362 0 +9 363 0 +9 364 0 +9 365 0 +9 366 0 +9 367 0 +9 368 0 +9 369 0 +9 370 0 +9 371 0 +9 372 0 +9 373 0 +9 374 0 +9 375 0 +9 376 0 +9 377 0 +9 378 0 +9 379 0 +9 380 0 +9 381 0 +9 382 0 +9 383 0 +10 11 4 +10 12 4 +10 13 4 +10 14 4 +10 15 4 +10 16 4 +10 17 4 +10 18 4 +10 19 4 +10 20 4 +10 21 4 +10 22 4 +10 23 4 +10 24 4 +10 25 4 +10 26 4 +10 27 4 +10 28 4 +10 29 4 +10 30 4 +10 31 4 +10 32 4 +10 33 4 +10 34 4 +10 35 4 +10 36 4 +10 37 4 +10 38 4 +10 39 4 +10 40 4 +10 41 4 +10 42 4 +10 43 4 +10 44 4 +10 45 4 +10 46 4 +10 47 4 +10 48 4 +10 49 4 +10 50 4 +10 51 4 +10 52 4 +10 53 4 +10 54 4 +10 55 4 +10 56 4 +10 57 4 +10 58 4 +10 59 4 +10 60 4 +10 61 4 +10 62 4 +10 63 4 +10 64 4 +10 65 4 +10 66 4 +10 67 4 +10 68 4 +10 69 4 +10 70 4 +10 71 4 +10 72 4 +10 73 4 +10 74 4 +10 75 4 +10 76 4 +10 77 4 +10 78 4 +10 79 4 +10 80 4 +10 81 4 +10 82 4 +10 83 4 +10 84 4 +10 85 4 +10 86 4 +10 87 4 +10 88 4 +10 89 4 +10 90 4 +10 91 4 +10 92 4 +10 93 4 +10 94 4 +10 95 4 +10 96 4 +10 97 4 +10 98 4 +10 99 4 +10 100 4 +10 101 4 +10 102 4 +10 103 4 +10 104 4 +10 105 4 +10 106 4 +10 107 4 +10 108 4 +10 109 4 +10 110 4 +10 111 4 +10 112 4 +10 113 4 +10 114 4 +10 115 4 +10 116 4 +10 117 4 +10 118 4 +10 119 4 +10 120 4 +10 121 4 +10 122 4 +10 123 4 +10 124 4 +10 125 4 +10 126 4 +10 127 4 +10 128 4 +10 129 4 +10 130 4 +10 131 4 +10 132 4 +10 133 4 +10 134 4 +10 135 4 +10 136 4 +10 137 4 +10 138 4 +10 139 4 +10 140 4 +10 141 4 +10 142 4 +10 143 4 +10 144 4 +10 145 4 +10 146 4 +10 147 4 +10 148 4 +10 149 4 +10 150 4 +10 151 4 +10 152 4 +10 153 4 +10 154 4 +10 155 4 +10 156 4 +10 157 4 +10 158 4 +10 159 4 +10 160 4 +10 161 4 +10 162 4 +10 163 4 +10 164 4 +10 165 4 +10 166 4 +10 167 4 +10 168 4 +10 169 4 +10 170 4 +10 171 4 +10 172 4 +10 173 4 +10 174 4 +10 175 4 +10 176 4 +10 177 4 +10 178 4 +10 179 4 +10 180 4 +10 181 4 +10 182 4 +10 183 4 +10 184 4 +10 185 4 +10 186 4 +10 187 4 +10 188 4 +10 189 4 +10 190 4 +10 191 4 +10 192 4 +10 193 4 +10 194 4 +10 195 4 +10 196 4 +10 197 4 +10 198 4 +10 199 4 +10 200 4 +10 201 4 +10 202 4 +10 203 4 +10 204 4 +10 205 4 +10 206 4 +10 207 4 +10 208 4 +10 209 4 +10 210 4 +10 211 4 +10 212 4 +10 213 4 +10 214 4 +10 215 4 +10 216 4 +10 217 4 +10 218 4 +10 219 4 +10 220 4 +10 221 4 +10 222 4 +10 223 4 +10 224 4 +10 225 4 +10 226 4 +10 227 4 +10 228 4 +10 229 4 +10 230 4 +10 231 4 +10 232 4 +10 233 4 +10 234 4 +10 235 4 +10 236 4 +10 237 4 +10 238 4 +10 239 4 +10 240 4 +10 241 4 +10 242 4 +10 243 4 +10 244 4 +10 245 4 +10 246 4 +10 247 4 +10 248 4 +10 249 4 +10 250 4 +10 251 4 +10 252 4 +10 253 4 +10 254 4 +10 255 4 +10 256 4 +10 257 4 +10 258 4 +10 259 4 +10 260 4 +10 261 4 +10 262 4 +10 263 4 +10 264 4 +10 265 4 +10 266 4 +10 267 4 +10 268 4 +10 269 4 +10 270 4 +10 271 4 +10 272 4 +10 273 4 +10 274 4 +10 275 4 +10 276 4 +10 277 4 +10 278 4 +10 279 4 +10 280 4 +10 281 4 +10 282 4 +10 283 4 +10 284 4 +10 285 4 +10 286 4 +10 287 4 +10 288 4 +10 289 4 +10 290 4 +10 291 4 +10 292 4 +10 293 4 +10 294 4 +10 295 4 +10 296 4 +10 297 4 +10 298 4 +10 299 4 +10 300 4 +10 301 4 +10 302 4 +10 303 4 +10 304 4 +10 305 4 +10 306 4 +10 307 4 +10 308 4 +10 309 4 +10 310 4 +10 311 4 +10 312 4 +10 313 4 +10 314 4 +10 315 4 +10 316 4 +10 317 4 +10 318 4 +10 319 4 +10 320 4 +10 321 4 +10 322 4 +10 323 4 +10 324 4 +10 325 4 +10 326 4 +10 327 4 +10 328 4 +10 329 4 +10 330 4 +10 331 4 +10 332 4 +10 333 4 +10 334 4 +10 335 4 +10 336 4 +10 337 4 +10 338 4 +10 339 4 +10 340 4 +10 341 4 +10 342 4 +10 343 4 +10 344 4 +10 345 4 +10 346 4 +10 347 4 +10 348 4 +10 349 4 +10 350 0 +10 351 0 +10 352 0 +10 353 0 +10 354 0 +10 355 0 +10 356 0 +10 357 0 +10 358 0 +10 359 0 +10 360 0 +10 361 0 +10 362 0 +10 363 0 +10 364 0 +10 365 0 +10 366 0 +10 367 0 +10 368 0 +10 369 0 +10 370 0 +10 371 0 +10 372 0 +10 373 0 +10 374 0 +10 375 0 +10 376 0 +10 377 0 +10 378 0 +10 379 0 +10 380 0 +10 381 0 +10 382 0 +10 383 0 +11 12 4 +11 13 4 +11 14 4 +11 15 4 +11 16 4 +11 17 4 +11 18 4 +11 19 4 +11 20 4 +11 21 4 +11 22 4 +11 23 4 +11 24 4 +11 25 4 +11 26 4 +11 27 4 +11 28 4 +11 29 4 +11 30 4 +11 31 4 +11 32 4 +11 33 4 +11 34 4 +11 35 4 +11 36 4 +11 37 4 +11 38 4 +11 39 4 +11 40 4 +11 41 4 +11 42 4 +11 43 4 +11 44 4 +11 45 4 +11 46 4 +11 47 4 +11 48 4 +11 49 4 +11 50 4 +11 51 4 +11 52 4 +11 53 4 +11 54 4 +11 55 4 +11 56 4 +11 57 4 +11 58 4 +11 59 4 +11 60 4 +11 61 4 +11 62 4 +11 63 4 +11 64 4 +11 65 4 +11 66 4 +11 67 4 +11 68 4 +11 69 4 +11 70 4 +11 71 4 +11 72 4 +11 73 4 +11 74 4 +11 75 4 +11 76 4 +11 77 4 +11 78 4 +11 79 4 +11 80 4 +11 81 4 +11 82 4 +11 83 4 +11 84 4 +11 85 4 +11 86 4 +11 87 4 +11 88 4 +11 89 4 +11 90 4 +11 91 4 +11 92 4 +11 93 4 +11 94 4 +11 95 4 +11 96 4 +11 97 4 +11 98 4 +11 99 4 +11 100 4 +11 101 4 +11 102 4 +11 103 4 +11 104 4 +11 105 4 +11 106 4 +11 107 4 +11 108 4 +11 109 4 +11 110 4 +11 111 4 +11 112 4 +11 113 4 +11 114 4 +11 115 4 +11 116 4 +11 117 4 +11 118 4 +11 119 4 +11 120 4 +11 121 4 +11 122 4 +11 123 4 +11 124 4 +11 125 4 +11 126 4 +11 127 4 +11 128 4 +11 129 4 +11 130 4 +11 131 4 +11 132 4 +11 133 4 +11 134 4 +11 135 4 +11 136 4 +11 137 4 +11 138 4 +11 139 4 +11 140 4 +11 141 4 +11 142 4 +11 143 4 +11 144 4 +11 145 4 +11 146 4 +11 147 4 +11 148 4 +11 149 4 +11 150 4 +11 151 4 +11 152 4 +11 153 4 +11 154 4 +11 155 4 +11 156 4 +11 157 4 +11 158 4 +11 159 4 +11 160 4 +11 161 4 +11 162 4 +11 163 4 +11 164 4 +11 165 4 +11 166 4 +11 167 4 +11 168 4 +11 169 4 +11 170 4 +11 171 4 +11 172 4 +11 173 4 +11 174 4 +11 175 4 +11 176 4 +11 177 4 +11 178 4 +11 179 4 +11 180 4 +11 181 4 +11 182 4 +11 183 4 +11 184 4 +11 185 4 +11 186 4 +11 187 4 +11 188 4 +11 189 4 +11 190 4 +11 191 4 +11 192 4 +11 193 4 +11 194 4 +11 195 4 +11 196 4 +11 197 4 +11 198 4 +11 199 4 +11 200 4 +11 201 4 +11 202 4 +11 203 4 +11 204 4 +11 205 4 +11 206 4 +11 207 4 +11 208 4 +11 209 4 +11 210 4 +11 211 4 +11 212 4 +11 213 4 +11 214 4 +11 215 4 +11 216 4 +11 217 4 +11 218 4 +11 219 4 +11 220 4 +11 221 4 +11 222 4 +11 223 4 +11 224 4 +11 225 4 +11 226 4 +11 227 4 +11 228 4 +11 229 4 +11 230 4 +11 231 4 +11 232 4 +11 233 4 +11 234 4 +11 235 4 +11 236 4 +11 237 4 +11 238 4 +11 239 4 +11 240 4 +11 241 4 +11 242 4 +11 243 4 +11 244 4 +11 245 4 +11 246 4 +11 247 4 +11 248 4 +11 249 4 +11 250 4 +11 251 4 +11 252 4 +11 253 4 +11 254 4 +11 255 4 +11 256 4 +11 257 4 +11 258 4 +11 259 4 +11 260 4 +11 261 4 +11 262 4 +11 263 4 +11 264 4 +11 265 4 +11 266 4 +11 267 4 +11 268 4 +11 269 4 +11 270 4 +11 271 4 +11 272 4 +11 273 4 +11 274 4 +11 275 4 +11 276 4 +11 277 4 +11 278 4 +11 279 4 +11 280 4 +11 281 4 +11 282 4 +11 283 4 +11 284 4 +11 285 4 +11 286 4 +11 287 4 +11 288 4 +11 289 4 +11 290 4 +11 291 4 +11 292 4 +11 293 4 +11 294 4 +11 295 4 +11 296 4 +11 297 4 +11 298 4 +11 299 4 +11 300 4 +11 301 4 +11 302 4 +11 303 4 +11 304 4 +11 305 4 +11 306 4 +11 307 4 +11 308 4 +11 309 4 +11 310 4 +11 311 4 +11 312 4 +11 313 4 +11 314 4 +11 315 4 +11 316 4 +11 317 4 +11 318 4 +11 319 4 +11 320 4 +11 321 4 +11 322 4 +11 323 4 +11 324 4 +11 325 4 +11 326 4 +11 327 4 +11 328 4 +11 329 4 +11 330 4 +11 331 4 +11 332 4 +11 333 4 +11 334 4 +11 335 4 +11 336 4 +11 337 4 +11 338 4 +11 339 4 +11 340 4 +11 341 4 +11 342 4 +11 343 4 +11 344 4 +11 345 4 +11 346 4 +11 347 4 +11 348 4 +11 349 4 +11 350 0 +11 351 0 +11 352 0 +11 353 0 +11 354 0 +11 355 0 +11 356 0 +11 357 0 +11 358 0 +11 359 0 +11 360 0 +11 361 0 +11 362 0 +11 363 0 +11 364 0 +11 365 0 +11 366 0 +11 367 0 +11 368 0 +11 369 0 +11 370 0 +11 371 0 +11 372 0 +11 373 0 +11 374 0 +11 375 0 +11 376 0 +11 377 0 +11 378 0 +11 379 0 +11 380 0 +11 381 0 +11 382 0 +11 383 0 +12 13 4 +12 14 4 +12 15 4 +12 16 4 +12 17 4 +12 18 4 +12 19 4 +12 20 4 +12 21 4 +12 22 4 +12 23 4 +12 24 4 +12 25 4 +12 26 4 +12 27 4 +12 28 4 +12 29 4 +12 30 4 +12 31 4 +12 32 4 +12 33 4 +12 34 4 +12 35 4 +12 36 4 +12 37 4 +12 38 4 +12 39 4 +12 40 4 +12 41 4 +12 42 4 +12 43 4 +12 44 4 +12 45 4 +12 46 4 +12 47 4 +12 48 4 +12 49 4 +12 50 4 +12 51 4 +12 52 4 +12 53 4 +12 54 4 +12 55 4 +12 56 4 +12 57 4 +12 58 4 +12 59 4 +12 60 4 +12 61 4 +12 62 4 +12 63 4 +12 64 4 +12 65 4 +12 66 4 +12 67 4 +12 68 4 +12 69 4 +12 70 4 +12 71 4 +12 72 4 +12 73 4 +12 74 4 +12 75 4 +12 76 4 +12 77 4 +12 78 4 +12 79 4 +12 80 4 +12 81 4 +12 82 4 +12 83 4 +12 84 4 +12 85 4 +12 86 4 +12 87 4 +12 88 4 +12 89 4 +12 90 4 +12 91 4 +12 92 4 +12 93 4 +12 94 4 +12 95 4 +12 96 4 +12 97 4 +12 98 4 +12 99 4 +12 100 4 +12 101 4 +12 102 4 +12 103 4 +12 104 4 +12 105 4 +12 106 4 +12 107 4 +12 108 4 +12 109 4 +12 110 4 +12 111 4 +12 112 4 +12 113 4 +12 114 4 +12 115 4 +12 116 4 +12 117 4 +12 118 4 +12 119 4 +12 120 4 +12 121 4 +12 122 4 +12 123 4 +12 124 4 +12 125 4 +12 126 4 +12 127 4 +12 128 4 +12 129 4 +12 130 4 +12 131 4 +12 132 4 +12 133 4 +12 134 4 +12 135 4 +12 136 4 +12 137 4 +12 138 4 +12 139 4 +12 140 4 +12 141 4 +12 142 4 +12 143 4 +12 144 4 +12 145 4 +12 146 4 +12 147 4 +12 148 4 +12 149 4 +12 150 4 +12 151 4 +12 152 4 +12 153 4 +12 154 4 +12 155 4 +12 156 4 +12 157 4 +12 158 4 +12 159 4 +12 160 4 +12 161 4 +12 162 4 +12 163 4 +12 164 4 +12 165 4 +12 166 4 +12 167 4 +12 168 4 +12 169 4 +12 170 4 +12 171 4 +12 172 4 +12 173 4 +12 174 4 +12 175 4 +12 176 4 +12 177 4 +12 178 4 +12 179 4 +12 180 4 +12 181 4 +12 182 4 +12 183 4 +12 184 4 +12 185 4 +12 186 4 +12 187 4 +12 188 4 +12 189 4 +12 190 4 +12 191 4 +12 192 4 +12 193 4 +12 194 4 +12 195 4 +12 196 4 +12 197 4 +12 198 4 +12 199 4 +12 200 4 +12 201 4 +12 202 4 +12 203 4 +12 204 4 +12 205 4 +12 206 4 +12 207 4 +12 208 4 +12 209 4 +12 210 4 +12 211 4 +12 212 4 +12 213 4 +12 214 4 +12 215 4 +12 216 4 +12 217 4 +12 218 4 +12 219 4 +12 220 4 +12 221 4 +12 222 4 +12 223 4 +12 224 4 +12 225 4 +12 226 4 +12 227 4 +12 228 4 +12 229 4 +12 230 4 +12 231 4 +12 232 4 +12 233 4 +12 234 4 +12 235 4 +12 236 4 +12 237 4 +12 238 4 +12 239 4 +12 240 4 +12 241 4 +12 242 4 +12 243 4 +12 244 4 +12 245 4 +12 246 4 +12 247 4 +12 248 4 +12 249 4 +12 250 4 +12 251 4 +12 252 4 +12 253 4 +12 254 4 +12 255 4 +12 256 4 +12 257 4 +12 258 4 +12 259 4 +12 260 4 +12 261 4 +12 262 4 +12 263 4 +12 264 4 +12 265 4 +12 266 4 +12 267 4 +12 268 4 +12 269 4 +12 270 4 +12 271 4 +12 272 4 +12 273 4 +12 274 4 +12 275 4 +12 276 4 +12 277 4 +12 278 4 +12 279 4 +12 280 4 +12 281 4 +12 282 4 +12 283 4 +12 284 4 +12 285 4 +12 286 4 +12 287 4 +12 288 4 +12 289 4 +12 290 4 +12 291 4 +12 292 4 +12 293 4 +12 294 4 +12 295 4 +12 296 4 +12 297 4 +12 298 4 +12 299 4 +12 300 4 +12 301 4 +12 302 4 +12 303 4 +12 304 4 +12 305 4 +12 306 4 +12 307 4 +12 308 4 +12 309 4 +12 310 4 +12 311 4 +12 312 4 +12 313 4 +12 314 4 +12 315 4 +12 316 4 +12 317 4 +12 318 4 +12 319 4 +12 320 4 +12 321 4 +12 322 4 +12 323 4 +12 324 4 +12 325 4 +12 326 4 +12 327 4 +12 328 4 +12 329 4 +12 330 4 +12 331 4 +12 332 4 +12 333 4 +12 334 4 +12 335 4 +12 336 4 +12 337 4 +12 338 4 +12 339 4 +12 340 4 +12 341 4 +12 342 4 +12 343 4 +12 344 4 +12 345 4 +12 346 4 +12 347 4 +12 348 4 +12 349 4 +12 350 0 +12 351 0 +12 352 0 +12 353 0 +12 354 0 +12 355 0 +12 356 0 +12 357 0 +12 358 0 +12 359 0 +12 360 0 +12 361 0 +12 362 0 +12 363 0 +12 364 0 +12 365 0 +12 366 0 +12 367 0 +12 368 0 +12 369 0 +12 370 0 +12 371 0 +12 372 0 +12 373 0 +12 374 0 +12 375 0 +12 376 0 +12 377 0 +12 378 0 +12 379 0 +12 380 0 +12 381 0 +12 382 0 +12 383 0 +13 14 4 +13 15 4 +13 16 4 +13 17 4 +13 18 4 +13 19 4 +13 20 4 +13 21 4 +13 22 4 +13 23 4 +13 24 4 +13 25 4 +13 26 4 +13 27 4 +13 28 4 +13 29 4 +13 30 4 +13 31 4 +13 32 4 +13 33 4 +13 34 4 +13 35 4 +13 36 4 +13 37 4 +13 38 4 +13 39 4 +13 40 4 +13 41 4 +13 42 4 +13 43 4 +13 44 4 +13 45 4 +13 46 4 +13 47 4 +13 48 4 +13 49 4 +13 50 4 +13 51 4 +13 52 4 +13 53 4 +13 54 4 +13 55 4 +13 56 4 +13 57 4 +13 58 4 +13 59 4 +13 60 4 +13 61 4 +13 62 4 +13 63 4 +13 64 4 +13 65 4 +13 66 4 +13 67 4 +13 68 4 +13 69 4 +13 70 4 +13 71 4 +13 72 4 +13 73 4 +13 74 4 +13 75 4 +13 76 4 +13 77 4 +13 78 4 +13 79 4 +13 80 4 +13 81 4 +13 82 4 +13 83 4 +13 84 4 +13 85 4 +13 86 4 +13 87 4 +13 88 4 +13 89 4 +13 90 4 +13 91 4 +13 92 4 +13 93 4 +13 94 4 +13 95 4 +13 96 4 +13 97 4 +13 98 4 +13 99 4 +13 100 4 +13 101 4 +13 102 4 +13 103 4 +13 104 4 +13 105 4 +13 106 4 +13 107 4 +13 108 4 +13 109 4 +13 110 4 +13 111 4 +13 112 4 +13 113 4 +13 114 4 +13 115 4 +13 116 4 +13 117 4 +13 118 4 +13 119 4 +13 120 4 +13 121 4 +13 122 4 +13 123 4 +13 124 4 +13 125 4 +13 126 4 +13 127 4 +13 128 4 +13 129 4 +13 130 4 +13 131 4 +13 132 4 +13 133 4 +13 134 4 +13 135 4 +13 136 4 +13 137 4 +13 138 4 +13 139 4 +13 140 4 +13 141 4 +13 142 4 +13 143 4 +13 144 4 +13 145 4 +13 146 4 +13 147 4 +13 148 4 +13 149 4 +13 150 4 +13 151 4 +13 152 4 +13 153 4 +13 154 4 +13 155 4 +13 156 4 +13 157 4 +13 158 4 +13 159 4 +13 160 4 +13 161 4 +13 162 4 +13 163 4 +13 164 4 +13 165 4 +13 166 4 +13 167 4 +13 168 4 +13 169 4 +13 170 4 +13 171 4 +13 172 4 +13 173 4 +13 174 4 +13 175 4 +13 176 4 +13 177 4 +13 178 4 +13 179 4 +13 180 4 +13 181 4 +13 182 4 +13 183 4 +13 184 4 +13 185 4 +13 186 4 +13 187 4 +13 188 4 +13 189 4 +13 190 4 +13 191 4 +13 192 4 +13 193 4 +13 194 4 +13 195 4 +13 196 4 +13 197 4 +13 198 4 +13 199 4 +13 200 4 +13 201 4 +13 202 4 +13 203 4 +13 204 4 +13 205 4 +13 206 4 +13 207 4 +13 208 4 +13 209 4 +13 210 4 +13 211 4 +13 212 4 +13 213 4 +13 214 4 +13 215 4 +13 216 4 +13 217 4 +13 218 4 +13 219 4 +13 220 4 +13 221 4 +13 222 4 +13 223 4 +13 224 4 +13 225 4 +13 226 4 +13 227 4 +13 228 4 +13 229 4 +13 230 4 +13 231 4 +13 232 4 +13 233 4 +13 234 4 +13 235 4 +13 236 4 +13 237 4 +13 238 4 +13 239 4 +13 240 4 +13 241 4 +13 242 4 +13 243 4 +13 244 4 +13 245 4 +13 246 4 +13 247 4 +13 248 4 +13 249 4 +13 250 4 +13 251 4 +13 252 4 +13 253 4 +13 254 4 +13 255 4 +13 256 4 +13 257 4 +13 258 4 +13 259 4 +13 260 4 +13 261 4 +13 262 4 +13 263 4 +13 264 4 +13 265 4 +13 266 4 +13 267 4 +13 268 4 +13 269 4 +13 270 4 +13 271 4 +13 272 4 +13 273 4 +13 274 4 +13 275 4 +13 276 4 +13 277 4 +13 278 4 +13 279 4 +13 280 4 +13 281 4 +13 282 4 +13 283 4 +13 284 4 +13 285 4 +13 286 4 +13 287 4 +13 288 4 +13 289 4 +13 290 4 +13 291 4 +13 292 4 +13 293 4 +13 294 4 +13 295 4 +13 296 4 +13 297 4 +13 298 4 +13 299 4 +13 300 4 +13 301 4 +13 302 4 +13 303 4 +13 304 4 +13 305 4 +13 306 4 +13 307 4 +13 308 4 +13 309 4 +13 310 4 +13 311 4 +13 312 4 +13 313 4 +13 314 4 +13 315 4 +13 316 4 +13 317 4 +13 318 4 +13 319 4 +13 320 4 +13 321 4 +13 322 4 +13 323 4 +13 324 4 +13 325 4 +13 326 4 +13 327 4 +13 328 4 +13 329 4 +13 330 4 +13 331 4 +13 332 4 +13 333 4 +13 334 4 +13 335 4 +13 336 4 +13 337 4 +13 338 4 +13 339 4 +13 340 4 +13 341 4 +13 342 4 +13 343 4 +13 344 4 +13 345 4 +13 346 4 +13 347 4 +13 348 4 +13 349 4 +13 350 0 +13 351 0 +13 352 0 +13 353 0 +13 354 0 +13 355 0 +13 356 0 +13 357 0 +13 358 0 +13 359 0 +13 360 0 +13 361 0 +13 362 0 +13 363 0 +13 364 0 +13 365 0 +13 366 0 +13 367 0 +13 368 0 +13 369 0 +13 370 0 +13 371 0 +13 372 0 +13 373 0 +13 374 0 +13 375 0 +13 376 0 +13 377 0 +13 378 0 +13 379 0 +13 380 0 +13 381 0 +13 382 0 +13 383 0 +14 15 4 +14 16 4 +14 17 4 +14 18 4 +14 19 4 +14 20 4 +14 21 4 +14 22 4 +14 23 4 +14 24 4 +14 25 4 +14 26 4 +14 27 4 +14 28 4 +14 29 4 +14 30 4 +14 31 4 +14 32 4 +14 33 4 +14 34 4 +14 35 4 +14 36 4 +14 37 4 +14 38 4 +14 39 4 +14 40 4 +14 41 4 +14 42 4 +14 43 4 +14 44 4 +14 45 4 +14 46 4 +14 47 4 +14 48 4 +14 49 4 +14 50 4 +14 51 4 +14 52 4 +14 53 4 +14 54 4 +14 55 4 +14 56 4 +14 57 4 +14 58 4 +14 59 4 +14 60 4 +14 61 4 +14 62 4 +14 63 4 +14 64 4 +14 65 4 +14 66 4 +14 67 4 +14 68 4 +14 69 4 +14 70 4 +14 71 4 +14 72 4 +14 73 4 +14 74 4 +14 75 4 +14 76 4 +14 77 4 +14 78 4 +14 79 4 +14 80 4 +14 81 4 +14 82 4 +14 83 4 +14 84 4 +14 85 4 +14 86 4 +14 87 4 +14 88 4 +14 89 4 +14 90 4 +14 91 4 +14 92 4 +14 93 4 +14 94 4 +14 95 4 +14 96 4 +14 97 4 +14 98 4 +14 99 4 +14 100 4 +14 101 4 +14 102 4 +14 103 4 +14 104 4 +14 105 4 +14 106 4 +14 107 4 +14 108 4 +14 109 4 +14 110 4 +14 111 4 +14 112 4 +14 113 4 +14 114 4 +14 115 4 +14 116 4 +14 117 4 +14 118 4 +14 119 4 +14 120 4 +14 121 4 +14 122 4 +14 123 4 +14 124 4 +14 125 4 +14 126 4 +14 127 4 +14 128 4 +14 129 4 +14 130 4 +14 131 4 +14 132 4 +14 133 4 +14 134 4 +14 135 4 +14 136 4 +14 137 4 +14 138 4 +14 139 4 +14 140 4 +14 141 4 +14 142 4 +14 143 4 +14 144 4 +14 145 4 +14 146 4 +14 147 4 +14 148 4 +14 149 4 +14 150 4 +14 151 4 +14 152 4 +14 153 4 +14 154 4 +14 155 4 +14 156 4 +14 157 4 +14 158 4 +14 159 4 +14 160 4 +14 161 4 +14 162 4 +14 163 4 +14 164 4 +14 165 4 +14 166 4 +14 167 4 +14 168 4 +14 169 4 +14 170 4 +14 171 4 +14 172 4 +14 173 4 +14 174 4 +14 175 4 +14 176 4 +14 177 4 +14 178 4 +14 179 4 +14 180 4 +14 181 4 +14 182 4 +14 183 4 +14 184 4 +14 185 4 +14 186 4 +14 187 4 +14 188 4 +14 189 4 +14 190 4 +14 191 4 +14 192 4 +14 193 4 +14 194 4 +14 195 4 +14 196 4 +14 197 4 +14 198 4 +14 199 4 +14 200 4 +14 201 4 +14 202 4 +14 203 4 +14 204 4 +14 205 4 +14 206 4 +14 207 4 +14 208 4 +14 209 4 +14 210 4 +14 211 4 +14 212 4 +14 213 4 +14 214 4 +14 215 4 +14 216 4 +14 217 4 +14 218 4 +14 219 4 +14 220 4 +14 221 4 +14 222 4 +14 223 4 +14 224 4 +14 225 4 +14 226 4 +14 227 4 +14 228 4 +14 229 4 +14 230 4 +14 231 4 +14 232 4 +14 233 4 +14 234 4 +14 235 4 +14 236 4 +14 237 4 +14 238 4 +14 239 4 +14 240 4 +14 241 4 +14 242 4 +14 243 4 +14 244 4 +14 245 4 +14 246 4 +14 247 4 +14 248 4 +14 249 4 +14 250 4 +14 251 4 +14 252 4 +14 253 4 +14 254 4 +14 255 4 +14 256 4 +14 257 4 +14 258 4 +14 259 4 +14 260 4 +14 261 4 +14 262 4 +14 263 4 +14 264 4 +14 265 4 +14 266 4 +14 267 4 +14 268 4 +14 269 4 +14 270 4 +14 271 4 +14 272 4 +14 273 4 +14 274 4 +14 275 4 +14 276 4 +14 277 4 +14 278 4 +14 279 4 +14 280 4 +14 281 4 +14 282 4 +14 283 4 +14 284 4 +14 285 4 +14 286 4 +14 287 4 +14 288 4 +14 289 4 +14 290 4 +14 291 4 +14 292 4 +14 293 4 +14 294 4 +14 295 4 +14 296 4 +14 297 4 +14 298 4 +14 299 4 +14 300 4 +14 301 4 +14 302 4 +14 303 4 +14 304 4 +14 305 4 +14 306 4 +14 307 4 +14 308 4 +14 309 4 +14 310 4 +14 311 4 +14 312 4 +14 313 4 +14 314 4 +14 315 4 +14 316 4 +14 317 4 +14 318 4 +14 319 4 +14 320 4 +14 321 4 +14 322 4 +14 323 4 +14 324 4 +14 325 4 +14 326 4 +14 327 4 +14 328 4 +14 329 4 +14 330 4 +14 331 4 +14 332 4 +14 333 4 +14 334 4 +14 335 4 +14 336 4 +14 337 4 +14 338 4 +14 339 4 +14 340 4 +14 341 4 +14 342 4 +14 343 4 +14 344 4 +14 345 4 +14 346 4 +14 347 4 +14 348 4 +14 349 4 +14 350 0 +14 351 0 +14 352 0 +14 353 0 +14 354 0 +14 355 0 +14 356 0 +14 357 0 +14 358 0 +14 359 0 +14 360 0 +14 361 0 +14 362 0 +14 363 0 +14 364 0 +14 365 0 +14 366 0 +14 367 0 +14 368 0 +14 369 0 +14 370 0 +14 371 0 +14 372 0 +14 373 0 +14 374 0 +14 375 0 +14 376 0 +14 377 0 +14 378 0 +14 379 0 +14 380 0 +14 381 0 +14 382 0 +14 383 0 +15 16 4 +15 17 4 +15 18 4 +15 19 4 +15 20 4 +15 21 4 +15 22 4 +15 23 4 +15 24 4 +15 25 4 +15 26 4 +15 27 4 +15 28 4 +15 29 4 +15 30 4 +15 31 4 +15 32 4 +15 33 4 +15 34 4 +15 35 4 +15 36 4 +15 37 4 +15 38 4 +15 39 4 +15 40 4 +15 41 4 +15 42 4 +15 43 4 +15 44 4 +15 45 4 +15 46 4 +15 47 4 +15 48 4 +15 49 4 +15 50 4 +15 51 4 +15 52 4 +15 53 4 +15 54 4 +15 55 4 +15 56 4 +15 57 4 +15 58 4 +15 59 4 +15 60 4 +15 61 4 +15 62 4 +15 63 4 +15 64 4 +15 65 4 +15 66 4 +15 67 4 +15 68 4 +15 69 4 +15 70 4 +15 71 4 +15 72 4 +15 73 4 +15 74 4 +15 75 4 +15 76 4 +15 77 4 +15 78 4 +15 79 4 +15 80 4 +15 81 4 +15 82 4 +15 83 4 +15 84 4 +15 85 4 +15 86 4 +15 87 4 +15 88 4 +15 89 4 +15 90 4 +15 91 4 +15 92 4 +15 93 4 +15 94 4 +15 95 4 +15 96 4 +15 97 4 +15 98 4 +15 99 4 +15 100 4 +15 101 4 +15 102 4 +15 103 4 +15 104 4 +15 105 4 +15 106 4 +15 107 4 +15 108 4 +15 109 4 +15 110 4 +15 111 4 +15 112 4 +15 113 4 +15 114 4 +15 115 4 +15 116 4 +15 117 4 +15 118 4 +15 119 4 +15 120 4 +15 121 4 +15 122 4 +15 123 4 +15 124 4 +15 125 4 +15 126 4 +15 127 4 +15 128 4 +15 129 4 +15 130 4 +15 131 4 +15 132 4 +15 133 4 +15 134 4 +15 135 4 +15 136 4 +15 137 4 +15 138 4 +15 139 4 +15 140 4 +15 141 4 +15 142 4 +15 143 4 +15 144 4 +15 145 4 +15 146 4 +15 147 4 +15 148 4 +15 149 4 +15 150 4 +15 151 4 +15 152 4 +15 153 4 +15 154 4 +15 155 4 +15 156 4 +15 157 4 +15 158 4 +15 159 4 +15 160 4 +15 161 4 +15 162 4 +15 163 4 +15 164 4 +15 165 4 +15 166 4 +15 167 4 +15 168 4 +15 169 4 +15 170 4 +15 171 4 +15 172 4 +15 173 4 +15 174 4 +15 175 4 +15 176 4 +15 177 4 +15 178 4 +15 179 4 +15 180 4 +15 181 4 +15 182 4 +15 183 4 +15 184 4 +15 185 4 +15 186 4 +15 187 4 +15 188 4 +15 189 4 +15 190 4 +15 191 4 +15 192 4 +15 193 4 +15 194 4 +15 195 4 +15 196 4 +15 197 4 +15 198 4 +15 199 4 +15 200 4 +15 201 4 +15 202 4 +15 203 4 +15 204 4 +15 205 4 +15 206 4 +15 207 4 +15 208 4 +15 209 4 +15 210 4 +15 211 4 +15 212 4 +15 213 4 +15 214 4 +15 215 4 +15 216 4 +15 217 4 +15 218 4 +15 219 4 +15 220 4 +15 221 4 +15 222 4 +15 223 4 +15 224 4 +15 225 4 +15 226 4 +15 227 4 +15 228 4 +15 229 4 +15 230 4 +15 231 4 +15 232 4 +15 233 4 +15 234 4 +15 235 4 +15 236 4 +15 237 4 +15 238 4 +15 239 4 +15 240 4 +15 241 4 +15 242 4 +15 243 4 +15 244 4 +15 245 4 +15 246 4 +15 247 4 +15 248 4 +15 249 4 +15 250 4 +15 251 4 +15 252 4 +15 253 4 +15 254 4 +15 255 4 +15 256 4 +15 257 4 +15 258 4 +15 259 4 +15 260 4 +15 261 4 +15 262 4 +15 263 4 +15 264 4 +15 265 4 +15 266 4 +15 267 4 +15 268 4 +15 269 4 +15 270 4 +15 271 4 +15 272 4 +15 273 4 +15 274 4 +15 275 4 +15 276 4 +15 277 4 +15 278 4 +15 279 4 +15 280 4 +15 281 4 +15 282 4 +15 283 4 +15 284 4 +15 285 4 +15 286 4 +15 287 4 +15 288 4 +15 289 4 +15 290 4 +15 291 4 +15 292 4 +15 293 4 +15 294 4 +15 295 4 +15 296 4 +15 297 4 +15 298 4 +15 299 4 +15 300 4 +15 301 4 +15 302 4 +15 303 4 +15 304 4 +15 305 4 +15 306 4 +15 307 4 +15 308 4 +15 309 4 +15 310 4 +15 311 4 +15 312 4 +15 313 4 +15 314 4 +15 315 4 +15 316 4 +15 317 4 +15 318 4 +15 319 4 +15 320 4 +15 321 4 +15 322 4 +15 323 4 +15 324 4 +15 325 4 +15 326 4 +15 327 4 +15 328 4 +15 329 4 +15 330 4 +15 331 4 +15 332 4 +15 333 4 +15 334 4 +15 335 4 +15 336 4 +15 337 4 +15 338 4 +15 339 4 +15 340 4 +15 341 4 +15 342 4 +15 343 4 +15 344 4 +15 345 4 +15 346 4 +15 347 4 +15 348 4 +15 349 4 +15 350 0 +15 351 0 +15 352 0 +15 353 0 +15 354 0 +15 355 0 +15 356 0 +15 357 0 +15 358 0 +15 359 0 +15 360 0 +15 361 0 +15 362 0 +15 363 0 +15 364 0 +15 365 0 +15 366 0 +15 367 0 +15 368 0 +15 369 0 +15 370 0 +15 371 0 +15 372 0 +15 373 0 +15 374 0 +15 375 0 +15 376 0 +15 377 0 +15 378 0 +15 379 0 +15 380 0 +15 381 0 +15 382 0 +15 383 0 +16 17 4 +16 18 4 +16 19 4 +16 20 4 +16 21 4 +16 22 4 +16 23 4 +16 24 4 +16 25 4 +16 26 4 +16 27 4 +16 28 4 +16 29 4 +16 30 4 +16 31 4 +16 32 4 +16 33 4 +16 34 4 +16 35 4 +16 36 4 +16 37 4 +16 38 4 +16 39 4 +16 40 4 +16 41 4 +16 42 4 +16 43 4 +16 44 4 +16 45 4 +16 46 4 +16 47 4 +16 48 4 +16 49 4 +16 50 4 +16 51 4 +16 52 4 +16 53 4 +16 54 4 +16 55 4 +16 56 4 +16 57 4 +16 58 4 +16 59 4 +16 60 4 +16 61 4 +16 62 4 +16 63 4 +16 64 4 +16 65 4 +16 66 4 +16 67 4 +16 68 4 +16 69 4 +16 70 4 +16 71 4 +16 72 4 +16 73 4 +16 74 4 +16 75 4 +16 76 4 +16 77 4 +16 78 4 +16 79 4 +16 80 4 +16 81 4 +16 82 4 +16 83 4 +16 84 4 +16 85 4 +16 86 4 +16 87 4 +16 88 4 +16 89 4 +16 90 4 +16 91 4 +16 92 4 +16 93 4 +16 94 4 +16 95 4 +16 96 4 +16 97 4 +16 98 4 +16 99 4 +16 100 4 +16 101 4 +16 102 4 +16 103 4 +16 104 4 +16 105 4 +16 106 4 +16 107 4 +16 108 4 +16 109 4 +16 110 4 +16 111 4 +16 112 4 +16 113 4 +16 114 4 +16 115 4 +16 116 4 +16 117 4 +16 118 4 +16 119 4 +16 120 4 +16 121 4 +16 122 4 +16 123 4 +16 124 4 +16 125 4 +16 126 4 +16 127 4 +16 128 4 +16 129 4 +16 130 4 +16 131 4 +16 132 4 +16 133 4 +16 134 4 +16 135 4 +16 136 4 +16 137 4 +16 138 4 +16 139 4 +16 140 4 +16 141 4 +16 142 4 +16 143 4 +16 144 4 +16 145 4 +16 146 4 +16 147 4 +16 148 4 +16 149 4 +16 150 4 +16 151 4 +16 152 4 +16 153 4 +16 154 4 +16 155 4 +16 156 4 +16 157 4 +16 158 4 +16 159 4 +16 160 4 +16 161 4 +16 162 4 +16 163 4 +16 164 4 +16 165 4 +16 166 4 +16 167 4 +16 168 4 +16 169 4 +16 170 4 +16 171 4 +16 172 4 +16 173 4 +16 174 4 +16 175 4 +16 176 4 +16 177 4 +16 178 4 +16 179 4 +16 180 4 +16 181 4 +16 182 4 +16 183 4 +16 184 4 +16 185 4 +16 186 4 +16 187 4 +16 188 4 +16 189 4 +16 190 4 +16 191 4 +16 192 4 +16 193 4 +16 194 4 +16 195 4 +16 196 4 +16 197 4 +16 198 4 +16 199 4 +16 200 4 +16 201 4 +16 202 4 +16 203 4 +16 204 4 +16 205 4 +16 206 4 +16 207 4 +16 208 4 +16 209 4 +16 210 4 +16 211 4 +16 212 4 +16 213 4 +16 214 4 +16 215 4 +16 216 4 +16 217 4 +16 218 4 +16 219 4 +16 220 4 +16 221 4 +16 222 4 +16 223 4 +16 224 4 +16 225 4 +16 226 4 +16 227 4 +16 228 4 +16 229 4 +16 230 4 +16 231 4 +16 232 4 +16 233 4 +16 234 4 +16 235 4 +16 236 4 +16 237 4 +16 238 4 +16 239 4 +16 240 4 +16 241 4 +16 242 4 +16 243 4 +16 244 4 +16 245 4 +16 246 4 +16 247 4 +16 248 4 +16 249 4 +16 250 4 +16 251 4 +16 252 4 +16 253 4 +16 254 4 +16 255 4 +16 256 4 +16 257 4 +16 258 4 +16 259 4 +16 260 4 +16 261 4 +16 262 4 +16 263 4 +16 264 4 +16 265 4 +16 266 4 +16 267 4 +16 268 4 +16 269 4 +16 270 4 +16 271 4 +16 272 4 +16 273 4 +16 274 4 +16 275 4 +16 276 4 +16 277 4 +16 278 4 +16 279 4 +16 280 4 +16 281 4 +16 282 4 +16 283 4 +16 284 4 +16 285 4 +16 286 4 +16 287 4 +16 288 4 +16 289 4 +16 290 4 +16 291 4 +16 292 4 +16 293 4 +16 294 4 +16 295 4 +16 296 4 +16 297 4 +16 298 4 +16 299 4 +16 300 4 +16 301 4 +16 302 4 +16 303 4 +16 304 4 +16 305 4 +16 306 4 +16 307 4 +16 308 4 +16 309 4 +16 310 4 +16 311 4 +16 312 4 +16 313 4 +16 314 4 +16 315 4 +16 316 4 +16 317 4 +16 318 4 +16 319 4 +16 320 4 +16 321 4 +16 322 4 +16 323 4 +16 324 4 +16 325 4 +16 326 4 +16 327 4 +16 328 4 +16 329 4 +16 330 4 +16 331 4 +16 332 4 +16 333 4 +16 334 4 +16 335 4 +16 336 4 +16 337 4 +16 338 4 +16 339 4 +16 340 4 +16 341 4 +16 342 4 +16 343 4 +16 344 4 +16 345 4 +16 346 4 +16 347 4 +16 348 4 +16 349 4 +16 350 0 +16 351 0 +16 352 0 +16 353 0 +16 354 0 +16 355 0 +16 356 0 +16 357 0 +16 358 0 +16 359 0 +16 360 0 +16 361 0 +16 362 0 +16 363 0 +16 364 0 +16 365 0 +16 366 0 +16 367 0 +16 368 0 +16 369 0 +16 370 0 +16 371 0 +16 372 0 +16 373 0 +16 374 0 +16 375 0 +16 376 0 +16 377 0 +16 378 0 +16 379 0 +16 380 0 +16 381 0 +16 382 0 +16 383 0 +17 18 4 +17 19 4 +17 20 4 +17 21 4 +17 22 4 +17 23 4 +17 24 4 +17 25 4 +17 26 4 +17 27 4 +17 28 4 +17 29 4 +17 30 4 +17 31 4 +17 32 4 +17 33 4 +17 34 4 +17 35 4 +17 36 4 +17 37 4 +17 38 4 +17 39 4 +17 40 4 +17 41 4 +17 42 4 +17 43 4 +17 44 4 +17 45 4 +17 46 4 +17 47 4 +17 48 4 +17 49 4 +17 50 4 +17 51 4 +17 52 4 +17 53 4 +17 54 4 +17 55 4 +17 56 4 +17 57 4 +17 58 4 +17 59 4 +17 60 4 +17 61 4 +17 62 4 +17 63 4 +17 64 4 +17 65 4 +17 66 4 +17 67 4 +17 68 4 +17 69 4 +17 70 4 +17 71 4 +17 72 4 +17 73 4 +17 74 4 +17 75 4 +17 76 4 +17 77 4 +17 78 4 +17 79 4 +17 80 4 +17 81 4 +17 82 4 +17 83 4 +17 84 4 +17 85 4 +17 86 4 +17 87 4 +17 88 4 +17 89 4 +17 90 4 +17 91 4 +17 92 4 +17 93 4 +17 94 4 +17 95 4 +17 96 4 +17 97 4 +17 98 4 +17 99 4 +17 100 4 +17 101 4 +17 102 4 +17 103 4 +17 104 4 +17 105 4 +17 106 4 +17 107 4 +17 108 4 +17 109 4 +17 110 4 +17 111 4 +17 112 4 +17 113 4 +17 114 4 +17 115 4 +17 116 4 +17 117 4 +17 118 4 +17 119 4 +17 120 4 +17 121 4 +17 122 4 +17 123 4 +17 124 4 +17 125 4 +17 126 4 +17 127 4 +17 128 4 +17 129 4 +17 130 4 +17 131 4 +17 132 4 +17 133 4 +17 134 4 +17 135 4 +17 136 4 +17 137 4 +17 138 4 +17 139 4 +17 140 4 +17 141 4 +17 142 4 +17 143 4 +17 144 4 +17 145 4 +17 146 4 +17 147 4 +17 148 4 +17 149 4 +17 150 4 +17 151 4 +17 152 4 +17 153 4 +17 154 4 +17 155 4 +17 156 4 +17 157 4 +17 158 4 +17 159 4 +17 160 4 +17 161 4 +17 162 4 +17 163 4 +17 164 4 +17 165 4 +17 166 4 +17 167 4 +17 168 4 +17 169 4 +17 170 4 +17 171 4 +17 172 4 +17 173 4 +17 174 4 +17 175 4 +17 176 4 +17 177 4 +17 178 4 +17 179 4 +17 180 4 +17 181 4 +17 182 4 +17 183 4 +17 184 4 +17 185 4 +17 186 4 +17 187 4 +17 188 4 +17 189 4 +17 190 4 +17 191 4 +17 192 4 +17 193 4 +17 194 4 +17 195 4 +17 196 4 +17 197 4 +17 198 4 +17 199 4 +17 200 4 +17 201 4 +17 202 4 +17 203 4 +17 204 4 +17 205 4 +17 206 4 +17 207 4 +17 208 4 +17 209 4 +17 210 4 +17 211 4 +17 212 4 +17 213 4 +17 214 4 +17 215 4 +17 216 4 +17 217 4 +17 218 4 +17 219 4 +17 220 4 +17 221 4 +17 222 4 +17 223 4 +17 224 4 +17 225 4 +17 226 4 +17 227 4 +17 228 4 +17 229 4 +17 230 4 +17 231 4 +17 232 4 +17 233 4 +17 234 4 +17 235 4 +17 236 4 +17 237 4 +17 238 4 +17 239 4 +17 240 4 +17 241 4 +17 242 4 +17 243 4 +17 244 4 +17 245 4 +17 246 4 +17 247 4 +17 248 4 +17 249 4 +17 250 4 +17 251 4 +17 252 4 +17 253 4 +17 254 4 +17 255 4 +17 256 4 +17 257 4 +17 258 4 +17 259 4 +17 260 4 +17 261 4 +17 262 4 +17 263 4 +17 264 4 +17 265 4 +17 266 4 +17 267 4 +17 268 4 +17 269 4 +17 270 4 +17 271 4 +17 272 4 +17 273 4 +17 274 4 +17 275 4 +17 276 4 +17 277 4 +17 278 4 +17 279 4 +17 280 4 +17 281 4 +17 282 4 +17 283 4 +17 284 4 +17 285 4 +17 286 4 +17 287 4 +17 288 4 +17 289 4 +17 290 4 +17 291 4 +17 292 4 +17 293 4 +17 294 4 +17 295 4 +17 296 4 +17 297 4 +17 298 4 +17 299 4 +17 300 4 +17 301 4 +17 302 4 +17 303 4 +17 304 4 +17 305 4 +17 306 4 +17 307 4 +17 308 4 +17 309 4 +17 310 4 +17 311 4 +17 312 4 +17 313 4 +17 314 4 +17 315 4 +17 316 4 +17 317 4 +17 318 4 +17 319 4 +17 320 4 +17 321 4 +17 322 4 +17 323 4 +17 324 4 +17 325 4 +17 326 4 +17 327 4 +17 328 4 +17 329 4 +17 330 4 +17 331 4 +17 332 4 +17 333 4 +17 334 4 +17 335 4 +17 336 4 +17 337 4 +17 338 4 +17 339 4 +17 340 4 +17 341 4 +17 342 4 +17 343 4 +17 344 4 +17 345 4 +17 346 4 +17 347 4 +17 348 4 +17 349 4 +17 350 0 +17 351 0 +17 352 0 +17 353 0 +17 354 0 +17 355 0 +17 356 0 +17 357 0 +17 358 0 +17 359 0 +17 360 0 +17 361 0 +17 362 0 +17 363 0 +17 364 0 +17 365 0 +17 366 0 +17 367 0 +17 368 0 +17 369 0 +17 370 0 +17 371 0 +17 372 0 +17 373 0 +17 374 0 +17 375 0 +17 376 0 +17 377 0 +17 378 0 +17 379 0 +17 380 0 +17 381 0 +17 382 0 +17 383 0 +18 19 4 +18 20 4 +18 21 4 +18 22 4 +18 23 4 +18 24 4 +18 25 4 +18 26 4 +18 27 4 +18 28 4 +18 29 4 +18 30 4 +18 31 4 +18 32 4 +18 33 4 +18 34 4 +18 35 4 +18 36 4 +18 37 4 +18 38 4 +18 39 4 +18 40 4 +18 41 4 +18 42 4 +18 43 4 +18 44 4 +18 45 4 +18 46 4 +18 47 4 +18 48 4 +18 49 4 +18 50 4 +18 51 4 +18 52 4 +18 53 4 +18 54 4 +18 55 4 +18 56 4 +18 57 4 +18 58 4 +18 59 4 +18 60 4 +18 61 4 +18 62 4 +18 63 4 +18 64 4 +18 65 4 +18 66 4 +18 67 4 +18 68 4 +18 69 4 +18 70 4 +18 71 4 +18 72 4 +18 73 4 +18 74 4 +18 75 4 +18 76 4 +18 77 4 +18 78 4 +18 79 4 +18 80 4 +18 81 4 +18 82 4 +18 83 4 +18 84 4 +18 85 4 +18 86 4 +18 87 4 +18 88 4 +18 89 4 +18 90 4 +18 91 4 +18 92 4 +18 93 4 +18 94 4 +18 95 4 +18 96 4 +18 97 4 +18 98 4 +18 99 4 +18 100 4 +18 101 4 +18 102 4 +18 103 4 +18 104 4 +18 105 4 +18 106 4 +18 107 4 +18 108 4 +18 109 4 +18 110 4 +18 111 4 +18 112 4 +18 113 4 +18 114 4 +18 115 4 +18 116 4 +18 117 4 +18 118 4 +18 119 4 +18 120 4 +18 121 4 +18 122 4 +18 123 4 +18 124 4 +18 125 4 +18 126 4 +18 127 4 +18 128 4 +18 129 4 +18 130 4 +18 131 4 +18 132 4 +18 133 4 +18 134 4 +18 135 4 +18 136 4 +18 137 4 +18 138 4 +18 139 4 +18 140 4 +18 141 4 +18 142 4 +18 143 4 +18 144 4 +18 145 4 +18 146 4 +18 147 4 +18 148 4 +18 149 4 +18 150 4 +18 151 4 +18 152 4 +18 153 4 +18 154 4 +18 155 4 +18 156 4 +18 157 4 +18 158 4 +18 159 4 +18 160 4 +18 161 4 +18 162 4 +18 163 4 +18 164 4 +18 165 4 +18 166 4 +18 167 4 +18 168 4 +18 169 4 +18 170 4 +18 171 4 +18 172 4 +18 173 4 +18 174 4 +18 175 4 +18 176 4 +18 177 4 +18 178 4 +18 179 4 +18 180 4 +18 181 4 +18 182 4 +18 183 4 +18 184 4 +18 185 4 +18 186 4 +18 187 4 +18 188 4 +18 189 4 +18 190 4 +18 191 4 +18 192 4 +18 193 4 +18 194 4 +18 195 4 +18 196 4 +18 197 4 +18 198 4 +18 199 4 +18 200 4 +18 201 4 +18 202 4 +18 203 4 +18 204 4 +18 205 4 +18 206 4 +18 207 4 +18 208 4 +18 209 4 +18 210 4 +18 211 4 +18 212 4 +18 213 4 +18 214 4 +18 215 4 +18 216 4 +18 217 4 +18 218 4 +18 219 4 +18 220 4 +18 221 4 +18 222 4 +18 223 4 +18 224 4 +18 225 4 +18 226 4 +18 227 4 +18 228 4 +18 229 4 +18 230 4 +18 231 4 +18 232 4 +18 233 4 +18 234 4 +18 235 4 +18 236 4 +18 237 4 +18 238 4 +18 239 4 +18 240 4 +18 241 4 +18 242 4 +18 243 4 +18 244 4 +18 245 4 +18 246 4 +18 247 4 +18 248 4 +18 249 4 +18 250 4 +18 251 4 +18 252 4 +18 253 4 +18 254 4 +18 255 4 +18 256 4 +18 257 4 +18 258 4 +18 259 4 +18 260 4 +18 261 4 +18 262 4 +18 263 4 +18 264 4 +18 265 4 +18 266 4 +18 267 4 +18 268 4 +18 269 4 +18 270 4 +18 271 4 +18 272 4 +18 273 4 +18 274 4 +18 275 4 +18 276 4 +18 277 4 +18 278 4 +18 279 4 +18 280 4 +18 281 4 +18 282 4 +18 283 4 +18 284 4 +18 285 4 +18 286 4 +18 287 4 +18 288 4 +18 289 4 +18 290 4 +18 291 4 +18 292 4 +18 293 4 +18 294 4 +18 295 4 +18 296 4 +18 297 4 +18 298 4 +18 299 4 +18 300 4 +18 301 4 +18 302 4 +18 303 4 +18 304 4 +18 305 4 +18 306 4 +18 307 4 +18 308 4 +18 309 4 +18 310 4 +18 311 4 +18 312 4 +18 313 4 +18 314 4 +18 315 4 +18 316 4 +18 317 4 +18 318 4 +18 319 4 +18 320 4 +18 321 4 +18 322 4 +18 323 4 +18 324 4 +18 325 4 +18 326 4 +18 327 4 +18 328 4 +18 329 4 +18 330 4 +18 331 4 +18 332 4 +18 333 4 +18 334 4 +18 335 4 +18 336 4 +18 337 4 +18 338 4 +18 339 4 +18 340 4 +18 341 4 +18 342 4 +18 343 4 +18 344 4 +18 345 4 +18 346 4 +18 347 4 +18 348 4 +18 349 4 +18 350 0 +18 351 0 +18 352 0 +18 353 0 +18 354 0 +18 355 0 +18 356 0 +18 357 0 +18 358 0 +18 359 0 +18 360 0 +18 361 0 +18 362 0 +18 363 0 +18 364 0 +18 365 0 +18 366 0 +18 367 0 +18 368 0 +18 369 0 +18 370 0 +18 371 0 +18 372 0 +18 373 0 +18 374 0 +18 375 0 +18 376 0 +18 377 0 +18 378 0 +18 379 0 +18 380 0 +18 381 0 +18 382 0 +18 383 0 +19 20 4 +19 21 4 +19 22 4 +19 23 4 +19 24 4 +19 25 4 +19 26 4 +19 27 4 +19 28 4 +19 29 4 +19 30 4 +19 31 4 +19 32 4 +19 33 4 +19 34 4 +19 35 4 +19 36 4 +19 37 4 +19 38 4 +19 39 4 +19 40 4 +19 41 4 +19 42 4 +19 43 4 +19 44 4 +19 45 4 +19 46 4 +19 47 4 +19 48 4 +19 49 4 +19 50 4 +19 51 4 +19 52 4 +19 53 4 +19 54 4 +19 55 4 +19 56 4 +19 57 4 +19 58 4 +19 59 4 +19 60 4 +19 61 4 +19 62 4 +19 63 4 +19 64 4 +19 65 4 +19 66 4 +19 67 4 +19 68 4 +19 69 4 +19 70 4 +19 71 4 +19 72 4 +19 73 4 +19 74 4 +19 75 4 +19 76 4 +19 77 4 +19 78 4 +19 79 4 +19 80 4 +19 81 4 +19 82 4 +19 83 4 +19 84 4 +19 85 4 +19 86 4 +19 87 4 +19 88 4 +19 89 4 +19 90 4 +19 91 4 +19 92 4 +19 93 4 +19 94 4 +19 95 4 +19 96 4 +19 97 4 +19 98 4 +19 99 4 +19 100 4 +19 101 4 +19 102 4 +19 103 4 +19 104 4 +19 105 4 +19 106 4 +19 107 4 +19 108 4 +19 109 4 +19 110 4 +19 111 4 +19 112 4 +19 113 4 +19 114 4 +19 115 4 +19 116 4 +19 117 4 +19 118 4 +19 119 4 +19 120 4 +19 121 4 +19 122 4 +19 123 4 +19 124 4 +19 125 4 +19 126 4 +19 127 4 +19 128 4 +19 129 4 +19 130 4 +19 131 4 +19 132 4 +19 133 4 +19 134 4 +19 135 4 +19 136 4 +19 137 4 +19 138 4 +19 139 4 +19 140 4 +19 141 4 +19 142 4 +19 143 4 +19 144 4 +19 145 4 +19 146 4 +19 147 4 +19 148 4 +19 149 4 +19 150 4 +19 151 4 +19 152 4 +19 153 4 +19 154 4 +19 155 4 +19 156 4 +19 157 4 +19 158 4 +19 159 4 +19 160 4 +19 161 4 +19 162 4 +19 163 4 +19 164 4 +19 165 4 +19 166 4 +19 167 4 +19 168 4 +19 169 4 +19 170 4 +19 171 4 +19 172 4 +19 173 4 +19 174 4 +19 175 4 +19 176 4 +19 177 4 +19 178 4 +19 179 4 +19 180 4 +19 181 4 +19 182 4 +19 183 4 +19 184 4 +19 185 4 +19 186 4 +19 187 4 +19 188 4 +19 189 4 +19 190 4 +19 191 4 +19 192 4 +19 193 4 +19 194 4 +19 195 4 +19 196 4 +19 197 4 +19 198 4 +19 199 4 +19 200 4 +19 201 4 +19 202 4 +19 203 4 +19 204 4 +19 205 4 +19 206 4 +19 207 4 +19 208 4 +19 209 4 +19 210 4 +19 211 4 +19 212 4 +19 213 4 +19 214 4 +19 215 4 +19 216 4 +19 217 4 +19 218 4 +19 219 4 +19 220 4 +19 221 4 +19 222 4 +19 223 4 +19 224 4 +19 225 4 +19 226 4 +19 227 4 +19 228 4 +19 229 4 +19 230 4 +19 231 4 +19 232 4 +19 233 4 +19 234 4 +19 235 4 +19 236 4 +19 237 4 +19 238 4 +19 239 4 +19 240 4 +19 241 4 +19 242 4 +19 243 4 +19 244 4 +19 245 4 +19 246 4 +19 247 4 +19 248 4 +19 249 4 +19 250 4 +19 251 4 +19 252 4 +19 253 4 +19 254 4 +19 255 4 +19 256 4 +19 257 4 +19 258 4 +19 259 4 +19 260 4 +19 261 4 +19 262 4 +19 263 4 +19 264 4 +19 265 4 +19 266 4 +19 267 4 +19 268 4 +19 269 4 +19 270 4 +19 271 4 +19 272 4 +19 273 4 +19 274 4 +19 275 4 +19 276 4 +19 277 4 +19 278 4 +19 279 4 +19 280 4 +19 281 4 +19 282 4 +19 283 4 +19 284 4 +19 285 4 +19 286 4 +19 287 4 +19 288 4 +19 289 4 +19 290 4 +19 291 4 +19 292 4 +19 293 4 +19 294 4 +19 295 4 +19 296 4 +19 297 4 +19 298 4 +19 299 4 +19 300 4 +19 301 4 +19 302 4 +19 303 4 +19 304 4 +19 305 4 +19 306 4 +19 307 4 +19 308 4 +19 309 4 +19 310 4 +19 311 4 +19 312 4 +19 313 4 +19 314 4 +19 315 4 +19 316 4 +19 317 4 +19 318 4 +19 319 4 +19 320 4 +19 321 4 +19 322 4 +19 323 4 +19 324 4 +19 325 4 +19 326 4 +19 327 4 +19 328 4 +19 329 4 +19 330 4 +19 331 4 +19 332 4 +19 333 4 +19 334 4 +19 335 4 +19 336 4 +19 337 4 +19 338 4 +19 339 4 +19 340 4 +19 341 4 +19 342 4 +19 343 4 +19 344 4 +19 345 4 +19 346 4 +19 347 4 +19 348 4 +19 349 4 +19 350 0 +19 351 0 +19 352 0 +19 353 0 +19 354 0 +19 355 0 +19 356 0 +19 357 0 +19 358 0 +19 359 0 +19 360 0 +19 361 0 +19 362 0 +19 363 0 +19 364 0 +19 365 0 +19 366 0 +19 367 0 +19 368 0 +19 369 0 +19 370 0 +19 371 0 +19 372 0 +19 373 0 +19 374 0 +19 375 0 +19 376 0 +19 377 0 +19 378 0 +19 379 0 +19 380 0 +19 381 0 +19 382 0 +19 383 0 +20 21 4 +20 22 4 +20 23 4 +20 24 4 +20 25 4 +20 26 4 +20 27 4 +20 28 4 +20 29 4 +20 30 4 +20 31 4 +20 32 4 +20 33 4 +20 34 4 +20 35 4 +20 36 4 +20 37 4 +20 38 4 +20 39 4 +20 40 4 +20 41 4 +20 42 4 +20 43 4 +20 44 4 +20 45 4 +20 46 4 +20 47 4 +20 48 4 +20 49 4 +20 50 4 +20 51 4 +20 52 4 +20 53 4 +20 54 4 +20 55 4 +20 56 4 +20 57 4 +20 58 4 +20 59 4 +20 60 4 +20 61 4 +20 62 4 +20 63 4 +20 64 4 +20 65 4 +20 66 4 +20 67 4 +20 68 4 +20 69 4 +20 70 4 +20 71 4 +20 72 4 +20 73 4 +20 74 4 +20 75 4 +20 76 4 +20 77 4 +20 78 4 +20 79 4 +20 80 4 +20 81 4 +20 82 4 +20 83 4 +20 84 4 +20 85 4 +20 86 4 +20 87 4 +20 88 4 +20 89 4 +20 90 4 +20 91 4 +20 92 4 +20 93 4 +20 94 4 +20 95 4 +20 96 4 +20 97 4 +20 98 4 +20 99 4 +20 100 4 +20 101 4 +20 102 4 +20 103 4 +20 104 4 +20 105 4 +20 106 4 +20 107 4 +20 108 4 +20 109 4 +20 110 4 +20 111 4 +20 112 4 +20 113 4 +20 114 4 +20 115 4 +20 116 4 +20 117 4 +20 118 4 +20 119 4 +20 120 4 +20 121 4 +20 122 4 +20 123 4 +20 124 4 +20 125 4 +20 126 4 +20 127 4 +20 128 4 +20 129 4 +20 130 4 +20 131 4 +20 132 4 +20 133 4 +20 134 4 +20 135 4 +20 136 4 +20 137 4 +20 138 4 +20 139 4 +20 140 4 +20 141 4 +20 142 4 +20 143 4 +20 144 4 +20 145 4 +20 146 4 +20 147 4 +20 148 4 +20 149 4 +20 150 4 +20 151 4 +20 152 4 +20 153 4 +20 154 4 +20 155 4 +20 156 4 +20 157 4 +20 158 4 +20 159 4 +20 160 4 +20 161 4 +20 162 4 +20 163 4 +20 164 4 +20 165 4 +20 166 4 +20 167 4 +20 168 4 +20 169 4 +20 170 4 +20 171 4 +20 172 4 +20 173 4 +20 174 4 +20 175 4 +20 176 4 +20 177 4 +20 178 4 +20 179 4 +20 180 4 +20 181 4 +20 182 4 +20 183 4 +20 184 4 +20 185 4 +20 186 4 +20 187 4 +20 188 4 +20 189 4 +20 190 4 +20 191 4 +20 192 4 +20 193 4 +20 194 4 +20 195 4 +20 196 4 +20 197 4 +20 198 4 +20 199 4 +20 200 4 +20 201 4 +20 202 4 +20 203 4 +20 204 4 +20 205 4 +20 206 4 +20 207 4 +20 208 4 +20 209 4 +20 210 4 +20 211 4 +20 212 4 +20 213 4 +20 214 4 +20 215 4 +20 216 4 +20 217 4 +20 218 4 +20 219 4 +20 220 4 +20 221 4 +20 222 4 +20 223 4 +20 224 4 +20 225 4 +20 226 4 +20 227 4 +20 228 4 +20 229 4 +20 230 4 +20 231 4 +20 232 4 +20 233 4 +20 234 4 +20 235 4 +20 236 4 +20 237 4 +20 238 4 +20 239 4 +20 240 4 +20 241 4 +20 242 4 +20 243 4 +20 244 4 +20 245 4 +20 246 4 +20 247 4 +20 248 4 +20 249 4 +20 250 4 +20 251 4 +20 252 4 +20 253 4 +20 254 4 +20 255 4 +20 256 4 +20 257 4 +20 258 4 +20 259 4 +20 260 4 +20 261 4 +20 262 4 +20 263 4 +20 264 4 +20 265 4 +20 266 4 +20 267 4 +20 268 4 +20 269 4 +20 270 4 +20 271 4 +20 272 4 +20 273 4 +20 274 4 +20 275 4 +20 276 4 +20 277 4 +20 278 4 +20 279 4 +20 280 4 +20 281 4 +20 282 4 +20 283 4 +20 284 4 +20 285 4 +20 286 4 +20 287 4 +20 288 4 +20 289 4 +20 290 4 +20 291 4 +20 292 4 +20 293 4 +20 294 4 +20 295 4 +20 296 4 +20 297 4 +20 298 4 +20 299 4 +20 300 4 +20 301 4 +20 302 4 +20 303 4 +20 304 4 +20 305 4 +20 306 4 +20 307 4 +20 308 4 +20 309 4 +20 310 4 +20 311 4 +20 312 4 +20 313 4 +20 314 4 +20 315 4 +20 316 4 +20 317 4 +20 318 4 +20 319 4 +20 320 4 +20 321 4 +20 322 4 +20 323 4 +20 324 4 +20 325 4 +20 326 4 +20 327 4 +20 328 4 +20 329 4 +20 330 4 +20 331 4 +20 332 4 +20 333 4 +20 334 4 +20 335 4 +20 336 4 +20 337 4 +20 338 4 +20 339 4 +20 340 4 +20 341 4 +20 342 4 +20 343 4 +20 344 4 +20 345 4 +20 346 4 +20 347 4 +20 348 4 +20 349 4 +20 350 0 +20 351 0 +20 352 0 +20 353 0 +20 354 0 +20 355 0 +20 356 0 +20 357 0 +20 358 0 +20 359 0 +20 360 0 +20 361 0 +20 362 0 +20 363 0 +20 364 0 +20 365 0 +20 366 0 +20 367 0 +20 368 0 +20 369 0 +20 370 0 +20 371 0 +20 372 0 +20 373 0 +20 374 0 +20 375 0 +20 376 0 +20 377 0 +20 378 0 +20 379 0 +20 380 0 +20 381 0 +20 382 0 +20 383 0 +21 22 4 +21 23 4 +21 24 4 +21 25 4 +21 26 4 +21 27 4 +21 28 4 +21 29 4 +21 30 4 +21 31 4 +21 32 4 +21 33 4 +21 34 4 +21 35 4 +21 36 4 +21 37 4 +21 38 4 +21 39 4 +21 40 4 +21 41 4 +21 42 4 +21 43 4 +21 44 4 +21 45 4 +21 46 4 +21 47 4 +21 48 4 +21 49 4 +21 50 4 +21 51 4 +21 52 4 +21 53 4 +21 54 4 +21 55 4 +21 56 4 +21 57 4 +21 58 4 +21 59 4 +21 60 4 +21 61 4 +21 62 4 +21 63 4 +21 64 4 +21 65 4 +21 66 4 +21 67 4 +21 68 4 +21 69 4 +21 70 4 +21 71 4 +21 72 4 +21 73 4 +21 74 4 +21 75 4 +21 76 4 +21 77 4 +21 78 4 +21 79 4 +21 80 4 +21 81 4 +21 82 4 +21 83 4 +21 84 4 +21 85 4 +21 86 4 +21 87 4 +21 88 4 +21 89 4 +21 90 4 +21 91 4 +21 92 4 +21 93 4 +21 94 4 +21 95 4 +21 96 4 +21 97 4 +21 98 4 +21 99 4 +21 100 4 +21 101 4 +21 102 4 +21 103 4 +21 104 4 +21 105 4 +21 106 4 +21 107 4 +21 108 4 +21 109 4 +21 110 4 +21 111 4 +21 112 4 +21 113 4 +21 114 4 +21 115 4 +21 116 4 +21 117 4 +21 118 4 +21 119 4 +21 120 4 +21 121 4 +21 122 4 +21 123 4 +21 124 4 +21 125 4 +21 126 4 +21 127 4 +21 128 4 +21 129 4 +21 130 4 +21 131 4 +21 132 4 +21 133 4 +21 134 4 +21 135 4 +21 136 4 +21 137 4 +21 138 4 +21 139 4 +21 140 4 +21 141 4 +21 142 4 +21 143 4 +21 144 4 +21 145 4 +21 146 4 +21 147 4 +21 148 4 +21 149 4 +21 150 4 +21 151 4 +21 152 4 +21 153 4 +21 154 4 +21 155 4 +21 156 4 +21 157 4 +21 158 4 +21 159 4 +21 160 4 +21 161 4 +21 162 4 +21 163 4 +21 164 4 +21 165 4 +21 166 4 +21 167 4 +21 168 4 +21 169 4 +21 170 4 +21 171 4 +21 172 4 +21 173 4 +21 174 4 +21 175 4 +21 176 4 +21 177 4 +21 178 4 +21 179 4 +21 180 4 +21 181 4 +21 182 4 +21 183 4 +21 184 4 +21 185 4 +21 186 4 +21 187 4 +21 188 4 +21 189 4 +21 190 4 +21 191 4 +21 192 4 +21 193 4 +21 194 4 +21 195 4 +21 196 4 +21 197 4 +21 198 4 +21 199 4 +21 200 4 +21 201 4 +21 202 4 +21 203 4 +21 204 4 +21 205 4 +21 206 4 +21 207 4 +21 208 4 +21 209 4 +21 210 4 +21 211 4 +21 212 4 +21 213 4 +21 214 4 +21 215 4 +21 216 4 +21 217 4 +21 218 4 +21 219 4 +21 220 4 +21 221 4 +21 222 4 +21 223 4 +21 224 4 +21 225 4 +21 226 4 +21 227 4 +21 228 4 +21 229 4 +21 230 4 +21 231 4 +21 232 4 +21 233 4 +21 234 4 +21 235 4 +21 236 4 +21 237 4 +21 238 4 +21 239 4 +21 240 4 +21 241 4 +21 242 4 +21 243 4 +21 244 4 +21 245 4 +21 246 4 +21 247 4 +21 248 4 +21 249 4 +21 250 4 +21 251 4 +21 252 4 +21 253 4 +21 254 4 +21 255 4 +21 256 4 +21 257 4 +21 258 4 +21 259 4 +21 260 4 +21 261 4 +21 262 4 +21 263 4 +21 264 4 +21 265 4 +21 266 4 +21 267 4 +21 268 4 +21 269 4 +21 270 4 +21 271 4 +21 272 4 +21 273 4 +21 274 4 +21 275 4 +21 276 4 +21 277 4 +21 278 4 +21 279 4 +21 280 4 +21 281 4 +21 282 4 +21 283 4 +21 284 4 +21 285 4 +21 286 4 +21 287 4 +21 288 4 +21 289 4 +21 290 4 +21 291 4 +21 292 4 +21 293 4 +21 294 4 +21 295 4 +21 296 4 +21 297 4 +21 298 4 +21 299 4 +21 300 4 +21 301 4 +21 302 4 +21 303 4 +21 304 4 +21 305 4 +21 306 4 +21 307 4 +21 308 4 +21 309 4 +21 310 4 +21 311 4 +21 312 4 +21 313 4 +21 314 4 +21 315 4 +21 316 4 +21 317 4 +21 318 4 +21 319 4 +21 320 4 +21 321 4 +21 322 4 +21 323 4 +21 324 4 +21 325 4 +21 326 4 +21 327 4 +21 328 4 +21 329 4 +21 330 4 +21 331 4 +21 332 4 +21 333 4 +21 334 4 +21 335 4 +21 336 4 +21 337 4 +21 338 4 +21 339 4 +21 340 4 +21 341 4 +21 342 4 +21 343 4 +21 344 4 +21 345 4 +21 346 4 +21 347 4 +21 348 4 +21 349 4 +21 350 0 +21 351 0 +21 352 0 +21 353 0 +21 354 0 +21 355 0 +21 356 0 +21 357 0 +21 358 0 +21 359 0 +21 360 0 +21 361 0 +21 362 0 +21 363 0 +21 364 0 +21 365 0 +21 366 0 +21 367 0 +21 368 0 +21 369 0 +21 370 0 +21 371 0 +21 372 0 +21 373 0 +21 374 0 +21 375 0 +21 376 0 +21 377 0 +21 378 0 +21 379 0 +21 380 0 +21 381 0 +21 382 0 +21 383 0 +22 23 4 +22 24 4 +22 25 4 +22 26 4 +22 27 4 +22 28 4 +22 29 4 +22 30 4 +22 31 4 +22 32 4 +22 33 4 +22 34 4 +22 35 4 +22 36 4 +22 37 4 +22 38 4 +22 39 4 +22 40 4 +22 41 4 +22 42 4 +22 43 4 +22 44 4 +22 45 4 +22 46 4 +22 47 4 +22 48 4 +22 49 4 +22 50 4 +22 51 4 +22 52 4 +22 53 4 +22 54 4 +22 55 4 +22 56 4 +22 57 4 +22 58 4 +22 59 4 +22 60 4 +22 61 4 +22 62 4 +22 63 4 +22 64 4 +22 65 4 +22 66 4 +22 67 4 +22 68 4 +22 69 4 +22 70 4 +22 71 4 +22 72 4 +22 73 4 +22 74 4 +22 75 4 +22 76 4 +22 77 4 +22 78 4 +22 79 4 +22 80 4 +22 81 4 +22 82 4 +22 83 4 +22 84 4 +22 85 4 +22 86 4 +22 87 4 +22 88 4 +22 89 4 +22 90 4 +22 91 4 +22 92 4 +22 93 4 +22 94 4 +22 95 4 +22 96 4 +22 97 4 +22 98 4 +22 99 4 +22 100 4 +22 101 4 +22 102 4 +22 103 4 +22 104 4 +22 105 4 +22 106 4 +22 107 4 +22 108 4 +22 109 4 +22 110 4 +22 111 4 +22 112 4 +22 113 4 +22 114 4 +22 115 4 +22 116 4 +22 117 4 +22 118 4 +22 119 4 +22 120 4 +22 121 4 +22 122 4 +22 123 4 +22 124 4 +22 125 4 +22 126 4 +22 127 4 +22 128 4 +22 129 4 +22 130 4 +22 131 4 +22 132 4 +22 133 4 +22 134 4 +22 135 4 +22 136 4 +22 137 4 +22 138 4 +22 139 4 +22 140 4 +22 141 4 +22 142 4 +22 143 4 +22 144 4 +22 145 4 +22 146 4 +22 147 4 +22 148 4 +22 149 4 +22 150 4 +22 151 4 +22 152 4 +22 153 4 +22 154 4 +22 155 4 +22 156 4 +22 157 4 +22 158 4 +22 159 4 +22 160 4 +22 161 4 +22 162 4 +22 163 4 +22 164 4 +22 165 4 +22 166 4 +22 167 4 +22 168 4 +22 169 4 +22 170 4 +22 171 4 +22 172 4 +22 173 4 +22 174 4 +22 175 4 +22 176 4 +22 177 4 +22 178 4 +22 179 4 +22 180 4 +22 181 4 +22 182 4 +22 183 4 +22 184 4 +22 185 4 +22 186 4 +22 187 4 +22 188 4 +22 189 4 +22 190 4 +22 191 4 +22 192 4 +22 193 4 +22 194 4 +22 195 4 +22 196 4 +22 197 4 +22 198 4 +22 199 4 +22 200 4 +22 201 4 +22 202 4 +22 203 4 +22 204 4 +22 205 4 +22 206 4 +22 207 4 +22 208 4 +22 209 4 +22 210 4 +22 211 4 +22 212 4 +22 213 4 +22 214 4 +22 215 4 +22 216 4 +22 217 4 +22 218 4 +22 219 4 +22 220 4 +22 221 4 +22 222 4 +22 223 4 +22 224 4 +22 225 4 +22 226 4 +22 227 4 +22 228 4 +22 229 4 +22 230 4 +22 231 4 +22 232 4 +22 233 4 +22 234 4 +22 235 4 +22 236 4 +22 237 4 +22 238 4 +22 239 4 +22 240 4 +22 241 4 +22 242 4 +22 243 4 +22 244 4 +22 245 4 +22 246 4 +22 247 4 +22 248 4 +22 249 4 +22 250 4 +22 251 4 +22 252 4 +22 253 4 +22 254 4 +22 255 4 +22 256 4 +22 257 4 +22 258 4 +22 259 4 +22 260 4 +22 261 4 +22 262 4 +22 263 4 +22 264 4 +22 265 4 +22 266 4 +22 267 4 +22 268 4 +22 269 4 +22 270 4 +22 271 4 +22 272 4 +22 273 4 +22 274 4 +22 275 4 +22 276 4 +22 277 4 +22 278 4 +22 279 4 +22 280 4 +22 281 4 +22 282 4 +22 283 4 +22 284 4 +22 285 4 +22 286 4 +22 287 4 +22 288 4 +22 289 4 +22 290 4 +22 291 4 +22 292 4 +22 293 4 +22 294 4 +22 295 4 +22 296 4 +22 297 4 +22 298 4 +22 299 4 +22 300 4 +22 301 4 +22 302 4 +22 303 4 +22 304 4 +22 305 4 +22 306 4 +22 307 4 +22 308 4 +22 309 4 +22 310 4 +22 311 4 +22 312 4 +22 313 4 +22 314 4 +22 315 4 +22 316 4 +22 317 4 +22 318 4 +22 319 4 +22 320 4 +22 321 4 +22 322 4 +22 323 4 +22 324 4 +22 325 4 +22 326 4 +22 327 4 +22 328 4 +22 329 4 +22 330 4 +22 331 4 +22 332 4 +22 333 4 +22 334 4 +22 335 4 +22 336 4 +22 337 4 +22 338 4 +22 339 4 +22 340 4 +22 341 4 +22 342 4 +22 343 4 +22 344 4 +22 345 4 +22 346 4 +22 347 4 +22 348 4 +22 349 4 +22 350 0 +22 351 0 +22 352 0 +22 353 0 +22 354 0 +22 355 0 +22 356 0 +22 357 0 +22 358 0 +22 359 0 +22 360 0 +22 361 0 +22 362 0 +22 363 0 +22 364 0 +22 365 0 +22 366 0 +22 367 0 +22 368 0 +22 369 0 +22 370 0 +22 371 0 +22 372 0 +22 373 0 +22 374 0 +22 375 0 +22 376 0 +22 377 0 +22 378 0 +22 379 0 +22 380 0 +22 381 0 +22 382 0 +22 383 0 +23 24 4 +23 25 4 +23 26 4 +23 27 4 +23 28 4 +23 29 4 +23 30 4 +23 31 4 +23 32 4 +23 33 4 +23 34 4 +23 35 4 +23 36 4 +23 37 4 +23 38 4 +23 39 4 +23 40 4 +23 41 4 +23 42 4 +23 43 4 +23 44 4 +23 45 4 +23 46 4 +23 47 4 +23 48 4 +23 49 4 +23 50 4 +23 51 4 +23 52 4 +23 53 4 +23 54 4 +23 55 4 +23 56 4 +23 57 4 +23 58 4 +23 59 4 +23 60 4 +23 61 4 +23 62 4 +23 63 4 +23 64 4 +23 65 4 +23 66 4 +23 67 4 +23 68 4 +23 69 4 +23 70 4 +23 71 4 +23 72 4 +23 73 4 +23 74 4 +23 75 4 +23 76 4 +23 77 4 +23 78 4 +23 79 4 +23 80 4 +23 81 4 +23 82 4 +23 83 4 +23 84 4 +23 85 4 +23 86 4 +23 87 4 +23 88 4 +23 89 4 +23 90 4 +23 91 4 +23 92 4 +23 93 4 +23 94 4 +23 95 4 +23 96 4 +23 97 4 +23 98 4 +23 99 4 +23 100 4 +23 101 4 +23 102 4 +23 103 4 +23 104 4 +23 105 4 +23 106 4 +23 107 4 +23 108 4 +23 109 4 +23 110 4 +23 111 4 +23 112 4 +23 113 4 +23 114 4 +23 115 4 +23 116 4 +23 117 4 +23 118 4 +23 119 4 +23 120 4 +23 121 4 +23 122 4 +23 123 4 +23 124 4 +23 125 4 +23 126 4 +23 127 4 +23 128 4 +23 129 4 +23 130 4 +23 131 4 +23 132 4 +23 133 4 +23 134 4 +23 135 4 +23 136 4 +23 137 4 +23 138 4 +23 139 4 +23 140 4 +23 141 4 +23 142 4 +23 143 4 +23 144 4 +23 145 4 +23 146 4 +23 147 4 +23 148 4 +23 149 4 +23 150 4 +23 151 4 +23 152 4 +23 153 4 +23 154 4 +23 155 4 +23 156 4 +23 157 4 +23 158 4 +23 159 4 +23 160 4 +23 161 4 +23 162 4 +23 163 4 +23 164 4 +23 165 4 +23 166 4 +23 167 4 +23 168 4 +23 169 4 +23 170 4 +23 171 4 +23 172 4 +23 173 4 +23 174 4 +23 175 4 +23 176 4 +23 177 4 +23 178 4 +23 179 4 +23 180 4 +23 181 4 +23 182 4 +23 183 4 +23 184 4 +23 185 4 +23 186 4 +23 187 4 +23 188 4 +23 189 4 +23 190 4 +23 191 4 +23 192 4 +23 193 4 +23 194 4 +23 195 4 +23 196 4 +23 197 4 +23 198 4 +23 199 4 +23 200 4 +23 201 4 +23 202 4 +23 203 4 +23 204 4 +23 205 4 +23 206 4 +23 207 4 +23 208 4 +23 209 4 +23 210 4 +23 211 4 +23 212 4 +23 213 4 +23 214 4 +23 215 4 +23 216 4 +23 217 4 +23 218 4 +23 219 4 +23 220 4 +23 221 4 +23 222 4 +23 223 4 +23 224 4 +23 225 4 +23 226 4 +23 227 4 +23 228 4 +23 229 4 +23 230 4 +23 231 4 +23 232 4 +23 233 4 +23 234 4 +23 235 4 +23 236 4 +23 237 4 +23 238 4 +23 239 4 +23 240 4 +23 241 4 +23 242 4 +23 243 4 +23 244 4 +23 245 4 +23 246 4 +23 247 4 +23 248 4 +23 249 4 +23 250 4 +23 251 4 +23 252 4 +23 253 4 +23 254 4 +23 255 4 +23 256 4 +23 257 4 +23 258 4 +23 259 4 +23 260 4 +23 261 4 +23 262 4 +23 263 4 +23 264 4 +23 265 4 +23 266 4 +23 267 4 +23 268 4 +23 269 4 +23 270 4 +23 271 4 +23 272 4 +23 273 4 +23 274 4 +23 275 4 +23 276 4 +23 277 4 +23 278 4 +23 279 4 +23 280 4 +23 281 4 +23 282 4 +23 283 4 +23 284 4 +23 285 4 +23 286 4 +23 287 4 +23 288 4 +23 289 4 +23 290 4 +23 291 4 +23 292 4 +23 293 4 +23 294 4 +23 295 4 +23 296 4 +23 297 4 +23 298 4 +23 299 4 +23 300 4 +23 301 4 +23 302 4 +23 303 4 +23 304 4 +23 305 4 +23 306 4 +23 307 4 +23 308 4 +23 309 4 +23 310 4 +23 311 4 +23 312 4 +23 313 4 +23 314 4 +23 315 4 +23 316 4 +23 317 4 +23 318 4 +23 319 4 +23 320 4 +23 321 4 +23 322 4 +23 323 4 +23 324 4 +23 325 4 +23 326 4 +23 327 4 +23 328 4 +23 329 4 +23 330 4 +23 331 4 +23 332 4 +23 333 4 +23 334 4 +23 335 4 +23 336 4 +23 337 4 +23 338 4 +23 339 4 +23 340 4 +23 341 4 +23 342 4 +23 343 4 +23 344 4 +23 345 4 +23 346 4 +23 347 4 +23 348 4 +23 349 4 +23 350 0 +23 351 0 +23 352 0 +23 353 0 +23 354 0 +23 355 0 +23 356 0 +23 357 0 +23 358 0 +23 359 0 +23 360 0 +23 361 0 +23 362 0 +23 363 0 +23 364 0 +23 365 0 +23 366 0 +23 367 0 +23 368 0 +23 369 0 +23 370 0 +23 371 0 +23 372 0 +23 373 0 +23 374 0 +23 375 0 +23 376 0 +23 377 0 +23 378 0 +23 379 0 +23 380 0 +23 381 0 +23 382 0 +23 383 0 +24 25 4 +24 26 4 +24 27 4 +24 28 4 +24 29 4 +24 30 4 +24 31 4 +24 32 4 +24 33 4 +24 34 4 +24 35 4 +24 36 4 +24 37 4 +24 38 4 +24 39 4 +24 40 4 +24 41 4 +24 42 4 +24 43 4 +24 44 4 +24 45 4 +24 46 4 +24 47 4 +24 48 4 +24 49 4 +24 50 4 +24 51 4 +24 52 4 +24 53 4 +24 54 4 +24 55 4 +24 56 4 +24 57 4 +24 58 4 +24 59 4 +24 60 4 +24 61 4 +24 62 4 +24 63 4 +24 64 4 +24 65 4 +24 66 4 +24 67 4 +24 68 4 +24 69 4 +24 70 4 +24 71 4 +24 72 4 +24 73 4 +24 74 4 +24 75 4 +24 76 4 +24 77 4 +24 78 4 +24 79 4 +24 80 4 +24 81 4 +24 82 4 +24 83 4 +24 84 4 +24 85 4 +24 86 4 +24 87 4 +24 88 4 +24 89 4 +24 90 4 +24 91 4 +24 92 4 +24 93 4 +24 94 4 +24 95 4 +24 96 4 +24 97 4 +24 98 4 +24 99 4 +24 100 4 +24 101 4 +24 102 4 +24 103 4 +24 104 4 +24 105 4 +24 106 4 +24 107 4 +24 108 4 +24 109 4 +24 110 4 +24 111 4 +24 112 4 +24 113 4 +24 114 4 +24 115 4 +24 116 4 +24 117 4 +24 118 4 +24 119 4 +24 120 4 +24 121 4 +24 122 4 +24 123 4 +24 124 4 +24 125 4 +24 126 4 +24 127 4 +24 128 4 +24 129 4 +24 130 4 +24 131 4 +24 132 4 +24 133 4 +24 134 4 +24 135 4 +24 136 4 +24 137 4 +24 138 4 +24 139 4 +24 140 4 +24 141 4 +24 142 4 +24 143 4 +24 144 4 +24 145 4 +24 146 4 +24 147 4 +24 148 4 +24 149 4 +24 150 4 +24 151 4 +24 152 4 +24 153 4 +24 154 4 +24 155 4 +24 156 4 +24 157 4 +24 158 4 +24 159 4 +24 160 4 +24 161 4 +24 162 4 +24 163 4 +24 164 4 +24 165 4 +24 166 4 +24 167 4 +24 168 4 +24 169 4 +24 170 4 +24 171 4 +24 172 4 +24 173 4 +24 174 4 +24 175 4 +24 176 4 +24 177 4 +24 178 4 +24 179 4 +24 180 4 +24 181 4 +24 182 4 +24 183 4 +24 184 4 +24 185 4 +24 186 4 +24 187 4 +24 188 4 +24 189 4 +24 190 4 +24 191 4 +24 192 4 +24 193 4 +24 194 4 +24 195 4 +24 196 4 +24 197 4 +24 198 4 +24 199 4 +24 200 4 +24 201 4 +24 202 4 +24 203 4 +24 204 4 +24 205 4 +24 206 4 +24 207 4 +24 208 4 +24 209 4 +24 210 4 +24 211 4 +24 212 4 +24 213 4 +24 214 4 +24 215 4 +24 216 4 +24 217 4 +24 218 4 +24 219 4 +24 220 4 +24 221 4 +24 222 4 +24 223 4 +24 224 4 +24 225 4 +24 226 4 +24 227 4 +24 228 4 +24 229 4 +24 230 4 +24 231 4 +24 232 4 +24 233 4 +24 234 4 +24 235 4 +24 236 4 +24 237 4 +24 238 4 +24 239 4 +24 240 4 +24 241 4 +24 242 4 +24 243 4 +24 244 4 +24 245 4 +24 246 4 +24 247 4 +24 248 4 +24 249 4 +24 250 4 +24 251 4 +24 252 4 +24 253 4 +24 254 4 +24 255 4 +24 256 4 +24 257 4 +24 258 4 +24 259 4 +24 260 4 +24 261 4 +24 262 4 +24 263 4 +24 264 4 +24 265 4 +24 266 4 +24 267 4 +24 268 4 +24 269 4 +24 270 4 +24 271 4 +24 272 4 +24 273 4 +24 274 4 +24 275 4 +24 276 4 +24 277 4 +24 278 4 +24 279 4 +24 280 4 +24 281 4 +24 282 4 +24 283 4 +24 284 4 +24 285 4 +24 286 4 +24 287 4 +24 288 4 +24 289 4 +24 290 4 +24 291 4 +24 292 4 +24 293 4 +24 294 4 +24 295 4 +24 296 4 +24 297 4 +24 298 4 +24 299 4 +24 300 4 +24 301 4 +24 302 4 +24 303 4 +24 304 4 +24 305 4 +24 306 4 +24 307 4 +24 308 4 +24 309 4 +24 310 4 +24 311 4 +24 312 4 +24 313 4 +24 314 4 +24 315 4 +24 316 4 +24 317 4 +24 318 4 +24 319 4 +24 320 4 +24 321 4 +24 322 4 +24 323 4 +24 324 4 +24 325 4 +24 326 4 +24 327 4 +24 328 4 +24 329 4 +24 330 4 +24 331 4 +24 332 4 +24 333 4 +24 334 4 +24 335 4 +24 336 4 +24 337 4 +24 338 4 +24 339 4 +24 340 4 +24 341 4 +24 342 4 +24 343 4 +24 344 4 +24 345 4 +24 346 4 +24 347 4 +24 348 4 +24 349 4 +24 350 0 +24 351 0 +24 352 0 +24 353 0 +24 354 0 +24 355 0 +24 356 0 +24 357 0 +24 358 0 +24 359 0 +24 360 0 +24 361 0 +24 362 0 +24 363 0 +24 364 0 +24 365 0 +24 366 0 +24 367 0 +24 368 0 +24 369 0 +24 370 0 +24 371 0 +24 372 0 +24 373 0 +24 374 0 +24 375 0 +24 376 0 +24 377 0 +24 378 0 +24 379 0 +24 380 0 +24 381 0 +24 382 0 +24 383 0 +25 26 4 +25 27 4 +25 28 4 +25 29 4 +25 30 4 +25 31 4 +25 32 4 +25 33 4 +25 34 4 +25 35 4 +25 36 4 +25 37 4 +25 38 4 +25 39 4 +25 40 4 +25 41 4 +25 42 4 +25 43 4 +25 44 4 +25 45 4 +25 46 4 +25 47 4 +25 48 4 +25 49 4 +25 50 4 +25 51 4 +25 52 4 +25 53 4 +25 54 4 +25 55 4 +25 56 4 +25 57 4 +25 58 4 +25 59 4 +25 60 4 +25 61 4 +25 62 4 +25 63 4 +25 64 4 +25 65 4 +25 66 4 +25 67 4 +25 68 4 +25 69 4 +25 70 4 +25 71 4 +25 72 4 +25 73 4 +25 74 4 +25 75 4 +25 76 4 +25 77 4 +25 78 4 +25 79 4 +25 80 4 +25 81 4 +25 82 4 +25 83 4 +25 84 4 +25 85 4 +25 86 4 +25 87 4 +25 88 4 +25 89 4 +25 90 4 +25 91 4 +25 92 4 +25 93 4 +25 94 4 +25 95 4 +25 96 4 +25 97 4 +25 98 4 +25 99 4 +25 100 4 +25 101 4 +25 102 4 +25 103 4 +25 104 4 +25 105 4 +25 106 4 +25 107 4 +25 108 4 +25 109 4 +25 110 4 +25 111 4 +25 112 4 +25 113 4 +25 114 4 +25 115 4 +25 116 4 +25 117 4 +25 118 4 +25 119 4 +25 120 4 +25 121 4 +25 122 4 +25 123 4 +25 124 4 +25 125 4 +25 126 4 +25 127 4 +25 128 4 +25 129 4 +25 130 4 +25 131 4 +25 132 4 +25 133 4 +25 134 4 +25 135 4 +25 136 4 +25 137 4 +25 138 4 +25 139 4 +25 140 4 +25 141 4 +25 142 4 +25 143 4 +25 144 4 +25 145 4 +25 146 4 +25 147 4 +25 148 4 +25 149 4 +25 150 4 +25 151 4 +25 152 4 +25 153 4 +25 154 4 +25 155 4 +25 156 4 +25 157 4 +25 158 4 +25 159 4 +25 160 4 +25 161 4 +25 162 4 +25 163 4 +25 164 4 +25 165 4 +25 166 4 +25 167 4 +25 168 4 +25 169 4 +25 170 4 +25 171 4 +25 172 4 +25 173 4 +25 174 4 +25 175 4 +25 176 4 +25 177 4 +25 178 4 +25 179 4 +25 180 4 +25 181 4 +25 182 4 +25 183 4 +25 184 4 +25 185 4 +25 186 4 +25 187 4 +25 188 4 +25 189 4 +25 190 4 +25 191 4 +25 192 4 +25 193 4 +25 194 4 +25 195 4 +25 196 4 +25 197 4 +25 198 4 +25 199 4 +25 200 4 +25 201 4 +25 202 4 +25 203 4 +25 204 4 +25 205 4 +25 206 4 +25 207 4 +25 208 4 +25 209 4 +25 210 4 +25 211 4 +25 212 4 +25 213 4 +25 214 4 +25 215 4 +25 216 4 +25 217 4 +25 218 4 +25 219 4 +25 220 4 +25 221 4 +25 222 4 +25 223 4 +25 224 4 +25 225 4 +25 226 4 +25 227 4 +25 228 4 +25 229 4 +25 230 4 +25 231 4 +25 232 4 +25 233 4 +25 234 4 +25 235 4 +25 236 4 +25 237 4 +25 238 4 +25 239 4 +25 240 4 +25 241 4 +25 242 4 +25 243 4 +25 244 4 +25 245 4 +25 246 4 +25 247 4 +25 248 4 +25 249 4 +25 250 4 +25 251 4 +25 252 4 +25 253 4 +25 254 4 +25 255 4 +25 256 4 +25 257 4 +25 258 4 +25 259 4 +25 260 4 +25 261 4 +25 262 4 +25 263 4 +25 264 4 +25 265 4 +25 266 4 +25 267 4 +25 268 4 +25 269 4 +25 270 4 +25 271 4 +25 272 4 +25 273 4 +25 274 4 +25 275 4 +25 276 4 +25 277 4 +25 278 4 +25 279 4 +25 280 4 +25 281 4 +25 282 4 +25 283 4 +25 284 4 +25 285 4 +25 286 4 +25 287 4 +25 288 4 +25 289 4 +25 290 4 +25 291 4 +25 292 4 +25 293 4 +25 294 4 +25 295 4 +25 296 4 +25 297 4 +25 298 4 +25 299 4 +25 300 4 +25 301 4 +25 302 4 +25 303 4 +25 304 4 +25 305 4 +25 306 4 +25 307 4 +25 308 4 +25 309 4 +25 310 4 +25 311 4 +25 312 4 +25 313 4 +25 314 4 +25 315 4 +25 316 4 +25 317 4 +25 318 4 +25 319 4 +25 320 4 +25 321 4 +25 322 4 +25 323 4 +25 324 4 +25 325 4 +25 326 4 +25 327 4 +25 328 4 +25 329 4 +25 330 4 +25 331 4 +25 332 4 +25 333 4 +25 334 4 +25 335 4 +25 336 4 +25 337 8 +25 338 8 +25 339 8 +25 340 8 +25 341 8 +25 342 8 +25 343 8 +25 344 8 +25 345 8 +25 346 8 +25 347 8 +25 348 8 +25 349 8 +25 350 0 +25 351 0 +25 352 0 +25 353 0 +25 354 0 +25 355 0 +25 356 0 +25 357 0 +25 358 0 +25 359 0 +25 360 0 +25 361 0 +25 362 0 +25 363 0 +25 364 0 +25 365 0 +25 366 0 +25 367 0 +25 368 0 +25 369 0 +25 370 0 +25 371 0 +25 372 0 +25 373 0 +25 374 0 +25 375 0 +25 376 0 +25 377 0 +25 378 0 +25 379 0 +25 380 0 +25 381 0 +25 382 0 +25 383 0 +26 27 8 +26 28 8 +26 29 8 +26 30 8 +26 31 8 +26 32 8 +26 33 8 +26 34 8 +26 35 8 +26 36 8 +26 37 8 +26 38 8 +26 39 8 +26 40 8 +26 41 8 +26 42 8 +26 43 8 +26 44 8 +26 45 8 +26 46 8 +26 47 8 +26 48 8 +26 49 8 +26 50 8 +26 51 8 +26 52 8 +26 53 8 +26 54 8 +26 55 8 +26 56 8 +26 57 8 +26 58 8 +26 59 8 +26 60 8 +26 61 8 +26 62 8 +26 63 8 +26 64 8 +26 65 8 +26 66 8 +26 67 8 +26 68 8 +26 69 8 +26 70 8 +26 71 8 +26 72 8 +26 73 8 +26 74 8 +26 75 8 +26 76 8 +26 77 8 +26 78 8 +26 79 8 +26 80 8 +26 81 8 +26 82 8 +26 83 8 +26 84 8 +26 85 8 +26 86 8 +26 87 8 +26 88 8 +26 89 8 +26 90 8 +26 91 8 +26 92 8 +26 93 8 +26 94 8 +26 95 8 +26 96 8 +26 97 8 +26 98 8 +26 99 8 +26 100 8 +26 101 8 +26 102 8 +26 103 8 +26 104 8 +26 105 8 +26 106 8 +26 107 8 +26 108 8 +26 109 8 +26 110 8 +26 111 8 +26 112 8 +26 113 8 +26 114 8 +26 115 8 +26 116 8 +26 117 8 +26 118 8 +26 119 8 +26 120 8 +26 121 8 +26 122 8 +26 123 8 +26 124 8 +26 125 8 +26 126 8 +26 127 8 +26 128 8 +26 129 8 +26 130 8 +26 131 8 +26 132 8 +26 133 8 +26 134 8 +26 135 8 +26 136 8 +26 137 8 +26 138 8 +26 139 8 +26 140 8 +26 141 8 +26 142 8 +26 143 8 +26 144 8 +26 145 8 +26 146 8 +26 147 8 +26 148 8 +26 149 8 +26 150 8 +26 151 8 +26 152 8 +26 153 8 +26 154 8 +26 155 8 +26 156 8 +26 157 8 +26 158 8 +26 159 8 +26 160 8 +26 161 8 +26 162 8 +26 163 8 +26 164 8 +26 165 8 +26 166 8 +26 167 8 +26 168 8 +26 169 8 +26 170 8 +26 171 8 +26 172 8 +26 173 8 +26 174 8 +26 175 8 +26 176 8 +26 177 8 +26 178 8 +26 179 8 +26 180 8 +26 181 8 +26 182 8 +26 183 8 +26 184 8 +26 185 8 +26 186 8 +26 187 8 +26 188 8 +26 189 8 +26 190 8 +26 191 8 +26 192 8 +26 193 8 +26 194 8 +26 195 8 +26 196 8 +26 197 8 +26 198 8 +26 199 8 +26 200 8 +26 201 8 +26 202 8 +26 203 8 +26 204 8 +26 205 8 +26 206 8 +26 207 8 +26 208 8 +26 209 8 +26 210 8 +26 211 8 +26 212 8 +26 213 8 +26 214 8 +26 215 8 +26 216 8 +26 217 8 +26 218 8 +26 219 8 +26 220 8 +26 221 8 +26 222 8 +26 223 8 +26 224 8 +26 225 8 +26 226 8 +26 227 8 +26 228 8 +26 229 8 +26 230 8 +26 231 8 +26 232 8 +26 233 8 +26 234 8 +26 235 8 +26 236 8 +26 237 8 +26 238 8 +26 239 8 +26 240 8 +26 241 8 +26 242 8 +26 243 8 +26 244 8 +26 245 8 +26 246 8 +26 247 8 +26 248 8 +26 249 8 +26 250 8 +26 251 8 +26 252 8 +26 253 8 +26 254 8 +26 255 8 +26 256 8 +26 257 8 +26 258 8 +26 259 8 +26 260 8 +26 261 8 +26 262 8 +26 263 8 +26 264 8 +26 265 8 +26 266 8 +26 267 8 +26 268 8 +26 269 8 +26 270 8 +26 271 8 +26 272 8 +26 273 8 +26 274 8 +26 275 8 +26 276 8 +26 277 8 +26 278 8 +26 279 8 +26 280 8 +26 281 8 +26 282 8 +26 283 8 +26 284 8 +26 285 8 +26 286 8 +26 287 8 +26 288 8 +26 289 8 +26 290 8 +26 291 8 +26 292 8 +26 293 8 +26 294 8 +26 295 8 +26 296 8 +26 297 8 +26 298 8 +26 299 8 +26 300 8 +26 301 8 +26 302 8 +26 303 8 +26 304 8 +26 305 8 +26 306 8 +26 307 8 +26 308 8 +26 309 8 +26 310 8 +26 311 8 +26 312 8 +26 313 8 +26 314 8 +26 315 8 +26 316 8 +26 317 8 +26 318 8 +26 319 8 +26 320 8 +26 321 8 +26 322 8 +26 323 8 +26 324 8 +26 325 8 +26 326 8 +26 327 8 +26 328 8 +26 329 8 +26 330 8 +26 331 8 +26 332 8 +26 333 8 +26 334 8 +26 335 8 +26 336 8 +26 337 8 +26 338 8 +26 339 8 +26 340 8 +26 341 8 +26 342 8 +26 343 8 +26 344 8 +26 345 8 +26 346 8 +26 347 8 +26 348 8 +26 349 8 +26 350 0 +26 351 0 +26 352 0 +26 353 0 +26 354 0 +26 355 0 +26 356 0 +26 357 0 +26 358 0 +26 359 0 +26 360 0 +26 361 0 +26 362 0 +26 363 0 +26 364 0 +26 365 0 +26 366 0 +26 367 0 +26 368 0 +26 369 0 +26 370 0 +26 371 0 +26 372 0 +26 373 0 +26 374 0 +26 375 0 +26 376 0 +26 377 0 +26 378 0 +26 379 0 +26 380 0 +26 381 0 +26 382 0 +26 383 0 +27 28 8 +27 29 8 +27 30 8 +27 31 8 +27 32 8 +27 33 8 +27 34 8 +27 35 8 +27 36 8 +27 37 8 +27 38 8 +27 39 8 +27 40 8 +27 41 8 +27 42 8 +27 43 8 +27 44 8 +27 45 8 +27 46 8 +27 47 8 +27 48 8 +27 49 8 +27 50 8 +27 51 8 +27 52 8 +27 53 8 +27 54 8 +27 55 8 +27 56 8 +27 57 8 +27 58 8 +27 59 8 +27 60 8 +27 61 8 +27 62 8 +27 63 8 +27 64 8 +27 65 8 +27 66 8 +27 67 8 +27 68 8 +27 69 8 +27 70 8 +27 71 8 +27 72 8 +27 73 8 +27 74 8 +27 75 8 +27 76 8 +27 77 8 +27 78 8 +27 79 8 +27 80 8 +27 81 8 +27 82 8 +27 83 8 +27 84 8 +27 85 8 +27 86 8 +27 87 8 +27 88 8 +27 89 8 +27 90 8 +27 91 8 +27 92 8 +27 93 8 +27 94 8 +27 95 8 +27 96 8 +27 97 8 +27 98 8 +27 99 8 +27 100 8 +27 101 8 +27 102 8 +27 103 8 +27 104 8 +27 105 8 +27 106 8 +27 107 8 +27 108 8 +27 109 8 +27 110 8 +27 111 8 +27 112 8 +27 113 8 +27 114 8 +27 115 8 +27 116 8 +27 117 8 +27 118 8 +27 119 8 +27 120 8 +27 121 8 +27 122 8 +27 123 8 +27 124 8 +27 125 8 +27 126 8 +27 127 8 +27 128 8 +27 129 8 +27 130 8 +27 131 8 +27 132 8 +27 133 8 +27 134 8 +27 135 8 +27 136 8 +27 137 8 +27 138 8 +27 139 8 +27 140 8 +27 141 8 +27 142 8 +27 143 8 +27 144 8 +27 145 8 +27 146 8 +27 147 8 +27 148 8 +27 149 8 +27 150 8 +27 151 8 +27 152 8 +27 153 8 +27 154 8 +27 155 8 +27 156 8 +27 157 8 +27 158 8 +27 159 8 +27 160 8 +27 161 8 +27 162 8 +27 163 8 +27 164 8 +27 165 8 +27 166 8 +27 167 8 +27 168 8 +27 169 8 +27 170 8 +27 171 8 +27 172 8 +27 173 8 +27 174 8 +27 175 8 +27 176 8 +27 177 8 +27 178 8 +27 179 8 +27 180 8 +27 181 8 +27 182 8 +27 183 8 +27 184 8 +27 185 8 +27 186 8 +27 187 8 +27 188 8 +27 189 8 +27 190 8 +27 191 8 +27 192 8 +27 193 8 +27 194 8 +27 195 8 +27 196 8 +27 197 8 +27 198 8 +27 199 8 +27 200 8 +27 201 8 +27 202 8 +27 203 8 +27 204 8 +27 205 8 +27 206 8 +27 207 8 +27 208 8 +27 209 8 +27 210 8 +27 211 8 +27 212 8 +27 213 8 +27 214 8 +27 215 8 +27 216 8 +27 217 8 +27 218 8 +27 219 8 +27 220 8 +27 221 8 +27 222 8 +27 223 8 +27 224 8 +27 225 8 +27 226 8 +27 227 8 +27 228 8 +27 229 8 +27 230 8 +27 231 8 +27 232 8 +27 233 8 +27 234 8 +27 235 8 +27 236 8 +27 237 8 +27 238 8 +27 239 8 +27 240 8 +27 241 8 +27 242 8 +27 243 8 +27 244 8 +27 245 8 +27 246 8 +27 247 8 +27 248 8 +27 249 8 +27 250 8 +27 251 8 +27 252 8 +27 253 8 +27 254 8 +27 255 8 +27 256 8 +27 257 8 +27 258 8 +27 259 8 +27 260 8 +27 261 8 +27 262 8 +27 263 8 +27 264 8 +27 265 8 +27 266 8 +27 267 8 +27 268 8 +27 269 8 +27 270 8 +27 271 8 +27 272 8 +27 273 8 +27 274 8 +27 275 8 +27 276 8 +27 277 8 +27 278 8 +27 279 8 +27 280 8 +27 281 8 +27 282 8 +27 283 8 +27 284 8 +27 285 8 +27 286 8 +27 287 8 +27 288 8 +27 289 8 +27 290 8 +27 291 8 +27 292 8 +27 293 8 +27 294 8 +27 295 8 +27 296 8 +27 297 8 +27 298 8 +27 299 8 +27 300 8 +27 301 8 +27 302 8 +27 303 8 +27 304 8 +27 305 8 +27 306 8 +27 307 8 +27 308 8 +27 309 8 +27 310 8 +27 311 8 +27 312 8 +27 313 8 +27 314 8 +27 315 8 +27 316 8 +27 317 8 +27 318 8 +27 319 8 +27 320 8 +27 321 8 +27 322 8 +27 323 8 +27 324 8 +27 325 8 +27 326 8 +27 327 8 +27 328 8 +27 329 8 +27 330 8 +27 331 8 +27 332 8 +27 333 8 +27 334 8 +27 335 8 +27 336 8 +27 337 8 +27 338 8 +27 339 8 +27 340 8 +27 341 8 +27 342 8 +27 343 8 +27 344 8 +27 345 8 +27 346 8 +27 347 8 +27 348 8 +27 349 8 +27 350 0 +27 351 0 +27 352 0 +27 353 0 +27 354 0 +27 355 0 +27 356 0 +27 357 0 +27 358 0 +27 359 0 +27 360 0 +27 361 0 +27 362 0 +27 363 0 +27 364 0 +27 365 0 +27 366 0 +27 367 0 +27 368 0 +27 369 0 +27 370 0 +27 371 0 +27 372 0 +27 373 0 +27 374 0 +27 375 0 +27 376 0 +27 377 0 +27 378 0 +27 379 0 +27 380 0 +27 381 0 +27 382 0 +27 383 0 +28 29 8 +28 30 8 +28 31 8 +28 32 8 +28 33 8 +28 34 8 +28 35 8 +28 36 8 +28 37 8 +28 38 8 +28 39 8 +28 40 8 +28 41 8 +28 42 8 +28 43 8 +28 44 8 +28 45 8 +28 46 8 +28 47 8 +28 48 8 +28 49 8 +28 50 8 +28 51 8 +28 52 8 +28 53 8 +28 54 8 +28 55 8 +28 56 8 +28 57 8 +28 58 8 +28 59 8 +28 60 8 +28 61 8 +28 62 8 +28 63 8 +28 64 8 +28 65 8 +28 66 8 +28 67 8 +28 68 8 +28 69 8 +28 70 8 +28 71 8 +28 72 8 +28 73 8 +28 74 8 +28 75 8 +28 76 8 +28 77 8 +28 78 8 +28 79 8 +28 80 8 +28 81 8 +28 82 8 +28 83 8 +28 84 8 +28 85 8 +28 86 8 +28 87 8 +28 88 8 +28 89 8 +28 90 8 +28 91 8 +28 92 8 +28 93 8 +28 94 8 +28 95 8 +28 96 8 +28 97 8 +28 98 8 +28 99 8 +28 100 8 +28 101 8 +28 102 8 +28 103 8 +28 104 8 +28 105 8 +28 106 8 +28 107 8 +28 108 8 +28 109 8 +28 110 8 +28 111 8 +28 112 8 +28 113 8 +28 114 8 +28 115 8 +28 116 8 +28 117 8 +28 118 8 +28 119 8 +28 120 8 +28 121 8 +28 122 8 +28 123 8 +28 124 8 +28 125 8 +28 126 8 +28 127 8 +28 128 8 +28 129 8 +28 130 8 +28 131 8 +28 132 8 +28 133 8 +28 134 8 +28 135 8 +28 136 8 +28 137 8 +28 138 8 +28 139 8 +28 140 8 +28 141 8 +28 142 8 +28 143 8 +28 144 8 +28 145 8 +28 146 8 +28 147 8 +28 148 8 +28 149 8 +28 150 8 +28 151 8 +28 152 8 +28 153 8 +28 154 8 +28 155 8 +28 156 8 +28 157 8 +28 158 8 +28 159 8 +28 160 8 +28 161 8 +28 162 8 +28 163 8 +28 164 8 +28 165 8 +28 166 8 +28 167 8 +28 168 8 +28 169 8 +28 170 8 +28 171 8 +28 172 8 +28 173 8 +28 174 8 +28 175 8 +28 176 8 +28 177 8 +28 178 8 +28 179 8 +28 180 8 +28 181 8 +28 182 8 +28 183 8 +28 184 8 +28 185 8 +28 186 8 +28 187 8 +28 188 8 +28 189 8 +28 190 8 +28 191 8 +28 192 8 +28 193 8 +28 194 8 +28 195 8 +28 196 8 +28 197 8 +28 198 8 +28 199 8 +28 200 8 +28 201 8 +28 202 8 +28 203 8 +28 204 8 +28 205 8 +28 206 8 +28 207 8 +28 208 8 +28 209 8 +28 210 8 +28 211 8 +28 212 8 +28 213 8 +28 214 8 +28 215 8 +28 216 8 +28 217 8 +28 218 8 +28 219 8 +28 220 8 +28 221 8 +28 222 8 +28 223 8 +28 224 8 +28 225 8 +28 226 8 +28 227 8 +28 228 8 +28 229 8 +28 230 8 +28 231 8 +28 232 8 +28 233 8 +28 234 8 +28 235 8 +28 236 8 +28 237 8 +28 238 8 +28 239 8 +28 240 8 +28 241 8 +28 242 8 +28 243 8 +28 244 8 +28 245 8 +28 246 8 +28 247 8 +28 248 8 +28 249 8 +28 250 8 +28 251 8 +28 252 8 +28 253 8 +28 254 8 +28 255 8 +28 256 8 +28 257 8 +28 258 8 +28 259 8 +28 260 8 +28 261 8 +28 262 8 +28 263 8 +28 264 8 +28 265 8 +28 266 8 +28 267 8 +28 268 8 +28 269 8 +28 270 8 +28 271 8 +28 272 8 +28 273 8 +28 274 8 +28 275 8 +28 276 8 +28 277 8 +28 278 8 +28 279 8 +28 280 8 +28 281 8 +28 282 8 +28 283 8 +28 284 8 +28 285 8 +28 286 8 +28 287 8 +28 288 8 +28 289 8 +28 290 8 +28 291 8 +28 292 8 +28 293 8 +28 294 8 +28 295 8 +28 296 8 +28 297 8 +28 298 8 +28 299 8 +28 300 8 +28 301 8 +28 302 8 +28 303 8 +28 304 8 +28 305 8 +28 306 8 +28 307 8 +28 308 8 +28 309 8 +28 310 8 +28 311 8 +28 312 8 +28 313 8 +28 314 8 +28 315 8 +28 316 8 +28 317 8 +28 318 8 +28 319 8 +28 320 8 +28 321 8 +28 322 8 +28 323 8 +28 324 8 +28 325 8 +28 326 8 +28 327 8 +28 328 8 +28 329 8 +28 330 8 +28 331 8 +28 332 8 +28 333 8 +28 334 8 +28 335 8 +28 336 8 +28 337 8 +28 338 8 +28 339 8 +28 340 8 +28 341 8 +28 342 8 +28 343 8 +28 344 8 +28 345 8 +28 346 8 +28 347 8 +28 348 8 +28 349 8 +28 350 0 +28 351 0 +28 352 0 +28 353 0 +28 354 0 +28 355 0 +28 356 0 +28 357 0 +28 358 0 +28 359 0 +28 360 0 +28 361 0 +28 362 0 +28 363 0 +28 364 0 +28 365 0 +28 366 0 +28 367 0 +28 368 0 +28 369 0 +28 370 0 +28 371 0 +28 372 0 +28 373 0 +28 374 0 +28 375 0 +28 376 0 +28 377 0 +28 378 0 +28 379 0 +28 380 0 +28 381 0 +28 382 0 +28 383 0 +29 30 8 +29 31 8 +29 32 8 +29 33 8 +29 34 8 +29 35 8 +29 36 8 +29 37 8 +29 38 8 +29 39 8 +29 40 8 +29 41 8 +29 42 8 +29 43 8 +29 44 8 +29 45 8 +29 46 8 +29 47 8 +29 48 8 +29 49 8 +29 50 8 +29 51 8 +29 52 8 +29 53 8 +29 54 8 +29 55 8 +29 56 8 +29 57 8 +29 58 8 +29 59 8 +29 60 8 +29 61 8 +29 62 8 +29 63 8 +29 64 8 +29 65 8 +29 66 8 +29 67 8 +29 68 8 +29 69 8 +29 70 8 +29 71 8 +29 72 8 +29 73 8 +29 74 8 +29 75 8 +29 76 8 +29 77 8 +29 78 8 +29 79 8 +29 80 8 +29 81 8 +29 82 8 +29 83 8 +29 84 8 +29 85 8 +29 86 8 +29 87 8 +29 88 8 +29 89 8 +29 90 8 +29 91 8 +29 92 8 +29 93 8 +29 94 8 +29 95 8 +29 96 8 +29 97 8 +29 98 8 +29 99 8 +29 100 8 +29 101 8 +29 102 8 +29 103 8 +29 104 8 +29 105 8 +29 106 8 +29 107 8 +29 108 8 +29 109 8 +29 110 8 +29 111 8 +29 112 8 +29 113 8 +29 114 8 +29 115 8 +29 116 8 +29 117 8 +29 118 8 +29 119 8 +29 120 8 +29 121 8 +29 122 8 +29 123 8 +29 124 8 +29 125 8 +29 126 8 +29 127 8 +29 128 8 +29 129 8 +29 130 8 +29 131 8 +29 132 8 +29 133 8 +29 134 8 +29 135 8 +29 136 8 +29 137 8 +29 138 8 +29 139 8 +29 140 8 +29 141 8 +29 142 8 +29 143 8 +29 144 8 +29 145 8 +29 146 8 +29 147 8 +29 148 8 +29 149 8 +29 150 8 +29 151 8 +29 152 8 +29 153 8 +29 154 8 +29 155 8 +29 156 8 +29 157 8 +29 158 8 +29 159 8 +29 160 8 +29 161 8 +29 162 8 +29 163 8 +29 164 8 +29 165 8 +29 166 8 +29 167 8 +29 168 8 +29 169 8 +29 170 8 +29 171 8 +29 172 8 +29 173 8 +29 174 8 +29 175 8 +29 176 8 +29 177 8 +29 178 8 +29 179 8 +29 180 8 +29 181 8 +29 182 8 +29 183 8 +29 184 8 +29 185 8 +29 186 8 +29 187 8 +29 188 8 +29 189 8 +29 190 8 +29 191 8 +29 192 8 +29 193 8 +29 194 8 +29 195 8 +29 196 8 +29 197 8 +29 198 8 +29 199 8 +29 200 8 +29 201 8 +29 202 8 +29 203 8 +29 204 8 +29 205 8 +29 206 8 +29 207 8 +29 208 8 +29 209 8 +29 210 8 +29 211 8 +29 212 8 +29 213 8 +29 214 8 +29 215 8 +29 216 8 +29 217 8 +29 218 8 +29 219 8 +29 220 8 +29 221 8 +29 222 8 +29 223 8 +29 224 8 +29 225 8 +29 226 8 +29 227 8 +29 228 8 +29 229 8 +29 230 8 +29 231 8 +29 232 8 +29 233 8 +29 234 8 +29 235 8 +29 236 8 +29 237 8 +29 238 8 +29 239 8 +29 240 8 +29 241 8 +29 242 8 +29 243 8 +29 244 8 +29 245 8 +29 246 8 +29 247 8 +29 248 8 +29 249 8 +29 250 8 +29 251 8 +29 252 8 +29 253 8 +29 254 8 +29 255 8 +29 256 8 +29 257 8 +29 258 8 +29 259 8 +29 260 8 +29 261 8 +29 262 8 +29 263 8 +29 264 8 +29 265 8 +29 266 8 +29 267 8 +29 268 8 +29 269 8 +29 270 8 +29 271 8 +29 272 8 +29 273 8 +29 274 8 +29 275 8 +29 276 8 +29 277 8 +29 278 8 +29 279 8 +29 280 8 +29 281 8 +29 282 8 +29 283 8 +29 284 8 +29 285 8 +29 286 8 +29 287 8 +29 288 8 +29 289 8 +29 290 8 +29 291 8 +29 292 8 +29 293 8 +29 294 8 +29 295 8 +29 296 8 +29 297 8 +29 298 8 +29 299 8 +29 300 8 +29 301 8 +29 302 8 +29 303 8 +29 304 8 +29 305 8 +29 306 8 +29 307 8 +29 308 8 +29 309 8 +29 310 8 +29 311 8 +29 312 8 +29 313 8 +29 314 8 +29 315 8 +29 316 8 +29 317 8 +29 318 8 +29 319 8 +29 320 8 +29 321 8 +29 322 8 +29 323 8 +29 324 8 +29 325 8 +29 326 8 +29 327 8 +29 328 8 +29 329 8 +29 330 8 +29 331 8 +29 332 8 +29 333 8 +29 334 8 +29 335 8 +29 336 8 +29 337 8 +29 338 8 +29 339 8 +29 340 8 +29 341 8 +29 342 8 +29 343 8 +29 344 8 +29 345 8 +29 346 8 +29 347 8 +29 348 8 +29 349 8 +29 350 0 +29 351 0 +29 352 0 +29 353 0 +29 354 0 +29 355 0 +29 356 0 +29 357 0 +29 358 0 +29 359 0 +29 360 0 +29 361 0 +29 362 0 +29 363 0 +29 364 0 +29 365 0 +29 366 0 +29 367 0 +29 368 0 +29 369 0 +29 370 0 +29 371 0 +29 372 0 +29 373 0 +29 374 0 +29 375 0 +29 376 0 +29 377 0 +29 378 0 +29 379 0 +29 380 0 +29 381 0 +29 382 0 +29 383 0 +30 31 8 +30 32 8 +30 33 8 +30 34 8 +30 35 8 +30 36 8 +30 37 8 +30 38 8 +30 39 8 +30 40 8 +30 41 8 +30 42 8 +30 43 8 +30 44 8 +30 45 8 +30 46 8 +30 47 8 +30 48 8 +30 49 8 +30 50 8 +30 51 8 +30 52 8 +30 53 8 +30 54 8 +30 55 8 +30 56 8 +30 57 8 +30 58 8 +30 59 8 +30 60 8 +30 61 8 +30 62 8 +30 63 8 +30 64 8 +30 65 8 +30 66 8 +30 67 8 +30 68 8 +30 69 8 +30 70 8 +30 71 8 +30 72 8 +30 73 8 +30 74 8 +30 75 8 +30 76 8 +30 77 8 +30 78 8 +30 79 8 +30 80 8 +30 81 8 +30 82 8 +30 83 8 +30 84 8 +30 85 8 +30 86 8 +30 87 8 +30 88 8 +30 89 8 +30 90 8 +30 91 8 +30 92 8 +30 93 8 +30 94 8 +30 95 8 +30 96 8 +30 97 8 +30 98 8 +30 99 8 +30 100 8 +30 101 8 +30 102 8 +30 103 8 +30 104 8 +30 105 8 +30 106 8 +30 107 8 +30 108 8 +30 109 8 +30 110 8 +30 111 8 +30 112 8 +30 113 8 +30 114 8 +30 115 8 +30 116 8 +30 117 8 +30 118 8 +30 119 8 +30 120 8 +30 121 8 +30 122 8 +30 123 8 +30 124 8 +30 125 8 +30 126 8 +30 127 8 +30 128 8 +30 129 8 +30 130 8 +30 131 8 +30 132 8 +30 133 8 +30 134 8 +30 135 8 +30 136 8 +30 137 8 +30 138 8 +30 139 8 +30 140 8 +30 141 8 +30 142 8 +30 143 8 +30 144 8 +30 145 8 +30 146 8 +30 147 8 +30 148 8 +30 149 8 +30 150 8 +30 151 8 +30 152 8 +30 153 8 +30 154 8 +30 155 8 +30 156 8 +30 157 8 +30 158 8 +30 159 8 +30 160 8 +30 161 8 +30 162 8 +30 163 8 +30 164 8 +30 165 8 +30 166 8 +30 167 8 +30 168 8 +30 169 8 +30 170 8 +30 171 8 +30 172 8 +30 173 8 +30 174 8 +30 175 8 +30 176 8 +30 177 8 +30 178 8 +30 179 8 +30 180 8 +30 181 8 +30 182 8 +30 183 8 +30 184 8 +30 185 8 +30 186 8 +30 187 8 +30 188 8 +30 189 8 +30 190 8 +30 191 8 +30 192 8 +30 193 8 +30 194 8 +30 195 8 +30 196 8 +30 197 8 +30 198 8 +30 199 8 +30 200 8 +30 201 8 +30 202 8 +30 203 8 +30 204 8 +30 205 8 +30 206 8 +30 207 8 +30 208 8 +30 209 8 +30 210 8 +30 211 8 +30 212 8 +30 213 8 +30 214 8 +30 215 8 +30 216 8 +30 217 8 +30 218 8 +30 219 8 +30 220 8 +30 221 8 +30 222 8 +30 223 8 +30 224 8 +30 225 8 +30 226 8 +30 227 8 +30 228 8 +30 229 8 +30 230 8 +30 231 8 +30 232 8 +30 233 8 +30 234 8 +30 235 8 +30 236 8 +30 237 8 +30 238 8 +30 239 8 +30 240 8 +30 241 8 +30 242 8 +30 243 8 +30 244 8 +30 245 8 +30 246 8 +30 247 8 +30 248 8 +30 249 8 +30 250 8 +30 251 8 +30 252 8 +30 253 8 +30 254 8 +30 255 8 +30 256 8 +30 257 8 +30 258 8 +30 259 8 +30 260 8 +30 261 8 +30 262 8 +30 263 8 +30 264 8 +30 265 8 +30 266 8 +30 267 8 +30 268 8 +30 269 8 +30 270 8 +30 271 8 +30 272 8 +30 273 8 +30 274 8 +30 275 8 +30 276 8 +30 277 8 +30 278 8 +30 279 8 +30 280 8 +30 281 8 +30 282 8 +30 283 8 +30 284 8 +30 285 8 +30 286 8 +30 287 8 +30 288 8 +30 289 8 +30 290 8 +30 291 8 +30 292 8 +30 293 8 +30 294 8 +30 295 8 +30 296 8 +30 297 8 +30 298 8 +30 299 8 +30 300 8 +30 301 8 +30 302 8 +30 303 8 +30 304 8 +30 305 8 +30 306 8 +30 307 8 +30 308 8 +30 309 8 +30 310 8 +30 311 8 +30 312 8 +30 313 8 +30 314 8 +30 315 8 +30 316 8 +30 317 8 +30 318 8 +30 319 8 +30 320 8 +30 321 8 +30 322 8 +30 323 8 +30 324 8 +30 325 8 +30 326 8 +30 327 8 +30 328 8 +30 329 8 +30 330 8 +30 331 8 +30 332 8 +30 333 8 +30 334 8 +30 335 8 +30 336 8 +30 337 8 +30 338 8 +30 339 8 +30 340 8 +30 341 8 +30 342 8 +30 343 8 +30 344 8 +30 345 8 +30 346 8 +30 347 8 +30 348 8 +30 349 8 +30 350 0 +30 351 0 +30 352 0 +30 353 0 +30 354 0 +30 355 0 +30 356 0 +30 357 0 +30 358 0 +30 359 0 +30 360 0 +30 361 0 +30 362 0 +30 363 0 +30 364 0 +30 365 0 +30 366 0 +30 367 0 +30 368 0 +30 369 0 +30 370 0 +30 371 0 +30 372 0 +30 373 0 +30 374 0 +30 375 0 +30 376 0 +30 377 0 +30 378 0 +30 379 0 +30 380 0 +30 381 0 +30 382 0 +30 383 0 +31 32 8 +31 33 8 +31 34 8 +31 35 8 +31 36 8 +31 37 8 +31 38 8 +31 39 8 +31 40 8 +31 41 8 +31 42 8 +31 43 8 +31 44 8 +31 45 8 +31 46 8 +31 47 8 +31 48 8 +31 49 8 +31 50 8 +31 51 8 +31 52 8 +31 53 8 +31 54 8 +31 55 8 +31 56 8 +31 57 8 +31 58 8 +31 59 8 +31 60 8 +31 61 8 +31 62 8 +31 63 8 +31 64 8 +31 65 8 +31 66 8 +31 67 8 +31 68 8 +31 69 8 +31 70 8 +31 71 8 +31 72 8 +31 73 8 +31 74 8 +31 75 8 +31 76 8 +31 77 8 +31 78 8 +31 79 8 +31 80 8 +31 81 8 +31 82 8 +31 83 8 +31 84 8 +31 85 8 +31 86 8 +31 87 8 +31 88 8 +31 89 8 +31 90 8 +31 91 8 +31 92 8 +31 93 8 +31 94 8 +31 95 8 +31 96 8 +31 97 8 +31 98 8 +31 99 8 +31 100 8 +31 101 8 +31 102 8 +31 103 8 +31 104 8 +31 105 8 +31 106 8 +31 107 8 +31 108 8 +31 109 8 +31 110 8 +31 111 8 +31 112 8 +31 113 8 +31 114 8 +31 115 8 +31 116 8 +31 117 8 +31 118 8 +31 119 8 +31 120 8 +31 121 8 +31 122 8 +31 123 8 +31 124 8 +31 125 8 +31 126 8 +31 127 8 +31 128 8 +31 129 8 +31 130 8 +31 131 8 +31 132 8 +31 133 8 +31 134 8 +31 135 8 +31 136 8 +31 137 8 +31 138 8 +31 139 8 +31 140 8 +31 141 8 +31 142 8 +31 143 8 +31 144 8 +31 145 8 +31 146 8 +31 147 8 +31 148 8 +31 149 8 +31 150 8 +31 151 8 +31 152 8 +31 153 8 +31 154 8 +31 155 8 +31 156 8 +31 157 8 +31 158 8 +31 159 8 +31 160 8 +31 161 8 +31 162 8 +31 163 8 +31 164 8 +31 165 8 +31 166 8 +31 167 8 +31 168 8 +31 169 8 +31 170 8 +31 171 8 +31 172 8 +31 173 8 +31 174 8 +31 175 8 +31 176 8 +31 177 8 +31 178 8 +31 179 8 +31 180 8 +31 181 8 +31 182 8 +31 183 8 +31 184 8 +31 185 8 +31 186 8 +31 187 8 +31 188 8 +31 189 8 +31 190 8 +31 191 8 +31 192 8 +31 193 8 +31 194 8 +31 195 8 +31 196 8 +31 197 8 +31 198 8 +31 199 8 +31 200 8 +31 201 8 +31 202 8 +31 203 8 +31 204 8 +31 205 8 +31 206 8 +31 207 8 +31 208 8 +31 209 8 +31 210 8 +31 211 8 +31 212 8 +31 213 8 +31 214 8 +31 215 8 +31 216 8 +31 217 8 +31 218 8 +31 219 8 +31 220 8 +31 221 8 +31 222 8 +31 223 8 +31 224 8 +31 225 8 +31 226 8 +31 227 8 +31 228 8 +31 229 8 +31 230 8 +31 231 8 +31 232 8 +31 233 8 +31 234 8 +31 235 8 +31 236 8 +31 237 8 +31 238 8 +31 239 8 +31 240 8 +31 241 8 +31 242 8 +31 243 8 +31 244 8 +31 245 8 +31 246 8 +31 247 8 +31 248 8 +31 249 8 +31 250 8 +31 251 8 +31 252 8 +31 253 8 +31 254 8 +31 255 8 +31 256 8 +31 257 8 +31 258 8 +31 259 8 +31 260 8 +31 261 8 +31 262 8 +31 263 8 +31 264 8 +31 265 8 +31 266 8 +31 267 8 +31 268 8 +31 269 8 +31 270 8 +31 271 8 +31 272 8 +31 273 8 +31 274 8 +31 275 8 +31 276 8 +31 277 8 +31 278 8 +31 279 8 +31 280 8 +31 281 8 +31 282 8 +31 283 8 +31 284 8 +31 285 8 +31 286 8 +31 287 8 +31 288 8 +31 289 8 +31 290 8 +31 291 8 +31 292 8 +31 293 8 +31 294 8 +31 295 8 +31 296 8 +31 297 8 +31 298 8 +31 299 8 +31 300 8 +31 301 8 +31 302 8 +31 303 8 +31 304 8 +31 305 8 +31 306 8 +31 307 8 +31 308 8 +31 309 8 +31 310 8 +31 311 8 +31 312 8 +31 313 8 +31 314 8 +31 315 8 +31 316 8 +31 317 8 +31 318 8 +31 319 8 +31 320 8 +31 321 8 +31 322 8 +31 323 8 +31 324 8 +31 325 8 +31 326 8 +31 327 8 +31 328 8 +31 329 8 +31 330 8 +31 331 8 +31 332 8 +31 333 8 +31 334 8 +31 335 8 +31 336 8 +31 337 8 +31 338 8 +31 339 8 +31 340 8 +31 341 8 +31 342 8 +31 343 8 +31 344 8 +31 345 8 +31 346 8 +31 347 8 +31 348 8 +31 349 8 +31 350 0 +31 351 0 +31 352 0 +31 353 0 +31 354 0 +31 355 0 +31 356 0 +31 357 0 +31 358 0 +31 359 0 +31 360 0 +31 361 0 +31 362 0 +31 363 0 +31 364 0 +31 365 0 +31 366 0 +31 367 0 +31 368 0 +31 369 0 +31 370 0 +31 371 0 +31 372 0 +31 373 0 +31 374 0 +31 375 0 +31 376 0 +31 377 0 +31 378 0 +31 379 0 +31 380 0 +31 381 0 +31 382 0 +31 383 0 +32 33 8 +32 34 8 +32 35 8 +32 36 8 +32 37 8 +32 38 8 +32 39 8 +32 40 8 +32 41 8 +32 42 8 +32 43 8 +32 44 8 +32 45 8 +32 46 8 +32 47 8 +32 48 8 +32 49 8 +32 50 8 +32 51 8 +32 52 8 +32 53 8 +32 54 8 +32 55 8 +32 56 8 +32 57 8 +32 58 8 +32 59 8 +32 60 8 +32 61 8 +32 62 8 +32 63 8 +32 64 8 +32 65 8 +32 66 8 +32 67 8 +32 68 8 +32 69 8 +32 70 8 +32 71 8 +32 72 8 +32 73 8 +32 74 8 +32 75 8 +32 76 8 +32 77 8 +32 78 8 +32 79 8 +32 80 8 +32 81 8 +32 82 8 +32 83 8 +32 84 8 +32 85 8 +32 86 8 +32 87 8 +32 88 8 +32 89 8 +32 90 8 +32 91 8 +32 92 8 +32 93 8 +32 94 8 +32 95 8 +32 96 8 +32 97 8 +32 98 8 +32 99 8 +32 100 8 +32 101 8 +32 102 8 +32 103 8 +32 104 8 +32 105 8 +32 106 8 +32 107 8 +32 108 8 +32 109 8 +32 110 8 +32 111 8 +32 112 8 +32 113 8 +32 114 8 +32 115 8 +32 116 8 +32 117 8 +32 118 8 +32 119 8 +32 120 8 +32 121 8 +32 122 8 +32 123 8 +32 124 8 +32 125 8 +32 126 8 +32 127 8 +32 128 8 +32 129 8 +32 130 8 +32 131 8 +32 132 8 +32 133 8 +32 134 8 +32 135 8 +32 136 8 +32 137 8 +32 138 8 +32 139 8 +32 140 8 +32 141 8 +32 142 8 +32 143 8 +32 144 8 +32 145 8 +32 146 8 +32 147 8 +32 148 8 +32 149 8 +32 150 8 +32 151 8 +32 152 8 +32 153 8 +32 154 8 +32 155 8 +32 156 8 +32 157 8 +32 158 8 +32 159 8 +32 160 8 +32 161 8 +32 162 8 +32 163 8 +32 164 8 +32 165 8 +32 166 8 +32 167 8 +32 168 8 +32 169 8 +32 170 8 +32 171 8 +32 172 8 +32 173 8 +32 174 8 +32 175 8 +32 176 8 +32 177 8 +32 178 8 +32 179 8 +32 180 8 +32 181 8 +32 182 8 +32 183 8 +32 184 8 +32 185 8 +32 186 8 +32 187 8 +32 188 8 +32 189 8 +32 190 8 +32 191 8 +32 192 8 +32 193 8 +32 194 8 +32 195 8 +32 196 8 +32 197 8 +32 198 8 +32 199 8 +32 200 8 +32 201 8 +32 202 8 +32 203 8 +32 204 8 +32 205 8 +32 206 8 +32 207 8 +32 208 8 +32 209 8 +32 210 8 +32 211 8 +32 212 8 +32 213 8 +32 214 8 +32 215 8 +32 216 8 +32 217 8 +32 218 8 +32 219 8 +32 220 8 +32 221 8 +32 222 8 +32 223 8 +32 224 8 +32 225 8 +32 226 8 +32 227 8 +32 228 8 +32 229 8 +32 230 8 +32 231 8 +32 232 8 +32 233 8 +32 234 8 +32 235 8 +32 236 8 +32 237 8 +32 238 8 +32 239 8 +32 240 8 +32 241 8 +32 242 8 +32 243 8 +32 244 8 +32 245 8 +32 246 8 +32 247 8 +32 248 8 +32 249 8 +32 250 8 +32 251 8 +32 252 8 +32 253 8 +32 254 8 +32 255 8 +32 256 8 +32 257 8 +32 258 8 +32 259 8 +32 260 8 +32 261 8 +32 262 8 +32 263 8 +32 264 8 +32 265 8 +32 266 8 +32 267 8 +32 268 8 +32 269 8 +32 270 8 +32 271 8 +32 272 8 +32 273 8 +32 274 8 +32 275 8 +32 276 8 +32 277 8 +32 278 8 +32 279 8 +32 280 8 +32 281 8 +32 282 8 +32 283 8 +32 284 8 +32 285 8 +32 286 8 +32 287 8 +32 288 8 +32 289 8 +32 290 8 +32 291 8 +32 292 8 +32 293 8 +32 294 8 +32 295 8 +32 296 8 +32 297 8 +32 298 8 +32 299 8 +32 300 8 +32 301 8 +32 302 8 +32 303 8 +32 304 8 +32 305 8 +32 306 8 +32 307 8 +32 308 8 +32 309 8 +32 310 8 +32 311 8 +32 312 8 +32 313 8 +32 314 8 +32 315 8 +32 316 8 +32 317 8 +32 318 8 +32 319 8 +32 320 8 +32 321 8 +32 322 8 +32 323 8 +32 324 8 +32 325 8 +32 326 8 +32 327 8 +32 328 8 +32 329 8 +32 330 8 +32 331 8 +32 332 8 +32 333 8 +32 334 8 +32 335 8 +32 336 8 +32 337 8 +32 338 8 +32 339 8 +32 340 8 +32 341 8 +32 342 8 +32 343 8 +32 344 8 +32 345 8 +32 346 8 +32 347 8 +32 348 8 +32 349 8 +32 350 0 +32 351 0 +32 352 0 +32 353 0 +32 354 0 +32 355 0 +32 356 0 +32 357 0 +32 358 0 +32 359 0 +32 360 0 +32 361 0 +32 362 0 +32 363 0 +32 364 0 +32 365 0 +32 366 0 +32 367 0 +32 368 0 +32 369 0 +32 370 0 +32 371 0 +32 372 0 +32 373 0 +32 374 0 +32 375 0 +32 376 0 +32 377 0 +32 378 0 +32 379 0 +32 380 0 +32 381 0 +32 382 0 +32 383 0 +33 34 8 +33 35 8 +33 36 8 +33 37 8 +33 38 8 +33 39 8 +33 40 8 +33 41 8 +33 42 8 +33 43 8 +33 44 8 +33 45 8 +33 46 8 +33 47 8 +33 48 8 +33 49 8 +33 50 8 +33 51 8 +33 52 8 +33 53 8 +33 54 8 +33 55 8 +33 56 8 +33 57 8 +33 58 8 +33 59 8 +33 60 8 +33 61 8 +33 62 8 +33 63 8 +33 64 8 +33 65 8 +33 66 8 +33 67 8 +33 68 8 +33 69 8 +33 70 8 +33 71 8 +33 72 8 +33 73 8 +33 74 8 +33 75 8 +33 76 8 +33 77 8 +33 78 8 +33 79 8 +33 80 8 +33 81 8 +33 82 8 +33 83 8 +33 84 8 +33 85 8 +33 86 8 +33 87 8 +33 88 8 +33 89 8 +33 90 8 +33 91 8 +33 92 8 +33 93 8 +33 94 8 +33 95 8 +33 96 8 +33 97 8 +33 98 8 +33 99 8 +33 100 8 +33 101 8 +33 102 8 +33 103 8 +33 104 8 +33 105 8 +33 106 8 +33 107 8 +33 108 8 +33 109 8 +33 110 8 +33 111 8 +33 112 8 +33 113 8 +33 114 8 +33 115 8 +33 116 8 +33 117 8 +33 118 8 +33 119 8 +33 120 8 +33 121 8 +33 122 8 +33 123 8 +33 124 8 +33 125 8 +33 126 8 +33 127 8 +33 128 8 +33 129 8 +33 130 8 +33 131 8 +33 132 8 +33 133 8 +33 134 8 +33 135 8 +33 136 8 +33 137 8 +33 138 8 +33 139 8 +33 140 8 +33 141 8 +33 142 8 +33 143 8 +33 144 8 +33 145 8 +33 146 8 +33 147 8 +33 148 8 +33 149 8 +33 150 8 +33 151 8 +33 152 8 +33 153 8 +33 154 8 +33 155 8 +33 156 8 +33 157 8 +33 158 8 +33 159 8 +33 160 8 +33 161 8 +33 162 8 +33 163 8 +33 164 8 +33 165 8 +33 166 8 +33 167 8 +33 168 8 +33 169 8 +33 170 8 +33 171 8 +33 172 8 +33 173 8 +33 174 8 +33 175 8 +33 176 8 +33 177 8 +33 178 8 +33 179 8 +33 180 8 +33 181 8 +33 182 8 +33 183 8 +33 184 8 +33 185 8 +33 186 8 +33 187 8 +33 188 8 +33 189 8 +33 190 8 +33 191 8 +33 192 8 +33 193 8 +33 194 8 +33 195 8 +33 196 8 +33 197 8 +33 198 8 +33 199 8 +33 200 8 +33 201 8 +33 202 8 +33 203 8 +33 204 8 +33 205 8 +33 206 8 +33 207 8 +33 208 8 +33 209 8 +33 210 8 +33 211 8 +33 212 8 +33 213 8 +33 214 8 +33 215 8 +33 216 8 +33 217 8 +33 218 8 +33 219 8 +33 220 8 +33 221 8 +33 222 8 +33 223 8 +33 224 8 +33 225 8 +33 226 8 +33 227 8 +33 228 8 +33 229 8 +33 230 8 +33 231 8 +33 232 8 +33 233 8 +33 234 8 +33 235 8 +33 236 8 +33 237 8 +33 238 8 +33 239 8 +33 240 8 +33 241 8 +33 242 8 +33 243 8 +33 244 8 +33 245 8 +33 246 8 +33 247 8 +33 248 8 +33 249 8 +33 250 8 +33 251 8 +33 252 8 +33 253 8 +33 254 8 +33 255 8 +33 256 8 +33 257 8 +33 258 8 +33 259 8 +33 260 8 +33 261 8 +33 262 8 +33 263 8 +33 264 8 +33 265 8 +33 266 8 +33 267 8 +33 268 8 +33 269 8 +33 270 8 +33 271 8 +33 272 8 +33 273 8 +33 274 8 +33 275 8 +33 276 8 +33 277 8 +33 278 8 +33 279 8 +33 280 8 +33 281 8 +33 282 8 +33 283 8 +33 284 8 +33 285 8 +33 286 8 +33 287 8 +33 288 8 +33 289 8 +33 290 8 +33 291 8 +33 292 8 +33 293 8 +33 294 8 +33 295 8 +33 296 8 +33 297 8 +33 298 8 +33 299 8 +33 300 8 +33 301 8 +33 302 8 +33 303 8 +33 304 8 +33 305 8 +33 306 8 +33 307 8 +33 308 8 +33 309 8 +33 310 8 +33 311 8 +33 312 8 +33 313 8 +33 314 8 +33 315 8 +33 316 8 +33 317 8 +33 318 8 +33 319 8 +33 320 8 +33 321 8 +33 322 8 +33 323 8 +33 324 8 +33 325 8 +33 326 8 +33 327 8 +33 328 8 +33 329 8 +33 330 8 +33 331 8 +33 332 8 +33 333 8 +33 334 8 +33 335 8 +33 336 8 +33 337 8 +33 338 8 +33 339 8 +33 340 8 +33 341 8 +33 342 8 +33 343 8 +33 344 8 +33 345 8 +33 346 8 +33 347 8 +33 348 8 +33 349 8 +33 350 0 +33 351 0 +33 352 0 +33 353 0 +33 354 0 +33 355 0 +33 356 0 +33 357 0 +33 358 0 +33 359 0 +33 360 0 +33 361 0 +33 362 0 +33 363 0 +33 364 0 +33 365 0 +33 366 0 +33 367 0 +33 368 0 +33 369 0 +33 370 0 +33 371 0 +33 372 0 +33 373 0 +33 374 0 +33 375 0 +33 376 0 +33 377 0 +33 378 0 +33 379 0 +33 380 0 +33 381 0 +33 382 0 +33 383 0 +34 35 8 +34 36 8 +34 37 8 +34 38 8 +34 39 8 +34 40 8 +34 41 8 +34 42 8 +34 43 8 +34 44 8 +34 45 8 +34 46 8 +34 47 8 +34 48 8 +34 49 8 +34 50 8 +34 51 8 +34 52 8 +34 53 8 +34 54 8 +34 55 8 +34 56 8 +34 57 8 +34 58 8 +34 59 8 +34 60 8 +34 61 8 +34 62 8 +34 63 8 +34 64 8 +34 65 8 +34 66 8 +34 67 8 +34 68 8 +34 69 8 +34 70 8 +34 71 8 +34 72 8 +34 73 8 +34 74 8 +34 75 8 +34 76 8 +34 77 8 +34 78 8 +34 79 8 +34 80 8 +34 81 8 +34 82 8 +34 83 8 +34 84 8 +34 85 8 +34 86 8 +34 87 8 +34 88 8 +34 89 8 +34 90 8 +34 91 8 +34 92 8 +34 93 8 +34 94 8 +34 95 8 +34 96 8 +34 97 8 +34 98 8 +34 99 8 +34 100 8 +34 101 8 +34 102 8 +34 103 8 +34 104 8 +34 105 8 +34 106 8 +34 107 8 +34 108 8 +34 109 8 +34 110 8 +34 111 8 +34 112 8 +34 113 8 +34 114 8 +34 115 8 +34 116 8 +34 117 8 +34 118 8 +34 119 8 +34 120 8 +34 121 8 +34 122 8 +34 123 8 +34 124 8 +34 125 8 +34 126 8 +34 127 8 +34 128 8 +34 129 8 +34 130 8 +34 131 8 +34 132 8 +34 133 8 +34 134 8 +34 135 8 +34 136 8 +34 137 8 +34 138 8 +34 139 8 +34 140 8 +34 141 8 +34 142 8 +34 143 8 +34 144 8 +34 145 8 +34 146 8 +34 147 8 +34 148 8 +34 149 8 +34 150 8 +34 151 8 +34 152 8 +34 153 8 +34 154 8 +34 155 8 +34 156 8 +34 157 8 +34 158 8 +34 159 8 +34 160 8 +34 161 8 +34 162 8 +34 163 8 +34 164 8 +34 165 8 +34 166 8 +34 167 8 +34 168 8 +34 169 8 +34 170 8 +34 171 8 +34 172 8 +34 173 8 +34 174 8 +34 175 8 +34 176 8 +34 177 8 +34 178 8 +34 179 8 +34 180 8 +34 181 8 +34 182 8 +34 183 8 +34 184 8 +34 185 8 +34 186 8 +34 187 8 +34 188 8 +34 189 8 +34 190 8 +34 191 8 +34 192 8 +34 193 8 +34 194 8 +34 195 8 +34 196 8 +34 197 8 +34 198 8 +34 199 8 +34 200 8 +34 201 8 +34 202 8 +34 203 8 +34 204 8 +34 205 8 +34 206 8 +34 207 8 +34 208 8 +34 209 8 +34 210 8 +34 211 8 +34 212 8 +34 213 8 +34 214 8 +34 215 8 +34 216 8 +34 217 8 +34 218 8 +34 219 8 +34 220 8 +34 221 8 +34 222 8 +34 223 8 +34 224 8 +34 225 8 +34 226 8 +34 227 8 +34 228 8 +34 229 8 +34 230 8 +34 231 8 +34 232 8 +34 233 8 +34 234 8 +34 235 8 +34 236 8 +34 237 8 +34 238 8 +34 239 8 +34 240 8 +34 241 8 +34 242 8 +34 243 8 +34 244 8 +34 245 8 +34 246 8 +34 247 8 +34 248 8 +34 249 8 +34 250 8 +34 251 8 +34 252 8 +34 253 8 +34 254 8 +34 255 8 +34 256 8 +34 257 8 +34 258 8 +34 259 8 +34 260 8 +34 261 8 +34 262 8 +34 263 8 +34 264 8 +34 265 8 +34 266 8 +34 267 8 +34 268 8 +34 269 8 +34 270 8 +34 271 8 +34 272 8 +34 273 8 +34 274 8 +34 275 8 +34 276 8 +34 277 8 +34 278 8 +34 279 8 +34 280 8 +34 281 8 +34 282 8 +34 283 8 +34 284 8 +34 285 8 +34 286 8 +34 287 8 +34 288 8 +34 289 8 +34 290 8 +34 291 8 +34 292 8 +34 293 8 +34 294 8 +34 295 8 +34 296 8 +34 297 8 +34 298 8 +34 299 8 +34 300 8 +34 301 8 +34 302 8 +34 303 8 +34 304 8 +34 305 8 +34 306 8 +34 307 8 +34 308 8 +34 309 8 +34 310 8 +34 311 8 +34 312 8 +34 313 8 +34 314 8 +34 315 8 +34 316 8 +34 317 8 +34 318 8 +34 319 8 +34 320 8 +34 321 8 +34 322 8 +34 323 8 +34 324 8 +34 325 8 +34 326 8 +34 327 8 +34 328 8 +34 329 8 +34 330 8 +34 331 8 +34 332 8 +34 333 8 +34 334 8 +34 335 8 +34 336 8 +34 337 8 +34 338 8 +34 339 8 +34 340 8 +34 341 8 +34 342 8 +34 343 8 +34 344 8 +34 345 8 +34 346 8 +34 347 8 +34 348 8 +34 349 8 +34 350 0 +34 351 0 +34 352 0 +34 353 0 +34 354 0 +34 355 0 +34 356 0 +34 357 0 +34 358 0 +34 359 0 +34 360 0 +34 361 0 +34 362 0 +34 363 0 +34 364 0 +34 365 0 +34 366 0 +34 367 0 +34 368 0 +34 369 0 +34 370 0 +34 371 0 +34 372 0 +34 373 0 +34 374 0 +34 375 0 +34 376 0 +34 377 0 +34 378 0 +34 379 0 +34 380 0 +34 381 0 +34 382 0 +34 383 0 +35 36 8 +35 37 8 +35 38 8 +35 39 8 +35 40 8 +35 41 8 +35 42 8 +35 43 8 +35 44 8 +35 45 8 +35 46 8 +35 47 8 +35 48 8 +35 49 8 +35 50 8 +35 51 8 +35 52 8 +35 53 8 +35 54 8 +35 55 8 +35 56 8 +35 57 8 +35 58 8 +35 59 8 +35 60 8 +35 61 8 +35 62 8 +35 63 8 +35 64 8 +35 65 8 +35 66 8 +35 67 8 +35 68 8 +35 69 8 +35 70 8 +35 71 8 +35 72 8 +35 73 8 +35 74 8 +35 75 8 +35 76 8 +35 77 8 +35 78 8 +35 79 8 +35 80 8 +35 81 8 +35 82 8 +35 83 8 +35 84 8 +35 85 8 +35 86 8 +35 87 8 +35 88 8 +35 89 8 +35 90 8 +35 91 8 +35 92 8 +35 93 8 +35 94 8 +35 95 8 +35 96 8 +35 97 8 +35 98 8 +35 99 8 +35 100 8 +35 101 8 +35 102 8 +35 103 8 +35 104 8 +35 105 8 +35 106 8 +35 107 8 +35 108 8 +35 109 8 +35 110 8 +35 111 8 +35 112 8 +35 113 8 +35 114 8 +35 115 8 +35 116 8 +35 117 8 +35 118 8 +35 119 8 +35 120 8 +35 121 8 +35 122 8 +35 123 8 +35 124 8 +35 125 8 +35 126 8 +35 127 8 +35 128 8 +35 129 8 +35 130 8 +35 131 8 +35 132 8 +35 133 8 +35 134 8 +35 135 8 +35 136 8 +35 137 8 +35 138 8 +35 139 8 +35 140 8 +35 141 8 +35 142 8 +35 143 8 +35 144 8 +35 145 8 +35 146 8 +35 147 8 +35 148 8 +35 149 8 +35 150 8 +35 151 8 +35 152 8 +35 153 8 +35 154 8 +35 155 8 +35 156 8 +35 157 8 +35 158 8 +35 159 8 +35 160 8 +35 161 8 +35 162 8 +35 163 8 +35 164 8 +35 165 8 +35 166 8 +35 167 8 +35 168 8 +35 169 8 +35 170 8 +35 171 8 +35 172 8 +35 173 8 +35 174 8 +35 175 8 +35 176 8 +35 177 8 +35 178 8 +35 179 8 +35 180 8 +35 181 8 +35 182 8 +35 183 8 +35 184 8 +35 185 8 +35 186 8 +35 187 8 +35 188 8 +35 189 8 +35 190 8 +35 191 8 +35 192 8 +35 193 8 +35 194 8 +35 195 8 +35 196 8 +35 197 8 +35 198 8 +35 199 8 +35 200 8 +35 201 8 +35 202 8 +35 203 8 +35 204 8 +35 205 8 +35 206 8 +35 207 8 +35 208 8 +35 209 8 +35 210 8 +35 211 8 +35 212 8 +35 213 8 +35 214 8 +35 215 8 +35 216 8 +35 217 8 +35 218 8 +35 219 8 +35 220 8 +35 221 8 +35 222 8 +35 223 8 +35 224 8 +35 225 8 +35 226 8 +35 227 8 +35 228 8 +35 229 8 +35 230 8 +35 231 8 +35 232 8 +35 233 8 +35 234 8 +35 235 8 +35 236 8 +35 237 8 +35 238 8 +35 239 8 +35 240 8 +35 241 8 +35 242 8 +35 243 8 +35 244 8 +35 245 8 +35 246 8 +35 247 8 +35 248 8 +35 249 8 +35 250 8 +35 251 8 +35 252 8 +35 253 8 +35 254 8 +35 255 8 +35 256 8 +35 257 8 +35 258 8 +35 259 8 +35 260 8 +35 261 8 +35 262 8 +35 263 8 +35 264 8 +35 265 8 +35 266 8 +35 267 8 +35 268 8 +35 269 8 +35 270 8 +35 271 8 +35 272 8 +35 273 8 +35 274 8 +35 275 8 +35 276 8 +35 277 8 +35 278 8 +35 279 8 +35 280 8 +35 281 8 +35 282 8 +35 283 8 +35 284 8 +35 285 8 +35 286 8 +35 287 8 +35 288 8 +35 289 8 +35 290 8 +35 291 8 +35 292 8 +35 293 8 +35 294 8 +35 295 8 +35 296 8 +35 297 8 +35 298 8 +35 299 8 +35 300 8 +35 301 8 +35 302 8 +35 303 8 +35 304 8 +35 305 8 +35 306 8 +35 307 8 +35 308 8 +35 309 8 +35 310 8 +35 311 8 +35 312 8 +35 313 8 +35 314 8 +35 315 8 +35 316 8 +35 317 8 +35 318 8 +35 319 8 +35 320 8 +35 321 8 +35 322 8 +35 323 8 +35 324 8 +35 325 8 +35 326 8 +35 327 8 +35 328 8 +35 329 8 +35 330 8 +35 331 8 +35 332 8 +35 333 8 +35 334 8 +35 335 8 +35 336 8 +35 337 8 +35 338 8 +35 339 8 +35 340 8 +35 341 8 +35 342 8 +35 343 8 +35 344 8 +35 345 8 +35 346 8 +35 347 8 +35 348 8 +35 349 8 +35 350 0 +35 351 0 +35 352 0 +35 353 0 +35 354 0 +35 355 0 +35 356 0 +35 357 0 +35 358 0 +35 359 0 +35 360 0 +35 361 0 +35 362 0 +35 363 0 +35 364 0 +35 365 0 +35 366 0 +35 367 0 +35 368 0 +35 369 0 +35 370 0 +35 371 0 +35 372 0 +35 373 0 +35 374 0 +35 375 0 +35 376 0 +35 377 0 +35 378 0 +35 379 0 +35 380 0 +35 381 0 +35 382 0 +35 383 0 +36 37 8 +36 38 8 +36 39 8 +36 40 8 +36 41 8 +36 42 8 +36 43 8 +36 44 8 +36 45 8 +36 46 8 +36 47 8 +36 48 8 +36 49 8 +36 50 8 +36 51 8 +36 52 8 +36 53 8 +36 54 8 +36 55 8 +36 56 8 +36 57 8 +36 58 8 +36 59 8 +36 60 8 +36 61 8 +36 62 8 +36 63 8 +36 64 8 +36 65 8 +36 66 8 +36 67 8 +36 68 8 +36 69 8 +36 70 8 +36 71 8 +36 72 8 +36 73 8 +36 74 8 +36 75 8 +36 76 8 +36 77 8 +36 78 8 +36 79 8 +36 80 8 +36 81 8 +36 82 8 +36 83 8 +36 84 8 +36 85 8 +36 86 8 +36 87 8 +36 88 8 +36 89 8 +36 90 8 +36 91 8 +36 92 8 +36 93 8 +36 94 8 +36 95 8 +36 96 8 +36 97 8 +36 98 8 +36 99 8 +36 100 8 +36 101 8 +36 102 8 +36 103 8 +36 104 8 +36 105 8 +36 106 8 +36 107 8 +36 108 8 +36 109 8 +36 110 8 +36 111 8 +36 112 8 +36 113 8 +36 114 8 +36 115 8 +36 116 8 +36 117 8 +36 118 8 +36 119 8 +36 120 8 +36 121 8 +36 122 8 +36 123 8 +36 124 8 +36 125 8 +36 126 8 +36 127 8 +36 128 8 +36 129 8 +36 130 8 +36 131 8 +36 132 8 +36 133 8 +36 134 8 +36 135 8 +36 136 8 +36 137 8 +36 138 8 +36 139 8 +36 140 8 +36 141 8 +36 142 8 +36 143 8 +36 144 8 +36 145 8 +36 146 8 +36 147 8 +36 148 8 +36 149 8 +36 150 8 +36 151 8 +36 152 8 +36 153 8 +36 154 8 +36 155 8 +36 156 8 +36 157 8 +36 158 8 +36 159 8 +36 160 8 +36 161 8 +36 162 8 +36 163 8 +36 164 8 +36 165 8 +36 166 8 +36 167 8 +36 168 8 +36 169 8 +36 170 8 +36 171 8 +36 172 8 +36 173 8 +36 174 8 +36 175 8 +36 176 8 +36 177 8 +36 178 8 +36 179 8 +36 180 8 +36 181 8 +36 182 8 +36 183 8 +36 184 8 +36 185 8 +36 186 8 +36 187 8 +36 188 8 +36 189 8 +36 190 8 +36 191 8 +36 192 8 +36 193 8 +36 194 8 +36 195 8 +36 196 8 +36 197 8 +36 198 8 +36 199 8 +36 200 8 +36 201 8 +36 202 8 +36 203 8 +36 204 8 +36 205 8 +36 206 8 +36 207 8 +36 208 8 +36 209 8 +36 210 8 +36 211 8 +36 212 8 +36 213 8 +36 214 8 +36 215 8 +36 216 8 +36 217 8 +36 218 8 +36 219 8 +36 220 8 +36 221 8 +36 222 8 +36 223 8 +36 224 8 +36 225 8 +36 226 8 +36 227 8 +36 228 8 +36 229 8 +36 230 8 +36 231 8 +36 232 8 +36 233 8 +36 234 8 +36 235 8 +36 236 8 +36 237 8 +36 238 8 +36 239 8 +36 240 8 +36 241 8 +36 242 8 +36 243 8 +36 244 8 +36 245 8 +36 246 8 +36 247 8 +36 248 8 +36 249 8 +36 250 8 +36 251 8 +36 252 8 +36 253 8 +36 254 8 +36 255 8 +36 256 8 +36 257 8 +36 258 8 +36 259 8 +36 260 8 +36 261 8 +36 262 8 +36 263 8 +36 264 8 +36 265 8 +36 266 8 +36 267 8 +36 268 8 +36 269 8 +36 270 8 +36 271 8 +36 272 8 +36 273 8 +36 274 8 +36 275 8 +36 276 8 +36 277 8 +36 278 8 +36 279 8 +36 280 8 +36 281 8 +36 282 8 +36 283 8 +36 284 8 +36 285 8 +36 286 8 +36 287 8 +36 288 8 +36 289 8 +36 290 8 +36 291 8 +36 292 8 +36 293 8 +36 294 8 +36 295 8 +36 296 8 +36 297 8 +36 298 8 +36 299 8 +36 300 8 +36 301 8 +36 302 8 +36 303 8 +36 304 8 +36 305 8 +36 306 8 +36 307 8 +36 308 8 +36 309 8 +36 310 8 +36 311 8 +36 312 8 +36 313 8 +36 314 8 +36 315 8 +36 316 8 +36 317 8 +36 318 8 +36 319 8 +36 320 8 +36 321 8 +36 322 8 +36 323 8 +36 324 8 +36 325 8 +36 326 8 +36 327 8 +36 328 8 +36 329 8 +36 330 8 +36 331 8 +36 332 8 +36 333 8 +36 334 8 +36 335 8 +36 336 8 +36 337 8 +36 338 8 +36 339 8 +36 340 8 +36 341 8 +36 342 8 +36 343 8 +36 344 8 +36 345 8 +36 346 8 +36 347 8 +36 348 8 +36 349 8 +36 350 0 +36 351 0 +36 352 0 +36 353 0 +36 354 0 +36 355 0 +36 356 0 +36 357 0 +36 358 0 +36 359 0 +36 360 0 +36 361 0 +36 362 0 +36 363 0 +36 364 0 +36 365 0 +36 366 0 +36 367 0 +36 368 0 +36 369 0 +36 370 0 +36 371 0 +36 372 0 +36 373 0 +36 374 0 +36 375 0 +36 376 0 +36 377 0 +36 378 0 +36 379 0 +36 380 0 +36 381 0 +36 382 0 +36 383 0 +37 38 8 +37 39 8 +37 40 8 +37 41 8 +37 42 8 +37 43 8 +37 44 8 +37 45 8 +37 46 8 +37 47 8 +37 48 8 +37 49 8 +37 50 8 +37 51 8 +37 52 8 +37 53 8 +37 54 8 +37 55 8 +37 56 8 +37 57 8 +37 58 8 +37 59 8 +37 60 8 +37 61 8 +37 62 8 +37 63 8 +37 64 8 +37 65 8 +37 66 8 +37 67 8 +37 68 8 +37 69 8 +37 70 8 +37 71 8 +37 72 8 +37 73 8 +37 74 8 +37 75 8 +37 76 8 +37 77 8 +37 78 8 +37 79 8 +37 80 8 +37 81 8 +37 82 8 +37 83 8 +37 84 8 +37 85 8 +37 86 8 +37 87 8 +37 88 8 +37 89 8 +37 90 8 +37 91 8 +37 92 8 +37 93 8 +37 94 8 +37 95 8 +37 96 8 +37 97 8 +37 98 8 +37 99 8 +37 100 8 +37 101 8 +37 102 8 +37 103 8 +37 104 8 +37 105 8 +37 106 8 +37 107 8 +37 108 8 +37 109 8 +37 110 8 +37 111 8 +37 112 8 +37 113 8 +37 114 8 +37 115 8 +37 116 8 +37 117 8 +37 118 8 +37 119 8 +37 120 8 +37 121 8 +37 122 8 +37 123 8 +37 124 8 +37 125 8 +37 126 8 +37 127 8 +37 128 8 +37 129 8 +37 130 8 +37 131 8 +37 132 8 +37 133 8 +37 134 8 +37 135 8 +37 136 8 +37 137 8 +37 138 8 +37 139 8 +37 140 8 +37 141 8 +37 142 8 +37 143 8 +37 144 8 +37 145 8 +37 146 8 +37 147 8 +37 148 8 +37 149 8 +37 150 8 +37 151 8 +37 152 8 +37 153 8 +37 154 8 +37 155 8 +37 156 8 +37 157 8 +37 158 8 +37 159 8 +37 160 8 +37 161 8 +37 162 8 +37 163 8 +37 164 8 +37 165 8 +37 166 8 +37 167 8 +37 168 8 +37 169 8 +37 170 8 +37 171 8 +37 172 8 +37 173 8 +37 174 8 +37 175 8 +37 176 8 +37 177 8 +37 178 8 +37 179 8 +37 180 8 +37 181 8 +37 182 8 +37 183 8 +37 184 8 +37 185 8 +37 186 8 +37 187 8 +37 188 8 +37 189 8 +37 190 8 +37 191 8 +37 192 8 +37 193 8 +37 194 8 +37 195 8 +37 196 8 +37 197 8 +37 198 8 +37 199 8 +37 200 8 +37 201 8 +37 202 8 +37 203 8 +37 204 8 +37 205 8 +37 206 8 +37 207 8 +37 208 8 +37 209 8 +37 210 8 +37 211 8 +37 212 8 +37 213 8 +37 214 8 +37 215 8 +37 216 8 +37 217 8 +37 218 8 +37 219 8 +37 220 8 +37 221 8 +37 222 8 +37 223 8 +37 224 8 +37 225 8 +37 226 8 +37 227 8 +37 228 8 +37 229 8 +37 230 8 +37 231 8 +37 232 8 +37 233 8 +37 234 8 +37 235 8 +37 236 8 +37 237 8 +37 238 8 +37 239 8 +37 240 8 +37 241 8 +37 242 8 +37 243 8 +37 244 8 +37 245 8 +37 246 8 +37 247 8 +37 248 8 +37 249 8 +37 250 8 +37 251 8 +37 252 8 +37 253 8 +37 254 8 +37 255 8 +37 256 8 +37 257 8 +37 258 8 +37 259 8 +37 260 8 +37 261 8 +37 262 8 +37 263 8 +37 264 8 +37 265 8 +37 266 8 +37 267 8 +37 268 8 +37 269 8 +37 270 8 +37 271 8 +37 272 8 +37 273 8 +37 274 8 +37 275 8 +37 276 8 +37 277 8 +37 278 8 +37 279 8 +37 280 8 +37 281 8 +37 282 8 +37 283 8 +37 284 8 +37 285 8 +37 286 8 +37 287 8 +37 288 8 +37 289 8 +37 290 8 +37 291 8 +37 292 8 +37 293 8 +37 294 8 +37 295 8 +37 296 8 +37 297 8 +37 298 8 +37 299 8 +37 300 8 +37 301 8 +37 302 8 +37 303 8 +37 304 8 +37 305 8 +37 306 8 +37 307 8 +37 308 8 +37 309 8 +37 310 8 +37 311 8 +37 312 8 +37 313 8 +37 314 8 +37 315 8 +37 316 8 +37 317 8 +37 318 8 +37 319 8 +37 320 8 +37 321 8 +37 322 8 +37 323 8 +37 324 8 +37 325 8 +37 326 8 +37 327 8 +37 328 8 +37 329 8 +37 330 8 +37 331 8 +37 332 8 +37 333 8 +37 334 8 +37 335 8 +37 336 8 +37 337 8 +37 338 8 +37 339 8 +37 340 8 +37 341 8 +37 342 8 +37 343 8 +37 344 8 +37 345 8 +37 346 8 +37 347 8 +37 348 8 +37 349 8 +37 350 0 +37 351 0 +37 352 0 +37 353 0 +37 354 0 +37 355 0 +37 356 0 +37 357 0 +37 358 0 +37 359 0 +37 360 0 +37 361 0 +37 362 0 +37 363 0 +37 364 0 +37 365 0 +37 366 0 +37 367 0 +37 368 0 +37 369 0 +37 370 0 +37 371 0 +37 372 0 +37 373 0 +37 374 0 +37 375 0 +37 376 0 +37 377 0 +37 378 0 +37 379 0 +37 380 0 +37 381 0 +37 382 0 +37 383 0 +38 39 8 +38 40 8 +38 41 8 +38 42 8 +38 43 8 +38 44 8 +38 45 8 +38 46 8 +38 47 8 +38 48 8 +38 49 8 +38 50 8 +38 51 8 +38 52 8 +38 53 8 +38 54 8 +38 55 8 +38 56 8 +38 57 8 +38 58 8 +38 59 8 +38 60 8 +38 61 8 +38 62 8 +38 63 8 +38 64 8 +38 65 8 +38 66 8 +38 67 8 +38 68 8 +38 69 8 +38 70 8 +38 71 8 +38 72 8 +38 73 8 +38 74 8 +38 75 8 +38 76 8 +38 77 8 +38 78 8 +38 79 8 +38 80 8 +38 81 8 +38 82 8 +38 83 8 +38 84 8 +38 85 8 +38 86 8 +38 87 8 +38 88 8 +38 89 8 +38 90 8 +38 91 8 +38 92 8 +38 93 8 +38 94 8 +38 95 8 +38 96 8 +38 97 8 +38 98 8 +38 99 8 +38 100 8 +38 101 8 +38 102 8 +38 103 8 +38 104 8 +38 105 8 +38 106 8 +38 107 8 +38 108 8 +38 109 8 +38 110 8 +38 111 8 +38 112 8 +38 113 8 +38 114 8 +38 115 8 +38 116 8 +38 117 8 +38 118 8 +38 119 8 +38 120 8 +38 121 8 +38 122 8 +38 123 8 +38 124 8 +38 125 8 +38 126 8 +38 127 8 +38 128 8 +38 129 8 +38 130 8 +38 131 8 +38 132 8 +38 133 8 +38 134 8 +38 135 8 +38 136 8 +38 137 8 +38 138 8 +38 139 8 +38 140 8 +38 141 8 +38 142 8 +38 143 8 +38 144 8 +38 145 8 +38 146 8 +38 147 8 +38 148 8 +38 149 8 +38 150 8 +38 151 8 +38 152 8 +38 153 8 +38 154 8 +38 155 8 +38 156 8 +38 157 8 +38 158 8 +38 159 8 +38 160 8 +38 161 8 +38 162 8 +38 163 8 +38 164 8 +38 165 8 +38 166 8 +38 167 8 +38 168 8 +38 169 8 +38 170 8 +38 171 8 +38 172 8 +38 173 8 +38 174 8 +38 175 8 +38 176 8 +38 177 8 +38 178 8 +38 179 8 +38 180 8 +38 181 8 +38 182 8 +38 183 8 +38 184 8 +38 185 8 +38 186 8 +38 187 8 +38 188 8 +38 189 8 +38 190 8 +38 191 8 +38 192 8 +38 193 8 +38 194 8 +38 195 8 +38 196 8 +38 197 8 +38 198 8 +38 199 8 +38 200 8 +38 201 8 +38 202 8 +38 203 8 +38 204 8 +38 205 8 +38 206 8 +38 207 8 +38 208 8 +38 209 8 +38 210 8 +38 211 8 +38 212 8 +38 213 8 +38 214 8 +38 215 8 +38 216 8 +38 217 8 +38 218 8 +38 219 8 +38 220 8 +38 221 8 +38 222 8 +38 223 8 +38 224 8 +38 225 8 +38 226 8 +38 227 8 +38 228 8 +38 229 8 +38 230 8 +38 231 8 +38 232 8 +38 233 8 +38 234 8 +38 235 8 +38 236 8 +38 237 8 +38 238 8 +38 239 8 +38 240 8 +38 241 8 +38 242 8 +38 243 8 +38 244 8 +38 245 8 +38 246 8 +38 247 8 +38 248 8 +38 249 8 +38 250 8 +38 251 8 +38 252 8 +38 253 8 +38 254 8 +38 255 8 +38 256 8 +38 257 8 +38 258 8 +38 259 8 +38 260 8 +38 261 8 +38 262 8 +38 263 8 +38 264 8 +38 265 8 +38 266 8 +38 267 8 +38 268 8 +38 269 8 +38 270 8 +38 271 8 +38 272 8 +38 273 8 +38 274 8 +38 275 8 +38 276 8 +38 277 8 +38 278 8 +38 279 8 +38 280 8 +38 281 8 +38 282 8 +38 283 8 +38 284 8 +38 285 8 +38 286 8 +38 287 8 +38 288 8 +38 289 8 +38 290 8 +38 291 8 +38 292 8 +38 293 8 +38 294 8 +38 295 8 +38 296 8 +38 297 8 +38 298 8 +38 299 8 +38 300 8 +38 301 8 +38 302 8 +38 303 8 +38 304 8 +38 305 8 +38 306 8 +38 307 8 +38 308 8 +38 309 8 +38 310 8 +38 311 8 +38 312 8 +38 313 8 +38 314 8 +38 315 8 +38 316 8 +38 317 8 +38 318 8 +38 319 8 +38 320 8 +38 321 8 +38 322 8 +38 323 8 +38 324 8 +38 325 8 +38 326 8 +38 327 8 +38 328 8 +38 329 8 +38 330 8 +38 331 8 +38 332 8 +38 333 8 +38 334 8 +38 335 8 +38 336 8 +38 337 8 +38 338 8 +38 339 8 +38 340 8 +38 341 8 +38 342 8 +38 343 8 +38 344 8 +38 345 8 +38 346 8 +38 347 8 +38 348 8 +38 349 8 +38 350 0 +38 351 0 +38 352 0 +38 353 0 +38 354 0 +38 355 0 +38 356 0 +38 357 0 +38 358 0 +38 359 0 +38 360 0 +38 361 0 +38 362 0 +38 363 0 +38 364 0 +38 365 0 +38 366 0 +38 367 0 +38 368 0 +38 369 0 +38 370 0 +38 371 0 +38 372 0 +38 373 0 +38 374 0 +38 375 0 +38 376 0 +38 377 0 +38 378 0 +38 379 0 +38 380 0 +38 381 0 +38 382 0 +38 383 0 +39 40 8 +39 41 8 +39 42 8 +39 43 8 +39 44 8 +39 45 8 +39 46 8 +39 47 8 +39 48 8 +39 49 8 +39 50 8 +39 51 8 +39 52 8 +39 53 8 +39 54 8 +39 55 8 +39 56 8 +39 57 8 +39 58 8 +39 59 8 +39 60 8 +39 61 8 +39 62 8 +39 63 8 +39 64 8 +39 65 8 +39 66 8 +39 67 8 +39 68 8 +39 69 8 +39 70 8 +39 71 8 +39 72 8 +39 73 8 +39 74 8 +39 75 8 +39 76 8 +39 77 8 +39 78 8 +39 79 8 +39 80 8 +39 81 8 +39 82 8 +39 83 8 +39 84 8 +39 85 8 +39 86 8 +39 87 8 +39 88 8 +39 89 8 +39 90 8 +39 91 8 +39 92 8 +39 93 8 +39 94 8 +39 95 8 +39 96 8 +39 97 8 +39 98 8 +39 99 8 +39 100 8 +39 101 8 +39 102 8 +39 103 8 +39 104 8 +39 105 8 +39 106 8 +39 107 8 +39 108 8 +39 109 8 +39 110 8 +39 111 8 +39 112 8 +39 113 8 +39 114 8 +39 115 8 +39 116 8 +39 117 8 +39 118 8 +39 119 8 +39 120 8 +39 121 8 +39 122 8 +39 123 8 +39 124 8 +39 125 8 +39 126 8 +39 127 8 +39 128 8 +39 129 8 +39 130 8 +39 131 8 +39 132 8 +39 133 8 +39 134 8 +39 135 8 +39 136 8 +39 137 8 +39 138 8 +39 139 8 +39 140 8 +39 141 8 +39 142 8 +39 143 8 +39 144 8 +39 145 8 +39 146 8 +39 147 8 +39 148 8 +39 149 8 +39 150 8 +39 151 8 +39 152 8 +39 153 8 +39 154 8 +39 155 8 +39 156 8 +39 157 8 +39 158 8 +39 159 8 +39 160 8 +39 161 8 +39 162 8 +39 163 8 +39 164 8 +39 165 8 +39 166 8 +39 167 8 +39 168 8 +39 169 8 +39 170 8 +39 171 8 +39 172 8 +39 173 8 +39 174 8 +39 175 8 +39 176 8 +39 177 8 +39 178 8 +39 179 8 +39 180 8 +39 181 8 +39 182 8 +39 183 8 +39 184 8 +39 185 8 +39 186 8 +39 187 8 +39 188 8 +39 189 8 +39 190 8 +39 191 8 +39 192 8 +39 193 8 +39 194 8 +39 195 8 +39 196 8 +39 197 8 +39 198 8 +39 199 8 +39 200 8 +39 201 8 +39 202 8 +39 203 8 +39 204 8 +39 205 8 +39 206 8 +39 207 8 +39 208 8 +39 209 8 +39 210 8 +39 211 8 +39 212 8 +39 213 8 +39 214 8 +39 215 8 +39 216 8 +39 217 8 +39 218 8 +39 219 8 +39 220 8 +39 221 8 +39 222 8 +39 223 8 +39 224 8 +39 225 8 +39 226 8 +39 227 8 +39 228 8 +39 229 8 +39 230 8 +39 231 8 +39 232 8 +39 233 8 +39 234 8 +39 235 8 +39 236 8 +39 237 8 +39 238 8 +39 239 8 +39 240 8 +39 241 8 +39 242 8 +39 243 8 +39 244 8 +39 245 8 +39 246 8 +39 247 8 +39 248 8 +39 249 8 +39 250 8 +39 251 8 +39 252 8 +39 253 8 +39 254 8 +39 255 8 +39 256 8 +39 257 8 +39 258 8 +39 259 8 +39 260 8 +39 261 8 +39 262 8 +39 263 8 +39 264 8 +39 265 8 +39 266 8 +39 267 8 +39 268 8 +39 269 8 +39 270 8 +39 271 8 +39 272 8 +39 273 8 +39 274 8 +39 275 8 +39 276 8 +39 277 8 +39 278 8 +39 279 8 +39 280 8 +39 281 8 +39 282 8 +39 283 8 +39 284 8 +39 285 8 +39 286 8 +39 287 8 +39 288 8 +39 289 8 +39 290 8 +39 291 8 +39 292 8 +39 293 8 +39 294 8 +39 295 8 +39 296 8 +39 297 8 +39 298 8 +39 299 8 +39 300 8 +39 301 8 +39 302 8 +39 303 8 +39 304 8 +39 305 8 +39 306 8 +39 307 8 +39 308 8 +39 309 8 +39 310 8 +39 311 8 +39 312 8 +39 313 8 +39 314 8 +39 315 8 +39 316 8 +39 317 8 +39 318 8 +39 319 8 +39 320 8 +39 321 8 +39 322 8 +39 323 8 +39 324 8 +39 325 8 +39 326 8 +39 327 8 +39 328 8 +39 329 8 +39 330 8 +39 331 8 +39 332 8 +39 333 8 +39 334 8 +39 335 8 +39 336 8 +39 337 8 +39 338 8 +39 339 8 +39 340 8 +39 341 8 +39 342 8 +39 343 8 +39 344 8 +39 345 8 +39 346 8 +39 347 8 +39 348 8 +39 349 8 +39 350 0 +39 351 0 +39 352 0 +39 353 0 +39 354 0 +39 355 0 +39 356 0 +39 357 0 +39 358 0 +39 359 0 +39 360 0 +39 361 0 +39 362 0 +39 363 0 +39 364 0 +39 365 0 +39 366 0 +39 367 0 +39 368 0 +39 369 0 +39 370 0 +39 371 0 +39 372 0 +39 373 0 +39 374 0 +39 375 0 +39 376 0 +39 377 0 +39 378 0 +39 379 0 +39 380 0 +39 381 0 +39 382 0 +39 383 0 +40 41 8 +40 42 8 +40 43 8 +40 44 8 +40 45 8 +40 46 8 +40 47 8 +40 48 8 +40 49 8 +40 50 8 +40 51 8 +40 52 8 +40 53 8 +40 54 8 +40 55 8 +40 56 8 +40 57 8 +40 58 8 +40 59 8 +40 60 8 +40 61 8 +40 62 8 +40 63 8 +40 64 8 +40 65 8 +40 66 8 +40 67 8 +40 68 8 +40 69 8 +40 70 8 +40 71 8 +40 72 8 +40 73 8 +40 74 8 +40 75 8 +40 76 8 +40 77 8 +40 78 8 +40 79 8 +40 80 8 +40 81 8 +40 82 8 +40 83 8 +40 84 8 +40 85 8 +40 86 8 +40 87 8 +40 88 8 +40 89 8 +40 90 8 +40 91 8 +40 92 8 +40 93 8 +40 94 8 +40 95 8 +40 96 8 +40 97 8 +40 98 8 +40 99 8 +40 100 8 +40 101 8 +40 102 8 +40 103 8 +40 104 8 +40 105 8 +40 106 8 +40 107 8 +40 108 8 +40 109 8 +40 110 8 +40 111 8 +40 112 8 +40 113 8 +40 114 8 +40 115 8 +40 116 8 +40 117 8 +40 118 8 +40 119 8 +40 120 8 +40 121 8 +40 122 8 +40 123 8 +40 124 8 +40 125 8 +40 126 8 +40 127 8 +40 128 8 +40 129 8 +40 130 8 +40 131 8 +40 132 8 +40 133 8 +40 134 8 +40 135 8 +40 136 8 +40 137 8 +40 138 8 +40 139 8 +40 140 8 +40 141 8 +40 142 8 +40 143 8 +40 144 8 +40 145 8 +40 146 8 +40 147 8 +40 148 8 +40 149 8 +40 150 8 +40 151 8 +40 152 8 +40 153 8 +40 154 8 +40 155 8 +40 156 8 +40 157 8 +40 158 8 +40 159 8 +40 160 8 +40 161 8 +40 162 8 +40 163 8 +40 164 8 +40 165 8 +40 166 8 +40 167 8 +40 168 8 +40 169 8 +40 170 8 +40 171 8 +40 172 8 +40 173 8 +40 174 8 +40 175 8 +40 176 8 +40 177 8 +40 178 8 +40 179 8 +40 180 8 +40 181 8 +40 182 8 +40 183 8 +40 184 8 +40 185 8 +40 186 8 +40 187 8 +40 188 8 +40 189 8 +40 190 8 +40 191 8 +40 192 8 +40 193 8 +40 194 8 +40 195 8 +40 196 8 +40 197 8 +40 198 8 +40 199 8 +40 200 8 +40 201 8 +40 202 8 +40 203 8 +40 204 8 +40 205 8 +40 206 8 +40 207 8 +40 208 8 +40 209 8 +40 210 8 +40 211 8 +40 212 8 +40 213 8 +40 214 8 +40 215 8 +40 216 8 +40 217 8 +40 218 8 +40 219 8 +40 220 8 +40 221 8 +40 222 8 +40 223 8 +40 224 8 +40 225 8 +40 226 8 +40 227 8 +40 228 8 +40 229 8 +40 230 8 +40 231 8 +40 232 8 +40 233 8 +40 234 8 +40 235 8 +40 236 8 +40 237 8 +40 238 8 +40 239 8 +40 240 8 +40 241 8 +40 242 8 +40 243 8 +40 244 8 +40 245 8 +40 246 8 +40 247 8 +40 248 8 +40 249 8 +40 250 8 +40 251 8 +40 252 8 +40 253 8 +40 254 8 +40 255 8 +40 256 8 +40 257 8 +40 258 8 +40 259 8 +40 260 8 +40 261 8 +40 262 8 +40 263 8 +40 264 8 +40 265 8 +40 266 8 +40 267 8 +40 268 8 +40 269 8 +40 270 8 +40 271 8 +40 272 8 +40 273 8 +40 274 8 +40 275 8 +40 276 8 +40 277 8 +40 278 8 +40 279 8 +40 280 8 +40 281 8 +40 282 8 +40 283 8 +40 284 8 +40 285 8 +40 286 8 +40 287 8 +40 288 8 +40 289 8 +40 290 8 +40 291 8 +40 292 8 +40 293 8 +40 294 8 +40 295 8 +40 296 8 +40 297 8 +40 298 8 +40 299 8 +40 300 8 +40 301 8 +40 302 8 +40 303 8 +40 304 8 +40 305 8 +40 306 8 +40 307 8 +40 308 8 +40 309 8 +40 310 8 +40 311 8 +40 312 8 +40 313 8 +40 314 8 +40 315 8 +40 316 8 +40 317 8 +40 318 8 +40 319 8 +40 320 8 +40 321 8 +40 322 8 +40 323 8 +40 324 8 +40 325 8 +40 326 8 +40 327 8 +40 328 8 +40 329 8 +40 330 8 +40 331 8 +40 332 8 +40 333 8 +40 334 8 +40 335 8 +40 336 8 +40 337 8 +40 338 8 +40 339 8 +40 340 8 +40 341 8 +40 342 8 +40 343 8 +40 344 8 +40 345 8 +40 346 8 +40 347 8 +40 348 8 +40 349 8 +40 350 0 +40 351 0 +40 352 0 +40 353 0 +40 354 0 +40 355 0 +40 356 0 +40 357 0 +40 358 0 +40 359 0 +40 360 0 +40 361 0 +40 362 0 +40 363 0 +40 364 0 +40 365 0 +40 366 0 +40 367 0 +40 368 0 +40 369 0 +40 370 0 +40 371 0 +40 372 0 +40 373 0 +40 374 0 +40 375 0 +40 376 0 +40 377 0 +40 378 0 +40 379 0 +40 380 0 +40 381 0 +40 382 0 +40 383 0 +41 42 8 +41 43 8 +41 44 8 +41 45 8 +41 46 8 +41 47 8 +41 48 8 +41 49 8 +41 50 8 +41 51 8 +41 52 8 +41 53 8 +41 54 8 +41 55 8 +41 56 8 +41 57 8 +41 58 8 +41 59 8 +41 60 8 +41 61 8 +41 62 8 +41 63 8 +41 64 8 +41 65 8 +41 66 8 +41 67 8 +41 68 8 +41 69 8 +41 70 8 +41 71 8 +41 72 8 +41 73 8 +41 74 8 +41 75 8 +41 76 8 +41 77 8 +41 78 8 +41 79 8 +41 80 8 +41 81 8 +41 82 8 +41 83 8 +41 84 8 +41 85 8 +41 86 8 +41 87 8 +41 88 8 +41 89 8 +41 90 8 +41 91 8 +41 92 8 +41 93 8 +41 94 8 +41 95 8 +41 96 8 +41 97 8 +41 98 8 +41 99 8 +41 100 8 +41 101 8 +41 102 8 +41 103 8 +41 104 8 +41 105 8 +41 106 8 +41 107 8 +41 108 8 +41 109 8 +41 110 8 +41 111 8 +41 112 8 +41 113 8 +41 114 8 +41 115 8 +41 116 8 +41 117 8 +41 118 8 +41 119 8 +41 120 8 +41 121 8 +41 122 8 +41 123 8 +41 124 8 +41 125 8 +41 126 8 +41 127 8 +41 128 8 +41 129 8 +41 130 8 +41 131 8 +41 132 8 +41 133 8 +41 134 8 +41 135 8 +41 136 8 +41 137 8 +41 138 8 +41 139 8 +41 140 8 +41 141 8 +41 142 8 +41 143 8 +41 144 8 +41 145 8 +41 146 8 +41 147 8 +41 148 8 +41 149 8 +41 150 8 +41 151 8 +41 152 8 +41 153 8 +41 154 8 +41 155 8 +41 156 8 +41 157 8 +41 158 8 +41 159 8 +41 160 8 +41 161 8 +41 162 8 +41 163 8 +41 164 8 +41 165 8 +41 166 8 +41 167 8 +41 168 8 +41 169 8 +41 170 8 +41 171 8 +41 172 8 +41 173 8 +41 174 8 +41 175 8 +41 176 8 +41 177 8 +41 178 8 +41 179 8 +41 180 8 +41 181 8 +41 182 8 +41 183 8 +41 184 8 +41 185 8 +41 186 8 +41 187 8 +41 188 8 +41 189 8 +41 190 8 +41 191 8 +41 192 8 +41 193 8 +41 194 8 +41 195 8 +41 196 8 +41 197 8 +41 198 8 +41 199 8 +41 200 8 +41 201 8 +41 202 8 +41 203 8 +41 204 8 +41 205 8 +41 206 8 +41 207 8 +41 208 8 +41 209 8 +41 210 8 +41 211 8 +41 212 8 +41 213 8 +41 214 8 +41 215 8 +41 216 8 +41 217 8 +41 218 8 +41 219 8 +41 220 8 +41 221 8 +41 222 8 +41 223 8 +41 224 8 +41 225 8 +41 226 8 +41 227 8 +41 228 8 +41 229 8 +41 230 8 +41 231 8 +41 232 8 +41 233 8 +41 234 8 +41 235 8 +41 236 8 +41 237 8 +41 238 8 +41 239 8 +41 240 8 +41 241 8 +41 242 8 +41 243 8 +41 244 8 +41 245 8 +41 246 8 +41 247 8 +41 248 8 +41 249 8 +41 250 8 +41 251 8 +41 252 8 +41 253 8 +41 254 8 +41 255 8 +41 256 8 +41 257 8 +41 258 8 +41 259 8 +41 260 8 +41 261 8 +41 262 8 +41 263 8 +41 264 8 +41 265 8 +41 266 8 +41 267 8 +41 268 8 +41 269 8 +41 270 8 +41 271 8 +41 272 8 +41 273 8 +41 274 8 +41 275 8 +41 276 8 +41 277 8 +41 278 8 +41 279 8 +41 280 8 +41 281 8 +41 282 8 +41 283 8 +41 284 8 +41 285 8 +41 286 8 +41 287 8 +41 288 8 +41 289 8 +41 290 8 +41 291 8 +41 292 8 +41 293 8 +41 294 8 +41 295 8 +41 296 8 +41 297 8 +41 298 8 +41 299 8 +41 300 8 +41 301 8 +41 302 8 +41 303 8 +41 304 8 +41 305 8 +41 306 8 +41 307 8 +41 308 8 +41 309 8 +41 310 8 +41 311 8 +41 312 8 +41 313 8 +41 314 8 +41 315 8 +41 316 8 +41 317 8 +41 318 8 +41 319 8 +41 320 8 +41 321 8 +41 322 8 +41 323 8 +41 324 8 +41 325 8 +41 326 8 +41 327 8 +41 328 8 +41 329 8 +41 330 8 +41 331 8 +41 332 8 +41 333 8 +41 334 8 +41 335 8 +41 336 8 +41 337 8 +41 338 8 +41 339 8 +41 340 8 +41 341 8 +41 342 8 +41 343 8 +41 344 8 +41 345 8 +41 346 8 +41 347 8 +41 348 8 +41 349 8 +41 350 0 +41 351 0 +41 352 0 +41 353 0 +41 354 0 +41 355 0 +41 356 0 +41 357 0 +41 358 0 +41 359 0 +41 360 0 +41 361 0 +41 362 0 +41 363 0 +41 364 0 +41 365 0 +41 366 0 +41 367 0 +41 368 0 +41 369 0 +41 370 0 +41 371 0 +41 372 0 +41 373 0 +41 374 0 +41 375 0 +41 376 0 +41 377 0 +41 378 0 +41 379 0 +41 380 0 +41 381 0 +41 382 0 +41 383 0 +42 43 8 +42 44 8 +42 45 8 +42 46 8 +42 47 8 +42 48 8 +42 49 8 +42 50 8 +42 51 8 +42 52 8 +42 53 8 +42 54 8 +42 55 8 +42 56 8 +42 57 8 +42 58 8 +42 59 8 +42 60 8 +42 61 8 +42 62 8 +42 63 8 +42 64 8 +42 65 8 +42 66 8 +42 67 8 +42 68 8 +42 69 8 +42 70 8 +42 71 8 +42 72 8 +42 73 8 +42 74 8 +42 75 8 +42 76 8 +42 77 8 +42 78 8 +42 79 8 +42 80 8 +42 81 8 +42 82 8 +42 83 8 +42 84 8 +42 85 8 +42 86 8 +42 87 8 +42 88 8 +42 89 8 +42 90 8 +42 91 8 +42 92 8 +42 93 8 +42 94 8 +42 95 8 +42 96 8 +42 97 8 +42 98 8 +42 99 8 +42 100 8 +42 101 8 +42 102 8 +42 103 8 +42 104 8 +42 105 8 +42 106 8 +42 107 8 +42 108 8 +42 109 8 +42 110 8 +42 111 8 +42 112 8 +42 113 8 +42 114 8 +42 115 8 +42 116 8 +42 117 8 +42 118 8 +42 119 8 +42 120 8 +42 121 8 +42 122 8 +42 123 8 +42 124 8 +42 125 8 +42 126 8 +42 127 8 +42 128 8 +42 129 8 +42 130 8 +42 131 8 +42 132 8 +42 133 8 +42 134 8 +42 135 8 +42 136 8 +42 137 8 +42 138 8 +42 139 8 +42 140 8 +42 141 8 +42 142 8 +42 143 8 +42 144 8 +42 145 8 +42 146 8 +42 147 8 +42 148 8 +42 149 8 +42 150 8 +42 151 8 +42 152 8 +42 153 8 +42 154 8 +42 155 8 +42 156 8 +42 157 8 +42 158 8 +42 159 8 +42 160 8 +42 161 8 +42 162 8 +42 163 8 +42 164 8 +42 165 8 +42 166 8 +42 167 8 +42 168 8 +42 169 8 +42 170 8 +42 171 8 +42 172 8 +42 173 8 +42 174 8 +42 175 8 +42 176 8 +42 177 8 +42 178 8 +42 179 8 +42 180 8 +42 181 8 +42 182 8 +42 183 8 +42 184 8 +42 185 8 +42 186 8 +42 187 8 +42 188 8 +42 189 8 +42 190 8 +42 191 8 +42 192 8 +42 193 8 +42 194 8 +42 195 8 +42 196 8 +42 197 8 +42 198 8 +42 199 8 +42 200 8 +42 201 8 +42 202 8 +42 203 8 +42 204 8 +42 205 8 +42 206 8 +42 207 8 +42 208 8 +42 209 8 +42 210 8 +42 211 8 +42 212 8 +42 213 8 +42 214 8 +42 215 8 +42 216 8 +42 217 8 +42 218 8 +42 219 8 +42 220 8 +42 221 8 +42 222 8 +42 223 8 +42 224 8 +42 225 8 +42 226 8 +42 227 8 +42 228 8 +42 229 8 +42 230 8 +42 231 8 +42 232 8 +42 233 8 +42 234 8 +42 235 8 +42 236 8 +42 237 8 +42 238 8 +42 239 8 +42 240 8 +42 241 8 +42 242 8 +42 243 8 +42 244 8 +42 245 8 +42 246 8 +42 247 8 +42 248 8 +42 249 8 +42 250 8 +42 251 8 +42 252 8 +42 253 8 +42 254 8 +42 255 8 +42 256 8 +42 257 8 +42 258 8 +42 259 8 +42 260 8 +42 261 8 +42 262 8 +42 263 8 +42 264 8 +42 265 8 +42 266 8 +42 267 8 +42 268 8 +42 269 8 +42 270 8 +42 271 8 +42 272 8 +42 273 8 +42 274 8 +42 275 8 +42 276 8 +42 277 8 +42 278 8 +42 279 8 +42 280 8 +42 281 8 +42 282 8 +42 283 8 +42 284 8 +42 285 8 +42 286 8 +42 287 8 +42 288 8 +42 289 8 +42 290 8 +42 291 8 +42 292 8 +42 293 8 +42 294 8 +42 295 8 +42 296 8 +42 297 8 +42 298 8 +42 299 8 +42 300 8 +42 301 8 +42 302 8 +42 303 8 +42 304 8 +42 305 8 +42 306 8 +42 307 8 +42 308 8 +42 309 8 +42 310 8 +42 311 8 +42 312 8 +42 313 8 +42 314 8 +42 315 8 +42 316 8 +42 317 8 +42 318 8 +42 319 8 +42 320 8 +42 321 8 +42 322 8 +42 323 8 +42 324 8 +42 325 8 +42 326 8 +42 327 8 +42 328 8 +42 329 8 +42 330 8 +42 331 8 +42 332 8 +42 333 8 +42 334 8 +42 335 8 +42 336 8 +42 337 8 +42 338 8 +42 339 8 +42 340 8 +42 341 8 +42 342 8 +42 343 8 +42 344 8 +42 345 8 +42 346 8 +42 347 8 +42 348 8 +42 349 8 +42 350 0 +42 351 0 +42 352 0 +42 353 0 +42 354 0 +42 355 0 +42 356 0 +42 357 0 +42 358 0 +42 359 0 +42 360 0 +42 361 0 +42 362 0 +42 363 0 +42 364 0 +42 365 0 +42 366 0 +42 367 0 +42 368 0 +42 369 0 +42 370 0 +42 371 0 +42 372 0 +42 373 0 +42 374 0 +42 375 0 +42 376 0 +42 377 0 +42 378 0 +42 379 0 +42 380 0 +42 381 0 +42 382 0 +42 383 0 +43 44 8 +43 45 8 +43 46 8 +43 47 8 +43 48 8 +43 49 8 +43 50 8 +43 51 8 +43 52 8 +43 53 8 +43 54 8 +43 55 8 +43 56 8 +43 57 8 +43 58 8 +43 59 8 +43 60 8 +43 61 8 +43 62 8 +43 63 8 +43 64 8 +43 65 8 +43 66 8 +43 67 8 +43 68 8 +43 69 8 +43 70 8 +43 71 8 +43 72 8 +43 73 8 +43 74 8 +43 75 8 +43 76 8 +43 77 8 +43 78 8 +43 79 8 +43 80 8 +43 81 8 +43 82 8 +43 83 8 +43 84 8 +43 85 8 +43 86 8 +43 87 8 +43 88 8 +43 89 8 +43 90 8 +43 91 8 +43 92 8 +43 93 8 +43 94 8 +43 95 8 +43 96 8 +43 97 8 +43 98 8 +43 99 8 +43 100 8 +43 101 8 +43 102 8 +43 103 8 +43 104 8 +43 105 8 +43 106 8 +43 107 8 +43 108 8 +43 109 8 +43 110 8 +43 111 8 +43 112 8 +43 113 8 +43 114 8 +43 115 8 +43 116 8 +43 117 8 +43 118 8 +43 119 8 +43 120 8 +43 121 8 +43 122 8 +43 123 8 +43 124 8 +43 125 8 +43 126 8 +43 127 8 +43 128 8 +43 129 8 +43 130 8 +43 131 8 +43 132 8 +43 133 8 +43 134 8 +43 135 8 +43 136 8 +43 137 8 +43 138 8 +43 139 8 +43 140 8 +43 141 8 +43 142 8 +43 143 8 +43 144 8 +43 145 8 +43 146 8 +43 147 8 +43 148 8 +43 149 8 +43 150 8 +43 151 8 +43 152 8 +43 153 8 +43 154 8 +43 155 8 +43 156 8 +43 157 8 +43 158 8 +43 159 8 +43 160 8 +43 161 8 +43 162 8 +43 163 8 +43 164 8 +43 165 8 +43 166 8 +43 167 8 +43 168 8 +43 169 8 +43 170 8 +43 171 8 +43 172 8 +43 173 8 +43 174 8 +43 175 8 +43 176 8 +43 177 8 +43 178 8 +43 179 8 +43 180 8 +43 181 8 +43 182 8 +43 183 8 +43 184 8 +43 185 8 +43 186 8 +43 187 8 +43 188 8 +43 189 8 +43 190 8 +43 191 8 +43 192 8 +43 193 8 +43 194 8 +43 195 8 +43 196 8 +43 197 8 +43 198 8 +43 199 8 +43 200 8 +43 201 8 +43 202 8 +43 203 8 +43 204 8 +43 205 8 +43 206 8 +43 207 8 +43 208 8 +43 209 8 +43 210 8 +43 211 8 +43 212 8 +43 213 8 +43 214 8 +43 215 8 +43 216 8 +43 217 8 +43 218 8 +43 219 8 +43 220 8 +43 221 8 +43 222 8 +43 223 8 +43 224 8 +43 225 8 +43 226 8 +43 227 8 +43 228 8 +43 229 8 +43 230 8 +43 231 8 +43 232 8 +43 233 8 +43 234 8 +43 235 8 +43 236 8 +43 237 8 +43 238 8 +43 239 8 +43 240 8 +43 241 8 +43 242 8 +43 243 8 +43 244 8 +43 245 8 +43 246 8 +43 247 8 +43 248 8 +43 249 8 +43 250 8 +43 251 8 +43 252 8 +43 253 8 +43 254 8 +43 255 8 +43 256 8 +43 257 8 +43 258 8 +43 259 8 +43 260 8 +43 261 8 +43 262 8 +43 263 8 +43 264 8 +43 265 8 +43 266 8 +43 267 8 +43 268 8 +43 269 8 +43 270 8 +43 271 8 +43 272 8 +43 273 8 +43 274 8 +43 275 8 +43 276 8 +43 277 8 +43 278 8 +43 279 8 +43 280 8 +43 281 8 +43 282 8 +43 283 8 +43 284 8 +43 285 8 +43 286 8 +43 287 8 +43 288 8 +43 289 8 +43 290 8 +43 291 8 +43 292 8 +43 293 8 +43 294 8 +43 295 8 +43 296 8 +43 297 8 +43 298 8 +43 299 8 +43 300 8 +43 301 8 +43 302 8 +43 303 8 +43 304 8 +43 305 8 +43 306 8 +43 307 8 +43 308 8 +43 309 8 +43 310 8 +43 311 8 +43 312 8 +43 313 8 +43 314 8 +43 315 8 +43 316 8 +43 317 8 +43 318 8 +43 319 8 +43 320 8 +43 321 8 +43 322 8 +43 323 8 +43 324 8 +43 325 8 +43 326 8 +43 327 8 +43 328 8 +43 329 8 +43 330 8 +43 331 8 +43 332 8 +43 333 8 +43 334 8 +43 335 8 +43 336 8 +43 337 8 +43 338 8 +43 339 8 +43 340 8 +43 341 8 +43 342 8 +43 343 8 +43 344 8 +43 345 8 +43 346 8 +43 347 8 +43 348 8 +43 349 8 +43 350 0 +43 351 0 +43 352 0 +43 353 0 +43 354 0 +43 355 0 +43 356 0 +43 357 0 +43 358 0 +43 359 0 +43 360 0 +43 361 0 +43 362 0 +43 363 0 +43 364 0 +43 365 0 +43 366 0 +43 367 0 +43 368 0 +43 369 0 +43 370 0 +43 371 0 +43 372 0 +43 373 0 +43 374 0 +43 375 0 +43 376 0 +43 377 0 +43 378 0 +43 379 0 +43 380 0 +43 381 0 +43 382 0 +43 383 0 +44 45 8 +44 46 8 +44 47 8 +44 48 8 +44 49 8 +44 50 8 +44 51 8 +44 52 8 +44 53 8 +44 54 8 +44 55 8 +44 56 8 +44 57 8 +44 58 8 +44 59 8 +44 60 8 +44 61 8 +44 62 8 +44 63 8 +44 64 8 +44 65 8 +44 66 8 +44 67 8 +44 68 8 +44 69 8 +44 70 8 +44 71 8 +44 72 8 +44 73 8 +44 74 8 +44 75 8 +44 76 8 +44 77 8 +44 78 8 +44 79 8 +44 80 8 +44 81 8 +44 82 8 +44 83 8 +44 84 8 +44 85 8 +44 86 8 +44 87 8 +44 88 8 +44 89 8 +44 90 8 +44 91 8 +44 92 8 +44 93 8 +44 94 8 +44 95 8 +44 96 8 +44 97 8 +44 98 8 +44 99 8 +44 100 8 +44 101 8 +44 102 8 +44 103 8 +44 104 8 +44 105 8 +44 106 8 +44 107 8 +44 108 8 +44 109 8 +44 110 8 +44 111 8 +44 112 8 +44 113 8 +44 114 8 +44 115 8 +44 116 8 +44 117 8 +44 118 8 +44 119 8 +44 120 8 +44 121 8 +44 122 8 +44 123 8 +44 124 8 +44 125 8 +44 126 8 +44 127 8 +44 128 8 +44 129 8 +44 130 8 +44 131 8 +44 132 8 +44 133 8 +44 134 8 +44 135 8 +44 136 8 +44 137 8 +44 138 8 +44 139 8 +44 140 8 +44 141 8 +44 142 8 +44 143 8 +44 144 8 +44 145 8 +44 146 8 +44 147 8 +44 148 8 +44 149 8 +44 150 8 +44 151 8 +44 152 8 +44 153 8 +44 154 8 +44 155 8 +44 156 8 +44 157 8 +44 158 8 +44 159 8 +44 160 8 +44 161 8 +44 162 8 +44 163 8 +44 164 8 +44 165 8 +44 166 8 +44 167 8 +44 168 8 +44 169 8 +44 170 8 +44 171 8 +44 172 8 +44 173 8 +44 174 8 +44 175 8 +44 176 8 +44 177 8 +44 178 8 +44 179 8 +44 180 8 +44 181 8 +44 182 8 +44 183 8 +44 184 8 +44 185 8 +44 186 8 +44 187 8 +44 188 8 +44 189 8 +44 190 8 +44 191 8 +44 192 8 +44 193 8 +44 194 8 +44 195 8 +44 196 8 +44 197 8 +44 198 8 +44 199 8 +44 200 8 +44 201 8 +44 202 8 +44 203 8 +44 204 8 +44 205 8 +44 206 8 +44 207 8 +44 208 8 +44 209 8 +44 210 8 +44 211 8 +44 212 8 +44 213 8 +44 214 8 +44 215 8 +44 216 8 +44 217 8 +44 218 8 +44 219 8 +44 220 8 +44 221 8 +44 222 8 +44 223 8 +44 224 8 +44 225 8 +44 226 8 +44 227 8 +44 228 8 +44 229 8 +44 230 8 +44 231 8 +44 232 8 +44 233 8 +44 234 8 +44 235 8 +44 236 8 +44 237 8 +44 238 8 +44 239 8 +44 240 8 +44 241 8 +44 242 8 +44 243 8 +44 244 8 +44 245 8 +44 246 8 +44 247 8 +44 248 8 +44 249 8 +44 250 8 +44 251 8 +44 252 8 +44 253 8 +44 254 8 +44 255 8 +44 256 8 +44 257 8 +44 258 8 +44 259 8 +44 260 8 +44 261 8 +44 262 8 +44 263 8 +44 264 8 +44 265 8 +44 266 8 +44 267 8 +44 268 8 +44 269 8 +44 270 8 +44 271 8 +44 272 8 +44 273 8 +44 274 8 +44 275 8 +44 276 8 +44 277 8 +44 278 8 +44 279 8 +44 280 8 +44 281 8 +44 282 8 +44 283 8 +44 284 8 +44 285 8 +44 286 8 +44 287 8 +44 288 8 +44 289 8 +44 290 8 +44 291 8 +44 292 8 +44 293 8 +44 294 8 +44 295 8 +44 296 8 +44 297 8 +44 298 8 +44 299 8 +44 300 8 +44 301 8 +44 302 8 +44 303 8 +44 304 8 +44 305 8 +44 306 8 +44 307 8 +44 308 8 +44 309 8 +44 310 8 +44 311 8 +44 312 8 +44 313 8 +44 314 8 +44 315 8 +44 316 8 +44 317 8 +44 318 8 +44 319 8 +44 320 8 +44 321 8 +44 322 8 +44 323 8 +44 324 8 +44 325 8 +44 326 8 +44 327 8 +44 328 8 +44 329 8 +44 330 8 +44 331 8 +44 332 8 +44 333 8 +44 334 8 +44 335 8 +44 336 8 +44 337 8 +44 338 8 +44 339 8 +44 340 8 +44 341 8 +44 342 8 +44 343 8 +44 344 8 +44 345 8 +44 346 8 +44 347 8 +44 348 8 +44 349 8 +44 350 0 +44 351 0 +44 352 0 +44 353 0 +44 354 0 +44 355 0 +44 356 0 +44 357 0 +44 358 0 +44 359 0 +44 360 0 +44 361 0 +44 362 0 +44 363 0 +44 364 0 +44 365 0 +44 366 0 +44 367 0 +44 368 0 +44 369 0 +44 370 0 +44 371 0 +44 372 0 +44 373 0 +44 374 0 +44 375 0 +44 376 0 +44 377 0 +44 378 0 +44 379 0 +44 380 0 +44 381 0 +44 382 0 +44 383 0 +45 46 8 +45 47 8 +45 48 8 +45 49 8 +45 50 8 +45 51 8 +45 52 8 +45 53 8 +45 54 8 +45 55 8 +45 56 8 +45 57 8 +45 58 8 +45 59 8 +45 60 8 +45 61 8 +45 62 8 +45 63 8 +45 64 8 +45 65 8 +45 66 8 +45 67 8 +45 68 8 +45 69 8 +45 70 8 +45 71 8 +45 72 8 +45 73 8 +45 74 8 +45 75 8 +45 76 8 +45 77 8 +45 78 8 +45 79 8 +45 80 8 +45 81 8 +45 82 8 +45 83 8 +45 84 8 +45 85 8 +45 86 8 +45 87 8 +45 88 8 +45 89 8 +45 90 8 +45 91 8 +45 92 8 +45 93 8 +45 94 8 +45 95 8 +45 96 8 +45 97 8 +45 98 8 +45 99 8 +45 100 8 +45 101 8 +45 102 8 +45 103 8 +45 104 8 +45 105 8 +45 106 8 +45 107 8 +45 108 8 +45 109 8 +45 110 8 +45 111 8 +45 112 8 +45 113 8 +45 114 8 +45 115 8 +45 116 8 +45 117 8 +45 118 8 +45 119 8 +45 120 8 +45 121 8 +45 122 8 +45 123 8 +45 124 8 +45 125 8 +45 126 8 +45 127 8 +45 128 8 +45 129 8 +45 130 8 +45 131 8 +45 132 8 +45 133 8 +45 134 8 +45 135 8 +45 136 8 +45 137 8 +45 138 8 +45 139 8 +45 140 8 +45 141 8 +45 142 8 +45 143 8 +45 144 8 +45 145 8 +45 146 8 +45 147 8 +45 148 8 +45 149 8 +45 150 8 +45 151 8 +45 152 8 +45 153 8 +45 154 8 +45 155 8 +45 156 8 +45 157 8 +45 158 8 +45 159 8 +45 160 8 +45 161 8 +45 162 8 +45 163 8 +45 164 8 +45 165 8 +45 166 8 +45 167 8 +45 168 8 +45 169 8 +45 170 8 +45 171 8 +45 172 8 +45 173 8 +45 174 8 +45 175 8 +45 176 8 +45 177 8 +45 178 8 +45 179 8 +45 180 8 +45 181 8 +45 182 8 +45 183 8 +45 184 8 +45 185 8 +45 186 8 +45 187 8 +45 188 8 +45 189 8 +45 190 8 +45 191 8 +45 192 8 +45 193 8 +45 194 8 +45 195 8 +45 196 8 +45 197 8 +45 198 8 +45 199 8 +45 200 8 +45 201 8 +45 202 8 +45 203 8 +45 204 8 +45 205 8 +45 206 8 +45 207 8 +45 208 8 +45 209 8 +45 210 8 +45 211 8 +45 212 8 +45 213 8 +45 214 8 +45 215 8 +45 216 8 +45 217 8 +45 218 8 +45 219 8 +45 220 8 +45 221 8 +45 222 8 +45 223 8 +45 224 8 +45 225 8 +45 226 8 +45 227 8 +45 228 8 +45 229 8 +45 230 8 +45 231 8 +45 232 8 +45 233 8 +45 234 8 +45 235 8 +45 236 8 +45 237 8 +45 238 8 +45 239 8 +45 240 8 +45 241 8 +45 242 8 +45 243 8 +45 244 8 +45 245 8 +45 246 8 +45 247 8 +45 248 8 +45 249 8 +45 250 8 +45 251 8 +45 252 8 +45 253 8 +45 254 8 +45 255 8 +45 256 8 +45 257 8 +45 258 8 +45 259 8 +45 260 8 +45 261 8 +45 262 8 +45 263 8 +45 264 8 +45 265 8 +45 266 8 +45 267 8 +45 268 8 +45 269 8 +45 270 8 +45 271 8 +45 272 8 +45 273 8 +45 274 8 +45 275 8 +45 276 8 +45 277 8 +45 278 8 +45 279 8 +45 280 8 +45 281 8 +45 282 8 +45 283 8 +45 284 8 +45 285 8 +45 286 8 +45 287 8 +45 288 8 +45 289 8 +45 290 8 +45 291 8 +45 292 8 +45 293 8 +45 294 8 +45 295 8 +45 296 8 +45 297 8 +45 298 8 +45 299 8 +45 300 8 +45 301 8 +45 302 8 +45 303 8 +45 304 8 +45 305 8 +45 306 8 +45 307 8 +45 308 8 +45 309 8 +45 310 8 +45 311 8 +45 312 8 +45 313 8 +45 314 8 +45 315 8 +45 316 8 +45 317 8 +45 318 8 +45 319 8 +45 320 8 +45 321 8 +45 322 8 +45 323 8 +45 324 8 +45 325 8 +45 326 8 +45 327 8 +45 328 8 +45 329 8 +45 330 8 +45 331 8 +45 332 8 +45 333 8 +45 334 8 +45 335 8 +45 336 8 +45 337 8 +45 338 8 +45 339 8 +45 340 8 +45 341 8 +45 342 8 +45 343 8 +45 344 8 +45 345 8 +45 346 8 +45 347 8 +45 348 8 +45 349 8 +45 350 0 +45 351 0 +45 352 0 +45 353 0 +45 354 0 +45 355 0 +45 356 0 +45 357 0 +45 358 0 +45 359 0 +45 360 0 +45 361 0 +45 362 0 +45 363 0 +45 364 0 +45 365 0 +45 366 0 +45 367 0 +45 368 0 +45 369 0 +45 370 0 +45 371 0 +45 372 0 +45 373 0 +45 374 0 +45 375 0 +45 376 0 +45 377 0 +45 378 0 +45 379 0 +45 380 0 +45 381 0 +45 382 0 +45 383 0 +46 47 8 +46 48 8 +46 49 8 +46 50 8 +46 51 8 +46 52 8 +46 53 8 +46 54 8 +46 55 8 +46 56 8 +46 57 8 +46 58 8 +46 59 8 +46 60 8 +46 61 8 +46 62 8 +46 63 8 +46 64 8 +46 65 8 +46 66 8 +46 67 8 +46 68 8 +46 69 8 +46 70 8 +46 71 8 +46 72 8 +46 73 8 +46 74 8 +46 75 8 +46 76 8 +46 77 8 +46 78 8 +46 79 8 +46 80 8 +46 81 8 +46 82 8 +46 83 8 +46 84 8 +46 85 8 +46 86 8 +46 87 8 +46 88 8 +46 89 8 +46 90 8 +46 91 8 +46 92 8 +46 93 8 +46 94 8 +46 95 8 +46 96 8 +46 97 8 +46 98 8 +46 99 8 +46 100 8 +46 101 8 +46 102 8 +46 103 8 +46 104 8 +46 105 8 +46 106 8 +46 107 8 +46 108 8 +46 109 8 +46 110 8 +46 111 8 +46 112 8 +46 113 8 +46 114 8 +46 115 8 +46 116 8 +46 117 8 +46 118 8 +46 119 8 +46 120 8 +46 121 8 +46 122 8 +46 123 8 +46 124 8 +46 125 8 +46 126 8 +46 127 8 +46 128 8 +46 129 8 +46 130 8 +46 131 8 +46 132 8 +46 133 8 +46 134 8 +46 135 8 +46 136 8 +46 137 8 +46 138 8 +46 139 8 +46 140 8 +46 141 8 +46 142 8 +46 143 8 +46 144 8 +46 145 8 +46 146 8 +46 147 8 +46 148 8 +46 149 8 +46 150 8 +46 151 8 +46 152 8 +46 153 8 +46 154 8 +46 155 8 +46 156 8 +46 157 8 +46 158 8 +46 159 8 +46 160 8 +46 161 8 +46 162 8 +46 163 8 +46 164 8 +46 165 8 +46 166 8 +46 167 8 +46 168 8 +46 169 8 +46 170 8 +46 171 8 +46 172 8 +46 173 8 +46 174 8 +46 175 8 +46 176 8 +46 177 8 +46 178 8 +46 179 8 +46 180 8 +46 181 8 +46 182 8 +46 183 8 +46 184 8 +46 185 8 +46 186 8 +46 187 8 +46 188 8 +46 189 8 +46 190 8 +46 191 8 +46 192 8 +46 193 8 +46 194 8 +46 195 8 +46 196 8 +46 197 8 +46 198 8 +46 199 8 +46 200 8 +46 201 8 +46 202 8 +46 203 8 +46 204 8 +46 205 8 +46 206 8 +46 207 8 +46 208 8 +46 209 8 +46 210 8 +46 211 8 +46 212 8 +46 213 8 +46 214 8 +46 215 8 +46 216 8 +46 217 8 +46 218 8 +46 219 8 +46 220 8 +46 221 8 +46 222 8 +46 223 8 +46 224 8 +46 225 8 +46 226 8 +46 227 8 +46 228 8 +46 229 8 +46 230 8 +46 231 8 +46 232 8 +46 233 8 +46 234 8 +46 235 8 +46 236 8 +46 237 8 +46 238 8 +46 239 8 +46 240 8 +46 241 8 +46 242 8 +46 243 8 +46 244 8 +46 245 8 +46 246 8 +46 247 8 +46 248 8 +46 249 8 +46 250 8 +46 251 8 +46 252 8 +46 253 8 +46 254 8 +46 255 8 +46 256 8 +46 257 8 +46 258 8 +46 259 8 +46 260 8 +46 261 8 +46 262 8 +46 263 8 +46 264 8 +46 265 8 +46 266 8 +46 267 8 +46 268 8 +46 269 8 +46 270 8 +46 271 8 +46 272 8 +46 273 8 +46 274 8 +46 275 8 +46 276 8 +46 277 8 +46 278 8 +46 279 8 +46 280 8 +46 281 8 +46 282 8 +46 283 8 +46 284 8 +46 285 8 +46 286 8 +46 287 8 +46 288 8 +46 289 8 +46 290 8 +46 291 8 +46 292 8 +46 293 8 +46 294 8 +46 295 8 +46 296 8 +46 297 8 +46 298 8 +46 299 8 +46 300 8 +46 301 8 +46 302 8 +46 303 8 +46 304 8 +46 305 8 +46 306 8 +46 307 8 +46 308 8 +46 309 8 +46 310 8 +46 311 8 +46 312 8 +46 313 8 +46 314 8 +46 315 8 +46 316 8 +46 317 8 +46 318 8 +46 319 8 +46 320 8 +46 321 8 +46 322 8 +46 323 8 +46 324 8 +46 325 8 +46 326 8 +46 327 8 +46 328 8 +46 329 8 +46 330 8 +46 331 8 +46 332 8 +46 333 8 +46 334 8 +46 335 8 +46 336 8 +46 337 8 +46 338 8 +46 339 8 +46 340 8 +46 341 8 +46 342 8 +46 343 8 +46 344 8 +46 345 8 +46 346 8 +46 347 8 +46 348 8 +46 349 8 +46 350 0 +46 351 0 +46 352 0 +46 353 0 +46 354 0 +46 355 0 +46 356 0 +46 357 0 +46 358 0 +46 359 0 +46 360 0 +46 361 0 +46 362 0 +46 363 0 +46 364 0 +46 365 0 +46 366 0 +46 367 0 +46 368 0 +46 369 0 +46 370 0 +46 371 0 +46 372 0 +46 373 0 +46 374 0 +46 375 0 +46 376 0 +46 377 0 +46 378 0 +46 379 0 +46 380 0 +46 381 0 +46 382 0 +46 383 0 +47 48 8 +47 49 8 +47 50 8 +47 51 8 +47 52 8 +47 53 8 +47 54 8 +47 55 8 +47 56 8 +47 57 8 +47 58 8 +47 59 8 +47 60 8 +47 61 8 +47 62 8 +47 63 8 +47 64 8 +47 65 8 +47 66 8 +47 67 8 +47 68 8 +47 69 8 +47 70 8 +47 71 8 +47 72 8 +47 73 8 +47 74 8 +47 75 8 +47 76 8 +47 77 8 +47 78 8 +47 79 8 +47 80 8 +47 81 8 +47 82 8 +47 83 8 +47 84 8 +47 85 8 +47 86 8 +47 87 8 +47 88 8 +47 89 8 +47 90 8 +47 91 8 +47 92 8 +47 93 8 +47 94 8 +47 95 8 +47 96 8 +47 97 8 +47 98 8 +47 99 8 +47 100 8 +47 101 8 +47 102 8 +47 103 8 +47 104 8 +47 105 8 +47 106 8 +47 107 8 +47 108 8 +47 109 8 +47 110 8 +47 111 8 +47 112 8 +47 113 8 +47 114 8 +47 115 8 +47 116 8 +47 117 8 +47 118 8 +47 119 8 +47 120 8 +47 121 8 +47 122 8 +47 123 8 +47 124 8 +47 125 8 +47 126 8 +47 127 8 +47 128 8 +47 129 8 +47 130 8 +47 131 8 +47 132 8 +47 133 8 +47 134 8 +47 135 8 +47 136 8 +47 137 8 +47 138 8 +47 139 8 +47 140 8 +47 141 8 +47 142 8 +47 143 8 +47 144 8 +47 145 8 +47 146 8 +47 147 8 +47 148 8 +47 149 8 +47 150 8 +47 151 8 +47 152 8 +47 153 8 +47 154 8 +47 155 8 +47 156 8 +47 157 8 +47 158 8 +47 159 8 +47 160 8 +47 161 8 +47 162 8 +47 163 8 +47 164 8 +47 165 8 +47 166 8 +47 167 8 +47 168 8 +47 169 8 +47 170 8 +47 171 8 +47 172 8 +47 173 8 +47 174 8 +47 175 8 +47 176 8 +47 177 8 +47 178 8 +47 179 8 +47 180 8 +47 181 8 +47 182 8 +47 183 8 +47 184 8 +47 185 8 +47 186 8 +47 187 8 +47 188 8 +47 189 8 +47 190 8 +47 191 8 +47 192 8 +47 193 8 +47 194 8 +47 195 8 +47 196 8 +47 197 8 +47 198 8 +47 199 8 +47 200 8 +47 201 8 +47 202 8 +47 203 8 +47 204 8 +47 205 8 +47 206 8 +47 207 8 +47 208 8 +47 209 8 +47 210 8 +47 211 8 +47 212 8 +47 213 8 +47 214 8 +47 215 8 +47 216 8 +47 217 8 +47 218 8 +47 219 8 +47 220 8 +47 221 8 +47 222 8 +47 223 8 +47 224 8 +47 225 8 +47 226 8 +47 227 8 +47 228 8 +47 229 8 +47 230 8 +47 231 8 +47 232 8 +47 233 8 +47 234 8 +47 235 8 +47 236 8 +47 237 8 +47 238 8 +47 239 8 +47 240 8 +47 241 8 +47 242 8 +47 243 8 +47 244 8 +47 245 8 +47 246 8 +47 247 8 +47 248 8 +47 249 8 +47 250 8 +47 251 8 +47 252 8 +47 253 8 +47 254 8 +47 255 8 +47 256 8 +47 257 8 +47 258 8 +47 259 8 +47 260 8 +47 261 8 +47 262 8 +47 263 8 +47 264 8 +47 265 8 +47 266 8 +47 267 8 +47 268 8 +47 269 8 +47 270 8 +47 271 8 +47 272 8 +47 273 8 +47 274 8 +47 275 8 +47 276 8 +47 277 8 +47 278 8 +47 279 8 +47 280 8 +47 281 8 +47 282 8 +47 283 8 +47 284 8 +47 285 8 +47 286 8 +47 287 8 +47 288 8 +47 289 8 +47 290 8 +47 291 8 +47 292 8 +47 293 8 +47 294 8 +47 295 8 +47 296 8 +47 297 8 +47 298 8 +47 299 8 +47 300 8 +47 301 8 +47 302 8 +47 303 8 +47 304 8 +47 305 8 +47 306 8 +47 307 8 +47 308 8 +47 309 8 +47 310 8 +47 311 8 +47 312 8 +47 313 8 +47 314 8 +47 315 8 +47 316 8 +47 317 8 +47 318 8 +47 319 8 +47 320 8 +47 321 8 +47 322 8 +47 323 8 +47 324 8 +47 325 8 +47 326 8 +47 327 8 +47 328 8 +47 329 8 +47 330 8 +47 331 8 +47 332 8 +47 333 8 +47 334 8 +47 335 8 +47 336 8 +47 337 8 +47 338 8 +47 339 8 +47 340 8 +47 341 8 +47 342 8 +47 343 8 +47 344 8 +47 345 8 +47 346 8 +47 347 8 +47 348 8 +47 349 8 +47 350 0 +47 351 0 +47 352 0 +47 353 0 +47 354 0 +47 355 0 +47 356 0 +47 357 0 +47 358 0 +47 359 0 +47 360 0 +47 361 0 +47 362 0 +47 363 0 +47 364 0 +47 365 0 +47 366 0 +47 367 0 +47 368 0 +47 369 0 +47 370 0 +47 371 0 +47 372 0 +47 373 0 +47 374 0 +47 375 0 +47 376 0 +47 377 0 +47 378 0 +47 379 0 +47 380 0 +47 381 0 +47 382 0 +47 383 0 +48 49 8 +48 50 8 +48 51 8 +48 52 8 +48 53 8 +48 54 8 +48 55 8 +48 56 8 +48 57 8 +48 58 8 +48 59 8 +48 60 8 +48 61 8 +48 62 8 +48 63 8 +48 64 8 +48 65 8 +48 66 8 +48 67 8 +48 68 8 +48 69 8 +48 70 8 +48 71 8 +48 72 8 +48 73 8 +48 74 8 +48 75 8 +48 76 8 +48 77 8 +48 78 8 +48 79 8 +48 80 8 +48 81 8 +48 82 8 +48 83 8 +48 84 8 +48 85 8 +48 86 8 +48 87 8 +48 88 8 +48 89 8 +48 90 8 +48 91 8 +48 92 8 +48 93 8 +48 94 8 +48 95 8 +48 96 8 +48 97 8 +48 98 8 +48 99 8 +48 100 8 +48 101 8 +48 102 8 +48 103 8 +48 104 8 +48 105 8 +48 106 8 +48 107 8 +48 108 8 +48 109 8 +48 110 8 +48 111 8 +48 112 8 +48 113 8 +48 114 8 +48 115 8 +48 116 8 +48 117 8 +48 118 8 +48 119 8 +48 120 8 +48 121 8 +48 122 8 +48 123 8 +48 124 8 +48 125 8 +48 126 8 +48 127 8 +48 128 8 +48 129 8 +48 130 8 +48 131 8 +48 132 8 +48 133 8 +48 134 8 +48 135 8 +48 136 8 +48 137 8 +48 138 8 +48 139 8 +48 140 8 +48 141 8 +48 142 8 +48 143 8 +48 144 8 +48 145 8 +48 146 8 +48 147 8 +48 148 8 +48 149 8 +48 150 8 +48 151 8 +48 152 8 +48 153 8 +48 154 8 +48 155 8 +48 156 8 +48 157 8 +48 158 8 +48 159 8 +48 160 8 +48 161 8 +48 162 8 +48 163 8 +48 164 8 +48 165 8 +48 166 8 +48 167 8 +48 168 8 +48 169 8 +48 170 8 +48 171 8 +48 172 8 +48 173 8 +48 174 8 +48 175 8 +48 176 8 +48 177 8 +48 178 8 +48 179 8 +48 180 8 +48 181 8 +48 182 8 +48 183 8 +48 184 8 +48 185 8 +48 186 8 +48 187 8 +48 188 8 +48 189 8 +48 190 8 +48 191 8 +48 192 8 +48 193 8 +48 194 8 +48 195 8 +48 196 8 +48 197 8 +48 198 8 +48 199 8 +48 200 8 +48 201 8 +48 202 8 +48 203 8 +48 204 8 +48 205 8 +48 206 8 +48 207 8 +48 208 8 +48 209 8 +48 210 8 +48 211 8 +48 212 8 +48 213 8 +48 214 8 +48 215 8 +48 216 8 +48 217 8 +48 218 8 +48 219 8 +48 220 8 +48 221 8 +48 222 8 +48 223 8 +48 224 8 +48 225 8 +48 226 8 +48 227 8 +48 228 8 +48 229 8 +48 230 8 +48 231 8 +48 232 8 +48 233 8 +48 234 8 +48 235 8 +48 236 8 +48 237 8 +48 238 8 +48 239 8 +48 240 8 +48 241 8 +48 242 8 +48 243 8 +48 244 8 +48 245 8 +48 246 8 +48 247 8 +48 248 8 +48 249 8 +48 250 8 +48 251 8 +48 252 8 +48 253 8 +48 254 8 +48 255 8 +48 256 8 +48 257 8 +48 258 8 +48 259 8 +48 260 8 +48 261 8 +48 262 8 +48 263 8 +48 264 8 +48 265 8 +48 266 8 +48 267 8 +48 268 8 +48 269 8 +48 270 8 +48 271 8 +48 272 8 +48 273 8 +48 274 8 +48 275 8 +48 276 8 +48 277 8 +48 278 8 +48 279 8 +48 280 8 +48 281 8 +48 282 8 +48 283 8 +48 284 8 +48 285 8 +48 286 8 +48 287 8 +48 288 8 +48 289 8 +48 290 8 +48 291 8 +48 292 8 +48 293 8 +48 294 8 +48 295 8 +48 296 8 +48 297 8 +48 298 8 +48 299 8 +48 300 8 +48 301 8 +48 302 8 +48 303 8 +48 304 8 +48 305 8 +48 306 8 +48 307 8 +48 308 8 +48 309 8 +48 310 8 +48 311 8 +48 312 8 +48 313 8 +48 314 8 +48 315 8 +48 316 8 +48 317 8 +48 318 8 +48 319 8 +48 320 8 +48 321 8 +48 322 8 +48 323 8 +48 324 8 +48 325 8 +48 326 8 +48 327 8 +48 328 8 +48 329 8 +48 330 8 +48 331 8 +48 332 8 +48 333 8 +48 334 8 +48 335 8 +48 336 8 +48 337 8 +48 338 8 +48 339 8 +48 340 8 +48 341 8 +48 342 8 +48 343 8 +48 344 8 +48 345 8 +48 346 8 +48 347 8 +48 348 8 +48 349 8 +48 350 0 +48 351 0 +48 352 0 +48 353 0 +48 354 0 +48 355 0 +48 356 0 +48 357 0 +48 358 0 +48 359 0 +48 360 0 +48 361 0 +48 362 0 +48 363 0 +48 364 0 +48 365 0 +48 366 0 +48 367 0 +48 368 0 +48 369 0 +48 370 0 +48 371 0 +48 372 0 +48 373 0 +48 374 0 +48 375 0 +48 376 0 +48 377 0 +48 378 0 +48 379 0 +48 380 0 +48 381 0 +48 382 0 +48 383 0 +49 50 8 +49 51 8 +49 52 8 +49 53 8 +49 54 8 +49 55 8 +49 56 8 +49 57 8 +49 58 8 +49 59 8 +49 60 8 +49 61 8 +49 62 8 +49 63 8 +49 64 8 +49 65 8 +49 66 8 +49 67 8 +49 68 8 +49 69 8 +49 70 8 +49 71 8 +49 72 8 +49 73 8 +49 74 8 +49 75 8 +49 76 8 +49 77 8 +49 78 8 +49 79 8 +49 80 8 +49 81 8 +49 82 8 +49 83 8 +49 84 8 +49 85 8 +49 86 8 +49 87 8 +49 88 8 +49 89 8 +49 90 8 +49 91 8 +49 92 8 +49 93 8 +49 94 8 +49 95 8 +49 96 8 +49 97 8 +49 98 8 +49 99 8 +49 100 8 +49 101 8 +49 102 8 +49 103 8 +49 104 8 +49 105 8 +49 106 8 +49 107 8 +49 108 8 +49 109 8 +49 110 8 +49 111 8 +49 112 8 +49 113 8 +49 114 8 +49 115 8 +49 116 8 +49 117 8 +49 118 8 +49 119 8 +49 120 8 +49 121 8 +49 122 8 +49 123 8 +49 124 8 +49 125 8 +49 126 8 +49 127 8 +49 128 8 +49 129 8 +49 130 8 +49 131 8 +49 132 8 +49 133 8 +49 134 8 +49 135 8 +49 136 8 +49 137 8 +49 138 8 +49 139 8 +49 140 8 +49 141 8 +49 142 8 +49 143 8 +49 144 8 +49 145 8 +49 146 8 +49 147 8 +49 148 8 +49 149 8 +49 150 8 +49 151 8 +49 152 8 +49 153 8 +49 154 8 +49 155 8 +49 156 8 +49 157 8 +49 158 8 +49 159 8 +49 160 8 +49 161 8 +49 162 8 +49 163 8 +49 164 8 +49 165 8 +49 166 8 +49 167 8 +49 168 8 +49 169 8 +49 170 8 +49 171 8 +49 172 8 +49 173 8 +49 174 8 +49 175 8 +49 176 8 +49 177 8 +49 178 8 +49 179 8 +49 180 8 +49 181 8 +49 182 8 +49 183 8 +49 184 8 +49 185 8 +49 186 8 +49 187 8 +49 188 8 +49 189 8 +49 190 8 +49 191 8 +49 192 8 +49 193 8 +49 194 8 +49 195 8 +49 196 8 +49 197 8 +49 198 8 +49 199 8 +49 200 8 +49 201 8 +49 202 8 +49 203 8 +49 204 8 +49 205 8 +49 206 8 +49 207 8 +49 208 8 +49 209 8 +49 210 8 +49 211 8 +49 212 8 +49 213 8 +49 214 8 +49 215 8 +49 216 8 +49 217 8 +49 218 8 +49 219 8 +49 220 8 +49 221 8 +49 222 8 +49 223 8 +49 224 8 +49 225 8 +49 226 8 +49 227 8 +49 228 8 +49 229 8 +49 230 8 +49 231 8 +49 232 8 +49 233 8 +49 234 8 +49 235 8 +49 236 8 +49 237 8 +49 238 8 +49 239 8 +49 240 8 +49 241 8 +49 242 8 +49 243 8 +49 244 8 +49 245 8 +49 246 8 +49 247 8 +49 248 8 +49 249 8 +49 250 8 +49 251 8 +49 252 8 +49 253 8 +49 254 8 +49 255 8 +49 256 8 +49 257 8 +49 258 8 +49 259 8 +49 260 8 +49 261 8 +49 262 8 +49 263 8 +49 264 8 +49 265 8 +49 266 8 +49 267 8 +49 268 8 +49 269 8 +49 270 8 +49 271 8 +49 272 8 +49 273 8 +49 274 8 +49 275 8 +49 276 8 +49 277 8 +49 278 8 +49 279 8 +49 280 8 +49 281 8 +49 282 8 +49 283 8 +49 284 8 +49 285 8 +49 286 8 +49 287 8 +49 288 8 +49 289 8 +49 290 8 +49 291 8 +49 292 8 +49 293 8 +49 294 8 +49 295 8 +49 296 8 +49 297 8 +49 298 8 +49 299 8 +49 300 8 +49 301 8 +49 302 8 +49 303 8 +49 304 8 +49 305 8 +49 306 8 +49 307 8 +49 308 8 +49 309 8 +49 310 8 +49 311 8 +49 312 8 +49 313 8 +49 314 8 +49 315 8 +49 316 8 +49 317 8 +49 318 8 +49 319 8 +49 320 8 +49 321 8 +49 322 8 +49 323 8 +49 324 8 +49 325 8 +49 326 8 +49 327 8 +49 328 8 +49 329 8 +49 330 8 +49 331 8 +49 332 8 +49 333 8 +49 334 8 +49 335 8 +49 336 8 +49 337 8 +49 338 8 +49 339 8 +49 340 8 +49 341 8 +49 342 8 +49 343 8 +49 344 8 +49 345 8 +49 346 8 +49 347 8 +49 348 8 +49 349 8 +49 350 0 +49 351 0 +49 352 0 +49 353 0 +49 354 0 +49 355 0 +49 356 0 +49 357 0 +49 358 0 +49 359 0 +49 360 0 +49 361 0 +49 362 0 +49 363 0 +49 364 0 +49 365 0 +49 366 0 +49 367 0 +49 368 0 +49 369 0 +49 370 0 +49 371 0 +49 372 0 +49 373 0 +49 374 0 +49 375 0 +49 376 0 +49 377 0 +49 378 0 +49 379 0 +49 380 0 +49 381 0 +49 382 0 +49 383 0 +50 51 8 +50 52 8 +50 53 8 +50 54 8 +50 55 8 +50 56 8 +50 57 8 +50 58 8 +50 59 8 +50 60 8 +50 61 8 +50 62 8 +50 63 8 +50 64 8 +50 65 8 +50 66 8 +50 67 8 +50 68 8 +50 69 8 +50 70 8 +50 71 8 +50 72 8 +50 73 8 +50 74 8 +50 75 8 +50 76 8 +50 77 8 +50 78 8 +50 79 8 +50 80 8 +50 81 8 +50 82 8 +50 83 8 +50 84 8 +50 85 8 +50 86 8 +50 87 8 +50 88 8 +50 89 8 +50 90 8 +50 91 8 +50 92 8 +50 93 8 +50 94 8 +50 95 8 +50 96 8 +50 97 8 +50 98 8 +50 99 8 +50 100 8 +50 101 8 +50 102 8 +50 103 8 +50 104 8 +50 105 8 +50 106 8 +50 107 8 +50 108 8 +50 109 8 +50 110 8 +50 111 8 +50 112 8 +50 113 8 +50 114 8 +50 115 8 +50 116 8 +50 117 8 +50 118 8 +50 119 8 +50 120 8 +50 121 8 +50 122 8 +50 123 8 +50 124 8 +50 125 8 +50 126 8 +50 127 8 +50 128 8 +50 129 8 +50 130 8 +50 131 8 +50 132 8 +50 133 8 +50 134 8 +50 135 8 +50 136 8 +50 137 8 +50 138 8 +50 139 8 +50 140 8 +50 141 8 +50 142 8 +50 143 8 +50 144 8 +50 145 8 +50 146 8 +50 147 8 +50 148 8 +50 149 8 +50 150 8 +50 151 8 +50 152 8 +50 153 8 +50 154 8 +50 155 8 +50 156 8 +50 157 8 +50 158 8 +50 159 8 +50 160 8 +50 161 8 +50 162 8 +50 163 8 +50 164 8 +50 165 8 +50 166 8 +50 167 8 +50 168 8 +50 169 8 +50 170 8 +50 171 8 +50 172 8 +50 173 8 +50 174 8 +50 175 8 +50 176 8 +50 177 8 +50 178 8 +50 179 8 +50 180 8 +50 181 8 +50 182 8 +50 183 8 +50 184 8 +50 185 8 +50 186 8 +50 187 8 +50 188 8 +50 189 8 +50 190 8 +50 191 8 +50 192 8 +50 193 8 +50 194 8 +50 195 8 +50 196 8 +50 197 8 +50 198 8 +50 199 8 +50 200 8 +50 201 8 +50 202 8 +50 203 8 +50 204 8 +50 205 8 +50 206 8 +50 207 8 +50 208 8 +50 209 8 +50 210 8 +50 211 8 +50 212 8 +50 213 8 +50 214 8 +50 215 8 +50 216 8 +50 217 8 +50 218 8 +50 219 8 +50 220 8 +50 221 8 +50 222 8 +50 223 8 +50 224 8 +50 225 8 +50 226 8 +50 227 8 +50 228 8 +50 229 8 +50 230 8 +50 231 8 +50 232 8 +50 233 8 +50 234 8 +50 235 8 +50 236 8 +50 237 8 +50 238 8 +50 239 8 +50 240 8 +50 241 8 +50 242 8 +50 243 8 +50 244 8 +50 245 8 +50 246 8 +50 247 8 +50 248 8 +50 249 8 +50 250 8 +50 251 8 +50 252 8 +50 253 8 +50 254 8 +50 255 8 +50 256 8 +50 257 8 +50 258 8 +50 259 8 +50 260 8 +50 261 8 +50 262 8 +50 263 8 +50 264 8 +50 265 8 +50 266 8 +50 267 8 +50 268 8 +50 269 8 +50 270 8 +50 271 8 +50 272 8 +50 273 8 +50 274 8 +50 275 8 +50 276 8 +50 277 8 +50 278 8 +50 279 8 +50 280 8 +50 281 8 +50 282 8 +50 283 8 +50 284 8 +50 285 8 +50 286 8 +50 287 8 +50 288 8 +50 289 8 +50 290 8 +50 291 8 +50 292 8 +50 293 8 +50 294 8 +50 295 8 +50 296 8 +50 297 8 +50 298 8 +50 299 8 +50 300 8 +50 301 8 +50 302 8 +50 303 8 +50 304 8 +50 305 8 +50 306 8 +50 307 8 +50 308 8 +50 309 8 +50 310 8 +50 311 8 +50 312 8 +50 313 8 +50 314 8 +50 315 8 +50 316 8 +50 317 8 +50 318 8 +50 319 8 +50 320 8 +50 321 8 +50 322 8 +50 323 8 +50 324 8 +50 325 8 +50 326 8 +50 327 8 +50 328 8 +50 329 8 +50 330 8 +50 331 8 +50 332 8 +50 333 8 +50 334 8 +50 335 8 +50 336 8 +50 337 8 +50 338 8 +50 339 8 +50 340 8 +50 341 8 +50 342 8 +50 343 8 +50 344 8 +50 345 8 +50 346 8 +50 347 8 +50 348 8 +50 349 8 +50 350 0 +50 351 0 +50 352 0 +50 353 0 +50 354 0 +50 355 0 +50 356 0 +50 357 0 +50 358 0 +50 359 0 +50 360 0 +50 361 0 +50 362 0 +50 363 0 +50 364 0 +50 365 0 +50 366 0 +50 367 0 +50 368 0 +50 369 0 +50 370 0 +50 371 0 +50 372 0 +50 373 0 +50 374 0 +50 375 0 +50 376 0 +50 377 0 +50 378 0 +50 379 0 +50 380 0 +50 381 0 +50 382 0 +50 383 0 +51 52 8 +51 53 8 +51 54 8 +51 55 8 +51 56 8 +51 57 8 +51 58 8 +51 59 8 +51 60 8 +51 61 8 +51 62 8 +51 63 8 +51 64 8 +51 65 8 +51 66 8 +51 67 8 +51 68 8 +51 69 8 +51 70 8 +51 71 8 +51 72 8 +51 73 8 +51 74 8 +51 75 8 +51 76 8 +51 77 8 +51 78 8 +51 79 8 +51 80 8 +51 81 8 +51 82 8 +51 83 8 +51 84 8 +51 85 8 +51 86 8 +51 87 8 +51 88 8 +51 89 8 +51 90 8 +51 91 8 +51 92 8 +51 93 8 +51 94 8 +51 95 8 +51 96 8 +51 97 8 +51 98 8 +51 99 8 +51 100 8 +51 101 8 +51 102 8 +51 103 8 +51 104 8 +51 105 8 +51 106 8 +51 107 8 +51 108 8 +51 109 8 +51 110 8 +51 111 8 +51 112 8 +51 113 8 +51 114 8 +51 115 8 +51 116 8 +51 117 8 +51 118 8 +51 119 8 +51 120 8 +51 121 8 +51 122 8 +51 123 8 +51 124 8 +51 125 8 +51 126 8 +51 127 8 +51 128 8 +51 129 8 +51 130 8 +51 131 8 +51 132 8 +51 133 8 +51 134 8 +51 135 8 +51 136 8 +51 137 8 +51 138 8 +51 139 8 +51 140 8 +51 141 8 +51 142 8 +51 143 8 +51 144 8 +51 145 8 +51 146 8 +51 147 8 +51 148 8 +51 149 8 +51 150 8 +51 151 8 +51 152 8 +51 153 8 +51 154 8 +51 155 8 +51 156 8 +51 157 8 +51 158 8 +51 159 8 +51 160 8 +51 161 8 +51 162 8 +51 163 8 +51 164 8 +51 165 8 +51 166 8 +51 167 8 +51 168 8 +51 169 8 +51 170 8 +51 171 8 +51 172 8 +51 173 8 +51 174 8 +51 175 8 +51 176 8 +51 177 8 +51 178 8 +51 179 8 +51 180 8 +51 181 8 +51 182 8 +51 183 8 +51 184 8 +51 185 8 +51 186 8 +51 187 8 +51 188 8 +51 189 8 +51 190 8 +51 191 8 +51 192 8 +51 193 8 +51 194 8 +51 195 8 +51 196 8 +51 197 8 +51 198 8 +51 199 8 +51 200 8 +51 201 8 +51 202 8 +51 203 8 +51 204 8 +51 205 8 +51 206 8 +51 207 8 +51 208 8 +51 209 8 +51 210 8 +51 211 8 +51 212 8 +51 213 8 +51 214 8 +51 215 8 +51 216 8 +51 217 8 +51 218 8 +51 219 8 +51 220 8 +51 221 8 +51 222 8 +51 223 8 +51 224 8 +51 225 8 +51 226 8 +51 227 8 +51 228 8 +51 229 8 +51 230 8 +51 231 8 +51 232 8 +51 233 8 +51 234 8 +51 235 8 +51 236 8 +51 237 8 +51 238 8 +51 239 8 +51 240 8 +51 241 8 +51 242 8 +51 243 8 +51 244 8 +51 245 8 +51 246 8 +51 247 8 +51 248 8 +51 249 8 +51 250 8 +51 251 8 +51 252 8 +51 253 8 +51 254 8 +51 255 8 +51 256 8 +51 257 8 +51 258 8 +51 259 8 +51 260 8 +51 261 8 +51 262 8 +51 263 8 +51 264 8 +51 265 8 +51 266 8 +51 267 8 +51 268 8 +51 269 8 +51 270 8 +51 271 8 +51 272 8 +51 273 8 +51 274 8 +51 275 8 +51 276 8 +51 277 8 +51 278 8 +51 279 8 +51 280 8 +51 281 8 +51 282 8 +51 283 8 +51 284 8 +51 285 8 +51 286 8 +51 287 8 +51 288 8 +51 289 8 +51 290 8 +51 291 8 +51 292 8 +51 293 8 +51 294 8 +51 295 8 +51 296 8 +51 297 8 +51 298 8 +51 299 8 +51 300 8 +51 301 8 +51 302 8 +51 303 8 +51 304 8 +51 305 8 +51 306 8 +51 307 8 +51 308 8 +51 309 8 +51 310 8 +51 311 8 +51 312 8 +51 313 8 +51 314 8 +51 315 8 +51 316 8 +51 317 8 +51 318 8 +51 319 8 +51 320 8 +51 321 8 +51 322 8 +51 323 8 +51 324 8 +51 325 8 +51 326 8 +51 327 8 +51 328 8 +51 329 8 +51 330 8 +51 331 8 +51 332 8 +51 333 8 +51 334 8 +51 335 8 +51 336 8 +51 337 8 +51 338 8 +51 339 8 +51 340 8 +51 341 8 +51 342 8 +51 343 8 +51 344 8 +51 345 8 +51 346 8 +51 347 8 +51 348 8 +51 349 8 +51 350 0 +51 351 0 +51 352 0 +51 353 0 +51 354 0 +51 355 0 +51 356 0 +51 357 0 +51 358 0 +51 359 0 +51 360 0 +51 361 0 +51 362 0 +51 363 0 +51 364 0 +51 365 0 +51 366 0 +51 367 0 +51 368 0 +51 369 0 +51 370 0 +51 371 0 +51 372 0 +51 373 0 +51 374 0 +51 375 0 +51 376 0 +51 377 0 +51 378 0 +51 379 0 +51 380 0 +51 381 0 +51 382 0 +51 383 0 +52 53 8 +52 54 8 +52 55 8 +52 56 8 +52 57 8 +52 58 8 +52 59 8 +52 60 8 +52 61 8 +52 62 8 +52 63 8 +52 64 8 +52 65 8 +52 66 8 +52 67 8 +52 68 8 +52 69 8 +52 70 8 +52 71 8 +52 72 8 +52 73 8 +52 74 8 +52 75 8 +52 76 8 +52 77 8 +52 78 8 +52 79 8 +52 80 8 +52 81 8 +52 82 8 +52 83 8 +52 84 8 +52 85 8 +52 86 8 +52 87 8 +52 88 8 +52 89 8 +52 90 8 +52 91 8 +52 92 8 +52 93 8 +52 94 8 +52 95 8 +52 96 8 +52 97 8 +52 98 8 +52 99 8 +52 100 8 +52 101 8 +52 102 8 +52 103 8 +52 104 8 +52 105 8 +52 106 8 +52 107 8 +52 108 8 +52 109 8 +52 110 8 +52 111 8 +52 112 8 +52 113 8 +52 114 8 +52 115 8 +52 116 8 +52 117 8 +52 118 8 +52 119 8 +52 120 8 +52 121 8 +52 122 8 +52 123 8 +52 124 8 +52 125 8 +52 126 8 +52 127 8 +52 128 8 +52 129 8 +52 130 8 +52 131 8 +52 132 8 +52 133 8 +52 134 8 +52 135 8 +52 136 8 +52 137 8 +52 138 8 +52 139 8 +52 140 8 +52 141 8 +52 142 8 +52 143 8 +52 144 8 +52 145 8 +52 146 8 +52 147 8 +52 148 8 +52 149 8 +52 150 8 +52 151 8 +52 152 8 +52 153 8 +52 154 8 +52 155 8 +52 156 8 +52 157 8 +52 158 8 +52 159 8 +52 160 8 +52 161 8 +52 162 8 +52 163 8 +52 164 8 +52 165 8 +52 166 8 +52 167 8 +52 168 8 +52 169 8 +52 170 8 +52 171 8 +52 172 8 +52 173 8 +52 174 8 +52 175 8 +52 176 8 +52 177 8 +52 178 8 +52 179 8 +52 180 8 +52 181 8 +52 182 8 +52 183 8 +52 184 8 +52 185 8 +52 186 8 +52 187 8 +52 188 8 +52 189 8 +52 190 8 +52 191 8 +52 192 8 +52 193 8 +52 194 8 +52 195 8 +52 196 8 +52 197 8 +52 198 8 +52 199 8 +52 200 8 +52 201 8 +52 202 8 +52 203 8 +52 204 8 +52 205 8 +52 206 8 +52 207 8 +52 208 8 +52 209 8 +52 210 8 +52 211 8 +52 212 8 +52 213 8 +52 214 8 +52 215 8 +52 216 8 +52 217 8 +52 218 8 +52 219 8 +52 220 8 +52 221 8 +52 222 8 +52 223 8 +52 224 8 +52 225 8 +52 226 8 +52 227 8 +52 228 8 +52 229 8 +52 230 8 +52 231 8 +52 232 8 +52 233 8 +52 234 8 +52 235 8 +52 236 8 +52 237 8 +52 238 8 +52 239 8 +52 240 8 +52 241 8 +52 242 8 +52 243 8 +52 244 8 +52 245 8 +52 246 8 +52 247 8 +52 248 8 +52 249 8 +52 250 8 +52 251 8 +52 252 8 +52 253 8 +52 254 8 +52 255 8 +52 256 8 +52 257 8 +52 258 8 +52 259 8 +52 260 8 +52 261 8 +52 262 8 +52 263 8 +52 264 8 +52 265 8 +52 266 8 +52 267 8 +52 268 8 +52 269 8 +52 270 8 +52 271 8 +52 272 8 +52 273 8 +52 274 8 +52 275 8 +52 276 8 +52 277 8 +52 278 8 +52 279 8 +52 280 8 +52 281 8 +52 282 8 +52 283 8 +52 284 8 +52 285 8 +52 286 8 +52 287 8 +52 288 8 +52 289 8 +52 290 8 +52 291 8 +52 292 8 +52 293 8 +52 294 8 +52 295 8 +52 296 8 +52 297 8 +52 298 8 +52 299 8 +52 300 8 +52 301 8 +52 302 8 +52 303 8 +52 304 8 +52 305 8 +52 306 8 +52 307 8 +52 308 8 +52 309 8 +52 310 8 +52 311 8 +52 312 8 +52 313 8 +52 314 8 +52 315 8 +52 316 8 +52 317 8 +52 318 8 +52 319 8 +52 320 8 +52 321 8 +52 322 8 +52 323 8 +52 324 8 +52 325 8 +52 326 8 +52 327 8 +52 328 8 +52 329 8 +52 330 8 +52 331 8 +52 332 8 +52 333 8 +52 334 8 +52 335 8 +52 336 8 +52 337 8 +52 338 8 +52 339 8 +52 340 8 +52 341 8 +52 342 8 +52 343 8 +52 344 8 +52 345 8 +52 346 8 +52 347 8 +52 348 8 +52 349 8 +52 350 0 +52 351 0 +52 352 0 +52 353 0 +52 354 0 +52 355 0 +52 356 0 +52 357 0 +52 358 0 +52 359 0 +52 360 0 +52 361 0 +52 362 0 +52 363 0 +52 364 0 +52 365 0 +52 366 0 +52 367 0 +52 368 0 +52 369 0 +52 370 0 +52 371 0 +52 372 0 +52 373 0 +52 374 0 +52 375 0 +52 376 0 +52 377 0 +52 378 0 +52 379 0 +52 380 0 +52 381 0 +52 382 0 +52 383 0 +53 54 8 +53 55 8 +53 56 8 +53 57 8 +53 58 8 +53 59 8 +53 60 8 +53 61 8 +53 62 8 +53 63 8 +53 64 8 +53 65 8 +53 66 8 +53 67 8 +53 68 8 +53 69 8 +53 70 8 +53 71 8 +53 72 8 +53 73 8 +53 74 8 +53 75 8 +53 76 8 +53 77 8 +53 78 8 +53 79 8 +53 80 8 +53 81 8 +53 82 8 +53 83 8 +53 84 8 +53 85 8 +53 86 8 +53 87 8 +53 88 8 +53 89 8 +53 90 8 +53 91 8 +53 92 8 +53 93 8 +53 94 8 +53 95 8 +53 96 8 +53 97 8 +53 98 8 +53 99 8 +53 100 8 +53 101 8 +53 102 8 +53 103 8 +53 104 8 +53 105 8 +53 106 8 +53 107 8 +53 108 8 +53 109 8 +53 110 8 +53 111 8 +53 112 8 +53 113 8 +53 114 8 +53 115 8 +53 116 8 +53 117 8 +53 118 8 +53 119 8 +53 120 8 +53 121 8 +53 122 8 +53 123 8 +53 124 8 +53 125 8 +53 126 8 +53 127 8 +53 128 8 +53 129 8 +53 130 8 +53 131 8 +53 132 8 +53 133 8 +53 134 8 +53 135 8 +53 136 8 +53 137 8 +53 138 8 +53 139 8 +53 140 8 +53 141 8 +53 142 8 +53 143 8 +53 144 8 +53 145 8 +53 146 8 +53 147 8 +53 148 8 +53 149 8 +53 150 8 +53 151 8 +53 152 8 +53 153 8 +53 154 8 +53 155 8 +53 156 8 +53 157 8 +53 158 8 +53 159 8 +53 160 8 +53 161 8 +53 162 8 +53 163 8 +53 164 8 +53 165 8 +53 166 8 +53 167 8 +53 168 8 +53 169 8 +53 170 8 +53 171 8 +53 172 8 +53 173 8 +53 174 8 +53 175 8 +53 176 8 +53 177 8 +53 178 8 +53 179 8 +53 180 8 +53 181 8 +53 182 8 +53 183 8 +53 184 8 +53 185 8 +53 186 8 +53 187 8 +53 188 8 +53 189 8 +53 190 8 +53 191 8 +53 192 8 +53 193 8 +53 194 8 +53 195 8 +53 196 8 +53 197 8 +53 198 8 +53 199 8 +53 200 8 +53 201 8 +53 202 8 +53 203 8 +53 204 8 +53 205 8 +53 206 8 +53 207 8 +53 208 8 +53 209 8 +53 210 8 +53 211 8 +53 212 8 +53 213 8 +53 214 8 +53 215 8 +53 216 8 +53 217 8 +53 218 8 +53 219 8 +53 220 8 +53 221 8 +53 222 8 +53 223 8 +53 224 8 +53 225 8 +53 226 8 +53 227 8 +53 228 8 +53 229 8 +53 230 8 +53 231 8 +53 232 8 +53 233 8 +53 234 8 +53 235 8 +53 236 8 +53 237 8 +53 238 8 +53 239 8 +53 240 8 +53 241 8 +53 242 8 +53 243 8 +53 244 8 +53 245 8 +53 246 8 +53 247 8 +53 248 8 +53 249 8 +53 250 8 +53 251 8 +53 252 8 +53 253 8 +53 254 8 +53 255 8 +53 256 8 +53 257 8 +53 258 8 +53 259 8 +53 260 8 +53 261 8 +53 262 8 +53 263 8 +53 264 8 +53 265 8 +53 266 8 +53 267 8 +53 268 8 +53 269 8 +53 270 8 +53 271 8 +53 272 8 +53 273 8 +53 274 8 +53 275 8 +53 276 8 +53 277 8 +53 278 8 +53 279 8 +53 280 8 +53 281 8 +53 282 8 +53 283 8 +53 284 8 +53 285 8 +53 286 8 +53 287 8 +53 288 8 +53 289 8 +53 290 8 +53 291 8 +53 292 8 +53 293 8 +53 294 8 +53 295 8 +53 296 8 +53 297 8 +53 298 8 +53 299 8 +53 300 8 +53 301 8 +53 302 8 +53 303 8 +53 304 8 +53 305 8 +53 306 8 +53 307 8 +53 308 8 +53 309 8 +53 310 8 +53 311 8 +53 312 8 +53 313 8 +53 314 8 +53 315 8 +53 316 8 +53 317 8 +53 318 8 +53 319 8 +53 320 8 +53 321 8 +53 322 8 +53 323 8 +53 324 8 +53 325 8 +53 326 8 +53 327 8 +53 328 8 +53 329 8 +53 330 8 +53 331 8 +53 332 8 +53 333 8 +53 334 8 +53 335 8 +53 336 8 +53 337 8 +53 338 8 +53 339 8 +53 340 8 +53 341 8 +53 342 8 +53 343 8 +53 344 8 +53 345 8 +53 346 8 +53 347 8 +53 348 8 +53 349 8 +53 350 0 +53 351 0 +53 352 0 +53 353 0 +53 354 0 +53 355 0 +53 356 0 +53 357 0 +53 358 0 +53 359 0 +53 360 0 +53 361 0 +53 362 0 +53 363 0 +53 364 0 +53 365 0 +53 366 0 +53 367 0 +53 368 0 +53 369 0 +53 370 0 +53 371 0 +53 372 0 +53 373 0 +53 374 0 +53 375 0 +53 376 0 +53 377 0 +53 378 0 +53 379 0 +53 380 0 +53 381 0 +53 382 0 +53 383 0 +54 55 8 +54 56 8 +54 57 8 +54 58 8 +54 59 8 +54 60 8 +54 61 8 +54 62 8 +54 63 8 +54 64 8 +54 65 8 +54 66 8 +54 67 8 +54 68 8 +54 69 8 +54 70 8 +54 71 8 +54 72 8 +54 73 8 +54 74 8 +54 75 8 +54 76 8 +54 77 8 +54 78 8 +54 79 8 +54 80 8 +54 81 8 +54 82 8 +54 83 8 +54 84 8 +54 85 8 +54 86 8 +54 87 8 +54 88 8 +54 89 8 +54 90 8 +54 91 8 +54 92 8 +54 93 8 +54 94 8 +54 95 8 +54 96 8 +54 97 8 +54 98 8 +54 99 8 +54 100 8 +54 101 8 +54 102 8 +54 103 8 +54 104 8 +54 105 8 +54 106 8 +54 107 8 +54 108 8 +54 109 8 +54 110 8 +54 111 8 +54 112 8 +54 113 8 +54 114 8 +54 115 8 +54 116 8 +54 117 8 +54 118 8 +54 119 8 +54 120 8 +54 121 8 +54 122 8 +54 123 8 +54 124 8 +54 125 8 +54 126 8 +54 127 8 +54 128 8 +54 129 8 +54 130 8 +54 131 8 +54 132 8 +54 133 8 +54 134 8 +54 135 8 +54 136 8 +54 137 8 +54 138 8 +54 139 8 +54 140 8 +54 141 8 +54 142 8 +54 143 8 +54 144 8 +54 145 8 +54 146 8 +54 147 8 +54 148 8 +54 149 8 +54 150 8 +54 151 8 +54 152 8 +54 153 8 +54 154 8 +54 155 8 +54 156 8 +54 157 8 +54 158 8 +54 159 8 +54 160 8 +54 161 8 +54 162 8 +54 163 8 +54 164 8 +54 165 8 +54 166 8 +54 167 8 +54 168 8 +54 169 8 +54 170 8 +54 171 8 +54 172 8 +54 173 8 +54 174 8 +54 175 8 +54 176 8 +54 177 8 +54 178 8 +54 179 8 +54 180 8 +54 181 8 +54 182 8 +54 183 8 +54 184 8 +54 185 8 +54 186 8 +54 187 8 +54 188 8 +54 189 8 +54 190 8 +54 191 8 +54 192 8 +54 193 8 +54 194 8 +54 195 8 +54 196 8 +54 197 8 +54 198 8 +54 199 8 +54 200 8 +54 201 8 +54 202 8 +54 203 8 +54 204 8 +54 205 8 +54 206 8 +54 207 8 +54 208 8 +54 209 8 +54 210 8 +54 211 8 +54 212 8 +54 213 8 +54 214 8 +54 215 8 +54 216 8 +54 217 8 +54 218 8 +54 219 8 +54 220 8 +54 221 8 +54 222 8 +54 223 8 +54 224 8 +54 225 8 +54 226 8 +54 227 8 +54 228 8 +54 229 8 +54 230 8 +54 231 8 +54 232 8 +54 233 8 +54 234 8 +54 235 8 +54 236 8 +54 237 8 +54 238 8 +54 239 8 +54 240 8 +54 241 8 +54 242 8 +54 243 8 +54 244 8 +54 245 8 +54 246 8 +54 247 8 +54 248 8 +54 249 8 +54 250 8 +54 251 8 +54 252 8 +54 253 8 +54 254 8 +54 255 8 +54 256 8 +54 257 8 +54 258 8 +54 259 8 +54 260 8 +54 261 8 +54 262 8 +54 263 8 +54 264 8 +54 265 8 +54 266 8 +54 267 8 +54 268 8 +54 269 8 +54 270 8 +54 271 8 +54 272 8 +54 273 8 +54 274 8 +54 275 8 +54 276 8 +54 277 8 +54 278 8 +54 279 8 +54 280 8 +54 281 8 +54 282 8 +54 283 8 +54 284 8 +54 285 8 +54 286 8 +54 287 8 +54 288 8 +54 289 8 +54 290 8 +54 291 8 +54 292 8 +54 293 8 +54 294 8 +54 295 8 +54 296 8 +54 297 8 +54 298 8 +54 299 8 +54 300 8 +54 301 8 +54 302 8 +54 303 8 +54 304 8 +54 305 8 +54 306 8 +54 307 8 +54 308 8 +54 309 8 +54 310 8 +54 311 8 +54 312 8 +54 313 8 +54 314 8 +54 315 8 +54 316 8 +54 317 8 +54 318 8 +54 319 8 +54 320 8 +54 321 8 +54 322 8 +54 323 8 +54 324 8 +54 325 8 +54 326 8 +54 327 8 +54 328 8 +54 329 8 +54 330 8 +54 331 8 +54 332 8 +54 333 8 +54 334 8 +54 335 8 +54 336 8 +54 337 8 +54 338 8 +54 339 8 +54 340 8 +54 341 8 +54 342 8 +54 343 8 +54 344 8 +54 345 8 +54 346 8 +54 347 8 +54 348 8 +54 349 8 +54 350 0 +54 351 0 +54 352 0 +54 353 0 +54 354 0 +54 355 0 +54 356 0 +54 357 0 +54 358 0 +54 359 0 +54 360 0 +54 361 0 +54 362 0 +54 363 0 +54 364 0 +54 365 0 +54 366 0 +54 367 0 +54 368 0 +54 369 0 +54 370 0 +54 371 0 +54 372 0 +54 373 0 +54 374 0 +54 375 0 +54 376 0 +54 377 0 +54 378 0 +54 379 0 +54 380 0 +54 381 0 +54 382 0 +54 383 0 +55 56 8 +55 57 8 +55 58 8 +55 59 8 +55 60 8 +55 61 8 +55 62 8 +55 63 8 +55 64 8 +55 65 8 +55 66 8 +55 67 8 +55 68 8 +55 69 8 +55 70 8 +55 71 8 +55 72 8 +55 73 8 +55 74 8 +55 75 8 +55 76 8 +55 77 8 +55 78 8 +55 79 8 +55 80 8 +55 81 8 +55 82 8 +55 83 8 +55 84 8 +55 85 8 +55 86 8 +55 87 8 +55 88 8 +55 89 8 +55 90 8 +55 91 8 +55 92 8 +55 93 8 +55 94 8 +55 95 8 +55 96 8 +55 97 8 +55 98 8 +55 99 8 +55 100 8 +55 101 8 +55 102 8 +55 103 8 +55 104 8 +55 105 8 +55 106 8 +55 107 8 +55 108 8 +55 109 8 +55 110 8 +55 111 8 +55 112 8 +55 113 8 +55 114 8 +55 115 8 +55 116 8 +55 117 8 +55 118 8 +55 119 8 +55 120 8 +55 121 8 +55 122 8 +55 123 8 +55 124 8 +55 125 8 +55 126 8 +55 127 8 +55 128 8 +55 129 8 +55 130 8 +55 131 8 +55 132 8 +55 133 8 +55 134 8 +55 135 8 +55 136 8 +55 137 8 +55 138 8 +55 139 8 +55 140 8 +55 141 8 +55 142 8 +55 143 8 +55 144 8 +55 145 8 +55 146 8 +55 147 8 +55 148 8 +55 149 8 +55 150 8 +55 151 8 +55 152 8 +55 153 8 +55 154 8 +55 155 8 +55 156 8 +55 157 8 +55 158 8 +55 159 8 +55 160 8 +55 161 8 +55 162 8 +55 163 8 +55 164 8 +55 165 8 +55 166 8 +55 167 8 +55 168 8 +55 169 8 +55 170 8 +55 171 8 +55 172 8 +55 173 8 +55 174 8 +55 175 8 +55 176 8 +55 177 8 +55 178 8 +55 179 8 +55 180 8 +55 181 8 +55 182 8 +55 183 8 +55 184 8 +55 185 8 +55 186 8 +55 187 8 +55 188 8 +55 189 8 +55 190 8 +55 191 8 +55 192 8 +55 193 8 +55 194 8 +55 195 8 +55 196 8 +55 197 8 +55 198 8 +55 199 8 +55 200 8 +55 201 8 +55 202 8 +55 203 8 +55 204 8 +55 205 8 +55 206 8 +55 207 8 +55 208 8 +55 209 8 +55 210 8 +55 211 8 +55 212 8 +55 213 8 +55 214 8 +55 215 8 +55 216 8 +55 217 8 +55 218 8 +55 219 8 +55 220 8 +55 221 8 +55 222 8 +55 223 8 +55 224 8 +55 225 8 +55 226 8 +55 227 8 +55 228 8 +55 229 8 +55 230 8 +55 231 8 +55 232 8 +55 233 8 +55 234 8 +55 235 8 +55 236 8 +55 237 8 +55 238 8 +55 239 8 +55 240 8 +55 241 8 +55 242 8 +55 243 8 +55 244 8 +55 245 8 +55 246 8 +55 247 8 +55 248 8 +55 249 8 +55 250 8 +55 251 8 +55 252 8 +55 253 8 +55 254 8 +55 255 8 +55 256 8 +55 257 8 +55 258 8 +55 259 8 +55 260 8 +55 261 8 +55 262 8 +55 263 8 +55 264 8 +55 265 8 +55 266 8 +55 267 8 +55 268 8 +55 269 8 +55 270 8 +55 271 8 +55 272 8 +55 273 8 +55 274 8 +55 275 8 +55 276 8 +55 277 8 +55 278 8 +55 279 8 +55 280 8 +55 281 8 +55 282 8 +55 283 8 +55 284 8 +55 285 8 +55 286 8 +55 287 8 +55 288 8 +55 289 8 +55 290 8 +55 291 8 +55 292 8 +55 293 8 +55 294 8 +55 295 8 +55 296 8 +55 297 8 +55 298 8 +55 299 8 +55 300 8 +55 301 8 +55 302 8 +55 303 8 +55 304 8 +55 305 8 +55 306 8 +55 307 8 +55 308 8 +55 309 8 +55 310 8 +55 311 8 +55 312 8 +55 313 8 +55 314 8 +55 315 8 +55 316 8 +55 317 8 +55 318 8 +55 319 8 +55 320 8 +55 321 8 +55 322 8 +55 323 8 +55 324 8 +55 325 8 +55 326 8 +55 327 8 +55 328 8 +55 329 8 +55 330 8 +55 331 8 +55 332 8 +55 333 8 +55 334 8 +55 335 8 +55 336 8 +55 337 8 +55 338 8 +55 339 8 +55 340 8 +55 341 8 +55 342 8 +55 343 8 +55 344 8 +55 345 8 +55 346 8 +55 347 8 +55 348 8 +55 349 8 +55 350 0 +55 351 0 +55 352 0 +55 353 0 +55 354 0 +55 355 0 +55 356 0 +55 357 0 +55 358 0 +55 359 0 +55 360 0 +55 361 0 +55 362 0 +55 363 0 +55 364 0 +55 365 0 +55 366 0 +55 367 0 +55 368 0 +55 369 0 +55 370 0 +55 371 0 +55 372 0 +55 373 0 +55 374 0 +55 375 0 +55 376 0 +55 377 0 +55 378 0 +55 379 0 +55 380 0 +55 381 0 +55 382 0 +55 383 0 +56 57 8 +56 58 8 +56 59 8 +56 60 8 +56 61 8 +56 62 8 +56 63 8 +56 64 8 +56 65 8 +56 66 8 +56 67 8 +56 68 8 +56 69 8 +56 70 8 +56 71 8 +56 72 8 +56 73 8 +56 74 8 +56 75 8 +56 76 8 +56 77 8 +56 78 8 +56 79 8 +56 80 8 +56 81 8 +56 82 8 +56 83 8 +56 84 8 +56 85 8 +56 86 8 +56 87 8 +56 88 8 +56 89 8 +56 90 8 +56 91 8 +56 92 8 +56 93 8 +56 94 8 +56 95 8 +56 96 8 +56 97 8 +56 98 8 +56 99 8 +56 100 8 +56 101 8 +56 102 8 +56 103 8 +56 104 8 +56 105 8 +56 106 8 +56 107 8 +56 108 8 +56 109 8 +56 110 8 +56 111 8 +56 112 8 +56 113 8 +56 114 8 +56 115 8 +56 116 8 +56 117 8 +56 118 8 +56 119 8 +56 120 8 +56 121 8 +56 122 8 +56 123 8 +56 124 8 +56 125 8 +56 126 8 +56 127 8 +56 128 8 +56 129 8 +56 130 8 +56 131 8 +56 132 8 +56 133 8 +56 134 8 +56 135 8 +56 136 8 +56 137 8 +56 138 8 +56 139 8 +56 140 8 +56 141 8 +56 142 8 +56 143 8 +56 144 8 +56 145 8 +56 146 8 +56 147 8 +56 148 8 +56 149 8 +56 150 8 +56 151 8 +56 152 8 +56 153 8 +56 154 8 +56 155 8 +56 156 8 +56 157 8 +56 158 8 +56 159 8 +56 160 8 +56 161 8 +56 162 8 +56 163 8 +56 164 8 +56 165 8 +56 166 8 +56 167 8 +56 168 8 +56 169 8 +56 170 8 +56 171 8 +56 172 8 +56 173 8 +56 174 8 +56 175 8 +56 176 8 +56 177 8 +56 178 8 +56 179 8 +56 180 8 +56 181 8 +56 182 8 +56 183 8 +56 184 8 +56 185 8 +56 186 8 +56 187 8 +56 188 8 +56 189 8 +56 190 8 +56 191 8 +56 192 8 +56 193 8 +56 194 8 +56 195 8 +56 196 8 +56 197 8 +56 198 8 +56 199 8 +56 200 8 +56 201 8 +56 202 8 +56 203 8 +56 204 8 +56 205 8 +56 206 8 +56 207 8 +56 208 8 +56 209 8 +56 210 8 +56 211 8 +56 212 8 +56 213 8 +56 214 8 +56 215 8 +56 216 8 +56 217 8 +56 218 8 +56 219 8 +56 220 8 +56 221 8 +56 222 8 +56 223 8 +56 224 8 +56 225 8 +56 226 8 +56 227 8 +56 228 8 +56 229 8 +56 230 8 +56 231 8 +56 232 8 +56 233 8 +56 234 8 +56 235 8 +56 236 8 +56 237 8 +56 238 8 +56 239 8 +56 240 8 +56 241 8 +56 242 8 +56 243 8 +56 244 8 +56 245 8 +56 246 8 +56 247 8 +56 248 8 +56 249 8 +56 250 8 +56 251 8 +56 252 8 +56 253 8 +56 254 8 +56 255 8 +56 256 8 +56 257 8 +56 258 8 +56 259 8 +56 260 8 +56 261 8 +56 262 8 +56 263 8 +56 264 8 +56 265 8 +56 266 8 +56 267 8 +56 268 8 +56 269 8 +56 270 8 +56 271 8 +56 272 8 +56 273 8 +56 274 8 +56 275 8 +56 276 8 +56 277 8 +56 278 8 +56 279 8 +56 280 8 +56 281 8 +56 282 8 +56 283 8 +56 284 8 +56 285 8 +56 286 8 +56 287 8 +56 288 8 +56 289 8 +56 290 8 +56 291 8 +56 292 8 +56 293 8 +56 294 8 +56 295 8 +56 296 8 +56 297 8 +56 298 8 +56 299 8 +56 300 8 +56 301 8 +56 302 8 +56 303 8 +56 304 8 +56 305 8 +56 306 8 +56 307 8 +56 308 8 +56 309 8 +56 310 8 +56 311 8 +56 312 8 +56 313 8 +56 314 8 +56 315 8 +56 316 8 +56 317 8 +56 318 8 +56 319 8 +56 320 8 +56 321 8 +56 322 8 +56 323 8 +56 324 8 +56 325 8 +56 326 8 +56 327 8 +56 328 8 +56 329 8 +56 330 8 +56 331 8 +56 332 8 +56 333 8 +56 334 8 +56 335 8 +56 336 8 +56 337 8 +56 338 8 +56 339 8 +56 340 8 +56 341 8 +56 342 8 +56 343 8 +56 344 8 +56 345 8 +56 346 8 +56 347 8 +56 348 8 +56 349 8 +56 350 0 +56 351 0 +56 352 0 +56 353 0 +56 354 0 +56 355 0 +56 356 0 +56 357 0 +56 358 0 +56 359 0 +56 360 0 +56 361 0 +56 362 0 +56 363 0 +56 364 0 +56 365 0 +56 366 0 +56 367 0 +56 368 0 +56 369 0 +56 370 0 +56 371 0 +56 372 0 +56 373 0 +56 374 0 +56 375 0 +56 376 0 +56 377 0 +56 378 0 +56 379 0 +56 380 0 +56 381 0 +56 382 0 +56 383 0 +57 58 8 +57 59 8 +57 60 8 +57 61 8 +57 62 8 +57 63 8 +57 64 8 +57 65 8 +57 66 8 +57 67 8 +57 68 8 +57 69 8 +57 70 8 +57 71 8 +57 72 8 +57 73 8 +57 74 8 +57 75 8 +57 76 8 +57 77 8 +57 78 8 +57 79 8 +57 80 8 +57 81 8 +57 82 8 +57 83 8 +57 84 8 +57 85 8 +57 86 8 +57 87 8 +57 88 8 +57 89 8 +57 90 8 +57 91 8 +57 92 8 +57 93 8 +57 94 8 +57 95 8 +57 96 8 +57 97 8 +57 98 8 +57 99 8 +57 100 8 +57 101 8 +57 102 8 +57 103 8 +57 104 8 +57 105 8 +57 106 8 +57 107 8 +57 108 8 +57 109 8 +57 110 8 +57 111 8 +57 112 8 +57 113 8 +57 114 8 +57 115 8 +57 116 8 +57 117 8 +57 118 8 +57 119 8 +57 120 8 +57 121 8 +57 122 8 +57 123 8 +57 124 8 +57 125 8 +57 126 8 +57 127 8 +57 128 8 +57 129 8 +57 130 8 +57 131 8 +57 132 8 +57 133 8 +57 134 8 +57 135 8 +57 136 8 +57 137 8 +57 138 8 +57 139 8 +57 140 8 +57 141 8 +57 142 8 +57 143 8 +57 144 8 +57 145 8 +57 146 8 +57 147 8 +57 148 8 +57 149 8 +57 150 8 +57 151 8 +57 152 8 +57 153 8 +57 154 8 +57 155 8 +57 156 8 +57 157 8 +57 158 8 +57 159 8 +57 160 8 +57 161 8 +57 162 8 +57 163 8 +57 164 8 +57 165 8 +57 166 8 +57 167 8 +57 168 8 +57 169 8 +57 170 8 +57 171 8 +57 172 8 +57 173 8 +57 174 8 +57 175 8 +57 176 8 +57 177 8 +57 178 8 +57 179 8 +57 180 8 +57 181 8 +57 182 8 +57 183 8 +57 184 8 +57 185 8 +57 186 8 +57 187 8 +57 188 8 +57 189 8 +57 190 8 +57 191 8 +57 192 8 +57 193 8 +57 194 8 +57 195 8 +57 196 8 +57 197 8 +57 198 8 +57 199 8 +57 200 8 +57 201 8 +57 202 8 +57 203 8 +57 204 8 +57 205 8 +57 206 8 +57 207 8 +57 208 8 +57 209 8 +57 210 8 +57 211 8 +57 212 8 +57 213 8 +57 214 8 +57 215 8 +57 216 8 +57 217 8 +57 218 8 +57 219 8 +57 220 8 +57 221 8 +57 222 8 +57 223 8 +57 224 8 +57 225 8 +57 226 8 +57 227 8 +57 228 8 +57 229 8 +57 230 8 +57 231 8 +57 232 8 +57 233 8 +57 234 8 +57 235 8 +57 236 8 +57 237 8 +57 238 8 +57 239 8 +57 240 8 +57 241 8 +57 242 8 +57 243 8 +57 244 8 +57 245 8 +57 246 8 +57 247 8 +57 248 8 +57 249 8 +57 250 8 +57 251 8 +57 252 8 +57 253 8 +57 254 8 +57 255 8 +57 256 8 +57 257 8 +57 258 8 +57 259 8 +57 260 8 +57 261 8 +57 262 8 +57 263 8 +57 264 8 +57 265 8 +57 266 8 +57 267 8 +57 268 8 +57 269 8 +57 270 8 +57 271 8 +57 272 8 +57 273 8 +57 274 8 +57 275 8 +57 276 8 +57 277 8 +57 278 8 +57 279 8 +57 280 8 +57 281 8 +57 282 8 +57 283 8 +57 284 8 +57 285 8 +57 286 8 +57 287 8 +57 288 8 +57 289 8 +57 290 8 +57 291 8 +57 292 8 +57 293 8 +57 294 8 +57 295 8 +57 296 8 +57 297 8 +57 298 8 +57 299 8 +57 300 8 +57 301 8 +57 302 8 +57 303 8 +57 304 8 +57 305 8 +57 306 8 +57 307 8 +57 308 8 +57 309 8 +57 310 8 +57 311 8 +57 312 8 +57 313 8 +57 314 8 +57 315 8 +57 316 8 +57 317 8 +57 318 8 +57 319 8 +57 320 8 +57 321 8 +57 322 8 +57 323 8 +57 324 8 +57 325 8 +57 326 8 +57 327 8 +57 328 8 +57 329 8 +57 330 8 +57 331 8 +57 332 8 +57 333 8 +57 334 8 +57 335 8 +57 336 8 +57 337 8 +57 338 8 +57 339 8 +57 340 8 +57 341 8 +57 342 8 +57 343 8 +57 344 8 +57 345 8 +57 346 8 +57 347 8 +57 348 8 +57 349 8 +57 350 0 +57 351 0 +57 352 0 +57 353 0 +57 354 0 +57 355 0 +57 356 0 +57 357 0 +57 358 0 +57 359 0 +57 360 0 +57 361 0 +57 362 0 +57 363 0 +57 364 0 +57 365 0 +57 366 0 +57 367 0 +57 368 0 +57 369 0 +57 370 0 +57 371 0 +57 372 0 +57 373 0 +57 374 0 +57 375 0 +57 376 0 +57 377 0 +57 378 0 +57 379 0 +57 380 0 +57 381 0 +57 382 0 +57 383 0 +58 59 8 +58 60 8 +58 61 8 +58 62 8 +58 63 8 +58 64 8 +58 65 8 +58 66 8 +58 67 8 +58 68 8 +58 69 8 +58 70 8 +58 71 8 +58 72 8 +58 73 8 +58 74 8 +58 75 8 +58 76 8 +58 77 8 +58 78 8 +58 79 8 +58 80 8 +58 81 8 +58 82 8 +58 83 8 +58 84 8 +58 85 8 +58 86 8 +58 87 8 +58 88 8 +58 89 8 +58 90 8 +58 91 8 +58 92 8 +58 93 8 +58 94 8 +58 95 8 +58 96 8 +58 97 8 +58 98 8 +58 99 8 +58 100 8 +58 101 8 +58 102 8 +58 103 8 +58 104 8 +58 105 8 +58 106 8 +58 107 8 +58 108 8 +58 109 8 +58 110 8 +58 111 8 +58 112 8 +58 113 8 +58 114 8 +58 115 8 +58 116 8 +58 117 8 +58 118 8 +58 119 8 +58 120 8 +58 121 8 +58 122 8 +58 123 8 +58 124 8 +58 125 8 +58 126 8 +58 127 8 +58 128 8 +58 129 8 +58 130 8 +58 131 8 +58 132 8 +58 133 8 +58 134 8 +58 135 8 +58 136 8 +58 137 8 +58 138 8 +58 139 8 +58 140 8 +58 141 8 +58 142 8 +58 143 8 +58 144 8 +58 145 8 +58 146 8 +58 147 8 +58 148 8 +58 149 8 +58 150 8 +58 151 8 +58 152 8 +58 153 8 +58 154 8 +58 155 8 +58 156 8 +58 157 8 +58 158 8 +58 159 8 +58 160 8 +58 161 8 +58 162 8 +58 163 8 +58 164 8 +58 165 8 +58 166 8 +58 167 8 +58 168 8 +58 169 8 +58 170 8 +58 171 8 +58 172 8 +58 173 8 +58 174 8 +58 175 8 +58 176 8 +58 177 8 +58 178 8 +58 179 8 +58 180 8 +58 181 8 +58 182 8 +58 183 8 +58 184 8 +58 185 8 +58 186 8 +58 187 8 +58 188 8 +58 189 8 +58 190 8 +58 191 8 +58 192 8 +58 193 8 +58 194 8 +58 195 8 +58 196 8 +58 197 8 +58 198 8 +58 199 8 +58 200 8 +58 201 8 +58 202 8 +58 203 8 +58 204 8 +58 205 8 +58 206 8 +58 207 8 +58 208 8 +58 209 8 +58 210 8 +58 211 8 +58 212 8 +58 213 8 +58 214 8 +58 215 8 +58 216 8 +58 217 8 +58 218 8 +58 219 8 +58 220 8 +58 221 8 +58 222 8 +58 223 8 +58 224 8 +58 225 8 +58 226 8 +58 227 8 +58 228 8 +58 229 8 +58 230 8 +58 231 8 +58 232 8 +58 233 8 +58 234 8 +58 235 8 +58 236 8 +58 237 8 +58 238 8 +58 239 8 +58 240 8 +58 241 8 +58 242 8 +58 243 8 +58 244 8 +58 245 8 +58 246 8 +58 247 8 +58 248 8 +58 249 8 +58 250 8 +58 251 8 +58 252 8 +58 253 8 +58 254 8 +58 255 8 +58 256 8 +58 257 8 +58 258 8 +58 259 8 +58 260 8 +58 261 8 +58 262 8 +58 263 8 +58 264 8 +58 265 8 +58 266 8 +58 267 8 +58 268 8 +58 269 8 +58 270 8 +58 271 8 +58 272 8 +58 273 8 +58 274 8 +58 275 8 +58 276 8 +58 277 8 +58 278 8 +58 279 8 +58 280 8 +58 281 8 +58 282 8 +58 283 8 +58 284 8 +58 285 8 +58 286 8 +58 287 8 +58 288 8 +58 289 8 +58 290 8 +58 291 8 +58 292 8 +58 293 8 +58 294 8 +58 295 8 +58 296 8 +58 297 8 +58 298 8 +58 299 8 +58 300 8 +58 301 8 +58 302 8 +58 303 8 +58 304 8 +58 305 8 +58 306 8 +58 307 8 +58 308 8 +58 309 8 +58 310 8 +58 311 8 +58 312 8 +58 313 8 +58 314 8 +58 315 8 +58 316 8 +58 317 8 +58 318 8 +58 319 8 +58 320 8 +58 321 8 +58 322 8 +58 323 8 +58 324 8 +58 325 8 +58 326 8 +58 327 8 +58 328 8 +58 329 8 +58 330 8 +58 331 8 +58 332 8 +58 333 8 +58 334 8 +58 335 8 +58 336 8 +58 337 8 +58 338 8 +58 339 8 +58 340 8 +58 341 8 +58 342 8 +58 343 8 +58 344 8 +58 345 8 +58 346 8 +58 347 8 +58 348 8 +58 349 8 +58 350 0 +58 351 0 +58 352 0 +58 353 0 +58 354 0 +58 355 0 +58 356 0 +58 357 0 +58 358 0 +58 359 0 +58 360 0 +58 361 0 +58 362 0 +58 363 0 +58 364 0 +58 365 0 +58 366 0 +58 367 0 +58 368 0 +58 369 0 +58 370 0 +58 371 0 +58 372 0 +58 373 0 +58 374 0 +58 375 0 +58 376 0 +58 377 0 +58 378 0 +58 379 0 +58 380 0 +58 381 0 +58 382 0 +58 383 0 +59 60 8 +59 61 8 +59 62 8 +59 63 8 +59 64 8 +59 65 8 +59 66 8 +59 67 8 +59 68 8 +59 69 8 +59 70 8 +59 71 8 +59 72 8 +59 73 8 +59 74 8 +59 75 8 +59 76 8 +59 77 8 +59 78 8 +59 79 8 +59 80 8 +59 81 8 +59 82 8 +59 83 8 +59 84 8 +59 85 8 +59 86 8 +59 87 8 +59 88 8 +59 89 8 +59 90 8 +59 91 8 +59 92 8 +59 93 8 +59 94 8 +59 95 8 +59 96 8 +59 97 8 +59 98 8 +59 99 8 +59 100 8 +59 101 8 +59 102 8 +59 103 8 +59 104 8 +59 105 8 +59 106 8 +59 107 8 +59 108 8 +59 109 8 +59 110 8 +59 111 8 +59 112 8 +59 113 8 +59 114 8 +59 115 8 +59 116 8 +59 117 8 +59 118 8 +59 119 8 +59 120 8 +59 121 8 +59 122 8 +59 123 8 +59 124 8 +59 125 8 +59 126 8 +59 127 8 +59 128 8 +59 129 8 +59 130 8 +59 131 8 +59 132 8 +59 133 8 +59 134 8 +59 135 8 +59 136 8 +59 137 8 +59 138 8 +59 139 8 +59 140 8 +59 141 8 +59 142 8 +59 143 8 +59 144 8 +59 145 8 +59 146 8 +59 147 8 +59 148 8 +59 149 8 +59 150 8 +59 151 8 +59 152 8 +59 153 8 +59 154 8 +59 155 8 +59 156 8 +59 157 8 +59 158 8 +59 159 8 +59 160 8 +59 161 8 +59 162 8 +59 163 8 +59 164 8 +59 165 8 +59 166 8 +59 167 8 +59 168 8 +59 169 8 +59 170 8 +59 171 8 +59 172 8 +59 173 8 +59 174 8 +59 175 8 +59 176 8 +59 177 8 +59 178 8 +59 179 8 +59 180 8 +59 181 8 +59 182 8 +59 183 8 +59 184 8 +59 185 8 +59 186 8 +59 187 8 +59 188 8 +59 189 8 +59 190 8 +59 191 8 +59 192 8 +59 193 8 +59 194 8 +59 195 8 +59 196 8 +59 197 8 +59 198 8 +59 199 8 +59 200 8 +59 201 8 +59 202 8 +59 203 8 +59 204 8 +59 205 8 +59 206 8 +59 207 8 +59 208 8 +59 209 8 +59 210 8 +59 211 8 +59 212 8 +59 213 8 +59 214 8 +59 215 8 +59 216 8 +59 217 8 +59 218 8 +59 219 8 +59 220 8 +59 221 8 +59 222 8 +59 223 8 +59 224 8 +59 225 8 +59 226 8 +59 227 8 +59 228 8 +59 229 8 +59 230 8 +59 231 8 +59 232 8 +59 233 8 +59 234 8 +59 235 8 +59 236 8 +59 237 8 +59 238 8 +59 239 8 +59 240 8 +59 241 8 +59 242 8 +59 243 8 +59 244 8 +59 245 8 +59 246 8 +59 247 8 +59 248 8 +59 249 8 +59 250 8 +59 251 8 +59 252 8 +59 253 8 +59 254 8 +59 255 8 +59 256 8 +59 257 8 +59 258 8 +59 259 8 +59 260 8 +59 261 8 +59 262 8 +59 263 8 +59 264 8 +59 265 8 +59 266 8 +59 267 8 +59 268 8 +59 269 8 +59 270 8 +59 271 8 +59 272 8 +59 273 8 +59 274 8 +59 275 8 +59 276 8 +59 277 8 +59 278 8 +59 279 8 +59 280 8 +59 281 8 +59 282 8 +59 283 8 +59 284 8 +59 285 8 +59 286 8 +59 287 8 +59 288 8 +59 289 8 +59 290 8 +59 291 8 +59 292 8 +59 293 8 +59 294 8 +59 295 8 +59 296 8 +59 297 8 +59 298 8 +59 299 8 +59 300 8 +59 301 8 +59 302 8 +59 303 8 +59 304 8 +59 305 8 +59 306 8 +59 307 8 +59 308 8 +59 309 8 +59 310 8 +59 311 8 +59 312 8 +59 313 8 +59 314 8 +59 315 8 +59 316 8 +59 317 8 +59 318 8 +59 319 8 +59 320 8 +59 321 8 +59 322 8 +59 323 8 +59 324 8 +59 325 8 +59 326 8 +59 327 8 +59 328 8 +59 329 8 +59 330 8 +59 331 8 +59 332 8 +59 333 8 +59 334 8 +59 335 8 +59 336 8 +59 337 8 +59 338 8 +59 339 8 +59 340 8 +59 341 8 +59 342 8 +59 343 8 +59 344 8 +59 345 8 +59 346 8 +59 347 8 +59 348 8 +59 349 8 +59 350 0 +59 351 0 +59 352 0 +59 353 0 +59 354 0 +59 355 0 +59 356 0 +59 357 0 +59 358 0 +59 359 0 +59 360 0 +59 361 0 +59 362 0 +59 363 0 +59 364 0 +59 365 0 +59 366 0 +59 367 0 +59 368 0 +59 369 0 +59 370 0 +59 371 0 +59 372 0 +59 373 0 +59 374 0 +59 375 0 +59 376 0 +59 377 0 +59 378 0 +59 379 0 +59 380 0 +59 381 0 +59 382 0 +59 383 0 +60 61 8 +60 62 8 +60 63 8 +60 64 8 +60 65 8 +60 66 8 +60 67 8 +60 68 8 +60 69 8 +60 70 8 +60 71 8 +60 72 8 +60 73 8 +60 74 8 +60 75 8 +60 76 8 +60 77 8 +60 78 8 +60 79 8 +60 80 8 +60 81 8 +60 82 8 +60 83 8 +60 84 8 +60 85 8 +60 86 8 +60 87 8 +60 88 8 +60 89 8 +60 90 8 +60 91 8 +60 92 8 +60 93 8 +60 94 8 +60 95 8 +60 96 8 +60 97 8 +60 98 8 +60 99 8 +60 100 8 +60 101 8 +60 102 8 +60 103 8 +60 104 8 +60 105 8 +60 106 8 +60 107 8 +60 108 8 +60 109 8 +60 110 8 +60 111 8 +60 112 8 +60 113 8 +60 114 8 +60 115 8 +60 116 8 +60 117 8 +60 118 8 +60 119 8 +60 120 8 +60 121 8 +60 122 8 +60 123 8 +60 124 8 +60 125 8 +60 126 8 +60 127 8 +60 128 8 +60 129 8 +60 130 8 +60 131 8 +60 132 8 +60 133 8 +60 134 8 +60 135 8 +60 136 8 +60 137 8 +60 138 8 +60 139 8 +60 140 8 +60 141 8 +60 142 8 +60 143 8 +60 144 8 +60 145 8 +60 146 8 +60 147 8 +60 148 8 +60 149 8 +60 150 8 +60 151 8 +60 152 8 +60 153 8 +60 154 8 +60 155 8 +60 156 8 +60 157 8 +60 158 8 +60 159 8 +60 160 8 +60 161 8 +60 162 8 +60 163 8 +60 164 8 +60 165 8 +60 166 8 +60 167 8 +60 168 8 +60 169 8 +60 170 8 +60 171 8 +60 172 8 +60 173 8 +60 174 8 +60 175 8 +60 176 8 +60 177 8 +60 178 8 +60 179 8 +60 180 8 +60 181 8 +60 182 8 +60 183 8 +60 184 8 +60 185 8 +60 186 8 +60 187 8 +60 188 8 +60 189 8 +60 190 8 +60 191 8 +60 192 8 +60 193 8 +60 194 8 +60 195 8 +60 196 8 +60 197 8 +60 198 8 +60 199 8 +60 200 8 +60 201 8 +60 202 8 +60 203 8 +60 204 8 +60 205 8 +60 206 8 +60 207 8 +60 208 8 +60 209 8 +60 210 8 +60 211 8 +60 212 8 +60 213 8 +60 214 8 +60 215 8 +60 216 8 +60 217 8 +60 218 8 +60 219 8 +60 220 8 +60 221 8 +60 222 8 +60 223 8 +60 224 8 +60 225 8 +60 226 8 +60 227 8 +60 228 8 +60 229 8 +60 230 8 +60 231 8 +60 232 8 +60 233 8 +60 234 8 +60 235 8 +60 236 8 +60 237 8 +60 238 8 +60 239 8 +60 240 8 +60 241 8 +60 242 8 +60 243 8 +60 244 8 +60 245 8 +60 246 8 +60 247 8 +60 248 8 +60 249 8 +60 250 8 +60 251 8 +60 252 8 +60 253 8 +60 254 8 +60 255 8 +60 256 8 +60 257 8 +60 258 8 +60 259 8 +60 260 8 +60 261 8 +60 262 8 +60 263 8 +60 264 8 +60 265 8 +60 266 8 +60 267 8 +60 268 8 +60 269 8 +60 270 8 +60 271 8 +60 272 8 +60 273 8 +60 274 8 +60 275 8 +60 276 8 +60 277 8 +60 278 8 +60 279 8 +60 280 8 +60 281 8 +60 282 8 +60 283 8 +60 284 8 +60 285 8 +60 286 8 +60 287 8 +60 288 8 +60 289 8 +60 290 8 +60 291 8 +60 292 8 +60 293 8 +60 294 8 +60 295 8 +60 296 8 +60 297 8 +60 298 8 +60 299 8 +60 300 8 +60 301 8 +60 302 8 +60 303 8 +60 304 8 +60 305 8 +60 306 8 +60 307 8 +60 308 8 +60 309 8 +60 310 8 +60 311 8 +60 312 8 +60 313 8 +60 314 8 +60 315 8 +60 316 8 +60 317 8 +60 318 8 +60 319 8 +60 320 8 +60 321 8 +60 322 8 +60 323 8 +60 324 8 +60 325 8 +60 326 8 +60 327 8 +60 328 8 +60 329 8 +60 330 8 +60 331 8 +60 332 8 +60 333 8 +60 334 8 +60 335 8 +60 336 8 +60 337 8 +60 338 8 +60 339 8 +60 340 8 +60 341 8 +60 342 8 +60 343 8 +60 344 8 +60 345 8 +60 346 8 +60 347 8 +60 348 8 +60 349 8 +60 350 0 +60 351 0 +60 352 0 +60 353 0 +60 354 0 +60 355 0 +60 356 0 +60 357 0 +60 358 0 +60 359 0 +60 360 0 +60 361 0 +60 362 0 +60 363 0 +60 364 0 +60 365 0 +60 366 0 +60 367 0 +60 368 0 +60 369 0 +60 370 0 +60 371 0 +60 372 0 +60 373 0 +60 374 0 +60 375 0 +60 376 0 +60 377 0 +60 378 0 +60 379 0 +60 380 0 +60 381 0 +60 382 0 +60 383 0 +61 62 8 +61 63 8 +61 64 8 +61 65 8 +61 66 8 +61 67 8 +61 68 8 +61 69 8 +61 70 8 +61 71 8 +61 72 8 +61 73 8 +61 74 8 +61 75 8 +61 76 8 +61 77 8 +61 78 8 +61 79 8 +61 80 8 +61 81 8 +61 82 8 +61 83 8 +61 84 8 +61 85 8 +61 86 8 +61 87 8 +61 88 8 +61 89 8 +61 90 8 +61 91 8 +61 92 8 +61 93 8 +61 94 8 +61 95 8 +61 96 8 +61 97 8 +61 98 8 +61 99 8 +61 100 8 +61 101 8 +61 102 8 +61 103 8 +61 104 8 +61 105 8 +61 106 8 +61 107 8 +61 108 8 +61 109 8 +61 110 8 +61 111 8 +61 112 8 +61 113 8 +61 114 8 +61 115 8 +61 116 8 +61 117 8 +61 118 8 +61 119 8 +61 120 8 +61 121 8 +61 122 8 +61 123 8 +61 124 8 +61 125 8 +61 126 8 +61 127 8 +61 128 8 +61 129 8 +61 130 8 +61 131 8 +61 132 8 +61 133 8 +61 134 8 +61 135 8 +61 136 8 +61 137 8 +61 138 8 +61 139 8 +61 140 8 +61 141 8 +61 142 8 +61 143 8 +61 144 8 +61 145 8 +61 146 8 +61 147 8 +61 148 8 +61 149 8 +61 150 8 +61 151 8 +61 152 8 +61 153 8 +61 154 8 +61 155 8 +61 156 8 +61 157 8 +61 158 8 +61 159 8 +61 160 8 +61 161 8 +61 162 8 +61 163 8 +61 164 8 +61 165 8 +61 166 8 +61 167 8 +61 168 8 +61 169 8 +61 170 8 +61 171 8 +61 172 8 +61 173 8 +61 174 8 +61 175 8 +61 176 8 +61 177 8 +61 178 8 +61 179 8 +61 180 8 +61 181 8 +61 182 8 +61 183 8 +61 184 8 +61 185 8 +61 186 8 +61 187 8 +61 188 8 +61 189 8 +61 190 8 +61 191 8 +61 192 8 +61 193 8 +61 194 8 +61 195 8 +61 196 8 +61 197 8 +61 198 8 +61 199 8 +61 200 8 +61 201 8 +61 202 8 +61 203 8 +61 204 8 +61 205 8 +61 206 8 +61 207 8 +61 208 8 +61 209 8 +61 210 8 +61 211 8 +61 212 8 +61 213 8 +61 214 8 +61 215 8 +61 216 8 +61 217 8 +61 218 8 +61 219 8 +61 220 8 +61 221 8 +61 222 8 +61 223 8 +61 224 8 +61 225 8 +61 226 8 +61 227 8 +61 228 8 +61 229 8 +61 230 8 +61 231 8 +61 232 8 +61 233 8 +61 234 8 +61 235 8 +61 236 8 +61 237 8 +61 238 8 +61 239 8 +61 240 8 +61 241 8 +61 242 8 +61 243 8 +61 244 8 +61 245 8 +61 246 8 +61 247 8 +61 248 8 +61 249 8 +61 250 8 +61 251 8 +61 252 8 +61 253 8 +61 254 8 +61 255 8 +61 256 8 +61 257 8 +61 258 8 +61 259 8 +61 260 8 +61 261 8 +61 262 8 +61 263 8 +61 264 8 +61 265 8 +61 266 8 +61 267 8 +61 268 8 +61 269 8 +61 270 8 +61 271 8 +61 272 8 +61 273 8 +61 274 8 +61 275 8 +61 276 8 +61 277 8 +61 278 8 +61 279 8 +61 280 8 +61 281 8 +61 282 8 +61 283 8 +61 284 8 +61 285 8 +61 286 8 +61 287 8 +61 288 8 +61 289 8 +61 290 8 +61 291 8 +61 292 8 +61 293 8 +61 294 8 +61 295 8 +61 296 8 +61 297 8 +61 298 8 +61 299 8 +61 300 8 +61 301 8 +61 302 8 +61 303 8 +61 304 8 +61 305 8 +61 306 8 +61 307 8 +61 308 8 +61 309 8 +61 310 8 +61 311 8 +61 312 8 +61 313 8 +61 314 8 +61 315 8 +61 316 8 +61 317 8 +61 318 8 +61 319 8 +61 320 8 +61 321 8 +61 322 8 +61 323 8 +61 324 8 +61 325 8 +61 326 8 +61 327 8 +61 328 8 +61 329 8 +61 330 8 +61 331 8 +61 332 8 +61 333 8 +61 334 8 +61 335 8 +61 336 8 +61 337 8 +61 338 8 +61 339 8 +61 340 8 +61 341 8 +61 342 8 +61 343 8 +61 344 8 +61 345 8 +61 346 8 +61 347 8 +61 348 8 +61 349 8 +61 350 0 +61 351 0 +61 352 0 +61 353 0 +61 354 0 +61 355 0 +61 356 0 +61 357 0 +61 358 0 +61 359 0 +61 360 0 +61 361 0 +61 362 0 +61 363 0 +61 364 0 +61 365 0 +61 366 0 +61 367 0 +61 368 0 +61 369 0 +61 370 0 +61 371 0 +61 372 0 +61 373 0 +61 374 0 +61 375 0 +61 376 0 +61 377 0 +61 378 0 +61 379 0 +61 380 0 +61 381 0 +61 382 0 +61 383 0 +62 63 8 +62 64 8 +62 65 8 +62 66 8 +62 67 8 +62 68 8 +62 69 8 +62 70 8 +62 71 8 +62 72 8 +62 73 8 +62 74 8 +62 75 8 +62 76 8 +62 77 8 +62 78 8 +62 79 8 +62 80 8 +62 81 8 +62 82 8 +62 83 8 +62 84 8 +62 85 8 +62 86 8 +62 87 8 +62 88 8 +62 89 8 +62 90 8 +62 91 8 +62 92 8 +62 93 8 +62 94 8 +62 95 8 +62 96 8 +62 97 8 +62 98 8 +62 99 8 +62 100 8 +62 101 8 +62 102 8 +62 103 8 +62 104 8 +62 105 8 +62 106 8 +62 107 8 +62 108 8 +62 109 8 +62 110 8 +62 111 8 +62 112 8 +62 113 8 +62 114 8 +62 115 8 +62 116 8 +62 117 8 +62 118 8 +62 119 8 +62 120 8 +62 121 8 +62 122 8 +62 123 8 +62 124 8 +62 125 8 +62 126 8 +62 127 8 +62 128 8 +62 129 8 +62 130 8 +62 131 8 +62 132 8 +62 133 8 +62 134 8 +62 135 8 +62 136 8 +62 137 8 +62 138 8 +62 139 8 +62 140 8 +62 141 8 +62 142 8 +62 143 8 +62 144 8 +62 145 8 +62 146 8 +62 147 8 +62 148 8 +62 149 8 +62 150 8 +62 151 8 +62 152 8 +62 153 8 +62 154 8 +62 155 8 +62 156 8 +62 157 8 +62 158 8 +62 159 8 +62 160 8 +62 161 8 +62 162 8 +62 163 8 +62 164 8 +62 165 8 +62 166 8 +62 167 8 +62 168 8 +62 169 8 +62 170 8 +62 171 8 +62 172 8 +62 173 8 +62 174 8 +62 175 8 +62 176 8 +62 177 8 +62 178 8 +62 179 8 +62 180 8 +62 181 8 +62 182 8 +62 183 8 +62 184 8 +62 185 8 +62 186 8 +62 187 8 +62 188 8 +62 189 8 +62 190 8 +62 191 8 +62 192 8 +62 193 8 +62 194 8 +62 195 8 +62 196 8 +62 197 8 +62 198 8 +62 199 8 +62 200 8 +62 201 8 +62 202 8 +62 203 8 +62 204 8 +62 205 8 +62 206 8 +62 207 8 +62 208 8 +62 209 8 +62 210 8 +62 211 8 +62 212 8 +62 213 8 +62 214 8 +62 215 8 +62 216 8 +62 217 8 +62 218 8 +62 219 8 +62 220 8 +62 221 8 +62 222 8 +62 223 8 +62 224 8 +62 225 8 +62 226 8 +62 227 8 +62 228 8 +62 229 8 +62 230 8 +62 231 8 +62 232 8 +62 233 8 +62 234 8 +62 235 8 +62 236 8 +62 237 8 +62 238 8 +62 239 8 +62 240 8 +62 241 8 +62 242 8 +62 243 8 +62 244 8 +62 245 8 +62 246 8 +62 247 8 +62 248 8 +62 249 8 +62 250 8 +62 251 8 +62 252 8 +62 253 8 +62 254 8 +62 255 8 +62 256 8 +62 257 8 +62 258 8 +62 259 8 +62 260 8 +62 261 8 +62 262 8 +62 263 8 +62 264 8 +62 265 8 +62 266 8 +62 267 8 +62 268 8 +62 269 8 +62 270 8 +62 271 8 +62 272 8 +62 273 8 +62 274 8 +62 275 8 +62 276 8 +62 277 8 +62 278 8 +62 279 8 +62 280 8 +62 281 8 +62 282 8 +62 283 8 +62 284 8 +62 285 8 +62 286 8 +62 287 8 +62 288 8 +62 289 8 +62 290 8 +62 291 8 +62 292 8 +62 293 8 +62 294 8 +62 295 8 +62 296 8 +62 297 8 +62 298 8 +62 299 8 +62 300 8 +62 301 8 +62 302 8 +62 303 8 +62 304 8 +62 305 8 +62 306 8 +62 307 8 +62 308 8 +62 309 8 +62 310 8 +62 311 8 +62 312 8 +62 313 8 +62 314 8 +62 315 8 +62 316 8 +62 317 8 +62 318 8 +62 319 8 +62 320 8 +62 321 8 +62 322 8 +62 323 8 +62 324 8 +62 325 8 +62 326 8 +62 327 8 +62 328 8 +62 329 8 +62 330 8 +62 331 8 +62 332 8 +62 333 8 +62 334 8 +62 335 8 +62 336 8 +62 337 8 +62 338 8 +62 339 8 +62 340 8 +62 341 8 +62 342 8 +62 343 8 +62 344 8 +62 345 8 +62 346 8 +62 347 8 +62 348 8 +62 349 8 +62 350 0 +62 351 0 +62 352 0 +62 353 0 +62 354 0 +62 355 0 +62 356 0 +62 357 0 +62 358 0 +62 359 0 +62 360 0 +62 361 0 +62 362 0 +62 363 0 +62 364 0 +62 365 0 +62 366 0 +62 367 0 +62 368 0 +62 369 0 +62 370 0 +62 371 0 +62 372 0 +62 373 0 +62 374 0 +62 375 0 +62 376 0 +62 377 0 +62 378 0 +62 379 0 +62 380 0 +62 381 0 +62 382 0 +62 383 0 +63 64 8 +63 65 8 +63 66 8 +63 67 8 +63 68 8 +63 69 8 +63 70 8 +63 71 8 +63 72 8 +63 73 8 +63 74 8 +63 75 8 +63 76 8 +63 77 8 +63 78 8 +63 79 8 +63 80 8 +63 81 8 +63 82 8 +63 83 8 +63 84 8 +63 85 8 +63 86 8 +63 87 8 +63 88 8 +63 89 8 +63 90 8 +63 91 8 +63 92 8 +63 93 8 +63 94 8 +63 95 8 +63 96 8 +63 97 8 +63 98 8 +63 99 8 +63 100 8 +63 101 8 +63 102 8 +63 103 8 +63 104 8 +63 105 8 +63 106 8 +63 107 8 +63 108 8 +63 109 8 +63 110 8 +63 111 8 +63 112 8 +63 113 8 +63 114 8 +63 115 8 +63 116 8 +63 117 8 +63 118 8 +63 119 8 +63 120 8 +63 121 8 +63 122 8 +63 123 8 +63 124 8 +63 125 8 +63 126 8 +63 127 8 +63 128 8 +63 129 8 +63 130 8 +63 131 8 +63 132 8 +63 133 8 +63 134 8 +63 135 8 +63 136 8 +63 137 8 +63 138 8 +63 139 8 +63 140 8 +63 141 8 +63 142 8 +63 143 8 +63 144 8 +63 145 8 +63 146 8 +63 147 8 +63 148 8 +63 149 8 +63 150 8 +63 151 8 +63 152 8 +63 153 8 +63 154 8 +63 155 8 +63 156 8 +63 157 8 +63 158 8 +63 159 8 +63 160 8 +63 161 8 +63 162 8 +63 163 8 +63 164 8 +63 165 8 +63 166 8 +63 167 8 +63 168 8 +63 169 8 +63 170 8 +63 171 8 +63 172 8 +63 173 8 +63 174 8 +63 175 8 +63 176 8 +63 177 8 +63 178 8 +63 179 8 +63 180 8 +63 181 8 +63 182 8 +63 183 8 +63 184 8 +63 185 8 +63 186 8 +63 187 8 +63 188 8 +63 189 8 +63 190 8 +63 191 8 +63 192 8 +63 193 8 +63 194 8 +63 195 8 +63 196 8 +63 197 8 +63 198 8 +63 199 8 +63 200 8 +63 201 8 +63 202 8 +63 203 8 +63 204 8 +63 205 8 +63 206 8 +63 207 8 +63 208 8 +63 209 8 +63 210 8 +63 211 8 +63 212 8 +63 213 8 +63 214 8 +63 215 8 +63 216 8 +63 217 8 +63 218 8 +63 219 8 +63 220 8 +63 221 8 +63 222 8 +63 223 8 +63 224 8 +63 225 8 +63 226 8 +63 227 8 +63 228 8 +63 229 8 +63 230 8 +63 231 8 +63 232 8 +63 233 8 +63 234 8 +63 235 8 +63 236 8 +63 237 8 +63 238 8 +63 239 8 +63 240 8 +63 241 8 +63 242 8 +63 243 8 +63 244 8 +63 245 8 +63 246 8 +63 247 8 +63 248 8 +63 249 8 +63 250 8 +63 251 8 +63 252 8 +63 253 8 +63 254 8 +63 255 8 +63 256 8 +63 257 8 +63 258 8 +63 259 8 +63 260 8 +63 261 8 +63 262 8 +63 263 8 +63 264 8 +63 265 8 +63 266 8 +63 267 8 +63 268 8 +63 269 8 +63 270 8 +63 271 8 +63 272 8 +63 273 8 +63 274 8 +63 275 8 +63 276 8 +63 277 8 +63 278 8 +63 279 8 +63 280 8 +63 281 8 +63 282 8 +63 283 8 +63 284 8 +63 285 8 +63 286 8 +63 287 8 +63 288 8 +63 289 8 +63 290 8 +63 291 8 +63 292 8 +63 293 8 +63 294 8 +63 295 8 +63 296 8 +63 297 8 +63 298 8 +63 299 8 +63 300 8 +63 301 8 +63 302 8 +63 303 8 +63 304 8 +63 305 8 +63 306 8 +63 307 8 +63 308 8 +63 309 8 +63 310 8 +63 311 8 +63 312 8 +63 313 8 +63 314 8 +63 315 8 +63 316 8 +63 317 8 +63 318 8 +63 319 8 +63 320 8 +63 321 8 +63 322 8 +63 323 8 +63 324 8 +63 325 8 +63 326 8 +63 327 8 +63 328 8 +63 329 8 +63 330 8 +63 331 8 +63 332 8 +63 333 8 +63 334 8 +63 335 8 +63 336 8 +63 337 8 +63 338 8 +63 339 8 +63 340 8 +63 341 8 +63 342 8 +63 343 8 +63 344 8 +63 345 8 +63 346 8 +63 347 8 +63 348 8 +63 349 8 +63 350 0 +63 351 0 +63 352 0 +63 353 0 +63 354 0 +63 355 0 +63 356 0 +63 357 0 +63 358 0 +63 359 0 +63 360 0 +63 361 0 +63 362 0 +63 363 0 +63 364 0 +63 365 0 +63 366 0 +63 367 0 +63 368 0 +63 369 0 +63 370 0 +63 371 0 +63 372 0 +63 373 0 +63 374 0 +63 375 0 +63 376 0 +63 377 0 +63 378 0 +63 379 0 +63 380 0 +63 381 0 +63 382 0 +63 383 0 +64 65 8 +64 66 8 +64 67 8 +64 68 8 +64 69 8 +64 70 8 +64 71 8 +64 72 8 +64 73 8 +64 74 8 +64 75 8 +64 76 8 +64 77 8 +64 78 8 +64 79 8 +64 80 8 +64 81 8 +64 82 8 +64 83 8 +64 84 8 +64 85 8 +64 86 8 +64 87 8 +64 88 8 +64 89 8 +64 90 8 +64 91 8 +64 92 8 +64 93 8 +64 94 8 +64 95 8 +64 96 8 +64 97 8 +64 98 8 +64 99 8 +64 100 8 +64 101 8 +64 102 8 +64 103 8 +64 104 8 +64 105 8 +64 106 8 +64 107 8 +64 108 8 +64 109 8 +64 110 8 +64 111 8 +64 112 8 +64 113 8 +64 114 8 +64 115 8 +64 116 8 +64 117 8 +64 118 8 +64 119 8 +64 120 8 +64 121 8 +64 122 8 +64 123 8 +64 124 8 +64 125 8 +64 126 8 +64 127 8 +64 128 8 +64 129 8 +64 130 8 +64 131 8 +64 132 8 +64 133 8 +64 134 8 +64 135 8 +64 136 8 +64 137 8 +64 138 8 +64 139 8 +64 140 8 +64 141 8 +64 142 8 +64 143 8 +64 144 8 +64 145 8 +64 146 8 +64 147 8 +64 148 8 +64 149 8 +64 150 8 +64 151 8 +64 152 8 +64 153 8 +64 154 8 +64 155 8 +64 156 8 +64 157 8 +64 158 8 +64 159 8 +64 160 8 +64 161 8 +64 162 8 +64 163 8 +64 164 8 +64 165 8 +64 166 8 +64 167 8 +64 168 8 +64 169 8 +64 170 8 +64 171 8 +64 172 8 +64 173 8 +64 174 8 +64 175 8 +64 176 8 +64 177 8 +64 178 8 +64 179 8 +64 180 8 +64 181 8 +64 182 8 +64 183 8 +64 184 8 +64 185 8 +64 186 8 +64 187 8 +64 188 8 +64 189 8 +64 190 8 +64 191 8 +64 192 8 +64 193 8 +64 194 8 +64 195 8 +64 196 8 +64 197 8 +64 198 8 +64 199 8 +64 200 8 +64 201 8 +64 202 8 +64 203 8 +64 204 8 +64 205 8 +64 206 8 +64 207 8 +64 208 8 +64 209 8 +64 210 8 +64 211 8 +64 212 8 +64 213 8 +64 214 8 +64 215 8 +64 216 8 +64 217 8 +64 218 8 +64 219 8 +64 220 8 +64 221 8 +64 222 8 +64 223 8 +64 224 8 +64 225 8 +64 226 8 +64 227 8 +64 228 8 +64 229 8 +64 230 8 +64 231 8 +64 232 8 +64 233 8 +64 234 8 +64 235 8 +64 236 8 +64 237 8 +64 238 8 +64 239 8 +64 240 8 +64 241 8 +64 242 8 +64 243 8 +64 244 8 +64 245 8 +64 246 8 +64 247 8 +64 248 8 +64 249 8 +64 250 8 +64 251 8 +64 252 8 +64 253 8 +64 254 8 +64 255 8 +64 256 8 +64 257 8 +64 258 8 +64 259 8 +64 260 8 +64 261 8 +64 262 8 +64 263 8 +64 264 8 +64 265 8 +64 266 8 +64 267 8 +64 268 8 +64 269 8 +64 270 8 +64 271 8 +64 272 8 +64 273 8 +64 274 8 +64 275 8 +64 276 8 +64 277 8 +64 278 8 +64 279 8 +64 280 8 +64 281 8 +64 282 8 +64 283 8 +64 284 8 +64 285 8 +64 286 8 +64 287 8 +64 288 8 +64 289 8 +64 290 8 +64 291 8 +64 292 8 +64 293 8 +64 294 8 +64 295 8 +64 296 8 +64 297 8 +64 298 8 +64 299 8 +64 300 8 +64 301 8 +64 302 8 +64 303 8 +64 304 8 +64 305 8 +64 306 8 +64 307 8 +64 308 8 +64 309 8 +64 310 8 +64 311 8 +64 312 8 +64 313 8 +64 314 8 +64 315 8 +64 316 8 +64 317 8 +64 318 8 +64 319 8 +64 320 8 +64 321 8 +64 322 8 +64 323 8 +64 324 8 +64 325 8 +64 326 8 +64 327 8 +64 328 8 +64 329 8 +64 330 8 +64 331 8 +64 332 8 +64 333 8 +64 334 8 +64 335 8 +64 336 8 +64 337 8 +64 338 8 +64 339 8 +64 340 8 +64 341 8 +64 342 8 +64 343 8 +64 344 8 +64 345 8 +64 346 8 +64 347 8 +64 348 8 +64 349 8 +64 350 0 +64 351 0 +64 352 0 +64 353 0 +64 354 0 +64 355 0 +64 356 0 +64 357 0 +64 358 0 +64 359 0 +64 360 0 +64 361 0 +64 362 0 +64 363 0 +64 364 0 +64 365 0 +64 366 0 +64 367 0 +64 368 0 +64 369 0 +64 370 0 +64 371 0 +64 372 0 +64 373 0 +64 374 0 +64 375 0 +64 376 0 +64 377 0 +64 378 0 +64 379 0 +64 380 0 +64 381 0 +64 382 0 +64 383 0 +65 66 8 +65 67 8 +65 68 8 +65 69 8 +65 70 8 +65 71 8 +65 72 8 +65 73 8 +65 74 8 +65 75 8 +65 76 8 +65 77 8 +65 78 8 +65 79 8 +65 80 8 +65 81 8 +65 82 8 +65 83 8 +65 84 8 +65 85 8 +65 86 8 +65 87 8 +65 88 8 +65 89 8 +65 90 8 +65 91 8 +65 92 8 +65 93 8 +65 94 8 +65 95 8 +65 96 8 +65 97 8 +65 98 8 +65 99 8 +65 100 8 +65 101 8 +65 102 8 +65 103 8 +65 104 8 +65 105 8 +65 106 8 +65 107 8 +65 108 8 +65 109 8 +65 110 8 +65 111 8 +65 112 8 +65 113 8 +65 114 8 +65 115 8 +65 116 8 +65 117 8 +65 118 8 +65 119 8 +65 120 8 +65 121 8 +65 122 8 +65 123 8 +65 124 8 +65 125 8 +65 126 8 +65 127 8 +65 128 8 +65 129 8 +65 130 8 +65 131 8 +65 132 8 +65 133 8 +65 134 8 +65 135 8 +65 136 8 +65 137 8 +65 138 8 +65 139 8 +65 140 8 +65 141 8 +65 142 8 +65 143 8 +65 144 8 +65 145 8 +65 146 8 +65 147 8 +65 148 8 +65 149 8 +65 150 8 +65 151 8 +65 152 8 +65 153 8 +65 154 8 +65 155 8 +65 156 8 +65 157 8 +65 158 8 +65 159 8 +65 160 8 +65 161 8 +65 162 8 +65 163 8 +65 164 8 +65 165 8 +65 166 8 +65 167 8 +65 168 8 +65 169 8 +65 170 8 +65 171 8 +65 172 8 +65 173 8 +65 174 8 +65 175 8 +65 176 8 +65 177 8 +65 178 8 +65 179 8 +65 180 8 +65 181 8 +65 182 8 +65 183 8 +65 184 8 +65 185 8 +65 186 8 +65 187 8 +65 188 8 +65 189 8 +65 190 8 +65 191 8 +65 192 8 +65 193 8 +65 194 8 +65 195 8 +65 196 8 +65 197 8 +65 198 8 +65 199 8 +65 200 8 +65 201 8 +65 202 8 +65 203 8 +65 204 8 +65 205 8 +65 206 8 +65 207 8 +65 208 8 +65 209 8 +65 210 8 +65 211 8 +65 212 8 +65 213 8 +65 214 8 +65 215 8 +65 216 8 +65 217 8 +65 218 8 +65 219 8 +65 220 8 +65 221 8 +65 222 8 +65 223 8 +65 224 8 +65 225 8 +65 226 8 +65 227 8 +65 228 8 +65 229 8 +65 230 8 +65 231 8 +65 232 8 +65 233 8 +65 234 8 +65 235 8 +65 236 8 +65 237 8 +65 238 8 +65 239 8 +65 240 8 +65 241 8 +65 242 8 +65 243 8 +65 244 8 +65 245 8 +65 246 8 +65 247 8 +65 248 8 +65 249 8 +65 250 8 +65 251 8 +65 252 8 +65 253 8 +65 254 8 +65 255 8 +65 256 8 +65 257 8 +65 258 8 +65 259 8 +65 260 8 +65 261 8 +65 262 8 +65 263 8 +65 264 8 +65 265 8 +65 266 8 +65 267 8 +65 268 8 +65 269 8 +65 270 8 +65 271 8 +65 272 8 +65 273 8 +65 274 8 +65 275 8 +65 276 8 +65 277 8 +65 278 8 +65 279 8 +65 280 8 +65 281 8 +65 282 8 +65 283 8 +65 284 8 +65 285 8 +65 286 8 +65 287 8 +65 288 8 +65 289 8 +65 290 8 +65 291 8 +65 292 8 +65 293 8 +65 294 8 +65 295 8 +65 296 8 +65 297 8 +65 298 8 +65 299 8 +65 300 8 +65 301 8 +65 302 8 +65 303 8 +65 304 8 +65 305 8 +65 306 8 +65 307 8 +65 308 8 +65 309 8 +65 310 8 +65 311 8 +65 312 8 +65 313 8 +65 314 8 +65 315 8 +65 316 8 +65 317 8 +65 318 8 +65 319 8 +65 320 8 +65 321 8 +65 322 8 +65 323 8 +65 324 8 +65 325 8 +65 326 8 +65 327 8 +65 328 8 +65 329 8 +65 330 8 +65 331 8 +65 332 8 +65 333 8 +65 334 8 +65 335 8 +65 336 8 +65 337 8 +65 338 8 +65 339 8 +65 340 8 +65 341 8 +65 342 8 +65 343 8 +65 344 8 +65 345 8 +65 346 8 +65 347 8 +65 348 8 +65 349 8 +65 350 0 +65 351 0 +65 352 0 +65 353 0 +65 354 0 +65 355 0 +65 356 0 +65 357 0 +65 358 0 +65 359 0 +65 360 0 +65 361 0 +65 362 0 +65 363 0 +65 364 0 +65 365 0 +65 366 0 +65 367 0 +65 368 0 +65 369 0 +65 370 0 +65 371 0 +65 372 0 +65 373 0 +65 374 0 +65 375 0 +65 376 0 +65 377 0 +65 378 0 +65 379 0 +65 380 0 +65 381 0 +65 382 0 +65 383 0 +66 67 8 +66 68 8 +66 69 8 +66 70 8 +66 71 8 +66 72 8 +66 73 8 +66 74 8 +66 75 8 +66 76 8 +66 77 8 +66 78 8 +66 79 8 +66 80 8 +66 81 8 +66 82 8 +66 83 8 +66 84 8 +66 85 8 +66 86 8 +66 87 8 +66 88 8 +66 89 8 +66 90 8 +66 91 8 +66 92 8 +66 93 8 +66 94 8 +66 95 8 +66 96 8 +66 97 8 +66 98 8 +66 99 8 +66 100 8 +66 101 8 +66 102 8 +66 103 8 +66 104 8 +66 105 8 +66 106 8 +66 107 8 +66 108 8 +66 109 8 +66 110 8 +66 111 8 +66 112 8 +66 113 8 +66 114 8 +66 115 8 +66 116 8 +66 117 8 +66 118 8 +66 119 8 +66 120 8 +66 121 8 +66 122 8 +66 123 8 +66 124 8 +66 125 8 +66 126 8 +66 127 8 +66 128 8 +66 129 8 +66 130 8 +66 131 8 +66 132 8 +66 133 8 +66 134 8 +66 135 8 +66 136 8 +66 137 8 +66 138 8 +66 139 8 +66 140 8 +66 141 8 +66 142 8 +66 143 8 +66 144 8 +66 145 8 +66 146 8 +66 147 8 +66 148 8 +66 149 8 +66 150 8 +66 151 8 +66 152 8 +66 153 8 +66 154 8 +66 155 8 +66 156 8 +66 157 8 +66 158 8 +66 159 8 +66 160 8 +66 161 8 +66 162 8 +66 163 8 +66 164 8 +66 165 8 +66 166 8 +66 167 8 +66 168 8 +66 169 8 +66 170 8 +66 171 8 +66 172 8 +66 173 8 +66 174 8 +66 175 8 +66 176 8 +66 177 8 +66 178 8 +66 179 8 +66 180 8 +66 181 8 +66 182 8 +66 183 8 +66 184 8 +66 185 8 +66 186 8 +66 187 8 +66 188 8 +66 189 8 +66 190 8 +66 191 8 +66 192 8 +66 193 8 +66 194 8 +66 195 8 +66 196 8 +66 197 8 +66 198 8 +66 199 8 +66 200 8 +66 201 8 +66 202 8 +66 203 8 +66 204 8 +66 205 8 +66 206 8 +66 207 8 +66 208 8 +66 209 8 +66 210 8 +66 211 8 +66 212 8 +66 213 8 +66 214 8 +66 215 8 +66 216 8 +66 217 8 +66 218 8 +66 219 8 +66 220 8 +66 221 8 +66 222 8 +66 223 8 +66 224 8 +66 225 8 +66 226 8 +66 227 8 +66 228 8 +66 229 8 +66 230 8 +66 231 8 +66 232 8 +66 233 8 +66 234 8 +66 235 8 +66 236 8 +66 237 8 +66 238 8 +66 239 8 +66 240 8 +66 241 8 +66 242 8 +66 243 8 +66 244 8 +66 245 8 +66 246 8 +66 247 8 +66 248 8 +66 249 8 +66 250 8 +66 251 8 +66 252 8 +66 253 8 +66 254 8 +66 255 8 +66 256 8 +66 257 8 +66 258 8 +66 259 8 +66 260 8 +66 261 8 +66 262 8 +66 263 8 +66 264 8 +66 265 8 +66 266 8 +66 267 8 +66 268 8 +66 269 8 +66 270 8 +66 271 8 +66 272 8 +66 273 8 +66 274 8 +66 275 8 +66 276 8 +66 277 8 +66 278 8 +66 279 8 +66 280 8 +66 281 8 +66 282 8 +66 283 8 +66 284 8 +66 285 8 +66 286 8 +66 287 8 +66 288 8 +66 289 8 +66 290 8 +66 291 8 +66 292 8 +66 293 8 +66 294 8 +66 295 8 +66 296 8 +66 297 8 +66 298 8 +66 299 8 +66 300 8 +66 301 8 +66 302 8 +66 303 8 +66 304 8 +66 305 8 +66 306 8 +66 307 8 +66 308 8 +66 309 8 +66 310 8 +66 311 8 +66 312 8 +66 313 8 +66 314 8 +66 315 8 +66 316 8 +66 317 8 +66 318 8 +66 319 8 +66 320 8 +66 321 8 +66 322 8 +66 323 8 +66 324 8 +66 325 8 +66 326 8 +66 327 8 +66 328 8 +66 329 8 +66 330 8 +66 331 8 +66 332 8 +66 333 8 +66 334 8 +66 335 8 +66 336 8 +66 337 8 +66 338 8 +66 339 8 +66 340 8 +66 341 8 +66 342 8 +66 343 8 +66 344 8 +66 345 8 +66 346 8 +66 347 8 +66 348 8 +66 349 8 +66 350 0 +66 351 0 +66 352 0 +66 353 0 +66 354 0 +66 355 0 +66 356 0 +66 357 0 +66 358 0 +66 359 0 +66 360 0 +66 361 0 +66 362 0 +66 363 0 +66 364 0 +66 365 0 +66 366 0 +66 367 0 +66 368 0 +66 369 0 +66 370 0 +66 371 0 +66 372 0 +66 373 0 +66 374 0 +66 375 0 +66 376 0 +66 377 0 +66 378 0 +66 379 0 +66 380 0 +66 381 0 +66 382 0 +66 383 0 +67 68 8 +67 69 8 +67 70 8 +67 71 8 +67 72 8 +67 73 8 +67 74 8 +67 75 8 +67 76 8 +67 77 8 +67 78 8 +67 79 8 +67 80 8 +67 81 8 +67 82 8 +67 83 8 +67 84 8 +67 85 8 +67 86 8 +67 87 8 +67 88 8 +67 89 8 +67 90 8 +67 91 8 +67 92 8 +67 93 8 +67 94 8 +67 95 8 +67 96 8 +67 97 8 +67 98 8 +67 99 8 +67 100 8 +67 101 8 +67 102 8 +67 103 8 +67 104 8 +67 105 8 +67 106 8 +67 107 8 +67 108 8 +67 109 8 +67 110 8 +67 111 8 +67 112 8 +67 113 8 +67 114 8 +67 115 8 +67 116 8 +67 117 8 +67 118 8 +67 119 8 +67 120 8 +67 121 8 +67 122 8 +67 123 8 +67 124 8 +67 125 8 +67 126 8 +67 127 8 +67 128 8 +67 129 8 +67 130 8 +67 131 8 +67 132 8 +67 133 8 +67 134 8 +67 135 8 +67 136 8 +67 137 8 +67 138 8 +67 139 8 +67 140 8 +67 141 8 +67 142 8 +67 143 8 +67 144 8 +67 145 8 +67 146 8 +67 147 8 +67 148 8 +67 149 8 +67 150 8 +67 151 8 +67 152 8 +67 153 8 +67 154 8 +67 155 8 +67 156 8 +67 157 8 +67 158 8 +67 159 8 +67 160 8 +67 161 8 +67 162 8 +67 163 8 +67 164 8 +67 165 8 +67 166 8 +67 167 8 +67 168 8 +67 169 8 +67 170 8 +67 171 8 +67 172 8 +67 173 8 +67 174 8 +67 175 8 +67 176 8 +67 177 8 +67 178 8 +67 179 8 +67 180 8 +67 181 8 +67 182 8 +67 183 8 +67 184 8 +67 185 8 +67 186 8 +67 187 8 +67 188 8 +67 189 8 +67 190 8 +67 191 8 +67 192 8 +67 193 8 +67 194 8 +67 195 8 +67 196 8 +67 197 8 +67 198 8 +67 199 8 +67 200 8 +67 201 8 +67 202 8 +67 203 8 +67 204 8 +67 205 8 +67 206 8 +67 207 8 +67 208 8 +67 209 8 +67 210 8 +67 211 8 +67 212 8 +67 213 8 +67 214 8 +67 215 8 +67 216 8 +67 217 8 +67 218 8 +67 219 8 +67 220 8 +67 221 8 +67 222 8 +67 223 8 +67 224 8 +67 225 8 +67 226 8 +67 227 8 +67 228 8 +67 229 8 +67 230 8 +67 231 8 +67 232 8 +67 233 8 +67 234 8 +67 235 8 +67 236 8 +67 237 8 +67 238 8 +67 239 8 +67 240 8 +67 241 8 +67 242 8 +67 243 8 +67 244 8 +67 245 8 +67 246 8 +67 247 8 +67 248 8 +67 249 8 +67 250 8 +67 251 8 +67 252 8 +67 253 8 +67 254 8 +67 255 8 +67 256 8 +67 257 8 +67 258 8 +67 259 8 +67 260 8 +67 261 8 +67 262 8 +67 263 8 +67 264 8 +67 265 8 +67 266 8 +67 267 8 +67 268 8 +67 269 8 +67 270 8 +67 271 8 +67 272 8 +67 273 8 +67 274 8 +67 275 8 +67 276 8 +67 277 8 +67 278 8 +67 279 8 +67 280 8 +67 281 8 +67 282 8 +67 283 8 +67 284 8 +67 285 8 +67 286 8 +67 287 8 +67 288 8 +67 289 8 +67 290 8 +67 291 8 +67 292 8 +67 293 8 +67 294 8 +67 295 8 +67 296 8 +67 297 8 +67 298 8 +67 299 8 +67 300 8 +67 301 8 +67 302 8 +67 303 8 +67 304 8 +67 305 8 +67 306 8 +67 307 8 +67 308 8 +67 309 8 +67 310 8 +67 311 8 +67 312 8 +67 313 8 +67 314 8 +67 315 8 +67 316 8 +67 317 8 +67 318 8 +67 319 8 +67 320 8 +67 321 8 +67 322 8 +67 323 8 +67 324 8 +67 325 8 +67 326 8 +67 327 8 +67 328 8 +67 329 8 +67 330 8 +67 331 8 +67 332 8 +67 333 8 +67 334 8 +67 335 8 +67 336 8 +67 337 8 +67 338 8 +67 339 8 +67 340 8 +67 341 8 +67 342 8 +67 343 8 +67 344 8 +67 345 8 +67 346 8 +67 347 8 +67 348 8 +67 349 8 +67 350 0 +67 351 0 +67 352 0 +67 353 0 +67 354 0 +67 355 0 +67 356 0 +67 357 0 +67 358 0 +67 359 0 +67 360 0 +67 361 0 +67 362 0 +67 363 0 +67 364 0 +67 365 0 +67 366 0 +67 367 0 +67 368 0 +67 369 0 +67 370 0 +67 371 0 +67 372 0 +67 373 0 +67 374 0 +67 375 0 +67 376 0 +67 377 0 +67 378 0 +67 379 0 +67 380 0 +67 381 0 +67 382 0 +67 383 0 +68 69 8 +68 70 8 +68 71 8 +68 72 8 +68 73 8 +68 74 8 +68 75 8 +68 76 8 +68 77 8 +68 78 8 +68 79 8 +68 80 8 +68 81 8 +68 82 8 +68 83 8 +68 84 8 +68 85 8 +68 86 8 +68 87 8 +68 88 8 +68 89 8 +68 90 8 +68 91 8 +68 92 8 +68 93 8 +68 94 8 +68 95 8 +68 96 8 +68 97 8 +68 98 8 +68 99 8 +68 100 8 +68 101 8 +68 102 8 +68 103 8 +68 104 8 +68 105 8 +68 106 8 +68 107 8 +68 108 8 +68 109 8 +68 110 8 +68 111 8 +68 112 8 +68 113 8 +68 114 8 +68 115 8 +68 116 8 +68 117 8 +68 118 8 +68 119 8 +68 120 8 +68 121 8 +68 122 8 +68 123 8 +68 124 8 +68 125 8 +68 126 8 +68 127 8 +68 128 8 +68 129 8 +68 130 8 +68 131 8 +68 132 8 +68 133 8 +68 134 8 +68 135 8 +68 136 8 +68 137 8 +68 138 8 +68 139 8 +68 140 8 +68 141 8 +68 142 8 +68 143 8 +68 144 8 +68 145 8 +68 146 8 +68 147 8 +68 148 8 +68 149 8 +68 150 8 +68 151 8 +68 152 8 +68 153 8 +68 154 8 +68 155 8 +68 156 8 +68 157 8 +68 158 8 +68 159 8 +68 160 8 +68 161 8 +68 162 8 +68 163 8 +68 164 8 +68 165 8 +68 166 8 +68 167 8 +68 168 8 +68 169 8 +68 170 8 +68 171 8 +68 172 8 +68 173 8 +68 174 8 +68 175 8 +68 176 8 +68 177 8 +68 178 8 +68 179 8 +68 180 8 +68 181 8 +68 182 8 +68 183 8 +68 184 8 +68 185 8 +68 186 8 +68 187 8 +68 188 8 +68 189 8 +68 190 8 +68 191 8 +68 192 8 +68 193 8 +68 194 8 +68 195 8 +68 196 8 +68 197 8 +68 198 8 +68 199 8 +68 200 8 +68 201 8 +68 202 8 +68 203 8 +68 204 8 +68 205 8 +68 206 8 +68 207 8 +68 208 8 +68 209 8 +68 210 8 +68 211 8 +68 212 8 +68 213 8 +68 214 8 +68 215 8 +68 216 8 +68 217 8 +68 218 8 +68 219 8 +68 220 8 +68 221 8 +68 222 8 +68 223 8 +68 224 8 +68 225 8 +68 226 8 +68 227 8 +68 228 8 +68 229 8 +68 230 8 +68 231 8 +68 232 8 +68 233 8 +68 234 8 +68 235 8 +68 236 8 +68 237 8 +68 238 8 +68 239 8 +68 240 8 +68 241 8 +68 242 8 +68 243 8 +68 244 8 +68 245 8 +68 246 8 +68 247 8 +68 248 8 +68 249 8 +68 250 8 +68 251 8 +68 252 8 +68 253 8 +68 254 8 +68 255 8 +68 256 8 +68 257 8 +68 258 8 +68 259 8 +68 260 8 +68 261 8 +68 262 8 +68 263 8 +68 264 8 +68 265 8 +68 266 8 +68 267 8 +68 268 8 +68 269 8 +68 270 8 +68 271 8 +68 272 8 +68 273 8 +68 274 8 +68 275 8 +68 276 8 +68 277 8 +68 278 8 +68 279 8 +68 280 8 +68 281 8 +68 282 8 +68 283 8 +68 284 8 +68 285 8 +68 286 8 +68 287 8 +68 288 8 +68 289 8 +68 290 8 +68 291 8 +68 292 8 +68 293 8 +68 294 8 +68 295 8 +68 296 8 +68 297 8 +68 298 8 +68 299 8 +68 300 8 +68 301 8 +68 302 8 +68 303 8 +68 304 8 +68 305 8 +68 306 8 +68 307 8 +68 308 8 +68 309 8 +68 310 8 +68 311 8 +68 312 8 +68 313 8 +68 314 8 +68 315 8 +68 316 8 +68 317 8 +68 318 8 +68 319 8 +68 320 8 +68 321 8 +68 322 8 +68 323 8 +68 324 8 +68 325 8 +68 326 8 +68 327 8 +68 328 8 +68 329 8 +68 330 8 +68 331 8 +68 332 8 +68 333 8 +68 334 8 +68 335 8 +68 336 8 +68 337 8 +68 338 8 +68 339 8 +68 340 8 +68 341 8 +68 342 8 +68 343 8 +68 344 8 +68 345 8 +68 346 8 +68 347 8 +68 348 8 +68 349 8 +68 350 0 +68 351 0 +68 352 0 +68 353 0 +68 354 0 +68 355 0 +68 356 0 +68 357 0 +68 358 0 +68 359 0 +68 360 0 +68 361 0 +68 362 0 +68 363 0 +68 364 0 +68 365 0 +68 366 0 +68 367 0 +68 368 0 +68 369 0 +68 370 0 +68 371 0 +68 372 0 +68 373 0 +68 374 0 +68 375 0 +68 376 0 +68 377 0 +68 378 0 +68 379 0 +68 380 0 +68 381 0 +68 382 0 +68 383 0 +69 70 8 +69 71 8 +69 72 8 +69 73 8 +69 74 8 +69 75 8 +69 76 8 +69 77 8 +69 78 8 +69 79 8 +69 80 8 +69 81 8 +69 82 8 +69 83 8 +69 84 8 +69 85 8 +69 86 8 +69 87 8 +69 88 8 +69 89 8 +69 90 8 +69 91 8 +69 92 8 +69 93 8 +69 94 8 +69 95 8 +69 96 8 +69 97 8 +69 98 8 +69 99 8 +69 100 8 +69 101 8 +69 102 8 +69 103 8 +69 104 8 +69 105 8 +69 106 8 +69 107 8 +69 108 8 +69 109 8 +69 110 8 +69 111 8 +69 112 8 +69 113 8 +69 114 8 +69 115 8 +69 116 8 +69 117 8 +69 118 8 +69 119 8 +69 120 8 +69 121 8 +69 122 8 +69 123 8 +69 124 8 +69 125 8 +69 126 8 +69 127 8 +69 128 8 +69 129 8 +69 130 8 +69 131 8 +69 132 8 +69 133 8 +69 134 8 +69 135 8 +69 136 8 +69 137 8 +69 138 8 +69 139 8 +69 140 8 +69 141 8 +69 142 8 +69 143 8 +69 144 8 +69 145 8 +69 146 8 +69 147 8 +69 148 8 +69 149 8 +69 150 8 +69 151 8 +69 152 8 +69 153 8 +69 154 8 +69 155 8 +69 156 8 +69 157 8 +69 158 8 +69 159 8 +69 160 8 +69 161 8 +69 162 8 +69 163 8 +69 164 8 +69 165 8 +69 166 8 +69 167 8 +69 168 8 +69 169 8 +69 170 8 +69 171 8 +69 172 8 +69 173 8 +69 174 8 +69 175 8 +69 176 8 +69 177 8 +69 178 8 +69 179 8 +69 180 8 +69 181 8 +69 182 8 +69 183 8 +69 184 8 +69 185 8 +69 186 8 +69 187 8 +69 188 8 +69 189 8 +69 190 8 +69 191 8 +69 192 8 +69 193 8 +69 194 8 +69 195 8 +69 196 8 +69 197 8 +69 198 8 +69 199 8 +69 200 8 +69 201 8 +69 202 8 +69 203 8 +69 204 8 +69 205 8 +69 206 8 +69 207 8 +69 208 8 +69 209 8 +69 210 8 +69 211 8 +69 212 8 +69 213 8 +69 214 8 +69 215 8 +69 216 8 +69 217 8 +69 218 8 +69 219 8 +69 220 8 +69 221 8 +69 222 8 +69 223 8 +69 224 8 +69 225 8 +69 226 8 +69 227 8 +69 228 8 +69 229 8 +69 230 8 +69 231 8 +69 232 8 +69 233 8 +69 234 8 +69 235 8 +69 236 8 +69 237 8 +69 238 8 +69 239 8 +69 240 8 +69 241 8 +69 242 8 +69 243 8 +69 244 8 +69 245 8 +69 246 8 +69 247 8 +69 248 8 +69 249 8 +69 250 8 +69 251 8 +69 252 8 +69 253 8 +69 254 8 +69 255 8 +69 256 8 +69 257 8 +69 258 8 +69 259 8 +69 260 8 +69 261 8 +69 262 8 +69 263 8 +69 264 8 +69 265 8 +69 266 8 +69 267 8 +69 268 8 +69 269 8 +69 270 8 +69 271 8 +69 272 8 +69 273 8 +69 274 8 +69 275 8 +69 276 8 +69 277 8 +69 278 8 +69 279 8 +69 280 8 +69 281 8 +69 282 8 +69 283 8 +69 284 8 +69 285 8 +69 286 8 +69 287 8 +69 288 8 +69 289 8 +69 290 8 +69 291 8 +69 292 8 +69 293 8 +69 294 8 +69 295 8 +69 296 8 +69 297 8 +69 298 8 +69 299 8 +69 300 8 +69 301 8 +69 302 8 +69 303 8 +69 304 8 +69 305 8 +69 306 8 +69 307 8 +69 308 8 +69 309 8 +69 310 8 +69 311 8 +69 312 8 +69 313 8 +69 314 8 +69 315 8 +69 316 8 +69 317 8 +69 318 8 +69 319 8 +69 320 8 +69 321 8 +69 322 8 +69 323 8 +69 324 8 +69 325 8 +69 326 8 +69 327 8 +69 328 8 +69 329 8 +69 330 8 +69 331 8 +69 332 8 +69 333 8 +69 334 8 +69 335 8 +69 336 8 +69 337 8 +69 338 8 +69 339 8 +69 340 8 +69 341 8 +69 342 8 +69 343 8 +69 344 8 +69 345 8 +69 346 8 +69 347 8 +69 348 8 +69 349 8 +69 350 0 +69 351 0 +69 352 0 +69 353 0 +69 354 0 +69 355 0 +69 356 0 +69 357 0 +69 358 0 +69 359 0 +69 360 0 +69 361 0 +69 362 0 +69 363 0 +69 364 0 +69 365 0 +69 366 0 +69 367 0 +69 368 0 +69 369 0 +69 370 0 +69 371 0 +69 372 0 +69 373 0 +69 374 0 +69 375 0 +69 376 0 +69 377 0 +69 378 0 +69 379 0 +69 380 0 +69 381 0 +69 382 0 +69 383 0 +70 71 8 +70 72 8 +70 73 8 +70 74 8 +70 75 8 +70 76 8 +70 77 8 +70 78 8 +70 79 8 +70 80 8 +70 81 8 +70 82 8 +70 83 8 +70 84 8 +70 85 8 +70 86 8 +70 87 8 +70 88 8 +70 89 8 +70 90 8 +70 91 8 +70 92 8 +70 93 8 +70 94 8 +70 95 8 +70 96 8 +70 97 8 +70 98 8 +70 99 8 +70 100 8 +70 101 8 +70 102 8 +70 103 8 +70 104 8 +70 105 8 +70 106 8 +70 107 8 +70 108 8 +70 109 8 +70 110 8 +70 111 8 +70 112 8 +70 113 8 +70 114 8 +70 115 8 +70 116 8 +70 117 8 +70 118 8 +70 119 8 +70 120 8 +70 121 8 +70 122 8 +70 123 8 +70 124 8 +70 125 8 +70 126 8 +70 127 8 +70 128 8 +70 129 8 +70 130 8 +70 131 8 +70 132 8 +70 133 8 +70 134 8 +70 135 8 +70 136 8 +70 137 8 +70 138 8 +70 139 8 +70 140 8 +70 141 8 +70 142 8 +70 143 8 +70 144 8 +70 145 8 +70 146 8 +70 147 8 +70 148 8 +70 149 8 +70 150 8 +70 151 8 +70 152 8 +70 153 8 +70 154 8 +70 155 8 +70 156 8 +70 157 8 +70 158 8 +70 159 8 +70 160 8 +70 161 8 +70 162 8 +70 163 8 +70 164 8 +70 165 8 +70 166 8 +70 167 8 +70 168 8 +70 169 8 +70 170 8 +70 171 8 +70 172 8 +70 173 8 +70 174 8 +70 175 8 +70 176 8 +70 177 8 +70 178 8 +70 179 8 +70 180 8 +70 181 8 +70 182 8 +70 183 8 +70 184 8 +70 185 8 +70 186 8 +70 187 8 +70 188 8 +70 189 8 +70 190 8 +70 191 8 +70 192 8 +70 193 8 +70 194 8 +70 195 8 +70 196 8 +70 197 8 +70 198 8 +70 199 8 +70 200 8 +70 201 8 +70 202 8 +70 203 8 +70 204 8 +70 205 8 +70 206 8 +70 207 8 +70 208 8 +70 209 8 +70 210 8 +70 211 8 +70 212 8 +70 213 8 +70 214 8 +70 215 8 +70 216 8 +70 217 8 +70 218 8 +70 219 8 +70 220 8 +70 221 8 +70 222 8 +70 223 8 +70 224 8 +70 225 8 +70 226 8 +70 227 8 +70 228 8 +70 229 8 +70 230 8 +70 231 8 +70 232 8 +70 233 8 +70 234 8 +70 235 8 +70 236 8 +70 237 8 +70 238 8 +70 239 8 +70 240 8 +70 241 8 +70 242 8 +70 243 8 +70 244 8 +70 245 8 +70 246 8 +70 247 8 +70 248 8 +70 249 8 +70 250 8 +70 251 8 +70 252 8 +70 253 8 +70 254 8 +70 255 8 +70 256 8 +70 257 8 +70 258 8 +70 259 8 +70 260 8 +70 261 8 +70 262 8 +70 263 8 +70 264 8 +70 265 8 +70 266 8 +70 267 8 +70 268 8 +70 269 8 +70 270 8 +70 271 8 +70 272 8 +70 273 8 +70 274 8 +70 275 8 +70 276 8 +70 277 8 +70 278 8 +70 279 8 +70 280 8 +70 281 8 +70 282 8 +70 283 8 +70 284 8 +70 285 8 +70 286 8 +70 287 8 +70 288 8 +70 289 8 +70 290 8 +70 291 8 +70 292 8 +70 293 8 +70 294 8 +70 295 8 +70 296 8 +70 297 8 +70 298 8 +70 299 8 +70 300 8 +70 301 8 +70 302 8 +70 303 8 +70 304 8 +70 305 8 +70 306 8 +70 307 8 +70 308 8 +70 309 8 +70 310 8 +70 311 8 +70 312 8 +70 313 8 +70 314 8 +70 315 8 +70 316 8 +70 317 8 +70 318 8 +70 319 8 +70 320 8 +70 321 8 +70 322 8 +70 323 8 +70 324 8 +70 325 8 +70 326 8 +70 327 8 +70 328 8 +70 329 8 +70 330 8 +70 331 8 +70 332 8 +70 333 8 +70 334 8 +70 335 8 +70 336 8 +70 337 8 +70 338 8 +70 339 8 +70 340 8 +70 341 8 +70 342 8 +70 343 8 +70 344 8 +70 345 8 +70 346 8 +70 347 8 +70 348 8 +70 349 8 +70 350 0 +70 351 0 +70 352 0 +70 353 0 +70 354 0 +70 355 0 +70 356 0 +70 357 0 +70 358 0 +70 359 0 +70 360 0 +70 361 0 +70 362 0 +70 363 0 +70 364 0 +70 365 0 +70 366 0 +70 367 0 +70 368 0 +70 369 0 +70 370 0 +70 371 0 +70 372 0 +70 373 0 +70 374 0 +70 375 0 +70 376 0 +70 377 0 +70 378 0 +70 379 0 +70 380 0 +70 381 0 +70 382 0 +70 383 0 +71 72 8 +71 73 8 +71 74 8 +71 75 8 +71 76 8 +71 77 8 +71 78 8 +71 79 8 +71 80 8 +71 81 8 +71 82 8 +71 83 8 +71 84 8 +71 85 8 +71 86 8 +71 87 8 +71 88 8 +71 89 8 +71 90 8 +71 91 8 +71 92 8 +71 93 8 +71 94 8 +71 95 8 +71 96 8 +71 97 8 +71 98 8 +71 99 8 +71 100 8 +71 101 8 +71 102 8 +71 103 8 +71 104 8 +71 105 8 +71 106 8 +71 107 8 +71 108 8 +71 109 8 +71 110 8 +71 111 8 +71 112 8 +71 113 8 +71 114 8 +71 115 8 +71 116 8 +71 117 8 +71 118 8 +71 119 8 +71 120 8 +71 121 8 +71 122 8 +71 123 8 +71 124 8 +71 125 8 +71 126 8 +71 127 8 +71 128 8 +71 129 8 +71 130 8 +71 131 8 +71 132 8 +71 133 8 +71 134 8 +71 135 8 +71 136 8 +71 137 8 +71 138 8 +71 139 8 +71 140 8 +71 141 8 +71 142 8 +71 143 8 +71 144 8 +71 145 8 +71 146 8 +71 147 8 +71 148 8 +71 149 8 +71 150 8 +71 151 8 +71 152 8 +71 153 8 +71 154 8 +71 155 8 +71 156 8 +71 157 8 +71 158 8 +71 159 8 +71 160 8 +71 161 8 +71 162 8 +71 163 8 +71 164 8 +71 165 8 +71 166 8 +71 167 8 +71 168 8 +71 169 8 +71 170 8 +71 171 8 +71 172 8 +71 173 8 +71 174 8 +71 175 8 +71 176 8 +71 177 8 +71 178 8 +71 179 8 +71 180 8 +71 181 8 +71 182 8 +71 183 8 +71 184 8 +71 185 8 +71 186 8 +71 187 8 +71 188 8 +71 189 8 +71 190 8 +71 191 8 +71 192 8 +71 193 8 +71 194 8 +71 195 8 +71 196 8 +71 197 8 +71 198 8 +71 199 8 +71 200 8 +71 201 8 +71 202 8 +71 203 8 +71 204 8 +71 205 8 +71 206 8 +71 207 8 +71 208 8 +71 209 8 +71 210 8 +71 211 8 +71 212 8 +71 213 8 +71 214 8 +71 215 8 +71 216 8 +71 217 8 +71 218 8 +71 219 8 +71 220 8 +71 221 8 +71 222 8 +71 223 8 +71 224 8 +71 225 8 +71 226 8 +71 227 8 +71 228 8 +71 229 8 +71 230 8 +71 231 8 +71 232 8 +71 233 8 +71 234 8 +71 235 8 +71 236 8 +71 237 8 +71 238 8 +71 239 8 +71 240 8 +71 241 8 +71 242 8 +71 243 8 +71 244 8 +71 245 8 +71 246 8 +71 247 8 +71 248 8 +71 249 8 +71 250 8 +71 251 8 +71 252 8 +71 253 8 +71 254 8 +71 255 8 +71 256 8 +71 257 8 +71 258 8 +71 259 8 +71 260 8 +71 261 8 +71 262 8 +71 263 8 +71 264 8 +71 265 8 +71 266 8 +71 267 8 +71 268 8 +71 269 8 +71 270 8 +71 271 8 +71 272 8 +71 273 8 +71 274 8 +71 275 8 +71 276 8 +71 277 8 +71 278 8 +71 279 8 +71 280 8 +71 281 8 +71 282 8 +71 283 8 +71 284 8 +71 285 8 +71 286 8 +71 287 8 +71 288 8 +71 289 8 +71 290 8 +71 291 8 +71 292 8 +71 293 8 +71 294 8 +71 295 8 +71 296 8 +71 297 8 +71 298 8 +71 299 8 +71 300 8 +71 301 8 +71 302 8 +71 303 8 +71 304 8 +71 305 8 +71 306 8 +71 307 8 +71 308 8 +71 309 8 +71 310 8 +71 311 8 +71 312 8 +71 313 8 +71 314 8 +71 315 8 +71 316 8 +71 317 8 +71 318 8 +71 319 8 +71 320 8 +71 321 8 +71 322 8 +71 323 8 +71 324 8 +71 325 8 +71 326 8 +71 327 8 +71 328 8 +71 329 8 +71 330 8 +71 331 8 +71 332 8 +71 333 8 +71 334 8 +71 335 8 +71 336 8 +71 337 8 +71 338 8 +71 339 8 +71 340 8 +71 341 8 +71 342 8 +71 343 8 +71 344 8 +71 345 8 +71 346 8 +71 347 8 +71 348 8 +71 349 8 +71 350 0 +71 351 0 +71 352 0 +71 353 0 +71 354 0 +71 355 0 +71 356 0 +71 357 0 +71 358 0 +71 359 0 +71 360 0 +71 361 0 +71 362 0 +71 363 0 +71 364 0 +71 365 0 +71 366 0 +71 367 0 +71 368 0 +71 369 0 +71 370 0 +71 371 0 +71 372 0 +71 373 0 +71 374 0 +71 375 0 +71 376 0 +71 377 0 +71 378 0 +71 379 0 +71 380 0 +71 381 0 +71 382 0 +71 383 0 +72 73 8 +72 74 8 +72 75 8 +72 76 8 +72 77 8 +72 78 8 +72 79 8 +72 80 8 +72 81 8 +72 82 8 +72 83 8 +72 84 8 +72 85 8 +72 86 8 +72 87 8 +72 88 8 +72 89 8 +72 90 8 +72 91 8 +72 92 8 +72 93 8 +72 94 8 +72 95 8 +72 96 8 +72 97 8 +72 98 8 +72 99 8 +72 100 8 +72 101 8 +72 102 8 +72 103 8 +72 104 8 +72 105 8 +72 106 8 +72 107 8 +72 108 8 +72 109 8 +72 110 8 +72 111 8 +72 112 8 +72 113 8 +72 114 8 +72 115 8 +72 116 8 +72 117 8 +72 118 8 +72 119 8 +72 120 8 +72 121 8 +72 122 8 +72 123 8 +72 124 8 +72 125 8 +72 126 8 +72 127 8 +72 128 8 +72 129 8 +72 130 8 +72 131 8 +72 132 8 +72 133 8 +72 134 8 +72 135 8 +72 136 8 +72 137 8 +72 138 8 +72 139 8 +72 140 8 +72 141 8 +72 142 8 +72 143 8 +72 144 8 +72 145 8 +72 146 8 +72 147 8 +72 148 8 +72 149 8 +72 150 8 +72 151 8 +72 152 8 +72 153 8 +72 154 8 +72 155 8 +72 156 8 +72 157 8 +72 158 8 +72 159 8 +72 160 8 +72 161 8 +72 162 8 +72 163 8 +72 164 8 +72 165 8 +72 166 8 +72 167 8 +72 168 8 +72 169 8 +72 170 8 +72 171 8 +72 172 8 +72 173 8 +72 174 8 +72 175 8 +72 176 8 +72 177 8 +72 178 8 +72 179 8 +72 180 8 +72 181 8 +72 182 8 +72 183 8 +72 184 8 +72 185 8 +72 186 8 +72 187 8 +72 188 8 +72 189 8 +72 190 8 +72 191 8 +72 192 8 +72 193 8 +72 194 8 +72 195 8 +72 196 8 +72 197 8 +72 198 8 +72 199 8 +72 200 8 +72 201 8 +72 202 8 +72 203 8 +72 204 8 +72 205 8 +72 206 8 +72 207 8 +72 208 8 +72 209 8 +72 210 8 +72 211 8 +72 212 8 +72 213 8 +72 214 8 +72 215 8 +72 216 8 +72 217 8 +72 218 8 +72 219 8 +72 220 8 +72 221 8 +72 222 8 +72 223 8 +72 224 8 +72 225 8 +72 226 8 +72 227 8 +72 228 8 +72 229 8 +72 230 8 +72 231 8 +72 232 8 +72 233 8 +72 234 8 +72 235 8 +72 236 8 +72 237 8 +72 238 8 +72 239 8 +72 240 8 +72 241 8 +72 242 8 +72 243 8 +72 244 8 +72 245 8 +72 246 8 +72 247 8 +72 248 8 +72 249 8 +72 250 8 +72 251 8 +72 252 8 +72 253 8 +72 254 8 +72 255 8 +72 256 8 +72 257 8 +72 258 8 +72 259 8 +72 260 8 +72 261 8 +72 262 8 +72 263 8 +72 264 8 +72 265 8 +72 266 8 +72 267 8 +72 268 8 +72 269 8 +72 270 8 +72 271 8 +72 272 8 +72 273 8 +72 274 8 +72 275 8 +72 276 8 +72 277 8 +72 278 8 +72 279 8 +72 280 8 +72 281 8 +72 282 8 +72 283 8 +72 284 8 +72 285 8 +72 286 8 +72 287 8 +72 288 8 +72 289 8 +72 290 8 +72 291 8 +72 292 8 +72 293 8 +72 294 8 +72 295 8 +72 296 8 +72 297 8 +72 298 8 +72 299 8 +72 300 8 +72 301 8 +72 302 8 +72 303 8 +72 304 8 +72 305 8 +72 306 8 +72 307 8 +72 308 8 +72 309 8 +72 310 8 +72 311 8 +72 312 8 +72 313 8 +72 314 8 +72 315 8 +72 316 8 +72 317 8 +72 318 8 +72 319 8 +72 320 8 +72 321 8 +72 322 8 +72 323 8 +72 324 8 +72 325 8 +72 326 8 +72 327 8 +72 328 8 +72 329 8 +72 330 8 +72 331 8 +72 332 8 +72 333 8 +72 334 8 +72 335 8 +72 336 8 +72 337 8 +72 338 8 +72 339 8 +72 340 8 +72 341 8 +72 342 8 +72 343 8 +72 344 8 +72 345 8 +72 346 8 +72 347 8 +72 348 8 +72 349 8 +72 350 0 +72 351 0 +72 352 0 +72 353 0 +72 354 0 +72 355 0 +72 356 0 +72 357 0 +72 358 0 +72 359 0 +72 360 0 +72 361 0 +72 362 0 +72 363 0 +72 364 0 +72 365 0 +72 366 0 +72 367 0 +72 368 0 +72 369 0 +72 370 0 +72 371 0 +72 372 0 +72 373 0 +72 374 0 +72 375 0 +72 376 0 +72 377 0 +72 378 0 +72 379 0 +72 380 0 +72 381 0 +72 382 0 +72 383 0 +73 74 8 +73 75 8 +73 76 8 +73 77 8 +73 78 8 +73 79 8 +73 80 8 +73 81 8 +73 82 8 +73 83 8 +73 84 8 +73 85 8 +73 86 8 +73 87 8 +73 88 8 +73 89 8 +73 90 8 +73 91 8 +73 92 8 +73 93 8 +73 94 8 +73 95 8 +73 96 8 +73 97 8 +73 98 8 +73 99 8 +73 100 8 +73 101 8 +73 102 8 +73 103 8 +73 104 8 +73 105 8 +73 106 8 +73 107 8 +73 108 8 +73 109 8 +73 110 8 +73 111 8 +73 112 8 +73 113 8 +73 114 8 +73 115 8 +73 116 8 +73 117 8 +73 118 8 +73 119 8 +73 120 8 +73 121 8 +73 122 8 +73 123 8 +73 124 8 +73 125 8 +73 126 8 +73 127 8 +73 128 8 +73 129 8 +73 130 8 +73 131 8 +73 132 8 +73 133 8 +73 134 8 +73 135 8 +73 136 8 +73 137 8 +73 138 8 +73 139 8 +73 140 8 +73 141 8 +73 142 8 +73 143 8 +73 144 8 +73 145 8 +73 146 8 +73 147 8 +73 148 8 +73 149 8 +73 150 8 +73 151 8 +73 152 8 +73 153 8 +73 154 8 +73 155 8 +73 156 8 +73 157 8 +73 158 8 +73 159 8 +73 160 8 +73 161 8 +73 162 8 +73 163 8 +73 164 8 +73 165 8 +73 166 8 +73 167 8 +73 168 8 +73 169 8 +73 170 8 +73 171 8 +73 172 8 +73 173 8 +73 174 8 +73 175 8 +73 176 8 +73 177 8 +73 178 8 +73 179 8 +73 180 8 +73 181 8 +73 182 8 +73 183 8 +73 184 8 +73 185 8 +73 186 8 +73 187 8 +73 188 8 +73 189 8 +73 190 8 +73 191 8 +73 192 8 +73 193 8 +73 194 8 +73 195 8 +73 196 8 +73 197 8 +73 198 8 +73 199 8 +73 200 8 +73 201 8 +73 202 8 +73 203 8 +73 204 8 +73 205 8 +73 206 8 +73 207 8 +73 208 8 +73 209 8 +73 210 8 +73 211 8 +73 212 8 +73 213 8 +73 214 8 +73 215 8 +73 216 8 +73 217 8 +73 218 8 +73 219 8 +73 220 8 +73 221 8 +73 222 8 +73 223 8 +73 224 8 +73 225 8 +73 226 8 +73 227 8 +73 228 8 +73 229 8 +73 230 8 +73 231 8 +73 232 8 +73 233 8 +73 234 8 +73 235 8 +73 236 8 +73 237 8 +73 238 8 +73 239 8 +73 240 8 +73 241 8 +73 242 8 +73 243 8 +73 244 8 +73 245 8 +73 246 8 +73 247 8 +73 248 8 +73 249 8 +73 250 8 +73 251 8 +73 252 8 +73 253 8 +73 254 8 +73 255 8 +73 256 8 +73 257 8 +73 258 8 +73 259 8 +73 260 8 +73 261 8 +73 262 8 +73 263 8 +73 264 8 +73 265 8 +73 266 8 +73 267 8 +73 268 8 +73 269 8 +73 270 8 +73 271 8 +73 272 8 +73 273 8 +73 274 8 +73 275 8 +73 276 8 +73 277 8 +73 278 8 +73 279 8 +73 280 8 +73 281 8 +73 282 8 +73 283 8 +73 284 8 +73 285 8 +73 286 8 +73 287 8 +73 288 8 +73 289 8 +73 290 8 +73 291 8 +73 292 8 +73 293 8 +73 294 8 +73 295 8 +73 296 8 +73 297 8 +73 298 8 +73 299 8 +73 300 8 +73 301 8 +73 302 8 +73 303 8 +73 304 8 +73 305 8 +73 306 8 +73 307 8 +73 308 8 +73 309 8 +73 310 8 +73 311 8 +73 312 8 +73 313 8 +73 314 8 +73 315 8 +73 316 8 +73 317 8 +73 318 8 +73 319 8 +73 320 8 +73 321 8 +73 322 8 +73 323 8 +73 324 8 +73 325 8 +73 326 8 +73 327 8 +73 328 8 +73 329 8 +73 330 8 +73 331 8 +73 332 8 +73 333 8 +73 334 8 +73 335 8 +73 336 8 +73 337 8 +73 338 8 +73 339 8 +73 340 8 +73 341 8 +73 342 8 +73 343 8 +73 344 8 +73 345 8 +73 346 8 +73 347 8 +73 348 8 +73 349 8 +73 350 0 +73 351 0 +73 352 0 +73 353 0 +73 354 0 +73 355 0 +73 356 0 +73 357 0 +73 358 0 +73 359 0 +73 360 0 +73 361 0 +73 362 0 +73 363 0 +73 364 0 +73 365 0 +73 366 0 +73 367 0 +73 368 0 +73 369 0 +73 370 0 +73 371 0 +73 372 0 +73 373 0 +73 374 0 +73 375 0 +73 376 0 +73 377 0 +73 378 0 +73 379 0 +73 380 0 +73 381 0 +73 382 0 +73 383 0 +74 75 8 +74 76 8 +74 77 8 +74 78 8 +74 79 8 +74 80 8 +74 81 8 +74 82 8 +74 83 8 +74 84 8 +74 85 8 +74 86 8 +74 87 8 +74 88 8 +74 89 8 +74 90 8 +74 91 8 +74 92 8 +74 93 8 +74 94 8 +74 95 8 +74 96 8 +74 97 8 +74 98 8 +74 99 8 +74 100 8 +74 101 8 +74 102 8 +74 103 8 +74 104 8 +74 105 8 +74 106 8 +74 107 8 +74 108 8 +74 109 8 +74 110 8 +74 111 8 +74 112 8 +74 113 8 +74 114 8 +74 115 8 +74 116 8 +74 117 8 +74 118 8 +74 119 8 +74 120 8 +74 121 8 +74 122 8 +74 123 8 +74 124 8 +74 125 8 +74 126 8 +74 127 8 +74 128 8 +74 129 8 +74 130 8 +74 131 8 +74 132 8 +74 133 8 +74 134 8 +74 135 8 +74 136 8 +74 137 8 +74 138 8 +74 139 8 +74 140 8 +74 141 8 +74 142 8 +74 143 8 +74 144 8 +74 145 8 +74 146 8 +74 147 8 +74 148 8 +74 149 8 +74 150 8 +74 151 8 +74 152 8 +74 153 8 +74 154 8 +74 155 8 +74 156 8 +74 157 8 +74 158 8 +74 159 8 +74 160 8 +74 161 8 +74 162 8 +74 163 8 +74 164 8 +74 165 8 +74 166 8 +74 167 8 +74 168 8 +74 169 8 +74 170 8 +74 171 8 +74 172 8 +74 173 8 +74 174 8 +74 175 8 +74 176 8 +74 177 8 +74 178 8 +74 179 8 +74 180 8 +74 181 8 +74 182 8 +74 183 8 +74 184 8 +74 185 8 +74 186 8 +74 187 8 +74 188 8 +74 189 8 +74 190 8 +74 191 8 +74 192 8 +74 193 8 +74 194 8 +74 195 8 +74 196 8 +74 197 8 +74 198 8 +74 199 8 +74 200 8 +74 201 8 +74 202 8 +74 203 8 +74 204 8 +74 205 8 +74 206 8 +74 207 8 +74 208 8 +74 209 8 +74 210 8 +74 211 8 +74 212 8 +74 213 8 +74 214 8 +74 215 8 +74 216 8 +74 217 8 +74 218 8 +74 219 8 +74 220 8 +74 221 8 +74 222 8 +74 223 8 +74 224 8 +74 225 8 +74 226 8 +74 227 8 +74 228 8 +74 229 8 +74 230 8 +74 231 8 +74 232 8 +74 233 8 +74 234 8 +74 235 8 +74 236 8 +74 237 8 +74 238 8 +74 239 8 +74 240 8 +74 241 8 +74 242 8 +74 243 8 +74 244 8 +74 245 8 +74 246 8 +74 247 8 +74 248 8 +74 249 8 +74 250 8 +74 251 8 +74 252 8 +74 253 8 +74 254 8 +74 255 8 +74 256 8 +74 257 8 +74 258 8 +74 259 8 +74 260 8 +74 261 8 +74 262 8 +74 263 8 +74 264 8 +74 265 8 +74 266 8 +74 267 8 +74 268 8 +74 269 8 +74 270 8 +74 271 8 +74 272 8 +74 273 8 +74 274 8 +74 275 8 +74 276 8 +74 277 8 +74 278 8 +74 279 8 +74 280 8 +74 281 8 +74 282 8 +74 283 8 +74 284 8 +74 285 8 +74 286 8 +74 287 8 +74 288 8 +74 289 8 +74 290 8 +74 291 8 +74 292 8 +74 293 8 +74 294 8 +74 295 8 +74 296 8 +74 297 8 +74 298 8 +74 299 8 +74 300 8 +74 301 8 +74 302 8 +74 303 8 +74 304 8 +74 305 8 +74 306 8 +74 307 8 +74 308 8 +74 309 8 +74 310 8 +74 311 8 +74 312 8 +74 313 8 +74 314 8 +74 315 8 +74 316 8 +74 317 8 +74 318 8 +74 319 8 +74 320 8 +74 321 8 +74 322 8 +74 323 8 +74 324 8 +74 325 8 +74 326 8 +74 327 8 +74 328 8 +74 329 8 +74 330 8 +74 331 8 +74 332 8 +74 333 8 +74 334 8 +74 335 8 +74 336 8 +74 337 8 +74 338 8 +74 339 8 +74 340 8 +74 341 8 +74 342 8 +74 343 8 +74 344 8 +74 345 8 +74 346 8 +74 347 8 +74 348 8 +74 349 8 +74 350 0 +74 351 0 +74 352 0 +74 353 0 +74 354 0 +74 355 0 +74 356 0 +74 357 0 +74 358 0 +74 359 0 +74 360 0 +74 361 0 +74 362 0 +74 363 0 +74 364 0 +74 365 0 +74 366 0 +74 367 0 +74 368 0 +74 369 0 +74 370 0 +74 371 0 +74 372 0 +74 373 0 +74 374 0 +74 375 0 +74 376 0 +74 377 0 +74 378 0 +74 379 0 +74 380 0 +74 381 0 +74 382 0 +74 383 0 +75 76 8 +75 77 8 +75 78 8 +75 79 8 +75 80 8 +75 81 8 +75 82 8 +75 83 8 +75 84 8 +75 85 8 +75 86 8 +75 87 8 +75 88 8 +75 89 8 +75 90 8 +75 91 8 +75 92 8 +75 93 8 +75 94 8 +75 95 8 +75 96 8 +75 97 8 +75 98 8 +75 99 8 +75 100 8 +75 101 8 +75 102 8 +75 103 8 +75 104 8 +75 105 8 +75 106 8 +75 107 8 +75 108 8 +75 109 8 +75 110 8 +75 111 8 +75 112 8 +75 113 8 +75 114 8 +75 115 8 +75 116 8 +75 117 8 +75 118 8 +75 119 8 +75 120 8 +75 121 8 +75 122 8 +75 123 8 +75 124 8 +75 125 8 +75 126 8 +75 127 8 +75 128 8 +75 129 8 +75 130 8 +75 131 8 +75 132 8 +75 133 8 +75 134 8 +75 135 8 +75 136 8 +75 137 8 +75 138 8 +75 139 8 +75 140 8 +75 141 8 +75 142 8 +75 143 8 +75 144 8 +75 145 8 +75 146 8 +75 147 8 +75 148 8 +75 149 8 +75 150 8 +75 151 8 +75 152 8 +75 153 8 +75 154 8 +75 155 8 +75 156 8 +75 157 8 +75 158 8 +75 159 8 +75 160 8 +75 161 8 +75 162 8 +75 163 8 +75 164 8 +75 165 8 +75 166 8 +75 167 8 +75 168 8 +75 169 8 +75 170 8 +75 171 8 +75 172 8 +75 173 8 +75 174 8 +75 175 8 +75 176 8 +75 177 8 +75 178 8 +75 179 8 +75 180 8 +75 181 8 +75 182 8 +75 183 8 +75 184 8 +75 185 8 +75 186 8 +75 187 8 +75 188 8 +75 189 8 +75 190 8 +75 191 8 +75 192 8 +75 193 8 +75 194 8 +75 195 8 +75 196 8 +75 197 8 +75 198 8 +75 199 8 +75 200 8 +75 201 8 +75 202 8 +75 203 8 +75 204 8 +75 205 8 +75 206 8 +75 207 8 +75 208 8 +75 209 8 +75 210 8 +75 211 8 +75 212 8 +75 213 8 +75 214 8 +75 215 8 +75 216 8 +75 217 8 +75 218 8 +75 219 8 +75 220 8 +75 221 8 +75 222 8 +75 223 8 +75 224 8 +75 225 8 +75 226 8 +75 227 8 +75 228 8 +75 229 8 +75 230 8 +75 231 8 +75 232 8 +75 233 8 +75 234 8 +75 235 8 +75 236 8 +75 237 8 +75 238 8 +75 239 8 +75 240 8 +75 241 8 +75 242 8 +75 243 8 +75 244 8 +75 245 8 +75 246 8 +75 247 8 +75 248 8 +75 249 8 +75 250 8 +75 251 8 +75 252 8 +75 253 8 +75 254 8 +75 255 8 +75 256 8 +75 257 8 +75 258 8 +75 259 8 +75 260 8 +75 261 8 +75 262 8 +75 263 8 +75 264 8 +75 265 8 +75 266 8 +75 267 8 +75 268 8 +75 269 8 +75 270 8 +75 271 8 +75 272 8 +75 273 8 +75 274 8 +75 275 8 +75 276 8 +75 277 8 +75 278 8 +75 279 8 +75 280 8 +75 281 8 +75 282 8 +75 283 8 +75 284 8 +75 285 8 +75 286 8 +75 287 8 +75 288 8 +75 289 8 +75 290 8 +75 291 8 +75 292 8 +75 293 8 +75 294 8 +75 295 8 +75 296 8 +75 297 8 +75 298 8 +75 299 8 +75 300 8 +75 301 8 +75 302 8 +75 303 8 +75 304 8 +75 305 8 +75 306 8 +75 307 8 +75 308 8 +75 309 8 +75 310 8 +75 311 8 +75 312 8 +75 313 8 +75 314 8 +75 315 8 +75 316 8 +75 317 8 +75 318 8 +75 319 8 +75 320 8 +75 321 8 +75 322 8 +75 323 8 +75 324 8 +75 325 8 +75 326 8 +75 327 8 +75 328 8 +75 329 8 +75 330 8 +75 331 8 +75 332 8 +75 333 8 +75 334 8 +75 335 8 +75 336 8 +75 337 8 +75 338 8 +75 339 8 +75 340 8 +75 341 8 +75 342 8 +75 343 8 +75 344 8 +75 345 8 +75 346 8 +75 347 8 +75 348 8 +75 349 8 +75 350 0 +75 351 0 +75 352 0 +75 353 0 +75 354 0 +75 355 0 +75 356 0 +75 357 0 +75 358 0 +75 359 0 +75 360 0 +75 361 0 +75 362 0 +75 363 0 +75 364 0 +75 365 0 +75 366 0 +75 367 0 +75 368 0 +75 369 0 +75 370 0 +75 371 0 +75 372 0 +75 373 0 +75 374 0 +75 375 0 +75 376 0 +75 377 0 +75 378 0 +75 379 0 +75 380 0 +75 381 0 +75 382 0 +75 383 0 +76 77 8 +76 78 8 +76 79 8 +76 80 8 +76 81 8 +76 82 8 +76 83 8 +76 84 8 +76 85 8 +76 86 8 +76 87 8 +76 88 8 +76 89 8 +76 90 8 +76 91 8 +76 92 8 +76 93 8 +76 94 8 +76 95 8 +76 96 8 +76 97 8 +76 98 8 +76 99 8 +76 100 8 +76 101 8 +76 102 8 +76 103 8 +76 104 8 +76 105 8 +76 106 8 +76 107 8 +76 108 8 +76 109 8 +76 110 8 +76 111 8 +76 112 8 +76 113 8 +76 114 8 +76 115 8 +76 116 8 +76 117 8 +76 118 8 +76 119 8 +76 120 8 +76 121 8 +76 122 8 +76 123 8 +76 124 8 +76 125 8 +76 126 8 +76 127 8 +76 128 8 +76 129 8 +76 130 8 +76 131 8 +76 132 8 +76 133 8 +76 134 8 +76 135 8 +76 136 8 +76 137 8 +76 138 8 +76 139 8 +76 140 8 +76 141 8 +76 142 8 +76 143 8 +76 144 8 +76 145 8 +76 146 8 +76 147 8 +76 148 8 +76 149 8 +76 150 8 +76 151 8 +76 152 8 +76 153 8 +76 154 8 +76 155 8 +76 156 8 +76 157 8 +76 158 8 +76 159 8 +76 160 8 +76 161 8 +76 162 8 +76 163 8 +76 164 8 +76 165 8 +76 166 8 +76 167 8 +76 168 8 +76 169 8 +76 170 8 +76 171 8 +76 172 8 +76 173 8 +76 174 8 +76 175 8 +76 176 8 +76 177 8 +76 178 8 +76 179 8 +76 180 8 +76 181 8 +76 182 8 +76 183 8 +76 184 8 +76 185 8 +76 186 8 +76 187 8 +76 188 8 +76 189 8 +76 190 8 +76 191 8 +76 192 8 +76 193 8 +76 194 8 +76 195 8 +76 196 8 +76 197 8 +76 198 8 +76 199 8 +76 200 8 +76 201 8 +76 202 8 +76 203 8 +76 204 8 +76 205 8 +76 206 8 +76 207 8 +76 208 8 +76 209 8 +76 210 8 +76 211 8 +76 212 8 +76 213 8 +76 214 8 +76 215 8 +76 216 8 +76 217 8 +76 218 8 +76 219 8 +76 220 8 +76 221 8 +76 222 8 +76 223 8 +76 224 8 +76 225 8 +76 226 8 +76 227 8 +76 228 8 +76 229 8 +76 230 8 +76 231 8 +76 232 8 +76 233 8 +76 234 8 +76 235 8 +76 236 8 +76 237 8 +76 238 8 +76 239 8 +76 240 8 +76 241 8 +76 242 8 +76 243 8 +76 244 8 +76 245 8 +76 246 8 +76 247 8 +76 248 8 +76 249 8 +76 250 8 +76 251 8 +76 252 8 +76 253 8 +76 254 8 +76 255 8 +76 256 8 +76 257 8 +76 258 8 +76 259 8 +76 260 8 +76 261 8 +76 262 8 +76 263 8 +76 264 8 +76 265 8 +76 266 8 +76 267 8 +76 268 8 +76 269 8 +76 270 8 +76 271 8 +76 272 8 +76 273 8 +76 274 8 +76 275 8 +76 276 8 +76 277 8 +76 278 8 +76 279 8 +76 280 8 +76 281 8 +76 282 8 +76 283 8 +76 284 8 +76 285 8 +76 286 8 +76 287 8 +76 288 8 +76 289 8 +76 290 8 +76 291 8 +76 292 8 +76 293 8 +76 294 8 +76 295 8 +76 296 8 +76 297 8 +76 298 8 +76 299 8 +76 300 8 +76 301 8 +76 302 8 +76 303 8 +76 304 8 +76 305 8 +76 306 8 +76 307 8 +76 308 8 +76 309 8 +76 310 8 +76 311 8 +76 312 8 +76 313 8 +76 314 8 +76 315 8 +76 316 8 +76 317 8 +76 318 8 +76 319 8 +76 320 8 +76 321 8 +76 322 8 +76 323 8 +76 324 8 +76 325 8 +76 326 8 +76 327 8 +76 328 8 +76 329 8 +76 330 8 +76 331 8 +76 332 8 +76 333 8 +76 334 8 +76 335 8 +76 336 8 +76 337 8 +76 338 8 +76 339 8 +76 340 8 +76 341 8 +76 342 8 +76 343 8 +76 344 8 +76 345 8 +76 346 8 +76 347 8 +76 348 8 +76 349 8 +76 350 0 +76 351 0 +76 352 0 +76 353 0 +76 354 0 +76 355 0 +76 356 0 +76 357 0 +76 358 0 +76 359 0 +76 360 0 +76 361 0 +76 362 0 +76 363 0 +76 364 0 +76 365 0 +76 366 0 +76 367 0 +76 368 0 +76 369 0 +76 370 0 +76 371 0 +76 372 0 +76 373 0 +76 374 0 +76 375 0 +76 376 0 +76 377 0 +76 378 0 +76 379 0 +76 380 0 +76 381 0 +76 382 0 +76 383 0 +77 78 8 +77 79 8 +77 80 8 +77 81 8 +77 82 8 +77 83 8 +77 84 8 +77 85 8 +77 86 8 +77 87 8 +77 88 8 +77 89 8 +77 90 8 +77 91 8 +77 92 8 +77 93 8 +77 94 8 +77 95 8 +77 96 8 +77 97 8 +77 98 8 +77 99 8 +77 100 8 +77 101 8 +77 102 8 +77 103 8 +77 104 8 +77 105 8 +77 106 8 +77 107 8 +77 108 8 +77 109 8 +77 110 8 +77 111 8 +77 112 8 +77 113 8 +77 114 8 +77 115 8 +77 116 8 +77 117 8 +77 118 8 +77 119 8 +77 120 8 +77 121 8 +77 122 8 +77 123 8 +77 124 8 +77 125 8 +77 126 8 +77 127 8 +77 128 8 +77 129 8 +77 130 8 +77 131 8 +77 132 8 +77 133 8 +77 134 8 +77 135 8 +77 136 8 +77 137 8 +77 138 8 +77 139 8 +77 140 8 +77 141 8 +77 142 8 +77 143 8 +77 144 8 +77 145 8 +77 146 8 +77 147 8 +77 148 8 +77 149 8 +77 150 8 +77 151 8 +77 152 8 +77 153 8 +77 154 8 +77 155 8 +77 156 8 +77 157 8 +77 158 8 +77 159 8 +77 160 8 +77 161 8 +77 162 8 +77 163 8 +77 164 8 +77 165 8 +77 166 8 +77 167 8 +77 168 8 +77 169 8 +77 170 8 +77 171 8 +77 172 8 +77 173 8 +77 174 8 +77 175 8 +77 176 8 +77 177 8 +77 178 8 +77 179 8 +77 180 8 +77 181 8 +77 182 8 +77 183 8 +77 184 8 +77 185 8 +77 186 8 +77 187 8 +77 188 8 +77 189 8 +77 190 8 +77 191 8 +77 192 8 +77 193 8 +77 194 8 +77 195 8 +77 196 8 +77 197 8 +77 198 8 +77 199 8 +77 200 8 +77 201 8 +77 202 8 +77 203 8 +77 204 8 +77 205 8 +77 206 8 +77 207 8 +77 208 8 +77 209 8 +77 210 8 +77 211 8 +77 212 8 +77 213 8 +77 214 8 +77 215 8 +77 216 8 +77 217 8 +77 218 8 +77 219 8 +77 220 8 +77 221 8 +77 222 8 +77 223 8 +77 224 8 +77 225 8 +77 226 8 +77 227 8 +77 228 8 +77 229 8 +77 230 8 +77 231 8 +77 232 8 +77 233 8 +77 234 8 +77 235 8 +77 236 8 +77 237 8 +77 238 8 +77 239 8 +77 240 8 +77 241 8 +77 242 8 +77 243 8 +77 244 8 +77 245 8 +77 246 8 +77 247 8 +77 248 8 +77 249 8 +77 250 8 +77 251 8 +77 252 8 +77 253 8 +77 254 8 +77 255 8 +77 256 8 +77 257 8 +77 258 8 +77 259 8 +77 260 8 +77 261 8 +77 262 8 +77 263 8 +77 264 8 +77 265 8 +77 266 8 +77 267 8 +77 268 8 +77 269 8 +77 270 8 +77 271 8 +77 272 8 +77 273 8 +77 274 8 +77 275 8 +77 276 8 +77 277 8 +77 278 8 +77 279 8 +77 280 8 +77 281 8 +77 282 8 +77 283 8 +77 284 8 +77 285 8 +77 286 8 +77 287 8 +77 288 8 +77 289 8 +77 290 8 +77 291 8 +77 292 8 +77 293 8 +77 294 8 +77 295 8 +77 296 8 +77 297 8 +77 298 8 +77 299 8 +77 300 8 +77 301 8 +77 302 8 +77 303 8 +77 304 8 +77 305 8 +77 306 8 +77 307 8 +77 308 8 +77 309 8 +77 310 8 +77 311 8 +77 312 8 +77 313 8 +77 314 8 +77 315 8 +77 316 8 +77 317 8 +77 318 8 +77 319 8 +77 320 8 +77 321 8 +77 322 8 +77 323 8 +77 324 8 +77 325 8 +77 326 8 +77 327 8 +77 328 8 +77 329 8 +77 330 8 +77 331 8 +77 332 8 +77 333 8 +77 334 8 +77 335 8 +77 336 8 +77 337 8 +77 338 8 +77 339 8 +77 340 8 +77 341 8 +77 342 8 +77 343 8 +77 344 8 +77 345 8 +77 346 8 +77 347 8 +77 348 8 +77 349 8 +77 350 0 +77 351 0 +77 352 0 +77 353 0 +77 354 0 +77 355 0 +77 356 0 +77 357 0 +77 358 0 +77 359 0 +77 360 0 +77 361 0 +77 362 0 +77 363 0 +77 364 0 +77 365 0 +77 366 0 +77 367 0 +77 368 0 +77 369 0 +77 370 0 +77 371 0 +77 372 0 +77 373 0 +77 374 0 +77 375 0 +77 376 0 +77 377 0 +77 378 0 +77 379 0 +77 380 0 +77 381 0 +77 382 0 +77 383 0 +78 79 8 +78 80 8 +78 81 8 +78 82 8 +78 83 8 +78 84 8 +78 85 8 +78 86 8 +78 87 8 +78 88 8 +78 89 8 +78 90 8 +78 91 8 +78 92 8 +78 93 8 +78 94 8 +78 95 8 +78 96 8 +78 97 8 +78 98 8 +78 99 8 +78 100 8 +78 101 8 +78 102 8 +78 103 8 +78 104 8 +78 105 8 +78 106 8 +78 107 8 +78 108 8 +78 109 8 +78 110 8 +78 111 8 +78 112 8 +78 113 8 +78 114 8 +78 115 8 +78 116 8 +78 117 8 +78 118 8 +78 119 8 +78 120 8 +78 121 8 +78 122 8 +78 123 8 +78 124 8 +78 125 8 +78 126 8 +78 127 8 +78 128 8 +78 129 8 +78 130 8 +78 131 8 +78 132 8 +78 133 8 +78 134 8 +78 135 8 +78 136 8 +78 137 8 +78 138 8 +78 139 8 +78 140 8 +78 141 8 +78 142 8 +78 143 8 +78 144 8 +78 145 8 +78 146 8 +78 147 8 +78 148 8 +78 149 8 +78 150 8 +78 151 8 +78 152 8 +78 153 8 +78 154 8 +78 155 8 +78 156 8 +78 157 8 +78 158 8 +78 159 8 +78 160 8 +78 161 8 +78 162 8 +78 163 8 +78 164 8 +78 165 8 +78 166 8 +78 167 8 +78 168 8 +78 169 8 +78 170 8 +78 171 8 +78 172 8 +78 173 8 +78 174 8 +78 175 8 +78 176 8 +78 177 8 +78 178 8 +78 179 8 +78 180 8 +78 181 8 +78 182 8 +78 183 8 +78 184 8 +78 185 8 +78 186 8 +78 187 8 +78 188 8 +78 189 8 +78 190 8 +78 191 8 +78 192 8 +78 193 8 +78 194 8 +78 195 8 +78 196 8 +78 197 8 +78 198 8 +78 199 8 +78 200 8 +78 201 8 +78 202 8 +78 203 8 +78 204 8 +78 205 8 +78 206 8 +78 207 8 +78 208 8 +78 209 8 +78 210 8 +78 211 8 +78 212 8 +78 213 8 +78 214 8 +78 215 8 +78 216 8 +78 217 8 +78 218 8 +78 219 8 +78 220 8 +78 221 8 +78 222 8 +78 223 8 +78 224 8 +78 225 8 +78 226 8 +78 227 8 +78 228 8 +78 229 8 +78 230 8 +78 231 8 +78 232 8 +78 233 8 +78 234 8 +78 235 8 +78 236 8 +78 237 8 +78 238 8 +78 239 8 +78 240 8 +78 241 8 +78 242 8 +78 243 8 +78 244 8 +78 245 8 +78 246 8 +78 247 8 +78 248 8 +78 249 8 +78 250 8 +78 251 8 +78 252 8 +78 253 8 +78 254 8 +78 255 8 +78 256 8 +78 257 8 +78 258 8 +78 259 8 +78 260 8 +78 261 8 +78 262 8 +78 263 8 +78 264 8 +78 265 8 +78 266 8 +78 267 8 +78 268 8 +78 269 8 +78 270 8 +78 271 8 +78 272 8 +78 273 8 +78 274 8 +78 275 8 +78 276 8 +78 277 8 +78 278 8 +78 279 8 +78 280 8 +78 281 8 +78 282 8 +78 283 8 +78 284 8 +78 285 8 +78 286 8 +78 287 8 +78 288 8 +78 289 8 +78 290 8 +78 291 8 +78 292 8 +78 293 8 +78 294 8 +78 295 8 +78 296 8 +78 297 8 +78 298 8 +78 299 8 +78 300 8 +78 301 8 +78 302 8 +78 303 8 +78 304 8 +78 305 8 +78 306 8 +78 307 8 +78 308 8 +78 309 8 +78 310 8 +78 311 8 +78 312 8 +78 313 8 +78 314 8 +78 315 8 +78 316 8 +78 317 8 +78 318 8 +78 319 8 +78 320 8 +78 321 8 +78 322 8 +78 323 8 +78 324 8 +78 325 8 +78 326 8 +78 327 8 +78 328 8 +78 329 8 +78 330 8 +78 331 8 +78 332 8 +78 333 8 +78 334 8 +78 335 8 +78 336 8 +78 337 8 +78 338 8 +78 339 8 +78 340 8 +78 341 8 +78 342 8 +78 343 8 +78 344 8 +78 345 8 +78 346 8 +78 347 8 +78 348 8 +78 349 8 +78 350 0 +78 351 0 +78 352 0 +78 353 0 +78 354 0 +78 355 0 +78 356 0 +78 357 0 +78 358 0 +78 359 0 +78 360 0 +78 361 0 +78 362 0 +78 363 0 +78 364 0 +78 365 0 +78 366 0 +78 367 0 +78 368 0 +78 369 0 +78 370 0 +78 371 0 +78 372 0 +78 373 0 +78 374 0 +78 375 0 +78 376 0 +78 377 0 +78 378 0 +78 379 0 +78 380 0 +78 381 0 +78 382 0 +78 383 0 +79 80 8 +79 81 8 +79 82 8 +79 83 8 +79 84 8 +79 85 8 +79 86 8 +79 87 8 +79 88 8 +79 89 8 +79 90 8 +79 91 8 +79 92 8 +79 93 8 +79 94 8 +79 95 8 +79 96 8 +79 97 8 +79 98 8 +79 99 8 +79 100 8 +79 101 8 +79 102 8 +79 103 8 +79 104 8 +79 105 8 +79 106 8 +79 107 8 +79 108 8 +79 109 8 +79 110 8 +79 111 8 +79 112 8 +79 113 8 +79 114 8 +79 115 8 +79 116 8 +79 117 8 +79 118 8 +79 119 8 +79 120 8 +79 121 8 +79 122 8 +79 123 8 +79 124 8 +79 125 8 +79 126 8 +79 127 8 +79 128 8 +79 129 8 +79 130 8 +79 131 8 +79 132 8 +79 133 8 +79 134 8 +79 135 8 +79 136 8 +79 137 8 +79 138 8 +79 139 8 +79 140 8 +79 141 8 +79 142 8 +79 143 8 +79 144 8 +79 145 8 +79 146 8 +79 147 8 +79 148 8 +79 149 8 +79 150 8 +79 151 8 +79 152 8 +79 153 8 +79 154 8 +79 155 8 +79 156 8 +79 157 8 +79 158 8 +79 159 8 +79 160 8 +79 161 8 +79 162 8 +79 163 8 +79 164 8 +79 165 8 +79 166 8 +79 167 8 +79 168 8 +79 169 8 +79 170 8 +79 171 8 +79 172 8 +79 173 8 +79 174 8 +79 175 8 +79 176 8 +79 177 8 +79 178 8 +79 179 8 +79 180 8 +79 181 8 +79 182 8 +79 183 8 +79 184 8 +79 185 8 +79 186 8 +79 187 8 +79 188 8 +79 189 8 +79 190 8 +79 191 8 +79 192 8 +79 193 8 +79 194 8 +79 195 8 +79 196 8 +79 197 8 +79 198 8 +79 199 8 +79 200 8 +79 201 8 +79 202 8 +79 203 8 +79 204 8 +79 205 8 +79 206 8 +79 207 8 +79 208 8 +79 209 8 +79 210 8 +79 211 8 +79 212 8 +79 213 8 +79 214 8 +79 215 8 +79 216 8 +79 217 8 +79 218 8 +79 219 8 +79 220 8 +79 221 8 +79 222 8 +79 223 8 +79 224 8 +79 225 8 +79 226 8 +79 227 8 +79 228 8 +79 229 8 +79 230 8 +79 231 8 +79 232 8 +79 233 8 +79 234 8 +79 235 8 +79 236 8 +79 237 8 +79 238 8 +79 239 8 +79 240 8 +79 241 8 +79 242 8 +79 243 8 +79 244 8 +79 245 8 +79 246 8 +79 247 8 +79 248 8 +79 249 8 +79 250 8 +79 251 8 +79 252 8 +79 253 8 +79 254 8 +79 255 8 +79 256 8 +79 257 8 +79 258 8 +79 259 8 +79 260 8 +79 261 8 +79 262 8 +79 263 8 +79 264 8 +79 265 8 +79 266 8 +79 267 8 +79 268 8 +79 269 8 +79 270 8 +79 271 8 +79 272 8 +79 273 8 +79 274 8 +79 275 8 +79 276 8 +79 277 8 +79 278 8 +79 279 8 +79 280 8 +79 281 8 +79 282 8 +79 283 8 +79 284 8 +79 285 8 +79 286 8 +79 287 8 +79 288 8 +79 289 8 +79 290 8 +79 291 8 +79 292 8 +79 293 8 +79 294 8 +79 295 8 +79 296 8 +79 297 8 +79 298 8 +79 299 8 +79 300 8 +79 301 8 +79 302 8 +79 303 8 +79 304 8 +79 305 8 +79 306 8 +79 307 8 +79 308 8 +79 309 8 +79 310 8 +79 311 8 +79 312 8 +79 313 8 +79 314 8 +79 315 8 +79 316 8 +79 317 8 +79 318 8 +79 319 8 +79 320 8 +79 321 8 +79 322 8 +79 323 8 +79 324 8 +79 325 8 +79 326 8 +79 327 8 +79 328 8 +79 329 8 +79 330 8 +79 331 8 +79 332 8 +79 333 8 +79 334 8 +79 335 8 +79 336 8 +79 337 8 +79 338 8 +79 339 8 +79 340 8 +79 341 8 +79 342 8 +79 343 8 +79 344 8 +79 345 8 +79 346 8 +79 347 8 +79 348 8 +79 349 8 +79 350 0 +79 351 0 +79 352 0 +79 353 0 +79 354 0 +79 355 0 +79 356 0 +79 357 0 +79 358 0 +79 359 0 +79 360 0 +79 361 0 +79 362 0 +79 363 0 +79 364 0 +79 365 0 +79 366 0 +79 367 0 +79 368 0 +79 369 0 +79 370 0 +79 371 0 +79 372 0 +79 373 0 +79 374 0 +79 375 0 +79 376 0 +79 377 0 +79 378 0 +79 379 0 +79 380 0 +79 381 0 +79 382 0 +79 383 0 +80 81 8 +80 82 8 +80 83 8 +80 84 8 +80 85 8 +80 86 8 +80 87 8 +80 88 8 +80 89 8 +80 90 8 +80 91 8 +80 92 8 +80 93 8 +80 94 8 +80 95 8 +80 96 8 +80 97 8 +80 98 8 +80 99 8 +80 100 8 +80 101 8 +80 102 8 +80 103 8 +80 104 8 +80 105 8 +80 106 8 +80 107 8 +80 108 8 +80 109 8 +80 110 8 +80 111 8 +80 112 8 +80 113 8 +80 114 8 +80 115 8 +80 116 8 +80 117 8 +80 118 8 +80 119 8 +80 120 8 +80 121 8 +80 122 8 +80 123 8 +80 124 8 +80 125 8 +80 126 8 +80 127 8 +80 128 8 +80 129 8 +80 130 8 +80 131 8 +80 132 8 +80 133 8 +80 134 8 +80 135 8 +80 136 8 +80 137 8 +80 138 8 +80 139 8 +80 140 8 +80 141 8 +80 142 8 +80 143 8 +80 144 8 +80 145 8 +80 146 8 +80 147 8 +80 148 8 +80 149 8 +80 150 8 +80 151 8 +80 152 8 +80 153 8 +80 154 8 +80 155 8 +80 156 8 +80 157 8 +80 158 8 +80 159 8 +80 160 8 +80 161 8 +80 162 8 +80 163 8 +80 164 8 +80 165 8 +80 166 8 +80 167 8 +80 168 8 +80 169 8 +80 170 8 +80 171 8 +80 172 8 +80 173 8 +80 174 8 +80 175 8 +80 176 8 +80 177 8 +80 178 8 +80 179 8 +80 180 8 +80 181 8 +80 182 8 +80 183 8 +80 184 8 +80 185 8 +80 186 8 +80 187 8 +80 188 8 +80 189 8 +80 190 8 +80 191 8 +80 192 8 +80 193 8 +80 194 8 +80 195 8 +80 196 8 +80 197 8 +80 198 8 +80 199 8 +80 200 8 +80 201 8 +80 202 8 +80 203 8 +80 204 8 +80 205 8 +80 206 8 +80 207 8 +80 208 8 +80 209 8 +80 210 8 +80 211 8 +80 212 8 +80 213 8 +80 214 8 +80 215 8 +80 216 8 +80 217 8 +80 218 8 +80 219 8 +80 220 8 +80 221 8 +80 222 8 +80 223 8 +80 224 8 +80 225 8 +80 226 8 +80 227 8 +80 228 8 +80 229 8 +80 230 8 +80 231 8 +80 232 8 +80 233 8 +80 234 8 +80 235 8 +80 236 8 +80 237 8 +80 238 8 +80 239 8 +80 240 8 +80 241 8 +80 242 8 +80 243 8 +80 244 8 +80 245 8 +80 246 8 +80 247 8 +80 248 8 +80 249 8 +80 250 8 +80 251 8 +80 252 8 +80 253 8 +80 254 8 +80 255 8 +80 256 8 +80 257 8 +80 258 8 +80 259 8 +80 260 8 +80 261 8 +80 262 8 +80 263 8 +80 264 8 +80 265 8 +80 266 8 +80 267 8 +80 268 8 +80 269 8 +80 270 8 +80 271 8 +80 272 8 +80 273 8 +80 274 8 +80 275 8 +80 276 8 +80 277 8 +80 278 8 +80 279 8 +80 280 8 +80 281 8 +80 282 8 +80 283 8 +80 284 8 +80 285 8 +80 286 8 +80 287 8 +80 288 8 +80 289 8 +80 290 8 +80 291 8 +80 292 8 +80 293 8 +80 294 8 +80 295 8 +80 296 8 +80 297 8 +80 298 8 +80 299 8 +80 300 8 +80 301 8 +80 302 8 +80 303 8 +80 304 8 +80 305 8 +80 306 8 +80 307 8 +80 308 8 +80 309 8 +80 310 8 +80 311 8 +80 312 8 +80 313 8 +80 314 8 +80 315 8 +80 316 8 +80 317 8 +80 318 8 +80 319 8 +80 320 8 +80 321 8 +80 322 8 +80 323 8 +80 324 8 +80 325 8 +80 326 8 +80 327 8 +80 328 8 +80 329 8 +80 330 8 +80 331 8 +80 332 8 +80 333 8 +80 334 8 +80 335 8 +80 336 8 +80 337 8 +80 338 8 +80 339 8 +80 340 8 +80 341 8 +80 342 8 +80 343 8 +80 344 8 +80 345 8 +80 346 8 +80 347 8 +80 348 8 +80 349 8 +80 350 0 +80 351 0 +80 352 0 +80 353 0 +80 354 0 +80 355 0 +80 356 0 +80 357 0 +80 358 0 +80 359 0 +80 360 0 +80 361 0 +80 362 0 +80 363 0 +80 364 0 +80 365 0 +80 366 0 +80 367 0 +80 368 0 +80 369 0 +80 370 0 +80 371 0 +80 372 0 +80 373 0 +80 374 0 +80 375 0 +80 376 0 +80 377 0 +80 378 0 +80 379 0 +80 380 0 +80 381 0 +80 382 0 +80 383 0 +81 82 8 +81 83 8 +81 84 8 +81 85 8 +81 86 8 +81 87 8 +81 88 8 +81 89 8 +81 90 8 +81 91 8 +81 92 8 +81 93 8 +81 94 8 +81 95 8 +81 96 8 +81 97 8 +81 98 8 +81 99 8 +81 100 8 +81 101 8 +81 102 8 +81 103 8 +81 104 8 +81 105 8 +81 106 8 +81 107 8 +81 108 8 +81 109 8 +81 110 8 +81 111 8 +81 112 8 +81 113 8 +81 114 8 +81 115 8 +81 116 8 +81 117 8 +81 118 8 +81 119 8 +81 120 8 +81 121 8 +81 122 8 +81 123 8 +81 124 8 +81 125 8 +81 126 8 +81 127 8 +81 128 8 +81 129 8 +81 130 8 +81 131 8 +81 132 8 +81 133 8 +81 134 8 +81 135 8 +81 136 8 +81 137 8 +81 138 8 +81 139 8 +81 140 8 +81 141 8 +81 142 8 +81 143 8 +81 144 8 +81 145 8 +81 146 8 +81 147 8 +81 148 8 +81 149 8 +81 150 8 +81 151 8 +81 152 8 +81 153 8 +81 154 8 +81 155 8 +81 156 8 +81 157 8 +81 158 8 +81 159 8 +81 160 8 +81 161 8 +81 162 8 +81 163 8 +81 164 8 +81 165 8 +81 166 8 +81 167 8 +81 168 8 +81 169 8 +81 170 8 +81 171 8 +81 172 8 +81 173 8 +81 174 8 +81 175 8 +81 176 8 +81 177 8 +81 178 8 +81 179 8 +81 180 8 +81 181 8 +81 182 8 +81 183 8 +81 184 8 +81 185 8 +81 186 8 +81 187 8 +81 188 8 +81 189 8 +81 190 8 +81 191 8 +81 192 8 +81 193 8 +81 194 8 +81 195 8 +81 196 8 +81 197 8 +81 198 8 +81 199 8 +81 200 8 +81 201 8 +81 202 8 +81 203 8 +81 204 8 +81 205 8 +81 206 8 +81 207 8 +81 208 8 +81 209 8 +81 210 8 +81 211 8 +81 212 8 +81 213 8 +81 214 8 +81 215 8 +81 216 8 +81 217 8 +81 218 8 +81 219 8 +81 220 8 +81 221 8 +81 222 8 +81 223 8 +81 224 8 +81 225 8 +81 226 8 +81 227 8 +81 228 8 +81 229 8 +81 230 8 +81 231 8 +81 232 8 +81 233 8 +81 234 8 +81 235 8 +81 236 8 +81 237 8 +81 238 8 +81 239 8 +81 240 8 +81 241 8 +81 242 8 +81 243 8 +81 244 8 +81 245 8 +81 246 8 +81 247 8 +81 248 8 +81 249 8 +81 250 8 +81 251 8 +81 252 8 +81 253 8 +81 254 8 +81 255 8 +81 256 8 +81 257 8 +81 258 8 +81 259 8 +81 260 8 +81 261 8 +81 262 8 +81 263 8 +81 264 8 +81 265 8 +81 266 8 +81 267 8 +81 268 8 +81 269 8 +81 270 8 +81 271 8 +81 272 8 +81 273 8 +81 274 8 +81 275 8 +81 276 8 +81 277 8 +81 278 8 +81 279 8 +81 280 8 +81 281 8 +81 282 8 +81 283 8 +81 284 8 +81 285 8 +81 286 8 +81 287 8 +81 288 8 +81 289 8 +81 290 8 +81 291 8 +81 292 8 +81 293 8 +81 294 8 +81 295 8 +81 296 8 +81 297 8 +81 298 8 +81 299 8 +81 300 8 +81 301 8 +81 302 8 +81 303 8 +81 304 8 +81 305 8 +81 306 8 +81 307 8 +81 308 8 +81 309 8 +81 310 8 +81 311 8 +81 312 8 +81 313 8 +81 314 8 +81 315 8 +81 316 8 +81 317 8 +81 318 8 +81 319 8 +81 320 8 +81 321 8 +81 322 8 +81 323 8 +81 324 8 +81 325 8 +81 326 8 +81 327 8 +81 328 8 +81 329 8 +81 330 8 +81 331 8 +81 332 8 +81 333 8 +81 334 8 +81 335 8 +81 336 8 +81 337 8 +81 338 8 +81 339 8 +81 340 8 +81 341 8 +81 342 8 +81 343 8 +81 344 8 +81 345 8 +81 346 8 +81 347 8 +81 348 8 +81 349 8 +81 350 0 +81 351 0 +81 352 0 +81 353 0 +81 354 0 +81 355 0 +81 356 0 +81 357 0 +81 358 0 +81 359 0 +81 360 0 +81 361 0 +81 362 0 +81 363 0 +81 364 0 +81 365 0 +81 366 0 +81 367 0 +81 368 0 +81 369 0 +81 370 0 +81 371 0 +81 372 0 +81 373 0 +81 374 0 +81 375 0 +81 376 0 +81 377 0 +81 378 0 +81 379 0 +81 380 0 +81 381 0 +81 382 0 +81 383 0 +82 83 8 +82 84 8 +82 85 8 +82 86 8 +82 87 8 +82 88 8 +82 89 8 +82 90 8 +82 91 8 +82 92 8 +82 93 8 +82 94 8 +82 95 8 +82 96 8 +82 97 8 +82 98 8 +82 99 8 +82 100 8 +82 101 8 +82 102 8 +82 103 8 +82 104 8 +82 105 8 +82 106 8 +82 107 8 +82 108 8 +82 109 8 +82 110 8 +82 111 8 +82 112 8 +82 113 8 +82 114 8 +82 115 8 +82 116 8 +82 117 8 +82 118 8 +82 119 8 +82 120 8 +82 121 8 +82 122 8 +82 123 8 +82 124 8 +82 125 8 +82 126 8 +82 127 8 +82 128 8 +82 129 8 +82 130 8 +82 131 8 +82 132 8 +82 133 8 +82 134 8 +82 135 8 +82 136 8 +82 137 8 +82 138 8 +82 139 8 +82 140 8 +82 141 8 +82 142 8 +82 143 8 +82 144 8 +82 145 8 +82 146 8 +82 147 8 +82 148 8 +82 149 8 +82 150 8 +82 151 8 +82 152 8 +82 153 8 +82 154 8 +82 155 8 +82 156 8 +82 157 8 +82 158 8 +82 159 8 +82 160 8 +82 161 8 +82 162 8 +82 163 8 +82 164 8 +82 165 8 +82 166 8 +82 167 8 +82 168 8 +82 169 8 +82 170 8 +82 171 8 +82 172 8 +82 173 8 +82 174 8 +82 175 8 +82 176 8 +82 177 8 +82 178 8 +82 179 8 +82 180 8 +82 181 8 +82 182 8 +82 183 8 +82 184 8 +82 185 8 +82 186 8 +82 187 8 +82 188 8 +82 189 8 +82 190 8 +82 191 8 +82 192 8 +82 193 8 +82 194 8 +82 195 8 +82 196 8 +82 197 8 +82 198 8 +82 199 8 +82 200 8 +82 201 8 +82 202 8 +82 203 8 +82 204 8 +82 205 8 +82 206 8 +82 207 8 +82 208 8 +82 209 8 +82 210 8 +82 211 8 +82 212 8 +82 213 8 +82 214 8 +82 215 8 +82 216 8 +82 217 8 +82 218 8 +82 219 8 +82 220 8 +82 221 8 +82 222 8 +82 223 8 +82 224 8 +82 225 8 +82 226 8 +82 227 8 +82 228 8 +82 229 8 +82 230 8 +82 231 8 +82 232 8 +82 233 8 +82 234 8 +82 235 8 +82 236 8 +82 237 8 +82 238 8 +82 239 8 +82 240 8 +82 241 8 +82 242 8 +82 243 8 +82 244 8 +82 245 8 +82 246 8 +82 247 8 +82 248 8 +82 249 8 +82 250 8 +82 251 8 +82 252 8 +82 253 8 +82 254 8 +82 255 8 +82 256 8 +82 257 8 +82 258 8 +82 259 8 +82 260 8 +82 261 8 +82 262 8 +82 263 8 +82 264 8 +82 265 8 +82 266 8 +82 267 8 +82 268 8 +82 269 8 +82 270 8 +82 271 8 +82 272 8 +82 273 8 +82 274 8 +82 275 8 +82 276 8 +82 277 8 +82 278 8 +82 279 8 +82 280 8 +82 281 8 +82 282 8 +82 283 8 +82 284 8 +82 285 8 +82 286 8 +82 287 8 +82 288 8 +82 289 8 +82 290 8 +82 291 8 +82 292 8 +82 293 8 +82 294 8 +82 295 8 +82 296 8 +82 297 8 +82 298 8 +82 299 8 +82 300 8 +82 301 8 +82 302 8 +82 303 8 +82 304 8 +82 305 8 +82 306 8 +82 307 8 +82 308 8 +82 309 8 +82 310 8 +82 311 8 +82 312 8 +82 313 8 +82 314 8 +82 315 8 +82 316 8 +82 317 8 +82 318 8 +82 319 8 +82 320 8 +82 321 8 +82 322 8 +82 323 8 +82 324 8 +82 325 8 +82 326 8 +82 327 8 +82 328 8 +82 329 8 +82 330 8 +82 331 8 +82 332 8 +82 333 8 +82 334 8 +82 335 8 +82 336 8 +82 337 8 +82 338 8 +82 339 8 +82 340 8 +82 341 8 +82 342 8 +82 343 8 +82 344 8 +82 345 8 +82 346 8 +82 347 8 +82 348 8 +82 349 8 +82 350 0 +82 351 0 +82 352 0 +82 353 0 +82 354 0 +82 355 0 +82 356 0 +82 357 0 +82 358 0 +82 359 0 +82 360 0 +82 361 0 +82 362 0 +82 363 0 +82 364 0 +82 365 0 +82 366 0 +82 367 0 +82 368 0 +82 369 0 +82 370 0 +82 371 0 +82 372 0 +82 373 0 +82 374 0 +82 375 0 +82 376 0 +82 377 0 +82 378 0 +82 379 0 +82 380 0 +82 381 0 +82 382 0 +82 383 0 +83 84 8 +83 85 8 +83 86 8 +83 87 8 +83 88 8 +83 89 8 +83 90 8 +83 91 8 +83 92 8 +83 93 8 +83 94 8 +83 95 8 +83 96 8 +83 97 8 +83 98 8 +83 99 8 +83 100 8 +83 101 8 +83 102 8 +83 103 8 +83 104 8 +83 105 8 +83 106 8 +83 107 8 +83 108 8 +83 109 8 +83 110 8 +83 111 8 +83 112 8 +83 113 8 +83 114 8 +83 115 8 +83 116 8 +83 117 8 +83 118 8 +83 119 8 +83 120 8 +83 121 8 +83 122 8 +83 123 8 +83 124 8 +83 125 8 +83 126 8 +83 127 8 +83 128 8 +83 129 8 +83 130 8 +83 131 8 +83 132 8 +83 133 8 +83 134 8 +83 135 8 +83 136 8 +83 137 8 +83 138 8 +83 139 8 +83 140 8 +83 141 8 +83 142 8 +83 143 8 +83 144 8 +83 145 8 +83 146 8 +83 147 8 +83 148 8 +83 149 8 +83 150 8 +83 151 8 +83 152 8 +83 153 8 +83 154 8 +83 155 8 +83 156 8 +83 157 8 +83 158 8 +83 159 8 +83 160 8 +83 161 8 +83 162 8 +83 163 8 +83 164 8 +83 165 8 +83 166 8 +83 167 8 +83 168 8 +83 169 8 +83 170 8 +83 171 8 +83 172 8 +83 173 8 +83 174 8 +83 175 8 +83 176 8 +83 177 8 +83 178 8 +83 179 8 +83 180 8 +83 181 8 +83 182 8 +83 183 8 +83 184 8 +83 185 8 +83 186 8 +83 187 8 +83 188 8 +83 189 8 +83 190 8 +83 191 8 +83 192 8 +83 193 8 +83 194 8 +83 195 8 +83 196 8 +83 197 8 +83 198 8 +83 199 8 +83 200 8 +83 201 8 +83 202 8 +83 203 8 +83 204 8 +83 205 8 +83 206 8 +83 207 8 +83 208 8 +83 209 8 +83 210 8 +83 211 8 +83 212 8 +83 213 8 +83 214 8 +83 215 8 +83 216 8 +83 217 8 +83 218 8 +83 219 8 +83 220 8 +83 221 8 +83 222 8 +83 223 8 +83 224 8 +83 225 8 +83 226 8 +83 227 8 +83 228 8 +83 229 8 +83 230 8 +83 231 8 +83 232 8 +83 233 8 +83 234 8 +83 235 8 +83 236 8 +83 237 8 +83 238 8 +83 239 8 +83 240 8 +83 241 8 +83 242 8 +83 243 8 +83 244 8 +83 245 8 +83 246 8 +83 247 8 +83 248 8 +83 249 8 +83 250 8 +83 251 8 +83 252 8 +83 253 8 +83 254 8 +83 255 8 +83 256 8 +83 257 8 +83 258 8 +83 259 8 +83 260 8 +83 261 8 +83 262 8 +83 263 8 +83 264 8 +83 265 8 +83 266 8 +83 267 8 +83 268 8 +83 269 8 +83 270 8 +83 271 8 +83 272 8 +83 273 8 +83 274 8 +83 275 8 +83 276 8 +83 277 8 +83 278 8 +83 279 8 +83 280 8 +83 281 8 +83 282 8 +83 283 8 +83 284 8 +83 285 8 +83 286 8 +83 287 8 +83 288 8 +83 289 8 +83 290 8 +83 291 8 +83 292 8 +83 293 8 +83 294 8 +83 295 8 +83 296 8 +83 297 8 +83 298 8 +83 299 8 +83 300 8 +83 301 8 +83 302 8 +83 303 8 +83 304 8 +83 305 8 +83 306 8 +83 307 8 +83 308 8 +83 309 8 +83 310 8 +83 311 8 +83 312 8 +83 313 8 +83 314 8 +83 315 8 +83 316 8 +83 317 8 +83 318 8 +83 319 8 +83 320 8 +83 321 8 +83 322 8 +83 323 8 +83 324 8 +83 325 8 +83 326 8 +83 327 8 +83 328 8 +83 329 8 +83 330 8 +83 331 8 +83 332 8 +83 333 8 +83 334 8 +83 335 8 +83 336 8 +83 337 8 +83 338 8 +83 339 8 +83 340 8 +83 341 8 +83 342 8 +83 343 8 +83 344 8 +83 345 8 +83 346 8 +83 347 8 +83 348 8 +83 349 8 +83 350 0 +83 351 0 +83 352 0 +83 353 0 +83 354 0 +83 355 0 +83 356 0 +83 357 0 +83 358 0 +83 359 0 +83 360 0 +83 361 0 +83 362 0 +83 363 0 +83 364 0 +83 365 0 +83 366 0 +83 367 0 +83 368 0 +83 369 0 +83 370 0 +83 371 0 +83 372 0 +83 373 0 +83 374 0 +83 375 0 +83 376 0 +83 377 0 +83 378 0 +83 379 0 +83 380 0 +83 381 0 +83 382 0 +83 383 0 +84 85 8 +84 86 8 +84 87 8 +84 88 8 +84 89 8 +84 90 8 +84 91 8 +84 92 8 +84 93 8 +84 94 8 +84 95 8 +84 96 8 +84 97 8 +84 98 8 +84 99 8 +84 100 8 +84 101 8 +84 102 8 +84 103 8 +84 104 8 +84 105 8 +84 106 8 +84 107 8 +84 108 8 +84 109 8 +84 110 8 +84 111 8 +84 112 8 +84 113 8 +84 114 8 +84 115 8 +84 116 8 +84 117 8 +84 118 8 +84 119 8 +84 120 8 +84 121 8 +84 122 8 +84 123 8 +84 124 8 +84 125 8 +84 126 8 +84 127 8 +84 128 8 +84 129 8 +84 130 8 +84 131 8 +84 132 8 +84 133 8 +84 134 8 +84 135 8 +84 136 8 +84 137 8 +84 138 8 +84 139 8 +84 140 8 +84 141 8 +84 142 8 +84 143 8 +84 144 8 +84 145 8 +84 146 8 +84 147 8 +84 148 8 +84 149 8 +84 150 8 +84 151 8 +84 152 8 +84 153 8 +84 154 8 +84 155 8 +84 156 8 +84 157 8 +84 158 8 +84 159 8 +84 160 8 +84 161 8 +84 162 8 +84 163 8 +84 164 8 +84 165 8 +84 166 8 +84 167 8 +84 168 8 +84 169 8 +84 170 8 +84 171 8 +84 172 8 +84 173 8 +84 174 8 +84 175 8 +84 176 8 +84 177 8 +84 178 8 +84 179 8 +84 180 8 +84 181 8 +84 182 8 +84 183 8 +84 184 8 +84 185 8 +84 186 8 +84 187 8 +84 188 8 +84 189 8 +84 190 8 +84 191 8 +84 192 8 +84 193 8 +84 194 8 +84 195 8 +84 196 8 +84 197 8 +84 198 8 +84 199 8 +84 200 8 +84 201 8 +84 202 8 +84 203 8 +84 204 8 +84 205 8 +84 206 8 +84 207 8 +84 208 8 +84 209 8 +84 210 8 +84 211 8 +84 212 8 +84 213 8 +84 214 8 +84 215 8 +84 216 8 +84 217 8 +84 218 8 +84 219 8 +84 220 8 +84 221 8 +84 222 8 +84 223 8 +84 224 8 +84 225 8 +84 226 8 +84 227 8 +84 228 8 +84 229 8 +84 230 8 +84 231 8 +84 232 8 +84 233 8 +84 234 8 +84 235 8 +84 236 8 +84 237 8 +84 238 8 +84 239 8 +84 240 8 +84 241 8 +84 242 8 +84 243 8 +84 244 8 +84 245 8 +84 246 8 +84 247 8 +84 248 8 +84 249 8 +84 250 8 +84 251 8 +84 252 8 +84 253 8 +84 254 8 +84 255 8 +84 256 8 +84 257 8 +84 258 8 +84 259 8 +84 260 8 +84 261 8 +84 262 8 +84 263 8 +84 264 8 +84 265 8 +84 266 8 +84 267 8 +84 268 8 +84 269 8 +84 270 8 +84 271 8 +84 272 8 +84 273 8 +84 274 8 +84 275 8 +84 276 8 +84 277 8 +84 278 8 +84 279 8 +84 280 8 +84 281 8 +84 282 8 +84 283 8 +84 284 8 +84 285 8 +84 286 8 +84 287 8 +84 288 8 +84 289 8 +84 290 8 +84 291 8 +84 292 8 +84 293 8 +84 294 8 +84 295 8 +84 296 8 +84 297 8 +84 298 8 +84 299 8 +84 300 8 +84 301 8 +84 302 8 +84 303 8 +84 304 8 +84 305 8 +84 306 8 +84 307 8 +84 308 8 +84 309 8 +84 310 8 +84 311 8 +84 312 8 +84 313 8 +84 314 8 +84 315 8 +84 316 8 +84 317 8 +84 318 8 +84 319 8 +84 320 8 +84 321 8 +84 322 8 +84 323 8 +84 324 8 +84 325 8 +84 326 8 +84 327 8 +84 328 8 +84 329 8 +84 330 8 +84 331 8 +84 332 8 +84 333 8 +84 334 8 +84 335 8 +84 336 8 +84 337 8 +84 338 8 +84 339 8 +84 340 8 +84 341 8 +84 342 8 +84 343 8 +84 344 8 +84 345 8 +84 346 8 +84 347 8 +84 348 8 +84 349 8 +84 350 0 +84 351 0 +84 352 0 +84 353 0 +84 354 0 +84 355 0 +84 356 0 +84 357 0 +84 358 0 +84 359 0 +84 360 0 +84 361 0 +84 362 0 +84 363 0 +84 364 0 +84 365 0 +84 366 0 +84 367 0 +84 368 0 +84 369 0 +84 370 0 +84 371 0 +84 372 0 +84 373 0 +84 374 0 +84 375 0 +84 376 0 +84 377 0 +84 378 0 +84 379 0 +84 380 0 +84 381 0 +84 382 0 +84 383 0 +85 86 8 +85 87 8 +85 88 8 +85 89 8 +85 90 8 +85 91 8 +85 92 8 +85 93 8 +85 94 8 +85 95 8 +85 96 8 +85 97 8 +85 98 8 +85 99 8 +85 100 8 +85 101 8 +85 102 8 +85 103 8 +85 104 8 +85 105 8 +85 106 8 +85 107 8 +85 108 8 +85 109 8 +85 110 8 +85 111 8 +85 112 8 +85 113 8 +85 114 8 +85 115 8 +85 116 8 +85 117 8 +85 118 8 +85 119 8 +85 120 8 +85 121 8 +85 122 8 +85 123 8 +85 124 8 +85 125 8 +85 126 8 +85 127 8 +85 128 8 +85 129 8 +85 130 8 +85 131 8 +85 132 8 +85 133 8 +85 134 8 +85 135 8 +85 136 8 +85 137 8 +85 138 8 +85 139 8 +85 140 8 +85 141 8 +85 142 8 +85 143 8 +85 144 8 +85 145 8 +85 146 8 +85 147 8 +85 148 8 +85 149 8 +85 150 8 +85 151 8 +85 152 8 +85 153 8 +85 154 8 +85 155 8 +85 156 8 +85 157 8 +85 158 8 +85 159 8 +85 160 8 +85 161 8 +85 162 8 +85 163 8 +85 164 8 +85 165 8 +85 166 8 +85 167 8 +85 168 8 +85 169 8 +85 170 8 +85 171 8 +85 172 8 +85 173 8 +85 174 8 +85 175 8 +85 176 8 +85 177 8 +85 178 8 +85 179 8 +85 180 8 +85 181 8 +85 182 8 +85 183 8 +85 184 8 +85 185 8 +85 186 8 +85 187 8 +85 188 8 +85 189 8 +85 190 8 +85 191 8 +85 192 8 +85 193 8 +85 194 8 +85 195 8 +85 196 8 +85 197 8 +85 198 8 +85 199 8 +85 200 8 +85 201 8 +85 202 8 +85 203 8 +85 204 8 +85 205 8 +85 206 8 +85 207 8 +85 208 8 +85 209 8 +85 210 8 +85 211 8 +85 212 8 +85 213 8 +85 214 8 +85 215 8 +85 216 8 +85 217 8 +85 218 8 +85 219 8 +85 220 8 +85 221 8 +85 222 8 +85 223 8 +85 224 8 +85 225 8 +85 226 8 +85 227 8 +85 228 8 +85 229 8 +85 230 8 +85 231 8 +85 232 8 +85 233 8 +85 234 8 +85 235 8 +85 236 8 +85 237 8 +85 238 8 +85 239 8 +85 240 8 +85 241 8 +85 242 8 +85 243 8 +85 244 8 +85 245 8 +85 246 8 +85 247 8 +85 248 8 +85 249 8 +85 250 8 +85 251 8 +85 252 8 +85 253 8 +85 254 8 +85 255 8 +85 256 8 +85 257 8 +85 258 8 +85 259 8 +85 260 8 +85 261 8 +85 262 8 +85 263 8 +85 264 8 +85 265 8 +85 266 8 +85 267 8 +85 268 8 +85 269 8 +85 270 8 +85 271 8 +85 272 8 +85 273 8 +85 274 8 +85 275 8 +85 276 8 +85 277 8 +85 278 8 +85 279 8 +85 280 8 +85 281 8 +85 282 8 +85 283 8 +85 284 8 +85 285 8 +85 286 8 +85 287 8 +85 288 8 +85 289 8 +85 290 8 +85 291 8 +85 292 8 +85 293 8 +85 294 8 +85 295 8 +85 296 8 +85 297 8 +85 298 8 +85 299 8 +85 300 8 +85 301 8 +85 302 8 +85 303 8 +85 304 8 +85 305 8 +85 306 8 +85 307 8 +85 308 8 +85 309 8 +85 310 8 +85 311 8 +85 312 8 +85 313 8 +85 314 8 +85 315 8 +85 316 8 +85 317 8 +85 318 8 +85 319 8 +85 320 8 +85 321 8 +85 322 8 +85 323 8 +85 324 8 +85 325 8 +85 326 8 +85 327 8 +85 328 8 +85 329 8 +85 330 8 +85 331 8 +85 332 8 +85 333 8 +85 334 8 +85 335 8 +85 336 8 +85 337 8 +85 338 8 +85 339 8 +85 340 8 +85 341 8 +85 342 8 +85 343 8 +85 344 8 +85 345 8 +85 346 8 +85 347 8 +85 348 8 +85 349 8 +85 350 0 +85 351 0 +85 352 0 +85 353 0 +85 354 0 +85 355 0 +85 356 0 +85 357 0 +85 358 0 +85 359 0 +85 360 0 +85 361 0 +85 362 0 +85 363 0 +85 364 0 +85 365 0 +85 366 0 +85 367 0 +85 368 0 +85 369 0 +85 370 0 +85 371 0 +85 372 0 +85 373 0 +85 374 0 +85 375 0 +85 376 0 +85 377 0 +85 378 0 +85 379 0 +85 380 0 +85 381 0 +85 382 0 +85 383 0 +86 87 8 +86 88 8 +86 89 8 +86 90 8 +86 91 8 +86 92 8 +86 93 8 +86 94 8 +86 95 8 +86 96 8 +86 97 8 +86 98 8 +86 99 8 +86 100 8 +86 101 8 +86 102 8 +86 103 8 +86 104 8 +86 105 8 +86 106 8 +86 107 8 +86 108 8 +86 109 8 +86 110 8 +86 111 8 +86 112 8 +86 113 8 +86 114 8 +86 115 8 +86 116 8 +86 117 8 +86 118 8 +86 119 8 +86 120 8 +86 121 8 +86 122 8 +86 123 8 +86 124 8 +86 125 8 +86 126 8 +86 127 8 +86 128 8 +86 129 8 +86 130 8 +86 131 8 +86 132 8 +86 133 8 +86 134 8 +86 135 8 +86 136 8 +86 137 8 +86 138 8 +86 139 8 +86 140 8 +86 141 8 +86 142 8 +86 143 8 +86 144 8 +86 145 8 +86 146 8 +86 147 8 +86 148 8 +86 149 8 +86 150 8 +86 151 8 +86 152 8 +86 153 8 +86 154 8 +86 155 8 +86 156 8 +86 157 8 +86 158 8 +86 159 8 +86 160 8 +86 161 8 +86 162 8 +86 163 8 +86 164 8 +86 165 8 +86 166 8 +86 167 8 +86 168 8 +86 169 8 +86 170 8 +86 171 8 +86 172 8 +86 173 8 +86 174 8 +86 175 8 +86 176 8 +86 177 8 +86 178 8 +86 179 8 +86 180 8 +86 181 8 +86 182 8 +86 183 8 +86 184 8 +86 185 8 +86 186 8 +86 187 8 +86 188 8 +86 189 8 +86 190 8 +86 191 8 +86 192 8 +86 193 8 +86 194 8 +86 195 8 +86 196 8 +86 197 8 +86 198 8 +86 199 8 +86 200 8 +86 201 8 +86 202 8 +86 203 8 +86 204 8 +86 205 8 +86 206 8 +86 207 8 +86 208 8 +86 209 8 +86 210 8 +86 211 8 +86 212 8 +86 213 8 +86 214 8 +86 215 8 +86 216 8 +86 217 8 +86 218 8 +86 219 8 +86 220 8 +86 221 8 +86 222 8 +86 223 8 +86 224 8 +86 225 8 +86 226 8 +86 227 8 +86 228 8 +86 229 8 +86 230 8 +86 231 8 +86 232 8 +86 233 8 +86 234 8 +86 235 8 +86 236 8 +86 237 8 +86 238 8 +86 239 8 +86 240 8 +86 241 8 +86 242 8 +86 243 8 +86 244 8 +86 245 8 +86 246 8 +86 247 8 +86 248 8 +86 249 8 +86 250 8 +86 251 8 +86 252 8 +86 253 8 +86 254 8 +86 255 8 +86 256 8 +86 257 8 +86 258 8 +86 259 8 +86 260 8 +86 261 8 +86 262 8 +86 263 8 +86 264 8 +86 265 8 +86 266 8 +86 267 8 +86 268 8 +86 269 8 +86 270 8 +86 271 8 +86 272 8 +86 273 8 +86 274 8 +86 275 8 +86 276 8 +86 277 8 +86 278 8 +86 279 8 +86 280 8 +86 281 8 +86 282 8 +86 283 8 +86 284 8 +86 285 8 +86 286 8 +86 287 8 +86 288 8 +86 289 8 +86 290 8 +86 291 8 +86 292 8 +86 293 8 +86 294 8 +86 295 8 +86 296 8 +86 297 8 +86 298 8 +86 299 8 +86 300 8 +86 301 8 +86 302 8 +86 303 8 +86 304 8 +86 305 8 +86 306 8 +86 307 8 +86 308 8 +86 309 8 +86 310 8 +86 311 8 +86 312 8 +86 313 8 +86 314 8 +86 315 8 +86 316 8 +86 317 8 +86 318 8 +86 319 8 +86 320 8 +86 321 8 +86 322 8 +86 323 8 +86 324 8 +86 325 8 +86 326 8 +86 327 8 +86 328 8 +86 329 8 +86 330 8 +86 331 8 +86 332 8 +86 333 8 +86 334 8 +86 335 8 +86 336 8 +86 337 8 +86 338 8 +86 339 8 +86 340 8 +86 341 8 +86 342 8 +86 343 8 +86 344 8 +86 345 8 +86 346 8 +86 347 8 +86 348 8 +86 349 8 +86 350 0 +86 351 0 +86 352 0 +86 353 0 +86 354 0 +86 355 0 +86 356 0 +86 357 0 +86 358 0 +86 359 0 +86 360 0 +86 361 0 +86 362 0 +86 363 0 +86 364 0 +86 365 0 +86 366 0 +86 367 0 +86 368 0 +86 369 0 +86 370 0 +86 371 0 +86 372 0 +86 373 0 +86 374 0 +86 375 0 +86 376 0 +86 377 0 +86 378 0 +86 379 0 +86 380 0 +86 381 0 +86 382 0 +86 383 0 +87 88 8 +87 89 8 +87 90 8 +87 91 8 +87 92 8 +87 93 8 +87 94 8 +87 95 8 +87 96 8 +87 97 8 +87 98 8 +87 99 8 +87 100 8 +87 101 8 +87 102 8 +87 103 8 +87 104 8 +87 105 8 +87 106 8 +87 107 8 +87 108 8 +87 109 8 +87 110 8 +87 111 8 +87 112 8 +87 113 8 +87 114 8 +87 115 8 +87 116 8 +87 117 8 +87 118 8 +87 119 8 +87 120 8 +87 121 8 +87 122 8 +87 123 8 +87 124 8 +87 125 8 +87 126 8 +87 127 8 +87 128 8 +87 129 8 +87 130 8 +87 131 8 +87 132 8 +87 133 8 +87 134 8 +87 135 8 +87 136 8 +87 137 8 +87 138 8 +87 139 8 +87 140 8 +87 141 8 +87 142 8 +87 143 8 +87 144 8 +87 145 8 +87 146 8 +87 147 8 +87 148 8 +87 149 8 +87 150 8 +87 151 8 +87 152 8 +87 153 8 +87 154 8 +87 155 8 +87 156 8 +87 157 8 +87 158 8 +87 159 8 +87 160 8 +87 161 8 +87 162 8 +87 163 8 +87 164 8 +87 165 8 +87 166 8 +87 167 8 +87 168 8 +87 169 8 +87 170 8 +87 171 8 +87 172 8 +87 173 8 +87 174 8 +87 175 8 +87 176 8 +87 177 8 +87 178 8 +87 179 8 +87 180 8 +87 181 8 +87 182 8 +87 183 8 +87 184 8 +87 185 8 +87 186 8 +87 187 8 +87 188 8 +87 189 8 +87 190 8 +87 191 8 +87 192 8 +87 193 8 +87 194 8 +87 195 8 +87 196 8 +87 197 8 +87 198 8 +87 199 8 +87 200 8 +87 201 8 +87 202 8 +87 203 8 +87 204 8 +87 205 8 +87 206 8 +87 207 8 +87 208 8 +87 209 8 +87 210 8 +87 211 8 +87 212 8 +87 213 8 +87 214 8 +87 215 8 +87 216 8 +87 217 8 +87 218 8 +87 219 8 +87 220 8 +87 221 8 +87 222 8 +87 223 8 +87 224 8 +87 225 8 +87 226 8 +87 227 8 +87 228 8 +87 229 8 +87 230 8 +87 231 8 +87 232 8 +87 233 8 +87 234 8 +87 235 8 +87 236 8 +87 237 8 +87 238 8 +87 239 8 +87 240 8 +87 241 8 +87 242 8 +87 243 8 +87 244 8 +87 245 8 +87 246 8 +87 247 8 +87 248 8 +87 249 8 +87 250 8 +87 251 8 +87 252 8 +87 253 8 +87 254 8 +87 255 8 +87 256 8 +87 257 8 +87 258 8 +87 259 8 +87 260 8 +87 261 8 +87 262 8 +87 263 8 +87 264 8 +87 265 8 +87 266 8 +87 267 8 +87 268 8 +87 269 8 +87 270 8 +87 271 8 +87 272 8 +87 273 8 +87 274 8 +87 275 8 +87 276 8 +87 277 8 +87 278 8 +87 279 8 +87 280 8 +87 281 8 +87 282 8 +87 283 8 +87 284 8 +87 285 8 +87 286 8 +87 287 8 +87 288 8 +87 289 8 +87 290 8 +87 291 8 +87 292 8 +87 293 8 +87 294 8 +87 295 8 +87 296 8 +87 297 8 +87 298 8 +87 299 8 +87 300 8 +87 301 8 +87 302 8 +87 303 8 +87 304 8 +87 305 8 +87 306 8 +87 307 8 +87 308 8 +87 309 8 +87 310 8 +87 311 8 +87 312 8 +87 313 8 +87 314 8 +87 315 8 +87 316 8 +87 317 8 +87 318 8 +87 319 8 +87 320 8 +87 321 8 +87 322 8 +87 323 8 +87 324 8 +87 325 8 +87 326 8 +87 327 8 +87 328 8 +87 329 8 +87 330 8 +87 331 8 +87 332 8 +87 333 8 +87 334 8 +87 335 8 +87 336 8 +87 337 8 +87 338 8 +87 339 8 +87 340 8 +87 341 8 +87 342 8 +87 343 8 +87 344 8 +87 345 8 +87 346 8 +87 347 8 +87 348 8 +87 349 8 +87 350 0 +87 351 0 +87 352 0 +87 353 0 +87 354 0 +87 355 0 +87 356 0 +87 357 0 +87 358 0 +87 359 0 +87 360 0 +87 361 0 +87 362 0 +87 363 0 +87 364 0 +87 365 0 +87 366 0 +87 367 0 +87 368 0 +87 369 0 +87 370 0 +87 371 0 +87 372 0 +87 373 0 +87 374 0 +87 375 0 +87 376 0 +87 377 0 +87 378 0 +87 379 0 +87 380 0 +87 381 0 +87 382 0 +87 383 0 +88 89 8 +88 90 8 +88 91 8 +88 92 8 +88 93 8 +88 94 8 +88 95 8 +88 96 8 +88 97 8 +88 98 8 +88 99 8 +88 100 8 +88 101 8 +88 102 8 +88 103 8 +88 104 8 +88 105 8 +88 106 8 +88 107 8 +88 108 8 +88 109 8 +88 110 8 +88 111 8 +88 112 8 +88 113 8 +88 114 8 +88 115 8 +88 116 8 +88 117 8 +88 118 8 +88 119 8 +88 120 8 +88 121 8 +88 122 8 +88 123 8 +88 124 8 +88 125 8 +88 126 8 +88 127 8 +88 128 8 +88 129 8 +88 130 8 +88 131 8 +88 132 8 +88 133 8 +88 134 8 +88 135 8 +88 136 8 +88 137 8 +88 138 8 +88 139 8 +88 140 8 +88 141 8 +88 142 8 +88 143 8 +88 144 8 +88 145 8 +88 146 8 +88 147 8 +88 148 8 +88 149 8 +88 150 8 +88 151 8 +88 152 8 +88 153 8 +88 154 8 +88 155 8 +88 156 8 +88 157 8 +88 158 8 +88 159 8 +88 160 8 +88 161 8 +88 162 8 +88 163 8 +88 164 8 +88 165 8 +88 166 8 +88 167 8 +88 168 8 +88 169 8 +88 170 8 +88 171 8 +88 172 8 +88 173 8 +88 174 8 +88 175 8 +88 176 8 +88 177 8 +88 178 8 +88 179 8 +88 180 8 +88 181 8 +88 182 8 +88 183 8 +88 184 8 +88 185 8 +88 186 8 +88 187 8 +88 188 8 +88 189 8 +88 190 8 +88 191 8 +88 192 8 +88 193 8 +88 194 8 +88 195 8 +88 196 8 +88 197 8 +88 198 8 +88 199 8 +88 200 8 +88 201 8 +88 202 8 +88 203 8 +88 204 8 +88 205 8 +88 206 8 +88 207 8 +88 208 8 +88 209 8 +88 210 8 +88 211 8 +88 212 8 +88 213 8 +88 214 8 +88 215 8 +88 216 8 +88 217 8 +88 218 8 +88 219 8 +88 220 8 +88 221 8 +88 222 8 +88 223 8 +88 224 8 +88 225 8 +88 226 8 +88 227 8 +88 228 8 +88 229 8 +88 230 8 +88 231 8 +88 232 8 +88 233 8 +88 234 8 +88 235 8 +88 236 8 +88 237 8 +88 238 8 +88 239 8 +88 240 8 +88 241 8 +88 242 8 +88 243 8 +88 244 8 +88 245 8 +88 246 8 +88 247 8 +88 248 8 +88 249 8 +88 250 8 +88 251 8 +88 252 8 +88 253 8 +88 254 8 +88 255 8 +88 256 8 +88 257 8 +88 258 8 +88 259 8 +88 260 8 +88 261 8 +88 262 8 +88 263 8 +88 264 8 +88 265 8 +88 266 8 +88 267 8 +88 268 8 +88 269 8 +88 270 8 +88 271 8 +88 272 8 +88 273 8 +88 274 8 +88 275 8 +88 276 8 +88 277 8 +88 278 8 +88 279 8 +88 280 8 +88 281 8 +88 282 8 +88 283 8 +88 284 8 +88 285 8 +88 286 8 +88 287 8 +88 288 8 +88 289 8 +88 290 8 +88 291 8 +88 292 8 +88 293 8 +88 294 8 +88 295 8 +88 296 8 +88 297 8 +88 298 8 +88 299 8 +88 300 8 +88 301 8 +88 302 8 +88 303 8 +88 304 8 +88 305 8 +88 306 8 +88 307 8 +88 308 8 +88 309 8 +88 310 8 +88 311 8 +88 312 8 +88 313 8 +88 314 8 +88 315 8 +88 316 8 +88 317 8 +88 318 8 +88 319 8 +88 320 8 +88 321 8 +88 322 8 +88 323 8 +88 324 8 +88 325 8 +88 326 8 +88 327 8 +88 328 8 +88 329 8 +88 330 8 +88 331 8 +88 332 8 +88 333 8 +88 334 8 +88 335 8 +88 336 8 +88 337 8 +88 338 8 +88 339 8 +88 340 8 +88 341 8 +88 342 8 +88 343 8 +88 344 8 +88 345 8 +88 346 8 +88 347 8 +88 348 8 +88 349 8 +88 350 0 +88 351 0 +88 352 0 +88 353 0 +88 354 0 +88 355 0 +88 356 0 +88 357 0 +88 358 0 +88 359 0 +88 360 0 +88 361 0 +88 362 0 +88 363 0 +88 364 0 +88 365 0 +88 366 0 +88 367 0 +88 368 0 +88 369 0 +88 370 0 +88 371 0 +88 372 0 +88 373 0 +88 374 0 +88 375 0 +88 376 0 +88 377 0 +88 378 0 +88 379 0 +88 380 0 +88 381 0 +88 382 0 +88 383 0 +89 90 8 +89 91 8 +89 92 8 +89 93 8 +89 94 8 +89 95 8 +89 96 8 +89 97 8 +89 98 8 +89 99 8 +89 100 8 +89 101 8 +89 102 8 +89 103 8 +89 104 8 +89 105 8 +89 106 8 +89 107 8 +89 108 8 +89 109 8 +89 110 8 +89 111 8 +89 112 8 +89 113 8 +89 114 8 +89 115 8 +89 116 8 +89 117 8 +89 118 8 +89 119 8 +89 120 8 +89 121 8 +89 122 8 +89 123 8 +89 124 8 +89 125 8 +89 126 8 +89 127 8 +89 128 8 +89 129 8 +89 130 8 +89 131 8 +89 132 8 +89 133 8 +89 134 8 +89 135 8 +89 136 8 +89 137 8 +89 138 8 +89 139 8 +89 140 8 +89 141 8 +89 142 8 +89 143 8 +89 144 8 +89 145 8 +89 146 8 +89 147 8 +89 148 8 +89 149 8 +89 150 8 +89 151 8 +89 152 8 +89 153 8 +89 154 8 +89 155 8 +89 156 8 +89 157 8 +89 158 8 +89 159 8 +89 160 8 +89 161 8 +89 162 8 +89 163 8 +89 164 8 +89 165 8 +89 166 8 +89 167 8 +89 168 8 +89 169 8 +89 170 8 +89 171 8 +89 172 8 +89 173 8 +89 174 8 +89 175 8 +89 176 8 +89 177 8 +89 178 8 +89 179 8 +89 180 8 +89 181 8 +89 182 8 +89 183 8 +89 184 8 +89 185 8 +89 186 8 +89 187 8 +89 188 8 +89 189 8 +89 190 8 +89 191 8 +89 192 8 +89 193 8 +89 194 8 +89 195 8 +89 196 8 +89 197 8 +89 198 8 +89 199 8 +89 200 8 +89 201 8 +89 202 8 +89 203 8 +89 204 8 +89 205 8 +89 206 8 +89 207 8 +89 208 8 +89 209 8 +89 210 8 +89 211 8 +89 212 8 +89 213 8 +89 214 8 +89 215 8 +89 216 8 +89 217 8 +89 218 8 +89 219 8 +89 220 8 +89 221 8 +89 222 8 +89 223 8 +89 224 8 +89 225 8 +89 226 8 +89 227 8 +89 228 8 +89 229 8 +89 230 8 +89 231 8 +89 232 8 +89 233 8 +89 234 8 +89 235 8 +89 236 8 +89 237 8 +89 238 8 +89 239 8 +89 240 8 +89 241 8 +89 242 8 +89 243 8 +89 244 8 +89 245 8 +89 246 8 +89 247 8 +89 248 8 +89 249 8 +89 250 8 +89 251 8 +89 252 8 +89 253 8 +89 254 8 +89 255 8 +89 256 8 +89 257 8 +89 258 8 +89 259 8 +89 260 8 +89 261 8 +89 262 8 +89 263 8 +89 264 8 +89 265 8 +89 266 8 +89 267 8 +89 268 8 +89 269 8 +89 270 8 +89 271 8 +89 272 8 +89 273 8 +89 274 8 +89 275 8 +89 276 8 +89 277 8 +89 278 8 +89 279 8 +89 280 8 +89 281 8 +89 282 8 +89 283 8 +89 284 8 +89 285 8 +89 286 8 +89 287 8 +89 288 8 +89 289 8 +89 290 8 +89 291 8 +89 292 8 +89 293 8 +89 294 8 +89 295 8 +89 296 8 +89 297 8 +89 298 8 +89 299 8 +89 300 8 +89 301 8 +89 302 8 +89 303 8 +89 304 8 +89 305 8 +89 306 8 +89 307 8 +89 308 8 +89 309 8 +89 310 8 +89 311 8 +89 312 8 +89 313 8 +89 314 8 +89 315 8 +89 316 8 +89 317 8 +89 318 8 +89 319 8 +89 320 8 +89 321 8 +89 322 8 +89 323 8 +89 324 8 +89 325 8 +89 326 8 +89 327 8 +89 328 8 +89 329 8 +89 330 8 +89 331 8 +89 332 8 +89 333 8 +89 334 8 +89 335 8 +89 336 8 +89 337 8 +89 338 8 +89 339 8 +89 340 8 +89 341 8 +89 342 8 +89 343 8 +89 344 8 +89 345 8 +89 346 8 +89 347 8 +89 348 8 +89 349 8 +89 350 0 +89 351 0 +89 352 0 +89 353 0 +89 354 0 +89 355 0 +89 356 0 +89 357 0 +89 358 0 +89 359 0 +89 360 0 +89 361 0 +89 362 0 +89 363 0 +89 364 0 +89 365 0 +89 366 0 +89 367 0 +89 368 0 +89 369 0 +89 370 0 +89 371 0 +89 372 0 +89 373 0 +89 374 0 +89 375 0 +89 376 0 +89 377 0 +89 378 0 +89 379 0 +89 380 0 +89 381 0 +89 382 0 +89 383 0 +90 91 8 +90 92 8 +90 93 8 +90 94 8 +90 95 8 +90 96 8 +90 97 8 +90 98 8 +90 99 8 +90 100 8 +90 101 8 +90 102 8 +90 103 8 +90 104 8 +90 105 8 +90 106 8 +90 107 8 +90 108 8 +90 109 8 +90 110 8 +90 111 8 +90 112 8 +90 113 8 +90 114 8 +90 115 8 +90 116 8 +90 117 8 +90 118 8 +90 119 8 +90 120 8 +90 121 8 +90 122 8 +90 123 8 +90 124 8 +90 125 8 +90 126 8 +90 127 8 +90 128 8 +90 129 8 +90 130 8 +90 131 8 +90 132 8 +90 133 8 +90 134 8 +90 135 8 +90 136 8 +90 137 8 +90 138 8 +90 139 8 +90 140 8 +90 141 8 +90 142 8 +90 143 8 +90 144 8 +90 145 8 +90 146 8 +90 147 8 +90 148 8 +90 149 8 +90 150 8 +90 151 8 +90 152 8 +90 153 8 +90 154 8 +90 155 8 +90 156 8 +90 157 8 +90 158 8 +90 159 8 +90 160 8 +90 161 8 +90 162 8 +90 163 8 +90 164 8 +90 165 8 +90 166 8 +90 167 8 +90 168 8 +90 169 8 +90 170 8 +90 171 8 +90 172 8 +90 173 8 +90 174 8 +90 175 8 +90 176 8 +90 177 8 +90 178 8 +90 179 8 +90 180 8 +90 181 8 +90 182 8 +90 183 8 +90 184 8 +90 185 8 +90 186 8 +90 187 8 +90 188 8 +90 189 8 +90 190 8 +90 191 8 +90 192 8 +90 193 8 +90 194 8 +90 195 8 +90 196 8 +90 197 8 +90 198 8 +90 199 8 +90 200 8 +90 201 8 +90 202 8 +90 203 8 +90 204 8 +90 205 8 +90 206 8 +90 207 8 +90 208 8 +90 209 8 +90 210 8 +90 211 8 +90 212 8 +90 213 8 +90 214 8 +90 215 8 +90 216 8 +90 217 8 +90 218 8 +90 219 8 +90 220 8 +90 221 8 +90 222 8 +90 223 8 +90 224 8 +90 225 8 +90 226 8 +90 227 8 +90 228 8 +90 229 8 +90 230 8 +90 231 8 +90 232 8 +90 233 8 +90 234 8 +90 235 8 +90 236 8 +90 237 8 +90 238 8 +90 239 8 +90 240 8 +90 241 8 +90 242 8 +90 243 8 +90 244 8 +90 245 8 +90 246 8 +90 247 8 +90 248 8 +90 249 8 +90 250 8 +90 251 8 +90 252 8 +90 253 8 +90 254 8 +90 255 8 +90 256 8 +90 257 8 +90 258 8 +90 259 8 +90 260 8 +90 261 8 +90 262 8 +90 263 8 +90 264 8 +90 265 8 +90 266 8 +90 267 8 +90 268 8 +90 269 8 +90 270 8 +90 271 8 +90 272 8 +90 273 8 +90 274 8 +90 275 8 +90 276 8 +90 277 8 +90 278 8 +90 279 8 +90 280 8 +90 281 8 +90 282 8 +90 283 8 +90 284 8 +90 285 8 +90 286 8 +90 287 8 +90 288 8 +90 289 8 +90 290 8 +90 291 8 +90 292 8 +90 293 8 +90 294 8 +90 295 8 +90 296 8 +90 297 8 +90 298 8 +90 299 8 +90 300 8 +90 301 8 +90 302 8 +90 303 8 +90 304 8 +90 305 8 +90 306 8 +90 307 8 +90 308 8 +90 309 8 +90 310 8 +90 311 8 +90 312 8 +90 313 8 +90 314 8 +90 315 8 +90 316 8 +90 317 8 +90 318 8 +90 319 8 +90 320 8 +90 321 8 +90 322 8 +90 323 8 +90 324 8 +90 325 8 +90 326 8 +90 327 8 +90 328 8 +90 329 8 +90 330 8 +90 331 8 +90 332 8 +90 333 8 +90 334 8 +90 335 8 +90 336 8 +90 337 8 +90 338 8 +90 339 8 +90 340 8 +90 341 8 +90 342 8 +90 343 8 +90 344 8 +90 345 8 +90 346 8 +90 347 8 +90 348 8 +90 349 8 +90 350 0 +90 351 0 +90 352 0 +90 353 0 +90 354 0 +90 355 0 +90 356 0 +90 357 0 +90 358 0 +90 359 0 +90 360 0 +90 361 0 +90 362 0 +90 363 0 +90 364 0 +90 365 0 +90 366 0 +90 367 0 +90 368 0 +90 369 0 +90 370 0 +90 371 0 +90 372 0 +90 373 0 +90 374 0 +90 375 0 +90 376 0 +90 377 0 +90 378 0 +90 379 0 +90 380 0 +90 381 0 +90 382 0 +90 383 0 +91 92 8 +91 93 8 +91 94 8 +91 95 8 +91 96 8 +91 97 8 +91 98 8 +91 99 8 +91 100 8 +91 101 8 +91 102 8 +91 103 8 +91 104 8 +91 105 8 +91 106 8 +91 107 8 +91 108 8 +91 109 8 +91 110 8 +91 111 8 +91 112 8 +91 113 8 +91 114 8 +91 115 8 +91 116 8 +91 117 8 +91 118 8 +91 119 8 +91 120 8 +91 121 8 +91 122 8 +91 123 8 +91 124 8 +91 125 8 +91 126 8 +91 127 8 +91 128 8 +91 129 8 +91 130 8 +91 131 8 +91 132 8 +91 133 8 +91 134 8 +91 135 8 +91 136 8 +91 137 8 +91 138 8 +91 139 8 +91 140 8 +91 141 8 +91 142 8 +91 143 8 +91 144 8 +91 145 8 +91 146 8 +91 147 8 +91 148 8 +91 149 8 +91 150 8 +91 151 8 +91 152 8 +91 153 8 +91 154 8 +91 155 8 +91 156 8 +91 157 8 +91 158 8 +91 159 8 +91 160 8 +91 161 8 +91 162 8 +91 163 8 +91 164 8 +91 165 8 +91 166 8 +91 167 8 +91 168 8 +91 169 8 +91 170 8 +91 171 8 +91 172 8 +91 173 8 +91 174 8 +91 175 8 +91 176 8 +91 177 8 +91 178 8 +91 179 8 +91 180 8 +91 181 8 +91 182 8 +91 183 8 +91 184 8 +91 185 8 +91 186 8 +91 187 8 +91 188 8 +91 189 8 +91 190 8 +91 191 8 +91 192 8 +91 193 8 +91 194 8 +91 195 8 +91 196 8 +91 197 8 +91 198 8 +91 199 8 +91 200 8 +91 201 8 +91 202 8 +91 203 8 +91 204 8 +91 205 8 +91 206 8 +91 207 8 +91 208 8 +91 209 8 +91 210 8 +91 211 8 +91 212 8 +91 213 8 +91 214 8 +91 215 8 +91 216 8 +91 217 8 +91 218 8 +91 219 8 +91 220 8 +91 221 8 +91 222 8 +91 223 8 +91 224 8 +91 225 8 +91 226 8 +91 227 8 +91 228 8 +91 229 8 +91 230 8 +91 231 8 +91 232 8 +91 233 8 +91 234 8 +91 235 8 +91 236 8 +91 237 8 +91 238 8 +91 239 8 +91 240 8 +91 241 8 +91 242 8 +91 243 8 +91 244 8 +91 245 8 +91 246 8 +91 247 8 +91 248 8 +91 249 8 +91 250 8 +91 251 8 +91 252 8 +91 253 8 +91 254 8 +91 255 8 +91 256 8 +91 257 8 +91 258 8 +91 259 8 +91 260 8 +91 261 8 +91 262 8 +91 263 8 +91 264 8 +91 265 8 +91 266 8 +91 267 8 +91 268 8 +91 269 8 +91 270 8 +91 271 8 +91 272 8 +91 273 8 +91 274 8 +91 275 8 +91 276 8 +91 277 8 +91 278 8 +91 279 8 +91 280 8 +91 281 8 +91 282 8 +91 283 8 +91 284 8 +91 285 8 +91 286 8 +91 287 8 +91 288 8 +91 289 8 +91 290 8 +91 291 8 +91 292 8 +91 293 8 +91 294 8 +91 295 8 +91 296 8 +91 297 8 +91 298 8 +91 299 8 +91 300 8 +91 301 8 +91 302 8 +91 303 8 +91 304 8 +91 305 8 +91 306 8 +91 307 8 +91 308 8 +91 309 8 +91 310 8 +91 311 8 +91 312 8 +91 313 8 +91 314 8 +91 315 8 +91 316 8 +91 317 8 +91 318 8 +91 319 8 +91 320 8 +91 321 8 +91 322 8 +91 323 8 +91 324 8 +91 325 8 +91 326 8 +91 327 8 +91 328 8 +91 329 8 +91 330 8 +91 331 8 +91 332 8 +91 333 8 +91 334 8 +91 335 8 +91 336 8 +91 337 8 +91 338 8 +91 339 8 +91 340 8 +91 341 8 +91 342 8 +91 343 8 +91 344 8 +91 345 8 +91 346 8 +91 347 8 +91 348 8 +91 349 8 +91 350 0 +91 351 0 +91 352 0 +91 353 0 +91 354 0 +91 355 0 +91 356 0 +91 357 0 +91 358 0 +91 359 0 +91 360 0 +91 361 0 +91 362 0 +91 363 0 +91 364 0 +91 365 0 +91 366 0 +91 367 0 +91 368 0 +91 369 0 +91 370 0 +91 371 0 +91 372 0 +91 373 0 +91 374 0 +91 375 0 +91 376 0 +91 377 0 +91 378 0 +91 379 0 +91 380 0 +91 381 0 +91 382 0 +91 383 0 +92 93 8 +92 94 8 +92 95 8 +92 96 8 +92 97 8 +92 98 8 +92 99 8 +92 100 8 +92 101 8 +92 102 8 +92 103 8 +92 104 8 +92 105 8 +92 106 8 +92 107 8 +92 108 8 +92 109 8 +92 110 8 +92 111 8 +92 112 8 +92 113 8 +92 114 8 +92 115 8 +92 116 8 +92 117 8 +92 118 8 +92 119 8 +92 120 8 +92 121 8 +92 122 8 +92 123 8 +92 124 8 +92 125 8 +92 126 8 +92 127 8 +92 128 8 +92 129 8 +92 130 8 +92 131 8 +92 132 8 +92 133 8 +92 134 8 +92 135 8 +92 136 8 +92 137 8 +92 138 8 +92 139 8 +92 140 8 +92 141 8 +92 142 8 +92 143 8 +92 144 8 +92 145 8 +92 146 8 +92 147 8 +92 148 8 +92 149 8 +92 150 8 +92 151 8 +92 152 8 +92 153 8 +92 154 8 +92 155 8 +92 156 8 +92 157 8 +92 158 8 +92 159 8 +92 160 8 +92 161 8 +92 162 8 +92 163 8 +92 164 8 +92 165 8 +92 166 8 +92 167 8 +92 168 8 +92 169 8 +92 170 8 +92 171 8 +92 172 8 +92 173 8 +92 174 8 +92 175 8 +92 176 8 +92 177 8 +92 178 8 +92 179 8 +92 180 8 +92 181 8 +92 182 8 +92 183 8 +92 184 8 +92 185 8 +92 186 8 +92 187 8 +92 188 8 +92 189 8 +92 190 8 +92 191 8 +92 192 8 +92 193 8 +92 194 8 +92 195 8 +92 196 8 +92 197 8 +92 198 8 +92 199 8 +92 200 8 +92 201 8 +92 202 8 +92 203 8 +92 204 8 +92 205 8 +92 206 8 +92 207 8 +92 208 8 +92 209 8 +92 210 8 +92 211 8 +92 212 8 +92 213 8 +92 214 8 +92 215 8 +92 216 8 +92 217 8 +92 218 8 +92 219 8 +92 220 8 +92 221 8 +92 222 8 +92 223 8 +92 224 8 +92 225 8 +92 226 8 +92 227 8 +92 228 8 +92 229 8 +92 230 8 +92 231 8 +92 232 8 +92 233 8 +92 234 8 +92 235 8 +92 236 8 +92 237 8 +92 238 8 +92 239 8 +92 240 8 +92 241 8 +92 242 8 +92 243 8 +92 244 8 +92 245 8 +92 246 8 +92 247 8 +92 248 8 +92 249 8 +92 250 8 +92 251 8 +92 252 8 +92 253 8 +92 254 8 +92 255 8 +92 256 8 +92 257 8 +92 258 8 +92 259 8 +92 260 8 +92 261 8 +92 262 8 +92 263 8 +92 264 8 +92 265 8 +92 266 8 +92 267 8 +92 268 8 +92 269 8 +92 270 8 +92 271 8 +92 272 8 +92 273 8 +92 274 8 +92 275 8 +92 276 8 +92 277 8 +92 278 8 +92 279 8 +92 280 8 +92 281 8 +92 282 8 +92 283 8 +92 284 8 +92 285 8 +92 286 8 +92 287 8 +92 288 8 +92 289 8 +92 290 8 +92 291 8 +92 292 8 +92 293 8 +92 294 8 +92 295 8 +92 296 8 +92 297 8 +92 298 8 +92 299 8 +92 300 8 +92 301 8 +92 302 8 +92 303 8 +92 304 8 +92 305 8 +92 306 8 +92 307 8 +92 308 8 +92 309 8 +92 310 8 +92 311 8 +92 312 8 +92 313 8 +92 314 8 +92 315 8 +92 316 8 +92 317 8 +92 318 8 +92 319 8 +92 320 8 +92 321 8 +92 322 8 +92 323 8 +92 324 8 +92 325 8 +92 326 8 +92 327 8 +92 328 8 +92 329 8 +92 330 8 +92 331 8 +92 332 8 +92 333 8 +92 334 8 +92 335 8 +92 336 8 +92 337 8 +92 338 8 +92 339 8 +92 340 8 +92 341 8 +92 342 8 +92 343 8 +92 344 8 +92 345 8 +92 346 8 +92 347 8 +92 348 8 +92 349 8 +92 350 0 +92 351 0 +92 352 0 +92 353 0 +92 354 0 +92 355 0 +92 356 0 +92 357 0 +92 358 0 +92 359 0 +92 360 0 +92 361 0 +92 362 0 +92 363 0 +92 364 0 +92 365 0 +92 366 0 +92 367 0 +92 368 0 +92 369 0 +92 370 0 +92 371 0 +92 372 0 +92 373 0 +92 374 0 +92 375 0 +92 376 0 +92 377 0 +92 378 0 +92 379 0 +92 380 0 +92 381 0 +92 382 0 +92 383 0 +93 94 8 +93 95 8 +93 96 8 +93 97 8 +93 98 8 +93 99 8 +93 100 8 +93 101 8 +93 102 8 +93 103 8 +93 104 8 +93 105 8 +93 106 8 +93 107 8 +93 108 8 +93 109 8 +93 110 8 +93 111 8 +93 112 8 +93 113 8 +93 114 8 +93 115 8 +93 116 8 +93 117 8 +93 118 8 +93 119 8 +93 120 8 +93 121 8 +93 122 8 +93 123 8 +93 124 8 +93 125 8 +93 126 8 +93 127 8 +93 128 8 +93 129 8 +93 130 8 +93 131 8 +93 132 8 +93 133 8 +93 134 8 +93 135 8 +93 136 8 +93 137 8 +93 138 8 +93 139 8 +93 140 8 +93 141 8 +93 142 8 +93 143 8 +93 144 8 +93 145 8 +93 146 8 +93 147 8 +93 148 8 +93 149 8 +93 150 8 +93 151 8 +93 152 8 +93 153 8 +93 154 8 +93 155 8 +93 156 8 +93 157 8 +93 158 8 +93 159 8 +93 160 8 +93 161 8 +93 162 8 +93 163 8 +93 164 8 +93 165 8 +93 166 8 +93 167 8 +93 168 8 +93 169 8 +93 170 8 +93 171 8 +93 172 8 +93 173 8 +93 174 8 +93 175 8 +93 176 8 +93 177 8 +93 178 8 +93 179 8 +93 180 8 +93 181 8 +93 182 8 +93 183 8 +93 184 8 +93 185 8 +93 186 8 +93 187 8 +93 188 8 +93 189 8 +93 190 8 +93 191 8 +93 192 8 +93 193 8 +93 194 8 +93 195 8 +93 196 8 +93 197 8 +93 198 8 +93 199 8 +93 200 8 +93 201 8 +93 202 8 +93 203 8 +93 204 8 +93 205 8 +93 206 8 +93 207 8 +93 208 8 +93 209 8 +93 210 8 +93 211 8 +93 212 8 +93 213 8 +93 214 8 +93 215 8 +93 216 8 +93 217 8 +93 218 8 +93 219 8 +93 220 8 +93 221 8 +93 222 8 +93 223 8 +93 224 8 +93 225 8 +93 226 8 +93 227 8 +93 228 8 +93 229 8 +93 230 8 +93 231 8 +93 232 8 +93 233 8 +93 234 8 +93 235 8 +93 236 8 +93 237 8 +93 238 8 +93 239 8 +93 240 8 +93 241 8 +93 242 8 +93 243 8 +93 244 8 +93 245 8 +93 246 8 +93 247 8 +93 248 8 +93 249 8 +93 250 8 +93 251 8 +93 252 8 +93 253 8 +93 254 8 +93 255 8 +93 256 8 +93 257 8 +93 258 8 +93 259 8 +93 260 8 +93 261 8 +93 262 8 +93 263 8 +93 264 8 +93 265 8 +93 266 8 +93 267 8 +93 268 8 +93 269 8 +93 270 8 +93 271 8 +93 272 8 +93 273 8 +93 274 8 +93 275 8 +93 276 8 +93 277 8 +93 278 8 +93 279 8 +93 280 8 +93 281 8 +93 282 8 +93 283 8 +93 284 8 +93 285 8 +93 286 8 +93 287 8 +93 288 8 +93 289 8 +93 290 8 +93 291 8 +93 292 8 +93 293 8 +93 294 8 +93 295 8 +93 296 8 +93 297 8 +93 298 8 +93 299 8 +93 300 8 +93 301 8 +93 302 8 +93 303 8 +93 304 8 +93 305 8 +93 306 8 +93 307 8 +93 308 8 +93 309 8 +93 310 8 +93 311 8 +93 312 8 +93 313 8 +93 314 8 +93 315 8 +93 316 8 +93 317 8 +93 318 8 +93 319 8 +93 320 8 +93 321 8 +93 322 8 +93 323 8 +93 324 8 +93 325 8 +93 326 8 +93 327 8 +93 328 8 +93 329 8 +93 330 8 +93 331 8 +93 332 8 +93 333 8 +93 334 8 +93 335 8 +93 336 8 +93 337 8 +93 338 8 +93 339 8 +93 340 8 +93 341 8 +93 342 8 +93 343 8 +93 344 8 +93 345 8 +93 346 8 +93 347 8 +93 348 8 +93 349 8 +93 350 0 +93 351 0 +93 352 0 +93 353 0 +93 354 0 +93 355 0 +93 356 0 +93 357 0 +93 358 0 +93 359 0 +93 360 0 +93 361 0 +93 362 0 +93 363 0 +93 364 0 +93 365 0 +93 366 0 +93 367 0 +93 368 0 +93 369 0 +93 370 0 +93 371 0 +93 372 0 +93 373 0 +93 374 0 +93 375 0 +93 376 0 +93 377 0 +93 378 0 +93 379 0 +93 380 0 +93 381 0 +93 382 0 +93 383 0 +94 95 8 +94 96 8 +94 97 8 +94 98 8 +94 99 8 +94 100 8 +94 101 8 +94 102 8 +94 103 8 +94 104 8 +94 105 8 +94 106 8 +94 107 8 +94 108 8 +94 109 8 +94 110 8 +94 111 8 +94 112 8 +94 113 8 +94 114 8 +94 115 8 +94 116 8 +94 117 8 +94 118 8 +94 119 8 +94 120 8 +94 121 8 +94 122 8 +94 123 8 +94 124 8 +94 125 8 +94 126 8 +94 127 8 +94 128 8 +94 129 8 +94 130 8 +94 131 8 +94 132 8 +94 133 8 +94 134 8 +94 135 8 +94 136 8 +94 137 8 +94 138 8 +94 139 8 +94 140 8 +94 141 8 +94 142 8 +94 143 8 +94 144 8 +94 145 8 +94 146 8 +94 147 8 +94 148 8 +94 149 8 +94 150 8 +94 151 8 +94 152 8 +94 153 8 +94 154 8 +94 155 8 +94 156 8 +94 157 8 +94 158 8 +94 159 8 +94 160 8 +94 161 8 +94 162 8 +94 163 8 +94 164 8 +94 165 8 +94 166 8 +94 167 8 +94 168 8 +94 169 8 +94 170 8 +94 171 8 +94 172 8 +94 173 8 +94 174 8 +94 175 8 +94 176 8 +94 177 8 +94 178 8 +94 179 8 +94 180 8 +94 181 8 +94 182 8 +94 183 8 +94 184 8 +94 185 8 +94 186 8 +94 187 8 +94 188 8 +94 189 8 +94 190 8 +94 191 8 +94 192 8 +94 193 8 +94 194 8 +94 195 8 +94 196 8 +94 197 8 +94 198 8 +94 199 8 +94 200 8 +94 201 8 +94 202 8 +94 203 8 +94 204 8 +94 205 8 +94 206 8 +94 207 8 +94 208 8 +94 209 8 +94 210 8 +94 211 8 +94 212 8 +94 213 8 +94 214 8 +94 215 8 +94 216 8 +94 217 8 +94 218 8 +94 219 8 +94 220 8 +94 221 8 +94 222 8 +94 223 8 +94 224 8 +94 225 8 +94 226 8 +94 227 8 +94 228 8 +94 229 8 +94 230 8 +94 231 8 +94 232 8 +94 233 8 +94 234 8 +94 235 8 +94 236 8 +94 237 8 +94 238 8 +94 239 8 +94 240 8 +94 241 8 +94 242 8 +94 243 8 +94 244 8 +94 245 8 +94 246 8 +94 247 8 +94 248 8 +94 249 8 +94 250 8 +94 251 8 +94 252 8 +94 253 8 +94 254 8 +94 255 8 +94 256 8 +94 257 8 +94 258 8 +94 259 8 +94 260 8 +94 261 8 +94 262 8 +94 263 8 +94 264 8 +94 265 8 +94 266 8 +94 267 8 +94 268 8 +94 269 8 +94 270 8 +94 271 8 +94 272 8 +94 273 8 +94 274 8 +94 275 8 +94 276 8 +94 277 8 +94 278 8 +94 279 8 +94 280 8 +94 281 8 +94 282 8 +94 283 8 +94 284 8 +94 285 8 +94 286 8 +94 287 8 +94 288 8 +94 289 8 +94 290 8 +94 291 8 +94 292 8 +94 293 8 +94 294 8 +94 295 8 +94 296 8 +94 297 8 +94 298 8 +94 299 8 +94 300 8 +94 301 8 +94 302 8 +94 303 8 +94 304 8 +94 305 8 +94 306 8 +94 307 8 +94 308 8 +94 309 8 +94 310 8 +94 311 8 +94 312 8 +94 313 8 +94 314 8 +94 315 8 +94 316 8 +94 317 8 +94 318 8 +94 319 8 +94 320 8 +94 321 8 +94 322 8 +94 323 8 +94 324 8 +94 325 8 +94 326 8 +94 327 8 +94 328 8 +94 329 8 +94 330 8 +94 331 8 +94 332 8 +94 333 8 +94 334 8 +94 335 8 +94 336 8 +94 337 8 +94 338 8 +94 339 8 +94 340 8 +94 341 8 +94 342 8 +94 343 8 +94 344 8 +94 345 8 +94 346 8 +94 347 8 +94 348 8 +94 349 8 +94 350 0 +94 351 0 +94 352 0 +94 353 0 +94 354 0 +94 355 0 +94 356 0 +94 357 0 +94 358 0 +94 359 0 +94 360 0 +94 361 0 +94 362 0 +94 363 0 +94 364 0 +94 365 0 +94 366 0 +94 367 0 +94 368 0 +94 369 0 +94 370 0 +94 371 0 +94 372 0 +94 373 0 +94 374 0 +94 375 0 +94 376 0 +94 377 0 +94 378 0 +94 379 0 +94 380 0 +94 381 0 +94 382 0 +94 383 0 +95 96 8 +95 97 8 +95 98 8 +95 99 8 +95 100 8 +95 101 8 +95 102 8 +95 103 8 +95 104 8 +95 105 8 +95 106 8 +95 107 8 +95 108 8 +95 109 8 +95 110 8 +95 111 8 +95 112 8 +95 113 8 +95 114 8 +95 115 8 +95 116 8 +95 117 8 +95 118 8 +95 119 8 +95 120 8 +95 121 8 +95 122 8 +95 123 8 +95 124 8 +95 125 8 +95 126 8 +95 127 8 +95 128 8 +95 129 8 +95 130 8 +95 131 8 +95 132 8 +95 133 8 +95 134 8 +95 135 8 +95 136 8 +95 137 8 +95 138 8 +95 139 8 +95 140 8 +95 141 8 +95 142 8 +95 143 8 +95 144 8 +95 145 8 +95 146 8 +95 147 8 +95 148 8 +95 149 8 +95 150 8 +95 151 8 +95 152 8 +95 153 8 +95 154 8 +95 155 8 +95 156 8 +95 157 8 +95 158 8 +95 159 8 +95 160 8 +95 161 8 +95 162 8 +95 163 8 +95 164 8 +95 165 8 +95 166 8 +95 167 8 +95 168 8 +95 169 8 +95 170 8 +95 171 8 +95 172 8 +95 173 8 +95 174 8 +95 175 8 +95 176 8 +95 177 8 +95 178 8 +95 179 8 +95 180 8 +95 181 8 +95 182 8 +95 183 8 +95 184 8 +95 185 8 +95 186 8 +95 187 8 +95 188 8 +95 189 8 +95 190 8 +95 191 8 +95 192 8 +95 193 8 +95 194 8 +95 195 8 +95 196 8 +95 197 8 +95 198 8 +95 199 8 +95 200 8 +95 201 8 +95 202 8 +95 203 8 +95 204 8 +95 205 8 +95 206 8 +95 207 8 +95 208 8 +95 209 8 +95 210 8 +95 211 8 +95 212 8 +95 213 8 +95 214 8 +95 215 8 +95 216 8 +95 217 8 +95 218 8 +95 219 8 +95 220 8 +95 221 8 +95 222 8 +95 223 8 +95 224 8 +95 225 8 +95 226 8 +95 227 8 +95 228 8 +95 229 8 +95 230 8 +95 231 8 +95 232 8 +95 233 8 +95 234 8 +95 235 8 +95 236 8 +95 237 8 +95 238 8 +95 239 8 +95 240 8 +95 241 8 +95 242 8 +95 243 8 +95 244 8 +95 245 8 +95 246 8 +95 247 8 +95 248 8 +95 249 8 +95 250 8 +95 251 8 +95 252 8 +95 253 8 +95 254 8 +95 255 8 +95 256 8 +95 257 8 +95 258 8 +95 259 8 +95 260 8 +95 261 8 +95 262 8 +95 263 8 +95 264 8 +95 265 8 +95 266 8 +95 267 8 +95 268 8 +95 269 8 +95 270 8 +95 271 8 +95 272 8 +95 273 8 +95 274 8 +95 275 8 +95 276 8 +95 277 8 +95 278 8 +95 279 8 +95 280 8 +95 281 8 +95 282 8 +95 283 8 +95 284 8 +95 285 8 +95 286 8 +95 287 8 +95 288 8 +95 289 8 +95 290 8 +95 291 8 +95 292 8 +95 293 8 +95 294 8 +95 295 8 +95 296 8 +95 297 8 +95 298 8 +95 299 8 +95 300 8 +95 301 8 +95 302 8 +95 303 8 +95 304 8 +95 305 8 +95 306 8 +95 307 8 +95 308 8 +95 309 8 +95 310 8 +95 311 8 +95 312 8 +95 313 8 +95 314 8 +95 315 8 +95 316 8 +95 317 8 +95 318 8 +95 319 8 +95 320 8 +95 321 8 +95 322 8 +95 323 8 +95 324 8 +95 325 8 +95 326 8 +95 327 8 +95 328 8 +95 329 8 +95 330 8 +95 331 8 +95 332 8 +95 333 8 +95 334 8 +95 335 8 +95 336 8 +95 337 8 +95 338 8 +95 339 8 +95 340 8 +95 341 8 +95 342 8 +95 343 8 +95 344 8 +95 345 8 +95 346 8 +95 347 8 +95 348 8 +95 349 8 +95 350 0 +95 351 0 +95 352 0 +95 353 0 +95 354 0 +95 355 0 +95 356 0 +95 357 0 +95 358 0 +95 359 0 +95 360 0 +95 361 0 +95 362 0 +95 363 0 +95 364 0 +95 365 0 +95 366 0 +95 367 0 +95 368 0 +95 369 0 +95 370 0 +95 371 0 +95 372 0 +95 373 0 +95 374 0 +95 375 0 +95 376 0 +95 377 0 +95 378 0 +95 379 0 +95 380 0 +95 381 0 +95 382 0 +95 383 0 +96 97 8 +96 98 8 +96 99 8 +96 100 8 +96 101 8 +96 102 8 +96 103 8 +96 104 8 +96 105 8 +96 106 8 +96 107 8 +96 108 8 +96 109 8 +96 110 8 +96 111 8 +96 112 8 +96 113 8 +96 114 8 +96 115 8 +96 116 8 +96 117 8 +96 118 8 +96 119 8 +96 120 8 +96 121 8 +96 122 8 +96 123 8 +96 124 8 +96 125 8 +96 126 8 +96 127 8 +96 128 8 +96 129 8 +96 130 8 +96 131 8 +96 132 8 +96 133 8 +96 134 8 +96 135 8 +96 136 8 +96 137 8 +96 138 8 +96 139 8 +96 140 8 +96 141 8 +96 142 8 +96 143 8 +96 144 8 +96 145 8 +96 146 8 +96 147 8 +96 148 8 +96 149 8 +96 150 8 +96 151 8 +96 152 8 +96 153 8 +96 154 8 +96 155 8 +96 156 8 +96 157 8 +96 158 8 +96 159 8 +96 160 8 +96 161 8 +96 162 8 +96 163 8 +96 164 8 +96 165 8 +96 166 8 +96 167 8 +96 168 8 +96 169 8 +96 170 8 +96 171 8 +96 172 8 +96 173 8 +96 174 8 +96 175 8 +96 176 8 +96 177 8 +96 178 8 +96 179 8 +96 180 8 +96 181 8 +96 182 8 +96 183 8 +96 184 8 +96 185 8 +96 186 8 +96 187 8 +96 188 8 +96 189 8 +96 190 8 +96 191 8 +96 192 8 +96 193 8 +96 194 8 +96 195 8 +96 196 8 +96 197 8 +96 198 8 +96 199 8 +96 200 8 +96 201 8 +96 202 8 +96 203 8 +96 204 8 +96 205 8 +96 206 8 +96 207 8 +96 208 8 +96 209 8 +96 210 8 +96 211 8 +96 212 8 +96 213 8 +96 214 8 +96 215 8 +96 216 8 +96 217 8 +96 218 8 +96 219 8 +96 220 8 +96 221 8 +96 222 8 +96 223 8 +96 224 8 +96 225 8 +96 226 8 +96 227 8 +96 228 8 +96 229 8 +96 230 8 +96 231 8 +96 232 8 +96 233 8 +96 234 8 +96 235 8 +96 236 8 +96 237 8 +96 238 8 +96 239 8 +96 240 8 +96 241 8 +96 242 8 +96 243 8 +96 244 8 +96 245 8 +96 246 8 +96 247 8 +96 248 8 +96 249 8 +96 250 8 +96 251 8 +96 252 8 +96 253 8 +96 254 8 +96 255 8 +96 256 8 +96 257 8 +96 258 8 +96 259 8 +96 260 8 +96 261 8 +96 262 8 +96 263 8 +96 264 8 +96 265 8 +96 266 8 +96 267 8 +96 268 8 +96 269 8 +96 270 8 +96 271 8 +96 272 8 +96 273 8 +96 274 8 +96 275 8 +96 276 8 +96 277 8 +96 278 8 +96 279 8 +96 280 8 +96 281 8 +96 282 8 +96 283 8 +96 284 8 +96 285 8 +96 286 8 +96 287 8 +96 288 8 +96 289 8 +96 290 8 +96 291 8 +96 292 8 +96 293 8 +96 294 8 +96 295 8 +96 296 8 +96 297 8 +96 298 8 +96 299 8 +96 300 8 +96 301 8 +96 302 8 +96 303 8 +96 304 8 +96 305 8 +96 306 8 +96 307 8 +96 308 8 +96 309 8 +96 310 8 +96 311 8 +96 312 8 +96 313 8 +96 314 8 +96 315 8 +96 316 8 +96 317 8 +96 318 8 +96 319 8 +96 320 8 +96 321 8 +96 322 8 +96 323 8 +96 324 8 +96 325 8 +96 326 8 +96 327 8 +96 328 8 +96 329 8 +96 330 8 +96 331 8 +96 332 8 +96 333 8 +96 334 8 +96 335 8 +96 336 8 +96 337 8 +96 338 8 +96 339 8 +96 340 8 +96 341 8 +96 342 8 +96 343 8 +96 344 8 +96 345 8 +96 346 8 +96 347 8 +96 348 8 +96 349 8 +96 350 0 +96 351 0 +96 352 0 +96 353 0 +96 354 0 +96 355 0 +96 356 0 +96 357 0 +96 358 0 +96 359 0 +96 360 0 +96 361 0 +96 362 0 +96 363 0 +96 364 0 +96 365 0 +96 366 0 +96 367 0 +96 368 0 +96 369 0 +96 370 0 +96 371 0 +96 372 0 +96 373 0 +96 374 0 +96 375 0 +96 376 0 +96 377 0 +96 378 0 +96 379 0 +96 380 0 +96 381 0 +96 382 0 +96 383 0 +97 98 8 +97 99 8 +97 100 8 +97 101 8 +97 102 8 +97 103 8 +97 104 8 +97 105 8 +97 106 8 +97 107 8 +97 108 8 +97 109 8 +97 110 8 +97 111 8 +97 112 8 +97 113 8 +97 114 8 +97 115 8 +97 116 8 +97 117 8 +97 118 8 +97 119 8 +97 120 8 +97 121 8 +97 122 8 +97 123 8 +97 124 8 +97 125 8 +97 126 8 +97 127 8 +97 128 8 +97 129 8 +97 130 8 +97 131 8 +97 132 8 +97 133 8 +97 134 8 +97 135 8 +97 136 8 +97 137 8 +97 138 8 +97 139 8 +97 140 8 +97 141 8 +97 142 8 +97 143 8 +97 144 8 +97 145 8 +97 146 8 +97 147 8 +97 148 8 +97 149 8 +97 150 8 +97 151 8 +97 152 8 +97 153 8 +97 154 8 +97 155 8 +97 156 8 +97 157 8 +97 158 8 +97 159 8 +97 160 8 +97 161 8 +97 162 8 +97 163 8 +97 164 8 +97 165 8 +97 166 8 +97 167 8 +97 168 8 +97 169 8 +97 170 8 +97 171 8 +97 172 8 +97 173 8 +97 174 8 +97 175 8 +97 176 8 +97 177 8 +97 178 8 +97 179 8 +97 180 8 +97 181 8 +97 182 8 +97 183 8 +97 184 8 +97 185 8 +97 186 8 +97 187 8 +97 188 8 +97 189 8 +97 190 8 +97 191 8 +97 192 8 +97 193 8 +97 194 8 +97 195 8 +97 196 8 +97 197 8 +97 198 8 +97 199 8 +97 200 8 +97 201 8 +97 202 8 +97 203 8 +97 204 8 +97 205 8 +97 206 8 +97 207 8 +97 208 8 +97 209 8 +97 210 8 +97 211 8 +97 212 8 +97 213 8 +97 214 8 +97 215 8 +97 216 8 +97 217 8 +97 218 8 +97 219 8 +97 220 8 +97 221 8 +97 222 8 +97 223 8 +97 224 8 +97 225 8 +97 226 8 +97 227 8 +97 228 8 +97 229 8 +97 230 8 +97 231 8 +97 232 8 +97 233 8 +97 234 8 +97 235 8 +97 236 8 +97 237 8 +97 238 8 +97 239 8 +97 240 8 +97 241 8 +97 242 8 +97 243 8 +97 244 8 +97 245 8 +97 246 8 +97 247 8 +97 248 8 +97 249 8 +97 250 8 +97 251 8 +97 252 8 +97 253 8 +97 254 8 +97 255 8 +97 256 8 +97 257 8 +97 258 8 +97 259 8 +97 260 8 +97 261 8 +97 262 8 +97 263 8 +97 264 8 +97 265 8 +97 266 8 +97 267 8 +97 268 8 +97 269 8 +97 270 8 +97 271 8 +97 272 8 +97 273 8 +97 274 8 +97 275 8 +97 276 8 +97 277 8 +97 278 8 +97 279 8 +97 280 8 +97 281 8 +97 282 8 +97 283 8 +97 284 8 +97 285 8 +97 286 8 +97 287 8 +97 288 8 +97 289 8 +97 290 8 +97 291 8 +97 292 8 +97 293 8 +97 294 8 +97 295 8 +97 296 8 +97 297 8 +97 298 8 +97 299 8 +97 300 8 +97 301 8 +97 302 8 +97 303 8 +97 304 8 +97 305 8 +97 306 8 +97 307 8 +97 308 8 +97 309 8 +97 310 8 +97 311 8 +97 312 8 +97 313 8 +97 314 8 +97 315 8 +97 316 8 +97 317 8 +97 318 8 +97 319 8 +97 320 8 +97 321 8 +97 322 8 +97 323 8 +97 324 8 +97 325 8 +97 326 8 +97 327 8 +97 328 8 +97 329 8 +97 330 8 +97 331 8 +97 332 8 +97 333 8 +97 334 8 +97 335 8 +97 336 8 +97 337 8 +97 338 8 +97 339 8 +97 340 8 +97 341 8 +97 342 8 +97 343 8 +97 344 8 +97 345 8 +97 346 8 +97 347 8 +97 348 8 +97 349 8 +97 350 0 +97 351 0 +97 352 0 +97 353 0 +97 354 0 +97 355 0 +97 356 0 +97 357 0 +97 358 0 +97 359 0 +97 360 0 +97 361 0 +97 362 0 +97 363 0 +97 364 0 +97 365 0 +97 366 0 +97 367 0 +97 368 0 +97 369 0 +97 370 0 +97 371 0 +97 372 0 +97 373 0 +97 374 0 +97 375 0 +97 376 0 +97 377 0 +97 378 0 +97 379 0 +97 380 0 +97 381 0 +97 382 0 +97 383 0 +98 99 8 +98 100 8 +98 101 8 +98 102 8 +98 103 8 +98 104 8 +98 105 8 +98 106 8 +98 107 8 +98 108 8 +98 109 8 +98 110 8 +98 111 8 +98 112 8 +98 113 8 +98 114 8 +98 115 8 +98 116 8 +98 117 8 +98 118 8 +98 119 8 +98 120 8 +98 121 8 +98 122 8 +98 123 8 +98 124 8 +98 125 8 +98 126 8 +98 127 8 +98 128 8 +98 129 8 +98 130 8 +98 131 8 +98 132 8 +98 133 8 +98 134 8 +98 135 8 +98 136 8 +98 137 8 +98 138 8 +98 139 8 +98 140 8 +98 141 8 +98 142 8 +98 143 8 +98 144 8 +98 145 8 +98 146 8 +98 147 8 +98 148 8 +98 149 8 +98 150 8 +98 151 8 +98 152 8 +98 153 8 +98 154 8 +98 155 8 +98 156 8 +98 157 8 +98 158 8 +98 159 8 +98 160 8 +98 161 8 +98 162 8 +98 163 8 +98 164 8 +98 165 8 +98 166 8 +98 167 8 +98 168 8 +98 169 8 +98 170 8 +98 171 8 +98 172 8 +98 173 8 +98 174 8 +98 175 8 +98 176 8 +98 177 8 +98 178 8 +98 179 8 +98 180 8 +98 181 8 +98 182 8 +98 183 8 +98 184 8 +98 185 8 +98 186 8 +98 187 8 +98 188 8 +98 189 8 +98 190 8 +98 191 8 +98 192 8 +98 193 8 +98 194 8 +98 195 8 +98 196 8 +98 197 8 +98 198 8 +98 199 8 +98 200 8 +98 201 8 +98 202 8 +98 203 8 +98 204 8 +98 205 8 +98 206 8 +98 207 8 +98 208 8 +98 209 8 +98 210 8 +98 211 8 +98 212 8 +98 213 8 +98 214 8 +98 215 8 +98 216 8 +98 217 8 +98 218 8 +98 219 8 +98 220 8 +98 221 8 +98 222 8 +98 223 8 +98 224 8 +98 225 8 +98 226 8 +98 227 8 +98 228 8 +98 229 8 +98 230 8 +98 231 8 +98 232 8 +98 233 8 +98 234 8 +98 235 8 +98 236 8 +98 237 8 +98 238 8 +98 239 8 +98 240 8 +98 241 8 +98 242 8 +98 243 8 +98 244 8 +98 245 8 +98 246 8 +98 247 8 +98 248 8 +98 249 8 +98 250 8 +98 251 8 +98 252 8 +98 253 8 +98 254 8 +98 255 8 +98 256 8 +98 257 8 +98 258 8 +98 259 8 +98 260 8 +98 261 8 +98 262 8 +98 263 8 +98 264 8 +98 265 8 +98 266 8 +98 267 8 +98 268 8 +98 269 8 +98 270 8 +98 271 8 +98 272 8 +98 273 8 +98 274 8 +98 275 8 +98 276 8 +98 277 8 +98 278 8 +98 279 8 +98 280 8 +98 281 8 +98 282 8 +98 283 8 +98 284 8 +98 285 8 +98 286 8 +98 287 8 +98 288 8 +98 289 8 +98 290 8 +98 291 8 +98 292 8 +98 293 8 +98 294 8 +98 295 8 +98 296 8 +98 297 8 +98 298 8 +98 299 8 +98 300 8 +98 301 8 +98 302 8 +98 303 8 +98 304 8 +98 305 8 +98 306 8 +98 307 8 +98 308 8 +98 309 8 +98 310 8 +98 311 8 +98 312 8 +98 313 8 +98 314 8 +98 315 8 +98 316 8 +98 317 8 +98 318 8 +98 319 8 +98 320 8 +98 321 8 +98 322 8 +98 323 8 +98 324 8 +98 325 8 +98 326 8 +98 327 8 +98 328 8 +98 329 8 +98 330 8 +98 331 8 +98 332 8 +98 333 8 +98 334 8 +98 335 8 +98 336 8 +98 337 8 +98 338 8 +98 339 8 +98 340 8 +98 341 8 +98 342 8 +98 343 8 +98 344 8 +98 345 8 +98 346 8 +98 347 8 +98 348 8 +98 349 8 +98 350 0 +98 351 0 +98 352 0 +98 353 0 +98 354 0 +98 355 0 +98 356 0 +98 357 0 +98 358 0 +98 359 0 +98 360 0 +98 361 0 +98 362 0 +98 363 0 +98 364 0 +98 365 0 +98 366 0 +98 367 0 +98 368 0 +98 369 0 +98 370 0 +98 371 0 +98 372 0 +98 373 0 +98 374 0 +98 375 0 +98 376 0 +98 377 0 +98 378 0 +98 379 0 +98 380 0 +98 381 0 +98 382 0 +98 383 0 +99 100 8 +99 101 8 +99 102 8 +99 103 8 +99 104 8 +99 105 8 +99 106 8 +99 107 8 +99 108 8 +99 109 8 +99 110 8 +99 111 8 +99 112 8 +99 113 8 +99 114 8 +99 115 8 +99 116 8 +99 117 8 +99 118 8 +99 119 8 +99 120 8 +99 121 8 +99 122 8 +99 123 8 +99 124 8 +99 125 8 +99 126 8 +99 127 8 +99 128 8 +99 129 8 +99 130 8 +99 131 8 +99 132 8 +99 133 8 +99 134 8 +99 135 8 +99 136 8 +99 137 8 +99 138 8 +99 139 8 +99 140 8 +99 141 8 +99 142 8 +99 143 8 +99 144 8 +99 145 8 +99 146 8 +99 147 8 +99 148 8 +99 149 8 +99 150 8 +99 151 8 +99 152 8 +99 153 8 +99 154 8 +99 155 8 +99 156 8 +99 157 8 +99 158 8 +99 159 8 +99 160 8 +99 161 8 +99 162 8 +99 163 8 +99 164 8 +99 165 8 +99 166 8 +99 167 8 +99 168 8 +99 169 8 +99 170 8 +99 171 8 +99 172 8 +99 173 8 +99 174 8 +99 175 8 +99 176 8 +99 177 8 +99 178 8 +99 179 8 +99 180 8 +99 181 8 +99 182 8 +99 183 8 +99 184 8 +99 185 8 +99 186 8 +99 187 8 +99 188 8 +99 189 8 +99 190 8 +99 191 8 +99 192 8 +99 193 8 +99 194 8 +99 195 8 +99 196 8 +99 197 8 +99 198 8 +99 199 8 +99 200 8 +99 201 8 +99 202 8 +99 203 8 +99 204 8 +99 205 8 +99 206 8 +99 207 8 +99 208 8 +99 209 8 +99 210 8 +99 211 8 +99 212 8 +99 213 8 +99 214 8 +99 215 8 +99 216 8 +99 217 8 +99 218 8 +99 219 8 +99 220 8 +99 221 8 +99 222 8 +99 223 8 +99 224 8 +99 225 8 +99 226 8 +99 227 8 +99 228 8 +99 229 8 +99 230 8 +99 231 8 +99 232 8 +99 233 8 +99 234 8 +99 235 8 +99 236 8 +99 237 8 +99 238 8 +99 239 8 +99 240 8 +99 241 8 +99 242 8 +99 243 8 +99 244 8 +99 245 8 +99 246 8 +99 247 8 +99 248 8 +99 249 8 +99 250 8 +99 251 8 +99 252 8 +99 253 8 +99 254 8 +99 255 8 +99 256 8 +99 257 8 +99 258 8 +99 259 8 +99 260 8 +99 261 8 +99 262 8 +99 263 8 +99 264 8 +99 265 8 +99 266 8 +99 267 8 +99 268 8 +99 269 8 +99 270 8 +99 271 8 +99 272 8 +99 273 8 +99 274 8 +99 275 8 +99 276 8 +99 277 8 +99 278 8 +99 279 8 +99 280 8 +99 281 8 +99 282 8 +99 283 8 +99 284 8 +99 285 8 +99 286 8 +99 287 8 +99 288 8 +99 289 8 +99 290 8 +99 291 8 +99 292 8 +99 293 8 +99 294 8 +99 295 8 +99 296 8 +99 297 8 +99 298 8 +99 299 8 +99 300 8 +99 301 8 +99 302 8 +99 303 8 +99 304 8 +99 305 8 +99 306 8 +99 307 8 +99 308 8 +99 309 8 +99 310 8 +99 311 8 +99 312 8 +99 313 8 +99 314 8 +99 315 8 +99 316 8 +99 317 8 +99 318 8 +99 319 8 +99 320 8 +99 321 8 +99 322 8 +99 323 8 +99 324 8 +99 325 8 +99 326 8 +99 327 8 +99 328 8 +99 329 8 +99 330 8 +99 331 8 +99 332 8 +99 333 8 +99 334 8 +99 335 8 +99 336 8 +99 337 8 +99 338 8 +99 339 8 +99 340 8 +99 341 8 +99 342 8 +99 343 8 +99 344 8 +99 345 8 +99 346 8 +99 347 8 +99 348 8 +99 349 8 +99 350 0 +99 351 0 +99 352 0 +99 353 0 +99 354 0 +99 355 0 +99 356 0 +99 357 0 +99 358 0 +99 359 0 +99 360 0 +99 361 0 +99 362 0 +99 363 0 +99 364 0 +99 365 0 +99 366 0 +99 367 0 +99 368 0 +99 369 0 +99 370 0 +99 371 0 +99 372 0 +99 373 0 +99 374 0 +99 375 0 +99 376 0 +99 377 0 +99 378 0 +99 379 0 +99 380 0 +99 381 0 +99 382 0 +99 383 0 +100 101 8 +100 102 8 +100 103 8 +100 104 8 +100 105 8 +100 106 8 +100 107 8 +100 108 8 +100 109 8 +100 110 8 +100 111 8 +100 112 8 +100 113 8 +100 114 8 +100 115 8 +100 116 8 +100 117 8 +100 118 8 +100 119 8 +100 120 8 +100 121 8 +100 122 8 +100 123 8 +100 124 8 +100 125 8 +100 126 8 +100 127 8 +100 128 8 +100 129 8 +100 130 8 +100 131 8 +100 132 8 +100 133 8 +100 134 8 +100 135 8 +100 136 8 +100 137 8 +100 138 8 +100 139 8 +100 140 8 +100 141 8 +100 142 8 +100 143 8 +100 144 8 +100 145 8 +100 146 8 +100 147 8 +100 148 8 +100 149 8 +100 150 8 +100 151 8 +100 152 8 +100 153 8 +100 154 8 +100 155 8 +100 156 8 +100 157 8 +100 158 8 +100 159 8 +100 160 8 +100 161 8 +100 162 8 +100 163 8 +100 164 8 +100 165 8 +100 166 8 +100 167 8 +100 168 8 +100 169 8 +100 170 8 +100 171 8 +100 172 8 +100 173 8 +100 174 8 +100 175 8 +100 176 8 +100 177 8 +100 178 8 +100 179 8 +100 180 8 +100 181 8 +100 182 8 +100 183 8 +100 184 8 +100 185 8 +100 186 8 +100 187 8 +100 188 8 +100 189 8 +100 190 8 +100 191 8 +100 192 8 +100 193 8 +100 194 8 +100 195 8 +100 196 8 +100 197 8 +100 198 8 +100 199 8 +100 200 8 +100 201 8 +100 202 8 +100 203 8 +100 204 8 +100 205 8 +100 206 8 +100 207 8 +100 208 8 +100 209 8 +100 210 8 +100 211 8 +100 212 8 +100 213 8 +100 214 8 +100 215 8 +100 216 8 +100 217 8 +100 218 8 +100 219 8 +100 220 8 +100 221 8 +100 222 8 +100 223 8 +100 224 8 +100 225 8 +100 226 8 +100 227 8 +100 228 8 +100 229 8 +100 230 8 +100 231 8 +100 232 8 +100 233 8 +100 234 8 +100 235 8 +100 236 8 +100 237 8 +100 238 8 +100 239 8 +100 240 8 +100 241 8 +100 242 8 +100 243 8 +100 244 8 +100 245 8 +100 246 8 +100 247 8 +100 248 8 +100 249 8 +100 250 8 +100 251 8 +100 252 8 +100 253 8 +100 254 8 +100 255 8 +100 256 8 +100 257 8 +100 258 8 +100 259 8 +100 260 8 +100 261 8 +100 262 8 +100 263 8 +100 264 8 +100 265 8 +100 266 8 +100 267 8 +100 268 8 +100 269 8 +100 270 8 +100 271 8 +100 272 8 +100 273 8 +100 274 8 +100 275 8 +100 276 8 +100 277 8 +100 278 8 +100 279 8 +100 280 8 +100 281 8 +100 282 8 +100 283 8 +100 284 8 +100 285 8 +100 286 8 +100 287 8 +100 288 8 +100 289 8 +100 290 8 +100 291 8 +100 292 8 +100 293 8 +100 294 8 +100 295 8 +100 296 8 +100 297 8 +100 298 8 +100 299 8 +100 300 8 +100 301 8 +100 302 8 +100 303 8 +100 304 8 +100 305 8 +100 306 8 +100 307 8 +100 308 8 +100 309 8 +100 310 8 +100 311 8 +100 312 8 +100 313 8 +100 314 8 +100 315 8 +100 316 8 +100 317 8 +100 318 8 +100 319 8 +100 320 8 +100 321 8 +100 322 8 +100 323 8 +100 324 8 +100 325 8 +100 326 8 +100 327 8 +100 328 8 +100 329 8 +100 330 8 +100 331 8 +100 332 8 +100 333 8 +100 334 8 +100 335 8 +100 336 8 +100 337 8 +100 338 8 +100 339 8 +100 340 8 +100 341 8 +100 342 8 +100 343 8 +100 344 8 +100 345 8 +100 346 8 +100 347 8 +100 348 8 +100 349 8 +100 350 0 +100 351 0 +100 352 0 +100 353 0 +100 354 0 +100 355 0 +100 356 0 +100 357 0 +100 358 0 +100 359 0 +100 360 0 +100 361 0 +100 362 0 +100 363 0 +100 364 0 +100 365 0 +100 366 0 +100 367 0 +100 368 0 +100 369 0 +100 370 0 +100 371 0 +100 372 0 +100 373 0 +100 374 0 +100 375 0 +100 376 0 +100 377 0 +100 378 0 +100 379 0 +100 380 0 +100 381 0 +100 382 0 +100 383 0 +101 102 8 +101 103 8 +101 104 8 +101 105 8 +101 106 8 +101 107 8 +101 108 8 +101 109 8 +101 110 8 +101 111 8 +101 112 8 +101 113 8 +101 114 8 +101 115 8 +101 116 8 +101 117 8 +101 118 8 +101 119 8 +101 120 8 +101 121 8 +101 122 8 +101 123 8 +101 124 8 +101 125 8 +101 126 8 +101 127 8 +101 128 8 +101 129 8 +101 130 8 +101 131 8 +101 132 8 +101 133 8 +101 134 8 +101 135 8 +101 136 8 +101 137 8 +101 138 8 +101 139 8 +101 140 8 +101 141 8 +101 142 8 +101 143 8 +101 144 8 +101 145 8 +101 146 8 +101 147 8 +101 148 8 +101 149 8 +101 150 8 +101 151 8 +101 152 8 +101 153 8 +101 154 8 +101 155 8 +101 156 8 +101 157 8 +101 158 8 +101 159 8 +101 160 8 +101 161 8 +101 162 8 +101 163 8 +101 164 8 +101 165 8 +101 166 8 +101 167 8 +101 168 8 +101 169 8 +101 170 8 +101 171 8 +101 172 8 +101 173 8 +101 174 8 +101 175 8 +101 176 8 +101 177 8 +101 178 8 +101 179 8 +101 180 8 +101 181 8 +101 182 8 +101 183 8 +101 184 8 +101 185 8 +101 186 8 +101 187 8 +101 188 8 +101 189 8 +101 190 8 +101 191 8 +101 192 8 +101 193 8 +101 194 8 +101 195 8 +101 196 8 +101 197 8 +101 198 8 +101 199 8 +101 200 8 +101 201 8 +101 202 8 +101 203 8 +101 204 8 +101 205 8 +101 206 8 +101 207 8 +101 208 8 +101 209 8 +101 210 16 +101 211 16 +101 212 16 +101 213 16 +101 214 16 +101 215 16 +101 216 16 +101 217 16 +101 218 16 +101 219 16 +101 220 16 +101 221 16 +101 222 16 +101 223 16 +101 224 16 +101 225 16 +101 226 16 +101 227 16 +101 228 16 +101 229 16 +101 230 16 +101 231 16 +101 232 16 +101 233 16 +101 234 16 +101 235 16 +101 236 16 +101 237 16 +101 238 16 +101 239 16 +101 240 16 +101 241 16 +101 242 16 +101 243 16 +101 244 16 +101 245 16 +101 246 16 +101 247 16 +101 248 16 +101 249 16 +101 250 16 +101 251 16 +101 252 16 +101 253 16 +101 254 16 +101 255 16 +101 256 16 +101 257 16 +101 258 16 +101 259 16 +101 260 16 +101 261 16 +101 262 16 +101 263 16 +101 264 16 +101 265 16 +101 266 16 +101 267 16 +101 268 16 +101 269 16 +101 270 16 +101 271 16 +101 272 16 +101 273 16 +101 274 16 +101 275 16 +101 276 16 +101 277 16 +101 278 16 +101 279 16 +101 280 16 +101 281 16 +101 282 16 +101 283 16 +101 284 16 +101 285 16 +101 286 16 +101 287 16 +101 288 16 +101 289 16 +101 290 16 +101 291 16 +101 292 16 +101 293 16 +101 294 16 +101 295 16 +101 296 16 +101 297 16 +101 298 16 +101 299 16 +101 300 16 +101 301 16 +101 302 16 +101 303 16 +101 304 16 +101 305 16 +101 306 16 +101 307 16 +101 308 16 +101 309 16 +101 310 16 +101 311 16 +101 312 16 +101 313 16 +101 314 16 +101 315 16 +101 316 16 +101 317 16 +101 318 16 +101 319 16 +101 320 16 +101 321 16 +101 322 16 +101 323 16 +101 324 16 +101 325 16 +101 326 16 +101 327 16 +101 328 16 +101 329 16 +101 330 16 +101 331 16 +101 332 16 +101 333 16 +101 334 16 +101 335 16 +101 336 16 +101 337 16 +101 338 16 +101 339 16 +101 340 16 +101 341 16 +101 342 16 +101 343 16 +101 344 16 +101 345 16 +101 346 16 +101 347 16 +101 348 16 +101 349 16 +101 350 0 +101 351 0 +101 352 0 +101 353 0 +101 354 0 +101 355 0 +101 356 0 +101 357 0 +101 358 0 +101 359 0 +101 360 0 +101 361 0 +101 362 0 +101 363 0 +101 364 0 +101 365 0 +101 366 0 +101 367 0 +101 368 0 +101 369 0 +101 370 0 +101 371 0 +101 372 0 +101 373 0 +101 374 0 +101 375 0 +101 376 0 +101 377 0 +101 378 0 +101 379 0 +101 380 0 +101 381 0 +101 382 0 +101 383 0 +102 103 16 +102 104 16 +102 105 16 +102 106 16 +102 107 16 +102 108 16 +102 109 16 +102 110 16 +102 111 16 +102 112 16 +102 113 16 +102 114 16 +102 115 16 +102 116 16 +102 117 16 +102 118 16 +102 119 16 +102 120 16 +102 121 16 +102 122 16 +102 123 16 +102 124 16 +102 125 16 +102 126 16 +102 127 16 +102 128 16 +102 129 16 +102 130 16 +102 131 16 +102 132 16 +102 133 16 +102 134 16 +102 135 16 +102 136 16 +102 137 16 +102 138 16 +102 139 16 +102 140 16 +102 141 16 +102 142 16 +102 143 16 +102 144 16 +102 145 16 +102 146 16 +102 147 16 +102 148 16 +102 149 16 +102 150 16 +102 151 16 +102 152 16 +102 153 16 +102 154 16 +102 155 16 +102 156 16 +102 157 16 +102 158 16 +102 159 16 +102 160 16 +102 161 16 +102 162 16 +102 163 16 +102 164 16 +102 165 16 +102 166 16 +102 167 16 +102 168 16 +102 169 16 +102 170 16 +102 171 16 +102 172 16 +102 173 16 +102 174 16 +102 175 16 +102 176 16 +102 177 16 +102 178 16 +102 179 16 +102 180 16 +102 181 16 +102 182 16 +102 183 16 +102 184 16 +102 185 16 +102 186 16 +102 187 16 +102 188 16 +102 189 16 +102 190 16 +102 191 16 +102 192 16 +102 193 16 +102 194 16 +102 195 16 +102 196 16 +102 197 16 +102 198 16 +102 199 16 +102 200 16 +102 201 16 +102 202 16 +102 203 16 +102 204 16 +102 205 16 +102 206 16 +102 207 16 +102 208 16 +102 209 16 +102 210 16 +102 211 16 +102 212 16 +102 213 16 +102 214 16 +102 215 16 +102 216 16 +102 217 16 +102 218 16 +102 219 16 +102 220 16 +102 221 16 +102 222 16 +102 223 16 +102 224 16 +102 225 16 +102 226 16 +102 227 16 +102 228 16 +102 229 16 +102 230 16 +102 231 16 +102 232 16 +102 233 16 +102 234 16 +102 235 16 +102 236 16 +102 237 16 +102 238 16 +102 239 16 +102 240 16 +102 241 16 +102 242 16 +102 243 16 +102 244 16 +102 245 16 +102 246 16 +102 247 16 +102 248 16 +102 249 16 +102 250 16 +102 251 16 +102 252 16 +102 253 16 +102 254 16 +102 255 16 +102 256 16 +102 257 16 +102 258 16 +102 259 16 +102 260 16 +102 261 16 +102 262 16 +102 263 16 +102 264 16 +102 265 16 +102 266 16 +102 267 16 +102 268 16 +102 269 16 +102 270 16 +102 271 16 +102 272 16 +102 273 16 +102 274 16 +102 275 16 +102 276 16 +102 277 16 +102 278 16 +102 279 16 +102 280 16 +102 281 16 +102 282 16 +102 283 16 +102 284 16 +102 285 16 +102 286 16 +102 287 16 +102 288 16 +102 289 16 +102 290 16 +102 291 16 +102 292 16 +102 293 16 +102 294 16 +102 295 16 +102 296 16 +102 297 16 +102 298 16 +102 299 16 +102 300 16 +102 301 16 +102 302 16 +102 303 16 +102 304 16 +102 305 16 +102 306 16 +102 307 16 +102 308 16 +102 309 16 +102 310 16 +102 311 16 +102 312 16 +102 313 16 +102 314 16 +102 315 16 +102 316 16 +102 317 16 +102 318 16 +102 319 16 +102 320 16 +102 321 16 +102 322 16 +102 323 16 +102 324 16 +102 325 16 +102 326 16 +102 327 16 +102 328 16 +102 329 16 +102 330 16 +102 331 16 +102 332 16 +102 333 16 +102 334 16 +102 335 16 +102 336 16 +102 337 16 +102 338 16 +102 339 16 +102 340 16 +102 341 16 +102 342 16 +102 343 16 +102 344 16 +102 345 16 +102 346 16 +102 347 16 +102 348 16 +102 349 16 +102 350 0 +102 351 0 +102 352 0 +102 353 0 +102 354 0 +102 355 0 +102 356 0 +102 357 0 +102 358 0 +102 359 0 +102 360 0 +102 361 0 +102 362 0 +102 363 0 +102 364 0 +102 365 0 +102 366 0 +102 367 0 +102 368 0 +102 369 0 +102 370 0 +102 371 0 +102 372 0 +102 373 0 +102 374 0 +102 375 0 +102 376 0 +102 377 0 +102 378 0 +102 379 0 +102 380 0 +102 381 0 +102 382 0 +102 383 0 +103 104 16 +103 105 16 +103 106 16 +103 107 16 +103 108 16 +103 109 16 +103 110 16 +103 111 16 +103 112 16 +103 113 16 +103 114 16 +103 115 16 +103 116 16 +103 117 16 +103 118 16 +103 119 16 +103 120 16 +103 121 16 +103 122 16 +103 123 16 +103 124 16 +103 125 16 +103 126 16 +103 127 16 +103 128 16 +103 129 16 +103 130 16 +103 131 16 +103 132 16 +103 133 16 +103 134 16 +103 135 16 +103 136 16 +103 137 16 +103 138 16 +103 139 16 +103 140 16 +103 141 16 +103 142 16 +103 143 16 +103 144 16 +103 145 16 +103 146 16 +103 147 16 +103 148 16 +103 149 16 +103 150 16 +103 151 16 +103 152 16 +103 153 16 +103 154 16 +103 155 16 +103 156 16 +103 157 16 +103 158 16 +103 159 16 +103 160 16 +103 161 16 +103 162 16 +103 163 16 +103 164 16 +103 165 16 +103 166 16 +103 167 16 +103 168 16 +103 169 16 +103 170 16 +103 171 16 +103 172 16 +103 173 16 +103 174 16 +103 175 16 +103 176 16 +103 177 16 +103 178 16 +103 179 16 +103 180 16 +103 181 16 +103 182 16 +103 183 16 +103 184 16 +103 185 16 +103 186 16 +103 187 16 +103 188 16 +103 189 16 +103 190 16 +103 191 16 +103 192 16 +103 193 16 +103 194 16 +103 195 16 +103 196 16 +103 197 16 +103 198 16 +103 199 16 +103 200 16 +103 201 16 +103 202 16 +103 203 16 +103 204 16 +103 205 16 +103 206 16 +103 207 16 +103 208 16 +103 209 16 +103 210 16 +103 211 16 +103 212 16 +103 213 16 +103 214 16 +103 215 16 +103 216 16 +103 217 16 +103 218 16 +103 219 16 +103 220 16 +103 221 16 +103 222 16 +103 223 16 +103 224 16 +103 225 16 +103 226 16 +103 227 16 +103 228 16 +103 229 16 +103 230 16 +103 231 16 +103 232 16 +103 233 16 +103 234 16 +103 235 16 +103 236 16 +103 237 16 +103 238 16 +103 239 16 +103 240 16 +103 241 16 +103 242 16 +103 243 16 +103 244 16 +103 245 16 +103 246 16 +103 247 16 +103 248 16 +103 249 16 +103 250 16 +103 251 16 +103 252 16 +103 253 16 +103 254 16 +103 255 16 +103 256 16 +103 257 16 +103 258 16 +103 259 16 +103 260 16 +103 261 16 +103 262 16 +103 263 16 +103 264 16 +103 265 16 +103 266 16 +103 267 16 +103 268 16 +103 269 16 +103 270 16 +103 271 16 +103 272 16 +103 273 16 +103 274 16 +103 275 16 +103 276 16 +103 277 16 +103 278 16 +103 279 16 +103 280 16 +103 281 16 +103 282 16 +103 283 16 +103 284 16 +103 285 16 +103 286 16 +103 287 16 +103 288 16 +103 289 16 +103 290 16 +103 291 16 +103 292 16 +103 293 16 +103 294 16 +103 295 16 +103 296 16 +103 297 16 +103 298 16 +103 299 16 +103 300 16 +103 301 16 +103 302 16 +103 303 16 +103 304 16 +103 305 16 +103 306 16 +103 307 16 +103 308 16 +103 309 16 +103 310 16 +103 311 16 +103 312 16 +103 313 16 +103 314 16 +103 315 16 +103 316 16 +103 317 16 +103 318 16 +103 319 16 +103 320 16 +103 321 16 +103 322 16 +103 323 16 +103 324 16 +103 325 16 +103 326 16 +103 327 16 +103 328 16 +103 329 16 +103 330 16 +103 331 16 +103 332 16 +103 333 16 +103 334 16 +103 335 16 +103 336 16 +103 337 16 +103 338 16 +103 339 16 +103 340 16 +103 341 16 +103 342 16 +103 343 16 +103 344 16 +103 345 16 +103 346 16 +103 347 16 +103 348 16 +103 349 16 +103 350 0 +103 351 0 +103 352 0 +103 353 0 +103 354 0 +103 355 0 +103 356 0 +103 357 0 +103 358 0 +103 359 0 +103 360 0 +103 361 0 +103 362 0 +103 363 0 +103 364 0 +103 365 0 +103 366 0 +103 367 0 +103 368 0 +103 369 0 +103 370 0 +103 371 0 +103 372 0 +103 373 0 +103 374 0 +103 375 0 +103 376 0 +103 377 0 +103 378 0 +103 379 0 +103 380 0 +103 381 0 +103 382 0 +103 383 0 +104 105 16 +104 106 16 +104 107 16 +104 108 16 +104 109 16 +104 110 16 +104 111 16 +104 112 16 +104 113 16 +104 114 16 +104 115 16 +104 116 16 +104 117 16 +104 118 16 +104 119 16 +104 120 16 +104 121 16 +104 122 16 +104 123 16 +104 124 16 +104 125 16 +104 126 16 +104 127 16 +104 128 16 +104 129 16 +104 130 16 +104 131 16 +104 132 16 +104 133 16 +104 134 16 +104 135 16 +104 136 16 +104 137 16 +104 138 16 +104 139 16 +104 140 16 +104 141 16 +104 142 16 +104 143 16 +104 144 16 +104 145 16 +104 146 16 +104 147 16 +104 148 16 +104 149 16 +104 150 16 +104 151 16 +104 152 16 +104 153 16 +104 154 16 +104 155 16 +104 156 16 +104 157 16 +104 158 16 +104 159 16 +104 160 16 +104 161 16 +104 162 16 +104 163 16 +104 164 16 +104 165 16 +104 166 16 +104 167 16 +104 168 16 +104 169 16 +104 170 16 +104 171 16 +104 172 16 +104 173 16 +104 174 16 +104 175 16 +104 176 16 +104 177 16 +104 178 16 +104 179 16 +104 180 16 +104 181 16 +104 182 16 +104 183 16 +104 184 16 +104 185 16 +104 186 16 +104 187 16 +104 188 16 +104 189 16 +104 190 16 +104 191 16 +104 192 16 +104 193 16 +104 194 16 +104 195 16 +104 196 16 +104 197 16 +104 198 16 +104 199 16 +104 200 16 +104 201 16 +104 202 16 +104 203 16 +104 204 16 +104 205 16 +104 206 16 +104 207 16 +104 208 16 +104 209 16 +104 210 16 +104 211 16 +104 212 16 +104 213 16 +104 214 16 +104 215 16 +104 216 16 +104 217 16 +104 218 16 +104 219 16 +104 220 16 +104 221 16 +104 222 16 +104 223 16 +104 224 16 +104 225 16 +104 226 16 +104 227 16 +104 228 16 +104 229 16 +104 230 16 +104 231 16 +104 232 16 +104 233 16 +104 234 16 +104 235 16 +104 236 16 +104 237 16 +104 238 16 +104 239 16 +104 240 16 +104 241 16 +104 242 16 +104 243 16 +104 244 16 +104 245 16 +104 246 16 +104 247 16 +104 248 16 +104 249 16 +104 250 16 +104 251 16 +104 252 16 +104 253 16 +104 254 16 +104 255 16 +104 256 16 +104 257 16 +104 258 16 +104 259 16 +104 260 16 +104 261 16 +104 262 16 +104 263 16 +104 264 16 +104 265 16 +104 266 16 +104 267 16 +104 268 16 +104 269 16 +104 270 16 +104 271 16 +104 272 16 +104 273 16 +104 274 16 +104 275 16 +104 276 16 +104 277 16 +104 278 16 +104 279 16 +104 280 16 +104 281 16 +104 282 16 +104 283 16 +104 284 16 +104 285 16 +104 286 16 +104 287 16 +104 288 16 +104 289 16 +104 290 16 +104 291 16 +104 292 16 +104 293 16 +104 294 16 +104 295 16 +104 296 16 +104 297 16 +104 298 16 +104 299 16 +104 300 16 +104 301 16 +104 302 16 +104 303 16 +104 304 16 +104 305 16 +104 306 16 +104 307 16 +104 308 16 +104 309 16 +104 310 16 +104 311 16 +104 312 16 +104 313 16 +104 314 16 +104 315 16 +104 316 16 +104 317 16 +104 318 16 +104 319 16 +104 320 16 +104 321 16 +104 322 16 +104 323 16 +104 324 16 +104 325 16 +104 326 16 +104 327 16 +104 328 16 +104 329 16 +104 330 16 +104 331 16 +104 332 16 +104 333 16 +104 334 16 +104 335 16 +104 336 16 +104 337 16 +104 338 16 +104 339 16 +104 340 16 +104 341 16 +104 342 16 +104 343 16 +104 344 16 +104 345 16 +104 346 16 +104 347 16 +104 348 16 +104 349 16 +104 350 0 +104 351 0 +104 352 0 +104 353 0 +104 354 0 +104 355 0 +104 356 0 +104 357 0 +104 358 0 +104 359 0 +104 360 0 +104 361 0 +104 362 0 +104 363 0 +104 364 0 +104 365 0 +104 366 0 +104 367 0 +104 368 0 +104 369 0 +104 370 0 +104 371 0 +104 372 0 +104 373 0 +104 374 0 +104 375 0 +104 376 0 +104 377 0 +104 378 0 +104 379 0 +104 380 0 +104 381 0 +104 382 0 +104 383 0 +105 106 16 +105 107 16 +105 108 16 +105 109 16 +105 110 16 +105 111 16 +105 112 16 +105 113 16 +105 114 16 +105 115 16 +105 116 16 +105 117 16 +105 118 16 +105 119 16 +105 120 16 +105 121 16 +105 122 16 +105 123 16 +105 124 16 +105 125 16 +105 126 16 +105 127 16 +105 128 16 +105 129 16 +105 130 16 +105 131 16 +105 132 16 +105 133 16 +105 134 16 +105 135 16 +105 136 16 +105 137 16 +105 138 16 +105 139 16 +105 140 16 +105 141 16 +105 142 16 +105 143 16 +105 144 16 +105 145 16 +105 146 16 +105 147 16 +105 148 16 +105 149 16 +105 150 16 +105 151 16 +105 152 16 +105 153 16 +105 154 16 +105 155 16 +105 156 16 +105 157 16 +105 158 16 +105 159 16 +105 160 16 +105 161 16 +105 162 16 +105 163 16 +105 164 16 +105 165 16 +105 166 16 +105 167 16 +105 168 16 +105 169 16 +105 170 16 +105 171 16 +105 172 16 +105 173 16 +105 174 16 +105 175 16 +105 176 16 +105 177 16 +105 178 16 +105 179 16 +105 180 16 +105 181 16 +105 182 16 +105 183 16 +105 184 16 +105 185 16 +105 186 16 +105 187 16 +105 188 16 +105 189 16 +105 190 16 +105 191 16 +105 192 16 +105 193 16 +105 194 16 +105 195 16 +105 196 16 +105 197 16 +105 198 16 +105 199 16 +105 200 16 +105 201 16 +105 202 16 +105 203 16 +105 204 16 +105 205 16 +105 206 16 +105 207 16 +105 208 16 +105 209 16 +105 210 16 +105 211 16 +105 212 16 +105 213 16 +105 214 16 +105 215 16 +105 216 16 +105 217 16 +105 218 16 +105 219 16 +105 220 16 +105 221 16 +105 222 16 +105 223 16 +105 224 16 +105 225 16 +105 226 16 +105 227 16 +105 228 16 +105 229 16 +105 230 16 +105 231 16 +105 232 16 +105 233 16 +105 234 16 +105 235 16 +105 236 16 +105 237 16 +105 238 16 +105 239 16 +105 240 16 +105 241 16 +105 242 16 +105 243 16 +105 244 16 +105 245 16 +105 246 16 +105 247 16 +105 248 16 +105 249 16 +105 250 16 +105 251 16 +105 252 16 +105 253 16 +105 254 16 +105 255 16 +105 256 16 +105 257 16 +105 258 16 +105 259 16 +105 260 16 +105 261 16 +105 262 16 +105 263 16 +105 264 16 +105 265 16 +105 266 16 +105 267 16 +105 268 16 +105 269 16 +105 270 16 +105 271 16 +105 272 16 +105 273 16 +105 274 16 +105 275 16 +105 276 16 +105 277 16 +105 278 16 +105 279 16 +105 280 16 +105 281 16 +105 282 16 +105 283 16 +105 284 16 +105 285 16 +105 286 16 +105 287 16 +105 288 16 +105 289 16 +105 290 16 +105 291 16 +105 292 16 +105 293 16 +105 294 16 +105 295 16 +105 296 16 +105 297 16 +105 298 16 +105 299 16 +105 300 16 +105 301 16 +105 302 16 +105 303 16 +105 304 16 +105 305 16 +105 306 16 +105 307 16 +105 308 16 +105 309 16 +105 310 16 +105 311 16 +105 312 16 +105 313 16 +105 314 16 +105 315 16 +105 316 16 +105 317 16 +105 318 16 +105 319 16 +105 320 16 +105 321 16 +105 322 16 +105 323 16 +105 324 16 +105 325 16 +105 326 16 +105 327 16 +105 328 16 +105 329 16 +105 330 16 +105 331 16 +105 332 16 +105 333 16 +105 334 16 +105 335 16 +105 336 16 +105 337 16 +105 338 16 +105 339 16 +105 340 16 +105 341 16 +105 342 16 +105 343 16 +105 344 16 +105 345 16 +105 346 16 +105 347 16 +105 348 16 +105 349 16 +105 350 0 +105 351 0 +105 352 0 +105 353 0 +105 354 0 +105 355 0 +105 356 0 +105 357 0 +105 358 0 +105 359 0 +105 360 0 +105 361 0 +105 362 0 +105 363 0 +105 364 0 +105 365 0 +105 366 0 +105 367 0 +105 368 0 +105 369 0 +105 370 0 +105 371 0 +105 372 0 +105 373 0 +105 374 0 +105 375 0 +105 376 0 +105 377 0 +105 378 0 +105 379 0 +105 380 0 +105 381 0 +105 382 0 +105 383 0 +106 107 16 +106 108 16 +106 109 16 +106 110 16 +106 111 16 +106 112 16 +106 113 16 +106 114 16 +106 115 16 +106 116 16 +106 117 16 +106 118 16 +106 119 16 +106 120 16 +106 121 16 +106 122 16 +106 123 16 +106 124 16 +106 125 16 +106 126 16 +106 127 16 +106 128 16 +106 129 16 +106 130 16 +106 131 16 +106 132 16 +106 133 16 +106 134 16 +106 135 16 +106 136 16 +106 137 16 +106 138 16 +106 139 16 +106 140 16 +106 141 16 +106 142 16 +106 143 16 +106 144 16 +106 145 16 +106 146 16 +106 147 16 +106 148 16 +106 149 16 +106 150 16 +106 151 16 +106 152 16 +106 153 16 +106 154 16 +106 155 16 +106 156 16 +106 157 16 +106 158 16 +106 159 16 +106 160 16 +106 161 16 +106 162 16 +106 163 16 +106 164 16 +106 165 16 +106 166 16 +106 167 16 +106 168 16 +106 169 16 +106 170 16 +106 171 16 +106 172 16 +106 173 16 +106 174 16 +106 175 16 +106 176 16 +106 177 16 +106 178 16 +106 179 16 +106 180 16 +106 181 16 +106 182 16 +106 183 16 +106 184 16 +106 185 16 +106 186 16 +106 187 16 +106 188 16 +106 189 16 +106 190 16 +106 191 16 +106 192 16 +106 193 16 +106 194 16 +106 195 16 +106 196 16 +106 197 16 +106 198 16 +106 199 16 +106 200 16 +106 201 16 +106 202 16 +106 203 16 +106 204 16 +106 205 16 +106 206 16 +106 207 16 +106 208 16 +106 209 16 +106 210 16 +106 211 16 +106 212 16 +106 213 16 +106 214 16 +106 215 16 +106 216 16 +106 217 16 +106 218 16 +106 219 16 +106 220 16 +106 221 16 +106 222 16 +106 223 16 +106 224 16 +106 225 16 +106 226 16 +106 227 16 +106 228 16 +106 229 16 +106 230 16 +106 231 16 +106 232 16 +106 233 16 +106 234 16 +106 235 16 +106 236 16 +106 237 16 +106 238 16 +106 239 16 +106 240 16 +106 241 16 +106 242 16 +106 243 16 +106 244 16 +106 245 16 +106 246 16 +106 247 16 +106 248 16 +106 249 16 +106 250 16 +106 251 16 +106 252 16 +106 253 16 +106 254 16 +106 255 16 +106 256 16 +106 257 16 +106 258 16 +106 259 16 +106 260 16 +106 261 16 +106 262 16 +106 263 16 +106 264 16 +106 265 16 +106 266 16 +106 267 16 +106 268 16 +106 269 16 +106 270 16 +106 271 16 +106 272 16 +106 273 16 +106 274 16 +106 275 16 +106 276 16 +106 277 16 +106 278 16 +106 279 16 +106 280 16 +106 281 16 +106 282 16 +106 283 16 +106 284 16 +106 285 16 +106 286 16 +106 287 16 +106 288 16 +106 289 16 +106 290 16 +106 291 16 +106 292 16 +106 293 16 +106 294 16 +106 295 16 +106 296 16 +106 297 16 +106 298 16 +106 299 16 +106 300 16 +106 301 16 +106 302 16 +106 303 16 +106 304 16 +106 305 16 +106 306 16 +106 307 16 +106 308 16 +106 309 16 +106 310 16 +106 311 16 +106 312 16 +106 313 16 +106 314 16 +106 315 16 +106 316 16 +106 317 16 +106 318 16 +106 319 16 +106 320 16 +106 321 16 +106 322 16 +106 323 16 +106 324 16 +106 325 16 +106 326 16 +106 327 16 +106 328 16 +106 329 16 +106 330 16 +106 331 16 +106 332 16 +106 333 16 +106 334 16 +106 335 16 +106 336 16 +106 337 16 +106 338 16 +106 339 16 +106 340 16 +106 341 16 +106 342 16 +106 343 16 +106 344 16 +106 345 16 +106 346 16 +106 347 16 +106 348 16 +106 349 16 +106 350 0 +106 351 0 +106 352 0 +106 353 0 +106 354 0 +106 355 0 +106 356 0 +106 357 0 +106 358 0 +106 359 0 +106 360 0 +106 361 0 +106 362 0 +106 363 0 +106 364 0 +106 365 0 +106 366 0 +106 367 0 +106 368 0 +106 369 0 +106 370 0 +106 371 0 +106 372 0 +106 373 0 +106 374 0 +106 375 0 +106 376 0 +106 377 0 +106 378 0 +106 379 0 +106 380 0 +106 381 0 +106 382 0 +106 383 0 +107 108 16 +107 109 16 +107 110 16 +107 111 16 +107 112 16 +107 113 16 +107 114 16 +107 115 16 +107 116 16 +107 117 16 +107 118 16 +107 119 16 +107 120 16 +107 121 16 +107 122 16 +107 123 16 +107 124 16 +107 125 16 +107 126 16 +107 127 16 +107 128 16 +107 129 16 +107 130 16 +107 131 16 +107 132 16 +107 133 16 +107 134 16 +107 135 16 +107 136 16 +107 137 16 +107 138 16 +107 139 16 +107 140 16 +107 141 16 +107 142 16 +107 143 16 +107 144 16 +107 145 16 +107 146 16 +107 147 16 +107 148 16 +107 149 16 +107 150 16 +107 151 16 +107 152 16 +107 153 16 +107 154 16 +107 155 16 +107 156 16 +107 157 16 +107 158 16 +107 159 16 +107 160 16 +107 161 16 +107 162 16 +107 163 16 +107 164 16 +107 165 16 +107 166 16 +107 167 16 +107 168 16 +107 169 16 +107 170 16 +107 171 16 +107 172 16 +107 173 16 +107 174 16 +107 175 16 +107 176 16 +107 177 16 +107 178 16 +107 179 16 +107 180 16 +107 181 16 +107 182 16 +107 183 16 +107 184 16 +107 185 16 +107 186 16 +107 187 16 +107 188 16 +107 189 16 +107 190 16 +107 191 16 +107 192 16 +107 193 16 +107 194 16 +107 195 16 +107 196 16 +107 197 16 +107 198 16 +107 199 16 +107 200 16 +107 201 16 +107 202 16 +107 203 16 +107 204 16 +107 205 16 +107 206 16 +107 207 16 +107 208 16 +107 209 16 +107 210 16 +107 211 16 +107 212 16 +107 213 16 +107 214 16 +107 215 16 +107 216 16 +107 217 16 +107 218 16 +107 219 16 +107 220 16 +107 221 16 +107 222 16 +107 223 16 +107 224 16 +107 225 16 +107 226 16 +107 227 16 +107 228 16 +107 229 16 +107 230 16 +107 231 16 +107 232 16 +107 233 16 +107 234 16 +107 235 16 +107 236 16 +107 237 16 +107 238 16 +107 239 16 +107 240 16 +107 241 16 +107 242 16 +107 243 16 +107 244 16 +107 245 16 +107 246 16 +107 247 16 +107 248 16 +107 249 16 +107 250 16 +107 251 16 +107 252 16 +107 253 16 +107 254 16 +107 255 16 +107 256 16 +107 257 16 +107 258 16 +107 259 16 +107 260 16 +107 261 16 +107 262 16 +107 263 16 +107 264 16 +107 265 16 +107 266 16 +107 267 16 +107 268 16 +107 269 16 +107 270 16 +107 271 16 +107 272 16 +107 273 16 +107 274 16 +107 275 16 +107 276 16 +107 277 16 +107 278 16 +107 279 16 +107 280 16 +107 281 16 +107 282 16 +107 283 16 +107 284 16 +107 285 16 +107 286 16 +107 287 16 +107 288 16 +107 289 16 +107 290 16 +107 291 16 +107 292 16 +107 293 16 +107 294 16 +107 295 16 +107 296 16 +107 297 16 +107 298 16 +107 299 16 +107 300 16 +107 301 16 +107 302 16 +107 303 16 +107 304 16 +107 305 16 +107 306 16 +107 307 16 +107 308 16 +107 309 16 +107 310 16 +107 311 16 +107 312 16 +107 313 16 +107 314 16 +107 315 16 +107 316 16 +107 317 16 +107 318 16 +107 319 16 +107 320 16 +107 321 16 +107 322 16 +107 323 16 +107 324 16 +107 325 16 +107 326 16 +107 327 16 +107 328 16 +107 329 16 +107 330 16 +107 331 16 +107 332 16 +107 333 16 +107 334 16 +107 335 16 +107 336 16 +107 337 16 +107 338 16 +107 339 16 +107 340 16 +107 341 16 +107 342 16 +107 343 16 +107 344 16 +107 345 16 +107 346 16 +107 347 16 +107 348 16 +107 349 16 +107 350 0 +107 351 0 +107 352 0 +107 353 0 +107 354 0 +107 355 0 +107 356 0 +107 357 0 +107 358 0 +107 359 0 +107 360 0 +107 361 0 +107 362 0 +107 363 0 +107 364 0 +107 365 0 +107 366 0 +107 367 0 +107 368 0 +107 369 0 +107 370 0 +107 371 0 +107 372 0 +107 373 0 +107 374 0 +107 375 0 +107 376 0 +107 377 0 +107 378 0 +107 379 0 +107 380 0 +107 381 0 +107 382 0 +107 383 0 +108 109 16 +108 110 16 +108 111 16 +108 112 16 +108 113 16 +108 114 16 +108 115 16 +108 116 16 +108 117 16 +108 118 16 +108 119 16 +108 120 16 +108 121 16 +108 122 16 +108 123 16 +108 124 16 +108 125 16 +108 126 16 +108 127 16 +108 128 16 +108 129 16 +108 130 16 +108 131 16 +108 132 16 +108 133 16 +108 134 16 +108 135 16 +108 136 16 +108 137 16 +108 138 16 +108 139 16 +108 140 16 +108 141 16 +108 142 16 +108 143 16 +108 144 16 +108 145 16 +108 146 16 +108 147 16 +108 148 16 +108 149 16 +108 150 16 +108 151 16 +108 152 16 +108 153 16 +108 154 16 +108 155 16 +108 156 16 +108 157 16 +108 158 16 +108 159 16 +108 160 16 +108 161 16 +108 162 16 +108 163 16 +108 164 16 +108 165 16 +108 166 16 +108 167 16 +108 168 16 +108 169 16 +108 170 16 +108 171 16 +108 172 16 +108 173 16 +108 174 16 +108 175 16 +108 176 16 +108 177 16 +108 178 16 +108 179 16 +108 180 16 +108 181 16 +108 182 16 +108 183 16 +108 184 16 +108 185 16 +108 186 16 +108 187 16 +108 188 16 +108 189 16 +108 190 16 +108 191 16 +108 192 16 +108 193 16 +108 194 16 +108 195 16 +108 196 16 +108 197 16 +108 198 16 +108 199 16 +108 200 16 +108 201 16 +108 202 16 +108 203 16 +108 204 16 +108 205 16 +108 206 16 +108 207 16 +108 208 16 +108 209 16 +108 210 16 +108 211 16 +108 212 16 +108 213 16 +108 214 16 +108 215 16 +108 216 16 +108 217 16 +108 218 16 +108 219 16 +108 220 16 +108 221 16 +108 222 16 +108 223 16 +108 224 16 +108 225 16 +108 226 16 +108 227 16 +108 228 16 +108 229 16 +108 230 16 +108 231 16 +108 232 16 +108 233 16 +108 234 16 +108 235 16 +108 236 16 +108 237 16 +108 238 16 +108 239 16 +108 240 16 +108 241 16 +108 242 16 +108 243 16 +108 244 16 +108 245 16 +108 246 16 +108 247 16 +108 248 16 +108 249 16 +108 250 16 +108 251 16 +108 252 16 +108 253 16 +108 254 16 +108 255 16 +108 256 16 +108 257 16 +108 258 16 +108 259 16 +108 260 16 +108 261 16 +108 262 16 +108 263 16 +108 264 16 +108 265 16 +108 266 16 +108 267 16 +108 268 16 +108 269 16 +108 270 16 +108 271 16 +108 272 16 +108 273 16 +108 274 16 +108 275 16 +108 276 16 +108 277 16 +108 278 16 +108 279 16 +108 280 16 +108 281 16 +108 282 16 +108 283 16 +108 284 16 +108 285 16 +108 286 16 +108 287 16 +108 288 16 +108 289 16 +108 290 16 +108 291 16 +108 292 16 +108 293 16 +108 294 16 +108 295 16 +108 296 16 +108 297 16 +108 298 16 +108 299 16 +108 300 16 +108 301 16 +108 302 16 +108 303 16 +108 304 16 +108 305 16 +108 306 16 +108 307 16 +108 308 16 +108 309 16 +108 310 16 +108 311 16 +108 312 16 +108 313 16 +108 314 16 +108 315 16 +108 316 16 +108 317 16 +108 318 16 +108 319 16 +108 320 16 +108 321 16 +108 322 16 +108 323 16 +108 324 16 +108 325 16 +108 326 16 +108 327 16 +108 328 16 +108 329 16 +108 330 16 +108 331 16 +108 332 16 +108 333 16 +108 334 16 +108 335 16 +108 336 16 +108 337 16 +108 338 16 +108 339 16 +108 340 16 +108 341 16 +108 342 16 +108 343 16 +108 344 16 +108 345 16 +108 346 16 +108 347 16 +108 348 16 +108 349 16 +108 350 0 +108 351 0 +108 352 0 +108 353 0 +108 354 0 +108 355 0 +108 356 0 +108 357 0 +108 358 0 +108 359 0 +108 360 0 +108 361 0 +108 362 0 +108 363 0 +108 364 0 +108 365 0 +108 366 0 +108 367 0 +108 368 0 +108 369 0 +108 370 0 +108 371 0 +108 372 0 +108 373 0 +108 374 0 +108 375 0 +108 376 0 +108 377 0 +108 378 0 +108 379 0 +108 380 0 +108 381 0 +108 382 0 +108 383 0 +109 110 16 +109 111 16 +109 112 16 +109 113 16 +109 114 16 +109 115 16 +109 116 16 +109 117 16 +109 118 16 +109 119 16 +109 120 16 +109 121 16 +109 122 16 +109 123 16 +109 124 16 +109 125 16 +109 126 16 +109 127 16 +109 128 16 +109 129 16 +109 130 16 +109 131 16 +109 132 16 +109 133 16 +109 134 16 +109 135 16 +109 136 16 +109 137 16 +109 138 16 +109 139 16 +109 140 16 +109 141 16 +109 142 16 +109 143 16 +109 144 16 +109 145 16 +109 146 16 +109 147 16 +109 148 16 +109 149 16 +109 150 16 +109 151 16 +109 152 16 +109 153 16 +109 154 16 +109 155 16 +109 156 16 +109 157 16 +109 158 16 +109 159 16 +109 160 16 +109 161 16 +109 162 16 +109 163 16 +109 164 16 +109 165 16 +109 166 16 +109 167 16 +109 168 16 +109 169 16 +109 170 16 +109 171 16 +109 172 16 +109 173 16 +109 174 16 +109 175 16 +109 176 16 +109 177 16 +109 178 16 +109 179 16 +109 180 16 +109 181 16 +109 182 16 +109 183 16 +109 184 16 +109 185 16 +109 186 16 +109 187 16 +109 188 16 +109 189 16 +109 190 16 +109 191 16 +109 192 16 +109 193 16 +109 194 16 +109 195 16 +109 196 16 +109 197 16 +109 198 16 +109 199 16 +109 200 16 +109 201 16 +109 202 16 +109 203 16 +109 204 16 +109 205 16 +109 206 16 +109 207 16 +109 208 16 +109 209 16 +109 210 16 +109 211 16 +109 212 16 +109 213 16 +109 214 16 +109 215 16 +109 216 16 +109 217 16 +109 218 16 +109 219 16 +109 220 16 +109 221 16 +109 222 16 +109 223 16 +109 224 16 +109 225 16 +109 226 16 +109 227 16 +109 228 16 +109 229 16 +109 230 16 +109 231 16 +109 232 16 +109 233 16 +109 234 16 +109 235 16 +109 236 16 +109 237 16 +109 238 16 +109 239 16 +109 240 16 +109 241 16 +109 242 16 +109 243 16 +109 244 16 +109 245 16 +109 246 16 +109 247 16 +109 248 16 +109 249 16 +109 250 16 +109 251 16 +109 252 16 +109 253 16 +109 254 16 +109 255 16 +109 256 16 +109 257 16 +109 258 16 +109 259 16 +109 260 16 +109 261 16 +109 262 16 +109 263 16 +109 264 16 +109 265 16 +109 266 16 +109 267 16 +109 268 16 +109 269 16 +109 270 16 +109 271 16 +109 272 16 +109 273 16 +109 274 16 +109 275 16 +109 276 16 +109 277 16 +109 278 16 +109 279 16 +109 280 16 +109 281 16 +109 282 16 +109 283 16 +109 284 16 +109 285 16 +109 286 16 +109 287 16 +109 288 16 +109 289 16 +109 290 16 +109 291 16 +109 292 16 +109 293 16 +109 294 16 +109 295 16 +109 296 16 +109 297 16 +109 298 16 +109 299 16 +109 300 16 +109 301 16 +109 302 16 +109 303 16 +109 304 16 +109 305 16 +109 306 16 +109 307 16 +109 308 16 +109 309 16 +109 310 16 +109 311 16 +109 312 16 +109 313 16 +109 314 16 +109 315 16 +109 316 16 +109 317 16 +109 318 16 +109 319 16 +109 320 16 +109 321 16 +109 322 16 +109 323 16 +109 324 16 +109 325 16 +109 326 16 +109 327 16 +109 328 16 +109 329 16 +109 330 16 +109 331 16 +109 332 16 +109 333 16 +109 334 16 +109 335 16 +109 336 16 +109 337 16 +109 338 16 +109 339 16 +109 340 16 +109 341 16 +109 342 16 +109 343 16 +109 344 16 +109 345 16 +109 346 16 +109 347 16 +109 348 16 +109 349 16 +109 350 0 +109 351 0 +109 352 0 +109 353 0 +109 354 0 +109 355 0 +109 356 0 +109 357 0 +109 358 0 +109 359 0 +109 360 0 +109 361 0 +109 362 0 +109 363 0 +109 364 0 +109 365 0 +109 366 0 +109 367 0 +109 368 0 +109 369 0 +109 370 0 +109 371 0 +109 372 0 +109 373 0 +109 374 0 +109 375 0 +109 376 0 +109 377 0 +109 378 0 +109 379 0 +109 380 0 +109 381 0 +109 382 0 +109 383 0 +110 111 16 +110 112 16 +110 113 16 +110 114 16 +110 115 16 +110 116 16 +110 117 16 +110 118 16 +110 119 16 +110 120 16 +110 121 16 +110 122 16 +110 123 16 +110 124 16 +110 125 16 +110 126 16 +110 127 16 +110 128 16 +110 129 16 +110 130 16 +110 131 16 +110 132 16 +110 133 16 +110 134 16 +110 135 16 +110 136 16 +110 137 16 +110 138 16 +110 139 16 +110 140 16 +110 141 16 +110 142 16 +110 143 16 +110 144 16 +110 145 16 +110 146 16 +110 147 16 +110 148 16 +110 149 16 +110 150 16 +110 151 16 +110 152 16 +110 153 16 +110 154 16 +110 155 16 +110 156 16 +110 157 16 +110 158 16 +110 159 16 +110 160 16 +110 161 16 +110 162 16 +110 163 16 +110 164 16 +110 165 16 +110 166 16 +110 167 16 +110 168 16 +110 169 16 +110 170 16 +110 171 16 +110 172 16 +110 173 16 +110 174 16 +110 175 16 +110 176 16 +110 177 16 +110 178 16 +110 179 16 +110 180 16 +110 181 16 +110 182 16 +110 183 16 +110 184 16 +110 185 16 +110 186 16 +110 187 16 +110 188 16 +110 189 16 +110 190 16 +110 191 16 +110 192 16 +110 193 16 +110 194 16 +110 195 16 +110 196 16 +110 197 16 +110 198 16 +110 199 16 +110 200 16 +110 201 16 +110 202 16 +110 203 16 +110 204 16 +110 205 16 +110 206 16 +110 207 16 +110 208 16 +110 209 16 +110 210 16 +110 211 16 +110 212 16 +110 213 16 +110 214 16 +110 215 16 +110 216 16 +110 217 16 +110 218 16 +110 219 16 +110 220 16 +110 221 16 +110 222 16 +110 223 16 +110 224 16 +110 225 16 +110 226 16 +110 227 16 +110 228 16 +110 229 16 +110 230 16 +110 231 16 +110 232 16 +110 233 16 +110 234 16 +110 235 16 +110 236 16 +110 237 16 +110 238 16 +110 239 16 +110 240 16 +110 241 16 +110 242 16 +110 243 16 +110 244 16 +110 245 16 +110 246 16 +110 247 16 +110 248 16 +110 249 16 +110 250 16 +110 251 16 +110 252 16 +110 253 16 +110 254 16 +110 255 16 +110 256 16 +110 257 16 +110 258 16 +110 259 16 +110 260 16 +110 261 16 +110 262 16 +110 263 16 +110 264 16 +110 265 16 +110 266 16 +110 267 16 +110 268 16 +110 269 16 +110 270 16 +110 271 16 +110 272 16 +110 273 16 +110 274 16 +110 275 16 +110 276 16 +110 277 16 +110 278 16 +110 279 16 +110 280 16 +110 281 16 +110 282 16 +110 283 16 +110 284 16 +110 285 16 +110 286 16 +110 287 16 +110 288 16 +110 289 16 +110 290 16 +110 291 16 +110 292 16 +110 293 16 +110 294 16 +110 295 16 +110 296 16 +110 297 16 +110 298 16 +110 299 16 +110 300 16 +110 301 16 +110 302 16 +110 303 16 +110 304 16 +110 305 16 +110 306 16 +110 307 16 +110 308 16 +110 309 16 +110 310 16 +110 311 16 +110 312 16 +110 313 16 +110 314 16 +110 315 16 +110 316 16 +110 317 16 +110 318 16 +110 319 16 +110 320 16 +110 321 16 +110 322 16 +110 323 16 +110 324 16 +110 325 16 +110 326 16 +110 327 16 +110 328 16 +110 329 16 +110 330 16 +110 331 16 +110 332 16 +110 333 16 +110 334 16 +110 335 16 +110 336 16 +110 337 16 +110 338 16 +110 339 16 +110 340 16 +110 341 16 +110 342 16 +110 343 16 +110 344 16 +110 345 16 +110 346 16 +110 347 16 +110 348 16 +110 349 16 +110 350 0 +110 351 0 +110 352 0 +110 353 0 +110 354 0 +110 355 0 +110 356 0 +110 357 0 +110 358 0 +110 359 0 +110 360 0 +110 361 0 +110 362 0 +110 363 0 +110 364 0 +110 365 0 +110 366 0 +110 367 0 +110 368 0 +110 369 0 +110 370 0 +110 371 0 +110 372 0 +110 373 0 +110 374 0 +110 375 0 +110 376 0 +110 377 0 +110 378 0 +110 379 0 +110 380 0 +110 381 0 +110 382 0 +110 383 0 +111 112 16 +111 113 16 +111 114 16 +111 115 16 +111 116 16 +111 117 16 +111 118 16 +111 119 16 +111 120 16 +111 121 16 +111 122 16 +111 123 16 +111 124 16 +111 125 16 +111 126 16 +111 127 16 +111 128 16 +111 129 16 +111 130 16 +111 131 16 +111 132 16 +111 133 16 +111 134 16 +111 135 16 +111 136 16 +111 137 16 +111 138 16 +111 139 16 +111 140 16 +111 141 16 +111 142 16 +111 143 16 +111 144 16 +111 145 16 +111 146 16 +111 147 16 +111 148 16 +111 149 16 +111 150 16 +111 151 16 +111 152 16 +111 153 16 +111 154 16 +111 155 16 +111 156 16 +111 157 16 +111 158 16 +111 159 16 +111 160 16 +111 161 16 +111 162 16 +111 163 16 +111 164 16 +111 165 16 +111 166 16 +111 167 16 +111 168 16 +111 169 16 +111 170 16 +111 171 16 +111 172 16 +111 173 16 +111 174 16 +111 175 16 +111 176 16 +111 177 16 +111 178 16 +111 179 16 +111 180 16 +111 181 16 +111 182 16 +111 183 16 +111 184 16 +111 185 16 +111 186 16 +111 187 16 +111 188 16 +111 189 16 +111 190 16 +111 191 16 +111 192 16 +111 193 16 +111 194 16 +111 195 16 +111 196 16 +111 197 16 +111 198 16 +111 199 16 +111 200 16 +111 201 16 +111 202 16 +111 203 16 +111 204 16 +111 205 16 +111 206 16 +111 207 16 +111 208 16 +111 209 16 +111 210 16 +111 211 16 +111 212 16 +111 213 16 +111 214 16 +111 215 16 +111 216 16 +111 217 16 +111 218 16 +111 219 16 +111 220 16 +111 221 16 +111 222 16 +111 223 16 +111 224 16 +111 225 16 +111 226 16 +111 227 16 +111 228 16 +111 229 16 +111 230 16 +111 231 16 +111 232 16 +111 233 16 +111 234 16 +111 235 16 +111 236 16 +111 237 16 +111 238 16 +111 239 16 +111 240 16 +111 241 16 +111 242 16 +111 243 16 +111 244 16 +111 245 16 +111 246 16 +111 247 16 +111 248 16 +111 249 16 +111 250 16 +111 251 16 +111 252 16 +111 253 16 +111 254 16 +111 255 16 +111 256 16 +111 257 16 +111 258 16 +111 259 16 +111 260 16 +111 261 16 +111 262 16 +111 263 16 +111 264 16 +111 265 16 +111 266 16 +111 267 16 +111 268 16 +111 269 16 +111 270 16 +111 271 16 +111 272 16 +111 273 16 +111 274 16 +111 275 16 +111 276 16 +111 277 16 +111 278 16 +111 279 16 +111 280 16 +111 281 16 +111 282 16 +111 283 16 +111 284 16 +111 285 16 +111 286 16 +111 287 16 +111 288 16 +111 289 16 +111 290 16 +111 291 16 +111 292 16 +111 293 16 +111 294 16 +111 295 16 +111 296 16 +111 297 16 +111 298 16 +111 299 16 +111 300 16 +111 301 16 +111 302 16 +111 303 16 +111 304 16 +111 305 16 +111 306 16 +111 307 16 +111 308 16 +111 309 16 +111 310 16 +111 311 16 +111 312 16 +111 313 16 +111 314 16 +111 315 16 +111 316 16 +111 317 16 +111 318 16 +111 319 16 +111 320 16 +111 321 16 +111 322 16 +111 323 16 +111 324 16 +111 325 16 +111 326 16 +111 327 16 +111 328 16 +111 329 16 +111 330 16 +111 331 16 +111 332 16 +111 333 16 +111 334 16 +111 335 16 +111 336 16 +111 337 16 +111 338 16 +111 339 16 +111 340 16 +111 341 16 +111 342 16 +111 343 16 +111 344 16 +111 345 16 +111 346 16 +111 347 16 +111 348 16 +111 349 16 +111 350 0 +111 351 0 +111 352 0 +111 353 0 +111 354 0 +111 355 0 +111 356 0 +111 357 0 +111 358 0 +111 359 0 +111 360 0 +111 361 0 +111 362 0 +111 363 0 +111 364 0 +111 365 0 +111 366 0 +111 367 0 +111 368 0 +111 369 0 +111 370 0 +111 371 0 +111 372 0 +111 373 0 +111 374 0 +111 375 0 +111 376 0 +111 377 0 +111 378 0 +111 379 0 +111 380 0 +111 381 0 +111 382 0 +111 383 0 +112 113 16 +112 114 16 +112 115 16 +112 116 16 +112 117 16 +112 118 16 +112 119 16 +112 120 16 +112 121 16 +112 122 16 +112 123 16 +112 124 16 +112 125 16 +112 126 16 +112 127 16 +112 128 16 +112 129 16 +112 130 16 +112 131 16 +112 132 16 +112 133 16 +112 134 16 +112 135 16 +112 136 16 +112 137 16 +112 138 16 +112 139 16 +112 140 16 +112 141 16 +112 142 16 +112 143 16 +112 144 16 +112 145 16 +112 146 16 +112 147 16 +112 148 16 +112 149 16 +112 150 16 +112 151 16 +112 152 16 +112 153 16 +112 154 16 +112 155 16 +112 156 16 +112 157 16 +112 158 16 +112 159 16 +112 160 16 +112 161 16 +112 162 16 +112 163 16 +112 164 16 +112 165 16 +112 166 16 +112 167 16 +112 168 16 +112 169 16 +112 170 16 +112 171 16 +112 172 16 +112 173 16 +112 174 16 +112 175 16 +112 176 16 +112 177 16 +112 178 16 +112 179 16 +112 180 16 +112 181 16 +112 182 16 +112 183 16 +112 184 16 +112 185 16 +112 186 16 +112 187 16 +112 188 16 +112 189 16 +112 190 16 +112 191 16 +112 192 16 +112 193 16 +112 194 16 +112 195 16 +112 196 16 +112 197 16 +112 198 16 +112 199 16 +112 200 16 +112 201 16 +112 202 16 +112 203 16 +112 204 16 +112 205 16 +112 206 16 +112 207 16 +112 208 16 +112 209 16 +112 210 16 +112 211 16 +112 212 16 +112 213 16 +112 214 16 +112 215 16 +112 216 16 +112 217 16 +112 218 16 +112 219 16 +112 220 16 +112 221 16 +112 222 16 +112 223 16 +112 224 16 +112 225 16 +112 226 16 +112 227 16 +112 228 16 +112 229 16 +112 230 16 +112 231 16 +112 232 16 +112 233 16 +112 234 16 +112 235 16 +112 236 16 +112 237 16 +112 238 16 +112 239 16 +112 240 16 +112 241 16 +112 242 16 +112 243 16 +112 244 16 +112 245 16 +112 246 16 +112 247 16 +112 248 16 +112 249 16 +112 250 16 +112 251 16 +112 252 16 +112 253 16 +112 254 16 +112 255 16 +112 256 16 +112 257 16 +112 258 16 +112 259 16 +112 260 16 +112 261 16 +112 262 16 +112 263 16 +112 264 16 +112 265 16 +112 266 16 +112 267 16 +112 268 16 +112 269 16 +112 270 16 +112 271 16 +112 272 16 +112 273 16 +112 274 16 +112 275 16 +112 276 16 +112 277 16 +112 278 16 +112 279 16 +112 280 16 +112 281 16 +112 282 16 +112 283 16 +112 284 16 +112 285 16 +112 286 16 +112 287 16 +112 288 16 +112 289 16 +112 290 16 +112 291 16 +112 292 16 +112 293 16 +112 294 16 +112 295 16 +112 296 16 +112 297 16 +112 298 16 +112 299 16 +112 300 16 +112 301 16 +112 302 16 +112 303 16 +112 304 16 +112 305 16 +112 306 16 +112 307 16 +112 308 16 +112 309 16 +112 310 16 +112 311 16 +112 312 16 +112 313 16 +112 314 16 +112 315 16 +112 316 16 +112 317 16 +112 318 16 +112 319 16 +112 320 16 +112 321 16 +112 322 16 +112 323 16 +112 324 16 +112 325 16 +112 326 16 +112 327 16 +112 328 16 +112 329 16 +112 330 16 +112 331 16 +112 332 16 +112 333 16 +112 334 16 +112 335 16 +112 336 16 +112 337 16 +112 338 16 +112 339 16 +112 340 16 +112 341 16 +112 342 16 +112 343 16 +112 344 16 +112 345 16 +112 346 16 +112 347 16 +112 348 16 +112 349 16 +112 350 0 +112 351 0 +112 352 0 +112 353 0 +112 354 0 +112 355 0 +112 356 0 +112 357 0 +112 358 0 +112 359 0 +112 360 0 +112 361 0 +112 362 0 +112 363 0 +112 364 0 +112 365 0 +112 366 0 +112 367 0 +112 368 0 +112 369 0 +112 370 0 +112 371 0 +112 372 0 +112 373 0 +112 374 0 +112 375 0 +112 376 0 +112 377 0 +112 378 0 +112 379 0 +112 380 0 +112 381 0 +112 382 0 +112 383 0 +113 114 16 +113 115 16 +113 116 16 +113 117 16 +113 118 16 +113 119 16 +113 120 16 +113 121 16 +113 122 16 +113 123 16 +113 124 16 +113 125 16 +113 126 16 +113 127 16 +113 128 16 +113 129 16 +113 130 16 +113 131 16 +113 132 16 +113 133 16 +113 134 16 +113 135 16 +113 136 16 +113 137 16 +113 138 16 +113 139 16 +113 140 16 +113 141 16 +113 142 16 +113 143 16 +113 144 16 +113 145 16 +113 146 16 +113 147 16 +113 148 16 +113 149 16 +113 150 16 +113 151 16 +113 152 16 +113 153 16 +113 154 16 +113 155 16 +113 156 16 +113 157 16 +113 158 16 +113 159 16 +113 160 16 +113 161 16 +113 162 16 +113 163 16 +113 164 16 +113 165 16 +113 166 16 +113 167 16 +113 168 16 +113 169 16 +113 170 16 +113 171 16 +113 172 16 +113 173 16 +113 174 16 +113 175 16 +113 176 16 +113 177 16 +113 178 16 +113 179 16 +113 180 16 +113 181 16 +113 182 16 +113 183 16 +113 184 16 +113 185 16 +113 186 16 +113 187 16 +113 188 16 +113 189 16 +113 190 16 +113 191 16 +113 192 16 +113 193 16 +113 194 16 +113 195 16 +113 196 16 +113 197 16 +113 198 16 +113 199 16 +113 200 16 +113 201 16 +113 202 16 +113 203 16 +113 204 16 +113 205 16 +113 206 16 +113 207 16 +113 208 16 +113 209 16 +113 210 16 +113 211 16 +113 212 16 +113 213 16 +113 214 16 +113 215 16 +113 216 16 +113 217 16 +113 218 16 +113 219 16 +113 220 16 +113 221 16 +113 222 16 +113 223 16 +113 224 16 +113 225 16 +113 226 16 +113 227 16 +113 228 16 +113 229 16 +113 230 16 +113 231 16 +113 232 16 +113 233 16 +113 234 16 +113 235 16 +113 236 16 +113 237 16 +113 238 16 +113 239 16 +113 240 16 +113 241 16 +113 242 16 +113 243 16 +113 244 16 +113 245 16 +113 246 16 +113 247 16 +113 248 16 +113 249 16 +113 250 16 +113 251 16 +113 252 16 +113 253 16 +113 254 16 +113 255 16 +113 256 16 +113 257 16 +113 258 16 +113 259 16 +113 260 16 +113 261 16 +113 262 16 +113 263 16 +113 264 16 +113 265 16 +113 266 16 +113 267 16 +113 268 16 +113 269 16 +113 270 16 +113 271 16 +113 272 16 +113 273 16 +113 274 16 +113 275 16 +113 276 16 +113 277 16 +113 278 16 +113 279 16 +113 280 16 +113 281 16 +113 282 16 +113 283 16 +113 284 16 +113 285 16 +113 286 16 +113 287 16 +113 288 16 +113 289 16 +113 290 16 +113 291 16 +113 292 16 +113 293 16 +113 294 16 +113 295 16 +113 296 16 +113 297 16 +113 298 16 +113 299 16 +113 300 16 +113 301 16 +113 302 16 +113 303 16 +113 304 16 +113 305 16 +113 306 16 +113 307 16 +113 308 16 +113 309 16 +113 310 16 +113 311 16 +113 312 16 +113 313 16 +113 314 16 +113 315 16 +113 316 16 +113 317 16 +113 318 16 +113 319 16 +113 320 16 +113 321 16 +113 322 16 +113 323 16 +113 324 16 +113 325 16 +113 326 16 +113 327 16 +113 328 16 +113 329 16 +113 330 16 +113 331 16 +113 332 16 +113 333 16 +113 334 16 +113 335 16 +113 336 16 +113 337 16 +113 338 16 +113 339 16 +113 340 16 +113 341 16 +113 342 16 +113 343 16 +113 344 16 +113 345 16 +113 346 16 +113 347 16 +113 348 16 +113 349 16 +113 350 0 +113 351 0 +113 352 0 +113 353 0 +113 354 0 +113 355 0 +113 356 0 +113 357 0 +113 358 0 +113 359 0 +113 360 0 +113 361 0 +113 362 0 +113 363 0 +113 364 0 +113 365 0 +113 366 0 +113 367 0 +113 368 0 +113 369 0 +113 370 0 +113 371 0 +113 372 0 +113 373 0 +113 374 0 +113 375 0 +113 376 0 +113 377 0 +113 378 0 +113 379 0 +113 380 0 +113 381 0 +113 382 0 +113 383 0 +114 115 16 +114 116 16 +114 117 16 +114 118 16 +114 119 16 +114 120 16 +114 121 16 +114 122 16 +114 123 16 +114 124 16 +114 125 16 +114 126 16 +114 127 16 +114 128 16 +114 129 16 +114 130 16 +114 131 16 +114 132 16 +114 133 16 +114 134 16 +114 135 16 +114 136 16 +114 137 16 +114 138 16 +114 139 16 +114 140 16 +114 141 16 +114 142 16 +114 143 16 +114 144 16 +114 145 16 +114 146 16 +114 147 16 +114 148 16 +114 149 16 +114 150 16 +114 151 16 +114 152 16 +114 153 16 +114 154 16 +114 155 16 +114 156 16 +114 157 16 +114 158 16 +114 159 16 +114 160 16 +114 161 16 +114 162 16 +114 163 16 +114 164 16 +114 165 16 +114 166 16 +114 167 16 +114 168 16 +114 169 16 +114 170 16 +114 171 16 +114 172 16 +114 173 16 +114 174 16 +114 175 16 +114 176 16 +114 177 16 +114 178 16 +114 179 16 +114 180 16 +114 181 16 +114 182 16 +114 183 16 +114 184 16 +114 185 16 +114 186 16 +114 187 16 +114 188 16 +114 189 16 +114 190 16 +114 191 16 +114 192 16 +114 193 16 +114 194 16 +114 195 16 +114 196 16 +114 197 16 +114 198 16 +114 199 16 +114 200 16 +114 201 16 +114 202 16 +114 203 16 +114 204 16 +114 205 16 +114 206 16 +114 207 16 +114 208 16 +114 209 16 +114 210 16 +114 211 16 +114 212 16 +114 213 16 +114 214 16 +114 215 16 +114 216 16 +114 217 16 +114 218 16 +114 219 16 +114 220 16 +114 221 16 +114 222 16 +114 223 16 +114 224 16 +114 225 16 +114 226 16 +114 227 16 +114 228 16 +114 229 16 +114 230 16 +114 231 16 +114 232 16 +114 233 16 +114 234 16 +114 235 16 +114 236 16 +114 237 16 +114 238 16 +114 239 16 +114 240 16 +114 241 16 +114 242 16 +114 243 16 +114 244 16 +114 245 16 +114 246 16 +114 247 16 +114 248 16 +114 249 16 +114 250 16 +114 251 16 +114 252 16 +114 253 16 +114 254 16 +114 255 16 +114 256 16 +114 257 16 +114 258 16 +114 259 16 +114 260 16 +114 261 16 +114 262 16 +114 263 16 +114 264 16 +114 265 16 +114 266 16 +114 267 16 +114 268 16 +114 269 16 +114 270 16 +114 271 16 +114 272 16 +114 273 16 +114 274 16 +114 275 16 +114 276 16 +114 277 16 +114 278 16 +114 279 16 +114 280 16 +114 281 16 +114 282 16 +114 283 16 +114 284 16 +114 285 16 +114 286 16 +114 287 16 +114 288 16 +114 289 16 +114 290 16 +114 291 16 +114 292 16 +114 293 16 +114 294 16 +114 295 16 +114 296 16 +114 297 16 +114 298 16 +114 299 16 +114 300 16 +114 301 16 +114 302 16 +114 303 16 +114 304 16 +114 305 16 +114 306 16 +114 307 16 +114 308 16 +114 309 16 +114 310 16 +114 311 16 +114 312 16 +114 313 16 +114 314 16 +114 315 16 +114 316 16 +114 317 16 +114 318 16 +114 319 16 +114 320 16 +114 321 16 +114 322 16 +114 323 16 +114 324 16 +114 325 16 +114 326 16 +114 327 16 +114 328 16 +114 329 16 +114 330 16 +114 331 16 +114 332 16 +114 333 16 +114 334 16 +114 335 16 +114 336 16 +114 337 16 +114 338 16 +114 339 16 +114 340 16 +114 341 16 +114 342 16 +114 343 16 +114 344 16 +114 345 16 +114 346 16 +114 347 16 +114 348 16 +114 349 16 +114 350 0 +114 351 0 +114 352 0 +114 353 0 +114 354 0 +114 355 0 +114 356 0 +114 357 0 +114 358 0 +114 359 0 +114 360 0 +114 361 0 +114 362 0 +114 363 0 +114 364 0 +114 365 0 +114 366 0 +114 367 0 +114 368 0 +114 369 0 +114 370 0 +114 371 0 +114 372 0 +114 373 0 +114 374 0 +114 375 0 +114 376 0 +114 377 0 +114 378 0 +114 379 0 +114 380 0 +114 381 0 +114 382 0 +114 383 0 +115 116 16 +115 117 16 +115 118 16 +115 119 16 +115 120 16 +115 121 16 +115 122 16 +115 123 16 +115 124 16 +115 125 16 +115 126 16 +115 127 16 +115 128 16 +115 129 16 +115 130 16 +115 131 16 +115 132 16 +115 133 16 +115 134 16 +115 135 16 +115 136 16 +115 137 16 +115 138 16 +115 139 16 +115 140 16 +115 141 16 +115 142 16 +115 143 16 +115 144 16 +115 145 16 +115 146 16 +115 147 16 +115 148 16 +115 149 16 +115 150 16 +115 151 16 +115 152 16 +115 153 16 +115 154 16 +115 155 16 +115 156 16 +115 157 16 +115 158 16 +115 159 16 +115 160 16 +115 161 16 +115 162 16 +115 163 16 +115 164 16 +115 165 16 +115 166 16 +115 167 16 +115 168 16 +115 169 16 +115 170 16 +115 171 16 +115 172 16 +115 173 16 +115 174 16 +115 175 16 +115 176 16 +115 177 16 +115 178 16 +115 179 16 +115 180 16 +115 181 16 +115 182 16 +115 183 16 +115 184 16 +115 185 16 +115 186 16 +115 187 16 +115 188 16 +115 189 16 +115 190 16 +115 191 16 +115 192 16 +115 193 16 +115 194 16 +115 195 16 +115 196 16 +115 197 16 +115 198 16 +115 199 16 +115 200 16 +115 201 16 +115 202 16 +115 203 16 +115 204 16 +115 205 16 +115 206 16 +115 207 16 +115 208 16 +115 209 16 +115 210 16 +115 211 16 +115 212 16 +115 213 16 +115 214 16 +115 215 16 +115 216 16 +115 217 16 +115 218 16 +115 219 16 +115 220 16 +115 221 16 +115 222 16 +115 223 16 +115 224 16 +115 225 16 +115 226 16 +115 227 16 +115 228 16 +115 229 16 +115 230 16 +115 231 16 +115 232 16 +115 233 16 +115 234 16 +115 235 16 +115 236 16 +115 237 16 +115 238 16 +115 239 16 +115 240 16 +115 241 16 +115 242 16 +115 243 16 +115 244 16 +115 245 16 +115 246 16 +115 247 16 +115 248 16 +115 249 16 +115 250 16 +115 251 16 +115 252 16 +115 253 16 +115 254 16 +115 255 16 +115 256 16 +115 257 16 +115 258 16 +115 259 16 +115 260 16 +115 261 16 +115 262 16 +115 263 16 +115 264 16 +115 265 16 +115 266 16 +115 267 16 +115 268 16 +115 269 16 +115 270 16 +115 271 16 +115 272 16 +115 273 16 +115 274 16 +115 275 16 +115 276 16 +115 277 16 +115 278 16 +115 279 16 +115 280 16 +115 281 16 +115 282 16 +115 283 16 +115 284 16 +115 285 16 +115 286 16 +115 287 16 +115 288 16 +115 289 16 +115 290 16 +115 291 16 +115 292 16 +115 293 16 +115 294 16 +115 295 16 +115 296 16 +115 297 16 +115 298 16 +115 299 16 +115 300 16 +115 301 16 +115 302 16 +115 303 16 +115 304 16 +115 305 16 +115 306 16 +115 307 16 +115 308 16 +115 309 16 +115 310 16 +115 311 16 +115 312 16 +115 313 16 +115 314 16 +115 315 16 +115 316 16 +115 317 16 +115 318 16 +115 319 16 +115 320 16 +115 321 16 +115 322 16 +115 323 16 +115 324 16 +115 325 16 +115 326 16 +115 327 16 +115 328 16 +115 329 16 +115 330 16 +115 331 16 +115 332 16 +115 333 16 +115 334 16 +115 335 16 +115 336 16 +115 337 16 +115 338 16 +115 339 16 +115 340 16 +115 341 16 +115 342 16 +115 343 16 +115 344 16 +115 345 16 +115 346 16 +115 347 16 +115 348 16 +115 349 16 +115 350 0 +115 351 0 +115 352 0 +115 353 0 +115 354 0 +115 355 0 +115 356 0 +115 357 0 +115 358 0 +115 359 0 +115 360 0 +115 361 0 +115 362 0 +115 363 0 +115 364 0 +115 365 0 +115 366 0 +115 367 0 +115 368 0 +115 369 0 +115 370 0 +115 371 0 +115 372 0 +115 373 0 +115 374 0 +115 375 0 +115 376 0 +115 377 0 +115 378 0 +115 379 0 +115 380 0 +115 381 0 +115 382 0 +115 383 0 +116 117 16 +116 118 16 +116 119 16 +116 120 16 +116 121 16 +116 122 16 +116 123 16 +116 124 16 +116 125 16 +116 126 16 +116 127 16 +116 128 16 +116 129 16 +116 130 16 +116 131 16 +116 132 16 +116 133 16 +116 134 16 +116 135 16 +116 136 16 +116 137 16 +116 138 16 +116 139 16 +116 140 16 +116 141 16 +116 142 16 +116 143 16 +116 144 16 +116 145 16 +116 146 16 +116 147 16 +116 148 16 +116 149 16 +116 150 16 +116 151 16 +116 152 16 +116 153 16 +116 154 16 +116 155 16 +116 156 16 +116 157 16 +116 158 16 +116 159 16 +116 160 16 +116 161 16 +116 162 16 +116 163 16 +116 164 16 +116 165 16 +116 166 16 +116 167 16 +116 168 16 +116 169 16 +116 170 16 +116 171 16 +116 172 16 +116 173 16 +116 174 16 +116 175 16 +116 176 16 +116 177 16 +116 178 16 +116 179 16 +116 180 16 +116 181 16 +116 182 16 +116 183 16 +116 184 16 +116 185 16 +116 186 16 +116 187 16 +116 188 16 +116 189 16 +116 190 16 +116 191 16 +116 192 16 +116 193 16 +116 194 16 +116 195 16 +116 196 16 +116 197 16 +116 198 16 +116 199 16 +116 200 16 +116 201 16 +116 202 16 +116 203 16 +116 204 16 +116 205 16 +116 206 16 +116 207 16 +116 208 16 +116 209 16 +116 210 16 +116 211 16 +116 212 16 +116 213 16 +116 214 16 +116 215 16 +116 216 16 +116 217 16 +116 218 16 +116 219 16 +116 220 16 +116 221 16 +116 222 16 +116 223 16 +116 224 16 +116 225 16 +116 226 16 +116 227 16 +116 228 16 +116 229 16 +116 230 16 +116 231 16 +116 232 16 +116 233 16 +116 234 16 +116 235 16 +116 236 16 +116 237 16 +116 238 16 +116 239 16 +116 240 16 +116 241 16 +116 242 16 +116 243 16 +116 244 16 +116 245 16 +116 246 16 +116 247 16 +116 248 16 +116 249 16 +116 250 16 +116 251 16 +116 252 16 +116 253 16 +116 254 16 +116 255 16 +116 256 16 +116 257 16 +116 258 16 +116 259 16 +116 260 16 +116 261 16 +116 262 16 +116 263 16 +116 264 16 +116 265 16 +116 266 16 +116 267 16 +116 268 16 +116 269 16 +116 270 16 +116 271 16 +116 272 16 +116 273 16 +116 274 16 +116 275 16 +116 276 16 +116 277 16 +116 278 16 +116 279 16 +116 280 16 +116 281 16 +116 282 16 +116 283 16 +116 284 16 +116 285 16 +116 286 16 +116 287 16 +116 288 16 +116 289 16 +116 290 16 +116 291 16 +116 292 16 +116 293 16 +116 294 16 +116 295 16 +116 296 16 +116 297 16 +116 298 16 +116 299 16 +116 300 16 +116 301 16 +116 302 16 +116 303 16 +116 304 16 +116 305 16 +116 306 16 +116 307 16 +116 308 16 +116 309 16 +116 310 16 +116 311 16 +116 312 16 +116 313 16 +116 314 16 +116 315 16 +116 316 16 +116 317 16 +116 318 16 +116 319 16 +116 320 16 +116 321 16 +116 322 16 +116 323 16 +116 324 16 +116 325 16 +116 326 16 +116 327 16 +116 328 16 +116 329 16 +116 330 16 +116 331 16 +116 332 16 +116 333 16 +116 334 16 +116 335 16 +116 336 16 +116 337 16 +116 338 16 +116 339 16 +116 340 16 +116 341 16 +116 342 16 +116 343 16 +116 344 16 +116 345 16 +116 346 16 +116 347 16 +116 348 16 +116 349 16 +116 350 0 +116 351 0 +116 352 0 +116 353 0 +116 354 0 +116 355 0 +116 356 0 +116 357 0 +116 358 0 +116 359 0 +116 360 0 +116 361 0 +116 362 0 +116 363 0 +116 364 0 +116 365 0 +116 366 0 +116 367 0 +116 368 0 +116 369 0 +116 370 0 +116 371 0 +116 372 0 +116 373 0 +116 374 0 +116 375 0 +116 376 0 +116 377 0 +116 378 0 +116 379 0 +116 380 0 +116 381 0 +116 382 0 +116 383 0 +117 118 16 +117 119 16 +117 120 16 +117 121 16 +117 122 16 +117 123 16 +117 124 16 +117 125 16 +117 126 16 +117 127 16 +117 128 16 +117 129 16 +117 130 16 +117 131 16 +117 132 16 +117 133 16 +117 134 16 +117 135 16 +117 136 16 +117 137 16 +117 138 16 +117 139 16 +117 140 16 +117 141 16 +117 142 16 +117 143 16 +117 144 16 +117 145 16 +117 146 16 +117 147 16 +117 148 16 +117 149 16 +117 150 16 +117 151 16 +117 152 16 +117 153 16 +117 154 16 +117 155 16 +117 156 16 +117 157 16 +117 158 16 +117 159 16 +117 160 16 +117 161 16 +117 162 16 +117 163 16 +117 164 16 +117 165 16 +117 166 16 +117 167 16 +117 168 16 +117 169 16 +117 170 16 +117 171 16 +117 172 16 +117 173 16 +117 174 16 +117 175 16 +117 176 16 +117 177 16 +117 178 16 +117 179 16 +117 180 16 +117 181 16 +117 182 16 +117 183 16 +117 184 16 +117 185 16 +117 186 16 +117 187 16 +117 188 16 +117 189 16 +117 190 16 +117 191 16 +117 192 16 +117 193 16 +117 194 16 +117 195 16 +117 196 16 +117 197 16 +117 198 16 +117 199 16 +117 200 16 +117 201 16 +117 202 16 +117 203 16 +117 204 16 +117 205 16 +117 206 16 +117 207 16 +117 208 16 +117 209 16 +117 210 16 +117 211 16 +117 212 16 +117 213 16 +117 214 16 +117 215 16 +117 216 16 +117 217 16 +117 218 16 +117 219 16 +117 220 16 +117 221 16 +117 222 16 +117 223 16 +117 224 16 +117 225 16 +117 226 16 +117 227 16 +117 228 16 +117 229 16 +117 230 16 +117 231 16 +117 232 16 +117 233 16 +117 234 16 +117 235 16 +117 236 16 +117 237 16 +117 238 16 +117 239 16 +117 240 16 +117 241 16 +117 242 16 +117 243 16 +117 244 16 +117 245 16 +117 246 16 +117 247 16 +117 248 16 +117 249 16 +117 250 16 +117 251 16 +117 252 16 +117 253 16 +117 254 16 +117 255 16 +117 256 16 +117 257 16 +117 258 16 +117 259 16 +117 260 16 +117 261 16 +117 262 16 +117 263 16 +117 264 16 +117 265 16 +117 266 16 +117 267 16 +117 268 16 +117 269 16 +117 270 16 +117 271 16 +117 272 16 +117 273 16 +117 274 16 +117 275 16 +117 276 16 +117 277 16 +117 278 16 +117 279 16 +117 280 16 +117 281 16 +117 282 16 +117 283 16 +117 284 16 +117 285 16 +117 286 16 +117 287 16 +117 288 16 +117 289 16 +117 290 16 +117 291 16 +117 292 16 +117 293 16 +117 294 16 +117 295 16 +117 296 16 +117 297 16 +117 298 16 +117 299 16 +117 300 16 +117 301 16 +117 302 16 +117 303 16 +117 304 16 +117 305 16 +117 306 16 +117 307 16 +117 308 16 +117 309 16 +117 310 16 +117 311 16 +117 312 16 +117 313 16 +117 314 16 +117 315 16 +117 316 16 +117 317 16 +117 318 16 +117 319 16 +117 320 16 +117 321 16 +117 322 16 +117 323 16 +117 324 16 +117 325 16 +117 326 16 +117 327 16 +117 328 16 +117 329 16 +117 330 16 +117 331 16 +117 332 16 +117 333 16 +117 334 16 +117 335 16 +117 336 16 +117 337 16 +117 338 16 +117 339 16 +117 340 16 +117 341 16 +117 342 16 +117 343 16 +117 344 16 +117 345 16 +117 346 16 +117 347 16 +117 348 16 +117 349 16 +117 350 0 +117 351 0 +117 352 0 +117 353 0 +117 354 0 +117 355 0 +117 356 0 +117 357 0 +117 358 0 +117 359 0 +117 360 0 +117 361 0 +117 362 0 +117 363 0 +117 364 0 +117 365 0 +117 366 0 +117 367 0 +117 368 0 +117 369 0 +117 370 0 +117 371 0 +117 372 0 +117 373 0 +117 374 0 +117 375 0 +117 376 0 +117 377 0 +117 378 0 +117 379 0 +117 380 0 +117 381 0 +117 382 0 +117 383 0 +118 119 16 +118 120 16 +118 121 16 +118 122 16 +118 123 16 +118 124 16 +118 125 16 +118 126 16 +118 127 16 +118 128 16 +118 129 16 +118 130 16 +118 131 16 +118 132 16 +118 133 16 +118 134 16 +118 135 16 +118 136 16 +118 137 16 +118 138 16 +118 139 16 +118 140 16 +118 141 16 +118 142 16 +118 143 16 +118 144 16 +118 145 16 +118 146 16 +118 147 16 +118 148 16 +118 149 16 +118 150 16 +118 151 16 +118 152 16 +118 153 16 +118 154 16 +118 155 16 +118 156 16 +118 157 16 +118 158 16 +118 159 16 +118 160 16 +118 161 16 +118 162 16 +118 163 16 +118 164 16 +118 165 16 +118 166 16 +118 167 16 +118 168 16 +118 169 16 +118 170 16 +118 171 16 +118 172 16 +118 173 16 +118 174 16 +118 175 16 +118 176 16 +118 177 16 +118 178 16 +118 179 16 +118 180 16 +118 181 16 +118 182 16 +118 183 16 +118 184 16 +118 185 16 +118 186 16 +118 187 16 +118 188 16 +118 189 16 +118 190 16 +118 191 16 +118 192 16 +118 193 16 +118 194 16 +118 195 16 +118 196 16 +118 197 16 +118 198 16 +118 199 16 +118 200 16 +118 201 16 +118 202 16 +118 203 16 +118 204 16 +118 205 16 +118 206 16 +118 207 16 +118 208 16 +118 209 16 +118 210 16 +118 211 16 +118 212 16 +118 213 16 +118 214 16 +118 215 16 +118 216 16 +118 217 16 +118 218 16 +118 219 16 +118 220 16 +118 221 16 +118 222 16 +118 223 16 +118 224 16 +118 225 16 +118 226 16 +118 227 16 +118 228 16 +118 229 16 +118 230 16 +118 231 16 +118 232 16 +118 233 16 +118 234 16 +118 235 16 +118 236 16 +118 237 16 +118 238 16 +118 239 16 +118 240 16 +118 241 16 +118 242 16 +118 243 16 +118 244 16 +118 245 16 +118 246 16 +118 247 16 +118 248 16 +118 249 16 +118 250 16 +118 251 16 +118 252 16 +118 253 16 +118 254 16 +118 255 16 +118 256 16 +118 257 16 +118 258 16 +118 259 16 +118 260 16 +118 261 16 +118 262 16 +118 263 16 +118 264 16 +118 265 16 +118 266 16 +118 267 16 +118 268 16 +118 269 16 +118 270 16 +118 271 16 +118 272 16 +118 273 16 +118 274 16 +118 275 16 +118 276 16 +118 277 16 +118 278 16 +118 279 16 +118 280 16 +118 281 16 +118 282 16 +118 283 16 +118 284 16 +118 285 16 +118 286 16 +118 287 16 +118 288 16 +118 289 16 +118 290 16 +118 291 16 +118 292 16 +118 293 16 +118 294 16 +118 295 16 +118 296 16 +118 297 16 +118 298 16 +118 299 16 +118 300 16 +118 301 16 +118 302 16 +118 303 16 +118 304 16 +118 305 16 +118 306 16 +118 307 16 +118 308 16 +118 309 16 +118 310 16 +118 311 16 +118 312 16 +118 313 16 +118 314 16 +118 315 16 +118 316 16 +118 317 16 +118 318 16 +118 319 16 +118 320 16 +118 321 16 +118 322 16 +118 323 16 +118 324 16 +118 325 16 +118 326 16 +118 327 16 +118 328 16 +118 329 16 +118 330 16 +118 331 16 +118 332 16 +118 333 16 +118 334 16 +118 335 16 +118 336 16 +118 337 16 +118 338 16 +118 339 16 +118 340 16 +118 341 16 +118 342 16 +118 343 16 +118 344 16 +118 345 16 +118 346 16 +118 347 16 +118 348 16 +118 349 16 +118 350 0 +118 351 0 +118 352 0 +118 353 0 +118 354 0 +118 355 0 +118 356 0 +118 357 0 +118 358 0 +118 359 0 +118 360 0 +118 361 0 +118 362 0 +118 363 0 +118 364 0 +118 365 0 +118 366 0 +118 367 0 +118 368 0 +118 369 0 +118 370 0 +118 371 0 +118 372 0 +118 373 0 +118 374 0 +118 375 0 +118 376 0 +118 377 0 +118 378 0 +118 379 0 +118 380 0 +118 381 0 +118 382 0 +118 383 0 +119 120 16 +119 121 16 +119 122 16 +119 123 16 +119 124 16 +119 125 16 +119 126 16 +119 127 16 +119 128 16 +119 129 16 +119 130 16 +119 131 16 +119 132 16 +119 133 16 +119 134 16 +119 135 16 +119 136 16 +119 137 16 +119 138 16 +119 139 16 +119 140 16 +119 141 16 +119 142 16 +119 143 16 +119 144 16 +119 145 16 +119 146 16 +119 147 16 +119 148 16 +119 149 16 +119 150 16 +119 151 16 +119 152 16 +119 153 16 +119 154 16 +119 155 16 +119 156 16 +119 157 16 +119 158 16 +119 159 16 +119 160 16 +119 161 16 +119 162 16 +119 163 16 +119 164 16 +119 165 16 +119 166 16 +119 167 16 +119 168 16 +119 169 16 +119 170 16 +119 171 16 +119 172 16 +119 173 16 +119 174 16 +119 175 16 +119 176 16 +119 177 16 +119 178 16 +119 179 16 +119 180 16 +119 181 16 +119 182 16 +119 183 16 +119 184 16 +119 185 16 +119 186 16 +119 187 16 +119 188 16 +119 189 16 +119 190 16 +119 191 16 +119 192 16 +119 193 16 +119 194 16 +119 195 16 +119 196 16 +119 197 16 +119 198 16 +119 199 16 +119 200 16 +119 201 16 +119 202 16 +119 203 16 +119 204 16 +119 205 16 +119 206 16 +119 207 16 +119 208 16 +119 209 16 +119 210 16 +119 211 16 +119 212 16 +119 213 16 +119 214 16 +119 215 16 +119 216 16 +119 217 16 +119 218 16 +119 219 16 +119 220 16 +119 221 16 +119 222 16 +119 223 16 +119 224 16 +119 225 16 +119 226 16 +119 227 16 +119 228 16 +119 229 16 +119 230 16 +119 231 16 +119 232 16 +119 233 16 +119 234 16 +119 235 16 +119 236 16 +119 237 16 +119 238 16 +119 239 16 +119 240 16 +119 241 16 +119 242 16 +119 243 16 +119 244 16 +119 245 16 +119 246 16 +119 247 16 +119 248 16 +119 249 16 +119 250 16 +119 251 16 +119 252 16 +119 253 16 +119 254 16 +119 255 16 +119 256 16 +119 257 16 +119 258 16 +119 259 16 +119 260 16 +119 261 16 +119 262 16 +119 263 16 +119 264 16 +119 265 16 +119 266 16 +119 267 16 +119 268 16 +119 269 16 +119 270 16 +119 271 16 +119 272 16 +119 273 16 +119 274 16 +119 275 16 +119 276 16 +119 277 16 +119 278 16 +119 279 16 +119 280 16 +119 281 16 +119 282 16 +119 283 16 +119 284 16 +119 285 16 +119 286 16 +119 287 16 +119 288 16 +119 289 16 +119 290 16 +119 291 16 +119 292 16 +119 293 16 +119 294 16 +119 295 16 +119 296 16 +119 297 16 +119 298 16 +119 299 16 +119 300 16 +119 301 16 +119 302 16 +119 303 16 +119 304 16 +119 305 16 +119 306 16 +119 307 16 +119 308 16 +119 309 16 +119 310 16 +119 311 16 +119 312 16 +119 313 16 +119 314 16 +119 315 16 +119 316 16 +119 317 16 +119 318 16 +119 319 16 +119 320 16 +119 321 16 +119 322 16 +119 323 16 +119 324 16 +119 325 16 +119 326 16 +119 327 16 +119 328 16 +119 329 16 +119 330 16 +119 331 16 +119 332 16 +119 333 16 +119 334 16 +119 335 16 +119 336 16 +119 337 16 +119 338 16 +119 339 16 +119 340 16 +119 341 16 +119 342 16 +119 343 16 +119 344 16 +119 345 16 +119 346 16 +119 347 16 +119 348 16 +119 349 16 +119 350 0 +119 351 0 +119 352 0 +119 353 0 +119 354 0 +119 355 0 +119 356 0 +119 357 0 +119 358 0 +119 359 0 +119 360 0 +119 361 0 +119 362 0 +119 363 0 +119 364 0 +119 365 0 +119 366 0 +119 367 0 +119 368 0 +119 369 0 +119 370 0 +119 371 0 +119 372 0 +119 373 0 +119 374 0 +119 375 0 +119 376 0 +119 377 0 +119 378 0 +119 379 0 +119 380 0 +119 381 0 +119 382 0 +119 383 0 +120 121 16 +120 122 16 +120 123 16 +120 124 16 +120 125 16 +120 126 16 +120 127 16 +120 128 16 +120 129 16 +120 130 16 +120 131 16 +120 132 16 +120 133 16 +120 134 16 +120 135 16 +120 136 16 +120 137 16 +120 138 16 +120 139 16 +120 140 16 +120 141 16 +120 142 16 +120 143 16 +120 144 16 +120 145 16 +120 146 16 +120 147 16 +120 148 16 +120 149 16 +120 150 16 +120 151 16 +120 152 16 +120 153 16 +120 154 16 +120 155 16 +120 156 16 +120 157 16 +120 158 16 +120 159 16 +120 160 16 +120 161 16 +120 162 16 +120 163 16 +120 164 16 +120 165 16 +120 166 16 +120 167 16 +120 168 16 +120 169 16 +120 170 16 +120 171 16 +120 172 16 +120 173 16 +120 174 16 +120 175 16 +120 176 16 +120 177 16 +120 178 16 +120 179 16 +120 180 16 +120 181 16 +120 182 16 +120 183 16 +120 184 16 +120 185 16 +120 186 16 +120 187 16 +120 188 16 +120 189 16 +120 190 16 +120 191 16 +120 192 16 +120 193 16 +120 194 16 +120 195 16 +120 196 16 +120 197 16 +120 198 16 +120 199 16 +120 200 16 +120 201 16 +120 202 16 +120 203 16 +120 204 16 +120 205 16 +120 206 16 +120 207 16 +120 208 16 +120 209 16 +120 210 16 +120 211 16 +120 212 16 +120 213 16 +120 214 16 +120 215 16 +120 216 16 +120 217 16 +120 218 16 +120 219 16 +120 220 16 +120 221 16 +120 222 16 +120 223 16 +120 224 16 +120 225 16 +120 226 16 +120 227 16 +120 228 16 +120 229 16 +120 230 16 +120 231 16 +120 232 16 +120 233 16 +120 234 16 +120 235 16 +120 236 16 +120 237 16 +120 238 16 +120 239 16 +120 240 16 +120 241 16 +120 242 16 +120 243 16 +120 244 16 +120 245 16 +120 246 16 +120 247 16 +120 248 16 +120 249 16 +120 250 16 +120 251 16 +120 252 16 +120 253 16 +120 254 16 +120 255 16 +120 256 16 +120 257 16 +120 258 16 +120 259 16 +120 260 16 +120 261 16 +120 262 16 +120 263 16 +120 264 16 +120 265 16 +120 266 16 +120 267 16 +120 268 16 +120 269 16 +120 270 16 +120 271 16 +120 272 16 +120 273 16 +120 274 16 +120 275 16 +120 276 16 +120 277 16 +120 278 16 +120 279 16 +120 280 16 +120 281 16 +120 282 16 +120 283 16 +120 284 16 +120 285 16 +120 286 16 +120 287 16 +120 288 16 +120 289 16 +120 290 16 +120 291 16 +120 292 16 +120 293 16 +120 294 16 +120 295 16 +120 296 16 +120 297 16 +120 298 16 +120 299 16 +120 300 16 +120 301 16 +120 302 16 +120 303 16 +120 304 16 +120 305 16 +120 306 16 +120 307 16 +120 308 16 +120 309 16 +120 310 16 +120 311 16 +120 312 16 +120 313 16 +120 314 16 +120 315 16 +120 316 16 +120 317 16 +120 318 16 +120 319 16 +120 320 16 +120 321 16 +120 322 16 +120 323 16 +120 324 16 +120 325 16 +120 326 16 +120 327 16 +120 328 16 +120 329 16 +120 330 16 +120 331 16 +120 332 16 +120 333 16 +120 334 16 +120 335 16 +120 336 16 +120 337 16 +120 338 16 +120 339 16 +120 340 16 +120 341 16 +120 342 16 +120 343 16 +120 344 16 +120 345 16 +120 346 16 +120 347 16 +120 348 16 +120 349 16 +120 350 0 +120 351 0 +120 352 0 +120 353 0 +120 354 0 +120 355 0 +120 356 0 +120 357 0 +120 358 0 +120 359 0 +120 360 0 +120 361 0 +120 362 0 +120 363 0 +120 364 0 +120 365 0 +120 366 0 +120 367 0 +120 368 0 +120 369 0 +120 370 0 +120 371 0 +120 372 0 +120 373 0 +120 374 0 +120 375 0 +120 376 0 +120 377 0 +120 378 0 +120 379 0 +120 380 0 +120 381 0 +120 382 0 +120 383 0 +121 122 16 +121 123 16 +121 124 16 +121 125 16 +121 126 16 +121 127 16 +121 128 16 +121 129 16 +121 130 16 +121 131 16 +121 132 16 +121 133 16 +121 134 16 +121 135 16 +121 136 16 +121 137 16 +121 138 16 +121 139 16 +121 140 16 +121 141 16 +121 142 16 +121 143 16 +121 144 16 +121 145 16 +121 146 16 +121 147 16 +121 148 16 +121 149 16 +121 150 16 +121 151 16 +121 152 16 +121 153 16 +121 154 16 +121 155 16 +121 156 16 +121 157 16 +121 158 16 +121 159 16 +121 160 16 +121 161 16 +121 162 16 +121 163 16 +121 164 16 +121 165 16 +121 166 16 +121 167 16 +121 168 16 +121 169 16 +121 170 16 +121 171 16 +121 172 16 +121 173 16 +121 174 16 +121 175 16 +121 176 16 +121 177 16 +121 178 16 +121 179 16 +121 180 16 +121 181 16 +121 182 16 +121 183 16 +121 184 16 +121 185 16 +121 186 16 +121 187 16 +121 188 16 +121 189 16 +121 190 16 +121 191 16 +121 192 16 +121 193 16 +121 194 16 +121 195 16 +121 196 16 +121 197 16 +121 198 16 +121 199 16 +121 200 16 +121 201 16 +121 202 16 +121 203 16 +121 204 16 +121 205 16 +121 206 16 +121 207 16 +121 208 16 +121 209 16 +121 210 16 +121 211 16 +121 212 16 +121 213 16 +121 214 16 +121 215 16 +121 216 16 +121 217 16 +121 218 16 +121 219 16 +121 220 16 +121 221 16 +121 222 16 +121 223 16 +121 224 16 +121 225 16 +121 226 16 +121 227 16 +121 228 16 +121 229 16 +121 230 16 +121 231 16 +121 232 16 +121 233 16 +121 234 16 +121 235 16 +121 236 16 +121 237 16 +121 238 16 +121 239 16 +121 240 16 +121 241 16 +121 242 16 +121 243 16 +121 244 16 +121 245 16 +121 246 16 +121 247 16 +121 248 16 +121 249 16 +121 250 16 +121 251 16 +121 252 16 +121 253 16 +121 254 16 +121 255 16 +121 256 16 +121 257 16 +121 258 16 +121 259 16 +121 260 16 +121 261 16 +121 262 16 +121 263 16 +121 264 16 +121 265 16 +121 266 16 +121 267 16 +121 268 16 +121 269 16 +121 270 16 +121 271 16 +121 272 16 +121 273 16 +121 274 16 +121 275 16 +121 276 16 +121 277 16 +121 278 16 +121 279 16 +121 280 16 +121 281 16 +121 282 16 +121 283 16 +121 284 16 +121 285 16 +121 286 16 +121 287 16 +121 288 16 +121 289 16 +121 290 16 +121 291 16 +121 292 16 +121 293 16 +121 294 16 +121 295 16 +121 296 16 +121 297 16 +121 298 16 +121 299 16 +121 300 16 +121 301 16 +121 302 16 +121 303 16 +121 304 16 +121 305 16 +121 306 16 +121 307 16 +121 308 16 +121 309 16 +121 310 16 +121 311 16 +121 312 16 +121 313 16 +121 314 16 +121 315 16 +121 316 16 +121 317 16 +121 318 16 +121 319 16 +121 320 16 +121 321 16 +121 322 16 +121 323 16 +121 324 16 +121 325 16 +121 326 16 +121 327 16 +121 328 16 +121 329 16 +121 330 16 +121 331 16 +121 332 16 +121 333 16 +121 334 16 +121 335 16 +121 336 16 +121 337 16 +121 338 16 +121 339 16 +121 340 16 +121 341 16 +121 342 16 +121 343 16 +121 344 16 +121 345 16 +121 346 16 +121 347 16 +121 348 16 +121 349 16 +121 350 0 +121 351 0 +121 352 0 +121 353 0 +121 354 0 +121 355 0 +121 356 0 +121 357 0 +121 358 0 +121 359 0 +121 360 0 +121 361 0 +121 362 0 +121 363 0 +121 364 0 +121 365 0 +121 366 0 +121 367 0 +121 368 0 +121 369 0 +121 370 0 +121 371 0 +121 372 0 +121 373 0 +121 374 0 +121 375 0 +121 376 0 +121 377 0 +121 378 0 +121 379 0 +121 380 0 +121 381 0 +121 382 0 +121 383 0 +122 123 16 +122 124 16 +122 125 16 +122 126 16 +122 127 16 +122 128 16 +122 129 16 +122 130 16 +122 131 16 +122 132 16 +122 133 16 +122 134 16 +122 135 16 +122 136 16 +122 137 16 +122 138 16 +122 139 16 +122 140 16 +122 141 16 +122 142 16 +122 143 16 +122 144 16 +122 145 16 +122 146 16 +122 147 16 +122 148 16 +122 149 16 +122 150 16 +122 151 16 +122 152 16 +122 153 16 +122 154 16 +122 155 16 +122 156 16 +122 157 16 +122 158 16 +122 159 16 +122 160 16 +122 161 16 +122 162 16 +122 163 16 +122 164 16 +122 165 16 +122 166 16 +122 167 16 +122 168 16 +122 169 16 +122 170 16 +122 171 16 +122 172 16 +122 173 16 +122 174 16 +122 175 16 +122 176 16 +122 177 16 +122 178 16 +122 179 16 +122 180 16 +122 181 16 +122 182 16 +122 183 16 +122 184 16 +122 185 16 +122 186 16 +122 187 16 +122 188 16 +122 189 16 +122 190 16 +122 191 16 +122 192 16 +122 193 16 +122 194 16 +122 195 16 +122 196 16 +122 197 16 +122 198 16 +122 199 16 +122 200 16 +122 201 16 +122 202 16 +122 203 16 +122 204 16 +122 205 16 +122 206 16 +122 207 16 +122 208 16 +122 209 16 +122 210 16 +122 211 16 +122 212 16 +122 213 16 +122 214 16 +122 215 16 +122 216 16 +122 217 16 +122 218 16 +122 219 16 +122 220 16 +122 221 16 +122 222 16 +122 223 16 +122 224 16 +122 225 16 +122 226 16 +122 227 16 +122 228 16 +122 229 16 +122 230 16 +122 231 16 +122 232 16 +122 233 16 +122 234 16 +122 235 16 +122 236 16 +122 237 16 +122 238 16 +122 239 16 +122 240 16 +122 241 16 +122 242 16 +122 243 16 +122 244 16 +122 245 16 +122 246 16 +122 247 16 +122 248 16 +122 249 16 +122 250 16 +122 251 16 +122 252 16 +122 253 16 +122 254 16 +122 255 16 +122 256 16 +122 257 16 +122 258 16 +122 259 16 +122 260 16 +122 261 16 +122 262 16 +122 263 16 +122 264 16 +122 265 16 +122 266 16 +122 267 16 +122 268 16 +122 269 16 +122 270 16 +122 271 16 +122 272 16 +122 273 16 +122 274 16 +122 275 16 +122 276 16 +122 277 16 +122 278 16 +122 279 16 +122 280 16 +122 281 16 +122 282 16 +122 283 16 +122 284 16 +122 285 16 +122 286 16 +122 287 16 +122 288 16 +122 289 16 +122 290 16 +122 291 16 +122 292 16 +122 293 16 +122 294 16 +122 295 16 +122 296 16 +122 297 16 +122 298 16 +122 299 16 +122 300 16 +122 301 16 +122 302 16 +122 303 16 +122 304 16 +122 305 16 +122 306 16 +122 307 16 +122 308 16 +122 309 16 +122 310 16 +122 311 16 +122 312 16 +122 313 16 +122 314 16 +122 315 16 +122 316 16 +122 317 16 +122 318 16 +122 319 16 +122 320 16 +122 321 16 +122 322 16 +122 323 16 +122 324 16 +122 325 16 +122 326 16 +122 327 16 +122 328 16 +122 329 16 +122 330 16 +122 331 16 +122 332 16 +122 333 16 +122 334 16 +122 335 16 +122 336 16 +122 337 16 +122 338 16 +122 339 16 +122 340 16 +122 341 16 +122 342 16 +122 343 16 +122 344 16 +122 345 16 +122 346 16 +122 347 16 +122 348 16 +122 349 16 +122 350 0 +122 351 0 +122 352 0 +122 353 0 +122 354 0 +122 355 0 +122 356 0 +122 357 0 +122 358 0 +122 359 0 +122 360 0 +122 361 0 +122 362 0 +122 363 0 +122 364 0 +122 365 0 +122 366 0 +122 367 0 +122 368 0 +122 369 0 +122 370 0 +122 371 0 +122 372 0 +122 373 0 +122 374 0 +122 375 0 +122 376 0 +122 377 0 +122 378 0 +122 379 0 +122 380 0 +122 381 0 +122 382 0 +122 383 0 +123 124 16 +123 125 16 +123 126 16 +123 127 16 +123 128 16 +123 129 16 +123 130 16 +123 131 16 +123 132 16 +123 133 16 +123 134 16 +123 135 16 +123 136 16 +123 137 16 +123 138 16 +123 139 16 +123 140 16 +123 141 16 +123 142 16 +123 143 16 +123 144 16 +123 145 16 +123 146 16 +123 147 16 +123 148 16 +123 149 16 +123 150 16 +123 151 16 +123 152 16 +123 153 16 +123 154 16 +123 155 16 +123 156 16 +123 157 16 +123 158 16 +123 159 16 +123 160 16 +123 161 16 +123 162 16 +123 163 16 +123 164 16 +123 165 16 +123 166 16 +123 167 16 +123 168 16 +123 169 16 +123 170 16 +123 171 16 +123 172 16 +123 173 16 +123 174 16 +123 175 16 +123 176 16 +123 177 16 +123 178 16 +123 179 16 +123 180 16 +123 181 16 +123 182 16 +123 183 16 +123 184 16 +123 185 16 +123 186 16 +123 187 16 +123 188 16 +123 189 16 +123 190 16 +123 191 16 +123 192 16 +123 193 16 +123 194 16 +123 195 16 +123 196 16 +123 197 16 +123 198 16 +123 199 16 +123 200 16 +123 201 16 +123 202 16 +123 203 16 +123 204 16 +123 205 16 +123 206 16 +123 207 16 +123 208 16 +123 209 16 +123 210 16 +123 211 16 +123 212 16 +123 213 16 +123 214 16 +123 215 16 +123 216 16 +123 217 16 +123 218 16 +123 219 16 +123 220 16 +123 221 16 +123 222 16 +123 223 16 +123 224 16 +123 225 16 +123 226 16 +123 227 16 +123 228 16 +123 229 16 +123 230 16 +123 231 16 +123 232 16 +123 233 16 +123 234 16 +123 235 16 +123 236 16 +123 237 16 +123 238 16 +123 239 16 +123 240 16 +123 241 16 +123 242 16 +123 243 16 +123 244 16 +123 245 16 +123 246 16 +123 247 16 +123 248 16 +123 249 16 +123 250 16 +123 251 16 +123 252 16 +123 253 16 +123 254 16 +123 255 16 +123 256 16 +123 257 16 +123 258 16 +123 259 16 +123 260 16 +123 261 16 +123 262 16 +123 263 16 +123 264 16 +123 265 16 +123 266 16 +123 267 16 +123 268 16 +123 269 16 +123 270 16 +123 271 16 +123 272 16 +123 273 16 +123 274 16 +123 275 16 +123 276 16 +123 277 16 +123 278 16 +123 279 16 +123 280 16 +123 281 16 +123 282 16 +123 283 16 +123 284 16 +123 285 16 +123 286 16 +123 287 16 +123 288 16 +123 289 16 +123 290 16 +123 291 16 +123 292 16 +123 293 16 +123 294 16 +123 295 16 +123 296 16 +123 297 16 +123 298 16 +123 299 16 +123 300 16 +123 301 16 +123 302 16 +123 303 16 +123 304 16 +123 305 16 +123 306 16 +123 307 16 +123 308 16 +123 309 16 +123 310 16 +123 311 16 +123 312 16 +123 313 16 +123 314 16 +123 315 16 +123 316 16 +123 317 16 +123 318 16 +123 319 16 +123 320 16 +123 321 16 +123 322 16 +123 323 16 +123 324 16 +123 325 16 +123 326 16 +123 327 16 +123 328 16 +123 329 16 +123 330 16 +123 331 16 +123 332 16 +123 333 16 +123 334 16 +123 335 16 +123 336 16 +123 337 16 +123 338 16 +123 339 16 +123 340 16 +123 341 16 +123 342 16 +123 343 16 +123 344 16 +123 345 16 +123 346 16 +123 347 16 +123 348 16 +123 349 16 +123 350 0 +123 351 0 +123 352 0 +123 353 0 +123 354 0 +123 355 0 +123 356 0 +123 357 0 +123 358 0 +123 359 0 +123 360 0 +123 361 0 +123 362 0 +123 363 0 +123 364 0 +123 365 0 +123 366 0 +123 367 0 +123 368 0 +123 369 0 +123 370 0 +123 371 0 +123 372 0 +123 373 0 +123 374 0 +123 375 0 +123 376 0 +123 377 0 +123 378 0 +123 379 0 +123 380 0 +123 381 0 +123 382 0 +123 383 0 +124 125 16 +124 126 16 +124 127 16 +124 128 16 +124 129 16 +124 130 16 +124 131 16 +124 132 16 +124 133 16 +124 134 16 +124 135 16 +124 136 16 +124 137 16 +124 138 16 +124 139 16 +124 140 16 +124 141 16 +124 142 16 +124 143 16 +124 144 16 +124 145 16 +124 146 16 +124 147 16 +124 148 16 +124 149 16 +124 150 16 +124 151 16 +124 152 16 +124 153 16 +124 154 16 +124 155 16 +124 156 16 +124 157 16 +124 158 16 +124 159 16 +124 160 16 +124 161 16 +124 162 16 +124 163 16 +124 164 16 +124 165 16 +124 166 16 +124 167 16 +124 168 16 +124 169 16 +124 170 16 +124 171 16 +124 172 16 +124 173 16 +124 174 16 +124 175 16 +124 176 16 +124 177 16 +124 178 16 +124 179 16 +124 180 16 +124 181 16 +124 182 16 +124 183 16 +124 184 16 +124 185 16 +124 186 16 +124 187 16 +124 188 16 +124 189 16 +124 190 16 +124 191 16 +124 192 16 +124 193 16 +124 194 16 +124 195 16 +124 196 16 +124 197 16 +124 198 16 +124 199 16 +124 200 16 +124 201 16 +124 202 16 +124 203 16 +124 204 16 +124 205 16 +124 206 16 +124 207 16 +124 208 16 +124 209 16 +124 210 16 +124 211 16 +124 212 16 +124 213 16 +124 214 16 +124 215 16 +124 216 16 +124 217 16 +124 218 16 +124 219 16 +124 220 16 +124 221 16 +124 222 16 +124 223 16 +124 224 16 +124 225 16 +124 226 16 +124 227 16 +124 228 16 +124 229 16 +124 230 16 +124 231 16 +124 232 16 +124 233 16 +124 234 16 +124 235 16 +124 236 16 +124 237 16 +124 238 16 +124 239 16 +124 240 16 +124 241 16 +124 242 16 +124 243 16 +124 244 16 +124 245 16 +124 246 16 +124 247 16 +124 248 16 +124 249 16 +124 250 16 +124 251 16 +124 252 16 +124 253 16 +124 254 16 +124 255 16 +124 256 16 +124 257 16 +124 258 16 +124 259 16 +124 260 16 +124 261 16 +124 262 16 +124 263 16 +124 264 16 +124 265 16 +124 266 16 +124 267 16 +124 268 16 +124 269 16 +124 270 16 +124 271 16 +124 272 16 +124 273 16 +124 274 16 +124 275 16 +124 276 16 +124 277 16 +124 278 16 +124 279 16 +124 280 16 +124 281 16 +124 282 16 +124 283 16 +124 284 16 +124 285 16 +124 286 16 +124 287 16 +124 288 16 +124 289 16 +124 290 16 +124 291 16 +124 292 16 +124 293 16 +124 294 16 +124 295 16 +124 296 16 +124 297 16 +124 298 16 +124 299 16 +124 300 16 +124 301 16 +124 302 16 +124 303 16 +124 304 16 +124 305 16 +124 306 16 +124 307 16 +124 308 16 +124 309 16 +124 310 16 +124 311 16 +124 312 16 +124 313 16 +124 314 16 +124 315 16 +124 316 16 +124 317 16 +124 318 16 +124 319 16 +124 320 16 +124 321 16 +124 322 16 +124 323 16 +124 324 16 +124 325 16 +124 326 16 +124 327 16 +124 328 16 +124 329 16 +124 330 16 +124 331 16 +124 332 16 +124 333 16 +124 334 16 +124 335 16 +124 336 16 +124 337 16 +124 338 16 +124 339 16 +124 340 16 +124 341 16 +124 342 16 +124 343 16 +124 344 16 +124 345 16 +124 346 16 +124 347 16 +124 348 16 +124 349 16 +124 350 0 +124 351 0 +124 352 0 +124 353 0 +124 354 0 +124 355 0 +124 356 0 +124 357 0 +124 358 0 +124 359 0 +124 360 0 +124 361 0 +124 362 0 +124 363 0 +124 364 0 +124 365 0 +124 366 0 +124 367 0 +124 368 0 +124 369 0 +124 370 0 +124 371 0 +124 372 0 +124 373 0 +124 374 0 +124 375 0 +124 376 0 +124 377 0 +124 378 0 +124 379 0 +124 380 0 +124 381 0 +124 382 0 +124 383 0 +125 126 16 +125 127 16 +125 128 16 +125 129 16 +125 130 16 +125 131 16 +125 132 16 +125 133 16 +125 134 16 +125 135 16 +125 136 16 +125 137 16 +125 138 16 +125 139 16 +125 140 16 +125 141 16 +125 142 16 +125 143 16 +125 144 16 +125 145 16 +125 146 16 +125 147 16 +125 148 16 +125 149 16 +125 150 16 +125 151 16 +125 152 16 +125 153 16 +125 154 16 +125 155 16 +125 156 16 +125 157 16 +125 158 16 +125 159 16 +125 160 16 +125 161 16 +125 162 16 +125 163 16 +125 164 16 +125 165 16 +125 166 16 +125 167 16 +125 168 16 +125 169 16 +125 170 16 +125 171 16 +125 172 16 +125 173 16 +125 174 16 +125 175 16 +125 176 16 +125 177 16 +125 178 16 +125 179 16 +125 180 16 +125 181 16 +125 182 16 +125 183 16 +125 184 16 +125 185 16 +125 186 16 +125 187 16 +125 188 16 +125 189 16 +125 190 16 +125 191 16 +125 192 16 +125 193 16 +125 194 16 +125 195 16 +125 196 16 +125 197 16 +125 198 16 +125 199 16 +125 200 16 +125 201 16 +125 202 16 +125 203 16 +125 204 16 +125 205 16 +125 206 16 +125 207 16 +125 208 16 +125 209 16 +125 210 16 +125 211 16 +125 212 16 +125 213 16 +125 214 16 +125 215 16 +125 216 16 +125 217 16 +125 218 16 +125 219 16 +125 220 16 +125 221 16 +125 222 16 +125 223 16 +125 224 16 +125 225 16 +125 226 16 +125 227 16 +125 228 16 +125 229 16 +125 230 16 +125 231 16 +125 232 16 +125 233 16 +125 234 16 +125 235 16 +125 236 16 +125 237 16 +125 238 16 +125 239 16 +125 240 16 +125 241 16 +125 242 16 +125 243 16 +125 244 16 +125 245 16 +125 246 16 +125 247 16 +125 248 16 +125 249 16 +125 250 16 +125 251 16 +125 252 16 +125 253 16 +125 254 16 +125 255 16 +125 256 16 +125 257 16 +125 258 16 +125 259 16 +125 260 16 +125 261 16 +125 262 16 +125 263 16 +125 264 16 +125 265 16 +125 266 16 +125 267 16 +125 268 16 +125 269 16 +125 270 16 +125 271 16 +125 272 16 +125 273 16 +125 274 16 +125 275 16 +125 276 16 +125 277 16 +125 278 16 +125 279 16 +125 280 16 +125 281 16 +125 282 16 +125 283 16 +125 284 16 +125 285 16 +125 286 16 +125 287 16 +125 288 16 +125 289 16 +125 290 16 +125 291 16 +125 292 16 +125 293 16 +125 294 16 +125 295 16 +125 296 16 +125 297 16 +125 298 16 +125 299 16 +125 300 16 +125 301 16 +125 302 16 +125 303 16 +125 304 16 +125 305 16 +125 306 16 +125 307 16 +125 308 16 +125 309 16 +125 310 16 +125 311 16 +125 312 16 +125 313 16 +125 314 16 +125 315 16 +125 316 16 +125 317 16 +125 318 16 +125 319 16 +125 320 16 +125 321 16 +125 322 16 +125 323 16 +125 324 16 +125 325 16 +125 326 16 +125 327 16 +125 328 16 +125 329 16 +125 330 16 +125 331 16 +125 332 16 +125 333 16 +125 334 16 +125 335 16 +125 336 16 +125 337 16 +125 338 16 +125 339 16 +125 340 16 +125 341 16 +125 342 16 +125 343 16 +125 344 16 +125 345 16 +125 346 16 +125 347 16 +125 348 16 +125 349 16 +125 350 0 +125 351 0 +125 352 0 +125 353 0 +125 354 0 +125 355 0 +125 356 0 +125 357 0 +125 358 0 +125 359 0 +125 360 0 +125 361 0 +125 362 0 +125 363 0 +125 364 0 +125 365 0 +125 366 0 +125 367 0 +125 368 0 +125 369 0 +125 370 0 +125 371 0 +125 372 0 +125 373 0 +125 374 0 +125 375 0 +125 376 0 +125 377 0 +125 378 0 +125 379 0 +125 380 0 +125 381 0 +125 382 0 +125 383 0 +126 127 16 +126 128 16 +126 129 16 +126 130 16 +126 131 16 +126 132 16 +126 133 16 +126 134 16 +126 135 16 +126 136 16 +126 137 16 +126 138 16 +126 139 16 +126 140 16 +126 141 16 +126 142 16 +126 143 16 +126 144 16 +126 145 16 +126 146 16 +126 147 16 +126 148 16 +126 149 16 +126 150 16 +126 151 16 +126 152 16 +126 153 16 +126 154 16 +126 155 16 +126 156 16 +126 157 16 +126 158 16 +126 159 16 +126 160 16 +126 161 16 +126 162 16 +126 163 16 +126 164 16 +126 165 16 +126 166 16 +126 167 16 +126 168 16 +126 169 16 +126 170 16 +126 171 16 +126 172 16 +126 173 16 +126 174 16 +126 175 16 +126 176 16 +126 177 16 +126 178 16 +126 179 16 +126 180 16 +126 181 16 +126 182 16 +126 183 16 +126 184 16 +126 185 16 +126 186 16 +126 187 16 +126 188 16 +126 189 16 +126 190 16 +126 191 16 +126 192 16 +126 193 16 +126 194 16 +126 195 16 +126 196 16 +126 197 16 +126 198 16 +126 199 16 +126 200 16 +126 201 16 +126 202 16 +126 203 16 +126 204 16 +126 205 16 +126 206 16 +126 207 16 +126 208 16 +126 209 16 +126 210 16 +126 211 16 +126 212 16 +126 213 16 +126 214 16 +126 215 16 +126 216 16 +126 217 16 +126 218 16 +126 219 16 +126 220 16 +126 221 16 +126 222 16 +126 223 16 +126 224 16 +126 225 16 +126 226 16 +126 227 16 +126 228 16 +126 229 16 +126 230 16 +126 231 16 +126 232 16 +126 233 16 +126 234 16 +126 235 16 +126 236 16 +126 237 16 +126 238 16 +126 239 16 +126 240 16 +126 241 16 +126 242 16 +126 243 16 +126 244 16 +126 245 16 +126 246 16 +126 247 16 +126 248 16 +126 249 16 +126 250 16 +126 251 16 +126 252 16 +126 253 16 +126 254 16 +126 255 16 +126 256 16 +126 257 16 +126 258 16 +126 259 16 +126 260 16 +126 261 16 +126 262 16 +126 263 16 +126 264 16 +126 265 16 +126 266 16 +126 267 16 +126 268 16 +126 269 16 +126 270 16 +126 271 16 +126 272 16 +126 273 16 +126 274 16 +126 275 16 +126 276 16 +126 277 16 +126 278 16 +126 279 16 +126 280 16 +126 281 16 +126 282 16 +126 283 16 +126 284 16 +126 285 16 +126 286 16 +126 287 16 +126 288 16 +126 289 16 +126 290 16 +126 291 16 +126 292 16 +126 293 16 +126 294 16 +126 295 16 +126 296 16 +126 297 16 +126 298 16 +126 299 16 +126 300 16 +126 301 16 +126 302 16 +126 303 16 +126 304 16 +126 305 16 +126 306 16 +126 307 16 +126 308 16 +126 309 16 +126 310 16 +126 311 16 +126 312 16 +126 313 16 +126 314 16 +126 315 16 +126 316 16 +126 317 16 +126 318 16 +126 319 16 +126 320 16 +126 321 16 +126 322 16 +126 323 16 +126 324 16 +126 325 16 +126 326 16 +126 327 16 +126 328 16 +126 329 16 +126 330 16 +126 331 16 +126 332 16 +126 333 16 +126 334 16 +126 335 16 +126 336 16 +126 337 16 +126 338 16 +126 339 16 +126 340 16 +126 341 16 +126 342 16 +126 343 16 +126 344 16 +126 345 16 +126 346 16 +126 347 16 +126 348 16 +126 349 16 +126 350 0 +126 351 0 +126 352 0 +126 353 0 +126 354 0 +126 355 0 +126 356 0 +126 357 0 +126 358 0 +126 359 0 +126 360 0 +126 361 0 +126 362 0 +126 363 0 +126 364 0 +126 365 0 +126 366 0 +126 367 0 +126 368 0 +126 369 0 +126 370 0 +126 371 0 +126 372 0 +126 373 0 +126 374 0 +126 375 0 +126 376 0 +126 377 0 +126 378 0 +126 379 0 +126 380 0 +126 381 0 +126 382 0 +126 383 0 +127 128 16 +127 129 16 +127 130 16 +127 131 16 +127 132 16 +127 133 16 +127 134 16 +127 135 16 +127 136 16 +127 137 16 +127 138 16 +127 139 16 +127 140 16 +127 141 16 +127 142 16 +127 143 16 +127 144 16 +127 145 16 +127 146 16 +127 147 16 +127 148 16 +127 149 16 +127 150 16 +127 151 16 +127 152 16 +127 153 16 +127 154 16 +127 155 16 +127 156 16 +127 157 16 +127 158 16 +127 159 16 +127 160 16 +127 161 16 +127 162 16 +127 163 16 +127 164 16 +127 165 16 +127 166 16 +127 167 16 +127 168 16 +127 169 16 +127 170 16 +127 171 16 +127 172 16 +127 173 16 +127 174 16 +127 175 16 +127 176 16 +127 177 16 +127 178 16 +127 179 16 +127 180 16 +127 181 16 +127 182 16 +127 183 16 +127 184 16 +127 185 16 +127 186 16 +127 187 16 +127 188 16 +127 189 16 +127 190 16 +127 191 16 +127 192 16 +127 193 16 +127 194 16 +127 195 16 +127 196 16 +127 197 16 +127 198 16 +127 199 16 +127 200 16 +127 201 16 +127 202 16 +127 203 16 +127 204 16 +127 205 16 +127 206 16 +127 207 16 +127 208 16 +127 209 16 +127 210 16 +127 211 16 +127 212 16 +127 213 16 +127 214 16 +127 215 16 +127 216 16 +127 217 16 +127 218 16 +127 219 16 +127 220 16 +127 221 16 +127 222 16 +127 223 16 +127 224 16 +127 225 16 +127 226 16 +127 227 16 +127 228 16 +127 229 16 +127 230 16 +127 231 16 +127 232 16 +127 233 16 +127 234 16 +127 235 16 +127 236 16 +127 237 16 +127 238 16 +127 239 16 +127 240 16 +127 241 16 +127 242 16 +127 243 16 +127 244 16 +127 245 16 +127 246 16 +127 247 16 +127 248 16 +127 249 16 +127 250 16 +127 251 16 +127 252 16 +127 253 16 +127 254 16 +127 255 16 +127 256 16 +127 257 16 +127 258 16 +127 259 16 +127 260 16 +127 261 16 +127 262 16 +127 263 16 +127 264 16 +127 265 16 +127 266 16 +127 267 16 +127 268 16 +127 269 16 +127 270 16 +127 271 16 +127 272 16 +127 273 16 +127 274 16 +127 275 16 +127 276 16 +127 277 16 +127 278 16 +127 279 16 +127 280 16 +127 281 16 +127 282 16 +127 283 16 +127 284 16 +127 285 16 +127 286 16 +127 287 16 +127 288 16 +127 289 16 +127 290 16 +127 291 16 +127 292 16 +127 293 16 +127 294 16 +127 295 16 +127 296 16 +127 297 16 +127 298 16 +127 299 16 +127 300 16 +127 301 16 +127 302 16 +127 303 16 +127 304 16 +127 305 16 +127 306 16 +127 307 16 +127 308 16 +127 309 16 +127 310 16 +127 311 16 +127 312 16 +127 313 16 +127 314 16 +127 315 16 +127 316 16 +127 317 16 +127 318 16 +127 319 16 +127 320 16 +127 321 16 +127 322 16 +127 323 16 +127 324 16 +127 325 16 +127 326 16 +127 327 16 +127 328 16 +127 329 16 +127 330 16 +127 331 16 +127 332 16 +127 333 16 +127 334 16 +127 335 16 +127 336 16 +127 337 16 +127 338 16 +127 339 16 +127 340 16 +127 341 16 +127 342 16 +127 343 16 +127 344 16 +127 345 16 +127 346 16 +127 347 16 +127 348 16 +127 349 16 +127 350 0 +127 351 0 +127 352 0 +127 353 0 +127 354 0 +127 355 0 +127 356 0 +127 357 0 +127 358 0 +127 359 0 +127 360 0 +127 361 0 +127 362 0 +127 363 0 +127 364 0 +127 365 0 +127 366 0 +127 367 0 +127 368 0 +127 369 0 +127 370 0 +127 371 0 +127 372 0 +127 373 0 +127 374 0 +127 375 0 +127 376 0 +127 377 0 +127 378 0 +127 379 0 +127 380 0 +127 381 0 +127 382 0 +127 383 0 +128 129 16 +128 130 16 +128 131 16 +128 132 16 +128 133 16 +128 134 16 +128 135 16 +128 136 16 +128 137 16 +128 138 16 +128 139 16 +128 140 16 +128 141 16 +128 142 16 +128 143 16 +128 144 16 +128 145 16 +128 146 16 +128 147 16 +128 148 16 +128 149 16 +128 150 16 +128 151 16 +128 152 16 +128 153 16 +128 154 16 +128 155 16 +128 156 16 +128 157 16 +128 158 16 +128 159 16 +128 160 16 +128 161 16 +128 162 16 +128 163 16 +128 164 16 +128 165 16 +128 166 16 +128 167 16 +128 168 16 +128 169 16 +128 170 16 +128 171 16 +128 172 16 +128 173 16 +128 174 16 +128 175 16 +128 176 16 +128 177 16 +128 178 16 +128 179 16 +128 180 16 +128 181 16 +128 182 16 +128 183 16 +128 184 16 +128 185 16 +128 186 16 +128 187 16 +128 188 16 +128 189 16 +128 190 16 +128 191 16 +128 192 16 +128 193 16 +128 194 16 +128 195 16 +128 196 16 +128 197 16 +128 198 16 +128 199 16 +128 200 16 +128 201 16 +128 202 16 +128 203 16 +128 204 16 +128 205 16 +128 206 16 +128 207 16 +128 208 16 +128 209 16 +128 210 16 +128 211 16 +128 212 16 +128 213 16 +128 214 16 +128 215 16 +128 216 16 +128 217 16 +128 218 16 +128 219 16 +128 220 16 +128 221 16 +128 222 16 +128 223 16 +128 224 16 +128 225 16 +128 226 16 +128 227 16 +128 228 16 +128 229 16 +128 230 16 +128 231 16 +128 232 16 +128 233 16 +128 234 16 +128 235 16 +128 236 16 +128 237 16 +128 238 16 +128 239 16 +128 240 16 +128 241 16 +128 242 16 +128 243 16 +128 244 16 +128 245 16 +128 246 16 +128 247 16 +128 248 16 +128 249 16 +128 250 16 +128 251 16 +128 252 16 +128 253 16 +128 254 16 +128 255 16 +128 256 16 +128 257 16 +128 258 16 +128 259 16 +128 260 16 +128 261 16 +128 262 16 +128 263 16 +128 264 16 +128 265 16 +128 266 16 +128 267 16 +128 268 16 +128 269 16 +128 270 16 +128 271 16 +128 272 16 +128 273 16 +128 274 16 +128 275 16 +128 276 16 +128 277 16 +128 278 16 +128 279 16 +128 280 16 +128 281 16 +128 282 16 +128 283 16 +128 284 16 +128 285 16 +128 286 16 +128 287 16 +128 288 16 +128 289 16 +128 290 16 +128 291 16 +128 292 16 +128 293 16 +128 294 16 +128 295 16 +128 296 16 +128 297 16 +128 298 16 +128 299 16 +128 300 16 +128 301 16 +128 302 16 +128 303 16 +128 304 16 +128 305 16 +128 306 16 +128 307 16 +128 308 16 +128 309 16 +128 310 16 +128 311 16 +128 312 16 +128 313 16 +128 314 16 +128 315 16 +128 316 16 +128 317 16 +128 318 16 +128 319 16 +128 320 16 +128 321 16 +128 322 16 +128 323 16 +128 324 16 +128 325 16 +128 326 16 +128 327 16 +128 328 16 +128 329 16 +128 330 16 +128 331 16 +128 332 16 +128 333 16 +128 334 16 +128 335 16 +128 336 16 +128 337 16 +128 338 16 +128 339 16 +128 340 16 +128 341 16 +128 342 16 +128 343 16 +128 344 16 +128 345 16 +128 346 16 +128 347 16 +128 348 16 +128 349 16 +128 350 0 +128 351 0 +128 352 0 +128 353 0 +128 354 0 +128 355 0 +128 356 0 +128 357 0 +128 358 0 +128 359 0 +128 360 0 +128 361 0 +128 362 0 +128 363 0 +128 364 0 +128 365 0 +128 366 0 +128 367 0 +128 368 0 +128 369 0 +128 370 0 +128 371 0 +128 372 0 +128 373 0 +128 374 0 +128 375 0 +128 376 0 +128 377 0 +128 378 0 +128 379 0 +128 380 0 +128 381 0 +128 382 0 +128 383 0 +129 130 16 +129 131 16 +129 132 16 +129 133 16 +129 134 16 +129 135 16 +129 136 16 +129 137 16 +129 138 16 +129 139 16 +129 140 16 +129 141 16 +129 142 16 +129 143 16 +129 144 16 +129 145 16 +129 146 16 +129 147 16 +129 148 16 +129 149 16 +129 150 16 +129 151 16 +129 152 16 +129 153 16 +129 154 16 +129 155 16 +129 156 16 +129 157 16 +129 158 16 +129 159 16 +129 160 16 +129 161 16 +129 162 16 +129 163 16 +129 164 16 +129 165 16 +129 166 16 +129 167 16 +129 168 16 +129 169 16 +129 170 16 +129 171 16 +129 172 16 +129 173 16 +129 174 16 +129 175 16 +129 176 16 +129 177 16 +129 178 16 +129 179 16 +129 180 16 +129 181 16 +129 182 16 +129 183 16 +129 184 16 +129 185 16 +129 186 16 +129 187 16 +129 188 16 +129 189 16 +129 190 16 +129 191 16 +129 192 16 +129 193 16 +129 194 16 +129 195 16 +129 196 16 +129 197 16 +129 198 16 +129 199 16 +129 200 16 +129 201 16 +129 202 16 +129 203 16 +129 204 16 +129 205 16 +129 206 16 +129 207 16 +129 208 16 +129 209 16 +129 210 16 +129 211 16 +129 212 16 +129 213 16 +129 214 16 +129 215 16 +129 216 16 +129 217 16 +129 218 16 +129 219 16 +129 220 16 +129 221 16 +129 222 16 +129 223 16 +129 224 16 +129 225 16 +129 226 16 +129 227 16 +129 228 16 +129 229 16 +129 230 16 +129 231 16 +129 232 16 +129 233 16 +129 234 16 +129 235 16 +129 236 16 +129 237 16 +129 238 16 +129 239 16 +129 240 16 +129 241 16 +129 242 16 +129 243 16 +129 244 16 +129 245 16 +129 246 16 +129 247 16 +129 248 16 +129 249 16 +129 250 16 +129 251 16 +129 252 16 +129 253 16 +129 254 16 +129 255 16 +129 256 16 +129 257 16 +129 258 16 +129 259 16 +129 260 16 +129 261 16 +129 262 16 +129 263 16 +129 264 16 +129 265 16 +129 266 16 +129 267 16 +129 268 16 +129 269 16 +129 270 16 +129 271 16 +129 272 16 +129 273 16 +129 274 16 +129 275 16 +129 276 16 +129 277 16 +129 278 16 +129 279 16 +129 280 16 +129 281 16 +129 282 16 +129 283 16 +129 284 16 +129 285 16 +129 286 16 +129 287 16 +129 288 16 +129 289 16 +129 290 16 +129 291 16 +129 292 16 +129 293 16 +129 294 16 +129 295 16 +129 296 16 +129 297 16 +129 298 16 +129 299 16 +129 300 16 +129 301 16 +129 302 16 +129 303 16 +129 304 16 +129 305 16 +129 306 16 +129 307 16 +129 308 16 +129 309 16 +129 310 16 +129 311 16 +129 312 16 +129 313 16 +129 314 16 +129 315 16 +129 316 16 +129 317 16 +129 318 16 +129 319 16 +129 320 16 +129 321 16 +129 322 16 +129 323 16 +129 324 16 +129 325 16 +129 326 16 +129 327 16 +129 328 16 +129 329 16 +129 330 16 +129 331 16 +129 332 16 +129 333 16 +129 334 16 +129 335 16 +129 336 16 +129 337 16 +129 338 16 +129 339 16 +129 340 16 +129 341 16 +129 342 16 +129 343 16 +129 344 16 +129 345 16 +129 346 16 +129 347 16 +129 348 16 +129 349 16 +129 350 0 +129 351 0 +129 352 0 +129 353 0 +129 354 0 +129 355 0 +129 356 0 +129 357 0 +129 358 0 +129 359 0 +129 360 0 +129 361 0 +129 362 0 +129 363 0 +129 364 0 +129 365 0 +129 366 0 +129 367 0 +129 368 0 +129 369 0 +129 370 0 +129 371 0 +129 372 0 +129 373 0 +129 374 0 +129 375 0 +129 376 0 +129 377 0 +129 378 0 +129 379 0 +129 380 0 +129 381 0 +129 382 0 +129 383 0 +130 131 16 +130 132 16 +130 133 16 +130 134 16 +130 135 16 +130 136 16 +130 137 16 +130 138 16 +130 139 16 +130 140 16 +130 141 16 +130 142 16 +130 143 16 +130 144 16 +130 145 16 +130 146 16 +130 147 16 +130 148 16 +130 149 16 +130 150 16 +130 151 16 +130 152 16 +130 153 16 +130 154 16 +130 155 16 +130 156 16 +130 157 16 +130 158 16 +130 159 16 +130 160 16 +130 161 16 +130 162 16 +130 163 16 +130 164 16 +130 165 16 +130 166 16 +130 167 16 +130 168 16 +130 169 16 +130 170 16 +130 171 16 +130 172 16 +130 173 16 +130 174 16 +130 175 16 +130 176 16 +130 177 16 +130 178 16 +130 179 16 +130 180 16 +130 181 16 +130 182 16 +130 183 16 +130 184 16 +130 185 16 +130 186 16 +130 187 16 +130 188 16 +130 189 16 +130 190 16 +130 191 16 +130 192 16 +130 193 16 +130 194 16 +130 195 16 +130 196 16 +130 197 16 +130 198 16 +130 199 16 +130 200 16 +130 201 16 +130 202 16 +130 203 16 +130 204 16 +130 205 16 +130 206 16 +130 207 16 +130 208 16 +130 209 16 +130 210 16 +130 211 16 +130 212 16 +130 213 16 +130 214 16 +130 215 16 +130 216 16 +130 217 16 +130 218 16 +130 219 16 +130 220 16 +130 221 16 +130 222 16 +130 223 16 +130 224 16 +130 225 16 +130 226 16 +130 227 16 +130 228 16 +130 229 16 +130 230 16 +130 231 16 +130 232 16 +130 233 16 +130 234 16 +130 235 16 +130 236 16 +130 237 16 +130 238 16 +130 239 16 +130 240 16 +130 241 16 +130 242 16 +130 243 16 +130 244 16 +130 245 16 +130 246 16 +130 247 16 +130 248 16 +130 249 16 +130 250 16 +130 251 16 +130 252 16 +130 253 16 +130 254 16 +130 255 16 +130 256 16 +130 257 16 +130 258 16 +130 259 16 +130 260 16 +130 261 16 +130 262 16 +130 263 16 +130 264 16 +130 265 16 +130 266 16 +130 267 16 +130 268 16 +130 269 16 +130 270 16 +130 271 16 +130 272 16 +130 273 16 +130 274 16 +130 275 16 +130 276 16 +130 277 16 +130 278 16 +130 279 16 +130 280 16 +130 281 16 +130 282 16 +130 283 16 +130 284 16 +130 285 16 +130 286 16 +130 287 16 +130 288 16 +130 289 16 +130 290 16 +130 291 16 +130 292 16 +130 293 16 +130 294 16 +130 295 16 +130 296 16 +130 297 16 +130 298 16 +130 299 16 +130 300 16 +130 301 16 +130 302 16 +130 303 16 +130 304 16 +130 305 16 +130 306 16 +130 307 16 +130 308 16 +130 309 16 +130 310 16 +130 311 16 +130 312 16 +130 313 16 +130 314 16 +130 315 16 +130 316 16 +130 317 16 +130 318 16 +130 319 16 +130 320 16 +130 321 16 +130 322 16 +130 323 16 +130 324 16 +130 325 16 +130 326 16 +130 327 16 +130 328 16 +130 329 16 +130 330 16 +130 331 16 +130 332 16 +130 333 16 +130 334 16 +130 335 16 +130 336 16 +130 337 16 +130 338 16 +130 339 16 +130 340 16 +130 341 16 +130 342 16 +130 343 16 +130 344 16 +130 345 16 +130 346 16 +130 347 16 +130 348 16 +130 349 16 +130 350 0 +130 351 0 +130 352 0 +130 353 0 +130 354 0 +130 355 0 +130 356 0 +130 357 0 +130 358 0 +130 359 0 +130 360 0 +130 361 0 +130 362 0 +130 363 0 +130 364 0 +130 365 0 +130 366 0 +130 367 0 +130 368 0 +130 369 0 +130 370 0 +130 371 0 +130 372 0 +130 373 0 +130 374 0 +130 375 0 +130 376 0 +130 377 0 +130 378 0 +130 379 0 +130 380 0 +130 381 0 +130 382 0 +130 383 0 +131 132 16 +131 133 16 +131 134 16 +131 135 16 +131 136 16 +131 137 16 +131 138 16 +131 139 16 +131 140 16 +131 141 16 +131 142 16 +131 143 16 +131 144 16 +131 145 16 +131 146 16 +131 147 16 +131 148 16 +131 149 16 +131 150 16 +131 151 16 +131 152 16 +131 153 16 +131 154 16 +131 155 16 +131 156 16 +131 157 16 +131 158 16 +131 159 16 +131 160 16 +131 161 16 +131 162 16 +131 163 16 +131 164 16 +131 165 16 +131 166 16 +131 167 16 +131 168 16 +131 169 16 +131 170 16 +131 171 16 +131 172 16 +131 173 16 +131 174 16 +131 175 16 +131 176 16 +131 177 16 +131 178 16 +131 179 16 +131 180 16 +131 181 16 +131 182 16 +131 183 16 +131 184 16 +131 185 16 +131 186 16 +131 187 16 +131 188 16 +131 189 16 +131 190 16 +131 191 16 +131 192 16 +131 193 16 +131 194 16 +131 195 16 +131 196 16 +131 197 16 +131 198 16 +131 199 16 +131 200 16 +131 201 16 +131 202 16 +131 203 16 +131 204 16 +131 205 16 +131 206 16 +131 207 16 +131 208 16 +131 209 16 +131 210 16 +131 211 16 +131 212 16 +131 213 16 +131 214 16 +131 215 16 +131 216 16 +131 217 16 +131 218 16 +131 219 16 +131 220 16 +131 221 16 +131 222 16 +131 223 16 +131 224 16 +131 225 16 +131 226 16 +131 227 16 +131 228 16 +131 229 16 +131 230 16 +131 231 16 +131 232 16 +131 233 16 +131 234 16 +131 235 16 +131 236 16 +131 237 16 +131 238 16 +131 239 16 +131 240 16 +131 241 16 +131 242 16 +131 243 16 +131 244 16 +131 245 16 +131 246 16 +131 247 16 +131 248 16 +131 249 16 +131 250 16 +131 251 16 +131 252 16 +131 253 16 +131 254 16 +131 255 16 +131 256 16 +131 257 16 +131 258 16 +131 259 16 +131 260 16 +131 261 16 +131 262 16 +131 263 16 +131 264 16 +131 265 16 +131 266 16 +131 267 16 +131 268 16 +131 269 16 +131 270 16 +131 271 16 +131 272 16 +131 273 16 +131 274 16 +131 275 16 +131 276 16 +131 277 16 +131 278 16 +131 279 16 +131 280 16 +131 281 16 +131 282 16 +131 283 16 +131 284 16 +131 285 16 +131 286 16 +131 287 16 +131 288 16 +131 289 16 +131 290 16 +131 291 16 +131 292 16 +131 293 16 +131 294 16 +131 295 16 +131 296 16 +131 297 16 +131 298 16 +131 299 16 +131 300 16 +131 301 16 +131 302 16 +131 303 16 +131 304 16 +131 305 16 +131 306 16 +131 307 16 +131 308 16 +131 309 16 +131 310 16 +131 311 16 +131 312 16 +131 313 16 +131 314 16 +131 315 16 +131 316 16 +131 317 16 +131 318 16 +131 319 16 +131 320 16 +131 321 16 +131 322 16 +131 323 16 +131 324 16 +131 325 16 +131 326 16 +131 327 16 +131 328 16 +131 329 16 +131 330 16 +131 331 16 +131 332 16 +131 333 16 +131 334 16 +131 335 16 +131 336 16 +131 337 16 +131 338 16 +131 339 16 +131 340 16 +131 341 16 +131 342 16 +131 343 16 +131 344 16 +131 345 16 +131 346 16 +131 347 16 +131 348 16 +131 349 16 +131 350 0 +131 351 0 +131 352 0 +131 353 0 +131 354 0 +131 355 0 +131 356 0 +131 357 0 +131 358 0 +131 359 0 +131 360 0 +131 361 0 +131 362 0 +131 363 0 +131 364 0 +131 365 0 +131 366 0 +131 367 0 +131 368 0 +131 369 0 +131 370 0 +131 371 0 +131 372 0 +131 373 0 +131 374 0 +131 375 0 +131 376 0 +131 377 0 +131 378 0 +131 379 0 +131 380 0 +131 381 0 +131 382 0 +131 383 0 +132 133 16 +132 134 16 +132 135 16 +132 136 16 +132 137 16 +132 138 16 +132 139 16 +132 140 16 +132 141 16 +132 142 16 +132 143 16 +132 144 16 +132 145 16 +132 146 16 +132 147 16 +132 148 16 +132 149 16 +132 150 16 +132 151 16 +132 152 16 +132 153 16 +132 154 16 +132 155 16 +132 156 16 +132 157 16 +132 158 16 +132 159 16 +132 160 16 +132 161 16 +132 162 16 +132 163 16 +132 164 16 +132 165 16 +132 166 16 +132 167 16 +132 168 16 +132 169 16 +132 170 16 +132 171 16 +132 172 16 +132 173 16 +132 174 16 +132 175 16 +132 176 16 +132 177 16 +132 178 16 +132 179 16 +132 180 16 +132 181 16 +132 182 16 +132 183 16 +132 184 16 +132 185 16 +132 186 16 +132 187 16 +132 188 16 +132 189 16 +132 190 16 +132 191 16 +132 192 16 +132 193 16 +132 194 16 +132 195 16 +132 196 16 +132 197 16 +132 198 16 +132 199 16 +132 200 16 +132 201 16 +132 202 16 +132 203 16 +132 204 16 +132 205 16 +132 206 16 +132 207 16 +132 208 16 +132 209 16 +132 210 16 +132 211 16 +132 212 16 +132 213 16 +132 214 16 +132 215 16 +132 216 16 +132 217 16 +132 218 16 +132 219 16 +132 220 16 +132 221 16 +132 222 16 +132 223 16 +132 224 16 +132 225 16 +132 226 16 +132 227 16 +132 228 16 +132 229 16 +132 230 16 +132 231 16 +132 232 16 +132 233 16 +132 234 16 +132 235 16 +132 236 16 +132 237 16 +132 238 16 +132 239 16 +132 240 16 +132 241 16 +132 242 16 +132 243 16 +132 244 16 +132 245 16 +132 246 16 +132 247 16 +132 248 16 +132 249 16 +132 250 16 +132 251 16 +132 252 16 +132 253 16 +132 254 16 +132 255 16 +132 256 16 +132 257 16 +132 258 16 +132 259 16 +132 260 16 +132 261 16 +132 262 16 +132 263 16 +132 264 16 +132 265 16 +132 266 16 +132 267 16 +132 268 16 +132 269 16 +132 270 16 +132 271 16 +132 272 16 +132 273 16 +132 274 16 +132 275 16 +132 276 16 +132 277 16 +132 278 16 +132 279 16 +132 280 16 +132 281 16 +132 282 16 +132 283 16 +132 284 16 +132 285 16 +132 286 16 +132 287 16 +132 288 16 +132 289 16 +132 290 16 +132 291 16 +132 292 16 +132 293 16 +132 294 16 +132 295 16 +132 296 16 +132 297 16 +132 298 16 +132 299 16 +132 300 16 +132 301 16 +132 302 16 +132 303 16 +132 304 16 +132 305 16 +132 306 16 +132 307 16 +132 308 16 +132 309 16 +132 310 16 +132 311 16 +132 312 16 +132 313 16 +132 314 16 +132 315 16 +132 316 16 +132 317 16 +132 318 16 +132 319 16 +132 320 16 +132 321 16 +132 322 16 +132 323 16 +132 324 16 +132 325 16 +132 326 16 +132 327 16 +132 328 16 +132 329 16 +132 330 16 +132 331 16 +132 332 16 +132 333 16 +132 334 16 +132 335 16 +132 336 16 +132 337 16 +132 338 16 +132 339 16 +132 340 16 +132 341 16 +132 342 16 +132 343 16 +132 344 16 +132 345 16 +132 346 16 +132 347 16 +132 348 16 +132 349 16 +132 350 0 +132 351 0 +132 352 0 +132 353 0 +132 354 0 +132 355 0 +132 356 0 +132 357 0 +132 358 0 +132 359 0 +132 360 0 +132 361 0 +132 362 0 +132 363 0 +132 364 0 +132 365 0 +132 366 0 +132 367 0 +132 368 0 +132 369 0 +132 370 0 +132 371 0 +132 372 0 +132 373 0 +132 374 0 +132 375 0 +132 376 0 +132 377 0 +132 378 0 +132 379 0 +132 380 0 +132 381 0 +132 382 0 +132 383 0 +133 134 16 +133 135 16 +133 136 16 +133 137 16 +133 138 16 +133 139 16 +133 140 16 +133 141 16 +133 142 16 +133 143 16 +133 144 16 +133 145 16 +133 146 16 +133 147 16 +133 148 16 +133 149 16 +133 150 16 +133 151 16 +133 152 16 +133 153 16 +133 154 16 +133 155 16 +133 156 16 +133 157 16 +133 158 16 +133 159 16 +133 160 16 +133 161 16 +133 162 16 +133 163 16 +133 164 16 +133 165 16 +133 166 16 +133 167 16 +133 168 16 +133 169 16 +133 170 16 +133 171 16 +133 172 16 +133 173 16 +133 174 16 +133 175 16 +133 176 16 +133 177 16 +133 178 16 +133 179 16 +133 180 16 +133 181 16 +133 182 16 +133 183 16 +133 184 16 +133 185 16 +133 186 16 +133 187 16 +133 188 16 +133 189 16 +133 190 16 +133 191 16 +133 192 16 +133 193 16 +133 194 16 +133 195 16 +133 196 16 +133 197 16 +133 198 16 +133 199 16 +133 200 16 +133 201 16 +133 202 16 +133 203 16 +133 204 16 +133 205 16 +133 206 16 +133 207 16 +133 208 16 +133 209 16 +133 210 16 +133 211 16 +133 212 16 +133 213 16 +133 214 16 +133 215 16 +133 216 16 +133 217 16 +133 218 16 +133 219 16 +133 220 16 +133 221 16 +133 222 16 +133 223 16 +133 224 16 +133 225 16 +133 226 16 +133 227 16 +133 228 16 +133 229 16 +133 230 16 +133 231 16 +133 232 16 +133 233 16 +133 234 16 +133 235 16 +133 236 16 +133 237 16 +133 238 16 +133 239 16 +133 240 16 +133 241 16 +133 242 16 +133 243 16 +133 244 16 +133 245 16 +133 246 16 +133 247 16 +133 248 16 +133 249 16 +133 250 16 +133 251 16 +133 252 16 +133 253 16 +133 254 16 +133 255 16 +133 256 16 +133 257 16 +133 258 16 +133 259 16 +133 260 16 +133 261 16 +133 262 16 +133 263 16 +133 264 16 +133 265 16 +133 266 16 +133 267 16 +133 268 16 +133 269 16 +133 270 16 +133 271 16 +133 272 16 +133 273 16 +133 274 16 +133 275 16 +133 276 16 +133 277 16 +133 278 16 +133 279 16 +133 280 16 +133 281 16 +133 282 16 +133 283 16 +133 284 16 +133 285 16 +133 286 16 +133 287 16 +133 288 16 +133 289 16 +133 290 16 +133 291 16 +133 292 16 +133 293 16 +133 294 16 +133 295 16 +133 296 16 +133 297 16 +133 298 16 +133 299 16 +133 300 16 +133 301 16 +133 302 16 +133 303 16 +133 304 16 +133 305 16 +133 306 16 +133 307 16 +133 308 16 +133 309 16 +133 310 16 +133 311 16 +133 312 16 +133 313 16 +133 314 16 +133 315 16 +133 316 16 +133 317 16 +133 318 16 +133 319 16 +133 320 16 +133 321 16 +133 322 16 +133 323 16 +133 324 16 +133 325 16 +133 326 16 +133 327 16 +133 328 16 +133 329 16 +133 330 16 +133 331 16 +133 332 16 +133 333 16 +133 334 16 +133 335 16 +133 336 16 +133 337 16 +133 338 16 +133 339 16 +133 340 16 +133 341 16 +133 342 16 +133 343 16 +133 344 16 +133 345 16 +133 346 16 +133 347 16 +133 348 16 +133 349 16 +133 350 0 +133 351 0 +133 352 0 +133 353 0 +133 354 0 +133 355 0 +133 356 0 +133 357 0 +133 358 0 +133 359 0 +133 360 0 +133 361 0 +133 362 0 +133 363 0 +133 364 0 +133 365 0 +133 366 0 +133 367 0 +133 368 0 +133 369 0 +133 370 0 +133 371 0 +133 372 0 +133 373 0 +133 374 0 +133 375 0 +133 376 0 +133 377 0 +133 378 0 +133 379 0 +133 380 0 +133 381 0 +133 382 0 +133 383 0 +134 135 16 +134 136 16 +134 137 16 +134 138 16 +134 139 16 +134 140 16 +134 141 16 +134 142 16 +134 143 16 +134 144 16 +134 145 16 +134 146 16 +134 147 16 +134 148 16 +134 149 16 +134 150 16 +134 151 16 +134 152 16 +134 153 16 +134 154 16 +134 155 16 +134 156 16 +134 157 16 +134 158 16 +134 159 16 +134 160 16 +134 161 16 +134 162 16 +134 163 16 +134 164 16 +134 165 16 +134 166 16 +134 167 16 +134 168 16 +134 169 16 +134 170 16 +134 171 16 +134 172 16 +134 173 16 +134 174 16 +134 175 16 +134 176 16 +134 177 16 +134 178 16 +134 179 16 +134 180 16 +134 181 16 +134 182 16 +134 183 16 +134 184 16 +134 185 16 +134 186 16 +134 187 16 +134 188 16 +134 189 16 +134 190 16 +134 191 16 +134 192 16 +134 193 16 +134 194 16 +134 195 16 +134 196 16 +134 197 16 +134 198 16 +134 199 16 +134 200 16 +134 201 16 +134 202 16 +134 203 16 +134 204 16 +134 205 16 +134 206 16 +134 207 16 +134 208 16 +134 209 16 +134 210 16 +134 211 16 +134 212 16 +134 213 16 +134 214 16 +134 215 16 +134 216 16 +134 217 16 +134 218 16 +134 219 16 +134 220 16 +134 221 16 +134 222 16 +134 223 16 +134 224 16 +134 225 16 +134 226 16 +134 227 16 +134 228 16 +134 229 16 +134 230 16 +134 231 16 +134 232 16 +134 233 16 +134 234 16 +134 235 16 +134 236 16 +134 237 16 +134 238 16 +134 239 16 +134 240 16 +134 241 16 +134 242 16 +134 243 16 +134 244 16 +134 245 16 +134 246 16 +134 247 16 +134 248 16 +134 249 16 +134 250 16 +134 251 16 +134 252 16 +134 253 16 +134 254 16 +134 255 16 +134 256 16 +134 257 16 +134 258 16 +134 259 16 +134 260 16 +134 261 16 +134 262 16 +134 263 16 +134 264 16 +134 265 16 +134 266 16 +134 267 16 +134 268 16 +134 269 16 +134 270 16 +134 271 16 +134 272 16 +134 273 16 +134 274 16 +134 275 16 +134 276 16 +134 277 16 +134 278 16 +134 279 16 +134 280 16 +134 281 16 +134 282 16 +134 283 16 +134 284 16 +134 285 16 +134 286 16 +134 287 16 +134 288 16 +134 289 16 +134 290 16 +134 291 16 +134 292 16 +134 293 16 +134 294 16 +134 295 16 +134 296 16 +134 297 16 +134 298 16 +134 299 16 +134 300 16 +134 301 16 +134 302 16 +134 303 16 +134 304 16 +134 305 16 +134 306 16 +134 307 16 +134 308 16 +134 309 16 +134 310 16 +134 311 16 +134 312 16 +134 313 16 +134 314 16 +134 315 16 +134 316 16 +134 317 16 +134 318 16 +134 319 16 +134 320 16 +134 321 16 +134 322 16 +134 323 16 +134 324 16 +134 325 16 +134 326 16 +134 327 16 +134 328 16 +134 329 16 +134 330 16 +134 331 16 +134 332 16 +134 333 16 +134 334 16 +134 335 16 +134 336 16 +134 337 16 +134 338 16 +134 339 16 +134 340 16 +134 341 16 +134 342 16 +134 343 16 +134 344 16 +134 345 16 +134 346 16 +134 347 16 +134 348 16 +134 349 16 +134 350 0 +134 351 0 +134 352 0 +134 353 0 +134 354 0 +134 355 0 +134 356 0 +134 357 0 +134 358 0 +134 359 0 +134 360 0 +134 361 0 +134 362 0 +134 363 0 +134 364 0 +134 365 0 +134 366 0 +134 367 0 +134 368 0 +134 369 0 +134 370 0 +134 371 0 +134 372 0 +134 373 0 +134 374 0 +134 375 0 +134 376 0 +134 377 0 +134 378 0 +134 379 0 +134 380 0 +134 381 0 +134 382 0 +134 383 0 +135 136 16 +135 137 16 +135 138 16 +135 139 16 +135 140 16 +135 141 16 +135 142 16 +135 143 16 +135 144 16 +135 145 16 +135 146 16 +135 147 16 +135 148 16 +135 149 16 +135 150 16 +135 151 16 +135 152 16 +135 153 16 +135 154 16 +135 155 16 +135 156 16 +135 157 16 +135 158 16 +135 159 16 +135 160 16 +135 161 16 +135 162 16 +135 163 16 +135 164 16 +135 165 16 +135 166 16 +135 167 16 +135 168 16 +135 169 16 +135 170 16 +135 171 16 +135 172 16 +135 173 16 +135 174 16 +135 175 16 +135 176 16 +135 177 16 +135 178 16 +135 179 16 +135 180 16 +135 181 16 +135 182 16 +135 183 16 +135 184 16 +135 185 16 +135 186 16 +135 187 16 +135 188 16 +135 189 16 +135 190 16 +135 191 16 +135 192 16 +135 193 16 +135 194 16 +135 195 16 +135 196 16 +135 197 16 +135 198 16 +135 199 16 +135 200 16 +135 201 16 +135 202 16 +135 203 16 +135 204 16 +135 205 16 +135 206 16 +135 207 16 +135 208 16 +135 209 16 +135 210 16 +135 211 16 +135 212 16 +135 213 16 +135 214 16 +135 215 16 +135 216 16 +135 217 16 +135 218 16 +135 219 16 +135 220 16 +135 221 16 +135 222 16 +135 223 16 +135 224 16 +135 225 16 +135 226 16 +135 227 16 +135 228 16 +135 229 16 +135 230 16 +135 231 16 +135 232 16 +135 233 16 +135 234 16 +135 235 16 +135 236 16 +135 237 16 +135 238 16 +135 239 16 +135 240 16 +135 241 16 +135 242 16 +135 243 16 +135 244 16 +135 245 16 +135 246 16 +135 247 16 +135 248 16 +135 249 16 +135 250 16 +135 251 16 +135 252 16 +135 253 16 +135 254 16 +135 255 16 +135 256 16 +135 257 16 +135 258 16 +135 259 16 +135 260 16 +135 261 16 +135 262 16 +135 263 16 +135 264 16 +135 265 16 +135 266 16 +135 267 16 +135 268 16 +135 269 16 +135 270 16 +135 271 16 +135 272 16 +135 273 16 +135 274 16 +135 275 16 +135 276 16 +135 277 16 +135 278 16 +135 279 16 +135 280 16 +135 281 16 +135 282 16 +135 283 16 +135 284 16 +135 285 16 +135 286 16 +135 287 16 +135 288 16 +135 289 16 +135 290 16 +135 291 16 +135 292 16 +135 293 16 +135 294 16 +135 295 16 +135 296 16 +135 297 16 +135 298 16 +135 299 16 +135 300 16 +135 301 16 +135 302 16 +135 303 16 +135 304 16 +135 305 16 +135 306 16 +135 307 16 +135 308 16 +135 309 16 +135 310 16 +135 311 16 +135 312 16 +135 313 16 +135 314 16 +135 315 16 +135 316 16 +135 317 16 +135 318 16 +135 319 16 +135 320 16 +135 321 16 +135 322 16 +135 323 16 +135 324 16 +135 325 16 +135 326 16 +135 327 16 +135 328 16 +135 329 16 +135 330 16 +135 331 16 +135 332 16 +135 333 16 +135 334 16 +135 335 16 +135 336 16 +135 337 16 +135 338 16 +135 339 16 +135 340 16 +135 341 16 +135 342 16 +135 343 16 +135 344 16 +135 345 16 +135 346 16 +135 347 16 +135 348 16 +135 349 16 +135 350 0 +135 351 0 +135 352 0 +135 353 0 +135 354 0 +135 355 0 +135 356 0 +135 357 0 +135 358 0 +135 359 0 +135 360 0 +135 361 0 +135 362 0 +135 363 0 +135 364 0 +135 365 0 +135 366 0 +135 367 0 +135 368 0 +135 369 0 +135 370 0 +135 371 0 +135 372 0 +135 373 0 +135 374 0 +135 375 0 +135 376 0 +135 377 0 +135 378 0 +135 379 0 +135 380 0 +135 381 0 +135 382 0 +135 383 0 +136 137 16 +136 138 16 +136 139 16 +136 140 16 +136 141 16 +136 142 16 +136 143 16 +136 144 16 +136 145 16 +136 146 16 +136 147 16 +136 148 16 +136 149 16 +136 150 16 +136 151 16 +136 152 16 +136 153 16 +136 154 16 +136 155 16 +136 156 16 +136 157 16 +136 158 16 +136 159 16 +136 160 16 +136 161 16 +136 162 16 +136 163 16 +136 164 16 +136 165 16 +136 166 16 +136 167 16 +136 168 16 +136 169 16 +136 170 16 +136 171 16 +136 172 16 +136 173 16 +136 174 16 +136 175 16 +136 176 16 +136 177 16 +136 178 16 +136 179 16 +136 180 16 +136 181 16 +136 182 16 +136 183 16 +136 184 16 +136 185 16 +136 186 16 +136 187 16 +136 188 16 +136 189 16 +136 190 16 +136 191 16 +136 192 16 +136 193 16 +136 194 16 +136 195 16 +136 196 16 +136 197 16 +136 198 16 +136 199 16 +136 200 16 +136 201 16 +136 202 16 +136 203 16 +136 204 16 +136 205 16 +136 206 16 +136 207 16 +136 208 16 +136 209 16 +136 210 16 +136 211 16 +136 212 16 +136 213 16 +136 214 16 +136 215 16 +136 216 16 +136 217 16 +136 218 16 +136 219 16 +136 220 16 +136 221 16 +136 222 16 +136 223 16 +136 224 16 +136 225 16 +136 226 16 +136 227 16 +136 228 16 +136 229 16 +136 230 16 +136 231 16 +136 232 16 +136 233 16 +136 234 16 +136 235 16 +136 236 16 +136 237 16 +136 238 16 +136 239 16 +136 240 16 +136 241 16 +136 242 16 +136 243 16 +136 244 16 +136 245 16 +136 246 16 +136 247 16 +136 248 16 +136 249 16 +136 250 16 +136 251 16 +136 252 16 +136 253 16 +136 254 16 +136 255 16 +136 256 16 +136 257 16 +136 258 16 +136 259 16 +136 260 16 +136 261 16 +136 262 16 +136 263 16 +136 264 16 +136 265 16 +136 266 16 +136 267 16 +136 268 16 +136 269 16 +136 270 16 +136 271 16 +136 272 16 +136 273 16 +136 274 16 +136 275 16 +136 276 16 +136 277 16 +136 278 16 +136 279 16 +136 280 16 +136 281 16 +136 282 16 +136 283 16 +136 284 16 +136 285 16 +136 286 16 +136 287 16 +136 288 16 +136 289 16 +136 290 16 +136 291 16 +136 292 16 +136 293 16 +136 294 16 +136 295 16 +136 296 16 +136 297 16 +136 298 16 +136 299 16 +136 300 16 +136 301 16 +136 302 16 +136 303 16 +136 304 16 +136 305 16 +136 306 16 +136 307 16 +136 308 16 +136 309 16 +136 310 16 +136 311 16 +136 312 16 +136 313 16 +136 314 16 +136 315 16 +136 316 16 +136 317 16 +136 318 16 +136 319 16 +136 320 16 +136 321 16 +136 322 16 +136 323 16 +136 324 16 +136 325 16 +136 326 16 +136 327 16 +136 328 16 +136 329 16 +136 330 16 +136 331 16 +136 332 16 +136 333 16 +136 334 16 +136 335 16 +136 336 16 +136 337 16 +136 338 16 +136 339 16 +136 340 16 +136 341 16 +136 342 16 +136 343 16 +136 344 16 +136 345 16 +136 346 16 +136 347 16 +136 348 16 +136 349 16 +136 350 0 +136 351 0 +136 352 0 +136 353 0 +136 354 0 +136 355 0 +136 356 0 +136 357 0 +136 358 0 +136 359 0 +136 360 0 +136 361 0 +136 362 0 +136 363 0 +136 364 0 +136 365 0 +136 366 0 +136 367 0 +136 368 0 +136 369 0 +136 370 0 +136 371 0 +136 372 0 +136 373 0 +136 374 0 +136 375 0 +136 376 0 +136 377 0 +136 378 0 +136 379 0 +136 380 0 +136 381 0 +136 382 0 +136 383 0 +137 138 16 +137 139 16 +137 140 16 +137 141 16 +137 142 16 +137 143 16 +137 144 16 +137 145 16 +137 146 16 +137 147 16 +137 148 16 +137 149 16 +137 150 16 +137 151 16 +137 152 16 +137 153 16 +137 154 16 +137 155 16 +137 156 16 +137 157 16 +137 158 16 +137 159 16 +137 160 16 +137 161 16 +137 162 16 +137 163 16 +137 164 16 +137 165 16 +137 166 16 +137 167 16 +137 168 16 +137 169 16 +137 170 16 +137 171 16 +137 172 16 +137 173 16 +137 174 16 +137 175 16 +137 176 16 +137 177 16 +137 178 16 +137 179 16 +137 180 16 +137 181 16 +137 182 16 +137 183 16 +137 184 16 +137 185 16 +137 186 16 +137 187 16 +137 188 16 +137 189 16 +137 190 16 +137 191 16 +137 192 16 +137 193 16 +137 194 16 +137 195 16 +137 196 16 +137 197 16 +137 198 16 +137 199 16 +137 200 16 +137 201 16 +137 202 16 +137 203 16 +137 204 16 +137 205 16 +137 206 16 +137 207 16 +137 208 16 +137 209 16 +137 210 16 +137 211 16 +137 212 16 +137 213 16 +137 214 16 +137 215 16 +137 216 16 +137 217 16 +137 218 16 +137 219 16 +137 220 16 +137 221 16 +137 222 16 +137 223 16 +137 224 16 +137 225 16 +137 226 16 +137 227 16 +137 228 16 +137 229 16 +137 230 16 +137 231 16 +137 232 16 +137 233 16 +137 234 16 +137 235 16 +137 236 16 +137 237 16 +137 238 16 +137 239 16 +137 240 16 +137 241 16 +137 242 16 +137 243 16 +137 244 16 +137 245 16 +137 246 16 +137 247 16 +137 248 16 +137 249 16 +137 250 16 +137 251 16 +137 252 16 +137 253 16 +137 254 16 +137 255 16 +137 256 16 +137 257 16 +137 258 16 +137 259 16 +137 260 16 +137 261 16 +137 262 16 +137 263 16 +137 264 16 +137 265 16 +137 266 16 +137 267 16 +137 268 16 +137 269 16 +137 270 16 +137 271 16 +137 272 16 +137 273 16 +137 274 16 +137 275 16 +137 276 16 +137 277 16 +137 278 16 +137 279 16 +137 280 16 +137 281 16 +137 282 16 +137 283 16 +137 284 16 +137 285 16 +137 286 16 +137 287 16 +137 288 16 +137 289 16 +137 290 16 +137 291 16 +137 292 16 +137 293 16 +137 294 16 +137 295 16 +137 296 16 +137 297 16 +137 298 16 +137 299 16 +137 300 16 +137 301 16 +137 302 16 +137 303 16 +137 304 16 +137 305 16 +137 306 16 +137 307 16 +137 308 16 +137 309 16 +137 310 16 +137 311 16 +137 312 16 +137 313 16 +137 314 16 +137 315 16 +137 316 16 +137 317 16 +137 318 16 +137 319 16 +137 320 16 +137 321 16 +137 322 16 +137 323 16 +137 324 16 +137 325 16 +137 326 16 +137 327 16 +137 328 16 +137 329 16 +137 330 16 +137 331 16 +137 332 16 +137 333 16 +137 334 16 +137 335 16 +137 336 16 +137 337 16 +137 338 16 +137 339 16 +137 340 16 +137 341 16 +137 342 16 +137 343 16 +137 344 16 +137 345 16 +137 346 16 +137 347 16 +137 348 16 +137 349 16 +137 350 0 +137 351 0 +137 352 0 +137 353 0 +137 354 0 +137 355 0 +137 356 0 +137 357 0 +137 358 0 +137 359 0 +137 360 0 +137 361 0 +137 362 0 +137 363 0 +137 364 0 +137 365 0 +137 366 0 +137 367 0 +137 368 0 +137 369 0 +137 370 0 +137 371 0 +137 372 0 +137 373 0 +137 374 0 +137 375 0 +137 376 0 +137 377 0 +137 378 0 +137 379 0 +137 380 0 +137 381 0 +137 382 0 +137 383 0 +138 139 16 +138 140 16 +138 141 16 +138 142 16 +138 143 16 +138 144 16 +138 145 16 +138 146 16 +138 147 16 +138 148 16 +138 149 16 +138 150 16 +138 151 16 +138 152 16 +138 153 16 +138 154 16 +138 155 16 +138 156 16 +138 157 16 +138 158 16 +138 159 16 +138 160 16 +138 161 16 +138 162 16 +138 163 16 +138 164 16 +138 165 16 +138 166 16 +138 167 16 +138 168 16 +138 169 16 +138 170 16 +138 171 16 +138 172 16 +138 173 16 +138 174 16 +138 175 16 +138 176 16 +138 177 16 +138 178 16 +138 179 16 +138 180 16 +138 181 16 +138 182 16 +138 183 16 +138 184 16 +138 185 16 +138 186 16 +138 187 16 +138 188 16 +138 189 16 +138 190 16 +138 191 16 +138 192 16 +138 193 16 +138 194 16 +138 195 16 +138 196 16 +138 197 16 +138 198 16 +138 199 16 +138 200 16 +138 201 16 +138 202 16 +138 203 16 +138 204 16 +138 205 16 +138 206 16 +138 207 16 +138 208 16 +138 209 16 +138 210 16 +138 211 16 +138 212 16 +138 213 16 +138 214 16 +138 215 16 +138 216 16 +138 217 16 +138 218 16 +138 219 16 +138 220 16 +138 221 16 +138 222 16 +138 223 16 +138 224 16 +138 225 16 +138 226 16 +138 227 16 +138 228 16 +138 229 16 +138 230 16 +138 231 16 +138 232 16 +138 233 16 +138 234 16 +138 235 16 +138 236 16 +138 237 16 +138 238 16 +138 239 16 +138 240 16 +138 241 16 +138 242 16 +138 243 16 +138 244 16 +138 245 16 +138 246 16 +138 247 16 +138 248 16 +138 249 16 +138 250 16 +138 251 16 +138 252 16 +138 253 16 +138 254 16 +138 255 16 +138 256 16 +138 257 16 +138 258 16 +138 259 16 +138 260 16 +138 261 16 +138 262 16 +138 263 16 +138 264 16 +138 265 16 +138 266 16 +138 267 16 +138 268 16 +138 269 16 +138 270 16 +138 271 16 +138 272 16 +138 273 16 +138 274 16 +138 275 16 +138 276 16 +138 277 16 +138 278 16 +138 279 16 +138 280 16 +138 281 16 +138 282 16 +138 283 16 +138 284 16 +138 285 16 +138 286 16 +138 287 16 +138 288 16 +138 289 16 +138 290 16 +138 291 16 +138 292 16 +138 293 16 +138 294 16 +138 295 16 +138 296 16 +138 297 16 +138 298 16 +138 299 16 +138 300 16 +138 301 16 +138 302 16 +138 303 16 +138 304 16 +138 305 16 +138 306 16 +138 307 16 +138 308 16 +138 309 16 +138 310 16 +138 311 16 +138 312 16 +138 313 16 +138 314 16 +138 315 16 +138 316 16 +138 317 16 +138 318 16 +138 319 16 +138 320 16 +138 321 16 +138 322 16 +138 323 16 +138 324 16 +138 325 16 +138 326 16 +138 327 16 +138 328 16 +138 329 16 +138 330 16 +138 331 16 +138 332 16 +138 333 16 +138 334 16 +138 335 16 +138 336 16 +138 337 16 +138 338 16 +138 339 16 +138 340 16 +138 341 16 +138 342 16 +138 343 16 +138 344 16 +138 345 16 +138 346 16 +138 347 16 +138 348 16 +138 349 16 +138 350 0 +138 351 0 +138 352 0 +138 353 0 +138 354 0 +138 355 0 +138 356 0 +138 357 0 +138 358 0 +138 359 0 +138 360 0 +138 361 0 +138 362 0 +138 363 0 +138 364 0 +138 365 0 +138 366 0 +138 367 0 +138 368 0 +138 369 0 +138 370 0 +138 371 0 +138 372 0 +138 373 0 +138 374 0 +138 375 0 +138 376 0 +138 377 0 +138 378 0 +138 379 0 +138 380 0 +138 381 0 +138 382 0 +138 383 0 +139 140 16 +139 141 16 +139 142 16 +139 143 16 +139 144 16 +139 145 16 +139 146 16 +139 147 16 +139 148 16 +139 149 16 +139 150 16 +139 151 16 +139 152 16 +139 153 16 +139 154 16 +139 155 16 +139 156 16 +139 157 16 +139 158 16 +139 159 16 +139 160 16 +139 161 16 +139 162 16 +139 163 16 +139 164 16 +139 165 16 +139 166 16 +139 167 16 +139 168 16 +139 169 16 +139 170 16 +139 171 16 +139 172 16 +139 173 16 +139 174 16 +139 175 16 +139 176 16 +139 177 16 +139 178 16 +139 179 16 +139 180 16 +139 181 16 +139 182 16 +139 183 16 +139 184 16 +139 185 16 +139 186 16 +139 187 16 +139 188 16 +139 189 16 +139 190 16 +139 191 16 +139 192 16 +139 193 16 +139 194 16 +139 195 16 +139 196 16 +139 197 16 +139 198 16 +139 199 16 +139 200 16 +139 201 16 +139 202 16 +139 203 16 +139 204 16 +139 205 16 +139 206 16 +139 207 16 +139 208 16 +139 209 16 +139 210 16 +139 211 16 +139 212 16 +139 213 16 +139 214 16 +139 215 16 +139 216 16 +139 217 16 +139 218 16 +139 219 16 +139 220 16 +139 221 16 +139 222 16 +139 223 16 +139 224 16 +139 225 16 +139 226 16 +139 227 16 +139 228 16 +139 229 16 +139 230 16 +139 231 16 +139 232 16 +139 233 16 +139 234 16 +139 235 16 +139 236 16 +139 237 16 +139 238 16 +139 239 16 +139 240 16 +139 241 16 +139 242 16 +139 243 16 +139 244 16 +139 245 16 +139 246 16 +139 247 16 +139 248 16 +139 249 16 +139 250 16 +139 251 16 +139 252 16 +139 253 16 +139 254 16 +139 255 16 +139 256 16 +139 257 16 +139 258 16 +139 259 16 +139 260 16 +139 261 16 +139 262 16 +139 263 16 +139 264 16 +139 265 16 +139 266 16 +139 267 16 +139 268 16 +139 269 16 +139 270 16 +139 271 16 +139 272 16 +139 273 16 +139 274 16 +139 275 16 +139 276 16 +139 277 16 +139 278 16 +139 279 16 +139 280 16 +139 281 16 +139 282 16 +139 283 16 +139 284 16 +139 285 16 +139 286 16 +139 287 16 +139 288 16 +139 289 16 +139 290 16 +139 291 16 +139 292 16 +139 293 16 +139 294 16 +139 295 16 +139 296 16 +139 297 16 +139 298 16 +139 299 16 +139 300 16 +139 301 16 +139 302 16 +139 303 16 +139 304 16 +139 305 16 +139 306 16 +139 307 16 +139 308 16 +139 309 16 +139 310 16 +139 311 16 +139 312 16 +139 313 16 +139 314 16 +139 315 16 +139 316 16 +139 317 16 +139 318 16 +139 319 16 +139 320 16 +139 321 16 +139 322 16 +139 323 16 +139 324 16 +139 325 16 +139 326 16 +139 327 16 +139 328 16 +139 329 16 +139 330 16 +139 331 16 +139 332 16 +139 333 16 +139 334 16 +139 335 16 +139 336 16 +139 337 16 +139 338 16 +139 339 16 +139 340 16 +139 341 16 +139 342 16 +139 343 16 +139 344 16 +139 345 16 +139 346 16 +139 347 16 +139 348 16 +139 349 16 +139 350 0 +139 351 0 +139 352 0 +139 353 0 +139 354 0 +139 355 0 +139 356 0 +139 357 0 +139 358 0 +139 359 0 +139 360 0 +139 361 0 +139 362 0 +139 363 0 +139 364 0 +139 365 0 +139 366 0 +139 367 0 +139 368 0 +139 369 0 +139 370 0 +139 371 0 +139 372 0 +139 373 0 +139 374 0 +139 375 0 +139 376 0 +139 377 0 +139 378 0 +139 379 0 +139 380 0 +139 381 0 +139 382 0 +139 383 0 +140 141 16 +140 142 16 +140 143 16 +140 144 16 +140 145 16 +140 146 16 +140 147 16 +140 148 16 +140 149 16 +140 150 16 +140 151 16 +140 152 16 +140 153 16 +140 154 16 +140 155 16 +140 156 16 +140 157 16 +140 158 16 +140 159 16 +140 160 16 +140 161 16 +140 162 16 +140 163 16 +140 164 16 +140 165 16 +140 166 16 +140 167 16 +140 168 16 +140 169 16 +140 170 16 +140 171 16 +140 172 16 +140 173 16 +140 174 16 +140 175 16 +140 176 16 +140 177 16 +140 178 16 +140 179 16 +140 180 16 +140 181 16 +140 182 16 +140 183 16 +140 184 16 +140 185 16 +140 186 16 +140 187 16 +140 188 16 +140 189 16 +140 190 16 +140 191 16 +140 192 16 +140 193 16 +140 194 16 +140 195 16 +140 196 16 +140 197 16 +140 198 16 +140 199 16 +140 200 16 +140 201 16 +140 202 16 +140 203 16 +140 204 16 +140 205 16 +140 206 16 +140 207 16 +140 208 16 +140 209 16 +140 210 16 +140 211 16 +140 212 16 +140 213 16 +140 214 16 +140 215 16 +140 216 16 +140 217 16 +140 218 16 +140 219 16 +140 220 16 +140 221 16 +140 222 16 +140 223 16 +140 224 16 +140 225 16 +140 226 16 +140 227 16 +140 228 16 +140 229 16 +140 230 16 +140 231 16 +140 232 16 +140 233 16 +140 234 16 +140 235 16 +140 236 16 +140 237 16 +140 238 16 +140 239 16 +140 240 16 +140 241 16 +140 242 16 +140 243 16 +140 244 16 +140 245 16 +140 246 16 +140 247 16 +140 248 16 +140 249 16 +140 250 16 +140 251 16 +140 252 16 +140 253 16 +140 254 16 +140 255 16 +140 256 16 +140 257 16 +140 258 16 +140 259 16 +140 260 16 +140 261 16 +140 262 16 +140 263 16 +140 264 16 +140 265 16 +140 266 16 +140 267 16 +140 268 16 +140 269 16 +140 270 16 +140 271 16 +140 272 16 +140 273 16 +140 274 16 +140 275 16 +140 276 16 +140 277 16 +140 278 16 +140 279 16 +140 280 16 +140 281 16 +140 282 16 +140 283 16 +140 284 16 +140 285 16 +140 286 16 +140 287 16 +140 288 16 +140 289 16 +140 290 16 +140 291 16 +140 292 16 +140 293 16 +140 294 16 +140 295 16 +140 296 16 +140 297 16 +140 298 16 +140 299 16 +140 300 16 +140 301 16 +140 302 16 +140 303 16 +140 304 16 +140 305 16 +140 306 16 +140 307 16 +140 308 16 +140 309 16 +140 310 16 +140 311 16 +140 312 16 +140 313 16 +140 314 16 +140 315 16 +140 316 16 +140 317 16 +140 318 16 +140 319 16 +140 320 16 +140 321 16 +140 322 16 +140 323 16 +140 324 16 +140 325 16 +140 326 16 +140 327 16 +140 328 16 +140 329 16 +140 330 16 +140 331 16 +140 332 16 +140 333 16 +140 334 16 +140 335 16 +140 336 16 +140 337 16 +140 338 16 +140 339 16 +140 340 16 +140 341 16 +140 342 16 +140 343 16 +140 344 16 +140 345 16 +140 346 16 +140 347 16 +140 348 16 +140 349 16 +140 350 0 +140 351 0 +140 352 0 +140 353 0 +140 354 0 +140 355 0 +140 356 0 +140 357 0 +140 358 0 +140 359 0 +140 360 0 +140 361 0 +140 362 0 +140 363 0 +140 364 0 +140 365 0 +140 366 0 +140 367 0 +140 368 0 +140 369 0 +140 370 0 +140 371 0 +140 372 0 +140 373 0 +140 374 0 +140 375 0 +140 376 0 +140 377 0 +140 378 0 +140 379 0 +140 380 0 +140 381 0 +140 382 0 +140 383 0 +141 142 16 +141 143 16 +141 144 16 +141 145 16 +141 146 16 +141 147 16 +141 148 16 +141 149 16 +141 150 16 +141 151 16 +141 152 16 +141 153 16 +141 154 16 +141 155 16 +141 156 16 +141 157 16 +141 158 16 +141 159 16 +141 160 16 +141 161 16 +141 162 16 +141 163 16 +141 164 16 +141 165 16 +141 166 16 +141 167 16 +141 168 16 +141 169 16 +141 170 16 +141 171 16 +141 172 16 +141 173 16 +141 174 16 +141 175 16 +141 176 16 +141 177 16 +141 178 16 +141 179 16 +141 180 16 +141 181 16 +141 182 16 +141 183 16 +141 184 16 +141 185 16 +141 186 16 +141 187 16 +141 188 16 +141 189 16 +141 190 16 +141 191 16 +141 192 16 +141 193 16 +141 194 16 +141 195 16 +141 196 16 +141 197 16 +141 198 16 +141 199 16 +141 200 16 +141 201 16 +141 202 16 +141 203 16 +141 204 16 +141 205 16 +141 206 16 +141 207 16 +141 208 16 +141 209 16 +141 210 16 +141 211 16 +141 212 16 +141 213 16 +141 214 16 +141 215 16 +141 216 16 +141 217 16 +141 218 16 +141 219 16 +141 220 16 +141 221 16 +141 222 16 +141 223 16 +141 224 16 +141 225 16 +141 226 16 +141 227 16 +141 228 16 +141 229 16 +141 230 16 +141 231 16 +141 232 16 +141 233 16 +141 234 16 +141 235 16 +141 236 16 +141 237 16 +141 238 16 +141 239 16 +141 240 16 +141 241 16 +141 242 16 +141 243 16 +141 244 16 +141 245 16 +141 246 16 +141 247 16 +141 248 16 +141 249 16 +141 250 16 +141 251 16 +141 252 16 +141 253 16 +141 254 16 +141 255 16 +141 256 16 +141 257 16 +141 258 16 +141 259 16 +141 260 16 +141 261 16 +141 262 16 +141 263 16 +141 264 16 +141 265 16 +141 266 16 +141 267 16 +141 268 16 +141 269 16 +141 270 16 +141 271 16 +141 272 16 +141 273 16 +141 274 16 +141 275 16 +141 276 16 +141 277 16 +141 278 16 +141 279 16 +141 280 16 +141 281 16 +141 282 16 +141 283 16 +141 284 16 +141 285 16 +141 286 16 +141 287 16 +141 288 16 +141 289 16 +141 290 16 +141 291 16 +141 292 16 +141 293 16 +141 294 16 +141 295 16 +141 296 16 +141 297 16 +141 298 16 +141 299 16 +141 300 16 +141 301 16 +141 302 16 +141 303 16 +141 304 16 +141 305 16 +141 306 16 +141 307 16 +141 308 16 +141 309 16 +141 310 16 +141 311 16 +141 312 16 +141 313 16 +141 314 16 +141 315 16 +141 316 16 +141 317 16 +141 318 16 +141 319 16 +141 320 16 +141 321 16 +141 322 16 +141 323 16 +141 324 16 +141 325 16 +141 326 16 +141 327 16 +141 328 16 +141 329 16 +141 330 16 +141 331 16 +141 332 16 +141 333 16 +141 334 16 +141 335 16 +141 336 16 +141 337 16 +141 338 16 +141 339 16 +141 340 16 +141 341 16 +141 342 16 +141 343 16 +141 344 16 +141 345 16 +141 346 16 +141 347 16 +141 348 16 +141 349 16 +141 350 0 +141 351 0 +141 352 0 +141 353 0 +141 354 0 +141 355 0 +141 356 0 +141 357 0 +141 358 0 +141 359 0 +141 360 0 +141 361 0 +141 362 0 +141 363 0 +141 364 0 +141 365 0 +141 366 0 +141 367 0 +141 368 0 +141 369 0 +141 370 0 +141 371 0 +141 372 0 +141 373 0 +141 374 0 +141 375 0 +141 376 0 +141 377 0 +141 378 0 +141 379 0 +141 380 0 +141 381 0 +141 382 0 +141 383 0 +142 143 16 +142 144 16 +142 145 16 +142 146 16 +142 147 16 +142 148 16 +142 149 16 +142 150 16 +142 151 16 +142 152 16 +142 153 16 +142 154 16 +142 155 16 +142 156 16 +142 157 16 +142 158 16 +142 159 16 +142 160 16 +142 161 16 +142 162 16 +142 163 16 +142 164 16 +142 165 16 +142 166 16 +142 167 16 +142 168 16 +142 169 16 +142 170 16 +142 171 16 +142 172 16 +142 173 16 +142 174 16 +142 175 16 +142 176 16 +142 177 16 +142 178 16 +142 179 16 +142 180 16 +142 181 16 +142 182 16 +142 183 16 +142 184 16 +142 185 16 +142 186 16 +142 187 16 +142 188 16 +142 189 16 +142 190 16 +142 191 16 +142 192 16 +142 193 16 +142 194 16 +142 195 16 +142 196 16 +142 197 16 +142 198 16 +142 199 16 +142 200 16 +142 201 16 +142 202 16 +142 203 16 +142 204 16 +142 205 16 +142 206 16 +142 207 16 +142 208 16 +142 209 16 +142 210 16 +142 211 16 +142 212 16 +142 213 16 +142 214 16 +142 215 16 +142 216 16 +142 217 16 +142 218 16 +142 219 16 +142 220 16 +142 221 16 +142 222 16 +142 223 16 +142 224 16 +142 225 16 +142 226 16 +142 227 16 +142 228 16 +142 229 16 +142 230 16 +142 231 16 +142 232 16 +142 233 16 +142 234 16 +142 235 16 +142 236 16 +142 237 16 +142 238 16 +142 239 16 +142 240 16 +142 241 16 +142 242 16 +142 243 16 +142 244 16 +142 245 16 +142 246 16 +142 247 16 +142 248 16 +142 249 16 +142 250 16 +142 251 16 +142 252 16 +142 253 16 +142 254 16 +142 255 16 +142 256 16 +142 257 16 +142 258 16 +142 259 16 +142 260 16 +142 261 16 +142 262 16 +142 263 16 +142 264 16 +142 265 16 +142 266 16 +142 267 16 +142 268 16 +142 269 16 +142 270 16 +142 271 16 +142 272 16 +142 273 16 +142 274 16 +142 275 16 +142 276 16 +142 277 16 +142 278 16 +142 279 16 +142 280 16 +142 281 16 +142 282 16 +142 283 16 +142 284 16 +142 285 16 +142 286 16 +142 287 16 +142 288 16 +142 289 16 +142 290 16 +142 291 16 +142 292 16 +142 293 16 +142 294 16 +142 295 16 +142 296 16 +142 297 16 +142 298 16 +142 299 16 +142 300 16 +142 301 16 +142 302 16 +142 303 16 +142 304 16 +142 305 16 +142 306 16 +142 307 16 +142 308 16 +142 309 16 +142 310 16 +142 311 16 +142 312 16 +142 313 16 +142 314 16 +142 315 16 +142 316 16 +142 317 16 +142 318 16 +142 319 16 +142 320 16 +142 321 16 +142 322 16 +142 323 16 +142 324 16 +142 325 16 +142 326 16 +142 327 16 +142 328 16 +142 329 16 +142 330 16 +142 331 16 +142 332 16 +142 333 16 +142 334 16 +142 335 16 +142 336 16 +142 337 16 +142 338 16 +142 339 16 +142 340 16 +142 341 16 +142 342 16 +142 343 16 +142 344 16 +142 345 16 +142 346 16 +142 347 16 +142 348 16 +142 349 16 +142 350 0 +142 351 0 +142 352 0 +142 353 0 +142 354 0 +142 355 0 +142 356 0 +142 357 0 +142 358 0 +142 359 0 +142 360 0 +142 361 0 +142 362 0 +142 363 0 +142 364 0 +142 365 0 +142 366 0 +142 367 0 +142 368 0 +142 369 0 +142 370 0 +142 371 0 +142 372 0 +142 373 0 +142 374 0 +142 375 0 +142 376 0 +142 377 0 +142 378 0 +142 379 0 +142 380 0 +142 381 0 +142 382 0 +142 383 0 +143 144 16 +143 145 16 +143 146 16 +143 147 16 +143 148 16 +143 149 16 +143 150 16 +143 151 16 +143 152 16 +143 153 16 +143 154 16 +143 155 16 +143 156 16 +143 157 16 +143 158 16 +143 159 16 +143 160 16 +143 161 16 +143 162 16 +143 163 16 +143 164 16 +143 165 16 +143 166 16 +143 167 16 +143 168 16 +143 169 16 +143 170 16 +143 171 16 +143 172 16 +143 173 16 +143 174 16 +143 175 16 +143 176 16 +143 177 16 +143 178 16 +143 179 16 +143 180 16 +143 181 16 +143 182 16 +143 183 16 +143 184 16 +143 185 16 +143 186 16 +143 187 16 +143 188 16 +143 189 16 +143 190 16 +143 191 16 +143 192 16 +143 193 16 +143 194 16 +143 195 16 +143 196 16 +143 197 16 +143 198 16 +143 199 16 +143 200 16 +143 201 16 +143 202 16 +143 203 16 +143 204 16 +143 205 16 +143 206 16 +143 207 16 +143 208 16 +143 209 16 +143 210 16 +143 211 16 +143 212 16 +143 213 16 +143 214 16 +143 215 16 +143 216 16 +143 217 16 +143 218 16 +143 219 16 +143 220 16 +143 221 16 +143 222 16 +143 223 16 +143 224 16 +143 225 16 +143 226 16 +143 227 16 +143 228 16 +143 229 16 +143 230 16 +143 231 16 +143 232 16 +143 233 16 +143 234 16 +143 235 16 +143 236 16 +143 237 16 +143 238 16 +143 239 16 +143 240 16 +143 241 16 +143 242 16 +143 243 16 +143 244 16 +143 245 16 +143 246 16 +143 247 16 +143 248 16 +143 249 16 +143 250 16 +143 251 16 +143 252 16 +143 253 16 +143 254 16 +143 255 16 +143 256 16 +143 257 16 +143 258 16 +143 259 16 +143 260 16 +143 261 16 +143 262 16 +143 263 16 +143 264 16 +143 265 16 +143 266 16 +143 267 16 +143 268 16 +143 269 16 +143 270 16 +143 271 16 +143 272 16 +143 273 16 +143 274 16 +143 275 16 +143 276 16 +143 277 16 +143 278 16 +143 279 16 +143 280 16 +143 281 16 +143 282 16 +143 283 16 +143 284 16 +143 285 16 +143 286 16 +143 287 16 +143 288 16 +143 289 16 +143 290 16 +143 291 16 +143 292 16 +143 293 16 +143 294 16 +143 295 16 +143 296 16 +143 297 16 +143 298 16 +143 299 16 +143 300 16 +143 301 16 +143 302 16 +143 303 16 +143 304 16 +143 305 16 +143 306 16 +143 307 16 +143 308 16 +143 309 16 +143 310 16 +143 311 16 +143 312 16 +143 313 16 +143 314 16 +143 315 16 +143 316 16 +143 317 16 +143 318 16 +143 319 16 +143 320 16 +143 321 16 +143 322 16 +143 323 16 +143 324 16 +143 325 16 +143 326 16 +143 327 16 +143 328 16 +143 329 16 +143 330 16 +143 331 16 +143 332 16 +143 333 16 +143 334 16 +143 335 16 +143 336 16 +143 337 16 +143 338 16 +143 339 16 +143 340 16 +143 341 16 +143 342 16 +143 343 16 +143 344 16 +143 345 16 +143 346 16 +143 347 16 +143 348 16 +143 349 16 +143 350 0 +143 351 0 +143 352 0 +143 353 0 +143 354 0 +143 355 0 +143 356 0 +143 357 0 +143 358 0 +143 359 0 +143 360 0 +143 361 0 +143 362 0 +143 363 0 +143 364 0 +143 365 0 +143 366 0 +143 367 0 +143 368 0 +143 369 0 +143 370 0 +143 371 0 +143 372 0 +143 373 0 +143 374 0 +143 375 0 +143 376 0 +143 377 0 +143 378 0 +143 379 0 +143 380 0 +143 381 0 +143 382 0 +143 383 0 +144 145 16 +144 146 16 +144 147 16 +144 148 16 +144 149 16 +144 150 16 +144 151 16 +144 152 16 +144 153 16 +144 154 16 +144 155 16 +144 156 16 +144 157 16 +144 158 16 +144 159 16 +144 160 16 +144 161 16 +144 162 16 +144 163 16 +144 164 16 +144 165 16 +144 166 16 +144 167 16 +144 168 16 +144 169 16 +144 170 16 +144 171 16 +144 172 16 +144 173 16 +144 174 16 +144 175 16 +144 176 16 +144 177 16 +144 178 16 +144 179 16 +144 180 16 +144 181 16 +144 182 16 +144 183 16 +144 184 16 +144 185 16 +144 186 16 +144 187 16 +144 188 16 +144 189 16 +144 190 16 +144 191 16 +144 192 16 +144 193 16 +144 194 16 +144 195 16 +144 196 16 +144 197 16 +144 198 16 +144 199 16 +144 200 16 +144 201 16 +144 202 16 +144 203 16 +144 204 16 +144 205 16 +144 206 16 +144 207 16 +144 208 16 +144 209 16 +144 210 16 +144 211 16 +144 212 16 +144 213 16 +144 214 16 +144 215 16 +144 216 16 +144 217 16 +144 218 16 +144 219 16 +144 220 16 +144 221 16 +144 222 16 +144 223 16 +144 224 16 +144 225 16 +144 226 16 +144 227 16 +144 228 16 +144 229 16 +144 230 16 +144 231 16 +144 232 16 +144 233 16 +144 234 16 +144 235 16 +144 236 16 +144 237 16 +144 238 16 +144 239 16 +144 240 16 +144 241 16 +144 242 16 +144 243 16 +144 244 16 +144 245 16 +144 246 16 +144 247 16 +144 248 16 +144 249 16 +144 250 16 +144 251 16 +144 252 16 +144 253 16 +144 254 16 +144 255 16 +144 256 16 +144 257 16 +144 258 16 +144 259 16 +144 260 16 +144 261 16 +144 262 16 +144 263 16 +144 264 16 +144 265 16 +144 266 16 +144 267 16 +144 268 16 +144 269 16 +144 270 16 +144 271 16 +144 272 16 +144 273 16 +144 274 16 +144 275 16 +144 276 16 +144 277 16 +144 278 16 +144 279 16 +144 280 16 +144 281 16 +144 282 16 +144 283 16 +144 284 16 +144 285 16 +144 286 16 +144 287 16 +144 288 16 +144 289 16 +144 290 16 +144 291 16 +144 292 16 +144 293 16 +144 294 16 +144 295 16 +144 296 16 +144 297 16 +144 298 16 +144 299 16 +144 300 16 +144 301 16 +144 302 16 +144 303 16 +144 304 16 +144 305 16 +144 306 16 +144 307 16 +144 308 16 +144 309 16 +144 310 16 +144 311 16 +144 312 16 +144 313 16 +144 314 16 +144 315 16 +144 316 16 +144 317 16 +144 318 16 +144 319 16 +144 320 16 +144 321 16 +144 322 16 +144 323 16 +144 324 16 +144 325 16 +144 326 16 +144 327 16 +144 328 16 +144 329 16 +144 330 16 +144 331 16 +144 332 16 +144 333 16 +144 334 16 +144 335 16 +144 336 16 +144 337 16 +144 338 16 +144 339 16 +144 340 16 +144 341 16 +144 342 16 +144 343 16 +144 344 16 +144 345 16 +144 346 16 +144 347 16 +144 348 16 +144 349 16 +144 350 0 +144 351 0 +144 352 0 +144 353 0 +144 354 0 +144 355 0 +144 356 0 +144 357 0 +144 358 0 +144 359 0 +144 360 0 +144 361 0 +144 362 0 +144 363 0 +144 364 0 +144 365 0 +144 366 0 +144 367 0 +144 368 0 +144 369 0 +144 370 0 +144 371 0 +144 372 0 +144 373 0 +144 374 0 +144 375 0 +144 376 0 +144 377 0 +144 378 0 +144 379 0 +144 380 0 +144 381 0 +144 382 0 +144 383 0 +145 146 16 +145 147 16 +145 148 16 +145 149 16 +145 150 16 +145 151 16 +145 152 16 +145 153 16 +145 154 16 +145 155 16 +145 156 16 +145 157 16 +145 158 16 +145 159 16 +145 160 16 +145 161 16 +145 162 16 +145 163 16 +145 164 16 +145 165 16 +145 166 16 +145 167 16 +145 168 16 +145 169 16 +145 170 16 +145 171 16 +145 172 16 +145 173 16 +145 174 16 +145 175 16 +145 176 16 +145 177 16 +145 178 16 +145 179 16 +145 180 16 +145 181 16 +145 182 16 +145 183 16 +145 184 16 +145 185 16 +145 186 16 +145 187 16 +145 188 16 +145 189 16 +145 190 16 +145 191 16 +145 192 16 +145 193 16 +145 194 16 +145 195 16 +145 196 16 +145 197 16 +145 198 16 +145 199 16 +145 200 16 +145 201 16 +145 202 16 +145 203 16 +145 204 16 +145 205 16 +145 206 16 +145 207 16 +145 208 16 +145 209 16 +145 210 16 +145 211 16 +145 212 16 +145 213 16 +145 214 16 +145 215 16 +145 216 16 +145 217 16 +145 218 16 +145 219 16 +145 220 16 +145 221 16 +145 222 16 +145 223 16 +145 224 16 +145 225 16 +145 226 16 +145 227 16 +145 228 16 +145 229 16 +145 230 16 +145 231 16 +145 232 16 +145 233 16 +145 234 16 +145 235 16 +145 236 16 +145 237 16 +145 238 16 +145 239 16 +145 240 16 +145 241 16 +145 242 16 +145 243 16 +145 244 16 +145 245 16 +145 246 16 +145 247 16 +145 248 16 +145 249 16 +145 250 16 +145 251 16 +145 252 16 +145 253 16 +145 254 16 +145 255 16 +145 256 16 +145 257 16 +145 258 16 +145 259 16 +145 260 16 +145 261 16 +145 262 16 +145 263 16 +145 264 16 +145 265 16 +145 266 16 +145 267 16 +145 268 16 +145 269 16 +145 270 16 +145 271 16 +145 272 16 +145 273 16 +145 274 16 +145 275 16 +145 276 16 +145 277 16 +145 278 16 +145 279 16 +145 280 16 +145 281 16 +145 282 16 +145 283 16 +145 284 16 +145 285 16 +145 286 16 +145 287 16 +145 288 16 +145 289 16 +145 290 16 +145 291 16 +145 292 16 +145 293 16 +145 294 16 +145 295 16 +145 296 16 +145 297 16 +145 298 16 +145 299 16 +145 300 16 +145 301 16 +145 302 16 +145 303 16 +145 304 16 +145 305 16 +145 306 16 +145 307 16 +145 308 16 +145 309 16 +145 310 16 +145 311 16 +145 312 16 +145 313 16 +145 314 16 +145 315 16 +145 316 16 +145 317 16 +145 318 16 +145 319 16 +145 320 16 +145 321 16 +145 322 16 +145 323 16 +145 324 16 +145 325 16 +145 326 16 +145 327 16 +145 328 16 +145 329 16 +145 330 16 +145 331 16 +145 332 16 +145 333 16 +145 334 16 +145 335 16 +145 336 16 +145 337 16 +145 338 16 +145 339 16 +145 340 16 +145 341 16 +145 342 16 +145 343 16 +145 344 16 +145 345 16 +145 346 16 +145 347 16 +145 348 16 +145 349 16 +145 350 0 +145 351 0 +145 352 0 +145 353 0 +145 354 0 +145 355 0 +145 356 0 +145 357 0 +145 358 0 +145 359 0 +145 360 0 +145 361 0 +145 362 0 +145 363 0 +145 364 0 +145 365 0 +145 366 0 +145 367 0 +145 368 0 +145 369 0 +145 370 0 +145 371 0 +145 372 0 +145 373 0 +145 374 0 +145 375 0 +145 376 0 +145 377 0 +145 378 0 +145 379 0 +145 380 0 +145 381 0 +145 382 0 +145 383 0 +146 147 16 +146 148 16 +146 149 16 +146 150 16 +146 151 16 +146 152 16 +146 153 16 +146 154 16 +146 155 16 +146 156 16 +146 157 16 +146 158 16 +146 159 16 +146 160 16 +146 161 16 +146 162 16 +146 163 16 +146 164 16 +146 165 16 +146 166 16 +146 167 16 +146 168 16 +146 169 16 +146 170 16 +146 171 16 +146 172 16 +146 173 16 +146 174 16 +146 175 16 +146 176 16 +146 177 16 +146 178 16 +146 179 16 +146 180 16 +146 181 16 +146 182 16 +146 183 16 +146 184 16 +146 185 16 +146 186 16 +146 187 16 +146 188 16 +146 189 16 +146 190 16 +146 191 16 +146 192 16 +146 193 16 +146 194 16 +146 195 16 +146 196 16 +146 197 16 +146 198 16 +146 199 16 +146 200 16 +146 201 16 +146 202 16 +146 203 16 +146 204 16 +146 205 16 +146 206 16 +146 207 16 +146 208 16 +146 209 16 +146 210 16 +146 211 16 +146 212 16 +146 213 16 +146 214 16 +146 215 16 +146 216 16 +146 217 16 +146 218 16 +146 219 16 +146 220 16 +146 221 16 +146 222 16 +146 223 16 +146 224 16 +146 225 16 +146 226 16 +146 227 16 +146 228 16 +146 229 16 +146 230 16 +146 231 16 +146 232 16 +146 233 16 +146 234 16 +146 235 16 +146 236 16 +146 237 16 +146 238 16 +146 239 16 +146 240 16 +146 241 16 +146 242 16 +146 243 16 +146 244 16 +146 245 16 +146 246 16 +146 247 16 +146 248 16 +146 249 16 +146 250 16 +146 251 16 +146 252 16 +146 253 16 +146 254 16 +146 255 16 +146 256 16 +146 257 16 +146 258 16 +146 259 16 +146 260 16 +146 261 16 +146 262 16 +146 263 16 +146 264 16 +146 265 16 +146 266 16 +146 267 16 +146 268 16 +146 269 16 +146 270 16 +146 271 16 +146 272 16 +146 273 16 +146 274 16 +146 275 16 +146 276 16 +146 277 16 +146 278 16 +146 279 16 +146 280 16 +146 281 16 +146 282 16 +146 283 16 +146 284 16 +146 285 16 +146 286 16 +146 287 16 +146 288 16 +146 289 16 +146 290 16 +146 291 16 +146 292 16 +146 293 16 +146 294 16 +146 295 16 +146 296 16 +146 297 16 +146 298 16 +146 299 16 +146 300 16 +146 301 16 +146 302 16 +146 303 16 +146 304 16 +146 305 16 +146 306 16 +146 307 16 +146 308 16 +146 309 16 +146 310 16 +146 311 16 +146 312 16 +146 313 16 +146 314 16 +146 315 16 +146 316 16 +146 317 16 +146 318 16 +146 319 16 +146 320 16 +146 321 16 +146 322 16 +146 323 16 +146 324 16 +146 325 16 +146 326 16 +146 327 16 +146 328 16 +146 329 16 +146 330 16 +146 331 16 +146 332 16 +146 333 16 +146 334 16 +146 335 16 +146 336 16 +146 337 16 +146 338 16 +146 339 16 +146 340 16 +146 341 16 +146 342 16 +146 343 16 +146 344 16 +146 345 16 +146 346 16 +146 347 16 +146 348 16 +146 349 16 +146 350 0 +146 351 0 +146 352 0 +146 353 0 +146 354 0 +146 355 0 +146 356 0 +146 357 0 +146 358 0 +146 359 0 +146 360 0 +146 361 0 +146 362 0 +146 363 0 +146 364 0 +146 365 0 +146 366 0 +146 367 0 +146 368 0 +146 369 0 +146 370 0 +146 371 0 +146 372 0 +146 373 0 +146 374 0 +146 375 0 +146 376 0 +146 377 0 +146 378 0 +146 379 0 +146 380 0 +146 381 0 +146 382 0 +146 383 0 +147 148 16 +147 149 16 +147 150 16 +147 151 16 +147 152 16 +147 153 16 +147 154 16 +147 155 16 +147 156 16 +147 157 16 +147 158 16 +147 159 16 +147 160 16 +147 161 16 +147 162 16 +147 163 16 +147 164 16 +147 165 16 +147 166 16 +147 167 16 +147 168 16 +147 169 16 +147 170 16 +147 171 16 +147 172 16 +147 173 16 +147 174 16 +147 175 16 +147 176 16 +147 177 16 +147 178 16 +147 179 16 +147 180 16 +147 181 16 +147 182 16 +147 183 16 +147 184 16 +147 185 16 +147 186 16 +147 187 16 +147 188 16 +147 189 16 +147 190 16 +147 191 16 +147 192 16 +147 193 16 +147 194 16 +147 195 16 +147 196 16 +147 197 16 +147 198 16 +147 199 16 +147 200 16 +147 201 16 +147 202 16 +147 203 16 +147 204 16 +147 205 16 +147 206 16 +147 207 16 +147 208 16 +147 209 16 +147 210 16 +147 211 16 +147 212 16 +147 213 16 +147 214 16 +147 215 16 +147 216 16 +147 217 16 +147 218 16 +147 219 16 +147 220 16 +147 221 16 +147 222 16 +147 223 16 +147 224 16 +147 225 16 +147 226 16 +147 227 16 +147 228 16 +147 229 16 +147 230 16 +147 231 16 +147 232 16 +147 233 16 +147 234 16 +147 235 16 +147 236 16 +147 237 16 +147 238 16 +147 239 16 +147 240 16 +147 241 16 +147 242 16 +147 243 16 +147 244 16 +147 245 16 +147 246 16 +147 247 16 +147 248 16 +147 249 16 +147 250 16 +147 251 16 +147 252 16 +147 253 16 +147 254 16 +147 255 16 +147 256 16 +147 257 16 +147 258 16 +147 259 16 +147 260 16 +147 261 16 +147 262 16 +147 263 16 +147 264 16 +147 265 16 +147 266 16 +147 267 16 +147 268 16 +147 269 16 +147 270 16 +147 271 16 +147 272 16 +147 273 16 +147 274 16 +147 275 16 +147 276 16 +147 277 16 +147 278 16 +147 279 16 +147 280 16 +147 281 16 +147 282 16 +147 283 16 +147 284 16 +147 285 16 +147 286 16 +147 287 16 +147 288 16 +147 289 16 +147 290 16 +147 291 16 +147 292 16 +147 293 16 +147 294 16 +147 295 16 +147 296 16 +147 297 16 +147 298 16 +147 299 16 +147 300 16 +147 301 16 +147 302 16 +147 303 16 +147 304 16 +147 305 16 +147 306 16 +147 307 16 +147 308 16 +147 309 16 +147 310 16 +147 311 16 +147 312 16 +147 313 16 +147 314 16 +147 315 16 +147 316 16 +147 317 16 +147 318 16 +147 319 16 +147 320 16 +147 321 16 +147 322 16 +147 323 16 +147 324 16 +147 325 16 +147 326 16 +147 327 16 +147 328 16 +147 329 16 +147 330 16 +147 331 16 +147 332 16 +147 333 16 +147 334 16 +147 335 16 +147 336 16 +147 337 16 +147 338 16 +147 339 16 +147 340 16 +147 341 16 +147 342 16 +147 343 16 +147 344 16 +147 345 16 +147 346 16 +147 347 16 +147 348 16 +147 349 16 +147 350 0 +147 351 0 +147 352 0 +147 353 0 +147 354 0 +147 355 0 +147 356 0 +147 357 0 +147 358 0 +147 359 0 +147 360 0 +147 361 0 +147 362 0 +147 363 0 +147 364 0 +147 365 0 +147 366 0 +147 367 0 +147 368 0 +147 369 0 +147 370 0 +147 371 0 +147 372 0 +147 373 0 +147 374 0 +147 375 0 +147 376 0 +147 377 0 +147 378 0 +147 379 0 +147 380 0 +147 381 0 +147 382 0 +147 383 0 +148 149 16 +148 150 16 +148 151 16 +148 152 16 +148 153 16 +148 154 16 +148 155 16 +148 156 16 +148 157 16 +148 158 16 +148 159 16 +148 160 16 +148 161 16 +148 162 16 +148 163 16 +148 164 16 +148 165 16 +148 166 16 +148 167 16 +148 168 16 +148 169 16 +148 170 16 +148 171 16 +148 172 16 +148 173 16 +148 174 16 +148 175 16 +148 176 16 +148 177 16 +148 178 16 +148 179 16 +148 180 16 +148 181 16 +148 182 16 +148 183 16 +148 184 16 +148 185 16 +148 186 16 +148 187 16 +148 188 16 +148 189 16 +148 190 16 +148 191 16 +148 192 16 +148 193 16 +148 194 16 +148 195 16 +148 196 16 +148 197 16 +148 198 16 +148 199 16 +148 200 16 +148 201 16 +148 202 16 +148 203 16 +148 204 16 +148 205 16 +148 206 16 +148 207 16 +148 208 16 +148 209 16 +148 210 16 +148 211 16 +148 212 16 +148 213 16 +148 214 16 +148 215 16 +148 216 16 +148 217 16 +148 218 16 +148 219 16 +148 220 16 +148 221 16 +148 222 16 +148 223 16 +148 224 16 +148 225 16 +148 226 16 +148 227 16 +148 228 16 +148 229 16 +148 230 16 +148 231 16 +148 232 16 +148 233 16 +148 234 16 +148 235 16 +148 236 16 +148 237 16 +148 238 16 +148 239 16 +148 240 16 +148 241 16 +148 242 16 +148 243 16 +148 244 16 +148 245 16 +148 246 16 +148 247 16 +148 248 16 +148 249 16 +148 250 16 +148 251 16 +148 252 16 +148 253 16 +148 254 16 +148 255 16 +148 256 16 +148 257 16 +148 258 16 +148 259 16 +148 260 16 +148 261 16 +148 262 16 +148 263 16 +148 264 16 +148 265 16 +148 266 16 +148 267 16 +148 268 16 +148 269 16 +148 270 16 +148 271 16 +148 272 16 +148 273 16 +148 274 16 +148 275 16 +148 276 16 +148 277 16 +148 278 16 +148 279 16 +148 280 16 +148 281 16 +148 282 16 +148 283 16 +148 284 16 +148 285 16 +148 286 16 +148 287 16 +148 288 16 +148 289 16 +148 290 16 +148 291 16 +148 292 16 +148 293 16 +148 294 16 +148 295 16 +148 296 16 +148 297 16 +148 298 16 +148 299 16 +148 300 16 +148 301 16 +148 302 16 +148 303 16 +148 304 16 +148 305 16 +148 306 16 +148 307 16 +148 308 16 +148 309 16 +148 310 16 +148 311 16 +148 312 16 +148 313 16 +148 314 16 +148 315 16 +148 316 16 +148 317 16 +148 318 16 +148 319 16 +148 320 16 +148 321 16 +148 322 16 +148 323 16 +148 324 16 +148 325 16 +148 326 16 +148 327 16 +148 328 16 +148 329 16 +148 330 16 +148 331 16 +148 332 16 +148 333 16 +148 334 16 +148 335 16 +148 336 16 +148 337 16 +148 338 16 +148 339 16 +148 340 16 +148 341 16 +148 342 16 +148 343 16 +148 344 16 +148 345 16 +148 346 16 +148 347 16 +148 348 16 +148 349 16 +148 350 0 +148 351 0 +148 352 0 +148 353 0 +148 354 0 +148 355 0 +148 356 0 +148 357 0 +148 358 0 +148 359 0 +148 360 0 +148 361 0 +148 362 0 +148 363 0 +148 364 0 +148 365 0 +148 366 0 +148 367 0 +148 368 0 +148 369 0 +148 370 0 +148 371 0 +148 372 0 +148 373 0 +148 374 0 +148 375 0 +148 376 0 +148 377 0 +148 378 0 +148 379 0 +148 380 0 +148 381 0 +148 382 0 +148 383 0 +149 150 16 +149 151 16 +149 152 16 +149 153 16 +149 154 16 +149 155 16 +149 156 16 +149 157 16 +149 158 16 +149 159 16 +149 160 16 +149 161 16 +149 162 16 +149 163 16 +149 164 16 +149 165 16 +149 166 16 +149 167 16 +149 168 16 +149 169 16 +149 170 16 +149 171 16 +149 172 16 +149 173 16 +149 174 16 +149 175 16 +149 176 16 +149 177 16 +149 178 16 +149 179 16 +149 180 16 +149 181 16 +149 182 16 +149 183 16 +149 184 16 +149 185 16 +149 186 16 +149 187 16 +149 188 16 +149 189 16 +149 190 16 +149 191 16 +149 192 16 +149 193 16 +149 194 16 +149 195 16 +149 196 16 +149 197 16 +149 198 16 +149 199 16 +149 200 16 +149 201 16 +149 202 16 +149 203 16 +149 204 16 +149 205 16 +149 206 16 +149 207 16 +149 208 16 +149 209 16 +149 210 16 +149 211 16 +149 212 16 +149 213 16 +149 214 16 +149 215 16 +149 216 16 +149 217 16 +149 218 16 +149 219 16 +149 220 16 +149 221 16 +149 222 16 +149 223 16 +149 224 16 +149 225 16 +149 226 16 +149 227 16 +149 228 16 +149 229 16 +149 230 16 +149 231 16 +149 232 16 +149 233 16 +149 234 16 +149 235 16 +149 236 16 +149 237 16 +149 238 16 +149 239 16 +149 240 16 +149 241 16 +149 242 16 +149 243 16 +149 244 16 +149 245 16 +149 246 16 +149 247 16 +149 248 16 +149 249 16 +149 250 16 +149 251 16 +149 252 16 +149 253 16 +149 254 16 +149 255 16 +149 256 16 +149 257 16 +149 258 16 +149 259 16 +149 260 16 +149 261 16 +149 262 16 +149 263 16 +149 264 16 +149 265 16 +149 266 16 +149 267 16 +149 268 16 +149 269 16 +149 270 16 +149 271 16 +149 272 16 +149 273 16 +149 274 16 +149 275 16 +149 276 16 +149 277 16 +149 278 16 +149 279 16 +149 280 16 +149 281 16 +149 282 16 +149 283 16 +149 284 16 +149 285 16 +149 286 16 +149 287 16 +149 288 16 +149 289 16 +149 290 16 +149 291 16 +149 292 16 +149 293 16 +149 294 16 +149 295 16 +149 296 16 +149 297 16 +149 298 16 +149 299 16 +149 300 16 +149 301 16 +149 302 16 +149 303 16 +149 304 16 +149 305 16 +149 306 16 +149 307 16 +149 308 16 +149 309 16 +149 310 16 +149 311 16 +149 312 16 +149 313 16 +149 314 16 +149 315 16 +149 316 16 +149 317 16 +149 318 16 +149 319 16 +149 320 16 +149 321 16 +149 322 16 +149 323 16 +149 324 16 +149 325 16 +149 326 16 +149 327 16 +149 328 16 +149 329 16 +149 330 16 +149 331 16 +149 332 16 +149 333 16 +149 334 16 +149 335 16 +149 336 16 +149 337 16 +149 338 16 +149 339 16 +149 340 16 +149 341 16 +149 342 16 +149 343 16 +149 344 16 +149 345 16 +149 346 16 +149 347 16 +149 348 16 +149 349 16 +149 350 0 +149 351 0 +149 352 0 +149 353 0 +149 354 0 +149 355 0 +149 356 0 +149 357 0 +149 358 0 +149 359 0 +149 360 0 +149 361 0 +149 362 0 +149 363 0 +149 364 0 +149 365 0 +149 366 0 +149 367 0 +149 368 0 +149 369 0 +149 370 0 +149 371 0 +149 372 0 +149 373 0 +149 374 0 +149 375 0 +149 376 0 +149 377 0 +149 378 0 +149 379 0 +149 380 0 +149 381 0 +149 382 0 +149 383 0 +150 151 16 +150 152 16 +150 153 16 +150 154 16 +150 155 16 +150 156 16 +150 157 16 +150 158 16 +150 159 16 +150 160 16 +150 161 16 +150 162 16 +150 163 16 +150 164 16 +150 165 16 +150 166 16 +150 167 16 +150 168 16 +150 169 16 +150 170 16 +150 171 16 +150 172 16 +150 173 16 +150 174 16 +150 175 16 +150 176 16 +150 177 16 +150 178 16 +150 179 16 +150 180 16 +150 181 16 +150 182 16 +150 183 16 +150 184 16 +150 185 16 +150 186 16 +150 187 16 +150 188 16 +150 189 16 +150 190 16 +150 191 16 +150 192 16 +150 193 16 +150 194 16 +150 195 16 +150 196 16 +150 197 16 +150 198 16 +150 199 16 +150 200 16 +150 201 16 +150 202 16 +150 203 16 +150 204 16 +150 205 16 +150 206 16 +150 207 16 +150 208 16 +150 209 16 +150 210 16 +150 211 16 +150 212 16 +150 213 16 +150 214 16 +150 215 16 +150 216 16 +150 217 16 +150 218 16 +150 219 16 +150 220 16 +150 221 16 +150 222 16 +150 223 16 +150 224 16 +150 225 16 +150 226 16 +150 227 16 +150 228 16 +150 229 16 +150 230 16 +150 231 16 +150 232 16 +150 233 16 +150 234 16 +150 235 16 +150 236 16 +150 237 16 +150 238 16 +150 239 16 +150 240 16 +150 241 16 +150 242 16 +150 243 16 +150 244 16 +150 245 16 +150 246 16 +150 247 16 +150 248 16 +150 249 16 +150 250 16 +150 251 16 +150 252 16 +150 253 16 +150 254 16 +150 255 16 +150 256 16 +150 257 16 +150 258 16 +150 259 16 +150 260 16 +150 261 16 +150 262 16 +150 263 16 +150 264 16 +150 265 16 +150 266 16 +150 267 16 +150 268 16 +150 269 16 +150 270 16 +150 271 16 +150 272 16 +150 273 16 +150 274 16 +150 275 16 +150 276 16 +150 277 16 +150 278 16 +150 279 16 +150 280 16 +150 281 16 +150 282 16 +150 283 16 +150 284 16 +150 285 16 +150 286 16 +150 287 16 +150 288 16 +150 289 16 +150 290 16 +150 291 16 +150 292 16 +150 293 16 +150 294 16 +150 295 16 +150 296 16 +150 297 16 +150 298 16 +150 299 16 +150 300 16 +150 301 16 +150 302 16 +150 303 16 +150 304 16 +150 305 16 +150 306 16 +150 307 16 +150 308 16 +150 309 16 +150 310 16 +150 311 16 +150 312 16 +150 313 16 +150 314 16 +150 315 16 +150 316 16 +150 317 16 +150 318 16 +150 319 16 +150 320 16 +150 321 16 +150 322 16 +150 323 16 +150 324 16 +150 325 16 +150 326 16 +150 327 16 +150 328 16 +150 329 16 +150 330 16 +150 331 16 +150 332 16 +150 333 16 +150 334 16 +150 335 16 +150 336 16 +150 337 16 +150 338 16 +150 339 16 +150 340 16 +150 341 16 +150 342 16 +150 343 16 +150 344 16 +150 345 16 +150 346 16 +150 347 16 +150 348 16 +150 349 16 +150 350 0 +150 351 0 +150 352 0 +150 353 0 +150 354 0 +150 355 0 +150 356 0 +150 357 0 +150 358 0 +150 359 0 +150 360 0 +150 361 0 +150 362 0 +150 363 0 +150 364 0 +150 365 0 +150 366 0 +150 367 0 +150 368 0 +150 369 0 +150 370 0 +150 371 0 +150 372 0 +150 373 0 +150 374 0 +150 375 0 +150 376 0 +150 377 0 +150 378 0 +150 379 0 +150 380 0 +150 381 0 +150 382 0 +150 383 0 +151 152 16 +151 153 16 +151 154 16 +151 155 16 +151 156 16 +151 157 16 +151 158 16 +151 159 16 +151 160 16 +151 161 16 +151 162 16 +151 163 16 +151 164 16 +151 165 16 +151 166 16 +151 167 16 +151 168 16 +151 169 16 +151 170 16 +151 171 16 +151 172 16 +151 173 16 +151 174 16 +151 175 16 +151 176 16 +151 177 16 +151 178 16 +151 179 16 +151 180 16 +151 181 16 +151 182 16 +151 183 16 +151 184 16 +151 185 16 +151 186 16 +151 187 16 +151 188 16 +151 189 16 +151 190 16 +151 191 16 +151 192 16 +151 193 16 +151 194 16 +151 195 16 +151 196 16 +151 197 16 +151 198 16 +151 199 16 +151 200 16 +151 201 16 +151 202 16 +151 203 16 +151 204 16 +151 205 16 +151 206 16 +151 207 16 +151 208 16 +151 209 16 +151 210 16 +151 211 16 +151 212 16 +151 213 16 +151 214 16 +151 215 16 +151 216 16 +151 217 16 +151 218 16 +151 219 16 +151 220 16 +151 221 16 +151 222 16 +151 223 16 +151 224 16 +151 225 16 +151 226 16 +151 227 16 +151 228 16 +151 229 16 +151 230 16 +151 231 16 +151 232 16 +151 233 16 +151 234 16 +151 235 16 +151 236 16 +151 237 16 +151 238 16 +151 239 16 +151 240 16 +151 241 16 +151 242 16 +151 243 16 +151 244 16 +151 245 16 +151 246 16 +151 247 16 +151 248 16 +151 249 16 +151 250 16 +151 251 16 +151 252 16 +151 253 16 +151 254 16 +151 255 16 +151 256 16 +151 257 16 +151 258 16 +151 259 16 +151 260 16 +151 261 16 +151 262 16 +151 263 16 +151 264 16 +151 265 16 +151 266 16 +151 267 16 +151 268 16 +151 269 16 +151 270 16 +151 271 16 +151 272 16 +151 273 16 +151 274 16 +151 275 16 +151 276 16 +151 277 16 +151 278 16 +151 279 16 +151 280 16 +151 281 16 +151 282 16 +151 283 16 +151 284 16 +151 285 16 +151 286 16 +151 287 16 +151 288 16 +151 289 16 +151 290 16 +151 291 16 +151 292 16 +151 293 16 +151 294 16 +151 295 16 +151 296 16 +151 297 16 +151 298 16 +151 299 16 +151 300 16 +151 301 16 +151 302 16 +151 303 16 +151 304 16 +151 305 16 +151 306 16 +151 307 16 +151 308 16 +151 309 16 +151 310 16 +151 311 16 +151 312 16 +151 313 16 +151 314 16 +151 315 16 +151 316 16 +151 317 16 +151 318 16 +151 319 16 +151 320 16 +151 321 16 +151 322 16 +151 323 16 +151 324 16 +151 325 16 +151 326 16 +151 327 16 +151 328 16 +151 329 16 +151 330 16 +151 331 16 +151 332 16 +151 333 16 +151 334 16 +151 335 16 +151 336 16 +151 337 16 +151 338 16 +151 339 16 +151 340 16 +151 341 16 +151 342 16 +151 343 16 +151 344 16 +151 345 16 +151 346 16 +151 347 16 +151 348 16 +151 349 16 +151 350 0 +151 351 0 +151 352 0 +151 353 0 +151 354 0 +151 355 0 +151 356 0 +151 357 0 +151 358 0 +151 359 0 +151 360 0 +151 361 0 +151 362 0 +151 363 0 +151 364 0 +151 365 0 +151 366 0 +151 367 0 +151 368 0 +151 369 0 +151 370 0 +151 371 0 +151 372 0 +151 373 0 +151 374 0 +151 375 0 +151 376 0 +151 377 0 +151 378 0 +151 379 0 +151 380 0 +151 381 0 +151 382 0 +151 383 0 +152 153 16 +152 154 16 +152 155 16 +152 156 16 +152 157 16 +152 158 16 +152 159 16 +152 160 16 +152 161 16 +152 162 16 +152 163 16 +152 164 16 +152 165 16 +152 166 16 +152 167 16 +152 168 16 +152 169 16 +152 170 16 +152 171 16 +152 172 16 +152 173 16 +152 174 16 +152 175 16 +152 176 16 +152 177 16 +152 178 16 +152 179 16 +152 180 16 +152 181 16 +152 182 16 +152 183 16 +152 184 16 +152 185 16 +152 186 16 +152 187 16 +152 188 16 +152 189 16 +152 190 16 +152 191 16 +152 192 16 +152 193 16 +152 194 16 +152 195 16 +152 196 16 +152 197 16 +152 198 16 +152 199 16 +152 200 16 +152 201 16 +152 202 16 +152 203 16 +152 204 16 +152 205 16 +152 206 16 +152 207 16 +152 208 16 +152 209 16 +152 210 16 +152 211 16 +152 212 16 +152 213 16 +152 214 16 +152 215 16 +152 216 16 +152 217 16 +152 218 16 +152 219 16 +152 220 16 +152 221 16 +152 222 16 +152 223 16 +152 224 16 +152 225 16 +152 226 16 +152 227 16 +152 228 16 +152 229 16 +152 230 16 +152 231 16 +152 232 16 +152 233 16 +152 234 16 +152 235 16 +152 236 16 +152 237 16 +152 238 16 +152 239 16 +152 240 16 +152 241 16 +152 242 16 +152 243 16 +152 244 16 +152 245 16 +152 246 16 +152 247 16 +152 248 16 +152 249 16 +152 250 16 +152 251 16 +152 252 16 +152 253 16 +152 254 16 +152 255 16 +152 256 16 +152 257 16 +152 258 16 +152 259 16 +152 260 16 +152 261 16 +152 262 16 +152 263 16 +152 264 16 +152 265 16 +152 266 16 +152 267 16 +152 268 16 +152 269 16 +152 270 16 +152 271 16 +152 272 16 +152 273 16 +152 274 16 +152 275 16 +152 276 16 +152 277 16 +152 278 16 +152 279 16 +152 280 16 +152 281 16 +152 282 16 +152 283 16 +152 284 16 +152 285 16 +152 286 16 +152 287 16 +152 288 16 +152 289 16 +152 290 16 +152 291 16 +152 292 16 +152 293 16 +152 294 16 +152 295 16 +152 296 16 +152 297 16 +152 298 16 +152 299 16 +152 300 16 +152 301 16 +152 302 16 +152 303 16 +152 304 16 +152 305 16 +152 306 16 +152 307 16 +152 308 16 +152 309 16 +152 310 16 +152 311 16 +152 312 16 +152 313 16 +152 314 16 +152 315 16 +152 316 16 +152 317 16 +152 318 16 +152 319 16 +152 320 16 +152 321 16 +152 322 16 +152 323 16 +152 324 16 +152 325 16 +152 326 16 +152 327 16 +152 328 16 +152 329 16 +152 330 16 +152 331 16 +152 332 16 +152 333 16 +152 334 16 +152 335 16 +152 336 16 +152 337 16 +152 338 16 +152 339 16 +152 340 16 +152 341 16 +152 342 16 +152 343 16 +152 344 16 +152 345 16 +152 346 16 +152 347 16 +152 348 16 +152 349 16 +152 350 0 +152 351 0 +152 352 0 +152 353 0 +152 354 0 +152 355 0 +152 356 0 +152 357 0 +152 358 0 +152 359 0 +152 360 0 +152 361 0 +152 362 0 +152 363 0 +152 364 0 +152 365 0 +152 366 0 +152 367 0 +152 368 0 +152 369 0 +152 370 0 +152 371 0 +152 372 0 +152 373 0 +152 374 0 +152 375 0 +152 376 0 +152 377 0 +152 378 0 +152 379 0 +152 380 0 +152 381 0 +152 382 0 +152 383 0 +153 154 16 +153 155 16 +153 156 16 +153 157 16 +153 158 16 +153 159 16 +153 160 16 +153 161 16 +153 162 16 +153 163 16 +153 164 16 +153 165 16 +153 166 16 +153 167 16 +153 168 16 +153 169 16 +153 170 16 +153 171 16 +153 172 16 +153 173 16 +153 174 16 +153 175 16 +153 176 16 +153 177 16 +153 178 16 +153 179 16 +153 180 16 +153 181 16 +153 182 16 +153 183 16 +153 184 16 +153 185 16 +153 186 16 +153 187 16 +153 188 16 +153 189 16 +153 190 16 +153 191 16 +153 192 16 +153 193 16 +153 194 16 +153 195 16 +153 196 16 +153 197 16 +153 198 16 +153 199 16 +153 200 16 +153 201 16 +153 202 16 +153 203 16 +153 204 16 +153 205 16 +153 206 16 +153 207 16 +153 208 16 +153 209 16 +153 210 16 +153 211 16 +153 212 16 +153 213 16 +153 214 16 +153 215 16 +153 216 16 +153 217 16 +153 218 16 +153 219 16 +153 220 16 +153 221 16 +153 222 16 +153 223 16 +153 224 16 +153 225 16 +153 226 16 +153 227 16 +153 228 16 +153 229 16 +153 230 16 +153 231 16 +153 232 16 +153 233 16 +153 234 16 +153 235 16 +153 236 16 +153 237 16 +153 238 16 +153 239 16 +153 240 16 +153 241 16 +153 242 16 +153 243 16 +153 244 16 +153 245 16 +153 246 16 +153 247 16 +153 248 16 +153 249 16 +153 250 16 +153 251 16 +153 252 16 +153 253 16 +153 254 16 +153 255 16 +153 256 16 +153 257 16 +153 258 16 +153 259 16 +153 260 16 +153 261 16 +153 262 16 +153 263 16 +153 264 16 +153 265 16 +153 266 16 +153 267 16 +153 268 16 +153 269 16 +153 270 16 +153 271 16 +153 272 16 +153 273 16 +153 274 16 +153 275 16 +153 276 16 +153 277 16 +153 278 16 +153 279 16 +153 280 16 +153 281 16 +153 282 16 +153 283 16 +153 284 16 +153 285 16 +153 286 16 +153 287 16 +153 288 16 +153 289 16 +153 290 16 +153 291 16 +153 292 16 +153 293 16 +153 294 16 +153 295 16 +153 296 16 +153 297 16 +153 298 16 +153 299 16 +153 300 16 +153 301 16 +153 302 16 +153 303 16 +153 304 16 +153 305 16 +153 306 16 +153 307 16 +153 308 16 +153 309 16 +153 310 16 +153 311 16 +153 312 16 +153 313 16 +153 314 16 +153 315 16 +153 316 16 +153 317 16 +153 318 16 +153 319 16 +153 320 16 +153 321 16 +153 322 16 +153 323 16 +153 324 16 +153 325 16 +153 326 16 +153 327 16 +153 328 16 +153 329 16 +153 330 16 +153 331 16 +153 332 16 +153 333 16 +153 334 16 +153 335 16 +153 336 16 +153 337 16 +153 338 16 +153 339 16 +153 340 16 +153 341 16 +153 342 16 +153 343 16 +153 344 16 +153 345 16 +153 346 16 +153 347 16 +153 348 16 +153 349 16 +153 350 0 +153 351 0 +153 352 0 +153 353 0 +153 354 0 +153 355 0 +153 356 0 +153 357 0 +153 358 0 +153 359 0 +153 360 0 +153 361 0 +153 362 0 +153 363 0 +153 364 0 +153 365 0 +153 366 0 +153 367 0 +153 368 0 +153 369 0 +153 370 0 +153 371 0 +153 372 0 +153 373 0 +153 374 0 +153 375 0 +153 376 0 +153 377 0 +153 378 0 +153 379 0 +153 380 0 +153 381 0 +153 382 0 +153 383 0 +154 155 16 +154 156 16 +154 157 16 +154 158 16 +154 159 16 +154 160 16 +154 161 16 +154 162 16 +154 163 16 +154 164 16 +154 165 16 +154 166 16 +154 167 16 +154 168 16 +154 169 16 +154 170 16 +154 171 16 +154 172 16 +154 173 16 +154 174 16 +154 175 16 +154 176 16 +154 177 16 +154 178 16 +154 179 16 +154 180 16 +154 181 16 +154 182 16 +154 183 16 +154 184 16 +154 185 16 +154 186 16 +154 187 16 +154 188 16 +154 189 16 +154 190 16 +154 191 16 +154 192 16 +154 193 16 +154 194 16 +154 195 16 +154 196 16 +154 197 16 +154 198 16 +154 199 16 +154 200 16 +154 201 16 +154 202 16 +154 203 16 +154 204 16 +154 205 16 +154 206 16 +154 207 16 +154 208 16 +154 209 16 +154 210 16 +154 211 16 +154 212 16 +154 213 16 +154 214 16 +154 215 16 +154 216 16 +154 217 16 +154 218 16 +154 219 16 +154 220 16 +154 221 16 +154 222 16 +154 223 16 +154 224 16 +154 225 16 +154 226 16 +154 227 16 +154 228 16 +154 229 16 +154 230 16 +154 231 16 +154 232 16 +154 233 16 +154 234 16 +154 235 16 +154 236 16 +154 237 16 +154 238 16 +154 239 16 +154 240 16 +154 241 16 +154 242 16 +154 243 16 +154 244 16 +154 245 16 +154 246 16 +154 247 16 +154 248 16 +154 249 16 +154 250 16 +154 251 16 +154 252 16 +154 253 16 +154 254 16 +154 255 16 +154 256 16 +154 257 16 +154 258 16 +154 259 16 +154 260 16 +154 261 16 +154 262 16 +154 263 16 +154 264 16 +154 265 16 +154 266 16 +154 267 16 +154 268 16 +154 269 16 +154 270 16 +154 271 16 +154 272 16 +154 273 16 +154 274 16 +154 275 16 +154 276 16 +154 277 16 +154 278 16 +154 279 16 +154 280 16 +154 281 16 +154 282 16 +154 283 16 +154 284 16 +154 285 16 +154 286 16 +154 287 16 +154 288 16 +154 289 16 +154 290 16 +154 291 16 +154 292 16 +154 293 16 +154 294 16 +154 295 16 +154 296 16 +154 297 16 +154 298 16 +154 299 16 +154 300 16 +154 301 16 +154 302 16 +154 303 16 +154 304 16 +154 305 16 +154 306 16 +154 307 16 +154 308 16 +154 309 16 +154 310 16 +154 311 16 +154 312 16 +154 313 16 +154 314 16 +154 315 16 +154 316 16 +154 317 16 +154 318 16 +154 319 16 +154 320 16 +154 321 16 +154 322 16 +154 323 16 +154 324 16 +154 325 16 +154 326 16 +154 327 16 +154 328 16 +154 329 16 +154 330 16 +154 331 16 +154 332 16 +154 333 16 +154 334 16 +154 335 16 +154 336 16 +154 337 16 +154 338 16 +154 339 16 +154 340 16 +154 341 16 +154 342 16 +154 343 16 +154 344 16 +154 345 16 +154 346 16 +154 347 16 +154 348 16 +154 349 16 +154 350 0 +154 351 0 +154 352 0 +154 353 0 +154 354 0 +154 355 0 +154 356 0 +154 357 0 +154 358 0 +154 359 0 +154 360 0 +154 361 0 +154 362 0 +154 363 0 +154 364 0 +154 365 0 +154 366 0 +154 367 0 +154 368 0 +154 369 0 +154 370 0 +154 371 0 +154 372 0 +154 373 0 +154 374 0 +154 375 0 +154 376 0 +154 377 0 +154 378 0 +154 379 0 +154 380 0 +154 381 0 +154 382 0 +154 383 0 +155 156 16 +155 157 16 +155 158 16 +155 159 16 +155 160 16 +155 161 16 +155 162 16 +155 163 16 +155 164 16 +155 165 16 +155 166 16 +155 167 16 +155 168 16 +155 169 16 +155 170 16 +155 171 16 +155 172 16 +155 173 16 +155 174 16 +155 175 16 +155 176 16 +155 177 16 +155 178 16 +155 179 16 +155 180 16 +155 181 16 +155 182 16 +155 183 16 +155 184 16 +155 185 16 +155 186 16 +155 187 16 +155 188 16 +155 189 16 +155 190 16 +155 191 16 +155 192 16 +155 193 16 +155 194 16 +155 195 16 +155 196 16 +155 197 16 +155 198 16 +155 199 16 +155 200 16 +155 201 16 +155 202 16 +155 203 16 +155 204 16 +155 205 16 +155 206 16 +155 207 16 +155 208 16 +155 209 16 +155 210 16 +155 211 16 +155 212 16 +155 213 16 +155 214 16 +155 215 16 +155 216 16 +155 217 16 +155 218 16 +155 219 16 +155 220 16 +155 221 16 +155 222 16 +155 223 16 +155 224 16 +155 225 16 +155 226 16 +155 227 16 +155 228 16 +155 229 16 +155 230 16 +155 231 16 +155 232 16 +155 233 16 +155 234 16 +155 235 16 +155 236 16 +155 237 16 +155 238 16 +155 239 16 +155 240 16 +155 241 16 +155 242 16 +155 243 16 +155 244 16 +155 245 16 +155 246 16 +155 247 16 +155 248 16 +155 249 16 +155 250 16 +155 251 16 +155 252 16 +155 253 16 +155 254 16 +155 255 16 +155 256 16 +155 257 16 +155 258 16 +155 259 16 +155 260 16 +155 261 16 +155 262 16 +155 263 16 +155 264 16 +155 265 16 +155 266 16 +155 267 16 +155 268 16 +155 269 16 +155 270 16 +155 271 16 +155 272 16 +155 273 16 +155 274 16 +155 275 16 +155 276 16 +155 277 16 +155 278 16 +155 279 16 +155 280 16 +155 281 16 +155 282 16 +155 283 16 +155 284 16 +155 285 16 +155 286 16 +155 287 16 +155 288 16 +155 289 16 +155 290 16 +155 291 16 +155 292 16 +155 293 16 +155 294 16 +155 295 16 +155 296 16 +155 297 16 +155 298 16 +155 299 16 +155 300 16 +155 301 16 +155 302 16 +155 303 16 +155 304 16 +155 305 16 +155 306 16 +155 307 16 +155 308 16 +155 309 16 +155 310 16 +155 311 16 +155 312 16 +155 313 16 +155 314 16 +155 315 16 +155 316 16 +155 317 16 +155 318 16 +155 319 16 +155 320 16 +155 321 16 +155 322 16 +155 323 16 +155 324 16 +155 325 16 +155 326 16 +155 327 16 +155 328 16 +155 329 16 +155 330 16 +155 331 16 +155 332 16 +155 333 16 +155 334 16 +155 335 16 +155 336 16 +155 337 16 +155 338 16 +155 339 16 +155 340 16 +155 341 16 +155 342 16 +155 343 16 +155 344 16 +155 345 16 +155 346 16 +155 347 16 +155 348 16 +155 349 16 +155 350 0 +155 351 0 +155 352 0 +155 353 0 +155 354 0 +155 355 0 +155 356 0 +155 357 0 +155 358 0 +155 359 0 +155 360 0 +155 361 0 +155 362 0 +155 363 0 +155 364 0 +155 365 0 +155 366 0 +155 367 0 +155 368 0 +155 369 0 +155 370 0 +155 371 0 +155 372 0 +155 373 0 +155 374 0 +155 375 0 +155 376 0 +155 377 0 +155 378 0 +155 379 0 +155 380 0 +155 381 0 +155 382 0 +155 383 0 +156 157 16 +156 158 16 +156 159 16 +156 160 16 +156 161 16 +156 162 16 +156 163 16 +156 164 16 +156 165 16 +156 166 16 +156 167 16 +156 168 16 +156 169 16 +156 170 16 +156 171 16 +156 172 16 +156 173 16 +156 174 16 +156 175 16 +156 176 16 +156 177 16 +156 178 16 +156 179 16 +156 180 16 +156 181 16 +156 182 16 +156 183 16 +156 184 16 +156 185 16 +156 186 16 +156 187 16 +156 188 16 +156 189 16 +156 190 16 +156 191 16 +156 192 16 +156 193 16 +156 194 16 +156 195 16 +156 196 16 +156 197 16 +156 198 16 +156 199 16 +156 200 16 +156 201 16 +156 202 16 +156 203 16 +156 204 16 +156 205 16 +156 206 16 +156 207 16 +156 208 16 +156 209 16 +156 210 16 +156 211 16 +156 212 16 +156 213 16 +156 214 16 +156 215 16 +156 216 16 +156 217 16 +156 218 16 +156 219 16 +156 220 16 +156 221 16 +156 222 16 +156 223 16 +156 224 16 +156 225 16 +156 226 16 +156 227 16 +156 228 16 +156 229 16 +156 230 16 +156 231 16 +156 232 16 +156 233 16 +156 234 16 +156 235 16 +156 236 16 +156 237 16 +156 238 16 +156 239 16 +156 240 16 +156 241 16 +156 242 16 +156 243 16 +156 244 16 +156 245 16 +156 246 16 +156 247 16 +156 248 16 +156 249 16 +156 250 16 +156 251 16 +156 252 16 +156 253 16 +156 254 16 +156 255 16 +156 256 16 +156 257 16 +156 258 16 +156 259 16 +156 260 16 +156 261 16 +156 262 16 +156 263 16 +156 264 16 +156 265 16 +156 266 16 +156 267 16 +156 268 16 +156 269 16 +156 270 16 +156 271 16 +156 272 16 +156 273 16 +156 274 16 +156 275 16 +156 276 16 +156 277 16 +156 278 16 +156 279 16 +156 280 16 +156 281 16 +156 282 16 +156 283 16 +156 284 16 +156 285 16 +156 286 16 +156 287 16 +156 288 16 +156 289 16 +156 290 16 +156 291 16 +156 292 16 +156 293 16 +156 294 16 +156 295 16 +156 296 16 +156 297 16 +156 298 16 +156 299 16 +156 300 16 +156 301 16 +156 302 16 +156 303 16 +156 304 16 +156 305 16 +156 306 16 +156 307 16 +156 308 16 +156 309 16 +156 310 16 +156 311 16 +156 312 16 +156 313 16 +156 314 16 +156 315 16 +156 316 16 +156 317 16 +156 318 16 +156 319 16 +156 320 16 +156 321 16 +156 322 16 +156 323 16 +156 324 16 +156 325 16 +156 326 16 +156 327 16 +156 328 16 +156 329 16 +156 330 16 +156 331 16 +156 332 16 +156 333 16 +156 334 16 +156 335 16 +156 336 16 +156 337 16 +156 338 16 +156 339 16 +156 340 16 +156 341 16 +156 342 16 +156 343 16 +156 344 16 +156 345 16 +156 346 16 +156 347 16 +156 348 16 +156 349 16 +156 350 0 +156 351 0 +156 352 0 +156 353 0 +156 354 0 +156 355 0 +156 356 0 +156 357 0 +156 358 0 +156 359 0 +156 360 0 +156 361 0 +156 362 0 +156 363 0 +156 364 0 +156 365 0 +156 366 0 +156 367 0 +156 368 0 +156 369 0 +156 370 0 +156 371 0 +156 372 0 +156 373 0 +156 374 0 +156 375 0 +156 376 0 +156 377 0 +156 378 0 +156 379 0 +156 380 0 +156 381 0 +156 382 0 +156 383 0 +157 158 16 +157 159 16 +157 160 16 +157 161 16 +157 162 16 +157 163 16 +157 164 16 +157 165 16 +157 166 16 +157 167 16 +157 168 16 +157 169 16 +157 170 16 +157 171 16 +157 172 16 +157 173 16 +157 174 16 +157 175 16 +157 176 16 +157 177 16 +157 178 16 +157 179 16 +157 180 16 +157 181 16 +157 182 16 +157 183 16 +157 184 16 +157 185 16 +157 186 16 +157 187 16 +157 188 16 +157 189 16 +157 190 16 +157 191 16 +157 192 16 +157 193 16 +157 194 16 +157 195 16 +157 196 16 +157 197 16 +157 198 16 +157 199 16 +157 200 16 +157 201 16 +157 202 16 +157 203 16 +157 204 16 +157 205 16 +157 206 16 +157 207 16 +157 208 16 +157 209 16 +157 210 16 +157 211 16 +157 212 16 +157 213 16 +157 214 16 +157 215 16 +157 216 16 +157 217 16 +157 218 16 +157 219 16 +157 220 16 +157 221 16 +157 222 16 +157 223 16 +157 224 16 +157 225 16 +157 226 16 +157 227 16 +157 228 16 +157 229 16 +157 230 16 +157 231 16 +157 232 16 +157 233 16 +157 234 16 +157 235 16 +157 236 16 +157 237 16 +157 238 16 +157 239 16 +157 240 16 +157 241 16 +157 242 16 +157 243 16 +157 244 16 +157 245 16 +157 246 16 +157 247 16 +157 248 16 +157 249 16 +157 250 16 +157 251 16 +157 252 16 +157 253 16 +157 254 16 +157 255 16 +157 256 16 +157 257 16 +157 258 16 +157 259 16 +157 260 16 +157 261 16 +157 262 16 +157 263 16 +157 264 16 +157 265 16 +157 266 16 +157 267 16 +157 268 16 +157 269 16 +157 270 16 +157 271 16 +157 272 16 +157 273 16 +157 274 16 +157 275 16 +157 276 16 +157 277 16 +157 278 16 +157 279 16 +157 280 16 +157 281 16 +157 282 16 +157 283 16 +157 284 16 +157 285 16 +157 286 16 +157 287 16 +157 288 16 +157 289 16 +157 290 16 +157 291 16 +157 292 16 +157 293 16 +157 294 16 +157 295 16 +157 296 16 +157 297 16 +157 298 16 +157 299 16 +157 300 16 +157 301 16 +157 302 16 +157 303 16 +157 304 16 +157 305 16 +157 306 16 +157 307 16 +157 308 16 +157 309 16 +157 310 16 +157 311 16 +157 312 16 +157 313 16 +157 314 16 +157 315 16 +157 316 16 +157 317 16 +157 318 16 +157 319 16 +157 320 16 +157 321 16 +157 322 16 +157 323 16 +157 324 16 +157 325 16 +157 326 16 +157 327 16 +157 328 16 +157 329 16 +157 330 16 +157 331 16 +157 332 16 +157 333 16 +157 334 16 +157 335 16 +157 336 16 +157 337 16 +157 338 16 +157 339 16 +157 340 16 +157 341 16 +157 342 16 +157 343 16 +157 344 16 +157 345 16 +157 346 16 +157 347 16 +157 348 16 +157 349 16 +157 350 0 +157 351 0 +157 352 0 +157 353 0 +157 354 0 +157 355 0 +157 356 0 +157 357 0 +157 358 0 +157 359 0 +157 360 0 +157 361 0 +157 362 0 +157 363 0 +157 364 0 +157 365 0 +157 366 0 +157 367 0 +157 368 0 +157 369 0 +157 370 0 +157 371 0 +157 372 0 +157 373 0 +157 374 0 +157 375 0 +157 376 0 +157 377 0 +157 378 0 +157 379 0 +157 380 0 +157 381 0 +157 382 0 +157 383 0 +158 159 16 +158 160 16 +158 161 16 +158 162 16 +158 163 16 +158 164 16 +158 165 16 +158 166 16 +158 167 16 +158 168 16 +158 169 16 +158 170 16 +158 171 16 +158 172 16 +158 173 16 +158 174 16 +158 175 16 +158 176 16 +158 177 16 +158 178 16 +158 179 16 +158 180 16 +158 181 16 +158 182 16 +158 183 16 +158 184 16 +158 185 16 +158 186 16 +158 187 16 +158 188 16 +158 189 16 +158 190 16 +158 191 16 +158 192 16 +158 193 16 +158 194 16 +158 195 16 +158 196 16 +158 197 16 +158 198 16 +158 199 16 +158 200 16 +158 201 16 +158 202 16 +158 203 16 +158 204 16 +158 205 16 +158 206 16 +158 207 16 +158 208 16 +158 209 16 +158 210 16 +158 211 16 +158 212 16 +158 213 16 +158 214 16 +158 215 16 +158 216 16 +158 217 16 +158 218 16 +158 219 16 +158 220 16 +158 221 16 +158 222 16 +158 223 16 +158 224 16 +158 225 16 +158 226 16 +158 227 16 +158 228 16 +158 229 16 +158 230 16 +158 231 16 +158 232 16 +158 233 16 +158 234 16 +158 235 16 +158 236 16 +158 237 16 +158 238 16 +158 239 16 +158 240 16 +158 241 16 +158 242 16 +158 243 16 +158 244 16 +158 245 16 +158 246 16 +158 247 16 +158 248 16 +158 249 16 +158 250 16 +158 251 16 +158 252 16 +158 253 16 +158 254 16 +158 255 16 +158 256 16 +158 257 16 +158 258 16 +158 259 16 +158 260 16 +158 261 16 +158 262 16 +158 263 16 +158 264 16 +158 265 16 +158 266 16 +158 267 16 +158 268 16 +158 269 16 +158 270 16 +158 271 16 +158 272 16 +158 273 16 +158 274 16 +158 275 16 +158 276 16 +158 277 16 +158 278 16 +158 279 16 +158 280 16 +158 281 16 +158 282 16 +158 283 16 +158 284 16 +158 285 16 +158 286 16 +158 287 16 +158 288 16 +158 289 16 +158 290 16 +158 291 16 +158 292 16 +158 293 16 +158 294 16 +158 295 16 +158 296 16 +158 297 16 +158 298 16 +158 299 16 +158 300 16 +158 301 16 +158 302 16 +158 303 16 +158 304 16 +158 305 16 +158 306 16 +158 307 16 +158 308 16 +158 309 16 +158 310 16 +158 311 16 +158 312 16 +158 313 16 +158 314 16 +158 315 16 +158 316 16 +158 317 16 +158 318 16 +158 319 16 +158 320 16 +158 321 16 +158 322 16 +158 323 16 +158 324 16 +158 325 16 +158 326 16 +158 327 16 +158 328 16 +158 329 16 +158 330 16 +158 331 16 +158 332 16 +158 333 16 +158 334 16 +158 335 16 +158 336 16 +158 337 16 +158 338 16 +158 339 16 +158 340 16 +158 341 16 +158 342 16 +158 343 16 +158 344 16 +158 345 16 +158 346 16 +158 347 16 +158 348 16 +158 349 16 +158 350 0 +158 351 0 +158 352 0 +158 353 0 +158 354 0 +158 355 0 +158 356 0 +158 357 0 +158 358 0 +158 359 0 +158 360 0 +158 361 0 +158 362 0 +158 363 0 +158 364 0 +158 365 0 +158 366 0 +158 367 0 +158 368 0 +158 369 0 +158 370 0 +158 371 0 +158 372 0 +158 373 0 +158 374 0 +158 375 0 +158 376 0 +158 377 0 +158 378 0 +158 379 0 +158 380 0 +158 381 0 +158 382 0 +158 383 0 +159 160 16 +159 161 16 +159 162 16 +159 163 16 +159 164 16 +159 165 16 +159 166 16 +159 167 16 +159 168 16 +159 169 16 +159 170 16 +159 171 16 +159 172 16 +159 173 16 +159 174 16 +159 175 16 +159 176 16 +159 177 16 +159 178 16 +159 179 16 +159 180 16 +159 181 16 +159 182 16 +159 183 16 +159 184 16 +159 185 16 +159 186 16 +159 187 16 +159 188 16 +159 189 16 +159 190 16 +159 191 16 +159 192 16 +159 193 16 +159 194 16 +159 195 16 +159 196 16 +159 197 16 +159 198 16 +159 199 16 +159 200 16 +159 201 16 +159 202 16 +159 203 16 +159 204 16 +159 205 16 +159 206 16 +159 207 16 +159 208 16 +159 209 16 +159 210 16 +159 211 16 +159 212 16 +159 213 16 +159 214 16 +159 215 16 +159 216 16 +159 217 16 +159 218 16 +159 219 16 +159 220 16 +159 221 16 +159 222 16 +159 223 16 +159 224 16 +159 225 16 +159 226 16 +159 227 16 +159 228 16 +159 229 16 +159 230 16 +159 231 16 +159 232 16 +159 233 16 +159 234 16 +159 235 16 +159 236 16 +159 237 16 +159 238 16 +159 239 16 +159 240 16 +159 241 16 +159 242 16 +159 243 16 +159 244 16 +159 245 16 +159 246 16 +159 247 16 +159 248 16 +159 249 16 +159 250 16 +159 251 16 +159 252 16 +159 253 16 +159 254 16 +159 255 16 +159 256 16 +159 257 16 +159 258 16 +159 259 16 +159 260 16 +159 261 16 +159 262 16 +159 263 16 +159 264 16 +159 265 16 +159 266 16 +159 267 16 +159 268 16 +159 269 16 +159 270 16 +159 271 16 +159 272 16 +159 273 16 +159 274 16 +159 275 16 +159 276 16 +159 277 16 +159 278 16 +159 279 16 +159 280 16 +159 281 16 +159 282 16 +159 283 16 +159 284 16 +159 285 16 +159 286 16 +159 287 16 +159 288 16 +159 289 16 +159 290 16 +159 291 16 +159 292 16 +159 293 16 +159 294 16 +159 295 16 +159 296 16 +159 297 16 +159 298 16 +159 299 16 +159 300 16 +159 301 16 +159 302 16 +159 303 16 +159 304 16 +159 305 16 +159 306 16 +159 307 16 +159 308 16 +159 309 16 +159 310 16 +159 311 16 +159 312 16 +159 313 16 +159 314 16 +159 315 16 +159 316 16 +159 317 16 +159 318 16 +159 319 16 +159 320 16 +159 321 16 +159 322 16 +159 323 16 +159 324 16 +159 325 16 +159 326 16 +159 327 16 +159 328 16 +159 329 16 +159 330 16 +159 331 16 +159 332 16 +159 333 16 +159 334 16 +159 335 16 +159 336 16 +159 337 16 +159 338 16 +159 339 16 +159 340 16 +159 341 16 +159 342 16 +159 343 16 +159 344 16 +159 345 16 +159 346 16 +159 347 16 +159 348 16 +159 349 16 +159 350 0 +159 351 0 +159 352 0 +159 353 0 +159 354 0 +159 355 0 +159 356 0 +159 357 0 +159 358 0 +159 359 0 +159 360 0 +159 361 0 +159 362 0 +159 363 0 +159 364 0 +159 365 0 +159 366 0 +159 367 0 +159 368 0 +159 369 0 +159 370 0 +159 371 0 +159 372 0 +159 373 0 +159 374 0 +159 375 0 +159 376 0 +159 377 0 +159 378 0 +159 379 0 +159 380 0 +159 381 0 +159 382 0 +159 383 0 +160 161 16 +160 162 16 +160 163 16 +160 164 16 +160 165 16 +160 166 16 +160 167 16 +160 168 16 +160 169 16 +160 170 16 +160 171 16 +160 172 16 +160 173 16 +160 174 16 +160 175 16 +160 176 16 +160 177 16 +160 178 16 +160 179 16 +160 180 16 +160 181 16 +160 182 16 +160 183 16 +160 184 16 +160 185 16 +160 186 16 +160 187 16 +160 188 16 +160 189 16 +160 190 16 +160 191 16 +160 192 16 +160 193 16 +160 194 16 +160 195 16 +160 196 16 +160 197 16 +160 198 16 +160 199 16 +160 200 16 +160 201 16 +160 202 16 +160 203 16 +160 204 16 +160 205 16 +160 206 16 +160 207 16 +160 208 16 +160 209 16 +160 210 16 +160 211 16 +160 212 16 +160 213 16 +160 214 16 +160 215 16 +160 216 16 +160 217 16 +160 218 16 +160 219 16 +160 220 16 +160 221 16 +160 222 16 +160 223 16 +160 224 16 +160 225 16 +160 226 16 +160 227 16 +160 228 16 +160 229 16 +160 230 16 +160 231 16 +160 232 16 +160 233 16 +160 234 16 +160 235 16 +160 236 16 +160 237 16 +160 238 16 +160 239 16 +160 240 16 +160 241 16 +160 242 16 +160 243 16 +160 244 16 +160 245 16 +160 246 16 +160 247 16 +160 248 16 +160 249 16 +160 250 16 +160 251 16 +160 252 16 +160 253 16 +160 254 16 +160 255 16 +160 256 16 +160 257 16 +160 258 16 +160 259 16 +160 260 16 +160 261 16 +160 262 16 +160 263 16 +160 264 16 +160 265 16 +160 266 16 +160 267 16 +160 268 16 +160 269 16 +160 270 16 +160 271 16 +160 272 16 +160 273 16 +160 274 16 +160 275 16 +160 276 16 +160 277 16 +160 278 16 +160 279 16 +160 280 16 +160 281 16 +160 282 16 +160 283 16 +160 284 16 +160 285 16 +160 286 16 +160 287 16 +160 288 16 +160 289 16 +160 290 16 +160 291 16 +160 292 16 +160 293 16 +160 294 16 +160 295 16 +160 296 16 +160 297 16 +160 298 16 +160 299 16 +160 300 16 +160 301 16 +160 302 16 +160 303 16 +160 304 16 +160 305 16 +160 306 16 +160 307 16 +160 308 16 +160 309 16 +160 310 16 +160 311 16 +160 312 16 +160 313 16 +160 314 16 +160 315 16 +160 316 16 +160 317 16 +160 318 16 +160 319 16 +160 320 16 +160 321 16 +160 322 16 +160 323 16 +160 324 16 +160 325 16 +160 326 16 +160 327 16 +160 328 16 +160 329 16 +160 330 16 +160 331 16 +160 332 16 +160 333 16 +160 334 16 +160 335 16 +160 336 16 +160 337 16 +160 338 16 +160 339 16 +160 340 16 +160 341 16 +160 342 16 +160 343 16 +160 344 16 +160 345 16 +160 346 16 +160 347 16 +160 348 16 +160 349 16 +160 350 0 +160 351 0 +160 352 0 +160 353 0 +160 354 0 +160 355 0 +160 356 0 +160 357 0 +160 358 0 +160 359 0 +160 360 0 +160 361 0 +160 362 0 +160 363 0 +160 364 0 +160 365 0 +160 366 0 +160 367 0 +160 368 0 +160 369 0 +160 370 0 +160 371 0 +160 372 0 +160 373 0 +160 374 0 +160 375 0 +160 376 0 +160 377 0 +160 378 0 +160 379 0 +160 380 0 +160 381 0 +160 382 0 +160 383 0 +161 162 16 +161 163 16 +161 164 16 +161 165 16 +161 166 16 +161 167 16 +161 168 16 +161 169 16 +161 170 16 +161 171 16 +161 172 16 +161 173 16 +161 174 16 +161 175 16 +161 176 16 +161 177 16 +161 178 16 +161 179 16 +161 180 16 +161 181 16 +161 182 16 +161 183 16 +161 184 16 +161 185 16 +161 186 16 +161 187 16 +161 188 16 +161 189 16 +161 190 16 +161 191 16 +161 192 16 +161 193 16 +161 194 16 +161 195 16 +161 196 16 +161 197 16 +161 198 16 +161 199 16 +161 200 16 +161 201 16 +161 202 16 +161 203 16 +161 204 16 +161 205 16 +161 206 16 +161 207 16 +161 208 16 +161 209 16 +161 210 16 +161 211 16 +161 212 16 +161 213 16 +161 214 16 +161 215 16 +161 216 16 +161 217 16 +161 218 16 +161 219 16 +161 220 16 +161 221 16 +161 222 16 +161 223 16 +161 224 16 +161 225 16 +161 226 16 +161 227 16 +161 228 16 +161 229 16 +161 230 16 +161 231 16 +161 232 16 +161 233 16 +161 234 16 +161 235 16 +161 236 16 +161 237 16 +161 238 16 +161 239 16 +161 240 16 +161 241 16 +161 242 16 +161 243 16 +161 244 16 +161 245 16 +161 246 16 +161 247 16 +161 248 16 +161 249 16 +161 250 16 +161 251 16 +161 252 16 +161 253 16 +161 254 16 +161 255 16 +161 256 16 +161 257 16 +161 258 16 +161 259 16 +161 260 16 +161 261 16 +161 262 16 +161 263 16 +161 264 16 +161 265 16 +161 266 16 +161 267 16 +161 268 16 +161 269 16 +161 270 16 +161 271 16 +161 272 16 +161 273 16 +161 274 16 +161 275 16 +161 276 16 +161 277 16 +161 278 16 +161 279 16 +161 280 16 +161 281 16 +161 282 16 +161 283 16 +161 284 16 +161 285 16 +161 286 16 +161 287 16 +161 288 16 +161 289 16 +161 290 16 +161 291 16 +161 292 16 +161 293 16 +161 294 16 +161 295 16 +161 296 16 +161 297 16 +161 298 16 +161 299 16 +161 300 16 +161 301 16 +161 302 16 +161 303 16 +161 304 16 +161 305 16 +161 306 16 +161 307 16 +161 308 16 +161 309 16 +161 310 16 +161 311 16 +161 312 16 +161 313 16 +161 314 16 +161 315 16 +161 316 16 +161 317 16 +161 318 16 +161 319 16 +161 320 16 +161 321 16 +161 322 16 +161 323 16 +161 324 16 +161 325 16 +161 326 16 +161 327 16 +161 328 16 +161 329 16 +161 330 16 +161 331 16 +161 332 16 +161 333 16 +161 334 16 +161 335 16 +161 336 16 +161 337 16 +161 338 16 +161 339 16 +161 340 16 +161 341 16 +161 342 16 +161 343 16 +161 344 16 +161 345 16 +161 346 16 +161 347 16 +161 348 16 +161 349 16 +161 350 0 +161 351 0 +161 352 0 +161 353 0 +161 354 0 +161 355 0 +161 356 0 +161 357 0 +161 358 0 +161 359 0 +161 360 0 +161 361 0 +161 362 0 +161 363 0 +161 364 0 +161 365 0 +161 366 0 +161 367 0 +161 368 0 +161 369 0 +161 370 0 +161 371 0 +161 372 0 +161 373 0 +161 374 0 +161 375 0 +161 376 0 +161 377 0 +161 378 0 +161 379 0 +161 380 0 +161 381 0 +161 382 0 +161 383 0 +162 163 16 +162 164 16 +162 165 16 +162 166 16 +162 167 16 +162 168 16 +162 169 16 +162 170 16 +162 171 16 +162 172 16 +162 173 16 +162 174 16 +162 175 16 +162 176 16 +162 177 16 +162 178 16 +162 179 16 +162 180 16 +162 181 16 +162 182 16 +162 183 16 +162 184 16 +162 185 16 +162 186 16 +162 187 16 +162 188 16 +162 189 16 +162 190 16 +162 191 16 +162 192 16 +162 193 16 +162 194 16 +162 195 16 +162 196 16 +162 197 16 +162 198 16 +162 199 16 +162 200 16 +162 201 16 +162 202 16 +162 203 16 +162 204 16 +162 205 16 +162 206 16 +162 207 16 +162 208 16 +162 209 16 +162 210 16 +162 211 16 +162 212 16 +162 213 16 +162 214 16 +162 215 16 +162 216 16 +162 217 16 +162 218 16 +162 219 16 +162 220 16 +162 221 16 +162 222 16 +162 223 16 +162 224 16 +162 225 16 +162 226 16 +162 227 16 +162 228 16 +162 229 16 +162 230 16 +162 231 16 +162 232 16 +162 233 16 +162 234 16 +162 235 16 +162 236 16 +162 237 16 +162 238 16 +162 239 16 +162 240 16 +162 241 16 +162 242 16 +162 243 16 +162 244 16 +162 245 16 +162 246 16 +162 247 16 +162 248 16 +162 249 16 +162 250 16 +162 251 16 +162 252 16 +162 253 16 +162 254 16 +162 255 16 +162 256 16 +162 257 16 +162 258 16 +162 259 16 +162 260 16 +162 261 16 +162 262 16 +162 263 16 +162 264 16 +162 265 16 +162 266 16 +162 267 16 +162 268 16 +162 269 16 +162 270 16 +162 271 16 +162 272 16 +162 273 16 +162 274 16 +162 275 16 +162 276 16 +162 277 16 +162 278 16 +162 279 16 +162 280 16 +162 281 16 +162 282 16 +162 283 16 +162 284 16 +162 285 16 +162 286 16 +162 287 16 +162 288 16 +162 289 16 +162 290 16 +162 291 16 +162 292 16 +162 293 16 +162 294 16 +162 295 16 +162 296 16 +162 297 16 +162 298 16 +162 299 16 +162 300 16 +162 301 16 +162 302 16 +162 303 16 +162 304 16 +162 305 16 +162 306 16 +162 307 16 +162 308 16 +162 309 16 +162 310 16 +162 311 16 +162 312 16 +162 313 16 +162 314 16 +162 315 16 +162 316 16 +162 317 16 +162 318 16 +162 319 16 +162 320 16 +162 321 16 +162 322 16 +162 323 16 +162 324 16 +162 325 16 +162 326 16 +162 327 16 +162 328 16 +162 329 16 +162 330 16 +162 331 16 +162 332 16 +162 333 16 +162 334 16 +162 335 16 +162 336 16 +162 337 16 +162 338 16 +162 339 16 +162 340 16 +162 341 16 +162 342 16 +162 343 16 +162 344 16 +162 345 16 +162 346 16 +162 347 16 +162 348 16 +162 349 16 +162 350 0 +162 351 0 +162 352 0 +162 353 0 +162 354 0 +162 355 0 +162 356 0 +162 357 0 +162 358 0 +162 359 0 +162 360 0 +162 361 0 +162 362 0 +162 363 0 +162 364 0 +162 365 0 +162 366 0 +162 367 0 +162 368 0 +162 369 0 +162 370 0 +162 371 0 +162 372 0 +162 373 0 +162 374 0 +162 375 0 +162 376 0 +162 377 0 +162 378 0 +162 379 0 +162 380 0 +162 381 0 +162 382 0 +162 383 0 +163 164 16 +163 165 16 +163 166 16 +163 167 16 +163 168 16 +163 169 16 +163 170 16 +163 171 16 +163 172 16 +163 173 16 +163 174 16 +163 175 16 +163 176 16 +163 177 16 +163 178 16 +163 179 16 +163 180 16 +163 181 16 +163 182 16 +163 183 16 +163 184 16 +163 185 16 +163 186 16 +163 187 16 +163 188 16 +163 189 16 +163 190 16 +163 191 16 +163 192 16 +163 193 16 +163 194 16 +163 195 16 +163 196 16 +163 197 16 +163 198 16 +163 199 16 +163 200 16 +163 201 16 +163 202 16 +163 203 16 +163 204 16 +163 205 16 +163 206 16 +163 207 16 +163 208 16 +163 209 16 +163 210 16 +163 211 16 +163 212 16 +163 213 16 +163 214 16 +163 215 16 +163 216 16 +163 217 16 +163 218 16 +163 219 16 +163 220 16 +163 221 16 +163 222 16 +163 223 16 +163 224 16 +163 225 16 +163 226 16 +163 227 16 +163 228 16 +163 229 16 +163 230 16 +163 231 16 +163 232 16 +163 233 16 +163 234 16 +163 235 16 +163 236 16 +163 237 16 +163 238 16 +163 239 16 +163 240 16 +163 241 16 +163 242 16 +163 243 16 +163 244 16 +163 245 16 +163 246 16 +163 247 16 +163 248 16 +163 249 16 +163 250 16 +163 251 16 +163 252 16 +163 253 16 +163 254 16 +163 255 16 +163 256 16 +163 257 16 +163 258 16 +163 259 16 +163 260 16 +163 261 16 +163 262 16 +163 263 16 +163 264 16 +163 265 16 +163 266 16 +163 267 16 +163 268 16 +163 269 16 +163 270 16 +163 271 16 +163 272 16 +163 273 16 +163 274 16 +163 275 16 +163 276 16 +163 277 16 +163 278 16 +163 279 16 +163 280 16 +163 281 16 +163 282 16 +163 283 16 +163 284 16 +163 285 16 +163 286 16 +163 287 16 +163 288 16 +163 289 16 +163 290 16 +163 291 16 +163 292 16 +163 293 16 +163 294 16 +163 295 16 +163 296 16 +163 297 16 +163 298 16 +163 299 16 +163 300 16 +163 301 16 +163 302 16 +163 303 16 +163 304 16 +163 305 16 +163 306 16 +163 307 16 +163 308 16 +163 309 16 +163 310 16 +163 311 16 +163 312 16 +163 313 16 +163 314 16 +163 315 16 +163 316 16 +163 317 16 +163 318 16 +163 319 16 +163 320 16 +163 321 16 +163 322 16 +163 323 16 +163 324 16 +163 325 16 +163 326 16 +163 327 16 +163 328 16 +163 329 16 +163 330 16 +163 331 16 +163 332 16 +163 333 16 +163 334 16 +163 335 16 +163 336 16 +163 337 16 +163 338 16 +163 339 16 +163 340 16 +163 341 16 +163 342 16 +163 343 16 +163 344 16 +163 345 16 +163 346 16 +163 347 16 +163 348 16 +163 349 16 +163 350 0 +163 351 0 +163 352 0 +163 353 0 +163 354 0 +163 355 0 +163 356 0 +163 357 0 +163 358 0 +163 359 0 +163 360 0 +163 361 0 +163 362 0 +163 363 0 +163 364 0 +163 365 0 +163 366 0 +163 367 0 +163 368 0 +163 369 0 +163 370 0 +163 371 0 +163 372 0 +163 373 0 +163 374 0 +163 375 0 +163 376 0 +163 377 0 +163 378 0 +163 379 0 +163 380 0 +163 381 0 +163 382 0 +163 383 0 +164 165 16 +164 166 16 +164 167 16 +164 168 16 +164 169 16 +164 170 16 +164 171 16 +164 172 16 +164 173 16 +164 174 16 +164 175 16 +164 176 16 +164 177 16 +164 178 16 +164 179 16 +164 180 16 +164 181 16 +164 182 16 +164 183 16 +164 184 16 +164 185 16 +164 186 16 +164 187 16 +164 188 16 +164 189 16 +164 190 16 +164 191 16 +164 192 16 +164 193 16 +164 194 16 +164 195 16 +164 196 16 +164 197 16 +164 198 16 +164 199 16 +164 200 16 +164 201 16 +164 202 16 +164 203 16 +164 204 16 +164 205 16 +164 206 16 +164 207 16 +164 208 16 +164 209 16 +164 210 16 +164 211 16 +164 212 16 +164 213 16 +164 214 16 +164 215 16 +164 216 16 +164 217 16 +164 218 16 +164 219 16 +164 220 16 +164 221 16 +164 222 16 +164 223 16 +164 224 16 +164 225 16 +164 226 16 +164 227 16 +164 228 16 +164 229 16 +164 230 16 +164 231 16 +164 232 16 +164 233 16 +164 234 16 +164 235 16 +164 236 16 +164 237 16 +164 238 16 +164 239 16 +164 240 16 +164 241 16 +164 242 16 +164 243 16 +164 244 16 +164 245 16 +164 246 16 +164 247 16 +164 248 16 +164 249 16 +164 250 16 +164 251 16 +164 252 16 +164 253 16 +164 254 16 +164 255 16 +164 256 16 +164 257 16 +164 258 16 +164 259 16 +164 260 16 +164 261 16 +164 262 16 +164 263 16 +164 264 16 +164 265 16 +164 266 16 +164 267 16 +164 268 16 +164 269 16 +164 270 16 +164 271 16 +164 272 16 +164 273 16 +164 274 16 +164 275 16 +164 276 16 +164 277 16 +164 278 16 +164 279 16 +164 280 16 +164 281 16 +164 282 16 +164 283 16 +164 284 16 +164 285 16 +164 286 16 +164 287 16 +164 288 16 +164 289 16 +164 290 16 +164 291 16 +164 292 16 +164 293 16 +164 294 16 +164 295 16 +164 296 16 +164 297 16 +164 298 16 +164 299 16 +164 300 16 +164 301 16 +164 302 16 +164 303 16 +164 304 16 +164 305 16 +164 306 16 +164 307 16 +164 308 16 +164 309 16 +164 310 16 +164 311 16 +164 312 16 +164 313 16 +164 314 16 +164 315 16 +164 316 16 +164 317 16 +164 318 16 +164 319 16 +164 320 16 +164 321 16 +164 322 16 +164 323 16 +164 324 16 +164 325 16 +164 326 16 +164 327 16 +164 328 16 +164 329 16 +164 330 16 +164 331 16 +164 332 16 +164 333 16 +164 334 16 +164 335 16 +164 336 16 +164 337 16 +164 338 16 +164 339 16 +164 340 16 +164 341 16 +164 342 16 +164 343 16 +164 344 16 +164 345 16 +164 346 16 +164 347 16 +164 348 16 +164 349 16 +164 350 0 +164 351 0 +164 352 0 +164 353 0 +164 354 0 +164 355 0 +164 356 0 +164 357 0 +164 358 0 +164 359 0 +164 360 0 +164 361 0 +164 362 0 +164 363 0 +164 364 0 +164 365 0 +164 366 0 +164 367 0 +164 368 0 +164 369 0 +164 370 0 +164 371 0 +164 372 0 +164 373 0 +164 374 0 +164 375 0 +164 376 0 +164 377 0 +164 378 0 +164 379 0 +164 380 0 +164 381 0 +164 382 0 +164 383 0 +165 166 16 +165 167 16 +165 168 16 +165 169 16 +165 170 16 +165 171 16 +165 172 16 +165 173 16 +165 174 16 +165 175 16 +165 176 16 +165 177 16 +165 178 16 +165 179 16 +165 180 16 +165 181 16 +165 182 16 +165 183 16 +165 184 16 +165 185 16 +165 186 16 +165 187 16 +165 188 16 +165 189 16 +165 190 16 +165 191 16 +165 192 16 +165 193 16 +165 194 16 +165 195 16 +165 196 16 +165 197 16 +165 198 16 +165 199 16 +165 200 16 +165 201 16 +165 202 16 +165 203 16 +165 204 16 +165 205 16 +165 206 16 +165 207 16 +165 208 16 +165 209 16 +165 210 16 +165 211 16 +165 212 16 +165 213 16 +165 214 16 +165 215 16 +165 216 16 +165 217 16 +165 218 16 +165 219 16 +165 220 16 +165 221 16 +165 222 16 +165 223 16 +165 224 16 +165 225 16 +165 226 16 +165 227 16 +165 228 16 +165 229 16 +165 230 16 +165 231 16 +165 232 16 +165 233 16 +165 234 16 +165 235 16 +165 236 16 +165 237 16 +165 238 16 +165 239 16 +165 240 16 +165 241 16 +165 242 16 +165 243 16 +165 244 16 +165 245 16 +165 246 16 +165 247 16 +165 248 16 +165 249 16 +165 250 16 +165 251 16 +165 252 16 +165 253 16 +165 254 16 +165 255 16 +165 256 16 +165 257 16 +165 258 16 +165 259 16 +165 260 16 +165 261 16 +165 262 16 +165 263 16 +165 264 16 +165 265 16 +165 266 16 +165 267 16 +165 268 16 +165 269 16 +165 270 16 +165 271 16 +165 272 16 +165 273 16 +165 274 16 +165 275 16 +165 276 16 +165 277 16 +165 278 16 +165 279 16 +165 280 16 +165 281 16 +165 282 16 +165 283 16 +165 284 16 +165 285 16 +165 286 16 +165 287 16 +165 288 16 +165 289 16 +165 290 16 +165 291 16 +165 292 16 +165 293 16 +165 294 16 +165 295 16 +165 296 16 +165 297 16 +165 298 16 +165 299 16 +165 300 16 +165 301 16 +165 302 16 +165 303 16 +165 304 16 +165 305 16 +165 306 16 +165 307 16 +165 308 16 +165 309 16 +165 310 16 +165 311 16 +165 312 16 +165 313 16 +165 314 16 +165 315 16 +165 316 16 +165 317 16 +165 318 16 +165 319 16 +165 320 16 +165 321 16 +165 322 16 +165 323 16 +165 324 16 +165 325 16 +165 326 16 +165 327 16 +165 328 16 +165 329 16 +165 330 16 +165 331 16 +165 332 16 +165 333 16 +165 334 16 +165 335 16 +165 336 16 +165 337 16 +165 338 16 +165 339 16 +165 340 16 +165 341 16 +165 342 16 +165 343 16 +165 344 16 +165 345 16 +165 346 16 +165 347 16 +165 348 16 +165 349 16 +165 350 0 +165 351 0 +165 352 0 +165 353 0 +165 354 0 +165 355 0 +165 356 0 +165 357 0 +165 358 0 +165 359 0 +165 360 0 +165 361 0 +165 362 0 +165 363 0 +165 364 0 +165 365 0 +165 366 0 +165 367 0 +165 368 0 +165 369 0 +165 370 0 +165 371 0 +165 372 0 +165 373 0 +165 374 0 +165 375 0 +165 376 0 +165 377 0 +165 378 0 +165 379 0 +165 380 0 +165 381 0 +165 382 0 +165 383 0 +166 167 16 +166 168 16 +166 169 16 +166 170 16 +166 171 16 +166 172 16 +166 173 16 +166 174 16 +166 175 16 +166 176 16 +166 177 16 +166 178 16 +166 179 16 +166 180 16 +166 181 16 +166 182 16 +166 183 16 +166 184 16 +166 185 16 +166 186 16 +166 187 16 +166 188 16 +166 189 16 +166 190 16 +166 191 16 +166 192 16 +166 193 16 +166 194 16 +166 195 16 +166 196 16 +166 197 16 +166 198 16 +166 199 16 +166 200 16 +166 201 16 +166 202 16 +166 203 16 +166 204 16 +166 205 16 +166 206 16 +166 207 16 +166 208 16 +166 209 16 +166 210 16 +166 211 16 +166 212 16 +166 213 16 +166 214 16 +166 215 16 +166 216 16 +166 217 16 +166 218 16 +166 219 16 +166 220 16 +166 221 16 +166 222 16 +166 223 16 +166 224 16 +166 225 16 +166 226 16 +166 227 16 +166 228 16 +166 229 16 +166 230 16 +166 231 16 +166 232 16 +166 233 16 +166 234 16 +166 235 16 +166 236 16 +166 237 16 +166 238 16 +166 239 16 +166 240 16 +166 241 16 +166 242 16 +166 243 16 +166 244 16 +166 245 16 +166 246 16 +166 247 16 +166 248 16 +166 249 16 +166 250 16 +166 251 16 +166 252 16 +166 253 16 +166 254 16 +166 255 16 +166 256 16 +166 257 16 +166 258 16 +166 259 16 +166 260 16 +166 261 16 +166 262 16 +166 263 16 +166 264 16 +166 265 16 +166 266 16 +166 267 16 +166 268 16 +166 269 16 +166 270 16 +166 271 16 +166 272 16 +166 273 16 +166 274 16 +166 275 16 +166 276 16 +166 277 16 +166 278 16 +166 279 16 +166 280 16 +166 281 16 +166 282 16 +166 283 16 +166 284 16 +166 285 16 +166 286 16 +166 287 16 +166 288 16 +166 289 16 +166 290 16 +166 291 16 +166 292 16 +166 293 16 +166 294 16 +166 295 16 +166 296 16 +166 297 16 +166 298 16 +166 299 16 +166 300 16 +166 301 16 +166 302 16 +166 303 16 +166 304 16 +166 305 16 +166 306 16 +166 307 16 +166 308 16 +166 309 16 +166 310 16 +166 311 16 +166 312 16 +166 313 16 +166 314 16 +166 315 16 +166 316 16 +166 317 16 +166 318 16 +166 319 16 +166 320 16 +166 321 16 +166 322 16 +166 323 16 +166 324 16 +166 325 16 +166 326 16 +166 327 16 +166 328 16 +166 329 16 +166 330 16 +166 331 16 +166 332 16 +166 333 16 +166 334 16 +166 335 16 +166 336 16 +166 337 16 +166 338 16 +166 339 16 +166 340 16 +166 341 16 +166 342 16 +166 343 16 +166 344 16 +166 345 16 +166 346 16 +166 347 16 +166 348 16 +166 349 16 +166 350 0 +166 351 0 +166 352 0 +166 353 0 +166 354 0 +166 355 0 +166 356 0 +166 357 0 +166 358 0 +166 359 0 +166 360 0 +166 361 0 +166 362 0 +166 363 0 +166 364 0 +166 365 0 +166 366 0 +166 367 0 +166 368 0 +166 369 0 +166 370 0 +166 371 0 +166 372 0 +166 373 0 +166 374 0 +166 375 0 +166 376 0 +166 377 0 +166 378 0 +166 379 0 +166 380 0 +166 381 0 +166 382 0 +166 383 0 +167 168 16 +167 169 16 +167 170 16 +167 171 16 +167 172 16 +167 173 16 +167 174 16 +167 175 16 +167 176 16 +167 177 16 +167 178 16 +167 179 16 +167 180 16 +167 181 16 +167 182 16 +167 183 16 +167 184 16 +167 185 16 +167 186 16 +167 187 16 +167 188 16 +167 189 16 +167 190 16 +167 191 16 +167 192 16 +167 193 16 +167 194 16 +167 195 16 +167 196 16 +167 197 16 +167 198 16 +167 199 16 +167 200 16 +167 201 16 +167 202 16 +167 203 16 +167 204 16 +167 205 16 +167 206 16 +167 207 16 +167 208 16 +167 209 16 +167 210 16 +167 211 16 +167 212 16 +167 213 16 +167 214 16 +167 215 16 +167 216 16 +167 217 16 +167 218 16 +167 219 16 +167 220 16 +167 221 16 +167 222 16 +167 223 16 +167 224 16 +167 225 16 +167 226 16 +167 227 16 +167 228 16 +167 229 16 +167 230 16 +167 231 16 +167 232 16 +167 233 16 +167 234 16 +167 235 16 +167 236 16 +167 237 16 +167 238 16 +167 239 16 +167 240 16 +167 241 16 +167 242 16 +167 243 16 +167 244 16 +167 245 16 +167 246 16 +167 247 16 +167 248 16 +167 249 16 +167 250 16 +167 251 16 +167 252 16 +167 253 16 +167 254 16 +167 255 16 +167 256 16 +167 257 16 +167 258 16 +167 259 16 +167 260 16 +167 261 16 +167 262 16 +167 263 16 +167 264 16 +167 265 16 +167 266 16 +167 267 16 +167 268 16 +167 269 16 +167 270 16 +167 271 16 +167 272 16 +167 273 16 +167 274 16 +167 275 16 +167 276 16 +167 277 16 +167 278 16 +167 279 16 +167 280 16 +167 281 16 +167 282 16 +167 283 16 +167 284 16 +167 285 16 +167 286 16 +167 287 16 +167 288 16 +167 289 16 +167 290 16 +167 291 16 +167 292 16 +167 293 16 +167 294 16 +167 295 16 +167 296 16 +167 297 16 +167 298 16 +167 299 16 +167 300 16 +167 301 16 +167 302 16 +167 303 16 +167 304 16 +167 305 16 +167 306 16 +167 307 16 +167 308 16 +167 309 16 +167 310 16 +167 311 16 +167 312 16 +167 313 16 +167 314 16 +167 315 16 +167 316 16 +167 317 16 +167 318 16 +167 319 16 +167 320 16 +167 321 16 +167 322 16 +167 323 16 +167 324 16 +167 325 16 +167 326 16 +167 327 16 +167 328 16 +167 329 16 +167 330 16 +167 331 16 +167 332 16 +167 333 16 +167 334 16 +167 335 16 +167 336 16 +167 337 16 +167 338 16 +167 339 16 +167 340 16 +167 341 16 +167 342 16 +167 343 16 +167 344 16 +167 345 16 +167 346 16 +167 347 16 +167 348 16 +167 349 16 +167 350 0 +167 351 0 +167 352 0 +167 353 0 +167 354 0 +167 355 0 +167 356 0 +167 357 0 +167 358 0 +167 359 0 +167 360 0 +167 361 0 +167 362 0 +167 363 0 +167 364 0 +167 365 0 +167 366 0 +167 367 0 +167 368 0 +167 369 0 +167 370 0 +167 371 0 +167 372 0 +167 373 0 +167 374 0 +167 375 0 +167 376 0 +167 377 0 +167 378 0 +167 379 0 +167 380 0 +167 381 0 +167 382 0 +167 383 0 +168 169 16 +168 170 16 +168 171 16 +168 172 16 +168 173 16 +168 174 16 +168 175 16 +168 176 16 +168 177 16 +168 178 16 +168 179 16 +168 180 16 +168 181 16 +168 182 16 +168 183 16 +168 184 16 +168 185 16 +168 186 16 +168 187 16 +168 188 16 +168 189 16 +168 190 16 +168 191 16 +168 192 16 +168 193 16 +168 194 16 +168 195 16 +168 196 16 +168 197 16 +168 198 16 +168 199 16 +168 200 16 +168 201 16 +168 202 16 +168 203 16 +168 204 16 +168 205 16 +168 206 16 +168 207 16 +168 208 16 +168 209 16 +168 210 16 +168 211 16 +168 212 16 +168 213 16 +168 214 16 +168 215 16 +168 216 16 +168 217 16 +168 218 16 +168 219 16 +168 220 16 +168 221 16 +168 222 16 +168 223 16 +168 224 16 +168 225 16 +168 226 16 +168 227 16 +168 228 16 +168 229 16 +168 230 16 +168 231 16 +168 232 16 +168 233 16 +168 234 16 +168 235 16 +168 236 16 +168 237 16 +168 238 16 +168 239 16 +168 240 16 +168 241 16 +168 242 16 +168 243 16 +168 244 16 +168 245 16 +168 246 16 +168 247 16 +168 248 16 +168 249 16 +168 250 16 +168 251 16 +168 252 16 +168 253 16 +168 254 16 +168 255 16 +168 256 16 +168 257 16 +168 258 16 +168 259 16 +168 260 16 +168 261 16 +168 262 16 +168 263 16 +168 264 16 +168 265 16 +168 266 16 +168 267 16 +168 268 16 +168 269 16 +168 270 16 +168 271 16 +168 272 16 +168 273 16 +168 274 16 +168 275 16 +168 276 16 +168 277 16 +168 278 16 +168 279 16 +168 280 16 +168 281 16 +168 282 16 +168 283 16 +168 284 16 +168 285 16 +168 286 16 +168 287 16 +168 288 16 +168 289 16 +168 290 16 +168 291 16 +168 292 16 +168 293 16 +168 294 16 +168 295 16 +168 296 16 +168 297 16 +168 298 16 +168 299 16 +168 300 16 +168 301 16 +168 302 16 +168 303 16 +168 304 16 +168 305 16 +168 306 16 +168 307 16 +168 308 16 +168 309 16 +168 310 16 +168 311 16 +168 312 16 +168 313 16 +168 314 16 +168 315 16 +168 316 16 +168 317 16 +168 318 16 +168 319 16 +168 320 16 +168 321 16 +168 322 16 +168 323 16 +168 324 16 +168 325 16 +168 326 16 +168 327 16 +168 328 16 +168 329 16 +168 330 16 +168 331 16 +168 332 16 +168 333 16 +168 334 16 +168 335 16 +168 336 16 +168 337 16 +168 338 16 +168 339 16 +168 340 16 +168 341 16 +168 342 16 +168 343 16 +168 344 16 +168 345 16 +168 346 16 +168 347 16 +168 348 16 +168 349 16 +168 350 0 +168 351 0 +168 352 0 +168 353 0 +168 354 0 +168 355 0 +168 356 0 +168 357 0 +168 358 0 +168 359 0 +168 360 0 +168 361 0 +168 362 0 +168 363 0 +168 364 0 +168 365 0 +168 366 0 +168 367 0 +168 368 0 +168 369 0 +168 370 0 +168 371 0 +168 372 0 +168 373 0 +168 374 0 +168 375 0 +168 376 0 +168 377 0 +168 378 0 +168 379 0 +168 380 0 +168 381 0 +168 382 0 +168 383 0 +169 170 16 +169 171 16 +169 172 16 +169 173 16 +169 174 16 +169 175 16 +169 176 16 +169 177 16 +169 178 16 +169 179 16 +169 180 16 +169 181 16 +169 182 16 +169 183 16 +169 184 16 +169 185 16 +169 186 16 +169 187 16 +169 188 16 +169 189 16 +169 190 16 +169 191 16 +169 192 16 +169 193 16 +169 194 16 +169 195 16 +169 196 16 +169 197 16 +169 198 16 +169 199 16 +169 200 16 +169 201 16 +169 202 16 +169 203 16 +169 204 16 +169 205 16 +169 206 16 +169 207 16 +169 208 16 +169 209 16 +169 210 16 +169 211 16 +169 212 16 +169 213 16 +169 214 16 +169 215 16 +169 216 16 +169 217 16 +169 218 16 +169 219 16 +169 220 16 +169 221 16 +169 222 16 +169 223 16 +169 224 16 +169 225 16 +169 226 16 +169 227 16 +169 228 16 +169 229 16 +169 230 16 +169 231 16 +169 232 16 +169 233 16 +169 234 16 +169 235 16 +169 236 16 +169 237 16 +169 238 16 +169 239 16 +169 240 16 +169 241 16 +169 242 16 +169 243 16 +169 244 16 +169 245 16 +169 246 16 +169 247 16 +169 248 16 +169 249 16 +169 250 16 +169 251 16 +169 252 16 +169 253 16 +169 254 16 +169 255 16 +169 256 16 +169 257 16 +169 258 16 +169 259 16 +169 260 16 +169 261 16 +169 262 16 +169 263 16 +169 264 16 +169 265 16 +169 266 16 +169 267 16 +169 268 16 +169 269 16 +169 270 16 +169 271 16 +169 272 16 +169 273 16 +169 274 16 +169 275 16 +169 276 16 +169 277 16 +169 278 16 +169 279 16 +169 280 16 +169 281 16 +169 282 16 +169 283 16 +169 284 16 +169 285 16 +169 286 16 +169 287 16 +169 288 16 +169 289 16 +169 290 16 +169 291 16 +169 292 16 +169 293 16 +169 294 16 +169 295 16 +169 296 16 +169 297 16 +169 298 16 +169 299 16 +169 300 16 +169 301 16 +169 302 16 +169 303 16 +169 304 16 +169 305 16 +169 306 16 +169 307 16 +169 308 16 +169 309 16 +169 310 16 +169 311 16 +169 312 16 +169 313 16 +169 314 16 +169 315 16 +169 316 16 +169 317 16 +169 318 16 +169 319 16 +169 320 16 +169 321 16 +169 322 16 +169 323 16 +169 324 16 +169 325 16 +169 326 16 +169 327 16 +169 328 16 +169 329 16 +169 330 16 +169 331 16 +169 332 16 +169 333 16 +169 334 16 +169 335 16 +169 336 16 +169 337 16 +169 338 16 +169 339 16 +169 340 16 +169 341 16 +169 342 16 +169 343 16 +169 344 16 +169 345 16 +169 346 16 +169 347 16 +169 348 16 +169 349 16 +169 350 0 +169 351 0 +169 352 0 +169 353 0 +169 354 0 +169 355 0 +169 356 0 +169 357 0 +169 358 0 +169 359 0 +169 360 0 +169 361 0 +169 362 0 +169 363 0 +169 364 0 +169 365 0 +169 366 0 +169 367 0 +169 368 0 +169 369 0 +169 370 0 +169 371 0 +169 372 0 +169 373 0 +169 374 0 +169 375 0 +169 376 0 +169 377 0 +169 378 0 +169 379 0 +169 380 0 +169 381 0 +169 382 0 +169 383 0 +170 171 16 +170 172 16 +170 173 16 +170 174 16 +170 175 16 +170 176 16 +170 177 16 +170 178 16 +170 179 16 +170 180 16 +170 181 16 +170 182 16 +170 183 16 +170 184 16 +170 185 16 +170 186 16 +170 187 16 +170 188 16 +170 189 16 +170 190 16 +170 191 16 +170 192 16 +170 193 16 +170 194 16 +170 195 16 +170 196 16 +170 197 16 +170 198 16 +170 199 16 +170 200 16 +170 201 16 +170 202 16 +170 203 16 +170 204 16 +170 205 16 +170 206 16 +170 207 16 +170 208 16 +170 209 16 +170 210 16 +170 211 16 +170 212 16 +170 213 16 +170 214 16 +170 215 16 +170 216 16 +170 217 16 +170 218 16 +170 219 16 +170 220 16 +170 221 16 +170 222 16 +170 223 16 +170 224 16 +170 225 16 +170 226 16 +170 227 16 +170 228 16 +170 229 16 +170 230 16 +170 231 16 +170 232 16 +170 233 16 +170 234 16 +170 235 16 +170 236 16 +170 237 16 +170 238 16 +170 239 16 +170 240 16 +170 241 16 +170 242 16 +170 243 16 +170 244 16 +170 245 16 +170 246 16 +170 247 16 +170 248 16 +170 249 16 +170 250 16 +170 251 16 +170 252 16 +170 253 16 +170 254 16 +170 255 16 +170 256 16 +170 257 16 +170 258 16 +170 259 16 +170 260 16 +170 261 16 +170 262 16 +170 263 16 +170 264 16 +170 265 16 +170 266 16 +170 267 16 +170 268 16 +170 269 16 +170 270 16 +170 271 16 +170 272 16 +170 273 16 +170 274 16 +170 275 16 +170 276 16 +170 277 16 +170 278 16 +170 279 16 +170 280 16 +170 281 16 +170 282 16 +170 283 16 +170 284 16 +170 285 16 +170 286 16 +170 287 16 +170 288 16 +170 289 16 +170 290 16 +170 291 16 +170 292 16 +170 293 16 +170 294 16 +170 295 16 +170 296 16 +170 297 16 +170 298 16 +170 299 16 +170 300 16 +170 301 16 +170 302 16 +170 303 16 +170 304 16 +170 305 16 +170 306 16 +170 307 16 +170 308 16 +170 309 16 +170 310 16 +170 311 16 +170 312 16 +170 313 16 +170 314 16 +170 315 16 +170 316 16 +170 317 16 +170 318 16 +170 319 16 +170 320 16 +170 321 16 +170 322 16 +170 323 16 +170 324 16 +170 325 16 +170 326 16 +170 327 16 +170 328 16 +170 329 16 +170 330 16 +170 331 16 +170 332 16 +170 333 16 +170 334 16 +170 335 16 +170 336 16 +170 337 16 +170 338 16 +170 339 16 +170 340 16 +170 341 16 +170 342 16 +170 343 16 +170 344 16 +170 345 16 +170 346 16 +170 347 16 +170 348 16 +170 349 16 +170 350 0 +170 351 0 +170 352 0 +170 353 0 +170 354 0 +170 355 0 +170 356 0 +170 357 0 +170 358 0 +170 359 0 +170 360 0 +170 361 0 +170 362 0 +170 363 0 +170 364 0 +170 365 0 +170 366 0 +170 367 0 +170 368 0 +170 369 0 +170 370 0 +170 371 0 +170 372 0 +170 373 0 +170 374 0 +170 375 0 +170 376 0 +170 377 0 +170 378 0 +170 379 0 +170 380 0 +170 381 0 +170 382 0 +170 383 0 +171 172 16 +171 173 16 +171 174 16 +171 175 16 +171 176 16 +171 177 16 +171 178 16 +171 179 16 +171 180 16 +171 181 16 +171 182 16 +171 183 16 +171 184 16 +171 185 16 +171 186 16 +171 187 16 +171 188 16 +171 189 16 +171 190 16 +171 191 16 +171 192 16 +171 193 16 +171 194 16 +171 195 16 +171 196 16 +171 197 16 +171 198 16 +171 199 16 +171 200 16 +171 201 16 +171 202 16 +171 203 16 +171 204 16 +171 205 16 +171 206 16 +171 207 16 +171 208 16 +171 209 16 +171 210 16 +171 211 16 +171 212 16 +171 213 16 +171 214 16 +171 215 16 +171 216 16 +171 217 16 +171 218 16 +171 219 16 +171 220 16 +171 221 16 +171 222 16 +171 223 16 +171 224 16 +171 225 16 +171 226 16 +171 227 16 +171 228 16 +171 229 16 +171 230 16 +171 231 16 +171 232 16 +171 233 16 +171 234 16 +171 235 16 +171 236 16 +171 237 16 +171 238 16 +171 239 16 +171 240 16 +171 241 16 +171 242 16 +171 243 16 +171 244 16 +171 245 16 +171 246 16 +171 247 16 +171 248 16 +171 249 16 +171 250 16 +171 251 16 +171 252 16 +171 253 16 +171 254 16 +171 255 16 +171 256 16 +171 257 16 +171 258 16 +171 259 16 +171 260 16 +171 261 16 +171 262 16 +171 263 16 +171 264 16 +171 265 16 +171 266 16 +171 267 16 +171 268 16 +171 269 16 +171 270 16 +171 271 16 +171 272 16 +171 273 16 +171 274 16 +171 275 16 +171 276 16 +171 277 16 +171 278 16 +171 279 16 +171 280 16 +171 281 16 +171 282 16 +171 283 16 +171 284 16 +171 285 16 +171 286 16 +171 287 16 +171 288 16 +171 289 16 +171 290 16 +171 291 16 +171 292 16 +171 293 16 +171 294 16 +171 295 16 +171 296 16 +171 297 16 +171 298 16 +171 299 16 +171 300 16 +171 301 16 +171 302 16 +171 303 16 +171 304 16 +171 305 16 +171 306 16 +171 307 16 +171 308 16 +171 309 16 +171 310 16 +171 311 16 +171 312 16 +171 313 16 +171 314 16 +171 315 16 +171 316 16 +171 317 16 +171 318 16 +171 319 16 +171 320 16 +171 321 16 +171 322 16 +171 323 16 +171 324 16 +171 325 16 +171 326 16 +171 327 16 +171 328 16 +171 329 16 +171 330 16 +171 331 16 +171 332 16 +171 333 16 +171 334 16 +171 335 16 +171 336 16 +171 337 16 +171 338 16 +171 339 16 +171 340 16 +171 341 16 +171 342 16 +171 343 16 +171 344 16 +171 345 16 +171 346 16 +171 347 16 +171 348 16 +171 349 16 +171 350 0 +171 351 0 +171 352 0 +171 353 0 +171 354 0 +171 355 0 +171 356 0 +171 357 0 +171 358 0 +171 359 0 +171 360 0 +171 361 0 +171 362 0 +171 363 0 +171 364 0 +171 365 0 +171 366 0 +171 367 0 +171 368 0 +171 369 0 +171 370 0 +171 371 0 +171 372 0 +171 373 0 +171 374 0 +171 375 0 +171 376 0 +171 377 0 +171 378 0 +171 379 0 +171 380 0 +171 381 0 +171 382 0 +171 383 0 +172 173 16 +172 174 16 +172 175 16 +172 176 16 +172 177 16 +172 178 16 +172 179 16 +172 180 16 +172 181 16 +172 182 16 +172 183 16 +172 184 16 +172 185 16 +172 186 16 +172 187 16 +172 188 16 +172 189 16 +172 190 16 +172 191 16 +172 192 16 +172 193 16 +172 194 16 +172 195 16 +172 196 16 +172 197 16 +172 198 16 +172 199 16 +172 200 16 +172 201 16 +172 202 16 +172 203 16 +172 204 16 +172 205 16 +172 206 16 +172 207 16 +172 208 16 +172 209 16 +172 210 16 +172 211 16 +172 212 16 +172 213 16 +172 214 16 +172 215 16 +172 216 16 +172 217 16 +172 218 16 +172 219 16 +172 220 16 +172 221 16 +172 222 16 +172 223 16 +172 224 16 +172 225 16 +172 226 16 +172 227 16 +172 228 16 +172 229 16 +172 230 16 +172 231 16 +172 232 16 +172 233 16 +172 234 16 +172 235 16 +172 236 16 +172 237 16 +172 238 16 +172 239 16 +172 240 16 +172 241 16 +172 242 16 +172 243 16 +172 244 16 +172 245 16 +172 246 16 +172 247 16 +172 248 16 +172 249 16 +172 250 16 +172 251 16 +172 252 16 +172 253 16 +172 254 16 +172 255 16 +172 256 16 +172 257 16 +172 258 16 +172 259 16 +172 260 16 +172 261 16 +172 262 16 +172 263 16 +172 264 16 +172 265 16 +172 266 16 +172 267 16 +172 268 16 +172 269 16 +172 270 16 +172 271 16 +172 272 16 +172 273 16 +172 274 16 +172 275 16 +172 276 16 +172 277 16 +172 278 16 +172 279 16 +172 280 16 +172 281 16 +172 282 16 +172 283 16 +172 284 16 +172 285 16 +172 286 16 +172 287 16 +172 288 16 +172 289 16 +172 290 16 +172 291 16 +172 292 16 +172 293 16 +172 294 16 +172 295 16 +172 296 16 +172 297 16 +172 298 16 +172 299 16 +172 300 16 +172 301 16 +172 302 16 +172 303 16 +172 304 16 +172 305 16 +172 306 16 +172 307 16 +172 308 16 +172 309 16 +172 310 16 +172 311 16 +172 312 16 +172 313 16 +172 314 16 +172 315 16 +172 316 16 +172 317 16 +172 318 16 +172 319 16 +172 320 16 +172 321 16 +172 322 16 +172 323 16 +172 324 16 +172 325 16 +172 326 16 +172 327 16 +172 328 16 +172 329 16 +172 330 16 +172 331 16 +172 332 16 +172 333 16 +172 334 16 +172 335 16 +172 336 16 +172 337 16 +172 338 16 +172 339 16 +172 340 16 +172 341 16 +172 342 16 +172 343 16 +172 344 16 +172 345 16 +172 346 16 +172 347 16 +172 348 16 +172 349 16 +172 350 0 +172 351 0 +172 352 0 +172 353 0 +172 354 0 +172 355 0 +172 356 0 +172 357 0 +172 358 0 +172 359 0 +172 360 0 +172 361 0 +172 362 0 +172 363 0 +172 364 0 +172 365 0 +172 366 0 +172 367 0 +172 368 0 +172 369 0 +172 370 0 +172 371 0 +172 372 0 +172 373 0 +172 374 0 +172 375 0 +172 376 0 +172 377 0 +172 378 0 +172 379 0 +172 380 0 +172 381 0 +172 382 0 +172 383 0 +173 174 16 +173 175 16 +173 176 16 +173 177 16 +173 178 16 +173 179 16 +173 180 16 +173 181 16 +173 182 16 +173 183 16 +173 184 16 +173 185 16 +173 186 16 +173 187 16 +173 188 16 +173 189 16 +173 190 16 +173 191 16 +173 192 16 +173 193 16 +173 194 16 +173 195 16 +173 196 16 +173 197 16 +173 198 16 +173 199 16 +173 200 16 +173 201 16 +173 202 16 +173 203 16 +173 204 16 +173 205 16 +173 206 16 +173 207 16 +173 208 16 +173 209 16 +173 210 16 +173 211 16 +173 212 16 +173 213 16 +173 214 16 +173 215 16 +173 216 16 +173 217 16 +173 218 16 +173 219 16 +173 220 16 +173 221 16 +173 222 16 +173 223 16 +173 224 16 +173 225 16 +173 226 16 +173 227 16 +173 228 16 +173 229 16 +173 230 16 +173 231 16 +173 232 16 +173 233 16 +173 234 16 +173 235 16 +173 236 16 +173 237 16 +173 238 16 +173 239 16 +173 240 16 +173 241 16 +173 242 16 +173 243 16 +173 244 16 +173 245 16 +173 246 16 +173 247 16 +173 248 16 +173 249 16 +173 250 16 +173 251 16 +173 252 16 +173 253 16 +173 254 16 +173 255 16 +173 256 16 +173 257 16 +173 258 16 +173 259 16 +173 260 16 +173 261 16 +173 262 16 +173 263 16 +173 264 16 +173 265 16 +173 266 16 +173 267 16 +173 268 16 +173 269 16 +173 270 16 +173 271 16 +173 272 16 +173 273 16 +173 274 16 +173 275 16 +173 276 16 +173 277 16 +173 278 16 +173 279 16 +173 280 16 +173 281 16 +173 282 16 +173 283 16 +173 284 16 +173 285 16 +173 286 16 +173 287 16 +173 288 16 +173 289 16 +173 290 16 +173 291 16 +173 292 16 +173 293 16 +173 294 16 +173 295 16 +173 296 16 +173 297 16 +173 298 16 +173 299 16 +173 300 16 +173 301 16 +173 302 16 +173 303 16 +173 304 16 +173 305 16 +173 306 16 +173 307 16 +173 308 16 +173 309 16 +173 310 16 +173 311 16 +173 312 16 +173 313 16 +173 314 16 +173 315 16 +173 316 16 +173 317 16 +173 318 16 +173 319 16 +173 320 16 +173 321 16 +173 322 16 +173 323 16 +173 324 16 +173 325 16 +173 326 16 +173 327 16 +173 328 16 +173 329 16 +173 330 16 +173 331 16 +173 332 16 +173 333 16 +173 334 16 +173 335 16 +173 336 16 +173 337 16 +173 338 16 +173 339 16 +173 340 16 +173 341 16 +173 342 16 +173 343 16 +173 344 16 +173 345 16 +173 346 16 +173 347 16 +173 348 16 +173 349 16 +173 350 0 +173 351 0 +173 352 0 +173 353 0 +173 354 0 +173 355 0 +173 356 0 +173 357 0 +173 358 0 +173 359 0 +173 360 0 +173 361 0 +173 362 0 +173 363 0 +173 364 0 +173 365 0 +173 366 0 +173 367 0 +173 368 0 +173 369 0 +173 370 0 +173 371 0 +173 372 0 +173 373 0 +173 374 0 +173 375 0 +173 376 0 +173 377 0 +173 378 0 +173 379 0 +173 380 0 +173 381 0 +173 382 0 +173 383 0 +174 175 16 +174 176 16 +174 177 16 +174 178 16 +174 179 16 +174 180 16 +174 181 16 +174 182 16 +174 183 16 +174 184 16 +174 185 16 +174 186 16 +174 187 16 +174 188 16 +174 189 16 +174 190 16 +174 191 16 +174 192 16 +174 193 16 +174 194 16 +174 195 16 +174 196 16 +174 197 16 +174 198 16 +174 199 16 +174 200 16 +174 201 16 +174 202 16 +174 203 16 +174 204 16 +174 205 16 +174 206 16 +174 207 16 +174 208 16 +174 209 16 +174 210 16 +174 211 16 +174 212 16 +174 213 16 +174 214 16 +174 215 16 +174 216 16 +174 217 16 +174 218 16 +174 219 16 +174 220 16 +174 221 16 +174 222 16 +174 223 16 +174 224 16 +174 225 16 +174 226 16 +174 227 16 +174 228 16 +174 229 16 +174 230 16 +174 231 16 +174 232 16 +174 233 16 +174 234 16 +174 235 16 +174 236 16 +174 237 16 +174 238 16 +174 239 16 +174 240 16 +174 241 16 +174 242 16 +174 243 16 +174 244 16 +174 245 16 +174 246 16 +174 247 16 +174 248 16 +174 249 16 +174 250 16 +174 251 16 +174 252 16 +174 253 16 +174 254 16 +174 255 16 +174 256 16 +174 257 16 +174 258 16 +174 259 16 +174 260 16 +174 261 16 +174 262 16 +174 263 16 +174 264 16 +174 265 16 +174 266 16 +174 267 16 +174 268 16 +174 269 16 +174 270 16 +174 271 16 +174 272 16 +174 273 16 +174 274 16 +174 275 16 +174 276 16 +174 277 16 +174 278 16 +174 279 16 +174 280 16 +174 281 16 +174 282 16 +174 283 16 +174 284 16 +174 285 16 +174 286 16 +174 287 16 +174 288 16 +174 289 16 +174 290 16 +174 291 16 +174 292 16 +174 293 16 +174 294 16 +174 295 16 +174 296 16 +174 297 16 +174 298 16 +174 299 16 +174 300 16 +174 301 16 +174 302 16 +174 303 16 +174 304 16 +174 305 16 +174 306 16 +174 307 16 +174 308 16 +174 309 16 +174 310 16 +174 311 16 +174 312 16 +174 313 16 +174 314 16 +174 315 16 +174 316 16 +174 317 16 +174 318 16 +174 319 16 +174 320 16 +174 321 16 +174 322 16 +174 323 16 +174 324 16 +174 325 16 +174 326 16 +174 327 16 +174 328 16 +174 329 16 +174 330 16 +174 331 16 +174 332 16 +174 333 16 +174 334 16 +174 335 16 +174 336 16 +174 337 16 +174 338 16 +174 339 16 +174 340 16 +174 341 16 +174 342 16 +174 343 16 +174 344 16 +174 345 16 +174 346 16 +174 347 16 +174 348 16 +174 349 16 +174 350 0 +174 351 0 +174 352 0 +174 353 0 +174 354 0 +174 355 0 +174 356 0 +174 357 0 +174 358 0 +174 359 0 +174 360 0 +174 361 0 +174 362 0 +174 363 0 +174 364 0 +174 365 0 +174 366 0 +174 367 0 +174 368 0 +174 369 0 +174 370 0 +174 371 0 +174 372 0 +174 373 0 +174 374 0 +174 375 0 +174 376 0 +174 377 0 +174 378 0 +174 379 0 +174 380 0 +174 381 0 +174 382 0 +174 383 0 +175 176 16 +175 177 16 +175 178 16 +175 179 16 +175 180 16 +175 181 16 +175 182 16 +175 183 16 +175 184 16 +175 185 16 +175 186 16 +175 187 16 +175 188 16 +175 189 16 +175 190 16 +175 191 16 +175 192 16 +175 193 16 +175 194 16 +175 195 16 +175 196 16 +175 197 16 +175 198 16 +175 199 16 +175 200 16 +175 201 16 +175 202 16 +175 203 16 +175 204 16 +175 205 16 +175 206 16 +175 207 16 +175 208 16 +175 209 16 +175 210 16 +175 211 16 +175 212 16 +175 213 16 +175 214 16 +175 215 16 +175 216 16 +175 217 16 +175 218 16 +175 219 16 +175 220 16 +175 221 16 +175 222 16 +175 223 16 +175 224 16 +175 225 16 +175 226 16 +175 227 16 +175 228 16 +175 229 16 +175 230 16 +175 231 16 +175 232 16 +175 233 16 +175 234 16 +175 235 16 +175 236 16 +175 237 16 +175 238 16 +175 239 16 +175 240 16 +175 241 16 +175 242 16 +175 243 16 +175 244 16 +175 245 16 +175 246 16 +175 247 16 +175 248 16 +175 249 16 +175 250 16 +175 251 16 +175 252 16 +175 253 16 +175 254 16 +175 255 16 +175 256 16 +175 257 16 +175 258 16 +175 259 16 +175 260 16 +175 261 16 +175 262 16 +175 263 16 +175 264 16 +175 265 16 +175 266 16 +175 267 16 +175 268 16 +175 269 16 +175 270 16 +175 271 16 +175 272 16 +175 273 16 +175 274 16 +175 275 16 +175 276 16 +175 277 16 +175 278 16 +175 279 16 +175 280 16 +175 281 16 +175 282 16 +175 283 16 +175 284 16 +175 285 16 +175 286 16 +175 287 16 +175 288 16 +175 289 16 +175 290 16 +175 291 16 +175 292 16 +175 293 16 +175 294 16 +175 295 16 +175 296 16 +175 297 16 +175 298 16 +175 299 16 +175 300 16 +175 301 16 +175 302 16 +175 303 16 +175 304 16 +175 305 16 +175 306 16 +175 307 16 +175 308 16 +175 309 16 +175 310 16 +175 311 16 +175 312 16 +175 313 16 +175 314 16 +175 315 16 +175 316 16 +175 317 16 +175 318 16 +175 319 16 +175 320 16 +175 321 16 +175 322 16 +175 323 16 +175 324 16 +175 325 16 +175 326 16 +175 327 16 +175 328 16 +175 329 16 +175 330 16 +175 331 16 +175 332 16 +175 333 16 +175 334 16 +175 335 16 +175 336 16 +175 337 16 +175 338 16 +175 339 16 +175 340 16 +175 341 16 +175 342 16 +175 343 16 +175 344 16 +175 345 16 +175 346 16 +175 347 16 +175 348 16 +175 349 16 +175 350 0 +175 351 0 +175 352 0 +175 353 0 +175 354 0 +175 355 0 +175 356 0 +175 357 0 +175 358 0 +175 359 0 +175 360 0 +175 361 0 +175 362 0 +175 363 0 +175 364 0 +175 365 0 +175 366 0 +175 367 0 +175 368 0 +175 369 0 +175 370 0 +175 371 0 +175 372 0 +175 373 0 +175 374 0 +175 375 0 +175 376 0 +175 377 0 +175 378 0 +175 379 0 +175 380 0 +175 381 0 +175 382 0 +175 383 0 +176 177 16 +176 178 16 +176 179 16 +176 180 16 +176 181 16 +176 182 16 +176 183 16 +176 184 16 +176 185 16 +176 186 16 +176 187 16 +176 188 16 +176 189 16 +176 190 16 +176 191 16 +176 192 16 +176 193 16 +176 194 16 +176 195 16 +176 196 16 +176 197 16 +176 198 16 +176 199 16 +176 200 16 +176 201 16 +176 202 16 +176 203 16 +176 204 16 +176 205 16 +176 206 16 +176 207 16 +176 208 16 +176 209 16 +176 210 16 +176 211 16 +176 212 16 +176 213 16 +176 214 16 +176 215 16 +176 216 16 +176 217 16 +176 218 16 +176 219 16 +176 220 16 +176 221 16 +176 222 16 +176 223 16 +176 224 16 +176 225 16 +176 226 16 +176 227 16 +176 228 16 +176 229 16 +176 230 16 +176 231 16 +176 232 16 +176 233 16 +176 234 16 +176 235 16 +176 236 16 +176 237 16 +176 238 16 +176 239 16 +176 240 16 +176 241 16 +176 242 16 +176 243 16 +176 244 16 +176 245 16 +176 246 16 +176 247 16 +176 248 16 +176 249 16 +176 250 16 +176 251 16 +176 252 16 +176 253 16 +176 254 16 +176 255 16 +176 256 16 +176 257 16 +176 258 16 +176 259 16 +176 260 16 +176 261 16 +176 262 16 +176 263 16 +176 264 16 +176 265 16 +176 266 16 +176 267 16 +176 268 16 +176 269 16 +176 270 16 +176 271 16 +176 272 16 +176 273 16 +176 274 16 +176 275 16 +176 276 16 +176 277 16 +176 278 16 +176 279 16 +176 280 16 +176 281 16 +176 282 16 +176 283 16 +176 284 16 +176 285 16 +176 286 16 +176 287 16 +176 288 16 +176 289 16 +176 290 16 +176 291 16 +176 292 16 +176 293 16 +176 294 16 +176 295 16 +176 296 16 +176 297 16 +176 298 16 +176 299 16 +176 300 16 +176 301 16 +176 302 16 +176 303 16 +176 304 16 +176 305 16 +176 306 16 +176 307 16 +176 308 16 +176 309 16 +176 310 16 +176 311 16 +176 312 16 +176 313 16 +176 314 16 +176 315 16 +176 316 16 +176 317 16 +176 318 16 +176 319 16 +176 320 16 +176 321 16 +176 322 16 +176 323 16 +176 324 16 +176 325 16 +176 326 16 +176 327 16 +176 328 16 +176 329 16 +176 330 16 +176 331 16 +176 332 16 +176 333 16 +176 334 16 +176 335 16 +176 336 16 +176 337 16 +176 338 16 +176 339 16 +176 340 16 +176 341 16 +176 342 16 +176 343 16 +176 344 16 +176 345 16 +176 346 16 +176 347 16 +176 348 16 +176 349 16 +176 350 0 +176 351 0 +176 352 0 +176 353 0 +176 354 0 +176 355 0 +176 356 0 +176 357 0 +176 358 0 +176 359 0 +176 360 0 +176 361 0 +176 362 0 +176 363 0 +176 364 0 +176 365 0 +176 366 0 +176 367 0 +176 368 0 +176 369 0 +176 370 0 +176 371 0 +176 372 0 +176 373 0 +176 374 0 +176 375 0 +176 376 0 +176 377 0 +176 378 0 +176 379 0 +176 380 0 +176 381 0 +176 382 0 +176 383 0 +177 178 16 +177 179 16 +177 180 16 +177 181 16 +177 182 16 +177 183 16 +177 184 16 +177 185 16 +177 186 16 +177 187 16 +177 188 16 +177 189 16 +177 190 16 +177 191 16 +177 192 16 +177 193 16 +177 194 16 +177 195 16 +177 196 16 +177 197 16 +177 198 16 +177 199 16 +177 200 16 +177 201 16 +177 202 16 +177 203 16 +177 204 16 +177 205 16 +177 206 16 +177 207 16 +177 208 16 +177 209 16 +177 210 16 +177 211 16 +177 212 16 +177 213 16 +177 214 16 +177 215 16 +177 216 16 +177 217 16 +177 218 16 +177 219 16 +177 220 16 +177 221 16 +177 222 16 +177 223 16 +177 224 16 +177 225 16 +177 226 16 +177 227 16 +177 228 16 +177 229 16 +177 230 16 +177 231 16 +177 232 16 +177 233 16 +177 234 16 +177 235 16 +177 236 16 +177 237 16 +177 238 16 +177 239 16 +177 240 16 +177 241 16 +177 242 16 +177 243 16 +177 244 16 +177 245 16 +177 246 16 +177 247 16 +177 248 16 +177 249 16 +177 250 16 +177 251 16 +177 252 16 +177 253 16 +177 254 16 +177 255 16 +177 256 16 +177 257 16 +177 258 16 +177 259 16 +177 260 16 +177 261 16 +177 262 16 +177 263 16 +177 264 16 +177 265 16 +177 266 16 +177 267 16 +177 268 16 +177 269 16 +177 270 16 +177 271 16 +177 272 16 +177 273 16 +177 274 16 +177 275 16 +177 276 16 +177 277 16 +177 278 16 +177 279 16 +177 280 16 +177 281 16 +177 282 16 +177 283 16 +177 284 16 +177 285 16 +177 286 16 +177 287 16 +177 288 16 +177 289 16 +177 290 16 +177 291 16 +177 292 16 +177 293 16 +177 294 16 +177 295 16 +177 296 16 +177 297 16 +177 298 16 +177 299 16 +177 300 16 +177 301 16 +177 302 16 +177 303 16 +177 304 16 +177 305 16 +177 306 16 +177 307 16 +177 308 16 +177 309 16 +177 310 16 +177 311 16 +177 312 16 +177 313 16 +177 314 16 +177 315 16 +177 316 16 +177 317 16 +177 318 16 +177 319 16 +177 320 16 +177 321 16 +177 322 16 +177 323 16 +177 324 16 +177 325 16 +177 326 16 +177 327 16 +177 328 16 +177 329 16 +177 330 16 +177 331 16 +177 332 16 +177 333 16 +177 334 16 +177 335 16 +177 336 16 +177 337 16 +177 338 16 +177 339 16 +177 340 16 +177 341 16 +177 342 16 +177 343 16 +177 344 16 +177 345 16 +177 346 16 +177 347 16 +177 348 16 +177 349 16 +177 350 0 +177 351 0 +177 352 0 +177 353 0 +177 354 0 +177 355 0 +177 356 0 +177 357 0 +177 358 0 +177 359 0 +177 360 0 +177 361 0 +177 362 0 +177 363 0 +177 364 0 +177 365 0 +177 366 0 +177 367 0 +177 368 0 +177 369 0 +177 370 0 +177 371 0 +177 372 0 +177 373 0 +177 374 0 +177 375 0 +177 376 0 +177 377 0 +177 378 0 +177 379 0 +177 380 0 +177 381 0 +177 382 0 +177 383 0 +178 179 16 +178 180 16 +178 181 16 +178 182 16 +178 183 16 +178 184 16 +178 185 16 +178 186 16 +178 187 16 +178 188 16 +178 189 16 +178 190 16 +178 191 16 +178 192 16 +178 193 16 +178 194 16 +178 195 16 +178 196 16 +178 197 16 +178 198 16 +178 199 16 +178 200 16 +178 201 16 +178 202 16 +178 203 16 +178 204 16 +178 205 16 +178 206 16 +178 207 16 +178 208 16 +178 209 16 +178 210 16 +178 211 16 +178 212 16 +178 213 16 +178 214 16 +178 215 16 +178 216 16 +178 217 16 +178 218 16 +178 219 16 +178 220 16 +178 221 16 +178 222 16 +178 223 16 +178 224 16 +178 225 16 +178 226 16 +178 227 16 +178 228 16 +178 229 16 +178 230 16 +178 231 16 +178 232 16 +178 233 16 +178 234 16 +178 235 16 +178 236 16 +178 237 16 +178 238 16 +178 239 16 +178 240 16 +178 241 16 +178 242 16 +178 243 16 +178 244 16 +178 245 16 +178 246 16 +178 247 16 +178 248 16 +178 249 16 +178 250 16 +178 251 16 +178 252 16 +178 253 16 +178 254 16 +178 255 16 +178 256 16 +178 257 16 +178 258 16 +178 259 16 +178 260 16 +178 261 16 +178 262 16 +178 263 16 +178 264 16 +178 265 16 +178 266 16 +178 267 16 +178 268 16 +178 269 16 +178 270 16 +178 271 16 +178 272 16 +178 273 16 +178 274 16 +178 275 16 +178 276 16 +178 277 16 +178 278 16 +178 279 16 +178 280 16 +178 281 16 +178 282 16 +178 283 16 +178 284 16 +178 285 16 +178 286 16 +178 287 16 +178 288 16 +178 289 16 +178 290 16 +178 291 16 +178 292 16 +178 293 16 +178 294 16 +178 295 16 +178 296 16 +178 297 16 +178 298 16 +178 299 16 +178 300 16 +178 301 16 +178 302 16 +178 303 16 +178 304 16 +178 305 16 +178 306 16 +178 307 16 +178 308 16 +178 309 16 +178 310 16 +178 311 16 +178 312 16 +178 313 16 +178 314 16 +178 315 16 +178 316 16 +178 317 16 +178 318 16 +178 319 16 +178 320 16 +178 321 16 +178 322 16 +178 323 16 +178 324 16 +178 325 16 +178 326 16 +178 327 16 +178 328 16 +178 329 16 +178 330 16 +178 331 16 +178 332 16 +178 333 16 +178 334 16 +178 335 16 +178 336 16 +178 337 16 +178 338 16 +178 339 16 +178 340 16 +178 341 16 +178 342 16 +178 343 16 +178 344 16 +178 345 16 +178 346 16 +178 347 16 +178 348 16 +178 349 16 +178 350 0 +178 351 0 +178 352 0 +178 353 0 +178 354 0 +178 355 0 +178 356 0 +178 357 0 +178 358 0 +178 359 0 +178 360 0 +178 361 0 +178 362 0 +178 363 0 +178 364 0 +178 365 0 +178 366 0 +178 367 0 +178 368 0 +178 369 0 +178 370 0 +178 371 0 +178 372 0 +178 373 0 +178 374 0 +178 375 0 +178 376 0 +178 377 0 +178 378 0 +178 379 0 +178 380 0 +178 381 0 +178 382 0 +178 383 0 +179 180 16 +179 181 16 +179 182 16 +179 183 16 +179 184 16 +179 185 16 +179 186 16 +179 187 16 +179 188 16 +179 189 16 +179 190 16 +179 191 16 +179 192 16 +179 193 16 +179 194 16 +179 195 16 +179 196 16 +179 197 16 +179 198 16 +179 199 16 +179 200 16 +179 201 16 +179 202 16 +179 203 16 +179 204 16 +179 205 16 +179 206 16 +179 207 16 +179 208 16 +179 209 16 +179 210 16 +179 211 16 +179 212 16 +179 213 16 +179 214 16 +179 215 16 +179 216 16 +179 217 16 +179 218 16 +179 219 16 +179 220 16 +179 221 16 +179 222 16 +179 223 16 +179 224 16 +179 225 16 +179 226 16 +179 227 16 +179 228 16 +179 229 16 +179 230 16 +179 231 16 +179 232 16 +179 233 16 +179 234 16 +179 235 16 +179 236 16 +179 237 16 +179 238 16 +179 239 16 +179 240 16 +179 241 16 +179 242 16 +179 243 16 +179 244 16 +179 245 16 +179 246 16 +179 247 16 +179 248 16 +179 249 16 +179 250 16 +179 251 16 +179 252 16 +179 253 16 +179 254 16 +179 255 16 +179 256 16 +179 257 16 +179 258 16 +179 259 16 +179 260 16 +179 261 16 +179 262 16 +179 263 16 +179 264 16 +179 265 16 +179 266 16 +179 267 16 +179 268 16 +179 269 16 +179 270 16 +179 271 16 +179 272 16 +179 273 16 +179 274 16 +179 275 16 +179 276 16 +179 277 16 +179 278 16 +179 279 16 +179 280 16 +179 281 16 +179 282 16 +179 283 16 +179 284 16 +179 285 16 +179 286 16 +179 287 16 +179 288 16 +179 289 16 +179 290 16 +179 291 16 +179 292 16 +179 293 16 +179 294 16 +179 295 16 +179 296 16 +179 297 16 +179 298 16 +179 299 16 +179 300 16 +179 301 16 +179 302 16 +179 303 16 +179 304 16 +179 305 16 +179 306 16 +179 307 16 +179 308 16 +179 309 16 +179 310 16 +179 311 16 +179 312 16 +179 313 16 +179 314 16 +179 315 16 +179 316 16 +179 317 16 +179 318 16 +179 319 16 +179 320 16 +179 321 16 +179 322 16 +179 323 16 +179 324 16 +179 325 16 +179 326 16 +179 327 16 +179 328 16 +179 329 16 +179 330 16 +179 331 16 +179 332 16 +179 333 16 +179 334 16 +179 335 16 +179 336 16 +179 337 16 +179 338 16 +179 339 16 +179 340 16 +179 341 16 +179 342 16 +179 343 16 +179 344 16 +179 345 16 +179 346 16 +179 347 16 +179 348 16 +179 349 16 +179 350 0 +179 351 0 +179 352 0 +179 353 0 +179 354 0 +179 355 0 +179 356 0 +179 357 0 +179 358 0 +179 359 0 +179 360 0 +179 361 0 +179 362 0 +179 363 0 +179 364 0 +179 365 0 +179 366 0 +179 367 0 +179 368 0 +179 369 0 +179 370 0 +179 371 0 +179 372 0 +179 373 0 +179 374 0 +179 375 0 +179 376 0 +179 377 0 +179 378 0 +179 379 0 +179 380 0 +179 381 0 +179 382 0 +179 383 0 +180 181 16 +180 182 16 +180 183 16 +180 184 16 +180 185 16 +180 186 16 +180 187 16 +180 188 16 +180 189 16 +180 190 16 +180 191 16 +180 192 16 +180 193 16 +180 194 16 +180 195 16 +180 196 16 +180 197 16 +180 198 16 +180 199 16 +180 200 16 +180 201 16 +180 202 16 +180 203 16 +180 204 16 +180 205 16 +180 206 16 +180 207 16 +180 208 16 +180 209 16 +180 210 16 +180 211 16 +180 212 16 +180 213 16 +180 214 16 +180 215 16 +180 216 16 +180 217 16 +180 218 16 +180 219 16 +180 220 16 +180 221 16 +180 222 16 +180 223 16 +180 224 16 +180 225 16 +180 226 16 +180 227 16 +180 228 16 +180 229 16 +180 230 16 +180 231 16 +180 232 16 +180 233 16 +180 234 16 +180 235 16 +180 236 16 +180 237 16 +180 238 16 +180 239 16 +180 240 16 +180 241 16 +180 242 16 +180 243 16 +180 244 16 +180 245 16 +180 246 16 +180 247 16 +180 248 16 +180 249 16 +180 250 16 +180 251 16 +180 252 16 +180 253 16 +180 254 16 +180 255 16 +180 256 16 +180 257 16 +180 258 16 +180 259 16 +180 260 16 +180 261 16 +180 262 16 +180 263 16 +180 264 16 +180 265 16 +180 266 16 +180 267 16 +180 268 16 +180 269 16 +180 270 16 +180 271 16 +180 272 16 +180 273 16 +180 274 16 +180 275 16 +180 276 16 +180 277 16 +180 278 16 +180 279 16 +180 280 16 +180 281 16 +180 282 16 +180 283 16 +180 284 16 +180 285 16 +180 286 16 +180 287 16 +180 288 16 +180 289 16 +180 290 16 +180 291 16 +180 292 16 +180 293 16 +180 294 16 +180 295 16 +180 296 16 +180 297 16 +180 298 16 +180 299 16 +180 300 16 +180 301 16 +180 302 16 +180 303 16 +180 304 16 +180 305 16 +180 306 16 +180 307 16 +180 308 16 +180 309 16 +180 310 16 +180 311 16 +180 312 16 +180 313 16 +180 314 16 +180 315 16 +180 316 16 +180 317 16 +180 318 16 +180 319 16 +180 320 16 +180 321 16 +180 322 16 +180 323 16 +180 324 16 +180 325 16 +180 326 16 +180 327 16 +180 328 16 +180 329 16 +180 330 16 +180 331 16 +180 332 16 +180 333 16 +180 334 16 +180 335 16 +180 336 16 +180 337 16 +180 338 16 +180 339 16 +180 340 16 +180 341 16 +180 342 16 +180 343 16 +180 344 16 +180 345 16 +180 346 16 +180 347 16 +180 348 16 +180 349 16 +180 350 0 +180 351 0 +180 352 0 +180 353 0 +180 354 0 +180 355 0 +180 356 0 +180 357 0 +180 358 0 +180 359 0 +180 360 0 +180 361 0 +180 362 0 +180 363 0 +180 364 0 +180 365 0 +180 366 0 +180 367 0 +180 368 0 +180 369 0 +180 370 0 +180 371 0 +180 372 0 +180 373 0 +180 374 0 +180 375 0 +180 376 0 +180 377 0 +180 378 0 +180 379 0 +180 380 0 +180 381 0 +180 382 0 +180 383 0 +181 182 16 +181 183 16 +181 184 16 +181 185 16 +181 186 16 +181 187 16 +181 188 16 +181 189 16 +181 190 16 +181 191 16 +181 192 16 +181 193 16 +181 194 16 +181 195 16 +181 196 16 +181 197 16 +181 198 16 +181 199 16 +181 200 16 +181 201 16 +181 202 16 +181 203 16 +181 204 16 +181 205 16 +181 206 16 +181 207 16 +181 208 16 +181 209 16 +181 210 16 +181 211 16 +181 212 16 +181 213 16 +181 214 16 +181 215 16 +181 216 16 +181 217 16 +181 218 16 +181 219 16 +181 220 16 +181 221 16 +181 222 16 +181 223 16 +181 224 16 +181 225 16 +181 226 16 +181 227 16 +181 228 16 +181 229 16 +181 230 16 +181 231 16 +181 232 16 +181 233 16 +181 234 16 +181 235 16 +181 236 16 +181 237 16 +181 238 16 +181 239 16 +181 240 16 +181 241 16 +181 242 16 +181 243 16 +181 244 16 +181 245 16 +181 246 16 +181 247 16 +181 248 16 +181 249 16 +181 250 16 +181 251 16 +181 252 16 +181 253 16 +181 254 16 +181 255 16 +181 256 16 +181 257 16 +181 258 16 +181 259 16 +181 260 16 +181 261 16 +181 262 16 +181 263 16 +181 264 16 +181 265 16 +181 266 16 +181 267 16 +181 268 16 +181 269 16 +181 270 16 +181 271 16 +181 272 16 +181 273 16 +181 274 16 +181 275 16 +181 276 16 +181 277 16 +181 278 16 +181 279 16 +181 280 16 +181 281 16 +181 282 16 +181 283 16 +181 284 16 +181 285 16 +181 286 16 +181 287 16 +181 288 16 +181 289 16 +181 290 16 +181 291 16 +181 292 16 +181 293 16 +181 294 16 +181 295 16 +181 296 16 +181 297 16 +181 298 16 +181 299 16 +181 300 16 +181 301 16 +181 302 16 +181 303 16 +181 304 16 +181 305 16 +181 306 16 +181 307 16 +181 308 16 +181 309 16 +181 310 16 +181 311 16 +181 312 16 +181 313 16 +181 314 16 +181 315 16 +181 316 16 +181 317 16 +181 318 16 +181 319 16 +181 320 16 +181 321 16 +181 322 16 +181 323 16 +181 324 16 +181 325 16 +181 326 16 +181 327 16 +181 328 16 +181 329 16 +181 330 16 +181 331 16 +181 332 16 +181 333 16 +181 334 16 +181 335 16 +181 336 16 +181 337 16 +181 338 16 +181 339 16 +181 340 16 +181 341 16 +181 342 16 +181 343 16 +181 344 16 +181 345 16 +181 346 16 +181 347 16 +181 348 16 +181 349 16 +181 350 0 +181 351 0 +181 352 0 +181 353 0 +181 354 0 +181 355 0 +181 356 0 +181 357 0 +181 358 0 +181 359 0 +181 360 0 +181 361 0 +181 362 0 +181 363 0 +181 364 0 +181 365 0 +181 366 0 +181 367 0 +181 368 0 +181 369 0 +181 370 0 +181 371 0 +181 372 0 +181 373 0 +181 374 0 +181 375 0 +181 376 0 +181 377 0 +181 378 0 +181 379 0 +181 380 0 +181 381 0 +181 382 0 +181 383 0 +182 183 16 +182 184 16 +182 185 16 +182 186 16 +182 187 16 +182 188 16 +182 189 16 +182 190 16 +182 191 16 +182 192 16 +182 193 16 +182 194 16 +182 195 16 +182 196 16 +182 197 16 +182 198 16 +182 199 16 +182 200 16 +182 201 16 +182 202 16 +182 203 16 +182 204 16 +182 205 16 +182 206 16 +182 207 16 +182 208 16 +182 209 16 +182 210 16 +182 211 16 +182 212 16 +182 213 16 +182 214 16 +182 215 16 +182 216 16 +182 217 16 +182 218 16 +182 219 16 +182 220 16 +182 221 16 +182 222 16 +182 223 16 +182 224 16 +182 225 16 +182 226 16 +182 227 16 +182 228 16 +182 229 16 +182 230 16 +182 231 16 +182 232 16 +182 233 16 +182 234 16 +182 235 16 +182 236 16 +182 237 16 +182 238 16 +182 239 16 +182 240 16 +182 241 16 +182 242 16 +182 243 16 +182 244 16 +182 245 16 +182 246 16 +182 247 16 +182 248 16 +182 249 16 +182 250 16 +182 251 16 +182 252 16 +182 253 16 +182 254 16 +182 255 16 +182 256 16 +182 257 16 +182 258 16 +182 259 16 +182 260 16 +182 261 16 +182 262 16 +182 263 16 +182 264 16 +182 265 16 +182 266 16 +182 267 16 +182 268 16 +182 269 16 +182 270 16 +182 271 16 +182 272 16 +182 273 16 +182 274 16 +182 275 16 +182 276 16 +182 277 16 +182 278 16 +182 279 16 +182 280 16 +182 281 16 +182 282 16 +182 283 16 +182 284 16 +182 285 16 +182 286 16 +182 287 16 +182 288 16 +182 289 16 +182 290 16 +182 291 16 +182 292 16 +182 293 16 +182 294 16 +182 295 16 +182 296 16 +182 297 16 +182 298 16 +182 299 16 +182 300 16 +182 301 16 +182 302 16 +182 303 16 +182 304 16 +182 305 16 +182 306 16 +182 307 16 +182 308 16 +182 309 16 +182 310 16 +182 311 16 +182 312 16 +182 313 16 +182 314 16 +182 315 16 +182 316 16 +182 317 16 +182 318 16 +182 319 16 +182 320 16 +182 321 16 +182 322 16 +182 323 16 +182 324 16 +182 325 16 +182 326 16 +182 327 16 +182 328 16 +182 329 16 +182 330 16 +182 331 16 +182 332 16 +182 333 16 +182 334 16 +182 335 16 +182 336 16 +182 337 16 +182 338 16 +182 339 16 +182 340 16 +182 341 16 +182 342 16 +182 343 16 +182 344 16 +182 345 16 +182 346 16 +182 347 16 +182 348 16 +182 349 16 +182 350 0 +182 351 0 +182 352 0 +182 353 0 +182 354 0 +182 355 0 +182 356 0 +182 357 0 +182 358 0 +182 359 0 +182 360 0 +182 361 0 +182 362 0 +182 363 0 +182 364 0 +182 365 0 +182 366 0 +182 367 0 +182 368 0 +182 369 0 +182 370 0 +182 371 0 +182 372 0 +182 373 0 +182 374 0 +182 375 0 +182 376 0 +182 377 0 +182 378 0 +182 379 0 +182 380 0 +182 381 0 +182 382 0 +182 383 0 +183 184 16 +183 185 16 +183 186 16 +183 187 16 +183 188 16 +183 189 16 +183 190 16 +183 191 16 +183 192 16 +183 193 16 +183 194 16 +183 195 16 +183 196 16 +183 197 16 +183 198 16 +183 199 16 +183 200 16 +183 201 16 +183 202 16 +183 203 16 +183 204 16 +183 205 16 +183 206 16 +183 207 16 +183 208 16 +183 209 16 +183 210 16 +183 211 16 +183 212 16 +183 213 16 +183 214 16 +183 215 16 +183 216 16 +183 217 16 +183 218 16 +183 219 16 +183 220 16 +183 221 16 +183 222 16 +183 223 16 +183 224 16 +183 225 16 +183 226 16 +183 227 16 +183 228 16 +183 229 16 +183 230 16 +183 231 16 +183 232 16 +183 233 16 +183 234 16 +183 235 16 +183 236 16 +183 237 16 +183 238 16 +183 239 16 +183 240 16 +183 241 16 +183 242 16 +183 243 16 +183 244 16 +183 245 16 +183 246 16 +183 247 16 +183 248 16 +183 249 16 +183 250 16 +183 251 16 +183 252 16 +183 253 16 +183 254 16 +183 255 16 +183 256 16 +183 257 16 +183 258 16 +183 259 16 +183 260 16 +183 261 16 +183 262 16 +183 263 16 +183 264 16 +183 265 16 +183 266 16 +183 267 16 +183 268 16 +183 269 16 +183 270 16 +183 271 16 +183 272 16 +183 273 16 +183 274 16 +183 275 16 +183 276 16 +183 277 16 +183 278 16 +183 279 16 +183 280 16 +183 281 16 +183 282 16 +183 283 16 +183 284 16 +183 285 16 +183 286 16 +183 287 16 +183 288 16 +183 289 16 +183 290 16 +183 291 16 +183 292 16 +183 293 16 +183 294 16 +183 295 16 +183 296 16 +183 297 16 +183 298 16 +183 299 16 +183 300 16 +183 301 16 +183 302 16 +183 303 16 +183 304 16 +183 305 16 +183 306 16 +183 307 16 +183 308 16 +183 309 16 +183 310 16 +183 311 16 +183 312 16 +183 313 16 +183 314 16 +183 315 16 +183 316 16 +183 317 16 +183 318 16 +183 319 16 +183 320 16 +183 321 16 +183 322 16 +183 323 16 +183 324 16 +183 325 16 +183 326 16 +183 327 16 +183 328 16 +183 329 16 +183 330 16 +183 331 16 +183 332 16 +183 333 16 +183 334 16 +183 335 16 +183 336 16 +183 337 16 +183 338 16 +183 339 16 +183 340 16 +183 341 16 +183 342 16 +183 343 16 +183 344 16 +183 345 16 +183 346 16 +183 347 16 +183 348 16 +183 349 16 +183 350 0 +183 351 0 +183 352 0 +183 353 0 +183 354 0 +183 355 0 +183 356 0 +183 357 0 +183 358 0 +183 359 0 +183 360 0 +183 361 0 +183 362 0 +183 363 0 +183 364 0 +183 365 0 +183 366 0 +183 367 0 +183 368 0 +183 369 0 +183 370 0 +183 371 0 +183 372 0 +183 373 0 +183 374 0 +183 375 0 +183 376 0 +183 377 0 +183 378 0 +183 379 0 +183 380 0 +183 381 0 +183 382 0 +183 383 0 +184 185 16 +184 186 16 +184 187 16 +184 188 16 +184 189 16 +184 190 16 +184 191 16 +184 192 16 +184 193 16 +184 194 16 +184 195 16 +184 196 16 +184 197 16 +184 198 16 +184 199 16 +184 200 16 +184 201 16 +184 202 16 +184 203 16 +184 204 16 +184 205 16 +184 206 16 +184 207 16 +184 208 16 +184 209 16 +184 210 16 +184 211 16 +184 212 16 +184 213 16 +184 214 16 +184 215 16 +184 216 16 +184 217 16 +184 218 16 +184 219 16 +184 220 16 +184 221 16 +184 222 16 +184 223 16 +184 224 16 +184 225 16 +184 226 16 +184 227 16 +184 228 16 +184 229 16 +184 230 16 +184 231 16 +184 232 16 +184 233 16 +184 234 16 +184 235 16 +184 236 16 +184 237 16 +184 238 16 +184 239 16 +184 240 16 +184 241 16 +184 242 16 +184 243 16 +184 244 16 +184 245 16 +184 246 16 +184 247 16 +184 248 16 +184 249 16 +184 250 16 +184 251 16 +184 252 16 +184 253 16 +184 254 16 +184 255 16 +184 256 16 +184 257 16 +184 258 16 +184 259 16 +184 260 16 +184 261 16 +184 262 16 +184 263 16 +184 264 16 +184 265 16 +184 266 16 +184 267 16 +184 268 16 +184 269 16 +184 270 16 +184 271 16 +184 272 16 +184 273 16 +184 274 16 +184 275 16 +184 276 16 +184 277 16 +184 278 16 +184 279 16 +184 280 16 +184 281 16 +184 282 16 +184 283 16 +184 284 16 +184 285 16 +184 286 16 +184 287 16 +184 288 16 +184 289 16 +184 290 16 +184 291 16 +184 292 16 +184 293 16 +184 294 16 +184 295 16 +184 296 16 +184 297 16 +184 298 16 +184 299 16 +184 300 16 +184 301 16 +184 302 16 +184 303 16 +184 304 16 +184 305 16 +184 306 16 +184 307 16 +184 308 16 +184 309 16 +184 310 16 +184 311 16 +184 312 16 +184 313 16 +184 314 16 +184 315 16 +184 316 16 +184 317 16 +184 318 16 +184 319 16 +184 320 16 +184 321 16 +184 322 16 +184 323 16 +184 324 16 +184 325 16 +184 326 16 +184 327 16 +184 328 16 +184 329 16 +184 330 16 +184 331 16 +184 332 16 +184 333 16 +184 334 16 +184 335 16 +184 336 16 +184 337 16 +184 338 16 +184 339 16 +184 340 16 +184 341 16 +184 342 16 +184 343 16 +184 344 16 +184 345 16 +184 346 16 +184 347 16 +184 348 16 +184 349 16 +184 350 0 +184 351 0 +184 352 0 +184 353 0 +184 354 0 +184 355 0 +184 356 0 +184 357 0 +184 358 0 +184 359 0 +184 360 0 +184 361 0 +184 362 0 +184 363 0 +184 364 0 +184 365 0 +184 366 0 +184 367 0 +184 368 0 +184 369 0 +184 370 0 +184 371 0 +184 372 0 +184 373 0 +184 374 0 +184 375 0 +184 376 0 +184 377 0 +184 378 0 +184 379 0 +184 380 0 +184 381 0 +184 382 0 +184 383 0 +185 186 16 +185 187 16 +185 188 16 +185 189 16 +185 190 16 +185 191 16 +185 192 16 +185 193 16 +185 194 16 +185 195 16 +185 196 16 +185 197 16 +185 198 16 +185 199 16 +185 200 16 +185 201 16 +185 202 16 +185 203 16 +185 204 16 +185 205 16 +185 206 16 +185 207 16 +185 208 16 +185 209 16 +185 210 16 +185 211 16 +185 212 16 +185 213 16 +185 214 16 +185 215 16 +185 216 16 +185 217 16 +185 218 16 +185 219 16 +185 220 16 +185 221 16 +185 222 16 +185 223 16 +185 224 16 +185 225 16 +185 226 16 +185 227 16 +185 228 16 +185 229 16 +185 230 16 +185 231 16 +185 232 16 +185 233 16 +185 234 16 +185 235 16 +185 236 16 +185 237 16 +185 238 16 +185 239 16 +185 240 16 +185 241 16 +185 242 16 +185 243 16 +185 244 16 +185 245 16 +185 246 16 +185 247 16 +185 248 16 +185 249 16 +185 250 16 +185 251 16 +185 252 16 +185 253 16 +185 254 16 +185 255 16 +185 256 16 +185 257 16 +185 258 16 +185 259 16 +185 260 16 +185 261 16 +185 262 16 +185 263 16 +185 264 16 +185 265 16 +185 266 16 +185 267 16 +185 268 16 +185 269 16 +185 270 16 +185 271 16 +185 272 16 +185 273 16 +185 274 16 +185 275 16 +185 276 16 +185 277 16 +185 278 16 +185 279 16 +185 280 16 +185 281 16 +185 282 16 +185 283 16 +185 284 16 +185 285 16 +185 286 16 +185 287 16 +185 288 16 +185 289 16 +185 290 16 +185 291 16 +185 292 16 +185 293 16 +185 294 16 +185 295 16 +185 296 16 +185 297 16 +185 298 16 +185 299 16 +185 300 16 +185 301 16 +185 302 16 +185 303 16 +185 304 16 +185 305 16 +185 306 16 +185 307 16 +185 308 16 +185 309 16 +185 310 16 +185 311 16 +185 312 16 +185 313 16 +185 314 16 +185 315 16 +185 316 16 +185 317 16 +185 318 16 +185 319 16 +185 320 16 +185 321 16 +185 322 16 +185 323 16 +185 324 16 +185 325 16 +185 326 16 +185 327 16 +185 328 16 +185 329 16 +185 330 16 +185 331 16 +185 332 16 +185 333 16 +185 334 16 +185 335 16 +185 336 16 +185 337 16 +185 338 16 +185 339 16 +185 340 16 +185 341 16 +185 342 16 +185 343 16 +185 344 16 +185 345 16 +185 346 16 +185 347 16 +185 348 16 +185 349 16 +185 350 0 +185 351 0 +185 352 0 +185 353 0 +185 354 0 +185 355 0 +185 356 0 +185 357 0 +185 358 0 +185 359 0 +185 360 0 +185 361 0 +185 362 0 +185 363 0 +185 364 0 +185 365 0 +185 366 0 +185 367 0 +185 368 0 +185 369 0 +185 370 0 +185 371 0 +185 372 0 +185 373 0 +185 374 0 +185 375 0 +185 376 0 +185 377 0 +185 378 0 +185 379 0 +185 380 0 +185 381 0 +185 382 0 +185 383 0 +186 187 16 +186 188 16 +186 189 16 +186 190 16 +186 191 16 +186 192 16 +186 193 16 +186 194 16 +186 195 16 +186 196 16 +186 197 16 +186 198 16 +186 199 16 +186 200 16 +186 201 16 +186 202 16 +186 203 16 +186 204 16 +186 205 16 +186 206 16 +186 207 16 +186 208 16 +186 209 16 +186 210 16 +186 211 16 +186 212 16 +186 213 16 +186 214 16 +186 215 16 +186 216 16 +186 217 16 +186 218 16 +186 219 16 +186 220 16 +186 221 16 +186 222 16 +186 223 16 +186 224 16 +186 225 16 +186 226 16 +186 227 16 +186 228 16 +186 229 16 +186 230 16 +186 231 16 +186 232 16 +186 233 16 +186 234 16 +186 235 16 +186 236 16 +186 237 16 +186 238 16 +186 239 16 +186 240 16 +186 241 16 +186 242 16 +186 243 16 +186 244 16 +186 245 16 +186 246 16 +186 247 16 +186 248 16 +186 249 16 +186 250 16 +186 251 16 +186 252 16 +186 253 16 +186 254 16 +186 255 16 +186 256 16 +186 257 16 +186 258 16 +186 259 16 +186 260 16 +186 261 16 +186 262 16 +186 263 16 +186 264 16 +186 265 16 +186 266 16 +186 267 16 +186 268 16 +186 269 16 +186 270 16 +186 271 16 +186 272 16 +186 273 16 +186 274 16 +186 275 16 +186 276 16 +186 277 16 +186 278 16 +186 279 16 +186 280 16 +186 281 16 +186 282 16 +186 283 16 +186 284 16 +186 285 16 +186 286 16 +186 287 16 +186 288 16 +186 289 16 +186 290 16 +186 291 16 +186 292 16 +186 293 16 +186 294 16 +186 295 16 +186 296 16 +186 297 16 +186 298 16 +186 299 16 +186 300 16 +186 301 16 +186 302 16 +186 303 16 +186 304 16 +186 305 16 +186 306 16 +186 307 16 +186 308 16 +186 309 16 +186 310 16 +186 311 16 +186 312 16 +186 313 16 +186 314 16 +186 315 16 +186 316 16 +186 317 16 +186 318 16 +186 319 16 +186 320 16 +186 321 16 +186 322 16 +186 323 16 +186 324 16 +186 325 16 +186 326 16 +186 327 16 +186 328 16 +186 329 16 +186 330 16 +186 331 16 +186 332 16 +186 333 16 +186 334 16 +186 335 16 +186 336 16 +186 337 16 +186 338 16 +186 339 16 +186 340 16 +186 341 16 +186 342 16 +186 343 16 +186 344 16 +186 345 16 +186 346 16 +186 347 16 +186 348 16 +186 349 16 +186 350 0 +186 351 0 +186 352 0 +186 353 0 +186 354 0 +186 355 0 +186 356 0 +186 357 0 +186 358 0 +186 359 0 +186 360 0 +186 361 0 +186 362 0 +186 363 0 +186 364 0 +186 365 0 +186 366 0 +186 367 0 +186 368 0 +186 369 0 +186 370 0 +186 371 0 +186 372 0 +186 373 0 +186 374 0 +186 375 0 +186 376 0 +186 377 0 +186 378 0 +186 379 0 +186 380 0 +186 381 0 +186 382 0 +186 383 0 +187 188 16 +187 189 16 +187 190 16 +187 191 16 +187 192 16 +187 193 16 +187 194 16 +187 195 16 +187 196 16 +187 197 16 +187 198 16 +187 199 16 +187 200 16 +187 201 16 +187 202 16 +187 203 16 +187 204 16 +187 205 16 +187 206 16 +187 207 16 +187 208 16 +187 209 16 +187 210 16 +187 211 16 +187 212 16 +187 213 16 +187 214 16 +187 215 16 +187 216 16 +187 217 16 +187 218 16 +187 219 16 +187 220 16 +187 221 16 +187 222 16 +187 223 16 +187 224 16 +187 225 16 +187 226 16 +187 227 16 +187 228 16 +187 229 16 +187 230 16 +187 231 16 +187 232 16 +187 233 16 +187 234 16 +187 235 16 +187 236 16 +187 237 16 +187 238 16 +187 239 16 +187 240 16 +187 241 16 +187 242 16 +187 243 16 +187 244 16 +187 245 16 +187 246 16 +187 247 16 +187 248 16 +187 249 16 +187 250 16 +187 251 16 +187 252 16 +187 253 16 +187 254 16 +187 255 16 +187 256 16 +187 257 16 +187 258 16 +187 259 16 +187 260 16 +187 261 16 +187 262 16 +187 263 16 +187 264 16 +187 265 16 +187 266 16 +187 267 16 +187 268 16 +187 269 16 +187 270 16 +187 271 16 +187 272 16 +187 273 16 +187 274 16 +187 275 16 +187 276 16 +187 277 16 +187 278 16 +187 279 16 +187 280 16 +187 281 16 +187 282 16 +187 283 16 +187 284 16 +187 285 16 +187 286 16 +187 287 16 +187 288 16 +187 289 16 +187 290 16 +187 291 16 +187 292 16 +187 293 16 +187 294 16 +187 295 16 +187 296 16 +187 297 16 +187 298 16 +187 299 16 +187 300 16 +187 301 16 +187 302 16 +187 303 16 +187 304 16 +187 305 16 +187 306 16 +187 307 16 +187 308 16 +187 309 16 +187 310 16 +187 311 16 +187 312 16 +187 313 16 +187 314 16 +187 315 16 +187 316 16 +187 317 16 +187 318 16 +187 319 16 +187 320 16 +187 321 16 +187 322 16 +187 323 16 +187 324 16 +187 325 16 +187 326 16 +187 327 16 +187 328 16 +187 329 16 +187 330 16 +187 331 16 +187 332 16 +187 333 16 +187 334 16 +187 335 16 +187 336 16 +187 337 16 +187 338 16 +187 339 16 +187 340 16 +187 341 16 +187 342 16 +187 343 16 +187 344 16 +187 345 16 +187 346 16 +187 347 16 +187 348 16 +187 349 16 +187 350 0 +187 351 0 +187 352 0 +187 353 0 +187 354 0 +187 355 0 +187 356 0 +187 357 0 +187 358 0 +187 359 0 +187 360 0 +187 361 0 +187 362 0 +187 363 0 +187 364 0 +187 365 0 +187 366 0 +187 367 0 +187 368 0 +187 369 0 +187 370 0 +187 371 0 +187 372 0 +187 373 0 +187 374 0 +187 375 0 +187 376 0 +187 377 0 +187 378 0 +187 379 0 +187 380 0 +187 381 0 +187 382 0 +187 383 0 +188 189 16 +188 190 16 +188 191 16 +188 192 16 +188 193 16 +188 194 16 +188 195 16 +188 196 16 +188 197 16 +188 198 16 +188 199 16 +188 200 16 +188 201 16 +188 202 16 +188 203 16 +188 204 16 +188 205 16 +188 206 16 +188 207 16 +188 208 16 +188 209 16 +188 210 16 +188 211 16 +188 212 16 +188 213 16 +188 214 16 +188 215 16 +188 216 16 +188 217 16 +188 218 16 +188 219 16 +188 220 16 +188 221 16 +188 222 16 +188 223 16 +188 224 16 +188 225 16 +188 226 16 +188 227 16 +188 228 16 +188 229 16 +188 230 16 +188 231 16 +188 232 16 +188 233 16 +188 234 16 +188 235 16 +188 236 16 +188 237 16 +188 238 16 +188 239 16 +188 240 16 +188 241 16 +188 242 16 +188 243 16 +188 244 16 +188 245 16 +188 246 16 +188 247 16 +188 248 16 +188 249 16 +188 250 16 +188 251 16 +188 252 16 +188 253 16 +188 254 16 +188 255 16 +188 256 16 +188 257 16 +188 258 16 +188 259 16 +188 260 16 +188 261 16 +188 262 16 +188 263 16 +188 264 16 +188 265 16 +188 266 16 +188 267 16 +188 268 16 +188 269 16 +188 270 16 +188 271 16 +188 272 16 +188 273 16 +188 274 16 +188 275 16 +188 276 16 +188 277 16 +188 278 16 +188 279 16 +188 280 16 +188 281 16 +188 282 16 +188 283 16 +188 284 16 +188 285 16 +188 286 16 +188 287 16 +188 288 16 +188 289 16 +188 290 16 +188 291 16 +188 292 16 +188 293 16 +188 294 16 +188 295 16 +188 296 16 +188 297 16 +188 298 16 +188 299 16 +188 300 16 +188 301 16 +188 302 16 +188 303 16 +188 304 16 +188 305 16 +188 306 16 +188 307 16 +188 308 16 +188 309 16 +188 310 16 +188 311 16 +188 312 16 +188 313 16 +188 314 16 +188 315 16 +188 316 16 +188 317 16 +188 318 16 +188 319 16 +188 320 16 +188 321 16 +188 322 16 +188 323 16 +188 324 16 +188 325 16 +188 326 16 +188 327 16 +188 328 16 +188 329 16 +188 330 16 +188 331 16 +188 332 16 +188 333 16 +188 334 16 +188 335 16 +188 336 16 +188 337 16 +188 338 16 +188 339 16 +188 340 16 +188 341 16 +188 342 16 +188 343 16 +188 344 16 +188 345 16 +188 346 16 +188 347 16 +188 348 16 +188 349 16 +188 350 0 +188 351 0 +188 352 0 +188 353 0 +188 354 0 +188 355 0 +188 356 0 +188 357 0 +188 358 0 +188 359 0 +188 360 0 +188 361 0 +188 362 0 +188 363 0 +188 364 0 +188 365 0 +188 366 0 +188 367 0 +188 368 0 +188 369 0 +188 370 0 +188 371 0 +188 372 0 +188 373 0 +188 374 0 +188 375 0 +188 376 0 +188 377 0 +188 378 0 +188 379 0 +188 380 0 +188 381 0 +188 382 0 +188 383 0 +189 190 16 +189 191 16 +189 192 16 +189 193 16 +189 194 16 +189 195 16 +189 196 16 +189 197 16 +189 198 16 +189 199 16 +189 200 16 +189 201 16 +189 202 16 +189 203 16 +189 204 16 +189 205 16 +189 206 16 +189 207 16 +189 208 16 +189 209 16 +189 210 16 +189 211 16 +189 212 16 +189 213 16 +189 214 16 +189 215 16 +189 216 16 +189 217 16 +189 218 16 +189 219 16 +189 220 16 +189 221 16 +189 222 16 +189 223 16 +189 224 16 +189 225 16 +189 226 16 +189 227 16 +189 228 16 +189 229 16 +189 230 16 +189 231 16 +189 232 16 +189 233 16 +189 234 16 +189 235 16 +189 236 16 +189 237 16 +189 238 16 +189 239 16 +189 240 16 +189 241 16 +189 242 16 +189 243 16 +189 244 16 +189 245 16 +189 246 16 +189 247 16 +189 248 16 +189 249 16 +189 250 16 +189 251 16 +189 252 16 +189 253 16 +189 254 16 +189 255 16 +189 256 16 +189 257 16 +189 258 16 +189 259 16 +189 260 16 +189 261 16 +189 262 16 +189 263 16 +189 264 16 +189 265 16 +189 266 16 +189 267 16 +189 268 16 +189 269 16 +189 270 16 +189 271 16 +189 272 16 +189 273 16 +189 274 16 +189 275 16 +189 276 16 +189 277 16 +189 278 16 +189 279 16 +189 280 16 +189 281 16 +189 282 16 +189 283 16 +189 284 16 +189 285 16 +189 286 16 +189 287 16 +189 288 16 +189 289 16 +189 290 16 +189 291 16 +189 292 16 +189 293 16 +189 294 16 +189 295 16 +189 296 16 +189 297 16 +189 298 16 +189 299 16 +189 300 16 +189 301 16 +189 302 16 +189 303 16 +189 304 16 +189 305 16 +189 306 16 +189 307 16 +189 308 16 +189 309 16 +189 310 16 +189 311 16 +189 312 16 +189 313 16 +189 314 16 +189 315 16 +189 316 16 +189 317 16 +189 318 16 +189 319 16 +189 320 16 +189 321 16 +189 322 16 +189 323 16 +189 324 16 +189 325 16 +189 326 16 +189 327 16 +189 328 16 +189 329 16 +189 330 16 +189 331 16 +189 332 16 +189 333 16 +189 334 16 +189 335 16 +189 336 16 +189 337 16 +189 338 16 +189 339 16 +189 340 16 +189 341 16 +189 342 16 +189 343 16 +189 344 16 +189 345 16 +189 346 16 +189 347 16 +189 348 16 +189 349 16 +189 350 0 +189 351 0 +189 352 0 +189 353 0 +189 354 0 +189 355 0 +189 356 0 +189 357 0 +189 358 0 +189 359 0 +189 360 0 +189 361 0 +189 362 0 +189 363 0 +189 364 0 +189 365 0 +189 366 0 +189 367 0 +189 368 0 +189 369 0 +189 370 0 +189 371 0 +189 372 0 +189 373 0 +189 374 0 +189 375 0 +189 376 0 +189 377 0 +189 378 0 +189 379 0 +189 380 0 +189 381 0 +189 382 0 +189 383 0 +190 191 16 +190 192 16 +190 193 16 +190 194 16 +190 195 16 +190 196 16 +190 197 16 +190 198 16 +190 199 16 +190 200 16 +190 201 16 +190 202 16 +190 203 16 +190 204 16 +190 205 16 +190 206 16 +190 207 16 +190 208 16 +190 209 16 +190 210 16 +190 211 16 +190 212 16 +190 213 16 +190 214 16 +190 215 16 +190 216 16 +190 217 16 +190 218 16 +190 219 16 +190 220 16 +190 221 16 +190 222 16 +190 223 16 +190 224 16 +190 225 16 +190 226 16 +190 227 16 +190 228 16 +190 229 16 +190 230 16 +190 231 16 +190 232 16 +190 233 16 +190 234 16 +190 235 16 +190 236 16 +190 237 16 +190 238 16 +190 239 16 +190 240 16 +190 241 16 +190 242 16 +190 243 16 +190 244 16 +190 245 16 +190 246 16 +190 247 16 +190 248 16 +190 249 16 +190 250 16 +190 251 16 +190 252 16 +190 253 16 +190 254 16 +190 255 16 +190 256 16 +190 257 16 +190 258 16 +190 259 16 +190 260 16 +190 261 16 +190 262 16 +190 263 16 +190 264 16 +190 265 16 +190 266 16 +190 267 16 +190 268 16 +190 269 16 +190 270 16 +190 271 16 +190 272 16 +190 273 16 +190 274 16 +190 275 16 +190 276 16 +190 277 16 +190 278 16 +190 279 16 +190 280 16 +190 281 16 +190 282 16 +190 283 16 +190 284 16 +190 285 16 +190 286 16 +190 287 16 +190 288 16 +190 289 16 +190 290 16 +190 291 16 +190 292 16 +190 293 16 +190 294 16 +190 295 16 +190 296 16 +190 297 16 +190 298 16 +190 299 16 +190 300 16 +190 301 16 +190 302 16 +190 303 16 +190 304 16 +190 305 16 +190 306 16 +190 307 16 +190 308 16 +190 309 16 +190 310 16 +190 311 16 +190 312 16 +190 313 16 +190 314 16 +190 315 16 +190 316 16 +190 317 16 +190 318 16 +190 319 16 +190 320 16 +190 321 16 +190 322 16 +190 323 16 +190 324 16 +190 325 16 +190 326 16 +190 327 16 +190 328 16 +190 329 16 +190 330 16 +190 331 16 +190 332 16 +190 333 16 +190 334 16 +190 335 16 +190 336 16 +190 337 16 +190 338 16 +190 339 16 +190 340 16 +190 341 16 +190 342 16 +190 343 16 +190 344 16 +190 345 16 +190 346 16 +190 347 16 +190 348 16 +190 349 16 +190 350 0 +190 351 0 +190 352 0 +190 353 0 +190 354 0 +190 355 0 +190 356 0 +190 357 0 +190 358 0 +190 359 0 +190 360 0 +190 361 0 +190 362 0 +190 363 0 +190 364 0 +190 365 0 +190 366 0 +190 367 0 +190 368 0 +190 369 0 +190 370 0 +190 371 0 +190 372 0 +190 373 0 +190 374 0 +190 375 0 +190 376 0 +190 377 0 +190 378 0 +190 379 0 +190 380 0 +190 381 0 +190 382 0 +190 383 0 +191 192 16 +191 193 16 +191 194 16 +191 195 16 +191 196 16 +191 197 16 +191 198 16 +191 199 16 +191 200 16 +191 201 16 +191 202 16 +191 203 16 +191 204 16 +191 205 16 +191 206 16 +191 207 16 +191 208 16 +191 209 16 +191 210 16 +191 211 16 +191 212 16 +191 213 16 +191 214 16 +191 215 16 +191 216 16 +191 217 16 +191 218 16 +191 219 16 +191 220 16 +191 221 16 +191 222 16 +191 223 16 +191 224 16 +191 225 16 +191 226 16 +191 227 16 +191 228 16 +191 229 16 +191 230 16 +191 231 16 +191 232 16 +191 233 16 +191 234 16 +191 235 16 +191 236 16 +191 237 16 +191 238 16 +191 239 16 +191 240 16 +191 241 16 +191 242 16 +191 243 16 +191 244 16 +191 245 16 +191 246 16 +191 247 16 +191 248 16 +191 249 16 +191 250 16 +191 251 16 +191 252 16 +191 253 16 +191 254 16 +191 255 16 +191 256 16 +191 257 16 +191 258 16 +191 259 16 +191 260 16 +191 261 16 +191 262 16 +191 263 16 +191 264 16 +191 265 16 +191 266 16 +191 267 16 +191 268 16 +191 269 16 +191 270 16 +191 271 16 +191 272 16 +191 273 16 +191 274 16 +191 275 16 +191 276 16 +191 277 16 +191 278 16 +191 279 16 +191 280 16 +191 281 16 +191 282 16 +191 283 16 +191 284 16 +191 285 16 +191 286 16 +191 287 16 +191 288 16 +191 289 16 +191 290 16 +191 291 16 +191 292 16 +191 293 16 +191 294 16 +191 295 16 +191 296 16 +191 297 16 +191 298 16 +191 299 16 +191 300 16 +191 301 16 +191 302 16 +191 303 16 +191 304 16 +191 305 16 +191 306 16 +191 307 16 +191 308 16 +191 309 16 +191 310 16 +191 311 16 +191 312 16 +191 313 16 +191 314 16 +191 315 16 +191 316 16 +191 317 16 +191 318 16 +191 319 16 +191 320 16 +191 321 16 +191 322 16 +191 323 16 +191 324 16 +191 325 16 +191 326 16 +191 327 16 +191 328 16 +191 329 16 +191 330 16 +191 331 16 +191 332 16 +191 333 16 +191 334 16 +191 335 16 +191 336 16 +191 337 16 +191 338 16 +191 339 16 +191 340 16 +191 341 16 +191 342 16 +191 343 16 +191 344 16 +191 345 16 +191 346 16 +191 347 16 +191 348 16 +191 349 16 +191 350 0 +191 351 0 +191 352 0 +191 353 0 +191 354 0 +191 355 0 +191 356 0 +191 357 0 +191 358 0 +191 359 0 +191 360 0 +191 361 0 +191 362 0 +191 363 0 +191 364 0 +191 365 0 +191 366 0 +191 367 0 +191 368 0 +191 369 0 +191 370 0 +191 371 0 +191 372 0 +191 373 0 +191 374 0 +191 375 0 +191 376 0 +191 377 0 +191 378 0 +191 379 0 +191 380 0 +191 381 0 +191 382 0 +191 383 0 +192 193 16 +192 194 16 +192 195 16 +192 196 16 +192 197 16 +192 198 16 +192 199 16 +192 200 16 +192 201 16 +192 202 16 +192 203 16 +192 204 16 +192 205 16 +192 206 16 +192 207 16 +192 208 16 +192 209 16 +192 210 16 +192 211 16 +192 212 16 +192 213 16 +192 214 16 +192 215 16 +192 216 16 +192 217 16 +192 218 16 +192 219 16 +192 220 16 +192 221 16 +192 222 16 +192 223 16 +192 224 16 +192 225 16 +192 226 16 +192 227 16 +192 228 16 +192 229 16 +192 230 16 +192 231 16 +192 232 16 +192 233 16 +192 234 16 +192 235 16 +192 236 16 +192 237 16 +192 238 16 +192 239 16 +192 240 16 +192 241 16 +192 242 16 +192 243 16 +192 244 16 +192 245 16 +192 246 16 +192 247 16 +192 248 16 +192 249 16 +192 250 16 +192 251 16 +192 252 16 +192 253 16 +192 254 16 +192 255 16 +192 256 16 +192 257 16 +192 258 16 +192 259 16 +192 260 16 +192 261 16 +192 262 16 +192 263 16 +192 264 16 +192 265 16 +192 266 16 +192 267 16 +192 268 16 +192 269 16 +192 270 16 +192 271 16 +192 272 16 +192 273 16 +192 274 16 +192 275 16 +192 276 16 +192 277 16 +192 278 16 +192 279 16 +192 280 16 +192 281 16 +192 282 16 +192 283 16 +192 284 16 +192 285 16 +192 286 16 +192 287 16 +192 288 16 +192 289 16 +192 290 16 +192 291 16 +192 292 16 +192 293 16 +192 294 16 +192 295 16 +192 296 16 +192 297 16 +192 298 16 +192 299 16 +192 300 16 +192 301 16 +192 302 16 +192 303 16 +192 304 16 +192 305 16 +192 306 16 +192 307 16 +192 308 16 +192 309 16 +192 310 16 +192 311 16 +192 312 16 +192 313 16 +192 314 16 +192 315 16 +192 316 16 +192 317 16 +192 318 16 +192 319 16 +192 320 16 +192 321 16 +192 322 16 +192 323 16 +192 324 16 +192 325 16 +192 326 16 +192 327 16 +192 328 16 +192 329 16 +192 330 16 +192 331 16 +192 332 16 +192 333 16 +192 334 16 +192 335 16 +192 336 16 +192 337 16 +192 338 16 +192 339 16 +192 340 16 +192 341 16 +192 342 16 +192 343 16 +192 344 16 +192 345 16 +192 346 16 +192 347 16 +192 348 16 +192 349 16 +192 350 0 +192 351 0 +192 352 0 +192 353 0 +192 354 0 +192 355 0 +192 356 0 +192 357 0 +192 358 0 +192 359 0 +192 360 0 +192 361 0 +192 362 0 +192 363 0 +192 364 0 +192 365 0 +192 366 0 +192 367 0 +192 368 0 +192 369 0 +192 370 0 +192 371 0 +192 372 0 +192 373 0 +192 374 0 +192 375 0 +192 376 0 +192 377 0 +192 378 0 +192 379 0 +192 380 0 +192 381 0 +192 382 0 +192 383 0 +193 194 16 +193 195 16 +193 196 16 +193 197 16 +193 198 16 +193 199 16 +193 200 16 +193 201 16 +193 202 16 +193 203 16 +193 204 16 +193 205 16 +193 206 16 +193 207 16 +193 208 16 +193 209 16 +193 210 16 +193 211 16 +193 212 16 +193 213 16 +193 214 16 +193 215 16 +193 216 16 +193 217 16 +193 218 16 +193 219 16 +193 220 16 +193 221 16 +193 222 16 +193 223 16 +193 224 16 +193 225 16 +193 226 16 +193 227 16 +193 228 16 +193 229 16 +193 230 16 +193 231 16 +193 232 16 +193 233 16 +193 234 16 +193 235 16 +193 236 16 +193 237 16 +193 238 16 +193 239 16 +193 240 16 +193 241 16 +193 242 16 +193 243 16 +193 244 16 +193 245 16 +193 246 16 +193 247 16 +193 248 16 +193 249 16 +193 250 16 +193 251 16 +193 252 16 +193 253 16 +193 254 16 +193 255 16 +193 256 16 +193 257 16 +193 258 16 +193 259 16 +193 260 16 +193 261 16 +193 262 16 +193 263 16 +193 264 16 +193 265 16 +193 266 16 +193 267 16 +193 268 16 +193 269 16 +193 270 16 +193 271 16 +193 272 16 +193 273 16 +193 274 16 +193 275 16 +193 276 16 +193 277 16 +193 278 16 +193 279 16 +193 280 16 +193 281 16 +193 282 16 +193 283 16 +193 284 16 +193 285 16 +193 286 16 +193 287 16 +193 288 16 +193 289 16 +193 290 16 +193 291 16 +193 292 16 +193 293 16 +193 294 16 +193 295 16 +193 296 16 +193 297 16 +193 298 16 +193 299 16 +193 300 16 +193 301 16 +193 302 16 +193 303 16 +193 304 16 +193 305 16 +193 306 16 +193 307 16 +193 308 16 +193 309 16 +193 310 16 +193 311 16 +193 312 16 +193 313 16 +193 314 16 +193 315 16 +193 316 16 +193 317 16 +193 318 16 +193 319 16 +193 320 16 +193 321 16 +193 322 16 +193 323 16 +193 324 16 +193 325 16 +193 326 16 +193 327 16 +193 328 16 +193 329 16 +193 330 16 +193 331 16 +193 332 16 +193 333 16 +193 334 16 +193 335 16 +193 336 16 +193 337 16 +193 338 16 +193 339 16 +193 340 16 +193 341 16 +193 342 16 +193 343 16 +193 344 16 +193 345 16 +193 346 16 +193 347 16 +193 348 16 +193 349 16 +193 350 0 +193 351 0 +193 352 0 +193 353 0 +193 354 0 +193 355 0 +193 356 0 +193 357 0 +193 358 0 +193 359 0 +193 360 0 +193 361 0 +193 362 0 +193 363 0 +193 364 0 +193 365 0 +193 366 0 +193 367 0 +193 368 0 +193 369 0 +193 370 0 +193 371 0 +193 372 0 +193 373 0 +193 374 0 +193 375 0 +193 376 0 +193 377 0 +193 378 0 +193 379 0 +193 380 0 +193 381 0 +193 382 0 +193 383 0 +194 195 16 +194 196 16 +194 197 16 +194 198 16 +194 199 16 +194 200 16 +194 201 16 +194 202 16 +194 203 16 +194 204 16 +194 205 16 +194 206 16 +194 207 16 +194 208 16 +194 209 16 +194 210 16 +194 211 16 +194 212 16 +194 213 16 +194 214 16 +194 215 16 +194 216 16 +194 217 16 +194 218 16 +194 219 16 +194 220 16 +194 221 16 +194 222 16 +194 223 16 +194 224 16 +194 225 16 +194 226 16 +194 227 16 +194 228 16 +194 229 16 +194 230 16 +194 231 16 +194 232 16 +194 233 16 +194 234 16 +194 235 16 +194 236 16 +194 237 16 +194 238 16 +194 239 16 +194 240 16 +194 241 16 +194 242 16 +194 243 16 +194 244 16 +194 245 16 +194 246 16 +194 247 16 +194 248 16 +194 249 16 +194 250 16 +194 251 16 +194 252 16 +194 253 16 +194 254 16 +194 255 16 +194 256 16 +194 257 16 +194 258 16 +194 259 16 +194 260 16 +194 261 16 +194 262 16 +194 263 16 +194 264 16 +194 265 16 +194 266 16 +194 267 16 +194 268 16 +194 269 16 +194 270 16 +194 271 16 +194 272 16 +194 273 16 +194 274 16 +194 275 16 +194 276 16 +194 277 16 +194 278 16 +194 279 16 +194 280 16 +194 281 16 +194 282 16 +194 283 16 +194 284 16 +194 285 16 +194 286 16 +194 287 16 +194 288 16 +194 289 16 +194 290 16 +194 291 16 +194 292 16 +194 293 16 +194 294 16 +194 295 16 +194 296 16 +194 297 16 +194 298 16 +194 299 16 +194 300 16 +194 301 16 +194 302 16 +194 303 16 +194 304 16 +194 305 16 +194 306 16 +194 307 16 +194 308 16 +194 309 16 +194 310 16 +194 311 16 +194 312 16 +194 313 16 +194 314 16 +194 315 16 +194 316 16 +194 317 16 +194 318 16 +194 319 16 +194 320 16 +194 321 16 +194 322 16 +194 323 16 +194 324 16 +194 325 16 +194 326 16 +194 327 16 +194 328 16 +194 329 16 +194 330 16 +194 331 16 +194 332 16 +194 333 16 +194 334 16 +194 335 16 +194 336 16 +194 337 16 +194 338 16 +194 339 16 +194 340 16 +194 341 16 +194 342 16 +194 343 16 +194 344 16 +194 345 16 +194 346 16 +194 347 16 +194 348 16 +194 349 16 +194 350 0 +194 351 0 +194 352 0 +194 353 0 +194 354 0 +194 355 0 +194 356 0 +194 357 0 +194 358 0 +194 359 0 +194 360 0 +194 361 0 +194 362 0 +194 363 0 +194 364 0 +194 365 0 +194 366 0 +194 367 0 +194 368 0 +194 369 0 +194 370 0 +194 371 0 +194 372 0 +194 373 0 +194 374 0 +194 375 0 +194 376 0 +194 377 0 +194 378 0 +194 379 0 +194 380 0 +194 381 0 +194 382 0 +194 383 0 +195 196 16 +195 197 16 +195 198 16 +195 199 16 +195 200 16 +195 201 16 +195 202 16 +195 203 16 +195 204 16 +195 205 16 +195 206 16 +195 207 16 +195 208 16 +195 209 16 +195 210 16 +195 211 16 +195 212 16 +195 213 16 +195 214 16 +195 215 16 +195 216 16 +195 217 16 +195 218 16 +195 219 16 +195 220 16 +195 221 16 +195 222 16 +195 223 16 +195 224 16 +195 225 16 +195 226 16 +195 227 16 +195 228 16 +195 229 16 +195 230 16 +195 231 16 +195 232 16 +195 233 16 +195 234 16 +195 235 16 +195 236 16 +195 237 16 +195 238 16 +195 239 16 +195 240 16 +195 241 16 +195 242 16 +195 243 16 +195 244 16 +195 245 16 +195 246 16 +195 247 16 +195 248 16 +195 249 16 +195 250 16 +195 251 16 +195 252 16 +195 253 16 +195 254 16 +195 255 16 +195 256 16 +195 257 16 +195 258 16 +195 259 16 +195 260 16 +195 261 16 +195 262 16 +195 263 16 +195 264 16 +195 265 16 +195 266 16 +195 267 16 +195 268 16 +195 269 16 +195 270 16 +195 271 16 +195 272 16 +195 273 16 +195 274 16 +195 275 16 +195 276 16 +195 277 16 +195 278 16 +195 279 16 +195 280 16 +195 281 16 +195 282 16 +195 283 16 +195 284 16 +195 285 16 +195 286 16 +195 287 16 +195 288 16 +195 289 16 +195 290 16 +195 291 16 +195 292 16 +195 293 16 +195 294 16 +195 295 16 +195 296 16 +195 297 16 +195 298 16 +195 299 16 +195 300 16 +195 301 16 +195 302 16 +195 303 16 +195 304 16 +195 305 16 +195 306 16 +195 307 16 +195 308 16 +195 309 16 +195 310 16 +195 311 16 +195 312 16 +195 313 16 +195 314 16 +195 315 16 +195 316 16 +195 317 16 +195 318 16 +195 319 16 +195 320 16 +195 321 16 +195 322 16 +195 323 16 +195 324 16 +195 325 16 +195 326 16 +195 327 16 +195 328 16 +195 329 16 +195 330 16 +195 331 16 +195 332 16 +195 333 16 +195 334 16 +195 335 16 +195 336 16 +195 337 16 +195 338 16 +195 339 16 +195 340 16 +195 341 16 +195 342 16 +195 343 16 +195 344 16 +195 345 16 +195 346 16 +195 347 16 +195 348 16 +195 349 16 +195 350 0 +195 351 0 +195 352 0 +195 353 0 +195 354 0 +195 355 0 +195 356 0 +195 357 0 +195 358 0 +195 359 0 +195 360 0 +195 361 0 +195 362 0 +195 363 0 +195 364 0 +195 365 0 +195 366 0 +195 367 0 +195 368 0 +195 369 0 +195 370 0 +195 371 0 +195 372 0 +195 373 0 +195 374 0 +195 375 0 +195 376 0 +195 377 0 +195 378 0 +195 379 0 +195 380 0 +195 381 0 +195 382 0 +195 383 0 +196 197 16 +196 198 16 +196 199 16 +196 200 16 +196 201 16 +196 202 16 +196 203 16 +196 204 16 +196 205 16 +196 206 16 +196 207 16 +196 208 16 +196 209 16 +196 210 16 +196 211 16 +196 212 16 +196 213 16 +196 214 16 +196 215 16 +196 216 16 +196 217 16 +196 218 16 +196 219 16 +196 220 16 +196 221 16 +196 222 16 +196 223 16 +196 224 16 +196 225 16 +196 226 16 +196 227 16 +196 228 16 +196 229 16 +196 230 16 +196 231 16 +196 232 16 +196 233 16 +196 234 16 +196 235 16 +196 236 16 +196 237 16 +196 238 16 +196 239 16 +196 240 16 +196 241 16 +196 242 16 +196 243 16 +196 244 16 +196 245 16 +196 246 16 +196 247 16 +196 248 16 +196 249 16 +196 250 16 +196 251 16 +196 252 16 +196 253 16 +196 254 16 +196 255 16 +196 256 16 +196 257 16 +196 258 16 +196 259 16 +196 260 16 +196 261 16 +196 262 16 +196 263 16 +196 264 16 +196 265 16 +196 266 16 +196 267 16 +196 268 16 +196 269 16 +196 270 16 +196 271 16 +196 272 16 +196 273 16 +196 274 16 +196 275 16 +196 276 16 +196 277 16 +196 278 16 +196 279 16 +196 280 16 +196 281 16 +196 282 16 +196 283 16 +196 284 16 +196 285 16 +196 286 16 +196 287 16 +196 288 16 +196 289 16 +196 290 16 +196 291 16 +196 292 16 +196 293 16 +196 294 16 +196 295 16 +196 296 16 +196 297 16 +196 298 16 +196 299 16 +196 300 16 +196 301 16 +196 302 16 +196 303 16 +196 304 16 +196 305 16 +196 306 16 +196 307 16 +196 308 16 +196 309 16 +196 310 16 +196 311 16 +196 312 16 +196 313 16 +196 314 16 +196 315 16 +196 316 16 +196 317 16 +196 318 16 +196 319 16 +196 320 16 +196 321 16 +196 322 16 +196 323 16 +196 324 16 +196 325 16 +196 326 16 +196 327 16 +196 328 16 +196 329 16 +196 330 16 +196 331 16 +196 332 16 +196 333 16 +196 334 16 +196 335 16 +196 336 16 +196 337 16 +196 338 16 +196 339 16 +196 340 16 +196 341 16 +196 342 16 +196 343 16 +196 344 16 +196 345 16 +196 346 16 +196 347 16 +196 348 16 +196 349 16 +196 350 0 +196 351 0 +196 352 0 +196 353 0 +196 354 0 +196 355 0 +196 356 0 +196 357 0 +196 358 0 +196 359 0 +196 360 0 +196 361 0 +196 362 0 +196 363 0 +196 364 0 +196 365 0 +196 366 0 +196 367 0 +196 368 0 +196 369 0 +196 370 0 +196 371 0 +196 372 0 +196 373 0 +196 374 0 +196 375 0 +196 376 0 +196 377 0 +196 378 0 +196 379 0 +196 380 0 +196 381 0 +196 382 0 +196 383 0 +197 198 16 +197 199 16 +197 200 16 +197 201 16 +197 202 16 +197 203 16 +197 204 16 +197 205 16 +197 206 16 +197 207 16 +197 208 16 +197 209 16 +197 210 16 +197 211 16 +197 212 16 +197 213 16 +197 214 16 +197 215 16 +197 216 16 +197 217 16 +197 218 16 +197 219 16 +197 220 16 +197 221 16 +197 222 16 +197 223 16 +197 224 16 +197 225 16 +197 226 16 +197 227 16 +197 228 16 +197 229 16 +197 230 16 +197 231 16 +197 232 16 +197 233 16 +197 234 16 +197 235 16 +197 236 16 +197 237 16 +197 238 16 +197 239 16 +197 240 16 +197 241 16 +197 242 16 +197 243 16 +197 244 16 +197 245 16 +197 246 16 +197 247 16 +197 248 16 +197 249 16 +197 250 16 +197 251 16 +197 252 16 +197 253 16 +197 254 16 +197 255 16 +197 256 16 +197 257 16 +197 258 16 +197 259 16 +197 260 16 +197 261 16 +197 262 16 +197 263 16 +197 264 16 +197 265 16 +197 266 16 +197 267 16 +197 268 16 +197 269 16 +197 270 16 +197 271 16 +197 272 16 +197 273 16 +197 274 16 +197 275 16 +197 276 16 +197 277 16 +197 278 16 +197 279 16 +197 280 16 +197 281 16 +197 282 16 +197 283 16 +197 284 16 +197 285 16 +197 286 16 +197 287 16 +197 288 16 +197 289 16 +197 290 16 +197 291 16 +197 292 16 +197 293 16 +197 294 16 +197 295 16 +197 296 16 +197 297 16 +197 298 16 +197 299 16 +197 300 16 +197 301 16 +197 302 16 +197 303 16 +197 304 16 +197 305 16 +197 306 16 +197 307 16 +197 308 16 +197 309 16 +197 310 16 +197 311 16 +197 312 16 +197 313 16 +197 314 16 +197 315 16 +197 316 16 +197 317 16 +197 318 16 +197 319 16 +197 320 16 +197 321 16 +197 322 16 +197 323 16 +197 324 16 +197 325 16 +197 326 16 +197 327 16 +197 328 16 +197 329 16 +197 330 16 +197 331 16 +197 332 16 +197 333 16 +197 334 16 +197 335 16 +197 336 16 +197 337 16 +197 338 16 +197 339 16 +197 340 16 +197 341 16 +197 342 16 +197 343 16 +197 344 16 +197 345 16 +197 346 16 +197 347 16 +197 348 16 +197 349 16 +197 350 0 +197 351 0 +197 352 0 +197 353 0 +197 354 0 +197 355 0 +197 356 0 +197 357 0 +197 358 0 +197 359 0 +197 360 0 +197 361 0 +197 362 0 +197 363 0 +197 364 0 +197 365 0 +197 366 0 +197 367 0 +197 368 0 +197 369 0 +197 370 0 +197 371 0 +197 372 0 +197 373 0 +197 374 0 +197 375 0 +197 376 0 +197 377 0 +197 378 0 +197 379 0 +197 380 0 +197 381 0 +197 382 0 +197 383 0 +198 199 16 +198 200 16 +198 201 16 +198 202 16 +198 203 16 +198 204 16 +198 205 16 +198 206 16 +198 207 16 +198 208 16 +198 209 16 +198 210 16 +198 211 16 +198 212 16 +198 213 16 +198 214 16 +198 215 16 +198 216 16 +198 217 16 +198 218 16 +198 219 16 +198 220 16 +198 221 16 +198 222 16 +198 223 16 +198 224 16 +198 225 16 +198 226 16 +198 227 16 +198 228 16 +198 229 16 +198 230 16 +198 231 16 +198 232 16 +198 233 16 +198 234 16 +198 235 16 +198 236 16 +198 237 16 +198 238 16 +198 239 16 +198 240 16 +198 241 16 +198 242 16 +198 243 16 +198 244 16 +198 245 16 +198 246 16 +198 247 16 +198 248 16 +198 249 16 +198 250 16 +198 251 16 +198 252 16 +198 253 16 +198 254 16 +198 255 16 +198 256 16 +198 257 16 +198 258 16 +198 259 16 +198 260 16 +198 261 16 +198 262 16 +198 263 16 +198 264 16 +198 265 16 +198 266 16 +198 267 16 +198 268 16 +198 269 16 +198 270 16 +198 271 16 +198 272 16 +198 273 16 +198 274 16 +198 275 16 +198 276 16 +198 277 16 +198 278 16 +198 279 16 +198 280 16 +198 281 16 +198 282 16 +198 283 16 +198 284 16 +198 285 16 +198 286 16 +198 287 16 +198 288 16 +198 289 16 +198 290 16 +198 291 16 +198 292 16 +198 293 16 +198 294 16 +198 295 16 +198 296 16 +198 297 16 +198 298 16 +198 299 16 +198 300 16 +198 301 16 +198 302 16 +198 303 16 +198 304 16 +198 305 16 +198 306 16 +198 307 16 +198 308 16 +198 309 16 +198 310 16 +198 311 16 +198 312 16 +198 313 16 +198 314 16 +198 315 16 +198 316 16 +198 317 16 +198 318 16 +198 319 16 +198 320 16 +198 321 16 +198 322 16 +198 323 16 +198 324 16 +198 325 16 +198 326 16 +198 327 16 +198 328 16 +198 329 16 +198 330 16 +198 331 16 +198 332 16 +198 333 16 +198 334 16 +198 335 16 +198 336 16 +198 337 16 +198 338 16 +198 339 16 +198 340 16 +198 341 16 +198 342 16 +198 343 16 +198 344 16 +198 345 16 +198 346 16 +198 347 16 +198 348 16 +198 349 16 +198 350 0 +198 351 0 +198 352 0 +198 353 0 +198 354 0 +198 355 0 +198 356 0 +198 357 0 +198 358 0 +198 359 0 +198 360 0 +198 361 0 +198 362 0 +198 363 0 +198 364 0 +198 365 0 +198 366 0 +198 367 0 +198 368 0 +198 369 0 +198 370 0 +198 371 0 +198 372 0 +198 373 0 +198 374 0 +198 375 0 +198 376 0 +198 377 0 +198 378 0 +198 379 0 +198 380 0 +198 381 0 +198 382 0 +198 383 0 +199 200 16 +199 201 16 +199 202 16 +199 203 16 +199 204 16 +199 205 16 +199 206 16 +199 207 16 +199 208 16 +199 209 16 +199 210 16 +199 211 16 +199 212 16 +199 213 16 +199 214 16 +199 215 16 +199 216 16 +199 217 16 +199 218 16 +199 219 16 +199 220 16 +199 221 16 +199 222 16 +199 223 16 +199 224 16 +199 225 16 +199 226 16 +199 227 16 +199 228 16 +199 229 16 +199 230 16 +199 231 16 +199 232 16 +199 233 16 +199 234 16 +199 235 16 +199 236 16 +199 237 16 +199 238 16 +199 239 16 +199 240 16 +199 241 16 +199 242 16 +199 243 16 +199 244 16 +199 245 16 +199 246 16 +199 247 16 +199 248 16 +199 249 16 +199 250 16 +199 251 16 +199 252 16 +199 253 16 +199 254 16 +199 255 16 +199 256 16 +199 257 16 +199 258 16 +199 259 16 +199 260 16 +199 261 16 +199 262 16 +199 263 16 +199 264 16 +199 265 16 +199 266 16 +199 267 16 +199 268 16 +199 269 16 +199 270 16 +199 271 16 +199 272 16 +199 273 16 +199 274 16 +199 275 16 +199 276 16 +199 277 16 +199 278 16 +199 279 16 +199 280 16 +199 281 16 +199 282 16 +199 283 16 +199 284 16 +199 285 16 +199 286 16 +199 287 16 +199 288 16 +199 289 16 +199 290 16 +199 291 16 +199 292 16 +199 293 16 +199 294 16 +199 295 16 +199 296 16 +199 297 16 +199 298 16 +199 299 16 +199 300 16 +199 301 16 +199 302 16 +199 303 16 +199 304 16 +199 305 16 +199 306 16 +199 307 16 +199 308 16 +199 309 16 +199 310 16 +199 311 16 +199 312 16 +199 313 16 +199 314 16 +199 315 16 +199 316 16 +199 317 16 +199 318 16 +199 319 16 +199 320 16 +199 321 16 +199 322 16 +199 323 16 +199 324 16 +199 325 16 +199 326 16 +199 327 16 +199 328 16 +199 329 16 +199 330 16 +199 331 16 +199 332 16 +199 333 16 +199 334 16 +199 335 16 +199 336 16 +199 337 16 +199 338 16 +199 339 16 +199 340 16 +199 341 16 +199 342 16 +199 343 16 +199 344 16 +199 345 16 +199 346 16 +199 347 16 +199 348 16 +199 349 16 +199 350 0 +199 351 0 +199 352 0 +199 353 0 +199 354 0 +199 355 0 +199 356 0 +199 357 0 +199 358 0 +199 359 0 +199 360 0 +199 361 0 +199 362 0 +199 363 0 +199 364 0 +199 365 0 +199 366 0 +199 367 0 +199 368 0 +199 369 0 +199 370 0 +199 371 0 +199 372 0 +199 373 0 +199 374 0 +199 375 0 +199 376 0 +199 377 0 +199 378 0 +199 379 0 +199 380 0 +199 381 0 +199 382 0 +199 383 0 +200 201 16 +200 202 16 +200 203 16 +200 204 16 +200 205 16 +200 206 16 +200 207 16 +200 208 16 +200 209 16 +200 210 16 +200 211 16 +200 212 16 +200 213 16 +200 214 16 +200 215 16 +200 216 16 +200 217 16 +200 218 16 +200 219 16 +200 220 16 +200 221 16 +200 222 16 +200 223 16 +200 224 16 +200 225 16 +200 226 16 +200 227 16 +200 228 16 +200 229 16 +200 230 16 +200 231 16 +200 232 16 +200 233 16 +200 234 16 +200 235 16 +200 236 16 +200 237 16 +200 238 16 +200 239 16 +200 240 16 +200 241 16 +200 242 16 +200 243 16 +200 244 16 +200 245 16 +200 246 16 +200 247 16 +200 248 16 +200 249 16 +200 250 16 +200 251 16 +200 252 16 +200 253 16 +200 254 16 +200 255 16 +200 256 16 +200 257 16 +200 258 16 +200 259 16 +200 260 16 +200 261 16 +200 262 16 +200 263 16 +200 264 16 +200 265 16 +200 266 16 +200 267 16 +200 268 16 +200 269 16 +200 270 16 +200 271 16 +200 272 16 +200 273 16 +200 274 16 +200 275 16 +200 276 16 +200 277 16 +200 278 16 +200 279 16 +200 280 16 +200 281 16 +200 282 16 +200 283 16 +200 284 16 +200 285 16 +200 286 16 +200 287 16 +200 288 16 +200 289 16 +200 290 16 +200 291 16 +200 292 16 +200 293 16 +200 294 16 +200 295 16 +200 296 16 +200 297 16 +200 298 16 +200 299 16 +200 300 16 +200 301 16 +200 302 16 +200 303 16 +200 304 16 +200 305 16 +200 306 16 +200 307 16 +200 308 16 +200 309 16 +200 310 16 +200 311 16 +200 312 16 +200 313 16 +200 314 16 +200 315 16 +200 316 16 +200 317 16 +200 318 16 +200 319 16 +200 320 16 +200 321 16 +200 322 16 +200 323 16 +200 324 16 +200 325 16 +200 326 16 +200 327 16 +200 328 16 +200 329 16 +200 330 16 +200 331 16 +200 332 16 +200 333 16 +200 334 16 +200 335 16 +200 336 16 +200 337 16 +200 338 16 +200 339 16 +200 340 16 +200 341 16 +200 342 16 +200 343 16 +200 344 16 +200 345 16 +200 346 16 +200 347 16 +200 348 16 +200 349 16 +200 350 0 +200 351 0 +200 352 0 +200 353 0 +200 354 0 +200 355 0 +200 356 0 +200 357 0 +200 358 0 +200 359 0 +200 360 0 +200 361 0 +200 362 0 +200 363 0 +200 364 0 +200 365 0 +200 366 0 +200 367 0 +200 368 0 +200 369 0 +200 370 0 +200 371 0 +200 372 0 +200 373 0 +200 374 0 +200 375 0 +200 376 0 +200 377 0 +200 378 0 +200 379 0 +200 380 0 +200 381 0 +200 382 0 +200 383 0 +201 202 16 +201 203 16 +201 204 16 +201 205 16 +201 206 16 +201 207 16 +201 208 16 +201 209 16 +201 210 16 +201 211 16 +201 212 16 +201 213 16 +201 214 16 +201 215 16 +201 216 16 +201 217 16 +201 218 16 +201 219 16 +201 220 16 +201 221 16 +201 222 16 +201 223 16 +201 224 16 +201 225 16 +201 226 16 +201 227 16 +201 228 16 +201 229 16 +201 230 16 +201 231 16 +201 232 16 +201 233 16 +201 234 16 +201 235 16 +201 236 16 +201 237 16 +201 238 16 +201 239 16 +201 240 16 +201 241 16 +201 242 16 +201 243 16 +201 244 16 +201 245 16 +201 246 16 +201 247 16 +201 248 16 +201 249 16 +201 250 16 +201 251 16 +201 252 16 +201 253 16 +201 254 16 +201 255 16 +201 256 16 +201 257 16 +201 258 16 +201 259 16 +201 260 16 +201 261 16 +201 262 16 +201 263 16 +201 264 16 +201 265 16 +201 266 16 +201 267 16 +201 268 16 +201 269 16 +201 270 16 +201 271 16 +201 272 16 +201 273 16 +201 274 16 +201 275 16 +201 276 16 +201 277 16 +201 278 16 +201 279 16 +201 280 16 +201 281 16 +201 282 16 +201 283 16 +201 284 16 +201 285 16 +201 286 16 +201 287 16 +201 288 16 +201 289 16 +201 290 16 +201 291 16 +201 292 16 +201 293 16 +201 294 16 +201 295 16 +201 296 16 +201 297 16 +201 298 16 +201 299 16 +201 300 16 +201 301 16 +201 302 16 +201 303 16 +201 304 16 +201 305 16 +201 306 16 +201 307 16 +201 308 16 +201 309 16 +201 310 16 +201 311 16 +201 312 16 +201 313 16 +201 314 16 +201 315 16 +201 316 16 +201 317 16 +201 318 16 +201 319 16 +201 320 16 +201 321 16 +201 322 16 +201 323 16 +201 324 16 +201 325 16 +201 326 16 +201 327 16 +201 328 16 +201 329 16 +201 330 16 +201 331 16 +201 332 16 +201 333 16 +201 334 16 +201 335 16 +201 336 16 +201 337 16 +201 338 16 +201 339 16 +201 340 16 +201 341 16 +201 342 16 +201 343 16 +201 344 16 +201 345 16 +201 346 16 +201 347 16 +201 348 16 +201 349 16 +201 350 0 +201 351 0 +201 352 0 +201 353 0 +201 354 0 +201 355 0 +201 356 0 +201 357 0 +201 358 0 +201 359 0 +201 360 0 +201 361 0 +201 362 0 +201 363 0 +201 364 0 +201 365 0 +201 366 0 +201 367 0 +201 368 0 +201 369 0 +201 370 0 +201 371 0 +201 372 0 +201 373 0 +201 374 0 +201 375 0 +201 376 0 +201 377 0 +201 378 0 +201 379 0 +201 380 0 +201 381 0 +201 382 0 +201 383 0 +202 203 16 +202 204 16 +202 205 16 +202 206 16 +202 207 16 +202 208 16 +202 209 16 +202 210 16 +202 211 16 +202 212 16 +202 213 16 +202 214 16 +202 215 16 +202 216 16 +202 217 16 +202 218 16 +202 219 16 +202 220 16 +202 221 16 +202 222 16 +202 223 16 +202 224 16 +202 225 16 +202 226 16 +202 227 16 +202 228 16 +202 229 16 +202 230 16 +202 231 16 +202 232 16 +202 233 16 +202 234 16 +202 235 16 +202 236 16 +202 237 16 +202 238 16 +202 239 16 +202 240 16 +202 241 16 +202 242 16 +202 243 16 +202 244 16 +202 245 16 +202 246 16 +202 247 16 +202 248 16 +202 249 16 +202 250 16 +202 251 16 +202 252 16 +202 253 16 +202 254 16 +202 255 16 +202 256 16 +202 257 16 +202 258 16 +202 259 16 +202 260 16 +202 261 16 +202 262 16 +202 263 16 +202 264 16 +202 265 16 +202 266 16 +202 267 16 +202 268 16 +202 269 16 +202 270 16 +202 271 16 +202 272 16 +202 273 16 +202 274 16 +202 275 16 +202 276 16 +202 277 16 +202 278 16 +202 279 16 +202 280 16 +202 281 16 +202 282 16 +202 283 16 +202 284 16 +202 285 16 +202 286 16 +202 287 16 +202 288 16 +202 289 16 +202 290 16 +202 291 16 +202 292 16 +202 293 16 +202 294 16 +202 295 16 +202 296 16 +202 297 16 +202 298 16 +202 299 16 +202 300 16 +202 301 16 +202 302 16 +202 303 16 +202 304 16 +202 305 16 +202 306 16 +202 307 16 +202 308 16 +202 309 16 +202 310 16 +202 311 16 +202 312 16 +202 313 16 +202 314 16 +202 315 16 +202 316 16 +202 317 16 +202 318 16 +202 319 16 +202 320 16 +202 321 16 +202 322 16 +202 323 16 +202 324 16 +202 325 16 +202 326 16 +202 327 16 +202 328 16 +202 329 16 +202 330 16 +202 331 16 +202 332 16 +202 333 16 +202 334 16 +202 335 16 +202 336 16 +202 337 16 +202 338 16 +202 339 16 +202 340 16 +202 341 16 +202 342 16 +202 343 16 +202 344 16 +202 345 16 +202 346 16 +202 347 16 +202 348 16 +202 349 16 +202 350 0 +202 351 0 +202 352 0 +202 353 0 +202 354 0 +202 355 0 +202 356 0 +202 357 0 +202 358 0 +202 359 0 +202 360 0 +202 361 0 +202 362 0 +202 363 0 +202 364 0 +202 365 0 +202 366 0 +202 367 0 +202 368 0 +202 369 0 +202 370 0 +202 371 0 +202 372 0 +202 373 0 +202 374 0 +202 375 0 +202 376 0 +202 377 0 +202 378 0 +202 379 0 +202 380 0 +202 381 0 +202 382 0 +202 383 0 +203 204 16 +203 205 16 +203 206 16 +203 207 16 +203 208 16 +203 209 16 +203 210 16 +203 211 16 +203 212 16 +203 213 16 +203 214 16 +203 215 16 +203 216 16 +203 217 16 +203 218 16 +203 219 16 +203 220 16 +203 221 16 +203 222 16 +203 223 16 +203 224 16 +203 225 16 +203 226 16 +203 227 16 +203 228 16 +203 229 16 +203 230 16 +203 231 16 +203 232 16 +203 233 16 +203 234 16 +203 235 16 +203 236 16 +203 237 16 +203 238 16 +203 239 16 +203 240 16 +203 241 16 +203 242 16 +203 243 16 +203 244 16 +203 245 16 +203 246 16 +203 247 16 +203 248 16 +203 249 16 +203 250 16 +203 251 16 +203 252 16 +203 253 16 +203 254 16 +203 255 16 +203 256 16 +203 257 16 +203 258 16 +203 259 16 +203 260 16 +203 261 16 +203 262 16 +203 263 16 +203 264 16 +203 265 16 +203 266 16 +203 267 16 +203 268 16 +203 269 16 +203 270 16 +203 271 16 +203 272 16 +203 273 16 +203 274 16 +203 275 16 +203 276 16 +203 277 16 +203 278 16 +203 279 16 +203 280 16 +203 281 16 +203 282 16 +203 283 16 +203 284 16 +203 285 16 +203 286 16 +203 287 16 +203 288 16 +203 289 16 +203 290 16 +203 291 16 +203 292 16 +203 293 16 +203 294 16 +203 295 16 +203 296 16 +203 297 16 +203 298 16 +203 299 16 +203 300 16 +203 301 16 +203 302 16 +203 303 16 +203 304 16 +203 305 16 +203 306 16 +203 307 16 +203 308 16 +203 309 16 +203 310 16 +203 311 16 +203 312 16 +203 313 16 +203 314 16 +203 315 16 +203 316 16 +203 317 16 +203 318 16 +203 319 16 +203 320 16 +203 321 16 +203 322 16 +203 323 16 +203 324 16 +203 325 16 +203 326 16 +203 327 16 +203 328 16 +203 329 16 +203 330 16 +203 331 16 +203 332 16 +203 333 16 +203 334 16 +203 335 16 +203 336 16 +203 337 16 +203 338 16 +203 339 16 +203 340 16 +203 341 16 +203 342 16 +203 343 16 +203 344 16 +203 345 16 +203 346 16 +203 347 16 +203 348 16 +203 349 16 +203 350 0 +203 351 0 +203 352 0 +203 353 0 +203 354 0 +203 355 0 +203 356 0 +203 357 0 +203 358 0 +203 359 0 +203 360 0 +203 361 0 +203 362 0 +203 363 0 +203 364 0 +203 365 0 +203 366 0 +203 367 0 +203 368 0 +203 369 0 +203 370 0 +203 371 0 +203 372 0 +203 373 0 +203 374 0 +203 375 0 +203 376 0 +203 377 0 +203 378 0 +203 379 0 +203 380 0 +203 381 0 +203 382 0 +203 383 0 +204 205 16 +204 206 16 +204 207 16 +204 208 16 +204 209 16 +204 210 16 +204 211 16 +204 212 16 +204 213 16 +204 214 16 +204 215 16 +204 216 16 +204 217 16 +204 218 16 +204 219 16 +204 220 16 +204 221 16 +204 222 16 +204 223 16 +204 224 16 +204 225 16 +204 226 16 +204 227 16 +204 228 16 +204 229 16 +204 230 16 +204 231 16 +204 232 16 +204 233 16 +204 234 16 +204 235 16 +204 236 16 +204 237 16 +204 238 16 +204 239 16 +204 240 16 +204 241 16 +204 242 16 +204 243 16 +204 244 16 +204 245 16 +204 246 16 +204 247 16 +204 248 16 +204 249 16 +204 250 16 +204 251 16 +204 252 16 +204 253 16 +204 254 16 +204 255 16 +204 256 16 +204 257 16 +204 258 16 +204 259 16 +204 260 16 +204 261 16 +204 262 16 +204 263 16 +204 264 16 +204 265 16 +204 266 16 +204 267 16 +204 268 16 +204 269 16 +204 270 16 +204 271 16 +204 272 16 +204 273 16 +204 274 16 +204 275 16 +204 276 16 +204 277 16 +204 278 16 +204 279 16 +204 280 16 +204 281 16 +204 282 16 +204 283 16 +204 284 16 +204 285 16 +204 286 16 +204 287 16 +204 288 16 +204 289 16 +204 290 16 +204 291 16 +204 292 16 +204 293 16 +204 294 16 +204 295 16 +204 296 16 +204 297 16 +204 298 16 +204 299 16 +204 300 16 +204 301 16 +204 302 16 +204 303 16 +204 304 16 +204 305 16 +204 306 16 +204 307 16 +204 308 16 +204 309 16 +204 310 16 +204 311 16 +204 312 16 +204 313 16 +204 314 16 +204 315 16 +204 316 16 +204 317 16 +204 318 16 +204 319 16 +204 320 16 +204 321 16 +204 322 16 +204 323 16 +204 324 16 +204 325 16 +204 326 16 +204 327 16 +204 328 16 +204 329 16 +204 330 16 +204 331 16 +204 332 16 +204 333 16 +204 334 16 +204 335 16 +204 336 16 +204 337 16 +204 338 16 +204 339 16 +204 340 16 +204 341 16 +204 342 16 +204 343 16 +204 344 16 +204 345 16 +204 346 16 +204 347 16 +204 348 16 +204 349 16 +204 350 0 +204 351 0 +204 352 0 +204 353 0 +204 354 0 +204 355 0 +204 356 0 +204 357 0 +204 358 0 +204 359 0 +204 360 0 +204 361 0 +204 362 0 +204 363 0 +204 364 0 +204 365 0 +204 366 0 +204 367 0 +204 368 0 +204 369 0 +204 370 0 +204 371 0 +204 372 0 +204 373 0 +204 374 0 +204 375 0 +204 376 0 +204 377 0 +204 378 0 +204 379 0 +204 380 0 +204 381 0 +204 382 0 +204 383 0 +205 206 16 +205 207 16 +205 208 16 +205 209 16 +205 210 16 +205 211 16 +205 212 16 +205 213 16 +205 214 16 +205 215 16 +205 216 16 +205 217 16 +205 218 16 +205 219 16 +205 220 16 +205 221 16 +205 222 16 +205 223 16 +205 224 16 +205 225 16 +205 226 16 +205 227 16 +205 228 16 +205 229 16 +205 230 16 +205 231 16 +205 232 16 +205 233 16 +205 234 16 +205 235 16 +205 236 16 +205 237 16 +205 238 16 +205 239 16 +205 240 16 +205 241 16 +205 242 16 +205 243 16 +205 244 16 +205 245 16 +205 246 16 +205 247 16 +205 248 16 +205 249 16 +205 250 16 +205 251 16 +205 252 16 +205 253 16 +205 254 16 +205 255 16 +205 256 16 +205 257 16 +205 258 16 +205 259 16 +205 260 16 +205 261 16 +205 262 16 +205 263 16 +205 264 16 +205 265 16 +205 266 16 +205 267 16 +205 268 16 +205 269 16 +205 270 16 +205 271 16 +205 272 16 +205 273 16 +205 274 16 +205 275 16 +205 276 16 +205 277 16 +205 278 16 +205 279 16 +205 280 16 +205 281 16 +205 282 16 +205 283 16 +205 284 16 +205 285 16 +205 286 16 +205 287 16 +205 288 16 +205 289 16 +205 290 16 +205 291 16 +205 292 16 +205 293 16 +205 294 16 +205 295 16 +205 296 16 +205 297 16 +205 298 16 +205 299 16 +205 300 16 +205 301 16 +205 302 16 +205 303 16 +205 304 16 +205 305 16 +205 306 16 +205 307 16 +205 308 16 +205 309 16 +205 310 16 +205 311 16 +205 312 16 +205 313 16 +205 314 16 +205 315 16 +205 316 16 +205 317 16 +205 318 16 +205 319 16 +205 320 16 +205 321 16 +205 322 16 +205 323 16 +205 324 16 +205 325 16 +205 326 16 +205 327 16 +205 328 16 +205 329 16 +205 330 16 +205 331 16 +205 332 16 +205 333 16 +205 334 16 +205 335 16 +205 336 16 +205 337 16 +205 338 16 +205 339 16 +205 340 16 +205 341 16 +205 342 16 +205 343 16 +205 344 16 +205 345 16 +205 346 16 +205 347 16 +205 348 16 +205 349 16 +205 350 0 +205 351 0 +205 352 0 +205 353 0 +205 354 0 +205 355 0 +205 356 0 +205 357 0 +205 358 0 +205 359 0 +205 360 0 +205 361 0 +205 362 0 +205 363 0 +205 364 0 +205 365 0 +205 366 0 +205 367 0 +205 368 0 +205 369 0 +205 370 0 +205 371 0 +205 372 0 +205 373 0 +205 374 0 +205 375 0 +205 376 0 +205 377 0 +205 378 0 +205 379 0 +205 380 0 +205 381 0 +205 382 0 +205 383 0 +206 207 16 +206 208 16 +206 209 16 +206 210 16 +206 211 16 +206 212 16 +206 213 16 +206 214 16 +206 215 16 +206 216 16 +206 217 16 +206 218 16 +206 219 16 +206 220 16 +206 221 16 +206 222 16 +206 223 16 +206 224 16 +206 225 16 +206 226 16 +206 227 16 +206 228 16 +206 229 16 +206 230 16 +206 231 16 +206 232 16 +206 233 16 +206 234 16 +206 235 16 +206 236 16 +206 237 16 +206 238 16 +206 239 16 +206 240 16 +206 241 16 +206 242 16 +206 243 16 +206 244 16 +206 245 16 +206 246 16 +206 247 16 +206 248 16 +206 249 16 +206 250 16 +206 251 16 +206 252 16 +206 253 16 +206 254 16 +206 255 16 +206 256 16 +206 257 16 +206 258 16 +206 259 16 +206 260 16 +206 261 16 +206 262 16 +206 263 16 +206 264 16 +206 265 16 +206 266 16 +206 267 16 +206 268 16 +206 269 16 +206 270 16 +206 271 16 +206 272 16 +206 273 16 +206 274 16 +206 275 16 +206 276 16 +206 277 16 +206 278 16 +206 279 16 +206 280 16 +206 281 16 +206 282 16 +206 283 16 +206 284 16 +206 285 16 +206 286 16 +206 287 16 +206 288 16 +206 289 16 +206 290 16 +206 291 16 +206 292 16 +206 293 16 +206 294 16 +206 295 16 +206 296 16 +206 297 16 +206 298 16 +206 299 16 +206 300 16 +206 301 16 +206 302 16 +206 303 16 +206 304 16 +206 305 16 +206 306 16 +206 307 16 +206 308 16 +206 309 16 +206 310 16 +206 311 16 +206 312 16 +206 313 16 +206 314 16 +206 315 16 +206 316 16 +206 317 16 +206 318 16 +206 319 16 +206 320 16 +206 321 16 +206 322 16 +206 323 16 +206 324 16 +206 325 16 +206 326 16 +206 327 16 +206 328 16 +206 329 16 +206 330 16 +206 331 16 +206 332 16 +206 333 16 +206 334 16 +206 335 16 +206 336 16 +206 337 16 +206 338 16 +206 339 16 +206 340 16 +206 341 16 +206 342 16 +206 343 16 +206 344 16 +206 345 16 +206 346 16 +206 347 16 +206 348 16 +206 349 16 +206 350 0 +206 351 0 +206 352 0 +206 353 0 +206 354 0 +206 355 0 +206 356 0 +206 357 0 +206 358 0 +206 359 0 +206 360 0 +206 361 0 +206 362 0 +206 363 0 +206 364 0 +206 365 0 +206 366 0 +206 367 0 +206 368 0 +206 369 0 +206 370 0 +206 371 0 +206 372 0 +206 373 0 +206 374 0 +206 375 0 +206 376 0 +206 377 0 +206 378 0 +206 379 0 +206 380 0 +206 381 0 +206 382 0 +206 383 0 +207 208 16 +207 209 16 +207 210 16 +207 211 16 +207 212 16 +207 213 16 +207 214 16 +207 215 16 +207 216 16 +207 217 16 +207 218 16 +207 219 16 +207 220 16 +207 221 16 +207 222 16 +207 223 16 +207 224 16 +207 225 16 +207 226 16 +207 227 16 +207 228 16 +207 229 16 +207 230 16 +207 231 16 +207 232 16 +207 233 16 +207 234 16 +207 235 16 +207 236 16 +207 237 16 +207 238 16 +207 239 16 +207 240 16 +207 241 16 +207 242 16 +207 243 16 +207 244 16 +207 245 16 +207 246 16 +207 247 16 +207 248 16 +207 249 16 +207 250 16 +207 251 16 +207 252 16 +207 253 16 +207 254 16 +207 255 16 +207 256 16 +207 257 16 +207 258 16 +207 259 16 +207 260 16 +207 261 16 +207 262 16 +207 263 16 +207 264 16 +207 265 16 +207 266 16 +207 267 16 +207 268 16 +207 269 16 +207 270 16 +207 271 16 +207 272 16 +207 273 16 +207 274 16 +207 275 16 +207 276 16 +207 277 16 +207 278 16 +207 279 16 +207 280 16 +207 281 16 +207 282 16 +207 283 16 +207 284 16 +207 285 16 +207 286 16 +207 287 16 +207 288 16 +207 289 16 +207 290 16 +207 291 16 +207 292 16 +207 293 16 +207 294 16 +207 295 16 +207 296 16 +207 297 16 +207 298 16 +207 299 16 +207 300 16 +207 301 16 +207 302 16 +207 303 16 +207 304 16 +207 305 16 +207 306 16 +207 307 16 +207 308 16 +207 309 16 +207 310 16 +207 311 16 +207 312 16 +207 313 16 +207 314 16 +207 315 16 +207 316 16 +207 317 16 +207 318 16 +207 319 16 +207 320 16 +207 321 16 +207 322 16 +207 323 16 +207 324 16 +207 325 16 +207 326 16 +207 327 16 +207 328 16 +207 329 16 +207 330 16 +207 331 16 +207 332 16 +207 333 16 +207 334 16 +207 335 16 +207 336 16 +207 337 16 +207 338 16 +207 339 16 +207 340 16 +207 341 16 +207 342 16 +207 343 16 +207 344 16 +207 345 16 +207 346 16 +207 347 16 +207 348 16 +207 349 16 +207 350 0 +207 351 0 +207 352 0 +207 353 0 +207 354 0 +207 355 0 +207 356 0 +207 357 0 +207 358 0 +207 359 0 +207 360 0 +207 361 0 +207 362 0 +207 363 0 +207 364 0 +207 365 0 +207 366 0 +207 367 0 +207 368 0 +207 369 0 +207 370 0 +207 371 0 +207 372 0 +207 373 0 +207 374 0 +207 375 0 +207 376 0 +207 377 0 +207 378 0 +207 379 0 +207 380 0 +207 381 0 +207 382 0 +207 383 0 +208 209 16 +208 210 16 +208 211 16 +208 212 16 +208 213 16 +208 214 16 +208 215 16 +208 216 16 +208 217 16 +208 218 16 +208 219 16 +208 220 16 +208 221 16 +208 222 16 +208 223 16 +208 224 16 +208 225 16 +208 226 16 +208 227 16 +208 228 16 +208 229 16 +208 230 16 +208 231 16 +208 232 16 +208 233 16 +208 234 16 +208 235 16 +208 236 16 +208 237 16 +208 238 16 +208 239 16 +208 240 16 +208 241 16 +208 242 16 +208 243 16 +208 244 16 +208 245 16 +208 246 16 +208 247 16 +208 248 16 +208 249 16 +208 250 16 +208 251 16 +208 252 16 +208 253 16 +208 254 16 +208 255 16 +208 256 16 +208 257 16 +208 258 16 +208 259 16 +208 260 16 +208 261 16 +208 262 16 +208 263 16 +208 264 16 +208 265 16 +208 266 16 +208 267 16 +208 268 16 +208 269 16 +208 270 16 +208 271 16 +208 272 16 +208 273 16 +208 274 16 +208 275 16 +208 276 16 +208 277 16 +208 278 16 +208 279 16 +208 280 16 +208 281 16 +208 282 16 +208 283 16 +208 284 16 +208 285 16 +208 286 16 +208 287 16 +208 288 16 +208 289 16 +208 290 16 +208 291 16 +208 292 16 +208 293 16 +208 294 16 +208 295 16 +208 296 16 +208 297 16 +208 298 16 +208 299 16 +208 300 16 +208 301 16 +208 302 16 +208 303 16 +208 304 16 +208 305 16 +208 306 16 +208 307 16 +208 308 16 +208 309 16 +208 310 16 +208 311 16 +208 312 16 +208 313 16 +208 314 16 +208 315 16 +208 316 16 +208 317 16 +208 318 16 +208 319 16 +208 320 16 +208 321 16 +208 322 16 +208 323 16 +208 324 16 +208 325 16 +208 326 16 +208 327 16 +208 328 16 +208 329 16 +208 330 16 +208 331 16 +208 332 16 +208 333 16 +208 334 16 +208 335 16 +208 336 16 +208 337 16 +208 338 16 +208 339 16 +208 340 16 +208 341 16 +208 342 16 +208 343 16 +208 344 16 +208 345 16 +208 346 16 +208 347 16 +208 348 16 +208 349 16 +208 350 0 +208 351 0 +208 352 0 +208 353 0 +208 354 0 +208 355 0 +208 356 0 +208 357 0 +208 358 0 +208 359 0 +208 360 0 +208 361 0 +208 362 0 +208 363 0 +208 364 0 +208 365 0 +208 366 0 +208 367 0 +208 368 0 +208 369 0 +208 370 0 +208 371 0 +208 372 0 +208 373 0 +208 374 0 +208 375 0 +208 376 0 +208 377 0 +208 378 0 +208 379 0 +208 380 0 +208 381 0 +208 382 0 +208 383 0 +209 210 16 +209 211 16 +209 212 16 +209 213 16 +209 214 16 +209 215 16 +209 216 16 +209 217 16 +209 218 16 +209 219 16 +209 220 16 +209 221 16 +209 222 16 +209 223 16 +209 224 16 +209 225 16 +209 226 16 +209 227 16 +209 228 16 +209 229 16 +209 230 16 +209 231 16 +209 232 16 +209 233 16 +209 234 16 +209 235 16 +209 236 16 +209 237 16 +209 238 16 +209 239 16 +209 240 16 +209 241 16 +209 242 16 +209 243 16 +209 244 16 +209 245 16 +209 246 16 +209 247 16 +209 248 16 +209 249 16 +209 250 16 +209 251 16 +209 252 16 +209 253 16 +209 254 16 +209 255 16 +209 256 16 +209 257 16 +209 258 16 +209 259 16 +209 260 16 +209 261 16 +209 262 16 +209 263 16 +209 264 16 +209 265 16 +209 266 16 +209 267 16 +209 268 16 +209 269 16 +209 270 16 +209 271 16 +209 272 16 +209 273 16 +209 274 16 +209 275 16 +209 276 16 +209 277 16 +209 278 16 +209 279 16 +209 280 16 +209 281 16 +209 282 16 +209 283 16 +209 284 16 +209 285 16 +209 286 16 +209 287 16 +209 288 16 +209 289 16 +209 290 16 +209 291 16 +209 292 16 +209 293 16 +209 294 16 +209 295 16 +209 296 16 +209 297 16 +209 298 16 +209 299 16 +209 300 16 +209 301 16 +209 302 16 +209 303 16 +209 304 16 +209 305 16 +209 306 16 +209 307 16 +209 308 16 +209 309 16 +209 310 16 +209 311 16 +209 312 16 +209 313 16 +209 314 16 +209 315 16 +209 316 16 +209 317 16 +209 318 16 +209 319 16 +209 320 16 +209 321 16 +209 322 16 +209 323 16 +209 324 16 +209 325 16 +209 326 16 +209 327 16 +209 328 16 +209 329 16 +209 330 16 +209 331 16 +209 332 16 +209 333 16 +209 334 16 +209 335 16 +209 336 16 +209 337 16 +209 338 16 +209 339 16 +209 340 16 +209 341 16 +209 342 16 +209 343 16 +209 344 16 +209 345 16 +209 346 16 +209 347 16 +209 348 16 +209 349 16 +209 350 0 +209 351 0 +209 352 0 +209 353 0 +209 354 0 +209 355 0 +209 356 0 +209 357 0 +209 358 0 +209 359 0 +209 360 0 +209 361 0 +209 362 0 +209 363 0 +209 364 0 +209 365 0 +209 366 0 +209 367 0 +209 368 0 +209 369 0 +209 370 0 +209 371 0 +209 372 0 +209 373 0 +209 374 0 +209 375 0 +209 376 0 +209 377 0 +209 378 0 +209 379 0 +209 380 0 +209 381 0 +209 382 0 +209 383 0 +210 211 16 +210 212 16 +210 213 16 +210 214 16 +210 215 16 +210 216 16 +210 217 16 +210 218 16 +210 219 16 +210 220 16 +210 221 16 +210 222 16 +210 223 16 +210 224 16 +210 225 16 +210 226 16 +210 227 16 +210 228 16 +210 229 16 +210 230 16 +210 231 16 +210 232 16 +210 233 16 +210 234 16 +210 235 16 +210 236 16 +210 237 16 +210 238 16 +210 239 16 +210 240 16 +210 241 16 +210 242 16 +210 243 16 +210 244 16 +210 245 16 +210 246 16 +210 247 16 +210 248 16 +210 249 16 +210 250 16 +210 251 16 +210 252 16 +210 253 16 +210 254 16 +210 255 16 +210 256 16 +210 257 16 +210 258 16 +210 259 16 +210 260 16 +210 261 16 +210 262 16 +210 263 16 +210 264 16 +210 265 16 +210 266 16 +210 267 16 +210 268 16 +210 269 16 +210 270 16 +210 271 16 +210 272 16 +210 273 16 +210 274 16 +210 275 16 +210 276 16 +210 277 16 +210 278 16 +210 279 16 +210 280 16 +210 281 16 +210 282 16 +210 283 16 +210 284 16 +210 285 16 +210 286 16 +210 287 16 +210 288 16 +210 289 16 +210 290 16 +210 291 16 +210 292 16 +210 293 16 +210 294 16 +210 295 16 +210 296 16 +210 297 16 +210 298 16 +210 299 16 +210 300 16 +210 301 16 +210 302 16 +210 303 16 +210 304 16 +210 305 16 +210 306 16 +210 307 16 +210 308 16 +210 309 16 +210 310 16 +210 311 16 +210 312 16 +210 313 16 +210 314 16 +210 315 16 +210 316 16 +210 317 16 +210 318 16 +210 319 16 +210 320 16 +210 321 16 +210 322 16 +210 323 16 +210 324 16 +210 325 16 +210 326 16 +210 327 16 +210 328 16 +210 329 16 +210 330 16 +210 331 16 +210 332 16 +210 333 16 +210 334 16 +210 335 16 +210 336 16 +210 337 16 +210 338 16 +210 339 16 +210 340 16 +210 341 16 +210 342 16 +210 343 16 +210 344 16 +210 345 16 +210 346 16 +210 347 16 +210 348 16 +210 349 16 +210 350 0 +210 351 0 +210 352 0 +210 353 0 +210 354 0 +210 355 0 +210 356 0 +210 357 0 +210 358 0 +210 359 0 +210 360 0 +210 361 0 +210 362 0 +210 363 0 +210 364 0 +210 365 0 +210 366 0 +210 367 0 +210 368 0 +210 369 0 +210 370 0 +210 371 0 +210 372 0 +210 373 0 +210 374 0 +210 375 0 +210 376 0 +210 377 0 +210 378 0 +210 379 0 +210 380 0 +210 381 0 +210 382 0 +210 383 0 +211 212 16 +211 213 16 +211 214 16 +211 215 16 +211 216 16 +211 217 16 +211 218 16 +211 219 16 +211 220 16 +211 221 16 +211 222 16 +211 223 16 +211 224 16 +211 225 16 +211 226 16 +211 227 16 +211 228 16 +211 229 16 +211 230 16 +211 231 16 +211 232 16 +211 233 16 +211 234 16 +211 235 16 +211 236 16 +211 237 16 +211 238 16 +211 239 16 +211 240 16 +211 241 16 +211 242 16 +211 243 16 +211 244 16 +211 245 16 +211 246 16 +211 247 16 +211 248 16 +211 249 16 +211 250 16 +211 251 16 +211 252 16 +211 253 16 +211 254 16 +211 255 16 +211 256 16 +211 257 16 +211 258 16 +211 259 16 +211 260 16 +211 261 16 +211 262 16 +211 263 16 +211 264 16 +211 265 16 +211 266 16 +211 267 16 +211 268 16 +211 269 16 +211 270 16 +211 271 16 +211 272 16 +211 273 16 +211 274 16 +211 275 16 +211 276 16 +211 277 16 +211 278 16 +211 279 16 +211 280 16 +211 281 16 +211 282 16 +211 283 16 +211 284 16 +211 285 16 +211 286 16 +211 287 16 +211 288 16 +211 289 16 +211 290 16 +211 291 16 +211 292 16 +211 293 16 +211 294 16 +211 295 16 +211 296 16 +211 297 16 +211 298 16 +211 299 16 +211 300 16 +211 301 16 +211 302 16 +211 303 16 +211 304 16 +211 305 16 +211 306 16 +211 307 16 +211 308 16 +211 309 16 +211 310 16 +211 311 16 +211 312 16 +211 313 16 +211 314 16 +211 315 16 +211 316 16 +211 317 16 +211 318 16 +211 319 16 +211 320 16 +211 321 16 +211 322 16 +211 323 16 +211 324 16 +211 325 16 +211 326 16 +211 327 16 +211 328 16 +211 329 16 +211 330 16 +211 331 16 +211 332 16 +211 333 16 +211 334 16 +211 335 16 +211 336 16 +211 337 16 +211 338 16 +211 339 16 +211 340 16 +211 341 16 +211 342 16 +211 343 16 +211 344 16 +211 345 16 +211 346 16 +211 347 16 +211 348 16 +211 349 16 +211 350 0 +211 351 0 +211 352 0 +211 353 0 +211 354 0 +211 355 0 +211 356 0 +211 357 0 +211 358 0 +211 359 0 +211 360 0 +211 361 0 +211 362 0 +211 363 0 +211 364 0 +211 365 0 +211 366 0 +211 367 0 +211 368 0 +211 369 0 +211 370 0 +211 371 0 +211 372 0 +211 373 0 +211 374 0 +211 375 0 +211 376 0 +211 377 0 +211 378 0 +211 379 0 +211 380 0 +211 381 0 +211 382 0 +211 383 0 +212 213 16 +212 214 16 +212 215 16 +212 216 16 +212 217 16 +212 218 16 +212 219 16 +212 220 16 +212 221 16 +212 222 16 +212 223 16 +212 224 16 +212 225 16 +212 226 16 +212 227 16 +212 228 16 +212 229 16 +212 230 16 +212 231 16 +212 232 16 +212 233 16 +212 234 16 +212 235 16 +212 236 16 +212 237 16 +212 238 16 +212 239 16 +212 240 16 +212 241 16 +212 242 16 +212 243 16 +212 244 16 +212 245 16 +212 246 16 +212 247 16 +212 248 16 +212 249 16 +212 250 16 +212 251 16 +212 252 16 +212 253 16 +212 254 16 +212 255 16 +212 256 16 +212 257 16 +212 258 16 +212 259 16 +212 260 16 +212 261 16 +212 262 16 +212 263 16 +212 264 16 +212 265 16 +212 266 16 +212 267 16 +212 268 16 +212 269 16 +212 270 16 +212 271 16 +212 272 16 +212 273 16 +212 274 16 +212 275 16 +212 276 16 +212 277 16 +212 278 16 +212 279 16 +212 280 16 +212 281 16 +212 282 16 +212 283 16 +212 284 16 +212 285 16 +212 286 16 +212 287 16 +212 288 16 +212 289 16 +212 290 16 +212 291 16 +212 292 16 +212 293 16 +212 294 16 +212 295 16 +212 296 16 +212 297 16 +212 298 16 +212 299 16 +212 300 16 +212 301 16 +212 302 16 +212 303 16 +212 304 16 +212 305 16 +212 306 16 +212 307 16 +212 308 16 +212 309 16 +212 310 16 +212 311 16 +212 312 16 +212 313 16 +212 314 16 +212 315 16 +212 316 16 +212 317 16 +212 318 16 +212 319 16 +212 320 16 +212 321 16 +212 322 16 +212 323 16 +212 324 16 +212 325 16 +212 326 16 +212 327 16 +212 328 16 +212 329 16 +212 330 16 +212 331 16 +212 332 16 +212 333 16 +212 334 16 +212 335 16 +212 336 16 +212 337 16 +212 338 16 +212 339 16 +212 340 16 +212 341 16 +212 342 16 +212 343 16 +212 344 16 +212 345 16 +212 346 16 +212 347 16 +212 348 16 +212 349 16 +212 350 0 +212 351 0 +212 352 0 +212 353 0 +212 354 0 +212 355 0 +212 356 0 +212 357 0 +212 358 0 +212 359 0 +212 360 0 +212 361 0 +212 362 0 +212 363 0 +212 364 0 +212 365 0 +212 366 0 +212 367 0 +212 368 0 +212 369 0 +212 370 0 +212 371 0 +212 372 0 +212 373 0 +212 374 0 +212 375 0 +212 376 0 +212 377 0 +212 378 0 +212 379 0 +212 380 0 +212 381 0 +212 382 0 +212 383 0 +213 214 16 +213 215 16 +213 216 16 +213 217 16 +213 218 16 +213 219 16 +213 220 16 +213 221 16 +213 222 16 +213 223 16 +213 224 16 +213 225 16 +213 226 16 +213 227 16 +213 228 16 +213 229 16 +213 230 16 +213 231 16 +213 232 16 +213 233 16 +213 234 16 +213 235 16 +213 236 16 +213 237 16 +213 238 16 +213 239 16 +213 240 16 +213 241 16 +213 242 16 +213 243 16 +213 244 16 +213 245 16 +213 246 16 +213 247 16 +213 248 16 +213 249 16 +213 250 16 +213 251 16 +213 252 16 +213 253 16 +213 254 16 +213 255 16 +213 256 16 +213 257 16 +213 258 16 +213 259 16 +213 260 16 +213 261 16 +213 262 16 +213 263 16 +213 264 16 +213 265 16 +213 266 16 +213 267 16 +213 268 16 +213 269 16 +213 270 16 +213 271 16 +213 272 16 +213 273 16 +213 274 16 +213 275 16 +213 276 16 +213 277 16 +213 278 16 +213 279 16 +213 280 16 +213 281 16 +213 282 16 +213 283 16 +213 284 16 +213 285 16 +213 286 16 +213 287 16 +213 288 16 +213 289 16 +213 290 16 +213 291 16 +213 292 16 +213 293 16 +213 294 16 +213 295 16 +213 296 16 +213 297 16 +213 298 16 +213 299 16 +213 300 16 +213 301 16 +213 302 16 +213 303 16 +213 304 16 +213 305 16 +213 306 16 +213 307 16 +213 308 16 +213 309 16 +213 310 16 +213 311 16 +213 312 16 +213 313 16 +213 314 16 +213 315 16 +213 316 16 +213 317 16 +213 318 16 +213 319 16 +213 320 16 +213 321 16 +213 322 16 +213 323 16 +213 324 16 +213 325 16 +213 326 16 +213 327 16 +213 328 16 +213 329 16 +213 330 16 +213 331 16 +213 332 16 +213 333 16 +213 334 16 +213 335 16 +213 336 16 +213 337 16 +213 338 16 +213 339 16 +213 340 16 +213 341 16 +213 342 16 +213 343 16 +213 344 16 +213 345 16 +213 346 16 +213 347 16 +213 348 16 +213 349 16 +213 350 0 +213 351 0 +213 352 0 +213 353 0 +213 354 0 +213 355 0 +213 356 0 +213 357 0 +213 358 0 +213 359 0 +213 360 0 +213 361 0 +213 362 0 +213 363 0 +213 364 0 +213 365 0 +213 366 0 +213 367 0 +213 368 0 +213 369 0 +213 370 0 +213 371 0 +213 372 0 +213 373 0 +213 374 0 +213 375 0 +213 376 0 +213 377 0 +213 378 0 +213 379 0 +213 380 0 +213 381 0 +213 382 0 +213 383 0 +214 215 16 +214 216 16 +214 217 16 +214 218 16 +214 219 16 +214 220 16 +214 221 16 +214 222 16 +214 223 16 +214 224 16 +214 225 16 +214 226 16 +214 227 16 +214 228 16 +214 229 16 +214 230 16 +214 231 16 +214 232 16 +214 233 16 +214 234 16 +214 235 16 +214 236 16 +214 237 16 +214 238 16 +214 239 16 +214 240 16 +214 241 16 +214 242 16 +214 243 16 +214 244 16 +214 245 16 +214 246 16 +214 247 16 +214 248 16 +214 249 16 +214 250 16 +214 251 16 +214 252 16 +214 253 16 +214 254 16 +214 255 16 +214 256 16 +214 257 16 +214 258 16 +214 259 16 +214 260 16 +214 261 16 +214 262 16 +214 263 16 +214 264 16 +214 265 16 +214 266 16 +214 267 16 +214 268 16 +214 269 16 +214 270 16 +214 271 16 +214 272 16 +214 273 16 +214 274 16 +214 275 16 +214 276 16 +214 277 16 +214 278 16 +214 279 16 +214 280 16 +214 281 16 +214 282 16 +214 283 16 +214 284 16 +214 285 16 +214 286 16 +214 287 16 +214 288 16 +214 289 16 +214 290 16 +214 291 16 +214 292 16 +214 293 16 +214 294 16 +214 295 16 +214 296 16 +214 297 16 +214 298 16 +214 299 16 +214 300 16 +214 301 16 +214 302 16 +214 303 16 +214 304 16 +214 305 16 +214 306 16 +214 307 16 +214 308 16 +214 309 16 +214 310 16 +214 311 16 +214 312 16 +214 313 16 +214 314 16 +214 315 16 +214 316 16 +214 317 16 +214 318 16 +214 319 16 +214 320 16 +214 321 16 +214 322 16 +214 323 16 +214 324 16 +214 325 16 +214 326 16 +214 327 16 +214 328 16 +214 329 16 +214 330 16 +214 331 16 +214 332 16 +214 333 16 +214 334 16 +214 335 16 +214 336 16 +214 337 16 +214 338 16 +214 339 16 +214 340 16 +214 341 16 +214 342 16 +214 343 16 +214 344 16 +214 345 16 +214 346 16 +214 347 16 +214 348 16 +214 349 16 +214 350 0 +214 351 0 +214 352 0 +214 353 0 +214 354 0 +214 355 0 +214 356 0 +214 357 0 +214 358 0 +214 359 0 +214 360 0 +214 361 0 +214 362 0 +214 363 0 +214 364 0 +214 365 0 +214 366 0 +214 367 0 +214 368 0 +214 369 0 +214 370 0 +214 371 0 +214 372 0 +214 373 0 +214 374 0 +214 375 0 +214 376 0 +214 377 0 +214 378 0 +214 379 0 +214 380 0 +214 381 0 +214 382 0 +214 383 0 +215 216 16 +215 217 16 +215 218 16 +215 219 16 +215 220 16 +215 221 16 +215 222 16 +215 223 16 +215 224 16 +215 225 16 +215 226 16 +215 227 16 +215 228 16 +215 229 16 +215 230 16 +215 231 16 +215 232 16 +215 233 16 +215 234 16 +215 235 16 +215 236 16 +215 237 16 +215 238 16 +215 239 16 +215 240 16 +215 241 16 +215 242 16 +215 243 16 +215 244 16 +215 245 16 +215 246 16 +215 247 16 +215 248 16 +215 249 16 +215 250 16 +215 251 16 +215 252 16 +215 253 16 +215 254 16 +215 255 16 +215 256 16 +215 257 16 +215 258 16 +215 259 16 +215 260 16 +215 261 16 +215 262 16 +215 263 16 +215 264 16 +215 265 16 +215 266 16 +215 267 16 +215 268 16 +215 269 16 +215 270 16 +215 271 16 +215 272 16 +215 273 16 +215 274 16 +215 275 16 +215 276 16 +215 277 16 +215 278 16 +215 279 16 +215 280 16 +215 281 16 +215 282 16 +215 283 16 +215 284 16 +215 285 16 +215 286 16 +215 287 16 +215 288 16 +215 289 16 +215 290 16 +215 291 16 +215 292 16 +215 293 16 +215 294 16 +215 295 16 +215 296 16 +215 297 16 +215 298 16 +215 299 16 +215 300 16 +215 301 16 +215 302 16 +215 303 16 +215 304 16 +215 305 16 +215 306 16 +215 307 16 +215 308 16 +215 309 16 +215 310 16 +215 311 16 +215 312 16 +215 313 16 +215 314 16 +215 315 16 +215 316 16 +215 317 16 +215 318 16 +215 319 16 +215 320 16 +215 321 16 +215 322 16 +215 323 16 +215 324 16 +215 325 16 +215 326 16 +215 327 16 +215 328 16 +215 329 16 +215 330 16 +215 331 16 +215 332 16 +215 333 16 +215 334 16 +215 335 16 +215 336 16 +215 337 16 +215 338 16 +215 339 16 +215 340 16 +215 341 16 +215 342 16 +215 343 16 +215 344 16 +215 345 16 +215 346 16 +215 347 16 +215 348 16 +215 349 16 +215 350 0 +215 351 0 +215 352 0 +215 353 0 +215 354 0 +215 355 0 +215 356 0 +215 357 0 +215 358 0 +215 359 0 +215 360 0 +215 361 0 +215 362 0 +215 363 0 +215 364 0 +215 365 0 +215 366 0 +215 367 0 +215 368 0 +215 369 0 +215 370 0 +215 371 0 +215 372 0 +215 373 0 +215 374 0 +215 375 0 +215 376 0 +215 377 0 +215 378 0 +215 379 0 +215 380 0 +215 381 0 +215 382 0 +215 383 0 +216 217 16 +216 218 16 +216 219 16 +216 220 16 +216 221 16 +216 222 16 +216 223 16 +216 224 16 +216 225 16 +216 226 16 +216 227 16 +216 228 16 +216 229 16 +216 230 16 +216 231 16 +216 232 16 +216 233 16 +216 234 16 +216 235 16 +216 236 16 +216 237 16 +216 238 16 +216 239 16 +216 240 16 +216 241 16 +216 242 16 +216 243 16 +216 244 16 +216 245 16 +216 246 16 +216 247 16 +216 248 16 +216 249 16 +216 250 16 +216 251 16 +216 252 16 +216 253 16 +216 254 16 +216 255 16 +216 256 16 +216 257 16 +216 258 16 +216 259 16 +216 260 16 +216 261 16 +216 262 16 +216 263 16 +216 264 16 +216 265 16 +216 266 16 +216 267 16 +216 268 16 +216 269 16 +216 270 16 +216 271 16 +216 272 16 +216 273 16 +216 274 16 +216 275 16 +216 276 16 +216 277 16 +216 278 16 +216 279 16 +216 280 16 +216 281 16 +216 282 16 +216 283 16 +216 284 16 +216 285 16 +216 286 16 +216 287 16 +216 288 16 +216 289 16 +216 290 16 +216 291 16 +216 292 16 +216 293 16 +216 294 16 +216 295 16 +216 296 16 +216 297 16 +216 298 16 +216 299 16 +216 300 16 +216 301 16 +216 302 16 +216 303 16 +216 304 16 +216 305 16 +216 306 16 +216 307 16 +216 308 16 +216 309 16 +216 310 16 +216 311 16 +216 312 16 +216 313 16 +216 314 16 +216 315 16 +216 316 16 +216 317 16 +216 318 16 +216 319 16 +216 320 16 +216 321 16 +216 322 16 +216 323 16 +216 324 16 +216 325 16 +216 326 16 +216 327 16 +216 328 16 +216 329 16 +216 330 16 +216 331 16 +216 332 16 +216 333 16 +216 334 16 +216 335 16 +216 336 16 +216 337 16 +216 338 16 +216 339 16 +216 340 16 +216 341 16 +216 342 16 +216 343 16 +216 344 16 +216 345 16 +216 346 16 +216 347 16 +216 348 16 +216 349 16 +216 350 0 +216 351 0 +216 352 0 +216 353 0 +216 354 0 +216 355 0 +216 356 0 +216 357 0 +216 358 0 +216 359 0 +216 360 0 +216 361 0 +216 362 0 +216 363 0 +216 364 0 +216 365 0 +216 366 0 +216 367 0 +216 368 0 +216 369 0 +216 370 0 +216 371 0 +216 372 0 +216 373 0 +216 374 0 +216 375 0 +216 376 0 +216 377 0 +216 378 0 +216 379 0 +216 380 0 +216 381 0 +216 382 0 +216 383 0 +217 218 16 +217 219 16 +217 220 16 +217 221 16 +217 222 16 +217 223 16 +217 224 16 +217 225 16 +217 226 16 +217 227 16 +217 228 16 +217 229 16 +217 230 16 +217 231 16 +217 232 16 +217 233 16 +217 234 16 +217 235 16 +217 236 16 +217 237 16 +217 238 16 +217 239 16 +217 240 16 +217 241 16 +217 242 16 +217 243 16 +217 244 16 +217 245 16 +217 246 16 +217 247 16 +217 248 16 +217 249 16 +217 250 16 +217 251 16 +217 252 16 +217 253 16 +217 254 16 +217 255 16 +217 256 16 +217 257 16 +217 258 16 +217 259 16 +217 260 16 +217 261 16 +217 262 16 +217 263 16 +217 264 16 +217 265 16 +217 266 16 +217 267 16 +217 268 16 +217 269 16 +217 270 16 +217 271 16 +217 272 16 +217 273 16 +217 274 16 +217 275 16 +217 276 16 +217 277 16 +217 278 16 +217 279 16 +217 280 16 +217 281 16 +217 282 16 +217 283 16 +217 284 16 +217 285 16 +217 286 16 +217 287 16 +217 288 16 +217 289 16 +217 290 16 +217 291 16 +217 292 16 +217 293 16 +217 294 16 +217 295 16 +217 296 16 +217 297 16 +217 298 16 +217 299 16 +217 300 16 +217 301 16 +217 302 16 +217 303 16 +217 304 16 +217 305 16 +217 306 16 +217 307 16 +217 308 16 +217 309 16 +217 310 16 +217 311 16 +217 312 16 +217 313 16 +217 314 16 +217 315 16 +217 316 16 +217 317 16 +217 318 16 +217 319 16 +217 320 16 +217 321 16 +217 322 16 +217 323 16 +217 324 16 +217 325 16 +217 326 16 +217 327 16 +217 328 16 +217 329 16 +217 330 16 +217 331 16 +217 332 16 +217 333 16 +217 334 16 +217 335 16 +217 336 16 +217 337 16 +217 338 16 +217 339 16 +217 340 16 +217 341 16 +217 342 16 +217 343 16 +217 344 16 +217 345 16 +217 346 16 +217 347 16 +217 348 16 +217 349 16 +217 350 0 +217 351 0 +217 352 0 +217 353 0 +217 354 0 +217 355 0 +217 356 0 +217 357 0 +217 358 0 +217 359 0 +217 360 0 +217 361 0 +217 362 0 +217 363 0 +217 364 0 +217 365 0 +217 366 0 +217 367 0 +217 368 0 +217 369 0 +217 370 0 +217 371 0 +217 372 0 +217 373 0 +217 374 0 +217 375 0 +217 376 0 +217 377 0 +217 378 0 +217 379 0 +217 380 0 +217 381 0 +217 382 0 +217 383 0 +218 219 16 +218 220 16 +218 221 16 +218 222 16 +218 223 16 +218 224 16 +218 225 16 +218 226 16 +218 227 16 +218 228 16 +218 229 16 +218 230 16 +218 231 16 +218 232 16 +218 233 16 +218 234 16 +218 235 16 +218 236 16 +218 237 16 +218 238 16 +218 239 16 +218 240 16 +218 241 16 +218 242 16 +218 243 16 +218 244 16 +218 245 16 +218 246 16 +218 247 16 +218 248 16 +218 249 16 +218 250 16 +218 251 16 +218 252 16 +218 253 16 +218 254 16 +218 255 16 +218 256 16 +218 257 16 +218 258 16 +218 259 16 +218 260 16 +218 261 16 +218 262 16 +218 263 16 +218 264 16 +218 265 16 +218 266 16 +218 267 16 +218 268 16 +218 269 16 +218 270 16 +218 271 16 +218 272 16 +218 273 16 +218 274 16 +218 275 16 +218 276 16 +218 277 16 +218 278 16 +218 279 16 +218 280 16 +218 281 16 +218 282 16 +218 283 16 +218 284 16 +218 285 16 +218 286 16 +218 287 16 +218 288 16 +218 289 16 +218 290 16 +218 291 16 +218 292 16 +218 293 16 +218 294 16 +218 295 16 +218 296 16 +218 297 16 +218 298 16 +218 299 16 +218 300 16 +218 301 16 +218 302 16 +218 303 16 +218 304 16 +218 305 16 +218 306 16 +218 307 16 +218 308 16 +218 309 16 +218 310 16 +218 311 16 +218 312 16 +218 313 16 +218 314 16 +218 315 16 +218 316 16 +218 317 16 +218 318 16 +218 319 16 +218 320 16 +218 321 16 +218 322 16 +218 323 16 +218 324 16 +218 325 16 +218 326 16 +218 327 16 +218 328 16 +218 329 16 +218 330 16 +218 331 16 +218 332 16 +218 333 16 +218 334 16 +218 335 16 +218 336 16 +218 337 16 +218 338 16 +218 339 16 +218 340 16 +218 341 16 +218 342 16 +218 343 16 +218 344 16 +218 345 16 +218 346 16 +218 347 16 +218 348 16 +218 349 16 +218 350 0 +218 351 0 +218 352 0 +218 353 0 +218 354 0 +218 355 0 +218 356 0 +218 357 0 +218 358 0 +218 359 0 +218 360 0 +218 361 0 +218 362 0 +218 363 0 +218 364 0 +218 365 0 +218 366 0 +218 367 0 +218 368 0 +218 369 0 +218 370 0 +218 371 0 +218 372 0 +218 373 0 +218 374 0 +218 375 0 +218 376 0 +218 377 0 +218 378 0 +218 379 0 +218 380 0 +218 381 0 +218 382 0 +218 383 0 +219 220 16 +219 221 16 +219 222 16 +219 223 16 +219 224 16 +219 225 16 +219 226 16 +219 227 16 +219 228 16 +219 229 16 +219 230 16 +219 231 16 +219 232 16 +219 233 16 +219 234 16 +219 235 16 +219 236 16 +219 237 16 +219 238 16 +219 239 16 +219 240 16 +219 241 16 +219 242 16 +219 243 16 +219 244 16 +219 245 16 +219 246 16 +219 247 16 +219 248 16 +219 249 16 +219 250 16 +219 251 16 +219 252 16 +219 253 16 +219 254 16 +219 255 16 +219 256 16 +219 257 16 +219 258 16 +219 259 16 +219 260 16 +219 261 16 +219 262 16 +219 263 16 +219 264 16 +219 265 16 +219 266 16 +219 267 16 +219 268 16 +219 269 16 +219 270 16 +219 271 16 +219 272 16 +219 273 16 +219 274 16 +219 275 16 +219 276 16 +219 277 16 +219 278 16 +219 279 16 +219 280 16 +219 281 16 +219 282 16 +219 283 16 +219 284 16 +219 285 16 +219 286 16 +219 287 16 +219 288 16 +219 289 16 +219 290 16 +219 291 16 +219 292 16 +219 293 16 +219 294 16 +219 295 16 +219 296 16 +219 297 16 +219 298 16 +219 299 16 +219 300 16 +219 301 16 +219 302 16 +219 303 16 +219 304 16 +219 305 16 +219 306 16 +219 307 16 +219 308 16 +219 309 16 +219 310 16 +219 311 16 +219 312 16 +219 313 16 +219 314 16 +219 315 16 +219 316 16 +219 317 16 +219 318 16 +219 319 16 +219 320 16 +219 321 16 +219 322 16 +219 323 16 +219 324 16 +219 325 16 +219 326 16 +219 327 16 +219 328 16 +219 329 16 +219 330 16 +219 331 16 +219 332 16 +219 333 16 +219 334 16 +219 335 16 +219 336 16 +219 337 16 +219 338 16 +219 339 16 +219 340 16 +219 341 16 +219 342 16 +219 343 16 +219 344 16 +219 345 16 +219 346 16 +219 347 16 +219 348 16 +219 349 16 +219 350 0 +219 351 0 +219 352 0 +219 353 0 +219 354 0 +219 355 0 +219 356 0 +219 357 0 +219 358 0 +219 359 0 +219 360 0 +219 361 0 +219 362 0 +219 363 0 +219 364 0 +219 365 0 +219 366 0 +219 367 0 +219 368 0 +219 369 0 +219 370 0 +219 371 0 +219 372 0 +219 373 0 +219 374 0 +219 375 0 +219 376 0 +219 377 0 +219 378 0 +219 379 0 +219 380 0 +219 381 0 +219 382 0 +219 383 0 +220 221 16 +220 222 16 +220 223 16 +220 224 16 +220 225 16 +220 226 16 +220 227 16 +220 228 16 +220 229 16 +220 230 16 +220 231 16 +220 232 16 +220 233 16 +220 234 16 +220 235 16 +220 236 16 +220 237 16 +220 238 16 +220 239 16 +220 240 16 +220 241 16 +220 242 16 +220 243 16 +220 244 16 +220 245 16 +220 246 16 +220 247 16 +220 248 16 +220 249 16 +220 250 16 +220 251 16 +220 252 16 +220 253 16 +220 254 16 +220 255 16 +220 256 16 +220 257 16 +220 258 16 +220 259 16 +220 260 16 +220 261 16 +220 262 16 +220 263 16 +220 264 16 +220 265 16 +220 266 16 +220 267 16 +220 268 16 +220 269 16 +220 270 16 +220 271 16 +220 272 16 +220 273 16 +220 274 16 +220 275 16 +220 276 16 +220 277 16 +220 278 16 +220 279 16 +220 280 16 +220 281 16 +220 282 16 +220 283 16 +220 284 16 +220 285 16 +220 286 16 +220 287 16 +220 288 16 +220 289 16 +220 290 16 +220 291 16 +220 292 16 +220 293 16 +220 294 16 +220 295 16 +220 296 16 +220 297 16 +220 298 16 +220 299 16 +220 300 16 +220 301 16 +220 302 16 +220 303 16 +220 304 16 +220 305 16 +220 306 16 +220 307 16 +220 308 16 +220 309 16 +220 310 16 +220 311 16 +220 312 16 +220 313 16 +220 314 16 +220 315 16 +220 316 16 +220 317 16 +220 318 16 +220 319 16 +220 320 16 +220 321 16 +220 322 16 +220 323 16 +220 324 16 +220 325 16 +220 326 16 +220 327 16 +220 328 16 +220 329 16 +220 330 16 +220 331 16 +220 332 16 +220 333 16 +220 334 16 +220 335 16 +220 336 16 +220 337 16 +220 338 16 +220 339 16 +220 340 16 +220 341 16 +220 342 16 +220 343 16 +220 344 16 +220 345 16 +220 346 16 +220 347 16 +220 348 16 +220 349 16 +220 350 0 +220 351 0 +220 352 0 +220 353 0 +220 354 0 +220 355 0 +220 356 0 +220 357 0 +220 358 0 +220 359 0 +220 360 0 +220 361 0 +220 362 0 +220 363 0 +220 364 0 +220 365 0 +220 366 0 +220 367 0 +220 368 0 +220 369 0 +220 370 0 +220 371 0 +220 372 0 +220 373 0 +220 374 0 +220 375 0 +220 376 0 +220 377 0 +220 378 0 +220 379 0 +220 380 0 +220 381 0 +220 382 0 +220 383 0 +221 222 16 +221 223 16 +221 224 16 +221 225 16 +221 226 16 +221 227 16 +221 228 16 +221 229 16 +221 230 16 +221 231 16 +221 232 16 +221 233 16 +221 234 16 +221 235 16 +221 236 16 +221 237 16 +221 238 16 +221 239 16 +221 240 16 +221 241 16 +221 242 16 +221 243 16 +221 244 16 +221 245 16 +221 246 16 +221 247 16 +221 248 16 +221 249 16 +221 250 16 +221 251 16 +221 252 16 +221 253 16 +221 254 16 +221 255 16 +221 256 16 +221 257 16 +221 258 16 +221 259 16 +221 260 16 +221 261 16 +221 262 16 +221 263 16 +221 264 16 +221 265 16 +221 266 16 +221 267 16 +221 268 16 +221 269 16 +221 270 16 +221 271 16 +221 272 16 +221 273 16 +221 274 16 +221 275 16 +221 276 16 +221 277 16 +221 278 16 +221 279 16 +221 280 16 +221 281 16 +221 282 16 +221 283 16 +221 284 16 +221 285 16 +221 286 16 +221 287 16 +221 288 16 +221 289 16 +221 290 16 +221 291 16 +221 292 16 +221 293 16 +221 294 16 +221 295 16 +221 296 16 +221 297 16 +221 298 16 +221 299 16 +221 300 16 +221 301 16 +221 302 16 +221 303 16 +221 304 16 +221 305 16 +221 306 16 +221 307 16 +221 308 16 +221 309 16 +221 310 16 +221 311 16 +221 312 16 +221 313 16 +221 314 16 +221 315 16 +221 316 16 +221 317 16 +221 318 16 +221 319 16 +221 320 16 +221 321 16 +221 322 16 +221 323 16 +221 324 16 +221 325 16 +221 326 16 +221 327 16 +221 328 16 +221 329 16 +221 330 16 +221 331 16 +221 332 16 +221 333 16 +221 334 16 +221 335 16 +221 336 16 +221 337 16 +221 338 16 +221 339 16 +221 340 16 +221 341 16 +221 342 16 +221 343 16 +221 344 16 +221 345 16 +221 346 16 +221 347 16 +221 348 16 +221 349 16 +221 350 0 +221 351 0 +221 352 0 +221 353 0 +221 354 0 +221 355 0 +221 356 0 +221 357 0 +221 358 0 +221 359 0 +221 360 0 +221 361 0 +221 362 0 +221 363 0 +221 364 0 +221 365 0 +221 366 0 +221 367 0 +221 368 0 +221 369 0 +221 370 0 +221 371 0 +221 372 0 +221 373 0 +221 374 0 +221 375 0 +221 376 0 +221 377 0 +221 378 0 +221 379 0 +221 380 0 +221 381 0 +221 382 0 +221 383 0 +222 223 16 +222 224 16 +222 225 16 +222 226 16 +222 227 16 +222 228 16 +222 229 16 +222 230 16 +222 231 16 +222 232 16 +222 233 16 +222 234 16 +222 235 16 +222 236 16 +222 237 16 +222 238 16 +222 239 16 +222 240 16 +222 241 16 +222 242 16 +222 243 16 +222 244 16 +222 245 16 +222 246 16 +222 247 16 +222 248 16 +222 249 16 +222 250 16 +222 251 16 +222 252 16 +222 253 16 +222 254 16 +222 255 16 +222 256 16 +222 257 16 +222 258 16 +222 259 16 +222 260 16 +222 261 16 +222 262 16 +222 263 16 +222 264 16 +222 265 16 +222 266 16 +222 267 16 +222 268 16 +222 269 16 +222 270 16 +222 271 16 +222 272 16 +222 273 16 +222 274 16 +222 275 16 +222 276 16 +222 277 16 +222 278 16 +222 279 16 +222 280 16 +222 281 16 +222 282 16 +222 283 16 +222 284 16 +222 285 16 +222 286 16 +222 287 16 +222 288 16 +222 289 16 +222 290 16 +222 291 16 +222 292 16 +222 293 16 +222 294 16 +222 295 16 +222 296 16 +222 297 16 +222 298 16 +222 299 16 +222 300 16 +222 301 16 +222 302 16 +222 303 16 +222 304 16 +222 305 16 +222 306 16 +222 307 16 +222 308 16 +222 309 16 +222 310 16 +222 311 16 +222 312 16 +222 313 16 +222 314 16 +222 315 16 +222 316 16 +222 317 16 +222 318 16 +222 319 16 +222 320 16 +222 321 16 +222 322 16 +222 323 16 +222 324 16 +222 325 16 +222 326 16 +222 327 16 +222 328 16 +222 329 16 +222 330 16 +222 331 16 +222 332 16 +222 333 16 +222 334 16 +222 335 16 +222 336 16 +222 337 16 +222 338 16 +222 339 16 +222 340 16 +222 341 16 +222 342 16 +222 343 16 +222 344 16 +222 345 16 +222 346 16 +222 347 16 +222 348 16 +222 349 16 +222 350 0 +222 351 0 +222 352 0 +222 353 0 +222 354 0 +222 355 0 +222 356 0 +222 357 0 +222 358 0 +222 359 0 +222 360 0 +222 361 0 +222 362 0 +222 363 0 +222 364 0 +222 365 0 +222 366 0 +222 367 0 +222 368 0 +222 369 0 +222 370 0 +222 371 0 +222 372 0 +222 373 0 +222 374 0 +222 375 0 +222 376 0 +222 377 0 +222 378 0 +222 379 0 +222 380 0 +222 381 0 +222 382 0 +222 383 0 +223 224 16 +223 225 16 +223 226 16 +223 227 16 +223 228 16 +223 229 16 +223 230 16 +223 231 16 +223 232 16 +223 233 16 +223 234 16 +223 235 16 +223 236 16 +223 237 16 +223 238 16 +223 239 16 +223 240 16 +223 241 16 +223 242 16 +223 243 16 +223 244 16 +223 245 16 +223 246 16 +223 247 16 +223 248 16 +223 249 16 +223 250 16 +223 251 16 +223 252 16 +223 253 16 +223 254 16 +223 255 16 +223 256 16 +223 257 16 +223 258 16 +223 259 16 +223 260 16 +223 261 16 +223 262 16 +223 263 16 +223 264 16 +223 265 16 +223 266 16 +223 267 16 +223 268 16 +223 269 16 +223 270 16 +223 271 16 +223 272 16 +223 273 16 +223 274 16 +223 275 16 +223 276 16 +223 277 16 +223 278 16 +223 279 16 +223 280 16 +223 281 16 +223 282 16 +223 283 16 +223 284 16 +223 285 16 +223 286 16 +223 287 16 +223 288 16 +223 289 16 +223 290 16 +223 291 16 +223 292 16 +223 293 16 +223 294 16 +223 295 16 +223 296 16 +223 297 16 +223 298 16 +223 299 16 +223 300 16 +223 301 16 +223 302 16 +223 303 16 +223 304 16 +223 305 16 +223 306 16 +223 307 16 +223 308 16 +223 309 16 +223 310 16 +223 311 16 +223 312 16 +223 313 16 +223 314 16 +223 315 16 +223 316 16 +223 317 16 +223 318 16 +223 319 16 +223 320 16 +223 321 16 +223 322 16 +223 323 16 +223 324 16 +223 325 16 +223 326 16 +223 327 16 +223 328 16 +223 329 16 +223 330 16 +223 331 16 +223 332 16 +223 333 16 +223 334 16 +223 335 16 +223 336 16 +223 337 16 +223 338 16 +223 339 16 +223 340 16 +223 341 16 +223 342 16 +223 343 16 +223 344 16 +223 345 16 +223 346 16 +223 347 16 +223 348 16 +223 349 16 +223 350 0 +223 351 0 +223 352 0 +223 353 0 +223 354 0 +223 355 0 +223 356 0 +223 357 0 +223 358 0 +223 359 0 +223 360 0 +223 361 0 +223 362 0 +223 363 0 +223 364 0 +223 365 0 +223 366 0 +223 367 0 +223 368 0 +223 369 0 +223 370 0 +223 371 0 +223 372 0 +223 373 0 +223 374 0 +223 375 0 +223 376 0 +223 377 0 +223 378 0 +223 379 0 +223 380 0 +223 381 0 +223 382 0 +223 383 0 +224 225 16 +224 226 16 +224 227 16 +224 228 16 +224 229 16 +224 230 16 +224 231 16 +224 232 16 +224 233 16 +224 234 16 +224 235 16 +224 236 16 +224 237 16 +224 238 16 +224 239 16 +224 240 16 +224 241 16 +224 242 16 +224 243 16 +224 244 16 +224 245 16 +224 246 16 +224 247 16 +224 248 16 +224 249 16 +224 250 16 +224 251 16 +224 252 16 +224 253 16 +224 254 16 +224 255 16 +224 256 16 +224 257 16 +224 258 16 +224 259 16 +224 260 16 +224 261 16 +224 262 16 +224 263 16 +224 264 16 +224 265 16 +224 266 16 +224 267 16 +224 268 16 +224 269 16 +224 270 16 +224 271 16 +224 272 16 +224 273 16 +224 274 16 +224 275 16 +224 276 16 +224 277 16 +224 278 16 +224 279 16 +224 280 16 +224 281 16 +224 282 16 +224 283 16 +224 284 16 +224 285 16 +224 286 16 +224 287 16 +224 288 16 +224 289 16 +224 290 16 +224 291 16 +224 292 16 +224 293 16 +224 294 16 +224 295 16 +224 296 16 +224 297 16 +224 298 16 +224 299 16 +224 300 16 +224 301 16 +224 302 16 +224 303 16 +224 304 16 +224 305 16 +224 306 16 +224 307 16 +224 308 16 +224 309 16 +224 310 16 +224 311 16 +224 312 16 +224 313 16 +224 314 16 +224 315 16 +224 316 16 +224 317 16 +224 318 16 +224 319 16 +224 320 16 +224 321 16 +224 322 16 +224 323 16 +224 324 16 +224 325 16 +224 326 16 +224 327 16 +224 328 16 +224 329 16 +224 330 16 +224 331 16 +224 332 16 +224 333 16 +224 334 16 +224 335 16 +224 336 16 +224 337 16 +224 338 16 +224 339 16 +224 340 16 +224 341 16 +224 342 16 +224 343 16 +224 344 16 +224 345 16 +224 346 16 +224 347 16 +224 348 16 +224 349 16 +224 350 0 +224 351 0 +224 352 0 +224 353 0 +224 354 0 +224 355 0 +224 356 0 +224 357 0 +224 358 0 +224 359 0 +224 360 0 +224 361 0 +224 362 0 +224 363 0 +224 364 0 +224 365 0 +224 366 0 +224 367 0 +224 368 0 +224 369 0 +224 370 0 +224 371 0 +224 372 0 +224 373 0 +224 374 0 +224 375 0 +224 376 0 +224 377 0 +224 378 0 +224 379 0 +224 380 0 +224 381 0 +224 382 0 +224 383 0 +225 226 16 +225 227 16 +225 228 16 +225 229 16 +225 230 16 +225 231 16 +225 232 16 +225 233 16 +225 234 16 +225 235 16 +225 236 16 +225 237 16 +225 238 16 +225 239 16 +225 240 16 +225 241 16 +225 242 16 +225 243 16 +225 244 16 +225 245 16 +225 246 16 +225 247 16 +225 248 16 +225 249 16 +225 250 16 +225 251 16 +225 252 16 +225 253 16 +225 254 16 +225 255 16 +225 256 16 +225 257 16 +225 258 16 +225 259 16 +225 260 16 +225 261 16 +225 262 16 +225 263 16 +225 264 16 +225 265 16 +225 266 16 +225 267 16 +225 268 16 +225 269 16 +225 270 16 +225 271 16 +225 272 16 +225 273 16 +225 274 16 +225 275 16 +225 276 16 +225 277 16 +225 278 16 +225 279 16 +225 280 16 +225 281 16 +225 282 16 +225 283 16 +225 284 16 +225 285 16 +225 286 16 +225 287 16 +225 288 16 +225 289 16 +225 290 16 +225 291 16 +225 292 16 +225 293 16 +225 294 16 +225 295 16 +225 296 16 +225 297 16 +225 298 16 +225 299 16 +225 300 16 +225 301 16 +225 302 16 +225 303 16 +225 304 16 +225 305 16 +225 306 16 +225 307 16 +225 308 16 +225 309 16 +225 310 16 +225 311 16 +225 312 16 +225 313 16 +225 314 16 +225 315 16 +225 316 16 +225 317 16 +225 318 16 +225 319 16 +225 320 16 +225 321 16 +225 322 16 +225 323 16 +225 324 16 +225 325 16 +225 326 16 +225 327 16 +225 328 16 +225 329 16 +225 330 16 +225 331 16 +225 332 16 +225 333 16 +225 334 16 +225 335 16 +225 336 16 +225 337 16 +225 338 16 +225 339 16 +225 340 16 +225 341 16 +225 342 16 +225 343 16 +225 344 16 +225 345 16 +225 346 16 +225 347 16 +225 348 16 +225 349 16 +225 350 0 +225 351 0 +225 352 0 +225 353 0 +225 354 0 +225 355 0 +225 356 0 +225 357 0 +225 358 0 +225 359 0 +225 360 0 +225 361 0 +225 362 0 +225 363 0 +225 364 0 +225 365 0 +225 366 0 +225 367 0 +225 368 0 +225 369 0 +225 370 0 +225 371 0 +225 372 0 +225 373 0 +225 374 0 +225 375 0 +225 376 0 +225 377 0 +225 378 0 +225 379 0 +225 380 0 +225 381 0 +225 382 0 +225 383 0 +226 227 16 +226 228 16 +226 229 16 +226 230 16 +226 231 16 +226 232 16 +226 233 16 +226 234 16 +226 235 16 +226 236 16 +226 237 16 +226 238 16 +226 239 16 +226 240 16 +226 241 16 +226 242 16 +226 243 16 +226 244 16 +226 245 16 +226 246 16 +226 247 16 +226 248 16 +226 249 16 +226 250 16 +226 251 16 +226 252 16 +226 253 16 +226 254 16 +226 255 16 +226 256 16 +226 257 16 +226 258 16 +226 259 16 +226 260 16 +226 261 16 +226 262 16 +226 263 16 +226 264 16 +226 265 16 +226 266 16 +226 267 16 +226 268 16 +226 269 16 +226 270 16 +226 271 16 +226 272 16 +226 273 16 +226 274 16 +226 275 16 +226 276 16 +226 277 16 +226 278 16 +226 279 16 +226 280 16 +226 281 16 +226 282 16 +226 283 16 +226 284 16 +226 285 16 +226 286 16 +226 287 16 +226 288 16 +226 289 16 +226 290 16 +226 291 16 +226 292 16 +226 293 16 +226 294 16 +226 295 16 +226 296 16 +226 297 16 +226 298 16 +226 299 16 +226 300 16 +226 301 16 +226 302 16 +226 303 16 +226 304 16 +226 305 16 +226 306 16 +226 307 16 +226 308 16 +226 309 16 +226 310 16 +226 311 16 +226 312 16 +226 313 16 +226 314 16 +226 315 16 +226 316 16 +226 317 16 +226 318 16 +226 319 16 +226 320 16 +226 321 16 +226 322 16 +226 323 16 +226 324 16 +226 325 16 +226 326 16 +226 327 16 +226 328 16 +226 329 16 +226 330 16 +226 331 16 +226 332 16 +226 333 16 +226 334 16 +226 335 16 +226 336 16 +226 337 16 +226 338 16 +226 339 16 +226 340 16 +226 341 16 +226 342 16 +226 343 16 +226 344 16 +226 345 16 +226 346 16 +226 347 16 +226 348 16 +226 349 16 +226 350 0 +226 351 0 +226 352 0 +226 353 0 +226 354 0 +226 355 0 +226 356 0 +226 357 0 +226 358 0 +226 359 0 +226 360 0 +226 361 0 +226 362 0 +226 363 0 +226 364 0 +226 365 0 +226 366 0 +226 367 0 +226 368 0 +226 369 0 +226 370 0 +226 371 0 +226 372 0 +226 373 0 +226 374 0 +226 375 0 +226 376 0 +226 377 0 +226 378 0 +226 379 0 +226 380 0 +226 381 0 +226 382 0 +226 383 0 +227 228 16 +227 229 16 +227 230 16 +227 231 16 +227 232 16 +227 233 16 +227 234 16 +227 235 16 +227 236 16 +227 237 16 +227 238 16 +227 239 16 +227 240 16 +227 241 16 +227 242 16 +227 243 16 +227 244 16 +227 245 16 +227 246 16 +227 247 16 +227 248 16 +227 249 16 +227 250 16 +227 251 16 +227 252 16 +227 253 16 +227 254 16 +227 255 16 +227 256 16 +227 257 16 +227 258 16 +227 259 16 +227 260 16 +227 261 16 +227 262 16 +227 263 16 +227 264 16 +227 265 16 +227 266 16 +227 267 16 +227 268 16 +227 269 16 +227 270 16 +227 271 16 +227 272 16 +227 273 16 +227 274 16 +227 275 16 +227 276 16 +227 277 16 +227 278 16 +227 279 16 +227 280 16 +227 281 16 +227 282 16 +227 283 16 +227 284 16 +227 285 16 +227 286 16 +227 287 16 +227 288 16 +227 289 16 +227 290 16 +227 291 16 +227 292 16 +227 293 16 +227 294 16 +227 295 16 +227 296 16 +227 297 16 +227 298 16 +227 299 16 +227 300 16 +227 301 16 +227 302 16 +227 303 16 +227 304 16 +227 305 16 +227 306 16 +227 307 16 +227 308 16 +227 309 16 +227 310 16 +227 311 16 +227 312 16 +227 313 16 +227 314 16 +227 315 16 +227 316 16 +227 317 16 +227 318 16 +227 319 16 +227 320 16 +227 321 16 +227 322 16 +227 323 16 +227 324 16 +227 325 16 +227 326 16 +227 327 16 +227 328 16 +227 329 16 +227 330 16 +227 331 16 +227 332 16 +227 333 16 +227 334 16 +227 335 16 +227 336 16 +227 337 16 +227 338 16 +227 339 16 +227 340 16 +227 341 16 +227 342 16 +227 343 16 +227 344 16 +227 345 16 +227 346 16 +227 347 16 +227 348 16 +227 349 16 +227 350 0 +227 351 0 +227 352 0 +227 353 0 +227 354 0 +227 355 0 +227 356 0 +227 357 0 +227 358 0 +227 359 0 +227 360 0 +227 361 0 +227 362 0 +227 363 0 +227 364 0 +227 365 0 +227 366 0 +227 367 0 +227 368 0 +227 369 0 +227 370 0 +227 371 0 +227 372 0 +227 373 0 +227 374 0 +227 375 0 +227 376 0 +227 377 0 +227 378 0 +227 379 0 +227 380 0 +227 381 0 +227 382 0 +227 383 0 +228 229 16 +228 230 16 +228 231 16 +228 232 16 +228 233 16 +228 234 16 +228 235 16 +228 236 16 +228 237 16 +228 238 16 +228 239 16 +228 240 16 +228 241 16 +228 242 16 +228 243 16 +228 244 16 +228 245 16 +228 246 16 +228 247 16 +228 248 16 +228 249 16 +228 250 16 +228 251 16 +228 252 16 +228 253 16 +228 254 16 +228 255 16 +228 256 16 +228 257 16 +228 258 16 +228 259 16 +228 260 16 +228 261 16 +228 262 16 +228 263 16 +228 264 16 +228 265 16 +228 266 16 +228 267 16 +228 268 16 +228 269 16 +228 270 16 +228 271 16 +228 272 16 +228 273 16 +228 274 16 +228 275 16 +228 276 16 +228 277 16 +228 278 16 +228 279 16 +228 280 16 +228 281 16 +228 282 16 +228 283 16 +228 284 16 +228 285 16 +228 286 16 +228 287 16 +228 288 16 +228 289 16 +228 290 16 +228 291 16 +228 292 16 +228 293 16 +228 294 16 +228 295 16 +228 296 16 +228 297 16 +228 298 16 +228 299 16 +228 300 16 +228 301 16 +228 302 16 +228 303 16 +228 304 16 +228 305 16 +228 306 16 +228 307 16 +228 308 16 +228 309 16 +228 310 16 +228 311 16 +228 312 16 +228 313 16 +228 314 16 +228 315 16 +228 316 16 +228 317 16 +228 318 16 +228 319 16 +228 320 16 +228 321 16 +228 322 16 +228 323 16 +228 324 16 +228 325 16 +228 326 16 +228 327 16 +228 328 16 +228 329 16 +228 330 16 +228 331 16 +228 332 16 +228 333 16 +228 334 16 +228 335 16 +228 336 16 +228 337 16 +228 338 16 +228 339 16 +228 340 16 +228 341 16 +228 342 16 +228 343 16 +228 344 16 +228 345 16 +228 346 16 +228 347 16 +228 348 16 +228 349 16 +228 350 0 +228 351 0 +228 352 0 +228 353 0 +228 354 0 +228 355 0 +228 356 0 +228 357 0 +228 358 0 +228 359 0 +228 360 0 +228 361 0 +228 362 0 +228 363 0 +228 364 0 +228 365 0 +228 366 0 +228 367 0 +228 368 0 +228 369 0 +228 370 0 +228 371 0 +228 372 0 +228 373 0 +228 374 0 +228 375 0 +228 376 0 +228 377 0 +228 378 0 +228 379 0 +228 380 0 +228 381 0 +228 382 0 +228 383 0 +229 230 16 +229 231 16 +229 232 16 +229 233 16 +229 234 16 +229 235 16 +229 236 16 +229 237 16 +229 238 16 +229 239 16 +229 240 16 +229 241 16 +229 242 16 +229 243 16 +229 244 16 +229 245 16 +229 246 16 +229 247 16 +229 248 16 +229 249 16 +229 250 16 +229 251 16 +229 252 16 +229 253 16 +229 254 16 +229 255 16 +229 256 16 +229 257 16 +229 258 16 +229 259 16 +229 260 16 +229 261 16 +229 262 16 +229 263 16 +229 264 16 +229 265 16 +229 266 16 +229 267 16 +229 268 16 +229 269 16 +229 270 16 +229 271 16 +229 272 16 +229 273 16 +229 274 16 +229 275 16 +229 276 16 +229 277 16 +229 278 16 +229 279 16 +229 280 16 +229 281 16 +229 282 16 +229 283 16 +229 284 16 +229 285 16 +229 286 16 +229 287 16 +229 288 16 +229 289 16 +229 290 16 +229 291 16 +229 292 16 +229 293 16 +229 294 16 +229 295 16 +229 296 16 +229 297 16 +229 298 16 +229 299 16 +229 300 16 +229 301 16 +229 302 16 +229 303 16 +229 304 16 +229 305 16 +229 306 16 +229 307 16 +229 308 16 +229 309 16 +229 310 16 +229 311 16 +229 312 16 +229 313 16 +229 314 16 +229 315 16 +229 316 16 +229 317 16 +229 318 16 +229 319 16 +229 320 16 +229 321 16 +229 322 16 +229 323 16 +229 324 16 +229 325 16 +229 326 16 +229 327 16 +229 328 16 +229 329 16 +229 330 16 +229 331 16 +229 332 16 +229 333 16 +229 334 16 +229 335 16 +229 336 16 +229 337 16 +229 338 16 +229 339 16 +229 340 16 +229 341 16 +229 342 16 +229 343 16 +229 344 16 +229 345 16 +229 346 16 +229 347 16 +229 348 16 +229 349 16 +229 350 0 +229 351 0 +229 352 0 +229 353 0 +229 354 0 +229 355 0 +229 356 0 +229 357 0 +229 358 0 +229 359 0 +229 360 0 +229 361 0 +229 362 0 +229 363 0 +229 364 0 +229 365 0 +229 366 0 +229 367 0 +229 368 0 +229 369 0 +229 370 0 +229 371 0 +229 372 0 +229 373 0 +229 374 0 +229 375 0 +229 376 0 +229 377 0 +229 378 0 +229 379 0 +229 380 0 +229 381 0 +229 382 0 +229 383 0 +230 231 16 +230 232 16 +230 233 16 +230 234 16 +230 235 16 +230 236 16 +230 237 16 +230 238 16 +230 239 16 +230 240 16 +230 241 16 +230 242 16 +230 243 16 +230 244 16 +230 245 16 +230 246 16 +230 247 16 +230 248 16 +230 249 16 +230 250 16 +230 251 16 +230 252 16 +230 253 16 +230 254 16 +230 255 16 +230 256 16 +230 257 16 +230 258 16 +230 259 16 +230 260 16 +230 261 16 +230 262 16 +230 263 16 +230 264 16 +230 265 16 +230 266 16 +230 267 16 +230 268 16 +230 269 16 +230 270 16 +230 271 16 +230 272 16 +230 273 16 +230 274 16 +230 275 16 +230 276 16 +230 277 16 +230 278 16 +230 279 16 +230 280 16 +230 281 16 +230 282 16 +230 283 16 +230 284 16 +230 285 16 +230 286 16 +230 287 16 +230 288 16 +230 289 16 +230 290 16 +230 291 16 +230 292 16 +230 293 16 +230 294 16 +230 295 16 +230 296 16 +230 297 16 +230 298 16 +230 299 16 +230 300 16 +230 301 16 +230 302 16 +230 303 16 +230 304 16 +230 305 16 +230 306 16 +230 307 16 +230 308 16 +230 309 16 +230 310 16 +230 311 16 +230 312 16 +230 313 16 +230 314 16 +230 315 16 +230 316 16 +230 317 16 +230 318 16 +230 319 16 +230 320 16 +230 321 16 +230 322 16 +230 323 16 +230 324 16 +230 325 16 +230 326 16 +230 327 16 +230 328 16 +230 329 16 +230 330 16 +230 331 16 +230 332 16 +230 333 16 +230 334 16 +230 335 16 +230 336 16 +230 337 16 +230 338 16 +230 339 16 +230 340 16 +230 341 16 +230 342 16 +230 343 16 +230 344 16 +230 345 16 +230 346 16 +230 347 16 +230 348 16 +230 349 16 +230 350 0 +230 351 0 +230 352 0 +230 353 0 +230 354 0 +230 355 0 +230 356 0 +230 357 0 +230 358 0 +230 359 0 +230 360 0 +230 361 0 +230 362 0 +230 363 0 +230 364 0 +230 365 0 +230 366 0 +230 367 0 +230 368 0 +230 369 0 +230 370 0 +230 371 0 +230 372 0 +230 373 0 +230 374 0 +230 375 0 +230 376 0 +230 377 0 +230 378 0 +230 379 0 +230 380 0 +230 381 0 +230 382 0 +230 383 0 +231 232 16 +231 233 16 +231 234 16 +231 235 16 +231 236 16 +231 237 16 +231 238 16 +231 239 16 +231 240 16 +231 241 16 +231 242 16 +231 243 16 +231 244 16 +231 245 16 +231 246 16 +231 247 16 +231 248 16 +231 249 16 +231 250 16 +231 251 16 +231 252 16 +231 253 16 +231 254 16 +231 255 16 +231 256 16 +231 257 16 +231 258 16 +231 259 16 +231 260 16 +231 261 16 +231 262 16 +231 263 16 +231 264 16 +231 265 16 +231 266 16 +231 267 16 +231 268 16 +231 269 16 +231 270 16 +231 271 16 +231 272 16 +231 273 16 +231 274 16 +231 275 16 +231 276 16 +231 277 16 +231 278 16 +231 279 16 +231 280 16 +231 281 16 +231 282 16 +231 283 16 +231 284 16 +231 285 16 +231 286 16 +231 287 16 +231 288 16 +231 289 16 +231 290 16 +231 291 16 +231 292 16 +231 293 16 +231 294 16 +231 295 16 +231 296 16 +231 297 16 +231 298 16 +231 299 16 +231 300 16 +231 301 16 +231 302 16 +231 303 16 +231 304 16 +231 305 16 +231 306 16 +231 307 16 +231 308 16 +231 309 16 +231 310 16 +231 311 16 +231 312 16 +231 313 16 +231 314 16 +231 315 16 +231 316 16 +231 317 16 +231 318 16 +231 319 16 +231 320 16 +231 321 16 +231 322 16 +231 323 16 +231 324 16 +231 325 16 +231 326 16 +231 327 16 +231 328 16 +231 329 16 +231 330 16 +231 331 16 +231 332 16 +231 333 16 +231 334 16 +231 335 16 +231 336 16 +231 337 16 +231 338 16 +231 339 16 +231 340 16 +231 341 16 +231 342 16 +231 343 16 +231 344 16 +231 345 16 +231 346 16 +231 347 16 +231 348 16 +231 349 16 +231 350 0 +231 351 0 +231 352 0 +231 353 0 +231 354 0 +231 355 0 +231 356 0 +231 357 0 +231 358 0 +231 359 0 +231 360 0 +231 361 0 +231 362 0 +231 363 0 +231 364 0 +231 365 0 +231 366 0 +231 367 0 +231 368 0 +231 369 0 +231 370 0 +231 371 0 +231 372 0 +231 373 0 +231 374 0 +231 375 0 +231 376 0 +231 377 0 +231 378 0 +231 379 0 +231 380 0 +231 381 0 +231 382 0 +231 383 0 +232 233 16 +232 234 16 +232 235 16 +232 236 16 +232 237 16 +232 238 16 +232 239 16 +232 240 16 +232 241 16 +232 242 16 +232 243 16 +232 244 16 +232 245 16 +232 246 16 +232 247 16 +232 248 16 +232 249 16 +232 250 16 +232 251 16 +232 252 16 +232 253 16 +232 254 16 +232 255 16 +232 256 16 +232 257 16 +232 258 16 +232 259 16 +232 260 16 +232 261 16 +232 262 16 +232 263 16 +232 264 16 +232 265 16 +232 266 16 +232 267 16 +232 268 16 +232 269 16 +232 270 16 +232 271 16 +232 272 16 +232 273 16 +232 274 16 +232 275 16 +232 276 16 +232 277 16 +232 278 16 +232 279 16 +232 280 16 +232 281 16 +232 282 16 +232 283 16 +232 284 16 +232 285 16 +232 286 16 +232 287 16 +232 288 16 +232 289 16 +232 290 16 +232 291 16 +232 292 16 +232 293 16 +232 294 16 +232 295 16 +232 296 16 +232 297 16 +232 298 16 +232 299 16 +232 300 16 +232 301 16 +232 302 16 +232 303 16 +232 304 16 +232 305 16 +232 306 16 +232 307 16 +232 308 16 +232 309 16 +232 310 16 +232 311 16 +232 312 16 +232 313 16 +232 314 16 +232 315 16 +232 316 16 +232 317 16 +232 318 16 +232 319 16 +232 320 16 +232 321 16 +232 322 16 +232 323 16 +232 324 16 +232 325 16 +232 326 16 +232 327 16 +232 328 16 +232 329 16 +232 330 16 +232 331 16 +232 332 16 +232 333 16 +232 334 16 +232 335 16 +232 336 16 +232 337 16 +232 338 16 +232 339 16 +232 340 16 +232 341 16 +232 342 16 +232 343 16 +232 344 16 +232 345 16 +232 346 16 +232 347 16 +232 348 16 +232 349 16 +232 350 0 +232 351 0 +232 352 0 +232 353 0 +232 354 0 +232 355 0 +232 356 0 +232 357 0 +232 358 0 +232 359 0 +232 360 0 +232 361 0 +232 362 0 +232 363 0 +232 364 0 +232 365 0 +232 366 0 +232 367 0 +232 368 0 +232 369 0 +232 370 0 +232 371 0 +232 372 0 +232 373 0 +232 374 0 +232 375 0 +232 376 0 +232 377 0 +232 378 0 +232 379 0 +232 380 0 +232 381 0 +232 382 0 +232 383 0 +233 234 16 +233 235 16 +233 236 16 +233 237 16 +233 238 16 +233 239 16 +233 240 16 +233 241 16 +233 242 16 +233 243 16 +233 244 16 +233 245 16 +233 246 16 +233 247 16 +233 248 16 +233 249 16 +233 250 16 +233 251 16 +233 252 16 +233 253 16 +233 254 16 +233 255 16 +233 256 16 +233 257 16 +233 258 16 +233 259 16 +233 260 16 +233 261 16 +233 262 16 +233 263 16 +233 264 16 +233 265 16 +233 266 16 +233 267 16 +233 268 16 +233 269 16 +233 270 16 +233 271 16 +233 272 16 +233 273 16 +233 274 16 +233 275 16 +233 276 16 +233 277 16 +233 278 16 +233 279 16 +233 280 16 +233 281 16 +233 282 16 +233 283 16 +233 284 16 +233 285 16 +233 286 16 +233 287 16 +233 288 16 +233 289 16 +233 290 16 +233 291 16 +233 292 16 +233 293 16 +233 294 16 +233 295 16 +233 296 16 +233 297 16 +233 298 16 +233 299 16 +233 300 16 +233 301 16 +233 302 16 +233 303 16 +233 304 16 +233 305 16 +233 306 16 +233 307 16 +233 308 16 +233 309 16 +233 310 16 +233 311 16 +233 312 16 +233 313 16 +233 314 16 +233 315 16 +233 316 16 +233 317 16 +233 318 16 +233 319 16 +233 320 16 +233 321 16 +233 322 16 +233 323 16 +233 324 16 +233 325 16 +233 326 16 +233 327 16 +233 328 16 +233 329 16 +233 330 16 +233 331 16 +233 332 16 +233 333 16 +233 334 16 +233 335 16 +233 336 16 +233 337 16 +233 338 16 +233 339 16 +233 340 16 +233 341 16 +233 342 16 +233 343 16 +233 344 16 +233 345 16 +233 346 16 +233 347 16 +233 348 16 +233 349 16 +233 350 0 +233 351 0 +233 352 0 +233 353 0 +233 354 0 +233 355 0 +233 356 0 +233 357 0 +233 358 0 +233 359 0 +233 360 0 +233 361 0 +233 362 0 +233 363 0 +233 364 0 +233 365 0 +233 366 0 +233 367 0 +233 368 0 +233 369 0 +233 370 0 +233 371 0 +233 372 0 +233 373 0 +233 374 0 +233 375 0 +233 376 0 +233 377 0 +233 378 0 +233 379 0 +233 380 0 +233 381 0 +233 382 0 +233 383 0 +234 235 16 +234 236 16 +234 237 16 +234 238 16 +234 239 16 +234 240 16 +234 241 16 +234 242 16 +234 243 16 +234 244 16 +234 245 16 +234 246 16 +234 247 16 +234 248 16 +234 249 16 +234 250 16 +234 251 16 +234 252 16 +234 253 16 +234 254 16 +234 255 16 +234 256 16 +234 257 16 +234 258 16 +234 259 16 +234 260 16 +234 261 16 +234 262 16 +234 263 16 +234 264 16 +234 265 16 +234 266 16 +234 267 16 +234 268 16 +234 269 16 +234 270 16 +234 271 16 +234 272 16 +234 273 16 +234 274 16 +234 275 16 +234 276 16 +234 277 16 +234 278 16 +234 279 16 +234 280 16 +234 281 16 +234 282 16 +234 283 16 +234 284 16 +234 285 16 +234 286 16 +234 287 16 +234 288 16 +234 289 16 +234 290 16 +234 291 16 +234 292 16 +234 293 16 +234 294 16 +234 295 16 +234 296 16 +234 297 16 +234 298 16 +234 299 16 +234 300 16 +234 301 16 +234 302 16 +234 303 16 +234 304 16 +234 305 16 +234 306 16 +234 307 16 +234 308 16 +234 309 16 +234 310 16 +234 311 16 +234 312 16 +234 313 16 +234 314 16 +234 315 16 +234 316 16 +234 317 16 +234 318 16 +234 319 16 +234 320 16 +234 321 16 +234 322 16 +234 323 16 +234 324 16 +234 325 16 +234 326 16 +234 327 16 +234 328 16 +234 329 16 +234 330 16 +234 331 16 +234 332 16 +234 333 16 +234 334 16 +234 335 16 +234 336 16 +234 337 16 +234 338 16 +234 339 16 +234 340 16 +234 341 16 +234 342 16 +234 343 16 +234 344 16 +234 345 16 +234 346 16 +234 347 16 +234 348 16 +234 349 16 +234 350 0 +234 351 0 +234 352 0 +234 353 0 +234 354 0 +234 355 0 +234 356 0 +234 357 0 +234 358 0 +234 359 0 +234 360 0 +234 361 0 +234 362 0 +234 363 0 +234 364 0 +234 365 0 +234 366 0 +234 367 0 +234 368 0 +234 369 0 +234 370 0 +234 371 0 +234 372 0 +234 373 0 +234 374 0 +234 375 0 +234 376 0 +234 377 0 +234 378 0 +234 379 0 +234 380 0 +234 381 0 +234 382 0 +234 383 0 +235 236 16 +235 237 16 +235 238 16 +235 239 16 +235 240 16 +235 241 16 +235 242 16 +235 243 16 +235 244 16 +235 245 16 +235 246 16 +235 247 16 +235 248 16 +235 249 16 +235 250 16 +235 251 16 +235 252 16 +235 253 16 +235 254 16 +235 255 16 +235 256 16 +235 257 16 +235 258 16 +235 259 16 +235 260 16 +235 261 16 +235 262 16 +235 263 16 +235 264 16 +235 265 16 +235 266 16 +235 267 16 +235 268 16 +235 269 16 +235 270 16 +235 271 16 +235 272 16 +235 273 16 +235 274 16 +235 275 16 +235 276 16 +235 277 16 +235 278 16 +235 279 16 +235 280 16 +235 281 16 +235 282 16 +235 283 16 +235 284 16 +235 285 16 +235 286 16 +235 287 16 +235 288 16 +235 289 16 +235 290 16 +235 291 16 +235 292 16 +235 293 16 +235 294 16 +235 295 16 +235 296 16 +235 297 16 +235 298 16 +235 299 16 +235 300 16 +235 301 16 +235 302 16 +235 303 16 +235 304 16 +235 305 16 +235 306 16 +235 307 16 +235 308 16 +235 309 16 +235 310 16 +235 311 16 +235 312 16 +235 313 16 +235 314 16 +235 315 16 +235 316 16 +235 317 16 +235 318 16 +235 319 16 +235 320 16 +235 321 16 +235 322 16 +235 323 16 +235 324 16 +235 325 16 +235 326 16 +235 327 16 +235 328 16 +235 329 16 +235 330 16 +235 331 16 +235 332 16 +235 333 16 +235 334 16 +235 335 16 +235 336 16 +235 337 16 +235 338 16 +235 339 16 +235 340 16 +235 341 16 +235 342 16 +235 343 16 +235 344 16 +235 345 16 +235 346 16 +235 347 16 +235 348 16 +235 349 16 +235 350 0 +235 351 0 +235 352 0 +235 353 0 +235 354 0 +235 355 0 +235 356 0 +235 357 0 +235 358 0 +235 359 0 +235 360 0 +235 361 0 +235 362 0 +235 363 0 +235 364 0 +235 365 0 +235 366 0 +235 367 0 +235 368 0 +235 369 0 +235 370 0 +235 371 0 +235 372 0 +235 373 0 +235 374 0 +235 375 0 +235 376 0 +235 377 0 +235 378 0 +235 379 0 +235 380 0 +235 381 0 +235 382 0 +235 383 0 +236 237 16 +236 238 16 +236 239 16 +236 240 16 +236 241 16 +236 242 16 +236 243 16 +236 244 16 +236 245 16 +236 246 16 +236 247 16 +236 248 16 +236 249 16 +236 250 16 +236 251 16 +236 252 16 +236 253 16 +236 254 16 +236 255 16 +236 256 16 +236 257 16 +236 258 16 +236 259 16 +236 260 16 +236 261 16 +236 262 16 +236 263 16 +236 264 16 +236 265 16 +236 266 16 +236 267 16 +236 268 16 +236 269 16 +236 270 16 +236 271 16 +236 272 16 +236 273 16 +236 274 16 +236 275 16 +236 276 16 +236 277 16 +236 278 16 +236 279 16 +236 280 16 +236 281 16 +236 282 16 +236 283 16 +236 284 16 +236 285 16 +236 286 16 +236 287 16 +236 288 16 +236 289 16 +236 290 16 +236 291 16 +236 292 16 +236 293 16 +236 294 16 +236 295 16 +236 296 16 +236 297 16 +236 298 16 +236 299 16 +236 300 16 +236 301 16 +236 302 16 +236 303 16 +236 304 16 +236 305 16 +236 306 16 +236 307 16 +236 308 16 +236 309 16 +236 310 16 +236 311 16 +236 312 16 +236 313 16 +236 314 16 +236 315 16 +236 316 16 +236 317 16 +236 318 16 +236 319 16 +236 320 16 +236 321 16 +236 322 16 +236 323 16 +236 324 16 +236 325 16 +236 326 16 +236 327 16 +236 328 16 +236 329 16 +236 330 16 +236 331 16 +236 332 16 +236 333 16 +236 334 16 +236 335 16 +236 336 16 +236 337 16 +236 338 16 +236 339 16 +236 340 16 +236 341 16 +236 342 16 +236 343 16 +236 344 16 +236 345 16 +236 346 16 +236 347 16 +236 348 16 +236 349 16 +236 350 0 +236 351 0 +236 352 0 +236 353 0 +236 354 0 +236 355 0 +236 356 0 +236 357 0 +236 358 0 +236 359 0 +236 360 0 +236 361 0 +236 362 0 +236 363 0 +236 364 0 +236 365 0 +236 366 0 +236 367 0 +236 368 0 +236 369 0 +236 370 0 +236 371 0 +236 372 0 +236 373 0 +236 374 0 +236 375 0 +236 376 0 +236 377 0 +236 378 0 +236 379 0 +236 380 0 +236 381 0 +236 382 0 +236 383 0 +237 238 16 +237 239 16 +237 240 16 +237 241 16 +237 242 16 +237 243 16 +237 244 16 +237 245 16 +237 246 16 +237 247 16 +237 248 16 +237 249 16 +237 250 16 +237 251 16 +237 252 16 +237 253 16 +237 254 16 +237 255 16 +237 256 16 +237 257 16 +237 258 16 +237 259 16 +237 260 16 +237 261 16 +237 262 16 +237 263 16 +237 264 16 +237 265 16 +237 266 16 +237 267 16 +237 268 16 +237 269 16 +237 270 16 +237 271 16 +237 272 16 +237 273 16 +237 274 16 +237 275 16 +237 276 16 +237 277 16 +237 278 16 +237 279 16 +237 280 16 +237 281 16 +237 282 16 +237 283 16 +237 284 16 +237 285 16 +237 286 16 +237 287 16 +237 288 16 +237 289 16 +237 290 16 +237 291 16 +237 292 16 +237 293 16 +237 294 16 +237 295 16 +237 296 16 +237 297 16 +237 298 16 +237 299 16 +237 300 16 +237 301 16 +237 302 16 +237 303 16 +237 304 16 +237 305 16 +237 306 16 +237 307 16 +237 308 16 +237 309 16 +237 310 16 +237 311 16 +237 312 16 +237 313 16 +237 314 16 +237 315 16 +237 316 16 +237 317 16 +237 318 16 +237 319 16 +237 320 16 +237 321 16 +237 322 16 +237 323 16 +237 324 16 +237 325 16 +237 326 16 +237 327 16 +237 328 16 +237 329 16 +237 330 16 +237 331 16 +237 332 16 +237 333 16 +237 334 16 +237 335 16 +237 336 16 +237 337 16 +237 338 16 +237 339 16 +237 340 16 +237 341 16 +237 342 16 +237 343 16 +237 344 16 +237 345 16 +237 346 16 +237 347 16 +237 348 16 +237 349 16 +237 350 0 +237 351 0 +237 352 0 +237 353 0 +237 354 0 +237 355 0 +237 356 0 +237 357 0 +237 358 0 +237 359 0 +237 360 0 +237 361 0 +237 362 0 +237 363 0 +237 364 0 +237 365 0 +237 366 0 +237 367 0 +237 368 0 +237 369 0 +237 370 0 +237 371 0 +237 372 0 +237 373 0 +237 374 0 +237 375 0 +237 376 0 +237 377 0 +237 378 0 +237 379 0 +237 380 0 +237 381 0 +237 382 0 +237 383 0 +238 239 16 +238 240 16 +238 241 16 +238 242 16 +238 243 16 +238 244 16 +238 245 16 +238 246 16 +238 247 16 +238 248 16 +238 249 16 +238 250 16 +238 251 16 +238 252 16 +238 253 16 +238 254 16 +238 255 16 +238 256 16 +238 257 16 +238 258 16 +238 259 16 +238 260 16 +238 261 16 +238 262 16 +238 263 16 +238 264 16 +238 265 16 +238 266 16 +238 267 16 +238 268 16 +238 269 16 +238 270 16 +238 271 16 +238 272 16 +238 273 16 +238 274 16 +238 275 16 +238 276 16 +238 277 16 +238 278 16 +238 279 16 +238 280 16 +238 281 16 +238 282 16 +238 283 16 +238 284 16 +238 285 16 +238 286 16 +238 287 16 +238 288 16 +238 289 16 +238 290 16 +238 291 16 +238 292 16 +238 293 16 +238 294 16 +238 295 16 +238 296 16 +238 297 16 +238 298 16 +238 299 16 +238 300 16 +238 301 16 +238 302 16 +238 303 16 +238 304 16 +238 305 16 +238 306 16 +238 307 16 +238 308 16 +238 309 16 +238 310 16 +238 311 16 +238 312 16 +238 313 16 +238 314 16 +238 315 16 +238 316 16 +238 317 16 +238 318 16 +238 319 16 +238 320 16 +238 321 16 +238 322 16 +238 323 16 +238 324 16 +238 325 16 +238 326 16 +238 327 16 +238 328 16 +238 329 16 +238 330 16 +238 331 16 +238 332 16 +238 333 16 +238 334 16 +238 335 16 +238 336 16 +238 337 16 +238 338 16 +238 339 16 +238 340 16 +238 341 16 +238 342 16 +238 343 16 +238 344 16 +238 345 16 +238 346 16 +238 347 16 +238 348 16 +238 349 16 +238 350 0 +238 351 0 +238 352 0 +238 353 0 +238 354 0 +238 355 0 +238 356 0 +238 357 0 +238 358 0 +238 359 0 +238 360 0 +238 361 0 +238 362 0 +238 363 0 +238 364 0 +238 365 0 +238 366 0 +238 367 0 +238 368 0 +238 369 0 +238 370 0 +238 371 0 +238 372 0 +238 373 0 +238 374 0 +238 375 0 +238 376 0 +238 377 0 +238 378 0 +238 379 0 +238 380 0 +238 381 0 +238 382 0 +238 383 0 +239 240 16 +239 241 16 +239 242 16 +239 243 16 +239 244 16 +239 245 16 +239 246 16 +239 247 16 +239 248 16 +239 249 16 +239 250 16 +239 251 16 +239 252 16 +239 253 16 +239 254 16 +239 255 16 +239 256 16 +239 257 16 +239 258 16 +239 259 16 +239 260 16 +239 261 16 +239 262 16 +239 263 16 +239 264 16 +239 265 16 +239 266 16 +239 267 16 +239 268 16 +239 269 16 +239 270 16 +239 271 16 +239 272 16 +239 273 16 +239 274 16 +239 275 16 +239 276 16 +239 277 16 +239 278 16 +239 279 16 +239 280 16 +239 281 16 +239 282 16 +239 283 16 +239 284 16 +239 285 16 +239 286 16 +239 287 16 +239 288 16 +239 289 16 +239 290 16 +239 291 16 +239 292 16 +239 293 16 +239 294 16 +239 295 16 +239 296 16 +239 297 16 +239 298 16 +239 299 16 +239 300 16 +239 301 16 +239 302 16 +239 303 16 +239 304 16 +239 305 16 +239 306 16 +239 307 16 +239 308 16 +239 309 16 +239 310 16 +239 311 16 +239 312 16 +239 313 16 +239 314 16 +239 315 16 +239 316 16 +239 317 16 +239 318 16 +239 319 16 +239 320 16 +239 321 16 +239 322 16 +239 323 16 +239 324 16 +239 325 16 +239 326 16 +239 327 16 +239 328 16 +239 329 16 +239 330 16 +239 331 16 +239 332 16 +239 333 16 +239 334 16 +239 335 16 +239 336 16 +239 337 16 +239 338 16 +239 339 16 +239 340 16 +239 341 16 +239 342 16 +239 343 16 +239 344 16 +239 345 16 +239 346 16 +239 347 16 +239 348 16 +239 349 16 +239 350 0 +239 351 0 +239 352 0 +239 353 0 +239 354 0 +239 355 0 +239 356 0 +239 357 0 +239 358 0 +239 359 0 +239 360 0 +239 361 0 +239 362 0 +239 363 0 +239 364 0 +239 365 0 +239 366 0 +239 367 0 +239 368 0 +239 369 0 +239 370 0 +239 371 0 +239 372 0 +239 373 0 +239 374 0 +239 375 0 +239 376 0 +239 377 0 +239 378 0 +239 379 0 +239 380 0 +239 381 0 +239 382 0 +239 383 0 +240 241 16 +240 242 16 +240 243 16 +240 244 16 +240 245 16 +240 246 16 +240 247 16 +240 248 16 +240 249 16 +240 250 16 +240 251 16 +240 252 16 +240 253 16 +240 254 16 +240 255 16 +240 256 16 +240 257 16 +240 258 16 +240 259 16 +240 260 16 +240 261 16 +240 262 16 +240 263 16 +240 264 16 +240 265 16 +240 266 16 +240 267 16 +240 268 16 +240 269 16 +240 270 16 +240 271 16 +240 272 16 +240 273 16 +240 274 16 +240 275 16 +240 276 16 +240 277 16 +240 278 16 +240 279 16 +240 280 16 +240 281 16 +240 282 16 +240 283 16 +240 284 16 +240 285 16 +240 286 16 +240 287 16 +240 288 16 +240 289 16 +240 290 16 +240 291 16 +240 292 16 +240 293 16 +240 294 16 +240 295 16 +240 296 16 +240 297 16 +240 298 16 +240 299 16 +240 300 16 +240 301 16 +240 302 16 +240 303 16 +240 304 16 +240 305 16 +240 306 16 +240 307 16 +240 308 16 +240 309 16 +240 310 16 +240 311 16 +240 312 16 +240 313 16 +240 314 16 +240 315 16 +240 316 16 +240 317 16 +240 318 16 +240 319 16 +240 320 16 +240 321 16 +240 322 16 +240 323 16 +240 324 16 +240 325 16 +240 326 16 +240 327 16 +240 328 16 +240 329 16 +240 330 16 +240 331 16 +240 332 16 +240 333 16 +240 334 16 +240 335 16 +240 336 16 +240 337 16 +240 338 16 +240 339 16 +240 340 16 +240 341 16 +240 342 16 +240 343 16 +240 344 16 +240 345 16 +240 346 16 +240 347 16 +240 348 16 +240 349 16 +240 350 0 +240 351 0 +240 352 0 +240 353 0 +240 354 0 +240 355 0 +240 356 0 +240 357 0 +240 358 0 +240 359 0 +240 360 0 +240 361 0 +240 362 0 +240 363 0 +240 364 0 +240 365 0 +240 366 0 +240 367 0 +240 368 0 +240 369 0 +240 370 0 +240 371 0 +240 372 0 +240 373 0 +240 374 0 +240 375 0 +240 376 0 +240 377 0 +240 378 0 +240 379 0 +240 380 0 +240 381 0 +240 382 0 +240 383 0 +241 242 16 +241 243 16 +241 244 16 +241 245 16 +241 246 16 +241 247 16 +241 248 16 +241 249 16 +241 250 16 +241 251 16 +241 252 16 +241 253 16 +241 254 16 +241 255 16 +241 256 16 +241 257 16 +241 258 16 +241 259 16 +241 260 16 +241 261 16 +241 262 16 +241 263 16 +241 264 16 +241 265 16 +241 266 16 +241 267 16 +241 268 16 +241 269 16 +241 270 16 +241 271 16 +241 272 16 +241 273 16 +241 274 16 +241 275 16 +241 276 16 +241 277 16 +241 278 16 +241 279 16 +241 280 16 +241 281 16 +241 282 16 +241 283 16 +241 284 16 +241 285 16 +241 286 16 +241 287 16 +241 288 16 +241 289 16 +241 290 16 +241 291 16 +241 292 16 +241 293 16 +241 294 16 +241 295 16 +241 296 16 +241 297 16 +241 298 16 +241 299 16 +241 300 16 +241 301 16 +241 302 16 +241 303 16 +241 304 16 +241 305 16 +241 306 16 +241 307 16 +241 308 16 +241 309 16 +241 310 16 +241 311 16 +241 312 16 +241 313 16 +241 314 16 +241 315 16 +241 316 16 +241 317 16 +241 318 16 +241 319 16 +241 320 16 +241 321 16 +241 322 16 +241 323 16 +241 324 16 +241 325 16 +241 326 16 +241 327 16 +241 328 16 +241 329 16 +241 330 16 +241 331 16 +241 332 16 +241 333 16 +241 334 16 +241 335 16 +241 336 16 +241 337 16 +241 338 16 +241 339 16 +241 340 16 +241 341 16 +241 342 16 +241 343 16 +241 344 16 +241 345 16 +241 346 16 +241 347 16 +241 348 16 +241 349 16 +241 350 0 +241 351 0 +241 352 0 +241 353 0 +241 354 0 +241 355 0 +241 356 0 +241 357 0 +241 358 0 +241 359 0 +241 360 0 +241 361 0 +241 362 0 +241 363 0 +241 364 0 +241 365 0 +241 366 0 +241 367 0 +241 368 0 +241 369 0 +241 370 0 +241 371 0 +241 372 0 +241 373 0 +241 374 0 +241 375 0 +241 376 0 +241 377 0 +241 378 0 +241 379 0 +241 380 0 +241 381 0 +241 382 0 +241 383 0 +242 243 16 +242 244 16 +242 245 16 +242 246 16 +242 247 16 +242 248 16 +242 249 16 +242 250 16 +242 251 16 +242 252 16 +242 253 16 +242 254 16 +242 255 16 +242 256 16 +242 257 16 +242 258 16 +242 259 16 +242 260 16 +242 261 16 +242 262 16 +242 263 16 +242 264 16 +242 265 16 +242 266 16 +242 267 16 +242 268 16 +242 269 16 +242 270 16 +242 271 16 +242 272 16 +242 273 16 +242 274 16 +242 275 16 +242 276 16 +242 277 16 +242 278 16 +242 279 16 +242 280 16 +242 281 16 +242 282 16 +242 283 16 +242 284 16 +242 285 16 +242 286 16 +242 287 16 +242 288 16 +242 289 16 +242 290 16 +242 291 16 +242 292 16 +242 293 16 +242 294 16 +242 295 16 +242 296 16 +242 297 16 +242 298 16 +242 299 16 +242 300 16 +242 301 16 +242 302 16 +242 303 16 +242 304 16 +242 305 16 +242 306 16 +242 307 16 +242 308 16 +242 309 16 +242 310 16 +242 311 16 +242 312 16 +242 313 16 +242 314 16 +242 315 16 +242 316 16 +242 317 16 +242 318 16 +242 319 16 +242 320 16 +242 321 16 +242 322 16 +242 323 16 +242 324 16 +242 325 16 +242 326 16 +242 327 16 +242 328 16 +242 329 16 +242 330 16 +242 331 16 +242 332 16 +242 333 16 +242 334 16 +242 335 16 +242 336 16 +242 337 16 +242 338 16 +242 339 16 +242 340 16 +242 341 16 +242 342 16 +242 343 16 +242 344 16 +242 345 16 +242 346 16 +242 347 16 +242 348 16 +242 349 16 +242 350 0 +242 351 0 +242 352 0 +242 353 0 +242 354 0 +242 355 0 +242 356 0 +242 357 0 +242 358 0 +242 359 0 +242 360 0 +242 361 0 +242 362 0 +242 363 0 +242 364 0 +242 365 0 +242 366 0 +242 367 0 +242 368 0 +242 369 0 +242 370 0 +242 371 0 +242 372 0 +242 373 0 +242 374 0 +242 375 0 +242 376 0 +242 377 0 +242 378 0 +242 379 0 +242 380 0 +242 381 0 +242 382 0 +242 383 0 +243 244 16 +243 245 16 +243 246 16 +243 247 16 +243 248 16 +243 249 16 +243 250 16 +243 251 16 +243 252 16 +243 253 16 +243 254 16 +243 255 16 +243 256 16 +243 257 16 +243 258 16 +243 259 16 +243 260 16 +243 261 16 +243 262 16 +243 263 16 +243 264 16 +243 265 16 +243 266 16 +243 267 16 +243 268 16 +243 269 16 +243 270 16 +243 271 16 +243 272 16 +243 273 16 +243 274 16 +243 275 16 +243 276 16 +243 277 16 +243 278 16 +243 279 16 +243 280 16 +243 281 16 +243 282 16 +243 283 16 +243 284 16 +243 285 16 +243 286 16 +243 287 16 +243 288 16 +243 289 16 +243 290 16 +243 291 16 +243 292 16 +243 293 16 +243 294 16 +243 295 16 +243 296 16 +243 297 16 +243 298 16 +243 299 16 +243 300 16 +243 301 16 +243 302 16 +243 303 16 +243 304 16 +243 305 16 +243 306 16 +243 307 16 +243 308 16 +243 309 16 +243 310 16 +243 311 16 +243 312 16 +243 313 16 +243 314 16 +243 315 16 +243 316 16 +243 317 16 +243 318 16 +243 319 16 +243 320 16 +243 321 16 +243 322 16 +243 323 16 +243 324 16 +243 325 16 +243 326 16 +243 327 16 +243 328 16 +243 329 16 +243 330 16 +243 331 16 +243 332 16 +243 333 16 +243 334 16 +243 335 16 +243 336 16 +243 337 16 +243 338 16 +243 339 16 +243 340 16 +243 341 16 +243 342 16 +243 343 16 +243 344 16 +243 345 16 +243 346 16 +243 347 16 +243 348 16 +243 349 16 +243 350 0 +243 351 0 +243 352 0 +243 353 0 +243 354 0 +243 355 0 +243 356 0 +243 357 0 +243 358 0 +243 359 0 +243 360 0 +243 361 0 +243 362 0 +243 363 0 +243 364 0 +243 365 0 +243 366 0 +243 367 0 +243 368 0 +243 369 0 +243 370 0 +243 371 0 +243 372 0 +243 373 0 +243 374 0 +243 375 0 +243 376 0 +243 377 0 +243 378 0 +243 379 0 +243 380 0 +243 381 0 +243 382 0 +243 383 0 +244 245 16 +244 246 16 +244 247 16 +244 248 16 +244 249 16 +244 250 16 +244 251 16 +244 252 16 +244 253 16 +244 254 16 +244 255 16 +244 256 16 +244 257 16 +244 258 16 +244 259 16 +244 260 16 +244 261 16 +244 262 16 +244 263 16 +244 264 16 +244 265 16 +244 266 16 +244 267 16 +244 268 16 +244 269 16 +244 270 16 +244 271 16 +244 272 16 +244 273 16 +244 274 16 +244 275 16 +244 276 16 +244 277 16 +244 278 16 +244 279 16 +244 280 16 +244 281 16 +244 282 16 +244 283 16 +244 284 16 +244 285 16 +244 286 16 +244 287 16 +244 288 16 +244 289 16 +244 290 16 +244 291 16 +244 292 16 +244 293 16 +244 294 16 +244 295 16 +244 296 16 +244 297 16 +244 298 16 +244 299 16 +244 300 16 +244 301 16 +244 302 16 +244 303 16 +244 304 16 +244 305 16 +244 306 16 +244 307 16 +244 308 16 +244 309 16 +244 310 16 +244 311 16 +244 312 16 +244 313 16 +244 314 16 +244 315 16 +244 316 16 +244 317 16 +244 318 16 +244 319 16 +244 320 16 +244 321 16 +244 322 16 +244 323 16 +244 324 16 +244 325 16 +244 326 16 +244 327 16 +244 328 16 +244 329 16 +244 330 16 +244 331 16 +244 332 16 +244 333 16 +244 334 16 +244 335 16 +244 336 16 +244 337 16 +244 338 16 +244 339 16 +244 340 16 +244 341 16 +244 342 16 +244 343 16 +244 344 16 +244 345 16 +244 346 16 +244 347 16 +244 348 16 +244 349 16 +244 350 0 +244 351 0 +244 352 0 +244 353 0 +244 354 0 +244 355 0 +244 356 0 +244 357 0 +244 358 0 +244 359 0 +244 360 0 +244 361 0 +244 362 0 +244 363 0 +244 364 0 +244 365 0 +244 366 0 +244 367 0 +244 368 0 +244 369 0 +244 370 0 +244 371 0 +244 372 0 +244 373 0 +244 374 0 +244 375 0 +244 376 0 +244 377 0 +244 378 0 +244 379 0 +244 380 0 +244 381 0 +244 382 0 +244 383 0 +245 246 16 +245 247 16 +245 248 16 +245 249 16 +245 250 16 +245 251 16 +245 252 16 +245 253 16 +245 254 16 +245 255 16 +245 256 16 +245 257 16 +245 258 16 +245 259 16 +245 260 16 +245 261 16 +245 262 16 +245 263 16 +245 264 16 +245 265 16 +245 266 16 +245 267 16 +245 268 16 +245 269 16 +245 270 16 +245 271 16 +245 272 16 +245 273 16 +245 274 16 +245 275 16 +245 276 16 +245 277 16 +245 278 16 +245 279 16 +245 280 16 +245 281 16 +245 282 16 +245 283 16 +245 284 16 +245 285 16 +245 286 16 +245 287 16 +245 288 16 +245 289 16 +245 290 16 +245 291 16 +245 292 16 +245 293 16 +245 294 16 +245 295 16 +245 296 16 +245 297 16 +245 298 16 +245 299 16 +245 300 16 +245 301 16 +245 302 16 +245 303 16 +245 304 16 +245 305 16 +245 306 16 +245 307 16 +245 308 16 +245 309 16 +245 310 16 +245 311 16 +245 312 16 +245 313 16 +245 314 16 +245 315 16 +245 316 16 +245 317 16 +245 318 16 +245 319 16 +245 320 16 +245 321 16 +245 322 16 +245 323 16 +245 324 16 +245 325 16 +245 326 16 +245 327 16 +245 328 16 +245 329 16 +245 330 16 +245 331 16 +245 332 16 +245 333 16 +245 334 16 +245 335 16 +245 336 16 +245 337 16 +245 338 16 +245 339 16 +245 340 16 +245 341 16 +245 342 16 +245 343 16 +245 344 16 +245 345 16 +245 346 16 +245 347 16 +245 348 16 +245 349 16 +245 350 0 +245 351 0 +245 352 0 +245 353 0 +245 354 0 +245 355 0 +245 356 0 +245 357 0 +245 358 0 +245 359 0 +245 360 0 +245 361 0 +245 362 0 +245 363 0 +245 364 0 +245 365 0 +245 366 0 +245 367 0 +245 368 0 +245 369 0 +245 370 0 +245 371 0 +245 372 0 +245 373 0 +245 374 0 +245 375 0 +245 376 0 +245 377 0 +245 378 0 +245 379 0 +245 380 0 +245 381 0 +245 382 0 +245 383 0 +246 247 16 +246 248 16 +246 249 16 +246 250 16 +246 251 16 +246 252 16 +246 253 16 +246 254 16 +246 255 16 +246 256 16 +246 257 16 +246 258 16 +246 259 16 +246 260 16 +246 261 16 +246 262 16 +246 263 16 +246 264 16 +246 265 16 +246 266 16 +246 267 16 +246 268 16 +246 269 16 +246 270 16 +246 271 16 +246 272 16 +246 273 16 +246 274 16 +246 275 16 +246 276 16 +246 277 16 +246 278 16 +246 279 16 +246 280 16 +246 281 16 +246 282 16 +246 283 16 +246 284 16 +246 285 16 +246 286 16 +246 287 16 +246 288 16 +246 289 16 +246 290 16 +246 291 16 +246 292 16 +246 293 16 +246 294 16 +246 295 16 +246 296 16 +246 297 16 +246 298 16 +246 299 16 +246 300 16 +246 301 16 +246 302 16 +246 303 16 +246 304 16 +246 305 16 +246 306 16 +246 307 16 +246 308 16 +246 309 16 +246 310 16 +246 311 16 +246 312 16 +246 313 16 +246 314 16 +246 315 16 +246 316 16 +246 317 16 +246 318 16 +246 319 16 +246 320 16 +246 321 16 +246 322 16 +246 323 16 +246 324 16 +246 325 16 +246 326 16 +246 327 16 +246 328 16 +246 329 16 +246 330 16 +246 331 16 +246 332 16 +246 333 16 +246 334 16 +246 335 16 +246 336 16 +246 337 16 +246 338 16 +246 339 16 +246 340 16 +246 341 16 +246 342 16 +246 343 16 +246 344 16 +246 345 16 +246 346 16 +246 347 16 +246 348 16 +246 349 16 +246 350 0 +246 351 0 +246 352 0 +246 353 0 +246 354 0 +246 355 0 +246 356 0 +246 357 0 +246 358 0 +246 359 0 +246 360 0 +246 361 0 +246 362 0 +246 363 0 +246 364 0 +246 365 0 +246 366 0 +246 367 0 +246 368 0 +246 369 0 +246 370 0 +246 371 0 +246 372 0 +246 373 0 +246 374 0 +246 375 0 +246 376 0 +246 377 0 +246 378 0 +246 379 0 +246 380 0 +246 381 0 +246 382 0 +246 383 0 +247 248 16 +247 249 16 +247 250 16 +247 251 16 +247 252 16 +247 253 16 +247 254 16 +247 255 16 +247 256 16 +247 257 16 +247 258 16 +247 259 16 +247 260 16 +247 261 16 +247 262 16 +247 263 16 +247 264 16 +247 265 16 +247 266 16 +247 267 16 +247 268 16 +247 269 16 +247 270 16 +247 271 16 +247 272 16 +247 273 16 +247 274 16 +247 275 16 +247 276 16 +247 277 16 +247 278 16 +247 279 16 +247 280 16 +247 281 16 +247 282 16 +247 283 16 +247 284 16 +247 285 16 +247 286 16 +247 287 16 +247 288 16 +247 289 16 +247 290 16 +247 291 16 +247 292 16 +247 293 16 +247 294 16 +247 295 16 +247 296 16 +247 297 16 +247 298 16 +247 299 16 +247 300 16 +247 301 16 +247 302 16 +247 303 16 +247 304 16 +247 305 16 +247 306 16 +247 307 16 +247 308 16 +247 309 16 +247 310 16 +247 311 16 +247 312 16 +247 313 16 +247 314 16 +247 315 16 +247 316 16 +247 317 16 +247 318 16 +247 319 16 +247 320 16 +247 321 16 +247 322 16 +247 323 16 +247 324 16 +247 325 16 +247 326 16 +247 327 16 +247 328 16 +247 329 16 +247 330 16 +247 331 16 +247 332 16 +247 333 16 +247 334 16 +247 335 16 +247 336 16 +247 337 16 +247 338 16 +247 339 16 +247 340 16 +247 341 16 +247 342 16 +247 343 16 +247 344 16 +247 345 16 +247 346 16 +247 347 16 +247 348 16 +247 349 16 +247 350 0 +247 351 0 +247 352 0 +247 353 0 +247 354 0 +247 355 0 +247 356 0 +247 357 0 +247 358 0 +247 359 0 +247 360 0 +247 361 0 +247 362 0 +247 363 0 +247 364 0 +247 365 0 +247 366 0 +247 367 0 +247 368 0 +247 369 0 +247 370 0 +247 371 0 +247 372 0 +247 373 0 +247 374 0 +247 375 0 +247 376 0 +247 377 0 +247 378 0 +247 379 0 +247 380 0 +247 381 0 +247 382 0 +247 383 0 +248 249 16 +248 250 16 +248 251 16 +248 252 16 +248 253 16 +248 254 16 +248 255 16 +248 256 16 +248 257 16 +248 258 16 +248 259 16 +248 260 16 +248 261 16 +248 262 16 +248 263 16 +248 264 16 +248 265 16 +248 266 16 +248 267 16 +248 268 16 +248 269 16 +248 270 16 +248 271 16 +248 272 16 +248 273 16 +248 274 16 +248 275 16 +248 276 16 +248 277 16 +248 278 16 +248 279 16 +248 280 16 +248 281 16 +248 282 16 +248 283 16 +248 284 16 +248 285 16 +248 286 16 +248 287 16 +248 288 16 +248 289 16 +248 290 16 +248 291 16 +248 292 16 +248 293 16 +248 294 16 +248 295 16 +248 296 16 +248 297 16 +248 298 16 +248 299 16 +248 300 16 +248 301 16 +248 302 16 +248 303 16 +248 304 16 +248 305 16 +248 306 16 +248 307 16 +248 308 16 +248 309 16 +248 310 16 +248 311 16 +248 312 16 +248 313 16 +248 314 16 +248 315 16 +248 316 16 +248 317 16 +248 318 16 +248 319 16 +248 320 16 +248 321 16 +248 322 16 +248 323 16 +248 324 16 +248 325 16 +248 326 16 +248 327 16 +248 328 16 +248 329 16 +248 330 16 +248 331 16 +248 332 16 +248 333 16 +248 334 16 +248 335 16 +248 336 16 +248 337 16 +248 338 16 +248 339 16 +248 340 16 +248 341 16 +248 342 16 +248 343 16 +248 344 16 +248 345 16 +248 346 16 +248 347 16 +248 348 16 +248 349 16 +248 350 0 +248 351 0 +248 352 0 +248 353 0 +248 354 0 +248 355 0 +248 356 0 +248 357 0 +248 358 0 +248 359 0 +248 360 0 +248 361 0 +248 362 0 +248 363 0 +248 364 0 +248 365 0 +248 366 0 +248 367 0 +248 368 0 +248 369 0 +248 370 0 +248 371 0 +248 372 0 +248 373 0 +248 374 0 +248 375 0 +248 376 0 +248 377 0 +248 378 0 +248 379 0 +248 380 0 +248 381 0 +248 382 0 +248 383 0 +249 250 16 +249 251 16 +249 252 16 +249 253 16 +249 254 16 +249 255 16 +249 256 16 +249 257 16 +249 258 16 +249 259 16 +249 260 16 +249 261 16 +249 262 16 +249 263 16 +249 264 16 +249 265 16 +249 266 16 +249 267 16 +249 268 16 +249 269 16 +249 270 16 +249 271 16 +249 272 16 +249 273 16 +249 274 16 +249 275 16 +249 276 16 +249 277 16 +249 278 16 +249 279 16 +249 280 16 +249 281 16 +249 282 16 +249 283 16 +249 284 16 +249 285 16 +249 286 16 +249 287 16 +249 288 16 +249 289 16 +249 290 16 +249 291 16 +249 292 16 +249 293 16 +249 294 16 +249 295 16 +249 296 16 +249 297 16 +249 298 16 +249 299 16 +249 300 16 +249 301 16 +249 302 16 +249 303 16 +249 304 16 +249 305 16 +249 306 16 +249 307 16 +249 308 16 +249 309 16 +249 310 16 +249 311 16 +249 312 16 +249 313 16 +249 314 16 +249 315 16 +249 316 16 +249 317 16 +249 318 16 +249 319 16 +249 320 16 +249 321 16 +249 322 16 +249 323 16 +249 324 16 +249 325 16 +249 326 16 +249 327 16 +249 328 16 +249 329 16 +249 330 16 +249 331 16 +249 332 16 +249 333 16 +249 334 16 +249 335 16 +249 336 16 +249 337 16 +249 338 16 +249 339 16 +249 340 16 +249 341 16 +249 342 16 +249 343 16 +249 344 16 +249 345 16 +249 346 16 +249 347 16 +249 348 16 +249 349 16 +249 350 0 +249 351 0 +249 352 0 +249 353 0 +249 354 0 +249 355 0 +249 356 0 +249 357 0 +249 358 0 +249 359 0 +249 360 0 +249 361 0 +249 362 0 +249 363 0 +249 364 0 +249 365 0 +249 366 0 +249 367 0 +249 368 0 +249 369 0 +249 370 0 +249 371 0 +249 372 0 +249 373 0 +249 374 0 +249 375 0 +249 376 0 +249 377 0 +249 378 0 +249 379 0 +249 380 0 +249 381 0 +249 382 0 +249 383 0 +250 251 16 +250 252 16 +250 253 16 +250 254 16 +250 255 16 +250 256 16 +250 257 16 +250 258 16 +250 259 16 +250 260 16 +250 261 16 +250 262 16 +250 263 16 +250 264 16 +250 265 16 +250 266 16 +250 267 16 +250 268 16 +250 269 16 +250 270 16 +250 271 16 +250 272 16 +250 273 16 +250 274 16 +250 275 16 +250 276 16 +250 277 16 +250 278 16 +250 279 16 +250 280 16 +250 281 16 +250 282 16 +250 283 16 +250 284 16 +250 285 16 +250 286 16 +250 287 16 +250 288 16 +250 289 16 +250 290 16 +250 291 16 +250 292 16 +250 293 16 +250 294 16 +250 295 16 +250 296 16 +250 297 16 +250 298 16 +250 299 16 +250 300 16 +250 301 16 +250 302 16 +250 303 16 +250 304 16 +250 305 16 +250 306 16 +250 307 16 +250 308 16 +250 309 16 +250 310 16 +250 311 16 +250 312 16 +250 313 16 +250 314 16 +250 315 16 +250 316 16 +250 317 16 +250 318 16 +250 319 16 +250 320 16 +250 321 16 +250 322 16 +250 323 16 +250 324 16 +250 325 16 +250 326 16 +250 327 16 +250 328 16 +250 329 16 +250 330 16 +250 331 16 +250 332 16 +250 333 16 +250 334 16 +250 335 16 +250 336 16 +250 337 16 +250 338 16 +250 339 16 +250 340 16 +250 341 16 +250 342 16 +250 343 16 +250 344 16 +250 345 16 +250 346 16 +250 347 16 +250 348 16 +250 349 16 +250 350 0 +250 351 0 +250 352 0 +250 353 0 +250 354 0 +250 355 0 +250 356 0 +250 357 0 +250 358 0 +250 359 0 +250 360 0 +250 361 0 +250 362 0 +250 363 0 +250 364 0 +250 365 0 +250 366 0 +250 367 0 +250 368 0 +250 369 0 +250 370 0 +250 371 0 +250 372 0 +250 373 0 +250 374 0 +250 375 0 +250 376 0 +250 377 0 +250 378 0 +250 379 0 +250 380 0 +250 381 0 +250 382 0 +250 383 0 +251 252 16 +251 253 16 +251 254 16 +251 255 16 +251 256 16 +251 257 16 +251 258 16 +251 259 16 +251 260 16 +251 261 16 +251 262 16 +251 263 16 +251 264 16 +251 265 16 +251 266 16 +251 267 16 +251 268 16 +251 269 16 +251 270 16 +251 271 16 +251 272 16 +251 273 16 +251 274 16 +251 275 16 +251 276 16 +251 277 16 +251 278 16 +251 279 16 +251 280 16 +251 281 16 +251 282 16 +251 283 16 +251 284 16 +251 285 16 +251 286 16 +251 287 16 +251 288 16 +251 289 16 +251 290 16 +251 291 16 +251 292 16 +251 293 16 +251 294 16 +251 295 16 +251 296 16 +251 297 16 +251 298 16 +251 299 16 +251 300 16 +251 301 16 +251 302 16 +251 303 16 +251 304 16 +251 305 16 +251 306 16 +251 307 16 +251 308 16 +251 309 16 +251 310 16 +251 311 16 +251 312 16 +251 313 16 +251 314 16 +251 315 16 +251 316 16 +251 317 16 +251 318 16 +251 319 16 +251 320 16 +251 321 16 +251 322 16 +251 323 16 +251 324 16 +251 325 16 +251 326 16 +251 327 16 +251 328 16 +251 329 16 +251 330 16 +251 331 16 +251 332 16 +251 333 16 +251 334 16 +251 335 16 +251 336 16 +251 337 16 +251 338 16 +251 339 16 +251 340 16 +251 341 16 +251 342 16 +251 343 16 +251 344 16 +251 345 16 +251 346 16 +251 347 16 +251 348 16 +251 349 16 +251 350 0 +251 351 0 +251 352 0 +251 353 0 +251 354 0 +251 355 0 +251 356 0 +251 357 0 +251 358 0 +251 359 0 +251 360 0 +251 361 0 +251 362 0 +251 363 0 +251 364 0 +251 365 0 +251 366 0 +251 367 0 +251 368 0 +251 369 0 +251 370 0 +251 371 0 +251 372 0 +251 373 0 +251 374 0 +251 375 0 +251 376 0 +251 377 0 +251 378 0 +251 379 0 +251 380 0 +251 381 0 +251 382 0 +251 383 0 +252 253 16 +252 254 16 +252 255 16 +252 256 16 +252 257 16 +252 258 16 +252 259 16 +252 260 16 +252 261 16 +252 262 16 +252 263 16 +252 264 16 +252 265 16 +252 266 16 +252 267 16 +252 268 16 +252 269 16 +252 270 16 +252 271 16 +252 272 16 +252 273 16 +252 274 16 +252 275 16 +252 276 16 +252 277 16 +252 278 16 +252 279 16 +252 280 16 +252 281 16 +252 282 16 +252 283 16 +252 284 16 +252 285 16 +252 286 16 +252 287 16 +252 288 16 +252 289 16 +252 290 16 +252 291 16 +252 292 16 +252 293 16 +252 294 16 +252 295 16 +252 296 16 +252 297 16 +252 298 16 +252 299 16 +252 300 16 +252 301 16 +252 302 16 +252 303 16 +252 304 16 +252 305 16 +252 306 16 +252 307 16 +252 308 16 +252 309 16 +252 310 16 +252 311 16 +252 312 16 +252 313 16 +252 314 16 +252 315 16 +252 316 16 +252 317 16 +252 318 16 +252 319 16 +252 320 16 +252 321 16 +252 322 16 +252 323 16 +252 324 16 +252 325 16 +252 326 16 +252 327 16 +252 328 16 +252 329 16 +252 330 16 +252 331 16 +252 332 16 +252 333 16 +252 334 16 +252 335 16 +252 336 16 +252 337 16 +252 338 16 +252 339 16 +252 340 16 +252 341 16 +252 342 16 +252 343 16 +252 344 16 +252 345 16 +252 346 16 +252 347 16 +252 348 16 +252 349 16 +252 350 0 +252 351 0 +252 352 0 +252 353 0 +252 354 0 +252 355 0 +252 356 0 +252 357 0 +252 358 0 +252 359 0 +252 360 0 +252 361 0 +252 362 0 +252 363 0 +252 364 0 +252 365 0 +252 366 0 +252 367 0 +252 368 0 +252 369 0 +252 370 0 +252 371 0 +252 372 0 +252 373 0 +252 374 0 +252 375 0 +252 376 0 +252 377 0 +252 378 0 +252 379 0 +252 380 0 +252 381 0 +252 382 0 +252 383 0 +253 254 16 +253 255 16 +253 256 16 +253 257 16 +253 258 16 +253 259 16 +253 260 16 +253 261 16 +253 262 16 +253 263 16 +253 264 16 +253 265 16 +253 266 16 +253 267 16 +253 268 16 +253 269 16 +253 270 16 +253 271 16 +253 272 16 +253 273 16 +253 274 16 +253 275 16 +253 276 16 +253 277 16 +253 278 16 +253 279 16 +253 280 16 +253 281 16 +253 282 16 +253 283 16 +253 284 16 +253 285 16 +253 286 16 +253 287 16 +253 288 16 +253 289 16 +253 290 16 +253 291 16 +253 292 16 +253 293 16 +253 294 16 +253 295 16 +253 296 16 +253 297 16 +253 298 16 +253 299 16 +253 300 16 +253 301 16 +253 302 16 +253 303 16 +253 304 16 +253 305 16 +253 306 16 +253 307 16 +253 308 16 +253 309 16 +253 310 16 +253 311 16 +253 312 16 +253 313 16 +253 314 16 +253 315 16 +253 316 16 +253 317 16 +253 318 16 +253 319 16 +253 320 16 +253 321 16 +253 322 16 +253 323 16 +253 324 16 +253 325 16 +253 326 16 +253 327 16 +253 328 16 +253 329 16 +253 330 16 +253 331 16 +253 332 16 +253 333 16 +253 334 16 +253 335 16 +253 336 16 +253 337 16 +253 338 16 +253 339 16 +253 340 16 +253 341 16 +253 342 16 +253 343 16 +253 344 16 +253 345 16 +253 346 16 +253 347 16 +253 348 16 +253 349 16 +253 350 0 +253 351 0 +253 352 0 +253 353 0 +253 354 0 +253 355 0 +253 356 0 +253 357 0 +253 358 0 +253 359 0 +253 360 0 +253 361 0 +253 362 0 +253 363 0 +253 364 0 +253 365 0 +253 366 0 +253 367 0 +253 368 0 +253 369 0 +253 370 0 +253 371 0 +253 372 0 +253 373 0 +253 374 0 +253 375 0 +253 376 0 +253 377 0 +253 378 0 +253 379 0 +253 380 0 +253 381 0 +253 382 0 +253 383 0 +254 255 16 +254 256 16 +254 257 16 +254 258 16 +254 259 16 +254 260 16 +254 261 16 +254 262 16 +254 263 16 +254 264 16 +254 265 16 +254 266 16 +254 267 16 +254 268 16 +254 269 16 +254 270 16 +254 271 16 +254 272 16 +254 273 16 +254 274 16 +254 275 16 +254 276 16 +254 277 16 +254 278 16 +254 279 16 +254 280 16 +254 281 16 +254 282 16 +254 283 16 +254 284 16 +254 285 16 +254 286 16 +254 287 16 +254 288 16 +254 289 16 +254 290 16 +254 291 16 +254 292 16 +254 293 16 +254 294 16 +254 295 16 +254 296 16 +254 297 16 +254 298 16 +254 299 16 +254 300 16 +254 301 16 +254 302 16 +254 303 16 +254 304 16 +254 305 16 +254 306 16 +254 307 16 +254 308 16 +254 309 16 +254 310 16 +254 311 16 +254 312 16 +254 313 16 +254 314 16 +254 315 16 +254 316 16 +254 317 16 +254 318 16 +254 319 16 +254 320 16 +254 321 16 +254 322 16 +254 323 16 +254 324 16 +254 325 16 +254 326 16 +254 327 16 +254 328 16 +254 329 16 +254 330 16 +254 331 16 +254 332 16 +254 333 16 +254 334 16 +254 335 16 +254 336 16 +254 337 16 +254 338 16 +254 339 16 +254 340 16 +254 341 16 +254 342 16 +254 343 16 +254 344 16 +254 345 16 +254 346 16 +254 347 16 +254 348 16 +254 349 16 +254 350 0 +254 351 0 +254 352 0 +254 353 0 +254 354 0 +254 355 0 +254 356 0 +254 357 0 +254 358 0 +254 359 0 +254 360 0 +254 361 0 +254 362 0 +254 363 0 +254 364 0 +254 365 0 +254 366 0 +254 367 0 +254 368 0 +254 369 0 +254 370 0 +254 371 0 +254 372 0 +254 373 0 +254 374 0 +254 375 0 +254 376 0 +254 377 0 +254 378 0 +254 379 0 +254 380 0 +254 381 0 +254 382 0 +254 383 0 +255 256 16 +255 257 16 +255 258 16 +255 259 16 +255 260 16 +255 261 16 +255 262 16 +255 263 16 +255 264 16 +255 265 16 +255 266 16 +255 267 16 +255 268 16 +255 269 16 +255 270 16 +255 271 16 +255 272 16 +255 273 16 +255 274 16 +255 275 16 +255 276 16 +255 277 16 +255 278 16 +255 279 16 +255 280 16 +255 281 16 +255 282 16 +255 283 16 +255 284 16 +255 285 16 +255 286 16 +255 287 16 +255 288 16 +255 289 16 +255 290 16 +255 291 16 +255 292 16 +255 293 16 +255 294 16 +255 295 16 +255 296 16 +255 297 16 +255 298 16 +255 299 16 +255 300 16 +255 301 16 +255 302 16 +255 303 16 +255 304 16 +255 305 16 +255 306 16 +255 307 16 +255 308 16 +255 309 16 +255 310 16 +255 311 16 +255 312 16 +255 313 16 +255 314 16 +255 315 16 +255 316 16 +255 317 16 +255 318 16 +255 319 16 +255 320 16 +255 321 16 +255 322 16 +255 323 16 +255 324 16 +255 325 16 +255 326 16 +255 327 16 +255 328 16 +255 329 16 +255 330 16 +255 331 16 +255 332 16 +255 333 16 +255 334 16 +255 335 16 +255 336 16 +255 337 16 +255 338 16 +255 339 16 +255 340 16 +255 341 16 +255 342 16 +255 343 16 +255 344 16 +255 345 16 +255 346 16 +255 347 16 +255 348 16 +255 349 16 +255 350 0 +255 351 0 +255 352 0 +255 353 0 +255 354 0 +255 355 0 +255 356 0 +255 357 0 +255 358 0 +255 359 0 +255 360 0 +255 361 0 +255 362 0 +255 363 0 +255 364 0 +255 365 0 +255 366 0 +255 367 0 +255 368 0 +255 369 0 +255 370 0 +255 371 0 +255 372 0 +255 373 0 +255 374 0 +255 375 0 +255 376 0 +255 377 0 +255 378 0 +255 379 0 +255 380 0 +255 381 0 +255 382 0 +255 383 0 +256 257 16 +256 258 16 +256 259 16 +256 260 16 +256 261 16 +256 262 16 +256 263 16 +256 264 16 +256 265 16 +256 266 16 +256 267 16 +256 268 16 +256 269 16 +256 270 16 +256 271 16 +256 272 16 +256 273 16 +256 274 16 +256 275 16 +256 276 16 +256 277 16 +256 278 16 +256 279 16 +256 280 16 +256 281 16 +256 282 16 +256 283 16 +256 284 16 +256 285 16 +256 286 16 +256 287 16 +256 288 16 +256 289 16 +256 290 16 +256 291 16 +256 292 16 +256 293 16 +256 294 16 +256 295 16 +256 296 16 +256 297 16 +256 298 16 +256 299 16 +256 300 16 +256 301 16 +256 302 16 +256 303 16 +256 304 16 +256 305 16 +256 306 16 +256 307 16 +256 308 16 +256 309 16 +256 310 16 +256 311 16 +256 312 16 +256 313 16 +256 314 16 +256 315 16 +256 316 16 +256 317 16 +256 318 16 +256 319 16 +256 320 16 +256 321 16 +256 322 16 +256 323 16 +256 324 16 +256 325 16 +256 326 16 +256 327 16 +256 328 16 +256 329 16 +256 330 16 +256 331 16 +256 332 16 +256 333 16 +256 334 16 +256 335 16 +256 336 16 +256 337 16 +256 338 16 +256 339 16 +256 340 16 +256 341 16 +256 342 16 +256 343 16 +256 344 16 +256 345 16 +256 346 16 +256 347 16 +256 348 16 +256 349 16 +256 350 0 +256 351 0 +256 352 0 +256 353 0 +256 354 0 +256 355 0 +256 356 0 +256 357 0 +256 358 0 +256 359 0 +256 360 0 +256 361 0 +256 362 0 +256 363 0 +256 364 0 +256 365 0 +256 366 0 +256 367 0 +256 368 0 +256 369 0 +256 370 0 +256 371 0 +256 372 0 +256 373 0 +256 374 0 +256 375 0 +256 376 0 +256 377 0 +256 378 0 +256 379 0 +256 380 0 +256 381 0 +256 382 0 +256 383 0 +257 258 16 +257 259 16 +257 260 16 +257 261 16 +257 262 16 +257 263 16 +257 264 16 +257 265 16 +257 266 16 +257 267 16 +257 268 16 +257 269 16 +257 270 16 +257 271 16 +257 272 16 +257 273 16 +257 274 16 +257 275 16 +257 276 16 +257 277 16 +257 278 16 +257 279 16 +257 280 16 +257 281 16 +257 282 16 +257 283 16 +257 284 16 +257 285 16 +257 286 16 +257 287 16 +257 288 16 +257 289 16 +257 290 16 +257 291 16 +257 292 16 +257 293 16 +257 294 16 +257 295 16 +257 296 16 +257 297 16 +257 298 16 +257 299 16 +257 300 16 +257 301 16 +257 302 16 +257 303 16 +257 304 16 +257 305 16 +257 306 16 +257 307 16 +257 308 16 +257 309 16 +257 310 16 +257 311 16 +257 312 16 +257 313 16 +257 314 16 +257 315 16 +257 316 16 +257 317 16 +257 318 16 +257 319 16 +257 320 16 +257 321 16 +257 322 16 +257 323 16 +257 324 16 +257 325 16 +257 326 16 +257 327 16 +257 328 16 +257 329 16 +257 330 16 +257 331 16 +257 332 16 +257 333 16 +257 334 16 +257 335 16 +257 336 16 +257 337 16 +257 338 16 +257 339 16 +257 340 16 +257 341 16 +257 342 16 +257 343 16 +257 344 16 +257 345 16 +257 346 16 +257 347 16 +257 348 16 +257 349 16 +257 350 0 +257 351 0 +257 352 0 +257 353 0 +257 354 0 +257 355 0 +257 356 0 +257 357 0 +257 358 0 +257 359 0 +257 360 0 +257 361 0 +257 362 0 +257 363 0 +257 364 0 +257 365 0 +257 366 0 +257 367 0 +257 368 0 +257 369 0 +257 370 0 +257 371 0 +257 372 0 +257 373 0 +257 374 0 +257 375 0 +257 376 0 +257 377 0 +257 378 0 +257 379 0 +257 380 0 +257 381 0 +257 382 0 +257 383 0 +258 259 16 +258 260 16 +258 261 16 +258 262 16 +258 263 16 +258 264 16 +258 265 16 +258 266 16 +258 267 16 +258 268 16 +258 269 16 +258 270 16 +258 271 16 +258 272 16 +258 273 16 +258 274 16 +258 275 16 +258 276 16 +258 277 16 +258 278 16 +258 279 16 +258 280 16 +258 281 16 +258 282 16 +258 283 16 +258 284 16 +258 285 16 +258 286 16 +258 287 16 +258 288 16 +258 289 16 +258 290 16 +258 291 16 +258 292 16 +258 293 16 +258 294 16 +258 295 16 +258 296 16 +258 297 16 +258 298 16 +258 299 16 +258 300 16 +258 301 16 +258 302 16 +258 303 16 +258 304 16 +258 305 16 +258 306 16 +258 307 16 +258 308 16 +258 309 16 +258 310 16 +258 311 16 +258 312 16 +258 313 16 +258 314 16 +258 315 16 +258 316 16 +258 317 16 +258 318 16 +258 319 16 +258 320 16 +258 321 16 +258 322 16 +258 323 16 +258 324 16 +258 325 16 +258 326 16 +258 327 16 +258 328 16 +258 329 16 +258 330 16 +258 331 16 +258 332 16 +258 333 16 +258 334 16 +258 335 16 +258 336 16 +258 337 16 +258 338 16 +258 339 16 +258 340 16 +258 341 16 +258 342 16 +258 343 16 +258 344 16 +258 345 16 +258 346 16 +258 347 16 +258 348 16 +258 349 16 +258 350 0 +258 351 0 +258 352 0 +258 353 0 +258 354 0 +258 355 0 +258 356 0 +258 357 0 +258 358 0 +258 359 0 +258 360 0 +258 361 0 +258 362 0 +258 363 0 +258 364 0 +258 365 0 +258 366 0 +258 367 0 +258 368 0 +258 369 0 +258 370 0 +258 371 0 +258 372 0 +258 373 0 +258 374 0 +258 375 0 +258 376 0 +258 377 0 +258 378 0 +258 379 0 +258 380 0 +258 381 0 +258 382 0 +258 383 0 +259 260 16 +259 261 16 +259 262 16 +259 263 16 +259 264 16 +259 265 16 +259 266 16 +259 267 16 +259 268 16 +259 269 16 +259 270 16 +259 271 16 +259 272 16 +259 273 16 +259 274 16 +259 275 16 +259 276 16 +259 277 16 +259 278 16 +259 279 16 +259 280 16 +259 281 16 +259 282 16 +259 283 16 +259 284 16 +259 285 16 +259 286 16 +259 287 16 +259 288 16 +259 289 16 +259 290 16 +259 291 16 +259 292 16 +259 293 16 +259 294 16 +259 295 16 +259 296 16 +259 297 16 +259 298 16 +259 299 16 +259 300 16 +259 301 16 +259 302 16 +259 303 16 +259 304 16 +259 305 16 +259 306 16 +259 307 16 +259 308 16 +259 309 16 +259 310 16 +259 311 16 +259 312 16 +259 313 16 +259 314 16 +259 315 16 +259 316 16 +259 317 16 +259 318 16 +259 319 16 +259 320 16 +259 321 16 +259 322 16 +259 323 16 +259 324 16 +259 325 16 +259 326 16 +259 327 16 +259 328 16 +259 329 16 +259 330 16 +259 331 16 +259 332 16 +259 333 16 +259 334 16 +259 335 16 +259 336 16 +259 337 16 +259 338 16 +259 339 16 +259 340 16 +259 341 16 +259 342 16 +259 343 16 +259 344 16 +259 345 16 +259 346 16 +259 347 16 +259 348 16 +259 349 16 +259 350 0 +259 351 0 +259 352 0 +259 353 0 +259 354 0 +259 355 0 +259 356 0 +259 357 0 +259 358 0 +259 359 0 +259 360 0 +259 361 0 +259 362 0 +259 363 0 +259 364 0 +259 365 0 +259 366 0 +259 367 0 +259 368 0 +259 369 0 +259 370 0 +259 371 0 +259 372 0 +259 373 0 +259 374 0 +259 375 0 +259 376 0 +259 377 0 +259 378 0 +259 379 0 +259 380 0 +259 381 0 +259 382 0 +259 383 0 +260 261 16 +260 262 16 +260 263 16 +260 264 16 +260 265 16 +260 266 16 +260 267 16 +260 268 16 +260 269 16 +260 270 16 +260 271 16 +260 272 16 +260 273 16 +260 274 16 +260 275 16 +260 276 16 +260 277 16 +260 278 16 +260 279 16 +260 280 16 +260 281 16 +260 282 16 +260 283 16 +260 284 16 +260 285 16 +260 286 16 +260 287 16 +260 288 16 +260 289 16 +260 290 16 +260 291 16 +260 292 16 +260 293 16 +260 294 16 +260 295 16 +260 296 16 +260 297 16 +260 298 16 +260 299 16 +260 300 16 +260 301 16 +260 302 16 +260 303 16 +260 304 16 +260 305 16 +260 306 16 +260 307 16 +260 308 16 +260 309 16 +260 310 16 +260 311 16 +260 312 16 +260 313 16 +260 314 16 +260 315 16 +260 316 16 +260 317 16 +260 318 16 +260 319 16 +260 320 16 +260 321 16 +260 322 16 +260 323 16 +260 324 16 +260 325 16 +260 326 16 +260 327 16 +260 328 16 +260 329 16 +260 330 16 +260 331 16 +260 332 16 +260 333 16 +260 334 16 +260 335 16 +260 336 16 +260 337 16 +260 338 16 +260 339 16 +260 340 16 +260 341 16 +260 342 16 +260 343 16 +260 344 16 +260 345 16 +260 346 16 +260 347 16 +260 348 16 +260 349 16 +260 350 0 +260 351 0 +260 352 0 +260 353 0 +260 354 0 +260 355 0 +260 356 0 +260 357 0 +260 358 0 +260 359 0 +260 360 0 +260 361 0 +260 362 0 +260 363 0 +260 364 0 +260 365 0 +260 366 0 +260 367 0 +260 368 0 +260 369 0 +260 370 0 +260 371 0 +260 372 0 +260 373 0 +260 374 0 +260 375 0 +260 376 0 +260 377 0 +260 378 0 +260 379 0 +260 380 0 +260 381 0 +260 382 0 +260 383 0 +261 262 16 +261 263 16 +261 264 16 +261 265 16 +261 266 16 +261 267 16 +261 268 16 +261 269 16 +261 270 16 +261 271 16 +261 272 16 +261 273 16 +261 274 16 +261 275 16 +261 276 16 +261 277 16 +261 278 16 +261 279 16 +261 280 16 +261 281 16 +261 282 16 +261 283 16 +261 284 16 +261 285 16 +261 286 16 +261 287 16 +261 288 16 +261 289 16 +261 290 16 +261 291 16 +261 292 16 +261 293 16 +261 294 16 +261 295 16 +261 296 16 +261 297 16 +261 298 16 +261 299 16 +261 300 16 +261 301 16 +261 302 16 +261 303 16 +261 304 16 +261 305 16 +261 306 16 +261 307 16 +261 308 16 +261 309 16 +261 310 16 +261 311 16 +261 312 16 +261 313 16 +261 314 16 +261 315 16 +261 316 16 +261 317 16 +261 318 16 +261 319 16 +261 320 16 +261 321 16 +261 322 16 +261 323 16 +261 324 16 +261 325 16 +261 326 16 +261 327 16 +261 328 16 +261 329 16 +261 330 16 +261 331 16 +261 332 16 +261 333 16 +261 334 16 +261 335 16 +261 336 16 +261 337 16 +261 338 16 +261 339 16 +261 340 16 +261 341 16 +261 342 16 +261 343 16 +261 344 16 +261 345 16 +261 346 16 +261 347 16 +261 348 16 +261 349 16 +261 350 0 +261 351 0 +261 352 0 +261 353 0 +261 354 0 +261 355 0 +261 356 0 +261 357 0 +261 358 0 +261 359 0 +261 360 0 +261 361 0 +261 362 0 +261 363 0 +261 364 0 +261 365 0 +261 366 0 +261 367 0 +261 368 0 +261 369 0 +261 370 0 +261 371 0 +261 372 0 +261 373 0 +261 374 0 +261 375 0 +261 376 0 +261 377 0 +261 378 0 +261 379 0 +261 380 0 +261 381 0 +261 382 0 +261 383 0 +262 263 16 +262 264 16 +262 265 16 +262 266 16 +262 267 16 +262 268 16 +262 269 16 +262 270 16 +262 271 16 +262 272 16 +262 273 16 +262 274 16 +262 275 16 +262 276 16 +262 277 16 +262 278 16 +262 279 16 +262 280 16 +262 281 16 +262 282 16 +262 283 16 +262 284 16 +262 285 16 +262 286 16 +262 287 16 +262 288 16 +262 289 16 +262 290 16 +262 291 16 +262 292 16 +262 293 16 +262 294 16 +262 295 16 +262 296 16 +262 297 16 +262 298 16 +262 299 16 +262 300 16 +262 301 16 +262 302 16 +262 303 16 +262 304 16 +262 305 16 +262 306 16 +262 307 16 +262 308 16 +262 309 16 +262 310 16 +262 311 16 +262 312 16 +262 313 16 +262 314 16 +262 315 16 +262 316 16 +262 317 16 +262 318 16 +262 319 16 +262 320 16 +262 321 16 +262 322 16 +262 323 16 +262 324 16 +262 325 16 +262 326 16 +262 327 16 +262 328 16 +262 329 16 +262 330 16 +262 331 16 +262 332 16 +262 333 16 +262 334 16 +262 335 16 +262 336 16 +262 337 16 +262 338 16 +262 339 16 +262 340 16 +262 341 16 +262 342 16 +262 343 16 +262 344 16 +262 345 16 +262 346 16 +262 347 16 +262 348 16 +262 349 16 +262 350 0 +262 351 0 +262 352 0 +262 353 0 +262 354 0 +262 355 0 +262 356 0 +262 357 0 +262 358 0 +262 359 0 +262 360 0 +262 361 0 +262 362 0 +262 363 0 +262 364 0 +262 365 0 +262 366 0 +262 367 0 +262 368 0 +262 369 0 +262 370 0 +262 371 0 +262 372 0 +262 373 0 +262 374 0 +262 375 0 +262 376 0 +262 377 0 +262 378 0 +262 379 0 +262 380 0 +262 381 0 +262 382 0 +262 383 0 +263 264 16 +263 265 16 +263 266 16 +263 267 16 +263 268 16 +263 269 16 +263 270 16 +263 271 16 +263 272 16 +263 273 16 +263 274 16 +263 275 16 +263 276 16 +263 277 16 +263 278 16 +263 279 16 +263 280 16 +263 281 16 +263 282 16 +263 283 16 +263 284 16 +263 285 16 +263 286 16 +263 287 16 +263 288 16 +263 289 16 +263 290 16 +263 291 16 +263 292 16 +263 293 16 +263 294 16 +263 295 16 +263 296 16 +263 297 16 +263 298 16 +263 299 16 +263 300 16 +263 301 16 +263 302 16 +263 303 16 +263 304 16 +263 305 16 +263 306 16 +263 307 16 +263 308 16 +263 309 16 +263 310 16 +263 311 16 +263 312 16 +263 313 16 +263 314 16 +263 315 16 +263 316 16 +263 317 16 +263 318 16 +263 319 16 +263 320 16 +263 321 16 +263 322 16 +263 323 16 +263 324 16 +263 325 16 +263 326 16 +263 327 16 +263 328 16 +263 329 16 +263 330 16 +263 331 16 +263 332 16 +263 333 16 +263 334 16 +263 335 16 +263 336 16 +263 337 16 +263 338 16 +263 339 16 +263 340 16 +263 341 16 +263 342 16 +263 343 16 +263 344 16 +263 345 16 +263 346 16 +263 347 16 +263 348 16 +263 349 16 +263 350 0 +263 351 0 +263 352 0 +263 353 0 +263 354 0 +263 355 0 +263 356 0 +263 357 0 +263 358 0 +263 359 0 +263 360 0 +263 361 0 +263 362 0 +263 363 0 +263 364 0 +263 365 0 +263 366 0 +263 367 0 +263 368 0 +263 369 0 +263 370 0 +263 371 0 +263 372 0 +263 373 0 +263 374 0 +263 375 0 +263 376 0 +263 377 0 +263 378 0 +263 379 0 +263 380 0 +263 381 0 +263 382 0 +263 383 0 +264 265 16 +264 266 16 +264 267 16 +264 268 16 +264 269 16 +264 270 16 +264 271 16 +264 272 16 +264 273 16 +264 274 16 +264 275 16 +264 276 16 +264 277 16 +264 278 16 +264 279 16 +264 280 16 +264 281 16 +264 282 16 +264 283 16 +264 284 16 +264 285 16 +264 286 16 +264 287 16 +264 288 16 +264 289 16 +264 290 16 +264 291 16 +264 292 16 +264 293 16 +264 294 16 +264 295 16 +264 296 16 +264 297 16 +264 298 16 +264 299 16 +264 300 16 +264 301 16 +264 302 16 +264 303 16 +264 304 16 +264 305 16 +264 306 16 +264 307 16 +264 308 16 +264 309 16 +264 310 16 +264 311 16 +264 312 16 +264 313 16 +264 314 16 +264 315 16 +264 316 16 +264 317 16 +264 318 16 +264 319 16 +264 320 16 +264 321 16 +264 322 16 +264 323 16 +264 324 16 +264 325 16 +264 326 16 +264 327 16 +264 328 16 +264 329 16 +264 330 16 +264 331 16 +264 332 16 +264 333 16 +264 334 16 +264 335 16 +264 336 16 +264 337 16 +264 338 16 +264 339 16 +264 340 16 +264 341 16 +264 342 16 +264 343 16 +264 344 16 +264 345 16 +264 346 16 +264 347 16 +264 348 16 +264 349 16 +264 350 0 +264 351 0 +264 352 0 +264 353 0 +264 354 0 +264 355 0 +264 356 0 +264 357 0 +264 358 0 +264 359 0 +264 360 0 +264 361 0 +264 362 0 +264 363 0 +264 364 0 +264 365 0 +264 366 0 +264 367 0 +264 368 0 +264 369 0 +264 370 0 +264 371 0 +264 372 0 +264 373 0 +264 374 0 +264 375 0 +264 376 0 +264 377 0 +264 378 0 +264 379 0 +264 380 0 +264 381 0 +264 382 0 +264 383 0 +265 266 16 +265 267 16 +265 268 16 +265 269 16 +265 270 16 +265 271 16 +265 272 16 +265 273 16 +265 274 16 +265 275 16 +265 276 16 +265 277 16 +265 278 16 +265 279 16 +265 280 16 +265 281 16 +265 282 16 +265 283 16 +265 284 16 +265 285 16 +265 286 16 +265 287 16 +265 288 16 +265 289 16 +265 290 16 +265 291 16 +265 292 16 +265 293 16 +265 294 16 +265 295 16 +265 296 16 +265 297 16 +265 298 16 +265 299 16 +265 300 16 +265 301 16 +265 302 16 +265 303 16 +265 304 16 +265 305 16 +265 306 16 +265 307 16 +265 308 16 +265 309 16 +265 310 16 +265 311 16 +265 312 16 +265 313 16 +265 314 16 +265 315 16 +265 316 16 +265 317 16 +265 318 16 +265 319 16 +265 320 16 +265 321 16 +265 322 16 +265 323 16 +265 324 16 +265 325 16 +265 326 16 +265 327 16 +265 328 16 +265 329 16 +265 330 16 +265 331 16 +265 332 16 +265 333 16 +265 334 16 +265 335 16 +265 336 16 +265 337 16 +265 338 16 +265 339 16 +265 340 16 +265 341 16 +265 342 16 +265 343 16 +265 344 16 +265 345 16 +265 346 16 +265 347 16 +265 348 16 +265 349 16 +265 350 0 +265 351 0 +265 352 0 +265 353 0 +265 354 0 +265 355 0 +265 356 0 +265 357 0 +265 358 0 +265 359 0 +265 360 0 +265 361 0 +265 362 0 +265 363 0 +265 364 0 +265 365 0 +265 366 0 +265 367 0 +265 368 0 +265 369 0 +265 370 0 +265 371 0 +265 372 0 +265 373 0 +265 374 0 +265 375 0 +265 376 0 +265 377 0 +265 378 0 +265 379 0 +265 380 0 +265 381 0 +265 382 0 +265 383 0 +266 267 16 +266 268 16 +266 269 16 +266 270 16 +266 271 16 +266 272 16 +266 273 16 +266 274 16 +266 275 16 +266 276 16 +266 277 16 +266 278 16 +266 279 16 +266 280 16 +266 281 16 +266 282 16 +266 283 16 +266 284 16 +266 285 16 +266 286 16 +266 287 16 +266 288 16 +266 289 16 +266 290 16 +266 291 16 +266 292 16 +266 293 16 +266 294 16 +266 295 16 +266 296 16 +266 297 16 +266 298 16 +266 299 16 +266 300 16 +266 301 16 +266 302 16 +266 303 16 +266 304 16 +266 305 16 +266 306 16 +266 307 16 +266 308 16 +266 309 16 +266 310 16 +266 311 16 +266 312 16 +266 313 16 +266 314 16 +266 315 16 +266 316 16 +266 317 16 +266 318 16 +266 319 16 +266 320 16 +266 321 16 +266 322 16 +266 323 16 +266 324 16 +266 325 16 +266 326 16 +266 327 16 +266 328 16 +266 329 16 +266 330 16 +266 331 16 +266 332 16 +266 333 16 +266 334 16 +266 335 16 +266 336 16 +266 337 16 +266 338 16 +266 339 16 +266 340 16 +266 341 16 +266 342 16 +266 343 16 +266 344 16 +266 345 16 +266 346 16 +266 347 16 +266 348 16 +266 349 16 +266 350 0 +266 351 0 +266 352 0 +266 353 0 +266 354 0 +266 355 0 +266 356 0 +266 357 0 +266 358 0 +266 359 0 +266 360 0 +266 361 0 +266 362 0 +266 363 0 +266 364 0 +266 365 0 +266 366 0 +266 367 0 +266 368 0 +266 369 0 +266 370 0 +266 371 0 +266 372 0 +266 373 0 +266 374 0 +266 375 0 +266 376 0 +266 377 0 +266 378 0 +266 379 0 +266 380 0 +266 381 0 +266 382 0 +266 383 0 +267 268 16 +267 269 16 +267 270 16 +267 271 16 +267 272 16 +267 273 16 +267 274 16 +267 275 16 +267 276 16 +267 277 16 +267 278 16 +267 279 16 +267 280 16 +267 281 16 +267 282 16 +267 283 16 +267 284 16 +267 285 16 +267 286 16 +267 287 16 +267 288 16 +267 289 16 +267 290 16 +267 291 16 +267 292 16 +267 293 16 +267 294 16 +267 295 16 +267 296 16 +267 297 16 +267 298 16 +267 299 16 +267 300 16 +267 301 16 +267 302 16 +267 303 16 +267 304 16 +267 305 16 +267 306 16 +267 307 16 +267 308 16 +267 309 16 +267 310 16 +267 311 16 +267 312 16 +267 313 16 +267 314 16 +267 315 16 +267 316 16 +267 317 16 +267 318 16 +267 319 16 +267 320 16 +267 321 16 +267 322 16 +267 323 16 +267 324 16 +267 325 16 +267 326 16 +267 327 16 +267 328 16 +267 329 16 +267 330 16 +267 331 16 +267 332 16 +267 333 16 +267 334 16 +267 335 16 +267 336 16 +267 337 16 +267 338 16 +267 339 16 +267 340 16 +267 341 16 +267 342 16 +267 343 16 +267 344 16 +267 345 16 +267 346 16 +267 347 16 +267 348 16 +267 349 16 +267 350 0 +267 351 0 +267 352 0 +267 353 0 +267 354 0 +267 355 0 +267 356 0 +267 357 0 +267 358 0 +267 359 0 +267 360 0 +267 361 0 +267 362 0 +267 363 0 +267 364 0 +267 365 0 +267 366 0 +267 367 0 +267 368 0 +267 369 0 +267 370 0 +267 371 0 +267 372 0 +267 373 0 +267 374 0 +267 375 0 +267 376 0 +267 377 0 +267 378 0 +267 379 0 +267 380 0 +267 381 0 +267 382 0 +267 383 0 +268 269 16 +268 270 16 +268 271 16 +268 272 16 +268 273 16 +268 274 16 +268 275 16 +268 276 16 +268 277 16 +268 278 16 +268 279 16 +268 280 16 +268 281 16 +268 282 16 +268 283 16 +268 284 16 +268 285 16 +268 286 16 +268 287 16 +268 288 16 +268 289 16 +268 290 16 +268 291 16 +268 292 16 +268 293 16 +268 294 16 +268 295 16 +268 296 16 +268 297 16 +268 298 16 +268 299 16 +268 300 16 +268 301 16 +268 302 16 +268 303 16 +268 304 16 +268 305 16 +268 306 16 +268 307 16 +268 308 16 +268 309 16 +268 310 16 +268 311 16 +268 312 16 +268 313 16 +268 314 16 +268 315 16 +268 316 16 +268 317 16 +268 318 16 +268 319 16 +268 320 16 +268 321 16 +268 322 16 +268 323 16 +268 324 16 +268 325 16 +268 326 16 +268 327 16 +268 328 16 +268 329 16 +268 330 16 +268 331 16 +268 332 16 +268 333 16 +268 334 16 +268 335 16 +268 336 16 +268 337 16 +268 338 16 +268 339 16 +268 340 16 +268 341 16 +268 342 16 +268 343 16 +268 344 16 +268 345 16 +268 346 16 +268 347 16 +268 348 16 +268 349 16 +268 350 0 +268 351 0 +268 352 0 +268 353 0 +268 354 0 +268 355 0 +268 356 0 +268 357 0 +268 358 0 +268 359 0 +268 360 0 +268 361 0 +268 362 0 +268 363 0 +268 364 0 +268 365 0 +268 366 0 +268 367 0 +268 368 0 +268 369 0 +268 370 0 +268 371 0 +268 372 0 +268 373 0 +268 374 0 +268 375 0 +268 376 0 +268 377 0 +268 378 0 +268 379 0 +268 380 0 +268 381 0 +268 382 0 +268 383 0 +269 270 16 +269 271 16 +269 272 16 +269 273 16 +269 274 16 +269 275 16 +269 276 16 +269 277 16 +269 278 16 +269 279 16 +269 280 16 +269 281 16 +269 282 16 +269 283 16 +269 284 16 +269 285 16 +269 286 16 +269 287 16 +269 288 16 +269 289 16 +269 290 16 +269 291 16 +269 292 16 +269 293 16 +269 294 16 +269 295 16 +269 296 16 +269 297 16 +269 298 16 +269 299 16 +269 300 16 +269 301 16 +269 302 16 +269 303 16 +269 304 16 +269 305 16 +269 306 16 +269 307 16 +269 308 16 +269 309 16 +269 310 16 +269 311 16 +269 312 16 +269 313 16 +269 314 16 +269 315 16 +269 316 16 +269 317 16 +269 318 16 +269 319 16 +269 320 16 +269 321 16 +269 322 16 +269 323 16 +269 324 16 +269 325 16 +269 326 16 +269 327 16 +269 328 16 +269 329 16 +269 330 16 +269 331 16 +269 332 16 +269 333 16 +269 334 16 +269 335 16 +269 336 16 +269 337 16 +269 338 16 +269 339 16 +269 340 16 +269 341 16 +269 342 16 +269 343 16 +269 344 16 +269 345 16 +269 346 16 +269 347 16 +269 348 16 +269 349 16 +269 350 0 +269 351 0 +269 352 0 +269 353 0 +269 354 0 +269 355 0 +269 356 0 +269 357 0 +269 358 0 +269 359 0 +269 360 0 +269 361 0 +269 362 0 +269 363 0 +269 364 0 +269 365 0 +269 366 0 +269 367 0 +269 368 0 +269 369 0 +269 370 0 +269 371 0 +269 372 0 +269 373 0 +269 374 0 +269 375 0 +269 376 0 +269 377 0 +269 378 0 +269 379 0 +269 380 0 +269 381 0 +269 382 0 +269 383 0 +270 271 16 +270 272 16 +270 273 16 +270 274 16 +270 275 16 +270 276 16 +270 277 16 +270 278 16 +270 279 16 +270 280 16 +270 281 16 +270 282 16 +270 283 16 +270 284 16 +270 285 16 +270 286 16 +270 287 16 +270 288 16 +270 289 16 +270 290 16 +270 291 16 +270 292 16 +270 293 16 +270 294 16 +270 295 16 +270 296 16 +270 297 16 +270 298 16 +270 299 16 +270 300 16 +270 301 16 +270 302 16 +270 303 16 +270 304 16 +270 305 16 +270 306 16 +270 307 16 +270 308 16 +270 309 16 +270 310 16 +270 311 16 +270 312 16 +270 313 16 +270 314 16 +270 315 16 +270 316 16 +270 317 16 +270 318 16 +270 319 16 +270 320 16 +270 321 16 +270 322 16 +270 323 16 +270 324 16 +270 325 16 +270 326 16 +270 327 16 +270 328 16 +270 329 16 +270 330 16 +270 331 16 +270 332 16 +270 333 16 +270 334 16 +270 335 16 +270 336 16 +270 337 16 +270 338 16 +270 339 16 +270 340 16 +270 341 16 +270 342 16 +270 343 16 +270 344 16 +270 345 16 +270 346 16 +270 347 16 +270 348 16 +270 349 16 +270 350 0 +270 351 0 +270 352 0 +270 353 0 +270 354 0 +270 355 0 +270 356 0 +270 357 0 +270 358 0 +270 359 0 +270 360 0 +270 361 0 +270 362 0 +270 363 0 +270 364 0 +270 365 0 +270 366 0 +270 367 0 +270 368 0 +270 369 0 +270 370 0 +270 371 0 +270 372 0 +270 373 0 +270 374 0 +270 375 0 +270 376 0 +270 377 0 +270 378 0 +270 379 0 +270 380 0 +270 381 0 +270 382 0 +270 383 0 +271 272 16 +271 273 16 +271 274 16 +271 275 16 +271 276 16 +271 277 16 +271 278 16 +271 279 16 +271 280 16 +271 281 16 +271 282 16 +271 283 16 +271 284 16 +271 285 16 +271 286 16 +271 287 16 +271 288 16 +271 289 16 +271 290 16 +271 291 16 +271 292 16 +271 293 16 +271 294 16 +271 295 16 +271 296 16 +271 297 16 +271 298 16 +271 299 16 +271 300 16 +271 301 16 +271 302 16 +271 303 16 +271 304 16 +271 305 16 +271 306 16 +271 307 16 +271 308 16 +271 309 16 +271 310 16 +271 311 16 +271 312 16 +271 313 16 +271 314 16 +271 315 16 +271 316 16 +271 317 16 +271 318 16 +271 319 16 +271 320 16 +271 321 16 +271 322 16 +271 323 16 +271 324 16 +271 325 16 +271 326 16 +271 327 16 +271 328 16 +271 329 16 +271 330 16 +271 331 16 +271 332 16 +271 333 16 +271 334 16 +271 335 16 +271 336 16 +271 337 16 +271 338 16 +271 339 16 +271 340 16 +271 341 16 +271 342 16 +271 343 16 +271 344 16 +271 345 16 +271 346 16 +271 347 16 +271 348 16 +271 349 16 +271 350 0 +271 351 0 +271 352 0 +271 353 0 +271 354 0 +271 355 0 +271 356 0 +271 357 0 +271 358 0 +271 359 0 +271 360 0 +271 361 0 +271 362 0 +271 363 0 +271 364 0 +271 365 0 +271 366 0 +271 367 0 +271 368 0 +271 369 0 +271 370 0 +271 371 0 +271 372 0 +271 373 0 +271 374 0 +271 375 0 +271 376 0 +271 377 0 +271 378 0 +271 379 0 +271 380 0 +271 381 0 +271 382 0 +271 383 0 +272 273 16 +272 274 16 +272 275 16 +272 276 16 +272 277 16 +272 278 16 +272 279 16 +272 280 16 +272 281 16 +272 282 16 +272 283 16 +272 284 16 +272 285 16 +272 286 16 +272 287 16 +272 288 16 +272 289 16 +272 290 16 +272 291 16 +272 292 16 +272 293 16 +272 294 16 +272 295 16 +272 296 16 +272 297 16 +272 298 16 +272 299 16 +272 300 16 +272 301 16 +272 302 16 +272 303 16 +272 304 16 +272 305 16 +272 306 16 +272 307 16 +272 308 16 +272 309 16 +272 310 16 +272 311 16 +272 312 16 +272 313 16 +272 314 16 +272 315 16 +272 316 16 +272 317 16 +272 318 16 +272 319 16 +272 320 16 +272 321 16 +272 322 16 +272 323 16 +272 324 16 +272 325 16 +272 326 16 +272 327 16 +272 328 16 +272 329 16 +272 330 16 +272 331 16 +272 332 16 +272 333 16 +272 334 16 +272 335 16 +272 336 16 +272 337 16 +272 338 16 +272 339 16 +272 340 16 +272 341 16 +272 342 16 +272 343 16 +272 344 16 +272 345 16 +272 346 16 +272 347 16 +272 348 16 +272 349 16 +272 350 0 +272 351 0 +272 352 0 +272 353 0 +272 354 0 +272 355 0 +272 356 0 +272 357 0 +272 358 0 +272 359 0 +272 360 0 +272 361 0 +272 362 0 +272 363 0 +272 364 0 +272 365 0 +272 366 0 +272 367 0 +272 368 0 +272 369 0 +272 370 0 +272 371 0 +272 372 0 +272 373 0 +272 374 0 +272 375 0 +272 376 0 +272 377 0 +272 378 0 +272 379 0 +272 380 0 +272 381 0 +272 382 0 +272 383 0 +273 274 16 +273 275 16 +273 276 16 +273 277 16 +273 278 16 +273 279 16 +273 280 16 +273 281 16 +273 282 16 +273 283 16 +273 284 16 +273 285 16 +273 286 16 +273 287 16 +273 288 16 +273 289 16 +273 290 16 +273 291 16 +273 292 16 +273 293 16 +273 294 16 +273 295 16 +273 296 16 +273 297 16 +273 298 16 +273 299 16 +273 300 16 +273 301 16 +273 302 16 +273 303 16 +273 304 16 +273 305 16 +273 306 16 +273 307 16 +273 308 16 +273 309 16 +273 310 16 +273 311 16 +273 312 16 +273 313 16 +273 314 16 +273 315 16 +273 316 16 +273 317 16 +273 318 16 +273 319 16 +273 320 16 +273 321 16 +273 322 16 +273 323 16 +273 324 16 +273 325 16 +273 326 16 +273 327 16 +273 328 16 +273 329 16 +273 330 16 +273 331 16 +273 332 16 +273 333 16 +273 334 16 +273 335 16 +273 336 16 +273 337 16 +273 338 16 +273 339 16 +273 340 16 +273 341 16 +273 342 16 +273 343 16 +273 344 16 +273 345 16 +273 346 16 +273 347 16 +273 348 16 +273 349 16 +273 350 0 +273 351 0 +273 352 0 +273 353 0 +273 354 0 +273 355 0 +273 356 0 +273 357 0 +273 358 0 +273 359 0 +273 360 0 +273 361 0 +273 362 0 +273 363 0 +273 364 0 +273 365 0 +273 366 0 +273 367 0 +273 368 0 +273 369 0 +273 370 0 +273 371 0 +273 372 0 +273 373 0 +273 374 0 +273 375 0 +273 376 0 +273 377 0 +273 378 0 +273 379 0 +273 380 0 +273 381 0 +273 382 0 +273 383 0 +274 275 16 +274 276 16 +274 277 16 +274 278 16 +274 279 16 +274 280 16 +274 281 16 +274 282 16 +274 283 16 +274 284 16 +274 285 16 +274 286 16 +274 287 16 +274 288 16 +274 289 16 +274 290 16 +274 291 16 +274 292 16 +274 293 16 +274 294 16 +274 295 16 +274 296 16 +274 297 16 +274 298 16 +274 299 16 +274 300 16 +274 301 16 +274 302 16 +274 303 16 +274 304 16 +274 305 16 +274 306 16 +274 307 16 +274 308 16 +274 309 16 +274 310 16 +274 311 16 +274 312 16 +274 313 16 +274 314 16 +274 315 16 +274 316 16 +274 317 16 +274 318 16 +274 319 16 +274 320 16 +274 321 16 +274 322 16 +274 323 16 +274 324 16 +274 325 16 +274 326 16 +274 327 16 +274 328 16 +274 329 16 +274 330 16 +274 331 16 +274 332 16 +274 333 16 +274 334 16 +274 335 16 +274 336 16 +274 337 16 +274 338 16 +274 339 16 +274 340 16 +274 341 16 +274 342 16 +274 343 16 +274 344 16 +274 345 16 +274 346 16 +274 347 16 +274 348 16 +274 349 16 +274 350 0 +274 351 0 +274 352 0 +274 353 0 +274 354 0 +274 355 0 +274 356 0 +274 357 0 +274 358 0 +274 359 0 +274 360 0 +274 361 0 +274 362 0 +274 363 0 +274 364 0 +274 365 0 +274 366 0 +274 367 0 +274 368 0 +274 369 0 +274 370 0 +274 371 0 +274 372 0 +274 373 0 +274 374 0 +274 375 0 +274 376 0 +274 377 0 +274 378 0 +274 379 0 +274 380 0 +274 381 0 +274 382 0 +274 383 0 +275 276 16 +275 277 16 +275 278 16 +275 279 16 +275 280 16 +275 281 16 +275 282 16 +275 283 16 +275 284 16 +275 285 16 +275 286 16 +275 287 16 +275 288 16 +275 289 16 +275 290 16 +275 291 16 +275 292 16 +275 293 16 +275 294 16 +275 295 16 +275 296 16 +275 297 16 +275 298 16 +275 299 16 +275 300 16 +275 301 16 +275 302 16 +275 303 16 +275 304 16 +275 305 16 +275 306 16 +275 307 16 +275 308 16 +275 309 16 +275 310 16 +275 311 16 +275 312 16 +275 313 16 +275 314 16 +275 315 16 +275 316 16 +275 317 16 +275 318 16 +275 319 16 +275 320 16 +275 321 16 +275 322 16 +275 323 16 +275 324 16 +275 325 16 +275 326 16 +275 327 16 +275 328 16 +275 329 16 +275 330 16 +275 331 16 +275 332 16 +275 333 16 +275 334 16 +275 335 16 +275 336 16 +275 337 16 +275 338 16 +275 339 16 +275 340 16 +275 341 16 +275 342 16 +275 343 16 +275 344 16 +275 345 16 +275 346 16 +275 347 16 +275 348 16 +275 349 16 +275 350 0 +275 351 0 +275 352 0 +275 353 0 +275 354 0 +275 355 0 +275 356 0 +275 357 0 +275 358 0 +275 359 0 +275 360 0 +275 361 0 +275 362 0 +275 363 0 +275 364 0 +275 365 0 +275 366 0 +275 367 0 +275 368 0 +275 369 0 +275 370 0 +275 371 0 +275 372 0 +275 373 0 +275 374 0 +275 375 0 +275 376 0 +275 377 0 +275 378 0 +275 379 0 +275 380 0 +275 381 0 +275 382 0 +275 383 0 +276 277 16 +276 278 16 +276 279 16 +276 280 16 +276 281 16 +276 282 16 +276 283 16 +276 284 16 +276 285 16 +276 286 16 +276 287 16 +276 288 16 +276 289 16 +276 290 16 +276 291 16 +276 292 16 +276 293 16 +276 294 16 +276 295 16 +276 296 16 +276 297 16 +276 298 16 +276 299 16 +276 300 16 +276 301 16 +276 302 16 +276 303 16 +276 304 16 +276 305 16 +276 306 16 +276 307 16 +276 308 16 +276 309 16 +276 310 16 +276 311 16 +276 312 16 +276 313 16 +276 314 16 +276 315 16 +276 316 16 +276 317 16 +276 318 16 +276 319 16 +276 320 16 +276 321 16 +276 322 16 +276 323 16 +276 324 16 +276 325 16 +276 326 16 +276 327 16 +276 328 16 +276 329 16 +276 330 16 +276 331 16 +276 332 16 +276 333 16 +276 334 16 +276 335 16 +276 336 16 +276 337 16 +276 338 16 +276 339 16 +276 340 16 +276 341 16 +276 342 16 +276 343 16 +276 344 16 +276 345 16 +276 346 16 +276 347 16 +276 348 16 +276 349 16 +276 350 0 +276 351 0 +276 352 0 +276 353 0 +276 354 0 +276 355 0 +276 356 0 +276 357 0 +276 358 0 +276 359 0 +276 360 0 +276 361 0 +276 362 0 +276 363 0 +276 364 0 +276 365 0 +276 366 0 +276 367 0 +276 368 0 +276 369 0 +276 370 0 +276 371 0 +276 372 0 +276 373 0 +276 374 0 +276 375 0 +276 376 0 +276 377 0 +276 378 0 +276 379 0 +276 380 0 +276 381 0 +276 382 0 +276 383 0 +277 278 16 +277 279 16 +277 280 16 +277 281 16 +277 282 16 +277 283 16 +277 284 16 +277 285 16 +277 286 16 +277 287 16 +277 288 16 +277 289 16 +277 290 16 +277 291 16 +277 292 16 +277 293 16 +277 294 16 +277 295 16 +277 296 16 +277 297 16 +277 298 16 +277 299 16 +277 300 16 +277 301 16 +277 302 16 +277 303 16 +277 304 16 +277 305 16 +277 306 16 +277 307 16 +277 308 16 +277 309 16 +277 310 16 +277 311 16 +277 312 16 +277 313 16 +277 314 16 +277 315 16 +277 316 16 +277 317 16 +277 318 16 +277 319 16 +277 320 16 +277 321 16 +277 322 16 +277 323 16 +277 324 16 +277 325 16 +277 326 16 +277 327 16 +277 328 16 +277 329 16 +277 330 16 +277 331 16 +277 332 16 +277 333 16 +277 334 16 +277 335 16 +277 336 16 +277 337 16 +277 338 16 +277 339 16 +277 340 16 +277 341 16 +277 342 16 +277 343 16 +277 344 16 +277 345 16 +277 346 16 +277 347 16 +277 348 16 +277 349 16 +277 350 0 +277 351 0 +277 352 0 +277 353 0 +277 354 0 +277 355 0 +277 356 0 +277 357 0 +277 358 0 +277 359 0 +277 360 0 +277 361 0 +277 362 0 +277 363 0 +277 364 0 +277 365 0 +277 366 0 +277 367 0 +277 368 0 +277 369 0 +277 370 0 +277 371 0 +277 372 0 +277 373 0 +277 374 0 +277 375 0 +277 376 0 +277 377 0 +277 378 0 +277 379 0 +277 380 0 +277 381 0 +277 382 0 +277 383 0 +278 279 16 +278 280 16 +278 281 16 +278 282 16 +278 283 16 +278 284 16 +278 285 16 +278 286 16 +278 287 16 +278 288 16 +278 289 16 +278 290 16 +278 291 16 +278 292 16 +278 293 16 +278 294 16 +278 295 16 +278 296 16 +278 297 16 +278 298 16 +278 299 16 +278 300 16 +278 301 16 +278 302 16 +278 303 16 +278 304 16 +278 305 16 +278 306 16 +278 307 16 +278 308 16 +278 309 16 +278 310 16 +278 311 16 +278 312 16 +278 313 16 +278 314 16 +278 315 16 +278 316 16 +278 317 16 +278 318 16 +278 319 16 +278 320 16 +278 321 16 +278 322 16 +278 323 16 +278 324 16 +278 325 16 +278 326 16 +278 327 16 +278 328 16 +278 329 16 +278 330 16 +278 331 16 +278 332 16 +278 333 16 +278 334 16 +278 335 16 +278 336 16 +278 337 16 +278 338 16 +278 339 16 +278 340 16 +278 341 16 +278 342 16 +278 343 16 +278 344 16 +278 345 16 +278 346 16 +278 347 16 +278 348 16 +278 349 16 +278 350 0 +278 351 0 +278 352 0 +278 353 0 +278 354 0 +278 355 0 +278 356 0 +278 357 0 +278 358 0 +278 359 0 +278 360 0 +278 361 0 +278 362 0 +278 363 0 +278 364 0 +278 365 0 +278 366 0 +278 367 0 +278 368 0 +278 369 0 +278 370 0 +278 371 0 +278 372 0 +278 373 0 +278 374 0 +278 375 0 +278 376 0 +278 377 0 +278 378 0 +278 379 0 +278 380 0 +278 381 0 +278 382 0 +278 383 0 +279 280 16 +279 281 16 +279 282 16 +279 283 16 +279 284 16 +279 285 16 +279 286 16 +279 287 16 +279 288 16 +279 289 16 +279 290 16 +279 291 16 +279 292 16 +279 293 16 +279 294 16 +279 295 16 +279 296 16 +279 297 16 +279 298 16 +279 299 16 +279 300 16 +279 301 16 +279 302 16 +279 303 16 +279 304 16 +279 305 16 +279 306 16 +279 307 16 +279 308 16 +279 309 16 +279 310 16 +279 311 16 +279 312 16 +279 313 16 +279 314 16 +279 315 16 +279 316 16 +279 317 16 +279 318 16 +279 319 16 +279 320 16 +279 321 16 +279 322 16 +279 323 16 +279 324 16 +279 325 16 +279 326 16 +279 327 16 +279 328 16 +279 329 16 +279 330 16 +279 331 16 +279 332 16 +279 333 16 +279 334 16 +279 335 16 +279 336 16 +279 337 16 +279 338 16 +279 339 16 +279 340 16 +279 341 16 +279 342 16 +279 343 16 +279 344 16 +279 345 16 +279 346 16 +279 347 16 +279 348 16 +279 349 16 +279 350 0 +279 351 0 +279 352 0 +279 353 0 +279 354 0 +279 355 0 +279 356 0 +279 357 0 +279 358 0 +279 359 0 +279 360 0 +279 361 0 +279 362 0 +279 363 0 +279 364 0 +279 365 0 +279 366 0 +279 367 0 +279 368 0 +279 369 0 +279 370 0 +279 371 0 +279 372 0 +279 373 0 +279 374 0 +279 375 0 +279 376 0 +279 377 0 +279 378 0 +279 379 0 +279 380 0 +279 381 0 +279 382 0 +279 383 0 +280 281 16 +280 282 16 +280 283 16 +280 284 16 +280 285 16 +280 286 16 +280 287 16 +280 288 16 +280 289 16 +280 290 16 +280 291 16 +280 292 16 +280 293 16 +280 294 16 +280 295 16 +280 296 16 +280 297 16 +280 298 16 +280 299 16 +280 300 16 +280 301 16 +280 302 16 +280 303 16 +280 304 16 +280 305 16 +280 306 16 +280 307 16 +280 308 16 +280 309 16 +280 310 16 +280 311 16 +280 312 16 +280 313 16 +280 314 16 +280 315 16 +280 316 16 +280 317 16 +280 318 16 +280 319 16 +280 320 16 +280 321 16 +280 322 16 +280 323 16 +280 324 16 +280 325 16 +280 326 16 +280 327 16 +280 328 16 +280 329 16 +280 330 16 +280 331 16 +280 332 16 +280 333 16 +280 334 16 +280 335 16 +280 336 16 +280 337 16 +280 338 16 +280 339 16 +280 340 16 +280 341 16 +280 342 16 +280 343 16 +280 344 16 +280 345 16 +280 346 16 +280 347 16 +280 348 16 +280 349 16 +280 350 0 +280 351 0 +280 352 0 +280 353 0 +280 354 0 +280 355 0 +280 356 0 +280 357 0 +280 358 0 +280 359 0 +280 360 0 +280 361 0 +280 362 0 +280 363 0 +280 364 0 +280 365 0 +280 366 0 +280 367 0 +280 368 0 +280 369 0 +280 370 0 +280 371 0 +280 372 0 +280 373 0 +280 374 0 +280 375 0 +280 376 0 +280 377 0 +280 378 0 +280 379 0 +280 380 0 +280 381 0 +280 382 0 +280 383 0 +281 282 16 +281 283 16 +281 284 16 +281 285 16 +281 286 16 +281 287 16 +281 288 16 +281 289 16 +281 290 16 +281 291 16 +281 292 16 +281 293 16 +281 294 16 +281 295 16 +281 296 16 +281 297 16 +281 298 16 +281 299 16 +281 300 16 +281 301 16 +281 302 16 +281 303 16 +281 304 16 +281 305 16 +281 306 16 +281 307 16 +281 308 16 +281 309 16 +281 310 16 +281 311 16 +281 312 16 +281 313 16 +281 314 16 +281 315 16 +281 316 16 +281 317 16 +281 318 16 +281 319 16 +281 320 16 +281 321 16 +281 322 16 +281 323 16 +281 324 16 +281 325 16 +281 326 16 +281 327 16 +281 328 16 +281 329 16 +281 330 16 +281 331 16 +281 332 16 +281 333 16 +281 334 16 +281 335 16 +281 336 16 +281 337 16 +281 338 16 +281 339 16 +281 340 16 +281 341 16 +281 342 16 +281 343 16 +281 344 16 +281 345 16 +281 346 16 +281 347 16 +281 348 16 +281 349 16 +281 350 0 +281 351 0 +281 352 0 +281 353 0 +281 354 0 +281 355 0 +281 356 0 +281 357 0 +281 358 0 +281 359 0 +281 360 0 +281 361 0 +281 362 0 +281 363 0 +281 364 0 +281 365 0 +281 366 0 +281 367 0 +281 368 0 +281 369 0 +281 370 0 +281 371 0 +281 372 0 +281 373 0 +281 374 0 +281 375 0 +281 376 0 +281 377 0 +281 378 0 +281 379 0 +281 380 0 +281 381 0 +281 382 0 +281 383 0 +282 283 16 +282 284 16 +282 285 16 +282 286 16 +282 287 16 +282 288 16 +282 289 16 +282 290 16 +282 291 16 +282 292 16 +282 293 16 +282 294 16 +282 295 16 +282 296 16 +282 297 16 +282 298 16 +282 299 16 +282 300 16 +282 301 16 +282 302 16 +282 303 16 +282 304 16 +282 305 16 +282 306 16 +282 307 16 +282 308 16 +282 309 16 +282 310 16 +282 311 16 +282 312 16 +282 313 16 +282 314 16 +282 315 16 +282 316 16 +282 317 16 +282 318 16 +282 319 16 +282 320 16 +282 321 16 +282 322 16 +282 323 16 +282 324 16 +282 325 16 +282 326 16 +282 327 16 +282 328 16 +282 329 16 +282 330 16 +282 331 16 +282 332 16 +282 333 16 +282 334 16 +282 335 16 +282 336 16 +282 337 16 +282 338 16 +282 339 16 +282 340 16 +282 341 16 +282 342 16 +282 343 16 +282 344 16 +282 345 16 +282 346 16 +282 347 16 +282 348 16 +282 349 16 +282 350 0 +282 351 0 +282 352 0 +282 353 0 +282 354 0 +282 355 0 +282 356 0 +282 357 0 +282 358 0 +282 359 0 +282 360 0 +282 361 0 +282 362 0 +282 363 0 +282 364 0 +282 365 0 +282 366 0 +282 367 0 +282 368 0 +282 369 0 +282 370 0 +282 371 0 +282 372 0 +282 373 0 +282 374 0 +282 375 0 +282 376 0 +282 377 0 +282 378 0 +282 379 0 +282 380 0 +282 381 0 +282 382 0 +282 383 0 +283 284 16 +283 285 16 +283 286 16 +283 287 16 +283 288 16 +283 289 16 +283 290 16 +283 291 16 +283 292 16 +283 293 16 +283 294 16 +283 295 16 +283 296 16 +283 297 16 +283 298 16 +283 299 16 +283 300 16 +283 301 16 +283 302 16 +283 303 16 +283 304 16 +283 305 16 +283 306 16 +283 307 16 +283 308 16 +283 309 16 +283 310 16 +283 311 16 +283 312 16 +283 313 16 +283 314 16 +283 315 16 +283 316 16 +283 317 16 +283 318 16 +283 319 16 +283 320 16 +283 321 16 +283 322 16 +283 323 16 +283 324 16 +283 325 16 +283 326 16 +283 327 16 +283 328 16 +283 329 16 +283 330 16 +283 331 16 +283 332 16 +283 333 16 +283 334 16 +283 335 16 +283 336 16 +283 337 16 +283 338 16 +283 339 16 +283 340 16 +283 341 16 +283 342 16 +283 343 16 +283 344 16 +283 345 16 +283 346 16 +283 347 16 +283 348 16 +283 349 16 +283 350 0 +283 351 0 +283 352 0 +283 353 0 +283 354 0 +283 355 0 +283 356 0 +283 357 0 +283 358 0 +283 359 0 +283 360 0 +283 361 0 +283 362 0 +283 363 0 +283 364 0 +283 365 0 +283 366 0 +283 367 0 +283 368 0 +283 369 0 +283 370 0 +283 371 0 +283 372 0 +283 373 0 +283 374 0 +283 375 0 +283 376 0 +283 377 0 +283 378 0 +283 379 0 +283 380 0 +283 381 0 +283 382 0 +283 383 0 +284 285 16 +284 286 16 +284 287 16 +284 288 16 +284 289 16 +284 290 16 +284 291 16 +284 292 16 +284 293 16 +284 294 16 +284 295 16 +284 296 16 +284 297 16 +284 298 16 +284 299 16 +284 300 16 +284 301 16 +284 302 16 +284 303 16 +284 304 16 +284 305 16 +284 306 16 +284 307 16 +284 308 16 +284 309 16 +284 310 16 +284 311 16 +284 312 16 +284 313 16 +284 314 16 +284 315 16 +284 316 16 +284 317 16 +284 318 16 +284 319 16 +284 320 16 +284 321 16 +284 322 16 +284 323 16 +284 324 16 +284 325 16 +284 326 16 +284 327 16 +284 328 16 +284 329 16 +284 330 16 +284 331 16 +284 332 16 +284 333 16 +284 334 16 +284 335 16 +284 336 16 +284 337 16 +284 338 16 +284 339 16 +284 340 16 +284 341 16 +284 342 16 +284 343 16 +284 344 16 +284 345 16 +284 346 16 +284 347 16 +284 348 16 +284 349 16 +284 350 0 +284 351 0 +284 352 0 +284 353 0 +284 354 0 +284 355 0 +284 356 0 +284 357 0 +284 358 0 +284 359 0 +284 360 0 +284 361 0 +284 362 0 +284 363 0 +284 364 0 +284 365 0 +284 366 0 +284 367 0 +284 368 0 +284 369 0 +284 370 0 +284 371 0 +284 372 0 +284 373 0 +284 374 0 +284 375 0 +284 376 0 +284 377 0 +284 378 0 +284 379 0 +284 380 0 +284 381 0 +284 382 0 +284 383 0 +285 286 16 +285 287 16 +285 288 16 +285 289 16 +285 290 16 +285 291 16 +285 292 16 +285 293 16 +285 294 16 +285 295 16 +285 296 16 +285 297 16 +285 298 16 +285 299 16 +285 300 16 +285 301 16 +285 302 16 +285 303 16 +285 304 16 +285 305 16 +285 306 16 +285 307 16 +285 308 16 +285 309 16 +285 310 16 +285 311 16 +285 312 16 +285 313 16 +285 314 16 +285 315 16 +285 316 16 +285 317 16 +285 318 16 +285 319 16 +285 320 16 +285 321 16 +285 322 16 +285 323 16 +285 324 16 +285 325 16 +285 326 16 +285 327 16 +285 328 16 +285 329 16 +285 330 16 +285 331 16 +285 332 16 +285 333 16 +285 334 16 +285 335 16 +285 336 16 +285 337 16 +285 338 16 +285 339 16 +285 340 16 +285 341 16 +285 342 16 +285 343 16 +285 344 16 +285 345 16 +285 346 16 +285 347 16 +285 348 16 +285 349 16 +285 350 0 +285 351 0 +285 352 0 +285 353 0 +285 354 0 +285 355 0 +285 356 0 +285 357 0 +285 358 0 +285 359 0 +285 360 0 +285 361 0 +285 362 0 +285 363 0 +285 364 0 +285 365 0 +285 366 0 +285 367 0 +285 368 0 +285 369 0 +285 370 0 +285 371 0 +285 372 0 +285 373 0 +285 374 0 +285 375 0 +285 376 0 +285 377 0 +285 378 0 +285 379 0 +285 380 0 +285 381 0 +285 382 0 +285 383 0 +286 287 16 +286 288 16 +286 289 16 +286 290 16 +286 291 16 +286 292 16 +286 293 16 +286 294 16 +286 295 16 +286 296 16 +286 297 16 +286 298 16 +286 299 16 +286 300 16 +286 301 16 +286 302 16 +286 303 16 +286 304 16 +286 305 16 +286 306 16 +286 307 16 +286 308 16 +286 309 16 +286 310 16 +286 311 16 +286 312 16 +286 313 16 +286 314 16 +286 315 16 +286 316 16 +286 317 16 +286 318 16 +286 319 16 +286 320 16 +286 321 16 +286 322 16 +286 323 16 +286 324 16 +286 325 16 +286 326 16 +286 327 16 +286 328 16 +286 329 16 +286 330 16 +286 331 16 +286 332 16 +286 333 16 +286 334 16 +286 335 16 +286 336 16 +286 337 16 +286 338 16 +286 339 16 +286 340 16 +286 341 16 +286 342 16 +286 343 16 +286 344 16 +286 345 16 +286 346 16 +286 347 16 +286 348 16 +286 349 16 +286 350 0 +286 351 0 +286 352 0 +286 353 0 +286 354 0 +286 355 0 +286 356 0 +286 357 0 +286 358 0 +286 359 0 +286 360 0 +286 361 0 +286 362 0 +286 363 0 +286 364 0 +286 365 0 +286 366 0 +286 367 0 +286 368 0 +286 369 0 +286 370 0 +286 371 0 +286 372 0 +286 373 0 +286 374 0 +286 375 0 +286 376 0 +286 377 0 +286 378 0 +286 379 0 +286 380 0 +286 381 0 +286 382 0 +286 383 0 +287 288 16 +287 289 16 +287 290 16 +287 291 16 +287 292 16 +287 293 16 +287 294 16 +287 295 16 +287 296 16 +287 297 16 +287 298 16 +287 299 16 +287 300 16 +287 301 16 +287 302 16 +287 303 16 +287 304 16 +287 305 16 +287 306 16 +287 307 16 +287 308 16 +287 309 16 +287 310 16 +287 311 16 +287 312 16 +287 313 16 +287 314 16 +287 315 16 +287 316 16 +287 317 16 +287 318 16 +287 319 16 +287 320 16 +287 321 16 +287 322 16 +287 323 16 +287 324 16 +287 325 16 +287 326 16 +287 327 16 +287 328 16 +287 329 16 +287 330 16 +287 331 16 +287 332 16 +287 333 16 +287 334 16 +287 335 16 +287 336 16 +287 337 16 +287 338 16 +287 339 16 +287 340 16 +287 341 16 +287 342 16 +287 343 16 +287 344 16 +287 345 16 +287 346 16 +287 347 16 +287 348 16 +287 349 16 +287 350 0 +287 351 0 +287 352 0 +287 353 0 +287 354 0 +287 355 0 +287 356 0 +287 357 0 +287 358 0 +287 359 0 +287 360 0 +287 361 0 +287 362 0 +287 363 0 +287 364 0 +287 365 0 +287 366 0 +287 367 0 +287 368 0 +287 369 0 +287 370 0 +287 371 0 +287 372 0 +287 373 0 +287 374 0 +287 375 0 +287 376 0 +287 377 0 +287 378 0 +287 379 0 +287 380 0 +287 381 0 +287 382 0 +287 383 0 +288 289 16 +288 290 16 +288 291 16 +288 292 16 +288 293 16 +288 294 16 +288 295 16 +288 296 16 +288 297 16 +288 298 16 +288 299 16 +288 300 16 +288 301 16 +288 302 16 +288 303 16 +288 304 16 +288 305 16 +288 306 16 +288 307 16 +288 308 16 +288 309 16 +288 310 16 +288 311 16 +288 312 16 +288 313 16 +288 314 16 +288 315 16 +288 316 16 +288 317 16 +288 318 16 +288 319 16 +288 320 16 +288 321 16 +288 322 16 +288 323 16 +288 324 16 +288 325 16 +288 326 16 +288 327 16 +288 328 16 +288 329 16 +288 330 16 +288 331 16 +288 332 16 +288 333 16 +288 334 16 +288 335 16 +288 336 16 +288 337 16 +288 338 16 +288 339 16 +288 340 16 +288 341 16 +288 342 16 +288 343 16 +288 344 16 +288 345 16 +288 346 16 +288 347 16 +288 348 16 +288 349 16 +288 350 0 +288 351 0 +288 352 0 +288 353 0 +288 354 0 +288 355 0 +288 356 0 +288 357 0 +288 358 0 +288 359 0 +288 360 0 +288 361 0 +288 362 0 +288 363 0 +288 364 0 +288 365 0 +288 366 0 +288 367 0 +288 368 0 +288 369 0 +288 370 0 +288 371 0 +288 372 0 +288 373 0 +288 374 0 +288 375 0 +288 376 0 +288 377 0 +288 378 0 +288 379 0 +288 380 0 +288 381 0 +288 382 0 +288 383 0 +289 290 16 +289 291 16 +289 292 16 +289 293 16 +289 294 16 +289 295 16 +289 296 16 +289 297 16 +289 298 16 +289 299 16 +289 300 16 +289 301 16 +289 302 16 +289 303 16 +289 304 16 +289 305 16 +289 306 16 +289 307 16 +289 308 16 +289 309 16 +289 310 16 +289 311 16 +289 312 16 +289 313 16 +289 314 16 +289 315 16 +289 316 16 +289 317 16 +289 318 16 +289 319 16 +289 320 16 +289 321 16 +289 322 16 +289 323 16 +289 324 16 +289 325 16 +289 326 16 +289 327 16 +289 328 16 +289 329 16 +289 330 16 +289 331 16 +289 332 16 +289 333 16 +289 334 16 +289 335 16 +289 336 16 +289 337 16 +289 338 16 +289 339 16 +289 340 16 +289 341 16 +289 342 16 +289 343 16 +289 344 16 +289 345 16 +289 346 16 +289 347 16 +289 348 16 +289 349 16 +289 350 0 +289 351 0 +289 352 0 +289 353 0 +289 354 0 +289 355 0 +289 356 0 +289 357 0 +289 358 0 +289 359 0 +289 360 0 +289 361 0 +289 362 0 +289 363 0 +289 364 0 +289 365 0 +289 366 0 +289 367 0 +289 368 0 +289 369 0 +289 370 0 +289 371 0 +289 372 0 +289 373 0 +289 374 0 +289 375 0 +289 376 0 +289 377 0 +289 378 0 +289 379 0 +289 380 0 +289 381 0 +289 382 0 +289 383 0 +290 291 16 +290 292 16 +290 293 16 +290 294 16 +290 295 16 +290 296 16 +290 297 16 +290 298 16 +290 299 16 +290 300 16 +290 301 16 +290 302 16 +290 303 16 +290 304 16 +290 305 16 +290 306 16 +290 307 16 +290 308 16 +290 309 16 +290 310 16 +290 311 16 +290 312 16 +290 313 16 +290 314 16 +290 315 16 +290 316 16 +290 317 16 +290 318 16 +290 319 16 +290 320 16 +290 321 16 +290 322 16 +290 323 16 +290 324 16 +290 325 16 +290 326 16 +290 327 16 +290 328 16 +290 329 16 +290 330 16 +290 331 16 +290 332 16 +290 333 16 +290 334 16 +290 335 16 +290 336 16 +290 337 16 +290 338 16 +290 339 16 +290 340 16 +290 341 16 +290 342 16 +290 343 16 +290 344 16 +290 345 16 +290 346 16 +290 347 16 +290 348 16 +290 349 16 +290 350 0 +290 351 0 +290 352 0 +290 353 0 +290 354 0 +290 355 0 +290 356 0 +290 357 0 +290 358 0 +290 359 0 +290 360 0 +290 361 0 +290 362 0 +290 363 0 +290 364 0 +290 365 0 +290 366 0 +290 367 0 +290 368 0 +290 369 0 +290 370 0 +290 371 0 +290 372 0 +290 373 0 +290 374 0 +290 375 0 +290 376 0 +290 377 0 +290 378 0 +290 379 0 +290 380 0 +290 381 0 +290 382 0 +290 383 0 +291 292 16 +291 293 16 +291 294 16 +291 295 16 +291 296 16 +291 297 16 +291 298 16 +291 299 16 +291 300 16 +291 301 16 +291 302 16 +291 303 16 +291 304 16 +291 305 16 +291 306 16 +291 307 16 +291 308 16 +291 309 16 +291 310 16 +291 311 16 +291 312 16 +291 313 16 +291 314 16 +291 315 16 +291 316 16 +291 317 16 +291 318 16 +291 319 16 +291 320 16 +291 321 16 +291 322 16 +291 323 16 +291 324 16 +291 325 16 +291 326 16 +291 327 16 +291 328 16 +291 329 16 +291 330 16 +291 331 16 +291 332 16 +291 333 16 +291 334 16 +291 335 16 +291 336 16 +291 337 16 +291 338 16 +291 339 16 +291 340 16 +291 341 16 +291 342 16 +291 343 16 +291 344 16 +291 345 16 +291 346 16 +291 347 16 +291 348 16 +291 349 16 +291 350 0 +291 351 0 +291 352 0 +291 353 0 +291 354 0 +291 355 0 +291 356 0 +291 357 0 +291 358 0 +291 359 0 +291 360 0 +291 361 0 +291 362 0 +291 363 0 +291 364 0 +291 365 0 +291 366 0 +291 367 0 +291 368 0 +291 369 0 +291 370 0 +291 371 0 +291 372 0 +291 373 0 +291 374 0 +291 375 0 +291 376 0 +291 377 0 +291 378 0 +291 379 0 +291 380 0 +291 381 0 +291 382 0 +291 383 0 +292 293 16 +292 294 16 +292 295 16 +292 296 16 +292 297 16 +292 298 16 +292 299 16 +292 300 16 +292 301 16 +292 302 16 +292 303 16 +292 304 16 +292 305 16 +292 306 16 +292 307 16 +292 308 16 +292 309 16 +292 310 16 +292 311 16 +292 312 16 +292 313 16 +292 314 16 +292 315 16 +292 316 16 +292 317 16 +292 318 16 +292 319 16 +292 320 16 +292 321 16 +292 322 16 +292 323 16 +292 324 16 +292 325 16 +292 326 16 +292 327 16 +292 328 16 +292 329 16 +292 330 16 +292 331 16 +292 332 16 +292 333 16 +292 334 16 +292 335 16 +292 336 16 +292 337 16 +292 338 16 +292 339 16 +292 340 16 +292 341 16 +292 342 16 +292 343 16 +292 344 16 +292 345 16 +292 346 16 +292 347 16 +292 348 16 +292 349 16 +292 350 0 +292 351 0 +292 352 0 +292 353 0 +292 354 0 +292 355 0 +292 356 0 +292 357 0 +292 358 0 +292 359 0 +292 360 0 +292 361 0 +292 362 0 +292 363 0 +292 364 0 +292 365 0 +292 366 0 +292 367 0 +292 368 0 +292 369 0 +292 370 0 +292 371 0 +292 372 0 +292 373 0 +292 374 0 +292 375 0 +292 376 0 +292 377 0 +292 378 0 +292 379 0 +292 380 0 +292 381 0 +292 382 0 +292 383 0 +293 294 16 +293 295 16 +293 296 16 +293 297 16 +293 298 16 +293 299 16 +293 300 16 +293 301 16 +293 302 16 +293 303 16 +293 304 16 +293 305 16 +293 306 16 +293 307 16 +293 308 16 +293 309 16 +293 310 16 +293 311 16 +293 312 16 +293 313 16 +293 314 16 +293 315 16 +293 316 16 +293 317 16 +293 318 16 +293 319 16 +293 320 16 +293 321 16 +293 322 16 +293 323 16 +293 324 16 +293 325 16 +293 326 16 +293 327 16 +293 328 16 +293 329 16 +293 330 16 +293 331 16 +293 332 16 +293 333 16 +293 334 16 +293 335 16 +293 336 16 +293 337 16 +293 338 16 +293 339 16 +293 340 16 +293 341 16 +293 342 16 +293 343 16 +293 344 16 +293 345 16 +293 346 16 +293 347 16 +293 348 16 +293 349 16 +293 350 0 +293 351 0 +293 352 0 +293 353 0 +293 354 0 +293 355 0 +293 356 0 +293 357 0 +293 358 0 +293 359 0 +293 360 0 +293 361 0 +293 362 0 +293 363 0 +293 364 0 +293 365 0 +293 366 0 +293 367 0 +293 368 0 +293 369 0 +293 370 0 +293 371 0 +293 372 0 +293 373 0 +293 374 0 +293 375 0 +293 376 0 +293 377 0 +293 378 0 +293 379 0 +293 380 0 +293 381 0 +293 382 0 +293 383 0 +294 295 16 +294 296 16 +294 297 16 +294 298 16 +294 299 16 +294 300 16 +294 301 16 +294 302 16 +294 303 16 +294 304 16 +294 305 16 +294 306 16 +294 307 16 +294 308 16 +294 309 16 +294 310 16 +294 311 16 +294 312 16 +294 313 16 +294 314 16 +294 315 16 +294 316 16 +294 317 16 +294 318 16 +294 319 16 +294 320 16 +294 321 16 +294 322 16 +294 323 16 +294 324 16 +294 325 16 +294 326 16 +294 327 16 +294 328 16 +294 329 16 +294 330 16 +294 331 16 +294 332 16 +294 333 16 +294 334 16 +294 335 16 +294 336 16 +294 337 16 +294 338 16 +294 339 16 +294 340 16 +294 341 16 +294 342 16 +294 343 16 +294 344 16 +294 345 16 +294 346 16 +294 347 16 +294 348 16 +294 349 16 +294 350 0 +294 351 0 +294 352 0 +294 353 0 +294 354 0 +294 355 0 +294 356 0 +294 357 0 +294 358 0 +294 359 0 +294 360 0 +294 361 0 +294 362 0 +294 363 0 +294 364 0 +294 365 0 +294 366 0 +294 367 0 +294 368 0 +294 369 0 +294 370 0 +294 371 0 +294 372 0 +294 373 0 +294 374 0 +294 375 0 +294 376 0 +294 377 0 +294 378 0 +294 379 0 +294 380 0 +294 381 0 +294 382 0 +294 383 0 +295 296 16 +295 297 16 +295 298 16 +295 299 16 +295 300 16 +295 301 16 +295 302 16 +295 303 16 +295 304 16 +295 305 16 +295 306 16 +295 307 16 +295 308 16 +295 309 16 +295 310 16 +295 311 16 +295 312 16 +295 313 16 +295 314 16 +295 315 16 +295 316 16 +295 317 16 +295 318 16 +295 319 16 +295 320 16 +295 321 16 +295 322 16 +295 323 16 +295 324 16 +295 325 16 +295 326 16 +295 327 16 +295 328 16 +295 329 16 +295 330 16 +295 331 16 +295 332 16 +295 333 16 +295 334 16 +295 335 16 +295 336 16 +295 337 16 +295 338 16 +295 339 16 +295 340 16 +295 341 16 +295 342 16 +295 343 16 +295 344 16 +295 345 16 +295 346 16 +295 347 16 +295 348 16 +295 349 16 +295 350 0 +295 351 0 +295 352 0 +295 353 0 +295 354 0 +295 355 0 +295 356 0 +295 357 0 +295 358 0 +295 359 0 +295 360 0 +295 361 0 +295 362 0 +295 363 0 +295 364 0 +295 365 0 +295 366 0 +295 367 0 +295 368 0 +295 369 0 +295 370 0 +295 371 0 +295 372 0 +295 373 0 +295 374 0 +295 375 0 +295 376 0 +295 377 0 +295 378 0 +295 379 0 +295 380 0 +295 381 0 +295 382 0 +295 383 0 +296 297 16 +296 298 16 +296 299 16 +296 300 16 +296 301 16 +296 302 16 +296 303 16 +296 304 16 +296 305 16 +296 306 16 +296 307 16 +296 308 16 +296 309 16 +296 310 16 +296 311 16 +296 312 16 +296 313 16 +296 314 16 +296 315 16 +296 316 16 +296 317 16 +296 318 16 +296 319 16 +296 320 16 +296 321 16 +296 322 16 +296 323 16 +296 324 16 +296 325 16 +296 326 16 +296 327 16 +296 328 16 +296 329 16 +296 330 16 +296 331 16 +296 332 16 +296 333 16 +296 334 16 +296 335 16 +296 336 16 +296 337 16 +296 338 16 +296 339 16 +296 340 16 +296 341 16 +296 342 16 +296 343 16 +296 344 16 +296 345 16 +296 346 16 +296 347 16 +296 348 16 +296 349 16 +296 350 0 +296 351 0 +296 352 0 +296 353 0 +296 354 0 +296 355 0 +296 356 0 +296 357 0 +296 358 0 +296 359 0 +296 360 0 +296 361 0 +296 362 0 +296 363 0 +296 364 0 +296 365 0 +296 366 0 +296 367 0 +296 368 0 +296 369 0 +296 370 0 +296 371 0 +296 372 0 +296 373 0 +296 374 0 +296 375 0 +296 376 0 +296 377 0 +296 378 0 +296 379 0 +296 380 0 +296 381 0 +296 382 0 +296 383 0 +297 298 16 +297 299 16 +297 300 16 +297 301 16 +297 302 16 +297 303 16 +297 304 16 +297 305 16 +297 306 16 +297 307 16 +297 308 16 +297 309 16 +297 310 16 +297 311 16 +297 312 16 +297 313 16 +297 314 16 +297 315 16 +297 316 16 +297 317 16 +297 318 16 +297 319 16 +297 320 16 +297 321 16 +297 322 16 +297 323 16 +297 324 16 +297 325 16 +297 326 16 +297 327 16 +297 328 16 +297 329 16 +297 330 16 +297 331 16 +297 332 16 +297 333 16 +297 334 16 +297 335 16 +297 336 16 +297 337 16 +297 338 16 +297 339 16 +297 340 16 +297 341 16 +297 342 16 +297 343 16 +297 344 16 +297 345 16 +297 346 16 +297 347 16 +297 348 16 +297 349 16 +297 350 0 +297 351 0 +297 352 0 +297 353 0 +297 354 0 +297 355 0 +297 356 0 +297 357 0 +297 358 0 +297 359 0 +297 360 0 +297 361 0 +297 362 0 +297 363 0 +297 364 0 +297 365 0 +297 366 0 +297 367 0 +297 368 0 +297 369 0 +297 370 0 +297 371 0 +297 372 0 +297 373 0 +297 374 0 +297 375 0 +297 376 0 +297 377 0 +297 378 0 +297 379 0 +297 380 0 +297 381 0 +297 382 0 +297 383 0 +298 299 16 +298 300 16 +298 301 16 +298 302 16 +298 303 16 +298 304 16 +298 305 16 +298 306 16 +298 307 16 +298 308 16 +298 309 16 +298 310 16 +298 311 16 +298 312 16 +298 313 16 +298 314 16 +298 315 16 +298 316 16 +298 317 16 +298 318 16 +298 319 16 +298 320 16 +298 321 16 +298 322 16 +298 323 16 +298 324 16 +298 325 16 +298 326 16 +298 327 16 +298 328 16 +298 329 16 +298 330 16 +298 331 16 +298 332 16 +298 333 16 +298 334 16 +298 335 16 +298 336 16 +298 337 16 +298 338 16 +298 339 16 +298 340 16 +298 341 16 +298 342 16 +298 343 16 +298 344 16 +298 345 16 +298 346 16 +298 347 16 +298 348 16 +298 349 16 +298 350 0 +298 351 0 +298 352 0 +298 353 0 +298 354 0 +298 355 0 +298 356 0 +298 357 0 +298 358 0 +298 359 0 +298 360 0 +298 361 0 +298 362 0 +298 363 0 +298 364 0 +298 365 0 +298 366 0 +298 367 0 +298 368 0 +298 369 0 +298 370 0 +298 371 0 +298 372 0 +298 373 0 +298 374 0 +298 375 0 +298 376 0 +298 377 0 +298 378 0 +298 379 0 +298 380 0 +298 381 0 +298 382 0 +298 383 0 +299 300 16 +299 301 16 +299 302 16 +299 303 16 +299 304 16 +299 305 16 +299 306 16 +299 307 16 +299 308 16 +299 309 16 +299 310 16 +299 311 16 +299 312 16 +299 313 16 +299 314 16 +299 315 16 +299 316 16 +299 317 16 +299 318 16 +299 319 16 +299 320 16 +299 321 16 +299 322 16 +299 323 16 +299 324 16 +299 325 16 +299 326 16 +299 327 16 +299 328 16 +299 329 16 +299 330 16 +299 331 16 +299 332 16 +299 333 16 +299 334 16 +299 335 16 +299 336 16 +299 337 16 +299 338 16 +299 339 16 +299 340 16 +299 341 16 +299 342 16 +299 343 16 +299 344 16 +299 345 16 +299 346 16 +299 347 16 +299 348 16 +299 349 16 +299 350 0 +299 351 0 +299 352 0 +299 353 0 +299 354 0 +299 355 0 +299 356 0 +299 357 0 +299 358 0 +299 359 0 +299 360 0 +299 361 0 +299 362 0 +299 363 0 +299 364 0 +299 365 0 +299 366 0 +299 367 0 +299 368 0 +299 369 0 +299 370 0 +299 371 0 +299 372 0 +299 373 0 +299 374 0 +299 375 0 +299 376 0 +299 377 0 +299 378 0 +299 379 0 +299 380 0 +299 381 0 +299 382 0 +299 383 0 +300 301 16 +300 302 16 +300 303 16 +300 304 16 +300 305 16 +300 306 16 +300 307 16 +300 308 16 +300 309 16 +300 310 16 +300 311 16 +300 312 16 +300 313 16 +300 314 16 +300 315 16 +300 316 16 +300 317 16 +300 318 16 +300 319 16 +300 320 16 +300 321 16 +300 322 16 +300 323 16 +300 324 16 +300 325 16 +300 326 16 +300 327 16 +300 328 16 +300 329 16 +300 330 16 +300 331 16 +300 332 16 +300 333 16 +300 334 16 +300 335 16 +300 336 16 +300 337 16 +300 338 16 +300 339 16 +300 340 16 +300 341 16 +300 342 16 +300 343 16 +300 344 16 +300 345 16 +300 346 16 +300 347 16 +300 348 16 +300 349 16 +300 350 0 +300 351 0 +300 352 0 +300 353 0 +300 354 0 +300 355 0 +300 356 0 +300 357 0 +300 358 0 +300 359 0 +300 360 0 +300 361 0 +300 362 0 +300 363 0 +300 364 0 +300 365 0 +300 366 0 +300 367 0 +300 368 0 +300 369 0 +300 370 0 +300 371 0 +300 372 0 +300 373 0 +300 374 0 +300 375 0 +300 376 0 +300 377 0 +300 378 0 +300 379 0 +300 380 0 +300 381 0 +300 382 0 +300 383 0 +301 302 16 +301 303 16 +301 304 16 +301 305 16 +301 306 16 +301 307 16 +301 308 16 +301 309 16 +301 310 16 +301 311 16 +301 312 16 +301 313 16 +301 314 16 +301 315 16 +301 316 16 +301 317 16 +301 318 16 +301 319 16 +301 320 16 +301 321 16 +301 322 16 +301 323 16 +301 324 16 +301 325 16 +301 326 16 +301 327 16 +301 328 16 +301 329 16 +301 330 16 +301 331 16 +301 332 16 +301 333 16 +301 334 16 +301 335 16 +301 336 16 +301 337 16 +301 338 16 +301 339 16 +301 340 16 +301 341 16 +301 342 16 +301 343 16 +301 344 16 +301 345 16 +301 346 16 +301 347 16 +301 348 16 +301 349 16 +301 350 0 +301 351 0 +301 352 0 +301 353 0 +301 354 0 +301 355 0 +301 356 0 +301 357 0 +301 358 0 +301 359 0 +301 360 0 +301 361 0 +301 362 0 +301 363 0 +301 364 0 +301 365 0 +301 366 0 +301 367 0 +301 368 0 +301 369 0 +301 370 0 +301 371 0 +301 372 0 +301 373 0 +301 374 0 +301 375 0 +301 376 0 +301 377 0 +301 378 0 +301 379 0 +301 380 0 +301 381 0 +301 382 0 +301 383 0 +302 303 16 +302 304 16 +302 305 16 +302 306 16 +302 307 16 +302 308 16 +302 309 16 +302 310 16 +302 311 16 +302 312 16 +302 313 16 +302 314 16 +302 315 16 +302 316 16 +302 317 16 +302 318 16 +302 319 16 +302 320 16 +302 321 16 +302 322 16 +302 323 16 +302 324 16 +302 325 16 +302 326 16 +302 327 16 +302 328 16 +302 329 16 +302 330 16 +302 331 16 +302 332 16 +302 333 16 +302 334 16 +302 335 16 +302 336 16 +302 337 16 +302 338 16 +302 339 16 +302 340 16 +302 341 16 +302 342 16 +302 343 16 +302 344 16 +302 345 16 +302 346 16 +302 347 16 +302 348 16 +302 349 16 +302 350 0 +302 351 0 +302 352 0 +302 353 0 +302 354 0 +302 355 0 +302 356 0 +302 357 0 +302 358 0 +302 359 0 +302 360 0 +302 361 0 +302 362 0 +302 363 0 +302 364 0 +302 365 0 +302 366 0 +302 367 0 +302 368 0 +302 369 0 +302 370 0 +302 371 0 +302 372 0 +302 373 0 +302 374 0 +302 375 0 +302 376 0 +302 377 0 +302 378 0 +302 379 0 +302 380 0 +302 381 0 +302 382 0 +302 383 0 +303 304 16 +303 305 16 +303 306 16 +303 307 16 +303 308 16 +303 309 16 +303 310 16 +303 311 16 +303 312 16 +303 313 16 +303 314 16 +303 315 16 +303 316 16 +303 317 16 +303 318 16 +303 319 16 +303 320 16 +303 321 16 +303 322 16 +303 323 16 +303 324 16 +303 325 16 +303 326 16 +303 327 16 +303 328 16 +303 329 16 +303 330 16 +303 331 16 +303 332 16 +303 333 16 +303 334 16 +303 335 16 +303 336 16 +303 337 16 +303 338 16 +303 339 16 +303 340 16 +303 341 16 +303 342 16 +303 343 16 +303 344 16 +303 345 16 +303 346 16 +303 347 16 +303 348 16 +303 349 16 +303 350 0 +303 351 0 +303 352 0 +303 353 0 +303 354 0 +303 355 0 +303 356 0 +303 357 0 +303 358 0 +303 359 0 +303 360 0 +303 361 0 +303 362 0 +303 363 0 +303 364 0 +303 365 0 +303 366 0 +303 367 0 +303 368 0 +303 369 0 +303 370 0 +303 371 0 +303 372 0 +303 373 0 +303 374 0 +303 375 0 +303 376 0 +303 377 0 +303 378 0 +303 379 0 +303 380 0 +303 381 0 +303 382 0 +303 383 0 +304 305 16 +304 306 16 +304 307 16 +304 308 16 +304 309 16 +304 310 16 +304 311 16 +304 312 16 +304 313 16 +304 314 16 +304 315 16 +304 316 16 +304 317 16 +304 318 16 +304 319 16 +304 320 16 +304 321 16 +304 322 16 +304 323 16 +304 324 16 +304 325 16 +304 326 16 +304 327 16 +304 328 16 +304 329 16 +304 330 16 +304 331 16 +304 332 16 +304 333 16 +304 334 16 +304 335 16 +304 336 16 +304 337 16 +304 338 16 +304 339 16 +304 340 16 +304 341 16 +304 342 16 +304 343 16 +304 344 16 +304 345 16 +304 346 16 +304 347 16 +304 348 16 +304 349 16 +304 350 0 +304 351 0 +304 352 0 +304 353 0 +304 354 0 +304 355 0 +304 356 0 +304 357 0 +304 358 0 +304 359 0 +304 360 0 +304 361 0 +304 362 0 +304 363 0 +304 364 0 +304 365 0 +304 366 0 +304 367 0 +304 368 0 +304 369 0 +304 370 0 +304 371 0 +304 372 0 +304 373 0 +304 374 0 +304 375 0 +304 376 0 +304 377 0 +304 378 0 +304 379 0 +304 380 0 +304 381 0 +304 382 0 +304 383 0 +305 306 16 +305 307 16 +305 308 16 +305 309 16 +305 310 16 +305 311 16 +305 312 16 +305 313 16 +305 314 16 +305 315 16 +305 316 16 +305 317 16 +305 318 16 +305 319 16 +305 320 16 +305 321 16 +305 322 16 +305 323 16 +305 324 16 +305 325 16 +305 326 16 +305 327 16 +305 328 16 +305 329 16 +305 330 16 +305 331 16 +305 332 16 +305 333 16 +305 334 16 +305 335 16 +305 336 16 +305 337 16 +305 338 16 +305 339 16 +305 340 16 +305 341 16 +305 342 16 +305 343 16 +305 344 16 +305 345 16 +305 346 16 +305 347 16 +305 348 16 +305 349 16 +305 350 0 +305 351 0 +305 352 0 +305 353 0 +305 354 0 +305 355 0 +305 356 0 +305 357 0 +305 358 0 +305 359 0 +305 360 0 +305 361 0 +305 362 0 +305 363 0 +305 364 0 +305 365 0 +305 366 0 +305 367 0 +305 368 0 +305 369 0 +305 370 0 +305 371 0 +305 372 0 +305 373 0 +305 374 0 +305 375 0 +305 376 0 +305 377 0 +305 378 0 +305 379 0 +305 380 0 +305 381 0 +305 382 0 +305 383 0 +306 307 16 +306 308 16 +306 309 16 +306 310 16 +306 311 16 +306 312 16 +306 313 16 +306 314 16 +306 315 16 +306 316 16 +306 317 16 +306 318 16 +306 319 16 +306 320 16 +306 321 16 +306 322 16 +306 323 16 +306 324 16 +306 325 16 +306 326 16 +306 327 16 +306 328 16 +306 329 16 +306 330 16 +306 331 16 +306 332 16 +306 333 16 +306 334 16 +306 335 16 +306 336 16 +306 337 16 +306 338 16 +306 339 16 +306 340 16 +306 341 16 +306 342 16 +306 343 16 +306 344 16 +306 345 16 +306 346 16 +306 347 16 +306 348 16 +306 349 16 +306 350 0 +306 351 0 +306 352 0 +306 353 0 +306 354 0 +306 355 0 +306 356 0 +306 357 0 +306 358 0 +306 359 0 +306 360 0 +306 361 0 +306 362 0 +306 363 0 +306 364 0 +306 365 0 +306 366 0 +306 367 0 +306 368 0 +306 369 0 +306 370 0 +306 371 0 +306 372 0 +306 373 0 +306 374 0 +306 375 0 +306 376 0 +306 377 0 +306 378 0 +306 379 0 +306 380 0 +306 381 0 +306 382 0 +306 383 0 +307 308 16 +307 309 16 +307 310 16 +307 311 16 +307 312 16 +307 313 16 +307 314 16 +307 315 16 +307 316 16 +307 317 16 +307 318 16 +307 319 16 +307 320 16 +307 321 16 +307 322 16 +307 323 16 +307 324 16 +307 325 16 +307 326 16 +307 327 16 +307 328 16 +307 329 16 +307 330 16 +307 331 16 +307 332 16 +307 333 16 +307 334 16 +307 335 16 +307 336 16 +307 337 16 +307 338 16 +307 339 16 +307 340 16 +307 341 16 +307 342 16 +307 343 16 +307 344 16 +307 345 16 +307 346 16 +307 347 16 +307 348 16 +307 349 16 +307 350 0 +307 351 0 +307 352 0 +307 353 0 +307 354 0 +307 355 0 +307 356 0 +307 357 0 +307 358 0 +307 359 0 +307 360 0 +307 361 0 +307 362 0 +307 363 0 +307 364 0 +307 365 0 +307 366 0 +307 367 0 +307 368 0 +307 369 0 +307 370 0 +307 371 0 +307 372 0 +307 373 0 +307 374 0 +307 375 0 +307 376 0 +307 377 0 +307 378 0 +307 379 0 +307 380 0 +307 381 0 +307 382 0 +307 383 0 +308 309 16 +308 310 16 +308 311 16 +308 312 16 +308 313 16 +308 314 16 +308 315 16 +308 316 16 +308 317 16 +308 318 16 +308 319 16 +308 320 16 +308 321 16 +308 322 16 +308 323 16 +308 324 16 +308 325 16 +308 326 16 +308 327 16 +308 328 16 +308 329 16 +308 330 16 +308 331 16 +308 332 16 +308 333 16 +308 334 16 +308 335 16 +308 336 16 +308 337 16 +308 338 16 +308 339 16 +308 340 16 +308 341 16 +308 342 16 +308 343 16 +308 344 16 +308 345 16 +308 346 16 +308 347 16 +308 348 16 +308 349 16 +308 350 0 +308 351 0 +308 352 0 +308 353 0 +308 354 0 +308 355 0 +308 356 0 +308 357 0 +308 358 0 +308 359 0 +308 360 0 +308 361 0 +308 362 0 +308 363 0 +308 364 0 +308 365 0 +308 366 0 +308 367 0 +308 368 0 +308 369 0 +308 370 0 +308 371 0 +308 372 0 +308 373 0 +308 374 0 +308 375 0 +308 376 0 +308 377 0 +308 378 0 +308 379 0 +308 380 0 +308 381 0 +308 382 0 +308 383 0 +309 310 16 +309 311 16 +309 312 16 +309 313 16 +309 314 16 +309 315 16 +309 316 16 +309 317 16 +309 318 16 +309 319 16 +309 320 16 +309 321 16 +309 322 16 +309 323 16 +309 324 16 +309 325 16 +309 326 16 +309 327 16 +309 328 16 +309 329 16 +309 330 16 +309 331 16 +309 332 16 +309 333 16 +309 334 16 +309 335 16 +309 336 16 +309 337 16 +309 338 16 +309 339 16 +309 340 16 +309 341 16 +309 342 16 +309 343 16 +309 344 16 +309 345 16 +309 346 16 +309 347 16 +309 348 16 +309 349 16 +309 350 0 +309 351 0 +309 352 0 +309 353 0 +309 354 0 +309 355 0 +309 356 0 +309 357 0 +309 358 0 +309 359 0 +309 360 0 +309 361 0 +309 362 0 +309 363 0 +309 364 0 +309 365 0 +309 366 0 +309 367 0 +309 368 0 +309 369 0 +309 370 0 +309 371 0 +309 372 0 +309 373 0 +309 374 0 +309 375 0 +309 376 0 +309 377 0 +309 378 0 +309 379 0 +309 380 0 +309 381 0 +309 382 0 +309 383 0 +310 311 16 +310 312 16 +310 313 16 +310 314 16 +310 315 16 +310 316 16 +310 317 16 +310 318 16 +310 319 16 +310 320 16 +310 321 16 +310 322 16 +310 323 16 +310 324 16 +310 325 16 +310 326 16 +310 327 16 +310 328 16 +310 329 16 +310 330 16 +310 331 16 +310 332 16 +310 333 16 +310 334 16 +310 335 16 +310 336 16 +310 337 16 +310 338 16 +310 339 16 +310 340 16 +310 341 16 +310 342 16 +310 343 16 +310 344 16 +310 345 16 +310 346 16 +310 347 16 +310 348 16 +310 349 16 +310 350 0 +310 351 0 +310 352 0 +310 353 0 +310 354 0 +310 355 0 +310 356 0 +310 357 0 +310 358 0 +310 359 0 +310 360 0 +310 361 0 +310 362 0 +310 363 0 +310 364 0 +310 365 0 +310 366 0 +310 367 0 +310 368 0 +310 369 0 +310 370 0 +310 371 0 +310 372 0 +310 373 0 +310 374 0 +310 375 0 +310 376 0 +310 377 0 +310 378 0 +310 379 0 +310 380 0 +310 381 0 +310 382 0 +310 383 0 +311 312 16 +311 313 16 +311 314 16 +311 315 16 +311 316 16 +311 317 16 +311 318 16 +311 319 16 +311 320 16 +311 321 16 +311 322 16 +311 323 16 +311 324 16 +311 325 16 +311 326 16 +311 327 16 +311 328 16 +311 329 16 +311 330 16 +311 331 16 +311 332 16 +311 333 16 +311 334 16 +311 335 16 +311 336 16 +311 337 16 +311 338 16 +311 339 16 +311 340 16 +311 341 16 +311 342 16 +311 343 16 +311 344 16 +311 345 16 +311 346 16 +311 347 16 +311 348 16 +311 349 16 +311 350 0 +311 351 0 +311 352 0 +311 353 0 +311 354 0 +311 355 0 +311 356 0 +311 357 0 +311 358 0 +311 359 0 +311 360 0 +311 361 0 +311 362 0 +311 363 0 +311 364 0 +311 365 0 +311 366 0 +311 367 0 +311 368 0 +311 369 0 +311 370 0 +311 371 0 +311 372 0 +311 373 0 +311 374 0 +311 375 0 +311 376 0 +311 377 0 +311 378 0 +311 379 0 +311 380 0 +311 381 0 +311 382 0 +311 383 0 +312 313 16 +312 314 16 +312 315 16 +312 316 16 +312 317 16 +312 318 16 +312 319 16 +312 320 16 +312 321 16 +312 322 16 +312 323 16 +312 324 16 +312 325 16 +312 326 16 +312 327 16 +312 328 16 +312 329 16 +312 330 16 +312 331 16 +312 332 16 +312 333 16 +312 334 16 +312 335 16 +312 336 16 +312 337 16 +312 338 16 +312 339 16 +312 340 16 +312 341 16 +312 342 16 +312 343 16 +312 344 16 +312 345 16 +312 346 16 +312 347 16 +312 348 16 +312 349 16 +312 350 0 +312 351 0 +312 352 0 +312 353 0 +312 354 0 +312 355 0 +312 356 0 +312 357 0 +312 358 0 +312 359 0 +312 360 0 +312 361 0 +312 362 0 +312 363 0 +312 364 0 +312 365 0 +312 366 0 +312 367 0 +312 368 0 +312 369 0 +312 370 0 +312 371 0 +312 372 0 +312 373 0 +312 374 0 +312 375 0 +312 376 0 +312 377 0 +312 378 0 +312 379 0 +312 380 0 +312 381 0 +312 382 0 +312 383 0 +313 314 16 +313 315 16 +313 316 16 +313 317 16 +313 318 16 +313 319 16 +313 320 16 +313 321 16 +313 322 16 +313 323 16 +313 324 16 +313 325 16 +313 326 16 +313 327 16 +313 328 16 +313 329 16 +313 330 16 +313 331 16 +313 332 16 +313 333 16 +313 334 16 +313 335 16 +313 336 16 +313 337 16 +313 338 16 +313 339 16 +313 340 16 +313 341 16 +313 342 16 +313 343 16 +313 344 16 +313 345 16 +313 346 16 +313 347 16 +313 348 16 +313 349 16 +313 350 0 +313 351 0 +313 352 0 +313 353 0 +313 354 0 +313 355 0 +313 356 0 +313 357 0 +313 358 0 +313 359 0 +313 360 0 +313 361 0 +313 362 0 +313 363 0 +313 364 0 +313 365 0 +313 366 0 +313 367 0 +313 368 0 +313 369 0 +313 370 0 +313 371 0 +313 372 0 +313 373 0 +313 374 0 +313 375 0 +313 376 0 +313 377 0 +313 378 0 +313 379 0 +313 380 0 +313 381 0 +313 382 0 +313 383 0 +314 315 16 +314 316 16 +314 317 16 +314 318 16 +314 319 16 +314 320 16 +314 321 16 +314 322 16 +314 323 16 +314 324 16 +314 325 16 +314 326 16 +314 327 16 +314 328 16 +314 329 16 +314 330 16 +314 331 16 +314 332 16 +314 333 16 +314 334 16 +314 335 16 +314 336 16 +314 337 16 +314 338 16 +314 339 16 +314 340 16 +314 341 16 +314 342 16 +314 343 16 +314 344 16 +314 345 16 +314 346 16 +314 347 16 +314 348 16 +314 349 16 +314 350 0 +314 351 0 +314 352 0 +314 353 0 +314 354 0 +314 355 0 +314 356 0 +314 357 0 +314 358 0 +314 359 0 +314 360 0 +314 361 0 +314 362 0 +314 363 0 +314 364 0 +314 365 0 +314 366 0 +314 367 0 +314 368 0 +314 369 0 +314 370 0 +314 371 0 +314 372 0 +314 373 0 +314 374 0 +314 375 0 +314 376 0 +314 377 0 +314 378 0 +314 379 0 +314 380 0 +314 381 0 +314 382 0 +314 383 0 +315 316 16 +315 317 16 +315 318 16 +315 319 16 +315 320 16 +315 321 16 +315 322 16 +315 323 16 +315 324 16 +315 325 16 +315 326 16 +315 327 16 +315 328 16 +315 329 16 +315 330 16 +315 331 16 +315 332 16 +315 333 16 +315 334 16 +315 335 16 +315 336 16 +315 337 16 +315 338 16 +315 339 16 +315 340 16 +315 341 16 +315 342 16 +315 343 16 +315 344 16 +315 345 16 +315 346 16 +315 347 16 +315 348 16 +315 349 16 +315 350 0 +315 351 0 +315 352 0 +315 353 0 +315 354 0 +315 355 0 +315 356 0 +315 357 0 +315 358 0 +315 359 0 +315 360 0 +315 361 0 +315 362 0 +315 363 0 +315 364 0 +315 365 0 +315 366 0 +315 367 0 +315 368 0 +315 369 0 +315 370 0 +315 371 0 +315 372 0 +315 373 0 +315 374 0 +315 375 0 +315 376 0 +315 377 0 +315 378 0 +315 379 0 +315 380 0 +315 381 0 +315 382 0 +315 383 0 +316 317 16 +316 318 16 +316 319 16 +316 320 16 +316 321 16 +316 322 16 +316 323 16 +316 324 16 +316 325 16 +316 326 16 +316 327 16 +316 328 16 +316 329 16 +316 330 16 +316 331 16 +316 332 16 +316 333 16 +316 334 16 +316 335 16 +316 336 16 +316 337 16 +316 338 16 +316 339 16 +316 340 16 +316 341 16 +316 342 16 +316 343 16 +316 344 16 +316 345 16 +316 346 16 +316 347 16 +316 348 16 +316 349 16 +316 350 0 +316 351 0 +316 352 0 +316 353 0 +316 354 0 +316 355 0 +316 356 0 +316 357 0 +316 358 0 +316 359 0 +316 360 0 +316 361 0 +316 362 0 +316 363 0 +316 364 0 +316 365 0 +316 366 0 +316 367 0 +316 368 0 +316 369 0 +316 370 0 +316 371 0 +316 372 0 +316 373 0 +316 374 0 +316 375 0 +316 376 0 +316 377 0 +316 378 0 +316 379 0 +316 380 0 +316 381 0 +316 382 0 +316 383 0 +317 318 16 +317 319 16 +317 320 16 +317 321 16 +317 322 16 +317 323 16 +317 324 16 +317 325 16 +317 326 16 +317 327 16 +317 328 16 +317 329 16 +317 330 16 +317 331 16 +317 332 16 +317 333 16 +317 334 16 +317 335 16 +317 336 16 +317 337 16 +317 338 16 +317 339 16 +317 340 16 +317 341 16 +317 342 16 +317 343 16 +317 344 16 +317 345 16 +317 346 16 +317 347 16 +317 348 16 +317 349 16 +317 350 0 +317 351 0 +317 352 0 +317 353 0 +317 354 0 +317 355 0 +317 356 0 +317 357 0 +317 358 0 +317 359 0 +317 360 0 +317 361 0 +317 362 0 +317 363 0 +317 364 0 +317 365 0 +317 366 0 +317 367 0 +317 368 0 +317 369 0 +317 370 0 +317 371 0 +317 372 0 +317 373 0 +317 374 0 +317 375 0 +317 376 0 +317 377 0 +317 378 0 +317 379 0 +317 380 0 +317 381 0 +317 382 0 +317 383 0 +318 319 16 +318 320 16 +318 321 16 +318 322 16 +318 323 16 +318 324 16 +318 325 16 +318 326 16 +318 327 16 +318 328 16 +318 329 16 +318 330 16 +318 331 16 +318 332 16 +318 333 16 +318 334 16 +318 335 16 +318 336 16 +318 337 16 +318 338 16 +318 339 16 +318 340 16 +318 341 16 +318 342 16 +318 343 16 +318 344 16 +318 345 16 +318 346 16 +318 347 16 +318 348 16 +318 349 16 +318 350 0 +318 351 0 +318 352 0 +318 353 0 +318 354 0 +318 355 0 +318 356 0 +318 357 0 +318 358 0 +318 359 0 +318 360 0 +318 361 0 +318 362 0 +318 363 0 +318 364 0 +318 365 0 +318 366 0 +318 367 0 +318 368 0 +318 369 0 +318 370 0 +318 371 0 +318 372 0 +318 373 0 +318 374 0 +318 375 0 +318 376 0 +318 377 0 +318 378 0 +318 379 0 +318 380 0 +318 381 0 +318 382 0 +318 383 0 +319 320 16 +319 321 16 +319 322 16 +319 323 16 +319 324 16 +319 325 16 +319 326 16 +319 327 16 +319 328 16 +319 329 16 +319 330 16 +319 331 16 +319 332 16 +319 333 16 +319 334 16 +319 335 16 +319 336 16 +319 337 16 +319 338 16 +319 339 16 +319 340 16 +319 341 16 +319 342 16 +319 343 16 +319 344 16 +319 345 16 +319 346 16 +319 347 16 +319 348 16 +319 349 16 +319 350 0 +319 351 0 +319 352 0 +319 353 0 +319 354 0 +319 355 0 +319 356 0 +319 357 0 +319 358 0 +319 359 0 +319 360 0 +319 361 0 +319 362 0 +319 363 0 +319 364 0 +319 365 0 +319 366 0 +319 367 0 +319 368 0 +319 369 0 +319 370 0 +319 371 0 +319 372 0 +319 373 0 +319 374 0 +319 375 0 +319 376 0 +319 377 0 +319 378 0 +319 379 0 +319 380 0 +319 381 0 +319 382 0 +319 383 0 +320 321 16 +320 322 16 +320 323 16 +320 324 16 +320 325 16 +320 326 16 +320 327 16 +320 328 16 +320 329 16 +320 330 16 +320 331 16 +320 332 16 +320 333 16 +320 334 16 +320 335 16 +320 336 16 +320 337 16 +320 338 16 +320 339 16 +320 340 16 +320 341 16 +320 342 16 +320 343 16 +320 344 16 +320 345 16 +320 346 16 +320 347 16 +320 348 16 +320 349 16 +320 350 0 +320 351 0 +320 352 0 +320 353 0 +320 354 0 +320 355 0 +320 356 0 +320 357 0 +320 358 0 +320 359 0 +320 360 0 +320 361 0 +320 362 0 +320 363 0 +320 364 0 +320 365 0 +320 366 0 +320 367 0 +320 368 0 +320 369 0 +320 370 0 +320 371 0 +320 372 0 +320 373 0 +320 374 0 +320 375 0 +320 376 0 +320 377 0 +320 378 0 +320 379 0 +320 380 0 +320 381 0 +320 382 0 +320 383 0 +321 322 16 +321 323 16 +321 324 16 +321 325 16 +321 326 16 +321 327 16 +321 328 16 +321 329 16 +321 330 16 +321 331 16 +321 332 16 +321 333 16 +321 334 16 +321 335 16 +321 336 16 +321 337 16 +321 338 16 +321 339 16 +321 340 16 +321 341 16 +321 342 16 +321 343 16 +321 344 16 +321 345 16 +321 346 16 +321 347 16 +321 348 16 +321 349 16 +321 350 0 +321 351 0 +321 352 0 +321 353 0 +321 354 0 +321 355 0 +321 356 0 +321 357 0 +321 358 0 +321 359 0 +321 360 0 +321 361 0 +321 362 0 +321 363 0 +321 364 0 +321 365 0 +321 366 0 +321 367 0 +321 368 0 +321 369 0 +321 370 0 +321 371 0 +321 372 0 +321 373 0 +321 374 0 +321 375 0 +321 376 0 +321 377 0 +321 378 0 +321 379 0 +321 380 0 +321 381 0 +321 382 0 +321 383 0 +322 323 16 +322 324 16 +322 325 16 +322 326 16 +322 327 16 +322 328 16 +322 329 16 +322 330 16 +322 331 16 +322 332 16 +322 333 16 +322 334 16 +322 335 16 +322 336 16 +322 337 16 +322 338 16 +322 339 16 +322 340 16 +322 341 16 +322 342 16 +322 343 16 +322 344 16 +322 345 16 +322 346 16 +322 347 16 +322 348 16 +322 349 16 +322 350 0 +322 351 0 +322 352 0 +322 353 0 +322 354 0 +322 355 0 +322 356 0 +322 357 0 +322 358 0 +322 359 0 +322 360 0 +322 361 0 +322 362 0 +322 363 0 +322 364 0 +322 365 0 +322 366 0 +322 367 0 +322 368 0 +322 369 0 +322 370 0 +322 371 0 +322 372 0 +322 373 0 +322 374 0 +322 375 0 +322 376 0 +322 377 0 +322 378 0 +322 379 0 +322 380 0 +322 381 0 +322 382 0 +322 383 0 +323 324 16 +323 325 16 +323 326 16 +323 327 16 +323 328 16 +323 329 16 +323 330 16 +323 331 16 +323 332 16 +323 333 16 +323 334 16 +323 335 16 +323 336 16 +323 337 16 +323 338 16 +323 339 16 +323 340 16 +323 341 16 +323 342 16 +323 343 16 +323 344 16 +323 345 16 +323 346 16 +323 347 16 +323 348 16 +323 349 16 +323 350 0 +323 351 0 +323 352 0 +323 353 0 +323 354 0 +323 355 0 +323 356 0 +323 357 0 +323 358 0 +323 359 0 +323 360 0 +323 361 0 +323 362 0 +323 363 0 +323 364 0 +323 365 0 +323 366 0 +323 367 0 +323 368 0 +323 369 0 +323 370 0 +323 371 0 +323 372 0 +323 373 0 +323 374 0 +323 375 0 +323 376 0 +323 377 0 +323 378 0 +323 379 0 +323 380 0 +323 381 0 +323 382 0 +323 383 0 +324 325 16 +324 326 16 +324 327 16 +324 328 16 +324 329 16 +324 330 16 +324 331 16 +324 332 16 +324 333 16 +324 334 16 +324 335 16 +324 336 16 +324 337 16 +324 338 16 +324 339 16 +324 340 16 +324 341 16 +324 342 16 +324 343 16 +324 344 16 +324 345 16 +324 346 16 +324 347 16 +324 348 16 +324 349 16 +324 350 0 +324 351 0 +324 352 0 +324 353 0 +324 354 0 +324 355 0 +324 356 0 +324 357 0 +324 358 0 +324 359 0 +324 360 0 +324 361 0 +324 362 0 +324 363 0 +324 364 0 +324 365 0 +324 366 0 +324 367 0 +324 368 0 +324 369 0 +324 370 0 +324 371 0 +324 372 0 +324 373 0 +324 374 0 +324 375 0 +324 376 0 +324 377 0 +324 378 0 +324 379 0 +324 380 0 +324 381 0 +324 382 0 +324 383 0 +325 326 16 +325 327 16 +325 328 16 +325 329 16 +325 330 16 +325 331 16 +325 332 16 +325 333 16 +325 334 16 +325 335 16 +325 336 16 +325 337 16 +325 338 16 +325 339 16 +325 340 16 +325 341 16 +325 342 16 +325 343 16 +325 344 16 +325 345 16 +325 346 16 +325 347 16 +325 348 16 +325 349 16 +325 350 0 +325 351 0 +325 352 0 +325 353 0 +325 354 0 +325 355 0 +325 356 0 +325 357 0 +325 358 0 +325 359 0 +325 360 0 +325 361 0 +325 362 0 +325 363 0 +325 364 0 +325 365 0 +325 366 0 +325 367 0 +325 368 0 +325 369 0 +325 370 0 +325 371 0 +325 372 0 +325 373 0 +325 374 0 +325 375 0 +325 376 0 +325 377 0 +325 378 0 +325 379 0 +325 380 0 +325 381 0 +325 382 0 +325 383 0 +326 327 16 +326 328 16 +326 329 16 +326 330 16 +326 331 16 +326 332 16 +326 333 16 +326 334 16 +326 335 16 +326 336 16 +326 337 16 +326 338 16 +326 339 16 +326 340 16 +326 341 16 +326 342 16 +326 343 16 +326 344 16 +326 345 16 +326 346 16 +326 347 16 +326 348 16 +326 349 16 +326 350 0 +326 351 0 +326 352 0 +326 353 0 +326 354 0 +326 355 0 +326 356 0 +326 357 0 +326 358 0 +326 359 0 +326 360 0 +326 361 0 +326 362 0 +326 363 0 +326 364 0 +326 365 0 +326 366 0 +326 367 0 +326 368 0 +326 369 0 +326 370 0 +326 371 0 +326 372 0 +326 373 0 +326 374 0 +326 375 0 +326 376 0 +326 377 0 +326 378 0 +326 379 0 +326 380 0 +326 381 0 +326 382 0 +326 383 0 +327 328 16 +327 329 16 +327 330 16 +327 331 16 +327 332 16 +327 333 16 +327 334 16 +327 335 16 +327 336 16 +327 337 16 +327 338 16 +327 339 16 +327 340 16 +327 341 16 +327 342 16 +327 343 16 +327 344 16 +327 345 16 +327 346 16 +327 347 16 +327 348 16 +327 349 16 +327 350 0 +327 351 0 +327 352 0 +327 353 0 +327 354 0 +327 355 0 +327 356 0 +327 357 0 +327 358 0 +327 359 0 +327 360 0 +327 361 0 +327 362 0 +327 363 0 +327 364 0 +327 365 0 +327 366 0 +327 367 0 +327 368 0 +327 369 0 +327 370 0 +327 371 0 +327 372 0 +327 373 0 +327 374 0 +327 375 0 +327 376 0 +327 377 0 +327 378 0 +327 379 0 +327 380 0 +327 381 0 +327 382 0 +327 383 0 +328 329 16 +328 330 16 +328 331 16 +328 332 16 +328 333 16 +328 334 16 +328 335 16 +328 336 16 +328 337 16 +328 338 16 +328 339 16 +328 340 16 +328 341 16 +328 342 16 +328 343 16 +328 344 16 +328 345 16 +328 346 16 +328 347 16 +328 348 16 +328 349 16 +328 350 0 +328 351 0 +328 352 0 +328 353 0 +328 354 0 +328 355 0 +328 356 0 +328 357 0 +328 358 0 +328 359 0 +328 360 0 +328 361 0 +328 362 0 +328 363 0 +328 364 0 +328 365 0 +328 366 0 +328 367 0 +328 368 0 +328 369 0 +328 370 0 +328 371 0 +328 372 0 +328 373 0 +328 374 0 +328 375 0 +328 376 0 +328 377 0 +328 378 0 +328 379 0 +328 380 0 +328 381 0 +328 382 0 +328 383 0 +329 330 16 +329 331 16 +329 332 16 +329 333 16 +329 334 16 +329 335 16 +329 336 16 +329 337 16 +329 338 16 +329 339 16 +329 340 16 +329 341 16 +329 342 16 +329 343 16 +329 344 16 +329 345 16 +329 346 16 +329 347 16 +329 348 16 +329 349 16 +329 350 0 +329 351 0 +329 352 0 +329 353 0 +329 354 0 +329 355 0 +329 356 0 +329 357 0 +329 358 0 +329 359 0 +329 360 0 +329 361 0 +329 362 0 +329 363 0 +329 364 0 +329 365 0 +329 366 0 +329 367 0 +329 368 0 +329 369 0 +329 370 0 +329 371 0 +329 372 0 +329 373 0 +329 374 0 +329 375 0 +329 376 0 +329 377 0 +329 378 0 +329 379 0 +329 380 0 +329 381 0 +329 382 0 +329 383 0 +330 331 16 +330 332 16 +330 333 16 +330 334 16 +330 335 16 +330 336 16 +330 337 16 +330 338 16 +330 339 16 +330 340 16 +330 341 16 +330 342 16 +330 343 16 +330 344 16 +330 345 16 +330 346 16 +330 347 16 +330 348 16 +330 349 16 +330 350 0 +330 351 0 +330 352 0 +330 353 0 +330 354 0 +330 355 0 +330 356 0 +330 357 0 +330 358 0 +330 359 0 +330 360 0 +330 361 0 +330 362 0 +330 363 0 +330 364 0 +330 365 0 +330 366 0 +330 367 0 +330 368 0 +330 369 0 +330 370 0 +330 371 0 +330 372 0 +330 373 0 +330 374 0 +330 375 0 +330 376 0 +330 377 0 +330 378 0 +330 379 0 +330 380 0 +330 381 0 +330 382 0 +330 383 0 +331 332 16 +331 333 16 +331 334 16 +331 335 16 +331 336 16 +331 337 16 +331 338 16 +331 339 16 +331 340 16 +331 341 16 +331 342 16 +331 343 16 +331 344 16 +331 345 16 +331 346 16 +331 347 16 +331 348 16 +331 349 16 +331 350 0 +331 351 0 +331 352 0 +331 353 0 +331 354 0 +331 355 0 +331 356 0 +331 357 0 +331 358 0 +331 359 0 +331 360 0 +331 361 0 +331 362 0 +331 363 0 +331 364 0 +331 365 0 +331 366 0 +331 367 0 +331 368 0 +331 369 0 +331 370 0 +331 371 0 +331 372 0 +331 373 0 +331 374 0 +331 375 0 +331 376 0 +331 377 0 +331 378 0 +331 379 0 +331 380 0 +331 381 0 +331 382 0 +331 383 0 +332 333 16 +332 334 16 +332 335 16 +332 336 16 +332 337 16 +332 338 16 +332 339 16 +332 340 16 +332 341 16 +332 342 16 +332 343 16 +332 344 16 +332 345 16 +332 346 16 +332 347 16 +332 348 16 +332 349 16 +332 350 0 +332 351 0 +332 352 0 +332 353 0 +332 354 0 +332 355 0 +332 356 0 +332 357 0 +332 358 0 +332 359 0 +332 360 0 +332 361 0 +332 362 0 +332 363 0 +332 364 0 +332 365 0 +332 366 0 +332 367 0 +332 368 0 +332 369 0 +332 370 0 +332 371 0 +332 372 0 +332 373 0 +332 374 0 +332 375 0 +332 376 0 +332 377 0 +332 378 0 +332 379 0 +332 380 0 +332 381 0 +332 382 0 +332 383 0 +333 334 16 +333 335 16 +333 336 16 +333 337 16 +333 338 16 +333 339 16 +333 340 16 +333 341 16 +333 342 16 +333 343 16 +333 344 16 +333 345 16 +333 346 16 +333 347 16 +333 348 16 +333 349 16 +333 350 0 +333 351 0 +333 352 0 +333 353 0 +333 354 0 +333 355 0 +333 356 0 +333 357 0 +333 358 0 +333 359 0 +333 360 0 +333 361 0 +333 362 0 +333 363 0 +333 364 0 +333 365 0 +333 366 0 +333 367 0 +333 368 0 +333 369 0 +333 370 0 +333 371 0 +333 372 0 +333 373 0 +333 374 0 +333 375 0 +333 376 0 +333 377 0 +333 378 0 +333 379 0 +333 380 0 +333 381 0 +333 382 0 +333 383 0 +334 335 16 +334 336 16 +334 337 16 +334 338 16 +334 339 16 +334 340 16 +334 341 16 +334 342 16 +334 343 16 +334 344 16 +334 345 16 +334 346 16 +334 347 16 +334 348 16 +334 349 16 +334 350 0 +334 351 0 +334 352 0 +334 353 0 +334 354 0 +334 355 0 +334 356 0 +334 357 0 +334 358 0 +334 359 0 +334 360 0 +334 361 0 +334 362 0 +334 363 0 +334 364 0 +334 365 0 +334 366 0 +334 367 0 +334 368 0 +334 369 0 +334 370 0 +334 371 0 +334 372 0 +334 373 0 +334 374 0 +334 375 0 +334 376 0 +334 377 0 +334 378 0 +334 379 0 +334 380 0 +334 381 0 +334 382 0 +334 383 0 +335 336 16 +335 337 16 +335 338 16 +335 339 16 +335 340 16 +335 341 16 +335 342 16 +335 343 16 +335 344 16 +335 345 16 +335 346 16 +335 347 16 +335 348 16 +335 349 16 +335 350 0 +335 351 0 +335 352 0 +335 353 0 +335 354 0 +335 355 0 +335 356 0 +335 357 0 +335 358 0 +335 359 0 +335 360 0 +335 361 0 +335 362 0 +335 363 0 +335 364 0 +335 365 0 +335 366 0 +335 367 0 +335 368 0 +335 369 0 +335 370 0 +335 371 0 +335 372 0 +335 373 0 +335 374 0 +335 375 0 +335 376 0 +335 377 0 +335 378 0 +335 379 0 +335 380 0 +335 381 0 +335 382 0 +335 383 0 +336 337 16 +336 338 16 +336 339 16 +336 340 16 +336 341 16 +336 342 16 +336 343 16 +336 344 16 +336 345 16 +336 346 16 +336 347 16 +336 348 16 +336 349 16 +336 350 0 +336 351 0 +336 352 0 +336 353 0 +336 354 0 +336 355 0 +336 356 0 +336 357 0 +336 358 0 +336 359 0 +336 360 0 +336 361 0 +336 362 0 +336 363 0 +336 364 0 +336 365 0 +336 366 0 +336 367 0 +336 368 0 +336 369 0 +336 370 0 +336 371 0 +336 372 0 +336 373 0 +336 374 0 +336 375 0 +336 376 0 +336 377 0 +336 378 0 +336 379 0 +336 380 0 +336 381 0 +336 382 0 +336 383 0 +337 338 16 +337 339 16 +337 340 16 +337 341 16 +337 342 16 +337 343 16 +337 344 16 +337 345 16 +337 346 16 +337 347 16 +337 348 16 +337 349 16 +337 350 0 +337 351 0 +337 352 0 +337 353 0 +337 354 0 +337 355 0 +337 356 0 +337 357 0 +337 358 0 +337 359 0 +337 360 0 +337 361 0 +337 362 0 +337 363 0 +337 364 0 +337 365 0 +337 366 0 +337 367 0 +337 368 0 +337 369 0 +337 370 0 +337 371 0 +337 372 0 +337 373 0 +337 374 0 +337 375 0 +337 376 0 +337 377 0 +337 378 0 +337 379 0 +337 380 0 +337 381 0 +337 382 0 +337 383 0 +338 339 16 +338 340 16 +338 341 16 +338 342 16 +338 343 16 +338 344 16 +338 345 16 +338 346 16 +338 347 16 +338 348 16 +338 349 16 +338 350 0 +338 351 0 +338 352 0 +338 353 0 +338 354 0 +338 355 0 +338 356 0 +338 357 0 +338 358 0 +338 359 0 +338 360 0 +338 361 0 +338 362 0 +338 363 0 +338 364 0 +338 365 0 +338 366 0 +338 367 0 +338 368 0 +338 369 0 +338 370 0 +338 371 0 +338 372 0 +338 373 0 +338 374 0 +338 375 0 +338 376 0 +338 377 0 +338 378 0 +338 379 0 +338 380 0 +338 381 0 +338 382 0 +338 383 0 +339 340 16 +339 341 16 +339 342 16 +339 343 16 +339 344 16 +339 345 16 +339 346 16 +339 347 16 +339 348 16 +339 349 16 +339 350 0 +339 351 0 +339 352 0 +339 353 0 +339 354 0 +339 355 0 +339 356 0 +339 357 0 +339 358 0 +339 359 0 +339 360 0 +339 361 0 +339 362 0 +339 363 0 +339 364 0 +339 365 0 +339 366 0 +339 367 0 +339 368 0 +339 369 0 +339 370 0 +339 371 0 +339 372 0 +339 373 0 +339 374 0 +339 375 0 +339 376 0 +339 377 0 +339 378 0 +339 379 0 +339 380 0 +339 381 0 +339 382 0 +339 383 0 +340 341 16 +340 342 16 +340 343 16 +340 344 16 +340 345 16 +340 346 16 +340 347 16 +340 348 16 +340 349 16 +340 350 0 +340 351 0 +340 352 0 +340 353 0 +340 354 0 +340 355 0 +340 356 0 +340 357 0 +340 358 0 +340 359 0 +340 360 0 +340 361 0 +340 362 0 +340 363 0 +340 364 0 +340 365 0 +340 366 0 +340 367 0 +340 368 0 +340 369 0 +340 370 0 +340 371 0 +340 372 0 +340 373 0 +340 374 0 +340 375 0 +340 376 0 +340 377 0 +340 378 0 +340 379 0 +340 380 0 +340 381 0 +340 382 0 +340 383 0 +341 342 16 +341 343 16 +341 344 16 +341 345 16 +341 346 16 +341 347 16 +341 348 16 +341 349 16 +341 350 0 +341 351 0 +341 352 0 +341 353 0 +341 354 0 +341 355 0 +341 356 0 +341 357 0 +341 358 0 +341 359 0 +341 360 0 +341 361 0 +341 362 0 +341 363 0 +341 364 0 +341 365 0 +341 366 0 +341 367 0 +341 368 0 +341 369 0 +341 370 0 +341 371 0 +341 372 0 +341 373 0 +341 374 0 +341 375 0 +341 376 0 +341 377 0 +341 378 0 +341 379 0 +341 380 0 +341 381 0 +341 382 0 +341 383 0 +342 343 16 +342 344 16 +342 345 16 +342 346 16 +342 347 16 +342 348 16 +342 349 16 +342 350 0 +342 351 0 +342 352 0 +342 353 0 +342 354 0 +342 355 0 +342 356 0 +342 357 0 +342 358 0 +342 359 0 +342 360 0 +342 361 0 +342 362 0 +342 363 0 +342 364 0 +342 365 0 +342 366 0 +342 367 0 +342 368 0 +342 369 0 +342 370 0 +342 371 0 +342 372 0 +342 373 0 +342 374 0 +342 375 0 +342 376 0 +342 377 0 +342 378 0 +342 379 0 +342 380 0 +342 381 0 +342 382 0 +342 383 0 +343 344 16 +343 345 16 +343 346 16 +343 347 16 +343 348 16 +343 349 16 +343 350 0 +343 351 0 +343 352 0 +343 353 0 +343 354 0 +343 355 0 +343 356 0 +343 357 0 +343 358 0 +343 359 0 +343 360 0 +343 361 0 +343 362 0 +343 363 0 +343 364 0 +343 365 0 +343 366 0 +343 367 0 +343 368 0 +343 369 0 +343 370 0 +343 371 0 +343 372 0 +343 373 0 +343 374 0 +343 375 0 +343 376 0 +343 377 0 +343 378 0 +343 379 0 +343 380 0 +343 381 0 +343 382 0 +343 383 0 +344 345 16 +344 346 16 +344 347 16 +344 348 16 +344 349 16 +344 350 0 +344 351 0 +344 352 0 +344 353 0 +344 354 0 +344 355 0 +344 356 0 +344 357 0 +344 358 0 +344 359 0 +344 360 0 +344 361 0 +344 362 0 +344 363 0 +344 364 0 +344 365 0 +344 366 0 +344 367 0 +344 368 0 +344 369 0 +344 370 0 +344 371 0 +344 372 0 +344 373 0 +344 374 0 +344 375 0 +344 376 0 +344 377 0 +344 378 0 +344 379 0 +344 380 0 +344 381 0 +344 382 0 +344 383 0 +345 346 16 +345 347 16 +345 348 16 +345 349 16 +345 350 0 +345 351 0 +345 352 0 +345 353 0 +345 354 0 +345 355 0 +345 356 0 +345 357 0 +345 358 0 +345 359 0 +345 360 0 +345 361 0 +345 362 0 +345 363 0 +345 364 0 +345 365 0 +345 366 0 +345 367 0 +345 368 0 +345 369 0 +345 370 0 +345 371 0 +345 372 0 +345 373 0 +345 374 0 +345 375 0 +345 376 0 +345 377 0 +345 378 0 +345 379 0 +345 380 0 +345 381 0 +345 382 0 +345 383 0 +346 347 16 +346 348 16 +346 349 16 +346 350 0 +346 351 0 +346 352 0 +346 353 0 +346 354 0 +346 355 0 +346 356 0 +346 357 0 +346 358 0 +346 359 0 +346 360 0 +346 361 0 +346 362 0 +346 363 0 +346 364 0 +346 365 0 +346 366 0 +346 367 0 +346 368 0 +346 369 0 +346 370 0 +346 371 0 +346 372 0 +346 373 0 +346 374 0 +346 375 0 +346 376 0 +346 377 0 +346 378 0 +346 379 0 +346 380 0 +346 381 0 +346 382 0 +346 383 0 +347 348 16 +347 349 16 +347 350 0 +347 351 0 +347 352 0 +347 353 0 +347 354 0 +347 355 0 +347 356 0 +347 357 0 +347 358 0 +347 359 0 +347 360 0 +347 361 0 +347 362 0 +347 363 0 +347 364 0 +347 365 0 +347 366 0 +347 367 0 +347 368 0 +347 369 0 +347 370 0 +347 371 0 +347 372 0 +347 373 0 +347 374 0 +347 375 0 +347 376 0 +347 377 0 +347 378 0 +347 379 0 +347 380 0 +347 381 0 +347 382 0 +347 383 0 +348 349 16 +348 350 0 +348 351 0 +348 352 0 +348 353 0 +348 354 0 +348 355 0 +348 356 0 +348 357 0 +348 358 0 +348 359 0 +348 360 0 +348 361 0 +348 362 0 +348 363 0 +348 364 0 +348 365 0 +348 366 0 +348 367 0 +348 368 0 +348 369 0 +348 370 0 +348 371 0 +348 372 0 +348 373 0 +348 374 0 +348 375 0 +348 376 0 +348 377 0 +348 378 0 +348 379 0 +348 380 0 +348 381 0 +348 382 0 +348 383 0 +349 350 0 +349 351 0 +349 352 0 +349 353 0 +349 354 0 +349 355 0 +349 356 0 +349 357 0 +349 358 0 +349 359 0 +349 360 0 +349 361 0 +349 362 0 +349 363 0 +349 364 0 +349 365 0 +349 366 0 +349 367 0 +349 368 0 +349 369 0 +349 370 0 +349 371 0 +349 372 0 +349 373 0 +349 374 0 +349 375 0 +349 376 0 +349 377 0 +349 378 0 +349 379 0 +349 380 0 +349 381 0 +349 382 0 +349 383 0 +350 351 0 +350 352 0 +350 353 0 +350 354 0 +350 355 0 +350 356 0 +350 357 0 +350 358 0 +350 359 0 +350 360 0 +350 361 0 +350 362 0 +350 363 0 +350 364 0 +350 365 0 +350 366 0 +350 367 0 +350 368 0 +350 369 0 +350 370 0 +350 371 0 +350 372 0 +350 373 0 +350 374 0 +350 375 0 +350 376 0 +350 377 0 +350 378 0 +350 379 0 +350 380 0 +350 381 0 +350 382 0 +350 383 0 +351 352 0 +351 353 0 +351 354 0 +351 355 0 +351 356 0 +351 357 0 +351 358 0 +351 359 0 +351 360 0 +351 361 0 +351 362 0 +351 363 0 +351 364 0 +351 365 0 +351 366 0 +351 367 0 +351 368 0 +351 369 0 +351 370 0 +351 371 0 +351 372 0 +351 373 0 +351 374 0 +351 375 0 +351 376 0 +351 377 0 +351 378 0 +351 379 0 +351 380 0 +351 381 0 +351 382 0 +351 383 0 +352 353 0 +352 354 0 +352 355 0 +352 356 0 +352 357 0 +352 358 0 +352 359 0 +352 360 0 +352 361 0 +352 362 0 +352 363 0 +352 364 0 +352 365 0 +352 366 0 +352 367 0 +352 368 0 +352 369 0 +352 370 0 +352 371 0 +352 372 0 +352 373 0 +352 374 0 +352 375 0 +352 376 0 +352 377 0 +352 378 0 +352 379 0 +352 380 0 +352 381 0 +352 382 0 +352 383 0 +353 354 0 +353 355 0 +353 356 0 +353 357 0 +353 358 0 +353 359 0 +353 360 0 +353 361 0 +353 362 0 +353 363 0 +353 364 0 +353 365 0 +353 366 0 +353 367 0 +353 368 0 +353 369 0 +353 370 0 +353 371 0 +353 372 0 +353 373 0 +353 374 0 +353 375 0 +353 376 0 +353 377 0 +353 378 0 +353 379 0 +353 380 0 +353 381 0 +353 382 0 +353 383 0 +354 355 0 +354 356 0 +354 357 0 +354 358 0 +354 359 0 +354 360 0 +354 361 0 +354 362 0 +354 363 0 +354 364 0 +354 365 0 +354 366 0 +354 367 0 +354 368 0 +354 369 0 +354 370 0 +354 371 0 +354 372 0 +354 373 0 +354 374 0 +354 375 0 +354 376 0 +354 377 0 +354 378 0 +354 379 0 +354 380 0 +354 381 0 +354 382 0 +354 383 0 +355 356 0 +355 357 0 +355 358 0 +355 359 0 +355 360 0 +355 361 0 +355 362 0 +355 363 0 +355 364 0 +355 365 0 +355 366 0 +355 367 0 +355 368 0 +355 369 0 +355 370 0 +355 371 0 +355 372 0 +355 373 0 +355 374 0 +355 375 0 +355 376 0 +355 377 0 +355 378 0 +355 379 0 +355 380 0 +355 381 0 +355 382 0 +355 383 0 +356 357 0 +356 358 0 +356 359 0 +356 360 0 +356 361 0 +356 362 0 +356 363 0 +356 364 0 +356 365 0 +356 366 0 +356 367 0 +356 368 0 +356 369 0 +356 370 0 +356 371 0 +356 372 0 +356 373 0 +356 374 0 +356 375 0 +356 376 0 +356 377 0 +356 378 0 +356 379 0 +356 380 0 +356 381 0 +356 382 0 +356 383 0 +357 358 0 +357 359 0 +357 360 0 +357 361 0 +357 362 0 +357 363 0 +357 364 0 +357 365 0 +357 366 0 +357 367 0 +357 368 0 +357 369 0 +357 370 0 +357 371 0 +357 372 0 +357 373 0 +357 374 0 +357 375 0 +357 376 0 +357 377 0 +357 378 0 +357 379 0 +357 380 0 +357 381 0 +357 382 0 +357 383 0 +358 359 0 +358 360 0 +358 361 0 +358 362 0 +358 363 0 +358 364 0 +358 365 0 +358 366 0 +358 367 0 +358 368 0 +358 369 0 +358 370 0 +358 371 0 +358 372 0 +358 373 0 +358 374 0 +358 375 0 +358 376 0 +358 377 0 +358 378 0 +358 379 0 +358 380 0 +358 381 0 +358 382 0 +358 383 0 +359 360 0 +359 361 0 +359 362 0 +359 363 0 +359 364 0 +359 365 0 +359 366 0 +359 367 0 +359 368 0 +359 369 0 +359 370 0 +359 371 0 +359 372 0 +359 373 0 +359 374 0 +359 375 0 +359 376 0 +359 377 0 +359 378 0 +359 379 0 +359 380 0 +359 381 0 +359 382 0 +359 383 0 +360 361 0 +360 362 0 +360 363 0 +360 364 0 +360 365 0 +360 366 0 +360 367 0 +360 368 0 +360 369 0 +360 370 0 +360 371 0 +360 372 0 +360 373 0 +360 374 0 +360 375 0 +360 376 0 +360 377 0 +360 378 0 +360 379 0 +360 380 0 +360 381 0 +360 382 0 +360 383 0 +361 362 0 +361 363 0 +361 364 0 +361 365 0 +361 366 0 +361 367 0 +361 368 0 +361 369 0 +361 370 0 +361 371 0 +361 372 0 +361 373 0 +361 374 0 +361 375 0 +361 376 0 +361 377 0 +361 378 0 +361 379 0 +361 380 0 +361 381 0 +361 382 0 +361 383 0 +362 363 0 +362 364 0 +362 365 0 +362 366 0 +362 367 0 +362 368 0 +362 369 0 +362 370 0 +362 371 0 +362 372 0 +362 373 0 +362 374 0 +362 375 0 +362 376 0 +362 377 0 +362 378 0 +362 379 0 +362 380 0 +362 381 0 +362 382 0 +362 383 0 +363 364 0 +363 365 0 +363 366 0 +363 367 0 +363 368 0 +363 369 0 +363 370 0 +363 371 0 +363 372 0 +363 373 0 +363 374 0 +363 375 0 +363 376 0 +363 377 0 +363 378 0 +363 379 0 +363 380 0 +363 381 0 +363 382 0 +363 383 0 +364 365 0 +364 366 0 +364 367 0 +364 368 0 +364 369 0 +364 370 0 +364 371 0 +364 372 0 +364 373 0 +364 374 0 +364 375 0 +364 376 0 +364 377 0 +364 378 0 +364 379 0 +364 380 0 +364 381 0 +364 382 0 +364 383 0 +365 366 0 +365 367 0 +365 368 0 +365 369 0 +365 370 0 +365 371 0 +365 372 0 +365 373 0 +365 374 0 +365 375 0 +365 376 0 +365 377 0 +365 378 0 +365 379 0 +365 380 0 +365 381 0 +365 382 0 +365 383 0 +366 367 0 +366 368 0 +366 369 0 +366 370 0 +366 371 0 +366 372 0 +366 373 0 +366 374 0 +366 375 0 +366 376 0 +366 377 0 +366 378 0 +366 379 0 +366 380 0 +366 381 0 +366 382 0 +366 383 0 +367 368 0 +367 369 0 +367 370 0 +367 371 0 +367 372 0 +367 373 0 +367 374 0 +367 375 0 +367 376 0 +367 377 0 +367 378 0 +367 379 0 +367 380 0 +367 381 0 +367 382 0 +367 383 0 +368 369 0 +368 370 0 +368 371 0 +368 372 0 +368 373 0 +368 374 0 +368 375 0 +368 376 0 +368 377 0 +368 378 0 +368 379 0 +368 380 0 +368 381 0 +368 382 0 +368 383 0 +369 370 0 +369 371 0 +369 372 0 +369 373 0 +369 374 0 +369 375 0 +369 376 0 +369 377 0 +369 378 0 +369 379 0 +369 380 0 +369 381 0 +369 382 0 +369 383 0 +370 371 0 +370 372 0 +370 373 0 +370 374 0 +370 375 0 +370 376 0 +370 377 0 +370 378 0 +370 379 0 +370 380 0 +370 381 0 +370 382 0 +370 383 0 +371 372 0 +371 373 0 +371 374 0 +371 375 0 +371 376 0 +371 377 0 +371 378 0 +371 379 0 +371 380 0 +371 381 0 +371 382 0 +371 383 0 +372 373 0 +372 374 0 +372 375 0 +372 376 0 +372 377 0 +372 378 0 +372 379 0 +372 380 0 +372 381 0 +372 382 0 +372 383 0 +373 374 0 +373 375 0 +373 376 0 +373 377 0 +373 378 0 +373 379 0 +373 380 0 +373 381 0 +373 382 0 +373 383 0 +374 375 0 +374 376 0 +374 377 0 +374 378 0 +374 379 0 +374 380 0 +374 381 0 +374 382 0 +374 383 0 +375 376 0 +375 377 0 +375 378 0 +375 379 0 +375 380 0 +375 381 0 +375 382 0 +375 383 0 +376 377 0 +376 378 0 +376 379 0 +376 380 0 +376 381 0 +376 382 0 +376 383 0 +377 378 0 +377 379 0 +377 380 0 +377 381 0 +377 382 0 +377 383 0 +378 379 0 +378 380 0 +378 381 0 +378 382 0 +378 383 0 +379 380 0 +379 381 0 +379 382 0 +379 383 0 +380 381 0 +380 382 0 +380 383 0 +381 382 0 +381 383 0 +382 383 0 From 58f7de1816258a19bf405b2a37ffbccca487e369 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:39:37 -0700 Subject: [PATCH 228/420] read contents of cathcer uvh5 files and check test vector content --- src/scripts/hera_catcher_test_read_uvh5.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/scripts/hera_catcher_test_read_uvh5.py diff --git a/src/scripts/hera_catcher_test_read_uvh5.py b/src/scripts/hera_catcher_test_read_uvh5.py new file mode 100644 index 00000000..9c4c7600 --- /dev/null +++ b/src/scripts/hera_catcher_test_read_uvh5.py @@ -0,0 +1,14 @@ +import numpy as np +import matplotlib.pyplot as plt +import h5py +import argparse + +parser = argparse.ArgumentParser(description='Read uvh5 files written out by the BDA catcher hashpipe pipeline and plot data', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) +parser.add_argument('fname', type=str, help='uvh5 file to read') +args = parser.parse_args() + +fp = h5py.File(args.fname,'r') +data = fp['Data']['visdata'].value + + From 7be72c59ada7b4ed6b6a617b81b2a33a6aead53b Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:40:56 -0700 Subject: [PATCH 229/420] update redis to trigger data taking etc in test mode --- src/scripts/hera_catcher_test_redis_values.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/scripts/hera_catcher_test_redis_values.py diff --git a/src/scripts/hera_catcher_test_redis_values.py b/src/scripts/hera_catcher_test_redis_values.py new file mode 100644 index 00000000..b9f6d6bb --- /dev/null +++ b/src/scripts/hera_catcher_test_redis_values.py @@ -0,0 +1,40 @@ +import numpy as np +import redis +import time + +r = redis.Redis("redishost") + +hdf5template = '/home/deepthi/paper_gpu/src/hdf5header_template.txt' +configfile = '/home/deepthi/paper_gpu/src/scripts/bda_config_16ants_nobda.txt' +synctime = time.time() +inttime = 64*2048 +nfiles = 2 +trigger = 1 + +pubchan = 'hashpipe://px1/0/set' + +r.publish(pubchan, 'HDF5TPLT=%s' % hdf5template) +r.publish(pubchan, 'SYNCTIME=%d' % int(synctime)) +r.publish(pubchan, 'INTTIME=%d' % inttime) +r.publish(pubchan, 'NFILES=%d' % nfiles) +r.publish(pubchan, 'DISKMING=9999'); +r.publish(pubchan, 'BDACONFIG=%s' % configfile.split('/')[-1]) + +r.hset('hashpipe_bda','config', configfile) + +baselines = {} +for n in range(4): + baselines[n] = [] + +bdaconfig = np.loadtxt(configfile, dtype=np.int) +for i,t in enumerate(bdaconfig[:,2]): + if (t==0): continue + n = int(np.log(t)/np.log(2)) + if (n==4): n = 3 + baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) + +for i in range(4): + r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) + +time.sleep(0.1) +r.publish(pubchan, 'TRIGGER=%d' % trigger) From 02d44425433900c93afc786ad9b4c0f8496b7ace Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Wed, 10 Jul 2019 09:44:23 -0700 Subject: [PATCH 230/420] Free databufs ... ... thread to terminate a hashpipeline for testing. Takes the last databuf available and sets it free for the pipeline to continue. --- src/hera_null_thread.c | 84 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/hera_null_thread.c diff --git a/src/hera_null_thread.c b/src/hera_null_thread.c new file mode 100644 index 00000000..cc74af41 --- /dev/null +++ b/src/hera_null_thread.c @@ -0,0 +1,84 @@ +/* Take the input databuf that becomes + * available and set it to free. This + * thread serves as the end thread for + * checking a pipeline until that point. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hashpipe.h" +#include "paper_databuf.h" + +static void *run(hashpipe_thread_args_t * args){ + // Local aliases to shorten access to args fields + // Our input buffer is a hera_catcher_input_databuf + hera_catcher_input_databuf_t *db_in = (hera_catcher_input_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + int block_idx = 0; + uint32_t bcnt; + int rv; + + while(run_threads()){ + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "NULLBLKIN", block_idx); + hputs(st.buf, status_key, "waiting"); + hputi8(st.buf, "NULLBCNT", bcnt); + hashpipe_status_unlock_safe(&st); + + /* Wait for new block to become available */ + while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, block_idx)) != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked_in"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } + + bcnt = db_in->block[block_idx].header.bcnt[0]; + + hashpipe_status_lock_safe(&st); + hputi8(st.buf, "NULLBCNT", bcnt); + hashpipe_status_unlock_safe(&st); + + // Mark input block as free and advance + if(hera_catcher_input_databuf_set_free(db_in, block_idx) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", block_idx); + pthread_exit(NULL); + } + block_idx = (block_idx + 1) % CATCHER_N_BLOCKS; + sleep(1); + + /* Check for cancel */ + pthread_testcancel(); + } + return NULL; +} + +hashpipe_thread_desc_t hera_null_thread = { + name: "hera_null_thread", + skey: "NULLSTAT", + init: NULL, + run: run, + ibuf_desc: {hera_catcher_input_databuf_create}, + obuf_desc: {NULL} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&hera_null_thread); +} From 0037cef638dc8b88de7f080d110cb332297b00a5 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 11 Jul 2019 04:54:58 +0000 Subject: [PATCH 231/420] change redis database to hera-sn1, added data stat init vars --- src/scripts/hera_catcher_test_redis_values.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/scripts/hera_catcher_test_redis_values.py b/src/scripts/hera_catcher_test_redis_values.py index b9f6d6bb..087dddfa 100644 --- a/src/scripts/hera_catcher_test_redis_values.py +++ b/src/scripts/hera_catcher_test_redis_values.py @@ -4,21 +4,21 @@ r = redis.Redis("redishost") -hdf5template = '/home/deepthi/paper_gpu/src/hdf5header_template.txt' -configfile = '/home/deepthi/paper_gpu/src/scripts/bda_config_16ants_nobda.txt' +hdf5template = '/tmp/template.h5' +configfile = '/tmp/config.txt' synctime = time.time() inttime = 64*2048 nfiles = 2 trigger = 1 -pubchan = 'hashpipe://px1/0/set' +pubchan = 'hashpipe://hera-sn1.corr.hera.pvt/0/set' r.publish(pubchan, 'HDF5TPLT=%s' % hdf5template) r.publish(pubchan, 'SYNCTIME=%d' % int(synctime)) r.publish(pubchan, 'INTTIME=%d' % inttime) r.publish(pubchan, 'NFILES=%d' % nfiles) r.publish(pubchan, 'DISKMING=9999'); -r.publish(pubchan, 'BDACONFIG=%s' % configfile.split('/')[-1]) +r.publish(pubchan, 'BDACONF=%s' % configfile) r.hset('hashpipe_bda','config', configfile) @@ -38,3 +38,12 @@ time.sleep(0.1) r.publish(pubchan, 'TRIGGER=%d' % trigger) + +for v in ['NETWAT', 'NETREC', 'NETPRC']: + r.publish(pubchan, '%sMN=99999' % (v)) + r.publish(pubchan, '%sMX=0' % (v)) + +r.publish(pubchan, 'NETDRPTL=0') + +# Release nethread hold +r.publish(pubchan, 'CNETHOLD=0') From 332a65ae2dd005b3bcc380f5acfc74b4c77570e2 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 11 Jul 2019 04:56:01 +0000 Subject: [PATCH 232/420] corrected flag convention --- src/hera_catcher_net_thread_bda_v2.c | 30 ++++++++++++++++------------ 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/hera_catcher_net_thread_bda_v2.c b/src/hera_catcher_net_thread_bda_v2.c index 848b7d35..97f5cc1e 100644 --- a/src/hera_catcher_net_thread_bda_v2.c +++ b/src/hera_catcher_net_thread_bda_v2.c @@ -103,7 +103,7 @@ static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_heade /* Set hashpipe block to filled */ // This sets the "current" block to be marked as filled. // Returns bcnt of the block being marked filled. -static uint64_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t *binfo){ +static uint32_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t *binfo){ static int last_filled = -1; uint64_t block_missed_pkt_cnt; @@ -190,7 +190,14 @@ static inline void initialize_block_info(block_info_t * binfo){ // Any return value other than -1 will be stored in the status memory as // NETMCNT, so it is important that values other than -1 are returned rarely // (i.e. when marking a block as filled)!!! -static inline uint64_t process_packet( + +//static inline uint32_t process_packet( +// hera_catcher_input_databuf_t *db, unsigned char *p_frame){ +// uint32_t netbcnt = 32; +// return netbcnt; +//} + +static inline uint32_t process_packet( hera_catcher_input_databuf_t *db, unsigned char *p_frame){ static block_info_t binfo; @@ -245,15 +252,13 @@ static inline uint64_t process_packet( if ((pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK) || (binfo.block_packet_counter[binfo.block_i] == PACKETS_PER_BLOCK)){ netbcnt = set_block_filled(db, &binfo); - - // Print fprintf(stderr,"Filled Block: %d with bcnt: %d\n", binfo.block_i, netbcnt); // Update binfo cur_bcnt += BASELINES_PER_BLOCK; binfo.bcnt_start += BASELINES_PER_BLOCK; binfo.block_packet_counter[binfo.block_i] = 0; - memset(binfo.flags[binfo.block_i], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.flags[binfo.block_i], 1, PACKETS_PER_BLOCK*sizeof(char)); memset(binfo.baselines[binfo.block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); binfo.block_i = (binfo.block_i+1) % CATCHER_N_BLOCKS; @@ -306,20 +311,18 @@ static inline uint64_t process_packet( binfo.baselines[pkt_block_i][b] = 1; } // Update binfo - binfo.flags[pkt_block_i][pkt_offset] = 1; + binfo.flags[pkt_block_i][pkt_offset] = 0; binfo.block_packet_counter[pkt_block_i]++; // Check for duplicate packets if(binfo.flags[pkt_block_i][pkt_offset]){ // This slot is already filled - //fprintf(stderr, "Packet repeated!!\n"); + fprintf(stderr, "Packet repeated!!\n"); binfo.out_of_seq_cnt++; return -1; } - - return netbcnt; + return netbcnt; } - // Else, if the packet is late, but not too late (so we can handle catcher being // restarted and bcnt rollover), then ignore it else if(pkt_bcnt_dist < 0 && pkt_bcnt_dist > -LATE_PKT_BCNT_THRESHOLD) { @@ -441,7 +444,7 @@ static void *run(hashpipe_thread_args_t * args){ st_p = &st; // allow global (this source file) access to the status buffer // Flag that holds off the net thread - int holdoff = 0; + int holdoff = 1; // Force ourself into the hold off state //fprintf(stderr, "Setting CNETHOLD state to 1.Waiting for someone to set it to 0\n"); @@ -558,7 +561,7 @@ static void *run(hashpipe_thread_args_t * args){ if (expected_packet_size != packet_size) { // Log warning and ignore wrongly sized packet #ifdef DEBUG_NET - hashpipe_warn("hera_pktsock_thread", "Invalid pkt size (%d)", packet_size); + hashpipe_warn(__FUNCTION__, "Invalid pkt size (%d)", packet_size); #endif hashpipe_pktsock_release_frame(p_frame); continue; @@ -567,7 +570,8 @@ static void *run(hashpipe_thread_args_t * args){ packet_count++; // Copy packet into any blocks where it belongs. - const uint64_t bcnt = process_packet((hera_catcher_input_databuf_t *)db, p_frame); + uint32_t bcnt = process_packet((hera_catcher_input_databuf_t *)db, p_frame); + // Release frame back to kernel hashpipe_pktsock_release_frame(p_frame); From c90e0525ceaf3d64129bba2f2ba7a77d6e9eac3e Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 11 Jul 2019 04:57:25 +0000 Subject: [PATCH 233/420] Write entire block... ... writing a single bcnt is too slow. Writing the entire net thread block in one go unless a file boundary is encountered. --- src/hera_catcher_disk_thread_v2.c | 413 +++++++++++++++++------------- 1 file changed, 233 insertions(+), 180 deletions(-) diff --git a/src/hera_catcher_disk_thread_v2.c b/src/hera_catcher_disk_thread_v2.c index d6f1c3a9..a2c2b7b5 100644 --- a/src/hera_catcher_disk_thread_v2.c +++ b/src/hera_catcher_disk_thread_v2.c @@ -47,7 +47,7 @@ static hid_t complex_id; static hid_t boolenumtype; //static hid_t boolean_id; -static uint64_t total_baselines; +static uint64_t bcnts_per_file; typedef enum { FALSE, @@ -134,7 +134,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) # define FILTER_H5_BITSHUFFLE 32008 static void init_data_dataset(hdf5_id_t *id){ - hsize_t data_dims[N_DATA_DIMS] = {total_baselines, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t data_dims[N_DATA_DIMS] = {bcnts_per_file, 1, N_CHAN_PROCESSED, N_STOKES}; hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, data_dims, NULL); @@ -207,7 +207,7 @@ static void init_data_dataset(hdf5_id_t *id){ #define DIM1 1 #define DIM2 2 static void init_headers_dataset(hdf5_id_t *id) { - hsize_t dims1[DIM1] = {total_baselines}; + hsize_t dims1[DIM1] = {bcnts_per_file}; hsize_t chunk_dims1[DIM1] = {1}; hid_t file_space = H5Screate_simple(DIM1, dims1, NULL); @@ -251,7 +251,7 @@ static void init_headers_dataset(hdf5_id_t *id) { // TODO: uvw array can be static for a file. See if you can encode this in python. ///* And now uvw_array, which has shape Nblts x 3 */ - //hsize_t dims2[DIM2] = {total_baselines, 3}; + //hsize_t dims2[DIM2] = {bcnts_per_file, 3}; //hsize_t chunk_dims2[DIM2] = {1, 3}; //file_space = H5Screate_simple(DIM2, dims2, NULL); @@ -444,42 +444,6 @@ static void get_auto_indices(bl_t *bl_order, int32_t *auto_indices, uint32_t n_b } } -///* Given an array of baseline pairs, figure out the indices of the autocorrs */ -//static void get_auto_indices(bl_bda_t *bl_bda_order, int32_t *auto_indices, uint32_t n_blts) { -// int32_t i = 0; -// for (i=0; iheader_gid, "corr_bl_bda_order", H5P_DEFAULT); -// if (dataset_id < 0) { -// hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); -// pthread_exit(NULL); -// } -// status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_bda_order); -// if (status < 0) { -// hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); -// pthread_exit(NULL); -// } -// status = H5Dclose(dataset_id); -// if (status < 0) { -// hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); -// pthread_exit(NULL); -// } -//} - /* Read the baseline order from an HDF5 file via the Header/corr_bl_order dataset */ static void get_bl_order(hdf5_id_t *id, bl_t *bl_order) { hid_t dataset_id; @@ -533,11 +497,11 @@ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) /* * Write a bcnt to the dataset, at the right offset */ -static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hid_t mem_space, uint64_t *visdata_buf) +static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid_t mem_space, uint64_t *visdata_buf) { herr_t status; hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; - hsize_t count[N_DATA_DIMS] = {1 , 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t count[N_DATA_DIMS] = {nblts, 1, N_CHAN_PROCESSED, N_STOKES}; status = H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab for copying data"); @@ -581,9 +545,10 @@ static void write_header(hdf5_id_t *id, double *integration_time_buf, double *ti } // Get the even-sample / first-pol / first-complexity of the correlation buffer for chan `c` baseline `b` -static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, uint32_t bcnt) { +static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff) { - int chan; + // 256 bits = 4 stokes * 2 real/imag * 32 bits == 1 channel + int chan, bcnt; __m256i val_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); __m256i val_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); @@ -592,23 +557,17 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, u __m256i *out_sum256 = (__m256i *)out_sum; __m256i *out_diff256 = (__m256i *)out_diff; - fprintf(stderr,"Even: %d\t Odd: %d\t",hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0), - hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); - - in_even256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0)); - in_odd256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); + for(bcnt=0; bcnt < BASELINES_PER_BLOCK; bcnt++){ + in_even256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0)); + in_odd256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); - //fprintf(stderr, "Even Val: %lld \t Odd Val: %lld \n", *in_even256, *in_odd256); - - // 256 bits = 4 stokes * 2 real/imag * 32 bits == 1 channel - - for(chan=0; chan< N_CHAN_PROCESSED; chan++){ - val_even = _mm256_load_si256(in_even256 + chan); - val_odd = _mm256_load_si256(in_odd256 + chan); - _mm256_store_si256((out_sum256 + chan), _mm256_add_epi32(val_even, val_odd)); - _mm256_store_si256((out_diff256 + chan), _mm256_sub_epi32(val_even, val_odd)); + for(chan=0; chan< N_CHAN_PROCESSED; chan++){ + val_even = _mm256_load_si256(in_even256 + chan); + val_odd = _mm256_load_si256(in_odd256 + chan); + _mm256_store_si256((out_sum256 + chan), _mm256_add_epi32(val_even, val_odd)); + _mm256_store_si256((out_diff256 + chan), _mm256_sub_epi32(val_even, val_odd)); + } } - return; } @@ -644,12 +603,21 @@ static void *run(hashpipe_thread_args_t * args) const char * status_key = args->thread_desc->skey; // Timers for performance monitoring + struct timespec t_stop, w_start, w_stop; float gbps, min_gbps; struct timespec start, finish; - struct timespec file_start, file_finish; - struct timespec w_start, w_stop; - uint64_t w_ns; // write + clock_gettime(CLOCK_MONOTONIC, &finish); + uint64_t t_ns; + uint64_t w_ns; + uint64_t min_t_ns = 999999999; + uint64_t min_w_ns = 999999999; + uint64_t max_t_ns = 0; + uint64_t max_w_ns = 0; + uint64_t elapsed_t_ns = 0; + uint64_t elapsed_w_ns = 0; + float bl_t_ns = 0.0; + float bl_w_ns = 0.0; // Buffers for file name strings char template_fname[128]; @@ -671,7 +639,7 @@ static void *run(hashpipe_thread_args_t * args) // Variables for antenna positions and baseline orders. These should be provided // via the HDF5 header template. bl_t bl_order[VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES]; - //bl_bda_t bl_bda_order[total_baselines]; + //bl_bda_t bl_bda_order[bcnts_per_file]; int32_t auto_indices[N_ANTS]; enu_t ant_pos[N_ANTS]; @@ -713,11 +681,11 @@ static void *run(hashpipe_thread_args_t * args) hgetu8(st.buf,"NBL16SEC",&baseline_dist[3]); hashpipe_status_unlock_safe(&st); - total_baselines = 8*baseline_dist[0] + 4*baseline_dist[1] + 2*baseline_dist[2] + baseline_dist[3]; + bcnts_per_file = 8*baseline_dist[0] + 4*baseline_dist[1] + 2*baseline_dist[2] + baseline_dist[3]; fprintf(stdout,"Baseline Distribution per file:\n"); fprintf(stdout,"8 x %ld\t 4 x %ld\t 2 x %ld\t 1 x %ld\n", baseline_dist[0],baseline_dist[1],baseline_dist[2],baseline_dist[3]); - fprintf(stdout,"Total Baselines: %ld", total_baselines); + fprintf(stdout,"Total Baselines: %ld\n", bcnts_per_file); /* Loop(s) */ int32_t *db_in32; @@ -725,43 +693,44 @@ static void *run(hashpipe_thread_args_t * args) uint32_t samp; int curblock_in=0; double file_start_t, file_stop_t, file_duration; // time from bcnt - double file_time; // time from local machine int64_t file_obs_id, file_nblts=0, file_nts=0; - int32_t bcnt; int32_t curr_file_bcnt = -1; - uint32_t bctr; // bcnt variable + uint32_t strt_bcnt, stop_bcnt, break_bcnt; // bcnt variable + int b; + unsigned int nbls, block_loc; hdf5_id_t sum_file, diff_file; // aligned_alloc because we're going to use 256-bit AVX instructions - int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); - int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, BASELINES_PER_BLOCK * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, BASELINES_PER_BLOCK * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); memset(bl_buf_sum, 0, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); - double *integration_time_buf = (double *)malloc(total_baselines * sizeof(double)); - double *time_array_buf = (double *)malloc(total_baselines * sizeof(double)); - int *ant_0_array = (int *)malloc(total_baselines * sizeof(int)); - int *ant_1_array = (int *)malloc(total_baselines * sizeof(int)); - //double *uvw_array_buf = (double *)malloc(total_baselines * 3 * sizeof(double)); + double *integration_time_buf = (double *)malloc(bcnts_per_file * sizeof(double)); + double *time_array_buf = (double *)malloc(bcnts_per_file * sizeof(double)); + int *ant_0_array = (int *)malloc(bcnts_per_file * sizeof(int)); + int *ant_1_array = (int *)malloc(bcnts_per_file * sizeof(int)); + //double *uvw_array_buf = (double *)malloc(bcnts_per_file * 3 * sizeof(double)); // Allocate an array of bools for flags and n_samples - hbool_t *flags = (hbool_t *)calloc(1, total_baselines * sizeof(hbool_t)); - //uint64_t *nsamples = (uint64_t *)malloc(total_baselines * sizeof(uint64_t)); + hbool_t *flags = (hbool_t *)calloc(1, bcnts_per_file * sizeof(hbool_t)); + //uint64_t *nsamples = (uint64_t *)malloc(bcnts_per_file * sizeof(uint64_t)); + + // Define memory space of a block + hsize_t dims[DIM1] = {N_CHAN_PROCESSED * N_STOKES * BASELINES_PER_BLOCK}; + hid_t mem_space_block = H5Screate_simple(DIM1, dims, NULL); // Define the memory space used by these buffers for HDF5 access // We write 1[baseline] x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time //hsize_t dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; //hid_t mem_space_data = H5Screate_simple(N_DATA_DIMS, dims, NULL); - hsize_t dims[DIM1] = {N_CHAN_PROCESSED * N_STOKES}; - hid_t mem_space_data = H5Screate_simple(DIM1, dims, NULL); - // Memory spaces to Nblts-element header vectors //hsize_t dims1[DIM1] = {N_CHAN_PROCESSED*NSTOKES}; //hid_t mem_space_nblts = H5Screate_simple(DIM1, dims1, NULL); // Memory spaces to (Nblts x 3)-element header vectors - //hsize_t dims2[DIM2] = {total_baselines, 3}; + //hsize_t dims2[DIM2] = {bcnts_per_file, 3}; //hid_t mem_space_uvw = H5Screate_simple(DIM2, dims2, NULL); while (run_threads()) { @@ -792,6 +761,10 @@ static void *run(hashpipe_thread_args_t * args) } } + // reset elapsed time counters + elapsed_w_ns = 0.0; + elapsed_t_ns = 0.0; + // Get template filename from redis hashpipe_status_lock_safe(&st); hgets(st.buf, "HDF5TPLT", 128, template_fname); @@ -861,125 +834,205 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_unlock_safe(&st); // Start writing files! - // A file is defined as total_baselines number of bcnts. If a bcnt belonging + // A file is defined as bcnts_per_file number of bcnts. If a bcnt belonging // to a new intergation arrives, close the old file and start a new file. clock_gettime(CLOCK_MONOTONIC, &start); db_in32 = (int32_t *)db_in->block[curblock_in].data; + + // Compute the sum and diff of entire buffer + compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff); + clock_gettime(CLOCK_MONOTONIC, &t_stop); + + t_ns = ELAPSED_NS(start, t_stop); + elapsed_t_ns += t_ns; + min_t_ns = MIN(t_ns, min_t_ns); + max_t_ns = MAX(t_ns, max_t_ns); + + strt_bcnt = db_in->block[curblock_in].header.bcnt[0]; + stop_bcnt = db_in->block[curblock_in].header.bcnt[BASELINES_PER_BLOCK-1]; - // reset elapsed time counters - w_ns = 0.0; - - for(bctr = 0; bctr < BASELINES_PER_BLOCK; bctr++){ - - // Check if bcnt marks the beginning of a new file - bcnt = db_in->block[curblock_in].header.bcnt[bctr]; - if (bcnt % total_baselines == 0){ - - fprintf(stderr,"Processing bcnt: %d\n", bcnt); - - // If a file is open, finish its meta-data and close it. - if (curr_file_bcnt >= 0){ - - gps_time = mcnt2time(bcnt, sync_time); - file_stop_t = gps_time; - file_duration = file_stop_t - file_start_t; - - fprintf(stdout, "Closing datasets and files\n"); - write_header(&sum_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); - write_header(&diff_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); - close_filespaces(&sum_file); - close_filespaces(&diff_file); - close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); - close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); - file_cnt += 1; - - clock_gettime(CLOCK_MONOTONIC, &file_finish); - file_time = ELAPSED_NS(file_start, file_finish)/ 1000000000; + fprintf(stderr, "Start bcnt: %d\t Stop bcnt: %d\n", strt_bcnt, stop_bcnt); - hashpipe_status_lock_safe(&st); - hputu8(st.buf, "FILESEC", file_time); - hashpipe_status_unlock_safe(&st); - - fprintf(stderr,"Closing file %s\n", hdf5_fname); - - // If this is the last file, mark this block done and get out of the loop - if (file_cnt >= nfiles) { - fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); - pthread_exit(NULL); - } - curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; - curr_file_bcnt = -1; //So the next trigger will start a new file - break; - } - } + if (((strt_bcnt / bcnts_per_file) == (stop_bcnt / bcnts_per_file)) && + (strt_bcnt % bcnts_per_file != 0)){ + // copy contents of the entire block to file if an open file exists + fprintf(stderr, "Copying entire block\n"); - // Open a new sum and difference file - - // Init all counters to zero - clock_gettime(CLOCK_MONOTONIC, &file_start); - - file_nblts = 0; - file_nts = 0; - memset(ant_0_array, 0, total_baselines * sizeof(uint16_t)); - memset(ant_1_array, 0, total_baselines * sizeof(uint16_t)); - memset(time_array_buf, 0, total_baselines * sizeof(double)); - memset(integration_time_buf, 0, total_baselines * sizeof(double)); - - curr_file_bcnt = bcnt; - fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); - fprintf(stderr, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[bctr]); - gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); - julian_time = 2440587.5 + (gps_time / (double)(86400.0)); - file_start_t = gps_time; - file_obs_id = (int64_t)gps_time; - - sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); - start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); - - sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); - start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); - - // Get the antenna positions and baseline orders - // These are needed for populating the ant_[1|2]_array and uvw_array - get_ant_pos(&sum_file, ant_pos); - get_bl_order(&sum_file, bl_order); - //get_bl_bda_order(&sum_file, bl_bda_order); - get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); - } - - // If an open file exists, copy data to the right location if (curr_file_bcnt >= 0){ // Update time and sample counters - file_nblts += 1; - - compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff, bcnt%BASELINES_PER_BLOCK); + file_nblts += BASELINES_PER_BLOCK; clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_sum); + write_baseline_index(&sum_file, (strt_bcnt-curr_file_bcnt), BASELINES_PER_BLOCK, + mem_space_block, (uint64_t *)bl_buf_sum); //write_baseline_index(&diff_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_diff); - clock_gettime(CLOCK_MONOTONIC, &w_stop); + samp = strt_bcnt - curr_file_bcnt; - w_ns += ELAPSED_NS(w_start, w_stop); + memcpy(ant_0_array+samp, db_in->block[curblock_in].header.ant_pair_0, BASELINES_PER_BLOCK * sizeof(uint16_t)); + memcpy(ant_1_array+samp, db_in->block[curblock_in].header.ant_pair_1, BASELINES_PER_BLOCK * sizeof(uint16_t)); + memset(flags+samp, 0, BASELINES_PER_BLOCK * sizeof(hbool_t)); - samp = bcnt - curr_file_bcnt; + for(b=0; b< BASELINES_PER_BLOCK; b++){ + time_array_buf[samp+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[b], sync_time); + } - ant_0_array[samp] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr]; - ant_1_array[samp] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr]; - time_array_buf[samp] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr], sync_time); - flags[samp] = 0; + clock_gettime(CLOCK_MONOTONIC, &w_stop); - } // processed data copying - } // bctr for loop - + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_w_ns += w_ns; + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, max_w_ns); + } + }else{ + // the block has a file boundary. If there is an open file, copy the relevant part of the block + // and close the file. Open a new file for the rest of the block. + break_bcnt = (strt_bcnt / bcnts_per_file) * bcnts_per_file + strt_bcnt; + if (break_bcnt % bcnts_per_file) fprintf(stderr,"So much weirdness.\n"); + if (break_bcnt > stop_bcnt) { + fprintf(stderr,"Lots of weirdness.\n"); + break_bcnt = strt_bcnt; + } + if (curr_file_bcnt >=0){ + // copy data + fprintf(stderr, "Copying till bcnt: %d\n", break_bcnt); + + unsigned int nbls = break_bcnt - strt_bcnt; + hsize_t dims[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; + hid_t mem_space_data = H5Screate_simple(DIM1, dims, NULL); + + file_nblts += nbls; + clock_gettime(CLOCK_MONOTONIC, &w_start); + write_baseline_index(&sum_file, (strt_bcnt-curr_file_bcnt), nbls, + mem_space_data, (uint64_t *)bl_buf_sum); + write_baseline_index(&diff_file, (strt_bcnt-curr_file_bcnt), nbls, + mem_space_data, (uint64_t *)bl_buf_diff); + samp = strt_bcnt - curr_file_bcnt; + + memcpy(ant_0_array+samp, db_in->block[curblock_in].header.ant_pair_0, nbls * sizeof(uint16_t)); + memcpy(ant_1_array+samp, db_in->block[curblock_in].header.ant_pair_1, nbls * sizeof(uint16_t)); + memset(flags+samp, 0, nbls * sizeof(hbool_t)); + + for(b=0; b< nbls; b++){ + time_array_buf[samp+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[b], sync_time); + } + clock_gettime(CLOCK_MONOTONIC, &w_stop); + + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_w_ns += w_ns; + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, max_w_ns); + + // finish meta data and close the file + gps_time = mcnt2time(break_bcnt, sync_time); + file_stop_t = gps_time; + file_duration = file_stop_t - file_start_t; + + fprintf(stdout, "Closing datasets and files\n"); + write_header(&sum_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + write_header(&diff_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + close_filespaces(&sum_file); + close_filespaces(&diff_file); + close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); + close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); + file_cnt += 1; + + hashpipe_status_lock_safe(&st); + hputu8(st.buf, "FILESEC", file_duration); + hashpipe_status_unlock_safe(&st); + + fprintf(stderr,"Closing file %s\n", hdf5_fname); + + // If this is the last file, mark this block done and get out of the loop + if (file_cnt >= nfiles) { + fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + curr_file_bcnt = -1; //So the next trigger will start a new file + break; + } + } + + // Open new sum and difference files + // Init all counters to zero + file_nblts = 0; + file_nts = 0; + memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); + memset(ant_1_array, 0, bcnts_per_file * sizeof(uint16_t)); + memset(time_array_buf, 0, bcnts_per_file * sizeof(double)); + memset(integration_time_buf, 0, bcnts_per_file * sizeof(double)); + + curr_file_bcnt = break_bcnt; + block_loc = break_bcnt - strt_bcnt; + fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); + fprintf(stderr, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_loc]); + gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_loc], sync_time); + julian_time = 2440587.5 + (gps_time / (double)(86400.0)); + file_start_t = gps_time; + file_obs_id = (int64_t)gps_time; + + sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); + start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + + sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); + start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + + // Get the antenna positions and baseline orders + // These are needed for populating the ant_[1|2]_array and uvw_array + get_ant_pos(&sum_file, ant_pos); + get_bl_order(&sum_file, bl_order); + //get_bl_bda_order(&sum_file, bl_bda_order); + get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); + + // Copy data to the right location + nbls = stop_bcnt - break_bcnt; + fprintf(stderr, "Copying nbls: %d\n", nbls); + + hsize_t dims[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; + hid_t mem_space_data = H5Screate_simple(DIM1, dims, NULL); + + file_nblts += nbls; + clock_gettime(CLOCK_MONOTONIC, &w_start); + write_baseline_index(&sum_file, (break_bcnt-curr_file_bcnt), nbls, + mem_space_data, (uint64_t *)bl_buf_sum); + write_baseline_index(&diff_file, (break_bcnt-curr_file_bcnt), nbls, + mem_space_data, (uint64_t *)bl_buf_diff); + samp = break_bcnt - curr_file_bcnt; + + memcpy(ant_0_array+samp, db_in->block[curblock_in].header.ant_pair_0, nbls * sizeof(uint16_t)); + memcpy(ant_1_array+samp, db_in->block[curblock_in].header.ant_pair_1, nbls * sizeof(uint16_t)); + memset(flags+samp, 0, nbls * sizeof(hbool_t)); + + for(b=0; b< nbls; b++){ + time_array_buf[samp+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[block_loc+b], sync_time); + } + clock_gettime(CLOCK_MONOTONIC, &w_stop); + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_w_ns += w_ns; + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, max_w_ns); + } + clock_gettime(CLOCK_MONOTONIC, &finish); + + // Compute processing time for this block + bl_t_ns = (float)elapsed_t_ns / BASELINES_PER_BLOCK; + bl_w_ns = (float)elapsed_w_ns / BASELINES_PER_BLOCK; hashpipe_status_lock_safe(&st); + hputr4(st.buf, "DISKTBNS", bl_t_ns); + hputi8(st.buf, "DISKTMIN", min_t_ns); + hputi8(st.buf, "DISKTMAX", max_t_ns); + hputr4(st.buf, "DISKWBNS", bl_w_ns); + hputi8(st.buf, "DISKWMIN", min_w_ns); + hputi8(st.buf, "DISKWMAX", max_w_ns); + hputi8(st.buf, "DISKWBL", w_ns/BASELINES_PER_BLOCK); From 7e959d7f4454c451d72066d0c8bf2a9aa6013894 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Sun, 28 Jul 2019 20:19:19 -0700 Subject: [PATCH 234/420] Add function for adding files to M&C --- src/hera_catcher_disk_thread.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index eaa2b6cf..ed02678f 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -596,6 +596,18 @@ static void compute_nsamples_array(float nsamples, float *nsamples_array){ } } +/* + Add an observation to the M&C system. +*/ +static void add_mc_obs(char *fname) +{ + char cmd[256]; + fprintf(stdout, "Adding observation to M&C\n"); + // Launch (hard-coded) python script in the background and pass in filename. + sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s &", fname); + system(cmd); +} + static void compute_integration_time_array(double integration_time, double *integration_time_buf) { int i; @@ -943,6 +955,7 @@ static void *run(hashpipe_thread_args_t * args) close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); file_cnt += 1; + add_mc_obs(hdf5_fname); // If this is the last file, mark this block done and get out of the loop if (file_cnt >= nfiles) { fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); From e56c28a085188fd2d21019697e9b74b0fa5d7ee7 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Mon, 29 Jul 2019 10:49:16 -0700 Subject: [PATCH 235/420] Add function for making new sessions in the librarian --- src/hera_catcher_disk_thread.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index ed02678f..cab7c00e 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -608,6 +608,22 @@ static void add_mc_obs(char *fname) system(cmd); } +/* + Have the librarian make new sessions. +*/ +static void make_librarian_sessions(void) +{ + char cmd[256]; + fprintf(stdout, "Making new sessions in the Librarian\n"); + // Launch (hard-coded) python script in the background using fork. + // We want to wait few seconds to give M&C a chance to finish importing the final file, + // but don't want to hold up main thread execution. + sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarin_assign_sessions.py local-rtp"); + if (fork() != 0) { + system(cmd); + } +} + static void compute_integration_time_array(double integration_time, double *integration_time_buf) { int i; @@ -963,6 +979,8 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } + // Have the librarian make new sessions. + make_librarian_sessions(); curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; curr_file_time = -1; //So the next trigger will start a new file continue; From 66eec30a165f68e420b0d0e50f2c45cca03f2ee6 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Mon, 29 Jul 2019 10:53:12 -0700 Subject: [PATCH 236/420] Fix typo in script name --- src/hera_catcher_disk_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index cab7c00e..cda9ff30 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -618,7 +618,7 @@ static void make_librarian_sessions(void) // Launch (hard-coded) python script in the background using fork. // We want to wait few seconds to give M&C a chance to finish importing the final file, // but don't want to hold up main thread execution. - sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarin_assign_sessions.py local-rtp"); + sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarian_assign_sessions.py local-rtp"); if (fork() != 0) { system(cmd); } From 6b3821e6553569eba56eb8f6a45e777616ffc50a Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Mon, 29 Jul 2019 11:01:13 -0700 Subject: [PATCH 237/420] Change librarian identity --- src/hera_catcher_disk_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index cda9ff30..1267421c 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -618,7 +618,7 @@ static void make_librarian_sessions(void) // Launch (hard-coded) python script in the background using fork. // We want to wait few seconds to give M&C a chance to finish importing the final file, // but don't want to hold up main thread execution. - sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarian_assign_sessions.py local-rtp"); + sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarian_assign_sessions.py local-correlator"); if (fork() != 0) { system(cmd); } From 8674dbb0474f1be1ae3c400b3ce47db7a73dd816 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 31 Jul 2019 22:55:50 +0000 Subject: [PATCH 238/420] Exit forked threads after doing work; so something with system exit codes --- src/hera_catcher_disk_thread.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 1267421c..91a8542b 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -602,10 +602,17 @@ static void compute_nsamples_array(float nsamples, float *nsamples_array){ static void add_mc_obs(char *fname) { char cmd[256]; - fprintf(stdout, "Adding observation to M&C\n"); + int err; + fprintf(stdout, "Adding observation %s to M&C\n", fname); // Launch (hard-coded) python script in the background and pass in filename. - sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s &", fname); - system(cmd); + sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s", fname); + if (fork() != 0) { + err = system(cmd); + if (err != 0) { + fprintf(stderr, "Error adding observation %s to M&C\n", fname); + } + exit(0); + } } /* @@ -614,13 +621,18 @@ static void add_mc_obs(char *fname) static void make_librarian_sessions(void) { char cmd[256]; + int err; fprintf(stdout, "Making new sessions in the Librarian\n"); // Launch (hard-coded) python script in the background using fork. // We want to wait few seconds to give M&C a chance to finish importing the final file, // but don't want to hold up main thread execution. sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarian_assign_sessions.py local-correlator"); if (fork() != 0) { - system(cmd); + err = system(cmd); + if (err != 0) { + fprintf(stderr, "Error creating new session in the librarian\n"); + } + exit(0); } } From a5f301f9856af1f92e37b0741527e197ec0be1f6 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 1 Aug 2019 18:27:10 +0000 Subject: [PATCH 239/420] Write only 32 baselines at a time --- src/hera_catcher_disk_thread_v2.c | 458 ++++++++++++++++-------------- 1 file changed, 240 insertions(+), 218 deletions(-) diff --git a/src/hera_catcher_disk_thread_v2.c b/src/hera_catcher_disk_thread_v2.c index a2c2b7b5..15e79aad 100644 --- a/src/hera_catcher_disk_thread_v2.c +++ b/src/hera_catcher_disk_thread_v2.c @@ -499,18 +499,10 @@ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) */ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid_t mem_space, uint64_t *visdata_buf) { - herr_t status; hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; hsize_t count[N_DATA_DIMS] = {nblts, 1, N_CHAN_PROCESSED, N_STOKES}; - status = H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); - if (status < 0){ - hashpipe_error(__FUNCTION__, "Failed to select hyperslab for copying data"); - pthread_exit(NULL); - } - if (H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf) < 0){ - hashpipe_error(__FUNCTION__, "Error writing data to hyperslab in file"); - pthread_exit(NULL); - } + H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); + H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); } /* @@ -545,10 +537,10 @@ static void write_header(hdf5_id_t *id, double *integration_time_buf, double *ti } // Get the even-sample / first-pol / first-complexity of the correlation buffer for chan `c` baseline `b` -static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff) { +static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, int bl) { // 256 bits = 4 stokes * 2 real/imag * 32 bits == 1 channel - int chan, bcnt; + int chan, bcnt; __m256i val_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); __m256i val_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); @@ -557,9 +549,9 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff) { __m256i *out_sum256 = (__m256i *)out_sum; __m256i *out_diff256 = (__m256i *)out_diff; - for(bcnt=0; bcnt < BASELINES_PER_BLOCK; bcnt++){ - in_even256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 0)); - in_odd256 = (__m256i *)(in + hera_catcher_input_databuf_by_bcnt_idx32(bcnt, 1)); + for(bcnt=0; bcntthread_desc->skey; // Timers for performance monitoring - struct timespec t_stop, w_start, w_stop; + struct timespec t_start, t_stop, w_start, w_stop; float gbps, min_gbps; struct timespec start, finish; @@ -673,53 +665,41 @@ static void *run(hashpipe_thread_args_t * args) redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); redisCommand(c, "EXPIRE corr:is_taking_data 60"); - // Get baseline distribution from redis. - hashpipe_status_lock_safe(&st); - hgetu8(st.buf,"NBL2SEC", &baseline_dist[0]); - hgetu8(st.buf,"NBL4SEC", &baseline_dist[1]); - hgetu8(st.buf,"NBL8SEC", &baseline_dist[2]); - hgetu8(st.buf,"NBL16SEC",&baseline_dist[3]); - hashpipe_status_unlock_safe(&st); - - bcnts_per_file = 8*baseline_dist[0] + 4*baseline_dist[1] + 2*baseline_dist[2] + baseline_dist[3]; - fprintf(stdout,"Baseline Distribution per file:\n"); - fprintf(stdout,"8 x %ld\t 4 x %ld\t 2 x %ld\t 1 x %ld\n", - baseline_dist[0],baseline_dist[1],baseline_dist[2],baseline_dist[3]); - fprintf(stdout,"Total Baselines: %ld\n", bcnts_per_file); - /* Loop(s) */ int32_t *db_in32; int rv; - uint32_t samp; int curblock_in=0; double file_start_t, file_stop_t, file_duration; // time from bcnt int64_t file_obs_id, file_nblts=0, file_nts=0; int32_t curr_file_bcnt = -1; - uint32_t strt_bcnt, stop_bcnt, break_bcnt; // bcnt variable + uint32_t bctr, strt_bcnt, stop_bcnt, break_bcnt; // bcnt variable int b; - unsigned int nbls, block_loc; + unsigned int nbls, block_offset; + uint32_t file_offset; + herr_t status; hdf5_id_t sum_file, diff_file; // aligned_alloc because we're going to use 256-bit AVX instructions - int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, BASELINES_PER_BLOCK * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); - int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, BASELINES_PER_BLOCK * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + int32_t *bl_buf_sum = (int32_t *)aligned_alloc(32, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + int32_t *bl_buf_diff = (int32_t *)aligned_alloc(32, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); memset(bl_buf_sum, 0, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); + memset(bl_buf_diff, 0, N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); - double *integration_time_buf = (double *)malloc(bcnts_per_file * sizeof(double)); - double *time_array_buf = (double *)malloc(bcnts_per_file * sizeof(double)); - int *ant_0_array = (int *)malloc(bcnts_per_file * sizeof(int)); - int *ant_1_array = (int *)malloc(bcnts_per_file * sizeof(int)); + double *integration_time_buf = (double *)malloc(1 * sizeof(double)); + double *time_array_buf = (double *)malloc(1 * sizeof(double)); + int *ant_0_array = (int *)malloc(1 * sizeof(int)); + int *ant_1_array = (int *)malloc(1 * sizeof(int)); //double *uvw_array_buf = (double *)malloc(bcnts_per_file * 3 * sizeof(double)); // Allocate an array of bools for flags and n_samples - hbool_t *flags = (hbool_t *)calloc(1, bcnts_per_file * sizeof(hbool_t)); + hbool_t *flags = (hbool_t *)calloc(1, 1 * sizeof(hbool_t)); //uint64_t *nsamples = (uint64_t *)malloc(bcnts_per_file * sizeof(uint64_t)); // Define memory space of a block - hsize_t dims[DIM1] = {N_CHAN_PROCESSED * N_STOKES * BASELINES_PER_BLOCK}; - hid_t mem_space_block = H5Screate_simple(DIM1, dims, NULL); + hsize_t dims[DIM1] = {N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES}; + hid_t mem_space_bl_per_write = H5Screate_simple(DIM1, dims, NULL); // Define the memory space used by these buffers for HDF5 access // We write 1[baseline] x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time @@ -803,6 +783,32 @@ static void *run(hashpipe_thread_args_t * args) // exits the key will expire. redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); } + + // Get baseline distribution from redis. + hashpipe_status_lock_safe(&st); + hgetu8(st.buf,"NBL2SEC", &baseline_dist[0]); + hgetu8(st.buf,"NBL4SEC", &baseline_dist[1]); + hgetu8(st.buf,"NBL8SEC", &baseline_dist[2]); + hgetu8(st.buf,"NBL16SEC",&baseline_dist[3]); + hashpipe_status_unlock_safe(&st); + + bcnts_per_file = 8*baseline_dist[0] + 4*baseline_dist[1] + 2*baseline_dist[2] + baseline_dist[3]; + fprintf(stdout,"Baseline Distribution per file:\n"); + fprintf(stdout,"8 x %ld\t 4 x %ld\t 2 x %ld\t 1 x %ld\n", + baseline_dist[0],baseline_dist[1],baseline_dist[2],baseline_dist[3]); + fprintf(stdout,"Total Baselines: %ld\n", bcnts_per_file); + + integration_time_buf = (double *)realloc(integration_time_buf, bcnts_per_file * sizeof(double)); + time_array_buf = (double *)realloc(time_array_buf, bcnts_per_file * sizeof(double)); + ant_0_array = (int *)realloc(ant_0_array, bcnts_per_file * sizeof(int)); + ant_1_array = (int *)realloc(ant_1_array, bcnts_per_file * sizeof(int)); + //double *uvw_array_buf = (double *)malloc(bcnts_per_file * 3 * sizeof(double)); + + // Allocate an array of bools for flags and n_samples + flags = (hbool_t *)realloc(flags, bcnts_per_file * sizeof(hbool_t)); + memset(flags, 1, bcnts_per_file* sizeof(hbool_t)); + //uint64_t *nsamples = (uint64_t *)malloc(bcnts_per_file * sizeof(uint64_t)); + } else if (file_cnt >= nfiles) { // If we're transitioning to idle state // Indicate via redis that we're no longer taking data @@ -840,183 +846,199 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &start); db_in32 = (int32_t *)db_in->block[curblock_in].data; - // Compute the sum and diff of entire buffer - compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff); - clock_gettime(CLOCK_MONOTONIC, &t_stop); - - t_ns = ELAPSED_NS(start, t_stop); - elapsed_t_ns += t_ns; - min_t_ns = MIN(t_ns, min_t_ns); - max_t_ns = MAX(t_ns, max_t_ns); - - strt_bcnt = db_in->block[curblock_in].header.bcnt[0]; - stop_bcnt = db_in->block[curblock_in].header.bcnt[BASELINES_PER_BLOCK-1]; - - fprintf(stderr, "Start bcnt: %d\t Stop bcnt: %d\n", strt_bcnt, stop_bcnt); - - if (((strt_bcnt / bcnts_per_file) == (stop_bcnt / bcnts_per_file)) && - (strt_bcnt % bcnts_per_file != 0)){ - // copy contents of the entire block to file if an open file exists - fprintf(stderr, "Copying entire block\n"); - - if (curr_file_bcnt >= 0){ - - // Update time and sample counters - file_nblts += BASELINES_PER_BLOCK; - - clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, (strt_bcnt-curr_file_bcnt), BASELINES_PER_BLOCK, - mem_space_block, (uint64_t *)bl_buf_sum); - //write_baseline_index(&diff_file, (bcnt-curr_file_bcnt), mem_space_data, (uint64_t *)bl_buf_diff); - samp = strt_bcnt - curr_file_bcnt; - - memcpy(ant_0_array+samp, db_in->block[curblock_in].header.ant_pair_0, BASELINES_PER_BLOCK * sizeof(uint16_t)); - memcpy(ant_1_array+samp, db_in->block[curblock_in].header.ant_pair_1, BASELINES_PER_BLOCK * sizeof(uint16_t)); - memset(flags+samp, 0, BASELINES_PER_BLOCK * sizeof(hbool_t)); - - for(b=0; b< BASELINES_PER_BLOCK; b++){ - time_array_buf[samp+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[b], sync_time); - } - - clock_gettime(CLOCK_MONOTONIC, &w_stop); - - w_ns = ELAPSED_NS(w_start, w_stop); - elapsed_w_ns += w_ns; - min_w_ns = MIN(w_ns, min_w_ns); - max_w_ns = MAX(w_ns, max_w_ns); - } - }else{ - // the block has a file boundary. If there is an open file, copy the relevant part of the block - // and close the file. Open a new file for the rest of the block. - break_bcnt = (strt_bcnt / bcnts_per_file) * bcnts_per_file + strt_bcnt; - if (break_bcnt % bcnts_per_file) fprintf(stderr,"So much weirdness.\n"); - if (break_bcnt > stop_bcnt) { - fprintf(stderr,"Lots of weirdness.\n"); - break_bcnt = strt_bcnt; - } - if (curr_file_bcnt >=0){ - // copy data - fprintf(stderr, "Copying till bcnt: %d\n", break_bcnt); - - unsigned int nbls = break_bcnt - strt_bcnt; - hsize_t dims[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; - hid_t mem_space_data = H5Screate_simple(DIM1, dims, NULL); - - file_nblts += nbls; - clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, (strt_bcnt-curr_file_bcnt), nbls, - mem_space_data, (uint64_t *)bl_buf_sum); - write_baseline_index(&diff_file, (strt_bcnt-curr_file_bcnt), nbls, - mem_space_data, (uint64_t *)bl_buf_diff); - samp = strt_bcnt - curr_file_bcnt; - - memcpy(ant_0_array+samp, db_in->block[curblock_in].header.ant_pair_0, nbls * sizeof(uint16_t)); - memcpy(ant_1_array+samp, db_in->block[curblock_in].header.ant_pair_1, nbls * sizeof(uint16_t)); - memset(flags+samp, 0, nbls * sizeof(hbool_t)); - - for(b=0; b< nbls; b++){ - time_array_buf[samp+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[b], sync_time); - } - clock_gettime(CLOCK_MONOTONIC, &w_stop); - - w_ns = ELAPSED_NS(w_start, w_stop); - elapsed_w_ns += w_ns; - min_w_ns = MIN(w_ns, min_w_ns); - max_w_ns = MAX(w_ns, max_w_ns); - - // finish meta data and close the file - gps_time = mcnt2time(break_bcnt, sync_time); - file_stop_t = gps_time; - file_duration = file_stop_t - file_start_t; - - fprintf(stdout, "Closing datasets and files\n"); - write_header(&sum_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); - write_header(&diff_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); - close_filespaces(&sum_file); - close_filespaces(&diff_file); - close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); - close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); - file_cnt += 1; - - hashpipe_status_lock_safe(&st); - hputu8(st.buf, "FILESEC", file_duration); - hashpipe_status_unlock_safe(&st); - - fprintf(stderr,"Closing file %s\n", hdf5_fname); - - // If this is the last file, mark this block done and get out of the loop - if (file_cnt >= nfiles) { - fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + for (bctr=0 ; bctr< BASELINES_PER_BLOCK; bctr += N_BL_PER_WRITE){ + + strt_bcnt = db_in->block[curblock_in].header.bcnt[bctr]; + stop_bcnt = db_in->block[curblock_in].header.bcnt[bctr+N_BL_PER_WRITE-1]; + //fprintf(stderr, "Start bcnt: %d\t Stop bcnt: %d\n", strt_bcnt, stop_bcnt); + + clock_gettime(CLOCK_MONOTONIC, &t_start); + compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff, bctr); + clock_gettime(CLOCK_MONOTONIC, &t_stop); + + t_ns = ELAPSED_NS(t_start, t_stop); + elapsed_t_ns += t_ns; + min_t_ns = MIN(t_ns, min_t_ns); + max_t_ns = MAX(t_ns, max_t_ns); + + if (((strt_bcnt / bcnts_per_file) == (stop_bcnt / bcnts_per_file)) && + (strt_bcnt % bcnts_per_file != 0)){ + + // Copy all contents + if (curr_file_bcnt >= 0){ + + file_offset = strt_bcnt - curr_file_bcnt; + clock_gettime(CLOCK_MONOTONIC, &w_start); + write_baseline_index(&sum_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); + //write_baseline_index(&diff_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); + clock_gettime(CLOCK_MONOTONIC, &w_stop); + + for(b=0; b< N_BL_PER_WRITE; b++){ + ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; + ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; + time_array_buf[file_offset+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time); + flags[file_offset+b] = 0; + } + // Update time and sample counters + file_nblts += N_BL_PER_WRITE; + + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_w_ns += w_ns; + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, max_w_ns); + } + }else{ + // the block has a file boundary. If there is an open file, copy the relevant part of the block + // and close the file. Open a new file for the rest of the block. + + if (strt_bcnt % bcnts_per_file == 0) break_bcnt = strt_bcnt; + else break_bcnt = ((strt_bcnt / bcnts_per_file) + 1) * bcnts_per_file; + fprintf(stderr, "Breaking at bcnt: %d\n", break_bcnt); + if (break_bcnt % bcnts_per_file) fprintf(stderr,"Something is wrong\n"); + + if (curr_file_bcnt >=0){ + // copy data + nbls = break_bcnt - strt_bcnt; + //fprintf(stderr, "Copying till bcnt: %d\t Number of baselines: %d\n", break_bcnt, nbls); + if (nbls > 0){ + hsize_t start[DIM1] = {0}; + hsize_t count[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; + status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); + if (status < 0){ + hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); pthread_exit(NULL); - } - curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; - curr_file_bcnt = -1; //So the next trigger will start a new file - break; - } - } - - // Open new sum and difference files - // Init all counters to zero - file_nblts = 0; - file_nts = 0; - memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); - memset(ant_1_array, 0, bcnts_per_file * sizeof(uint16_t)); - memset(time_array_buf, 0, bcnts_per_file * sizeof(double)); - memset(integration_time_buf, 0, bcnts_per_file * sizeof(double)); - - curr_file_bcnt = break_bcnt; - block_loc = break_bcnt - strt_bcnt; - fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); - fprintf(stderr, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_loc]); - gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_loc], sync_time); - julian_time = 2440587.5 + (gps_time / (double)(86400.0)); - file_start_t = gps_time; - file_obs_id = (int64_t)gps_time; - - sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); - start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); - - sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); - start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); - - // Get the antenna positions and baseline orders - // These are needed for populating the ant_[1|2]_array and uvw_array - get_ant_pos(&sum_file, ant_pos); - get_bl_order(&sum_file, bl_order); - //get_bl_bda_order(&sum_file, bl_bda_order); - get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); + } + + file_offset = strt_bcnt - curr_file_bcnt; + clock_gettime(CLOCK_MONOTONIC, &w_start); + write_baseline_index(&sum_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); + //write_baseline_index(&diff_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); + clock_gettime(CLOCK_MONOTONIC, &w_stop); + + for(b=0; b< nbls; b++){ + ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; + ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; + time_array_buf[file_offset+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time); + flags[file_offset+b] = 0; + } + file_nblts += nbls; + + // reset selection + status = H5Sselect_all(mem_space_bl_per_write); + if (status < 0){ + hashpipe_error(__FUNCTION__, "Failed to reset selection\n"); + pthread_exit(NULL); + } + + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_w_ns += w_ns; + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, max_w_ns); + } + // finish meta data and close the file + gps_time = mcnt2time(break_bcnt, sync_time); + file_stop_t = gps_time; + file_duration = file_stop_t - file_start_t; + + fprintf(stdout, "Closing datasets and files\n"); + write_header(&sum_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + write_header(&diff_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + close_filespaces(&sum_file); + close_filespaces(&diff_file); + close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); + close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); + file_cnt += 1; + + hashpipe_status_lock_safe(&st); + hputu8(st.buf, "FILESEC", file_duration); + hashpipe_status_unlock_safe(&st); + + // If this is the last file, mark this block done and get out of the loop + if (file_cnt >= nfiles) { + fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); + if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + pthread_exit(NULL); + } + curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; + curr_file_bcnt = -1; //So the next trigger will start a new file + break; + } + } + + // Open new sum and difference files + // Init all counters to zero + file_nblts = 0; + file_nts = 0; + memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); + memset(ant_1_array, 0, bcnts_per_file * sizeof(uint16_t)); + memset(time_array_buf, 0, bcnts_per_file * sizeof(double)); + memset(integration_time_buf, 0, bcnts_per_file * sizeof(double)); + + curr_file_bcnt = break_bcnt; + block_offset = bctr + break_bcnt - strt_bcnt; + fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); + fprintf(stderr, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_offset]); + gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset], sync_time); + julian_time = 2440587.5 + (gps_time / (double)(86400.0)); + file_start_t = gps_time; + file_obs_id = (int64_t)gps_time; + + sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); + start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + + sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); + start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + + // Get the antenna positions and baseline orders + // These are needed for populating the ant_[1|2]_array and uvw_array + get_ant_pos(&sum_file, ant_pos); + get_bl_order(&sum_file, bl_order); + //get_bl_bda_order(&sum_file, bl_bda_order); + get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); - // Copy data to the right location - nbls = stop_bcnt - break_bcnt; - fprintf(stderr, "Copying nbls: %d\n", nbls); - - hsize_t dims[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; - hid_t mem_space_data = H5Screate_simple(DIM1, dims, NULL); - - file_nblts += nbls; - clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, (break_bcnt-curr_file_bcnt), nbls, - mem_space_data, (uint64_t *)bl_buf_sum); - write_baseline_index(&diff_file, (break_bcnt-curr_file_bcnt), nbls, - mem_space_data, (uint64_t *)bl_buf_diff); - samp = break_bcnt - curr_file_bcnt; - - memcpy(ant_0_array+samp, db_in->block[curblock_in].header.ant_pair_0, nbls * sizeof(uint16_t)); - memcpy(ant_1_array+samp, db_in->block[curblock_in].header.ant_pair_1, nbls * sizeof(uint16_t)); - memset(flags+samp, 0, nbls * sizeof(hbool_t)); - - for(b=0; b< nbls; b++){ - time_array_buf[samp+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[block_loc+b], sync_time); - } - clock_gettime(CLOCK_MONOTONIC, &w_stop); - w_ns = ELAPSED_NS(w_start, w_stop); - elapsed_w_ns += w_ns; - min_w_ns = MIN(w_ns, min_w_ns); - max_w_ns = MAX(w_ns, max_w_ns); + // Copy data to the right location + nbls = stop_bcnt - break_bcnt + 1; + //fprintf(stderr, "Copying nbls: %d\n", nbls); + + if (nbls > 0){ + if (nbls % N_BL_PER_WRITE){ + hsize_t start[DIM1] = {block_offset * N_CHAN_PROCESSED * N_STOKES}; + hsize_t count[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; + status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); + if (status < 0){ + hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); + pthread_exit(NULL); + } + } + file_offset = break_bcnt - curr_file_bcnt; + clock_gettime(CLOCK_MONOTONIC, &w_start); + write_baseline_index(&sum_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); + //write_baseline_index(&diff_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); + clock_gettime(CLOCK_MONOTONIC, &w_stop); + + for(b=0; b< nbls; b++){ + ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[block_offset+b]; + ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[block_offset+b]; + time_array_buf[file_offset+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset+b], sync_time); + flags[file_offset+b] = 0; + } + file_nblts += nbls; + + //reset selection + status = H5Sselect_all(mem_space_bl_per_write); + if (status < 0){ + hashpipe_error(__FUNCTION__, "Failed to reset selection\n"); + pthread_exit(NULL); + } + w_ns = ELAPSED_NS(w_start, w_stop); + elapsed_w_ns += w_ns; + min_w_ns = MIN(w_ns, min_w_ns); + max_w_ns = MAX(w_ns, max_w_ns); + } + } } clock_gettime(CLOCK_MONOTONIC, &finish); @@ -1037,7 +1059,7 @@ static void *run(hashpipe_thread_args_t * args) hputi8(st.buf, "DISKWBL", w_ns/BASELINES_PER_BLOCK); hgetr4(st.buf, "DISKMING", &min_gbps); - gbps = (float)(BASELINES_PER_BLOCK*N_CHAN_PROCESSED*N_STOKES*64L)/ELAPSED_NS(start,finish); //Gigabits / s + gbps = (float)(BASELINES_PER_BLOCK*N_CHAN_PROCESSED*N_STOKES*64L)/ELAPSED_NS(start,finish); //elapsed_w_ns; hputr4(st.buf, "DISKGBPS", gbps); hputr4(st.buf, "DUMPMS", ELAPSED_NS(start,finish) / 1000000.0); if(min_gbps == 0 || gbps < min_gbps) { From 5d4c264471404ea7934c536b0fd086abdeef10d8 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 1 Aug 2019 18:29:14 +0000 Subject: [PATCH 240/420] Put back CNETHOLD flag --- src/hera_catcher_net_thread_bda_v2.c | 44 ++++++++++++++++------------ 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/src/hera_catcher_net_thread_bda_v2.c b/src/hera_catcher_net_thread_bda_v2.c index 97f5cc1e..7056d7ee 100644 --- a/src/hera_catcher_net_thread_bda_v2.c +++ b/src/hera_catcher_net_thread_bda_v2.c @@ -206,11 +206,12 @@ static inline uint32_t process_packet( int i; const uint32_t *payload_p; uint32_t *dest_p; - uint32_t pkt_bcnt_dist; + int32_t pkt_bcnt_dist; uint32_t pkt_bcnt; uint32_t cur_bcnt; uint32_t netbcnt = -1; // Value to return if a block is filled int b, x, t, o; + int rv; uint32_t pkt_offset; // Parse packet header @@ -252,7 +253,8 @@ static inline uint32_t process_packet( if ((pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK) || (binfo.block_packet_counter[binfo.block_i] == PACKETS_PER_BLOCK)){ netbcnt = set_block_filled(db, &binfo); - fprintf(stderr,"Filled Block: %d with bcnt: %d\n", binfo.block_i, netbcnt); + fprintf(stderr,"Filled Block: %d from bcnt: %d to bcnt: %d\n", binfo.block_i, db->block[binfo.block_i].header.bcnt[0], + db->block[binfo.block_i].header.bcnt[BASELINES_PER_BLOCK-2]); // Update binfo cur_bcnt += BASELINES_PER_BLOCK; @@ -264,17 +266,21 @@ static inline uint32_t process_packet( binfo.block_i = (binfo.block_i+1) % CATCHER_N_BLOCKS; // Wait (hopefully not long!) to acquire the block after next. - if(hera_catcher_input_databuf_busywait_free(db, pkt_block_i) != HASHPIPE_OK) { - if (errno == EINTR) { - // Interrupted by signal, return -1 - hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - return -1; // We're exiting so return value is kind of moot - } + while((rv=hera_catcher_input_databuf_busywait_free(db, pkt_block_i)) != HASHPIPE_OK) { + if (rv == HASHPIPE_TIMEOUT){ + pthread_exit(NULL); + return -1; + } + if (errno == EINTR) { + // Interrupted by signal, return -1 + hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + return -1; // We're exiting so return value is kind of moot + } } // Initialize the newly acquired block @@ -285,7 +291,7 @@ static inline uint32_t process_packet( } // Evaluate the location in the buffer to which to copy the packet data - b = pkt_header.bcnt % BASELINES_PER_BLOCK; + b = (pkt_header.bcnt - cur_bcnt) % BASELINES_PER_BLOCK; x = pkt_header.xeng_id % N_XENGINES_PER_TIME; t = (pkt_header.mcnt/Nt) % TIME_DEMUX; //Nt = 2 o = pkt_header.offset; @@ -447,11 +453,11 @@ static void *run(hashpipe_thread_args_t * args){ int holdoff = 1; // Force ourself into the hold off state - //fprintf(stderr, "Setting CNETHOLD state to 1.Waiting for someone to set it to 0\n"); - //hashpipe_status_lock_safe(&st); - //hputi4(st.buf, "CNETHOLD", 1); - //hputs(st.buf, status_key, "holding"); - //hashpipe_status_unlock_safe(&st); + fprintf(stderr, "Setting CNETHOLD state to 1.Waiting for someone to set it to 0\n"); + hashpipe_status_lock_safe(&st); + hputi4(st.buf, "CNETHOLD", 1); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); while(holdoff) { sleep(1); From c86ea9e509c051e13d4d25ed08677a5ce781bf22 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 1 Aug 2019 18:30:43 +0000 Subject: [PATCH 241/420] Rename --- ...st_redis_values.py => hera_catcher_test_bda_write_to_redis.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/scripts/{hera_catcher_test_redis_values.py => hera_catcher_test_bda_write_to_redis.py} (100%) diff --git a/src/scripts/hera_catcher_test_redis_values.py b/src/scripts/hera_catcher_test_bda_write_to_redis.py similarity index 100% rename from src/scripts/hera_catcher_test_redis_values.py rename to src/scripts/hera_catcher_test_bda_write_to_redis.py From 995fd9543e579ee7926568cd297240f6c0aed32f Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 1 Aug 2019 18:32:12 +0000 Subject: [PATCH 242/420] Bring up the catcher machine with the BDA version --- src/scripts/hera_catcher_up_bda.py | 108 +++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 src/scripts/hera_catcher_up_bda.py diff --git a/src/scripts/hera_catcher_up_bda.py b/src/scripts/hera_catcher_up_bda.py new file mode 100644 index 00000000..af1cc27e --- /dev/null +++ b/src/scripts/hera_catcher_up_bda.py @@ -0,0 +1,108 @@ +import redis +import time +import argparse +import subprocess +import numpy as np + +perf_tweaker = 'tweak-perf-sn.sh' +init = 'hera_catcher_init.sh' +python_source_cmd = ['source', '~/hera-venv/bin/activate'] +template_cmd = ['hera_make_hdf5_template.py'] +config = '/home/hera/dgorthi/paper_gpu/src/bdaconfig/test_bda_192ants_nobda.txt' + +def run_on_hosts(hosts, cmd, user=None, wait=True): + if isinstance(cmd, str): + cmd = [cmd] + p = [] + for host in hosts: + if user is None: + p += [subprocess.Popen(['ssh', '%s' % (host)] + cmd)] + else: + p += [subprocess.Popen(['ssh', '%s@%s' % (user, host)] + cmd)] + if wait: + for pn in p: + pn.wait() + +parser = argparse.ArgumentParser(description='Initialize the catcher machine and start hashpipe', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + +parser.add_argument('host', type=str, help='Host to intialize') +parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') +parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', + help='Place to put HDF5 header template file') +parser.add_argument('-c', dest='bdaconfig', type=str, default='/tmp/config.h5', + help='Place to put BDA config file') +parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, + help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) + +args = parser.parse_args() + +r = redis.Redis(args.redishost) + +## Run performance tweaking script +#if args.runtweak: +# run_on_hosts([args.host], perf_tweaker, user='root', wait=True) +# +# Start Catcher +print ('Start catcher hashpipe script') +run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=False) + +# Start hashpipe<->redis gateways +print('Establish redis gateway') +cpu_mask = '0x0004' +run_on_hosts([args.host], ['taskset', cpu_mask, 'hashpipe_redis_gateway.rb', '-g', args.host, '-i', '0']) + +# Wait for the gateways to come up +time.sleep(15) + +# Generate the meta-data template +print('Create template file') +run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + [args.hdf5template], wait=True) + +# Copy config file to location request +print('Copy config file') +run_on_hosts([args.host], ['cp', config, args.bdaconfig], wait=True) + +#Configure runtime parameters +catcher_dict = { + 'HDF5TPLT' : args.hdf5template, + 'BDACONF' : args.bdaconfig, + 'NFILES' : 2, + 'SYNCTIME' : time.time(), + 'INTTIME' : 64 * 2048, + 'DISKMING' : 9999, +# 'SYNCTIME' : r['corr:feng_sync_time'], +# 'INTTIME' : r['corr:acc_len'], + 'TRIGGER' : 0, +} + +# Reset various statistics counters + +pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) +for key, val in catcher_dict.iteritems(): + r.publish(pubchan, '%s=%s' % (key, val)) +for v in ['NETWAT', 'NETREC', 'NETPRC']: + r.publish(pubchan, '%sMN=99999' % (v)) + r.publish(pubchan, '%sMX=0' % (v)) + +print('Write baseline dist to redis') +# Use the bdaconfig file to write baselines per bin +baselines = {} +for n in range(4): + baselines[n] = [] + +bdaconfig = np.loadtxt(config, dtype=np.int) +for i,t in enumerate(bdaconfig[:,2]): + if (t==0): continue + n = int(np.log(t)/np.log(2)) + if (n==4): n = 3 + baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) + +for i in range(4): + r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) + +time.sleep(0.1) + +# Release nethread hold +r.publish(pubchan, 'CNETHOLD=0') + From 5271fb07621331391d941c30fcb79868666aa3f4 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 2 Aug 2019 20:56:07 +0000 Subject: [PATCH 243/420] include bda scripts --- src/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 389cc43d..34b45cda 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -68,7 +68,8 @@ dist_bin_SCRIPTS = scripts/paper_init.sh \ scripts/xtor_down.sh \ scripts/xtor_up.py \ scripts/hera_catcher_init.sh \ - scripts/hera_catcher_up.py \ + scripts/hera_catcher_up_bda.py \ + scripts/hera_fake_bda_output.py \ scripts/hera_catcher_down.sh \ scripts/hera_catcher_take_data.py \ scripts/tweak-perf.sh \ From 3e0436430193a9765fbfbb5cb79dc6638e7be797 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 2 Aug 2019 20:57:24 +0000 Subject: [PATCH 244/420] move catcher init to catcher_up --- .../hera_catcher_test_bda_write_to_redis.py | 49 ------------------- src/scripts/hera_fake_bda_output.py | 12 +++-- src/scripts/hera_set_cnethold_trigger.py | 9 ++++ 3 files changed, 17 insertions(+), 53 deletions(-) delete mode 100644 src/scripts/hera_catcher_test_bda_write_to_redis.py mode change 100644 => 100755 src/scripts/hera_fake_bda_output.py create mode 100644 src/scripts/hera_set_cnethold_trigger.py diff --git a/src/scripts/hera_catcher_test_bda_write_to_redis.py b/src/scripts/hera_catcher_test_bda_write_to_redis.py deleted file mode 100644 index 087dddfa..00000000 --- a/src/scripts/hera_catcher_test_bda_write_to_redis.py +++ /dev/null @@ -1,49 +0,0 @@ -import numpy as np -import redis -import time - -r = redis.Redis("redishost") - -hdf5template = '/tmp/template.h5' -configfile = '/tmp/config.txt' -synctime = time.time() -inttime = 64*2048 -nfiles = 2 -trigger = 1 - -pubchan = 'hashpipe://hera-sn1.corr.hera.pvt/0/set' - -r.publish(pubchan, 'HDF5TPLT=%s' % hdf5template) -r.publish(pubchan, 'SYNCTIME=%d' % int(synctime)) -r.publish(pubchan, 'INTTIME=%d' % inttime) -r.publish(pubchan, 'NFILES=%d' % nfiles) -r.publish(pubchan, 'DISKMING=9999'); -r.publish(pubchan, 'BDACONF=%s' % configfile) - -r.hset('hashpipe_bda','config', configfile) - -baselines = {} -for n in range(4): - baselines[n] = [] - -bdaconfig = np.loadtxt(configfile, dtype=np.int) -for i,t in enumerate(bdaconfig[:,2]): - if (t==0): continue - n = int(np.log(t)/np.log(2)) - if (n==4): n = 3 - baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) - -for i in range(4): - r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) - -time.sleep(0.1) -r.publish(pubchan, 'TRIGGER=%d' % trigger) - -for v in ['NETWAT', 'NETREC', 'NETPRC']: - r.publish(pubchan, '%sMN=99999' % (v)) - r.publish(pubchan, '%sMX=0' % (v)) - -r.publish(pubchan, 'NETDRPTL=0') - -# Release nethread hold -r.publish(pubchan, 'CNETHOLD=0') diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py old mode 100644 new mode 100755 index 4cc0dcd4..8f24452d --- a/src/scripts/hera_fake_bda_output.py +++ b/src/scripts/hera_fake_bda_output.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + # Imitate 16 xengs, 2 times, all baselines # Send packets to catcher imitating the output # of all the xengs in the chain. @@ -11,7 +13,7 @@ parser = argparse.ArgumentParser(description='Generate FAKE output to test catcher pipeline with baseline dependent averaging', formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('config', type=str, help='BDA config file') -parser.add_argument('--catcher', type=str, default= '10.10.10.5', +parser.add_argument('--catcher', type=str, default = '10.80.40.251', help='IP address of the Catcher machine') args = parser.parse_args() @@ -50,6 +52,8 @@ bcnt = 0; mcnt = 0; ctr = 0; sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +sleep_time = 10e-7 + while True: ctr += 2 mcnt = int(500e6 * ctr / (2 * 8192)) @@ -62,13 +66,13 @@ b = mcnt+((xeng_id//Nx)*2) pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(1e-3) + time.sleep(sleep_time) pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(1e-3) + time.sleep(sleep_time) pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] sock.sendto(pkt, (udp_ip, udp_port)) - time.sleep(1e-3) + time.sleep(sleep_time) bcnt += 1 #def send_xeng(xeng_id): diff --git a/src/scripts/hera_set_cnethold_trigger.py b/src/scripts/hera_set_cnethold_trigger.py new file mode 100644 index 00000000..ade64edd --- /dev/null +++ b/src/scripts/hera_set_cnethold_trigger.py @@ -0,0 +1,9 @@ +import numpy as np +import redis + +r = redis.Redis('redishost') +pubchan = 'hashpipe://%s/%d/set' %('hera-sn1',0) + +# Release nethread hold +r.publish(pubchan, 'CNETHOLD=0') +r.publish(pubchan,'TRIGGER=1') From f8f1d811b188b348ac26ab5aa5cb8ccd9c2e5569 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 2 Aug 2019 20:58:44 +0000 Subject: [PATCH 245/420] move init to catcher_up --- src/scripts/hera_catcher_up_bda.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/scripts/hera_catcher_up_bda.py diff --git a/src/scripts/hera_catcher_up_bda.py b/src/scripts/hera_catcher_up_bda.py old mode 100644 new mode 100755 index af1cc27e..02a9f83b --- a/src/scripts/hera_catcher_up_bda.py +++ b/src/scripts/hera_catcher_up_bda.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + import redis import time import argparse @@ -67,7 +69,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): catcher_dict = { 'HDF5TPLT' : args.hdf5template, 'BDACONF' : args.bdaconfig, - 'NFILES' : 2, + 'NFILES' : 10, 'SYNCTIME' : time.time(), 'INTTIME' : 64 * 2048, 'DISKMING' : 9999, @@ -105,4 +107,5 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Release nethread hold r.publish(pubchan, 'CNETHOLD=0') +r.publish(pubchan, 'TRIGGER=1') From f797272ee48630af2be897e602776007577de202 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 2 Aug 2019 20:59:35 +0000 Subject: [PATCH 246/420] include config file details --- src/scripts/hera_catcher_test_read_uvh5.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_test_read_uvh5.py b/src/scripts/hera_catcher_test_read_uvh5.py index 9c4c7600..ff35ef57 100644 --- a/src/scripts/hera_catcher_test_read_uvh5.py +++ b/src/scripts/hera_catcher_test_read_uvh5.py @@ -1,6 +1,7 @@ import numpy as np -import matplotlib.pyplot as plt +#import matplotlib.pyplot as plt import h5py +import redis import argparse parser = argparse.ArgumentParser(description='Read uvh5 files written out by the BDA catcher hashpipe pipeline and plot data', @@ -11,4 +12,18 @@ fp = h5py.File(args.fname,'r') data = fp['Data']['visdata'].value +# Check time array +bdaconfig = '/tmp/config.txt' + +baselines = {} +for n in range(4): + baselines[n] = [] + +bdaconfig = np.loadtxt(configfile, dtype=np.int) +for i,t in enumerate(bdaconfig[:,2]): + if (t==0): continue + n = int(np.log(t)/np.log(2)) + if (n==4): n = 3 + baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) + From f2d3d57e4419944293e8062328a77dccd18d7ab3 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 4 Aug 2019 21:34:59 +0000 Subject: [PATCH 247/420] Change fork conditional to make child process do work --- src/hera_catcher_disk_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 91a8542b..68268c42 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -606,7 +606,7 @@ static void add_mc_obs(char *fname) fprintf(stdout, "Adding observation %s to M&C\n", fname); // Launch (hard-coded) python script in the background and pass in filename. sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s", fname); - if (fork() != 0) { + if (fork() == 0) { err = system(cmd); if (err != 0) { fprintf(stderr, "Error adding observation %s to M&C\n", fname); @@ -627,7 +627,7 @@ static void make_librarian_sessions(void) // We want to wait few seconds to give M&C a chance to finish importing the final file, // but don't want to hold up main thread execution. sprintf(cmd, "sleep 10; /home/hera/hera-venv/bin/librarian_assign_sessions.py local-correlator"); - if (fork() != 0) { + if (fork() == 0) { err = system(cmd); if (err != 0) { fprintf(stderr, "Error creating new session in the librarian\n"); From faeb4ef98710e3b0590cb20463f71cb9ed3dd4de Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Tue, 6 Aug 2019 10:31:05 -0700 Subject: [PATCH 248/420] Add redis keys for RTP file lists and processing flag --- src/hera_catcher_disk_thread.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 68268c42..882126d1 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -829,6 +829,9 @@ static void *run(hashpipe_thread_args_t * args) redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); redisCommand(c, "EXPIRE corr:is_taking_data 60"); + // Reinitialize the list of files taken this session + redisCommand(c, "DEL rtp:file_list"); + /* Loop(s) */ int32_t *db_in32; int rv; @@ -991,8 +994,10 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } - // Have the librarian make new sessions. - make_librarian_sessions(); + if (use_redis) { + // Let RTP know we have a new session available + redisCommand(c, "HMSET rtp:has_new_data state True"); + } curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; curr_file_time = -1; //So the next trigger will start a new file continue; @@ -1008,9 +1013,15 @@ static void *run(hashpipe_thread_args_t * args) sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + if (use_redis) { + redisCommand(c, "RPUSH rtp:file_list %s", hdf5_fname); + } sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + if (use_redis) { + redisCommand(c, "RPUSH rtp:file_list %s", hdf5_fname); + } // Get the antenna positions and baseline orders // These are needed for populating the ant_[1|2]_array and uvw_array get_ant_pos(&sum_file, ant_pos); From 73ffa5009669de6c0cc650e5f0b04f1777f4c9a8 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 20 Aug 2019 17:46:54 +0000 Subject: [PATCH 249/420] Set expiry timer every time is_taking_data redis key is updated --- src/hera_catcher_disk_thread.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 68268c42..541b0308 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -938,12 +938,14 @@ static void *run(hashpipe_thread_args_t * args) // Create the "corr:is_taking_data" hash. This will be set to state=False // when data taking is complete. Or if this pipeline exits the key will expire. redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); + redisCommand(c, "EXPIRE corr:is_taking_data 60"); } } else if (file_cnt >= nfiles || idle) { // If we're transitioning to idle state // Indicate via redis that we're no longer taking data if (!idle) { redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + redisCommand(c, "EXPIRE corr:is_taking_data 60"); } idle = 1; // Mark input block as free and advance From c61df829ea5e338b630379c65804a2adea3f0056 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 21 Aug 2019 01:12:30 +0000 Subject: [PATCH 250/420] Change the memspace dimensions for speedup --- src/hera_catcher_disk_thread_v2.c | 43 +++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/src/hera_catcher_disk_thread_v2.c b/src/hera_catcher_disk_thread_v2.c index 15e79aad..b39ba4f4 100644 --- a/src/hera_catcher_disk_thread_v2.c +++ b/src/hera_catcher_disk_thread_v2.c @@ -135,7 +135,7 @@ static hid_t open_hdf5_from_template(char * sourcename, char * destname) static void init_data_dataset(hdf5_id_t *id){ hsize_t data_dims[N_DATA_DIMS] = {bcnts_per_file, 1, N_CHAN_PROCESSED, N_STOKES}; - hsize_t chunk_dims[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + hsize_t chunk_dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; hid_t file_space = H5Screate_simple(N_DATA_DIMS, data_dims, NULL); @@ -698,8 +698,8 @@ static void *run(hashpipe_thread_args_t * args) //uint64_t *nsamples = (uint64_t *)malloc(bcnts_per_file * sizeof(uint64_t)); // Define memory space of a block - hsize_t dims[DIM1] = {N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES}; - hid_t mem_space_bl_per_write = H5Screate_simple(DIM1, dims, NULL); + hsize_t dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; + hid_t mem_space_bl_per_write = H5Screate_simple(N_DATA_DIMS, dims, NULL); // Define the memory space used by these buffers for HDF5 access // We write 1[baseline] x 1[spw] x N_CHAN_PROCESSED x N_STOKES at a time @@ -848,6 +848,8 @@ static void *run(hashpipe_thread_args_t * args) for (bctr=0 ; bctr< BASELINES_PER_BLOCK; bctr += N_BL_PER_WRITE){ + // We write N_BL_PER_WRITE at a time. + // these variables store the baseline numbers for the start and end of these blocks strt_bcnt = db_in->block[curblock_in].header.bcnt[bctr]; stop_bcnt = db_in->block[curblock_in].header.bcnt[bctr+N_BL_PER_WRITE-1]; //fprintf(stderr, "Start bcnt: %d\t Stop bcnt: %d\n", strt_bcnt, stop_bcnt); @@ -861,13 +863,16 @@ static void *run(hashpipe_thread_args_t * args) min_t_ns = MIN(t_ns, min_t_ns); max_t_ns = MAX(t_ns, max_t_ns); + // If the start and end of this block belong in the same file AND + // The start of this block is not the start of a new file... if (((strt_bcnt / bcnts_per_file) == (stop_bcnt / bcnts_per_file)) && (strt_bcnt % bcnts_per_file != 0)){ + // If there is a file already open... // Copy all contents if (curr_file_bcnt >= 0){ - file_offset = strt_bcnt - curr_file_bcnt; + //fprintf(stdout, "Writing to offset: %d\n", file_offset); clock_gettime(CLOCK_MONOTONIC, &w_start); write_baseline_index(&sum_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); //write_baseline_index(&diff_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); @@ -887,22 +892,32 @@ static void *run(hashpipe_thread_args_t * args) min_w_ns = MIN(w_ns, min_w_ns); max_w_ns = MAX(w_ns, max_w_ns); } - }else{ - // the block has a file boundary. If there is an open file, copy the relevant part of the block - // and close the file. Open a new file for the rest of the block. + } else { + // the block has a file boundary OR this block starts with a new file. - if (strt_bcnt % bcnts_per_file == 0) break_bcnt = strt_bcnt; - else break_bcnt = ((strt_bcnt / bcnts_per_file) + 1) * bcnts_per_file; + + // Calculate the bcnt where we need to start a new file. + // This block might start at a new file. Otherwise + // We need a new file at the next bcnts_per_file boundary. + if (strt_bcnt % bcnts_per_file == 0){ + break_bcnt = strt_bcnt; + } else { + break_bcnt = ((strt_bcnt / bcnts_per_file) + 1) * bcnts_per_file; + } fprintf(stderr, "Breaking at bcnt: %d\n", break_bcnt); - if (break_bcnt % bcnts_per_file) fprintf(stderr,"Something is wrong\n"); + if (break_bcnt % bcnts_per_file) { + fprintf(stderr,"Something is wrong\n"); + } + // If there is an open file, copy the relevant part of the block + // and close the file. Open a new file for the rest of the block. if (curr_file_bcnt >=0){ // copy data nbls = break_bcnt - strt_bcnt; //fprintf(stderr, "Copying till bcnt: %d\t Number of baselines: %d\n", break_bcnt, nbls); if (nbls > 0){ - hsize_t start[DIM1] = {0}; - hsize_t count[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; + hsize_t start[N_DATA_DIMS] = {0, 0, 0 ,0}; + hsize_t count[N_DATA_DIMS] = {nbls, 1, N_CHAN_PROCESSED, N_STOKES}; status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); @@ -1005,8 +1020,8 @@ static void *run(hashpipe_thread_args_t * args) if (nbls > 0){ if (nbls % N_BL_PER_WRITE){ - hsize_t start[DIM1] = {block_offset * N_CHAN_PROCESSED * N_STOKES}; - hsize_t count[DIM1] = {nbls * N_CHAN_PROCESSED * N_STOKES}; + hsize_t start[N_DATA_DIMS] = {block_offset, 0, 0, 0}; + hsize_t count[N_DATA_DIMS] = {nbls, 1, N_CHAN_PROCESSED, N_STOKES}; status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); From 0a0687dd9fb3f5ba0bd243e0b57148d1ef8a2e89 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 21 Aug 2019 02:43:05 +0000 Subject: [PATCH 251/420] Support redis sync time in ms Doesn't yet support non-second values, but is consistent with new F-engine syncing mechanism --- src/hera_catcher_disk_thread.c | 10 +++++----- src/scripts/hera_ctl.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 541b0308..5d032369 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -573,9 +573,9 @@ static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { /* Turn an mcnt into a UNIX time in double-precision. */ -static double mcnt2time(uint64_t mcnt, uint32_t sync_time) +static double mcnt2time(uint64_t mcnt, uint64_t sync_time_ms) { - return sync_time + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); + return (sync_time_ms / 1000.) + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); } static void compute_time_array(double time, double *time_buf) @@ -772,7 +772,7 @@ static void *run(hashpipe_thread_args_t * args) char hdf5_fname[128]; // Variables for sync time and computed gps time / JD - uint32_t sync_time = 0; + uint64_t sync_time_ms = 0; double gps_time; double julian_time; // Variables for data collection parameters @@ -904,7 +904,7 @@ static void *run(hashpipe_thread_args_t * args) hgets(st.buf, "HDF5TPLT", 128, template_fname); // Get time that F-engines were last sync'd - hgetu4(st.buf, "SYNCTIME", &sync_time); + hgetu8(st.buf, "SYNCTIME", &sync_time_ms); hgetu4(st.buf, "MSPERFIL", &ms_per_file); @@ -973,7 +973,7 @@ static void *run(hashpipe_thread_args_t * args) db_in32 = (int32_t *)db_in->block[curblock_in].data; clock_gettime(CLOCK_MONOTONIC, &start); - gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt, sync_time); + gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt, sync_time_ms); //fprintf(stdout, "Processing new block with: mcnt: %lu (gps time: %lf)\n", db_in->block[curblock_in].header.mcnt, gps_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py index 0f7b4645..f2fea947 100755 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -55,7 +55,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): if args.action == 'start': # Calculate start MCNT - mcnt_origin = int(rdb['corr:feng_sync_time']) + mcnt_origin = int(int(rdb['corr:feng_sync_time'])/1000.) time_delay = args.starttime - mcnt_origin delay_mcnts = int(time_delay * mcnts_per_second()) # round delay_mcnts down to an acceptable value From 3125ac51b778e42e1c8300c72923fcd98e1d038a Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 23 Aug 2019 14:58:27 -0700 Subject: [PATCH 252/420] Reverse compatibility with old version... ... including the non-BDA catcher threads and functions to avoid recompling between switches. --- src/Makefile.am | 26 ++-- ...ad_v2.c => hera_catcher_disk_thread_bda.c} | 26 ++-- ...bda_v2.c => hera_catcher_net_thread_bda.c} | 38 ++--- src/paper_databuf.c | 75 ++++++++++ src/paper_databuf.h | 131 ++++++++++++++---- 5 files changed, 222 insertions(+), 74 deletions(-) rename src/{hera_catcher_disk_thread_v2.c => hera_catcher_disk_thread_bda.c} (97%) rename src/{hera_catcher_net_thread_bda_v2.c => hera_catcher_net_thread_bda.c} (94%) diff --git a/src/Makefile.am b/src/Makefile.am index 34b45cda..cde3b0f7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -29,8 +29,10 @@ paper_threads = paper_fake_net_thread.c \ hera_pktsock_thread.c \ hera_fake_gpu_thread.c \ paper_crc_thread.c \ - hera_catcher_net_thread_bda_v2.c \ - hera_catcher_disk_thread_v2.c \ + hera_catcher_net_thread_bda.c \ + hera_catcher_net_thread.c \ + hera_catcher_disk_thread_bda.c \ + hera_catcher_disk_thread.c \ hera_gpu_bda_thread.c \ hera_bda_output_thread.c \ hera_null_thread.c \ @@ -63,17 +65,17 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 -lhiredis # Installed scripts -dist_bin_SCRIPTS = scripts/paper_init.sh \ - scripts/paper_crc_init.sh \ - scripts/xtor_down.sh \ - scripts/xtor_up.py \ - scripts/hera_catcher_init.sh \ - scripts/hera_catcher_up_bda.py \ - scripts/hera_fake_bda_output.py \ - scripts/hera_catcher_down.sh \ +dist_bin_SCRIPTS = scripts/paper_init.sh \ + scripts/paper_crc_init.sh \ + scripts/xtor_down.sh \ + scripts/xtor_up.py \ + scripts/hera_catcher_init.sh \ + scripts/hera_catcher_up_bda.py \ + scripts/hera_fake_bda_output.py \ + scripts/hera_catcher_down.sh \ scripts/hera_catcher_take_data.py \ - scripts/tweak-perf.sh \ - scripts/hera_ctl.py \ + scripts/tweak-perf.sh \ + scripts/hera_ctl.py \ scripts/hera_make_hdf5_template.py # Non-installed test programs diff --git a/src/hera_catcher_disk_thread_v2.c b/src/hera_catcher_disk_thread_bda.c similarity index 97% rename from src/hera_catcher_disk_thread_v2.c rename to src/hera_catcher_disk_thread_bda.c index b39ba4f4..dbc8bf52 100644 --- a/src/hera_catcher_disk_thread_v2.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1,5 +1,5 @@ /* - * hera_catcher_disk_thread.c + * hera_catcher_bda_disk_thread.c * * Writes correlated data to disk as hdf5 files. */ @@ -550,8 +550,8 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, i __m256i *out_diff256 = (__m256i *)out_diff; for(bcnt=0; bcntibuf; + // Our input buffer is a hera_catcher_bda_input_databuf + hera_catcher_bda_input_databuf_t *db_in = (hera_catcher_bda_input_databuf_t *)args->ibuf; hashpipe_status_t st = args->st; const char * status_key = args->thread_desc->skey; @@ -728,7 +728,7 @@ static void *run(hashpipe_thread_args_t * args) redisCommand(c, "EXPIRE corr:is_taking_data 60"); // Wait for new input block to be filled - while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, curblock_in)) != HASHPIPE_OK) { + while ((rv=hera_catcher_bda_input_databuf_busywait_filled(db_in, curblock_in)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "blocked_in"); @@ -817,7 +817,7 @@ static void *run(hashpipe_thread_args_t * args) } idle = 1; // Mark input block as free and advance - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + if(hera_catcher_bda_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } @@ -971,7 +971,7 @@ static void *run(hashpipe_thread_args_t * args) // If this is the last file, mark this block done and get out of the loop if (file_cnt >= nfiles) { fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + if(hera_catcher_bda_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } @@ -1083,7 +1083,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_unlock_safe(&st); // Mark input block as free and advance - if(hera_catcher_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { + if(hera_catcher_bda_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } @@ -1097,16 +1097,16 @@ static void *run(hashpipe_thread_args_t * args) return NULL; } -static hashpipe_thread_desc_t hera_catcher_disk_thread = { - name: "hera_catcher_disk_thread", +static hashpipe_thread_desc_t hera_catcher_disk_thread_bda = { + name: "hera_catcher_disk_thread_bda", skey: "DISKSTAT", init: init, run: run, - ibuf_desc: {hera_catcher_input_databuf_create}, + ibuf_desc: {hera_catcher_bda_input_databuf_create}, obuf_desc: {NULL} }; static __attribute__((constructor)) void ctor() { - register_hashpipe_thread(&hera_catcher_disk_thread); + register_hashpipe_thread(&hera_catcher_disk_thread_bda); } diff --git a/src/hera_catcher_net_thread_bda_v2.c b/src/hera_catcher_net_thread_bda.c similarity index 94% rename from src/hera_catcher_net_thread_bda_v2.c rename to src/hera_catcher_net_thread_bda.c index 7056d7ee..769a4bb1 100644 --- a/src/hera_catcher_net_thread_bda_v2.c +++ b/src/hera_catcher_net_thread_bda.c @@ -1,4 +1,4 @@ -/* hera_catcher_net_thread.c +/* hera_catcher_bda_net_thread.c * * Routine to read packets sent to the catcher from * network and put them into shared memory blocks. @@ -82,7 +82,7 @@ static inline int block_for_bcnt(uint32_t bcnt){ // Initialize a block by clearing its "good data" flag and saving the // bcnt of the first baseline in this block. The bcnt should be a multiple // of BASELINES_PER_BLOCK. -static inline void initialize_block(hera_catcher_input_databuf_t * db, uint64_t bcnt){ +static inline void initialize_block(hera_catcher_bda_input_databuf_t * db, uint64_t bcnt){ int block_i = block_for_bcnt(bcnt); db->block[block_i].header.bcnt[0] = bcnt; db->block[block_i].header.good_data = 0; @@ -103,7 +103,7 @@ static inline void get_header(unsigned char *p_frame, packet_header_t *pkt_heade /* Set hashpipe block to filled */ // This sets the "current" block to be marked as filled. // Returns bcnt of the block being marked filled. -static uint32_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t *binfo){ +static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_info_t *binfo){ static int last_filled = -1; uint64_t block_missed_pkt_cnt; @@ -129,7 +129,7 @@ static uint32_t set_block_filled(hera_catcher_input_databuf_t *db, block_info_t } // Set the block as filled - if(hera_catcher_input_databuf_set_filled(db, block_i) != HASHPIPE_OK){ + if(hera_catcher_bda_input_databuf_set_filled(db, block_i) != HASHPIPE_OK){ hashpipe_error(__FUNCTION__, "error waiting for databuf filled call"); pthread_exit(NULL); } @@ -192,13 +192,13 @@ static inline void initialize_block_info(block_info_t * binfo){ // (i.e. when marking a block as filled)!!! //static inline uint32_t process_packet( -// hera_catcher_input_databuf_t *db, unsigned char *p_frame){ +// hera_catcher_bda_input_databuf_t *db, unsigned char *p_frame){ // uint32_t netbcnt = 32; // return netbcnt; //} static inline uint32_t process_packet( - hera_catcher_input_databuf_t *db, unsigned char *p_frame){ + hera_catcher_bda_input_databuf_t *db, unsigned char *p_frame){ static block_info_t binfo; packet_header_t pkt_header; @@ -266,7 +266,7 @@ static inline uint32_t process_packet( binfo.block_i = (binfo.block_i+1) % CATCHER_N_BLOCKS; // Wait (hopefully not long!) to acquire the block after next. - while((rv=hera_catcher_input_databuf_busywait_free(db, pkt_block_i)) != HASHPIPE_OK) { + while((rv=hera_catcher_bda_input_databuf_busywait_free(db, pkt_block_i)) != HASHPIPE_OK) { if (rv == HASHPIPE_TIMEOUT){ pthread_exit(NULL); return -1; @@ -295,7 +295,7 @@ static inline uint32_t process_packet( x = pkt_header.xeng_id % N_XENGINES_PER_TIME; t = (pkt_header.mcnt/Nt) % TIME_DEMUX; //Nt = 2 o = pkt_header.offset; - pkt_offset = hera_catcher_input_databuf_pkt_offset(b, t, x, o); + pkt_offset = hera_catcher_bda_input_databuf_pkt_offset(b, t, x, o); //fprintf(stderr, "bcnt-loc:%d\txeng:%d\ttime:%d\tpktoffset:%d\n",b,x,t,o); //fprintf(stderr, "offset: %d\n", pkt_offset); @@ -334,7 +334,7 @@ static inline uint32_t process_packet( else if(pkt_bcnt_dist < 0 && pkt_bcnt_dist > -LATE_PKT_BCNT_THRESHOLD) { // Issue warning if not after a reset if (cur_bcnt >= binfo.bcnt_log_late) { - hashpipe_warn("hera_catcher_net_thread", + hashpipe_warn("hera_catcher_bda_net_thread", "Ignorning late packet (%d bcnts late)", cur_bcnt - pkt_bcnt); } @@ -344,7 +344,7 @@ static inline uint32_t process_packet( else { // If not at start-up and this is the first out of order packet, issue warning. if (cur_bcnt !=0 && binfo.out_of_seq_cnt == 0) { - hashpipe_warn("hera_catcher_net_thread", "out of seq bcnt %012lx (expected: %012lx <= bcnt < %012x)", + hashpipe_warn("hera_catcher_bda_net_thread", "out of seq bcnt %012lx (expected: %012lx <= bcnt < %012x)", pkt_bcnt, cur_bcnt, cur_bcnt+3*BASELINES_PER_BLOCK); } @@ -360,7 +360,7 @@ static inline uint32_t process_packet( binfo.block_i = block_for_bcnt(pkt_header.bcnt); binfo.bcnt_log_late = binfo.bcnt_start + BASELINES_PER_BLOCK; - hashpipe_warn("hera_catcher_net_thread", + hashpipe_warn("hera_catcher_bda_net_thread", "resetting to bcnt %012lx block %d based on packet bcnt %012lx", binfo.bcnt_start, binfo.block_i, pkt_header.bcnt); @@ -443,7 +443,7 @@ static int init(hashpipe_thread_args_t *args){ static void *run(hashpipe_thread_args_t * args){ // Local aliases to shorten access to args fields // Our output buffer happens to be a paper_input_databuf - hera_catcher_input_databuf_t *db = (hera_catcher_input_databuf_t *)args->obuf; + hera_catcher_bda_input_databuf_t *db = (hera_catcher_bda_input_databuf_t *)args->obuf; hashpipe_status_t st = args->st; const char *status_key = args->thread_desc->skey; @@ -475,7 +475,7 @@ static void *run(hashpipe_thread_args_t * args){ fprintf(stderr,"Waiting to acquire two blocks to start!\n"); // Acquire first two blocks to start - if(hera_catcher_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ + if(hera_catcher_bda_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ if (errno == EINTR){ // Interrupted by signal, return -1 hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); @@ -484,7 +484,7 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_error(__FUNCTION__, "error waiting for free databuf"); pthread_exit(NULL); } - }if(hera_catcher_input_databuf_busywait_free(db, 1) != HASHPIPE_OK){ + }if(hera_catcher_bda_input_databuf_busywait_free(db, 1) != HASHPIPE_OK){ if (errno == EINTR){ // Interrupted by signal, return -1 hashpipe_error(__FUNCTION__, "interrupted by signal waiting for free databuf"); @@ -576,7 +576,7 @@ static void *run(hashpipe_thread_args_t * args){ packet_count++; // Copy packet into any blocks where it belongs. - uint32_t bcnt = process_packet((hera_catcher_input_databuf_t *)db, p_frame); + uint32_t bcnt = process_packet((hera_catcher_bda_input_databuf_t *)db, p_frame); // Release frame back to kernel hashpipe_pktsock_release_frame(p_frame); @@ -670,18 +670,18 @@ static void *run(hashpipe_thread_args_t * args){ return NULL; } -static hashpipe_thread_desc_t hera_catcher_net_thread = { - name: "hera_catcher_net_thread", +static hashpipe_thread_desc_t hera_catcher_net_thread_bda = { + name: "hera_catcher_net_thread_bda", skey: "CNETSTAT", init: init, run: run, ibuf_desc: {NULL}, - obuf_desc: {hera_catcher_input_databuf_create} + obuf_desc: {hera_catcher_bda_input_databuf_create} }; static __attribute__((constructor)) void ctor() { - register_hashpipe_thread(&hera_catcher_net_thread); + register_hashpipe_thread(&hera_catcher_net_thread_bda); } // vi: set ts=8 sw=4 noet : diff --git a/src/paper_databuf.c b/src/paper_databuf.c index 13cece11..2f98dca6 100644 --- a/src/paper_databuf.c +++ b/src/paper_databuf.c @@ -206,6 +206,81 @@ hashpipe_databuf_t *hera_catcher_input_databuf_create(int instance_id, int datab instance_id, databuf_id, header_size, block_size, n_block); } +// BDA versions +int hera_catcher_bda_input_databuf_wait_free(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "wait free"); + rv = hashpipe_databuf_wait_free((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "got free"); + return rv; +} + +int hera_catcher_bda_input_databuf_busywait_free(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "busy-wait free"); + rv = hashpipe_databuf_busywait_free((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "busy-got free"); + return rv; +} + +int hera_catcher_bda_input_databuf_wait_filled(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "wait fill"); + rv = hashpipe_databuf_wait_filled((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "got fill"); + return rv; +} + +int hera_catcher_bda_input_databuf_busywait_filled(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "busy-wait fill"); + rv = hashpipe_databuf_busywait_filled((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "busy-got fill"); + return rv; +} + +int hera_catcher_bda_input_databuf_set_free(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + SEMLOG(d, "set free"); + return hashpipe_databuf_set_free((hashpipe_databuf_t *)d, block_id); +} + +int hera_catcher_bda_input_databuf_set_filled(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + SEMLOG(d, "set fill"); + return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); +} + +hashpipe_databuf_t *hera_catcher_bda_input_databuf_create(int instance_id, int databuf_id) +{ +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + + /* Calc databuf sizes */ + size_t header_size = sizeof(hashpipe_databuf_t) + + sizeof(hashpipe_databuf_cache_alignment); + size_t block_size = sizeof(hera_catcher_bda_input_block_t); + int n_block = CATCHER_N_BLOCKS; + //fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", + // (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + //fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, + // (uint64_t)(PACKETS_PER_BLOCK*OUTPUT_BYTES_PER_PACKET)); + + return hashpipe_databuf_create( + instance_id, databuf_id, header_size, block_size, n_block); +} + + hashpipe_databuf_t *paper_gpu_input_databuf_create(int instance_id, int databuf_id) { #ifdef DEBUG_SEMS diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 4d1973b3..16ab0272 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -298,29 +298,59 @@ typedef struct hera_bda_databuf{ * CATCHER BUFFER STRUCTURES */ -#define CATCHER_N_BLOCKS 4 -// Correlator Output parameters #define CATCHER_PORT 10000 #define OUTPUT_BYTES_PER_PACKET (4096) +#define CATCHER_N_BLOCKS 4 #define CATCHER_CHAN_SUM 1 +#define XENG_CHAN_SUM 4 +#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) +#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) +#define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) #define N_STOKES 4 -#define BASELINES_PER_BLOCK 256 //8192 -#define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 -#define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 -#define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) // 3 -#define PACKETS_PER_BLOCK (BASELINES_PER_BLOCK * TIME_DEMUX * PACKETS_PER_BASELINE) // 1572864 +typedef struct hera_catcher_input_header{ + uint64_t mcnt; + uint64_t good_data; + //uint8_t flags[VIS_MATRIX_ENTRIES*TIME_DEMUX]; +} hera_catcher_input_header_t; -#define BYTES_PER_BLOCK (PACKETS_PER_BLOCK * OUTPUT_BYTES_PER_PACKET) // 6GB +typedef uint8_t hera_catcher_input_header_cache_alignment[ + CACHE_ALIGNMENT - (sizeof(hera_catcher_input_header_t)%CACHE_ALIGNMENT) +]; -#define hera_bda_buf_data_offset(l, s, b, o) \ - ((((l)*(b)*N_CHAN_PER_X*N_STOKES)+((s)*N_CHAN_PER_X*N_STOKES)+((o)*CHAN_PER_CATCHER_PKT*N_STOKES))*2) +typedef struct hera_catcher_input_block { + hera_catcher_input_header_t header; + hera_catcher_input_header_cache_alignment padding; // Maintain cache alignment + uint64_t data[VIS_MATRIX_ENTRIES*TIME_DEMUX]; +} hera_catcher_input_block_t; +typedef struct hera_catcher_input_databuf { + hashpipe_databuf_t header; + hashpipe_databuf_cache_alignment padding; // Maintain cache alignment + hera_catcher_input_block_t block[CATCHER_N_BLOCKS]; +} hera_catcher_input_databuf_t; -//entries_per_block = (BASELINES_PER_BLOCK * N_CHAN_TOTAL * TIME_DEMUX * N_STOKES) +// Catcher input buffer has dimensions: +// n-xengines x n-baselines x nchans-per-x x time-demux x stokes x real/imag +#define hera_catcher_input_databuf_idx32(t, x, o) \ + (2L*TIME_DEMUX*(VIS_MATRIX_ENTRIES_PER_CHAN * (N_CHAN_PER_X/XENG_CHAN_SUM)*(x)) + (TIME_DEMUX*((o)>>2)) + (2*N_STOKES*(t))) +#define hera_catcher_input_databuf_by_bl_idx32(x, b) \ + (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (N_STOKES*(b)))) -// == hera_catcher_input_databuf_t == +/* + * CATCHER -- BDA + * Structures and parameters + */ + +#define BASELINES_PER_BLOCK 256 //8192 +#define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 +#define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 +#define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) // 3 +#define PACKETS_PER_BLOCK (BASELINES_PER_BLOCK * TIME_DEMUX * PACKETS_PER_BASELINE) // 1572864 +#define BYTES_PER_BLOCK (PACKETS_PER_BLOCK * OUTPUT_BYTES_PER_PACKET) // 6GB + +// == hera_catcher_bda_input_databuf_t == // // * catcher net thread output // * catcher disk thread input @@ -337,42 +367,40 @@ typedef struct hera_bda_databuf{ // s2 // s3 -#define hera_catcher_input_databuf_pkt_offset(b, t, x, o) \ +#define hera_bda_buf_data_offset(l, s, b, o) \ + ((((l)*(b)*N_CHAN_PER_X*N_STOKES)+((s)*N_CHAN_PER_X*N_STOKES)+((o)*CHAN_PER_CATCHER_PKT*N_STOKES))*2) + +#define hera_catcher_bda_input_databuf_pkt_offset(b, t, x, o) \ (((b)*TIME_DEMUX*PACKETS_PER_BASELINE) + ((t)*PACKETS_PER_BASELINE) + ((x)*PACKETS_PER_BL_PER_X) + (o)) -#define hera_catcher_input_databuf_by_bcnt_idx32(b,s) \ +#define hera_catcher_bda_input_databuf_by_bcnt_idx32(b,s) \ (((b)*TIME_DEMUX + (s))*N_CHAN_TOTAL*N_STOKES*2) -typedef struct hera_catcher_input_header{ +typedef struct hera_catcher_bda_input_header{ uint64_t good_data; uint32_t bcnt[BASELINES_PER_BLOCK]; // starting value of baseline_id for this block uint64_t mcnt[BASELINES_PER_BLOCK]; // times are diff for each baseline uint16_t ant_pair_0[BASELINES_PER_BLOCK]; // list of antennas in this block uint16_t ant_pair_1[BASELINES_PER_BLOCK]; //uint8_t flags[BASELINES_PER_BLOCK]; -} hera_catcher_input_header_t; +} hera_catcher_bda_input_header_t; -typedef uint8_t hera_catcher_input_header_cache_alignment[ - CACHE_ALIGNMENT - (sizeof(hera_catcher_input_header_t)%CACHE_ALIGNMENT) +typedef uint8_t hera_catcher_bda_input_header_cache_alignment[ + CACHE_ALIGNMENT - (sizeof(hera_catcher_bda_input_header_t)%CACHE_ALIGNMENT) ]; -typedef struct hera_catcher_input_block { - hera_catcher_input_header_t header; - hera_catcher_input_header_cache_alignment padding; // Maintain cache alignment +typedef struct hera_catcher_bda_input_block { + hera_catcher_bda_input_header_t header; + hera_catcher_bda_input_header_cache_alignment padding; // Maintain cache alignment uint32_t data[BYTES_PER_BLOCK/sizeof(uint32_t)]; -} hera_catcher_input_block_t; +} hera_catcher_bda_input_block_t; -typedef struct hera_catcher_input_databuf { +typedef struct hera_catcher_bda_input_databuf { hashpipe_databuf_t header; hashpipe_databuf_cache_alignment padding; // Maintain cache alignment - hera_catcher_input_block_t block[CATCHER_N_BLOCKS]; -} hera_catcher_input_databuf_t; + hera_catcher_bda_input_block_t block[CATCHER_N_BLOCKS]; +} hera_catcher_bda_input_databuf_t; -#define XENG_CHAN_SUM 1 -#define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) -#define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) - -//#define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) /* * INPUT BUFFER FUNCTIONS @@ -461,6 +489,49 @@ int hera_catcher_input_databuf_set_free(hera_catcher_input_databuf_t *d, int blo int hera_catcher_input_databuf_set_filled(hera_catcher_input_databuf_t *d, int block_id); +/* + * CATCHER BDA BUFFER FUNCTIONS + */ + +hashpipe_databuf_t *hera_catcher_bda_input_databuf_create(int instance_id, int databuf_id); + +static inline hera_catcher_bda_input_databuf_t *hera_catcher_bda_input_databuf_attach(int instance_id, int databuf_id) +{ + return (hera_catcher_bda_input_databuf_t *)hashpipe_databuf_attach(instance_id, databuf_id); +} + +static inline int hera_catcher_bda_input_databuf_detach(hera_catcher_bda_input_databuf_t *d) +{ + return hashpipe_databuf_detach((hashpipe_databuf_t *)d); +} + +static inline void hera_catcher_bda_input_databuf_clear(hera_catcher_bda_input_databuf_t *d) +{ + hashpipe_databuf_clear((hashpipe_databuf_t *)d); +} + +static inline int hera_catcher_bda_input_databuf_block_status(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + return hashpipe_databuf_block_status((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_catcher_bda_input_databuf_total_status(hera_catcher_bda_input_databuf_t *d) +{ + return hashpipe_databuf_total_status((hashpipe_databuf_t *)d); +} + +int hera_catcher_bda_input_databuf_wait_free(hera_catcher_bda_input_databuf_t *d, int block_id); + +int hera_catcher_bda_input_databuf_busywait_free(hera_catcher_bda_input_databuf_t *d, int block_id); + +int hera_catcher_bda_input_databuf_wait_filled(hera_catcher_bda_input_databuf_t *d, int block_id); + +int hera_catcher_bda_input_databuf_busywait_filled(hera_catcher_bda_input_databuf_t *d, int block_id); + +int hera_catcher_bda_input_databuf_set_free(hera_catcher_bda_input_databuf_t *d, int block_id); + +int hera_catcher_bda_input_databuf_set_filled(hera_catcher_bda_input_databuf_t *d, int block_id); + /* * GPU INPUT BUFFER FUNCTIONS From 2965c9cfb42fb4d8eee94ad0beac38842b712dc9 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Sun, 25 Aug 2019 18:09:34 -0700 Subject: [PATCH 253/420] Make compatible with latest hashpipe --- src/hera_catcher_net_thread.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 6ec5fa5d..6cba7a8a 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -494,35 +494,35 @@ static void *run(hashpipe_thread_args_t * args) // Get and put min and max values. The "get-then-put" allows the // user to reset the min max values in the status buffer. - hgeti8(st.buf, "NETWATMN", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMN", (long *)&status_ns); status_ns = MIN(min_wait_ns, status_ns); hputi8(st.buf, "NETWATMN", status_ns); - hgeti8(st.buf, "NETRECMN", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMN", (long *)&status_ns); status_ns = MIN(min_recv_ns, status_ns); hputi8(st.buf, "NETRECMN", status_ns); - hgeti8(st.buf, "NETPRCMN", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMN", (long *)&status_ns); status_ns = MIN(min_proc_ns, status_ns); hputi8(st.buf, "NETPRCMN", status_ns); - hgeti8(st.buf, "NETWATMX", (long long *)&status_ns); + hgeti8(st.buf, "NETWATMX", (long *)&status_ns); status_ns = MAX(max_wait_ns, status_ns); hputi8(st.buf, "NETWATMX", status_ns); - hgeti8(st.buf, "NETRECMX", (long long *)&status_ns); + hgeti8(st.buf, "NETRECMX", (long *)&status_ns); status_ns = MAX(max_recv_ns, status_ns); hputi8(st.buf, "NETRECMX", status_ns); - hgeti8(st.buf, "NETPRCMX", (long long *)&status_ns); + hgeti8(st.buf, "NETPRCMX", (long *)&status_ns); status_ns = MAX(max_proc_ns, status_ns); hputi8(st.buf, "NETPRCMX", status_ns); hputu8(st.buf, "NETPKTS", pktsock_pkts); hputu8(st.buf, "NETDROPS", pktsock_drops); - hgetu8(st.buf, "NETPKTTL", (long long unsigned int*)&pktsock_pkts_total); - hgetu8(st.buf, "NETDRPTL", (long long unsigned int*)&pktsock_drops_total); + hgetu8(st.buf, "NETPKTTL", (long unsigned int*)&pktsock_pkts_total); + hgetu8(st.buf, "NETDRPTL", (long unsigned int*)&pktsock_drops_total); hputu8(st.buf, "NETPKTTL", pktsock_pkts_total + pktsock_pkts); hputu8(st.buf, "NETDRPTL", pktsock_drops_total + pktsock_drops); From 394294cead3b4cd3307134e813594edaf7f50eb6 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Sun, 25 Aug 2019 18:17:29 -0700 Subject: [PATCH 254/420] remove debugging print statements --- src/hera_bda_output_thread.c | 11 -------- src/hera_gpu_bda_thread.c | 54 ++---------------------------------- 2 files changed, 3 insertions(+), 62 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 2fe95671..41f69352 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -31,8 +31,6 @@ #define CONVERT(x) (htobe32((x))) -//#define PRINT_TEST - #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) @@ -155,8 +153,6 @@ static void *run(hashpipe_thread_args_t * args) hputu4(st.buf, "OUTDUMPS", 0); hashpipe_status_unlock_safe(&st); - fprintf(stderr,"Opening socket, starting main loop..\n"); - pkt_t pkt; pkt.hdr.xeng_id = XENG_ID(xengine_id); pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); @@ -248,9 +244,6 @@ static void *run(hashpipe_thread_args_t * args) for(j=0; j=N_BDABUF_BINS) bin=N_BDABUF_BINS-1; binfo[bin].ant_pair_0[blctr[bin]] = a0; binfo[bin].ant_pair_1[blctr[bin]++] = a1; - //fprintf(stderr,"Bin: %d Ctr: %d\n", bin, blctr[bin]); } fclose(fp); - // Include the autos - //for(a0=0;a0header[j].baselines = binfo[j].baselines; -#ifdef PRINT_TEST - fprintf(stderr, "init_bda_block_header(): Bin: %d Baselines: %ld\n", j, bdablk->header[j].baselines); -#endif for(i=0; iheader[j].ant_pair_0[i] = binfo[j].ant_pair_0[i]; bdablk->header[j].ant_pair_1[i] = binfo[j].ant_pair_1[i]; } @@ -273,9 +247,6 @@ static int init(struct hashpipe_thread_args *args) // Get sizing parameters xgpuInfo(&xgpu_info); - //bytes_per_dump = xgpu_info.triLength * sizeof(Complex); - //packets_per_dump = bytes_per_dump / OUTPUT_BYTES_PER_PACKET; - //printf("bytes_per_dump = %lu\n", bytes_per_dump); if(init_idx_map()) { return -1; @@ -287,7 +258,7 @@ static int init(struct hashpipe_thread_args *args) hashpipe_status_unlock_safe(&st); if (config_fname!=NULL){ - sprintf(config_fname, "bda_config_192ants_nobda.txt"); + sprintf(config_fname, "/home/deepthi/paper_gpu/src/bdaconfig/test_bda_192ants_nobda.txt"); } // Initialize binfo with config file params @@ -343,8 +314,6 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_t st = args->st; const char *status_key = args->thread_desc->skey; - fprintf(stderr,"Initializing BDA buffers..\n"); - /* Main loop */ int rv; uint64_t total_baselines = 0; @@ -415,11 +384,6 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &start); - #ifdef PRINT_TEST - fprintf(stderr,"Sample: %ld\t GPU Block In: %d\t BDA Block Out: %d\n", - sample, curblock_in, curblock_out); - #endif - // Note processing status, current input block hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "processing"); @@ -437,10 +401,6 @@ static void *run(hashpipe_thread_args_t * args) for(j=0; jheader[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; @@ -456,19 +416,11 @@ static void *run(hashpipe_thread_args_t * args) for(pol=0; poldata[j][datoffset] += re; buf->data[j][datoffset+1] += -im; - //fprintf(stderr,"Offset: %lld\tReal:%d\tImag:%d\n",datoffset,buf->data[j][datoffset],buf->data[j][datoffset+1]); } - //fprintf(stderr,"bl:%ld\tchan:%d\toffset:%lld\n",bl,casper_chan,datoffset); } - - #ifdef PRINT_TEST - //fprintf(stderr,"bl:%ld\toffset:%lld\n",bl,datoffset); - #endif } } // intbuf From d09d9f7c627c89f835d642f39a65e46752f15fc5 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Sun, 25 Aug 2019 18:18:32 -0700 Subject: [PATCH 255/420] ramp with frequency test vectors --- src/hera_fake_gpu_thread.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/hera_fake_gpu_thread.c b/src/hera_fake_gpu_thread.c index c718b832..f502dddc 100644 --- a/src/hera_fake_gpu_thread.c +++ b/src/hera_fake_gpu_thread.c @@ -134,9 +134,8 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ //printf("%d\t %d\t %ld\n", ant0, ant1, idx_regtile); for(chan=0; chan Date: Sun, 25 Aug 2019 18:19:27 -0700 Subject: [PATCH 256/420] revert file back to non-BDA version --- src/hera_gpu_output_thread.c | 635 ++++++++++++----------------------- 1 file changed, 223 insertions(+), 412 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 9c97e5fd..c1afcd3e 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -1,63 +1,60 @@ -/* Takes the output from the GPU and - * averages over time for the shorter - * baselines according to a config file. - * Output is stored in CASPER ordered - * shared memory segments. - */ +// hera_gpu_output_thread.c +// +// Sends integrated GPU output to "catcher" machine for assimilation into a +// dataset. Unlike the original PAPER output thread, this code integrates +// over XENG_CHAN_SUM channels, and performs a channel x baseline transpose #include -#include -#include -#include #include -#include -#include -#include -#include +#include #include +#include #include -#include +#include +#include +#include +#include #include #include "hashpipe.h" #include "paper_databuf.h" -#define LOG(x) ((uint32_t)(log((x))/log(2))) // yields msb loc -#define CHECK_PWR2(x) (!((x)&((x)-1))) +// Correlator data are sent to a data catcher using a simple UDP packetization +// format: -// Macros for generating values for the pkthdr_t fields -#define TIMESTAMP(x) (htobe64((uint64_t)(x))) -#define BASELINE_ID(x) (htobe32((uint32_t)(x))) -#define OFFSET(x) (htobe32((uint32_t)(x))) -#define XENG_ID(x) (htobe16((uint16_t)(x))) -#define PAYLOAD_LEN(x) (htobe16((uint16_t)(x))) -#define ANTENNA(x) (htobe16((uint16_t)(x))) - -#define CONVERT(x) (htobe32((x))) - -//#define PRINT_TEST - -typedef int32_t pktdata_t; -static XGPUInfo xgpu_info; +// uint64_t TIMESTAMP (set to be the MCNT provided by the databuf delivered by the upstream processor) +// uint32_t OFFSET (offset in bytes where this packet should be placed in memory to build the complete output) +// uint16_t X-ENGINE ID +// uint16_t PAYLOAD LENGTH (length of data payload in this packet in bytes) // Structure for packet header + typedef struct pkthdr { uint64_t timestamp; - uint32_t baseline_id; uint32_t offset; - uint16_t ant0; - uint16_t ant1; uint16_t xeng_id; uint16_t payload_len; } pkthdr_t; +// Macros for generating values for the pkthdr_t fields +#define TIMESTAMP(x) (htobe64((uint64_t)x)) +#define OFFSET(x) (htobe32((uint32_t)x)) +#define XENG_ID(x) (htobe16((uint16_t)x)) +#define PAYLOAD_LEN(x) (htobe16((uint16_t)x)) + +#define CONVERT(x) (htobe32(x)) + +typedef int32_t pktdata_t; + // Structure of a packet -typedef struct struct_pkt { +typedef struct pkt { pkthdr_t hdr; pktdata_t data[OUTPUT_BYTES_PER_PACKET/sizeof(pktdata_t)]; } pkt_t; +static XGPUInfo xgpu_info; + // PACKET_DELAY_NS is number of nanoseconds to delay between packets. This is // to prevent overflowing the network interface's TX queue. // Keep in mind the total throughput of the network, and also the number @@ -72,7 +69,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (4 * 8 * OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (4 * XENG_CHAN_SUM * 8*OUTPUT_BYTES_PER_PACKET) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; @@ -126,7 +123,7 @@ open_udp_socket(const char *host, const char *port) freeaddrinfo(result); -#ifdef PRINT_TEST +#if 0 // Print send buffer size int bufsize; unsigned int bufsizesize = sizeof(bufsize); @@ -204,27 +201,14 @@ static off_t regtile_index(const int in0, const int in1) // component. A casper ordered buffer consists of four complex values for each // pair of input pairs. Thus, the number of complex values in a casper ordered // buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) - -// For integration buffers, change the ordering to baselines x channels x stokes -// to make it easier to send the packets after integration. - -/* Each baseline (i.e, ant pair) needs a unique index for encoding the - * baseline both while packetization and while building the integration - * buffers. The baseline index function below is an adaption of the - * CASPER index without accounting for the size of each cell or the - * stokes parameters. - */ - -/* The integration buffer location for each baseline is obtained by - * multiplying the baseline_index with: - * (words_per_cell = 8) * (num_chan_per_x = 384) - * Pol offset = 2* (2*(p0^p1) + p0) - */ -static int baseline_index(const int in0, const int in1, const int n) -{ - const int a0 = in0 >> 1; +static off_t casper_index(const int in0, const int in1, const int n) +{ + const int a0 = in0 >> 1; const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; const int delta = a1-a0; + const int num_words_per_cell = 8; const int nant_2 = (n/2) / 2; // Three cases: top triangle, middle rectangle, bottom triangle @@ -243,39 +227,46 @@ static int baseline_index(const int in0, const int in1, const int n) // middle rectangle cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); } - - return cell_index; + //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); + // Pol offset + const int pol_offset = 2*(2*(p0^p1) + p0); + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; } - -// Redefine casper ordering to place channels next to each other (since -// buffers are packetized this way. Thus, the number of complex values -// per baselines are: 4 stokes * N_CHAN_PER_X -// Total buffersize: 4 * N_CHAN_PER_X * (N/2 * (N/2 + 1)) / 2 -#define N_CASPER_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) -// Lookup table mapping baseline_idx to regtile_idx -static off_t *regtile_idx_map; +// For each channel, a casper ordered buffer contains four complex values for +// each pair of input pairs. Thus, the number of complex values in a casper +// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) +#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) + +// Lookup table mapping casper_idx to regtile_idx +static off_t *idx_map; static int init_idx_map() { - int a0, a1; - regtile_idx_map = (off_t *)malloc(N_BASELINES * sizeof(off_t)); - if(!regtile_idx_map) { + int a0, a1, p0, p1, i, j; + idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); + if(!idx_map) { return -1; } - for(a0=0; a0baselines_per_bin[j] = 0; - } - // count baselines in each bin - if((fp=fopen("bda_config.txt","r")) == NULL){ - printf("Cannot open the configuration file.\n"); - exit(1); - } - while(fscanf(fp, "%d %d %d", &a0, &a1, &inttime)!=EOF){ - if((inttime == 0) || !CHECK_PWR2(inttime)){ - printf("(%d,%d): Samples to integrate not power of 2!\n",a0,a1); - exit(1); - } - bdabuf->baselines_per_bin[LOG(inttime)]+=1; - //switch(inttime){ - // case 1: bdabuf->baselines_per_bin[0]++; break; - // case 2: bdabuf->baselines_per_bin[1]++; break; - // case 4: bdabuf->baselines_per_bin[2]++; break; - // case 8: bdabuf->baselines_per_bin[3]++; break; - // case 16: bdabuf->baselines_per_bin[4]++; break; - // default: printf("(%d,%d): Samples to integrate not power of 2!\n",a0,a1); exit(1); - //} - } - - // Include autos for the no-integration baselines - bdabuf->baselines_per_bin[0] += N_ANTS; - -#ifdef PRINT_TEST - fprintf(stderr,"Finished loading config file. Allocating memory..\n"); - - for(j=0; jbaselines_per_bin[j]); - } -#endif - - // malloc for storing ant pairs - for(j=0; jant_pair_0[j] = (int *)malloc(bdabuf->baselines_per_bin[j]*sizeof(int)); - bdabuf->ant_pair_1[j] = (int *)malloc(bdabuf->baselines_per_bin[j]*sizeof(int)); - } - // re-read ant pairs for each integration bin - rewind(fp); - while(fscanf(fp, "%d %d %d", &a0, &a1, &inttime)!=EOF){ - bin = LOG(inttime); - bdabuf->ant_pair_0[bin][ctr[bin]] = a0; - bdabuf->ant_pair_1[bin][ctr[bin]++] = a1; - } - fclose(fp); - - // Include the autos - for(a0=0;a0ant_pair_0[0][ctr[0]] = a0; - bdabuf->ant_pair_1[0][ctr[0]++] = a0; - } - - // Initialise header and malloc for data - bdabuf->send[0] = 1; - bdabuf->buf->data = NULL; - bdabuf->buf->header.datsize = 0; - - for(j=1; jsend[j] = 0; - intbuf = bdabuf->buf+j; - intbuf->header.sam = 0; - intbuf->header.totsam = pow(2,j); - intbuf->header.datsize = bdabuf->baselines_per_bin[j]*N_COMPLEX_PER_BASELINE*2*sizeof(uint32_t); - intbuf->data = malloc(intbuf->header.datsize); - if (!intbuf->data) - return -1; - memset(intbuf->data, 0, intbuf->header.datsize); - } - - for(j=1;jbaselines_per_bin[j], - bdabuf->buf[j].header.datsize); - } - -return 1; -} - #define ELAPSED_NS(start,stop) \ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) static void *run(hashpipe_thread_args_t * args) { - - // Local aliases to shorten access to args fields - // Our input buffer happens to be a paper_ouput_databuf - paper_output_databuf_t *db = (paper_output_databuf_t *)args->ibuf; - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - fprintf(stderr,"Initializing BDA buffers..\n"); - - // Initialize buffers to store averaged baselines - hera_bda_buf_t bdabuf; - init_buffer(&bdabuf); - - // Setup socket and message structures - int sockfd; - unsigned int xengine_id = 0; - struct timespec packet_delay = { - .tv_sec = 0, - .tv_nsec = PACKET_DELAY_NS - }; - - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "XID", &xengine_id); // No change if not found - hputu4(st.buf, "XID", xengine_id); - hputu4(st.buf, "OUTDUMPS", 0); - hashpipe_status_unlock_safe(&st); - - fprintf(stderr,"Opening socket, starting main loop..\n"); - - pkt_t pkt; - pkt.hdr.xeng_id = XENG_ID(xengine_id); - pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); - - // TODO Get catcher hostname and port from somewhere + // Local aliases to shorten access to args fields + // Our input buffer happens to be a paper_ouput_databuf + paper_output_databuf_t *db = (paper_output_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // Setup socket and message structures + int sockfd; + unsigned int xengine_id = 0; + struct timespec packet_delay = { + .tv_sec = 0, + .tv_nsec = PACKET_DELAY_NS + }; + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "XID", &xengine_id); // No change if not found + hputu4(st.buf, "XID", xengine_id); + hputu4(st.buf, "OUTDUMPS", 0); + hashpipe_status_unlock_safe(&st); + + pkt_t pkt; + pkt.hdr.xeng_id = XENG_ID(xengine_id); + pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); + + // TODO Get catcher hostname and port from somewhere #define stringify2(x) #x #define stringify(x) stringify2(x) - // Open socket - sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); - if(sockfd == -1) { - hashpipe_error(__FUNCTION__, "error opening socket"); - pthread_exit(NULL); - } + // Open socket + sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); + if(sockfd == -1) { + hashpipe_error(__FUNCTION__, "error opening socket"); + pthread_exit(NULL); + } #ifdef TEST_INDEX_CALCS int i, j; @@ -439,225 +332,144 @@ static void *run(hashpipe_thread_args_t * args) } for(i=0; i<32; i++) { for(j=i; j<32; j++) { - o = baseline_index(2*i, 2*j, N_INPUTS); - fprintf(stdout, "%d, %d, %d, %ld\n", i, j, (int) o, - (long int)regtile_idx_map[o]); + o = casper_index(2*i, 2*j, N_INPUTS); + fprintf(stdout, "%d, %d, %d\n", i, j, (int) o); } } #endif - /* Main loop */ - int rv; - unsigned int dumps = 0; - int block_idx = 0; - struct timespec start, stop; - uint32_t nbytes = 0; - int casper_chan, gpu_chan; - unsigned long bl; - int j,pol; - struct timespec pkt_start, pkt_stop; - pktdata_t re, im; //pktdata_t is 32bits - int offset = 0; - unsigned long long datoffset = 0; - uint16_t ant0, ant1; - unsigned long long idx_baseline; - int baseline_id = 0; - off_t idx_regtile; - hera_int_bin_buf_t *intbuf; - -#ifdef PRINT_TEST - fprintf(stderr,"Number of antennas:%d\n",N_ANTS); - fprintf(stderr,"Number of channels per X-Eng: %d\n",N_CHAN_PER_X); -#endif + /* Main loop */ + int rv; + int casper_chan, gpu_chan, sum_chan; + int baseline, pol; + unsigned int dumps = 0; + int block_idx = 0; + struct timespec start, stop; + struct timespec pkt_start, pkt_stop; + pktdata_t re, im; + while (run_threads()) { + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "waiting"); + hashpipe_status_unlock_safe(&st); + + // Wait for new block to be filled + while ((rv=paper_output_databuf_wait_filled(db, block_idx)) + != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); + pthread_exit(NULL); + break; + } + } - while (run_threads()) { - - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "waiting"); - hashpipe_status_unlock_safe(&st); - - // Wait for new block to be filled - while ((rv=paper_output_databuf_wait_filled(db, block_idx)) - != HASHPIPE_OK) { - if (rv==HASHPIPE_TIMEOUT) { - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); - hashpipe_status_unlock_safe(&st); - continue; - } else { - hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); - pthread_exit(NULL); - break; - } - } - - clock_gettime(CLOCK_MONOTONIC, &start); - - // Note processing status, current input block - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "processing"); - hputi4(st.buf, "OUTBLKIN", block_idx); - hashpipe_status_unlock_safe(&st); - - // Unpack and convert in packet sized chunks - // output data in order: baseline x chan x stokes (slowest to fastest varying) - pktdata_t *pf_re = db->block[block_idx].data; - pktdata_t *pf_im = db->block[block_idx].data + xgpu_info.matLength; - pktdata_t *p_out = pkt.data; - - /* ------------------------------------------------ */ - /* Loop through baselines and add/send the packets */ - /* ------------------------------------------------ */ - - for(j=0; jheader.mcnt = db->block[block_idx].header.mcnt; - - if (bdabuf.send[j]){ - -#ifdef PRINT_TEST - fprintf(stderr,"Sending buffer: %d\n", j); -#endif + clock_gettime(CLOCK_MONOTONIC, &start); + + // Note processing status, current input block + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hputi4(st.buf, "OUTBLKIN", block_idx); + hashpipe_status_unlock_safe(&st); + + // Update header's timestamp for this dump. + pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); + // Reset packet/byte counters to 0 + pkt.hdr.offset = OFFSET(0); + uint32_t nbytes = 0; + + // Unpack and convert in packet sized chunks + // output data in order: baseline x chan x stokes (slowest to fastest varying) + pktdata_t * pf_re = db->block[block_idx].data; + pktdata_t * pf_im = db->block[block_idx].data + xgpu_info.matLength; + pktdata_t * p_out = pkt.data; + clock_gettime(CLOCK_MONOTONIC, &pkt_start); + // Iterate over blocks of N_STOKES baselines. All stokes are sent in adjacent words + for(baseline=0; baseline 0 && packet_delay.tv_nsec < 1000*1000*1000) { + nanosleep(&packet_delay, NULL); + } + + // Setup for next packet + p_out = pkt.data; + pkt_start = pkt_stop; + // Update header's byte_offset for this chunk + pkt.hdr.offset = OFFSET(nbytes); + } + } + } + } - pkt.hdr.timestamp = TIMESTAMP(intbuf->header.mcnt); - offset = 0; nbytes = 0; - p_out = pkt.data; - clock_gettime(CLOCK_MONOTONIC, &pkt_start); - - for(bl=0; bldata[datoffset] + re); - *p_out++ = CONVERT(intbuf->data[datoffset+1] -im); - } - nbytes += 2*sizeof(pktdata_t); - - if(nbytes%OUTPUT_BYTES_PER_PACKET == 0){ - int bytes_sent = send(sockfd, &pkt, - sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET, 0); - - if(bytes_sent == -1){ - // Send all packets even if catcher is not listening (i.e. we - // we get a connection refused error), but abort sending this - // dump if we get any other error. - if(errno != ECONNREFUSED){ - perror("send"); - // Update stats - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "OUTDUMPS", &dumps); - hputu4(st.buf, "OUTDUMPS", ++dumps); - hputr4(st.buf, "OUTSECS", 0.0); - hputr4(st.buf, "OUTMBPS", 0.0); - hashpipe_status_unlock_safe(&st); - // Break out of both for loops - goto done_sending; - } - }else if(bytes_sent != sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET) { - printf("only sent %d of %lu bytes!!!\n", bytes_sent, - sizeof(pkt.hdr)+OUTPUT_BYTES_PER_PACKET); - } - - // Delay to prevent overflowing network TX queue - clock_gettime(CLOCK_MONOTONIC, &pkt_stop); - packet_delay.tv_nsec = PACKET_DELAY_NS - ELAPSED_NS(pkt_start, pkt_stop); - if(packet_delay.tv_nsec > 0 && packet_delay.tv_nsec < 1000*1000*1000){ - nanosleep(&packet_delay, NULL); - } - - // Setup for next packet - p_out = pkt.data; - pkt_start = pkt_stop; - offset++; - pkt.hdr.offset = OFFSET(offset); - } // done sending - } // pol - } // chan - } // baseline - - if(j!=0) bdabuf.send[j] = 0; - intbuf->header.sam = 0; - memset(intbuf->data, 0, intbuf->header.datsize); - - }else{ - -#ifdef PRINT_TEST - fprintf(stderr,"Copying buffer: %d\n", j); -#endif - for(bl=0; bldata[datoffset] += re; - intbuf->data[datoffset+1] += -im; - } - //fprintf(stderr,"bl:%ld\tchan:%d\toffset:%lld\n",bl,casper_chan,datoffset); - } - -#ifdef PRINT_TEST - fprintf(stderr,"bl:%ld\toffset:%lld\n",bl,datoffset); -#endif - } - - intbuf->header.sam += 1; - if ((intbuf->header.sam+1) == intbuf->header.totsam) - bdabuf.send[j] = 1; - } - }// end intbuf loop - - clock_gettime(CLOCK_MONOTONIC, &stop); - - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "OUTDUMPS", &dumps); - hputu4(st.buf, "OUTDUMPS", ++dumps); - hputu4(st.buf, "OUTBYTES", nbytes); - hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); - hputr4(st.buf, "OUTMBPS", (1e3*8*nbytes)/ELAPSED_NS(start,stop)); - hashpipe_status_unlock_safe(&st); + clock_gettime(CLOCK_MONOTONIC, &stop); + + hashpipe_status_lock_safe(&st); + hgetu4(st.buf, "OUTDUMPS", &dumps); + hputu4(st.buf, "OUTDUMPS", ++dumps); + hputu4(st.buf, "OUTBYTES", nbytes); + hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); + hputr4(st.buf, "OUTMBPS", (1e3*8*nbytes)/ELAPSED_NS(start,stop)); + hashpipe_status_unlock_safe(&st); done_sending: - // Mark block as free - paper_output_databuf_set_free(db, block_idx); + // Mark block as free + paper_output_databuf_set_free(db, block_idx); - // Setup for next block - block_idx = (block_idx + 1) % db->header.n_block; + // Setup for next block + block_idx = (block_idx + 1) % db->header.n_block; - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } + /* Will exit if thread has been cancelled */ + pthread_testcancel(); + } // Thread success! return NULL; @@ -676,4 +488,3 @@ static __attribute__((constructor)) void ctor() { register_hashpipe_thread(&gpu_output_thread); } - From 1c96a88d2f646f0c9eb1df1c1505888d2d0a0b88 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Sun, 25 Aug 2019 18:20:17 -0700 Subject: [PATCH 257/420] change databuf structures to BDA versions --- src/hera_null_thread.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/hera_null_thread.c b/src/hera_null_thread.c index cc74af41..6568732f 100644 --- a/src/hera_null_thread.c +++ b/src/hera_null_thread.c @@ -19,8 +19,8 @@ static void *run(hashpipe_thread_args_t * args){ // Local aliases to shorten access to args fields - // Our input buffer is a hera_catcher_input_databuf - hera_catcher_input_databuf_t *db_in = (hera_catcher_input_databuf_t *)args->ibuf; + // Our input buffer is a hera_catcher_bda_input_databuf + hera_catcher_bda_input_databuf_t *db_in = (hera_catcher_bda_input_databuf_t *)args->ibuf; hashpipe_status_t st = args->st; const char * status_key = args->thread_desc->skey; @@ -36,7 +36,7 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_status_unlock_safe(&st); /* Wait for new block to become available */ - while ((rv=hera_catcher_input_databuf_busywait_filled(db_in, block_idx)) != HASHPIPE_OK) { + while ((rv=hera_catcher_bda_input_databuf_busywait_filled(db_in, block_idx)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "blocked_in"); @@ -56,7 +56,7 @@ static void *run(hashpipe_thread_args_t * args){ hashpipe_status_unlock_safe(&st); // Mark input block as free and advance - if(hera_catcher_input_databuf_set_free(db_in, block_idx) != HASHPIPE_OK) { + if(hera_catcher_bda_input_databuf_set_free(db_in, block_idx) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking databuf %d free", block_idx); pthread_exit(NULL); } @@ -74,7 +74,7 @@ hashpipe_thread_desc_t hera_null_thread = { skey: "NULLSTAT", init: NULL, run: run, - ibuf_desc: {hera_catcher_input_databuf_create}, + ibuf_desc: {hera_catcher_bda_input_databuf_create}, obuf_desc: {NULL} }; From ec5ae8c19160b964908f9ee1b05736d3d4d51b5f Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 26 Aug 2019 16:53:42 -0700 Subject: [PATCH 258/420] Minor changes... ... Change baselines per block to higher value (paperdatabuf), wrong print statement (catcher_net_thread), and script name in Makefile --- src/Makefile.am | 2 +- src/hera_catcher_net_thread_bda.c | 3 ++- src/paper_databuf.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index cde3b0f7..bf4dac35 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -70,7 +70,7 @@ dist_bin_SCRIPTS = scripts/paper_init.sh \ scripts/xtor_down.sh \ scripts/xtor_up.py \ scripts/hera_catcher_init.sh \ - scripts/hera_catcher_up_bda.py \ + scripts/hera_catcher_up.py \ scripts/hera_fake_bda_output.py \ scripts/hera_catcher_down.sh \ scripts/hera_catcher_take_data.py \ diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index 769a4bb1..41f847e8 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -136,6 +136,7 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf // Calculate missing packets. block_missed_pkt_cnt = PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; + block_missed_xengs = block_missed_pkt_cnt / (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); block_missed_mod_cnt = block_missed_xengs % N_XENGINES_PER_TIME; @@ -254,7 +255,7 @@ static inline uint32_t process_packet( netbcnt = set_block_filled(db, &binfo); fprintf(stderr,"Filled Block: %d from bcnt: %d to bcnt: %d\n", binfo.block_i, db->block[binfo.block_i].header.bcnt[0], - db->block[binfo.block_i].header.bcnt[BASELINES_PER_BLOCK-2]); + db->block[binfo.block_i].header.bcnt[BASELINES_PER_BLOCK-1]); // Update binfo cur_bcnt += BASELINES_PER_BLOCK; diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 16ab0272..79812585 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -343,7 +343,7 @@ typedef struct hera_catcher_input_databuf { * Structures and parameters */ -#define BASELINES_PER_BLOCK 256 //8192 +#define BASELINES_PER_BLOCK 8192 #define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 #define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 #define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) // 3 From 81ecdd4c95c687ff17f9002df73479e46937a6dc Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 26 Aug 2019 16:55:02 -0700 Subject: [PATCH 259/420] BDA and old script compatibility --- src/scripts/hera_catcher_up.py | 35 ++++++++- src/scripts/hera_catcher_up_bda.py | 111 ----------------------------- 2 files changed, 32 insertions(+), 114 deletions(-) delete mode 100755 src/scripts/hera_catcher_up_bda.py diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index c8d03fac..df6a6524 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -4,6 +4,7 @@ import time import argparse import subprocess +import numpy as np perf_tweaker = 'tweak-perf-sn.sh' init = 'hera_catcher_init.sh' @@ -23,13 +24,18 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): for pn in p: pn.wait() -parser = argparse.ArgumentParser(description='Start the HERA X-engines', +parser = argparse.ArgumentParser(description='Start the HERA Catcher Machine', formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('host', type=str, help='Host to intialize') parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') +parser.add_argument('-c', dest='bdaconfig', type=str, default='/tmp/config.h5', + help='Place to put the BDA config file.\ + Used only with the BDA version of catcher scripts.') +parser.add_argument('--bda', dest='bda', action='store_true', default=False, + help='Use the baseline dependent averaging version') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) @@ -41,8 +47,12 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): if args.runtweak: run_on_hosts([args.host], perf_tweaker, user='root', wait=True) +init_args = [] +if args.bda: + init_args += ['-a'] + # Start Catcher -run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=True) +run_on_hosts([args.host], ['cd', '/data;', init] + init_args + ['0'], wait=True) time.sleep(15) # Start hashpipe<->redis gateways @@ -53,7 +63,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(15) # Generate the meta-data template -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) +#run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { @@ -72,6 +82,25 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): for v in ['NETWAT', 'NETREC', 'NETPRC']: r.publish(pubchan, '%sMN=99999' % (v)) r.publish(pubchan, '%sMX=0' % (v)) +r.publish(pubchan, 'MISSEDPK=0') + +# If BDA is requested, write distribution to redis +if args.bda: + baselines = {} + for n in range(4): + baselines[n] = [] + + bdaconfig = np.loadtxt(args.bdaconfig, dtype=np.int) + for i,t in enumerate(bdaconfig[:,2]): + if (t==0): continue + n = int(np.log(t)/np.log(2)) + if (n==4): n = 3 + baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) + + for i in range(4): + r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) + + time.sleep(0.1) # Release nethread hold r.publish(pubchan, 'CNETHOLD=0') diff --git a/src/scripts/hera_catcher_up_bda.py b/src/scripts/hera_catcher_up_bda.py deleted file mode 100755 index 02a9f83b..00000000 --- a/src/scripts/hera_catcher_up_bda.py +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env python - -import redis -import time -import argparse -import subprocess -import numpy as np - -perf_tweaker = 'tweak-perf-sn.sh' -init = 'hera_catcher_init.sh' -python_source_cmd = ['source', '~/hera-venv/bin/activate'] -template_cmd = ['hera_make_hdf5_template.py'] -config = '/home/hera/dgorthi/paper_gpu/src/bdaconfig/test_bda_192ants_nobda.txt' - -def run_on_hosts(hosts, cmd, user=None, wait=True): - if isinstance(cmd, str): - cmd = [cmd] - p = [] - for host in hosts: - if user is None: - p += [subprocess.Popen(['ssh', '%s' % (host)] + cmd)] - else: - p += [subprocess.Popen(['ssh', '%s@%s' % (user, host)] + cmd)] - if wait: - for pn in p: - pn.wait() - -parser = argparse.ArgumentParser(description='Initialize the catcher machine and start hashpipe', - formatter_class=argparse.ArgumentDefaultsHelpFormatter) - -parser.add_argument('host', type=str, help='Host to intialize') -parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') -parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', - help='Place to put HDF5 header template file') -parser.add_argument('-c', dest='bdaconfig', type=str, default='/tmp/config.h5', - help='Place to put BDA config file') -parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, - help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) - -args = parser.parse_args() - -r = redis.Redis(args.redishost) - -## Run performance tweaking script -#if args.runtweak: -# run_on_hosts([args.host], perf_tweaker, user='root', wait=True) -# -# Start Catcher -print ('Start catcher hashpipe script') -run_on_hosts([args.host], ['cd', '/data;', init, '0'], wait=False) - -# Start hashpipe<->redis gateways -print('Establish redis gateway') -cpu_mask = '0x0004' -run_on_hosts([args.host], ['taskset', cpu_mask, 'hashpipe_redis_gateway.rb', '-g', args.host, '-i', '0']) - -# Wait for the gateways to come up -time.sleep(15) - -# Generate the meta-data template -print('Create template file') -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + [args.hdf5template], wait=True) - -# Copy config file to location request -print('Copy config file') -run_on_hosts([args.host], ['cp', config, args.bdaconfig], wait=True) - -#Configure runtime parameters -catcher_dict = { - 'HDF5TPLT' : args.hdf5template, - 'BDACONF' : args.bdaconfig, - 'NFILES' : 10, - 'SYNCTIME' : time.time(), - 'INTTIME' : 64 * 2048, - 'DISKMING' : 9999, -# 'SYNCTIME' : r['corr:feng_sync_time'], -# 'INTTIME' : r['corr:acc_len'], - 'TRIGGER' : 0, -} - -# Reset various statistics counters - -pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) -for key, val in catcher_dict.iteritems(): - r.publish(pubchan, '%s=%s' % (key, val)) -for v in ['NETWAT', 'NETREC', 'NETPRC']: - r.publish(pubchan, '%sMN=99999' % (v)) - r.publish(pubchan, '%sMX=0' % (v)) - -print('Write baseline dist to redis') -# Use the bdaconfig file to write baselines per bin -baselines = {} -for n in range(4): - baselines[n] = [] - -bdaconfig = np.loadtxt(config, dtype=np.int) -for i,t in enumerate(bdaconfig[:,2]): - if (t==0): continue - n = int(np.log(t)/np.log(2)) - if (n==4): n = 3 - baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) - -for i in range(4): - r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) - -time.sleep(0.1) - -# Release nethread hold -r.publish(pubchan, 'CNETHOLD=0') -r.publish(pubchan, 'TRIGGER=1') - From fcd19337669848232af344e6f714ddeae10419c2 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 26 Aug 2019 17:00:48 -0700 Subject: [PATCH 260/420] Update to latest + add BDA params... ... Updated scripts to commit 0a0687d of 8kchan branch, editted to include BDA version threads --- src/scripts/hera_catcher_init.sh | 43 ++++++++-- src/scripts/hera_ctl.py | 14 ++-- src/scripts/paper_init.sh | 138 ++++++++++++++++++++++++++----- src/scripts/xtor_up.py | 29 ++++++- 4 files changed, 191 insertions(+), 33 deletions(-) mode change 100755 => 100644 src/scripts/hera_ctl.py mode change 100755 => 100644 src/scripts/paper_init.sh diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 0cee02ef..e1a6bf5a 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -14,29 +14,60 @@ myip=$(getip $(hostname)) function init() { instance=0 mask=0x003f - bindhost=eth3 + bindhost=eth5 netcpu=0 outcpu=3 + if [ $USE_BDA -eq 1 ] + then + netthread=hera_catcher_net_thread_bda + diskthread=hera_catcher_disk_thread_bda + else + netthread=hera_catcher_net_thread + diskthread=hera_catcher_disk_thread + fi + + echo "Using netthread: $netthread" + echo "Using diskthread: $diskthread" + echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o BINDHOST=$bindhost \ - -c $netcpu hera_catcher_net_thread \ - -c $outcpu hera_catcher_disk_thread + -c $netcpu $netthread \ + -c $outcpu $diskthread taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o BINDHOST=$bindhost \ - -c $netcpu hera_catcher_net_thread \ - -c $outcpu hera_catcher_disk_thread \ + -c $netcpu $netthread \ + -c $outcpu $diskthread \ < /dev/null \ 1> ~/catcher.out.$instance \ 2> ~/catcher.err.$instance & } +# Default to not using BDA version +USE_BDA=0 + +for arg in $@; do + case $arg in + -h) + echo "Usage: $(basename $0) [-a] INSTANCE_ID [...]" + echo " -a: Use baseline dependent averaging threads" + exit 0 + ;; + + -a) + USE_BDA=1 + shift + ;; + esac +done + if [ -z "$1" ] then - echo "Usage: $(basename $0) INSTANCE_ID [...]" + echo "Usage: $(basename $0) [-a] INSTANCE_ID [...]" + echo " -a: Use baseline dependent averaging threads" exit 1 fi diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py old mode 100755 new mode 100644 index 0af2aca6..ee2d7429 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -16,7 +16,6 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): """ return sample_rate / (spectra_len * 2) - parser = argparse.ArgumentParser(description='Turn on and off the HERA correlator', formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('action',type=str, @@ -55,7 +54,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): if args.action == 'start': # Calculate start MCNT - mcnt_origin = int(rdb['corr:feng_sync_time']) + mcnt_origin = int(int(rdb['corr:feng_sync_time'])/1000.) time_delay = args.starttime - mcnt_origin delay_mcnts = int(time_delay * mcnts_per_second()) # round delay_mcnts down to an acceptable value @@ -71,12 +70,17 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): print 'Trigger MCNT: %d' % trig_mcnt print 'Trigger time is %.1f seconds in the future (%s)' % (trig_time - time.time(), time.ctime(trig_time)) + # round acc_len + acclen = int(args.acclen / MCNT_XGPU_BLOCK_SIZE) * MCNT_XGPU_BLOCK_SIZE + print 'Requested accumulation length: %d' % args.acclen + print 'Actual accumulation length: %d' % acclen + # Use the hashpipe publish channel to update keys in all status buffers. # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb # for details about formatting for slice in range(args.slices): - msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, args.acclen) + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen) for host in range(args.xhosts): hostname = 'px%d' % (slice * args.xhosts + host + 1) rdb.publish('hashpipe://%s/0/set' % hostname, msg) @@ -85,5 +89,5 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): rdb['corr:trig_mcnt'] = trig_mcnt rdb['corr:trig_time'] = trig_time - rdb['corr:acc_len'] = args.acclen - rdb['corr:int_time'] = args.acclen * args.slices * mcnts_per_second() + rdb['corr:acc_len'] = acclen + rdb['corr:int_time'] = acclen * args.slices * mcnts_per_second() diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh old mode 100755 new mode 100644 index 5e5f2201..b317f2a5 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -131,10 +131,10 @@ case ${hostname} in xid1=$(( 2*(mypx-1) + 1)) instances=( - # GPU NET FLF GPU OUT - # mask bind_host DEV XID CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 1 2 3" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 9 10 11" # Instance 1, eth5 + # GPU NET FLF GPU OUT BDA + # mask bind_host DEV XID CPU CPU CPU CPU CPU + "0x00ff eth3 0 $xid0 0 0x0006 3 4 5 " # Instance 0, eth3 + "0xff00 eth5 1 $xid1 8 0x0600 11 12 10 " # Instance 1, eth5 );; *) @@ -153,6 +153,7 @@ function init() { flfcpu=$7 gpucpu=$8 outcpu=$9 + bdacpu=$10 if [ -z "${mask}" ] then @@ -166,33 +167,132 @@ function init() { return 1 fi + if [ $USE_IBVERBS -eq 1 ] + then + netthread=hera_ibv_thread + else + netthread=hera_pktsock_thread + fi + + echo "Using netthread: $netthread" + echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o BINDHOST=$bindhost \ -o GPUDEV=$gpudev \ -o XID=$xid \ - -c $netcpu hera_pktsock_thread \ - -c $flfcpu paper_fluff_thread \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread - taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -o GPUDEV=$gpudev \ - -o XID=$xid \ - -c $netcpu hera_pktsock_thread \ - -c $flfcpu paper_fluff_thread \ - -c $gpucpu paper_gpu_thread \ - -c $outcpu hera_gpu_output_thread \ - < /dev/null \ - 1> px${mypx}.out.$instance \ - 2> px${mypx}.err.$instance & + if [ $USE_REDIS -eq 1 ] && [ $USE_BDA -eq 1 ] + then + echo "Using redis logger" + echo "Using baseline dependent averaging" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread \ + < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ + 3>&1 1>&2 | tee px${mypx}.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + + elif [ $USE_REDIS -eq 1 ] && [ $USE_BDA -eq 0 ] + then + echo "Using redis logger" + echo "*NOT* using baseline dependent averaging" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ + 3>&1 1>&2 | tee px${mypx}.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + + elif [ $USE_REDIS -eq 0 ] && [ $USE_BDA -eq 1 ] + then + echo "*NOT* using redis logger" + echo "Using baseline dependent averaging" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & + + else + echo "*NOT* using redis logger" + echo "*NOT* using baseline dependent averaging" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & + fi } +# Default to Packet sockets; No redis logging +USE_IBVERBS=0 +USE_REDIS=0 +USE_BDA=0 + +for arg in $@; do + case $arg in + -h) + echo "Usage: $(basename $0) [-r] [-i] INSTANCE_ID [...]" + echo " -r : Use redis logging (in addition to log files)" + echo " -i : Use IB-verbs pipeline (rather than packet sockets)" + echo " -a : Use baseline dependent averaging threads" + exit 0 + ;; + + -i) + USE_IBVERBS=1 + shift + ;; + -r) + USE_REDIS=1 + shift + ;; + -a) + USE_BDA=1 + shift + ;; + esac +done + if [ -z "$1" ] then - echo "Usage: $(basename $0) INSTANCE_ID [...]" + echo "Usage: $(basename $0) [-r] [-i] [-a] INSTANCE_ID [...]" + echo " -r : Use redis logging (in addition to log files)" + echo " -i : Use IB-verbs pipeline (rather than packet sockets)" + echo " -a : Use baseline dependent averaging threads" exit 1 fi diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 1df384ba..fea69f1d 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -1,5 +1,6 @@ #!/usr/bin/env python +import os import redis import time import argparse @@ -7,6 +8,7 @@ perf_tweaker = 'tweak-perf.sh' paper_init = 'paper_init.sh' +paper_init_ibv = 'paper_init_ibv.sh' def run_on_hosts(hosts, cmd, user=None, wait=True): if isinstance(cmd, str): @@ -32,11 +34,20 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Number of pipeline instances per host') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) +parser.add_argument('--ibverbs', dest='ibverbs', action='store_true', default=False, + help='Use the IB Verbs netthread. Experimental!') +parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, + help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') +parser.add_argument('--bda', dest='bda', action='store_true', default=False, + help='Use baseline dependent averaging. (Beta)') +parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", + help='The path to a python virtual environment which will be activated prior to running paper_init. ' + + 'Only relevant if using the --redislog flag, which uses a python redis interface') args = parser.parse_args() hosts = args.hosts # Too lazy to keey typing this nhosts = len(hosts) -nhosts_per_timeslice = nhosts / args.timeslices +nhosts_per_timeslice = nhosts * args.timeslices assert args.ninstances == 2, 'Sorry, anything other than ninstances=2 is not supported!' @@ -47,7 +58,19 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts(hosts, perf_tweaker, user='root', wait=True) # Start X-Engines -run_on_hosts(hosts, [paper_init, '0', '1'], wait=True) # two instances per host +init_args = [] +if args.ibverbs: + init_args += ['-i'] +if args.redislog: + init_args += ['-r'] +if args.bda: + init_args += ['-a'] + +if args.redislog: + python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + run_on_hosts(hosts, python_source_cmd + [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host +else: + run_on_hosts(hosts, [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host # Start hashpipe<->redis gateways cpu_masks = ['0x0080', '0x8000'] @@ -56,7 +79,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([host], ['taskset', cpu_masks[i], 'hashpipe_redis_gateway.rb', '-g', host, '-i', '%d'%i]) # Wait for the gateways to come up -time.sleep(1) +time.sleep(3) # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): From 278d6be6c46cb0d45d40e13e4158f8d3435d0963 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 27 Aug 2019 02:25:21 +0000 Subject: [PATCH 261/420] Remove unused function --- src/hera_catcher_disk_thread.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hera_catcher_disk_thread.c b/src/hera_catcher_disk_thread.c index 72d7a2f1..73eb67d4 100644 --- a/src/hera_catcher_disk_thread.c +++ b/src/hera_catcher_disk_thread.c @@ -615,6 +615,7 @@ static void add_mc_obs(char *fname) } } +#if 0 /* Have the librarian make new sessions. */ @@ -635,6 +636,7 @@ static void make_librarian_sessions(void) exit(0); } } +#endif static void compute_integration_time_array(double integration_time, double *integration_time_buf) { From f1b024b053135eb702e531384857937cd3827f43 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 27 Aug 2019 02:25:38 +0000 Subject: [PATCH 262/420] Increase buffer size Typo reduced intended size by 10x --- src/scripts/tweak-perf-sn.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/tweak-perf-sn.sh b/src/scripts/tweak-perf-sn.sh index 0a595fdb..c5fcbdf4 100755 --- a/src/scripts/tweak-perf-sn.sh +++ b/src/scripts/tweak-perf-sn.sh @@ -11,7 +11,7 @@ ethtool -A eth3 rx on # Kernel buffer sizes sysctl net.core.rmem_max=83886080 -sysctl net.core.rmem_default=8388608 +sysctl net.core.rmem_default=83886080 # Kill packets before the IP stack iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP From afa23ca67010d5bf50db2709102517490c7c9ab6 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 5 Sep 2019 17:38:05 -0700 Subject: [PATCH 263/420] Catcher sum, more headers... ... included more header data to make files pyuvdata compatible. Added catcher chan sum. --- src/hera_catcher_disk_thread_bda.c | 467 +++++++++++++++++------------ 1 file changed, 272 insertions(+), 195 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index dbc8bf52..df7a155d 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -37,10 +37,10 @@ #endif #define N_DATA_DIMS (4) -#define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM * XENG_CHAN_SUM)) -#define N_CHAN_RECEIVED (N_CHAN_TOTAL / XENG_CHAN_SUM) +#define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM_BDA)) +#define N_CHAN_RECEIVED (N_CHAN_TOTAL) #define N_BL_PER_WRITE (32) -//#define SKIP_DIFF +#define SKIP_DIFF #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) @@ -80,7 +80,6 @@ typedef struct { hid_t flags_did; hid_t nsamples_did; hid_t time_array_did; - hid_t integration_time_did; hid_t uvw_array_did; hid_t ant_1_array_did; hid_t ant_2_array_did; @@ -88,7 +87,6 @@ typedef struct { hid_t flags_fs; hid_t nsamples_fs; hid_t time_array_fs; - hid_t integration_time_fs; hid_t uvw_array_fs; hid_t ant_1_array_fs; hid_t ant_2_array_fs; @@ -223,12 +221,6 @@ static void init_headers_dataset(hdf5_id_t *id) { pthread_exit(NULL); } - id->integration_time_did = H5Dcreate(id->header_gid, "integration_time", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - if (id->integration_time_did < 0) { - hashpipe_error(__FUNCTION__, "Failed to create integration_time dataset"); - pthread_exit(NULL); - } - id->ant_1_array_did = H5Dcreate(id->header_gid, "ant_1_array", H5T_NATIVE_INT, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); if (id->ant_1_array_did < 0) { hashpipe_error(__FUNCTION__, "Failed to create ant_1_array dataset"); @@ -242,35 +234,11 @@ static void init_headers_dataset(hdf5_id_t *id) { } id->time_array_fs = H5Dget_space(id->time_array_did); - id->integration_time_fs = H5Dget_space(id->integration_time_did); id->ant_1_array_fs = H5Dget_space(id->ant_1_array_did); id->ant_2_array_fs = H5Dget_space(id->ant_2_array_did); H5Pclose(plist); H5Sclose(file_space); - - // TODO: uvw array can be static for a file. See if you can encode this in python. - ///* And now uvw_array, which has shape Nblts x 3 */ - //hsize_t dims2[DIM2] = {bcnts_per_file, 3}; - //hsize_t chunk_dims2[DIM2] = {1, 3}; - - //file_space = H5Screate_simple(DIM2, dims2, NULL); - //plist = H5Pcreate(H5P_DATASET_CREATE); - - //H5Pset_layout(plist, H5D_CHUNKED); - - //H5Pset_chunk(plist, DIM2, chunk_dims2); - - //// Now we have the dataspace properties, create the datasets - //id->uvw_array_did = H5Dcreate(id->header_gid, "uvw_array", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); - //if (id->uvw_array_did < 0) { - // hashpipe_error(__FUNCTION__, "Failed to create uvw_array dataset"); - // pthread_exit(NULL); - //} - //id->uvw_array_fs = H5Dget_space(id->uvw_array_did); - - //H5Pclose(plist); - //H5Sclose(file_space); } #define VERSION_BYTES 32 @@ -283,6 +251,8 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); + fprintf(stdout, "Start new file!\n"); + // Open HDF5 header groups and create data group id->header_gid = H5Gopen(id->file_id, "Header", H5P_DEFAULT); if (id->header_gid < 0) { @@ -311,6 +281,7 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui init_headers_dataset(id); // Write meta-data values we know at file-open + // Write data tag memtype = H5Tcopy(H5T_C_S1); stat = H5Tset_size(memtype, 128); @@ -330,6 +301,7 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui hashpipe_error(__FUNCTION__, "Failed to close Header/tag"); } + // obs_id dataset_id = H5Dopen(id->extra_keywords_gid, "obs_id", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/obs_id"); @@ -342,6 +314,8 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/obs_id"); } + + // version dataset_id = H5Dopen(id->extra_keywords_gid, "corr_ver", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/corr_ver"); @@ -359,6 +333,8 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (stat < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/corr_ver"); } + + // startt dataset_id = H5Dopen(id->extra_keywords_gid, "startt", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/startt"); @@ -371,6 +347,8 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/startt"); } + + fprintf(stdout, "Finshed opening file!\n"); } @@ -423,67 +401,77 @@ static void close_filespaces(hdf5_id_t *id) H5Sclose(id->flags_fs); H5Sclose(id->nsamples_fs); H5Sclose(id->time_array_fs); - H5Sclose(id->integration_time_fs); - //H5Sclose(id->uvw_array_fs); H5Sclose(id->ant_1_array_fs); H5Sclose(id->ant_2_array_fs); } -/* Given an array of baseline pairs, figure out the indices of the autocorrs */ -static void get_auto_indices(bl_t *bl_order, int32_t *auto_indices, uint32_t n_bls) { - int32_t i = 0; - for (i=0; iheader_gid, "corr_bl_order", H5P_DEFAULT); - if (dataset_id < 0) { - hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); - pthread_exit(NULL); - } - status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_order); - if (status < 0) { - hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); - pthread_exit(NULL); - } - status = H5Dclose(dataset_id); - if (status < 0) { - hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); - pthread_exit(NULL); - } -} +///* Read the baseline order from an HDF5 file via the Header/corr_bl_order dataset */ +//static void get_bl_order(hdf5_id_t *id, bl_t *bl_order) { +// hid_t dataset_id; +// herr_t status; +// dataset_id = H5Dopen(id->header_gid, "corr_bl_order", H5P_DEFAULT); +// if (dataset_id < 0) { +// hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); +// pthread_exit(NULL); +// } +// status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_order); +// if (status < 0) { +// hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); +// pthread_exit(NULL); +// } +// status = H5Dclose(dataset_id); +// if (status < 0) { +// hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); +// pthread_exit(NULL); +// } +//} + +///* Read the antenna positions from an HDF5 file via the Header/antenna_positions_enu dataset */ +//static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { +// hid_t dataset_id; +// herr_t status; +// dataset_id = H5Dopen(id->header_gid, "antenna_positions_enu", H5P_DEFAULT); +// if (dataset_id < 0) { +// hashpipe_error(__FUNCTION__, "Failed to open Header/antenna_positions_enu dataset"); +// pthread_exit(NULL); +// } +// status = H5Dread(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_pos); +// if (status < 0) { +// hashpipe_error(__FUNCTION__, "Failed to read Header/antenna_positions_enu dataset"); +// pthread_exit(NULL); +// } +// status = H5Dclose(dataset_id); +// if (status < 0) { +// hashpipe_error(__FUNCTION__, "Failed to close Header/antenna_positions_enu dataset"); +// pthread_exit(NULL); +// } +//} + + +/* Get the integration time for each baseline from header (set by config file) */ +static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { + + fprintf(stdout,"Getting integration time\n"); -/* Read the antenna positions from an HDF5 file via the Header/antenna_positions_enu dataset */ -static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { hid_t dataset_id; herr_t status; - dataset_id = H5Dopen(id->header_gid, "antenna_positions_enu", H5P_DEFAULT); + dataset_id = H5Dopen(id->header_gid, "integration_time", H5P_DEFAULT); if (dataset_id < 0) { - hashpipe_error(__FUNCTION__, "Failed to open Header/antenna_positions_enu dataset"); + hashpipe_error(__FUNCTION__, "Failed to open Header/integration_time dataset"); pthread_exit(NULL); } - status = H5Dread(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_pos); + status = H5Dread(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, integration_time_buf); if (status < 0) { - hashpipe_error(__FUNCTION__, "Failed to read Header/antenna_positions_enu dataset"); - pthread_exit(NULL); + hashpipe_error(__FUNCTION__, "Failed to read Header/integration_time dataset"); + pthread_exit(NULL); } status = H5Dclose(dataset_id); if (status < 0) { - hashpipe_error(__FUNCTION__, "Failed to close Header/antenna_positions_enu dataset"); - pthread_exit(NULL); + hashpipe_error(__FUNCTION__, "Failed to close Header/integration_time dataset"); } + + fprintf(stdout, "Returning integration time\n"); } /* @@ -495,30 +483,68 @@ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) } /* - * Write a bcnt to the dataset, at the right offset + * Compute JD for the given gps time + +static double unix2julian(double unixtime) +{ + return (2440587.5 + (unixtime / (double)(86400.0))); +} +*/ + +static double compute_jd_from_mcnt(uint64_t mcnt, uint32_t sync_time, double integration_time) +{ + double unix_time = sync_time + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); + unix_time = unix_time - integration_time/2; + + return (2440587.5 + (unix_time / (double)(86400.0))); +} + +/* + * Write N_BL_PER_WRITE bcnts to the dataset, at the right offset */ -static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid_t mem_space, uint64_t *visdata_buf) +static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid_t mem_space, + uint64_t *visdata_buf, hbool_t *flags, uint32_t *nsamples) { hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; hsize_t count[N_DATA_DIMS] = {nblts, 1, N_CHAN_PROCESSED, N_STOKES}; - H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); - H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); + + //H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); + //H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); + + // Data + if (H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL) <0){ + hashpipe_error(__FUNCTION__, "Error selecting data hyperslab"); + } + if (H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf) <0){ + hashpipe_error(__FUNCTION__, "Error writing data to file"); + } + + // nsamples + if (H5Sselect_hyperslab(id->nsamples_fs, H5S_SELECT_SET, start, NULL, count, NULL) <0){ + hashpipe_error(__FUNCTION__, "Error selecting hyperslab of nsamples"); + } + if (H5Dwrite(id->nsamples_did, H5T_IEEE_F32LE, mem_space, id->nsamples_fs, H5P_DEFAULT, nsamples) <0){ + hashpipe_error(__FUNCTION__, "Error writing nsamples to file"); + } + + // flags + if (H5Sselect_hyperslab(id->flags_fs, H5S_SELECT_SET, start, NULL, count, NULL) <0){ + hashpipe_error(__FUNCTION__, "Error selecting flags hyperslab"); + } + if (H5Dwrite(id->flags_did, boolenumtype, mem_space, id->flags_fs, H5P_DEFAULT, flags) <0){ + hashpipe_error(__FUNCTION__, "Error writing flags to file"); + } + } + /* - * Write information to the hdf5 header. The data is written in the order it comes in, so the - * header might not be in a particular order-- verify! - * Write: time, ant0, ant1, integration time + * Write information to the hdf5 header. + * Write: time, ant0, ant1 */ -static void write_header(hdf5_id_t *id, double *integration_time_buf, double *time_array_buf, - int *ant_0_array, int *ant_1_array) -{ - // integration time - if (H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, integration_time_buf) < 0){ - hashpipe_error(__FUNCTION__, "Error writing integration time"); - } - +static void write_header(hdf5_id_t *id, double *time_array_buf, int *ant_0_array, int *ant_1_array) +{ // time stamp of integration if (H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, time_array_buf) < 0) { hashpipe_error(__FUNCTION__, "Error writing time_array"); @@ -534,13 +560,23 @@ static void write_header(hdf5_id_t *id, double *integration_time_buf, double *ti hashpipe_error(__FUNCTION__, "Error writing ant_2_array"); } + fprintf(stdout, "Finished writing header\n"); + } // Get the even-sample / first-pol / first-complexity of the correlation buffer for chan `c` baseline `b` -static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, int bl) { +static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, uint32_t bl) { + + int xchan, chan, bcnt, offset; + //Buffers for a single full-stokes baseline // 256 bits = 4 stokes * 2 real/imag * 32 bits == 1 channel - int chan, bcnt; + + #if CATCHER_CHAN_SUM_BDA != 1 + int c; + __m256i sum_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + __m256i sum_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); + #endif __m256i val_even = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); __m256i val_odd = _mm256_set_epi64x(0ULL,0ULL,0ULL,0ULL); @@ -550,14 +586,41 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, i __m256i *out_diff256 = (__m256i *)out_diff; for(bcnt=0; bcnt= nfiles) { // If we're transitioning to idle state @@ -852,12 +901,11 @@ static void *run(hashpipe_thread_args_t * args) // these variables store the baseline numbers for the start and end of these blocks strt_bcnt = db_in->block[curblock_in].header.bcnt[bctr]; stop_bcnt = db_in->block[curblock_in].header.bcnt[bctr+N_BL_PER_WRITE-1]; - //fprintf(stderr, "Start bcnt: %d\t Stop bcnt: %d\n", strt_bcnt, stop_bcnt); clock_gettime(CLOCK_MONOTONIC, &t_start); compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff, bctr); clock_gettime(CLOCK_MONOTONIC, &t_stop); - + t_ns = ELAPSED_NS(t_start, t_stop); elapsed_t_ns += t_ns; min_t_ns = MIN(t_ns, min_t_ns); @@ -872,19 +920,25 @@ static void *run(hashpipe_thread_args_t * args) // Copy all contents if (curr_file_bcnt >= 0){ file_offset = strt_bcnt - curr_file_bcnt; - //fprintf(stdout, "Writing to offset: %d\n", file_offset); + clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); - //write_baseline_index(&diff_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); + write_baseline_index(&sum_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, + (uint64_t *)bl_buf_sum, flags, nsamples); + #ifndef SKIP_DIFF + write_baseline_index(&diff_file, file_offset, N_BL_PER_WRITE, mem_space_bl_per_write, + (uint64_t *)bl_buf_diff, flags, nsamples); + #endif + clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< N_BL_PER_WRITE; b++){ ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; - time_array_buf[file_offset+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time); - flags[file_offset+b] = 0; + + time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time, + integration_time_buf[file_offset+b]); } - // Update time and sample counters + file_nblts += N_BL_PER_WRITE; w_ns = ELAPSED_NS(w_start, w_stop); @@ -904,7 +958,7 @@ static void *run(hashpipe_thread_args_t * args) } else { break_bcnt = ((strt_bcnt / bcnts_per_file) + 1) * bcnts_per_file; } - fprintf(stderr, "Breaking at bcnt: %d\n", break_bcnt); + fprintf(stdout, "Breaking at bcnt: %d\n", break_bcnt); if (break_bcnt % bcnts_per_file) { fprintf(stderr,"Something is wrong\n"); } @@ -914,27 +968,35 @@ static void *run(hashpipe_thread_args_t * args) if (curr_file_bcnt >=0){ // copy data nbls = break_bcnt - strt_bcnt; - //fprintf(stderr, "Copying till bcnt: %d\t Number of baselines: %d\n", break_bcnt, nbls); + if (nbls > 0){ + // select the hyperslab of the shared mem to write to file hsize_t start[N_DATA_DIMS] = {0, 0, 0 ,0}; - hsize_t count[N_DATA_DIMS] = {nbls, 1, N_CHAN_PROCESSED, N_STOKES}; - status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); + hsize_t count[N_DATA_DIMS] = {nbls, 1, 1, 1}; + hsize_t block[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, block); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); pthread_exit(NULL); } file_offset = strt_bcnt - curr_file_bcnt; + clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); - //write_baseline_index(&diff_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); + write_baseline_index(&sum_file, file_offset, nbls, mem_space_bl_per_write, + (uint64_t *)bl_buf_sum, flags, nsamples); + #ifndef SKIP_DIFF + write_baseline_index(&diff_file, file_offset, nbls, mem_space_bl_per_write, + (uint64_t *)bl_buf_diff, flags, nsamples); + #endif + clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< nbls; b++){ ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; - time_array_buf[file_offset+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time); - flags[file_offset+b] = 0; + time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time, + integration_time_buf[file_offset+b]); } file_nblts += nbls; @@ -944,7 +1006,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_error(__FUNCTION__, "Failed to reset selection\n"); pthread_exit(NULL); } - + w_ns = ELAPSED_NS(w_start, w_stop); elapsed_w_ns += w_ns; min_w_ns = MIN(w_ns, min_w_ns); @@ -956,16 +1018,21 @@ static void *run(hashpipe_thread_args_t * args) file_duration = file_stop_t - file_start_t; fprintf(stdout, "Closing datasets and files\n"); - write_header(&sum_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); - write_header(&diff_file, integration_time_buf, time_array_buf, ant_0_array, ant_1_array); + write_header(&sum_file, time_array_buf, ant_0_array, ant_1_array); close_filespaces(&sum_file); - close_filespaces(&diff_file); close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); + + #ifndef SKIP_DIFF + write_header(&diff_file, time_array_buf, ant_0_array, ant_1_array); + close_filespaces(&diff_file); close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); + #endif + file_cnt += 1; hashpipe_status_lock_safe(&st); - hputu8(st.buf, "FILESEC", file_duration); + hputr4(st.buf, "FILESEC", (float)file_duration); + hputi8(st.buf, "NDONEFIL", file_cnt); hashpipe_status_unlock_safe(&st); // If this is the last file, mark this block done and get out of the loop @@ -983,63 +1050,73 @@ static void *run(hashpipe_thread_args_t * args) // Open new sum and difference files // Init all counters to zero + + fprintf(stdout, "Init arrays\n"); + file_nblts = 0; file_nts = 0; memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); memset(ant_1_array, 0, bcnts_per_file * sizeof(uint16_t)); memset(time_array_buf, 0, bcnts_per_file * sizeof(double)); - memset(integration_time_buf, 0, bcnts_per_file * sizeof(double)); curr_file_bcnt = break_bcnt; block_offset = bctr + break_bcnt - strt_bcnt; - fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); - fprintf(stderr, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_offset]); + fprintf(stdout, "Curr file bcnt: %d\n", curr_file_bcnt); + fprintf(stdout, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_offset]); gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset], sync_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); file_start_t = gps_time; file_obs_id = (int64_t)gps_time; sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); - sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); - start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + #ifndef SKIP_DIFF + sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); + start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + #endif // Get the antenna positions and baseline orders // These are needed for populating the ant_[1|2]_array and uvw_array - get_ant_pos(&sum_file, ant_pos); - get_bl_order(&sum_file, bl_order); - //get_bl_bda_order(&sum_file, bl_bda_order); - get_auto_indices(bl_order, auto_indices, VIS_MATRIX_ENTRIES_PER_CHAN / N_STOKES); + //get_ant_pos(&sum_file, ant_pos); + //get_bl_order(&sum_file, bl_order); + get_integration_time(&sum_file, integration_time_buf); // Copy data to the right location nbls = stop_bcnt - break_bcnt + 1; - //fprintf(stderr, "Copying nbls: %d\n", nbls); + // fprintf(stdout, "Copying nbls: %d\n", nbls); if (nbls > 0){ if (nbls % N_BL_PER_WRITE){ hsize_t start[N_DATA_DIMS] = {block_offset, 0, 0, 0}; - hsize_t count[N_DATA_DIMS] = {nbls, 1, N_CHAN_PROCESSED, N_STOKES}; - status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); + hsize_t count[N_DATA_DIMS] = {nbls, 1, 1, 1}; + hsize_t block[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; + status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, block); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); pthread_exit(NULL); } } file_offset = break_bcnt - curr_file_bcnt; - clock_gettime(CLOCK_MONOTONIC, &w_start); - write_baseline_index(&sum_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_sum); - //write_baseline_index(&diff_file, file_offset, nbls, mem_space_bl_per_write, (uint64_t *)bl_buf_diff); - clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< nbls; b++){ ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[block_offset+b]; ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[block_offset+b]; - time_array_buf[file_offset+b] = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset+b], sync_time); - flags[file_offset+b] = 0; + time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[block_offset+b], sync_time, + integration_time_buf[file_offset+b]); } + + clock_gettime(CLOCK_MONOTONIC, &w_start); + write_baseline_index(&sum_file, file_offset, nbls, mem_space_bl_per_write, + (uint64_t *)bl_buf_sum, flags, nsamples); + #ifndef SKIP_DIFF + write_baseline_index(&diff_file, file_offset, nbls, mem_space_bl_per_write, + (uint64_t *)bl_buf_diff, flags, nsamples); + #endif + clock_gettime(CLOCK_MONOTONIC, &w_stop); + file_nblts += nbls; //reset selection @@ -1048,6 +1125,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_error(__FUNCTION__, "Failed to reset selection\n"); pthread_exit(NULL); } + w_ns = ELAPSED_NS(w_start, w_stop); elapsed_w_ns += w_ns; min_w_ns = MIN(w_ns, min_w_ns); @@ -1069,7 +1147,6 @@ static void *run(hashpipe_thread_args_t * args) hputr4(st.buf, "DISKWBNS", bl_w_ns); hputi8(st.buf, "DISKWMIN", min_w_ns); hputi8(st.buf, "DISKWMAX", max_w_ns); - hputi8(st.buf, "DISKWBL", w_ns/BASELINES_PER_BLOCK); From 6e4f9a3330201536a73eb0d2b8e1bafe62d68be5 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 5 Sep 2019 17:39:49 -0700 Subject: [PATCH 264/420] BDA version of header template --- src/scripts/hera_make_hdf5_template_bda.py | 298 +++++++++++++++++++++ 1 file changed, 298 insertions(+) create mode 100644 src/scripts/hera_make_hdf5_template_bda.py diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py new file mode 100644 index 00000000..4d929679 --- /dev/null +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -0,0 +1,298 @@ +#!/usr/bin/env python + +from __future__ import print_function, division, absolute_import +import h5py +import sys +import json +import logging +import numpy as np +import time +import copy +import redis +from hera_corr_f import helpers + +logger = helpers.add_default_log_handlers(logging.getLogger(__file__)) + +def get_corr_to_hera_map(r, nants_data=192, nants=352): + """ + Given a redis.Redis instance, r, containing + appropriate metadata - figure out the mapping + of correlator index (0 - Nants_data -1) to + hera antenna number (0 - Nants). + """ + out_map = np.arange(nants, nants + nants_data) # use default values outside the range of real antennas + + # A dictionary with keys which are antenna numbers + # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} + ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + #host_to_index = r.hgetall("corr:snap_ants") + for ant, pol in ant_to_snap.iteritems(): + hera_ant_number = int(ant) + host = pol["n"]["host"] + chan = pol["n"]["channel"] # runs 0-5 + snap_ant_chans = r.hget("corr:snap_ants", host) + if snap_ant_chans is None: + logger.warning("Couldn't find antenna indices for %s" % host) + continue + corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) + print(corr_ant_number) + out_map[corr_ant_number] = hera_ant_number + logger.info("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) + + return out_map + +def get_bl_order(n_ants): + """ + Return the order of baseline data output by a CASPER correlator + X engine. + + Extracted from the corr package -- https://github.com/ska-sa/corr + """ + order1, order2 = [], [] + for i in range(n_ants): + for j in range(int(n_ants//2),-1,-1): + k = (i-j) % n_ants + if i >= k: order1.append((k, i)) + else: order2.append((i, k)) + order2 = [o for o in order2 if o not in order1] + return tuple([o for o in order1 + order2]) + +def get_ant_names(): + """ + Generate a list of antenna names, where position + in the list indicates numbering in the data files. + """ + return ["foo"]*352 + +def get_cm_info(): + from hera_mc import sys_handling + h = sys_handling.Handling() + return h.get_cminfo_correlator() + +def get_antpos_enu(antpos, lat, lon, alt): + """ + Compute the antenna positions in ENU coordinates from rotECEF. + + Args: + antpos -- array of antenna positions. Should have shape (Nants, 3). + lat (float) -- telescope latitude, in radians + lon (float) -- telescope longitude, in radians + alt (float) -- telescope altitude, in meters + + Returns: + enu -- array of antenna positions in ENU frame. Has shape (Nants, 3). + """ + import pyuvdata.utils as uvutils + ecef = uvutils.ECEF_from_rotECEF(antpos, lon) + enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) + return enu + +def get_antpos_ecef(antpos, lon): + """ + Compute the antenna positions in ECEF coordinates from rotECEF + + Args: + antpos -- array of antenna positions. Should have shape (Nants, 3). + lon (float) -- telescope longitude, in radians + + Returns: + ecef -- array of antenna positions in ECEF frame. Has shape (Nants, 3) + """ + import pyuvdata.utils as uvutils + ecef = uvutils.ECEF_from_rotECEF(antpos, lon) + return ecef + +def get_telescope_location_ecef(lat, lon, alt): + """ + Compute the telescope location in ECEF coordinates from lat/lon/alt. + + Args: + lat (float) -- telescope latitude, in radians + lon (float) -- telescope longitude, in radians + alt (float) -- telescope altitude, in meters + + Returns: + ecef -- len(3) array of x,y,z values of telescope location in ECEF + coordinates, in meters. + """ + import pyuvdata.utils as uvutils + return uvutils.XYZ_from_LatLonAlt(lat, lon, alt) + + +def create_header(h5, config, use_cm=False, use_redis=False): + """ + Create an HDF5 file with appropriate datasets in a "Header" + data group. + + inputs: h5 -- an h5py File object + use_cm -- boolean. If True, get valid data from the hera_cm + system. If False, just stuff the header with fake + data. + """ + + INSTRUMENT = "HERA" + + #Load config file + config = np.loadtxt(config, dtype=np.int) + baselines = [] + integration_time = [] + time_ctr = 0 + + for time_ctr in range(1,9,1): + for i,t in enumerate(config[:,2]): + if (t==0): continue + elif not (time_ctr % t): + baselines.append((config[i,0], config[i,1])) + integration_time.append(t * 2) + + ant_1_array = np.array([x for (x,y) in baselines]) + ant_2_array = np.array([y for (x,y) in baselines]) + + NANTS_DATA = len(set(ant_1_array)) + NANTS = 352 + NCHANS = int(2048 // 4 * 3) + NCHANS_F = 8192 + NCHAN_SUM = 4 + ANT_DIAMETER = 14.0 + INT_TIME = 10.0 + n_bls = len(baselines) #bls = np.array(get_bl_order(NANTS_DATA)) + channel_width = 250e6 / NCHANS_F * NCHAN_SUM + freqs = np.linspace(0, 250e6, NCHANS_F + 1)[1536 : 1536 + (8192 // 4 * 3)] + # average over channels + freqs = freqs.reshape(NCHANS, NCHAN_SUM).sum(axis=1) / NCHAN_SUM + + if use_cm: + cminfo = get_cm_info() + # add the enu co-ords + lat = cminfo["cofa_lat"] * np.pi / 180. + lon = cminfo["cofa_lat"] * np.pi / 180. + cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, + cminfo["cofa_alt"]) + else: + cminfo = None + + if use_redis: + r = redis.Redis("redishost") + fenginfo = r.hgetall("init_configuration") + corr_to_hera_map = get_corr_to_hera_map(r, nants_data=NANTS_DATA, nants=NANTS) + for n in range(baselines.shape[0]): + bls[n] = [corr_to_hera_map[bls[n,0]], corr_to_hera_map[bls[n,1]]] + else: + fenginfo = None + # Use impossible antenna numbers to indicate they're not really valid + corr_to_hera_map = np.arange(NANTS, NANTS+NANTS_DATA) + + header = h5.create_group("Header") + header.create_dataset("Nants_data", dtype=" radians + lat = cminfo['cofa_lat'] * np.pi / 180. + lon = cminfo['cofa_lon'] * np.pi / 180. + alt = cminfo['cofa_alt'] + telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) + antpos_ecef = get_antpos_ecef(cminfo["antenna_positions"], lon) + header.create_dataset("altitude", dtype=" Date: Thu, 5 Sep 2019 17:41:00 -0700 Subject: [PATCH 265/420] add chan sum --- src/paper_databuf.h | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 79812585..e9b142dd 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -301,8 +301,8 @@ typedef struct hera_bda_databuf{ #define CATCHER_PORT 10000 #define OUTPUT_BYTES_PER_PACKET (4096) #define CATCHER_N_BLOCKS 4 -#define CATCHER_CHAN_SUM 1 #define XENG_CHAN_SUM 4 +#define CATCHER_CHAN_SUM 1 #define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) #define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) #define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) @@ -343,7 +343,8 @@ typedef struct hera_catcher_input_databuf { * Structures and parameters */ -#define BASELINES_PER_BLOCK 8192 +#define BASELINES_PER_BLOCK 256 //8192 +#define CATCHER_CHAN_SUM_BDA 4 #define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 #define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 #define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) // 3 @@ -367,14 +368,20 @@ typedef struct hera_catcher_input_databuf { // s2 // s3 + #define hera_bda_buf_data_offset(l, s, b, o) \ ((((l)*(b)*N_CHAN_PER_X*N_STOKES)+((s)*N_CHAN_PER_X*N_STOKES)+((o)*CHAN_PER_CATCHER_PKT*N_STOKES))*2) +// b-- bcnt; t-- time_demux ; x-- xeng_id; o-- freq offset(0,1,2) #define hera_catcher_bda_input_databuf_pkt_offset(b, t, x, o) \ (((b)*TIME_DEMUX*PACKETS_PER_BASELINE) + ((t)*PACKETS_PER_BASELINE) + ((x)*PACKETS_PER_BL_PER_X) + (o)) -#define hera_catcher_bda_input_databuf_by_bcnt_idx32(b,s) \ - (((b)*TIME_DEMUX + (s))*N_CHAN_TOTAL*N_STOKES*2) +#define hera_catcher_bda_input_databuf_by_bcnt_idx32(b,p) \ + (((b)*TIME_DEMUX*N_CHAN_TOTAL*N_STOKES*2) + ((p)*N_CHAN_TOTAL*N_STOKES*2)) + +// b- bcnt; p- parity (even=0/odd=1); f- freq; s- stokes +#define hera_catcher_bda_input_databuf_idx32(b,p,f,s) \ + (((b)*TIME_DEMUX*N_CHAN_TOTAL*N_STOKES) + ((p)*N_CHAN_PROCESSED*N_STOKES) + ((f)*N_STOKES) + (s)) typedef struct hera_catcher_bda_input_header{ uint64_t good_data; From 61f6f052d5cac049b282cf28da83e2b5396685b2 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 5 Sep 2019 17:41:54 -0700 Subject: [PATCH 266/420] remove hardcoding config file --- src/hera_gpu_bda_thread.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 2e9bdd2e..c8fc5c6f 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -257,10 +257,6 @@ static int init(struct hashpipe_thread_args *args) hgets(st.buf, "BDACONF", 128, config_fname); hashpipe_status_unlock_safe(&st); - if (config_fname!=NULL){ - sprintf(config_fname, "/home/deepthi/paper_gpu/src/bdaconfig/test_bda_192ants_nobda.txt"); - } - // Initialize binfo with config file params init_bda_info(binfo, config_fname); @@ -391,9 +387,7 @@ static void *run(hashpipe_thread_args_t * args) hputi4(st.buf, "BDABLKOUT", curblock_out); hashpipe_status_unlock_safe(&st); - /* -------------------------------------------------- */ - /* Loop through baselines and add/buffer the packets */ - /* -------------------------------------------------- */ + /* Perform the baseline dependent averaging */ buf = &(odb->block[curblock_out]); int32_t *pf_re = idb->block[curblock_in].data; From 8e446de781e67b7ddc2918b1211b5d3e466a7923 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 5 Sep 2019 17:42:39 -0700 Subject: [PATCH 267/420] add BDACONF param to redis --- src/scripts/xtor_up.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index fea69f1d..004654a1 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -32,6 +32,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Number of independent correlators. E.g. 2 => Even/odd correlator') parser.add_argument('-i', dest='ninstances', type=int, default=2, help='Number of pipeline instances per host') +parser.add_argument('-c', dest='bdaconf', type=str, default='/tmp/bdaconfig.txt', + help='Loaction of BDA config file (used only if --bda flag is used)') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) parser.add_argument('--ibverbs', dest='ibverbs', action='store_true', default=False, @@ -81,6 +83,14 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Wait for the gateways to come up time.sleep(3) +# Generate the BDA config file and upload to redis +# TODO: call script to upload to redis +if args.bda: + for hn,host in enumerate(hosts): + for i in range(args.ninstances): + key = 'hashpipe://%s/%d/set' % (host, i) + r.publish(key, 'BDACONF=%s' %(args.bdaconf)) + # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): for i in range(args.ninstances): From 2c1be6e9f43347463a3cb007d8d44f62e5da35bb Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 5 Sep 2019 17:43:09 -0700 Subject: [PATCH 268/420] add ramp test vecs --- src/scripts/hera_check_catcher_bda.py | 17 +++++--- src/scripts/hera_fake_bda_output.py | 58 ++++++++++++--------------- 2 files changed, 36 insertions(+), 39 deletions(-) diff --git a/src/scripts/hera_check_catcher_bda.py b/src/scripts/hera_check_catcher_bda.py index eb433146..d04b908f 100644 --- a/src/scripts/hera_check_catcher_bda.py +++ b/src/scripts/hera_check_catcher_bda.py @@ -37,14 +37,19 @@ def decode_packet(packet): int_bin['baselines'] = {} int_bin['data'] = {} +fakereal = 1 +fakeimag = 2 + for n in range(Nbins): int_bin['baselines'][n] = [] - int_bin['data'][n] = (2**n)*np.ones(1024) - int_bin['data'][n][1::2] = -2*(2**n) -# 32 sec integrations are only 16sec now -int_bin['data'][4] = (2**3)*np.ones(1024) -int_bin['data'][4][1::2] = -2*(2**3) + # Ramp + int_bin['data'][n] = (2**n)*np.repeat((np.arange(128)+fakereal),8) + int_bin['data'][n][1::2] = -1*(2**n) * np.repeat((np.arange(128)+fakeimag),4) + + # Const + #int_bin['data'][n] = (2**n)*np.ones(1024) + #int_bin['data'][n][1::2] = -2*(2**n) bdaconfig = np.loadtxt('../bda_config_192ants_nobda.txt', dtype=np.int) for i,t in enumerate(bdaconfig[:,2]): @@ -73,7 +78,7 @@ def decode_packet(packet): print "Error! Received wrong antenna!" n = [y for y,v in int_bin['baselines'].items() if (a0,a1) in v][0] if not (np.all(data == int_bin['data'][n])): - print "Error!", int_bin['data'][n][:8], o, n, data[:8] + print "Error!", int_bin['data'][n][:32:8], o, n, data[:32:8] errors += 1 except(KeyboardInterrupt): print("") diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py index 8f24452d..b9ad1534 100755 --- a/src/scripts/hera_fake_bda_output.py +++ b/src/scripts/hera_fake_bda_output.py @@ -9,14 +9,22 @@ import struct import socket import time +import redis parser = argparse.ArgumentParser(description='Generate FAKE output to test catcher pipeline with baseline dependent averaging', formatter_class=argparse.ArgumentDefaultsHelpFormatter) -parser.add_argument('config', type=str, help='BDA config file') +parser.add_argument('--config', type=str, default=None, + help='BDA config file') parser.add_argument('--catcher', type=str, default = '10.80.40.251', help='IP address of the Catcher machine') args = parser.parse_args() +if args.config: + config = args.config +else: + r = redis.Redis('redishost') + config = r.get('bda:config') + Na = 352 # antennas Nx = 16 # xeng Nc = 384 # chan @@ -31,16 +39,28 @@ int_bin['baselines'] = {} int_bin['data'] = {} +fakereal = 1 +fakeimag = 2 + for n in range(Nbins): int_bin['baselines'][n] = [] - int_bin['data'][n] = (2**n)*np.ones(1024, dtype=np.int32) - int_bin['data'][n][1::2] = -2*(2**n) + + # Constant + #int_bin['data'][n] = (2**n)*np.ones(1024, dtype=np.int32) + #int_bin['data'][n][1::2] = -2*(2**n) + + # Ramp + int_bin['data'][n] = (2**n)*np.repeat((np.arange(128, + dtype=np.int32)+fakereal),8) + int_bin['data'][n][1::2] = -1*(2**n) * np.repeat((np.arange(128, + dtype=np.int32)+fakeimag),4) + # convert to binary data for speedup int_bin['data'][n] = np.array(int_bin['data'][n]).byteswap().tostring() # Populate baseline pairs from config file -bdaconfig = np.loadtxt(args.config, dtype=np.int) +bdaconfig = np.loadtxt(config, dtype=np.int) for i,t in enumerate(bdaconfig[:,2]): if (t==0): continue n = int(np.log(t)/np.log(2)) @@ -60,7 +80,7 @@ for ns in np.logspace(1, Nbins, num=Nbins, base=2, dtype=np.int): if (ctr%ns == 0): nb = int(np.log2(ns)) - 1 - print 'Sending: %d Baselines: %d Bcnt: %d' % (ns, len(int_bin['baselines'][nb]), bcnt) + print 'Sending: %d \tBaselines: %d \tBcnt: %d' % (ns, len(int_bin['baselines'][nb]), bcnt) for (a0,a1) in int_bin['baselines'][nb]: for xeng_id in range(Nx*Nt): b = mcnt+((xeng_id//Nx)*2) @@ -75,31 +95,3 @@ time.sleep(sleep_time) bcnt += 1 -#def send_xeng(xeng_id): -# print 'Xeng: ', xeng_id -# sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) -# #sock.bind(("10.10.10.5",10000+xeng_id)) -# bcnt = 0; mcnt = 0; ctr = 1; -# while True: -# for nb in np.nonzero(np.logical_not(ctr%inttimes))[0]: -# for (a0,a1) in int_bin['baselines'][nb]: -# b = mcnt+((xeng_id//Nx)*2) -# pkt = struct.pack('>1Q2I4H', b, bcnt, 0, a0, a1, xeng_id, 4096) + int_bin['data'][nb] -# sock.sendto(pkt, (udp_ip, udp_port)) -# pkt = struct.pack('>1Q2I4H', b, bcnt, 1, a0, a1, xeng_id, 4096) + int_bin['data'][nb] -# sock.sendto(pkt, (udp_ip, udp_port)) -# pkt = struct.pack('>1Q2I4H', b, bcnt, 2, a0, a1, xeng_id, 4096) + int_bin['data'][nb] -# sock.sendto(pkt, (udp_ip, udp_port)) -# bcnt += 1 -# ctr += 1 -# - -#threads = [] -#for xeng_id in range(16): -# t = threading.Thread(target=send_xeng, args=(xeng_id,)) -# threads.append(t) -# t.start() - -#xeng_id = 0 -#send_xeng(xeng_id) - From 0ee50e559a0dd9bb797049e8d6d9bd11bf7da0c2 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Thu, 5 Sep 2019 17:48:15 -0700 Subject: [PATCH 269/420] Update BDACONF param on startup --- src/scripts/hera_catcher_up.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index df6a6524..fa3d5971 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -31,9 +31,9 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') -parser.add_argument('-c', dest='bdaconfig', type=str, default='/tmp/config.h5', +parser.add_argument('-c', dest='bdaconfig', type=str, default='/tmp/bdaconfig.txt', help='Place to put the BDA config file.\ - Used only with the BDA version of catcher scripts.') + Used only if --bda flag is used') parser.add_argument('--bda', dest='bda', action='store_true', default=False, help='Use the baseline dependent averaging version') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, @@ -62,6 +62,12 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Wait for the gateways to come up time.sleep(15) +# Upload config file location +# NOTE: This has to come before template generation! +if args.bda: + r.set('bda:config',args.bdaconfig) +time.sleep(10) + # Generate the meta-data template #run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) From 441c6cc6afe1de004b8303fe3b1feea72d39db11 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 15:50:50 +0000 Subject: [PATCH 270/420] include bath bda and non bda make template files --- src/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index bf4dac35..f98e2f2b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -71,11 +71,12 @@ dist_bin_SCRIPTS = scripts/paper_init.sh \ scripts/xtor_up.py \ scripts/hera_catcher_init.sh \ scripts/hera_catcher_up.py \ - scripts/hera_fake_bda_output.py \ + scripts/hera_fake_bda_output.py \ scripts/hera_catcher_down.sh \ scripts/hera_catcher_take_data.py \ scripts/tweak-perf.sh \ scripts/hera_ctl.py \ + scripts/hera_make_hdf5_template_bda.py \ scripts/hera_make_hdf5_template.py # Non-installed test programs From 215a54a8b3f4c9f472768bb7a7c544fb842a7b65 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 15:53:28 +0000 Subject: [PATCH 271/420] change missed blocks math, remove debugging prints --- src/hera_catcher_net_thread_bda.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index 41f847e8..b846b3cd 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -138,7 +138,7 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf block_missed_pkt_cnt = PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; block_missed_xengs = block_missed_pkt_cnt / (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); - block_missed_mod_cnt = block_missed_xengs % N_XENGINES_PER_TIME; + block_missed_mod_cnt = block_missed_pkt_cnt % (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); //fprintf(stderr,"Missed packets: %ld\tMissed Xengs:%ld\t", block_missed_pkt_cnt, block_missed_xengs); @@ -152,8 +152,6 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf hgetu8(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; hputu8(st_p->buf, "MISSEDPK", missed_pkt_cnt); - // fprintf(stderr, "got %d packets instead of %d\n", - // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); } hashpipe_status_unlock_safe(st_p); @@ -254,8 +252,8 @@ static inline uint32_t process_packet( if ((pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK) || (binfo.block_packet_counter[binfo.block_i] == PACKETS_PER_BLOCK)){ netbcnt = set_block_filled(db, &binfo); - fprintf(stderr,"Filled Block: %d from bcnt: %d to bcnt: %d\n", binfo.block_i, db->block[binfo.block_i].header.bcnt[0], - db->block[binfo.block_i].header.bcnt[BASELINES_PER_BLOCK-1]); + //fprintf(stderr,"Filled Block: %d from bcnt: %d to bcnt: %d\n", binfo.block_i, db->block[binfo.block_i].header.bcnt[0], + // db->block[binfo.block_i].header.bcnt[BASELINES_PER_BLOCK-1]); // Update binfo cur_bcnt += BASELINES_PER_BLOCK; From 1ca311d7ecba06ceeeddc08c21f07039441be04c Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 15:57:17 +0000 Subject: [PATCH 272/420] remove block specification in hyperslabbing... It is not changing write speed --- src/hera_catcher_disk_thread_bda.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index df7a155d..a7c49eaa 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -972,9 +972,9 @@ static void *run(hashpipe_thread_args_t * args) if (nbls > 0){ // select the hyperslab of the shared mem to write to file hsize_t start[N_DATA_DIMS] = {0, 0, 0 ,0}; - hsize_t count[N_DATA_DIMS] = {nbls, 1, 1, 1}; - hsize_t block[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; - status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, block); + hsize_t count[N_DATA_DIMS] = {nbls, 1, N_CHAN_PROCESSED, N_STOKES}; + + status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); pthread_exit(NULL); @@ -1031,7 +1031,7 @@ static void *run(hashpipe_thread_args_t * args) file_cnt += 1; hashpipe_status_lock_safe(&st); - hputr4(st.buf, "FILESEC", (float)file_duration); + hputr8(st.buf, "FILESEC", (float)file_duration); hputi8(st.buf, "NDONEFIL", file_cnt); hashpipe_status_unlock_safe(&st); @@ -1090,10 +1090,10 @@ static void *run(hashpipe_thread_args_t * args) if (nbls > 0){ if (nbls % N_BL_PER_WRITE){ - hsize_t start[N_DATA_DIMS] = {block_offset, 0, 0, 0}; - hsize_t count[N_DATA_DIMS] = {nbls, 1, 1, 1}; - hsize_t block[N_DATA_DIMS] = {1, 1, N_CHAN_PROCESSED, N_STOKES}; - status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, block); + hsize_t start[N_DATA_DIMS] = {block_offset - bctr, 0, 0, 0}; + hsize_t count[N_DATA_DIMS] = {nbls, 1, N_CHAN_PROCESSED, N_STOKES}; + + status = H5Sselect_hyperslab(mem_space_bl_per_write, H5S_SELECT_SET, start, NULL, count, NULL); if (status < 0){ hashpipe_error(__FUNCTION__, "Failed to select hyperslab of shared databuf\n"); pthread_exit(NULL); From 4ecf71155087a3ca66c2e512490b2a6a4dcf128a Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 16:04:20 +0000 Subject: [PATCH 273/420] Add holdoff loop... ... Add a holdoff loop similar to net thread that polls from redis to start this thread because the BDA config filename needs to be pulled from the redis database on start. --- src/hera_gpu_bda_thread.c | 71 ++++++++++++++++++++++----------------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index c8fc5c6f..dbd18f96 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -241,10 +241,6 @@ static int init_bda_block_header(hera_bda_block_t *bdablk){ static int init(struct hashpipe_thread_args *args) { - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - char config_fname[128]; - // Get sizing parameters xgpuInfo(&xgpu_info); @@ -252,10 +248,44 @@ static int init(struct hashpipe_thread_args *args) return -1; } + // Success! + return 0; +} + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our input buffer happens to be a paper_ouput_databuf + paper_output_databuf_t *idb = (paper_output_databuf_t *)args->ibuf; + hera_bda_databuf_t *odb = (hera_bda_databuf_t *)args->obuf; + hashpipe_status_t st = args->st; + const char *status_key = args->thread_desc->skey; + char config_fname[128] = ""; + + // Flag that holds off the net thread + int holdoff = 1; + + // Force this thread into holdoff until BDACONF is written + fprintf(stderr, "Waiting for someone to supply BDACONF\n"); hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "initing"); - hgets(st.buf, "BDACONF", 128, config_fname); + hputs(st.buf, "BDACONF", ""); + hputs(st.buf, status_key, "holding"); hashpipe_status_unlock_safe(&st); + + while(holdoff) { + sleep(1); + hashpipe_status_lock_safe(&st); + hgets(st.buf, "BDACONF", 128, config_fname); + if (strlen(config_fname) > 1){ + holdoff = 0; + } + if(!holdoff) { + // Done holding, so delete the key + hputs(st.buf, status_key, "starting"); + fprintf(stderr, "Starting...\n"); + } + hashpipe_status_unlock_safe(&st); + } // Initialize binfo with config file params init_bda_info(binfo, config_fname); @@ -271,7 +301,6 @@ static int init(struct hashpipe_thread_args *args) // Allocate memory to the output data blocks based on the config file int blk_id,j; - hera_bda_databuf_t *odb = (hera_bda_databuf_t *)args->obuf; hera_bda_block_t *buf; for(blk_id=0; blk_id < odb->header.n_block; blk_id++){ @@ -283,33 +312,16 @@ static int init(struct hashpipe_thread_args *args) init_bda_block_header(buf); - //for(j=0; jheader[j].baselines, - // buf->header[j].datsize); - //} - for(j=0; jdata[j] = malloc(buf->header[j].datsize); - if(!buf->data[j]) - return -1; + if(!buf->data[j]){ + hashpipe_error(__FUNCTION__, "Could not allocate BDA buffer"); + pthread_exit(NULL); + } memset(buf->data[j], 0, buf->header[j].datsize); } } - // Success! - return 0; -} - -static void *run(hashpipe_thread_args_t * args) -{ - // Local aliases to shorten access to args fields - // Our input buffer happens to be a paper_ouput_databuf - paper_output_databuf_t *idb = (paper_output_databuf_t *)args->ibuf; - hera_bda_databuf_t *odb = (hera_bda_databuf_t *)args->obuf; - hashpipe_status_t st = args->st; - const char *status_key = args->thread_desc->skey; - /* Main loop */ int rv; uint64_t total_baselines = 0; @@ -318,12 +330,11 @@ static void *run(hashpipe_thread_args_t * args) struct timespec start, stop; int casper_chan, gpu_chan; uint64_t bl; - int j,pol; + int pol; unsigned long long datoffset = 0; uint16_t ant0, ant1; unsigned long long idx_baseline; off_t idx_regtile; - hera_bda_block_t *buf; int32_t re, im; //pktdata_t is 32bits static uint64_t sample = 0; uint16_t sample_loc; From 51a7cfe6b3183c8c5bcc6511d70428b21e07da03 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 16:07:11 +0000 Subject: [PATCH 274/420] change default eth address to eth5 --- src/scripts/hera_catcher_init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index e1a6bf5a..dfb88951 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -14,7 +14,7 @@ myip=$(getip $(hostname)) function init() { instance=0 mask=0x003f - bindhost=eth5 + bindhost=eth3 netcpu=0 outcpu=3 From 963308052f67917fce25aad2e3d0dd5a3daf109b Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 18:54:08 +0000 Subject: [PATCH 275/420] add the different make_template script for BDA version --- src/scripts/hera_catcher_up.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index fa3d5971..cb3a1c10 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -69,7 +69,10 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(10) # Generate the meta-data template -#run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) +if args.bda: + run_on_hosts([args.host], python_source_cmd + [';'] + ['hera_make_hdf5_template_bda.py'] + [args.hdf5template], wait=True) +else: + run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { From 2cd8051638d3feb4e61626612a04dc809c04c516 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 18:56:54 +0000 Subject: [PATCH 276/420] include cminfo and redis flags for BDA template file --- src/scripts/hera_catcher_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index cb3a1c10..2ef20ae0 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -70,7 +70,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Generate the meta-data template if args.bda: - run_on_hosts([args.host], python_source_cmd + [';'] + ['hera_make_hdf5_template_bda.py'] + [args.hdf5template], wait=True) + run_on_hosts([args.host], python_source_cmd + [';'] + ['hera_make_hdf5_template_bda.py'] + ['c', '-r', args.hdf5template], wait=True) else: run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) From 3807690997287c09e706d2cc6f8090dd74fa9ef3 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 18:57:10 +0000 Subject: [PATCH 277/420] Change integration time array... ... Baselines are sent integration bin by bin by px machines. Previous ordering assumed baselines are sent in time order which is not true. --- src/scripts/hera_make_hdf5_template_bda.py | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 4d929679..c31649a9 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -133,17 +133,24 @@ def create_header(h5, config, use_cm=False, use_redis=False): INSTRUMENT = "HERA" #Load config file + N_MAX_INTTIME = 8 config = np.loadtxt(config, dtype=np.int) baselines = [] integration_time = [] - time_ctr = 0 - - for time_ctr in range(1,9,1): - for i,t in enumerate(config[:,2]): - if (t==0): continue - elif not (time_ctr % t): - baselines.append((config[i,0], config[i,1])) - integration_time.append(t * 2) + + #for time_ctr in range(1,9,1): + # for i,t in enumerate(config[:,2]): + # if (t==0): continue + # elif not (time_ctr % t): + # baselines.append((config[i,0], config[i,1])) + # integration_time.append(t * 2) + + for i,t in enumerate(config[:,2]): + if (t!=0): + baselines.append([(config[i,0], config[i,1])]*(8//t)) + integration_time.append(np.repeat(t*2, int(8//t))) + baselines = np.concatenate(baselines) + integration_time = np.asarray(np.concatenate(integration_time), dtype=np.float64) ant_1_array = np.array([x for (x,y) in baselines]) ant_2_array = np.array([y for (x,y) in baselines]) From 5092d722508ed0aa406e65179280b886ddae84f0 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 19:00:12 +0000 Subject: [PATCH 278/420] Add test vector mode to BDA testing... ... Launches a fake gpu thread and makes threads upstream of it redundant. --- src/scripts/paper_init.sh | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index b317f2a5..f1759379 100644 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -186,7 +186,20 @@ function init() { -c $gpucpu paper_gpu_thread \ -c $outcpu hera_gpu_output_thread - if [ $USE_REDIS -eq 1 ] && [ $USE_BDA -eq 1 ] + if [ $USE_TEST -eq 1 ] + then + echo "launching BDA in TEST VECTOR mode" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o XID=$xid \ + -c $gpucpu hera_fake_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & + + elif [ $USE_REDIS -eq 1 ] && [ $USE_BDA -eq 1 ] then echo "Using redis logger" echo "Using baseline dependent averaging" @@ -261,6 +274,7 @@ function init() { USE_IBVERBS=0 USE_REDIS=0 USE_BDA=0 +USE_TEST=0 for arg in $@; do case $arg in @@ -268,6 +282,7 @@ for arg in $@; do echo "Usage: $(basename $0) [-r] [-i] INSTANCE_ID [...]" echo " -r : Use redis logging (in addition to log files)" echo " -i : Use IB-verbs pipeline (rather than packet sockets)" + echo " -t : Run BDA in test vector mode" echo " -a : Use baseline dependent averaging threads" exit 0 ;; @@ -284,6 +299,10 @@ for arg in $@; do USE_BDA=1 shift ;; + -t) + USE_TEST=1 + shift + ;; esac done @@ -293,6 +312,7 @@ then echo " -r : Use redis logging (in addition to log files)" echo " -i : Use IB-verbs pipeline (rather than packet sockets)" echo " -a : Use baseline dependent averaging threads" + echo " -t : Lauch BDA in test vector mode" exit 1 fi From f7dd48a12e577080a77a1200858cdec56338d567 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 19:01:59 +0000 Subject: [PATCH 279/420] Include test vec mode for BDA --- src/scripts/xtor_up.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 004654a1..01ed1127 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -42,6 +42,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') parser.add_argument('--bda', dest='bda', action='store_true', default=False, help='Use baseline dependent averaging. (Beta)') +parser.add_argument('--test', dest='test', action='store_true', default=False, + help='Run BDA in test vector mode') parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", help='The path to a python virtual environment which will be activated prior to running paper_init. ' + 'Only relevant if using the --redislog flag, which uses a python redis interface') @@ -67,10 +69,14 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): init_args += ['-r'] if args.bda: init_args += ['-a'] +if args.test: + init_args += ['-t'] if args.redislog: python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] run_on_hosts(hosts, python_source_cmd + [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host +elif args.test: + run_on_hosts(hosts, [paper_init] + init_args + ['0'], wait=True) # two instances per host else: run_on_hosts(hosts, [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host @@ -84,12 +90,14 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(3) # Generate the BDA config file and upload to redis -# TODO: call script to upload to redis +# TODO: Replace copy command with generate script +run_on_hosts(hosts, ["cp", args.bdaconf, "/tmp/bdaconfig.txt"], wait=True) + if args.bda: for hn,host in enumerate(hosts): for i in range(args.ninstances): key = 'hashpipe://%s/%d/set' % (host, i) - r.publish(key, 'BDACONF=%s' %(args.bdaconf)) + r.publish(key, 'BDACONF=/tmp/bdaconfig.txt') # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): From d18ca10d84eea39ef366cda66747a70b24155501 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 1 Oct 2019 19:03:05 +0000 Subject: [PATCH 280/420] supress debugging print statements --- src/hera_bda_output_thread.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 41f69352..3f4a9379 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -163,7 +163,7 @@ static void *run(hashpipe_thread_args_t * args) #define stringify(x) stringify2(x) // Open socket - sockfd = open_udp_socket("10.10.10.222",stringify(CATCHER_PORT)); //"catcher", stringify(CATCHER_PORT)); + sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); if(sockfd == -1) { hashpipe_error(__FUNCTION__, "error opening socket"); pthread_exit(NULL); @@ -237,12 +237,12 @@ static void *run(hashpipe_thread_args_t * args) buf = &(db->block[block_idx]); pktdata_t *p_out = pkt.data; - /* -------------------------------------------- */ - /* Loop through baselines and send the packets */ - /* -------------------------------------------- */ + // Loop through baselines and send the packets + // Send all packets of one baseline and then the next + // (e.g. all 8 samples of 2s integrations) for(j=0; j Date: Tue, 1 Oct 2019 19:03:48 +0000 Subject: [PATCH 281/420] include NFILEs --- src/scripts/hera_set_cnethold_trigger.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/hera_set_cnethold_trigger.py b/src/scripts/hera_set_cnethold_trigger.py index ade64edd..48c0189d 100644 --- a/src/scripts/hera_set_cnethold_trigger.py +++ b/src/scripts/hera_set_cnethold_trigger.py @@ -7,3 +7,4 @@ # Release nethread hold r.publish(pubchan, 'CNETHOLD=0') r.publish(pubchan,'TRIGGER=1') +r.publish(pubchan, 'NFILES=10') From b1e12f0e810da860065d571993d1eaf60d6b061f Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Tue, 1 Oct 2019 17:00:57 -0700 Subject: [PATCH 282/420] change sync_time to be interpreted in milliseconds --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index a7c49eaa..453d1c80 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -479,7 +479,7 @@ Turn an mcnt into a UNIX time in double-precision. */ static double mcnt2time(uint64_t mcnt, uint32_t sync_time) { - return sync_time + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); + return (sync_time_ms / 1000.) + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); } /* From 5ffeab8b02ce6783633c7808a101385c7653ccce Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Tue, 1 Oct 2019 17:38:33 -0700 Subject: [PATCH 283/420] uvw array ... ... Generate uvw array for the entire file in the header. Can do this coz the size of the file is fixed. --- src/scripts/hera_make_hdf5_template_bda.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index c31649a9..9536b647 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -250,7 +250,10 @@ def create_header(h5, config, use_cm=False, use_redis=False): # time_array needs populating by receiver (should be center of integrations in JD) #header.create_dataset("time_array", dtype=" Date: Fri, 4 Oct 2019 14:40:20 -0700 Subject: [PATCH 284/420] Autocorr thread... ... Upload autocorrelations to the redis database periodically. This is done by making the disk thread push autocorr data downstream to another hashpipe thread. --- src/Makefile.am | 37 ++--- src/hera_catcher_autocorr_thread.c | 148 ++++++++++++++++++++ src/hera_catcher_disk_thread_bda.c | 112 +++++++++++---- src/paper_databuf.c | 185 ++++++++++++++++++++++++- src/paper_databuf.h | 75 ++++++++++ src/scripts/hera_catcher_init.sh | 2 + src/tests/check_bda_autocorr_output.py | 18 +++ 7 files changed, 531 insertions(+), 46 deletions(-) create mode 100644 src/hera_catcher_autocorr_thread.c create mode 100644 src/tests/check_bda_autocorr_output.py diff --git a/src/Makefile.am b/src/Makefile.am index 5dfbfe69..76352971 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,17 +27,18 @@ paper_threads = paper_fake_net_thread.c \ paper_gpu_thread.c \ paper_fluff_thread.c \ hera_pktsock_thread.c \ - hera_ibv_thread.c \ + hera_ibv_thread.c \ hera_fake_gpu_thread.c \ - paper_crc_thread.c \ - hera_catcher_net_thread_bda.c \ - hera_catcher_net_thread.c \ - hera_catcher_disk_thread_bda.c \ - hera_catcher_disk_thread.c \ + paper_crc_thread.c \ hera_gpu_output_thread.c \ hera_gpu_bda_thread.c \ hera_bda_output_thread.c \ hera_null_thread.c \ + hera_catcher_net_thread_bda.c \ + hera_catcher_net_thread.c \ + hera_catcher_disk_thread_bda.c \ + hera_catcher_disk_thread.c \ + hera_catcher_autocorr_thread.c \ lzf/lzf_c.c \ lzf/lzf_d.c \ lzf_filter.c \ @@ -69,18 +70,18 @@ paper_gpu_la_LDFLAGS += -lhdf5_hl -lhdf5 -lhiredis # Installed scripts dist_bin_SCRIPTS = scripts/paper_init.sh \ scripts/paper_init_ibv.sh \ - scripts/paper_crc_init.sh \ - scripts/xtor_down.sh \ - scripts/xtor_up.py \ - scripts/hera_catcher_init.sh \ - scripts/hera_catcher_up.py \ - scripts/hera_catcher_down.sh \ - scripts/hera_catcher_take_data.py \ - scripts/hera_catcher_stop_data.py \ - scripts/tweak-perf.sh \ - scripts/hera_ctl.py \ - scripts/hera_make_hdf5_template.py \ - scripts/hera_make_hdf5_template_bda.py + scripts/paper_crc_init.sh \ + scripts/xtor_down.sh \ + scripts/xtor_up.py \ + scripts/hera_catcher_init.sh \ + scripts/hera_catcher_up.py \ + scripts/hera_catcher_down.sh \ + scripts/hera_catcher_take_data.py \ + scripts/hera_catcher_stop_data.py \ + scripts/tweak-perf.sh \ + scripts/hera_ctl.py \ + scripts/hera_make_hdf5_template.py \ + scripts/hera_make_hdf5_template_bda.py # Non-installed test programs noinst_PROGRAMS = paper_fluff_test hera_write_hdf5 diff --git a/src/hera_catcher_autocorr_thread.c b/src/hera_catcher_autocorr_thread.c new file mode 100644 index 00000000..381df231 --- /dev/null +++ b/src/hera_catcher_autocorr_thread.c @@ -0,0 +1,148 @@ +/* BDA thread that takes the auto correlations from + * the disk thread and uploads them to redis + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hashpipe.h" +#include "paper_databuf.h" +#include "lzf_filter.h" + +static void *run(hashpipe_thread_args_t * args) +{ + // Local aliases to shorten access to args fields + // Our input buffer is a paper_input_databuf + // Our output buffer is a paper_gpu_input_databuf + hera_catcher_autocorr_databuf_t *db_in = (hera_catcher_autocorr_databuf_t *)args->ibuf; + hashpipe_status_t st = args->st; + const char * status_key = args->thread_desc->skey; + + // A buffer for the real parts of a single auto-corr. Used for writing to redis + float auto_corr_n[N_CHAN_TOTAL]; + float auto_corr_e[N_CHAN_TOTAL]; + + // Redis connection + redisContext *c; + redisReply *reply; + const char *hostname = "redishost"; + int redisport = 6379; + int use_redis = 1; + + int rv; + int ant; + int blkin = 0; + int chan; + uint32_t acc_len; + uint64_t offset; + + struct timeval redistimeout = {0, 100000 }; // 0.1 seconds + c = redisConnectWithTimeout(hostname, redisport, redistimeout); + if (c == NULL || c->err) { + if (c) { + fprintf(stderr, "Redis connection error: %s\n", c->errstr); + redisFree(c); + use_redis = 0; + } else { + fprintf(stderr, "Connection error: can't allocate redis context\n"); + use_redis = 0; + } + } + + while (run_threads()){ + hashpipe_status_lock_safe(&st); + // Get the integration time reported by the correlator + hgetu4(st.buf, "INTTIME", &acc_len); + hashpipe_status_unlock_safe(&st); + + // Wait for new input block to be filled + while((rv=hera_catcher_autocorr_databuf_busywait_filled(db_in, blkin))!= HASHPIPE_OK){ + if (rv==HASHPIPE_TIMEOUT){ + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked_in"); + hashpipe_status_unlock_safe(&st); + } else { + hashpipe_error(__FUNCTION__, "Error waiting for autocorr filled databuf"); + pthread_exit(NULL); + break; + } + } + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "writing"); + hputi4(st.buf, "AUTOBKIN", blkin); + hashpipe_status_unlock_safe(&st); + + // Write autocorrs to redis + if(use_redis){ + for (ant=0; antblock[blkin].header.ant[ant] == 1){ + for (chan=0; chanblock[blkin].data[offset + chan*N_STOKES*2]/ acc_len; + auto_corr_e[chan] = (float) db_in->block[blkin].data[offset + chan*N_STOKES*2 + 2]/ acc_len; + //auto_corr_n[chan] = db_in->block[blkin].data[offset + chan*N_STOKES*2]; + //auto_corr_e[chan] = db_in->block[blkin].data[offset + chan*N_STOKES*2 + 2]; + } + + //fprintf(stdout, "Reporting autocorrs for ant %d to redis\n", ant); + reply = redisCommand(c, "SET auto:%dn %b", ant, auto_corr_n, (size_t) (sizeof(float) * N_CHAN_TOTAL)); + freeReplyObject(reply); + reply = redisCommand(c, "SET auto:%de %b", ant, auto_corr_e, (size_t) (sizeof(float) * N_CHAN_TOTAL)); + freeReplyObject(reply); + }else{ + reply = redisCommand(c, "DEL auto:%dn", ant); + freeReplyObject(reply); + reply = redisCommand(c, "DEL auto:%de", ant); + freeReplyObject(reply); + } + } + + //reply = redisCommand(c, "SET auto:timestamp %lf", julian_time); + reply = redisCommand(c, "SET auto:timestamp %b", &(db_in->block[blkin].header.julian_time), (size_t) (sizeof(double))); + freeReplyObject(reply); + } + + // Mark block as free and advance + if (hera_catcher_autocorr_databuf_set_free(db_in, blkin) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking autocorr databuf %d free", blkin); + pthread_exit(NULL); + } + + blkin = (blkin + 1) % AUTOCORR_N_BLOCKS; + + /* Check for cancel */ + pthread_testcancel(); + } + + // Thread success! + return NULL; +} + +static hashpipe_thread_desc_t hera_catcher_autocorr_thread = { + name: "hera_catcher_autocorr_thread", + skey: "AUTOSTAT", + init: NULL, + run: run, + ibuf_desc: {hera_catcher_autocorr_databuf_create}, + obuf_desc: {NULL} +}; + +static __attribute__((constructor)) void ctor() +{ + register_hashpipe_thread(&hera_catcher_autocorr_thread); +} diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 453d1c80..e6bc7bdc 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -654,6 +654,7 @@ static void *run(hashpipe_thread_args_t * args) // Local aliases to shorten access to args fields // Our input buffer is a hera_catcher_bda_input_databuf hera_catcher_bda_input_databuf_t *db_in = (hera_catcher_bda_input_databuf_t *)args->ibuf; + hera_catcher_autocorr_databuf_t *db_out = (hera_catcher_autocorr_databuf_t *)args->obuf; hashpipe_status_t st = args->st; const char * status_key = args->thread_desc->skey; @@ -690,6 +691,7 @@ static void *run(hashpipe_thread_args_t * args) uint32_t trigger = 0; char tag[128]; uint64_t baseline_dist[N_BDABUF_BINS]; + uint64_t Nants; // Init status variables hashpipe_status_lock_safe(&st); @@ -724,15 +726,20 @@ static void *run(hashpipe_thread_args_t * args) /* Loop(s) */ int32_t *db_in32; + hera_catcher_bda_input_header_t header; int rv; int curblock_in=0; + int curblock_out = 0; float file_start_t, file_stop_t, file_duration; // time from bcnt int64_t file_obs_id, file_nblts=0, file_nts=0; int32_t curr_file_bcnt = -1; uint32_t bctr, strt_bcnt, stop_bcnt, break_bcnt; // bcnt variable - int b; + int i,b; unsigned int nbls, block_offset; uint32_t file_offset; + uint32_t offset_in, offset_out; // for autocorrs + int auto_ants_filled = 0; + uint16_t ant; herr_t status; hdf5_id_t sum_file; @@ -826,9 +833,10 @@ static void *run(hashpipe_thread_args_t * args) file_cnt = 0; hashpipe_status_lock_safe(&st); hputu4(st.buf, "TRIGGER", 0); - + // Get baseline distribution from redis -- this has to be done here // to ensure that redis database is updated before reading. + hgetu8(st.buf,"BDANANT", &Nants); hgetu8(st.buf,"NBL2SEC", &baseline_dist[0]); hgetu8(st.buf,"NBL4SEC", &baseline_dist[1]); hgetu8(st.buf,"NBL8SEC", &baseline_dist[2]); @@ -880,27 +888,29 @@ static void *run(hashpipe_thread_args_t * args) // data by incrementing NFILES without retriggering. idle = 0; - // Got a new data block, update status - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "writing"); - hputi4(st.buf, "DISKBKIN", curblock_in); - hputu8(st.buf, "DISKMCNT", db_in->block[curblock_in].header.mcnt[0]); - hputu8(st.buf, "DISKBCNT", db_in->block[curblock_in].header.bcnt[0]); - hashpipe_status_unlock_safe(&st); - // Start writing files! // A file is defined as bcnts_per_file number of bcnts. If a bcnt belonging // to a new intergation arrives, close the old file and start a new file. clock_gettime(CLOCK_MONOTONIC, &start); db_in32 = (int32_t *)db_in->block[curblock_in].data; + header = db_in->block[curblock_in].header; + + // Got a new data block, update status + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "writing"); + hputi4(st.buf, "DISKBKIN", curblock_in); + hputu8(st.buf, "DISKMCNT", header.mcnt[0]); + hputu8(st.buf, "DISKBCNT", header.bcnt[0]); + hashpipe_status_unlock_safe(&st); + for (bctr=0 ; bctr< BASELINES_PER_BLOCK; bctr += N_BL_PER_WRITE){ // We write N_BL_PER_WRITE at a time. // these variables store the baseline numbers for the start and end of these blocks - strt_bcnt = db_in->block[curblock_in].header.bcnt[bctr]; - stop_bcnt = db_in->block[curblock_in].header.bcnt[bctr+N_BL_PER_WRITE-1]; + strt_bcnt = header.bcnt[bctr]; + stop_bcnt = header.bcnt[bctr+N_BL_PER_WRITE-1]; clock_gettime(CLOCK_MONOTONIC, &t_start); compute_sum_diff(db_in32, bl_buf_sum, bl_buf_diff, bctr); @@ -932,10 +942,10 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< N_BL_PER_WRITE; b++){ - ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; - ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; + ant_0_array[file_offset+b] = (int)header.ant_pair_0[bctr+b]; + ant_1_array[file_offset+b] = (int)header.ant_pair_1[bctr+b]; - time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time, + time_array_buf[file_offset+b] = compute_jd_from_mcnt(header.mcnt[bctr+b], sync_time, integration_time_buf[file_offset+b]); } @@ -993,9 +1003,9 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< nbls; b++){ - ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; - ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; - time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time, + ant_0_array[file_offset+b] = (int)header.ant_pair_0[bctr+b]; + ant_1_array[file_offset+b] = (int)header.ant_pair_1[bctr+b]; + time_array_buf[file_offset+b] = compute_jd_from_mcnt(header.mcnt[bctr+b], sync_time, integration_time_buf[file_offset+b]); } file_nblts += nbls; @@ -1039,7 +1049,7 @@ static void *run(hashpipe_thread_args_t * args) if (file_cnt >= nfiles) { fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); if(hera_catcher_bda_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); + hashpipe_error(__FUNCTION__, "error marking catcher bda input databuf %d free", curblock_in); pthread_exit(NULL); } curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; @@ -1062,8 +1072,8 @@ static void *run(hashpipe_thread_args_t * args) curr_file_bcnt = break_bcnt; block_offset = bctr + break_bcnt - strt_bcnt; fprintf(stdout, "Curr file bcnt: %d\n", curr_file_bcnt); - fprintf(stdout, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_offset]); - gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset], sync_time); + fprintf(stdout, "Curr file mcnt: %ld\n", header.mcnt[block_offset]); + gps_time = mcnt2time(header.mcnt[block_offset], sync_time); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); file_start_t = gps_time; file_obs_id = (int64_t)gps_time; @@ -1102,9 +1112,9 @@ static void *run(hashpipe_thread_args_t * args) file_offset = break_bcnt - curr_file_bcnt; for(b=0; b< nbls; b++){ - ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[block_offset+b]; - ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[block_offset+b]; - time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[block_offset+b], sync_time, + ant_0_array[file_offset+b] = (int)header.ant_pair_0[block_offset+b]; + ant_1_array[file_offset+b] = (int)header.ant_pair_1[block_offset+b]; + time_array_buf[file_offset+b] = compute_jd_from_mcnt(header.mcnt[block_offset+b], sync_time, integration_time_buf[file_offset+b]); } @@ -1132,7 +1142,57 @@ static void *run(hashpipe_thread_args_t * args) max_w_ns = MAX(w_ns, max_w_ns); } } - } + } + + /* Copy auto correlations to autocorr buffer */ + + fprintf (stderr, "Processing auto correlations\n"); + if (auto_ants_filled == 0){ + fprintf(stderr, "Waiting for a free databuf\n"); + // Wait for next buffer to get free + while ((rv= hera_catcher_autocorr_databuf_wait_free(db_out, curblock_out)) != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked redis thread"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + break; + } + } + for (i=0; iblock[curblock_out].header.ant[i] = 0; + } + } + + for (bctr=0; bctr < BASELINES_PER_BLOCK; bctr++){ + ant = header.ant_pair_0[bctr]; + if((header.ant_pair_0[bctr] == header.ant_pair_1[bctr]) && (db_out->block[curblock_out].header.ant[ant]==0)){ + offset_in = hera_catcher_bda_input_databuf_by_bcnt_idx32(bctr, 0); + offset_out = hera_catcher_autocorr_databuf_idx32(ant); + memcpy((db_out->block[curblock_out].data + offset_out), (db_in32 + offset_in), N_CHAN_TOTAL*N_STOKES*2*sizeof(uint32_t)); + auto_ants_filled++; + db_out->block[curblock_out].header.ant[ant] = 1; + } + } + + fprintf(stderr, "Autocorr: ants filled: %d\n", auto_ants_filled); + // If you have autocorrs of all antennas + // Mark output block as full and advance + if (auto_ants_filled == Nants){ + fprintf(stderr, "Marking autocorr databuf filled.."); + // Update databuf headers + db_out->block[curblock_out].header.num_ants = Nants; + db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time, 2); + if (hera_catcher_autocorr_databuf_set_filled(db_out, curblock_out) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking out databuf %d full", curblock_out); + pthread_exit(NULL); + } + curblock_out = (curblock_out + 1) % AUTOCORR_N_BLOCKS; + auto_ants_filled = 0; + } clock_gettime(CLOCK_MONOTONIC, &finish); @@ -1180,7 +1240,7 @@ static hashpipe_thread_desc_t hera_catcher_disk_thread_bda = { init: init, run: run, ibuf_desc: {hera_catcher_bda_input_databuf_create}, - obuf_desc: {NULL} + obuf_desc: {hera_catcher_autocorr_databuf_create} }; static __attribute__((constructor)) void ctor() diff --git a/src/paper_databuf.c b/src/paper_databuf.c index 2dd1107a..ee123bd6 100644 --- a/src/paper_databuf.c +++ b/src/paper_databuf.c @@ -197,13 +197,164 @@ hashpipe_databuf_t *hera_catcher_input_databuf_create(int instance_id, int datab + sizeof(hashpipe_databuf_cache_alignment); size_t block_size = sizeof(hera_catcher_input_block_t); int n_block = CATCHER_N_BLOCKS; - fprintf(stdout, "size_t: %u, block size: %lu, nblocks size: %u\n", (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); - fprintf(stdout, "header size: %u, words: %lu\n", (uint32_t)header_size, (uint64_t)(VIS_MATRIX_ENTRIES *TIME_DEMUX)); + //fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", + // (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + //fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, + // (uint64_t)(PACKETS_PER_BLOCK*OUTPUT_BYTES_PER_PACKET)); return hashpipe_databuf_create( instance_id, databuf_id, header_size, block_size, n_block); } +// BDA versions +int hera_catcher_bda_input_databuf_wait_free(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "wait free"); + rv = hashpipe_databuf_wait_free((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "got free"); + return rv; +} + +int hera_catcher_bda_input_databuf_busywait_free(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "busy-wait free"); + rv = hashpipe_databuf_busywait_free((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "busy-got free"); + return rv; +} + +int hera_catcher_bda_input_databuf_wait_filled(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "wait fill"); + rv = hashpipe_databuf_wait_filled((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "got fill"); + return rv; +} + +int hera_catcher_bda_input_databuf_busywait_filled(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "busy-wait fill"); + rv = hashpipe_databuf_busywait_filled((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "busy-got fill"); + return rv; +} + +int hera_catcher_bda_input_databuf_set_free(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + SEMLOG(d, "set free"); + return hashpipe_databuf_set_free((hashpipe_databuf_t *)d, block_id); +} + +int hera_catcher_bda_input_databuf_set_filled(hera_catcher_bda_input_databuf_t *d, int block_id) +{ + SEMLOG(d, "set fill"); + return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); +} + +hashpipe_databuf_t *hera_catcher_bda_input_databuf_create(int instance_id, int databuf_id) +{ +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + + /* Calc databuf sizes */ + size_t header_size = sizeof(hashpipe_databuf_t) + + sizeof(hashpipe_databuf_cache_alignment); + size_t block_size = sizeof(hera_catcher_bda_input_block_t); + int n_block = CATCHER_N_BLOCKS; + //fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", + // (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + //fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, + // (uint64_t)(PACKETS_PER_BLOCK*OUTPUT_BYTES_PER_PACKET)); + + return hashpipe_databuf_create( + instance_id, databuf_id, header_size, block_size, n_block); +} + +// AUTOCORR BLOCKS +int hera_catcher_autocorr_databuf_wait_free(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "wait free"); + rv = hashpipe_databuf_wait_free((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "got free"); + return rv; +} + +int hera_catcher_autocorr_databuf_busywait_free(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "busy-wait free"); + rv = hashpipe_databuf_busywait_free((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "busy-got free"); + return rv; +} + +int hera_catcher_autocorr_databuf_wait_filled(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "wait fill"); + rv = hashpipe_databuf_wait_filled((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "got fill"); + return rv; +} + +int hera_catcher_autocorr_databuf_busywait_filled(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + int rv; + SEMLOG(d, "busy-wait fill"); + rv = hashpipe_databuf_busywait_filled((hashpipe_databuf_t *)d, block_id); + SEMLOG(d, "busy-got fill"); + return rv; +} + +int hera_catcher_autocorr_databuf_set_free(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + SEMLOG(d, "set free"); + return hashpipe_databuf_set_free((hashpipe_databuf_t *)d, block_id); +} + +int hera_catcher_autocorr_databuf_set_filled(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + SEMLOG(d, "set fill"); + return hashpipe_databuf_set_filled((hashpipe_databuf_t *)d, block_id); +} + +hashpipe_databuf_t *hera_catcher_autocorr_databuf_create(int instance_id, int databuf_id) +{ +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + + /* Calc databuf sizes */ + size_t header_size = sizeof(hashpipe_databuf_t) + + sizeof(hashpipe_databuf_cache_alignment); + size_t block_size = sizeof(hera_catcher_autocorr_block_t); + int n_block = CATCHER_N_BLOCKS; + //fprintf(stderr, "size_t: %u, block size: %lu, nblocks size: %u\n", + // (uint32_t)sizeof(size_t),(uint64_t)block_size, (uint32_t)n_block); + //fprintf(stderr, "header size: %u, words: %lu\n", (uint32_t)header_size, + // (uint64_t)(PACKETS_PER_BLOCK*OUTPUT_BYTES_PER_PACKET)); + + return hashpipe_databuf_create( + instance_id, databuf_id, header_size, block_size, n_block); +} + + hashpipe_databuf_t *paper_gpu_input_databuf_create(int instance_id, int databuf_id) { #ifdef DEBUG_SEMS @@ -227,6 +378,15 @@ hashpipe_databuf_t *paper_gpu_input_databuf_create(int instance_id, int databuf_ hashpipe_databuf_t *paper_output_databuf_create(int instance_id, int databuf_id) { +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + /* Calc databuf sizes */ size_t header_size = sizeof(hashpipe_databuf_t) + sizeof(hashpipe_databuf_cache_alignment); @@ -236,3 +396,24 @@ hashpipe_databuf_t *paper_output_databuf_create(int instance_id, int databuf_id) return hashpipe_databuf_create( instance_id, databuf_id, header_size, block_size, n_block); } + +hashpipe_databuf_t *hera_bda_databuf_create(int instance_id, int databuf_id) +{ +#ifdef DEBUG_SEMS + // Init clock variables + if(databuf_id==1) { + clock_gettime(CLOCK_MONOTONIC, &start); + now.tv_sec = start.tv_sec; + now.tv_nsec = start.tv_nsec; + } +#endif + + /* Calc databuf sizes */ + size_t header_size = sizeof(hashpipe_databuf_t) + + sizeof(hashpipe_databuf_cache_alignment); + size_t block_size = sizeof(hera_bda_block_t); + int n_block = N_BDABUF_BLOCKS; + + return hashpipe_databuf_create( + instance_id, databuf_id, header_size, block_size, n_block); +} diff --git a/src/paper_databuf.h b/src/paper_databuf.h index e9b142dd..1342afbd 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -408,6 +408,38 @@ typedef struct hera_catcher_bda_input_databuf { hera_catcher_bda_input_block_t block[CATCHER_N_BLOCKS]; } hera_catcher_bda_input_databuf_t; +/* + * CATCHER - autocorr buffers + */ + +#define BYTES_AUTOCORR_BLK (N_CHAN_TOTAL * N_ANTS * N_STOKES * 8L) +#define AUTOCORR_N_BLOCKS 2 + +#define hera_catcher_autocorr_databuf_idx32(a) \ + ((a)*N_CHAN_TOTAL*N_STOKES*2L) + +typedef struct hera_catcher_autocorr_header{ + uint64_t num_ants; + double julian_time; + uint8_t ant[N_ANTS]; //flag to show if this has been updated +} hera_catcher_autocorr_header_t; + +typedef uint8_t hera_catcher_autocorr_header_cache_alignment[ + CACHE_ALIGNMENT - (sizeof(hera_catcher_autocorr_header_t) % CACHE_ALIGNMENT) +]; + +typedef struct hera_catcher_autocorr_block { + hera_catcher_autocorr_header_t header; + hera_catcher_autocorr_header_cache_alignment padding; + uint32_t data[BYTES_AUTOCORR_BLK/sizeof(uint32_t)]; +} hera_catcher_autocorr_block_t; + +typedef struct hera_catcher_autocorr_databuf { + hashpipe_databuf_t header; + hashpipe_databuf_cache_alignment padding; + hera_catcher_autocorr_block_t block[AUTOCORR_N_BLOCKS]; +} hera_catcher_autocorr_databuf_t; + /* * INPUT BUFFER FUNCTIONS @@ -540,6 +572,49 @@ int hera_catcher_bda_input_databuf_set_free(hera_catcher_bda_input_databuf_t *d, int hera_catcher_bda_input_databuf_set_filled(hera_catcher_bda_input_databuf_t *d, int block_id); +/* + * CATCHER AUTOCORR BUFFER FUNCTIONS + */ + +hashpipe_databuf_t *hera_catcher_autocorr_databuf_create(int instance_id, int databuf_id); + +static inline hera_catcher_autocorr_databuf_t *hera_catcher_autocorr_databuf_attach(int instance_id, int databuf_id) +{ + return (hera_catcher_autocorr_databuf_t *)hashpipe_databuf_attach(instance_id, databuf_id); +} + +static inline int hera_catcher_autocorr_databuf_detach(hera_catcher_autocorr_databuf_t *d) +{ + return hashpipe_databuf_detach((hashpipe_databuf_t *)d); +} + +static inline void hera_catcher_autocorr_databuf_clear(hera_catcher_autocorr_databuf_t *d) +{ + hashpipe_databuf_clear((hashpipe_databuf_t *)d); +} + +static inline int hera_catcher_autocorr_databuf_block_status(hera_catcher_autocorr_databuf_t *d, int block_id) +{ + return hashpipe_databuf_block_status((hashpipe_databuf_t *)d, block_id); +} + +static inline int hera_catcher_autocorr_databuf_total_status(hera_catcher_autocorr_databuf_t *d) +{ + return hashpipe_databuf_total_status((hashpipe_databuf_t *)d); +} + +int hera_catcher_autocorr_databuf_wait_free(hera_catcher_autocorr_databuf_t *d, int block_id); + +int hera_catcher_autocorr_databuf_busywait_free(hera_catcher_autocorr_databuf_t *d, int block_id); + +int hera_catcher_autocorr_databuf_wait_filled(hera_catcher_autocorr_databuf_t *d, int block_id); + +int hera_catcher_autocorr_databuf_busywait_filled(hera_catcher_autocorr_databuf_t *d, int block_id); + +int hera_catcher_autocorr_databuf_set_free(hera_catcher_autocorr_databuf_t *d, int block_id); + +int hera_catcher_autocorr_databuf_set_filled(hera_catcher_autocorr_databuf_t *d, int block_id); + /* * GPU INPUT BUFFER FUNCTIONS */ diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index dfb88951..2de4f833 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -17,6 +17,7 @@ function init() { bindhost=eth3 netcpu=0 outcpu=3 + autocpu=5 if [ $USE_BDA -eq 1 ] then @@ -41,6 +42,7 @@ function init() { -o BINDHOST=$bindhost \ -c $netcpu $netthread \ -c $outcpu $diskthread \ + -c $autocpu hera_catcher_autocorr_thread < /dev/null \ 1> ~/catcher.out.$instance \ 2> ~/catcher.err.$instance & diff --git a/src/tests/check_bda_autocorr_output.py b/src/tests/check_bda_autocorr_output.py new file mode 100644 index 00000000..eef46f0e --- /dev/null +++ b/src/tests/check_bda_autocorr_output.py @@ -0,0 +1,18 @@ +import numpy as np +import struct +import redis +import matplotlib.pyplot as plt + +r = redis.Redis('redishost') + +# From fake data script: +# Data for one stokes, one channel, real + imag: +# '\x00\x00\x00\x01\x00\x00\x00\x01' + +int_bin = np.tile(np.arange(128, dtype=np.int32)+1, 48) + +auto10n = struct.unpack('<6144I', r.get('auto:10n')) + +plt.plot(auto10n) +plt.plot(int_bin, ls='--', c='g') +plt.show() From 94c991a3d35ccd43151e375e776d42fb43d3085c Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 6 Oct 2019 23:26:07 +0000 Subject: [PATCH 285/420] change sync_time to milliseconds --- src/hera_catcher_disk_thread_bda.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 453d1c80..535608c8 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -477,7 +477,7 @@ static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { /* Turn an mcnt into a UNIX time in double-precision. */ -static double mcnt2time(uint64_t mcnt, uint32_t sync_time) +static double mcnt2time(uint64_t mcnt, uint32_t sync_time_ms) { return (sync_time_ms / 1000.) + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); } @@ -491,9 +491,9 @@ static double unix2julian(double unixtime) } */ -static double compute_jd_from_mcnt(uint64_t mcnt, uint32_t sync_time, double integration_time) +static double compute_jd_from_mcnt(uint64_t mcnt, uint32_t sync_time_ms, double integration_time) { - double unix_time = sync_time + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); + double unix_time = (sync_time_ms / 1000.) + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); unix_time = unix_time - integration_time/2; return (2440587.5 + (unix_time / (double)(86400.0))); @@ -679,7 +679,7 @@ static void *run(hashpipe_thread_args_t * args) char hdf5_fname[128]; // Variables for sync time and computed gps time / JD - uint32_t sync_time = 0; + uint32_t sync_time_ms = 0; double gps_time; double julian_time; @@ -801,7 +801,7 @@ static void *run(hashpipe_thread_args_t * args) hgets(st.buf, "HDF5TPLT", 128, template_fname); // Get time that F-engines were last sync'd - hgetu4(st.buf, "SYNCTIME", &sync_time); + hgetu4(st.buf, "SYNCTIME", &sync_time_ms); // Get the integration time reported by the correlator hgetu4(st.buf, "INTTIME", &acc_len); @@ -935,7 +935,7 @@ static void *run(hashpipe_thread_args_t * args) ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; - time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time, + time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time_ms, integration_time_buf[file_offset+b]); } @@ -995,7 +995,7 @@ static void *run(hashpipe_thread_args_t * args) for(b=0; b< nbls; b++){ ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[bctr+b]; ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[bctr+b]; - time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time, + time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[bctr+b], sync_time_ms, integration_time_buf[file_offset+b]); } file_nblts += nbls; @@ -1013,7 +1013,7 @@ static void *run(hashpipe_thread_args_t * args) max_w_ns = MAX(w_ns, max_w_ns); } // finish meta data and close the file - gps_time = mcnt2time(break_bcnt, sync_time); + gps_time = mcnt2time(break_bcnt, sync_time_ms); file_stop_t = gps_time; file_duration = file_stop_t - file_start_t; @@ -1063,7 +1063,7 @@ static void *run(hashpipe_thread_args_t * args) block_offset = bctr + break_bcnt - strt_bcnt; fprintf(stdout, "Curr file bcnt: %d\n", curr_file_bcnt); fprintf(stdout, "Curr file mcnt: %ld\n", db_in->block[curblock_in].header.mcnt[block_offset]); - gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset], sync_time); + gps_time = mcnt2time(db_in->block[curblock_in].header.mcnt[block_offset], sync_time_ms); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); file_start_t = gps_time; file_obs_id = (int64_t)gps_time; @@ -1104,7 +1104,7 @@ static void *run(hashpipe_thread_args_t * args) for(b=0; b< nbls; b++){ ant_0_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_0[block_offset+b]; ant_1_array[file_offset+b] = (int)db_in->block[curblock_in].header.ant_pair_1[block_offset+b]; - time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[block_offset+b], sync_time, + time_array_buf[file_offset+b] = compute_jd_from_mcnt(db_in->block[curblock_in].header.mcnt[block_offset+b], sync_time_ms, integration_time_buf[file_offset+b]); } From 00e50cefdfdff10e3486b91c73d869419430eec0 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 6 Oct 2019 23:28:28 +0000 Subject: [PATCH 286/420] BDA config file... ... script to create BDA config file basesd on antennas availble in the database. Antennas not listed in the database are not recorded to file. --- src/scripts/hera_catcher_up.py | 19 ++++--- src/scripts/hera_create_bda_config.py | 81 +++++++++++++++++++++++++++ src/scripts/xtor_up.py | 18 +++--- 3 files changed, 102 insertions(+), 16 deletions(-) create mode 100644 src/scripts/hera_create_bda_config.py diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 2ef20ae0..44e242c7 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -9,6 +9,7 @@ perf_tweaker = 'tweak-perf-sn.sh' init = 'hera_catcher_init.sh' python_source_cmd = ['source', '~/hera-venv/bin/activate'] +bda_config_cmd = ['hera_create_bda_config.py'] template_cmd = ['hera_make_hdf5_template.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): @@ -31,9 +32,6 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') -parser.add_argument('-c', dest='bdaconfig', type=str, default='/tmp/bdaconfig.txt', - help='Place to put the BDA config file.\ - Used only if --bda flag is used') parser.add_argument('--bda', dest='bda', action='store_true', default=False, help='Use the baseline dependent averaging version') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, @@ -64,13 +62,17 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Upload config file location # NOTE: This has to come before template generation! +# Generate the BDA config file and upload to redis if args.bda: - r.set('bda:config',args.bdaconfig) -time.sleep(10) + print 'Create configuration file' + p = subprocess.Popen(python_source_cmd + [';'] + bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) + p.wait() + #run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', args.bdaconfig], wait=True) + time.sleep(10) # Generate the meta-data template if args.bda: - run_on_hosts([args.host], python_source_cmd + [';'] + ['hera_make_hdf5_template_bda.py'] + ['c', '-r', args.hdf5template], wait=True) + run_on_hosts([args.host], python_source_cmd + [';'] + ['hera_make_hdf5_template_bda.py'] + ['-c', '-r', args.hdf5template], wait=True) else: run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) @@ -98,8 +100,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): baselines = {} for n in range(4): baselines[n] = [] - - bdaconfig = np.loadtxt(args.bdaconfig, dtype=np.int) + + bdaconfig = np.loadtxt('/tmp/bdaconfig.txt', dtype=np.int) for i,t in enumerate(bdaconfig[:,2]): if (t==0): continue n = int(np.log(t)/np.log(2)) @@ -107,6 +109,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) for i in range(4): + print (i, len(baselines[i])) r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) time.sleep(0.1) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py new file mode 100644 index 00000000..c4b3eba6 --- /dev/null +++ b/src/scripts/hera_create_bda_config.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +from __future__ import print_function, division, absolute_import +import h5py +import sys +import json +import logging +import numpy as np +import time +import copy +import redis +from hera_corr_f import helpers + +NANTS = 352 + +def get_cm_info(): + from hera_mc import cm_sysutils + h = cm_sysutils.Handling() + return h.get_cminfo_correlator() + +def get_hera_to_corr_ants(r, ants): + """ + Given a list of antenna numbers, get the + corresponding correlator numbers from the + redis database, using a redis.Redis instance (r) + """ + ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + corr_nums = [] + for a in ants: + host = ant_to_snap['%d'%a]['n']['host'] + chan = ant_to_snap['%d'%a]['n']['channel'] # snap_input_number + snap_ant_chans = r.hget("corr:snap_ants", host) + if snap_ant_chans is None: + continue + corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) + corr_nums.append(corr_ant_number) + + return corr_nums + +def create_bda_config(n_ants_data, use_cm=False, use_redis=False): + # This does not account for BDA!!! + if use_cm: + cminfo = get_cm_info() + ants = cminfo['antenna_numbers'] + + if use_redis: + r = redis.Redis('redishost') + corr_ant_nums = get_hera_to_corr_ants(r, ants) + + else: + corr_ant_nums = np.arange(n_ants_data) + + bl_pairs = [] + for ant0 in range(NANTS): + for ant1 in range(ant0, NANTS, 1): + if (ant0 in corr_ant_nums) and (ant1 in corr_ant_nums): + bl_pairs.append([ant0, ant1, 1]) + else: + bl_pairs.append([ant0, ant1, 0]) + + return bl_pairs + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description='Create a configuration file for BDA '\ + 'using the correlator C+M system to get current meta-data'\ + 'NO BDA IS CURRENTLY PERFORMED!', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument('output',type=str, help = 'Path to which the configuration file should be output') + parser.add_argument('-c', dest='use_cminfo', action='store_true', default=False, + help ='Use this flag to get up-to-date (hopefully) array meta-data from the C+M system') + parser.add_argument('-r', dest='use_redis', action='store_true', default=False, + help ='Use this flag to get up-to-date (hopefully) f-engine meta-data from a redis server at `redishost`') + parser.add_argument('-n', dest='n_ants_data', type=int, default=192, + help ='Number of antennas that have data (used if cminfo is not set)') + args = parser.parse_args() + + baseline_pairs = create_bda_config(args.n_ants_data, use_cm = args.use_cminfo, use_redis=args.use_redis) + np.savetxt(args.output, baseline_pairs, fmt='%d', delimiter=' ') diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 01ed1127..2731fc1c 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -9,6 +9,8 @@ perf_tweaker = 'tweak-perf.sh' paper_init = 'paper_init.sh' paper_init_ibv = 'paper_init_ibv.sh' +python_source_cmd = ['source', '~/hera-venv/bin/activate'] +bda_config_cmd = ['hera_create_bda_config.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): if isinstance(cmd, str): @@ -33,7 +35,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-i', dest='ninstances', type=int, default=2, help='Number of pipeline instances per host') parser.add_argument('-c', dest='bdaconf', type=str, default='/tmp/bdaconfig.txt', - help='Loaction of BDA config file (used only if --bda flag is used)') + help='Location of BDA config file (used only if --bda flag is used)') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) parser.add_argument('--ibverbs', dest='ibverbs', action='store_true', default=False, @@ -90,14 +92,14 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(3) # Generate the BDA config file and upload to redis -# TODO: Replace copy command with generate script -run_on_hosts(hosts, ["cp", args.bdaconf, "/tmp/bdaconfig.txt"], wait=True) - if args.bda: - for hn,host in enumerate(hosts): - for i in range(args.ninstances): - key = 'hashpipe://%s/%d/set' % (host, i) - r.publish(key, 'BDACONF=/tmp/bdaconfig.txt') + python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + run_on_hosts(hosts, python_source_cmd + bda_config_cmd + ["-c", "-r", args.bdaconf], wait=True) + + for hn,host in enumerate(hosts): + for i in range(args.ninstances): + key = 'hashpipe://%s/%d/set' % (host, i) + r.publish(key, 'BDACONF=/tmp/bdaconfig.txt') # Configure the X-engines as even/odd correlators for hn, host in enumerate(hosts): From e1a47c6f972c18c50f45d408bed560149e838be4 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 6 Oct 2019 23:30:19 +0000 Subject: [PATCH 287/420] checnge cm hangling commands, update uvw array computation --- src/scripts/hera_make_hdf5_template_bda.py | 26 ++++++++++------------ 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 9536b647..6286623c 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -20,7 +20,7 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): of correlator index (0 - Nants_data -1) to hera antenna number (0 - Nants). """ - out_map = np.arange(nants, nants + nants_data) # use default values outside the range of real antennas + out_map = {k:v for k,v in enumerate(range(nants, nants+nants_data))} # use default values outside the range of real antennas # A dictionary with keys which are antenna numbers # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} @@ -65,8 +65,8 @@ def get_ant_names(): return ["foo"]*352 def get_cm_info(): - from hera_mc import sys_handling - h = sys_handling.Handling() + from hera_mc import cm_sysutils + h = cm_sysutils.Handling() return h.get_cminfo_correlator() def get_antpos_enu(antpos, lat, lon, alt): @@ -167,6 +167,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): freqs = np.linspace(0, 250e6, NCHANS_F + 1)[1536 : 1536 + (8192 // 4 * 3)] # average over channels freqs = freqs.reshape(NCHANS, NCHAN_SUM).sum(axis=1) / NCHAN_SUM + uvw = np.zeros([n_bls, 3]) if use_cm: cminfo = get_cm_info() @@ -183,7 +184,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): fenginfo = r.hgetall("init_configuration") corr_to_hera_map = get_corr_to_hera_map(r, nants_data=NANTS_DATA, nants=NANTS) for n in range(baselines.shape[0]): - bls[n] = [corr_to_hera_map[bls[n,0]], corr_to_hera_map[bls[n,1]]] + baselines[n] = [corr_to_hera_map[baselines[n,0]], corr_to_hera_map[baselines[n,1]]] else: fenginfo = None # Use impossible antenna numbers to indicate they're not really valid @@ -230,6 +231,8 @@ def create_header(h5, config, use_cm=False, use_redis=False): ant_names[i] = np.string_(cminfo["antenna_names"][n]) ant_nums[i] = cminfo["antenna_numbers"][n] ant_pos_enu[i] = cminfo["antenna_positions_enu"][n] + for i,(a,b) in enumerate(baselines): + uvw[i] = ant_pos_enu[a] - ant_pos_enu[b] header.create_dataset("antenna_names", dtype="|S5", shape=(NANTS,), data=ant_names) header.create_dataset("antenna_numbers", dtype=" Date: Mon, 7 Oct 2019 22:43:01 +0000 Subject: [PATCH 288/420] typo fix --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 2d36924f..00af5f0e 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1185,7 +1185,7 @@ static void *run(hashpipe_thread_args_t * args) fprintf(stderr, "Marking autocorr databuf filled.."); // Update databuf headers db_out->block[curblock_out].header.num_ants = Nants; - db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time, 2); + db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time_ms, 2); if (hera_catcher_autocorr_databuf_set_filled(db_out, curblock_out) != HASHPIPE_OK) { hashpipe_error(__FUNCTION__, "error marking out databuf %d full", curblock_out); pthread_exit(NULL); From 6f1f45f6598d7728b2ce7765bfab2d6d0fef1fb4 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 7 Oct 2019 22:44:21 +0000 Subject: [PATCH 289/420] Log to Redis option --- src/scripts/hera_catcher_init.sh | 97 +++++++++++++++++++++++--------- 1 file changed, 71 insertions(+), 26 deletions(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 2de4f833..76af2156 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -21,55 +21,100 @@ function init() { if [ $USE_BDA -eq 1 ] then - netthread=hera_catcher_net_thread_bda - diskthread=hera_catcher_disk_thread_bda - else - netthread=hera_catcher_net_thread - diskthread=hera_catcher_disk_thread - fi + echo "Using BDA threads" + echo taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread_bda \ + -c $outcpu hera_catcher_disk_thread_bda \ + -c $autocpu hera_catcher_autocorr_thread + + if [ $USE_REDIS -eq 1 ] + then + echo "Using redis logger" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread_bda \ + -c $outcpu hera_catcher_disk_thread_bda \ + -c $autocpu hera_catcher_autocorr_thread \ + < /dev/null 2>&3 1>~/catcher.out.$instance; } \ + 3>&1 1>&2 | tee ~/catcher.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + else + echo "*NOT* using redis logger" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread_bda \ + -c $outcpu hera_catcher_disk_thread_bda \ + -c $autocpu hera_catcher_autocorr_thread \ + < /dev/null \ + 1> ~/catcher.out.$instance \ + 2> ~/catcher.err.$instance & + fi - echo "Using netthread: $netthread" - echo "Using diskthread: $diskthread" - - echo taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -c $netcpu $netthread \ - -c $outcpu $diskthread + elif [ $USE_BDA -eq 0 ] + then + echo taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread - taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -c $netcpu $netthread \ - -c $outcpu $diskthread \ - -c $autocpu hera_catcher_autocorr_thread - < /dev/null \ - 1> ~/catcher.out.$instance \ - 2> ~/catcher.err.$instance & + if [ $USE_REDIS -eq 1 ] + then + echo "Using redis logger" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread \ + < /dev/null 2>&3 1>~/catcher.out.$instance; } \ + 3>&1 1>&2 | tee ~/catcher.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + else + echo "*NOT* using redis logger" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -c $netcpu hera_catcher_net_thread \ + -c $outcpu hera_catcher_disk_thread \ + < /dev/null \ + 1> ~/catcher.out.$instance \ + 2> ~/catcher.err.$instance & + fi + fi } # Default to not using BDA version USE_BDA=0 +USE_REDIS=0 for arg in $@; do case $arg in -h) echo "Usage: $(basename $0) [-a] INSTANCE_ID [...]" - echo " -a: Use baseline dependent averaging threads" + echo " -a : Use baseline dependent averaging threads" + echo " -r : Use redis logging (in addition to log files)" exit 0 ;; - -a) USE_BDA=1 shift ;; + -r) + USE_REDIS=1 + shift + ;; esac done if [ -z "$1" ] then echo "Usage: $(basename $0) [-a] INSTANCE_ID [...]" - echo " -a: Use baseline dependent averaging threads" + echo " -a : Use baseline dependent averaging threads" + echo " -r : Use redis logging (in addition to log files)" exit 1 fi From c7a392987d1255ff8838edc6ca38ebaff0c8287b Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 7 Oct 2019 22:45:01 +0000 Subject: [PATCH 290/420] Set Nants hashpipe var --- src/scripts/hera_catcher_up.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 44e242c7..d6631b11 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -36,6 +36,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Use the baseline dependent averaging version') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) +parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, + help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') args = parser.parse_args() @@ -48,6 +50,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): init_args = [] if args.bda: init_args += ['-a'] +if args.redislog: + init_args += ['-r'] # Start Catcher run_on_hosts([args.host], ['cd', '/data;', init] + init_args + ['0'], wait=True) @@ -65,7 +69,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Generate the BDA config file and upload to redis if args.bda: print 'Create configuration file' - p = subprocess.Popen(python_source_cmd + [';'] + bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) + p = subprocess.Popen(bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) p.wait() #run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', args.bdaconfig], wait=True) time.sleep(10) @@ -98,19 +102,23 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # If BDA is requested, write distribution to redis if args.bda: baselines = {} + Nants = 0 for n in range(4): baselines[n] = [] bdaconfig = np.loadtxt('/tmp/bdaconfig.txt', dtype=np.int) - for i,t in enumerate(bdaconfig[:,2]): + for ant0, ant1, t in bdaconfig: if (t==0): continue - n = int(np.log(t)/np.log(2)) + n = int(np.log2(t)) if (n==4): n = 3 - baselines[n].append((bdaconfig[i,0], bdaconfig[i,1])) + baselines[n].append((ant0, ant1)) + if(ant0 == ant1): + Nants += 1 for i in range(4): print (i, len(baselines[i])) r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) + r.publish(pubchan, 'BDANANT=%d' % Nants) time.sleep(0.1) From 16374fe9e4f2d4bc3520280e86e4f79ec1e4d55d Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 7 Oct 2019 22:58:41 +0000 Subject: [PATCH 291/420] change echo statements to reflect the actual threads launched --- src/scripts/paper_init.sh | 135 +++++++++++++++++++++----------------- 1 file changed, 75 insertions(+), 60 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index f1759379..c37824d4 100644 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -176,19 +176,15 @@ function init() { echo "Using netthread: $netthread" - echo taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -o GPUDEV=$gpudev \ - -o XID=$xid \ - -c $netcpu $netthread \ - -m $flfcpu paper_fluff_thread \ - -c $gpucpu paper_gpu_thread \ - -c $outcpu hera_gpu_output_thread if [ $USE_TEST -eq 1 ] then echo "launching BDA in TEST VECTOR mode" + echo taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -c $gpucpu hera_fake_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o XID=$xid \ @@ -199,63 +195,54 @@ function init() { 1> px${mypx}.out.$instance \ 2> px${mypx}.err.$instance & - elif [ $USE_REDIS -eq 1 ] && [ $USE_BDA -eq 1 ] + elif [ $USE_BDA -eq 1 ] then - echo "Using redis logger" echo "Using baseline dependent averaging" - { taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -o GPUDEV=$gpudev \ - -o XID=$xid \ - -c $netcpu $netthread \ - -m $flfcpu paper_fluff_thread \ - -c $gpucpu paper_gpu_thread \ - -c $bdacpu hera_gpu_bda_thread \ - -c $outcpu hera_bda_output_thread \ - < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ - 3>&1 1>&2 | tee px${mypx}.err.$instance | \ - stdin_to_redis.py -l WARNING > /dev/null & - - elif [ $USE_REDIS -eq 1 ] && [ $USE_BDA -eq 0 ] - then - echo "Using redis logger" - echo "*NOT* using baseline dependent averaging" - { taskset $mask \ + echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o BINDHOST=$bindhost \ -o GPUDEV=$gpudev \ -o XID=$xid \ -c $netcpu $netthread \ -m $flfcpu paper_fluff_thread \ - -c $gpucpu paper_gpu_thread \ - -c $outcpu hera_gpu_output_thread \ - < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ - 3>&1 1>&2 | tee px${mypx}.err.$instance | \ - stdin_to_redis.py -l WARNING > /dev/null & - - elif [ $USE_REDIS -eq 0 ] && [ $USE_BDA -eq 1 ] - then - echo "*NOT* using redis logger" - echo "Using baseline dependent averaging" - taskset $mask \ - hashpipe -p paper_gpu -I $instance \ - -o BINDHOST=$bindhost \ - -o GPUDEV=$gpudev \ - -o XID=$xid \ - -c $netcpu $netthread \ - -m $flfcpu paper_fluff_thread \ - -c $gpucpu paper_gpu_thread \ - -c $bdacpu hera_gpu_bda_thread \ - -c $outcpu hera_bda_output_thread \ - < /dev/null \ - 1> px${mypx}.out.$instance \ - 2> px${mypx}.err.$instance & + -c $gpucpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread + if [ $USE_REDIS -eq 1 ] + then + echo "Using redis logger" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread \ + < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ + 3>&1 1>&2 | tee px${mypx}.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + else + echo "*NOT* using redis logger" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ + -c $outcpu hera_bda_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & + fi else - echo "*NOT* using redis logger" - echo "*NOT* using baseline dependent averaging" - taskset $mask \ + echo "NOT using BDA threads" + echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ -o BINDHOST=$bindhost \ -o GPUDEV=$gpudev \ @@ -263,10 +250,38 @@ function init() { -c $netcpu $netthread \ -m $flfcpu paper_fluff_thread \ -c $gpucpu paper_gpu_thread \ - -c $outcpu hera_gpu_output_thread \ - < /dev/null \ - 1> px${mypx}.out.$instance \ - 2> px${mypx}.err.$instance & + -c $outcpu hera_gpu_output_thread + if [ $USE_REDIS -eq 1 ] + then + echo "Using redis logger" + { taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null 2>&3 1>px${mypx}.out.$instance; } \ + 3>&1 1>&2 | tee px${mypx}.err.$instance | \ + stdin_to_redis.py -l WARNING > /dev/null & + else + echo "*NOT* using redis logger" + echo "*NOT* using baseline dependent averaging" + taskset $mask \ + hashpipe -p paper_gpu -I $instance \ + -o BINDHOST=$bindhost \ + -o GPUDEV=$gpudev \ + -o XID=$xid \ + -c $netcpu $netthread \ + -m $flfcpu paper_fluff_thread \ + -c $gpucpu paper_gpu_thread \ + -c $outcpu hera_gpu_output_thread \ + < /dev/null \ + 1> px${mypx}.out.$instance \ + 2> px${mypx}.err.$instance & + fi fi } From 90b3d645d3ae62ca371b7cf43bbfe211373395ee Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 8 Oct 2019 00:41:53 +0000 Subject: [PATCH 292/420] Verify test file contents --- src/tests/check_bda_uvh5_files.py | 162 ++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 src/tests/check_bda_uvh5_files.py diff --git a/src/tests/check_bda_uvh5_files.py b/src/tests/check_bda_uvh5_files.py new file mode 100644 index 00000000..33bc47e8 --- /dev/null +++ b/src/tests/check_bda_uvh5_files.py @@ -0,0 +1,162 @@ +import numpy as np +import argparse +from pyuvdata import UVData +import h5py +import argparse +from astropy.time import Time +import json + +N_MAX_INTTIME = 8 +N_BDABUF_BINS = 4 +N_CHAN_TOTAL = 6144 +N_STOKES = 4 +NCHANS = 1536 +N_CHAN_CATCHER = 1536 +INTSPEC = 131072*2 + +def signed_int(x): + """Return two's complement interpretation + for 4bit integers""" + if (x&0x8): + return (x - 16) + else: + return x + +def gen_tvg_pol(pol, mode='ramp'): + if mode=='ramp': + ramp = np.arange(2**13, dtype='>B') + tv = ramp + pol + if mode=='const': + tv = np.zeros(NCHANS*4, dtype='>B') + tv = tv + pol + tv_imag = np.asarray([signed_int(x) for x in (tv&(0x0f))]) + tv_real = np.asarray([signed_int(x) for x in (tv>>4)]) + tv = tv_real + 1j*tv_imag + + return tv + + +parser = argparse.ArgumentParser(description='Check contents of a uvh5 file', + formatter_class=argparse.ArgumentDefaultsHelpFormatter) +parser.add_argument('h5fname', type=str, help = 'Path to uvh5 file to test') +parser.add_argument('-c', dest='config', type=str, default='/tmp/bdaconfig.txt', + help='Path to BDA config file') +parser.add_argument('-p', '--paper_gpu', action='store_true', default=False, + help ='Test vectors obtained from hashpipe') +parser.add_argument('-f', '--fengine', action='store_true', default=False, + help ='Test vectors from SNAPs') +parser.add_argument('--ramp', action='store_true', default=False, + help='Frequency ramp in test vectors') +args = parser.parse_args() + +snap_pol_map = {'e2':0, 'n0':1, + 'e6':2, 'n4':2, + 'e10':4, 'n8':5} + +# Compute expected baseline pairs from +# the configuration file +conf = np.loadtxt(args.config, dtype=np.int) +bls_per_bin = np.zeros(N_BDABUF_BINS, dtype=np.int) + +blpairs = [] # All pairs in config file +inttime = [] +baselines = [] +for ant0,ant1,t in conf: + if (t!=0): + baselines.append([(ant0, ant1)]*int(8//t)) + inttime.append(np.repeat(t*2, int(8//t))) + blpairs.append((ant0, ant1)) + bls_per_bin[int(np.log2(t))] += 1 +baselines = np.concatenate(baselines) +inttime = np.asarray(np.concatenate(inttime), dtype=np.float64) +ant_1_array = np.array([x for (x,y) in baselines]) +ant_2_array = np.array([y for (x,y) in baselines]) + + +# Check integration time, ant_1_array and ant_2_array +fp = h5py.File(args.h5fname,'r') +header = fp['Header'] + +print 'Integration time array...' +assert(np.all(np.equal(header['integration_time'][:], inttime))) + +print 'ant_1_array..' +assert(np.all(np.equal(header['ant_1_array'][:], ant_1_array))) + +print 'ant_2_array..' +assert(np.all(np.equal(header['ant_2_array'][:], ant_2_array))) + +print 'Checking deltas in time array..' +jds = Time(header['time_array'][:], format='jd') + +fp.close() + +fakereal = 1 +fakeimag = -2j +int_bin = {} + +if (args.paper_gpu) and not (args.ramp): + print 'Checking Data for {0:s} mode with {1:s} test vectors'.format('Hashpipe','Constant') + + # Constant + for n in range(N_BDABUF_BINS): + d = (2**n)*(fakereal + fakeimag)*np.ones([N_CHAN_TOTAL,N_STOKES], dtype=np.int32) + int_bin[n] = np.sum(d.reshape(-1,4,4), axis=1) + + if (bls_per_bin[0] != 0): + print ('Checking integration 0..') + uv = UVData() + uv.read(args.h5fname, run_check=False, bls=[(0,0)]) + # After catcher sum only 384/4. frequency bins come from one x-eng + assert(np.all(np.equal(uv.data_array[0,0,:96,:], int_bin[0][:96,:]))) + + if (bls_per_bin[1] != 0): + print ('Checking one baseline in integration bin 1..') + uv.read(args.h5fname, run_check=False, bls=[blpairs[bls_per_bin[0]]]) + assert(np.all(np.equal(uv.data_array[0, 0, :96, :], int_bin[1][:96, :]))) + + if (bls_per_bin[2] != 0): + print ('Checking one baseline in integration bin 2..') + uv.read(args.h5fname, run_check=False, bls=[blpairs[bls_per_bin[0]+bls_per_bin[1]]]) + assert(np.all(np.equal(uv.data_array[0, 0, :96, :], int_bin[2][:96, :]))) + + if (bls_per_bin[3] != 0): + print ('Checking one baseline in integration bin 3..') + uv.read(args.h5fname, run_check=False, bls=[blpairs[bls_per_bin[0]+bls_per_bin[1]+bls_per_bin[2]]]) + assert(np.all(np.equal(uv.data_array[0, 0, :96, :], int_bin[3][:96, :]))) + +if args.paper_gpu and args.ramp: + print 'Checking Data for {0:s} mode with {1:s} test vectors'.format('Hashpipe','Ramp') + + # Ramp + for n in range(N_BDABUF_BINS): + x = np.reshape(np.repeat(np.arange(N_CHAN_TOTAL, dtype=np.uint8),N_STOKES),[N_CHAN_TOTAL, N_STOKES]) + int_bin[n] = np.asarray((2**n)*(fakereal + fakeimag)*x, dtype=np.complex64) + +if args.fengine: + print 'Checking data for SNAPS in test vec mode' + + cminfo = json.loads(fp['Header']['extra_keywords']['cminfo'].value) + ants = cminfo['antenna_numbers'] + + if (bls_per_bin[0] != 0): + print ('Checking integration 0..') + uv = UVData() + + for idx_a0, a0 in enumerate(ants): + for idx_a1, a1 in enumerate(ants[idx_a0:]): + loca0 = snap_pol_map[cminfo['correlator_inputs'][idx_a0][0][:2]] + loca1 = snap_pol_map[cminfo['correlator_inputs'][idx_a1][0][:2]] + + uv.read(args.h5fname, bls=[(a0, a1)]) + data = uv.get_data(a0, a1) + + tspec = gen_tvg_pol(loca0)*np.conj(loca1) + tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + + print a1,a2, np.all(tspec == data[0,:,0]//INTSPEC) + + tspec = gen_tvg_pol(snaploc_a1+1)*np.conj(snaploc_a2+1) + tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + + print a1,a2, np.all(tspec == data[0,:,1]//INTSPEC) From 71d5b8323ad79015e36fea3babe00e1f96919d5e Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 8 Oct 2019 00:43:16 +0000 Subject: [PATCH 293/420] Verify non-BDA contents in test vector mode --- src/tests/check_xcorr_ordering_uvh5.py | 83 ++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/tests/check_xcorr_ordering_uvh5.py diff --git a/src/tests/check_xcorr_ordering_uvh5.py b/src/tests/check_xcorr_ordering_uvh5.py new file mode 100644 index 00000000..ef8679e2 --- /dev/null +++ b/src/tests/check_xcorr_ordering_uvh5.py @@ -0,0 +1,83 @@ +import numpy as np +from pyuvdata import UVData +import argparse +import h5py +import pickle + +NCHANS = 1536 +INTSPEC = 131072*2 + +def signed_int(x): + """Return two's complement interpretation + for 4bit integers""" + if (x&0x8): + return (x - 16) + else: + return x + +def gen_tvg_pol(pol, mode='ramp'): + if mode=='ramp': + ramp = np.arange(2**13, dtype='>B') + tv = ramp + pol + if mode=='const': + tv = np.zeros(NCHANS*4, dtype='>B') + tv = tv + pol + tv_imag = np.asarray([signed_int(x) for x in (tv&(0x0f))]) + tv_real = np.asarray([signed_int(x) for x in (tv>>4)]) + tv = tv_real + 1j*tv_imag + + return tv + +parser = argparse.ArgumentParser(description='Sanity check on uvh5 files in tvg mode') +parser.add_argument('uvh5_file', type=str, default=None, + help = 'File recorded by hera_catcher') +parser.add_argument('-d','--check_data',action='store_true',default=False, + help='Check the content of the files') +args=parser.parse_args() + +fp = h5py.File(args.uvh5_file) +cminfo = pickle.loads(fp['Header']['extra_keywords']['cminfo'].value) +fp.close() + +uvd = UVData() +uvd.read_uvh5(args.uvh5_file, run_check=False) +ant_pairs = uvd.get_antpairs() + +shape = list(np.shape(uvd.get_data(0,0))) +zeros_all = np.zeros(shape) +zeros_pol = np.zeros(shape[0:-1]) +pols = ['xx','yy','xy','yx'] +snap_pol_map = {'e2':0, 'n0':1, + 'e6':2, 'n4':2, + 'e10':4, 'n8':5} + +ants = [] +for (a1,a2) in ant_pairs: + try: + if not np.all(uvd.get_data(a1,a2) == zeros_all): + ants.append((a1,a2)) + for i in range(4): + if np.all(np.imag(uvd.get_data(a1,a2)[:,:,i]) == zeros_pol): + print pols[i], a1, a2 + except(KeyError): + pass + +print 'Unique antennas', list(set([a[0] for a in ants])) + +if args.check_data: + for a1,a2 in ants: + if (a1<350)&(a2<350): + idx_a1 = cminfo['antenna_numbers'].index(a1) + idx_a2 = cminfo['antenna_numbers'].index(a2) + snaploc_a1 = snap_pol_map[cminfo['correlator_inputs'][idx_a1][0][:-11]] + snaploc_a2 = snap_pol_map[cminfo['correlator_inputs'][idx_a2][0][:-11]] + + tspec = gen_tvg_pol(snaploc_a1)*np.conj(snaploc_a2) + tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + + print a1,a2, np.all(tspec == uvd.get_data(a1,a2)[0,:,0]/INTSPEC) + + tspec = gen_tvg_pol(snaploc_a1+1)*np.conj(snaploc_a2+1) + tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + + print a1,a2, np.all(tspec == uvd.get_data(a1,a2)[0,:,1]/INTSPEC) From 3f0062b87fcf027fda1b894612de096138f3c8c3 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Tue, 8 Oct 2019 18:56:38 -0700 Subject: [PATCH 294/420] Bug fixes ... ... 1. Change the datoffset in output thread 2. Change gpu_bda thread indexing to replicate old gpu_output thread 3. Minor fixes in databuf and fake threads --- src/hera_bda_output_thread.c | 8 ++-- src/hera_fake_gpu_thread.c | 26 +++++++++++ src/hera_gpu_bda_thread.c | 83 +++++++++++++++++------------------- src/paper_databuf.h | 2 +- 4 files changed, 70 insertions(+), 49 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 3f4a9379..8ffbbd09 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -243,7 +243,7 @@ static void *run(hashpipe_thread_args_t * args) for(j=0; jdata[j][datoffset]), OUTPUT_BYTES_PER_PACKET); + //datoffset = 0; + // hera_bda_buf_data_idx(l,s,b,c,p) + datoffset = hera_bda_buf_data_idx(n_samples, i, bl, chan, 0); for(p=0; pdata[j][datoffset+p]); } diff --git a/src/hera_fake_gpu_thread.c b/src/hera_fake_gpu_thread.c index f502dddc..ce384e92 100644 --- a/src/hera_fake_gpu_thread.c +++ b/src/hera_fake_gpu_thread.c @@ -77,6 +77,32 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ paper_output_databuf_t *db = (paper_output_databuf_t *)args->obuf; hashpipe_status_t st = args->st; const char *status_key = args->thread_desc->skey; + char config_fname[128] = ""; + + // Flag that holds off the net thread + int holdoff = 1; + + // Force this thread into holdoff until BDACONF is written + fprintf(stderr, "Waiting for someone to supply BDACONF\n"); + hashpipe_status_lock_safe(&st); + hputs(st.buf, "BDACONF", ""); + hputs(st.buf, status_key, "holding"); + hashpipe_status_unlock_safe(&st); + + while(holdoff) { + sleep(1); + hashpipe_status_lock_safe(&st); + hgets(st.buf, "BDACONF", 128, config_fname); + if (strlen(config_fname) > 1){ + holdoff = 0; + } + if(!holdoff) { + // Done holding, so delete the key + hputs(st.buf, status_key, "starting"); + } + hashpipe_status_unlock_safe(&st); + } + /* Main loop */ int rv; // store return of buffer status calls diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index dbd18f96..32da1a7a 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -106,27 +106,14 @@ static off_t regtile_index(const int in0, const int in1) // component. A casper ordered buffer consists of four complex values for each // pair of input pairs. Thus, the number of complex values in a casper ordered // buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) - -// For integration buffers, change the ordering to baselines x channels x stokes -// to make it easier to send the packets after integration. - -/* Each baseline (i.e, ant pair) needs a unique index for encoding the - * baseline both while packetization and while building the integration - * buffers. The baseline index function below is an adaption of the - * CASPER index without accounting for the size of each cell or the - * stokes parameters. - */ - -/* The integration buffer location for each baseline is obtained by - * multiplying the baseline_index with: - * (words_per_cell = 8) * (num_chan_per_x = 384) - * Pol offset = 2* (2*(p0^p1) + p0) - */ -static int baseline_index(const int in0, const int in1, const int n) -{ - const int a0 = in0 >> 1; +static off_t casper_index(const int in0, const int in1, const int n) +{ + const int a0 = in0 >> 1; const int a1 = in1 >> 1; + const int p0 = in0 & 1; + const int p1 = in1 & 1; const int delta = a1-a0; + const int num_words_per_cell = 8; const int nant_2 = (n/2) / 2; // Three cases: top triangle, middle rectangle, bottom triangle @@ -145,32 +132,39 @@ static int baseline_index(const int in0, const int in1, const int n) // middle rectangle cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); } - - return cell_index; + //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); + // Pol offset + const int pol_offset = 2*(2*(p0^p1) + p0); + // Word index (in units of words (i.e. floats) of real component + const int index = (cell_index * num_words_per_cell) + pol_offset; + return index; } - -// Redefine casper ordering to place channels next to each other (since -// buffers are packetized this way. Thus, the number of complex values -// per baselines are: 4 stokes * N_CHAN_PER_X -// Total buffersize: 4 * N_CHAN_PER_X * (N/2 * (N/2 + 1)) / 2 -#define N_CASPER_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) + +// For each channel, a casper ordered buffer contains four complex values for +// each pair of input pairs. Thus, the number of complex values in a casper +// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) +#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) // Lookup table mapping baseline_idx to regtile_idx -static off_t *regtile_idx_map; +static off_t *idx_map; static int init_idx_map() { - int a0, a1; - regtile_idx_map = (off_t *)malloc(N_BASELINES * sizeof(off_t)); - if(!regtile_idx_map) { + int a0, a1, p0, p1, i, j; + idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); + if(!idx_map) { return -1; } - for(a0=0; a0header[j].ant_pair_0[bl]; ant1 = buf->header[j].ant_pair_1[bl]; - idx_baseline = baseline_index(2*ant0, 2*ant1, N_INPUTS); - idx_regtile = regtile_idx_map[idx_baseline]; - - for(casper_chan=0; casper_chandata[j][datoffset] += re; buf->data[j][datoffset+1] += -im; diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 1342afbd..05da36c4 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -284,7 +284,7 @@ typedef uint8_t hera_bda_header_cache_alignment[ typedef struct hera_bda_block{ hera_bda_header_t header[N_BDABUF_BINS]; hera_bda_header_cache_alignment padding; - uint32_t *data[N_BDABUF_BINS]; + int32_t *data[N_BDABUF_BINS]; } hera_bda_block_t; typedef struct hera_bda_databuf{ From f8373da6acbb6688082d810aa7126790be05a9d1 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Tue, 8 Oct 2019 18:58:38 -0700 Subject: [PATCH 295/420] Add SNAP Vec mode of testing --- src/scripts/hera_check_catcher_bda.py | 103 +++++++++++++++++++------- 1 file changed, 75 insertions(+), 28 deletions(-) diff --git a/src/scripts/hera_check_catcher_bda.py b/src/scripts/hera_check_catcher_bda.py index d04b908f..8c48e2a2 100644 --- a/src/scripts/hera_check_catcher_bda.py +++ b/src/scripts/hera_check_catcher_bda.py @@ -6,14 +6,49 @@ import socket import argparse -Nbins = 5 # number of diff integration bins -Na = 192 # antennas -N_bl_per_block = 16384 # baselines within each block +N_ANTS_DATA = 192 # antennas +N_bl_per_block = 256 # baselines within each block +N_MAX_INTTIME = 8 +N_BDABUF_BINS = 4 +N_CHAN_TOTAL = 6144 +N_STOKES = 4 +NCHANS = 1536 +N_CHAN_CATCHER = 1536 +INTSPEC = 131072 + +def signed_int(x): + """Return two's complement interpretation + for 4bit integers""" + if (x&0x8): + return (x - 16) + else: + return x + +def gen_tvg_pol(pol, mode='ramp'): + if mode=='ramp': + ramp = np.arange(2**13, dtype='>B') + tv = ramp + pol + if mode=='const': + tv = np.zeros(NCHANS*4, dtype='>B') + tv = tv + pol + tv_imag = np.asarray([signed_int(x) for x in (tv&(0x0f))]) + tv_real = np.asarray([signed_int(x) for x in (tv>>4)]) + tv = tv_real + 1j*tv_imag + + return tv + +def decode_packet(packet): + # mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len + p = struct.unpack('>1Q2I4H1024i', packet) + time, bcnt, offset, ant0, ant1, xeng_id, payload_len = p[0:7] + data = np.asarray(p[7:]) + return time, bcnt, offset, ant0, ant1, xeng_id, payload_len, data + parser = argparse.ArgumentParser(description='Test packet format and contents for BDA', formatter_class=argparse.ArgumentDefaultsHelpFormatter) -parser.add_argument('--host', type=str, default="127.0.0.1", +parser.add_argument('--host', type=str, default="10.10.10.222", help='Host to capture data') parser.add_argument('-p', dest='port', type=int, default=10000, help='Host port to receive data') @@ -23,15 +58,16 @@ help='Print some contents of each packet') parser.add_argument('-c', dest='check', action='store_true', default=False, help='Check the packet contents') +parser.add_argument('--config', dest='bdaconfig', type=str, default='/tmp/bdaconfig.txt', + help='BDA config file') +parser.add_argument('--snap', action='store_true', default=False, + help='Set if the test vectors are coming from SNAPs') args = parser.parse_args() -# mcnt, bcnt, offset, ant0, ant1, xeng_id, payload_len -def decode_packet(packet): - p = struct.unpack('>1Q2I4H1024i', packet) - time, bcnt, offset, ant0, ant1, xeng_id, payload_len = p[0:7] - data = np.asarray(p[7:]) - return time, bcnt, offset, ant0, ant1, xeng_id, payload_len, data +snap_pol_map = {'e2':0, 'n0':1, + 'e6':2, 'n4':2, + 'e10':4, 'n8':5} int_bin = {} int_bin['baselines'] = {} @@ -40,25 +76,22 @@ def decode_packet(packet): fakereal = 1 fakeimag = 2 -for n in range(Nbins): +for n in range(N_BDABUF_BINS): int_bin['baselines'][n] = [] # Ramp - int_bin['data'][n] = (2**n)*np.repeat((np.arange(128)+fakereal),8) - int_bin['data'][n][1::2] = -1*(2**n) * np.repeat((np.arange(128)+fakeimag),4) + int_bin['data'][n] = (2**n)*np.repeat((np.arange(384)+fakereal),8) + int_bin['data'][n][1::2] = -1*(2**n) * np.repeat((np.arange(384)+fakeimag),4) # Const #int_bin['data'][n] = (2**n)*np.ones(1024) #int_bin['data'][n][1::2] = -2*(2**n) -bdaconfig = np.loadtxt('../bda_config_192ants_nobda.txt', dtype=np.int) -for i,t in enumerate(bdaconfig[:,2]): - if t==0: continue - n = int(np.log(t)/np.log(2)) - int_bin['baselines'][n].append((bdaconfig[i,0], bdaconfig[i,1])) -#for a in range(Na): -# int_bin['baselines'][0].append((a,a)) - +conf = np.loadtxt(args.bdaconfig, dtype=np.int) +for a0,a1,t in conf: + if (t!=0): + n = int(np.log2(t)) + int_bin['baselines'][n].append((a0, a1)) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((args.host, args.port)) @@ -71,15 +104,29 @@ def decode_packet(packet): pkt, addr = sock.recvfrom(4120) # buffer size is 1024 bytes packets += 1 t,b,o,a0,a1,x,l,data = decode_packet(pkt) - if args.verbose: - print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//16384, b%16384, o, a0, a1, x), data[:8] + if args.verbose and args.snap: + print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//N_bl_per_block, b%N_bl_per_block, o, a0, a1, x), data[:8]//INTSPEC + elif args.verbose: + print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//N_bl_per_block, b%N_bl_per_block, o, a0, a1, x), data[:8] + if args.check: - if (a0 > Na or a1 > Na): + if (a0 > N_ANTS_DATA or a1 > N_ANTS_DATA): print "Error! Received wrong antenna!" - n = [y for y,v in int_bin['baselines'].items() if (a0,a1) in v][0] - if not (np.all(data == int_bin['data'][n])): - print "Error!", int_bin['data'][n][:32:8], o, n, data[:32:8] - errors += 1 + if args.snap: + # Test data from snap + if (a0 == 0) and (a1 == 1): + tspec = gen_tvg_pol(a0*2)*np.conj(gen_tvg_pol(a1*2)) + data = data.reshape(128,4,2)//INTSPEC + if (a0 == a1): + print a0, a1, o, np.all(tspec.real[o*128:(o+1)*128] == data[:,0,0]) + else: + print a0, a1, o, np.all(tspec.real[o*128:(o+1)*128] == data[:,0,0]//4) + + else: + n = [y for y,v in int_bin['baselines'].items() if (a0,a1) in v][0] + if not (np.all(data == int_bin['data'][n][o*1024:(o+1)*1024])): + print "Error!", int_bin['data'][n][:32:8], o, n, data[:32:8] + errors += 1 except(KeyboardInterrupt): print("") print("Total number of packets captured: %d"%packets) From 0b572662de9f831446574a85cef433de437195ba Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 9 Oct 2019 02:14:27 +0000 Subject: [PATCH 296/420] sync_time is uint64 --- src/hera_catcher_disk_thread_bda.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 00af5f0e..fa573649 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -477,7 +477,7 @@ static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { /* Turn an mcnt into a UNIX time in double-precision. */ -static double mcnt2time(uint64_t mcnt, uint32_t sync_time_ms) +static double mcnt2time(uint64_t mcnt, uint64_t sync_time_ms) { return (sync_time_ms / 1000.) + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); } @@ -491,7 +491,7 @@ static double unix2julian(double unixtime) } */ -static double compute_jd_from_mcnt(uint64_t mcnt, uint32_t sync_time_ms, double integration_time) +static double compute_jd_from_mcnt(uint64_t mcnt, uint64_t sync_time_ms, double integration_time) { double unix_time = (sync_time_ms / 1000.) + (mcnt * (2L * N_CHAN_TOTAL_GENERATED / (double)FENG_SAMPLE_RATE)); unix_time = unix_time - integration_time/2; @@ -680,7 +680,7 @@ static void *run(hashpipe_thread_args_t * args) char hdf5_fname[128]; // Variables for sync time and computed gps time / JD - uint32_t sync_time_ms = 0; + uint64_t sync_time_ms = 0; double gps_time; double julian_time; @@ -808,7 +808,7 @@ static void *run(hashpipe_thread_args_t * args) hgets(st.buf, "HDF5TPLT", 128, template_fname); // Get time that F-engines were last sync'd - hgetu4(st.buf, "SYNCTIME", &sync_time_ms); + hgetu8(st.buf, "SYNCTIME", &sync_time_ms); // Get the integration time reported by the correlator hgetu4(st.buf, "INTTIME", &acc_len); @@ -1041,7 +1041,7 @@ static void *run(hashpipe_thread_args_t * args) file_cnt += 1; hashpipe_status_lock_safe(&st); - hputr8(st.buf, "FILESEC", (float)file_duration); + hputr4(st.buf, "FILESEC", file_duration); hputi8(st.buf, "NDONEFIL", file_cnt); hashpipe_status_unlock_safe(&st); From 9b846a2400814a6150e74e7f8c027547ce76cd9b Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 12 Oct 2019 02:23:35 +0000 Subject: [PATCH 297/420] Increase packet delay to make data less bursty --- src/hera_bda_output_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 8ffbbd09..1aa6b453 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -71,7 +71,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (8 * OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (8 * 8 * OUTPUT_BYTES_PER_PACKET) // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name From 5d12d0b4f78ef1cdec865b9575ce166590de7f03 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 12 Oct 2019 02:26:00 +0000 Subject: [PATCH 298/420] add logic to sync between xengs --- src/hera_gpu_bda_thread.c | 94 +++++++++++++++++++++++++++++++++------ src/scripts/hera_ctl.py | 10 ++++- 2 files changed, 89 insertions(+), 15 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 32da1a7a..04b44429 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -33,8 +33,8 @@ typedef struct { uint32_t baselines; - int *ant_pair_0; - int *ant_pair_1; + uint16_t *ant_pair_0; + uint16_t *ant_pair_1; } bda_info_t; static XGPUInfo xgpu_info; @@ -170,6 +170,11 @@ static int init_idx_map() return 0; } +static uint64_t get_sample_from_mcnt(uint64_t curr_mcnt, uint64_t start_bda_mcnt, + int int_count){ + return (curr_mcnt - start_bda_mcnt) % (TIME_DEMUX * int_count); +} + static int init_bda_info(bda_info_t *binfo, char *config_fname){ FILE *fp; int j, a0, a1, inttime, bin; @@ -199,8 +204,8 @@ static int init_bda_info(bda_info_t *binfo, char *config_fname){ // malloc for storing ant pairs for(j=0; jheader.n_block; blk_id++){ for(j=0; jblock[blk_id]); - buf->header[j].ant_pair_0 = (int *) malloc(binfo[j].baselines * sizeof(int)); - buf->header[j].ant_pair_1 = (int *) malloc(binfo[j].baselines * sizeof(int)); + buf->header[j].ant_pair_0 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); + buf->header[j].ant_pair_1 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); } init_bda_block_header(buf); @@ -330,7 +335,10 @@ static void *run(hashpipe_thread_args_t * args) unsigned long long idx_baseline; off_t idx_regtile; int32_t re, im; //pktdata_t is 32bits - static uint64_t sample = 0; + char integ_status[17]; + int int_count; // number of mcnts integrated in GPU + uint64_t start_bda_mcount; // mcount to start BD integration + uint64_t sample = 0; uint16_t sample_loc; for(j=0; jblock[curblock_in].header.mcnt); + hashpipe_status_unlock_safe(&st); + + // If the GPU integration status is off, you + // can skip BDA as well. Do something only if + // the status is start. + if(!strcmp(integ_status, "off")) { + // Mark input block as free and advance + hashpipe_databuf_set_free((hashpipe_databuf_t *)idb, curblock_in); + curblock_in = (curblock_in + 1) % idb->header.n_block; + // Skip to next input buffer + continue; + } + + if(!strcmp(integ_status, "start")) { + fprintf(stderr,"Waiting for mcnt: %ld\n", start_bda_mcount); + fprintf(stderr,"mcnt now: %ld\n", idb->block[curblock_in].header.mcnt); + + + //// If mcount < start_bda_mcount (i.e. not there yet) + //if(idb->block[curblock_in].header.mcnt < start_bda_mcount) { + // // Drop input buffer + // // Mark input block as free and advance + // hashpipe_databuf_set_free((hashpipe_databuf_t *)idb, curblock_in); + // curblock_in = (curblock_in + 1) % idb->header.n_block; + // // Skip to next input buffer + // continue; + //// Else if mcount == start_bda_mcount (time to start) + //} else if(idb->block[curblock_in].header.mcnt == start_bda_mcount) { + // // Set integration status to "on" + // // Read integration count (INTCOUNT) + // fprintf(stdout, "--- BDA integration on ---\n"); + // strcpy(integ_status, "on"); + // hashpipe_status_lock_safe(&st); + // hgeti4(st.buf, "INTCOUNT", &int_count); + // hashpipe_status_unlock_safe(&st); + //// Else (missed starting mcount) + //} else { + // // Missed start of integration, can't got back in time. + // fprintf(stderr, "--- mcnt=%06lx > start_bda_mcnt=%06lx ---\n", + // idb->block[curblock_in].header.mcnt, start_bda_mcount); + // //pthread_exit(NULL); + //} + } + + // If integ_status is "stop" or "on" + clock_gettime(CLOCK_MONOTONIC, &start); + + sample = get_sample_from_mcnt(idb->block[curblock_in].header.mcnt, + start_bda_mcount, int_count); + if (sample%N_MAX_INTTIME == 0){ // Wait for new output block to be free while ((rv=hera_bda_databuf_wait_free(odb, curblock_out)) != HASHPIPE_OK) { @@ -379,25 +447,26 @@ static void *run(hashpipe_thread_args_t * args) } // Init header of newly acquired block init_bda_block_header(&(odb->block[curblock_out])); - for(j=0; jblock[curblock_out].data[j], 0, odb->block[curblock_out].header[j].datsize); + } } - clock_gettime(CLOCK_MONOTONIC, &start); - // Note processing status, current input block hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "processing"); hputi4(st.buf, "BDABLKIN", curblock_in); hputi4(st.buf, "BDABLKOUT", curblock_out); + hputu4(st.buf, "BDASAMP", sample); hashpipe_status_unlock_safe(&st); + /* Perform the baseline dependent averaging */ buf = &(odb->block[curblock_out]); int32_t *pf_re = idb->block[curblock_in].data; int32_t *pf_im = idb->block[curblock_in].data + xgpu_info.matLength; - + for(j=0; j Date: Sat, 12 Oct 2019 02:26:43 +0000 Subject: [PATCH 299/420] typo fix --- src/scripts/xtor_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 2731fc1c..a6b089ac 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -53,7 +53,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): args = parser.parse_args() hosts = args.hosts # Too lazy to keey typing this nhosts = len(hosts) -nhosts_per_timeslice = nhosts * args.timeslices +nhosts_per_timeslice = nhosts / args.timeslices assert args.ninstances == 2, 'Sorry, anything other than ninstances=2 is not supported!' From 980c18e59ad8e3f43299746f51db27e949deee43 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 12 Oct 2019 02:29:25 +0000 Subject: [PATCH 300/420] change ant array type for consistency across threads --- src/paper_databuf.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 05da36c4..83ecaf24 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -273,8 +273,8 @@ typedef struct hera_bda_header{ uint64_t datsize; // size of buffer (from no. baselines) int sample; uint64_t baselines; - int *ant_pair_0; - int *ant_pair_1; + uint16_t *ant_pair_0; + uint16_t *ant_pair_1; } hera_bda_header_t; typedef uint8_t hera_bda_header_cache_alignment[ From b266f6c41225229e824b5988d130f518cf5b15cd Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 12 Oct 2019 02:31:29 +0000 Subject: [PATCH 301/420] HERA ant numbers... ... include a correlator numbers to HERA antenna numbers map in the template file to change mapping for the final uvh5 files. --- src/hera_catcher_disk_thread_bda.c | 83 +++++++++++---------------- src/scripts/hera_create_bda_config.py | 2 +- 2 files changed, 34 insertions(+), 51 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index fa573649..5373c574 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -405,48 +405,29 @@ static void close_filespaces(hdf5_id_t *id) H5Sclose(id->ant_2_array_fs); } - -///* Read the baseline order from an HDF5 file via the Header/corr_bl_order dataset */ -//static void get_bl_order(hdf5_id_t *id, bl_t *bl_order) { -// hid_t dataset_id; -// herr_t status; -// dataset_id = H5Dopen(id->header_gid, "corr_bl_order", H5P_DEFAULT); -// if (dataset_id < 0) { -// hashpipe_error(__FUNCTION__, "Failed to open Header/corr_bl_order dataset"); -// pthread_exit(NULL); -// } -// status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, bl_order); -// if (status < 0) { -// hashpipe_error(__FUNCTION__, "Failed to read Header/corr_bl_order dataset"); -// pthread_exit(NULL); -// } -// status = H5Dclose(dataset_id); -// if (status < 0) { -// hashpipe_error(__FUNCTION__, "Failed to close Header/corr_bl_order dataset"); -// pthread_exit(NULL); -// } -//} - -///* Read the antenna positions from an HDF5 file via the Header/antenna_positions_enu dataset */ -//static void get_ant_pos(hdf5_id_t *id, enu_t *ant_pos) { -// hid_t dataset_id; -// herr_t status; -// dataset_id = H5Dopen(id->header_gid, "antenna_positions_enu", H5P_DEFAULT); -// if (dataset_id < 0) { -// hashpipe_error(__FUNCTION__, "Failed to open Header/antenna_positions_enu dataset"); -// pthread_exit(NULL); -// } -// status = H5Dread(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_pos); -// if (status < 0) { -// hashpipe_error(__FUNCTION__, "Failed to read Header/antenna_positions_enu dataset"); -// pthread_exit(NULL); -// } -// status = H5Dclose(dataset_id); -// if (status < 0) { -// hashpipe_error(__FUNCTION__, "Failed to close Header/antenna_positions_enu dataset"); -// pthread_exit(NULL); -// } -//} +// The data in the files should be indexed in real antennas numbers, not +// in correlator numbers. Get the corr_to_hera map from header to get right labelling. +/* Read the correlator to hera_antennas map from an HDF5 file via the + Header/corr_to_hera_map dataset */ +static void get_corr_to_hera_map(hdf5_id_t *id, int *corr_to_hera_map) { + hid_t dataset_id; + herr_t status; + dataset_id = H5Dopen(id->header_gid, "corr_to_hera_map", H5P_DEFAULT); + if (dataset_id < 0) { + hashpipe_error(__FUNCTION__, "Failed to open Header/corr_to_hera_map dataset"); + pthread_exit(NULL); + } + status = H5Dread(dataset_id, H5T_STD_I32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, corr_to_hera_map); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to read Header/corr_to_hera_map dataset"); + pthread_exit(NULL); + } + status = H5Dclose(dataset_id); + if (status < 0) { + hashpipe_error(__FUNCTION__, "Failed to close Header/corr_to_hera_map dataset"); + pthread_exit(NULL); + } +} /* Get the integration time for each baseline from header (set by config file) */ @@ -692,6 +673,7 @@ static void *run(hashpipe_thread_args_t * args) char tag[128]; uint64_t baseline_dist[N_BDABUF_BINS]; uint64_t Nants; + int corr_to_hera_map[N_ANTS]; // Init status variables hashpipe_status_lock_safe(&st); @@ -942,8 +924,8 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< N_BL_PER_WRITE; b++){ - ant_0_array[file_offset+b] = (int)header.ant_pair_0[bctr+b]; - ant_1_array[file_offset+b] = (int)header.ant_pair_1[bctr+b]; + ant_0_array[file_offset+b] = corr_to_hera_map[header.ant_pair_0[bctr+b]]; + ant_1_array[file_offset+b] = corr_to_hera_map[header.ant_pair_1[bctr+b]]; time_array_buf[file_offset+b] = compute_jd_from_mcnt(header.mcnt[bctr+b], sync_time_ms, integration_time_buf[file_offset+b]); @@ -1003,8 +985,8 @@ static void *run(hashpipe_thread_args_t * args) clock_gettime(CLOCK_MONOTONIC, &w_stop); for(b=0; b< nbls; b++){ - ant_0_array[file_offset+b] = (int)header.ant_pair_0[bctr+b]; - ant_1_array[file_offset+b] = (int)header.ant_pair_1[bctr+b]; + ant_0_array[file_offset+b] = corr_to_hera_map[header.ant_pair_0[bctr+b]]; + ant_1_array[file_offset+b] = corr_to_hera_map[header.ant_pair_1[bctr+b]]; time_array_buf[file_offset+b] = compute_jd_from_mcnt(header.mcnt[bctr+b], sync_time_ms, integration_time_buf[file_offset+b]); } @@ -1091,7 +1073,7 @@ static void *run(hashpipe_thread_args_t * args) // Get the antenna positions and baseline orders // These are needed for populating the ant_[1|2]_array and uvw_array //get_ant_pos(&sum_file, ant_pos); - //get_bl_order(&sum_file, bl_order); + get_corr_to_hera_map(&sum_file, corr_to_hera_map); get_integration_time(&sum_file, integration_time_buf); // Copy data to the right location @@ -1112,8 +1094,8 @@ static void *run(hashpipe_thread_args_t * args) file_offset = break_bcnt - curr_file_bcnt; for(b=0; b< nbls; b++){ - ant_0_array[file_offset+b] = (int)header.ant_pair_0[block_offset+b]; - ant_1_array[file_offset+b] = (int)header.ant_pair_1[block_offset+b]; + ant_0_array[file_offset+b] = corr_to_hera_map[header.ant_pair_0[block_offset+b]]; + ant_1_array[file_offset+b] = corr_to_hera_map[header.ant_pair_1[block_offset+b]]; time_array_buf[file_offset+b] = compute_jd_from_mcnt(header.mcnt[block_offset+b], sync_time_ms, integration_time_buf[file_offset+b]); } @@ -1168,7 +1150,8 @@ static void *run(hashpipe_thread_args_t * args) } for (bctr=0; bctr < BASELINES_PER_BLOCK; bctr++){ - ant = header.ant_pair_0[bctr]; + // Autocorr blocks are indexed by antennas numbers (not corr numbers) + ant = corr_to_hera_map[header.ant_pair_0[bctr]]; if((header.ant_pair_0[bctr] == header.ant_pair_1[bctr]) && (db_out->block[curblock_out].header.ant[ant]==0)){ offset_in = hera_catcher_bda_input_databuf_by_bcnt_idx32(bctr, 0); offset_out = hera_catcher_autocorr_databuf_idx32(ant); diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index c4b3eba6..c74be95b 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -54,7 +54,7 @@ def create_bda_config(n_ants_data, use_cm=False, use_redis=False): for ant0 in range(NANTS): for ant1 in range(ant0, NANTS, 1): if (ant0 in corr_ant_nums) and (ant1 in corr_ant_nums): - bl_pairs.append([ant0, ant1, 1]) + bl_pairs.append([ant0, ant1, 4]) else: bl_pairs.append([ant0, ant1, 0]) From ecba722453cbd9957c13011db40085f5e7207960 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 12 Oct 2019 02:34:18 +0000 Subject: [PATCH 302/420] HERA ants in template file --- src/scripts/hera_make_hdf5_template_bda.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 6286623c..db1b6d73 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -20,7 +20,7 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): of correlator index (0 - Nants_data -1) to hera antenna number (0 - Nants). """ - out_map = {k:v for k,v in enumerate(range(nants, nants+nants_data))} # use default values outside the range of real antennas + out_map = np.arange(nants, nants + nants_data) # use default values outside the range of real antennas # A dictionary with keys which are antenna numbers # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} @@ -185,6 +185,9 @@ def create_header(h5, config, use_cm=False, use_redis=False): corr_to_hera_map = get_corr_to_hera_map(r, nants_data=NANTS_DATA, nants=NANTS) for n in range(baselines.shape[0]): baselines[n] = [corr_to_hera_map[baselines[n,0]], corr_to_hera_map[baselines[n,1]]] + ant_1_array = np.array([x for (x,y) in baselines]) + ant_2_array = np.array([y for (x,y) in baselines]) + else: fenginfo = None # Use impossible antenna numbers to indicate they're not really valid @@ -200,6 +203,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("Nspws", dtype=" Date: Sat, 12 Oct 2019 02:36:16 +0000 Subject: [PATCH 303/420] Check auto corrs in SNAP test vec mode --- src/tests/check_bda_uvh5_files.py | 97 ++++++++++++++++++++----------- 1 file changed, 64 insertions(+), 33 deletions(-) diff --git a/src/tests/check_bda_uvh5_files.py b/src/tests/check_bda_uvh5_files.py index 33bc47e8..e803875d 100644 --- a/src/tests/check_bda_uvh5_files.py +++ b/src/tests/check_bda_uvh5_files.py @@ -5,6 +5,7 @@ import argparse from astropy.time import Time import json +import redis N_MAX_INTTIME = 8 N_BDABUF_BINS = 4 @@ -14,6 +15,29 @@ N_CHAN_CATCHER = 1536 INTSPEC = 131072*2 +def get_corr_to_hera_map(nants_data=192, nants=352): + """ + Given a redis.Redis instance, r, containing + appropriate metadata - figure out the mapping + of correlator index (0 - Nants_data -1) to + hera antenna number (0 - Nants). + """ + out_map = {} # use default values outside the range of real antennas + + r = redis.Redis('redishost') + ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + for ant, pol in ant_to_snap.iteritems(): + hera_ant_number = int(ant) + host = pol["n"]["host"] + chan = pol["n"]["channel"] # runs 0-5 + snap_ant_chans = r.hget("corr:snap_ants", host) + if snap_ant_chans is None: + continue + corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) + out_map[corr_ant_number] = hera_ant_number + + return out_map + def signed_int(x): """Return two's complement interpretation for 4bit integers""" @@ -49,9 +73,9 @@ def gen_tvg_pol(pol, mode='ramp'): help='Frequency ramp in test vectors') args = parser.parse_args() -snap_pol_map = {'e2':0, 'n0':1, - 'e6':2, 'n4':2, - 'e10':4, 'n8':5} +snap_pol_map = {u'e2':0, u'n0':1, + u'e6':2, u'n4':3, + u'e1':4, u'n8':5} # Compute expected baseline pairs from # the configuration file @@ -69,6 +93,7 @@ def gen_tvg_pol(pol, mode='ramp'): bls_per_bin[int(np.log2(t))] += 1 baselines = np.concatenate(baselines) inttime = np.asarray(np.concatenate(inttime), dtype=np.float64) + ant_1_array = np.array([x for (x,y) in baselines]) ant_2_array = np.array([y for (x,y) in baselines]) @@ -77,20 +102,20 @@ def gen_tvg_pol(pol, mode='ramp'): fp = h5py.File(args.h5fname,'r') header = fp['Header'] -print 'Integration time array...' -assert(np.all(np.equal(header['integration_time'][:], inttime))) - -print 'ant_1_array..' -assert(np.all(np.equal(header['ant_1_array'][:], ant_1_array))) - -print 'ant_2_array..' -assert(np.all(np.equal(header['ant_2_array'][:], ant_2_array))) - -print 'Checking deltas in time array..' -jds = Time(header['time_array'][:], format='jd') - -fp.close() - +#print 'Integration time array...' +#assert(np.all(np.equal(header['integration_time'][:], inttime))) +# +#print 'ant_1_array..' +#assert(np.all(np.equal(header['ant_1_array'][:], ant_1_array))) +# +#print 'ant_2_array..' +#assert(np.all(np.equal(header['ant_2_array'][:], ant_2_array))) +# +#print 'Checking deltas in time array..' +#jds = Time(header['time_array'][:], format='jd') +# +#fp.close() +# fakereal = 1 fakeimag = -2j int_bin = {} @@ -138,25 +163,31 @@ def gen_tvg_pol(pol, mode='ramp'): cminfo = json.loads(fp['Header']['extra_keywords']['cminfo'].value) ants = cminfo['antenna_numbers'] + out_map = get_corr_to_hera_map() - if (bls_per_bin[0] != 0): - print ('Checking integration 0..') - uv = UVData() + uv = UVData() + + for a0, a1 in zip(ant_1_array[::2], ant_2_array[::2]): + + if(a0==a1): - for idx_a0, a0 in enumerate(ants): - for idx_a1, a1 in enumerate(ants[idx_a0:]): - loca0 = snap_pol_map[cminfo['correlator_inputs'][idx_a0][0][:2]] - loca1 = snap_pol_map[cminfo['correlator_inputs'][idx_a1][0][:2]] + print("({0:2d},{1:2d}) \t".format(a0,a1)), + uv.read(args.h5fname, bls=[(a0, a1)], run_check_acceptability=False, run_check=False) + data = uv.get_data(a0, a1) - uv.read(args.h5fname, bls=[(a0, a1)]) - data = uv.get_data(a0, a1) - - tspec = gen_tvg_pol(loca0)*np.conj(loca1) - tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + a0 = out_map[a0]; a1 = out_map[a1]; + print("({0:2d},{1:2d}) \t".format(a0,a1)), + loca0 = snap_pol_map[cminfo['correlator_inputs'][ants.index(a0)][0][:2]] + loca1 = snap_pol_map[cminfo['correlator_inputs'][ants.index(a1)][0][:2]] + + tspec = gen_tvg_pol(loca0)*np.conj(gen_tvg_pol(loca1)) + tspec = tspec[:N_CHAN_TOTAL] + #tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] - print a1,a2, np.all(tspec == data[0,:,0]//INTSPEC) + print np.all(np.equal(tspec, data[0,:,0]//(4*INTSPEC))), '\t', - tspec = gen_tvg_pol(snaploc_a1+1)*np.conj(snaploc_a2+1) - tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + tspec = gen_tvg_pol(loca0 +1)*np.conj(gen_tvg_pol(loca1 +1)) + tspec = tspec[:N_CHAN_TOTAL] + #tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] - print a1,a2, np.all(tspec == data[0,:,1]//INTSPEC) + print np.all(np.equal(tspec, data[0,:,1]//(4*INTSPEC))) From 413755bb9ae109f4556f95fa8281d722270a8012 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 11 Oct 2019 23:06:54 -0700 Subject: [PATCH 304/420] Bug fixes in BDA sync... ... BDA thread can also start on INTSYNC without needing BDa thread specific variables --- src/hera_gpu_bda_thread.c | 55 ++++++++++++++------------------------- src/scripts/hera_ctl.py | 10 +------ 2 files changed, 20 insertions(+), 45 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 04b44429..62f75a46 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -172,7 +172,9 @@ static int init_idx_map() static uint64_t get_sample_from_mcnt(uint64_t curr_mcnt, uint64_t start_bda_mcnt, int int_count){ - return (curr_mcnt - start_bda_mcnt) % (TIME_DEMUX * int_count); + uint64_t sample = (curr_mcnt - start_bda_mcnt) / (TIME_DEMUX * int_count); + fprintf(stderr, "curr: %ld, start: %ld, acclen:%d, sample: %ld\n", curr_mcnt, start_bda_mcnt, int_count, sample); + return sample; } static int init_bda_info(bda_info_t *binfo, char *config_fname){ @@ -296,6 +298,7 @@ static void *run(hashpipe_thread_args_t * args) hputu8(st.buf,"NBL4SEC",binfo[1].baselines); hputu8(st.buf,"NBL8SEC",binfo[2].baselines); hputu8(st.buf,"NBL16SEC",binfo[3].baselines); + hputu4(st.buf, "BDASAMP", 0); hashpipe_status_unlock_safe(&st); // Allocate memory to the output data blocks based on the config file @@ -357,9 +360,6 @@ static void *run(hashpipe_thread_args_t * args) // and, if armed, start count hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "waiting"); - hgets(st.buf, "INTSTAT", 16, integ_status); - hgeti8(st.buf, "INTSYNC", (long int *)&start_bda_mcount); - hgeti4(st.buf, "INTCOUNT", &int_count); hashpipe_status_unlock_safe(&st); // Wait for new block to be filled @@ -381,6 +381,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputi4(st.buf, "BDABLKIN", curblock_in); hputu8(st.buf, "BDAMCNT", idb->block[curblock_in].header.mcnt); + hgets(st.buf, "INTSTAT", 16, integ_status); hashpipe_status_unlock_safe(&st); // If the GPU integration status is off, you @@ -393,43 +394,25 @@ static void *run(hashpipe_thread_args_t * args) // Skip to next input buffer continue; } - - if(!strcmp(integ_status, "start")) { - fprintf(stderr,"Waiting for mcnt: %ld\n", start_bda_mcount); - fprintf(stderr,"mcnt now: %ld\n", idb->block[curblock_in].header.mcnt); - - - //// If mcount < start_bda_mcount (i.e. not there yet) - //if(idb->block[curblock_in].header.mcnt < start_bda_mcount) { - // // Drop input buffer - // // Mark input block as free and advance - // hashpipe_databuf_set_free((hashpipe_databuf_t *)idb, curblock_in); - // curblock_in = (curblock_in + 1) % idb->header.n_block; - // // Skip to next input buffer - // continue; - //// Else if mcount == start_bda_mcount (time to start) - //} else if(idb->block[curblock_in].header.mcnt == start_bda_mcount) { - // // Set integration status to "on" - // // Read integration count (INTCOUNT) - // fprintf(stdout, "--- BDA integration on ---\n"); - // strcpy(integ_status, "on"); - // hashpipe_status_lock_safe(&st); - // hgeti4(st.buf, "INTCOUNT", &int_count); - // hashpipe_status_unlock_safe(&st); - //// Else (missed starting mcount) - //} else { - // // Missed start of integration, can't got back in time. - // fprintf(stderr, "--- mcnt=%06lx > start_bda_mcnt=%06lx ---\n", - // idb->block[curblock_in].header.mcnt, start_bda_mcount); - // //pthread_exit(NULL); - //} - } + // Don't need to deal with the cases where integ_status is "start" + // because this is handled by the gpu_thread already. Adding another + // INTSTAT type variable is redundant and using the same INTSTAT + // skips over these conditions directly to "on" because the gpu thread + // changes it almost immediately. + // If integ_status is "stop" or "on" + + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hgeti8(st.buf, "INTSYNC", (long int *)&start_bda_mcount); + hgeti4(st.buf, "INTCOUNT", &int_count); + hashpipe_status_unlock_safe(&st); + clock_gettime(CLOCK_MONOTONIC, &start); sample = get_sample_from_mcnt(idb->block[curblock_in].header.mcnt, - start_bda_mcount, int_count); + start_bda_mcount+int_count, int_count); if (sample%N_MAX_INTTIME == 0){ // Wait for new output block to be free diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py index 6ad47652..ee2d7429 100644 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -6,7 +6,6 @@ MCNT_STEP_SIZE = 2 MCNT_XGPU_BLOCK_SIZE = 2048 -INTCOUNT = 131072 #number of spectra per integration def mcnts_per_second(sample_rate=500e6, spectra_len=8192): """ @@ -52,7 +51,6 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): if args.action == 'stop': rdb.publish("hashpipe:///set", 'INTSTAT=stop') - rdb.publish("hashpipe:///set", 'IBDASTAT=stop') if args.action == 'start': # Calculate start MCNT @@ -77,18 +75,12 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): print 'Requested accumulation length: %d' % args.acclen print 'Actual accumulation length: %d' % acclen - # Compute the middle mcount on which BDA should start - last_mcount = trig_mcnt + args.slices*(acclen - MCNT_XGPU_BLOCK_SIZE) - bda_mcount = (last_mcount + trig_mcnt + args.slices*MCNT_XGPU_BLOCK_SIZE) // 2 - - print 'Starting BDA on mcnt: %d' % bda_mcount - # Use the hashpipe publish channel to update keys in all status buffers. # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb # for details about formatting for slice in range(args.slices): - msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0\nIBDASTRT=%d' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen, bda_mcount) + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen) for host in range(args.xhosts): hostname = 'px%d' % (slice * args.xhosts + host + 1) rdb.publish('hashpipe://%s/0/set' % hostname, msg) From f580ec94e0cf562d7beddd1735e830c5f7860f85 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Mon, 14 Oct 2019 21:50:58 -0700 Subject: [PATCH 305/420] Tie bcnt to mcnt... ... Bcnt cannot be a free running counter. There will be x-eng sync issues. Tie bcnt computation to the mcnt of the buffer to keep the value locked on all x-engs. --- src/hera_bda_output_thread.c | 5 ++--- src/hera_gpu_bda_thread.c | 24 +++++++++++++++--------- src/paper_databuf.h | 3 ++- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 1aa6b453..856f1193 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -198,7 +198,6 @@ static void *run(hashpipe_thread_args_t * args) struct timespec pkt_start, pkt_stop; int offset = 0; uint16_t ant0, ant1; - int baseline_id = 0; hera_bda_block_t *buf; unsigned int n_samples; uint64_t datoffset; @@ -231,7 +230,7 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "processing"); hputi4(st.buf, "OUTBLKIN", block_idx); - hputu4(st.buf, "OUTBCNT", baseline_id); + hputu4(st.buf, "OUTBCNT", db->block[block_idx].header[0].bcnt[0]); hashpipe_status_unlock_safe(&st); buf = &(db->block[block_idx]); @@ -255,7 +254,7 @@ static void *run(hashpipe_thread_args_t * args) for(i=0; iheader[j].bcnt[i]); //free running cntr like mcnt pkt.hdr.timestamp = TIMESTAMP(buf->header[j].mcnt[i]); offset = 0; diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 62f75a46..1a7a7f1b 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -35,6 +35,7 @@ typedef struct { uint32_t baselines; uint16_t *ant_pair_0; uint16_t *ant_pair_1; + uint32_t *bcnt; } bda_info_t; static XGPUInfo xgpu_info; @@ -181,6 +182,7 @@ static int init_bda_info(bda_info_t *binfo, char *config_fname){ FILE *fp; int j, a0, a1, inttime, bin; uint32_t blctr[] = {0,0,0,0,0}; + uint32_t bctr = 0; if((fp=fopen(config_fname,"r")) == NULL){ printf("Cannot open the configuration file.\n"); @@ -195,27 +197,24 @@ static int init_bda_info(bda_info_t *binfo, char *config_fname){ blctr[LOG(inttime)]+=1; } - // Config file should contain auto-corrs as well. - //blctr[0] += N_ANTS; - for(j=0; j=N_BDABUF_BINS) bin=N_BDABUF_BINS-1; binfo[bin].ant_pair_0[blctr[bin]] = a0; - binfo[bin].ant_pair_1[blctr[bin]++] = a1; + binfo[bin].ant_pair_1[blctr[bin]] = a1; + binfo[bin].bcnt[blctr[bin]++] = bctr++; } fclose(fp); @@ -232,6 +231,7 @@ static int init_bda_block_header(hera_bda_block_t *bdablk){ for(i=0; iheader[j].ant_pair_0[i] = binfo[j].ant_pair_0[i]; bdablk->header[j].ant_pair_1[i] = binfo[j].ant_pair_1[i]; + bdablk->header[j].bcnt[i] = binfo[j].bcnt[i]; } bdablk->header[j].sample = 0; bdablk->header[j].datsize = N_MAX_INTTIME/(1<header[j].baselines * N_COMPLEX_PER_BASELINE * 2 * sizeof(uint32_t); @@ -310,6 +310,7 @@ static void *run(hashpipe_thread_args_t * args) buf = &(odb->block[blk_id]); buf->header[j].ant_pair_0 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); buf->header[j].ant_pair_1 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); + buf->header[j].bcnt = (uint32_t *) malloc(binfo[j].baselines * sizeof(uint32_t)); } init_bda_block_header(buf); @@ -355,9 +356,6 @@ static void *run(hashpipe_thread_args_t * args) while (run_threads()) { - // Note waiting status, - // query integrating status - // and, if armed, start count hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "waiting"); hashpipe_status_unlock_safe(&st); @@ -378,6 +376,9 @@ static void *run(hashpipe_thread_args_t * args) } // Got a new block. Decide what to do with it. + // Note waiting status, + // query integrating status + // and, if armed, start count hashpipe_status_lock_safe(&st); hputi4(st.buf, "BDABLKIN", curblock_in); hputu8(st.buf, "BDAMCNT", idb->block[curblock_in].header.mcnt); @@ -461,6 +462,11 @@ static void *run(hashpipe_thread_args_t * args) ant1 = buf->header[j].ant_pair_1[bl]; idx_baseline = casper_index(2*ant0, 2*ant1, N_INPUTS); + // offset all bcnts by the sample currently being processed. + // This ensures that bcnt is always increasing while the + // correlator is running. It also ties bcnt to mcnt. + buf->header[j].bcnt[bl] += (sample/N_MAX_INTTIME)*total_baselines; + for(pol=0; pol Date: Tue, 15 Oct 2019 04:52:32 +0000 Subject: [PATCH 306/420] Header fixes... ... (1) fix the length of flag and nsample array (2) Remove Nts since it is fixed by the template file. --- src/hera_catcher_disk_thread_bda.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 5373c574..e9d7f516 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -352,7 +352,7 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui } -static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts, uint64_t file_nts) { +static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, uint64_t file_nblts) { hid_t dataset_id; dataset_id = H5Dopen(id->extra_keywords_gid, "stopt", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_stop_t); @@ -363,9 +363,6 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, dataset_id = H5Dopen(id->header_gid, "Nblts", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); H5Dclose(dataset_id); - dataset_id = H5Dopen(id->header_gid, "Ntimes", H5P_DEFAULT); - H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nts); - H5Dclose(dataset_id); // Close datasets if (H5Dclose(id->visdata_did) < 0) { hashpipe_error(__FUNCTION__, "Failed to close visdata dataset"); @@ -712,8 +709,8 @@ static void *run(hashpipe_thread_args_t * args) int rv; int curblock_in=0; int curblock_out = 0; - float file_start_t, file_stop_t, file_duration; // time from bcnt - int64_t file_obs_id, file_nblts=0, file_nts=0; + double file_start_t, file_stop_t, file_duration; // time from bcnt + int64_t file_obs_id, file_nblts=0; int32_t curr_file_bcnt = -1; uint32_t bctr, strt_bcnt, stop_bcnt, break_bcnt; // bcnt variable int i,b; @@ -743,11 +740,11 @@ static void *run(hashpipe_thread_args_t * args) int *ant_1_array = (int *)malloc(1 * sizeof(int)); // Allocate an array of bools for flags and n_samples - hbool_t *flags = (hbool_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(hbool_t)); - uint32_t *nsamples = (uint32_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(uint32_t)); + hbool_t *flags = (hbool_t *) malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); + uint32_t *nsamples = (uint32_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); - memset(flags, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(hbool_t)); - memset(nsamples, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * sizeof(uint32_t)); + memset(flags, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); + memset(nsamples, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); // Define memory space of a block hsize_t dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; @@ -1012,12 +1009,12 @@ static void *run(hashpipe_thread_args_t * args) fprintf(stdout, "Closing datasets and files\n"); write_header(&sum_file, time_array_buf, ant_0_array, ant_1_array); close_filespaces(&sum_file); - close_file(&sum_file, file_stop_t, file_duration, file_nblts, file_nts); + close_file(&sum_file, file_stop_t, file_duration, file_nblts); #ifndef SKIP_DIFF write_header(&diff_file, time_array_buf, ant_0_array, ant_1_array); close_filespaces(&diff_file); - close_file(&diff_file, file_stop_t, file_duration, file_nblts, file_nts); + close_file(&diff_file, file_stop_t, file_duration, file_nblts); #endif file_cnt += 1; @@ -1046,7 +1043,6 @@ static void *run(hashpipe_thread_args_t * args) fprintf(stdout, "Init arrays\n"); file_nblts = 0; - file_nts = 0; memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); memset(ant_1_array, 0, bcnts_per_file * sizeof(uint16_t)); memset(time_array_buf, 0, bcnts_per_file * sizeof(double)); From af8ba1fb995a983e87685cdb1a25ef7182382bda Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 15 Oct 2019 05:00:08 +0000 Subject: [PATCH 307/420] Start on Bcnt zero only --- src/hera_catcher_net_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index b846b3cd..17a312e3 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -223,7 +223,7 @@ static inline uint32_t process_packet( fprintf(stderr,"Initializing binfo..!\n"); initialize_block_info(&binfo); - first_bcnt = pkt_bcnt; + first_bcnt = 0; //pkt_bcnt; binfo.bcnt_start = pkt_bcnt; fprintf(stderr,"Initializing the first blocks..\n"); From b699d1002a6fc3c01aa674518166ed75c5acea84 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 15 Oct 2019 05:01:15 +0000 Subject: [PATCH 308/420] Generate config file on catcher machine for the template file --- src/scripts/hera_catcher_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index d6631b11..45e47119 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -71,7 +71,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): print 'Create configuration file' p = subprocess.Popen(bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) p.wait() - #run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', args.bdaconfig], wait=True) + run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', '/tmp/bdaconfig.txt'], wait=True) time.sleep(10) # Generate the meta-data template From a66c6ab149cddd5c62182d25b43d503676588a40 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 15 Oct 2019 23:08:23 +0000 Subject: [PATCH 309/420] HERA ants nums... ... Config file is already in HERA ant nums so do not translate the ant nums again. --- src/scripts/hera_make_hdf5_template_bda.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index db1b6d73..b0f205b7 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -138,13 +138,6 @@ def create_header(h5, config, use_cm=False, use_redis=False): baselines = [] integration_time = [] - #for time_ctr in range(1,9,1): - # for i,t in enumerate(config[:,2]): - # if (t==0): continue - # elif not (time_ctr % t): - # baselines.append((config[i,0], config[i,1])) - # integration_time.append(t * 2) - for i,t in enumerate(config[:,2]): if (t!=0): baselines.append([(config[i,0], config[i,1])]*(8//t)) @@ -182,11 +175,12 @@ def create_header(h5, config, use_cm=False, use_redis=False): if use_redis: r = redis.Redis("redishost") fenginfo = r.hgetall("init_configuration") - corr_to_hera_map = get_corr_to_hera_map(r, nants_data=NANTS_DATA, nants=NANTS) - for n in range(baselines.shape[0]): - baselines[n] = [corr_to_hera_map[baselines[n,0]], corr_to_hera_map[baselines[n,1]]] - ant_1_array = np.array([x for (x,y) in baselines]) - ant_2_array = np.array([y for (x,y) in baselines]) + corr_to_hera_map = get_corr_to_hera_map(r, nants_data=192, nants=192) + # Baselines in the config file are already in hera antenna numbers + #for n in range(baselines.shape[0]): + # baselines[n] = [corr_to_hera_map[baselines[n,0]], corr_to_hera_map[baselines[n,1]]] + #ant_1_array = np.array([x for (x,y) in baselines]) + #ant_2_array = np.array([y for (x,y) in baselines]) else: fenginfo = None From 0ce4ece347b1a8cff6aeb7318ad95250be944e4a Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 15 Oct 2019 23:10:01 +0000 Subject: [PATCH 310/420] BCNT tied to MCNT... ... bug fixes to the previous iteration. Bcnt should depend on the sample number and the baseline pair. --- src/hera_bda_output_thread.c | 4 +- src/hera_gpu_bda_thread.c | 107 +++++++++++++++++++++-------------- src/paper_databuf.h | 6 +- 3 files changed, 70 insertions(+), 47 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 856f1193..d1e2af9f 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -254,7 +254,7 @@ static void *run(hashpipe_thread_args_t * args) for(i=0; iheader[j].bcnt[i]); //free running cntr like mcnt + pkt.hdr.baseline_id = BASELINE_ID(buf->header[j].bcnt[bl*n_samples + i]); pkt.hdr.timestamp = TIMESTAMP(buf->header[j].mcnt[i]); offset = 0; @@ -263,7 +263,7 @@ static void *run(hashpipe_thread_args_t * args) pkt.hdr.offset = OFFSET(offset); //datoffset = 0; // hera_bda_buf_data_idx(l,s,b,c,p) - datoffset = hera_bda_buf_data_idx(n_samples, i, bl, chan, 0); + datoffset = hera_bda_buf_data_idx((bl*n_samples + i), chan, 0); for(p=0; pdata[j][datoffset+p]); } diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 1a7a7f1b..0454044e 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -32,7 +32,8 @@ (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) typedef struct { - uint32_t baselines; + uint32_t baselines; // Num baselines in bin + uint16_t samp_in_bin; // Num samples per baseline uint16_t *ant_pair_0; uint16_t *ant_pair_1; uint32_t *bcnt; @@ -174,13 +175,13 @@ static int init_idx_map() static uint64_t get_sample_from_mcnt(uint64_t curr_mcnt, uint64_t start_bda_mcnt, int int_count){ uint64_t sample = (curr_mcnt - start_bda_mcnt) / (TIME_DEMUX * int_count); - fprintf(stderr, "curr: %ld, start: %ld, acclen:%d, sample: %ld\n", curr_mcnt, start_bda_mcnt, int_count, sample); + //fprintf(stderr, "curr: %ld, start: %ld, acclen:%d, sample: %ld\n", curr_mcnt, start_bda_mcnt, int_count, sample); return sample; } static int init_bda_info(bda_info_t *binfo, char *config_fname){ FILE *fp; - int j, a0, a1, inttime, bin; + int i,j,k, a0, a1, inttime, bin; uint32_t blctr[] = {0,0,0,0,0}; uint32_t bctr = 0; @@ -199,42 +200,64 @@ static int init_bda_info(bda_info_t *binfo, char *config_fname){ for(j=0; jheader[j].baselines = binfo[j].baselines; - for(i=0; iheader[j].ant_pair_0[i] = binfo[j].ant_pair_0[i]; - bdablk->header[j].ant_pair_1[i] = binfo[j].ant_pair_1[i]; - bdablk->header[j].bcnt[i] = binfo[j].bcnt[i]; + memcpy(bdablk->header[j].ant_pair_0, binfo[j].ant_pair_0, binfo[j].baselines * sizeof(uint16_t)); + memcpy(bdablk->header[j].ant_pair_1, binfo[j].ant_pair_1, binfo[j].baselines * sizeof(uint16_t)); + memcpy(bdablk->header[j].bcnt, binfo[j].bcnt, binfo[j].baselines * binfo[j].samp_in_bin * sizeof(uint32_t)); + bdablk->header[j].datsize = binfo[j].samp_in_bin*binfo[j].baselines * N_COMPLEX_PER_BASELINE * 2 * sizeof(uint32_t); + + // offset all bcnts by the sample currently being processed. + // This ensures that bcnt is always increasing while the + // correlator is running. It also ties bcnt to mcnt. + for(i=0; i< binfo[j].baselines*binfo[j].samp_in_bin; i++){ + bdablk->header[j].bcnt[i] += bcnt_offset; } - bdablk->header[j].sample = 0; - bdablk->header[j].datsize = N_MAX_INTTIME/(1<header[j].baselines * N_COMPLEX_PER_BASELINE * 2 * sizeof(uint32_t); + + //for(i=0; iheader[j].ant_pair_0[i] = binfo[j].ant_pair_0[i]; + // bdablk->header[j].ant_pair_1[i] = binfo[j].ant_pair_1[i]; + + // for(k=0; kheader[j].bcnt[i*binfo[j].samp_in_bin + k] = binfo[j].bcnt[i*binfo[j].samp_in_bin+k] + bcnt_offset; + // } + //} } return 0; @@ -291,18 +314,29 @@ static void *run(hashpipe_thread_args_t * args) // Initialize binfo with config file params init_bda_info(binfo, config_fname); + int j; + uint64_t total_baselines = 0; + for(j=0; jheader.n_block; blk_id++){ @@ -310,10 +344,10 @@ static void *run(hashpipe_thread_args_t * args) buf = &(odb->block[blk_id]); buf->header[j].ant_pair_0 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); buf->header[j].ant_pair_1 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); - buf->header[j].bcnt = (uint32_t *) malloc(binfo[j].baselines * sizeof(uint32_t)); + buf->header[j].bcnt = (uint32_t *) malloc(binfo[j].baselines * binfo[j].samp_in_bin * sizeof(uint32_t)); } - init_bda_block_header(buf); + init_bda_block_header(buf, 0); for(j=0; jdata[j] = malloc(buf->header[j].datsize); @@ -327,7 +361,6 @@ static void *run(hashpipe_thread_args_t * args) /* Main loop */ int rv; - uint64_t total_baselines = 0; int curblock_in = 0; int curblock_out = 0; struct timespec start, stop; @@ -343,16 +376,7 @@ static void *run(hashpipe_thread_args_t * args) int int_count; // number of mcnts integrated in GPU uint64_t start_bda_mcount; // mcount to start BD integration uint64_t sample = 0; - uint16_t sample_loc; - - for(j=0; jblock[curblock_out])); + init_bda_block_header(&(odb->block[curblock_out]), (sample/N_MAX_INTTIME)*total_baselines); for(j=0; jblock[curblock_out].data[j], 0, odb->block[curblock_out].header[j].datsize); } + buf = &(odb->block[curblock_out]); } // Note processing status, current input block @@ -447,13 +472,13 @@ static void *run(hashpipe_thread_args_t * args) /* Perform the baseline dependent averaging */ - buf = &(odb->block[curblock_out]); int32_t *pf_re = idb->block[curblock_in].data; int32_t *pf_im = idb->block[curblock_in].data + xgpu_info.matLength; for(j=0; jheader[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; for(bl=0; bl< buf->header[j].baselines; bl++){ @@ -462,10 +487,10 @@ static void *run(hashpipe_thread_args_t * args) ant1 = buf->header[j].ant_pair_1[bl]; idx_baseline = casper_index(2*ant0, 2*ant1, N_INPUTS); - // offset all bcnts by the sample currently being processed. - // This ensures that bcnt is always increasing while the - // correlator is running. It also ties bcnt to mcnt. - buf->header[j].bcnt[bl] += (sample/N_MAX_INTTIME)*total_baselines; + // baseline dependent offset of this sample + bl_samp_loc = bl*binfo[j].samp_in_bin + sample_loc; + + //fprintf(stderr, "blk:%d\tant0:%d\tant1:%d\tbcnt:%d\n",curblock_out,ant0,ant1,buf->header[j].bcnt[bl_samp_loc]); for(pol=0; poldata[j][datoffset] += re; buf->data[j][datoffset+1] += -im; } @@ -494,7 +519,7 @@ static void *run(hashpipe_thread_args_t * args) paper_output_databuf_set_free(idb, curblock_in); curblock_in = (curblock_in + 1) % idb->header.n_block; - if(sample%N_MAX_INTTIME == 0){ + if(sample%N_MAX_INTTIME == N_MAX_INTTIME-1){ // Mark output databuf as filled as advance hera_bda_databuf_set_filled(odb, curblock_out); curblock_out = (curblock_out + 1) % odb->header.n_block; diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 256d487d..bbc6d732 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -257,21 +257,19 @@ typedef struct paper_output_databuf { #define N_BASELINES (N_ANTS * (N_ANTS + 1)/2) #define N_COMPLEX_PER_BASELINE (N_STOKES * N_CHAN_PER_X) -//#define N_BLTS_BDA (8*387 + 4*1533 + 2*7168 + 21571 + 30768) // (((N_ANTS-2)*(N_ANTS-1)/2) + 2) #define N_BDABUF_BLOCKS 2 #define N_BDABUF_BINS 4 #define N_MAX_INTTIME 8 // The longest baselines are collected for 8 time samples // integration bin indexing -#define hera_bda_buf_data_idx(l, s, b, c, p) \ - ((((l)*(b)*N_CHAN_PER_X*N_STOKES)+((s)*N_CHAN_PER_X*N_STOKES)+((c)*N_STOKES)+(p))*2) +#define hera_bda_buf_data_idx(o, c, p) \ + ((((o)*N_CHAN_PER_X*N_STOKES)+((c)*N_STOKES)+(p))*2) typedef struct hera_bda_header{ uint64_t mcnt[8]; // mcnt of the first time sample in the data uint64_t datsize; // size of buffer (from no. baselines) - int sample; uint64_t baselines; uint16_t *ant_pair_0; uint16_t *ant_pair_1; From 11124a16a3d4433e6a3de6c1b430033a3d500a4f Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Tue, 22 Oct 2019 11:13:46 -0700 Subject: [PATCH 311/420] typo fix in file stop time --- src/hera_catcher_disk_thread_bda.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index e9d7f516..48099c4d 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -347,8 +347,6 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/startt"); } - - fprintf(stdout, "Finshed opening file!\n"); } @@ -430,8 +428,6 @@ static void get_corr_to_hera_map(hdf5_id_t *id, int *corr_to_hera_map) { /* Get the integration time for each baseline from header (set by config file) */ static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { - fprintf(stdout,"Getting integration time\n"); - hid_t dataset_id; herr_t status; dataset_id = H5Dopen(id->header_gid, "integration_time", H5P_DEFAULT); @@ -448,8 +444,6 @@ static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { if (status < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/integration_time dataset"); } - - fprintf(stdout, "Returning integration time\n"); } /* @@ -537,9 +531,6 @@ static void write_header(hdf5_id_t *id, double *time_array_buf, int *ant_0_array if (H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_1_array) < 0) { hashpipe_error(__FUNCTION__, "Error writing ant_2_array"); } - - fprintf(stdout, "Finished writing header\n"); - } // Get the even-sample / first-pol / first-complexity of the correlation buffer for chan `c` baseline `b` @@ -908,6 +899,7 @@ static void *run(hashpipe_thread_args_t * args) // If there is a file already open... // Copy all contents if (curr_file_bcnt >= 0){ + file_offset = strt_bcnt - curr_file_bcnt; clock_gettime(CLOCK_MONOTONIC, &w_start); @@ -955,6 +947,9 @@ static void *run(hashpipe_thread_args_t * args) // If there is an open file, copy the relevant part of the block // and close the file. Open a new file for the rest of the block. if (curr_file_bcnt >=0){ + + //fprintf(stdout,"Copying to an existing file from %d:%d\n",strt_bcnt,break_bcnt); + // copy data nbls = break_bcnt - strt_bcnt; @@ -1001,12 +996,14 @@ static void *run(hashpipe_thread_args_t * args) min_w_ns = MIN(w_ns, min_w_ns); max_w_ns = MAX(w_ns, max_w_ns); } + // finish meta data and close the file - gps_time = mcnt2time(break_bcnt, sync_time_ms); + gps_time = mcnt2time(header.mcnt[bctr+nbls], sync_time_ms); file_stop_t = gps_time; file_duration = file_stop_t - file_start_t; - fprintf(stdout, "Closing datasets and files\n"); + //fprintf(stdout,"Closing the file at time: %f\n", file_stop_t); + write_header(&sum_file, time_array_buf, ant_0_array, ant_1_array); close_filespaces(&sum_file); close_file(&sum_file, file_stop_t, file_duration, file_nblts); @@ -1040,7 +1037,7 @@ static void *run(hashpipe_thread_args_t * args) // Open new sum and difference files // Init all counters to zero - fprintf(stdout, "Init arrays\n"); + //fprintf(stdout,"Opening new file from %d:%d\n",break_bcnt,stop_bcnt); file_nblts = 0; memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); @@ -1066,6 +1063,8 @@ static void *run(hashpipe_thread_args_t * args) start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); #endif + //fprintf(stderr,"File start time: %f\n", file_start_t); + // Get the antenna positions and baseline orders // These are needed for populating the ant_[1|2]_array and uvw_array //get_ant_pos(&sum_file, ant_pos); @@ -1124,9 +1123,7 @@ static void *run(hashpipe_thread_args_t * args) /* Copy auto correlations to autocorr buffer */ - fprintf (stderr, "Processing auto correlations\n"); if (auto_ants_filled == 0){ - fprintf(stderr, "Waiting for a free databuf\n"); // Wait for next buffer to get free while ((rv= hera_catcher_autocorr_databuf_wait_free(db_out, curblock_out)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { @@ -1157,11 +1154,9 @@ static void *run(hashpipe_thread_args_t * args) } } - fprintf(stderr, "Autocorr: ants filled: %d\n", auto_ants_filled); // If you have autocorrs of all antennas // Mark output block as full and advance if (auto_ants_filled == Nants){ - fprintf(stderr, "Marking autocorr databuf filled.."); // Update databuf headers db_out->block[curblock_out].header.num_ants = Nants; db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time_ms, 2); From 5b9f004fe49bab430c921628b70ab3cf73141e13 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 22 Oct 2019 18:16:02 +0000 Subject: [PATCH 312/420] Bring test script to working condition --- src/tests/check_bda_uvh5_files.py | 46 ++++++++++++++++++------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/src/tests/check_bda_uvh5_files.py b/src/tests/check_bda_uvh5_files.py index e803875d..2b8a6b94 100644 --- a/src/tests/check_bda_uvh5_files.py +++ b/src/tests/check_bda_uvh5_files.py @@ -13,7 +13,7 @@ N_STOKES = 4 NCHANS = 1536 N_CHAN_CATCHER = 1536 -INTSPEC = 131072*2 +INTSPEC = 64*512*2 def get_corr_to_hera_map(nants_data=192, nants=352): """ @@ -161,33 +161,41 @@ def gen_tvg_pol(pol, mode='ramp'): if args.fengine: print 'Checking data for SNAPS in test vec mode' + factor = 16 + + uv = UVData() + uv.read(args.h5fname, run_check=False) #, read_data=False) + cminfo = json.loads(fp['Header']['extra_keywords']['cminfo'].value) ants = cminfo['antenna_numbers'] out_map = get_corr_to_hera_map() - uv = UVData() + for a0, a1 in zip(uv.ant_1_array, uv.ant_2_array): - for a0, a1 in zip(ant_1_array[::2], ant_2_array[::2]): + #if(a0==a1): - if(a0==a1): + #print("({0:2d},{1:2d}) \t".format(a0,a1)), + #a0 = out_map[a0]; a1 = out_map[a1]; + print("({0:2d},{1:2d}) \t".format(a0,a1)), - print("({0:2d},{1:2d}) \t".format(a0,a1)), - uv.read(args.h5fname, bls=[(a0, a1)], run_check_acceptability=False, run_check=False) - data = uv.get_data(a0, a1) + try: + data = uv.get_data(a1, a0) + except (ValueError): + print 'Antenna pair (%d,%d) has no data!!!'%(a0,a1) + continue + - a0 = out_map[a0]; a1 = out_map[a1]; - print("({0:2d},{1:2d}) \t".format(a0,a1)), - loca0 = snap_pol_map[cminfo['correlator_inputs'][ants.index(a0)][0][:2]] - loca1 = snap_pol_map[cminfo['correlator_inputs'][ants.index(a1)][0][:2]] + loca0 = snap_pol_map[cminfo['correlator_inputs'][ants.index(a0)][0][:2]] + loca1 = snap_pol_map[cminfo['correlator_inputs'][ants.index(a1)][0][:2]] - tspec = gen_tvg_pol(loca0)*np.conj(gen_tvg_pol(loca1)) - tspec = tspec[:N_CHAN_TOTAL] - #tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + tspec = gen_tvg_pol(loca0)*np.conj(gen_tvg_pol(loca1)) + #tspec = tspec[:N_CHAN_TOTAL] + tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] - print np.all(np.equal(tspec, data[0,:,0]//(4*INTSPEC))), '\t', + print np.all(np.equal(tspec, data[0,:,0]/(factor*INTSPEC))), '\t', - tspec = gen_tvg_pol(loca0 +1)*np.conj(gen_tvg_pol(loca1 +1)) - tspec = tspec[:N_CHAN_TOTAL] - #tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] + tspec = gen_tvg_pol(loca0 +1)*np.conj(gen_tvg_pol(loca1 +1)) + #tspec = tspec[:N_CHAN_TOTAL] + tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] - print np.all(np.equal(tspec, data[0,:,1]//(4*INTSPEC))) + print np.all(np.equal(tspec, data[0,:,1]/(factor*INTSPEC))) From 650ac033df6c5cffd5da2c2db011858ee214abb6 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 22 Oct 2019 23:05:37 +0000 Subject: [PATCH 313/420] remove lst array, change ntimes to reflect unique times --- src/scripts/hera_make_hdf5_template_bda.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index b0f205b7..101d6659 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -195,7 +195,9 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("Nfreqs", dtype=" Date: Tue, 22 Oct 2019 23:06:54 +0000 Subject: [PATCH 314/420] debugging statements to trace hdf5 errors --- src/hera_catcher_disk_thread_bda.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 48099c4d..2f472553 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -480,12 +480,11 @@ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; hsize_t count[N_DATA_DIMS] = {nblts, 1, N_CHAN_PROCESSED, N_STOKES}; - //H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL); - //H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf); + fprintf(stderr,"Start: %lld\t Nbls: %lld\n", bcnt, nblts); // Data if (H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL) <0){ - hashpipe_error(__FUNCTION__, "Error selecting data hyperslab"); + hashpipe_error(__FUNCTION__, "Error selecting data hyperslab from: %d to %d", bcnt, nblts); } if (H5Dwrite(id->visdata_did, complex_id, mem_space, id->visdata_fs, H5P_DEFAULT, visdata_buf) <0){ hashpipe_error(__FUNCTION__, "Error writing data to file"); @@ -939,7 +938,7 @@ static void *run(hashpipe_thread_args_t * args) } else { break_bcnt = ((strt_bcnt / bcnts_per_file) + 1) * bcnts_per_file; } - fprintf(stdout, "Breaking at bcnt: %d\n", break_bcnt); + fprintf(stderr, "Breaking at bcnt: %d\n", break_bcnt); if (break_bcnt % bcnts_per_file) { fprintf(stderr,"Something is wrong\n"); } @@ -1046,20 +1045,20 @@ static void *run(hashpipe_thread_args_t * args) curr_file_bcnt = break_bcnt; block_offset = bctr + break_bcnt - strt_bcnt; - fprintf(stdout, "Curr file bcnt: %d\n", curr_file_bcnt); - fprintf(stdout, "Curr file mcnt: %ld\n", header.mcnt[block_offset]); + fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); + fprintf(stderr, "Curr file mcnt: %ld\n", header.mcnt[block_offset]); gps_time = mcnt2time(header.mcnt[block_offset], sync_time_ms); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); file_start_t = gps_time; file_obs_id = (int64_t)gps_time; sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); - fprintf(stdout, "Opening new file %s\n", hdf5_fname); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); #ifndef SKIP_DIFF sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); - fprintf(stdout, "Opening new file %s\n", hdf5_fname); + fprintf(stderr, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); #endif From 35b57b26dff3c87f11ecf831030a1269db60b19d Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 23 Oct 2019 19:31:42 +0000 Subject: [PATCH 315/420] Move catcher ethernet core to eth4 --- src/scripts/hera_catcher_init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 1533b2c3..0b6a2a79 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -14,7 +14,7 @@ myip=$(getip $(hostname)) function init() { instance=0 mask=0x003f - bindhost=eth3 + bindhost=eth4 netcpu=0 outcpu=3 From 987a06ff2f51a80f4a959a2d8a9a098a0fdf796f Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 23 Oct 2019 19:34:34 +0000 Subject: [PATCH 316/420] Use processing cores on same NUMA node as eth4 NIC --- src/scripts/hera_catcher_init.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 0b6a2a79..8dd4666c 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -15,8 +15,8 @@ function init() { instance=0 mask=0x003f bindhost=eth4 - netcpu=0 - outcpu=3 + netcpu=6 + outcpu=8 echo taskset $mask \ hashpipe -p paper_gpu -I $instance \ From 067f27f996cf9dc5baf40b46e5cf5f725c4b6e30 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 24 Oct 2019 16:34:14 +0000 Subject: [PATCH 317/420] Change eth port --- src/scripts/hera_catcher_init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index 76af2156..fc41a878 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -14,7 +14,7 @@ myip=$(getip $(hostname)) function init() { instance=0 mask=0x003f - bindhost=eth3 + bindhost=eth4 netcpu=0 outcpu=3 autocpu=5 From 5a9b1d8156e6d6efa2d56a01547ef1792591f633 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 24 Oct 2019 16:58:21 +0000 Subject: [PATCH 318/420] remove old code (no change in execution) --- src/hera_gpu_bda_thread.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 0454044e..14afd469 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -249,15 +249,6 @@ static int init_bda_block_header(hera_bda_block_t *bdablk, int bcnt_offset){ for(i=0; i< binfo[j].baselines*binfo[j].samp_in_bin; i++){ bdablk->header[j].bcnt[i] += bcnt_offset; } - - //for(i=0; iheader[j].ant_pair_0[i] = binfo[j].ant_pair_0[i]; - // bdablk->header[j].ant_pair_1[i] = binfo[j].ant_pair_1[i]; - - // for(k=0; kheader[j].bcnt[i*binfo[j].samp_in_bin + k] = binfo[j].bcnt[i*binfo[j].samp_in_bin+k] + bcnt_offset; - // } - //} } return 0; From b8f3aac7d566bb537a158f883be4c55962709b36 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 24 Oct 2019 17:00:39 +0000 Subject: [PATCH 319/420] remove no check clause! --- src/tests/check_bda_uvh5_files.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/tests/check_bda_uvh5_files.py b/src/tests/check_bda_uvh5_files.py index 2b8a6b94..ff380400 100644 --- a/src/tests/check_bda_uvh5_files.py +++ b/src/tests/check_bda_uvh5_files.py @@ -164,7 +164,7 @@ def gen_tvg_pol(pol, mode='ramp'): factor = 16 uv = UVData() - uv.read(args.h5fname, run_check=False) #, read_data=False) + uv.read(args.h5fname) cminfo = json.loads(fp['Header']['extra_keywords']['cminfo'].value) ants = cminfo['antenna_numbers'] @@ -172,10 +172,6 @@ def gen_tvg_pol(pol, mode='ramp'): for a0, a1 in zip(uv.ant_1_array, uv.ant_2_array): - #if(a0==a1): - - #print("({0:2d},{1:2d}) \t".format(a0,a1)), - #a0 = out_map[a0]; a1 = out_map[a1]; print("({0:2d},{1:2d}) \t".format(a0,a1)), try: From f3013cc2ced5f997f9c5b43ccecac894fe9e6726 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 25 Oct 2019 17:31:46 +0000 Subject: [PATCH 320/420] Change integration time... ... to effectively get an acc_len of 64*2048 of the non-bda version, distribute 64*512 to the GPU and 4 to the bda_thread. --- src/scripts/hera_ctl.py | 2 +- src/tests/check_bda_uvh5_files.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py index ee2d7429..c604e700 100644 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -20,7 +20,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('action',type=str, help = 'Action: "start"|"stop": start|stop the correlator.') -parser.add_argument('-n', dest='acclen', type=int, default=64*2048, +parser.add_argument('-n', dest='acclen', type=int, default=64*512, help ='Number of spectra to accumulate') parser.add_argument('-s', dest='slices', type=int, default=2, help ='Number of slices. Eg. for HERA\'s ever/odd correlator, slices=2. \ diff --git a/src/tests/check_bda_uvh5_files.py b/src/tests/check_bda_uvh5_files.py index ff380400..ca15777e 100644 --- a/src/tests/check_bda_uvh5_files.py +++ b/src/tests/check_bda_uvh5_files.py @@ -161,7 +161,7 @@ def gen_tvg_pol(pol, mode='ramp'): if args.fengine: print 'Checking data for SNAPS in test vec mode' - factor = 16 + factor = 4 uv = UVData() uv.read(args.h5fname) From 1a051d4da64dda63f7fd0156c58f6e972d438704 Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Tue, 29 Oct 2019 17:09:36 -0700 Subject: [PATCH 321/420] Fix second trigger error... ... Fix the issue of a second trigger creating hdf5 errors. 2. Removed debugging print statements 3. Moved autocorr out of trigger loop. --- src/hera_catcher_disk_thread_bda.c | 153 ++++++++++++----------------- 1 file changed, 65 insertions(+), 88 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 2f472553..2259c5f4 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -251,8 +251,6 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui id->file_id = open_hdf5_from_template(template_fname, hdf5_fname); - fprintf(stdout, "Start new file!\n"); - // Open HDF5 header groups and create data group id->header_gid = H5Gopen(id->file_id, "Header", H5P_DEFAULT); if (id->header_gid < 0) { @@ -480,8 +478,6 @@ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; hsize_t count[N_DATA_DIMS] = {nblts, 1, N_CHAN_PROCESSED, N_STOKES}; - fprintf(stderr,"Start: %lld\t Nbls: %lld\n", bcnt, nblts); - // Data if (H5Sselect_hyperslab(id->visdata_fs, H5S_SELECT_SET, start, NULL, count, NULL) <0){ hashpipe_error(__FUNCTION__, "Error selecting data hyperslab from: %d to %d", bcnt, nblts); @@ -556,10 +552,8 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, u for(bcnt=0; bcntblock[curblock_in].data; + header = db_in->block[curblock_in].header; + + // Got a new data block, update status + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "writing"); + hputi4(st.buf, "DISKBKIN", curblock_in); + hputu8(st.buf, "DISKMCNT", header.mcnt[0]); + hputu8(st.buf, "DISKBCNT", header.bcnt[0]); + hashpipe_status_unlock_safe(&st); + + /* Copy auto correlations to autocorr buffer */ + + if (auto_ants_filled == 0){ + // Wait for next buffer to get free + while ((rv= hera_catcher_autocorr_databuf_wait_free(db_out, curblock_out)) != HASHPIPE_OK) { + if (rv==HASHPIPE_TIMEOUT) { + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "blocked redis thread"); + hashpipe_status_unlock_safe(&st); + continue; + } else { + hashpipe_error(__FUNCTION__, "error waiting for free databuf"); + pthread_exit(NULL); + break; + } + } + for (i=0; iblock[curblock_out].header.ant[i] = 0; + } + } + + for (bctr=0; bctr < BASELINES_PER_BLOCK; bctr++){ + // Autocorr blocks are indexed by antennas numbers (not corr numbers) + ant = corr_to_hera_map[header.ant_pair_0[bctr]]; + if((header.ant_pair_0[bctr] == header.ant_pair_1[bctr]) && (db_out->block[curblock_out].header.ant[ant]==0)){ + offset_in = hera_catcher_bda_input_databuf_by_bcnt_idx32(bctr, 0); + offset_out = hera_catcher_autocorr_databuf_idx32(ant); + memcpy((db_out->block[curblock_out].data + offset_out), (db_in32 + offset_in), N_CHAN_TOTAL*N_STOKES*2*sizeof(uint32_t)); + auto_ants_filled++; + db_out->block[curblock_out].header.ant[ant] = 1; + } + } + + // If you have autocorrs of all antennas + // Mark output block as full and advance + if (auto_ants_filled == Nants){ + // Update databuf headers + db_out->block[curblock_out].header.num_ants = Nants; + db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time_ms, 2); + if (hera_catcher_autocorr_databuf_set_filled(db_out, curblock_out) != HASHPIPE_OK) { + hashpipe_error(__FUNCTION__, "error marking out databuf %d full", curblock_out); + pthread_exit(NULL); + } + curblock_out = (curblock_out + 1) % AUTOCORR_N_BLOCKS; + auto_ants_filled = 0; + } + // reset elapsed time counters elapsed_w_ns = 0.0; elapsed_t_ns = 0.0; @@ -802,6 +854,7 @@ static void *run(hashpipe_thread_args_t * args) file_cnt = 0; hashpipe_status_lock_safe(&st); hputu4(st.buf, "TRIGGER", 0); + hputu4(st.buf, "NDONEFIL", file_cnt); // Get baseline distribution from redis -- this has to be done here // to ensure that redis database is updated before reading. @@ -835,7 +888,7 @@ static void *run(hashpipe_thread_args_t * args) redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); } - } else if (file_cnt >= nfiles) { + } else if (file_cnt >= nfiles || idle) { // If we're transitioning to idle state // Indicate via redis that we're no longer taking data if (!idle) { @@ -862,17 +915,6 @@ static void *run(hashpipe_thread_args_t * args) // to a new intergation arrives, close the old file and start a new file. clock_gettime(CLOCK_MONOTONIC, &start); - db_in32 = (int32_t *)db_in->block[curblock_in].data; - header = db_in->block[curblock_in].header; - - // Got a new data block, update status - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "writing"); - hputi4(st.buf, "DISKBKIN", curblock_in); - hputu8(st.buf, "DISKMCNT", header.mcnt[0]); - hputu8(st.buf, "DISKBCNT", header.bcnt[0]); - hashpipe_status_unlock_safe(&st); - for (bctr=0 ; bctr< BASELINES_PER_BLOCK; bctr += N_BL_PER_WRITE){ @@ -938,17 +980,11 @@ static void *run(hashpipe_thread_args_t * args) } else { break_bcnt = ((strt_bcnt / bcnts_per_file) + 1) * bcnts_per_file; } - fprintf(stderr, "Breaking at bcnt: %d\n", break_bcnt); - if (break_bcnt % bcnts_per_file) { - fprintf(stderr,"Something is wrong\n"); - } // If there is an open file, copy the relevant part of the block // and close the file. Open a new file for the rest of the block. if (curr_file_bcnt >=0){ - //fprintf(stdout,"Copying to an existing file from %d:%d\n",strt_bcnt,break_bcnt); - // copy data nbls = break_bcnt - strt_bcnt; @@ -1001,8 +1037,6 @@ static void *run(hashpipe_thread_args_t * args) file_stop_t = gps_time; file_duration = file_stop_t - file_start_t; - //fprintf(stdout,"Closing the file at time: %f\n", file_stop_t); - write_header(&sum_file, time_array_buf, ant_0_array, ant_1_array); close_filespaces(&sum_file); close_file(&sum_file, file_stop_t, file_duration, file_nblts); @@ -1023,11 +1057,6 @@ static void *run(hashpipe_thread_args_t * args) // If this is the last file, mark this block done and get out of the loop if (file_cnt >= nfiles) { fprintf(stdout, "Catcher has written %d file and is going to sleep\n", file_cnt); - if(hera_catcher_bda_input_databuf_set_free(db_in, curblock_in) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking catcher bda input databuf %d free", curblock_in); - pthread_exit(NULL); - } - curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; curr_file_bcnt = -1; //So the next trigger will start a new file break; } @@ -1036,8 +1065,6 @@ static void *run(hashpipe_thread_args_t * args) // Open new sum and difference files // Init all counters to zero - //fprintf(stdout,"Opening new file from %d:%d\n",break_bcnt,stop_bcnt); - file_nblts = 0; memset(ant_0_array, 0, bcnts_per_file * sizeof(uint16_t)); memset(ant_1_array, 0, bcnts_per_file * sizeof(uint16_t)); @@ -1045,25 +1072,23 @@ static void *run(hashpipe_thread_args_t * args) curr_file_bcnt = break_bcnt; block_offset = bctr + break_bcnt - strt_bcnt; - fprintf(stderr, "Curr file bcnt: %d\n", curr_file_bcnt); - fprintf(stderr, "Curr file mcnt: %ld\n", header.mcnt[block_offset]); + fprintf(stdout, "Curr file bcnt: %d\n", curr_file_bcnt); + fprintf(stdout, "Curr file mcnt: %ld\n", header.mcnt[block_offset]); gps_time = mcnt2time(header.mcnt[block_offset], sync_time_ms); julian_time = 2440587.5 + (gps_time / (double)(86400.0)); file_start_t = gps_time; file_obs_id = (int64_t)gps_time; sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); #ifndef SKIP_DIFF sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); - fprintf(stderr, "Opening new file %s\n", hdf5_fname); + fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); #endif - //fprintf(stderr,"File start time: %f\n", file_start_t); - // Get the antenna positions and baseline orders // These are needed for populating the ant_[1|2]_array and uvw_array //get_ant_pos(&sum_file, ant_pos); @@ -1072,7 +1097,6 @@ static void *run(hashpipe_thread_args_t * args) // Copy data to the right location nbls = stop_bcnt - break_bcnt + 1; - // fprintf(stdout, "Copying nbls: %d\n", nbls); if (nbls > 0){ if (nbls % N_BL_PER_WRITE){ @@ -1120,53 +1144,6 @@ static void *run(hashpipe_thread_args_t * args) } } - /* Copy auto correlations to autocorr buffer */ - - if (auto_ants_filled == 0){ - // Wait for next buffer to get free - while ((rv= hera_catcher_autocorr_databuf_wait_free(db_out, curblock_out)) != HASHPIPE_OK) { - if (rv==HASHPIPE_TIMEOUT) { - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked redis thread"); - hashpipe_status_unlock_safe(&st); - continue; - } else { - hashpipe_error(__FUNCTION__, "error waiting for free databuf"); - pthread_exit(NULL); - break; - } - } - for (i=0; iblock[curblock_out].header.ant[i] = 0; - } - } - - for (bctr=0; bctr < BASELINES_PER_BLOCK; bctr++){ - // Autocorr blocks are indexed by antennas numbers (not corr numbers) - ant = corr_to_hera_map[header.ant_pair_0[bctr]]; - if((header.ant_pair_0[bctr] == header.ant_pair_1[bctr]) && (db_out->block[curblock_out].header.ant[ant]==0)){ - offset_in = hera_catcher_bda_input_databuf_by_bcnt_idx32(bctr, 0); - offset_out = hera_catcher_autocorr_databuf_idx32(ant); - memcpy((db_out->block[curblock_out].data + offset_out), (db_in32 + offset_in), N_CHAN_TOTAL*N_STOKES*2*sizeof(uint32_t)); - auto_ants_filled++; - db_out->block[curblock_out].header.ant[ant] = 1; - } - } - - // If you have autocorrs of all antennas - // Mark output block as full and advance - if (auto_ants_filled == Nants){ - // Update databuf headers - db_out->block[curblock_out].header.num_ants = Nants; - db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time_ms, 2); - if (hera_catcher_autocorr_databuf_set_filled(db_out, curblock_out) != HASHPIPE_OK) { - hashpipe_error(__FUNCTION__, "error marking out databuf %d full", curblock_out); - pthread_exit(NULL); - } - curblock_out = (curblock_out + 1) % AUTOCORR_N_BLOCKS; - auto_ants_filled = 0; - } - clock_gettime(CLOCK_MONOTONIC, &finish); // Compute processing time for this block From 5d0dcce03c633c6f05ca786c5b4c92070facf16d Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 30 Oct 2019 00:27:59 +0000 Subject: [PATCH 322/420] fix mcnt difference with px number --- src/hera_catcher_net_thread_bda.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index 17a312e3..a2bd8aad 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -207,14 +207,22 @@ static inline uint32_t process_packet( uint32_t *dest_p; int32_t pkt_bcnt_dist; uint32_t pkt_bcnt; + uint64_t pkt_mcnt; uint32_t cur_bcnt; uint32_t netbcnt = -1; // Value to return if a block is filled int b, x, t, o; int rv; uint32_t pkt_offset; + int time_demux_block; // Parse packet header get_header(p_frame, &pkt_header); + + // Split the mcnt into a "pkt_mcnt" which is the same for all even/odd samples, + // and "time_demux_block", which indicates which even/odd block this packet came from + time_demux_block = (pkt_header.mcnt / Nt) % TIME_DEMUX; + pkt_mcnt = pkt_header.mcnt - (Nt*time_demux_block); + pkt_bcnt = pkt_header.bcnt; // Lazy init binfo @@ -309,7 +317,7 @@ static inline uint32_t process_packet( // If this is the first packet of this baseline, update header if(!binfo.baselines[pkt_block_i][b]){ - db->block[pkt_block_i].header.mcnt[b] = pkt_header.mcnt; + db->block[pkt_block_i].header.mcnt[b] = pkt_mcnt; db->block[pkt_block_i].header.ant_pair_0[b] = pkt_header.ant0; db->block[pkt_block_i].header.ant_pair_1[b] = pkt_header.ant1; db->block[pkt_block_i].header.bcnt[b] = pkt_header.bcnt; From b905213bb0ac6ebc2c129eac3d899c956fba54fa Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 30 Oct 2019 00:34:42 +0000 Subject: [PATCH 323/420] increase packet delay --- src/hera_bda_output_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index d1e2af9f..8d15d6cf 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -71,7 +71,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (8 * 8 * OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (32 * 8 * OUTPUT_BYTES_PER_PACKET) // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name From 305319667d691f67c0a628810ba9a7afdf7211c2 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 30 Oct 2019 00:35:58 +0000 Subject: [PATCH 324/420] update mcnt only for non empty bins --- src/hera_gpu_bda_thread.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 14afd469..5e453094 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -470,8 +470,11 @@ static void *run(hashpipe_thread_args_t * args) // Location of this sample within the bin: sample_loc sample_loc = (sample/(1<header[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; - + if (buf->header[j].baselines > 0){ + buf->header[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; + fprintf(stdout,"sample: %ld\t Sample_loc: %d\t mcnt:%ld\n", sample, sample_loc, buf->header[j].mcnt[sample_loc]); + } + for(bl=0; bl< buf->header[j].baselines; bl++){ //fprintf(stderr,"Bin:%d, 2**j:%d\n",j,(1<header[j].ant_pair_0[bl]; From 463f5f176ddccfb1650d7f36c2e252d06ede05a1 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 30 Oct 2019 00:37:17 +0000 Subject: [PATCH 325/420] change cpus to be physically closer to the NIC --- src/scripts/hera_catcher_init.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index fc41a878..ab13f4b8 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -15,8 +15,8 @@ function init() { instance=0 mask=0x003f bindhost=eth4 - netcpu=0 - outcpu=3 + netcpu=6 + outcpu=8 autocpu=5 if [ $USE_BDA -eq 1 ] From a6efe79df28b5a88b1e80e26fdb561836ca0c56a Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 30 Oct 2019 00:37:55 +0000 Subject: [PATCH 326/420] Speed up script... ... Copy the config file instead of creating it again. Sleep lesser. --- src/scripts/hera_catcher_up.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 45e47119..72f37de7 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -5,6 +5,7 @@ import argparse import subprocess import numpy as np +import os perf_tweaker = 'tweak-perf-sn.sh' init = 'hera_catcher_init.sh' @@ -71,8 +72,10 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): print 'Create configuration file' p = subprocess.Popen(bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) p.wait() - run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', '/tmp/bdaconfig.txt'], wait=True) - time.sleep(10) + #run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', '/tmp/bdaconfig.txt'], wait=True) + os.system('scp "%s" "%s:%s"' % ('/tmp/bdaconfig.txt','hera-sn1', '/tmp/bdaconfig.txt') ) + +time.sleep(10) # Generate the meta-data template if args.bda: From 424b8664a1c67f7388096f628872f9c2282db321 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 30 Oct 2019 00:41:06 +0000 Subject: [PATCH 327/420] Fix empty uvw array, constant Ntimes... ... Convert ant_1_array and ant_2_array from config file into hera antenna numbers to update the correct uvw array. Fix Ntimes to a constant value to reflect the config file. --- src/scripts/hera_make_hdf5_template_bda.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 101d6659..ff11f52a 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -176,11 +176,10 @@ def create_header(h5, config, use_cm=False, use_redis=False): r = redis.Redis("redishost") fenginfo = r.hgetall("init_configuration") corr_to_hera_map = get_corr_to_hera_map(r, nants_data=192, nants=192) - # Baselines in the config file are already in hera antenna numbers - #for n in range(baselines.shape[0]): - # baselines[n] = [corr_to_hera_map[baselines[n,0]], corr_to_hera_map[baselines[n,1]]] - #ant_1_array = np.array([x for (x,y) in baselines]) - #ant_2_array = np.array([y for (x,y) in baselines]) + for n in range(baselines.shape[0]): + baselines[n] = [corr_to_hera_map[baselines[n,0]], corr_to_hera_map[baselines[n,1]]] + ant_1_array = np.array([x for (x,y) in baselines]) + ant_2_array = np.array([y for (x,y) in baselines]) else: fenginfo = None @@ -197,7 +196,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("Nspws", dtype=" Date: Wed, 30 Oct 2019 00:46:31 +0000 Subject: [PATCH 328/420] bug fixes and updates to non-BDA test script --- src/tests/check_xcorr_ordering_uvh5.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/tests/check_xcorr_ordering_uvh5.py b/src/tests/check_xcorr_ordering_uvh5.py index ef8679e2..08356a78 100644 --- a/src/tests/check_xcorr_ordering_uvh5.py +++ b/src/tests/check_xcorr_ordering_uvh5.py @@ -2,7 +2,7 @@ from pyuvdata import UVData import argparse import h5py -import pickle +import json NCHANS = 1536 INTSPEC = 131072*2 @@ -36,14 +36,14 @@ def gen_tvg_pol(pol, mode='ramp'): args=parser.parse_args() fp = h5py.File(args.uvh5_file) -cminfo = pickle.loads(fp['Header']['extra_keywords']['cminfo'].value) +cminfo = json.loads(fp['Header']['extra_keywords']['cminfo'].value) fp.close() uvd = UVData() uvd.read_uvh5(args.uvh5_file, run_check=False) ant_pairs = uvd.get_antpairs() -shape = list(np.shape(uvd.get_data(0,0))) +shape = list(np.shape(uvd.get_data(ant_pairs[0]))) zeros_all = np.zeros(shape) zeros_pol = np.zeros(shape[0:-1]) pols = ['xx','yy','xy','yx'] @@ -56,9 +56,9 @@ def gen_tvg_pol(pol, mode='ramp'): try: if not np.all(uvd.get_data(a1,a2) == zeros_all): ants.append((a1,a2)) - for i in range(4): - if np.all(np.imag(uvd.get_data(a1,a2)[:,:,i]) == zeros_pol): - print pols[i], a1, a2 + #for i in range(4): + # if np.all(np.imag(uvd.get_data(a1,a2)[:,:,i]) == zeros_pol): + # print pols[i], a1, a2 except(KeyError): pass @@ -72,12 +72,12 @@ def gen_tvg_pol(pol, mode='ramp'): snaploc_a1 = snap_pol_map[cminfo['correlator_inputs'][idx_a1][0][:-11]] snaploc_a2 = snap_pol_map[cminfo['correlator_inputs'][idx_a2][0][:-11]] - tspec = gen_tvg_pol(snaploc_a1)*np.conj(snaploc_a2) + tspec = gen_tvg_pol(snaploc_a1)*np.conj(gen_tvg_pol(snaploc_a2)) tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] - print a1,a2, np.all(tspec == uvd.get_data(a1,a2)[0,:,0]/INTSPEC) + print a1,a2, np.all(np.equal(tspec, uvd.get_data(a2,a1)[0,:,0]/INTSPEC)) - tspec = gen_tvg_pol(snaploc_a1+1)*np.conj(snaploc_a2+1) + tspec = gen_tvg_pol(snaploc_a1+1)*np.conj(gen_tvg_pol(snaploc_a2+1)) tspec = np.sum(tspec.reshape(-1,4),axis=1)[:NCHANS] - print a1,a2, np.all(tspec == uvd.get_data(a1,a2)[0,:,1]/INTSPEC) + print a1,a2, np.all(np.equal(tspec, uvd.get_data(a2,a1)[0,:,1]/INTSPEC)) From d8fcd3384c1fa3c2773fb526eabe6847919022db Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 31 Oct 2019 20:46:12 +0000 Subject: [PATCH 329/420] add python env path to args --- src/scripts/hera_catcher_up.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 72f37de7..2b3a01e1 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -9,7 +9,6 @@ perf_tweaker = 'tweak-perf-sn.sh' init = 'hera_catcher_init.sh' -python_source_cmd = ['source', '~/hera-venv/bin/activate'] bda_config_cmd = ['hera_create_bda_config.py'] template_cmd = ['hera_make_hdf5_template.py'] @@ -39,9 +38,15 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') +parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", + help='The path to a python virtual environment which will be activated prior to running paper_init. ' + + 'Only relevant if using the --redislog flag, which uses a python redis interface') args = parser.parse_args() +# Environment sourcing command required to run remote python jobs +python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + r = redis.Redis(args.redishost) # Run performance tweaking script @@ -55,7 +60,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): init_args += ['-r'] # Start Catcher -run_on_hosts([args.host], ['cd', '/data;', init] + init_args + ['0'], wait=True) +run_on_hosts([args.host], python_source_cmd + ['cd', '/data;', init] + init_args + ['0'], wait=True) time.sleep(15) # Start hashpipe<->redis gateways @@ -79,9 +84,9 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Generate the meta-data template if args.bda: - run_on_hosts([args.host], python_source_cmd + [';'] + ['hera_make_hdf5_template_bda.py'] + ['-c', '-r', args.hdf5template], wait=True) + run_on_hosts([args.host], python_source_cmd + ['hera_make_hdf5_template_bda.py'] + ['-c', '-r', args.hdf5template], wait=True) else: - run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) + run_on_hosts([args.host], python_source_cmd + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters catcher_dict = { From 7a1924cd1ff673bfa4d4759caa529057d93a45b9 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 31 Oct 2019 20:47:08 +0000 Subject: [PATCH 330/420] remove debugging print --- src/hera_gpu_bda_thread.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index 5e453094..e91cd024 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -472,7 +472,6 @@ static void *run(hashpipe_thread_args_t * args) sample_loc = (sample/(1<header[j].baselines > 0){ buf->header[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; - fprintf(stdout,"sample: %ld\t Sample_loc: %d\t mcnt:%ld\n", sample, sample_loc, buf->header[j].mcnt[sample_loc]); } for(bl=0; bl< buf->header[j].baselines; bl++){ From cd6ebcbfb88ff98713289d1503040b1846842ebf Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 31 Oct 2019 22:07:09 +0000 Subject: [PATCH 331/420] change default to running BDA --- src/scripts/hera_catcher_take_data.py | 2 +- src/scripts/hera_catcher_up.py | 2 +- src/scripts/xtor_up.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index 5ed96456..4f6a17c1 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -6,7 +6,7 @@ import subprocess python_source_cmd = ['source', '~/hera-venv/bin/activate'] -template_cmd = ['hera_make_hdf5_template.py'] +template_cmd = ['hera_make_hdf5_template_bda.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): if isinstance(cmd, str): diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 2b3a01e1..15a05762 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -32,7 +32,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') -parser.add_argument('--bda', dest='bda', action='store_true', default=False, +parser.add_argument('--nobda', dest='bda', action='store_false', default=True, help='Use the baseline dependent averaging version') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index a6b089ac..e27a30b4 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -42,7 +42,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Use the IB Verbs netthread. Experimental!') parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') -parser.add_argument('--bda', dest='bda', action='store_true', default=False, +parser.add_argument('--nobda', dest='bda', action='store_false', default=True, help='Use baseline dependent averaging. (Beta)') parser.add_argument('--test', dest='test', action='store_true', default=False, help='Run BDA in test vector mode') From 84c3fb8db09a116e534eb08d2f0ef4b74fc05531 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 05:03:00 +0000 Subject: [PATCH 332/420] Change mcnt header... ... Change the length of mcnt array to be total_baselines long. Include debugging statement to check for missing samples. Account for timing of BDA thread correctly. --- src/hera_bda_output_thread.c | 30 ++++++++++++++++++++++++++++-- src/hera_gpu_bda_thread.c | 19 ++++++++++++------- src/paper_databuf.h | 2 +- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 8d15d6cf..bef248b2 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -73,6 +73,12 @@ typedef struct struct_pkt { // With 16 nodes, amounts to 6.4 Gbps of data #define PACKET_DELAY_NS (32 * 8 * OUTPUT_BYTES_PER_PACKET) +static uint32_t get_bcnt_from_mcnt(uint64_t mcnt, uint64_t start_mcnt, + int int_count, int total_baseslines){ + uint64_t sample = (mcnt - (start_mcnt+int_count)) / (TIME_DEMUX * int_count); + return (sample/N_MAX_INTTIME)*total_baselines; +} + // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name // (e.g. "ntp"). Returns -1 on error, otherwise a valid descriptor for an open @@ -201,6 +207,10 @@ static void *run(hashpipe_thread_args_t * args) hera_bda_block_t *buf; unsigned int n_samples; uint64_t datoffset; + uint64_t start_bda_mcount; + uint64_t total_baselines; + int int_count; + uint32_t exp_bcnt; while (run_threads()) { @@ -223,6 +233,13 @@ static void *run(hashpipe_thread_args_t * args) } } + hashpipe_status_lock_safe(&st); + hputs(st.buf, status_key, "processing"); + hgeti8(st.buf, "INTSYNC", (long int *)&start_bda_mcount); + hgeti4(st.buf, "INTCOUNT", &int_count); + hgeti8(st.buf, "NBDABLS", (long int *)&total_baselines); + hashpipe_status_unlock_safe(&st); + clock_gettime(CLOCK_MONOTONIC, &start); nbytes = 0; @@ -254,14 +271,23 @@ static void *run(hashpipe_thread_args_t * args) for(i=0; iheader[j].bcnt[bl*n_samples + i], + start_bda_mcount, int_count, + total_baselines); + + if (exp_bcnt != buf->header[j].bcnt[bl*n_samples+i]){ + fprintf(stderr, "output_thread(): Expencted bcnt %d but got bcnt %d\n", exp_bcnt, buf->header[j].bcnt[bl*n_samples + i]); + } + pkt.hdr.baseline_id = BASELINE_ID(buf->header[j].bcnt[bl*n_samples + i]); - pkt.hdr.timestamp = TIMESTAMP(buf->header[j].mcnt[i]); + pkt.hdr.timestamp = TIMESTAMP(buf->header[j].mcnt[bl*n_samples + i]); offset = 0; for(chan=0; chanheader[j].ant_pair_0 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); buf->header[j].ant_pair_1 = (uint16_t *) malloc(binfo[j].baselines * sizeof(uint16_t)); buf->header[j].bcnt = (uint32_t *) malloc(binfo[j].baselines * binfo[j].samp_in_bin * sizeof(uint32_t)); + buf->header[j].mcnt = (uint64_t *) malloc(binfo[j].baselines * binfo[j].samp_in_bin * sizeof(uint64_t)); } init_bda_block_header(buf, 0); @@ -367,6 +369,7 @@ static void *run(hashpipe_thread_args_t * args) int int_count; // number of mcnts integrated in GPU uint64_t start_bda_mcount; // mcount to start BD integration uint64_t sample = 0; + uint64_t prev_samp = -1; int sample_loc, bl_samp_loc; while (run_threads()) { @@ -380,7 +383,7 @@ static void *run(hashpipe_thread_args_t * args) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); + hputs(st.buf, status_key, "blocked_in"); hashpipe_status_unlock_safe(&st); continue; } else { @@ -425,17 +428,20 @@ static void *run(hashpipe_thread_args_t * args) hgeti4(st.buf, "INTCOUNT", &int_count); hashpipe_status_unlock_safe(&st); - clock_gettime(CLOCK_MONOTONIC, &start); - sample = get_sample_from_mcnt(idb->block[curblock_in].header.mcnt, start_bda_mcount+int_count, int_count); + if (sample != (prev_samp+1)){ + fprintf(stderr, "Missed sample %ld!!\n", prev_samp); + prev_samp = sample-1; + } + prev_samp++; if (sample%N_MAX_INTTIME == 0){ // Wait for new output block to be free while ((rv=hera_bda_databuf_wait_free(odb, curblock_out)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); + hputs(st.buf, status_key, "blocked_out"); hashpipe_status_unlock_safe(&st); continue; } else { @@ -460,6 +466,7 @@ static void *run(hashpipe_thread_args_t * args) hputu4(st.buf, "BDASAMP", sample); hashpipe_status_unlock_safe(&st); + clock_gettime(CLOCK_MONOTONIC, &start); /* Perform the baseline dependent averaging */ @@ -470,9 +477,6 @@ static void *run(hashpipe_thread_args_t * args) // Location of this sample within the bin: sample_loc sample_loc = (sample/(1<header[j].baselines > 0){ - buf->header[j].mcnt[sample_loc] = idb->block[curblock_in].header.mcnt; - } for(bl=0; bl< buf->header[j].baselines; bl++){ //fprintf(stderr,"Bin:%d, 2**j:%d\n",j,(1<header[j].mcnt[bl_samp_loc] = idb->block[curblock_in].header.mcnt; //fprintf(stderr, "blk:%d\tant0:%d\tant1:%d\tbcnt:%d\n",curblock_out,ant0,ant1,buf->header[j].bcnt[bl_samp_loc]); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index bbc6d732..021ab5a2 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -268,7 +268,7 @@ typedef struct paper_output_databuf { typedef struct hera_bda_header{ - uint64_t mcnt[8]; // mcnt of the first time sample in the data + uint64_t *mcnt; // mcnt of the first time sample in the data uint64_t datsize; // size of buffer (from no. baselines) uint64_t baselines; uint16_t *ant_pair_0; From c16dd77e1847a836d2828673c3531acead81dd1e Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 05:06:26 +0000 Subject: [PATCH 333/420] Do *not* mark filled on receiving all packets... ... Initialize block on the bcnt that it should be, not the bcnt of the packet received. Mark the current block filled *only* when you recieve packet for the block after. Minor: change print statements to stdout. --- src/hera_catcher_net_thread_bda.c | 49 +++++++++++++------------------ 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index a2bd8aad..1da5a395 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -140,7 +140,7 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf block_missed_xengs = block_missed_pkt_cnt / (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); block_missed_mod_cnt = block_missed_pkt_cnt % (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); - //fprintf(stderr,"Missed packets: %ld\tMissed Xengs:%ld\t", block_missed_pkt_cnt, block_missed_xengs); + //fprintf(stdout,"Missed packets: %ld\tMissed Xengs:%ld\t", block_missed_pkt_cnt, block_missed_xengs); // Update status buffer hashpipe_status_lock_busywait_safe(st_p); @@ -190,12 +190,6 @@ static inline void initialize_block_info(block_info_t * binfo){ // NETMCNT, so it is important that values other than -1 are returned rarely // (i.e. when marking a block as filled)!!! -//static inline uint32_t process_packet( -// hera_catcher_bda_input_databuf_t *db, unsigned char *p_frame){ -// uint32_t netbcnt = 32; -// return netbcnt; -//} - static inline uint32_t process_packet( hera_catcher_bda_input_databuf_t *db, unsigned char *p_frame){ @@ -228,13 +222,13 @@ static inline uint32_t process_packet( // Lazy init binfo if(!binfo.initialized){ // This is the first packet received - fprintf(stderr,"Initializing binfo..!\n"); + fprintf(stdout,"Initializing binfo..!\n"); initialize_block_info(&binfo); first_bcnt = 0; //pkt_bcnt; binfo.bcnt_start = pkt_bcnt; - fprintf(stderr,"Initializing the first blocks..\n"); + fprintf(stdout,"Initializing the first blocks..\n"); // Initialize the newly acquired blocks initialize_block(db, pkt_bcnt); initialize_block(db, pkt_bcnt+BASELINES_PER_BLOCK); @@ -243,9 +237,9 @@ static inline uint32_t process_packet( pkt_block_i = block_for_bcnt(pkt_bcnt); cur_bcnt = binfo.bcnt_start; - //fprintf(stderr, "curr:%d\tnext:%d\t",binfo.block_curr, binfo.block_next); - //fprintf(stderr, "bcnt:%d\tblock_id:%d\n",pkt_header.bcnt, pkt_block_i); - //fprintf(stderr, "xeng:%d\n",pkt_header.xeng_id); + //fprintf(stdout, "curr:%d\tnext:%d\t",binfo.block_curr, binfo.block_next); + //fprintf(stdout, "bcnt:%d\tblock_id:%d\n",pkt_header.bcnt, pkt_block_i); + //fprintf(stdout, "xeng:%d\n",pkt_header.xeng_id); // Packet bcnt distance (how far away is this packet's bcnt from the // current bcnt). Positive distance for pcnt mcnts > current mcnt. @@ -257,19 +251,15 @@ static inline uint32_t process_packet( if (0 <= pkt_bcnt_dist && pkt_bcnt_dist < 3*BASELINES_PER_BLOCK){ // If the packet is for the block after the next block (i.e. current // block + 2 blocks), mark the current block as filled. - if ((pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK) || (binfo.block_packet_counter[binfo.block_i] == PACKETS_PER_BLOCK)){ + if (pkt_bcnt_dist >= 2*BASELINES_PER_BLOCK){ netbcnt = set_block_filled(db, &binfo); - //fprintf(stderr,"Filled Block: %d from bcnt: %d to bcnt: %d\n", binfo.block_i, db->block[binfo.block_i].header.bcnt[0], + //fprintf(stdout,"Filled Block: %d from bcnt: %d to bcnt: %d\n", binfo.block_i, db->block[binfo.block_i].header.bcnt[0], // db->block[binfo.block_i].header.bcnt[BASELINES_PER_BLOCK-1]); // Update binfo cur_bcnt += BASELINES_PER_BLOCK; binfo.bcnt_start += BASELINES_PER_BLOCK; - binfo.block_packet_counter[binfo.block_i] = 0; - memset(binfo.flags[binfo.block_i], 1, PACKETS_PER_BLOCK*sizeof(char)); - memset(binfo.baselines[binfo.block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); - binfo.block_i = (binfo.block_i+1) % CATCHER_N_BLOCKS; // Wait (hopefully not long!) to acquire the block after next. @@ -291,7 +281,10 @@ static inline uint32_t process_packet( } // Initialize the newly acquired block - initialize_block(db, pkt_bcnt); + initialize_block(db, cur_bcnt+BASELINES_PER_BLOCK); + binfo.block_packet_counter[binfo.pkt_block_i] = 0; + memset(binfo.flags[binfo.pkt_block_i], 1, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[binfo.pkt_block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); // Reset out-of-seq counter binfo.out_of_seq_cnt = 0; @@ -303,8 +296,8 @@ static inline uint32_t process_packet( t = (pkt_header.mcnt/Nt) % TIME_DEMUX; //Nt = 2 o = pkt_header.offset; pkt_offset = hera_catcher_bda_input_databuf_pkt_offset(b, t, x, o); - //fprintf(stderr, "bcnt-loc:%d\txeng:%d\ttime:%d\tpktoffset:%d\n",b,x,t,o); - //fprintf(stderr, "offset: %d\n", pkt_offset); + //fprintf(stdout, "bcnt-loc:%d\txeng:%d\ttime:%d\tpktoffset:%d\n",b,x,t,o); + //fprintf(stdout, "offset: %d\n", pkt_offset); // Copy data into buffer with byte swap payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); @@ -313,7 +306,7 @@ static inline uint32_t process_packet( for(i=0; i<(pkt_header.payload_len>>2); i++){ dest_p[i] = be32toh(payload_p[i]); } - //fprintf(stderr,"bcnt:%d\t block_id:%d\t Pkt cntr: %lu\n",b, pkt_block_i, binfo.block_packet_counter[pkt_block_i]); + //fprintf(stdout,"bcnt:%d\t block_id:%d\t Pkt cntr: %lu\n",b, pkt_block_i, binfo.block_packet_counter[pkt_block_i]); // If this is the first packet of this baseline, update header if(!binfo.baselines[pkt_block_i][b]){ @@ -460,7 +453,7 @@ static void *run(hashpipe_thread_args_t * args){ int holdoff = 1; // Force ourself into the hold off state - fprintf(stderr, "Setting CNETHOLD state to 1.Waiting for someone to set it to 0\n"); + fprintf(stdout, "Setting CNETHOLD state to 1.Waiting for someone to set it to 0\n"); hashpipe_status_lock_safe(&st); hputi4(st.buf, "CNETHOLD", 1); hputs(st.buf, status_key, "holding"); @@ -474,12 +467,12 @@ static void *run(hashpipe_thread_args_t * args){ // Done holding, so delete the key hdel(st.buf, "CNETHOLD"); hputs(st.buf, status_key, "starting"); - fprintf(stderr, "Starting...\n"); + fprintf(stdout, "Starting...\n"); } hashpipe_status_unlock_safe(&st); } - fprintf(stderr,"Waiting to acquire two blocks to start!\n"); + fprintf(stdout,"Waiting to acquire two blocks to start!\n"); // Acquire first two blocks to start if(hera_catcher_bda_input_databuf_busywait_free(db, 0) != HASHPIPE_OK){ @@ -555,9 +548,9 @@ static void *run(hashpipe_thread_args_t * args){ struct timespec recv_start, recv_stop; - fprintf(stderr,"Starting to collect packets..\n"); - fprintf(stderr,"Channels per catcher packet:%ld\n",CHAN_PER_CATCHER_PKT); - fprintf(stderr,"Packets per block: %ld\n",PACKETS_PER_BLOCK); + fprintf(stdout,"Starting to collect packets..\n"); + fprintf(stdout,"Channels per catcher packet:%ld\n",CHAN_PER_CATCHER_PKT); + fprintf(stdout,"Packets per block: %ld\n",PACKETS_PER_BLOCK); while (run_threads()) { // Read packet From c13292e0915a98984582e5c1ee2194584c8d91e9 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 05:12:56 +0000 Subject: [PATCH 334/420] lax criteria for auto ants --- src/hera_catcher_disk_thread_bda.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 2259c5f4..7d9c656e 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -777,7 +777,7 @@ static void *run(hashpipe_thread_args_t * args) if (auto_ants_filled == 0){ // Wait for next buffer to get free - while ((rv= hera_catcher_autocorr_databuf_wait_free(db_out, curblock_out)) != HASHPIPE_OK) { + while ((rv= hera_catcher_autocorr_databuf_busywait_free(db_out, curblock_out)) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); hputs(st.buf, status_key, "blocked redis thread"); @@ -808,7 +808,7 @@ static void *run(hashpipe_thread_args_t * args) // If you have autocorrs of all antennas // Mark output block as full and advance - if (auto_ants_filled == Nants){ + if (auto_ants_filled >= Nants){ // Update databuf headers db_out->block[curblock_out].header.num_ants = Nants; db_out->block[curblock_out].header.julian_time = compute_jd_from_mcnt(header.mcnt[bctr-1], sync_time_ms, 2); From a464c4c0639848470210b3136b2e1ecdefca326e Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 05:14:42 +0000 Subject: [PATCH 335/420] typo fix in print statement --- src/scripts/paper_init.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index c37824d4..92ead630 100644 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -205,7 +205,8 @@ function init() { -o XID=$xid \ -c $netcpu $netthread \ -m $flfcpu paper_fluff_thread \ - -c $gpucpu hera_gpu_bda_thread \ + -c $gpucpu paper_gpu_thread \ + -c $bdacpu hera_gpu_bda_thread \ -c $outcpu hera_bda_output_thread if [ $USE_REDIS -eq 1 ] then From d548bd99626cb38d92211c23d175ac31575dd79c Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 16:53:00 +0000 Subject: [PATCH 336/420] typo fix in baselines --- src/hera_gpu_bda_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index e92058e4..d04914f2 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -323,7 +323,7 @@ static void *run(hashpipe_thread_args_t * args) hputu8(st.buf, "NBL4SEC", binfo[1].baselines); hputu8(st.buf, "NBL8SEC", binfo[2].baselines); hputu8(st.buf, "NBL16SEC",binfo[3].baselines); - hputu8(st.buf, "NBDABLS", total_baseslines); + hputu8(st.buf, "NBDABLS", total_baselines); hputu4(st.buf, "BDASAMP", 0); hashpipe_status_unlock_safe(&st); From ee56462823748a30485ea7d8808fa4d4219dd38c Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 16:53:43 +0000 Subject: [PATCH 337/420] typo fix for pkt_block_i --- src/hera_catcher_net_thread_bda.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index 1da5a395..e31220c4 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -282,9 +282,9 @@ static inline uint32_t process_packet( // Initialize the newly acquired block initialize_block(db, cur_bcnt+BASELINES_PER_BLOCK); - binfo.block_packet_counter[binfo.pkt_block_i] = 0; - memset(binfo.flags[binfo.pkt_block_i], 1, PACKETS_PER_BLOCK*sizeof(char)); - memset(binfo.baselines[binfo.pkt_block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); + binfo.block_packet_counter[pkt_block_i] = 0; + memset(binfo.flags[pkt_block_i], 1, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo.baselines[pkt_block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); // Reset out-of-seq counter binfo.out_of_seq_cnt = 0; From 2adeab7442cf2daef1d037f6fc7aca0c4219b6e6 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 7 Nov 2019 16:54:15 +0000 Subject: [PATCH 338/420] Remove bcnt-mcnt check... ... it is not trivial to reconstruct the bcnt given an antenna pair. Difficult to construct this check. --- src/hera_bda_output_thread.c | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index bef248b2..a2e44e4a 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -73,12 +73,6 @@ typedef struct struct_pkt { // With 16 nodes, amounts to 6.4 Gbps of data #define PACKET_DELAY_NS (32 * 8 * OUTPUT_BYTES_PER_PACKET) -static uint32_t get_bcnt_from_mcnt(uint64_t mcnt, uint64_t start_mcnt, - int int_count, int total_baseslines){ - uint64_t sample = (mcnt - (start_mcnt+int_count)) / (TIME_DEMUX * int_count); - return (sample/N_MAX_INTTIME)*total_baselines; -} - // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name // (e.g. "ntp"). Returns -1 on error, otherwise a valid descriptor for an open @@ -207,10 +201,6 @@ static void *run(hashpipe_thread_args_t * args) hera_bda_block_t *buf; unsigned int n_samples; uint64_t datoffset; - uint64_t start_bda_mcount; - uint64_t total_baselines; - int int_count; - uint32_t exp_bcnt; while (run_threads()) { @@ -233,13 +223,6 @@ static void *run(hashpipe_thread_args_t * args) } } - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "processing"); - hgeti8(st.buf, "INTSYNC", (long int *)&start_bda_mcount); - hgeti4(st.buf, "INTCOUNT", &int_count); - hgeti8(st.buf, "NBDABLS", (long int *)&total_baselines); - hashpipe_status_unlock_safe(&st); - clock_gettime(CLOCK_MONOTONIC, &start); nbytes = 0; @@ -271,16 +254,6 @@ static void *run(hashpipe_thread_args_t * args) for(i=0; iheader[j].bcnt[bl*n_samples + i], - start_bda_mcount, int_count, - total_baselines); - - if (exp_bcnt != buf->header[j].bcnt[bl*n_samples+i]){ - fprintf(stderr, "output_thread(): Expencted bcnt %d but got bcnt %d\n", exp_bcnt, buf->header[j].bcnt[bl*n_samples + i]); - } - pkt.hdr.baseline_id = BASELINE_ID(buf->header[j].bcnt[bl*n_samples + i]); pkt.hdr.timestamp = TIMESTAMP(buf->header[j].mcnt[bl*n_samples + i]); offset = 0; From 9b1b84c4daacc65d599d4e039658d702fb19cff7 Mon Sep 17 00:00:00 2001 From: Jack H Date: Fri, 8 Nov 2019 09:41:56 -0800 Subject: [PATCH 339/420] Add special case of single host, multiple time slices --- src/scripts/xtor_up.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 6961dcbb..fdd97c04 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -78,10 +78,15 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(3) # Configure the X-engines as even/odd correlators -for hn, host in enumerate(hosts): +if (len(hosts) == 1) and (args.timeslices != 1): for i in range(args.ninstances): key = 'hashpipe://%s/%d/set' % (host, i) - r.publish(key, 'TIMEIDX=%d' % (hn//nhosts_per_timeslice)) + r.publish(key, 'TIMEIDX=%d' % (args.ninstances)) +else: + for hn, host in enumerate(hosts): + for i in range(args.ninstances): + key = 'hashpipe://%s/%d/set' % (host, i) + r.publish(key, 'TIMEIDX=%d' % (hn//nhosts_per_timeslice)) # Let the network threads begin processing for hn, host in enumerate(hosts): From 53586d34029e4c4d13ca1254601b046cc881e6ff Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 13 Nov 2019 00:46:52 +0000 Subject: [PATCH 340/420] add option for bda to be False --- src/scripts/hera_catcher_up.py | 10 +++++----- src/scripts/xtor_up.py | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 15a05762..59b0c8b4 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -32,7 +32,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') -parser.add_argument('--nobda', dest='bda', action='store_false', default=True, +parser.add_argument('--nobda', dest='nobda', action='store_true', default=False, help='Use the baseline dependent averaging version') parser.add_argument('--runtweak', dest='runtweak', action='store_true', default=False, help='Run the tweaking script %s on X-hosts prior to starting the correlator' % perf_tweaker) @@ -54,7 +54,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): run_on_hosts([args.host], perf_tweaker, user='root', wait=True) init_args = [] -if args.bda: +if not args.nobda: init_args += ['-a'] if args.redislog: init_args += ['-r'] @@ -73,7 +73,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Upload config file location # NOTE: This has to come before template generation! # Generate the BDA config file and upload to redis -if args.bda: +if not args.nobda: print 'Create configuration file' p = subprocess.Popen(bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) p.wait() @@ -83,7 +83,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(10) # Generate the meta-data template -if args.bda: +if not args.nobda: run_on_hosts([args.host], python_source_cmd + ['hera_make_hdf5_template_bda.py'] + ['-c', '-r', args.hdf5template], wait=True) else: run_on_hosts([args.host], python_source_cmd + template_cmd + ['-c', '-r', args.hdf5template], wait=True) @@ -108,7 +108,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): r.publish(pubchan, 'MISSEDPK=0') # If BDA is requested, write distribution to redis -if args.bda: +if not args.nobda: baselines = {} Nants = 0 for n in range(4): diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index e27a30b4..6c9dfb07 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -42,8 +42,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): help='Use the IB Verbs netthread. Experimental!') parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') -parser.add_argument('--nobda', dest='bda', action='store_false', default=True, - help='Use baseline dependent averaging. (Beta)') +parser.add_argument('--nobda', dest='nobda', action='store_true', default=False, + help='Use baseline dependent averaging.') parser.add_argument('--test', dest='test', action='store_true', default=False, help='Run BDA in test vector mode') parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", @@ -69,7 +69,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): init_args += ['-i'] if args.redislog: init_args += ['-r'] -if args.bda: +if not args.nobda: init_args += ['-a'] if args.test: init_args += ['-t'] @@ -92,7 +92,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): time.sleep(3) # Generate the BDA config file and upload to redis -if args.bda: +if not args.nobda: python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] run_on_hosts(hosts, python_source_cmd + bda_config_cmd + ["-c", "-r", args.bdaconf], wait=True) From 16a94d3e4b4af30e2fc0868bd82aaf0baf1a9a45 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 13 Nov 2019 00:47:45 +0000 Subject: [PATCH 341/420] infer integration time from redis --- src/hera_catcher_disk_thread_bda.c | 9 +++++++-- src/scripts/hera_make_hdf5_template_bda.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 7d9c656e..67731c4f 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -424,10 +424,11 @@ static void get_corr_to_hera_map(hdf5_id_t *id, int *corr_to_hera_map) { /* Get the integration time for each baseline from header (set by config file) */ -static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { +static void get_integration_time(hdf5_id_t *id, double *integration_time_buf, uint32_t acc_len) { hid_t dataset_id; herr_t status; + int i; dataset_id = H5Dopen(id->header_gid, "integration_time", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/integration_time dataset"); @@ -442,6 +443,10 @@ static void get_integration_time(hdf5_id_t *id, double *integration_time_buf) { if (status < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/integration_time dataset"); } + + for(i=0; i< bcnts_per_file; i++){ + integration_time_buf[i] *= acc_len * TIME_DEMUX * 2L * N_CHAN_TOTAL_GENERATED/(double)FENG_SAMPLE_RATE; + } } /* @@ -1093,7 +1098,7 @@ static void *run(hashpipe_thread_args_t * args) // These are needed for populating the ant_[1|2]_array and uvw_array //get_ant_pos(&sum_file, ant_pos); get_corr_to_hera_map(&sum_file, corr_to_hera_map); - get_integration_time(&sum_file, integration_time_buf); + get_integration_time(&sum_file, integration_time_buf, acc_len); // Copy data to the right location nbls = stop_bcnt - break_bcnt + 1; diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index ff11f52a..8a69ed2b 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -141,7 +141,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): for i,t in enumerate(config[:,2]): if (t!=0): baselines.append([(config[i,0], config[i,1])]*(8//t)) - integration_time.append(np.repeat(t*2, int(8//t))) + integration_time.append(np.repeat(t, int(8//t))) baselines = np.concatenate(baselines) integration_time = np.asarray(np.concatenate(integration_time), dtype=np.float64) From f041b81951b24645b97c917ccd12becdc6bf3130 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 13 Nov 2019 00:51:42 +0000 Subject: [PATCH 342/420] changed redis to sharedmem in comments --- src/hera_catcher_disk_thread_bda.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 67731c4f..ca6b0e6f 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -722,7 +722,7 @@ static void *run(hashpipe_thread_args_t * args) memset(bl_buf_sum, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); memset(bl_buf_diff, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * 2 * sizeof(int32_t)); - // Init here, realloc after reading baseline distribution from redis + // Init here, realloc after reading baseline distribution from sharedmem double *integration_time_buf = (double *)malloc(1 * sizeof(double)); double *time_array_buf = (double *)malloc(1 * sizeof(double)); int *ant_0_array = (int *)malloc(1 * sizeof(int)); @@ -829,7 +829,7 @@ static void *run(hashpipe_thread_args_t * args) elapsed_w_ns = 0.0; elapsed_t_ns = 0.0; - // Get template filename from redis + // Get template filename from sharedmem hashpipe_status_lock_safe(&st); hgets(st.buf, "HDF5TPLT", 128, template_fname); @@ -861,7 +861,7 @@ static void *run(hashpipe_thread_args_t * args) hputu4(st.buf, "TRIGGER", 0); hputu4(st.buf, "NDONEFIL", file_cnt); - // Get baseline distribution from redis -- this has to be done here + // Get baseline distribution from sharedmem -- this has to be done here // to ensure that redis database is updated before reading. hgetu8(st.buf,"BDANANT", &Nants); hgetu8(st.buf,"NBL2SEC", &baseline_dist[0]); From a9408b24160f6e6b38d0761d6e7332ada6880a77 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 16:17:29 -0800 Subject: [PATCH 343/420] Throttle output --- src/hera_gpu_output_thread.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 70bd01f1..100b950c 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -69,9 +69,7 @@ static XGPUInfo xgpu_info; // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -//#define PACKET_DELAY_NS (4 * XENG_CHAN_SUM * 8*OUTPUT_BYTES_PER_PACKET) -// Blast the packets! -#define PACKET_DELAY_NS (0) +#define PACKET_DELAY_NS (OUTPUT_BYTES_PER_PACKET>>2) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; From 48f4554c55d859ecf7722964c1e8e2f086d1bfe3 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 16:17:48 -0800 Subject: [PATCH 344/420] Print warning when a burst has an abnormally large packet number --- src/hera_ibv_thread.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hera_ibv_thread.c b/src/hera_ibv_thread.c index d10d8c7b..cc6e49a6 100644 --- a/src/hera_ibv_thread.c +++ b/src/hera_ibv_thread.c @@ -614,7 +614,7 @@ static void *run(hashpipe_thread_args_t * args) hibv_ctx.send_pkt_num = 1; hibv_ctx.recv_pkt_num = 8192; hibv_ctx.pkt_size_max = 5000; - hibv_ctx.max_flows = 4; + hibv_ctx.max_flows = 2; fprintf(stdout, "Initializing IBV socket\n"); if(hashpipe_ibv_init(&hibv_ctx)) { @@ -802,7 +802,7 @@ static void *run(hashpipe_thread_args_t * args) ns_per_wait = (float)elapsed_wait_ns / packet_count; ns_per_recv = (float)elapsed_recv_ns / packet_count; ns_per_proc = (float)elapsed_proc_ns / packet_count; - fprintf(stdout, "ns_per_recv: %f, total_ns: %lu, packet count: %lu\n", ns_per_recv, elapsed_recv_ns, packet_count); + //fprintf(stdout, "ns_per_recv: %f, total_ns: %lu, packet count: %lu\n", ns_per_recv, elapsed_recv_ns, packet_count); hashpipe_status_lock_busywait_safe(&st); @@ -861,6 +861,10 @@ static void *run(hashpipe_thread_args_t * args) hputu8(st.buf, "BURSTPKT", burst_packet_count); hashpipe_status_unlock_safe(&st); + // Warn if it looks like overflows are a danger + if (burst_packet_count*2 > hibv_ctx.recv_pkt_num) { + fprintf(stderr, "WARNING: got %lu packets in last burst\n", burst_packet_count); + } // Release packets if (hashpipe_ibv_release_pkts(&hibv_ctx, hibv_rpkt)) { hashpipe_error(__FUNCTION__, "error releasing packets"); From e21c3d8b77ad8a7e41af7477558a17fc6c40ced2 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 16:18:27 -0800 Subject: [PATCH 345/420] Fix missed packet count logic. Boost n blocks to 16 --- src/paper_databuf.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 80f65589..c29e4e02 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -30,13 +30,16 @@ #define N_CHAN_PER_X XGPU_NFREQUENCY // Derived from above quantities -#define N_FENGINES N_ANTS +#define N_FENGINES ((N_INPUTS / N_INPUTS_PER_PACKET) * N_INPUTS_PER_PACKET) //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / N_TIME_PER_PACKET) //#define N_SUB_BLOCKS_PER_INPUT_BLOCK N_TIME_PER_BLOCK //#define N_SUB_BLOCKS_PER_INPUT_BLOCK (N_TIME_PER_BLOCK / 2048) #define N_BYTES_PER_BLOCK (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_INPUTS) -#define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK / N_BYTES_PER_PACKET) -#define N_PACKETS_PER_BLOCK_PER_F (N_PACKETS_PER_BLOCK * N_INPUTS_PER_PACKET / 2 / N_FENGINES) +// Number of bytes per block if we assume an integral number of SNAP boards, +// with all other antennas being fake padding required for XGPU sizing compliance. +#define N_BYTES_PER_BLOCK_NET (N_TIME_PER_BLOCK * N_CHAN_PER_X * N_FENGINES) +#define N_PACKETS_PER_BLOCK (N_BYTES_PER_BLOCK_NET / N_BYTES_PER_PACKET) +#define N_PACKETS_PER_BLOCK_PER_F (N_INPUTS_PER_PACKET * N_PACKETS_PER_BLOCK / N_FENGINES) // Number of X-engines per time slice. E.g. for HERA: 16. #define N_XENGINES_PER_TIME (N_CHAN_TOTAL / N_CHAN_PER_X) @@ -45,7 +48,7 @@ #error N_BYTES_PER_PACKET != (N_TIME_PER_PACKET*N_CHAN_PER_PACKET*N_INPUTS_PER_PACKET) #endif -#define N_FLUFFED_BYTES_PER_BLOCK ((N_PACKETS_PER_BLOCK * N_BYTES_PER_PACKET) * 2) +#define N_FLUFFED_BYTES_PER_BLOCK (N_BYTES_PER_BLOCK * 2) #define N_FLUFFED_WORDS_PER_BLOCK (N_FLUFFED_BYTES_PER_BLOCK / 8) // Number of floats in xGPU's "register tile order" output matrix. @@ -82,7 +85,7 @@ * INPUT BUFFER STRUCTURES */ -#define N_INPUT_BLOCKS 4 +#define N_INPUT_BLOCKS 16 #ifndef N_DEBUG_INPUT_BLOCKS #define N_DEBUG_INPUT_BLOCKS 0 #endif From 6764efd3cfd8eed8f0a106ef1597983146112065 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 16:19:25 -0800 Subject: [PATCH 346/420] Make special case for testing even/odd samples on a single server --- src/scripts/hera_ctl.py | 23 ++++++++++++++++------- src/scripts/xtor_up.py | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py index f2fea947..54127ce3 100755 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -35,6 +35,8 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): help ='Number of X-engine instances per GPU host') parser.add_argument('-r', dest='redishost', type=str, default='redishost', help ='Hostname of redis server') +parser.add_argument('-S', dest='slice_by_xbox', action="store_true", + help ='Set to true to do even/odd samples on the same X-box') args = parser.parse_args() if args.action not in ['start', 'stop']: @@ -80,13 +82,20 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb # for details about formatting - for slice in range(args.slices): - msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen) - for host in range(args.xhosts): - hostname = 'px%d' % (slice * args.xhosts + host + 1) - rdb.publish('hashpipe://%s/0/set' % hostname, msg) - rdb.publish('hashpipe://%s/1/set' % hostname, msg) - #rdb.publish("hashpipe:///set", msg) + if args.slice_by_xbox: + for host in range(args.slices * args.xhosts): + hostname = 'px%d' % (host + 1) + for slice in range(args.slices): + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen) + rdb.publish('hashpipe://%s/%s/set' % (hostname, slice), msg) + rdb.publish('hashpipe://%s/%s/set' % (hostname, slice), msg) + else: + for slice in range(args.slices): + msg = 'INTSYNC=%d\nINTCOUNT=%d\nINTSTAT=start\nOUTDUMPS=0' % (trig_mcnt + slice*MCNT_STEP_SIZE, acclen) + for host in range(args.xhosts): + hostname = 'px%d' % (slice * args.xhosts + host + 1) + rdb.publish('hashpipe://%s/0/set' % hostname, msg) + rdb.publish('hashpipe://%s/1/set' % hostname, msg) rdb['corr:trig_mcnt'] = trig_mcnt rdb['corr:trig_time'] = trig_time diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index b6063e9f..20d3b36b 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -81,7 +81,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): if (len(hosts) == 1) and (args.timeslices != 1): for i in range(args.ninstances): key = 'hashpipe://%s/%d/set' % (host, i) - r.publish(key, 'TIMEIDX=%d' % (args.ninstances)) + r.publish(key, 'TIMEIDX=%d' % (i)) else: for hn, host in enumerate(hosts): for i in range(args.ninstances): From 188648bdc0fdd3e83d2f272e5909b95a74478605 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 16:19:52 -0800 Subject: [PATCH 347/420] Play with core affinities --- src/scripts/paper_init.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index 67a21893..0cb04d93 100755 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -133,8 +133,8 @@ case ${hostname} in instances=( # GPU NET FLF GPU OUT # mask bind_host DEV XID CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 0x000e 4 5" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 0x0e00 12 13" # Instance 1, eth5 + "0x00ff eth3 0 $xid0 0 0x001c 5 6" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 8 0x1c00 13 14" # Instance 1, eth5 );; *) From 92b8268eafb66b7fbe943e582f1ab262fd8eacc3 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 21:19:08 -0800 Subject: [PATCH 348/420] Correctly pass gpu_bda mask $10 is the first argument, with a "0" appended. ${10} is the tenth argument! --- src/scripts/paper_init.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index fa855ba1..23d81174 100644 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -131,9 +131,10 @@ case ${hostname} in xid1=$(( 2*(mypx-1) + 1)) instances=( + # GPU NET FLF GPU OUT BDA # mask bind_host DEV XID CPU CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 0x000e 4 5 6 " # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 0x0e00 12 13 14 " # Instance 1, eth5 + "0x00ff eth3 0 $xid0 0 0x000e 4 5 6" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 8 0x0e00 12 13 14" # Instance 1, eth5 );; *) @@ -152,7 +153,7 @@ function init() { flfcpu=$7 gpucpu=$8 outcpu=$9 - bdacpu=$10 + bdacpu=${10} if [ -z "${mask}" ] then From 8d1d4fec89c9a0a23dc41bc4daf52d2e0b065f8b Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 21:20:20 -0800 Subject: [PATCH 349/420] Speed up output --- src/hera_bda_output_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index a2e44e4a..9eb01e40 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -71,7 +71,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (32 * 8 * OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (8 * OUTPUT_BYTES_PER_PACKET) // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name @@ -213,7 +213,7 @@ static void *run(hashpipe_thread_args_t * args) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); + hputs(st.buf, status_key, "blocked_in"); hashpipe_status_unlock_safe(&st); continue; } else { From b731ec8ec2ff4070be658cd66764a15e0f870fe0 Mon Sep 17 00:00:00 2001 From: Jack H Date: Wed, 13 Nov 2019 21:20:49 -0800 Subject: [PATCH 350/420] Add option to run without needing to access the site database --- src/scripts/xtor_up.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 883e88b6..fad8e747 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -43,7 +43,9 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('--redislog', dest='redislog', action='store_true', default=False, help='Use the redis logger to duplicate log messages on redishost\'s log-channel pubsub stream') parser.add_argument('--nobda', dest='nobda', action='store_true', default=False, - help='Use baseline dependent averaging.') + help='Do not use baseline dependent averaging.') +parser.add_argument('--nodatabase', dest='nodatabase', action='store_true', default=False, + help='Don\'t try to get configuration from the site database.') parser.add_argument('--test', dest='test', action='store_true', default=False, help='Run BDA in test vector mode') parser.add_argument('--pypath', dest='pypath', type=str, default="/home/hera/hera-venv", @@ -94,7 +96,10 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Generate the BDA config file and upload to redis if not args.nobda: python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] - run_on_hosts(hosts, python_source_cmd + bda_config_cmd + ["-c", "-r", args.bdaconf], wait=True) + if args.nodatabase: + run_on_hosts(hosts, python_source_cmd + bda_config_cmd + [args.bdaconf], wait=True) + else: + run_on_hosts(hosts, python_source_cmd + bda_config_cmd + ["-c", "-r", args.bdaconf], wait=True) for hn,host in enumerate(hosts): for i in range(args.ninstances): From 865b658ef5711aa1710856b6ae4b39ba40808b89 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 14 Nov 2019 18:58:46 +0000 Subject: [PATCH 351/420] remove hera_corr_f import --- src/scripts/hera_create_bda_config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index c74be95b..37c6f8eb 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -9,7 +9,6 @@ import time import copy import redis -from hera_corr_f import helpers NANTS = 352 From 5b41b481292298f5d78d9fd894ecff5a09760cf4 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 15 Nov 2019 00:09:11 +0000 Subject: [PATCH 352/420] increase packet delay, change status key to comply with redis --- src/hera_bda_output_thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 9eb01e40..baaf321d 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -71,7 +71,7 @@ typedef struct struct_pkt { // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (8 * OUTPUT_BYTES_PER_PACKET) +#define PACKET_DELAY_NS (4 * 8 * OUTPUT_BYTES_PER_PACKET) // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name @@ -213,7 +213,7 @@ static void *run(hashpipe_thread_args_t * args) != HASHPIPE_OK) { if (rv==HASHPIPE_TIMEOUT) { hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked_in"); + hputs(st.buf, status_key, "blocked"); hashpipe_status_unlock_safe(&st); continue; } else { From 413a22dec92711b43ff8d822f4c48f145e736e10 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 15 Nov 2019 00:10:38 +0000 Subject: [PATCH 353/420] Config file in catcher... ... Create the config file in catcher and not local machine. The config file needs to exist locally to update the baselines per bin in hashpipe but you can scp it to the local machine. --- src/scripts/hera_catcher_up.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 59b0c8b4..92f8c3a5 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -45,7 +45,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): args = parser.parse_args() # Environment sourcing command required to run remote python jobs -python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] +python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate"), ";"] r = redis.Redis(args.redishost) @@ -75,10 +75,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Generate the BDA config file and upload to redis if not args.nobda: print 'Create configuration file' - p = subprocess.Popen(bda_config_cmd + ['-c', '-r', '/tmp/bdaconfig.txt']) - p.wait() - #run_on_hosts([args.host], python_source_cmd + [';'] + bda_config_cmd + ['-c','-r', '/tmp/bdaconfig.txt'], wait=True) - os.system('scp "%s" "%s:%s"' % ('/tmp/bdaconfig.txt','hera-sn1', '/tmp/bdaconfig.txt') ) + run_on_hosts([args.host], python_source_cmd + bda_config_cmd + ['-c','-r', '/tmp/bdaconfig.txt'], wait=True) + os.system('scp "%s:%s" "%s" ' % ('hera-sn1', '/tmp/bdaconfig.txt','/tmp/bdaconfig.txt') ) time.sleep(10) From ada1bc39279cbbc12fe6a8c23903fd108bb3c063 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 15 Nov 2019 01:05:19 +0000 Subject: [PATCH 354/420] change integration time to intregration bin header --- src/hera_catcher_disk_thread_bda.c | 22 ++++++++++++++++++---- src/scripts/hera_make_hdf5_template_bda.py | 8 ++++---- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index ca6b0e6f..f30be658 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -80,6 +80,7 @@ typedef struct { hid_t flags_did; hid_t nsamples_did; hid_t time_array_did; + hid_t integration_time_did; hid_t uvw_array_did; hid_t ant_1_array_did; hid_t ant_2_array_did; @@ -87,6 +88,7 @@ typedef struct { hid_t flags_fs; hid_t nsamples_fs; hid_t time_array_fs; + hid_t integration_time_fs; hid_t uvw_array_fs; hid_t ant_1_array_fs; hid_t ant_2_array_fs; @@ -233,9 +235,16 @@ static void init_headers_dataset(hdf5_id_t *id) { pthread_exit(NULL); } + id->integration_time_did = H5Dcreate(id->header_gid, "integration_time", H5T_NATIVE_DOUBLE, file_space, H5P_DEFAULT, plist, H5P_DEFAULT); + if (id->integration_time_did < 0) { + hashpipe_error(__FUNCTION__, "Failed to create integration_time dataset"); + pthread_exit(NULL); + } + id->time_array_fs = H5Dget_space(id->time_array_did); id->ant_1_array_fs = H5Dget_space(id->ant_1_array_did); id->ant_2_array_fs = H5Dget_space(id->ant_2_array_did); + id->integration_time_fs = H5Dget_space(id->integration_time_did); H5Pclose(plist); H5Sclose(file_space); @@ -429,7 +438,7 @@ static void get_integration_time(hdf5_id_t *id, double *integration_time_buf, ui hid_t dataset_id; herr_t status; int i; - dataset_id = H5Dopen(id->header_gid, "integration_time", H5P_DEFAULT); + dataset_id = H5Dopen(id->header_gid, "integration_bin", H5P_DEFAULT); if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/integration_time dataset"); pthread_exit(NULL); @@ -515,7 +524,7 @@ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid * Write: time, ant0, ant1 */ -static void write_header(hdf5_id_t *id, double *time_array_buf, int *ant_0_array, int *ant_1_array) +static void write_header(hdf5_id_t *id, double *time_array_buf, int *ant_0_array, int *ant_1_array, double *integration_time_buf) { // time stamp of integration if (H5Dwrite(id->time_array_did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, time_array_buf) < 0) { @@ -531,6 +540,11 @@ static void write_header(hdf5_id_t *id, double *time_array_buf, int *ant_0_array if (H5Dwrite(id->ant_2_array_did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ant_1_array) < 0) { hashpipe_error(__FUNCTION__, "Error writing ant_2_array"); } + + // integration_time + if (H5Dwrite(id->integration_time_did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, integration_time_buf) < 0) { + hashpipe_error(__FUNCTION__, "Error writing integration time"); + } } // Get the even-sample / first-pol / first-complexity of the correlation buffer for chan `c` baseline `b` @@ -1042,12 +1056,12 @@ static void *run(hashpipe_thread_args_t * args) file_stop_t = gps_time; file_duration = file_stop_t - file_start_t; - write_header(&sum_file, time_array_buf, ant_0_array, ant_1_array); + write_header(&sum_file, time_array_buf, ant_0_array, ant_1_array, integration_time_buf); close_filespaces(&sum_file); close_file(&sum_file, file_stop_t, file_duration, file_nblts); #ifndef SKIP_DIFF - write_header(&diff_file, time_array_buf, ant_0_array, ant_1_array); + write_header(&diff_file, time_array_buf, ant_0_array, ant_1_array, integration_time_buf); close_filespaces(&diff_file); close_file(&diff_file, file_stop_t, file_duration, file_nblts); #endif diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 8a69ed2b..be1f393d 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -136,14 +136,14 @@ def create_header(h5, config, use_cm=False, use_redis=False): N_MAX_INTTIME = 8 config = np.loadtxt(config, dtype=np.int) baselines = [] - integration_time = [] + integration_bin = [] for i,t in enumerate(config[:,2]): if (t!=0): baselines.append([(config[i,0], config[i,1])]*(8//t)) - integration_time.append(np.repeat(t, int(8//t))) + integration_bin.append(np.repeat(t, int(8//t))) baselines = np.concatenate(baselines) - integration_time = np.asarray(np.concatenate(integration_time), dtype=np.float64) + integration_bin = np.asarray(np.concatenate(integration_bin), dtype=np.float64) ant_1_array = np.array([x for (x,y) in baselines]) ant_2_array = np.array([y for (x,y) in baselines]) @@ -206,7 +206,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("freq_array", dtype=" Date: Fri, 15 Nov 2019 10:26:30 -0800 Subject: [PATCH 355/420] Add redis keys for BDA branch --- src/hera_catcher_disk_thread_bda.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index f30be658..35247b63 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -706,6 +706,9 @@ static void *run(hashpipe_thread_args_t * args) redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); redisCommand(c, "EXPIRE corr:is_taking_data 60"); + // Reinitialize the list of files taken this session + redisCommand(c, "DEL rtp:file_list"); + /* Loop(s) */ int32_t *db_in32; hera_catcher_bda_input_header_t header; @@ -919,6 +922,10 @@ static void *run(hashpipe_thread_args_t * args) hashpipe_error(__FUNCTION__, "error marking databuf %d free", curblock_in); pthread_exit(NULL); } + if (use_redis) { + // Let RTP know we have a new session available + redisCommand(c, "HMSET rtp:has_new_data state True"); + } curblock_in = (curblock_in + 1) % CATCHER_N_BLOCKS; continue; } @@ -1101,11 +1108,17 @@ static void *run(hashpipe_thread_args_t * args) sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + if (use_redis) { + redisCommand(c, "RPUSH rtp:file_list %s", hdf5_fname); + } #ifndef SKIP_DIFF sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + if (use_redis) { + redisCommand(c, "RPUSH rtp:file_list %s", hdf5_fname); + } #endif // Get the antenna positions and baseline orders From 982aa27e27e973bc75aa7810e4fcc8665e7c9f6f Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 15 Nov 2019 20:31:12 +0000 Subject: [PATCH 356/420] Remove skip diff --- src/hera_catcher_disk_thread_bda.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index f30be658..bbb8434d 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -40,7 +40,6 @@ #define N_CHAN_PROCESSED (N_CHAN_TOTAL / (CATCHER_CHAN_SUM_BDA)) #define N_CHAN_RECEIVED (N_CHAN_TOTAL) #define N_BL_PER_WRITE (32) -#define SKIP_DIFF #define CPTR(VAR,CONST) ((VAR)=(CONST),&(VAR)) From f2833ce04115823e8b7064d18d4a111fb98ee484 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 15 Nov 2019 23:53:53 +0000 Subject: [PATCH 357/420] close integration time filespace --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index bbb8434d..f3284caa 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -88,7 +88,6 @@ typedef struct { hid_t nsamples_fs; hid_t time_array_fs; hid_t integration_time_fs; - hid_t uvw_array_fs; hid_t ant_1_array_fs; hid_t ant_2_array_fs; } hdf5_id_t; @@ -404,6 +403,7 @@ static void close_filespaces(hdf5_id_t *id) H5Sclose(id->time_array_fs); H5Sclose(id->ant_1_array_fs); H5Sclose(id->ant_2_array_fs); + H5Sclose(id->integration_time_fs); } // The data in the files should be indexed in real antennas numbers, not From b062245043a868e742b547a77461795759141fc3 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 16 Nov 2019 03:19:54 +0000 Subject: [PATCH 358/420] close header datasets --- src/hera_catcher_disk_thread_bda.c | 32 +++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index f3284caa..a995b583 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -80,7 +80,6 @@ typedef struct { hid_t nsamples_did; hid_t time_array_did; hid_t integration_time_did; - hid_t uvw_array_did; hid_t ant_1_array_did; hid_t ant_2_array_did; hid_t visdata_fs; @@ -311,12 +310,12 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/obs_id"); } - H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); - if (dataset_id < 0) { + stat = H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_obs_id); + if (stat < 0) { hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/obs_id"); } - H5Dclose(dataset_id); - if (dataset_id < 0) { + stat = H5Dclose(dataset_id); + if (stat < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/obs_id"); } @@ -344,12 +343,12 @@ static void start_file(hdf5_id_t *id, char *template_fname, char *hdf5_fname, ui if (dataset_id < 0) { hashpipe_error(__FUNCTION__, "Failed to open Header/extra_keywords/startt"); } - H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); - if (dataset_id < 0) { + stat = H5Dwrite(dataset_id, H5T_IEEE_F64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_start_t); + if (stat < 0) { hashpipe_error(__FUNCTION__, "Failed to write Header/extra_keywords/startt"); } - H5Dclose(dataset_id); - if (dataset_id < 0) { + stat = H5Dclose(dataset_id); + if (stat < 0) { hashpipe_error(__FUNCTION__, "Failed to close Header/extra_keywords/startt"); } } @@ -366,6 +365,7 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, dataset_id = H5Dopen(id->header_gid, "Nblts", H5P_DEFAULT); H5Dwrite(dataset_id, H5T_STD_I64LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &file_nblts); H5Dclose(dataset_id); + // Close datasets if (H5Dclose(id->visdata_did) < 0) { hashpipe_error(__FUNCTION__, "Failed to close visdata dataset"); @@ -376,6 +376,19 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, if (H5Dclose(id->nsamples_did) < 0) { hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); } + if (H5Dclose(id->time_array_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); + } + if (H5Dclose(id->ant_1_array_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); + } + if (H5Dclose(id->ant_2_array_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); + } + if (H5Dclose(id->integration_time_did) < 0) { + hashpipe_error(__FUNCTION__, "Failed to close nsamples dataset"); + } + // Close groups if (H5Gclose(id->extra_keywords_gid) < 0) { hashpipe_error(__FUNCTION__, "Failed to close extra_keywords group"); @@ -386,6 +399,7 @@ static void close_file(hdf5_id_t *id, double file_stop_t, double file_duration, if (H5Gclose(id->data_gid) < 0) { hashpipe_error(__FUNCTION__, "Failed to close data group"); } + // Close file if (H5Fflush(id->file_id, H5F_SCOPE_GLOBAL) < 0) { hashpipe_error(__FUNCTION__, "Failed to flush file"); From 613036d7d8751202f3a5230a8e7874aac6a3d741 Mon Sep 17 00:00:00 2001 From: jack Date: Tue, 19 Nov 2019 17:20:28 +0000 Subject: [PATCH 359/420] tell rtp when moving to idle state --- src/hera_catcher_disk_thread_bda.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 03a0111b..4616400b 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -921,6 +921,7 @@ static void *run(hashpipe_thread_args_t * args) // state=False when data taking is complete. Or if this pipeline // exits the key will expire. redisCommand(c, "HMSET corr:is_taking_data state True time %d", (int)time(NULL)); + redisCommand(c, "EXPIRE corr:is_taking_data 60"); } } else if (file_cnt >= nfiles || idle) { @@ -928,6 +929,7 @@ static void *run(hashpipe_thread_args_t * args) // Indicate via redis that we're no longer taking data if (!idle) { redisCommand(c, "HMSET corr:is_taking_data state False time %d", (int)time(NULL)); + redisCommand(c, "EXPIRE corr:is_taking_data 60"); } idle = 1; // Mark input block as free and advance From 16165c7f0a81c507af64d5aebc1eef67e456556f Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Tue, 19 Nov 2019 10:08:57 -0800 Subject: [PATCH 360/420] Add function for adding observations to M&C --- src/hera_catcher_disk_thread_bda.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 03a0111b..b9c9b056 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -620,6 +620,22 @@ static void compute_sum_diff(int32_t *in, int32_t *out_sum, int32_t *out_diff, u return; } +static void add_mc_obs(char *fname) +{ + char cmd[256]; + int err; + fprintf(stdout, "Adding observation %s to M&C\n", fname); + // Launch (hard-coded) python script in the background and pass in filename + sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s", fname); + if (fork() == 0) { + err = system(cmd); + if (err != 0) { + fprintf(stderr, "Error adding observation %s to M&C\n", fname); + } + exit(0); + } +} + static int init(hashpipe_thread_args_t *args) { //hashpipe_status_t st = args->st; @@ -1088,6 +1104,9 @@ static void *run(hashpipe_thread_args_t * args) file_cnt += 1; + // add file to M&C + add_mc_obs(hdf5_fname); + hashpipe_status_lock_safe(&st); hputr4(st.buf, "FILESEC", file_duration); hputi8(st.buf, "NDONEFIL", file_cnt); From e1958693de3d5834f4e2efa629905ec528f6a539 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Tue, 19 Nov 2019 12:09:04 -0800 Subject: [PATCH 361/420] Change which environment calls the M&C script --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 0e38274b..6bf49108 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -626,7 +626,7 @@ static void add_mc_obs(char *fname) int err; fprintf(stdout, "Adding observation %s to M&C\n", fname); // Launch (hard-coded) python script in the background and pass in filename - sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s", fname); + sprintf(cmd, "/home/hera/anaconda3/envs/hera3/bin/mc_add_observation.py %s", fname); if (fork() == 0) { err = system(cmd); if (err != 0) { From 1898c73dbaaff56e04648889036b11b53985979a Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 20 Nov 2019 01:14:37 +0000 Subject: [PATCH 362/420] account of bytes written when writing diff files --- src/hera_catcher_disk_thread_bda.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 6bf49108..a1c5dd43 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1227,7 +1227,11 @@ static void *run(hashpipe_thread_args_t * args) hputi8(st.buf, "DISKWBL", w_ns/BASELINES_PER_BLOCK); hgetr4(st.buf, "DISKMING", &min_gbps); - gbps = (float)(BASELINES_PER_BLOCK*N_CHAN_PROCESSED*N_STOKES*64L)/ELAPSED_NS(start,finish); //elapsed_w_ns; + #ifndef SKIP_DIFF + gbps = (float)(2 * BASELINES_PER_BLOCK*N_CHAN_PROCESSED*N_STOKES*64L)/ELAPSED_NS(start,finish); + #else + gbps = (float)(BASELINES_PER_BLOCK*N_CHAN_PROCESSED*N_STOKES*64L)/ELAPSED_NS(start,finish); + #endif hputr4(st.buf, "DISKGBPS", gbps); hputr4(st.buf, "DUMPMS", ELAPSED_NS(start,finish) / 1000000.0); if(min_gbps == 0 || gbps < min_gbps) { From 1a3a296f6b9092ad3ff092077141de96ebd881a6 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 21 Nov 2019 22:13:29 +0000 Subject: [PATCH 363/420] Downgrade standard BDA messages to stdout, not stderr --- src/hera_fake_gpu_thread.c | 2 +- src/hera_gpu_bda_thread.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_fake_gpu_thread.c b/src/hera_fake_gpu_thread.c index ce384e92..458403a4 100644 --- a/src/hera_fake_gpu_thread.c +++ b/src/hera_fake_gpu_thread.c @@ -83,7 +83,7 @@ static void *fake_gpu_thread_run(hashpipe_thread_args_t * args){ int holdoff = 1; // Force this thread into holdoff until BDACONF is written - fprintf(stderr, "Waiting for someone to supply BDACONF\n"); + fprintf(stdout, "Waiting for someone to supply BDACONF\n"); hashpipe_status_lock_safe(&st); hputs(st.buf, "BDACONF", ""); hputs(st.buf, status_key, "holding"); diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index d04914f2..ace3b8cb 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -281,7 +281,7 @@ static void *run(hashpipe_thread_args_t * args) int holdoff = 1; // Force this thread into holdoff until BDACONF is written - fprintf(stderr, "Waiting for someone to supply BDACONF\n"); + fprintf(stdout, "Waiting for someone to supply BDACONF\n"); hashpipe_status_lock_safe(&st); hputs(st.buf, "BDACONF", ""); hputs(st.buf, status_key, "holding"); From 952df0e19828e2970f23b5b30b22d176cf641b70 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 21 Nov 2019 22:16:20 +0000 Subject: [PATCH 364/420] More stderr -> stdout downgrades --- src/hera_gpu_bda_thread.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hera_gpu_bda_thread.c b/src/hera_gpu_bda_thread.c index ace3b8cb..9618c2ec 100644 --- a/src/hera_gpu_bda_thread.c +++ b/src/hera_gpu_bda_thread.c @@ -297,7 +297,7 @@ static void *run(hashpipe_thread_args_t * args) if(!holdoff) { // Done holding, so delete the key hputs(st.buf, status_key, "starting"); - fprintf(stderr, "Starting...\n"); + fprintf(stdout, "Starting...\n"); } hashpipe_status_unlock_safe(&st); } @@ -311,9 +311,9 @@ static void *run(hashpipe_thread_args_t * args) total_baselines += binfo[j].samp_in_bin * binfo[j].baselines; #ifdef PRINT_TEST - fprintf(stderr,"N_ANTS:%d\n", N_ANTS); - fprintf(stderr,"Number of channels per X-Eng: %d\n",N_CHAN_PER_X); - fprintf(stderr,"Number of BCNTS in a buffer: %ld\n", total_baselines); + fprintf(stdout,"N_ANTS:%d\n", N_ANTS); + fprintf(stdout,"Number of channels per X-Eng: %d\n",N_CHAN_PER_X); + fprintf(stdout,"Number of BCNTS in a buffer: %ld\n", total_baselines); #endif // Write the number of baselines per integration From 5753a223c31a38dd6498802bf4671760c1cd3eb0 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Mon, 25 Nov 2019 09:45:41 -0800 Subject: [PATCH 365/420] Add x_orientation to data files --- src/scripts/hera_make_hdf5_template_bda.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index be1f393d..5252bdea 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -213,6 +213,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("spw_array", dtype=" radians lat = cminfo['cofa_lat'] * np.pi / 180. From 9aa6f8b4febcdacb620c6724525903ed03608b7b Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 2 Dec 2019 16:21:45 -0800 Subject: [PATCH 366/420] Fix issue #33 copy-paste error incorrectly set lat/lon to the same value --- src/scripts/hera_make_hdf5_template.py | 2 +- src/scripts/hera_make_hdf5_template_bda.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index b4906fb2..9cf1b06c 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -150,7 +150,7 @@ def create_header(h5, use_cm=False, use_redis=False): cminfo = get_cm_info() # add the enu co-ords lat = cminfo["cofa_lat"] * np.pi / 180. - lon = cminfo["cofa_lat"] * np.pi / 180. + lon = cminfo["cofa_lon"] * np.pi / 180. cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, cminfo["cofa_alt"]) else: diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 5252bdea..67d5ec58 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -166,7 +166,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): cminfo = get_cm_info() # add the enu co-ords lat = cminfo["cofa_lat"] * np.pi / 180. - lon = cminfo["cofa_lat"] * np.pi / 180. + lon = cminfo["cofa_lon"] * np.pi / 180. cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, cminfo["cofa_alt"]) else: From 56bf40a4b0d0dccd094c5dfdcd196561f08009a3 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Wed, 4 Dec 2019 18:55:11 -0800 Subject: [PATCH 367/420] Try to trim antenna positions in metadata --- src/scripts/hera_make_hdf5_template_bda.py | 37 +++++++++++++--------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 67d5ec58..c5184c6f 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -188,7 +188,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): header = h5.create_group("Header") header.create_dataset("Nants_data", dtype=" Date: Fri, 13 Dec 2019 23:21:30 +0000 Subject: [PATCH 368/420] Fix handling of uvw array --- src/scripts/hera_make_hdf5_template_bda.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index c5184c6f..33de9459 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -224,8 +224,15 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("altitude", dtype=" Date: Tue, 17 Dec 2019 08:50:51 -0800 Subject: [PATCH 369/420] Change default position to be array center instead of earth center --- src/scripts/hera_make_hdf5_template_bda.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 33de9459..0c026b2d 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -222,9 +222,9 @@ def create_header(h5, config, use_cm=False, use_redis=False): telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) antpos_ecef = get_antpos_ecef(cminfo["antenna_positions"], lon) header.create_dataset("altitude", dtype=" Date: Tue, 14 Jan 2020 04:12:09 +0000 Subject: [PATCH 370/420] Fix Issue #37 Correct the bda config file pushed to redis --- src/scripts/xtor_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index fad8e747..c4b1224e 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -104,7 +104,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): for hn,host in enumerate(hosts): for i in range(args.ninstances): key = 'hashpipe://%s/%d/set' % (host, i) - r.publish(key, 'BDACONF=/tmp/bdaconfig.txt') + r.publish(key, 'BDACONF=%s' % args.bdaconf) # Configure the X-engines as even/odd correlators if (len(hosts) == 1) and (args.timeslices != 1): From a197c9ae85c57697c20b87a88be5fdba3a4725f2 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 22 Jan 2020 15:49:33 +0000 Subject: [PATCH 371/420] Remove default dependency on hera_mc --- src/scripts/hera_create_bda_config.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index 37c6f8eb..bcd37093 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -17,7 +17,7 @@ def get_cm_info(): h = cm_sysutils.Handling() return h.get_cminfo_correlator() -def get_hera_to_corr_ants(r, ants): +def get_hera_to_corr_ants(r, ants=None): """ Given a list of antenna numbers, get the corresponding correlator numbers from the @@ -25,6 +25,8 @@ def get_hera_to_corr_ants(r, ants): """ ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) corr_nums = [] + if ants is None: + ants = [int(a) for a in ant_to_snap.keys()] for a in ants: host = ant_to_snap['%d'%a]['n']['host'] chan = ant_to_snap['%d'%a]['n']['channel'] # snap_input_number @@ -33,7 +35,6 @@ def get_hera_to_corr_ants(r, ants): continue corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) corr_nums.append(corr_ant_number) - return corr_nums def create_bda_config(n_ants_data, use_cm=False, use_redis=False): From 0594b3dff1496a186d5917f5b03b7dbc0ab1a770 Mon Sep 17 00:00:00 2001 From: jack Date: Wed, 22 Jan 2020 15:54:23 +0000 Subject: [PATCH 372/420] Temporarily change default nsamples and flag array --- src/hera_catcher_disk_thread_bda.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index a1c5dd43..8a80037e 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -778,8 +778,8 @@ static void *run(hashpipe_thread_args_t * args) hbool_t *flags = (hbool_t *) malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); uint32_t *nsamples = (uint32_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); - memset(flags, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); - memset(nsamples, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); + memset(flags, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); + memset(nsamples, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); // Define memory space of a block hsize_t dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; From 0582c384516e9a4f3f19f739bc9f024d4eed39c2 Mon Sep 17 00:00:00 2001 From: David DeBoer Date: Tue, 18 Feb 2020 20:58:27 -0800 Subject: [PATCH 373/420] changed helper -> handler --- src/scripts/hera_make_hdf5_template_bda.py | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 0c026b2d..e2570271 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -1,17 +1,19 @@ #!/usr/bin/env python +"""BDA correlator.""" + from __future__ import print_function, division, absolute_import import h5py -import sys import json import logging import numpy as np import time import copy import redis -from hera_corr_f import helpers +from hera_corr_cm.handlers import add_default_log_handlers + +logger = add_default_log_handlers(logging.getLogger(__file__)) -logger = helpers.add_default_log_handlers(logging.getLogger(__file__)) def get_corr_to_hera_map(r, nants_data=192, nants=352): """ @@ -20,16 +22,16 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): of correlator index (0 - Nants_data -1) to hera antenna number (0 - Nants). """ - out_map = np.arange(nants, nants + nants_data) # use default values outside the range of real antennas + out_map = np.arange(nants, nants + nants_data) # use default values outside the range of real antennas # A dictionary with keys which are antenna numbers # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} - ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + ant_to_snap = json.loads(r.hget("corr:map", "ant_to_snap") #host_to_index = r.hgetall("corr:snap_ants") for ant, pol in ant_to_snap.iteritems(): hera_ant_number = int(ant) host = pol["n"]["host"] - chan = pol["n"]["channel"] # runs 0-5 + chan = pol["n"]["channel"] # runs 0-5 snap_ant_chans = r.hget("corr:snap_ants", host) if snap_ant_chans is None: logger.warning("Couldn't find antenna indices for %s" % host) @@ -45,7 +47,7 @@ def get_bl_order(n_ants): """ Return the order of baseline data output by a CASPER correlator X engine. - + Extracted from the corr package -- https://github.com/ska-sa/corr """ order1, order2 = [], [] @@ -190,12 +192,12 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("Nants_data", dtype=" Date: Wed, 19 Feb 2020 16:27:08 -0800 Subject: [PATCH 374/420] update to redis-based cminfo --- src/scripts/hera_create_bda_config.py | 16 +++++----- src/scripts/hera_make_hdf5_template_bda.py | 34 ++++++++++++---------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index bcd37093..456c2e63 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -12,15 +12,17 @@ NANTS = 352 + def get_cm_info(): - from hera_mc import cm_sysutils - h = cm_sysutils.Handling() - return h.get_cminfo_correlator() + """Return cm_info as if from hera_mc.""" + from hera_corr_cm import redis_cm + return redis_cm.read_locations_from_redis() + def get_hera_to_corr_ants(r, ants=None): """ - Given a list of antenna numbers, get the - corresponding correlator numbers from the + Given a list of antenna numbers, get the + corresponding correlator numbers from the redis database, using a redis.Redis instance (r) """ ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) @@ -63,7 +65,7 @@ def create_bda_config(n_ants_data, use_cm=False, use_redis=False): if __name__ == "__main__": import argparse - + parser = argparse.ArgumentParser(description='Create a configuration file for BDA '\ 'using the correlator C+M system to get current meta-data'\ 'NO BDA IS CURRENTLY PERFORMED!', @@ -77,5 +79,5 @@ def create_bda_config(n_ants_data, use_cm=False, use_redis=False): help ='Number of antennas that have data (used if cminfo is not set)') args = parser.parse_args() - baseline_pairs = create_bda_config(args.n_ants_data, use_cm = args.use_cminfo, use_redis=args.use_redis) + baseline_pairs = create_bda_config(args.n_ants_data, use_cm = args.use_cminfo, use_redis=args.use_redis) np.savetxt(args.output, baseline_pairs, fmt='%d', delimiter=' ') diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index e2570271..12e3e2cf 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -17,6 +17,8 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): """ + Return the correlator map. + Given a redis.Redis instance, r, containing appropriate metadata - figure out the mapping of correlator index (0 - Nants_data -1) to @@ -26,7 +28,7 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): # A dictionary with keys which are antenna numbers # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} - ant_to_snap = json.loads(r.hget("corr:map", "ant_to_snap") + ant_to_snap = json.loads(r.hget("corr:map", "ant_to_snap")) #host_to_index = r.hgetall("corr:snap_ants") for ant, pol in ant_to_snap.iteritems(): hera_ant_number = int(ant) @@ -67,9 +69,9 @@ def get_ant_names(): return ["foo"]*352 def get_cm_info(): - from hera_mc import cm_sysutils - h = cm_sysutils.Handling() - return h.get_cminfo_correlator() + """Return cm_info as if from hera_mc.""" + from hera_corr_cm import redis_cm + return redis_cm.read_locations_from_redis() def get_antpos_enu(antpos, lat, lon, alt): """ @@ -167,10 +169,10 @@ def create_header(h5, config, use_cm=False, use_redis=False): if use_cm: cminfo = get_cm_info() # add the enu co-ords - lat = cminfo["cofa_lat"] * np.pi / 180. - lon = cminfo["cofa_lon"] * np.pi / 180. - cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, - cminfo["cofa_alt"]) + lat = cminfo["cofa_lat"] + lon = cminfo["cofa_lon"] + alt = cminfo["cofa_alt"] + cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, alt) else: cminfo = None @@ -218,8 +220,8 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("x_orientation", data=np.string_("NORTH")) if use_cm: # convert lat and lon from degrees -> radians - lat = cminfo['cofa_lat'] * np.pi / 180. - lon = cminfo['cofa_lon'] * np.pi / 180. + lat = cminfo['cofa_lat'] + lon = cminfo['cofa_lon'] alt = cminfo['cofa_alt'] telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) antpos_ecef = get_antpos_ecef(cminfo["antenna_positions"], lon) @@ -291,12 +293,12 @@ def add_extra_keywords(obj, cminfo=None, fenginfo=None): else: extras.create_dataset("finfo", data=np.string_("generated-without-redis")) #extras.create_dataset("st_type", data=np.string_("???")) - extras.create_dataset("duration", dtype=" Date: Wed, 19 Feb 2020 16:28:22 -0800 Subject: [PATCH 375/420] finish redisifying --- src/scripts/hera_make_hdf5_template.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 9cf1b06c..41f8f783 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -2,7 +2,6 @@ from __future__ import print_function, division, absolute_import import h5py -import sys import json import logging import numpy as np @@ -45,7 +44,7 @@ def get_bl_order(n_ants): """ Return the order of baseline data output by a CASPER correlator X engine. - + Extracted from the corr package -- https://github.com/ska-sa/corr """ order1, order2 = [], [] @@ -64,10 +63,12 @@ def get_ant_names(): """ return ["foo"]*352 + def get_cm_info(): - from hera_mc import cm_sysutils - h = cm_sysutils.Handling() - return h.get_cminfo_correlator() + """Return cm_info as if from hera_mc.""" + from hera_corr_cm import redis_cm + return redis_cm.read_locations_from_redis() + def get_antpos_enu(antpos, lat, lon, alt): """ @@ -263,7 +264,7 @@ def add_extra_keywords(obj, cminfo=None, fenginfo=None): if __name__ == "__main__": import argparse - + parser = argparse.ArgumentParser(description='Create a template HDF5 header file, optionally '\ 'using the correlator C+M system to get current meta-data', formatter_class=argparse.ArgumentDefaultsHelpFormatter) From 32cfb8d1053b1cd89080879a6505f0ebb6285203 Mon Sep 17 00:00:00 2001 From: David DeBoer Date: Tue, 31 Mar 2020 10:44:15 -0700 Subject: [PATCH 376/420] changed over to proper hera_corr_cm redis_cm --- src/scripts/hera_create_bda_config.py | 2 +- src/scripts/hera_make_hdf5_template.py | 2 +- src/scripts/hera_make_hdf5_template_bda.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index 456c2e63..b50aaea5 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -16,7 +16,7 @@ def get_cm_info(): """Return cm_info as if from hera_mc.""" from hera_corr_cm import redis_cm - return redis_cm.read_locations_from_redis() + return redis_cm.read_cminfo_from_redis(return_as='dict') def get_hera_to_corr_ants(r, ants=None): diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 41f8f783..3dae5325 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -67,7 +67,7 @@ def get_ant_names(): def get_cm_info(): """Return cm_info as if from hera_mc.""" from hera_corr_cm import redis_cm - return redis_cm.read_locations_from_redis() + return redis_cm.read_cminfo_from_redis(return_as='dict') def get_antpos_enu(antpos, lat, lon, alt): diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 12e3e2cf..4e0d649d 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -71,7 +71,7 @@ def get_ant_names(): def get_cm_info(): """Return cm_info as if from hera_mc.""" from hera_corr_cm import redis_cm - return redis_cm.read_locations_from_redis() + return redis_cm.read_cminfo_from_redis(return_as='dict') def get_antpos_enu(antpos, lat, lon, alt): """ From 11579f06b8e2de3929212a0d1806e1423c1e559c Mon Sep 17 00:00:00 2001 From: David DeBoer Date: Tue, 31 Mar 2020 11:35:23 -0700 Subject: [PATCH 377/420] make degrees radians --- src/scripts/hera_make_hdf5_template_bda.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 4e0d649d..e6389bf4 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -169,8 +169,8 @@ def create_header(h5, config, use_cm=False, use_redis=False): if use_cm: cminfo = get_cm_info() # add the enu co-ords - lat = cminfo["cofa_lat"] - lon = cminfo["cofa_lon"] + lat = cminfo["cofa_lat"] * np.pi / 180.0 + lon = cminfo["cofa_lon"] * np.pi / 180.0 alt = cminfo["cofa_alt"] cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, alt) else: @@ -220,8 +220,8 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("x_orientation", data=np.string_("NORTH")) if use_cm: # convert lat and lon from degrees -> radians - lat = cminfo['cofa_lat'] - lon = cminfo['cofa_lon'] + lat = cminfo['cofa_lat'] * np.pi / 180.0 + lon = cminfo['cofa_lon'] * np.pi / 180.0 alt = cminfo['cofa_alt'] telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) antpos_ecef = get_antpos_ecef(cminfo["antenna_positions"], lon) From d3bf4bf000d3f3f59e5f520e05d3317bf1c0e776 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 5 Feb 2020 18:36:10 +0000 Subject: [PATCH 378/420] Change name of sum files --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 8a80037e..817533f9 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1139,7 +1139,7 @@ static void *run(hashpipe_thread_args_t * args) file_start_t = gps_time; file_obs_id = (int64_t)gps_time; - sprintf(hdf5_fname, "zen.%7.5lf.uvh5", julian_time); + sprintf(hdf5_fname, "zen.%7.5lf.sum.uvh5", julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); if (use_redis) { From 8891ac77da32bcb5b0e47d5dd4eb759d590db6cc Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Tue, 17 Dec 2019 09:02:54 -0800 Subject: [PATCH 379/420] Run 2to3 and clean up straggling bits --- src/scripts/catcher.py | 16 ++++++++-------- src/scripts/check_catcher_dump.py | 4 ++-- src/scripts/gen_fake_corr_output.py | 8 ++++---- src/scripts/hera_catcher_stop_data.py | 2 +- src/scripts/hera_catcher_take_data.py | 2 +- src/scripts/hera_catcher_up.py | 6 +++--- src/scripts/hera_check_catcher_bda.py | 18 +++++++++--------- src/scripts/hera_create_bda_config.py | 2 +- src/scripts/hera_ctl.py | 16 ++++++++-------- src/scripts/hera_fake_bda_output.py | 6 +++--- src/scripts/hera_make_hdf5_template.py | 16 +++++++--------- src/scripts/hera_make_hdf5_template_bda.py | 14 +++++++------- src/tests/check_bda_uvh5_files.py | 22 +++++++++++----------- src/tests/check_fluff_output_databuf.py | 2 +- src/tests/check_gpu_output_databuf.py | 6 +++--- src/tests/check_net_output_databuf.py | 4 ++-- src/tests/check_xcorr_ordering_uvh5.py | 6 +++--- 17 files changed, 74 insertions(+), 76 deletions(-) diff --git a/src/scripts/catcher.py b/src/scripts/catcher.py index b1d64861..ebf5dd00 100644 --- a/src/scripts/catcher.py +++ b/src/scripts/catcher.py @@ -2,7 +2,7 @@ import numpy as np import struct import time -import cPickle as pickle +import pickle as pickle NANTS = 192 @@ -14,14 +14,14 @@ PAYLOAD_LEN = 4096 BYTES_PER_PACKET = PAYLOAD_LEN + 16 max_offset = NWORDS*8 / NXENG - PAYLOAD_LEN -print "Max offset:", max_offset +print("Max offset:", max_offset) NPACKETS = NWORDS * 8 / PAYLOAD_LEN -print "Expecting %d packets" % NPACKETS +print("Expecting %d packets" % NPACKETS) sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 800000000) -print sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF) +print(sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)) sock.bind(("10.80.40.251", 10000)) @@ -42,10 +42,10 @@ this_window = timestamp if (not wait) or (offset == 0): if (timestamp != this_window): - print timestamp, this_window + print(timestamp, this_window) stop = time.time() - print "%d packets received in %.2f seconds" % (n, stop - start) - print "Missing %d packets" % (NPACKETS - n) + print("%d packets received in %.2f seconds" % (n, stop - start)) + print("Missing %d packets" % (NPACKETS - n)) n = 0 start = stop break @@ -58,7 +58,7 @@ dout[xeng_id, offset>>2:(offset+PAYLOAD_LEN)>>2] = np.fromstring(data[16:], dtype='>i') -print "Dumping packet to disk" +print("Dumping packet to disk") with open("/tmp/packet.bin", "w") as fh: fh.write(dout.flatten().tostring()) #This is native (probably little) endian!! diff --git a/src/scripts/check_catcher_dump.py b/src/scripts/check_catcher_dump.py index d77fa2db..9e3aa723 100644 --- a/src/scripts/check_catcher_dump.py +++ b/src/scripts/check_catcher_dump.py @@ -28,10 +28,10 @@ def get_bl_order(n_ants): bl_order = get_bl_order(NANTS) x = x.reshape(2, NCHANS, NBL, 4, 2) -print np.all(x==0) +print(np.all(x==0)) for bn, bl in enumerate(bl_order): r = x[0,:,bn,0,0] i = x[0,:,bn,0,1] if not (np.all(r==0) and np.all(i==0)): - print bl[0], bl[1], r, i + print(bl[0], bl[1], r, i) diff --git a/src/scripts/gen_fake_corr_output.py b/src/scripts/gen_fake_corr_output.py index 1214ec9d..3f07205a 100644 --- a/src/scripts/gen_fake_corr_output.py +++ b/src/scripts/gen_fake_corr_output.py @@ -20,9 +20,9 @@ n_pkts = (n_bytes / BYTES_PER_PACKET) n_pkts_per_x = n_pkts / NX -print "MBytes per dump: %.2f" % (n_bytes / 1e6) -print "Packets per dump: %.4f" % (n_bytes / float(BYTES_PER_PACKET)) -print "Packets per Xeng: %.4f" % n_pkts_per_x +print("MBytes per dump: %.2f" % (n_bytes / 1e6)) +print("Packets per dump: %.4f" % (n_bytes / float(BYTES_PER_PACKET))) +print("Packets per Xeng: %.4f" % n_pkts_per_x) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -48,5 +48,5 @@ if wait_time > 0: time.sleep(wait_time) total_time = time.time() - start - print "dump sent (MCNT: %d) in %.2fs at %.2f Gb/s" % (mcnt, total_time, n_bytes*8 / elapsed / 1e9) + print("dump sent (MCNT: %d) in %.2fs at %.2f Gb/s" % (mcnt, total_time, n_bytes*8 / elapsed / 1e9)) diff --git a/src/scripts/hera_catcher_stop_data.py b/src/scripts/hera_catcher_stop_data.py index 149ce2fd..2bf6fc81 100644 --- a/src/scripts/hera_catcher_stop_data.py +++ b/src/scripts/hera_catcher_stop_data.py @@ -22,5 +22,5 @@ } pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) -for key, val in catcher_dict.iteritems(): +for key, val in catcher_dict.items(): r.publish(pubchan, '%s=%s' % (key, val)) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index 4f6a17c1..c810a557 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -53,7 +53,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): } pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) -for key, val in catcher_dict.iteritems(): +for key, val in catcher_dict.items(): r.publish(pubchan, '%s=%s' % (key, val)) # Only trigger after the other parameters have had ample time to write diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 92f8c3a5..3cd1739a 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -74,7 +74,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # NOTE: This has to come before template generation! # Generate the BDA config file and upload to redis if not args.nobda: - print 'Create configuration file' + print('Create configuration file') run_on_hosts([args.host], python_source_cmd + bda_config_cmd + ['-c','-r', '/tmp/bdaconfig.txt'], wait=True) os.system('scp "%s:%s" "%s" ' % ('hera-sn1', '/tmp/bdaconfig.txt','/tmp/bdaconfig.txt') ) @@ -98,7 +98,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Reset various statistics counters pubchan = 'hashpipe://%s/%d/set' % (args.host, 0) -for key, val in catcher_dict.iteritems(): +for key, val in catcher_dict.items(): r.publish(pubchan, '%s=%s' % (key, val)) for v in ['NETWAT', 'NETREC', 'NETPRC']: r.publish(pubchan, '%sMN=99999' % (v)) @@ -122,7 +122,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): Nants += 1 for i in range(4): - print (i, len(baselines[i])) + print((i, len(baselines[i]))) r.publish(pubchan, 'NBL%dSEC=%d' % (2**(i+1), len(baselines[i]))) r.publish(pubchan, 'BDANANT=%d' % Nants) diff --git a/src/scripts/hera_check_catcher_bda.py b/src/scripts/hera_check_catcher_bda.py index 8c48e2a2..a59469e8 100644 --- a/src/scripts/hera_check_catcher_bda.py +++ b/src/scripts/hera_check_catcher_bda.py @@ -105,30 +105,30 @@ def decode_packet(packet): packets += 1 t,b,o,a0,a1,x,l,data = decode_packet(pkt) if args.verbose and args.snap: - print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//N_bl_per_block, b%N_bl_per_block, o, a0, a1, x), data[:8]//INTSPEC + print("{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//N_bl_per_block, b%N_bl_per_block, o, a0, a1, x), data[:8]//INTSPEC) elif args.verbose: - print "{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//N_bl_per_block, b%N_bl_per_block, o, a0, a1, x), data[:8] + print("{0:4d} {1:3d} {2:4d} {3:1d} {4:3d} {5:3d} {6:2d}".format(t, b//N_bl_per_block, b%N_bl_per_block, o, a0, a1, x), data[:8]) if args.check: if (a0 > N_ANTS_DATA or a1 > N_ANTS_DATA): - print "Error! Received wrong antenna!" + print("Error! Received wrong antenna!") if args.snap: # Test data from snap if (a0 == 0) and (a1 == 1): tspec = gen_tvg_pol(a0*2)*np.conj(gen_tvg_pol(a1*2)) data = data.reshape(128,4,2)//INTSPEC if (a0 == a1): - print a0, a1, o, np.all(tspec.real[o*128:(o+1)*128] == data[:,0,0]) + print(a0, a1, o, np.all(tspec.real[o*128:(o+1)*128] == data[:,0,0])) else: - print a0, a1, o, np.all(tspec.real[o*128:(o+1)*128] == data[:,0,0]//4) + print(a0, a1, o, np.all(tspec.real[o*128:(o+1)*128] == data[:,0,0]//4)) else: - n = [y for y,v in int_bin['baselines'].items() if (a0,a1) in v][0] + n = [y for y,v in list(int_bin['baselines'].items()) if (a0,a1) in v][0] if not (np.all(data == int_bin['data'][n][o*1024:(o+1)*1024])): - print "Error!", int_bin['data'][n][:32:8], o, n, data[:32:8] + print("Error!", int_bin['data'][n][:32:8], o, n, data[:32:8]) errors += 1 except(KeyboardInterrupt): print("") - print("Total number of packets captured: %d"%packets) - print("Total number of errors: %d"%errors) + print(("Total number of packets captured: %d"%packets)) + print(("Total number of errors: %d"%errors)) break diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index b50aaea5..c7d83933 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from __future__ import print_function, division, absolute_import + import h5py import sys import json diff --git a/src/scripts/hera_ctl.py b/src/scripts/hera_ctl.py index a034fb39..ff21efec 100644 --- a/src/scripts/hera_ctl.py +++ b/src/scripts/hera_ctl.py @@ -39,7 +39,7 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): args = parser.parse_args() if args.action not in ['start', 'stop']: - print 'Available actions are "start" and "stop"' + print('Available actions are "start" and "stop"') exit # Make status keys for the various X-engine instances which identify their redis entries @@ -66,16 +66,16 @@ def mcnts_per_second(sample_rate=500e6, spectra_len=8192): trig_time = trig_mcnt / mcnts_per_second() + mcnt_origin #print 'Current MCNTs are:', gpumcnts - print 'Sync time is %s' % time.ctime(mcnt_origin) - print 'MCNTs per second: %.1f' % mcnts_per_second() - print 'Requested start time: %s' % time.ctime(args.starttime) - print 'Trigger MCNT: %d' % trig_mcnt - print 'Trigger time is %.1f seconds in the future (%s)' % (trig_time - time.time(), time.ctime(trig_time)) + print('Sync time is %s' % time.ctime(mcnt_origin)) + print('MCNTs per second: %.1f' % mcnts_per_second()) + print('Requested start time: %s' % time.ctime(args.starttime)) + print('Trigger MCNT: %d' % trig_mcnt) + print('Trigger time is %.1f seconds in the future (%s)' % (trig_time - time.time(), time.ctime(trig_time))) # round acc_len acclen = int(args.acclen / MCNT_XGPU_BLOCK_SIZE) * MCNT_XGPU_BLOCK_SIZE - print 'Requested accumulation length: %d' % args.acclen - print 'Actual accumulation length: %d' % acclen + print('Requested accumulation length: %d' % args.acclen) + print('Actual accumulation length: %d' % acclen) # Use the hashpipe publish channel to update keys in all status buffers. # See the docstring at https://github.com/david-macmahon/rb-hashpipe/blob/master/bin/hashpipe_redis_gateway.rb diff --git a/src/scripts/hera_fake_bda_output.py b/src/scripts/hera_fake_bda_output.py index b9ad1534..4f471992 100755 --- a/src/scripts/hera_fake_bda_output.py +++ b/src/scripts/hera_fake_bda_output.py @@ -67,8 +67,8 @@ if (n==4): n = 3 int_bin['baselines'][n].append((bdaconfig[i,0], bdaconfig[i,1])) -for b in int_bin['baselines'].keys(): - print b,len(int_bin['baselines'][b]) +for b in list(int_bin['baselines'].keys()): + print(b,len(int_bin['baselines'][b])) bcnt = 0; mcnt = 0; ctr = 0; sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) @@ -80,7 +80,7 @@ for ns in np.logspace(1, Nbins, num=Nbins, base=2, dtype=np.int): if (ctr%ns == 0): nb = int(np.log2(ns)) - 1 - print 'Sending: %d \tBaselines: %d \tBcnt: %d' % (ns, len(int_bin['baselines'][nb]), bcnt) + print('Sending: %d \tBaselines: %d \tBcnt: %d' % (ns, len(int_bin['baselines'][nb]), bcnt)) for (a0,a1) in int_bin['baselines'][nb]: for xeng_id in range(Nx*Nt): b = mcnt+((xeng_id//Nx)*2) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 3dae5325..115ca1b2 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -from __future__ import print_function, division, absolute_import + import h5py import json import logging @@ -8,9 +8,7 @@ import time import copy import redis -from hera_corr_f import helpers - -logger = helpers.add_default_log_handlers(logging.getLogger(__file__)) +import warnings def get_corr_to_hera_map(r, nants_data=192, nants=352): """ @@ -25,18 +23,18 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) #host_to_index = r.hgetall("corr:snap_ants") - for ant, pol in ant_to_snap.iteritems(): + for ant, pol in ant_to_snap.items(): hera_ant_number = int(ant) host = pol["n"]["host"] chan = pol["n"]["channel"] # runs 0-5 snap_ant_chans = r.hget("corr:snap_ants", host) if snap_ant_chans is None: - logger.warning("Couldn't find antenna indices for %s" % host) + warnings.warn("Couldn't find antenna indices for %s" % host) continue corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) print(corr_ant_number) out_map[corr_ant_number] = hera_ant_number - logger.info("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) + print("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) return out_map @@ -220,7 +218,7 @@ def create_header(h5, use_cm=False, use_redis=False): else: header.create_dataset("altitude", dtype=" :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} ant_to_snap = json.loads(r.hget("corr:map", "ant_to_snap")) #host_to_index = r.hgetall("corr:snap_ants") - for ant, pol in ant_to_snap.iteritems(): + for ant, pol in ant_to_snap.items(): hera_ant_number = int(ant) host = pol["n"]["host"] chan = pol["n"]["channel"] # runs 0-5 snap_ant_chans = r.hget("corr:snap_ants", host) if snap_ant_chans is None: - logger.warning("Couldn't find antenna indices for %s" % host) + warnings.warn("Couldn't find antenna indices for %s" % host) continue corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) print(corr_ant_number) out_map[corr_ant_number] = hera_ant_number - logger.info("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) + print("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) return out_map @@ -248,7 +248,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): idx += 1 # make sure we have the number we're expecting if idx != NANTS_DATA: - logger.warning("Didn't get the right number of antenna positions. Expected {:d}, got {:d}".format(NANTS_DATA, idx)) + warnings.warn("Didn't get the right number of antenna positions. Expected {:d}, got {:d}".format(NANTS_DATA, idx)) header.create_dataset("antenna_names", dtype="|S5", shape=(NANTS_DATA,), data=ant_names) header.create_dataset("antenna_numbers", dtype=" Date: Wed, 22 Apr 2020 09:38:58 -0700 Subject: [PATCH 380/420] Use loggers instead of warnings --- src/scripts/hera_make_hdf5_template.py | 6 ++++-- src/scripts/hera_make_hdf5_template_bda.py | 5 ++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index 115ca1b2..b45a7f8b 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -8,7 +8,9 @@ import time import copy import redis -import warnings +from hera_corr_cm.handlers import add_default_log_handlers + +logger = add_default_log_handlers(logging.getLogger(__file__)) def get_corr_to_hera_map(r, nants_data=192, nants=352): """ @@ -29,7 +31,7 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): chan = pol["n"]["channel"] # runs 0-5 snap_ant_chans = r.hget("corr:snap_ants", host) if snap_ant_chans is None: - warnings.warn("Couldn't find antenna indices for %s" % host) + logger.warning("Couldn't find antenna indices for %s" % host) continue corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) print(corr_ant_number) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 2435b5e8..f744ff6a 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -9,7 +9,6 @@ import time import copy import redis -import warnings from hera_corr_cm.handlers import add_default_log_handlers logger = add_default_log_handlers(logging.getLogger(__file__)) @@ -36,7 +35,7 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): chan = pol["n"]["channel"] # runs 0-5 snap_ant_chans = r.hget("corr:snap_ants", host) if snap_ant_chans is None: - warnings.warn("Couldn't find antenna indices for %s" % host) + logger.warning("Couldn't find antenna indices for %s" % host) continue corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) print(corr_ant_number) @@ -248,7 +247,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): idx += 1 # make sure we have the number we're expecting if idx != NANTS_DATA: - warnings.warn("Didn't get the right number of antenna positions. Expected {:d}, got {:d}".format(NANTS_DATA, idx)) + logger.warning("Didn't get the right number of antenna positions. Expected {:d}, got {:d}".format(NANTS_DATA, idx)) header.create_dataset("antenna_names", dtype="|S5", shape=(NANTS_DATA,), data=ant_names) header.create_dataset("antenna_numbers", dtype=" Date: Sat, 25 Apr 2020 18:56:09 +0000 Subject: [PATCH 381/420] Handle dict keys as bytes --- src/scripts/hera_create_bda_config.py | 6 +- src/scripts/hera_make_hdf5_template_bda.py | 67 +++++++++++++--------- 2 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index c7d83933..f57cfc54 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -25,7 +25,8 @@ def get_hera_to_corr_ants(r, ants=None): corresponding correlator numbers from the redis database, using a redis.Redis instance (r) """ - ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + # dictionary keys are bytes, not strings + ant_to_snap = json.loads(r.hgetall("corr:map")[b'ant_to_snap']) corr_nums = [] if ants is None: ants = [int(a) for a in ant_to_snap.keys()] @@ -43,7 +44,8 @@ def create_bda_config(n_ants_data, use_cm=False, use_redis=False): # This does not account for BDA!!! if use_cm: cminfo = get_cm_info() - ants = cminfo['antenna_numbers'] + # dictionary keys are bytes, not strings + ants = cminfo[b'antenna_numbers'] if use_redis: r = redis.Redis('redishost') diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index f744ff6a..5e291d81 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -74,7 +74,7 @@ def get_cm_info(): def get_antpos_enu(antpos, lat, lon, alt): """ - Compute the antenna positions in ENU coordinates from rotECEF. + Compute the antenna positions in ENU coordinates from ECEF. Args: antpos -- array of antenna positions. Should have shape (Nants, 3). @@ -86,8 +86,8 @@ def get_antpos_enu(antpos, lat, lon, alt): enu -- array of antenna positions in ENU frame. Has shape (Nants, 3). """ import pyuvdata.utils as uvutils - ecef = uvutils.ECEF_from_rotECEF(antpos, lon) - enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) + antpos = np.asarray(antpos) + enu = uvutils.ENU_from_ECEF(antpos, lat, lon, alt) return enu def get_antpos_ecef(antpos, lon): @@ -102,6 +102,7 @@ def get_antpos_ecef(antpos, lon): ecef -- array of antenna positions in ECEF frame. Has shape (Nants, 3) """ import pyuvdata.utils as uvutils + antpos = np.asarray(antpos) ecef = uvutils.ECEF_from_rotECEF(antpos, lon) return ecef @@ -168,10 +169,14 @@ def create_header(h5, config, use_cm=False, use_redis=False): if use_cm: cminfo = get_cm_info() # add the enu co-ords - lat = cminfo["cofa_lat"] * np.pi / 180.0 - lon = cminfo["cofa_lon"] * np.pi / 180.0 - alt = cminfo["cofa_alt"] - cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, alt) + # dict keys are bytes, not strings + lat = cminfo[b"cofa_lat"] * np.pi / 180.0 + lon = cminfo[b"cofa_lon"] * np.pi / 180.0 + alt = cminfo[b"cofa_alt"] + cofa_ecef = get_telescope_location_ecef(lat, lon, alt) + antenna_positions = np.asarray(cminfo[b"antenna_positions"]) + antpos_ecef = antenna_positions + cofa_ecef + cminfo[b"antenna_positions_enu"] = get_antpos_enu(antpos_ecef, lat, lon, alt) else: cminfo = None @@ -219,31 +224,27 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("x_orientation", data=np.string_("NORTH")) if use_cm: # convert lat and lon from degrees -> radians - lat = cminfo['cofa_lat'] * np.pi / 180.0 - lon = cminfo['cofa_lon'] * np.pi / 180.0 - alt = cminfo['cofa_alt'] - telescope_location_ecef = get_telescope_location_ecef(lat, lon, alt) - antpos_ecef = get_antpos_ecef(cminfo["antenna_positions"], lon) - header.create_dataset("altitude", dtype=" Date: Mon, 27 Apr 2020 20:12:21 +0000 Subject: [PATCH 382/420] Use decode_responses=True when starting redis connections --- src/scripts/hera_catcher_take_data.py | 2 +- src/scripts/hera_catcher_up.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index c810a557..f24f4434 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -33,7 +33,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): args = parser.parse_args() -r = redis.Redis(args.redishost) +r = redis.Redis(args.redishost, decode_responses=True) if len(args.tag) > 127: raise ValueError("Tag argument must be <127 characters!") diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 3cd1739a..6daec73a 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -47,7 +47,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Environment sourcing command required to run remote python jobs python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate"), ";"] -r = redis.Redis(args.redishost) +r = redis.Redis(args.redishost, decode_responses=True) # Run performance tweaking script if args.runtweak: From ea540260c8c9dc3854b5c13f20c8e136fc5bdcec Mon Sep 17 00:00:00 2001 From: dgorthi Date: Mon, 11 May 2020 21:34:11 +0000 Subject: [PATCH 383/420] updated scripts after redis decode enabled on correlator repos --- src/scripts/hera_create_bda_config.py | 6 ++-- src/scripts/hera_make_hdf5_template_bda.py | 40 +++++++++++++--------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/scripts/hera_create_bda_config.py b/src/scripts/hera_create_bda_config.py index f57cfc54..4fd2e325 100644 --- a/src/scripts/hera_create_bda_config.py +++ b/src/scripts/hera_create_bda_config.py @@ -26,7 +26,7 @@ def get_hera_to_corr_ants(r, ants=None): redis database, using a redis.Redis instance (r) """ # dictionary keys are bytes, not strings - ant_to_snap = json.loads(r.hgetall("corr:map")[b'ant_to_snap']) + ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) corr_nums = [] if ants is None: ants = [int(a) for a in ant_to_snap.keys()] @@ -45,10 +45,10 @@ def create_bda_config(n_ants_data, use_cm=False, use_redis=False): if use_cm: cminfo = get_cm_info() # dictionary keys are bytes, not strings - ants = cminfo[b'antenna_numbers'] + ants = cminfo['antenna_numbers'] if use_redis: - r = redis.Redis('redishost') + r = redis.Redis('redishost', decode_responses=True) corr_ant_nums = get_hera_to_corr_ants(r, ants) else: diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 5e291d81..88106fbe 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -170,13 +170,13 @@ def create_header(h5, config, use_cm=False, use_redis=False): cminfo = get_cm_info() # add the enu co-ords # dict keys are bytes, not strings - lat = cminfo[b"cofa_lat"] * np.pi / 180.0 - lon = cminfo[b"cofa_lon"] * np.pi / 180.0 - alt = cminfo[b"cofa_alt"] + lat = cminfo["cofa_lat"] * np.pi / 180.0 + lon = cminfo["cofa_lon"] * np.pi / 180.0 + alt = cminfo["cofa_alt"] cofa_ecef = get_telescope_location_ecef(lat, lon, alt) - antenna_positions = np.asarray(cminfo[b"antenna_positions"]) + antenna_positions = np.asarray(cminfo["antenna_positions"]) antpos_ecef = antenna_positions + cofa_ecef - cminfo[b"antenna_positions_enu"] = get_antpos_enu(antpos_ecef, lat, lon, alt) + cminfo["antenna_positions_enu"] = get_antpos_enu(antpos_ecef, lat, lon, alt) else: cminfo = None @@ -225,26 +225,26 @@ def create_header(h5, config, use_cm=False, use_redis=False): if use_cm: # convert lat and lon from degrees -> radians # dict keys are bytes, not strings - header.create_dataset("altitude", dtype=" Date: Tue, 19 May 2020 12:55:03 -0700 Subject: [PATCH 384/420] Convert nsamples to float instead of uint --- src/hera_catcher_disk_thread_bda.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 817533f9..5ac779d3 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -500,7 +500,7 @@ static double compute_jd_from_mcnt(uint64_t mcnt, uint64_t sync_time_ms, double * Write N_BL_PER_WRITE bcnts to the dataset, at the right offset */ static void write_baseline_index(hdf5_id_t *id, hsize_t bcnt, hsize_t nblts, hid_t mem_space, - uint64_t *visdata_buf, hbool_t *flags, uint32_t *nsamples) + uint64_t *visdata_buf, hbool_t *flags, float *nsamples) { hsize_t start[N_DATA_DIMS] = {bcnt, 0, 0, 0}; hsize_t count[N_DATA_DIMS] = {nblts, 1, N_CHAN_PROCESSED, N_STOKES}; @@ -776,10 +776,10 @@ static void *run(hashpipe_thread_args_t * args) // Allocate an array of bools for flags and n_samples hbool_t *flags = (hbool_t *) malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); - uint32_t *nsamples = (uint32_t *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); + float *nsamples = (float *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); memset(flags, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); - memset(nsamples, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(uint32_t)); + memset(nsamples, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); // Define memory space of a block hsize_t dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; From 6da12078b03ddd72aed341e8de8ae5b3643a0133 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Sat, 30 May 2020 11:45:17 -0700 Subject: [PATCH 385/420] Fix uvw calculation --- src/scripts/hera_make_hdf5_template_bda.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 88106fbe..ba8e5741 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -234,8 +234,8 @@ def create_header(h5, config, use_cm=False, use_redis=False): # make uvw array for n, i in enumerate(cminfo["antenna_numbers"]): ant_pos_uvw[i] = cminfo["antenna_positions_enu"][n] - for i,(a,b) in enumerate(baselines): - uvw[i] = ant_pos_uvw[a] - ant_pos_uvw[b] + for i, (a, b) in enumerate(baselines): + uvw[i] = ant_pos_uvw[b] - ant_pos_uvw[a] # get antenna metadata only for connected antennas idx = 0 for n, ant in enumerate(cminfo["antenna_numbers"]): From 21ba53045d537de906df04d23dc3898e891297ea Mon Sep 17 00:00:00 2001 From: dgorthi Date: Mon, 22 Jun 2020 21:17:10 +0000 Subject: [PATCH 386/420] Update hera_mc command location --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 5ac779d3..e78b7c29 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -626,7 +626,7 @@ static void add_mc_obs(char *fname) int err; fprintf(stdout, "Adding observation %s to M&C\n", fname); // Launch (hard-coded) python script in the background and pass in filename - sprintf(cmd, "/home/hera/anaconda3/envs/hera3/bin/mc_add_observation.py %s", fname); + sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s", fname); if (fork() == 0) { err = system(cmd); if (err != 0) { From 6edb10267b1b3f4959421533994343c756826f3b Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 23 Jun 2020 21:50:07 +0000 Subject: [PATCH 387/420] Change script location (hopefully for the last time) --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index e78b7c29..c8724cc8 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -626,7 +626,7 @@ static void add_mc_obs(char *fname) int err; fprintf(stdout, "Adding observation %s to M&C\n", fname); // Launch (hard-coded) python script in the background and pass in filename - sprintf(cmd, "/home/hera/hera-venv/bin/mc_add_observation.py %s", fname); + sprintf(cmd, "/home/hera/hera-venv/envs/hera/bin/mc_add_observation.py %s", fname); if (fork() == 0) { err = system(cmd); if (err != 0) { From b675e3a6bf42e5942987e2d2da125c60ab41fc40 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 24 Jun 2020 11:03:02 +0000 Subject: [PATCH 388/420] Fix coordinates and python3-ness... ... 1. Make it Python3 and Redis compatible by fixing arrays of strings and json dumps. 2. Fix coordinate problems with ecef and enu (copied what the bda version does). --- src/scripts/hera_make_hdf5_template.py | 35 ++++++++++++++++++-------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template.py b/src/scripts/hera_make_hdf5_template.py index b45a7f8b..26ee9255 100644 --- a/src/scripts/hera_make_hdf5_template.py +++ b/src/scripts/hera_make_hdf5_template.py @@ -23,7 +23,7 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): # A dictionary with keys which are antenna numbers # of the for { :{: {'host':SNAPHOSTNAME, 'channel':INTEGER}}} - ant_to_snap = json.loads(r.hgetall("corr:map")['ant_to_snap']) + ant_to_snap = json.loads(r.hget("corr:map", "ant_to_snap")) #host_to_index = r.hgetall("corr:snap_ants") for ant, pol in ant_to_snap.items(): hera_ant_number = int(ant) @@ -34,9 +34,8 @@ def get_corr_to_hera_map(r, nants_data=192, nants=352): logger.warning("Couldn't find antenna indices for %s" % host) continue corr_ant_number = json.loads(snap_ant_chans)[chan//2] #Indexes from 0-3 (ignores pol) - print(corr_ant_number) out_map[corr_ant_number] = hera_ant_number - print("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) + logging.info("HERA antenna %d maps to correlator input %d" % (hera_ant_number, corr_ant_number)) return out_map @@ -72,7 +71,7 @@ def get_cm_info(): def get_antpos_enu(antpos, lat, lon, alt): """ - Compute the antenna positions in ENU coordinates from rotECEF. + Compute the antenna positions in ENU coordinates from ECEF. Args: antpos -- array of antenna positions. Should have shape (Nants, 3). @@ -84,8 +83,8 @@ def get_antpos_enu(antpos, lat, lon, alt): enu -- array of antenna positions in ENU frame. Has shape (Nants, 3). """ import pyuvdata.utils as uvutils - ecef = uvutils.ECEF_from_rotECEF(antpos, lon) - enu = uvutils.ENU_from_ECEF(ecef, lat, lon, alt) + antpos = np.asarray(antpos) + enu = uvutils.ENU_from_ECEF(antpos, lat, lon, alt) return enu def get_antpos_ecef(antpos, lon): @@ -100,6 +99,7 @@ def get_antpos_ecef(antpos, lon): ecef -- array of antenna positions in ECEF frame. Has shape (Nants, 3) """ import pyuvdata.utils as uvutils + antpos = np.asarray(antpos) ecef = uvutils.ECEF_from_rotECEF(antpos, lon) return ecef @@ -152,8 +152,11 @@ def create_header(h5, use_cm=False, use_redis=False): # add the enu co-ords lat = cminfo["cofa_lat"] * np.pi / 180. lon = cminfo["cofa_lon"] * np.pi / 180. - cminfo["antenna_positions_enu"] = get_antpos_enu(cminfo["antenna_positions"], lat, lon, - cminfo["cofa_alt"]) + alt = cminfo["cofa_alt"] + cofa_ecef = get_telescope_location_ecef(lat, lon, alt) + antenna_positions = np.asarray(cminfo["antenna_positions"]) + antpos_ecef = antenna_positions + cofa_ecef + cminfo["antenna_positions_enu"] = get_antpos_enu(antpos_ecef, lat, lon, alt) else: cminfo = None @@ -204,7 +207,7 @@ def create_header(h5, use_cm=False, use_redis=False): header.create_dataset("altitude", dtype=" Date: Mon, 29 Jun 2020 13:26:08 +0000 Subject: [PATCH 389/420] Include old version option --- src/scripts/hera_catcher_take_data.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index f24f4434..e6a7a6a7 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -6,7 +6,8 @@ import subprocess python_source_cmd = ['source', '~/hera-venv/bin/activate'] -template_cmd = ['hera_make_hdf5_template_bda.py'] +template_cmd_bda = ['hera_make_hdf5_template_bda.py'] +template_cmd = ['hera_make_hdf5_template.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): if isinstance(cmd, str): @@ -28,6 +29,8 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): parser.add_argument('-r', dest='redishost', type=str, default='redishost', help='Host serving redis database') parser.add_argument('-n', dest='nfiles', type=int, default=10, help='Number of files of data to capture') parser.add_argument('-m', dest='msperfile', type=int, default=60000, help='Number of ms of data per file') +parser.add_argument('--nobda', dest='nobda', action='store_true', default=False, + help='Use the baseline dependent averaging version') parser.add_argument('--tag', dest='tag', type=str, default='none', help='A descriptive tag to go into data files') parser.add_argument('-t', dest='hdf5template', type=str, default='/tmp/template.h5', help='Place to put HDF5 header template file') @@ -39,7 +42,10 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): raise ValueError("Tag argument must be <127 characters!") # Generate the meta-data template -run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) +if not args.nobda: + run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd_bda + ['-c', '-r', args.hdf5template], wait=True) +else: + run_on_hosts([args.host], python_source_cmd + [';'] + template_cmd + ['-c', '-r', args.hdf5template], wait=True) #Configure runtime parameters From 76f71003677c821921d37f8779908cb72b6f4742 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Mon, 29 Jun 2020 13:27:15 +0000 Subject: [PATCH 390/420] Correct ethernet port that needs to be teaked --- src/scripts/tweak-perf-sn.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/scripts/tweak-perf-sn.sh b/src/scripts/tweak-perf-sn.sh index c5fcbdf4..bd7612f9 100755 --- a/src/scripts/tweak-perf-sn.sh +++ b/src/scripts/tweak-perf-sn.sh @@ -4,29 +4,29 @@ for i in `ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor`; do echo performance > $i; done # Set mtu -ifconfig eth3 mtu 4500 +ifconfig eth4 mtu 4500 # Turn on pause requests -ethtool -A eth3 rx on +ethtool -A eth4 rx on # Kernel buffer sizes sysctl net.core.rmem_max=83886080 sysctl net.core.rmem_default=83886080 # Kill packets before the IP stack -iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP +iptables -t raw -A PREROUTING -i eth4 -p udp -j DROP # Set interrupt coalescing -ethtool -C eth3 adaptive-rx off -ethtool -C eth3 rx-frames 8 -ethtool -C eth3 rx-usecs 0 +ethtool -C eth4 adaptive-rx off +ethtool -C eth4 rx-frames 8 +ethtool -C eth4 rx-usecs 0 # Set ring sizes to max -ethtool -G eth3 rx 8192 +ethtool -G eth4 rx 8192 # Set Receiver Side Steering -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 -#ethtool -U eth3 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 -ethtool -U eth3 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 1 loc 1 +#ethtool -U eth4 flow-type udp4 src-ip 10.0.10.110 m 0.0.0.0 action 4 loc 1 +#ethtool -U eth4 flow-type udp4 src-ip 10.0.10.111 m 0.0.0.0 action 5 loc 2 +#ethtool -U eth4 flow-type udp4 src-ip 10.0.10.113 m 0.0.0.0 action 6 loc 3 +#ethtool -U eth4 flow-type udp4 src-ip 10.0.10.114 m 0.0.0.0 action 7 loc 4 +ethtool -U eth4 flow-type udp4 src-ip 10.80.40.1 m 255.255.255.255 action 1 loc 1 From 0577d5be8b66727fac00030bc71089dd87646231 Mon Sep 17 00:00:00 2001 From: Aaron Parsons Date: Tue, 14 Jul 2020 15:44:20 -0700 Subject: [PATCH 391/420] Removed unused files to clean things up. --- src/Makefile.am | 3 - src/paper_crc_thread.c | 232 --------------- src/paper_gpu_cpu_output_thread.c | 155 ---------- src/paper_gpu_output_thread.c | 476 ------------------------------ 4 files changed, 866 deletions(-) delete mode 100644 src/paper_crc_thread.c delete mode 100644 src/paper_gpu_cpu_output_thread.c delete mode 100644 src/paper_gpu_output_thread.c diff --git a/src/Makefile.am b/src/Makefile.am index e116bf4b..a1490d87 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -22,14 +22,11 @@ paper_databuf = paper_databuf.h \ paper_databuf.c paper_threads = paper_fake_net_thread.c \ - paper_gpu_cpu_output_thread.c \ - paper_gpu_output_thread.c \ paper_gpu_thread.c \ paper_fluff_thread.c \ hera_pktsock_thread.c \ hera_ibv_thread.c \ hera_fake_gpu_thread.c \ - paper_crc_thread.c \ hera_gpu_output_thread.c \ hera_gpu_bda_thread.c \ hera_bda_output_thread.c \ diff --git a/src/paper_crc_thread.c b/src/paper_crc_thread.c deleted file mode 100644 index f58f06fe..00000000 --- a/src/paper_crc_thread.c +++ /dev/null @@ -1,232 +0,0 @@ -/* paper_crc_thread.c - * - * Routine to read packets from network and validate their CRCs (if present). - * This does not process the data nor pass it on to any other thread. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "hashpipe.h" -#include "paper_databuf.h" - -typedef struct { - uint64_t mcnt; - int fid; // Fengine ID - int xid; // Xengine ID -} packet_header_t; - -// The fields of a block_info_t structure hold (at least) two different kinds -// of data. Some fields hold data that persist over many packets while other -// fields hold data that are only applicable to the current packet (or the -// previous packet). -typedef struct { - int initialized; - int32_t self_xid; - uint64_t mcnt_start; - uint64_t mcnt_offset; - uint64_t mcnt_prior; - int out_of_seq_cnt; - int block_i; - // The m,x,f fields hold three of the five dimensional indices for - // the first data word of the current packet (i.e. t=0 and c=0). - int m; // formerly known as sub_block_i - int f; - int block_active[N_INPUT_BLOCKS]; -} block_info_t; - -static hashpipe_status_t *st_p; - -static inline void get_header (struct hashpipe_udp_packet *p, packet_header_t * pkt_header) -{ - uint64_t raw_header; - raw_header = be64toh(*(unsigned long long *)p->data); - pkt_header->mcnt = raw_header >> 16; - pkt_header->xid = raw_header & 0x00000000000000FF; - pkt_header->fid = (raw_header >> 8) & 0x00000000000000FF; -} - -#define ELAPSED_NS(start,stop) \ - (((int64_t)stop.tv_sec-start.tv_sec)*1000*1000*1000+(stop.tv_nsec-start.tv_nsec)) - -static void *run(hashpipe_thread_args_t * args) -{ - // Local aliases to shorten access to args fields - // Our output buffer happens to be a paper_input_databuf - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - st_p = &st; // allow global (this source file) access to the status buffer - - // Get inital value for crc32 function - uint32_t init_crc = crc32(0,0,0); - - // Flag that holds off the crc thread - int holdoff = 1; - - // Force ourself into the hold off state - hashpipe_status_lock_safe(&st); - hputi4(st.buf, "NETHOLD", 1); - hashpipe_status_unlock_safe(&st); - - while(holdoff) { - // We're not in any hurry to startup - sleep(1); - hashpipe_status_lock_safe(&st); - // Look for NETHOLD value - hgeti4(st.buf, "NETHOLD", &holdoff); - if(!holdoff) { - // Done holding, so delete the key - hdel(st.buf, "NETHOLD"); - } - hashpipe_status_unlock_safe(&st); - } - - /* Read network params */ - struct hashpipe_udp_params up = { - .bindhost = "0.0.0.0", - .bindport = 8511, - .packet_size = 8200 - }; - hashpipe_status_lock_safe(&st); - // Get info from status buffer if present (no change if not present) - hgets(st.buf, "BINDHOST", 80, up.bindhost); - hgeti4(st.buf, "BINDPORT", &up.bindport); - // Store bind host/port info etc in status buffer - hputs(st.buf, "BINDHOST", up.bindhost); - hputi4(st.buf, "BINDPORT", up.bindport); - hputu4(st.buf, "CRCPKOK", 0); - hputu4(st.buf, "CRCPKERR", 0); - hputs(st.buf, status_key, "running"); - hashpipe_status_unlock_safe(&st); - - struct hashpipe_udp_packet p; - - /* Give all the threads a chance to start before opening network socket */ - sleep(1); - - - /* Set up UDP socket */ - int rv = hashpipe_udp_init(&up); - if (rv!=HASHPIPE_OK) { - hashpipe_error("paper_crc_thread", - "Error opening UDP socket."); - pthread_exit(NULL); - } - pthread_cleanup_push((void *)hashpipe_udp_close, &up); - - /* Main loop */ - uint64_t packet_count = 0; - uint64_t good_count = 0; - uint64_t error_count = 0; - uint64_t elapsed_wait_ns = 0; - uint64_t elapsed_recv_ns = 0; - uint64_t elapsed_proc_ns = 0; - float ns_per_wait = 0.0; - float ns_per_recv = 0.0; - float ns_per_proc = 0.0; - struct timespec start, stop; - struct timespec recv_start, recv_stop; - packet_header_t hdr; - - while (run_threads()) { - - /* Read packet */ - clock_gettime(CLOCK_MONOTONIC, &recv_start); - do { - clock_gettime(CLOCK_MONOTONIC, &start); - p.packet_size = recv(up.sock, p.data, HASHPIPE_MAX_PACKET_SIZE, 0); - clock_gettime(CLOCK_MONOTONIC, &recv_stop); - } while (p.packet_size == -1 && (errno == EAGAIN || errno == EWOULDBLOCK) && run_threads()); - - // Break out of loop if stopping - if(!run_threads()) break; - - // Increment packet count - packet_count++; - - // Check CRC - if(crc32(init_crc, (/*const?*/ uint8_t *)p.data, p.packet_size) == 0xffffffff) { - // CRC OK! Increment good counter - good_count++; - } else { - // CRC error! Increment error counter - error_count++; - - // Log message - get_header(&p, &hdr); - hashpipe_warn("paper_crc", "CRC error mcnt %llu ; fid %u ; xid %u", - hdr.mcnt, hdr.fid, hdr.xid); - } - - clock_gettime(CLOCK_MONOTONIC, &stop); - elapsed_wait_ns += ELAPSED_NS(recv_start, start); - elapsed_recv_ns += ELAPSED_NS(start, recv_stop); - elapsed_proc_ns += ELAPSED_NS(recv_stop, stop); - - if(packet_count % 1000 == 0) { - // Compute stats - get_header(&p, &hdr); - ns_per_wait = (float)elapsed_wait_ns / packet_count; - ns_per_recv = (float)elapsed_recv_ns / packet_count; - ns_per_proc = (float)elapsed_proc_ns / packet_count; - - // Update status - hashpipe_status_lock_busywait_safe(&st); - hputu8(st.buf, "CRCMCNT", hdr.mcnt); - // Gbps = bits_per_packet / ns_per_packet - // (N_BYTES_PER_PACKET excludes header, so +8 for the header) - hputr4(st.buf, "CRCGBPS", 8*(N_BYTES_PER_PACKET+8)/(ns_per_recv+ns_per_proc)); - hputr4(st.buf, "CRCWATNS", ns_per_wait); - hputr4(st.buf, "CRCRECNS", ns_per_recv); - hputr4(st.buf, "CRCPRCNS", ns_per_proc); - // TODO Provide some way to recognize request to zero out the - // CRCERR and CRCOK fields. - hputu8(st.buf, "CRCPKOK", good_count); - hputu8(st.buf, "CRCPKERR", error_count); - hashpipe_status_unlock_safe(&st); - - // Start new average - elapsed_wait_ns = 0; - elapsed_recv_ns = 0; - elapsed_proc_ns = 0; - packet_count = 0; - } - - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } - - /* Have to close all push's */ - pthread_cleanup_pop(1); /* Closes push(hashpipe_udp_close) */ - - return NULL; -} - -static hashpipe_thread_desc_t crc_thread = { - name: "paper_crc_thread", - skey: "CRCSTAT", - init: NULL, - run: run, - ibuf_desc: {NULL}, - obuf_desc: {NULL} -}; - -static __attribute__((constructor)) void ctor() -{ - register_hashpipe_thread(&crc_thread); -} - -// vi: set ts=8 sw=4 noet : diff --git a/src/paper_gpu_cpu_output_thread.c b/src/paper_gpu_cpu_output_thread.c deleted file mode 100644 index 4c97c938..00000000 --- a/src/paper_gpu_cpu_output_thread.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * paper_gpu_cpu_output_thread.c - * - * Routine to sink data from the paper_gpu_cpu_thread. - */ - -#include -#include -#include -#include - -#include - -#include "hashpipe.h" -#include "paper_databuf.h" - -#define TOL (1e-5) - -static XGPUInfo xgpu_info; - -static int init(hashpipe_thread_args_t *args) -{ - hashpipe_status_t st = args->st; - - hashpipe_status_lock_safe(&st); - hputr4(st.buf, "CGOMXERR", 0.0); - hputi4(st.buf, "CGOERCNT", 0); - hputi4(st.buf, "CGOMXECT", 0); - hashpipe_status_unlock_safe(&st); - - // Success! - return 0; -} - -#define zabs(x,i) hypot(x[i],x[i+1]) - -static void *run(hashpipe_thread_args_t * args) -{ - // Local aliases to shorten access to args fields - // Our input buffer happens to be a paper_ouput_databuf - paper_output_databuf_t *db = (paper_output_databuf_t *)args->ibuf; - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - /* Main loop */ - int i, rv, debug=20; - int block_idx[2] = {0, 1}; - int error_count, max_error_count = 0; - float *gpu_data, *cpu_data; - float error, max_error = 0.0; - while (run_threads()) { - - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "waiting"); - hashpipe_status_unlock_safe(&st); - - // Wait for two new blocks to be filled - for(i=0; i<2; i++) { - while ((rv=paper_output_databuf_wait_filled(db, block_idx[i])) - != HASHPIPE_OK) { - if (rv==HASHPIPE_TIMEOUT) { - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); - hashpipe_status_unlock_safe(&st); - continue; - } else { - hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); - pthread_exit(NULL); - break; - } - } - } - - // Note processing status, current input block - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "processing"); - hputi4(st.buf, "CGOBLKIN", block_idx[0]); - hashpipe_status_unlock_safe(&st); - - // Reorder GPU block - if(debug==20) { - fprintf(stderr, "GPU block in == %d\n", block_idx[0]); - fprintf(stderr, "CPU block in == %d\n", block_idx[1]); - } - xgpuReorderMatrix((Complex *)db->block[block_idx[0]].data); - - // Compare blocks - error_count = 0.0; - gpu_data = (float *) db->block[block_idx[0]].data; - cpu_data = (float *) db->block[block_idx[1]].data; - for(i=0; i 3*TOL) { - error_count++; - if(debug) { - fprintf(stderr, - "%3d: GPU:(%+4e, %+4e) CPU:(%+4e, %+4e) err %+4e\n", i, - gpu_data[i], gpu_data[i+1], - cpu_data[i], cpu_data[i+1], - error - ); - debug--; - } - } - if(error > max_error) { - max_error = error; - } - } - if(error_count > max_error_count) { - max_error_count = error_count; - } - - // Update status values - hashpipe_status_lock_safe(&st); - hputr4(st.buf, "CGOMXERR", max_error); - hputi4(st.buf, "CGOERCNT", error_count); - hputi4(st.buf, "CGOMXECT", max_error_count); - hashpipe_status_unlock_safe(&st); - - // Mark blocks as free - for(i=0; i<2; i++) { - paper_output_databuf_set_free(db, block_idx[i]); - } - - // Setup for next block - for(i=0; i<2; i++) { - block_idx[i] = (block_idx[i] + 2) % db->header.n_block; - } - - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } - - // Thread success! - return NULL; -} - -static hashpipe_thread_desc_t gpu_cpu_output_thread = { - name: "paper_gpu_cpu_output_thread", - skey: "CGOSTAT", - init: init, - run: run, - ibuf_desc: {paper_output_databuf_create}, - obuf_desc: {NULL} -}; - -static __attribute__((constructor)) void ctor() -{ - register_hashpipe_thread(&gpu_cpu_output_thread); -} diff --git a/src/paper_gpu_output_thread.c b/src/paper_gpu_output_thread.c deleted file mode 100644 index f59f1187..00000000 --- a/src/paper_gpu_output_thread.c +++ /dev/null @@ -1,476 +0,0 @@ -// paper_gpu_output_thread.c -// -// Sends integrated GPU output to "catcher" machine for assimilation into a -// dataset. - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "hashpipe.h" -#include "paper_databuf.h" - -// Correlator data are sent to a data catcher using a simple UDP packetization -// format: - -// uint64_t TIMESTAMP (set to be the MCNT provided by the databuf delivered by the upstream processor) -// uint32_t OFFSET (offset in bytes where this packet should be placed in memory to build the complete output) -// uint16_t X-ENGINE ID -// uint16_t PAYLOAD LENGTH (length of data payload in this packet in bytes) - -// Structure for packet header - -typedef struct pkthdr { - uint64_t timestamp; - uint32_t offset; - uint16_t xeng_id; - uint16_t payload_len; -} pkthdr_t; - -// Macros for generating values for the pkthdr_t fields -#define TIMESTAMP(x) (htobe64((uint64_t)x)) -#define OFFSET(x) (htobe32((uint32_t)x)) -#define XENG_ID(x) (htobe16((uint16_t)x)) -#define PAYLOAD_LEN(x) (htobe16((uint16_t)x)) - -#define CONVERT(x) (htobe32(x)) - -typedef int32_t pktdata_t; - -// Structure of a packet -typedef struct pkt { - pkthdr_t hdr; - pktdata_t data[OUTPUT_BYTES_PER_PACKET/sizeof(pktdata_t)]; -} pkt_t; - -static XGPUInfo xgpu_info; - -// PACKET_DELAY_NS is number of nanoseconds to delay between packets. This is -// to prevent overflowing the network interface's TX queue. -// Keep in mind the total throughput of the network, and also the number -// of x-engine instances which will be running on each host. - -// Note that the below calculations account only for the packet's payload (i.e. -// it considers the size of the packet header to be negligible). -// -// 1000 megabit per second = 1 nanosecond per bit -// 100 megabit per second = 10 nanosecond per bit -// 10 megabit per second = 100 nanosecond per bit - -// Set to 200 Mbps -- OK for two instances per node. -// With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (5 * 8*OUTPUT_BYTES_PER_PACKET) - -// bytes_per_dump depends on xgpu_info.triLength -static uint64_t bytes_per_dump = 0; -// packets_per_dump is bytes_per_dump / OUTPUT_BYTES_PER_PACKET -static unsigned int packets_per_dump = 0; - -// Open and connect a UDP socket to the given host and port. Note that port is -// a string and can be a stringified integer (e.g. "7148") or a service name -// (e.g. "ntp"). Returns -1 on error, otherwise a valid descriptor for an open -// and connected socket. -static int -open_udp_socket(const char *host, const char *port) -{ - struct addrinfo hints; - struct addrinfo *result, *rp; - int s, sfd=-1; - - // Obtain address(es) matching host/port - - memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = 0; - hints.ai_protocol = 0; - - s = getaddrinfo(host, port, &hints, &result); - if (s != 0) { - hashpipe_error("getaddrinfo", gai_strerror(s)); - return -1; - } - - // getaddrinfo() returns a list of address structures. - // Try each address until we successfully connect(2). - // If socket(2) (or connect(2)) fails, we (close the socket - // and) try the next address. - - for (rp = result; rp != NULL; rp = rp->ai_next) { - sfd = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol); - - if (sfd == -1) { - continue; - } - - if (connect(sfd, rp->ai_addr, rp->ai_addrlen) != -1) { - break; // Success - } - - close(sfd); - sfd = -1; - } - - freeaddrinfo(result); - -#if 0 - // Print send buffer size - int bufsize; - unsigned int bufsizesize = sizeof(bufsize); - getsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &bufsize, &bufsizesize); - printf("send buffer size is %d\n", bufsize); -#endif - - return sfd; -} - - -// Computes the triangular index of an (i,j) pair as shown here... -// NB: Output is valid only if i >= j. -// -// i=0 1 2 3 4.. -// +--------------- -// j=0 | 00 01 03 06 10 -// 1 | 02 04 07 11 -// 2 | 05 08 12 -// 3 | 09 13 -// 4 | 14 -// : -static inline off_t tri_index(const int i, const int j) -{ - return (i * (i+1))/2 + j; -} - -// regtile_chan_length is the number of complex cross products per channel for -// the xGPU register tile order correlator output format with N_INPUTS. -// NB: N_INPUTS = N_STATION * N_POL -#define REGTILE_CHAN_LENGTH (4 * 4 * N_INPUTS/4 * (N_INPUTS/4+1) / 2) -static inline size_t regtile_chan_length() -{ - // Four cross products for each quadrant of 4 input x 4 input tile - return REGTILE_CHAN_LENGTH; -} - -// Returns index into the GPU's register tile ordered output buffer for the -// real component of the cross product of inputs in0 and in1. Note that in0 -// and in1 are input indexes (i.e. 0 based) and often represent antenna and -// polarization by passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx -// and pol_idx are also 0 based). Return value is valid if in1 >= in0. The -// corresponding imaginary component is located xgpu_info.matLength words after -// the real component. -static off_t regtile_index(const int in0, const int in1) -{ - const int a0 = in0 >> 1; - const int a1 = in1 >> 1; - const int p0 = in0 & 1; - const int p1 = in1 & 1; - const int num_words_per_cell = 4; - - // Index within a quadrant - const int quadrant_index = tri_index(a1/2, a0/2); - // Quadrant for this input pair - const int quadrant = 2*(a0&1) + (a1&1); - // Size of quadrant - const int quadrant_size = (xgpu_info.nstation/2 + 1) * xgpu_info.nstation/4; - // Index of cell (in units of cells) - const int cell_index = quadrant*quadrant_size + quadrant_index; - //printf("%s: in0=%d, in1=%d, a0=%d, a1=%d, cell_index=%d\n", __FUNCTION__, in0, in1, a0, a1, cell_index); - // Pol offset - const int pol_offset = 2*p1 + p0; - // Word index (in units of words (i.e. floats) of real component - const int index = (cell_index * num_words_per_cell) + pol_offset; - return index; -} - -// Returns index into a CASPER ordered buffer for the real component of the -// cross product of inputs in0 and in1. Note that in0 and in1 are input -// indexes (i.e. 0 based) and often represent antenna and polarization by -// passing (2*ant_idx+pol_idx) as the input number (NB: ant_idx ad pol_idx are -// also 0 based). Return value is valid if in1 >= in0. The corresponding -// imaginary component is located in the word immediately following the real -// component. A casper ordered buffer consists of four complex values for each -// pair of input pairs. Thus, the number of complex values in a casper ordered -// buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) -static off_t casper_index(const int in0, const int in1, const int n) -{ - const int a0 = in0 >> 1; - const int a1 = in1 >> 1; - const int p0 = in0 & 1; - const int p1 = in1 & 1; - const int delta = a1-a0; - const int num_words_per_cell = 8; - const int nant_2 = (n/2) / 2; - - // Three cases: top triangle, middle rectangle, bottom triangle - const int triangle_size = ((nant_2 + 1) * nant_2)/2; - const int middle_rect_offset = triangle_size; - const int last_cell_offset = 4*middle_rect_offset - nant_2 - 1; - int cell_index; - - if(delta > nant_2) { - // bottom triangle - cell_index = last_cell_offset - tri_index(nant_2-2-a0, (n/2)-1-a1); - } else if (a1 < (n/2)/2) { - // top triangle - cell_index = tri_index(a1, a0); - } else { - // middle rectangle - cell_index = middle_rect_offset + (a1-nant_2)*(nant_2+1) + (nant_2-delta); - } - //printf("%s: a0=%d, a1=%d, delta=%d, cell_index=%d\n", __FUNCTION__, a0, a1, delta, cell_index); - // Pol offset - const int pol_offset = 2*(2*(p0^p1) + p0); - // Word index (in units of words (i.e. floats) of real component - const int index = (cell_index * num_words_per_cell) + pol_offset; - return index; -} - -// For each channel, a casper ordered buffer contains four complex values for -// each pair of input pairs. Thus, the number of complex values in a casper -// ordered buffer are: 4 * (N/2 * (N/2 + 1)) / 2 = N * (N/2 + 1) -#define N_CASPER_COMPLEX_PER_CHAN (N_INPUTS * (N_INPUTS/2 + 1)) - -// Lookup table mapping casper_idx to regtile_idx -static off_t *idx_map; - -static int init_idx_map() -{ - int a0, a1, p0, p1, i, j; - idx_map = malloc(N_CASPER_COMPLEX_PER_CHAN * sizeof(off_t)); - if(!idx_map) { - return -1; - } - - for(a1=0; a1ibuf; - hashpipe_status_t st = args->st; - const char * status_key = args->thread_desc->skey; - - // Setup socket and message structures - int sockfd; - unsigned int xengine_id = 0; - struct timespec packet_delay = { - .tv_sec = 0, - .tv_nsec = PACKET_DELAY_NS - }; - - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "XID", &xengine_id); // No change if not found - hputu4(st.buf, "XID", xengine_id); - hputu4(st.buf, "OUTDUMPS", 0); - hashpipe_status_unlock_safe(&st); - - pkt_t pkt; - pkt.hdr.xeng_id = XENG_ID(xengine_id); - pkt.hdr.payload_len = PAYLOAD_LEN(OUTPUT_BYTES_PER_PACKET); - - // TODO Get catcher hostname and port from somewhere - -#define stringify2(x) #x -#define stringify(x) stringify2(x) - - // Open socket - sockfd = open_udp_socket("catcher", stringify(CATCHER_PORT)); - if(sockfd == -1) { - hashpipe_error(__FUNCTION__, "error opening socket"); - pthread_exit(NULL); - } - -#ifdef TEST_INDEX_CALCS - int i, j; - off_t o; - for(i=0; i<32; i++) { - for(j=i; j<32; j++) { - regtile_index(2*i, 2*j); - } - } - for(i=0; i<32; i++) { - for(j=i; j<32; j++) { - o = casper_index(2*i, 2*j, N_INPUTS); - fprintf(stdout, "%d, %d, %d\n", i, j, (int) o); - } - } -#endif - - /* Main loop */ - int rv; - int casper_chan, gpu_chan; - int baseline; - unsigned int dumps = 0; - int block_idx = 0; - struct timespec start, stop; - struct timespec pkt_start, pkt_stop; - while (run_threads()) { - - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "waiting"); - hashpipe_status_unlock_safe(&st); - - // Wait for new block to be filled - while ((rv=paper_output_databuf_wait_filled(db, block_idx)) - != HASHPIPE_OK) { - if (rv==HASHPIPE_TIMEOUT) { - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "blocked"); - hashpipe_status_unlock_safe(&st); - continue; - } else { - hashpipe_error(__FUNCTION__, "error waiting for filled databuf"); - pthread_exit(NULL); - break; - } - } - - clock_gettime(CLOCK_MONOTONIC, &start); - - // Note processing status, current input block - hashpipe_status_lock_safe(&st); - hputs(st.buf, status_key, "processing"); - hputi4(st.buf, "OUTBLKIN", block_idx); - hashpipe_status_unlock_safe(&st); - - // Update header's timestamp for this dump. - pkt.hdr.timestamp = TIMESTAMP(db->block[block_idx].header.mcnt); - // Reset packet/byte counters to 0 - pkt.hdr.offset = OFFSET(0); - uint32_t nbytes = 0; - - // Unpack and convert in packet sized chunks - pktdata_t * pf_re = db->block[block_idx].data; - pktdata_t * pf_im = db->block[block_idx].data + xgpu_info.matLength; - pktdata_t * p_out = pkt.data; - clock_gettime(CLOCK_MONOTONIC, &pkt_start); - for(casper_chan=0; casper_chan 0 && packet_delay.tv_nsec < 1000*1000*1000) { - nanosleep(&packet_delay, NULL); - } - - // Setup for next packet - p_out = pkt.data; - pkt_start = pkt_stop; - // Update header's byte_offset for this chunk - pkt.hdr.offset = OFFSET(nbytes); - } - } - } - - clock_gettime(CLOCK_MONOTONIC, &stop); - - hashpipe_status_lock_safe(&st); - hgetu4(st.buf, "OUTDUMPS", &dumps); - hputu4(st.buf, "OUTDUMPS", ++dumps); - hputu4(st.buf, "OUTBYTES", nbytes); - hputr4(st.buf, "OUTSECS", (float)ELAPSED_NS(start,stop)/1e9); - hputr4(st.buf, "OUTMBPS", (1e3*8*bytes_per_dump)/ELAPSED_NS(start,stop)); - hashpipe_status_unlock_safe(&st); - -done_sending: - - // Mark block as free - paper_output_databuf_set_free(db, block_idx); - - // Setup for next block - block_idx = (block_idx + 1) % db->header.n_block; - - /* Will exit if thread has been cancelled */ - pthread_testcancel(); - } - - // Thread success! - return NULL; -} - -static hashpipe_thread_desc_t gpu_output_thread = { - name: "paper_gpu_output_thread", - skey: "OUTSTAT", - init: init, - run: run, - ibuf_desc: {paper_output_databuf_create}, - obuf_desc: {NULL} -}; - -static __attribute__((constructor)) void ctor() -{ - register_hashpipe_thread(&gpu_output_thread); -} From 48e1b793d8a163fd3f061db81c276fce37a26e53 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 15 Jul 2020 11:31:12 +0000 Subject: [PATCH 392/420] Missed pkt stats, max offset... ... print stats per px machine when packets are dropped. Change the maximum offset checked against while populating the databuf, to accomodate change in channel sum on x-eng side. --- src/hera_catcher_net_thread.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/hera_catcher_net_thread.c b/src/hera_catcher_net_thread.c index 6cba7a8a..93d045f9 100644 --- a/src/hera_catcher_net_thread.c +++ b/src/hera_catcher_net_thread.c @@ -54,6 +54,7 @@ typedef struct { int initialized; int block_i; int block_packet_counter[CATCHER_N_BLOCKS]; + int xeng_pkt_counter[CATCHER_N_BLOCKS][N_XENGINES]; } block_info_t; @@ -70,6 +71,7 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu uint64_t block_missed_pkt_cnt; uint32_t missed_pkt_cnt; uint32_t block_i = binfo->block_i; + int i; // Validate that we're filling blocks in the proper sequence last_filled = (last_filled+1) % CATCHER_N_BLOCKS; @@ -103,13 +105,19 @@ static uint64_t set_block_filled(hera_catcher_input_databuf_t *hera_catcher_inpu hashpipe_status_lock_busywait_safe(st_p); hputu4(st_p->buf, "NETBKOUT", block_i); if(block_missed_pkt_cnt) { - fprintf(stdout, "Expected %lu packets, Got %d\n", PACKETS_PER_VIS_MATRIX, binfo->block_packet_counter[block_i]); + fprintf(stdout, "Total expected %lu packets, Got %d\n", + PACKETS_PER_VIS_MATRIX, + binfo->block_packet_counter[block_i]); + fprintf(stdout, "Percentage pkts per xeng:\n"); + // Dump per-xeng stats + for (i=0; ixeng_pkt_counter[block_i][i]/PACKETS_PER_XENG_ID); + } // Increment MISSEDPK by number of missed packets for this block hgetu4(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; hputu4(st_p->buf, "MISSEDPK", missed_pkt_cnt); - // fprintf(stderr, "got %d packets instead of %d\n", - // binfo->block_packet_counter[block_i], N_PACKETS_PER_BLOCK); } hashpipe_status_unlock_safe(st_p); @@ -129,7 +137,7 @@ static inline void initialize_block(hera_catcher_input_databuf_t * hera_catcher_ // Subsequent calls are no-ops. static inline void initialize_block_info(block_info_t * binfo) { - int i; + int i,j; // If this block_info structure has already been initialized if(binfo->initialized) { @@ -138,6 +146,9 @@ static inline void initialize_block_info(block_info_t * binfo) for(i = 0; i < CATCHER_N_BLOCKS; i++) { binfo->block_packet_counter[i] = 0; + for(j = 0; j < N_XENGINES; j++){ + binfo->xeng_pkt_counter[i][j] = 0; + } } // On startup mcnt_start will be zero and mcnt_log_late will be Nm. @@ -210,6 +221,7 @@ static inline uint64_t process_packet( netmcnt = set_block_filled(hera_catcher_input_databuf_p, &binfo); // Reset binfo's packet counter for this packet's block binfo.block_packet_counter[binfo.block_i] = 0; + for(i=0; iblock[binfo.block_i].data) + (hera_catcher_input_databuf_idx32(time_demux_block, (xeng_id % N_XENGINES_PER_TIME), offset)); payload_p = (uint32_t *)(PKT_UDP_DATA(p_frame) + sizeof(packet_header_t)); - if (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id / TIME_DEMUX, offset) >= 455344128L) { + if (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id / TIME_DEMUX, offset) >= MAX_HERA_CATCHER_IDX32) { fprintf(stderr, "databuf offset outside allowed range!\n"); fprintf(stderr, "offset is %lu\n", (hera_catcher_input_databuf_idx32(time_demux_block, xeng_id/TIME_DEMUX, offset))); fprintf(stderr, "mcnt: %lu, t-demux: %d, offset: %d, xeng: %d\n", mcnt, time_demux_block, offset, xeng_id/TIME_DEMUX); @@ -295,6 +309,8 @@ static int init(hashpipe_thread_args_t *args) hputu4(st.buf, "MISSEDPK", 0); hashpipe_status_unlock_safe(&st); + fprintf(stdout, "Max offset allowed is set to: %ld\n", MAX_HERA_CATCHER_IDX32); + #ifndef TIMING_TEST /* Set up pktsock */ struct hashpipe_pktsock *p_ps = (struct hashpipe_pktsock *) From c92f51dc9b381fc8b0d2c6e5823f78eeab20b54d Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 15 Jul 2020 11:33:53 +0000 Subject: [PATCH 393/420] Late packet warning includes info of antenna num... ... useful for debugging out-of-sync SNAPs --- src/hera_pktsock_thread.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 63bb2e69..2c775f65 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -497,9 +497,9 @@ static inline uint64_t process_packet( else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { // If not just after an mcnt reset, issue warning. if(cur_mcnt >= binfo.mcnt_log_late) { - hashpipe_warn("hera_pktsock_thread", - "Ignoring late packet (%d mcnts late)", - cur_mcnt - pkt_mcnt); + hashpipe_warn("hera_pktsock_thread", + "Ignoring late packet (%d mcnts late, %d ant)", + cur_mcnt - pkt_mcnt, pkt_header.ant); } #ifdef LOG_MCNTS late_packets_counted++; @@ -512,8 +512,8 @@ static inline uint64_t process_packet( // issue warning. if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { hashpipe_warn("hera_pktsock_thread", - "out of seq mcnt %012lx (expected: %012lx <= mcnt < %012x)", - pkt_mcnt, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK*TIME_DEMUX); + "out of seq mcnt %012lx from ant %d (expected mcnt: %012lx <= mcnt < %012x)", + pkt_mcnt, pkt_header.ant, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK*TIME_DEMUX); } // Increment out-of-seq packet counter @@ -539,8 +539,8 @@ static inline uint64_t process_packet( binfo.mcnt_log_late = binfo.mcnt_start + N_TIME_PER_BLOCK*TIME_DEMUX; binfo.block_i = block_for_mcnt(binfo.mcnt_start); hashpipe_warn("hera_pktsock_thread", - "resetting to mcnt %012lx block %d based on packet mcnt %012lx", - binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt); + "resetting to mcnt %012lx block %d based on packet mcnt %012lx from ant %d", + binfo.mcnt_start, block_for_mcnt(binfo.mcnt_start), pkt_mcnt, pkt_header.ant); // Reinitialize/recycle our two already acquired blocks with new // mcnt values. initialize_block(paper_input_databuf_p, binfo.mcnt_start); From 412863d623a62c4ed93eb0520f9dd4c5decde5ad Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 15 Jul 2020 12:19:14 +0000 Subject: [PATCH 394/420] Increase throttle on output rate... ... Added packet_delay_ns options for various modes. Current delay was too short and leading to network issues. --- src/hera_gpu_output_thread.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/hera_gpu_output_thread.c b/src/hera_gpu_output_thread.c index 100b950c..0f2fd49d 100644 --- a/src/hera_gpu_output_thread.c +++ b/src/hera_gpu_output_thread.c @@ -69,7 +69,18 @@ static XGPUInfo xgpu_info; // Set to 200 Mbps -- OK for two instances per node. // With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (OUTPUT_BYTES_PER_PACKET>>2) + +// Original +//#define PACKET_DELAY_NS (OUTPUT_BYTES_PER_PACKET>>2) + +// delivers packets for ~6 sec with 96 chan +//#define PACKET_DELAY_NS (430 * 1000) + +// packets for ~6sec with 384 chan +//#define PACKET_DELAY_NS (430 * 1000/4) + +// packet for ~7.5 sec with 384 chan +#define PACKET_DELAY_NS (536 * 1000/4) // bytes_per_dump depends on xgpu_info.triLength static uint64_t bytes_per_dump = 0; From 06f30e5214cebeabc3cc7c4f23a9d0255c95b826 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 15 Jul 2020 12:21:00 +0000 Subject: [PATCH 395/420] Add macros for num_xengs and max-offset... ... updated print statements in hera_pktsock and hera_catcher require this updated header file. --- src/paper_databuf.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/paper_databuf.h b/src/paper_databuf.h index 0560bb14..b1f68767 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -42,6 +42,7 @@ #define N_PACKETS_PER_BLOCK_PER_F (N_INPUTS_PER_PACKET * N_PACKETS_PER_BLOCK / N_FENGINES) // Number of X-engines per time slice. E.g. for HERA: 16. #define N_XENGINES_PER_TIME (N_CHAN_TOTAL / N_CHAN_PER_X) +#define N_XENGINES (N_XENGINES_PER_TIME*TIME_DEMUX) // Validate packet dimensions #if N_BYTES_PER_PACKET != (N_TIME_PER_PACKET*N_CHAN_PER_PACKET*N_INPUTS_PER_PACKET) @@ -309,6 +310,7 @@ typedef struct hera_bda_databuf{ #define VIS_MATRIX_ENTRIES (N_CHAN_TOTAL/XENG_CHAN_SUM * (N_INPUTS * ((N_INPUTS>>1) + 1))) #define VIS_MATRIX_ENTRIES_PER_CHAN (N_INPUTS * ((N_INPUTS>>1) + 1)) #define PACKETS_PER_VIS_MATRIX ((8L*TIME_DEMUX*VIS_MATRIX_ENTRIES) / OUTPUT_BYTES_PER_PACKET) +#define PACKETS_PER_XENG_ID (PACKETS_PER_VIS_MATRIX/N_XENGINES) #define N_STOKES 4 typedef struct hera_catcher_input_header{ @@ -340,6 +342,9 @@ typedef struct hera_catcher_input_databuf { #define hera_catcher_input_databuf_by_bl_idx32(x, b) \ (2L*TIME_DEMUX*(N_CHAN_PER_X/XENG_CHAN_SUM)*((VIS_MATRIX_ENTRIES_PER_CHAN * (x)) + (N_STOKES*(b)))) +// channels * vis_matrix * stokes * 4 bytes per re/imag +#define MAX_HERA_CATCHER_IDX32 (((int64_t)N_XENGINES)*(N_CHAN_PER_X/XENG_CHAN_SUM)*VIS_MATRIX_ENTRIES_PER_CHAN*N_STOKES*4) + /* * CATCHER -- BDA From b7723d8abc083cb4e36291570b5fd23a3c6244d9 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 15 Jul 2020 12:28:40 +0000 Subject: [PATCH 396/420] Increase throttle on output datarate... ... current throttle value accounts for all 350 ants. Increase temporarily since only 192 ants. --- src/hera_bda_output_thread.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index baaf321d..4fcc43f2 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -66,12 +66,17 @@ typedef struct struct_pkt { // 100 megabit per second = 10 nanosecond per bit // 10 megabit per second = 100 nanosecond per bit +// Set to 200 Mbps -- OK for two instances per node. +// With 16 nodes, amounts to 6.4 Gbps of data + // 8 * OUTPUT_BYTES_PER_PACKET == 1 Gbps // 4 * 8 * OUTPUT_BYTES_PER_PACKET == 0.25 Gbps -// Set to 200 Mbps -- OK for two instances per node. -// With 16 nodes, amounts to 6.4 Gbps of data -#define PACKET_DELAY_NS (4 * 8 * OUTPUT_BYTES_PER_PACKET) +// For full BDA, 350 ants, 384 chan per pipeline +//#define PACKET_DELAY_NS (2 * 8 * OUTPUT_BYTES_PER_PACKET) + +// For no-BDA, 192 ants, 384 chan per pipeline -- 125 usec +#define PACKET_DELAY_NS (125 * 1000) // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name From a7012d286d9ee40e49aef7d6a4699ba3aa0635b5 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 15 Jul 2020 15:39:23 +0000 Subject: [PATCH 397/420] Add verbose print on packet loss... ... similar changes as to the net thread in the non-BDA branch --- src/hera_catcher_net_thread_bda.c | 24 +++++++++++++++++++----- src/paper_databuf.h | 1 + 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index e31220c4..8614c83a 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -65,7 +65,8 @@ typedef struct { int block_i; uint64_t bcnt_log_late; long out_of_seq_cnt; - long block_packet_counter[CATCHER_N_BLOCKS]; + long block_packet_counter[CATCHER_N_BLOCKS]; + long xeng_pkt_counter[CATCHER_N_BLOCKS][N_XENGINES]; char flags[CATCHER_N_BLOCKS][PACKETS_PER_BLOCK]; char baselines[CATCHER_N_BLOCKS][BASELINES_PER_BLOCK]; } block_info_t; @@ -137,8 +138,8 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf // Calculate missing packets. block_missed_pkt_cnt = PACKETS_PER_BLOCK - binfo->block_packet_counter[block_i]; - block_missed_xengs = block_missed_pkt_cnt / (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); - block_missed_mod_cnt = block_missed_pkt_cnt % (PACKETS_PER_BL_PER_X * BASELINES_PER_BLOCK); + block_missed_xengs = block_missed_pkt_cnt / PACKETS_PER_X ; + block_missed_mod_cnt = block_missed_pkt_cnt % PACKETS_PER_X ; //fprintf(stdout,"Missed packets: %ld\tMissed Xengs:%ld\t", block_missed_pkt_cnt, block_missed_xengs); @@ -147,7 +148,15 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf hputu4(st_p->buf, "NETBKOUT", block_i); hputu4(st_p->buf, "MISSXENG", block_missed_xengs); if(block_missed_mod_cnt){ - fprintf(stderr, "Expected %lu packets, Got %lu\n", PACKETS_PER_BLOCK, binfo->block_packet_counter[block_i]); + fprintf(stderr, "Expected %lu packets, Got %lu\n", + PACKETS_PER_BLOCK, + binfo->block_packet_counter[block_i]); + // Print stats per-xeng + fprintf(stderr, "Fraction pkts received:\n"); + for (i=0; ixeng_pkt_counter[block_i][i]/PACKETS_PER_X); + } // Increment MISSEDPK by number of missed packets for this block hgetu8(st_p->buf, "MISSEDPK", &missed_pkt_cnt); missed_pkt_cnt += block_missed_pkt_cnt; @@ -171,7 +180,8 @@ static inline void initialize_block_info(block_info_t * binfo){ for(i = 0; i < CATCHER_N_BLOCKS; i++) { binfo->block_packet_counter[i] = 0; - memset(binfo->flags[i], 0, PACKETS_PER_BLOCK*sizeof(char)); + memset(binfo->xeng_pkt_counter[i], 0, N_XENGINES*sizeof(long)); + memset(binfo->flags[i], 1, PACKETS_PER_BLOCK*sizeof(char)); memset(binfo->baselines[i], 0, BASELINES_PER_BLOCK*sizeof(char)); } @@ -279,10 +289,14 @@ static inline uint32_t process_packet( return -1; // We're exiting so return value is kind of moot } } + hashpipe_status_lock_safe(st_p); + hputs(st_p->buf, status_key, "running"); + hashpipe_status_unlock_safe(st_p); // Initialize the newly acquired block initialize_block(db, cur_bcnt+BASELINES_PER_BLOCK); binfo.block_packet_counter[pkt_block_i] = 0; + memset(binfo.xeng_pkt_counter[pkt_block_i], 0, N_XENGINES*sizeof(long)); memset(binfo.flags[pkt_block_i], 1, PACKETS_PER_BLOCK*sizeof(char)); memset(binfo.baselines[pkt_block_i], 0, BASELINES_PER_BLOCK*sizeof(char)); diff --git a/src/paper_databuf.h b/src/paper_databuf.h index b1f68767..1a3220f3 100644 --- a/src/paper_databuf.h +++ b/src/paper_databuf.h @@ -356,6 +356,7 @@ typedef struct hera_catcher_input_databuf { #define CHAN_PER_CATCHER_PKT (OUTPUT_BYTES_PER_PACKET/(N_STOKES * 8L)) // 128 #define PACKETS_PER_BASELINE (N_CHAN_TOTAL/CHAN_PER_CATCHER_PKT) // 48 #define PACKETS_PER_BL_PER_X (PACKETS_PER_BASELINE/N_XENGINES_PER_TIME) // 3 +#define PACKETS_PER_X (BASELINES_PER_BLOCK*PACKETS_PER_BL_PER_X) // 768 #define PACKETS_PER_BLOCK (BASELINES_PER_BLOCK * TIME_DEMUX * PACKETS_PER_BASELINE) // 1572864 #define BYTES_PER_BLOCK (PACKETS_PER_BLOCK * OUTPUT_BYTES_PER_PACKET) // 6GB From 1067ec739b63568bbc4cd4f40751c973f9f85ccf Mon Sep 17 00:00:00 2001 From: Deepthi Gorthi Date: Fri, 24 Jul 2020 15:57:10 +0100 Subject: [PATCH 398/420] Update hera_catcher_net_thread_bda.c Minor variable declaration that didn't get added to pull request #42 --- src/hera_catcher_net_thread_bda.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hera_catcher_net_thread_bda.c b/src/hera_catcher_net_thread_bda.c index 8614c83a..000a0e2c 100644 --- a/src/hera_catcher_net_thread_bda.c +++ b/src/hera_catcher_net_thread_bda.c @@ -110,6 +110,7 @@ static uint32_t set_block_filled(hera_catcher_bda_input_databuf_t *db, block_inf uint64_t block_missed_pkt_cnt; uint64_t block_missed_xengs, block_missed_mod_cnt, missed_pkt_cnt=0; uint32_t block_i = block_for_bcnt(binfo->bcnt_start); + int i; // Validate that we're filling blocks in the proper sequence last_filled = (last_filled+1) % CATCHER_N_BLOCKS; From c4ed9ae0ab2bf67691d9d1e1bd54d453430f9483 Mon Sep 17 00:00:00 2001 From: Aaron Parsons Date: Sun, 23 Aug 2020 18:43:44 +0000 Subject: [PATCH 399/420] Changed affinity of NET CPU in paper_init.sh for px* machines to avoid CPU0,8 --- src/scripts/paper_init.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index 23d81174..c5948e37 100644 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -121,6 +121,7 @@ case ${hostname} in # Save core 1 for eth2 # Save core 8 for symmetry with core 0 # Save core 9 for eth4 and eth5 + # ARP: on recommendations from JXK, DMM, changed NET CPU to avoid 0,8 # # Setup for two GPU devices (two TITANs). # @@ -133,8 +134,8 @@ case ${hostname} in instances=( # GPU NET FLF GPU OUT BDA # mask bind_host DEV XID CPU CPU CPU CPU CPU - "0x00ff eth3 0 $xid0 0 0x000e 4 5 6" # Instance 0, eth3 - "0xff00 eth5 1 $xid1 8 0x0e00 12 13 14" # Instance 1, eth5 + "0x00ff eth3 0 $xid0 7 0x000e 4 5 6" # Instance 0, eth3 + "0xff00 eth5 1 $xid1 15 0x0e00 12 13 14" # Instance 1, eth5 );; *) From 0583e903c50a6ca6430510c2344f2ee0c7b93173 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Tue, 25 Aug 2020 13:21:18 -0700 Subject: [PATCH 400/420] Try to use different approach to initialize nsamples --- src/hera_catcher_disk_thread_bda.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index c8724cc8..184618bc 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -779,7 +779,10 @@ static void *run(hashpipe_thread_args_t * args) float *nsamples = (float *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); memset(flags, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); - memset(nsamples, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); + // memset(nsamples, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); + for (i=0; i<(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES); i++) { + nsamples[i] = 1.0; + } // Define memory space of a block hsize_t dims[N_DATA_DIMS] = {N_BL_PER_WRITE, 1, N_CHAN_PROCESSED, N_STOKES}; From cea20cd919c37223589cb6861b2e1e68c4bb19ad Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 9 Sep 2020 20:14:31 +0000 Subject: [PATCH 401/420] Commiting commented out net params in tweak-perf.sh --- src/scripts/tweak-perf.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/scripts/tweak-perf.sh b/src/scripts/tweak-perf.sh index 04aa5c43..e3c2a20a 100755 --- a/src/scripts/tweak-perf.sh +++ b/src/scripts/tweak-perf.sh @@ -14,6 +14,11 @@ ethtool -A eth5 rx on # Kernel buffer sizes sysctl net.core.rmem_max=8388608 sysctl net.core.rmem_default=8388608 +#sysctl net.core.rmem_max=838860800 +#sysctl net.core.rmem_default=838860800 +#sysctl net.core.netdev_max_backlog=250000 +##sysctl net.core.netdev_max_backlog=1000 +#sysctl net.core.netdev_budget=300 # Kill packets before the IP stack iptables -t raw -A PREROUTING -i eth3 -p udp -j DROP From e94bb33e7610a6cd83bf5e293d979ccd3ca86d71 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Thu, 10 Sep 2020 15:45:12 -0700 Subject: [PATCH 402/420] Add clarifying comment --- src/hera_catcher_disk_thread_bda.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 184618bc..7ad40a24 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -778,8 +778,9 @@ static void *run(hashpipe_thread_args_t * args) hbool_t *flags = (hbool_t *) malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); float *nsamples = (float *)malloc(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); - memset(flags, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); - // memset(nsamples, 1, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(float)); + memset(flags, 0, N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES * sizeof(hbool_t)); + // PLP: we want nsamples=1 for valid data, and memset Does The Wrong Thing for non-integer data. + // Someday we would like nsamples to also reflect the number of dropped packets. for (i=0; i<(N_BL_PER_WRITE * N_CHAN_PROCESSED * N_STOKES); i++) { nsamples[i] = 1.0; } From e7af61080f502ff8a099338eb7073727dab5d883 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Sat, 19 Sep 2020 04:12:46 +0000 Subject: [PATCH 403/420] Tweaks made by Aaron Parsons to absorb a higher data rate into the data catcher with all snaps working. --- src/hera_bda_output_thread.c | 5 ++++- src/scripts/tweak-perf-sn.sh | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/hera_bda_output_thread.c b/src/hera_bda_output_thread.c index 4fcc43f2..effe4e31 100644 --- a/src/hera_bda_output_thread.c +++ b/src/hera_bda_output_thread.c @@ -76,7 +76,10 @@ typedef struct struct_pkt { //#define PACKET_DELAY_NS (2 * 8 * OUTPUT_BYTES_PER_PACKET) // For no-BDA, 192 ants, 384 chan per pipeline -- 125 usec -#define PACKET_DELAY_NS (125 * 1000) +//#define PACKET_DELAY_NS (125 * 1000) + +// For BDA, 192 ants, 384 chan per pipeline -- 125 usec +#define PACKET_DELAY_NS (4 * 125 * 1000) // Open and connect a UDP socket to the given host and port. Note that port is // a string and can be a stringified integer (e.g. "7148") or a service name diff --git a/src/scripts/tweak-perf-sn.sh b/src/scripts/tweak-perf-sn.sh index bd7612f9..f19612f7 100755 --- a/src/scripts/tweak-perf-sn.sh +++ b/src/scripts/tweak-perf-sn.sh @@ -10,8 +10,8 @@ ifconfig eth4 mtu 4500 ethtool -A eth4 rx on # Kernel buffer sizes -sysctl net.core.rmem_max=83886080 -sysctl net.core.rmem_default=83886080 +sysctl net.core.rmem_max=838860800 +sysctl net.core.rmem_default=838860800 # Kill packets before the IP stack iptables -t raw -A PREROUTING -i eth4 -p udp -j DROP From cf6a56c362399d29dd0487574b308407334ccd30 Mon Sep 17 00:00:00 2001 From: Paul La Plante Date: Mon, 1 Mar 2021 10:56:29 -0800 Subject: [PATCH 404/420] Improve how antenna metadata are handled --- src/scripts/hera_make_hdf5_template_bda.py | 150 +++++++++++++++------ 1 file changed, 107 insertions(+), 43 deletions(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index ba8e5741..58bdedac 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -72,6 +72,34 @@ def get_cm_info(): from hera_corr_cm import redis_cm return redis_cm.read_cminfo_from_redis(return_as='dict') +def get_antpos_info(): + """Return positions for all antennas from hera_mc.""" + import cartopy.crs as ccrs + import pyuvdata.utils as uvutils + from hera_mc import geo_sysdef + from hera_mc.geo_handling import Handling + ants = geo_sysdef.read_antennas() + # convert from eastings/northings into ENU + hand = Handling() + latlon_p = ccrs.Geodetic() + utm_p = ccrs.UTM(hand.hera_zone[0]) + lat_corr = hand.lat_corr[hand.hera_zone[1]] + antpos_xyz = np.empty((350, 3), dtype=np.float64) + ant_names = np.empty((350,), dtype="S5") + for ant, pos in ants.items(): + # unpack antenna information + antnum = int(ant[2:]) + easting = pos["E"] + northing = pos["N"] + elevation = pos["elevation"] + # transfrom coordinates to ECEF + lon, lat = latlon_p.transform_point(easting, northing - lat_corr, utm_p) + xyz = uvutils.XYZ_from_LatLonAlt(np.radians(lat), np.radians(lon), elevation) + antpos_xyz[antnum, :] = xyz + # also save antenna name + ant_names[antnum] = ant + return antpos_xyz, ant_names + def get_antpos_enu(antpos, lat, lon, alt): """ Compute the antenna positions in ENU coordinates from ECEF. @@ -153,7 +181,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): ant_2_array = np.array([y for (x,y) in baselines]) NANTS_DATA = len(set(ant_1_array)) - NANTS = 352 + NANTS = 350 NCHANS = int(2048 // 4 * 3) NCHANS_F = 8192 NCHAN_SUM = 4 @@ -168,6 +196,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): if use_cm: cminfo = get_cm_info() + extra_ants_xyz, extra_ants_names = get_antpos_info() # add the enu co-ords # dict keys are bytes, not strings lat = cminfo["cofa_lat"] * np.pi / 180.0 @@ -177,6 +206,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): antenna_positions = np.asarray(cminfo["antenna_positions"]) antpos_ecef = antenna_positions + cofa_ecef cminfo["antenna_positions_enu"] = get_antpos_enu(antpos_ecef, lat, lon, alt) + extra_ants_enu = get_antpos_enu(extra_ants_xyz, lat, lon, alt) else: cminfo = None @@ -196,73 +226,107 @@ def create_header(h5, config, use_cm=False, use_redis=False): header = h5.create_group("Header") header.create_dataset("Nants_data", dtype=" radians # dict keys are bytes, not strings - header.create_dataset("altitude", dtype=" Date: Mon, 1 Mar 2021 15:48:29 -0800 Subject: [PATCH 405/420] Put files in a folder for each day --- src/hera_catcher_disk_thread_bda.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 7ad40a24..3b06b118 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -693,6 +693,7 @@ static void *run(hashpipe_thread_args_t * args) uint64_t sync_time_ms = 0; double gps_time; double julian_time; + int int_jd; // Variables for data collection parameters uint32_t acc_len; @@ -1143,7 +1144,15 @@ static void *run(hashpipe_thread_args_t * args) file_start_t = gps_time; file_obs_id = (int64_t)gps_time; - sprintf(hdf5_fname, "zen.%7.5lf.sum.uvh5", julian_time); + // Make a new folder for output + if (file_cnt == 0) { + int_jd = (int)julian_time; + sprintf(hdf5_name, "%d", int_jd); + fprintf(stdout, "Making directory %s\n", hdf5_name); + mkdir(hdf5_name, 0755); + } + + sprintf(hdf5_fname, "%d/zen.%7.5lf.sum.uvh5", int_jd, julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); if (use_redis) { @@ -1151,7 +1160,7 @@ static void *run(hashpipe_thread_args_t * args) } #ifndef SKIP_DIFF - sprintf(hdf5_fname, "zen.%7.5lf.diff.uvh5", julian_time); + sprintf(hdf5_fname, "%d/zen.%7.5lf.diff.uvh5", int_jd, julian_time); fprintf(stdout, "Opening new file %s\n", hdf5_fname); start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); if (use_redis) { From f2a660ff1ce82dda1f1a63c48c1cad55b1ab2ded Mon Sep 17 00:00:00 2001 From: dgorthi Date: Mon, 1 Mar 2021 23:54:58 +0000 Subject: [PATCH 406/420] Update variable name --- src/hera_catcher_disk_thread_bda.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 3b06b118..416ad039 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1147,9 +1147,9 @@ static void *run(hashpipe_thread_args_t * args) // Make a new folder for output if (file_cnt == 0) { int_jd = (int)julian_time; - sprintf(hdf5_name, "%d", int_jd); - fprintf(stdout, "Making directory %s\n", hdf5_name); - mkdir(hdf5_name, 0755); + sprintf(hdf5_fname, "%d", int_jd); + fprintf(stdout, "Making directory %s\n", hdf5_fname); + mkdir(hdf5_fname, 0755); } sprintf(hdf5_fname, "%d/zen.%7.5lf.sum.uvh5", int_jd, julian_time); From 52317b9d5010b73f8c5ba3c2e57502c9357b0b86 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 2 Mar 2021 00:03:45 +0000 Subject: [PATCH 407/420] Source conda env in catcher init script --- src/scripts/hera_catcher_init.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/scripts/hera_catcher_init.sh b/src/scripts/hera_catcher_init.sh index ab13f4b8..a5b90afe 100755 --- a/src/scripts/hera_catcher_init.sh +++ b/src/scripts/hera_catcher_init.sh @@ -3,6 +3,9 @@ # Add directory containing this script to PATH PATH="$(dirname $0):${PATH}" +# Activate conda env +source ~/hera-venv/bin/activate hera + hostname=`hostname -s` function getip() { From 43f2961b846b9e351d36f3950d58556680cc8359 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 2 Mar 2021 00:10:21 +0000 Subject: [PATCH 408/420] Tweak how environment is activated --- src/scripts/hera_catcher_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_up.py b/src/scripts/hera_catcher_up.py index 6daec73a..1a99fecf 100755 --- a/src/scripts/hera_catcher_up.py +++ b/src/scripts/hera_catcher_up.py @@ -45,7 +45,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): args = parser.parse_args() # Environment sourcing command required to run remote python jobs -python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate"), ";"] +python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate"), "hera", ";"] r = redis.Redis(args.redishost, decode_responses=True) From 0f08cc190357553d3c8b3d302e2a2651a76fe98f Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 2 Mar 2021 00:20:57 +0000 Subject: [PATCH 409/420] Activate conda env in paper init script --- src/scripts/paper_init.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/scripts/paper_init.sh b/src/scripts/paper_init.sh index c5948e37..d255b438 100644 --- a/src/scripts/paper_init.sh +++ b/src/scripts/paper_init.sh @@ -3,6 +3,9 @@ # Add directory containing this script to PATH PATH="$(dirname $0):${PATH}" +# Activate conda env +source ~/hera-venv/bin/activate hera + hostname=`hostname -s` function getip() { From 40e426db5678c2792fa1b78219ca9ac349d432be Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 2 Mar 2021 00:43:06 +0000 Subject: [PATCH 410/420] Update activate command in xtor_up.py --- src/scripts/xtor_up.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index c4b1224e..3a550386 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -9,7 +9,7 @@ perf_tweaker = 'tweak-perf.sh' paper_init = 'paper_init.sh' paper_init_ibv = 'paper_init_ibv.sh' -python_source_cmd = ['source', '~/hera-venv/bin/activate'] +python_source_cmd = ['source', '~/hera-venv/bin/activate', 'hera'] bda_config_cmd = ['hera_create_bda_config.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): From 9cfc6b4974b43628e8c7eabf7dc1fc91cf888448 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 2 Mar 2021 00:58:59 +0000 Subject: [PATCH 411/420] Adjust activate command where it actually matters --- src/scripts/xtor_up.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/scripts/xtor_up.py b/src/scripts/xtor_up.py index 3a550386..2d37ac39 100644 --- a/src/scripts/xtor_up.py +++ b/src/scripts/xtor_up.py @@ -9,7 +9,6 @@ perf_tweaker = 'tweak-perf.sh' paper_init = 'paper_init.sh' paper_init_ibv = 'paper_init_ibv.sh' -python_source_cmd = ['source', '~/hera-venv/bin/activate', 'hera'] bda_config_cmd = ['hera_create_bda_config.py'] def run_on_hosts(hosts, cmd, user=None, wait=True): @@ -77,7 +76,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): init_args += ['-t'] if args.redislog: - python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate"), "hera", ";"] run_on_hosts(hosts, python_source_cmd + [paper_init] + init_args + ['0', '1'], wait=True) # two instances per host elif args.test: run_on_hosts(hosts, [paper_init] + init_args + ['0'], wait=True) # two instances per host @@ -95,7 +94,7 @@ def run_on_hosts(hosts, cmd, user=None, wait=True): # Generate the BDA config file and upload to redis if not args.nobda: - python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate")+";"] + python_source_cmd = ["source", os.path.join(args.pypath, "bin/activate"), "hera", ";"] if args.nodatabase: run_on_hosts(hosts, python_source_cmd + bda_config_cmd + [args.bdaconf], wait=True) else: From 5846d1ca7f98f54e92e6f8ffb00d44d585320d36 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Tue, 2 Mar 2021 01:09:40 +0000 Subject: [PATCH 412/420] Update activate command in data taking script --- src/scripts/hera_catcher_take_data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_catcher_take_data.py b/src/scripts/hera_catcher_take_data.py index e6a7a6a7..a1c0452a 100644 --- a/src/scripts/hera_catcher_take_data.py +++ b/src/scripts/hera_catcher_take_data.py @@ -5,7 +5,7 @@ import argparse import subprocess -python_source_cmd = ['source', '~/hera-venv/bin/activate'] +python_source_cmd = ['source', '~/hera-venv/bin/activate', 'hera'] template_cmd_bda = ['hera_make_hdf5_template_bda.py'] template_cmd = ['hera_make_hdf5_template.py'] From 8d08e6300e7e0d39f699c2f212a51667e9d62587 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 3 Mar 2021 18:12:17 +0000 Subject: [PATCH 413/420] Make antenna_diameters the right shape --- src/scripts/hera_make_hdf5_template_bda.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/hera_make_hdf5_template_bda.py b/src/scripts/hera_make_hdf5_template_bda.py index 58bdedac..a0b16d11 100644 --- a/src/scripts/hera_make_hdf5_template_bda.py +++ b/src/scripts/hera_make_hdf5_template_bda.py @@ -242,7 +242,7 @@ def create_header(h5, config, use_cm=False, use_redis=False): header.create_dataset("ant_1_array_conf", dtype=" Date: Wed, 3 Mar 2021 20:02:30 +0000 Subject: [PATCH 414/420] Update folder permissions --- src/hera_catcher_disk_thread_bda.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 416ad039..b1267dd1 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1149,7 +1149,7 @@ static void *run(hashpipe_thread_args_t * args) int_jd = (int)julian_time; sprintf(hdf5_fname, "%d", int_jd); fprintf(stdout, "Making directory %s\n", hdf5_fname); - mkdir(hdf5_fname, 0755); + mkdir(hdf5_fname, 0777); } sprintf(hdf5_fname, "%d/zen.%7.5lf.sum.uvh5", int_jd, julian_time); From 57befb9fcc71196a2b80c110fa6f62db338600b4 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Mon, 8 Mar 2021 16:34:02 +0000 Subject: [PATCH 415/420] Add chmod to change folder permissions --- src/hera_catcher_disk_thread_bda.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index b1267dd1..cc974ba2 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -1150,6 +1150,7 @@ static void *run(hashpipe_thread_args_t * args) sprintf(hdf5_fname, "%d", int_jd); fprintf(stdout, "Making directory %s\n", hdf5_fname); mkdir(hdf5_fname, 0777); + chmod(hdf5_fname, 0777); } sprintf(hdf5_fname, "%d/zen.%7.5lf.sum.uvh5", int_jd, julian_time); From 565f429b17229ab7e333dce9c6e317bb413c661a Mon Sep 17 00:00:00 2001 From: dgorthi Date: Wed, 24 Mar 2021 17:09:52 +0000 Subject: [PATCH 416/420] Add files to RTP launch record table --- src/hera_catcher_disk_thread_bda.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index cc974ba2..1162f443 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -631,6 +631,13 @@ static void add_mc_obs(char *fname) err = system(cmd); if (err != 0) { fprintf(stderr, "Error adding observation %s to M&C\n", fname); + } else { + // Add to rtp_launch_record table + sprintf(cmd, "/home/hera/hera-venv/envs/hera/bin/mc_rtp_launch_record.py %s", fname); + err = system(cmd); + if (err != 0) { + fprintf(stderr, "Error adding observation %s to RTP\n", fname); + } } exit(0); } From 9eb9eb8a2b1c29e994cef9778f62da1d6bd00d86 Mon Sep 17 00:00:00 2001 From: dgorthi Date: Thu, 25 Mar 2021 15:10:32 +0000 Subject: [PATCH 417/420] Pass sum file to M&C function instead of diff --- src/hera_catcher_disk_thread_bda.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/hera_catcher_disk_thread_bda.c b/src/hera_catcher_disk_thread_bda.c index 1162f443..8f0a3b46 100644 --- a/src/hera_catcher_disk_thread_bda.c +++ b/src/hera_catcher_disk_thread_bda.c @@ -694,7 +694,9 @@ static void *run(hashpipe_thread_args_t * args) // Buffers for file name strings char template_fname[128]; - char hdf5_fname[128]; + char hdf5_diff_fname[128]; + char hdf5_sum_fname[128]; + char data_directory[128]; // Variables for sync time and computed gps time / JD uint64_t sync_time_ms = 0; @@ -1119,7 +1121,7 @@ static void *run(hashpipe_thread_args_t * args) file_cnt += 1; // add file to M&C - add_mc_obs(hdf5_fname); + add_mc_obs(hdf5_sum_fname); hashpipe_status_lock_safe(&st); hputr4(st.buf, "FILESEC", file_duration); @@ -1154,25 +1156,25 @@ static void *run(hashpipe_thread_args_t * args) // Make a new folder for output if (file_cnt == 0) { int_jd = (int)julian_time; - sprintf(hdf5_fname, "%d", int_jd); - fprintf(stdout, "Making directory %s\n", hdf5_fname); - mkdir(hdf5_fname, 0777); - chmod(hdf5_fname, 0777); + sprintf(data_directory, "%d", int_jd); + fprintf(stdout, "Making directory %s\n", data_directory); + mkdir(data_directory, 0777); + chmod(data_directory, 0777); } - sprintf(hdf5_fname, "%d/zen.%7.5lf.sum.uvh5", int_jd, julian_time); - fprintf(stdout, "Opening new file %s\n", hdf5_fname); - start_file(&sum_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + sprintf(hdf5_sum_fname, "%d/zen.%7.5lf.sum.uvh5", int_jd, julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_sum_fname); + start_file(&sum_file, template_fname, hdf5_sum_fname, file_obs_id, file_start_t, tag); if (use_redis) { - redisCommand(c, "RPUSH rtp:file_list %s", hdf5_fname); + redisCommand(c, "RPUSH rtp:file_list %s", hdf5_sum_fname); } #ifndef SKIP_DIFF - sprintf(hdf5_fname, "%d/zen.%7.5lf.diff.uvh5", int_jd, julian_time); - fprintf(stdout, "Opening new file %s\n", hdf5_fname); - start_file(&diff_file, template_fname, hdf5_fname, file_obs_id, file_start_t, tag); + sprintf(hdf5_diff_fname, "%d/zen.%7.5lf.diff.uvh5", int_jd, julian_time); + fprintf(stdout, "Opening new file %s\n", hdf5_diff_fname); + start_file(&diff_file, template_fname, hdf5_diff_fname, file_obs_id, file_start_t, tag); if (use_redis) { - redisCommand(c, "RPUSH rtp:file_list %s", hdf5_fname); + redisCommand(c, "RPUSH rtp:file_list %s", hdf5_diff_fname); } #endif From 228be77276e55ac139023174a8ee2fadf3465b38 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Fri, 4 Jun 2021 19:59:00 +0000 Subject: [PATCH 418/420] Throttle "Ignoring late packet" messages Previously, each late packet was logged because late packets was assumed to be a rare occurrence. Unfortunately, due to not-yet-understood circumstances, the HERA X engines sometimes receive "late" packets from some of the SNAPs, sometimes many many late packets from some of the SNAPs. Logging all of these late packets causes the log files to grow until eventually the file system is filled up, which further impacts observing. These messages are now logged in a still generous, but much more constrained quantity. Up to 5,000 of these "late packet" messages will be logged within an hour from the first such log message. After that hour has elapsed, the next such log message will start a new hour long window. This will result in a max of 120,000 such log messages in a 24 hour period (per X engine), which is far fewer than the 3+ million such log messages per X engine that led to a full file system. The threshold of 5,000 was chosen because there seemed to be some periodicity in the neighborhood of 1024 occurrences. The limit of 5,000 will allow for the capture of several such cycles per "burst". --- src/hera_pktsock_thread.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 2c775f65..bb67229f 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -73,6 +73,12 @@ static hashpipe_status_t *st_p; // order 2^ split static int time_index; +// Variables used to throttle bursty messages +static int burst_message_counter = 0; +static int burst_message_threshold = 5000; +static int burst_max_duration_secs = 3600; +static time_t burst_start = 0; + #if 0 static void print_pkt_header(packet_header_t * pkt_header) { @@ -497,9 +503,29 @@ static inline uint64_t process_packet( else if(pkt_mcnt_dist < 0 && pkt_mcnt_dist > -LATE_PKT_MCNT_THRESHOLD) { // If not just after an mcnt reset, issue warning. if(cur_mcnt >= binfo.mcnt_log_late) { - hashpipe_warn("hera_pktsock_thread", - "Ignoring late packet (%d mcnts late, %d ant)", - cur_mcnt - pkt_mcnt, pkt_header.ant); + // We throttle these potentially very bursty messages, which + // involves two steps: + // + // Start a new burst if the previous one has ended + if(time(NULL) - burst_start > burst_max_duration_secs) { + // Start a new burst + burst_start = time(NULL); + burst_message_counter = 0; + } + // If we have not yet logged the max number of messages for the + // current burst, log this one and increment counter (and print + // notification if threshold was reached). + if(burst_message_counter < burst_message_threshold ) { + hashpipe_warn("hera_pktsock_thread", + "Ignoring late packet (%d mcnts late, %d ant)", + cur_mcnt - pkt_mcnt, pkt_header.ant); + burst_message_counter++; + if(burst_message_counter == burst_message_threshold) { + hashpipe_warn("hera_pktsock_thread", + "suppressing further occurrences for %d seconds", + burst_start+burst_max_duration_secs-time(NULL)); + } + } } #ifdef LOG_MCNTS late_packets_counted++; From d8ad3ad032434259b9431ff74fffaede7e6a6d96 Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Wed, 9 Jun 2021 20:09:42 +0000 Subject: [PATCH 419/420] Throttle "out of seq mcnt" messages --- src/hera_pktsock_thread.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index bb67229f..47c944ce 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -537,9 +537,29 @@ static inline uint64_t process_packet( // If not at start-up and this is the first out of order packet, // issue warning. if(cur_mcnt != 0 && binfo.out_of_seq_cnt == 0) { - hashpipe_warn("hera_pktsock_thread", - "out of seq mcnt %012lx from ant %d (expected mcnt: %012lx <= mcnt < %012x)", - pkt_mcnt, pkt_header.ant, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK*TIME_DEMUX); + // We throttle these potentially very bursty messages, which + // involves two steps: + // + // Start a new burst if the previous one has ended + if(time(NULL) - burst_start > burst_max_duration_secs) { + // Start a new burst + burst_start = time(NULL); + burst_message_counter = 0; + } + // If we have not yet logged the max number of messages for the + // current burst, log this one and increment counter (and print + // notification if threshold was reached). + if(burst_message_counter < burst_message_threshold ) { + hashpipe_warn("hera_pktsock_thread", + "out of seq mcnt %012lx from ant %d (expected mcnt: %012lx <= mcnt < %012x)", + pkt_mcnt, pkt_header.ant, cur_mcnt, cur_mcnt+3*N_TIME_PER_BLOCK*TIME_DEMUX); + burst_message_counter++; + if(burst_message_counter == burst_message_threshold) { + hashpipe_warn("hera_pktsock_thread", + "suppressing further occurrences for %d seconds", + burst_start+burst_max_duration_secs-time(NULL)); + } + } } // Increment out-of-seq packet counter From aefa31acafd1d43bf00840af31dede12466cadef Mon Sep 17 00:00:00 2001 From: David MacMahon Date: Thu, 10 Jun 2021 19:11:38 +0000 Subject: [PATCH 420/420] Reduce burst_message_threshold to 120 The reduced threshold of 120 messages per burst should still be plenty for diagnostic purposes. --- src/hera_pktsock_thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hera_pktsock_thread.c b/src/hera_pktsock_thread.c index 47c944ce..1643cc42 100644 --- a/src/hera_pktsock_thread.c +++ b/src/hera_pktsock_thread.c @@ -75,7 +75,7 @@ static int time_index; // Variables used to throttle bursty messages static int burst_message_counter = 0; -static int burst_message_threshold = 5000; +static int burst_message_threshold = 120; static int burst_max_duration_secs = 3600; static time_t burst_start = 0;