TAP version 13 not ok 1 - redis v2.8.0 The canary is dead: ---
# undefinedadded 425 packages from 581 contributors and audited 853 packages in 49.546s
# found 22 vulnerabilities (16 low, 5 moderate, 1 critical)
# run `npm audit fix` to fix them, or `npm audit` for details
# > redis@2.8.0 test /tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis
# > nyc --cache mocha ./test/*.js ./test/commands/*.js --timeout=8000
# client authentication
# using options: detect_buffers: true;
# using javascript and IPv4
# - allows auth to be provided with 'auth' method
# - support redis 2.4 with retrying auth commands if still loading
# - emits error when auth is bad without callback
# - returns an error when auth is bad (empty string) with a callback
# - allows auth to be provided as part of redis url and do not fire commands before auth is done
# - allows auth and database to be provided as part of redis url query parameter
# - allows auth to be provided as config option for client
# - allows auth and no_ready_check to be provided as config option for client
# - allows auth to be provided post-hoc with auth method
# - reconnects with appropriate authentication while offline commands are present
# - should return an error if the password is not correct and a callback has been provided
# - should emit an error if the password is not correct and no callback has been provided
# - allows auth to be provided post-hoc with auth method again
# - does not allow any commands to be processed if not authenticated using no_ready_check true
# - does not allow auth to be provided post-hoc with auth method if not authenticated before
# - should emit an error if the provided password is faulty
# - pubsub working with auth
# 1) individual commands work properly with batch
# using javascript and IPv6
# - allows auth to be provided with 'auth' method
# - support redis 2.4 with retrying auth commands if still loading
# - emits error when auth is bad without callback
# - returns an error when auth is bad (empty string) with a callback
# - allows auth to be provided as config option for client
# - allows auth and no_ready_check to be provided as config option for client
# - allows auth to be provided post-hoc with auth method
# - reconnects with appropriate authentication while offline commands are present
# - should return an error if the password is not correct and a callback has been provided
# - should emit an error if the password is not correct and no callback has been provided
# - allows auth to be provided post-hoc with auth method again
# - does not allow any commands to be processed if not authenticated using no_ready_check true
# - does not allow auth to be provided post-hoc with auth method if not authenticated before
# - should emit an error if the provided password is faulty
# - pubsub working with auth
# 2) individual commands work properly with batch
# using javascript and /tmp/redis.sock
# - allows auth to be provided with 'auth' method
# - support redis 2.4 with retrying auth commands if still loading
# - emits error when auth is bad without callback
# - returns an error when auth is bad (empty string) with a callback
# - allows auth to be provided as config option for client
# - allows auth and no_ready_check to be provided as config option for client
# - allows auth to be provided post-hoc with auth method
# - reconnects with appropriate authentication while offline commands are present
# - should return an error if the password is not correct and a callback has been provided
# - should emit an error if the password is not correct and no callback has been provided
# - allows auth to be provided post-hoc with auth method again
# - does not allow any commands to be processed if not authenticated using no_ready_check true
# - does not allow auth to be provided post-hoc with auth method if not authenticated before
# - should emit an error if the provided password is faulty
# - pubsub working with auth
# 3) individual commands work properly with batch
# using options: detect_buffers: false;
# using javascript and IPv4
# - allows auth to be provided with 'auth' method
# - support redis 2.4 with retrying auth commands if still loading
# - emits error when auth is bad without callback
# - returns an error when auth is bad (empty string) with a callback
# - allows auth to be provided as part of redis url and do not fire commands before auth is done
# - allows auth and database to be provided as part of redis url query parameter
# - allows auth to be provided as config option for client
# - allows auth and no_ready_check to be provided as config option for client
# - allows auth to be provided post-hoc with auth method
# - reconnects with appropriate authentication while offline commands are present
# - should return an error if the password is not correct and a callback has been provided
# - should emit an error if the password is not correct and no callback has been provided
# - allows auth to be provided post-hoc with auth method again
# - does not allow any commands to be processed if not authenticated using no_ready_check true
# - does not allow auth to be provided post-hoc with auth method if not authenticated before
# - should emit an error if the provided password is faulty
# - pubsub working with auth
# 4) individual commands work properly with batch
# using javascript and IPv6
# - allows auth to be provided with 'auth' method
# - support redis 2.4 with retrying auth commands if still loading
# - emits error when auth is bad without callback
# - returns an error when auth is bad (empty string) with a callback
# - allows auth to be provided as config option for client
# - allows auth and no_ready_check to be provided as config option for client
# - allows auth to be provided post-hoc with auth method
# - reconnects with appropriate authentication while offline commands are present
# - should return an error if the password is not correct and a callback has been provided
# - should emit an error if the password is not correct and no callback has been provided
# - allows auth to be provided post-hoc with auth method again
# - does not allow any commands to be processed if not authenticated using no_ready_check true
# - does not allow auth to be provided post-hoc with auth method if not authenticated before
# - should emit an error if the provided password is faulty
# - pubsub working with auth
# 5) individual commands work properly with batch
# using javascript and /tmp/redis.sock
# - allows auth to be provided with 'auth' method
# - support redis 2.4 with retrying auth commands if still loading
# - emits error when auth is bad without callback
# - returns an error when auth is bad (empty string) with a callback
# - allows auth to be provided as config option for client
# - allows auth and no_ready_check to be provided as config option for client
# - allows auth to be provided post-hoc with auth method
# - reconnects with appropriate authentication while offline commands are present
# - should return an error if the password is not correct and a callback has been provided
# - should emit an error if the password is not correct and no callback has been provided
# - allows auth to be provided post-hoc with auth method again
# - does not allow any commands to be processed if not authenticated using no_ready_check true
# - does not allow auth to be provided post-hoc with auth method if not authenticated before
# - should emit an error if the provided password is faulty
# - pubsub working with auth
# 6) individual commands work properly with batch
# The 'batch' method
# using options: detect_buffers: true;
# using javascript and IPv4
# when not connected
# returns an empty array for missing commands
# returns an error for batch with commands
# returns an empty array for missing commands if promisified
# when connected
# returns an empty array and keep the execution order in takt
# 7) runs normal calls inbetween batch
# returns an empty array if promisified
# returns an empty result array
# 8) fail individually when one command fails using chaining notation
# 9) "after each" hook for "fail individually when one command fails using chaining notation"
# using options: detect_buffers: false;
# using javascript and IPv4
# when not connected
# returns an empty array for missing commands
# returns an error for batch with commands
# returns an empty array for missing commands if promisified
# when connected
# returns an empty array and keep the execution order in takt
# 10) runs normal calls inbetween batch
# returns an empty array if promisified
# returns an empty result array
# 11) fail individually when one command fails using chaining notation
# 12) "after each" hook for "fail individually when one command fails using chaining notation"
# master slave sync
# - sync process and no master should delay ready being emitted for slaves
# connection tests
# unofficially support for a private stream
# quit on lost connections
# calling quit while the connection is down should not end in reconnecting version a
# calling quit while the connection is down should not end in reconnecting version b
# calling quit while the connection is down without offline queue should end the connection right away
# 13) calling quit while connected without offline queue should end the connection when all commands have finished
# 14) do not quit before connected or a connection issue is detected
# do not quit before connected or a connection issue is detected
# 15) quit right away if connection drops while quit command is on the fly
# quit right away if connection drops while quit command is on the fly
# quit right away if connection drops while quit command is on the fly
# using options: detect_buffers: true;
# using options: detect_buffers: false;
# using javascript and IPv4
# using javascript and IPv4
# errors
# on lost connection
# on lost connection
# AbortError
# should inherit from Error
# should inherit from Error
# should list options properties but not name and message
# should list options properties but not name and message
# should list options properties but not name and message
# should change name and message
# should change name and message
# AggregateError
# should inherit from Error and AbortError
# should inherit from Error and AbortError
# should list options properties but not name and message
# should list options properties but not name and message
# should change name and message
# should change name and message
# detect_buffers
# get
# first argument is a string
# 16) "before each" hook
# 17) returns a string
# 18) "before each" hook
# 19) returns a string when executed as part of transaction
# first argument is a buffer
# 20) "before each" hook
# 21) returns a buffer
# 22) "before each" hook
# 23) returns a bufffer when executed as part of transaction
# multi.hget
# 24) "before each" hook
# can interleave string and buffer results
# batch.hget
# 25) "before each" hook
# can interleave string and buffer results
# hmget
# first argument is a string
# 26) "before each" hook
# returns strings for keys requested
# 27) "before each" hook
# returns strings for keys requested in transaction
# 28) "before each" hook
# handles array of strings with undefined values (repro
#344)
# 29) "before each" hook
# handles array of strings with undefined values in transaction (repro
#344)
# first argument is a buffer
# 30) "before each" hook
# returns buffers for keys requested
# 31) "before each" hook
# returns buffers for keys requested in transaction
# 32) "before each" hook
# returns buffers for keys requested in .batch
# hgetall
# first argument is a string
# 33) "before each" hook
# returns string values
# 34) "before each" hook
# returns string values when executed in transaction
# 35) "before each" hook
# returns string values when executed in .batch
# first argument is a buffer
# 36) "before each" hook
# returns buffer values
# 37) "before each" hook
# returns buffer values when executed in transaction
# 38) "before each" hook
# returns buffer values when executed in .batch
# stack traces
# should return good traces with NODE_ENV=development set (761ms)
# should return good traces with NODE_DEBUG=redis env set (727ms)
# should always return good stack traces for rejected offline commands
# The 'multi' method
# regression test
# saved buffers with charsets different than utf-8 (issue
#913) (883ms)
# pipeline limit
# 39) do not exceed maximum string size
# 40) do not exceed maximum string size
# using options: detect_buffers: true;
# using options: detect_buffers: false;
# using javascript and IPv4
# using javascript and IPv4
# when not connected
# when not connected
# reports an error
# reports an error if promisified
# 41) "after each" hook for "reports an error if promisified"
# The node_redis client
# 42) individual commands sanity check
# convert minus to underscore in Redis function names
# reset the parser while reconnecting (See
#1190)
# The 'add_command' method
# camel case and snakeCase version exists
# converts special characters in functions names to lowercase
# using options: detect_buffers: true;
# using javascript and IPv4
# when connected
# duplicate
# check if all options got copied properly
# check if all new options replaced the old ones
# works with a callback
# works with a callback and errors out
# works with a promises
# works with a promises and errors
# big data
# 43) safe strings that are bigger than 30000 characters
# 44) "after each" hook for "safe strings that are bigger than 30000 characters"
# 45) "before each" hook for "reports an error if promisified"
# using options: detect_buffers: false;
# 63 passing (1m)
# 95 pending
# 45 failing
# 1) client authentication using options: detect_buffers: true; using javascript and IPv4 individual commands work properly with batch:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 2) client authentication using options: detect_buffers: true; using javascript and IPv6 individual commands work properly with batch:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 3) client authentication using options: detect_buffers: true; using javascript and /tmp/redis.sock individual commands work properly with batch:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 4) client authentication using options: detect_buffers: false; using javascript and IPv4 individual commands work properly with batch:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 5) client authentication using options: detect_buffers: false; using javascript and IPv6 individual commands work properly with batch:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 6) client authentication using options: detect_buffers: false; using javascript and /tmp/redis.sock individual commands work properly with batch:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 7) The 'batch' method using options: detect_buffers: true; using javascript and IPv4 when connected runs normal calls inbetween batch:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 8) The 'batch' method using options: detect_buffers: true; using javascript and IPv4 when connected fail individually when one command fails using chaining notation:
# Uncaught AssertionError [ERR_ASSERTION]: expected null, got error: ReplyError: ERR unknown command 'get'
# at test/helper.js:84:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 9) The 'batch' method using options: detect_buffers: true; using javascript and IPv4 when connected "after each" hook for "fail individually when one command fails using chaining notation":
# AssertionError [ERR_ASSERTION]: expected 22, got error: AbortError: Connection forcefully ended and command aborted. It might have been processed.
# at test/helper.js:63:20
# at Command.batch_callback [as callback] (lib/multi.js:12:146)
# at RedisClient.flush_and_error (index.js:51:995)
# at RedisClient.end (lib/extendedApi.js:13:63)
# at Context. (test/batch.spec.js:64:28)
# 10) The 'batch' method using options: detect_buffers: false; using javascript and IPv4 when connected runs normal calls inbetween batch:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 11) The 'batch' method using options: detect_buffers: false; using javascript and IPv4 when connected fail individually when one command fails using chaining notation:
# Uncaught AssertionError [ERR_ASSERTION]: expected null, got error: ReplyError: ERR unknown command 'get'
# at test/helper.js:84:20
# at batch_callback (lib/multi.js:12:146)
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 12) The 'batch' method using options: detect_buffers: false; using javascript and IPv4 when connected "after each" hook for "fail individually when one command fails using chaining notation":
# AssertionError [ERR_ASSERTION]: expected 22, got error: AbortError: Connection forcefully ended and command aborted. It might have been processed.
# at test/helper.js:63:20
# at Command.batch_callback [as callback] (lib/multi.js:12:146)
# at RedisClient.flush_and_error (index.js:51:995)
# at RedisClient.end (lib/extendedApi.js:13:63)
# at Context. (test/batch.spec.js:64:28)
# 13) connection tests quit on lost connections calling quit while connected without offline queue should end the connection when all commands have finished:
# Uncaught AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
# + expected - actual
# - undefined
# + 'OK'
# at test/connection.spec.js:103:28
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 14) connection tests quit on lost connections do not quit before connected or a connection issue is detected:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'OK', got error: ReplyError: ERR unknown command 'set'
# at test/helper.js:73:20
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 15) connection tests quit on lost connections quit right away if connection drops while quit command is on the fly:
# Uncaught AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
# + expected - actual
# - false
# + true
# + expected - actual
# -false
# +true
#
# at RedisClient. (test/connection.spec.js:141:24)
# at RedisClient.on_ready (index.js:61:748)
# at RedisClient.on_info_cmd (index.js:63:59)
# at index.js:64:145
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at Command.callback (lib/individualCommands.js:34:149)
# at normal_reply (index.js:73:1201)
# at RedisClient.return_reply (index.js:90:718)
# at JavascriptRedisParser.returnReply (index.js:26:1920)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:574:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 16) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 17) detect_buffers get first argument is a string returns a string:
# Uncaught AssertionError [ERR_ASSERTION]: expected string 'string value', got error: ReplyError: ERR unknown command 'get'
# at test/helper.js:73:20
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 18) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 19) detect_buffers get first argument is a string returns a string when executed as part of transaction:
# Uncaught TypeError: Cannot read property '0' of undefined
# at Multi.callback (test/detect_buffers.spec.js:39:67)
# at multi_callback (lib/multi.js:6:854)
# at lib/multi.js:11:209
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 20) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 21) detect_buffers get first argument is a buffer returns a buffer:
# Uncaught AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
# + expected - actual
# - true
# + false
# + expected - actual
# -true
# +false
#
# at test/detect_buffers.spec.js:47:28
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 22) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 23) detect_buffers get first argument is a buffer returns a bufffer when executed as part of transaction:
# Uncaught TypeError: Cannot read property 'length' of undefined
# at Multi.callback (test/detect_buffers.spec.js:55:49)
# at multi_callback (lib/multi.js:6:854)
# at lib/multi.js:11:209
# at Object.callbackOrEmit [as callback_or_emit] (lib/utils.js:13:831)
# at RedisClient.return_error (index.js:73:166)
# at JavascriptRedisParser.returnError (index.js:27:6)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 24) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 25) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 26) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 27) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 28) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 29) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 30) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 31) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 32) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 33) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 34) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 35) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 36) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 37) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 38) detect_buffers "before each" hook:
# ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 39) The 'multi' method pipeline limit do not exceed maximum string size:
# AbortError: Connection forcefully ended and command aborted. It might have been processed.
# at RedisClient.flush_and_error (index.js:51:161)
# at RedisClient.end (lib/extendedApi.js:13:63)
# at Context. (test/multi.spec.js:14:16)
# 40) The 'multi' method pipeline limit do not exceed maximum string size:
# AbortError: Connection forcefully ended and command aborted. It might have been processed.
# at RedisClient.flush_and_error (index.js:51:161)
# at RedisClient.end (lib/extendedApi.js:13:63)
# at Context. (test/multi.spec.js:14:16)
# 41) The 'multi' method "after each" hook for "reports an error if promisified":
# AbortError: Ready check failed: Connection forcefully ended and command aborted. It might have been processed.
# at RedisClient.flush_and_error (index.js:51:161)
# at RedisClient.end (lib/extendedApi.js:13:63)
# at Context. (test/multi.spec.js:14:16)
# 42) The node_redis client individual commands sanity check:
# Uncaught TypeError: Cannot read property 'callback' of undefined
# at normal_reply (index.js:73:898)
# at RedisClient.return_reply (index.js:90:718)
# at JavascriptRedisParser.returnReply (index.js:26:1920)
# at JavascriptRedisParser.execute (node_modules/redis-parser/lib/parser.js:574:12)
# at Socket. (index.js:42:43)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# 43) The node_redis client using options: detect_buffers: true; using javascript and IPv4 when connected big data safe strings that are bigger than 30000 characters:
# Uncaught ReplyError: ERR unknown command 'set'
# at parseError (node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (node_modules/redis-parser/lib/parser.js:303:14)
# 44) The node_redis client using options: detect_buffers: true; using javascript and IPv4 "after each" hook for "safe strings that are bigger than 30000 characters":
# AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B:
# + expected - actual
# - undefined
# + 'foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo _ bar foo------------------------|----------|----------|----------|----------|----------------|
# File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
# ------------------------|----------|----------|----------|----------|----------------|
# All files | 63.93 | 52.46 | 70.55 | 63.93 | |
# redis | 71.85 | 62.62 | 71.67 | 71.85 | |
# index.js | 71.85 | 62.62 | 71.67 | 71.85 |... 0,1066,1072 |
# redis/lib | 57.82 | 44.53 | 69.77 | 57.82 | |
# command.js | 100 | 100 | 100 | 100 | |
# commands.js | 69.57 | 66.67 | 80 | 69.57 |... 88,89,90,91 |
# createClient.js | 40 | 43.75 | 100 | 40 |... 61,63,71,76 |
# customErrors.js | 100 | 100 | 100 | 100 | |
# debug.js | 100 | 100 | 100 | 100 | |
# extendedApi.js | 60 | 20 | 50 | 60 |... 78,80,81,82 |
# individualCommands.js | 44.44 | 28.57 | 60 | 44.44 |... 613,615,616 |
# multi.js | 75.23 | 60.42 | 92.31 | 75.23 |... 147,149,150 |
# utils.js | 78.95 | 80 | 80 | 78.95 |... 117,118,120 |
# ------------------------|----------|----------|----------|----------|----------------|
# npm WARN deprecated win-spawn@2.0.0: use [cross-spawn](https://github.com/IndigoUnited/node-cross-spawn) or [cross-spawn-async](https://github.com/IndigoUnited/node-cross-spawn-async) instead.
# npm WARN deprecated hoek@2.16.3: The major version is no longer supported. Please update to 4.x or newer
# npm notice created a lockfile as package-lock.json. You should commit this file.
# (node:5249) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
# node_redis: Warning: Redis server does not require a password, but a password was supplied.
# node_redis: Warning: Redis server does not require a password, but a password was supplied.
# node_redis: Warning: Redis server does not require a password, but a password was supplied.
# node_redis: Warning: Redis server does not require a password, but a password was supplied.
# node_redis: Warning: Redis server does not require a password, but a password was supplied.
# node_redis: Warning: Redis server does not require a password, but a password was supplied.
# events.js:167
# throw er; // Unhandled 'error' event
# ^
# ReplyError: ERR unknown command 'set'
# at parseError (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/node_modules/redis-parser/lib/parser.js:193:12)
# at parseType (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/node_modules/redis-parser/lib/parser.js:303:14)
# Emitted 'error' event at:
# at Object.callbackOrEmit [as callback_or_emit] (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/lib/utils.js:13:966)
# at RedisClient.return_error (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/index.js:73:166)
# at JavascriptRedisParser.returnError (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/index.js:27:6)
# at JavascriptRedisParser.execute (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/node_modules/redis-parser/lib/parser.js:572:12)
# at Socket. (/tmp/a3efff16-6517-46f7-83c3-a8824804dab4/redis/index.js:42:43)
# at Socket.emit (events.js:182:13)
# at addChunk (_stream_readable.js:283:12)
# at readableAddChunk (_stream_readable.js:264:11)
# at Socket.Readable.push (_stream_readable.js:219:10)
# at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
# npm ERR! Test failed. See above for more details. duration_ms: 181496 ... 1..1