From 1bd561aa34bf68e52eddcdab46c45bdaa576338c Mon Sep 17 00:00:00 2001 From: Ian Kent Date: Mon, 17 Apr 2017 00:42:21 +0100 Subject: [PATCH] add vendor back in (again!) --- vendor/github.com/gorilla/context/LICENSE | 27 + vendor/github.com/gorilla/context/README.md | 10 + vendor/github.com/gorilla/context/context.go | 143 + vendor/github.com/gorilla/context/doc.go | 88 + vendor/github.com/gorilla/mux/LICENSE | 27 + vendor/github.com/gorilla/mux/README.md | 340 ++ .../github.com/gorilla/mux/context_gorilla.go | 26 + .../github.com/gorilla/mux/context_native.go | 24 + vendor/github.com/gorilla/mux/doc.go | 240 + vendor/github.com/gorilla/mux/mux.go | 542 ++ vendor/github.com/gorilla/mux/regexp.go | 323 ++ vendor/github.com/gorilla/mux/route.go | 636 +++ vendor/github.com/gorilla/pat/LICENSE | 27 + vendor/github.com/gorilla/pat/README.md | 70 + vendor/github.com/gorilla/pat/doc.go | 67 + vendor/github.com/gorilla/pat/pat.go | 126 + vendor/github.com/gorilla/websocket/AUTHORS | 8 + vendor/github.com/gorilla/websocket/LICENSE | 22 + vendor/github.com/gorilla/websocket/README.md | 64 + vendor/github.com/gorilla/websocket/client.go | 392 ++ .../gorilla/websocket/client_clone.go | 16 + .../gorilla/websocket/client_clone_legacy.go | 38 + .../gorilla/websocket/compression.go | 148 + vendor/github.com/gorilla/websocket/conn.go | 1149 ++++ .../github.com/gorilla/websocket/conn_read.go | 18 + .../gorilla/websocket/conn_read_legacy.go | 21 + vendor/github.com/gorilla/websocket/doc.go | 180 + vendor/github.com/gorilla/websocket/json.go | 55 + vendor/github.com/gorilla/websocket/mask.go | 55 + .../github.com/gorilla/websocket/mask_safe.go | 15 + .../github.com/gorilla/websocket/prepared.go | 103 + vendor/github.com/gorilla/websocket/server.go | 291 + vendor/github.com/gorilla/websocket/util.go | 214 + vendor/github.com/ian-kent/envconf/LICENSE.md | 21 + vendor/github.com/ian-kent/envconf/README.md | 30 + vendor/github.com/ian-kent/envconf/envconf.go | 88 + vendor/github.com/ian-kent/go-log/LICENSE.md | 21 + .../ian-kent/go-log/appenders/appender.go | 22 + .../ian-kent/go-log/appenders/console.go | 31 + .../ian-kent/go-log/appenders/fluentd.go | 64 + .../go-log/appenders/multiple_appender.go | 32 + .../ian-kent/go-log/appenders/rollingfile.go | 122 + .../go-log/appenders/rollingfile_test.log | 1 + .../go-log/appenders/rollingfile_test.log.1 | 2 + .../ian-kent/go-log/layout/basic.go | 18 + .../ian-kent/go-log/layout/layout.go | 24 + .../ian-kent/go-log/layout/pattern.go | 112 + .../ian-kent/go-log/levels/levels.go | 33 + vendor/github.com/ian-kent/go-log/log/log.go | 54 + .../ian-kent/go-log/logger/logger.go | 221 + vendor/github.com/ian-kent/goose/LICENSE.md | 21 + vendor/github.com/ian-kent/goose/README.md | 12 + vendor/github.com/ian-kent/goose/goose.go | 122 + vendor/github.com/ian-kent/linkio/README.md | 41 + vendor/github.com/ian-kent/linkio/linkio.go | 169 + vendor/github.com/jtolds/gls/LICENSE | 18 + vendor/github.com/jtolds/gls/README.md | 89 + vendor/github.com/jtolds/gls/context.go | 153 + vendor/github.com/jtolds/gls/gen_sym.go | 21 + vendor/github.com/jtolds/gls/gid.go | 25 + vendor/github.com/jtolds/gls/id_pool.go | 34 + vendor/github.com/jtolds/gls/stack_tags.go | 108 + vendor/github.com/jtolds/gls/stack_tags_js.go | 75 + .../github.com/jtolds/gls/stack_tags_main.go | 23 + .../mailhog/MailHog-Server/LICENSE.md | 21 + .../mailhog/MailHog-Server/Makefile | 17 + .../mailhog/MailHog-Server/README.md | 10 + .../mailhog/MailHog-Server/api/api.go | 23 + .../mailhog/MailHog-Server/api/v1.go | 359 ++ .../mailhog/MailHog-Server/api/v2.go | 258 + .../mailhog/MailHog-Server/config/config.go | 132 + .../github.com/mailhog/MailHog-Server/main.go | 51 + .../mailhog/MailHog-Server/monkey/jim.go | 111 + .../mailhog/MailHog-Server/monkey/monkey.go | 28 + .../mailhog/MailHog-Server/smtp/session.go | 163 + .../MailHog-Server/smtp/session_test.go | 141 + .../mailhog/MailHog-Server/smtp/smtp.go | 43 + .../MailHog-Server/websockets/connection.go | 73 + .../mailhog/MailHog-Server/websockets/hub.go | 76 + .../github.com/mailhog/MailHog-UI/LICENSE.md | 21 + vendor/github.com/mailhog/MailHog-UI/Makefile | 16 + .../github.com/mailhog/MailHog-UI/README.md | 10 + .../mailhog/MailHog-UI/assets/assets.go | 753 +++ .../mailhog/MailHog-UI/config/config.go | 32 + vendor/github.com/mailhog/MailHog-UI/main.go | 54 + .../github.com/mailhog/MailHog-UI/web/web.go | 119 + vendor/github.com/mailhog/data/LICENSE.md | 21 + vendor/github.com/mailhog/data/README.md | 10 + vendor/github.com/mailhog/data/message.go | 330 ++ vendor/github.com/mailhog/http/LICENSE.md | 21 + vendor/github.com/mailhog/http/README.md | 10 + vendor/github.com/mailhog/http/server.go | 112 + .../github.com/mailhog/mhsendmail/LICENSE.md | 21 + .../github.com/mailhog/mhsendmail/cmd/cmd.go | 82 + vendor/github.com/mailhog/smtp/LICENSE.md | 21 + vendor/github.com/mailhog/smtp/README.md | 100 + vendor/github.com/mailhog/smtp/protocol.go | 504 ++ vendor/github.com/mailhog/smtp/reply.go | 111 + vendor/github.com/mailhog/smtp/state.go | 32 + vendor/github.com/mailhog/storage/LICENSE.md | 21 + vendor/github.com/mailhog/storage/README.md | 16 + vendor/github.com/mailhog/storage/maildir.go | 184 + vendor/github.com/mailhog/storage/memory.go | 199 + vendor/github.com/mailhog/storage/mongodb.go | 122 + vendor/github.com/mailhog/storage/storage.go | 14 + vendor/github.com/philhofer/fwd/LICENSE.md | 7 + vendor/github.com/philhofer/fwd/README.md | 315 ++ vendor/github.com/philhofer/fwd/reader.go | 379 ++ vendor/github.com/philhofer/fwd/writer.go | 224 + .../philhofer/fwd/writer_appengine.go | 5 + .../github.com/philhofer/fwd/writer_unsafe.go | 18 + .../smartystreets/assertions/CONTRIBUTING.md | 12 + .../smartystreets/assertions/LICENSE.md | 23 + .../smartystreets/assertions/README.md | 575 ++ .../smartystreets/assertions/collections.go | 244 + .../smartystreets/assertions/doc.go | 105 + .../smartystreets/assertions/equality.go | 280 + .../smartystreets/assertions/filter.go | 23 + .../assertions/internal/go-render/LICENSE | 27 + .../internal/go-render/render/render.go | 477 ++ .../assertions/internal/oglematchers/LICENSE | 202 + .../internal/oglematchers/README.md | 58 + .../internal/oglematchers/any_of.go | 94 + .../internal/oglematchers/contains.go | 61 + .../internal/oglematchers/deep_equals.go | 88 + .../internal/oglematchers/equals.go | 541 ++ .../internal/oglematchers/greater_or_equal.go | 39 + .../internal/oglematchers/greater_than.go | 39 + .../internal/oglematchers/less_or_equal.go | 41 + .../internal/oglematchers/less_than.go | 152 + .../internal/oglematchers/matcher.go | 86 + .../assertions/internal/oglematchers/not.go | 53 + .../oglematchers/transform_description.go | 36 + .../smartystreets/assertions/messages.go | 93 + .../smartystreets/assertions/panic.go | 115 + .../smartystreets/assertions/quantity.go | 141 + .../smartystreets/assertions/serializer.go | 69 + .../smartystreets/assertions/strings.go | 227 + .../smartystreets/assertions/time.go | 202 + .../smartystreets/assertions/type.go | 112 + .../smartystreets/goconvey/LICENSE.md | 23 + .../goconvey/convey/assertions.go | 68 + .../smartystreets/goconvey/convey/context.go | 272 + .../goconvey/convey/convey.goconvey | 4 + .../goconvey/convey/discovery.go | 103 + .../smartystreets/goconvey/convey/doc.go | 218 + .../goconvey/convey/gotest/utils.go | 28 + .../smartystreets/goconvey/convey/init.go | 81 + .../goconvey/convey/nilReporter.go | 15 + .../goconvey/convey/reporting/console.go | 16 + .../goconvey/convey/reporting/doc.go | 5 + .../goconvey/convey/reporting/dot.go | 40 + .../goconvey/convey/reporting/gotest.go | 33 + .../goconvey/convey/reporting/init.go | 94 + .../goconvey/convey/reporting/json.go | 88 + .../goconvey/convey/reporting/printer.go | 57 + .../goconvey/convey/reporting/problems.go | 80 + .../goconvey/convey/reporting/reporter.go | 39 + .../convey/reporting/reporting.goconvey | 2 + .../goconvey/convey/reporting/reports.go | 179 + .../goconvey/convey/reporting/statistics.go | 108 + .../goconvey/convey/reporting/story.go | 73 + vendor/github.com/spf13/pflag/LICENSE | 28 + vendor/github.com/spf13/pflag/README.md | 256 + vendor/github.com/spf13/pflag/bool.go | 97 + vendor/github.com/spf13/pflag/count.go | 97 + vendor/github.com/spf13/pflag/duration.go | 86 + vendor/github.com/spf13/pflag/flag.go | 934 ++++ vendor/github.com/spf13/pflag/float32.go | 91 + vendor/github.com/spf13/pflag/float64.go | 87 + vendor/github.com/spf13/pflag/golangflag.go | 104 + vendor/github.com/spf13/pflag/int.go | 87 + vendor/github.com/spf13/pflag/int32.go | 91 + vendor/github.com/spf13/pflag/int64.go | 87 + vendor/github.com/spf13/pflag/int8.go | 91 + vendor/github.com/spf13/pflag/int_slice.go | 128 + vendor/github.com/spf13/pflag/ip.go | 96 + vendor/github.com/spf13/pflag/ipmask.go | 122 + vendor/github.com/spf13/pflag/ipnet.go | 100 + vendor/github.com/spf13/pflag/string.go | 82 + vendor/github.com/spf13/pflag/string_slice.go | 111 + vendor/github.com/spf13/pflag/uint.go | 91 + vendor/github.com/spf13/pflag/uint16.go | 89 + vendor/github.com/spf13/pflag/uint32.go | 89 + vendor/github.com/spf13/pflag/uint64.go | 91 + vendor/github.com/spf13/pflag/uint8.go | 91 + .../t-k/fluent-logger-golang/LICENSE | 13 + .../t-k/fluent-logger-golang/fluent/fluent.go | 245 + .../t-k/fluent-logger-golang/fluent/proto.go | 24 + .../fluent-logger-golang/fluent/proto_gen.go | 372 ++ .../fluent-logger-golang/fluent/version.go | 3 + vendor/github.com/tinylib/msgp/LICENSE | 8 + .../tinylib/msgp/msgp/advise_linux.go | 24 + .../tinylib/msgp/msgp/advise_other.go | 17 + .../github.com/tinylib/msgp/msgp/appengine.go | 15 + .../github.com/tinylib/msgp/msgp/circular.go | 39 + vendor/github.com/tinylib/msgp/msgp/defs.go | 142 + vendor/github.com/tinylib/msgp/msgp/edit.go | 241 + vendor/github.com/tinylib/msgp/msgp/elsize.go | 99 + vendor/github.com/tinylib/msgp/msgp/errors.go | 142 + .../github.com/tinylib/msgp/msgp/extension.go | 548 ++ vendor/github.com/tinylib/msgp/msgp/file.go | 91 + .../github.com/tinylib/msgp/msgp/file_port.go | 47 + .../github.com/tinylib/msgp/msgp/integers.go | 174 + vendor/github.com/tinylib/msgp/msgp/json.go | 542 ++ .../tinylib/msgp/msgp/json_bytes.go | 363 ++ vendor/github.com/tinylib/msgp/msgp/number.go | 267 + vendor/github.com/tinylib/msgp/msgp/read.go | 1213 +++++ .../tinylib/msgp/msgp/read_bytes.go | 1089 ++++ vendor/github.com/tinylib/msgp/msgp/size.go | 38 + vendor/github.com/tinylib/msgp/msgp/unsafe.go | 40 + vendor/github.com/tinylib/msgp/msgp/write.go | 845 +++ .../tinylib/msgp/msgp/write_bytes.go | 411 ++ vendor/golang.org/x/crypto/LICENSE | 27 + vendor/golang.org/x/crypto/PATENTS | 22 + vendor/golang.org/x/crypto/bcrypt/base64.go | 35 + vendor/golang.org/x/crypto/bcrypt/bcrypt.go | 294 + vendor/golang.org/x/crypto/blowfish/block.go | 159 + vendor/golang.org/x/crypto/blowfish/cipher.go | 91 + vendor/golang.org/x/crypto/blowfish/const.go | 199 + vendor/gopkg.in/mgo.v2/LICENSE | 25 + vendor/gopkg.in/mgo.v2/Makefile | 5 + vendor/gopkg.in/mgo.v2/README.md | 4 + vendor/gopkg.in/mgo.v2/auth.go | 467 ++ vendor/gopkg.in/mgo.v2/bson/LICENSE | 25 + vendor/gopkg.in/mgo.v2/bson/bson.go | 721 +++ vendor/gopkg.in/mgo.v2/bson/decode.go | 844 +++ vendor/gopkg.in/mgo.v2/bson/encode.go | 509 ++ vendor/gopkg.in/mgo.v2/bulk.go | 351 ++ vendor/gopkg.in/mgo.v2/cluster.go | 679 +++ vendor/gopkg.in/mgo.v2/doc.go | 31 + vendor/gopkg.in/mgo.v2/gridfs.go | 761 +++ vendor/gopkg.in/mgo.v2/internal/sasl/sasl.c | 77 + vendor/gopkg.in/mgo.v2/internal/sasl/sasl.go | 138 + .../mgo.v2/internal/sasl/sasl_windows.c | 118 + .../mgo.v2/internal/sasl/sasl_windows.go | 140 + .../mgo.v2/internal/sasl/sasl_windows.h | 7 + .../mgo.v2/internal/sasl/sspi_windows.c | 96 + .../mgo.v2/internal/sasl/sspi_windows.h | 70 + .../gopkg.in/mgo.v2/internal/scram/scram.go | 266 + vendor/gopkg.in/mgo.v2/log.go | 133 + vendor/gopkg.in/mgo.v2/queue.go | 91 + vendor/gopkg.in/mgo.v2/raceoff.go | 5 + vendor/gopkg.in/mgo.v2/raceon.go | 5 + vendor/gopkg.in/mgo.v2/saslimpl.go | 11 + vendor/gopkg.in/mgo.v2/saslstub.go | 11 + vendor/gopkg.in/mgo.v2/server.go | 452 ++ vendor/gopkg.in/mgo.v2/session.go | 4722 +++++++++++++++++ vendor/gopkg.in/mgo.v2/socket.go | 707 +++ vendor/gopkg.in/mgo.v2/stats.go | 147 + vendor/vendor.json | 272 + 251 files changed, 41538 insertions(+) create mode 100644 vendor/github.com/gorilla/context/LICENSE create mode 100644 vendor/github.com/gorilla/context/README.md create mode 100644 vendor/github.com/gorilla/context/context.go create mode 100644 vendor/github.com/gorilla/context/doc.go create mode 100644 vendor/github.com/gorilla/mux/LICENSE create mode 100644 vendor/github.com/gorilla/mux/README.md create mode 100644 vendor/github.com/gorilla/mux/context_gorilla.go create mode 100644 vendor/github.com/gorilla/mux/context_native.go create mode 100644 vendor/github.com/gorilla/mux/doc.go create mode 100644 vendor/github.com/gorilla/mux/mux.go create mode 100644 vendor/github.com/gorilla/mux/regexp.go create mode 100644 vendor/github.com/gorilla/mux/route.go create mode 100644 vendor/github.com/gorilla/pat/LICENSE create mode 100644 vendor/github.com/gorilla/pat/README.md create mode 100644 vendor/github.com/gorilla/pat/doc.go create mode 100644 vendor/github.com/gorilla/pat/pat.go create mode 100644 vendor/github.com/gorilla/websocket/AUTHORS create mode 100644 vendor/github.com/gorilla/websocket/LICENSE create mode 100644 vendor/github.com/gorilla/websocket/README.md create mode 100644 vendor/github.com/gorilla/websocket/client.go create mode 100644 vendor/github.com/gorilla/websocket/client_clone.go create mode 100644 vendor/github.com/gorilla/websocket/client_clone_legacy.go create mode 100644 vendor/github.com/gorilla/websocket/compression.go create mode 100644 vendor/github.com/gorilla/websocket/conn.go create mode 100644 vendor/github.com/gorilla/websocket/conn_read.go create mode 100644 vendor/github.com/gorilla/websocket/conn_read_legacy.go create mode 100644 vendor/github.com/gorilla/websocket/doc.go create mode 100644 vendor/github.com/gorilla/websocket/json.go create mode 100644 vendor/github.com/gorilla/websocket/mask.go create mode 100644 vendor/github.com/gorilla/websocket/mask_safe.go create mode 100644 vendor/github.com/gorilla/websocket/prepared.go create mode 100644 vendor/github.com/gorilla/websocket/server.go create mode 100644 vendor/github.com/gorilla/websocket/util.go create mode 100644 vendor/github.com/ian-kent/envconf/LICENSE.md create mode 100644 vendor/github.com/ian-kent/envconf/README.md create mode 100644 vendor/github.com/ian-kent/envconf/envconf.go create mode 100644 vendor/github.com/ian-kent/go-log/LICENSE.md create mode 100644 vendor/github.com/ian-kent/go-log/appenders/appender.go create mode 100644 vendor/github.com/ian-kent/go-log/appenders/console.go create mode 100644 vendor/github.com/ian-kent/go-log/appenders/fluentd.go create mode 100644 vendor/github.com/ian-kent/go-log/appenders/multiple_appender.go create mode 100644 vendor/github.com/ian-kent/go-log/appenders/rollingfile.go create mode 100644 vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log create mode 100644 vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log.1 create mode 100644 vendor/github.com/ian-kent/go-log/layout/basic.go create mode 100644 vendor/github.com/ian-kent/go-log/layout/layout.go create mode 100644 vendor/github.com/ian-kent/go-log/layout/pattern.go create mode 100644 vendor/github.com/ian-kent/go-log/levels/levels.go create mode 100644 vendor/github.com/ian-kent/go-log/log/log.go create mode 100644 vendor/github.com/ian-kent/go-log/logger/logger.go create mode 100644 vendor/github.com/ian-kent/goose/LICENSE.md create mode 100644 vendor/github.com/ian-kent/goose/README.md create mode 100644 vendor/github.com/ian-kent/goose/goose.go create mode 100644 vendor/github.com/ian-kent/linkio/README.md create mode 100644 vendor/github.com/ian-kent/linkio/linkio.go create mode 100644 vendor/github.com/jtolds/gls/LICENSE create mode 100644 vendor/github.com/jtolds/gls/README.md create mode 100644 vendor/github.com/jtolds/gls/context.go create mode 100644 vendor/github.com/jtolds/gls/gen_sym.go create mode 100644 vendor/github.com/jtolds/gls/gid.go create mode 100644 vendor/github.com/jtolds/gls/id_pool.go create mode 100644 vendor/github.com/jtolds/gls/stack_tags.go create mode 100644 vendor/github.com/jtolds/gls/stack_tags_js.go create mode 100644 vendor/github.com/jtolds/gls/stack_tags_main.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/LICENSE.md create mode 100644 vendor/github.com/mailhog/MailHog-Server/Makefile create mode 100644 vendor/github.com/mailhog/MailHog-Server/README.md create mode 100644 vendor/github.com/mailhog/MailHog-Server/api/api.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/api/v1.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/api/v2.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/config/config.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/main.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/monkey/jim.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/monkey/monkey.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/smtp/session.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/smtp/session_test.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/smtp/smtp.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/websockets/connection.go create mode 100644 vendor/github.com/mailhog/MailHog-Server/websockets/hub.go create mode 100644 vendor/github.com/mailhog/MailHog-UI/LICENSE.md create mode 100644 vendor/github.com/mailhog/MailHog-UI/Makefile create mode 100644 vendor/github.com/mailhog/MailHog-UI/README.md create mode 100644 vendor/github.com/mailhog/MailHog-UI/assets/assets.go create mode 100644 vendor/github.com/mailhog/MailHog-UI/config/config.go create mode 100644 vendor/github.com/mailhog/MailHog-UI/main.go create mode 100644 vendor/github.com/mailhog/MailHog-UI/web/web.go create mode 100644 vendor/github.com/mailhog/data/LICENSE.md create mode 100644 vendor/github.com/mailhog/data/README.md create mode 100644 vendor/github.com/mailhog/data/message.go create mode 100644 vendor/github.com/mailhog/http/LICENSE.md create mode 100644 vendor/github.com/mailhog/http/README.md create mode 100644 vendor/github.com/mailhog/http/server.go create mode 100644 vendor/github.com/mailhog/mhsendmail/LICENSE.md create mode 100644 vendor/github.com/mailhog/mhsendmail/cmd/cmd.go create mode 100644 vendor/github.com/mailhog/smtp/LICENSE.md create mode 100644 vendor/github.com/mailhog/smtp/README.md create mode 100644 vendor/github.com/mailhog/smtp/protocol.go create mode 100644 vendor/github.com/mailhog/smtp/reply.go create mode 100644 vendor/github.com/mailhog/smtp/state.go create mode 100644 vendor/github.com/mailhog/storage/LICENSE.md create mode 100644 vendor/github.com/mailhog/storage/README.md create mode 100644 vendor/github.com/mailhog/storage/maildir.go create mode 100644 vendor/github.com/mailhog/storage/memory.go create mode 100644 vendor/github.com/mailhog/storage/mongodb.go create mode 100644 vendor/github.com/mailhog/storage/storage.go create mode 100644 vendor/github.com/philhofer/fwd/LICENSE.md create mode 100644 vendor/github.com/philhofer/fwd/README.md create mode 100644 vendor/github.com/philhofer/fwd/reader.go create mode 100644 vendor/github.com/philhofer/fwd/writer.go create mode 100644 vendor/github.com/philhofer/fwd/writer_appengine.go create mode 100644 vendor/github.com/philhofer/fwd/writer_unsafe.go create mode 100644 vendor/github.com/smartystreets/assertions/CONTRIBUTING.md create mode 100644 vendor/github.com/smartystreets/assertions/LICENSE.md create mode 100644 vendor/github.com/smartystreets/assertions/README.md create mode 100644 vendor/github.com/smartystreets/assertions/collections.go create mode 100644 vendor/github.com/smartystreets/assertions/doc.go create mode 100644 vendor/github.com/smartystreets/assertions/equality.go create mode 100644 vendor/github.com/smartystreets/assertions/filter.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/go-render/LICENSE create mode 100644 vendor/github.com/smartystreets/assertions/internal/go-render/render/render.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/LICENSE create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/README.md create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/any_of.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/contains.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/deep_equals.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/equals.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_or_equal.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_than.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/less_or_equal.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/less_than.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/matcher.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/not.go create mode 100644 vendor/github.com/smartystreets/assertions/internal/oglematchers/transform_description.go create mode 100644 vendor/github.com/smartystreets/assertions/messages.go create mode 100644 vendor/github.com/smartystreets/assertions/panic.go create mode 100644 vendor/github.com/smartystreets/assertions/quantity.go create mode 100644 vendor/github.com/smartystreets/assertions/serializer.go create mode 100644 vendor/github.com/smartystreets/assertions/strings.go create mode 100644 vendor/github.com/smartystreets/assertions/time.go create mode 100644 vendor/github.com/smartystreets/assertions/type.go create mode 100644 vendor/github.com/smartystreets/goconvey/LICENSE.md create mode 100644 vendor/github.com/smartystreets/goconvey/convey/assertions.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/context.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/convey.goconvey create mode 100644 vendor/github.com/smartystreets/goconvey/convey/discovery.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/doc.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/gotest/utils.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/init.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/nilReporter.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/console.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/doc.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/dot.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/gotest.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/init.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/json.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/printer.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/problems.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/reporter.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/reporting.goconvey create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/reports.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/statistics.go create mode 100644 vendor/github.com/smartystreets/goconvey/convey/reporting/story.go create mode 100644 vendor/github.com/spf13/pflag/LICENSE create mode 100644 vendor/github.com/spf13/pflag/README.md create mode 100644 vendor/github.com/spf13/pflag/bool.go create mode 100644 vendor/github.com/spf13/pflag/count.go create mode 100644 vendor/github.com/spf13/pflag/duration.go create mode 100644 vendor/github.com/spf13/pflag/flag.go create mode 100644 vendor/github.com/spf13/pflag/float32.go create mode 100644 vendor/github.com/spf13/pflag/float64.go create mode 100644 vendor/github.com/spf13/pflag/golangflag.go create mode 100644 vendor/github.com/spf13/pflag/int.go create mode 100644 vendor/github.com/spf13/pflag/int32.go create mode 100644 vendor/github.com/spf13/pflag/int64.go create mode 100644 vendor/github.com/spf13/pflag/int8.go create mode 100644 vendor/github.com/spf13/pflag/int_slice.go create mode 100644 vendor/github.com/spf13/pflag/ip.go create mode 100644 vendor/github.com/spf13/pflag/ipmask.go create mode 100644 vendor/github.com/spf13/pflag/ipnet.go create mode 100644 vendor/github.com/spf13/pflag/string.go create mode 100644 vendor/github.com/spf13/pflag/string_slice.go create mode 100644 vendor/github.com/spf13/pflag/uint.go create mode 100644 vendor/github.com/spf13/pflag/uint16.go create mode 100644 vendor/github.com/spf13/pflag/uint32.go create mode 100644 vendor/github.com/spf13/pflag/uint64.go create mode 100644 vendor/github.com/spf13/pflag/uint8.go create mode 100644 vendor/github.com/t-k/fluent-logger-golang/LICENSE create mode 100644 vendor/github.com/t-k/fluent-logger-golang/fluent/fluent.go create mode 100644 vendor/github.com/t-k/fluent-logger-golang/fluent/proto.go create mode 100644 vendor/github.com/t-k/fluent-logger-golang/fluent/proto_gen.go create mode 100644 vendor/github.com/t-k/fluent-logger-golang/fluent/version.go create mode 100644 vendor/github.com/tinylib/msgp/LICENSE create mode 100644 vendor/github.com/tinylib/msgp/msgp/advise_linux.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/advise_other.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/appengine.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/circular.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/defs.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/edit.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/elsize.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/errors.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/extension.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/file.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/file_port.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/integers.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/json.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/json_bytes.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/number.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/read.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/read_bytes.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/size.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/unsafe.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/write.go create mode 100644 vendor/github.com/tinylib/msgp/msgp/write_bytes.go create mode 100644 vendor/golang.org/x/crypto/LICENSE create mode 100644 vendor/golang.org/x/crypto/PATENTS create mode 100644 vendor/golang.org/x/crypto/bcrypt/base64.go create mode 100644 vendor/golang.org/x/crypto/bcrypt/bcrypt.go create mode 100644 vendor/golang.org/x/crypto/blowfish/block.go create mode 100644 vendor/golang.org/x/crypto/blowfish/cipher.go create mode 100644 vendor/golang.org/x/crypto/blowfish/const.go create mode 100644 vendor/gopkg.in/mgo.v2/LICENSE create mode 100644 vendor/gopkg.in/mgo.v2/Makefile create mode 100644 vendor/gopkg.in/mgo.v2/README.md create mode 100644 vendor/gopkg.in/mgo.v2/auth.go create mode 100644 vendor/gopkg.in/mgo.v2/bson/LICENSE create mode 100644 vendor/gopkg.in/mgo.v2/bson/bson.go create mode 100644 vendor/gopkg.in/mgo.v2/bson/decode.go create mode 100644 vendor/gopkg.in/mgo.v2/bson/encode.go create mode 100644 vendor/gopkg.in/mgo.v2/bulk.go create mode 100644 vendor/gopkg.in/mgo.v2/cluster.go create mode 100644 vendor/gopkg.in/mgo.v2/doc.go create mode 100644 vendor/gopkg.in/mgo.v2/gridfs.go create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sasl.c create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sasl.go create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.c create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.go create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.h create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.c create mode 100644 vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.h create mode 100644 vendor/gopkg.in/mgo.v2/internal/scram/scram.go create mode 100644 vendor/gopkg.in/mgo.v2/log.go create mode 100644 vendor/gopkg.in/mgo.v2/queue.go create mode 100644 vendor/gopkg.in/mgo.v2/raceoff.go create mode 100644 vendor/gopkg.in/mgo.v2/raceon.go create mode 100644 vendor/gopkg.in/mgo.v2/saslimpl.go create mode 100644 vendor/gopkg.in/mgo.v2/saslstub.go create mode 100644 vendor/gopkg.in/mgo.v2/server.go create mode 100644 vendor/gopkg.in/mgo.v2/session.go create mode 100644 vendor/gopkg.in/mgo.v2/socket.go create mode 100644 vendor/gopkg.in/mgo.v2/stats.go create mode 100644 vendor/vendor.json diff --git a/vendor/github.com/gorilla/context/LICENSE b/vendor/github.com/gorilla/context/LICENSE new file mode 100644 index 0000000..0e5fb87 --- /dev/null +++ b/vendor/github.com/gorilla/context/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 Rodrigo Moraes. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/context/README.md b/vendor/github.com/gorilla/context/README.md new file mode 100644 index 0000000..08f8669 --- /dev/null +++ b/vendor/github.com/gorilla/context/README.md @@ -0,0 +1,10 @@ +context +======= +[![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) + +gorilla/context is a general purpose registry for global request variables. + +> Note: gorilla/context, having been born well before `context.Context` existed, does not play well +> with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`. + +Read the full documentation here: http://www.gorillatoolkit.org/pkg/context diff --git a/vendor/github.com/gorilla/context/context.go b/vendor/github.com/gorilla/context/context.go new file mode 100644 index 0000000..81cb128 --- /dev/null +++ b/vendor/github.com/gorilla/context/context.go @@ -0,0 +1,143 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package context + +import ( + "net/http" + "sync" + "time" +) + +var ( + mutex sync.RWMutex + data = make(map[*http.Request]map[interface{}]interface{}) + datat = make(map[*http.Request]int64) +) + +// Set stores a value for a given key in a given request. +func Set(r *http.Request, key, val interface{}) { + mutex.Lock() + if data[r] == nil { + data[r] = make(map[interface{}]interface{}) + datat[r] = time.Now().Unix() + } + data[r][key] = val + mutex.Unlock() +} + +// Get returns a value stored for a given key in a given request. +func Get(r *http.Request, key interface{}) interface{} { + mutex.RLock() + if ctx := data[r]; ctx != nil { + value := ctx[key] + mutex.RUnlock() + return value + } + mutex.RUnlock() + return nil +} + +// GetOk returns stored value and presence state like multi-value return of map access. +func GetOk(r *http.Request, key interface{}) (interface{}, bool) { + mutex.RLock() + if _, ok := data[r]; ok { + value, ok := data[r][key] + mutex.RUnlock() + return value, ok + } + mutex.RUnlock() + return nil, false +} + +// GetAll returns all stored values for the request as a map. Nil is returned for invalid requests. +func GetAll(r *http.Request) map[interface{}]interface{} { + mutex.RLock() + if context, ok := data[r]; ok { + result := make(map[interface{}]interface{}, len(context)) + for k, v := range context { + result[k] = v + } + mutex.RUnlock() + return result + } + mutex.RUnlock() + return nil +} + +// GetAllOk returns all stored values for the request as a map and a boolean value that indicates if +// the request was registered. +func GetAllOk(r *http.Request) (map[interface{}]interface{}, bool) { + mutex.RLock() + context, ok := data[r] + result := make(map[interface{}]interface{}, len(context)) + for k, v := range context { + result[k] = v + } + mutex.RUnlock() + return result, ok +} + +// Delete removes a value stored for a given key in a given request. +func Delete(r *http.Request, key interface{}) { + mutex.Lock() + if data[r] != nil { + delete(data[r], key) + } + mutex.Unlock() +} + +// Clear removes all values stored for a given request. +// +// This is usually called by a handler wrapper to clean up request +// variables at the end of a request lifetime. See ClearHandler(). +func Clear(r *http.Request) { + mutex.Lock() + clear(r) + mutex.Unlock() +} + +// clear is Clear without the lock. +func clear(r *http.Request) { + delete(data, r) + delete(datat, r) +} + +// Purge removes request data stored for longer than maxAge, in seconds. +// It returns the amount of requests removed. +// +// If maxAge <= 0, all request data is removed. +// +// This is only used for sanity check: in case context cleaning was not +// properly set some request data can be kept forever, consuming an increasing +// amount of memory. In case this is detected, Purge() must be called +// periodically until the problem is fixed. +func Purge(maxAge int) int { + mutex.Lock() + count := 0 + if maxAge <= 0 { + count = len(data) + data = make(map[*http.Request]map[interface{}]interface{}) + datat = make(map[*http.Request]int64) + } else { + min := time.Now().Unix() - int64(maxAge) + for r := range data { + if datat[r] < min { + clear(r) + count++ + } + } + } + mutex.Unlock() + return count +} + +// ClearHandler wraps an http.Handler and clears request values at the end +// of a request lifetime. +func ClearHandler(h http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + defer Clear(r) + h.ServeHTTP(w, r) + }) +} diff --git a/vendor/github.com/gorilla/context/doc.go b/vendor/github.com/gorilla/context/doc.go new file mode 100644 index 0000000..448d1bf --- /dev/null +++ b/vendor/github.com/gorilla/context/doc.go @@ -0,0 +1,88 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package context stores values shared during a request lifetime. + +Note: gorilla/context, having been born well before `context.Context` existed, +does not play well > with the shallow copying of the request that +[`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) +(added to net/http Go 1.7 onwards) performs. You should either use *just* +gorilla/context, or moving forward, the new `http.Request.Context()`. + +For example, a router can set variables extracted from the URL and later +application handlers can access those values, or it can be used to store +sessions values to be saved at the end of a request. There are several +others common uses. + +The idea was posted by Brad Fitzpatrick to the go-nuts mailing list: + + http://groups.google.com/group/golang-nuts/msg/e2d679d303aa5d53 + +Here's the basic usage: first define the keys that you will need. The key +type is interface{} so a key can be of any type that supports equality. +Here we define a key using a custom int type to avoid name collisions: + + package foo + + import ( + "github.com/gorilla/context" + ) + + type key int + + const MyKey key = 0 + +Then set a variable. Variables are bound to an http.Request object, so you +need a request instance to set a value: + + context.Set(r, MyKey, "bar") + +The application can later access the variable using the same key you provided: + + func MyHandler(w http.ResponseWriter, r *http.Request) { + // val is "bar". + val := context.Get(r, foo.MyKey) + + // returns ("bar", true) + val, ok := context.GetOk(r, foo.MyKey) + // ... + } + +And that's all about the basic usage. We discuss some other ideas below. + +Any type can be stored in the context. To enforce a given type, make the key +private and wrap Get() and Set() to accept and return values of a specific +type: + + type key int + + const mykey key = 0 + + // GetMyKey returns a value for this package from the request values. + func GetMyKey(r *http.Request) SomeType { + if rv := context.Get(r, mykey); rv != nil { + return rv.(SomeType) + } + return nil + } + + // SetMyKey sets a value for this package in the request values. + func SetMyKey(r *http.Request, val SomeType) { + context.Set(r, mykey, val) + } + +Variables must be cleared at the end of a request, to remove all values +that were stored. This can be done in an http.Handler, after a request was +served. Just call Clear() passing the request: + + context.Clear(r) + +...or use ClearHandler(), which conveniently wraps an http.Handler to clear +variables at the end of a request lifetime. + +The Routers from the packages gorilla/mux and gorilla/pat call Clear() +so if you are using either of them you don't need to clear the context manually. +*/ +package context diff --git a/vendor/github.com/gorilla/mux/LICENSE b/vendor/github.com/gorilla/mux/LICENSE new file mode 100644 index 0000000..0e5fb87 --- /dev/null +++ b/vendor/github.com/gorilla/mux/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 Rodrigo Moraes. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/mux/README.md b/vendor/github.com/gorilla/mux/README.md new file mode 100644 index 0000000..cdab878 --- /dev/null +++ b/vendor/github.com/gorilla/mux/README.md @@ -0,0 +1,340 @@ +gorilla/mux +=== +[![GoDoc](https://godoc.org/github.com/gorilla/mux?status.svg)](https://godoc.org/github.com/gorilla/mux) +[![Build Status](https://travis-ci.org/gorilla/mux.svg?branch=master)](https://travis-ci.org/gorilla/mux) +[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/mux/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/mux?badge) + +![Gorilla Logo](http://www.gorillatoolkit.org/static/images/gorilla-icon-64.png) + +http://www.gorillatoolkit.org/pkg/mux + +Package `gorilla/mux` implements a request router and dispatcher for matching incoming requests to +their respective handler. + +The name mux stands for "HTTP request multiplexer". Like the standard `http.ServeMux`, `mux.Router` matches incoming requests against a list of registered routes and calls a handler for the route that matches the URL or other conditions. The main features are: + +* It implements the `http.Handler` interface so it is compatible with the standard `http.ServeMux`. +* Requests can be matched based on URL host, path, path prefix, schemes, header and query values, HTTP methods or using custom matchers. +* URL hosts and paths can have variables with an optional regular expression. +* Registered URLs can be built, or "reversed", which helps maintaining references to resources. +* Routes can be used as subrouters: nested routes are only tested if the parent route matches. This is useful to define groups of routes that share common conditions like a host, a path prefix or other repeated attributes. As a bonus, this optimizes request matching. + +--- + +* [Install](#install) +* [Examples](#examples) +* [Matching Routes](#matching-routes) +* [Listing Routes](#listing-routes) +* [Static Files](#static-files) +* [Registered URLs](#registered-urls) +* [Full Example](#full-example) + +--- + +## Install + +With a [correctly configured](https://golang.org/doc/install#testing) Go toolchain: + +```sh +go get -u github.com/gorilla/mux +``` + +## Examples + +Let's start registering a couple of URL paths and handlers: + +```go +func main() { + r := mux.NewRouter() + r.HandleFunc("/", HomeHandler) + r.HandleFunc("/products", ProductsHandler) + r.HandleFunc("/articles", ArticlesHandler) + http.Handle("/", r) +} +``` + +Here we register three routes mapping URL paths to handlers. This is equivalent to how `http.HandleFunc()` works: if an incoming request URL matches one of the paths, the corresponding handler is called passing (`http.ResponseWriter`, `*http.Request`) as parameters. + +Paths can have variables. They are defined using the format `{name}` or `{name:pattern}`. If a regular expression pattern is not defined, the matched variable will be anything until the next slash. For example: + +```go +r := mux.NewRouter() +r.HandleFunc("/products/{key}", ProductHandler) +r.HandleFunc("/articles/{category}/", ArticlesCategoryHandler) +r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler) +``` + +The names are used to create a map of route variables which can be retrieved calling `mux.Vars()`: + +```go +func ArticlesCategoryHandler(w http.ResponseWriter, r *http.Request) { + vars := mux.Vars(r) + w.WriteHeader(http.StatusOK) + fmt.Fprintf(w, "Category: %v\n", vars["category"]) +} +``` + +And this is all you need to know about the basic usage. More advanced options are explained below. + +### Matching Routes + +Routes can also be restricted to a domain or subdomain. Just define a host pattern to be matched. They can also have variables: + +```go +r := mux.NewRouter() +// Only matches if domain is "www.example.com". +r.Host("www.example.com") +// Matches a dynamic subdomain. +r.Host("{subdomain:[a-z]+}.domain.com") +``` + +There are several other matchers that can be added. To match path prefixes: + +```go +r.PathPrefix("/products/") +``` + +...or HTTP methods: + +```go +r.Methods("GET", "POST") +``` + +...or URL schemes: + +```go +r.Schemes("https") +``` + +...or header values: + +```go +r.Headers("X-Requested-With", "XMLHttpRequest") +``` + +...or query values: + +```go +r.Queries("key", "value") +``` + +...or to use a custom matcher function: + +```go +r.MatcherFunc(func(r *http.Request, rm *RouteMatch) bool { + return r.ProtoMajor == 0 +}) +``` + +...and finally, it is possible to combine several matchers in a single route: + +```go +r.HandleFunc("/products", ProductsHandler). + Host("www.example.com"). + Methods("GET"). + Schemes("http") +``` + +Setting the same matching conditions again and again can be boring, so we have a way to group several routes that share the same requirements. We call it "subrouting". + +For example, let's say we have several URLs that should only match when the host is `www.example.com`. Create a route for that host and get a "subrouter" from it: + +```go +r := mux.NewRouter() +s := r.Host("www.example.com").Subrouter() +``` + +Then register routes in the subrouter: + +```go +s.HandleFunc("/products/", ProductsHandler) +s.HandleFunc("/products/{key}", ProductHandler) +s.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler) +``` + +The three URL paths we registered above will only be tested if the domain is `www.example.com`, because the subrouter is tested first. This is not only convenient, but also optimizes request matching. You can create subrouters combining any attribute matchers accepted by a route. + +Subrouters can be used to create domain or path "namespaces": you define subrouters in a central place and then parts of the app can register its paths relatively to a given subrouter. + +There's one more thing about subroutes. When a subrouter has a path prefix, the inner routes use it as base for their paths: + +```go +r := mux.NewRouter() +s := r.PathPrefix("/products").Subrouter() +// "/products/" +s.HandleFunc("/", ProductsHandler) +// "/products/{key}/" +s.HandleFunc("/{key}/", ProductHandler) +// "/products/{key}/details" +s.HandleFunc("/{key}/details", ProductDetailsHandler) +``` + +### Listing Routes + +Routes on a mux can be listed using the Router.Walk method—useful for generating documentation: + +```go +package main + +import ( + "fmt" + "net/http" + + "github.com/gorilla/mux" +) + +func handler(w http.ResponseWriter, r *http.Request) { + return +} + +func main() { + r := mux.NewRouter() + r.HandleFunc("/", handler) + r.HandleFunc("/products", handler) + r.HandleFunc("/articles", handler) + r.HandleFunc("/articles/{id}", handler) + r.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error { + t, err := route.GetPathTemplate() + if err != nil { + return err + } + fmt.Println(t) + return nil + }) + http.Handle("/", r) +} +``` + +### Static Files + +Note that the path provided to `PathPrefix()` represents a "wildcard": calling +`PathPrefix("/static/").Handler(...)` means that the handler will be passed any +request that matches "/static/*". This makes it easy to serve static files with mux: + +```go +func main() { + var dir string + + flag.StringVar(&dir, "dir", ".", "the directory to serve files from. Defaults to the current dir") + flag.Parse() + r := mux.NewRouter() + + // This will serve files under http://localhost:8000/static/ + r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir)))) + + srv := &http.Server{ + Handler: r, + Addr: "127.0.0.1:8000", + // Good practice: enforce timeouts for servers you create! + WriteTimeout: 15 * time.Second, + ReadTimeout: 15 * time.Second, + } + + log.Fatal(srv.ListenAndServe()) +} +``` + +### Registered URLs + +Now let's see how to build registered URLs. + +Routes can be named. All routes that define a name can have their URLs built, or "reversed". We define a name calling `Name()` on a route. For example: + +```go +r := mux.NewRouter() +r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler). + Name("article") +``` + +To build a URL, get the route and call the `URL()` method, passing a sequence of key/value pairs for the route variables. For the previous route, we would do: + +```go +url, err := r.Get("article").URL("category", "technology", "id", "42") +``` + +...and the result will be a `url.URL` with the following path: + +``` +"/articles/technology/42" +``` + +This also works for host variables: + +```go +r := mux.NewRouter() +r.Host("{subdomain}.domain.com"). + Path("/articles/{category}/{id:[0-9]+}"). + HandlerFunc(ArticleHandler). + Name("article") + +// url.String() will be "http://news.domain.com/articles/technology/42" +url, err := r.Get("article").URL("subdomain", "news", + "category", "technology", + "id", "42") +``` + +All variables defined in the route are required, and their values must conform to the corresponding patterns. These requirements guarantee that a generated URL will always match a registered route -- the only exception is for explicitly defined "build-only" routes which never match. + +Regex support also exists for matching Headers within a route. For example, we could do: + +```go +r.HeadersRegexp("Content-Type", "application/(text|json)") +``` + +...and the route will match both requests with a Content-Type of `application/json` as well as `application/text` + +There's also a way to build only the URL host or path for a route: use the methods `URLHost()` or `URLPath()` instead. For the previous route, we would do: + +```go +// "http://news.domain.com/" +host, err := r.Get("article").URLHost("subdomain", "news") + +// "/articles/technology/42" +path, err := r.Get("article").URLPath("category", "technology", "id", "42") +``` + +And if you use subrouters, host and path defined separately can be built as well: + +```go +r := mux.NewRouter() +s := r.Host("{subdomain}.domain.com").Subrouter() +s.Path("/articles/{category}/{id:[0-9]+}"). + HandlerFunc(ArticleHandler). + Name("article") + +// "http://news.domain.com/articles/technology/42" +url, err := r.Get("article").URL("subdomain", "news", + "category", "technology", + "id", "42") +``` + +## Full Example + +Here's a complete, runnable example of a small `mux` based server: + +```go +package main + +import ( + "net/http" + "log" + "github.com/gorilla/mux" +) + +func YourHandler(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("Gorilla!\n")) +} + +func main() { + r := mux.NewRouter() + // Routes consist of a path and a handler function. + r.HandleFunc("/", YourHandler) + + // Bind to a port and pass our router in + log.Fatal(http.ListenAndServe(":8000", r)) +} +``` + +## License + +BSD licensed. See the LICENSE file for details. diff --git a/vendor/github.com/gorilla/mux/context_gorilla.go b/vendor/github.com/gorilla/mux/context_gorilla.go new file mode 100644 index 0000000..d7adaa8 --- /dev/null +++ b/vendor/github.com/gorilla/mux/context_gorilla.go @@ -0,0 +1,26 @@ +// +build !go1.7 + +package mux + +import ( + "net/http" + + "github.com/gorilla/context" +) + +func contextGet(r *http.Request, key interface{}) interface{} { + return context.Get(r, key) +} + +func contextSet(r *http.Request, key, val interface{}) *http.Request { + if val == nil { + return r + } + + context.Set(r, key, val) + return r +} + +func contextClear(r *http.Request) { + context.Clear(r) +} diff --git a/vendor/github.com/gorilla/mux/context_native.go b/vendor/github.com/gorilla/mux/context_native.go new file mode 100644 index 0000000..209cbea --- /dev/null +++ b/vendor/github.com/gorilla/mux/context_native.go @@ -0,0 +1,24 @@ +// +build go1.7 + +package mux + +import ( + "context" + "net/http" +) + +func contextGet(r *http.Request, key interface{}) interface{} { + return r.Context().Value(key) +} + +func contextSet(r *http.Request, key, val interface{}) *http.Request { + if val == nil { + return r + } + + return r.WithContext(context.WithValue(r.Context(), key, val)) +} + +func contextClear(r *http.Request) { + return +} diff --git a/vendor/github.com/gorilla/mux/doc.go b/vendor/github.com/gorilla/mux/doc.go new file mode 100644 index 0000000..00daf4a --- /dev/null +++ b/vendor/github.com/gorilla/mux/doc.go @@ -0,0 +1,240 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package mux implements a request router and dispatcher. + +The name mux stands for "HTTP request multiplexer". Like the standard +http.ServeMux, mux.Router matches incoming requests against a list of +registered routes and calls a handler for the route that matches the URL +or other conditions. The main features are: + + * Requests can be matched based on URL host, path, path prefix, schemes, + header and query values, HTTP methods or using custom matchers. + * URL hosts and paths can have variables with an optional regular + expression. + * Registered URLs can be built, or "reversed", which helps maintaining + references to resources. + * Routes can be used as subrouters: nested routes are only tested if the + parent route matches. This is useful to define groups of routes that + share common conditions like a host, a path prefix or other repeated + attributes. As a bonus, this optimizes request matching. + * It implements the http.Handler interface so it is compatible with the + standard http.ServeMux. + +Let's start registering a couple of URL paths and handlers: + + func main() { + r := mux.NewRouter() + r.HandleFunc("/", HomeHandler) + r.HandleFunc("/products", ProductsHandler) + r.HandleFunc("/articles", ArticlesHandler) + http.Handle("/", r) + } + +Here we register three routes mapping URL paths to handlers. This is +equivalent to how http.HandleFunc() works: if an incoming request URL matches +one of the paths, the corresponding handler is called passing +(http.ResponseWriter, *http.Request) as parameters. + +Paths can have variables. They are defined using the format {name} or +{name:pattern}. If a regular expression pattern is not defined, the matched +variable will be anything until the next slash. For example: + + r := mux.NewRouter() + r.HandleFunc("/products/{key}", ProductHandler) + r.HandleFunc("/articles/{category}/", ArticlesCategoryHandler) + r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler) + +Groups can be used inside patterns, as long as they are non-capturing (?:re). For example: + + r.HandleFunc("/articles/{category}/{sort:(?:asc|desc|new)}", ArticlesCategoryHandler) + +The names are used to create a map of route variables which can be retrieved +calling mux.Vars(): + + vars := mux.Vars(request) + category := vars["category"] + +Note that if any capturing groups are present, mux will panic() during parsing. To prevent +this, convert any capturing groups to non-capturing, e.g. change "/{sort:(asc|desc)}" to +"/{sort:(?:asc|desc)}". This is a change from prior versions which behaved unpredictably +when capturing groups were present. + +And this is all you need to know about the basic usage. More advanced options +are explained below. + +Routes can also be restricted to a domain or subdomain. Just define a host +pattern to be matched. They can also have variables: + + r := mux.NewRouter() + // Only matches if domain is "www.example.com". + r.Host("www.example.com") + // Matches a dynamic subdomain. + r.Host("{subdomain:[a-z]+}.domain.com") + +There are several other matchers that can be added. To match path prefixes: + + r.PathPrefix("/products/") + +...or HTTP methods: + + r.Methods("GET", "POST") + +...or URL schemes: + + r.Schemes("https") + +...or header values: + + r.Headers("X-Requested-With", "XMLHttpRequest") + +...or query values: + + r.Queries("key", "value") + +...or to use a custom matcher function: + + r.MatcherFunc(func(r *http.Request, rm *RouteMatch) bool { + return r.ProtoMajor == 0 + }) + +...and finally, it is possible to combine several matchers in a single route: + + r.HandleFunc("/products", ProductsHandler). + Host("www.example.com"). + Methods("GET"). + Schemes("http") + +Setting the same matching conditions again and again can be boring, so we have +a way to group several routes that share the same requirements. +We call it "subrouting". + +For example, let's say we have several URLs that should only match when the +host is "www.example.com". Create a route for that host and get a "subrouter" +from it: + + r := mux.NewRouter() + s := r.Host("www.example.com").Subrouter() + +Then register routes in the subrouter: + + s.HandleFunc("/products/", ProductsHandler) + s.HandleFunc("/products/{key}", ProductHandler) + s.HandleFunc("/articles/{category}/{id:[0-9]+}"), ArticleHandler) + +The three URL paths we registered above will only be tested if the domain is +"www.example.com", because the subrouter is tested first. This is not +only convenient, but also optimizes request matching. You can create +subrouters combining any attribute matchers accepted by a route. + +Subrouters can be used to create domain or path "namespaces": you define +subrouters in a central place and then parts of the app can register its +paths relatively to a given subrouter. + +There's one more thing about subroutes. When a subrouter has a path prefix, +the inner routes use it as base for their paths: + + r := mux.NewRouter() + s := r.PathPrefix("/products").Subrouter() + // "/products/" + s.HandleFunc("/", ProductsHandler) + // "/products/{key}/" + s.HandleFunc("/{key}/", ProductHandler) + // "/products/{key}/details" + s.HandleFunc("/{key}/details", ProductDetailsHandler) + +Note that the path provided to PathPrefix() represents a "wildcard": calling +PathPrefix("/static/").Handler(...) means that the handler will be passed any +request that matches "/static/*". This makes it easy to serve static files with mux: + + func main() { + var dir string + + flag.StringVar(&dir, "dir", ".", "the directory to serve files from. Defaults to the current dir") + flag.Parse() + r := mux.NewRouter() + + // This will serve files under http://localhost:8000/static/ + r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir)))) + + srv := &http.Server{ + Handler: r, + Addr: "127.0.0.1:8000", + // Good practice: enforce timeouts for servers you create! + WriteTimeout: 15 * time.Second, + ReadTimeout: 15 * time.Second, + } + + log.Fatal(srv.ListenAndServe()) + } + +Now let's see how to build registered URLs. + +Routes can be named. All routes that define a name can have their URLs built, +or "reversed". We define a name calling Name() on a route. For example: + + r := mux.NewRouter() + r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler). + Name("article") + +To build a URL, get the route and call the URL() method, passing a sequence of +key/value pairs for the route variables. For the previous route, we would do: + + url, err := r.Get("article").URL("category", "technology", "id", "42") + +...and the result will be a url.URL with the following path: + + "/articles/technology/42" + +This also works for host variables: + + r := mux.NewRouter() + r.Host("{subdomain}.domain.com"). + Path("/articles/{category}/{id:[0-9]+}"). + HandlerFunc(ArticleHandler). + Name("article") + + // url.String() will be "http://news.domain.com/articles/technology/42" + url, err := r.Get("article").URL("subdomain", "news", + "category", "technology", + "id", "42") + +All variables defined in the route are required, and their values must +conform to the corresponding patterns. These requirements guarantee that a +generated URL will always match a registered route -- the only exception is +for explicitly defined "build-only" routes which never match. + +Regex support also exists for matching Headers within a route. For example, we could do: + + r.HeadersRegexp("Content-Type", "application/(text|json)") + +...and the route will match both requests with a Content-Type of `application/json` as well as +`application/text` + +There's also a way to build only the URL host or path for a route: +use the methods URLHost() or URLPath() instead. For the previous route, +we would do: + + // "http://news.domain.com/" + host, err := r.Get("article").URLHost("subdomain", "news") + + // "/articles/technology/42" + path, err := r.Get("article").URLPath("category", "technology", "id", "42") + +And if you use subrouters, host and path defined separately can be built +as well: + + r := mux.NewRouter() + s := r.Host("{subdomain}.domain.com").Subrouter() + s.Path("/articles/{category}/{id:[0-9]+}"). + HandlerFunc(ArticleHandler). + Name("article") + + // "http://news.domain.com/articles/technology/42" + url, err := r.Get("article").URL("subdomain", "news", + "category", "technology", + "id", "42") +*/ +package mux diff --git a/vendor/github.com/gorilla/mux/mux.go b/vendor/github.com/gorilla/mux/mux.go new file mode 100644 index 0000000..d66ec38 --- /dev/null +++ b/vendor/github.com/gorilla/mux/mux.go @@ -0,0 +1,542 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package mux + +import ( + "errors" + "fmt" + "net/http" + "path" + "regexp" + "strings" +) + +// NewRouter returns a new router instance. +func NewRouter() *Router { + return &Router{namedRoutes: make(map[string]*Route), KeepContext: false} +} + +// Router registers routes to be matched and dispatches a handler. +// +// It implements the http.Handler interface, so it can be registered to serve +// requests: +// +// var router = mux.NewRouter() +// +// func main() { +// http.Handle("/", router) +// } +// +// Or, for Google App Engine, register it in a init() function: +// +// func init() { +// http.Handle("/", router) +// } +// +// This will send all incoming requests to the router. +type Router struct { + // Configurable Handler to be used when no route matches. + NotFoundHandler http.Handler + // Parent route, if this is a subrouter. + parent parentRoute + // Routes to be matched, in order. + routes []*Route + // Routes by name for URL building. + namedRoutes map[string]*Route + // See Router.StrictSlash(). This defines the flag for new routes. + strictSlash bool + // See Router.SkipClean(). This defines the flag for new routes. + skipClean bool + // If true, do not clear the request context after handling the request. + // This has no effect when go1.7+ is used, since the context is stored + // on the request itself. + KeepContext bool + // see Router.UseEncodedPath(). This defines a flag for all routes. + useEncodedPath bool +} + +// Match matches registered routes against the request. +func (r *Router) Match(req *http.Request, match *RouteMatch) bool { + for _, route := range r.routes { + if route.Match(req, match) { + return true + } + } + + // Closest match for a router (includes sub-routers) + if r.NotFoundHandler != nil { + match.Handler = r.NotFoundHandler + return true + } + return false +} + +// ServeHTTP dispatches the handler registered in the matched route. +// +// When there is a match, the route variables can be retrieved calling +// mux.Vars(request). +func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) { + if !r.skipClean { + path := req.URL.Path + if r.useEncodedPath { + path = getPath(req) + } + // Clean path to canonical form and redirect. + if p := cleanPath(path); p != path { + + // Added 3 lines (Philip Schlump) - It was dropping the query string and #whatever from query. + // This matches with fix in go 1.2 r.c. 4 for same problem. Go Issue: + // http://code.google.com/p/go/issues/detail?id=5252 + url := *req.URL + url.Path = p + p = url.String() + + w.Header().Set("Location", p) + w.WriteHeader(http.StatusMovedPermanently) + return + } + } + var match RouteMatch + var handler http.Handler + if r.Match(req, &match) { + handler = match.Handler + req = setVars(req, match.Vars) + req = setCurrentRoute(req, match.Route) + } + if handler == nil { + handler = http.NotFoundHandler() + } + if !r.KeepContext { + defer contextClear(req) + } + handler.ServeHTTP(w, req) +} + +// Get returns a route registered with the given name. +func (r *Router) Get(name string) *Route { + return r.getNamedRoutes()[name] +} + +// GetRoute returns a route registered with the given name. This method +// was renamed to Get() and remains here for backwards compatibility. +func (r *Router) GetRoute(name string) *Route { + return r.getNamedRoutes()[name] +} + +// StrictSlash defines the trailing slash behavior for new routes. The initial +// value is false. +// +// When true, if the route path is "/path/", accessing "/path" will redirect +// to the former and vice versa. In other words, your application will always +// see the path as specified in the route. +// +// When false, if the route path is "/path", accessing "/path/" will not match +// this route and vice versa. +// +// Special case: when a route sets a path prefix using the PathPrefix() method, +// strict slash is ignored for that route because the redirect behavior can't +// be determined from a prefix alone. However, any subrouters created from that +// route inherit the original StrictSlash setting. +func (r *Router) StrictSlash(value bool) *Router { + r.strictSlash = value + return r +} + +// SkipClean defines the path cleaning behaviour for new routes. The initial +// value is false. Users should be careful about which routes are not cleaned +// +// When true, if the route path is "/path//to", it will remain with the double +// slash. This is helpful if you have a route like: /fetch/http://xkcd.com/534/ +// +// When false, the path will be cleaned, so /fetch/http://xkcd.com/534/ will +// become /fetch/http/xkcd.com/534 +func (r *Router) SkipClean(value bool) *Router { + r.skipClean = value + return r +} + +// UseEncodedPath tells the router to match the encoded original path +// to the routes. +// For eg. "/path/foo%2Fbar/to" will match the path "/path/{var}/to". +// This behavior has the drawback of needing to match routes against +// r.RequestURI instead of r.URL.Path. Any modifications (such as http.StripPrefix) +// to r.URL.Path will not affect routing when this flag is on and thus may +// induce unintended behavior. +// +// If not called, the router will match the unencoded path to the routes. +// For eg. "/path/foo%2Fbar/to" will match the path "/path/foo/bar/to" +func (r *Router) UseEncodedPath() *Router { + r.useEncodedPath = true + return r +} + +// ---------------------------------------------------------------------------- +// parentRoute +// ---------------------------------------------------------------------------- + +// getNamedRoutes returns the map where named routes are registered. +func (r *Router) getNamedRoutes() map[string]*Route { + if r.namedRoutes == nil { + if r.parent != nil { + r.namedRoutes = r.parent.getNamedRoutes() + } else { + r.namedRoutes = make(map[string]*Route) + } + } + return r.namedRoutes +} + +// getRegexpGroup returns regexp definitions from the parent route, if any. +func (r *Router) getRegexpGroup() *routeRegexpGroup { + if r.parent != nil { + return r.parent.getRegexpGroup() + } + return nil +} + +func (r *Router) buildVars(m map[string]string) map[string]string { + if r.parent != nil { + m = r.parent.buildVars(m) + } + return m +} + +// ---------------------------------------------------------------------------- +// Route factories +// ---------------------------------------------------------------------------- + +// NewRoute registers an empty route. +func (r *Router) NewRoute() *Route { + route := &Route{parent: r, strictSlash: r.strictSlash, skipClean: r.skipClean, useEncodedPath: r.useEncodedPath} + r.routes = append(r.routes, route) + return route +} + +// Handle registers a new route with a matcher for the URL path. +// See Route.Path() and Route.Handler(). +func (r *Router) Handle(path string, handler http.Handler) *Route { + return r.NewRoute().Path(path).Handler(handler) +} + +// HandleFunc registers a new route with a matcher for the URL path. +// See Route.Path() and Route.HandlerFunc(). +func (r *Router) HandleFunc(path string, f func(http.ResponseWriter, + *http.Request)) *Route { + return r.NewRoute().Path(path).HandlerFunc(f) +} + +// Headers registers a new route with a matcher for request header values. +// See Route.Headers(). +func (r *Router) Headers(pairs ...string) *Route { + return r.NewRoute().Headers(pairs...) +} + +// Host registers a new route with a matcher for the URL host. +// See Route.Host(). +func (r *Router) Host(tpl string) *Route { + return r.NewRoute().Host(tpl) +} + +// MatcherFunc registers a new route with a custom matcher function. +// See Route.MatcherFunc(). +func (r *Router) MatcherFunc(f MatcherFunc) *Route { + return r.NewRoute().MatcherFunc(f) +} + +// Methods registers a new route with a matcher for HTTP methods. +// See Route.Methods(). +func (r *Router) Methods(methods ...string) *Route { + return r.NewRoute().Methods(methods...) +} + +// Path registers a new route with a matcher for the URL path. +// See Route.Path(). +func (r *Router) Path(tpl string) *Route { + return r.NewRoute().Path(tpl) +} + +// PathPrefix registers a new route with a matcher for the URL path prefix. +// See Route.PathPrefix(). +func (r *Router) PathPrefix(tpl string) *Route { + return r.NewRoute().PathPrefix(tpl) +} + +// Queries registers a new route with a matcher for URL query values. +// See Route.Queries(). +func (r *Router) Queries(pairs ...string) *Route { + return r.NewRoute().Queries(pairs...) +} + +// Schemes registers a new route with a matcher for URL schemes. +// See Route.Schemes(). +func (r *Router) Schemes(schemes ...string) *Route { + return r.NewRoute().Schemes(schemes...) +} + +// BuildVarsFunc registers a new route with a custom function for modifying +// route variables before building a URL. +func (r *Router) BuildVarsFunc(f BuildVarsFunc) *Route { + return r.NewRoute().BuildVarsFunc(f) +} + +// Walk walks the router and all its sub-routers, calling walkFn for each route +// in the tree. The routes are walked in the order they were added. Sub-routers +// are explored depth-first. +func (r *Router) Walk(walkFn WalkFunc) error { + return r.walk(walkFn, []*Route{}) +} + +// SkipRouter is used as a return value from WalkFuncs to indicate that the +// router that walk is about to descend down to should be skipped. +var SkipRouter = errors.New("skip this router") + +// WalkFunc is the type of the function called for each route visited by Walk. +// At every invocation, it is given the current route, and the current router, +// and a list of ancestor routes that lead to the current route. +type WalkFunc func(route *Route, router *Router, ancestors []*Route) error + +func (r *Router) walk(walkFn WalkFunc, ancestors []*Route) error { + for _, t := range r.routes { + if t.regexp == nil || t.regexp.path == nil || t.regexp.path.template == "" { + continue + } + + err := walkFn(t, r, ancestors) + if err == SkipRouter { + continue + } + if err != nil { + return err + } + for _, sr := range t.matchers { + if h, ok := sr.(*Router); ok { + err := h.walk(walkFn, ancestors) + if err != nil { + return err + } + } + } + if h, ok := t.handler.(*Router); ok { + ancestors = append(ancestors, t) + err := h.walk(walkFn, ancestors) + if err != nil { + return err + } + ancestors = ancestors[:len(ancestors)-1] + } + } + return nil +} + +// ---------------------------------------------------------------------------- +// Context +// ---------------------------------------------------------------------------- + +// RouteMatch stores information about a matched route. +type RouteMatch struct { + Route *Route + Handler http.Handler + Vars map[string]string +} + +type contextKey int + +const ( + varsKey contextKey = iota + routeKey +) + +// Vars returns the route variables for the current request, if any. +func Vars(r *http.Request) map[string]string { + if rv := contextGet(r, varsKey); rv != nil { + return rv.(map[string]string) + } + return nil +} + +// CurrentRoute returns the matched route for the current request, if any. +// This only works when called inside the handler of the matched route +// because the matched route is stored in the request context which is cleared +// after the handler returns, unless the KeepContext option is set on the +// Router. +func CurrentRoute(r *http.Request) *Route { + if rv := contextGet(r, routeKey); rv != nil { + return rv.(*Route) + } + return nil +} + +func setVars(r *http.Request, val interface{}) *http.Request { + return contextSet(r, varsKey, val) +} + +func setCurrentRoute(r *http.Request, val interface{}) *http.Request { + return contextSet(r, routeKey, val) +} + +// ---------------------------------------------------------------------------- +// Helpers +// ---------------------------------------------------------------------------- + +// getPath returns the escaped path if possible; doing what URL.EscapedPath() +// which was added in go1.5 does +func getPath(req *http.Request) string { + if req.RequestURI != "" { + // Extract the path from RequestURI (which is escaped unlike URL.Path) + // as detailed here as detailed in https://golang.org/pkg/net/url/#URL + // for < 1.5 server side workaround + // http://localhost/path/here?v=1 -> /path/here + path := req.RequestURI + path = strings.TrimPrefix(path, req.URL.Scheme+`://`) + path = strings.TrimPrefix(path, req.URL.Host) + if i := strings.LastIndex(path, "?"); i > -1 { + path = path[:i] + } + if i := strings.LastIndex(path, "#"); i > -1 { + path = path[:i] + } + return path + } + return req.URL.Path +} + +// cleanPath returns the canonical path for p, eliminating . and .. elements. +// Borrowed from the net/http package. +func cleanPath(p string) string { + if p == "" { + return "/" + } + if p[0] != '/' { + p = "/" + p + } + np := path.Clean(p) + // path.Clean removes trailing slash except for root; + // put the trailing slash back if necessary. + if p[len(p)-1] == '/' && np != "/" { + np += "/" + } + + return np +} + +// uniqueVars returns an error if two slices contain duplicated strings. +func uniqueVars(s1, s2 []string) error { + for _, v1 := range s1 { + for _, v2 := range s2 { + if v1 == v2 { + return fmt.Errorf("mux: duplicated route variable %q", v2) + } + } + } + return nil +} + +// checkPairs returns the count of strings passed in, and an error if +// the count is not an even number. +func checkPairs(pairs ...string) (int, error) { + length := len(pairs) + if length%2 != 0 { + return length, fmt.Errorf( + "mux: number of parameters must be multiple of 2, got %v", pairs) + } + return length, nil +} + +// mapFromPairsToString converts variadic string parameters to a +// string to string map. +func mapFromPairsToString(pairs ...string) (map[string]string, error) { + length, err := checkPairs(pairs...) + if err != nil { + return nil, err + } + m := make(map[string]string, length/2) + for i := 0; i < length; i += 2 { + m[pairs[i]] = pairs[i+1] + } + return m, nil +} + +// mapFromPairsToRegex converts variadic string paramers to a +// string to regex map. +func mapFromPairsToRegex(pairs ...string) (map[string]*regexp.Regexp, error) { + length, err := checkPairs(pairs...) + if err != nil { + return nil, err + } + m := make(map[string]*regexp.Regexp, length/2) + for i := 0; i < length; i += 2 { + regex, err := regexp.Compile(pairs[i+1]) + if err != nil { + return nil, err + } + m[pairs[i]] = regex + } + return m, nil +} + +// matchInArray returns true if the given string value is in the array. +func matchInArray(arr []string, value string) bool { + for _, v := range arr { + if v == value { + return true + } + } + return false +} + +// matchMapWithString returns true if the given key/value pairs exist in a given map. +func matchMapWithString(toCheck map[string]string, toMatch map[string][]string, canonicalKey bool) bool { + for k, v := range toCheck { + // Check if key exists. + if canonicalKey { + k = http.CanonicalHeaderKey(k) + } + if values := toMatch[k]; values == nil { + return false + } else if v != "" { + // If value was defined as an empty string we only check that the + // key exists. Otherwise we also check for equality. + valueExists := false + for _, value := range values { + if v == value { + valueExists = true + break + } + } + if !valueExists { + return false + } + } + } + return true +} + +// matchMapWithRegex returns true if the given key/value pairs exist in a given map compiled against +// the given regex +func matchMapWithRegex(toCheck map[string]*regexp.Regexp, toMatch map[string][]string, canonicalKey bool) bool { + for k, v := range toCheck { + // Check if key exists. + if canonicalKey { + k = http.CanonicalHeaderKey(k) + } + if values := toMatch[k]; values == nil { + return false + } else if v != nil { + // If value was defined as an empty string we only check that the + // key exists. Otherwise we also check for equality. + valueExists := false + for _, value := range values { + if v.MatchString(value) { + valueExists = true + break + } + } + if !valueExists { + return false + } + } + } + return true +} diff --git a/vendor/github.com/gorilla/mux/regexp.go b/vendor/github.com/gorilla/mux/regexp.go new file mode 100644 index 0000000..0189ad3 --- /dev/null +++ b/vendor/github.com/gorilla/mux/regexp.go @@ -0,0 +1,323 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package mux + +import ( + "bytes" + "fmt" + "net/http" + "net/url" + "regexp" + "strconv" + "strings" +) + +// newRouteRegexp parses a route template and returns a routeRegexp, +// used to match a host, a path or a query string. +// +// It will extract named variables, assemble a regexp to be matched, create +// a "reverse" template to build URLs and compile regexps to validate variable +// values used in URL building. +// +// Previously we accepted only Python-like identifiers for variable +// names ([a-zA-Z_][a-zA-Z0-9_]*), but currently the only restriction is that +// name and pattern can't be empty, and names can't contain a colon. +func newRouteRegexp(tpl string, matchHost, matchPrefix, matchQuery, strictSlash, useEncodedPath bool) (*routeRegexp, error) { + // Check if it is well-formed. + idxs, errBraces := braceIndices(tpl) + if errBraces != nil { + return nil, errBraces + } + // Backup the original. + template := tpl + // Now let's parse it. + defaultPattern := "[^/]+" + if matchQuery { + defaultPattern = "[^?&]*" + } else if matchHost { + defaultPattern = "[^.]+" + matchPrefix = false + } + // Only match strict slash if not matching + if matchPrefix || matchHost || matchQuery { + strictSlash = false + } + // Set a flag for strictSlash. + endSlash := false + if strictSlash && strings.HasSuffix(tpl, "/") { + tpl = tpl[:len(tpl)-1] + endSlash = true + } + varsN := make([]string, len(idxs)/2) + varsR := make([]*regexp.Regexp, len(idxs)/2) + pattern := bytes.NewBufferString("") + pattern.WriteByte('^') + reverse := bytes.NewBufferString("") + var end int + var err error + for i := 0; i < len(idxs); i += 2 { + // Set all values we are interested in. + raw := tpl[end:idxs[i]] + end = idxs[i+1] + parts := strings.SplitN(tpl[idxs[i]+1:end-1], ":", 2) + name := parts[0] + patt := defaultPattern + if len(parts) == 2 { + patt = parts[1] + } + // Name or pattern can't be empty. + if name == "" || patt == "" { + return nil, fmt.Errorf("mux: missing name or pattern in %q", + tpl[idxs[i]:end]) + } + // Build the regexp pattern. + fmt.Fprintf(pattern, "%s(?P<%s>%s)", regexp.QuoteMeta(raw), varGroupName(i/2), patt) + + // Build the reverse template. + fmt.Fprintf(reverse, "%s%%s", raw) + + // Append variable name and compiled pattern. + varsN[i/2] = name + varsR[i/2], err = regexp.Compile(fmt.Sprintf("^%s$", patt)) + if err != nil { + return nil, err + } + } + // Add the remaining. + raw := tpl[end:] + pattern.WriteString(regexp.QuoteMeta(raw)) + if strictSlash { + pattern.WriteString("[/]?") + } + if matchQuery { + // Add the default pattern if the query value is empty + if queryVal := strings.SplitN(template, "=", 2)[1]; queryVal == "" { + pattern.WriteString(defaultPattern) + } + } + if !matchPrefix { + pattern.WriteByte('$') + } + reverse.WriteString(raw) + if endSlash { + reverse.WriteByte('/') + } + // Compile full regexp. + reg, errCompile := regexp.Compile(pattern.String()) + if errCompile != nil { + return nil, errCompile + } + + // Check for capturing groups which used to work in older versions + if reg.NumSubexp() != len(idxs)/2 { + panic(fmt.Sprintf("route %s contains capture groups in its regexp. ", template) + + "Only non-capturing groups are accepted: e.g. (?:pattern) instead of (pattern)") + } + + // Done! + return &routeRegexp{ + template: template, + matchHost: matchHost, + matchQuery: matchQuery, + strictSlash: strictSlash, + useEncodedPath: useEncodedPath, + regexp: reg, + reverse: reverse.String(), + varsN: varsN, + varsR: varsR, + }, nil +} + +// routeRegexp stores a regexp to match a host or path and information to +// collect and validate route variables. +type routeRegexp struct { + // The unmodified template. + template string + // True for host match, false for path or query string match. + matchHost bool + // True for query string match, false for path and host match. + matchQuery bool + // The strictSlash value defined on the route, but disabled if PathPrefix was used. + strictSlash bool + // Determines whether to use encoded path from getPath function or unencoded + // req.URL.Path for path matching + useEncodedPath bool + // Expanded regexp. + regexp *regexp.Regexp + // Reverse template. + reverse string + // Variable names. + varsN []string + // Variable regexps (validators). + varsR []*regexp.Regexp +} + +// Match matches the regexp against the URL host or path. +func (r *routeRegexp) Match(req *http.Request, match *RouteMatch) bool { + if !r.matchHost { + if r.matchQuery { + return r.matchQueryString(req) + } + path := req.URL.Path + if r.useEncodedPath { + path = getPath(req) + } + return r.regexp.MatchString(path) + } + + return r.regexp.MatchString(getHost(req)) +} + +// url builds a URL part using the given values. +func (r *routeRegexp) url(values map[string]string) (string, error) { + urlValues := make([]interface{}, len(r.varsN)) + for k, v := range r.varsN { + value, ok := values[v] + if !ok { + return "", fmt.Errorf("mux: missing route variable %q", v) + } + urlValues[k] = value + } + rv := fmt.Sprintf(r.reverse, urlValues...) + if !r.regexp.MatchString(rv) { + // The URL is checked against the full regexp, instead of checking + // individual variables. This is faster but to provide a good error + // message, we check individual regexps if the URL doesn't match. + for k, v := range r.varsN { + if !r.varsR[k].MatchString(values[v]) { + return "", fmt.Errorf( + "mux: variable %q doesn't match, expected %q", values[v], + r.varsR[k].String()) + } + } + } + return rv, nil +} + +// getURLQuery returns a single query parameter from a request URL. +// For a URL with foo=bar&baz=ding, we return only the relevant key +// value pair for the routeRegexp. +func (r *routeRegexp) getURLQuery(req *http.Request) string { + if !r.matchQuery { + return "" + } + templateKey := strings.SplitN(r.template, "=", 2)[0] + for key, vals := range req.URL.Query() { + if key == templateKey && len(vals) > 0 { + return key + "=" + vals[0] + } + } + return "" +} + +func (r *routeRegexp) matchQueryString(req *http.Request) bool { + return r.regexp.MatchString(r.getURLQuery(req)) +} + +// braceIndices returns the first level curly brace indices from a string. +// It returns an error in case of unbalanced braces. +func braceIndices(s string) ([]int, error) { + var level, idx int + var idxs []int + for i := 0; i < len(s); i++ { + switch s[i] { + case '{': + if level++; level == 1 { + idx = i + } + case '}': + if level--; level == 0 { + idxs = append(idxs, idx, i+1) + } else if level < 0 { + return nil, fmt.Errorf("mux: unbalanced braces in %q", s) + } + } + } + if level != 0 { + return nil, fmt.Errorf("mux: unbalanced braces in %q", s) + } + return idxs, nil +} + +// varGroupName builds a capturing group name for the indexed variable. +func varGroupName(idx int) string { + return "v" + strconv.Itoa(idx) +} + +// ---------------------------------------------------------------------------- +// routeRegexpGroup +// ---------------------------------------------------------------------------- + +// routeRegexpGroup groups the route matchers that carry variables. +type routeRegexpGroup struct { + host *routeRegexp + path *routeRegexp + queries []*routeRegexp +} + +// setMatch extracts the variables from the URL once a route matches. +func (v *routeRegexpGroup) setMatch(req *http.Request, m *RouteMatch, r *Route) { + // Store host variables. + if v.host != nil { + host := getHost(req) + matches := v.host.regexp.FindStringSubmatchIndex(host) + if len(matches) > 0 { + extractVars(host, matches, v.host.varsN, m.Vars) + } + } + path := req.URL.Path + if r.useEncodedPath { + path = getPath(req) + } + // Store path variables. + if v.path != nil { + matches := v.path.regexp.FindStringSubmatchIndex(path) + if len(matches) > 0 { + extractVars(path, matches, v.path.varsN, m.Vars) + // Check if we should redirect. + if v.path.strictSlash { + p1 := strings.HasSuffix(path, "/") + p2 := strings.HasSuffix(v.path.template, "/") + if p1 != p2 { + u, _ := url.Parse(req.URL.String()) + if p1 { + u.Path = u.Path[:len(u.Path)-1] + } else { + u.Path += "/" + } + m.Handler = http.RedirectHandler(u.String(), 301) + } + } + } + } + // Store query string variables. + for _, q := range v.queries { + queryURL := q.getURLQuery(req) + matches := q.regexp.FindStringSubmatchIndex(queryURL) + if len(matches) > 0 { + extractVars(queryURL, matches, q.varsN, m.Vars) + } + } +} + +// getHost tries its best to return the request host. +func getHost(r *http.Request) string { + if r.URL.IsAbs() { + return r.URL.Host + } + host := r.Host + // Slice off any port information. + if i := strings.Index(host, ":"); i != -1 { + host = host[:i] + } + return host + +} + +func extractVars(input string, matches []int, names []string, output map[string]string) { + for i, name := range names { + output[name] = input[matches[2*i+2]:matches[2*i+3]] + } +} diff --git a/vendor/github.com/gorilla/mux/route.go b/vendor/github.com/gorilla/mux/route.go new file mode 100644 index 0000000..5544c1f --- /dev/null +++ b/vendor/github.com/gorilla/mux/route.go @@ -0,0 +1,636 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package mux + +import ( + "errors" + "fmt" + "net/http" + "net/url" + "regexp" + "strings" +) + +// Route stores information to match a request and build URLs. +type Route struct { + // Parent where the route was registered (a Router). + parent parentRoute + // Request handler for the route. + handler http.Handler + // List of matchers. + matchers []matcher + // Manager for the variables from host and path. + regexp *routeRegexpGroup + // If true, when the path pattern is "/path/", accessing "/path" will + // redirect to the former and vice versa. + strictSlash bool + // If true, when the path pattern is "/path//to", accessing "/path//to" + // will not redirect + skipClean bool + // If true, "/path/foo%2Fbar/to" will match the path "/path/{var}/to" + useEncodedPath bool + // If true, this route never matches: it is only used to build URLs. + buildOnly bool + // The name used to build URLs. + name string + // Error resulted from building a route. + err error + + buildVarsFunc BuildVarsFunc +} + +func (r *Route) SkipClean() bool { + return r.skipClean +} + +// Match matches the route against the request. +func (r *Route) Match(req *http.Request, match *RouteMatch) bool { + if r.buildOnly || r.err != nil { + return false + } + // Match everything. + for _, m := range r.matchers { + if matched := m.Match(req, match); !matched { + return false + } + } + // Yay, we have a match. Let's collect some info about it. + if match.Route == nil { + match.Route = r + } + if match.Handler == nil { + match.Handler = r.handler + } + if match.Vars == nil { + match.Vars = make(map[string]string) + } + // Set variables. + if r.regexp != nil { + r.regexp.setMatch(req, match, r) + } + return true +} + +// ---------------------------------------------------------------------------- +// Route attributes +// ---------------------------------------------------------------------------- + +// GetError returns an error resulted from building the route, if any. +func (r *Route) GetError() error { + return r.err +} + +// BuildOnly sets the route to never match: it is only used to build URLs. +func (r *Route) BuildOnly() *Route { + r.buildOnly = true + return r +} + +// Handler -------------------------------------------------------------------- + +// Handler sets a handler for the route. +func (r *Route) Handler(handler http.Handler) *Route { + if r.err == nil { + r.handler = handler + } + return r +} + +// HandlerFunc sets a handler function for the route. +func (r *Route) HandlerFunc(f func(http.ResponseWriter, *http.Request)) *Route { + return r.Handler(http.HandlerFunc(f)) +} + +// GetHandler returns the handler for the route, if any. +func (r *Route) GetHandler() http.Handler { + return r.handler +} + +// Name ----------------------------------------------------------------------- + +// Name sets the name for the route, used to build URLs. +// If the name was registered already it will be overwritten. +func (r *Route) Name(name string) *Route { + if r.name != "" { + r.err = fmt.Errorf("mux: route already has name %q, can't set %q", + r.name, name) + } + if r.err == nil { + r.name = name + r.getNamedRoutes()[name] = r + } + return r +} + +// GetName returns the name for the route, if any. +func (r *Route) GetName() string { + return r.name +} + +// ---------------------------------------------------------------------------- +// Matchers +// ---------------------------------------------------------------------------- + +// matcher types try to match a request. +type matcher interface { + Match(*http.Request, *RouteMatch) bool +} + +// addMatcher adds a matcher to the route. +func (r *Route) addMatcher(m matcher) *Route { + if r.err == nil { + r.matchers = append(r.matchers, m) + } + return r +} + +// addRegexpMatcher adds a host or path matcher and builder to a route. +func (r *Route) addRegexpMatcher(tpl string, matchHost, matchPrefix, matchQuery bool) error { + if r.err != nil { + return r.err + } + r.regexp = r.getRegexpGroup() + if !matchHost && !matchQuery { + if len(tpl) > 0 && tpl[0] != '/' { + return fmt.Errorf("mux: path must start with a slash, got %q", tpl) + } + if r.regexp.path != nil { + tpl = strings.TrimRight(r.regexp.path.template, "/") + tpl + } + } + rr, err := newRouteRegexp(tpl, matchHost, matchPrefix, matchQuery, r.strictSlash, r.useEncodedPath) + if err != nil { + return err + } + for _, q := range r.regexp.queries { + if err = uniqueVars(rr.varsN, q.varsN); err != nil { + return err + } + } + if matchHost { + if r.regexp.path != nil { + if err = uniqueVars(rr.varsN, r.regexp.path.varsN); err != nil { + return err + } + } + r.regexp.host = rr + } else { + if r.regexp.host != nil { + if err = uniqueVars(rr.varsN, r.regexp.host.varsN); err != nil { + return err + } + } + if matchQuery { + r.regexp.queries = append(r.regexp.queries, rr) + } else { + r.regexp.path = rr + } + } + r.addMatcher(rr) + return nil +} + +// Headers -------------------------------------------------------------------- + +// headerMatcher matches the request against header values. +type headerMatcher map[string]string + +func (m headerMatcher) Match(r *http.Request, match *RouteMatch) bool { + return matchMapWithString(m, r.Header, true) +} + +// Headers adds a matcher for request header values. +// It accepts a sequence of key/value pairs to be matched. For example: +// +// r := mux.NewRouter() +// r.Headers("Content-Type", "application/json", +// "X-Requested-With", "XMLHttpRequest") +// +// The above route will only match if both request header values match. +// If the value is an empty string, it will match any value if the key is set. +func (r *Route) Headers(pairs ...string) *Route { + if r.err == nil { + var headers map[string]string + headers, r.err = mapFromPairsToString(pairs...) + return r.addMatcher(headerMatcher(headers)) + } + return r +} + +// headerRegexMatcher matches the request against the route given a regex for the header +type headerRegexMatcher map[string]*regexp.Regexp + +func (m headerRegexMatcher) Match(r *http.Request, match *RouteMatch) bool { + return matchMapWithRegex(m, r.Header, true) +} + +// HeadersRegexp accepts a sequence of key/value pairs, where the value has regex +// support. For example: +// +// r := mux.NewRouter() +// r.HeadersRegexp("Content-Type", "application/(text|json)", +// "X-Requested-With", "XMLHttpRequest") +// +// The above route will only match if both the request header matches both regular expressions. +// It the value is an empty string, it will match any value if the key is set. +func (r *Route) HeadersRegexp(pairs ...string) *Route { + if r.err == nil { + var headers map[string]*regexp.Regexp + headers, r.err = mapFromPairsToRegex(pairs...) + return r.addMatcher(headerRegexMatcher(headers)) + } + return r +} + +// Host ----------------------------------------------------------------------- + +// Host adds a matcher for the URL host. +// It accepts a template with zero or more URL variables enclosed by {}. +// Variables can define an optional regexp pattern to be matched: +// +// - {name} matches anything until the next dot. +// +// - {name:pattern} matches the given regexp pattern. +// +// For example: +// +// r := mux.NewRouter() +// r.Host("www.example.com") +// r.Host("{subdomain}.domain.com") +// r.Host("{subdomain:[a-z]+}.domain.com") +// +// Variable names must be unique in a given route. They can be retrieved +// calling mux.Vars(request). +func (r *Route) Host(tpl string) *Route { + r.err = r.addRegexpMatcher(tpl, true, false, false) + return r +} + +// MatcherFunc ---------------------------------------------------------------- + +// MatcherFunc is the function signature used by custom matchers. +type MatcherFunc func(*http.Request, *RouteMatch) bool + +// Match returns the match for a given request. +func (m MatcherFunc) Match(r *http.Request, match *RouteMatch) bool { + return m(r, match) +} + +// MatcherFunc adds a custom function to be used as request matcher. +func (r *Route) MatcherFunc(f MatcherFunc) *Route { + return r.addMatcher(f) +} + +// Methods -------------------------------------------------------------------- + +// methodMatcher matches the request against HTTP methods. +type methodMatcher []string + +func (m methodMatcher) Match(r *http.Request, match *RouteMatch) bool { + return matchInArray(m, r.Method) +} + +// Methods adds a matcher for HTTP methods. +// It accepts a sequence of one or more methods to be matched, e.g.: +// "GET", "POST", "PUT". +func (r *Route) Methods(methods ...string) *Route { + for k, v := range methods { + methods[k] = strings.ToUpper(v) + } + return r.addMatcher(methodMatcher(methods)) +} + +// Path ----------------------------------------------------------------------- + +// Path adds a matcher for the URL path. +// It accepts a template with zero or more URL variables enclosed by {}. The +// template must start with a "/". +// Variables can define an optional regexp pattern to be matched: +// +// - {name} matches anything until the next slash. +// +// - {name:pattern} matches the given regexp pattern. +// +// For example: +// +// r := mux.NewRouter() +// r.Path("/products/").Handler(ProductsHandler) +// r.Path("/products/{key}").Handler(ProductsHandler) +// r.Path("/articles/{category}/{id:[0-9]+}"). +// Handler(ArticleHandler) +// +// Variable names must be unique in a given route. They can be retrieved +// calling mux.Vars(request). +func (r *Route) Path(tpl string) *Route { + r.err = r.addRegexpMatcher(tpl, false, false, false) + return r +} + +// PathPrefix ----------------------------------------------------------------- + +// PathPrefix adds a matcher for the URL path prefix. This matches if the given +// template is a prefix of the full URL path. See Route.Path() for details on +// the tpl argument. +// +// Note that it does not treat slashes specially ("/foobar/" will be matched by +// the prefix "/foo") so you may want to use a trailing slash here. +// +// Also note that the setting of Router.StrictSlash() has no effect on routes +// with a PathPrefix matcher. +func (r *Route) PathPrefix(tpl string) *Route { + r.err = r.addRegexpMatcher(tpl, false, true, false) + return r +} + +// Query ---------------------------------------------------------------------- + +// Queries adds a matcher for URL query values. +// It accepts a sequence of key/value pairs. Values may define variables. +// For example: +// +// r := mux.NewRouter() +// r.Queries("foo", "bar", "id", "{id:[0-9]+}") +// +// The above route will only match if the URL contains the defined queries +// values, e.g.: ?foo=bar&id=42. +// +// It the value is an empty string, it will match any value if the key is set. +// +// Variables can define an optional regexp pattern to be matched: +// +// - {name} matches anything until the next slash. +// +// - {name:pattern} matches the given regexp pattern. +func (r *Route) Queries(pairs ...string) *Route { + length := len(pairs) + if length%2 != 0 { + r.err = fmt.Errorf( + "mux: number of parameters must be multiple of 2, got %v", pairs) + return nil + } + for i := 0; i < length; i += 2 { + if r.err = r.addRegexpMatcher(pairs[i]+"="+pairs[i+1], false, false, true); r.err != nil { + return r + } + } + + return r +} + +// Schemes -------------------------------------------------------------------- + +// schemeMatcher matches the request against URL schemes. +type schemeMatcher []string + +func (m schemeMatcher) Match(r *http.Request, match *RouteMatch) bool { + return matchInArray(m, r.URL.Scheme) +} + +// Schemes adds a matcher for URL schemes. +// It accepts a sequence of schemes to be matched, e.g.: "http", "https". +func (r *Route) Schemes(schemes ...string) *Route { + for k, v := range schemes { + schemes[k] = strings.ToLower(v) + } + return r.addMatcher(schemeMatcher(schemes)) +} + +// BuildVarsFunc -------------------------------------------------------------- + +// BuildVarsFunc is the function signature used by custom build variable +// functions (which can modify route variables before a route's URL is built). +type BuildVarsFunc func(map[string]string) map[string]string + +// BuildVarsFunc adds a custom function to be used to modify build variables +// before a route's URL is built. +func (r *Route) BuildVarsFunc(f BuildVarsFunc) *Route { + r.buildVarsFunc = f + return r +} + +// Subrouter ------------------------------------------------------------------ + +// Subrouter creates a subrouter for the route. +// +// It will test the inner routes only if the parent route matched. For example: +// +// r := mux.NewRouter() +// s := r.Host("www.example.com").Subrouter() +// s.HandleFunc("/products/", ProductsHandler) +// s.HandleFunc("/products/{key}", ProductHandler) +// s.HandleFunc("/articles/{category}/{id:[0-9]+}"), ArticleHandler) +// +// Here, the routes registered in the subrouter won't be tested if the host +// doesn't match. +func (r *Route) Subrouter() *Router { + router := &Router{parent: r, strictSlash: r.strictSlash} + r.addMatcher(router) + return router +} + +// ---------------------------------------------------------------------------- +// URL building +// ---------------------------------------------------------------------------- + +// URL builds a URL for the route. +// +// It accepts a sequence of key/value pairs for the route variables. For +// example, given this route: +// +// r := mux.NewRouter() +// r.HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler). +// Name("article") +// +// ...a URL for it can be built using: +// +// url, err := r.Get("article").URL("category", "technology", "id", "42") +// +// ...which will return an url.URL with the following path: +// +// "/articles/technology/42" +// +// This also works for host variables: +// +// r := mux.NewRouter() +// r.Host("{subdomain}.domain.com"). +// HandleFunc("/articles/{category}/{id:[0-9]+}", ArticleHandler). +// Name("article") +// +// // url.String() will be "http://news.domain.com/articles/technology/42" +// url, err := r.Get("article").URL("subdomain", "news", +// "category", "technology", +// "id", "42") +// +// All variables defined in the route are required, and their values must +// conform to the corresponding patterns. +func (r *Route) URL(pairs ...string) (*url.URL, error) { + if r.err != nil { + return nil, r.err + } + if r.regexp == nil { + return nil, errors.New("mux: route doesn't have a host or path") + } + values, err := r.prepareVars(pairs...) + if err != nil { + return nil, err + } + var scheme, host, path string + if r.regexp.host != nil { + // Set a default scheme. + scheme = "http" + if host, err = r.regexp.host.url(values); err != nil { + return nil, err + } + } + if r.regexp.path != nil { + if path, err = r.regexp.path.url(values); err != nil { + return nil, err + } + } + return &url.URL{ + Scheme: scheme, + Host: host, + Path: path, + }, nil +} + +// URLHost builds the host part of the URL for a route. See Route.URL(). +// +// The route must have a host defined. +func (r *Route) URLHost(pairs ...string) (*url.URL, error) { + if r.err != nil { + return nil, r.err + } + if r.regexp == nil || r.regexp.host == nil { + return nil, errors.New("mux: route doesn't have a host") + } + values, err := r.prepareVars(pairs...) + if err != nil { + return nil, err + } + host, err := r.regexp.host.url(values) + if err != nil { + return nil, err + } + return &url.URL{ + Scheme: "http", + Host: host, + }, nil +} + +// URLPath builds the path part of the URL for a route. See Route.URL(). +// +// The route must have a path defined. +func (r *Route) URLPath(pairs ...string) (*url.URL, error) { + if r.err != nil { + return nil, r.err + } + if r.regexp == nil || r.regexp.path == nil { + return nil, errors.New("mux: route doesn't have a path") + } + values, err := r.prepareVars(pairs...) + if err != nil { + return nil, err + } + path, err := r.regexp.path.url(values) + if err != nil { + return nil, err + } + return &url.URL{ + Path: path, + }, nil +} + +// GetPathTemplate returns the template used to build the +// route match. +// This is useful for building simple REST API documentation and for instrumentation +// against third-party services. +// An error will be returned if the route does not define a path. +func (r *Route) GetPathTemplate() (string, error) { + if r.err != nil { + return "", r.err + } + if r.regexp == nil || r.regexp.path == nil { + return "", errors.New("mux: route doesn't have a path") + } + return r.regexp.path.template, nil +} + +// GetHostTemplate returns the template used to build the +// route match. +// This is useful for building simple REST API documentation and for instrumentation +// against third-party services. +// An error will be returned if the route does not define a host. +func (r *Route) GetHostTemplate() (string, error) { + if r.err != nil { + return "", r.err + } + if r.regexp == nil || r.regexp.host == nil { + return "", errors.New("mux: route doesn't have a host") + } + return r.regexp.host.template, nil +} + +// prepareVars converts the route variable pairs into a map. If the route has a +// BuildVarsFunc, it is invoked. +func (r *Route) prepareVars(pairs ...string) (map[string]string, error) { + m, err := mapFromPairsToString(pairs...) + if err != nil { + return nil, err + } + return r.buildVars(m), nil +} + +func (r *Route) buildVars(m map[string]string) map[string]string { + if r.parent != nil { + m = r.parent.buildVars(m) + } + if r.buildVarsFunc != nil { + m = r.buildVarsFunc(m) + } + return m +} + +// ---------------------------------------------------------------------------- +// parentRoute +// ---------------------------------------------------------------------------- + +// parentRoute allows routes to know about parent host and path definitions. +type parentRoute interface { + getNamedRoutes() map[string]*Route + getRegexpGroup() *routeRegexpGroup + buildVars(map[string]string) map[string]string +} + +// getNamedRoutes returns the map where named routes are registered. +func (r *Route) getNamedRoutes() map[string]*Route { + if r.parent == nil { + // During tests router is not always set. + r.parent = NewRouter() + } + return r.parent.getNamedRoutes() +} + +// getRegexpGroup returns regexp definitions from this route. +func (r *Route) getRegexpGroup() *routeRegexpGroup { + if r.regexp == nil { + if r.parent == nil { + // During tests router is not always set. + r.parent = NewRouter() + } + regexp := r.parent.getRegexpGroup() + if regexp == nil { + r.regexp = new(routeRegexpGroup) + } else { + // Copy. + r.regexp = &routeRegexpGroup{ + host: regexp.host, + path: regexp.path, + queries: regexp.queries, + } + } + } + return r.regexp +} diff --git a/vendor/github.com/gorilla/pat/LICENSE b/vendor/github.com/gorilla/pat/LICENSE new file mode 100644 index 0000000..0e5fb87 --- /dev/null +++ b/vendor/github.com/gorilla/pat/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 Rodrigo Moraes. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/pat/README.md b/vendor/github.com/gorilla/pat/README.md new file mode 100644 index 0000000..d89500c --- /dev/null +++ b/vendor/github.com/gorilla/pat/README.md @@ -0,0 +1,70 @@ +pat +=== +[![GoDoc](https://godoc.org/github.com/gorilla/pat?status.svg)](https://godoc.org/github.com/gorilla/pat) +[![Build Status](https://travis-ci.org/gorilla/pat.svg?branch=master)](https://travis-ci.org/gorilla/pat) + +### How to use? + +pat is pretty simple. The documentation lives [here](http://www.gorillatoolkit.org/pkg/pat). + +### Install +With a properly configured Go toolchain: +```sh +go get github.com/gorilla/pat +``` + +### Example + +Here's an example of a RESTful api: + +```go +package main + +import ( + "log" + "net/http" + + "github.com/gorilla/pat" +) + +func homeHandler(wr http.ResponseWriter, req *http.Request) { + wr.WriteHeader(http.StatusOK) + wr.Write([]byte("Yay! We're home, Jim!")) +} + +func getAllTheThings(wr http.ResponseWriter, req *http.Request) { + wr.WriteHeader(http.StatusOK) + wr.Write([]byte("Look, Jim! Get all the things!")) +} + +func putOneThing(wr http.ResponseWriter, req *http.Request) { + wr.WriteHeader(http.StatusOK) + wr.Write([]byte("Look, Jim! Put one thing!")) +} + +func deleteOneThing(wr http.ResponseWriter, req *http.Request) { + wr.WriteHeader(http.StatusOK) + wr.Write([]byte("Look, Jim! Delete one thing!")) +} + +func main() { + router := pat.New() + + router.Get("/things", getAllTheThings) + + router.Put("/things/{id}", putOneThing) + router.Delete("/things/{id}", deleteOneThing) + + router.Get("/", homeHandler) + + http.Handle("/", router) + + log.Print("Listening on 127.0.0.1:8000...") + log.Fatal(http.ListenAndServe(":8000", nil)) +} +``` +Notice how the routes descend? That's because Pat will take the first route +that matches. For your own testing, take the line ```router.Get("/", +homeHandler)``` and put it above the other routes and run the example. When you +try to curl any of the routes, you'll only get what the homeHandler returns. +Design your routes carefully. diff --git a/vendor/github.com/gorilla/pat/doc.go b/vendor/github.com/gorilla/pat/doc.go new file mode 100644 index 0000000..df66d08 --- /dev/null +++ b/vendor/github.com/gorilla/pat/doc.go @@ -0,0 +1,67 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package gorilla/pat is a request router and dispatcher with a pat-like +interface. It is an alternative to gorilla/mux that showcases how it can +be used as a base for different API flavors. Package pat is documented at: + + http://godoc.org/github.com/bmizerany/pat + +Let's start registering a couple of URL paths and handlers: + + func main() { + r := pat.New() + r.Get("/products", ProductsHandler) + r.Get("/articles", ArticlesHandler) + r.Get("/", HomeHandler) + http.Handle("/", r) + } + +Here we register three routes mapping URL paths to handlers. This is +equivalent to how http.HandleFunc() works: if an incoming GET request matches +one of the paths, the corresponding handler is called passing +(http.ResponseWriter, *http.Request) as parameters. + +Note: gorilla/pat matches path prefixes, so you must register the most +specific paths first. + +Note: differently from pat, these methods accept a handler function, and not an +http.Handler. We think this is shorter and more convenient. To set an +http.Handler, use the Add() method. + +Paths can have variables. They are defined using the format {name} or +{name:pattern}. If a regular expression pattern is not defined, the matched +variable will be anything until the next slash. For example: + + r := pat.New() + r.Get("/articles/{category}/{id:[0-9]+}", ArticleHandler) + r.Get("/articles/{category}/", ArticlesCategoryHandler) + r.Get("/products/{key}", ProductHandler) + +The names are used to create a map of route variables which are stored in the +URL query, prefixed by a colon: + + category := req.URL.Query().Get(":category") + +As in the gorilla/mux package, other matchers can be added to the registered +routes and URLs can be reversed as well. To build a URL for a route, first +add a name to it: + + r.Get("/products/{key}", ProductHandler).Name("product") + +Then you can get it using the name and generate a URL: + + url, err := r.GetRoute("product").URL("key", "transmogrifier") + +...and the result will be a url.URL with the following path: + + "/products/transmogrifier" + +Check the mux documentation for more details about URL building and extra +matchers: + + http://gorilla-web.appspot.com/pkg/mux/ +*/ +package pat diff --git a/vendor/github.com/gorilla/pat/pat.go b/vendor/github.com/gorilla/pat/pat.go new file mode 100644 index 0000000..26a03ea --- /dev/null +++ b/vendor/github.com/gorilla/pat/pat.go @@ -0,0 +1,126 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pat + +import ( + "net/http" + "net/url" + "path" + "strings" + + "github.com/gorilla/context" + "github.com/gorilla/mux" +) + +// New returns a new router. +func New() *Router { + return &Router{} +} + +// Router is a request router that implements a pat-like API. +// +// pat docs: http://godoc.org/github.com/bmizerany/pat +type Router struct { + mux.Router +} + +// Add registers a pattern with a handler for the given request method. +func (r *Router) Add(meth, pat string, h http.Handler) *mux.Route { + return r.NewRoute().PathPrefix(pat).Handler(h).Methods(meth) +} + +// Options registers a pattern with a handler for OPTIONS requests. +func (r *Router) Options(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("OPTIONS", pat, h) +} + +// Delete registers a pattern with a handler for DELETE requests. +func (r *Router) Delete(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("DELETE", pat, h) +} + +// Head registers a pattern with a handler for HEAD requests. +func (r *Router) Head(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("HEAD", pat, h) +} + +// Get registers a pattern with a handler for GET requests. +func (r *Router) Get(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("GET", pat, h) +} + +// Post registers a pattern with a handler for POST requests. +func (r *Router) Post(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("POST", pat, h) +} + +// Put registers a pattern with a handler for PUT requests. +func (r *Router) Put(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("PUT", pat, h) +} + +// Patch registers a pattern with a handler for PATCH requests. +func (r *Router) Patch(pat string, h http.HandlerFunc) *mux.Route { + return r.Add("PATCH", pat, h) +} + +// ServeHTTP dispatches the handler registered in the matched route. +func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) { + // Clean path to canonical form and redirect. + if p := cleanPath(req.URL.Path); p != req.URL.Path { + w.Header().Set("Location", p) + w.WriteHeader(http.StatusMovedPermanently) + return + } + var match mux.RouteMatch + var handler http.Handler + if matched := r.Match(req, &match); matched { + handler = match.Handler + registerVars(req, match.Vars) + } + if handler == nil { + if r.NotFoundHandler == nil { + r.NotFoundHandler = http.NotFoundHandler() + } + handler = r.NotFoundHandler + } + if !r.KeepContext { + defer context.Clear(req) + } + handler.ServeHTTP(w, req) +} + +// registerVars adds the matched route variables to the URL query. +func registerVars(r *http.Request, vars map[string]string) { + parts, i := make([]string, len(vars)), 0 + for key, value := range vars { + parts[i] = url.QueryEscape(":"+key) + "=" + url.QueryEscape(value) + i++ + } + q := strings.Join(parts, "&") + if r.URL.RawQuery == "" { + r.URL.RawQuery = q + } else { + r.URL.RawQuery += "&" + q + } +} + +// cleanPath returns the canonical path for p, eliminating . and .. elements. +// Borrowed from the net/http package. +func cleanPath(p string) string { + if p == "" { + return "/" + } + if p[0] != '/' { + p = "/" + p + } + np := path.Clean(p) + // path.Clean removes trailing slash except for root; + // put the trailing slash back if necessary. + if p[len(p)-1] == '/' && np != "/" { + np += "/" + } + return np +} diff --git a/vendor/github.com/gorilla/websocket/AUTHORS b/vendor/github.com/gorilla/websocket/AUTHORS new file mode 100644 index 0000000..b003eca --- /dev/null +++ b/vendor/github.com/gorilla/websocket/AUTHORS @@ -0,0 +1,8 @@ +# This is the official list of Gorilla WebSocket authors for copyright +# purposes. +# +# Please keep the list sorted. + +Gary Burd +Joachim Bauch + diff --git a/vendor/github.com/gorilla/websocket/LICENSE b/vendor/github.com/gorilla/websocket/LICENSE new file mode 100644 index 0000000..9171c97 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2013 The Gorilla WebSocket Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/websocket/README.md b/vendor/github.com/gorilla/websocket/README.md new file mode 100644 index 0000000..33c3d2b --- /dev/null +++ b/vendor/github.com/gorilla/websocket/README.md @@ -0,0 +1,64 @@ +# Gorilla WebSocket + +Gorilla WebSocket is a [Go](http://golang.org/) implementation of the +[WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. + +[![Build Status](https://travis-ci.org/gorilla/websocket.svg?branch=master)](https://travis-ci.org/gorilla/websocket) +[![GoDoc](https://godoc.org/github.com/gorilla/websocket?status.svg)](https://godoc.org/github.com/gorilla/websocket) + +### Documentation + +* [API Reference](http://godoc.org/github.com/gorilla/websocket) +* [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat) +* [Command example](https://github.com/gorilla/websocket/tree/master/examples/command) +* [Client and server example](https://github.com/gorilla/websocket/tree/master/examples/echo) +* [File watch example](https://github.com/gorilla/websocket/tree/master/examples/filewatch) + +### Status + +The Gorilla WebSocket package provides a complete and tested implementation of +the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. The +package API is stable. + +### Installation + + go get github.com/gorilla/websocket + +### Protocol Compliance + +The Gorilla WebSocket package passes the server tests in the [Autobahn Test +Suite](http://autobahn.ws/testsuite) using the application in the [examples/autobahn +subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn). + +### Gorilla WebSocket compared with other packages + + + + + + + + + + + + + + + + + + +
github.com/gorillagolang.org/x/net
RFC 6455 Features
Passes Autobahn Test SuiteYesNo
Receive fragmented messageYesNo, see note 1
Send close messageYesNo
Send pings and receive pongsYesNo
Get the type of a received data messageYesYes, see note 2
Other Features
Compression ExtensionsExperimentalNo
Read message using io.ReaderYesNo, see note 3
Write message using io.WriteCloserYesNo, see note 3
+ +Notes: + +1. Large messages are fragmented in [Chrome's new WebSocket implementation](http://www.ietf.org/mail-archive/web/hybi/current/msg10503.html). +2. The application can get the type of a received data message by implementing + a [Codec marshal](http://godoc.org/golang.org/x/net/websocket#Codec.Marshal) + function. +3. The go.net io.Reader and io.Writer operate across WebSocket frame boundaries. + Read returns when the input buffer is full or a frame boundary is + encountered. Each call to Write sends a single frame message. The Gorilla + io.Reader and io.WriteCloser operate on a single WebSocket message. + diff --git a/vendor/github.com/gorilla/websocket/client.go b/vendor/github.com/gorilla/websocket/client.go new file mode 100644 index 0000000..43a87c7 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/client.go @@ -0,0 +1,392 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bufio" + "bytes" + "crypto/tls" + "encoding/base64" + "errors" + "io" + "io/ioutil" + "net" + "net/http" + "net/url" + "strings" + "time" +) + +// ErrBadHandshake is returned when the server response to opening handshake is +// invalid. +var ErrBadHandshake = errors.New("websocket: bad handshake") + +var errInvalidCompression = errors.New("websocket: invalid compression negotiation") + +// NewClient creates a new client connection using the given net connection. +// The URL u specifies the host and request URI. Use requestHeader to specify +// the origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies +// (Cookie). Use the response.Header to get the selected subprotocol +// (Sec-WebSocket-Protocol) and cookies (Set-Cookie). +// +// If the WebSocket handshake fails, ErrBadHandshake is returned along with a +// non-nil *http.Response so that callers can handle redirects, authentication, +// etc. +// +// Deprecated: Use Dialer instead. +func NewClient(netConn net.Conn, u *url.URL, requestHeader http.Header, readBufSize, writeBufSize int) (c *Conn, response *http.Response, err error) { + d := Dialer{ + ReadBufferSize: readBufSize, + WriteBufferSize: writeBufSize, + NetDial: func(net, addr string) (net.Conn, error) { + return netConn, nil + }, + } + return d.Dial(u.String(), requestHeader) +} + +// A Dialer contains options for connecting to WebSocket server. +type Dialer struct { + // NetDial specifies the dial function for creating TCP connections. If + // NetDial is nil, net.Dial is used. + NetDial func(network, addr string) (net.Conn, error) + + // Proxy specifies a function to return a proxy for a given + // Request. If the function returns a non-nil error, the + // request is aborted with the provided error. + // If Proxy is nil or returns a nil *URL, no proxy is used. + Proxy func(*http.Request) (*url.URL, error) + + // TLSClientConfig specifies the TLS configuration to use with tls.Client. + // If nil, the default configuration is used. + TLSClientConfig *tls.Config + + // HandshakeTimeout specifies the duration for the handshake to complete. + HandshakeTimeout time.Duration + + // ReadBufferSize and WriteBufferSize specify I/O buffer sizes. If a buffer + // size is zero, then a useful default size is used. The I/O buffer sizes + // do not limit the size of the messages that can be sent or received. + ReadBufferSize, WriteBufferSize int + + // Subprotocols specifies the client's requested subprotocols. + Subprotocols []string + + // EnableCompression specifies if the client should attempt to negotiate + // per message compression (RFC 7692). Setting this value to true does not + // guarantee that compression will be supported. Currently only "no context + // takeover" modes are supported. + EnableCompression bool + + // Jar specifies the cookie jar. + // If Jar is nil, cookies are not sent in requests and ignored + // in responses. + Jar http.CookieJar +} + +var errMalformedURL = errors.New("malformed ws or wss URL") + +// parseURL parses the URL. +// +// This function is a replacement for the standard library url.Parse function. +// In Go 1.4 and earlier, url.Parse loses information from the path. +func parseURL(s string) (*url.URL, error) { + // From the RFC: + // + // ws-URI = "ws:" "//" host [ ":" port ] path [ "?" query ] + // wss-URI = "wss:" "//" host [ ":" port ] path [ "?" query ] + var u url.URL + switch { + case strings.HasPrefix(s, "ws://"): + u.Scheme = "ws" + s = s[len("ws://"):] + case strings.HasPrefix(s, "wss://"): + u.Scheme = "wss" + s = s[len("wss://"):] + default: + return nil, errMalformedURL + } + + if i := strings.Index(s, "?"); i >= 0 { + u.RawQuery = s[i+1:] + s = s[:i] + } + + if i := strings.Index(s, "/"); i >= 0 { + u.Opaque = s[i:] + s = s[:i] + } else { + u.Opaque = "/" + } + + u.Host = s + + if strings.Contains(u.Host, "@") { + // Don't bother parsing user information because user information is + // not allowed in websocket URIs. + return nil, errMalformedURL + } + + return &u, nil +} + +func hostPortNoPort(u *url.URL) (hostPort, hostNoPort string) { + hostPort = u.Host + hostNoPort = u.Host + if i := strings.LastIndex(u.Host, ":"); i > strings.LastIndex(u.Host, "]") { + hostNoPort = hostNoPort[:i] + } else { + switch u.Scheme { + case "wss": + hostPort += ":443" + case "https": + hostPort += ":443" + default: + hostPort += ":80" + } + } + return hostPort, hostNoPort +} + +// DefaultDialer is a dialer with all fields set to the default zero values. +var DefaultDialer = &Dialer{ + Proxy: http.ProxyFromEnvironment, +} + +// Dial creates a new client connection. Use requestHeader to specify the +// origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies (Cookie). +// Use the response.Header to get the selected subprotocol +// (Sec-WebSocket-Protocol) and cookies (Set-Cookie). +// +// If the WebSocket handshake fails, ErrBadHandshake is returned along with a +// non-nil *http.Response so that callers can handle redirects, authentication, +// etcetera. The response body may not contain the entire response and does not +// need to be closed by the application. +func (d *Dialer) Dial(urlStr string, requestHeader http.Header) (*Conn, *http.Response, error) { + + if d == nil { + d = &Dialer{ + Proxy: http.ProxyFromEnvironment, + } + } + + challengeKey, err := generateChallengeKey() + if err != nil { + return nil, nil, err + } + + u, err := parseURL(urlStr) + if err != nil { + return nil, nil, err + } + + switch u.Scheme { + case "ws": + u.Scheme = "http" + case "wss": + u.Scheme = "https" + default: + return nil, nil, errMalformedURL + } + + if u.User != nil { + // User name and password are not allowed in websocket URIs. + return nil, nil, errMalformedURL + } + + req := &http.Request{ + Method: "GET", + URL: u, + Proto: "HTTP/1.1", + ProtoMajor: 1, + ProtoMinor: 1, + Header: make(http.Header), + Host: u.Host, + } + + // Set the cookies present in the cookie jar of the dialer + if d.Jar != nil { + for _, cookie := range d.Jar.Cookies(u) { + req.AddCookie(cookie) + } + } + + // Set the request headers using the capitalization for names and values in + // RFC examples. Although the capitalization shouldn't matter, there are + // servers that depend on it. The Header.Set method is not used because the + // method canonicalizes the header names. + req.Header["Upgrade"] = []string{"websocket"} + req.Header["Connection"] = []string{"Upgrade"} + req.Header["Sec-WebSocket-Key"] = []string{challengeKey} + req.Header["Sec-WebSocket-Version"] = []string{"13"} + if len(d.Subprotocols) > 0 { + req.Header["Sec-WebSocket-Protocol"] = []string{strings.Join(d.Subprotocols, ", ")} + } + for k, vs := range requestHeader { + switch { + case k == "Host": + if len(vs) > 0 { + req.Host = vs[0] + } + case k == "Upgrade" || + k == "Connection" || + k == "Sec-Websocket-Key" || + k == "Sec-Websocket-Version" || + k == "Sec-Websocket-Extensions" || + (k == "Sec-Websocket-Protocol" && len(d.Subprotocols) > 0): + return nil, nil, errors.New("websocket: duplicate header not allowed: " + k) + default: + req.Header[k] = vs + } + } + + if d.EnableCompression { + req.Header.Set("Sec-Websocket-Extensions", "permessage-deflate; server_no_context_takeover; client_no_context_takeover") + } + + hostPort, hostNoPort := hostPortNoPort(u) + + var proxyURL *url.URL + // Check wether the proxy method has been configured + if d.Proxy != nil { + proxyURL, err = d.Proxy(req) + } + if err != nil { + return nil, nil, err + } + + var targetHostPort string + if proxyURL != nil { + targetHostPort, _ = hostPortNoPort(proxyURL) + } else { + targetHostPort = hostPort + } + + var deadline time.Time + if d.HandshakeTimeout != 0 { + deadline = time.Now().Add(d.HandshakeTimeout) + } + + netDial := d.NetDial + if netDial == nil { + netDialer := &net.Dialer{Deadline: deadline} + netDial = netDialer.Dial + } + + netConn, err := netDial("tcp", targetHostPort) + if err != nil { + return nil, nil, err + } + + defer func() { + if netConn != nil { + netConn.Close() + } + }() + + if err := netConn.SetDeadline(deadline); err != nil { + return nil, nil, err + } + + if proxyURL != nil { + connectHeader := make(http.Header) + if user := proxyURL.User; user != nil { + proxyUser := user.Username() + if proxyPassword, passwordSet := user.Password(); passwordSet { + credential := base64.StdEncoding.EncodeToString([]byte(proxyUser + ":" + proxyPassword)) + connectHeader.Set("Proxy-Authorization", "Basic "+credential) + } + } + connectReq := &http.Request{ + Method: "CONNECT", + URL: &url.URL{Opaque: hostPort}, + Host: hostPort, + Header: connectHeader, + } + + connectReq.Write(netConn) + + // Read response. + // Okay to use and discard buffered reader here, because + // TLS server will not speak until spoken to. + br := bufio.NewReader(netConn) + resp, err := http.ReadResponse(br, connectReq) + if err != nil { + return nil, nil, err + } + if resp.StatusCode != 200 { + f := strings.SplitN(resp.Status, " ", 2) + return nil, nil, errors.New(f[1]) + } + } + + if u.Scheme == "https" { + cfg := cloneTLSConfig(d.TLSClientConfig) + if cfg.ServerName == "" { + cfg.ServerName = hostNoPort + } + tlsConn := tls.Client(netConn, cfg) + netConn = tlsConn + if err := tlsConn.Handshake(); err != nil { + return nil, nil, err + } + if !cfg.InsecureSkipVerify { + if err := tlsConn.VerifyHostname(cfg.ServerName); err != nil { + return nil, nil, err + } + } + } + + conn := newConn(netConn, false, d.ReadBufferSize, d.WriteBufferSize) + + if err := req.Write(netConn); err != nil { + return nil, nil, err + } + + resp, err := http.ReadResponse(conn.br, req) + if err != nil { + return nil, nil, err + } + + if d.Jar != nil { + if rc := resp.Cookies(); len(rc) > 0 { + d.Jar.SetCookies(u, rc) + } + } + + if resp.StatusCode != 101 || + !strings.EqualFold(resp.Header.Get("Upgrade"), "websocket") || + !strings.EqualFold(resp.Header.Get("Connection"), "upgrade") || + resp.Header.Get("Sec-Websocket-Accept") != computeAcceptKey(challengeKey) { + // Before closing the network connection on return from this + // function, slurp up some of the response to aid application + // debugging. + buf := make([]byte, 1024) + n, _ := io.ReadFull(resp.Body, buf) + resp.Body = ioutil.NopCloser(bytes.NewReader(buf[:n])) + return nil, resp, ErrBadHandshake + } + + for _, ext := range parseExtensions(resp.Header) { + if ext[""] != "permessage-deflate" { + continue + } + _, snct := ext["server_no_context_takeover"] + _, cnct := ext["client_no_context_takeover"] + if !snct || !cnct { + return nil, resp, errInvalidCompression + } + conn.newCompressionWriter = compressNoContextTakeover + conn.newDecompressionReader = decompressNoContextTakeover + break + } + + resp.Body = ioutil.NopCloser(bytes.NewReader([]byte{})) + conn.subprotocol = resp.Header.Get("Sec-Websocket-Protocol") + + netConn.SetDeadline(time.Time{}) + netConn = nil // to avoid close in defer. + return conn, resp, nil +} diff --git a/vendor/github.com/gorilla/websocket/client_clone.go b/vendor/github.com/gorilla/websocket/client_clone.go new file mode 100644 index 0000000..4f0d943 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/client_clone.go @@ -0,0 +1,16 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.8 + +package websocket + +import "crypto/tls" + +func cloneTLSConfig(cfg *tls.Config) *tls.Config { + if cfg == nil { + return &tls.Config{} + } + return cfg.Clone() +} diff --git a/vendor/github.com/gorilla/websocket/client_clone_legacy.go b/vendor/github.com/gorilla/websocket/client_clone_legacy.go new file mode 100644 index 0000000..babb007 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/client_clone_legacy.go @@ -0,0 +1,38 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.8 + +package websocket + +import "crypto/tls" + +// cloneTLSConfig clones all public fields except the fields +// SessionTicketsDisabled and SessionTicketKey. This avoids copying the +// sync.Mutex in the sync.Once and makes it safe to call cloneTLSConfig on a +// config in active use. +func cloneTLSConfig(cfg *tls.Config) *tls.Config { + if cfg == nil { + return &tls.Config{} + } + return &tls.Config{ + Rand: cfg.Rand, + Time: cfg.Time, + Certificates: cfg.Certificates, + NameToCertificate: cfg.NameToCertificate, + GetCertificate: cfg.GetCertificate, + RootCAs: cfg.RootCAs, + NextProtos: cfg.NextProtos, + ServerName: cfg.ServerName, + ClientAuth: cfg.ClientAuth, + ClientCAs: cfg.ClientCAs, + InsecureSkipVerify: cfg.InsecureSkipVerify, + CipherSuites: cfg.CipherSuites, + PreferServerCipherSuites: cfg.PreferServerCipherSuites, + ClientSessionCache: cfg.ClientSessionCache, + MinVersion: cfg.MinVersion, + MaxVersion: cfg.MaxVersion, + CurvePreferences: cfg.CurvePreferences, + } +} diff --git a/vendor/github.com/gorilla/websocket/compression.go b/vendor/github.com/gorilla/websocket/compression.go new file mode 100644 index 0000000..813ffb1 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/compression.go @@ -0,0 +1,148 @@ +// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "compress/flate" + "errors" + "io" + "strings" + "sync" +) + +const ( + minCompressionLevel = -2 // flate.HuffmanOnly not defined in Go < 1.6 + maxCompressionLevel = flate.BestCompression + defaultCompressionLevel = 1 +) + +var ( + flateWriterPools [maxCompressionLevel - minCompressionLevel + 1]sync.Pool + flateReaderPool = sync.Pool{New: func() interface{} { + return flate.NewReader(nil) + }} +) + +func decompressNoContextTakeover(r io.Reader) io.ReadCloser { + const tail = + // Add four bytes as specified in RFC + "\x00\x00\xff\xff" + + // Add final block to squelch unexpected EOF error from flate reader. + "\x01\x00\x00\xff\xff" + + fr, _ := flateReaderPool.Get().(io.ReadCloser) + fr.(flate.Resetter).Reset(io.MultiReader(r, strings.NewReader(tail)), nil) + return &flateReadWrapper{fr} +} + +func isValidCompressionLevel(level int) bool { + return minCompressionLevel <= level && level <= maxCompressionLevel +} + +func compressNoContextTakeover(w io.WriteCloser, level int) io.WriteCloser { + p := &flateWriterPools[level-minCompressionLevel] + tw := &truncWriter{w: w} + fw, _ := p.Get().(*flate.Writer) + if fw == nil { + fw, _ = flate.NewWriter(tw, level) + } else { + fw.Reset(tw) + } + return &flateWriteWrapper{fw: fw, tw: tw, p: p} +} + +// truncWriter is an io.Writer that writes all but the last four bytes of the +// stream to another io.Writer. +type truncWriter struct { + w io.WriteCloser + n int + p [4]byte +} + +func (w *truncWriter) Write(p []byte) (int, error) { + n := 0 + + // fill buffer first for simplicity. + if w.n < len(w.p) { + n = copy(w.p[w.n:], p) + p = p[n:] + w.n += n + if len(p) == 0 { + return n, nil + } + } + + m := len(p) + if m > len(w.p) { + m = len(w.p) + } + + if nn, err := w.w.Write(w.p[:m]); err != nil { + return n + nn, err + } + + copy(w.p[:], w.p[m:]) + copy(w.p[len(w.p)-m:], p[len(p)-m:]) + nn, err := w.w.Write(p[:len(p)-m]) + return n + nn, err +} + +type flateWriteWrapper struct { + fw *flate.Writer + tw *truncWriter + p *sync.Pool +} + +func (w *flateWriteWrapper) Write(p []byte) (int, error) { + if w.fw == nil { + return 0, errWriteClosed + } + return w.fw.Write(p) +} + +func (w *flateWriteWrapper) Close() error { + if w.fw == nil { + return errWriteClosed + } + err1 := w.fw.Flush() + w.p.Put(w.fw) + w.fw = nil + if w.tw.p != [4]byte{0, 0, 0xff, 0xff} { + return errors.New("websocket: internal error, unexpected bytes at end of flate stream") + } + err2 := w.tw.w.Close() + if err1 != nil { + return err1 + } + return err2 +} + +type flateReadWrapper struct { + fr io.ReadCloser +} + +func (r *flateReadWrapper) Read(p []byte) (int, error) { + if r.fr == nil { + return 0, io.ErrClosedPipe + } + n, err := r.fr.Read(p) + if err == io.EOF { + // Preemptively place the reader back in the pool. This helps with + // scenarios where the application does not call NextReader() soon after + // this final read. + r.Close() + } + return n, err +} + +func (r *flateReadWrapper) Close() error { + if r.fr == nil { + return io.ErrClosedPipe + } + err := r.fr.Close() + flateReaderPool.Put(r.fr) + r.fr = nil + return err +} diff --git a/vendor/github.com/gorilla/websocket/conn.go b/vendor/github.com/gorilla/websocket/conn.go new file mode 100644 index 0000000..97e1dba --- /dev/null +++ b/vendor/github.com/gorilla/websocket/conn.go @@ -0,0 +1,1149 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bufio" + "encoding/binary" + "errors" + "io" + "io/ioutil" + "math/rand" + "net" + "strconv" + "sync" + "time" + "unicode/utf8" +) + +const ( + // Frame header byte 0 bits from Section 5.2 of RFC 6455 + finalBit = 1 << 7 + rsv1Bit = 1 << 6 + rsv2Bit = 1 << 5 + rsv3Bit = 1 << 4 + + // Frame header byte 1 bits from Section 5.2 of RFC 6455 + maskBit = 1 << 7 + + maxFrameHeaderSize = 2 + 8 + 4 // Fixed header + length + mask + maxControlFramePayloadSize = 125 + + writeWait = time.Second + + defaultReadBufferSize = 4096 + defaultWriteBufferSize = 4096 + + continuationFrame = 0 + noFrame = -1 +) + +// Close codes defined in RFC 6455, section 11.7. +const ( + CloseNormalClosure = 1000 + CloseGoingAway = 1001 + CloseProtocolError = 1002 + CloseUnsupportedData = 1003 + CloseNoStatusReceived = 1005 + CloseAbnormalClosure = 1006 + CloseInvalidFramePayloadData = 1007 + ClosePolicyViolation = 1008 + CloseMessageTooBig = 1009 + CloseMandatoryExtension = 1010 + CloseInternalServerErr = 1011 + CloseServiceRestart = 1012 + CloseTryAgainLater = 1013 + CloseTLSHandshake = 1015 +) + +// The message types are defined in RFC 6455, section 11.8. +const ( + // TextMessage denotes a text data message. The text message payload is + // interpreted as UTF-8 encoded text data. + TextMessage = 1 + + // BinaryMessage denotes a binary data message. + BinaryMessage = 2 + + // CloseMessage denotes a close control message. The optional message + // payload contains a numeric code and text. Use the FormatCloseMessage + // function to format a close message payload. + CloseMessage = 8 + + // PingMessage denotes a ping control message. The optional message payload + // is UTF-8 encoded text. + PingMessage = 9 + + // PongMessage denotes a ping control message. The optional message payload + // is UTF-8 encoded text. + PongMessage = 10 +) + +// ErrCloseSent is returned when the application writes a message to the +// connection after sending a close message. +var ErrCloseSent = errors.New("websocket: close sent") + +// ErrReadLimit is returned when reading a message that is larger than the +// read limit set for the connection. +var ErrReadLimit = errors.New("websocket: read limit exceeded") + +// netError satisfies the net Error interface. +type netError struct { + msg string + temporary bool + timeout bool +} + +func (e *netError) Error() string { return e.msg } +func (e *netError) Temporary() bool { return e.temporary } +func (e *netError) Timeout() bool { return e.timeout } + +// CloseError represents close frame. +type CloseError struct { + + // Code is defined in RFC 6455, section 11.7. + Code int + + // Text is the optional text payload. + Text string +} + +func (e *CloseError) Error() string { + s := []byte("websocket: close ") + s = strconv.AppendInt(s, int64(e.Code), 10) + switch e.Code { + case CloseNormalClosure: + s = append(s, " (normal)"...) + case CloseGoingAway: + s = append(s, " (going away)"...) + case CloseProtocolError: + s = append(s, " (protocol error)"...) + case CloseUnsupportedData: + s = append(s, " (unsupported data)"...) + case CloseNoStatusReceived: + s = append(s, " (no status)"...) + case CloseAbnormalClosure: + s = append(s, " (abnormal closure)"...) + case CloseInvalidFramePayloadData: + s = append(s, " (invalid payload data)"...) + case ClosePolicyViolation: + s = append(s, " (policy violation)"...) + case CloseMessageTooBig: + s = append(s, " (message too big)"...) + case CloseMandatoryExtension: + s = append(s, " (mandatory extension missing)"...) + case CloseInternalServerErr: + s = append(s, " (internal server error)"...) + case CloseTLSHandshake: + s = append(s, " (TLS handshake error)"...) + } + if e.Text != "" { + s = append(s, ": "...) + s = append(s, e.Text...) + } + return string(s) +} + +// IsCloseError returns boolean indicating whether the error is a *CloseError +// with one of the specified codes. +func IsCloseError(err error, codes ...int) bool { + if e, ok := err.(*CloseError); ok { + for _, code := range codes { + if e.Code == code { + return true + } + } + } + return false +} + +// IsUnexpectedCloseError returns boolean indicating whether the error is a +// *CloseError with a code not in the list of expected codes. +func IsUnexpectedCloseError(err error, expectedCodes ...int) bool { + if e, ok := err.(*CloseError); ok { + for _, code := range expectedCodes { + if e.Code == code { + return false + } + } + return true + } + return false +} + +var ( + errWriteTimeout = &netError{msg: "websocket: write timeout", timeout: true, temporary: true} + errUnexpectedEOF = &CloseError{Code: CloseAbnormalClosure, Text: io.ErrUnexpectedEOF.Error()} + errBadWriteOpCode = errors.New("websocket: bad write message type") + errWriteClosed = errors.New("websocket: write closed") + errInvalidControlFrame = errors.New("websocket: invalid control frame") +) + +func newMaskKey() [4]byte { + n := rand.Uint32() + return [4]byte{byte(n), byte(n >> 8), byte(n >> 16), byte(n >> 24)} +} + +func hideTempErr(err error) error { + if e, ok := err.(net.Error); ok && e.Temporary() { + err = &netError{msg: e.Error(), timeout: e.Timeout()} + } + return err +} + +func isControl(frameType int) bool { + return frameType == CloseMessage || frameType == PingMessage || frameType == PongMessage +} + +func isData(frameType int) bool { + return frameType == TextMessage || frameType == BinaryMessage +} + +var validReceivedCloseCodes = map[int]bool{ + // see http://www.iana.org/assignments/websocket/websocket.xhtml#close-code-number + + CloseNormalClosure: true, + CloseGoingAway: true, + CloseProtocolError: true, + CloseUnsupportedData: true, + CloseNoStatusReceived: false, + CloseAbnormalClosure: false, + CloseInvalidFramePayloadData: true, + ClosePolicyViolation: true, + CloseMessageTooBig: true, + CloseMandatoryExtension: true, + CloseInternalServerErr: true, + CloseServiceRestart: true, + CloseTryAgainLater: true, + CloseTLSHandshake: false, +} + +func isValidReceivedCloseCode(code int) bool { + return validReceivedCloseCodes[code] || (code >= 3000 && code <= 4999) +} + +// The Conn type represents a WebSocket connection. +type Conn struct { + conn net.Conn + isServer bool + subprotocol string + + // Write fields + mu chan bool // used as mutex to protect write to conn + writeBuf []byte // frame is constructed in this buffer. + writeDeadline time.Time + writer io.WriteCloser // the current writer returned to the application + isWriting bool // for best-effort concurrent write detection + + writeErrMu sync.Mutex + writeErr error + + enableWriteCompression bool + compressionLevel int + newCompressionWriter func(io.WriteCloser, int) io.WriteCloser + + // Read fields + reader io.ReadCloser // the current reader returned to the application + readErr error + br *bufio.Reader + readRemaining int64 // bytes remaining in current frame. + readFinal bool // true the current message has more frames. + readLength int64 // Message size. + readLimit int64 // Maximum message size. + readMaskPos int + readMaskKey [4]byte + handlePong func(string) error + handlePing func(string) error + handleClose func(int, string) error + readErrCount int + messageReader *messageReader // the current low-level reader + + readDecompress bool // whether last read frame had RSV1 set + newDecompressionReader func(io.Reader) io.ReadCloser +} + +func newConn(conn net.Conn, isServer bool, readBufferSize, writeBufferSize int) *Conn { + return newConnBRW(conn, isServer, readBufferSize, writeBufferSize, nil) +} + +type writeHook struct { + p []byte +} + +func (wh *writeHook) Write(p []byte) (int, error) { + wh.p = p + return len(p), nil +} + +func newConnBRW(conn net.Conn, isServer bool, readBufferSize, writeBufferSize int, brw *bufio.ReadWriter) *Conn { + mu := make(chan bool, 1) + mu <- true + + var br *bufio.Reader + if readBufferSize == 0 && brw != nil && brw.Reader != nil { + // Reuse the supplied bufio.Reader if the buffer has a useful size. + // This code assumes that peek on a reader returns + // bufio.Reader.buf[:0]. + brw.Reader.Reset(conn) + if p, err := brw.Reader.Peek(0); err == nil && cap(p) >= 256 { + br = brw.Reader + } + } + if br == nil { + if readBufferSize == 0 { + readBufferSize = defaultReadBufferSize + } + if readBufferSize < maxControlFramePayloadSize { + readBufferSize = maxControlFramePayloadSize + } + br = bufio.NewReaderSize(conn, readBufferSize) + } + + var writeBuf []byte + if writeBufferSize == 0 && brw != nil && brw.Writer != nil { + // Use the bufio.Writer's buffer if the buffer has a useful size. This + // code assumes that bufio.Writer.buf[:1] is passed to the + // bufio.Writer's underlying writer. + var wh writeHook + brw.Writer.Reset(&wh) + brw.Writer.WriteByte(0) + brw.Flush() + if cap(wh.p) >= maxFrameHeaderSize+256 { + writeBuf = wh.p[:cap(wh.p)] + } + } + + if writeBuf == nil { + if writeBufferSize == 0 { + writeBufferSize = defaultWriteBufferSize + } + writeBuf = make([]byte, writeBufferSize+maxFrameHeaderSize) + } + + c := &Conn{ + isServer: isServer, + br: br, + conn: conn, + mu: mu, + readFinal: true, + writeBuf: writeBuf, + enableWriteCompression: true, + compressionLevel: defaultCompressionLevel, + } + c.SetCloseHandler(nil) + c.SetPingHandler(nil) + c.SetPongHandler(nil) + return c +} + +// Subprotocol returns the negotiated protocol for the connection. +func (c *Conn) Subprotocol() string { + return c.subprotocol +} + +// Close closes the underlying network connection without sending or waiting for a close frame. +func (c *Conn) Close() error { + return c.conn.Close() +} + +// LocalAddr returns the local network address. +func (c *Conn) LocalAddr() net.Addr { + return c.conn.LocalAddr() +} + +// RemoteAddr returns the remote network address. +func (c *Conn) RemoteAddr() net.Addr { + return c.conn.RemoteAddr() +} + +// Write methods + +func (c *Conn) writeFatal(err error) error { + err = hideTempErr(err) + c.writeErrMu.Lock() + if c.writeErr == nil { + c.writeErr = err + } + c.writeErrMu.Unlock() + return err +} + +func (c *Conn) write(frameType int, deadline time.Time, bufs ...[]byte) error { + <-c.mu + defer func() { c.mu <- true }() + + c.writeErrMu.Lock() + err := c.writeErr + c.writeErrMu.Unlock() + if err != nil { + return err + } + + c.conn.SetWriteDeadline(deadline) + for _, buf := range bufs { + if len(buf) > 0 { + _, err := c.conn.Write(buf) + if err != nil { + return c.writeFatal(err) + } + } + } + + if frameType == CloseMessage { + c.writeFatal(ErrCloseSent) + } + return nil +} + +// WriteControl writes a control message with the given deadline. The allowed +// message types are CloseMessage, PingMessage and PongMessage. +func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) error { + if !isControl(messageType) { + return errBadWriteOpCode + } + if len(data) > maxControlFramePayloadSize { + return errInvalidControlFrame + } + + b0 := byte(messageType) | finalBit + b1 := byte(len(data)) + if !c.isServer { + b1 |= maskBit + } + + buf := make([]byte, 0, maxFrameHeaderSize+maxControlFramePayloadSize) + buf = append(buf, b0, b1) + + if c.isServer { + buf = append(buf, data...) + } else { + key := newMaskKey() + buf = append(buf, key[:]...) + buf = append(buf, data...) + maskBytes(key, 0, buf[6:]) + } + + d := time.Hour * 1000 + if !deadline.IsZero() { + d = deadline.Sub(time.Now()) + if d < 0 { + return errWriteTimeout + } + } + + timer := time.NewTimer(d) + select { + case <-c.mu: + timer.Stop() + case <-timer.C: + return errWriteTimeout + } + defer func() { c.mu <- true }() + + c.writeErrMu.Lock() + err := c.writeErr + c.writeErrMu.Unlock() + if err != nil { + return err + } + + c.conn.SetWriteDeadline(deadline) + _, err = c.conn.Write(buf) + if err != nil { + return c.writeFatal(err) + } + if messageType == CloseMessage { + c.writeFatal(ErrCloseSent) + } + return err +} + +func (c *Conn) prepWrite(messageType int) error { + // Close previous writer if not already closed by the application. It's + // probably better to return an error in this situation, but we cannot + // change this without breaking existing applications. + if c.writer != nil { + c.writer.Close() + c.writer = nil + } + + if !isControl(messageType) && !isData(messageType) { + return errBadWriteOpCode + } + + c.writeErrMu.Lock() + err := c.writeErr + c.writeErrMu.Unlock() + return err +} + +// NextWriter returns a writer for the next message to send. The writer's Close +// method flushes the complete message to the network. +// +// There can be at most one open writer on a connection. NextWriter closes the +// previous writer if the application has not already done so. +func (c *Conn) NextWriter(messageType int) (io.WriteCloser, error) { + if err := c.prepWrite(messageType); err != nil { + return nil, err + } + + mw := &messageWriter{ + c: c, + frameType: messageType, + pos: maxFrameHeaderSize, + } + c.writer = mw + if c.newCompressionWriter != nil && c.enableWriteCompression && isData(messageType) { + w := c.newCompressionWriter(c.writer, c.compressionLevel) + mw.compress = true + c.writer = w + } + return c.writer, nil +} + +type messageWriter struct { + c *Conn + compress bool // whether next call to flushFrame should set RSV1 + pos int // end of data in writeBuf. + frameType int // type of the current frame. + err error +} + +func (w *messageWriter) fatal(err error) error { + if w.err != nil { + w.err = err + w.c.writer = nil + } + return err +} + +// flushFrame writes buffered data and extra as a frame to the network. The +// final argument indicates that this is the last frame in the message. +func (w *messageWriter) flushFrame(final bool, extra []byte) error { + c := w.c + length := w.pos - maxFrameHeaderSize + len(extra) + + // Check for invalid control frames. + if isControl(w.frameType) && + (!final || length > maxControlFramePayloadSize) { + return w.fatal(errInvalidControlFrame) + } + + b0 := byte(w.frameType) + if final { + b0 |= finalBit + } + if w.compress { + b0 |= rsv1Bit + } + w.compress = false + + b1 := byte(0) + if !c.isServer { + b1 |= maskBit + } + + // Assume that the frame starts at beginning of c.writeBuf. + framePos := 0 + if c.isServer { + // Adjust up if mask not included in the header. + framePos = 4 + } + + switch { + case length >= 65536: + c.writeBuf[framePos] = b0 + c.writeBuf[framePos+1] = b1 | 127 + binary.BigEndian.PutUint64(c.writeBuf[framePos+2:], uint64(length)) + case length > 125: + framePos += 6 + c.writeBuf[framePos] = b0 + c.writeBuf[framePos+1] = b1 | 126 + binary.BigEndian.PutUint16(c.writeBuf[framePos+2:], uint16(length)) + default: + framePos += 8 + c.writeBuf[framePos] = b0 + c.writeBuf[framePos+1] = b1 | byte(length) + } + + if !c.isServer { + key := newMaskKey() + copy(c.writeBuf[maxFrameHeaderSize-4:], key[:]) + maskBytes(key, 0, c.writeBuf[maxFrameHeaderSize:w.pos]) + if len(extra) > 0 { + return c.writeFatal(errors.New("websocket: internal error, extra used in client mode")) + } + } + + // Write the buffers to the connection with best-effort detection of + // concurrent writes. See the concurrency section in the package + // documentation for more info. + + if c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = true + + err := c.write(w.frameType, c.writeDeadline, c.writeBuf[framePos:w.pos], extra) + + if !c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = false + + if err != nil { + return w.fatal(err) + } + + if final { + c.writer = nil + return nil + } + + // Setup for next frame. + w.pos = maxFrameHeaderSize + w.frameType = continuationFrame + return nil +} + +func (w *messageWriter) ncopy(max int) (int, error) { + n := len(w.c.writeBuf) - w.pos + if n <= 0 { + if err := w.flushFrame(false, nil); err != nil { + return 0, err + } + n = len(w.c.writeBuf) - w.pos + } + if n > max { + n = max + } + return n, nil +} + +func (w *messageWriter) Write(p []byte) (int, error) { + if w.err != nil { + return 0, w.err + } + + if len(p) > 2*len(w.c.writeBuf) && w.c.isServer { + // Don't buffer large messages. + err := w.flushFrame(false, p) + if err != nil { + return 0, err + } + return len(p), nil + } + + nn := len(p) + for len(p) > 0 { + n, err := w.ncopy(len(p)) + if err != nil { + return 0, err + } + copy(w.c.writeBuf[w.pos:], p[:n]) + w.pos += n + p = p[n:] + } + return nn, nil +} + +func (w *messageWriter) WriteString(p string) (int, error) { + if w.err != nil { + return 0, w.err + } + + nn := len(p) + for len(p) > 0 { + n, err := w.ncopy(len(p)) + if err != nil { + return 0, err + } + copy(w.c.writeBuf[w.pos:], p[:n]) + w.pos += n + p = p[n:] + } + return nn, nil +} + +func (w *messageWriter) ReadFrom(r io.Reader) (nn int64, err error) { + if w.err != nil { + return 0, w.err + } + for { + if w.pos == len(w.c.writeBuf) { + err = w.flushFrame(false, nil) + if err != nil { + break + } + } + var n int + n, err = r.Read(w.c.writeBuf[w.pos:]) + w.pos += n + nn += int64(n) + if err != nil { + if err == io.EOF { + err = nil + } + break + } + } + return nn, err +} + +func (w *messageWriter) Close() error { + if w.err != nil { + return w.err + } + if err := w.flushFrame(true, nil); err != nil { + return err + } + w.err = errWriteClosed + return nil +} + +// WritePreparedMessage writes prepared message into connection. +func (c *Conn) WritePreparedMessage(pm *PreparedMessage) error { + frameType, frameData, err := pm.frame(prepareKey{ + isServer: c.isServer, + compress: c.newCompressionWriter != nil && c.enableWriteCompression && isData(pm.messageType), + compressionLevel: c.compressionLevel, + }) + if err != nil { + return err + } + if c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = true + err = c.write(frameType, c.writeDeadline, frameData, nil) + if !c.isWriting { + panic("concurrent write to websocket connection") + } + c.isWriting = false + return err +} + +// WriteMessage is a helper method for getting a writer using NextWriter, +// writing the message and closing the writer. +func (c *Conn) WriteMessage(messageType int, data []byte) error { + + if c.isServer && (c.newCompressionWriter == nil || !c.enableWriteCompression) { + // Fast path with no allocations and single frame. + + if err := c.prepWrite(messageType); err != nil { + return err + } + mw := messageWriter{c: c, frameType: messageType, pos: maxFrameHeaderSize} + n := copy(c.writeBuf[mw.pos:], data) + mw.pos += n + data = data[n:] + return mw.flushFrame(true, data) + } + + w, err := c.NextWriter(messageType) + if err != nil { + return err + } + if _, err = w.Write(data); err != nil { + return err + } + return w.Close() +} + +// SetWriteDeadline sets the write deadline on the underlying network +// connection. After a write has timed out, the websocket state is corrupt and +// all future writes will return an error. A zero value for t means writes will +// not time out. +func (c *Conn) SetWriteDeadline(t time.Time) error { + c.writeDeadline = t + return nil +} + +// Read methods + +func (c *Conn) advanceFrame() (int, error) { + + // 1. Skip remainder of previous frame. + + if c.readRemaining > 0 { + if _, err := io.CopyN(ioutil.Discard, c.br, c.readRemaining); err != nil { + return noFrame, err + } + } + + // 2. Read and parse first two bytes of frame header. + + p, err := c.read(2) + if err != nil { + return noFrame, err + } + + final := p[0]&finalBit != 0 + frameType := int(p[0] & 0xf) + mask := p[1]&maskBit != 0 + c.readRemaining = int64(p[1] & 0x7f) + + c.readDecompress = false + if c.newDecompressionReader != nil && (p[0]&rsv1Bit) != 0 { + c.readDecompress = true + p[0] &^= rsv1Bit + } + + if rsv := p[0] & (rsv1Bit | rsv2Bit | rsv3Bit); rsv != 0 { + return noFrame, c.handleProtocolError("unexpected reserved bits 0x" + strconv.FormatInt(int64(rsv), 16)) + } + + switch frameType { + case CloseMessage, PingMessage, PongMessage: + if c.readRemaining > maxControlFramePayloadSize { + return noFrame, c.handleProtocolError("control frame length > 125") + } + if !final { + return noFrame, c.handleProtocolError("control frame not final") + } + case TextMessage, BinaryMessage: + if !c.readFinal { + return noFrame, c.handleProtocolError("message start before final message frame") + } + c.readFinal = final + case continuationFrame: + if c.readFinal { + return noFrame, c.handleProtocolError("continuation after final message frame") + } + c.readFinal = final + default: + return noFrame, c.handleProtocolError("unknown opcode " + strconv.Itoa(frameType)) + } + + // 3. Read and parse frame length. + + switch c.readRemaining { + case 126: + p, err := c.read(2) + if err != nil { + return noFrame, err + } + c.readRemaining = int64(binary.BigEndian.Uint16(p)) + case 127: + p, err := c.read(8) + if err != nil { + return noFrame, err + } + c.readRemaining = int64(binary.BigEndian.Uint64(p)) + } + + // 4. Handle frame masking. + + if mask != c.isServer { + return noFrame, c.handleProtocolError("incorrect mask flag") + } + + if mask { + c.readMaskPos = 0 + p, err := c.read(len(c.readMaskKey)) + if err != nil { + return noFrame, err + } + copy(c.readMaskKey[:], p) + } + + // 5. For text and binary messages, enforce read limit and return. + + if frameType == continuationFrame || frameType == TextMessage || frameType == BinaryMessage { + + c.readLength += c.readRemaining + if c.readLimit > 0 && c.readLength > c.readLimit { + c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)) + return noFrame, ErrReadLimit + } + + return frameType, nil + } + + // 6. Read control frame payload. + + var payload []byte + if c.readRemaining > 0 { + payload, err = c.read(int(c.readRemaining)) + c.readRemaining = 0 + if err != nil { + return noFrame, err + } + if c.isServer { + maskBytes(c.readMaskKey, 0, payload) + } + } + + // 7. Process control frame payload. + + switch frameType { + case PongMessage: + if err := c.handlePong(string(payload)); err != nil { + return noFrame, err + } + case PingMessage: + if err := c.handlePing(string(payload)); err != nil { + return noFrame, err + } + case CloseMessage: + closeCode := CloseNoStatusReceived + closeText := "" + if len(payload) >= 2 { + closeCode = int(binary.BigEndian.Uint16(payload)) + if !isValidReceivedCloseCode(closeCode) { + return noFrame, c.handleProtocolError("invalid close code") + } + closeText = string(payload[2:]) + if !utf8.ValidString(closeText) { + return noFrame, c.handleProtocolError("invalid utf8 payload in close frame") + } + } + if err := c.handleClose(closeCode, closeText); err != nil { + return noFrame, err + } + return noFrame, &CloseError{Code: closeCode, Text: closeText} + } + + return frameType, nil +} + +func (c *Conn) handleProtocolError(message string) error { + c.WriteControl(CloseMessage, FormatCloseMessage(CloseProtocolError, message), time.Now().Add(writeWait)) + return errors.New("websocket: " + message) +} + +// NextReader returns the next data message received from the peer. The +// returned messageType is either TextMessage or BinaryMessage. +// +// There can be at most one open reader on a connection. NextReader discards +// the previous message if the application has not already consumed it. +// +// Applications must break out of the application's read loop when this method +// returns a non-nil error value. Errors returned from this method are +// permanent. Once this method returns a non-nil error, all subsequent calls to +// this method return the same error. +func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { + // Close previous reader, only relevant for decompression. + if c.reader != nil { + c.reader.Close() + c.reader = nil + } + + c.messageReader = nil + c.readLength = 0 + + for c.readErr == nil { + frameType, err := c.advanceFrame() + if err != nil { + c.readErr = hideTempErr(err) + break + } + if frameType == TextMessage || frameType == BinaryMessage { + c.messageReader = &messageReader{c} + c.reader = c.messageReader + if c.readDecompress { + c.reader = c.newDecompressionReader(c.reader) + } + return frameType, c.reader, nil + } + } + + // Applications that do handle the error returned from this method spin in + // tight loop on connection failure. To help application developers detect + // this error, panic on repeated reads to the failed connection. + c.readErrCount++ + if c.readErrCount >= 1000 { + panic("repeated read on failed websocket connection") + } + + return noFrame, nil, c.readErr +} + +type messageReader struct{ c *Conn } + +func (r *messageReader) Read(b []byte) (int, error) { + c := r.c + if c.messageReader != r { + return 0, io.EOF + } + + for c.readErr == nil { + + if c.readRemaining > 0 { + if int64(len(b)) > c.readRemaining { + b = b[:c.readRemaining] + } + n, err := c.br.Read(b) + c.readErr = hideTempErr(err) + if c.isServer { + c.readMaskPos = maskBytes(c.readMaskKey, c.readMaskPos, b[:n]) + } + c.readRemaining -= int64(n) + if c.readRemaining > 0 && c.readErr == io.EOF { + c.readErr = errUnexpectedEOF + } + return n, c.readErr + } + + if c.readFinal { + c.messageReader = nil + return 0, io.EOF + } + + frameType, err := c.advanceFrame() + switch { + case err != nil: + c.readErr = hideTempErr(err) + case frameType == TextMessage || frameType == BinaryMessage: + c.readErr = errors.New("websocket: internal error, unexpected text or binary in Reader") + } + } + + err := c.readErr + if err == io.EOF && c.messageReader == r { + err = errUnexpectedEOF + } + return 0, err +} + +func (r *messageReader) Close() error { + return nil +} + +// ReadMessage is a helper method for getting a reader using NextReader and +// reading from that reader to a buffer. +func (c *Conn) ReadMessage() (messageType int, p []byte, err error) { + var r io.Reader + messageType, r, err = c.NextReader() + if err != nil { + return messageType, nil, err + } + p, err = ioutil.ReadAll(r) + return messageType, p, err +} + +// SetReadDeadline sets the read deadline on the underlying network connection. +// After a read has timed out, the websocket connection state is corrupt and +// all future reads will return an error. A zero value for t means reads will +// not time out. +func (c *Conn) SetReadDeadline(t time.Time) error { + return c.conn.SetReadDeadline(t) +} + +// SetReadLimit sets the maximum size for a message read from the peer. If a +// message exceeds the limit, the connection sends a close frame to the peer +// and returns ErrReadLimit to the application. +func (c *Conn) SetReadLimit(limit int64) { + c.readLimit = limit +} + +// CloseHandler returns the current close handler +func (c *Conn) CloseHandler() func(code int, text string) error { + return c.handleClose +} + +// SetCloseHandler sets the handler for close messages received from the peer. +// The code argument to h is the received close code or CloseNoStatusReceived +// if the close message is empty. The default close handler sends a close frame +// back to the peer. +// +// The application must read the connection to process close messages as +// described in the section on Control Frames above. +// +// The connection read methods return a CloseError when a close frame is +// received. Most applications should handle close messages as part of their +// normal error handling. Applications should only set a close handler when the +// application must perform some action before sending a close frame back to +// the peer. +func (c *Conn) SetCloseHandler(h func(code int, text string) error) { + if h == nil { + h = func(code int, text string) error { + message := []byte{} + if code != CloseNoStatusReceived { + message = FormatCloseMessage(code, "") + } + c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)) + return nil + } + } + c.handleClose = h +} + +// PingHandler returns the current ping handler +func (c *Conn) PingHandler() func(appData string) error { + return c.handlePing +} + +// SetPingHandler sets the handler for ping messages received from the peer. +// The appData argument to h is the PING frame application data. The default +// ping handler sends a pong to the peer. +// +// The application must read the connection to process ping messages as +// described in the section on Control Frames above. +func (c *Conn) SetPingHandler(h func(appData string) error) { + if h == nil { + h = func(message string) error { + err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait)) + if err == ErrCloseSent { + return nil + } else if e, ok := err.(net.Error); ok && e.Temporary() { + return nil + } + return err + } + } + c.handlePing = h +} + +// PongHandler returns the current pong handler +func (c *Conn) PongHandler() func(appData string) error { + return c.handlePong +} + +// SetPongHandler sets the handler for pong messages received from the peer. +// The appData argument to h is the PONG frame application data. The default +// pong handler does nothing. +// +// The application must read the connection to process ping messages as +// described in the section on Control Frames above. +func (c *Conn) SetPongHandler(h func(appData string) error) { + if h == nil { + h = func(string) error { return nil } + } + c.handlePong = h +} + +// UnderlyingConn returns the internal net.Conn. This can be used to further +// modifications to connection specific flags. +func (c *Conn) UnderlyingConn() net.Conn { + return c.conn +} + +// EnableWriteCompression enables and disables write compression of +// subsequent text and binary messages. This function is a noop if +// compression was not negotiated with the peer. +func (c *Conn) EnableWriteCompression(enable bool) { + c.enableWriteCompression = enable +} + +// SetCompressionLevel sets the flate compression level for subsequent text and +// binary messages. This function is a noop if compression was not negotiated +// with the peer. See the compress/flate package for a description of +// compression levels. +func (c *Conn) SetCompressionLevel(level int) error { + if !isValidCompressionLevel(level) { + return errors.New("websocket: invalid compression level") + } + c.compressionLevel = level + return nil +} + +// FormatCloseMessage formats closeCode and text as a WebSocket close message. +func FormatCloseMessage(closeCode int, text string) []byte { + buf := make([]byte, 2+len(text)) + binary.BigEndian.PutUint16(buf, uint16(closeCode)) + copy(buf[2:], text) + return buf +} diff --git a/vendor/github.com/gorilla/websocket/conn_read.go b/vendor/github.com/gorilla/websocket/conn_read.go new file mode 100644 index 0000000..1ea1505 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/conn_read.go @@ -0,0 +1,18 @@ +// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.5 + +package websocket + +import "io" + +func (c *Conn) read(n int) ([]byte, error) { + p, err := c.br.Peek(n) + if err == io.EOF { + err = errUnexpectedEOF + } + c.br.Discard(len(p)) + return p, err +} diff --git a/vendor/github.com/gorilla/websocket/conn_read_legacy.go b/vendor/github.com/gorilla/websocket/conn_read_legacy.go new file mode 100644 index 0000000..018541c --- /dev/null +++ b/vendor/github.com/gorilla/websocket/conn_read_legacy.go @@ -0,0 +1,21 @@ +// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.5 + +package websocket + +import "io" + +func (c *Conn) read(n int) ([]byte, error) { + p, err := c.br.Peek(n) + if err == io.EOF { + err = errUnexpectedEOF + } + if len(p) > 0 { + // advance over the bytes just read + io.ReadFull(c.br, p) + } + return p, err +} diff --git a/vendor/github.com/gorilla/websocket/doc.go b/vendor/github.com/gorilla/websocket/doc.go new file mode 100644 index 0000000..e291a95 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/doc.go @@ -0,0 +1,180 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package websocket implements the WebSocket protocol defined in RFC 6455. +// +// Overview +// +// The Conn type represents a WebSocket connection. A server application uses +// the Upgrade function from an Upgrader object with a HTTP request handler +// to get a pointer to a Conn: +// +// var upgrader = websocket.Upgrader{ +// ReadBufferSize: 1024, +// WriteBufferSize: 1024, +// } +// +// func handler(w http.ResponseWriter, r *http.Request) { +// conn, err := upgrader.Upgrade(w, r, nil) +// if err != nil { +// log.Println(err) +// return +// } +// ... Use conn to send and receive messages. +// } +// +// Call the connection's WriteMessage and ReadMessage methods to send and +// receive messages as a slice of bytes. This snippet of code shows how to echo +// messages using these methods: +// +// for { +// messageType, p, err := conn.ReadMessage() +// if err != nil { +// return +// } +// if err = conn.WriteMessage(messageType, p); err != nil { +// return err +// } +// } +// +// In above snippet of code, p is a []byte and messageType is an int with value +// websocket.BinaryMessage or websocket.TextMessage. +// +// An application can also send and receive messages using the io.WriteCloser +// and io.Reader interfaces. To send a message, call the connection NextWriter +// method to get an io.WriteCloser, write the message to the writer and close +// the writer when done. To receive a message, call the connection NextReader +// method to get an io.Reader and read until io.EOF is returned. This snippet +// shows how to echo messages using the NextWriter and NextReader methods: +// +// for { +// messageType, r, err := conn.NextReader() +// if err != nil { +// return +// } +// w, err := conn.NextWriter(messageType) +// if err != nil { +// return err +// } +// if _, err := io.Copy(w, r); err != nil { +// return err +// } +// if err := w.Close(); err != nil { +// return err +// } +// } +// +// Data Messages +// +// The WebSocket protocol distinguishes between text and binary data messages. +// Text messages are interpreted as UTF-8 encoded text. The interpretation of +// binary messages is left to the application. +// +// This package uses the TextMessage and BinaryMessage integer constants to +// identify the two data message types. The ReadMessage and NextReader methods +// return the type of the received message. The messageType argument to the +// WriteMessage and NextWriter methods specifies the type of a sent message. +// +// It is the application's responsibility to ensure that text messages are +// valid UTF-8 encoded text. +// +// Control Messages +// +// The WebSocket protocol defines three types of control messages: close, ping +// and pong. Call the connection WriteControl, WriteMessage or NextWriter +// methods to send a control message to the peer. +// +// Connections handle received close messages by sending a close message to the +// peer and returning a *CloseError from the the NextReader, ReadMessage or the +// message Read method. +// +// Connections handle received ping and pong messages by invoking callback +// functions set with SetPingHandler and SetPongHandler methods. The callback +// functions are called from the NextReader, ReadMessage and the message Read +// methods. +// +// The default ping handler sends a pong to the peer. The application's reading +// goroutine can block for a short time while the handler writes the pong data +// to the connection. +// +// The application must read the connection to process ping, pong and close +// messages sent from the peer. If the application is not otherwise interested +// in messages from the peer, then the application should start a goroutine to +// read and discard messages from the peer. A simple example is: +// +// func readLoop(c *websocket.Conn) { +// for { +// if _, _, err := c.NextReader(); err != nil { +// c.Close() +// break +// } +// } +// } +// +// Concurrency +// +// Connections support one concurrent reader and one concurrent writer. +// +// Applications are responsible for ensuring that no more than one goroutine +// calls the write methods (NextWriter, SetWriteDeadline, WriteMessage, +// WriteJSON, EnableWriteCompression, SetCompressionLevel) concurrently and +// that no more than one goroutine calls the read methods (NextReader, +// SetReadDeadline, ReadMessage, ReadJSON, SetPongHandler, SetPingHandler) +// concurrently. +// +// The Close and WriteControl methods can be called concurrently with all other +// methods. +// +// Origin Considerations +// +// Web browsers allow Javascript applications to open a WebSocket connection to +// any host. It's up to the server to enforce an origin policy using the Origin +// request header sent by the browser. +// +// The Upgrader calls the function specified in the CheckOrigin field to check +// the origin. If the CheckOrigin function returns false, then the Upgrade +// method fails the WebSocket handshake with HTTP status 403. +// +// If the CheckOrigin field is nil, then the Upgrader uses a safe default: fail +// the handshake if the Origin request header is present and not equal to the +// Host request header. +// +// An application can allow connections from any origin by specifying a +// function that always returns true: +// +// var upgrader = websocket.Upgrader{ +// CheckOrigin: func(r *http.Request) bool { return true }, +// } +// +// The deprecated Upgrade function does not enforce an origin policy. It's the +// application's responsibility to check the Origin header before calling +// Upgrade. +// +// Compression EXPERIMENTAL +// +// Per message compression extensions (RFC 7692) are experimentally supported +// by this package in a limited capacity. Setting the EnableCompression option +// to true in Dialer or Upgrader will attempt to negotiate per message deflate +// support. +// +// var upgrader = websocket.Upgrader{ +// EnableCompression: true, +// } +// +// If compression was successfully negotiated with the connection's peer, any +// message received in compressed form will be automatically decompressed. +// All Read methods will return uncompressed bytes. +// +// Per message compression of messages written to a connection can be enabled +// or disabled by calling the corresponding Conn method: +// +// conn.EnableWriteCompression(false) +// +// Currently this package does not support compression with "context takeover". +// This means that messages must be compressed and decompressed in isolation, +// without retaining sliding window or dictionary state across messages. For +// more details refer to RFC 7692. +// +// Use of compression is experimental and may result in decreased performance. +package websocket diff --git a/vendor/github.com/gorilla/websocket/json.go b/vendor/github.com/gorilla/websocket/json.go new file mode 100644 index 0000000..4f0e368 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/json.go @@ -0,0 +1,55 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "encoding/json" + "io" +) + +// WriteJSON is deprecated, use c.WriteJSON instead. +func WriteJSON(c *Conn, v interface{}) error { + return c.WriteJSON(v) +} + +// WriteJSON writes the JSON encoding of v to the connection. +// +// See the documentation for encoding/json Marshal for details about the +// conversion of Go values to JSON. +func (c *Conn) WriteJSON(v interface{}) error { + w, err := c.NextWriter(TextMessage) + if err != nil { + return err + } + err1 := json.NewEncoder(w).Encode(v) + err2 := w.Close() + if err1 != nil { + return err1 + } + return err2 +} + +// ReadJSON is deprecated, use c.ReadJSON instead. +func ReadJSON(c *Conn, v interface{}) error { + return c.ReadJSON(v) +} + +// ReadJSON reads the next JSON-encoded message from the connection and stores +// it in the value pointed to by v. +// +// See the documentation for the encoding/json Unmarshal function for details +// about the conversion of JSON to a Go value. +func (c *Conn) ReadJSON(v interface{}) error { + _, r, err := c.NextReader() + if err != nil { + return err + } + err = json.NewDecoder(r).Decode(v) + if err == io.EOF { + // One value is expected in the message. + err = io.ErrUnexpectedEOF + } + return err +} diff --git a/vendor/github.com/gorilla/websocket/mask.go b/vendor/github.com/gorilla/websocket/mask.go new file mode 100644 index 0000000..6a88bbc --- /dev/null +++ b/vendor/github.com/gorilla/websocket/mask.go @@ -0,0 +1,55 @@ +// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of +// this source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +// +build !appengine + +package websocket + +import "unsafe" + +const wordSize = int(unsafe.Sizeof(uintptr(0))) + +func maskBytes(key [4]byte, pos int, b []byte) int { + + // Mask one byte at a time for small buffers. + if len(b) < 2*wordSize { + for i := range b { + b[i] ^= key[pos&3] + pos++ + } + return pos & 3 + } + + // Mask one byte at a time to word boundary. + if n := int(uintptr(unsafe.Pointer(&b[0]))) % wordSize; n != 0 { + n = wordSize - n + for i := range b[:n] { + b[i] ^= key[pos&3] + pos++ + } + b = b[n:] + } + + // Create aligned word size key. + var k [wordSize]byte + for i := range k { + k[i] = key[(pos+i)&3] + } + kw := *(*uintptr)(unsafe.Pointer(&k)) + + // Mask one word at a time. + n := (len(b) / wordSize) * wordSize + for i := 0; i < n; i += wordSize { + *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&b[0])) + uintptr(i))) ^= kw + } + + // Mask one byte at a time for remaining bytes. + b = b[n:] + for i := range b { + b[i] ^= key[pos&3] + pos++ + } + + return pos & 3 +} diff --git a/vendor/github.com/gorilla/websocket/mask_safe.go b/vendor/github.com/gorilla/websocket/mask_safe.go new file mode 100644 index 0000000..2aac060 --- /dev/null +++ b/vendor/github.com/gorilla/websocket/mask_safe.go @@ -0,0 +1,15 @@ +// Copyright 2016 The Gorilla WebSocket Authors. All rights reserved. Use of +// this source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +// +build appengine + +package websocket + +func maskBytes(key [4]byte, pos int, b []byte) int { + for i := range b { + b[i] ^= key[pos&3] + pos++ + } + return pos & 3 +} diff --git a/vendor/github.com/gorilla/websocket/prepared.go b/vendor/github.com/gorilla/websocket/prepared.go new file mode 100644 index 0000000..1efffbd --- /dev/null +++ b/vendor/github.com/gorilla/websocket/prepared.go @@ -0,0 +1,103 @@ +// Copyright 2017 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bytes" + "net" + "sync" + "time" +) + +// PreparedMessage caches on the wire representations of a message payload. +// Use PreparedMessage to efficiently send a message payload to multiple +// connections. PreparedMessage is especially useful when compression is used +// because the CPU and memory expensive compression operation can be executed +// once for a given set of compression options. +type PreparedMessage struct { + messageType int + data []byte + err error + mu sync.Mutex + frames map[prepareKey]*preparedFrame +} + +// prepareKey defines a unique set of options to cache prepared frames in PreparedMessage. +type prepareKey struct { + isServer bool + compress bool + compressionLevel int +} + +// preparedFrame contains data in wire representation. +type preparedFrame struct { + once sync.Once + data []byte +} + +// NewPreparedMessage returns an initialized PreparedMessage. You can then send +// it to connection using WritePreparedMessage method. Valid wire +// representation will be calculated lazily only once for a set of current +// connection options. +func NewPreparedMessage(messageType int, data []byte) (*PreparedMessage, error) { + pm := &PreparedMessage{ + messageType: messageType, + frames: make(map[prepareKey]*preparedFrame), + data: data, + } + + // Prepare a plain server frame. + _, frameData, err := pm.frame(prepareKey{isServer: true, compress: false}) + if err != nil { + return nil, err + } + + // To protect against caller modifying the data argument, remember the data + // copied to the plain server frame. + pm.data = frameData[len(frameData)-len(data):] + return pm, nil +} + +func (pm *PreparedMessage) frame(key prepareKey) (int, []byte, error) { + pm.mu.Lock() + frame, ok := pm.frames[key] + if !ok { + frame = &preparedFrame{} + pm.frames[key] = frame + } + pm.mu.Unlock() + + var err error + frame.once.Do(func() { + // Prepare a frame using a 'fake' connection. + // TODO: Refactor code in conn.go to allow more direct construction of + // the frame. + mu := make(chan bool, 1) + mu <- true + var nc prepareConn + c := &Conn{ + conn: &nc, + mu: mu, + isServer: key.isServer, + compressionLevel: key.compressionLevel, + enableWriteCompression: true, + writeBuf: make([]byte, defaultWriteBufferSize+maxFrameHeaderSize), + } + if key.compress { + c.newCompressionWriter = compressNoContextTakeover + } + err = c.WriteMessage(pm.messageType, pm.data) + frame.data = nc.buf.Bytes() + }) + return pm.messageType, frame.data, err +} + +type prepareConn struct { + buf bytes.Buffer + net.Conn +} + +func (pc *prepareConn) Write(p []byte) (int, error) { return pc.buf.Write(p) } +func (pc *prepareConn) SetWriteDeadline(t time.Time) error { return nil } diff --git a/vendor/github.com/gorilla/websocket/server.go b/vendor/github.com/gorilla/websocket/server.go new file mode 100644 index 0000000..3495e0f --- /dev/null +++ b/vendor/github.com/gorilla/websocket/server.go @@ -0,0 +1,291 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "bufio" + "errors" + "net" + "net/http" + "net/url" + "strings" + "time" +) + +// HandshakeError describes an error with the handshake from the peer. +type HandshakeError struct { + message string +} + +func (e HandshakeError) Error() string { return e.message } + +// Upgrader specifies parameters for upgrading an HTTP connection to a +// WebSocket connection. +type Upgrader struct { + // HandshakeTimeout specifies the duration for the handshake to complete. + HandshakeTimeout time.Duration + + // ReadBufferSize and WriteBufferSize specify I/O buffer sizes. If a buffer + // size is zero, then buffers allocated by the HTTP server are used. The + // I/O buffer sizes do not limit the size of the messages that can be sent + // or received. + ReadBufferSize, WriteBufferSize int + + // Subprotocols specifies the server's supported protocols in order of + // preference. If this field is set, then the Upgrade method negotiates a + // subprotocol by selecting the first match in this list with a protocol + // requested by the client. + Subprotocols []string + + // Error specifies the function for generating HTTP error responses. If Error + // is nil, then http.Error is used to generate the HTTP response. + Error func(w http.ResponseWriter, r *http.Request, status int, reason error) + + // CheckOrigin returns true if the request Origin header is acceptable. If + // CheckOrigin is nil, the host in the Origin header must not be set or + // must match the host of the request. + CheckOrigin func(r *http.Request) bool + + // EnableCompression specify if the server should attempt to negotiate per + // message compression (RFC 7692). Setting this value to true does not + // guarantee that compression will be supported. Currently only "no context + // takeover" modes are supported. + EnableCompression bool +} + +func (u *Upgrader) returnError(w http.ResponseWriter, r *http.Request, status int, reason string) (*Conn, error) { + err := HandshakeError{reason} + if u.Error != nil { + u.Error(w, r, status, err) + } else { + w.Header().Set("Sec-Websocket-Version", "13") + http.Error(w, http.StatusText(status), status) + } + return nil, err +} + +// checkSameOrigin returns true if the origin is not set or is equal to the request host. +func checkSameOrigin(r *http.Request) bool { + origin := r.Header["Origin"] + if len(origin) == 0 { + return true + } + u, err := url.Parse(origin[0]) + if err != nil { + return false + } + return u.Host == r.Host +} + +func (u *Upgrader) selectSubprotocol(r *http.Request, responseHeader http.Header) string { + if u.Subprotocols != nil { + clientProtocols := Subprotocols(r) + for _, serverProtocol := range u.Subprotocols { + for _, clientProtocol := range clientProtocols { + if clientProtocol == serverProtocol { + return clientProtocol + } + } + } + } else if responseHeader != nil { + return responseHeader.Get("Sec-Websocket-Protocol") + } + return "" +} + +// Upgrade upgrades the HTTP server connection to the WebSocket protocol. +// +// The responseHeader is included in the response to the client's upgrade +// request. Use the responseHeader to specify cookies (Set-Cookie) and the +// application negotiated subprotocol (Sec-Websocket-Protocol). +// +// If the upgrade fails, then Upgrade replies to the client with an HTTP error +// response. +func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (*Conn, error) { + if r.Method != "GET" { + return u.returnError(w, r, http.StatusMethodNotAllowed, "websocket: not a websocket handshake: request method is not GET") + } + + if _, ok := responseHeader["Sec-Websocket-Extensions"]; ok { + return u.returnError(w, r, http.StatusInternalServerError, "websocket: application specific 'Sec-Websocket-Extensions' headers are unsupported") + } + + if !tokenListContainsValue(r.Header, "Connection", "upgrade") { + return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header") + } + + if !tokenListContainsValue(r.Header, "Upgrade", "websocket") { + return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: 'websocket' token not found in 'Upgrade' header") + } + + if !tokenListContainsValue(r.Header, "Sec-Websocket-Version", "13") { + return u.returnError(w, r, http.StatusBadRequest, "websocket: unsupported version: 13 not found in 'Sec-Websocket-Version' header") + } + + checkOrigin := u.CheckOrigin + if checkOrigin == nil { + checkOrigin = checkSameOrigin + } + if !checkOrigin(r) { + return u.returnError(w, r, http.StatusForbidden, "websocket: 'Origin' header value not allowed") + } + + challengeKey := r.Header.Get("Sec-Websocket-Key") + if challengeKey == "" { + return u.returnError(w, r, http.StatusBadRequest, "websocket: not a websocket handshake: `Sec-Websocket-Key' header is missing or blank") + } + + subprotocol := u.selectSubprotocol(r, responseHeader) + + // Negotiate PMCE + var compress bool + if u.EnableCompression { + for _, ext := range parseExtensions(r.Header) { + if ext[""] != "permessage-deflate" { + continue + } + compress = true + break + } + } + + var ( + netConn net.Conn + err error + ) + + h, ok := w.(http.Hijacker) + if !ok { + return u.returnError(w, r, http.StatusInternalServerError, "websocket: response does not implement http.Hijacker") + } + var brw *bufio.ReadWriter + netConn, brw, err = h.Hijack() + if err != nil { + return u.returnError(w, r, http.StatusInternalServerError, err.Error()) + } + + if brw.Reader.Buffered() > 0 { + netConn.Close() + return nil, errors.New("websocket: client sent data before handshake is complete") + } + + c := newConnBRW(netConn, true, u.ReadBufferSize, u.WriteBufferSize, brw) + c.subprotocol = subprotocol + + if compress { + c.newCompressionWriter = compressNoContextTakeover + c.newDecompressionReader = decompressNoContextTakeover + } + + p := c.writeBuf[:0] + p = append(p, "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: "...) + p = append(p, computeAcceptKey(challengeKey)...) + p = append(p, "\r\n"...) + if c.subprotocol != "" { + p = append(p, "Sec-Websocket-Protocol: "...) + p = append(p, c.subprotocol...) + p = append(p, "\r\n"...) + } + if compress { + p = append(p, "Sec-Websocket-Extensions: permessage-deflate; server_no_context_takeover; client_no_context_takeover\r\n"...) + } + for k, vs := range responseHeader { + if k == "Sec-Websocket-Protocol" { + continue + } + for _, v := range vs { + p = append(p, k...) + p = append(p, ": "...) + for i := 0; i < len(v); i++ { + b := v[i] + if b <= 31 { + // prevent response splitting. + b = ' ' + } + p = append(p, b) + } + p = append(p, "\r\n"...) + } + } + p = append(p, "\r\n"...) + + // Clear deadlines set by HTTP server. + netConn.SetDeadline(time.Time{}) + + if u.HandshakeTimeout > 0 { + netConn.SetWriteDeadline(time.Now().Add(u.HandshakeTimeout)) + } + if _, err = netConn.Write(p); err != nil { + netConn.Close() + return nil, err + } + if u.HandshakeTimeout > 0 { + netConn.SetWriteDeadline(time.Time{}) + } + + return c, nil +} + +// Upgrade upgrades the HTTP server connection to the WebSocket protocol. +// +// This function is deprecated, use websocket.Upgrader instead. +// +// The application is responsible for checking the request origin before +// calling Upgrade. An example implementation of the same origin policy is: +// +// if req.Header.Get("Origin") != "http://"+req.Host { +// http.Error(w, "Origin not allowed", 403) +// return +// } +// +// If the endpoint supports subprotocols, then the application is responsible +// for negotiating the protocol used on the connection. Use the Subprotocols() +// function to get the subprotocols requested by the client. Use the +// Sec-Websocket-Protocol response header to specify the subprotocol selected +// by the application. +// +// The responseHeader is included in the response to the client's upgrade +// request. Use the responseHeader to specify cookies (Set-Cookie) and the +// negotiated subprotocol (Sec-Websocket-Protocol). +// +// The connection buffers IO to the underlying network connection. The +// readBufSize and writeBufSize parameters specify the size of the buffers to +// use. Messages can be larger than the buffers. +// +// If the request is not a valid WebSocket handshake, then Upgrade returns an +// error of type HandshakeError. Applications should handle this error by +// replying to the client with an HTTP error response. +func Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header, readBufSize, writeBufSize int) (*Conn, error) { + u := Upgrader{ReadBufferSize: readBufSize, WriteBufferSize: writeBufSize} + u.Error = func(w http.ResponseWriter, r *http.Request, status int, reason error) { + // don't return errors to maintain backwards compatibility + } + u.CheckOrigin = func(r *http.Request) bool { + // allow all connections by default + return true + } + return u.Upgrade(w, r, responseHeader) +} + +// Subprotocols returns the subprotocols requested by the client in the +// Sec-Websocket-Protocol header. +func Subprotocols(r *http.Request) []string { + h := strings.TrimSpace(r.Header.Get("Sec-Websocket-Protocol")) + if h == "" { + return nil + } + protocols := strings.Split(h, ",") + for i := range protocols { + protocols[i] = strings.TrimSpace(protocols[i]) + } + return protocols +} + +// IsWebSocketUpgrade returns true if the client requested upgrade to the +// WebSocket protocol. +func IsWebSocketUpgrade(r *http.Request) bool { + return tokenListContainsValue(r.Header, "Connection", "upgrade") && + tokenListContainsValue(r.Header, "Upgrade", "websocket") +} diff --git a/vendor/github.com/gorilla/websocket/util.go b/vendor/github.com/gorilla/websocket/util.go new file mode 100644 index 0000000..9a4908d --- /dev/null +++ b/vendor/github.com/gorilla/websocket/util.go @@ -0,0 +1,214 @@ +// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package websocket + +import ( + "crypto/rand" + "crypto/sha1" + "encoding/base64" + "io" + "net/http" + "strings" +) + +var keyGUID = []byte("258EAFA5-E914-47DA-95CA-C5AB0DC85B11") + +func computeAcceptKey(challengeKey string) string { + h := sha1.New() + h.Write([]byte(challengeKey)) + h.Write(keyGUID) + return base64.StdEncoding.EncodeToString(h.Sum(nil)) +} + +func generateChallengeKey() (string, error) { + p := make([]byte, 16) + if _, err := io.ReadFull(rand.Reader, p); err != nil { + return "", err + } + return base64.StdEncoding.EncodeToString(p), nil +} + +// Octet types from RFC 2616. +var octetTypes [256]byte + +const ( + isTokenOctet = 1 << iota + isSpaceOctet +) + +func init() { + // From RFC 2616 + // + // OCTET = + // CHAR = + // CTL = + // CR = + // LF = + // SP = + // HT = + // <"> = + // CRLF = CR LF + // LWS = [CRLF] 1*( SP | HT ) + // TEXT = + // separators = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> + // | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT + // token = 1* + // qdtext = > + + for c := 0; c < 256; c++ { + var t byte + isCtl := c <= 31 || c == 127 + isChar := 0 <= c && c <= 127 + isSeparator := strings.IndexRune(" \t\"(),/:;<=>?@[]\\{}", rune(c)) >= 0 + if strings.IndexRune(" \t\r\n", rune(c)) >= 0 { + t |= isSpaceOctet + } + if isChar && !isCtl && !isSeparator { + t |= isTokenOctet + } + octetTypes[c] = t + } +} + +func skipSpace(s string) (rest string) { + i := 0 + for ; i < len(s); i++ { + if octetTypes[s[i]]&isSpaceOctet == 0 { + break + } + } + return s[i:] +} + +func nextToken(s string) (token, rest string) { + i := 0 + for ; i < len(s); i++ { + if octetTypes[s[i]]&isTokenOctet == 0 { + break + } + } + return s[:i], s[i:] +} + +func nextTokenOrQuoted(s string) (value string, rest string) { + if !strings.HasPrefix(s, "\"") { + return nextToken(s) + } + s = s[1:] + for i := 0; i < len(s); i++ { + switch s[i] { + case '"': + return s[:i], s[i+1:] + case '\\': + p := make([]byte, len(s)-1) + j := copy(p, s[:i]) + escape := true + for i = i + 1; i < len(s); i++ { + b := s[i] + switch { + case escape: + escape = false + p[j] = b + j += 1 + case b == '\\': + escape = true + case b == '"': + return string(p[:j]), s[i+1:] + default: + p[j] = b + j += 1 + } + } + return "", "" + } + } + return "", "" +} + +// tokenListContainsValue returns true if the 1#token header with the given +// name contains token. +func tokenListContainsValue(header http.Header, name string, value string) bool { +headers: + for _, s := range header[name] { + for { + var t string + t, s = nextToken(skipSpace(s)) + if t == "" { + continue headers + } + s = skipSpace(s) + if s != "" && s[0] != ',' { + continue headers + } + if strings.EqualFold(t, value) { + return true + } + if s == "" { + continue headers + } + s = s[1:] + } + } + return false +} + +// parseExtensiosn parses WebSocket extensions from a header. +func parseExtensions(header http.Header) []map[string]string { + + // From RFC 6455: + // + // Sec-WebSocket-Extensions = extension-list + // extension-list = 1#extension + // extension = extension-token *( ";" extension-param ) + // extension-token = registered-token + // registered-token = token + // extension-param = token [ "=" (token | quoted-string) ] + // ;When using the quoted-string syntax variant, the value + // ;after quoted-string unescaping MUST conform to the + // ;'token' ABNF. + + var result []map[string]string +headers: + for _, s := range header["Sec-Websocket-Extensions"] { + for { + var t string + t, s = nextToken(skipSpace(s)) + if t == "" { + continue headers + } + ext := map[string]string{"": t} + for { + s = skipSpace(s) + if !strings.HasPrefix(s, ";") { + break + } + var k string + k, s = nextToken(skipSpace(s[1:])) + if k == "" { + continue headers + } + s = skipSpace(s) + var v string + if strings.HasPrefix(s, "=") { + v, s = nextTokenOrQuoted(skipSpace(s[1:])) + s = skipSpace(s) + } + if s != "" && s[0] != ',' && s[0] != ';' { + continue headers + } + ext[k] = v + } + if s != "" && s[0] != ',' { + continue headers + } + result = append(result, ext) + if s == "" { + continue headers + } + s = s[1:] + } + } + return result +} diff --git a/vendor/github.com/ian-kent/envconf/LICENSE.md b/vendor/github.com/ian-kent/envconf/LICENSE.md new file mode 100644 index 0000000..1f0d994 --- /dev/null +++ b/vendor/github.com/ian-kent/envconf/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/ian-kent/envconf/README.md b/vendor/github.com/ian-kent/envconf/README.md new file mode 100644 index 0000000..bdae64e --- /dev/null +++ b/vendor/github.com/ian-kent/envconf/README.md @@ -0,0 +1,30 @@ +envconf +======= + +Configure your Go application from the environment. + +Supports most basic Go types and works nicely with the built in `flag` package. + +```go +package main + +import( + "flag" + "fmt" + . "github.com/ian-kent/envconf" +) + +func main() { + count := flag.Int("count", FromEnvP("COUNT", 15).(int), "Count target") + flag.Parse() + for i := 1; i <= *count; i++ { + fmt.Printf("%d\n", i) + } +} +``` + +## Licence + +Copyright ©‎ 2014, Ian Kent (http://iankent.uk). + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/ian-kent/envconf/envconf.go b/vendor/github.com/ian-kent/envconf/envconf.go new file mode 100644 index 0000000..6212b2c --- /dev/null +++ b/vendor/github.com/ian-kent/envconf/envconf.go @@ -0,0 +1,88 @@ +package envconf + +import ( + "errors" + "os" + "strconv" + "strings" +) + +var ( + // ErrUnsupportedType is returned if the type passed in is unsupported + ErrUnsupportedType = errors.New("Unsupported type") +) + +// FromEnvP is the same as FromEnv, but panics on error +func FromEnvP(env string, value interface{}) interface{} { + ev, err := FromEnv(env, value) + if err != nil { + panic(err) + } + return ev +} + +// FromEnv returns the environment variable specified by env +// using the type of value +func FromEnv(env string, value interface{}) (interface{}, error) { + envs := os.Environ() + found := false + for _, e := range envs { + if strings.HasPrefix(e, env+"=") { + found = true + break + } + } + + if !found { + return value, nil + } + + ev := os.Getenv(env) + + switch value.(type) { + case string: + vt := interface{}(ev) + return vt, nil + case int: + i, e := strconv.ParseInt(ev, 10, 64) + return int(i), e + case int8: + i, e := strconv.ParseInt(ev, 10, 8) + return int8(i), e + case int16: + i, e := strconv.ParseInt(ev, 10, 16) + return int16(i), e + case int32: + i, e := strconv.ParseInt(ev, 10, 32) + return int32(i), e + case int64: + i, e := strconv.ParseInt(ev, 10, 64) + return i, e + case uint: + i, e := strconv.ParseUint(ev, 10, 64) + return uint(i), e + case uint8: + i, e := strconv.ParseUint(ev, 10, 8) + return uint8(i), e + case uint16: + i, e := strconv.ParseUint(ev, 10, 16) + return uint16(i), e + case uint32: + i, e := strconv.ParseUint(ev, 10, 32) + return uint32(i), e + case uint64: + i, e := strconv.ParseUint(ev, 10, 64) + return i, e + case float32: + i, e := strconv.ParseFloat(ev, 32) + return float32(i), e + case float64: + i, e := strconv.ParseFloat(ev, 64) + return float64(i), e + case bool: + i, e := strconv.ParseBool(ev) + return i, e + default: + return value, ErrUnsupportedType + } +} diff --git a/vendor/github.com/ian-kent/go-log/LICENSE.md b/vendor/github.com/ian-kent/go-log/LICENSE.md new file mode 100644 index 0000000..1f0d994 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/ian-kent/go-log/appenders/appender.go b/vendor/github.com/ian-kent/go-log/appenders/appender.go new file mode 100644 index 0000000..481e113 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/appender.go @@ -0,0 +1,22 @@ +package appenders + +/* + +Appenders control the flow of data from a logger to an output. + +For example, a Console appender outputs log data to stdout. + +Satisfy the Appender interface to implement your own log appender. + +*/ + +import ( + "github.com/ian-kent/go-log/layout" + "github.com/ian-kent/go-log/levels" +) + +type Appender interface { + Write(level levels.LogLevel, message string, args ...interface{}) + Layout() layout.Layout + SetLayout(layout.Layout) +} diff --git a/vendor/github.com/ian-kent/go-log/appenders/console.go b/vendor/github.com/ian-kent/go-log/appenders/console.go new file mode 100644 index 0000000..9502135 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/console.go @@ -0,0 +1,31 @@ +package appenders + +import ( + "fmt" + "github.com/ian-kent/go-log/layout" + "github.com/ian-kent/go-log/levels" +) + +type consoleAppender struct { + Appender + layout layout.Layout +} + +func Console() *consoleAppender { + a := &consoleAppender{ + layout: layout.Default(), + } + return a +} + +func (a *consoleAppender) Write(level levels.LogLevel, message string, args ...interface{}) { + fmt.Println(a.Layout().Format(level, message, args...)) +} + +func (a *consoleAppender) Layout() layout.Layout { + return a.layout +} + +func (a *consoleAppender) SetLayout(layout layout.Layout) { + a.layout = layout +} diff --git a/vendor/github.com/ian-kent/go-log/appenders/fluentd.go b/vendor/github.com/ian-kent/go-log/appenders/fluentd.go new file mode 100644 index 0000000..c9332d1 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/fluentd.go @@ -0,0 +1,64 @@ +package appenders + +// TODO add tests + +import ( + "github.com/ian-kent/go-log/layout" + "github.com/ian-kent/go-log/levels" + "github.com/t-k/fluent-logger-golang/fluent" +) + +type fluentdAppender struct { + Appender + layout layout.Layout + fluent *fluent.Fluent + fluentConfig fluent.Config +} + +func SafeFluentd(config fluent.Config) (*fluentdAppender, error) { + a := &fluentdAppender{ + layout: layout.Default(), + fluentConfig: config, + } + if err := a.Open(); err != nil { + return nil, err + } + return a, nil +} + +func Fluentd(config fluent.Config) *fluentdAppender { + a, _ := SafeFluentd(config) + return a +} + +func (a *fluentdAppender) Close() { + a.fluent.Close() + a.fluent = nil +} + +func (a *fluentdAppender) Open() error { + f, err := fluent.New(a.fluentConfig) + if err != nil { + return err + } + a.fluent = f + return nil +} + +func (a *fluentdAppender) Write(level levels.LogLevel, message string, args ...interface{}) { + // FIXME + // - use tag instead of "go-log" + // - get layout to return the map + var data = map[string]string{ + "message": a.Layout().Format(level, message, args...), + } + a.fluent.Post("go-log", data) +} + +func (a *fluentdAppender) Layout() layout.Layout { + return a.layout +} + +func (a *fluentdAppender) SetLayout(layout layout.Layout) { + a.layout = layout +} diff --git a/vendor/github.com/ian-kent/go-log/appenders/multiple_appender.go b/vendor/github.com/ian-kent/go-log/appenders/multiple_appender.go new file mode 100644 index 0000000..0758823 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/multiple_appender.go @@ -0,0 +1,32 @@ +package appenders + +import ( + "github.com/ian-kent/go-log/layout" + "github.com/ian-kent/go-log/levels" +) + +type multipleAppender struct { + currentLayout layout.Layout + listOfAppenders []Appender +} + +func Multiple(layout layout.Layout, appenders ...Appender) Appender { + return &multipleAppender{ + listOfAppenders: appenders, + currentLayout: layout, + } +} + +func (this *multipleAppender) Layout() layout.Layout { + return this.currentLayout +} + +func (this *multipleAppender) SetLayout(l layout.Layout) { + this.currentLayout = l +} + +func (this *multipleAppender) Write(level levels.LogLevel, message string, args ...interface{}) { + for _, appender := range this.listOfAppenders { + appender.Write(level, message, args...) + } +} diff --git a/vendor/github.com/ian-kent/go-log/appenders/rollingfile.go b/vendor/github.com/ian-kent/go-log/appenders/rollingfile.go new file mode 100644 index 0000000..8726a20 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/rollingfile.go @@ -0,0 +1,122 @@ +package appenders + +import ( + "fmt" + "github.com/ian-kent/go-log/layout" + "github.com/ian-kent/go-log/levels" + "os" + "strconv" + "strings" + "sync" +) + +type rollingFileAppender struct { + Appender + layout layout.Layout + MaxFileSize int64 + MaxBackupIndex int + + filename string + file *os.File + append bool + writeMutex sync.Mutex + + bytesWritten int64 +} + +func RollingFile(filename string, append bool) *rollingFileAppender { + a := &rollingFileAppender{ + layout: layout.Default(), + MaxFileSize: 104857600, + MaxBackupIndex: 1, + append: append, + bytesWritten: 0, + } + err := a.SetFilename(filename) + if err != nil { + fmt.Printf("Error opening file: %s\n", err) + return nil + } + return a +} + +func (a *rollingFileAppender) Close() { + if a.file != nil { + a.file.Close() + a.file = nil + } +} + +func (a *rollingFileAppender) Write(level levels.LogLevel, message string, args ...interface{}) { + m := a.Layout().Format(level, message, args...) + if !strings.HasSuffix(m, "\n") { + m += "\n" + } + + a.writeMutex.Lock() + a.file.Write([]byte(m)) + + a.bytesWritten += int64(len(m)) + if a.bytesWritten >= a.MaxFileSize { + a.bytesWritten = 0 + a.rotateFile() + } + + a.writeMutex.Unlock() +} + +func (a *rollingFileAppender) Layout() layout.Layout { + return a.layout +} + +func (a *rollingFileAppender) SetLayout(layout layout.Layout) { + a.layout = layout +} + +func (a *rollingFileAppender) Filename() string { + return a.filename +} + +func (a *rollingFileAppender) SetFilename(filename string) error { + if a.filename != filename || a.file == nil { + a.closeFile() + a.filename = filename + err := a.openFile() + return err + } + return nil +} + +func (a *rollingFileAppender) rotateFile() { + a.closeFile() + + lastFile := a.filename + "." + strconv.Itoa(a.MaxBackupIndex) + if _, err := os.Stat(lastFile); err == nil { + os.Remove(lastFile) + } + + for n := a.MaxBackupIndex; n > 0; n-- { + f1 := a.filename + "." + strconv.Itoa(n) + f2 := a.filename + "." + strconv.Itoa(n+1) + os.Rename(f1, f2) + } + + os.Rename(a.filename, a.filename+".1") + + a.openFile() +} +func (a *rollingFileAppender) closeFile() { + if a.file != nil { + a.file.Close() + a.file = nil + } +} +func (a *rollingFileAppender) openFile() error { + mode := os.O_WRONLY | os.O_APPEND | os.O_CREATE + if !a.append { + mode = os.O_WRONLY | os.O_CREATE + } + f, err := os.OpenFile(a.filename, mode, 0666) + a.file = f + return err +} diff --git a/vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log b/vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log new file mode 100644 index 0000000..cff3ffa --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log @@ -0,0 +1 @@ +Yet another test diff --git a/vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log.1 b/vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log.1 new file mode 100644 index 0000000..fa40353 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/appenders/rollingfile_test.log.1 @@ -0,0 +1,2 @@ +Test message +Another test diff --git a/vendor/github.com/ian-kent/go-log/layout/basic.go b/vendor/github.com/ian-kent/go-log/layout/basic.go new file mode 100644 index 0000000..e211367 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/layout/basic.go @@ -0,0 +1,18 @@ +package layout + +import ( + "fmt" + "github.com/ian-kent/go-log/levels" +) + +type basicLayout struct { + Layout +} + +func Basic() *basicLayout { + return &basicLayout{} +} + +func (a *basicLayout) Format(level levels.LogLevel, message string, args ...interface{}) string { + return fmt.Sprintf(message, args...) +} diff --git a/vendor/github.com/ian-kent/go-log/layout/layout.go b/vendor/github.com/ian-kent/go-log/layout/layout.go new file mode 100644 index 0000000..6955287 --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/layout/layout.go @@ -0,0 +1,24 @@ +package layout + +/* + +Layouts control the formatting of data into a printable log string. + +For example, the Basic layout passes the log message and arguments +through fmt.Sprintf. + +Satisfy the Layout interface to implement your own log layout. + +*/ + +import ( + "github.com/ian-kent/go-log/levels" +) + +type Layout interface { + Format(level levels.LogLevel, message string, args ...interface{}) string +} + +func Default() Layout { + return Basic() +} diff --git a/vendor/github.com/ian-kent/go-log/layout/pattern.go b/vendor/github.com/ian-kent/go-log/layout/pattern.go new file mode 100644 index 0000000..6e078dd --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/layout/pattern.go @@ -0,0 +1,112 @@ +package layout + +import ( + "fmt" + "path/filepath" + "regexp" + "runtime" + "strconv" + "strings" + "time" + + "github.com/ian-kent/go-log/levels" +) + +// http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html + +// DefaultTimeLayout is the default layout used by %d +var DefaultTimeLayout = "2006-01-02 15:04:05.000000000 -0700 MST" + +// LegacyDefaultTimeLayout is the legacy (non-zero padded) time layout. +// Set layout.DefaultTimeLayout = layout.LegacyDefaultTimeLayout to revert behaviour. +var LegacyDefaultTimeLayout = "2006-01-02 15:04:05.999999999 -0700 MST" + +type patternLayout struct { + Layout + Pattern string + created int64 + re *regexp.Regexp +} + +type caller struct { + pc uintptr + file string + line int + ok bool + pkg string + fullpkg string + filename string +} + +func Pattern(pattern string) *patternLayout { + return &patternLayout{ + Pattern: pattern, + re: regexp.MustCompile("%(\\w|%)(?:{([^}]+)})?"), + created: time.Now().UnixNano(), + } +} + +func getCaller() *caller { + pc, file, line, ok := runtime.Caller(2) + + // TODO feels nasty? + dir, fn := filepath.Split(file) + bits := strings.Split(dir, "/") + pkg := bits[len(bits)-2] + + if ok { + return &caller{pc, file, line, ok, pkg, pkg, fn} + } + return nil +} + +func (a *patternLayout) Format(level levels.LogLevel, message string, args ...interface{}) string { + + // TODO + // padding, e.g. %20c, %-20c, %.30c, %20.30c, %-20.30c + // %t - thread name + // %M - function name + + caller := getCaller() + r := time.Now().UnixNano() + + msg := a.re.ReplaceAllStringFunc(a.Pattern, func(m string) string { + parts := a.re.FindStringSubmatch(m) + switch parts[1] { + // FIXME + // %c and %C should probably return the logger name, not the package + // name, since that's how the logger is created in the first place! + case "c": + return caller.pkg + case "C": + return caller.pkg + case "d": + // FIXME specifier, e.g. %d{HH:mm:ss,SSS} + return time.Now().Format(DefaultTimeLayout) + case "F": + return caller.file + case "l": + return fmt.Sprintf("%s/%s:%d", caller.pkg, caller.filename, caller.line) + case "L": + return strconv.Itoa(caller.line) + case "m": + return fmt.Sprintf(message, args...) + case "n": + // FIXME platform-specific? + return "\n" + case "p": + return levels.LogLevelsToString[level] + case "r": + return strconv.FormatInt((r-a.created)/100000, 10) + case "x": + return "" // NDC + case "X": + return "" // MDC (must specify key) + case "%": + return "%" + } + return m + }) + + return msg +} diff --git a/vendor/github.com/ian-kent/go-log/levels/levels.go b/vendor/github.com/ian-kent/go-log/levels/levels.go new file mode 100644 index 0000000..ba652cf --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/levels/levels.go @@ -0,0 +1,33 @@ +package levels + +type LogLevel int + +const ( + FATAL LogLevel = iota + ERROR + INFO + WARN + DEBUG + TRACE + INHERIT +) + +var StringToLogLevels = map[string]LogLevel{ + "TRACE": TRACE, + "DEBUG": DEBUG, + "WARN": WARN, + "INFO": INFO, + "ERROR": ERROR, + "FATAL": FATAL, + "INHERIT": INHERIT, +} + +var LogLevelsToString = map[LogLevel]string{ + TRACE: "TRACE", + DEBUG: "DEBUG", + WARN: "WARN", + INFO: "INFO", + ERROR: "ERROR", + FATAL: "FATAL", + INHERIT: "INHERIT", +} diff --git a/vendor/github.com/ian-kent/go-log/log/log.go b/vendor/github.com/ian-kent/go-log/log/log.go new file mode 100644 index 0000000..7b7bafd --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/log/log.go @@ -0,0 +1,54 @@ +package log + +import ( + "github.com/ian-kent/go-log/levels" + "github.com/ian-kent/go-log/logger" + "strings" +) + +var global logger.Logger + +// Converts a string level (e.g. DEBUG) to a LogLevel +func Stol(level string) levels.LogLevel { + return levels.StringToLogLevels[strings.ToUpper(level)] +} + +// Returns a Logger instance +// +// If no arguments are given, the global/root logger +// instance will be returned. +// +// If at least one argument is given, the logger instance +// for that namespace will be returned. +func Logger(args ...string) logger.Logger { + var name string + if len(args) > 0 { + name = args[0] + } else { + name = "" + } + + if global == nil { + global = logger.New("") + global.SetLevel(levels.DEBUG) + } + + l := global.GetLogger(name) + + return l +} + +func Log(level levels.LogLevel, params ...interface{}) { + Logger().Log(level, params...) +} + +func Level(level levels.LogLevel) { Logger().Level() } +func Debug(params ...interface{}) { Log(levels.DEBUG, params...) } +func Info(params ...interface{}) { Log(levels.INFO, params...) } +func Warn(params ...interface{}) { Log(levels.WARN, params...) } +func Error(params ...interface{}) { Log(levels.ERROR, params...) } +func Trace(params ...interface{}) { Log(levels.TRACE, params...) } +func Fatal(params ...interface{}) { Log(levels.FATAL, params...) } +func Printf(params ...interface{}) { Log(levels.INFO, params...) } +func Println(params ...interface{}) { Log(levels.INFO, params...) } +func Fatalf(params ...interface{}) { Log(levels.FATAL, params...) } diff --git a/vendor/github.com/ian-kent/go-log/logger/logger.go b/vendor/github.com/ian-kent/go-log/logger/logger.go new file mode 100644 index 0000000..8243c5d --- /dev/null +++ b/vendor/github.com/ian-kent/go-log/logger/logger.go @@ -0,0 +1,221 @@ +package logger + +import ( + "fmt" + "os" + "strings" + + "github.com/ian-kent/go-log/appenders" + "github.com/ian-kent/go-log/layout" + "github.com/ian-kent/go-log/levels" +) + +// Logger represents a logger +type Logger interface { + Level() levels.LogLevel + Name() string + FullName() string + Enabled() map[levels.LogLevel]bool + Appender() Appender + Children() []Logger + Parent() Logger + GetLogger(string) Logger + SetLevel(levels.LogLevel) + Log(levels.LogLevel, ...interface{}) + SetAppender(appender Appender) + + Debug(params ...interface{}) + Info(params ...interface{}) + Warn(params ...interface{}) + Error(params ...interface{}) + Trace(params ...interface{}) + Printf(params ...interface{}) + Println(params ...interface{}) + Fatal(params ...interface{}) + Fatalf(params ...interface{}) +} + +type logger struct { + level levels.LogLevel + name string + enabled map[levels.LogLevel]bool + appender Appender + children []Logger + parent Logger + ExitOnFatal bool +} + +// Appender represents a log appender +type Appender interface { + Write(level levels.LogLevel, message string, args ...interface{}) + SetLayout(layout layout.Layout) + Layout() layout.Layout +} + +// New returns a new Logger +func New(name string) Logger { + l := Logger(&logger{ + level: levels.DEBUG, + name: name, + enabled: make(map[levels.LogLevel]bool), + appender: appenders.Console(), + children: make([]Logger, 0), + parent: nil, + ExitOnFatal: true, + }) + l.SetLevel(levels.DEBUG) + return l +} + +func unwrap(args ...interface{}) []interface{} { + head := args[0] + switch head.(type) { + case func() (string, []interface{}): + msg, args := head.(func() (string, []interface{}))() + args = unwrap(args...) + return append([]interface{}{msg}, args...) + case func() []interface{}: + args = unwrap(head.(func() []interface{})()...) + case func(...interface{}) []interface{}: + args = unwrap(head.(func(...interface{}) []interface{})(args[1:]...)...) + } + return args +} + +func (l *logger) New(name string) Logger { + lg := Logger(&logger{ + level: levels.INHERIT, + name: name, + enabled: make(map[levels.LogLevel]bool), + appender: nil, + children: make([]Logger, 0), + parent: l, + }) + l.children = append(l.children, lg) + return lg +} + +func (l *logger) GetLogger(name string) Logger { + bits := strings.Split(name, ".") + + if l.name == bits[0] { + if len(bits) == 1 { + return l + } + + child := bits[1] + n := strings.Join(bits[1:], ".") + for _, c := range l.children { + if c.Name() == child { + return c.GetLogger(n) + } + } + + lg := l.New(child) + return lg.GetLogger(n) + } + lg := l.New(bits[0]) + return lg.GetLogger(name) +} + +type stringer interface { + String() string +} + +func (l *logger) write(level levels.LogLevel, params ...interface{}) { + a := l.Appender() + if a != nil { + if s, ok := params[0].(string); ok { + a.Write(level, s, params[1:]...) + } else if s, ok := params[0].(stringer); ok { + a.Write(level, s.String(), params[1:]...) + } else { + a.Write(level, fmt.Sprintf("%s", params[0]), params[1:]...) + } + } +} + +func (l *logger) Appender() Appender { + if a := l.appender; a != nil { + return a + } + if l.parent != nil { + if a := l.parent.Appender(); a != nil { + return a + } + } + return nil +} + +func (l *logger) Log(level levels.LogLevel, params ...interface{}) { + if !l.Enabled()[level] { + return + } + l.write(level, unwrap(params...)...) + + if l.ExitOnFatal && level == levels.FATAL { + os.Exit(1) + } +} + +func (l *logger) Level() levels.LogLevel { + if l.level == levels.INHERIT { + return l.parent.Level() + } + return l.level +} + +func (l *logger) Enabled() map[levels.LogLevel]bool { + if l.level == levels.INHERIT { + return l.parent.Enabled() + } + return l.enabled +} + +func (l *logger) Name() string { + return l.name +} + +func (l *logger) FullName() string { + n := l.name + if l.parent != nil { + p := l.parent.FullName() + if len(p) > 0 { + n = l.parent.FullName() + "." + n + } + } + return n +} + +func (l *logger) Children() []Logger { + return l.children +} + +func (l *logger) Parent() Logger { + return l.parent +} + +func (l *logger) SetLevel(level levels.LogLevel) { + l.level = level + for k := range levels.LogLevelsToString { + if k <= level { + l.enabled[k] = true + } else { + l.enabled[k] = false + } + } +} + +func (l *logger) SetAppender(appender Appender) { + l.appender = appender +} + +func (l *logger) Debug(params ...interface{}) { l.Log(levels.DEBUG, params...) } +func (l *logger) Info(params ...interface{}) { l.Log(levels.INFO, params...) } +func (l *logger) Warn(params ...interface{}) { l.Log(levels.WARN, params...) } +func (l *logger) Error(params ...interface{}) { l.Log(levels.ERROR, params...) } +func (l *logger) Trace(params ...interface{}) { l.Log(levels.TRACE, params...) } +func (l *logger) Printf(params ...interface{}) { l.Log(levels.INFO, params...) } +func (l *logger) Println(params ...interface{}) { l.Log(levels.INFO, params...) } +func (l *logger) Fatal(params ...interface{}) { l.Log(levels.FATAL, params...) } +func (l *logger) Fatalf(params ...interface{}) { l.Log(levels.FATAL, params...) } diff --git a/vendor/github.com/ian-kent/goose/LICENSE.md b/vendor/github.com/ian-kent/goose/LICENSE.md new file mode 100644 index 0000000..1f0d994 --- /dev/null +++ b/vendor/github.com/ian-kent/goose/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/ian-kent/goose/README.md b/vendor/github.com/ian-kent/goose/README.md new file mode 100644 index 0000000..8934c3e --- /dev/null +++ b/vendor/github.com/ian-kent/goose/README.md @@ -0,0 +1,12 @@ +Goose - Go Server-Sent Events [![GoDoc](https://godoc.org/github.com/ian-kent/goose?status.svg)](https://godoc.org/github.com/ian-kent/goose) +============================= + +Goose implements Server-Sent Events in Go. + +See [this example](example/main.go). + +### Licence + +Copyright ©‎ 2014, Ian Kent (http://www.iankent.eu). + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/ian-kent/goose/goose.go b/vendor/github.com/ian-kent/goose/goose.go new file mode 100644 index 0000000..17969c9 --- /dev/null +++ b/vendor/github.com/ian-kent/goose/goose.go @@ -0,0 +1,122 @@ +package goose + +import ( + "bufio" + "errors" + "fmt" + "net" + "net/http" + "strings" + "sync" +) + +var ( + // ErrUnableToHijackRequest is returned by AddReceiver if the type + // conversion to http.Hijacker is unsuccessful + ErrUnableToHijackRequest = errors.New("Unable to hijack request") +) + +// EventStream represents a collection of receivers +type EventStream struct { + mutex *sync.Mutex + receivers map[net.Conn]*EventReceiver +} + +// NewEventStream creates a new event stream +func NewEventStream() *EventStream { + return &EventStream{ + mutex: new(sync.Mutex), + receivers: make(map[net.Conn]*EventReceiver), + } +} + +// EventReceiver represents a hijacked HTTP connection +type EventReceiver struct { + stream *EventStream + conn net.Conn + bufrw *bufio.ReadWriter +} + +// Notify sends the event to all event stream receivers +func (es *EventStream) Notify(event string, bytes []byte) { + // TODO reader? + + lines := strings.Split(string(bytes), "\n") + + data := "" + for _, l := range lines { + data += event + ": " + l + "\n" + } + + sz := len(data) + 1 + size := fmt.Sprintf("%X", sz) + + for _, er := range es.receivers { + go er.send(size, data) + } +} + +func (er *EventReceiver) send(size, data string) { + _, err := er.write([]byte(size + "\r\n")) + if err != nil { + return + } + + lines := strings.Split(data, "\n") + for _, ln := range lines { + _, err = er.write([]byte(ln + "\n")) + if err != nil { + return + } + } + er.write([]byte("\r\n")) +} + +func (er *EventReceiver) write(bytes []byte) (int, error) { + n, err := er.bufrw.Write(bytes) + + if err != nil { + er.stream.mutex.Lock() + delete(er.stream.receivers, er.conn) + er.stream.mutex.Unlock() + er.conn.Close() + return n, err + } + + err = er.bufrw.Flush() + if err != nil { + er.stream.mutex.Lock() + delete(er.stream.receivers, er.conn) + er.stream.mutex.Unlock() + er.conn.Close() + } + + return n, err +} + +// AddReceiver hijacks a http.ResponseWriter and attaches it to the event stream +func (es *EventStream) AddReceiver(w http.ResponseWriter) (*EventReceiver, error) { + w.Header().Set("Content-Type", "text/event-stream") + w.Header().Set("Cache-Control", "no-cache") + w.Header().Set("Connection", "keep-alive") + + w.WriteHeader(200) + + hj, ok := w.(http.Hijacker) + if !ok { + return nil, ErrUnableToHijackRequest + } + + hjConn, hjBufrw, err := hj.Hijack() + if err != nil { + return nil, err + } + + rec := &EventReceiver{es, hjConn, hjBufrw} + + es.mutex.Lock() + es.receivers[hjConn] = rec + es.mutex.Unlock() + + return rec, nil +} diff --git a/vendor/github.com/ian-kent/linkio/README.md b/vendor/github.com/ian-kent/linkio/README.md new file mode 100644 index 0000000..716f3e2 --- /dev/null +++ b/vendor/github.com/ian-kent/linkio/README.md @@ -0,0 +1,41 @@ +linkio [![GoDoc](https://godoc.org/github.com/ian-kent/linkio?status.svg)](https://godoc.org/github.com/ian-kent/linkio) [![Build Status](https://travis-ci.org/ian-kent/linkio.svg?branch=master)](https://travis-ci.org/ian-kent/linkio) +====== + +linkio provides an io.Reader and io.Writer that simulate a network connection of a certain speed, e.g. to simulate a mobile connection. + +### Quick start + +You can use `linkio` to wrap existing io.Reader and io.Writer interfaces: + +```go +// Create a new link at 512kbps +link = linkio.NewLink(512 * linkio.KilobitPerSecond) + +// Open a connection +conn, err := net.Dial("tcp", "google.com:80") +if err != nil { + // handle error +} + +// Create a link reader/writer +linkReader := link.NewLinkReader(io.Reader(conn)) +linkWriter := link.NewLinkWriter(io.Writer(conn)) + +// Use them as you would normally... +fmt.Fprintf(linkWriter, "GET / HTTP/1.0\r\n\r\n") +status, err := bufio.NewReader(linkReader).ReadString('\n') + +``` + +### LICENSE + +This code is originally a fork of [code.google.com/p/jra-go/linkio](https://code.google.com/p/jra-go/source/browse/#hg%2Flinkio). + +The source contained this license text: + + Use of this source code is governed by a BSD-style + license that can be found in the LICENSE file. + +There is no LICENSE file, but it [may be referring to this](http://opensource.org/licenses/BSD-3-Clause). + +Any modifications since the initial commit are Copyright ©‎ 2014, Ian Kent (http://iankent.uk), and are released under the terms of the [MIT License](http://opensource.org/licenses/MIT). diff --git a/vendor/github.com/ian-kent/linkio/linkio.go b/vendor/github.com/ian-kent/linkio/linkio.go new file mode 100644 index 0000000..641c1ce --- /dev/null +++ b/vendor/github.com/ian-kent/linkio/linkio.go @@ -0,0 +1,169 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package linkio provides an io.Reader and io.Writer that +// simulate a network connection of a certain speed. +package linkio + +import ( + "io" + "time" +) + +// Throughput represents the link speed as an int64 bits per second +// count. The representation limits the largest representable throughput +// to approximately 9223 petabits per second. +type Throughput int64 + +// Common throughputs. +// +// To count the number of units in a Duration, divide: +// kilobit := linkio.KilobitPerSecond +// fmt.Print(int64(kilobit/linkio.BitPerSecond)) // prints 1024 +// +// To convert an integer number of units to a Throughput, multiply: +// megabits := 10 +// fmt.Print(linkio.Throughput(megabits)*time.BitPerSecond) // prints 10s +// +const ( + BitPerSecond Throughput = 1 + BytePerSecond = 8 * BitPerSecond + KilobitPerSecond = 1024 * BitPerSecond + KilobytePerSecond = 1024 * BytePerSecond + MegabitPerSecond = 1024 * KilobitPerSecond + MegabytePerSecond = 1024 * KilobytePerSecond + GigabitPerSecond = 1024 * MegabitPerSecond + GigabytePerSecond = 1024 * MegabytePerSecond +) + +// A LinkReader wraps an io.Reader, simulating reading from a +// shared access link with a fixed maximum speed. +type LinkReader struct { + r io.Reader + link *Link +} + +// A LinkWriter wraps an io.Writer, simulating writer to a +// shared access link with a fixed maximum speed. +type LinkWriter struct { + w io.Writer + link *Link +} + +// A Link serializes requests to sleep, simulating the way data travels +// across a link which is running at a certain kbps (kilo = 1024). +// Multiple LinkReaders can share a link (simulating multiple apps +// sharing a link). The sharing behavior is approximately fair, as implemented +// by Go when scheduling reads from a contested blocking channel. +type Link struct { + in chan linkRequest + out chan linkRequest + speed int64 // nanosec per bit +} + +// A linkRequest asks the link to simulate sending that much data +// and return a true on the channel when it has accomplished the request. +type linkRequest struct { + bytes int + done chan bool +} + +// NewLinkReader returns a LinkReader that returns bytes from r, +// simulating that they arrived from a shared link. +func (link *Link) NewLinkReader(r io.Reader) (s *LinkReader) { + s = &LinkReader{r: r, link: link} + return +} + +// NewLinkWriter returns a LinkWriter that writes bytes to r, +// simulating that they arrived from a shared link. +func (link *Link) NewLinkWriter(w io.Writer) (s *LinkWriter) { + s = &LinkWriter{w: w, link: link} + return +} + +// NewLink returns a new Link running at kbps. +func NewLink(throughput Throughput) (l *Link) { + // allow up to 100 outstanding requests + l = &Link{in: make(chan linkRequest, 100), out: make(chan linkRequest, 100)} + l.SetThroughput(throughput) + + // This goroutine serializes the requests. He could calculate + // link utilization by comparing the time he sleeps waiting for + // linkRequests to arrive and the time he spends sleeping to simulate + // traffic flowing. + + go func() { + for lr := range l.in { + // bits * nanosec/bit = nano to wait + delay := time.Duration(int64(lr.bytes*8) * l.speed) + time.Sleep(delay) + lr.done <- true + } + }() + go func() { + for lr := range l.out { + // bits * nanosec/bit = nano to wait + delay := time.Duration(int64(lr.bytes*8) * l.speed) + time.Sleep(delay) + lr.done <- true + } + }() + + return +} + +// SetThroughput sets the current link throughput +func (link *Link) SetThroughput(throughput Throughput) { + // link.speed is stored in ns/bit + link.speed = 1e9 / int64(throughput) +} + +// why isn't this in package math? hmm. +func min(a, b int) int { + if a < b { + return a + } + return b +} + +// Satisfies interface io.Reader. +func (l *LinkReader) Read(buf []byte) (n int, err error) { + // Read small chunks at a time, even if they ask for more, + // preventing one LinkReader from saturating the simulated link. + // 1500 is the MTU for Ethernet, i.e. a likely maximum packet + // size. + toRead := min(len(buf), 1500) + n, err = l.r.Read(buf[0:toRead]) + if err != nil { + return 0, err + } + + // send in the request to sleep to the Link and sleep + lr := linkRequest{bytes: n, done: make(chan bool)} + l.link.in <- lr + _ = <-lr.done + + return +} + +// Satisfies interface io.Writer. +func (l *LinkWriter) Write(buf []byte) (n int, err error) { + // Write small chunks at a time, even if they attempt more, + // preventing one LinkReader from saturating the simulated link. + // 1500 is the MTU for Ethernet, i.e. a likely maximum packet + // size. + toWrite := min(len(buf), 1500) + n, err = l.w.Write(buf[0:toWrite]) + if err != nil { + return 0, err + } + + // send in the request to sleep to the Link and sleep + lr := linkRequest{bytes: n, done: make(chan bool)} + l.link.in <- lr + _ = <-lr.done + + return +} diff --git a/vendor/github.com/jtolds/gls/LICENSE b/vendor/github.com/jtolds/gls/LICENSE new file mode 100644 index 0000000..9b4a822 --- /dev/null +++ b/vendor/github.com/jtolds/gls/LICENSE @@ -0,0 +1,18 @@ +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/jtolds/gls/README.md b/vendor/github.com/jtolds/gls/README.md new file mode 100644 index 0000000..4ebb692 --- /dev/null +++ b/vendor/github.com/jtolds/gls/README.md @@ -0,0 +1,89 @@ +gls +=== + +Goroutine local storage + +### IMPORTANT NOTE ### + +It is my duty to point you to https://blog.golang.org/context, which is how +Google solves all of the problems you'd perhaps consider using this package +for at scale. + +One downside to Google's approach is that *all* of your functions must have +a new first argument, but after clearing that hurdle everything else is much +better. + +If you aren't interested in this warning, read on. + +### Huhwaht? Why? ### + +Every so often, a thread shows up on the +[golang-nuts](https://groups.google.com/d/forum/golang-nuts) asking for some +form of goroutine-local-storage, or some kind of goroutine id, or some kind of +context. There are a few valid use cases for goroutine-local-storage, one of +the most prominent being log line context. One poster was interested in being +able to log an HTTP request context id in every log line in the same goroutine +as the incoming HTTP request, without having to change every library and +function call he was interested in logging. + +This would be pretty useful. Provided that you could get some kind of +goroutine-local-storage, you could call +[log.SetOutput](http://golang.org/pkg/log/#SetOutput) with your own logging +writer that checks goroutine-local-storage for some context information and +adds that context to your log lines. + +But alas, Andrew Gerrand's typically diplomatic answer to the question of +goroutine-local variables was: + +> We wouldn't even be having this discussion if thread local storage wasn't +> useful. But every feature comes at a cost, and in my opinion the cost of +> threadlocals far outweighs their benefits. They're just not a good fit for +> Go. + +So, yeah, that makes sense. That's a pretty good reason for why the language +won't support a specific and (relatively) unuseful feature that requires some +runtime changes, just for the sake of a little bit of log improvement. + +But does Go require runtime changes? + +### How it works ### + +Go has pretty fantastic introspective and reflective features, but one thing Go +doesn't give you is any kind of access to the stack pointer, or frame pointer, +or goroutine id, or anything contextual about your current stack. It gives you +access to your list of callers, but only along with program counters, which are +fixed at compile time. + +But it does give you the stack. + +So, we define 16 special functions and embed base-16 tags into the stack using +the call order of those 16 functions. Then, we can read our tags back out of +the stack looking at the callers list. + +We then use these tags as an index into a traditional map for implementing +this library. + +### What are people saying? ### + +"Wow, that's horrifying." + +"This is the most terrible thing I have seen in a very long time." + +"Where is it getting a context from? Is this serializing all the requests? +What the heck is the client being bound to? What are these tags? Why does he +need callers? Oh god no. No no no." + +### Docs ### + +Please see the docs at http://godoc.org/github.com/jtolds/gls + +### Related ### + +If you're okay relying on the string format of the current runtime stacktrace +including a unique goroutine id (not guaranteed by the spec or anything, but +very unlikely to change within a Go release), you might be able to squeeze +out a bit more performance by using this similar library, inspired by some +code Brad Fitzpatrick wrote for debugging his HTTP/2 library: +https://github.com/tylerb/gls (in contrast, jtolds/gls doesn't require +any knowledge of the string format of the runtime stacktrace, which +probably adds unnecessary overhead). diff --git a/vendor/github.com/jtolds/gls/context.go b/vendor/github.com/jtolds/gls/context.go new file mode 100644 index 0000000..618a171 --- /dev/null +++ b/vendor/github.com/jtolds/gls/context.go @@ -0,0 +1,153 @@ +// Package gls implements goroutine-local storage. +package gls + +import ( + "sync" +) + +var ( + mgrRegistry = make(map[*ContextManager]bool) + mgrRegistryMtx sync.RWMutex +) + +// Values is simply a map of key types to value types. Used by SetValues to +// set multiple values at once. +type Values map[interface{}]interface{} + +// ContextManager is the main entrypoint for interacting with +// Goroutine-local-storage. You can have multiple independent ContextManagers +// at any given time. ContextManagers are usually declared globally for a given +// class of context variables. You should use NewContextManager for +// construction. +type ContextManager struct { + mtx sync.Mutex + values map[uint]Values +} + +// NewContextManager returns a brand new ContextManager. It also registers the +// new ContextManager in the ContextManager registry which is used by the Go +// method. ContextManagers are typically defined globally at package scope. +func NewContextManager() *ContextManager { + mgr := &ContextManager{values: make(map[uint]Values)} + mgrRegistryMtx.Lock() + defer mgrRegistryMtx.Unlock() + mgrRegistry[mgr] = true + return mgr +} + +// Unregister removes a ContextManager from the global registry, used by the +// Go method. Only intended for use when you're completely done with a +// ContextManager. Use of Unregister at all is rare. +func (m *ContextManager) Unregister() { + mgrRegistryMtx.Lock() + defer mgrRegistryMtx.Unlock() + delete(mgrRegistry, m) +} + +// SetValues takes a collection of values and a function to call for those +// values to be set in. Anything further down the stack will have the set +// values available through GetValue. SetValues will add new values or replace +// existing values of the same key and will not mutate or change values for +// previous stack frames. +// SetValues is slow (makes a copy of all current and new values for the new +// gls-context) in order to reduce the amount of lookups GetValue requires. +func (m *ContextManager) SetValues(new_values Values, context_call func()) { + if len(new_values) == 0 { + context_call() + return + } + + mutated_keys := make([]interface{}, 0, len(new_values)) + mutated_vals := make(Values, len(new_values)) + + EnsureGoroutineId(func(gid uint) { + m.mtx.Lock() + state, found := m.values[gid] + if !found { + state = make(Values, len(new_values)) + m.values[gid] = state + } + m.mtx.Unlock() + + for key, new_val := range new_values { + mutated_keys = append(mutated_keys, key) + if old_val, ok := state[key]; ok { + mutated_vals[key] = old_val + } + state[key] = new_val + } + + defer func() { + if !found { + m.mtx.Lock() + delete(m.values, gid) + m.mtx.Unlock() + return + } + + for _, key := range mutated_keys { + if val, ok := mutated_vals[key]; ok { + state[key] = val + } else { + delete(state, key) + } + } + }() + + context_call() + }) +} + +// GetValue will return a previously set value, provided that the value was set +// by SetValues somewhere higher up the stack. If the value is not found, ok +// will be false. +func (m *ContextManager) GetValue(key interface{}) ( + value interface{}, ok bool) { + gid, ok := GetGoroutineId() + if !ok { + return nil, false + } + + m.mtx.Lock() + state, found := m.values[gid] + m.mtx.Unlock() + + if !found { + return nil, false + } + value, ok = state[key] + return value, ok +} + +func (m *ContextManager) getValues() Values { + gid, ok := GetGoroutineId() + if !ok { + return nil + } + m.mtx.Lock() + state, _ := m.values[gid] + m.mtx.Unlock() + return state +} + +// Go preserves ContextManager values and Goroutine-local-storage across new +// goroutine invocations. The Go method makes a copy of all existing values on +// all registered context managers and makes sure they are still set after +// kicking off the provided function in a new goroutine. If you don't use this +// Go method instead of the standard 'go' keyword, you will lose values in +// ContextManagers, as goroutines have brand new stacks. +func Go(cb func()) { + mgrRegistryMtx.RLock() + defer mgrRegistryMtx.RUnlock() + + for mgr := range mgrRegistry { + values := mgr.getValues() + if len(values) > 0 { + cb = func(mgr *ContextManager, cb func()) func() { + return func() { mgr.SetValues(values, cb) } + }(mgr, cb) + } + } + + go cb() +} diff --git a/vendor/github.com/jtolds/gls/gen_sym.go b/vendor/github.com/jtolds/gls/gen_sym.go new file mode 100644 index 0000000..7f615cc --- /dev/null +++ b/vendor/github.com/jtolds/gls/gen_sym.go @@ -0,0 +1,21 @@ +package gls + +import ( + "sync" +) + +var ( + keyMtx sync.Mutex + keyCounter uint64 +) + +// ContextKey is a throwaway value you can use as a key to a ContextManager +type ContextKey struct{ id uint64 } + +// GenSym will return a brand new, never-before-used ContextKey +func GenSym() ContextKey { + keyMtx.Lock() + defer keyMtx.Unlock() + keyCounter += 1 + return ContextKey{id: keyCounter} +} diff --git a/vendor/github.com/jtolds/gls/gid.go b/vendor/github.com/jtolds/gls/gid.go new file mode 100644 index 0000000..c16bf3a --- /dev/null +++ b/vendor/github.com/jtolds/gls/gid.go @@ -0,0 +1,25 @@ +package gls + +var ( + stackTagPool = &idPool{} +) + +// Will return this goroutine's identifier if set. If you always need a +// goroutine identifier, you should use EnsureGoroutineId which will make one +// if there isn't one already. +func GetGoroutineId() (gid uint, ok bool) { + return readStackTag() +} + +// Will call cb with the current goroutine identifier. If one hasn't already +// been generated, one will be created and set first. The goroutine identifier +// might be invalid after cb returns. +func EnsureGoroutineId(cb func(gid uint)) { + if gid, ok := readStackTag(); ok { + cb(gid) + return + } + gid := stackTagPool.Acquire() + defer stackTagPool.Release(gid) + addStackTag(gid, func() { cb(gid) }) +} diff --git a/vendor/github.com/jtolds/gls/id_pool.go b/vendor/github.com/jtolds/gls/id_pool.go new file mode 100644 index 0000000..b7974ae --- /dev/null +++ b/vendor/github.com/jtolds/gls/id_pool.go @@ -0,0 +1,34 @@ +package gls + +// though this could probably be better at keeping ids smaller, the goal of +// this class is to keep a registry of the smallest unique integer ids +// per-process possible + +import ( + "sync" +) + +type idPool struct { + mtx sync.Mutex + released []uint + max_id uint +} + +func (p *idPool) Acquire() (id uint) { + p.mtx.Lock() + defer p.mtx.Unlock() + if len(p.released) > 0 { + id = p.released[len(p.released)-1] + p.released = p.released[:len(p.released)-1] + return id + } + id = p.max_id + p.max_id++ + return id +} + +func (p *idPool) Release(id uint) { + p.mtx.Lock() + defer p.mtx.Unlock() + p.released = append(p.released, id) +} diff --git a/vendor/github.com/jtolds/gls/stack_tags.go b/vendor/github.com/jtolds/gls/stack_tags.go new file mode 100644 index 0000000..06efcaf --- /dev/null +++ b/vendor/github.com/jtolds/gls/stack_tags.go @@ -0,0 +1,108 @@ +package gls + +// so, basically, we're going to encode integer tags in base-16 on the stack + +const ( + bitWidth = 4 + stackBatchSize = 16 +) + +var ( + pc_lookup = make(map[uintptr]int8, 17) + mark_lookup [16]func(uint, func()) +) + +func init() { + setEntries := func(f func(uint, func()), v int8) { + var ptr uintptr + f(0, func() { + ptr = findPtr() + }) + pc_lookup[ptr] = v + if v >= 0 { + mark_lookup[v] = f + } + } + setEntries(github_com_jtolds_gls_markS, -0x1) + setEntries(github_com_jtolds_gls_mark0, 0x0) + setEntries(github_com_jtolds_gls_mark1, 0x1) + setEntries(github_com_jtolds_gls_mark2, 0x2) + setEntries(github_com_jtolds_gls_mark3, 0x3) + setEntries(github_com_jtolds_gls_mark4, 0x4) + setEntries(github_com_jtolds_gls_mark5, 0x5) + setEntries(github_com_jtolds_gls_mark6, 0x6) + setEntries(github_com_jtolds_gls_mark7, 0x7) + setEntries(github_com_jtolds_gls_mark8, 0x8) + setEntries(github_com_jtolds_gls_mark9, 0x9) + setEntries(github_com_jtolds_gls_markA, 0xa) + setEntries(github_com_jtolds_gls_markB, 0xb) + setEntries(github_com_jtolds_gls_markC, 0xc) + setEntries(github_com_jtolds_gls_markD, 0xd) + setEntries(github_com_jtolds_gls_markE, 0xe) + setEntries(github_com_jtolds_gls_markF, 0xf) +} + +func addStackTag(tag uint, context_call func()) { + if context_call == nil { + return + } + github_com_jtolds_gls_markS(tag, context_call) +} + +// these private methods are named this horrendous name so gopherjs support +// is easier. it shouldn't add any runtime cost in non-js builds. +func github_com_jtolds_gls_markS(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark0(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark1(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark2(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark3(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark4(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark5(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark6(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark7(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark8(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_mark9(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_markA(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_markB(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_markC(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_markD(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_markE(tag uint, cb func()) { _m(tag, cb) } +func github_com_jtolds_gls_markF(tag uint, cb func()) { _m(tag, cb) } + +func _m(tag_remainder uint, cb func()) { + if tag_remainder == 0 { + cb() + } else { + mark_lookup[tag_remainder&0xf](tag_remainder>>bitWidth, cb) + } +} + +func readStackTag() (tag uint, ok bool) { + var current_tag uint + offset := 0 + for { + // the expectation with getStack is that it will either: + // * return everything when offset is 0 and ignore stackBatchSize, + // otherwise returning nothing when offset is not 0 (the gopherjs case) + // * or it will return at most stackBatchSize, respect offset, and + // shouldn't be called when it returns less than stackBatchSize + // (the runtime.Callers case). + batch := getStack(offset, stackBatchSize) + for _, pc := range batch { + val, ok := pc_lookup[pc] + if !ok { + continue + } + if val < 0 { + return current_tag, true + } + current_tag <<= bitWidth + current_tag += uint(val) + } + if len(batch) < stackBatchSize { + break + } + offset += len(batch) + } + return 0, false +} diff --git a/vendor/github.com/jtolds/gls/stack_tags_js.go b/vendor/github.com/jtolds/gls/stack_tags_js.go new file mode 100644 index 0000000..1e38f70 --- /dev/null +++ b/vendor/github.com/jtolds/gls/stack_tags_js.go @@ -0,0 +1,75 @@ +// +build js + +package gls + +// This file is used for GopherJS builds, which don't have normal runtime +// stack trace support + +import ( + "strconv" + "strings" + + "github.com/gopherjs/gopherjs/js" +) + +const ( + jsFuncNamePrefix = "github_com_jtolds_gls_mark" +) + +func jsMarkStack() (f []uintptr) { + lines := strings.Split( + js.Global.Get("Error").New().Get("stack").String(), "\n") + f = make([]uintptr, 0, len(lines)) + for i, line := range lines { + line = strings.TrimSpace(line) + if line == "" { + continue + } + if i == 0 { + if line != "Error" { + panic("didn't understand js stack trace") + } + continue + } + fields := strings.Fields(line) + if len(fields) < 2 || fields[0] != "at" { + panic("didn't understand js stack trace") + } + + pos := strings.Index(fields[1], jsFuncNamePrefix) + if pos < 0 { + continue + } + pos += len(jsFuncNamePrefix) + if pos >= len(fields[1]) { + panic("didn't understand js stack trace") + } + char := string(fields[1][pos]) + switch char { + case "S": + f = append(f, uintptr(0)) + default: + val, err := strconv.ParseUint(char, 16, 8) + if err != nil { + panic("didn't understand js stack trace") + } + f = append(f, uintptr(val)+1) + } + } + return f +} + +func findPtr() uintptr { + funcs := jsMarkStack() + if len(funcs) == 0 { + panic("failed to find function pointer") + } + return funcs[0] +} + +func getStack(offset, amount int) []uintptr { + if offset != 0 { + return nil + } + return jsMarkStack() +} diff --git a/vendor/github.com/jtolds/gls/stack_tags_main.go b/vendor/github.com/jtolds/gls/stack_tags_main.go new file mode 100644 index 0000000..8b10440 --- /dev/null +++ b/vendor/github.com/jtolds/gls/stack_tags_main.go @@ -0,0 +1,23 @@ +// +build !js + +package gls + +// This file is used for standard Go builds, which have the expected runtime +// support + +import ( + "runtime" +) + +func getStack(offset, amount int) []uintptr { + stack := make([]uintptr, amount) + return stack[:runtime.Callers(offset, stack)] +} + +func findPtr() uintptr { + pc, _, _, ok := runtime.Caller(3) + if !ok { + panic("failed to find function pointer") + } + return pc +} diff --git a/vendor/github.com/mailhog/MailHog-Server/LICENSE.md b/vendor/github.com/mailhog/MailHog-Server/LICENSE.md new file mode 100644 index 0000000..eec4a9a --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 - 2016 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/MailHog-Server/Makefile b/vendor/github.com/mailhog/MailHog-Server/Makefile new file mode 100644 index 0000000..cb638f3 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/Makefile @@ -0,0 +1,17 @@ +DEPS = $(go list -f '{{range .TestImports}}{{.}} {{end}}' ./...) + +all: release-deps fmt combined + +combined: + go install . + +release: + gox -output="build/{{.Dir}}_{{.OS}}_{{.Arch}}" . + +fmt: + go fmt ./... + +release-deps: + go get github.com/mitchellh/gox + +.PNONY: all combined release fmt release-deps diff --git a/vendor/github.com/mailhog/MailHog-Server/README.md b/vendor/github.com/mailhog/MailHog-Server/README.md new file mode 100644 index 0000000..dc985c5 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/README.md @@ -0,0 +1,10 @@ +MailHog Server [![Build Status](https://travis-ci.org/mailhog/MailHog-Server.svg?branch=master)](https://travis-ci.org/mailhog/MailHog-Server) +========= + +MailHog-Server is the MailHog SMTP and HTTP API server. + +### Licence + +Copyright ©‎ 2014 - 2016, Ian Kent (http://iankent.uk) + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/mailhog/MailHog-Server/api/api.go b/vendor/github.com/mailhog/MailHog-Server/api/api.go new file mode 100644 index 0000000..d85e3e8 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/api/api.go @@ -0,0 +1,23 @@ +package api + +import ( + gohttp "net/http" + + "github.com/gorilla/pat" + "github.com/mailhog/MailHog-Server/config" +) + +func CreateAPI(conf *config.Config, r gohttp.Handler) { + apiv1 := createAPIv1(conf, r.(*pat.Router)) + apiv2 := createAPIv2(conf, r.(*pat.Router)) + + go func() { + for { + select { + case msg := <-conf.MessageChan: + apiv1.messageChan <- msg + apiv2.messageChan <- msg + } + } + }() +} diff --git a/vendor/github.com/mailhog/MailHog-Server/api/v1.go b/vendor/github.com/mailhog/MailHog-Server/api/v1.go new file mode 100644 index 0000000..9bebf4a --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/api/v1.go @@ -0,0 +1,359 @@ +package api + +import ( + "encoding/base64" + "encoding/json" + "net/http" + "net/smtp" + "strconv" + "strings" + "time" + + "github.com/gorilla/pat" + "github.com/ian-kent/go-log/log" + "github.com/mailhog/MailHog-Server/config" + "github.com/mailhog/data" + "github.com/mailhog/storage" + + "github.com/ian-kent/goose" +) + +// APIv1 implements version 1 of the MailHog API +// +// The specification has been frozen and will eventually be deprecated. +// Only bug fixes and non-breaking changes will be applied here. +// +// Any changes/additions should be added in APIv2. +type APIv1 struct { + config *config.Config + messageChan chan *data.Message +} + +// FIXME should probably move this into APIv1 struct +var stream *goose.EventStream + +// ReleaseConfig is an alias to preserve go package API +type ReleaseConfig config.OutgoingSMTP + +func createAPIv1(conf *config.Config, r *pat.Router) *APIv1 { + log.Println("Creating API v1 with WebPath: " + conf.WebPath) + apiv1 := &APIv1{ + config: conf, + messageChan: make(chan *data.Message), + } + + stream = goose.NewEventStream() + + r.Path(conf.WebPath + "/api/v1/messages").Methods("GET").HandlerFunc(apiv1.messages) + r.Path(conf.WebPath + "/api/v1/messages").Methods("DELETE").HandlerFunc(apiv1.delete_all) + r.Path(conf.WebPath + "/api/v1/messages").Methods("OPTIONS").HandlerFunc(apiv1.defaultOptions) + + r.Path(conf.WebPath + "/api/v1/messages/{id}").Methods("GET").HandlerFunc(apiv1.message) + r.Path(conf.WebPath + "/api/v1/messages/{id}").Methods("DELETE").HandlerFunc(apiv1.delete_one) + r.Path(conf.WebPath + "/api/v1/messages/{id}").Methods("OPTIONS").HandlerFunc(apiv1.defaultOptions) + + r.Path(conf.WebPath + "/api/v1/messages/{id}/download").Methods("GET").HandlerFunc(apiv1.download) + r.Path(conf.WebPath + "/api/v1/messages/{id}/download").Methods("OPTIONS").HandlerFunc(apiv1.defaultOptions) + + r.Path(conf.WebPath + "/api/v1/messages/{id}/mime/part/{part}/download").Methods("GET").HandlerFunc(apiv1.download_part) + r.Path(conf.WebPath + "/api/v1/messages/{id}/mime/part/{part}/download").Methods("OPTIONS").HandlerFunc(apiv1.defaultOptions) + + r.Path(conf.WebPath + "/api/v1/messages/{id}/release").Methods("POST").HandlerFunc(apiv1.release_one) + r.Path(conf.WebPath + "/api/v1/messages/{id}/release").Methods("OPTIONS").HandlerFunc(apiv1.defaultOptions) + + r.Path(conf.WebPath + "/api/v1/events").Methods("GET").HandlerFunc(apiv1.eventstream) + r.Path(conf.WebPath + "/api/v1/events").Methods("OPTIONS").HandlerFunc(apiv1.defaultOptions) + + go func() { + keepaliveTicker := time.Tick(time.Minute) + for { + select { + case msg := <-apiv1.messageChan: + log.Println("Got message in APIv1 event stream") + bytes, _ := json.MarshalIndent(msg, "", " ") + json := string(bytes) + log.Printf("Sending content: %s\n", json) + apiv1.broadcast(json) + case <-keepaliveTicker: + apiv1.keepalive() + } + } + }() + + return apiv1 +} + +func (apiv1 *APIv1) defaultOptions(w http.ResponseWriter, req *http.Request) { + if len(apiv1.config.CORSOrigin) > 0 { + w.Header().Add("Access-Control-Allow-Origin", apiv1.config.CORSOrigin) + w.Header().Add("Access-Control-Allow-Methods", "OPTIONS,GET,POST,DELETE") + w.Header().Add("Access-Control-Allow-Headers", "Content-Type") + } +} + +func (apiv1 *APIv1) broadcast(json string) { + log.Println("[APIv1] BROADCAST /api/v1/events") + b := []byte(json) + stream.Notify("data", b) +} + +// keepalive sends an empty keep alive message. +// +// This not only can keep connections alive, but also will detect broken +// connections. Without this it is possible for the server to become +// unresponsive due to too many open files. +func (apiv1 *APIv1) keepalive() { + log.Println("[APIv1] KEEPALIVE /api/v1/events") + stream.Notify("keepalive", []byte{}) +} + +func (apiv1 *APIv1) eventstream(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv1] GET /api/v1/events") + + //apiv1.defaultOptions(session) + if len(apiv1.config.CORSOrigin) > 0 { + w.Header().Add("Access-Control-Allow-Origin", apiv1.config.CORSOrigin) + w.Header().Add("Access-Control-Allow-Methods", "OPTIONS,GET,POST,DELETE") + } + + stream.AddReceiver(w) +} + +func (apiv1 *APIv1) messages(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv1] GET /api/v1/messages") + + apiv1.defaultOptions(w, req) + + // TODO start, limit + switch apiv1.config.Storage.(type) { + case *storage.MongoDB: + messages, _ := apiv1.config.Storage.(*storage.MongoDB).List(0, 1000) + bytes, _ := json.Marshal(messages) + w.Header().Add("Content-Type", "text/json") + w.Write(bytes) + case *storage.InMemory: + messages, _ := apiv1.config.Storage.(*storage.InMemory).List(0, 1000) + bytes, _ := json.Marshal(messages) + w.Header().Add("Content-Type", "text/json") + w.Write(bytes) + default: + w.WriteHeader(500) + } +} + +func (apiv1 *APIv1) message(w http.ResponseWriter, req *http.Request) { + id := req.URL.Query().Get(":id") + log.Printf("[APIv1] GET /api/v1/messages/%s\n", id) + + apiv1.defaultOptions(w, req) + + message, err := apiv1.config.Storage.Load(id) + if err != nil { + log.Printf("- Error: %s", err) + w.WriteHeader(500) + return + } + + bytes, err := json.Marshal(message) + if err != nil { + log.Printf("- Error: %s", err) + w.WriteHeader(500) + return + } + + w.Header().Set("Content-Type", "text/json") + w.Write(bytes) +} + +func (apiv1 *APIv1) download(w http.ResponseWriter, req *http.Request) { + id := req.URL.Query().Get(":id") + log.Printf("[APIv1] GET /api/v1/messages/%s\n", id) + + apiv1.defaultOptions(w, req) + + w.Header().Set("Content-Type", "message/rfc822") + w.Header().Set("Content-Disposition", "attachment; filename=\""+id+".eml\"") + + switch apiv1.config.Storage.(type) { + case *storage.MongoDB: + message, _ := apiv1.config.Storage.(*storage.MongoDB).Load(id) + for h, l := range message.Content.Headers { + for _, v := range l { + w.Write([]byte(h + ": " + v + "\r\n")) + } + } + w.Write([]byte("\r\n" + message.Content.Body)) + case *storage.InMemory: + message, _ := apiv1.config.Storage.(*storage.InMemory).Load(id) + for h, l := range message.Content.Headers { + for _, v := range l { + w.Write([]byte(h + ": " + v + "\r\n")) + } + } + w.Write([]byte("\r\n" + message.Content.Body)) + default: + w.WriteHeader(500) + } +} + +func (apiv1 *APIv1) download_part(w http.ResponseWriter, req *http.Request) { + id := req.URL.Query().Get(":id") + part := req.URL.Query().Get(":part") + log.Printf("[APIv1] GET /api/v1/messages/%s/mime/part/%s/download\n", id, part) + + // TODO extension from content-type? + apiv1.defaultOptions(w, req) + + w.Header().Set("Content-Disposition", "attachment; filename=\""+id+"-part-"+part+"\"") + + message, _ := apiv1.config.Storage.Load(id) + contentTransferEncoding := "" + pid, _ := strconv.Atoi(part) + for h, l := range message.MIME.Parts[pid].Headers { + for _, v := range l { + switch strings.ToLower(h) { + case "content-disposition": + // Prevent duplicate "content-disposition" + w.Header().Set(h, v) + case "content-transfer-encoding": + if contentTransferEncoding == "" { + contentTransferEncoding = v + } + fallthrough + default: + w.Header().Add(h, v) + } + } + } + body := []byte(message.MIME.Parts[pid].Body) + if strings.ToLower(contentTransferEncoding) == "base64" { + var e error + body, e = base64.StdEncoding.DecodeString(message.MIME.Parts[pid].Body) + if e != nil { + log.Printf("[APIv1] Decoding base64 encoded body failed: %s", e) + } + } + w.Write(body) +} + +func (apiv1 *APIv1) delete_all(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv1] POST /api/v1/messages") + + apiv1.defaultOptions(w, req) + + w.Header().Add("Content-Type", "text/json") + + err := apiv1.config.Storage.DeleteAll() + if err != nil { + log.Println(err) + w.WriteHeader(500) + return + } + + w.WriteHeader(200) +} + +func (apiv1 *APIv1) release_one(w http.ResponseWriter, req *http.Request) { + id := req.URL.Query().Get(":id") + log.Printf("[APIv1] POST /api/v1/messages/%s/release\n", id) + + apiv1.defaultOptions(w, req) + + w.Header().Add("Content-Type", "text/json") + msg, _ := apiv1.config.Storage.Load(id) + + decoder := json.NewDecoder(req.Body) + var cfg ReleaseConfig + err := decoder.Decode(&cfg) + if err != nil { + log.Printf("Error decoding request body: %s", err) + w.WriteHeader(500) + w.Write([]byte("Error decoding request body")) + return + } + + log.Printf("%+v", cfg) + + log.Printf("Got message: %s", msg.ID) + + if cfg.Save { + if _, ok := apiv1.config.OutgoingSMTP[cfg.Name]; ok { + log.Printf("Server already exists named %s", cfg.Name) + w.WriteHeader(400) + return + } + cf := config.OutgoingSMTP(cfg) + apiv1.config.OutgoingSMTP[cfg.Name] = &cf + log.Printf("Saved server with name %s", cfg.Name) + } + + if len(cfg.Name) > 0 { + if c, ok := apiv1.config.OutgoingSMTP[cfg.Name]; ok { + log.Printf("Using server with name: %s", cfg.Name) + cfg.Name = c.Name + if len(cfg.Email) == 0 { + cfg.Email = c.Email + } + cfg.Host = c.Host + cfg.Port = c.Port + cfg.Username = c.Username + cfg.Password = c.Password + cfg.Mechanism = c.Mechanism + } else { + log.Printf("Server not found: %s", cfg.Name) + w.WriteHeader(400) + return + } + } + + log.Printf("Releasing to %s (via %s:%s)", cfg.Email, cfg.Host, cfg.Port) + + bytes := make([]byte, 0) + for h, l := range msg.Content.Headers { + for _, v := range l { + bytes = append(bytes, []byte(h+": "+v+"\r\n")...) + } + } + bytes = append(bytes, []byte("\r\n"+msg.Content.Body)...) + + var auth smtp.Auth + + if len(cfg.Username) > 0 || len(cfg.Password) > 0 { + log.Printf("Found username/password, using auth mechanism: [%s]", cfg.Mechanism) + switch cfg.Mechanism { + case "CRAMMD5": + auth = smtp.CRAMMD5Auth(cfg.Username, cfg.Password) + case "PLAIN": + auth = smtp.PlainAuth("", cfg.Username, cfg.Password, cfg.Host) + default: + log.Printf("Error - invalid authentication mechanism") + w.WriteHeader(400) + return + } + } + + err = smtp.SendMail(cfg.Host+":"+cfg.Port, auth, "nobody@"+apiv1.config.Hostname, []string{cfg.Email}, bytes) + if err != nil { + log.Printf("Failed to release message: %s", err) + w.WriteHeader(500) + return + } + log.Printf("Message released successfully") +} + +func (apiv1 *APIv1) delete_one(w http.ResponseWriter, req *http.Request) { + id := req.URL.Query().Get(":id") + + log.Printf("[APIv1] POST /api/v1/messages/%s/delete\n", id) + + apiv1.defaultOptions(w, req) + + w.Header().Add("Content-Type", "text/json") + err := apiv1.config.Storage.DeleteOne(id) + if err != nil { + log.Println(err) + w.WriteHeader(500) + return + } + w.WriteHeader(200) +} diff --git a/vendor/github.com/mailhog/MailHog-Server/api/v2.go b/vendor/github.com/mailhog/MailHog-Server/api/v2.go new file mode 100644 index 0000000..4ef0c40 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/api/v2.go @@ -0,0 +1,258 @@ +package api + +import ( + "encoding/json" + "net/http" + "strconv" + + "github.com/gorilla/pat" + "github.com/ian-kent/go-log/log" + "github.com/mailhog/MailHog-Server/config" + "github.com/mailhog/MailHog-Server/monkey" + "github.com/mailhog/MailHog-Server/websockets" + "github.com/mailhog/data" +) + +// APIv2 implements version 2 of the MailHog API +// +// It is currently experimental and may change in future releases. +// Use APIv1 for guaranteed compatibility. +type APIv2 struct { + config *config.Config + messageChan chan *data.Message + wsHub *websockets.Hub +} + +func createAPIv2(conf *config.Config, r *pat.Router) *APIv2 { + log.Println("Creating API v2 with WebPath: " + conf.WebPath) + apiv2 := &APIv2{ + config: conf, + messageChan: make(chan *data.Message), + wsHub: websockets.NewHub(), + } + + r.Path(conf.WebPath + "/api/v2/messages").Methods("GET").HandlerFunc(apiv2.messages) + r.Path(conf.WebPath + "/api/v2/messages").Methods("OPTIONS").HandlerFunc(apiv2.defaultOptions) + + r.Path(conf.WebPath + "/api/v2/search").Methods("GET").HandlerFunc(apiv2.search) + r.Path(conf.WebPath + "/api/v2/search").Methods("OPTIONS").HandlerFunc(apiv2.defaultOptions) + + r.Path(conf.WebPath + "/api/v2/jim").Methods("GET").HandlerFunc(apiv2.jim) + r.Path(conf.WebPath + "/api/v2/jim").Methods("POST").HandlerFunc(apiv2.createJim) + r.Path(conf.WebPath + "/api/v2/jim").Methods("PUT").HandlerFunc(apiv2.updateJim) + r.Path(conf.WebPath + "/api/v2/jim").Methods("DELETE").HandlerFunc(apiv2.deleteJim) + r.Path(conf.WebPath + "/api/v2/jim").Methods("OPTIONS").HandlerFunc(apiv2.defaultOptions) + + r.Path(conf.WebPath + "/api/v2/outgoing-smtp").Methods("GET").HandlerFunc(apiv2.listOutgoingSMTP) + r.Path(conf.WebPath + "/api/v2/outgoing-smtp").Methods("OPTIONS").HandlerFunc(apiv2.defaultOptions) + + r.Path(conf.WebPath + "/api/v2/websocket").Methods("GET").HandlerFunc(apiv2.websocket) + + go func() { + for { + select { + case msg := <-apiv2.messageChan: + log.Println("Got message in APIv2 websocket channel") + apiv2.broadcast(msg) + } + } + }() + + return apiv2 +} + +func (apiv2 *APIv2) defaultOptions(w http.ResponseWriter, req *http.Request) { + if len(apiv2.config.CORSOrigin) > 0 { + w.Header().Add("Access-Control-Allow-Origin", apiv2.config.CORSOrigin) + w.Header().Add("Access-Control-Allow-Methods", "OPTIONS,GET,PUT,POST,DELETE") + w.Header().Add("Access-Control-Allow-Headers", "Content-Type") + } +} + +type messagesResult struct { + Total int `json:"total"` + Count int `json:"count"` + Start int `json:"start"` + Items []data.Message `json:"items"` +} + +func (apiv2 *APIv2) getStartLimit(w http.ResponseWriter, req *http.Request) (start, limit int) { + start = 0 + limit = 50 + + s := req.URL.Query().Get("start") + if n, e := strconv.ParseInt(s, 10, 64); e == nil && n > 0 { + start = int(n) + } + + l := req.URL.Query().Get("limit") + if n, e := strconv.ParseInt(l, 10, 64); e == nil && n > 0 { + if n > 250 { + n = 250 + } + limit = int(n) + } + + return +} + +func (apiv2 *APIv2) messages(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] GET /api/v2/messages") + + apiv2.defaultOptions(w, req) + + start, limit := apiv2.getStartLimit(w, req) + + var res messagesResult + + messages, err := apiv2.config.Storage.List(start, limit) + if err != nil { + panic(err) + } + + res.Count = len([]data.Message(*messages)) + res.Start = start + res.Items = []data.Message(*messages) + res.Total = apiv2.config.Storage.Count() + + bytes, _ := json.Marshal(res) + w.Header().Add("Content-Type", "text/json") + w.Write(bytes) +} + +func (apiv2 *APIv2) search(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] GET /api/v2/search") + + apiv2.defaultOptions(w, req) + + start, limit := apiv2.getStartLimit(w, req) + + kind := req.URL.Query().Get("kind") + if kind != "from" && kind != "to" && kind != "containing" { + w.WriteHeader(400) + return + } + + query := req.URL.Query().Get("query") + if len(query) == 0 { + w.WriteHeader(400) + return + } + + var res messagesResult + + messages, total, _ := apiv2.config.Storage.Search(kind, query, start, limit) + + res.Count = len([]data.Message(*messages)) + res.Start = start + res.Items = []data.Message(*messages) + res.Total = total + + b, _ := json.Marshal(res) + w.Header().Add("Content-Type", "application/json") + w.Write(b) +} + +func (apiv2 *APIv2) jim(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] GET /api/v2/jim") + + apiv2.defaultOptions(w, req) + + if apiv2.config.Monkey == nil { + w.WriteHeader(404) + return + } + + b, _ := json.Marshal(apiv2.config.Monkey) + w.Header().Add("Content-Type", "application/json") + w.Write(b) +} + +func (apiv2 *APIv2) deleteJim(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] DELETE /api/v2/jim") + + apiv2.defaultOptions(w, req) + + if apiv2.config.Monkey == nil { + w.WriteHeader(404) + return + } + + apiv2.config.Monkey = nil +} + +func (apiv2 *APIv2) createJim(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] POST /api/v2/jim") + + apiv2.defaultOptions(w, req) + + if apiv2.config.Monkey != nil { + w.WriteHeader(400) + return + } + + apiv2.config.Monkey = config.Jim + + // Try, but ignore errors + // Could be better (e.g., ok if no json, error if badly formed json) + // but this works for now + apiv2.newJimFromBody(w, req) + + w.WriteHeader(201) +} + +func (apiv2 *APIv2) newJimFromBody(w http.ResponseWriter, req *http.Request) error { + var jim monkey.Jim + + dec := json.NewDecoder(req.Body) + err := dec.Decode(&jim) + + if err != nil { + return err + } + + jim.ConfigureFrom(config.Jim) + + config.Jim = &jim + apiv2.config.Monkey = &jim + + return nil +} + +func (apiv2 *APIv2) updateJim(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] PUT /api/v2/jim") + + apiv2.defaultOptions(w, req) + + if apiv2.config.Monkey == nil { + w.WriteHeader(404) + return + } + + err := apiv2.newJimFromBody(w, req) + if err != nil { + w.WriteHeader(400) + } +} + +func (apiv2 *APIv2) listOutgoingSMTP(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] GET /api/v2/outgoing-smtp") + + apiv2.defaultOptions(w, req) + + b, _ := json.Marshal(apiv2.config.OutgoingSMTP) + w.Header().Add("Content-Type", "application/json") + w.Write(b) +} + +func (apiv2 *APIv2) websocket(w http.ResponseWriter, req *http.Request) { + log.Println("[APIv2] GET /api/v2/websocket") + + apiv2.wsHub.Serve(w, req) +} + +func (apiv2 *APIv2) broadcast(msg *data.Message) { + log.Println("[APIv2] BROADCAST /api/v2/websocket") + + apiv2.wsHub.Broadcast(msg) +} diff --git a/vendor/github.com/mailhog/MailHog-Server/config/config.go b/vendor/github.com/mailhog/MailHog-Server/config/config.go new file mode 100644 index 0000000..59cb706 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/config/config.go @@ -0,0 +1,132 @@ +package config + +import ( + "encoding/json" + "flag" + "io/ioutil" + "log" + + "github.com/ian-kent/envconf" + "github.com/mailhog/MailHog-Server/monkey" + "github.com/mailhog/data" + "github.com/mailhog/storage" +) + +// DefaultConfig is the default config +func DefaultConfig() *Config { + return &Config{ + SMTPBindAddr: "0.0.0.0:1025", + APIBindAddr: "0.0.0.0:8025", + Hostname: "mailhog.example", + MongoURI: "127.0.0.1:27017", + MongoDb: "mailhog", + MongoColl: "messages", + MaildirPath: "", + StorageType: "memory", + CORSOrigin: "", + WebPath: "", + MessageChan: make(chan *data.Message), + OutgoingSMTP: make(map[string]*OutgoingSMTP), + } +} + +// Config is the config, kind of +type Config struct { + SMTPBindAddr string + APIBindAddr string + Hostname string + MongoURI string + MongoDb string + MongoColl string + StorageType string + CORSOrigin string + MaildirPath string + InviteJim bool + Storage storage.Storage + MessageChan chan *data.Message + Assets func(asset string) ([]byte, error) + Monkey monkey.ChaosMonkey + OutgoingSMTPFile string + OutgoingSMTP map[string]*OutgoingSMTP + WebPath string +} + +// OutgoingSMTP is an outgoing SMTP server config +type OutgoingSMTP struct { + Name string + Save bool + Email string + Host string + Port string + Username string + Password string + Mechanism string +} + +var cfg = DefaultConfig() + +// Jim is a monkey +var Jim = &monkey.Jim{} + +// Configure configures stuff +func Configure() *Config { + switch cfg.StorageType { + case "memory": + log.Println("Using in-memory storage") + cfg.Storage = storage.CreateInMemory() + case "mongodb": + log.Println("Using MongoDB message storage") + s := storage.CreateMongoDB(cfg.MongoURI, cfg.MongoDb, cfg.MongoColl) + if s == nil { + log.Println("MongoDB storage unavailable, reverting to in-memory storage") + cfg.Storage = storage.CreateInMemory() + } else { + log.Println("Connected to MongoDB") + cfg.Storage = s + } + case "maildir": + log.Println("Using maildir message storage") + s := storage.CreateMaildir(cfg.MaildirPath) + cfg.Storage = s + default: + log.Fatalf("Invalid storage type %s", cfg.StorageType) + } + + Jim.Configure(func(message string, args ...interface{}) { + log.Printf(message, args...) + }) + if cfg.InviteJim { + cfg.Monkey = Jim + } + + if len(cfg.OutgoingSMTPFile) > 0 { + b, err := ioutil.ReadFile(cfg.OutgoingSMTPFile) + if err != nil { + log.Fatal(err) + } + var o map[string]*OutgoingSMTP + err = json.Unmarshal(b, &o) + if err != nil { + log.Fatal(err) + } + cfg.OutgoingSMTP = o + } + + return cfg +} + +// RegisterFlags registers flags +func RegisterFlags() { + flag.StringVar(&cfg.SMTPBindAddr, "smtp-bind-addr", envconf.FromEnvP("MH_SMTP_BIND_ADDR", "0.0.0.0:1025").(string), "SMTP bind interface and port, e.g. 0.0.0.0:1025 or just :1025") + flag.StringVar(&cfg.APIBindAddr, "api-bind-addr", envconf.FromEnvP("MH_API_BIND_ADDR", "0.0.0.0:8025").(string), "HTTP bind interface and port for API, e.g. 0.0.0.0:8025 or just :8025") + flag.StringVar(&cfg.Hostname, "hostname", envconf.FromEnvP("MH_HOSTNAME", "mailhog.example").(string), "Hostname for EHLO/HELO response, e.g. mailhog.example") + flag.StringVar(&cfg.StorageType, "storage", envconf.FromEnvP("MH_STORAGE", "memory").(string), "Message storage: 'memory' (default), 'mongodb' or 'maildir'") + flag.StringVar(&cfg.MongoURI, "mongo-uri", envconf.FromEnvP("MH_MONGO_URI", "127.0.0.1:27017").(string), "MongoDB URI, e.g. 127.0.0.1:27017") + flag.StringVar(&cfg.MongoDb, "mongo-db", envconf.FromEnvP("MH_MONGO_DB", "mailhog").(string), "MongoDB database, e.g. mailhog") + flag.StringVar(&cfg.MongoColl, "mongo-coll", envconf.FromEnvP("MH_MONGO_COLLECTION", "messages").(string), "MongoDB collection, e.g. messages") + flag.StringVar(&cfg.CORSOrigin, "cors-origin", envconf.FromEnvP("MH_CORS_ORIGIN", "").(string), "CORS Access-Control-Allow-Origin header for API endpoints") + flag.StringVar(&cfg.MaildirPath, "maildir-path", envconf.FromEnvP("MH_MAILDIR_PATH", "").(string), "Maildir path (if storage type is 'maildir')") + flag.BoolVar(&cfg.InviteJim, "invite-jim", envconf.FromEnvP("MH_INVITE_JIM", false).(bool), "Decide whether to invite Jim (beware, he causes trouble)") + flag.StringVar(&cfg.OutgoingSMTPFile, "outgoing-smtp", envconf.FromEnvP("MH_OUTGOING_SMTP", "").(string), "JSON file containing outgoing SMTP servers") + Jim.RegisterFlags() +} diff --git a/vendor/github.com/mailhog/MailHog-Server/main.go b/vendor/github.com/mailhog/MailHog-Server/main.go new file mode 100644 index 0000000..f33d2c8 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/main.go @@ -0,0 +1,51 @@ +package main + +import ( + "flag" + "os" + + gohttp "net/http" + + "github.com/ian-kent/go-log/log" + "github.com/mailhog/MailHog-Server/api" + "github.com/mailhog/MailHog-Server/config" + "github.com/mailhog/MailHog-Server/smtp" + "github.com/mailhog/MailHog-UI/assets" + comcfg "github.com/mailhog/MailHog/config" + "github.com/mailhog/http" +) + +var conf *config.Config +var comconf *comcfg.Config +var exitCh chan int + +func configure() { + comcfg.RegisterFlags() + config.RegisterFlags() + flag.Parse() + conf = config.Configure() + comconf = comcfg.Configure() +} + +func main() { + configure() + + if comconf.AuthFile != "" { + http.AuthFile(comconf.AuthFile) + } + + exitCh = make(chan int) + cb := func(r gohttp.Handler) { + api.CreateAPI(conf, r) + } + go http.Listen(conf.APIBindAddr, assets.Asset, exitCh, cb) + go smtp.Listen(conf, exitCh) + + for { + select { + case <-exitCh: + log.Printf("Received exit signal") + os.Exit(0) + } + } +} diff --git a/vendor/github.com/mailhog/MailHog-Server/monkey/jim.go b/vendor/github.com/mailhog/MailHog-Server/monkey/jim.go new file mode 100644 index 0000000..9ebf089 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/monkey/jim.go @@ -0,0 +1,111 @@ +package monkey + +import ( + "flag" + "math/rand" + "net" + "time" + + "github.com/ian-kent/linkio" +) + +// Jim is a chaos monkey +type Jim struct { + DisconnectChance float64 + AcceptChance float64 + LinkSpeedAffect float64 + LinkSpeedMin float64 + LinkSpeedMax float64 + RejectSenderChance float64 + RejectRecipientChance float64 + RejectAuthChance float64 + logf func(message string, args ...interface{}) +} + +// RegisterFlags implements ChaosMonkey.RegisterFlags +func (j *Jim) RegisterFlags() { + flag.Float64Var(&j.DisconnectChance, "jim-disconnect", 0.005, "Chance of disconnect") + flag.Float64Var(&j.AcceptChance, "jim-accept", 0.99, "Chance of accept") + flag.Float64Var(&j.LinkSpeedAffect, "jim-linkspeed-affect", 0.1, "Chance of affecting link speed") + flag.Float64Var(&j.LinkSpeedMin, "jim-linkspeed-min", 1024, "Minimum link speed (in bytes per second)") + flag.Float64Var(&j.LinkSpeedMax, "jim-linkspeed-max", 10240, "Maximum link speed (in bytes per second)") + flag.Float64Var(&j.RejectSenderChance, "jim-reject-sender", 0.05, "Chance of rejecting a sender (MAIL FROM)") + flag.Float64Var(&j.RejectRecipientChance, "jim-reject-recipient", 0.05, "Chance of rejecting a recipient (RCPT TO)") + flag.Float64Var(&j.RejectAuthChance, "jim-reject-auth", 0.05, "Chance of rejecting authentication (AUTH)") +} + +// Configure implements ChaosMonkey.Configure +func (j *Jim) Configure(logf func(string, ...interface{})) { + j.logf = logf + rand.Seed(time.Now().Unix()) +} + +// ConfigureFrom lets us configure a new Jim from an old one without +// having to expose logf (and any other future private vars) +func (j *Jim) ConfigureFrom(j2 *Jim) { + j.Configure(j2.logf) +} + +// Accept implements ChaosMonkey.Accept +func (j *Jim) Accept(conn net.Conn) bool { + if rand.Float64() > j.AcceptChance { + j.logf("Jim: Rejecting connection\n") + return false + } + j.logf("Jim: Allowing connection\n") + return true +} + +// LinkSpeed implements ChaosMonkey.LinkSpeed +func (j *Jim) LinkSpeed() *linkio.Throughput { + rand.Seed(time.Now().Unix()) + if rand.Float64() < j.LinkSpeedAffect { + lsDiff := j.LinkSpeedMax - j.LinkSpeedMin + lsAffect := j.LinkSpeedMin + (lsDiff * rand.Float64()) + f := linkio.Throughput(lsAffect) * linkio.BytePerSecond + j.logf("Jim: Restricting throughput to %s\n", f) + return &f + } + j.logf("Jim: Allowing unrestricted throughput") + return nil +} + +// ValidRCPT implements ChaosMonkey.ValidRCPT +func (j *Jim) ValidRCPT(rcpt string) bool { + if rand.Float64() < j.RejectRecipientChance { + j.logf("Jim: Rejecting recipient %s\n", rcpt) + return false + } + j.logf("Jim: Allowing recipient%s\n", rcpt) + return true +} + +// ValidMAIL implements ChaosMonkey.ValidMAIL +func (j *Jim) ValidMAIL(mail string) bool { + if rand.Float64() < j.RejectSenderChance { + j.logf("Jim: Rejecting sender %s\n", mail) + return false + } + j.logf("Jim: Allowing sender %s\n", mail) + return true +} + +// ValidAUTH implements ChaosMonkey.ValidAUTH +func (j *Jim) ValidAUTH(mechanism string, args ...string) bool { + if rand.Float64() < j.RejectAuthChance { + j.logf("Jim: Rejecting authentication %s: %s\n", mechanism, args) + return false + } + j.logf("Jim: Allowing authentication %s: %s\n", mechanism, args) + return true +} + +// Disconnect implements ChaosMonkey.Disconnect +func (j *Jim) Disconnect() bool { + if rand.Float64() < j.DisconnectChance { + j.logf("Jim: Being nasty, kicking them off\n") + return true + } + j.logf("Jim: Being nice, letting them stay\n") + return false +} diff --git a/vendor/github.com/mailhog/MailHog-Server/monkey/monkey.go b/vendor/github.com/mailhog/MailHog-Server/monkey/monkey.go new file mode 100644 index 0000000..2986eca --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/monkey/monkey.go @@ -0,0 +1,28 @@ +package monkey + +import ( + "net" + + "github.com/ian-kent/linkio" +) + +// ChaosMonkey should be implemented by chaos monkeys! +type ChaosMonkey interface { + RegisterFlags() + Configure(func(string, ...interface{})) + + // Accept is called for each incoming connection. Returning false closes the connection. + Accept(conn net.Conn) bool + // LinkSpeed sets the maximum connection throughput (in one direction) + LinkSpeed() *linkio.Throughput + + // ValidRCPT is called for the RCPT command. Returning false signals an invalid recipient. + ValidRCPT(rcpt string) bool + // ValidMAIL is called for the MAIL command. Returning false signals an invalid sender. + ValidMAIL(mail string) bool + // ValidAUTH is called after authentication. Returning false signals invalid authentication. + ValidAUTH(mechanism string, args ...string) bool + + // Disconnect is called after every read. Returning true will close the connection. + Disconnect() bool +} diff --git a/vendor/github.com/mailhog/MailHog-Server/smtp/session.go b/vendor/github.com/mailhog/MailHog-Server/smtp/session.go new file mode 100644 index 0000000..10a220d --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/smtp/session.go @@ -0,0 +1,163 @@ +package smtp + +// http://www.rfc-editor.org/rfc/rfc5321.txt + +import ( + "io" + "log" + "strings" + + "github.com/ian-kent/linkio" + "github.com/mailhog/MailHog-Server/monkey" + "github.com/mailhog/data" + "github.com/mailhog/smtp" + "github.com/mailhog/storage" +) + +// Session represents a SMTP session using net.TCPConn +type Session struct { + conn io.ReadWriteCloser + proto *smtp.Protocol + storage storage.Storage + messageChan chan *data.Message + remoteAddress string + isTLS bool + line string + link *linkio.Link + + reader io.Reader + writer io.Writer + monkey monkey.ChaosMonkey +} + +// Accept starts a new SMTP session using io.ReadWriteCloser +func Accept(remoteAddress string, conn io.ReadWriteCloser, storage storage.Storage, messageChan chan *data.Message, hostname string, monkey monkey.ChaosMonkey) { + defer conn.Close() + + proto := smtp.NewProtocol() + proto.Hostname = hostname + var link *linkio.Link + reader := io.Reader(conn) + writer := io.Writer(conn) + if monkey != nil { + linkSpeed := monkey.LinkSpeed() + if linkSpeed != nil { + link = linkio.NewLink(*linkSpeed * linkio.BytePerSecond) + reader = link.NewLinkReader(io.Reader(conn)) + writer = link.NewLinkWriter(io.Writer(conn)) + } + } + + session := &Session{conn, proto, storage, messageChan, remoteAddress, false, "", link, reader, writer, monkey} + proto.LogHandler = session.logf + proto.MessageReceivedHandler = session.acceptMessage + proto.ValidateSenderHandler = session.validateSender + proto.ValidateRecipientHandler = session.validateRecipient + proto.ValidateAuthenticationHandler = session.validateAuthentication + proto.GetAuthenticationMechanismsHandler = func() []string { return []string{"PLAIN"} } + + session.logf("Starting session") + session.Write(proto.Start()) + for session.Read() == true { + if monkey != nil && monkey.Disconnect != nil && monkey.Disconnect() { + session.conn.Close() + break + } + } + session.logf("Session ended") +} + +func (c *Session) validateAuthentication(mechanism string, args ...string) (errorReply *smtp.Reply, ok bool) { + if c.monkey != nil { + ok := c.monkey.ValidAUTH(mechanism, args...) + if !ok { + // FIXME better error? + return smtp.ReplyUnrecognisedCommand(), false + } + } + return nil, true +} + +func (c *Session) validateRecipient(to string) bool { + if c.monkey != nil { + ok := c.monkey.ValidRCPT(to) + if !ok { + return false + } + } + return true +} + +func (c *Session) validateSender(from string) bool { + if c.monkey != nil { + ok := c.monkey.ValidMAIL(from) + if !ok { + return false + } + } + return true +} + +func (c *Session) acceptMessage(msg *data.SMTPMessage) (id string, err error) { + m := msg.Parse(c.proto.Hostname) + c.logf("Storing message %s", m.ID) + id, err = c.storage.Store(m) + c.messageChan <- m + return +} + +func (c *Session) logf(message string, args ...interface{}) { + message = strings.Join([]string{"[SMTP %s]", message}, " ") + args = append([]interface{}{c.remoteAddress}, args...) + log.Printf(message, args...) +} + +// Read reads from the underlying net.TCPConn +func (c *Session) Read() bool { + buf := make([]byte, 1024) + n, err := c.reader.Read(buf) + + if n == 0 { + c.logf("Connection closed by remote host\n") + io.Closer(c.conn).Close() // not sure this is necessary? + return false + } + + if err != nil { + c.logf("Error reading from socket: %s\n", err) + return false + } + + text := string(buf[0:n]) + logText := strings.Replace(text, "\n", "\\n", -1) + logText = strings.Replace(logText, "\r", "\\r", -1) + c.logf("Received %d bytes: '%s'\n", n, logText) + + c.line += text + + for strings.Contains(c.line, "\r\n") { + line, reply := c.proto.Parse(c.line) + c.line = line + + if reply != nil { + c.Write(reply) + if reply.Status == 221 { + io.Closer(c.conn).Close() + return false + } + } + } + + return true +} + +// Write writes a reply to the underlying net.TCPConn +func (c *Session) Write(reply *smtp.Reply) { + lines := reply.Lines() + for _, l := range lines { + logText := strings.Replace(l, "\n", "\\n", -1) + logText = strings.Replace(logText, "\r", "\\r", -1) + c.logf("Sent %d bytes: '%s'", len(l), logText) + c.writer.Write([]byte(l)) + } +} diff --git a/vendor/github.com/mailhog/MailHog-Server/smtp/session_test.go b/vendor/github.com/mailhog/MailHog-Server/smtp/session_test.go new file mode 100644 index 0000000..27f3cef --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/smtp/session_test.go @@ -0,0 +1,141 @@ +package smtp + +import ( + "errors" + "sync" + "testing" + + . "github.com/smartystreets/goconvey/convey" + + "github.com/mailhog/data" + "github.com/mailhog/storage" +) + +type fakeRw struct { + _read func(p []byte) (n int, err error) + _write func(p []byte) (n int, err error) + _close func() error +} + +func (rw *fakeRw) Read(p []byte) (n int, err error) { + if rw._read != nil { + return rw._read(p) + } + return 0, nil +} +func (rw *fakeRw) Close() error { + if rw._close != nil { + return rw._close() + } + return nil +} +func (rw *fakeRw) Write(p []byte) (n int, err error) { + if rw._write != nil { + return rw._write(p) + } + return len(p), nil +} + +func TestAccept(t *testing.T) { + Convey("Accept should handle a connection", t, func() { + frw := &fakeRw{} + mChan := make(chan *data.Message) + Accept("1.1.1.1:11111", frw, storage.CreateInMemory(), mChan, "localhost", nil) + }) +} + +func TestSocketError(t *testing.T) { + Convey("Socket errors should return from Accept", t, func() { + frw := &fakeRw{ + _read: func(p []byte) (n int, err error) { + return -1, errors.New("OINK") + }, + } + mChan := make(chan *data.Message) + Accept("1.1.1.1:11111", frw, storage.CreateInMemory(), mChan, "localhost", nil) + }) +} + +func TestAcceptMessage(t *testing.T) { + Convey("acceptMessage should be called", t, func() { + mbuf := "EHLO localhost\nMAIL FROM:\nRCPT TO:\nDATA\nHi.\r\n.\r\nQUIT\n" + var rbuf []byte + frw := &fakeRw{ + _read: func(p []byte) (n int, err error) { + if len(p) >= len(mbuf) { + ba := []byte(mbuf) + mbuf = "" + for i, b := range ba { + p[i] = b + } + return len(ba), nil + } + + ba := []byte(mbuf[0:len(p)]) + mbuf = mbuf[len(p):] + for i, b := range ba { + p[i] = b + } + return len(ba), nil + }, + _write: func(p []byte) (n int, err error) { + rbuf = append(rbuf, p...) + return len(p), nil + }, + _close: func() error { + return nil + }, + } + mChan := make(chan *data.Message) + var wg sync.WaitGroup + wg.Add(1) + handlerCalled := false + go func() { + handlerCalled = true + <-mChan + //FIXME breaks some tests (in drone.io) + //m := <-mChan + //So(m, ShouldNotBeNil) + wg.Done() + }() + Accept("1.1.1.1:11111", frw, storage.CreateInMemory(), mChan, "localhost", nil) + wg.Wait() + So(handlerCalled, ShouldBeTrue) + }) +} + +func TestValidateAuthentication(t *testing.T) { + Convey("validateAuthentication is always successful", t, func() { + c := &Session{} + + err, ok := c.validateAuthentication("OINK") + So(err, ShouldBeNil) + So(ok, ShouldBeTrue) + + err, ok = c.validateAuthentication("OINK", "arg1") + So(err, ShouldBeNil) + So(ok, ShouldBeTrue) + + err, ok = c.validateAuthentication("OINK", "arg1", "arg2") + So(err, ShouldBeNil) + So(ok, ShouldBeTrue) + }) +} + +func TestValidateRecipient(t *testing.T) { + Convey("validateRecipient is always successful", t, func() { + c := &Session{} + + So(c.validateRecipient("OINK"), ShouldBeTrue) + So(c.validateRecipient("foo@bar.mailhog"), ShouldBeTrue) + }) +} + +func TestValidateSender(t *testing.T) { + Convey("validateSender is always successful", t, func() { + c := &Session{} + + So(c.validateSender("OINK"), ShouldBeTrue) + So(c.validateSender("foo@bar.mailhog"), ShouldBeTrue) + }) +} diff --git a/vendor/github.com/mailhog/MailHog-Server/smtp/smtp.go b/vendor/github.com/mailhog/MailHog-Server/smtp/smtp.go new file mode 100644 index 0000000..38a9b51 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/smtp/smtp.go @@ -0,0 +1,43 @@ +package smtp + +import ( + "io" + "log" + "net" + + "github.com/mailhog/MailHog-Server/config" +) + +func Listen(cfg *config.Config, exitCh chan int) *net.TCPListener { + log.Printf("[SMTP] Binding to address: %s\n", cfg.SMTPBindAddr) + ln, err := net.Listen("tcp", cfg.SMTPBindAddr) + if err != nil { + log.Fatalf("[SMTP] Error listening on socket: %s\n", err) + } + defer ln.Close() + + for { + conn, err := ln.Accept() + if err != nil { + log.Printf("[SMTP] Error accepting connection: %s\n", err) + continue + } + + if cfg.Monkey != nil { + ok := cfg.Monkey.Accept(conn) + if !ok { + conn.Close() + continue + } + } + + go Accept( + conn.(*net.TCPConn).RemoteAddr().String(), + io.ReadWriteCloser(conn), + cfg.Storage, + cfg.MessageChan, + cfg.Hostname, + cfg.Monkey, + ) + } +} diff --git a/vendor/github.com/mailhog/MailHog-Server/websockets/connection.go b/vendor/github.com/mailhog/MailHog-Server/websockets/connection.go new file mode 100644 index 0000000..1fcb17a --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/websockets/connection.go @@ -0,0 +1,73 @@ +package websockets + +import ( + "time" + + "github.com/gorilla/websocket" +) + +const ( + // Time allowed to write a message to the peer. + writeWait = 10 * time.Second + // Time allowed to read the next pong message from the peer. + pongWait = 60 * time.Second + // Send pings to peer with this period. Must be less than pongWait. + pingPeriod = (pongWait * 9) / 10 + // Maximum message size allowed from peer. Set to minimum allowed value as we don't expect the client to send non-control messages. + maxMessageSize = 1 +) + +type connection struct { + hub *Hub + ws *websocket.Conn + send chan interface{} +} + +func (c *connection) readLoop() { + defer func() { + c.hub.unregisterChan <- c + c.ws.Close() + }() + c.ws.SetReadLimit(maxMessageSize) + c.ws.SetReadDeadline(time.Now().Add(pongWait)) + c.ws.SetPongHandler(func(string) error { c.ws.SetReadDeadline(time.Now().Add(pongWait)); return nil }) + for { + if _, _, err := c.ws.NextReader(); err != nil { + return + } + } +} + +func (c *connection) writeLoop() { + ticker := time.NewTicker(pingPeriod) + defer func() { + ticker.Stop() + c.ws.Close() + }() + for { + select { + case message, ok := <-c.send: + if !ok { + c.writeControl(websocket.CloseMessage) + return + } + if err := c.writeJSON(message); err != nil { + return + } + case <-ticker.C: + if err := c.writeControl(websocket.PingMessage); err != nil { + return + } + } + } +} + +func (c *connection) writeJSON(message interface{}) error { + c.ws.SetWriteDeadline(time.Now().Add(writeWait)) + return c.ws.WriteJSON(message) +} + +func (c *connection) writeControl(messageType int) error { + c.ws.SetWriteDeadline(time.Now().Add(writeWait)) + return c.ws.WriteMessage(messageType, []byte{}) +} diff --git a/vendor/github.com/mailhog/MailHog-Server/websockets/hub.go b/vendor/github.com/mailhog/MailHog-Server/websockets/hub.go new file mode 100644 index 0000000..1a29e56 --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-Server/websockets/hub.go @@ -0,0 +1,76 @@ +package websockets + +import ( + "net/http" + + "github.com/gorilla/websocket" + "github.com/ian-kent/go-log/log" +) + +type Hub struct { + upgrader websocket.Upgrader + connections map[*connection]bool + messages chan interface{} + registerChan chan *connection + unregisterChan chan *connection +} + +func NewHub() *Hub { + hub := &Hub{ + upgrader: websocket.Upgrader{ + ReadBufferSize: 256, + WriteBufferSize: 4096, + CheckOrigin: func(r *http.Request) bool { + return true + }, + }, + connections: make(map[*connection]bool), + messages: make(chan interface{}), + registerChan: make(chan *connection), + unregisterChan: make(chan *connection), + } + go hub.run() + return hub +} + +func (h *Hub) run() { + for { + select { + case c := <-h.registerChan: + h.connections[c] = true + case c := <-h.unregisterChan: + h.unregister(c) + case m := <-h.messages: + for c := range h.connections { + select { + case c.send <- m: + default: + h.unregister(c) + } + } + } + } +} + +func (h *Hub) unregister(c *connection) { + if _, ok := h.connections[c]; ok { + close(c.send) + delete(h.connections, c) + } +} + +func (h *Hub) Serve(w http.ResponseWriter, r *http.Request) { + ws, err := h.upgrader.Upgrade(w, r, nil) + if err != nil { + log.Println(err) + return + } + c := &connection{hub: h, ws: ws, send: make(chan interface{}, 256)} + h.registerChan <- c + go c.writeLoop() + go c.readLoop() +} + +func (h *Hub) Broadcast(data interface{}) { + h.messages <- data +} diff --git a/vendor/github.com/mailhog/MailHog-UI/LICENSE.md b/vendor/github.com/mailhog/MailHog-UI/LICENSE.md new file mode 100644 index 0000000..eec4a9a --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 - 2016 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/MailHog-UI/Makefile b/vendor/github.com/mailhog/MailHog-UI/Makefile new file mode 100644 index 0000000..00265ef --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/Makefile @@ -0,0 +1,16 @@ +all: bindata fmt ui + +ui: + go install . + +bindata: bindata-deps + -rm assets/assets.go + go-bindata -o assets/assets.go -pkg assets assets/... + +bindata-deps: + go get github.com/jteeuwen/go-bindata/... + +fmt: + go fmt ./... + +.PNONY: all ui bindata bindata-deps fmt diff --git a/vendor/github.com/mailhog/MailHog-UI/README.md b/vendor/github.com/mailhog/MailHog-UI/README.md new file mode 100644 index 0000000..3988ebd --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/README.md @@ -0,0 +1,10 @@ +MailHog UI [![Build Status](https://travis-ci.org/mailhog/MailHog-UI.svg?branch=master)](https://travis-ci.org/mailhog/MailHog-UI) +========= + +MailHog-UI is the MailHog web based user interface. + +### Licence + +Copyright ©‎ 2014 - 2016, Ian Kent (http://iankent.uk) + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/mailhog/MailHog-UI/assets/assets.go b/vendor/github.com/mailhog/MailHog-UI/assets/assets.go new file mode 100644 index 0000000..798bcee --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/assets/assets.go @@ -0,0 +1,753 @@ +// Code generated by go-bindata. +// sources: +// assets/css/bootstrap-3.3.2.min.css +// assets/css/jquery-ui-1.10.4-smoothness.css +// assets/css/style.css +// assets/fonts/glyphicons-halflings-regular.eot +// assets/fonts/glyphicons-halflings-regular.svg +// assets/fonts/glyphicons-halflings-regular.ttf +// assets/fonts/glyphicons-halflings-regular.woff +// assets/fonts/glyphicons-halflings-regular.woff2 +// assets/images/github.png +// assets/images/hog.png +// assets/js/angular-1.3.8.js +// assets/js/bootstrap-3.3.2.min.js +// assets/js/controllers.js +// assets/js/filesize-3.1.2.min.js +// assets/js/iso88591_map.js +// assets/js/jquery-1.11.0.min.js +// assets/js/jquery-ui-1.10.4.min.js +// assets/js/moment-2.8.4.js +// assets/js/punycode.js +// assets/js/sjis_map.js +// assets/js/strutil.js +// assets/templates/index.html +// assets/templates/layout.html +// DO NOT EDIT! + +package assets + +import ( + "bytes" + "compress/gzip" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" + "strings" + "time" +) + +func bindataRead(data []byte, name string) ([]byte, error) { + gz, err := gzip.NewReader(bytes.NewBuffer(data)) + if err != nil { + return nil, fmt.Errorf("Read %q: %v", name, err) + } + + var buf bytes.Buffer + _, err = io.Copy(&buf, gz) + clErr := gz.Close() + + if err != nil { + return nil, fmt.Errorf("Read %q: %v", name, err) + } + if clErr != nil { + return nil, err + } + + return buf.Bytes(), nil +} + +type asset struct { + bytes []byte + info os.FileInfo +} + +type bindataFileInfo struct { + name string + size int64 + mode os.FileMode + modTime time.Time +} + +func (fi bindataFileInfo) Name() string { + return fi.name +} +func (fi bindataFileInfo) Size() int64 { + return fi.size +} +func (fi bindataFileInfo) Mode() os.FileMode { + return fi.mode +} +func (fi bindataFileInfo) ModTime() time.Time { + return fi.modTime +} +func (fi bindataFileInfo) IsDir() bool { + return false +} +func (fi bindataFileInfo) Sys() interface{} { + return nil +} + +var _assetsCssBootstrap332MinCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6d\xaf\xe3\xb8\xd1\x20\xfa\xfd\xfe\x0a\xa5\x07\x8d\xe9\x93\xb6\xdc\x92\xfc\x76\x6c\x63\xce\xcd\x73\xb3\x8b\x7d\x02\x6c\xf2\x65\xf3\x61\x81\x49\xdf\x0b\x5a\xa2\x6d\xa5\x65\x49\x91\xe4\xf3\x32\x5e\xef\x6f\xbf\x10\xdf\x44\x16\x8b\x92\xec\x3e\x33\xc9\x02\x79\x1a\x4f\xc6\x87\x55\x2c\x16\x8b\x45\x56\xa9\x48\x16\xbf\xfc\xfe\x77\xff\x97\xf7\x7b\xef\xff\x29\x8a\xa6\x6e\x2a\x52\x7a\xcf\xb3\xe9\x6c\x1a\x79\x9f\x8e\x4d\x53\x6e\xbe\x7c\x39\xd0\x66\x27\x61\xd3\xb8\x38\x3d\xb4\xd8\x7f\x2c\xca\xb7\x2a\x3d\x1c\x1b\x2f\x0a\xc2\xd0\x8f\x82\x70\xe1\xfd\xf5\x25\x6d\x1a\x5a\x4d\xbc\x3f\xe5\xf1\xb4\x45\xfa\xef\x69\x4c\xf3\x9a\x26\xde\x39\x4f\x68\xe5\xfd\xf9\x4f\x7f\xe5\x44\xeb\x96\x6a\xda\x1c\xcf\xbb\x96\xde\x97\xe6\x65\x57\x7f\x51\x4d\x7c\xd9\x65\xc5\xee\xcb\x89\xd4\x0d\xad\xbe\xfc\xf7\x3f\xfd\xf1\xbf\xfe\xe5\x7f\xfc\xd7\xb6\xc9\x2f\x5f\x7e\xff\x3b\x2f\x2f\xaa\x13\xc9\xd2\x5f\xe8\x34\xae\xeb\x96\xd1\x60\x1a\x79\xff\x8b\x51\x16\x8d\x79\xff\xcb\x3b\xa4\xcd\x34\x2d\xbe\x28\x5c\xef\xf7\x5f\x8e\xcd\x29\xbb\xec\x8b\xbc\xf1\xf7\xe4\x94\x66\x6f\x9b\x9a\xe4\xb5\x5f\xd3\x2a\xdd\x6f\xfd\x17\xba\xfb\x96\x36\x7e\x43\x5f\x1b\xbf\x4e\x7f\xa1\x3e\x49\xfe\x7e\xae\x9b\x4d\x18\x04\x1f\xb7\xfe\xa9\xc6\x21\xd7\x5d\x91\xbc\x5d\x4e\xa4\x3a\xa4\xf9\x26\xb8\x92\xaa\x49\xe3\x8c\x4e\x48\x9d\x26\x74\x92\xd0\x86\xa4\x59\x3d\xd9\xa7\x87\x98\x94\x4d\x5a\xe4\xed\xcf\x73\x45\x27\xfb\xa2\x68\x65\x74\xa4\x24\x69\xff\x73\xa8\x8a\x73\x39\x39\x91\x34\x9f\x9c\x68\x7e\x9e\xe4\xe4\x79\x52\xd3\x98\xd5\xa8\xcf\xa7\x13\xa9\xde\x2e\x49\x5a\x97\x19\x79\xdb\xec\xb2\x22\xfe\x76\x25\xe7\x24\x2d\x26\x31\xc9\x9f\x49\x3d\x29\xab\xe2\x50\xd1\xba\x9e\x3c\xa7\x09\x2d\x14\x66\x9a\x67\x69\x4e\x7d\x56\x61\xfb\x4c\x5b\xd6\x48\xe6\x93\x2c\x3d\xe4\x9b\x1d\xa9\x69\x0b\xe5\x84\x36\x79\xd1\x7c\xfa\x39\x2e\xf2\xa6\x2a\xb2\xfa\xeb\x83\x22\x91\x17\x39\xdd\x1e\x69\x3b\xc4\x9b\xe0\xfa\xf3\x31\x4d\x12\x9a\x7f\x9d\x34\xf4\x54\x66\xa4\xa1\x06\xde\x95\x5c\x76\x24\xfe\xd6\xf6\x25\x4f\xfc\xb8\xc8\x8a\x6a\xd3\x54\x24\xaf\x4b\x52\xd1\xbc\xb9\x92\x0d\x89\x9b\xf4\x99\x4e\xc8\xe6\x58\x3c\xd3\xea\x52\x9c\x9b\x96\x85\x56\x6c\xbb\x5d\xf5\x73\x93\x36\x19\xfd\x7a\xd9\x15\x55\x42\x2b\x7f\x57\x34\x4d\x71\xda\x84\xe5\xab\x97\x14\x4d\x43\x93\xeb\x6e\x52\x37\x55\x91\x1f\xf8\x08\xbe\x70\xa6\x56\x41\x70\x4d\xf6\x39\x2f\xab\x9b\xb7\x8c\x6e\xd2\x86\x64\x69\x7c\x3d\x86\x72\x58\xa6\xcb\x15\x3d\x79\xc1\x96\xe3\xa4\xbf\xd0\x4d\x44\x4f\xd7\x13\xa9\xbe\x5d\x38\x97\x3f\x04\x41\xb0\xed\x78\xdf\xfc\xb0\xdf\x07\xd7\xfa\x44\x32\xa1\x2d\xac\xce\x63\xf0\xf1\x5a\x9f\x77\x93\xfa\x5c\x5e\xca\xa2\x4e\xdb\xc1\xd9\x54\x34\x23\x6d\x9f\x34\xda\xab\xc5\xc7\x2d\x93\xbb\x14\x9b\x53\xf4\x2d\xa5\xa6\x28\x37\xfe\x74\x41\x4f\x2d\xed\x8b\xe8\xb4\x3f\x8d\xda\x92\xf4\x74\x10\xd2\xd8\x04\xd7\xfa\xf9\xc0\x46\x69\x53\x15\x45\xf3\x70\x69\x05\xb8\xcf\x8a\x97\x0d\x1f\x92\x2b\xd7\x2b\xd9\xe3\x90\x9e\xbc\x79\x50\xbe\x5e\x8f\xd5\x45\xb1\x21\x35\x7c\x57\xbc\xb6\x9c\xa6\xf9\x61\xd3\x8e\x38\xcd\x59\xd1\xd6\x3f\x15\xbf\xb8\x60\x78\xf1\xb5\xac\x68\xc7\x08\x39\x37\xc5\x35\x2e\x12\x3a\xf9\xb6\x4b\x26\x65\x45\x27\x35\x39\x95\xc6\x74\x3b\x15\x79\x51\x97\x24\xa6\x13\xf5\x4b\x13\x5c\x48\x4f\xd7\xdd\xb9\x69\x8a\x7c\x92\xe6\xe5\xb9\x99\x14\x65\xc3\x27\x46\x4d\x33\x1a\x37\x93\x76\x02\x92\x8a\x12\x35\xdd\x58\xe5\x4d\x9a\x1f\x69\x95\x36\x5b\x3e\x96\xe2\x2f\x41\xa9\x63\xef\x39\xad\xd3\x5d\x46\x65\x0b\x9c\xe4\x85\xcd\x69\xa6\xa4\xfb\xa2\x3a\x71\x35\x16\x18\xed\x62\xe1\x31\x46\x7e\x6e\xde\x4a\xfa\x13\x2f\xfe\x3a\xd1\x8a\x2a\x5a\xd3\xc6\x28\xa9\xcf\xbb\x53\xda\x7c\xbd\x48\x59\x93\xb2\xa4\xa4\x22\x79\x4c\x37\xbc\xfe\x36\x3e\x57\x75\x51\x6d\xca\x22\xcd\x1b\x5a\x89\xc6\x7e\x4e\xd2\x9a\xec\x32\x9a\x7c\xd5\x9b\x55\x85\x17\x51\x29\xa1\x7b\x72\xce\x64\xdf\x36\x1b\x36\x64\xfb\x22\x3e\xd7\x7e\x9a\xe7\xb4\xe2\x9c\xd8\xe5\x97\x92\x24\x49\x3b\x78\xc1\x56\xe9\x13\x43\xbd\xe8\x8a\xca\x57\xca\xab\xd6\x9b\xf8\x48\xe3\x6f\xbb\xe2\xd5\xec\x34\x49\xd2\xa2\xeb\xa1\xa6\x1a\x6a\xe6\xda\xca\xa4\x81\xf0\x52\xc5\xa1\xde\x7e\x7e\x3e\xed\x68\xf5\x75\xb3\x91\x8d\xb1\xde\xf8\x75\x99\xe6\xbe\xae\x29\x0e\xec\xe2\xdc\x98\xd8\x72\x2e\x30\x55\xd5\x47\x8d\x92\x2a\x3e\xa2\x7d\xfa\xbe\x19\xb2\x45\xf4\xa0\x55\xb9\x7d\x4a\xb3\x04\xe1\xa0\xe3\x9d\x17\xf8\x71\x5b\x25\x43\x3a\xeb\xaa\x90\xd0\xb8\xa8\x48\xbb\x36\x61\x3a\xc8\xf4\x9b\x35\x5e\xd3\x46\x69\xc5\x74\xb6\xa0\x27\x6f\xba\x8c\xd8\x7f\x56\x0b\x7a\xda\xca\x19\xe6\x45\xe5\xab\xd4\x99\x76\x29\xae\x8b\x2c\x4d\xbc\x3a\xcd\x9e\x69\x75\xcd\xe8\x81\xe6\x09\xa6\x5c\x6a\xa6\x9a\xab\x83\x9c\xd0\xd6\x0a\xde\xb4\x7a\x2e\x57\xfe\x76\x5d\xd0\xe9\xb5\xa6\x24\x23\x65\x4d\x37\xf2\xc7\xb5\x49\x26\xcd\xb1\x6b\xf8\xda\x3a\x05\xff\xa3\x38\x57\x31\xdd\x78\x88\x6b\x71\x5c\xec\x4a\x66\xfc\x17\xfe\xae\x48\x33\x5a\x31\xe3\x65\xb8\x18\x75\x15\x7f\x89\xeb\xfa\x4b\x6b\x83\x99\x57\xf1\xfb\x2f\x7f\x38\xd1\x24\x25\x5e\x59\xa5\x79\x73\xf9\xfd\x64\x43\xf6\xad\xc9\xde\xec\xe8\xbe\xa8\xa8\x66\x39\x7e\x97\x9e\xca\xa2\x6a\x48\xde\x6c\xb9\x8b\x70\x24\x49\xf1\xc2\x64\xad\x81\x34\xf3\x12\x78\x7a\x1d\x43\xe9\xf0\xaa\x2e\xc8\x95\x4c\x08\x5b\xd8\x1a\x9a\xf0\xa5\xac\x1b\xfe\x0d\xf3\xb6\xb8\x89\xff\xf9\x58\xd1\xfd\x57\xde\x81\x8b\x50\xcf\xcd\x07\xef\xd3\x07\x8f\x34\x4d\xf5\xa9\x85\x3e\x78\x1f\x1e\x3e\xe8\x76\xd8\x89\xcd\xc0\x02\x9d\x11\xfe\x7f\x7f\xfa\xf0\x77\xf2\x4c\xea\xb8\x4a\xcb\x66\xf3\x41\xd4\x9c\x28\xe0\x0f\x1f\x2c\x62\x1f\xae\xcc\x29\xf9\xc7\xb9\x68\x68\x6b\x2a\x2e\x96\x8a\xfd\xb0\x5e\xaf\xb7\x25\x39\x50\x7f\x57\x51\xf2\xcd\x4f\xf3\xd6\xa3\xda\x90\xe7\x22\x4d\xae\x4d\xeb\x37\x29\xdf\x83\x29\x8f\xcf\x5d\x29\x9f\xe9\x57\x6b\x39\x27\x4d\xbb\xec\xe1\xf5\x5b\xc3\x7a\x22\xaf\xfe\x4b\x9a\x34\x47\xe6\xc6\x69\x32\x3d\x46\x93\xe3\x6c\x52\x5e\x8a\xaa\x3c\x92\xbc\xde\xcc\xb6\x2f\x69\x52\xbc\xd4\x9b\x19\x07\xe9\x54\x59\xb7\x04\x51\x61\x51\x4c\x37\x62\xaf\x11\x9e\xe6\xe4\x79\x47\x2a\xd3\x67\x9a\xee\x9a\xfc\x69\x1a\x93\x8a\x36\x93\x69\x52\x15\xe5\xb9\x7c\xd2\xca\xe4\x9c\x68\x8a\xd2\xc7\x34\xee\x3a\xcd\xc8\x8e\x66\x88\xfc\x82\x20\xb8\x4e\x8d\x79\x65\x4d\x23\x9d\x0c\xc3\xf4\x9a\x64\x22\x7f\x1d\x6d\x67\x0e\xf6\x87\x0b\x9e\x53\xa7\x49\x57\x59\x2b\x3a\x22\x9c\x25\x49\xa2\x51\xb9\xfe\x41\x78\x08\x31\x35\x7c\x85\x1f\xff\x5b\xf6\x56\x1e\xd3\xb8\xc8\x6b\xef\x3f\x49\xb6\xcf\xd2\xfc\x50\xff\xb8\xad\xab\x78\x73\xae\xb2\x4f\xd3\xe9\x97\x16\xbb\xfe\x72\x50\x68\xfe\x51\xa2\xf9\x15\x3d\x9c\x33\x52\x4d\x69\xd1\x3c\xdc\x5e\xe5\xff\xfe\x21\xa5\xfb\xf4\xf5\xc1\x6b\x7d\x02\xd2\x7c\xfa\x91\x9e\x76\x34\x49\x68\xe2\x17\x25\xcd\xdb\xe5\xf7\xc7\x87\xc9\x78\x8a\x2f\xc5\x7e\x1f\x75\xc4\xd8\x9f\x37\x13\x30\xeb\xdf\x54\xbd\x69\xb4\xda\x4d\x75\xa6\x37\xf7\xa0\x7e\x3e\xfc\xd0\x21\xfc\x7f\x0a\x41\xc0\x3b\xea\xf5\xf3\xe1\xc7\x87\xeb\x54\xe1\x22\x8e\x72\xeb\xf0\x86\xe5\xeb\x16\xfd\x48\x19\xa1\x00\x9a\xa3\xcf\x1d\x96\xad\x6e\x4c\xe6\x41\x60\x38\xdf\xa1\x5a\x5e\x79\xbd\x53\x51\x34\xc7\xd6\x66\x90\xbc\x49\x49\x96\x92\x9a\x26\xdc\xae\x17\xf5\x2b\xc4\x39\x54\xe4\xad\x8e\x49\x46\xb5\x1e\xf9\xcc\x5c\xa4\xf5\xb7\xce\x0e\x88\x35\xed\x6f\x11\xf9\xa0\x23\x96\xd9\xb9\x46\x90\x76\x06\x12\x3d\x57\x02\x67\x62\x96\x16\x48\xd5\x80\xc4\x46\xe5\x53\x9a\xa3\x4d\x44\x61\x64\xe0\xc5\x59\x71\x4e\x10\xbc\x65\x10\x9a\xcc\xe4\xcf\x34\x2b\x4a\x8a\xa0\xae\x82\xb5\xd9\x39\x9a\xc7\x69\x86\x22\xee\x0d\xc4\x43\x46\x6a\x84\x47\x1a\x80\xb6\x4f\xe7\x3a\x8d\x51\x3c\xb3\x2f\xdc\xcd\x41\x11\x67\x06\xe2\x91\x92\xaa\x41\xf1\x16\x26\xc1\x86\x54\x28\xda\xd2\x42\xf3\xe9\xa9\x6c\xde\x50\xe4\x95\x81\x7c\xae\x29\x4e\xf3\xd1\x40\xdb\xa7\xd9\x09\x45\x33\x65\xdd\x1c\xfd\x8c\x54\x07\x64\x58\x68\x10\x06\x00\x15\x45\x0a\x2d\x7a\x69\x8d\xca\x06\x28\x4e\x81\x68\x39\x0d\x42\x53\xd0\x15\x3d\x15\xcf\x38\x73\x73\x03\xf1\x97\xa2\x38\xf9\x69\x8e\x62\x2e\x6c\xcc\xe2\x8c\xb3\x68\x8e\x4b\xb1\xdf\xa3\x58\xe6\x80\xd4\xe9\x21\x27\x88\xba\xd2\x20\x34\x87\x24\x2e\x0e\x28\x16\x18\x91\x8a\xd4\xa8\xa4\x23\x73\x38\x8e\xc5\x09\x15\x4c\x14\x42\x3d\xc0\xd1\xcc\xd1\x68\x52\x07\x35\x30\x1e\x05\x41\x26\x3b\x0d\x22\x73\x34\x92\xe2\x25\xcf\x0a\x92\xf8\x24\x43\xe5\x1c\x2d\x50\x74\x14\xd5\x1c\x92\x73\xe9\x44\x34\x47\x25\xcd\x77\xc5\x2b\x8a\xf7\x08\x56\x52\xf2\xe6\xc7\x69\x15\x3b\xc4\xb4\x06\xfa\x58\x52\x82\x76\x69\x16\x00\xc4\x7d\x45\xf1\x71\x9c\x99\x03\xd4\x4e\x17\x97\x9c\x66\xe6\x20\xb5\x66\x0c\x45\x33\x07\x69\x9f\x11\x54\xd1\x66\x73\xb8\x88\x25\xe5\xb1\xc8\x29\xba\x84\xce\xcc\x21\x7a\x2e\xb2\xf3\x89\xba\x66\xc4\x6c\x89\x21\xb7\xc3\x8a\x62\xaf\x30\xec\x73\x89\xe2\x9a\xa3\xf5\x8f\x2a\x2e\x12\x74\xa0\x66\xe6\x40\xed\x88\x13\x73\x0e\x96\x35\x5c\x58\xf3\x10\x62\xa1\x62\x9a\x9b\x23\xb4\x2b\xf0\x65\x6d\x3e\xb3\xd0\x4e\xa4\xc2\x51\xcd\x51\x62\x5f\x88\x28\x9e\x39\x40\x31\x39\xd1\x8a\xa0\x88\xe6\xe0\xb0\xb0\x16\x86\xb6\x02\x2c\x66\xe8\x34\x9b\x9b\x03\xc2\xe3\xa1\x28\x22\x58\xd6\xda\x2f\x48\xe1\x38\x21\xd8\x8b\xc0\xc6\xe6\x5f\x50\x18\xb2\x39\x36\x2c\xf2\xe9\x67\x74\x8f\x53\x8e\x10\xe4\x98\xe6\x0d\x6e\x46\x17\x33\x04\xbd\x72\xb2\x3d\x47\xb0\xff\x7e\xae\x9b\x74\x8f\xda\xf2\xc5\xc2\x9a\xfb\x28\xda\x12\xac\x65\x09\xcd\x1b\x77\x0f\xe1\xca\xc7\xb0\xdd\x3c\x03\x47\x81\xc4\xb4\x5d\xfd\x7d\x16\xdf\x47\x2b\x00\xf7\x2c\x8d\x9b\x73\x85\x4e\xad\xa5\x39\x8a\x27\x52\xfa\xad\x9a\xe3\x92\x5e\x82\x81\xe1\xfb\x1e\x18\xe2\x0c\x98\x2a\x5c\x81\x97\xe6\x58\xd0\x24\xc5\xd1\x80\x8b\x76\x24\x8e\xbe\x98\x63\xc0\xc2\x95\x28\x9e\x29\x7d\x97\xbf\xb2\x7c\x04\x2e\x1f\x2d\xfd\xf6\x23\xf8\x85\x54\xe8\x3c\x5b\xae\xc1\x28\xd5\x4d\x2f\xfe\x2a\x00\xeb\x5f\x0f\x6a\x68\x59\x40\x14\xcd\x1c\x9f\x92\x9c\x6b\xb4\x67\xab\x19\xe8\x59\x81\xae\xe4\xab\x39\x58\x86\x2a\x27\x7f\x0b\xbb\xeb\x7d\xe8\xd0\x99\xa6\x65\x2f\xba\x39\x5e\xf4\xef\x34\x46\xf5\x64\xf5\x08\xc7\xff\xb9\x2a\xdc\xcb\xcc\x6a\x8d\xa2\x3b\x67\xe1\x63\x60\x7d\xd0\x31\x4f\x12\xc5\x0d\xed\x4f\x33\x37\x72\x84\x78\xd0\x6e\xec\x19\x70\xca\xdd\x98\xe6\xf8\xfd\xe3\x4c\xeb\xf6\xe3\xdb\x8d\xbf\x00\xab\xd2\xbe\x70\xe3\x82\x21\x8c\x2b\x4a\xf3\xfa\x58\xe0\x92\x5b\x61\x1d\x74\xbb\x70\x8f\x8f\xb0\x8b\x3d\xb8\xd0\x8b\xc8\x7b\x90\xd7\xe6\x10\x92\xaa\x2a\x5e\x9c\xfa\xb1\x0e\x11\x64\xa7\x76\xac\x23\x04\x1b\xf7\x90\xd6\x33\x04\xd5\xe5\x7a\xad\xe7\xf6\xe2\xe7\x72\x3e\xd7\x0b\x20\x67\xb6\x3d\xbd\x3f\x67\xe8\xb7\xce\x7a\x89\x61\xb3\x7d\x4e\x14\x1d\xcc\xc2\xd7\x38\x23\x27\xd2\xa7\x50\x21\xf8\xa8\x3f\xa4\xa8\xa0\x43\xf0\x4d\x9f\x51\x82\xb9\xac\x21\xf8\xa2\xdf\xa7\xa8\x15\x08\x03\x60\x54\xde\x28\x8b\xd3\xa1\xa8\x0b\x0b\x35\xce\x0a\x74\xcd\x0c\x41\x00\xe0\x85\x54\x79\x9a\x1f\xdc\x5d\x5f\xc1\x15\x3b\xc7\xc9\x82\x35\x8b\x64\x34\x4f\xd0\x10\x44\x08\xe2\x00\x15\xc9\x93\x02\x0b\x18\x84\x20\x0a\x10\x17\xa7\x13\x45\x0d\x70\x08\x42\x01\x27\x72\xc8\x29\x8e\x18\xa1\x6b\x25\xaa\xdf\x21\x88\x08\x48\x64\x87\x86\x87\x20\x2e\x50\xd1\xe6\x85\x3a\xb8\x80\x8e\x40\x51\x96\xed\x20\xc4\x78\x6c\x27\x0c\xa1\x1f\x9d\xb1\xc0\xb7\x6b\x88\x41\x94\x40\xa0\xbb\x94\x07\x84\x0a\xc4\xf4\x91\x9b\xfb\x68\x0d\xf8\x65\xca\x6a\x1c\x8b\x2a\xfd\xa5\xc8\x1b\xbc\x0e\x0c\x21\x24\x98\x85\x0c\x41\x04\x61\x77\xce\xb2\x63\x51\xa1\x6c\x83\x28\xc2\x8e\xa2\xb3\x3d\x04\x51\x84\xb8\xed\xd6\x3e\x8d\x49\x83\x4a\x0e\x04\x13\x9a\xe3\xf9\xb4\xab\x1d\xda\x01\x22\x09\x02\xd7\xa5\x1c\x20\x98\x70\x24\x79\xe2\x5c\x83\x43\x10\x50\x60\xc8\x8e\xd5\x3d\x04\x41\x05\x86\xeb\x60\x78\x6d\x63\xba\xd8\x05\x31\x05\x6e\x89\x06\x4c\x47\x08\xc2\x0b\x46\x25\x17\xfb\x20\xce\x60\xd4\xc1\xbb\x01\x42\x0e\x46\x0d\x67\x77\xcc\x71\x3d\x64\xc5\x0e\x1d\x7f\x10\x7a\x78\xa9\x68\x8e\x46\x65\x43\x10\x76\x68\x48\xfd\x0d\xfb\x48\x0f\x41\xc0\x61\x9f\x66\xf8\xc7\x5f\x08\xa2\x0d\xbb\x2a\xa5\xfb\x98\xe0\xf3\x1b\x04\x1c\x5a\xbb\xc8\xfd\x16\x0c\x19\xc4\x1c\x12\x52\x1f\x77\x05\xee\xa0\x86\x20\xf2\x50\x92\x92\x56\x71\x96\xa2\xc3\x00\xc2\x0f\x2c\x2e\xed\x8c\x24\x87\x20\x0a\x91\xa5\x39\xf6\x45\x13\xc2\x08\xc4\xb1\xc0\xad\x0d\x88\x40\x94\xe7\xfa\x58\xa2\x21\xd8\x10\x84\x20\xce\x35\xde\x71\x53\xfa\x87\x1d\xde\x65\x53\xee\x75\x81\xaf\xd6\x20\xa0\xd0\xa2\xf9\xbb\x37\x9f\x64\xe5\x91\xec\x70\x83\x00\xc2\x0a\xb0\x8a\xc3\x4f\x0a\x41\x80\x41\x56\xe3\x5b\x93\x18\xfe\xcc\x8d\xef\x6c\x63\x8e\xb3\xd6\x34\x55\xba\x3b\x37\x68\x08\x2f\x04\xc1\x06\xbb\x92\xb3\x35\x30\x5c\x39\xfb\xf8\xa5\xe8\xa0\x2d\xa0\x23\x57\x92\x1c\x47\x84\xc1\x70\xbe\x4f\xec\x5c\x2d\x40\xd4\x41\xe1\xe3\xeb\x11\x88\x3c\x64\xc5\x01\xdf\x0d\x08\x97\x21\x8c\x95\xa2\x51\xda\x70\x09\x43\xaf\x07\xc7\xa6\x41\x08\xc2\x13\x39\x7d\xf1\x5f\xd2\x3c\x29\x5e\x50\x64\xe8\x9e\xc4\x05\xbe\x0a\xc0\x30\x05\x41\xc3\x0a\x21\x88\x52\xb8\xdc\x0b\x10\xa4\x68\xa9\xe1\xad\x82\xe8\x1e\xdb\x49\x47\x11\xd7\x70\xd8\x1d\x88\x20\x2e\x51\x53\x5c\x3b\x56\x70\x58\x8a\xb2\x7c\xf3\x13\x74\x2f\x94\x86\x20\x34\x21\xb0\x9d\xbd\x5a\xc1\xf8\x38\x43\x77\xee\x2d\x85\x30\x54\xd1\x91\x47\xb1\x17\x18\xb6\x6b\x24\x40\xb4\x22\xae\x68\x92\x36\xad\xcf\x89\x73\x6e\x8e\x1b\x3f\x4c\x88\x2f\x2b\x30\x5e\x71\x6e\x32\x5a\xa1\x66\x00\x84\x2a\xf8\xe1\x16\x0c\xf1\xd1\x72\xfd\xcb\x8a\xd6\x35\x2e\x64\x10\xa4\xa0\xa4\x72\x1a\x0e\x10\xa2\x60\x78\xae\xb5\x08\x04\x28\x9a\xe2\xc5\xc1\x2b\x58\x21\x1b\xd2\xa0\x8b\x22\x08\x4b\xd4\x89\x33\xee\x19\x82\xa8\xc4\xb1\x0f\x15\xcc\xaf\xf3\x8e\x9d\x64\xc2\x39\x00\x91\x40\x76\x08\xa6\x6e\x68\xe5\x20\x0d\xed\xdd\x99\x79\x8c\xd9\x0e\x1d\xdb\x35\x34\x7b\x2d\xf6\xc2\x0f\x51\x5c\x68\xef\x5a\xdc\xa5\x03\x17\x1a\xb9\x16\x77\xe5\xc0\x05\xbe\xa1\x3c\xc7\xef\x3b\xb6\x3c\xc2\x35\x5c\x14\x0f\x69\xdd\xf0\x93\x66\xee\x3a\x60\xfb\x23\x2b\xce\x49\xdf\x46\x62\x08\x22\x0e\xbc\x82\x73\x3b\x31\x5c\x3f\x82\x99\x47\xa9\x1f\x17\x79\xea\x98\x7d\x6b\xb8\x89\x4b\xa9\x9f\xd0\x38\x4d\xce\x05\x76\x8c\x82\x46\x01\x98\x5b\x18\x13\x11\x08\x79\xb4\x2b\x90\x6b\x43\x37\x02\x71\x8f\x76\xfd\x71\xe3\x02\x47\x90\x3e\xd3\x0c\x37\xac\x11\x08\x80\xb4\x83\x89\xa2\x01\x5f\x90\xd4\xe8\xb7\x5d\x04\x02\x1f\x24\xa3\xa8\xd9\x88\x40\x78\x82\xfe\xe3\xcc\xee\x59\x60\xb2\x8f\x40\x84\xe2\x1b\x3b\xfd\x8b\xa0\x85\x30\x80\x89\xae\xd0\xf0\x80\x4b\x49\x50\xff\x24\x02\x71\x89\x5d\x5a\x1f\xd1\xc0\x77\x04\x22\x12\xdf\x72\xc7\x97\x5b\x04\x02\x12\x3b\xb2\x7b\xf3\xf7\x45\x75\x3a\x67\xd8\xbe\x5e\x04\xe2\x11\x0d\x1a\x95\x89\x96\x7b\xf3\xe4\xd0\x2e\x23\xf1\x37\xd7\xb7\x47\x04\xc2\x10\x3b\x74\xa9\x8f\x40\xe8\x81\x94\x25\xa6\x66\xfb\xc7\xbd\x79\x5c\x87\x56\xf8\xa7\x54\x04\x02\x0e\xc7\xe2\x5c\x39\x8e\xf6\x44\xb3\xd0\x3c\xe3\x94\x91\x13\x2a\x74\x10\x71\x48\xce\x65\xe6\x8a\x37\x44\x20\xde\x50\xa6\x87\xc3\x9b\xbf\x23\xe8\xc7\x51\x04\x02\x0e\x75\x9c\xd6\x75\x51\xa1\x53\x1c\x44\x1b\x76\x69\x13\x17\xa8\x53\x1a\x81\x50\xc3\x1b\xa6\x98\x41\x40\x40\x40\xf6\xbc\xc3\xc4\x1e\x05\xbb\x04\xb0\x48\xf0\x55\x00\x84\x17\xd2\x98\xfa\x59\x91\x65\xe8\xfc\x06\x51\x05\x85\xdb\x7e\x74\x37\xb8\x96\x80\xa0\x02\x4d\xce\x31\x3f\x3c\x8c\xe1\x82\x6d\x08\x76\x9f\xa9\x3f\x98\x15\x81\x70\x82\xa8\xd3\x13\x32\x8b\x40\x60\xe1\x44\xf3\xb3\x7f\x24\xa7\xdd\xb9\x3a\xe0\x2b\x0b\x08\x30\x9c\x8a\x84\x64\x6e\xe7\x3e\x02\x71\x86\x02\x3b\xc4\x46\x23\x10\x64\x38\x54\x04\x57\x0a\x10\x60\xa8\xcf\x39\x9b\x14\xa8\x53\x11\xc1\x43\x0d\xf2\x3a\x19\x8a\x1b\xda\xb8\xfc\x10\x2e\x86\x1c\xd9\xc8\xda\x31\x64\xac\x06\x18\xcb\xdd\xdf\x69\xdc\x88\xad\x71\x7c\x6f\x30\x02\x11\x07\xa3\x8a\xb8\xb6\x84\xd5\x5a\xb8\x6b\xf5\xab\x0e\x88\x47\x18\x35\x1d\x31\xb2\x08\x9c\x8f\x30\xea\xf4\x29\x1d\x88\x6a\x18\xf5\x5c\x41\xbc\x08\x1e\x9e\xa8\x52\x92\x1f\x32\xea\xae\x00\xcf\x4f\xc8\x0a\xae\xde\x80\x58\x87\xc2\x77\x4b\x1b\x84\x39\x54\x0d\xc7\x90\x2e\xa0\x13\x98\xd7\x05\xbe\x0c\xc1\xd8\xc6\xb9\xa4\x95\x38\xef\x8f\x61\x2f\xa0\xa7\xdd\x83\xbb\xb4\xe7\xbb\x53\x20\x2b\x1b\xd7\x2d\xed\x47\x1b\xd9\x11\xc7\x88\x40\x1c\x83\xe1\xe2\xae\xd6\x32\xf8\x70\xfd\xfd\x3b\xdf\x7d\xba\x82\x9b\x25\xef\x4c\xbd\xbb\xf4\xca\x6f\xd9\x05\x65\x77\x2d\xa9\x21\xa5\x7f\x4c\x0f\xc7\x8c\xf9\xfe\x7c\x81\xa9\x0e\x3b\xf2\x29\x98\xb0\x7f\x0f\xfc\x7a\xab\x7e\x2c\xfb\xc3\x7f\xd2\xec\x99\xb6\x53\xc9\xfb\x0b\x3d\xd3\x0f\x13\xf5\xf7\xe4\x3f\xaa\x94\x64\x13\xed\x4e\xad\xd6\xea\xbc\x7c\x35\x0f\x66\x4f\xe7\xd1\xe3\x62\x15\xce\x67\xe2\xde\xde\x0f\xb3\xd9\x6c\x8b\x5e\x39\x30\x2f\x05\xc2\xbb\x80\x3a\x6f\xf2\x26\x60\xd7\xae\x2c\xd1\x9b\x96\x37\x04\xc9\x45\xb5\xbc\x22\xbb\xd5\x16\x5e\xa0\xe1\x77\x5a\x37\xec\x1e\x9d\xba\xb3\x2a\xaa\x44\xb3\x45\xb4\x8a\xad\x2a\xda\x9d\x1b\x5e\x4f\xdd\x71\x6d\x8e\x69\x2e\x2e\xb2\x6e\x65\xd9\xa2\x7c\xf5\xc8\xb9\x29\xbc\xee\x8c\x7a\x7c\xae\xfd\x8a\xed\x70\xb5\xed\x48\x4c\xbf\xd8\xef\x6b\xda\x6c\xfc\xa8\x7c\x05\x37\x3d\x03\x76\x99\x05\xdc\x30\x3d\xa5\x49\x92\xd1\xeb\x34\x26\x55\x71\xae\x69\xc6\xef\xcd\x3d\x4d\xd3\x86\x9e\x9e\xc8\x53\x7a\x3a\x4c\x70\x18\x83\xa4\xa7\x83\x5f\xd1\xba\x2c\xf2\x3a\x7d\xa6\x93\x29\xdb\xb0\xc9\x49\x9a\x79\xa2\xaa\x2a\x68\xff\x34\xef\x25\x6f\xcd\x6b\x35\x5b\xfd\xc2\x1d\x27\xdc\x0e\x2e\x4d\xe4\x9d\x94\x8a\x24\xe9\xb9\xde\x2c\xcb\x57\x0e\x56\xa4\xf1\x4b\xcc\x6e\xea\xea\x02\x61\x8f\xa2\xa1\xda\x65\xdf\x6e\xfb\x21\x49\x92\xad\xc9\xdf\x5c\x9f\x33\x15\xc9\xc5\xa5\x06\x92\x65\xde\x34\xaa\x3d\x4a\x6a\xea\xa7\xb9\x5f\x9c\x9b\xad\x5f\x0c\x61\xf4\x83\xb9\x1c\xf8\x66\x0d\x90\xd2\x22\xf8\x78\x3d\x56\x62\xe4\xd9\xa2\x1e\xb5\x93\x59\xfc\x2d\xcc\x02\x2b\x92\x17\xf1\xb6\xdd\xf5\x21\xbd\x83\x94\xd2\xeb\xb4\xae\xfc\x22\xcf\xde\xba\x2b\x1a\x64\x57\x17\xd9\xb9\xa1\x5b\x21\xe1\xf2\x55\x0a\xb8\xfd\xd9\xdd\xf2\x13\x9a\xe7\xb7\xa5\xe0\x1a\xf2\x96\x6d\x82\x54\x34\x6e\xd4\x0a\xd2\x5d\x0a\x94\x2d\x72\x35\x27\xad\x67\x2c\x2e\x84\x23\x10\x3e\x7b\x14\x6f\x75\x43\x9a\x34\x16\x9c\xb1\xf1\xd6\xc7\x5e\xdd\x07\x86\xb7\x7d\x39\x3f\x5c\xfb\x8e\xe1\x64\x7a\x8c\x26\xd3\xe3\x6c\x32\x3d\xce\x27\xd3\xe3\x62\x32\x3d\x2e\x27\xc7\x70\xc2\x6f\x7c\x1d\xe7\x93\xe3\x62\x72\x5c\xba\x57\x14\x71\xc7\x64\x01\xef\x98\x4c\x43\x70\xf7\x78\x7a\x0c\xbd\x29\x3b\x57\x31\x69\x7f\xca\x5f\x51\x57\x18\xa9\xc2\x59\x57\x38\x53\x85\xf3\xae\x70\xae\x0a\x17\x5d\xe1\x42\x15\x2e\xbb\xc2\xa5\x28\xec\x1a\x57\x6d\x77\x4d\xab\x96\xbb\x86\x55\xbb\x5d\xb3\xaa\xd5\xae\x51\xd5\x66\xd7\xa4\x6c\xf1\xd2\x7f\x03\x47\xcc\xb5\xd5\x6a\x65\x0c\x82\x14\xfc\x80\x3e\xb7\xf6\xea\x7b\x05\x7a\xaf\x44\x34\xb3\xb9\x5c\x7c\xbc\x1a\x6a\x23\xb5\x45\xe3\x3e\x74\x72\xff\x7d\xe3\xf9\x5d\xc3\x22\x73\x12\x30\xd9\x1f\x43\xad\x70\xc6\x56\xdd\x76\x0c\x22\xbd\x94\x73\x3c\x6b\x47\x46\x4b\x98\x30\xe7\xfd\x98\x1c\xe7\xba\x2f\xf1\xc8\x4a\x17\x93\xe3\xe2\x62\xda\xfa\x2b\x93\xd1\x52\x2f\x6d\x6d\x57\xa9\xcc\x96\x17\x78\x5c\x36\x19\x25\xc9\x05\x59\xc2\xb4\x9a\x4b\xf9\xa7\x50\xb1\x99\x35\x01\xe7\x57\x71\x59\xf7\xd3\x29\xcd\x85\x85\x58\x2d\x1f\xcb\xd7\x87\x0b\x6f\x40\xeb\x49\x58\xbe\x5e\xaf\x42\x54\x56\x8e\x87\x56\x4e\x27\x52\x7d\x9b\xb0\xec\x10\xea\x82\x74\x44\x4f\x98\xf5\x88\xf7\x8f\x74\x76\x9d\x32\x2f\xa0\x75\x5a\xf9\x1d\x5c\x6e\x83\xdb\xbf\x05\x88\xf9\xa8\x3a\x8c\x15\x08\x20\x3f\xe6\xac\x43\x79\x89\x00\x8b\x83\xca\x3a\x5c\x14\x09\x84\xbc\x78\xa9\x48\x79\x79\x39\xa6\x0d\x65\x57\xa7\xe9\x86\x17\x49\xbe\x8a\x17\x5a\xc5\xa4\xa6\x30\xd7\x81\x02\x08\xc4\x73\x59\xe2\x88\x0a\x20\x39\x26\x25\x3b\x52\xfe\x8b\x85\xd9\x41\x04\xea\xe9\xdc\xd0\xe4\xa2\x2f\x00\xac\xb8\xac\x52\x96\xd2\xc4\xf0\xbf\xae\xc4\x00\x02\x7f\xeb\x71\x19\xac\x03\x51\xbd\x3e\xc7\x31\xad\x6b\x55\x3d\x5e\x2d\x67\x89\xac\x2e\x80\xa0\xfa\x6e\x31\x8f\x62\x51\x3d\xcd\xf7\x85\xaa\x1b\xae\x82\xc7\xbd\xac\xdb\x42\x40\xc5\xf9\x22\x5a\xae\x45\x45\x71\x04\x4c\xc2\x1e\xc9\x32\x99\xed\x64\x5d\x01\x34\xab\x2f\x97\x8b\x50\xb5\x9b\x90\xfc\xd0\x81\xc8\x7a\x3e\x9f\x47\xb2\x36\x87\x99\x95\x1f\xe7\xb3\xc5\x6c\x7e\x9d\xee\x0e\x50\x60\xcc\x6d\xb1\xd4\x51\x89\xb1\xab\x20\x08\xda\xb8\x52\x9e\xbb\x83\x92\xa6\x8d\x94\xec\xf7\x41\xf2\xc8\x09\x9a\x62\xb5\x71\xe3\x90\x46\xbb\x19\x23\xc8\xe4\x8b\x50\x5b\xd3\x64\x2f\xd8\xd3\x04\x6d\x23\x92\x7d\xb2\x6e\x1d\x94\xdd\x41\x49\xdc\x39\xf7\x88\x86\xe5\x24\xb8\x5f\xd1\x78\xb7\x60\x04\xc5\x18\x20\x38\x51\x42\x13\xca\xe9\x19\x83\x61\xa3\xd2\xf9\x6e\xbd\x5b\x5f\xa7\xec\x1e\x38\xdf\x99\x93\x2b\x85\x5c\xc1\xd6\xca\x10\x6c\xe6\x41\xf9\xea\x05\x9e\xe6\x96\xe9\xa9\x6d\x34\x87\xac\xc8\x26\xe7\x4c\x37\x27\x01\x66\x4b\x8a\xcc\x2b\xb2\x49\x91\x79\xe7\x16\xdd\x63\x95\xbc\xae\x9e\x40\x0d\xae\x53\x76\x67\xe9\x9c\xb3\x9b\xb2\x2a\x47\x03\xff\xb4\x6e\x57\xcf\xba\xbb\x44\x9b\x53\x81\xcd\x5d\x6d\x88\x2b\x28\xb3\xbf\xfc\x05\xf3\xae\xdd\x95\x9f\xb2\x14\xf7\xdc\x25\x51\xfe\xbd\xbe\xe8\x1c\x4a\x4e\x78\x51\xbe\x5e\x93\xde\xde\xb7\x02\xbc\x26\xc9\x24\x31\x93\x96\x74\xee\xfd\x35\x69\xec\xcc\x40\xca\xb4\xf0\xce\xf4\x98\x89\x24\xd3\x02\x52\x5e\x4b\x2b\x2b\x48\xc3\x96\x71\xe9\x10\x2f\x03\xd4\xe3\xa5\xa4\xe2\x68\x70\x85\xe7\x05\xaa\x02\xcd\xb2\xb4\xac\xd3\x7a\x8b\xad\xd5\xa0\x79\x93\xef\xf0\xb1\xed\x3c\xcf\xce\x90\x90\x86\xf8\x45\x95\x1e\xd2\x9c\x64\x3e\xcf\xd5\x30\xd1\xf3\x27\x89\x5c\x31\x47\x9a\x95\x88\xc2\xf1\x4f\x50\x8f\x2f\xc6\x69\x9e\xb2\x5b\xd0\xf5\x49\xb3\x81\xeb\xe0\xe3\xd6\x69\x01\xba\xb4\x0d\xca\x38\xb6\x6a\xe9\x69\x8e\x1b\xb3\xed\xd0\x84\xaf\xa6\x8b\x4e\xff\xe5\x88\xeb\xda\xdf\x11\xf6\x8a\x6c\x93\x91\xba\xf1\xe3\x63\x9a\x25\x13\x0d\x50\x3a\xca\xcf\x7a\x05\x6b\x26\x68\x88\xc2\xea\x6b\x25\x22\x0f\x97\x56\xc2\x5d\x02\xf3\xa3\xd6\x48\x02\x35\x10\xc6\x68\x05\x6b\x35\x29\x42\x3b\x76\xcb\x08\x00\x3d\x8f\xfd\xe3\xdf\xa2\x20\x9c\x7b\x7f\x0b\x82\xff\x08\x7e\xbc\x4e\x3b\x74\xbf\xa2\xcf\xb4\xaa\x75\x0a\xd3\xf2\x9c\x65\xc2\xe9\x30\xa7\x5d\x68\xcd\xbb\xc0\x56\x5a\xf9\xcd\x29\x27\xaa\x36\x4a\xc6\x00\x06\x18\x1b\xa0\xbf\x18\x86\xd9\x71\x0c\xc3\x21\x32\xad\x5f\x4e\xb1\xea\x38\x2e\x09\xeb\x38\xb8\xb0\x51\x09\xcb\x36\x79\xb0\xae\xa7\x67\x6e\x04\x9d\x40\x6f\xbf\xfa\x50\x8c\x56\xfa\x7a\x65\xe6\x5c\xf9\x91\xe9\x8e\xc7\xf4\xe8\xc7\x2b\x49\x92\xaa\x35\xfa\x4e\xc7\x5b\x4f\xb0\xe0\x58\x6f\xfb\x73\x7d\xfd\x99\xe6\x59\x31\xf9\x73\x91\x93\xb8\x98\xfc\x91\x85\x96\x49\x3d\xf9\xf0\xc7\xe2\x5c\xa5\xb4\xf2\xfe\x42\x5f\x3e\x74\x59\xc0\x18\x2d\xb5\xa2\x44\xe5\xab\x37\x37\xd6\x8f\x76\x4d\x92\x8e\xc6\x2a\x5a\xcc\x29\xe6\x8d\xaf\xf7\xd1\x7e\x6e\x07\x6e\xae\xdf\x76\xc9\x38\xd2\x2e\xb7\x6a\x06\x88\xce\xb4\x68\x90\x96\x9b\x27\xcd\x6b\xda\x78\x81\xe7\x87\xcc\xe2\x6b\x71\xd4\x69\xb4\x78\xd8\x8e\xc6\x6c\x19\xf6\x74\xa6\xf5\xcc\x75\x2c\xee\x05\xcc\x9c\x2b\x85\x10\x4c\x1c\xc4\xf2\xb5\x99\x2b\x9b\x6c\x62\xcd\xd6\x67\xf0\x71\xa6\x37\x3b\x1b\x15\xbf\x7d\x29\xaa\x84\xa7\xc6\xd9\x88\x04\x39\x59\xc6\x0b\x5b\x2b\x27\xca\xda\xbf\xb1\xf1\x5b\xb4\xff\x90\x70\x5c\x1c\xc7\xc8\xa8\x96\x15\xf5\x0c\xad\x09\x90\xb0\xaf\x11\x96\x31\xec\x6e\x59\x51\xc6\x93\xcd\x88\x96\xb2\x10\x34\x1b\x5c\xa7\x6d\xb5\x3a\xae\x8a\x2c\x63\x99\x75\x4e\xe4\x55\x0a\x64\x36\xd7\xbd\x03\xff\x6d\xc3\xd1\xae\xd3\x76\x02\x92\x54\xcb\xc2\xe6\x5c\x8c\xc3\x6e\x0c\x04\x8e\x16\xdd\xe2\x28\x2c\x94\xe5\x76\x62\xba\xb6\x44\xf9\x82\x39\x0e\x76\x85\xf5\x3a\x42\x2b\xac\x57\x8e\x0a\x61\x14\x04\x68\x8d\x30\xe4\x55\x3a\x80\xbf\xcf\xce\x69\xf2\x6e\xbd\x9d\x56\xc5\xcb\xc5\xc0\xf3\xf5\xaa\xdc\x2f\x6d\x4b\x5a\x16\x32\x3f\x3b\xf8\xe1\x44\xfd\x0a\xba\x9f\x5a\x69\xa4\x7e\x76\xbf\x66\xea\xd7\x5c\xfd\x5a\xa8\x5f\x4b\xf5\x6b\xa5\x7e\x3d\xaa\x5f\x6b\xfe\xeb\x94\xc8\xa6\xdb\x5f\x41\xf7\x53\x2b\x8d\xd4\xcf\xee\xd7\x4c\xfd\x9a\xab\x5f\x0b\xf5\x6b\xa9\x7e\xad\xd4\xaf\x47\xf5\x4b\x34\x5d\x9f\x64\xd3\xed\xaf\xa0\xfb\xa9\x95\x46\xea\x67\xf7\x6b\xa6\x7e\xcd\xd5\xaf\x85\xfa\xb5\x54\xbf\x56\xea\xd7\xa3\xfa\x25\x9a\x7e\xad\x65\xd3\xed\xaf\xa0\xfb\xa9\x95\x46\xea\x67\xf7\x6b\xa6\x7e\xcd\xd5\xaf\x85\xfa\xb5\x54\xbf\x56\xea\xd7\xa3\xfa\xb5\x46\x12\x0b\xb5\xba\x6a\xc7\xab\x7b\xd5\xef\xfa\x4f\xec\x40\xf7\x79\xd1\x71\x11\x5d\xba\xcd\x8d\xae\x34\x94\x73\x33\x9c\x2e\xf9\xff\xad\x34\x68\x20\xa0\x8f\xb3\xe9\x4c\xfc\x5f\x07\x5d\xab\x75\xa0\x2b\x7b\x14\x65\xcb\x25\x42\x6e\x25\x80\x8b\x47\x84\xda\x52\x02\x35\xee\x16\xa2\x6c\x8e\x31\x37\x17\xc0\x19\xc6\xdb\x4c\x00\x23\x8d\x37\x25\x00\x8c\x37\x29\x07\x8c\x35\xe6\xfc\x84\xd1\x45\x8c\xb6\x2e\x3f\x0e\x0a\x05\x08\x15\x22\x47\x09\x04\x0a\x2a\x49\x86\xb2\x16\x18\xba\x38\x19\xe0\x51\x00\x50\x99\x32\x8c\x95\xc0\x40\x05\xcb\x30\x96\x12\x03\xf2\xbe\x10\x00\x54\xc4\x0c\x63\x2e\x30\x50\x39\x33\x8c\x99\xc0\x88\x20\xe7\x4a\x64\x4e\xce\xa5\xe4\x9c\x8c\x4b\xb9\xf1\xd5\x5a\x41\xea\x63\x3b\x20\x7c\xae\x99\xe3\xd1\x42\x42\x0e\x71\x0c\x47\x8b\x11\x70\x0c\xc7\x68\xd4\x47\x7f\xcd\x11\xcc\xc1\xa8\x8f\xfe\x23\x2f\x77\x8c\x45\x7d\xf4\x57\x1c\xc1\x31\x14\xf5\xd1\x5f\x0a\x04\xc8\xf5\x82\x97\x3b\x06\xa2\x3e\xfa\x73\x8e\xe0\x18\x87\xfa\xe8\xcf\x38\x42\x04\x79\x96\x82\x72\xf2\x2c\xe4\xe5\x64\x59\x48\xcb\x18\x03\xbe\x6b\xdc\x8e\x82\x11\x4c\xd0\x07\x43\xa2\x84\x06\x0a\x3a\x2a\x12\x35\x30\x50\xd1\xe1\x11\xa8\x6b\x03\x53\x1f\x27\x81\xf0\x68\x20\xa0\x03\x26\x30\x57\x06\x26\x3a\x72\x02\x73\x69\x62\xda\x7d\x5d\x18\x08\xe8\x58\x0a\xcc\xb9\x81\x89\x0e\xaa\xc0\x9c\x19\x98\x91\xdd\x53\x30\x04\x3d\x3d\x35\x47\xa2\xa7\xa3\xc1\xe8\xd0\xd6\x3f\xcd\x41\xb0\x8c\x1c\x6b\xc5\x32\x72\x8c\x0d\xa7\x91\x63\xfc\x3a\x8d\x1c\x6b\x06\x18\xb9\x96\x09\xa7\x91\x6b\x79\x75\x1a\xb9\xb6\x4b\xd0\xc8\xb5\x1d\x76\x1a\xb9\x56\x2e\x4e\x23\xd7\x8a\x0f\x1a\xb9\x56\xb8\x4e\x23\xd7\x76\xd5\x65\xe4\xea\x93\xd3\xc8\x29\x90\xdb\xc8\x29\x14\xb7\x91\x93\x28\x96\x91\x93\x00\xb7\x91\x93\x18\x6e\x23\x27\x31\x2c\x23\x27\x01\x6e\x23\x27\x31\xdc\x46\x4e\x62\x58\x46\x4e\x02\xdc\x46\x4e\xc9\xc5\x65\xe4\x24\x82\x6d\xe4\x18\x04\x35\x72\x0a\xe2\x34\x72\x0a\xc3\x69\xe4\x24\x06\x34\x72\xb2\xdc\x69\xe4\x24\x82\xd3\xc8\x49\x04\x68\xe4\x64\xb9\xd3\xc8\x49\x04\xa7\x91\x93\x08\xd0\xc8\xc9\x72\xa7\x91\x53\xe2\x70\x18\x39\x09\xb7\x8c\x5c\x7d\x1a\x34\x72\x1a\xca\x90\x91\xd3\x50\x87\x8c\x5c\x87\xea\x30\x72\x1d\xc2\x90\x91\xeb\x30\x87\x8c\x5c\x87\xe9\x30\x72\x1d\xc2\x90\x91\xeb\x30\x87\x8c\x5c\x87\xe9\x30\x72\x1d\xc2\x90\x91\xd3\xe4\xdb\x6f\xe4\x3a\x44\x68\xe4\x7a\x43\x19\xff\xa4\x2f\x70\xcb\xca\xb1\x56\x2c\x2b\xc7\xd8\x70\x5a\x39\xc6\xaf\xd3\xca\xb1\x66\x80\x95\x6b\x99\x70\x5a\xb9\x96\x57\xa7\x95\x6b\xbb\x04\xad\x5c\xdb\x61\xa7\x95\x6b\xe5\xe2\xb4\x72\xad\xf8\xa0\x95\x6b\x85\xeb\xb4\x72\x6d\x57\x5d\x56\xee\x94\x38\xad\x9c\x02\xb9\xad\x9c\x42\x71\x5b\x39\x89\x62\x59\x39\x09\x70\x5b\x39\x89\xe1\xb6\x72\x12\xc3\xb2\x72\x12\xe0\xb6\x72\x12\xc3\x6d\xe5\x24\x86\x65\xe5\x24\xc0\x6d\xe5\x94\x5c\x5c\x56\x4e\x22\xd8\x56\x8e\x41\x50\x2b\xa7\x20\x4e\x2b\xa7\x30\x9c\x56\x4e\x62\x40\x2b\x27\xcb\x9d\x56\x4e\x22\x38\xad\x9c\x44\x80\x56\x4e\x96\x3b\xad\x9c\x44\x70\x5a\x39\x89\x00\xad\x9c\x2c\x77\x5a\x39\x25\x0e\x87\x95\x93\x70\xcb\xca\x9d\x92\x41\x2b\xa7\xa1\x0c\x59\x39\x0d\x75\xc8\xca\x75\xa8\x0e\x2b\xd7\x21\x0c\x59\xb9\x0e\x73\xc8\xca\x75\x98\x0e\x2b\xd7\x21\x0c\x59\xb9\x0e\x73\xc8\xca\x75\x98\x0e\x2b\xd7\x21\x0c\x59\x39\x4d\xbe\xfd\x56\xae\x43\x1c\x61\xe5\xb4\xf8\xfb\x3f\x29\xc6\x6d\x99\x39\xd6\x8a\x65\xe6\x18\x1b\x4e\x33\xc7\xf8\x75\x9a\x39\xd6\x0c\x30\x73\x2d\x13\x4e\x33\xd7\xf2\xea\x34\x73\x6d\x97\xa0\x99\x6b\x3b\xec\x34\x73\xad\x5c\x9c\x66\xae\x15\x1f\x34\x73\xad\x70\x9d\x66\xae\xed\xaa\xcb\xcc\x65\x07\xa7\x99\x53\x20\xb7\x99\x53\x28\x6e\x33\x27\x51\x2c\x33\x27\x01\x6e\x33\x27\x31\xdc\x66\x4e\x62\x58\x66\x4e\x02\xdc\x66\x4e\x62\xb8\xcd\x9c\xc4\xb0\xcc\x9c\x04\xb8\xcd\x9c\x92\x8b\xcb\xcc\x49\x04\xdb\xcc\x31\x08\x6a\xe6\x14\xc4\x69\xe6\x14\x86\xd3\xcc\x49\x0c\x68\xe6\x64\xb9\xd3\xcc\x49\x04\xa7\x99\x93\x08\xd0\xcc\xc9\x72\xa7\x99\x93\x08\x4e\x33\x27\x11\xa0\x99\x93\xe5\x4e\x33\xa7\xc4\xe1\x30\x73\x12\x6e\x99\xb9\xec\x30\x68\xe6\x34\x94\x21\x33\xa7\xa1\x0e\x99\xb9\x0e\xd5\x61\xe6\x3a\x84\x21\x33\xd7\x61\x0e\x99\xb9\x0e\xd3\x61\xe6\x3a\x84\x21\x33\xd7\x61\x0e\x99\xb9\x0e\xd3\x61\xe6\x3a\x84\x21\x33\xa7\xc9\xb7\xdf\xcc\x75\x88\x96\x99\x13\xcf\xd3\xf4\x3d\x1a\x28\xde\x4d\x54\xbb\xc9\x4d\x51\x6e\x1e\xb5\xbd\x3c\x71\x72\xa5\x2d\xea\x0e\x60\x6d\xe1\x39\xec\xe6\x88\x1c\xcd\x66\x8d\x6b\xb7\x89\xc0\xe5\x22\xe4\xf8\x21\xaf\xf3\xd4\xec\x8a\xe4\xed\xa9\xa9\x9e\xd4\x8b\x37\x5a\xd1\x51\x15\xed\x8b\xa2\x01\x58\xaa\xa8\xc3\x3a\x52\x92\x00\x2c\x55\xd4\x3d\x71\xf5\xe8\x3e\x7e\x01\xee\x7e\x35\x45\xe9\xb8\xf5\x93\x24\xc9\x15\x69\x02\xbe\x4e\xc8\xfa\x0b\x4e\x0e\x46\x28\x15\x31\x36\x9f\x25\xb5\xcd\x3e\xad\xe4\x31\x3c\xad\x3f\xfd\x68\x4a\x12\x71\x91\xb1\xc7\x9b\x06\xc9\xf5\xe3\x99\x92\x35\x61\x2e\x92\xc3\xa8\x47\xed\x21\xa6\x4d\x60\x28\xc2\x67\xf6\xbf\x3a\x1c\x95\x96\x37\x75\x68\x3b\xbb\xe2\x28\x1e\x4e\x8a\x8b\x3c\x61\x6f\xa5\x22\x3a\x86\x02\x8f\x08\xd0\xd2\x3b\x14\x88\xd5\xb4\x74\x11\x05\x76\x5a\xb9\x50\x73\x42\x3d\xf9\x84\xbf\xf7\x04\xb1\xb0\xee\x21\xb0\xa3\x0d\xb3\x3b\x87\xc0\x90\x7a\x76\xd7\x10\x98\xe3\xb5\x2a\x9b\xfb\x9b\xa8\x89\x49\x24\xd6\x96\xa8\x93\x59\xdd\x54\x69\xa9\x75\x78\x93\x37\x47\xbf\xd8\xfb\xcd\x5b\x49\x3f\x15\x49\xf2\x80\x29\xcb\xba\xfd\x27\x29\xb0\x23\xea\x5d\x7d\xe7\x01\x78\x76\xb4\x8a\x2f\xb7\x5e\x5c\x64\x3f\xc7\x19\xa9\xeb\xdf\xff\xd4\x2e\xcf\x5f\xad\x4b\x76\xe6\xbb\x6a\x71\x91\x9d\x4f\xf9\x96\x3b\xff\xec\x14\x99\x7c\x2a\xcc\xa0\x32\x91\xcf\x86\xdd\x44\x9b\x66\x99\x4e\x19\x2c\xa6\x53\x7e\x3d\x10\x59\x66\x15\xe4\x68\x2f\xc0\xc9\x54\xde\x2a\xb4\x96\x66\x08\x11\x0a\x83\xb4\x03\x21\xd8\xaa\xee\xa0\x86\xb4\x23\x54\x02\x69\x07\x42\x30\xbb\xe0\xa0\xd6\xb5\xe3\x1e\x71\x54\x4d\x44\xad\x8d\x28\x55\x2a\xdc\x8b\x75\xc4\xb1\x04\xd8\x64\x11\xe0\x74\x5d\xe0\xd8\x2e\xac\xa3\x81\x85\x5d\xbc\x78\x6c\xff\x59\x5a\x22\xae\xa6\x60\x6a\xa2\x40\xa8\x9e\x08\x28\xa6\x28\x10\x24\xf5\x01\x69\xcb\x02\xa1\xba\xe2\x20\x88\xb5\x25\x75\x02\x69\xcb\x02\xa1\xfa\xe2\x20\xa8\xb5\xe5\xbe\xec\x83\xeb\x82\x71\xfb\xc7\xad\x32\x00\x6d\x40\x67\x4c\x36\x11\xa5\x31\xc8\xb9\xb5\x66\xe8\x6a\x52\x12\xd0\x75\xbc\xb4\xd4\x26\xcd\xf7\x05\xa6\x33\xbc\x1c\x55\x98\x16\x84\x69\x8b\x51\x2e\xf5\x01\xd2\x37\xcb\x51\x25\xc1\xe8\x58\xf4\xa5\x0e\x40\xfa\x66\x39\xaa\x18\x18\x1d\x49\xdf\x7d\x63\x0b\x1f\xeb\xee\x0a\x97\x5b\x1f\x74\x9c\x01\x65\xd0\x58\x43\x34\xa1\x23\xe4\x56\x83\xde\x3b\x65\xf1\x9c\xce\xf6\x33\x4b\x07\xc4\xcd\x31\x4c\x0d\x14\x08\xd5\x04\x01\xc5\x94\x01\x82\xe4\xb8\x23\x6d\x59\x20\x54\x2b\x1c\x04\xb1\xb6\xa4\x0e\x20\x6d\x59\x20\x54\x43\x1c\x04\xb5\xb6\xdc\x77\xf1\x70\x1d\x30\x2e\xe7\xb9\x55\x05\xa0\x0d\x68\x8b\xc9\x26\xa2\x30\x06\x39\xb7\xce\x0c\xde\x1c\x24\xfb\x28\x8e\x2d\xb5\xe1\x17\x04\x31\xad\x91\x10\x54\x69\x38\x10\xd3\x19\x00\x91\x7a\x61\xb7\x03\x21\xa8\xc2\xe0\xd4\x90\x76\xa4\x4e\xd8\xed\x40\x08\xaa\x2c\x38\xb5\xae\x1d\xf7\x35\x4b\x5c\x07\xf4\x7b\x97\x6e\x4d\x31\xb1\x06\x14\xc5\x60\x11\xd1\x13\x9d\x98\x5b\x4d\x86\x2e\x84\xee\xe2\x58\x69\x89\x96\x3a\xe5\xa2\x1d\x49\x9e\x06\xe1\xc7\xee\x76\xc0\xab\x71\x90\x9f\xe7\x24\xf7\x48\x9e\x78\x9f\xba\x20\xc4\x6a\xb9\x62\x01\x7f\x8b\xaa\x33\x46\xc1\x0e\x39\x6b\x37\x10\xc4\x0d\x45\xff\x54\xab\x4b\x88\xe2\x62\x4f\x5b\xd4\x72\x70\x4c\x59\x10\x85\x5f\x55\xd8\x91\x0a\x4f\x86\x62\xf7\xec\x49\x7c\xcc\x5a\xb7\x4e\x1d\x88\xd8\xf7\x5e\x1f\xd2\xb1\x07\xc9\xfe\x02\xec\x43\xea\xa3\x64\x7f\xc5\xf5\x21\x1d\xf1\x3b\xf6\x78\x3d\xeb\x7b\xd8\x2d\x1b\xf4\xa3\x58\x8f\x3e\x38\x99\x43\x3f\x99\x6f\xad\xd9\x89\xf3\xee\x9a\x37\xb7\xd9\x09\xfe\xee\x9a\x46\x9b\x17\x70\x2f\xf1\x26\x49\x6b\x77\x4a\x6f\x13\xf4\x6d\x15\x35\x39\xdf\x59\xf1\xd6\x16\x35\x29\xdf\x59\x51\x6f\xf1\x62\xdc\x0b\xbd\x45\xc8\x1a\x91\xbe\xa9\x36\x50\xd1\x3d\x91\x6d\x59\xdd\xde\x22\x56\x11\xc4\x6f\x36\xc1\xf5\xba\x4f\x69\x96\xd4\xb4\xb9\x74\x1b\xb3\x81\x9d\x19\x29\xe8\x72\x1e\x65\xf4\x40\xf3\x04\x5c\xba\xd3\x16\x70\x58\xd7\x91\x02\x25\x0a\x41\xfc\xd7\xbc\xe0\xa6\xdd\x51\xec\x72\x3e\x21\x59\x06\x16\xed\xbf\x2b\x7f\x31\x7e\x4c\x7e\x2d\x93\xa7\x05\x48\xc3\xb2\x0a\x82\x2b\xcb\xc9\xf6\x73\xf3\x56\xd2\x9f\xf8\xcb\xcc\x5f\xdf\x3b\x7d\x9d\xd6\x02\x7b\xe2\x60\x57\xbc\x7e\x9d\x68\x85\x15\x49\xd2\xe2\xab\xcc\x2b\x33\x67\x17\x2a\x95\x34\x65\x04\xfc\x6f\x6b\x43\x7a\xfc\x5e\xab\x4e\x7a\x9f\x66\xf4\xab\x39\x4c\x57\xa3\x91\xfc\x00\xe1\xda\x30\x8a\xb7\xff\x7f\x3e\x9d\xb3\x26\x2d\x33\xfa\x55\x64\xa9\xfb\xb9\x1d\xbc\xaf\x17\x3d\x09\x1a\x6c\x53\xa4\x97\xc3\x7a\x69\x83\x78\x5f\x7f\xb5\xcc\x72\xc5\xb9\x29\xcf\x0d\x7e\x43\x94\x89\x72\x65\xde\x09\x1d\xce\xe9\xb7\x58\x2c\xae\xd3\x7d\x51\x9d\xfc\xb8\xc8\x9b\xaa\x80\x17\xeb\xed\x5c\x6e\xb3\xb9\x96\x6b\x6c\x59\xbe\x7a\x61\x74\x47\xa3\xae\x54\x6f\x5d\x69\x7a\x22\x07\x2a\x6f\xc9\x8e\xba\x71\xda\x77\xe5\xb7\xad\xdb\xfe\xbf\x7e\x93\x37\x58\xe1\x97\x7e\x9d\xb8\x48\x82\x39\xc1\x04\xeb\x82\x9e\x24\xce\x9b\x86\x8b\x7a\x62\x33\x64\xe1\x80\x74\x74\xfd\xf4\xfa\xe8\xbc\x07\x11\x53\x15\x84\x1a\xeb\xd4\x36\x3f\x2c\x97\x64\x4f\xd7\x4a\x8f\xd1\xab\xcd\x43\x82\x9c\x04\x5e\xe0\x3d\x4a\x40\x18\x44\x93\x70\xb5\x98\x44\xb3\xd9\x64\xba\xbc\x69\x44\x7a\x09\x81\xce\x6c\xd8\xc2\x56\x66\x24\xa6\x47\xf6\x8c\x98\xcc\xd5\xb3\x5e\xaf\xb7\x45\x49\xe2\xb4\x79\xdb\x84\xa0\x52\xeb\x86\xb3\xe9\xed\xa8\x68\xb5\x21\x84\x31\xbe\xce\xcf\x49\xca\xf2\xe9\x25\x5f\x27\x66\x79\x45\x49\x52\xe4\xd9\xdb\xd7\x89\xb4\x69\x1d\xaa\x67\x4e\x59\x91\x50\x24\x2f\x1a\x9f\x64\x59\xf1\x42\xb1\xdb\xdb\x94\x52\xad\x9b\x32\x3b\xa7\x49\xc8\xb1\x0e\x42\xc3\x41\xca\x92\x92\x8a\xe4\xb1\xc8\x2f\x83\x7c\x25\x49\xd4\xd6\x0c\x27\xf4\x39\x8d\xa9\x5f\xa6\xaf\x34\xf3\x59\x1e\xce\x4d\xf0\x70\xd1\xe8\x27\xa4\xa1\x86\xc9\x68\xd2\x93\x59\xd0\x62\xb0\xf7\x75\xb3\x22\x26\x99\x01\x3a\x15\x79\x73\xfc\x6a\xa4\x9c\x99\xb1\xfc\x66\x7c\x0c\xd8\x4e\xa4\x5f\x9f\x3c\xab\xbd\x1e\x04\xde\xfe\x00\x05\x9d\x9f\x1e\x54\xce\x1f\xec\xcc\x57\x51\xa3\x3e\x59\xfd\x46\x21\xa0\x41\x14\x87\xb7\xa4\x40\xa6\x48\x02\x28\x92\xec\x30\x20\x12\x13\x01\x11\x89\x4d\xc1\x29\x12\x13\xb5\x5f\x24\xd9\xc1\x25\x12\x13\x82\x8b\xc4\xc4\x31\x44\x92\x1d\x0c\x91\xcc\x97\xec\x56\x3c\x9b\x00\x8c\xcb\x8b\xfd\xb1\x7e\x9d\x4a\x63\x3f\x99\x32\xdb\x8e\x5c\x6b\x86\xe9\x55\x87\xb3\x0d\x4a\x9a\x1e\x73\xf4\x04\x65\xfe\x87\x1e\x91\x60\x2e\xa6\x71\x25\x1a\xc9\xbe\x18\x6c\x61\x6e\x47\xb1\x1a\x94\x45\xca\xb3\xd4\xa9\xd6\x50\x47\x4d\x81\x45\x7e\x28\x07\x16\x67\xd1\xf2\x74\x04\x00\xa9\x2b\xbc\x3e\x3b\x77\xa9\x26\xa0\x39\x77\xfc\x8c\x3c\x01\x91\x21\xa1\xcf\x50\xfe\x9f\xc5\x30\x68\x54\x7c\x63\x9c\x04\x2b\x26\x63\xfd\x19\xaf\xc6\x8b\x16\xcd\xe2\xeb\x14\xb8\x68\xfc\x73\x3f\x6f\x9f\x4d\x4e\xb1\x04\x5b\xe2\x8c\x15\x4b\x2d\x6c\x99\x02\x74\xbc\xfa\xf1\xc4\xd8\x61\x35\xa7\xb2\x02\x0a\xd5\x8c\x95\x45\x0e\xad\xc9\x41\x5d\x35\xc4\x54\x59\xf2\xea\x08\x19\x92\xe9\x8a\x31\x7b\x08\x45\x8c\xe1\x18\x72\xee\x63\x44\x35\x65\x4c\x50\x58\xda\xc7\x46\x0f\x8a\x3e\xd9\x31\x26\x74\x83\xec\xf3\x4d\xf9\x0b\x74\xf1\xc1\xd9\xaa\x95\xad\xba\x28\x9d\x6e\x89\xec\x81\xd6\x27\x90\x18\x24\x00\x09\xa9\xae\x1d\xa2\x66\x5c\xb6\xda\x91\x13\x2b\x37\x4d\x64\x7d\x12\x2c\xec\x8c\x3d\xe2\x1b\x0d\xa7\x6e\xd9\x32\xf8\x41\xd7\x59\x44\xe5\xda\x40\x42\xfc\x20\x63\xb7\xde\xb7\x86\x1a\xf5\x7f\xde\xb7\x3f\x63\x1b\x1c\xee\x62\x0f\xa5\x89\xe9\xd0\xf5\x37\x37\x28\x08\xa9\x77\xdf\x21\x8f\x6b\x67\x74\x35\x7b\xbb\x35\x72\xd2\x75\x79\x63\x55\xb2\x5a\x40\x46\x1c\x54\xdc\xda\xc9\xc8\x0d\x65\x01\x8d\x58\x56\xde\xa1\x2c\xd9\x01\x2a\x4b\x47\xc8\x92\x51\x76\xc0\x85\xf9\xab\x74\x6b\x6c\xbb\xc3\x3d\xed\xa1\x84\xea\x8c\xab\xb9\x41\x79\x00\x9d\xf9\x0e\xb1\x5c\xa7\x47\x52\xfb\x7b\x4a\x93\xf6\x2b\xc6\xf6\xb8\x4c\x38\x60\xd7\x5c\xbb\xe6\xd1\x94\x79\x07\x06\xa3\x36\x65\xe5\x9c\x70\xb3\x2b\xd7\xbd\x5f\xfc\x34\x4f\xe8\xeb\x26\xda\x62\x41\x11\x16\x08\xd1\x83\x22\xf0\x13\x64\x6b\xa5\x0c\xde\x0a\x1f\xc1\xa7\xcf\x34\x6f\x6a\x71\xa6\x4a\xaa\xde\x67\x07\x9b\xe2\x36\xc4\xb2\x6b\x0e\x1f\x7b\xb5\xe0\xf5\x13\x62\xb3\xb9\x77\xe1\x61\xf2\x15\x87\x36\x3c\xcd\x03\x43\x8b\x95\x53\x63\x42\x45\xdb\xc2\x80\x1a\xb0\x23\xcd\x4a\xee\x82\x01\x00\x33\x8d\x58\x19\xd6\x86\xe5\x45\x63\x30\xe9\x98\x22\x28\x9a\x1d\x46\x00\x46\x45\x90\xc7\xd8\x64\xd0\xd0\x3e\x33\x56\xc2\xf1\x7f\xed\xb0\x54\x0f\x3f\x68\x04\x87\xa7\x5a\xbe\x3b\x6e\xb3\x2c\x5f\xbd\x1f\x96\xab\x5d\xb8\x7c\xbc\x39\x54\xa3\xd5\x05\x5c\xeb\x1f\x8b\x24\x49\x8a\xdc\x94\x39\x12\xcf\xe0\xc7\xa1\xb6\x98\xc4\x7b\x24\xd2\x4d\x06\xa4\x86\x38\x6c\x00\x55\xde\x2a\x36\xd4\xb1\x83\xda\x2a\xaf\x60\x50\xe5\x15\x40\x53\x79\xb3\x0c\x6b\x03\x55\x79\x08\x43\x54\x5e\xa2\x58\x2a\x6f\x00\x50\x95\x17\x29\xb4\x4d\x06\x7b\x54\x9e\xe3\xff\x36\x2a\x8f\xf2\xe3\x08\x5a\x2e\xc2\xef\x55\xf9\x38\x20\xe1\x72\x77\x9f\xca\xf3\xba\x80\x6b\xa7\xca\x0b\x19\xba\x8e\xf1\x6c\x31\x89\xf7\x48\xc4\x52\x79\xbd\x06\xad\xaa\xa2\x82\x0a\x0f\x0a\x0d\x55\x94\x30\x5b\xd9\x05\x04\xaa\xba\x28\xd6\x14\x5d\x2f\xb1\x69\xa3\x4a\x6e\x42\x10\x15\xe7\x08\x96\x82\x6b\xc5\xa8\x7a\x8b\x1c\xef\x3a\x5b\x3d\xca\xcd\xb1\x7f\x1b\xe5\x46\xb8\x41\x55\x9b\xe7\xa0\xff\x4e\xd5\xa6\x8f\xf3\xc7\xd9\x9d\xaa\xcd\xea\x1a\x3c\x3b\x15\x5b\xc8\xcf\x75\xe8\x68\x8b\x49\xdb\x29\x0d\x4b\xad\x75\x7c\xe5\x1c\xb2\xd1\xfe\xdf\x8e\x8a\xec\x2a\xc8\x42\x3a\x3c\x66\x1d\xf9\xe2\x4d\x5f\xdd\xe0\xaa\x69\xbb\xf5\xcc\x92\x8a\xe3\x2c\xd0\x30\xa0\xba\x0d\x35\x6b\xff\xf5\x24\x87\x62\xed\x0b\xe5\xd5\xa3\x95\x8e\xfd\x61\x33\x82\xe5\x78\x77\xca\xa6\x09\xb7\xff\x0c\xaa\xda\xab\x3e\xb7\x12\x94\x9f\x05\x18\x5d\x50\x4d\xd3\x1b\x88\xce\x4e\x03\x8c\x6a\x5b\x23\x02\xbe\x76\x7a\xf0\x2c\x8d\x1d\x8b\xbc\x6b\xf2\x4b\x27\x1c\x37\x2b\x4f\xa6\x90\xf5\x2b\xd9\x46\x15\x63\x59\x85\x87\xb7\x46\xf5\xbf\x5b\xc9\x8d\x62\x1e\x35\xed\x53\x19\x2c\xa5\xff\x6d\x4d\xca\x85\xd7\x6e\x58\x2c\xba\x30\x8e\x84\x53\xc1\x03\xd0\x08\xd1\x9e\x68\x73\x97\x73\xd4\xb8\xcf\x68\x52\x71\x7f\x45\xc2\x69\x2e\x2a\x6a\xf9\xff\xa1\x9c\x31\x90\xb2\x6d\x16\x86\x30\x86\x78\x39\x7c\xe5\x41\x06\xfd\xfa\xc6\xe9\x36\x06\x45\x08\x5d\xdb\x69\x58\xa9\x8f\x64\x1d\xcf\xde\x1a\xe9\x4f\xef\x3b\xb0\x86\x19\xdc\x19\x8a\xee\xe8\xaa\xd2\x42\xeb\x65\x1e\x84\xd9\x31\xa3\xd9\xa5\x9a\xbd\x85\x57\x10\xf4\x70\xb3\x1e\xce\xa7\xb3\x19\x9e\x9d\x79\x0c\xf1\xfa\xd4\x47\x9c\xef\x56\xb5\x0b\x4e\xdf\x66\x46\x77\x22\x03\xdd\xcb\xe8\x4e\x68\xf4\xbe\x08\xd6\x9d\xd8\xb0\x43\x18\xf6\x19\x4b\xc7\xb6\x88\x7f\xaa\xfd\xa6\x38\xc7\x47\x9f\xc4\x6c\x52\x9e\x48\x9e\x96\xe7\x8c\x3d\xc4\xb8\x75\x43\xcc\xed\x14\xe5\xd9\x9c\x6b\x5a\xf9\x3c\xbc\xc5\x4f\x85\xb0\xfd\x7c\xa4\xb4\xb6\x0b\xad\x82\x91\xe7\x4c\xdc\x99\xc6\xd9\x0e\xf3\xae\xc9\xc5\x8d\xa8\x29\x3f\x09\xa4\x95\x6c\xb4\x92\xee\xe7\xc6\x42\xdf\x58\xe8\xbf\xda\xe9\x21\xc8\x8b\xf6\xd3\x78\xd6\x68\x36\x9b\xe1\x4f\x6d\x6a\xdd\xd3\x79\xbf\xe0\xd2\x1c\x75\x44\x64\x56\xbe\x7a\x0b\xe0\x60\x86\x8e\x64\xfc\x2e\x5c\xce\x57\xb7\x6b\xb4\x6b\x72\x6d\xa3\x0a\xdb\x83\x69\x67\x11\x12\x8a\xdb\x22\x07\x29\xf6\x69\xc6\x1e\x73\xc8\xca\x23\xf9\x24\xce\x4f\xfc\xb4\xd4\x0e\x03\x0d\xa4\xf4\x57\x67\x2e\xa6\xcb\x05\x63\xd4\x4f\xe8\x9e\x9c\xb3\xe6\x32\xf4\xaa\x2a\x70\x87\xd9\x01\x76\xad\xbe\x3e\x10\xaa\xac\x1b\x52\x59\xb4\x41\xd0\x36\x08\x9a\x38\x60\x5f\x94\x34\x7f\x9a\x26\x55\x51\x26\xc5\x4b\x6b\x6c\x0e\x87\x8c\x8e\x67\x9b\x2e\xdb\x7f\xd0\x91\x4f\xda\x7f\x83\xcc\x2b\x4e\x87\x79\x40\x15\xce\x6c\xc0\x50\x07\xab\x14\x15\x9e\x02\xda\xe2\x51\x30\x4c\x9c\x1d\xb0\xaf\xa2\x10\xb0\x06\xd3\x8f\xfe\xa0\xc5\x18\x97\x1a\xd4\x6e\xad\x03\x62\x7c\x6a\xd0\xde\xaa\x9c\x53\xc7\xbc\x91\xf8\x43\x70\xc9\xfb\x10\x1a\xe7\x64\x00\x6b\x33\x8e\xd8\x66\x1c\x31\xe7\x5d\xa2\xc1\x39\xe7\x4d\x77\x24\x39\xd0\xa1\x57\xde\x66\xbc\xd2\x0d\x6f\xc2\x81\x76\x23\xba\x4c\xc8\xdc\xa0\x62\xe8\x82\x2c\xd3\x86\x51\xbe\x27\x87\xa0\x6d\x10\xb4\xc1\xe9\x3e\x8a\x79\xfe\x48\x1d\x64\x3e\x98\x27\xab\x61\xe6\x47\x4c\x77\xc9\x43\xcf\x74\x97\x0d\x98\xd3\x1d\x96\xa2\xc2\xc3\xa6\x3b\x84\x61\xe2\x44\xa7\xbb\x05\xd3\xa6\xbb\x80\xc1\xe9\x6e\x15\x63\x5c\xe2\xd3\xdd\x02\x62\x7c\xe2\xd3\xdd\x06\xf6\x4f\x77\x81\x3f\x04\x1f\x9a\xee\xa6\xc6\x0e\x60\x0d\x4d\x77\x53\xaf\x87\xb0\x5c\xd3\x7d\xec\xcc\x03\x93\x5e\x56\xc3\xb3\x84\xb4\xf5\xc0\xeb\x97\xf8\xd4\x59\xc4\xbb\xc7\x45\x0c\x5a\x9f\xc7\x84\xce\x63\x83\x8a\xa1\x14\xb2\x4c\x1b\x4f\x79\xb7\x1a\x41\xdb\x20\x68\x83\xf3\x7e\x14\xf3\xf3\xf9\x3a\x99\xcf\xe1\xde\xcb\xfa\x71\x3e\x5b\x0f\x32\x3f\x62\xde\x23\x77\xe0\xe1\xbc\x97\x0d\x98\xf3\x1e\x96\xa2\xc2\xc3\xe6\x3d\x84\x61\xe2\x44\xe7\xbd\x05\xd3\xe6\xbd\x80\xc1\x79\x6f\x15\x63\x5c\xe2\xf3\xde\x02\x62\x7c\xe2\xf3\xde\x06\xf6\xcf\x7b\x79\xf7\x7f\x00\x3e\x34\xef\x4d\x8d\x1d\xc0\x1a\x9a\xf7\xa6\x5e\x0f\x61\xb9\xe6\xfd\xd8\x99\x07\xe6\xbd\xac\xe6\x9e\xf7\xfa\xb3\xb5\x8e\x49\xbf\x8b\x03\x2b\xce\x3d\x5f\xee\x1e\x13\xd2\x91\x30\xd4\x81\x15\x68\xc3\xc8\xee\xd0\x43\x84\x0d\x44\x18\x9c\xe5\xc3\xac\xce\xc2\x5d\x90\x2c\xe0\xea\xb8\x5c\x93\x5d\xdc\xc3\xea\x88\xc9\x0d\x53\x19\xc0\x99\xcd\xe8\x9a\xd3\xda\x28\xb2\xc5\x83\x4d\x68\x03\x60\x09\x0c\x9d\xca\x26\x40\x9b\xc7\x2d\x00\x4e\x62\xb3\xcc\xe2\x09\x9f\xbe\x26\xc4\xe2\x0a\x9f\xb8\x00\xd2\x3f\x6b\x59\x92\x86\x3e\xe0\xd0\x7c\xd5\xf4\xad\x0f\x65\x68\xa6\x6a\x5a\xd9\x8b\xe2\x9c\xa3\x63\x26\x0a\x9c\xa0\xa2\x8e\x7b\x82\x82\xe7\xa1\x71\xc5\xdf\x07\x24\x99\xc3\xa6\x29\x25\xd1\x6c\x69\x50\x31\xc6\x5c\x96\x69\xe3\x26\x33\x17\x20\x68\x1b\x04\x6d\x70\xca\x8e\x62\x9e\xc6\xeb\x55\x08\xbf\x62\x92\xc5\xe3\x22\x8c\x06\x99\x1f\x31\x77\x91\x0c\x13\x70\xfa\xca\x06\xcc\x19\x0c\x4b\x51\xe1\x61\xf3\x18\xc2\x30\x71\xa2\xb3\xd9\x82\x69\x13\x5a\xc0\xe0\x9c\xb6\x8a\x31\x2e\xf1\x99\x6d\x01\x31\x3e\xf1\xf9\x6d\x03\xfb\xa7\xb8\xcc\xac\x31\x00\x1f\x9a\xe8\xa6\xc6\x0e\x60\x0d\x4d\x77\x53\xaf\x87\xb0\x9c\xdf\xdf\x23\x67\x1e\xfc\x0a\x17\xd5\xdc\xf3\xde\x7c\xd7\x1d\x9f\x39\xc9\x7a\x31\x9b\x5b\x33\x67\x3e\xdb\xcf\x88\x4e\xc4\x0c\xc9\xf0\x22\x3d\x98\xc2\xf3\x50\xd8\x48\x1b\x1b\x69\x38\xe2\x36\x82\xed\x78\x3d\x0b\x22\xe8\xcc\x90\x38\x5a\x47\x8b\x01\xb6\xc7\x84\xdb\xac\x24\x21\x56\xb4\x8d\x53\x07\xc1\x36\xb3\x10\x13\x19\x1a\x6a\x33\x41\x88\x10\xf1\x40\x1b\x00\xe9\x71\x36\x06\xb2\xc2\x6c\xa0\x14\xe1\xcf\x11\x64\x03\x30\x84\x43\x47\x88\x0d\xc2\x06\x22\x6c\x3c\x25\x4a\x3f\x78\x30\xbe\xa6\xeb\x66\x3f\xd2\x60\x74\x4d\xd7\xe0\x01\x24\x67\x8a\xaf\x71\xd3\x0b\x4c\x6d\x59\xcb\x3d\xb5\xb3\x34\xff\x76\xb1\x6e\x40\x61\x1f\xf8\xdd\x13\xb1\xb2\xde\x44\xfd\x32\x54\xa0\x2d\xd8\xc0\x82\xe1\x0d\x05\xce\x4a\xef\x63\xb5\x63\x5f\x01\x46\x38\xb4\x18\xd2\xf5\x8b\xfd\x2d\x24\xaf\x0b\x58\x4f\xd3\x3b\x54\x51\x7a\xf8\xb3\x45\xb4\x8a\xad\xed\x9f\x73\x9e\xd0\x2a\x4b\x73\x64\x99\x45\x1b\xc1\xe7\x01\x80\xf4\xcf\x02\x8d\xd7\x5e\x14\x83\x7d\x95\x5a\x18\xdb\xba\x52\x7b\xb8\x4f\xed\x5f\x82\xa5\xc3\xe5\xdd\xce\xee\x6b\x6d\xd4\x27\xad\x8d\xee\x46\xcd\x77\x5c\x26\xd1\x88\xbf\xd6\x1a\xf1\xd7\xba\xeb\x00\xdf\x1f\xbb\x93\x36\x76\x88\x49\x3f\xa7\xa2\x70\x3e\x6b\xe8\xe6\x29\x27\xfd\xce\xf0\xee\xdc\x34\x45\xfe\xb5\xc3\x35\xae\x85\xd1\x9a\x36\x0e\x58\x7d\xde\x9d\x52\x1d\x68\x9e\x96\x21\x09\xbd\xc8\x2d\xb5\x00\xbb\x91\x2f\x80\xec\x3e\xbb\xd7\xf6\x9d\x54\xe0\x8e\x3d\x86\xd1\x0f\xe6\xed\x4e\xd3\xfc\xa2\x5d\x14\x8f\x8b\x2c\x23\x65\xdd\x5d\x2e\x64\x73\xf9\x39\xad\xd3\x5d\x9a\xb5\x38\x3c\xbb\x53\x87\xd8\xd6\x37\xe5\xab\x21\xb3\x9f\x19\xbd\x36\x15\x8a\x2f\x12\xa4\x14\x2f\x57\x96\x7b\xa5\x1f\x87\xeb\x89\x6a\xb8\xf5\xd8\xed\x93\x31\x42\x23\x02\x95\x8f\x4a\x65\xa3\xb2\x64\xea\x37\xe9\x29\xcd\x0f\xfe\xfe\x9c\xf3\xfd\x7a\x4a\x6a\x6a\x0a\x15\x47\x19\x24\x61\x37\x95\x9c\xc5\xb4\x9d\xce\x60\x72\x04\x00\x73\x57\xb2\xa9\x96\x55\x51\xd2\xaa\x1d\x13\xd6\xeb\x49\x27\x78\xd0\x44\x0f\xe2\x28\xac\xeb\x34\x26\x15\x6d\xfa\x8e\xd1\x05\x9d\xe8\x8d\x0c\xef\xe5\xab\xe3\x20\x85\x96\xb8\x7a\x2e\x8f\x26\x6c\x8d\x64\x3f\xf3\xbe\x13\x0b\x3c\x27\x3d\x86\x71\x55\x5e\xdf\x84\xfd\x3a\x97\xd8\x65\x1b\xe0\x19\x82\xe3\x09\x81\x86\x70\xa2\xf9\xd9\x71\xa9\x86\x65\x10\xe1\xa7\xb0\xd4\xb5\x9a\x30\x08\x82\xad\x31\x79\xba\x07\x4c\xb6\xda\xc3\x2a\x4b\x78\xfd\x4c\xe5\xf1\x89\x44\x32\x19\x70\xb6\x05\x64\x92\xdf\x66\x69\xdd\x88\xbc\x6a\xf0\xf4\x87\xe6\x5c\x2b\xeb\xac\x41\xb3\xb4\xdc\x74\x97\x2d\x5f\xb7\xbd\xb0\x9e\x2c\x25\x5a\xa9\x71\x7a\x81\x1d\x74\x18\x91\xc6\x84\x1f\xb6\x6d\x97\x73\xb3\x3e\x38\x5a\xdc\x83\x06\x86\x69\xca\x9e\xd9\x60\xda\x73\x91\xd7\x9d\xb4\xd7\x1e\x0c\x5c\x6f\x9a\xa4\xcf\x69\x42\xab\x8b\xf6\x7a\xb7\x18\x81\x35\x1b\x0e\xb8\x84\x20\x81\x09\x9e\xd9\xc8\x24\xfc\x94\xa5\x4f\x04\xcf\x66\xd3\xda\x25\x8f\xdd\xc9\x8e\x33\x4a\xaa\xcd\xae\x68\x8e\x63\xcf\x2c\x69\x27\x14\xb0\x84\x70\x36\x0b\xd2\x47\x41\x20\xa6\x73\xb4\x6c\xff\xa1\x0e\x06\xa6\x53\x22\xc3\xb3\x49\x55\x26\x92\x26\xb0\x39\x05\xc0\xb9\xe9\xc0\x06\x4b\xad\xe2\x8e\xe4\x47\xb8\xc3\xae\x89\xfb\xa4\x3e\xa1\x10\xde\x3a\x90\x83\x3b\x0d\x01\x3a\x64\x3d\xed\x8c\x25\x86\xf6\x70\x4c\xd6\x13\x63\x39\x44\x4f\x29\x89\xf3\x3d\x65\x55\x1c\xd2\x64\xf3\x5f\xfe\xe7\x9f\x5a\xd0\x5f\xdb\x6a\xfb\xa2\x3a\x4d\xff\x9c\xc6\x55\x51\x17\xfb\x66\x7a\x68\x67\x28\xcd\x9b\x4f\x34\x67\xcc\xfd\xb4\x27\x59\x4d\x1f\xae\xf0\xfb\x99\x2d\x82\x66\x9e\x2a\x8e\x42\x9c\x6b\xe6\xc8\x79\xc8\x56\x72\xed\x61\x9c\xad\x3c\xd5\xaa\xb0\x8e\x94\xb4\xd3\x74\x60\x46\xf5\xfa\x87\x70\x16\xb5\x1e\x75\xef\x2c\x6a\xc5\xda\xfe\xd1\x2d\xfc\xfb\xf4\x95\x26\xe0\x2a\xa5\x3a\x86\x08\x6c\xc0\x7a\x1d\x5c\xb5\xb5\x08\xca\xd1\x21\x92\x73\xe9\x71\x3b\x3b\x99\xe6\xe4\x79\x47\x2a\x9f\xb5\x29\x0e\x3b\x7a\x8a\x88\xc0\xba\xc4\x45\xde\xd0\xbc\xd9\x7c\xf8\xa0\x1b\x53\x98\x88\x4d\xd9\xc8\xae\x11\x83\x9b\xc1\xc6\x4c\xde\xdb\x26\xd8\x30\xa9\x43\xff\xf6\x9b\x25\xbd\x07\x51\x45\x6b\x4c\x06\x90\x38\x22\x98\x1e\x74\x97\xe6\x68\x5f\x15\x13\xed\x03\x43\xba\x21\x3d\xc9\x4e\x0c\xbf\xc6\x71\x48\xdc\x26\xa8\x7d\xb7\x88\x63\xf1\xfc\x24\x1e\x6c\x45\x7f\xc8\xcc\x41\xc5\xf8\x64\x47\xe0\x9b\x21\xb8\xf6\x5d\x8a\x81\xb5\x30\x52\xc7\xaa\xdd\xa8\xa3\x2d\xbc\x09\x8d\xf2\x45\xdd\x2d\xd6\x7a\xc8\xbe\x6a\x3f\x03\x19\x75\x85\xd6\x40\x79\xdd\x4f\xb4\x96\x06\x32\x8f\x71\x8b\x33\xdb\xf2\xd3\xaf\x29\x8a\x6c\x47\x2a\x13\xba\x00\x50\x0f\xb2\xa0\xca\xf5\x7b\x1b\x70\xe4\x04\x92\x36\xf0\x7a\x09\x42\xee\xc9\x20\x67\xbc\xbb\x64\x7c\x05\x73\x59\xe6\x45\xf3\x49\xcf\x33\xfa\xc0\x4b\xba\x24\x91\xbc\x00\xfa\xb0\x0f\x17\x34\x28\xa4\x0f\x9d\x96\xbb\x14\xdc\x21\x70\x63\xde\xd8\x78\x53\x94\x7c\xb6\x2a\x36\xcc\x05\x09\x00\xad\x96\xbb\x86\x6c\x39\x18\x5a\x07\x3d\x78\x0b\x5b\xe7\xa8\xed\xa6\x8b\x21\x03\x06\xf9\x71\x68\x00\x44\x18\x31\x66\x7c\x59\x18\x18\x22\x41\xad\x4f\xfc\x50\x4c\x70\x2a\x8e\x22\x01\x84\xf7\x4e\x83\x27\x9a\xee\x1b\x42\x5b\x11\xbf\x73\x94\x3c\x4b\x11\xac\x75\x8b\x79\x2a\x16\x9e\xee\xb8\x98\xdd\xf8\x6c\xa1\x9a\xf9\x17\x1e\x61\x06\xab\x47\x7b\x12\xb3\xcc\x07\xfd\x64\x98\x9f\x62\xd0\x09\x23\x83\x90\x83\xef\xdf\xe2\xe0\x79\x1f\x03\x5d\x5c\xf8\x96\xd0\xaf\xf4\x5a\x90\x75\x87\xdd\x3f\x61\x40\x31\xe4\xe2\xf5\x4c\xc1\x20\xd4\x04\x11\x70\xe8\xfc\x99\x1e\x1a\x81\x27\xa8\x8c\x31\xdc\x26\xc0\xed\x41\x3c\x41\x5b\x6f\xba\xa6\xdd\xcb\x42\x5b\xe7\x33\x6f\x4e\x76\x74\xb2\xfa\x13\x45\x0e\x74\x68\x21\x11\xe8\xa8\x7e\xf4\xd3\x71\x9a\x5c\x96\xa9\x2c\x04\xd7\xa6\x02\x27\xb7\x23\x56\xc9\x9e\x05\x12\xba\x3a\x3d\x0b\x9c\x73\x3d\x9b\x97\xaf\xbd\x2b\xda\xc8\x45\x07\xb0\xd2\xb7\xe0\x0d\xae\x6f\x83\x6b\xae\x5e\x6b\xde\xa3\xc9\xef\x66\x89\x50\xb2\x77\x9a\xa4\x3b\x68\x39\x6c\xd3\xfb\x8d\xd7\xaf\x62\xa6\xec\x61\xd4\xdb\xff\xfb\xb9\x6e\xd2\x7d\x4a\x13\x33\xae\xad\x2f\x10\x3c\xd0\x9d\x91\xb7\xe2\xdc\x88\xaf\xcd\x6e\xdf\x8b\x85\xc5\x37\x35\x2d\x49\x45\x1a\x8a\x52\xb6\x56\x33\x13\x02\xae\x20\xf3\xd6\xc0\x4b\x68\x92\x9d\x8f\xee\x06\x34\x47\xfc\x82\x2f\x67\x38\xbe\xf9\xa1\xd7\x7d\xe0\xfd\x9c\x90\x86\x88\x91\x16\xdb\x2b\xf5\x57\x56\x13\xbf\x32\x3b\x0e\x5f\xe4\x02\x74\x23\x6b\xcb\xec\xad\xed\x38\xaa\x3a\x53\x43\xb2\x90\x6a\x45\xe3\x46\x18\xd9\xe0\xa1\x2f\x61\x12\x1f\x25\xf7\x27\x2a\x57\x1b\xb7\x62\x68\x54\xcc\x27\xf1\xb4\x51\x1e\x97\x09\xef\x60\xdf\x36\x47\xf8\xea\xb2\x49\x69\x61\x6e\x67\x2e\xf7\x00\x66\x6b\x7d\x02\xb7\xd9\x21\x14\xb9\xc3\xde\x87\xb2\x6b\x72\xbe\xb8\xfd\xfa\xd9\xd9\x1c\x3d\x70\xe0\xd8\xfd\x18\x81\x88\xf6\x66\x6c\x1a\xb8\x5e\xfe\x7a\xb0\x5d\x9c\x8e\xac\x22\x79\x86\x39\xe8\x1c\xec\x38\xb1\x6c\x36\x46\xa1\x42\x91\xf1\x20\x92\x99\xc7\xb8\x4f\xe7\x5a\xe8\x80\xce\x41\x14\xd8\xe4\xaf\x91\x37\xd2\xc1\xba\x03\x67\x94\xb2\x8d\xea\xc6\xd8\x04\x95\xbd\xfc\xf5\x60\xdf\xa8\x6c\x2e\x9e\x71\xdd\xb0\xd8\x71\x62\x8d\x54\xb6\x21\x91\x59\xca\x06\x73\x75\x0c\x68\x96\xfe\x29\xd1\xd9\xe7\x1e\x8a\x23\x7c\x3d\xa4\xd1\x9b\x6b\xdd\xeb\xb9\x8f\xe8\xae\x74\x38\x46\x5f\xc0\x47\xa8\x5e\x86\xde\x6d\xe8\xdd\x61\xd3\x9f\x6f\xb0\xf3\x02\xe0\x19\xe7\x47\x3e\xdd\x80\xf0\x6a\xa5\xa3\x75\xae\x10\xc8\x81\x16\x17\xb5\x31\xc7\x7d\x90\x83\x3d\x16\x39\x47\x92\x92\x5e\x3c\xe3\x1d\x14\xf9\x4c\xb5\x5b\x61\x8d\x77\x97\x6c\xcd\x74\x82\x81\x37\x2e\x7c\xdd\x21\x0c\xcd\x55\x1b\x40\x06\xdf\x1c\x36\xb6\xf6\x42\x0f\xfc\xd6\x82\x1f\x42\x83\x95\x7f\xed\x88\x6a\xaf\x5c\xad\x07\x95\xdc\x83\xa5\x7f\xd0\xd9\x34\x5d\x50\xf7\x40\x38\x3e\xb3\x86\xab\x63\x91\xe0\x01\x19\x8f\x1c\xc1\x11\xb8\x3d\xa1\xd2\x1b\xe2\x95\x7d\xf2\x83\xef\x88\xc1\x45\x12\xd9\x4a\x52\x93\x3b\x40\xf7\x31\x51\x2b\x85\x9c\x82\xc1\xf0\x58\x98\x07\xd9\x53\xc1\x70\x55\xac\x15\x05\x8a\x9d\x22\x14\x66\xed\x17\xbd\xd7\x6c\x87\x49\x7d\x10\xd6\xef\xd4\x15\x44\x26\x39\x79\x06\xf9\x9f\xac\x0c\x35\xe0\x98\x0e\xab\xf3\x94\xa5\x43\x4f\x2e\x48\xbc\x27\x32\xf8\x38\x83\xb9\xf6\x2f\x04\x5f\xc6\x19\x10\xf5\x77\xcf\xc9\x03\xd4\xd4\x49\x52\xda\xe9\x05\xe3\x10\x84\x05\x35\x5b\xec\x3b\x41\x81\x9f\xf0\xb8\xf1\xfc\x03\xe3\xc0\x13\x47\x11\x26\xfa\x1f\x1a\x23\xaa\xc8\xf9\x92\x26\x85\x17\x34\xf8\xb1\x12\x41\x3d\x27\xcf\xfe\xfb\x1d\x16\x92\x63\xf1\x94\x9e\x0e\x97\x2e\x2a\xac\x94\xc3\x6f\xc8\xae\xbe\x38\x5f\x53\x63\x0f\x63\x4a\xb4\x56\x91\xf4\xe3\x65\x86\xee\x29\x15\x95\xa8\x4f\xc4\x9c\x1c\x3d\xe7\x24\x6e\x4b\x1a\xe4\x89\xf7\xcf\x40\x6b\xd8\xe9\xed\x56\xd6\x1e\xff\x1f\xd8\x13\xed\x10\x11\x56\xaa\x0d\xa8\x0d\x33\x94\xab\x75\xe5\x84\x1e\x89\x14\x17\xbd\xb9\x68\x80\x74\xc1\x3a\x8e\xab\x1c\xe3\x80\xfd\xe8\x22\x7b\x5a\xd4\x03\xbe\xe0\xe7\xa8\xd2\x0d\x9f\x39\xfa\x16\x56\x37\x72\xda\xa3\x78\x96\xb7\xea\x24\x30\x7c\x9a\xa3\x0b\xc8\xf5\x9e\xdc\x70\xf4\x01\x09\x2a\x76\x91\xc4\xf1\x9d\x0a\xae\xa3\xb0\xbb\xd3\x37\x96\xbf\xed\xea\xbf\xad\x59\x2e\x0c\xa8\x65\x4e\x3c\x5d\xb7\xe1\xfc\xbc\x43\x86\x4f\xa4\x77\xca\x8f\x99\x73\xbf\x71\xa7\xcd\x09\xc2\x2e\xaf\x70\x5e\xca\x34\xcb\xc0\xca\x64\x02\xba\xbe\xc2\xb1\x93\x18\x9f\xb3\xf4\x02\x8e\x11\x9b\x08\xa0\x73\x56\xb1\xde\x23\x1b\x68\x1d\x36\x74\x9d\x2b\xe4\x8d\xd6\x0d\x89\xbf\xe1\xb3\xb5\x03\x69\x2c\xb3\x0c\xac\xf6\xa6\x98\x6b\xb5\xb8\x0e\x2f\x0a\xf7\xae\x05\xbf\xc6\x12\x70\xdb\xcc\x1f\x3d\xe1\x35\xd1\x38\x57\xcf\xfb\x17\x84\xfe\x79\x31\x66\x4e\xfc\x0a\x8b\xc0\x7b\x2f\x00\xbf\x41\x27\xd1\x49\xdf\x90\x9d\x2f\x0e\x23\xb2\x27\x6e\xfd\x92\xe4\xc3\x17\x48\x8c\x5a\x22\xe7\xde\xe0\x45\x12\xc5\x29\x54\x63\xb8\x21\x7d\xcf\x76\x1d\x3f\x6b\x88\xe5\x5b\xed\x92\x8a\x2e\xec\x17\xb5\xd8\xf1\xd3\x3e\x87\x69\xf0\x34\x24\xb2\x1c\x0e\x9f\xa0\x14\xc7\x62\xb5\x45\x56\x9d\x96\x54\x97\x78\xc0\x81\x93\x85\x75\xe0\xc4\x78\xba\xfd\x55\x8a\x59\x1d\xd6\xef\xde\x6f\x67\x4f\xb5\xb7\x5f\x19\x2c\xc5\xa5\x7e\xe0\x14\xf7\x11\x07\x52\x77\x07\xfc\xd8\x49\xb4\x58\x4c\xe4\xff\x4f\x43\x67\x42\x71\x1c\xdb\xea\x2e\xbb\xca\xd4\xbd\x43\x3f\xbc\x96\x19\xb2\xd2\xd2\x41\x1b\xc7\x69\x47\x1f\x72\x81\xdc\x58\x57\xa9\x98\x56\xff\x2e\x3d\x95\x45\xd5\x90\xbc\xd9\x6a\x61\x63\xad\x14\x3c\x83\xa5\x7d\x5a\x88\xd1\xd1\x70\xed\x19\xd2\x01\x87\xc4\xa3\x4f\x29\xfb\xfc\x2f\xa8\x0b\x4e\x09\x37\x45\xe9\x46\xe1\xb9\xb1\x51\x9c\xa1\x47\xb8\xde\x8d\x19\xf6\x61\xa5\x5e\xad\x09\xf4\x13\xc9\xe4\x55\xbe\xdd\x29\x9e\xa0\x79\x0c\xca\xd7\x07\xfe\xc0\x67\x51\xa5\x34\x6f\xf8\xe7\x68\x46\xf2\xa4\x8e\x49\x49\x3b\x5d\x79\x4f\xae\xa2\x20\x60\xb9\x6f\xdb\x25\x90\xa4\x39\xad\xfc\x7d\x76\x4e\x93\x27\x9b\xac\x0b\x83\x2f\x00\x1a\xbc\xaf\x2e\xa8\xf5\xbd\xa9\x8f\xff\x15\xb8\x0e\x80\x83\x75\xb5\x15\xf0\x62\xdc\xca\x02\x27\xc3\xd8\xda\x32\xbc\x40\x68\xd4\xe0\x0e\x07\xaa\xae\xb6\x1e\xc0\x4b\x04\xc6\x31\x77\xfd\xe6\xd8\x2c\x18\x66\x67\xa0\xa9\x01\x16\x5b\x14\xe3\x96\x80\x29\x0c\xac\x91\x8b\x5a\x88\x60\x68\xcb\x20\x11\x6a\xde\x48\x4b\x62\x57\x91\x3c\xd1\x83\x13\xba\x01\x55\x21\xab\x85\x08\x59\xf5\x6d\xc9\xf3\xc7\x33\x75\xb2\x9a\xdb\xd2\x95\xb9\x43\x5b\x66\x65\x16\x77\x31\x63\x6d\x43\x42\x7f\xea\x34\xd2\x33\x68\x4d\x6c\x04\xae\xee\x26\xda\xc5\x9e\x5a\x8a\x27\x79\x34\xd4\x71\x5d\x80\xe9\x8a\x92\xd7\x5a\x6e\x16\x69\xee\xce\x63\xf7\xa7\x66\xe6\xcd\xb1\x62\x3b\x40\xb7\x5f\x23\xba\x35\x75\xb4\xd1\x25\xfb\x4a\xa5\x01\xf6\xa6\x69\x5c\xe4\x7e\xeb\xfd\x60\xd7\xb3\xa3\xa8\x7b\xcf\xcb\xde\x0e\x0b\xad\xd6\x3a\x72\x9f\x3b\xc2\xe6\xab\xac\xc3\x73\x4b\x8c\x85\xee\xb9\x76\x03\x95\x93\x67\xf9\xdc\xff\x6a\xda\xea\xad\xaf\x62\xad\x02\x2c\xc2\xb5\x7a\xee\xf4\xc0\x7e\xd7\x32\x84\x1b\xeb\x11\x34\x4f\x92\xb7\x95\xce\x9b\x8a\x63\x42\xcf\x57\x69\x0e\x5f\xa8\xec\xe3\x5c\xcc\xa5\x31\xf2\xec\xf7\xab\x02\x1f\xf4\xdb\x1d\x1f\x17\x87\x1e\xbc\xca\x35\x19\xaa\x61\x08\x72\x23\xd7\x08\x76\x94\x37\x02\x32\xef\xa9\xef\x5c\x43\x7a\xab\x81\xb5\xa5\x1f\xd7\x0a\x28\x6b\xa9\x64\x86\xd5\xad\xd5\x28\x2b\x7a\xab\x4d\x14\xb1\x53\x00\xc2\x28\x6e\x65\x5b\x20\xca\x66\xac\x35\xfb\xa2\x3a\x5d\xac\xed\x82\xde\xc5\xc4\x77\xac\x26\xd6\x8a\x36\xfc\x49\xe0\xfa\xbc\xfd\xee\xcf\x86\xc9\xfb\x7d\x53\xf4\x92\x1a\x61\x9c\x8b\xea\xf4\x6e\xcf\xd9\xd8\x34\xbf\xf3\x39\x1b\x27\xc1\xfe\xe7\x6c\x8c\x6a\xf7\x3e\x67\xe3\x22\x02\x8f\xc8\xb8\xf1\x90\xd3\x24\xe3\x90\xe1\x73\x36\xae\x5a\x3d\xcf\xd9\x18\x55\xee\x7a\xce\xc6\xa4\xa0\x5e\x31\x31\x8a\xdf\xf9\x39\x1b\xb4\x49\xf9\x9c\x8d\xdd\xb0\xe3\x39\x1b\x9c\x0a\x7e\x52\x04\x21\x7a\xc7\x73\x36\x06\x95\x1b\x9e\xb3\x19\x34\xa1\xd6\xec\xb4\xe2\xa8\xd8\x1c\x81\x87\xc5\xed\x18\xe6\xa8\x65\x41\x8f\x2f\xe8\xab\x76\x60\x7f\xf0\xf7\x7d\xe5\xdc\x6e\x9e\xa1\xd1\x70\x07\xce\x82\xef\x88\x9a\xe1\xdf\xc6\xbd\x4d\xc2\xef\x08\xd8\xea\xdc\x0c\xe3\xbd\xe3\x3d\x0e\xe9\x9b\x77\xe7\x1c\x80\xed\xeb\x0c\x9d\x8e\x3c\x15\x79\x8f\xb4\x3a\xa1\x1d\x0e\x0c\x03\xa4\xd6\x6b\x6d\xd4\x9a\xdb\xb5\x0c\x07\x9a\xbe\x36\x06\x3e\xf2\xd8\x5a\xff\xf7\xb9\x4e\xc8\xde\x20\xb6\xbf\x13\x54\x34\x70\x84\x36\xb3\x6b\xd7\x1d\x51\x24\xe2\xc4\x6f\xfe\x6b\x1f\x30\x5a\xc8\xca\xf6\x2e\xcc\x6a\xff\xdb\x24\x62\xce\x85\x4e\x99\x91\x47\x33\x64\x4c\xfa\xb1\xfd\x07\x13\x2e\xae\xda\x7f\xb0\x36\xf8\x4a\x03\x07\x1b\x9c\x88\xc0\x45\xc4\x71\xcc\x1d\x69\xb6\xf9\x3f\x7c\x92\x01\x23\xc7\xc6\x70\x04\x6b\xca\x27\xbc\x01\x77\xa0\x27\xe0\xd8\x48\xdf\x23\x29\x63\x7a\xd2\x92\x33\x37\x26\x06\xb1\x46\x30\xd8\x73\x08\x00\x39\x84\xd1\xaf\x07\x8c\x9e\x9e\x31\x64\x1c\xde\x18\x2e\x5d\x27\x61\xd8\xc9\xd1\xbb\xf4\xc2\x38\x8e\x26\x73\x0b\x8a\x33\x15\xee\x0a\x03\xbc\x0a\x24\x67\xc6\xc3\x41\xfa\xda\x77\xbd\x5d\xfd\xf1\xf1\xd1\x59\xdd\x8a\xa3\x42\x04\x66\x45\x6f\x9a\xd6\x4c\xf0\xda\xd9\xa0\x01\x9c\x31\xc3\x68\x9c\x24\x1a\xa3\x6a\x83\x5e\x09\xd2\x4c\xcf\x47\xed\xb8\xc9\x3d\xfa\xf3\xf6\xb6\xba\xef\xb6\x0c\xe0\x6d\x8c\x5a\x1b\x06\xaa\xde\xdb\xbf\x77\x5e\x45\x1c\x8d\x8c\x5b\x5a\x06\x2b\xdf\xdd\xc9\xbb\x17\x21\x67\x5f\xd9\x3d\xf0\x11\x4a\x69\x67\xb5\x64\x2f\x0a\x41\x6c\x75\xb5\xbc\x8f\x24\x4c\xfa\xe9\x84\x8f\x6f\xcf\x4e\xed\x39\x02\xd3\x9d\xea\x73\x80\xe3\x9b\xaa\xc0\x81\x52\x9d\x48\xf3\x67\x5a\xd5\x14\x59\x66\xa3\x28\x02\xfe\x4f\xf0\xd8\xfe\x83\x55\x71\xff\x67\x9d\xb4\xff\xfa\x71\x81\x94\x70\x9c\xe1\x63\x36\xd8\x72\x01\x69\xe9\xfe\xcf\x00\x6b\xd0\x05\x1a\x89\x3e\xd0\x19\xdc\x0b\xba\xbb\x3f\xb8\x17\xd4\x8b\x35\x82\xc1\x9b\x0e\x37\x0d\x68\x83\xcb\x0b\x1a\xc0\x1b\xc3\xa5\x6b\x01\x9a\xcf\xe7\x77\x6a\x07\xe6\x05\xe9\x53\x1d\xaf\x30\xc0\xeb\x80\x17\x34\x4c\xbf\xd7\x0b\x62\x79\x9e\x1d\xd5\x2d\x2f\x08\x22\x20\x5e\x50\x18\xb4\xff\xfa\x87\x13\x78\x41\x3d\x38\x63\x86\x11\xf3\x82\x7a\x55\x6d\xd0\x0b\x42\x9a\x71\xd9\x30\x90\x17\xee\xa6\x85\xae\x67\x8f\x42\x1c\xf0\xbe\x67\xb6\x0c\xfb\x6b\xc3\x2b\xd1\x68\x97\xed\xb6\xba\xef\xb6\x66\x8d\x75\xd9\x6e\xaf\x7a\x6f\xff\xde\x79\xc9\x1b\xef\xb2\xdd\x53\xf9\xee\x4e\xde\xbd\x62\x3a\xfb\xaa\xfb\x57\x03\x7a\x69\x3b\x20\xe8\xda\x05\xbd\x36\x17\x55\x87\xe3\x66\xc3\xc7\x37\xe9\x74\xdc\xfa\x30\x07\x1d\x37\x17\xc7\x37\x55\x81\xc3\x75\x9d\xee\x2a\x4a\x92\xb8\x3a\x9f\x76\x6a\x17\xee\x11\x6c\xc2\xe9\x67\x0a\x47\x64\xf8\x65\xd9\x58\xd1\x57\x9c\x55\x53\xfa\x31\x5d\x73\x63\xc7\xc0\xf9\x9c\xa5\x9b\x1d\xdd\x17\x95\x3a\xa4\xc5\x93\x27\x6d\xb5\x4f\x04\x95\x71\xf2\xcb\xdf\x82\x80\x04\x1f\x0c\x12\xf2\x0c\xa7\xee\xb9\x97\xe4\x90\xe6\xec\x20\x46\xef\xfb\xde\xe6\xdd\x29\xd6\x79\x0f\x3d\xce\xdb\xd1\xb3\x7b\x05\xa0\xed\x7c\x35\x0b\xea\x92\xf4\xa7\x65\x74\x3e\x37\xae\x6e\x7c\x0d\x26\xe7\x65\xc9\x68\xc7\xa6\xd2\x75\xdd\x40\x01\x3d\x31\x2e\xba\xc1\x5e\x19\x40\xd6\x43\x6c\xbb\xa0\x2f\xb6\xee\xca\x32\x64\x36\xa3\xdd\x88\xb3\x58\xd0\x60\x8c\x83\x3b\x83\xf6\x76\xab\xdd\xb2\x09\x8b\x45\x22\x4b\x7b\x80\xf1\x0a\x0c\x82\x3d\x09\x31\xe6\x2e\x18\x1c\x11\xcd\xe6\x61\xa5\x08\x07\xc0\x52\xa1\xb0\x96\x45\x27\xa0\x87\xa6\xd6\xb5\x2e\x17\x8b\xa6\x61\x83\x17\xa1\xd0\x17\x43\xe5\xf5\x07\xbd\x41\xdd\x12\xe2\xe5\x18\x9b\xd0\x7e\x39\xa0\x76\xf7\x0d\x50\x2f\x65\x7b\x74\x57\xab\xd5\xa8\x9b\x84\xc8\xeb\xc8\x60\xb4\xfd\xec\x60\x2d\x26\xa2\x8c\xaf\x27\x03\x17\xef\x6d\x5a\xee\xe9\x8c\xc0\xe1\x7c\xd2\x67\xe9\xb2\x77\x0e\x2f\xd1\xb6\x5d\xd3\xd8\x06\xf7\xce\x64\xbb\x69\x08\x36\xda\xae\x4f\xb6\x0c\x79\x99\x21\x43\x47\x2a\x04\x9b\x54\x8f\x08\x6d\x78\x9f\x08\x67\xbd\x22\x9c\xa1\x6d\x3b\x45\x68\x81\x7b\x45\x68\x37\x0d\xc1\xac\x6d\x5a\xe1\x17\x8c\xa5\x91\xb4\x53\x56\x58\x17\x8e\x19\x15\x0f\xb7\x97\x0c\x20\xfa\xc1\x7f\x33\xa6\xfb\x8c\x35\x1f\xa6\x39\x76\xa2\x70\xf8\x52\xa5\x3c\xbf\xb7\x50\xdd\xf3\xc0\x32\x2f\x4b\x6e\xbf\xa9\xcc\x2b\x4f\x73\xfa\xda\x74\x3d\xe2\x7f\xb2\x4e\x69\xfb\x91\x0a\xb9\xac\xe8\x73\x5a\x9c\x6b\xad\x82\x2a\xd2\x2a\xf1\xc3\x57\x02\x01\xac\x83\x66\x91\xd9\x13\x7c\xf5\x33\x00\xac\x95\x3b\x96\xad\xeb\x94\x9f\xd7\x30\x87\x4a\x0d\xd2\x34\xa2\x27\x6f\xba\x6c\xff\x67\x46\x4f\xda\x8c\x5a\x2d\x3e\x1a\x09\x51\x56\xae\x84\x28\x2a\x09\xbf\xa1\x5d\xc3\x79\x5a\x76\xa4\xa6\xfc\x51\x25\x63\xc8\xa7\xd1\x82\x9e\xae\x84\x73\x2d\xa4\x24\xff\x1a\x97\xfc\x5f\x48\x46\x24\x4f\x13\xfd\xdf\xd0\x53\xd9\xbc\x99\x47\x36\x59\x6a\x36\x21\x1e\xdb\xdf\x93\x57\x84\x04\x81\x9e\x9d\x64\xe6\xc2\x1a\x48\x3f\x1f\x2b\xba\x57\x5f\x1a\x18\xc8\xf9\xf6\x27\xdb\x01\x96\xe4\x90\x37\xe0\x81\xe1\x35\xf0\xb0\x66\x4d\x90\xab\x59\xfe\x96\xbd\x24\x87\x3c\x41\x2d\xd9\x63\xef\x00\x03\x3c\xac\x59\x13\xe4\x6a\x96\x3f\xa5\x2d\xc9\xc1\xc7\x71\x65\x9b\xec\x69\x53\x1d\x09\x6b\x50\x2b\x77\x86\xe3\xd8\xab\xbe\x92\x10\xf2\x9c\xa7\xd4\x2c\xf6\xa6\x22\xc0\xc3\xda\x34\x41\xce\xac\x01\xec\x59\x52\xa5\x21\xd6\xb3\x82\xd2\xa1\x60\xcf\xbd\x99\x68\xa8\x1e\xe9\x10\x57\x9b\xfc\x65\xc4\xab\x78\x50\x0e\x3f\x2a\xd6\xbd\x31\xa3\x1f\xb5\x9f\x95\xaf\xde\xca\x4e\x33\xf4\x1b\x2d\x05\xd8\xdc\x82\x36\x81\x9d\x9b\x61\x1d\x73\x4f\x6a\xde\xef\xbe\x49\xcd\x4f\xdb\x48\x4c\xe3\x84\x95\x7c\x4b\xec\x4a\x44\x33\x72\x15\xe2\x7f\xdd\xb9\x0a\xb5\xe6\x96\x1f\x34\x4c\x1b\x7a\x92\x6e\x39\xa7\xa9\x5f\x40\x56\x1f\x01\x4f\xb7\x3c\xbd\x0f\xc8\xcb\xba\x86\x2d\xc3\x71\x3e\x0b\x54\xe3\x04\xcd\x02\x5e\xa4\xee\xd8\xd1\xbf\x1b\x99\xf7\xf1\xf7\xf3\x69\x57\x34\x95\x96\x60\x6b\x06\x8f\x0c\x8b\x68\x05\xcb\x15\xc7\xb9\x4e\xf3\x23\xad\x52\xec\x3b\x83\xd9\x68\x45\xd3\x9b\x1e\xc3\x89\xf6\xe7\x31\xbc\x18\x04\x74\x54\x78\x50\x0f\x5c\x18\x89\x42\xa0\xc7\x51\x10\x68\xd5\x9f\x8e\x95\xee\x84\xc9\x59\xb9\x68\xff\x5d\xf5\x8b\x1d\xaa\x86\x75\x79\x49\x83\x5d\x90\x44\x5a\x5a\xa7\x54\xc5\x0b\xc8\xf7\x2c\x02\xe0\x75\x5c\x51\x9a\xf3\xcb\x66\xf6\x01\x2b\x5b\xe2\xf3\xc7\xd6\xcb\xbb\x83\x4d\xf3\xa2\x9d\xfe\xd8\x14\x1f\xe1\x65\x00\x38\xb7\x86\xa3\x13\xf0\x72\xc6\x0e\x91\x37\xc7\xf3\x69\x97\x93\x34\x73\x3c\xc5\x62\x1f\x6a\x8b\xe0\x55\x07\x3d\xc3\xc8\xdd\xce\xa3\xfe\x9a\x94\xf6\xc2\x1d\x47\xf2\xa6\x51\xed\x51\x52\x53\x3f\xcd\xfd\xe2\xdc\x80\x57\xf2\x1c\x48\x83\x18\x5a\xef\x3d\x96\xb9\x65\xd2\x15\x88\x44\x2e\xda\x2c\xd3\x6f\x5c\x74\xd7\xea\x49\x57\x45\x3e\xb9\xa1\x15\xa9\xc5\xa8\x2b\xc1\xd2\xa7\x48\xff\xa0\x63\x67\x1a\x93\x92\x45\xd8\xb4\x4b\x42\x5b\x7d\xa3\x8a\x64\xb4\x6a\x2e\xfa\x95\xab\x5b\x2f\x30\x63\xa1\x38\x46\xd5\x3b\xce\xcd\x03\xa4\x60\x0e\x73\x24\xfe\x1f\xfb\x55\xd3\x55\x3b\x4f\x19\xec\xa9\x9c\x88\x1f\x67\xeb\x44\xb5\x42\xf9\x5c\xc2\x97\x19\x05\xe1\x24\xad\x4f\x69\xcd\xfc\xe9\x89\x59\x94\xee\xac\xac\xfb\x33\xbc\xa2\x37\x8d\xb3\xa2\xc6\xea\x0b\x88\xcb\xe8\xb4\x46\x54\x1c\x66\x64\x0b\x11\x26\x01\xe5\x78\xc9\x61\x89\x57\xcb\x19\xe6\xd7\x27\xfb\x7d\x90\xc0\xb3\x8b\xc9\x92\xae\xe3\x25\x20\xe5\xa1\xab\x5a\xbc\xa6\xd1\x6e\x06\x51\x75\xf9\x4b\xbf\x70\xb7\x98\xb7\x7e\x04\x87\x30\x07\x4d\x39\x53\xab\xe0\x11\x7f\x4b\x9a\x26\x7b\x18\x27\xda\xc5\xf4\x71\x1f\xea\x74\x70\xc6\xc8\x92\x86\xd4\x68\x0f\xe5\x6a\xbe\x88\x96\x6b\x89\x05\xde\x86\x7f\x24\xcb\x64\xb6\xc3\xd6\x8d\x78\xff\x48\x67\x80\xb1\x3d\xa1\xbb\x38\x06\xa4\x70\xde\xf6\x2b\x1a\xee\x16\x10\x15\x61\x6f\xb9\x5c\x84\x9d\xd0\xcc\x87\xac\xc9\x7a\x3e\x9f\x47\x18\x77\x51\x42\xad\x47\xff\x5b\xde\x92\xd0\xa4\x84\x33\x47\xe7\xbb\x75\x1c\x00\x4c\x84\xb7\xc7\xf9\x6c\x31\x9b\x5f\xff\x20\x17\xc6\x6f\xf4\x6d\x5f\x91\x13\xad\xbd\xb2\x2a\x0e\x15\xad\x6b\x7f\xc7\x2e\xb3\x56\x69\x49\xeb\xcb\xbe\x2a\x4e\xba\x7b\xa9\x94\x7b\xce\xc2\x0a\xd7\xa6\x40\xa1\x81\x17\x5c\xaf\x7f\xf0\x8b\x5f\x95\xfc\xaf\x48\x7b\x2a\x29\x5e\xb4\x7b\x61\xd8\x6a\x38\x9c\xce\xcb\xb5\xf5\x32\x74\x85\xc9\x7a\xc6\xd0\x79\x43\xc9\xc6\xec\xf8\x67\x27\x0b\xac\x8c\xdb\xea\x11\x4e\x96\x84\xaa\x27\xe5\x70\xd4\x39\x6c\x0e\xe7\xde\x19\x27\xee\xe9\x9e\xaf\x5d\x9d\x32\xde\x82\x1c\x8b\x89\x58\x75\xd6\x31\x6f\xba\xe4\xd6\x18\x58\x73\x00\x74\x42\x4c\xb9\x09\x4d\x4a\x26\x5d\xa9\x28\xf1\x4c\xf9\x5a\xf7\xfa\x24\x7f\xfc\xfd\x5c\x5f\x3d\x9e\x37\x5f\x24\xf4\x30\x41\xae\x8c\x2d\x1e\xbc\x68\xf1\x71\xa2\x99\x52\xeb\xef\x45\xf0\xd1\x51\xd3\x0d\x59\x01\x1a\xe0\xef\x07\xfb\x3a\xaf\x5f\xfc\x1f\xc8\xf4\xbf\x3c\xc7\xc8\xe3\xaa\x6c\xbe\xb1\x95\x68\x1e\x98\x21\x52\x13\x62\xaa\xa4\x7a\x82\x4d\x16\x8a\x02\xa0\x90\xb2\x3d\x92\xa7\x27\xfe\x49\x8a\xad\x90\x5e\x24\x5f\x78\xf6\xd2\x7c\x9f\xe6\x69\xc3\xe6\xcd\xed\x95\x6e\xae\x01\xe7\xd9\x60\xb8\xa9\x7f\x02\x62\x04\xfe\x3d\x11\xff\x3d\x11\x2d\x8e\x81\xde\x0d\xc4\x1b\x07\x94\x0e\xd6\xfe\xb7\xc6\xfd\x5b\xe3\x86\x34\x6e\x38\xe6\x3c\xa0\x74\x08\x81\x7f\xeb\xdd\xbf\xf5\x6e\x48\xef\x06\x37\x1d\x06\xd4\xce\xae\xff\x6f\xad\xfb\xb7\xd6\x21\x5a\xc7\xa2\xd7\xf0\x4a\xb2\x28\xc6\x9e\x95\x15\x0f\x41\x30\xf8\x84\xff\xc7\xdf\x15\xc9\xdb\x05\x7e\x58\xff\x52\x14\xa7\x4d\x78\xd5\x51\x54\xd4\x9c\x65\x48\x13\x90\x62\xf7\x77\x1a\x37\xf0\x09\x72\x0e\x63\xe1\x37\xd1\xca\x93\xf6\xee\xb6\x79\x72\x22\xd4\xa8\xb5\x05\x66\x05\x76\xa9\x19\xa4\x4b\xd4\x2a\xb4\x8c\x4d\xec\xca\xa2\x1d\x24\x0b\x2a\xd8\x09\x6b\x8a\x52\x92\xe2\xe9\x19\x2e\x8e\xa4\x0d\xb2\x39\x96\x79\x0b\x6e\xa7\xb1\x52\x89\x73\xa4\xa4\x65\xf6\xd2\x93\x1a\x62\xa1\xf5\x38\xad\x1b\x78\x92\xc4\x3a\x29\xd2\x6d\x24\xf5\x67\xb5\xe7\xd9\x74\xc0\xb6\xd3\xed\x79\xea\x91\x7c\xe5\xb7\x1d\x93\x04\x1c\x8c\x79\xaf\x6f\x20\xa9\x80\x4d\xd3\x9d\xf8\x61\xe0\x2c\xe3\xc0\xf9\x4a\x62\xc9\xaf\xbb\x72\x68\x03\x3d\x58\xa0\x86\x5f\x8b\xf4\x5b\xb5\xba\x63\x16\xa0\xdc\xba\xe3\x38\xf6\xc8\x2a\x0b\x7a\xd9\x9b\x9e\xf2\x34\xcb\xc4\x09\x51\x7b\xdd\x2e\xf8\x7d\xe7\xf7\xd8\xa6\xa2\x8b\xa6\x53\x68\x43\x6c\xde\x53\x91\xf1\x3f\x34\x4c\x6a\x5b\x60\x3c\xcb\xed\xc8\xdc\xce\xef\x40\x2d\x07\xb3\x56\xaa\x01\x7c\x73\xdb\x26\xcc\xcb\x5d\x63\x2c\xa0\x3d\x87\x54\x6f\x3c\x95\x8a\x37\x70\xc3\xa8\x0d\x54\x78\x9a\xd6\x27\x92\x65\xb7\xd7\xeb\xad\x76\xb3\x6e\x8d\xaa\x36\xc0\xeb\x50\xed\xfe\xca\xfd\x4a\x7d\x67\xb5\x21\x8e\x07\x6a\xb3\xca\x43\xf3\xc9\x35\x50\xf8\xbc\xe8\x17\x55\x6f\x9d\x11\x33\x29\x5e\x25\x09\xb5\x8f\x72\xdc\xb8\x29\x68\xaf\xee\x38\x01\x37\xde\xd8\xc5\xc9\x49\xc0\x65\x4e\x14\xdc\xbc\x6f\xed\xec\x4f\xc0\xf6\x33\x9d\x64\xba\xcd\xf1\x7e\x84\x21\x76\xcc\x75\xa7\x7f\xb5\x11\xbc\x9a\xab\x0d\x97\xa7\x45\xfe\x86\xdd\x52\xa4\x93\x76\x6d\x07\xd2\xfd\xc3\xd5\xd6\x76\x0a\x87\x01\xcd\x81\x72\xf5\x21\x9e\xd3\xd9\x1e\x71\x2b\x18\x0d\xf7\x28\x69\xd0\x5e\x2e\x6e\x19\x1f\xc1\xa2\x39\x3e\x5c\x7a\x16\xed\xdb\xf6\x8d\x91\xee\xa1\x04\xdc\x78\xf7\x0f\x94\x20\xe0\x94\x92\x84\x1b\x12\x72\xf7\x87\xec\xa3\x38\x76\x37\xe3\x1e\x31\x13\x61\x88\x9d\x1b\xc6\x4d\xf2\x6a\x8c\x9b\x90\xa7\x45\xfe\xa6\x0d\x75\xa4\x9b\x58\x7d\x27\xda\xfd\x83\xc6\xeb\x3b\x85\x24\xc0\x86\x70\x9c\x7d\xa1\xbb\x38\x46\x87\x8c\x53\x71\x8f\x98\x01\x1f\xe0\xe5\x86\xf1\x92\x8c\x1a\xe3\x25\x24\xe9\x14\xd8\xd0\x07\x28\x6a\x1b\xed\x67\xd2\x8c\x37\x98\xaf\xd3\x92\xe4\x56\x76\xc5\x28\x18\xff\x85\xd8\x7b\x7c\x09\xdb\xc5\xe6\x9b\xee\x21\xd8\x74\x0f\xcc\x0d\x6c\x27\x92\x60\x98\x47\x30\xf4\xb3\x56\x12\x20\xa5\x65\x7f\x05\x8f\xc9\x8b\x3a\x7c\x7f\x05\xbb\x60\x02\xda\x46\x1f\x81\x11\x09\x14\x80\x3f\xc5\xeb\x35\x69\x93\xd1\xbe\xf1\x0d\xf4\x43\x06\x4b\xfb\xf4\x93\x46\x46\x79\x7d\x76\x19\xbf\x48\xd1\x95\x82\x3f\x91\x7a\xa2\x1a\xce\xf5\xbe\x28\x9a\xee\xda\x8c\x2e\xe8\x81\x43\x1c\x66\xea\x5a\xe4\x2d\xb0\x81\x0b\x3c\xc8\xdd\xa1\x9c\x66\x4f\xda\x04\x98\xc8\x22\xce\xa9\x4c\xf6\xa0\xa3\xd8\xc7\xdf\x2c\x2a\xd6\xda\x35\x82\xac\x55\xe7\x62\x67\x6f\xdf\x5a\x2f\xf8\x5a\x4d\xeb\x21\x16\x8b\xa4\xf9\x7c\xeb\x20\x4b\xa3\x69\x5d\x8c\xf7\x38\xbe\x6b\x2a\x18\xed\x77\xa1\x1d\xbb\x79\xfd\x75\xd3\xe1\x9e\x8c\xa3\x04\x1f\x36\x7a\x0f\xed\x92\x73\xfb\x73\xdf\x58\xbb\x02\x63\xe2\xd4\x90\xbe\x44\x7f\x36\x27\x11\x86\xec\x10\x47\xc3\xcf\x5f\x0a\x28\xf2\x97\x5f\xd1\xba\x2c\xf2\x9a\x1d\x8f\x67\x25\x4e\x5d\x47\x69\x7b\xe2\xa0\xab\x49\x15\x2f\xb5\xdb\xf2\xc0\x31\xd9\xde\x37\x71\xae\x2e\x62\xe6\xa3\xa3\x0c\x8a\x6a\xbd\x05\x19\x71\x03\xb1\x57\x6d\x6f\x64\xe4\xa9\x69\x0d\x91\x59\x52\xb9\x39\xbd\x85\x70\xab\x70\xa3\x09\x7f\x07\x4f\x37\xb5\xfa\xaf\x26\x5e\xaf\x49\xde\x47\xda\x83\xed\x1c\x7f\x93\x51\x7d\xb7\xfe\x0c\xb6\xd3\xd3\x9f\xf7\x1b\x81\xf7\x93\xf1\xfb\x49\xf1\x7b\xe4\xd4\xa3\xfe\xbf\xaa\x8a\x23\x56\xf2\xd7\xd0\xf0\xf7\x68\x66\xc4\xd0\xfc\x26\xcd\xb8\x7b\xf3\x6e\xd2\x7f\x37\xf9\xbe\x9b\x04\xbf\x43\x46\x7d\x17\xe8\xdd\xba\xad\x3f\xe0\xcd\x39\x70\xb2\xe6\xf2\xcf\xee\xf5\xf6\x6f\xe2\x45\x0c\x8f\x5e\x50\x8d\xd2\xc3\x7e\xa2\xad\xf7\x36\x92\xe8\xbd\xcc\x8c\x6f\xef\x5f\x4f\xac\xa3\xad\xd9\x77\xb5\x31\xd2\x32\x7f\xc7\x48\xbe\x53\x3f\x06\xda\xe8\xb3\x7e\xef\x23\xf2\x77\x92\xea\x3b\x09\xee\x6e\xd9\x5c\xfe\x39\x9a\xfc\xfd\xcb\xc5\xa0\xc8\x7f\xe5\x15\xe9\x7d\x7a\x31\x38\x54\xdf\xbf\x04\xf6\xda\xb8\x77\x91\xe8\xfb\x08\xed\x5e\xb9\x0c\x2c\xd5\xe0\xfb\xbc\xed\xe4\x67\xf0\xa5\x6f\x41\xb4\xf1\x33\x79\xfc\xac\xe1\x3a\x87\x5c\x47\xba\x38\xc3\x74\xe6\xd4\x1a\xe3\x3b\x4d\x6e\xad\x71\x34\x82\x50\x60\x2e\x73\x10\x75\x6b\x2e\x44\x94\x4f\x46\xbb\x08\x71\x86\x9e\x9a\xea\xa9\x77\x85\x47\xd0\xfb\x8c\x4e\x87\xde\xaa\xc4\x0d\xd4\x15\xfa\x38\xea\xad\x7f\x77\x03\x75\x85\x3e\xce\x60\xde\x29\xab\x51\x04\xee\xe5\x60\x94\x3c\x47\x11\xb8\x97\x83\x51\x32\x1f\x45\x00\x35\x69\xf2\x6d\xa6\x61\x6d\x75\xae\xe3\xa8\xb8\x47\x60\x6b\xb2\xbd\x05\x7b\x14\x6d\x4d\x6a\xb7\x60\x8f\x32\x88\xf7\x49\x69\xa4\x9a\xde\x55\x7f\x8c\x24\x47\x2a\xe9\x5d\xf5\xc7\x48\x7b\xa4\x8a\xda\x26\x4b\xbe\x10\x34\xa0\x74\xe6\x22\x3f\xa8\xa3\xe0\xc3\x75\x48\x35\xc6\x52\x47\xd1\x21\xf5\x11\xaa\xd0\xdf\xde\xcd\x04\x6e\xe1\x60\x54\x8f\x6f\x26\x70\x84\x7b\x24\x83\xe3\xa9\x3b\x36\xc3\xc3\xa9\x63\xbb\x47\x53\x28\xfa\x48\xda\x18\xf6\x3d\x63\xd9\xd7\xda\xad\xf5\x6f\x69\x7f\x4c\x6f\x6f\xad\x3f\x34\x8e\x1d\x3d\xc7\xa9\x6a\x55\x03\xdd\x15\xe5\x07\xd0\x35\xb8\xc7\xff\x70\x1d\xd1\x36\x33\xcc\xc2\x5a\x9f\xcd\xca\x2a\xbb\x88\x8d\xa9\x76\xf1\xf1\xde\xa1\xb8\x9f\x7b\x36\x0e\x27\x37\xd5\xbb\xc1\x15\x36\x29\x5a\x9b\x79\x0e\x8e\x39\x1e\x6c\xd8\x43\x1a\xb6\x0e\x2b\xe8\x6d\xab\x8c\x7a\x58\x62\x55\x0d\xe1\x09\x08\xb5\x3b\xca\x3e\xb8\x55\x3f\x96\xe6\x48\x21\x8e\xa6\xe7\x99\xb9\xbb\x24\x53\xf8\x0b\x11\x28\x21\x5c\xc6\x18\x5f\xe2\x23\xcc\x66\x4d\x65\x0f\x44\x0f\x47\x1b\x38\x0e\x11\xdf\x71\xe6\xba\x8f\xec\x8d\x52\x1e\x43\xd2\xbb\x25\x49\x1a\x4a\xe8\x5e\x41\x9b\xdc\xa9\x2b\xe8\x68\x4a\x1e\x03\xc7\xa5\xce\x77\x25\xfb\xe9\xa3\x7c\xab\x52\x8f\x20\x09\xc4\x2d\x59\x73\x1c\x94\x75\xd0\xba\x5b\xb5\x0d\x06\xf9\xfd\x6b\x34\xcb\x50\x87\xe0\x92\xf5\x5d\xc9\x8b\x9c\x64\x6f\x14\xf4\x20\x3d\x28\x65\xc1\x94\xe3\xb8\x2b\x46\xe8\x5e\x11\x9b\xac\xa9\xdb\xc6\x68\xca\x24\x03\xc7\x21\xe8\xfb\x92\x31\xf5\x51\xbe\x51\xd6\x63\x48\xc2\xc5\x5a\xb0\xe6\x38\xa5\xea\xa0\x75\xaf\xc4\x4d\x06\xe5\x45\x5b\x34\x0b\x94\x8e\xe2\x90\xf7\x7d\xe9\xa5\x7a\x08\xdf\x28\xee\x11\x14\xa1\xb4\x05\x63\x8e\x33\xa6\x38\xa9\x7b\x85\x2d\xd9\xa3\xa7\x1d\x4d\x74\xe7\x72\xe8\x4e\xa2\x38\x71\xda\xa5\x08\x0d\x60\xea\x27\x9b\xa8\x67\x95\x88\x43\x78\x16\x22\x2b\x40\xca\x53\x96\xdf\x0a\x01\xf0\x5b\xae\x08\xe0\x39\x4d\x68\xd1\xf5\x86\xec\xea\x22\x3b\x37\x3c\x05\x5d\xeb\xe5\xca\x53\xb4\xfc\xb6\x66\x97\x77\xd2\x48\x08\xd5\x79\xd6\x90\xbe\xdd\xa3\x70\xb9\x7b\x5b\x5f\xc0\xd3\xd4\x8b\xe5\x34\x5a\x7c\x1c\x53\x7d\xbe\x7b\x9b\xc1\xda\xab\xb6\xea\x0b\xcd\xb2\xcb\x29\xcd\x8d\x4c\x54\xea\xa8\xe6\xda\x91\x9b\xb0\xdf\x1b\xd4\xdd\x50\x3a\x6b\xff\xdd\x9e\x96\x6b\xe0\xdc\xef\x00\x2a\xef\x97\xc7\x74\xea\x1f\xe7\xa2\x41\x9e\x65\x35\xa7\x28\xc8\x7c\xc5\xeb\xfb\x59\x77\x3c\x38\xd2\x6e\x90\xea\xb9\x46\x19\x5e\x7d\x32\x92\x3d\x9a\x68\x2c\x4e\xcf\x53\x16\x6a\x59\x62\xfb\xf2\xa5\x3a\xf3\xfe\x06\x81\x48\x30\x6f\x9c\x7e\x0e\x3c\xe6\x3f\xee\xd3\xac\xa1\xd5\x86\x64\xe5\x91\x7c\x2a\x4a\x12\xa7\xcd\xdb\x4f\x51\xf0\xb0\x15\xbf\x37\xd3\x48\xf0\x21\xef\x05\xf2\x3f\x8c\x63\xe8\xaa\x85\xfe\x34\xbb\x78\x63\x0b\xbd\xb1\xc5\x75\x77\x6e\x9a\x22\x17\x5d\x57\xa9\x92\xca\x92\x92\x8a\xe4\xb1\x78\x43\xa7\x9b\xe7\xa0\x85\x4e\xc7\x36\x81\xa7\x7f\x85\x9e\x8a\x84\x64\x7e\x51\xd2\x1c\x5e\x5e\x17\xb0\x6e\x5a\xb2\x37\xd0\xc5\x9c\x94\xaf\xb7\xc3\xb9\x29\xef\x3f\x86\xc1\x3c\xd8\xea\x19\x8e\xad\x9c\x73\xb2\x0b\xb2\xdc\xaf\xe3\xaa\xc8\xb2\x96\xfb\xa6\x38\xc7\xc7\x6d\x71\x6e\xda\x61\x53\x4c\x4e\xf7\x24\xa1\x9e\x60\x38\x49\x49\x56\x1c\x2e\x48\x4a\x35\xa3\x88\x3f\x74\x3f\x13\xc9\x4e\xed\x84\xa9\xf2\x2f\x1b\x4f\x43\x72\x51\x82\x0d\x71\xc4\x8c\x34\xf4\x53\x30\xf1\xa3\xc5\xc7\x87\xad\x7f\xaa\xfb\xe1\x45\x2f\xb8\x07\x26\x85\x92\xe6\x7d\x22\xb1\xea\x06\x7d\x3c\x05\x3d\x0c\x05\x2e\x6e\x82\x07\x5d\x89\x04\x33\x4a\x97\xfc\x57\x39\xde\xaa\xe4\x8d\xe7\x8b\x35\xb9\xb6\x2d\x19\x5f\xe5\xb5\x5c\xb3\x32\x63\x01\xab\x26\xde\x6a\x42\xea\xe1\x17\x28\x90\x5c\x66\x71\x96\x96\x9b\x6e\x11\x37\xd7\x61\x0b\x66\x2d\xc5\xeb\xf5\xda\x2e\xd5\x17\xbe\xe8\xc1\x5e\xe1\x3a\xa5\xc6\xef\x68\xcc\xca\x57\x6f\x0d\x16\x60\x78\x45\x03\xc7\x91\x82\x69\x3b\x91\x54\x45\xe9\xb4\xa6\x72\xe6\xca\x17\x94\xec\xb7\xe4\x82\x00\x12\x63\x53\xef\x82\xae\x52\xda\x22\x65\x57\x4b\x73\xbc\x12\x58\xda\x44\x35\xf1\xe2\xa1\x66\x3e\xc3\xe5\x74\x3e\xd3\x2d\x68\xdf\x85\x92\x1f\xd8\x1b\x04\x80\x9a\x4c\x6f\xab\x05\xbf\xfc\xa8\x53\x23\xfd\x0a\x88\x75\x4d\x47\x26\x73\x56\xdd\x62\x97\x5f\x2c\x85\x33\xaf\xc3\x70\x54\x78\x49\xa3\xe5\x5b\xcb\x42\xc9\x6d\x16\x1e\xe5\x32\x7b\xc1\x09\xb1\x67\xd7\x3e\xb7\xff\x63\x85\x00\xf5\x3c\xcc\x16\x03\xfc\xb9\x36\x11\x04\x83\x24\xd4\xb3\x5f\x58\x1d\x66\xeb\x3f\x77\x3f\xcd\x77\xb7\x64\x0d\xbe\x64\xef\x48\xe5\x9f\x28\xa9\xcf\x15\x75\x68\x9d\xbf\x5e\xaf\x5b\x53\xce\xe7\xf4\xa2\x75\x7a\x84\x94\x17\x46\x3a\x52\x4e\xaf\x7b\x4e\xd3\x4a\x21\x6e\xac\x19\x1c\xb4\x0c\xba\x24\xa7\x3c\x85\xbb\xbe\xbc\xc8\x75\x02\x9d\x6d\x0b\x71\x75\xa6\x77\xba\x39\x90\x94\x08\x4e\x82\x8f\x19\xcb\xe7\x82\xf0\xbe\x5e\x47\x1a\xef\x99\xe4\x7b\xcd\xf1\xa7\x4d\x51\x64\x4d\x8a\xcd\xd7\xce\x96\xae\x02\xe0\xd8\x33\xff\x66\x4f\x4e\x69\xf6\xb6\xf9\xf0\x9f\x34\x7b\xa6\x4d\x1a\x13\xef\x2f\xf4\x4c\x3f\x4c\xd4\xdf\x93\xff\xa8\x52\x92\x4d\x6a\x92\xd7\x7e\x4d\xab\x74\xdf\xf7\x3c\xc2\x1c\xba\x49\xd3\xf9\xf6\x39\xad\xd3\x5d\x9a\xb5\xd3\x94\xfd\xcc\x28\xee\xaa\x98\x8b\x80\xe8\x91\x73\xf6\xaf\xf5\xd9\xbf\xee\xf0\x9b\xa2\x34\x1e\x4b\x52\xca\xcd\x54\x88\x39\x7e\x12\xd5\x48\x80\x23\x5e\xf2\xb3\x32\xfc\x4b\x64\x91\x6e\xc6\x49\xda\x40\xd6\x33\xe5\x20\x84\x0d\x36\xfc\x34\x37\x73\xe1\x47\x01\x7c\x93\xe2\x71\x28\x13\xed\xc8\xd4\x24\xad\x27\x89\x44\xfb\x25\x23\xa4\xaa\x8a\x17\x44\x85\x40\xe2\xdc\xc0\x74\xd3\x91\x2b\x78\x3c\x5f\x0e\x5b\x8a\x8c\x81\xf1\x40\x53\xa6\xdf\xb7\x08\x3e\x9a\x52\xd2\xd6\x69\x31\xe7\xf9\xdb\x14\x9e\x71\xc1\x49\x37\x38\x5a\x5b\x8c\x06\x6c\x50\x3d\xf0\xb0\x85\x4b\x9f\xcc\xaf\xf3\x7d\x6d\x32\xfa\x03\xbd\xb4\x73\xfa\xdc\xdf\x26\xda\x1e\xdb\x9b\x09\x3e\x6e\xcd\xb4\x44\x4c\xfd\x9d\x2d\x19\xad\xf1\x23\x4d\x58\x7b\x98\x4c\x65\x73\xd2\x25\x18\x6c\x2f\x90\x2d\x6e\xb5\x83\x13\x68\x73\x5c\x40\x58\x83\xa3\x55\xc6\x6a\xcc\x0c\x8a\x20\xcd\xa1\x8a\xa3\x7b\x3d\xda\x08\xe2\x9d\xbc\xa3\x4d\xe7\x40\xda\x5a\x73\x7f\x9b\x65\x51\xb2\xef\x4a\x97\x53\x67\x7d\x7d\x2d\xc1\xd7\x97\xb6\x46\xad\x96\xba\x47\x25\xad\xc0\xf7\x19\x93\xf9\xb0\x31\x91\x2f\x63\x68\x4b\x20\xcf\xed\x6d\xbc\xb3\x53\x9d\x48\xf6\x9b\xb9\xf0\x71\x1c\xdf\xe1\xc2\xbb\x5d\x89\x00\x78\x09\x11\xe6\x4a\xd8\x48\x6a\x78\x99\x05\xd4\x75\x85\x7f\xf1\x48\x28\x37\x7a\xfa\xa4\x31\xe1\xc2\xce\xe9\x69\xec\x0c\x38\x33\x6d\xa6\xf3\xa7\xc3\x85\x33\x6c\x3c\xdd\xdb\x3d\x7a\x62\x5e\x86\x76\xbc\x8f\xb7\x6a\xff\xf5\x38\xe8\xbb\xf6\x1f\x10\xa9\x5a\xc3\xbc\x4e\xcf\xbb\xcf\xbb\x2e\x0e\xc4\x98\x51\x18\x4f\x53\x36\xd1\x26\xe0\xef\x0d\xd9\x37\xe8\x34\x31\xdd\xa7\xef\x33\x8b\x66\x93\xe0\xa6\x71\x68\x33\x29\x98\x52\xcf\x0b\x7f\x30\xe7\xbf\x39\x48\x4d\x51\x76\x84\x45\xe2\x38\xf6\x34\x2f\xba\x68\x32\x90\x6d\x69\xba\x6f\x53\xad\xd4\x50\xba\xc5\x03\x58\x6d\xba\xfb\xaf\x16\x23\x82\xff\x6e\x3c\xb7\x96\x12\x75\x6f\x27\x7b\x1f\x10\x7e\xb4\x77\x48\x5d\xcd\x31\xe5\x96\x3d\x37\xec\x20\xef\xa4\x31\x2d\xb4\x5e\x1b\x16\x4f\xeb\xb7\x5e\xee\xe8\x39\x33\x5e\xbd\x8c\x98\x3d\xe7\x3d\xe5\x13\x0f\xef\xb2\xc1\x8c\xd6\x69\xbc\x25\x4e\x56\xef\xf3\x2d\x43\x2d\x75\x18\x35\x1a\x9a\x20\x0c\x00\x90\x84\x83\x17\xd1\x6d\xf1\x61\x3a\x7e\xb4\x7b\x59\xe2\x5b\xd9\xda\x52\x04\x07\x5b\x3c\x33\x33\x62\xb4\x41\x3b\xba\x13\xa2\x75\x5c\x2b\x76\x76\x5b\xe3\x43\x74\x5a\xdc\x9b\xee\xfc\x4c\x67\x8f\x07\x79\x61\x3d\x8e\x49\x55\x9c\x6b\xec\xa9\xc6\x0e\x26\xbe\x23\x5c\x31\x30\xb6\xbb\x61\x05\x67\xcd\xca\x4f\xd3\x81\x24\x95\xcc\x0b\x40\xc2\xa5\xf2\x11\x09\xf1\x12\x94\xc7\x6c\xb2\x19\x24\x45\x51\x06\xe0\x38\x7f\x4f\xe2\x71\x29\x14\x96\x9e\x0e\x17\xc3\x67\x90\xdf\xd2\x24\xcb\xf8\x93\x62\x2a\x00\xe9\xcf\x92\x87\xc9\x27\x2b\xd2\xd9\x16\x5f\x70\xc1\x8c\x0b\x14\x2f\xfb\x1e\xd7\x32\x63\xc5\x4b\xe7\x13\x5b\x3d\xf4\x34\x0f\x66\x4f\x62\xea\x6b\xdf\xd7\xda\x4b\x2c\x0e\x90\xac\x5d\xd2\xaa\x2e\x29\x4f\x7a\x13\xb6\xdf\x85\xb0\x00\x97\xbd\xc8\x93\x33\x15\xe9\x64\x51\x94\x9c\xbe\x36\x17\xe1\x4b\xf6\xc4\x91\x67\xc9\xa7\x56\x27\x27\xae\xa8\xb0\x0e\xef\x67\x86\x27\x9b\x45\x31\xca\x8a\x3e\x8f\xe3\xc5\x1f\x62\xc6\x1f\xc7\x4d\x8f\x50\x86\x18\x15\xbe\xd9\x28\x76\x83\x3e\x56\x39\xf0\x6a\xf3\xe9\x62\x31\x67\xe9\xfb\x60\x29\x13\x1e\xc8\x26\x8c\x53\xbc\xc8\x88\xde\x0d\x84\x5d\x5f\x21\xda\x83\x80\x28\xb9\x8b\x70\x5a\x31\x78\x37\xdc\xbe\x9b\x80\x63\x18\xac\x11\x70\x75\x96\xbb\xc0\x7d\xad\xe8\x93\x04\x65\xb7\x35\x04\x55\x91\xdd\xba\x59\xbd\xd0\x1f\x2c\x1a\x7e\x9f\xc8\xde\x96\x84\xcf\x25\x2d\x1f\x46\xed\x1a\x5a\x8c\x73\x11\x8c\x4e\x89\xce\x04\x6e\x46\x3e\xbd\xc0\x28\x08\x82\x20\x7c\xf0\x5a\x29\x8d\xcb\x57\xfe\xbd\x14\x05\xa3\x1d\x3d\x46\x7f\xc2\x3e\xfd\x9b\xa2\x9c\xf0\xef\xf1\xf6\xd7\xbe\x2a\x4e\x9f\xcc\x96\x1e\x26\x4d\xf1\xc9\x6a\xeb\x61\x44\xd2\xf2\xa6\xf0\xf8\xca\x39\x9a\x75\x31\x3c\x65\x55\x1c\xd2\x64\xf3\x5f\xfe\xe7\x9f\x5a\xba\x7f\x95\xb3\x7e\xfa\xe7\x34\xae\x8a\xba\xd8\x37\x53\xd5\x46\xdd\x90\xaa\xf9\x63\xab\x17\x75\x53\xfd\xf4\xe3\x0f\x8f\x01\xff\xbf\x1f\x27\x1e\xcd\x13\x0d\x10\x74\x80\xff\x26\x2a\xff\xf5\xad\xa4\x3f\x85\x46\x47\x2a\x5a\x52\xd2\x6c\xf8\x7f\xfc\x57\x44\x17\xb8\x9a\x1b\x3b\x42\x6c\xc3\xed\x7e\xf5\xe0\x02\x08\xa0\x94\xbe\x43\x3d\x6e\xa4\xf8\x1d\xea\xc1\x75\x01\x6a\xc8\xe2\x7e\xf5\xe8\x65\xfd\xfb\xd5\x23\x70\xa9\xc7\xe3\xfb\xa8\x87\x3a\xd8\x00\xcb\xc7\x3d\x25\xec\x8e\xfd\xab\x3d\x50\x7d\x17\x00\xb6\xe2\x4d\x0f\xd9\x5b\x79\x4c\xe3\x22\xf7\xe3\x23\x7d\xae\x8a\xdc\x07\xcb\x7f\x0f\x26\xf4\x72\x14\x2a\xc3\x02\xb6\xcd\x04\xf6\x98\xb8\xf6\x33\x45\xc6\xd8\x16\x5b\xec\x7d\xea\xef\xeb\x47\xd7\xbe\xe3\x1b\x90\x85\x0a\xde\xa7\xff\x32\xa2\xde\xb5\x21\x3f\xc0\x1c\x8d\x8c\x94\x9c\xdc\x09\xe9\xf6\xf8\xf4\x57\x08\x55\x58\xcb\x88\x3a\xf2\x78\xa2\xe9\xfc\xf7\x35\xb2\xd9\xd1\x7d\x51\x51\x15\x52\xf9\xf1\x6f\x51\x30\x5b\xff\xd8\xcb\x35\x5a\x87\xfc\x68\xb8\x00\x49\x1a\x93\xa6\xa8\x6a\x64\xf8\x65\xf4\x23\xd0\x3f\xd0\x55\xbc\x75\xb1\x95\x9b\x91\x1f\xb7\xf8\xdb\x02\x62\xf7\x28\xf8\x88\x58\x7b\xeb\xa5\x02\x84\x25\x2f\x4b\xf1\x07\xd1\xb5\xc7\xd0\xd5\x69\xb8\x2e\x6a\x17\xca\x8d\xe7\x96\xd1\xbc\x61\x3b\xb1\xad\xf3\xe1\x3a\x1d\xa4\x45\x9d\xbd\xbf\xad\x6d\x80\xb6\x94\x05\x0f\x48\x48\x55\x0b\x7a\x18\x0f\x9f\x63\x3d\x92\x1e\xa8\xe8\x41\xa4\xf5\x20\xd2\xe3\x8e\x8e\x63\xf1\xdd\x58\xcb\xd4\x67\xd6\xa0\xc9\x24\x68\x1f\xb7\xc6\x93\xcd\x3c\x0f\x9a\x36\x7c\xea\x80\x24\xd3\x4f\xfd\xd0\x9e\x71\x50\xef\xbb\x5d\x36\x9b\x69\xb6\xdb\x7e\xd1\xeb\x32\x0d\x18\xf5\x9e\xf6\xbf\xd6\x8a\x29\x77\xc1\xbb\x51\x9c\x59\xf3\xde\x7c\xd9\x7c\x36\x7a\x35\x1b\x5e\x2f\xcd\x65\x72\xf1\x8e\xcb\x24\x58\x1c\x01\x69\xa1\x7a\x95\x58\xe8\x44\xc8\x32\xd2\x96\x01\xed\x11\x79\x7c\xad\xd1\x2f\x7d\x5d\xbb\x03\x1b\xbe\x7c\x1e\xe5\xa9\x2b\xe3\x31\xaa\xc9\x00\x12\x5f\xe8\x38\x56\x53\x14\xd9\x8e\x54\x7a\x45\x59\x24\xd1\xe2\x8c\x92\x6a\x9f\xbe\x4a\x1c\xf5\xb7\x42\x30\xdf\x61\x57\x78\xa0\xd8\x42\xb7\x10\x15\x4a\x92\xf9\xc7\xa2\x4a\x7f\x69\x01\x99\x97\x28\x92\x56\xb9\xac\xc0\xa2\x3b\x1a\x88\x17\x18\x32\xe9\x43\x91\x64\xf4\x73\x2e\xb2\x9e\x51\x26\x11\x73\xf2\x2c\xe1\xed\x4f\xad\x78\x47\x2a\x75\x72\x5b\x43\x31\x8a\x01\x3a\x3f\x89\x04\x90\x45\xa1\x89\x6a\xe2\x28\x60\x49\x0e\x5d\x7d\xfe\x47\x07\x92\x47\xc7\x3b\xb8\x2a\x91\x48\x2a\xba\xc9\x7f\x0a\x43\x68\x3c\xeb\xa3\x07\x38\x6f\x50\x42\xa0\x5e\x96\x2a\x0d\x68\x8e\x73\xdc\x47\x8c\x29\x36\x7c\xda\x90\x39\x86\x06\x1d\x04\x53\xea\x86\x9c\x6d\xa1\x6a\x82\x14\xfb\x3a\x6d\xa7\x37\xbb\xa2\x39\x5e\xa7\xdc\x16\x88\x23\x53\xe6\x9e\xd3\x88\x27\xf4\xf5\xc7\x9d\xb4\xc3\xcd\xbf\x4b\x4f\x65\x51\x35\x24\x6f\xae\xda\x6b\x4e\xdd\xf3\xc8\x3a\xfc\x98\x26\xdd\xc8\xb6\xa6\x44\x07\xd6\xc7\xe2\xc5\xe4\x4a\x87\xa6\xb9\x38\xe3\x73\xb1\x62\x8f\xd7\x29\xb3\x50\x8c\x78\xbb\x7e\x6f\x82\x2f\x81\x47\xb6\xf6\x76\x19\x34\x64\xb6\xed\xb6\x37\xd7\x36\x01\x63\x3b\xa1\xb9\x83\xf1\xad\xc5\x8f\xce\x36\xd9\xef\xd3\x57\x70\x48\xf9\xfa\x07\xff\x54\xfb\xcf\x29\x7d\x69\xd1\x84\x69\x4a\xe8\x73\x1a\x53\x6e\x43\xaf\x53\xd1\x57\x3f\x3b\x4c\xd4\xef\x53\xd2\xfd\xae\x4f\xdd\xef\xd7\xda\x29\xd2\x8e\x0c\x1f\xf4\x89\x5e\xc2\xfd\x34\xa4\x08\xe2\x9e\x12\xa4\x04\xd6\x56\x45\x10\xb7\x3e\x21\x25\xb0\xb6\x2a\x82\xb8\xaf\x35\x52\x02\x6b\xab\x22\xa0\xda\x40\x1c\xea\xf0\x9b\x3a\x6d\xb0\x5a\xae\x98\xaf\x82\x88\x12\x2a\x20\x5b\x87\x30\x44\x06\xb8\x36\x95\x13\xe6\x57\xc5\x8b\x4e\x28\xd1\x30\x27\xcd\xd1\x5d\x2f\xa6\x59\xa6\x55\x1c\xc5\x3f\x36\xb9\x6f\xa6\xc1\x85\x09\x1c\xfa\x3b\xa9\x00\x86\xf4\x42\x94\x22\xf0\x23\x85\x77\xa9\xda\x59\xaf\x43\xa3\x9d\xfa\x34\x72\xc4\x34\x44\x6b\xc4\x20\xcc\x3d\x62\xf5\x49\x1f\x31\xab\x9e\x73\xc4\x6e\xee\xd5\xe8\x71\xbc\x9d\xf2\xf8\xd1\xbd\x97\xf6\xdd\x63\xce\x0f\xa3\xc2\x76\xc2\xb0\xfd\x2a\xd4\x1a\x3a\x25\x23\x07\x5d\x43\xb4\x06\x1d\xc2\xdc\x83\x7e\x4a\xf4\x41\xb7\xea\x0d\x0f\xfa\xe8\x6e\xdd\x3e\xea\xe3\x49\xdf\x31\xec\xb7\x12\xbf\x7b\xdc\x43\x76\x34\x55\x23\x99\x1d\x46\x8e\xb0\x86\x68\x8d\x30\x84\xb9\x47\x38\x3b\xe8\x23\x6c\xd5\x1b\x1e\x61\xa4\x03\xb7\x8f\x25\x46\xe4\x8e\x51\x73\x93\xb9\x75\x7c\xac\xd5\x9d\xfb\x37\x3d\x1e\xc7\xcd\x6b\x87\xa0\xa8\xad\xa4\xc3\x14\x07\xd4\x52\x90\xd4\xe6\xe9\x30\x49\x25\x33\x51\x59\x53\x01\x58\x59\x89\xb5\xac\xd2\xbc\x19\xf0\x35\x38\x8e\xa3\x4a\xbf\x66\x9b\xb8\x96\x72\x23\x60\xb7\x7e\x33\x64\x5d\xc5\xb1\xda\x50\xcb\x4d\xe4\x51\xae\x15\xd6\xdd\xa1\x79\x00\xb0\x81\xc2\xdf\xd0\xce\xe0\x54\x41\xf1\xef\xef\xd7\x3d\x73\x4a\x10\x12\x5a\xd6\xab\x41\xd7\xff\x3f\x00\x00\xff\xff\x86\x26\x20\xab\x9e\xc9\x01\x00") + +func assetsCssBootstrap332MinCssBytes() ([]byte, error) { + return bindataRead( + _assetsCssBootstrap332MinCss, + "assets/css/bootstrap-3.3.2.min.css", + ) +} + +func assetsCssBootstrap332MinCss() (*asset, error) { + bytes, err := assetsCssBootstrap332MinCssBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/css/bootstrap-3.3.2.min.css", size: 117150, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsCssJqueryUi1104SmoothnessCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x3d\xfb\x6f\xe3\x36\x9a\x3f\x4f\xfe\x0a\x6e\x8b\x06\x6d\x10\x25\xb2\x63\x27\xb1\x83\xc1\x61\x3a\xdb\xbd\x1d\xa0\x8b\xbd\xed\xf6\xee\xd7\x01\x2d\x51\x36\x37\xb2\xa8\x25\xe9\x3c\xa6\xe8\xff\x7e\xe0\x4b\x22\xc5\x97\xd2\xf6\x70\x09\x66\x60\x53\xfc\x1e\xfc\x5e\xfc\xf8\x91\x54\xae\x2f\xfe\x04\xfe\xf5\x8f\x13\xa2\xaf\xe0\xbf\x3f\x81\x02\x3c\x2d\xae\x16\xe5\xd5\x0a\x14\x60\x59\x2e\x56\x45\xb9\x28\x16\x77\x67\x17\xe0\xc0\x79\xbf\xbd\xbe\xfe\xd7\xbf\x45\xcf\x13\xbe\xaa\xc8\xf1\xec\x02\x7c\xea\xaa\xf6\x54\x23\xb6\x05\xea\xc1\x95\x7c\x42\xd1\x55\xc5\xd8\xa5\xd5\x06\xab\x8a\xd0\x1a\x93\xce\x7b\x70\xe2\xa4\x22\xc7\xbe\x45\xdc\x03\xda\x9d\x38\xf7\x21\x6a\xc8\x51\x8f\xab\x47\x44\xbd\x27\x18\xb6\x64\x3f\x6d\x3d\xa2\xee\x34\x6d\xeb\x29\xd9\x53\xc4\xd8\x0e\x7a\x48\x28\x62\xf8\x0b\xdc\xb5\x1e\x37\x0c\xb5\xa8\xe2\xc1\x27\x2d\xae\x7d\x6e\x58\x8f\xbb\xce\x6f\xe6\x70\xc7\xbc\x36\x42\x5a\x8e\x7b\xaf\xf9\x80\x8e\x92\xd8\xd9\x05\xf8\x99\x80\x27\x8c\x9e\x01\xec\x6a\x70\x24\x35\x6e\x5e\x01\x3f\x60\x06\x64\x9f\x4b\xf0\x84\x19\xe6\x21\x1d\x5d\xcb\x0e\x94\xb4\x2d\xa2\xd7\xff\xd1\x34\x7f\x46\x0d\x3c\xb5\xfc\xfd\xff\x20\x5a\xc3\x0e\x7e\xb3\xfc\xf8\x81\x62\xd8\x7e\xb3\xfc\xc8\x60\xc7\x0a\x86\x28\x6e\xce\x9b\x67\xd3\xad\x23\xf4\x08\xdb\xf3\x86\x99\x86\xc5\xd5\x02\x1d\xcf\x2b\x42\x3b\x44\x7f\x82\x35\x3e\xb1\xf7\xab\xfe\xe5\x7c\xb7\xff\x48\x5a\x42\xff\x8a\x60\x8d\xe8\xfb\x4a\xfe\x9c\xef\xf6\x3f\xa3\x17\x7e\xa2\x48\x37\x1f\xf0\xfe\xd0\xe2\xfd\x81\x7f\x66\xa4\xe1\xe7\xbb\xfd\xa7\xe3\xfe\xef\x3d\xac\x30\x7f\xd5\x3d\xee\xd6\xe7\x3b\x42\x6b\x44\x6d\x6c\x50\xfe\x9c\x37\x95\xfe\xbe\x94\x3f\xe7\xb8\x22\x9d\xdd\x4d\x37\x6b\x4e\x3e\x92\x8e\xa3\x8e\xbf\x6f\xe4\xcf\xc8\xca\xd0\xde\x42\x97\x03\xf3\xc0\x65\xc1\xb4\x0e\x3c\x98\x86\x29\x13\x93\x76\xcd\x85\x91\x1a\xba\x15\xbf\x23\x17\xa6\x7d\xdf\x42\xc6\x1c\x36\xcc\x13\x97\x0d\xd3\x5a\xdf\x88\xdf\xf3\xa6\x32\x0d\x6b\xf9\x33\xb2\x61\xda\xef\xe5\xcf\xa0\x16\xf2\x84\xe8\xfb\x1a\x8a\x5f\x4b\x2b\xb2\xd5\x67\x41\xb5\x4f\x54\x21\xdb\x36\xf2\x47\x68\x42\x7e\x5d\x2e\xc4\xaf\xa5\x08\xd9\xba\x5a\x8b\x5f\x43\xfa\x43\xc5\xf1\x13\xf2\xd4\xa0\x9b\x7d\xe2\xfa\xc1\xad\x43\x5d\x37\x0e\x4a\xd0\xdf\xa7\xf4\x75\xb3\xcb\xc0\x5f\x8d\xd1\xbd\x6f\x76\xcd\x06\x21\x6b\xfc\xc3\x93\x80\x0c\x86\x67\x6b\x57\x0e\x23\xb6\x0a\x35\x70\x21\x64\x31\x34\xdd\xdc\x8a\x5f\x4b\x1e\xc3\x93\x25\xba\xbf\x91\xc3\x97\xed\x3f\x50\x4a\xe8\xfb\x06\x35\x0b\x64\x39\x89\x6a\xf5\x59\x51\xed\x1b\x87\x0d\xd5\x56\xd5\x25\x2c\x85\x3c\x9c\xaf\x03\x79\xa7\x55\x93\xfe\xfb\x13\xa2\x2d\x7c\x35\xa2\x1c\x88\x9b\x76\xcf\x2d\xcc\x83\xf2\x9c\xb8\x0d\x37\xa5\xc1\xf9\xcf\x03\xac\xc9\xb3\x87\x52\x37\x7b\x18\x75\xfb\x80\x50\x7f\xbf\x29\xcf\xf9\x01\x57\x8f\x1d\x62\x4c\x37\xdd\xf7\x2f\xe7\xa4\x69\x18\xe2\x3f\x93\x5e\xb7\x15\x63\xe3\x8f\xa8\xe1\x76\xab\x1d\x94\x46\x0c\x67\x17\xe0\x23\xe9\x5f\xa9\xd0\x83\x9c\xd1\xcc\x64\xf7\x17\x72\xea\x6a\xc8\x31\xe9\x64\x50\x25\xfc\x80\x28\xa8\x48\xc7\x29\xde\x9d\x38\xa1\xec\x01\xfc\x88\x2b\xd4\x31\x54\x83\xbf\x7d\xfa\x19\x5c\x5c\x9f\x9d\x5d\x5f\x80\x1f\xe1\x2b\x39\x71\x70\x40\x6d\x8f\x28\x3b\x2b\xb2\x3f\x17\xd7\x67\x57\x27\x5c\x28\x80\xe2\x80\xeb\x1a\x75\xe0\x97\xb3\x77\x35\x66\x7d\x0b\x5f\xb7\xa0\x23\x1d\x7a\x38\xfb\xd5\xef\x55\xc0\xaa\x42\x8c\xe1\x5d\x8b\x04\x80\xd2\xff\x16\x94\x0f\x67\xef\xaa\x16\xf7\x5b\x40\x51\xc5\xbf\x2d\x81\xfc\xfd\xee\xe1\xec\xdd\x01\x89\x51\x6e\xc1\xa2\x7f\x79\x38\x7b\x77\x84\x74\x8f\xbb\x2d\x28\xd4\x57\xe1\x9c\x4d\x4b\x9e\xb7\x40\x61\x7f\x38\x7b\xd7\xc3\xba\xc6\xdd\x5e\xa1\xec\x09\xc3\x42\x1a\x5b\x00\x77\x8c\xb4\x27\x8e\x1e\xce\xde\x3d\xe3\x9a\x1f\x34\x42\x87\x43\x8a\x18\xe2\x82\x2b\x43\xa5\x9c\xe2\xb3\xd9\x25\x27\xde\xe2\x0e\xa9\x2f\xe2\x53\x31\xb0\x7a\x75\xf3\x70\xf6\x8e\xa3\x17\x5e\xd4\xa8\x22\x14\x2a\x16\x94\x4c\xde\x35\xa4\xe3\x05\xc3\x5f\xd0\x16\x2c\xca\xf2\x1b\x09\xcc\x78\xc1\xf8\x6b\x8b\x82\x82\xab\x5a\x04\x69\x83\x5f\xb6\x3b\xd4\x10\x8a\x2e\x83\xcf\x60\xc3\x11\x15\xbc\x57\x2a\x68\x6f\xc1\x57\x5f\x3d\x58\x0a\x91\x93\xfc\x30\x82\xa2\x22\x6d\x0b\x7b\x86\xb6\xc0\x7c\x8a\x11\x1d\x11\x8b\x96\x2d\xd8\x11\x7e\x88\xf4\x95\xa2\xc3\xdd\x20\x87\xf2\x01\x5c\x5f\x00\x76\xea\x7b\x42\xf9\x16\x7c\xfa\xe1\x4e\x18\x9c\x03\xfa\x45\x83\x19\x9d\x28\x81\x0c\x82\x54\x5f\x39\xe9\xb5\x94\x51\xc3\x13\x8a\xd5\xce\xa7\x7a\x34\xb8\xe5\x88\x6e\x3f\xb4\xfd\x01\x7e\xab\xdd\xf4\xbd\xb0\xa8\x5f\xcf\x24\x03\x0d\x25\x9d\x54\xf6\x97\x02\x77\x35\x7a\x91\xd4\xe4\x53\xe1\x11\x9f\x3a\x8e\x28\xac\xa4\x27\x7d\x3c\xa1\x37\xf8\x04\xe3\x90\xa3\xa2\xc6\x4c\x08\xbc\x96\x82\x3b\x51\x46\xe8\x16\xd4\x6a\x1e\x03\x7f\xc2\x47\x21\x10\xd8\xf1\x91\x5c\x45\xba\x99\x34\x44\x77\x49\x83\x49\x17\xc7\x47\xb8\x47\x0c\x68\xe2\x22\x4e\x3a\x7e\xb8\x6b\x49\xf5\x68\x8c\x51\x8c\x53\x58\x46\x21\xa7\xbc\x98\x03\xed\x60\xf5\xb8\xa7\x22\x90\x14\x14\xf5\x08\x72\x61\x94\xfa\xe3\xc0\xf0\xdf\x30\xab\x44\x82\x76\x82\xed\x1b\xf8\xd6\x71\x76\x60\xf7\x19\xd7\x7b\xc4\x0b\xa2\x9a\x05\xe3\xa3\x5e\x1b\xfc\x82\xea\xb0\xf2\x53\xc6\xa2\xac\x6b\x48\xcd\x81\xf3\xad\x38\xc8\xb4\x2a\x28\x21\xa3\xa5\x9e\x60\xa1\x7b\xc7\xc6\x28\x6a\xa1\x98\x86\x87\x00\x54\x48\xae\x96\x52\x84\x43\x80\xb8\x5a\xa3\xa3\xfd\xdf\x1d\x3a\x3e\xcc\x77\x88\x18\xcb\x42\xa5\x4c\x8a\x46\xd1\x29\x94\x1c\x96\x57\x4b\x81\x3e\x0d\xdb\x91\x08\xb4\xe2\x6d\x0e\xe1\x3f\x8e\x19\x2d\xfb\x50\xe3\x60\xb7\x41\xb7\xd6\x2c\xaf\xa5\x38\xa5\xe0\xd7\x52\xf1\xb6\x2a\xc4\x64\x99\x63\x40\x47\x46\x8b\xfd\x2d\x58\xa0\xa3\xe1\xde\x84\xc6\xc1\xe0\x46\xdf\x10\x0b\xba\x01\xbb\xb5\xb8\x8b\xb2\x1c\x30\xda\x49\x14\x30\xe8\xd4\x7a\xd0\xb1\x48\xdc\xc9\xd9\xc4\x18\x66\xd0\x0c\x9d\x59\xc9\x99\x7c\xd4\xea\x66\x14\x0f\x55\xcd\x62\x89\x13\xb4\xf2\x27\x44\x39\xae\x60\x5b\xc0\x16\xef\xbb\x2d\x38\xe2\xba\x96\x33\x85\x0c\x19\xba\xb1\x42\xba\xf7\x28\x13\xb1\x3a\x13\x53\x8a\xb0\x68\x8a\x8e\xe4\x09\x31\x80\x5e\x38\x85\x40\xba\x27\xc0\x1d\xf8\xf4\xc3\x68\xde\x6a\x9c\x97\xd6\xe7\x6d\x8b\xbb\x47\xa7\x41\x2e\xf8\x50\xed\xb4\x1d\x04\x45\xa7\x05\xca\x8c\x58\x48\x2c\x32\xc3\xfe\x2a\x42\x0d\x27\xe0\x08\x1f\x11\xa0\x84\x1c\x41\x43\xa8\x58\x54\x02\x61\x66\x97\xc0\x70\xd8\x21\x54\x33\xd1\x71\x87\x80\x98\xf8\x0f\x88\x22\x13\x99\x14\x2d\x69\x97\x05\xe9\xda\x57\x6b\x8e\x1a\x8c\xfd\xfa\x02\x68\xed\xa1\x16\x1d\x51\xc7\x19\x60\x08\x1d\x05\x46\x81\x1a\x40\xd0\x62\xce\x5b\x04\x8e\x84\x22\x4d\xf3\xe2\xfa\x4c\x57\x00\x72\x44\x56\xa3\x47\x59\xfd\xd8\xb4\xe3\x8d\xe9\x18\x44\x1b\xe8\xae\x3d\xdf\xe2\x5e\x88\xd1\x0c\xc1\x1d\x3f\xb0\xd0\xc9\x5e\xa1\xc0\x19\xb4\x3e\x87\x71\xa9\x27\xc9\x48\x00\xdf\x18\x3e\x57\xe8\x08\x16\xc1\x51\x07\x81\x2f\x23\xb2\xc9\xd1\x08\xcf\x86\x6a\x3e\xf4\xd9\x96\xe4\x7b\x8a\x8f\x90\xa6\x39\x18\x7a\xb3\x59\xa3\x54\x1f\x96\x57\xfe\x80\x47\xb2\x0c\x55\xa4\xab\xff\x48\xc2\x92\x5e\x4c\xd2\xb3\x10\x0d\x11\x5f\xc5\x13\xd3\xaa\xa3\xcc\x30\x9e\xeb\x0b\xd0\x11\xe9\x6f\x66\xba\x93\x4e\x88\xbb\xfe\x34\xd8\x1a\xbb\x04\x3d\x25\x4f\xb8\x46\x40\xa3\x01\xbb\xd7\x21\x4b\xba\xb8\x3e\x93\xbd\xdd\x20\x19\xb4\x16\xcb\x96\x25\x45\x8d\xff\x5b\xf6\x5d\xd4\x9d\x4d\xb2\x14\x96\xa4\xa3\xf0\x44\x37\x57\x41\xf1\x8e\x2c\xfc\x7c\x62\xb4\xc9\x49\x70\xc6\xbc\x17\x1d\xa4\x40\xaa\xd4\xe6\x20\x50\x4d\x01\x0c\x49\xc3\xb7\xdb\x67\xd8\x61\xb4\x7b\xd8\x63\x1d\xaa\xbf\xb8\x73\xff\x5b\xbc\xc4\x7d\x32\x97\xcf\x30\x40\x82\xd3\x91\xf6\x2f\x67\xef\xcc\x4c\xbb\xf6\xac\x92\x21\xce\x5c\x53\x74\x16\x9a\xc6\x7b\xee\xa6\x9a\x10\xbd\x5c\xfb\x77\x54\x57\x7a\xb3\x7c\x71\x75\x33\x12\x7f\x26\xf4\x11\xca\x44\x5e\x12\x97\xf3\xb4\xc0\xa8\x66\x69\xe3\x72\xb8\x03\x7f\xc1\x14\x35\xe4\xe5\x52\x4c\x5f\xe0\xb0\xde\xf5\xb2\xc8\xda\x06\x5c\x70\xbb\x2d\x8e\xe4\x4b\xd1\x90\xea\xc4\x0a\x59\x0a\xbe\xf4\x26\x1e\xbf\xcf\x74\xa1\x6f\x27\x2f\x6a\xb8\x63\xfd\xdb\x5e\x0c\xde\xd9\x21\x66\x0b\xc4\xbc\xab\xfe\x2b\x1f\x22\xa5\x06\x0b\x8f\xfb\xd5\xca\xfc\xd3\xf9\x94\xc1\x9f\xc3\xd7\x53\xf4\x74\x99\xe9\xd3\x99\xd0\x19\x75\x68\xb5\x82\x30\xe3\xbd\xba\x97\x03\x1e\xcb\x08\xf7\xa3\xd9\xa7\x39\x29\xac\x34\x29\xcd\x8f\xea\x29\xb3\x27\xc1\x80\x55\x04\x49\x53\x18\x9d\x71\x39\x07\xc4\x0c\xdd\xcc\x0b\x73\xc9\x8c\xec\x29\x62\xb3\xf8\x73\xc7\x45\xad\x7a\xd1\xac\x91\xb1\x1e\x76\xb3\x54\x29\x3a\x06\x53\xa0\xc4\xb2\x25\x1a\x71\xe7\x44\xf4\x38\x3f\x1c\x73\x55\x40\x1b\x4a\x55\x60\xa9\x7c\x7f\x5a\x8a\xba\x1f\x33\x9e\x49\x32\x3f\x8f\x86\xda\x22\x12\xa4\xec\xc2\x95\x5a\xda\x6a\xda\x8b\xfe\x25\xe8\x32\x0a\x74\x82\xf5\x48\x3a\x7e\xf0\xc4\x1d\xec\xfa\x8a\xa0\x1d\x0f\x56\x9b\x6f\x02\x44\x64\x61\xcb\x2f\x21\x59\xcc\x5e\x6d\xec\xe5\x5d\xa8\xf2\x65\x49\xb1\x04\x76\xe6\x6d\xd3\x39\xb8\xf9\xc7\x9d\x08\x46\x37\x51\xe1\x2a\x06\x9e\xb5\x1a\x76\xa4\xad\xdd\xf2\xa1\x8f\xbf\x8e\x86\xc9\xb0\x29\xf3\x3a\x6c\xb9\x5c\xac\x3c\x82\x56\x6a\xc7\xb8\x09\xdb\xd2\x69\xe2\x45\xcb\x9c\xa9\xa8\xc8\xdf\xc3\x4e\x15\x75\xc7\x0a\x92\x2c\x4f\x0d\xa5\x4f\x23\x66\x29\x3c\x59\xe1\x75\x66\x03\xe0\x2e\xc4\xc7\x49\x4e\x37\x50\x53\x45\x19\x5a\x76\x84\x73\x72\x0c\x0b\x34\xce\xe2\x38\x9d\x36\x2d\x81\x7c\x1c\xfd\xc0\xdf\xda\xcc\x34\x7a\xc1\x10\x28\x0e\xb9\xb3\xd2\xad\xb6\x06\xf9\x69\x0c\xe9\xaa\x70\x10\x58\x35\xbf\x9d\xdd\xc9\xf3\xea\x44\xa9\x2e\x66\xe8\x41\x08\x71\x0d\x53\x3f\xe6\x07\x70\x3c\xb5\x1c\xf7\x2d\x02\x15\x6c\x91\xc8\x52\x86\x1c\xc4\xda\x6e\x9e\x38\xa7\x00\xb1\x9c\xc9\x2e\x7c\x78\xdd\x26\x8d\x42\xe3\x7d\x80\x9f\xf9\xb0\x53\x57\xde\xac\xbf\x71\x7c\x53\x70\x13\x71\x4f\x85\xb6\x58\x46\x99\xd2\x28\xd7\x65\x20\x86\x68\xe0\x9b\x1c\xf0\xcd\xcd\xd5\x4d\x1c\x7c\x95\x03\x5f\xae\xa3\xc0\x41\xd0\xa2\x85\x8c\x87\xf3\x98\xa9\xd3\xa7\xb0\xa8\x82\x4e\x3c\x1f\xb2\xbc\xad\xd0\x9c\x06\xdc\x29\x4c\xc1\xf5\x7b\xbd\x43\x10\x51\x3c\x25\xcf\xc5\x8e\x22\xf8\xe8\x6d\x26\xc4\x43\x77\x69\x0c\xfa\xa7\x9f\x7f\x1c\x16\x92\x9e\x11\x17\x94\xb7\x2a\xe2\x51\x54\xe9\xd4\x8e\xb7\x21\x16\x78\x1b\xcb\x6d\xec\x44\x45\x4f\xdd\x11\xe3\x0f\x20\x31\xd9\x8e\x95\x20\x19\x84\xf3\x91\x08\x4e\xb6\xc1\x2c\xe6\x37\xf1\xb3\x0d\x65\x52\x6f\xe7\x2a\xa8\x61\x1d\x2f\xdf\x08\xef\x85\xdd\x98\xa1\xcc\xc0\x12\x8e\x86\x9e\x5b\x04\x50\x4d\xc3\xd4\x1b\xc6\xf2\x66\xaf\x8c\xe2\x98\xe9\x93\x92\x37\xcb\x29\x43\xbe\x6a\x27\x07\xf2\xac\x90\x80\x0f\xed\x8b\xce\xac\x53\x4f\xb3\x04\x7b\x9b\xd3\x21\x33\x7e\x54\x99\xe2\x4e\x25\x6b\x81\x0a\x4d\x70\xc9\x95\xc4\xe5\x19\xc9\x38\x35\x2f\xf4\xfa\xef\xf9\x80\x39\x2a\x58\x0f\x2b\x99\x5f\x3c\x53\xd8\x8f\x91\x64\x23\x03\x49\x40\x0a\xaa\x14\x39\xb4\xa3\xb6\xc5\x3d\xc3\x2c\x3f\xb4\xa2\x6a\x09\x8b\x17\xfc\xcd\xda\xff\x66\xba\x49\x61\x62\x7f\x39\xd9\xbe\x2e\x45\xce\x3c\xcd\x80\x94\x8f\x9a\xdc\x5d\xc1\xc4\x18\xb3\x77\x33\x42\x2b\xda\x60\x26\x29\x13\x1b\xa5\x93\x31\x49\x1b\xd2\xb3\xf0\x86\x87\x4f\xda\x8d\x09\x76\x1a\xa9\x95\xa5\xcd\x74\xb4\xd0\x61\xa8\x99\xd4\x50\x2d\x81\xf4\x56\xcf\xc8\xf5\x8d\xa9\x99\xae\x87\x94\x6c\x06\x6f\x5e\xab\x2e\xba\x04\x1d\x3f\x85\x68\x5a\x7e\xd9\x8e\x8c\xa8\x4f\x65\x28\x45\xf4\x10\x0f\xa7\xf0\x0a\xe6\x2c\x58\x96\x8e\xd6\x17\xce\xf4\x51\xac\xe5\x37\x93\xe7\x9a\xaf\xa3\x14\x47\xdd\x2f\x6e\xfb\x17\xf9\xdf\x40\x9a\xc2\xfd\x5e\xa6\x54\x11\x57\x35\x2c\x1f\xc9\xe8\x90\x47\xd4\x9d\xe4\xa4\xe1\x9d\x49\x18\xf5\xb1\x74\x6c\xd9\x29\xc6\x98\xb5\xc6\x10\x35\xec\xf5\x83\xc4\x6d\x13\x71\xd6\xbd\x37\x6a\x37\x35\xe0\x5d\x01\xe8\x02\x73\x74\x4c\x1e\xd5\x70\x73\x0a\x77\xdb\x75\x51\xaa\x5a\xd7\xd7\xf7\xf7\xab\x95\xc8\x27\xac\xe1\x1a\xbb\x3c\xd1\xf6\xdb\x1a\x72\xb8\x95\xdf\xaf\xf7\xb8\x79\xd8\x41\x86\x6e\x57\x97\x3f\x95\xed\x7f\xfe\xfd\xcf\xed\xe1\xc3\x3f\x3e\x7c\xff\xe1\xd3\x07\xf5\xf3\x5f\xd7\xd7\xd7\xaf\x7f\x5d\x7f\xff\xe1\x07\xf9\xf5\x47\xd5\xfa\xfd\x07\xf9\xfd\xd3\xf7\x3f\x7d\xf8\x70\xf7\x5d\x78\x24\x35\x7e\xc2\x3a\xec\x9b\xc1\xac\xfb\x17\x50\x2c\xfb\x97\xe1\x83\x65\x1f\xa5\x97\x21\xb9\x2b\xfe\x32\xe5\x7f\x51\x49\xc2\xc4\x7e\x5a\x62\x25\x29\x78\xd4\x4b\xa4\x49\xd9\x61\x3d\x6b\xeb\xdb\x5d\x25\xbb\x9b\x47\x21\x2e\xaf\x86\x03\x16\xb2\xbc\x78\x39\xa3\xe3\xb8\x5d\x18\xa4\x35\x39\x51\xa4\x0f\x87\x0c\x28\xfd\xd3\x1c\x69\x2c\x32\x26\x0c\x0b\x59\x5f\x26\xbf\x26\xd1\xc3\xc0\x71\x11\x93\x01\x3b\x7b\x29\x3a\x05\x56\x03\x1e\xf6\xe4\xa3\xb3\xac\xd5\x2f\xa0\xf6\x54\x41\xd4\x6c\xf7\x8c\x55\x65\x99\x7b\xc8\x70\x8f\x6a\x9b\x8f\x99\x5b\x18\x46\x32\xaa\xae\x6f\xe1\x55\xb9\x4e\x0c\xf1\x30\x02\x17\xbb\x90\x1f\xae\x1e\xc2\x31\xdd\x3a\x10\x2d\xa0\x86\x69\xd5\x2b\x7e\xe8\x59\xcb\x4f\x17\x7c\x3c\x93\xef\xc5\x13\x6c\x4f\x4e\x1d\xae\x70\xe7\x70\xfb\x50\x4a\x0a\x8f\x75\x04\xc6\x9e\x98\x45\x10\xfa\x4a\x1d\xf1\xb9\x86\x1d\x3e\x42\x8e\x6a\xd3\xf7\x6a\x8f\x9b\xaf\xbe\xf3\x4f\x4b\xe9\x83\x4f\x00\xca\x93\x4f\xfa\x4c\xd4\xfb\xe5\xfa\x3b\xe7\x84\xd4\xd5\x72\x1d\xe0\x4b\x6e\x8a\x72\x44\x8f\xb8\x83\x1c\xc5\x47\x1b\x9b\xc6\x15\xc2\x61\xa2\x4b\x5b\xe5\x38\x1f\x1e\x60\x57\x4f\x7b\x5b\x86\x63\x87\xbb\x2b\x25\xdf\x69\x48\x9a\x62\x1c\x5c\x2a\x44\xe8\x72\xd2\x59\x64\x3b\x07\x5c\xa3\x60\xe7\xe8\xb1\xc6\xb1\x63\x67\xbb\x6d\xa7\x1e\x20\x4b\x31\x77\x4e\x95\xdf\x3a\xd3\xa6\xa7\xf3\x21\xf9\x9e\x22\x66\x36\x62\x36\x0f\xf1\x24\x55\x88\xe2\x46\x36\x6e\x34\xe2\xd6\xd8\xee\x02\x59\xc8\xb0\x5a\x08\x59\xf7\x88\xf9\xd9\xc6\xfc\x1c\xc1\xac\x4b\xe1\x6f\x42\xcc\x1c\x9e\x99\xcf\x74\x32\x95\x5a\x38\x99\x94\xb5\x6c\xb2\x08\x38\xac\x33\x9f\xf7\x8d\x83\x7f\xe3\x8f\xc4\x95\xbe\x67\x28\x0e\xfe\xee\x37\xe0\xb7\xcc\xc6\x43\xee\x48\xa7\xf3\xa5\x13\x42\x1e\x50\xb0\x8d\x7d\xbc\x1f\xa2\x0f\x6c\x46\x7d\xd4\x3d\x45\x39\xac\x3e\x44\xee\x51\x13\xce\x51\x0d\x76\x2d\x1c\x3d\x55\x5d\x2f\x89\xce\x3e\x7e\x74\x76\xc0\xc6\x8f\xb9\xd0\x31\xb0\xb5\xb4\xf7\xd9\x96\x93\x7d\xb6\xa5\x53\xe4\x9d\x9c\xd0\xf2\x69\x52\xd8\xed\x67\x90\x5c\x4c\xb6\x21\xd4\x76\xa6\x97\x4c\xd9\x0b\xb5\x60\x62\x5f\x8e\x65\xb0\xbf\x10\x0a\x3e\xfd\x70\x0f\x0a\xf0\x4f\x91\xbe\xde\xde\x2d\xef\xcc\x54\xa9\x2f\xec\xf8\x49\x85\x27\xac\xcb\xd9\xfd\x87\x81\x9a\x39\x05\x77\x07\x44\x31\x1f\xf2\x24\x83\x97\x50\xfc\x85\x74\x1c\xb6\xf6\x44\x6b\x6f\x5f\xfa\x1d\x83\x3a\x54\x06\xa8\x57\xd1\xee\xa6\x99\x2a\xac\xcf\xc0\x36\x30\x9d\x8c\x2a\x79\x14\xc5\x11\x5b\x27\x27\xca\xb7\x00\xc2\x17\xab\x84\x57\x4e\xa5\x65\x4e\xdc\x59\x6b\xc0\xe9\xce\x6f\x69\x2d\xfd\xa7\x50\x41\xc1\x19\x21\x05\x24\x67\x9d\x12\x18\xa2\x53\x40\x98\x21\xfc\x83\x28\x23\x67\x6f\xe7\x21\x30\x82\xf4\x36\x6b\xf2\x80\x4a\x90\x46\x91\x1a\xaa\x1f\x0e\x15\x04\x63\x47\xec\x1c\x65\xee\xae\x40\xec\x20\xa4\x43\xb5\x50\x27\x98\xac\x9d\x3a\xbd\x46\x0a\x94\x53\x2a\xd2\x12\xdb\x67\x5c\x72\xc3\x8a\xc1\x1c\x68\x88\x1e\xc4\x74\xb4\xa9\x57\x5b\xee\xb1\x8f\xa5\xb5\xbf\x6e\x18\x1d\x8b\x16\x46\x65\xb7\x4e\xfc\x5f\x7b\xdb\xa4\x93\xaa\x4b\x39\x59\xe3\x07\x77\x39\x83\x11\xd0\x0b\xa4\x81\xfa\x80\xaf\x0c\xdb\x5d\xae\x2f\xd4\xa1\x49\xd6\xa3\x0a\x37\x58\xe4\xac\x80\xa2\x7f\x9f\x30\x45\xb5\x3a\xa7\xc9\x09\x10\x38\xa8\x48\xdb\xcc\x91\x31\xa5\x92\x61\x97\xcb\x18\x0a\x0c\x8b\xc5\x3e\xee\x6b\x94\xe8\xee\x2a\xba\xad\xd4\x2c\xf9\x86\x33\xa6\x46\x63\xed\xab\x16\x88\x5a\xa4\x4d\xc8\x67\xd7\x45\xfe\xee\xbf\x5d\x40\x9c\x86\x1f\x3d\x0e\x55\xc3\x0e\x7a\x46\x51\x93\x67\xdf\xe1\x04\xc3\x3f\xff\x34\x08\xcd\x93\x92\x61\xb3\xe0\x14\xc3\x6e\xdf\xa2\x62\xa1\xf2\xcf\xeb\x0b\x75\x9c\x95\x13\xd0\xe0\x17\xa0\x96\x91\xac\xa7\x98\xcb\xd3\xb2\xe1\x39\xab\xb8\x95\xa5\x0b\xbb\x1c\xc5\xe1\x2e\xb6\x4c\xbd\xbe\x00\x7e\x2b\xe8\x29\x7a\x92\xa7\x6a\x3f\xfd\x00\x58\x45\x49\xdb\x82\xdd\x69\x0f\xbe\x35\x47\x55\xe5\x26\x67\x00\x0e\x77\x4c\x58\x45\x25\xa2\x33\x16\x43\x93\x1d\xdd\xe2\x26\x80\x7d\x8f\x20\x05\x90\x81\xaf\xe4\x4d\x83\xaf\xe4\x59\xc1\x69\xf5\xdb\xe2\xdc\x7c\x28\x3a\xf8\x14\x2d\x3c\x39\x47\x94\x62\xc0\x2d\x8e\x14\xd8\xdc\x8a\x77\x38\x31\x32\x73\x9a\x7d\xf6\x42\x11\xf4\xf7\xc5\xed\x9d\x03\xb7\x36\x16\xaa\x9d\xc7\xd8\x1d\xbe\xc0\xae\x3a\x10\xea\x97\xe6\x43\xd5\xe5\xe4\x39\x82\x90\x48\x46\x2a\x43\xbd\x66\x3a\x69\x2d\xec\xeb\x16\x45\x20\x91\x9f\x83\x77\x32\x9a\xcb\x24\x60\x20\x33\x9a\x0d\x2b\xbf\xb6\x04\xca\x43\x76\x01\x19\x9a\x20\x29\x24\x65\x0f\xc0\x1c\x50\xc1\xa6\x70\x3b\x7f\x30\x36\xda\x49\x19\xda\xe5\xb2\x87\x1d\x6a\x83\x67\x44\xdc\xca\xa1\xbb\x39\x21\x94\xab\xa7\x1f\x7f\xb6\xd3\x64\xd4\xa5\x6f\x67\x1f\xe8\x3e\x5a\xd7\x1d\x53\xe5\xcd\x66\xb3\x91\x46\xfd\x62\x48\xdf\xa8\x14\xe8\x5d\xf1\x8c\x76\x8f\x98\x17\x3b\xf2\x52\x30\x79\x01\x52\x9d\xd2\x11\xe1\xe5\x6b\x08\xa1\xe4\x39\xf6\xe8\xd7\xb3\x1d\xa9\xd5\xa9\x4d\x8b\x33\x77\x8c\x7a\xea\x14\xe1\xf1\x23\x39\xf6\xa4\x13\xa1\x65\x88\x1d\x6f\xb8\xf8\xa5\x2e\x33\x0d\x25\xc2\x06\x1e\x71\xfb\xba\x05\xfa\x52\xfa\xa5\xbc\x92\x7e\x39\x5e\x48\x9f\xdc\x04\xb4\x0f\x82\x6b\x4c\x01\xa4\xd6\xe9\x2b\xa7\xab\xcc\x4a\x2e\xed\x16\xb5\x72\x73\x9a\x84\xa5\x41\x8a\xa0\xd3\x68\x6d\xca\xfe\x06\xae\xa7\x8c\xd8\xbb\x52\xf6\x12\x90\x91\x16\xd7\x52\x29\x5a\x65\x96\xfd\x7c\xad\xee\x51\xcb\x5a\x97\x2e\x75\x9d\x70\xb1\xdb\x7f\x6e\x5a\xc8\x3f\xdf\xad\x3f\xab\xe7\x9f\x57\xe5\xcb\xa2\x2c\xaf\xfa\x6e\xff\x9d\x98\x1a\xe5\x3f\x75\x2b\xad\x78\x19\xb3\xad\xaf\xd5\x65\xf5\x08\x5b\xaa\xc0\x9a\xea\x39\xdd\x83\x9d\xc1\xbf\x7a\x33\x80\xcf\xff\xf0\x6a\x80\x82\x91\x46\x8e\x44\xf5\xfc\xbc\x78\xd3\x40\x42\x27\xc9\x42\x2c\x47\xc6\x36\xbd\xcd\xa8\xee\x0e\xbe\xf9\x3e\xa3\x4a\xb1\x2e\x43\x42\x4d\xf7\xb2\xae\x7d\x39\x9d\x22\x22\x56\x6f\x03\x98\x8a\x58\xbd\x6b\xc0\x17\xb1\xbc\x59\x2e\x24\xab\x3a\x7c\x5e\xbc\xac\x12\x92\x0d\x97\xee\x8d\xc8\xd4\x6b\x07\x86\x5c\xca\xe1\x55\xfb\xcc\xa4\xd1\xba\xc1\x34\x7d\xa2\xaf\x32\xd9\x2a\x31\xf8\xd3\x73\xa3\x42\x64\x1d\xe7\x8d\x0a\xdb\xef\xe3\x89\xda\xea\xe2\xed\x9a\x44\xf1\xfa\x7d\x3c\xbc\xb2\x4b\x44\x81\xea\x32\xcd\x54\x81\xea\x3d\x0d\x09\x05\xaa\x0e\xbf\x4b\x81\xea\xd5\x09\x01\x41\xba\xea\xd3\x4d\x5b\x4f\x38\xe6\xc1\x54\xab\xa6\xdd\xb9\x9e\x66\x0b\x02\x06\x9a\x7c\xf4\xe6\xc1\x14\xbd\x69\x0f\x98\x8c\x19\xd1\x1c\x93\x51\x29\x41\x46\xb7\x81\x4e\x9e\x72\xc7\x04\xec\x77\x47\x70\xa5\xdd\xdb\x21\x84\xff\xd1\xda\xd5\xac\x3a\xf2\x37\x6d\x9e\x9c\x87\x07\xbf\x49\xd0\x7f\xc4\xa5\xf0\x61\x42\xc8\x79\x76\xb0\x9f\xef\xdd\xa6\x5b\x44\x57\xea\x6d\x1e\x9e\xae\xe4\x1b\x43\x62\xba\x5a\xaf\x3f\xab\x0e\x19\x5d\x19\xc1\xa9\xd7\x83\x4c\x7c\x6e\xe0\x0b\xce\x1d\xe8\xa4\x67\x62\xa8\xce\x2c\x17\xa2\x8e\x28\x25\xb9\xd0\xe9\xf7\xf1\x28\xca\x2e\x11\xc1\xaa\xd7\x8f\x78\x82\x95\xef\x3e\x89\x09\x76\xb3\xfe\xac\x3a\xcc\x14\xac\xa1\xe1\x0d\x2d\x2b\xd4\x50\xaf\xc8\xf0\x1c\x61\x46\x29\x5a\x57\x0e\xd3\x44\xfd\x8e\x61\xba\xc3\x9d\xc2\x30\xe9\x9e\x62\x42\x31\x7f\x75\xaf\x8d\x05\x48\x27\x3b\x5a\xa4\xa7\xfd\xbc\x6d\x7c\x3b\xa9\x1a\x3a\x4f\x2e\x83\xa5\xe8\x87\xbb\x86\x38\x70\x2e\x8c\x0d\xbb\xb1\x57\x77\xb1\x17\x56\xdc\xc9\x77\xa0\x24\x4e\x49\xb8\x4b\xd4\x5c\x7e\x16\xea\xe6\x27\x68\xd6\x69\x87\x91\xc5\x9b\x75\x8c\xc7\x1b\xb9\xb5\x9c\xde\x12\x0e\xac\xa4\x4d\x4d\x2c\x8a\x13\x04\x36\x3c\xca\xf5\x46\xdd\x29\xff\xbf\x78\x6b\x46\xb8\x50\x6a\xd7\xb0\xc6\x2b\x9c\x01\x19\x1b\x34\xbe\x24\xdc\x98\x20\x2b\x68\x9f\x55\x86\xfe\x79\xb9\xbe\x7d\x59\xae\x54\x3c\x08\xe7\xf5\x7f\x28\x6a\x37\x4f\x7d\x3b\x6a\xf5\x0e\xae\x04\x6a\x95\x2c\xb9\xb2\xb2\xf3\x9c\xb7\x93\x54\xaf\xbe\x4a\x90\xb4\x8a\x21\x7f\x30\xe6\x71\xda\xf9\x0d\x4a\x90\xaf\xc7\x4a\x20\x57\x21\x38\x24\x29\x2b\x48\xbe\x9d\xae\x8a\xa5\x1e\xdd\x33\xab\xc6\x8a\xbb\xbd\x6d\xfa\xc5\xae\x85\xdd\x23\xf8\x05\x64\x8e\x15\x82\xd1\x07\x8a\x0a\x52\xc8\x8b\x45\xd1\xc5\xc0\x4a\x50\x86\x01\x50\x0c\x42\x16\x8b\x23\x50\x71\xa0\x9b\x65\x14\x88\xc5\xa1\x56\xf7\x71\xa8\x28\xd0\xed\x2a\x0e\xf4\x1c\x85\xba\x2f\xa3\x50\x71\xa0\x4d\x5c\x14\x5d\x1c\x6a\xb1\x88\x09\x63\x59\x74\x89\x81\x2d\x96\x31\x71\x2c\x0b\x94\xe0\x72\xb1\xf2\x25\x62\xed\x1e\x24\x6c\xa3\xf0\x0c\xca\x86\xcb\x98\x48\x12\x38\x63\x29\x49\xd8\x9c\xc1\xa4\x81\xd3\x76\x93\x86\xcd\x98\x4f\x12\x38\x63\x45\x69\x51\xe7\x8c\x29\x01\x3d\xc7\xa6\x92\xe0\x79\xd3\xf2\xc1\x21\xa5\xe4\x39\x63\x5b\x42\xd1\x61\xa0\x9c\x61\x45\x21\x73\x56\x15\x05\xcc\x9a\x54\x1c\x32\x63\x4f\x71\xc0\x9c\x31\x45\x21\x73\x96\x14\x17\x6c\xd6\x8c\x22\xa0\xb3\x6c\x28\x0e\x8b\x52\x83\xd5\x26\x14\x85\x4e\x9a\xdf\x6d\x4a\x52\xcb\x82\xa1\xe4\x98\xef\x12\xe2\x62\x9c\xf4\x29\x03\x2e\x16\x9b\x84\xc4\x34\x74\xdc\xaa\x96\x65\x42\x66\x1a\x3a\x2e\xf1\xe5\x32\x21\x33\x0d\x1d\x1f\xf7\x72\x95\x90\x9a\x7c\x11\x66\xc6\x73\x85\x4b\x24\x20\x73\xee\x9b\x06\xcf\xf9\x70\x1a\x3a\xeb\xc8\x19\xf0\x8c\x37\x67\xa0\x73\x2e\x9d\x06\xcf\xf9\x75\x46\xec\x59\xe7\x4e\xc1\xcf\xf2\xf0\x0c\x82\x39\x6e\x9e\x46\x31\xc3\xd7\xd3\x08\x66\x39\x7c\x02\xc5\x5c\xaf\xcf\xa3\xc8\xba\x7e\x1e\x45\xd6\xff\xf3\x28\xb2\x41\x20\x8c\x82\x22\x7e\xa2\x5d\xd6\x2e\x4b\xe5\x16\x39\xf8\x84\x34\xa5\x3e\xe6\xe0\xc8\x45\x85\x39\x38\xe2\xf2\x54\xa1\x21\x85\x23\x29\x4b\x15\x1b\x32\xe0\x71\x29\xa8\xd8\x90\x01\x8f\x0b\x60\x93\x15\x62\x72\xec\x3a\x38\xc4\xe0\x1b\x8a\xd8\x21\x39\x7a\x1d\x1c\x72\x08\x12\x56\xb0\x4a\xca\xcf\x20\x48\x4d\x2b\x49\x09\x1a\x04\x09\x19\xdc\x25\x64\x58\xac\x12\xf6\x2f\x74\x17\x02\x29\x6a\x0c\xf7\x19\xbb\xf7\x60\xd1\x0b\x6f\x71\x7c\x89\xaf\x4d\xdd\x03\xeb\xd0\xf3\x33\x8e\x8b\x57\x19\xb7\x07\xa5\xe5\x92\x31\x6a\x0f\x8c\x1d\x4e\x4d\xd3\xc6\x75\xa1\x8c\xd9\x03\xe3\x14\x76\xac\x41\x34\x19\xe2\x37\x61\xb1\x18\x58\xe5\xc7\xc9\x39\x62\x11\x96\x50\x43\x5a\xfb\x9d\x32\x75\x42\xa1\x9b\xe9\x52\x46\xc3\x92\x1e\xe5\xe2\x98\x07\x5a\x93\xea\x24\x8f\xc0\xa5\x15\x1a\x85\x2b\x76\x19\xa5\x7a\x90\x1d\xe1\x71\xd5\x28\x8d\x7a\x30\x47\x88\x5b\x75\x6d\x3a\x2a\x17\xad\xd5\x30\x68\x52\x32\x9b\xb0\x64\xd8\x09\xf3\x0a\x26\x92\x35\xad\x49\x0f\xb0\x22\xc7\xa4\x44\x75\x30\xf2\xe0\x7a\x44\x19\xc9\x86\x20\x1f\x8c\xe2\x14\xb1\xdb\xb0\x58\x38\x85\x09\xc7\xd2\xc1\xc6\x83\x6a\x49\xf5\x98\x50\x81\xce\x3c\x3c\xb0\x53\x97\x01\xd4\xf9\x86\x07\xb8\x23\xe4\xf1\x08\x69\x3c\xdc\xe8\x2c\xc3\x1f\x5e\x22\xb2\xe9\xb4\xc2\x83\x39\x90\x63\x54\xd9\xa5\x56\xb7\xeb\x76\x6d\x36\x7e\xfa\x40\xe6\x0d\x3a\xb9\xe2\x52\x00\x90\xc6\xd5\xac\x8b\x4a\x1e\x50\x8f\xba\x0a\xb7\xb9\x7a\x92\x4f\x4b\xe8\x2b\x57\x48\xf2\xa0\x6a\xcc\xe2\x40\x9b\xb8\x3c\xaa\x53\x0b\x39\x89\x4b\xc4\xd4\x8f\x3c\xd8\x2f\x84\x1c\x13\xb3\x8a\x29\x1c\x05\xe1\xc8\x29\xe1\x34\xab\x88\x5c\x18\x82\xb4\x4a\xb8\xcd\x6d\x44\x32\xcf\x14\x75\x29\xb8\xbb\x88\x70\xf6\x28\x61\x28\xda\xdb\x7c\xa8\x03\x4a\x99\x8a\xf6\xb5\xc0\xe0\x78\x82\x98\x76\x34\x1f\x2a\x99\x0d\x68\x57\x0b\x69\xbd\xab\x50\xd4\x2e\x4b\xad\x3b\xd7\x94\xdb\x53\x22\x3b\x52\x02\x0c\x02\xc9\x39\x39\xe7\x6e\x1e\xe4\x11\x77\x09\x7a\xda\xdf\xc2\x50\x69\x82\xda\xe7\x3c\x50\xfd\x56\x90\xb4\xcf\x85\xa1\xd2\x04\x37\x11\xd9\x3c\xa2\xd7\xac\xcb\x79\x40\x72\x0f\x6b\x77\x6a\xe3\xd3\xbe\xf1\x3a\x0f\x94\x55\x98\x31\x42\x13\x4a\x5c\x45\x45\x83\xfb\x1d\x81\x34\x31\xf3\xdc\xc6\xe4\x43\xfa\xc4\x28\xef\x22\xa2\x91\x87\x76\xab\x44\x80\xd8\x44\xc4\x23\xb7\xd0\xb2\xae\xe7\x81\x3d\xe1\x1a\x91\xac\xef\x05\x24\x4a\x71\x9f\xf0\xf4\x55\x44\x28\xb0\x45\xf1\x00\x51\x6a\x45\xb8\xe3\xea\x9a\x38\x7f\xda\xf9\x3c\xa0\x8e\x70\x5c\x65\x77\x51\x3c\xb0\x03\x6a\xfb\x9c\xe3\x79\x40\xd5\x01\xe5\x7d\xce\x83\xda\x9d\xda\x16\xc5\x05\xa8\x9d\xce\x03\xa3\xb0\xc6\xa4\x48\xe4\x6a\x9b\x88\x44\x34\x60\xd3\x64\x1d\xcf\x03\xed\x71\x97\x5f\xe0\x86\xc1\xf2\x1e\xe7\x83\xc9\x37\x08\x24\xf6\xdc\xa6\xcb\x97\x1e\x9e\x52\xa9\xb2\xde\x3e\xf2\x56\x6a\x08\x3d\xea\x57\x9e\x65\xb6\xda\x82\x90\xea\x8d\x6b\x99\x7d\xb6\x20\x24\xea\xe2\xb1\xc4\x6c\xb2\x05\x01\xc5\x24\x99\x35\x18\x03\x7a\x7d\x01\x1c\xe0\x06\x53\xc6\x01\x66\xa0\x46\x3d\x45\x15\xe4\xa8\xbe\x04\x42\x6e\x01\x12\xb8\x63\x1c\xc1\xda\xd9\x5d\xb7\x90\xcc\xe4\xc0\x9a\xdc\x49\xdc\xa9\x36\x11\xf5\xa0\x7f\xa1\x54\x10\x5c\x44\x74\xf3\x44\xda\xd3\x11\xa5\xcd\x7c\x19\xd1\x8e\x81\xcd\xae\x83\x02\x26\x48\x9e\x51\x34\x81\x29\x75\xb4\x77\x85\x82\xf7\x1d\x6c\xe7\xd4\x41\x62\xb0\x39\xbb\xf5\xc0\x76\x90\x73\x44\x5f\x8b\x32\x67\xb7\x51\xc8\x45\xce\x70\xa3\x90\xcb\x9c\xd5\x44\x21\x6f\x72\xa6\xe3\x41\x56\x98\x56\x2d\x4a\x26\x6d\xa5\x9e\x47\x43\x70\xe9\xec\x4b\xeb\x24\x06\x9c\xce\xa4\xb4\x66\x62\xc0\xc3\xae\x72\x76\x07\x3f\x8b\x21\xbb\x8f\x9f\xc5\x90\xdd\xcc\xcf\x62\xc8\xce\x51\x31\x0c\xaa\x48\x98\xad\x7e\x64\xe0\xf3\xbb\xfa\x69\xf8\xfc\xb6\x7e\x1a\x3e\x55\x0f\x4b\x4b\x30\xb7\xb6\xbc\x4b\x8b\x2f\xbb\xc4\xdc\xa4\xc5\x97\xce\x67\x4c\x22\x19\x81\x66\x47\xd8\xb6\x39\xdf\x93\x38\xa2\xc0\x73\x1c\x30\x8d\x61\x8e\x17\xfa\x18\xd8\xbf\x4f\x90\xce\x18\x80\x76\xc2\x34\x82\xf4\x20\x94\x13\xa6\x31\xcc\x59\x94\xf9\x18\xf6\x14\xf7\x85\x7a\x57\x89\xf5\x8a\x86\xb8\x26\x96\xd3\xf4\xcb\x46\x60\xbf\x11\x23\xad\x8e\x30\x1a\x79\xd2\x3c\xcb\x86\x51\x48\x0a\xc7\x0c\x4e\xb4\x56\x82\x58\x94\x44\xc5\x64\x4b\xc4\xac\x9b\x90\xab\xd6\x4c\x44\x2c\x33\x10\x68\xc5\x18\x04\xbf\xe3\xef\xcc\x7d\x94\x7f\x35\x13\x50\xf9\x67\x33\x4d\x32\xa6\xfe\x94\x66\x01\xdb\xf6\xd2\xfe\xce\x49\xef\x7c\x6f\x51\xc3\xdd\x0e\xad\xfb\xb6\x00\xf5\xf6\x55\x85\x7b\x0b\x56\xe3\xe1\xe0\x99\x04\xe8\x78\xb3\xc3\xf4\xa0\x13\x0a\xea\x5d\x68\xf3\x49\xa8\xbb\xd0\xe9\x61\xec\xec\x61\xe8\xfb\xe1\x6f\x1c\x49\x80\x8c\x3f\x98\x1d\xf5\xe9\x04\xc7\x33\xef\x0f\x02\x8e\xa6\xb2\x35\xb7\x8f\x22\x37\x45\xcb\xcf\xea\x71\xee\xa2\xa8\x75\xa4\xdd\x7a\x5b\xda\xe4\xf8\x79\x39\x3d\x8c\xad\x2e\x18\x3b\x6f\x7a\xbb\xd7\xef\x55\xd4\xef\x6c\x98\x5c\x78\xfe\x7f\x64\x7c\x78\x63\x85\x16\xb8\xfe\x8b\x12\xff\x1b\x00\x00\xff\xff\x43\xe5\x12\x72\x15\x7d\x00\x00") + +func assetsCssJqueryUi1104SmoothnessCssBytes() ([]byte, error) { + return bindataRead( + _assetsCssJqueryUi1104SmoothnessCss, + "assets/css/jquery-ui-1.10.4-smoothness.css", + ) +} + +func assetsCssJqueryUi1104SmoothnessCss() (*asset, error) { + bytes, err := assetsCssJqueryUi1104SmoothnessCssBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/css/jquery-ui-1.10.4-smoothness.css", size: 32021, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsCssStyleCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x55\xdb\x8e\xdb\x36\x10\x7d\xf7\x57\x0c\xb0\x28\xd0\x2e\x4c\xc9\xde\xcd\x1a\x6b\x2d\x50\x14\xc8\x5b\x81\x06\x05\xd2\x1f\x18\x89\x63\x8b\x09\xc9\x51\x49\xfa\xd6\x20\xff\x5e\x88\x94\x64\x29\x52\x92\x7d\x1a\x5a\x73\x39\x73\xe6\xcc\x6c\xfe\xd8\xff\xe5\xab\xfc\x11\xfe\x62\x89\x1a\x1e\xf3\x55\x66\x5a\x4b\x48\x85\x9a\x8f\xf0\x65\x05\x60\xd0\x1d\x95\x15\x81\x9b\x02\x76\x2f\xcd\xf5\x6d\xf5\x75\xb5\xca\xc7\xc1\x1f\xf0\x1c\x43\x2d\x9e\x4b\x74\x90\x55\xac\x85\x91\x62\xbb\x89\xf1\x0d\x4a\xa9\xec\x51\x68\x3a\x84\x02\x36\x31\xbc\x73\x15\xa5\x43\x2b\xe1\x77\x50\x26\xd5\x92\xca\x37\x1a\x6f\x05\x28\xab\x95\x25\x51\x6a\xae\x3e\x4f\x22\x0e\xec\xcc\x77\xd3\xde\x9b\xba\x83\xfb\x48\xe8\xaa\x1a\x5a\x60\x8f\xf9\xea\xc1\xa7\x67\x9b\xe1\xa2\x64\xa8\x0b\x78\xd9\x6c\x52\x53\x7f\x18\x92\x0a\xe1\x57\x83\x57\xd1\x7d\xdb\xef\xb7\xcd\xf5\xb7\xe8\x3d\x8e\x1c\x62\xdf\x3d\xc5\x58\x80\xaf\xa9\x3c\xd4\x21\x34\x45\x9e\xfb\x80\xd5\x67\x3e\x93\x3b\x68\xbe\x64\x15\x9b\xfc\xdf\x13\xf9\xa0\xd8\xfa\x7c\xfb\xfa\xfa\xfc\xba\xdf\xbd\xcb\x51\x4a\x51\x32\x07\x1f\x1c\x36\xe2\xa8\x6f\x4d\xad\x2a\x6e\x99\x16\xca\x36\xa7\x20\x4a\xbe\x46\x5e\xdb\x16\x85\xb2\x96\x9c\x40\x29\xd9\xa6\xfe\xd9\xab\x36\x61\x01\x8e\x34\x06\x75\xa6\xc4\xd3\xcc\x39\xe6\x5a\xa0\xec\xb9\x6b\x7b\x21\x24\x1b\xc0\xc4\xb8\x8a\x35\xbb\x02\x1e\x10\xf1\x6d\x52\x19\x4b\xcf\xfa\x14\xe8\xed\x9e\xbc\x80\x7d\x73\x85\x6d\x47\x4b\xc3\xca\x06\x72\x82\xce\x64\x83\x2f\xc0\xb2\xa5\xa5\x49\x75\xa3\x52\x92\xda\x39\xd9\xbb\x9e\x44\x64\x92\xe4\x4c\x89\xdb\x01\x7d\x8d\x3e\xe5\x17\x9e\x4f\xae\xa2\x31\xe4\xa3\x23\xb2\x9d\x7e\xf8\xbb\x5e\x8e\xe4\x5c\xd4\x7f\x2a\x13\x41\x7c\x52\x46\x5c\x48\xeb\x19\x82\xa7\x01\xc1\xe0\x52\x3f\xcf\xbc\x36\x77\x97\x8a\xed\x41\xcd\x77\xea\xb9\xa3\xaa\xe7\xef\x25\xbd\x0f\xdc\x62\x55\xff\x51\x01\x9b\x6c\x4f\x66\x96\x67\x64\x0b\x15\xc8\x8c\x13\x97\x1c\x02\x9b\x02\x9e\xbe\x59\xd7\xa1\xbb\x7f\x98\x75\xb7\x12\x59\xe8\xec\x2f\x0b\x28\x4a\x76\x92\xdc\x90\x6f\xdb\x5c\xc1\xb3\x56\x12\x1e\xaa\xaa\x4a\x90\xfa\xf0\xac\x0c\x76\x41\x66\xfd\x86\xf4\xbf\x3a\x75\xac\xc3\x98\xbd\x21\xde\x37\x58\x91\xfb\xd1\x1d\x18\xf6\xee\x1e\x6d\xc8\x7b\x3c\x92\xa8\xf8\x64\xa7\x2a\xef\x0a\x0d\x42\x99\x71\xf0\x9e\x6d\x20\x1b\x22\x07\x55\x67\x4f\x37\xeb\xa0\xae\xad\x34\x00\xba\x5c\x9b\xd6\x8e\x43\x7b\xd9\xf6\xfc\x24\x62\xe2\x97\x7e\xe1\xc5\xad\x00\x5f\x39\xd6\x7a\xdc\x78\xef\xfa\x7a\xc7\x8e\x4a\x8b\x71\xe5\x65\x79\x19\x7f\xd4\xca\x07\xd1\xb5\x1a\x3d\x7f\x32\x97\xe9\x20\x13\xba\xea\xe4\x7c\xab\xf6\x6e\x27\x97\x73\x67\xfe\x54\x7e\xa2\x2a\x64\x27\xeb\x08\xe5\x64\xfd\x77\xbb\xdd\x20\xcc\x0b\x25\x46\x4a\xd6\x72\x99\xdd\xbf\x1d\x9d\x15\x5d\xe2\xd1\x6d\x92\x2d\x1a\x8d\xca\xae\x61\x78\x8f\x56\xf1\x52\xab\x40\x22\x4a\xa0\x80\xc6\xd1\x50\xe9\x80\x46\xe9\x5b\x01\xef\xf9\xe4\x14\x39\xf8\x40\x97\x75\xff\x58\xc3\xc7\x9b\x0f\x64\xd6\x69\x52\xe9\x6a\x4f\xba\xbf\x9f\x89\xae\x26\x64\x01\xcb\x09\xe9\x4b\x53\x8b\x77\x85\x50\x92\xf3\x3f\xba\x3c\x9d\x47\x28\x59\xde\x20\xc8\xf1\x7f\x95\xed\x66\xf3\xcb\xa2\x57\x3d\x6f\xd7\xf2\xc5\x61\x13\xb5\x45\xd7\x20\x50\xab\x63\x7b\xd6\x5b\x86\xdf\x7e\xc2\xbf\x65\x67\xb0\x07\x8c\x94\x0a\x61\xa9\x09\x82\x5c\xc3\xbd\x76\xfa\xa9\x9e\xee\xf8\x53\x77\xa9\x93\x12\x94\x21\xd1\xa0\x0b\x53\x9f\xbe\xdb\xff\x03\x00\x00\xff\xff\x38\x9d\x15\x62\x30\x08\x00\x00") + +func assetsCssStyleCssBytes() ([]byte, error) { + return bindataRead( + _assetsCssStyleCss, + "assets/css/style.css", + ) +} + +func assetsCssStyleCss() (*asset, error) { + bytes, err := assetsCssStyleCssBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/css/style.css", size: 2096, mode: os.FileMode(420), modTime: time.Unix(1467921368, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsFontsGlyphiconsHalflingsRegularEot = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\xb0\x55\x50\xde\x61\x93\xed\xfb\xc7\xdd\xdd\x5f\xdc\xe1\xc5\x3d\xb8\xbb\xbb\xbb\xbb\x04\x08\xee\xee\xee\xee\x1e\x1c\x82\xbb\x3b\x04\x82\x04\x82\xbb\x93\x00\xa7\xe6\x9b\x53\x53\xbb\xf6\xdc\xec\x5f\xd5\x73\xf1\xac\x5e\xdd\xbd\xaa\x0b\x95\x00\x40\x54\x11\x00\x20\x01\x48\x00\x1a\xf8\x2f\x60\x80\xff\x06\x02\x48\x82\x00\x00\x68\x40\x41\xe5\xff\x17\x20\x81\xff\xa9\xfc\x37\xb4\x98\x81\x4c\xc0\xff\x82\x0e\x90\x06\x14\x00\x5d\x40\x05\x90\x01\x64\x01\x71\x40\x19\x50\x02\xd4\x01\x10\x20\x03\x98\x02\x0e\x80\x15\xe0\x00\xd8\x02\x4e\x80\x35\xe0\x0e\x00\x00\x2a\xa0\x06\x58\x02\xd6\x80\x27\xe0\x00\x98\x02\x6e\x00\x00\xf8\x00\x5a\x80\x25\xe0\x06\xb8\x03\xb6\x80\x33\xe0\x04\x80\x00\x36\x80\x05\x00\x03\x60\x80\x0f\x10\x00\x54\xfe\x33\xe9\xbf\x7e\xff\xa7\x6a\x03\x38\x03\x1e\x80\xf9\x7f\xfc\x5e\xff\xd3\xc1\x02\xf0\x00\x60\x40\x00\x70\x04\x4c\x01\x7b\xc0\xf2\x3f\x1e\x2b\x80\xe5\x3f\xfb\xcd\x00\x76\x80\x05\xe0\xfa\xcf\xe3\x05\x38\x00\x76\x80\x0f\x00\x00\xde\xff\xe7\xe4\xa0\xff\x95\x1b\x00\xc4\xd4\xa5\x55\xfe\xef\x5b\x40\x01\xd5\xdb\x80\x22\x16\xa0\x48\x00\x48\x5d\x61\xcf\x9e\xc6\xcd\x2f\x61\x6c\x96\xd2\x79\x12\x4d\xc5\x09\x42\x80\x25\x7e\x8b\xb1\xea\xa0\x5c\x2b\x5d\x23\x45\x01\xe2\xe2\x67\x46\xe3\x30\xc8\x6e\x8e\x6a\xec\xee\xf6\x93\xd3\x2a\x72\x14\x5c\x8c\x19\xd6\x0e\xa7\xda\x0c\xb6\xab\xda\x19\xac\x92\x57\xc9\x79\xcb\x30\x9c\x94\x75\x2b\xa5\x9a\x15\x01\x2d\x56\xe8\xd1\xc9\x44\x9a\x12\xdb\x23\x5d\xcf\x51\xb5\xcd\x7b\x72\x1d\x6c\xfb\xac\xe4\x1f\x1f\xac\x05\xdd\x53\xee\x35\x90\x3c\x04\x29\xa9\xf6\x31\xe9\x69\x70\xb0\x74\xdd\x51\xc5\x36\x64\x4a\x2f\xa7\xbc\xce\x49\x97\x16\x54\x5f\x5d\x13\xba\xd8\x5a\x0f\xd6\xf8\x70\x43\x45\x30\x98\xa3\x43\x64\xa4\x53\x20\x1e\xf0\xbf\xab\x53\xbc\x48\xd9\x3d\x40\x6f\x14\x71\x8b\x73\xa4\x95\xd1\x14\x44\x0e\x92\xbe\xd4\x68\x73\xb1\x0d\x2e\x13\x6d\xaf\x8b\x15\x36\x9a\x4e\x9f\xa9\x9a\xaa\x45\x68\xb2\x3e\xb6\xfb\x31\xfc\x08\x99\xbe\x06\x42\x84\x32\x44\x2c\x1e\x5e\x6c\xa8\x8a\x49\xd9\x26\x35\x7e\x66\x3a\x99\x33\x9a\xa7\xfc\x12\x2d\xae\xec\x45\xc0\x4b\xd7\x9b\x0c\x2a\x13\x51\x5d\x34\xaf\x37\x25\x8c\x5c\xfd\xe5\xf0\x9c\xc4\xfe\x65\x4a\xbe\x69\x02\x1a\xc2\xf1\x9e\x16\x84\x94\x3a\x4d\x20\x1e\x29\xa3\x38\x52\x67\x25\x16\xad\x13\xcf\xd4\xaf\x0b\x81\x77\x37\xe4\x52\x65\x59\x92\x84\x78\x15\xdf\xa9\xf9\xb2\x01\x41\xca\xb0\x94\x46\xe8\xfb\x89\xe8\x18\x32\x3d\x6d\x8b\x8b\xae\xcc\xe6\x24\x39\xc6\x82\x9e\x1b\x76\x88\x62\xe3\x43\x6e\x2a\x8e\xa8\xa3\xb1\x85\xad\x55\x32\x8a\x5b\x3d\x14\x9b\x81\x9c\x09\x77\xaa\x46\x52\x9e\x43\x4a\x5d\x0e\x0d\xed\x2f\x7b\x58\x24\x73\x93\x34\xba\xaa\x12\xca\x45\x31\x6a\x96\xa2\xd4\x82\x8e\xf1\x5d\xe8\xe0\x25\xd4\x6d\x93\xd5\xf8\x48\x2d\x2e\x37\x2d\xdb\x18\x69\x8f\x7a\x29\x2c\xde\xd3\x77\xf2\x74\x29\x6b\x8d\x2b\x85\x7d\xa4\x78\xe9\x37\x8c\xca\x16\x7d\xc1\xca\x07\x46\x01\xd1\xd8\xb0\x54\x28\x8f\x7a\x2c\x84\x6b\x98\xd4\x80\x9f\xd3\xbe\x2d\xb6\x69\x30\x64\x47\xa7\x88\x04\xc6\x82\x7b\x94\x40\x0e\x3e\xd9\x37\x3e\xa2\x83\xba\x72\xe1\xd1\xee\x64\x58\x82\xca\x21\x24\x64\x35\xbf\x0a\x0d\xfb\x4b\x81\x5f\xdf\xc7\xf3\xd6\x35\x0d\x94\x0a\xf4\x5e\x72\x55\x99\x7b\x8c\x56\xdc\x93\x02\x79\xee\xac\x90\xc0\x04\x59\x53\x63\xea\x1c\xa2\xc8\xdb\x28\xc6\x4e\x49\xc1\x26\xda\xc4\x3c\x2a\x81\x98\x2e\x59\x3d\x0f\x7b\xf0\xb6\xb5\x97\xad\xe4\x37\xd6\x1b\xac\x7b\xc6\x2e\x3d\x83\x4b\xd0\x7a\x41\xcc\x42\xc3\xeb\xe5\x01\xda\x7a\x94\xac\xfb\x9c\x20\x79\x29\xc0\xa4\x0d\xd4\x13\x07\xe1\xbb\x0b\xb9\x04\x86\xfb\xe9\x8f\x20\x11\x02\x8b\xbd\xf8\x1d\xb8\x00\x42\x68\x2c\x86\xcb\x64\xa3\xdb\x12\xfe\x0d\x27\x0e\x0a\x74\x28\x5e\xa4\xf9\xd1\xb6\x3b\x3b\x46\xa4\x39\x96\x20\xc9\x22\x61\xc0\x92\x7b\x13\xdb\xf2\xf9\xcb\xf0\x57\xfe\xac\x1c\xe8\x39\x7e\x9e\xfa\xe8\xf7\xc3\xf9\x1b\xf0\xd4\xf5\xee\x0a\xdd\xdd\x59\xad\xfc\x72\xf4\x70\x55\x5d\x84\xf6\x96\xcb\x94\x05\x0a\x51\x30\xa4\x09\x93\x03\xdf\xa6\x6f\xf2\xb1\x42\x5d\xa2\xf1\xd1\xcc\xe8\xbe\x20\x9f\xa4\x36\xf9\x09\x3c\xbf\xd1\x0e\x70\x98\x10\xa7\x58\x02\x81\x22\x5e\xd8\x32\x68\x61\x5f\xe1\x25\xf4\xa8\xba\x81\x30\x8e\xe0\x69\xa8\x28\x09\x1f\x76\x5e\x64\x68\x98\x50\xed\x20\x90\xb8\x0f\x97\x0f\x3e\xbc\x37\x5c\x88\x98\x49\x29\x95\x38\x15\xed\xef\x29\x49\x87\x70\xe2\xaf\x45\xab\x36\x3f\xce\x89\x57\x82\x50\x90\x24\xe4\x10\xa9\xe8\x5c\xf2\x61\xfb\xe0\xae\x54\x45\xd3\x44\xb7\xa3\x45\x33\x44\x68\xc7\xa9\x50\x6c\xa0\x5c\x88\xa7\xc0\x73\x5a\x98\x60\x90\x49\x7e\xb7\x7b\x7f\x8d\xe5\x12\xd5\x24\x27\x15\x85\x07\xbb\x90\x55\x5b\x16\x67\x98\x68\x98\x9f\x86\x7d\x06\x1c\xd8\xdf\x0d\x5f\xa6\xec\x09\x7d\x64\x01\xb2\xf4\xda\x84\x48\x81\xa6\xb9\xcd\x7d\xc5\xa6\xc2\x10\x22\xad\x52\x54\xb0\x94\xb0\x38\xb6\xc5\x44\xad\x8d\xb6\x14\x32\x9d\x3c\x34\x36\x98\x4d\xa9\x02\x42\xa0\x14\xd3\x38\xc6\x83\xe3\x27\x65\x11\xe8\xe0\xee\xfc\x0d\x7f\xe3\x4c\xeb\x37\xcc\x19\x12\x83\x97\xe5\xa2\x94\x89\x64\x20\x48\x99\x2a\xc1\x8f\x7e\x53\x5b\xc8\x85\xbf\xe1\xd7\x1a\x86\x94\x49\x4c\x3f\x3b\xe1\xd8\x08\xfb\x56\xaa\xf8\xf9\x60\xdc\x92\xd1\x3a\xcb\x14\xce\x48\x24\x54\x56\xf1\x4b\xc6\x8b\x34\xfc\x87\xa0\xa0\x70\x09\xfe\xe9\x71\x80\xef\x02\x51\x77\x49\xf5\x11\x24\x61\xf9\x97\xbf\x2c\x2e\xa4\xc7\x4a\x96\xec\x67\xb1\xd7\x6b\x6d\xdd\xbf\x18\x75\x2f\xdc\x71\x7f\x3a\xf0\x0f\x0d\x4f\xf7\x5e\x7f\x47\xde\xae\xf5\xe4\xaa\xae\xf8\x75\xb5\xe0\x31\xe0\x99\x6e\xc4\xdb\x3f\xc3\x7d\x72\x4f\x06\x37\x11\xa6\xe1\xf8\xf5\x46\x75\x92\x1a\xf7\xc3\x33\xe0\xe1\x2e\x87\x3a\x80\xcd\x6d\x29\xcb\xf4\xdd\x7b\x37\xc7\x28\xe9\xd5\xb8\x5a\xaf\x34\x5e\x2f\xdf\xb4\x24\xb4\x05\x4c\xbe\x79\x02\x13\x5f\xdc\xf1\xa6\xf4\x64\x52\xce\x92\x80\xe2\xe9\x3a\xd0\x7c\x7c\xa6\x2b\x56\x6e\x90\x4d\x54\x75\x1f\x1e\x36\x85\xb1\x5f\x15\xb4\x82\x73\x16\x8e\xa5\x0f\x67\x79\x13\x7b\x75\xf5\xc1\x2f\x52\x74\x26\x47\x2b\x89\xf7\x33\x98\xa9\x91\x83\x8c\xc4\xd3\xcc\x4e\x24\xde\xa5\x6a\x70\xec\x10\xef\x06\xab\xcd\xaa\x6a\x72\x17\xe7\x3e\xf0\xea\x7b\x87\xa5\x36\x1f\x1d\xc2\x3d\x51\xf7\x11\x64\x51\xdb\xaf\xf0\xe8\xd6\x3f\x42\xb1\x78\x0e\x69\xd2\xa4\x15\x7b\x10\x3c\x98\xd6\xe8\x76\x84\xa0\x03\xf5\x50\x45\xee\x31\x88\xa6\xa2\x07\x70\xe8\x27\xdf\x5d\x65\x86\xf2\x74\x72\x55\xfe\xbf\xcb\x78\x87\xca\x06\xb1\x5e\x54\x38\xd3\x9a\x9d\xe0\xbb\xc6\x22\xa4\x50\xc1\x8a\x63\x48\x88\x82\x71\xb1\xd5\x6c\x3a\x68\x2d\x35\x51\x97\x62\xab\x57\xa3\xa6\xb7\x46\x46\x6b\xbe\x22\xd7\xe5\x1d\xd4\xae\xf8\x18\xc5\x31\x0f\x62\x7c\x43\x68\x92\x9e\x8d\x9a\x60\x97\x73\xc9\xf8\x74\x37\x38\x11\xc3\x48\x11\xd2\x7b\xb4\x6a\xad\xf8\x42\x7b\xad\x72\x44\x18\x4f\xac\x33\xc2\x43\x8b\x53\xa3\x45\x0c\x1d\x50\x3c\xce\x51\x06\x6c\xa6\x9a\x88\xb0\x24\xc9\xea\x93\x2e\xfb\x43\x55\x16\xf1\xe4\xb5\x21\xe5\xde\x78\x6f\x0e\x27\xd4\x80\xdc\xaf\x23\xf9\xa7\x41\xb8\xc3\x35\xda\xe1\xc1\x7e\x8b\x96\x03\x15\x71\x7f\xc7\xdf\x8e\x47\x4e\x87\x94\xfd\x21\xe8\x70\x54\x8c\x9c\xbc\x9e\xb4\x18\xe1\x49\xc7\x96\x34\x7f\x7f\x04\xe9\x3b\xe9\x2b\x60\xec\x4f\x90\xbc\xa6\x14\x34\x53\xfb\x89\x89\x4b\x6c\x29\xf0\x43\x18\x91\x17\xc5\x86\x2c\x9b\x8d\x65\xf3\xd3\x4c\x7e\xa2\x45\x5d\x85\x58\x73\xa4\x32\x73\x2c\xbc\x78\xb6\x9d\x04\xd6\x8f\xff\x59\xb8\xe9\x0a\x35\x43\xb1\x55\xd0\x3b\xdd\x0a\xd1\x0e\x91\x52\x9f\x3c\x94\xb5\x98\x85\xbc\x2d\xe6\x66\x49\xb6\xe7\x52\xb9\x0a\x83\x76\xe0\x29\xe0\xf9\xa7\xe9\x9b\xa2\xc1\xaf\xf4\xae\x54\x9c\x9c\xc9\xf2\x4e\x11\x54\x73\xf4\x8f\x3e\x7a\x94\x20\xf3\x22\x45\x9f\x76\xd7\x5f\x93\x02\x4d\x94\x38\x14\x3a\xa8\x35\x33\x44\x36\x3d\xf8\xa7\x57\xb5\xf7\xc2\xcf\x0d\x97\xf3\xec\xcb\x7a\x8f\x2e\x0b\xfb\x90\xa8\x02\xbe\x0d\xf8\xdc\x98\xa3\xda\xda\x59\x3e\xc0\xa9\x4a\x22\xd6\xd1\xb5\x2b\x93\x47\x16\xdf\x9f\x3b\x57\x1e\xca\xcc\x3c\xd4\xb0\x1d\x56\xf1\x21\x95\x00\xb3\xba\x65\x64\xee\x39\xf3\xa4\x1d\x53\x2c\x5e\x34\x29\x48\xec\x65\xa2\x06\x16\x30\x7e\x90\xeb\xd6\x40\xde\xfc\x07\x8f\x0f\xe1\x0a\x5a\x80\x03\x91\x72\x8b\x64\x56\x86\x75\x4a\xc5\x67\x46\x86\x16\xd8\x58\x98\x48\x37\x24\x6a\x9c\x63\xdf\x76\xf0\x2b\x92\x06\x8e\xf2\xd0\xee\x85\x2b\x30\x9d\xe2\xc9\xda\x64\x8e\x49\xa9\x20\xf4\x4c\x05\xd8\x01\x7d\xb0\x31\x71\x97\x23\xc8\x75\x54\x43\xc5\x43\x61\xa0\x11\x8e\x6c\x1b\x51\xac\x9d\x43\x20\x38\x85\x59\x3d\xce\xe8\xef\x56\x44\x52\x38\xec\xc2\x21\x33\xb5\xab\xe5\x3c\xf6\xc5\x79\xc0\xc0\x98\xaa\x6b\x6d\x25\x6e\x9d\x83\x13\x85\x6d\x7f\x01\x1c\x4d\x52\x32\xdc\x9f\x45\x55\x4b\x61\x29\x07\x54\xf9\xeb\x2a\x8a\x37\x51\x77\xec\x01\xba\x1d\x0e\x12\x5d\x01\x8a\x62\x85\x82\xad\x15\xcb\x20\x8f\x23\x62\xda\x11\x35\x5f\x41\x45\x6d\xf2\xba\x5d\xf5\x18\x0e\x2a\x37\x18\x3d\x02\x5c\xfe\xa8\x14\xb3\x72\x66\x54\x23\xe2\xf1\x30\xd6\x50\x2a\xd5\xf7\x0e\x57\xb4\x47\x39\x68\x31\x5a\x6d\x8b\x7d\x69\x51\xe5\xd6\xaa\xa9\xdf\x26\x2c\xb3\x74\x08\xbb\x18\x05\xcd\xf0\xce\x65\x24\x1c\xd8\x4f\x62\xe0\x97\x99\xa9\xc9\xe4\x17\xb6\xa3\xa2\x19\x17\x54\xba\x86\x91\x4b\x3a\x86\x0c\xe7\x47\xa3\xc9\xf1\x1a\xfb\xd4\x08\x39\x13\xaf\xdb\x38\xb8\x83\x66\xfd\x64\xd8\xd8\x62\x71\x7f\x3e\x68\xfc\x3c\xa1\x9b\xcd\xa3\x53\xca\xb0\x3c\xd1\xa7\x21\xd5\xac\xe8\xdf\x94\xa8\xa0\x92\xbb\x49\x1e\x01\x18\x54\x16\x43\x05\x7e\x8c\xab\x1f\x23\xf3\x9d\xe6\x0d\xc7\x41\x0b\x16\x85\x98\x68\x43\x67\xb6\x41\x51\x92\xee\x90\x6e\x8d\xc5\xf0\x89\x07\xf7\xdc\xc2\x7f\xbe\x91\x34\x46\x60\x5b\x8e\x8b\xc8\x30\xe7\x00\x66\x3d\xe1\x8b\x63\x19\xe2\xed\x6c\x02\x0d\x69\xd9\x27\x2c\x28\x18\x00\xb6\x17\x0b\x52\xf3\x64\x3f\x95\x89\xc6\x55\x6d\x67\xf2\xeb\x13\xd9\xd0\xbf\x57\x90\x9c\x76\xef\xc8\xf6\x26\xb5\xd8\xb4\x5e\xa3\x2c\x98\x73\x64\xf3\x65\x0c\xcb\x88\xdf\x5e\x93\xe9\xe4\x49\x9c\x20\xda\xe8\x4c\x5b\x4b\xaa\xfa\xb3\x7c\xcb\x84\xb8\x54\xaa\xce\x8c\x24\x19\xb3\x9f\xee\x16\x4b\x79\x73\x4a\xb9\x1a\x69\x82\x5d\x70\x74\x57\x64\x45\x07\x37\xdb\x33\x19\x08\xbe\xb1\x0e\x58\x9b\x4c\x9e\xd3\x06\xe5\x78\x24\xd3\xb0\x19\x3c\xb0\x55\x2a\xc4\xf1\xcf\x47\x24\x86\x51\x44\x92\x27\xab\xb4\x8f\x41\x94\x0c\x23\xa1\x9f\x70\xb0\x6e\x7c\xac\x18\x95\xbd\x8c\x37\xe5\xbb\x06\x47\x79\x9b\xc8\x8a\xc2\xf6\x1e\x4a\x20\x66\xd1\x37\xb9\xe2\x95\x8a\x2f\x58\x1d\x04\x61\xa1\x2f\x2a\xa7\x62\xad\x83\x9a\x4f\xc1\x8f\xec\xba\xec\x7c\x0d\x1c\x4a\x4d\xd1\x56\x18\xbf\x89\x5c\xf6\xc2\xaa\xa2\x4f\x0d\x80\x2c\xf1\x85\xe1\x31\x53\x9b\xa7\x67\x9a\x26\xee\x23\x97\x69\x93\x83\xad\x60\xdf\x56\xeb\x10\x31\x44\x1b\x35\xab\x7a\x00\xad\xa0\xde\x10\x4b\x00\xd9\x70\x86\xd2\xc5\xdb\xd8\x83\x2e\xd7\x05\xd9\x15\xea\xec\x47\xe2\x66\x07\xd3\xfc\xdc\xa5\x99\x85\x7d\xac\x5a\xf4\xaa\x58\xc2\xf4\xc9\x96\x86\xf0\xe6\x05\x7b\x71\x5c\xe6\x00\x2c\x7b\xa3\xf9\x91\x54\xd8\x57\xf6\x2c\x9c\x6c\x6a\xf8\xba\xd9\x79\x71\x9c\x79\x27\xf8\x41\xbe\xa2\x05\xec\xb8\x70\x70\xee\xed\xf6\x33\x9f\x24\x0d\xe5\xba\x43\x8a\x86\xb1\xf1\x80\xfa\x42\x8f\x75\x3b\xbd\xa5\x0d\xeb\x56\x07\x14\xe3\x33\x25\xbf\x14\x89\xb4\xb3\xc7\xb3\x3d\x97\xb4\x99\x9b\x00\x96\xb8\x19\xe6\x74\x1b\xf6\x36\xff\xc8\xd4\x12\x65\x5f\xef\x64\x1e\x02\x0d\xb0\xfa\x1b\x50\xc5\x80\x12\xc7\x2e\xba\xf5\xfe\x4c\x09\xcf\x76\xf4\x71\xc0\x52\x8a\x84\xaf\x75\x8d\x42\xae\x09\x3a\x55\x19\x87\x6a\xa3\x0f\xc6\x9a\x4d\xe2\xb0\x62\xf6\xe2\x92\x87\x8b\x86\xe8\xac\xb2\x79\xef\x00\x8b\xae\xe7\x96\x54\x2e\xd8\xf5\x38\xa9\xbb\xd4\x21\x7c\xe6\x19\xc9\xe0\x43\xd6\x04\x2e\x48\x77\x48\xc5\x0c\x58\xed\x00\xfd\xf7\x21\x32\x09\x08\x20\x0a\x6a\x42\x7d\x9c\xc5\x1e\xcc\xe8\xdd\x59\x90\x08\x12\x80\xfc\xf3\xc4\x05\x34\x69\x3a\x58\x31\xd7\x0c\x5c\x50\x51\x05\xe7\xc1\xcd\x86\x8c\x62\x33\x1c\x0c\x19\x6f\x1b\x0c\x5c\x8b\x7c\x51\x24\xcc\xab\x61\x43\xc6\x00\x57\xf9\x09\xfd\x49\x7a\xa6\x2f\x08\x42\x6a\x95\x2f\xa2\x4e\xa4\x12\x47\x1c\x7a\x49\xe6\x8b\x51\xbc\x79\xea\x3d\xef\xe5\x34\x87\x40\x38\x0b\x92\x74\xf6\xb0\x9b\x1d\xd2\xaa\x94\x96\x48\xa0\x77\xb8\xe5\x4d\x6d\x64\xca\x32\xf0\x1e\x28\xdf\x43\x22\x07\xa8\xa9\x7e\xac\x73\x78\x4c\x22\x20\x68\x60\x8a\x11\xfa\xa6\x14\x2c\xb5\x21\xd8\x6a\x12\xca\x2d\xed\x60\xea\x97\x8c\xfb\x60\x5a\x63\x59\x10\x87\x91\x8a\xb9\x5d\x53\x8d\xe2\x93\x5b\xba\x46\x05\xa7\x50\xc8\x7d\xd9\x43\x2f\x45\x40\xa6\x37\xc8\x0f\x28\x0e\x89\x89\xe6\x80\x4f\x42\xa5\x83\x37\x42\x39\x28\x52\x1b\x0a\xe2\xa5\xfc\xb2\x06\x67\x96\x0b\x73\x28\x13\x74\x20\x4d\xcb\x63\x8c\x6c\xb5\x5c\x6b\x3e\xd7\xed\x21\x01\x38\x8b\x8a\xee\x86\x46\xd0\xb9\x66\x8b\x09\xe2\xbe\x9b\x8c\x43\xd5\x13\x9b\x68\x45\xfd\x7b\x39\x9d\xab\x4d\xab\x5e\xcb\x22\x18\x62\x78\x33\xfb\x35\xef\x19\x8b\xad\x52\xcf\x89\xe5\x25\x92\xc9\x98\x3e\x05\xcd\x02\x9f\x98\x72\xa5\x7a\xb4\x52\x4e\xa5\x15\x82\x59\x4c\x90\x7e\x29\x22\x0e\x46\x44\xba\x54\x2b\x59\x26\x86\xde\x4e\x52\xd1\x4f\x26\xc1\xf0\xe5\xd7\xa9\x90\xc1\xa7\xb4\x3c\x1c\x44\x82\xbc\x73\x2f\xfa\x22\xfc\x06\x23\x39\xa1\xad\xfc\x45\x04\x55\x76\x83\xca\xdf\xbd\xae\xc0\x96\xf0\x00\x51\x12\x12\x53\xbd\xbc\x85\x1e\x2c\x1a\x27\x8c\x5b\xca\x97\x6e\x6a\xc6\xd4\x1e\x2f\x22\x9f\x73\x3b\x53\xed\x4c\x73\x05\xfd\xf1\x0f\x35\xaa\x4e\xb5\x8d\xba\x0e\x79\xbe\x40\xc1\x93\x31\x17\x71\x88\x31\x49\xc6\x7f\x66\x2c\x49\xb8\x0d\x57\x49\x7e\x86\x88\x33\x6e\x0c\x2f\x65\x59\xdc\x49\xc5\xe3\xa4\x15\x85\x56\x59\xe3\x2e\x6f\x89\xc5\x8e\x6b\x6f\xa4\x8d\x77\x62\xdb\xab\xdd\x7b\x2d\x2f\xa9\x16\x53\xb6\x1c\x93\x26\x9d\x71\xd7\x04\xb2\x37\xe6\x2b\xbe\x7a\x7e\x92\xb9\xa9\x32\x86\x3e\x65\xb1\x75\x53\x25\xbc\x6a\x65\x5e\x50\xe7\x96\x45\x0d\x9e\xfe\x95\x7c\x9f\xec\x71\x61\xa6\xc9\x03\xdc\x48\x9c\x82\xca\xfb\x32\x7e\x27\x02\x65\xd3\x60\x5e\x1f\xa8\x9a\x9e\x7d\x89\x07\xd7\x54\x23\x34\xf0\x10\xf7\xdc\x56\xc4\xdc\xe0\x57\x52\xf2\x15\xd2\xd0\xc1\x04\xd8\xe9\x4c\xbc\xc7\xe5\x0e\x7d\x37\xe3\x34\x38\x96\x73\xf6\x7b\x42\x92\xcf\x13\xc3\xed\xf4\x82\x5a\x9a\xef\x2a\xaa\xee\x41\x98\x59\xe4\xc0\xdb\x4f\x0d\x7d\x83\x37\x12\x7b\x4d\xc8\x6c\xaf\x0b\x99\xa9\xa8\x6d\xd7\x14\x78\x97\xbd\x8a\x30\xd9\xa1\x4b\x59\xfc\xf3\xd1\x4c\x7a\x78\xa4\x58\x33\x31\x14\x04\x74\x9d\x34\x95\x6e\xa5\xb6\xf0\x1c\x0f\x34\xdf\x4b\x04\x76\x14\xd9\x3f\x42\x98\x42\x65\xa0\x0a\x32\x22\x62\xd4\xd6\xa8\xf7\xaa\x61\x81\x6f\x11\x66\x31\x79\x7b\xae\x1f\xcb\x76\xb6\xbf\x22\x2a\x4d\x5b\x28\x29\x10\xea\xf0\x0a\xbf\xb0\x41\xf4\x86\x24\x35\xb1\x1d\x8a\xe6\x96\xba\xb0\xad\x5d\xee\xa8\x84\x54\x2a\x63\x12\x8e\x43\x63\x91\x9c\x28\x67\x7a\xfa\x3c\xab\x3e\xbc\x36\x75\xcd\x21\x4a\xcd\xb7\xd0\xbd\xd9\xec\x84\x55\x2b\xd3\x2a\x4a\xf8\x4c\x29\x5c\xca\x63\x50\x4d\x7c\xcf\xb3\xf9\x43\x83\xf2\x1a\x5b\xb1\x00\x0d\xb0\xc5\x5d\x8f\x70\xe6\xe6\xaa\xdb\x16\x6d\xff\x76\x93\x91\xc3\x4d\x51\x69\xf2\x00\x24\x14\xa7\x05\xdc\x14\x7f\x87\x30\xa6\x3d\x65\x22\x32\x64\xec\x15\x5e\x6e\x64\x72\x79\xe2\xb1\x53\xc1\xd5\x58\xa1\x73\xa4\xc8\x83\x76\x05\x5f\x55\x5a\x14\x8e\xdd\x16\xcd\x63\x65\xe9\x83\xb3\xd6\x8e\x70\x8d\xce\xc9\x2c\x4c\xbf\x20\x52\x8f\xee\x2d\xb6\x9a\x21\xd1\x15\xbe\x65\x88\xc0\x33\x25\xb3\x5b\x31\x05\x50\x54\xf0\xfc\x54\x13\x68\x90\x5c\x24\x49\x10\xa8\xab\x4f\x93\xd1\x39\xa2\x7b\xeb\xc2\x2c\xc4\x23\xe6\x8c\x61\xd7\x83\x22\x3b\xdc\x81\xa7\x05\x34\x6a\x7e\xfe\x78\x8a\x0d\x0e\x83\x46\x4b\xeb\x63\x97\x63\xfc\x34\x22\xa7\x74\x26\x4a\x08\xcb\x4d\xd3\x0d\xe0\xdc\x60\x5e\x0f\xbd\x93\xd6\x26\x63\xb8\x21\xdf\x1d\x16\x4d\x27\x04\xd3\xf0\x06\x59\x1d\xfa\x99\xf4\xf6\xbd\xec\x69\x3f\x09\xa5\x48\xa8\xf0\xa6\xd0\x7e\x62\x09\x81\xd6\xd4\x2a\x40\xd6\xd5\xdf\xd0\x1f\x6c\x55\xbe\xa4\x4e\x41\x51\x76\x4d\x1f\x75\x71\x0e\x2f\x49\x2e\x88\xa9\xe9\x36\x8c\x19\x71\x5a\xde\x43\xe6\xbf\x87\x54\x2a\xf1\x76\x26\x6a\x31\xe9\x8b\xc5\x46\xe0\x8c\x54\x5d\x49\x50\x06\xeb\x44\xbc\x18\xb6\x30\x11\xac\x9d\x1c\xd4\x2a\x88\xb9\x2b\x89\x7f\xc1\x43\x61\x2c\xb9\x74\x9e\x3d\x33\xf2\xa9\xba\xa8\x44\x2c\x7a\x46\x4d\x4f\x7a\xb3\x13\xbf\x60\xe1\x44\x1b\xd0\xc5\x30\x8d\x36\xf6\xb3\x84\xa8\x10\x65\x17\x72\x4b\xb8\xd9\x60\x04\xa2\x61\xea\xdb\xd6\xae\x2a\xa1\x8b\xf9\x54\x94\x7b\x44\xc9\xc9\x91\x10\xd7\xbf\xb5\xe9\x4e\xa9\x10\x42\xca\x59\x86\xe1\x64\x1e\x4b\x3b\xe5\x34\x53\xfb\xfc\x8b\x67\xc3\xc5\xae\x63\xfd\xa6\x66\x8d\x29\xb3\x01\x9f\x83\x61\x8a\x9c\x00\x61\xc4\xc1\x1c\x53\x0d\x8a\xe5\x82\x45\x6c\xf7\x8f\x85\x70\x55\xaf\x5c\xb8\x31\x85\x83\xd7\x96\xf7\x43\x66\x33\x75\x30\x91\x1d\xc0\x67\x5b\x46\xca\x1e\x53\x3d\xed\x3f\xb7\x32\xfe\xfa\x15\x46\x9c\x40\x0f\x9b\x7e\x44\x81\x43\xa7\xd9\x10\x49\x9b\x5b\x44\x42\x31\x1b\x47\xe3\x45\x90\x25\xac\xd6\xf3\x5c\x7a\x4e\x3e\xee\x82\x77\x53\xc2\xfd\x61\x6b\xa1\x19\x4a\xfb\x4f\xb2\x5b\xf8\x8e\xc1\x2e\x8f\x9e\xc1\xea\xf4\xe7\x9d\xd6\x32\x85\x2c\x7e\x45\x49\xdc\xa3\x7a\x71\x65\x83\xc5\xf7\xe8\x2f\xe2\x09\x15\x13\x9a\xc1\x76\x49\xbb\x93\x96\x90\x05\x93\x13\xcb\x12\x58\x30\x08\x0d\xb8\x1c\x04\x8a\xe3\x1e\xda\xe6\x2a\xd7\x8d\x30\x11\x19\x77\xcb\xd1\xdc\x94\x1c\xaa\xeb\x90\x39\x4e\xfb\xd1\xd5\xe1\x4d\x72\x06\xdd\xc5\xc3\x30\x04\x3c\x05\x94\xc7\xa5\xcd\x26\x1b\x41\xf2\xe7\xe7\x65\xa0\xea\x75\x78\x07\x2d\x28\x6e\x24\x9a\x65\x32\x0d\x92\x84\x14\x84\x5f\x01\x57\x5b\x0e\x2c\x29\xf9\xfd\xb8\xc5\x20\xc1\xac\x2c\x31\x15\xc4\x52\x86\x36\x72\x5f\x35\xbd\x91\x43\xcb\xc5\xec\x9e\xfe\xfe\xcd\x0e\x68\x8d\x66\xca\x52\xf1\x53\x05\x19\xac\xe6\x3a\xfc\x09\xdc\x1a\x78\xed\x51\xfa\x2d\x89\xdc\x08\xdc\xe7\x54\x97\x06\x5d\x4d\xca\xc9\x29\x2e\x36\x3f\x6d\xb9\xa0\x84\x32\x4e\xa3\x11\x2b\x4c\x82\xd6\x99\x5e\x1c\xbd\x26\x8c\xa7\x99\xc5\xaf\xdc\x19\xcb\xc9\x1a\xec\xd9\x16\x73\x9c\x32\x42\x67\x62\x61\xa4\x4b\x31\x93\xe8\x75\x68\xdf\xf2\x68\x76\x42\xcf\x86\x98\x4c\x55\x86\x2b\xbd\x18\xf9\xd9\x71\xff\x04\xdc\x0d\x32\x80\x7b\x9b\x4a\xa2\x2c\x2a\x26\x53\x87\x1e\xd7\x42\x2d\x10\x90\x87\x42\x5e\xf6\xa7\xc9\x29\x44\x19\xa3\xdd\x80\x24\x19\x27\xe4\xe2\xf1\x3d\x77\xd1\xc3\xc1\x89\xad\x4c\x4d\x94\xa0\x77\x48\xe8\x97\x32\xb3\x22\x99\xd4\x9f\x4a\xdc\x1f\x54\x2c\x0b\x0e\x03\xdf\x04\xfa\x44\x4a\x31\x8a\x0f\xb0\x6d\xe5\x03\x87\x41\x06\x75\x4b\x21\xfc\x5e\xa4\xd1\xaa\x92\xe3\x00\x3f\x09\x3c\x93\xff\x7b\x8d\x6a\x11\x48\x17\x0c\xe9\x3f\x4e\x8d\xbf\x86\x4b\x20\x72\x89\xd5\x04\xda\x0e\x3e\x74\x35\x3f\x5e\x5e\xb4\x70\xb5\x69\xac\x3d\xa9\xed\xf2\xda\x16\x9f\x95\x86\xd3\x8a\x80\x6d\xaa\xee\x6c\x64\xa6\x5b\x84\x8a\x72\xc4\x08\x87\x49\x61\xc3\xec\x69\x38\x70\xe5\xe5\x93\x97\xca\x58\x1b\x2e\x43\xa4\x60\x6f\xbe\xfb\xa6\xe6\x86\xeb\x7b\x9f\xc0\x64\x67\x54\x3e\xe0\x3a\x6d\x00\x1d\xbe\x93\x41\xe9\x42\x10\xda\xc3\xf8\x68\x62\x45\xe2\x90\xd3\x8a\x45\xdc\x97\x78\xc0\x6f\x8f\xd4\xe6\x91\xc1\x25\x19\x46\xa8\x6c\x2a\x3b\x8c\x26\x87\x5b\xa7\x82\x22\xe2\xe2\x5e\x2f\x99\x6d\xc7\x76\xc8\x29\xc0\x8d\xf9\xf4\xc0\x6a\x2a\x33\xc7\xd2\x3b\xbf\xdc\xa4\x01\xe8\x94\xb9\xa4\x2a\xc4\x76\xc2\x8f\x28\xf0\x96\xf5\x49\x1d\x87\x6d\xe7\xd8\x56\x41\xa0\x3a\x5c\xb2\x65\x60\xb6\xe8\x6e\xc4\xf0\x4e\xa2\x50\xc7\xe3\x92\xb3\x0e\xbe\xfa\xd5\x57\xa1\x2e\x8d\xde\x16\x9d\xe6\xc5\x6e\x1e\x91\x8c\xe9\xe4\x05\x75\xc3\x99\x45\xa5\xf7\x85\x03\x38\x4a\x93\x43\xd0\x3e\x2e\x3d\xdd\x87\xb0\x2a\xda\x67\x7d\x3f\x2f\x4f\x46\xcc\x65\xf9\xf0\xad\x5b\x18\x3e\xba\x7f\x5c\xe5\x87\x76\xe5\x51\xf3\xaf\x91\xf4\x28\x4c\xc3\xfe\xf2\x8c\x09\x11\x17\x55\x1e\x8a\xab\xcf\xa6\xae\x63\x1d\x4d\x6d\xa3\xd3\x85\x2f\x69\x45\x37\xba\x16\x2e\xfa\xf5\x9b\x24\x98\x46\x96\x36\x6a\x02\xd3\xd3\x46\xdf\x07\x3b\xb6\x2d\x43\xf5\x81\x6a\xdc\x77\xe9\xfb\x68\xdf\x0b\x44\x08\xc2\x6e\x6b\x41\x70\x08\x9d\x90\xd6\x7a\x50\xe1\x19\x0a\x64\xbf\xe3\x4d\xfd\x28\xb4\x26\x3d\x52\xcf\xa5\xc3\x5c\xd1\x5c\x0a\x7e\xff\x8c\x6d\x1e\x24\x7e\xba\xc5\xef\x8a\xa8\xec\xaa\xbe\x00\xab\x8a\x57\x3b\x69\xa2\x4b\x88\xef\x50\x6b\x6a\xb0\x7e\x12\x41\xd4\x5f\x1a\xca\x93\x44\xd2\xc2\xd3\xb8\x43\xca\xcb\xd8\x42\xf2\x4c\xc6\x08\xc9\xe7\x40\x26\xa0\x51\x92\x88\x76\x6f\xdd\xfb\xca\xc0\xe8\xd5\xbd\x60\x7b\x56\x78\xd3\x7c\xb0\x28\x66\x04\x64\xed\x50\x57\xe1\x4a\x70\x1b\xda\x94\xae\x4d\x4b\x63\xe6\xf7\xbb\x28\x8b\x8b\x3f\x3e\x39\xc9\xf6\xfc\x56\x39\xa1\x9f\xd7\x15\x64\x29\x82\xab\x1b\x9b\xda\x0a\x9c\xc1\x26\x24\xbc\xb2\xba\x8a\x62\x83\xea\x0e\xe6\x87\x6b\xbb\x13\x7b\xd9\xcc\x3d\x92\x4b\x21\xb4\x73\x5b\x71\xa3\xfc\x4c\x24\x9f\x12\x75\x4d\x49\xc7\x8b\x9b\x2f\x63\xd5\xbc\xf8\x9c\xcb\xf4\x01\xcf\x9f\xd0\xec\xd0\x1d\x76\x41\x85\x19\xe3\x45\xe8\xb6\xed\x1d\xd0\x68\x62\x74\x0a\xbf\xbf\xc3\xc2\xfb\x23\x51\x98\x56\xe7\x54\x34\x72\x32\xc1\x56\x98\xf1\x56\xa6\x95\xaf\xa4\xe2\xd9\x82\xf8\x38\x2b\x8e\x56\x30\xe2\x96\xec\xb4\x17\xa3\x9b\x48\x91\x21\xab\xb9\x19\x92\x16\x34\x6e\x4a\x89\x22\xcc\x39\xad\x63\x66\x52\x4b\xd6\x35\x15\x27\xcd\x5a\xd5\xc6\x25\x81\x96\x8f\x9a\xd8\xbb\x70\x42\x71\xae\xe4\x31\x7a\xbb\xc3\x89\x36\x50\x72\x3d\x5b\x3c\xb7\x8b\xd9\xf0\xf9\xcf\xb1\x04\x99\xe7\xca\x1a\x29\x9f\xbb\xa8\xdb\x2e\x88\x1f\x99\x8d\xb5\x23\xa5\x89\xd4\x9c\x07\x77\xaa\x9b\x23\x78\xe2\xd0\xd1\x53\x51\x95\xa8\xa3\x08\xc4\x54\x7c\x4b\xfc\xa3\x8a\x5f\xee\x24\xd7\x76\x4c\xa1\x20\xb6\xc7\x20\x9d\x6b\x83\x67\x0a\x8d\x86\x70\x36\x04\x21\x09\x64\xbd\x7f\x61\x00\xba\xd6\xae\x89\x3c\xee\xfa\x11\x64\x37\x29\x37\x08\xcc\x5f\x17\xd8\x36\xba\xb8\x22\x08\x0e\x4d\x47\x7e\x2b\xc2\xca\xe7\xac\x27\xfd\x51\x13\x1b\xd7\x0d\x8a\xb8\x97\x72\xfd\xd6\x75\x70\xdc\xfc\xc0\x7b\x0d\x31\xd0\xc2\x30\xa1\xe4\x71\x94\x44\xcb\xa2\x6b\x86\x1d\x96\x96\x5b\x36\x7b\xa3\x87\x33\x4b\xfa\xd7\x6b\x54\x1e\x91\x6e\xca\x10\x86\x66\x32\x0f\x8b\x38\x86\x80\x0e\xb5\x88\x64\x35\xbb\xfc\x9d\x94\xbd\x91\x1f\xbc\x8a\x12\x74\xe8\x5c\x36\x97\xb8\x18\x4e\xac\x22\x6f\x2b\x26\xc3\xa9\x79\xd3\xa5\xc3\x84\x95\x50\x12\xaf\x8f\x17\x75\x43\x85\x8c\x08\xae\x77\xd4\x69\x3e\xea\xd9\x68\x4b\x0c\x01\xdd\x95\x5b\x9d\x43\x70\xa1\xe1\xdc\x40\x41\x83\x9b\x8b\xb4\xd4\x50\xaa\x79\xcf\xa8\x37\x17\x6f\xa7\x7e\x55\x56\x42\x4a\x78\x34\x0d\x6b\xc6\x25\xbb\x9b\x3c\x90\x74\x10\x31\x8b\xa9\x24\x4e\xa0\xf9\x3e\x40\xa8\x60\xa5\x91\xb8\x9f\x37\x41\x0d\x62\x60\x42\x56\x78\x41\xcb\x9e\xb7\xf3\xfa\x32\x97\x7b\xb0\x49\xd8\x8a\x21\x2e\xed\x50\x4c\xb7\x6f\x4f\xe8\x6a\xc8\x21\x84\x8e\xb0\xe4\x08\xaf\x80\xc7\x79\xf6\x82\xec\x14\x4a\x86\x95\x0a\xde\xf4\xd9\x3f\x3d\x26\x86\x46\x1a\x66\x12\xf0\x23\xe2\xff\x00\x48\xaf\x94\x1f\xdc\xc2\x92\xeb\x3d\x11\x69\x71\xeb\xe8\xc5\x0d\x51\xfc\x93\x05\x73\xba\x02\xa1\xc7\x75\xa2\x34\xae\xe1\x58\x67\xea\x1b\xb2\x6a\x13\xf4\x93\xee\x30\xee\x88\x7c\x0c\x3e\x4b\xbb\x60\x31\x3b\x7a\x47\xd8\x8b\x7d\x99\x4a\xd1\xfe\x27\x9b\xaf\x0b\x89\x36\x77\x8a\x8e\x65\x34\x9c\xa3\x31\xe1\x9c\x41\x48\x41\x91\xdb\x5b\xd6\x9d\x85\x5a\x7f\x68\x3c\x74\xef\xb7\x48\x2b\x20\xe7\x95\xc5\xd5\xc1\xad\xba\x2d\x0f\x21\x16\x70\x3c\x8a\x5e\xf1\x70\x4a\xd7\x76\xf4\xde\xe7\xcf\xa2\x93\x74\x75\x07\xce\x81\x28\x64\x14\xb3\x25\x93\xfa\x15\x6b\x88\x92\x26\xb9\x69\x1f\x31\xe7\x3c\x96\xbe\x9d\x23\x89\x11\xf9\x3d\xbf\x98\x3b\x54\x07\x0c\x2b\xb8\x7f\x32\x62\x89\x99\x9b\xce\x8a\x18\xc9\x0e\xf1\xb7\x2c\xf5\xb4\xfd\xfa\xe8\x27\x11\x0a\x85\xcc\xcc\xa9\x8f\x72\x57\x2f\x3c\x9c\x77\x22\x31\x87\xc7\x18\x7f\x5d\x46\xe0\x26\x46\x09\x99\x3d\x56\xfe\x5d\x2c\x16\xc6\xd9\x17\x55\x78\x5c\xa4\x40\x54\x5e\x35\x00\x07\x27\xed\xf2\x5b\x2c\xda\x95\x55\x30\xdd\x57\xf4\xf7\xb2\xf8\x20\x44\x79\x0f\x28\x08\x66\x45\x34\xa0\x0b\x13\x77\xd2\x67\x01\x8c\xc4\xed\x86\x67\x6b\x53\x3a\x6b\x43\x56\x26\x7b\xb1\xd1\xa1\x1c\x02\xa5\xc4\xc4\x8f\xea\x3c\x3e\x68\x7f\x71\xbc\xf5\x34\xca\x7a\xdf\xe9\x27\xd3\x84\x8d\xc3\xf4\xd3\x77\x21\xc4\x7a\xcb\x6a\xa2\xc7\x37\xb3\x71\x79\x2e\x88\xeb\x3d\x49\xea\xb1\x05\x5b\xc3\x6d\xc0\x89\xf5\xd0\x03\xc3\xc4\xc4\x21\x62\x10\x1b\x16\x36\x9b\x01\x5e\x86\xdb\x8e\x4c\x03\xad\x98\xd4\x43\x1a\x9a\xd5\xe7\x65\x5a\x44\x45\x84\x2e\x6c\x44\xf6\xc4\x05\x65\xc9\xb2\x9b\xfc\xf5\xcc\xc4\xdb\x8b\x89\x5f\xf4\x22\x39\x0f\xad\x0b\x55\xa9\x14\xc4\xf9\x0d\xcc\x07\xe1\x3b\xee\x2a\x9e\x84\x77\x71\x48\xe5\x06\x5c\xfc\x83\x44\x55\x34\x21\xd0\x8d\x50\x4d\x4b\x29\x7a\x51\x0c\x3c\x3c\x4c\xaf\x6d\x7d\x1e\xa1\xf3\x3f\x15\x23\x47\xbb\x84\xff\x42\x52\x32\xb8\xf1\xa5\x56\x19\xc1\xc5\xdb\x0e\x1e\x24\x0a\xc9\x20\x92\x8b\x99\x44\x56\x53\x28\x77\x28\xae\x6f\x43\xc3\x11\xff\xef\x5c\x0c\x44\xa6\x6a\xf6\x3e\x5f\x8d\xce\x8b\x14\xce\x7f\x9b\x4a\x6d\x15\x10\xec\x05\xc1\x1a\xeb\x70\xa0\x7e\xb8\x70\xb2\x04\xde\x39\xf9\x80\x5c\xb8\x01\x9b\x12\xa4\x76\xb4\x53\x08\x6a\xe8\x54\x8a\x8c\xd3\x34\x3d\xec\x35\xc9\x59\x07\xa1\x70\xcc\xa7\x5f\x94\x9d\xca\x48\x21\xaf\x2e\x38\x5f\x67\x9c\xca\xf2\xd6\x16\xfb\x7d\x74\xf2\xeb\x6a\x9c\xdc\x9b\xd1\x21\x61\x47\x35\xa9\x9c\xdb\x7d\x40\x0b\xfa\x9a\xa2\xf9\x75\x86\x93\x7a\xeb\x94\x3b\x9b\xa6\x83\x39\x41\x05\x1c\xa1\x33\x30\x0e\x53\x2f\xd2\x13\xed\xb8\x4a\x29\x7b\xe0\x2f\x09\x62\x7f\x78\xe9\xac\x10\xde\x3c\xa5\x9d\xc7\x73\x26\x50\xad\xbf\xde\x8e\xae\x7b\x94\x1a\x0f\x7f\x0d\x18\x98\x4d\x4b\x40\x1c\xa6\x3e\x84\x0b\x6f\xfa\x4b\xe2\x98\x84\x1a\xa1\x80\x78\xb2\x47\x2e\x4b\x75\xa8\x23\xa8\xc1\x48\x32\xc5\x51\x9f\x67\xe1\x7a\x0f\x8f\x28\xf1\xa4\x78\xb4\xe2\x31\xf3\xc8\xee\x6f\x25\xa9\x45\xa7\x8f\x43\x70\x60\x98\xac\x64\x61\x96\x98\x27\xc1\xa1\xee\x42\x8b\xa6\x56\x28\x5d\x47\x4a\xe2\x98\x29\x5f\x92\x2b\x98\xa7\x91\x74\xb8\xd9\x04\x7c\xeb\xe3\xb2\xdd\xee\xf8\x8e\x37\xd5\x95\xb9\x37\xe3\xd2\x19\x55\xfb\x83\x72\x04\x92\x06\xcd\x4e\x0a\x0f\x05\x87\xe4\x41\xef\x3b\x2d\x6c\x5a\x43\x0a\xfb\x35\xf5\x57\xbe\x62\x55\x4a\xf6\x5b\x19\x43\xef\x3a\xd1\xa8\x6f\x63\x5e\x56\x95\x07\x1b\x0b\xf8\xed\x27\xd4\x6f\xad\xa7\x77\x4f\x3a\xc5\xcb\x39\x1d\x17\xf4\x69\x3a\xc6\x45\xea\xa8\xe0\x23\x8f\x52\xba\xe6\xb2\x54\xe6\x15\xcc\xab\xa0\x83\xa6\x54\x3b\x08\x19\x97\x95\xe7\xe5\x0c\xaf\x3c\xf8\x6b\xd6\xcc\xb9\x87\x93\xea\xef\x38\x58\x45\x4c\x7c\x0d\xde\x82\x26\x2f\x92\xa9\x51\x88\x97\xa4\x90\x17\x52\x4d\x78\xa6\xd6\xa2\x0b\x9b\xa9\x45\x0b\xd1\x1e\xd5\x6d\xf4\x0e\x79\x96\x88\xb9\x2f\x33\x02\xa7\xc8\xed\x4f\x54\x7c\xdd\x85\xeb\x57\x71\x4d\xb7\xb0\x7e\x7f\xc4\x5f\xf1\xaa\xa2\x81\xbc\x37\x3a\xfa\x9a\x71\x61\x32\x8c\xc6\xdb\x82\x61\x7c\x97\xd0\x1f\xbd\xb2\xb0\x52\xbf\x89\x53\x08\x5f\xea\x22\x63\xeb\x2a\x32\x0b\xcc\x38\xd2\x96\x6e\x1d\xf4\xe9\xf9\xb3\x2c\xdc\xdc\x0c\x0b\x85\x87\x22\x0a\x57\x33\xb2\x9e\x84\x3b\x27\xc5\x2c\x30\x06\x6c\x8f\xda\x25\x56\x8f\xd6\x46\x1f\x6f\x79\xde\xff\xd9\xc8\x95\x2d\xf2\x23\xf6\x0d\x68\x52\x3b\xfd\xe1\x30\x1d\xab\xc3\x92\x63\x99\x21\xfc\xe2\x01\x0e\x9d\xc7\x0c\x0a\xc0\x1d\xb0\x8c\x53\x89\xf2\x9d\x9e\x35\x2c\xd1\xbc\xb0\x46\x09\x5c\xc8\x17\x32\x6e\x16\xbe\xed\x26\xfa\xde\xcd\x62\x47\xc9\x68\xe2\x60\x9b\x5c\x8c\x40\x2a\x16\x83\x7a\x7b\xa0\xc8\x95\x4b\xb6\x04\x42\xea\xfe\x81\x3e\x9a\x2c\xbd\xe4\x12\x57\xc0\x53\x6b\x8a\x18\xb1\x96\x42\x96\x48\xad\xab\x8f\xaf\x29\xcd\xf7\x27\xfb\x6e\x6c\x59\xc4\x00\xc6\x4c\xe2\x8c\x78\x41\x97\x38\x3c\xc5\x2f\x3a\xdf\xaf\xec\x06\x55\x52\x02\xdc\x90\x89\xb8\x06\x41\x15\x5f\x44\xa4\xfa\xc2\x28\xe5\x25\x7e\x63\xb2\x53\x75\xc1\xd1\xf4\xae\x5a\x8e\x90\x7a\xd5\x8c\x2e\x69\xb0\xb7\xe0\x29\xce\x37\xbb\x3f\x4c\xae\x1f\x44\x85\x79\xe6\x70\xbd\xfb\x88\x94\xf3\x96\x74\x86\xfe\xca\xbd\x2b\x51\xe5\xbc\x29\x61\x3d\x20\x1d\xc5\xc0\x18\xaf\x43\xde\x19\x4f\x4d\x19\x22\x1e\xe4\x9a\x8c\x2c\x7c\x5a\x8f\xc6\x0b\xa7\xa7\x49\x28\x46\xaf\x29\x02\x07\xef\x5c\x32\xef\x62\xfd\xab\xba\x1d\x42\x6f\xc3\x35\xbc\xb8\x78\x92\x37\x61\x8a\xef\xa5\x60\xdc\xdf\xd3\x7c\xdf\x1c\x5e\x74\x31\xaf\xbd\xfe\xb4\x09\x3d\x5d\x5b\xa0\x5a\x64\x9f\xa2\x08\x23\x68\x83\xe0\x8b\x4a\xc8\xf2\xf5\x91\x8d\x71\x76\xfe\x38\x3a\xdf\x37\x16\xee\xa0\xb0\x24\x2d\xd6\x71\x65\xfe\x3d\x0e\xa2\xb6\x6f\x09\xc5\x58\x7a\xc4\xea\xc8\x44\xcd\xdf\xf3\xfc\xf8\x37\xb6\x02\x52\xee\x3f\xf2\x46\xbf\xa2\x92\xc5\xd8\x57\x98\x5f\xe1\x46\x95\x29\x73\x0b\x28\xcf\x89\xed\x0b\x65\x9a\x69\xdd\xb2\x20\xa8\xfd\xb0\x8f\x45\x84\x70\xbe\x45\x2a\xfb\x84\x33\x6a\x96\xd6\x12\xda\xdf\x00\x7d\xc3\xb8\x76\x96\xa5\x60\x44\x79\x40\x34\xf4\x8e\x0c\x5e\x97\xaa\x19\xf4\x9d\xef\x38\x6c\x78\x32\x11\x4c\x9d\x7c\x6c\xe1\x00\xe7\xff\x25\xc3\xb3\x79\x8e\x1b\xe5\x30\x3c\x53\x23\xb5\x0a\x84\x79\xcb\xfc\xc1\x8b\xcd\x05\x8d\xcb\xe7\xde\x6b\x22\x1f\x0e\x4b\x8a\xae\x18\x54\xc6\x0b\x75\x3b\x8d\xa8\xd3\xa3\xe9\x1a\x25\x18\x9d\x55\x6e\x90\x95\x3a\xa6\xa7\xbc\xe7\xee\x7e\xf2\x43\x31\xa5\x83\x06\xca\x8e\x98\x66\x1e\x65\x64\x0d\x16\xf2\x19\x81\xa5\x92\xba\x10\xb5\x68\x49\x65\x4a\x4c\x21\xc0\xe8\x70\x17\xe2\xf3\x55\x3a\x6a\x3a\x2a\x99\xc3\x65\x5f\x22\xb2\x2e\x9d\xff\xb2\x73\x9d\xb0\x54\xef\x47\xe9\x60\x17\x74\x55\xb5\xa0\xc1\x6d\xed\x78\x91\x6d\x63\xd5\x4f\xed\x99\x88\xaa\x89\x21\x74\x0a\xba\x34\xe2\x50\xfe\xfd\xd1\x03\xdf\xd8\xea\x0c\x2c\x9d\x8c\x80\xb3\xe0\x39\x30\x8c\x0a\xbe\xb4\x21\x6f\xd2\x75\x48\x6f\x4d\x5d\x68\x5c\x94\x9a\xaa\xa2\x12\x8e\x06\x50\xe1\x6a\xb5\xa3\x0d\x15\x40\xbe\x03\x4e\x53\xa3\x5e\x4d\xce\x07\xdf\xf8\x78\x49\x4b\x7d\x65\x95\x7a\x61\xce\x9d\xf7\x7e\xf3\x0c\x61\x7d\xb8\x22\x63\x08\x84\x38\x87\x63\x4c\x19\x43\x30\x78\x1c\xe2\x15\x89\xe2\x2e\xa9\x1d\xfa\xa8\x6e\x8b\xed\x31\x17\x6c\xdb\x43\x25\xc4\x55\x80\x0c\x15\x30\x8f\xd7\xcf\x21\xfd\xfb\x1c\x03\xf7\x73\x13\x6e\xa8\x1b\xc9\xc9\x0d\xa1\x50\x15\x47\x9d\xd6\xb9\x54\xd5\x13\xff\x4e\xa3\xc1\x0f\xde\x75\x29\x29\xc9\x38\x6f\xf6\x47\x62\x68\xa8\x3a\xb4\x45\x4d\x8f\x28\x34\xc3\x70\x13\xbf\xe3\x1d\xaf\xae\xa7\x2f\xfb\xa7\x8a\x58\x2d\xca\x85\x8c\x8d\x09\xbe\x43\x9b\x7d\x8a\xcb\x09\xd6\xa7\x82\x82\x0d\xa2\xb9\xa4\x19\xb7\xe5\xcf\x44\x60\x29\x16\x24\x4c\x1e\x96\x8d\xfe\xc5\x1f\x89\x41\x48\x2b\x1e\xe2\x5f\x7d\x8f\xfc\x95\x48\xc1\x79\xaa\x9b\x4f\x32\x78\x59\xda\x84\x1a\xde\xed\xab\x9b\x3e\xf7\x59\x8c\x2e\x47\x1c\x4f\xdc\x28\x52\xa4\x15\x1e\x43\x26\x03\x3e\x91\x53\xfa\x1e\x35\x5f\xf6\x96\x85\xd5\xf0\x09\xdb\x3d\xdb\xaf\x92\xad\x60\x23\xda\x99\x77\xc3\xe8\x9c\x0c\x14\xb5\xd9\xdd\x13\xd7\xa4\xed\x15\x96\x8d\xb3\x67\x80\x29\xef\x29\x3d\x7a\xd9\x88\x3a\xac\xd1\x81\x70\x68\x0b\xe3\x00\xe5\x77\x9f\x25\xf6\xc6\x06\xa5\xb7\x36\xe9\xd0\xa2\x3b\xe6\x3d\x17\x37\xf9\xa6\xd0\xc1\x11\xb9\xab\x3e\xf4\x53\xd3\xc8\x06\xf2\x30\x40\x3d\xb1\xd2\x80\x6f\x78\x1f\xcb\x65\xc4\x1f\xd4\xe7\x58\xc5\x55\x8d\x8e\x4e\x0f\x21\x8c\x91\xa4\x85\x64\xe6\x9f\xe3\x39\xc0\x63\x95\x0a\xd3\x4d\x70\xe1\xdd\x94\xf7\x67\xe4\x86\x09\x83\xff\x58\x97\xd4\x12\xf9\x4f\x44\xa0\x1a\x5c\x20\x75\x1a\xe2\x9d\xfe\x40\x6e\xfc\x15\x0a\x3a\xd1\xa4\x33\xc8\xfa\x8f\x54\xad\x28\x8e\xef\x77\x29\x95\x72\xcc\xdc\x3b\x92\xc2\x01\x74\x92\x15\x9f\xdc\xf6\x2b\xbf\x79\x5c\x38\xb8\xcb\x27\x8b\x10\x9f\xe1\xfa\x35\x6f\x88\x61\xde\x84\xac\x0c\xf8\xcd\x34\x3f\x3f\x28\x85\x2f\xa0\x86\x10\x8b\x3a\xac\x60\x76\xf1\x43\x40\x21\xb9\xbb\xea\x50\x81\xe0\x17\x53\x9e\xc2\xf6\x09\x29\x53\xd8\x1d\xdd\x9e\xa3\xfa\xc5\x0b\x66\xee\xf0\xc6\xd1\x11\x95\xd0\xa2\x3f\x75\x3e\x0e\xec\x5a\xbe\x83\xe7\x09\x0d\xc2\x48\x78\x1a\x21\x2f\xc7\xef\x2d\x44\x25\xe4\x12\x9d\xa3\x18\x1f\xe4\x73\x24\x68\x03\x2d\xa7\xc7\xd9\xeb\x02\x39\x7d\x7a\xd9\xdc\x33\x54\xef\xb8\x11\xd6\xc5\xd3\xae\x9e\x96\x2d\xe4\x96\x40\x7c\xff\x22\xe9\xd1\xee\xcd\x0d\xdd\xf5\xc1\x9b\x67\x09\x99\xef\x59\x7d\x0c\xb9\x98\xea\xef\x35\xf1\x57\x27\x65\x7f\x52\x08\x09\x5d\xb8\x1b\xc0\xcb\xe6\x89\x72\xec\xbf\x45\x46\xb5\xdb\xa8\x17\x2b\xcc\xaf\x7b\x8d\x09\x8d\x96\xa9\x16\x8f\x29\xe1\x19\xf8\xa5\x2b\x1b\xfe\xe0\x73\x27\x14\x5f\x3b\x7d\x99\x95\x10\x78\x7b\x85\x2c\x4f\x0a\x28\x33\xe1\x3b\xb7\xd1\x11\x03\xdd\x92\x68\x26\xd4\xca\x41\x89\x19\x2f\xb4\x44\x65\xbd\x4e\x47\x5d\x51\xd7\xbc\xa7\x40\xb4\x79\xe3\xd1\x76\x51\xb5\x9e\x78\xf9\x53\x6a\x08\xa2\x71\xc3\xf1\x1e\xd7\xc8\x2b\xb6\xcf\x27\x33\x6f\x72\x69\x32\xf6\xb7\x17\xd3\x5e\xc2\x8a\x21\x4e\x8f\xd4\x28\x85\x27\xbf\x24\x98\xc9\x5d\x0c\x2b\x7b\xd1\x4e\x5c\xf8\xc7\x86\x31\x32\x28\xc6\xf5\xda\xd3\xa1\x59\x44\xa1\x7c\xcb\x45\x17\xdf\x9a\x6e\x16\x29\x6a\x1d\x74\x6d\x6a\xed\x82\xa6\x79\x35\x55\xa3\xfe\xd6\x86\x38\x4d\xbe\xa6\xb5\x10\x9a\xec\x8e\xc1\xe1\xcd\x5e\x91\xb0\x68\xda\xc2\xde\xf2\x99\x80\x67\xea\x2d\xf3\xc7\x17\xbd\x18\x8f\x35\x3e\x5f\x15\x7c\x03\x29\x55\x01\xda\x34\x0c\x10\x80\x2a\x28\x1f\x2e\xcb\xc7\x9c\xc6\x59\x03\x29\x49\xbc\xaa\x20\x3a\xfe\xcb\x92\xe7\xf0\xf9\x85\x13\x63\x6f\x69\x9c\x5d\x8a\x52\x74\x7b\xff\xa1\xde\x48\x9e\x54\xac\x45\x23\xd4\x02\xd3\x52\xd3\xd2\xed\x75\x4c\x40\x60\xac\x32\x10\xaf\xc0\xb7\x11\x8a\xaf\x5b\x5a\x6c\xfb\x03\xb1\x52\x49\xb3\x7e\xd9\xb8\xbd\x0e\xa3\x91\x3e\x03\x2f\x34\x49\x8e\x7b\x27\x90\x2f\xd9\x8a\x61\xea\x46\x1d\x01\xbd\x19\x84\x41\x92\x48\xca\x06\xf0\x6c\x49\xf9\x77\x8a\xa9\x51\x4d\xe2\x74\x7c\x65\x22\x40\x85\x1e\x6b\x66\xf9\x31\xb0\x4a\x23\xe4\xe9\xea\xbe\x8f\x7f\x5f\xac\x2c\x31\x7a\x27\x96\x4b\x36\xf1\xa0\x16\x46\x20\x74\xbc\x39\xd9\x9a\x69\xf9\xb2\xd1\x37\x19\xb9\x47\x24\xd6\x50\x07\x75\x58\xb7\x26\x53\x5f\xdc\x80\x05\x11\x85\x48\x52\xc3\xee\xe0\x09\x45\x9b\x6f\x83\xc1\x63\x44\xf9\xa9\x1e\x4e\x5f\xaa\x63\xcb\xce\xc2\xa2\x02\x58\x16\xb3\x8a\x48\xad\xca\x63\x4d\x62\x24\x53\x9d\x1a\xd2\x11\x6e\x50\xef\xf9\x67\xb0\x4f\x92\xdc\x60\xe9\xb2\xa1\xc3\xb8\x88\xe7\xc3\x35\xf3\x7a\x0c\xbe\xca\xbe\xfc\x66\x63\xc3\x56\x62\x65\x65\x34\xe8\x49\x75\x29\xb7\x5b\x19\xb9\x7e\xb0\x08\x4a\xc3\x9f\xdb\xc7\x07\xb4\xa7\x1c\x71\x4e\x73\x87\x65\x85\xa0\x77\xfb\x30\x3b\x96\xe1\x75\xa1\x52\xf5\x7c\x48\x8b\x21\x56\x14\x17\xa2\x55\xde\x79\x5b\x52\x21\xd8\x58\x91\xe4\xa4\x6b\x1f\x47\x8c\x34\x11\xb0\x99\x54\x26\x2c\xd8\x94\x1b\xb0\xef\x61\x8d\xea\xbe\xee\xba\xb8\xa6\x61\x39\xfc\x08\x46\x2d\x65\xb7\xd9\x59\xa4\x7a\x09\xb4\xf3\xba\x7d\x89\xfd\xa8\x81\x26\x81\xa8\x9f\x79\x2c\x90\xcd\x79\xa2\x8e\x8c\xa9\xaa\xdc\x3f\x59\x31\xd4\xfa\x03\x3b\x87\xb5\x86\xc8\x02\xd0\xea\x33\x6a\x63\x6a\xf2\x12\x0d\xd6\xeb\x27\x1c\x45\x40\x48\x9c\xc1\xa6\xb4\x9e\x30\xed\xf6\xc0\xf4\x33\xa3\x09\xe9\x0f\x1c\x6d\x0e\xc1\x42\x22\x29\x23\x22\x7a\x7f\x86\x16\xfd\x90\x3c\xa3\x3f\xe2\x68\x7e\xa9\x3b\xbc\x47\xfb\x21\x47\x03\x59\x6e\x71\xbd\x19\xb2\xd3\xae\x36\x54\x5c\x07\x9b\xa9\x9e\x61\xc0\xd2\x04\x4a\xe7\x92\xa3\x92\x8d\xa7\xb9\x4f\xc6\xdf\x71\xae\xe9\x20\x93\x99\x68\x0d\xc8\x05\x39\x44\xf6\xcd\xf9\x7e\x09\x22\x44\xd4\xf4\x81\x67\x7d\x94\xb9\x5d\xf0\x14\xc8\x11\x96\xf6\x68\xf0\x13\xde\x43\x6b\x15\xb8\xd7\x28\x8e\xab\x91\x01\x1d\x2a\x7c\xf8\x4b\xbd\xf1\xee\x47\x40\xdd\xb4\x7c\x8b\x2a\xf6\x43\xc3\x7f\xcb\x22\x71\xe1\xdf\x65\xf7\xb8\x98\x8d\x10\x54\x28\x13\x87\x14\x35\x69\xe9\x5d\x9e\xca\x1a\x3b\x20\x1d\x8e\x3c\x4f\xcd\xaf\x0c\x63\xa4\x45\x88\xce\x8c\x26\x0d\xe9\xaa\x71\xc6\x52\x03\x4b\x90\x0a\x8b\xfe\x15\x77\x90\xfd\x80\x3c\x86\x6f\xd4\x63\xab\x6b\xcf\x95\x12\xb6\xdb\xaf\x6c\x7b\x7d\x3c\x24\xf5\x33\x02\xf2\xf0\x24\xbf\x5b\x48\xcb\xe6\x7d\xd7\x68\xc2\xe8\x2e\xa6\xa1\xc4\xb4\x94\xfb\x86\xbc\x36\x82\x3c\x59\x6a\xec\x58\xb1\x0d\xd8\xa6\xb4\x2e\x88\x72\x3c\xcb\xeb\x53\x38\xe7\x88\x6f\x6a\xc8\x49\xee\x16\x70\xc2\x4f\x9b\x53\x3d\x84\xd9\xed\xc4\x9b\xe9\x4e\x3b\xa1\x9a\x7a\xd8\xe8\x02\xf0\x61\x26\xba\xd2\x44\xc1\xd8\x13\xbf\x2d\xe1\x6d\x43\xbe\x57\xdd\xd2\x85\x9b\x76\x53\xba\xb8\xf7\x6a\x27\xdd\x35\x0f\xd9\x32\xb3\xdd\x8d\x2f\x9a\x65\xd7\x32\x4d\x25\x68\x9c\x9a\x3b\xd6\x1c\x21\x9b\xc1\x11\xdb\x78\xf1\xd9\xd9\x60\x6c\x3f\x70\xd4\x7a\x9c\x70\xce\x89\xc0\xfa\x42\x3c\xc9\x37\x37\xff\x39\xcb\x8e\xb0\x5a\x24\xb3\x1b\xc9\x18\x35\xa0\xe2\x52\xf9\x17\x4e\xde\x6b\xa3\xd6\x9e\x4a\xa5\x72\x8a\xa8\x88\x9b\xba\x98\x63\x92\xd2\xfa\x59\x03\x37\x20\xfe\x20\x6e\x44\xcd\xbe\x69\xe8\x89\x84\x0a\xa1\xec\x9e\x1e\xa9\xa0\xe1\x93\x7a\x89\x8d\xb6\xe3\x52\xa1\x1b\xb4\x4d\x4c\x9e\xab\x89\x31\x96\xe7\xd7\x34\x4b\x0b\x2c\xe0\xa6\x40\xef\x97\xcd\x7f\x55\xb8\x01\x31\x26\x34\x39\x4c\xc8\xe1\x9c\xc6\xf2\xd6\x00\x53\xbb\xf4\xe8\x22\x4f\xde\x61\x54\x52\x5c\x1e\x58\x9c\xab\x3f\x31\xfa\xeb\x51\xa9\x86\x99\x4a\x5b\x38\x38\x4d\xe1\x35\x3e\xb2\x60\x68\xa2\x23\x56\x77\xc2\x70\xaa\x34\x6d\x1f\xb7\x18\x7f\x1c\x5e\x30\xef\xb5\x24\x33\xe7\x1e\x33\x35\xdc\xc0\xf8\x91\xb3\x1a\x8c\x0e\xfd\x9b\x0f\x29\x1c\x2a\x6c\xa6\xa5\x41\xfa\xa1\x5e\x37\x0a\x64\x0f\x82\x7d\xec\x07\x74\x3f\x93\x49\x46\xc1\xb2\xed\xe8\xf4\xb5\xb4\x3b\x4f\x97\x07\x01\x3f\xd6\x40\x6d\x67\xb5\xe9\x76\xa1\x50\x58\x8f\x94\xcd\x8e\xe4\x19\xcc\x90\x1a\xaa\x26\xe9\xb1\xd1\x42\xed\x84\x42\x79\xf2\x44\x6a\xa4\x2b\x27\xab\x4c\x2c\xb6\xf8\x38\xee\xc5\xd6\xb2\x34\x76\x56\xd1\xcc\x58\xb2\xb3\x74\x9f\x35\x01\xc8\x2d\x09\xad\xce\x55\xb1\x4c\x38\x27\xb6\x05\x41\xd5\x47\x21\x71\x1e\x34\x5b\x06\x97\xf9\x27\x1b\x26\xb3\x05\x5d\x5d\xa7\x30\x4b\xe9\x4c\x87\xba\x11\xc7\xd2\xdb\xc9\x9e\x83\x45\xb2\x74\x68\x01\xfa\x83\xe4\xec\x42\x53\xb3\xef\x48\x07\x2f\x9d\xa9\x65\x36\xa4\x24\x9b\x47\x51\x34\xb2\xd9\x65\x67\x7e\xbc\x01\x9c\x79\x71\x88\x48\x37\x76\xa8\xe8\x74\x0c\xc1\xc1\x10\xa6\xa2\xe1\x1a\x57\x30\x6a\x1f\xc2\x66\x5b\xe0\x30\xd9\xd4\x56\xf9\xf3\x7e\x95\x4f\xc4\xce\xba\x82\x20\x45\x64\x38\xec\xd8\xbf\x46\xe6\xad\x79\x6d\xba\x56\x10\xd8\x1c\x71\x07\xcc\x0d\x5d\x72\x9d\xf7\xdd\x58\xe6\xcd\xcf\x6e\x2f\x02\x1f\x50\x6e\x30\x81\x9e\x05\x67\xd2\x9e\xa2\x83\x1a\x6c\xc2\xaa\x21\xd1\x7b\xbc\x12\x31\x2e\x5f\x43\xbe\xe2\x46\x30\x92\x11\x26\xc3\x2c\x99\x17\x54\x5c\xc4\x88\x70\x93\x4f\xeb\x3b\x4f\x8f\xac\x58\xc1\x97\xae\xeb\xb9\xd4\x63\x60\x02\xeb\x07\x93\x2d\x27\x26\x54\x63\xaa\x8f\x13\xe4\x11\x2d\xca\xf5\x21\xa0\x7d\xce\xda\x98\x1e\xff\xf8\xba\x71\x57\xdb\xd7\x18\x05\xa3\x8e\x0d\x63\x9c\xf1\x20\x45\xc6\x82\xb1\x7e\x55\xb3\x96\x2e\x4a\x9e\xd5\x50\xc8\x8d\x0b\x1d\x14\x68\x2e\xa1\x82\x2d\x57\x2c\xd5\x1f\xc7\x57\x75\xe4\xbd\xb6\xe7\xa4\xc7\xaf\x8e\x01\xe9\x91\xaf\xcf\xa3\xcf\x2b\xdb\xcf\x91\x9e\x64\xe1\x50\x3b\x25\x67\xc7\xcb\xdb\x08\x6e\x10\x18\x74\x9c\xbc\xbe\x6e\xf8\x71\xba\x02\xbf\x19\xd8\x86\xbf\xe2\x2b\xd9\xaf\x51\xf1\x41\xdb\xad\x3d\xe0\xa1\x4f\xd9\x42\xc0\xb8\x10\x33\x46\xb9\x1a\x16\xfd\x69\xb2\x3e\xb1\xcd\xb6\x4a\x5b\xbc\x7a\x5d\x42\xab\xb0\x0a\x5f\x29\x5f\xef\x2f\xaa\x2a\x5b\xef\x49\xfe\x62\xda\x31\xbd\x58\xe9\xc2\xbd\x38\x7f\xb9\xf2\xb7\xa3\xfd\xe5\x84\x4b\x97\x42\x61\x4b\x22\x35\xee\x95\x25\xc6\xad\x77\x43\x0b\x2d\x75\x17\x3a\x19\x07\x9b\xb0\x05\x7f\x57\xdd\x18\xa5\x7b\x6b\xca\xfe\x63\xde\xb0\xc7\x89\xe6\x4d\x26\xbe\x13\xcd\xb7\x32\xa0\x82\x2f\x79\xb8\x02\xb1\xc2\x05\x05\x87\x8a\xb8\x92\x73\x33\x24\x2d\x9e\xb6\xc4\xaf\x9b\xa6\x08\xa2\xb3\xf6\x73\x5a\xd1\xa0\x70\xae\xe9\x74\x31\xb2\xaa\x81\xfc\xc2\xb5\xc1\x16\x3e\x7f\x0f\x34\x3f\x42\xc7\x62\x93\x43\x3b\x8d\x24\xd6\x8c\xa4\x51\xdf\x52\xe8\x8f\x4a\x5a\xe0\x07\x0d\x2b\x1b\xc6\x6d\xae\x40\x7c\x57\x8c\xce\xd2\x55\x40\x5a\x8a\x71\xde\x15\x6f\x2b\xdb\x7f\x56\xfb\xc3\x80\x7c\x8f\x44\x00\xbe\x72\xcf\xda\x84\xed\x00\x99\x64\xbf\x1f\x27\x3d\xcb\x8e\x1a\x5d\x1c\xd4\xe5\x9c\xcf\xc1\xc0\x0d\x7e\xee\x90\x8c\x83\xcb\xda\x48\x80\x28\x30\xf4\x38\x8c\x66\x59\x67\xa6\x06\xa3\xe8\x92\x46\xcb\x8f\x1b\x3b\x59\x79\x18\x82\x3a\xf0\x18\xb4\xa4\xc4\xc9\xc6\x3c\xe4\x52\x9a\x46\x34\x56\x30\x19\x71\xcb\x0c\xb4\xf5\x92\x78\xf7\xef\x46\x0e\xd6\xd1\xad\x89\xa4\x16\xa0\x5b\xf6\x20\x37\x8d\x10\x7f\x15\x58\x61\xe7\xb7\x83\xb8\x72\x30\x65\x85\xda\xd7\x5f\x29\xb9\x9f\x58\x44\x1e\xd9\x7d\x97\x86\x05\xb4\x73\x4c\x3e\xc5\x58\x47\xb2\x55\x61\x60\x5e\x62\x08\xad\x2f\x9b\xfe\xe1\xd8\xc4\x10\xd8\x7d\x95\xcb\x5f\x26\x68\x0a\x52\x6a\x11\xd5\x29\xe3\xa8\xd9\x81\x61\x7a\x2c\xcb\x05\x90\xe4\x0f\xb9\x4f\x52\xce\xb9\x89\x12\xb7\x5a\x36\x14\xc1\x0d\x1a\x22\x45\x09\xe1\xca\x7e\xc5\xa5\x59\x9c\xf6\x58\x76\x64\xa5\xfe\x14\x75\x56\x1e\x8b\x85\x69\x3f\xc3\x34\xff\x85\xe0\x0b\xc2\xe3\x32\xff\xc3\xff\x65\x1a\x81\xdd\xb0\x4a\xf0\x87\xcb\x2c\xf1\x8d\xfe\xd2\x48\xad\xb9\x89\x37\x3b\x6c\x6e\xb0\x80\x3f\xa2\xd2\xd6\x81\x34\xa9\xbf\x7e\x40\xde\x74\x9c\x5b\xe4\xfb\x9f\xb4\x61\xf2\x81\x59\xc2\x61\x34\xc3\x22\x33\x4f\x2f\x34\x92\xb9\x44\x2a\x04\x8c\x48\x67\xcd\xf1\xa1\xbc\xe0\x00\x7e\x96\x70\x74\x58\x6c\x85\xbf\x1e\x19\x27\x67\x96\x99\xff\x40\xe3\x44\x68\x41\x25\x72\x73\xfd\x2a\x88\x0e\x54\xea\x58\xfa\xbe\xa8\x19\x89\x01\x98\x6a\xae\x1c\x7c\xa7\x29\xdd\x0f\xed\x7c\xe7\xaa\xf0\xd7\x58\xd3\xac\x49\x8e\x14\xe9\xd4\x53\x65\xd1\x8d\x11\xbd\x3c\x85\x78\x50\xa8\x39\x08\xc3\x57\x64\x5c\x8a\xf2\x0a\x85\xa7\xc9\x95\x14\xb2\xbb\x89\xd2\x61\x08\x27\x3a\x1a\xbf\x12\x08\x75\x14\x7e\x48\xdd\xec\x54\x6a\xa1\xd8\x25\xbb\x18\x15\xb3\x2a\x0e\x5b\x0f\xfe\xec\xf1\x6b\xef\xea\xf1\x7e\x40\xbc\x60\x78\xe9\x0e\x2a\xe0\x43\xfd\xbc\xc9\x9c\x52\xee\x9f\x8a\x12\x9c\xa6\x30\xc5\x24\x43\x7b\x18\xfc\x78\x16\xdd\xbf\xba\x8e\x72\xfd\xd1\x53\x12\xc1\x42\xa6\x18\x98\x89\x05\xb0\x8b\x38\x3e\x9d\x47\xba\xfc\x30\xda\xa2\x4d\xf5\xde\x4d\x77\x7c\x1a\xb7\x87\xf0\x51\xe6\x45\xfa\x47\xa5\x7f\x5f\x4b\x83\x37\xf8\xcf\x5f\x37\x44\xef\xeb\xbb\x09\xbb\xb1\x3f\x35\x86\x5b\x66\x2a\xeb\x91\x9c\x70\xb1\xea\xeb\x30\xaa\xd2\x4c\xb3\x43\x34\xc7\x70\xc1\xdc\xae\x7c\x31\xb6\x24\x55\x86\xf7\xa7\x17\x1c\x16\xbe\xf8\x34\x84\x4d\x60\xe9\x5f\x24\x53\x91\x67\xcd\x20\xb6\x6a\xc5\x97\x7e\x6a\x48\x5c\xb0\x30\x1b\x43\x39\x52\x06\x95\xf4\xb2\xde\xb2\x1f\xb9\xff\xf8\xd4\x0f\x7c\x0c\x68\x74\xc2\x01\xaa\xe1\xdd\x9f\xe9\xe8\x43\xcc\x44\x77\x9b\x35\x92\x5e\x02\x49\xb1\xb3\xa9\xfc\x87\x7d\x38\xb1\x85\x84\xb0\x26\x62\x0e\xf3\xd3\x9d\x45\x17\x71\x95\xe3\x70\x93\x75\xb9\xce\xaa\x3b\x60\x9a\x58\xc8\x74\xe8\xbf\x1f\xb7\x4c\x11\x52\xc2\xc5\xef\x63\x87\x61\x46\xf9\xee\x4c\x91\xe6\xa9\xd9\x83\x36\xd3\xe9\x9f\x54\xc3\x92\x58\xff\xcc\x1d\xc0\x47\x58\xdd\xde\x26\xef\x07\x89\xdd\x5d\xa3\x51\xd5\x22\xac\x41\x6e\x70\x46\xb8\x0e\x59\xbc\xe6\x1a\x1d\x1c\xd9\xf9\xdb\xf6\x22\xb9\xdb\x6f\x72\x43\x3b\x69\x6d\x9e\x2a\x0b\xf8\x30\x34\x53\x35\x4a\x93\xf7\x16\xaf\x72\x76\xd8\x1a\x49\xf2\x9d\x35\xb6\x08\x1d\xa7\x0c\x9e\x95\x3d\xa7\x3a\x19\x7e\x1e\xa9\x76\x01\x7d\x93\xc5\xdf\x5e\x6f\x31\xd1\x6c\x0d\xc4\x26\xe4\x49\x2c\x9d\x0e\x62\x27\xbe\xfb\x2b\x9d\xaf\x9d\x21\xe5\x78\xe6\xa7\x5c\x53\x0e\x1b\x8a\x90\x39\x3c\x8a\xeb\x51\xd9\xaa\xfc\x31\xed\xfb\xdd\x59\xed\x01\xe6\xfc\xca\x0e\xfe\x87\xe2\x8e\xb1\xb1\x56\x73\xc0\x24\xea\x39\x46\xae\x0a\xb7\xb4\x21\x76\x38\x9f\xf1\x94\x61\x74\x11\x25\xa2\xe5\x3e\x99\x1c\x14\x62\xf0\x4b\x6f\xd7\xf4\x37\x4f\xf5\x45\x7f\x34\x74\x35\x76\xe7\xc1\x62\x54\x6b\x0f\x37\xb3\xc6\xb5\x5b\xf3\x00\xde\xa1\x66\x56\x22\xd2\x9e\x27\x7e\x6a\x5c\xc0\x79\x13\x9b\xcc\x90\x5c\x15\x9d\xe0\x5c\x73\x42\xc8\x5d\x5f\xd2\x32\x09\x6a\xab\x99\xda\x4a\x46\xa7\xab\x2d\xd2\xfc\xe9\x9f\x12\xf4\x3a\x39\x61\xb2\x4b\xcb\x4f\x69\x60\x10\xa5\x92\xc1\x4e\x6b\xa4\x12\x99\x62\x7f\xe3\x77\x04\x3f\xaa\x2e\xbd\x40\x22\xb3\xd4\x11\x2c\x8c\xc5\x03\x1e\xf9\x8d\x4c\x69\xcf\xa6\x74\x40\x5b\x3a\x99\x67\x85\x0f\x82\xb9\x59\x22\xb7\x63\x3a\x6e\xef\x0b\x3d\x8d\xc0\x2d\x98\x24\x72\xde\x42\x53\x38\x92\x77\x54\x27\xe0\xba\x90\x6d\x91\x3d\x31\x07\xef\x67\x6f\x95\x47\x50\x94\x2c\xb0\xe1\x73\xc2\x05\x35\x32\xe0\x07\x45\x77\xee\x1b\x76\x86\xb8\x4d\xfb\xe3\xef\xa7\x7e\xd1\x68\xa8\x7d\x02\xfc\x89\xde\x42\xf8\x06\xe6\xc5\xe9\xac\x2d\xd3\xcd\xa8\x59\x36\xdb\x4c\x64\x6c\xc9\xec\xbe\x49\x77\x33\xdd\x43\x8d\x63\xa2\xcc\x7e\xb0\xd2\xcd\xc5\x3f\xcb\x68\xf9\xb2\x26\xf4\xdd\x15\x56\x44\xfd\xbd\x36\xba\xc7\x27\x4a\xd5\x87\x4c\x69\x58\x8b\x29\x4f\xc2\x39\x8d\xea\xbe\x40\xa3\x17\xc7\xd6\x92\x1f\xd4\xaf\x11\x71\xa3\xe4\x74\x59\x3c\xf2\xc4\xd6\x50\xa7\xe1\x2a\x42\x27\x58\x36\xa8\x2f\x64\xf3\xe9\xfb\xf6\x93\x49\x9a\x8c\x71\x43\x63\x2c\xfa\x4b\x96\x30\x8d\xb1\xf3\x0b\x50\xbd\xad\xe2\x83\x89\x05\x89\x9f\x47\x14\xd2\x12\x9f\x73\x55\xa5\xb9\x82\x0c\x82\x6b\xf3\x1f\xa7\x36\x48\xb5\xf4\xf8\x65\x26\x20\xd1\x2c\x4d\x64\x11\x65\x43\x1b\xec\x77\x87\x51\x2b\xf6\xb4\x70\x72\x99\x82\xe3\x79\x29\x4a\x40\x55\x6c\xe8\x54\xc8\x73\xa2\x9f\xcf\xaa\xcd\x06\x2e\xe8\x5e\x80\x42\x2d\xac\x7c\x0b\x48\x81\x90\xdf\xe6\x60\x0e\xa1\x83\x97\x46\xa0\x87\xe9\x25\x50\x69\xde\x7f\x29\xae\x2a\xa8\x68\x41\xd7\x30\x64\xe2\x19\xb4\x34\xff\x85\x78\x4e\x82\x20\xc5\x69\x23\x83\xbc\xec\xde\x8a\xcd\xc3\xb1\x9f\x51\x58\x84\x59\xdc\x82\x8b\x74\xf0\xd3\x64\xaf\x5b\x2d\xa3\x58\xe3\xd2\xdb\x6a\xb6\x55\x80\x5b\xec\xfe\xcb\x68\x16\x0a\x1f\x0d\x0e\xec\x04\x11\xcc\xc1\x4f\xd8\xc5\xad\xed\x10\x48\x98\x39\x78\xe1\x94\xcc\xe7\x17\xfa\x01\x83\xaa\xb8\xa0\x60\x41\x1a\xe5\x99\x88\x6c\xe2\x1b\x2e\x04\x0c\x85\x61\x39\xcf\x72\x11\xdd\x82\x9d\x1d\x26\x92\xa4\xf3\xd0\x96\xad\xfe\x9f\xd0\xc6\xde\x70\x43\xe0\x2c\x28\xa3\x53\x36\x9e\xdb\x1b\xf8\x9b\x27\x8c\x0b\x97\x5f\x3d\x91\x0c\x5f\x24\xd2\x78\x7f\x17\x62\x64\xfd\x6b\x32\xa6\xa7\xd2\x1c\xed\xbe\x9f\xc2\x51\x6b\x23\xb7\x23\x54\x96\x7a\x58\xfb\xe2\x17\xb5\x40\x96\x92\x8c\xd4\xe3\xc1\xd4\xc8\x4c\x1c\x6e\xa6\xf2\x9d\xc9\xd1\x44\x82\x82\xb5\xd0\xf7\x46\xf4\x00\x65\x36\x0d\x72\xa3\xfc\x6c\x57\x55\x4f\x7a\x95\x46\xd3\x30\xc9\xc7\xd2\x0e\xda\xe7\x0f\xd6\x91\x82\xb7\xd7\x63\x00\x7a\x4b\x9e\x10\xbd\xc8\x86\x18\x51\xe3\x1a\x3c\xf7\x94\x30\xb9\x00\x17\x36\x07\xab\x8b\xbb\x08\xa4\x47\xa8\xb2\x9e\x3a\x0f\x3a\x54\x75\x5a\xe5\x46\x36\x76\x43\x8a\x53\xe1\x86\x83\xcf\xc9\xdf\xab\x4f\x3d\x61\xcc\xfd\x50\xbd\xd7\x4c\x3b\x28\x14\x53\xd4\x96\x0c\x1c\xbf\xf7\xbf\xdc\x99\xe5\x9f\x04\x0a\x9c\xb9\x31\xb5\x6c\x85\x50\x81\x48\xec\x5d\x6d\xaf\xa8\x8d\xb1\xaa\x91\xb6\xf8\xdb\x04\xef\x34\x6b\xe5\x0e\xa1\x51\xfb\x7d\xa3\x17\x86\xce\x42\x50\x64\x45\x3c\x24\x23\x23\xbd\x08\xce\x56\xff\x16\x32\xfe\xb9\x21\x29\x4a\x6a\x89\x84\x1e\xa0\xc9\x3c\x42\x55\x9c\xdc\xfd\x65\x3d\x79\x37\x85\x97\x28\xdf\xac\x38\x97\x49\x0f\x6d\x68\x70\x90\xe7\xa2\x1f\x8a\xd3\x43\x50\x96\x6c\xcb\xcb\x22\x0b\x83\xe1\x40\x1f\xac\x90\x85\x90\xae\xa6\x5d\x68\x45\x13\xb8\x92\xa0\x6d\xf7\x75\xa0\x4b\x2e\x7a\xce\x97\x2c\x9c\x5f\xa4\xca\x8f\x61\xd9\xcc\xbb\x61\xd6\x46\x86\x53\xa3\x35\xf0\x66\xa4\x1f\xf2\xe6\xf8\x73\xd6\xdd\xff\xda\x09\x12\xf9\x49\xad\xb6\x82\x4d\xff\xc9\x72\x07\x17\x10\x83\x0d\xc3\x07\x23\x60\xf8\x80\xcd\x32\x94\x63\xcd\x48\xbf\x01\x45\x3d\x91\xff\x64\xbf\x3a\x37\xb0\x14\xdd\x5a\x65\xb4\x44\xf6\xa4\x14\x04\xab\xdd\xf1\xc5\x8c\xcd\x97\x9f\xc4\x3d\xa2\xca\x59\x02\x51\x3e\xfe\xa9\xa5\x7b\x88\xdd\x5b\xdf\xff\x0b\xdf\x41\x83\x97\xb6\xa2\xd4\x41\xa3\xe7\x2f\x93\x2e\xe2\x73\xac\x59\x53\x9f\x48\x73\x9b\xd5\xda\x47\xcd\x0e\xec\x60\x13\x86\xa9\x08\xcb\xbf\x86\xca\x45\x5a\xb4\xdc\xef\x91\x03\x50\xa1\x3e\x2b\x16\xa4\xc2\xbd\x32\x86\xc6\x6e\x8f\xa2\x3d\xa5\x8c\xbe\x18\x03\x16\xf5\x52\xb9\x8d\x32\x08\x23\x53\xb1\x82\x65\xa4\x10\xe1\xe3\x6d\x24\xa5\xd0\xab\x90\x63\xd0\x78\xf6\x9a\xee\x52\xbe\x03\xdd\x77\xf3\xa6\x32\x6b\xe3\x7c\x70\xcc\xad\x79\x49\x40\x56\xa8\xb5\x57\x88\x19\x5c\x2c\x99\xd0\xf2\xb9\x02\x2b\x46\x81\x64\x0f\x3d\x7a\xd3\x08\x4b\x56\x9f\x0f\x9f\x1d\x16\xb5\xd8\x6f\xfa\x22\xaa\xcc\xb8\x53\xd1\x69\xb1\x92\xc4\x3f\x17\x08\xa1\x3f\x09\x0b\x21\x3c\x40\x66\x2c\x66\x4b\x90\xa2\xe8\x92\x55\x05\x7a\xf1\x6a\x66\x4f\x32\x74\xc9\xa5\x8f\x72\x9f\x5f\x4d\x7f\x47\x91\x2e\xf1\x69\xdb\x81\x61\xac\xca\x88\x76\xa5\x68\x73\x9b\x74\xf6\x7c\xfb\x87\x91\xae\xa9\x24\x54\xeb\xb9\xdb\xce\x0b\x5c\x43\x37\x4c\x10\x9c\xa7\x16\x10\x6c\xb1\x85\x82\xf7\x07\xfd\x28\x39\xb1\xcb\xb0\xaa\xa5\x74\x65\x5e\x45\x36\xe4\x16\x38\x50\x38\x6c\x03\x92\x3d\x74\x17\x4a\x36\x6d\xec\x61\x64\x22\x55\xe6\x6f\xd7\xd1\xf0\x9e\xdf\xd9\x78\x96\xf7\xf6\xa0\xcb\x23\x74\xb7\x25\x32\x29\xb6\x5d\x32\x47\x2a\x04\x68\x5b\xd9\x20\xb9\x83\xc6\xac\x32\x5d\x3c\xf1\x21\x63\xf1\x8a\x1e\xfa\xa1\xbf\x60\x7c\x48\xe5\x3a\x4b\x8c\xaa\xda\x56\x39\xed\xcf\xa4\xc4\x33\xcf\x1f\x23\x8b\xa8\x50\x1e\xe6\x04\xd6\x46\x82\x30\x2b\x6c\x52\xed\x40\xbf\x42\x60\xa3\x46\x83\xac\xda\xda\xc5\x51\xf1\x33\x40\x19\xc1\xa1\x3c\x43\x4d\x10\x69\x78\x1a\x5c\x32\x5a\x3a\x93\x2e\x97\x4f\x93\x90\xf6\x98\x0e\x23\xf5\x71\xad\x0d\x86\xd9\x5b\x5f\x75\x60\xdd\xc6\xe8\x85\x67\xbb\x97\xc5\x94\xe4\x72\x90\xc5\x42\x9f\x5f\x0e\xfb\x28\xa7\xe1\x72\xf9\x2c\xf1\xb1\xd3\x00\x1a\x9a\x1e\x63\x70\xfa\x32\x99\x50\x43\x4e\x60\xa0\x0b\x8e\x1e\x76\xe2\x24\x77\x65\x8d\x4d\xd9\x26\x3d\xd4\x0d\xca\x4c\x66\xa8\x29\xc8\x6c\x20\x0e\xe7\x52\x88\xce\x85\x3e\xf2\x60\xf3\xe8\xb2\x4e\x20\x86\x45\x09\x3d\x9d\x29\x75\x58\xfb\xd2\x08\x99\x01\xca\x66\xa5\x3b\x46\x3c\xf3\xca\xf1\x9b\x64\x36\x0f\x60\x8b\xfe\xb8\x17\xc9\x3d\x18\x02\x0b\x39\xfc\x6c\x3a\x2d\x7b\xe9\x35\xdb\xe2\xe3\x12\xca\x20\x1a\x68\x8e\x4d\xc9\x19\xf2\x89\xf7\xfe\x37\xae\x75\x1c\xbe\x48\xe9\x89\xe6\xc6\x84\xbe\x61\x24\x3a\xaa\x54\xa6\x54\xdb\x32\x37\xf4\x2b\x26\x8f\x9d\x43\xf1\x35\x7c\x13\xe0\xbc\x83\x25\x69\x63\xec\xc4\x01\xaa\x47\x88\xb5\x73\x11\xae\xe1\x3c\x71\x61\xd7\x1e\x90\x84\x21\xa1\xb5\xd7\x30\xfe\x8d\x42\x53\xda\x44\x3e\x91\x61\xa7\xe5\x90\x25\x73\xb9\xdc\x63\x6c\x3f\x99\xb3\x3f\x71\xf0\x34\xd5\xfa\x8a\x66\xaa\xfb\x1a\x57\x54\x4c\x04\x72\x9f\x13\x39\xd4\x0f\x87\x96\xa6\x98\x5a\x36\xd3\x5d\x55\xf8\xb9\x5d\xab\x53\x51\x63\x9b\x88\xb2\x2a\x9e\x94\x85\xe1\xca\x0b\x71\x4b\xf3\xe6\x9b\x94\xa4\x65\xaa\xeb\x77\x32\x86\x4a\x29\x2b\xf2\xbd\x32\x90\x2c\xbf\x9e\x3d\x2b\xc1\x11\xf6\x9e\xfc\xc1\x02\x22\x4e\x9f\x0d\x21\x5c\x14\x7d\x6f\xac\x24\x07\xee\xd3\x49\xfe\xe4\xe6\x6e\x15\x76\xcc\x72\x3d\xbf\xe5\x88\xf5\x0b\x09\xfa\xae\x45\x28\xa4\x63\x84\xa7\x0e\xbf\xcf\x54\x87\x41\xd8\x81\xcb\x9d\x52\xf2\xdf\xf7\x6a\x52\x87\x7c\xc6\x50\x19\x46\xf3\x71\x0f\xf5\xf1\xf6\x90\x3f\x64\xd8\xe2\x03\xcd\xfa\x97\x7b\x01\x1c\x71\xb3\x96\x03\xdf\xb8\x9b\x40\xf1\x06\xad\x4c\x73\xb7\x93\x61\x59\xeb\xfe\x65\xba\x77\xd0\x18\x3b\x95\xc7\x2f\x59\x95\x5e\x86\x75\xb4\x7f\xfd\x7f\x14\x14\x9e\xc3\xd3\x5c\x66\x5c\x28\x3e\xb0\x37\x81\x2c\xd0\x1f\xeb\x00\x22\x0b\xf7\x3d\x1f\x28\x66\x3a\x3a\x1e\xee\xb4\x6a\x53\x18\x28\x9d\xdc\x3e\x47\xa1\xd5\xab\xe5\x98\x1f\xbf\x55\xa3\x32\x05\xa9\x20\x6b\x6a\x80\xa0\x7f\xf7\xaa\x30\xa4\x43\x11\x59\x61\xdd\x06\x49\x90\xa9\x88\x2b\xc8\x35\xae\xb6\xa7\x32\xa7\x59\x91\x75\xb1\xd1\xb6\xb0\xb4\xb6\x65\x69\x54\x89\x14\xa5\x7e\xea\x0c\x5a\x89\xde\x52\xb1\xa9\xac\x4d\x1e\x82\x17\x53\x83\xfb\xaa\x26\x53\x29\x7a\xb8\x9d\x39\xa4\x8c\x37\x2e\x6e\xf4\xb9\x74\x5d\x2c\x58\x76\xdf\x4f\x3b\x6b\x65\xff\xd9\x43\x71\x3d\x22\x08\x42\x1f\xb6\x61\x4e\x45\x34\x4f\x37\x4c\xae\x31\x81\xec\x89\x94\x93\x23\xf3\x24\x34\xa2\xa6\xe4\x68\x8c\x50\x79\xba\x4b\xe1\x22\x47\x6a\x54\xe3\x3f\xd0\xcb\xa6\xe7\xbd\x76\x2d\xd1\x11\x69\x0a\xf4\x92\x36\xe0\x53\x50\x8c\x38\xdf\xc6\x8c\x60\xdd\x9b\x6e\x25\x18\x4d\xb4\x65\xbe\x67\x37\x60\x04\x9b\x5d\x70\x6f\x8e\xc0\x60\xc3\x54\x67\x81\xe0\x3b\x1b\x26\x14\xf2\xb3\xb4\xfd\xf4\xf4\x40\x15\x22\x4d\x87\x8e\xae\xfb\x7f\xbd\x2a\x26\x3b\xe8\xa0\x25\x06\x0d\x18\x57\x1c\x8e\x4e\xb1\xff\x62\x83\x19\xca\xb5\xca\x77\x23\x9b\xb4\x1c\x57\xc9\x62\x2a\xff\xd8\x8c\x25\xfe\xd9\x60\x55\x37\xf1\x6f\x35\x32\x10\x64\xce\x0e\xab\x1e\xe6\x3e\xef\x64\xaf\x56\xe2\xc8\x0f\xa1\x80\x43\xd1\xc0\x74\x2e\xbc\x87\x85\x8e\x73\x70\x3b\x1c\xb5\x2c\x0a\xc1\x24\x7f\x84\x1e\x95\x61\x47\x8a\xc5\x71\x09\x15\x05\xad\xe5\x56\x15\xe1\x47\x42\xfe\x1a\x9e\x87\xf4\xcb\x9d\xe8\xfd\x60\x2d\x25\xbd\x2b\x5c\x04\x8e\xf3\x3c\x2d\x34\xd9\x19\xd8\xef\xd0\x29\xcc\x6b\x67\x28\x5c\xc2\xa9\xfc\xaa\x83\xbe\x06\x33\x21\x9d\x96\xc7\x3e\x61\x60\x10\xd3\x18\xec\x39\xf6\xd3\x74\x9b\x10\x2f\xf8\xfb\x80\x2a\x5c\xc2\xa3\xc4\x6b\x96\xbc\x29\x87\x26\xff\x6a\x27\xf1\x49\xd4\xcb\xc2\xd9\xde\x2e\x66\x88\x47\x25\x62\xe4\x42\xca\xbb\x5f\x67\x1c\x47\xe6\x93\xa8\xb7\xc3\xa5\xfe\xe6\xb8\x46\x66\x6a\x47\x4d\xc6\xc9\xf8\x50\xcc\x4d\x11\x20\xb1\xab\xfa\x10\x3b\xaf\xe4\xcc\xc9\x55\xc9\x65\x87\xdc\xdc\xb4\xfd\x7e\x75\x6d\xd5\xde\x00\x4c\xfe\xb8\xc4\x1b\x34\x13\xad\x37\x34\x2d\xb1\xb5\xb8\x1c\xba\x41\x8f\xa9\xaf\x42\x8b\xa0\x18\xb9\x5b\xc7\xb2\x25\x87\x33\x55\xb5\x59\x11\x57\x52\xee\x6b\x2e\x88\xb9\x0e\x21\x7c\xd4\xbd\x44\x4c\xf5\x81\xc5\x94\xa2\x1a\x79\xb1\xce\xe4\xc3\xc5\x2e\x28\x47\x4f\xd6\x33\xd1\xae\x25\x6b\x0a\xd7\x12\x3b\xb0\xee\x6c\x2e\xba\xd8\xa2\xb4\x33\x98\x0e\xc9\xac\x0a\xb2\x7c\x95\xbe\xfd\x4b\x8c\xa4\x8f\xd5\xca\x82\x46\xb2\xd7\x6f\x18\x5b\x03\xc6\xc2\xee\x0e\xd0\xf1\x63\xcf\x95\xa8\x0e\x13\x46\x8a\x79\xa1\xb8\x8f\xe1\x18\x11\x83\xdb\xb7\xc3\x66\x1a\x40\x97\x0f\x40\x1b\x83\x05\xcc\x28\xc3\xc0\x90\x75\x93\x29\x0a\x59\x10\xf6\xe6\xb3\x74\xdc\xa0\x4e\x64\x48\xc4\x66\xd3\x7f\xd0\x92\x84\x3c\x73\x3d\xc1\xac\xab\x09\x8d\xd4\x40\x3d\xe8\x5f\x33\x54\x1e\x5a\xc7\x35\x68\x6f\x72\xa4\x58\xed\xdc\x48\x0e\xfb\x2f\xd1\xf9\x28\x26\xb4\xf8\x7c\xa2\x1e\x23\x0f\x9b\xce\x4f\x42\xac\xb6\x05\x4d\x65\xa6\xc1\xb0\xa7\x7d\xec\x6f\x68\x94\x49\xcc\x69\x49\x96\x9b\x65\x45\x9c\x4f\x1c\xa3\x21\x37\x97\x1e\xc3\xd0\xbc\x95\xd9\x7a\xd0\x3c\xf0\x11\x73\xb6\x7b\x75\x53\x82\xfc\xb6\x8b\xc2\x52\x1e\xb1\x52\xf6\x19\x81\xe2\xc8\xda\xb4\x59\x67\x10\x56\x60\x08\x5b\x48\x22\xc1\x03\x1d\x0b\xbb\xcc\x57\xf4\xb8\x34\xf0\x4f\x4c\x6d\x4a\x5b\xac\x58\xd4\xd8\x9c\x0c\x4b\x78\xf1\x79\x44\x5f\x59\x9e\xa8\x39\x54\xb1\x26\x28\x77\xfc\x8e\xba\x2c\x16\xf9\x50\x54\x10\x26\x88\x01\xe6\x3c\x7e\x47\x2b\xb9\x29\xbf\x16\xd3\xe2\x33\xb2\x50\x22\xd8\xc1\xee\x49\xe4\xa2\xf6\x9a\x1a\xb1\x7a\x3b\x2a\xff\x28\x1f\x05\x67\x4e\x2f\x6a\xc4\x1d\x7f\xe7\xba\x21\xc9\xdd\x66\xa6\x93\x3a\xd2\x68\x17\xf1\xfd\xe4\x65\xf6\x59\x04\x9f\x37\xe2\xae\xb2\xec\x65\x4e\x18\xa9\x48\xa9\x9b\xd7\x1a\x6f\x45\xfa\xc5\xda\xad\x4a\xa7\x09\x1b\x2f\x48\x3d\xb4\xa7\xe8\x1f\xec\x21\x51\x3a\x8a\xa8\x0b\x72\x32\x5c\x6b\x37\x67\xa4\x2f\xc3\x53\x17\xe7\x7e\xf0\xce\x5e\x25\xd3\x70\x7d\xd7\x88\x07\xa7\xf4\xa6\xd3\xca\xc9\x73\x72\x2f\xce\xa3\x85\x3a\xda\x11\xd6\x17\xab\xab\x34\xd5\x0c\xf1\x3b\xf4\x79\x52\x6d\x4d\x3d\x3f\x75\xf8\x4d\x01\xa5\x44\x78\x9f\xa3\xbe\xa9\x6f\x4d\xe3\x32\x34\xdd\xbd\x0c\x48\xf5\x00\xdf\x7a\x67\xa3\x2b\x56\x6c\x8e\x26\x1b\x68\xea\x1e\xd9\xb4\xc8\x84\x0e\x23\x50\x91\xd9\x74\x42\xfa\xdb\xaa\x53\xfb\x4c\xdf\x49\xc9\x16\x18\x21\xa3\xd7\x65\x6a\x65\xdc\xd1\xdc\xe9\x36\x01\xe5\xee\x26\x64\x32\x6b\xc0\xf8\xcd\xa0\xf9\x1f\x9e\x43\xef\xaf\x9f\x7b\x1f\x3d\xdf\xe6\xf0\x09\x11\x26\x00\xa4\x5f\x7c\xcf\x52\xfb\xc4\x5e\x05\x32\x81\xc3\xfd\xf6\xa1\x72\x7a\xff\x94\x94\x41\x47\x6d\x8e\xf0\x7a\xc1\xfb\x83\xaa\x05\x97\x4b\x65\x08\xa6\xea\x7f\xcf\xad\xde\x70\x83\x11\xe9\x31\x54\xc5\x19\xd9\x71\x11\x2d\x52\xb2\x8a\xf5\x1b\xdf\x7b\x10\x66\xae\xa1\x06\x1f\x65\x28\x3c\x18\x7e\xa1\x0c\x9a\x33\x98\xcd\x8f\x6d\x95\x40\x3c\x37\xba\x36\x55\x31\xc1\x7c\xcf\xbe\xff\x8d\x45\x09\xa1\x9e\x55\x48\x59\x72\xe8\x99\x8b\x8d\x46\xbb\x54\xf7\xc8\xcf\x59\x4d\x62\xea\x5e\x0e\x55\xdd\x2f\x2e\xa1\x98\x24\x55\x89\xe5\x3f\xd9\xe9\x58\x6d\x3c\xcc\xa6\x60\xf8\xb4\xaf\x9b\x85\x37\x65\x30\x50\xf9\xce\x50\xa6\x93\x17\xf3\xc5\xe3\x2d\xa3\xb1\x73\x06\xd7\x3a\xb6\x72\x43\x82\x38\xba\xb0\x34\xe6\xe5\x04\x0d\xda\x42\x84\x46\xbf\x89\x80\x9e\x77\x18\x7f\x4e\x40\x30\xcf\xef\x7e\x8a\x57\x10\x23\x63\x82\x51\x4b\xda\xa0\x49\x26\xab\xa1\x82\xc4\x28\x1e\xba\xd1\x34\x33\xd6\x34\xc9\x72\x87\x99\x33\xed\xcd\x7d\x4b\x6e\x45\x14\x81\xc8\x60\x0f\x39\xc9\x46\x51\x3f\xc4\xc0\x04\xfb\x06\x33\xb5\x97\xf2\x87\x8b\x04\x97\x1e\x1f\x8f\xb5\x40\xcb\xb3\x98\xf6\x81\xe3\xdc\x61\xb4\xab\x86\x8e\x4e\x32\x35\xb8\x0b\xf0\xea\x2e\xf8\x1d\xf1\x4a\xf3\xda\x61\x28\x89\xd4\x85\xf7\x93\xd3\xf0\xaf\x14\x7a\xa1\xac\xdc\x61\xd9\x6b\x46\x5e\x18\xcd\x8e\x7a\x82\x31\x66\xc5\x55\x28\xe7\x84\x5a\x34\xb8\x08\xb2\xb1\x5c\x02\xe6\x1f\xe3\xb4\xa3\x65\x17\xf4\x0a\x4c\x95\x2e\x42\xa8\xf5\xf3\x82\xf2\xcb\x2d\xa3\xa2\x5f\x1a\x18\x16\x8d\x63\xde\x0b\xa0\x9d\x0d\xb7\x0a\x1f\x1c\xf5\x68\xdc\x07\x4e\x8a\xf8\x05\x1e\x36\x9a\xa7\x10\x94\x1e\xe0\x2a\x9c\xf6\x0c\xc6\xd3\x8c\xb6\x99\x50\xe9\xd9\x7e\x39\xfc\xde\x4f\x31\x15\xbb\x86\xd2\xd3\xdb\x82\x08\xd3\x4f\xdf\x43\x80\xee\xcc\x47\xf8\xab\xa7\xbe\xb4\x74\xd8\xab\xa9\x6b\xb3\xbd\x1b\x31\x3f\xe5\x1d\x18\xf4\x18\x0b\x9f\xa3\xde\x69\xd0\xc0\x5a\xc6\x20\xec\xab\xba\x10\xfb\x69\x92\xa4\xc3\x79\x4d\x6c\xdd\xe5\x76\xf9\x53\xbf\x12\x3e\x46\x5c\xfb\xcf\x4f\x69\xdc\xbf\xd8\x2c\x95\xba\x61\x17\x60\x55\xff\xbf\x6a\x2b\xa1\x21\x92\xf1\xfa\xde\xfd\x15\x57\x61\x5f\x43\xe9\x3b\xd1\xf7\xaf\x93\x09\x99\x16\xa3\xae\xa9\xa6\x95\xe4\x45\xcc\x49\x58\xcd\x10\x99\x29\xf5\x1a\x65\x51\x88\xba\xa4\xa9\xc6\x32\x1b\xb3\x63\x3d\x1c\x8f\xa7\x64\x28\xcf\x6e\x02\xe9\x75\x4a\xbd\x55\x30\xf4\x44\x25\x02\xfd\x4b\xd4\x51\x9c\xdf\xad\x92\x62\x1e\x35\xca\x82\x76\x64\xb6\xce\xe9\x3b\xe7\x0e\x97\x8f\xc7\xbf\xd4\x28\xb2\x15\x99\xa1\xf0\x90\x42\xed\xa3\x36\x85\x4f\x46\xa8\xc7\x7a\x2e\x0c\xbb\xae\x23\x3e\x75\x3c\xd9\xc9\x73\xea\xbb\xdf\xc0\x87\x45\xa2\x23\x90\xa6\x67\xae\xfb\x40\x2a\x20\x83\x72\xd7\xb0\x7a\xc7\x4b\xaa\xcf\x0d\xb9\x90\xde\xc8\x15\xc9\xc9\x44\xfb\x2d\xc6\x2a\x95\x8a\xa6\xbf\x08\xd6\xf2\x8f\xf7\xe8\xd1\x35\xf1\x26\x45\xbc\xe4\xd3\x5b\x86\x23\x85\xed\xa2\x80\x7a\xca\xb3\x23\x58\xb3\xb5\x71\x36\x26\x06\xfc\x51\xde\x9b\xcc\x6a\x08\x36\x4e\xa3\xde\x04\x4f\x9f\xf3\x42\x1b\x34\x84\xa9\x87\x41\x50\x2d\xfc\x22\xcd\x87\x2b\x4c\xcc\x7b\x2f\x41\x96\xe6\x8a\x2a\x37\xbc\x9e\x65\x8e\x4d\x5a\x0b\xd6\xf1\x71\x7c\xc4\x32\xa7\x4f\xdc\x0d\xc4\x98\xd3\x68\xc7\xb1\xdf\xd0\xfa\x85\xa0\x5a\xb9\x80\xd0\xe0\x4c\x51\xb3\xa5\x91\x84\x3f\xef\xf3\x17\x4d\xc1\x75\x73\xd9\x03\x5a\xfc\x29\xf9\xe1\xc6\x45\xc4\x0e\x96\x24\x93\x5d\xbb\x88\x18\xf3\x53\x57\x19\xe9\xb8\x5e\x78\x48\xef\x26\xb3\x18\xe0\x84\x43\x72\x2a\x13\xe9\xc1\x53\x51\x0a\x59\x01\xaa\x5d\x23\xe1\xb7\x60\xc8\x86\x18\xac\xcb\x68\x79\x4b\x04\x18\xe5\x12\x1c\xd0\xec\x73\xab\x12\x1a\xdd\x6a\xdf\xf1\x53\xaa\xee\xd7\x29\x2e\xb1\x63\xc2\x62\xef\xce\x05\xad\x2e\xea\x28\x3b\x4f\x01\x7a\x5c\x07\xa9\xef\xce\xa6\x47\x17\xd3\x38\xb9\x3c\x89\xf7\x3e\xa7\x9f\x29\x5b\x9d\x1b\x9c\xcc\xd1\x93\xd4\xe7\xf9\x20\x98\x88\x1b\xaa\xf9\xb5\x2e\x56\x5f\x77\xfb\xf1\x2c\x3a\x77\x9b\x2f\x3d\x83\x12\x12\xd5\xa3\xa1\x93\x1e\xe5\x1a\x23\x18\x3c\x4f\x6e\x9e\x6e\x84\x03\xb8\x79\x9d\xe0\x49\xb2\xa5\x92\x22\x13\xc8\xed\x36\x1b\x2e\x14\x48\xae\xa4\xb8\x8a\xc9\xc3\x76\x20\x55\x7d\xff\x5b\xe7\xe2\xce\x04\x0e\xec\xe7\x12\x27\x91\x8d\x9b\x97\x29\x66\x2f\xd4\xa9\xc3\xa9\x39\xb9\x9e\x9d\x98\x61\x70\x57\x42\x45\x35\xe1\x5c\xa0\xcf\x81\x44\x23\x7e\xfb\xa7\x59\x86\x86\x4f\xa2\xaf\xae\x7a\x08\xd9\x2e\xb7\xf1\x13\x7d\xe8\x94\x73\xd3\x8a\x0b\xfc\x97\x2c\xca\x44\x11\x95\x12\xf5\x65\x86\x77\xb3\x6d\x75\x03\x57\xa4\xb1\x58\x9f\x5b\x5d\x2b\xd5\x2f\x82\x14\xf7\x81\x1d\x2d\xbf\x4b\x50\x74\x89\xb9\x93\x47\xef\x64\xc9\x24\x51\x01\x37\x63\x9e\xdb\xa8\xa5\x26\x64\xad\x15\x99\x61\x72\xa0\x75\x54\xf6\xd8\x2d\x4e\x52\xe1\x38\x81\x9b\xa0\x80\x5c\xa9\x07\xc0\x7c\x72\xa5\xa0\x4d\x21\xb6\x28\x4a\x85\x30\xfd\x70\x55\xf4\xea\x1e\x45\x8b\x15\x25\x0b\xa1\xbe\x7c\xec\xee\xee\x47\xb8\xf5\x6a\xbd\xc4\xe9\x4b\x40\x72\x12\x94\x5c\x68\x8e\x16\x08\x1e\x66\xda\xf2\x6e\xd8\x65\x77\x51\xa6\x26\xad\x73\x4b\x89\xd4\x49\x85\x95\x79\x32\xc9\xf2\x94\xa5\xcc\x66\xcd\x91\xef\x82\x1d\xc5\x46\xba\x13\x88\xe6\x22\xc3\xe7\x8e\xdc\x55\x50\x60\xc9\x53\x94\x25\xe2\x5d\x81\x87\x74\x25\x23\x1c\x2c\xe3\xd4\x4c\x76\x3a\x74\x9b\x2c\x26\xa0\x70\xe7\xab\xa0\xfb\xbb\x2d\x22\x54\x77\x87\xfd\x4d\x09\xaf\xa4\x8c\x9e\x44\x58\x9d\x24\x1b\xf7\x2d\x24\x9c\xe5\xcd\xad\x0f\xac\xc0\xd1\xe8\xc8\xa3\x45\x32\xf4\x2e\x0f\x92\x91\x6e\x62\x6d\xf8\xaa\xda\x3f\x7c\xca\x0e\xff\x97\x55\xdb\xbb\x56\x8a\x9e\xb8\x79\xf0\xb7\x05\x3d\xb1\x3b\x69\x7a\x1d\x01\x84\xd4\x39\x16\x32\x8f\xff\x7d\xc2\x18\x54\xb7\x97\xea\x4c\xdb\xb4\xe8\x8e\x2c\x96\xaf\x49\x90\x41\x74\x44\x67\xff\xd1\x36\x44\xc6\x02\xe4\x61\x58\xae\xe0\x17\xb2\x1b\x16\x01\xb2\x1c\xb2\x73\x51\xd6\x79\xb8\xe3\xa6\x07\xf6\xa9\x96\xe8\x3c\x53\x5e\x09\x2a\xbc\x4f\x28\x69\x6d\xaf\x70\xca\x99\xc4\xbf\x28\x7c\x0d\xf6\xa3\xa3\xb4\xb0\x10\xff\xa2\xa7\x9d\x37\x0a\xf3\x9c\x83\x44\x0e\xde\x67\x10\xe8\x0c\xad\xed\x2f\x19\xbf\xb1\x42\x21\xd0\x39\xb9\xe2\x46\x76\x5f\xc8\xd3\x59\x95\xcc\xae\x21\xed\x8c\x15\x2e\x74\x16\xb8\x90\xfc\x7b\x99\x61\x5f\x21\x9b\xe0\xd0\x6d\xfa\xbd\x73\xea\x0d\xb4\xb8\x48\x7c\x58\x48\xb7\xb9\xb2\x53\xcd\x4c\x7e\x4b\x96\xc7\x5a\x6e\x14\xad\xa7\x78\x92\xa4\x51\x0a\xf1\xb0\x26\xa0\x55\x82\xb3\x7c\x77\x5f\xbd\x27\x24\x5f\x68\xb8\xe1\x74\xbd\xc8\xc3\x73\xc6\xfe\x76\xf1\x23\xbf\x5c\xfd\x3b\xcc\xf7\x73\x52\x26\xe7\x55\x3b\x37\x56\x77\xe4\x3c\x0d\xd4\x0f\x68\x45\x8d\x4c\x9a\xa7\x05\xa2\x1b\x55\x2b\x03\x36\xf6\x62\x1b\x5a\x1a\x73\x0f\xa5\x8a\x37\x5a\x8d\x51\x1f\x9e\xde\x60\x43\xf6\xbf\x20\x01\xe9\x59\x54\x48\x84\xa9\xf0\xf3\x92\xdf\x78\xfe\x1a\x35\x10\x8c\x8c\xfc\xd4\xac\xa0\x88\x93\x8a\xbf\x31\xad\x9f\x6c\x1a\x43\x48\x10\xc9\xa3\x6f\xf3\x84\xa9\xc8\x84\xf7\xd3\x41\x85\x82\x2b\xb7\x33\x9c\x43\xa8\xcb\x2b\xaf\x31\xa8\x03\xb3\x69\xeb\x9f\xa9\xd3\x99\x08\x93\x4c\x60\xb4\x80\xfd\xbb\x7c\xf2\x62\xed\x58\xe5\x6a\x92\x3d\xda\x68\xd0\xfe\x2c\xbf\xfb\xad\x27\xc4\xc4\xd8\xd4\x52\xc5\x66\xc4\x6b\x22\x14\x5d\x9b\xd1\x75\x43\x02\x3e\xf2\xf7\xf2\xbc\x21\xfa\xac\x17\x9e\x93\x0d\xc0\x6a\x30\x68\xd1\xd1\xa1\xfc\x6e\xa9\xeb\x8a\x6d\xb4\xd6\x83\x60\x9b\x64\x49\x2f\x14\xfa\x04\xde\x66\x00\x65\x4a\x01\x8c\x5c\x59\xda\x91\x41\xc8\xbd\xa4\x43\x21\xb7\x14\x72\x89\x18\x17\xc5\x59\xc9\xb7\xb1\x08\xca\x5f\xab\x16\x3b\x25\xf9\x16\xfa\x6b\xa5\xde\xe4\xc4\x24\xb9\xbc\xe1\x26\x6c\x39\x25\xf0\x18\x81\xb2\x42\xee\xd7\xb5\xd3\xe9\xe1\xc3\xa2\x71\xb2\x54\x3d\x48\xc6\x3f\xa7\x98\x4a\x79\x42\x7e\xee\x4d\xa8\x78\x34\x95\xcc\x96\x80\xed\xb9\xb8\x82\x27\x2e\xcd\x99\x39\x50\x66\xda\x95\xa4\xb8\xe6\xaf\x8b\xfe\x64\x2d\x35\x35\x3f\x3a\x74\xd4\x61\xd0\x64\x14\x0e\xba\x2d\x07\xc9\xcf\xa2\xb7\x30\x69\x90\x78\x26\xa0\xa0\x10\xcd\x19\xa3\xbe\xc0\x5f\x60\x21\x76\x67\xe7\x1f\x1d\xe5\xa2\xbb\xfc\xa4\xfe\x21\x91\xa4\x42\xf2\xa5\xdd\x65\xd9\x0b\xf8\x05\xdd\xc2\x25\xaf\x60\x79\xe2\xe7\x01\x6e\xb8\x4b\xfe\x3a\x2e\xa9\x24\x41\xb5\xc7\x90\x2f\xe0\x4b\xdc\xc3\x95\x13\xa3\x94\x02\xb9\x2f\x26\x7b\xbf\x69\xed\x14\x17\x14\xc8\xa2\x34\xe9\xbf\xde\xbe\xb7\xe8\xb4\x00\x13\x9f\xa6\x36\x61\xaa\x5e\xa6\xb7\x3e\x24\x67\x2e\xd3\x82\x0e\x72\x9c\x5d\xd4\x79\x81\xdd\x9e\xda\x85\xb3\x4c\xc2\xb4\x17\x30\x46\xe6\x9e\x60\xfa\x4a\x0a\x31\x35\x64\x96\x16\x0f\xa6\xac\xd0\x0b\xeb\x14\xc5\x46\xc1\x83\xb5\xf4\xf7\x0e\x59\x99\x91\x46\xd1\xec\x63\x73\xe8\x9c\x56\x90\xd8\xe0\x19\x0e\xd3\x2a\x75\x4d\xd9\xf1\xd0\xaf\xf7\xf1\xdc\x91\x4c\x53\xd5\x54\x88\x82\xb8\xbe\x51\x11\xcb\x77\xd0\x53\xb7\xc9\x48\x61\xd9\x3f\x65\x53\x05\x6b\x5e\x6c\x36\xf3\xaa\x85\xc1\xda\xc6\xbf\xb9\x08\x54\xdc\xfa\xdd\x3f\xc8\x50\x66\x48\x43\x29\x2b\x41\x92\x0b\x9f\x97\xc2\x9c\x78\x7c\xa9\x56\x45\x80\xf7\x77\x99\xb2\x2f\x4b\xfa\x79\x5f\xe5\x4a\x7e\x6c\xad\xc1\xf4\xb4\x6a\x37\xbe\xc0\x0e\x3d\x3c\x81\xeb\x3e\x1e\xcf\x79\x19\x15\xe3\x41\x94\x66\x77\x88\xda\xe1\x34\x96\xcb\x0a\x2f\x3b\xa9\x9c\x25\x09\x49\x3e\x1d\xeb\x24\xf5\x98\xcb\x89\x59\x15\xd1\x11\xa5\x88\x46\x43\xba\xc2\x16\x46\x94\x92\xd9\x1f\xee\xb3\x4c\x55\x69\xe9\xcd\xe8\x95\xad\x7e\x33\x8d\x88\x8a\x6c\xe6\x08\x63\x68\x49\xcd\x8b\xdc\x72\x98\x04\xab\x32\x33\x84\x81\x48\xfe\x76\xdd\x8a\x91\x14\xe7\x3e\x84\x71\x6f\x0c\x86\xe5\x2e\x25\xba\xa3\x1f\x4a\x54\x6d\x63\x97\x13\x8b\x38\xdb\x78\x87\x40\x0e\xd3\xf7\xe0\x6b\xc8\x08\xa5\x4d\xab\x6c\x5d\xc9\x63\xaa\x2c\x99\x79\xd0\xef\xb3\x02\x86\x23\xd6\x53\xda\x0d\xb3\x48\x87\xc4\x62\xc4\xc8\x86\x45\x72\x2a\xae\xdc\x68\xc4\xc2\xdc\xfd\xd3\x55\x73\x50\x9a\x2a\xb3\xd7\xad\xab\x2e\x95\xc5\xa3\x0a\xd8\x22\xb7\xe5\x40\x12\xc7\x82\x33\xf3\x07\x9a\x9f\x91\x2d\x73\xbd\xcb\x18\x74\xce\xd5\xe4\xad\xc1\x36\x15\x49\xdb\xf2\x7d\x32\xff\xce\x40\x60\xd7\xdc\xa8\x94\x4a\xd1\x45\xad\x28\xb8\x5e\x5a\x97\x36\xab\x99\xaf\x14\xaa\x88\xca\xd0\xe1\x3f\x91\xd9\xc7\x61\xf5\x7a\xfa\x0b\x5d\x87\xf6\xfa\x20\x29\x2d\x28\x72\x45\xcc\x54\x7b\x60\x99\x1a\x52\x87\x90\xbc\xe9\xaf\x54\x66\x0d\x48\xcc\x4c\x7c\xc8\x62\x76\x01\xe5\x0f\xfa\x5f\x25\xc8\x16\xbd\x58\x8a\xe2\x41\x54\xfa\x32\xce\x65\x58\x49\xf8\xda\xbf\x2a\x16\xbd\x4c\x39\xfd\x0e\xc7\x9b\x4d\xb8\xd8\x2f\xd1\xde\xbb\x23\x61\x5b\x49\xb9\x04\x42\x08\xc2\x75\x9a\x3e\x4d\x9d\x01\xf9\x08\x81\x2c\xee\x54\xea\x41\x35\xba\x81\x10\x98\xb8\xe5\xb1\xc5\x70\x1f\xbe\x18\x5e\xe4\x01\x76\xb7\xdf\x12\xa4\xe6\xcf\xe8\xe5\x22\x9b\x51\x71\x7f\xfa\x27\xd1\xcb\xae\xa4\xd6\x05\x23\x2c\xd0\x70\xe1\xe8\x26\x44\x95\x28\xa5\x82\x65\x3b\x0a\x72\x7d\x89\x1d\x49\x24\xa1\x3f\xa2\x7b\xa4\x84\xaa\x9b\xc3\xc7\x72\xea\x8f\xd2\xd5\x43\x82\xac\x10\x39\xa7\x78\x2b\x05\x69\xdb\xc2\x2e\xed\x92\xce\x12\x1e\x98\x6b\xb2\xb6\x68\xe1\xc7\xb3\x04\x97\x34\xcc\x6e\xd9\x77\xbc\x82\x24\x07\x3c\x3a\x7f\xb8\x16\x2f\x71\xb8\x2a\x4b\x58\x18\x5f\x2e\xf8\x99\xb0\xe6\xa1\xd9\xd8\x9c\x85\x3c\xcd\x98\x0c\xa5\xf0\x19\xff\x63\xb3\x11\xd5\xf5\x27\x60\x7d\x3d\x47\xaa\xfd\xd5\xa1\x79\x06\xcf\x3c\x9b\xde\xbd\x30\x22\xfa\x0b\x2d\x6d\xd5\x99\xee\x76\xfa\x8c\x22\x95\xca\x6d\x23\x42\x63\x66\x5d\x45\x4d\x00\xa7\x12\x86\xa5\x93\xd9\xfb\x0b\x8d\x82\xdc\x8b\x2d\x3a\xa1\xb8\x09\x8c\x68\xa9\x11\x51\x73\xe6\x32\x65\x74\xd0\x88\x0e\x1e\x6f\xa6\x47\xe6\xd3\x81\x8c\x70\x10\x36\xbc\xc5\xe0\x0f\xd3\xe1\x91\x0c\x0d\x75\x8d\x2d\x28\x53\xd2\x2a\x99\x42\xb0\xc8\xd2\x55\x0c\xde\xcd\xbd\x26\x7d\x54\xe9\x9f\x6b\x23\x22\xcb\x6f\x72\x66\x3c\x78\xd4\xeb\xdb\x69\xd4\xa8\xfc\xb9\xcb\x63\x3f\x44\x80\xcc\x46\xc5\x04\x38\xc6\xdb\x1e\xbc\xaf\x69\xee\xae\x09\x40\x4d\xf1\xb9\xc2\xcc\xd2\xfb\xcb\x8f\x7d\xa4\x29\x4c\xdd\x1a\x02\x42\x30\x1a\x36\x78\x38\xed\x59\xfa\x9f\x44\x31\x02\xee\x97\x91\xea\x33\x51\x6d\x24\x8c\xa8\xf6\x1b\xf6\x78\xd9\x9f\xfc\x23\x9b\x52\x08\x05\x13\xf0\x90\xe3\x50\x39\x1c\xbf\x0b\xd9\x05\xed\xfb\xbe\xe9\x13\xfa\x1d\xf7\x32\x64\x53\x88\xc6\xfb\x82\xc3\xe7\xf8\x45\x7e\x61\x0c\x94\xb0\x55\x89\xf2\x63\xe5\x7f\xbf\x39\x8e\xb9\xc4\xdb\x2e\xb3\x59\x23\xd2\x19\xbe\x2a\x15\xff\x7b\x9b\x9a\x5a\xca\x77\x12\xc5\x3b\x31\x8d\x7d\xf2\x1d\x77\x45\x32\xec\xf5\x0e\x7f\x72\x54\x73\x6d\xc3\xd2\x93\x5e\x5f\xb8\xda\xd1\x83\x99\x6b\xda\x2d\x2d\x40\x8e\x28\x65\xa7\x66\x59\x0b\x9f\xdd\xc1\x96\x9e\x68\x7f\xb5\x40\xb0\x73\xa9\x55\xf8\x8e\x4e\x22\x22\x10\xaf\xe2\x4a\x80\x3e\x25\xdf\x19\x04\xa2\xab\x2f\xcb\x9a\xd2\x21\x22\x96\xfd\x21\x4b\x55\x91\x91\x72\x4b\x55\x43\x3f\x40\x6b\x4b\x37\x50\xc3\x90\x52\x61\xfc\x9d\xb0\x50\x12\x41\xbe\xad\x86\xa1\x8f\x53\x3c\xd6\x7e\xef\x9d\x70\x1e\xed\xd9\xdb\x5e\x59\xf6\x26\x4b\xca\x4a\x95\x8a\x77\xae\x35\x5f\x80\x0e\xcc\xc8\xd2\xc7\xd7\x32\x8c\x3d\x84\x4a\xcc\xe7\xb9\x03\x4b\xb5\x3f\x04\x7e\xba\x48\xf4\x40\x4a\x66\xe3\x01\x47\x5f\x58\x4d\x54\xa0\xa0\x8c\xa7\xfc\x35\x55\xfe\x2e\xa4\x81\xca\x74\xe2\x28\xd0\x14\xf4\x80\xe3\x84\x49\x9c\x9d\x4c\x04\x94\xbf\x4c\x77\x8e\xbe\x93\xce\x55\x66\xa2\x99\x5f\x0a\xf2\xdd\x80\xdf\x04\xcf\xc6\x6e\x50\x8c\xfb\x84\xac\x41\x38\x03\x18\xaa\x5a\x34\xbf\x08\x47\xc5\x9a\xb7\x83\x06\xa9\xb1\xad\x96\x38\x4c\xb8\x66\xa5\x80\x9d\xf6\x8c\x00\xbc\xe8\x4a\x13\x78\x6e\x8b\x49\x96\x33\x76\x13\xe1\xb9\x01\x54\xc2\x53\x43\xc8\x30\xac\x6f\x17\xca\xf8\x6d\x60\xa3\x7a\x51\xc8\x1f\xf2\x6d\x4a\x06\xaa\xc7\x74\xb2\x08\x7e\x93\x63\xc8\x71\xd7\x2e\xfa\x67\x79\x35\x4b\x9c\xa3\x54\xdc\x3e\x95\x2a\x34\xab\x20\xfe\x16\x32\x5a\x80\xc7\x33\x0c\x0e\x16\x7a\xfc\x6c\x7f\x77\x25\x10\xe1\x0f\x6c\x65\x1b\xcd\xe9\x63\xa1\xda\x7d\x03\x64\x83\xc5\x00\xed\x08\xca\x6c\x1b\xa5\x1f\x83\xf6\x0b\x74\xe0\xf7\x3d\xd2\x03\x07\x82\xa2\x0e\x89\x31\xd5\xca\xd5\x99\x04\x16\x06\x3d\xc9\xab\x4f\x94\x1c\x28\xf3\xd0\x1d\xa8\x53\x08\x9e\xef\xbd\xfe\x90\x9c\x41\x48\xbf\x83\x56\x43\x9c\xdd\x0c\x12\x19\xa0\x9f\x2e\x11\x65\x30\x61\x74\xca\x5b\x37\xf0\x89\x68\x27\x28\xed\x89\x84\xb5\xd5\x06\x22\x93\x1d\x55\x00\x1f\xa4\x4d\xaa\xcd\x54\xc3\x24\xc2\xea\x46\x80\x04\x05\x77\x3d\x4c\x4a\x7e\x10\x14\x30\xc1\x29\x80\xa2\xbf\x14\x63\x03\xcb\x8e\x3c\x2e\x8a\x3e\x33\x19\x6d\x15\x4d\x92\x84\x54\x25\xa8\x82\x62\x61\xdd\x7e\x9a\x82\xfc\x4c\x9f\x49\x6e\x46\xa9\x07\x55\x2e\x0c\x76\x86\x6b\x5b\x81\xd8\xd7\x6f\x6c\x84\x90\x84\x28\xb2\xd1\xd9\xa6\x7a\x6a\x47\x26\x0d\x5f\x3e\x53\xff\x40\xbf\x4c\xd9\xe8\xc7\xb6\xfc\x88\x42\xed\x23\x53\xfa\x79\x41\x95\x74\x97\xf1\xe7\x26\x35\x4e\xa8\x90\x04\x17\x8f\x77\xa1\x8a\xc2\x08\x21\x52\x6b\xd3\x5c\x4a\x62\xe5\xda\x27\x6b\xb0\xf2\x7d\x51\x4d\x07\xa7\x55\xfc\x51\x27\x75\xbf\x60\x8e\x85\x5f\x0a\x3e\xf4\x87\x2b\x53\x44\xd8\x1f\x36\x7a\xb3\x62\xb1\x6e\x36\x08\x94\xbb\xca\x16\xc6\x62\xd5\x02\xfa\x3b\xe3\x31\xe5\xaf\x92\xa5\xf1\xad\x08\x88\x04\x0f\x85\xff\xa2\xfb\xbb\xbb\x9c\x48\x35\x5c\x40\xc4\x30\x61\x39\xdf\xd8\x4c\xae\xf2\x29\x51\x11\xd7\x4b\x2d\x70\x99\xfb\xd6\xca\x29\xc3\x94\x6f\xf7\x0f\xc2\x72\x3c\xb0\xaf\x27\xf8\xb9\x16\x62\x0b\x59\x05\xcd\xc0\x4d\xb4\x8e\xf9\xce\xae\xb2\xa5\xbb\xa8\x83\x62\x07\x78\x71\x52\xda\xd1\xff\x58\x92\x0d\xec\x09\x1a\xcd\x5f\xb8\x76\x2b\x98\xbd\x72\x35\xf4\x67\x43\xf6\x1e\xf2\x9b\x70\xce\xf6\xb0\xa0\x9a\xf1\x40\x0f\xff\x72\x99\x39\xeb\xf9\x2d\x76\x32\x3d\xd3\x22\xf4\xf1\x10\x78\xf9\x55\x88\xcf\x3a\xa3\x6a\x4a\x6b\xc4\x34\xb2\xfe\x7e\xd7\x9c\x99\x3e\xc6\x1e\x53\xbd\x29\x62\x92\x62\xe7\x44\x0f\x71\x18\x90\x54\x7e\xc6\x16\xae\x91\xf8\xb0\x2f\xcd\xf3\xc3\x44\x39\x6a\x66\xeb\xb4\xe7\xa6\x57\x3b\x9c\xc9\x92\x96\x9d\x9c\xe6\xae\xd4\x75\x31\xd2\x1c\x44\xaf\xc7\x24\x17\x3d\x10\x39\xf5\xf3\x09\xb4\x4e\xc2\xa0\x34\x62\x45\x08\x59\x97\x8c\xd6\xf0\x6d\x1a\x1f\x49\x99\xea\x11\x81\xe4\x97\x4a\xa0\x35\x48\x54\xe5\xc6\x09\xf5\x60\xfa\xb3\xe2\xa2\x41\x6e\xfb\x88\xa8\x44\x5e\x41\x62\x21\x4d\x38\x28\x06\xb7\x3f\x62\xf4\xff\x01\x03\x0e\xfc\xf1\x0a\xf3\x24\x40\x79\x6e\x9d\x10\x88\x5f\x19\x1e\x1d\x75\x9c\x55\xfc\x01\xba\x13\x0f\x43\xd2\xe0\xed\x4b\xa8\x5f\x17\x06\x4b\x36\x32\x98\xec\x42\x7c\x0a\x1c\x5e\x87\x81\xa2\x82\x54\xb2\x6d\x72\xbd\x17\x8e\xa1\x4c\x44\x67\xca\xbf\xcb\x66\x9b\x29\x21\x2d\x1c\xee\xfa\xfa\x90\xd3\x6f\x8a\xa4\x90\x63\x68\xbb\x7d\xc9\xed\x40\x6f\xe0\x5b\x10\x18\x72\xe0\x45\x5d\x20\x90\xeb\x2f\x69\xda\x57\x4a\x38\xc1\x4f\x18\x67\x62\xea\xd3\x81\x46\xd6\x65\x82\x28\x2f\x94\xc2\x45\xce\xa0\x08\xe7\x79\x4f\xf1\x1e\x99\x4c\x42\x8d\x9c\x5d\x49\x6b\x54\xda\x89\x61\xcc\xe0\x62\x56\x8e\x11\xcc\xd5\x0a\xcf\xce\x0a\x09\x32\xbc\xb9\x93\x99\xd6\x81\x25\xcd\x62\x04\xbb\x8a\xc2\x6a\xfa\xaa\xd4\x67\x86\x8c\x27\x82\xc0\xf1\x87\x32\x85\x02\x2d\x36\xb5\xff\x1b\x98\x44\xfc\x04\xed\xbb\xa2\xf2\x4a\x17\x5a\x65\x27\x09\xb7\x6f\x42\x69\x32\x1d\xfc\xfb\x1b\x2b\x5d\x78\x3b\x53\xbe\x10\x50\xcf\x19\x08\x83\x0e\xa5\x7b\xa3\x1e\x7b\x4a\x75\xa4\x6d\xb2\x0c\x84\x66\x5e\x4c\x0a\x53\x15\x30\xc3\x19\x91\x92\xcd\xc4\x7f\x7e\x6f\xc7\xc7\xeb\xe6\xfc\x2d\xeb\xf7\xd0\x0f\x53\xb8\x45\x63\xf4\x2a\x80\x76\x6c\x00\x00\x70\x4f\x6d\xf3\x81\x14\x40\x13\x00\xf6\x76\x09\x2d\x0e\x1f\x53\xe3\xff\x44\x3b\x3c\x55\x1c\x0b\xc8\x43\xaf\x11\x12\x59\xd7\xe0\x15\x19\xbe\xee\xfb\xd6\x6e\x41\x29\xa4\x70\x78\x4f\xfd\x40\xa5\x69\xe5\x4c\x8a\x90\xc2\x37\x0f\x97\x45\x60\x4b\x5c\x87\x4a\x60\xf4\x39\xdb\x02\x55\x24\xfc\x09\x05\x70\xba\x27\xb0\xd5\x8f\xa0\xdd\x01\x85\x8c\xd3\x33\xc1\x10\x76\x0d\x2b\x00\x93\x6e\x9c\x98\x0f\x25\xa7\x6c\x08\x53\x8a\x7d\xdc\x05\x01\x89\x41\xc5\x18\xec\x4e\x6a\x30\x2a\x0f\xb1\xa6\xe8\xd7\xb3\x34\x38\xd8\xcf\x02\xce\x69\x25\xd1\x05\x87\x16\x8a\x94\xd2\x38\xd1\xe3\x50\x35\xc2\x63\x89\x8c\x23\xc5\xe8\x54\x24\x7f\x46\xbb\x3f\x24\xb2\x97\x80\x4c\x7e\xaa\x49\x9e\x0e\x51\x4e\x0f\x5f\xf2\x4d\x03\x43\x0a\x54\x6e\x89\x4c\x8a\x60\x29\x65\x7c\xc8\x90\x8b\x21\x64\x9a\xe4\xf3\xda\xf2\xec\x04\xdc\x91\x5b\xec\x73\xfb\x91\x44\x94\x5c\x56\x07\x6f\x15\x8d\x82\x06\x67\x46\x1d\xfb\x9c\x08\x8e\x47\x28\x31\xa8\x20\xc6\xcc\x1b\x4f\x4a\x42\x99\xc9\x11\x00\x4a\xdb\x46\x52\x25\x70\xe1\x9d\x06\x8e\x1d\x8d\x33\x4e\xf0\x50\x20\x43\xe9\x53\xea\xf3\xd2\xeb\x40\x70\x4d\x14\x94\x00\xcd\xdd\x76\x41\x00\x66\x2c\x2d\x13\x20\x2b\xae\x48\x83\x46\x74\xbb\x2c\x9f\xb6\x87\x06\xf3\x77\x66\x03\x41\xa8\x12\x80\x00\xa9\xb2\x8b\xe6\x8e\x29\x79\xc1\xf3\xee\x5e\xad\xc6\xb8\x7d\x02\xc8\x4e\xc5\x2b\x73\x38\x16\x04\x5a\x16\x82\x24\x6a\x87\x4e\x46\xb3\xf1\xd7\xe2\x69\x23\xda\x6c\xc8\xd6\x08\x16\xe2\x68\x81\x96\xb4\xff\x50\x21\x39\x67\x65\x1d\x0c\x5d\x02\x06\xf0\x69\xcb\x07\xa8\xf6\x68\xf2\xef\xe7\x80\x01\xf6\x1a\x66\x93\x76\x16\x27\x05\xf4\x83\x6c\x17\xe1\xf0\x21\xea\xe8\x1c\x79\x6e\xdb\x4f\xdb\xe4\x5d\x33\xe3\x00\x69\x86\x99\xd1\x8f\xc0\x0e\x46\xcd\x09\x9b\x80\xc8\x05\x50\x6b\x63\x9c\x5c\xe7\x88\x0a\x60\xe7\xf5\x0f\xde\x16\x40\xde\x15\x08\x39\x32\x01\xc4\x0d\x7a\xbf\xb5\x58\xe3\xfa\x3b\x5d\xdb\xa9\xe1\x69\xaa\x25\x5b\x1b\x35\x8b\x14\x94\x80\xe0\x70\xac\x38\x51\x20\x63\x8b\xc8\xe5\x64\xdb\xf0\x5c\xd1\x4c\x6f\xb1\xe4\x02\x3b\x6a\x50\xda\x2f\x8a\xad\xf8\x6e\xfd\x67\x81\xa2\xf3\x5b\xe5\xd2\x71\x42\xd2\x51\x50\x3b\xf6\x98\x2c\x18\x56\x93\x65\xd9\xe7\xd0\x33\xdc\x50\x1e\x72\xb4\x27\x02\xd8\xb7\xf5\x34\x59\xff\xa9\x86\x20\x38\xbb\x0f\x06\xf7\x5b\x25\x0b\xcd\xf6\xa6\x63\x93\x08\x0a\x19\x5e\x88\x60\xd5\xf7\xb0\x09\x9a\x8b\x06\x19\x0e\x50\x1a\x1f\x05\x6a\x4c\x3e\xca\xa0\xed\x71\x17\x80\xf7\xc0\x94\x3a\x36\x53\x95\x97\x8e\xd1\x5d\x4b\xce\xcf\x22\xa0\xa5\x08\xae\x67\x5b\xa6\x9d\x09\xe5\xcf\x91\x48\x93\x1b\x1d\x1e\x98\xe2\x03\x42\xac\x35\xc8\x56\x06\x1c\x45\x71\xdb\x4c\x4a\x8c\x95\x58\x7b\x43\xbc\x88\xb9\xa7\x42\xbd\xc5\x03\xd9\xd2\x21\x08\xa5\x50\xab\x49\xe1\x90\x1d\x71\x39\xbb\xf8\x4c\x6c\x78\x96\xae\xca\xaa\x37\xd2\x1b\x3e\xd6\xa4\x96\xdb\x5d\x40\xd5\x21\x40\x39\x48\x03\x94\x21\xaa\xed\xe4\xc8\x70\xc0\x1e\xc9\x99\x15\xd5\x24\x09\xe2\x3f\xde\xd5\x29\x9b\xab\x81\xdc\x8e\xa8\x05\x6c\xb0\x06\x2f\x22\xb1\x94\xc0\xcc\x81\x96\xaf\x2b\x93\x40\x60\x7d\x7d\x3a\x5c\xf7\x95\xaf\xd0\x09\x38\x95\x7a\x51\x67\x53\xa3\xbf\x18\x2b\xf2\x92\xa4\xbf\xc1\x92\x43\x84\xa3\x7d\x80\x1b\x52\x3a\x9f\xf5\x48\xfe\x55\x46\x02\x5c\xa1\x58\xfe\x92\x67\xf6\xc0\x18\x2f\xe2\x08\xeb\x80\x04\x41\x5a\x25\x11\x63\x1f\x31\x10\xd5\x77\x6c\x45\x54\x00\x05\x96\x0f\x77\x58\x0c\xa0\x08\x5a\x4e\x68\xa5\xa0\x85\x08\xc4\x79\x66\x32\x44\xc6\x20\x80\xc3\xb8\x18\x89\x26\x76\xae\x4c\x93\x71\xee\x1e\x34\xc6\x37\x95\xf1\xa7\xfb\xca\x7a\xfa\xf0\x5c\x90\x69\x4a\x11\x79\xc0\xe8\x4a\x2d\x6b\xaf\x4e\xc4\x33\xbd\xa0\xeb\x09\xa3\x2d\xbc\x05\x73\x91\xd1\x4a\x17\x35\x16\x89\x0f\x97\x1e\x29\xd9\x56\x30\x99\x4e\x17\x30\xdd\x64\xda\x5c\xd3\x9b\x64\x30\x64\x2d\xa9\xe3\x45\xda\x5b\x6d\x66\xa3\x5c\xa3\x55\x6d\xc1\x78\x11\xb2\xd2\xd2\x43\xab\x52\x3c\x28\x60\xaa\xd1\x95\xe6\x1d\x83\x70\x34\x5e\x21\x06\x9d\x68\xd4\x51\xe8\x0b\x00\x60\xa2\xf9\x81\x21\x6c\x08\x93\x20\x7e\xc6\x99\xec\x3a\x4a\x87\xc9\xa0\xf1\x6c\xfc\x57\xb1\xfe\x80\x39\xcb\xb8\xcc\x5a\x58\x42\x14\x3d\xeb\xc8\x6c\x29\x60\x6a\x9e\x1d\xaa\x65\x56\x4a\xb3\xe0\x55\x80\xb3\x02\x86\x47\x21\xae\x73\xd8\xe7\x31\xd4\x3f\xc6\xbc\x33\x84\xa8\xc3\x8a\x2e\xb3\x1e\x7d\x62\x1b\x49\x61\xd9\xea\x36\xe0\x03\xca\x95\x06\x16\x0d\x1e\x9c\x74\x3f\xe8\xc0\x80\xde\x53\x07\x78\x5a\x4a\x27\xc3\x70\x0a\x69\xeb\x2c\xa6\x12\x2e\x88\x8f\xf1\xac\x12\x90\xd8\x52\x07\x07\x01\x32\x54\x60\x35\x00\x98\x2d\x52\x0a\x42\x78\x72\xe6\x57\x48\x03\xf6\x0c\x4a\x50\xb0\x65\x23\x42\x62\x89\x7c\x93\xaf\x94\x2d\xb1\xfe\x90\xa1\x90\xec\x8b\x5b\xb2\x84\xa0\xc6\x1c\xe4\x50\xc2\xe2\xfd\x85\x1a\xa4\xa8\x45\x68\x8b\xb1\xb3\xc2\x8b\x28\x35\x53\x9c\xa2\x1d\x95\x66\xd5\x72\xe4\x1c\xc3\x19\x2f\x5d\x7f\xcb\x1c\xb0\xd1\x49\xc6\x8a\x0d\xcc\x15\xd6\x64\x94\xde\x45\x23\xfa\xa2\x4f\xae\x53\xfa\x33\x97\x39\xd3\xbb\x5d\xb8\x16\xba\xb3\x80\x65\x1e\x82\xbf\xdb\xae\xd5\xc9\xb9\x2e\x39\x17\x5f\x8c\x62\xea\x65\xa7\xe6\xbe\x4d\x8c\x14\xb4\x81\x39\x62\x1e\x13\x19\x23\x65\x8d\xa9\x28\x92\xa6\x11\x2d\x88\x20\x30\x9d\xa7\xd2\xd7\x52\x61\xb1\xe0\xc6\x1d\x84\x39\xf9\xba\x96\x88\x06\x22\x02\xfe\x89\xb1\xfe\xfd\xfd\x55\x2c\xe1\xc2\x25\xfa\x7e\xbe\x58\xe8\xdc\x80\x1f\xf6\x97\x94\xeb\x7a\x80\x15\xdb\xbd\x7b\x27\x36\x5b\x40\x84\x74\x5b\x57\x25\xfd\xd1\x2a\x0b\x2e\x64\x27\x76\x52\x20\x7b\x94\xd2\xf0\x68\x1e\x8a\x04\xa6\x21\xde\x41\x65\x64\x92\x43\xaa\x45\x7d\xbb\x78\x3d\x45\x5b\x0e\x01\x7c\xef\x42\x24\x37\x4a\xa1\x2a\x20\x42\x2d\xe1\x00\x0c\x2c\x3d\x11\x6b\x37\x94\x5b\x5f\xb6\xea\x2d\xd0\x49\xf4\x96\x0c\xa2\x15\xab\x80\x92\x87\x4a\x35\x65\xd6\xcc\xb6\xc4\x01\xb4\x13\x7b\x0d\xc8\xed\x28\x09\xb4\x86\x3b\x10\x8d\x05\x14\x57\x4d\x77\xa7\x60\xab\xb0\x02\x80\xcb\x7e\x70\xdc\x41\xa0\xb0\x7a\x15\x0e\x20\x38\x87\x02\xee\x66\xe6\x13\x29\x29\xe2\x8c\xe2\xc2\x28\xde\xfc\x40\x09\xa9\x08\xc4\xaa\x07\xd9\x85\x85\xd9\x03\x3c\xe1\xee\x85\xe4\x2e\x61\x25\x4e\x20\xf2\xec\x6e\x14\xe9\x40\x62\x7a\xad\xc3\x19\x87\xc8\xd1\x1a\xc0\xb5\xbf\x3e\x1a\x1a\xc0\x90\xeb\x18\x03\xf4\x25\x85\x87\x80\x05\x54\x07\x2a\x3f\x6c\x67\x62\xbf\x64\xf6\x10\xc8\x3c\x82\xc4\xb5\xe3\xfa\xc0\x77\x39\x4e\x61\xac\xc5\x13\xbc\x38\x3b\x3c\x5e\x2a\x25\x9d\x9b\x79\xd2\x3a\x74\x11\x44\xa5\xd2\x95\x5a\x3c\x1c\x40\x1b\x05\xfc\x89\x30\xaa\xa8\xab\xe4\x82\x71\x34\xb1\xe4\xd0\xed\x6c\x5c\x0d\x96\x1f\x15\x86\x31\x86\x0e\xee\xc9\x1b\x9f\xd3\x00\x60\x2f\x9e\x24\x12\x49\x4a\x20\xd2\x93\x73\x4e\x29\xbc\x3b\x07\x3a\x41\x3b\x92\x29\x24\xd7\x95\x0a\xb0\x57\x77\xa2\x12\x79\x25\x4b\x72\xde\x49\x76\x0f\x5c\x62\xb6\x56\x07\x99\x06\xa3\x5c\x1c\x6e\xad\x64\x7b\xc0\xde\xf4\xc8\x36\x15\x74\x10\xbb\x90\x76\x9d\xed\xd7\x2f\x7e\xa2\x00\xfc\x2a\x4f\xd6\xed\x0a\x11\x37\x55\x16\x3e\xa3\x38\xfb\x17\x72\x82\x41\x43\x3c\xba\x13\x6a\xe9\x8a\x45\xe2\xa2\x2d\x6a\x0f\x1c\xe7\xd8\xe7\x89\xb7\xa8\xfc\x78\x73\xee\x29\x81\x8d\xcc\x44\xa2\x9b\x96\x31\xbc\xc3\x8c\x2f\xcf\xca\x71\x93\x70\x2a\x2a\xcc\xb8\x18\xc0\x24\x02\xd9\x91\x8d\x13\x2c\x0b\x16\xdb\xe1\x0d\x83\xb3\x42\x1a\xf5\xc8\xbc\x70\xc4\xfa\x0e\x6b\x09\x1b\x4d\x17\x68\x70\x88\x4b\xea\x37\x17\xc6\x15\x55\xe8\xa4\xc3\x5d\xf0\xf8\xe1\x03\x68\x26\x18\x84\x2d\x19\x13\x9e\x24\x03\x88\xe9\x8e\xbb\x81\xaf\x94\x93\x59\xea\x90\x1b\xa3\x3b\xe0\x71\xcb\xe9\x36\x77\x95\x7a\xdd\xf7\xd6\x57\xfb\xee\xcb\x84\xd6\xad\x41\xa6\x68\xb2\xec\x44\x7f\x9c\x91\x03\x5e\x52\xf6\x03\xde\x1e\xc9\x01\x22\xad\xc6\x73\x0f\x35\x00\x66\xfd\xfc\xee\x77\x0d\x88\xbf\xe4\x2b\x10\xe7\x51\x26\x12\x1f\x11\x92\x0e\x2f\x39\xc8\x82\x96\x9c\xb8\x77\x4e\x1e\x62\xc7\xeb\xe9\xfc\x90\x90\x19\xad\x0f\xe3\xfc\xb0\xd8\x7a\x7b\xe5\xd8\x1c\x95\xd3\xfe\x59\x17\xc5\x3e\x0a\x5d\x4e\x45\xda\xc1\xb1\x63\x2c\xdf\x9e\x23\x0c\x42\x46\xfd\x3a\x30\xcd\xd8\x2f\x2d\x45\x18\x13\xc8\xbe\xc6\xc2\x8c\xc7\xd7\x83\xeb\x11\x46\x5c\xea\x8c\xf4\xe4\x49\xa7\x7b\x74\xec\xe4\x41\xbb\x5a\x89\x43\x99\x4f\x0e\x07\x52\xc3\x1b\x75\x6b\xa5\x0c\x69\xfa\x94\xf4\x29\x85\x79\x74\x6b\x64\x9d\x4e\xb8\x26\x16\x9b\x76\xa7\x15\x41\xb1\x99\x88\x0c\x50\x02\x7b\xcd\xd6\xee\xf4\xcb\x50\x27\x9a\xf3\x92\x3e\x02\xc8\xea\xe0\x78\x02\xe0\xc6\x86\x60\x2e\xdc\x04\xe4\x25\x2c\x3b\x3a\xd4\xbf\xd9\x3a\x0f\x8e\xa9\x1a\xab\xad\xbf\xed\x61\x46\xf1\xa7\x6f\x1a\x54\x51\xab\x10\x7d\x76\x23\xf4\xec\x9a\xd7\xa3\x02\x91\xf6\xda\x51\x6b\xe8\xc6\x27\xdd\x73\xc4\xd4\xd3\xd6\x1f\x08\xd8\xf7\x12\x7e\x85\x0f\xb5\xde\xcd\x7a\x35\x68\x1f\x4d\xc4\x51\xca\x92\x06\xe1\x59\x3e\x43\x19\x85\xe8\x07\xca\x8d\x99\x00\x84\xe8\xbe\x69\xb7\xcc\x02\x1d\x18\x55\xb1\xa0\xd3\x4e\x46\x23\x11\x4a\x18\x30\x75\x8c\x05\xce\x43\xf0\xe4\xf0\x38\x6b\x93\x08\x21\x0a\x66\xab\xe9\xec\xa7\x76\x0c\xb9\x7b\x7f\x1a\x45\xf1\x2f\x1f\xcf\xeb\xe6\x49\x4b\x49\x45\xcb\x3e\x0c\xba\x70\xb7\x79\x64\x86\x13\xcc\x65\x09\x0a\xca\xbe\x12\x94\x3d\x7a\xf4\x86\x3a\x40\x37\xd6\x4a\xe0\xf7\xc4\x0e\xb3\xcc\x7c\xc6\xc6\x35\x67\x07\x0f\x38\xc0\xee\x78\x0c\xc5\x33\xe7\x4f\xb1\x8c\x1d\xaa\xfe\x80\xc4\x10\xdc\xdc\x07\x0a\xfe\x33\x1f\x80\x48\x31\x8b\xf3\xb1\xd8\x84\x46\x2e\xa0\x79\xb4\x66\x7a\xb4\xec\x57\x06\x49\x4d\x1b\x0b\xf1\xd9\x19\x83\x18\x11\xc6\x6a\x5b\x81\x17\x2e\x77\xe6\x25\x08\x84\x69\x3f\x01\xd2\x86\x55\x12\xc2\xe8\xa9\x66\x7c\x7d\x40\x2b\x04\x5b\x38\x95\x6b\x37\x43\x78\xa4\x98\x53\x90\x85\xed\x45\x4f\x02\x12\xde\xaf\x70\xa0\x24\xe4\x17\x97\xfc\xe1\xe7\xbe\x51\xe6\xbb\x2b\x99\x19\xca\x03\x3a\xb8\x3c\xe1\x5d\x81\xb6\x01\xb8\x4b\xe2\x33\x8f\x8b\x54\x2d\x79\xb2\xc2\xcd\x16\x08\x5b\x4e\xd1\xd6\x7a\xb4\xb5\x84\x3b\x79\xb3\x8a\xa4\x2d\x48\x5a\xfe\xaa\x59\x5e\x15\xa1\xd4\x2e\xa5\x4d\x00\x2a\x08\xd4\x27\x68\x38\xd2\xed\x41\x85\x04\x2e\xb0\x4e\xef\x32\x16\x72\x89\x9c\x4c\x42\x9c\x0b\x37\x3a\x4f\x72\x8f\x92\xa9\x7d\x91\x12\x43\x89\x53\xcb\x9a\x53\x19\x39\xe4\x01\x4a\x71\x23\xec\xa3\x12\x57\x49\x7d\x2a\x38\xcb\x44\x21\x1b\x88\xb8\x23\x09\x11\x14\x67\x23\x59\x8f\x3e\x13\x38\x18\x60\x95\x0a\xec\x15\xd0\x92\xc2\xf1\x03\x0c\x3f\x61\x85\x81\x32\x12\x48\x2c\x1f\x5e\xf1\xe3\xc4\x27\x83\x8f\xef\x3f\xb8\xff\x03\x90\x0e\x5e\xb8\x88\xe6\x03\xa7\x6e\x83\x68\xe3\x4f\xc6\x92\xad\x07\x1a\xbf\x69\x3c\xd1\x19\xaa\xe6\xdd\x59\x0f\x61\x32\xc9\x2b\x1e\x99\xfc\xcc\x36\x61\xb0\x46\xb1\xe2\x61\x3c\xcc\x21\x84\xdb\x30\xac\x89\x32\xbd\x5d\x81\x63\x3a\xef\x65\xbc\x4b\xa4\xac\x1c\x58\x98\x58\x98\x5b\x55\x67\xe9\x4f\x12\xaf\x75\x17\x35\x69\xd4\x79\x50\x63\x56\xd9\x54\xba\x9e\x35\x1f\x52\x01\x49\xfa\x9f\x41\x36\xf2\x4f\xd4\xb8\x69\x0d\xa4\xfd\x43\x04\x8e\x5c\x87\xf1\x1e\x85\x97\xe3\x51\x0f\x5a\x13\x8d\x4d\x84\x44\xc4\xc6\x83\xd3\xda\x01\x90\xcf\x42\x21\x58\x96\xc4\x3a\xf4\xd0\xe3\x08\x1c\x5c\x21\xc7\x14\x18\x5e\xc1\x85\x22\x14\x7b\xa1\x45\x20\x14\x56\x61\x07\x78\x24\x50\x1d\x09\x17\x18\x5c\x24\x02\x0c\xb3\x44\x42\x42\x54\xde\xd3\x46\x74\xe8\x9f\x7e\x99\xc3\x7b\x4f\x87\x1e\x04\x00\xbc\x0d\x77\x00\xef\xf8\x9e\x35\x61\x23\xf8\x07\x60\x90\xab\x3d\x04\x16\x00\x11\x67\x81\x12\x80\x11\xd0\x81\x13\xb0\x01\x59\xfd\x19\x32\x3e\x1d\x87\xb1\x4d\x47\xaf\x2d\x47\xad\x6b\x8f\xc3\xa8\xaa\xdb\x31\x54\xbe\x62\xa6\xfc\x85\x4c\x18\x0a\xb9\x60\x2a\xd9\x80\xab\x56\x02\xac\x58\x0a\xad\xde\x2a\xa5\x78\xaa\x65\xc2\xa7\xd6\x8a\x9d\x5a\x2a\x63\x60\xaa\x56\xc1\x53\xd5\x62\xa5\xba\xc5\x4a\x55\x8a\x92\xaa\x15\x1d\xd0\x2a\x36\xa0\x54\x4b\x40\xa8\x7a\x71\x50\xc4\xe2\xb6\xc9\xc5\x68\x93\x8a\xc7\x67\x15\x86\xcc\x2a\xdf\x94\x55\xa7\x28\xaa\xf6\x51\x55\x34\x82\xa7\x39\x05\x4c\x92\x0a\xad\x63\x15\x4d\xc6\x2a\x90\x8c\x54\xbb\x18\xa9\x52\x21\x52\x2c\x42\xa3\xc8\x85\x45\xb0\x8a\x88\xa0\x15\x0f\xbe\x2a\x43\x7c\x54\x7a\xf8\xf4\x70\xf0\xf4\x46\xe8\xf4\x40\xe8\xf4\x34\xe8\xf4\x2a\xe0\xf4\x10\xe0\xf7\xf5\xb1\xee\x05\xb1\xed\x85\xb0\x96\x86\xd8\xac\xe1\xb1\x58\xf3\x62\xb0\x06\x80\x1c\x4c\x80\x2e\x99\x00\x54\x32\x00\x79\x60\x00\xae\xc0\x01\x55\x70\x02\x62\xe0\x03\xe5\xc0\x05\xeb\x00\x0a\x15\x00\x10\xaa\x00\x1b\x54\x00\x2c\xa0\x00\x25\x40\x05\x1a\x60\x07\xe4\xc0\x0b\xe8\x80\x15\x90\x00\x23\xa0\x00\x3f\x40\x00\x74\x80\x00\xa4\xf8\x19\x47\x4c\x88\xeb\xc5\x9e\x00\x53\xc0\x29\xf6\x01\x9e\xc3\xbf\xa0\x7a\x93\xff\x74\x07\xcf\xb2\x46\x79\x15\xd7\x8e\x00\x20\x1a\x00\x31\x34\x00\x4c\x68\x00\x8c\xd0\x00\xe1\x80\x01\x83\x00\x01\x66\x00\x7f\x99\x00\xb0\xc8\x05\x65\xc0\x28\x2e\x01\x29\x70\x08\x4b\x80\x40\x5c\x01\xe2\xe0\x0c\x97\x00\x58\xb8\x02\x65\x40\x05\x15\x00\x08\x54\x0f\x62\xa0\x76\x95\x03\x68\x98\x1a\x44\xc0\xc5\x26\x05\xf9\x30\x2d\x49\x81\x62\x44\x02\x89\x10\x09\x64\x40\x1f\x11\x00\x5a\x44\x01\x31\x10\x03\xa4\x40\x0c\x91\x00\x18\x44\xe0\x04\x79\xc0\xb8\xf3\x80\xd1\xa7\x00\x43\x4e\x7c\x0d\x39\xdc\x34\xe6\xd8\xd3\x9a\x23\x4e\x63\x0b\x6c\xc2\x16\x05\xc0\xb0\x3b\x05\x81\xb8\x2c\x0d\x81\x60\x63\x8b\x03\x04\x58\x16\xe2\xc0\xb3\x16\x05\x40\x90\x28\x84\x81\x32\x24\x03\x30\x90\x0c\x22\x40\x2d\x09\x00\x98\x24\x01\xe8\x90\x06\x42\x40\x16\x89\x00\x3c\x24\x00\xd0\x90\x01\xc1\xc0\xf8\x0e\x07\x38\x70\x37\x43\x81\xa6\x1c\x0c\x80\xe0\x62\x05\x02\xe8\x28\x16\x81\x40\xa5\x0a\x05\x18\x50\x05\x41\x40\x13\x85\x00\x46\x0c\x00\xb8\x30\x02\x00\xc0\xf5\x06\x00\x74\x89\xfc\x01\x9c\xde\x04\x1d\x8b\xe4\x47\x16\xad\xe9\xd4\x4f\x52\x97\x89\xe9\xc4\xb2\xe2\x49\xef\x1e\x54\xf1\x79\x53\x8d\xcd\x4d\x57\x35\x32\x5c\x54\xc6\x6f\x52\xe5\xa5\x4b\x56\x95\x30\xc8\x8e\xac\x04\xe0\xbb\x1a\x82\x8c\x28\x0a\x2d\xa0\x24\xb2\x80\x92\x9a\x01\x80\x94\x0d\xa4\x02\x21\x36\xa6\x84\xa2\x77\x88\xea\x48\xa2\xa9\x0e\x86\xa3\xf9\xfa\x8f\x47\x12\xf9\xad\xa0\x11\x4f\x20\x20\x72\x7e\x07\x07\xe0\x65\x7e\x06\x2f\xe0\x5d\xfe\x05\xb7\xe0\x56\x7e\x05\x2f\xe0\x50\x7e\x05\x37\xa0\x53\x7a\x04\xef\xa0\x4b\xfa\x04\x97\xa0\x46\x76\x04\x17\x60\x3b\xf6\x03\xaf\x60\x39\x76\x05\xd1\x23\x0a\x4a\xa4\x1a\xdc\x17\xa7\x42\xcd\x4e\x82\x2c\x90\xe4\xd7\xce\x1f\xc5\xd3\xad\xb2\x27\xb0\x00\x00\x01\x03\x01\x60\x00\x00\x15\xa1\x27\xe2\x8f\x10\x82\x60\x04\x5c\x4c\x54\xfe\xf0\xd9\x02\x41\x18\x70\x12\x42\x73\x81\x29\x72\x85\x21\xd5\x0a\xe2\x28\x0a\x03\xd2\x04\x69\x82\x60\x01\x00\x00\xff\xff\x58\xc7\xb1\x9c\x9f\x4e\x00\x00") + +func assetsFontsGlyphiconsHalflingsRegularEotBytes() ([]byte, error) { + return bindataRead( + _assetsFontsGlyphiconsHalflingsRegularEot, + "assets/fonts/glyphicons-halflings-regular.eot", + ) +} + +func assetsFontsGlyphiconsHalflingsRegularEot() (*asset, error) { + bytes, err := assetsFontsGlyphiconsHalflingsRegularEotBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/fonts/glyphicons-halflings-regular.eot", size: 20127, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsFontsGlyphiconsHalflingsRegularSvg = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x6d\x8f\x24\x49\x92\x1e\xf6\xfd\x7e\x85\x69\x04\xe8\x83\x04\xaf\x71\x33\x7f\xd7\xed\x1e\x01\xf1\x08\x42\x80\x4a\x22\x40\x8a\x82\x3e\x09\xc3\xdb\xd9\xcd\x05\xe2\x66\x19\x3b\xc1\xbc\x53\xfd\x7a\xc1\x1e\x33\x8f\xcc\xaa\xae\x8c\xac\xae\xea\x99\xee\x39\x1d\x76\xb6\x33\x2a\xc2\xc3\xc3\x5f\xcc\xdd\xed\xf5\xb1\xdf\xfd\x9b\x7f\xfe\xc7\x85\xce\x3f\xfe\xf5\xe7\x3f\xff\xe5\xa7\xdf\x7f\xc7\x0f\xf1\x3b\xfa\x79\xfb\xe1\xa7\x3f\xfc\xb0\xfc\xe5\xa7\x1f\x7f\xff\xdd\x4f\x7f\xf9\xee\xdf\xfc\xdd\xdf\xfc\xee\xbf\xfb\xfb\xff\xe3\xdf\xfe\xa7\xff\xfb\x3f\xfc\x3b\xfa\xf9\xfc\x27\xfa\x0f\xff\xe7\xff\xf2\xbf\xfd\xaf\xff\x96\xbe\x0b\xdf\x7f\xff\x7f\xa5\x7f\xfb\xfd\xf7\x7f\xff\x9f\xfe\x9e\xfe\xe3\x7f\xfe\xf7\xc4\x0f\xfc\xfd\xf7\xff\xee\x7f\xff\x8e\xbe\x3b\x6d\xdb\x7f\xfd\x9f\xbf\xff\xfe\x9f\xfe\xe9\x9f\x1e\xfe\x29\x3d\xfc\xe5\xaf\x7f\xfa\xfe\xdf\xff\xf5\x87\xff\x7a\xfa\xf3\x3f\xfc\xfc\xfd\x7f\xfc\xcf\xff\xfe\x7b\x2d\xf8\xf7\xff\xe9\xef\xbf\xff\xf9\xfc\x27\xe6\x87\x3f\x6c\x7f\xf8\x8e\xfe\xee\x6f\x7e\xa7\x55\xff\xf3\x3f\x2e\x3f\xfd\xfc\xfb\x57\xde\x97\x18\xa3\x96\xff\xee\xef\xfe\xe6\x77\xff\xf8\xe3\xf6\xc3\x1f\x7e\xd8\x7e\xf8\xbb\xdf\x7d\xbf\x5f\xfe\xcd\xef\xfe\xf0\xe3\x1f\x7f\xfe\xbb\xbf\xf9\xdd\x1f\xff\xf2\xd3\x46\x7f\xfe\xc3\xef\xbf\xfb\xd3\xf2\xff\xea\x17\xff\xf2\xd3\xcf\xff\xcf\xe9\x87\xe5\x8f\xcb\x9f\x7f\xfa\xd3\xcf\x7f\xfd\xf1\x4f\xff\x6d\xf9\xe1\xaf\xdf\xd1\xe9\x2f\x7f\xfd\xf3\x53\xf8\xe1\x0f\xe7\xf0\xcf\xbf\xff\x8e\x25\x46\xb4\x40\xdf\x0d\x7f\xfc\xe1\x1f\x7e\xa4\xff\xf6\xd3\x9f\xb7\x9f\xc3\x7f\xfd\xf1\xaf\xe1\xc7\x7f\x9c\x05\x7e\xf8\xf9\x1f\x7e\xfc\x69\xfb\xfd\x77\xa3\xc6\xef\xe8\x0f\x3f\xfa\x5f\x41\x72\xfc\x8e\xbe\xd7\x66\xfd\xf9\xe7\x9f\xff\xfc\xd3\x9f\x02\x3e\xfc\xfc\x0b\x25\x7a\x99\x57\x9e\xdd\x7e\x92\x9f\xbf\xf5\xdf\x7e\xfa\xf3\x3f\xfc\xe5\x0f\x3f\xfe\xfe\x3b\x7a\xf5\xee\xff\xf8\x1d\xfd\xe1\xf7\xdf\x3d\xd6\x18\x89\x39\xc6\x95\x0b\x45\x4a\x99\x02\x3f\x94\x2d\x45\x0a\xe9\xa1\x2c\xcc\x14\x78\xe5\x48\x41\x88\xdb\x43\xa1\xc0\xf1\xa1\x6c\x76\xd5\x1f\xca\x39\x88\xe4\x85\x4b\x27\x2e\x7d\x6d\xd4\x88\x3b\xf5\x8d\x07\x85\xba\x70\xac\x5a\xbe\xae\x8d\x42\x27\xbd\x1e\x5b\xe8\xfa\xe2\x12\xf4\x15\xfd\xe7\x24\x92\xb5\xfe\x48\x5a\x1d\x85\xf6\x50\x36\xfd\x04\x05\xfd\xdc\x5a\x29\x64\xd6\x57\x5b\x59\xa3\xbe\x80\xe6\x51\x48\x79\xd3\xf6\x51\x48\x71\x09\xda\x46\x5e\x83\xe8\xc7\xac\x81\xf6\xf6\x16\xf6\x3a\x4f\x7b\x3b\xf1\x65\x6d\x51\x23\x34\x65\x0b\x68\xd8\x12\xf6\xd6\x6a\x13\x9b\xde\xa3\x50\xb5\x0a\xf2\xe6\x72\xe9\xe8\x2e\x1a\x12\x51\xad\x0d\xc2\x16\x2e\x43\xb3\x6a\x7b\x03\x1a\x4c\xa1\xae\x01\xa3\x1a\x52\x26\x1d\xd5\x90\x22\xe9\xa8\x06\x66\xe2\x55\x2b\x11\x6b\x29\x61\x54\x51\x23\x46\x55\x1b\xbb\x0f\xd1\x1a\x9a\x35\xa8\x53\xe8\x9b\xb6\xab\x5a\x6b\xd1\x58\x74\xa3\x12\x8f\xad\x13\xf7\x39\x15\xe8\x2f\xbe\x10\xad\x8d\xa4\x75\x6f\x36\x38\x18\xd9\x50\xc9\x5a\x8a\x91\xe5\xa2\x0d\xa4\x94\x37\x1d\xd5\x14\x17\x26\xe6\x55\x88\x23\xed\xaf\x6c\xb3\x9e\xd3\xde\x3c\x6f\x1d\xe6\x97\xfb\xa6\xcd\x58\x66\xcb\xba\x12\xc3\xa0\xba\xa1\xdd\xfb\xd8\x9f\x6d\x04\x39\xd2\xec\xed\xb6\x8f\xc0\x8a\xb9\x6e\x85\xea\xd3\xab\x24\xfb\x3f\x19\xc9\xe6\x62\x24\x7b\x92\x18\x57\x61\x25\xdb\x82\xf1\xcf\x5a\x59\x06\x59\x14\xa5\xcd\x54\xe2\x29\x95\xe3\x32\x5a\x87\x92\x37\xdb\x33\xbb\xbd\x85\x4b\xe9\x93\x56\x83\xba\xee\x95\xd3\xaa\x02\xbe\x65\xb7\xf1\x2d\x2b\x8d\x6f\x69\x73\x50\xcf\x51\x21\x6b\x8f\x30\xed\xb7\xb6\xbd\x1c\x69\x6f\xce\xd6\x92\xd7\x4b\xbc\x3e\x6e\xff\xc3\x7f\xff\xcf\x3f\xc4\xbf\xbd\xf9\xa8\xfc\xad\x8d\x6b\x97\xe2\xe3\x5a\xa2\xaf\x49\xd1\xde\x95\x2d\x58\x2f\xd3\x12\x52\xcd\xa4\xff\x28\xfd\x60\xe5\xe8\x78\xf4\x93\xd4\xee\x6f\x24\xac\x9a\xa4\x63\xb2\x04\x16\x25\xbf\x1a\x51\xba\x1b\x09\x73\xde\x82\x08\x85\x7a\x0a\x2c\xe5\x1c\xf0\xc1\x56\xde\xfd\x7a\xb3\x05\xc9\xcf\x17\xe4\x65\xe1\x73\xee\xab\x3e\xbe\x5a\x08\x57\x2b\x8d\x5b\xa6\x53\xd0\xef\xcf\xc5\x92\xa8\x6e\x89\x38\x2f\xfa\x75\xfd\x78\x25\x25\x6e\xe2\xbc\x89\x50\x3d\xe9\x57\xb5\xcd\x9f\xf7\x12\xf7\x35\x14\x62\x41\x4b\x75\x03\xd4\x81\xc4\x38\x76\x5d\xc0\x98\xbf\xb4\x61\xbc\x0b\xc6\x5f\x74\xe3\xc8\x09\xbb\x25\xeb\xa0\x73\xcd\x6b\xb7\x85\xa6\xfb\x00\xf6\x25\x7d\xa0\xf7\x19\x77\x73\x22\xee\x37\x29\x40\x4f\xc4\xbf\x7d\x71\x92\xd5\xf2\xfa\x89\x61\xc5\xf9\x65\x71\x4e\x37\x4e\x18\x2b\x2f\x9f\x57\x7d\xfa\xcc\xea\xf3\xcb\xf2\x39\xa5\x83\xe2\xe5\x65\xf1\x24\xe5\xa0\x78\x7d\x59\x5c\xb8\x1e\x14\x6f\x9f\x57\xbc\x7f\xd2\xd7\x2a\x07\xc5\xc7\x27\xb5\xd7\xa3\x91\xf9\xe1\x65\xf1\x76\x50\xb9\xfc\xf1\xb3\x2a\x2f\x9f\x14\x3f\x1c\xc7\x1f\xfe\xc1\x37\x93\x96\x33\x31\x8f\xbe\x4a\x16\xec\xbe\x4a\xc2\x7d\xac\x15\xa7\x67\xa6\x5a\x29\x48\x1c\xa7\xc0\x9d\xd7\x48\xd9\xcf\x6c\xea\xa2\xeb\x33\xeb\x31\x54\x71\x66\x96\x4e\x19\xa7\x63\xd5\x83\x48\xf2\x16\x0a\xdb\x32\x5e\xf5\x2c\x8c\x14\x32\x4e\x7c\x6c\xc7\x79\xe8\xa5\xa0\x7c\x49\x14\x52\xd7\x7b\x14\x2a\x6a\x4d\x83\x42\x1f\x0f\xe5\x94\x1a\x0e\x7c\x34\x45\xf7\xe4\x68\x5b\x4c\x89\xb6\xa7\xc5\x78\xca\xb1\xbe\x2c\x31\x28\xb4\x4c\x49\x97\x64\x92\xad\x60\x6b\x1c\xbc\x55\x30\x24\x45\xb7\xf1\x32\x28\xc8\xa0\x2d\x37\xec\x3d\xab\x68\xcf\x4b\xf4\x4d\xc7\xdb\xaf\xe5\x3a\x65\xde\xbc\x8f\x76\xfc\xf5\x78\xd2\x9d\x4c\x39\x84\xc0\x4d\x37\x55\xe9\x14\xa4\xe9\xde\x15\xf5\xf0\xe7\xa6\x7f\x66\x5c\xad\x41\x62\xc5\x09\x22\xd9\xce\xe0\x54\x29\x2b\x1f\x30\x88\x53\xda\x42\x2e\x24\x31\x9f\x82\x70\x5b\xb4\x13\xda\x07\x66\x59\x99\x72\xa3\x4a\xb6\x7d\xe9\xc6\x32\x9f\xa5\xbc\x4a\xa4\xde\xa8\x30\x71\x49\xda\x5a\x3d\xfc\xd3\x43\x59\xf5\xcb\x9c\x99\x64\xe0\xf7\x60\x7f\xf9\x2f\x7f\xf0\xb9\xcf\xd2\x49\x79\x60\x1c\xbe\xb5\xe1\x20\xc1\x2e\xb9\xf5\x4a\x21\xf1\x56\x1a\x61\xaa\xb6\xa4\x43\x57\xc1\x03\x50\xa8\x3a\x36\x55\x47\x53\x87\x6a\xb3\x59\x6d\xe7\xc0\x55\x0f\x6a\xfd\x57\x77\xfa\x54\x29\xf8\xa3\x2d\x58\x69\x56\x0e\x8c\x42\xc5\x79\x6c\x0f\xf4\x0b\x05\x64\x60\x9f\xc4\xa1\x60\x8d\x38\x05\x6e\x7d\x31\x76\x31\x9e\xa4\xbf\xeb\xe4\x4a\x5d\x8f\x9e\x32\x8f\x1e\x3b\x1f\xbb\x72\x58\xb8\x6c\x7a\xee\x8c\xfd\x78\x68\xcf\xce\x9d\x86\x73\x47\x19\x86\xda\x3e\xe3\x04\x69\x7e\xec\x7c\xe6\x4b\xd9\x18\x3c\xe7\xb7\xda\xe4\xb7\xda\x43\x79\x32\xe6\x3f\x46\x65\x6f\xc0\x4e\xa5\xb5\x66\x8a\xd4\x75\x58\x53\xda\x44\x69\x9c\x79\xac\x91\x7a\xa6\xe0\x7f\x56\x1d\x53\x2d\x20\xca\xf2\xa4\xdb\x04\x21\x2c\x4e\x10\x52\x22\xb5\x18\x4f\xfd\x0e\xc3\xf6\x06\x66\xac\xdf\x61\xb2\x8e\xf8\xa7\xdb\x4d\x4d\xfc\x5f\xbc\xa9\x3a\x1c\x20\xde\x73\xe0\xfb\x2c\x9f\x72\x86\x6c\x8d\x1e\x4c\xbe\xfd\x70\x45\x39\x4e\x26\x89\xc4\xf1\x50\xd6\xce\xfa\x3a\x5d\xdf\xdb\xae\x4a\xe3\x63\xa7\x3b\xac\xaa\x16\xd1\xfe\x9f\xf9\x80\x03\x3c\x95\xf9\x7c\x30\xe1\x0b\xd6\x1c\xfb\xb2\x35\x26\x74\xa6\x04\x86\x6e\xbf\x47\xbe\x77\x5a\x6b\x40\x68\x77\x18\x55\x6d\x4d\x8f\xf1\xe9\x31\xef\x44\xe4\x23\x51\x23\x25\xb9\x74\xb3\x83\x2f\x6b\xba\x97\xe8\x9e\xc6\x42\x59\x79\xc8\xb6\xb1\x6e\xb9\x5a\xa7\xff\xda\xed\x35\x14\xdd\xc2\x33\x85\xcb\x8b\x5b\xb8\xaa\xd0\x06\x22\xef\xe3\x50\xb1\x11\xce\x8e\x6c\xf6\x1a\x3e\x17\xb0\x0f\x91\x56\x9c\x1a\xbe\x53\xca\x66\xff\xe2\x16\xad\x45\x77\x64\xda\xdf\xd8\x2e\xf5\xd8\x18\xe4\x18\x6f\x13\x4d\xf9\xe3\x3f\xbc\x3c\x1b\x21\xb8\x2b\x19\x45\x3a\x78\xb1\x82\xb5\xd2\x62\x25\x26\xe2\xd8\xc7\xca\x58\xd1\x12\x6d\x67\x1b\x98\x30\x4c\x3d\xeb\xf6\xb8\xea\x61\x9a\x69\x44\xe2\xbc\xea\x5a\xd7\xa2\x85\xb0\x0e\xb7\x8e\x13\xcf\x77\x47\x56\x6a\xb5\x3b\xd8\x70\xf6\x62\xa7\xd0\x74\x42\xdb\xb0\x8d\x43\x67\x14\xfb\x64\x05\xe7\xd9\x74\x1c\x07\x65\x74\x5f\xd7\xf9\xc6\x51\x99\xe5\x8a\x63\x56\x30\x8a\x42\x28\xc6\x05\x4d\x26\xc1\x26\x2d\x55\x27\xbf\x1d\xad\xad\xfa\xc7\x1f\x26\x4f\xd0\xc0\x13\xe0\x54\xa9\x14\x94\xde\x04\x1d\x96\xe6\x22\x46\x32\xf1\x58\xf7\x78\xee\x6d\xc9\x55\x4f\xd2\x5c\x4f\x29\xae\xe8\x75\x9a\x1c\x3e\x6b\x61\x10\x43\x16\x95\x04\x62\x3c\x67\xf1\x45\x51\x28\xf9\xd9\xa2\x45\x4f\x29\x2e\xb9\x76\x6a\x59\x4f\x74\xdc\x4c\xd8\x40\x41\x76\x26\xf4\xa2\x15\xd2\xb7\x94\x49\xd7\x0a\x8e\xde\x08\xf5\x07\xd6\x7e\x5f\x98\x85\x94\xda\x86\xbe\x25\x0d\xcd\xd6\xd2\xc1\x37\x51\x1c\x76\xad\x2d\x81\xbb\x10\xb3\x2c\x81\x47\xa1\x92\xf2\x39\xd4\x5c\x9f\x5e\xd7\xc0\xe8\xe0\x34\xf0\x7a\xb6\x47\x9a\xf0\xc5\x7c\x5b\xfa\x2a\x2a\x08\x14\x3d\x00\xfa\x7e\x2a\xf5\xa9\xa3\xd0\x87\xfe\xec\xa5\x44\xf1\xf4\xa8\x45\xba\x2c\xa2\x15\xc8\x94\x24\x5c\x01\xe2\x2a\x99\xfd\xd9\xac\x3c\x39\x53\x55\xd0\x92\x73\xc1\x6a\xe3\x48\xf6\xf7\xe6\xcf\x9f\x1e\x07\x77\xaa\xdc\x51\xb9\xd5\xdd\xf5\x34\xd5\x77\xb5\xdd\xfa\x6e\xb0\x97\xa1\x37\xf1\x7b\xba\x41\x6a\x19\xb2\x2f\xcb\x2e\x0b\x41\x95\xa0\xff\x3c\x3d\x76\x95\x6a\xba\x2c\xbb\xd4\x89\xc7\x3e\x1c\x5b\xf0\x01\x3a\x05\x8c\xd9\x3c\x14\xd1\xe3\xcd\xfa\xbf\x4c\x31\xab\xdb\xc1\xd8\xa7\x36\xe2\x9e\x44\xf5\xbc\xfc\x6d\xe2\x6e\xf1\x8f\xfb\xc1\xa1\x92\x9d\x70\x5c\xc1\x95\x1a\x9f\xb8\xe8\x6a\x09\x5c\xd2\xca\x60\x2c\xc0\x65\x28\x87\x66\xbf\x4b\x18\x83\xc2\x90\x25\x08\x67\x12\xce\xcb\x28\x34\xaa\x16\xe6\x4c\x49\x88\xf3\x93\x56\x9c\xa8\xc7\xb8\x84\xca\xe0\x76\xf2\xa5\x78\xe5\x4c\x55\x0b\x25\x6e\x34\xea\x12\x12\xbe\xcb\xb2\xe8\x86\x92\xd2\xed\x65\xf9\x63\xdc\x37\xa1\x16\x23\x55\x3d\xc9\x4a\x31\xd9\xff\xe8\x10\x9a\x67\xd0\xd1\x11\x24\x25\x2a\xb5\x2c\xa1\xc4\x48\x5a\xa9\xae\xcf\xa3\x96\x4c\x3e\x21\xd5\x4e\x1c\xb9\x2d\x35\xeb\x51\x94\xd6\x34\x74\x39\xd7\x44\x71\xd3\x13\x21\x8f\x73\xe8\x49\xe5\x05\x1c\x12\x19\xac\xf7\xb0\xd3\x96\xf1\x47\xc5\xbe\xdf\x94\x11\x47\xeb\x95\xd1\x74\x2e\xb0\x95\x4d\xd0\x44\x2d\xb9\x61\x97\xa3\x2e\x6b\x13\x3d\x02\x38\x75\xea\xe7\x22\xbc\x84\x0a\xae\xbf\x94\x73\xa8\xb1\xea\xa7\xb2\x1d\x21\x61\xc4\x4d\x4f\x20\x65\xb3\xfd\x13\xd5\x3f\x51\xf6\x4f\x3c\xbc\xfa\x91\x87\x72\xf5\x99\x76\xae\x49\x59\xaa\xd4\x6d\xf0\xca\xa0\xad\x40\xed\x96\x8f\xc6\x28\xed\x47\x46\xd4\x4d\x94\x57\x65\xde\x23\xb1\xf2\x1d\x69\x6c\x38\x27\x20\x5a\x61\xf3\xbe\x9c\x1d\x9b\x4a\x3d\x3c\x18\x7a\x52\x59\x94\x59\xc5\x4a\xcc\x4c\xa1\xe9\x46\x57\x65\x91\x86\x4d\x38\xaf\x92\xd0\x2b\x34\x3b\x64\x8c\x9c\x5f\x8b\x6e\xcc\x2a\xe0\xa8\xb8\x21\x10\xde\x28\xe4\x6a\xe2\xd6\x86\xbd\x98\x24\x2e\x41\xab\xd2\x9a\x02\xb3\x0a\x4c\x2a\xb5\x54\xfd\x52\x5b\x74\x1f\x31\xb6\x7b\x0d\xd6\x76\x6d\x16\xa5\xb1\x59\x43\xc9\xda\x6e\x5d\x20\x6b\xbb\x8a\x6c\x5a\x68\xb3\xdf\xed\xfa\xd9\xf5\x4b\x56\xd1\x93\x0d\x4e\x14\x59\x43\xef\xf8\x40\xd5\xb9\xd3\xf5\xc6\x26\x44\xa9\x68\x89\xdb\xdb\xfc\xdd\x9f\xcc\xb2\xfa\xab\x3f\x2a\xf7\x70\xd3\x72\x5a\x2c\xcc\xdf\x79\x3f\x58\xb9\xa3\x29\x9b\x8a\xb5\x9a\x07\x8d\x3c\xd6\xdc\x09\x04\x3e\xac\xdd\x1b\x0b\x94\xae\x38\xcf\x4c\x63\x25\x71\xe3\x88\x01\xaf\x79\x83\x18\x18\x71\xca\x6a\x13\x25\x81\xee\x9b\x9d\x92\x68\xb3\x8e\xd0\xd0\x9d\x4c\x6c\xe4\xc4\x68\x40\x4c\xf9\x5d\x40\xc7\xb6\xd5\x66\x25\x55\x9d\x96\x2a\xd4\xb1\x32\x40\xa5\x2d\x5b\xb9\x59\x0c\x15\xf8\xfb\x7a\x4e\x93\xd7\x8c\x2f\xe2\x83\xca\x28\x64\x02\x63\x95\xb6\xa6\xac\x40\x34\x82\xa3\x9a\x37\x9d\x73\x89\xb4\xb1\x1d\xeb\xd6\x33\xa7\xc5\x78\x48\xdd\x75\x8a\x8e\xb1\x61\xaf\xe3\xa4\x2c\x6a\x5a\xa1\x43\x36\x05\xf1\xd8\x5c\xcd\x3e\x16\x96\xa1\xfb\x51\x3a\x65\x61\xdb\xad\xc0\x2f\x5a\x4f\xfd\xec\x0e\x49\xd7\xad\xe4\xb1\x70\x82\x92\x80\xd7\x66\x54\x6b\x2c\x07\xd6\xac\xf6\x8e\xaa\x95\x4e\x24\xca\x22\xf8\x6b\x2a\x64\x61\xd4\xc9\x0a\x05\x90\x23\xf8\x84\xa2\x9c\x41\x8a\x94\x75\x4f\x4e\xb9\x91\x14\x46\x69\xa8\xf7\xb2\x31\x07\x92\x48\x99\x8f\x2c\xe3\xa8\xdb\xed\x5f\x70\xb7\x1f\x73\x6b\x90\xfa\x82\xe4\xb8\xf0\xd0\x6a\xb3\x2c\xa1\x41\x94\xac\xb4\xf0\x48\xc4\x69\x2c\xca\x2a\x05\xce\x11\x8f\x44\xf4\x86\x9e\x7c\xfa\x62\xca\x8b\x6e\x52\xc2\xb7\xf5\x0e\x3f\x9a\x76\x6d\xb7\x65\xa9\x00\xc8\xa2\x62\xac\x68\xc3\x7a\xdf\xba\xee\x72\x2c\xe7\x20\xc6\x84\x64\x68\x04\x28\x8c\xbe\x85\xaa\x3b\x9a\x9c\xa7\x7d\x29\x92\xee\x6c\xec\x0c\xa6\x0e\xfc\x92\x8a\xbe\x9e\xa0\xff\xd1\xad\x87\xa0\x89\xd8\xbc\xdc\x39\x8c\xf4\xdc\x20\xd4\x2e\x06\x21\xd3\x3f\x5f\xf3\x26\x9f\x2a\x02\xf0\x3a\xbe\x3b\x3f\xab\xd5\xe3\xab\xf6\xd1\x0a\xe3\x0c\x14\x48\x28\x72\x6e\x65\x0d\x09\xbb\x5b\x1d\x54\x84\x36\xed\xcc\xe8\x67\xeb\x9d\x76\xbd\xeb\x88\xc9\xa6\xfd\xef\xb7\x79\x97\x1f\xe3\x11\xef\x39\x3b\xb0\xed\xbd\x52\xf9\xee\xc2\xc5\xbd\xab\xb3\x5e\xc1\xeb\xca\x08\xbe\x96\x23\x4f\xac\xf2\x9d\x12\x0f\xab\x8c\xd9\x5b\xc1\xb3\x13\x18\xc9\xeb\x0f\x84\xfd\x0b\xde\xc8\xb4\xb7\xf1\xd2\xc4\x4b\x0b\x4b\x89\x74\xd5\xc3\xd9\x41\xbc\x9a\x66\xe3\xf6\x06\x6f\xe1\x59\xf3\x6e\xb7\x4f\xdb\xde\x6f\x3e\x3a\x7a\x46\xf5\xe0\xb5\x1b\xcf\x74\x34\xca\x7b\x07\x83\x9e\x8f\xc6\xbb\x07\x43\xf7\x81\x9b\x0d\xbf\xfd\x8c\xe4\xe0\xb5\xd7\x9f\xdd\x26\x60\x8e\x3b\x53\x64\x04\x9c\xef\x28\x98\xf2\x7d\x05\x53\xbe\xa3\x60\xca\x47\x0a\xa6\xc7\xfa\xeb\xb6\x84\x0e\x9a\x52\x22\x88\xe4\x9b\x18\x92\x2f\xd7\x10\x7a\x7f\x4b\x0e\xe8\x88\x5f\xd0\xd1\x3d\xcb\xf2\x1b\x14\x95\xf7\xac\xc1\x87\x8a\xca\xb7\xdb\xb8\xbf\x4c\x4b\x8e\xe8\xa8\x7f\x33\x83\xe2\x5a\xe4\x2f\xd3\x8e\x63\x42\xba\x3f\x3b\x5f\xae\x25\x1f\x68\x48\x7f\x7b\x43\xe8\x17\x9f\x9b\xf4\x2d\x8c\x48\xbe\x34\x84\xbe\xfe\xdc\x7c\xb5\x21\xa1\xb7\xed\x7b\xf2\xcd\xee\x7b\xed\xe3\x2d\x69\x1f\xdb\xf7\xbe\x95\x35\x3e\x37\x9b\x2f\x33\x22\x1f\xd9\xf6\xbe\xb5\x35\xfe\x86\x11\xb9\xbb\xeb\xbd\x81\x48\xde\xc5\x51\x4c\x75\x5d\xae\x85\x72\x6b\x4b\x69\x4c\xa5\xf1\x95\x62\xb9\x41\x11\xdd\x54\x2c\x6e\x6d\xed\xd3\x23\xb1\xed\x0a\xf9\xd6\x13\x85\xd6\x33\x1c\x00\xfb\x64\xf1\xbb\xf3\xe1\x7d\x09\xa9\x67\x4a\xfd\xa5\xde\xbc\xa1\x52\xad\x53\x2b\xe4\x76\x51\x7a\x43\xa1\xd4\xd8\xbc\x1f\xf5\x5e\xd3\x27\xed\xa8\x1b\xd9\xbb\x31\x62\x26\x8e\x3d\x2d\xdc\xd0\x92\x71\x65\x41\x80\xf2\xd3\xa5\xe5\x20\x15\x2a\xbf\xbe\xcc\x8b\xab\x9e\xcd\x82\x1d\x46\x1e\xab\xa8\x5f\x6c\x19\x2f\x7a\x27\xb5\x93\xd4\x66\x17\x66\xf6\x7e\x39\x0e\xdd\x4a\x6a\x55\x5e\x93\x8f\xc3\x43\xc1\x48\x3c\x14\x34\x43\x9b\x13\xfc\x42\x0b\x99\xbf\x62\xb3\x42\xda\x98\x59\x81\x4d\x8e\x56\xea\x42\x52\xa7\x65\x7e\x7d\xb1\xf6\xb8\x97\x2b\x24\xa1\xcd\xdd\xcc\x8e\x06\xb0\xec\x3b\x2c\xd4\x86\x6d\x1d\x1d\xce\xae\xed\xa2\x20\x2b\xae\x20\x4b\xd0\x96\x99\x6e\x0f\xfe\x24\x09\xd5\xa3\xec\x27\x2a\xdb\x14\x95\xb0\xc7\x6b\xf3\x60\xc3\x1b\x87\xd6\xd9\x6f\x0e\x9a\x56\xa0\xef\x7f\xa2\xa8\x5d\xc3\x30\xdd\x69\xef\xa6\x9b\xb4\xd6\x10\xc7\xb4\x69\x2b\xc9\x1a\x87\xc6\x13\xf7\xbe\xf9\x85\xb9\xee\xfa\x63\xda\xf6\x97\xe0\x39\x6a\x55\xe9\x16\x62\x4a\x5b\x49\x2b\x5c\x71\x4c\x49\x5b\x4c\xdd\x3c\x5d\x34\xcc\x7f\x27\xc3\x44\x53\x37\xfb\x85\x0d\xdb\x9f\x6e\x97\x37\xb8\x56\xd2\x1f\x28\x1c\xf5\x51\xce\x6e\xf0\x0e\xb8\xaa\x5b\xd8\x9f\xa1\x2b\x28\xff\xf4\x98\xa5\xd0\x50\x41\xf3\x50\xe1\xd1\xca\x69\xf7\x4c\x7c\x55\x21\xf2\x8a\x3e\x84\x9e\x29\x44\x5a\xb9\xd2\x2d\xdd\x52\x9a\x1c\xea\x4c\x1a\x6a\x39\x52\xaa\xdc\xd4\xa9\x9c\x1a\xb4\x45\x37\x14\x2e\x07\x44\x5b\xff\x95\x68\xbf\x45\xa2\x4d\x52\xa8\xbb\x5b\xd5\xe7\x11\xe5\x33\x7a\x4b\x9f\xd2\x1b\xbd\x89\x9e\x8e\x48\x66\x6a\xb2\x4b\x31\x1d\xec\x89\x3f\x2e\xee\xf3\x87\xf4\x0e\x3d\x46\x1a\xad\x9c\xb9\xd6\x95\xf5\x30\xaa\x42\xd2\x04\x6e\x87\x98\x75\xf8\x1b\xb0\x93\xa9\x1e\xc7\xb0\x89\x04\x11\xcc\x29\x5c\x6f\xed\x83\xdd\x68\x5d\xd2\xa6\x0f\xad\x9c\x5d\xe2\x8d\x59\x02\x05\xf4\x45\x7f\x0f\x0f\xdd\xdd\xbd\xeb\xf1\x59\x08\xdf\xdb\xb4\x15\xe2\xae\x2c\xb5\xae\xa0\x4f\x18\x34\xb9\x62\x19\x95\x4d\xdb\x1a\x44\x6c\x22\xb9\x52\x51\x4a\xb7\x21\x2c\x36\x40\x05\xa6\x46\x1b\xb9\xd2\xfc\xaa\x34\x7f\x6e\x8f\x4b\x23\xdc\x5f\xdd\x01\x4f\x07\x40\xe2\x86\xcf\x70\x39\x9c\xce\xbe\x5b\xb5\xa5\xf8\x7c\x1e\x13\xdd\x5d\xaa\xbb\xa3\x19\x3e\xa0\xba\xc7\xe6\x74\x7f\x6f\xb3\xfe\x50\x0b\x5a\x01\xb3\xf8\x7a\x0b\xf4\xb8\x28\x77\x5b\x90\x3f\xd6\x82\x7c\xa4\x1c\x97\x02\x96\xf7\xb8\x01\xf2\xa1\x06\xd0\x34\x21\x7c\xe6\xd2\x1f\xd7\xe6\x17\x6e\x79\x4d\x89\x22\xb5\x4c\xa1\x2c\x09\x51\x1f\xb2\x68\x63\xd6\x3c\x60\x28\x1a\x99\x42\x1a\x7a\x4b\x16\x4e\x99\x7a\x5c\x75\x13\xcf\x9d\x38\xea\xb6\x19\xcb\x12\x3a\xbc\x94\xf2\xa2\x0b\x63\x95\x62\x3e\x5c\x83\xc2\x48\x0b\x23\xb6\xa8\x88\x9e\x44\xab\x3e\x49\x04\x37\xb1\xd5\x02\x6d\x82\xfe\x81\xf8\x14\x94\x80\xd9\xdb\x02\x71\xe0\x09\xec\x95\x04\xad\x78\xf1\xaf\xac\x01\xce\xb3\x6c\x9e\xc9\xd6\x00\x34\x8c\x17\xad\x2d\xad\xd8\xd6\xb5\x15\xde\xf4\x80\xb6\x07\xeb\x1c\xd3\x0a\xa3\x32\xbe\xab\xcd\x0d\xe8\xbf\xfe\x51\x50\x86\x0b\xea\x91\x55\x1b\xc0\x19\xb5\x58\x25\xc9\xbe\x13\x3a\xaf\xa1\x46\xb8\xf0\x32\x18\x6d\x34\x4d\xfb\x1f\x12\x95\x55\x3f\x9d\x71\xf2\x92\x36\x5d\x10\x00\x54\x98\x52\x47\x18\x8f\x20\x8c\x47\xb7\x99\x94\xa8\x52\x4b\x8b\x3d\x5c\x84\xe0\x4a\x92\xf5\x1c\xd3\x37\x13\xd9\xc8\x6a\x97\x73\xa3\xca\xd8\x93\xf4\x6b\x9c\x12\x85\x1e\x17\x6d\x65\x2e\xa4\xcc\x11\xda\x58\x88\x17\xf4\x40\x56\x0c\xb3\xf6\xc9\x3c\x9e\x3a\x17\xd2\xd3\x90\xcc\xc8\x4c\xa1\xa6\x2d\x54\x38\xbb\xe8\x16\x77\xb9\x9a\x0f\xf5\xb7\x26\x7d\x60\xf7\xc3\xe5\xca\x1e\x1d\x90\x98\xc4\x6b\xe7\x07\x5d\x07\x29\xc6\x35\xeb\xc9\xd0\xcc\xac\xa9\x3b\xba\xc0\x9f\x52\x6f\xbc\x8c\x2a\xb9\xc1\xdb\x05\xe6\x18\x6f\x73\x48\x5a\xc1\xd9\x7c\x1a\xe1\xff\xac\x77\x11\xfd\x06\x73\xe8\x30\xce\x60\x77\x16\xb5\x46\x9d\xa7\xbb\xf8\xd3\xa3\x56\xae\x3c\xe6\x19\x3e\xab\x11\x91\x6c\xe1\xd2\xc6\x2d\x5c\x9a\xee\x62\x28\x3a\x14\xf6\xea\xb7\xb0\x7f\x93\xce\xba\xff\x0d\xad\x36\x4d\x73\x52\x73\x3b\x49\xdb\x6d\x28\xe5\xf6\xa3\x76\xfb\xd1\xb8\xf9\xe8\x60\x42\xa6\xc2\xdc\x5d\xbf\xaa\x44\xaa\xb1\x5b\xd0\x57\x37\xd9\xc8\x06\x7d\xa9\x51\xd7\x16\x9e\xbd\xee\xbb\xa5\x2c\x72\xb9\xc7\x23\xcb\xe1\xce\x99\x74\x32\x13\xfc\x98\x3f\x56\x51\x69\xd6\xa2\x57\x9d\xc9\x8e\xc6\x43\x5e\x98\xa0\x77\xfe\x66\x52\x4e\xb8\x90\x8e\x4d\x39\x9a\x5b\xef\xbb\x18\xdf\x73\x78\x66\x3e\xe0\x82\x4e\xb9\x5c\x99\x20\xbd\xf7\x47\xda\x8e\x72\x38\xeb\xe9\xf9\x4e\xdf\x10\x1c\x10\xe9\xc2\x14\x5d\xb1\x4a\x57\x1c\xd4\x15\x5f\xf5\x3e\x16\xeb\x1e\x87\xb5\xed\x17\x97\x87\x97\x37\x66\x2d\xd3\xdf\x5d\xda\x0a\xa6\x2a\x3a\x4f\x65\x11\x03\xcf\x18\xab\x70\x61\xb8\xf6\x2b\x7a\x17\xef\x85\xaa\xfc\xea\xfa\x79\x98\x6f\x3d\x3d\x16\x97\x45\x8f\x8f\xf6\x56\x4e\x7c\xb8\xa1\xdd\x3b\xfb\xef\x2c\xa1\xf7\x1c\xfd\x32\xd5\x43\xba\x27\x53\x3c\x85\xa2\x07\x6e\x66\xca\xe6\xf6\x21\xf8\x23\xe0\x2f\x7d\x94\x13\x1b\x33\x29\x71\x2c\xa0\x7a\xf0\x34\x55\x96\x20\x53\xb7\xd8\x9f\x1e\x0b\x17\x73\x78\x94\x66\x25\x10\x70\x2a\x0d\x25\x02\xb7\x43\x1a\x2d\x2f\x05\x91\x7b\xea\xca\x5c\xe2\x89\x07\x9b\x83\xb1\x58\x19\xde\xed\xe8\x02\xad\x56\xd2\x96\xc0\x0c\x0a\x3f\xce\x4a\x21\x89\xfe\x6e\xfa\xcb\xd5\x0a\xcc\xe7\xfa\x58\xdf\x85\x1b\x95\x7b\x03\x3e\x14\xfd\x86\xb3\x78\xb7\x24\x16\x56\x2e\x2f\xdf\xa3\x84\x74\x3c\xd1\x74\x32\x3f\x8d\xf7\x4c\xf5\xf1\x87\xb9\x15\x3d\x82\xce\xfc\x1e\x9d\x82\xd4\x7f\xdd\x3b\x7e\xc1\xbd\xe3\x8e\x5c\xa0\x9b\x47\x6a\xee\x33\x56\x27\x81\xf7\x49\xde\x02\xbf\x4f\x1c\x7b\xaf\x93\xb7\x16\x98\xcf\x19\x11\x51\x46\xdc\xd5\x49\x3b\xb5\xb3\xdc\xa6\x8a\x9b\xee\xef\x3f\x46\x69\xff\x4a\x16\xbf\x00\x59\xd4\x24\x34\x38\x2f\xfb\xc4\xfa\xbc\xfa\x8c\x6f\x61\x12\xc1\x29\xe8\xdc\x05\xf9\x98\x8e\x52\x9a\x55\x34\x79\x0b\xa7\x8b\xcd\xc8\x64\x99\xd4\x63\xc4\x03\x92\xa2\xcd\x28\xec\x68\xc7\x98\x3a\x08\x99\x2a\x88\xb6\x13\xb9\x71\x54\x16\xdd\x10\xb8\x2d\xdc\x2b\x85\x5a\x04\xbe\x8e\x99\x9a\xb9\x8a\x67\xf1\x98\x18\x0a\xd9\x82\x4c\x54\x00\xd5\xa9\x82\xc8\x14\x52\xb3\x60\x3e\xe8\x99\x58\xd0\xf2\x46\x19\xd1\x84\x10\xad\x10\x13\xa8\x92\x14\x93\xd5\x25\x85\x1a\xe5\xb1\x70\x2f\xa4\x9f\x4b\x40\x48\x40\xd4\x4c\xdb\xd0\xaa\xf6\xf4\xd8\x5b\xdf\x9d\xd5\xea\x3e\x6a\x43\x1b\xec\xf1\xf2\x4b\xe8\x50\x37\x45\x43\xad\x60\x42\x70\x2c\x02\xa2\x9a\x2e\x65\x7a\xd1\x4d\xf6\x6e\xba\x34\xbd\x1a\xd4\xc5\xbc\xbd\x79\xb9\xab\xb8\xfd\x61\x2c\x38\xa3\x61\x53\x82\x33\x38\x07\xbe\x6e\xec\xd5\xbe\x51\xa9\x6d\x99\xbc\x6d\xde\x34\xb4\x96\x89\x0d\x76\xe2\xc8\xce\x21\xe3\x5f\xd7\xf1\x2f\xb1\xbd\xe7\x48\x5d\xe2\x22\x08\x23\x19\x71\x75\xe7\x5c\x06\x63\x64\x61\xaf\x49\x19\xa5\xf9\x1c\x9b\x37\xbc\x77\xbb\xfb\xee\xb2\x90\xd4\x67\xca\x52\xbb\xb1\x79\x89\x83\x49\x4d\x53\xec\x1e\xb9\x11\xc7\x1a\x17\xc4\x4f\xa5\x62\x36\xb0\x8b\x6c\x14\x38\x9d\x43\xaa\x72\x47\xef\x5c\x65\x47\x62\x98\xe1\x41\x5a\x09\xb4\x0f\x9c\x10\x95\x35\xa8\x55\x0a\x92\x3a\xb5\xfa\xae\xa9\x78\xd7\x4c\x9c\xa6\xf6\xf2\x99\x16\x98\xbe\x02\x21\xae\x3c\x10\x2e\x9f\x2d\x28\xe1\x68\x72\xf8\xf3\x26\x87\x8f\x61\x32\xb4\xc0\x8d\xc9\xc9\x50\x18\xe9\x36\x49\x88\x13\x49\x83\xc0\x0a\xbc\x75\x72\x4e\x6e\x92\xd0\xd1\x7d\xd7\x20\x3c\xea\xc2\xa4\x6a\x6c\x0e\xbd\x4b\x5d\xbf\x06\xab\x33\xa4\xdc\x89\x81\x40\x04\xac\xa3\x74\xb1\xae\x9b\x42\xe2\xc1\xe3\xed\x10\xb6\x96\xaa\xb5\xfb\x0a\xab\x66\x62\xe0\xe8\xa3\xeb\x28\xbd\x87\x3d\x4e\x4f\x2c\x84\x11\xf1\x5f\x09\x81\x9d\xa1\x55\x92\x8c\xdf\xd5\x46\xed\x90\x1a\x8f\x26\x7d\xea\x19\x78\x57\xcb\xc7\x8f\xea\xe5\x8f\x85\x85\x43\xc5\x3c\xc7\xdd\x2f\xbb\xdf\x73\x45\xee\x87\x7e\xd9\xfd\xb6\x27\x72\xdf\x15\xf3\xaf\xba\x22\xa7\xb7\x48\xcf\xf7\x06\xe1\x58\x29\x74\x7b\x00\x26\xfb\x9d\x3f\xf4\xf5\x7c\xe7\xf3\xb7\xed\x12\xda\xf9\xf6\x35\x3b\xdf\xbe\x72\xe7\xcb\xd7\xec\x7c\xf9\xca\x9d\x4f\x5f\xb3\xf3\xe9\xeb\x75\xfe\x60\x7f\x4c\xbb\xbf\x92\x29\xb5\xcd\x7d\xab\x27\x0a\x05\x06\xff\x6c\x06\x07\x44\x8e\xea\x1d\x07\x7f\xe9\x38\x1b\xe0\xab\x50\xc6\x86\x38\x47\xce\x0c\x0f\x32\x37\x43\x5f\xe9\xe6\xc3\x95\x72\xde\xcd\x0d\xf5\x8e\xb2\x77\x3c\x33\x57\x5c\xac\x15\x78\xbb\x4e\x13\xc3\x45\xdf\xbf\x5d\xac\x00\xae\xa5\xcf\xde\xa1\x0b\xf6\xc3\xae\x3f\xf2\xa0\x5b\x38\xbc\xee\x41\xf2\x79\x06\xc9\x5f\xa0\x23\xd2\xa1\x4a\x3f\xe5\xeb\xa3\x85\xef\x91\x96\x6e\xfd\x68\xda\x59\xaf\xee\x9d\x10\x45\xd6\x4c\x91\x06\x05\x41\xe8\x7f\x85\x16\x41\x92\xca\x68\x60\x4c\x54\x1a\xd3\xb3\x13\xc6\x33\x8c\x7f\x45\x2c\xe3\x18\x5b\x30\xbf\x89\xd2\x1d\xad\x20\x58\x48\xa2\x01\xf0\x54\xe0\x13\x80\x11\x29\xcd\x82\xda\xfc\x11\x03\x37\xa2\xea\x58\x61\xf6\x10\x3b\x9d\x10\xda\xba\x59\x59\x2e\x5e\xb7\xfe\xb1\x86\xee\x7e\x1d\xa8\x0a\x5c\x41\x31\xc4\x41\x80\xe5\x19\xf3\xa4\x3c\x2a\xc4\x4b\xce\x24\x72\xce\xa9\xaf\x22\x54\x0a\x75\xa1\x61\x71\x9c\x83\xb2\x36\x4a\x45\x5e\xca\x89\x74\x32\x73\x52\x29\xce\x20\x2c\x3a\x5c\x64\x60\x03\x71\x4c\x0b\x56\xca\xd0\x0a\x2b\xbc\x68\xc4\xe0\x71\x38\x6f\xf6\x77\x5b\x39\x26\x78\xdf\x24\xea\xee\xd3\xd7\xe9\x28\xac\x2b\x95\xe7\xb2\x58\x99\x4c\x87\x4c\xd8\x1d\x1e\xf6\xe9\xc4\x1b\x27\xfd\xb8\xfe\xed\x78\x24\x22\x0d\x70\x30\x1f\xd8\x39\xec\x6d\xd6\xcf\x19\x19\x3b\xfe\x8e\x31\x7a\x06\xeb\x24\xd9\x00\x28\xf4\xd7\x98\x47\x67\xdb\xec\xb1\xaf\x9d\x84\x10\xbb\x37\xb4\x86\xee\x37\x87\xab\xe1\xa1\x88\x34\xf4\xda\x3a\x6d\x43\xa1\x23\xa1\xc3\x93\x61\xd5\x13\xb1\x88\x15\xae\x71\x85\xe3\x53\xa6\x50\x37\x04\x7b\x9f\x43\x06\x4f\x18\xba\x41\x45\x65\x0b\xbd\xac\x27\x03\x0b\x32\x1f\xa4\x4c\x75\x53\x12\xcf\x67\x2b\xdc\x49\xff\xd8\xf4\xfe\xd3\x63\xff\x92\x95\xd3\x8b\xda\x0f\x88\x62\xea\x5f\x93\x30\x75\xce\x8b\x94\x4e\xdc\x64\x46\x18\x8a\xc5\x34\xea\xaa\x79\xe6\x4a\xe1\xf7\x94\xb9\x27\x70\xb6\xf3\xbd\x00\x2d\x36\xa2\x29\x39\xbf\xdf\xba\x70\x05\x76\x57\x01\x77\xa0\x3b\x77\xad\xdd\x20\x8d\x24\xba\xbb\x25\x0c\x8a\x14\xda\xa2\x5c\x7b\xca\xe6\xc2\xda\xcc\x5d\x16\x3f\xcb\xee\x86\xb5\xcc\x8b\xab\x42\xb4\x97\xf2\xf7\x27\xa6\x66\x33\xad\x4c\x23\xaf\x80\x01\x05\x8a\x0a\x78\xbc\x5a\x2a\x65\xb2\xf7\xcd\x8b\xb6\x6d\x0d\x2e\xb7\x3c\xb4\xb5\x4b\xf0\x8b\x4f\x0a\xd8\x6b\x17\x8f\xdc\x76\x04\x2b\xf1\x63\x4c\xed\x37\x32\x5d\xad\x56\xe3\x80\x81\x12\xcb\xd8\xd7\x39\xae\x03\x6a\x88\x41\xfa\x2b\xc3\x9a\x57\x80\xa1\x40\x41\xe0\xee\x40\xa6\x8c\xd3\xd2\xf0\xc6\xe0\x35\x98\x33\x41\xa5\x4a\x4b\x90\x41\x92\x26\xb8\xe8\x83\x45\xc5\x6e\xd9\x9b\xb3\x36\xa0\x93\x51\x13\x12\x19\xda\xd4\x24\xf0\x32\x14\x73\x89\xe8\x40\x7d\x20\xee\xdb\x30\x0d\x98\xd6\x26\x6b\x23\x04\xf0\x1e\x32\x10\x53\xe9\x38\xaa\x4a\xd5\x31\x9f\x54\x84\x43\xc7\xd0\xd4\x95\x71\xba\xb6\x41\xb8\x48\xa3\xda\xc8\x17\xf3\x3d\x01\x0e\xcf\x16\x06\x3c\x1a\x21\x76\xb6\xab\x7e\x9e\x42\xba\xea\xe4\x12\xb2\x80\x94\x80\x8d\x3b\x88\xab\x8a\xdc\x7d\x65\xd6\xc3\x4a\x49\x91\x29\x49\x5f\x23\x61\xd0\xac\x27\x75\x0b\xb6\x8b\xea\x11\x55\xc9\x62\x92\xc7\x06\x38\x9b\x45\xeb\x4b\x97\x5e\xbe\x93\x76\xe8\x37\x4e\x3c\x1f\xa0\x1d\x7a\x46\x3c\x0f\xc5\xc8\xa7\x3e\x94\xcf\x20\xa0\x71\xe5\xaa\x32\xdc\xa3\x22\xcc\x58\x56\xbf\xca\xcf\xee\x55\xf0\x5a\x06\xc2\xf6\xf4\xa8\x52\xbd\x87\xcd\xcf\x52\xb8\x10\x77\x2c\x39\xa7\xf9\x2c\xcd\x0a\xf4\x11\x42\x85\xcb\x0c\xb2\x85\x63\x4b\x70\x47\x19\x2b\x88\xca\xfb\xc1\xb3\xe4\x0d\x0e\x33\xf8\x76\xb6\xd7\x1d\x08\x6e\x3c\xd3\xd7\xca\x6c\xa4\x76\x5a\x8f\xe3\x78\x9e\xb7\x9e\x17\xd6\xef\xa7\x59\xf8\xc5\xa0\xc8\x55\xcc\xef\xfe\x9a\x5c\x3f\x49\x97\x41\x9a\x31\xc6\xaf\x77\x43\x6e\x74\x43\x6e\x3f\x6b\x66\xc0\xbe\xf1\x92\x0f\xfd\xde\x88\x63\xef\x98\x1c\x2f\x60\x72\xcf\xbe\x77\xa9\xf7\x95\x86\x3e\x7b\xd8\xe6\x43\x99\x0f\xe5\xf2\x70\x1c\xbd\x79\xe9\xe4\x6b\xaf\xe6\x1b\x9d\x01\xaf\xe8\x35\x0e\xb6\xfa\x06\xdb\x84\xbd\x72\x1b\xbe\x4d\xfe\x89\xc1\xf6\x81\x71\x84\xd1\x90\xf9\xda\x83\x4b\x62\x5c\x6a\x17\x0a\xb5\xcb\x6b\x50\x54\xb9\x62\xb3\xc9\xaf\xe2\x5c\xe9\x8b\xb5\xcb\xc2\x74\x1b\xda\xf0\x94\x1b\x40\x91\x0c\x69\x45\x05\x86\xd5\x76\x50\x17\xcf\xd8\x1d\xac\x1a\xbf\x90\xe6\xf8\xe2\x47\xa6\x97\xfb\xf3\xf9\x86\x49\x68\x7c\x71\xce\xe2\x43\x79\x34\xcb\x57\xe8\x76\xff\xf0\xb7\x4a\xa5\xa2\xc7\x49\xa6\x2c\x75\x41\xd8\x58\x33\xed\xeb\xe7\x0c\x2a\xfd\x62\xa3\x3a\xa5\xfc\xe4\x3d\x3d\x75\x29\x6b\xd3\x83\xa5\xe9\x37\xca\x39\x0c\xf7\x2e\x2f\xd6\xb3\x9c\x96\xa0\x1d\xbe\x8d\x6e\x36\x0e\xf0\x0e\x66\x94\x18\x04\x44\xc7\x64\x7e\x51\xdd\xf4\x6b\x9b\x6e\x6d\xfa\xc2\x6d\xe1\x79\xdc\x53\x8d\xbc\xd4\xa6\xbe\xc0\x0c\x69\x85\xcc\x18\x09\xd4\xe7\x85\x93\xb2\x23\xe3\x4d\x30\xd0\x3f\xc6\x9c\xaf\x50\x39\x6d\xf4\xee\x78\xc8\x30\x97\xb8\x84\x5c\x22\xe5\x9c\xed\x22\xe4\x0c\xdd\x30\xbf\x27\x38\x2e\x5f\x10\xc7\xc5\x5a\x10\x72\xce\xbb\xf9\x61\xb8\xf2\x78\xcc\x98\xb2\xd6\x29\xa4\xc8\x60\xa6\xdc\xba\x5b\x16\x08\xc9\xb1\xaf\xc6\x3b\xd9\x30\x96\x4d\x0c\x05\xec\xa2\x99\xc2\x8d\xea\x18\xf3\x65\x01\xac\x6d\x5f\x01\x9f\x46\x8d\x72\x59\x42\x4f\x84\xca\x19\xb3\x3f\xe6\xdc\x0f\x57\x60\x70\x33\xe7\xf3\x6b\x13\xb8\xf0\x34\xae\xe1\xab\xb3\x8d\x5c\xea\x1a\xb2\xf1\x26\xfe\x60\x9b\x65\x01\xd6\x41\x57\x15\xcc\xf7\xf7\xd7\xfd\x6d\x7b\x79\x7f\xb7\xbe\x66\x7d\xff\x44\xb9\x5e\x0f\x95\xeb\x7c\x5b\xb9\x7e\x18\x3c\xf4\xb6\x28\x93\x37\x7d\x91\x2e\x9f\xac\x87\xc8\x22\xbd\xf8\xe9\x55\xe2\xa5\xcf\x6e\x07\x0f\xbb\x21\x3c\x4c\x4b\xb8\x67\x7d\x48\xd3\x12\x5e\xcc\x12\x5e\xf7\xe5\x07\xfd\x0e\xb2\x1a\xf8\x6b\xfe\x16\x18\x4e\xb7\x85\x07\xb7\xdc\x1f\x50\x6c\x7d\x86\xbe\xe6\x5e\x65\xa5\x12\x8c\xc6\x0f\x13\x73\xba\xd9\xea\x47\x40\x4f\x28\x63\x93\x62\x28\xc4\x0b\xf0\xd2\x30\x2a\x47\x4e\xcb\xf5\xbe\x9f\xb0\x9e\xe2\x47\x8e\xc2\x17\x65\xe2\x2b\xfe\xca\x68\x80\x50\x57\xa2\x32\xb8\x21\xdd\xe1\xfb\x96\x81\x43\xdd\x44\xaf\xad\x3b\xfa\xf0\xca\x33\x58\x4f\xfb\x17\x78\x2d\xca\x2f\xb4\x14\xd7\x30\x5c\x6d\x66\xea\x38\xcc\x66\x35\x92\x00\xe8\xf6\xf5\xf5\x75\x21\xbb\xc6\x25\x8a\x58\x89\x70\x7d\x7d\x29\x62\x9f\xab\x31\xad\x19\xa1\x05\x09\xd6\xef\xa4\x63\x90\x90\x55\x03\xbf\x7e\x5b\x7f\xf5\x27\x69\xc1\xcd\xfe\xc5\xad\xa3\xf9\xdd\xdd\x90\x3a\x13\xf3\x18\x4b\xea\xd0\x3e\xf6\x55\x22\x80\xc1\xab\xee\x0d\xb2\x02\x07\x7a\x50\xaa\x97\x09\xb4\x0e\xf2\x43\x59\x90\x27\xe5\x1c\x6a\x3d\x85\xcc\xed\x5c\xeb\x5a\x92\x9d\x49\x39\xc1\xa0\xda\x11\xe5\xd6\x55\xf2\x90\x53\x48\x83\xd7\x80\xb4\x18\x59\xbf\x25\x14\xc4\xec\xac\x26\x4b\xd6\x69\xb9\x06\x4d\xa7\xb6\x65\x50\xd1\x56\x74\x08\xed\x2b\xa9\x16\x7c\xa5\x02\xc5\x36\x53\x91\x95\x01\xd6\x0a\xfd\xbc\x36\x2e\x52\xd2\x96\x35\x60\x61\x8e\xa1\x22\x6d\x3d\x8d\xf4\xf4\x98\xb9\x52\x11\x3e\xa5\x1c\x69\x31\x2c\xbb\x72\xb8\x02\xa6\x60\xdc\x4a\xa2\x9a\x79\x2d\x10\xd8\x70\x4a\x20\xec\xaf\xfa\x86\x57\x8c\x5a\x75\x7b\x03\xaa\x61\xc8\xd1\xef\x59\x78\xa0\xad\xd0\xe8\x07\x4c\x6f\xd0\xfe\x36\xf3\x4b\x52\xb1\xaf\x18\x0b\x01\xe5\xaf\x1d\x03\x30\x52\x57\xdb\x2f\x81\x4a\x1b\x0c\x10\x9e\xa3\x18\x9e\xb7\xca\x1b\x7d\xe8\xd2\x6a\xb6\xb4\x92\xcc\x95\x05\x38\xe3\x2e\xfa\x15\xc9\x86\x81\x36\x73\xc7\x48\xde\x4c\x3a\x1c\xb6\x03\xb9\xc6\x18\xd0\x76\x30\xdc\x8b\x7b\x6e\x9e\x1b\xd3\x92\x11\x3c\xbd\x16\xa0\x99\xdb\x36\x23\x86\x7c\xd7\x31\x4b\x1d\x5d\x1c\x79\x83\x3e\x55\x2c\xea\x2a\x14\x26\x47\x04\x1f\x06\x67\xd8\x29\x34\x77\x0b\x98\x00\xe5\x16\x30\xa9\xd3\x65\xec\x39\x38\xad\x34\xd6\x06\xed\x20\x20\x9a\xb3\xca\xa2\x65\x07\xe7\x75\x6b\x41\xdf\x8d\x05\xe8\xaa\x59\xdd\xb1\x66\x92\x75\x09\x61\x99\xda\xab\x53\x60\xee\xf0\x1c\xb5\x4f\xc0\x2d\x96\xeb\xda\xcd\x80\xcd\x00\xa9\xdf\x32\xdb\xe7\x5c\xe3\x80\x9a\x3c\x2e\xd2\x11\x1a\xab\x5b\xf3\xc7\xf9\x10\x19\xf9\xc7\x98\xa7\x14\xdc\x5b\x33\x5e\x54\x4c\xab\xde\x93\x1d\xf0\xac\xa2\xbe\xb9\x4d\xe4\x68\xb3\xbb\x04\x48\xe2\x3d\x0d\x15\xe6\x11\x2b\x93\x28\xd4\xb1\x41\x0d\x50\xcf\x61\x34\x9b\xea\xd1\x56\xee\xb0\x20\xa8\xa8\x33\xfa\xc2\x2d\x51\x4f\xf0\xc6\x6a\x64\x8b\x9f\xa1\xe8\x35\x2e\xc2\x8f\x98\xe4\x56\xfd\x0d\xc0\x6d\xc4\x11\x5e\x70\xf0\x83\x30\x78\x43\xf3\xde\xb5\x06\x96\x73\x69\xa7\x2c\x47\x5c\x4c\x89\xd7\xce\xcf\xc3\x21\xb3\xc1\x0e\x05\x03\x9c\x06\x6f\x6c\x74\xeb\xf1\xe6\x41\x19\x1e\x56\x22\xd3\x09\xc3\xa7\x99\x64\x0b\xa9\x51\x74\x5c\x84\xdd\x52\x2e\x58\xc6\x21\xc1\xbd\x25\x9a\x6e\x66\xd1\x3b\x72\xa5\x45\xe0\x18\x61\x59\x51\xd6\xc9\xf6\x73\xdb\xf2\x36\x64\x06\xd8\x98\x91\x71\xe0\xdc\x4b\x9c\xa0\x0b\x96\x90\xa8\x61\x2d\xe0\xf3\x41\xbc\x3d\xc1\xfd\x59\x74\x76\x36\x43\xbc\xb7\x05\xb8\x2f\xe8\x00\x84\x6e\xc0\x9e\x27\x3f\x12\x76\x89\x7c\xf7\x04\x50\xf6\xbb\xc3\x5b\x6f\xd1\xe5\xac\x9b\x7f\xb3\x2b\xae\xed\xd4\x0a\x42\x59\x42\x2b\x8b\xdf\x3a\x1a\xe2\x3d\xcc\x84\xbf\xec\x10\xd7\x2f\x3f\xc4\xf5\x97\x1f\x62\xae\x8d\x94\x13\x47\x34\x2b\x8b\xc5\x86\x5b\xe8\x4e\xb1\xbb\x2c\x65\xf1\x5f\x44\x38\x75\xc4\x37\x1d\x8d\xf0\x4b\x04\x98\x7a\x4f\x16\xb8\x1f\xb6\x5b\xef\x45\xac\xdc\x03\x19\xe9\xa6\xd1\xf8\x70\x43\x8c\x59\x3a\x6e\xc9\x1b\x10\xd4\xee\x8a\x47\x1f\xcf\x5a\x70\x77\x48\xe0\xea\x73\x2f\xa4\xfa\x2d\x43\xc2\xf7\x20\x60\x0e\x9b\x72\x40\x48\xe9\x5a\xaa\x7c\x0b\x82\xcf\x1b\x5a\x7b\x0f\x9c\xe5\x6d\x94\xf4\x85\x86\xed\x23\x94\x24\x4e\x4a\xdf\xc2\x98\x7c\xfb\xa4\x94\xaf\x55\xe8\x25\x1e\xd6\xf3\x2b\x6c\x58\x8e\xd3\x79\xaf\x21\x5f\x6a\xc7\x3a\x1c\x53\x53\x1b\xa7\x7b\x6d\xf9\xe5\xb7\xac\xa7\x47\xa5\xe8\x3b\x23\xf2\x06\x2a\xbb\x0b\xd0\x74\x6f\xe9\x1d\x11\x52\x79\x71\xb8\xfd\x5a\x5b\xc1\x6f\x63\x53\xf2\x3d\xe9\xdb\x18\x94\x6f\x7f\x57\xaa\x2f\x89\xe9\x8b\x2c\xf7\x0f\x8c\x5a\x9a\x2d\xf9\x75\x18\x94\x3b\xa4\xd4\xbf\x95\x21\xe9\x5f\x6c\x44\x3e\x40\x47\xfb\xe2\xfa\x16\x46\xe4\x8d\x4c\xec\xdd\xad\xf8\xcb\x70\xb1\xdf\xc2\x88\xb8\xd5\xe3\x18\x21\xf4\x97\xe6\xeb\x0f\xf6\x9a\x4b\x5e\x80\x8b\x55\xfa\x62\x96\x36\xb0\x87\x6f\x66\x1f\x2a\xbe\xe8\xca\xc7\x1b\x52\x3e\xb6\xe8\x44\x05\xe4\x4f\x24\xe4\xe9\x3e\x20\x26\x0c\xa3\xbd\xc5\x31\x44\x3e\xd8\xde\xf4\xe1\x81\x73\xdf\x8d\x0f\x53\xe2\x87\x84\xee\x03\x4a\xec\xdf\xda\xa9\x37\x0e\x96\xc4\xb7\x42\x87\xec\xc0\xfe\x57\x7e\x2e\x72\xa0\xa6\xd9\x4f\x8b\xaf\x4f\x91\xdf\x3e\x41\x8e\xdd\x0e\x61\xfa\xc6\x56\xe2\x9a\xf4\x33\x25\x51\x10\xd9\x44\x28\x94\xb4\xab\xf8\xa0\x7d\xc3\x2d\xcb\x08\x2b\xe2\x99\xf0\xf0\x8e\xde\x12\x81\x46\xae\x24\xb7\x4c\x26\x26\xfc\xb9\xe1\x99\x3b\xd4\x24\x24\x3d\xf1\x0b\xff\x85\xc1\xee\xa0\xa9\x75\x2a\x88\x91\x0a\x17\xfc\x2d\xc3\x82\x84\x6f\xc0\x5b\x20\x69\x03\x75\x38\xd9\x62\x27\xdd\x31\x21\xb1\xa9\x0d\x91\xac\x54\x5f\x0a\x78\x4b\xef\xb1\x25\x0f\x4b\x7c\xf6\x97\x18\xc9\xd6\x12\x6f\x78\x78\x9d\x46\xa3\xa5\xb6\x48\x6e\xc4\x5d\x16\x81\x4b\x62\x62\xe4\x58\xe1\x52\x17\x19\xfa\x52\x5f\x24\x55\x0a\xd2\x3b\x1c\xb6\xa6\x67\x52\x16\xea\x3d\x9b\x7d\x73\xc0\xcd\x11\x59\xa4\x86\x41\x28\xea\x55\xd9\xc2\xf0\x14\x7c\xb8\xb2\x8b\x34\x68\x20\xe1\x94\x96\xa4\x0d\xf7\x8f\x06\x68\x47\xcd\x41\x50\x5e\x1d\x33\x68\x18\x21\x02\x71\xcf\x69\x55\x79\x83\xc3\x7e\x10\xee\x16\xfd\x07\x13\x12\x05\x29\x7d\x45\x0a\x17\x03\x8e\x44\xa6\x16\x33\x20\x31\xdc\x34\xda\x40\xd6\xaa\x4c\xa1\xca\x1a\x06\xc2\xdf\xcb\xcc\xc2\x8b\x5c\x61\x66\x81\x0c\x83\x0d\x29\x12\xb6\x26\x96\xbe\x21\xab\x18\x21\x77\x78\x75\x17\xc1\x1a\x49\x32\x72\xa1\x76\x4a\x99\xb8\x6a\x97\x07\x4c\x09\x59\x36\x4e\x8d\x60\xe3\x61\x04\x2e\xa4\xfa\xf4\x58\x61\xb1\x19\x2d\xaf\x01\xc5\xa2\x67\xe4\xa2\x50\x0b\x6d\xc1\xb0\xfe\xda\x66\xbf\x97\x8c\x56\x96\x07\xf7\x62\x70\xd9\xea\x9e\x0d\x0b\x57\x6d\xb7\xc6\x1c\xad\x93\xfa\x2f\x02\xab\xa7\xa5\x73\x2f\xf9\x8b\xc6\x64\x1f\x8d\xd9\xae\x78\x2a\x99\x58\x46\xd1\x3d\x30\x34\x21\xa3\x3e\x86\x15\xb7\xc1\x4d\x36\x6e\xb0\x64\x71\xdf\xba\x47\x71\xb4\xad\x19\x58\xe3\xcc\xeb\x2a\xd5\xf1\x81\x39\x79\x72\x4e\xf8\x3d\x59\x9b\x92\xce\xa6\x3d\x65\xde\x90\x06\xb0\x23\xb9\x98\x59\x09\x30\xe4\x36\xfc\x69\x0d\x3d\xd3\x8c\x8c\x80\xf5\x92\x91\x6d\xad\xc1\x74\x35\x86\x9e\x22\x30\x6f\x70\x35\xab\x63\x1d\xb6\x29\xd4\x19\xd3\x81\xb4\x5e\x5b\xc5\x25\x7c\x61\x3b\xa8\x16\xa6\x87\x6e\x99\xbd\x06\x6d\xad\x7a\x20\x84\x47\x4a\x25\xdd\x08\x32\x35\xd6\x7d\x1c\xe9\x0a\xc9\xf2\x72\xbb\x5b\x42\xf6\x54\xb6\xe2\xe6\x53\x64\x28\x63\x18\x3e\x6c\xac\xb1\x40\x92\x6e\xb2\xb2\x65\x3c\x70\x70\x58\x2c\x3f\x04\xc8\xfa\x08\x13\xc0\x20\x74\x3b\x14\x59\x2a\xa5\x6c\x58\x05\x01\xae\x08\x32\x6d\x77\x63\x0d\x05\x48\x09\x3a\x39\x6e\xf4\x34\x4b\x30\x22\x69\x3c\xe5\x6b\xa5\x3e\xa8\x92\x34\x5e\x0d\xc0\xa0\x12\xf3\x1a\x3a\xb1\x7b\xe5\x1c\x6e\xd9\xe5\x59\x1a\xe0\xc8\x69\xe1\xa8\x7b\x53\xd1\xca\xa8\x90\xa0\x91\x96\x30\x34\x30\x1c\x3c\xe0\x04\x60\xfd\x62\x4b\xfa\x0d\xbb\x52\x43\x32\x39\xe4\xa6\x5d\x2c\xab\xf8\x12\x60\x2c\x66\xbe\x96\xdd\x73\x8c\x6b\x81\x19\x36\x16\x4b\xf2\xc9\xbd\x01\x3f\xf7\x14\x52\xed\xf7\x02\xcf\xca\x9d\xc0\xb3\x72\x14\x78\x86\x83\x61\xa6\xdd\x49\x49\x2c\xb4\x5a\xf7\xa3\x61\xa1\x48\xc5\x0c\x6a\xb6\x2d\x0d\xd9\x73\xc1\x68\x99\xe8\xcf\x69\x98\x99\x15\x73\x55\xda\x8e\x34\xa0\x65\x2e\x37\xb7\x4b\x59\x1c\x51\x83\x7a\x4c\x4b\x48\x55\x48\xff\x51\xb6\x88\x29\x94\xb8\x94\x42\xdc\xe2\x92\x8a\xf2\x04\x87\x1b\xdc\x1e\xd0\x32\x87\xd2\x42\xd8\x91\xd9\x13\xae\x12\x08\x31\xc3\xa9\x36\xca\x2f\x39\x8e\x18\x43\x56\x9e\x83\x63\xba\x0c\xa1\x3c\x1b\xc2\xf6\x45\x87\x90\x1e\xbb\x64\xe2\xd8\xd2\x92\xf4\x3c\x4e\x91\x5f\xc1\x59\x37\xe8\xaa\xac\x34\x18\x2b\xbc\xe7\xea\x8c\x73\xcf\x96\x3b\x9d\xf9\x2c\x31\x61\xd5\xb0\x39\x68\x50\xdc\x42\x9b\xb0\x00\x1b\xbc\x52\xbc\xc2\xaa\x8c\xdc\x86\x73\xb7\xb4\x95\x23\x95\x41\x09\xb9\x80\x37\x64\xe4\xef\x6c\x67\x95\x6e\x1f\x1b\xf6\x36\x2c\xce\xda\x3c\xe9\x7d\x35\x07\x8b\x1c\x29\x3f\x94\x33\x12\xa5\x22\xf1\xd9\xc3\x9e\x4f\xf6\xc1\x7c\x49\x8e\x26\xbd\x7d\x32\xe9\x25\xae\xd5\xdc\x18\x74\xe7\x4f\x3b\xb0\xbc\xae\x9f\x3c\x7e\xd1\xf5\x53\xc7\x65\xf9\x08\xd2\xa4\xff\x2a\x53\x5f\x73\xa2\x9a\xc6\x92\xc0\x5f\x95\x67\x80\xf4\xe6\x81\xb7\x70\x04\x98\x29\x5f\x85\x40\xc1\xad\x66\x12\x45\x51\xee\xb2\x24\xb9\x44\x38\x3d\xb8\x87\x1d\xea\x59\x82\xe4\x4e\x92\xfb\x55\x18\x93\x8e\x8b\x41\xea\x6b\xe5\x56\xf7\xa7\xdf\x35\xc4\x18\x27\xc6\x37\xa5\x18\xa8\x53\xc2\x4c\xdc\x69\xbc\x4c\x23\x7c\x49\xd9\x2b\x35\x5a\x7a\x62\xc0\x35\x18\x0b\xf2\x1c\x47\xd2\x83\x24\x20\xee\xb7\x74\xc9\x55\x6c\x99\x8a\x67\xee\xe3\x78\x6b\xa1\xf8\xf3\x02\x97\xde\xe6\x1e\xc2\xe6\x1f\xac\xf5\xb9\x08\x07\x15\x56\x7b\x99\xa1\xd9\x9b\xa3\x95\xc4\xe7\x49\x94\xaf\xdd\xaa\x9f\xe7\x39\x06\x83\x99\xc8\x53\x34\x9f\xb8\x95\x4b\xb4\x43\xb0\x0e\x5c\xf2\x25\x5b\xb6\xe4\x59\x45\xf9\x24\x8b\x81\xa5\x3a\xd0\x67\xd1\x40\x38\x13\x79\xf6\x65\xd4\x85\x41\xb1\xbd\xf0\xf3\xc1\x2d\xeb\x78\x69\xda\xbd\x8b\xed\x9d\xfa\x92\xab\x72\x72\x69\x65\xe5\x25\x0c\x57\x8f\xe3\xc6\x9e\x85\xd2\xe2\x11\x76\x19\xd2\xef\x6e\xc1\xcb\x99\x7f\x7a\xd6\x3d\x35\xa7\xfe\x05\x14\x0a\xef\x92\x35\xdb\xcb\xf4\x72\x5f\xa2\xdf\xbf\xd4\xd8\x7c\xf9\x21\xa4\x2f\x32\x86\xbb\x0b\x0f\x4e\xc9\x58\xe2\x17\xeb\xde\x10\xca\x3d\x02\xda\x99\x33\x98\xbb\x84\x98\xf7\x54\x96\xf9\xec\xfd\x93\x70\xd4\xa5\x29\xb6\x4a\xd6\xe3\xaf\xe5\xa5\x23\x38\x6e\x74\x73\x0f\x65\x6c\x7c\x52\xcd\xc1\x47\xea\x12\xf6\xe7\xc1\x0b\xc0\xdd\x0f\xa7\x30\x16\xa1\xf4\xeb\xf1\x15\x4f\x46\x6f\x45\x8e\x1a\xf2\xcc\xe7\x22\xbe\x01\xeb\xb2\x7f\x3c\x35\x4f\xbf\x9f\xff\xf0\xd7\x6b\xc9\x81\x4d\xea\x60\xd8\xf2\x33\xaf\xb2\x12\xdf\xd4\x9a\x7b\xaa\xfe\xa3\x71\xb9\x63\x7d\x39\x6a\x6b\xb9\xf2\x85\xa8\x6c\x90\x03\xf6\x19\x4b\xca\xeb\xee\xc1\x1c\x41\xf3\xc1\x89\x1e\x32\x52\x31\x86\xcd\x7e\x6d\xbd\x84\xb9\x60\x2c\x61\xb0\xbf\xba\x05\xaf\x4c\x6b\x9f\xa1\x41\x25\x1d\x15\xbc\x22\xd7\x17\xed\x38\xea\x4c\xdd\xa5\x2b\x28\x7c\xa2\x2c\xd0\x56\xdd\x80\xad\x00\x68\x7c\xbc\x37\x33\x0b\x4c\x57\x81\x8f\x26\x67\x09\x42\x39\x35\xed\x9a\x0a\xb1\xd0\x28\xd8\x8e\xe1\x59\x8e\xd9\x1d\x8a\x67\x9e\xe3\x4b\x79\x1d\xb3\x52\x5e\x0e\xc5\xb8\x14\x47\x13\x4c\x17\xf9\x6c\x40\x1e\x2e\x43\xf2\x50\x96\x5c\xe1\xef\x1a\xc9\xaa\xc6\x1c\x46\xda\x6b\xd8\xf6\x6a\x67\x49\xbe\x2a\xf8\xd9\x04\x3e\xb9\xe4\xfe\x19\x5a\xfb\x0f\xab\xed\xbf\x00\xed\x2c\xf3\xf5\xf3\x7b\x7b\xbe\xa7\x82\xee\x55\x25\x13\x5e\x4a\x84\x60\xe3\xab\xa2\x90\xef\xef\x75\x0b\x9e\x2c\x9d\xb5\x67\x59\x56\x15\xda\xa3\x39\x61\x12\xb3\x9d\x03\x52\xf1\xbe\xbf\xae\x47\x4b\x25\x9e\xbe\xee\x4f\x8f\x5c\x10\x85\xfa\xab\xf9\x2a\xbe\x6b\x44\x76\x4f\xec\x0e\xa8\xaa\x25\x24\x24\x46\x28\x69\xd9\x2f\x82\x25\xe7\x1e\x7d\x09\xa5\x08\x95\x22\x8b\xfd\x1e\x2d\xe6\x7e\x09\x72\xad\x99\x4a\x6e\xfa\xb2\x8e\xb5\x92\x2e\x8f\x4e\x5a\x5f\x2a\x89\xf0\x85\x79\xe1\x0f\x8e\xea\xe5\xdf\xba\xe2\xb2\x5c\x62\xa5\x9f\xcd\x68\xb8\x9a\xd2\x49\x18\xc5\x02\xcb\xe8\x6e\xc1\x9d\x82\xae\x08\xe8\x8a\x7e\x18\x7c\x55\xb9\x53\xe8\x19\x99\x5e\xa8\xd4\xe8\xab\x58\x80\xd2\xed\x02\x93\x00\x2f\x44\xb9\x5d\x48\x15\xdd\xb8\xa0\x13\xbd\x5a\xe6\x68\xd6\xe5\x37\x3e\xeb\x33\x13\xab\xc5\xad\x7d\xfe\x64\xd2\xf5\x44\x95\xc3\x89\x3a\x9c\x87\xa3\x31\xfe\xad\x9b\x04\x1a\x60\xbb\x06\xeb\xe9\x22\x66\x50\xb1\x78\xcf\x71\x85\xfe\x12\x26\x70\x4c\x18\xc0\x9b\xc2\x2b\xb4\x5d\x95\x34\xb8\x25\x40\x46\xf8\x7f\x88\x85\xf3\xdf\xe5\x79\x4d\xc1\xab\x7a\xb5\xe4\xac\x09\xcf\xfc\x03\x16\x82\x3a\x26\x7e\xcd\x05\x8d\xe6\xd5\x42\x59\x69\x40\x2b\xd0\xff\xa1\x72\x2f\xb4\xf7\x63\x07\xc2\x79\xb5\x8c\xbf\x7f\xdd\xd7\x23\x0a\xc8\xbf\x71\x0a\x28\xb9\x52\x95\xb4\x84\x9e\xa9\x97\xf5\xa2\xdb\xa2\xb6\xa3\x99\x2e\x81\xd3\x20\xfd\x67\x42\x7b\x42\x9f\xbe\xe1\x5f\x5a\x24\x8b\x72\x7d\xbc\xee\xfa\x13\x0a\x9e\xee\xb1\x2f\xa9\x15\x4a\xcd\x54\x6a\xae\xf4\x0a\x96\xd1\xc4\x6a\xf5\x4a\xaf\x3f\x6a\x9a\xaf\xa3\x41\x2f\xbf\xf5\x41\xef\x9d\x86\x12\x99\x00\x63\xa5\x0c\x0f\x63\x51\x5e\xda\x12\xd4\x95\xee\x69\x01\x43\xb6\xf8\x6b\xfd\x20\xd8\x2b\xa4\xcb\xf3\x48\x7c\xc1\xcf\x89\x13\xaf\xb0\x0a\x29\xc7\xcf\xbc\x56\x7d\x00\x83\x8a\x74\x6b\x52\x77\x81\x80\x77\xd6\xdc\x02\x7f\xa5\x9b\x1d\x4d\x87\xa0\x51\x48\xd9\x71\xcc\x55\xae\x26\x0f\xdf\x31\xa1\x7a\xec\x0a\x6c\xac\x3e\x0b\x92\x13\x83\x8b\x62\xb7\x41\x6d\x1e\x99\x97\x4c\x09\x98\xab\xd6\xb2\xa7\xa8\x01\x42\x32\x78\xc5\xae\x27\x67\x4b\xab\xcd\x19\xf5\x2d\x99\x78\xde\x10\x98\xe7\xea\x60\x1d\x43\xf2\x5c\x41\x86\x18\xd5\x13\x79\x0c\x61\x69\x5b\x28\x03\xb6\x3b\x0c\x5b\x06\xa0\x76\x19\x64\x12\x73\xb3\x9c\x0f\xf7\x83\xbc\x3f\x33\xe4\xfa\x95\x20\xef\xd7\x22\xae\x0f\x08\xf7\x37\x9f\xb2\x61\x8f\x49\x7b\xcf\xd8\xd2\x17\x18\x5c\x34\xa1\xed\x99\x77\x8e\x5a\x70\x38\xb9\xad\x38\x00\xd0\x8b\x4c\xa0\x9f\x57\x4b\xba\xdd\x8b\x4f\x3a\x41\xcf\xe0\x2f\xca\x25\xbd\xc3\x67\xd2\xd0\x9e\x17\xf2\x8d\x79\x04\x47\x06\xde\x61\x10\xdd\x7e\xcd\x40\x0e\x0b\xb3\x87\xd9\xe3\xde\xc9\x4a\xbd\x3b\x01\xa6\xbe\x8e\xdc\x32\xf8\xd2\x75\xcd\x5b\xb8\xfe\xa8\x35\xe7\x23\x59\x0d\x47\x26\x4b\xef\x88\xaf\xa1\xea\x69\x30\x8f\x96\x35\xa0\xef\x0d\x7a\x4f\x82\x57\x7d\x51\x47\x2a\x26\xba\xaa\x70\xbb\xfa\xd2\xd9\xba\x70\x23\xb1\x62\x8c\xd4\x47\x3a\x07\xae\xfd\x43\xfd\xac\x7d\x0d\xc8\x93\x0c\xa7\x88\x81\xe4\x77\x1b\xd2\xe1\x31\x8f\x93\x3e\xfe\xc8\x74\xd5\xbe\x6a\xc5\xb5\x93\xd7\xb8\xf9\x37\xce\xd6\xee\xd7\x87\xe6\x98\xce\x6a\x5f\x6b\x27\xdd\x3e\x78\xe8\xf6\xdd\xb2\x5e\xd9\xc7\xde\x37\x15\xb5\x13\x1c\x25\x2a\x62\xbc\xb5\xb6\x2d\x58\xe5\x47\xeb\xa3\xff\xd6\xf7\xd8\x6f\x32\x6f\x42\x2b\x83\xba\xa4\xc5\x41\x7a\x6e\x58\x41\x59\x87\x85\x25\x2f\xf3\xe2\x56\xc1\x89\xf5\x73\xc3\x58\xaa\xaf\x6b\x35\x7b\x85\x37\x4b\xd6\x4c\x55\xb7\x84\xd7\xac\xaa\xd7\x95\x78\x1d\x9f\x14\xc2\xfb\xaf\x1a\x5e\xaf\xbb\x62\x3d\x79\x59\xe6\x88\x0a\xff\x35\x7b\xc7\x2f\x42\x85\x5d\xa8\xf5\xbe\x70\x84\xff\x4f\xbd\x45\x5e\x49\xe0\x26\xc4\xbb\xe5\xb9\x1b\xd1\x74\x58\xe2\xa3\x10\x7c\x34\x5e\xb1\xf8\x6a\xc5\x56\xaf\x4b\x32\x7b\xde\xfa\xa5\xe9\x06\x39\x16\x1e\x8d\x78\xb4\xcf\x23\x87\x11\xff\xff\x47\x0e\x96\x28\x28\x52\x45\xb3\x0b\x2d\xa5\x37\x2a\x5d\xab\x88\x65\xbf\x5b\xcb\xd3\xe3\xa8\x85\x3a\x8f\x25\x94\x9e\x49\xff\x59\x91\x35\xb6\x0a\x89\x9e\x4a\x55\xde\x92\xe3\x01\x80\xc4\x65\xbe\x75\x34\x17\x53\x1d\x9a\x06\x95\x2e\x4b\x11\xa1\x2c\x6d\x65\x64\x27\x12\x9f\x74\x13\x8f\xea\x39\xc8\xe0\x53\x29\xc7\xda\x68\x79\x83\xff\x7b\x89\xa8\x6b\x2f\xc7\xbb\xd6\xdc\x04\xe5\x30\xdb\x11\xac\x21\x01\x89\x9d\x36\xfc\x7b\xd4\x9b\x5d\xcd\x97\x80\x45\x33\xd0\x9f\xe0\x1d\x9a\xd9\xc5\x92\x6c\x9e\x84\xcc\xbe\x13\xe6\x87\xe0\x93\x21\x2e\xb2\x5b\xa3\xa4\x9e\xb5\xcf\xda\xe2\xe3\xcc\x96\x47\xe6\x39\xed\xae\xf5\x56\x0b\x58\xb5\x0e\xec\x73\xa4\xaa\x1e\xbb\x42\xad\x0b\x31\x57\x5e\xb2\xf2\x79\x45\xe4\x20\xdf\x96\x0c\x3e\xa3\xb5\x1f\xb4\x7e\x16\xe0\x4d\x0c\xbe\x91\x73\x4b\x5b\xe2\x0d\x99\x39\xb7\xee\xa7\xdc\x1a\xf9\x73\x93\x27\x6a\x2b\xb4\x11\xb7\x32\xcb\xed\x03\x72\x2b\xb3\xdc\x6c\xe7\x8d\xcc\x72\x3a\x5a\xe5\x28\x69\xe2\x41\x67\xca\x35\xad\xf1\x17\xa3\xb5\x15\x59\xa0\xb5\x17\x1d\xc9\xe4\xf5\x74\x37\x7c\x23\xad\x4a\xa5\xff\xe1\x1c\xbe\x39\x89\x6a\x5b\x57\x80\xe0\xab\x14\xc0\x23\x5d\x20\xaf\xda\xc6\xda\x8c\x54\x36\xae\x8d\x06\x10\xb9\x60\x0b\xcb\x72\x16\xa4\x53\xfa\x3c\x7a\xac\xd7\x76\x3f\x79\x43\x40\x49\x7a\xd5\x11\x23\xbb\x87\xc5\xc8\x34\xf2\x12\x24\x0f\xd2\x7f\x5e\x3d\x9e\xe6\x11\x64\x2e\x55\x8d\xa0\x68\xe3\xbe\xe8\x4b\x92\x87\x57\x02\x7b\x2b\x4c\xae\x71\xda\x3b\x61\x89\x33\x47\xd8\x78\x3f\x6c\x25\x7d\x62\x32\x74\xbb\xed\x32\x90\x50\x7b\x7e\x8f\x3c\x05\x31\xc1\xef\x0c\x9e\x70\x97\xb3\x17\x27\x28\x77\x3b\x79\xfb\xa5\x63\x5e\xc7\xca\xee\x5c\x1c\x67\x8e\x01\x71\xfd\xd3\xd1\x98\xb7\xdd\x0c\xa6\xaf\x42\x61\xfb\x25\x3e\xf9\xe5\x86\xe4\xc5\x88\x18\x18\x45\xfd\x32\xc4\x41\xbf\x2c\x75\xdc\x1c\x76\x8e\xbf\x75\x2b\x61\x8b\xd9\xac\x84\x12\xfb\x1a\xa0\xef\xb4\xad\x31\xfb\xfe\x99\xf2\x43\x59\xa0\x58\x8d\xb2\x02\x5a\xdc\x8d\x07\x09\x2c\x6b\x6a\x17\x6b\x51\x76\x7d\x69\x9b\x54\x22\xec\xda\x46\xad\xc0\xde\x17\xa4\x15\x30\x0d\xa4\x6e\xbd\xdf\xb6\xee\x91\xe3\xee\x63\x55\x6d\x2b\x5b\x07\xf2\x1a\x52\x10\xf8\x87\xe4\x45\xe7\x0e\xce\xf6\x1c\x09\xe9\xf9\xd3\xc2\x00\x0e\xe7\x8e\xa0\x02\x4e\x84\xd0\xa6\xbc\x0a\x4c\x23\x94\x10\xa2\xb0\x32\x2b\xbf\x92\x07\xa5\x82\x17\x50\x5e\x70\xaf\x90\xa4\x95\x95\x55\x4e\x9d\xda\x2a\x89\x5c\x9b\x5b\xf5\xc8\x69\x04\x9c\xb0\xc5\x0e\x32\xac\x5c\x31\x57\xaf\x6c\xa0\x51\x2c\x69\xd1\xbf\xf2\xca\x14\x06\xf5\xcb\xa2\xc2\x40\x95\x87\x72\xaa\x7c\x98\x2f\x87\x3e\x2b\xe9\xc6\xa7\x93\xd4\xcc\xc5\xf8\x02\x11\x0e\x7c\x6c\x43\xb1\x3a\xd0\xdf\xbd\x37\x11\x10\xba\xc3\xc8\x4d\x42\x69\x6b\xd4\xd7\x48\x99\x06\x15\x59\xa0\xed\xeb\x6b\x01\x48\xed\xa0\x5c\x56\xa1\x44\x10\x3f\x10\xcb\xe1\x34\x0a\xec\x3d\x73\xb9\x80\x0d\x54\x3c\x85\xe6\x80\xa7\x46\x1b\x4b\xe0\x5a\x01\x1f\x39\x45\x6a\xf3\x86\x65\xa1\x50\x4e\xc2\x63\xa2\x7c\x52\xdb\x04\x08\x9f\x45\xd9\x84\xb1\x86\xe4\x08\x9f\x08\x15\x01\xa7\xfd\xf4\x98\x6b\xa2\x81\x54\x11\xad\x19\x82\xbe\x6d\xcf\x95\x8a\x67\xe6\x94\xc5\x20\xfb\x72\x5a\x01\x2b\x1f\x49\x1c\x57\x14\xf9\x35\xd3\xec\xaf\x79\xce\x7a\xa2\x38\x4b\xbc\xaf\x87\xd8\x0b\xed\xec\x0b\x5c\xfc\x56\x4e\xd9\x33\xc3\x7b\x88\x68\xf6\x94\xf5\x77\xe6\x3d\x35\xb8\x85\x9f\x0e\x31\xf7\x38\xa6\xdd\xad\xad\x22\xa4\x27\xae\x9d\x12\x4d\xac\x5a\x90\x6d\x43\x88\x0c\x99\x8f\xbc\x9d\x17\x49\x00\x7b\x68\x52\x91\xd8\x16\x87\x08\x14\xc3\x29\x9c\xda\x51\x4f\x18\xa8\xe4\x5e\xe7\x25\x5e\xc7\x36\x18\x0d\x04\x12\xb2\x92\x85\x04\x46\xe0\xe6\xaf\xa1\x22\xe1\x24\xf0\x6d\x79\x0d\x19\x51\x38\x62\x61\x06\x48\xc0\x67\x92\xb4\xc5\x24\x44\x28\x65\x90\xca\xb2\x58\x50\x42\x90\x6c\x48\x6a\x7e\xf8\x31\x90\x34\xd7\x48\x35\x53\x16\x95\xf1\xe0\x26\x0e\x7c\xc9\x5c\x68\x43\xec\x5d\xe9\x2b\x0f\x40\x01\x16\xca\x4a\x70\x54\x61\x21\x2d\xc5\xd2\xa6\x42\x01\xdb\x88\x99\x75\x51\x73\x8a\x9b\xb6\x4e\x49\x6f\x55\x21\x8b\xa9\x47\xea\x7d\x83\xe9\xaa\xea\xe0\x20\x9a\x31\x17\x65\xd6\x10\xda\xb7\xb1\x0c\x4a\xbc\x31\xbc\xf2\x93\x1e\xac\x42\xd9\xe1\x82\x55\x1e\x8a\xa3\x2b\x6d\xe9\xbe\x83\x9e\xa5\x79\xda\x20\xf0\x54\xf7\x88\xe6\x7a\x52\x60\x34\xea\xa9\x2e\x66\x2b\x5b\x02\x22\x62\xd2\x1a\x8a\x32\xa5\x20\x0b\x71\xc1\x15\x52\x66\xdf\xa7\xa4\xc3\xaa\xd5\xcd\x71\x8c\x09\x86\x25\x2d\x84\x29\x56\xc9\xb4\x5a\xf4\x6b\xaf\x9b\x80\xcf\x4d\x3c\x17\x30\x26\xbb\x68\x87\x01\x14\xaa\x07\x79\xc3\x99\x09\xe6\xb3\x61\x8d\x67\x08\x7a\xbc\x36\x3d\x58\xc8\x66\xbb\x8e\x4d\x9b\xd3\x10\xf9\x38\x30\x82\xbd\x5a\x9c\xa4\x45\x3e\x15\xc0\x6c\xd6\x88\x0c\x35\x07\x62\x2d\xc7\xdd\x12\x5d\x92\x9e\x8c\xbc\x22\xae\xb4\x36\x8f\x42\x41\x6e\x22\x67\x3b\xd8\xce\x34\xdc\x46\x88\x65\x36\x4e\x38\x7a\x86\x24\xc3\x99\x35\x60\xd0\x6a\x31\x28\x21\x45\x25\xb6\xa9\x82\x4b\x33\xd7\x65\x9a\x58\x9f\xfb\x45\xb6\x78\xda\x2c\x06\xc2\x97\x8d\x09\xd3\xbf\xb3\x3e\xb3\x19\x1f\x9b\x24\x4a\xda\x47\x3d\x61\x94\xf0\x10\xb4\x19\x31\x50\x16\xb7\xd5\xb7\x22\x88\xe3\xb4\x85\x56\xc6\x66\x38\x97\x79\x3c\x78\x5a\x6d\x25\xbf\x8c\x29\xaa\x30\xaf\xd4\x4e\xa1\xb7\x19\x6d\x83\x48\xcf\x60\x00\xc2\xb9\xcc\x58\xe5\x35\x34\x0b\x27\x0b\x08\x6f\xd1\x25\x94\x98\x5c\x7a\x19\x6b\x25\x40\x5e\x36\x95\xf2\x0c\xf5\x94\x84\xb7\xcc\x94\xb3\x85\xda\x81\x7c\x65\x8f\xce\x41\xcc\x8f\x45\xf1\xc2\x4f\xd7\xa9\x0a\x78\xa6\x96\x82\x23\x3a\x48\x6a\xe0\x3e\x36\x5f\x79\xa0\x33\x8b\x0a\xdb\x02\x74\x1e\x3a\x58\x06\xb9\xcc\x88\xfe\x35\x2c\xf8\x1e\x71\xe2\xb2\xd1\x19\x67\xed\x04\x28\x4e\x65\x54\xb2\xd3\x14\xb0\xf0\xd0\x8b\xec\x21\x3f\xc5\x45\x9b\x1a\xb7\x5c\x3d\xe2\x15\x4b\xaf\x3f\x58\x2c\x86\x0e\xc5\xc5\x0e\x84\xb9\x1f\x71\x03\x44\xae\xee\x44\xd9\xb6\xb1\xb1\x81\x11\x5d\x11\x06\x8d\xc9\xd2\x95\x8a\xc8\x8c\x82\xa0\x1f\xab\x3a\xa4\x4a\xcd\x04\xf2\x66\x79\x41\x0b\xf5\x42\xe2\x79\xa9\xac\xc5\xa2\xf5\x62\x65\x41\x94\x43\x5f\x2b\x5b\xd8\xa4\x1c\x3a\xec\x72\x7c\x66\xed\x8f\x23\xaf\xc8\x2d\xc7\xd5\x38\x68\x74\x21\xc3\x8a\xbe\xb1\x9b\xc8\x65\x6e\x31\x61\x28\x1d\xe3\x27\xcb\xfe\x48\x19\x0d\x0b\x25\xba\x5c\xe5\xe4\x0f\x3d\x88\x14\xf1\xd8\xb3\x8a\x70\x5d\x71\x98\x5f\x53\x9a\xdc\x9b\xe0\x7f\xc8\x5e\x02\x05\xf0\x9a\xbd\x85\xca\xc6\xac\x7f\xd8\x27\x67\x85\x88\x87\xdd\xe6\x2f\x9a\xda\x6d\x0d\xd2\x28\xb4\xcd\x77\xaf\xea\xf3\x4f\xd8\x28\x08\x82\x00\x7b\xef\xd4\x65\x98\xfb\x3e\x08\x4e\x8f\x6a\x34\x70\x05\x6e\x76\x03\x36\x27\x7b\x5c\x95\xee\x68\x5d\x0f\x2d\x84\x7e\xea\x91\xd2\xbb\x5d\xe8\x6f\xef\x24\x88\x86\x2f\xc3\x6c\x3a\x79\xed\xe0\x3b\x66\x00\xa9\x1d\xac\xba\x9e\x22\x59\xc4\x78\x45\xbc\x7d\xbe\x28\x26\x78\x02\x0b\x0f\x82\xdd\x1e\xcc\x65\xaa\xe0\x00\x1b\x23\xba\xb7\xcb\x66\xb1\x5d\x9d\x21\xb9\x23\xa9\xe0\xc6\xc9\xa2\x25\x4d\x95\x9c\x1c\x5b\x58\x9f\xe3\x31\xde\xc0\xf2\x6b\xd1\x7e\xb3\xc1\x14\xaf\x16\x29\x30\x28\xcf\x71\xcd\xac\x14\x39\x2c\x55\x6e\xe0\xaa\x02\xc4\x78\x7a\xcc\xb9\x53\x93\xb6\x04\xa4\x1c\xaa\xee\x5b\x5b\x26\x30\x3a\x3c\x2f\x30\xf9\x78\x1f\x59\xcd\x3b\x0d\x98\xe2\xea\xd4\x75\x24\x0f\x36\xde\x00\x5d\xcd\x6d\x49\x2a\x21\xac\xe6\x27\x8e\x13\x39\xd9\x49\x54\xfd\x72\xd5\xcd\x4a\xf7\xab\xae\x1b\x3d\x54\xa9\x16\xd7\xd0\x49\xe2\x66\xb2\xca\x81\xaa\x8f\xe3\x8e\x97\x35\x04\x80\x1d\xb9\x2f\xba\x36\xe1\x4e\xc5\x90\x47\x58\x57\x20\x39\x3b\x91\x0d\x83\xd7\x61\x9e\x3d\x2a\x79\xb3\x34\x80\x0c\xb0\x5e\xa1\x56\xa7\x22\xe8\x55\xd2\x7b\x13\xe5\xad\xd5\x38\x38\xcc\xf8\xa2\xa2\x90\xf0\x89\x73\x7f\x7a\x1c\x39\x53\x6b\x71\x01\x64\x82\x32\xea\xba\x41\x23\xe9\x12\x86\x6e\x88\x1f\x32\x5c\x40\x92\xa8\xc1\x93\x5a\xb8\x83\x87\xee\x51\xba\x35\xea\x40\x0b\xd2\x47\x0f\x3f\x92\x37\x43\x27\xd0\x0e\x2f\xb9\x12\xfc\x49\x1a\x01\xe3\x58\x45\x90\xb6\x0d\xe5\x44\xf8\x16\x49\x94\x4c\x88\x2e\x8f\xe0\x57\x9e\x1e\x13\x47\xea\xb0\x11\xbd\x9d\x9c\x19\xb2\x24\xe1\x98\x8d\xb0\x7e\x58\xb0\x63\x06\x7a\x3a\x10\x9f\xd9\x4e\x33\xfd\xe6\x82\x94\x89\x30\x4b\x5b\x20\xdf\xb4\x29\x5b\x7a\x3e\x63\xde\x8d\x17\x7b\x75\xcd\xd1\x65\xd1\xfd\x42\x04\xcc\x42\xcc\x8b\x08\xf5\xba\x84\x44\xf9\xc3\x04\x3b\x35\x39\x58\x80\x31\x2e\x15\x1c\x66\xad\x2b\x50\xd4\x29\x77\xc2\xb9\x90\xbb\x87\x27\xe8\x73\xe5\x78\x2b\xe4\xcd\x24\x26\x1a\x1b\xa0\x84\x21\x9e\x6b\xb1\x93\x52\x41\x5e\x81\x3f\x6c\x90\xdf\x94\x32\xc4\xbe\x5a\x9f\x1e\xb9\x14\x20\xae\xa4\x5c\xce\xb7\xd3\xba\x1c\xdb\xb2\x5b\xd1\xd7\x97\x90\x73\xa1\x26\xe9\xe9\x31\x8f\x0a\xa7\x13\x89\xd3\x93\x6a\x2a\x16\xa6\x5e\x01\x1e\x5b\x52\x84\x90\xaf\x42\x76\x47\x4a\xd7\x0f\xb4\x2b\x4b\x40\xde\xb5\x13\xbb\x7a\x21\x5c\xf4\x0b\x5a\x91\x14\xd1\x6a\x24\x92\x2b\x18\xa6\x7e\xe1\x60\xac\x77\xb3\xb7\x6b\x2a\xd7\x8a\x53\x32\x2a\x7b\x95\x37\x67\x93\xce\x21\xa5\xb1\xa4\x9a\x74\x74\xcb\x8c\x6b\xd1\x75\x97\x2c\xd7\xa6\x16\x46\xdc\x9d\x19\x2a\xa2\xa7\xbe\xc7\x1e\x22\x83\x10\xc9\x91\x0a\x54\x4d\xe7\x20\x35\xad\x08\x15\x19\x2a\x1b\x42\x38\x4c\xe7\x50\xf3\xae\xe3\x52\x8e\x6b\x98\x76\x64\x09\x12\xc1\x07\xd8\x45\x50\x59\x16\xfc\xdc\x70\x2d\x0d\x98\x46\x19\x67\xbc\x8e\x48\x0e\xdd\xb4\xd3\x59\x6a\xb2\x4f\x9a\x4a\xcc\xd3\xf5\x6b\x63\xcc\x67\x6e\xcf\xc6\xcf\xe4\x2f\xb2\xf1\x9c\x52\x41\xe1\xe8\x6d\x92\x72\x4e\x49\x37\x99\x2a\x4a\xd1\x1c\xeb\xa6\x43\x93\x0f\x3c\x09\x38\x8e\x97\xca\xdf\x7b\x41\x1f\x05\x29\x5e\x0f\xe3\x16\xe0\x9e\xce\xcf\xd2\xce\xbe\x66\x3e\x89\xe7\xa3\xc7\x6f\x6a\xc7\x61\x15\x2e\x2e\x3b\xd4\xf5\x2b\xa6\x13\xfa\xcc\x60\x8a\x56\x0c\x6d\xd2\xa1\x5d\x27\x4a\xd3\xf3\x14\x17\xe9\xf6\xa3\x72\xfb\x51\xbb\xfd\x68\xdc\x7e\xb4\x6b\x03\x5e\x6f\xc6\x8d\x47\xc5\x1e\xd1\xad\x76\xdc\x78\x6d\xdc\x7e\xc4\x33\x9e\xfd\xf5\x76\xdc\x78\x54\x6e\x3f\x6a\xb7\x1f\x8d\x9b\x8f\x6e\x53\x39\xef\x51\x27\x0c\xef\xd1\x5a\x16\x53\x40\xa7\x9b\x71\x6f\xfb\xf3\xe0\xca\xf6\x3d\xe6\xeb\x2a\x24\xc9\xe2\x30\xc6\x12\x94\x6d\xd7\x7f\x9e\xd9\xd6\x3e\x3b\x20\xe7\x24\x71\x2c\x75\x82\x80\x65\xbe\x5a\x3f\x2f\x94\xf5\x4f\x8f\x45\x8f\x30\xbe\x72\x4c\x5f\x02\x23\x2f\x92\x9c\x82\xc4\x71\x37\x2c\xf7\xa0\x11\x96\xaa\x2d\xa9\x8c\xf5\x05\xc7\x49\xd0\xc4\xae\xa7\x2b\x4f\x0f\xf6\x85\x4d\x48\x95\x13\x97\x71\xd0\xdb\x83\x99\xe5\xab\xa4\x79\x33\x68\xed\xc3\xf9\x72\xca\x50\xe6\x40\xa5\xda\x74\x95\x31\xf1\xdd\x19\x74\x8e\xda\x3f\x35\xd6\xfc\x56\xdb\xa9\x78\x52\xee\xb3\x1c\x6e\x7d\xfd\x0b\xd7\x77\xd9\x4a\xd3\x65\xfc\x12\x85\x66\x32\xa6\x3b\x6d\x1b\xc3\x34\xaa\x39\x77\xf7\xb1\x29\x5b\x15\x5a\x73\xa6\xb6\xe8\x09\xd8\xf2\xb4\x7f\xe2\xf4\xb7\x47\xfa\xa4\x0f\xd2\x92\xa5\x53\xb7\x03\x55\xeb\x51\x41\xdb\x2a\x86\x86\xe9\x3c\x53\x37\x6a\xbb\xcf\x41\xda\x19\x6c\xea\xc6\xc6\x07\x6e\xe0\x0b\x37\x06\xe5\x6f\x26\xd0\xa6\xe8\x91\x82\x06\x20\x04\xfe\x71\xcb\xc6\x9d\xcb\xa6\x1c\x70\xd6\x7f\x61\xe7\xd9\x61\x45\xd2\xd4\x32\x7b\x50\x26\x37\x4b\x8d\xc3\x3a\x8e\x5b\xa1\xd4\x37\x71\x18\xa1\xe8\x96\xd7\xa2\x23\x78\x3a\x4c\x97\xce\x9c\xae\x83\x88\x33\x7b\xd0\x5b\xe0\x31\x2e\xd1\x6e\xb8\xb8\x84\xd8\xe9\xb3\x52\x98\x4a\x39\x48\x95\xc8\x7c\x15\x9e\xcc\xd4\xfa\x58\x90\x3a\xcc\x02\xeb\xfc\x75\x8f\xa3\x1b\xcb\xfe\x01\xff\xe4\x51\xbd\x65\x07\x15\xcd\x0e\x9d\x97\xeb\x1d\xe3\x3e\x5f\x42\xc2\xe4\x2a\x4c\xd6\x66\x60\xd1\xdd\x62\x32\x3a\x1e\x4e\x8b\x49\x81\x27\x03\xb1\x17\x98\xcf\x5f\x31\xf0\x21\x6c\x2d\x47\x3e\x85\xd4\x75\xab\x4a\x85\x46\xcf\xcb\x5e\xed\x81\x75\x14\x01\x6f\x59\x49\xa8\x97\x45\x10\xc9\x6b\xfe\xd1\x77\x70\x0c\x4a\x99\xe6\x2e\x77\x9b\xb0\x96\x6c\xde\xb2\x65\xb6\xd8\x36\x48\x74\xc3\x28\xed\x70\xed\xef\xb2\x6e\xb5\xa5\x3a\xf2\x0a\x73\x24\x40\xfc\x18\x86\x57\x69\x0b\x92\x96\x55\x39\xf5\x51\x57\xc9\x64\xb2\x18\x14\xeb\xda\xc3\x2c\x7b\x30\x73\x6e\x2a\xf3\x19\x93\x03\x20\x29\x4b\x5a\xef\x10\x53\xa7\x50\x53\x5a\x54\x0c\xd1\x4f\x95\x54\x0e\x26\x71\x3b\x80\xb8\x9c\xde\xe2\xb7\xbd\x50\xb6\x1b\xae\x27\xbe\xcf\x4c\x8b\xd5\xfb\x2a\xe0\x1d\xd5\x50\x1e\x3c\x1d\x4f\x84\x54\x69\xe1\xd4\xca\x79\x33\x8d\xca\xcf\x64\x90\xbd\x2e\xdf\xd7\x78\xdf\xdf\xee\x89\x1c\xdc\x9e\x03\x51\x5c\x32\xd0\x5e\xe1\xc3\xde\x4e\x9d\x96\x0e\xcf\xa2\x13\x32\xef\x3a\x08\xb6\x25\xf1\xd9\xab\xee\xc7\xfb\xc8\x94\x84\xc4\x76\x65\xed\xb6\x52\x80\xe7\x05\xbe\xdf\x26\x95\x9b\xf6\x84\x9a\xba\x35\xcf\xf6\x78\xc4\x80\x67\x85\x2d\x96\x59\xca\x40\x2c\x43\x9b\xad\x03\x96\x65\xf3\x56\x1f\x35\x73\xf7\x10\x05\xdb\xf5\x39\x8b\xb4\xc6\x5f\x63\x17\xd1\xaf\x7c\xf1\x75\x2d\x93\xdb\x1c\xa9\x52\xaf\xd9\x79\x28\xf1\x4e\x1b\xee\xc8\x5c\x66\xae\x15\x08\x7b\x99\x5d\xcb\x71\xc1\x01\xb8\x02\x0d\x38\x73\x61\xa0\xa4\xaa\x98\x75\x91\x5f\xe3\x7e\xbe\x4d\xa4\x93\x59\xa7\x55\x69\x7c\x1b\x67\x27\x7f\xfb\x5d\xe6\x73\xd3\xa5\xee\x2f\xee\x68\x26\x10\xe6\xf2\x40\x96\x68\x06\x88\xe5\x0d\xa0\x82\xa3\xc1\xb8\x24\x63\xaa\x43\xe5\x87\x25\x70\x13\x6a\x49\x74\xaf\x92\x04\xef\x7f\xb3\x1f\xa6\x0e\x55\xdb\x29\x54\x24\x0f\xb7\xa5\xdb\x8d\x59\xd0\x82\x60\x20\x9b\x50\x68\x69\x9c\x98\x53\x77\xae\x64\xf2\x67\xf1\x1e\x6c\x17\xdf\x81\xed\x7a\xc1\x3a\xbe\xc4\xbd\x9b\x8b\xea\xc2\xf5\x6d\x17\x5e\xd0\x13\xe8\xbe\x48\x04\x8d\x76\xd1\xd3\x04\x06\x7c\xe5\xe1\xd1\xd0\xed\xbc\x21\x3b\x22\xc3\x31\x36\xca\x3b\xf7\xe5\x7e\xcc\xf7\x45\x93\xb7\x96\x50\x9b\x29\x9d\x42\xea\x4b\x46\xea\xbd\xba\xba\xd6\xd0\xd8\xab\x38\x47\x3b\x9f\x42\x3b\x85\x7e\xd9\x7f\xe1\xc8\x92\xa7\x35\x4d\x4f\xa9\x42\x29\x35\x58\xb7\x52\x61\x65\x9c\xce\x15\xf8\x65\xc4\x04\xcb\xb2\xd9\x07\x3d\x98\xaa\x42\x34\x8a\x0b\x5a\x50\x2c\xd7\x99\xee\x9b\xad\x18\x1f\xb8\x86\x4c\x66\xb6\xb7\x90\xbd\x4c\x15\x89\x1c\xd9\xfe\x40\x66\x37\x46\x3a\x3c\x57\x17\x54\xa3\xe2\x5c\x37\x58\x32\x75\x03\xe4\x6a\xf4\x7c\xe0\xe1\xcc\x92\x76\x47\xc7\xb4\x9f\xd8\xe8\xa2\x69\x6c\x75\xe4\x8c\x3a\x16\x38\x34\xa5\xb6\x7a\xe6\x3a\x86\x86\x51\x26\x10\x28\x6c\xd6\xa6\xa0\x6a\x0b\x9b\x9e\x34\x9d\xb8\xad\x3c\x74\x7e\xd3\x3e\xbb\x2e\x6b\xa5\x99\xbc\x10\xb8\xc4\xf0\x40\x80\x06\x2e\x39\xa6\x48\x75\xa5\xe8\x66\xb1\x49\x82\x77\x64\x4e\x0a\x17\xb3\xf6\xac\x01\x79\x08\x01\x84\x5b\xdc\x86\x27\x5b\xe8\xfd\x61\x66\x8e\x6d\x69\xf7\xf2\x80\x3d\x15\x1e\x97\xe6\xae\xb0\x60\x08\x09\xa7\x6f\x87\x89\x58\xba\xd9\x40\xe3\xdc\x51\xb6\x94\x5c\x75\x63\x9d\xe2\x96\x16\xe8\xa5\x9a\xee\x30\xad\x51\xab\xc4\x39\x6e\x3a\x18\x1d\x90\x95\xa4\xbb\x40\x25\x1e\x48\xc5\x9a\xc4\x10\x31\x19\xca\x48\x40\xbd\xac\xca\xc2\xea\x6c\x09\x05\xcf\x8b\xa9\xd7\x75\x85\x7e\x4c\xb7\xcc\x64\x2b\xd9\x86\xc1\xcc\xe6\x66\x79\x4c\xc6\xb0\x87\x34\x60\x79\x3e\x9a\xd6\xc9\x3a\xeb\x0a\x1e\xb9\x2e\x22\x99\x5a\xb7\xec\xbc\x22\x7a\x68\xc1\xa1\x4b\x5b\x0c\x34\xde\xb2\xec\x17\x61\x3e\x9b\x65\xc3\x7c\x39\x03\x86\x35\x2f\x5a\x8c\xb8\x47\xbb\x08\xb8\x82\xcf\x90\x97\x0d\xad\xeb\xcb\xf6\x6e\xca\x94\xad\x76\x54\x3e\x2f\xfc\x7e\xf0\x72\xf3\x35\xaf\x66\xaf\xd7\xbf\x74\xd4\xd5\xf2\x42\x83\x7a\x2a\x71\xcd\x11\x3b\x9e\xd3\x98\x1e\xab\x3d\xbb\x1e\x6f\x09\xd2\x01\x89\x7f\x4a\xd2\x6f\x17\xf4\x7d\xb5\x98\xca\xb2\xa1\x27\x50\x1a\x67\x73\x8a\x85\x3f\x46\x9f\x44\x9c\x3d\x52\xd6\xc3\x1b\x41\x93\x59\x54\xe0\x0f\xb5\x22\x55\x9d\x52\x97\x9e\x03\xbc\x6a\x61\xdd\xd1\xc1\xec\x75\x77\x24\x2f\xcd\xf1\x0e\x13\xa2\x80\x6b\x5a\x38\x2b\x0b\x58\x97\xa1\xc4\xd4\x57\x4e\x24\x9d\x66\xac\x2d\x70\x26\x25\x3e\x91\xf5\x9a\x71\x06\x45\x6c\x95\x4a\xd6\x05\x57\x09\x2e\x35\xba\x37\x2f\x0c\x7b\x34\x92\x5d\xe6\x45\x4a\xa4\xd4\xca\x59\xc7\x20\xe4\x12\x97\x12\x49\xa4\x9c\xe1\x35\x55\xe2\x9b\x93\x98\x94\x8f\x43\xe5\x94\x77\x61\xb9\xb0\x3c\x0f\xc8\xd5\x7e\x29\x5f\x05\xc3\xfa\x8c\x59\x9e\x93\xb3\xec\xf3\x06\xf7\xb7\x41\x36\x9f\x97\x29\xce\xe6\x5e\x62\xde\x8b\x93\x14\x4e\x41\xa9\x03\x94\xc2\x9d\x9c\x62\x76\xef\xbf\x5b\xef\x80\xeb\x32\xf3\x86\x4d\x90\x9b\x10\x72\x5f\x82\xcd\xe3\x12\x7c\x5e\x71\x90\x00\xa9\x53\x67\x7b\x4e\xfe\x20\xa7\x86\xcd\xc9\x03\x9e\x65\x40\x38\x8d\xc4\x16\x2a\xf0\x44\x8f\x13\x5b\xec\x6b\xcf\xd0\x63\x4d\x15\x2d\x59\xc2\x4e\x61\x48\x48\xa0\x84\xb7\x4c\x32\x5c\x26\x65\x9e\x0a\xdc\xef\x96\x60\x04\x77\xca\xfa\xb7\xe8\x8e\x63\x14\x79\x0a\xc2\x47\x9a\x7d\xb9\x80\x9e\x56\xea\x2d\xc1\x46\x20\x09\xb0\xf7\x5c\x81\x7b\x5f\x17\x36\x77\x37\x8f\x3c\x48\x64\xb1\xf0\xf0\x6e\x77\xcb\x0e\x40\x13\x02\x0b\x9f\x52\x94\xb5\x23\xa5\x25\x68\xa4\x6f\x05\x61\x95\xd1\x44\x4c\x00\x52\x03\x42\x21\x0d\xed\x56\xd5\x5e\x32\x85\x94\x86\x6e\xf1\x36\xac\xc3\xb5\x34\x9e\xd6\x52\x94\x99\xc8\xe2\x5b\xc0\x88\xd4\x79\x0b\x3d\xd1\xc8\xe7\x22\x30\x6b\x35\x9a\x3c\xab\x98\x1d\xcd\x93\xdd\x0e\xd1\xf9\xf2\xc1\xea\xe3\x24\x23\x2d\xfa\xb9\x94\x06\xad\x15\x33\x00\xbf\x1c\xb6\x13\x45\x54\x24\x4a\x3e\xfb\xae\x5c\xd4\x9f\x12\xb7\xb9\xd7\xe4\x52\xc1\xb5\xd4\x93\xc3\x14\x18\x2f\x51\x88\xed\x47\xb6\x90\xc9\x32\xfc\x52\xde\x80\x31\x0d\xf7\x15\x4b\x9b\x5c\x28\xb7\x85\x73\x25\xd6\x83\xad\x57\xea\xe9\x57\xde\x19\xde\x83\x69\xc7\x32\xc5\xc8\xdc\x60\x2e\x57\x22\xa9\xa6\xce\x15\x0a\x70\x19\x4a\xce\x87\x98\x60\xd0\x7d\xbf\xb0\x86\x4a\xdc\xea\x74\x0e\x39\x07\x9b\x32\x30\x2b\xbd\x22\xa9\x31\x6c\xda\x9d\x7d\x92\xd9\xa0\x57\xba\xaf\x75\x9f\x20\x23\x93\xe4\x44\xb3\x86\x6e\x88\xf7\x38\xd6\xd3\x98\x7c\x08\xb3\x52\x9b\x12\x9b\x12\x5f\xea\x4a\x8c\x0b\xcc\xec\xc2\x66\xb2\x75\x49\x84\x52\x76\xef\x2b\x01\x71\x2b\x6d\x8b\x58\x6a\x06\xaa\x4f\x8f\xa9\xe9\x11\x5f\x30\x57\x81\x7b\xa2\x95\x1b\x5c\xa5\x94\x30\x1b\xbc\x1c\x05\x9d\x76\xd7\xc4\x0c\x64\x88\x0c\x50\xf1\x0d\xca\x15\xfc\x6b\x6e\x51\x70\x7a\x02\xc9\x54\xff\xcd\xcd\x8e\xc3\x93\x08\xaf\xe8\x30\xf6\xd1\xb8\xc1\xd7\x91\x17\xd6\x8d\x50\x3b\x2b\x23\xc3\xe3\xbf\x8f\x73\x01\xa4\xb5\x1e\x80\xa9\x2a\xbf\xfd\xab\x91\x0d\xbd\xfb\x44\x19\xcf\x02\x7e\x46\x5e\x1b\xec\xb0\x0c\x20\xaf\xcd\x71\x54\xce\xd8\x05\x92\xfd\x85\x58\x9f\x50\x21\x3e\x99\x62\xd5\x69\xe1\x0c\xe2\x88\xf0\xd2\xed\x0c\x1f\x2d\x44\xca\xf4\x74\x02\x45\x05\x68\xc4\x66\xfb\x7d\xe7\x10\x3d\x22\x88\xb3\x09\xf9\xa9\x26\xb0\x19\xf0\x71\x2b\x69\x61\xd8\xf8\x23\x82\x98\x12\x82\x98\x94\x88\xe1\x37\x6a\x48\x3d\xac\x87\xd1\x59\xf7\xb3\x48\x3d\x53\xea\xba\xa5\x6d\x4a\x2e\x25\x5b\x18\xe0\x68\x02\x88\x6b\x43\x4c\x9a\x79\xd1\x75\x2b\x8e\xd0\x0c\x22\xff\x2f\x9f\x75\xd7\x38\x87\x76\x0e\xf5\x6c\xbb\x06\x64\xc9\x6a\x89\xa4\x03\x5c\x02\xf1\xef\x43\x99\x64\x94\x1d\xf5\x57\xe0\x6f\x59\xcc\xce\x9b\x1b\x81\xd9\x53\xf6\xb9\x2e\xc8\x76\xdd\xab\xe5\xd8\x50\x5a\x51\x02\xe9\x38\xcd\xce\xba\xcf\xe9\x3d\x78\x7d\xe8\xd4\x56\x88\xb3\xc6\xfb\xeb\x19\x69\x5b\xa4\x27\x64\xf9\xea\x29\x6d\x6e\x93\x50\x8a\x2f\x21\xb9\x3f\x80\x5e\xf5\x6e\xf8\xac\x2b\xf4\x2c\x9b\xf7\x14\x2b\xc8\x76\x05\xbf\x42\xc1\x49\x59\x8f\x43\xa3\xed\x60\x54\x02\x65\x05\xa7\x7e\xc6\x3e\xe4\x14\xe5\xaa\x1b\xb1\x44\xfc\x16\xd2\xe6\xd4\xb7\x04\x27\x4a\x02\x62\xa0\xa8\x38\xa3\xa4\x3a\xc9\x97\x49\x20\x02\x55\xd3\xbd\x80\x60\xd9\x3c\x56\x74\xa5\xe0\x6f\x38\x05\xd7\x93\x2e\x0a\x56\xe6\xcd\x56\xc9\x66\x8b\x66\x5f\x46\xa6\xd3\xb6\xb5\xb5\x85\xb9\xdc\x9e\x1e\x53\xec\x06\xe4\x37\xc9\x6a\x71\x32\x73\xb2\x43\x34\x43\x23\x25\x45\xdb\xfb\x27\x99\x6e\xa0\x5a\x27\x61\xd0\xb3\x13\xb7\xd1\x3a\x08\x1f\x0b\xa0\x61\x39\x5c\x27\xc8\xe6\xcd\x16\xcc\xe6\x0b\x88\x7c\x4d\x31\x50\x7d\xcc\x2d\xc6\x88\x77\x71\x9a\x36\x02\x37\x62\xd7\x59\x3d\xb2\x4c\xa4\x17\xc1\x3c\x7d\x65\x68\x86\x45\xca\x9b\x82\x79\xca\x25\x98\xa7\x1c\x05\xf3\x94\x4b\x30\x4f\x79\x4b\x30\x4f\xd9\xf6\x8b\xd7\x83\x79\x8a\x07\xf3\x0c\xce\x54\x93\x2c\x41\x9a\x16\x4f\x7b\x54\xac\xc7\xe7\x86\x4b\x80\x2e\xa7\x76\x42\xb1\x8f\xc4\xdb\x08\x0e\xa7\xd4\xe6\x32\x98\xd1\xb9\x1e\x9c\x3b\x5b\x61\x8d\xb0\xc8\xdc\x70\x27\x34\x97\x93\xfc\xc6\x27\xa1\x54\xa6\x0e\x41\xbe\xa1\x15\xe9\x12\xc6\xe9\x81\x9e\x1e\xe7\xb9\x3f\xf7\xc7\x1e\x58\x49\xdb\x0c\xf2\xd4\x39\x92\x56\xde\x13\xd2\x84\xb9\x3d\xdb\xd4\xec\x81\xd3\x7b\xdc\xf4\x51\xf4\x26\xa7\xf4\x1b\x9f\x80\x5e\x0a\xf2\x12\xe8\xd8\x92\xb4\xb2\x5e\x62\x6c\xc9\x23\x7e\x03\x57\x7b\x1c\xe6\xf3\x60\x41\xbf\x36\x3e\xdb\x1e\x26\xcd\xa9\x9d\x83\x61\x0e\xbd\x23\xe8\x4c\x1a\x6a\xd8\xa3\x92\x67\x50\xb2\x1c\x07\x9d\xa5\xfc\x1b\x9f\x81\xda\x8a\x43\x8f\xde\x0b\x15\xd3\x11\xc2\x0e\x72\x89\x1e\x37\x5a\xdd\x66\xe8\xf6\x3e\x4b\x7b\x74\x3f\xe2\xb6\x2d\x6c\x7b\xce\xb0\x4d\xb0\xc7\x6c\xcf\x10\x74\x54\xfc\x4e\xc0\x28\x4e\x2f\xd0\xf2\xea\x44\x53\xb0\x48\x9a\x5c\xb5\xe3\x18\x49\xc4\xab\x58\x14\x42\xcf\x1b\x32\xbe\x98\x3f\xfb\xd5\xe5\x55\x81\x70\xf5\x5e\xb8\xd4\xe6\x97\xb9\x5a\x01\x7f\x6e\xef\xe1\xb5\x5c\xed\xdb\xdb\x7e\x71\x79\x78\x79\x63\xd6\xf2\xf4\x58\xa5\x29\x7b\xc0\x57\x3c\x84\x89\x56\xf1\x8a\x23\x13\x77\xe1\xb7\x6c\x6a\xfa\xdc\x8a\x27\xa3\x0c\x8a\x3b\x25\x41\x61\x82\xc0\x37\xdf\xe4\x51\x8b\xf1\x3d\x10\x5b\xe1\x25\x4b\xbb\xf4\xb6\x99\x9b\x6c\xf7\x47\xca\xbf\xd8\xd6\x33\x78\x37\xa1\x0c\x00\x5a\x26\x64\x95\x1a\x69\x43\x1c\x8a\x2e\x34\x04\x4d\xc1\xa5\x12\x5b\x25\x02\x84\x58\xe5\x01\x41\x2a\x0c\x1f\xcb\xb2\x99\xf4\xcf\x79\xb5\xb5\x6b\x99\x9c\x36\xcf\x07\xa5\xfc\xb9\xf5\x11\x82\xc2\x20\x0b\xee\x4a\xe6\xa0\x91\xba\xa7\x72\x63\xa6\xb5\xd1\xec\x34\xa0\xfc\x3c\x08\xcc\x02\x71\x42\x82\xf2\x4f\xc9\x13\xc9\xa7\x60\xef\xc3\x9b\xa0\x35\x1b\x53\x4b\x07\xd7\x5c\xcc\xc3\x1e\x63\x2d\x43\xea\x8b\x66\xc0\x1c\xca\xa4\x31\xc4\xc7\x04\x21\x0e\xae\x21\xb9\x59\x33\xf3\xd8\x94\xf7\x4e\xd8\x8b\xa0\xe8\xa7\x3e\xa3\x44\x3c\x3a\x44\x87\x64\x58\xcc\xa2\x4d\x02\x8f\x69\xb9\x56\xa6\x2c\xce\x78\x0c\xec\x31\x59\x2c\xda\x2e\x24\x17\xb0\x57\x04\x14\x26\x65\xb0\x90\x7c\x87\x3c\x08\x2e\x4d\xdb\xdb\x34\xc2\x41\x7d\x9e\x26\x00\xb5\xad\xa7\x6c\x26\x93\xd5\xa4\x62\x08\xc5\x66\xab\x32\x95\x3d\x54\xec\xbc\x5b\x13\xd8\xf2\x74\x61\x7b\x11\xca\x70\x58\x15\xa4\x21\x29\x7d\xad\xba\x50\xc1\xb0\xae\xda\x0e\xc3\x6a\x40\x1a\x2e\xe3\x07\x7d\x4e\xd3\x43\x59\xcd\x67\x15\x3e\x0b\xd9\x82\x87\x8c\x78\x61\x9f\x2c\x1b\xef\xc6\xc2\x45\xa7\x69\x15\x62\x73\x7d\x46\xdb\x66\x8c\x31\x1a\x2b\x88\xc3\xec\x60\x88\x65\xd0\xc6\x66\x17\xb4\x2a\x10\x34\x54\x09\xa6\x63\x8b\xd1\xea\x16\x54\x37\x03\x53\x52\x36\x87\x7d\x1d\x98\xae\x3b\x49\xaa\x2b\xb6\xe3\x6c\x4d\x77\xa7\x32\x6b\x59\x9e\x78\x8d\x6c\x51\x3d\x46\xb4\x89\xdd\x93\x1e\xfa\x48\xb3\x23\xe6\x41\xd2\x36\x4b\x65\x26\x60\x62\x09\xa8\x8e\x36\x94\x3c\x4d\xa7\x81\x2d\x92\x31\xbb\x7e\xc8\xf2\x31\x52\xb9\x84\xf5\xc2\x23\x5d\x20\x87\x52\x59\x0b\xc6\x7a\xf8\x5e\x02\xfa\x94\x6c\x71\x56\x2a\x67\x66\x26\x89\x96\xff\xc1\x42\x1a\xe3\xd3\x63\xe5\x44\xc3\x11\xe6\x10\x20\x9f\x65\xc3\x0a\x34\x88\xd9\xe4\x59\xcb\xa0\x41\x31\xb4\x9a\xe9\x29\x81\x6c\x6f\xda\x28\x62\xe8\x00\xd1\x33\xfd\xbd\x04\x72\x91\x85\x17\x6e\xca\x9a\x7a\xd0\x6d\xde\x65\x11\x39\xde\x83\xeb\x9e\x63\x53\x77\xf4\xd2\x56\xae\x99\x86\xa8\x50\x05\x08\x5d\x29\x90\xa6\x3a\xb4\xf5\x41\x94\xa7\x2a\x4c\x2c\x55\x69\xab\x0f\x17\x9b\x2c\x67\xa1\x85\xb2\xe8\x90\x22\x95\xa2\x3d\x92\x36\x73\x47\xb2\x1e\x1a\x15\x9e\xe4\x03\x7b\xce\x8c\x0e\xa8\x73\xe3\xe4\x39\x9c\xca\x3b\xa8\xf4\xc6\x1c\x2f\x51\x43\x85\x52\x75\x3f\x10\x00\x64\xc5\x48\x65\x8c\x55\x3f\xc3\x91\x01\xe6\x29\x88\x59\x60\x13\x32\xcb\x1d\x69\xb6\xfd\xed\x77\x74\xfa\xcb\x5f\xff\xfc\x14\x7e\xf8\xc3\x39\xfc\xf3\xef\xbf\x63\x91\x78\xed\x98\x38\xea\x7d\xc7\x44\xbe\xef\x98\xf8\x89\x95\xfb\xa5\x1b\x22\x1f\xb9\x21\x9a\xb9\x9c\xe3\xa8\x33\x5f\xd0\x4c\x7c\x34\x9d\x78\xdb\x17\x6c\x27\x7d\xb4\xa1\x55\xdb\x59\x66\x3b\xcb\x75\x3b\xd3\x37\x34\x9e\xa2\xcd\x4c\xb3\x99\xc9\x9b\x49\x07\xd4\xd2\x5f\xfa\x7c\x8e\x43\x45\xcd\x6d\x6f\xac\x71\xac\xe0\xdb\x5e\x35\x43\xb4\x88\xb4\xc1\x70\xe4\x74\xbf\x21\x81\x23\x3d\x50\xfe\x2d\xa5\xf0\x38\x74\x4c\x48\xe3\x2a\xbd\xc8\xee\x64\x7a\x67\x2a\xee\xf8\x42\x99\x5b\x5e\x28\xd3\xa1\xfb\x92\x03\x59\x6f\xe5\x3b\x0e\x4d\x77\xe6\xa9\xb8\xe5\xeb\x19\xc5\xe3\x1b\x9e\xa8\x37\xbb\xe3\xd3\xc7\xe9\x5a\xee\x7b\x45\xe5\xeb\x04\x51\xcf\xf0\x76\x5e\xf3\x73\x72\x58\x16\x1e\x03\x6e\xa2\xaf\xc1\xc3\xec\xd0\x31\xaf\x82\xa9\x8c\x01\x9f\x4f\xaf\xe8\xc8\x4f\x3b\x1d\x9a\xaf\xbe\x24\x3c\x10\x59\xbb\xd0\xa1\xcf\x41\x80\xb9\xee\xcc\x21\x3e\x50\xcd\x94\xdb\x31\xa8\xce\x6c\xc0\xaf\x01\xaa\xe3\xed\x7e\x89\x33\xa4\x9b\x59\x63\x92\xc6\x8b\x75\xc8\xfa\xe3\x63\x75\x95\x79\x2a\x7d\x56\x0a\xef\x97\x5e\x6c\x8e\xc8\xe4\x8d\xf8\x74\x50\x7d\xb0\x5f\xb4\xed\x80\x80\x79\x0f\xd2\xd4\x93\x7e\xc8\xca\x46\xbe\x86\xbd\x9d\x21\x71\x0f\xc4\x55\xb5\xcd\x42\xd0\x47\xf4\xf8\x7b\x94\xd9\xc2\xb3\x3f\x66\x11\x5c\xcf\xf7\xc2\x5e\xdb\xbc\xd4\x2b\x94\x22\x3c\x67\xe0\x62\x19\x23\xdd\xec\xdb\xdb\x7e\xe1\x0f\xb7\x4b\xf9\x59\x07\xf6\x03\x6d\x77\x04\x43\xc0\x96\xbf\x25\x1a\xd8\x8a\xed\xb6\x00\xf3\x28\xbc\xc3\x5b\xc4\x1d\xfd\xc0\x0b\x6e\x7b\x91\xeb\x17\xed\xba\x98\x83\xa9\x32\xdf\x6c\x2f\xd9\xfb\xe1\xfa\x7a\x3e\x0f\x97\x77\x9e\x1e\x33\x6c\x5d\x23\x96\x55\x2c\x4f\x81\x07\x2f\x56\x53\x41\x59\xc0\x6b\x45\xd0\x7a\x98\x8f\x4c\x68\x00\x9b\xe3\x8f\xd3\x00\x9e\x5e\x9f\xac\x26\xd7\xa7\xc7\xf6\x59\x35\x4f\x11\x84\xe1\x55\x25\x03\xcb\x16\x36\xde\x5c\xdc\x5e\x06\x00\x81\x60\x0e\x88\xc0\xcb\xc1\xe0\x54\x33\x8b\x19\xef\x5f\xf6\x6b\xbb\x44\x11\xfd\x7b\x45\x64\x21\xb8\x6e\xf0\x7a\x66\xfd\x1f\xe0\x88\x55\x2a\xa8\x0b\x13\x90\x37\x74\x41\xaa\x2c\xb2\x82\x2b\xb7\xae\xed\x5d\x4a\x90\x74\x5b\x1c\xf7\xba\xd4\xf7\x21\x32\x9e\xb0\xbb\x5f\xd3\x1c\xa4\x4f\x06\xab\x63\xb0\x5e\xa9\x99\x3e\x5a\xf5\xc1\x8a\x9a\x6a\xd4\x62\x61\xbe\x4b\xae\x43\x37\xb0\x75\x30\xe9\x7f\xba\x70\x65\x6d\x34\x3a\x85\x22\x84\x10\x68\xa5\xa2\x0c\x5c\x06\xd8\x14\x32\xec\x48\x19\x3c\x6c\x24\x8b\x80\xc6\xee\x6e\x79\x78\x25\x4d\x72\x4e\x7d\x0b\xb9\x5b\xd4\xac\x5e\xcd\x25\xbb\x86\xd4\xb4\x57\x0d\xb8\x08\x90\x20\xe2\x0a\xcf\x0d\x38\x93\x97\xf9\x86\xc5\x79\x66\x36\xd5\x5c\x9e\x74\x67\xcb\xde\x2d\x5f\x4a\x3f\x40\xb5\x24\x40\x23\x84\x51\xb6\x61\xf2\x79\x5a\x1b\x7c\x08\xa4\x50\xe1\xa5\xe4\x4e\xfa\xff\x35\x55\x77\xe6\x69\xc8\xcf\x00\xa7\xa1\xa9\x04\x75\x4f\x6f\x40\xbb\x20\x18\xd6\xa4\x1c\x68\x98\xc4\x6c\x34\xa9\x2f\x21\x21\x22\x25\xf5\x8b\x07\xad\x6f\x8f\x65\x57\x7e\xb0\xc3\xa6\x98\xb4\xe9\xbf\x6b\x92\x46\x29\x25\x4a\x95\x29\xd5\xb6\x26\x78\xfa\x02\x6c\xaf\x20\x00\x7f\xae\xaf\x15\x2b\x02\xbe\x7e\x2b\x1c\xfa\xa8\x5d\x36\x63\x4b\x72\x0d\xf8\x09\xb6\xb9\x10\x07\x1e\x01\x6e\x4b\x9f\xde\x02\x96\xc8\x0f\xd8\x2a\xb4\xc1\x71\x0d\xc0\x00\x86\x57\x02\xe7\x3c\xdd\xda\xa6\xe2\xef\x61\x57\x09\x9a\x8d\x6f\x78\x7e\x04\xc3\x20\xcd\xc5\x10\x5f\xb0\x7f\xc2\xea\xd3\x10\xdc\x8d\x2d\x74\x40\x81\x3f\x12\xf5\xb1\xea\x84\xb7\x6e\x9e\xf0\x0d\x36\x23\xae\x69\x29\xcc\x54\x98\xd7\xc6\xd4\x04\xe6\xdb\x51\x95\xe2\x4a\x21\x1e\x9d\x4a\x59\xbb\xe1\x24\x19\xb8\x0c\x2a\xa8\x86\x79\x03\x0c\x9a\xcd\x89\xac\x20\x6e\xc1\x23\xd8\x61\x56\x47\x53\xa7\x34\xb7\x84\xdc\x61\xe5\xac\x74\x35\x37\xd5\x17\x4d\x33\xcf\xd0\xe6\xb6\x7b\x3b\x53\x8f\x96\xca\xae\xf0\xce\x83\x46\x1e\x6b\xee\x54\x55\xd0\x87\xb6\x25\xe6\x8d\x2d\xce\xd8\x62\x7d\xdd\xcf\x64\x02\xc1\xd7\xbc\x35\xb0\x25\xd0\x4c\x78\xf6\x71\xa4\x26\x36\x98\x2e\xa4\x64\xdf\x1b\x6f\x6c\x00\x7b\xca\x2f\xf1\x9d\x1b\xfa\x0c\x0f\xb4\xaf\x40\x3c\x5a\x95\xd0\xbb\x6d\x90\x50\xc3\x64\x2b\x37\x8b\x99\x72\xc6\xde\x1f\x06\x15\x62\xee\xb8\x86\x57\xd0\x26\x36\x91\x74\x68\x66\x1b\x22\x8d\x71\x7e\x67\xaa\x19\xb0\xe5\x12\x69\x63\xcb\x2c\x61\x3d\x8b\xce\x61\xe4\xa7\xc7\x3e\x2a\x8d\x26\x6b\x48\x09\x2b\xdf\x9e\x8c\xb9\xf2\x73\x9d\xc7\x6d\x49\xa6\x75\x7a\xd8\x55\xc9\x1e\xb3\x3d\xa0\xba\xd2\x9f\x1c\x5d\xb5\x9c\x13\x59\xf1\x92\xa1\x9a\xa8\xc5\x75\x58\xd5\x7c\x48\x4d\xef\xe6\x70\xb8\xb6\xce\x74\x9d\x7a\xa2\x0d\xf3\x23\x2a\x0c\x05\x6b\x2d\xae\xbd\xab\x09\xee\xaf\xad\x2c\x96\xee\x7c\xc6\x14\xea\x5a\xca\x79\xb3\xe8\x77\x7f\x29\x67\xcb\xfe\x5e\x36\xb1\x75\x6e\x8a\x44\x16\x83\x6f\x48\x55\x4b\xe9\x4b\x00\xd5\x92\x2d\x67\xca\x69\xcd\x94\x89\x85\x38\xad\x39\xa9\x34\x00\xa8\x9f\x2a\x1b\xf2\x92\xe9\x1b\x05\x31\xd3\xb9\x9a\xd5\x26\xe7\x55\x65\x5e\x80\xc5\xb0\x23\x59\x48\xa4\x3b\xd2\x7e\x9e\x0a\xff\x66\xc9\xef\x85\xf3\x8a\x69\xd5\x19\xc7\xda\xa8\xf5\x92\xe5\xa7\x56\x28\xf1\x0c\x90\xcc\x04\x0c\x01\xbc\x40\x18\x76\x44\x0a\x85\x6e\xa9\x84\xe1\x72\x07\xac\x9e\x82\xc8\x3a\x52\x4e\x97\xbb\xf2\x68\xa3\xd0\x80\x47\x7f\x23\xc9\xba\xd9\x41\x5f\xd2\xc7\x02\x50\x13\x73\x64\x44\xc8\x39\x1c\xaf\x06\x81\xc1\x9d\x69\x7e\xfc\xf3\xb5\x6a\xfb\x36\xfb\x59\xa4\x27\x92\x9e\xd6\x5a\x08\x77\xba\x63\x0b\x54\x84\x76\xd4\x45\xab\xe3\x68\x7a\xa1\x6e\x6a\xa1\xb6\xf7\x8a\x9e\x75\xab\x00\x71\x83\x2c\x14\x56\xeb\xd5\x7f\xf0\xd9\x79\x5b\x2f\x00\x1f\x43\xb5\xde\x6a\xd8\x43\xd9\xe6\xc5\x52\x94\x27\x82\x0f\x62\x29\xd4\xd0\x2f\x59\xcc\x4f\x7a\x09\x03\x07\xca\x22\x70\x42\xcf\x7d\xd1\xb1\x48\xfd\x08\x37\x2a\x5f\xcc\x03\xe6\xb8\xbd\xc2\xcd\x88\xab\x98\x6e\x12\x8a\xa5\xbe\x29\x25\x20\x37\x8b\x2e\x9a\x73\x18\x25\xdd\x93\x07\xeb\x1d\xf5\x81\x55\x21\x4c\x29\x42\x83\xac\x3b\x6f\xee\x86\x04\x06\x2e\xb9\x26\x42\x62\xff\x3d\xb8\xa8\xc5\x88\x78\x0b\xc4\xda\x54\x15\x50\x75\x42\xa4\xe4\x55\x97\xa4\x7e\xc7\x5c\xf4\xcc\x2e\x80\xa6\x34\xb8\xb7\x5c\x2e\xaf\x4a\xe0\x12\x8f\xac\x00\x9e\x87\xab\xcb\xbd\xc0\xd1\xe8\x4d\xc5\xde\x88\x7a\x4a\xf4\xb2\xf8\x1c\xcb\x9e\x1e\x11\x1b\xfa\x2d\x3d\xc5\x1e\x91\xa3\x87\x3c\x2c\xad\x4a\xe8\xb5\x4d\x0d\x04\x0b\x09\x23\xc6\x08\x58\x23\x4d\x69\x08\x3c\x79\x5a\x24\x2a\x91\xc6\x25\xc5\x46\x29\x76\x2d\xac\xc3\x29\x2a\x83\x2e\x52\x1b\x49\x43\xe0\x24\x39\x3c\xc8\x55\x46\xdf\x4f\x45\xd8\xfb\x91\x3b\x79\x6a\x66\x1a\x14\x1b\xb9\x9f\x43\xeb\xab\x72\xc4\x85\x0c\x64\x0b\xf5\x34\xe3\xa3\xc0\x1b\xb0\x6f\xab\x7a\x46\xf6\xbc\x41\xcb\xcc\x96\x9e\xa3\xe8\xb9\x6b\xe0\x56\x60\x76\xc7\xa6\xf2\x59\x2e\xd8\x65\x6d\x90\xb0\x57\x4b\x34\xa9\xb9\x21\xf1\x00\xa7\x35\x65\x15\xcf\xf0\x47\x35\x00\x20\x18\x42\x6c\x0f\x97\x6b\x28\x33\x71\xf7\x4d\x73\x99\x33\x2d\x2a\xb0\x49\x45\xf7\xd4\xd1\xce\xa1\x35\x73\x32\x6d\x88\x2c\x8a\xc6\x59\x25\x24\xff\x58\xb1\xdb\x47\xab\x93\xb0\x83\x79\x76\x23\xb8\xdf\x9d\x38\x8d\xb5\x60\x1f\x32\x26\x91\x45\xb7\x4d\xdb\xc9\xcb\x39\xd9\x54\x52\x5f\x43\x86\x3e\x3e\xb4\x41\x66\x68\x6a\x02\x10\xad\x9a\x74\x63\xd6\x8f\x34\x71\x26\x71\x28\x33\xdf\xa0\xe8\xd0\xda\xd0\xa5\x21\x86\xc0\x53\x1a\x5c\xb0\xa4\x9d\x5b\x3b\xf1\xa4\xfc\x56\xf2\x59\xf4\x88\xc5\xaa\x34\xee\x8f\xd9\x4c\x26\xe2\x56\x8c\x87\x9d\x37\x35\x89\xb9\xda\x31\x34\x54\xe0\x2f\xf1\x61\x0f\x04\xce\x9b\xfb\x9d\xc2\x4e\xc0\x6e\xf4\xf1\x33\x30\x92\x72\xac\x70\x19\x0b\xd9\xb5\x64\x59\x69\x94\x23\x3c\x08\x61\x12\x20\x00\xc9\x79\xb8\x04\xb2\x56\xa9\x64\x39\x28\x03\x5c\xb2\xb8\x6e\xda\x61\xf2\x20\x4b\x19\x34\x5c\x49\x94\xd8\x61\x89\xe4\xce\xe9\xb2\x2b\xd7\x2a\xab\x70\xdd\xdc\xe9\xd6\xa0\xc0\x72\xdc\xcd\x97\xca\xf0\x6c\x80\x04\xcc\x9e\x6c\x45\xf7\x1a\x9d\x4f\x58\x65\x9a\xb1\xf7\x30\x2d\x40\x50\x31\xec\xae\xea\xc7\xf5\x98\xd8\x32\x6d\xcc\x55\x0a\x0c\x41\xd8\x41\x32\x9b\xdb\x36\x76\xfb\xc8\x8e\x5b\x64\x87\x7a\x4d\x06\xbd\x19\x2a\x80\x10\x43\x85\xfa\x1e\x99\xe4\x38\x03\xb5\xc0\x3d\x9b\xb5\xe5\xce\xad\xef\x8c\xad\x0d\xfa\x28\xf0\xeb\xc7\x07\xa1\x84\x61\xa1\x15\xaa\x77\xea\xc9\x33\x57\x30\x2c\x69\x49\x88\x2d\xfa\x43\x05\xbb\x98\x61\x9f\xeb\x08\x03\xd1\xcd\x04\xde\xf8\xda\x7f\x1c\x9a\x80\x5a\x31\xec\xdb\x07\x0f\x7c\x35\xde\x5f\x69\x25\x4f\x1b\x2f\x4c\x0a\x62\x5b\xa9\xca\x5a\xe6\xdb\x95\x0c\xbf\xcc\x4c\xd1\x86\x2a\x08\xb0\x34\x63\x52\xab\x9e\x34\x08\xf6\xd0\xc6\x42\x18\xe6\x5c\xd6\x4c\x10\x4b\xd9\xcd\x4f\xa6\x73\x49\x34\xfc\x4f\xb1\x4d\x88\xb3\xb9\x1f\xc0\xba\xaa\xf2\x4e\xa1\xa2\x5c\x8a\xe1\xf9\xa5\x48\x9c\x11\xf5\x26\xc2\x16\x1e\x56\x2b\x1a\x98\x61\x55\x55\x96\x56\x25\x22\x87\xa9\xc9\xee\x79\x0a\xc6\x4b\x4f\xcf\xeb\x10\xb5\x0d\x87\x78\xe3\x75\x34\xea\x9d\xa4\x26\xea\x47\xbe\x23\x25\xee\xb1\xdd\x16\x45\xf7\x3c\xe0\x92\x5d\x0d\xb9\x07\x5b\x96\x78\x1c\x6c\xe9\xcf\xa7\x46\xce\xf4\x71\x08\xe3\x3c\x0f\xd7\xbb\x86\x01\x0c\x8f\xcf\x0e\x07\x1d\x53\x27\x7c\x71\x54\xf8\x82\x11\x9b\xe5\x0a\x45\xc2\x13\x72\x5e\x23\x8b\x5c\xa2\xf5\xce\x65\xc2\x0f\x20\x74\xf7\xd7\x1e\xb7\x1e\xd9\xf5\xd8\x8e\xd4\x73\x96\x6b\x0c\x16\x3d\x55\x76\x95\x7e\xf1\x17\xd1\xf4\x64\x60\x3c\x8b\x80\x97\xf0\xa1\x9c\xe6\x0a\x1d\xce\x23\x7b\x45\x91\xaf\x44\x26\x1e\x35\xf9\xee\x3e\x59\x05\x6f\x9d\x4c\x1d\xdc\xfc\xea\xd8\x1e\x8d\x4d\xfa\x9a\x63\xb3\x53\x6a\xbe\x26\x59\xd9\xbb\x04\xfb\xd4\x75\xff\xc5\xcb\x5e\x7a\x3d\x6e\xf6\xfa\xa0\xd3\xf9\x6b\x75\x9a\x3f\x59\x9e\xaf\xf7\xe8\x70\x91\x1c\x8e\xd9\x41\xaf\xcb\xd7\xda\x2d\x5d\x38\xb0\xce\xca\x7c\x26\xcf\xc9\x20\xf9\xb3\x74\x79\xe6\xf0\x50\x06\xe5\x2d\x06\x05\x7d\xbe\xb2\x7a\xed\xe6\x35\x77\x16\xb7\x67\x07\x23\x50\xbf\xd6\xbc\xcb\x3e\x04\x9f\x34\xf7\x8a\x28\x5e\xe9\x66\x9c\x43\xf0\xe9\xf0\x8c\x39\x02\x9f\x8c\xea\xc1\x08\xb4\x97\x6e\xeb\x39\xc6\x95\x01\x43\x27\x45\xf9\x20\x43\x7e\xd6\xce\x57\x37\x6a\x82\x39\x37\x20\x5c\x53\x8c\x9b\x97\x8e\x29\x67\x06\x8e\x7e\x2d\x85\x32\xd1\x9f\x1b\x82\x2c\x9e\x12\x6e\xb8\x05\x54\xcb\x5c\x6e\x6e\x97\xb2\x16\x7e\x3e\xf6\x54\xd2\xc7\x81\xf0\xe5\x4e\x20\x7c\x39\x88\x83\x9f\x51\x23\x37\x03\xe1\x0f\x46\xaf\xbf\x3e\x7a\x88\x93\x31\x15\x91\x21\xe7\xca\x3e\x50\x2f\x46\x50\x9e\x8d\x60\xfb\x64\x04\x93\x8d\x60\xbd\x8c\x60\xfa\x64\x04\x13\x8d\x4c\x28\xb3\xe9\x94\x69\x89\x6f\x68\xf4\x1e\xb3\xca\x4b\x2d\x2e\x02\x44\xf3\x11\x57\x47\x03\xd4\x1f\x44\xb2\xe3\x77\x09\xfb\x73\xf3\x57\x76\x9d\x92\x69\xe3\x27\x5c\xe0\x6e\x96\xb4\x1b\x9b\x97\x38\x9a\xa2\xf1\xfa\x14\x25\x23\x70\x0c\x78\xde\x26\x25\xd7\xcf\x9c\x9e\xb7\x10\x78\x9a\x04\x5e\x2f\x04\xfe\x8d\x4d\x51\xf2\xac\xed\x79\xb7\xdb\x4f\x34\xa9\x60\xb6\x16\x58\x97\xd1\xd5\xe4\x3a\xff\xe6\xb0\xec\xcd\x38\xfe\x66\x05\xe6\x73\x9d\xc1\x6a\xa9\x8c\x5d\x57\x7c\x30\x45\xf5\x93\xd0\x99\xcf\x59\x45\xe9\x32\x4d\xf5\x7a\x9a\xd2\x8d\x55\x94\xf7\x35\x54\x7f\x43\x7b\xd0\x63\xe9\x91\xea\x48\xcb\x3e\x0d\x98\x85\xea\x1e\xaf\x7d\x0b\x73\xca\xbc\xd3\xd3\x9f\xd9\xe4\x36\x9b\x8b\x65\x4e\x91\xad\x3e\xcc\xdb\x66\xb3\x78\x34\x3d\x7c\x1d\x1c\xf7\xe5\x37\xb9\xf7\x62\x0b\xe6\x72\x80\x6d\x72\x3c\x9c\x08\x7c\xbf\xf7\xe5\x83\x00\xd4\xc7\x94\x3a\xf5\xda\x96\x24\x7a\x32\x76\x73\x01\xd6\x93\xbf\x7a\x2a\x08\xfc\x2e\x61\x7f\x1e\xbc\x00\x2c\x5b\x08\xbf\x42\x84\x45\x99\x29\x91\xdf\x9b\xb2\x4d\xca\x35\x28\x29\x5b\x82\x2c\x0a\x47\xba\xe3\x3a\xa5\x9f\x36\x92\x0a\xad\xb2\x0c\x0a\x63\xed\xe0\x59\x8a\x99\xdc\xdc\xf0\x05\xbd\xa6\x59\xbb\x0d\x0e\x82\x1f\x0a\xa0\x92\xd8\x81\xbb\x3c\x65\xf0\x83\x27\x01\x71\x6d\x8b\x67\x21\x77\x3f\x69\x78\xc4\xeb\x76\xc1\xa6\x34\x9b\xf6\x65\xd9\xed\x87\xc5\x1d\xef\xcb\x29\x8c\x25\x0c\xea\x30\x96\x33\x85\x4c\x49\x56\x01\x0e\xb4\x3b\x98\xb7\x41\x02\xb1\xd8\x92\x99\x9d\x90\x16\xc8\xb5\x1f\x89\xcd\x27\x19\x63\x51\x29\xf3\xda\x0a\xf5\x4a\x02\x4b\x9a\x24\x0b\xad\x90\xae\x54\xbb\x0d\xf3\x1a\x66\xd8\x75\xe1\x32\x4a\x5c\x4f\x87\xe3\x96\x5e\xdb\xa6\x3e\x18\x8e\x08\x3a\xfc\xd8\xbe\x92\xef\xa1\xd7\xbe\xa1\x15\x6f\x3a\xcd\xe8\x78\xaf\x1c\xbf\xe5\x35\xb1\x5b\xc0\xa6\x4f\xd8\xbd\xb9\xcd\x87\x3e\x61\x1c\x07\x71\x1c\x8b\x12\x3d\x28\xff\x53\x1b\xfe\x0c\xf7\x2c\x57\xe6\xa3\x2b\x6f\xde\x2b\x54\xb7\x45\x2b\x49\x66\x11\x43\xb5\xb7\xdd\xc4\xb2\xf2\x7f\xa6\x50\xaa\x6f\xa0\x2b\x7a\xf7\x81\x75\xe6\xdc\x4d\x51\x01\x19\x63\xf4\x5f\x45\x28\xb8\x03\x46\x59\x9f\x07\xcd\xf4\xba\x32\xf0\x87\xc4\x22\x26\x60\xaf\x62\x24\xf5\x41\x08\x11\x22\x27\x9a\x23\x67\x8a\x59\xb3\x9f\xfd\xb1\x17\x09\xfb\x5b\xe1\xba\x2e\xff\xc3\x3d\x46\x7a\x23\x16\x7f\x0b\x2f\xa1\x2e\xab\xea\xea\x72\x3e\x9e\xe5\x2f\x75\xec\x09\x5b\x95\x5a\x1c\x5c\x00\x19\x9e\xac\xfe\xe2\xfb\xa9\x19\xb1\xad\x9d\x2c\xdb\x7e\x45\xdb\xb3\x22\x97\x57\xf5\xaa\x98\x77\xb8\x25\x9d\x82\x79\x07\x2d\x52\x0e\xef\x72\x75\xfd\x3c\xcc\xb7\xdc\x6a\x31\xb2\xfb\x4e\x00\xe5\xaa\x01\x38\x9f\x53\x33\xb7\x0d\x5c\xcc\x27\xb8\x28\xf6\x44\x1f\xf8\x8f\xdd\x3d\x9a\xbd\x5d\x18\x7f\x2b\xd2\x6b\x2a\xf1\x24\xb9\x38\x62\x95\x4b\xec\x30\xc5\x2d\x21\xf5\x44\x21\x4b\xbd\x12\xd8\xd3\xbe\xf0\xc4\x17\x5e\x6a\x7a\xb4\x54\x8b\xd0\x2b\x14\xba\xa7\x98\xc4\xc2\x64\x6c\x24\xe9\x10\x4c\xac\xb8\xda\x20\xbe\x05\x93\x16\x3a\x9c\x43\x50\x5a\xba\x80\x41\x17\xd3\xf4\x94\xbb\xba\xab\x3a\x25\xf8\xd2\xfd\x38\x4f\x7a\x56\xe7\x54\x26\x3a\xdf\x40\xe4\xb2\x1d\xb1\xf5\x14\x24\x67\x03\x19\x9b\x58\x7b\xcd\x40\xb9\x10\x1a\xbe\x67\x5c\x9d\x99\xf8\x7c\xe7\x15\xdf\x77\x2f\x9b\x73\xb4\x65\x3c\x3d\xf5\x00\x84\x06\xf6\xa0\x27\xca\x89\x57\xdb\xf9\xcd\x23\xa4\x79\x7c\x0d\xe7\x6f\x63\xc8\x76\xb1\x7d\x54\x6a\x92\x96\x54\x07\xa5\x3a\x5e\xcd\x28\xee\x11\xf3\x57\x0e\xb7\x0f\xd7\x49\xab\x0b\x92\xb4\x08\x9c\xbc\x42\x9f\x71\x86\xdd\x1d\x80\xfa\x12\x64\x08\x01\x43\xfb\xa5\x93\x2a\x02\xc4\x67\x5a\xca\x67\x29\xa9\xbf\xf4\x18\xbd\x32\x44\x74\x77\x8c\xa6\xdc\x0c\x80\xf1\x28\x69\x61\x65\xc2\xb2\xb8\x4b\x2f\x90\x46\xcd\x10\x91\x97\xd6\x28\xb4\x66\x96\x6f\xf3\xdd\x00\x38\xda\x33\x9c\xc6\x6a\x98\x6a\x4f\x8f\xb5\x14\x04\x28\x9b\xe5\x3b\xde\x70\x11\x5e\x00\x35\x31\xf4\xac\x73\x32\x75\x06\x73\xe7\x5c\x10\x2b\xa3\xf3\x70\xd3\x72\x12\x3b\x49\x54\xd1\xb5\x64\x43\x1d\x83\x61\x5e\xde\x3a\xbe\xf4\x91\x01\xbe\x37\xbe\xed\x99\xd0\x2b\x31\x2e\x65\x20\x71\x13\xfa\x4a\x69\xda\xfa\x26\xcb\xb0\xb0\x0e\x47\x3b\xe0\x39\xae\xba\x6b\x3e\x6c\xd3\x13\x41\x0c\x47\xcd\x6e\xd8\x98\xdf\x64\x20\x8a\x64\x2a\x98\xc0\xaa\x53\xea\x6c\x4b\x76\xf7\xb6\x6c\xea\xce\xbc\x84\x49\x0c\x7b\x45\xd9\x7c\x14\x28\x15\xa5\x86\x76\x4c\xc4\xf4\x85\xa8\xf8\xee\x20\xf3\x73\xb0\xdb\xb4\x84\xdc\x13\x49\xd3\x03\x02\xbd\x1a\xe3\x9c\x25\x9d\xf4\x62\x61\xd6\xed\x60\x00\x30\x63\xd4\xa7\x47\x2d\x9a\x45\x37\xcb\x14\x97\xda\x13\x8d\x43\x60\xe9\x26\xd7\x50\xd8\xe6\xfc\x72\x17\xc2\xd2\xac\x81\x50\xe8\x36\x4f\x8a\xf8\xcc\x1a\x78\x4b\x38\x8d\x9e\x36\xc3\xee\xf9\x28\x19\xeb\x8b\x64\x97\xc5\x61\xde\xf7\xe4\x03\xa6\x6c\x9e\xc6\x03\xbe\xaf\x19\x6e\xe9\x65\x77\xb0\x24\x39\x0f\xdd\xd3\xe0\xd9\x35\xe0\xba\x34\xca\x6a\xd6\x72\xb8\x29\x0e\x4f\x8b\x12\x80\xe4\x0f\x1b\x7a\x3b\x29\x07\xfc\xeb\xf7\xed\x91\x39\x09\xd5\xd4\x9f\x45\x4d\xb4\x99\x0e\xef\x6a\x13\xcf\x40\x33\x12\x7e\x16\xba\x41\x33\x76\x43\xa2\x90\xc4\xe4\x69\x32\xbb\xd9\xf3\xed\x67\x0f\x35\xd0\xcd\x9d\x3d\x0b\xbd\x9d\x00\x8b\x0a\xcf\x6d\x2c\x32\x1a\xc9\x68\xaf\x9c\x2d\x47\x83\x9f\x3f\xa5\x25\xa9\x3a\xa4\x11\xf9\x38\xd3\x12\x38\x65\xe2\x94\x77\xa1\xc1\x4e\xda\xab\xb8\x68\x06\x90\xb6\x00\xff\xaa\xd6\x53\x48\x32\xbe\xc6\x1c\xe8\xe8\x95\x26\x4b\x83\x28\xf2\xcc\xc1\xca\x7d\xbe\x27\x62\x30\x5b\x6c\x29\xd3\x32\xaf\x8e\x4a\x7b\x7d\x87\x72\x15\x92\xe0\xf1\xa5\xe6\xc3\xd2\x4d\x05\x9d\x9b\x32\xd8\xb3\xba\x66\x55\xaf\x15\xb4\x6a\xec\xa1\xd7\xbd\xed\x27\xd6\x6c\xc8\xac\xee\x79\x39\xda\x0b\x1e\x91\x46\xf9\x94\x34\x00\x18\x9c\xca\x7d\xc8\xa0\xe2\x06\xa7\x5f\x9f\x0e\xba\x67\xdb\xbe\x87\x02\xa6\x87\xc1\x01\x4c\x36\x4d\x53\xdc\x75\x82\x0e\xe3\x42\xf6\xb3\x09\xa6\xb8\x74\xf3\x90\x83\x39\xee\xf0\xa4\x39\x18\xfc\xfa\xe9\xe0\x1b\x04\x74\xd5\xc5\x57\xd6\x4b\x46\x11\x72\xe3\x20\x18\x15\xa9\x08\x69\x87\x10\xfc\x35\x76\xc2\x31\x93\x9f\x60\xec\xae\x80\xbb\xe3\x0c\x6c\x79\xe1\x9e\x72\x2d\x1f\xf8\xec\x5c\x92\x0b\xbd\x86\xc4\x76\x69\xba\x09\x09\x37\x3c\x5a\xca\xf4\x68\x91\xcf\xf4\x68\x69\xed\x2a\xc6\x10\x5e\x45\xf7\x28\xc9\x92\xd9\xc8\x9d\xac\x4d\x6e\x8b\x45\x22\x90\xf2\x86\xd3\xfa\x2e\x72\x61\xf1\x70\x49\x84\xf5\xee\xf8\xf3\xd3\x92\x1b\x8e\x93\x17\xb7\xbe\x23\xad\xef\x69\x7d\xba\xa7\xab\x71\x87\xa2\x09\xa1\x9c\x67\xba\x9a\xfe\xb6\x74\x35\xd7\xb6\xe4\x83\x34\x3c\x3e\x18\x8e\x66\xfa\x4e\xd5\x7c\x99\x74\x97\x67\x6d\xaf\x1c\x0c\x9d\x72\x32\xa7\x67\x25\x88\x9b\x91\x82\xda\xf8\xdd\x9f\x23\x64\x77\x85\x39\xe2\x83\xad\xc6\x97\xee\xb3\x88\xc2\x00\x0f\x99\x6e\x34\x28\xda\x84\x9d\x0a\x7b\xba\xb8\xfc\x59\xfa\xd4\x7c\xa1\x92\xc2\xe7\x3b\xcc\xd5\x9e\xa5\xac\x0a\x71\x6c\x69\x91\x56\x75\xc2\x57\x68\x87\x90\xde\x59\x59\x09\x8b\x65\xe2\xb3\xd2\x5d\xbd\x47\x9b\x72\x2f\xa8\x73\xb4\x99\x7a\x9a\xc9\x90\xc4\x8d\x0f\x02\x20\x08\xfe\xce\x00\x4a\x85\xde\xe7\x9c\x90\xdf\x51\xcf\x29\x78\xd2\x7b\x40\x50\x51\xf1\x69\x66\xab\x13\xb9\x0c\x93\x5c\x50\x34\xb3\x89\x2b\x9c\xce\xd0\x6f\x47\xb3\xe4\xda\x54\xc1\x69\xd3\xb6\x9b\x52\x37\x73\x82\x9d\xc1\x74\xf0\xa6\x5c\x82\x41\xb8\x9e\x43\xce\xed\xa3\x5d\xd6\x2a\x42\xa6\x6c\x29\xd0\xe1\x6a\x08\xfc\x74\xef\x35\x80\x6f\x32\x19\x0c\x1e\xd5\x78\xb6\xe6\x0a\x40\x11\xe1\x11\x4b\x2c\x9b\xc1\x89\xbb\xef\xa3\x18\x6c\x5d\x79\x28\x33\xa7\xe0\x6b\xbd\x4f\xd6\xfb\xe4\x92\x4a\x2a\xf1\x8c\x80\x4a\xd4\x40\x5b\x43\x7d\x56\x5b\x99\xb5\xa5\xcb\x56\xb6\x27\x05\x7e\x36\x96\x57\xb5\x3d\x6b\x64\xd2\x7a\xae\xab\xcc\xf6\xe0\x80\xfe\x7a\x7c\x26\x18\x61\x11\x40\x63\xec\xb0\xf3\x61\xe2\xce\x87\x84\x81\x0a\x6d\xfe\xcd\x9e\x23\x5e\xe5\xa2\xde\xfb\x35\x3a\x9e\x8e\x3d\xdc\x57\x93\x6e\xf2\xda\x78\xad\xd4\xd6\x6c\xa9\x6b\x2b\x14\xa9\x3b\xfc\xfd\x06\xa7\x62\xa5\xa8\x73\x1a\xd9\x99\x92\x64\x20\x20\xa9\x59\x26\x56\x04\xf6\x6c\xdd\xfc\xb3\xa1\xb1\xbe\x54\x06\x0f\x62\x83\xc7\xd7\x09\xdd\x12\xc0\xb1\xf4\x9a\x91\x11\x51\xf2\xd9\x5a\x87\xc0\x9c\xe2\x68\x2c\xc5\x90\x07\x95\x89\x28\x24\xe7\x52\x6d\x67\xd1\x9e\xa3\x75\x61\xff\x98\x7b\x3d\xa3\x09\x68\x98\x9d\xb5\x68\x20\xd2\x41\xcf\xe6\x6f\x61\x76\xc9\xab\x3b\x1a\xf5\x1d\xe0\xaf\x15\x3b\xaa\x53\x3b\xca\x5a\x33\xcf\xb0\x88\x58\x1a\x95\xa9\xfa\x79\x74\xf3\x1d\x9c\xbb\xe1\xe2\x8c\x88\x56\x65\x67\xce\x78\x03\x34\x41\xb9\x8f\x0c\x90\xee\x44\x82\x94\x63\x20\x89\x79\xa6\x4e\x17\x25\x6d\x33\x2a\x75\xff\xa6\xa2\x87\x57\x8e\x66\x28\x3c\x73\x4d\x4b\x06\xc8\x75\x3a\x07\xae\xe9\xc5\xe9\x39\x7d\x9d\xae\xde\x4f\xa3\x9f\xf5\xf0\xbb\x1b\x45\xde\x66\x36\x21\xf3\xb1\x9c\x7f\xba\xfd\x6e\xda\x30\x4e\x1c\x0f\xd7\xcb\x2e\xdb\x37\x7d\xb3\x2d\xac\xfb\x76\x95\x55\xff\x6e\x94\x23\x94\x61\x00\xde\x75\x8d\xa1\xc7\xdf\x5b\x6a\xcb\xe0\xf9\xd4\xa3\x27\x95\xf5\xa4\xf7\xdc\x57\x73\x05\xcf\x42\xa2\x5b\xa4\xd4\xbe\xc1\x56\x2a\x48\xa3\x30\x08\x45\xec\x13\xd8\x3b\x86\xa7\xf9\x66\x59\x78\xe8\x9b\xa9\xae\x96\x5f\x9d\x3c\xc5\xbe\x19\x2e\x2c\x22\x0e\x39\x53\xe0\x21\xa1\x4d\x85\x51\xd7\xa0\x79\xc2\x04\xc1\x12\x8f\xa4\xab\x9e\x6b\xc0\xf6\xcf\x06\x94\x20\xac\x82\x11\xed\xcb\xca\x4c\xb0\x65\x27\x87\x7b\x79\x4f\x1b\x3a\xc1\x11\x10\x5b\x2d\x53\xcb\xd3\xe6\xcb\x08\x51\xb0\xdc\xd9\x6c\x31\xc5\x15\x90\x31\x97\xb0\xd5\x88\x2c\x0e\x88\x36\x75\x68\xa1\x23\xb7\xee\x9e\x5e\x00\xbe\xaf\x03\xf0\xbc\x6d\x8a\x07\x9c\x2d\x44\xbb\x6d\x68\x8f\x41\xe6\x58\x9e\xf2\x90\xa3\x65\x33\x0f\xa9\x6d\x96\x6d\x62\x01\x22\xd0\x0e\x8f\x71\x45\x3d\x69\x1e\xe3\xc3\xa4\xfe\x64\x19\x3f\x1c\x78\xcb\x50\x9e\x71\xb6\xf4\x33\x67\xa8\x37\x19\x30\x4c\xc8\x09\xa9\x02\x08\x9c\x7a\xf3\x39\xe8\xd3\xe7\x55\xf7\x59\xb5\x44\xab\x3b\x78\xe5\x61\xd6\x3e\x66\xe5\x09\xe6\xcd\x44\x99\x86\x3b\xe1\x93\xb6\x5c\xea\x56\xb2\x45\x59\xf5\x38\x93\xf8\x73\x9c\x81\x57\xda\x14\x6c\xac\x6d\xea\xf2\xcc\x6e\x53\xd6\x52\x29\xd2\x68\x96\x5a\xa3\x42\x78\xf2\x6c\x07\xd2\x37\x68\x6c\x33\x8e\x18\x68\xd6\x96\x54\x11\x6b\x95\xa6\x88\x60\xac\x61\x9e\x2c\x59\x56\x19\xcd\x02\x74\x3e\xc4\x27\x5b\x1d\x48\x19\xab\xd3\xef\x2c\x68\xb6\xef\xa7\x98\xce\x96\x54\x2b\x13\xbb\xf0\x20\x24\xd8\xe6\x65\x68\x1f\x10\xf1\x32\x74\x31\x1e\xd1\xcd\x33\x2d\x4a\xbb\x46\x87\x41\x28\xda\xbe\x93\xc2\x71\x7a\x7a\x4b\x9e\x5e\xba\x4f\x3e\xbf\x01\x97\x5c\x29\xe6\x85\xd9\xde\x89\x73\xa3\xeb\x17\xc7\x88\xb6\x64\x94\x88\xbf\x3c\x0d\xd7\xe7\x03\xe0\x58\x42\x80\x57\x25\x22\x7a\x99\x62\xd6\x24\xa2\xf7\x49\xbf\xbd\x5c\x47\x93\xf1\x6b\x59\x24\x5f\x4f\x52\xb4\xa3\x08\x1d\xfb\x38\xcd\x94\x8c\x6f\xaa\xb6\x79\xad\xed\x9e\xfb\xa1\x39\x48\xa7\x7b\xa0\x3b\x7c\x1f\xcd\xe7\xc8\x6f\xbe\xd7\xab\x04\x66\x18\x1b\x6d\x18\xc3\x4d\x66\xe6\xe9\xf7\xc4\xfd\xfb\xf1\xfb\x6a\x36\x7f\x28\x82\xd7\x60\x6f\xbe\xc8\xec\xef\x87\xae\x3e\xb3\x1b\x9b\x3d\xdf\x0f\x7e\x1b\x96\x31\xc3\x2d\xc7\xcc\x4a\xdb\x9e\x21\x10\xc9\x45\x67\x74\xe5\x2d\xbe\xbb\x0e\xef\x19\x29\xf7\xf4\xb4\x6d\x47\x57\xba\x9c\xa4\x57\xcb\xe6\x89\x40\x11\xb3\x94\x31\xa9\xf7\xbd\xee\x7b\xfb\x96\x87\xec\x99\x94\x18\xf8\x3a\x91\x1c\xfa\xfd\x89\x43\x3e\x5f\x39\xec\xff\x62\x43\xd6\xbf\xe5\x21\xbb\x50\x59\x8a\x2f\x03\x5b\xca\x6b\x44\xf5\xb6\xd2\x07\xc3\x31\xbe\xe5\xe1\xc8\x33\xcf\x20\x17\x4b\x30\xc8\xae\xb7\xb3\xfe\x97\x32\xd3\x10\xea\xfd\x63\xcf\x96\x11\xbf\xd5\x8e\xee\x0a\x95\xe6\xd3\xd6\xae\xe2\x8f\x66\x6c\x4b\x8a\x6b\x48\xfd\x82\xe2\x92\xd3\xcc\x98\xc2\xb1\x1b\x6c\x45\x6c\x5b\x05\xf4\xe3\x89\x93\x8d\xc6\x63\xba\x5a\x20\xa4\xb7\x6d\x7f\xae\x9d\xb2\xe8\x4b\xfa\x8e\x55\xa3\xb5\x58\xd5\x39\xe1\x73\x47\x43\xc9\xdf\xea\x50\x7e\x81\x8d\x3a\x1d\xc7\x4f\xd9\xa6\x93\xae\x9f\xf1\xfd\x55\x36\xe4\x5b\x1d\xb1\x99\xb5\x53\x76\x93\x46\xba\xde\x9d\xdf\x3a\x2c\x97\x14\xf7\x9f\x46\xca\xbd\x6f\xc4\xd2\xb7\x3a\x62\xc5\xc4\x6a\x07\x8b\xbb\x3a\xd0\x80\xe8\xe6\xca\xf2\x17\x91\x87\xe9\xad\xc3\xd8\x22\xef\x65\xe8\xcd\x63\xf5\x1c\x6d\x7c\xf0\xca\xe6\xcf\xe5\xa9\x17\xdb\xc6\xfd\x12\xad\x0f\x27\xa6\xde\x3d\x50\x5c\x1c\xca\xf6\x72\x79\x55\x20\x5c\xbd\x17\x2e\xb5\xf9\x25\xb0\xd7\x2c\x53\xa0\x3e\x07\xfe\xaa\xbd\x96\x9b\x7d\x7b\xdb\x2f\x2e\x0f\x2f\x6f\xcc\x5a\x76\xa7\x3d\xa4\xed\xf1\x69\xe2\x63\xa7\x3d\xde\x9d\xf6\xf8\x13\xa7\x3d\xde\x9d\xf6\xf8\xa6\xd3\x1e\xef\x4e\x7b\xfc\x89\xd3\x1e\xbb\xd3\x5e\xbf\x0e\xa3\xdb\x95\x28\xfb\x09\xbb\x2b\x41\x94\xd4\x2f\x3a\xa4\x37\x4c\x57\xf9\xd7\xe9\xfa\xe5\xa6\x0b\xa3\x8f\x0c\x69\x2a\x8a\x4f\xce\xd1\x05\xb7\xab\x59\x73\x2b\x1d\x5f\x2f\xc8\x74\x75\x86\xbc\x82\x0b\x7a\x30\xa5\x17\xd3\x5a\xd2\xa3\x74\xac\x0c\xcc\x7c\x89\xbb\xc6\x7e\x63\xd7\xf2\x03\x08\x2d\xc3\x54\x33\x22\x71\x9e\xb3\x1f\x0b\x85\x0e\xa5\x8b\x61\x0a\x6e\x61\xbf\xd8\x9f\xa9\xec\xd9\x2f\x96\xd7\x1b\x99\x6f\x5e\x42\x53\xbe\x62\xc6\x36\x2f\x44\x91\x35\x74\x83\x06\x4b\x95\xcc\xdf\xb8\x54\xe2\x54\x0d\x7e\x6a\x50\x4e\xc4\x06\xb4\x1d\x3b\xe0\xcf\xd6\x20\x00\xfe\x11\x42\x66\x0a\x84\x93\x0e\xe2\xae\x62\xb2\xb9\x53\x6c\xfa\x47\x1e\x4f\x8f\x45\x0a\x8c\x41\xcf\xd3\x2b\x84\x99\x5f\xe1\x2a\x7f\xc0\x75\x86\x85\x30\x53\x2c\x58\xf2\x00\xcf\xf1\x80\xac\x91\x7b\xfe\x0d\x87\x09\x43\x02\x01\xcb\x11\xe1\xcf\x0d\x46\x1e\x4e\xc2\x33\x85\xc0\xb3\x0c\x02\x7b\x02\x81\x37\xe4\x0f\x18\x7d\x9f\x53\x79\x3e\xa7\xbc\xcf\xe8\x65\x3e\xe1\xfd\xda\x07\x71\x99\xc0\x97\xb1\xce\xf9\xac\x3a\x8d\x36\xa4\xc0\xb6\xa8\x3a\xe0\xc0\x77\x33\xe4\x12\x65\x62\x5b\xa7\x54\xe3\x25\xd1\x05\x3b\x6e\xa0\x43\x92\xc0\x1d\x97\x29\xa4\x5a\x4e\x61\xac\xa1\x0d\x9b\x35\x98\x3e\xda\xbe\xd4\xde\x38\x73\xfd\x7a\xe6\xa0\x70\x31\xad\x23\x26\x0f\x4a\xa4\x01\xbf\xd0\x9a\x84\x72\x6d\x9e\xc1\x41\xfa\xcc\xe0\xe0\x93\xb3\xed\xc9\x1e\x2c\x51\xc3\x55\x9a\x8d\x4b\x86\x88\xed\x92\x37\xe2\xd3\x6c\x12\x7b\x32\x89\x3d\xd9\xc6\x8b\x54\x12\x20\x06\x9b\xd1\xd5\x8e\xd7\x4c\x98\x70\x6d\xcc\x40\x96\x58\x03\xd2\xdf\xdc\x8a\x74\x14\xa2\x30\xc6\xb5\xf2\xc5\x57\x36\x44\x0c\x69\xee\x69\xd7\x5e\xfe\xa1\x7c\x4d\x42\xcc\x45\x44\x9a\xb6\x74\x29\x13\x9e\xbd\x81\xbf\xf2\x15\x42\xf1\xbd\x25\xe8\x46\xd9\x3b\x6b\xb9\x1c\x6c\x3b\x12\xe3\xf3\x14\x17\x63\x1d\x86\x0b\x63\xb0\x40\x4a\x7c\xc3\x33\x2c\x94\x87\xb2\xf6\x81\xc4\xb9\x86\xa9\x06\x2c\x18\xc3\xe5\xe4\x52\x8c\x38\xeb\x6e\xcc\x60\x8b\x34\x72\x28\x42\x31\xe8\x46\x81\x8f\x5a\x41\xd1\x96\x1d\x23\xc8\xa0\xec\x76\x48\xbc\x82\x98\xa4\x62\x19\xfb\xc0\xf0\xe8\x66\xc3\x77\xd2\xd6\x4d\xae\xf3\xa6\x4a\xed\xac\x75\x00\x20\x26\x79\xc5\x7a\x01\xad\x79\xf4\x26\x90\x21\xeb\x19\xb2\xbd\xd8\x3a\xe0\x4e\x59\xc9\x1d\x47\x1c\x53\x00\x4a\x53\x2d\x2e\xf3\xc0\x17\xb4\x65\xba\xbc\xb2\x5d\x6a\x5a\x8b\xa7\xab\x80\x92\x95\x02\x03\x2e\x9f\x89\x01\xf4\xaf\x8b\xc0\x08\xcf\x80\x6d\xe1\xb7\xc6\x47\xfb\x89\xc4\x0b\xa0\x08\x47\x83\x9a\x45\x06\x31\x00\xd1\xdb\x9c\x48\x8d\x0f\x65\x03\x4e\xd1\xc0\xee\xb0\xdf\x5c\x2d\x03\x1c\xc2\x7b\xf9\x6a\xd4\xc5\xed\xdb\xe9\xf2\x87\x5d\x5b\x31\x1b\x07\xc7\xba\x07\x3c\x2d\x94\x75\xfe\x19\xfd\xca\xd5\x9d\xb5\x27\x60\xed\x5c\xde\xdc\xae\x6a\xbc\xfe\xd2\x75\x1b\x9e\x1e\x73\x83\x03\x5f\x71\xdb\x67\x87\x3f\x31\xf2\x9f\x21\x67\x48\x34\x82\x12\xb7\x81\x88\xe7\xa0\x1e\x00\x15\x42\x94\xb2\xdd\x49\x6e\xab\xe7\xbc\xa4\x4a\x61\x20\x91\x38\x3c\x0d\xcd\xb0\x2b\x83\x44\x56\x69\x34\x2a\x8d\x4e\x5c\xeb\xda\x22\x35\xd6\x2b\x1a\x7d\x65\x26\x03\x0a\xf2\xdc\x7e\x9e\xfc\x61\x09\x03\xe9\xc5\x0d\xc5\x89\x33\x02\xdc\x1a\x99\x66\x3e\x3f\x3d\x16\x16\x1a\x32\xf3\x85\xc3\x7f\x38\x00\x6a\x0c\xc6\x98\x3e\xe9\x7f\xc3\xbf\x7e\xcb\x1a\x9e\x08\x8a\xff\xcd\xac\x47\x8b\x76\x76\xac\xfa\x80\x30\x04\xb0\xec\x8b\x8a\x15\xb4\x72\xa7\xd2\x2d\xe3\xc3\xe8\x50\xbb\x2b\x95\x75\xcb\x8a\x82\xc4\x16\xd6\x66\x42\x78\xe0\xa5\xc5\xf2\x5a\x8b\x9b\x63\x39\xd9\x08\x0e\xdf\xae\x1d\x0e\x14\xd7\x9b\x5f\x87\xec\x79\x2a\xf6\xc7\xdb\xf5\xf5\x75\xa1\xab\x97\x2d\x47\x09\x5f\x5e\x65\x4b\x17\xd7\x81\xc0\xc7\x40\x96\x75\x87\x04\xf0\x80\xdd\x10\x96\x3c\xa3\x38\x38\x4a\x84\x06\x06\x04\x1d\x21\x15\x27\xc6\xab\xed\xd0\x6f\xe6\xe8\xba\x0c\xdd\x00\x56\x83\x72\x84\xa9\x04\x21\x02\xe6\xfd\x95\x61\x9f\x1e\x24\x6b\x47\x9e\x0e\x9b\x0a\xcc\x04\x26\xc2\xe6\x21\x5b\xa2\x13\xcf\x90\x61\x69\x4c\xf2\xa2\x74\x37\xdc\x4f\xa3\x13\x4f\xbf\x14\xde\x41\x9e\x80\xaa\x28\xab\x45\xcd\x29\xad\x01\xdf\xb8\xae\xe6\x11\xc9\xf8\x43\xef\x5a\xdb\xd3\x0c\x49\x30\xa8\x58\x73\x2a\x90\x67\xed\x4f\x9f\xb6\x9f\xd0\x81\x4e\x0c\x7e\x20\x65\x8f\xa1\xf4\x33\x19\xab\xc0\x16\x01\xd0\x29\xad\x0f\xe9\xba\x0f\x15\x78\x5c\xda\x87\x46\x7c\xb4\xaf\xc8\xd5\xa9\xd6\x77\x89\xb3\x2b\x5f\xdb\xa7\xd1\x37\x4f\xdd\x6b\xea\xf1\xdc\xca\x2d\x76\xe8\x54\x9a\xeb\xe9\x6d\xcc\xc6\x15\x16\xc6\xd3\x2e\xc7\x73\x95\xeb\x40\x05\x77\x91\xd7\xdb\x2f\xfc\x81\x8a\x98\xe1\x60\x94\x83\x53\x3f\x8d\xe2\x5f\x13\xd1\xd3\x73\xdc\xe3\x21\xc6\xe1\x2e\x9b\x5e\x1b\x8d\x22\x9e\xc8\x00\x60\x48\x05\xc2\x41\xd1\xf3\x7f\xbc\x6f\x24\x7a\x15\x73\x1f\xd0\x3e\x5f\x74\x00\xf3\xd6\x25\x4c\x22\x77\x1b\x81\x72\x34\x02\xa5\x9c\x74\x5a\x42\x9f\x1f\xeb\xf0\xa4\xbb\xc7\x4a\x95\x73\x8f\xa7\xc3\xdc\xee\x12\x2f\xe6\xbb\x2a\x6e\x17\x9a\x2d\xe6\x78\x11\x8f\xec\xfc\x4d\x9f\x34\x7f\xba\xb2\xc1\x53\xa9\x91\x41\xc9\xc9\x36\xd1\x7e\x1f\x66\x2a\xa7\x14\xb7\x66\xeb\xfd\x4a\x46\xde\xcd\x83\x3a\xf2\xe7\x6c\xae\x37\x96\xa1\xbd\x19\xd3\x2a\x86\x34\x69\xf5\xa1\xba\x1c\x49\x4c\x94\x53\x79\x4c\x32\x9c\xd1\x90\x1e\x3c\x9e\x42\x8f\xa6\x04\x2e\x13\xeb\xe5\x50\xce\x96\xf8\x2c\xb1\x3d\xbf\x29\x7f\xee\xe9\xe3\x91\xc0\xf7\x12\x03\xdc\x73\xfb\x3b\xf6\xb4\x04\x79\x78\x74\xee\x91\xad\xad\x5f\x42\x53\x8f\x91\x4a\x8d\xd3\x8e\x94\x17\xc9\x95\x24\xab\xa4\x21\x95\x92\xd4\x73\x92\x7c\xd3\xd8\xb7\xbb\x10\x56\x01\x56\x2f\xc7\xba\x21\x46\x20\x67\xb8\xce\x00\xfe\x46\x6f\xe4\xbc\x01\xb1\xae\x3e\x3d\x66\x24\xc6\x8e\x97\xbd\xe3\xcc\x55\x2e\x9a\x32\xfc\xd6\x03\x98\x0b\x89\xcf\xe2\x1b\xff\x65\xcc\x68\x7f\xe3\x84\x16\x78\xff\x5c\x1b\x7b\x26\xd0\xbe\xaf\xbc\x2d\xec\x6b\x31\x5c\x2d\xd0\x80\x25\x7b\x1f\x96\xb6\x1f\x58\x76\xdf\x33\xd9\x2c\x1f\x9e\xed\xb1\xaf\xdf\x0e\xd4\xcb\xa5\x26\xcb\x00\x95\x57\xa4\xe4\x42\x30\x49\x2d\xee\x1d\x03\x91\xf4\x14\x58\x5a\x5d\x43\x36\xc0\xfb\x68\xba\x80\x46\x5a\x0a\xaf\xdb\xdb\x42\x69\x50\xc9\x94\x06\x32\xd6\xa7\xa1\x87\x5b\xb6\x0d\x52\x62\xbf\x0a\xde\x74\x96\xa5\x9b\x87\xc9\x62\x50\x92\xb2\x9a\x5f\x92\x78\x42\x7c\x9d\xd1\xb6\xd3\x4b\xc9\xee\xd7\xd8\x26\xad\x18\xfa\xb8\xbf\x6f\xaf\x0b\x38\x65\xf3\xa9\xf3\x18\xd1\xdd\x68\xba\xab\x9e\xe8\x0d\xba\x27\xe1\x1d\xb1\x11\x50\x59\xfa\xe6\xa1\xc2\xe5\x92\x10\xf6\xc6\xc9\x22\x87\x42\xfa\x9e\xb3\xf4\x53\x5d\x0a\x5a\xd0\x7f\xf5\x06\xd0\x55\x0b\xfa\x57\x69\xc1\x55\x03\x5c\xe7\xf5\x4b\x7f\x9f\x0e\xe7\xe0\xd7\x68\xc1\xcd\x06\xf4\x5f\xa1\x01\x74\x6f\x0e\xe4\x6b\x2f\x83\x5f\xa6\x01\xf4\x19\x73\xf0\x35\x87\xe0\x60\xb7\xe2\x67\x70\xda\xd7\x5e\x20\x17\x24\xce\x54\xfc\x4c\xe9\x06\xd2\x3c\x76\xb9\x6b\x20\xff\x15\x10\xe4\x93\x18\x28\x31\x14\x23\xf0\xef\xce\xa7\xd0\x9a\x00\xc2\xba\x30\x6e\x72\xca\x28\x8d\xc2\x02\x9c\x5d\xd4\xa3\xd5\x6c\xa8\x1c\xa8\xd6\xa9\x5c\x61\x81\xce\x36\xf1\x95\x4b\xc5\x17\x75\x57\xa3\xe9\xaf\xd6\xdd\x0e\x91\xbe\xa8\xbf\xda\x17\x74\x57\x13\x7e\x96\xca\x1b\x2e\xd1\x11\xfe\x03\x17\x16\xa5\x4f\x16\xe5\x04\x8f\x5d\x63\x21\xfa\x64\x21\x50\x72\x82\xd8\x25\x3b\x9e\x12\xe7\x95\x2d\x43\x2a\xa2\x44\x21\xe8\x74\xc8\xd9\x52\x4e\x49\xba\xf1\x41\xee\xa6\x6b\xe1\x98\x7b\x96\x8b\x25\x98\xcf\x6a\x56\xfe\xb5\x75\xfd\xb3\x03\x78\x39\x20\xc9\x27\x64\x7b\x38\xcc\x66\xcb\x06\x89\xfa\x82\xe5\x26\x4a\x24\xc8\x34\xd4\x91\xd2\xaa\xd8\xa4\xb6\xd7\x27\x95\xde\x36\xab\x1e\xa6\xe3\x99\xc0\xa7\x2b\x22\xd2\xa6\xef\xf2\xe0\x71\x18\xd0\xd7\x9d\xdf\xe7\x6e\xc1\x9d\x2d\xc4\x80\xa5\x53\x28\x69\x03\x9c\xa0\x74\x60\x95\xdb\xc5\x7c\x82\x0b\xfd\x2d\x49\x4b\x6f\xfe\x63\x77\x9f\x1e\x6b\x14\x6a\xa3\x9f\x72\x5d\x91\x7a\xc8\x13\x65\xf5\xc9\x0b\xc1\x30\xb2\x1a\xdc\x36\x7c\xbd\x7b\x3a\x05\x15\x37\xd2\x20\x8e\x4d\xef\x71\x4f\x6b\xa4\xd2\x8d\xc9\x82\x21\xc5\x4c\x80\x1d\x80\x4d\x5f\x60\x45\x26\xc2\x1a\xfc\xe5\x3d\x48\xbf\xe8\x8c\xe5\x4f\x56\xa4\xca\xe5\x06\x10\x07\x93\x28\xf4\x57\x92\x2c\x2c\xc6\xf2\x05\x61\xa4\x3b\xed\x49\x59\x4c\x43\x6c\x80\x22\x9e\xdf\x0c\x7f\x5c\xa5\x6e\xc1\x8d\x35\x52\x15\x4a\x99\x38\xa7\x85\xc1\xf9\xeb\x85\x69\x93\xcd\x2f\x9e\x2b\x72\x13\x48\xa5\x9a\x48\xea\xaf\x31\xf5\xf4\x25\xe6\xfe\xb7\x38\xf5\xcf\xfc\x06\xc4\x95\x21\x81\x2b\x9f\x03\xa7\x71\x9a\x19\x01\x8b\xa3\xa1\xc0\x33\xac\x44\x0a\x03\xa6\x9e\x44\xa1\x09\x12\x47\x54\xe4\xae\xb3\x38\x1d\x3e\x85\x92\x22\x12\xea\xea\x41\x6a\xa9\xf1\x5a\xdb\x37\x5d\x6e\xc8\x56\xa6\x13\x9d\x67\x28\x11\xa7\xe9\x23\x80\x5c\x56\x96\xe1\x28\xb3\x76\x71\xf4\x5f\x6e\x72\xe8\xdb\x9e\x9d\xfa\xc9\xc2\x3c\x90\xe6\x5b\x5f\x91\x5c\xbe\x52\xb3\x79\x31\x0f\x3e\xf7\x53\xd8\xed\x82\x25\x13\xbc\xf4\xe2\xd6\x12\x35\x39\xb7\x7e\x10\x30\x34\x23\x45\x73\x8c\x6b\x81\x1d\x10\x9e\xfa\x6d\x6b\x42\xa1\xa5\x53\xe0\x26\x57\x4e\x71\xfc\xa9\x9f\xdc\x27\xb7\x70\x32\xa7\xa9\xdb\x67\x4f\xa8\x61\xa1\x22\xa5\x3b\x22\x19\xc1\x38\x15\xfd\x39\xcc\x1a\x9b\xbd\x81\x1b\xee\x33\xde\x3d\xe3\xb5\x55\x72\x29\x7a\x34\xa4\xcf\x92\xe2\xf2\xdd\xa4\xb8\xbb\x23\xd8\x91\x32\xe7\x4e\x7e\x5c\x77\x09\xbb\x1d\xe9\x5c\x40\xdb\xe3\x90\xb1\xbe\xcb\x57\xf7\xb4\x08\x30\xfc\x24\x9b\x4d\xdd\xac\x53\x9e\xfa\x32\x79\x22\x38\xb7\xfd\x9b\xd5\x01\x46\xb9\xb4\x84\xde\xa9\xf7\x53\x28\x92\x97\xd0\x1b\x85\xde\xdd\x33\x22\xb9\xbe\x22\x99\x42\xc1\xf7\x78\x4a\xb2\xe9\xbf\xfc\x50\xf0\x49\x91\xac\xdf\x1f\x47\xea\xe8\xdb\x72\x45\xc9\x70\x4f\xbb\xf2\xc8\x4e\xda\x8e\x8b\x4b\x8d\xe4\xa3\xf9\xfc\xc4\xd7\xb8\xc7\xe8\xa9\x3b\x2e\x34\xb5\x5d\x11\xdb\x45\x30\x38\x84\x22\x95\x7b\x10\x90\x5f\xaa\x0a\x47\x4d\xbc\x49\xcb\xf0\x1b\xac\x13\xb2\xe7\xc5\x06\x40\xcf\x76\x00\x53\xb6\xbb\x0f\xea\xc1\xaa\xf6\x34\x50\x93\xa8\x0e\x23\x86\xee\x92\xf6\xe9\x82\x8e\xfe\x65\xeb\xbc\x3d\xe9\x32\x05\xbe\xdc\xa3\xc5\xe3\xd7\x2e\x14\x6a\x4f\x48\x84\x9f\xfe\x3f\xea\xae\x2d\xc7\x71\x1c\x48\x5e\x25\x2f\xc0\x1a\x66\x92\x4c\x92\xc0\x62\x6e\xd0\x87\x18\x60\xb7\xd7\x1f\xc2\x2e\x84\x11\xfc\x51\xa7\x5f\x64\x24\x29\xb9\x1e\x96\xdd\xdd\x85\x99\xde\x8f\x99\x56\xd9\x96\x44\x51\x7c\xe4\x23\x32\x82\x29\x8d\xc4\xfc\x16\xe6\xd1\x41\x37\x72\x09\xb9\xf1\x12\x0a\x57\x2a\x6c\x86\xbc\xe0\xe7\x49\x08\x67\x8c\x7f\x17\xe9\xd6\x5d\xba\xfa\xd5\x90\xe5\x4f\xbc\x55\xf7\x1e\x91\x00\x6c\x54\x7b\x5e\x52\x46\xd5\x98\x2c\x29\x26\x4a\x31\xbb\x42\x64\xca\xec\xbb\xd6\x1c\x92\x8f\xb6\x89\xfe\xd3\xbb\x84\xec\x94\x40\xb1\x54\xd2\x5c\x97\xc0\xad\x53\x71\xa1\x66\xc0\x73\x2a\x0a\xd8\x36\xd4\x1e\x12\xe7\x37\x14\xbf\xf8\x0c\x44\x1d\xce\xa1\x98\x92\x9f\x1f\xc6\x05\x20\xf3\xe6\x5f\x0c\xf5\x2f\xce\x17\x95\x72\x5b\xf0\x7f\xf3\xa6\x6f\x1e\xf1\x78\xb9\x37\x71\x6d\x10\x31\xcc\xf2\x5a\x6f\xce\x86\x50\x66\x7a\xfd\xd6\x7a\xa5\x78\x09\xa5\x97\xb3\xae\xf0\xf0\xf7\x7d\x1e\xe0\x4b\x6e\xd7\x74\x0b\xd3\xce\xf5\x17\xe3\xf9\xa7\x80\x19\xc9\xbb\x6c\xd9\x6d\x76\xf0\x11\x6c\x29\xd5\x72\x2d\x9d\x07\x1a\x28\xc6\x6b\xcb\xf7\xd2\x86\xe9\x48\x1b\xca\x87\xb4\x61\x1e\xab\xc3\x73\x77\xd5\xd3\xe8\x4b\xbf\xbb\x4c\xdf\xb4\xa1\xde\xe2\xe1\xe5\xb4\xfc\x4a\x64\xd7\xb2\x68\x99\x38\xf6\x72\xe1\x5e\x86\x3f\x98\x01\xbb\x83\xd1\x97\xcd\x82\xdf\xda\x01\xea\xd8\x86\x12\x58\x16\x78\xf5\x4e\x6c\x17\x24\x62\x7a\x73\x24\xe8\x99\xe9\x54\x43\xcd\x00\x3d\x44\x73\x2a\x50\xbe\xca\xab\x8d\x59\x24\xe2\x29\xa7\xb5\x50\xf3\xca\x75\x66\xc7\x55\x8c\x04\x23\xeb\x3a\x04\xa8\xe0\x33\x44\xc0\x23\x82\xd9\xb4\xd9\x79\xa9\xd0\x77\x31\x3b\x40\xe5\x12\x54\xc0\x26\x58\xa6\xca\x04\x57\x20\x1b\x1d\x01\x6a\x97\x90\x94\x71\x09\x19\x14\x2d\x00\x67\x0e\xa5\xe3\x0f\x0b\x5f\x1a\xcb\x5e\xf7\x20\x3e\x0b\x68\x8e\x9c\x9a\xcb\xcc\x6b\x4c\x33\x64\xae\x83\xc3\xcc\x15\xbc\x85\xcc\x14\xf4\xe3\x6d\x9e\xbc\x8b\x28\x71\xa9\x6b\x68\xa3\x30\x58\x1a\x31\x4a\xaf\x4b\x27\x70\xc4\x43\xcb\x2c\x25\xe8\x77\x71\xa6\x7c\xba\x26\x5d\xd8\x4c\x0d\xa6\x56\xa9\x28\x31\x24\x17\x99\xa9\x03\xa0\xe1\x5a\x6d\xec\x18\x84\x97\x51\x48\x6a\xdb\xa2\xc4\xb4\x32\x43\x18\x9b\x7c\x81\xe4\xd7\xa3\xf4\xfe\x43\x7c\x30\xec\x43\xf4\xbd\x21\x74\x8c\xf0\x63\x80\xbf\x0d\x4e\x4e\x13\xea\x8d\x09\xb2\x0f\xf7\x2d\x3c\x11\x5b\x94\xdd\x04\xcf\x6c\x33\x6f\xc9\x80\x86\xd6\x95\x3b\x35\xca\x00\x1a\x79\x89\x39\x58\x36\x6d\x2b\x68\x3b\x8d\x8f\xd7\x7e\xeb\x9c\x81\xc9\xcc\x1a\x8c\x35\x01\x82\x21\xbe\x1e\xb4\x39\x51\x57\x28\x9e\x3a\x93\x58\xdd\x54\x29\x54\x5e\x50\x88\x2e\x2c\x97\x26\xe9\xc1\x12\x75\xec\xba\xa8\x0b\xb6\xb7\x08\xca\xd5\x8a\x10\x61\x72\x3e\xee\x80\x2f\x49\x01\xb3\x94\xb2\x86\x2c\xa4\x23\x84\xa8\x75\xa4\x25\x11\x26\x0d\x9e\x7b\xa3\xcd\xc5\xc1\x74\x98\x29\x9e\xad\x9b\xc9\xba\x9c\x5f\xbf\x71\x4d\xd4\xa5\x5d\x42\x8b\x18\x40\x93\x57\x24\x83\xf4\x35\x81\x20\x02\x2e\x24\x5b\x77\x85\xc2\x17\x4e\x60\xa1\x1e\xb9\xae\xb6\x15\x60\x6d\x56\xaf\xc9\x67\x85\x74\xa1\xd8\xe6\x0c\x20\x90\x80\x36\x95\xa4\x39\xc3\x49\x05\x11\x3a\x5a\x58\xbc\x72\x1b\x48\xaa\xa1\x13\x8b\xcc\xd8\x71\x78\xf3\x0b\x1c\xe2\xc8\x99\x42\xf2\x7e\x96\x1f\xee\xdf\xbf\x7e\xe3\x14\x29\xb5\x4e\x0b\x17\x33\x7a\xa3\xad\x41\xdc\x81\xb7\xc9\x28\x56\xdf\xc7\xb3\x0f\x3f\x19\xe1\x88\x55\x5c\xfa\xf8\x10\x98\xf5\x55\x2c\x2d\x9a\xa8\x2c\x19\x3c\xa4\x1d\xc6\xb9\xfa\x55\x28\x00\xeb\x17\x1c\x5c\x59\xbb\x99\x29\xcd\xe6\x7a\x07\xbc\x10\x79\x56\x8e\x7d\xf7\x6e\x63\x82\x54\xb4\x0d\xa3\x48\x0c\xf8\x62\x84\x80\x9b\xcf\x49\x48\xf5\x41\xe7\x1c\x3a\xc4\xaf\xdf\x52\x8b\x94\xaa\x19\x04\x51\xdc\xac\xf7\x5a\x7b\x32\x6b\xa9\x2c\x36\x32\x72\x72\x6f\xa1\x90\x6f\xff\xc0\x6c\xb9\x6a\xa1\xbe\x94\x45\xd9\x16\x06\x06\x19\xbb\x2d\x08\x7d\x0d\x32\x45\xe2\x0a\x46\x36\x65\xa0\x01\x1d\x58\xd6\xa1\xb2\x6c\x03\xed\x84\x39\x40\x64\x42\xdb\x15\x02\x8d\x0f\xf1\xdc\x1c\xfb\x5a\xbb\x2f\x67\xf6\x00\x0d\xc1\x06\x8f\x1f\xda\xd2\x3f\x56\xec\xe2\xf2\xd7\xce\x99\xab\xec\x3a\x7c\x28\xf1\x1f\x34\x88\x0b\x00\x63\xba\x2a\x24\x74\x29\xf0\x10\xeb\xec\x4e\x90\x32\xaf\x9a\x22\xfe\xce\xd3\x98\xd1\xa1\x17\x1d\xb0\x45\x87\xd2\x1d\xa0\x8c\x3d\xe3\x65\x02\x3f\x43\x75\x0d\xee\x8c\x37\x3f\xf0\x71\xee\x7c\x95\x11\x75\x9e\x9f\xba\x22\x9f\xeb\x23\xf3\x35\xfc\x1a\xc0\xb9\x0e\x2f\xe2\x2b\x2e\x53\xcf\x10\x45\xf7\x53\x33\x97\x5a\xae\x8a\x62\xc3\x07\xe7\xdf\xcb\x30\x5e\xb8\x5a\x0b\xee\x7e\x7b\x3a\x38\x2a\x8a\xc4\xef\x9f\xee\x26\x52\xdf\x59\x03\x34\xd9\x3c\x8d\x2e\x36\x0a\x38\x03\x34\xa2\x36\x9b\x01\xdd\xd7\x22\x27\x76\x65\xb8\x50\x20\xdd\x31\xd3\x21\xa8\x03\x02\x81\x2e\x02\x39\x53\x1e\xb2\xf6\xcc\x97\x20\x9a\xfc\x46\x07\x3b\xca\x87\x1b\xd1\x97\xdc\x29\xe9\x09\xdd\xa9\xa4\xbd\x24\x95\x85\x98\x7b\xbb\xd4\x16\xd7\x86\x11\x6f\x0b\x85\xf2\xa6\xd8\x24\xea\x35\x64\x9e\x0b\x73\x70\x2b\x0b\x2b\x29\x28\x65\x0b\xea\x24\xec\x53\xa8\x44\x76\x42\x5c\xa0\x0f\xba\x68\xb7\x8c\x9c\x94\xbd\xc0\xd5\x2d\x55\xd6\xd0\x7c\xdf\xc8\x15\x1a\xb4\xdd\x6c\x0f\xb3\x35\xb0\x82\x4b\xa4\x3a\xa2\x08\x03\x58\x6c\x0d\xea\x2f\xe5\xea\xad\x68\x4a\x6a\x46\x46\xdd\xec\x7c\xe5\x59\x11\x64\x8b\xcb\x50\x9a\x1f\x68\xfc\x21\xc0\xea\xcc\x54\xee\x72\x0f\x3e\x2e\x4c\x2b\xd7\xab\xf7\xc7\xc8\x6c\xf7\x99\x3f\x5c\x82\x3a\x45\x0b\xa4\xec\x73\xba\x14\x8d\xf8\x43\x72\xb2\x55\xad\x00\xc9\x2e\xa3\x71\xee\xab\x27\x54\xaf\x0a\x2e\xeb\x6c\x31\xe0\x26\x47\x03\xc6\x4f\xbc\x5d\x2c\xaf\xdf\xaa\x9a\x11\x97\x6c\xaa\xd5\x85\xcd\x7d\xd4\x33\x90\x65\xda\xbd\x58\x33\x7e\xd2\xbe\x0a\x22\x76\x61\x0e\x98\xd9\xc4\x28\xc4\xea\x6f\xa8\x81\x6c\x17\x6d\x69\x0b\x4e\xa5\xfe\x46\xac\x02\xd4\xb8\x10\x22\x6d\x69\x16\x22\xc6\x64\x9d\xcb\xad\x6f\x76\xd1\xa6\x3b\xe6\xf2\x1a\x44\xca\xb4\x1a\xcc\x5a\xce\xcd\x86\x99\x1d\xbf\xc9\x30\xe5\x46\x52\xb1\x23\xe7\x76\x15\x79\x40\xf7\x2f\x49\xde\x3f\x56\xc7\x30\xb3\xf9\xef\x26\xbe\x20\xd6\x8b\xff\x53\x68\xc0\x02\x65\x67\x66\xf9\xff\xf0\x78\xbb\xb7\x2d\x3d\x53\xd5\xba\x04\x35\xdb\x5b\x5a\xf2\x92\x1b\x54\x6f\x54\x9b\x39\x68\x42\x1e\x80\x48\x14\x86\x41\x68\xdd\x6c\xbe\xdc\x96\x51\xa9\x93\xfb\x51\xeb\xb7\x33\x60\xce\xb5\xc0\x31\xf5\x88\x8c\x53\xdb\x12\x35\x48\x06\xe9\x92\x2b\xe5\xb8\x60\xaa\x69\x59\xd4\xcc\xd0\x96\xa6\x36\x67\x1b\xb8\xd4\x00\x8b\x1c\x44\xd6\xaa\x57\xce\x75\x19\x9f\x96\xc5\x3f\xb4\x9d\x35\x9f\xf0\xdd\x4a\x9a\xae\xad\xd9\xe9\xed\x16\x94\x15\x1c\x95\x05\xd4\x56\xd8\x0f\xe6\x37\xc3\x76\x9c\xa6\xe3\xf6\xce\x62\xd4\x2f\xbd\x1a\xc7\xaf\xbc\xdc\x49\x67\x94\x77\x82\x4b\x5f\xd4\xfe\xe2\x09\xe3\x2f\xbc\x5a\xfa\x07\x3a\x63\x67\x5c\x9d\x00\xb1\xf3\xe8\xf5\x43\x58\x48\xff\x69\x64\x8c\xb5\xa0\xfe\xe3\x0d\xa0\x77\x2d\x48\xff\x62\x17\x9c\xbc\xa6\xfa\x8e\xce\x1e\xea\x31\x27\x3a\x92\xe5\x29\x1d\xc9\xf2\x58\x32\xa6\x3c\xd2\x70\x3b\xd4\x46\xdf\xa3\x48\x3f\x61\x15\xd2\x07\x62\x4b\xfa\x41\x13\x87\x6e\x44\x71\xf4\x09\x9d\xbd\x3e\xfa\xe6\x54\xd8\xe4\x71\x26\xa8\x3c\x22\xfb\x3c\xcd\x04\xe5\x5b\x7a\xbe\xe7\xb8\x69\x25\x7d\x48\x68\x3d\xd0\x4f\xb8\x9f\x24\x1d\xc0\x93\xf3\x68\xe8\xef\x73\x3a\x7d\xc8\x2a\xfc\x30\x28\xe6\x52\x46\x1f\xff\x38\x9e\xe6\xdf\x39\xf5\x6c\x20\xf4\x37\xa5\x09\xad\xae\x66\xb2\x6b\xb5\xe3\x17\x2f\x2a\xde\xb0\xb4\xb4\x2d\xec\x1f\x95\xd5\x0c\x7b\x60\xdf\xbc\x4a\xa8\x98\xc1\x61\xbf\x99\x7f\xab\xa7\x8b\xda\x3d\xa6\x8c\x3b\x34\x18\x7b\xd5\xc9\x7d\x16\x8d\xcf\x59\x32\x46\x31\xc6\x8f\xdd\x8c\x76\x9a\xe0\x1f\xbc\x1b\x10\x83\xbd\x9b\x21\x94\xcf\xe7\xf6\x76\x07\xa7\x9f\x65\x45\x31\x09\x65\xb3\x57\x57\xae\x14\xa9\x54\xd2\x93\x37\x95\xa7\x8f\x56\x73\xa1\x56\xdb\xa2\x9d\xb8\xaf\x52\x48\x29\x23\x04\xbe\x48\xb7\xe6\xf7\xb2\x7a\x35\x27\xb9\x18\x1f\x96\x45\x77\x66\xd6\x50\x3c\xd4\xc7\x6d\x30\x07\x22\xea\x06\x67\xac\xad\x36\xa6\x90\xec\x5a\x67\x65\x9a\xf3\xfa\xe2\xad\xab\x38\xe7\xa5\x26\x0f\x12\x02\x72\xc5\x14\x52\xdf\x42\x95\x91\xe0\x09\xce\xa4\xd8\xbc\x16\xb6\x65\x12\xe7\x6d\x85\x76\xbe\xb9\x75\x02\x2b\x55\x85\xf2\xe6\x31\xf3\xd5\xf9\x67\x9d\x58\xd3\x29\x82\xed\x1d\xd8\xb9\x76\x74\x01\x9f\xe6\x6a\xe6\x76\xf4\x38\x0d\x09\x28\x18\xa8\x30\xfc\xc2\xea\x8e\x9d\x52\x1d\xc0\x4c\x6d\x5e\x6f\x9b\x48\x88\xd3\x25\xb8\xec\xc9\x00\xe5\x93\xfb\x5e\x6d\x84\x97\x57\x14\x21\xa3\x10\x3d\x3a\xeb\xbf\x73\x9a\xf7\x86\x1c\x9e\x78\xd9\xae\x12\xf3\x52\x15\x55\x75\xd6\x03\xc5\x33\x50\x23\x40\xf8\xb2\x13\x75\x0e\xd2\x4e\x6b\x17\xb6\xe7\xb2\x58\x07\x41\xea\xad\x21\xca\x95\x2e\xad\xb3\xff\xc5\x3d\x2d\x6e\x57\x89\x13\x47\x8e\xab\x20\xc6\x2a\x9e\x34\x54\xc7\xed\x83\x2e\x52\x4e\x27\x71\x7e\x23\x8d\x32\x34\x4e\x47\x31\x77\xa6\x54\x37\x10\x85\x8e\xea\xe8\xa1\x79\x11\x44\x10\x35\x40\x18\x6a\xe6\x3c\xc5\xda\x4e\x71\xb0\x31\x1f\x92\x27\x27\xa4\xc0\x3c\x99\xbc\xc1\xb9\xf7\x09\x93\xef\x2d\x8f\xef\x4b\xb9\xb6\x41\x49\xb3\x06\xc1\x6b\x49\x75\x10\x14\x23\xc6\x38\xc3\x62\x65\xb4\xd0\x75\xbb\xdb\xb4\x7b\xdc\x11\xf4\x90\x99\x9d\x8a\xf5\xdf\x19\xa5\xe2\xce\x6e\x03\xba\x2e\xd7\xb6\x5a\xe3\x28\x81\x94\x91\xcf\x18\x13\xb1\xba\x99\x24\x91\x12\xe8\xab\xf7\xac\x7a\xc8\xee\xfd\x21\x32\xf9\x2e\x54\x8b\xa0\x92\x78\xde\x75\xa0\x73\x8a\xd9\x5d\xc5\xac\xa2\x6b\x96\x99\x44\xc1\x64\x06\x29\x76\x1c\x37\x09\xc9\x95\x91\xfd\x19\xe6\xca\x30\xe8\xdd\xad\x9d\x48\x70\x96\x41\x87\x7e\xf6\xa2\x77\xea\xda\x38\xdc\xd5\xb2\x77\x64\x29\x94\x0e\x0d\x1f\xc1\x10\xb2\x89\x21\x75\x09\x36\xbf\x96\x20\xad\x53\xcd\xf5\x12\xb4\x0f\x16\x81\x5a\xb2\x97\xcd\x26\x80\x9b\x09\xec\xc9\xdd\x8b\x8f\x3d\xfc\x08\x08\xcd\x90\xa3\xcd\xce\x76\x4b\xc1\xd3\x9f\x52\x13\x6e\x9f\x11\xbd\x47\x38\x45\x7c\x36\x22\x0c\x5c\x5f\x0a\x96\xa8\xaa\x17\xe9\x69\x51\x2f\x66\x45\xd8\x38\xe5\x11\xc7\x56\xdd\x61\x7e\xc8\xea\xe1\xba\x09\xe5\x8a\x2c\xa4\x9d\x17\x4e\x99\x52\x96\x65\x54\x71\x0b\x59\x77\x4d\x7a\xc9\xc9\x9b\xf2\x04\x74\xe0\x17\xea\xa6\x1e\x58\x46\x67\xaf\x2b\xdd\xe8\x1c\xc8\x53\x3a\x07\xcf\x3c\xcd\x23\x24\x04\x9f\x3d\xce\xeb\x37\x75\xd4\x24\xf8\xa8\x80\xd8\x89\x23\x92\x27\x43\x0c\xa8\x22\xa9\x57\x1d\xc5\x93\x90\x94\xf0\x51\x82\x02\x6b\x75\xb6\x5b\x28\x12\xba\xb4\x37\xb7\x99\x49\x6a\x34\xda\x39\x1e\x4a\xc9\x46\xc9\xda\x10\x47\x24\xdd\x94\x38\x7b\x4a\xad\x21\x6c\x96\x91\x2f\xd4\x49\xd3\x50\x99\x24\xc1\x9b\x01\x9b\x4f\xea\x8b\xe3\x3a\x2f\xa2\xba\x40\x9b\xb0\x24\x6c\x18\xb6\x56\x28\x08\x20\x0e\x01\x6b\x5b\xa0\x11\x38\x8c\xbe\xc5\xe9\x86\xc8\x5d\x3e\xda\xa6\xa3\x65\x14\xf4\x92\xf8\xd3\x66\x55\x2c\x3d\xc4\x69\xf0\x2e\xd7\x39\x9d\xb3\x20\xf1\x25\x05\x19\xe2\x1c\x49\xd3\x25\x60\x4e\x35\xaa\xb9\xd9\xc6\x3a\x53\x19\xf2\xfa\x4d\x53\x27\xeb\xe6\x4b\xe0\x5e\x17\x8e\x89\x44\xcf\x1c\xe3\x9c\xdf\x53\xb8\x4f\xb5\x8b\xe8\x0a\x14\x03\xfb\x5f\x86\xf7\xf3\x48\xd0\xb4\x3f\x29\x13\x7b\x32\x88\xfa\xf9\x18\x7a\xb6\x25\xf9\xa9\x96\xd0\x39\xf1\xff\x69\x53\xea\x8c\xd3\x4f\x06\xbd\xc9\xb1\x77\xd6\xdf\xe5\xdd\xc4\xfc\x2d\x3a\xb4\x7e\x59\x7f\x3e\xea\xce\x33\x39\xec\x3a\xf9\xf3\x3e\xf4\xa7\x8f\xce\xcf\x87\xe6\x49\x5f\xeb\x4d\x5f\x3f\x33\x64\xa6\x34\xc2\x99\xd2\xcb\x63\xb9\xe6\x72\x10\xd6\xcd\x7a\x9e\xc7\x18\xb3\x87\x1a\xe6\x65\x5e\x2c\x3d\x75\xb1\xf3\x71\xdd\x1e\x8e\xeb\xfa\xa3\xe3\xba\x1e\xf6\x01\x4d\x5a\xbf\xbd\xb4\xc9\xa5\x6c\xe4\x59\xc5\xeb\xaf\x19\x6a\x67\xc2\xeb\x6f\x34\xaf\xde\x0e\x35\x6b\x65\x79\x02\x67\x3b\x06\xf3\x2f\x01\x6d\x4f\x5b\x79\xd2\xd9\xed\x1d\x93\xfd\xa1\x75\xf5\xf3\x3d\xba\x53\xc1\x3d\x52\x02\x7f\xe2\x5a\xbf\xf2\xdc\x37\x95\x68\x9f\xc4\x1b\xe8\xe9\xcb\x70\x79\x47\xb4\x89\x70\xd5\x9d\xb7\x7e\xd2\xd7\xfd\x76\x83\xbc\x33\xb2\xcb\x6f\x33\xb2\xf5\x64\x64\xff\xfe\x03\xbb\xc4\x5d\xd0\xc8\x95\xc6\x42\xee\x99\xec\x7f\x8e\x06\x02\x22\xc8\xbc\xb5\x04\x77\xc3\x1d\x44\x87\x79\x37\x94\xbc\xed\x72\x67\x85\xfc\x83\x6d\xfc\x60\x65\xa4\xb6\x71\xee\xb2\x5f\xf4\x53\x35\xac\xb3\xf6\x4d\x77\x37\xa5\x42\x9a\x0a\xae\x64\x17\x92\x4e\xd2\xe1\x8f\xc1\x03\x65\x67\x14\x72\xd6\xfa\x9d\x82\x82\x27\x19\xd1\xf8\x9d\x3f\x1d\x1e\xee\xa3\xfe\xe9\x59\x2b\x6e\x7c\x31\xf8\xdc\x07\xd2\xda\x01\x1b\xb2\xe7\x91\x4b\xbc\xed\xc2\x3b\x4a\x77\x7b\x2b\xfc\x29\xfc\xd4\x12\x9d\x04\x49\xce\x52\xc2\x65\xaf\x9d\x4b\x85\x9a\x96\xa3\x67\xc5\xb9\xd2\x66\x2b\x26\x94\x44\x78\xfa\x44\x1e\x40\x1f\xb7\xd8\xc6\x2d\xf7\xfe\xfc\xa8\x0e\x7c\xd6\x8a\x7c\x53\x4f\x5b\xa1\x73\xd5\x64\x09\xda\xcd\x89\x90\x74\x15\xe1\x25\x73\x1a\xa1\x0f\x3f\xb0\x0f\x0f\xb3\xa2\x8d\xd8\x75\x7b\x28\x68\x2a\xa5\x7c\x88\x78\x7c\x52\x40\x32\x27\xde\x1b\xa2\xe5\xb7\x54\xb8\x6e\x75\x4d\x4b\x03\xc1\x92\x3d\x56\x32\x43\x25\x1e\x29\xd9\x03\x25\x88\x93\x8c\x30\x09\xdf\x4a\xcd\xb9\x3a\x51\xd8\xe5\x89\x3c\x4e\x12\x6e\x02\x25\x33\x4e\xb2\x6b\x33\x4d\x69\x26\x57\x66\xaa\xae\xe3\xe5\xaa\x4c\x88\x96\x94\xc1\x55\x03\x17\x7f\x86\x4a\x10\x29\xa1\xed\x88\x94\x8c\x40\xc9\x1e\x27\x39\xc2\x24\x1e\x25\x29\x63\xfd\x69\xf3\xb1\x4f\x3a\x76\x5a\x6b\x3b\xe7\xec\x2f\x47\x92\xde\xf5\xd1\xdb\x48\x52\x1e\x91\x24\xfe\xf1\x48\x52\x29\x53\x5c\xe2\x4b\x23\x49\x7b\x27\x79\x8c\x41\x7e\x7a\x6c\x9d\x74\x72\xdd\xa7\x0a\x13\xc7\xde\x2e\xac\x71\x82\x1b\xbd\xa5\x15\x4b\x64\xc8\x6a\x33\x59\xf3\x32\x0f\x56\x78\x99\x42\xf8\x7e\xf3\xdd\xc1\x66\xb3\xee\xae\xbc\x24\xea\x4b\xc8\x95\x29\xd7\x8f\x4a\xe5\xf3\x73\x06\xa5\x59\xa2\x13\x96\x4a\x29\xbb\xb4\x3a\x2a\x22\x67\x33\xd3\xa0\x23\xec\xb8\x98\xdd\xe9\x46\x4f\xdd\x85\x78\x9b\x37\x00\xdf\x21\x77\xd9\x7d\xd7\xe8\xb3\xa5\x4a\xa3\x04\x80\xb7\x4a\xb6\x17\x68\x26\x7b\xcc\x30\x0e\xe0\xd7\xdb\xa3\xda\xb7\x1b\x7e\x78\xd6\xd0\xdd\x3a\x88\xad\x52\x6b\x82\x20\x41\x41\x50\x59\x6c\x64\xa9\x47\xf8\xd3\x68\xc8\x6d\xeb\x6e\x44\x82\xa7\x46\xf0\xde\x77\x9d\xbc\xed\x92\xae\x7e\x09\x56\xbb\xa6\xad\x94\x89\x42\x5d\xde\xbc\x9d\xf1\x72\xa0\x6d\x43\x67\xf8\x08\xdd\xb9\x32\xb9\x51\xef\xe9\xe8\x46\x00\xca\xa1\xbe\x9c\x8e\x46\xab\x8b\xb8\x61\x37\x49\x68\xde\x6d\x5f\x85\xd9\x59\xf8\x0f\xcd\xf2\xd5\x83\x67\x93\x13\x5e\xf4\xfe\xe2\x5d\xa2\x9e\x2a\x56\x8b\xfb\xcd\xfc\xde\xbe\x7f\xbf\x8d\x35\xb2\xfc\x70\x96\x24\x4f\x87\x6f\x0f\x7a\x01\x98\x9a\x37\x51\xd4\x8b\xd4\x21\xad\x55\x88\xad\x63\x51\xbd\xab\x54\xa0\x94\xb4\xa9\xcd\x77\x85\xb1\xe2\xd0\xb3\x38\x89\x9b\xd3\x96\x5d\xcd\x4d\x36\xdb\xde\x34\x6f\xc8\x30\x6f\x8e\x41\x0d\x2c\x0c\xa2\x49\xbc\xd6\xe4\xc8\x54\x57\xb9\xb3\xfd\xcf\x77\x42\xc7\x94\x01\x47\x84\x80\xa5\x63\xd2\x5a\xda\x82\xf5\x68\x8d\x34\x39\x16\x8b\xcf\xaa\x50\x1c\x60\x54\x36\x90\xfc\x00\xbd\xed\x5a\x5b\xe0\x18\x75\x1b\x68\x60\x37\x01\xcc\x4d\xe3\x20\x8f\x18\x52\xa9\x43\xfe\xd6\xec\x30\xd4\xb1\x86\x6a\xc3\xf3\xb8\x3b\xa3\x3b\x95\x7a\x5c\x42\x05\xe9\x22\x9b\x6d\x83\x91\xc9\x5c\x36\x3b\x11\x34\xd8\xa2\xa4\x79\x03\x0a\x0a\x90\xb8\x22\x48\x5a\x78\xad\x1a\xa7\x0d\xd2\x5f\xb2\x15\x27\x54\xb4\x2f\x60\x30\x36\xc7\xfd\x70\x17\x9f\x5a\xcd\x03\x5d\x29\x6e\xc8\x8b\xf0\x7d\xfa\x23\xfe\x5e\x76\xaa\x0c\x99\xf1\x12\xfd\x75\x0b\x1b\x9e\x0e\xe8\xeb\x05\x1a\xf7\xb5\x01\x08\x0e\xf8\xb7\x40\xd5\x8c\x13\x49\xbf\x6a\x79\x42\x5f\xf7\xdc\x1c\xcf\xbb\x2e\x22\x1f\xf2\x45\xe7\x2e\x07\x7f\xd7\xbf\xfe\x7a\xff\xd4\xb5\xc4\x35\x75\x8a\xa4\xde\xbb\x0e\x03\x7d\x19\x08\xe2\x6b\xe8\x29\x2d\xa1\x02\xb8\xc5\xf5\xda\x4b\x5c\xbc\x40\xba\x0c\x41\xf8\x43\xd1\x97\x23\xf2\x0c\x92\x88\x51\xb2\xdc\x37\x17\x25\xd3\xc1\xea\x2f\x6e\xb5\x2e\xbe\x03\x5d\x8f\x08\xcb\x1f\xdf\xff\xf7\x7f\x36\xfb\xf7\x3f\xff\xeb\xfb\xdf\x7f\xfe\xc7\x1f\x7f\x5f\xff\xfb\x4f\xfa\xbf\x00\x00\x00\xff\xff\x7c\xee\xc6\xc9\xc2\xa8\x01\x00") + +func assetsFontsGlyphiconsHalflingsRegularSvgBytes() ([]byte, error) { + return bindataRead( + _assetsFontsGlyphiconsHalflingsRegularSvg, + "assets/fonts/glyphicons-halflings-regular.svg", + ) +} + +func assetsFontsGlyphiconsHalflingsRegularSvg() (*asset, error) { + bytes, err := assetsFontsGlyphiconsHalflingsRegularSvgBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/fonts/glyphicons-halflings-regular.svg", size: 108738, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsFontsGlyphiconsHalflingsRegularTtf = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7d\x7c\x1b\xd5\x95\x38\x0e\xdf\x33\x73\x47\x33\x1a\x49\x33\x92\x35\x23\x59\xb6\x25\x7b\x24\x5b\xb2\x6c\xd9\x4e\x24\x4b\x4a\xe2\x44\x4e\x42\x48\x42\xe2\xbc\x40\x42\x48\x08\x84\x84\x0c\x84\x04\x48\x4c\x48\x42\x28\xe1\x2d\x84\x77\xd2\x86\x16\x1c\xc2\xfb\x86\xb7\x34\x10\x62\x5e\x4a\x4b\xc9\x96\x6e\xba\x14\x6d\xd9\x6e\x29\x75\xd9\x42\xa1\xb5\xb3\xc0\x37\xdb\x6d\x59\x4a\x43\x01\xc7\x1a\x3f\x9f\x7b\x47\x92\x65\xc5\x09\x74\xfb\xf4\xbf\x9f\x93\x99\xb9\xf7\xce\xd5\x3d\xe7\x9e\xfb\x76\xce\xb9\xe7\x9e\x41\x80\x10\x92\xd1\x0d\x88\x45\xdd\x33\x67\x2e\x9e\x77\x79\xd3\xee\xf7\x10\x42\x43\x08\xa1\x9a\x59\x33\x4e\x9f\x09\x33\x10\x46\x08\x2a\x11\x42\x75\x0b\x16\xb5\xc5\xd7\xbc\x7c\xe9\xed\x08\xc1\x04\x84\xd0\xca\xd5\x97\xaf\xea\x7e\xf7\xc0\x7f\xdd\x88\x10\xdc\x87\x90\x65\xe3\xea\x2d\x9b\xea\x50\x23\xf3\x05\x42\x82\x1d\x21\x84\xd7\xac\xba\xb2\x7b\x78\x18\xb1\x08\x09\x4e\x84\x90\xb0\xe6\xb2\xab\x2f\xbe\xf6\xfc\xc3\x1b\x10\x12\x2a\x11\xba\xe7\xf1\x4b\x2e\x5a\xa5\x73\xf3\xda\x7e\x83\xd0\x83\x87\x10\x42\xa9\x4b\x2e\xb9\x68\x95\x38\x03\xbb\x10\x7a\xf0\x18\x42\xa8\xfe\x92\xcb\x37\x6d\x7d\xeb\xf5\xba\x95\x08\x3d\x54\x89\x10\xbb\xe9\xb2\x0d\xab\x57\x6d\x38\x7e\xef\x7f\x20\xf4\xe8\x5d\x08\x31\xe3\x2e\x5f\xb5\xb5\x1b\xd6\xa1\xdf\x20\xb4\x97\xfc\xbe\x6e\xfd\xaa\xcb\x2f\x7a\x21\xf6\xe8\x03\x08\xed\x7d\x0f\x21\x76\x6f\xf7\x86\x2b\x37\xfd\xf0\xb1\x0f\x93\x08\x3d\x79\x03\x42\xe2\x2f\xaf\xba\xe8\xc2\x8b\x7f\x52\xb9\x78\x21\x42\xcf\x2d\x46\x08\x59\x10\xa2\xb5\x47\xff\x3e\x65\xef\x2f\xc8\xf3\xcd\x2d\x37\x6e\x36\x9f\x57\xee\xa6\x6f\x24\x84\x10\xa9\x39\x42\x0c\x02\x04\xe0\x41\x40\xa8\x81\x18\x84\x10\x8b\xef\x84\x5d\x88\x43\x98\xb5\x33\x6f\x22\x84\xce\x35\x9f\xf0\x38\x8a\x33\x3f\x20\x3f\xe1\xd0\xc8\x1f\x53\x12\x3e\x7b\xee\x39\xf3\xd1\x54\x54\x37\x3c\xcc\xfe\x78\xd8\x89\x10\xa7\xa0\x6b\x0a\x98\xe4\xff\xea\x68\x8c\x14\xc0\x22\x84\x62\x08\x21\x11\x21\x78\xcf\xcc\x83\x2f\x41\x2c\x0d\xc5\x10\x9b\x4f\xc7\xd0\x8b\x10\xba\x04\x4d\x45\x1c\x6a\x44\x75\xa8\x19\x3d\x8a\x9e\xa8\x13\xeb\xda\xea\x2e\xa8\x7b\xa6\xee\x9f\x83\x15\xa1\xea\x86\xa1\x30\x84\x07\x23\xd6\x88\xdc\xcf\xf6\x5b\xfb\x7d\xfd\xd1\xfe\x89\xfd\x67\xf4\x2f\xeb\x5f\xd9\xbf\xb6\xff\xea\xfe\xdb\xfb\x77\x0f\x58\x07\x7c\x03\xd1\x81\x89\x03\x33\x07\xce\x18\x58\x36\xb0\x76\xe0\xea\x81\xdb\x07\xee\x1d\xd8\x73\xc4\x72\xc4\x7a\xc4\x73\xc4\x77\x44\x3b\x12\x39\x32\xf1\xc8\x19\x47\x96\x1d\x59\xf9\xc5\xf0\xf0\x30\xc5\xb3\x89\x42\x42\x27\x81\x04\xfd\x5c\xbf\xb3\xbf\xae\x7f\x5c\xff\xd4\xfe\x85\xfd\x2b\xfb\x2f\xec\xef\xee\xbf\xa1\x7f\xd7\x00\x0c\x38\x07\xea\x06\xc6\x0d\x4c\x1d\x98\x3d\xb0\x70\x60\xe5\x40\xf7\xc0\x0d\x03\xbb\x06\x76\x1f\x41\x47\xac\x47\x9c\x47\x2a\x8f\x68\x47\x42\x47\xc6\x1d\x99\x7a\x64\xa1\x09\x69\xf8\xbf\x86\xdf\x1d\xbe\x78\xf8\xc2\x7e\xe1\xf7\x1f\xfc\xfe\x7b\xbf\x5f\xfb\xfb\x65\xbf\xe3\xde\xcb\xbd\xeb\x7f\xd7\xf7\x8e\xf6\x8e\xfb\x1d\xa9\xce\x5f\x57\x53\xe7\xa9\x73\xd6\x89\x75\xb8\xd6\xa8\xfd\xa2\xf6\xf3\xda\x3f\xd7\xfe\x4f\xed\x87\xb5\xdb\x6a\xb7\xd4\x76\xd7\xae\xab\xd5\x6b\x57\xd7\x9e\x5f\x7b\x4e\xed\x99\xb5\x73\x6b\x4f\xaf\x9d\x11\xf8\x5d\xe0\xbd\xc0\xdb\x81\x5f\x07\xfe\x23\xf0\xf3\xc0\x6b\x81\x57\x03\x2f\x07\x5e\x10\xd4\x51\x2d\xf0\x8f\xfd\xb3\xd3\x3e\x71\x57\x3e\x96\xa4\x94\x34\x2f\xd2\xde\x4d\x08\xa1\x66\xd2\xd0\x08\xa1\x47\xf3\x17\xe9\xab\x4f\xe4\x2f\x3e\x9f\x5d\x24\x63\x0a\xa1\xba\x36\xf3\x42\x6e\x84\xea\x2e\x30\x2f\xa4\x20\x54\xf7\x8c\x79\x21\x15\xa1\xba\x7f\x36\x2f\xe4\x41\x28\x58\x61\x5e\xc8\x8b\x50\xa8\xda\xbc\x48\x2f\x6f\x18\x32\x2f\xe4\x43\x28\x0c\xe6\x85\xaa\x10\x0a\x0f\x9a\x17\xaa\x46\x28\x62\x35\x2f\x54\x83\x50\x44\x36\x2f\xe4\x47\xa8\x1f\x10\xea\x27\xb8\x07\x10\xea\xe7\x10\xea\x27\x79\x34\x84\xfa\x9d\x08\xf5\xfb\x10\x42\x61\x84\xfa\xeb\x10\xea\x8f\x22\x84\xc6\x21\xd4\x4f\xae\x89\x08\xa1\x49\x08\xf5\x4f\x45\xa8\xff\x0c\x84\xd0\x0c\x84\xfa\x17\x22\xd4\xbf\x0c\x21\x34\x1f\xa1\xfe\x95\xe6\x85\x96\x22\xd4\x7f\x21\x42\xfd\x6b\x11\x42\xcb\x10\xea\xef\x46\xa8\xff\x6a\x84\xd0\x2a\x84\xfa\x6f\x40\xa8\xff\x76\x84\xd0\xa5\x08\xf5\xef\x42\xa8\x7f\x37\x42\x68\x33\x42\x03\x80\xd0\x00\xc1\xe1\x5a\x84\x06\x9c\x08\x0d\x10\x1c\x6e\x41\x68\xa0\x0e\xa1\x01\x82\xc3\x2e\x84\x06\xc6\x21\x34\x40\x70\xb8\x1f\xa1\x81\xa9\x08\x0d\xcc\x44\x08\x3d\x8e\xd0\xc0\x6c\x84\x06\x08\x3e\x4f\x23\x34\xb0\x10\xa1\x01\x82\xcf\x01\x84\x06\x56\x22\x34\x40\x70\xf8\x3e\x42\x03\xdd\x08\x0d\x10\x1c\xfe\x05\xa1\x81\x1b\x10\x1a\x20\x38\xbc\x81\xd0\x00\x29\xf7\x5e\x84\xd0\xaf\x11\x1a\xd8\x8d\xd0\xc0\x1e\x84\xd0\x6f\x11\x3a\x82\x10\x3a\x42\xda\xf0\x77\x08\x1d\xb1\x9a\x17\xfa\x10\xa1\x23\x4e\x84\x8e\x78\x10\x42\x1f\x21\x74\xa4\x12\xa1\x23\x04\xcf\x3f\x21\x74\x44\x33\x2f\xf4\xbf\x08\x1d\x09\x21\x74\x24\x82\x10\xfa\x04\xa1\x23\xe3\x10\x3a\x42\x70\xfe\x0c\xa1\x23\x53\x11\x3a\x42\xf0\x1c\x46\xe8\xc8\x42\x84\x8e\x2c\x43\x08\x48\xd9\x2b\xcd\x0b\xdc\x08\x7d\x31\x6c\x5e\xa0\x20\xf8\xcc\x45\x2f\x04\x2a\x82\xbf\xee\xa7\x17\x02\x0f\xb2\x30\xa4\x1f\x91\xce\x5f\xde\xff\xa1\x38\x6d\x31\x5f\xd1\x9f\xcd\x5f\xb2\x63\xbc\xc1\xa3\xa6\xc1\xff\xef\x0f\x99\xe3\xf7\x6b\xff\x59\xbe\x32\x87\xfa\x75\x8b\x02\xe5\x2b\xb3\xd0\xb5\x1b\xc1\xf0\x30\x62\x10\x83\x1a\x11\x82\x4b\xd8\x3a\xc4\x22\x1e\xb5\x3e\x07\xa8\x6d\xf2\xf3\x3c\x46\x7f\x8a\x3f\x67\xe1\xde\x9b\xfc\x3c\xcb\xa0\x3f\xc5\xd1\x73\x2c\x49\xe6\x48\xf2\xf3\xbc\x05\x86\x26\x3f\x0f\x24\x3d\xe1\xd2\x5c\x0d\x09\x57\xa8\x11\xa6\x1a\x47\x3f\xf9\x84\xad\x1b\xea\x6f\x64\xde\x44\x80\x74\xa4\xe3\x2e\xdc\x85\x96\x23\x04\x71\x4f\x2d\x04\xc0\x0f\xe9\x0c\xd4\x82\xc7\x22\x43\x22\xee\xf1\x7a\x54\xc5\x22\x83\x04\xcd\xe0\x0d\x80\x0c\x96\x70\x1b\xa8\x8a\x85\xb7\x84\x82\xe1\x36\x68\x85\x29\xc0\x4b\xd0\x06\xe1\x54\x27\x84\x82\xe1\x48\x38\xd9\x9e\xea\x84\x0c\x74\x40\xa4\x15\x3a\x21\xe5\xa9\x85\x64\x7b\x2a\x9d\x62\x96\xca\x61\x9b\x4d\x94\x1f\xe6\x3d\xc2\x3a\x9e\xe1\x1f\xee\x17\x5d\x8c\x85\x65\x80\x71\x89\xfd\x0f\xf3\x0c\xbf\x4e\xf0\xf0\x0f\xcb\x62\x34\xf8\x35\xf3\xe1\xae\xbf\xe3\xc7\x63\xe6\x43\x85\x71\x43\xe9\x11\x42\x88\x54\x5f\x75\x69\x71\x8f\x1f\x14\x4b\x48\x73\x29\x96\x66\x08\x86\x93\x2e\x2d\x18\x9e\x02\xed\xa9\x84\xe6\x6a\x4f\xc1\xe1\xac\xea\x87\x15\xaa\xdf\xaf\x1a\x7b\xfd\x6a\x56\xf5\x1b\x7b\x49\x04\x56\xf8\x71\xd7\x89\x69\x6a\x3e\xb7\x09\xab\x1b\x21\x3c\x15\x77\xa1\xd3\x4d\x58\x3c\x58\x78\x2d\xee\x31\x89\xad\x8e\x84\x4c\xb8\x53\x40\x0b\x86\x4d\xd2\x26\x8b\xa1\x70\x04\xc2\xa9\x0e\x88\xd7\x82\x27\xde\x09\x29\x76\xe2\xa0\xc8\x09\xc6\x3d\x16\x0e\xec\xa2\xc5\xb2\xd5\x52\x29\x5e\x0b\xee\x42\x48\xb6\xdd\x63\x93\x8d\x3f\x15\xa2\xc5\xd0\x16\xce\x62\xdc\x23\x70\xe2\xa0\xaf\xe2\x71\x41\x11\x1e\xaf\xc0\x5d\x22\x29\xc4\x6e\x17\x1e\x15\xec\x3a\xbd\x3f\x6b\x93\x65\xdb\xb3\x25\x09\x76\x0b\x5c\x26\x88\x15\x8f\x0b\xc2\xe3\x15\x88\xf6\x23\x0e\xdf\x85\x9f\x45\x1d\xa4\x1f\x79\x3d\xde\x50\x7b\x2b\x1b\x0a\x4a\x2c\xaf\xf1\x9a\x45\xd5\x78\x2d\x80\x13\xf1\x0c\x9b\x4c\xd0\xae\x13\x69\x85\x48\x28\x9d\x48\xa5\x43\xe9\x44\x06\xd2\x29\xe6\xe8\xa7\xdd\x93\x2d\xdf\x0b\xb5\x4f\x9d\xe8\x75\x37\x4f\x88\x8f\x93\xe1\x1a\xdd\xe8\xb3\x40\x8f\x6e\xf4\x59\xc7\x4d\x9c\xde\xae\x7a\x26\x4e\x6d\x0f\x3d\x1b\xb8\xf0\xd2\xa7\xfe\x63\x4b\xfd\x74\xfb\x3b\x7a\x37\x70\xef\xea\xb7\x28\x99\xda\xcd\xf8\xd9\x7f\xbe\x64\x6d\xcb\xdc\x71\x9a\x6c\x0b\xb4\x2e\x88\xeb\xf1\xb8\x3e\x67\xd3\xf4\x66\x59\x0e\x8e\x9b\xd3\xfc\xf4\xa5\x9b\x1f\x1e\xb7\xff\x2a\xbd\x2d\xa9\x9f\x73\x73\xc3\x4e\x32\x77\x5e\x43\xdb\xb8\x17\x65\xd0\x2c\x84\x40\x8b\x07\x38\xb5\x06\x54\x45\xe2\x9a\x81\xff\x5a\x64\x77\xb5\xa7\xbc\xae\x44\x3c\x95\x6c\x0f\x87\xe0\x19\x58\x71\xda\xba\xe9\xe3\x3c\x76\x00\xbb\x67\xdc\xf4\x75\xa7\x3d\xcf\x40\x5d\x9e\xb4\x77\xd8\xc4\x7b\x45\xd9\xf8\x2c\x1f\xdd\x3c\x12\x92\x5f\x7a\x63\x6a\x4b\xcb\x54\xdc\x5b\x55\xdf\x19\x5f\xd0\x54\x6f\xb3\xd9\xea\x9b\x16\xc6\xa7\x36\x54\x99\xf4\x3d\x68\x93\x64\xf1\x60\x09\xc1\xe1\xb7\xa2\x9c\x35\xfa\xa6\x2f\x59\x3c\x95\xd0\x3b\x0b\xbb\x70\x17\x73\x08\xc9\x08\xb9\x8b\x5d\xd4\xec\x98\x83\x6c\x1d\xe9\x6e\x43\xfd\xaa\xdf\xcf\x1c\xa2\x7d\x8e\xde\xe8\xba\x91\x45\x88\x3d\x8a\x7b\x51\x03\x9a\x46\x56\x1e\x52\x49\x32\x9c\xc9\xb0\x4f\x90\x62\xb4\x64\x7b\xaa\x83\x8e\x59\x32\xb6\x43\xa4\x44\xaf\xaa\x78\xbc\x01\x50\x2c\xbc\x04\x34\x43\x38\xd2\x0a\xed\xa9\x74\x06\xa6\x00\x7b\xd4\xaf\xc6\x57\x9f\x79\xe6\xea\xb8\xea\x1f\xea\x1f\x09\x67\xa7\xa5\x6b\xea\xea\x6a\xd2\xd3\x60\x57\x21\x84\x7b\x7b\x54\xbf\xbe\xfc\xde\x50\xe8\xde\xe5\x3d\x7e\xb5\xa7\x47\xf5\xf7\x98\x31\xdd\xaf\xf6\x64\xf5\xc9\xab\x2b\xed\xf1\xc9\x71\x7b\xe5\xea\xc9\x3d\x3d\x25\x11\xbd\x8c\x17\x47\xe3\xc9\x8c\xf8\x29\xc4\xf0\x61\x3c\x8d\xf0\x4f\x10\xf7\x78\x53\x64\xac\x9a\x24\x20\xb8\x93\x1b\x7c\xbe\xfe\x7b\xb1\x58\xeb\xd6\xfd\xfb\xb7\xe6\x2a\x16\x5c\x71\xf6\x74\xe6\x37\x78\xda\x55\xab\xa4\x03\x5b\xaf\x3e\xb0\x71\xe1\xe9\x97\x4a\x76\xdf\x9e\xff\xcc\xaf\xa5\x3a\xee\xc5\x07\x51\x15\xe1\x96\x10\x99\xe5\x4a\x69\x01\x91\x70\x06\x3c\xb5\x90\x4e\xb1\x5a\x84\x65\xfe\x5a\x67\x15\x6f\x83\x5f\x05\x94\xc0\xf1\x85\x01\x25\x00\x7d\xb7\x8a\xd6\xba\x7a\x71\x43\xb7\xf5\x1b\x70\xf5\x4b\x3f\xc1\x2f\xb8\x43\xce\x57\x72\x9e\x06\xb5\xa9\x49\x6d\x60\xfe\xf0\x7d\x67\xbd\x62\x75\xde\xd3\xe3\x1c\x0a\x74\x33\x1e\x94\xe7\x22\x09\xbc\x2e\x64\x43\x5e\x14\x42\x69\xb3\x05\x79\xb0\x04\xc9\x68\xf6\x82\x47\xe1\xc1\x12\x4e\xba\xda\x53\x56\x48\x79\x54\x97\x62\x89\x40\xb8\x9d\x07\x0f\xad\x5e\x1a\x52\x85\xe1\x1e\xf7\xe1\xeb\x44\x4e\xc8\xfd\xbb\xa0\x90\x1b\xc7\x82\x20\x08\xc6\x17\x82\x28\xb2\x77\x81\x20\x88\x22\x89\x9c\x07\x97\x09\x9c\x78\x7c\xbb\xc8\x09\x70\x19\x19\xde\xe6\x45\xc6\x78\xee\xdf\x04\x81\x49\x0b\xe2\xbb\xc6\x17\x82\x42\xf2\x72\x22\x13\x16\x39\xe3\x13\x10\x04\x4e\xcc\xbd\x4b\x7e\x22\x08\xca\x0d\xc6\x3d\xa4\x2c\xb8\x4c\x10\xc8\x70\x17\x08\x67\x31\xfc\xc9\xf0\x27\xf8\x87\xf8\x87\xc8\x8a\x1c\x88\xc8\x92\x04\x27\x45\x86\x48\xda\x0d\x11\x2b\x70\x6e\xb6\x3f\x2c\xed\x71\x38\x56\xbf\x7d\x41\x30\xb7\xe7\x6d\xe6\x62\xa3\xd6\x78\x61\x3d\xfe\xa1\x63\x8f\x14\x96\xce\x7b\x7b\xa5\xb1\x29\x77\xff\xdb\xcc\xc5\x43\xeb\xba\x61\x41\x71\xde\xed\xc5\xbd\xa4\x3f\x83\xab\x84\xfa\x2e\xd0\x98\x43\x83\x66\xe7\x1a\x34\xec\xb8\x97\xb9\x23\xf7\xae\x5f\x8d\xc7\x55\x3f\x13\x66\xc2\xf4\xb7\x12\x12\x70\x17\x7e\x10\xd5\x22\x04\x0d\x26\xc5\x78\x4b\x2b\xa4\xd2\x29\xaf\x8b\x2b\x8d\xb4\xa7\xa0\x9b\xb9\x39\x32\x6e\xd1\xcc\x05\xb7\xd5\x9f\xb3\x60\xf6\xf4\xdc\xbe\xa5\xd3\xf2\x41\x3f\xfb\xe5\x63\x72\x20\x38\xf4\x2f\xe9\x33\xbd\xbe\xe8\xe5\x1b\x7d\x95\x4e\xc6\xfa\x40\x6e\x6f\xd3\x4a\xb5\x2a\xba\xfe\x8a\xaa\x4a\x17\x73\x7d\xb8\x89\xf6\x17\xeb\xf0\x17\xf8\x15\xfc\x14\xf2\x23\xc2\xb9\xc6\x03\x8c\xca\x7b\x15\x9e\xae\x98\xa4\x0d\x2d\xa1\x08\x1f\x6c\x65\xda\x33\x80\x83\x12\x28\x01\x88\x67\xa0\x3d\x0c\xbb\xb2\x2f\xdd\x34\x1f\x60\x3e\xb8\xbd\xe0\xe9\xa8\x8a\xba\x8d\x3f\x5d\xf5\x4d\x8e\xd1\x5f\xba\x69\xfe\xfc\x9b\x60\x63\xef\x3d\x4b\x96\xdc\x43\x6e\xf8\xa9\xf9\x37\xbd\xa4\x33\xdc\xce\xab\x8d\x8f\xab\x1a\x2a\x27\x29\x0a\x54\xcc\x03\x98\x7f\xd3\x4b\xd9\x97\x6e\x5a\x6e\xe6\xb9\xa7\xf7\x1e\x3a\xe7\x2e\xc5\x07\xf1\x0c\x22\x1f\x40\x86\x09\x30\xaa\x22\xb1\x7c\x2b\x4e\xb6\x67\x98\x00\x30\xb7\x8f\xbb\x66\xeb\xe6\xa5\xa9\xd3\xae\xde\xb1\x2f\x93\x79\xea\xe6\xad\xa7\x4d\x38\x77\xcb\xd6\xab\xd9\xef\xcd\x98\xcd\xb5\x2c\xda\x32\x75\xe2\xd5\x37\x5c\xff\xfc\xd9\x67\x3f\x7f\xfd\x0d\x57\x4f\x9c\xba\x65\x51\x0b\x37\x9b\x72\x1a\xbf\x42\x2b\xf0\x35\xf8\x1e\x22\x7f\x80\x3b\x15\xf7\xd2\xae\xc9\xb9\x3d\x96\x48\x03\x67\x09\xa7\xdd\x0d\xe1\x54\x02\x76\xdf\xc4\xab\xfc\x8d\xf0\x84\x6a\x71\x19\xfb\xb7\xf3\xb2\xcb\xf8\xae\xb1\xdf\x25\xf3\xdb\x8d\x27\x5c\x16\x85\xad\x83\x55\x6e\xb7\xf1\x88\xcb\xfe\xa5\xb1\x41\xb1\xd9\xff\xfa\xb9\xdd\xa6\xc0\xae\xe3\x76\x17\x62\x4a\xca\x0f\x9e\x02\x02\x17\xf2\xf2\x69\x6f\x24\x1d\x8a\x7c\x05\x2c\xf8\xcb\x27\xaf\xcd\xf9\x97\x9f\xcc\xf9\xf1\x1f\xe6\x9f\x1c\xac\xfe\xcd\x23\x77\xde\xf5\xe1\x5d\xbf\x2a\xed\x67\x61\x3a\x6f\xd0\x69\x93\x4c\x6f\x1c\x99\x00\x47\xa6\xd0\x74\x03\x99\xdc\xcc\x30\xb3\x74\x5b\x6f\x26\x6c\xb7\xc2\xc5\x56\xbb\x4c\x06\x92\x6c\x86\xc3\x99\x5e\xdc\xdb\xbb\x6d\xb0\xf5\x92\xb9\xa2\xd7\xf2\x11\xe7\x15\xcf\x17\x65\x59\x3c\x5f\xf4\x72\x1f\x59\xbc\xe2\xdc\x4b\x5a\x07\xb7\xf5\x22\x84\x1c\x79\x98\x5d\x48\x46\x6e\x14\x42\x11\xd4\x8c\xda\x50\x02\xa5\xd1\x2c\x34\x17\x2d\x40\x8b\xd0\x39\xe6\x0c\x40\xfa\x2d\x9d\xc0\xc8\xf2\xa2\x26\x92\x51\x08\x5a\x54\x97\xe2\x49\x68\xf1\x54\xd2\xd5\x1e\x4e\xa8\x89\x24\xa7\x26\x92\x5a\xc9\x93\xd7\x46\xe7\x29\x7f\x4f\x66\x08\xd9\xc4\x5a\x3e\x5b\x67\x1e\xcb\xbd\x4b\xa2\x4c\x58\x94\xe5\x2b\xf5\xa1\x4a\x9d\xad\xcb\xdf\x07\x4a\xde\x0c\xfd\xef\x48\x3a\xee\x92\xc5\xe3\x1f\x91\x57\xb8\x4a\x94\x75\x5d\x97\x45\x63\x2f\x89\xc2\x0a\x12\xcd\xea\x7a\xfe\x56\xf6\xa2\x90\x6c\xce\x77\x26\x4f\x25\xa3\x5a\xd4\x86\x3a\x4f\xac\x6d\x14\x46\xc7\xe1\x2b\xde\xc7\x61\x17\xe5\xb8\xba\xc9\x0a\x77\x79\x49\x24\xf7\xcf\x27\x7b\x43\xb9\xb1\x6e\xca\x86\x8d\x24\xd2\x70\x6e\xdf\xc9\xde\x20\x64\x3d\x01\xf7\x05\xe8\x02\xb4\x01\x5d\x8f\xbe\x85\x90\x3b\x61\x76\xa0\xe6\x7c\x47\xd1\xbe\x22\x0e\xff\xe0\xfc\xf1\xc2\x42\xef\x87\x27\xc6\x0a\x0e\x7d\xf6\xf7\x66\x20\x44\x2c\x46\xc6\xb8\x19\xdd\x7f\xdf\x7b\x53\xba\xca\x8f\x95\x11\x7a\x9f\x40\xe9\x28\x8c\xe6\x78\xca\x29\xf5\xb7\xbe\x2f\xa5\x1c\x73\x88\x84\x73\x33\x54\xbf\xdf\xb8\xf9\x6f\x4b\x1f\x9b\x3c\x63\x57\x7a\xec\x54\x53\x2e\x08\xa3\x18\x3e\x8a\xeb\x90\x17\x21\xab\xb9\xda\x2b\x79\xee\xa0\xbd\x33\xbf\xfa\xc3\x2f\x99\x0e\x41\xe1\x9f\x13\x84\xa1\x3f\xf3\x2a\x6f\xdc\x20\x08\xcf\xf1\x8a\xf0\x34\xef\x81\xf7\x99\x0e\x33\x32\xf4\x89\x20\xc0\x0d\x66\xae\xa7\x79\x04\x68\x3d\x5a\x8f\xa7\xe3\xe9\x54\xb6\xf1\x7a\x14\xde\x4a\x97\x6c\x4b\x30\x62\x05\x4b\xb0\x0d\xc2\xed\x69\x6b\x1e\x84\x97\xc0\x65\x6f\x7b\x5e\x10\x8c\xcf\xc0\x26\x08\xcf\x0b\x2a\x6f\x1c\x33\x8e\xf1\xaa\xf0\xbc\x20\x80\xcd\xf8\xcc\x4c\x03\x3b\xd8\x79\x15\x77\xbc\x70\xca\xf7\x82\x59\x8e\x9d\x47\x2c\xf2\x0e\xff\x0f\x7e\x0d\xef\x41\x3e\xd4\x80\xce\xc8\xaf\x9e\x64\xed\x54\x0a\x6b\xe7\x89\x2b\x27\x47\x5b\xaf\xd8\x84\x45\xc6\x3c\x64\x36\x1e\xe5\x56\x61\xcf\xbf\xbe\xb0\x7d\xde\x7c\x88\x09\xc2\xe5\xbc\x2a\x18\x7d\x57\x7d\xf3\xc2\x17\x6f\x9c\x37\xef\x46\xd8\xf0\xc2\x7d\x4b\x97\xde\xf7\xc2\x9e\xa5\x4b\x8d\x43\x3d\xa2\x3c\x97\x4c\x51\x73\x65\x71\x24\x88\xf7\xcc\xdb\xfe\xc2\x85\x3b\xaf\x36\x7e\x2d\xa8\xc2\x65\x82\x00\xcd\xf3\xe6\xdd\xf8\x22\x29\x6e\xe9\x9e\xfc\x6f\x43\x65\x3f\xc9\x07\x51\x59\x7d\x92\x5f\xb3\x3e\x65\xfc\xfa\xd7\xc2\x7d\x29\x99\x56\xf3\x53\xec\xd7\xc0\xf8\x56\x8a\x23\xbd\x21\xca\xb3\x78\x91\x17\xef\xa1\xfc\x55\x4b\x41\xb2\x2d\xc8\xb3\xed\x29\x2e\xe9\xa9\x50\x15\x89\x09\xb6\x32\xc9\xf6\x8a\xb4\x2a\x81\x6a\x22\x9b\x6c\x0f\x33\x61\x9d\x74\x4e\x72\x03\xf9\xa9\xb7\x96\x3f\xf0\xf6\x1f\xde\x7e\x60\xf9\x5b\x4f\xad\xd9\xb6\xf1\xb5\xa3\xaf\x6d\xdc\x86\x7b\x4b\xa7\xcc\x81\x27\x33\xc6\x3b\x3f\xd8\xfc\xf6\x03\xcb\x97\x3f\xf0\xf6\xe6\x1f\x40\x24\xf3\x64\x3a\xbb\x75\xd3\x6b\x1b\x37\xbe\xb6\x69\x6b\x16\x61\xa4\x17\xf9\xbc\xfc\x5a\x50\x8e\xcb\x57\xc5\xb9\xb2\xb1\x8c\xa1\x50\x51\xd9\xf8\xdd\x57\x04\x71\x6f\x7e\x29\x14\xc9\xb2\x68\x74\xcb\x62\xae\x82\xae\x7a\x1f\x8b\xb2\xd1\x27\x8b\x46\x86\x2e\x60\x87\x45\x39\x2b\x8b\x83\x24\x3c\x58\xa0\x5f\x15\xaa\xc6\x3d\xb8\x07\xcd\x42\x0b\x08\xe7\x50\xcb\x10\x89\xc0\xe3\xe5\xbd\x9e\x5a\xc6\xa3\x2a\x32\x63\x91\xc1\x6b\xe1\x23\xbc\x45\x66\x2c\xa1\x60\x1b\x13\x6e\x03\x3e\x1c\x49\x47\xc2\x6d\x4c\x38\xd9\xde\xc9\xa4\x3a\x21\x92\x4a\x7b\xd3\xa9\x4e\x26\x55\x11\xb4\x28\x9e\x78\xaa\x9d\x59\xaa\x45\xc3\xdc\xf8\x16\xee\x96\x29\xcd\x0b\x59\x9f\x04\xf7\x71\xdc\x7d\x20\x57\xb2\x0b\xc7\x4d\xb8\x85\x8b\xc5\xb9\x70\x73\x6d\x21\xc7\xe4\xd8\x42\xd6\xe7\x60\x76\x5b\x2c\xbb\x19\x87\x8f\x5d\xd8\x36\xe9\x66\xae\x65\x3c\x17\x6e\xde\xfa\xfc\x75\xd7\x3d\x7f\x1d\xee\xe1\xee\x03\xc9\xc7\x2c\x1c\x37\xf1\x16\x2e\x36\xde\x12\x6e\x0e\x04\x1b\xc3\x96\xf1\x31\xee\x96\x29\xb1\x33\x59\x9f\xc4\xec\xe6\xb8\xdd\x8c\xe4\x63\xcf\x24\x39\x5a\xc6\x59\xc2\x4d\x75\x5a\x63\xd8\x32\x8e\x40\x8f\x2d\x64\x28\x74\x63\xcf\x75\xcf\x5d\x77\xdd\x73\x88\x37\xdb\x89\x53\x90\x1b\x79\x91\x86\x1a\x50\x14\xb5\x50\xc1\x8b\xf6\x5d\xad\xc0\x9f\x27\xc8\xcd\xab\x6a\x49\x28\xae\xce\x5e\x57\x62\xd4\x3f\x38\x06\xb1\x68\x07\xb8\x45\xf9\xf8\x8b\xb2\x08\xee\x8e\x28\xc4\x20\xd6\x11\xcd\xcd\x88\x76\xe8\xf9\x3f\x4e\xe9\x88\xea\xb2\x38\x77\xae\x28\xeb\x34\xd5\xe8\x1b\xea\x8f\x76\x74\x44\xd9\x3a\x3d\x37\x83\x39\x54\x7a\x21\x40\x76\x84\x38\x01\xff\x92\xf0\xfb\x6e\x32\x59\x81\xc7\xd2\x0c\x23\xea\x99\x62\x28\x14\x0c\x57\x30\x97\x09\x2a\xcf\xac\x14\x38\xf1\x20\x6d\x4d\xd2\xcc\x83\xa2\x7c\x50\xe4\x98\x75\xcc\x4a\x9e\xcf\x3d\x2a\x88\xb9\x7f\xa1\xcd\x7e\x95\x71\x3b\xed\x0c\x9d\x22\x62\x48\xfd\xa9\x9c\xec\x22\xb3\x30\x50\x0e\xab\x84\x01\x49\x98\x93\x0f\xb3\x94\xd4\x26\x2f\x6a\xab\xec\x59\x83\xaa\x1f\xf7\x1a\xdd\xd1\x8e\xdc\x16\x92\x80\xbb\xcc\x79\x7e\x90\xcc\x13\x74\xfc\xed\x41\x32\xaa\x46\xe3\xcc\x79\xc2\x1c\x70\x63\x4c\x76\xaa\xab\xa4\x8f\xd3\x31\xf0\x5f\x7f\x30\x47\x94\xf9\x80\x57\x8f\x92\x01\x45\x6e\xc6\xb6\x38\xa9\x8c\xd9\x53\x65\xbc\xa7\x98\x87\x3c\x3a\xcc\x3c\xaf\x1d\x7d\xcd\x21\x8b\xc6\x9f\x64\x31\x5e\xe0\xcf\x68\x9f\x1e\x7e\x10\x21\x4e\xc1\xbd\xc8\x46\xa4\xae\x28\xb0\x21\x56\x83\x04\x9b\x60\x13\xc0\x26\x58\x4e\xc9\x7d\x14\xfd\x34\x9a\xfb\x08\x0e\xfe\x52\xdd\xab\xbc\x69\x3c\x5c\xdd\x5f\x0d\xbb\x8c\x6e\xdc\x6b\xf4\x41\xcc\xe8\x26\x77\x73\x6c\x14\xc6\xb4\x8a\xda\x0a\xe3\x39\x31\x22\xd0\x52\x75\x49\x61\x14\x17\x08\xd8\x01\x85\x2e\xc4\x84\xb3\xaa\xff\x55\xc5\xe6\x30\x5e\x76\x84\xc9\xcd\xa6\xbc\xea\x67\x16\x53\x54\x4d\xc6\x33\x2e\xca\xec\x0e\x99\xce\x33\x19\xaf\xd3\xe8\x76\x3a\x61\x97\xd3\x0b\x87\x89\x50\x58\xca\x74\xca\xe2\xc1\x83\xa2\x5c\x46\xeb\xf1\x5f\x87\xd6\x3c\x6b\x09\x46\xd8\x02\xaa\xa7\x20\x76\x8f\x28\xdf\xae\x8a\x8e\xdf\x3b\xc2\x8e\xdf\x3b\x44\xf5\xf6\xaf\xa0\xb8\xd7\x69\xfc\xc9\xe9\x04\xb7\xd3\x4b\xfa\x3f\xd5\xc8\x7f\x5d\xdc\x1a\xdc\xa3\x3a\x75\x28\x18\x4e\xbb\x53\xf1\x53\xe0\xf6\xff\x4c\x84\xc4\x11\x14\x4f\x8a\x1b\x18\x7f\x72\x7a\x8d\x3f\x51\xba\xb9\xbd\x04\x3f\x54\xd8\x53\xa0\xed\xe8\x43\x13\x4d\x1e\xdd\xeb\xce\x0b\xd3\xa4\xd9\x22\xe1\xa4\xbb\x3d\xed\xce\x00\xa7\x05\x2d\x3c\x6b\xf1\x74\xe4\x15\xc6\x1d\x10\xcf\xeb\x7c\xe3\xa9\x08\xdb\x0a\x03\xcc\xc7\xa2\x9b\xfd\x21\x2f\x70\x76\xdf\xf1\x17\xed\x01\xc6\x02\xfc\xcb\xac\x9b\xd9\x9d\xeb\x13\x2b\x98\x73\x18\xbb\xd8\x23\xba\x99\x30\xe3\x16\x07\xf3\xcf\x1e\xd1\xce\x9c\xc3\x54\xe0\x5e\x49\xcc\x6d\xaa\xf4\x19\xe7\x90\x1f\x09\xd8\xe1\x83\xef\xfa\x2a\x99\xbb\x44\x29\x2b\xd9\x8c\x8c\x4d\x92\xc4\xfb\xc4\xfc\xcd\x06\x87\x6d\x52\x19\x3d\x23\xa7\x6a\x6b\x2f\x5d\x92\xbf\x6a\x38\xdd\x99\x73\xb9\x72\xce\xca\xca\x93\xd2\xee\xfc\x1f\xd9\xeb\xed\x3f\xb2\xdb\xc8\x6a\x67\x43\x50\x5c\x57\x1b\x11\x82\x74\xaa\xd8\xc7\x3b\x21\x1c\x2a\x42\x4f\x26\x0a\x28\x31\x89\x38\xfb\xc2\xad\xbc\x4d\x16\x8d\x1e\x1b\xe6\x6f\xbe\xfc\xc6\x4d\x79\xd0\x3d\x23\xf0\x36\xff\x18\xd7\xdf\xca\x63\x9b\xd1\x23\xca\x36\xfe\xe6\xae\x3c\xec\x4d\x9b\x47\x90\x2e\xac\xe9\x40\x61\x57\x11\xce\x63\x0c\xe8\x6a\x88\x42\x74\x13\xf0\xa1\x60\x84\x37\x6b\x9f\xa0\x2a\x4e\x4f\x22\x9e\x01\x13\x17\x9b\xb1\xdb\x86\xf9\x5b\xd6\x13\x5c\x7a\x28\xfc\xff\x31\x1f\x0f\xde\x42\xde\xc2\x25\x22\x27\xdc\xbc\x7e\xfb\xa6\xd7\x36\xe6\xf1\xda\x6d\x93\x6d\xfc\x2d\x73\xf3\x28\xe5\x5e\x25\xf7\x2d\xb7\x08\x9c\x08\x97\xd8\xf2\x18\xd3\x1d\xf2\xf2\xb5\x7e\x44\x76\x7a\xe4\x44\x19\x90\x2b\x97\x64\xcb\xd6\xf9\x44\x19\xd7\xc4\xff\x83\xdf\x5f\x4b\xe4\xdd\xfc\x14\xc4\xfe\x78\xe8\x59\x12\x61\xcf\x12\x65\x39\x27\xc4\xf3\xb3\x92\xfc\x16\x61\x15\xf2\x6c\xc3\x8f\xfe\xee\xd4\xd1\xdc\x49\x56\x16\x47\x80\xea\xf9\xb9\x7b\xd4\x2d\xfb\xf7\x25\x8e\x8c\xf9\x2e\x3a\xe6\x89\x54\x90\x6c\x0f\x87\xb4\xa0\xc5\x0f\xa1\xd1\x8d\x11\x32\x95\x71\x84\x42\xec\x8e\xcd\x8b\x8c\xbe\xb3\xb6\xe8\x74\x7d\xde\x41\xee\xb9\x7d\x01\x25\xab\x04\xd8\xba\xec\xa2\xcd\x5b\xce\xca\x92\x04\x92\xcc\x2c\x8d\x76\xf4\x90\x75\xb0\x27\xbf\x46\x10\x39\xda\x4a\xf5\x9d\x74\xe2\x0d\x91\x56\x8f\x7b\x49\x2f\xe0\x25\x36\x14\x6c\x85\x48\x2b\x13\x0a\xd2\xfd\x81\x70\xd2\x95\x81\x74\x2a\xc0\x7a\x03\x4c\x22\x9e\x4e\x5d\x1b\x27\x44\x60\x7f\x8c\x39\x27\xab\x9d\x36\x75\x7c\x4d\x55\x67\x53\x24\x1a\x9b\x15\x38\x7b\x2e\x2f\x58\x38\xc9\xb3\xb5\xc3\xdb\xd8\xea\x9e\x88\xa3\x2d\xa7\xfb\xd7\x2c\xe4\xa9\xda\xe2\xe7\x38\x21\xca\xe3\x18\x8b\xcb\x58\x6e\xb1\x74\x2c\xac\x77\x38\x24\x49\x96\xe5\x89\x1c\xcb\xcb\xf0\x52\xfa\x1c\x96\x61\x6d\x16\x05\x24\x49\x3a\x47\xc8\xef\x96\xe2\x5e\xbc\x1b\x69\x68\x3c\x9a\x96\xe7\xe5\x47\x38\xcf\x56\xa8\x93\xa0\x24\x9e\x01\xb6\x8c\x35\xd5\xca\x59\xd7\x0f\x8e\xfe\xee\xb1\xd5\x94\xd8\x3b\x3f\x30\x06\x3f\xd8\x49\x83\xab\x1f\x6b\x7a\x54\x30\xf7\x56\xec\xcc\xca\x62\x10\xef\x5e\xfd\xd8\xef\x36\x19\x7d\x74\x56\x8e\x5d\xff\xcb\x8d\x1b\x7f\x79\x7d\x21\xb6\xe9\x77\x8f\xe5\x7e\x6c\x17\x8c\x76\x92\x19\xfe\x9d\xdc\x47\xc2\x85\x76\xfc\x15\x9e\xc5\xbe\x8f\x54\x32\x77\x17\xb4\xa0\x91\x86\x70\x01\x97\x0e\x88\x73\xe9\x54\x5e\x4b\x6b\xce\x85\xc1\x36\xe0\x4d\xb9\xaf\x13\x22\x79\xb9\x0f\xa6\x01\x63\xb5\xdb\xad\x86\xa1\xfa\x4c\x06\xd8\xc7\x2c\xdd\xca\x2b\x7c\x90\xe7\xb7\x6e\xe5\xf9\x20\xaf\x90\x27\x8d\x5f\x75\x95\x19\x67\x5b\x9f\xb1\xf0\x84\x93\xe6\x2d\xcf\x48\xe6\x52\xbc\xe3\x24\x59\xcd\xb8\x20\x14\x71\x66\x37\x52\x9c\xdb\x4e\x86\x73\x43\x82\xee\x40\xf2\x16\x19\x82\x6d\xd0\x0a\xe9\x54\xb2\x3d\x12\x4e\x75\x42\x6a\x0c\x4c\xe1\x2d\x2c\x5a\x56\x9e\x6b\xb1\xb1\x56\xde\xcf\xb3\x96\xd9\xf3\x2d\xac\xe0\x1f\x0b\x3f\x1d\xac\x37\xfe\xd3\xfd\xd7\x5b\x01\x2c\x5e\xde\x2d\xac\xb9\x6e\xc7\x3a\x41\xe1\x3d\x74\x6b\x9c\xf4\x83\x7f\xc5\x17\xb2\x7f\xa4\x2b\xf4\x5c\xc2\xd1\x98\xbb\xa0\xbc\x85\x0f\x15\x91\x08\x9b\x58\x70\x7f\x23\xd6\xec\xeb\xac\xcd\x72\xeb\x8c\xa9\xbc\xc8\x5a\xf9\x26\x81\xb1\x6c\xe8\x48\x5b\x18\x6b\x13\x9f\xdb\xfe\xb5\xab\xf3\x47\xb0\xbe\xf0\xce\xda\x37\x16\x13\xa9\xdd\xa2\x08\x3d\xcf\x9f\xfb\xcc\x2c\xab\x62\xd1\xb8\x1f\x7d\xad\x7a\xaa\x16\xb3\x9e\x8e\xe2\x7a\x6f\x45\x2a\xf2\x21\x3f\xe5\xf3\x5b\x50\x07\xea\x44\xa7\xe5\x75\x93\x08\x12\x6a\x48\xd5\xd4\x90\x4b\x83\x90\x9a\x50\x35\x57\xc8\x15\x4a\x6a\x9c\x4b\xa3\xff\xb8\x50\x32\x41\x2e\x48\xb8\x34\x57\x82\x3c\xd5\x90\x1a\x4a\x86\x92\x89\x64\x3e\x17\x5f\xc8\x41\x9e\x5a\x52\x83\x63\xba\x6e\x74\xeb\x70\x8c\x39\x94\xcd\x1a\x7d\x59\x9d\x59\x7a\xfc\x45\x88\xc1\x2e\x88\x0d\xf5\xeb\x3a\x73\x48\xd7\x73\x33\xb2\x86\x3d\xab\xc3\xb1\xac\x9e\xd5\xf5\x2c\xc4\x72\x33\x20\xa6\xeb\x3a\xbb\x43\xd7\x0d\xbb\xae\xc3\x31\xc2\x79\x92\x98\xce\x2c\x35\xec\x24\x07\xc4\xb2\x3a\x65\x4a\xfb\x48\x88\x64\x33\xec\x70\x4c\x37\xfa\x4c\x35\x64\xb6\x98\xde\x47\x35\x92\x05\xbd\x1e\xa9\x3b\x8b\x78\xca\xff\x12\x39\xa7\x1a\xd5\x92\x59\x30\x1d\x72\x25\xdc\x21\x57\x02\x4a\x9e\xa0\x25\x35\x6f\x28\x99\xf0\xe6\xeb\x63\xaa\x37\x61\x57\x36\x4b\x1e\xb1\x6c\x76\xa8\x3f\x0f\x24\x1f\xcf\xb2\x47\x87\x2a\x47\x5f\xc7\x17\xea\xfa\x72\xf2\x67\xf6\x7d\x11\x3f\x89\x7b\x91\x03\xa9\x08\x59\x8b\x1a\x1e\x77\x7b\x2a\x81\xc3\xa6\x78\x08\xc7\x98\xfd\x82\x60\x8c\x13\x14\x21\xb7\x04\x64\x11\x4e\xeb\x58\xd4\xd1\xb1\xa8\x03\xf7\xe6\x96\x08\x0a\x79\x21\x30\xfb\xe1\xb7\xa2\xfc\xf3\x8e\x8e\xc5\x1d\x1d\x85\xbe\x2b\x72\x6f\xd1\x72\x7d\x48\x2b\x2f\x59\xcb\xc7\xda\xc0\x0a\x27\x83\xc2\x5a\x8a\xf1\x09\xb0\x2f\x37\xc3\xf8\xd5\x49\xa0\x16\xa3\x13\x60\x3f\x73\x68\x04\x07\x28\xae\xfb\x61\x2a\x2f\xaa\xae\x02\xe3\x45\xd6\x16\x19\x2c\x64\x55\x29\x5d\xfa\xc9\x60\x8e\xb1\x13\xe7\x56\x4c\x15\x44\x59\xcc\xcd\xf0\x55\x4c\x15\x38\x91\x39\x44\x46\x01\x59\x02\x2b\xee\xac\xc0\xbd\x73\x87\xb6\x99\xe9\xec\x4b\xa2\x6c\xe6\x1c\x9a\x43\x97\xc7\x5f\xf8\x2a\xee\xac\xa0\x70\xb3\xc3\xc3\x74\x2d\x13\x0b\xdc\x85\x95\xf0\xf3\x74\x3b\xd4\xc8\x18\x19\x3f\x11\x21\x8e\x6f\x87\x43\xc6\x69\xf8\x7a\x53\xd7\xc6\x16\xfb\x81\x8a\x4e\x47\x67\x13\x7c\x29\x6f\x4b\xd8\x5a\xb2\xf6\x75\x02\xe5\x68\xc9\x72\x28\x83\x04\x04\x61\x32\x9e\x9b\xf3\x9a\x79\xc2\xf1\x96\xf0\x0e\x34\x4e\xea\x49\x4a\xc9\x57\x34\x45\xf2\xb3\x29\x63\x86\xcd\x09\xf3\x79\x69\xa2\xc5\x2b\xc2\x61\xd1\x6b\xc9\x48\xfc\x22\x70\xc2\x92\x1e\xd1\x83\xe7\x63\x8f\x98\x7b\x37\x1f\x28\x2a\x2b\xa8\x56\x22\xaf\xc2\x78\xce\xb0\x53\x56\xd9\x26\x32\x4b\x45\x1b\xe1\x99\x09\xb3\x60\xfc\xaa\x52\xbd\x8c\x4c\x1a\x97\xa9\x95\xd0\x22\xca\x46\xb7\xc3\xfa\xa0\xd5\x41\x6f\xb2\x98\xdb\x52\x2c\xc9\x2c\xee\x0e\x51\xce\xed\x1b\x61\xa1\x47\xef\x45\x92\xd1\x1f\xa5\x12\x7e\x22\x1e\x60\x6a\x4f\x94\xd7\x32\x18\xd4\x44\x12\xe7\x35\x17\xf5\x71\x8f\x62\x09\x86\xdb\xe1\x58\x76\xc2\xf9\xed\xf5\xbc\xa5\x87\xac\xf8\x43\x95\xe4\xde\xc3\x58\x23\x89\xf3\x21\xab\x1b\xbf\xf8\xd1\xad\xb7\xfe\xe8\x56\xe3\x7f\x97\x4c\x9e\xbc\x64\x32\xee\x8a\x76\x74\xa8\x4a\x29\x77\x20\x54\x9f\x9e\x6c\x26\x83\x72\xe6\xad\x24\xa7\x30\x99\x64\x34\xd7\x86\x24\x6d\x97\x83\xa8\x8e\x8c\x48\x2b\x78\xbc\x01\xa8\x05\x55\x4b\x12\x82\x6a\x16\xde\x12\x60\x12\xaa\x96\x4c\xa5\x33\xd0\x09\xc0\x6a\x2c\xf3\x5d\xb8\x51\x69\xac\x68\xb0\x8a\xc6\x05\xc9\x98\xeb\x2c\xe3\xea\x49\x41\x9b\xb5\x29\x1e\x30\xbe\x33\xa1\xc6\x5e\xc5\xf3\xf0\xad\x67\x60\xf1\x5e\x7c\x70\xa8\x2a\xde\xe4\x56\x81\x99\x3e\xfd\x9c\x96\xdf\xdd\xbd\x2c\xd8\x5a\x63\x9f\x3e\xbd\xb2\xc6\xde\xe0\x70\xb0\x1f\xe7\xce\x85\x7f\x33\xfb\x05\x91\xff\x3f\xc1\xbd\x28\x82\xe2\xd4\xa6\x21\x60\x51\x15\x89\x0d\x69\xc9\x0c\x10\x5e\x00\x47\x92\x1c\x55\xf5\x49\x0c\xdf\x40\x2d\x01\x5a\x99\x66\xc8\xdb\x04\x34\x03\xf3\x67\xce\x9d\x1c\xd7\xd1\xe4\x4f\x2f\xbd\xfc\xb2\x71\x86\x3d\xda\x01\x16\x9b\x57\xab\x82\xff\x9c\xb8\x79\x75\xa6\xb6\xa5\xc5\x69\x7c\xeb\xce\xf9\x6b\x5d\x4d\x8b\x32\x5b\x7e\xb3\xf0\xac\x6b\x57\x3c\xc2\xdc\x08\x7c\xa5\x3f\x31\xe9\xac\xd6\xd3\x36\xcf\x4f\x57\x2d\xe3\x13\x8d\x6c\x47\xa5\x52\x63\x73\x5a\xf9\x59\x10\x3d\xe3\xca\xd3\x12\xcb\x27\x35\x5b\xc7\xaf\x9a\x13\xed\x68\xaf\x1e\x7a\xf6\xa2\x85\xe7\xde\x48\xfb\x3c\x42\xec\x06\xca\xbf\x21\xf0\x4a\x40\xe4\x32\x2f\x25\x8c\x3b\x45\xb0\x0c\x47\x92\xec\xe5\xcc\xa2\xe9\xfc\x0e\x6b\x6c\x8e\x61\xff\xa1\x74\x80\x65\x65\x7b\xad\xea\x75\x58\x70\xef\x44\x77\xb2\x71\xe8\xe5\xf1\x8d\x96\x55\xab\x9c\x67\xb1\x53\x5d\x55\x6e\xa7\xd5\x66\xe1\x59\x66\xa2\xa9\x1f\xf8\x5e\x5e\x3f\xd0\x40\xd7\xe7\x50\x7b\x2b\x47\x24\x52\x8f\xd9\x0e\x19\x96\x48\xa5\x12\x47\xd6\x06\x2e\xe4\x4a\xf0\x91\x84\x2b\x94\xe6\x94\xb8\x60\xf3\xb9\xc3\x95\xbe\x6c\xdc\xe7\x33\xba\xb1\x14\xac\xf2\x64\x7d\x95\x61\xb7\xcf\x26\xc4\xd9\xa3\xc7\x1f\x98\x3b\xf7\xda\x6b\xe7\xce\xbd\x96\xdd\xa1\xd6\xa9\x92\xc0\xc2\xd0\xb3\x1e\x1f\x30\xba\x0e\x9c\x55\x95\xd8\xb3\x80\x15\x24\xb5\x4e\x85\x58\x76\xa8\xff\xa9\xa7\xd8\xba\xa7\x10\x83\xb4\xe1\xef\xe1\x6f\x7d\x1d\x3c\xdc\x7c\x52\x53\x23\x69\x55\x4b\xe2\xae\x53\xe3\x71\xda\x53\x66\xf1\x45\x34\x72\x5b\x4a\xd0\x60\xee\x28\xa2\x71\x7c\xfb\xb5\x26\xc6\xf9\x7d\xac\xde\xf2\x7d\xac\x52\x99\xe1\x6f\x8d\xc7\x99\xa5\x74\xf3\x60\x1f\x55\x1f\x1d\xa5\x56\x1b\x95\x34\x3c\x62\xc1\x41\xb5\x48\x7e\xf5\xf8\x8b\xf9\x0d\x86\x82\x36\xd6\xe8\xfb\xea\xf0\xd7\xc1\x99\xfd\x0a\x1c\xcb\xdf\x0f\x96\x6c\x78\xbc\x50\x82\xdb\xfb\x27\x49\xff\xff\x07\xce\x90\x1c\x2d\x9f\x95\xc7\xdd\x5f\xf1\x1e\x8e\xf9\xd5\x11\x52\x1b\xdd\xa5\xc4\xce\x96\x52\x9b\x20\x32\x82\x3b\xfb\x52\x51\xf5\x6d\xfc\xf7\x57\x04\xd1\x3f\xa4\x7f\x94\xd0\x51\xfd\x1a\xe1\xbf\x99\xd6\xc2\x98\xfb\x6d\x44\x46\xff\x87\xef\xb9\x7d\xe5\x9e\xdc\xc8\xb6\xc3\xb4\x92\xe1\x50\x42\xf2\xbf\x2b\xbd\x94\x54\x63\x13\xe7\xff\x96\x8a\x90\x65\xf8\xc1\x3c\x4d\x59\xba\xdf\xdf\x84\x26\xa1\x39\x08\x69\x21\x57\x07\x33\xba\xca\xe5\xcd\xcd\xf1\x94\x75\x2e\xdf\x1f\x2a\xcf\x06\xbb\x74\xbd\x67\x04\x28\x1c\xa3\xbb\xd6\x76\x52\xd9\xc1\xa7\xb2\x59\x38\x0c\x31\x9a\xd2\x47\xee\x25\x33\xcc\xc9\x7a\xc7\xe0\xb5\x73\xf5\xb9\x07\x4f\xd2\x43\xf2\x16\xaf\x9c\x52\xb4\x5f\xc8\xd7\xa7\xbc\x7f\x98\x5c\x72\x59\x85\x88\x3c\x10\x49\x7f\x55\x85\x46\x9a\x9a\x5d\xa3\xeb\x43\xcf\x96\xd4\x08\xb7\x65\xb3\x4f\x3d\x75\xfc\xa3\xaf\x51\xa5\xe3\x2f\xe2\xae\x52\xd4\xb3\xfa\xdc\x6b\xaf\x3d\x79\xb5\x28\x0f\x9e\xc5\xbd\xec\x51\x24\xa3\x8a\x13\xf5\x51\x56\x66\x2e\xf3\x71\x6d\x2c\x56\x9b\xab\xa8\x8d\xc5\xf0\x0e\x2a\x74\x1c\x8d\xd5\xe6\xb6\x90\x44\xe6\x8e\x5a\x2a\x97\x40\xac\xc8\x43\x12\xfa\x78\xe9\x9e\x44\xb9\x2d\x87\x2b\xcd\x45\xc0\xed\xc2\x79\x9e\x29\x86\x97\x56\x54\x55\x55\x1c\xdf\x57\x51\x55\x35\xe7\x73\x68\x9a\x03\x0d\x7f\x1c\x7a\xab\x7b\xfe\xfc\xee\xf9\xb8\xab\xaa\x62\xc8\x4e\xde\xb2\xc7\x2a\xaa\xf4\x5c\xed\x4b\x37\x3d\x08\x19\xa3\x1f\x8e\x6d\x9a\xbf\x61\xc1\x82\x0d\x26\xde\xbf\x45\x1c\x4e\xe1\xbb\x91\x07\x05\x10\x82\x78\x00\x54\x85\x97\x40\x06\xb2\xde\x27\xdb\x33\x8c\xa7\xb0\xbd\x74\xdb\xe6\x9f\x5e\x39\xf3\xf4\xe7\x53\x29\xab\xb6\x62\xe9\xe5\xd1\xc9\x33\xae\x7c\xe4\xfb\xdf\xdf\xbe\xfd\xfb\xdb\xf1\xdd\x5b\x7f\xb6\xf9\xca\x6f\x5d\xfe\xdf\x9d\x19\x41\xbb\xf8\x92\xfb\x66\xef\xd8\xbc\xf4\xb1\xab\x67\xff\x64\xfb\x0f\x6e\xbc\xf1\x07\x25\xfb\x85\x7b\x68\x9d\x46\x6b\x55\xc1\x65\x2a\x36\xcb\xb5\xa8\x73\xa9\x2a\xb3\x4c\x71\x3a\xb4\x81\x5d\x42\xf5\x97\xa4\xcc\xcd\x88\x65\x7f\xcf\xc9\x79\x7d\xa5\xc9\x51\xf1\xad\x6c\xb2\x3d\xc3\xb1\x12\xe3\x0d\x60\xaf\x87\x70\xdc\xe1\x48\x2b\x13\x09\xa7\x53\xa1\x30\xd3\xa4\x9e\xb1\xe0\x9c\xf9\x99\x86\xc4\x92\xee\x6b\x3b\x17\x3f\xb0\x6d\x4e\x7d\x67\xd7\x39\x0b\xcf\x38\xe4\x8d\x36\xb2\x50\xad\x8d\xaf\x71\xab\x1e\xc6\xc2\x58\xad\x5c\x45\xd4\x5e\x55\xc7\x08\x02\x27\xcf\xfe\xd6\xe6\xab\xae\xdc\x7c\xeb\xe9\xb3\x6e\x58\x31\x33\x8c\xb9\x49\xab\x77\x2f\x3b\xfd\xd6\x2d\x57\x6e\xdd\xb2\x2b\x67\x68\x73\xb7\x4f\x6a\x98\x16\x09\x49\x02\x6f\x77\x06\xc5\x4a\x1e\x3b\xa7\x45\x97\xbd\x64\x83\xa2\x2c\xf0\x06\xbe\x0c\xd9\x51\x13\xe5\x34\xd2\x19\x26\x40\xad\x9e\x99\x06\x2d\xee\x2d\x35\xb5\x99\x02\xe9\xd2\xae\x02\x7c\x1a\xd8\xa3\x97\x31\x16\x45\xf5\x4b\x1e\x91\xb3\x5c\x96\xe3\x60\x57\x3c\xfd\x8a\xb1\x8b\xb0\xba\x70\x2c\xda\x91\x7d\xe5\x31\xa3\xfb\x89\x97\x5f\x66\x27\x18\x3d\xff\x94\x86\xd5\xec\x67\x57\x02\xc3\x60\x59\xf2\x34\xd9\xc4\x2b\xb3\x8e\x57\x3a\xa2\x84\x4d\xec\x88\xbe\x94\x35\x5e\x7c\xe2\xe5\x97\x9f\x80\x5d\x4f\xbc\x6c\xfc\xa7\xd1\x13\xdf\x0f\xab\xf3\x7a\xba\xef\xe0\x2e\x54\x8d\x52\x44\x4a\xb1\xf0\xa5\x1a\xba\xb4\x5a\xa2\x47\xcd\xdb\x0f\x46\x92\x61\x89\xe5\x33\x96\x74\x32\x03\xb0\x02\xd6\x3e\xde\xfe\x93\x22\x2e\x2f\x3f\x41\x71\x61\xae\x87\x45\x82\x60\x3c\xc3\xdb\xa0\x6a\xa2\xbe\x78\x69\x95\xd8\x3a\xf1\x8c\xa9\x33\x9b\xdc\x60\xc3\x5d\xdf\x4e\x15\x30\xda\xb3\xa6\x80\x4f\xb5\xf1\x2b\x5e\xe5\x8d\xff\xb0\x60\xeb\x1b\xc0\x38\x3c\xe3\xb4\x8e\x0b\xa7\xb5\xfb\x15\x1e\xde\x12\xb9\x11\x7d\xe2\x43\x54\x9e\x48\x52\xe9\xaf\x9c\x6c\x6a\x29\xd9\x46\x6c\x1b\xda\x4a\x6d\x1b\x56\xc0\x8a\xc9\xa7\x3d\x6f\x3c\x56\x8e\x2f\xfc\x0c\xee\xe4\x55\xfe\x22\x9e\xcf\xfd\x89\x57\xf9\x2f\x78\xfe\x22\x5e\xe5\x37\x08\x0a\xee\xf2\x3e\x57\xc0\xf6\xf4\xec\x6f\x8b\xe4\x4b\xc0\x9d\x66\x9e\xdc\x1f\x79\xfe\x0b\xf3\xa7\x1b\x78\x2a\x2b\x8a\x54\xfe\x7e\x92\xf0\xf6\xd6\xe2\x1e\xa2\x9a\x48\xb6\x17\x0d\x30\xa7\x40\x48\x1d\xb5\x8d\x95\x0c\xa9\xa6\x29\x66\x1a\x52\x1e\x3f\x24\x92\xa1\x60\x18\x32\x20\x08\x8a\x00\x98\xe7\xc4\xfd\x59\x51\x28\x58\x60\x66\xf7\x8b\x1c\x6f\x0c\x15\xcc\x2a\x0f\x66\xa9\x2d\x26\x79\x2d\x66\x0f\x8a\x1c\xdb\x53\xcc\x78\x40\xc4\xbc\x31\x44\xc8\xfa\x39\x8f\xc5\x03\xa5\x19\xc9\x2b\xb0\xf2\x2a\x0f\xd8\x7c\x95\xe7\xf7\x77\xe0\x2e\xc2\xef\x9b\x5a\xd4\xa2\x89\x68\x89\xe2\x71\x50\x57\xfd\xf0\xa6\xac\xaa\xb2\x31\xce\x9c\xf4\xa8\xf9\xd3\x1c\x78\x4d\x12\x08\xd3\x23\x48\xf0\x9a\x31\xa7\xc0\x74\x96\xd8\x5f\x52\xbb\xf7\x92\x72\x4b\x0b\x1f\x05\x21\x9e\x87\x50\x80\x32\x26\xa4\x13\x00\x8e\x01\xf7\x21\xe4\xc3\xbd\x38\x81\x54\xba\xcb\x5a\x80\x64\xd2\x98\xc2\xc7\xbd\xf9\xf2\x15\x59\x86\x3f\x9a\x10\x71\xd5\xa8\x32\xfb\xa5\x26\x72\x2b\x00\x34\x75\x01\xc8\x83\x13\x38\x85\x6c\x08\xb9\x4b\x2c\x6a\xff\xc2\xb6\x56\x54\x0c\xbd\x55\xe1\xf3\xe1\xb8\x21\xd9\x02\x36\x43\xb2\x49\x04\x1b\x89\xda\x46\xeb\xec\x0e\xba\x1e\xd4\x16\xa8\x70\x72\xe5\xee\xe0\x58\x06\x52\xec\xd1\xe2\x66\x70\x09\x07\x4f\xc2\x26\x4e\x3a\xee\xa2\xe5\x23\x28\xdd\x4c\xd6\xe2\x1e\x42\xb5\x91\xcc\xec\x4b\x25\x85\x14\xce\x25\xf8\xb0\xbb\x40\xa7\xf6\x12\x2b\xe1\x7c\xc5\xbc\x70\x4c\x25\xf4\x21\x74\x52\x8d\x71\xa4\x55\x18\x1d\x5e\x52\x05\xc9\xa8\x93\x9a\xc8\x4d\x50\xe1\x25\xa3\x43\x12\x48\x6d\x05\x09\x21\x18\x36\x10\x83\x5f\xc0\x0b\xa8\xe6\x3f\x1d\xf7\xa8\x6e\xc5\x12\xe2\x83\xe1\x24\x4b\xca\x34\x6f\xa4\xe0\xc2\x0d\x57\xea\x4a\x80\xa3\xad\xcc\x18\xe3\x25\x95\x31\xe2\xb2\xca\xa9\x32\xbc\xc5\xd0\x9b\x1f\xcf\x07\x93\xa7\x06\xbf\x0a\xdf\x33\x26\xc9\x56\xf2\x98\x28\x59\x15\xf6\xa8\x6a\x95\x8d\x0c\xbc\xa4\x58\x25\x63\x0a\xbc\x44\xe9\x01\x31\xba\xc7\x4e\xfb\xf2\x68\x2b\x8f\x62\x9d\x5c\xed\x29\xf6\xac\xe2\x02\x4e\x6b\x05\x6f\xd2\x2e\x66\xca\x49\xa5\x35\x32\x3a\xcc\x72\x19\xa4\x93\x75\x1d\xcf\x46\x36\x54\x4d\x75\x07\x45\xbb\xe9\x72\xfe\x84\x79\x16\x3e\x93\xad\x9e\xe3\x1f\x7b\xac\x32\x7c\x26\x37\xe5\x3e\x2f\x11\xc2\xf0\xc4\xdc\x07\xb2\xc7\x23\x33\x35\x72\x6e\x76\x09\xeb\x00\xe8\xb6\xe1\x21\x76\x33\x9e\x83\x38\x84\xac\x0c\x6f\x05\x76\xb3\xf1\x28\xac\x7c\x2d\xf7\x1b\xa6\x91\xdd\x61\x3c\x62\x3c\xf2\x53\xa6\x91\x9a\x26\x23\x80\x8e\xe1\x21\xdc\x98\xcf\x0b\x11\x2b\xa4\x71\x63\xee\x9d\x9f\xc2\x2a\x92\x29\x44\x43\xb0\xea\xa7\xa3\xd6\xdb\x44\xd9\x7a\xcb\x85\xf2\x1b\x32\xa6\x86\x49\x2d\xa8\x9d\x12\x54\xf7\x14\x6e\x86\x64\x7b\xb8\x7c\x2d\xbe\x56\x57\xfd\xe6\xd6\x0b\xc5\x39\x1f\x2c\x5b\x9b\x7f\x58\xf6\x3a\x1f\x44\x65\xeb\x7f\x6d\xf9\xfa\xaf\x99\xa8\x98\x13\xfa\x09\xb0\x99\xd3\x29\xe3\x66\xb2\xa5\x65\x10\x8d\xeb\x4a\xe8\x78\xaa\x3a\xe3\xa0\x0c\x91\x70\x50\x06\x8b\x52\x0b\x3c\xb9\x79\xe2\x9d\xe0\xa5\x56\xef\xed\x6d\x90\x26\xb7\xf2\x3a\x7f\xe8\xb3\x6e\xdd\x6a\xf5\x59\x77\x5a\xc9\xd3\xba\xd3\x5a\x16\x2f\xc3\xe5\xc0\xd8\xb9\x8a\xf1\x51\xf8\xd5\x97\xd3\xa0\x88\x9c\x27\x9e\xa6\x28\x85\x83\x7c\x39\x42\xea\x62\x5e\x15\xee\xe4\xf9\x4f\xc9\x0c\x7e\x15\xcf\x93\xb5\xab\x9c\x20\xe3\xcf\xe6\xf9\x3b\x05\x45\xf8\xb3\x20\xc0\x55\x66\x76\x54\x66\x27\xd0\x81\xe6\x96\xf7\x88\xa0\xc4\xaa\x4a\x07\x78\xd2\x19\x30\xcf\x3d\xf0\x41\x89\xe3\xe9\x8e\x7c\x86\x4d\xb6\xb7\xb2\xee\x62\x77\x19\xb3\x8d\xa0\xd3\x3f\x79\x7a\x5c\x53\x6e\x0a\x70\x16\x7f\xad\xe2\x95\xdc\xe0\x93\xaa\x2a\xdc\x76\x06\x1c\xd2\x01\x3e\xd0\x18\xaa\x0c\x26\x66\x4c\x9e\x34\x62\x38\x35\x1a\xed\xbb\x6d\x81\xb6\x05\x71\x1f\xe7\x54\x9c\x6a\x85\xd7\xc3\x0b\xbc\xa4\xd4\x34\xf9\x04\x97\xb3\x71\xc2\x79\xa9\xb6\xd9\x4d\xd5\xd6\xdc\x7f\x95\x5a\xa0\xb1\xa3\xfa\x53\x66\xcc\x1e\x3e\x82\x2d\x3b\xd2\xd9\x43\xa3\xfb\x5a\x33\xb8\x4e\xac\x4c\xcf\x88\x8e\x93\xee\x9c\xcc\x9d\x3b\x62\x11\x32\xb7\x1c\xf5\x25\x23\x68\x19\x7d\xe5\x9b\xa3\xd4\x4a\x63\xc4\x0e\xa2\x0d\x5d\x60\xce\x4c\x7e\x08\x80\xb7\x28\xef\x48\xc0\x17\x6d\x10\x5b\x21\x52\x34\x43\xcc\x40\x3a\xd9\x9e\x72\x17\xdf\x49\x30\xb2\xc7\x1c\x00\x6f\x71\x07\x35\x03\xe9\xe2\x6f\x5a\x81\x71\xf4\x88\xf2\x9a\xdd\xd5\x74\x1f\xf8\x70\xf5\xee\x35\x14\xb7\x51\x09\x2f\xd3\xa4\x19\x17\x7b\xf7\x91\xa4\x7d\xde\x8b\x67\x94\x27\xe0\xde\x93\xfd\x76\x24\xc1\xf8\xf9\x49\x7f\x5e\x48\x28\xb3\xa7\xe8\x3c\x85\x3d\x05\xef\x3d\xe5\x46\x62\x2d\xa4\x4f\x65\xad\x72\xff\x54\x9e\xdf\xb6\x8d\xe7\xa7\xf2\x2a\x79\xaa\x7c\x59\xfc\xa4\xe6\x17\xe7\x9e\xec\x17\xf9\xf8\x09\x36\x36\xa7\xb2\xb5\x22\x75\x18\xcd\x7c\x9e\x12\xe9\x9b\xd6\xf1\xbc\xf1\x63\x41\x11\x7e\x26\x08\xeb\x78\x95\x5f\xf0\xda\x29\x10\xbd\x96\xe4\x30\x5e\xe5\xf9\x37\x78\x95\x5f\x27\x08\x0b\x5e\x2b\xc7\xad\x12\x69\x27\x8e\x6b\x50\x15\x2f\x84\xbd\xa6\x79\x46\xb2\x7d\x2c\x19\x6b\x1a\x33\x77\xed\x67\xb9\x1f\x5c\x72\xe5\xa6\xd7\x36\x9e\x08\x7e\xd3\xd6\xb5\xcc\xdc\x69\x6f\xe6\x7e\x90\xd9\xf8\xda\xa6\x2b\x4d\xde\xc1\x8b\x16\xe1\x5e\xf6\x4b\xc2\x3b\xb8\x29\x5b\x55\x7a\xa6\x91\x30\x5b\x11\x46\x74\x7a\x99\x30\x15\xab\xdf\xf5\x3a\x73\x7f\x75\x32\x33\xe1\x69\x87\xa8\x1a\xef\x9b\xc6\xca\xef\xab\xa2\x03\x9e\x76\x84\x0b\xbc\xc8\x22\xbc\xc7\x2c\xcf\x5a\xe4\x43\x4a\x4f\x45\x32\xd7\x33\xa2\x93\x14\xe3\xcd\xbd\x4b\x25\xf6\xb0\x97\xfd\xb3\x71\xb6\x23\xec\x30\xce\x76\x88\x2a\x84\xcc\x83\x90\x21\x55\xa4\xe5\x7d\x1f\x21\x7c\x3e\xde\x93\x2f\xaf\xec\xa8\x25\x59\xb7\x99\xfd\x63\x62\x83\x6f\x1f\x05\xc2\xc9\x88\xce\x7c\x79\x5e\x7c\x3e\xdd\xd3\x19\x39\xc3\x59\x60\xe3\x4d\xfc\xc2\x79\xf0\x8e\x51\x48\xe1\xde\x62\xfd\x9d\x05\x8a\x98\xf5\xfd\x3e\xde\x83\xcf\x37\xed\xb1\x0b\xf5\x25\xc2\x15\x4e\x8f\xaa\xec\x8a\xde\x27\x6e\xac\xe7\x62\xcb\x6f\x7d\xfd\x3a\x2f\x3e\xbb\xb4\x68\xa6\x7e\xc6\xe6\x79\x6b\x9f\x7b\xe8\x8a\x99\x3c\x58\x54\xb1\x64\x8e\x51\x51\xb3\x69\x55\x49\xb8\x9f\x51\xe3\x28\x05\x79\xfe\x90\x76\xcb\xc2\xc6\xbd\x85\x3d\x0b\x62\xaa\x5f\x95\x56\x7c\x29\x28\xc2\x3a\x9e\xff\x72\x85\x24\x18\x9a\xd1\x57\x9e\x46\xed\xe5\xfa\x54\x41\x5a\xf1\x25\xcf\xaf\x13\x14\xe1\xcb\x15\x92\x7a\x7c\xa1\x5f\x85\x58\x59\x22\x5d\xef\xcf\x40\x67\xe0\x35\x78\x4d\x1e\x9f\xfc\xe0\x2e\xb2\xa8\xe6\xc8\x18\x13\x4b\xf6\xaf\x79\x80\xea\x08\x0e\x39\xfb\x89\x38\xe2\x95\x05\x78\x23\x28\xe4\xfe\x3c\x06\x8e\xe5\xeb\x5f\x2d\x91\xc5\x4f\x58\x2f\xbc\x6e\xd3\xf0\x2c\xed\x4e\x95\xac\x17\x63\xaf\x76\x2f\xbc\xa9\x54\xe2\x49\x38\xa4\xa4\x94\x10\x9e\x84\x2b\xc7\x9f\x6c\x5d\xfb\xa1\x5f\x31\xde\x52\xfc\x7e\x05\x5a\x15\xbf\x61\x1f\x6d\x43\xcd\x15\xdb\xec\x0c\x74\x36\x5a\x85\x2e\x41\x1b\xf2\x67\xa6\xc9\x7f\xaf\x27\x9d\xea\x84\x54\x3a\x95\x30\x53\x18\x8a\x5e\x41\x43\x66\xf1\x83\xe6\x0a\xb9\x34\xba\x39\x54\x98\xfb\xe3\xa9\x24\x99\x76\xd2\x19\x9c\x5f\xbb\xe9\x5e\x21\x17\x09\xd3\xbd\x43\x12\x77\x53\xf2\x47\x4d\x61\xc1\x05\xd8\xaa\x70\x9c\xc7\xf3\xaf\xaa\xec\x17\x6c\xe1\x7f\xf5\x78\x5d\xaa\x77\x9c\xc3\x21\x61\x9f\x00\xb2\x38\x25\xbf\x88\x19\xdd\x59\xa3\x3b\xbf\xa6\x4d\xb1\x49\x56\x1f\x27\x31\x16\xd5\x53\xcb\x3c\xf4\x24\x8f\xc5\xdf\x8a\x22\x9b\x60\x9d\x46\xf2\x39\xc1\xc9\x26\x58\x51\xfc\x7f\x36\x36\x60\xdc\x2e\xca\xb0\x8b\x59\x2a\x8b\xc6\xed\xb8\x17\x33\x8c\xe8\xd8\xe2\xb0\xa9\x56\x87\x67\x8b\x43\xe4\x35\x97\x53\xad\xbc\x26\x66\xb5\xe5\x0b\x3d\x08\x31\xa3\xef\x60\x1e\x9a\x85\xc3\xe3\x6e\xf0\x29\xac\xe0\x71\x49\x57\xef\xe5\x45\x49\xbc\x57\xc4\xfb\x1f\xe2\xb1\xf8\x2d\x51\x12\x87\x36\x16\xec\x6a\x61\x57\x41\x3f\x60\xc7\x07\xf1\x93\xa8\x19\x9d\x81\x10\x99\x8c\x2c\x8c\x84\x5b\x21\x12\xe6\xc3\x12\x3d\x5e\x9e\x6c\x4f\x67\x20\x9d\x81\x48\x2b\x59\x28\x33\x16\x6f\xd8\x42\x95\x5b\x12\xe6\x25\xf0\xa4\xd2\x19\x26\x9d\x61\xd3\x19\xc0\x3b\x85\x2a\xa6\x65\xfa\x65\xab\xee\xbc\xf0\x9b\x33\x26\x4c\x71\x61\x57\xa2\x7a\x4f\x95\xa7\x49\x38\xbb\xd2\x5d\xc7\x5a\x19\xe7\xa4\xf1\x91\xb3\x56\x9d\x77\xeb\x35\x3f\x6e\x10\xfc\xb5\xe1\xbd\x53\x32\x13\xce\xdb\xb4\xec\x2c\x6f\xa5\x54\xd1\xa2\xf9\xee\xb8\x62\xf9\xcc\x55\x97\x2e\x8f\x7a\x30\x7e\x92\x75\x0b\xcf\x1b\xef\x67\xef\x5d\x3a\xde\x25\xd8\x6c\x76\x00\xa6\xba\x7a\x4f\xa5\x3b\x38\x35\x2c\xcc\x51\x5d\x93\x6b\xd3\x17\x5c\x7f\x73\x67\x62\x4e\xb2\x21\x54\xdd\x36\xc3\x5a\x19\x6e\xbb\x42\xd3\x02\xa9\xb3\x16\xac\x49\x4e\x98\x8c\x23\x8d\x81\xe5\x53\xc7\x37\x4c\xbd\xe0\xfa\xb3\xe3\x0a\x02\x74\x3e\x0a\xe0\x8d\xf8\x17\xd4\x76\x42\x82\x00\xf6\xb6\xf2\x19\x48\x07\x58\x0b\x2f\x61\xde\x12\x09\xa7\x49\x7b\xb7\x42\xc4\x23\xb1\xe1\x08\xa9\x77\x06\xa7\x2d\x01\x52\xa1\x56\x26\x12\xce\xb0\xcc\xce\x48\xad\x18\x99\x30\x6b\x7a\x1d\xae\x16\x2b\x45\x27\x0b\xd6\x0a\x69\xe5\x1d\xb3\xeb\x2c\x4e\x47\x66\xce\xa2\x8c\x67\x76\xba\xb6\xc2\x62\x73\x44\x9a\x83\x56\xcf\xfc\x69\xa2\x9a\x9c\xb7\x7c\x65\xdb\xc2\x35\x0c\x83\x39\x8f\xd6\xd1\x28\x58\xfc\x91\x78\x65\xad\x5c\x19\x0c\xf3\x72\xf0\x8c\x0b\x97\xe1\x5f\x9c\x76\xc3\x45\xe7\xcd\x98\x58\x6f\xe7\x27\x78\x27\x04\x52\xa1\xf1\x0d\xd1\x8a\xa6\x9b\xee\x7e\x6a\xf7\x9c\xf4\x9a\x59\x93\xea\x2c\x1e\x9b\xc5\xc1\x62\xae\x6e\xc2\xac\xf3\x56\x6d\x9e\x78\xc9\xfe\x0d\x73\xfd\xbc\x5a\xff\xe0\xf9\xde\x64\xfb\xe4\xc9\xa7\x07\x93\xab\xcf\x9c\xe0\xb1\x3a\x5a\xa7\x4e\x3b\x5b\x3b\x7b\xcf\x25\x67\x46\xe9\xf8\x1c\x7e\x0f\xad\xc3\x7d\x78\x26\xe5\x12\xce\xa4\xe3\x93\x53\x24\x2e\xd8\xca\xb5\x67\x30\x17\xb6\x50\x83\x99\x20\x69\xcc\x54\x98\x27\x0d\xe8\x0d\xe0\x78\x86\x4d\xa7\xc2\x91\x30\x47\xa2\x9e\x82\xae\x8f\x50\x81\xb1\x3c\xfe\xd0\x35\xeb\x17\x4c\xac\xa9\x99\xb4\x60\xfd\x35\x0f\xed\x25\x91\x49\x35\x35\x13\x17\xac\xbf\x86\x91\x65\x8b\xe0\xeb\xfd\xa2\xd7\x2b\xf0\xd2\xcc\x73\x1d\xd8\xe6\x89\x9f\x7b\xc1\x4d\xb7\xdd\x74\xc1\xb9\x71\x8f\x0d\xdb\xcf\xcd\x0d\x87\x64\xab\xb5\x61\x82\xb3\x45\x0a\x49\xac\x1c\x6b\xb1\x05\xf1\xcc\x96\x33\xce\xbb\xf0\xbc\x33\x9a\xe8\xbd\xa5\x34\xf2\x9e\x6c\x71\x4f\xcc\x6c\xeb\xed\xdd\xd6\x91\x76\x5b\xe4\xd3\xaf\x74\x8e\xaf\xa8\x9f\xb9\x62\xc6\xf8\x71\xa7\xaf\x38\xbd\xbe\x62\xbc\x6b\x73\xa0\x5e\x6e\xab\x98\x31\xce\x81\xe5\xa0\xdc\x20\xc7\xce\xa8\xc0\x64\xd8\x0f\xbf\x87\x10\xee\xc3\xbd\x48\x41\x11\xd4\x81\xba\x10\xd2\x42\x69\x7a\xd4\x92\x4b\xc4\xbd\xe9\x84\x3b\x1d\x00\xaa\xce\x24\x9d\x97\xd4\xaa\x21\x5f\x69\x6f\xba\x15\x28\x15\xbc\xc5\x5a\x33\x66\x9d\x17\xde\x53\xbb\xfc\xbb\x5b\x96\xc5\x68\x35\x1f\x3a\x6b\xca\xb4\xba\x7b\xc2\x6d\x97\xdd\x1e\x59\xb8\xee\xbe\xb3\x5a\xe7\x6d\x09\xdb\xb0\x3d\x95\x3b\x93\x56\xb9\xa2\x69\x76\xd7\x25\xc9\xe8\xa5\xdf\xf2\x0a\xfc\xb6\x62\x75\xed\x1e\x96\xd4\x76\xab\xb2\x6a\xd3\x37\x2e\xac\x56\xcd\xca\xca\x57\x1b\x67\x7d\xef\xec\xb7\xdb\xab\xce\xdd\xb8\x7e\x75\xd5\x81\xf1\xb7\x75\x56\x8c\x77\xcd\xdc\x48\x2b\x1a\x98\x7c\xe6\xb4\x89\x8e\xfb\x2b\x9e\x5a\x4f\x2a\xdf\x5d\xac\xa8\x6d\x09\xce\xd7\x93\x1d\x7e\x18\x21\xae\x02\x3f\x8d\x6c\xa8\x12\x35\x22\x14\x81\x94\xc7\x9b\x97\xa0\x1b\x46\x8c\x00\x35\xca\xda\x9a\x07\xe5\x83\xe1\x36\x08\xa7\xce\x65\xb6\x2b\x13\x14\x66\xbb\x5a\xdd\x30\xf8\x69\x43\x35\x88\xb0\x8c\xce\x9c\xb0\xcc\x38\xed\x92\xb2\xf9\x57\xc7\x4d\xb5\x9c\x76\xbc\xbf\x6e\xd6\x8c\x1d\xe6\x89\x1a\xe6\x57\xbf\xf7\x2b\x43\x64\xe6\x1d\x52\xfc\x79\x1b\x12\x95\xce\xb5\x8d\xa4\x6f\x79\x54\x17\x98\x07\x34\x23\x0d\x2e\x3a\xa7\x92\x35\x88\x4c\xa3\x69\x17\x67\x31\x4f\x6c\x82\xab\x9d\xe9\xda\xb6\x14\x2e\x95\x3d\x95\x2e\x63\x8f\x5e\xe5\xfe\xf9\xcf\xdd\x55\xba\xb1\xc7\x55\xe9\x91\xe1\x52\xdc\xbb\x34\x63\x1c\x30\x5e\x91\xc6\x2b\x51\xc5\x61\xff\xd2\xf8\xf2\x7c\x65\xaa\xea\xb4\xde\x70\x83\xd5\xa9\x4e\x55\xce\x07\xfe\x4b\xbb\x43\x89\x2a\xe3\x25\x38\x1d\x16\x11\x09\xc5\x55\xb4\x8d\xf4\x97\x9c\xd9\x2c\xb5\x8e\x5a\x84\xce\x41\xcb\xd1\x05\x68\x75\x41\x4a\x18\x7d\x82\x7e\xc4\xc6\xbd\xe4\x74\x84\x9a\x48\x26\xca\x2e\xee\x6b\xa6\x51\x4d\x48\x5c\xf5\x1f\x7f\xd1\xaf\xc6\xa9\x0c\x0d\xc7\xfc\x20\x9b\xea\x0a\xbd\xf8\x37\xb4\x6d\xac\x20\x61\x07\xe2\xe6\xa9\xfb\x38\xe1\x97\xe2\x71\xd5\x6f\x74\xe7\x2a\x28\xef\xf4\x71\x76\xe4\xe7\x63\x07\xf3\xfa\x71\x1f\x77\x15\xde\x4d\xcf\x3a\xa5\x0b\x5c\x02\x55\x94\x82\x56\x58\xd4\x20\x41\xea\xcb\x17\xa4\xa2\x84\x56\x92\x2b\x92\xf6\x92\xb7\x78\xc3\x97\xb2\xfc\xa5\xa4\x3e\x92\xdb\x67\xbc\x4f\xe0\xff\x92\x59\xfa\x67\x35\xf7\xdd\x9d\xdf\xf8\x25\x55\x1c\x84\xd8\x2a\x33\xc3\x9f\xbf\xb7\xf3\x1b\x8f\xa8\x78\xe7\x47\x52\x93\xf4\x91\x24\xa8\x3d\xb9\x7d\xa6\xf6\x69\x69\x8f\x2a\x18\xf7\xed\xfc\x86\xa9\x16\x9a\x57\x7c\xff\xbd\x9d\xdf\xe8\x51\x85\x51\xfa\xcc\x51\x3b\x3b\xe0\x0a\x99\xfc\x8c\xce\x1e\xa5\x86\xab\xcf\x18\x6f\xea\xd1\x8e\x0e\xdc\x65\x5a\xa5\x18\x7d\x10\x33\x2d\x53\x0a\x36\x20\xb4\xfd\xad\xc8\x4d\x77\x73\x8b\xcd\xab\x25\x4a\x5a\x96\xce\x7a\x49\x97\xa6\x2a\x6a\x0d\x04\x2c\xf1\x0c\x59\xc3\xa6\x40\x4f\x96\x6e\x39\x31\xbf\x34\x9f\x20\x5b\x2a\x1b\xbb\x2e\x7e\xf0\xc7\x0f\x5e\xdc\xd5\x58\x69\x81\x18\xcb\x3b\x94\xda\x48\x6a\x7a\x2a\x52\xeb\x96\x39\x0e\x48\x03\x0d\x0e\x12\x02\x90\xbb\xd1\x6d\xf4\x45\xcf\x58\xb7\xe4\xbc\x4c\x63\x63\xe6\xbc\x25\xeb\xce\x88\x42\x6c\xd0\x5a\xa1\x36\x47\x1a\xb4\x6a\x8f\x53\xb0\x3a\xbd\x35\x5a\x43\xa4\x49\x75\x09\x83\x79\x0f\x31\x7d\xb8\x8b\x3d\x4c\xb8\x14\xe0\xad\x10\x01\xdc\xf5\x53\xe3\x11\xe3\x91\xd7\x98\x08\x3c\xf0\x3a\xac\x32\x1e\x79\x9d\x89\x50\xba\x7c\x8c\xe7\xb1\xef\x99\xba\xab\xb4\x15\xf0\xbc\xdc\xbb\x79\x35\x14\xab\xe6\xde\x61\x22\xaf\x1b\x8f\xc0\x2a\xd3\xfe\xe3\x4c\xa4\x73\x17\xb0\x47\x91\x82\xa2\x05\x1e\x95\x8e\x7a\xca\xfd\xa5\x3a\xc0\xa5\x35\x78\xe9\x29\x05\xcd\xab\xe5\x0f\x29\x10\x31\x0a\xee\x61\xfe\xa0\xfa\x7b\x54\x41\x2a\x36\x8c\x71\x93\x51\x43\x03\x70\xe3\x7f\x92\x3e\x97\x7f\xc9\x1e\xf5\xab\xb9\x77\x54\xc9\x6c\x6e\xb8\xfb\x07\x5f\x4a\xaa\xd1\x9d\x25\xdc\x3c\x49\x24\xed\x68\x41\x08\x3f\x8c\x7b\x89\x1c\xe7\xa6\xac\x15\xe1\xe5\x59\x09\x42\x9a\x57\x8b\x7b\xf2\xe7\x01\xa9\x9b\x8e\xfc\x93\xfa\xa5\x61\x43\xc1\x70\x7b\x6a\xc2\x0a\x57\x0d\x0e\xb3\x37\x54\x06\x38\x9d\x8b\x69\xb9\x5b\xc7\x31\x5e\xda\xf7\xfd\x4d\xa4\x49\x9a\xfc\xb5\x15\x7e\x0b\xf7\x6f\x29\x25\x10\xc0\xbd\x1e\xe7\xde\x86\x4a\xa3\x41\x6d\xce\xfa\x9b\x46\x86\x88\x5f\x8d\x2b\x56\x91\xfd\x17\x7f\x93\xbf\xf4\x8c\x44\x97\x79\x66\x06\x54\x2d\x99\x30\x15\xb8\x2a\xa7\xb9\x34\xdc\x7b\x7c\x61\xb6\x23\x0a\xb1\x68\x47\x6e\x06\x89\xb0\x47\x75\x6a\x27\x9d\x1d\xea\x37\x7f\xcb\xbd\x87\xbb\x90\x1d\x39\x11\x72\xb3\xae\xc2\x4f\x35\x95\x03\x0d\xb2\x59\xfa\xd3\xa6\x49\x70\x8c\x30\x58\xc7\x17\x42\x8c\xad\x33\xba\x49\x6f\xec\x88\x66\x75\xf3\xec\x13\x9c\x8e\x10\x7b\x29\x3e\x88\xaa\xe9\xf8\xb3\x50\x9b\xa3\xd2\x26\xc9\xb7\x01\x73\x0d\x25\xf7\xa8\x46\xc8\x47\xf0\xa3\x5f\x4a\x6a\xee\xa9\x02\xd5\x99\x65\x26\xa9\xa9\x3f\xbd\x19\xf8\x20\x7b\x69\xbe\xec\xfc\xa8\x25\x74\xcd\x0b\xc8\xf9\x3e\xcf\xee\xfb\x52\x92\xbe\x94\xd5\xdc\x3e\x55\x36\x43\xcc\x52\x95\x5d\xf9\xa1\x1c\x95\x3f\x94\xad\xca\xee\xdd\x8a\x55\xce\x47\xd4\x7b\xef\x55\xad\x68\xc4\x36\x82\x8c\x25\xd3\xd2\x14\x01\xdb\x0a\x21\x6a\x6d\xc7\x95\x29\x14\xb9\xfc\x8c\x87\xef\x7e\x86\xab\x57\x72\x2b\x95\x7a\xee\x19\xdc\x62\xda\x96\xd1\x71\x6b\x3c\xad\xeb\x3a\xec\x62\xde\xf3\xb6\x34\xaa\x39\xbf\xde\x11\xa5\x44\xd6\xa3\x1d\xd9\xc2\x5c\x35\xfc\x60\xd1\xc7\x46\xc8\x3c\x67\x43\xa7\x00\x3a\xfa\xd9\x86\x90\xdb\x63\x09\x05\xc9\xd2\x15\x61\xa6\x40\x7b\xb2\x3d\x03\x1d\xd0\x00\x6a\xb0\x95\x9d\x02\xed\x19\x26\x8d\xd7\x36\xf9\xfd\x4d\x7e\x3d\x77\x7e\xb8\x8d\x75\xa9\x1c\xb3\x58\xf1\xe3\x34\x63\xb3\x67\x99\xc7\x86\x2a\xa9\x31\x91\xea\xf7\xdb\xa8\x22\xfa\x59\xf3\xec\x97\x3a\xb4\x27\x6b\xfc\xd1\x29\xd4\xa8\x70\xa6\x34\xc8\x60\xa7\xec\x18\x34\xfa\x06\xc1\xe6\x8e\xd6\xc4\xab\x1a\x15\x3b\xd0\xfe\x33\x07\x21\x7c\x31\xee\x45\x31\xba\x3f\x46\xdb\x2e\x00\x5e\xb7\x37\x41\x3a\x33\x2f\xe1\x50\xb0\x15\x13\x31\x80\xcc\xa5\x69\x77\x06\xd2\x44\xc4\xf2\x24\xe2\x69\x09\x82\x61\x26\xba\x42\xa9\xb0\x54\x2c\xfa\x86\xdc\xb9\xc5\xe5\xae\xa9\xaa\x10\x02\xfa\xba\x47\x16\x4c\xdc\x74\xde\xd9\x99\x36\xbb\xad\xa2\xaa\xc6\xed\xda\xd2\x29\x7f\x63\x51\x85\xc5\x5d\x1f\x6f\x4f\x8e\xb7\xa7\x67\x4e\xc0\xbd\xaa\xbb\xc1\x7d\xfd\x3c\xe3\xe5\x03\xfe\x68\x23\x8f\x6d\x35\x9e\x0a\x51\x72\x55\x48\x1c\x16\x1a\xa3\xfe\x03\x30\x6b\xde\x75\x4a\x9d\xbb\xea\xf8\x8f\x2c\x96\xf1\x53\xa6\x20\x40\x0a\x52\xf0\x83\xf8\x41\x7a\xf2\x2d\xcd\x7b\xc9\xbf\x08\x4f\xfe\xa5\x23\xe4\x9f\x37\xed\x4d\xb3\x75\xfd\xf3\xff\xf0\xe2\x8b\x7f\x98\xdf\xdf\xf2\xc0\x03\x2d\x25\x61\xf6\xf9\x13\x92\xcc\x30\x5d\x3f\x74\xda\x07\x34\xd4\x82\xa6\x14\xd6\x4c\xde\x54\x46\x90\x31\x6d\xf2\x12\xe6\x14\xdd\xc9\x64\xc0\x2b\x83\x2b\xe1\x4d\xb8\x93\x5a\x3a\x59\x7e\x0c\x94\xb9\x23\xde\x38\xb9\x06\x66\x37\x4e\xf6\x7f\xec\x8c\x79\x07\xf9\x99\xb5\xb5\x53\x5a\xd2\xca\xdd\x2b\x1d\xe3\xab\xf5\x1e\xfd\xb6\xb7\x07\x8d\x4c\x3c\xb7\xa5\x68\x5a\x80\x7b\xcf\x8c\xf5\x5c\x7b\x66\x4c\x6f\xf1\x1b\xfb\x2a\xb5\xb8\xcf\x57\x1f\x81\x5d\xf5\xd5\xff\xfa\xd3\x9a\x46\xbd\xef\xd7\xc6\xed\x3a\x5c\x75\xed\xc0\x41\xa3\x2f\x6f\x79\x40\x15\xd8\xa5\x36\xa2\x5d\xa8\x0e\x8d\x43\x93\x4d\xbc\xbd\xee\xbc\x06\xa5\x68\x03\xd1\xc6\xe4\x0d\x25\x53\x5c\xf9\xce\x11\x1f\x72\xd5\x42\x22\x19\xd1\x92\x2c\xb3\x74\xd0\x1b\x73\x7e\xec\x9f\xdc\x68\xfc\xa0\x66\x72\x63\xbc\x7a\xbc\x63\xe5\xdd\x4a\xba\x65\xca\xb6\xdc\x88\xa1\x0a\x73\xc1\x6d\x7a\x8f\x1e\x8f\xc3\xe1\x41\xdc\xa5\x55\x1a\xfb\xfc\x2d\x7a\xec\xcc\x2d\x7c\x4f\xec\xcc\xc6\x9a\x9f\xfe\x6b\x75\x3d\xec\x8a\xd4\xeb\x7a\x29\xa2\xba\x71\xfb\xaf\xfb\x0e\x0e\x5c\x0b\x57\x99\x74\xe6\x24\xbc\x00\x55\x53\x1f\x13\x08\x1a\x52\xb5\x10\x00\x19\xf2\x13\x26\x6b\x1a\xb2\x12\xd4\xd2\x5e\x97\x57\x73\x9b\x47\xb7\xc2\x21\xad\x89\x6d\xc5\x91\x70\x27\x44\xca\xab\x00\x3a\x5c\x5a\xeb\x59\xef\x00\xfb\x62\x68\x5d\x7c\xd9\xfa\xc5\xeb\x6e\xb2\x54\xcb\xc6\x7e\xfe\xc9\x1a\x69\x92\x0e\x0d\x24\xf6\x86\xea\xae\xf0\x18\x13\x18\x91\xb1\xb2\x3c\xcb\xb1\x60\x77\x7d\x7b\x49\x6e\xc1\x88\x6d\xc7\xda\x8f\x9c\x9e\x6e\x47\x58\xbe\xba\x6b\xd7\x7c\xe3\x80\xda\xb8\xd7\xc1\x38\x5c\x0d\xe2\x6c\xc3\xba\x0c\x16\xa9\x8d\xf1\x38\x30\x0c\xcb\x31\x3e\xcf\xf7\x17\x7d\x50\xd6\x08\x85\xf1\xbc\x00\xf9\x51\x0a\xcd\x44\x08\xb8\x00\x2e\xd8\x58\x44\xcc\xd9\x3e\xa1\x99\x26\xf6\xbc\xd7\xc3\x4b\x5c\x13\x13\xd2\x54\xda\x50\x5a\xda\xd5\x70\x42\x7d\x7e\x0b\xeb\x19\x41\x71\x3a\x9e\xe1\x8d\xfd\x72\xb5\xe5\xa6\x75\x67\x5f\x7e\xd9\x62\x68\x3d\xdb\x06\x8e\xf5\x9e\x39\xdf\x76\xd9\x19\x96\x63\x79\xd6\xca\x8a\x60\x34\xbc\x2f\xd7\x58\xb6\x43\x78\x9d\xb1\x9f\x59\x38\xd2\x9f\x16\x7c\x04\x9c\xd3\xe5\xb5\xe5\xfe\xe2\xd8\xdb\xa8\xc2\xa2\xf9\xbb\xba\xae\x96\xc3\x8e\x6e\xcf\xb3\xdf\xf7\xf8\x18\x8e\x65\x18\xd0\x1b\x55\xe3\xc0\x32\xf8\xfc\x8f\x27\xd4\x07\xad\x22\xbc\x05\x27\x15\xda\x08\x91\x41\xc0\x05\xa0\x50\xa7\x36\x60\xa9\xaf\xa9\x5a\x70\xb5\x7b\x93\xed\x61\x8b\xea\xaa\x61\x89\x04\xd9\x06\x3c\xad\x51\x2b\x94\x1b\xe6\xc1\xef\x76\xcd\x27\x74\xdc\xeb\xc8\xfd\xc5\xd5\x20\x5a\x0b\xd4\xfe\x69\x29\x61\xff\x08\x9f\x2f\x23\xb4\xef\x29\xb1\xb1\xe1\xa4\x51\xed\x29\x95\x36\xf5\xdb\x63\xb6\xaa\x71\xc0\x6c\xf3\x9c\xad\x64\x3f\x87\x1d\xce\x21\x0b\x7b\x94\x53\xe8\x19\xf3\x33\x28\xc7\x40\xe7\xf3\x50\x7e\x7e\x37\x57\xea\xa4\x8b\xb7\x10\x89\x21\xed\xce\xe0\x82\x21\x38\x0f\xac\x37\x9d\xf2\x06\xb8\x1a\x46\x75\x29\x9e\x94\xe9\x82\xc5\x15\x81\x15\x25\x68\x82\x5c\xa4\xb0\x33\x4f\x7a\xc6\x41\x48\x9f\xbb\xfd\x8f\x8b\x8a\x24\x8f\xc7\x49\x5b\x2c\x2b\x35\x0c\x1a\xfa\x68\xdd\xe2\xf5\xa4\x75\x17\xdb\x49\xeb\xd6\xc2\xa5\x8c\xe0\x96\xed\x4f\x9a\x4d\x0f\xbf\x30\x0e\x2c\xf9\xb6\xcb\x0e\x66\x83\x33\x22\x63\x4c\xf0\x54\xb8\xd5\x37\x48\xb7\x80\x06\x1d\x31\xc8\x83\x3c\xf8\x7e\x7c\x3f\x92\x51\x43\xf9\x3e\x50\x43\xd8\xe2\x1f\xd9\x10\x53\x15\x4f\xba\x21\xd5\x0e\x47\xfe\x68\xaa\x94\xcc\x07\x73\xcb\x09\xe7\x2d\xf1\xfd\xc5\xb7\xe4\x61\x4c\x3c\xe1\xf0\x26\x3a\x25\x5c\x07\x58\x14\x2f\x47\x08\x55\xa4\x71\xb2\x3d\x5c\x06\x17\x1a\x4a\x4f\x9f\xd2\xf3\xa8\x65\x70\x8f\x8e\x1c\x64\xcd\x83\x46\xa7\x86\x0b\x6c\x38\x68\x1e\xfd\x74\x15\xac\xdd\x13\xf1\x54\x79\x7d\xe7\x9e\x50\x6c\x79\x7d\xa7\x82\xdb\xe9\x1c\x45\x95\x53\xc3\xe5\xa8\xb5\x0b\x55\xfb\x79\xe2\x69\x77\x2a\xbf\x11\x54\x56\xdf\xdd\x27\x1e\xcf\x1d\x0d\xf7\x95\xb1\x0e\xe5\xb2\xa8\x12\x55\xe2\xfb\xf0\x7d\x48\x46\x3d\xe8\xc9\x32\xc8\x0d\x12\xcb\x5b\xc2\xbc\x04\xbc\xc5\x93\xbf\x2b\x1e\x3e\x1e\x00\x6f\x80\xf1\x06\x98\xb4\x47\xa2\x21\xc5\xa2\x78\x3d\xe9\x0c\x93\x6e\x85\x48\x2b\x44\x82\x12\xc3\x5b\x22\xe1\x54\xb2\x15\x22\xa9\x56\xb0\xe4\x35\x3f\xe4\x27\x6c\x2d\x64\x98\x48\x38\x03\xe9\x0c\x9b\x0e\xa7\xe3\x9e\x78\x2a\xdd\xca\x46\xda\x33\x4c\x38\x12\x80\x4e\x48\xb5\x32\x11\x0b\xaf\x04\x40\x6d\x65\x22\x19\x48\x7b\xe2\x19\x80\x0f\x8e\xfe\xfa\x81\xf3\xce\x7b\xe0\xd7\xe6\x03\x74\xb9\xb9\x66\x92\x28\x4f\x91\x95\x4e\x96\x75\x03\x3b\x9e\xb3\xd6\x58\x82\x60\xf7\xf8\x78\x67\xb0\xcd\xa6\x76\x4e\xf4\xf3\x8a\x8f\x75\x28\x21\x37\xcf\x5d\xb2\x39\xa0\xd5\xb3\x8e\x71\x76\xf9\x74\x57\x45\x6b\x63\xcc\x99\x90\x31\x58\xa2\x18\x58\x5b\x55\x85\xd7\xed\xb6\x59\x9c\x96\xc6\x6a\x0b\xef\x51\xdd\x16\x8e\xb1\x71\x2c\xeb\xf0\x62\x8b\x95\xaf\xf4\x58\x9c\x42\x9d\xcb\x6b\x15\x9b\xb4\x69\x36\xcc\x00\xcb\xd6\xa6\x6d\x76\xce\x1f\x9b\xe0\xa8\xd0\x9c\x15\x42\x67\x93\x93\xad\x62\xc5\x0a\xd1\x85\xef\x2b\xe2\x46\x1e\x2e\xbb\x8b\xb7\x32\xac\x85\xe3\x23\xb2\xcd\xcb\x07\x37\x7a\x82\x5b\x6a\xac\xb3\x2a\x45\x05\x0b\x92\x13\x5b\x5b\x03\x58\x0e\x37\xb9\xd4\xea\x1a\xcc\x57\x88\x76\x66\xa3\xbf\x3e\x53\x27\x00\xcf\x3b\x6d\xc0\xd8\x6c\x21\x2f\x8c\x07\x87\x95\x91\x6b\x7d\x8c\xe2\xf3\xd7\x04\x9c\x16\x00\x5e\xb4\x57\xba\x1c\x98\xb5\x37\xd4\x39\x2b\x3c\x5e\x87\xd4\xa4\xf8\xc4\x8a\x0a\xd6\x6a\xf3\x46\x94\xa0\x05\x24\xab\x9d\x07\x07\x8b\xb9\x9a\x7a\x7b\x85\x0d\xaf\x71\xc5\x1b\x59\xb0\xda\x6c\xb6\x06\x5e\xb4\xbb\x0a\xfb\x16\x0c\x3e\x88\x6f\xa6\x3e\xe3\x52\x5e\xce\x9b\xf6\x58\x78\x09\x22\x05\xe7\x27\x10\x4e\x31\xc7\x1e\xff\xa6\x91\xbb\xfb\xb8\x65\xe1\xbc\xc9\xb7\x74\xe4\x9e\x91\x9b\xe5\x0d\xb2\xcc\x2c\x0d\x2e\xc0\x37\x9f\x77\xd1\x1d\x47\xaf\x5b\x76\x6b\x73\xd0\xe6\xc9\x3d\xe3\x74\xae\x97\x9b\x9d\xcc\x39\x17\xfd\x1b\xb5\x8f\x5c\x89\x7b\xf1\x33\x45\xff\x4e\x69\xd4\x71\xa2\xed\x2f\x17\x52\x13\xe5\x86\x90\x9c\xa6\x6a\x63\xa5\xe5\xc5\x53\xca\xf2\x62\x57\x36\x3b\x54\x39\x2a\xc1\xb0\xc3\xb1\xf2\xa4\x3e\x88\xe1\x67\x46\x18\x61\x5d\xcf\x9e\x34\x52\x3c\xb3\xdf\x45\xcf\xfe\xbb\x4c\x5c\x4d\x0c\x88\x44\xcb\xbb\x40\xeb\x61\x77\x50\x43\x88\x6d\x84\x1d\xe9\xc8\x1a\x7b\xd9\x1d\xb8\xd7\x4f\x99\xe2\xdc\x0c\xa3\x2f\x0b\xc7\xe0\x58\x9e\x37\x32\x79\x3a\x2f\xaa\x26\xa3\x36\xaf\x02\xa1\x9b\x2e\xc9\x90\xaa\xb9\x8a\x3e\x22\x12\x49\x50\x0b\xb5\x84\x63\xd9\x68\x07\x91\x92\x0c\x7b\xd6\xb0\x13\xa9\xa7\x23\x9a\x85\x63\x66\x6d\x70\x6f\x47\x54\xef\x88\x1a\xdd\x84\xc7\x8f\x76\x98\x0e\x21\x72\x33\xb2\x54\x0c\x1a\x25\x4b\xa8\xa8\x19\x4d\x2b\x78\xcf\x1a\xb5\x19\x39\xca\x6b\x54\xd9\xae\xca\x98\x7b\x1b\xdc\xa8\xd3\xd3\x85\xd3\x90\x71\x73\xa3\xe2\x75\x73\x73\xe2\xf5\x15\x92\xea\x67\x93\xf9\xad\x8d\xd7\xcd\xad\x8d\xd7\x57\x48\x82\xd1\x96\x0f\x14\xb6\x40\x5e\x17\x14\xe6\x0d\xba\xd3\x61\xee\x6e\xe4\x0b\xc0\xbd\xa3\x7f\xa7\x16\xad\x5a\x47\x03\xc9\x85\x8b\xe0\xd4\x02\x06\xff\x31\xba\x78\x52\x44\xc1\x36\x17\xef\xc3\xfb\xe8\x5e\x67\x08\x75\xa0\xd3\x4e\xb0\x16\x28\xdd\xf1\x2c\x1c\xdb\xa1\xcf\x50\x30\xc2\x17\xd4\xb4\xa9\x4e\x26\x9c\x6c\xc7\xa5\xaf\x83\xe1\x76\xf8\xed\xa7\xef\x3f\x72\xc1\x05\x8f\xbc\xff\xe9\xfb\x8f\xae\x58\xf1\x28\xfc\xb4\xff\xd5\x0d\x1b\x5e\x25\x37\xa3\xa5\xa5\xae\xae\xa5\x0e\xba\x5a\xea\xea\x3c\x92\x9c\x76\x25\x66\x27\xa2\xb5\xdf\x00\xab\x71\x2b\x7d\xc1\xf8\xe9\x03\xef\x2b\xfe\xf8\xfd\x4f\xdf\x7f\xe4\x1c\xf3\xc7\xaf\xf6\xbf\x6a\xa9\x6b\xd1\x34\x92\x45\x13\xef\xf6\xd6\xd4\x27\x12\xf5\x75\xe3\xb9\xeb\x40\x92\xbc\x8f\xd7\xd1\x5f\xd2\xff\x08\x86\x7f\x83\xce\xc5\x2f\xe3\x43\x68\x39\x42\x0d\x90\xa2\xaa\x55\xea\x56\x14\xf1\x12\xf6\x06\x20\x11\x4f\x43\x2a\xd2\x0a\xa1\x20\x6f\xe1\x41\x22\xc3\x18\x51\xab\x08\x6f\x80\xb4\x31\x2f\x99\x9e\x6a\x23\xe1\x54\xda\xdc\x9c\xc9\xa7\x83\x44\xe6\x69\x26\x08\xbf\x5e\x2e\xf0\x5b\x2e\xf0\xf8\x82\xd3\xc6\x75\x6a\x75\xc6\x6d\x72\x20\xd0\xe2\x76\x70\xd6\x65\xe9\x39\x09\xa6\xbe\xde\xc9\xfb\x2b\xaa\x2a\x1d\x55\xc6\xd3\x72\xb4\x46\x82\x59\xc1\xd0\xb4\x56\x49\x8e\x4d\x71\x48\x95\x21\x7b\xe3\x55\xeb\xef\xbc\x74\x89\x34\x61\xea\xcc\x2d\xc1\x71\x55\x33\x60\x78\x56\xe3\xf2\x4b\x17\xce\x9e\xbf\x46\x76\x4d\x98\x6e\x04\xe4\x26\xa7\x93\x3d\x00\x6f\x2f\xbf\xe8\xc2\x07\x5c\x58\xa9\x8a\x6b\xb5\xc6\xed\x72\xb5\x3f\xd9\x98\xf6\x67\xa6\x93\xd2\x23\x4e\xc5\x6b\xaf\x32\x9e\x95\xa1\x26\x2a\xc1\xbc\x60\x48\x03\x21\x1d\x6d\x5b\x1d\xb2\x35\x6d\x5d\x7f\xfb\xc5\x5d\x7c\xf5\xd4\x89\xf3\x7f\x34\x03\x86\x67\x57\xa6\xb5\xfa\x5b\xce\x39\xff\x7b\xd3\x8d\x7a\x99\x91\xe5\x70\x7e\x0c\x17\xfc\xff\xcd\x18\xcb\x03\x20\x17\x94\xd8\x60\x2b\x4b\x96\x4e\x25\xc0\x78\x3d\x05\x15\x7c\x3a\x83\x93\xed\xe1\x93\xf8\x07\x84\x90\xd6\x19\x6f\x69\xd2\x22\xd1\x96\xce\xe0\x69\x1b\xaa\xa7\xc5\x13\x32\x2f\x4f\x6a\x1e\xaf\x39\x82\x89\xe8\x54\x3b\x16\x9a\xa3\x9d\x7e\xef\xba\x53\xf8\x11\x6c\x09\xa7\x92\xe1\x70\x32\x15\xde\x30\xcf\x3b\x61\x4e\xfb\x78\x99\x97\x26\x37\xb5\x56\x56\x8e\x6b\x9c\x6a\xc3\xd6\x68\xd3\x8c\xa6\xb8\x7b\xc1\xe5\x88\x41\x13\x87\x3f\xc5\x57\xe1\x1f\x21\x2f\x6a\xcd\x7b\x90\xa4\xbe\x86\xc3\x6d\x90\x8e\x80\x97\x37\x27\x65\x36\xed\x19\x6d\x24\xea\xa9\x05\xde\x0b\xcc\xd3\xaf\x4c\xdf\x39\x7d\x42\xd0\x5f\xdb\x5a\x71\xc1\xe7\xc6\x35\x7d\x6b\xdd\x3b\xa7\x4f\x87\xea\x8a\xb5\xa2\x75\xe7\xf4\xe9\xc6\x87\xd3\x7f\x38\x7d\xe7\xf4\xe9\x69\x3f\x79\x0d\x37\xe3\x1f\x4d\xdf\x39\x7d\x45\xd3\xa5\x41\x7f\xb2\xb5\xe2\x82\x2f\x8c\x6b\xfa\xd6\x55\xec\x9c\xfe\xc3\xe9\x50\x6d\xcc\x5c\x2b\x58\x49\xd0\xf8\x70\xfa\xf4\x9d\xd3\x5f\x99\x9e\x4e\xb7\xb9\x2e\xf8\x02\x6e\x36\x65\xbf\x6c\xd1\x0f\x8c\x8a\xfc\x23\x67\xc2\xf3\x93\x47\x06\x78\x97\xe6\x42\x05\x7b\x6b\xcb\xfe\xfb\xf5\x49\xa6\x2a\x71\xf2\xc5\x19\x66\xa9\x31\xbc\x64\xca\x94\x25\x53\x70\x6f\xa0\x35\xae\x0e\xcd\xa2\x0a\x8c\x97\xd5\x44\xcb\x7e\xea\xcc\xc6\x33\x85\xbc\x2d\xf1\x49\xe8\x31\xf7\x97\x49\x45\xc1\x15\x01\xce\x0d\x11\x8d\xcc\x45\xa9\x38\x7b\x0b\x54\xcb\xfe\x26\xa9\xde\xf8\xef\x3e\xe3\xdf\x8d\xa3\x6f\x40\xe2\x2d\x88\x81\x2d\x24\xfb\x9b\xf0\x3f\x19\x1f\xc9\x4d\x7e\x39\x64\x7c\x66\xf4\xbd\x65\xfc\xfc\x0d\xa8\x84\xf6\x3e\xf0\xd6\x4b\xa6\xce\x8a\x85\x08\x72\x61\x2b\xee\x47\x71\x34\x95\x9e\x67\x56\x03\xd8\x1b\x6a\x65\x23\x2e\x6f\x00\xab\x8a\x85\x57\x43\x49\xba\x17\x95\x08\x80\xd7\x15\x31\xbb\x4f\x3a\xe9\x03\x89\x55\x95\x00\xeb\xf5\x78\x5d\x19\xdc\xde\xca\x30\x87\xc2\xa7\x9f\x35\x39\xc6\x3c\x82\x1d\xfe\x44\x64\x6a\x70\xf2\xc2\x74\xe3\xf3\x0f\xe8\x3d\xe7\x34\xfa\xd8\x3b\xb9\x73\xe6\x54\xb7\x4e\x9f\x3f\xae\x2e\x7e\xf6\x25\x93\xfc\x4d\x4d\xaa\xe4\x0e\xfb\x7c\xd6\x4b\x3c\xd1\xf1\xc1\x4a\x5f\x22\x8d\xfb\xe7\x73\xee\x58\xe7\xda\xe9\xf5\xad\xb1\x6a\xde\xf8\xb9\x83\x77\xb7\x4c\xd6\x33\x77\xee\xb7\xcf\x5b\xe0\x3c\xa7\xf1\xd2\x25\xf3\x2e\x74\xc2\x02\x41\xf2\xb5\x4d\x5c\x9a\x9a\xd9\x3d\xbb\xc9\x32\xcf\xa8\x80\x0a\x2c\xf9\x53\x61\x7f\xb3\x4f\x11\x2c\xec\x9b\xc6\xcf\x18\xab\xa7\xae\xfd\xb4\xf6\x06\x5f\x7e\x8f\xe0\x62\xf6\x1e\x7c\x00\xcd\xc9\x5b\xc1\x87\xda\x5b\x99\x50\xd0\xc2\x93\xfe\x0e\x5e\x8f\x37\xa1\x86\x3c\x16\xde\xc2\x67\x20\x91\xf2\x24\xe2\x69\xaf\xe9\x65\x80\x6e\x27\x46\x32\x5c\x3a\x03\x91\x50\x32\x11\x8e\xb4\x32\xd4\x07\xf1\xf8\xc5\x7b\x56\xec\x89\x4c\xee\xa8\x6a\x58\xac\x44\xab\xab\x2a\x2d\xec\x9f\x5f\x13\x54\xb5\x25\x15\xbc\xd0\x53\x77\x57\x70\x51\x32\x5e\x9b\x9a\x50\x53\xe7\x5d\xb7\x29\x1c\x59\x52\xe9\x4d\xe3\x4a\xde\x6d\x77\x59\xc7\xd9\xeb\xdf\x7f\xd2\xab\xf2\x22\x23\xb5\xd4\xaf\xc2\x07\x16\xde\x39\xbf\xb1\x33\x58\xe1\x57\x63\x13\xab\xe6\x8c\x6b\xb2\x72\x7a\x7c\x7b\x20\x13\x17\x65\x08\x06\xbe\xe3\xf6\x0a\x10\xac\xc5\x6c\x95\xdd\x76\x37\xeb\xe4\x1c\x36\x97\x98\xfe\xd6\x2c\xbd\x6d\xa2\xd2\x3c\x63\x5a\x97\xb6\x94\x8e\x6b\xdf\xf0\x30\xde\x9d\xf7\x9b\x91\xd7\x11\x15\xf5\x7b\x09\xce\xd4\xfa\x85\x8a\xda\xd6\x5d\xa3\x94\x7c\x59\xc6\x6b\x3e\xf3\xa9\x10\xf3\x48\x83\xb2\x3c\x28\x79\xd8\x1d\xce\x2f\x25\x75\x68\x1b\xbb\xc3\x54\xf8\x61\x02\x87\xf6\x6d\xbe\xb8\x7a\x87\x92\x21\x7a\xd6\xbb\x1c\xa6\x9a\x48\xba\xf9\x84\xaa\x25\xd3\xa1\xa4\xc6\x1e\xd5\x75\x1d\x62\xb9\x7d\xa3\x01\xc3\xdd\xfa\x6a\x7a\xa6\x3b\x0b\x31\xe6\x90\xae\xc3\xb1\xa1\x6d\x23\xb0\xf5\x6c\x36\x57\x31\xa8\xf7\x0c\xea\xe6\xb9\xd3\x02\x6c\x99\x9e\x53\x6e\x18\xa3\x9e\x45\x78\xae\x3c\x56\x3c\xe1\x21\xca\x6b\xbb\xb4\x00\x92\xe2\xf4\xba\x5e\x5a\xdf\x1e\x0a\xef\xf8\x42\x82\x8b\x9e\xcd\x16\xe0\x52\xbe\x47\x46\x2a\x3d\xef\x7d\x02\x5c\x08\xb9\x42\xc9\x84\x3b\x94\x3c\x29\x44\x3d\x7f\x2e\x7d\x34\x30\xc3\x0e\xbb\x08\x2c\xd8\x65\x82\x2a\x83\xe5\x1b\x1b\x56\x01\x0a\x4b\xa1\x9e\x00\xeb\x50\x1e\x0e\x85\x57\x0a\xcb\x04\x73\xfc\x45\xd8\xa5\x9b\xb6\x09\x04\x96\xe9\x6b\xa5\x70\x92\xfd\x44\x8a\x92\x7a\x69\x49\xad\x70\x95\x43\x83\x63\x59\xf3\x18\xbd\x6e\x74\xc3\x2e\x9d\x70\x99\xa5\x40\xb3\x59\xca\xad\x91\xff\x5f\x13\x9e\x96\xd4\xd8\xc2\x35\x46\xed\xd8\x3a\xf3\x94\x3e\x05\x46\xc0\x66\xb3\x27\x83\xc7\x8c\xf2\xc3\x89\xca\xfd\x83\x96\xfb\x8e\x81\x15\xb0\x6b\xef\xa1\xfc\x89\x0b\x66\x8d\x79\x30\x00\x8e\xd1\x9d\x9e\x7c\x2a\x3d\x20\x90\x2d\x1c\x1a\x20\xef\x46\x74\x7d\x05\x38\xcd\x5f\x0d\x69\x94\x5b\xa1\x15\xa4\xcc\x97\x9f\x30\xba\x1f\x7b\xe5\x10\xa3\x97\x40\x35\x36\x14\xdc\x0a\x75\xe5\x8f\x32\x3c\x01\xbb\x1e\x7b\x65\x14\xf8\xed\xa3\x1c\x0b\xfd\x9f\x70\xd1\x46\xe8\x4f\x70\x79\xec\x95\xc2\x39\x8f\x52\x0a\x18\x14\x80\x3d\x0f\x0d\x77\x1d\xda\x7b\x12\x84\xb2\x95\x4e\x13\xeb\xff\x23\x5d\xf2\xbc\x74\x2a\x5e\x4a\x97\x32\x5c\x8e\x93\x0a\x1b\xdd\x26\x3e\x26\x71\x1e\x7b\xe5\xd0\xde\x13\xda\xe6\x17\x84\x78\xce\x9c\xab\xb8\x07\x43\xcf\xa3\xd5\xe6\xcf\x98\x14\x31\xc9\x9f\xc5\xcf\xbb\xac\xc9\xfb\xf9\x19\x39\xce\x51\xe2\x2f\x92\x09\x17\x70\xa2\x5a\xb9\xc3\x04\x90\x91\x51\xfd\xfe\x57\x61\x86\xd3\x69\x1c\x72\x7a\xcc\xad\x38\x4f\xa1\xc5\xa8\x26\xc9\x44\x86\x06\xff\xdb\xf8\x40\x0a\x4b\xc6\x07\x92\xa8\xf6\x50\xab\xb4\x1e\x55\x24\x6b\xd2\x3b\x88\x61\xff\x13\x3f\x9c\xf7\xb1\xc9\x5b\x18\xbe\x21\xee\xe1\x83\x02\xf0\x96\x66\x88\x84\xe9\x79\x75\x2d\x18\x09\xa7\x53\x88\xf0\xa3\xac\xcf\x2a\xb0\xec\x7d\x0c\xc4\x2a\x5d\x12\x18\x9f\x1b\x7f\xc1\x76\xc9\x6a\xb5\x72\xcc\xc2\x48\xc4\x78\xcb\x2b\x88\xce\xb9\xe0\x78\x85\xb3\x3a\xf1\xc3\x56\xd1\x65\x33\x16\xf1\x10\xaa\x30\x7e\x66\xbc\xc6\xc9\x82\x4d\xb5\x7e\xb8\x7e\xbd\x5b\x55\x96\x40\xdb\xaf\x2c\xce\xe2\xfe\x94\x51\x4a\x9b\xbc\x6c\x59\x68\x9d\xa2\xac\x59\x7a\x56\xa8\xcc\x97\xe6\x8a\xbc\x23\xdc\x0c\x25\xff\x61\x1a\xa6\xfd\xe8\xcf\x27\x10\x27\x4f\x16\xd2\x52\x34\x68\x8e\xab\x31\x89\x53\x6a\xf3\x36\xbe\xd4\xe6\xad\x28\x7f\x13\xe9\x2c\x74\xb2\x43\x56\x09\x8d\xf9\x98\xe0\xa5\x4a\x97\x1b\x59\x39\x2a\xef\x94\x65\x98\x70\xb9\x24\x18\xff\xfb\x60\xf9\x19\xab\x27\x20\x96\xf7\x4a\x29\xd0\xcc\xf2\x4e\x39\x4a\x33\xab\x46\x5f\xa1\x57\xdd\x93\x35\xde\x2e\x4c\x03\xa4\x7f\x4b\x48\xc2\x7b\xf1\xde\xbc\x1c\x75\x72\x09\xaa\x20\x22\xc1\xc0\xc7\xef\x3c\x74\xfe\xf9\x0f\xbd\x63\x3e\xe0\x27\x1f\x1d\xbe\xe2\x8a\xc3\xe4\x66\x5c\xf3\xe8\xc6\x8d\x8f\x6e\xc4\x7b\x8b\x2f\xc9\x63\x96\xf9\xf2\xf0\x47\x87\xaf\xdc\x48\xde\x8f\x8c\x29\x42\x8f\xda\x91\xef\x4d\x9c\xe0\x39\xaf\xe8\x6c\x91\xac\xc2\xf4\x7b\x13\x9f\x29\xa2\x64\xdc\x28\x45\x1c\xc6\xcd\x0e\xab\x3a\xe8\x37\x6e\x66\x8f\x52\xb3\x00\x76\x0d\xdd\xe7\x37\xf6\x7a\x64\x63\x89\x2c\xc3\x7e\xd9\x03\x2b\x54\xff\xd0\x36\x73\x53\x59\x8f\xc7\x4b\xc6\xf2\x33\x05\xb8\x56\xf3\xec\x53\x89\x5b\xd5\x34\x64\x60\x34\x5c\x66\x16\x7c\x43\x12\xd5\x63\x41\x4f\x56\xa9\x1c\x54\x6c\x12\x5c\x2f\x45\x72\x5f\x96\xc0\x7d\xd8\x98\x27\xd7\x0d\x2a\x01\xbf\x3a\xa8\xc9\x70\xd0\xc9\x0c\x5d\x3f\x02\xb5\x00\x73\x2e\x52\x50\x00\x05\xc7\xf6\x6b\xeb\x65\x47\x57\xf5\x2e\xb8\x82\x57\xf9\x3b\x79\x3e\xf7\x17\x5e\xe5\x8d\xf7\x78\xfe\x4e\x41\xe5\xfb\x46\x60\x32\xbf\x82\x2b\xcc\xc4\xdc\x5f\x04\x01\x42\x82\x22\x90\xdc\x6f\x8d\xc0\x2d\xf8\x9e\x7e\x80\xee\x3b\x86\x50\x04\x21\x37\x35\xa6\xe4\x23\xe1\x76\x2a\xf3\xb3\x12\x84\x38\x2a\xf3\xa7\x47\xd7\xf8\xd6\x6f\x4a\x4d\xd2\xbc\xbe\x79\x12\xe3\x79\x4b\x52\x19\xf0\xab\xb9\xa7\x55\x41\x7a\xf3\xfe\x3e\x63\xca\x08\x0a\xec\xf0\x37\x25\x69\x5e\x5f\x97\xdc\x74\xff\x5b\x92\xa0\xe6\xbe\xab\x04\x40\x95\xde\x7c\xa0\x2f\x37\xa9\x94\xe6\xb8\xd8\xd6\x72\x01\x0f\xaa\xed\x77\x53\xed\x44\x24\x1d\x09\xa7\xdc\x45\x25\x45\x59\x8b\xaf\x60\xce\x29\x14\xfa\xc0\x5b\x92\xf0\x93\x2e\xb9\x49\x22\x40\x8d\xc1\xd2\x56\x2f\x45\xf0\xfe\xb7\x24\x35\xb7\x70\x9e\x24\xd1\x2a\x18\x4b\x47\x30\x61\x10\x1e\xfe\x23\xf5\xab\xc1\x21\x01\xa1\x06\x2b\xb8\x34\x2b\xa8\x80\x7b\x0d\xbf\xf1\x53\xe3\x0a\xfc\x4c\x2e\xc1\x3c\xbd\x06\x14\xe3\x0a\x78\x8a\xad\x19\xfa\xf2\x23\xf6\x65\x54\xfc\x46\x82\xd9\x57\x7d\xe6\xe9\xa5\x66\x70\x69\x05\x73\x8a\x0e\x12\x4e\xf0\xa1\x64\x82\xcc\x08\x3d\xb9\x19\xf4\x44\xc9\x20\xe1\xba\x74\x9d\x3d\x3a\xf4\xac\xea\x87\x5d\xe6\xb1\x7b\x25\x40\xfd\xe4\x64\xcd\x7e\x78\x3a\x7e\x9f\xca\x3d\x55\xf4\xbc\x25\x6f\x1e\xab\x18\xa3\x58\x38\xc1\x52\x1b\x52\x71\xdc\xc5\x18\xbf\xbe\xc0\xea\xb3\xde\x6b\x64\x4b\x01\x42\xef\x3a\x9e\x37\xce\x2b\x31\xd4\x86\x28\xaf\xb2\x47\xef\x25\xb9\xad\xdf\x19\x8d\x47\xee\x3f\xa8\xa1\xf6\xf2\x11\x43\x6d\x88\xf2\x14\x37\x07\xc7\xe7\x71\xcb\x90\x1a\xf3\x91\x56\xe0\x4f\x86\xdb\x57\x59\xc2\xe3\xae\x35\xb7\xc8\x0d\x4e\xe3\xaf\xc6\xf7\x47\x61\xfa\xd7\x99\xb2\x7c\xd3\x4d\xb2\x3c\x53\x8e\x92\x67\x54\x2e\x8b\xb3\x47\x8d\xbf\xac\xb9\x45\x66\x25\xe3\xaf\x65\x68\xdf\x75\xb2\x9f\xe4\xe3\x26\x7d\x55\x2a\x47\x90\x36\x23\xf4\x75\x69\x79\x43\xd4\xf2\x2a\xb8\x0b\xd6\x4b\x23\xec\x5b\xb2\x3d\x85\xbb\x8c\xbd\xaa\xdf\xb0\x97\x62\xdc\xa3\x97\x59\x76\xf8\xd9\xa3\x46\x9f\x5f\xed\x29\x43\x6f\x9f\x5f\x1d\x54\xa5\x8f\x24\xe9\x23\x49\x1d\x2c\xdd\x47\x1d\x85\x4f\x24\x1c\x1c\x93\xa4\x6e\x6f\xf9\x8c\xd4\x49\xdb\xfb\x09\xa9\x49\x32\xbe\x34\xd6\x97\x62\xf4\x3f\x26\x1a\xaa\x5e\x62\x55\x62\x74\x3f\x21\xcb\xc6\xe7\x65\x38\xdd\xfc\xa1\xac\x0e\x2a\x81\x80\x32\xa8\xca\x1f\xca\x14\x9f\x2c\xdd\xd7\xb5\x52\x1e\x36\xaf\xb1\x1d\x6d\xaf\xe5\x56\xb5\x24\xf5\xc2\x70\x7c\xa1\x1f\x7f\xc7\x74\xb3\xa0\xc3\x2e\xda\xcd\x7b\x54\xbf\xd1\x57\xb0\x3e\x27\x42\x08\x42\x16\xc4\xa2\x6b\xf1\x01\xbc\x9b\x8e\x73\x3f\xf5\x99\xdb\x31\xca\x9a\x22\x49\xcb\x2f\x2e\xb7\x5e\xd2\x81\xd2\xd4\xb2\x42\x2d\x58\x5a\x70\xa1\xe4\x88\xa7\x00\xf6\xa9\x2f\x24\xe9\x0b\x49\x25\x5c\xb2\x9a\x6b\x33\x4d\x52\xb2\xba\x6e\x6c\xff\x5c\x52\xc9\xa0\x52\xa5\xcf\x65\xf6\x46\x5d\xd7\x13\x8a\xdf\xaf\x24\x4a\xac\xa5\x88\x08\x68\xdc\x6c\x9e\x85\xcf\xe6\xde\x18\x25\x16\x5e\x9d\x2d\x39\x07\xaf\x17\xf5\x0f\x67\x8e\xf8\x61\x33\xb7\x4a\x5b\x31\x69\x99\x86\xb8\xa7\x16\x5c\x8a\xc4\xc8\x30\xfa\x4d\x86\xa5\x36\x39\xae\x84\x6b\x32\x64\x98\x42\xb8\x3d\xc3\xb2\x2b\x40\xf1\x35\xd0\xb5\x9f\x5a\x4b\x34\x18\x03\x1e\x1f\x03\xaa\xdf\x6f\x13\x47\x52\x81\x17\xdd\x0e\xc5\xc7\xb0\x3a\x67\x55\x65\xaf\x0f\x80\xfa\x5f\xc1\xe3\x37\x55\x28\xb5\xc7\xa9\x61\x05\xec\x04\xa1\xba\x36\x19\x80\x35\xb5\x33\xee\xf6\xd9\x1d\x46\xa6\xa6\x73\x7c\xd4\x66\x33\xa6\xd1\xb7\xaf\x62\xb9\xb5\x75\x6a\x0d\x1c\x66\x78\x97\xc3\x46\xde\xef\x85\x15\x27\x84\x8b\x3e\xa9\xba\x50\x02\x21\x50\x83\x12\xab\x16\x1d\xc8\xa4\xa8\xcb\x60\x4f\xa2\xe0\x4c\xa6\x3d\xdc\x06\x49\x4d\x25\x7c\x88\x46\xf8\xc8\x24\xee\xa5\xc8\x52\x3f\x32\x73\x7d\x86\xdd\x37\x37\xef\x4f\x26\xee\xf3\xc1\xae\xb9\x3e\x38\xe6\x9b\x8b\xbb\x26\x00\x27\x2a\xd2\xd0\x6d\x1e\x1f\x30\x13\x26\x38\x1a\xe0\x0e\x63\x4b\x83\x63\x82\x99\xcc\x6e\x2d\x24\x1b\x5b\xe0\x8e\x06\xc7\x84\xa2\xee\xb6\x8b\xda\x03\xd5\xa0\x3a\x54\x8f\x1a\x51\x7b\x81\x67\x0b\x71\xc9\x88\x96\xa6\x9b\x03\xa3\x3f\x0b\xa1\x25\x81\x4b\x36\x70\xaa\x96\xe4\xa8\x3a\x9d\xd7\x22\x5a\x3a\xc1\x3c\x06\x57\xa9\xfe\xb5\xc6\x3b\x59\xa3\x5b\x87\xab\x8c\x06\x88\x51\x8e\xb6\x8f\xb2\x46\x31\xe6\x10\xe9\x3e\x43\x95\x24\xe4\x57\x8d\xdb\x75\xe3\x76\x1d\x76\x65\xd7\xb2\x47\xfd\x6a\xcf\x85\x17\x66\xf5\x51\xcc\xb6\x9e\xcd\x1a\x9f\xdf\xfc\xd8\xcd\x3f\xcd\x66\x2f\xfe\x42\xf5\xeb\x7a\x16\x01\x72\x22\x27\x7e\x04\x3f\x82\xc2\x74\x05\xf5\x98\xdf\x07\x0b\x80\x97\x7e\x2b\x8c\x7e\x18\x2c\xd8\x6a\x89\xb4\x72\x69\xd7\x5e\x57\xab\x74\xa7\x64\x71\x5d\x75\xf1\xd0\xce\xab\x5c\x09\xf7\x8f\xdd\xbc\xeb\x31\xd6\xd1\x3a\xbe\x6b\xc1\x45\x17\x6f\xed\x98\x73\xd5\xcc\xb8\xdb\x06\xec\xff\xee\x75\x59\xdc\x87\x95\xf1\xae\x2d\xdf\x1c\xba\x68\x8b\x0b\x4b\xb7\x49\x6d\xae\xbd\x80\x05\xb5\x2e\x79\xda\xea\x8e\x39\x7b\xb6\x5d\x79\xf6\x54\xe7\x28\x9b\xab\x50\xde\x2b\x23\xae\x05\x3a\x54\x5a\x61\x0a\x84\xeb\x78\xaa\x34\x24\x83\x2b\xc3\x55\x50\xdf\x55\x2a\x94\x7d\xcd\x03\x92\xed\x19\x06\x86\x7e\xf0\xe4\x66\xbd\x33\x66\xb5\xfa\x95\x9f\x29\xfe\x9d\xc6\xe1\x9d\x34\xc0\x3a\xc6\x77\x5c\xbc\xe9\x67\xdd\x67\x85\x3d\x00\x70\xb9\xa4\x9a\xa3\x5c\x95\xe0\x72\xc6\x13\xc6\x5d\xaa\xd6\xd8\x18\x14\xc5\xac\x5a\xc9\x06\xd9\xa0\xfa\xed\xca\xca\x6f\xab\x41\x36\xc8\x56\xaa\x59\xec\x88\xd4\x37\xd7\x19\x1f\xb8\x6b\x6a\x44\x31\x6e\xfc\x52\x8e\x2b\xd4\x43\x45\x9f\x12\x97\xa1\x2d\x8e\x1d\x9a\xaf\xd4\xc7\x98\x83\x5a\x92\x22\xe0\xb5\x88\xab\x68\xd8\x59\xb0\xca\xf0\x6a\x69\x6a\xc6\x30\xc2\x04\xe1\xae\x6c\x6e\x5f\x96\xfe\x0d\x3d\x6b\x7a\xd7\xb1\xdf\x3e\x34\xe7\x76\x7b\xc1\xc3\xce\xf1\x85\x7e\xe6\x50\x96\xca\xed\xd9\xec\x50\xbf\xbf\xc9\xaf\xeb\xa6\x69\x1b\xb5\x5d\x2b\xda\x30\x16\xe6\x38\x3f\x42\x26\x7f\x4d\xfa\x75\x49\x48\xcb\x3b\x64\x56\x99\x43\x7a\xb4\x03\x62\x1d\xb0\xc6\x7c\xe6\xaa\x09\xc3\xac\x47\xa9\x81\xa4\xb9\xe3\x44\x12\x72\x33\x98\x43\xd1\x8e\xa1\x7e\xa0\xde\x0d\xa8\x38\x56\xf4\x79\x22\x23\x37\xaa\xa5\xfe\xc2\xc7\xf0\x83\xa1\xb9\xb8\x90\x9a\x70\x69\xc9\x44\x32\xe4\xd2\x38\x17\x1f\x72\x25\x78\x57\xc2\x95\x65\x0e\x6d\xeb\xed\xdd\x96\x9b\xb1\xad\xb7\xb7\x92\xdd\x61\xd8\x0b\x4a\x1d\xaa\xe5\xd0\x75\xdc\xd5\xbb\xcd\xb0\x93\x2c\x70\x6c\x5b\x6f\x96\xc0\xcf\x52\x67\x7e\x10\x23\x0f\xea\xea\x8f\x3a\xa3\xfe\xda\x78\xe4\x35\x5d\xb4\x05\x4e\x81\x87\x69\xfc\x7a\x72\x2c\x48\xfb\xe4\xd5\x26\x45\x2c\xf0\x28\x1c\xa8\x34\x31\x36\x25\x5c\x09\x55\x33\x7d\x67\x91\xe7\x98\x34\x20\x14\x30\x9f\x63\x91\xa0\x00\x54\xa7\x7b\x71\xa3\xe1\x7a\xa8\x87\x80\xb1\x6a\xde\x02\x0e\x38\xb1\xa6\x26\x2c\xa3\x6f\x0c\x38\x86\xbd\xa7\xa7\xa7\x67\x0c\xfa\x7a\x51\xdd\xc9\xe8\xcb\x6a\x2e\x8d\xba\xa8\x50\x3c\x1d\x50\xf0\x8b\x16\x2a\x83\x4a\x6d\x1a\xf5\xed\xe1\x89\xa9\xe8\x76\xc3\xbe\x3d\x9a\x9a\x18\x1e\x93\xc6\x70\x4c\x5f\x32\x6d\xda\x62\x88\x19\x7d\x8b\xa7\x4d\x5b\xf2\x7f\xed\x6f\xa6\x66\x8f\x0d\x25\x13\xa7\xea\x6f\x5f\xd5\xe1\xa8\x9e\xcf\xb0\xeb\x25\x7e\x7e\x08\x0e\x3e\x2a\x4b\x45\x4e\x82\x05\xf5\x8f\x69\xc2\xa7\x3c\xfd\x89\x38\xe4\x66\x90\xe6\xa4\xca\xc5\xdc\x3e\xd2\xaf\xc7\xc4\xc1\xe8\x86\x63\x14\x81\x2c\xc1\x58\x2f\xa3\x43\x0d\x0a\xd2\xf9\x79\xac\x56\xe7\x43\xc9\x74\x32\x94\x3c\x15\x11\x5e\xd7\x5f\x2f\x90\xe0\xf5\x31\xc1\x1b\xdd\xd9\x78\xb6\x47\x2f\x52\x80\xcc\x2f\x56\x64\xc5\x4f\xe1\xa7\xa8\xdc\x5c\x6e\xb5\x31\xea\xac\x25\xe1\x6f\xb4\x48\x32\xad\x41\xff\x27\xbf\x7d\x78\xc5\x8a\x87\x7f\x6b\x3e\xe0\xb5\x0f\x88\x5c\x4c\x6e\x97\x99\x3e\x3c\x09\x95\xf1\x53\xc5\x0c\xe4\xd1\x65\x66\x38\xfc\xc1\xe1\x37\xa9\x8b\x4d\x53\xbf\x5a\x0a\x3b\x42\xbf\xd0\x7b\x52\xe8\x2a\xef\x55\x43\x91\x11\x35\xf2\xc9\x71\x88\xeb\x84\xcb\x25\x0c\xe3\xc9\x71\xd0\xe3\x7a\x9c\x4e\x0b\xba\x8e\x10\x33\xfc\xe9\xf0\x43\xf4\x5b\x74\x75\xd4\x37\x4b\xfe\x6b\x74\x64\x4e\x2f\x71\xa7\x5c\xf8\x2c\x5d\x06\xdc\x89\x13\x0d\xa9\x47\x7d\xad\xee\x06\xd3\xd1\xd1\xef\x16\x76\x2f\x99\xc6\x5c\xb8\xff\x1b\x27\x5a\xb5\xd0\xcf\xd8\xfd\xf9\x80\xa9\x85\xb9\x72\xc1\xe9\x97\x4a\xee\x0a\x7d\xff\x85\xb9\x17\x4c\xfb\x96\x63\x4e\xe7\xb1\xa2\xcb\x79\x8a\xdf\x83\xf8\x27\x78\x1a\xaa\xa1\xdc\x4f\x1e\x3f\xaf\x62\xe1\xe9\xa9\xf5\x51\xb8\x79\x4f\xf0\x3a\x9f\x4a\xa7\xe2\xf0\xd7\xf5\x2f\xc5\x9a\x5b\xaf\xde\x0f\x5b\xcf\x35\x6e\x71\x34\x38\x8c\x9b\xac\x0b\xae\x20\xd8\x7d\xf7\xa3\xd1\x96\x4b\xaf\x57\xba\x7d\x04\x3d\xf9\xc0\xd6\xd5\x8f\xd7\xc0\x25\x4e\xa7\xf1\x1d\x13\x41\xb7\xfe\xdd\xd5\xb9\x6f\x7f\x50\x6a\x08\xf5\xef\x95\xee\xa2\xbf\xd0\x2e\x7c\x39\xfd\xe6\x71\x52\x83\x04\x24\xac\xe4\x06\x9a\x79\xfc\x5b\x23\x64\x64\x0e\xc1\x2e\xe3\xd3\xfd\xe4\x7f\x9f\xd1\x47\x9f\x9f\xc2\xae\x38\x11\x2c\xfd\x2a\xe9\x31\x10\x83\x79\xc6\x0b\xe4\xa5\x5e\x5c\xfe\x10\xa0\xab\x11\xc2\x69\xfc\x00\x95\x37\xe2\x1e\x6f\x80\x7e\xed\x90\x7e\x2a\x30\x18\x51\x8b\x9f\xb1\x48\x5a\x28\x15\xe8\x59\x9d\x54\x22\xee\x6d\x27\x24\x61\x96\xae\xf8\x4e\xd5\xb2\x6b\x3a\xe2\xd6\xb5\x73\xd2\x2d\xa6\x03\xa9\x96\xf4\x9c\xb5\xb8\x6d\xe2\xda\x39\x5c\x05\xf3\x18\x7e\xe0\x8a\x65\x96\x9b\xce\x9d\xb2\xa6\xd6\x5f\x35\x67\x6d\xe0\xb8\x09\xf7\x78\x60\xed\x9c\x0a\x45\x5d\x9a\x9c\xb3\x96\x61\x9c\xdc\xa6\xc7\x28\xaf\x17\x41\x0a\xbe\x1d\x3f\x88\x5c\xa8\x09\x4d\x47\x73\xd0\x85\xe8\x1a\x84\xc0\x53\xc1\xf0\x12\x04\xc3\x91\x30\x53\x91\xce\x40\xdc\xc3\x05\x4d\x23\xa3\x5a\xf0\x24\xe2\x84\xf6\xe9\x0c\xb4\x41\x38\x12\xf6\x8e\x7a\x41\x4f\xc8\xd1\x74\x4f\xde\x8d\x6b\x9a\xbe\x97\x80\x1e\x45\x34\x73\xa4\xc2\x6d\x40\x7e\x67\xa1\x07\xb0\xca\x5f\xb0\x9f\x6e\x58\xb0\x60\xc3\xa2\x77\xde\x7b\x67\x51\x21\x60\x4c\xc1\xf8\xea\xe7\x82\xd8\x61\xaf\x67\xb1\xd7\x52\x3d\x6b\xe6\x4a\x9b\x83\xb5\xb2\x36\xbe\x06\x73\x0b\x37\x57\x62\xbb\x23\x88\xb1\xc7\x52\x71\xe6\x44\xbb\x9d\xa6\x7f\xb9\xfa\xae\xd5\xab\xef\x5a\xbd\x84\xa4\x4d\xb2\x99\x69\x82\x99\xd7\x61\x0f\xe2\x9d\xa3\x0a\x11\x46\x4a\x67\x3f\xdd\x60\xfc\xda\xf8\xf5\x86\x45\xe7\x9c\xb3\x68\x03\x34\x43\x33\x09\xd5\x40\xf0\xb9\xab\xed\x1e\xd6\x0a\x9e\x95\x33\x67\x55\xb3\xaa\x3d\xe4\xb0\xe0\xbb\x99\xca\xcd\x0b\x1d\x24\x55\x9d\x74\x66\x05\xab\xda\x42\x76\x1e\x0f\x12\xa8\xab\x55\x75\xd2\x99\x2e\x6c\xa6\x14\x73\xd5\x97\xfe\xb8\x58\x22\xdd\x23\x29\x7c\xd3\xc3\x8e\x64\xe4\xa1\xb3\x25\x22\xd2\x67\x52\xcb\xdb\xa9\x40\x28\xc9\x26\xf8\x48\x22\x99\x60\xe9\xd4\xc9\x51\x09\x94\x39\x04\xb1\x17\x8d\x67\x8c\x1d\xb2\xc8\x74\x42\x2c\xab\xef\xed\xeb\xdb\xab\xbf\x68\x6c\xa6\x9f\xa5\x10\x7f\xc2\xd6\x19\x3b\xb2\x59\xe6\x2f\xa2\x6c\xf4\x65\x87\xfa\xfb\xfa\xb2\x86\x5d\x16\xe1\xce\xec\x4f\x0a\xe7\x46\x0b\x70\xad\xc8\x8e\xdc\xa8\x8a\x5a\xbf\x6b\xa6\x73\x5a\x0a\xd4\x4d\x9d\x26\xa7\x59\xca\xae\x46\x4d\xb9\x37\x49\xc0\x1a\x7b\x73\xef\xe6\xa1\x66\xf6\xea\x7b\xfb\xf6\x1b\x0f\x89\x32\x6c\x63\x04\x59\x7c\x80\xad\xcb\x7d\x01\x2b\x72\xef\xe2\x59\x26\xe0\x6d\xd9\x6c\x9f\xa1\xcb\x62\x3a\x2d\xca\x0b\x4b\xec\x96\xd9\x63\x48\xc8\xef\x3e\x85\xd4\x84\x57\x73\x85\xd2\x5c\x22\x1e\x60\xc8\x74\xcc\xba\x12\x84\x31\x4e\xb0\x1a\x68\xf8\x8e\xbd\xba\x6e\xf4\xed\xed\xcb\x55\x64\xab\xab\x34\x09\x62\xb9\x7d\x59\x5d\xd2\xaa\x98\x2b\x3f\xf9\x64\xa8\x1f\x62\x70\x8c\xad\xcb\xea\x10\xeb\xeb\xc3\xae\xe6\x7a\xdd\xd8\x0b\x87\xeb\x9b\x5d\xd8\xe8\x26\x8b\xd2\xa8\x3d\x02\x1f\x8a\x53\x2f\xe4\xa5\xdf\x6d\x0a\x69\x25\x1a\x66\x2e\x59\x5c\xa1\x22\x69\x4a\x06\xd5\x54\xf9\x82\xe9\x01\x8f\xb9\x43\xcf\x1f\x53\x32\x3d\xbe\xc5\xfd\x70\xa5\xe9\x68\x1e\xdc\x7f\x35\x7e\xd8\x11\x5d\x9a\x81\x58\x66\x69\xee\xc5\xbe\x6c\x96\x88\xe2\xf1\x11\x63\xcf\xb8\xea\x1f\xec\xe9\x88\x0e\xf5\x47\x3b\xf0\x5f\x61\x26\xcc\x88\x76\xf4\x64\x96\x2e\xcd\x7d\xd4\xb7\x57\xdf\x9b\xe7\x87\x0f\x51\x1c\x53\x23\x36\xe8\x27\xc7\x31\xe4\xa2\x1f\x4f\x28\xe8\xa0\x47\xa3\x09\x87\xc7\x42\x33\x9b\x95\xb4\xaa\x6a\xd3\xc9\xad\x89\x27\x3c\x78\x52\x3c\x09\xe3\x45\xa8\xd8\x11\x65\xeb\x46\x61\x8a\x10\x3b\xbc\x17\x21\xce\x83\xfb\xa8\x1f\x9b\xda\xd1\x9e\x6c\xdc\xe5\x47\xa0\xd5\x44\x92\xf9\x36\x73\xad\xb7\x2e\x76\x1c\xc7\xea\xbc\xcc\xb5\x9e\xa9\x33\xca\x8e\xdd\xf5\x67\xf1\x81\xe3\xbd\xe1\x74\x3a\x8c\x17\x46\x8c\xae\xd1\x67\x9d\x4b\xfd\x62\x9f\xe4\x7b\x77\xe5\x1e\x1b\xbf\xea\xfb\x77\xff\xe8\xef\xdd\xc1\x77\x07\x8b\x3e\x3f\x8a\x37\xb8\xbf\x18\x1c\xfa\xc3\x58\xa9\x7f\x4b\x06\xdc\x35\xda\x5b\x48\xcf\x68\x8f\xca\x27\x4d\xfd\xfa\xef\x47\xc6\x29\xa7\x20\x1f\x8a\xd2\x15\x9a\xfa\x5c\xa7\xfc\x01\xaf\xd1\xc3\x95\x09\x8d\xf6\xb7\x53\xc8\x8a\x74\xc3\x7d\x45\x66\x7c\xcd\xf4\x68\xe3\xd0\x50\x63\x74\x7a\xcd\xf8\x0c\xac\xd0\xf5\xac\x91\x19\x91\x1c\xef\x70\x94\x48\x8e\xb8\x37\xab\x2f\x48\xef\x58\x94\x48\x2c\xda\x91\x5e\xa0\x67\xf5\xa1\x6d\x27\x0a\x90\xb8\x88\x1b\x87\x7c\xa8\xd9\xfc\xc2\x99\x47\x0d\xb5\xf3\x9a\x47\x55\xcc\x8f\x25\x6b\x11\x82\x60\x38\xd9\xce\x16\x0e\x64\x71\x5a\x43\xb2\x1c\xbf\x71\x0b\x27\x1e\x9e\x0c\x93\x2a\x58\x98\x1d\xe5\x83\x07\x73\xe7\x3e\x1f\x14\xa3\x30\x9b\x3d\x68\xa2\xd7\x03\xee\xa1\x39\xe0\xee\x29\x41\x90\x53\x3a\xa2\xd1\x9d\x0d\x61\xc1\xa5\x79\xee\xbe\xdb\xa3\xb9\x84\xb0\x71\xaf\xbf\xc9\x4f\x84\x5d\x7f\x13\xfd\x6c\x23\x45\xb2\x60\x0f\xf8\x10\xe2\x91\x82\xea\x4d\x5b\x22\x73\x93\x86\xb2\x5a\x8a\x57\x4b\x91\x55\xfd\x14\xc4\x73\xf4\xac\x5b\xd7\xb3\xee\xfb\xad\xc1\xe6\x88\x71\x28\xd2\x1c\x32\x7e\x6e\x62\xe5\xb8\xa3\x4c\xdc\xc6\x0f\xad\x23\x59\x8d\xff\x99\x38\xa9\xeb\xd2\x4b\xbb\x26\x4d\x34\x36\x9e\x40\xb4\x11\x9a\xc9\xa8\x06\xc5\x4c\x9e\x30\x00\x85\xf3\xd0\xde\x74\x24\xf5\x75\xf1\x5a\xda\xb6\x3c\xb1\xe1\xc1\x0d\xc1\x5d\x1b\x1e\x0b\xd6\x7e\x35\x76\x9c\x72\xe9\x9d\xa9\xf9\x1b\x36\xcc\xcf\x9c\xf9\xad\x0d\x8f\x55\x19\xe2\x29\xb0\x1c\xe9\x77\x15\xa8\x02\x05\x51\x0c\x21\xe0\x54\x4d\x09\xb0\x5e\xad\x95\xea\x4b\xd2\xa7\x42\x8c\xf0\xe9\x0d\x9d\x9d\xf3\xdc\xb9\x8f\x27\x4f\x99\x7e\xf9\xb7\xe6\x18\x7b\x4f\x46\xb2\xde\x7f\xba\x73\xe2\xc5\x67\x76\xce\xf6\x2d\xfa\xe7\xc5\x8b\xff\x69\xcb\x5c\x3c\x74\xdd\x09\xd8\xe4\xbf\x4b\x4d\x69\x16\xcd\x9f\x86\x08\x98\x1f\x9b\x4e\xa5\xcd\x9e\xe5\x0d\xa9\x64\x5c\xd0\x6b\x44\xb6\x61\xda\xce\xea\x68\x4d\xfd\xff\x58\x3b\x17\xf8\x28\xca\x7b\xef\xff\xff\x33\xb3\xf7\xfb\x2d\x9b\x84\x2c\xd9\x0b\xd9\xcd\x86\x64\xb3\xcf\xec\x2d\x21\x90\x40\x42\x12\x12\x10\x10\x10\x62\xab\x88\xb8\xdc\x94\x9b\x40\xa0\x2a\xf2\xaa\xa5\xd6\x5a\x6b\x7d\xd5\xa6\x97\x57\x2b\x2f\x56\x8b\x94\xd2\x15\x95\x6a\x5f\xed\xeb\xad\x6d\x6a\x3d\xe7\x78\x2c\x3d\x6a\xb5\x16\xad\x7a\xd2\xd6\x43\x5b\x4b\xad\x02\x99\x9c\xcf\x3c\xf3\xdf\xec\x26\xa4\x9e\xf6\x7c\x0e\x61\xf6\x79\x66\x76\xe6\x37\xcf\xcc\x7e\x9f\xdb\xcc\xf3\xfc\xff\xca\xf6\x6c\x22\x8f\x77\x64\x2f\xa9\x3e\xc2\x1f\x97\x0c\x2e\x57\xb6\x2f\x1f\x1c\x54\x09\x5a\x5c\x7d\x49\x56\x96\xb3\x97\x54\x2f\x8e\x2b\xbd\xd9\x04\xef\xcf\x2f\x1f\x1c\x5c\x8e\x77\x2c\x1f\xe4\xcf\x47\xf8\x18\x0d\xb5\xbc\x6b\x56\xf3\xde\xe4\xbe\x53\x69\x92\x85\x5f\x1b\x98\x15\x32\xa8\x60\x75\xe0\xb8\xc9\xd6\x50\xac\x7c\xac\xac\x24\x1e\xe7\x43\xed\xdf\x3d\x69\xab\xae\xb3\x0d\x8c\x9e\x5e\x65\x8b\x56\xdb\x4e\x2a\xbf\x56\x0b\x96\xc3\x79\x9c\x9f\xe7\xf6\xf1\xc6\xe7\x82\x8c\xce\xe7\x56\x14\x4e\xda\xea\xa6\xd9\x06\x06\x6c\xd3\xea\x6c\x27\xf9\x06\xf2\x53\x50\xb2\x29\x5c\x05\x11\x68\x2a\xfa\x8a\x0e\x60\x84\x1b\x92\xd0\xfb\xc6\xc3\x8c\x96\x56\xfe\x44\xa7\xcc\x06\x51\x68\x3c\x36\x2c\x06\x97\x0f\xe6\xdb\xe2\x67\xe2\x6d\xf4\x39\xe8\x12\x47\xe2\x6d\x67\x97\xb6\xfd\x89\xd7\x48\xe2\x08\x0f\xa4\x45\x83\xcb\xf9\x58\x5b\x3e\xde\x76\xf9\xa0\x62\x6d\x8b\xab\xfd\xb2\x78\x9b\x62\x2d\x9f\x16\x09\x22\x20\x80\xf4\x90\x74\x04\x6c\xe0\x22\x4b\x6b\x5e\x07\x86\x34\xe3\x7d\xb2\x49\x2c\xf1\x82\x27\x85\xc3\xb5\xb5\x9f\x55\x6a\x47\xcf\x06\x83\x18\xab\xbd\x58\x39\x82\x2b\xb1\x59\xf9\xce\x41\x31\xc8\x5f\x4f\x4a\x5f\x1a\xbd\xa8\xf6\xe2\xda\xcf\x0a\xfa\xda\x8b\x6b\xb1\xbe\x56\xd9\xaa\x1c\xc6\x24\x5e\x74\x6e\x5a\xa9\x2d\x2f\xa8\x75\x90\x14\xe2\x63\x8d\x9b\xcb\xe7\x0f\xea\xb5\x99\x17\x64\x13\x4d\x2c\x9b\x7f\xed\x4a\xb9\x8a\xf5\xbb\x4f\x0a\x3d\x65\x8c\xf9\x94\xed\xbe\x98\xf1\x29\xa3\xc7\x27\x5c\x1d\x68\x08\x5c\xef\xf3\x1c\x1a\xfd\x2e\xaf\x97\x93\xc3\xcd\xbc\x52\x16\x3e\x8f\x67\x3c\x35\x35\x1e\x45\xef\xa9\xd1\xec\xa2\xd5\x8c\xde\x26\xf3\xaf\x54\xe6\xf9\xbe\xe5\x63\x90\x6d\xe0\x84\x5a\x6a\x49\x6a\x56\x3a\x32\xd4\xaa\xc3\x09\x0e\xe3\x78\xe3\x72\x3f\x36\x3a\xcc\xca\x17\xd4\x4a\x01\xf7\x60\xe3\xf0\xe8\x21\x75\x83\x66\xa8\x9f\x6f\x10\x83\xa3\xcf\x98\x1d\xc2\x12\x6c\x5c\xc1\x5b\x75\x8a\x55\xf3\x4d\xa7\x52\xa5\x9c\x18\xe6\x3e\xdb\xf2\x3a\xaf\xd4\x0b\x3d\xb0\x92\x6c\xf5\x73\xa3\x02\xb9\x2c\x1f\x5b\x50\xe1\xaf\x30\xd8\x71\x26\x72\x83\x19\x7c\x3e\x5d\x07\xaa\xbf\x7f\xcc\x50\x5c\x8b\x6a\x8f\x4d\xf9\x44\xb5\x5c\x2c\xca\xe7\xab\x4d\x36\x9f\xf2\xce\x73\x0b\x6f\xbf\xb2\xcf\xea\x76\xd5\x76\x99\xcd\x55\x1e\xb3\xce\xe1\xb7\xc6\x05\x71\xe5\x9c\x76\x43\x4b\x4d\x4c\x0c\xfb\xf2\xbe\x4a\xd1\xca\x1a\x9e\xab\x8c\x5b\x68\xad\x7a\x45\xe3\x7d\x9e\x9a\x80\x6f\xaf\xa5\x69\x9b\xd3\xe0\xfb\xd9\x2e\xec\x2e\xd5\xa2\xbd\xf3\xae\xba\xb5\xcf\xae\x37\x87\x82\xe1\xba\x69\x4e\xa3\xde\x68\x6d\x9c\xd3\xb1\x2a\xb7\x37\xfa\x3b\xb5\xfd\xd1\x63\x37\xce\x55\xc3\x7b\xfb\xd7\x65\x0c\x51\x9f\xec\x0b\xac\x5a\x72\x99\xdd\xb3\xee\xb2\x32\x57\x45\xfa\xb1\x7b\xc6\xde\xd3\x79\xa5\x7d\x60\x82\x19\x90\x86\xd9\xb0\x0c\xd6\x6a\xef\x2a\xb4\x27\xd1\x75\xc5\xb9\xc1\x6a\x66\x35\xe8\xf4\xd1\xd8\xf8\x00\x10\xbf\x76\x79\x9a\xbd\x95\x68\x2c\x5a\x74\x61\xa0\x76\xa1\xb8\x79\xd7\x0e\xf4\x73\xd7\xdd\xbc\xaa\xad\x33\x70\xe7\x0f\x1d\x7c\x54\x71\x2c\x81\xc2\x8d\xf8\x6d\x4f\xc2\x1e\xb4\x8b\xce\x2f\x9e\x9b\x79\x65\xd7\x82\xe9\xeb\xc5\x9c\x2f\x50\xe3\x19\xad\xf5\x87\x4d\x0d\xb3\x94\x13\xed\x03\x03\x4f\x2c\xf5\xb8\x1b\x6e\x76\x5a\x82\x16\x37\xde\x30\xb7\xa9\x69\x6e\x93\xe2\xf8\x9a\x3b\x38\xdd\xe3\xac\x69\xaa\xee\x48\xda\x42\xa9\xa5\xcd\x7b\xe3\x37\xd5\x9b\x30\xbe\xbe\x36\x54\x67\x0b\xb8\xe6\x78\x74\x82\xd7\x60\x71\x8a\xfb\xff\x6a\xb4\x38\xa3\x8e\x06\xdb\x67\x86\xc3\x59\x15\x2f\x5f\xd4\xb0\x5f\xf2\x3a\xba\x06\xda\x87\xdb\x07\x8e\xd4\xf8\x5a\x52\x4e\xa7\x65\xbe\xab\xe6\xa7\x4d\xaa\xb0\xf2\xfa\x4d\x1e\xb3\xcb\xed\x89\x04\x45\xdd\x23\x73\xfa\x66\x76\xd7\x9b\x9a\xbf\xda\x7c\x7d\xcd\xc0\xb4\xe8\x4c\x87\xc9\x92\x71\x86\xbc\x0b\x4c\x56\x69\xdc\x87\x81\xd4\x2a\x15\xe0\x42\x58\xc3\x6d\xd5\x14\x2d\x99\x55\xd8\x05\x07\xca\xd3\x75\x3e\xaf\x5d\x17\x29\xbd\x65\x3b\xdf\xb1\xaa\xab\x7c\x58\x88\x66\xce\x20\xa5\x16\x34\xbe\x90\xdc\x2e\x64\x72\xe9\x84\x18\xc1\xb2\xb8\x70\xf5\x90\xd9\xb1\x64\x23\x62\x30\x91\x70\xba\xf4\xee\x74\x72\x56\x43\xc0\x1f\xce\x36\xcd\x8d\x54\xf3\xd6\x4e\x9e\x7f\x7e\xaf\x64\xa4\xed\x7b\xb4\xf9\x15\x34\xd4\xc4\x3d\x16\xe4\xb3\x65\x95\x8f\xf1\xaa\xd2\x9a\x54\x70\x98\xb7\x84\xb6\xf4\x27\x2e\x68\xaa\xd5\xeb\x45\x87\xb7\x5e\x5e\xdc\xd4\x76\xe9\xec\x06\x9f\x45\x58\x58\x52\xd2\x9c\xb2\x0a\x03\x65\x6e\x5a\x17\xf2\x3c\xc3\x5f\x39\xf1\xd7\x35\xca\xf6\xb2\x15\xf5\xfe\x48\x20\x48\x05\xe9\x28\xf8\x21\xae\xd6\x7f\xc5\xb2\xbf\xe8\xe9\x23\x96\x10\xd4\xac\x2b\x85\xed\x92\x43\xad\x04\x13\x3a\x31\xe2\x39\x21\x5a\x57\x5e\x3b\xc3\xed\x0e\xdc\xb8\x6c\xf4\xf9\x65\x37\xd5\x18\x2b\xeb\xaf\x15\x82\xb7\x5d\xbf\xb2\x77\x66\x40\xaf\xbf\x47\x48\xde\x23\x18\x83\xf1\xbe\x8b\x42\xf7\x3e\x27\x1d\xbd\x76\xa5\xb2\x26\xf5\xfd\xce\xce\x55\x7b\x76\x0f\xd4\x7c\xea\x47\x29\x3c\xb0\xf2\xda\xaf\xfb\xa3\x4d\x4d\x75\x56\xeb\x9f\xff\xac\x73\x34\xd6\xb3\x88\xf2\x2c\xea\xa8\xfe\xdb\xcf\xeb\xbf\x32\x6b\x98\xe3\xfe\xb0\xc7\x7f\x1a\x7c\x7d\x68\xc3\x91\x15\x71\xa5\x3d\xbe\xe2\x08\x2e\xc8\xfa\x86\x7c\x59\x9d\xf7\xc8\x06\xc5\x1a\x5f\xb1\x22\x8e\xa7\x37\x1c\x39\x57\xf9\x96\x2f\x9b\xf5\xbd\x05\xe7\x6b\x7a\x2b\x52\x7f\x43\x73\xcd\x23\x43\x93\x35\x87\x1e\x51\x3a\xa7\xd2\x04\xf0\xea\xec\x52\x35\x78\xa1\x5a\x2d\xf1\xeb\x0c\x3e\xbf\x2f\x66\xc8\xe4\x32\xe9\x68\xbb\xd0\xc1\x7d\xff\xd7\x65\x74\x75\x3a\xfb\xe8\x4d\xca\xcd\x8b\xf3\x43\x43\x79\x44\xd4\x49\xcd\x77\x09\x37\xe1\x25\xca\x41\xe5\x20\xae\xc6\xd5\xc2\x98\xf2\xee\xe1\xd9\x27\x87\x7e\x72\xf7\x57\x86\x87\xce\x48\x36\xbd\x59\x2f\xd6\xcf\xc3\x69\xa3\x6b\x1f\x7c\xf0\xae\x07\x1e\xe0\xec\xe2\x69\xa9\x20\x06\xc1\xa0\x59\xa0\x76\x4f\x9a\x99\x50\x0c\x9f\xdc\x3b\x30\xb0\x77\x00\x47\xca\x03\x31\x38\xc0\xc3\xb2\xff\xda\x38\xe8\x3b\x00\x04\xb5\xef\x67\x28\x5a\xb5\xd6\x34\xdc\x93\x42\x92\x29\xff\x2f\x2d\xe2\xa1\x32\x5c\x1e\x50\x1e\xcb\x97\xf5\x97\xfe\x61\x8b\xff\xd7\x6b\xed\x05\x72\x65\x33\x75\x7c\x42\x2f\x64\xfb\xd4\xf1\x09\xf3\x62\xb4\xb4\xa4\xfe\xbe\x11\x83\xe7\xbd\x5e\x5c\x8d\xa7\xf9\xd8\x49\xeb\x03\x4f\x3c\x21\xfc\xac\xe4\xac\xa5\x6d\xf4\xe1\xb2\xd9\x98\xbd\x78\x87\x54\xa0\xbd\x1e\xc0\xd3\x7c\xbc\x5e\x69\xdf\x7c\xb1\x4b\x8c\x8d\xbe\x00\x8d\x87\x45\x7e\xaf\xd4\xb6\x4c\x5b\x71\xc6\xd1\x4c\xf4\xa5\xa6\x0a\xb5\x99\x48\x6d\xa8\xf5\x22\x26\x87\x43\x9a\x91\x56\x59\x9e\xfc\xa9\xd9\x84\x3d\x6f\xbb\xb4\x48\xed\x35\x94\x2d\x93\x56\x01\x40\x8f\x8d\xa0\x13\x47\xa4\xfb\xc1\x00\x36\x7a\x9a\xdf\x00\x80\xd3\x51\x6f\x48\x60\x16\xe5\x0a\x5f\x38\x5a\xe7\xd5\x47\xd2\x13\xe2\x22\xd9\x9c\xa8\x48\xc9\xc2\xad\xab\x3a\x3a\x56\xad\xea\xe8\x50\x3e\xde\x5b\xd8\x5b\x10\x9e\x2c\xec\x2d\x8c\x3e\x3d\x1e\x2d\x04\x1a\x02\xf5\xa2\x4b\xba\xbf\xeb\xd8\xb1\xce\xce\x63\xc7\x94\xa7\x0b\x7b\x0b\x7b\xd5\xaf\x95\x13\xe3\xb1\x9f\xf3\x61\x77\xb7\x4b\x00\x38\xf6\x18\x0c\x4b\x77\x8b\x37\x42\x27\xf7\xec\xe8\xc7\xe9\xc8\xab\x70\xd9\xe7\xb5\x4b\x33\x31\xec\x4a\xe7\xa2\x61\x43\x85\xcf\x39\x13\xc3\x09\x31\x93\x4e\x8d\x4f\x72\x51\x6b\x2f\x3b\x36\xa3\x21\x14\x33\xe8\x13\x98\x15\x7e\xdb\x5d\xe5\xc5\x06\x8b\x51\xaf\xab\x76\x18\x51\xb2\x4d\x8b\x75\xc4\xef\x7c\xdc\xec\x5d\xe1\xb3\x3c\x7e\x7b\xb2\x2f\x56\x65\x10\x0c\x8e\x2a\xbd\xde\x68\xc1\x06\x6f\xf5\x22\xaf\xcf\x1c\xf1\xa6\x8e\x8b\xd7\x1d\x6f\xf4\x46\xcc\x15\xe2\x56\x8f\xde\xad\xbc\x66\xa9\x75\xd8\x3d\xb6\x40\xb6\xa7\x45\xae\xc1\x60\xa5\x5f\x92\x2a\xfd\xca\xc9\x86\xd9\xcb\xbb\x22\x36\x8f\xdd\x51\x6b\xc6\x7a\xb7\xc1\xa3\x8b\xd4\x57\xe8\xad\xcf\x3c\x63\xd5\x55\xd4\x47\x26\xfa\x14\xad\x83\xae\x4f\xf6\xdd\xa2\x7e\x27\xf2\xef\xfc\x29\x5f\x24\x23\xf3\x6f\x44\x5f\x24\x13\x92\x0a\x9f\xec\xcb\x65\x74\x7e\x95\xd1\x5c\xe9\x74\xe5\xab\x6c\xd6\x61\x39\xef\x72\x56\x9a\x8d\x55\x78\xfa\xbf\xf4\x30\x33\xea\x76\x78\xcc\x3a\x54\x56\x59\x6c\x28\xcb\x55\xf8\x10\xea\xcc\x1e\xc7\x50\xf9\xd8\xdb\xa3\x10\xe0\xb3\xfe\x01\x33\xe1\x58\x02\x9b\x11\x23\xa8\x99\x23\xf3\x85\x32\x6a\x73\x2a\xe4\xaf\xd0\x47\x7c\x38\x0d\x4b\x93\xdb\x34\xa3\x1e\xe2\x48\xd5\x74\x7b\x85\x4e\x52\x7e\xdd\xad\x9c\x70\xfb\x4c\xb5\x16\x0b\xba\x58\x9b\xbb\x1b\xeb\xe6\xd8\x42\x31\xe5\xfd\x9b\xaf\xc1\x87\xc7\xdd\xbd\x8c\xa8\xad\x4b\x39\x68\x0f\x9b\x2d\xc2\xef\x47\xed\x11\x9f\xc9\xa3\xd3\xc9\xf2\xcc\x44\xe1\xc1\xf0\x3c\x19\x3f\x8f\x2b\x95\xc3\xa3\xbf\x29\x39\x1b\x11\xcb\xf2\x7a\x2f\xf7\xc6\x30\x39\xa7\x47\xc2\x06\xd4\x1b\xf4\x86\x09\x96\x35\x22\xe1\x98\x96\x66\x83\x7e\x92\x61\xd5\x58\x38\x16\x8d\x45\x30\xea\x89\x78\xca\x9d\x8e\x08\x3d\x3d\x36\x9d\xf2\x0b\x97\xdb\x1d\xb5\x5a\x4c\xe8\x32\x5a\xad\xc6\x9c\xd3\x6c\xee\x40\x73\xab\xc5\x65\xad\xe4\x3e\x08\x5b\x8d\x56\x8b\xd1\x55\x55\xe5\x40\xe5\xa4\xce\xfe\xa3\x0d\xdc\xcd\xd6\xb8\x6b\x92\x65\xd6\x51\x47\xd0\xe3\x76\xea\x6c\xb2\xba\xb7\x6c\xb4\xfa\xed\x55\xf7\x7f\xbd\xb6\xd2\xc5\x57\xac\x46\xd9\x60\xc5\xaa\x69\x33\x84\xf7\xad\x8a\x0e\x8d\xe5\xe5\x98\x48\xf3\x29\x01\x43\x99\xf3\x86\x42\x14\x67\xf7\x95\xbf\xe5\x92\x0a\x67\x97\x4a\x85\xb3\x37\xd1\xf8\xd5\xed\xea\x15\x6c\x29\x5b\xe9\xc5\x46\x69\x51\x7e\x98\xfa\x6a\x3e\xad\xdf\x56\x72\x5e\x4e\xef\x6f\x27\x94\xa3\x53\xbe\xd3\x9b\x5c\xae\xaa\xe7\xf6\x84\x32\x21\xf9\x13\x4e\x3c\xac\x26\x4d\xbd\x35\xa5\x73\x2b\xd6\xf3\xce\x3e\x7a\x28\x5f\x1a\x6f\x57\x10\x47\xb4\xf7\x5a\xda\xf9\x53\xe3\x5e\x6d\xd4\x4e\x70\x11\xb7\x48\x79\xba\x5c\x21\x17\x4f\x43\x9e\x24\xf3\xda\x09\xf2\xc5\x34\xdd\x87\x8d\x6a\x37\x4f\x39\xa8\x75\x6d\xf2\x5a\xa0\x1c\x2c\x1a\x1b\x57\x4e\x68\x2f\xd2\x27\xfe\x06\x7e\xf5\x1e\xa4\x22\xae\x94\x7f\xaa\x37\x8b\x93\xb6\xe5\xf3\xf9\xa1\x89\x57\xae\x1c\x2c\xef\x20\x17\xf2\xe7\x5d\xf4\xc4\xfb\x00\x13\xe6\xa7\xf2\xeb\x2f\x19\xff\xf0\x4d\x3a\x5b\x2a\x94\x19\x1f\x3d\x96\x49\x19\x5c\x21\x97\x30\xa0\x5d\x94\x36\x6e\x59\xbb\xd9\xb8\x9a\xae\x77\x58\x05\x60\xe2\x3d\xf1\x95\xdf\xaf\x61\x1a\x47\x30\xc5\xf5\x87\x22\xae\xd4\x79\xf5\xe5\x14\xd7\x2f\x15\xf2\xf9\xd1\xdd\x13\xef\xc0\xb9\xa3\xff\xe0\x1d\x40\x6c\x84\xa4\xb8\x4d\xba\x01\x1c\x6a\x2b\x4b\x4f\xd7\x98\x92\xfd\x58\xe1\x15\x2f\x57\xdc\x7e\xb7\xdd\xe9\xb4\xbb\xfd\x78\xca\x2e\x64\x14\xb7\x7f\x5a\x95\x38\x52\x35\xcd\xaf\xb8\xed\x0d\x9a\xdd\xf1\x79\x20\x8b\xfb\xa5\x7d\x60\xe1\x63\x6d\xc9\x8a\x7f\x34\x8d\x4b\xf0\x54\xa0\xa1\x21\xa0\xb8\xed\xc2\x75\x78\x2a\xe0\x8a\x9f\xab\x8c\xbb\x02\x78\x8a\x8e\x03\x19\xe7\x49\xfb\xc4\xfd\xdc\x6e\x7e\x99\xd9\xd4\xbc\x38\x12\x77\xa9\x47\x35\xd8\x15\x77\xc0\x25\xee\xe7\x12\x76\x55\xac\x78\x5c\xa3\xb4\x4f\xdc\xa6\x9d\xaf\xf4\x9c\x7a\xf2\x49\xd4\xb4\xab\xe7\xc7\x53\x76\xed\x77\x36\xf2\xfb\x5c\x0f\x7a\x30\x03\xa0\x0f\x33\x4d\x98\x51\xb3\xbb\xf0\xe4\xe8\x22\xbc\x57\xb9\x42\x3a\x74\xee\xa4\x18\x14\xde\x3d\xae\x3c\xf5\xab\x67\x9e\xf9\xd5\xd9\x57\x87\xcb\xf2\x07\x9f\xbf\xcc\xb4\x37\x1b\xbe\x90\x8b\x7b\x9d\xc4\x54\xba\x5d\xd7\x86\xbc\x1d\xaf\x16\xd2\x09\x31\xe3\x4a\xa9\x9d\x9d\x94\x2b\x24\x15\x8a\x2f\xfa\xcf\x2e\x2d\xd6\x29\x79\x3e\x8a\x8b\xd7\x29\xf9\x62\x9d\x72\xee\xa4\xb8\x9f\x0f\x2e\xc9\x2b\xd6\xa2\x7f\xb0\x5f\x96\xfb\x07\x8b\x8e\x57\x22\xe3\x3e\x74\xc5\x11\xa8\xd3\xd2\xf2\x49\x75\x5c\x29\x9d\x62\xb0\x3c\x05\x54\xab\x8d\xa7\x40\x0c\x62\x63\x69\x32\x55\x59\x1a\x04\x3c\x3f\x0d\xe7\x4e\x6a\x89\xd5\x7c\x0c\xac\x17\x77\x48\xfd\xe0\xd6\x72\x8d\x41\x1b\xdc\x1d\x26\x97\x0a\xc2\x53\x07\x9c\x66\xab\x92\xc4\x97\xac\x66\xe7\x01\x9b\x59\x89\x1b\x0c\xf8\x8a\x59\xea\xaf\xb0\x2a\x49\x25\x69\xad\x30\xe1\x2b\x46\xaf\x11\x5f\x31\xa9\x0c\xb5\xc3\x7a\x71\x64\x5c\x8b\x5c\x0e\xa8\x7d\x86\x9c\x09\xa3\x59\x5c\x7e\xc0\x66\xc6\x57\x0c\x06\x25\x6e\xb6\xa9\xb2\xf8\x92\x92\xb4\x9a\xa5\x7e\x93\x12\x37\x7a\x8d\x4a\xdc\x54\x61\xc5\x97\xf0\x25\x6b\x85\x9a\xae\xf5\x30\x2c\xf5\x8b\x3b\x54\x2d\xe0\xf6\x7e\x34\xb0\x78\x07\xdd\x84\x52\xba\x62\xd2\x51\xe2\x9e\xf2\x04\xda\x8a\xc9\xe6\xac\xad\xc7\x76\xa9\x5f\x1c\x51\xb5\x4c\xc8\x9b\xd3\x31\x13\x6a\xe6\x00\x55\xe4\xae\xc4\x57\x4c\x13\xae\x47\x7c\x6b\x62\x12\x9d\x5a\xc2\x39\x47\xaf\x8d\x7d\x2c\xcd\x91\x0a\xa0\x83\x59\x00\xc8\x5b\x75\x3a\xfe\x2c\x21\x9b\x6b\x17\xa6\x4b\xda\x0c\xe2\x70\x34\x12\xd6\x87\x63\x09\xb1\x19\x13\xd8\x2e\x4d\x47\x7f\x2c\x9a\x15\x47\xd4\x36\xdb\xca\xbc\x2f\x6a\x58\xa2\xb3\x84\xeb\x97\xa6\x7a\x1b\x66\x3a\x74\x2e\x94\xdc\xfe\x86\xd4\x05\x8d\xb6\x59\x7d\x16\x7b\x6f\xce\xd9\x7a\x59\x2e\x6a\x30\x38\xf4\x8e\xba\x86\xf6\x5c\x0f\xab\xbd\xcb\x6a\x93\xd4\x26\x5f\x61\xb8\xc6\xf3\x2c\x0a\x7a\x83\x41\xe7\xa8\xcd\x2c\xdc\xd2\x65\xa8\x5a\xd8\x7b\x49\x7f\xa7\x4b\xa7\x33\x18\xaa\xae\xda\xb5\x79\x46\xa4\x63\x63\x5f\x2e\xe8\x31\x88\x7a\xdd\xd3\xee\x4a\x8d\xfb\x61\xf0\x89\xfb\x69\x5c\xf2\x78\xbd\x34\x13\x5d\x7c\xce\x7b\xa4\xd4\x8c\x3f\xa3\x79\x49\x1a\x1a\xf3\x54\xab\x65\xdf\x77\xc6\xa7\x44\x04\x14\xeb\x31\x93\xd3\x27\xdc\x5a\xac\x22\xf2\xa4\x5b\xc5\xcb\x5b\x7b\xc9\x62\x9e\xce\x55\x17\xe2\x4e\x9a\xd1\x97\xcb\x9c\x11\x4e\xc5\xe6\x8c\xce\x17\x06\x46\xe7\xe7\x6b\xd1\x96\x97\x0a\x17\x36\x9e\xfb\xf4\xa0\x78\xfc\xfa\x73\x95\x12\xfa\xd3\xa3\x97\xe6\xbd\x79\x3e\x97\x15\x85\x0b\xb6\x3d\x27\x5d\x76\x99\x63\xf6\x5f\xa0\x56\x2a\xa8\xc9\x7e\x69\xf7\xce\xaf\x16\xc3\xb1\x0b\xc7\xee\xd1\xbd\xa1\xf3\x02\x80\x51\xcb\x3b\x9a\x6d\x06\x9d\x77\xec\x73\xfc\xf3\x42\xe5\x84\xee\x0d\x6d\x56\x6c\xd9\xbf\xfb\xf1\x71\x6e\x0b\x12\xd4\x5e\x9c\xaa\x2a\x15\xd4\x12\x60\x3c\xbe\x5d\xb8\x55\x3d\x1a\xa0\x18\xe2\xc3\x00\xd8\x0d\x00\xaf\xd2\x72\x10\x00\xd5\x72\x7d\x81\x16\xaa\xdf\x91\xc6\x75\x52\x01\x86\xd5\x05\x4f\xab\xdb\xc6\x3e\x28\xe9\x8e\xfd\x91\xe2\x76\xa9\x00\x26\x6d\xff\xb1\x9f\x6b\xcb\xf8\xb9\xcb\x97\xa8\x54\x80\xad\x52\x01\xfc\x65\x8b\x7a\x8e\x6a\x0a\xad\x14\xfa\xa5\xc2\xd8\x3d\xa5\x38\x5f\x60\x8a\xe3\x26\x5f\xe7\xdf\x5a\xf2\x74\x0d\xc5\xf5\x4c\x69\xdb\xd8\x63\x52\x01\x42\x53\x1f\xc7\xd3\x50\xbe\xed\x75\x3a\xf7\xe0\xa4\xed\xe6\x32\xfd\x7b\x8b\xf7\xab\xb4\x6d\x4c\x91\x0a\x2a\x62\xfc\x9c\xb7\x48\x05\x6c\x9b\x74\x2d\xfe\x4f\xb8\xce\xe2\xb6\xef\xd3\x52\x3c\x67\x5f\xd9\x77\xea\x72\xa9\x54\x18\x7b\x83\x96\xfb\xa6\xb8\x2f\xea\x6f\x33\x46\xe9\xb9\x50\x2a\x80\xbe\xf4\x1d\x76\x4b\x05\xc0\xb2\x6b\xee\x97\x0a\xe0\x9d\xe2\x5e\x5c\x2e\x15\xc6\x46\xd5\xfc\x35\x69\xa9\xe4\xfb\x3c\xaf\x9d\x47\x43\x72\xec\x55\xc8\x43\x2b\x0c\x03\x60\x0c\xf2\x50\x35\xe1\xaf\xf4\xef\x35\xfe\x69\x2f\xdb\x22\x4d\x20\x9b\x3f\x43\x00\x00\x27\x5f\xcb\x8f\xdd\x33\xf1\x0f\x4c\x60\x1a\xfb\x60\xec\x03\xc8\xc3\x35\x10\xa3\x7d\xd5\xfd\x0e\x4e\x50\x19\xe6\xdb\x11\xbe\x0c\xc0\x8f\xca\x83\x04\xc3\x6a\xda\x20\x8f\x77\xf0\xef\xf2\xd8\x38\xf6\xd8\xa4\x5c\xa5\x56\x19\x8d\x6a\x5b\x01\x64\xcd\x17\x20\x0c\xab\xa5\x3e\xac\x87\xd7\xe8\xe8\x06\xfa\x3b\x06\x23\x30\x82\x8b\x3f\xe1\xef\x5b\x82\x5e\x08\x0b\xfb\x84\x9b\x85\x23\xc2\x3b\x62\x8f\xb8\x55\xbc\x4d\x7c\x5e\x32\x4a\xb2\xb4\x56\x3a\x28\xbd\xa1\xbb\x44\xf7\x03\xfd\x0e\xfd\x69\x43\xd0\xb0\xd6\xf0\x82\x71\xba\x71\xad\xf1\x87\xa6\xac\x69\xbf\xe9\xb8\xe9\x4d\x73\xbd\x79\x91\xf9\x6e\xf3\xdb\x96\xa4\xe5\x56\xcb\x0b\x56\xa3\x75\xc0\xd6\x60\x5b\x6d\x2b\xd8\xed\xf6\x8d\xf6\x47\x1d\xf5\x8e\x07\x1d\xef\x39\xdd\xce\x15\xce\x3b\x9c\x87\x5d\x0d\xae\xdd\xae\xe3\x6e\xb3\xbb\xc5\xbd\xd7\xfd\xb4\xa7\xda\xb3\xcb\xf3\x92\xb7\xc1\x7b\xc2\x37\xdb\x77\xc8\xf7\x62\x85\x54\x91\xad\x58\x53\x51\xa8\x50\xfc\xcb\xfc\x0f\x56\x0a\x95\x89\xca\x2b\x2b\x87\x2a\x0b\x95\x27\x2b\x95\xaa\xfa\xaa\x8d\x55\x77\x57\x3d\x5f\xf5\xcb\xaa\x53\xd5\xd9\xea\x8d\xd5\x8f\x57\x7f\x38\x6d\xf5\xb4\x47\x6b\xe4\x9a\xbb\x6b\xde\x0e\xd4\x04\xe6\x07\x36\x07\xee\x0e\x3c\x19\x78\x6f\x7a\x62\xfa\xee\xe9\x4f\xd7\xae\xad\x7d\x39\xd8\x13\xfc\x61\x48\x0e\xed\x0e\x3d\x1e\x9e\x1b\x1e\x0a\x3f\x1e\xb1\x47\xc2\x91\x96\xc8\xb5\x91\x67\x23\x27\x67\x08\x33\x92\x33\x56\xcf\x18\x9a\xf1\x76\x5d\xba\x6e\x4d\xdd\x93\x51\x6f\x74\x5f\xf4\xbd\xd8\xd2\xd8\x93\xb1\x8f\xea\xd3\xf5\xdb\xeb\x8f\xc4\x0f\xc4\x5f\x6c\x88\x36\xf4\x37\xec\x9f\x69\x9e\x79\x6d\xa3\xb1\x71\x63\xe3\x0f\x1a\xdf\x6f\xaa\x69\xba\xa5\xe9\x74\xa2\x3e\xb1\x3e\x71\x30\xf1\x6a\xb3\xbd\xb9\xa7\x79\x5f\xf3\xb1\xe6\x8f\x92\xed\xc9\xfd\xc9\x97\x99\x9b\xad\x61\x47\xd9\x88\x3c\x43\x5e\x2d\x7f\x43\x7e\x33\x15\x4e\xb5\xa7\x36\xa6\x8e\xa7\x2b\xd3\x6b\xd2\x87\xd2\x2f\x67\x1a\x33\xdf\xcc\x8c\x64\xdb\xb3\x7b\xb3\x6f\xe4\xaa\x73\x8b\x73\x77\xe6\x4e\xb4\x38\x5b\x3a\x5b\x6e\x6e\x19\x6e\x35\xb7\xf6\xb7\xde\xd2\xfa\xe2\xac\x9a\x59\x9b\x67\x7d\x63\xd6\x9b\x6d\x07\xda\xde\x98\x5d\x39\x7b\xe9\xec\x83\xb3\x3f\x9a\x23\xcf\x79\xbf\x7d\x56\xfb\x6d\xed\x27\x3a\xea\x3b\xb6\x76\x1c\xee\x38\x33\x77\xc1\xdc\x1b\xe6\xfe\x78\x9e\x30\x6f\x5f\x67\x65\xe7\xa1\xce\x53\x5d\x95\x5d\x9d\x5d\xbb\xbb\x0e\x74\xbd\x30\xdf\x39\x7f\xcd\xfc\xa3\xf3\x3f\xec\xfe\x54\xf7\xf1\x1e\x7d\xcf\xae\x9e\x47\x7b\x3e\xec\xcd\xf6\xee\xee\x3d\xde\xfb\xe1\x82\x8a\x05\xf2\x82\xc5\x0b\xae\x5c\x70\xf3\x82\x17\xfb\xdc\x7d\x2d\x7d\xab\xfb\xf6\xf7\x1d\xee\x17\xfa\x13\xfd\xcb\xd4\x52\x1b\xfd\xf0\x6d\xcd\x76\x2e\x2f\xdd\x91\x97\xe4\x73\xf9\x5b\x59\xe0\x94\xff\x98\xca\x76\x0f\x6f\x0b\x88\x80\x92\x09\x00\xae\x04\x37\xc5\x11\xea\x61\x2f\xc5\x05\xb0\xc3\xb7\x28\x2e\xc2\x22\x38\x46\x71\x09\x5a\x40\xa1\xb8\x0e\x3e\x83\x59\x8a\xeb\x21\x8b\x47\x29\x6e\x84\x0a\x7c\x87\xe2\x26\xa8\xc0\x33\x14\xb7\xc0\x0c\xc1\x49\x71\x2b\xcc\x10\xd2\x14\xf7\xc0\x0c\x61\x80\xe2\xc3\x50\x21\x14\xd3\xf0\x53\x48\x0a\x77\x6a\xf1\xd7\x44\xa8\x16\x9e\xdd\xb3\x67\x4f\x62\xc3\xe6\x6b\xb6\x6f\xdc\x74\xc5\xb6\xad\x3b\x13\x57\x6c\xdb\x02\x5d\xb0\x0d\xb6\xc3\x35\xb0\x03\x36\xc1\x06\xd8\x08\xbb\x20\x08\x0f\x41\x10\x64\x48\x02\x83\x34\x04\x61\x2d\x5c\x03\x41\xe8\x87\xcb\x61\x2b\x04\x61\x21\x6c\x83\xdd\x70\x39\xdf\xff\x2a\x48\x40\x10\xe6\xc1\x66\xd8\x0c\xc1\x32\x85\x9d\x7c\x6d\x1d\xec\x84\x75\xb0\x03\x76\xc3\x3a\xc8\x43\x02\x7a\x61\x11\x5c\x0c\x4b\x61\x01\xf4\x41\x17\x2c\x81\xc5\xb0\x1c\x82\xb0\x00\x2e\x87\xcd\xb0\x1e\x36\xc3\x26\xd8\x0a\x1b\x60\x27\x2c\x83\x75\xb0\x01\x06\x61\x33\x3f\x0b\x83\x04\x24\x21\x09\xad\xd0\x06\x17\xc1\x42\x58\x05\x8b\xa1\x6d\x4a\xad\xf3\x95\x9a\x26\x69\xfd\xbd\x29\x08\x4e\x3a\x6e\x25\xbf\x8e\x9d\xb0\x09\xb6\xf1\x7b\x50\x9e\xa6\xa5\x5c\x23\xc9\xef\x56\x69\xeb\x46\xd8\x06\xbb\xe0\x0a\xbe\xff\xee\xf1\x23\x12\x90\x83\x24\xb4\xc1\x16\xb8\x1c\xae\x82\x75\x7c\x9f\xf5\x90\xe0\x67\x5e\x0b\x32\x24\x20\xc3\x97\x16\x48\xf1\x71\x48\xff\xbd\xab\x9c\xfa\x97\x9a\x7a\xeb\x1e\xfe\x97\x80\x0d\xb0\x19\xae\x81\xed\xb0\x11\x36\x51\xaa\x77\x42\x82\xc7\xb6\xfc\x8f\xed\xb3\x0a\xd6\xc1\x5a\x58\xcf\xb7\xee\x1a\xbf\x27\xab\x38\x1d\x41\x58\x02\x57\xf0\xad\xea\x75\xab\xf7\x33\x0b\xb3\x20\xc5\x3f\x93\x90\x2b\xe3\xb1\x67\xfc\xf8\xe5\x70\x35\x0c\xc2\x26\xd8\xc1\x59\xdb\x5c\x7c\x66\x07\x30\xf6\x18\xc8\x30\xc5\x3f\xf4\xab\x4d\x3c\x14\x41\x04\x1b\xd8\x51\x82\x21\xd4\xa1\x1e\x0d\x68\x44\x13\x9a\xd1\x82\x56\xb4\xf1\xf7\x8f\x4e\x74\xa1\x1b\x3d\xf0\x07\xf4\xa2\x0f\x2b\xd0\x8f\x95\x58\x85\xd5\x38\x0d\x6b\x30\x80\xd3\xb1\x16\x83\x18\xc2\x30\x46\x70\x06\xd6\x61\x14\x63\x58\x8f\x71\x6c\xc0\x99\xd8\x88\x4d\x98\xc0\x66\x4c\x22\x43\x19\x53\x98\xc6\x0c\x66\x31\x87\x2d\xd8\x8a\xb3\xb0\x0d\x67\xe3\x1c\x6c\xc7\x0e\x9c\x8b\xf3\xb0\x13\xbb\x70\x3e\x76\x63\x0f\xf6\xe2\x02\xec\xc3\x7e\x5c\x88\x8b\xf0\x02\x5c\x8c\x4b\x70\x29\x5e\x88\xcb\x70\x39\xae\xc0\x8b\x70\x25\xae\xc2\x01\xbc\x18\x3f\x85\x9f\xc6\x4b\xf0\x52\x5c\x8d\x97\xe1\x1a\xbc\x1c\xd7\xe2\x15\x98\xc7\x75\xb8\x1e\x37\xe0\x46\xdc\x84\x57\xe2\x55\xb8\x19\xb7\xe0\x56\xdc\x86\xdb\xf1\x6a\xdc\x81\x3b\x71\x17\x0e\xe2\x6e\xdc\x83\x9f\xc1\x6b\xf0\x5a\xbc\x0e\xf7\xe2\xf5\xb8\x0f\xff\x17\xde\x80\x37\xe2\x4d\xf8\x59\xdc\x8f\x9f\xc3\x9b\xf1\xf3\x78\x0b\x7e\x01\x6f\xc5\x2f\xe2\x6d\xf8\x25\xbc\x1d\xbf\x8c\x77\xe0\xff\xc6\x3b\xf1\x2e\xbc\x1b\xbf\x82\x43\xf8\x55\xfc\x1a\x7e\x1d\xbf\x81\xff\x07\xef\xc1\x7b\xf1\x9b\x78\x1f\x1e\xc0\xff\x8b\x07\xf1\x7e\xfc\x16\x3e\x80\x0f\xe2\xb7\xf1\x10\x3e\x84\x87\xf1\x3b\x78\x04\xbf\x8b\x47\xf1\x7b\x58\xc0\x87\xf1\x18\x3e\x82\x8f\xe2\x63\x78\x1c\xbf\x8f\x8f\xe3\x13\xf8\x03\xfc\x7f\xf8\x24\x3e\x85\x3f\xc4\xff\x8f\x4f\xe3\x33\xf8\x2c\x3e\x87\xcf\xe3\x8f\xf0\xc7\xf8\x13\x1c\xc6\x9f\xe2\x0b\xf8\x33\x7c\x11\xff\x09\xff\x19\xff\x05\x5f\xc2\x7f\xc5\x97\xf1\xe7\x78\x02\x7f\x81\xff\x86\xaf\xe0\xab\xf8\x1a\xfe\x12\x5f\xc7\x37\xf0\x57\xf8\x26\xfe\x1a\x4f\xe2\x5b\xf8\x36\xfe\x06\xdf\xc1\x77\xf1\x3d\xfc\x77\x1c\xc1\xdf\xe2\xef\xf0\xf7\xf8\x3e\xfe\x07\x9e\xc2\x3f\xe0\x1f\xf1\x4f\xf8\x01\xfe\x19\x4f\xe3\x5f\xf0\x43\xfc\x2b\x7e\x84\x1f\xe3\x19\x3c\x8b\xe7\x70\x14\x15\x1c\x13\x40\x40\x41\x10\x44\x41\x12\x74\x82\x5e\x30\x08\x46\xc1\x24\x98\x05\x8b\x60\x15\x6c\x82\x5d\x70\x08\x4e\xc1\x25\xb8\xf5\xbc\xa8\x64\x5a\x20\x1b\x06\xb7\x6e\x4a\x26\xe7\x25\xd5\x50\x4e\x26\x8b\x21\xa3\x50\xa6\x30\x45\x61\x9a\xc2\x0c\x85\x59\x0a\x73\x14\xb6\x50\xd8\x4a\xe1\x3c\x2d\x94\x7b\xb4\x30\xd3\x23\x75\x0f\xee\xd8\xa6\xad\x74\xce\xe7\x61\x8a\x75\xf2\x30\xd3\xd3\xc5\xc3\x2c\x9d\x3c\xdb\xa3\x1d\x9c\x23\xb1\x5c\x92\x8b\x74\x53\xe2\xba\x29\x71\xdd\x94\xb8\x6e\x4a\x54\x37\x25\xaa\x9b\x12\xd5\x4d\x89\xea\xa6\x44\x75\x27\x59\x92\x42\xd2\x61\xa4\xc3\x48\x87\xa5\x29\x24\x3d\x46\x7a\x8c\xf4\x18\xe9\x31\xd2\x93\x49\x4f\x26\x3d\x99\xf4\x64\xd2\x93\x49\x4f\x26\x3d\x99\xf4\x64\xd2\x93\x49\x4f\x26\xbd\x14\xe9\xa5\x48\x2f\x45\x7a\x29\xd2\x4b\x91\x5e\x8a\xf4\x52\xa4\x97\x22\xbd\x14\xe9\xa5\x48\x2f\x4d\x7a\x69\xd2\x4b\x93\x5e\x9a\xf4\xd2\xa4\x97\x26\xbd\x34\xe9\xa5\x49\x2f\x4d\x7a\x69\xd2\xcb\x90\x5e\x86\xf4\x32\xa4\x97\x21\xbd\x0c\xe9\x65\x48\x2f\x43\x7a\x19\xd2\xcb\x90\x5e\x86\xf4\xb2\xa4\x97\x25\x9d\x2c\xe9\x64\x49\x27\x4b\x3a\x59\xd2\xc9\x92\x4e\x96\x74\xb2\xa4\x93\x23\x9d\x1c\xa5\x2b\x47\x7a\x39\xd2\xcb\x91\x5e\x8e\xf4\x72\xa4\x97\x23\xbd\x1c\xe9\xe5\x48\xaf\x85\xf4\x5a\x48\xaf\x85\xf4\x5a\x48\xaf\x85\xf4\x5a\x48\xaf\x85\xf4\x5a\x48\xaf\x85\xf4\x5a\x48\xaf\x95\xf4\x5a\x49\xaf\x95\xf4\x5a\x49\xaf\x95\xf4\x5a\x49\xaf\x95\xf4\x5a\x35\x3d\x46\xdc\x33\xe2\x9e\x11\xf7\x4c\xcb\x94\xdd\x8c\xf8\x67\xc4\x3f\x4b\x16\x8f\x6b\xa1\x50\x4b\x07\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xf7\x8c\xb8\x67\xc4\x3d\x23\xee\x19\x71\xcf\x88\x7b\x46\xdc\x33\xe2\x9e\x11\xf7\x8c\xb8\x67\xc4\x3d\x23\xee\x19\x71\xcf\xb2\xa4\x47\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x11\xff\x8c\xf8\x67\xc4\x3f\x23\xfe\x19\xf1\xcf\x88\x7f\x46\xfc\x33\xe2\x9f\x15\xb9\x6f\x25\x9d\x56\x4d\x47\xd6\x2a\xa9\x6e\x99\xf2\x83\x4c\xf9\x41\xa6\xfc\x20\x53\x7e\x90\x29\x3f\xc8\x94\x1f\x64\xe2\x5f\x26\xfe\x65\xe2\x5f\x26\xfe\x65\xe2\x5f\x26\xfe\x65\xe2\x5f\x26\xfe\x65\xe2\x5e\x26\xee\x65\xe2\x5d\x26\xce\x65\xe2\x5c\x26\xce\x65\xe2\x5c\x26\xce\x65\xe2\x5a\x26\xae\x65\xe2\x5a\x26\xae\x65\xe2\x5a\x26\xae\x65\xe2\x5a\x4e\x15\x8f\xa7\xf3\x13\xd7\x32\x71\x2d\x13\xd7\x32\x71\x2d\x13\xd7\x32\x71\x2d\x13\xd7\x32\x71\x2d\x53\xb9\x2e\x13\xdf\x32\xf1\x2d\x13\xdf\x32\xf1\x2d\x13\xdf\x32\xf1\x2d\x13\xdf\x32\xf1\x2d\x13\xdf\x32\xf1\x2d\x13\xdf\x32\xf1\x2d\x6b\x7c\xf7\xb4\xf4\xf4\xe8\x07\x59\x4f\x86\x31\x35\xc8\xce\x9b\xc7\x1b\xad\x2b\x96\x3e\xe7\x07\xf8\xcf\x00\x00\x00\xff\xff\x9a\x17\x3c\x9c\x5c\xb1\x00\x00") + +func assetsFontsGlyphiconsHalflingsRegularTtfBytes() ([]byte, error) { + return bindataRead( + _assetsFontsGlyphiconsHalflingsRegularTtf, + "assets/fonts/glyphicons-halflings-regular.ttf", + ) +} + +func assetsFontsGlyphiconsHalflingsRegularTtf() (*asset, error) { + bytes, err := assetsFontsGlyphiconsHalflingsRegularTtfBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/fonts/glyphicons-halflings-regular.ttf", size: 45404, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsFontsGlyphiconsHalflingsRegularWoff = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\xb4\x63\x70\x1d\xee\xf3\xff\x7d\xc2\xc6\x69\x6c\x3b\x8d\x1b\xdb\x4e\x63\xa3\xb1\x6d\xdb\x56\x63\xdb\xb6\x1b\x9b\x27\x56\xe3\xe4\xc4\x76\xce\x3d\x9f\xdf\xf7\x7e\xf6\xbf\x66\x5e\xf3\x9a\x6b\xf6\xc9\xbe\x77\x66\xd7\x43\x51\x52\x12\x00\x01\x00\x00\x00\xba\x81\x00\xd4\xff\xdc\xa8\xf7\xbf\xff\xff\xfb\x24\x25\xd5\x14\x00\x00\x08\x2d\x00\x00\x40\xf8\x1f\x76\xf4\xe9\x5b\x52\xe2\x12\x92\x00\x00\x84\x2b\x00\x00\x20\x01\x00\x00\xa4\x10\xe2\x00\x68\x45\x55\x66\x36\x00\x00\x22\x15\x00\x00\x48\x00\x00\x00\x43\x8b\x4e\x9b\x28\x13\x3b\x23\x47\x00\x00\x62\x0b\x00\x80\x1c\x00\x00\x60\x9d\x37\x6a\x0f\x82\x4c\xdc\x5d\x49\x01\x00\xe8\x1c\x00\x00\x00\xfd\x7f\xd0\x42\xbe\x58\x18\xb9\x38\x02\x00\xd0\x05\x00\x00\x00\xee\x3f\xc0\x60\x00\x94\x85\xad\x97\x39\x00\x00\x5d\x01\x00\x28\xe0\x00\x00\xa9\x25\x7e\xfa\x83\x0e\x96\x66\x46\xa6\x00\x80\xf2\x00\x00\x00\x60\x07\x00\x00\x9c\x30\x0a\xcc\x6b\x96\x96\x66\x46\x00\x80\xf2\xc3\xff\xdf\x1f\x25\x82\x38\x34\x9a\xa5\x9d\xab\x27\x00\xa0\xf2\x1d\x00\x80\x50\x04\x00\xa0\x5c\x17\xc7\x48\x0d\x6d\x1d\x4c\x8c\x00\x00\x55\x43\x00\x00\x92\x06\x00\x80\x64\x71\x78\xff\x33\x6b\x67\xe4\xe9\x08\x00\xa8\x47\xfe\x97\xe1\xff\x72\x58\x03\xd6\xec\x8d\xec\xcc\x00\x00\xf5\x0a\x00\x00\x22\x0f\x00\x80\x2a\x6a\x66\x28\xc8\x76\x74\x70\x71\x05\x00\x34\xa5\x01\x00\x68\x46\x00\x00\x61\xa1\xab\xf8\x88\xc3\xc3\xcc\xd8\x1c\x00\xd0\xf5\x04\x00\x00\xb0\xff\x31\x84\xab\xa6\x04\x00\xfc\x6f\x8a\xd3\x02\x45\x73\xff\x79\xde\x3d\xc8\xed\x7f\x76\x49\xf7\xdc\x30\x31\x34\x35\x34\xfc\x07\x65\x0c\x0f\xfb\xdd\xd0\xd8\xd0\xd4\xd0\x14\x13\x2a\x99\xc1\x90\x18\x0a\x00\x23\x0d\x90\x05\xfc\x57\x37\x3f\x33\xcf\x19\x18\x98\x1c\x18\x9c\x1e\x72\x0d\x0a\x0a\x22\x43\x10\xfd\xc9\x64\xc4\x62\xbc\x01\x71\x08\x55\xfa\x3d\x10\x3e\x8a\x08\x44\x74\x35\xf6\x6f\xa0\xe0\x06\x2c\x74\x1f\x04\x86\x14\x76\x23\x47\x5a\x16\x36\x92\xa4\xa4\x42\x40\x8a\x05\xb0\xa6\x21\x22\x01\x00\x00\xcf\x8d\xcb\x54\x21\x4b\x55\x11\xc2\xb1\x80\xf4\x12\x2b\xd5\xe1\xd1\xaf\xa8\x38\xbb\xdd\x5e\x76\xf6\xc6\xda\x79\x06\x14\xa7\x49\x25\xb9\x10\x52\xa7\x45\xa4\x45\x2d\x09\x7c\xfd\x26\x5a\x68\x4c\x36\x78\x88\x08\xa6\x52\x60\x65\x88\x7e\x4b\x30\x29\x39\x8a\x04\x61\x8e\x78\x3b\x42\x6d\x69\xe7\xae\x95\xbe\x38\xb0\x50\x47\xf6\xf1\xb5\x57\x0f\x16\xad\xb5\x8b\xfb\xf5\x5f\xca\xdc\x75\xaf\xc7\xf5\x55\xb6\x47\x7f\x68\x64\x56\xe4\x38\x2a\x4a\x90\x06\x79\xa3\x24\x24\x16\x4c\x99\xa3\x3a\xb0\xfe\x9d\x60\x15\x6a\x9f\x69\xb6\x9c\x36\xc4\x02\x25\x59\x6e\x88\x5d\x11\xd1\xbe\x9a\x6f\xff\x57\x47\xcc\x95\x4a\x80\x4f\x8f\x85\x21\x0d\x19\xfa\xe6\x84\x52\x93\xc2\xab\xba\xb4\xc4\x72\x81\x6c\x75\xcd\x64\x75\x30\x7d\x55\x53\x55\x95\x36\x8a\x53\xea\x37\x9e\x19\x93\x9c\x23\x7e\x9c\xce\x69\xf5\xbc\x3d\x1e\x22\x20\x19\xd1\x82\x32\xd1\x92\x4c\xee\x8a\x76\xee\x6a\x18\xe3\xdc\x7d\x43\x91\x9c\xd8\xe3\x9f\x53\x9c\x1f\xf0\xcb\x25\x83\x93\xea\x74\x7f\x94\x79\x6a\xd8\x2b\x65\xab\x8a\xca\xb4\x1d\x33\xf4\x7f\x39\x85\x8f\xf1\x8c\xc1\x30\x39\x85\x95\x7b\x69\x60\x68\x20\x9c\xdb\xd7\x60\xae\xd2\xe5\x2e\xf0\x74\x27\x3f\x4f\xea\x3e\xce\xfa\xa4\x54\x95\x3e\x75\xb9\xf7\x6b\xd4\x1c\xad\x66\xaf\xf4\xd5\x3c\xd5\x4a\x6a\x1a\xff\x20\xfa\xe1\xb3\x2d\xd8\xbe\x1a\xd7\x61\xe4\x7b\x10\xf8\x41\xdf\x7e\x68\xf1\xaa\xdc\xf7\x87\xe0\x2e\xba\x87\x41\xee\x2e\x98\x9f\x66\x6e\x72\xe9\xae\x84\x9f\x2c\x61\xa2\xd8\x19\xa8\xed\xb1\x92\x83\x33\xdb\x74\xbf\xe5\x75\xcc\xef\x44\xcc\x83\x9a\xeb\xc3\xa8\xff\x74\xf9\x95\x62\x92\xf0\x7a\xa3\xef\x90\x43\x54\xd7\x2f\x13\xb3\x7e\x4d\xc6\x62\xcb\x89\x3f\xcd\x05\x17\x1c\x06\x3b\x13\xb7\xb7\xe6\x63\x1d\x24\xc5\x00\x84\x50\xd4\xaa\xc0\x30\x68\x51\xc2\xe9\x31\x2d\x84\x53\x0e\xe8\x0e\x7b\xc2\x18\xf1\x61\x00\x2a\xb0\x37\x98\x14\xd2\x2a\x8b\x6a\x9d\x02\x7a\xec\xc8\x62\xe5\xc2\x19\x80\x88\xed\xda\x15\x09\xd2\x46\x35\x6c\xeb\x44\xb8\x7e\xd5\xd3\x19\xb8\x84\xb0\x19\x09\xe8\x2c\xa2\xd5\x22\x40\xba\xb5\x44\x49\x3f\xe8\xd9\x40\x06\x90\x32\xf7\xb7\xbb\x8a\x84\x21\x18\xc4\xdc\x60\x1a\x11\x34\x8e\xab\x4a\x74\xda\x62\x41\x28\x4d\x61\xac\x47\x09\x4f\xfc\xe9\xa2\x3e\xf1\xe1\xf1\x21\xea\x21\x75\x5c\xbc\x35\xd3\x0e\x58\x0a\xa8\x6c\x24\xdc\xa9\xf1\x01\xea\x21\x64\x5c\x3c\x4f\xa4\x47\x05\x4f\xc2\x0c\xfe\x76\xa3\x43\xa3\x94\x13\x94\x58\x06\x5b\x36\xfe\xc0\xa4\x20\x85\xf0\x31\x16\xb6\x86\x89\x1b\x4c\xce\xfb\xd9\x02\x83\xf0\xa4\xb0\x13\xa5\x7e\xca\xc5\x44\x4e\x9f\x0e\x94\x08\x86\x16\x08\x8a\xec\xd1\xbc\x79\x02\x5c\x9f\x02\x85\x59\x0f\xc7\x69\xd1\xeb\x3d\x6e\xe9\xa2\x2f\x00\x45\x33\x67\x26\x97\x91\xe9\x0a\x35\x8d\x7f\x14\x3e\x0f\x87\x33\xc2\x4f\x8f\xbf\xe4\xf3\xa8\xba\x79\x12\xae\xc9\x6b\x5b\x9a\x11\xd0\xbc\x9f\x4b\xb5\xbc\x94\xe4\x98\x0f\x99\x82\x6c\x33\x60\x13\x30\xe2\x1d\x07\xfd\x2e\xd3\xa7\x6d\xfe\x03\xf8\xf0\x57\xc1\x17\xf3\x13\xf8\xe5\xcb\xf2\x2b\xa6\xf1\xaf\xbe\x94\xeb\xe7\x99\xda\x69\xd0\x2e\xf1\x2e\x20\x61\x01\x15\xf7\xbf\x7b\xf0\xdf\x1e\x81\xc1\x00\x48\xcf\x8d\x91\x5e\x78\x5f\x82\xe5\x56\x16\x41\x0f\xec\xb8\x15\x3c\x3b\x0a\xed\x36\x33\xdd\x64\x2a\xed\x1d\x46\x6d\x15\x42\x1a\xe7\xa7\xd0\x61\xed\x71\xeb\xb6\x06\x71\xaa\xef\xa4\xf0\x41\x0c\xc2\x6b\xa2\x6b\x72\x04\x3a\xd6\xd2\xeb\x1b\x25\xc2\xf8\xe8\xc6\x90\xa5\xa5\x25\x8c\x61\x2a\x0f\x93\xe7\x3f\x4a\xed\xdf\x2d\xe5\xb2\xfd\xeb\x8f\xa6\xce\x8b\x7b\xd2\xca\x4a\x29\x57\x0e\xf9\x4e\x66\x2d\x5b\x31\x4e\xcf\xc1\x9f\x5f\x06\xe6\x57\x5b\x9d\x2e\xd7\x9d\x27\xf6\x27\x39\x3e\xb3\x9d\x48\x53\x2d\x2c\x48\x9d\xb1\x36\xc6\xdc\x92\xa6\xbc\xf9\x54\xf2\xab\xa9\x43\xe4\x73\x1f\xac\x5f\x35\x22\x2f\xcb\xa9\x43\x84\x88\x22\xc7\xda\x28\xc5\x30\xb1\x82\x0c\xf8\xe3\x6b\xa9\x43\xd0\x07\x18\xf1\x81\x14\x39\x8e\xa1\x3a\xe3\xec\x8f\x6b\xf9\x5f\xc3\x1c\x71\x44\x76\x46\xbb\xa6\x70\x29\x66\x4d\x1f\xa4\x42\xe3\x39\xdf\xbc\xc6\x04\xe2\x4a\x82\x5e\x64\x78\xc5\xf0\xa3\xc6\x48\x53\xc4\xb7\x0e\x1e\x69\xed\xe1\x64\x4a\xe2\x3c\x09\x22\xe5\x91\x92\x98\x20\x59\x8b\xc8\x30\x43\x95\x68\x32\x65\xc5\xa3\x5c\x93\xa4\xad\x03\x85\xe5\xd9\x93\x2f\xc2\x94\xc2\x1f\x52\x2c\x69\xf0\x48\xe9\xc6\xd1\x8c\x17\xe9\xdc\xa5\xe3\xb5\x18\xcc\x5f\x59\x17\x4c\xf4\x68\x9a\xf6\x4d\xa4\x66\x50\x56\x06\x1a\x43\xdd\x32\x12\x04\x61\xd1\xce\x63\x89\x6f\x59\xd7\x09\x11\xfd\x07\x5d\x3f\xfe\x09\xdd\xde\x86\x9e\xe1\xbe\x90\x79\x16\xbe\xc0\xfd\x85\x52\xfb\xed\x04\xbd\x4f\x2c\xe4\x44\x20\x0a\x11\xb1\x39\x2f\x19\x9c\x54\x42\xf1\x3d\x56\x9e\xaa\xb7\x52\x7c\x60\x21\x9b\xbc\xfe\x10\x53\x48\xbb\xf6\xe5\x33\xba\x6b\xac\x7e\x20\xa4\xeb\x1b\xc9\xb8\xb5\x90\x10\xb7\xe0\xaf\x05\x55\x1b\x33\xbb\xd0\xa6\x32\x11\xed\xe6\xd6\x26\x71\xe3\xef\x85\xec\xc8\xeb\xb2\x74\x25\x7f\xf8\xfe\x08\x77\xe2\x5b\xa7\x8c\x28\x51\x22\x64\x5c\xd3\x38\x59\xd6\x71\x1b\x66\x9f\xf3\x19\x61\xc7\x82\xa0\x60\x83\xb4\x66\x60\x87\x38\xc5\xe2\x5e\x25\xf7\xe9\x43\x4d\xa7\xa0\xb0\xb5\x3f\x4d\xf6\x1a\x71\x37\xc8\x71\x81\xdf\x62\x83\x5f\x43\xe7\x5e\xb1\x8a\x37\x5f\xb0\x68\x84\x2c\x47\xe5\x6b\x34\x0e\xd2\x63\x57\x18\x7a\x05\x4d\x92\xcc\xa6\x7e\x9a\xa1\x69\x40\x75\x2e\x5a\x86\xa3\x92\x0a\x88\xbd\x27\x0d\x04\x64\x05\x84\x9f\x8d\xf9\x1f\x3e\x7a\x8a\xf5\xe6\xea\xd1\xd2\x3a\x19\x0b\x23\xe1\x62\x76\xb0\xdf\x44\x79\x86\xcb\x51\x5b\xae\x06\xcd\xa2\x21\x97\x62\x54\xb2\xeb\xb1\x41\x77\x8d\x35\xa2\x72\xfe\x62\xf5\x65\x04\xf2\xd5\xce\x9d\x5b\x67\x63\x5e\xa7\x4d\x20\x6b\xbb\x01\x85\xc3\xf7\xac\x41\x57\xd9\x0b\xd5\x9e\x6f\x65\x8f\xe1\x79\x56\x1d\x87\xd1\xe5\x5f\x76\x72\xf7\x48\xe7\x9b\xeb\x71\xe2\x2f\x12\x4f\x28\x1e\x65\x4e\x3f\xc1\xd3\xed\x4c\xdd\x3d\x26\x22\x1e\xc2\x6d\xec\xae\x4c\xf1\x16\x07\xb7\x17\x1f\x36\x16\x2d\x13\xce\x0d\x3e\xfe\x9b\x4b\x9a\xb6\xfe\x35\x3e\xe0\x15\x5b\x4d\xb6\x6e\xd0\xd3\x8d\x1f\xd2\x10\x1b\xd7\x3c\x27\xb1\x11\xdb\xb4\x5e\x20\xe7\x77\x87\xef\xa9\xde\xc2\xcd\x94\x2d\x68\xb7\x18\x85\x44\xf8\x3b\xe7\xd2\xc3\xaa\x13\x3b\xd2\x91\x84\xa4\xd5\x16\x75\xd9\x0b\x97\x8d\xe8\xc6\x8f\xae\x73\x5a\x5c\xf7\x2c\x72\x59\xae\xc0\x1d\x13\xd6\x80\xbf\x0c\xd5\x01\xcb\x24\x5c\xe9\xa2\x77\x88\x0e\xf2\xe7\xa7\x19\xa3\x09\x40\x4e\xd4\x61\x9c\x76\x4e\x5d\x86\xb4\xe3\x15\xaa\x5b\xab\x3d\x1d\xe4\xfe\x08\x86\x64\x5b\x41\xb5\x70\xc7\x3b\xb9\xe6\x1c\x55\x29\x8b\x1a\x3d\x41\xe4\xdb\x5c\x8a\xee\x17\x91\x27\x38\x8a\x9f\xb1\xd5\x6b\x12\xad\xf1\x5e\xc1\x36\x83\x57\x9c\xee\x98\x75\x17\x68\x1b\x27\xa7\x61\x7f\xbb\x4e\x70\xc3\xf9\x60\xdd\x50\x7f\x2e\x91\x11\xe8\xc8\x10\xce\x72\x5f\x60\x64\x28\x00\xc2\x6d\x84\x88\x9a\xb9\xdb\xc4\x32\x8a\x35\x9d\x7c\x0c\x2f\xc4\xe8\xa3\xe6\xa1\xd1\x2c\x05\xa5\x13\x83\xa0\xb7\x58\xfb\xd1\x7f\xbb\x3c\xad\xdb\xec\x47\x07\x5c\x58\xd2\xe5\x64\xe7\xd5\x39\x58\x57\x29\x2a\xd2\x74\x23\x90\xf9\x9b\x6a\xdd\x5a\xcc\xbd\x8b\xd2\x3e\x84\xdd\x87\x7f\x4e\xb2\xf0\x23\xdb\x28\x6a\x7b\x4e\x9a\x95\xd7\x54\x36\x8e\x96\x0f\xd7\x72\xd8\x94\x21\xa1\xa6\x0b\x98\x22\x1e\x34\xdd\x2c\x41\xcd\x95\x0b\x92\x5e\x7e\xfc\xf8\x70\x1d\x15\x3b\x61\x74\x40\x18\xab\x0a\x87\x0c\x25\x62\x3e\x1c\x7a\xfc\x6d\xe3\x70\xbd\xd5\x16\x00\x6e\xeb\x71\xb9\x5d\xfe\x61\xde\x00\x9e\x55\xdc\xf5\x6e\x74\x75\xdc\x74\xfb\xc6\xc5\x98\xe9\x17\x66\xfa\x78\xf9\xc5\x33\x02\x0f\xe5\xf2\x0f\x2e\x20\xb2\xd2\x0c\x9f\x34\xb6\x59\x8f\x87\x49\x9a\x3d\x99\x8c\x25\xa1\x54\x55\x8f\x74\xb2\x31\xc0\x86\x2d\xf3\x9a\x5c\xc8\xca\x91\x2b\x47\x0f\x12\x87\xcd\xbb\x7c\x1d\x08\xb4\xdd\x69\x58\x70\x15\xe8\xbc\x0a\xd3\x7c\x3d\xd1\x23\x7b\x97\xf3\x52\xd4\xb2\xb2\x53\x1f\xbc\x20\xe9\xb3\x77\x70\xcf\xbe\x40\x45\xda\x1c\xc3\xe7\x6c\x22\xe6\xed\x3d\x3d\x42\x66\xc3\x1e\x45\xbc\x97\xd7\xb1\x11\xc1\xfd\x14\x21\x9c\x31\xd8\x77\x12\xc3\x3d\xce\xdc\x49\x85\xa7\x56\x82\x39\x26\x8a\xbc\xc6\x32\x92\x1c\x05\x95\xca\x54\xb1\x6c\x1d\x08\x7e\x51\xe3\x5e\xbf\x06\x84\x29\x23\xe2\x04\x51\x48\x16\x2b\x7f\x76\x2f\xd8\x1e\x0b\x22\x8b\x34\xe3\x91\xcc\x46\x38\xd1\x67\x28\x5e\x05\x86\x7e\x0f\xde\xab\xfd\x3c\xc0\x9d\x03\xc7\x2c\x8c\x97\xc5\x1d\xff\x16\x66\xe3\x2a\xc3\x9a\xb6\x1d\x66\xa8\x08\x08\x4e\x80\x71\xf9\xc2\x79\x89\x5a\x38\xed\x83\x31\xff\x36\x8e\xd8\xc7\xb9\xef\xc8\x05\xf9\xb1\x55\x29\x94\xfb\x86\x01\x56\xf8\xca\x8e\x8d\x6a\x64\x75\x8f\x14\xc9\xd8\x62\x8b\x2a\xd3\xa7\xb4\x26\x0f\x8e\xe1\xc3\x4f\x72\xdf\xb4\xb5\xf1\x77\x37\x62\xe9\x7f\xb7\xb8\x28\xb5\x2e\x7e\xdb\xf2\xfe\xca\x6e\xdb\x56\x11\xe7\x05\x5b\xe0\x54\xae\x1e\xf7\xc3\x35\x9a\x9c\x73\x26\x8f\x8c\x78\x79\x40\xbf\x51\x3d\x58\xec\xd3\x0e\xf5\x85\x40\xaf\x51\xd0\xb4\xcc\xba\x89\xb6\xde\x51\x5c\x08\xbc\xfe\x16\x16\x0a\x11\x1c\x95\x5c\x83\xfb\xd4\x30\x8e\x65\xc9\x23\x31\xc2\xdf\x23\xab\x31\x92\x67\x77\x45\xd7\x72\xef\x41\x29\xfc\x80\xe0\x1d\x91\x7c\x7a\xb2\x7c\x6e\xe2\x89\xb9\xb6\x36\x68\xf5\xdc\x89\xfd\xe8\x2b\x3c\xf3\x9e\x9f\xf3\x6b\xd1\xb4\x87\x8b\xf7\xe3\xf2\x6b\x5b\xc5\xe9\xb6\x4e\xa9\x1f\x9d\xcd\x22\x9e\xbd\xb6\xea\x95\xae\x8c\xab\xed\xef\x6a\x1b\xfd\xbb\x43\x68\x55\xfa\x39\xe2\x0a\xba\xfe\x90\xfb\x50\x8d\xcd\x8f\x32\x9a\x21\xd0\x92\x78\xe8\x92\xe8\x32\x36\x26\xc0\x17\x55\x66\x5d\x9b\x78\x32\x87\x23\x49\x85\x73\x4d\xf2\x0c\x7f\x90\x1c\xaf\xdb\x42\x6c\x67\x24\x37\x45\x73\x12\xc1\x78\x5e\x1d\xd5\x03\x91\xb4\xfb\x4b\x1a\x36\x7f\xef\x3e\xe5\x6c\xb2\x3a\x0c\xfa\xf3\x83\x64\x00\x11\x0c\x2c\xda\x34\x18\x6f\x1a\xf4\x5b\xad\xbc\x5e\x0d\xb7\xa1\xee\xde\x1e\xee\xfc\xde\xd7\x7d\x09\x33\xfe\x8f\x9f\x11\x59\xef\x34\x87\x6f\x98\x64\xdf\x82\x55\xb0\xc2\x23\x1c\x86\x65\x8b\x65\xd7\xfd\x6e\xc2\xc0\x93\xf4\x62\x7b\x9b\xcb\x76\x93\x3f\x35\xcb\x6b\x7b\xd6\x2f\x73\x5a\xb5\xdd\x21\x9b\xe7\x6c\x8b\x71\xb3\xee\xa0\x8f\xd3\x26\x6f\xbe\xd1\x76\xaa\xa5\xef\xdc\xbe\xf3\xf5\x26\x1a\x2b\xc2\xa1\xef\xa8\xab\xcf\x4a\x37\xcd\x0d\xee\xfe\x7b\x7a\xb9\xff\x60\xcd\xb1\xc3\x3f\x12\x43\xeb\x7f\x7f\xff\x44\xfb\x58\xad\x62\xea\x11\x8b\xb1\x33\xe0\x92\x5b\x69\x72\x27\xcb\x26\x7e\x73\xc0\xc0\xba\xd5\xb8\x0b\x35\x76\xac\x78\xf7\x88\x6c\x12\xfb\xac\xea\xda\x25\x8b\xe1\x03\xd2\x10\xc2\x72\xad\x8a\x33\xb9\x77\x02\xc7\x88\x56\x12\x80\xc8\xf6\x31\x8f\x0e\x24\x3a\x8c\xf6\x4d\xe7\x25\xcb\x7f\x1b\xcc\x5e\xbf\xcd\x29\x05\x7f\xbf\x8b\xb6\x72\x60\x27\x8a\xf6\x97\xd7\x3e\x64\x0e\xf0\xb6\xfb\xf2\xf8\x9d\x0b\xbe\x23\xc1\xce\xed\x5b\xbb\xb0\xf8\x9a\xeb\xcd\xff\xfa\x2c\x0f\x50\xd9\x99\x23\x77\xdd\x29\x58\xa2\xfe\xe5\x00\xf9\x2b\xb0\x94\x8e\x9d\x68\x74\x42\x01\xb1\x59\x6c\x53\x8a\x0d\xad\x3a\x4a\xcf\xba\x69\x92\x3b\xd1\x94\x91\x70\x42\x58\x90\x62\x53\xd1\xd5\xa0\x6d\xe0\x82\xa3\xe7\x87\xe7\x0c\x4e\x86\x19\x1e\x93\xc1\x9e\x7e\xc8\x6a\xcf\xbf\xa6\x59\x8c\x4d\xa9\x02\xee\x6c\x83\x63\xd2\x07\x3b\x9c\xd8\x67\xda\xa5\x51\x57\x56\x78\xdc\x67\x97\x4c\x98\x69\x63\x73\xbc\x66\xd9\x6c\x88\x86\xdd\x45\x78\xa4\x74\x1c\xaa\xa4\xd8\xa4\x02\x88\x7d\xfe\x28\x40\x0d\x7b\xfc\x8e\x34\xe4\x3e\xf4\x0b\x6a\xea\xf6\x88\xb0\x59\x16\xe8\x99\x5b\x6c\x1c\x1f\x78\x17\xcd\xd0\x8d\x03\xcb\xc1\x3f\x48\x9b\x7e\x64\xd3\x64\xc2\xa1\x5d\x27\xd3\xff\xd5\x76\x31\xb3\x16\x90\xbe\xff\x2a\xf2\xf2\xa6\xef\x3b\xb2\x9a\x75\x64\xcb\xf9\x23\x7b\x59\xe0\x45\x5a\xe3\xc0\x04\xc5\xb8\x45\x6e\x39\x46\xb4\x85\x73\xd7\x8a\xfd\x0f\x12\x45\x4b\x0c\x1e\xee\xef\x4d\xdc\x4a\x5f\x6a\x92\x7b\xc1\x5f\xee\xca\xd1\x36\x14\x75\x8e\x9a\x7f\x04\x0e\xfb\xdd\xba\xb8\x52\xf1\x37\xa5\x27\x1a\x54\x28\x91\x4f\x9e\x73\xaf\x90\xa1\x9a\x75\x39\x2e\x62\x32\x11\x33\x91\xa7\x67\xa6\x2d\x0a\xb1\xe1\x6b\xa1\x5a\xcf\x88\xa8\x6e\x58\xe7\x0e\x03\x78\xfc\x7a\x1a\xe6\xdf\x27\x30\x30\x60\xc6\xbe\xde\xe6\xa8\x85\x29\xb1\x49\xa8\x3b\x2a\x08\xc0\x9d\xcf\xb1\x85\xb6\x35\xa9\x37\x02\x28\x4b\xac\x2a\x32\xb7\x89\x01\x77\x7e\x3c\xc7\x6b\x14\xb8\xb3\x73\xc1\xd5\xde\xef\x42\xd8\x42\xac\xde\xd4\x75\x0f\xc3\x8d\xf8\xbf\xbf\x1b\x6d\xbc\x9a\xf8\x62\x28\x7d\x8b\x95\xd1\xbd\xdc\xe6\x75\x9b\xe7\x2b\xa8\xff\x3a\x1c\xb3\xed\x5f\x60\x14\xb4\x61\x8f\xff\xc4\x3b\x96\x7a\xc4\x2e\xbe\xd5\x5e\xb0\xf3\xd5\x79\x48\xf4\xf8\x87\xec\x87\xfb\x9e\xb2\x20\x6d\xbf\xa0\x22\xc0\x28\xda\x77\x9e\xf9\xf8\x81\xe4\x0f\x7b\x64\xd7\x93\x58\x1e\xc5\xb4\x9e\xd8\x08\xcf\x34\x30\xf4\x58\xa6\xe0\x8d\x66\xc0\x90\xde\x7d\xce\x92\x88\x11\x40\x85\x5d\x7c\xdb\x80\x36\xc9\x5d\x47\x8c\x83\x05\x87\x1f\x25\xf1\x59\x8d\x2d\x55\x33\x4c\x4f\xef\x0b\x76\xb1\xf0\x75\x00\xde\x35\x46\x0f\x74\x7a\x2b\x7e\xe2\x80\xf1\xfb\x09\x56\x6a\x58\x5c\xd2\xfa\xbc\xf7\x37\xce\x98\x6a\x72\x0f\x34\x7f\x05\xb5\x19\x34\xc2\xc7\x84\x7a\x49\xdb\xf0\xcb\xd6\x26\x6f\xef\xfa\xd8\x8f\x0d\x4a\x94\x6c\x5b\xf6\x20\x20\xa8\x49\xb5\xfb\x1f\x27\x9f\x38\xe8\x77\xdc\x68\x34\xed\x75\x46\x84\x87\x13\x7b\xdb\x3f\xcf\x27\x7a\x9b\xae\x31\x30\x0f\xd0\x59\x07\xd9\x32\xc1\xbc\x6e\x23\x7a\xf0\x7b\xc0\xd7\xb4\x09\x71\xd0\x4b\x16\x38\x49\x13\xf8\x3e\xf1\x9b\x73\xb5\xe8\x82\x39\xd5\x1e\xa3\x88\x4d\xab\x40\x29\x1f\xa1\x8f\x95\x45\xab\x42\x68\x17\x62\xdc\xb5\x20\xd5\x0b\x9a\xc0\x97\x5f\x08\x14\xbd\x2c\xa9\xe6\xb7\x6c\x06\xfe\x5c\xa5\xf5\xbc\x08\x39\x76\x41\xf9\x97\x0a\xf0\x32\x09\x18\x91\xdf\xb0\x0d\x15\x9e\x78\x97\xa2\xa1\xa5\xcb\x06\x20\x6b\xe7\x24\x9b\xd6\x78\x6e\x45\x0f\xcb\x77\x78\xaf\xf7\xf2\x3f\xf7\x2c\x50\xf3\x9f\x57\x54\x6d\xda\x1d\xbc\x2f\xd7\x6c\xb2\xdb\xee\x29\x8e\x54\x8f\x1d\xf2\xa7\x2b\x1c\x02\x4c\x7e\x96\x04\x86\x66\xf7\x8b\x14\x65\xd2\x2c\x75\xda\xad\xf6\xb5\x59\x2d\xd9\xac\xda\x4f\xfd\xd5\x49\x64\x5c\xf4\x7a\xd3\x51\x42\x9e\x1a\x13\x40\x54\x37\xc9\xa4\x09\x8b\x9e\x04\xd5\x0b\x51\x8f\x27\x9c\xca\x15\xe2\xa5\x4b\xb8\x15\xdb\xce\xf2\x9d\x55\x3d\x0b\xf2\xc7\x41\xba\xff\x74\x85\xf0\x81\xe1\x66\x5c\xf7\x85\x1c\xa2\x41\x78\xa9\x36\x03\xbd\x18\xf9\xe3\xae\x5c\x8c\x48\xf3\xb0\x37\x8d\xa3\x79\xf6\x14\xad\x42\x89\x8c\x30\x36\x0b\x7f\x78\x21\x1b\xab\xb1\x0b\xb3\x60\x5e\x18\x53\xe8\x8b\xc7\x8a\x2f\x2d\xc0\x41\xa7\xf4\x42\xd9\x5a\x07\x8a\xab\x5a\x39\xf0\xc2\x88\x58\xcc\xff\x7b\x1a\x56\xed\xbd\x50\x22\xc5\x46\xf3\xe6\x0d\xe5\x2b\x6b\x63\xdc\xf3\x45\xf7\x92\xfe\x4e\x4c\xee\x8c\xdc\x5e\xe2\xb3\x48\x24\xea\xa3\x17\xd9\xc2\x81\xad\x22\x6f\x15\x81\xc9\xf9\x24\x12\xb2\x27\xb2\x72\x7c\x90\xe6\xaa\xd0\xa7\x7f\x7a\x1a\x84\xb9\x89\xb2\xeb\xba\xb4\x97\xfd\x62\xf4\xa2\x72\xd7\x28\xd7\xf5\xfe\x6f\x8a\x58\xac\xa4\x96\x6c\x0d\x9d\xf5\xa1\x45\x6c\xe7\xd2\x42\x6c\xe7\x22\x24\xf8\x86\xf4\xc7\x6b\x47\x33\xab\x84\x54\x3b\xd9\xe2\x06\x66\x20\xe6\xb6\x96\xf7\x3b\x7a\x5a\x5a\xdd\x55\xdf\xd9\x7a\xb6\xbd\x77\x1a\x5a\xab\x3b\xfa\x96\x70\xa3\x67\x26\xe0\xe1\x12\xf7\x21\x9b\x78\x92\x91\xc2\xca\xa0\x60\x0e\xc3\xf3\x96\x3e\x88\x92\xae\x6e\x76\x00\x57\xf3\x23\xf9\xa0\x44\x60\x45\x51\xcf\xfc\xf5\xf0\x3e\x50\x57\x33\x20\xb6\x25\xe5\xe9\x4b\xcb\x5f\xa3\x46\xa8\x1a\x0c\x77\xf5\x85\x3b\x8f\x8a\x68\x28\x6f\x66\x55\xc3\xcb\xeb\xce\xbe\xb2\x4b\x02\x05\x49\x29\x14\x23\xa0\xf2\x85\x7a\x9f\xf1\xc7\x08\x9a\x02\x6c\x52\xf2\xac\xcf\xad\x0d\x71\xb4\x2d\x29\xbb\x9f\x69\x0c\x47\x0d\x47\xe3\x43\x25\x2f\x76\x21\x31\x30\x47\x58\x54\x1b\x35\x83\xd4\x2e\x66\x1e\xa4\x3f\x66\x40\x19\xfd\xca\x8c\x37\xf3\x7a\xbd\x68\xbe\x5b\xb5\xa3\xc0\x37\x14\x88\xb7\xc1\x57\x7d\x3f\x81\x92\x13\x06\x5f\xda\x30\x09\x97\x18\xca\xf9\xda\x20\xa6\x45\x90\xbb\xac\xd1\x51\x3a\x50\x7e\x43\x01\x1a\xd5\x0a\xf0\x47\x94\xbc\x09\xd9\xe0\x0f\x80\x3c\x81\xe7\xfd\x72\x17\xeb\xaf\x37\xe9\x6a\xf5\x12\x25\x70\xc4\x90\x77\x8f\x2e\xae\x49\x58\x62\xbd\x21\x09\x98\x97\x4c\x75\xa7\xd8\xe5\x09\x87\x42\x60\x06\x3d\x71\x6b\x48\x9e\x57\xb2\xb0\x62\x2e\xfd\xab\xfd\x2d\x07\x85\x43\xf0\x70\x29\x34\x79\xec\x19\x24\x58\xec\xf7\x06\xa4\x08\x94\xe2\x02\x2e\x04\xeb\x69\xc6\x3a\x92\x31\x09\xa3\x13\x7e\xa0\x77\xc0\x5d\x7d\x74\x37\xa2\x1a\xbf\x7a\x4c\x14\x92\xfc\xf0\xd9\x72\xa8\x4a\x58\x26\xaa\xa5\xe8\x06\xc6\x29\x0d\x29\x2f\xd6\xd9\x0f\x57\x73\x72\x22\x98\xe8\x04\xa1\xd5\x26\x9c\x88\x47\x15\x96\xee\x27\x0f\xd2\x32\x91\x36\xe4\x63\x76\x7d\x27\x08\x72\xbb\xe6\xb3\x8f\x51\xf0\x5b\xc0\xfe\x1b\x33\xf2\x49\x24\xd4\x9d\x13\x5c\x85\x96\xf7\xfd\xd0\x7d\xd2\x35\x6f\xc2\xf3\x12\x24\xd9\x9d\x7b\xd1\xe4\x33\xf1\x63\x1c\x33\x0d\x23\xb7\xe9\xf5\xbb\x61\x11\xc2\xaa\x40\x3e\xf4\x2a\xf9\xb7\x02\x67\x18\xa5\xb9\x40\xdb\x0c\xf1\x2b\x8d\xe9\xb6\x5d\x40\x49\x7f\x63\xe6\x9f\x6e\x21\xd8\x03\xc0\x25\x09\x84\x0e\x8e\xf0\x79\x91\x34\xf8\xb0\x21\x4c\x1f\x2b\x17\xbf\x4b\x17\x3f\xa3\xf4\xe7\xc0\x53\x00\x47\xe0\x34\xd5\x77\x45\x44\x02\x88\x8a\x1e\x10\x09\xdd\x8e\x9e\x41\x68\xc2\xc2\x11\xa9\x0e\xdf\x5b\x86\x60\x9c\xe4\x73\x97\xab\x39\x7e\x36\x23\xbe\x4c\x97\xf7\x52\x1d\x12\x5a\xe0\x09\x20\xd6\xeb\xcd\x2d\x88\x75\xcb\x2d\xd3\x81\x1f\xeb\x88\x77\xc2\xc1\x88\xd7\xcd\x69\x17\x33\x2e\x78\xd9\xe3\xce\xcb\x06\xca\x86\x74\x3f\x26\x27\xc6\x8f\x45\xc8\xda\xbd\xa9\x5a\xeb\xc7\xc0\x29\xe4\xf1\x36\x8c\x9f\x46\x37\x6a\x76\xed\xf7\xeb\x43\x29\x4a\x97\xaf\x0d\xfc\xfc\x2e\x04\x21\xb6\x3b\x4e\x92\xd7\xaa\xfa\xf0\xcf\x16\xed\x49\x19\x6c\x0e\x93\x24\xca\x7b\x31\xf3\x4f\x63\xb2\x7a\xad\x12\x7a\x5f\xc9\x39\xe0\x8a\x41\x17\x65\xc0\x96\x63\x17\xd7\xb5\xe3\xe1\x25\x07\x47\xf9\xc8\x36\xcc\x6e\x1b\xa7\x6e\xbf\x5d\xeb\x3f\x6b\x8b\xa0\xce\x8a\x86\xba\x22\x5b\xc1\x5c\xfa\xa7\x5b\x08\x74\x78\x2c\x39\x45\x6a\x04\xd2\xc6\x28\xee\xe7\xad\xdc\x22\x18\xde\xb1\x86\x30\x1c\x87\x7e\xd0\x8a\xcd\x63\x51\x84\xdc\x91\x9d\x7f\xa6\x43\x9f\xea\x21\x23\x3d\x7b\xa9\x44\x8f\x9f\x12\xf3\xfb\xc6\x0c\x55\x01\xa2\x0d\x6f\xa1\xd9\x2a\xf9\x11\xab\xc8\x99\x6c\x64\xda\xe9\xe0\xbe\x98\x88\x56\x56\x4b\x67\x4c\x34\xb7\x00\x3c\x40\x3e\x64\xa4\x48\x10\xae\x61\xab\x91\xd8\x08\xaf\xec\x08\x9c\xee\xee\x73\x88\xe2\x2b\xc7\xf4\x13\x71\x74\x73\xf5\x3a\xb0\x9d\x57\x0f\x55\xb4\xc6\x73\x0c\x92\xa8\xe4\xc3\xe3\xa6\xeb\x08\x25\xc3\x78\xc2\x0c\x9b\xc8\x38\x70\x8e\xdf\xbe\x96\xf9\xf6\x57\x42\xc2\x09\x44\x98\xf5\xaf\x36\xeb\x5c\x45\x35\x65\x85\x7d\xf0\xdd\x3b\x41\xd2\xee\x72\x39\xe9\xd5\x51\xa3\xc5\x4d\x90\x2e\xc2\x6a\x0f\x6b\xdd\x9c\xec\x9d\xae\x34\xfd\xa9\xe9\x50\x3b\xf8\x6c\x4d\x16\x04\x4d\x9b\xa8\x52\xa8\xed\x77\x55\xd7\x71\xf8\xd5\x39\xbe\x98\x41\x52\x62\x42\xdc\x09\x89\x69\x29\xc6\xf7\x62\xe4\x55\x6d\x19\x9b\x48\x1d\x2b\x86\xe4\xc4\xc7\xc5\xac\x2a\x95\x6e\x3f\xb1\xf8\xe8\x45\x63\x70\xff\x8e\xbf\xc5\xe3\x01\xb5\x9a\xaa\xdb\xe6\x35\xb5\x48\x28\x69\xc8\xce\x87\x79\x4e\x32\xea\xe6\xa8\xf5\x9b\x22\x31\x81\x53\xd9\x8b\x26\xd7\x53\x6c\x0d\xe4\xc4\xfc\x04\xa9\xbc\x1f\xa8\x44\xbd\xf0\xeb\xb4\xdc\x35\x00\xd0\x05\x7d\x85\xc8\xee\xb8\x03\x7b\xfa\xf7\x0c\x18\xe7\x24\x0e\xf9\xcc\xc6\xbc\xd6\x39\x30\x6d\x25\xf0\xd8\x0a\x55\xbb\xa0\xf5\xbe\x15\x8e\x85\x28\x5e\x2c\x92\xc8\xbf\xf9\xd6\xcb\x98\x5b\x27\x28\xb8\xc2\xba\xd9\xef\x1e\x25\x3d\x82\x2d\x74\x88\x61\xde\x99\xcd\xc1\x0d\xbc\x47\x0a\xff\xa2\x9a\xe1\xcc\xa6\x9c\x68\xda\xa2\x71\x2c\x92\x37\x90\xae\xdf\xd7\x9a\x35\x76\xc4\x90\x49\xd6\xc0\x73\xb2\x5f\x39\xee\xff\x16\xb4\x73\x26\x72\xc6\x5d\x7a\x24\x97\x6a\x41\x63\x15\x4c\xa6\xee\x1d\xbe\xa7\x2a\x91\x05\x5b\x25\xb3\xba\x4b\xf4\xfe\xb8\xc3\x81\xb9\xfe\xfc\xf9\x4b\xe0\xb6\xfb\xdd\xd2\x71\x66\x47\x63\x4b\xa8\x30\x9b\xf6\x42\x62\x84\x14\xfc\x2f\xab\xb7\xbf\x4f\x83\xa8\xb4\xd9\xf9\x7d\x46\x68\xa7\xe5\x6c\x8c\x0b\x27\xaf\xee\xf3\x71\xe7\x63\x4a\xa3\x78\x23\x26\x6a\xa2\x7f\xbf\x15\x93\xa9\xe5\x40\xf1\xa5\x73\x8b\xaf\x01\xf6\xf9\x4f\x49\xc1\x82\x63\x09\x00\x91\x3d\x2f\xf1\xd7\x99\x8a\x8e\x1d\x13\x74\x9a\x22\xf0\x45\x90\x54\xc1\xad\x2f\x41\x9e\xa6\x66\xc2\x9a\xa3\xb2\x6a\x7f\x09\xce\x90\x84\xaf\x45\xc1\x35\x46\x44\x79\xab\x4d\x21\x34\x9b\xe0\xfa\xc1\xeb\x5c\xe3\x32\xf3\x9c\xdf\xf0\x7b\x52\x32\x36\xf2\x37\x4a\x3b\xba\x1d\xaf\xac\x92\x8d\xe6\x05\xad\xd0\xcc\x4d\x71\xa3\x2b\x5e\xa2\xe9\x3d\xe8\xed\x20\xe8\xaa\x2c\x68\xa7\x6e\xd6\x5c\xd9\x27\x49\xa7\x66\x56\x0e\x88\x92\x43\xc6\x1d\xdb\x8e\x53\xbd\x90\xb0\x9f\x51\xfe\x5a\x85\xc7\x8c\x6c\x8e\x92\x60\xf1\x1b\xb3\xa8\xb3\x15\xe6\x80\x5b\x73\x0c\x32\xd8\xfa\x53\xb6\xba\x5e\xab\x13\xde\x7f\x29\x02\x90\x43\x96\x9f\xff\x7c\x3e\xa8\xb6\x7c\x5c\xc3\x0c\x02\x31\xe3\xda\x10\xe9\xf1\x87\x95\xd0\x22\x23\x61\xc3\x6e\x50\x45\x67\x7a\x51\xf4\xaf\x66\xb5\x97\xc4\x7f\x0e\xac\x59\x9b\x22\x13\xbc\x2d\xc1\xae\x00\xe9\x8f\x3d\x7c\xf7\x41\x3d\x52\xf2\x73\xbd\x7e\xaf\x04\x53\x49\x36\x5c\x1d\x71\x43\x11\x73\x02\x2c\xab\x87\x9c\xd0\xa1\x0e\x01\x45\xde\xf4\xb0\xb5\x79\x6d\xfb\xde\x0e\xc1\xd8\x37\xac\xfe\xb2\x27\x1e\x2c\x9f\x2c\xaa\x73\x40\xb3\x14\x25\x0f\xaa\x12\xe8\xd4\x44\x0a\x61\x51\x59\x51\xf8\x81\x02\x64\x2a\x28\xc8\xef\xeb\x2f\x3f\x42\x93\xe1\x3f\x68\x3a\x7a\x73\x06\xf8\x4a\x50\xa8\xc8\xa8\x2b\xcb\xd1\x11\xe9\x6e\x88\xa5\x61\xc7\x9d\x48\xaf\xb8\xcc\x27\x9c\x9e\xa4\x99\xca\xe3\x8f\x9b\x2e\xe6\x27\x4e\x82\xc8\xd6\x24\x36\xc6\xe2\xcd\x9b\x2f\x92\x18\xbe\x7f\xf0\x2c\x67\x85\x50\xf2\xa4\x92\x1e\x4b\xfb\xf8\x63\x5b\x7d\xcb\x0b\xdc\x84\xcf\xd7\x69\xbe\x81\xa4\x53\xf4\x0d\x4e\x20\x23\x8f\xf8\x10\x67\x92\x8b\x5a\x54\x46\x32\x62\x5b\x46\xa0\xaa\x2c\xce\xc2\x65\xd3\x8c\x25\x29\x45\x9f\x08\xd6\x43\x3d\x8f\xf7\x39\xc3\xa6\xcf\x7c\x14\xf5\xe1\xda\x67\xc8\x40\xe1\x41\x67\x7a\xa1\x31\xf3\x20\x55\x87\x32\xa8\x08\xd1\xac\x4f\xa0\xde\xa1\xec\x76\xe6\xe9\x69\x3d\x71\x36\x91\x7a\x14\x7d\x38\x21\xf4\xb0\xad\x29\xbb\x03\x1f\x26\xdb\x3e\xf1\x7f\x2c\xbc\xf5\x65\x06\xa0\x4f\xb6\x43\x5c\xe1\xa9\x2a\x0f\x1e\x04\x87\x45\x26\x58\x5e\x90\x91\x5a\xf5\x2f\x54\xb8\x1f\x5c\xcd\xca\x42\x22\xf3\x36\x07\x68\x0b\x7d\xdc\x52\xbc\xfe\xe9\xf8\xbd\x64\xc7\xde\xf4\xee\xa4\x7b\x13\xf1\xf9\x39\xf5\xfe\x8e\xe8\xb7\xca\xd0\x23\x71\xff\x28\xe2\xa3\x71\x44\x38\x9f\xdf\x15\x19\x95\x53\x87\x39\xab\xe4\x9b\x27\xfe\x74\x64\x51\x29\xc4\xa3\x50\x39\x32\x26\x63\x2a\xe4\x53\x02\x0d\x45\x57\xf7\x8e\x36\xc9\x3c\x78\x33\x0f\xcf\xac\xa7\x4b\x1a\x59\x2d\xfb\xba\x98\x10\xd2\x99\x7b\xae\xfb\x2f\xc7\x9c\x1d\x4a\x4a\x70\xea\x1b\xc4\xdf\x69\xe2\xbf\xca\x81\x72\x05\xf7\x06\x05\x48\x38\xb1\x76\xab\xfb\x9d\x38\xa4\xe1\x65\x84\xd9\x8a\xe9\x63\x24\xaf\xa4\x10\x8c\x5c\x1e\x20\x4c\xfd\xa9\x69\x18\xd0\x60\xe8\x03\xff\x36\x8a\xfa\x4f\xeb\xd1\x04\x86\xe1\x09\xa2\xc3\x48\xde\x94\x7e\xed\x94\x56\xa7\x11\xff\x02\x96\xe6\x4c\x2c\x38\xe6\x52\xbb\xa4\x9a\x91\x56\x54\x61\xb1\x68\xec\x74\xb1\x2d\x2c\xc9\x40\x27\xfe\xf6\xb3\x64\xaf\x12\xcf\x29\xcb\x6f\x6f\xb1\x8f\xc3\x7a\x0f\xd1\x65\x2c\x02\xe9\x2a\x16\xda\x17\xa6\x49\xb4\x8f\x78\x3d\xb4\xbf\x6f\xf0\xd9\x92\x3b\x62\xd7\x26\x26\x8d\x9a\x23\x7e\x0f\xfb\x38\xb6\x2b\x20\x62\x86\x61\xa9\xd1\x17\xc6\xb0\xe4\xa9\xd7\xa6\xaa\xb5\x65\xac\x93\x35\xc3\x58\x99\x53\x62\x03\xf3\x81\xb4\x9a\xfb\x25\x4e\xa5\x2a\x62\xbc\x4a\x05\x46\x3f\x05\x8c\x9b\x16\x10\x49\x9d\xe5\x58\x69\x18\xbb\x7d\x0a\x66\x9e\xfe\x48\x9f\x4e\xf6\x4a\x13\x7e\xb2\x4e\xee\xd1\x18\xae\xdb\x10\xce\xd5\x9b\x79\x16\x51\x26\xf7\x30\x75\x5a\xc6\xfb\x6c\x85\x1b\x96\xe0\x48\x9e\x95\x20\x7a\x67\x4b\x0c\xb1\xd4\xbd\x98\x70\x78\x12\x99\x2b\x2c\x0c\xc3\x40\x87\x1f\x26\xf4\xf9\x9d\xe4\xee\xf6\xa9\x7e\x5e\xff\x51\x2d\xab\xc9\x19\x44\x1d\x94\x1b\xd1\xff\x45\x84\x7b\x6e\x4e\xb3\xe9\xa8\x34\xdb\x89\xa1\x8a\x5f\x6e\x28\x6a\x67\x27\xbd\xe8\xce\x33\xcc\xbe\x17\x19\x6a\x70\x61\x47\x1a\x27\x0e\x4f\x89\x56\x08\x91\x11\x1d\xc4\x10\x48\xb3\x15\x4a\x4c\x1a\x8a\xe8\x78\xa1\x39\x51\x7b\x85\x6d\xb1\x66\xaa\xc1\x2c\xdf\xc6\x97\x56\xb5\xaa\x80\xa2\x23\x5f\x7b\x0b\xfb\x78\x9f\x02\xaa\x6d\x2d\x92\x16\xf4\x09\x64\xd8\x1d\x22\xc1\xaf\x8e\x6b\xef\xc2\x1c\x9c\xcd\x68\xac\x3a\x58\x7d\xce\xc7\xb8\xa8\x69\x9f\xcd\x50\x56\x75\x40\xde\xb4\xdd\x7a\x7f\x75\x99\xe8\xb7\xfc\x84\x7c\x05\x0b\x89\xf4\x47\xb2\x39\x55\x2d\xcd\x1b\x0e\x6c\x73\x14\x84\x04\xe6\x7c\xd3\x09\x4c\xa0\x86\xa1\x07\xa5\x68\xb1\xca\x73\x40\xf0\xae\x73\x16\x9d\x43\xb7\xa0\x3d\xcd\x05\xff\x58\xdf\xde\x05\x29\xa2\xea\xbb\x99\xb5\x5b\xc7\x3d\x62\x84\x8c\x10\x54\x50\x09\x5d\x6f\xf6\x50\x2f\xad\x2d\x18\x69\x0a\xf9\x5c\x17\x4d\x11\xd5\x4e\xb1\xe9\x7e\xf9\x4d\x2c\x12\x68\x0a\xcd\xee\xc8\x0e\xe3\x07\x18\xdf\x2d\xce\x66\x66\xe3\x94\xda\xcc\xa1\x61\x30\xea\x05\xc4\x75\xef\x18\x73\x45\xb9\xc8\x5c\xd4\xd8\x98\x53\xcf\x66\x6f\x99\x83\x3a\x3d\xfd\x6b\xfa\xdb\xed\x2f\x32\x15\x19\x79\x9e\x35\x36\x4e\x20\x66\x91\x53\xfd\x4d\x22\x35\xc9\xc7\xd3\xbd\xe8\x8c\xf5\xe8\x42\xd9\xd0\x15\x9c\x35\x1b\xa7\xcc\x23\xf9\x14\x2e\xef\xd5\xcf\xb9\x4a\x43\x08\x69\x74\x09\xb0\xea\x67\x06\x12\x1e\x3a\x93\x19\x4d\x98\x9f\x5a\x70\x99\xfa\xd6\xfa\x52\xb3\x8f\x2b\xdc\xd6\x15\xb0\x4f\xbf\x6c\xf3\xa9\x49\x5e\xb2\x98\x48\xe0\x96\x1e\x79\x80\x9b\x74\xa4\x52\xa0\x85\x0d\xb2\x21\x32\x4d\x7a\xf8\x0e\x4e\x38\x16\xb1\xe8\x85\x50\x8a\x54\xec\x2d\xa7\xe2\x91\x93\x68\xe0\x8b\xb3\x53\xbe\xe2\xf6\xb8\xdc\x5f\x1d\xc5\x59\x4d\x0c\xa7\x57\x86\x51\xee\xe9\x20\x54\x66\x2d\xc7\x83\xb8\x9b\xb9\x4b\xb5\x2c\xcc\x89\xf1\xa4\x46\x0b\x7e\xc1\xc1\xc1\x12\xba\x0c\xcc\x28\x5d\x59\xee\x62\x68\x07\x43\x04\x22\xbe\x37\xa0\xaa\xde\x92\xea\x3c\x0e\x64\x79\xdf\x68\xc0\x53\xca\xc0\x1e\x7a\x0a\x04\x55\x56\xb8\xa5\xff\xcd\xb4\xe3\xb4\xaf\xec\x54\x1f\x9c\xa4\xbf\x1c\x1e\xee\x85\x80\x04\xcb\xaf\xab\x0e\xe5\x10\xad\xdd\x31\xfc\xca\x9d\x31\xfa\x13\xbc\xaf\x85\x13\x6e\x3e\x71\x2e\xd4\x27\xe5\xdb\x05\xd6\xaa\x56\x65\xb1\x21\x2a\x64\x14\x7a\x89\x60\xaf\x73\x2f\xbf\x90\x42\xd2\x38\x75\x29\x21\xc1\x0f\x19\xc3\x63\x41\xd8\x51\xd0\x33\xcd\x24\x27\x7f\xde\x8f\x90\xcb\xdc\xa5\x61\x70\x00\xc4\x4f\x19\x8d\x3b\x8b\xe5\xb9\xba\x04\x2f\xc5\xf8\xf7\x3f\xe8\x55\xca\x94\x9a\xa2\xee\x75\x84\x9b\x70\xd2\xf0\xee\x57\x61\x45\xa7\xba\x9f\x73\x09\xf0\x6c\xe0\x1f\x9f\xc5\x48\x09\x93\x34\x70\xe0\xa1\x0e\xce\x5f\x1d\xbb\xe1\xfc\x6f\xe0\xb7\xbc\xcd\xb1\xab\x89\x3f\x6d\x44\x65\xe9\xc8\x11\x6c\xa9\x60\xd5\xdb\xa3\x8a\x2c\x5c\x1e\x70\xb3\x56\x38\x6b\x81\xde\x9f\xfd\xd4\xe2\xf7\xcf\xda\x69\x53\x73\xc1\x21\x68\xd1\x78\xff\xb6\xa6\xc9\xe5\x19\xc6\xc8\x54\x57\x6c\xc1\x32\xcd\x44\xfd\xf5\x0b\xc7\x4a\x25\xe7\x9c\x2b\x1d\xdd\xc6\x26\x9a\xbc\xc9\xa3\xf1\x1f\x25\xb9\xa3\xb1\xfb\xad\xb6\xe1\x3c\xfa\xd7\xdc\x4e\x07\xc1\x17\xc1\x62\xe5\x67\x64\xb1\x6d\x34\x88\xe7\xc2\x22\x01\x22\xf5\x8a\x6e\xe0\xf9\x8a\xc3\x2a\x04\x32\xa1\xef\x0a\x01\x7a\x61\xb2\x0a\x33\xb5\x33\xe6\x63\x79\x74\xd5\x68\xbb\x7f\xa6\x04\x1e\x81\x13\x1e\x42\x22\x7f\x7e\x09\xce\xa1\xa6\x85\xe4\x4d\x0d\xf6\xf8\xbd\x59\x2b\xe3\xf3\x8f\x25\x38\x8e\x15\x18\xcc\xde\xde\xd1\x62\x74\x07\xfa\xf5\x37\xf6\xf6\xb2\x5e\x87\xfe\xe8\x4f\x61\x23\x1a\xfb\xe7\x84\x28\xd9\xf4\xcc\xae\xd2\x17\xda\x82\x63\x25\x3d\x9c\x90\x7e\x25\xa3\x76\xee\xcc\xbd\x08\x39\xbf\x8b\x62\x50\x9e\xb9\xf1\x4a\x66\x61\x57\x7b\x7f\x28\xd8\x31\x0b\x4e\x6c\x99\xa5\xd9\x7b\x1e\xdd\xd9\xe8\xb0\x5c\x18\x95\xf8\x30\xac\x75\x99\x8e\x76\xe8\x3c\x98\xdd\xb0\xed\xbb\x0d\xdb\x24\x26\xc3\x7b\xa4\xe5\xf1\xbf\x2c\x42\x8e\xc1\x71\x98\xff\xf7\x45\x45\x71\x43\xf7\xe5\x3f\x1a\xf2\x66\x4d\xb9\x23\x1c\xb8\x9c\x1a\x29\xef\xd8\x2b\x75\x44\xa2\x68\xe4\x73\x56\x37\xb3\xdb\x6f\x3e\x7b\x31\x54\x99\x4a\xd7\xe0\x7d\x5a\xb5\x96\xaa\xbd\xca\xff\xf5\x58\x7f\xbd\x76\xfb\x48\xf4\xf1\xb9\xe9\xdf\xf0\x9a\x35\x67\xf0\x98\x0f\x85\x67\xf2\x6f\x71\x8a\x38\xab\xdd\xe5\x7e\x7e\xe7\xfc\xb8\xb7\xeb\x80\xa0\x7d\xe7\x2d\xae\xe9\x73\x70\xbb\xe5\xd7\x1f\x15\xf5\xfd\x79\xe8\xec\x65\x15\x20\x8c\x5a\xaa\x36\x15\x37\xd1\xe6\x40\x6d\xc9\x9d\xdc\xb4\xcb\xcf\x21\xa7\x7e\x34\x53\x7d\x83\x4a\x65\x35\x63\x9a\x6f\xa4\x88\x39\xc3\xde\x04\x9e\xf5\xdf\xe8\xae\xa4\x5b\x52\xe2\x24\x17\x2b\x95\x42\xed\xd4\x67\x75\x7a\xac\x95\xa9\x73\xb4\x3a\x6f\x47\x83\x8e\x50\x1d\xf2\x77\xf9\x59\x3a\xac\x27\xb4\xa5\x7a\x1a\xb1\xe3\x81\x30\xde\x20\xfd\xe8\x08\x98\xaf\x75\x4a\x6e\x93\x95\x0d\xea\x15\x4b\xcc\x43\xaf\xfc\xed\x9e\xc7\xac\x19\x8f\xd9\x3c\x9f\x29\x10\x0f\x9a\x41\x46\xcf\xf1\x5f\x17\xf3\xdd\xce\xa3\x2c\x3b\x5d\xf7\xa3\xe5\x81\x60\xa2\x94\xa1\xa5\x62\xb2\x09\x5a\x9d\x4b\x11\x97\xb8\xf1\xcd\xf2\xb1\x59\xaf\xbf\xa2\xd1\x3d\x03\x04\x1f\x7f\x62\xb1\xde\xb8\x55\xf0\xad\x80\xc5\xa2\xb5\x16\x9c\x84\x91\x3e\x53\xea\x76\x65\xc9\xae\x5e\x9a\x64\xc6\x59\x8e\x63\x75\xa6\xc8\xf6\x23\xcc\x5e\xd3\xc1\x7b\x93\x3d\xc2\xee\x23\x4b\xcc\x95\xdd\x89\x40\xaa\x31\x93\xcf\xce\xf4\xa7\x2a\x82\x7c\xcf\x5b\x09\xfb\x64\xde\x8f\x23\x76\xed\xa1\xcf\x47\xfc\xc1\xa6\x1e\x06\x2f\x1d\xc6\x63\x1b\xe7\xb6\xf4\x37\x13\x69\xea\xa7\x31\x83\xf1\xca\x39\xb1\x2e\x9a\xf1\x3a\x1a\x03\xb5\x80\x3a\x94\xb1\xe7\x14\x8e\xae\x9c\xab\xfb\xf9\x31\x50\x06\xa6\x33\x1d\x6d\x34\xad\xcc\xe9\xa2\x6c\x26\xa1\xfa\x2a\x49\x2c\x35\x45\xe0\x76\x2c\x19\x32\xe6\x0f\x6d\x05\x26\xb0\xec\x75\xb5\x84\x96\x81\x6f\xf0\xe0\xe0\x8e\x7c\x1a\x44\xb5\x87\x70\x4b\xe2\x46\xdf\xc5\x5d\xa1\x8e\x8b\xc5\xae\xf6\xd2\x71\x4b\x57\x64\x18\xc9\x87\x5e\x15\x60\xe1\xaa\x15\xc6\x13\x04\xcc\x2f\x68\xfa\xdb\x8f\xe7\xb9\x44\x10\xda\xea\xd5\x05\xf5\x99\x2e\x7f\xfd\x28\xe6\xe5\x90\x19\x96\xcc\x7f\xab\x3c\xa9\x48\x49\xf7\xac\x19\xc7\x59\x4a\x68\x47\xb5\x1d\x5e\xe7\xbc\x1d\xbe\x6c\xfa\x98\x9a\x19\xb1\xdc\xbb\x7c\x93\x4c\x92\xe8\x53\xf8\xa1\x18\x65\xfc\x95\xe0\x08\xee\x86\x13\x91\xd8\x0a\x9c\x8c\xdd\xb1\x40\x9c\x9f\x9d\xfd\x6c\x8a\xec\x83\x2e\x29\xb7\xba\xbb\x8e\x4a\xcc\xf1\xef\x12\x29\xe9\x29\xca\xbc\xdb\x55\x24\xb7\x73\xa0\xbf\x22\x83\x0c\x59\xd2\x55\x1b\xc8\x89\x46\x4f\xb8\xb3\xab\x31\x95\x5e\x50\x63\x5d\xa2\x0c\x43\x80\x9f\xf8\xae\x84\x8d\x07\x4c\x64\x47\x37\xc0\x9c\x7e\x77\x31\x37\x11\x81\xfa\xd9\xbe\xcb\x10\x09\xd2\x12\xa9\xbd\x53\x8a\x07\x19\xef\xdb\xb8\x5c\x25\x6a\xff\x0b\x8f\x81\x47\xcd\xf2\x92\x8e\xb4\xfc\x54\x3a\x9c\xf9\x36\x85\xb1\xff\xc3\x38\x58\x33\x51\xc0\xaf\x74\xe9\x9d\x0f\xa2\xbf\x2f\x18\xb3\xb5\x82\x5c\x87\xda\x93\x1f\x42\x95\xd0\x4b\x55\x03\x53\xfb\x72\x85\x5a\xa0\xea\x8b\x3d\xbf\x87\x1a\x2f\xe9\x94\x55\xf6\x90\xc3\xcd\x3f\xe8\x94\x61\xa9\xbf\xc4\xfb\xda\xec\x35\xcd\xc2\x40\x59\x54\x8f\xb9\x50\x69\x32\x94\x2a\xee\x87\x63\xb0\x33\x89\x99\xaf\x92\x3d\x64\x29\x69\x89\x5a\x72\xb8\x89\x8e\xa0\x50\xd1\xc9\x75\x9a\xd9\x5d\x9e\x06\xf9\x6f\xdd\xa4\x13\xe5\x4a\x2c\xe6\x30\x48\x0e\x6d\xc0\xc1\x1e\x86\x6f\x74\xe3\x3f\x62\x27\x99\xe2\x27\x66\xbd\xf2\x25\x9e\xa7\xb4\xa5\x93\x83\x83\x2a\x53\xab\x86\x01\x09\x51\x4b\xca\x2a\x82\xdc\x23\xf7\xc5\xc7\x82\xc6\xc0\xb0\x25\x44\x0f\x45\xf9\x12\xd2\x30\xd0\xfc\x9b\xb9\x23\x1e\x4c\x82\x11\x72\x19\x83\x90\xf4\xbd\x85\xf4\xab\x39\x5b\x0d\x4e\x64\xab\x8a\xf1\x55\x58\x93\x3c\x82\x3b\xbc\xe0\x8e\xfa\x80\xaa\x43\x66\x5a\x83\x01\x2b\x33\x43\x56\x24\xc9\x70\x4a\x91\xbb\x49\x75\x83\xf6\x1d\x64\x81\x94\x1d\xe4\xc3\xc0\x48\x45\x22\x0e\xd0\xbf\x43\xc4\x2e\x0e\x1d\xe4\x5d\x85\x34\x25\x34\xc6\x5c\x96\x0c\x66\x07\xce\xc2\xb0\x44\x01\x30\x22\xbc\xac\x71\xa6\x3b\x1c\xf7\x6c\x9a\xae\x60\x83\xda\xd8\xaa\x9f\xa4\x11\xaa\x47\xcd\x24\x02\x55\x76\x8d\xcf\x46\xe6\x98\xc9\xf1\x15\x90\xb9\xee\x38\xdc\x9a\x6c\x07\x75\xf3\x4d\x9d\xc5\x92\xa8\xb5\x67\x12\x71\xb6\xa8\x65\x72\x11\x0c\xc9\x04\x1d\xdf\x33\xf8\xca\x1e\x8f\x64\x19\x13\x8c\x73\xff\x0d\x32\x32\x32\xfd\x6b\xd1\x38\x54\xd8\x18\x61\x17\xac\xec\x91\xb4\xee\x4f\x63\xbe\xe2\x18\xe8\x9a\x9d\x0b\x69\xab\x2f\x6e\x0a\x29\xda\x71\xe5\xf0\x1b\x14\x14\xfb\xa2\xcf\xe6\xa7\xd9\x7d\xce\x30\x85\x6b\x3d\x16\x62\x30\x19\x7c\xe9\xfb\xb8\x36\x4d\x90\x32\x3f\x3f\xfa\xe8\x61\x5b\x0c\x62\xf1\xc8\xc5\x3f\xe0\xbc\xbf\xc7\xcb\xb8\x93\xaf\xb1\x24\xdf\x32\x7f\x94\x3b\x2c\x5a\xbd\x03\xcf\xb6\x39\xf2\x2d\x8f\x2d\x8f\xf5\xcf\xb5\x29\x2d\x9b\x56\x98\x80\x2b\x59\xfb\x24\x14\x63\xb2\x16\xac\xfa\xa8\xc0\x4f\xcf\x13\x23\x19\xb4\xe2\x62\x87\xfb\xd7\x9a\x35\xed\x51\x55\x8f\x1a\x70\x67\x04\x6c\x59\xa1\x32\x74\x91\xb9\xe8\x6a\x4f\x98\x56\x43\x0a\xd9\xa0\xd6\x17\x49\x80\xda\xa6\x77\x21\xcb\xf9\xdf\xaa\xd6\xd7\x6c\xf5\xfa\x47\x52\xd5\xd6\x2f\x2e\x8d\x7a\x30\x04\x32\xa6\x9d\x28\x89\x26\x27\x5f\x36\xba\x3d\xbe\xb6\x8e\x7a\x91\xb7\x2a\x1e\xf1\x9c\x9a\x85\x20\x6d\x8a\x25\x74\x58\xd8\x95\x24\xf9\x3e\x0c\xd6\x4e\xaf\xda\x79\x6f\x7b\x4c\xc9\xad\x8a\xfe\xc9\xee\xbb\xfc\x66\x5b\xa6\x6f\xd9\xbb\xbc\x67\x84\xee\xb2\x0b\x16\xc3\x37\x9a\x5f\xea\xbe\x75\x81\xf5\x9d\xf8\xdf\x24\xfe\xf1\xdf\xb2\xc3\xd0\xa1\x63\x56\x43\xa8\xa4\xc5\x44\xa3\x61\x17\xa0\x3a\xc2\xee\xd2\x47\x77\xb8\xab\x53\x94\x58\xc0\x0c\x0f\xd1\xdf\x5a\x64\xdc\xb5\x5b\x4f\x64\xd2\x0b\x04\xf9\x6f\x85\x54\x5c\xa0\x89\x44\xa9\x6e\x7d\x0e\xa7\xcc\x7e\x9f\xb9\x12\x41\x92\x0d\x96\xf6\x38\xfc\x29\xfc\xcb\xcd\xb9\xce\xd8\x23\xb3\x21\x6e\x3c\x30\x60\x32\xd6\x73\xc0\x4f\x37\xc4\xf0\x86\xab\xab\x37\x39\xe6\xa5\x44\xa7\x7c\x6a\x12\x3d\xdb\x55\xc9\xd6\x12\x7e\x19\x1a\xa3\xb9\x4c\x9e\x89\xee\x97\x7a\xb0\x5f\x7f\x69\xa1\x8d\xd3\x16\xcd\xda\xb6\xfb\xc8\xd9\x63\xa4\xa4\xb2\xf3\x6a\xfb\x5b\x2c\x8a\xcf\x54\xc9\xbd\xaa\xfe\xbd\xce\xb9\xfc\x2b\x98\x76\x55\xf8\x80\xfe\x4d\xd5\x7c\x90\xd8\x20\x38\xed\x87\xdb\x93\x92\xd9\x6f\x1b\x8a\xf8\xdb\x3f\x78\x4c\x13\xdc\x67\xb3\x13\xc1\x30\x54\x71\x89\x30\xcb\x05\xf5\x0c\x41\x61\x55\xc2\x7f\xb2\x8b\xd5\xe4\x8a\x4b\xbe\x2d\x84\x75\x95\xe3\xe7\x23\xb8\x1a\x26\xed\x26\x45\x6a\x01\x45\xc4\xf9\xca\x82\xf1\x8d\xc3\x4b\x82\x7c\x1d\xb1\x76\x45\xba\xf6\xb9\x6e\xfc\x9c\xbe\x61\x2d\x62\xf5\x9f\x41\xb3\x21\x08\x6b\xbf\x1b\x12\x6d\x7f\xf3\x2f\xbd\xfa\xdb\x8a\xd9\x16\x1d\x89\x63\x05\xac\x91\xeb\x7d\x67\xb1\xce\x7f\x5e\xd4\x5e\x46\xa3\x45\xce\x7b\xd9\x54\x09\x7d\x1b\x5a\xf2\x37\x88\xac\x58\x2c\xc7\xe5\x0e\x11\x0c\x3b\x15\x38\x90\x24\xcf\x9a\xca\x11\xd1\x3d\x8a\x59\x12\x77\x7a\x77\x57\xce\x81\x15\x83\xbc\x8a\xd6\x7a\xf4\xd5\x79\x8c\x71\x51\x7c\x0e\xfb\xe2\xff\x35\x56\xf6\x6e\x02\x52\x92\xf1\xcd\x43\x3b\xdd\x5c\x89\x2a\x7a\x63\x43\x5a\x21\xc1\x8d\x3b\x2f\x18\x1e\xa9\xcf\x85\x98\x27\x60\x0d\x7b\x23\x52\xf6\x85\xba\x3a\x8f\x95\x94\xd6\x83\xd1\x45\xbe\x9a\x53\x4b\xb0\xc9\xd8\xe9\xa5\xdc\x5f\x06\xfe\x4c\xee\xc5\xb8\xd5\x5a\x5a\x87\x49\x07\x73\x80\xe3\xa6\xea\x44\xc2\x62\x9d\x46\x7e\x77\x5f\x3a\xbb\xff\x7d\xe0\xba\xdf\x1d\x17\x7e\xc1\x8f\x73\xbf\x61\x9b\x0a\x9c\xfb\x84\xb3\xfa\x86\x43\x55\x3d\x69\x87\x9f\xb4\x16\xdd\x64\xde\x9d\x1e\xa7\xd4\xf6\x86\x63\xe0\xf3\xe5\xe0\xee\x8e\xe2\xb5\x61\xae\x01\xf4\x60\x37\x3b\xf2\xc0\x6c\x46\x26\x27\x87\xd1\x31\xc5\xeb\xd7\x9d\x9a\x53\x2b\x11\x9b\xac\x25\x5f\xcf\x26\x13\x9b\x1e\xcd\x06\xc3\x1c\xad\x51\x18\x5c\xcd\x81\x10\x80\xd7\x3a\x10\x9d\xc9\x89\xe6\x70\x78\x2a\xd3\xec\xfd\xf5\x43\x9e\xdd\x00\xc7\x22\x4c\x8d\x73\x67\x55\x39\xbd\xf6\xf5\x4f\x0c\xd1\xa1\x5d\x7d\xe5\x50\x22\x84\xe5\xfb\x7b\x51\x7f\x8a\x54\x0d\xfa\x35\x47\xec\x71\x4f\xe4\xbe\x48\x83\x9e\x5a\x48\xda\x2d\x92\xc5\x73\x07\x66\x43\xf1\xea\xeb\xd5\xc2\x19\xa6\xf9\x87\x46\xc4\x47\x89\xe3\x68\x45\x4d\x35\xf7\xc7\x71\x8c\x76\x4e\xc4\xcb\x93\xed\xd7\x37\x05\x03\x7f\x09\xaf\x15\xdb\xfb\x9a\x19\x44\xe6\x80\xa7\x85\xea\x93\x81\xb1\xe8\x4e\xdb\x78\xe5\x0c\x4e\x85\x6a\xf4\xca\xfc\x68\xa7\x54\x72\x5e\x3f\xe9\x6e\x33\xa3\x83\x9d\x01\x46\x09\xed\x48\xf2\xda\x2f\x38\x6f\xf2\x87\xf1\x04\x0d\x39\x49\x8e\xc0\xe4\xa4\x49\xee\x2a\x66\x2e\x04\xd7\x05\x50\x82\xf8\x69\xa0\x3d\x85\x38\x3d\x4d\xfa\xc0\xe0\x96\x01\x96\xcc\xea\x7b\x73\x46\xf3\x4b\xeb\x87\x0e\x11\xb1\x9f\x23\x8e\x8c\x9a\x9d\xa9\x3c\x1c\xd5\x33\x57\xaf\x70\x29\xb4\xd8\x0e\x2f\xb1\xe4\x57\x91\xa8\x17\xd5\xf7\xbb\x80\x3c\xc0\x28\xe8\x11\xf5\x28\xf9\x60\x15\xb1\x5e\x4e\x95\x5f\xae\x5b\xc5\xec\x7c\x64\xb8\x7a\xdb\xc5\xa1\xcb\xe6\x65\xc2\x77\x3c\xd7\x39\xe2\x9f\xc1\x92\x4b\x97\xdb\x65\xb6\x7f\xfb\x5b\xda\xe6\xb5\x47\xca\xaf\xf6\xdf\xad\x1a\x20\x25\xc4\x11\x4e\xbe\x18\xed\xbf\x7a\xd3\x7a\xa3\xb6\xf3\x76\x65\xb7\x73\xe7\x32\xc5\x17\xe4\x71\xe1\x91\xb8\x43\x2a\x37\x08\xe8\x6c\x00\xd4\xf6\x59\x28\x57\x97\x0a\x96\xe7\x03\x03\x34\xff\xe4\xbd\xc7\xd6\xec\x2b\x2c\x84\x05\xb8\x6d\xbe\x61\x0b\x1c\x89\x00\x79\x13\x6c\xc2\x50\xae\x4e\x98\xbf\x07\xaf\x79\xe4\xef\x71\x69\xe3\xcf\xfc\x06\x11\xfb\x97\x6d\xeb\x94\x3b\x16\x94\x4d\x5e\x55\x7d\x91\x95\x04\x2e\x15\xeb\xf2\xab\x2d\x95\xd8\x13\x87\x18\x94\x2b\x05\x00\xf1\x04\x41\x78\xbd\x43\xe6\x19\x73\xa6\xbf\xeb\xcb\x87\xcd\x92\x7c\xd0\xd3\xc7\x60\x9b\x3d\x7c\xa5\xdb\x3f\x17\xc6\x11\xa6\xcd\xde\x5c\xc0\x44\xb3\x99\x36\x46\xce\x18\xe3\x26\xaf\xb6\xb5\x69\xe3\x01\x23\x4d\x6b\x7b\x4b\x2e\xed\x07\x79\xd4\x3d\xc9\x77\xb2\x5e\xf6\x90\x01\x8f\xdd\x7d\x17\x17\xc9\x04\xb1\x2e\xfb\x04\xcb\xb4\xe9\xdf\x2c\xf7\xef\x24\x61\xc9\x82\x88\x7b\x8d\x0a\x30\xbd\x3a\x4d\xd5\xa4\x24\x0d\x77\x11\x81\xd7\xf6\x62\x97\x01\x39\xb1\x48\x35\xc3\x43\xf4\xf8\x68\x14\xe8\x1c\xcc\x8a\x4f\x90\xea\x50\x01\x0b\xbf\xf4\x68\x7f\xc2\x3a\x0c\x0b\x87\xe9\xa2\xa3\x72\xa1\x1a\xc6\x28\x58\x70\x7b\xce\xed\x5a\xd4\x98\xf1\x99\xeb\x79\xdd\xf6\xa6\xfb\x9a\xaf\x94\x54\xa2\xec\x24\x55\x6c\xea\x9f\x5b\x71\xd4\x55\x38\x71\x38\x51\xaf\x08\x76\xd2\x74\x3d\xec\xdf\x5f\xf7\xec\x1d\x35\x2c\xec\xe2\xae\xff\xe4\xf8\x79\xf6\x61\x33\xa7\x0d\xaa\x4d\xca\x21\x82\xd8\x15\xd0\xcc\xe7\x3a\xd9\xff\x31\x1b\xe3\xe5\xf9\x25\x33\x6b\xc6\x5f\xd3\x97\xf2\x3e\xa8\x94\x30\x64\xd9\xa8\x05\x6f\x74\x0e\x72\x5f\xed\x08\x5e\x22\x1f\x7d\x8d\x36\x91\x35\x79\x1b\xcc\x76\x20\x91\x9e\x56\x0c\x17\x73\xd3\x6f\x96\xe7\x48\xaa\xab\x86\x0a\x0a\x07\x2e\x8e\xd8\xa4\xa4\x94\xdd\x2c\xa4\x85\xdf\x97\x3d\x86\x96\xeb\x7b\xde\x47\x77\x10\x1c\x47\x23\x66\xc0\xfa\x63\x80\x29\xaa\xf8\xc8\x92\x60\x77\x36\xe9\x44\x39\xf0\xb9\x2b\xa0\x99\xf1\x95\x6a\x60\x2e\x91\x1f\x1f\xa5\x09\xb3\x16\x24\x29\x58\xa2\x70\xf1\x1b\x44\x69\x1f\x26\x1d\x2f\xfc\x16\x24\x5d\x5c\x17\xb7\xf0\x14\x7c\x73\x3b\x47\x6d\x4f\x22\x27\xe8\xf4\x5d\xe7\x7a\xa8\x43\xb6\xd3\x32\xfb\x19\x0e\x32\xd3\xed\x5d\xf1\x19\xda\x2c\x75\xe7\x0f\xb5\xd9\xb7\x6b\x28\x71\xf2\x3c\x94\x57\x93\x5b\x19\xa6\x10\xf3\x84\x03\x62\x16\xfe\x25\x8c\xda\xe0\x1f\x65\x19\x8a\xa7\x86\x58\xe8\x3b\xa3\x80\x8b\x33\xdb\x7d\x41\x1f\xda\x7e\x33\x1a\x4e\xc9\x1e\x2a\x62\xf4\x40\x8c\x78\x1e\x5d\x87\x6e\x70\xe5\xb7\x93\xf2\xd5\xd9\xdc\x2d\xd3\x1b\x2d\x24\xce\x78\x9c\x2c\xea\x19\x01\xf0\xfe\x8c\x5f\xfa\xe5\x6e\xc3\x00\x33\xfd\x4c\x82\x1e\x00\x7a\x2a\x95\xae\x39\x64\x82\xc3\x42\xf1\x2e\xc3\x36\x77\xa9\xac\x1e\xae\x66\xcd\x6f\x7d\x9d\x95\x57\x50\xf1\x33\x5a\x7b\x2c\xe1\xce\x85\xf6\x8f\x23\x27\x51\x7e\xb0\x2e\x7a\x70\xae\x28\xb3\xeb\x49\x64\x10\xfd\x74\x01\xa3\x3d\x2f\x16\x5a\x23\x44\x2f\x32\xff\x7c\xd9\x0d\x66\x1c\xdc\xcb\x29\xdd\xf8\xdb\x77\xc4\x9a\xbd\x1f\x09\x3b\x0d\xfe\x4e\xbf\xfd\x3e\x0f\x47\xce\x1d\x3c\x5d\x51\x05\xe5\xeb\xea\xaf\x43\xbe\x69\xa4\x21\x4b\xee\x8e\xef\x4a\xf5\x08\x9b\xce\xf2\xac\x8e\xea\xf2\xdf\xba\x30\xf7\x5c\xd6\x6d\x32\xf1\x73\x5d\x35\xde\xac\xb8\xdc\x97\x8b\x36\x4d\x60\xe6\x99\x5e\x27\x8a\xa2\xd3\xb4\x7b\x68\x05\x7f\xe4\xc4\x37\xcf\xf6\x1f\x7e\x34\xeb\x9c\xb5\x16\x7f\xec\x69\x36\xfd\x5d\x4e\x5f\x17\x64\x6b\xea\x15\xba\x64\x1b\x6f\xae\x6f\x7c\xe6\xce\x3e\xa9\xc9\x5b\x5e\x12\xf0\x79\xbc\x30\xb7\x48\x30\x71\x11\x6b\xde\x3a\xca\x59\xb6\x3b\x38\x2a\x20\x4c\xdb\x9c\x73\xde\xef\x43\x41\x7d\x34\x2b\xe8\xa3\x88\xcd\x8e\x82\x94\x10\x8c\xbc\xfb\x60\xe7\x68\xc5\x44\x77\x72\xe0\xdd\x93\x2d\xc6\xc4\x5e\x81\xbe\xe8\xd1\xaa\x6e\x30\xb0\x72\xe8\x4a\x51\x62\xf0\x8c\x69\x35\x6f\xe5\x65\xf6\x2a\xb8\xed\xa9\xb7\xe7\x29\xcf\xd5\xb8\x5f\x28\x55\x2d\xe7\x12\xf8\x7e\xd6\x75\x77\x75\x9a\xec\x86\xca\x78\xa9\xd7\x41\x05\xf9\x47\xee\x68\xae\x4c\xdd\xbd\x6d\x96\xa0\x87\x01\xaf\x7b\xbf\x39\x30\xf4\x72\x04\xa4\x23\x40\xb8\xe2\x9e\xfd\xbe\x6f\x53\xdf\x5f\xf2\x6b\x81\xfe\xc7\xef\x72\xa6\xcf\x8d\xe8\xfc\xc7\x95\xbc\x6e\xab\xcf\xac\x8d\x10\x01\x0f\x64\xe1\xd2\x63\xdb\x22\x2c\xbb\x0c\xe7\xa7\x07\xc1\x4d\x9c\x5c\xc5\xda\xb1\x49\x07\x06\x0d\x60\x53\xf2\xea\xf9\x44\xae\x37\x12\x35\x2f\x0d\x98\xfd\x66\x96\xa3\x62\x09\x3f\x8c\x0c\xb4\xcc\x73\xea\x28\x03\xcf\x22\x2c\xa3\x3b\xa3\x44\xac\x4e\x4e\x5e\xe9\xb2\x4e\x74\x25\x63\xef\x1e\xa1\x82\x23\x78\x2b\xd2\x11\x9f\x31\xc1\xe3\x7a\x4c\x79\x52\xf1\x93\xb9\x3a\x2b\xa0\xd9\xd7\xa6\xf8\x3b\xb7\x57\x8b\xd5\x55\x4d\x6e\x96\x04\xf2\x7b\xca\xee\xcb\xb6\x09\xf7\xfd\xa0\xc4\x2a\x99\xf2\xa9\xde\x66\xb0\x1f\x22\x95\x48\x56\x90\x39\xfb\x45\x81\x0b\x7d\x9d\x08\x77\x5c\x19\x51\xb0\x48\xf3\x1a\xf4\x6c\x20\xd1\x96\xa0\x78\x5d\xa2\x00\x07\x8a\x9b\x47\xdb\xca\xe3\x10\x49\x97\x75\x33\xc8\x5e\x0a\x19\xe0\x0d\x23\xc4\x96\xaa\x8c\x5a\xc5\x2c\x23\x70\x95\xb1\x69\xfe\x29\xfd\x79\x0a\xf9\xcc\x3e\x62\xdf\x75\x84\x9d\xa2\x9f\x79\xdc\x17\x18\x49\xa2\x6d\x77\x53\x25\x45\xde\x3c\xc1\x76\xa8\x44\x28\xb1\x2d\x1d\x90\x39\x63\xde\xe9\x8e\xa9\x63\x9f\xf7\x8d\x7f\x30\x0b\x32\x5d\xc9\x4a\xe4\xf7\xa2\x13\x73\x73\xbc\x12\xfa\x84\xf8\x72\xff\x0d\xfc\x41\x05\x25\x65\x3c\x01\x91\x3f\xd5\x2f\x2f\x4b\xe7\x2d\x45\x53\x05\xbd\x24\xc6\xaf\x58\xbb\x7c\xda\xc8\x43\x61\xbd\xe6\xae\x04\x8a\xde\x50\x58\x20\x68\xb4\x27\x65\xf1\xd7\xf5\x89\x6c\xbe\x22\x21\xf0\xe8\x40\xd0\xe8\x07\x98\xb4\xd5\x4d\x16\xa7\x02\x9a\x9e\x96\x2a\x68\xb0\x48\x52\x29\x54\x76\x18\x52\x33\x15\x2e\xb5\x34\xba\xac\xf7\x25\x6d\xf7\x26\x89\x21\x80\x92\x2e\xe1\xe4\x19\x82\xee\xdb\x11\x38\x83\xe8\xad\x39\x19\x0c\xf2\x5b\x05\x67\x20\xa0\x88\xea\xd5\xa6\xfd\x9b\xfb\xdd\x7d\xfd\x36\x86\xf5\xd5\xe7\x51\xaa\x71\xa6\x4f\xca\x12\xbe\xa0\x86\x51\xaa\x28\x36\x14\xad\xec\x77\xda\x77\xce\xd1\x38\x3f\xb8\xef\x23\x8d\xea\x40\x7f\x98\x89\xc5\xc7\x07\xfd\x78\x9a\x94\x37\xe1\x3c\x56\xb1\x0f\x82\x78\x54\x00\x9a\x1c\x7d\xe3\xa8\xc5\xdc\x3a\x58\x60\x57\x45\xe0\x25\x6d\xf9\x54\x88\x8d\xb9\x3a\xc6\xce\xe6\x4a\xa4\xb5\xd1\xe6\x3d\x87\xa8\xac\xea\xf8\xe3\xbd\x68\x18\x69\xe1\x88\x9c\x2d\x1b\xee\xe2\x3a\x15\xf5\xd9\xe8\x4e\xd3\x54\x58\x66\x76\xb3\x28\x65\xe0\x7f\xb8\xf8\x37\x0d\x1f\xca\xea\x44\x3c\xbb\x9b\x35\x2b\x2b\x29\x9a\xb3\xcb\x54\x84\x74\x4d\x98\xe6\x17\x29\xe4\x4d\xf4\x31\x56\x63\xf3\x4a\x2d\xbf\xd0\xd2\x62\x32\x4f\xc0\x51\x57\xb3\x71\xc9\x67\xe8\x44\x65\x8b\xc4\x50\x10\x6f\xc2\xb6\x65\x93\xcf\x39\xd4\x9e\x65\xf5\x3e\x4b\x5e\x81\xfb\x66\x79\x86\xb2\x7f\xa2\x0f\x4c\x25\x26\x79\x96\x74\xea\x4d\xc8\xae\x94\x32\xd0\xc6\x36\x95\xff\x83\x77\x32\xdb\xc0\xa2\x18\x93\xf9\xfa\x1e\xb1\xf3\xb7\x55\x53\x75\x4b\xd4\x0d\xe2\x7d\xff\xfc\x88\x52\x4e\x72\x40\x76\x5c\x5f\x9d\xe0\x2f\xa6\x95\x07\xa1\x59\xf3\xa6\xc1\xb0\x2d\xd6\x8c\x7b\x63\x18\xfc\x3f\xf1\xde\xb2\x9f\x85\x8d\xe2\xa4\x17\xa5\x1a\x08\x10\x0e\xc2\x5c\x2a\xc2\x9c\xd1\xfc\x03\x5f\x10\x54\x32\x92\x95\x6b\x2c\x20\x3b\x6b\x01\xe4\x44\xdd\x80\x78\xbf\x5f\x01\x51\xfb\x8b\x1f\x9b\xd1\x25\x1c\x5c\x9d\x60\x02\x47\x98\x3b\x98\x4a\xaf\xd8\x61\x77\x76\x61\x02\x7e\x58\xbb\xf9\xda\xbd\x7e\xb4\xbf\xdf\x79\xd4\x46\xee\x60\x1d\x85\xe2\x36\xa0\x54\xb8\x88\xde\x72\xdf\x4a\x21\xa2\x59\x16\xb3\xb3\x5a\x36\x94\xe7\xa4\x3a\x74\xad\xf1\x43\x6b\xe6\x89\xc7\x77\xd7\x67\xbc\xad\x76\x9f\xdb\x8d\x53\x5a\xde\x08\x72\xfd\x43\x6e\x98\xe9\x3c\xc4\xa0\x84\xf6\x1b\xaf\xe1\x57\x2b\x8c\x4a\x19\xbf\x31\x47\x8b\x41\xd7\xd9\xa7\x64\xbe\x33\x0d\xff\xd9\x94\x46\xb2\xe6\xfc\x59\x11\x98\x3c\x0f\xdd\x11\xfd\xdd\x11\xfa\x25\x29\x45\xce\xd9\x12\x1d\xf3\x7c\x6e\x6e\xf0\xdb\x95\x56\x1a\x48\xe6\x64\x34\xde\x7a\x17\xa1\x3f\xd8\xa1\xf6\x94\xf5\xef\x08\x0f\x42\x3e\x2c\x26\x84\x39\x50\x2f\xde\x7f\x83\x17\x8f\xb1\x0c\xb8\x90\x22\x57\x90\xc0\x5e\x49\xd0\xc8\x25\x0a\xab\x3d\xf3\x14\x35\x1d\x1e\xef\x05\x13\x00\x47\x95\x2d\x2e\xe6\x6f\x96\x72\x6a\x37\xb0\x23\xbc\xa0\xbf\x00\xf7\x06\x05\xa6\x1a\x70\xfe\xaa\x84\x5c\x59\x77\x61\x57\x83\xaa\x83\xcf\x1c\x21\xd9\xaf\x9b\xbf\x5f\x91\x62\xdc\x57\xb7\x48\x7c\x14\x9c\xbb\x7c\x97\x0e\x56\x74\xfc\xa6\xb1\x22\x7a\x91\x38\xa8\xff\xe0\xc3\x43\x0d\x36\xe0\xec\x24\xf1\x9d\xb7\x4b\x7e\xfc\x76\x84\xf8\x5b\x49\x5e\x5e\x86\x0b\x72\x2c\xb9\xcc\x6a\xf2\x7b\x1d\xc6\xe3\x19\x12\x39\x8d\x1a\x3c\x26\x8c\xdf\xe8\xc1\xb5\x10\x29\x7b\xf7\x3d\x4e\x67\x76\x18\x94\x6f\x44\x99\xae\xe4\x58\xed\x9b\x2b\xb6\x1b\xf3\xfa\x6f\x2f\x3e\x9d\xd4\x1e\xa1\x4d\x92\x62\xe9\x70\xb9\x3a\x16\xcd\x5c\xef\x92\x53\x13\x8a\x92\xf5\xf5\x79\xba\xc0\x78\x7f\x26\x42\xe7\xbf\xd1\xd8\xc3\xa5\x3f\x26\x45\xa3\x1a\xa2\xa1\x1a\x89\xa9\x65\x1b\x52\x42\xa4\x0a\x58\x5e\xa7\x74\x3f\xe7\x0f\xd7\x3f\x60\x92\x98\x66\x0b\xe1\x2e\x9c\xdb\xf3\x15\x9b\xb1\x6d\xe2\xb7\xf9\x34\xc4\xfe\x44\x15\x38\x68\x55\x90\xbe\xe1\xcd\x3c\xc9\xe1\x6d\xe6\xaa\xee\x36\x13\x9c\x63\x39\xb7\xb9\x06\x1f\x5d\x36\x5d\x86\xf2\x7a\x07\x6b\xe9\x35\xbe\x79\xda\xc5\x6c\xca\x5a\x82\x33\x51\x3d\x3b\x30\x6f\xe6\x7f\x3d\x8f\x59\x6e\x72\x7c\xaf\x47\x2c\x95\x3b\x35\x0c\x43\x85\xe1\xf3\x32\x85\x72\x64\x92\x30\xc9\x66\x6f\xd2\xca\x13\xe7\x67\x84\x68\xb1\xb5\x6d\xdd\xb4\x72\x64\xea\x36\x20\x5e\xdb\x77\x5c\x5e\xe5\x8d\x43\x5e\x77\x4b\x60\xbe\xea\x7e\xfa\xc0\xca\x64\xaa\x1e\xd1\xd6\xbd\x76\xb6\xc5\x4b\xac\xff\x7d\xcc\xde\x91\x75\xd0\x3b\x41\x6c\xe3\x3d\x4b\xe9\x2f\xee\x14\xa6\xcf\xc5\xac\xf6\x9b\xff\x34\xa1\x35\xb2\xa7\x74\xe7\x80\x5d\x0e\xa5\x9c\xf2\x66\x34\x2d\x03\x4c\x9a\xd9\x7d\x43\xed\x91\x52\xfd\x74\xd8\x8e\x1c\x9e\x57\xa9\x5a\x48\xd2\x81\xc7\x05\x86\x03\xc3\xb5\xfa\xca\xc5\x18\x7c\xc4\x45\xbf\x64\xc7\xef\xd7\x73\x5d\x2a\xb8\x28\x48\xe1\x7c\xee\xbd\x9e\x80\x1b\x4e\x2d\xc7\x86\x50\x3d\x52\xc3\x3a\x87\x0e\x8a\x5a\x58\xf4\x85\x9a\x5a\x50\xa1\x33\x50\xcc\xad\x8d\x66\x30\x39\x8c\xa0\xe3\xad\xe2\xd2\xe6\xcb\x4e\x21\x38\xc5\x7a\xd8\x1e\xec\x1d\x06\xff\x20\x95\xa4\x2c\x9b\x17\x5c\x08\xdc\xa6\xd1\x3d\x9a\x1a\x4c\x61\x82\xdf\x9f\xdc\xaf\xe1\x9d\x7e\x99\x1c\x00\xe3\x5b\xde\xbf\x62\x6c\x05\xdc\xd6\xf7\x2e\xf4\x85\xf8\x0a\xcd\xf7\x5f\x19\x25\x96\x21\xfd\x0f\x2f\x9e\xf6\x08\xe6\xec\xe7\xdc\x5f\x96\xfd\x38\x82\x3a\xe6\x56\x09\xa9\xba\xb3\xce\xfb\x9e\x3f\xdf\xd2\x2e\x4e\x15\x97\xbb\x9b\x4d\xcf\xe3\xfa\x05\x42\x75\x20\xa9\x20\xdc\x3b\xe3\x4f\x49\x97\xa0\x9b\xe7\x31\x91\xed\xeb\xe5\xd2\x0b\x30\xdd\x48\xe7\xa7\x53\xe8\x65\xcb\x42\x41\xb9\x14\xac\x87\x96\xa1\x6e\xac\xf8\xd2\xce\x17\xf3\xf0\x0e\xdd\x9f\x7e\xe0\x54\xec\x47\x82\x47\x55\x9d\x7d\x37\x81\xb6\x98\x2b\x8f\x72\xbe\x32\xfb\xb9\x74\x4c\xf5\x35\xc4\xeb\x60\xfc\xe1\x83\xc3\x3f\x18\x1f\x86\x05\x92\xdb\x27\xd7\xe3\x6d\xf9\xbd\x12\x84\xf6\x42\xdd\xa5\x5f\xef\xbb\xd5\x36\xd4\xdd\x45\x33\xeb\xb6\x3c\x05\xda\x8f\x57\xf9\xf1\xc4\x6f\x97\x71\xa6\xd5\xe1\x16\x22\xfb\x38\x43\xdc\xbf\x54\x51\xa5\xf6\x30\x41\xcd\x93\xe2\xf9\x2c\x3c\x0a\x49\x58\x22\x72\x3e\x44\x3b\x81\x72\x3f\xb7\xa3\x43\x21\x6b\x09\xab\xbe\x03\x74\x7f\xeb\xc3\x24\x53\x69\xb2\x7b\xaf\x6c\x46\xba\xf1\x9c\xe9\xf9\x1f\xbd\x1d\x9d\xdb\xff\x04\x4e\x80\xfc\x6f\x27\xbc\xad\x9c\xd3\x42\x6f\xcf\x90\x47\x8e\x1e\x2a\x52\xb4\x7e\xda\xec\x1b\x2a\xb9\x0c\x83\x5e\xb6\x26\x3f\xf6\x93\xed\xc7\x8e\xae\x37\x04\x08\xec\xd0\x5e\xbb\xfe\xea\xc7\x00\x43\x64\xa7\x88\x09\x6c\x5c\x42\x67\xee\xd5\x96\x78\x4c\x33\x17\x21\x1f\xcd\xb4\x7f\x19\xfa\xe5\xd5\x33\xbf\xeb\xab\x53\x60\x8e\xde\x1b\x67\xf0\xa9\x4c\x13\x56\xa4\xcc\x0f\xe0\xb8\x32\x14\x6d\xd8\xe6\xc3\x59\xd2\x3f\x15\xad\x52\xc8\x8a\xfe\x20\x40\xa0\x6d\x29\x84\xb4\x92\xf2\xd4\xf3\xf3\x97\x59\x69\x96\x6c\xdf\x76\x17\x56\x7b\x9e\x72\x0b\xdf\x5c\xa9\xed\x00\xc9\x56\x6c\x20\x20\x36\xd6\x3e\x4f\x83\x73\x86\x10\x12\x85\x19\xe5\x73\x32\x2b\xf6\x3c\x0e\xbd\x87\x50\xd0\xb5\xcb\xaf\x2c\xd2\x53\xdf\x96\xf6\x3d\xa2\x0c\x3d\x3c\x19\x5f\xfb\xd7\x9e\x5a\x68\x4d\xd7\x8b\xf4\x43\x56\x27\xd0\x36\x25\xe7\x7e\xfe\x7e\x7e\xd1\x0a\x32\xd1\x4e\xb6\x53\x06\x86\x9c\x24\xa2\xee\x12\x68\x92\x1c\x1b\x97\x30\x42\x57\xce\x4b\x22\xa1\x40\x16\x06\x61\x82\xa0\xe5\x70\x1f\x39\x96\xe1\x4c\x19\x59\x8c\xd1\x42\xf6\x2b\x4e\x12\x43\xa0\x07\xd3\x57\x2a\x52\xd4\x7e\x1c\x27\xfd\xbe\xd6\x09\xf5\xdc\x32\x99\x02\xc3\xcc\x5b\xd3\x1b\xbe\xbf\x1f\x45\xfa\x25\xf8\x7a\xa2\xec\xfb\x77\xc8\x8f\x49\x26\xd2\x6f\xa8\xd2\x3b\x80\xf2\x15\xd6\xaa\x40\x22\xb5\x33\xf7\x69\x4d\x9f\x84\x57\x6a\x79\xac\x8e\x63\xd0\x5c\xad\xac\x42\x31\x2a\x48\xae\x82\xa8\x67\xf7\xdd\x6d\x2a\x34\x44\xe4\x6f\x89\x31\x03\x87\xa3\x38\x98\x7f\x25\x06\xbd\x96\xe8\x1c\x42\x94\x12\x60\xb9\xf2\x52\x8f\x83\x47\xd0\xa8\xaa\xa7\x06\x28\x9d\xd1\x86\xdc\x89\x1e\x6b\x90\x95\xf3\xfb\xdf\x7b\xcd\x24\x52\xc7\x0e\xd6\xb0\x4f\x52\x7f\xc0\xc6\xf5\x76\xdb\xbf\x7a\xdb\x6e\x1f\x69\xd8\x6e\x4b\x3a\xc3\xd8\xb8\x4e\xac\xd0\xb4\x96\xd1\x08\xa9\xa0\xd6\x85\xc2\xd2\xe8\x84\x88\x49\x2c\xcb\x10\x97\xcb\x79\x41\x75\xc3\xc0\x5b\x18\xcd\x3e\xb1\x10\x7f\xc5\x7c\xe0\x14\x1a\xec\x81\xfc\x0a\x1c\xa1\x25\xf8\xc2\x1e\xe5\x9c\x7c\x16\xf7\xd4\x98\x5f\x85\xae\xad\xc8\xa9\x2e\x47\x77\x58\x67\x77\x92\xc1\xc6\xb7\x8c\x3b\xc0\x3e\xa7\xd1\xec\x69\xbc\xa9\x56\xb4\x90\xcd\x1f\xa4\x45\xd1\xdc\xa3\xfa\x03\x93\xce\x32\x1d\x5b\x6f\xa9\x1b\xc5\x1a\x7f\x7c\x6a\x4c\xc7\xab\x70\x66\x72\x3a\xf5\x4e\xff\x88\xcc\x3c\x2c\x29\xcf\xbb\x2b\x0e\xab\x2e\x3f\xea\xb3\x30\x6d\x82\xde\x7e\x41\x55\x5c\x60\x69\xf1\xb8\x74\x42\x2e\xbb\x17\x1a\x0b\x29\x12\x4a\xf8\x6f\x48\x2a\xa9\xfb\x91\x10\x3a\xe4\xe9\x6a\x5f\xc9\x61\xe0\x1d\x39\x0f\x9c\xad\xdc\xa0\xde\xa2\x8a\x74\x0e\x4d\xa7\xa8\x53\x45\x04\x95\x73\x89\x07\x7a\xe0\x20\x13\x7f\x82\x9e\x22\x9d\x80\x88\xc6\x7b\xcc\x97\x49\x96\xe3\xc8\x97\x7b\x22\xeb\x98\xf8\x8d\x49\x96\x4a\xc6\xca\x6b\x29\xb2\xa2\xdc\xcb\x32\x48\x5d\x87\xdf\x84\xf6\xf0\x65\x60\xa9\x04\xa0\x47\xb4\x92\x5c\xb7\x30\x14\x4b\xf9\x3a\x69\x95\x88\x92\x2c\xa1\xba\xe4\x2f\x4c\x8b\x61\x17\x90\x55\x21\xa0\x49\xff\xd0\xa0\x58\x82\xb7\x1b\xf3\x05\x7d\xbf\x5e\x51\xc1\x6a\xdd\x49\x35\x5b\x1a\x42\xeb\x0c\x8a\x7f\xb6\xa1\x08\x4f\xc8\xf5\x12\x0c\xab\xb8\xa0\xa3\x96\x0f\x30\x2e\xff\x32\xc5\xb0\xcd\x9f\xe0\x6c\x0b\xce\x1e\xa3\x74\x8a\xef\x35\xcd\x20\x07\x99\xcf\xae\xd8\xfd\xb1\xe0\xcb\xc9\x65\xbc\x7c\x0a\x9d\xc6\x10\x8b\xa5\xc9\x29\x5d\x39\x73\xeb\x64\x80\xed\x2e\x2c\x9d\x25\xf5\xc6\x4c\x17\x31\x64\x84\x1c\x5b\xef\xe9\xf9\x4b\xb9\xe2\x89\xe4\x6e\x92\x32\x64\xc3\xd6\x0e\x5b\xa6\xeb\x99\xe6\xa8\x67\xb2\x61\x8c\xf5\x71\x99\x62\x3b\x1b\xb8\x6d\x45\x68\xd9\xea\xd2\x9a\xb3\x6e\xe5\x7e\x83\x8a\x65\x34\x94\x3d\x04\xfa\xae\xc0\x60\xf1\x7d\xb8\xc2\xf6\x36\xfa\xaf\x42\xde\xbf\x34\xef\xa5\x2d\xfc\xe6\x6c\x2e\x59\xf7\x1d\xe0\xfa\xc0\x54\x92\x46\x84\x8a\xe6\x5c\xcc\xaf\xe6\x3f\xdb\x87\x0e\xb3\xec\x78\x51\xb4\x1b\x8c\xa1\xad\x5a\xa2\x06\x8b\x62\xb6\xd4\x1a\xf6\x0f\x8d\xf6\xf9\xfd\x7d\x7f\xed\x49\xc5\xd9\x75\x6d\x08\x39\xf3\x9a\xc3\xb3\x2f\x7e\x25\xac\x52\xb7\x76\xf9\x99\x97\xa7\xfc\xd4\xee\x51\xf6\x98\x17\xa6\x4c\x51\xa7\xa4\x1d\xab\x72\x68\xe3\x65\xfc\xd0\x91\xea\x09\xa3\xa0\x8e\x19\x41\x0f\x67\x26\x0a\xf3\x43\x4c\x13\x1a\xde\xfd\xe5\x37\x5a\xda\x13\xcc\x75\x29\x42\xa6\xd0\xf2\xef\x03\x1a\xce\xf2\xe9\x45\x53\xb0\xf8\xf8\x5a\xc8\x4a\xab\xc9\x71\x92\xe8\xf3\x15\xca\x39\xbb\x47\x24\x6d\xbd\xf0\x9f\xf1\xd7\xd3\xbd\x90\xdb\x5c\x63\xf6\x6c\x67\x33\xa3\xe5\xed\x21\xea\xda\xe5\xf9\x11\x27\x5f\x37\x48\x15\x2c\xfa\x48\xc1\x1c\xdc\x7a\x26\xbc\xd0\x8f\x21\x0b\x3f\x7a\xf6\x85\x40\x46\xa5\x5c\x0b\x47\x07\x9d\x3a\x20\xee\xc4\xeb\x23\x2b\x63\xb0\x93\x34\x55\xf8\xa8\xa4\x0d\x8d\xcf\xa5\x2e\x05\x71\x32\x49\x42\x8b\x36\x38\xd0\x93\xff\x54\x68\xd9\x2c\x24\x6d\x07\x26\xc2\xaf\xc1\x87\x1e\x5f\x88\x46\x41\xc7\x3d\x76\x57\x91\x88\xbc\x94\x8e\x7f\x38\x01\x0a\x6c\xfd\x32\x54\xa2\x53\xce\xc9\x2f\x8d\x3f\x0e\x94\xe2\xa9\x5b\x92\xc4\x57\x88\x58\x51\xdd\x83\x54\x90\x2a\x7f\x14\x66\x2b\x81\x26\x94\x20\x41\x8b\xa2\x54\x46\x68\xa5\x1c\x73\x69\xf4\x3f\x4c\x56\xb3\xf9\xd5\x4a\xbe\x0a\x45\x88\xc2\x53\xb7\x1c\x4e\x02\xc1\xfd\x6e\x02\x92\x2c\xb9\x85\x30\x00\x7d\x27\x17\xfa\x21\xb5\x5e\x80\x60\x00\xf9\x4c\x5f\x86\xd3\x63\xa1\x6e\x2b\xa9\xe1\x19\x57\xb5\xa1\x9e\xe9\xe8\x20\x56\xd1\x90\xc7\xa4\x25\x36\xda\x1a\x17\xbd\xda\x3a\x13\xb5\xea\x74\x1d\x2c\x07\xd2\x25\xa8\xb7\xd1\x25\xa8\x3f\x78\x92\x4b\x27\xa6\xb5\x0d\x1a\xe0\x7b\x42\xee\x5a\x2a\xbc\xb4\x3f\xc5\x03\x50\x19\xdc\xe6\xaa\x00\xad\x6b\x19\x28\x49\xe8\xb0\xcb\x31\x49\x5f\xda\x27\x2f\x58\x63\x82\xed\x99\xfa\x13\x76\xa5\x9e\x79\xc5\xe6\xaf\xcd\xe3\x97\xb0\x69\x77\x6f\x19\x32\x2e\xe7\xf9\xb2\x42\x71\x86\x5b\x2a\x21\x1e\x54\x06\xd3\xfb\x25\xcf\xf3\x7e\xfb\xdf\xcc\x1e\xe0\x18\xbc\xbc\xf0\x91\xf4\xdc\x97\x2e\x57\xf7\x8b\xf7\x05\x3c\xf0\x11\x70\xfa\x7e\x63\xb6\x96\x92\x52\x55\x95\xc2\xc0\x0b\xcd\x96\x4a\x5e\x8a\x1f\xee\x11\xaf\xb9\xf5\x36\x56\xb9\x2e\x61\xd6\x12\xea\xbd\x7d\x8f\x26\x19\xba\xbc\x55\xdf\x18\x73\x64\x65\x77\x83\x86\xcc\xa0\x34\xec\xdb\xd5\xdd\xcd\x91\x66\xe7\x7a\x84\xe3\x42\x93\xb9\xf3\x2f\x8d\xf2\x97\x01\xe3\x3a\x83\x76\x33\x5d\x5e\x71\x5e\x29\x4e\xf3\x39\x63\x37\x7f\x24\x59\x86\x76\x61\x99\x05\x6a\xde\x71\x0a\x7b\xc8\xa5\x60\x4e\x77\x58\x72\x32\xa0\xc3\x47\xb0\x8a\xb5\x92\xff\xcb\xc5\x89\x68\x3f\xae\xc4\xde\x10\xa8\xb5\x9b\x3d\xbd\x4d\xc4\x34\x6b\x10\xb9\x5b\xba\x8f\xdd\x4f\x43\x14\xe8\xfb\xf7\x70\x15\x24\x9c\xe2\x9d\xbe\x35\x3f\xbf\xd7\x04\x5f\xe6\xb2\x78\x8f\x61\xeb\xd2\xac\xff\xc0\x67\x63\x63\xdb\x0a\x5a\x72\xae\x31\x20\x77\x09\x29\x3c\xcb\x4d\xde\x12\x5c\xa6\x5e\x0e\xad\x61\xd4\x5d\xdd\xf5\x19\x91\xb5\x5a\x6c\xe1\xd1\x0d\xde\x6e\x6d\x1e\xaf\xec\x64\x3c\xd1\x6f\x34\xdd\x29\x6a\x6d\x32\x59\x44\x6a\x15\xb1\x6f\xdd\xec\x0c\x39\xb4\x38\xf1\x03\x25\x47\x10\xf5\x74\x73\x12\x5b\xaa\x5d\xa7\x9d\x7f\x4c\xa4\xb5\x08\xfd\x84\x72\x49\xd8\xd8\x36\xb0\xa9\x7d\x8b\x95\x07\x99\xa0\x6b\xe3\x22\xc1\x44\xb2\x12\x9d\xeb\x60\x34\xb5\xd8\xeb\x06\x3c\x97\x86\x18\x6f\xb7\xf4\x49\xec\x86\xc7\x9e\x2c\x97\x40\xcd\x78\xd4\x74\xfd\xb3\xf9\x09\x34\xcf\xfc\x73\x14\x29\x18\x8e\xf8\x05\x36\x57\x38\x84\xf8\xbe\x2c\x1e\x7c\x1a\xb6\x5c\xd0\x61\x74\x74\x8b\x29\x7e\x73\x86\x94\xe0\xef\x47\xfd\x84\x0a\x57\xf3\x57\xb8\xa7\x98\xe3\x7b\x9c\x1b\x12\xb4\x85\x7d\x45\x36\xb1\xe2\x78\x11\x7f\x67\x2d\x8d\x21\x22\xb5\xf1\x52\x4d\x4f\x23\x23\xe7\xbf\xe7\x3a\xbe\x10\x92\xbf\x28\x5a\xcf\xe4\x49\xa6\xf4\x4d\x46\x85\x1e\x8b\x1f\x3b\xc4\xda\xa9\x65\x2d\xee\x2b\x40\xd7\x76\xf9\xe6\x9b\x32\xad\xf3\x9a\x95\x0e\x9b\x5b\x75\x40\xc0\x6e\x25\xea\x4b\xed\x47\xbb\xd1\xd5\x29\x50\x40\x5a\xe5\xf7\x90\x30\x51\x59\xf1\xf0\x0f\xeb\x14\xb6\xf4\x27\x35\xfa\xa8\xc1\xe2\x53\xaa\x8b\x25\xe6\x99\x0e\x87\xd1\x92\x82\xfe\xc6\x25\xaf\xbd\x08\x10\x72\x71\x7a\xf7\x55\x36\x6b\x08\x90\x87\x99\x2b\x9b\xb4\xe0\xcb\x7f\x94\x6b\xef\x33\xb6\x85\xe4\x77\xca\xe6\xab\xc3\xd0\x12\x68\xe5\x47\xf0\x17\xa5\xf8\x07\xd1\x62\xbd\xcb\xce\x37\x19\xe9\x5c\xde\x13\xe7\x62\xf8\x90\x1b\xf8\x12\x2f\x2b\x49\xde\xed\xa3\x8e\x9b\xeb\x43\xf7\xb8\xe7\x29\xac\xcf\x01\xda\xd8\x7e\x53\x8c\x3a\x45\x62\x3c\x72\x5e\x48\x94\xb2\x02\x07\xbb\x35\xf0\xc8\x85\xa9\x42\x2a\xf7\xd1\x22\x12\x5f\x49\x9e\x0e\x8f\x1b\x68\xb2\xf2\x43\x5a\xcc\x42\x0f\x2f\x5b\x0e\x06\x97\x99\x3e\x2a\xfe\x13\x98\x19\x67\x41\xdf\xc7\x78\x2f\x73\xba\xf0\x94\xde\x58\x04\x1d\xf9\xfb\xaf\x44\x11\x44\x4e\x8c\x8a\xd3\x15\x8a\x0a\xcd\xbb\x6e\xa9\xf9\xa3\x90\xd4\x72\x80\x7a\x42\xaf\x08\xba\x43\x92\xbb\x31\xbc\x08\x25\xd8\xec\x51\xbf\x73\x99\x39\x02\xd8\x5f\x55\xec\x50\x29\xe4\x1b\x02\x4c\xdc\x51\xde\xb7\x4b\x63\xcf\xc4\x92\x2a\x8a\x0d\xe1\xba\x95\xca\xe4\xfe\x19\xb7\xf1\xf3\x07\x72\x0f\x17\x34\x7b\x04\x94\x37\x34\x3d\x2a\x5d\x21\xe5\x76\x8c\xec\xc0\x9a\xa3\x78\xeb\x55\xca\xaf\x37\x38\x6b\x3c\x0e\xc7\x79\x27\x42\xbc\xbe\xf6\x14\xb3\x04\x71\x73\xe6\xdc\xc5\x59\xc1\xd9\xcd\x8f\xa8\xd3\x96\x7f\xa9\x54\x67\x69\x43\xa8\x16\x11\x9a\xad\x2f\x1d\x3e\x61\xea\xf7\xe7\xbc\x16\x0c\x20\xfb\xe8\xfa\x0e\xdb\xa6\xfe\x56\xf5\x24\x3d\xb4\xfc\x39\xd7\x4c\x9a\x15\x8c\x9a\x5b\xaa\xc5\x8f\x05\x89\xe0\x6a\xbf\x7f\x77\x78\x33\xb9\x97\x6e\x45\x6f\x62\xd9\xa7\xa0\x8c\xe4\x99\xad\xee\xdd\x2e\xc7\x46\x3f\xf5\x29\xac\x1f\x38\x06\xc6\x34\x31\x71\xc9\xf5\xd5\x0e\xb4\x1c\x16\x07\x3d\x1a\x43\xa2\xcb\x32\x39\x3d\x87\x8a\x12\x1f\x76\x82\xed\x0b\x03\xbd\x95\x5f\x81\x1c\x5e\x59\xde\x16\x4f\xe1\x7e\x6f\xc4\x7f\x4b\xb7\xa0\x3e\x44\x52\x2b\x95\x18\x5f\x94\x98\xdf\x50\x03\xd1\x12\x76\xaa\x01\x17\xa1\xe8\x77\x05\xcb\x9c\xd3\xdf\xe8\x30\x0b\x3d\x39\x98\xa1\x5c\xf9\x58\xb3\xd0\x1c\x53\x58\x53\xe5\x0b\xba\x78\x1e\x45\xb6\x9a\x7d\x9f\x41\xdb\x0b\x74\x9f\xad\x7b\x47\x57\x5a\xfa\x76\x71\x41\xef\xf7\x36\x92\x12\x67\xd2\x30\xcc\xb7\xec\x7e\xbc\x1d\x0c\x78\x0e\xf2\x0a\x55\x0e\x77\x75\xdd\x9c\xe8\xfa\xda\x07\x0a\xf7\x1c\x45\x53\x20\x16\x37\xdd\xec\x5d\xaf\xc5\xea\x48\x73\x0d\x90\x65\x5f\x86\x50\xc7\xe1\x8e\x04\x23\x94\x48\xf9\x6f\xab\xeb\xea\xdc\xdd\x6d\x6b\xf4\xa6\x5b\x22\x64\x3c\x20\x13\x02\xa7\xef\xce\x11\x47\xb2\x21\xc5\xdc\xb2\x0e\xe3\xb3\x8b\xfb\x5f\x73\xa7\x8c\xa5\xfc\xdc\xec\x4b\x90\x4b\xfb\x4c\x96\x20\x2e\x6e\xd1\xc1\x86\x07\x08\x13\x5c\x70\xc5\x25\x96\x8e\x86\x75\xe4\x03\x2f\x92\xf2\x16\x16\xbd\xb8\xa2\x8f\x25\xda\x47\x78\xbe\x7c\xe5\xcd\x60\xf5\x2c\x4d\x63\xfa\x1a\x7a\xb8\xe7\xbe\x21\x94\x6c\x28\x11\xf1\x27\x17\xe1\xc3\x93\x21\xe2\xc9\xae\xb1\xc3\x3b\xc2\x70\x46\x52\xf7\x1a\xc4\x66\xf4\xe8\x1e\x65\xe9\x98\x89\x42\x05\x45\x0b\x9c\x4e\x7e\xfa\xe8\x9b\x0c\x9e\xf8\x5c\xe7\x00\x96\xf1\x49\x6d\x2c\xc4\x13\x58\xa6\x5e\x96\x36\x35\x77\xea\xed\x78\x91\xf3\xf9\x92\x57\xaf\xe7\x62\x4f\xa6\x55\xe6\x3a\x7b\x06\x7b\x63\x4f\xb9\x9c\x2a\x45\x49\x8b\xa9\xad\xba\x57\x28\x51\x86\x9d\x3d\xda\x7a\xf9\x45\x58\x79\x59\xba\x2b\xc4\x8b\xbd\x86\x39\xd3\x6d\x53\x0c\x79\xd6\x65\xc3\xf5\x43\x33\x6e\x61\x30\xd1\xde\xbb\x52\x99\xbb\x75\x3f\x4c\x0e\x06\xd2\x6e\x86\x99\xfd\xfd\x83\xad\xae\x9e\xe6\xb0\xdf\x84\x50\xea\xd8\x02\x74\x32\x23\x5a\x98\x2a\x3c\xfa\x93\x5e\x8a\xe5\x72\xe7\xd5\x61\xd5\x05\xaf\x95\x76\x6c\x53\x6a\x38\x21\x48\x5c\xac\x55\x2f\xcc\xa6\xf4\x52\xcf\x84\x5c\xc1\x36\x13\x2b\x58\x6d\x1f\xea\x9b\x34\xc9\xc0\xcc\x9e\x5e\x0c\xc4\xff\xf2\x1b\xbc\x2b\x40\xaa\xbb\x11\x12\xb9\xec\xa0\x9e\x91\xcd\xc7\x0e\x1f\x39\x76\x2e\xff\x91\x50\x7b\x33\x34\x91\x98\x70\x4b\x24\xa6\x91\xa2\xef\x13\x7f\x8a\x8d\x73\xa1\x33\xc3\x02\x60\x84\x7f\x7b\x15\x11\x48\xc3\x87\x3b\x44\x90\x84\x7a\xa9\xa3\x3c\xff\x91\xba\xf4\x74\x4b\xa5\xde\x81\xa5\x13\xe7\x55\x54\x3b\xb8\x93\x1e\xdf\xb0\xde\xa4\xb2\x8c\x0c\xd3\x2e\x1a\xd2\x45\x07\x85\xd9\xff\x5c\x1a\xbd\xef\xa1\xc6\x8d\xfd\x46\xf2\x17\x9d\x76\x8f\xc4\x68\xfd\x5d\xe5\xef\x6c\x31\x21\x14\x3d\xe3\x40\x55\xfa\x28\x2a\xf1\xba\x0b\x7e\xa0\x33\x87\x3b\x32\x08\x4c\x66\xe0\xaa\xc3\x8b\xc5\x3c\x26\x87\xc5\x40\xd3\x38\x08\x92\x44\x26\x46\xe6\x09\xec\x16\x38\xd8\x38\x96\x8a\xe4\x07\x94\x77\x7c\x13\xbb\x5c\xc0\x77\x23\x48\x21\xa7\xec\x62\xec\xbb\x6a\x92\x7c\xbe\x57\x65\x3b\xa1\xbd\xc7\x99\x90\x44\x60\x51\xae\xdc\xfa\xa1\x95\x98\x15\x74\xe3\x31\xce\xd0\xad\x2f\x60\xfc\x6c\xa9\xeb\x94\x27\x1a\xa3\x2c\x93\x0c\x8b\x84\xfc\x55\xfe\xc6\x47\x47\xfe\x77\x24\x36\x6b\x89\x67\x6b\x91\xed\x20\xeb\x81\x73\xc8\x59\xe8\x84\x64\xc9\xcf\x36\x1a\x56\x03\x69\x4c\xc0\xf8\x7b\x87\x6e\x46\x6b\x31\x9a\x75\x3d\x31\x5c\x11\x7b\xa0\x88\x77\xea\x7d\x66\x2c\xe1\xf3\x77\xb9\x0d\x1b\x42\x74\x65\x21\x35\xf0\xa0\x2e\x55\xca\x04\x65\x83\x5c\x91\xf2\x23\x63\xfd\x82\xed\x6f\x61\x5b\x66\x78\x6a\x3e\x70\xc6\xc4\x45\x43\xc5\x94\x38\xba\x73\x95\x90\xd2\x6f\x0c\xd3\x62\x09\xd6\x4f\xff\x4f\xef\xf4\x7d\x03\x99\x2e\x7f\xe3\x06\x9c\xe7\x72\xa0\xf3\xd6\x69\x8f\x59\xa1\x5b\x74\x8f\x79\x67\xad\xd2\x1f\xe6\x99\xe5\x2e\x8a\x2d\x24\x09\xf0\x8f\x2c\x55\xbd\x0b\xa9\x00\xe2\x08\x42\x22\xc6\x35\x15\xf6\x8a\xb8\x6a\xf8\x24\xd5\xba\xfb\x15\xd5\xba\x7b\x8d\xc3\xfe\x24\x3e\xc4\xdc\xd9\x71\x7a\x34\xc3\x5d\xa9\x0e\xcc\x33\x7a\x0e\x9a\xb1\xc3\x77\xd3\x4c\xf9\x2e\x84\x8c\x7a\xb0\x7f\xc9\xc6\x28\x08\xfe\x5f\x18\x47\x7d\xaa\x64\x16\xee\xe2\xa8\xa5\xb1\x61\x01\x42\x2f\x28\x28\xe7\xad\x79\x90\x3d\xf0\x53\xd7\x98\xd2\x1f\xb5\x5f\xea\xa4\xf8\xd7\x9c\x08\x96\x16\xe5\xdd\xe6\xf3\xae\xff\x43\x30\x22\xb1\x9f\x6e\x77\x92\xe6\xae\xdf\x11\xa8\xfa\xf7\xdf\x18\xef\xa1\x74\x4e\xbb\xb7\x45\x6a\x7f\xc5\x5b\xaa\x9d\x63\x6b\xe6\x3d\xe7\x19\x6a\xdf\xdf\xf8\xaa\x91\x09\xa3\x8b\x5e\x18\x07\xfc\x27\x58\xb9\x8c\xfb\xf4\xf2\x73\xd9\x2f\xd5\x9b\x0c\x95\xed\xb2\xca\xd9\xde\xdd\x33\x25\x39\x37\xd5\xed\xc5\xeb\x83\x13\x27\x0b\xbe\xc9\x1a\xbe\x09\x52\x1a\x9a\x90\xfe\x4f\x53\xc4\xfc\x76\xc6\xb6\xdd\x6d\x95\x39\x71\x63\x53\xa3\x77\x41\xa2\x9d\xd4\x33\x4f\x95\xd3\xb5\xd6\x59\x05\x59\x01\x5e\x9d\x17\x7a\xce\x02\x2d\xc7\xb7\x05\x34\x27\x75\x3c\x7b\x6d\xd2\x87\xe6\x74\x59\xe0\x8a\x9a\xad\x31\x60\x98\xf3\x12\xbc\x07\x14\x26\x56\xe2\x04\x19\x1f\x9f\xbb\x4b\x25\x50\x34\x13\x11\x97\x6b\x29\x30\xaf\x9f\xe6\xce\xe6\xfc\x88\xbe\xfa\xcd\xca\xb9\xb5\x22\xf2\x39\xda\xf8\x8b\xb9\x42\xee\xfd\x07\x30\x55\x73\x78\x41\x25\xf3\x42\x91\x14\x26\x6e\x1a\x3c\x62\x49\x49\x66\x18\xc3\xfa\xa8\x5b\xea\x8c\xd8\x57\x4e\x52\xf6\x1e\x4f\x9b\x6d\xa4\xa7\x96\xa9\x02\xdd\x94\x75\xf7\xd1\x81\x47\xae\x94\x27\xa4\xaf\x7d\xc0\x27\x04\x85\xb8\x3c\xb8\x10\x86\x7e\xee\x25\xa7\xa2\xb5\xaf\x79\xa7\x28\x16\xe0\x7d\x1f\x53\x0c\x02\xa2\xc3\x6d\x55\xce\x49\x27\x5a\x2b\xd9\x7f\xee\xeb\x36\x54\x1c\xf5\x47\x07\xf3\x9d\xcd\x44\x48\xdd\xa7\x4c\x39\xcd\xe2\x6c\xea\x30\x0d\x88\x94\x7e\x32\xd1\xe7\x0a\x33\x17\xd2\x69\x2a\x4b\x2b\x2f\xef\x57\xaf\xab\x87\xc9\x93\x84\xb3\x19\x84\x35\x51\x32\xa8\x09\x28\xef\x80\x8e\x00\x90\xb4\xb2\xfe\x13\xa2\x32\x45\xea\x4a\x11\xb2\x89\x0d\x48\x01\x20\x01\x90\xa6\x98\xf0\xe6\x75\x43\x14\x37\x24\x75\xd1\x77\x7f\xf1\xc7\xea\x5d\xcd\xfa\x63\xd4\x43\x8c\x8b\x25\x9b\x28\xdd\xde\x2c\xfe\x91\xe5\x04\xbf\x07\xa6\x67\x72\x55\x7e\x0a\x91\xf3\x6a\xc1\x19\x6f\xf8\xf6\x4f\x44\x10\x66\x05\xc2\x3f\xe9\x82\x7a\x92\x1c\xb4\xf0\xfb\xe6\x0a\x89\x09\xf8\x92\xae\x26\xed\x2b\x5c\xfb\xa4\xa2\x13\x69\xf6\x77\x67\x2e\x25\x21\x1e\x9e\x5a\x92\xd9\xe3\xdd\x42\x5f\x45\xc6\xd6\x76\x4c\x8e\xe6\x68\xf8\x26\xaa\x03\xf6\x56\x78\xfc\xb1\x66\x90\x22\x33\xfb\xab\xfc\x6f\x25\x97\x23\x98\x64\x34\x35\xa0\x60\xbf\xbc\x72\xf6\xb0\x38\xed\x1b\x62\xc6\xc6\xc3\xab\x2c\xf7\x1d\x58\x12\xab\x75\xee\x07\x9d\xb5\x98\x31\x42\xb6\xc2\x77\xb7\x35\x36\x2d\x13\x34\x6e\xca\x5b\xd7\x06\xbf\x1c\x6a\x7e\xa1\x8e\x27\x14\x1e\x5b\x4d\x70\x99\x7f\x2f\xe4\x62\xff\x4c\xd2\xd1\xa6\x7d\xca\x11\x0f\x8b\xc8\x5f\x01\x6a\x4d\x01\x97\x31\x60\xff\x40\x7a\x0e\xf4\x6f\x8d\xe0\xcf\xb3\x25\xbf\x22\x21\x9b\x17\x75\x5a\x92\x20\xbb\xf0\x17\x37\x68\x57\x09\x20\x88\xbe\x03\x61\x43\x8e\xea\x0e\xf9\xd1\x15\xf6\x76\x0b\x7f\x59\x07\xe5\xd6\xb1\x4d\xb6\x79\x08\x95\x34\x5e\x34\x5b\x33\xa8\x1d\xb5\x4f\x89\x14\xe6\x43\xa4\xc0\x96\xa4\x15\x32\x8f\x56\x67\x46\x1e\x3a\xa1\xdd\x5b\x12\xbf\xe0\xf2\x13\x5a\xa7\xc9\xaf\xa4\x8e\x39\xe2\xb4\x9f\x9d\x25\xd5\x36\x53\x03\xbe\x06\xb2\x09\x29\xc6\x8a\x4a\xbe\x1d\x6c\xa0\x61\x18\x6c\xed\x98\xaf\x74\xb8\x3b\x85\x99\x47\xb8\xbd\xca\xa1\x8c\xaf\x91\xbe\xa6\x01\xb2\xe9\x9c\x1f\x81\xf3\xd6\xe2\xee\x1c\x9e\x0b\x30\x70\x69\x4e\x1c\x29\xd6\x64\x57\xa7\x77\x6b\x29\xf0\x8b\x97\x87\x9b\x3c\xe0\x3e\x96\xfc\x22\x05\x93\x12\x9d\xf8\x83\x7e\xb6\xf7\x8b\x66\x93\xcb\xdc\x33\x33\xb5\x9f\x2a\x22\x08\x70\x89\x76\xca\x8a\x2c\x41\x9e\x3e\x24\x97\x03\xae\x2a\xfb\xe5\x16\x77\x95\x19\x61\xb1\xfb\x7d\xd3\xcb\x92\x21\x97\x35\x3c\x7c\x69\xe9\xb8\x2b\x30\xcf\xc4\x32\xbb\xb1\x3a\xf2\xa1\xab\xe6\xa8\x26\x5b\x4a\x13\x61\xd4\x1c\x56\x6d\xf7\x5c\x5e\xb9\xe8\xd7\x06\xcf\x9d\xcd\xdc\x6f\xd6\x8b\x3e\xf6\x2e\x92\x49\x38\xed\xaa\x5b\x52\xc6\xd2\xe0\x8b\xf7\xe3\xa0\x56\xc4\x32\xd5\xfa\x26\x1c\xd5\x68\xc6\x92\x1c\xe5\xc9\x4e\xad\x55\x10\xc5\xd8\xdb\xb3\x3a\xfc\x8c\xba\x9e\x54\xed\xa2\x1a\xde\x74\x13\x12\xa8\x2a\xd8\x8d\x98\x46\xd0\x17\x2e\x9a\x3a\xfd\x18\xd2\xb1\xe4\xa3\x2f\x1e\xd1\x44\x3f\xeb\x6f\x04\x56\x79\xb7\xe3\x68\x2a\x8d\x61\x3a\x13\x70\xcf\xf1\x53\x90\x4d\xed\x0e\x6a\xde\xfd\x34\xb2\xb3\x2a\x49\x4e\xa3\xb4\x19\x40\xae\x6f\x4f\x7c\x3d\x5b\xeb\x3c\xb5\x79\x3d\x83\xd1\x28\xd9\x30\xbb\xd7\x41\xf0\xcd\xbc\x7a\x0f\x32\x1c\x91\x69\xe6\xe2\x22\xef\x95\x45\x50\x99\x98\x6e\x78\x17\x32\x98\x39\x13\x0f\x92\x5d\xd2\x6c\x05\xa4\x44\xe8\xc2\xbc\x6c\xf0\xbb\x64\x0d\xc0\x84\x69\xc8\x7c\xeb\x47\xc6\xf9\xcf\x09\x61\xa4\xf5\xd6\x01\xa9\xf8\x77\xec\x9b\x90\x94\x48\x43\x77\x39\x13\x8f\x42\x82\x4c\x99\x14\x5b\x23\xe7\x84\x2e\x2a\xdb\xec\x12\x09\x97\x4d\x84\x05\x10\xb6\x33\xaa\x38\x8e\x59\x7b\x88\x1a\x49\x45\x9e\x95\x71\x56\x26\x76\x59\xbb\x70\x73\x58\xa8\x29\x7b\x62\x59\x36\xd4\x9f\x31\x51\xe8\x64\x71\xe9\x70\x98\x0e\x44\xb5\x1c\x26\x58\x52\xfd\xe0\x6d\xb9\x36\xfa\xaf\xa9\xe5\x76\x97\x53\x3d\xbb\x6a\x7c\xc9\x3d\xde\x44\xde\xe2\x54\x76\x48\x77\xc2\xee\x39\x2d\xe4\xf0\x40\xfe\x0e\xbe\x98\x0d\x94\x6e\xe7\xf4\xe2\xaf\xe5\x1b\xaa\xf4\xc3\x26\xac\x61\xce\x1b\x23\x50\x44\xfb\x75\xef\xe7\x7b\xe7\x56\x69\x80\xd4\xcc\x20\xe1\xbf\xb9\xd9\xb5\xd7\xb1\xd7\xb1\x85\x72\x9c\x9a\x02\xe2\x4b\xdf\x06\xd8\xfd\x52\x8b\xb0\x85\x90\xbf\xc1\xb9\xe1\x96\xe5\x89\xee\x17\x4e\xae\xb2\xcf\xb2\xb0\x63\x2b\x72\x63\x57\x9b\x20\xe9\x0e\x03\xf7\xa8\xf8\xde\x9c\xda\x66\x0b\xc7\xdb\x72\xa6\xed\x15\xa1\x80\xf3\x9c\x8e\x29\xd1\x0e\xf0\xce\x01\x4b\x87\x81\xd3\x33\x77\x9b\xaf\xf9\x85\xaa\x2e\x61\x8f\x6b\x3a\xf0\x68\x4d\xcc\xb3\x78\x31\x35\xa7\xb3\x2c\xe0\xeb\xea\x72\xb5\x26\xc3\xbc\x7e\xbe\x13\xe1\xcc\x00\xef\x55\x52\x34\x02\x21\x4f\x09\xd3\x0a\xbd\x72\xfe\xfb\x37\x4d\x49\x47\x95\x5d\x75\x84\x4a\xde\x99\x90\x02\xf1\x98\x58\xbf\x83\x89\x99\xf5\x20\xf7\x94\x89\xeb\xaf\xa0\xcd\x80\xfc\xb7\x49\x3f\xf6\x81\x75\xef\x37\xe6\xde\xa7\x6f\x04\xe9\x92\xfc\xa1\x89\xd5\x4a\xa7\xf1\xc5\x7a\x49\xe3\xea\x35\x34\x90\x26\x42\xf3\x8b\xe8\xec\xd9\x2e\xb2\xc8\x38\x87\xc1\x93\x27\xd6\xd6\x82\xe5\xc2\x81\xd5\xca\xce\x3d\x8c\x1b\x5b\x2b\x25\x5f\xb3\xea\xbf\x1d\x38\xc7\x96\x49\xa6\x9c\xb8\x1e\x95\x58\x41\xf1\x53\x25\x3f\x66\x37\x21\xfb\x9c\x49\x4c\x38\xab\x64\x10\xce\xf5\x48\x41\xb4\xf4\xee\xd8\x2d\x6c\x3d\x41\xec\xea\x26\xb4\x68\x22\x1f\xa4\xd3\xc5\x3c\x6f\x3f\x9f\x62\x8f\xf5\xc7\xbc\x9f\xd7\x3e\xba\x6b\x61\x50\xf9\x58\x68\x0a\x09\x04\x0e\x37\x17\x20\x88\xe8\x19\xcc\x38\x96\x39\xab\xba\x35\x80\x46\x0c\xd3\x4e\x96\xd3\xe8\xf4\x0f\xe7\x4d\x4a\xc2\x1e\xe3\x35\x0d\x52\x4d\x1d\xcc\x4b\x8a\x2b\xd6\xcf\xbe\x44\xe8\xd3\xdf\x25\x61\x64\xec\xc6\xe0\x29\x94\xbc\xf1\xce\x49\xf8\x64\x2b\x3c\xa0\x26\xe3\xb1\xfc\xf2\x0a\xf8\x0b\x92\xde\x10\xf3\x07\x50\x61\xbd\x91\xd4\xd0\xe3\x01\x6f\xdf\x5c\xa1\xa1\x23\x22\xfd\x8b\x0d\x07\xc7\x1b\xa5\x94\xa8\xf8\x84\x10\xeb\x38\x68\x77\x68\xe1\xdc\x2a\x52\x29\x10\x53\xc7\xc6\xdd\x97\xa3\x65\xc6\x6f\x2f\x29\x78\x18\x84\xa4\x72\x5f\x0b\x6b\x8c\xd9\xe5\xf4\x3f\x95\x2d\x80\xf9\xb8\x28\xfa\x8b\x12\xba\xff\x90\x1c\x2d\x27\xeb\xcb\x23\x20\x37\xa5\x70\xb2\x31\x0b\xff\xfd\x30\x2c\xd8\x1a\x1e\xce\x70\x2c\x10\x1a\x11\xde\x13\x24\x43\xf9\x0e\xb5\xe1\x47\x8e\x89\x89\x30\xb3\xd8\xdb\x31\xe9\x2c\x00\x14\x1b\x10\xe7\xb8\x26\xe5\x64\xeb\x2b\xd3\xd1\x06\x9d\x42\x1f\x01\x60\x00\x42\x18\xff\x56\x11\x9b\x57\xac\x6e\xa6\x44\xe2\x2a\x62\x10\xd4\x30\x68\x5f\x24\x10\xd5\xff\xc8\xba\xe1\x37\xf3\x91\xfb\x55\xae\xa1\x2c\x77\x51\xa4\x81\x62\xe4\x23\x4d\x2a\x0e\x27\xcf\x96\xd2\x8b\x35\x0e\xef\xce\x96\x34\xbf\x14\xdf\xb3\xa9\xd7\xc5\x64\x80\x99\x6f\x9b\x63\x6e\xdc\xf4\x27\x21\x79\xca\xc7\x27\xdf\x8c\x6e\x94\x0d\xe8\xbd\xf1\x69\x2b\x02\xe4\x6b\x7d\x65\x97\x12\x22\x20\x7a\x0d\xe2\xcd\x2b\x1d\x59\xfb\x51\xdf\x1f\x43\x59\x06\xd8\xfd\x73\x20\x13\xc5\x22\x9b\xd5\x3d\x2b\xbe\xcd\xd2\x3b\x67\x69\x7c\x6b\xa2\x8f\xfb\xc5\x33\x17\x18\xba\xda\x5c\x8f\xa3\x74\xf3\x16\x3a\x52\x4d\xe0\x72\xbb\xe5\xd8\x16\x09\x91\xf3\x5b\x3e\x36\x2a\x20\x3a\x20\xfa\x6e\x66\xef\xe7\xba\x0e\xb9\x1f\x46\x24\xf5\x12\x84\xf3\x83\x62\xbf\xaf\xed\x23\x68\xcc\xbf\x72\x7b\xdc\xa6\x5f\xac\x0f\x97\x59\xd3\x5a\x90\x1f\x6d\xea\x43\x75\x04\xda\x93\xe0\xff\x23\xe5\xac\x82\xe2\x70\xf6\x36\x8d\x84\xe0\xee\x10\x24\x04\x08\x0e\x81\xe0\x1e\x1c\x32\x78\x60\x70\x67\x70\xd7\xc1\x42\xd0\x04\x0b\xee\x6e\xc1\x61\x70\x08\x2e\xc1\x75\x06\x97\x60\x01\x06\x9f\x01\x82\xb3\x75\xfe\xf5\xd5\xee\x39\xb5\xe7\x6a\xb7\x9f\x8b\xae\xb7\xab\xfa\x77\xf3\x76\xf5\xe5\x03\x25\xe9\xdd\x03\xc0\x2d\x75\x92\xeb\xd2\xd2\xe3\x68\xee\x40\x6c\x26\xc4\x5d\xaa\x6c\x86\x24\x6f\xf2\xe9\x23\xfd\x28\x2a\x8c\x99\xa9\x34\x08\xe5\x84\x08\x7a\x44\xb8\x7f\xdb\x8a\x05\xc0\xc3\x74\x12\xe6\x1a\x0f\xb2\x7e\xb8\x52\x3c\xbe\x17\xcb\x99\x1f\x5f\x63\xa7\x8c\x2f\x1d\x27\xd2\xb7\xfc\xc9\xe4\x3d\x64\xef\xdd\x6a\x17\x1f\x1f\xdc\x65\xbd\x33\x76\x78\xcc\x72\x5f\xc7\x50\x07\xfb\x90\xd0\x70\x8f\x94\x05\xe0\x78\x4e\x6e\x2f\xeb\x2b\xf3\x80\x7c\x9e\x59\x6e\xf7\xdf\x3f\xa6\xed\xf8\xdc\x70\xb6\xe5\x94\x9f\x4b\xf6\xf7\xe0\x9c\xc3\x74\xe0\x4a\x51\xd3\x31\x0e\xfa\xca\x21\xfa\xbd\x7f\xe8\xf6\xbd\xa5\x22\xd2\x42\x42\x8c\x9e\x3f\x04\x18\xed\x7b\xdf\x8f\xb6\x78\xc2\xc4\x9d\x2c\xb2\xc1\xd9\xf6\x17\x30\xac\x75\xfd\xcd\x1a\xa8\x31\xb8\x6b\x78\x4f\xee\x7c\x37\x6c\x75\x21\xb0\x34\xcf\xd8\xb6\xb5\x2a\x7f\x11\xc5\xcb\xa6\xa7\x83\xf5\xb9\x7d\x33\x95\xf3\xc3\xa3\x63\x5c\xd5\x01\xaf\xd7\xf7\x1e\x9c\xe9\x57\xb8\x72\x84\x80\xef\xe1\xd8\xbc\x32\x24\x3a\x03\x52\xba\xce\x38\x0d\x4a\xe6\x3e\x77\xe6\xd2\x4f\x71\x95\xc5\x97\x4f\xa8\xcb\xe4\x4a\xc3\x24\x6c\xcb\x5c\x60\x4b\x26\x5c\xd8\xfe\xb9\x4d\x4b\xdb\x83\xec\xc6\xa2\xec\x86\xfd\xef\xe7\xce\xa6\x2c\xe1\x99\x79\x82\x43\xad\xd0\xbe\x1f\xda\x12\xc3\x4c\xf6\x05\xc0\x82\x16\xb1\x36\x95\xb5\x18\x36\x8b\x28\xbd\x90\xee\xeb\x1c\xda\xbb\x9d\xb2\xf1\xfd\x72\xf1\xf7\x98\xda\x74\x87\xb7\xe9\x48\x93\xa0\xf4\x69\xca\x9c\x63\xd3\xa7\xad\xaa\xe9\x77\x6b\x3e\xa7\xd0\xe6\xb8\xa7\x95\xdb\x74\xe1\x1c\xe8\x98\xe4\xb2\xdb\x6d\x60\xb9\x11\xb5\xea\x54\x4f\x8e\xcd\x49\x7f\x73\x00\x7b\x0d\xa5\xcd\xda\xc3\xfa\xc3\x9b\xd8\x30\x7b\x1b\x5b\x3e\x64\xa6\xda\x39\x99\xea\xb6\x3b\x84\x89\xe3\x5a\xf1\x4d\x35\x29\x5b\x45\x9b\x12\x96\x83\xaa\x62\x9c\x1d\x6a\x6c\x5b\x14\xf0\xe0\xcd\x6c\x74\xeb\x36\x46\xf3\xf7\xe2\x0b\xfa\xf5\x38\xc7\xac\xee\x74\x2c\x41\x05\xa8\x76\x89\xe6\xe4\x54\x0c\xed\x4e\x24\xb6\xa9\x1b\x43\x81\x5c\x85\x8d\xeb\x33\xfc\xc4\x26\xe2\xb3\x58\xea\x7e\x5d\x80\xd0\xc8\x6a\xf5\xe4\xab\x33\x41\xe8\x64\xae\x67\xe2\xd0\x70\xa6\x48\x0c\x70\x1a\x57\x4d\x68\xf1\x5c\xcf\xe8\xfb\xbe\xe4\xcb\xfd\xe5\x20\x3d\xce\xb8\x67\xbb\xc9\xf2\xc5\xde\x4d\xd5\xd8\x6c\xa7\xd9\xed\x58\x43\xc3\x6c\xc1\x91\x4d\xfd\xc4\xaf\x0d\x29\xe2\x64\xb5\x4f\xba\x8f\x87\x91\x36\x55\x7a\xdc\xab\x32\x2b\xca\xb4\x91\x70\x95\xf3\xe5\xa3\x6a\xfa\x29\x79\x09\xca\xc9\x4c\xa3\x5f\xec\x0b\xdf\x27\x7b\x37\xa7\x17\x9c\x4c\x2d\x07\x80\x36\x88\x65\x75\xf5\x86\xf0\x6a\xa6\x10\x34\x35\x93\x62\x99\xd8\xb0\x45\xcb\x6f\x15\x59\xe3\xd2\x3c\x7f\x94\xff\x2a\xe3\x80\xc0\x40\x8b\xe1\xf3\x99\xe5\x24\xd9\x53\xd2\xe8\x20\x80\x06\x46\x99\x0d\xc1\x23\xb0\xff\x41\xb9\x5c\x3d\xd4\xa3\x60\x06\xb9\x92\xaf\x4f\xf8\x43\xfc\xc2\x8e\xc8\xeb\xa2\x13\xe4\xe5\xa5\x71\xed\xef\x2d\x20\x99\xd6\xff\xc0\xb1\x58\x72\x3a\xb1\xb7\xd4\x53\x20\x87\x5a\xd0\xaf\xa8\xe4\x69\x27\xaa\x7a\x3a\xd9\x65\x58\x4f\xcb\x9d\xe2\xf8\x25\xc9\xe4\x23\x37\x2c\x98\xd0\x6e\xca\xde\xbe\x90\x07\xfe\x5e\x74\x52\xcb\x43\xb0\xec\xa2\x4b\x85\x4b\x6f\x3d\xf9\x39\xc2\xd4\xc1\x96\x30\xa5\xd3\x2c\x08\xca\x95\x7c\x52\xad\x25\x24\x3d\x21\xb8\xf7\xac\xae\xb7\x1f\xd2\x37\x0d\xc3\xd9\xc8\x1b\x8f\xab\x34\x58\xce\x51\xcf\xde\x63\xb1\x01\x8f\xaf\xb9\x0f\xff\x38\x93\xea\x33\x3c\xc0\x2f\x48\x56\xf7\xba\xf8\x36\xff\x2e\x8b\x11\xc5\x02\x0f\xc6\x82\xfa\x94\x27\x79\xc0\xe8\x3f\x6d\xb7\x91\x59\x55\x85\xaf\xdc\xd6\x97\x3e\xae\x1a\x6a\x78\x9d\x25\xfd\x88\x6d\xd7\xe5\xe3\x91\xe3\x38\xd6\x27\x43\x4b\xb7\x47\xe7\x3c\x69\x60\x5e\x6b\x6a\xef\xe2\x79\x0e\x57\x34\x4e\xe1\xb8\xc6\x0a\xfc\x98\x03\x7e\xcd\x2b\xdd\xca\x4e\xc6\x96\xcc\x87\x3b\xba\x8d\x43\x0e\xd0\x79\xcf\x96\x35\x92\x6e\x47\x7f\xbe\x14\x00\xe9\xc8\x4c\xfa\x73\xc1\x7d\xfa\x76\xd1\x2e\xfe\xcf\xd7\x23\x57\xb8\xf0\xbd\x95\x1c\xf5\x5c\x1e\xf5\x98\x34\x61\x8c\x10\x64\xfb\x22\x09\xf2\x36\xd0\xdb\x92\x2a\x1a\x56\x2c\xd3\xf4\x14\x37\xf1\xba\xd1\xf2\x71\x20\xb3\xb0\xf0\xa1\x73\xc6\x36\xc0\x0b\x7c\x83\x15\xf1\xee\xd3\x9c\xac\xb4\x64\xac\x4c\xce\xd6\x16\x36\x06\xb5\x17\x4b\xc6\x6e\xea\xd7\xde\x89\x3d\x14\x7b\xef\xac\x64\x23\x7c\x75\xc4\x88\xfd\x96\x7c\x3f\x6e\x43\xb4\xd2\xba\xae\xcc\x37\xb1\x69\x37\x72\x89\x07\xb6\x2b\xab\x79\xe0\xe1\xe8\xf0\x27\x67\xb4\x38\xfe\x95\xe9\x06\x61\x70\xf6\x8a\x06\xe2\x04\x60\x7a\xad\x38\xdd\x64\xf0\xc9\xd6\x57\xc9\xf3\xa1\x2f\xf9\x4d\xa2\x97\x58\x3f\xef\xd7\xca\xb0\xd4\x96\xa9\xbd\xe0\x06\x0d\xcf\x0d\x93\xe6\x5f\x8a\x8b\xcf\xd3\xfb\xeb\x89\x75\x79\x6c\x77\x0f\x6c\xa6\x23\x94\x31\x7d\x0d\xd2\x1f\xc9\xee\x13\x98\x7b\x75\x5e\x8c\x75\x45\xe0\xe9\x83\x75\xa5\x9c\x8f\xdf\x86\x98\xd1\x94\x7f\xa1\xbd\xb3\x8e\xad\x9d\x81\xee\x8b\x95\x12\x0e\xa2\x08\xd6\x7e\x7c\x61\x17\x22\x8e\x5e\xa7\x2c\xbc\xa6\x0f\x02\xc3\x41\x83\x86\xc3\xc3\x86\x96\x02\xf0\x00\x7e\x6b\xc1\xef\xaa\x0e\x65\x83\xa2\x1b\x56\x9c\x3b\xaf\x6e\x13\x8d\x7d\xdc\xc1\xfb\x10\x79\xcb\xe5\xa9\x4b\xcb\x82\x8a\xe1\x96\x04\x10\xe3\x2d\x93\x13\x9a\xcc\x62\x59\xae\xdb\x1f\xad\x0f\x5d\x96\x28\x8f\xab\x3a\x8c\x5a\x27\x52\xc4\x9f\x31\x92\x39\xa9\xac\xb1\x43\xdd\x20\x34\xdd\xa7\x2c\x41\x75\x1f\x5f\x27\xe7\xbe\xca\xa4\x24\x0d\x8b\x42\xec\xd3\x13\x64\x59\x59\xd3\xfb\x2a\xa3\xbb\x66\xb4\x0d\xff\x21\x5d\x74\xa3\xfe\xec\xc7\xa6\x7b\xdc\xed\x36\x78\x80\xe5\x77\xda\xb3\x49\xea\x46\xf5\x06\x4e\x89\x22\x66\xed\xa3\x85\xef\x9e\x4f\x60\x2d\xcb\x70\xae\xa5\x68\xbd\xf6\xb1\xb1\x4c\xad\xc4\x79\x4e\x53\x7b\xfc\x04\xbf\xc4\xed\x93\x34\x3a\xc2\x69\xe0\x68\x01\xbf\xee\x1e\x0c\xaa\xe7\xae\xa4\xff\xda\x12\x01\x65\x70\xd0\x5c\x3e\xad\xb0\x6c\xbd\x55\x5a\xb4\xd0\xbe\xea\xb9\x63\x25\x34\x75\x1f\xfa\xbd\x2b\xe5\x3d\x2f\x52\x92\xea\xc6\x3a\x40\x33\x5f\x3b\x1b\x8e\x5f\x62\x4e\x78\x02\x50\xd2\xc9\x27\xab\x2d\xac\x45\x92\xd0\xd2\x2f\x13\xad\x35\x5b\xb8\xd6\x5f\xec\x14\x92\xae\xe9\xaf\x65\x1b\x36\x59\x0c\x14\x4d\x2c\xe7\xaf\xd7\xb7\xea\x09\xe6\xa3\x8e\x69\xf7\x78\xf2\xab\x03\xb1\x57\xdd\x95\x3e\x60\x17\x74\x6b\x14\x24\x8f\xa9\xcd\x81\xd0\xf0\x0e\x2f\xcf\x7b\x7b\x3f\xe8\x3f\x3d\xb2\xeb\x80\x8c\xaf\x96\x6f\xe1\x79\xf3\x85\x4e\xbb\xe3\x7f\xaf\x4d\xc0\xd7\xbd\x12\x9b\x10\x57\x6e\xb3\xa7\x3d\x6e\xdc\x9b\x86\xec\x61\xd9\xe2\x7c\x35\x80\x3b\xc5\x7c\xcd\x6b\x9a\xa6\x81\x32\x1d\xfb\x1a\x90\xff\xc5\x03\xea\x63\xcf\xe0\x6a\xbd\x89\xda\xbd\xb8\x0e\x7c\x58\xf7\xed\xf7\x9d\x0a\xa4\x23\xa1\xa6\xfb\xe8\x1f\x1b\xf8\xb0\x4d\xb6\xb0\x15\xa1\xa1\x6e\x40\x30\x07\x7d\x94\x70\x8c\x25\xdc\x58\x39\x42\xfa\xdc\x81\x7a\xb9\xd9\x49\x20\x35\x41\x93\x0e\x3f\xe7\x6c\xa6\xdb\xf7\xd5\x99\x2e\x3f\xe4\xdc\xe1\x9b\x01\x2a\xb1\xf8\x02\x0a\x7b\x87\x13\xbe\xfc\xb8\xb7\x8d\xbf\x97\x06\xa1\xee\xcd\x59\xc2\x8a\xc3\x40\x4b\xe1\xc3\xc5\xa7\x16\xe5\x9a\x93\x1f\x77\xb4\x39\xc0\x6b\xd0\x68\x35\xd7\x55\x82\x7e\x13\xc6\xe8\x74\x91\x29\x59\xfc\x4a\xbf\x77\x4b\xe1\x6b\x23\x93\x25\x9f\x14\xc5\x83\x7d\xb2\x94\x40\x9c\x9d\x5a\x2d\xa5\xad\x6a\x3b\x73\xb6\x1f\x6f\xb0\xc3\xb4\x7f\xbe\x15\x04\x56\xc8\x97\x4f\x60\x6a\x15\x50\x8d\xb9\x03\xc6\x85\x40\xf7\x56\x6f\x2d\x1f\xef\xbc\x1b\xd1\x31\xc4\xde\xa6\x5f\x3e\x67\xd6\x2a\xb3\xe1\x85\xd3\x4a\xb7\xf9\x53\xc3\x9a\x4b\xef\x5a\xc6\x85\x8a\x83\x79\x10\x36\x3f\xaa\x8d\x5c\x28\xb0\xdb\xd0\x2b\xbf\x3d\x73\x84\x7c\x6e\x40\xfd\x54\xe5\x6f\xe8\x39\xe0\x55\x20\x7a\x16\x93\xdd\xa6\x1d\xf2\x5a\x69\xf9\x31\x2e\xae\xb5\x22\xee\x36\x19\x00\x60\x5e\xf1\x8b\x07\x7f\xae\x66\x36\x81\xcf\x07\xcc\x0c\xd0\x7d\x94\x78\x08\xba\x25\x8f\xdb\x7f\xbf\x31\x4c\xf3\x5b\xd5\x90\x06\x76\x05\x0f\x9e\x03\xe8\xc5\xc2\x52\xed\xfc\x29\x16\x19\xa5\x64\xbc\xe3\x3a\xc7\x4e\x30\xf1\xb3\xf6\x22\x4e\x49\xe3\x38\x1b\x7b\x86\xd1\x0f\x2e\xaf\x4c\xb6\xd0\x37\xf9\x15\xdd\x35\x44\x1c\x1e\xd2\x66\x4b\xeb\xf5\xe5\x9e\x3b\xb5\xdc\x4f\xc6\x19\x4a\x8e\x3c\x7c\x6b\x63\x78\xc6\x8e\x73\x77\xc3\xab\xba\x37\x4a\x69\x8c\xaf\xb2\xcc\x9a\xee\x1e\xca\x77\x2e\xc9\xaf\xfd\xb3\x5a\x8c\x31\xa9\x35\x7a\x5c\xa0\xec\x2a\x93\x6a\x4a\xda\xe5\x70\xe5\xa1\x50\xf7\x94\xb6\x35\x95\x95\xd9\xa1\x97\x3c\x38\xd6\x9c\x44\xde\x32\xd3\x4d\x94\xaf\xae\xe6\xb1\x18\xe1\xdd\x8e\x69\xcb\x43\x25\x41\xa2\xa5\x70\xdd\x2a\x1f\x21\xba\x6b\x0e\xbf\x12\x50\x8b\x0d\x86\xb0\x74\x7a\xe6\x40\x35\x34\xe8\x4a\xa7\x1c\xed\x90\x0c\xc6\x7d\x5e\x70\x42\x2a\x4b\xf9\x09\x63\xf5\x01\xf5\xcb\x09\x03\x39\xae\x06\x31\xc0\x49\x15\x1f\xe6\xb6\x4a\x7c\x02\xab\x5c\x2f\x7f\x38\x85\x61\xe4\x1b\xf8\xa6\xc1\x0e\xed\x72\xec\x85\xee\x8d\x6d\x65\xaf\x0d\xad\xb8\x5a\x3d\x1c\x14\x73\x74\x19\xf6\xbe\xcc\x00\x1c\x44\x1c\x35\x8e\xaa\x04\xdf\xc5\x3c\xe9\x76\xfe\x7c\x74\xd7\xef\x32\x5b\x76\x39\x5c\x32\xa7\x4c\x15\xae\x65\x69\x54\xab\x3a\x58\x3b\xd4\x5f\xf3\x4c\xb3\xe6\xc3\xcc\xfa\xb2\x25\xd6\x39\x6b\xde\xd4\xa2\x41\x07\x4c\xdd\xa0\xbf\x45\x9f\x63\xf0\x64\xde\x79\xff\x53\x5a\xec\x59\x47\xe5\x5d\x11\x4a\x91\x3e\x77\xb7\xa6\x47\x10\xbc\x1f\x52\xfc\x0d\xaf\x9c\x5e\xf4\x8a\x07\x7a\xcf\x5a\xa0\x99\x95\x69\x6a\x8b\xd3\x48\x26\xc2\xd6\xa1\x5f\xa8\x52\x34\x80\xb1\x6a\xfe\xaa\xba\xc8\x5c\x46\xd0\x22\x28\x1a\xdc\x0c\xb7\x7f\xd2\x63\xec\x76\x0b\x47\x85\x68\x42\xbb\x38\xc5\xd2\x8a\x49\xac\x8d\x1d\x06\x98\x24\x1f\x2c\x3e\x3b\x90\x17\x7f\x3b\xaf\xd9\x65\xd7\x2f\x87\x32\xbb\x5f\x07\xfc\x5a\x59\x98\xcc\x59\x74\x63\x4f\xd7\x7b\xb8\xaa\x0d\x2c\x16\xb6\x73\xc8\xad\x8e\x47\x9b\xbc\xde\x26\x49\x6f\xbc\x22\xe8\x2c\x1d\xdd\x66\x6e\xfd\x78\x74\x90\xb1\x50\x38\x46\x28\x9a\x4d\x63\x7c\x7d\x17\xbf\x12\xea\x62\xc4\xd8\x50\xe2\x18\xe0\xa4\x14\xf3\x75\x90\xc7\x19\x2f\xdc\x39\xf8\x97\x6e\x7a\x6f\x87\x42\x4c\xee\xea\x6d\xe1\xac\x65\xc2\x48\x4d\x8b\x73\xbb\x39\x4e\x67\x3a\x09\xb1\x2f\xc2\xc5\xff\x8f\x26\x6b\x3a\xb5\x98\x66\xdd\x47\xd5\xa5\x93\x34\x83\xf8\xbb\x90\xc3\xde\x58\x98\xd9\xa9\x5b\x26\x9d\xba\xfe\x8f\xaf\xa4\x79\xd9\x60\xbd\xd5\x63\x0a\x9d\xc5\x30\x13\xe1\x05\x42\x98\xc2\x8a\x75\x32\x8b\x3d\x61\xdb\x7e\x66\x75\xe0\x05\x1e\x7a\x37\xe1\xdd\xc1\xf2\x84\x02\x54\x1f\xd0\x97\x9c\x89\x29\xec\xb1\x8d\xdf\xbb\xa1\xfc\xe1\x47\xd3\xb8\xd0\x93\xf9\x27\xa5\x76\xc3\xe8\x3f\x53\x28\xf8\x37\xa2\x05\xea\xfc\x4e\xfc\xeb\xab\xa3\x11\xca\x06\x19\x5d\x34\x6c\x59\x43\xe9\xc4\x73\xd0\x65\x7b\x5f\xaa\x9c\xae\xf5\x64\xa3\xc7\x0d\xf3\x4a\x2b\xc3\x1f\x69\xda\xe2\x06\x60\x49\x5d\x8f\x39\x1f\xe5\x84\x27\x51\xe2\x23\x2b\x1e\xdc\xc2\x05\x08\x5c\x69\xf7\xdb\x1c\x69\x87\x50\x27\x87\x1b\xec\x61\x2a\x82\x2e\xee\x25\xfa\xdb\x4e\xa3\xed\x18\xb1\x3b\xde\x8c\xb9\x4a\xe0\x12\x46\x69\x4e\x93\x9c\xc1\x6c\x04\xe0\x22\x63\x01\xc3\x6b\x62\x86\xfb\x6d\x87\x49\xb1\x0b\x57\x80\xcc\xc3\x39\x1e\xae\xd5\x0d\x75\x86\x86\x65\xdb\x13\xf9\x9f\xa7\x7e\x15\x86\x59\x75\x8a\x28\x1e\x86\x14\x3f\x6a\xca\x3e\xf5\x50\xdc\x76\x45\xd1\xa3\xb1\xa3\xec\x5c\xf5\xe7\x1a\x35\xe4\xa6\x51\x47\xf1\x06\x70\xde\x43\x72\xf5\xf2\x90\x56\x7f\xca\x19\x49\x8b\x97\x50\xbf\x9e\x50\x3f\x5c\xb6\x64\xc0\x89\x96\xd0\x3d\x26\xed\xf9\xa8\x7a\x55\x34\xb8\x08\x9a\x00\x36\x7b\x8f\x6b\x3e\xb6\xd7\xb1\x8c\xa4\xeb\x99\xf6\xac\xd2\x1e\x1e\x60\x19\xd5\x84\xdc\xc6\x30\xb6\xb6\x5e\x86\x43\xf5\xa3\x0b\xea\x42\xc4\x0f\xef\xf4\xff\xe0\x37\xfa\xd1\xfb\x34\xd8\x8f\xf0\x46\x2d\xd2\x03\xe9\x75\x04\x1a\xf6\x30\x47\x7e\xa6\xf0\x57\x97\xbc\xf8\x8b\x0a\xad\x30\xec\x96\x50\x8c\xaf\x93\xe4\xd3\x43\x1a\xb1\xa4\x6a\x07\x8f\xc7\x4e\x93\xfa\xa5\xcf\xef\xfa\xcf\x7a\x0e\xc0\xfc\x09\xa4\xcb\xa7\x32\xd8\x34\x22\xdd\x71\x49\xcc\x70\x53\xf4\xb8\xa7\x6e\x2c\xb4\x2e\x38\xb4\xde\x61\xc7\x78\x31\xa3\xc7\x3a\x40\xe5\xc3\xdd\xb4\xb1\x70\xb5\x83\xa3\xc0\xbf\x8a\x8e\xcf\xdd\xd2\x88\x98\xce\x4d\xf2\x41\xbe\xdf\x91\x30\xc9\x36\x16\x25\xbd\xc6\x72\xe8\xe6\x59\xbe\x87\xd7\xcd\x15\x66\xf7\x77\x5a\xa9\xbe\x55\x3c\x5b\xf4\x45\xfe\x5c\xe8\x1e\xaf\x3f\x62\x74\x5a\xfa\xe2\xc5\x49\xe7\xae\xc8\x79\x2d\x40\x66\x5e\x8b\x10\x3a\xc5\x31\x1e\xde\xff\x38\x72\x5d\x58\x78\x22\xb7\x0b\xbc\x8d\x73\xa4\x29\xfa\x0b\x91\x06\x10\x82\x29\x75\x51\xfc\xa5\x1b\x7e\xc3\x0c\xc7\x07\x0c\xbc\x17\x1b\xd9\x9f\x77\x30\x0f\x4d\x26\x53\x37\x2f\xdf\xa5\x71\xef\xa4\x3f\x59\x24\x3c\x0b\x3b\x5c\x7e\x09\x4e\x99\x1c\xdc\xc2\xe1\xb1\xde\x19\xdc\xc2\xe9\xa4\xc2\x4f\x1b\x7c\x3b\x4f\xf5\xaa\xb5\xab\x2d\xeb\x55\x79\x47\xb2\x1e\xf4\x06\x5c\xec\x05\x54\x0b\x79\x5a\xe6\x77\x9c\x68\xb7\xa6\x94\x2e\x2a\x07\x7f\x79\x55\x7e\x07\x2e\x6d\x5a\x46\x53\x8b\xa5\xe0\xe9\x90\xe2\x2a\x6c\xfb\x60\x58\xd6\x63\xee\x1e\x4e\x9f\xfe\xb6\xc3\x31\x4d\xf9\xc0\xdd\xbf\xe8\xbe\xfe\x4f\x89\x20\x7d\x5d\xb7\x83\x94\xc5\xaf\x21\xf4\x21\x0c\x63\xb9\xe5\x10\xd8\x9b\xb1\x7d\x65\xf1\x37\x6e\xbf\x6e\xba\x66\x84\x9d\x3a\xde\xf7\x90\x07\xa5\xa0\xe3\x2e\xa8\x68\xb7\x09\x53\xc4\x86\xa3\xd6\x6f\x7c\xe3\x2b\xbf\xcf\x39\x67\xde\x3e\x96\xac\x7a\xf9\x52\xaf\xaf\xe7\x6e\xf6\x3a\xf1\xe4\xcd\x31\x71\xdb\xae\x19\xcf\xcb\x59\x9f\xca\x08\xcf\xf3\x00\x10\xbd\x94\x84\xd5\xf0\xd6\x00\x7c\x9c\xa8\x9d\xce\xac\xaa\x78\x68\x46\xe3\xc7\xca\x3a\xc8\xef\x72\xff\x42\x90\xf5\x97\x74\xef\xfa\xd8\x44\xc1\x5b\x71\x30\x2a\x49\x47\xf8\x2f\x8b\xa9\x3f\x16\x4b\x62\xe0\xf9\xc4\x82\x03\xad\x63\x22\x45\x42\xf8\xd7\xa2\x44\xdc\x5a\x53\x92\xc3\x7e\x80\xe2\x2c\x4a\x7d\xe3\xb3\xe8\xea\x3e\x6b\x0d\x45\xb1\xec\x8f\xd4\xb8\xf0\x56\x98\x02\xa6\x65\xfe\x7d\xe4\x72\x97\x71\x43\xe0\x8e\xc0\x3a\x48\x21\x88\x89\x73\x4c\x2a\xac\xcf\xee\x75\xcd\xe9\x8a\x6c\xab\x25\x41\x3b\x29\xaf\x9b\xf0\xcf\x99\x53\x82\x4c\xc9\x35\x70\x7a\x5f\x45\xb7\xb3\x7d\x0a\x4b\xfa\x64\x7e\x96\x00\xbb\xa9\x46\x96\xc3\x4f\x09\xb3\x9d\x4f\x09\x2d\xea\x06\x42\x02\xd6\x9e\x2a\x1e\xc5\x99\x4d\x22\x0a\xe9\x44\x0e\x17\x54\xd5\x9b\x8f\xb5\x9f\xce\x9b\xc2\x39\xa6\xc9\xf0\x05\x04\xa6\x03\x7d\x70\xbb\x77\x0e\xc4\xa1\xab\x1a\xc3\x87\xb4\x04\x1f\x64\x2e\x72\x6f\xb9\xd2\x1f\xb8\xf2\x67\x8d\xad\x7c\xad\x83\x84\x1c\x79\xf2\xbc\x97\x1c\x27\x14\x19\x44\x9f\x1a\xde\x4e\xec\xe6\xf2\xcf\x08\xc9\x9b\xd8\x34\x24\xfa\xad\x29\x75\xab\xbe\x68\x54\xa3\xe7\x59\xec\x0a\x8a\xbc\xd0\xa9\x0a\x89\x64\x0e\x93\xc1\xf3\x22\x26\x61\xca\x12\xe7\x47\x61\x18\xad\x40\x81\xb7\x73\x94\xc4\xa7\xc4\xae\xbe\x2f\xa7\x5f\x7b\x67\x16\xb6\x4b\xec\x77\x25\xdc\x08\xd3\x2a\xb7\x74\x68\x02\x46\x17\x97\x6f\x8a\x66\x87\x97\xaf\xa0\x69\x5d\x75\x89\xd7\xbe\x99\xa6\x48\x08\x10\x8d\x84\xda\xfc\x54\xc1\xc9\xe2\x3e\x0e\xd9\x2b\xfd\x6e\xe9\x81\xfd\x41\x62\x63\x41\x14\x61\xed\x06\xce\x59\x53\xd1\xab\xbc\x47\x3e\x6b\x89\x39\x85\x73\xd2\x1e\x79\x1e\xda\xe3\xc1\xde\x48\x92\x91\xcd\x1e\xeb\x56\x9f\x57\x87\x62\x72\x6a\x67\xcc\xb2\x55\x6e\x03\xc8\x36\xe4\xe5\x98\xb7\x71\xda\xc7\x08\xe9\x2c\xf6\x27\x1a\xb0\xe1\x1a\x74\xea\xa0\x41\x87\x77\xc4\x98\x79\xa2\x19\x2d\xd9\x93\xe8\x83\x6b\x20\x77\xa0\xe3\x01\x75\x78\x90\x62\xd5\xd0\xc1\xf9\xad\x75\x11\x3d\x79\xc9\xe2\xc2\x9c\x55\xcb\x37\xa5\x64\xae\xe6\x3f\x7b\xac\xe9\xf3\x3c\x4b\xdb\x19\x34\x3c\xa6\xa3\xad\xbe\xbe\x56\x71\x61\x52\xbd\x0a\x4d\x24\x66\x26\x02\xf7\x79\x9f\xc8\xa3\x1b\x02\xe9\x77\xbc\x02\x54\x5f\xc2\x6c\x2b\xf7\x2b\xbf\x78\x9b\xdd\xf2\x50\x76\x18\x87\x3e\xd3\x75\x3c\x71\xc0\xaf\x21\xfa\xa9\x92\x13\x43\x41\x50\x27\xf5\x7d\x18\x59\x9c\x2b\x27\x9d\x69\xed\xd9\xa6\xde\x44\x31\xe9\xe9\x61\x22\xb6\xcf\x92\x66\xb1\x54\x70\xe4\x17\x4f\x2c\x9a\xa2\x32\xdd\x16\x07\x3a\x7d\x70\xb0\x59\x4b\x89\x6b\x14\x48\x67\x26\x88\xbb\xe6\x41\xfe\x42\x97\xd6\xfa\x0b\xee\x3a\xb7\x2e\x01\x65\xaf\xac\xc5\x08\xdc\xc0\xb6\x19\x0d\x82\x91\x41\xff\x4b\x80\x4b\x53\x56\xd7\xca\x19\xb2\x82\x0f\xfb\xf9\x1e\xb4\xd3\x16\xf4\x85\xb6\x2b\xd5\xf9\xb7\xc2\x2b\xe6\x0f\xf1\xe1\xbe\x45\xb9\x43\x95\x22\x6b\x52\x55\xd5\xa2\x34\x09\x69\x54\xbb\x89\xc7\x6d\xaa\xfa\xdb\xa1\x15\xf5\x1a\xa5\x57\xbc\xa2\xcf\x9a\x95\xaa\x72\xa3\x40\xd9\x00\xae\x4c\x19\x2b\x2e\x2f\x02\x05\x0c\xd5\x3a\xb2\x71\xdd\x11\x87\xae\x6e\xd1\x63\x94\x54\x11\xad\xb1\x8b\xd4\xf9\x2b\x2c\xd6\x1f\x21\x8c\xbb\xca\x58\xf9\x05\x4f\x9a\x7d\x4e\xc1\x6a\x2c\x2f\x87\xf3\x6e\x31\xdf\x7d\xee\x9e\xed\x6c\xc7\x7f\xe0\x3e\xb0\x19\x91\xc7\x03\xd3\x91\xfa\xa9\x87\x66\x77\x02\xbd\xc1\xb9\x49\xeb\x3c\xa2\x5d\xbb\x41\x5f\x01\xfd\x56\xb9\x84\xac\x39\x62\x75\xf0\x14\x43\xc1\x9e\x9d\xf9\x4c\x91\x56\xd2\x1b\x16\x5c\x58\x33\xac\xeb\x06\xdd\xb9\x31\xe3\xe7\x99\xab\xf3\x95\xdc\x87\xeb\x97\x58\x62\x33\xbb\x0b\x5b\x51\x4e\x4d\x67\x19\x22\x99\x53\x9b\x83\x27\x25\xc1\xc8\xf1\xb5\xb2\x22\x05\x08\x7a\x8f\x43\xaa\x6e\xf9\x66\xdf\x49\x89\x81\x72\x86\xc1\x56\xa7\xcf\x8d\x4b\x98\x9e\xa9\x8a\xba\x89\x09\x56\x7f\xfc\x9e\x1c\xd0\x11\xf4\x66\xc8\x13\xd7\xaa\x57\xe7\x3e\xfa\x43\x12\x1d\xf3\xd7\x81\x5c\xc9\x24\x06\xe6\x84\x4a\xc7\x9b\x20\x2b\xa5\x76\xd6\xeb\xbf\xbc\x3f\x36\xc1\xfb\x9d\x9b\x41\xfb\xbb\x3d\xfb\x63\xc3\x98\xcd\x66\xa7\xb3\x3e\x42\x64\x12\xa1\x24\xc2\x6d\xa4\x5d\xd4\xa8\x8f\xa4\x54\x4d\x2a\x34\x7a\x4a\x4a\x68\x99\xb9\x2f\xee\x40\x1c\x4e\x97\xf9\xc6\xda\x40\x1d\x88\x6e\x4c\x4c\x2d\xfb\x72\x7f\x16\x9a\xc2\x69\xc9\x18\x8b\x41\x81\xf7\x25\xb2\x2f\x58\x2b\x58\x0a\x58\xd2\x16\x4d\x36\x3d\x13\xd1\x40\xb3\x60\x2e\x3a\x4f\xa3\xff\x25\xd9\x91\x23\x4a\xc6\x0c\xf6\x8d\xc8\x0d\xd0\x86\x6e\xc2\x57\xc6\x11\x16\xca\xb2\x63\xd1\x9b\x2c\x40\x0c\x3c\x89\x0d\x55\x6b\x07\x3c\x04\x5e\x06\x44\x16\x2b\x42\x53\x3a\xc3\xee\x12\x71\x8e\x5b\xbb\xad\x85\x8d\x60\x2e\x88\x32\x98\xd3\x73\xd2\x64\xf5\xb0\x7c\xe2\xc3\xda\xc4\xf4\x5f\x99\x92\x15\xe7\xab\x8c\x91\xe9\x0b\x91\x98\xfc\xec\x7a\x42\x1b\xc6\x3a\xab\xa1\x9f\x97\x6f\x30\xbf\x83\x94\xb3\x67\x06\xad\xa9\xad\x65\x82\x79\xbe\x39\x4c\x38\x0d\x38\x8d\x66\x7f\x47\xdf\xb5\xd1\xb6\xf2\x3b\x55\x98\xd8\x0d\x65\x63\xc3\x9e\x3c\xc9\x54\x0b\xcd\xcb\x9c\x76\xee\xff\x49\x05\x3f\x53\x3a\x02\xa6\xc8\x0a\x13\x77\x2f\xea\x5c\x91\xb7\x36\xbf\x92\x31\x42\x75\x5a\x59\xe4\x61\xa1\x1e\x39\xa2\xfa\x83\x01\x2b\x76\x41\x05\xc8\x7b\x62\x46\x9b\xb8\xd0\x7d\x36\xd3\x62\x38\x6d\x4d\x65\x5c\x11\xec\xb5\x97\x06\xdf\x43\x95\x1e\x74\x0f\x94\xd0\x04\xa8\x21\x65\xba\xb9\x32\x36\xd8\x07\xf6\x4d\xa1\x8b\x5c\xd1\x61\xf5\x1e\x68\x6d\xb9\xaf\x70\x34\xf8\x25\xea\x67\x0e\x52\x0f\xa9\xe6\x9c\x38\x1b\x7b\xeb\x79\x29\xb8\xfa\xd2\x58\xbe\xb6\xd7\x38\x43\x7e\x33\xfe\x9c\x5f\xcd\x02\x2e\xb9\x64\x07\xa6\x29\x64\x65\xb7\xfc\x35\xc9\x88\x8f\x2e\x72\xfa\x3e\x50\x93\x79\x99\x93\x37\x3c\x6d\xe4\x2c\x91\x14\xf8\xa6\x1d\xbc\xc8\x19\x2e\x18\x5d\xc4\x28\xcc\x4a\x69\x2c\xa8\x73\xc9\x9d\x11\xf0\xf4\x40\x4d\x20\x4b\xa4\xb0\x49\xbe\x68\xba\xfc\x8a\xa6\xed\xb8\xda\x2b\x59\x6d\x17\xaf\x7f\x7c\x8a\xa6\x66\x73\x9f\x0a\x03\x70\x51\x61\xea\xe1\x6e\xf2\xe5\x54\xd1\x79\x43\x8e\x85\xff\x29\xdc\x47\x75\xee\x9c\x5d\x9f\x7b\x2a\x48\x83\x12\xc0\x64\x0e\x13\x75\x82\x70\x1e\x4b\x46\xb0\x30\x55\xed\x1f\x15\x23\x6b\x74\x11\x19\x6f\x45\xfa\x51\xc1\xca\x02\x5a\x73\xdf\x37\xef\x67\x2b\x6e\x0d\x8e\x35\x83\xf5\x5a\x12\x97\x20\x07\xea\xf6\xc7\x3f\x27\xd7\x70\x85\xe3\x61\xe7\x83\xab\xd9\x3d\x8c\x47\x53\x4f\xd2\xbe\xef\xe0\x8b\x28\xff\xe3\x12\x34\xb7\x46\x4c\x4a\x4f\x90\x30\x4c\xbb\x22\x53\x65\xf3\x6c\xd0\x35\xc3\xb7\x3e\x18\x5c\x78\x51\x3d\x4a\x9f\x3f\xbf\x5a\x10\xaf\x66\x92\xe1\xc1\x44\x27\x55\x26\x43\xb1\x7a\x81\x77\xf0\x3f\x77\xc8\x6f\x37\x71\x58\xd1\x9f\x4d\x2c\xba\x06\x50\xc8\x64\x51\x63\x50\xbf\x25\xbc\x34\xf3\x5b\x09\xd2\xe9\x52\x45\x97\x25\xca\x83\xe9\x48\x24\x9a\x13\xc7\xae\x2c\x53\xc5\x54\xbd\xc0\x25\x7e\x11\xf3\x79\xe5\x16\x85\xa2\xdf\x92\x5d\x88\x62\x1b\x37\x3a\x4e\x4a\x46\x7e\x84\x74\x90\xe9\x00\x1d\x68\xec\x9a\x5c\x40\xf8\x3a\xaa\x26\x7e\xf3\x78\xaa\x3d\xe0\xd7\x21\x97\x59\xf7\xb2\xeb\x3e\x08\x94\x9c\x01\x5a\x61\xcc\x68\x7f\xa3\x1a\x49\xa0\x67\xe0\x26\xe5\x2d\xf7\x7e\x9e\x95\x63\x59\x02\x4d\x92\x39\x96\x1c\xfd\x98\xf4\xbc\x1b\xf4\xaf\xe7\x27\xc3\xc3\x97\x5f\xe4\x4e\x0c\x47\x44\xdd\x71\x33\x5e\x5d\x3c\xc0\x2f\x56\xc5\x87\xc5\xdc\x5e\x7a\x31\x29\x27\x7c\xda\xc3\xb0\x39\x58\x23\xec\x46\x17\xdc\x85\xed\x3f\xe0\xea\x81\xd8\xfe\x1a\xc9\xee\x10\xfb\xd5\x88\x4e\xaf\xbf\x5e\xd8\x68\xfa\xab\x00\xc8\x4f\x80\x6f\xa6\x9f\x91\xbf\x7f\x52\x8f\x64\x9d\xcf\x5b\x3c\xf7\x75\x68\xf4\x7a\xca\x6c\x84\xe6\x91\xd9\x4c\x87\x1d\x7c\x74\x8b\x95\x3a\xfb\x16\x15\xe9\x9b\x78\x16\x79\x25\xa5\xf4\x7b\xd9\xcd\x16\x6c\x4e\x3a\x19\x88\xd5\x44\xbb\xb1\xfd\xe2\x01\xc3\xb4\xd2\x62\x79\xe8\xe7\x8d\xd4\x6e\xec\xaf\xf3\x16\xf6\x5f\xae\x15\xb8\xae\xa5\x90\x2f\x80\x35\x10\xa7\x36\xc9\x37\x67\x9a\x76\x6d\xf7\xd9\x13\xae\xbf\x55\x31\xda\xaa\xed\xbf\xd1\xde\xa5\x43\x61\xc0\xaf\xb4\xba\x95\xbb\xea\xc2\x5e\x31\x01\x2a\x69\x0a\xe9\xc6\xa7\x8a\x14\xcf\x54\x47\x22\x3b\xc4\x9f\xf0\x3b\x46\x27\xe8\x9d\x2d\x27\x6f\xc5\x6c\xd3\xd5\x1b\x58\x93\x1e\xd1\x1d\x44\x27\x0c\xfe\xe9\xc7\x7c\xe6\x4b\x3f\x00\x8f\x97\xca\x94\xef\x6e\x2b\x54\x2d\x63\x29\x23\x25\x03\x9e\xb1\x92\xb1\xc0\x27\x69\xe1\x63\x35\x65\x75\x6a\x21\xd5\xdf\xdf\x67\x39\x98\x34\x08\x89\xde\x23\x70\xc4\x3b\xe2\x69\x61\x6a\xe1\x3d\xc6\x39\x56\x39\x2e\x17\xd9\x15\x49\x12\xb9\x76\xcf\x72\x6f\x71\x73\xd9\xf9\xf9\xab\xb4\x6f\x6f\x40\x30\xe2\x88\xb8\x15\xd5\x97\xf2\x2f\x3b\x3d\x41\x1e\x96\x29\xf7\x86\xc8\x06\x7e\x60\x60\x20\x75\xa0\xd1\x8d\xe0\x4d\xfa\x85\x34\x29\x11\x09\x16\x71\x06\x63\xbd\xaa\xa6\x5a\xfd\x47\xb7\x6c\xa2\xf4\xef\x11\x9a\x71\x33\xa8\x16\xec\x5b\x24\x5b\xb8\x4c\x86\x4c\xfa\xf2\xce\xf2\xfa\xd1\x79\xc4\x56\xc4\x02\xa4\x6a\x44\xab\x8c\xd7\x1a\x12\xca\x81\x99\x2f\x92\xc3\xf3\xe4\xd3\x06\xdf\x7f\xc5\x27\x21\x64\x7e\x52\x71\x50\xb6\x55\x56\x4f\x94\x60\xf2\x57\x43\xe4\xa6\x64\xea\x46\x42\x09\x2a\x5c\xe7\xdc\xe7\x8c\xac\x63\xad\xcb\x46\x24\x92\x52\x13\xbd\x13\x27\x13\x73\x99\x3a\x95\xae\x33\x73\xf2\x8c\x33\xd7\x50\x6f\x99\x6f\xd5\x70\x5c\x70\xee\xc9\xe2\xc8\xc6\xc9\x7c\xd9\x44\xd9\x00\x3a\x2b\x85\x13\xe5\xd5\x25\x4e\x85\xc6\xa5\x81\xca\xb7\xa1\x38\xc9\xdf\x42\x55\x73\xc6\xde\xa7\x2a\x55\xb2\x56\x62\x57\x06\x40\xe5\xa1\x70\x68\x5e\x05\xe6\x8f\x33\xad\xe7\x42\x8b\x22\xad\x82\x06\x45\xcf\xd0\x3f\xd4\xdc\x82\xdc\xbc\x35\x14\xce\x3c\x27\x1c\x74\x04\xb9\x78\xb9\x26\x62\xae\x5e\x36\x5e\xe2\x5e\x3d\x07\xf6\x07\xa5\x87\xdc\x73\x9d\x85\xd3\xe5\x67\x65\x66\xe5\x3d\x2a\xcf\x51\xa1\xb9\xb2\x31\x7d\x2c\x72\xaf\x07\x5e\x0c\x78\x47\xf2\xc6\xea\xc6\x6e\xc7\xda\x52\xaf\x0b\xe8\xf1\xb7\x08\x4c\xf1\x6d\xd8\x32\x59\x24\x99\x43\xfa\x77\x93\x2a\xe2\x0f\x25\xe6\x29\x6d\x7d\x6c\x05\x6d\x7d\x27\x4a\x27\x1e\x27\xde\x66\x9a\x35\x10\xd5\xbb\x41\xec\x1a\x45\x2c\x46\x6d\x0e\x6d\x96\x2d\xfc\x87\x55\x87\x39\x7e\x39\xa4\xc1\x24\x8f\x30\x16\x7c\x9d\x98\x9d\xd0\x9c\x28\x96\x1f\xea\x05\x21\x41\x56\x20\x9b\x45\x2b\xdf\x21\xd3\x01\xa9\xe9\xe0\xd4\x47\x5e\x4c\xc2\xa8\x97\x51\x56\xf1\x1f\xe3\xbd\xd5\x49\xd4\x39\x73\x36\x44\xd5\x44\xc4\x45\xd3\x45\x79\xdd\xa4\xf6\x98\x7e\x27\xfd\x86\x4c\xed\x65\x3b\xa6\x1c\x09\x09\x0b\xb5\x92\xb4\x72\xbb\x6c\xae\x4d\xae\x8d\xaf\xb5\xb6\x87\x20\x89\x90\x7c\x88\x73\xe4\x08\xc2\x0e\x29\xb2\xc3\xbe\x6b\xbf\x45\xbd\xbf\xbc\xdd\x3e\x16\x33\xaa\x36\xcd\x89\x85\x92\xef\x59\x29\xfa\x8f\x2d\x14\x95\x12\xa5\x1c\x85\xf8\x1f\xd5\x2a\xda\x3f\xfe\x50\x54\x14\x14\x14\x19\x14\x1e\x94\x7f\x5c\x9e\x35\x49\x5d\xea\x68\xb2\x44\xbf\x9e\x7d\x0b\x12\xed\xf0\x12\xc3\xfb\xe1\x38\xb8\xb4\xbc\x51\x4c\x5f\x74\x87\xe5\x2f\xde\xa8\x32\x7f\x4b\xf3\x40\xb8\x7b\x04\x1e\xbc\x7e\xfb\x55\x63\x4b\x60\x69\x09\x78\x83\x45\xa1\xc8\xd0\xb7\x51\x5e\xcf\xf7\xe4\x6b\x10\xca\x18\xf1\x6e\xc3\x16\x14\x22\x2e\x2c\x20\x2e\xd0\x89\xd2\xef\x17\xf9\xf2\x42\x81\x4f\x8e\xfa\x33\x05\x9e\xbb\xe4\x7e\xed\x38\xcd\x1f\xf7\x62\xe0\xaf\xf7\xa7\x64\x98\xf5\x31\x4a\x43\xb2\xcc\x17\x15\x7e\x78\x8b\x86\x1f\x2e\x44\x48\x56\xc2\xb6\xb1\xe5\x9b\x7d\x87\x5e\x23\xa2\xb6\x55\x26\x0e\x2d\x86\x74\x76\xdb\xb6\xb1\x6e\x81\x17\xb8\x45\x77\xbe\x04\x75\xf5\x97\xab\x3c\x3d\x18\x7c\x55\xd2\xb7\xdd\xae\x69\xeb\xea\x8d\xdb\x4b\x71\x1d\xa0\x95\x38\x9a\x85\x59\x19\x52\x3a\xe3\x7e\x59\x6a\xf2\x26\xf3\xdf\x79\x9e\xc4\x14\x96\xd1\xc9\x38\x0f\x8e\xe6\xb4\xe5\x3f\x3c\xd7\x0b\x83\xb2\xb9\x8e\xab\xf8\x2a\x0c\xc2\xc6\x2d\xf0\xe4\xcf\x77\x6b\x47\x9a\x47\x9a\x01\xfe\x8a\xe3\x00\x9f\xad\x17\x06\xd6\xf5\x43\x3a\x7f\x1b\xa2\x5e\x9d\xf0\xc7\xee\x15\x0d\x1e\xf2\x05\x67\x4a\x61\x36\xf1\xee\x7c\xa3\x71\x57\x8d\xcd\xa3\x50\xc2\xb1\x7f\x85\xb8\x94\x78\x9c\x7b\x63\xf5\x18\xdb\xc4\x47\x76\xd4\x4a\x4d\x25\x17\xac\x04\x21\x48\x78\xa6\x85\x60\x86\x89\xda\xd8\xe0\xa9\xf9\x54\xd5\xd5\xcc\x40\x30\x8c\x56\x5a\x03\xe8\x59\xf5\xd8\xe6\x7f\xbc\x73\x48\x7d\x17\x01\xf8\x6a\xe8\xee\x11\x4a\x27\xdc\xc0\x05\x22\x51\x5b\x2b\x7d\x02\xee\x1d\x64\xd3\xd4\x5c\xed\xf1\x1d\x9e\x20\xd2\xb2\x27\x56\xb5\x0c\x02\xa0\x38\x95\x8f\xd9\x80\x3c\x03\x8a\x8c\xf6\x99\x16\xb0\xe4\xe8\xf8\xa2\x45\xbd\x98\x91\x83\xc2\x7a\x51\x3e\x76\x35\x04\xf7\x83\xe1\xb1\xe1\xb3\xa4\xcb\xe5\x83\x67\x9b\xf9\x24\x01\x27\xb1\xeb\xe4\x23\x1a\x74\x22\x21\xe1\x5f\xfd\x38\xc3\x3e\xa5\xe8\x80\xa8\x14\xb7\x8e\xc3\x28\xcb\x3f\xac\x9b\x20\x1f\x47\x45\x55\xe0\xe8\xcc\xde\xbe\x7f\xd1\xb8\x31\x54\xc5\x9d\x2b\x3a\x3b\x35\x7d\xff\x67\x51\x66\x38\x9d\x66\x35\x43\x36\x52\x63\x1a\x91\x26\x12\x02\xec\x36\xa5\xb5\x8b\x3d\xc2\xe9\xda\x87\x21\xa6\x78\xb9\x0f\x53\x07\x7a\x70\x3d\xb8\x19\x8d\xcc\xdf\x39\x66\xf0\x4c\xb2\xe9\x65\x19\xe1\xfc\x4c\x7a\xf0\x25\x08\x05\x9d\x7a\xd0\x3c\x92\xcf\xf9\xd0\xa8\xcc\x0a\x6c\x6b\xce\x26\xc0\x4f\x2a\x20\x80\xdb\xc8\x4f\xdb\x28\x80\xe9\xc9\x4f\xe9\x29\x40\x88\xe4\x67\x40\x36\xa2\xe0\x42\x88\x70\x1b\xb1\x62\x20\x54\x31\x8d\x2f\x6c\xbe\xc8\x47\x70\x88\x62\x08\xc2\xdf\x03\x93\x4a\x81\x59\x36\xc0\xb4\x3d\x60\x1e\x41\xe4\xbb\x1c\xe2\xf7\xf6\x0d\x68\x9c\x10\x12\xce\x46\x9c\x2a\x08\x4d\x55\xe3\x4b\x47\x08\x85\x63\x23\xc1\x11\x84\xfe\xa8\x11\x95\x16\x42\x4c\xdb\x88\x9d\x0d\xa1\xce\x6e\xc4\x30\x82\x90\x1b\x35\xe2\xaf\x42\xe8\x56\x05\x92\xb4\x62\x6d\x31\x7d\xac\xf1\xc4\xdf\xa5\xb9\xc7\x82\x40\xac\xf5\xb8\x9d\x73\xa3\x2e\xc7\x53\xf4\x1f\xad\x35\xae\x2d\x5d\xaf\x2d\xcc\xae\xad\x42\x08\x7e\xcb\x10\x6c\x9b\x13\x6c\x69\x12\xec\xb8\xc5\xff\x56\x8e\xdf\xb6\x8b\xdf\x02\xc6\xef\xf8\xa9\xff\x96\x57\xdf\xb6\x56\xb7\x20\x29\xf7\xa0\x29\xf7\x7c\x09\xf2\xa0\x00\x79\x12\xec\x7b\xd0\xef\x7b\xa2\x52\x7a\x10\x53\x7a\x62\xa7\x7b\x50\xa7\x7b\x62\xe8\x7b\x90\xeb\x7b\xe2\x2f\x7a\xd0\x2d\x7a\xa2\x0b\x7b\x90\x0a\x7b\xe2\xb6\x7a\xd0\xb6\x7a\x62\xfa\x7a\x50\xfa\x7a\x12\xfe\xf5\x60\xf8\x8b\x44\x21\x44\x10\x11\x22\xb1\x12\x10\x54\x09\xc8\x17\x1a\x08\x32\x0d\x24\xde\x34\xe2\xd5\x34\x12\x8d\x17\x41\xc2\x8b\xc4\xa9\x43\xd0\xd4\x21\x5f\xba\x22\x28\x5c\x91\x04\x67\x08\xfa\x33\x24\x2a\x03\x82\x98\x01\x89\x9d\x8f\xa0\xce\x47\x62\x98\x21\xc8\xcd\x90\xf8\x9b\x08\xba\x4d\x24\xba\x34\x82\x54\x1a\x89\xdb\x83\xa0\xed\x41\x62\x86\x20\x28\x43\x90\x84\xcf\xb6\xa5\xb1\x5c\xe3\x1d\x36\xeb\x8d\xf4\x06\xd3\xd5\xfa\x0b\xe2\x47\xc9\x80\xe4\xab\xc9\x3b\x9b\xc7\x46\xd4\xe5\x5e\x27\x4d\x21\x11\xda\x39\xcf\xdd\x8c\xaf\x3b\x4a\x0a\x01\xda\x75\x53\x0d\xc5\xe3\x7b\xf1\x88\x14\xc0\x1e\x02\x8a\x2f\xdc\x4e\xde\x0a\xff\xe3\xb2\xb5\xb0\xd6\xb1\xea\x26\xbe\x92\x6d\x78\x32\x69\xb4\x9e\x9d\x4b\x3a\xdc\x2c\x8d\x47\x3b\xdb\x9c\x4a\xb5\xd0\xec\xef\xe8\xb7\x48\x11\xec\x3f\xeb\x20\x6d\x2c\xa0\xc7\xe9\xab\x90\x45\xbf\x78\xd9\x56\xf6\x4b\x50\xb2\xf2\x50\x0b\x90\xe0\x00\xd6\x9d\x2f\xce\xda\x63\xeb\xf4\xe9\x57\x5f\xfa\x5a\xe9\xc8\x7b\x1c\xd1\x55\x4f\x79\x9d\xd4\x65\xcd\xbb\xac\xf6\x6f\x5b\x9d\xe5\x7f\xc1\xe1\xff\x86\xb7\x35\x7d\x75\xfc\x64\xef\xda\x23\xa0\xbd\x6b\xcd\xd4\xe5\x5f\x91\xf3\x98\xdc\x07\x47\x3c\x22\xb7\x5f\xdd\xa2\xbc\x5e\x67\x89\xfd\x18\x7a\x0c\xfd\x59\x65\x5b\xf7\x9f\xb8\xfc\x17\x2c\xfe\x83\xd9\xd3\x88\x53\xb9\xbf\x85\xf7\x76\xcf\x5a\xea\x1b\x6b\xdc\x6b\x15\xd3\xb0\xf5\x6b\xba\xc2\xe7\x99\x90\x03\xe9\x4b\x86\x3b\xc2\xc7\xa8\x27\xb9\xe7\xff\xc7\xb8\x1e\xf5\xcf\xe8\x99\xa0\x03\x29\x2f\x86\x8e\xff\x13\xc9\xae\xff\x3f\x27\x27\x54\x9c\xd2\xfa\xd0\x9c\xa8\x3b\x3c\x2b\x03\x36\xdc\x92\x8d\xdc\xab\x5c\x4e\x29\x6a\xa7\x8f\xa4\x0f\xff\x1d\xa9\x43\xa9\x43\xc9\x43\x89\xff\x8d\xd8\xbf\xf3\xa9\x4c\xea\xec\xef\x91\xd8\x7f\x1e\xde\x86\x48\x1e\x8a\xff\x77\x9a\x83\x5a\xe1\x35\x7a\xd3\x53\x76\x7b\xc4\x3a\x65\x07\x07\x37\x84\xad\x95\xcb\xae\xff\xfa\xd0\x51\x75\x35\x07\x28\x51\x50\xfe\x57\x00\x00\x00\xff\xff\xea\x14\x7b\xf5\x80\x5b\x00\x00") + +func assetsFontsGlyphiconsHalflingsRegularWoffBytes() ([]byte, error) { + return bindataRead( + _assetsFontsGlyphiconsHalflingsRegularWoff, + "assets/fonts/glyphicons-halflings-regular.woff", + ) +} + +func assetsFontsGlyphiconsHalflingsRegularWoff() (*asset, error) { + bytes, err := assetsFontsGlyphiconsHalflingsRegularWoffBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/fonts/glyphicons-halflings-regular.woff", size: 23424, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsFontsGlyphiconsHalflingsRegularWoff2 = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x15\x40\xea\xbf\x77\x4f\x46\x32\x00\x01\x00\x00\x00\x00\x46\x6c\x00\x0f\x00\x00\x00\x00\xb1\x5c\x00\x00\x46\x09\x00\x01\x02\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x46\x46\x54\x4d\x1c\x1a\x20\x06\x60\x00\x8c\x72\x08\x04\x11\x08\x0a\x82\xa9\x24\x81\xe5\x65\x01\x36\x02\x24\x03\x86\x74\x0b\x84\x30\x00\x04\x20\x05\x87\x22\x07\x95\x51\x3f\x77\x65\x62\x66\x06\x1b\x65\x8c\x35\xec\x98\x8f\x80\xf3\x40\xa0\xc2\x3f\xfe\xbe\x08\x0a\xda\xf6\x88\x20\x1b\xac\x74\xf6\xff\x9f\x94\xa0\x86\x8c\xc1\x93\xc7\xd8\xdc\x2c\x33\x2b\x0f\x32\x71\x0d\xcb\x46\x16\xae\x59\x4f\x1b\xec\x04\x26\x3e\xb1\xe9\xb1\x62\xd2\x6d\xa4\x35\x81\x5a\x8e\xe6\x48\x24\xb1\xaa\x59\x8a\x19\x9c\xbd\x7b\xec\x48\x09\x6a\x64\x86\x0b\xd5\x89\x0c\xfc\xb2\x25\xf7\xb9\xd9\xa7\x7f\x79\x22\xa7\x04\x03\xf7\xf6\xd7\x2b\x8d\x40\xb9\x8c\x5d\xbd\xab\x65\x9f\xfb\x7b\xfa\xd2\xfb\x76\x90\xa0\x4e\x63\x8b\x29\x0e\xbb\x6e\xf9\x93\xc9\x3f\x7e\x3f\xe8\x90\xa4\x68\xf2\x00\xff\x9e\x5f\xe7\x26\x69\x1f\xc6\xca\xc8\x1d\xd1\x9d\x05\xc1\xa4\x8b\x3f\xba\x3e\xfc\xe5\x5e\x4b\x20\xfb\x76\xb4\x2d\x1b\x63\xdb\x8d\x31\xed\xf4\x80\x12\x89\x32\x4b\xa0\xe1\x79\xb7\xf5\x2c\x27\x6e\xe4\xab\xe0\x00\x07\x28\xf0\x33\x45\x77\x69\xe0\x42\x05\x17\x82\xa0\x26\xa9\xff\x0b\xe9\xce\x54\xb4\x6c\x68\xd8\x30\x4d\x1a\xd2\xd8\xda\xd2\x86\x64\xe5\x59\xd8\x72\xf1\xef\xb2\xac\xb3\x6e\x74\x69\xde\x5d\xdd\x79\x75\x72\x95\xb4\xbc\xae\xfb\x99\xee\x13\x56\x58\x73\x6a\x0e\xa1\xa2\x9e\xe5\x67\x4d\x6e\x19\xaa\xd3\x99\x48\x81\x57\x95\xa9\xc3\xd4\x08\x20\x72\x32\xf4\x3e\x69\x54\x60\x56\x37\xb8\xcd\x52\x28\xb1\xa8\xc9\xcf\x1a\xe0\xff\x2b\xa0\x6f\x36\xf3\x27\x63\xc5\xc8\x42\xb0\x8f\xe6\x06\xeb\x34\xe7\xb7\xd6\xce\xb9\xdd\x7f\x87\x83\x8b\xe3\xbf\x9a\xae\x54\x09\x5d\x61\x5b\x51\x64\x3c\x33\x77\x71\x38\x2c\x8e\x85\xee\x72\x54\x49\x16\xa1\x38\xe1\x12\x1c\x8e\x30\x3e\x45\xb8\x3f\xf9\x2a\x45\xa8\xe7\x97\xa6\x95\x23\xcf\xfa\x37\x27\x8d\xec\xdd\xfd\x86\x53\x09\x0c\x0b\x6f\x63\xfb\xca\xb7\xed\x5f\x8b\x37\x26\x23\x2a\xd1\x2b\x29\xbd\xb3\xa0\xd0\x2b\x34\x61\x01\xb0\x41\x36\xb6\x63\x8c\xe7\x79\xb1\xd9\xa3\x86\x66\x28\x62\x19\x46\xe9\xe6\xe4\xff\xe9\xb4\x24\x3b\x7b\x20\x59\x41\xc3\x31\x76\x50\x2d\x74\x47\xf8\xff\x8c\xe1\xc0\xb1\x15\xcd\x22\xfb\xb0\x95\xdb\x01\x43\xc2\x66\x2d\x20\x57\x82\xf7\xae\x02\x9a\xd4\x99\xce\x75\x4b\xd6\xb0\x4b\x08\xe3\x23\xad\xed\x0e\xe4\xac\xd6\x2a\x4b\x86\x3c\xdb\xfc\x04\x20\x28\xd1\xdf\xeb\xd4\xf7\xd7\xff\x5a\xfe\x60\xd9\xab\x0c\xe5\xb5\x5b\x97\x25\xea\x59\x05\x54\x8a\xac\x7b\x25\xaf\xc9\x8a\x24\x88\xad\x10\xa0\x73\x7b\x6f\xef\xed\x19\x9c\x17\xf2\x88\x83\x18\xd5\xbb\xef\x76\x74\x22\x70\xe0\x9c\x34\x60\xc8\xea\xdf\xa9\x8a\xcf\xa4\x7d\x6f\x0c\x60\xe3\xb3\xdd\x14\xfa\x27\x6e\x14\x65\xdc\x3e\x0a\xe4\x47\x1e\x35\x73\x00\x7a\xf3\x5f\x4e\xf3\x0a\x92\x50\x4b\xd3\xa6\x76\x6d\x55\xde\x0b\xc9\xbe\x7b\x7a\xbd\xdc\xf2\xee\xf3\xff\x9f\x19\xf8\x7f\xf8\x8c\x87\x22\x33\x60\x6c\x0d\x92\x1c\x03\x96\x57\x23\xd4\x90\xbd\x5e\x18\x40\x2b\x8d\x2c\x07\x63\xb9\xc9\x6b\x6f\xa9\x8d\x41\x4f\x1b\x70\x15\x6e\x75\xb5\xa7\xd4\x7a\xf3\x96\x7a\x4a\x29\xf5\xdc\xce\xa5\x1e\xf7\x98\xdb\x31\xc7\x7d\xe1\xe1\xff\x4f\x3d\xde\x7f\xad\xb6\x80\x78\xbe\x52\xc6\xc4\x60\xc1\x4a\x89\x60\xa7\x71\x83\x15\xa5\x82\x55\x73\x2f\xbf\x2b\xf8\x6b\xd2\x76\xc7\x31\x78\x6c\x1a\xdd\xdf\xe7\x6a\x12\x6c\x05\x96\x45\x6c\xec\x5c\x6e\x44\x8c\xc8\xc3\xc6\xb6\xaf\x56\x86\xb1\xe6\xff\xd0\x6a\x67\x9b\x7b\x5a\x64\xe5\x89\x08\x7a\x37\x8f\x0b\x14\x35\xff\xdf\x21\x04\x78\x6d\xc2\x35\x6f\xc2\x5b\x07\x1c\xbd\xbf\x75\xef\xfb\x26\xb7\xaf\x31\xda\x82\x48\x10\x42\x6b\x41\xe2\xec\x08\x71\x72\xea\xce\x52\x90\xc4\x0d\xa3\xb7\xb0\x16\x8f\x28\x5c\x67\x68\xf4\x10\x14\xc8\x37\x89\xec\xd2\x8a\x79\x8f\x3d\x86\x48\xb5\x5a\xf3\x55\x50\x68\xe9\xd0\x24\x38\x10\x52\x67\xd3\x05\xc4\x18\x80\x7a\xc2\x67\xcd\xad\xc9\x4e\x3a\x8b\xe0\x00\x31\x75\xac\x24\xdc\x85\xaf\xa4\xa1\x9e\x3e\x52\xfd\x5d\xe5\xfa\x14\x97\x0e\xa6\xac\x22\x9f\xf4\x66\x37\xbc\x97\x0b\xf5\x4b\xaf\x5e\x7f\x27\x98\xaa\xeb\xbd\x33\x93\x2b\x45\x2f\xbc\xc4\x5e\x89\x59\x55\x35\x5d\xa8\x4e\x42\x17\x2e\xde\xca\x8b\xa5\xd2\x38\xdf\xc5\x2b\xce\xcd\x8f\x38\x8f\xf9\x2c\x7c\x89\x7b\x4d\x7c\x8c\x41\x8a\x11\xe5\x75\x61\x7c\xd0\x61\x88\x92\x7f\xec\x8e\xd5\xde\xcb\x85\xd5\x9d\x25\x00\x0a\x7f\x6c\x4b\x47\xa2\x50\xed\x2c\x17\x4e\x75\x14\xe6\xdc\xd4\x6b\xfe\x63\xef\x38\x6d\x58\x40\xda\xd3\x64\xff\x17\xcc\x98\x3f\x7f\xf1\xfc\xda\xf3\xa2\xe7\x59\xd3\x26\xcf\xfe\x7b\xea\xf6\x94\xf8\xb3\xc7\xcf\x0e\x3f\xdb\x50\xdc\x28\xae\x14\x47\x8a\x5d\xb6\xbf\xcf\xc6\xe4\xaf\xe4\x4f\xe4\x8f\xe4\xb7\xe4\xd7\xe4\x97\xe4\x06\x72\x2d\xb9\x92\x5c\x4c\x46\xc9\x08\x39\x97\x2c\x26\xa7\x93\x79\xe4\x38\x72\xac\xfb\xb4\xfb\x33\xf7\x1f\xdc\x9f\xb8\x3f\x70\xbf\xef\x3e\xea\x7e\xdb\xfd\xba\xfb\x15\x73\xe8\xe4\xff\x05\x8b\x9e\x12\xd0\x10\xa2\xd3\x44\xc7\x08\xa4\x7a\xf3\x31\xfa\xa1\x3f\x12\x5c\x55\x35\x16\x71\x3d\xad\xd9\x74\xd1\x7a\xd4\x92\x0e\x86\x26\x5a\x90\x6e\x6a\xa2\x25\xe9\x6d\x4d\xb4\x22\x7d\xbc\x89\xd6\x74\x6b\xde\x44\x1b\xba\x77\x68\xa2\x2d\x3d\xff\x6d\xa2\x1d\xbd\x42\x13\xed\xe9\xf5\x37\x36\xf1\xf4\xae\x83\x26\x3a\xd2\xbb\xc9\x71\x74\x22\x0b\xd6\x31\x3a\x93\x15\xac\xeb\xd0\x95\xac\xa9\x75\x3b\xf4\x22\x4b\x5f\xa1\x2f\x4a\x64\xd6\x63\x30\x96\x6c\xb2\xf5\x1c\x30\x1d\xb2\xc5\x27\x5e\x03\x16\x42\xb6\xf9\x38\x56\x43\xb6\xd5\x7a\x67\xb0\x06\xb2\xbd\xac\x0f\x06\x5b\x20\x3b\xca\xfa\x64\xec\x0a\xd9\x59\xd6\x17\x62\x7f\xc8\x83\x75\x1d\x0e\x87\xbc\xa9\x75\x3b\x9c\x40\x9e\x2a\x7d\x01\x06\x79\x89\x7c\x0c\x2e\xa9\xac\x27\x43\x3e\x13\x5c\x67\x3d\x1b\xf2\x39\xe0\x56\xeb\xc5\x90\xaf\x01\xb7\x5b\x6f\x86\x7c\x67\xf0\xa0\xf5\x5e\x90\x1f\x0c\x9e\xb6\x3e\x8a\xfc\x64\xbc\x0a\x39\xad\xcf\xc7\xfb\xe4\x17\xee\xd8\xc5\xf8\x94\x0a\x2a\x45\x7c\x41\xa5\x0e\x8f\xe3\x1b\x2a\x4d\xad\x5b\xe3\x5b\x2a\x6d\x4f\xdc\x0e\xdf\x51\xe9\x7a\x1c\x3f\x50\xe9\x6e\xdd\x1b\x3f\x52\x29\x59\x8f\xc1\x6f\x54\x26\x5b\xcf\x01\x55\x2a\x8b\x95\x35\x10\xc0\x53\xd9\x0c\x4d\x42\x0b\xfe\xec\x04\xa1\xa5\xf0\x5b\xb3\x13\x0a\xad\x84\xdf\x6f\x59\x44\x68\xad\x18\xd5\x7b\xec\xd1\x2c\x7d\x31\x3c\x66\x8d\x26\x02\x36\x68\xa4\x18\x86\x27\x8f\x81\x7f\x07\xca\xa5\x55\x23\x56\xa8\x08\xde\x11\xad\xbc\x1f\xa1\xa5\x45\xfb\x44\x7f\x22\x54\xc1\xa5\xde\xa9\xd0\x06\xa2\x41\x44\x39\x83\xff\x65\x42\xb9\x3a\xa9\x07\x06\x15\xc4\x25\x0f\x02\x4f\x9c\xc1\x20\xd2\xd0\x04\x13\xf1\x82\x87\xd8\x46\x12\x75\x8a\x6e\x20\x16\x37\x3f\x25\x52\x03\x47\x34\x22\x84\xb8\x66\xa9\x67\xc7\xc1\x46\xea\xba\x81\x20\x0e\x61\x3d\x82\x91\x2d\xb3\xd5\x51\x97\xe1\xbd\x79\x2b\x42\xbd\x2c\xc4\xf8\xd0\x32\xc3\xcb\x13\xd6\x85\x35\xa2\x95\x87\xf0\x99\x84\x8c\x78\x6e\xa1\x05\x15\xce\xaa\x04\x66\x2a\x21\xa1\xb3\xe6\xeb\x6c\xe2\x7c\x47\x58\x51\xf8\x20\xde\x83\x55\x70\x94\xe4\x0a\xc5\x45\x75\x20\xc2\x40\x9e\x01\x8f\xa6\xe5\x2d\xf0\x80\x04\x1f\x44\x6f\x2e\x36\x59\x5a\xf6\x82\x2d\x26\x61\x3e\x66\x12\x3f\x9b\x00\xab\x93\x4e\x8f\x4e\x9c\xa2\x09\x5d\xd4\x4f\x2f\x5e\x3b\x5c\xda\x0e\xc2\x4a\xca\x0d\xcf\x42\x06\xc7\x45\x73\x4a\x72\x19\x04\xaa\x90\x19\x01\xa0\xc4\x9a\xf5\xc6\x0f\x14\x27\xf2\x85\x67\x12\x2f\xe3\xe3\xd1\x42\x17\x25\x9f\xa1\x1e\x6f\x20\x1f\x43\xf5\xea\xba\x6e\x95\x37\x8b\xdc\x3a\x05\x7c\xf5\x79\x83\x4b\x74\xb2\x26\xf7\x24\xa7\xd8\x73\xaf\x7c\xb9\xf5\x77\x50\x88\xf9\xc4\x5c\x69\x5d\xbe\x24\x5a\x12\x40\x2b\x01\xcd\x0c\xb6\xb6\xd5\x80\x39\x30\x78\x5d\xbb\x72\xb8\xad\x25\xbe\xc8\xd5\x2b\xf6\x07\x52\x55\xac\x45\x6d\x87\x2b\x16\xdc\xb0\xaa\xa3\x3b\x77\xa0\x75\xac\xc0\x39\x2f\x49\xbc\x05\xd4\x37\xc8\x37\xd5\xa6\xb9\x51\xfe\x6c\x75\x5c\xa6\x79\xd0\x0e\x57\x8b\x10\x4e\x29\xeb\x38\x89\xdc\xb0\x76\x59\xee\x2a\x75\xb4\x6d\x02\x94\xa1\xb1\xbf\xe9\xe2\xa9\xe2\x04\xba\x6d\x28\x09\x66\x06\xca\x45\xbd\xf2\xff\x47\x38\xb2\x0c\xa2\x6a\x23\x49\xac\xbd\x52\x8e\xcc\x17\xf9\x7a\x0c\x23\x71\xb8\xdf\xb7\xdf\x01\x06\x09\x84\x29\x59\xa0\xd7\x24\x8b\x0b\xe1\xd0\x9b\x86\x63\x5f\x25\xbf\x6d\x2d\x7b\x21\x30\x2d\x60\x0b\x3b\xe1\xe5\x85\xac\xf1\x14\x68\x79\x56\xf5\xe4\xc1\x5d\x48\x76\x21\x09\xcf\x1f\x74\x1c\x61\xbd\x5c\x4b\xef\xc5\x10\x1e\x06\xa5\x5b\xcc\x31\x7b\x1a\x03\x22\xe7\x6a\x20\x36\x40\xec\x96\x33\x54\x30\x25\xa5\x13\xbf\x0f\xe9\xce\x98\x22\xc7\xd4\x99\xc6\x5a\x49\x86\x47\xe4\x06\x9b\x53\x93\xf7\x8d\x82\x2e\xb3\x11\xc4\xce\xa3\x70\x07\x81\xc6\xd3\xac\x53\xc6\x31\x65\xe9\xfb\xd9\x93\xc4\xd8\x9b\x9d\xf9\x0c\x59\xc1\x1e\xff\x76\xbb\x38\x1a\x08\x64\xb1\x5c\xb1\x42\xa1\x17\x6c\xa1\x53\xfb\xfe\x52\x29\x06\xd2\x13\xd3\x86\xe7\xf9\xaf\x96\xae\x80\x0b\x7b\x02\x49\x8a\xd3\x86\xf4\xd2\x25\x9d\x94\xaf\x3e\xfb\x30\xd0\x8e\xda\xa6\xb3\x5c\xf0\x27\x94\x63\x67\xbd\x32\x25\x34\xa0\x51\x8e\x44\xa1\x0a\x30\xcd\x92\x33\x42\xb2\x22\xc9\x4d\x8e\xd5\x8e\x26\x80\xdb\x8a\x68\x49\x15\xc7\xc2\xda\xa7\xd2\x52\x67\x10\xb7\x4d\x45\xa4\xa1\xa9\xa1\xb6\x9a\x0d\x49\xbd\xce\x28\x07\xa9\xde\xd5\x35\x55\x96\x44\x5d\x0c\x7d\xf2\x1d\x99\x07\x62\xed\x38\x24\x97\x87\xec\x38\xa8\x3e\xf3\xe1\x58\x20\x01\xb2\x07\x68\x95\x22\x6c\x1e\xb5\xce\x80\xe2\x6a\x1c\x9d\x2e\x25\x88\xdb\x80\x18\x48\x48\xc7\x2d\x0b\x49\x9a\xa6\xdd\xb8\x23\x31\x92\x1d\x43\x01\x34\xf5\xde\x59\xde\x01\x37\x84\xed\xee\xae\x12\xed\x59\xdd\x96\xa1\x56\x0c\x6f\x08\x1a\x3e\x50\xca\x5d\xa1\x36\xbf\xb7\x07\x98\xf6\x99\x4f\x34\xff\x37\x66\x1a\x0d\xbd\x7e\x00\x18\x1e\x41\x4a\x64\x59\x46\xd5\xc2\x80\xca\x2e\x96\xde\x6f\xf5\xc3\xfe\x79\x29\x09\xc6\x38\x6c\xc6\x0b\xb6\x32\x32\x8e\x65\x8a\x9c\x1f\xa6\xd2\x31\x48\x1b\xa1\x5b\x01\x74\x89\xb0\x40\x21\xc8\x85\x0c\x32\x5c\x80\x40\xb8\x08\x35\x06\xc4\xd9\x93\xca\x25\x5a\xd7\xee\xfc\xdb\x6b\xde\x92\x08\x06\x61\xf5\x9d\xae\xdc\x40\xfa\x2e\x60\x6e\xa8\x33\xca\x4f\x46\x8c\xa2\x10\x52\x28\xf3\x85\xa5\xb6\xf7\xff\xbd\x5a\x01\x6b\x4c\x6b\x05\x46\x20\xed\x48\x57\x6a\x59\x1f\x0d\x49\xa4\xea\x35\xd7\xe7\x2a\x13\xf1\x36\xda\xce\x65\xb5\x53\x62\x6b\x2e\xa4\xbc\x35\x46\x2c\x17\xec\x2e\x95\x02\x4e\x30\xdf\xd4\x99\x92\xb9\x80\x7c\x94\x86\x56\xa6\x80\x7c\x7c\x7e\x05\x4e\xf4\x87\x28\x09\x20\x34\xb7\x9d\xec\xda\x5d\x2c\xec\x1a\x4a\x70\x7c\x7e\xf9\x78\x65\xd3\xc9\x41\xa8\xd4\x1c\xa1\xaf\x35\x88\x88\x2f\xbb\xda\xbb\x53\xa4\xfd\x04\xe4\xf4\x94\xd0\x76\xf2\xd7\xdc\x79\x3f\x9b\xf9\xb2\x27\x5f\x76\x7c\x72\xea\x84\xcb\x58\xdc\x06\xf8\xee\x48\xe9\x51\xca\x05\xb0\xb5\x15\x05\xc4\x93\x42\x40\x3d\x0b\xdd\x58\xac\xdf\xfa\xac\x42\x13\x18\x39\xcb\x34\xb3\x98\xab\xc3\x54\xa9\xd8\x42\x89\x42\xa9\x63\xa0\xad\xc1\x18\xab\x48\x91\x50\xa3\xce\x2b\x82\xf2\x89\x81\x5f\x93\x93\xd5\x59\x48\xd9\x23\xac\x24\xaa\xcb\xca\x60\xa0\xec\x46\xf8\xa3\xf1\x42\x3b\xe3\xb5\xc2\x2b\xdb\x11\x94\x85\x42\x50\x52\xb0\x34\xcc\xbc\x20\x74\x04\xad\x3a\x74\x08\xf5\x22\x5a\x13\x45\xba\x4a\x5e\x21\x58\xc2\xc7\x93\xe0\xac\x71\x34\x5f\x64\x54\x57\x28\x35\xe4\xdc\x80\x04\xa7\xe5\xff\xe4\x1f\xb8\xda\x49\xb1\x94\x55\xc5\x87\xd2\x41\xcd\x7a\xfe\x40\x55\x36\xff\x6e\x2e\x57\x47\x58\xfd\xc0\xc1\x05\xe8\x48\xec\x52\x4b\xc0\x16\xdb\x1a\x26\x08\x27\x73\x77\x4d\xb1\x6a\x8a\xca\x8e\x98\x8b\xb1\x3c\x9f\x94\xb1\x98\x33\xa6\x29\x80\x96\x9d\x60\x23\x46\x40\x12\x0c\x18\x0c\x46\x20\xd4\xa2\xe0\x08\xfe\xd8\x76\x8d\x6f\xcd\x62\x24\x78\x0c\x07\xef\x2b\xb2\xe0\xbc\x75\xfb\x26\xb4\x7d\x89\x7c\xca\x58\x18\x26\x5b\xd9\xaa\x90\x38\x46\x8b\x2d\xb9\x45\x26\x2f\x3e\x8a\x2f\x17\xd1\x47\xc5\x2e\x61\xea\x7a\x5e\x8a\xde\x2f\x83\xd4\xfe\x7d\x29\x9c\x11\xb2\x13\x92\xf3\x27\x93\x78\xa9\x91\x24\x4f\x3d\x3c\x01\xc7\xc2\x7a\x99\xa4\x6f\xe4\xa7\xe1\x41\x39\x4d\x1f\xd8\x9d\x26\x1d\xf2\x7e\xee\xa1\x99\xb9\x33\x19\x72\xb5\x05\x33\x67\x9f\x9c\xa6\x27\xbf\x38\xd2\xa3\x5c\xb0\x2d\xb6\x4d\x44\x7a\xc8\xe8\x11\x98\xf8\x6b\xba\xcd\x35\x86\xf9\xb1\xb4\x41\x0a\xdd\xc2\xfd\xaa\x47\x39\xa9\xe4\x7c\x31\x2d\xd8\x21\x20\xc7\x38\x37\xfb\x10\x5b\x9c\x7f\xf4\xa4\x2c\x6d\x52\xee\x75\x7c\xa6\x35\x37\xae\x0a\x1c\x3d\x58\xfe\x91\xa4\x2c\x98\x61\x4a\xa7\xd9\x1b\x16\x9b\xb8\x5e\x74\xb4\x4e\x9b\x34\xd3\xd8\x5c\x66\x10\xd0\x84\x5d\x41\x7a\x1b\x48\x5e\x02\x37\xb7\xaa\x46\x95\xe8\x1c\xfe\x95\x99\x84\x26\x6b\x22\x1b\x4c\x55\x3e\x7d\xec\x3e\xe7\x72\x42\xe5\x58\x28\xdb\x82\xaa\xeb\x82\x02\x54\x9a\x25\xbf\xab\x0b\x4a\xaa\x08\xbf\x84\xad\x64\x68\x4b\xc4\x1f\x94\xf3\xb6\x50\x93\xb2\x4b\xc1\x1e\x54\x46\x61\x41\x87\x33\x48\x48\x86\x43\x5b\x72\x3b\x61\x9b\xc0\xb6\x64\x02\xb7\x99\x17\x87\x1a\x95\x35\x34\xc8\xcc\x0c\x89\x97\x6c\x4c\x84\x6b\x03\x6a\x47\x0f\x1a\x7b\xa1\xec\x38\x9f\x68\x7e\xe4\x8f\x07\x0d\x66\x52\x40\x03\xd0\xec\xfc\x1e\x39\x77\xe0\x42\xa8\xa4\xe0\xd0\x30\xeb\x0b\x7a\x53\xf5\xf4\xb0\xe2\xff\x27\x97\xa0\x14\x02\x61\x37\x03\x82\x40\xdd\x40\x4e\x9b\xb1\x8a\xdd\xc6\xb9\x6c\x91\x62\x18\x6a\x33\x0f\x68\x4e\x04\x13\xee\xb2\x58\xf6\x8b\x46\x2f\xc9\xed\x65\xa2\x73\xa3\xd9\x27\xfa\x8a\x44\x73\x51\xab\xf1\x3c\xfe\x6b\x5e\xd3\xed\x1d\xf2\xd7\xbc\xb2\xfd\x88\x5a\x41\x53\x4f\xa8\x69\x17\x64\xba\x53\x4a\xe3\x78\x1c\x4e\x34\x44\xbd\xb3\xc0\x4b\xd3\x21\xb4\xb9\xd4\xf9\x09\x21\xd9\xab\x76\x89\xac\x68\x41\x60\xdb\x45\x96\xb7\x58\x10\x90\x95\x00\x02\xbc\xca\x2d\x0d\xa2\x50\x0d\xed\xc4\x3a\x9f\x82\xdb\xd1\xa4\x1b\x7f\x43\xea\x3a\xc2\xc2\x57\xcd\x7a\x53\xbd\x73\xc4\x64\x4f\x0c\x3a\x08\x10\xb6\x5f\xbf\xab\xd4\xcb\x60\x8a\x3a\x74\xc1\x61\xce\xb7\xd0\x91\x0b\x1e\xa5\x86\xb2\xcd\xd8\xb3\xfa\xa2\x16\x81\xae\x0d\xbc\x49\x59\xf0\x04\x34\xc7\x0c\x23\x20\x10\x90\xf8\x2a\xd2\x1c\xcd\x2b\x3c\x03\xea\x71\x00\x6e\xb0\x6f\xd4\x00\xb8\x75\x0a\x55\x08\x04\xcc\x63\x77\x77\x8f\xf3\x78\x24\x64\xb5\xb3\xf0\x1b\xc6\xbf\x0e\x9d\x7d\xcf\x81\xfb\xd6\xc1\x39\x34\xcc\xfd\x9a\xed\xfc\x03\x39\x70\xac\x2a\x54\x3a\xfa\x25\x47\x15\x51\xe6\x85\x5e\x61\x9f\x8b\x15\x87\x10\xe4\x03\xdd\xcb\x27\xa8\xe7\x65\x83\x1e\xf4\x62\xf6\xa8\x04\x14\x14\x8a\x6c\x2d\xd5\xdc\x2a\x58\xdd\x4c\xe7\x25\x2a\xc5\xba\x08\x19\xb8\x2e\x85\xda\x8a\xc8\x5c\x8a\x40\x70\x52\x24\x54\xe5\x2a\x4b\xd6\x18\xcd\x05\xbd\x08\xb8\x68\x70\x87\xc0\x88\xc8\xe8\xc1\x82\xdf\xe3\xa6\x6d\xfa\xc1\x1b\x91\xe2\x2d\x2f\x93\x6f\x53\xda\x33\x8e\xdf\xc2\x45\x8d\xe0\xcf\xce\x74\x6f\x7f\xb8\x07\x9e\x7d\xe7\xd0\xb6\x56\x87\x6f\xf5\x07\x65\x4a\x0b\x60\x3c\x99\x24\xf6\xd9\x74\xed\xd8\x12\xbd\xdf\xfc\x1f\x09\xaa\x5d\x67\x2a\xdf\x5a\x9b\x0f\x84\xb5\x36\x71\xb0\xc0\xf9\x6c\x92\x04\xf8\x7e\x1b\xf7\x45\xaf\xab\x0a\x86\x53\xfa\xb8\x2f\x8a\x92\xf9\x69\xa3\xc4\x54\xc6\x74\xcd\x6b\x82\xc7\xae\xe0\xb2\x57\xdd\xc3\xbe\x0c\xdc\x3d\x3f\x6a\xb9\x00\x47\xa2\xd2\xcc\xd4\x55\x55\x05\x41\x4a\xc6\xf5\x0e\xfd\x9b\x02\x1c\x60\x86\xd2\x62\xd4\xcb\x91\x97\x83\x47\xc2\x88\xf5\x51\xcd\x41\xcf\xab\xa9\x81\xf1\xc3\x96\xce\x15\xc6\xda\xec\x63\x83\xfb\xea\xbd\x57\xcb\xef\xa9\x15\xe8\x03\x57\x53\x6d\x08\xdd\xc0\xad\x67\xb3\xba\xda\x46\xcb\xf1\xaa\x91\x26\xa9\x5e\x16\xf5\xfa\xd8\x98\xd4\xa1\x88\x36\x3b\x43\x31\x3a\x3d\xdb\x88\x50\x89\xe4\xba\x14\xd5\x60\xca\xda\x9c\x90\x56\x56\xff\x93\x1d\xd4\x45\x9d\xc6\x35\x22\xb4\x68\x4f\xab\x58\xe0\x7e\x14\x1b\xab\xde\xd8\x4e\x33\x5f\x35\xd3\x81\x5d\xba\x7a\x2d\xfe\xad\xe4\x92\x43\x57\xd3\xdd\x74\xd4\xa5\x8d\x82\xd3\x88\xb4\xd0\x18\xcb\x65\xdc\x5d\xb0\x5c\xb6\x94\xa9\xbf\x1d\x56\xaf\x19\x13\x96\x8b\xff\x63\xd4\x23\x1d\x6d\x5b\xc6\x6b\x75\xde\x97\xad\x5f\xca\xb1\x22\xa9\xc9\xf6\x73\x8d\x48\xb3\x7f\xf4\x3c\x7d\x78\xef\xb1\x02\x85\x6d\x30\x62\xe5\x78\x01\x48\xd3\x71\x62\x1f\x91\x61\x33\x74\x66\xe7\x4d\x54\xdb\xd1\xcf\x2a\x5d\x49\xbb\x18\x1c\x0a\x15\xde\x7d\xd7\x28\x1c\xfa\xbe\x9c\x2c\x4d\x94\x84\x8d\x96\x3d\x8a\x09\xdd\x40\x8c\x4a\x41\xdb\xc6\xd0\x64\x89\x90\xa0\xac\xcb\x3f\xc2\xa7\x36\x50\x56\xb1\xf6\x5b\x0d\x64\x56\xe3\x76\xf4\xe6\x34\x6a\x9e\xd2\xdf\x9b\x91\x6c\x48\x5c\xe2\xf7\xd4\x16\x8c\xc5\xe8\x7b\x98\xd8\xf2\x02\x4d\xf4\xe5\xbd\xc8\x98\x5c\xba\x9d\x8d\xe5\x01\x59\xfe\xdc\x81\x80\x1c\x1d\x81\x60\x39\x4d\xc3\x60\x44\x13\x62\x87\x3c\xc1\x05\x12\x3b\x61\x23\x7a\xf2\x86\x91\x3c\x8a\x78\x22\x06\xf3\x2c\xa8\x64\x82\x67\x43\x69\xbf\x60\x91\x63\x92\x9b\x16\x3a\xc1\x01\x05\xc8\xe2\x49\xb4\xe2\x3e\x6a\x77\xb7\xcc\x7d\x4a\x05\xc8\xc9\x7a\xa7\x8d\x5e\x3a\x56\x2e\x1d\xfd\x3a\xd7\xfe\xda\x8b\x13\x7b\xbf\xcd\xbc\x06\x28\xc8\xb2\x42\xf7\xe6\xcb\x1c\xc9\xa6\x03\x92\xc9\xf3\x78\x8e\x3c\x18\x1e\x44\x62\x23\x22\x53\xa3\xa1\x7b\xf4\x92\x50\xf9\x48\x75\xbd\x4e\x81\x2f\x13\xeb\x7b\x72\x36\x05\x3b\x77\x55\xb6\x13\xe6\xd0\xf2\x12\x73\xd6\x50\x17\xd0\x9e\x93\x3c\xa4\xe7\x58\xc0\xe0\x59\xe2\x73\xd4\xc4\xf7\xde\x4d\x78\x75\xb0\x87\x14\x5c\x9a\x62\x00\x91\xda\x73\xb8\x24\x11\x8e\x98\x11\x78\x8e\xca\x28\xa2\x89\x2f\x5e\x7c\x03\x5e\x2a\x18\x30\x6a\x7e\x6d\xe0\xac\x3b\x23\xb7\x25\x4a\x84\xde\x4d\x34\x9d\xc7\x70\x98\x51\x4d\xd7\xac\xf0\x3a\x3a\x1a\x62\x5c\x43\x32\x67\x66\x01\xb0\xb0\x5d\xbd\x7a\xd2\x50\x38\x54\x99\x20\x55\xaa\x93\x51\x62\xd6\xe8\x74\xba\x83\x1d\x43\x1c\xbd\x54\x9f\x3e\x0a\x70\xa0\x38\x2b\x36\x67\x5f\x32\x96\x6c\xce\xa1\x36\xa7\x48\xf2\x11\x08\x20\xda\xce\x00\xc7\x86\x0f\x48\x9d\x3a\xf7\x0d\x64\x9b\x3c\xe6\x43\xcd\xe9\x36\xb3\xaf\xd8\xa4\xea\x2f\xab\xbf\x36\x7f\xe3\x45\x3a\xc2\x4b\x8b\x94\x22\xcb\x60\x6b\x4a\xa9\x3c\x9b\xcf\xc6\xa2\xe4\x3d\x08\xf9\x76\x9e\x37\x84\xa5\xe2\x4e\x35\xb7\xb5\x60\xb0\xf2\x9b\xb6\x4a\x74\x8b\x12\xd9\x5c\x6a\xb9\x36\xcd\x85\x25\x03\x0e\xcb\x9e\x37\xf4\x2a\xa5\x27\x0f\xa5\x10\x95\x55\x95\xd9\x34\xb1\x3a\xe2\x1b\x58\x2b\x0d\xe4\x5c\x02\x62\x00\xfc\x92\x45\x0a\x11\xe4\xec\xf4\xde\x61\x66\xae\x8a\x78\x8c\x1f\x93\x7d\xc1\x89\x31\x2b\x70\x99\x8b\x42\xa5\xcb\x30\xee\x36\xf2\x17\xe2\x94\xe5\xfd\x9e\x33\x72\xf5\x41\x24\x1b\x4e\x14\x9a\x7e\xb6\x12\xf4\x23\xb3\x64\xaa\x7d\x08\xc7\xd7\xa4\x9f\x50\x37\x68\xf7\x48\x37\x62\xa3\x46\xaa\x9e\xc2\xa7\x85\x82\xac\x38\xf0\x11\x0d\x1e\xb3\x50\x3e\xf8\x42\x74\x19\x1e\x47\x4e\xd0\x14\x15\x8e\xa2\xf0\x6d\xe4\x01\x82\x78\xf4\x40\x8f\x6a\x09\x85\x91\xb8\x7c\x7b\xc0\x73\x39\x12\x19\xe0\xbb\x3d\x0f\xfe\x77\x52\xd9\x2f\xad\xab\x6f\x44\x4a\x73\x35\x16\x7a\x3e\x93\x3b\x8a\x27\x78\xdd\xf1\x45\x06\xd0\x71\x15\x5e\x06\x72\xe9\x5e\x3d\x47\x1a\x3f\xbd\x85\x39\x41\xea\xa1\x06\x7f\xe6\x96\xc7\x41\xe4\x5f\x97\xa3\x06\xed\x4b\x25\xb5\x44\xc9\xae\x3a\x75\x69\x6b\x6a\x6b\xee\x49\x18\x65\xc9\xe6\xbd\x1a\xac\x47\xfa\xd5\x9d\x23\x2a\xa1\x86\x29\xb5\x6a\x6d\x06\x91\xe1\x7c\xbd\x74\xa3\xb9\x7d\x60\x01\x4a\xe6\xa9\x5a\xd8\x88\xe9\xd6\xf7\x17\x07\x03\x48\x0f\x3d\x34\xee\x9d\x7b\x67\xdf\x81\xa2\xbe\x29\xa1\x71\x58\x88\x4d\x41\x2c\x17\x9a\x48\xf8\x8c\x37\x18\xfb\x31\x89\xeb\x56\x22\xa5\xd9\x14\x0f\x6f\x2c\xe7\x59\x23\x68\x12\xfd\xfc\xf7\xdd\xa8\x53\x17\xf2\x5f\xea\x3b\x8b\xcd\x61\x5f\xd4\x97\x5a\x5e\x63\x6e\x34\xa2\xad\x10\x8d\xa0\x82\x48\xb8\x45\xab\xae\x3f\x89\xab\xb0\x11\x7d\xd1\x0a\xc8\x9d\xa1\xbb\xad\xdc\xee\xbc\xd9\xa4\x3d\x7d\x42\x9e\x57\x76\xde\xaa\x55\x65\xf0\xe5\x68\x9a\x17\x83\xda\x00\x47\x1d\x8a\x93\x46\x90\x85\x89\x91\xe6\x3b\x9d\x40\x32\x53\xa5\xd8\x01\x9c\x80\x40\xcb\x66\x20\x05\xfe\xc2\xcb\xfc\x6e\xcd\xe2\x32\xd0\x23\x8d\x8e\xe6\x1e\xb9\xf1\x13\x66\xdd\x59\x3a\x5d\xbf\x4a\x79\xe5\x08\x48\x5d\x1a\xad\x95\x2d\xb7\x98\x47\xd7\x8c\x77\x67\x76\x27\xa1\x07\x04\xe2\x7c\x88\xc4\x30\x65\xf1\x0a\xc3\x5f\x37\x88\xf0\xd2\x90\xab\x6e\x2b\x66\x1e\xdf\xd9\xb8\xe2\xe0\x59\x3c\xab\xe7\x28\xcd\x0a\xaa\x3f\xf6\xec\x92\x10\xa9\x91\x79\xf2\xf9\xa1\x25\x77\x6d\xac\x2b\x6a\x0e\x83\x26\x26\x21\xe8\xa2\x63\x93\x5e\xa1\x75\x27\x9d\x62\xfc\x26\xf1\x68\x9f\x6d\x36\x10\x04\xc2\xa4\x9a\xce\xfb\xb9\x2a\x32\x0c\x3f\x1c\xb4\x41\xc7\x49\x1c\xab\xb6\xc6\xb2\x35\x46\x06\x57\xbe\xd8\x99\x5b\xe2\xc6\x9c\x06\xa8\x42\xf5\x55\x7a\xef\x49\xce\x45\x94\x93\x21\x92\x6d\x3a\x8b\xd2\xfb\x9c\x78\x68\xd4\x65\x97\xdd\xc7\xae\x6e\xbc\x7a\x7c\x5d\x25\x0c\x8d\x90\x6d\x11\xd9\x72\xc1\x55\xb8\x46\x8d\xda\xaf\x90\x05\x94\xf9\x11\x7f\xae\x31\xc6\x0b\x1d\x89\x7d\x3b\x21\x0f\x6e\x20\x46\xbe\x26\xa0\x67\xf2\xda\xf1\xff\x50\x89\x86\xdd\x01\xaf\xaf\x1b\x1b\x3b\x26\xd7\xf6\xa9\x9c\xf8\xef\x18\x24\x24\xb8\x1a\xe9\x46\xab\x29\x1a\x2e\x74\x9b\x42\xed\x51\xa8\x33\xa6\x8e\xbd\x15\x28\x9e\x43\x3d\xfa\xb7\xd3\xe4\xa6\x58\xc0\xce\xd8\x65\x73\xd4\x3b\xdd\x69\xfb\xab\xb6\xad\xd9\x8a\x40\xbc\xd1\x08\x7e\xfc\x4e\xed\xc9\x1b\x1b\xce\xa1\x45\x01\x7f\xeb\x09\xd4\x53\x52\x8b\x14\x04\x14\xa1\x88\x68\x9d\x5c\xe9\xe8\xa3\xfa\xc1\x42\x65\xf1\x6f\x18\xba\x86\xbd\x9c\xa0\xb4\xb9\xce\x01\x62\x54\xd1\x16\x84\x06\x6e\xce\x92\x11\x6a\x75\x02\xb9\xbe\xc0\x1b\x09\x07\x67\x40\xe4\xf7\x27\x04\x71\x51\xeb\x94\x8e\x6e\x78\x2e\x75\x36\x62\x56\x55\x26\xd4\x0c\x9b\x5d\xb9\x3b\xdb\xef\xaa\x15\x21\x43\x5f\x0c\x84\x16\x06\x0b\x08\x9e\x8d\x35\xc6\x2a\xde\x7a\xb9\x1d\xc9\xba\xfb\x6d\x80\x52\x51\x75\x91\xaa\x71\x82\x92\xe0\x16\xa6\xb1\x50\xfc\xda\x5a\x30\x83\xb6\x7d\x6d\xf1\xbc\xa1\xcc\x06\xca\xf5\x6e\xbd\xa6\x5e\x6e\xd5\x4f\x72\xc9\x54\xa6\xe2\xc1\x91\xb5\xce\x3a\x9f\x55\xe3\x27\xd7\x68\xc0\xe6\xa7\x30\x6e\x0f\x5a\xa1\x70\x5e\x19\x52\xe9\x7c\x44\x46\xaa\x5f\x62\x5c\xf2\x40\x96\xd6\x6d\x81\x82\xe8\x44\x45\xeb\x38\x81\x00\xc6\x7b\x6f\xe8\x1e\x47\x4d\x89\xe1\xa0\x9c\x01\x71\xb8\xdd\xcf\x06\x7d\xdc\xee\x53\x64\x20\x16\x14\xae\x0f\x43\x2c\x1b\xfb\x04\x69\xc0\xdc\x9a\x45\xea\x1d\x12\x8a\xe9\x2f\xb0\xde\xc3\x8b\x5b\x18\x64\x38\x5d\x8e\xd7\x2c\x4d\x43\x49\x9a\xce\xd0\xf3\x5f\x75\x97\x2c\x5d\x56\x99\x81\x63\xf1\x22\x97\xe4\xa4\x70\x18\xb0\x06\x67\x1d\x40\xec\x60\x22\x79\x29\x8b\x2c\x3b\x42\xb3\x5e\x65\xad\x9e\x6c\x10\xda\x08\x04\xa1\xaa\x32\x27\x80\x2e\x28\x9d\xcd\xd0\xc4\x98\xe2\x79\x3e\xe0\x2d\x1a\x7c\xce\x68\xad\x18\xdc\x13\xd3\xc4\x77\x9a\xfa\xfe\xea\x3b\xa9\x6a\xe5\xa5\xe8\x1d\x92\xed\xd5\x8d\x18\xd1\xd2\x69\xd4\xbd\xb1\xe4\xaf\xea\x5f\x19\x08\x6f\x7c\x21\x40\xf6\x29\xc9\xa2\xdd\x1e\xaa\xc4\x3d\x7f\xd9\xcc\x8c\x53\x50\x7a\x9d\x97\xe9\x1d\x1f\x88\x2a\x21\x7a\x7d\x29\xbc\x7c\xc6\xa7\x54\x7d\xbd\x6a\x18\x91\x86\x45\xa3\x74\x43\xac\x5a\xe5\xa1\x6e\x8c\x8d\x17\xbd\x7f\xc3\xbd\x9c\x2a\xd5\x9e\xf5\xc9\x34\xdb\x86\xd7\xbd\x5b\xb9\xa9\xb1\x0b\xbe\x39\x1a\xbb\xd0\xae\x05\xa8\x8e\xe8\x88\x17\x91\x06\x92\xdd\x93\xf5\x8c\x7a\x60\x57\x08\x6d\x14\x65\xf4\x6f\x82\x8b\x7c\x6a\x38\x6a\xad\xef\x35\xe1\x18\x90\x39\xbc\xf6\xb5\x40\x2e\xfa\x9a\x45\xbf\x18\x56\xcc\x2f\xcc\x5a\x57\x05\x40\x17\x7c\x97\x81\x66\x5f\xe7\x10\x5c\x22\x24\x1d\x7b\xe1\x05\x9c\x91\x76\x10\xa1\xe0\xf2\x83\xf3\x9c\xc0\xc8\x2f\xb8\x06\xf2\xb6\x3b\x61\xd7\x16\x1c\x3a\x53\x65\xa6\x69\x33\x54\xe4\x47\xcb\x10\x2a\xeb\xce\xfd\x83\x5d\xb8\xc6\xa1\x2f\xcc\x68\x14\xc0\x32\x1d\x43\x33\x32\x24\xbf\xd3\x01\x0e\xf4\xbf\xfc\x31\x7d\xbf\x8c\x44\xa4\xcd\x4e\x58\xc9\xf8\xfe\x74\xec\x3f\x46\xcf\x9d\xed\x7e\x6e\x2c\x50\x6a\x39\x0f\x2e\xee\x96\x3e\xd7\xa3\xfc\xa8\xcd\x7b\x0a\x39\xfd\x7f\xc9\x45\x4e\x2d\x76\x7c\x33\x68\x86\x14\xf2\x91\x43\xc5\xd0\xb8\x45\x94\x95\x87\x20\x58\x54\xe0\xe2\xcb\x3b\x50\x96\x24\xc3\x3d\x8d\x4a\xd6\x2d\x0f\xdd\xd5\x67\xdd\x95\xfd\xf9\x69\x67\x7a\x7e\x71\x97\x28\x41\xe9\x3c\x3a\x68\x13\x31\xb1\x39\xb3\x33\xe1\x4e\xec\xcc\xbd\xf5\x51\x89\x8b\xe3\xc7\x7d\x43\x4c\xd8\x7f\x90\x57\xf9\xdf\xa7\xc2\xd7\x8e\xdc\x7e\x83\x12\x1b\xe1\x0d\x12\xda\x62\x99\xa5\x22\x86\x81\x87\xcd\x7c\xc7\x34\x75\x7d\xee\xf0\xad\xd7\x01\xd9\x63\x99\x79\x80\x04\xe0\x8b\xc8\x36\xb0\xa1\x32\xff\x5b\x20\xa5\xd8\xd6\x5c\x64\xb8\x2c\xb5\xd2\x8e\xd5\xb3\x62\x81\x11\x6b\xf9\xa4\xcc\x44\xe5\xe4\xbe\x25\x30\x54\xdc\x78\xad\xae\x7b\x3d\x3b\xf6\xd4\xb7\x8b\x86\x01\x28\x84\x69\x08\x87\x0b\x8d\xd8\x4c\x53\xb7\xf8\x13\xdf\x31\xbd\x98\xf8\xfd\xa9\xd1\x33\xff\x4e\xcf\x68\x2f\xa4\x36\x3f\xe6\x27\x45\x5e\xf6\x7e\xff\xc6\xd4\x50\xae\x7f\x7b\x73\x5a\xec\x1b\x99\x5a\xd3\x4b\x94\xc4\x9e\x13\x42\x7b\x92\x44\xcc\x74\xf8\x26\x89\xbd\xd4\x7a\x92\xd3\xf7\x29\xb5\x17\x55\x6f\x61\xf9\x35\x51\xa6\x33\x8f\x91\xc8\x97\x88\x72\x7e\xbf\x8e\x91\xbe\x0a\xa6\x01\xf4\xd9\xf9\x46\x5d\x11\xa0\x24\xba\x3c\xe8\x04\xfa\x74\x6d\x28\x9a\x7d\x0c\xfb\xc3\xcf\x4d\x42\x40\x87\x9e\x5b\x9c\x47\x78\xec\x08\xce\x46\xd3\x05\x68\x10\x38\x00\x9b\x23\x7d\x88\xf4\x2c\xa3\x23\xc0\x98\x75\x0b\xfd\x4c\x61\x7a\x28\xde\x51\x68\xb1\x34\x25\xd3\x78\x01\x6d\x04\x60\x55\x13\xe0\x95\xd5\xb9\x2e\x45\x11\xa8\xe3\x76\x31\x61\x92\x9e\x34\x0e\x5f\x27\x2f\x5b\xa8\x64\xb1\x7b\x46\x78\xa8\x49\xca\x35\x39\x9e\x8c\x0c\x83\x44\xf5\x11\x3c\xea\xec\x26\x90\x38\x56\x88\x45\xf3\x46\x67\xc9\xc8\xd9\x0b\xe8\x8a\x98\x23\xf5\x49\x91\xe4\x9f\x8d\x32\x53\xb2\xcd\xee\xff\x5f\x06\x0f\xe3\xa9\x5d\x51\x71\x41\x13\x9a\x6e\x88\xd1\x5f\xf0\x51\x19\xe7\x07\x12\x3e\x62\xde\x98\x34\x67\xa1\x19\xa8\xad\x13\xb1\x2d\xae\x01\x30\x26\x07\x45\x23\x63\xa6\xdc\x69\x38\xbf\x09\x76\x52\x2f\xd5\x34\xff\x18\x72\x9e\x8a\xeb\x08\x9a\x50\x37\x95\xa3\x4b\x03\x73\x4f\x57\x05\xb5\x4e\x33\xd5\x8f\x1e\x76\x45\x5c\x62\x71\x86\x7f\xfb\x51\xdf\x35\x18\x12\x8d\x5a\xb9\xda\xbd\x56\x79\x35\x07\x5d\x8d\x13\xbd\xd6\xf6\xe0\x68\x2f\x09\x69\x29\xc5\xfb\x9d\xa6\x8e\x2d\x2f\xb4\xb0\xe3\xa1\x6b\xb5\x4e\xac\xd1\x8e\xbe\xc8\xc4\x1c\x13\x23\x65\xec\x29\x22\x50\x17\xed\xf1\xfc\x08\x09\x7b\xfd\x4b\x53\x51\x90\x78\x89\xb2\xb8\x9d\xa6\x3e\x61\xe3\x26\xb5\xed\xb6\x8e\x3c\x61\x2c\xeb\xa6\x8c\x17\x48\x45\x48\xcf\xf2\xf3\x89\x0d\x02\x1c\x5d\x94\x25\x2c\x65\x44\x9e\xb3\x55\x7e\x57\xbb\x6c\xfd\x17\x8f\x03\xda\x9b\xab\x3b\x63\xbe\xe1\x98\x93\xf7\x07\x60\xfe\x9d\x3f\x20\xa1\xbe\x70\x91\x4d\x0d\xb2\x0b\x6c\xeb\xea\x2e\x82\x50\xb2\x57\x37\xf5\x06\xa1\xd9\xa3\xc8\x2e\x1a\x2f\xf4\x57\x9c\x23\x3b\x57\xf5\x64\x2a\x96\x3a\x7a\x3b\x45\x32\x86\xa8\x9f\xee\xf6\xe3\xfa\x6a\xa1\x07\xf8\x39\x13\x79\xc9\xdc\x41\xc7\x53\x90\x53\x38\xe8\x75\xc0\x8c\xb6\xe0\xac\x3b\x66\x59\x38\xbb\x6d\x20\x4b\xd1\xaf\xe8\xec\xd4\x84\xd4\xb6\x89\xcd\xa1\x3e\x2c\x84\x17\xa0\x0e\x0d\x5f\xe8\x67\xa5\xb4\xf1\x2d\x6d\xe1\x63\x3c\xd7\x18\x6e\x5d\xd0\xa7\x2d\x14\xae\x35\x91\x32\x63\xa8\xb9\xa1\xae\xf1\x7a\x0d\xac\x37\x64\x20\x50\x9c\x7a\xf3\x13\xe5\x01\xb5\x19\xe0\xf2\xf0\xb2\x56\x84\xf6\x93\xfb\xa5\x4f\x1d\x50\x76\x66\xbc\x52\xfe\x0c\x52\xa4\xd3\xc6\xe0\xb0\x93\x39\x86\x5a\x0d\x2d\x9f\xc1\x1e\xde\x64\x12\x86\xf7\xae\x9a\x88\xbf\x43\x9b\x9a\xf1\xf3\xc7\x60\x2c\xf6\x61\x74\xc1\x3d\x13\x14\x87\x6b\x3f\x76\xa2\xed\x34\x23\x50\x0d\xe8\xa4\x42\xcc\x16\x08\xa1\x9a\xd8\xa5\xb8\x2f\x5b\x17\xf5\x06\x73\x2e\x3c\x61\x15\x30\x65\xc6\x7b\x8f\xb4\x26\x8e\xa2\x76\xfe\x10\xf2\xa1\x61\x7e\x01\x1d\x65\x01\x08\xd0\xf3\x38\x8b\xe8\x29\x66\xe4\xb1\x1c\x17\xdb\x6e\x14\x79\x06\x92\xea\x02\x66\xe4\x42\x50\x1c\x4c\xf9\x75\xf1\xb3\x49\x79\xb2\x48\x18\x3d\x53\xf8\x32\xf6\xd1\x1d\x94\xd2\x22\x5b\xc3\xc8\x28\xd9\xc2\xbc\x4f\x40\xed\x7a\x2a\x49\xb8\xba\x40\xc5\xf6\x30\x97\xe4\xaa\x23\x98\xe3\xdc\xe0\x2c\x1a\xd0\x00\x02\xad\xf4\xc5\x49\x24\x51\xa1\xcf\x79\x0d\x0d\x63\xf4\xd1\x9e\x46\x0d\xeb\x61\x8f\xdf\x9e\x03\x76\x22\xb2\xef\x0e\x7c\x52\xc7\xdc\x98\x09\x27\x57\x9c\x13\x46\xa0\x0c\x78\x3f\x11\xfe\x2b\x61\x4e\x83\x4d\xf6\xae\x8f\x4b\xce\x60\xc6\x44\x05\xde\x03\x2f\xe8\xb7\x6e\x66\x3a\x58\xb8\x49\x38\x3a\x48\x09\xb1\x49\x52\x6d\x5d\x9b\x4b\xf4\xba\x36\x69\x0e\x20\xfc\x40\x55\x12\xcf\x48\x2a\x4e\xed\xd0\x6f\x08\x46\xac\xe0\xfd\x3b\x96\xb1\xa9\x9b\xe1\x87\x8f\x22\x02\x57\x9d\x71\xa3\xbe\x64\x5c\x93\xef\x8a\x88\x89\x91\xd0\x8d\x2a\x43\x3d\x23\xe3\x32\xcf\x36\x78\x94\x37\xec\x3c\x54\xcf\xd5\x1b\x0a\x37\x79\x88\xd4\x72\x55\x3e\x2d\x62\x48\x29\x11\x11\xc9\xba\x7a\xef\x20\x27\x7d\xb6\xd7\xb6\xdd\xee\x77\x9c\x21\x04\x17\x72\xc1\x58\xce\x11\x5a\x8a\xb5\x09\xb4\x2e\x3a\x92\x56\x6e\xd7\x13\x3b\xee\x2d\xee\x3e\x8a\x3a\xe1\x0a\x1d\x02\x36\x01\xe0\x72\xff\xbd\x87\x0e\x1d\x55\xc1\x63\x73\xd5\x34\x6b\xac\x11\x56\x57\xac\x7b\x92\xfa\x89\xf0\x23\xad\x0f\x98\x35\xdf\x91\x30\xc1\x42\xdd\xe3\xec\xc7\x60\xdc\x9d\xff\x30\x75\x9a\xd1\x22\x2e\x51\xca\xc6\x1f\xac\x9b\x64\x42\xb4\x98\x30\xa3\x94\x1d\xf5\x98\x43\x9e\xd0\x72\xf5\x1e\x5d\xed\xef\xe0\x23\xed\xba\x51\x39\x08\x6c\x71\x9c\xe0\x02\x4e\x5e\xf4\xd6\xb3\x8d\xaf\xe9\xf4\x68\x7e\xa0\x4e\x55\x5c\xb4\x20\xbc\x31\x36\x9a\x0a\x7e\xe9\xe8\x15\x93\x1c\xe1\x94\x53\x91\x6e\x87\x54\xf2\x04\x6c\xa2\x91\x5c\xfe\x54\x48\xd2\xb2\xda\x9b\x2d\xd9\xc9\x7e\xaa\x47\x7e\x29\x24\x85\x6f\x51\x37\x1e\x2d\xeb\xaf\x43\xef\x11\xb0\xcc\x01\xc8\xec\x7d\x71\x12\x25\x2f\x1c\x61\x99\xa6\xb3\x76\x4f\xb0\xaa\x7c\x5b\x71\x34\x96\x82\x8a\x92\xb3\x7e\x42\x63\x2d\x24\x4e\xdc\x1b\x37\x3c\x56\x18\x85\x48\x45\x80\x1f\x69\x2d\x99\x9c\x17\xe8\x52\xc8\x46\x93\x0c\x47\x4e\x4d\xe0\x7b\xd0\x22\x33\x95\x90\x0c\xfb\x34\x39\x87\x5b\x15\x84\x6a\x3c\xa0\x90\xe1\xb8\x1d\xac\x57\xd3\xad\x0b\xca\xe3\x68\xd5\xf8\x98\x02\xbf\x6c\x91\x6e\xdb\x06\xc3\x20\xfc\xc8\xd8\x51\xd2\xa8\xda\x89\x47\x07\x63\x71\xa8\xef\x40\x77\xaf\x2f\x65\x20\x71\xff\xa3\xcc\x15\xe6\x01\x67\xce\x1c\xae\xc8\x3c\x88\xa3\xcd\xc6\x10\x0f\x3a\x20\xa0\xea\xe1\x61\xe9\x92\xb7\xa2\x91\x75\xaf\x10\xea\xcd\xf1\x94\x95\x5f\x50\x8b\x60\x0c\xdd\xf9\x62\x7b\x45\xeb\x1c\xe1\xa6\x49\x28\x16\xcf\xd9\x4f\x57\x47\xdd\x1c\xe6\xab\x66\x45\x79\xc0\xdc\xe9\x41\x42\x61\x5f\x9e\xdf\x3b\x4f\x08\x5e\x8e\x44\x51\xa3\xe2\x27\xe8\xb5\x73\xf3\xe5\xe7\x0c\xee\xd0\xec\xf3\x60\x44\xee\x23\xd1\x9a\x69\xaf\x3a\x18\xd1\xb4\xdb\x2b\xdf\x16\x59\x01\x7b\xa9\x7b\xd2\x70\xe5\x26\xb6\xc5\x5c\xdf\x1a\x52\x61\x9e\x9a\xc0\xc1\x97\x67\x10\xfe\xcf\x9e\x30\xff\xc1\x1f\x67\xfa\xef\x54\xf9\x4c\xce\x69\x3c\x27\x9f\x37\xf6\x0f\xa6\x3f\xc0\x05\xd2\x08\xe7\x58\x31\xb9\xc0\xcf\x43\xef\xd6\x0a\x61\xa5\xbf\xe9\xee\x6e\x30\x6f\xb9\x72\x31\xd1\x0c\x99\x1e\x17\x2f\x55\xad\xa5\x89\x9d\x05\xf5\x0b\xce\x6f\x8f\x2f\x0f\x3f\xe9\x95\xe2\x99\xaf\x61\xf9\xd3\x5f\xac\x70\x15\xea\x8f\x48\xd6\xb1\x0d\x47\xf5\xec\xb4\xa0\xa6\xc2\x38\x9f\xdd\xa3\x3f\x33\x46\x89\x30\xf0\x07\x98\x80\xd9\x60\x25\xc3\xf7\xcf\x91\xc4\xd3\x3c\x8d\x0a\x47\x9a\x5d\xd4\xbd\x9c\x19\x38\x62\x6c\xcd\x8f\x25\x2d\x2c\xc2\x29\x7d\x25\x9e\x03\x4a\x94\x3a\x16\xb9\x59\x02\xad\xd2\x6a\xd0\x1b\x10\x54\xcd\x3b\xd0\xab\xc8\xb6\x35\xc5\x92\x3e\x9e\x36\x1c\xbd\x9f\x90\x77\xd2\x7b\x0f\x9c\x56\xe9\xa4\x83\x2e\x26\x13\xa3\xf6\x28\x86\x0e\x6f\xb9\xa9\x2a\xf5\x6e\x3c\xa7\xd8\x6e\x39\x06\xa1\x06\xc1\x4a\x96\x0a\x22\x61\x87\x07\xa9\x0b\xd0\x94\x08\xcd\xdd\x2b\xa1\x86\x0b\x61\xca\x2f\xbb\xfd\xba\xba\xf0\x3b\x37\x7a\x44\xd8\x5a\xce\xb7\x11\x7b\xd7\x74\x8f\x4d\x09\x4d\x70\x97\xa3\x09\x69\xd8\x9a\x6b\xbc\x4e\x50\x77\x88\xd8\x91\xcd\xba\xf0\x48\x60\x54\x0d\xf6\x24\x32\x33\x1b\x96\x86\x66\x1e\xd3\xf6\xc0\xd0\xda\x30\x9a\x7a\x1f\xc6\xc8\x3b\xad\xa1\xa6\x9e\xe7\x22\xf0\x5d\x8c\xf2\xaa\x82\x2a\x8e\x59\xb2\xa4\xe9\x10\x2c\xe4\x51\xa1\x57\x81\xd8\x1b\xe0\x0e\xf4\xb8\x6c\x53\xe9\xb5\xc6\xc5\x4f\x8e\x72\x57\x24\x35\x06\x5d\x4b\xa1\x56\xd9\xbb\x42\xe2\x16\x85\xdc\x9a\x85\x49\xb8\x18\x8a\x18\x6b\xda\x7c\xdf\x3d\xb2\x26\xc1\x5b\xd4\xe8\xea\xde\xd1\xde\xc5\x35\x38\x45\xd3\x52\xa4\x30\xde\x8b\x47\x6b\xab\x73\x1b\x53\xee\xf1\xc1\x6e\xe3\xf2\x6e\x11\x6e\x75\xe3\xfa\xf1\x45\x78\x4b\x8d\xd0\x7f\x72\xf4\xa2\xac\x8c\x7d\x87\x7e\x6d\x1f\xf1\xd9\x60\x10\x8e\x47\x34\x02\x75\x7b\xd0\xd1\xf1\x3d\x5d\x36\x66\xa4\x00\xf7\xe2\x08\xd7\xa8\x0a\x42\x6f\xd6\x1e\x26\x3c\x0d\x99\xc3\xb1\x63\x3b\x32\xa0\xae\x10\x50\x24\xc3\xc7\x83\x7b\x6d\x57\x5f\x63\x1b\x9e\xf5\xc2\xaa\x27\x42\x36\xd0\x8a\x3f\x24\xbd\x5e\x7a\x5b\x8f\x43\x03\x97\x1d\x59\xb9\xdd\xad\x99\xe9\xa5\x6a\xd0\x4e\xf3\x7e\x0b\xfe\xa6\xdb\xae\x30\x05\xbe\xbb\x9b\xfa\x74\xa2\xaf\x06\xfa\xb0\xdb\xe2\x84\x36\x2f\x29\x2d\x89\x31\x7f\x3a\x70\x24\x44\xea\xa5\x85\xc8\x97\x0a\xae\x10\x1a\x0e\x0a\x2c\x27\xb3\x86\xfc\x79\xe0\xf5\xb1\xf8\xc1\x76\x98\xc4\x20\x85\x6e\x9c\x8b\x46\xb3\x54\xd7\xd1\x81\x99\x5b\x04\x27\x61\xa6\x4d\x62\xce\x4a\x5d\xbb\x25\x90\x26\xc3\xae\x10\xac\x6c\x63\x36\x02\x26\xc2\xe8\x49\x70\x46\xe5\x90\xc4\x0d\xa8\xdc\x6f\xf0\x8c\x69\x83\x06\xaa\xc4\xc9\xfe\xe3\x15\x35\xb1\xa0\xf8\x27\x72\xa8\xe4\xcb\xe5\x72\x91\x28\x71\xbc\xef\xe8\x90\xfa\xae\xeb\xee\xbe\x7a\x36\xc1\xb0\xf6\x9e\xee\xc9\x28\x35\xf3\xd0\xe1\x45\x0e\xf4\xe0\xc9\xa2\xd5\x9f\x6c\x13\x5c\x1d\x85\x4c\xf1\x9d\x6b\xba\x37\xab\xb0\x31\xc5\x59\x34\x5e\x29\x02\x62\xd9\x97\xc2\xa6\x38\xf9\xbc\x79\xf8\xc6\x8f\xaa\xe4\xdb\x0a\x4e\x9e\xd8\x3d\x83\x9b\x39\x7a\x54\x96\x5e\x5b\x54\x24\x87\x64\x6b\xc2\x19\x9c\x0d\x51\xe2\x69\x4b\x25\xe1\x88\x36\x8e\xb5\x90\xfc\x71\xb5\xe9\xe7\xf5\xcc\xee\x66\x4f\x7c\x03\xe0\xda\xe0\x63\xd0\x38\x24\x95\x6a\x69\x5e\x76\x1b\x04\x72\xfe\x02\x2e\x51\x51\x52\x22\xe2\x59\xe1\x72\xc4\x8a\xe3\xe2\xf5\xb8\x0d\xa8\xc3\x6b\xf8\x92\xa5\xde\x72\x9f\xba\xbc\x4b\x0e\x88\xa2\xb5\x3c\x51\x49\x89\x22\x11\xb7\x40\xb4\xef\xea\x52\x10\x14\x39\x0d\xf6\xc0\x0f\x2f\xbd\xab\x18\x5c\x26\x37\x59\x7d\x6d\x89\x67\xd2\x8a\x37\xbb\x9c\x1c\x7a\x36\xb8\x2d\x4d\xf9\x75\x3d\x82\xc0\xe9\x2c\xf5\xfe\x4e\x33\x4f\x5c\xba\x36\x8c\xc3\x61\x44\x41\x8e\xbb\xde\xae\xf0\x4c\x64\x5e\x72\xeb\xc9\x2f\x2e\xae\x3e\xfb\xa0\xe6\xe8\x0a\x4e\xb7\x65\xed\xcf\x08\x52\x69\x13\xfb\x34\xa6\xbe\xd5\x21\x33\x52\xf9\xa2\xba\x15\x90\x22\x8d\x34\xa6\x88\xc8\xf1\xfa\x9a\x6e\x99\x62\xe1\x6d\xc9\x2d\x79\x5b\x58\xa6\xa6\xff\xcf\xf1\x2e\x22\xc6\xf4\x19\x21\x94\xf8\xdc\x51\x4b\xaf\xe5\x45\x5c\x07\x4e\x8f\xeb\xb5\x34\x67\xd5\xa0\xd7\x9d\xf8\x05\xa7\xbf\xa6\x83\xef\xb1\x61\x4e\xa6\x70\x82\x0d\x3e\x6b\x29\x39\xc1\xc1\x30\x88\x42\x8d\x5a\xea\xcc\x42\x73\x0a\xf6\xa5\x79\x8a\x19\x72\x8e\x9a\x65\x72\xab\x29\x76\xaf\xa2\xae\x44\xf3\xeb\x74\xe8\x72\x76\x81\x5c\xfb\x76\xf9\x5b\xad\xfc\x3e\xf3\x72\xb5\x4a\x6d\x9c\x81\x02\x96\x0a\x61\x9c\xf2\xab\xb5\xcc\xbc\x9b\x7e\x75\xdd\x17\xea\xea\xd5\x8f\xba\x3e\xb5\x72\x4d\x5a\x9c\xb0\x98\x63\xed\x42\x3c\xf8\xe3\x0f\x60\x29\x5c\x79\xd7\x74\x7c\xdb\x8d\xef\xff\x72\x27\x3c\x86\x18\x1a\x06\xf4\x98\xe0\x3e\xf9\xd7\xd6\xfe\xe3\x5b\xe6\xc3\x8e\x97\xef\xad\xe8\x68\x37\xeb\xfa\xad\xfe\x5a\xc5\x10\x04\x8c\x38\x7f\x63\x61\x49\x81\x21\xb9\x0d\xb4\x70\xe2\xa2\x9f\xcd\xcc\xae\x00\x2c\xb6\x0f\x47\xc3\xed\x0b\xbb\x6b\x07\xa0\x35\x40\xc8\xd9\xf4\xf7\x08\x1b\xff\x60\xf4\xc9\x69\x77\x0d\x88\xd2\x6e\xd0\x9e\x1d\x38\x70\x9f\x76\xbf\x20\xe7\xc9\x13\xe9\x2a\x8f\x9d\xb2\xc2\x27\x4f\x0a\x0b\xdd\x1d\xd4\xfc\x8a\xb2\x14\xa0\xdd\x41\x5b\xc8\x2e\xa1\xa4\x72\x8f\x16\x68\xf3\x54\x0d\x70\x52\x3f\x2b\x3b\xcb\xff\xf3\x5c\x11\x2a\x48\x8b\x73\x4c\x71\xde\xe6\xeb\x55\x9a\xb9\x66\x96\xe2\x3a\x71\x6c\x2d\xc4\x87\xa4\x0c\xf1\x2a\x36\x21\x85\x68\xe7\x2b\xcb\xac\x04\x00\x7b\x68\xb7\x89\xf6\x2d\x20\x6a\x67\xb1\x6b\xc9\x4d\x4d\xc9\xd7\x50\x23\xe3\xb6\xe4\x3a\xbc\x7d\x91\xb1\xb8\x7b\x2f\xdd\xeb\xee\x56\xcb\xdf\xc5\xb6\x43\x5d\xec\x98\x99\xea\xb7\x26\x5b\xb3\x57\x24\xda\xab\x01\x03\x5e\xdf\x23\xe0\xfb\xb8\xb6\x34\x66\x1d\x57\x61\x5c\x0d\x8b\x05\xc1\x35\xec\xf0\xe8\xba\xba\x4d\x5b\x36\x9e\xbd\x1c\x29\x54\xa7\x33\x97\x95\x1b\x15\x9b\x7e\xfc\xda\x1d\xce\x0e\xad\xc9\x12\xd4\xc0\x0a\xe3\x3a\x2e\x20\x5a\x94\xa6\xbc\x02\xa8\x60\x73\xde\x69\x28\xcd\x52\xf4\xa9\x51\x85\xbc\xb2\xcc\x7c\x2f\xfa\x60\xf9\x0a\x69\x6c\xcf\x5e\xb0\x4c\x23\xa0\xa7\xf7\x1d\xf2\x66\xa4\x2d\xf1\xd7\x3b\x2d\x43\x3b\x13\x5f\xdc\xde\xf9\x2a\xf9\x7b\x40\x45\x4d\x43\x6f\x6f\xc3\x82\x5f\xa4\x9c\xc6\xc3\xf5\x37\x17\xbe\x54\xf6\xe3\x72\x71\x7a\xdc\x46\xb5\x25\x17\xd7\xaf\x7c\x99\x9a\x55\x3c\x5a\xa4\xdc\x6f\xc1\x13\x5b\x54\x41\x3d\x8e\x84\x04\xd0\x27\x44\x50\x4a\x5d\xb4\x3b\x2c\x55\x39\x19\xaf\xb5\xca\x51\x9b\xb1\xd3\x70\x8a\x9e\x6b\x06\xf1\x34\x7e\x80\x1d\xea\xe1\x06\xc1\xe2\x06\x5f\x05\x8d\x43\xaa\x5e\x99\x71\x45\xa2\xc5\xae\x90\x9c\x62\x0d\x81\x53\x47\x73\xda\xf8\xdf\xed\x7f\x59\x85\x9d\x32\x4e\x96\x41\x0e\xae\xd2\x75\xed\xae\x1f\x25\xf0\xf0\x53\x44\x84\x82\x20\xd7\x68\x6a\x09\x0a\xff\x79\x3b\x39\x24\xdf\xb4\x49\x41\xa8\xd5\x68\xe4\x04\x45\x4f\x8f\xcc\x11\x84\xe1\xb2\xcb\x7d\x0a\xa8\x16\x67\x89\xb3\xac\x85\x14\x97\x2f\x2b\x20\xf9\xd5\x83\x93\xef\x35\x9d\x4a\x59\xca\x20\x40\xe4\x07\x47\xfa\xf8\x8d\x8d\xfc\xbe\x82\xea\xae\x66\x32\x14\x90\xa2\xb4\x04\x97\x59\xa0\xc4\xe7\x2f\xb8\xc2\xdf\xbc\x99\x7f\x65\x84\xdf\xb7\xb9\xb1\x7c\x76\xde\x2f\x16\x1f\xb8\x22\xde\xff\xd5\x70\xe5\x80\xd8\x7e\xe5\x88\x8b\xf1\x54\xe3\xf4\x38\x1e\x4f\x4b\xf3\x72\x2a\xd2\x0f\x9e\xdd\x2a\x0d\x86\x83\x1d\xc0\x13\x34\x68\x69\xe0\x40\x51\x9b\x99\x33\x67\x22\x1f\xd1\x06\x6a\xb2\x9f\x1c\x3a\xf4\x24\xfb\x95\x3b\x1d\x3a\x94\xfd\xa4\x66\xe0\xcd\xfc\x96\xf7\x8c\x2c\x64\xbd\xae\xae\x7a\xcd\xc8\xc8\x9a\xd9\xc6\xd4\x8c\xea\xba\xb3\x03\xb0\xab\x1a\x75\x25\xe7\xa0\xcb\xa3\x7d\x4f\xf5\x26\xb3\xbe\x82\x69\x19\x32\x0f\x55\xe8\x2c\x0b\x40\x02\xcd\x6b\xea\x6a\x0f\x25\x75\x3f\xdb\x1a\xe3\x34\xa7\x4e\x9c\x4b\x6d\xf6\xde\xf9\xd0\x64\x3f\x35\xc9\xdd\x93\x3b\xca\x30\x99\x59\xef\x9d\xda\xfc\x65\x7d\x73\x5a\xf4\x80\x1b\x87\xaa\x3e\x45\xc6\xab\x55\x73\x5e\x14\xdd\x9c\x76\x7b\xa0\x7f\xeb\x04\xa4\xa6\x66\x51\x3c\xc4\x90\xa1\x89\x56\x50\xfc\xef\xc3\xca\x54\x0e\x66\xcd\xa6\xee\x3f\xa5\x90\xf5\x6d\xd8\x70\xd9\x50\x2a\x00\xc8\x26\x01\xa6\xf7\xd0\x51\x87\x47\x89\xf9\x7b\x63\x9c\x03\x4a\xef\xf1\x45\x50\x18\x65\x32\x29\x8e\x78\x50\xbd\x30\x05\x41\x06\xd1\xdf\xcd\x01\xfb\x4d\xc9\xaa\x5a\x48\xb6\x6a\x95\x22\x11\xd7\xbb\x22\xd9\x41\x05\xac\xd0\x43\x2b\x7a\x71\x89\x6d\x04\x56\x11\x7a\xe1\x96\x9e\x05\xf3\x55\x25\xd8\x43\xb5\x00\x3a\x16\x40\x31\x0e\xe6\xe3\xf0\x57\xb9\x8a\x0c\xee\x5b\x11\x79\x29\xce\x4a\x40\xf7\x6f\xb1\x62\x25\x0c\xf7\x6a\x94\x15\x41\x3e\x29\x4e\x0f\xd2\xc7\x80\xd4\x69\x7f\xe7\xbc\x24\x92\x41\xf3\x88\xc0\xec\x74\x60\x3e\xcc\x3f\x66\x30\x67\x00\xff\x48\x33\x36\x70\xe8\x36\xe1\xcc\x44\x7c\xfb\x04\x4d\x9b\xe4\x0c\xe1\xf6\x10\x34\x4e\x8d\xa1\xb0\x0a\x9c\x92\x20\x34\x4a\xbd\x4a\xda\x83\x1e\xaf\x0a\xb5\x6a\x07\xa4\x9e\x98\xc6\x87\x01\xb4\xf3\x5c\x0d\xed\x70\xa0\x33\xd3\x19\xf8\x1c\x8e\xa3\x38\x8d\xc0\xa6\xaa\xd1\xe3\x96\xd0\xaf\xef\x94\x13\xbb\xad\x36\x70\xae\x11\xf9\x56\x3f\x3a\xac\x24\x82\x73\x44\xf9\xc0\x4e\xfa\x12\xb5\x0e\xc6\xb9\x91\x32\xef\x92\x6e\x92\x2c\xb6\x84\x48\xdd\x4f\x5c\x82\x5b\xb8\xf8\xd5\xb8\x9b\xf6\x4b\xd9\x2d\x29\x9d\xab\x57\x7e\xb9\x69\xe9\x6d\x99\x3f\x18\xff\xae\x83\x54\xd0\x3a\xb0\xcc\xf0\xde\xba\x55\xd6\x65\x59\x8c\xd3\xe3\x8a\x2d\x23\x64\x4a\x65\x29\xaf\xb1\xda\xcf\x5a\xaa\xd5\x35\x94\x3f\xf8\x24\xbb\xe6\x0e\xa1\x5c\x64\xa9\x57\x19\x3c\xb7\xb9\xb9\x2c\xc9\x86\x7f\x86\x9a\x3b\xaf\xd8\xb7\xb8\xc3\x35\xcd\xcd\xf2\x53\xb8\xd5\xb8\xaf\xbc\x1a\x97\x54\xab\x54\x96\xf1\x9a\xce\x08\xcc\x84\x66\x28\x81\x50\x59\x0e\xb0\x76\x3d\x51\x0d\x7e\x44\x58\x7f\x2a\x07\xbc\xdf\x0f\xdd\x38\xf8\xe8\xbe\xa9\x73\x2d\x09\xc2\x08\x05\xcb\xa8\xae\xce\x80\x05\x35\x35\x02\x0c\xad\x0d\x58\xa2\x52\xa5\x6c\x20\x51\x43\xcf\x08\x18\xe1\x19\xa4\xce\x0c\xe1\x93\xf8\x03\xd1\xc0\x6c\x7c\xf2\xfd\x35\xce\x7b\xfb\xd3\xa6\x54\x5c\x74\xea\xbc\x95\x2b\xe9\xef\xa3\x65\xbb\x6e\xc5\xdb\xb8\x8b\x92\xc2\x50\x73\xd3\xe8\x1f\x6c\xfb\x33\x15\x99\x9d\xf9\x55\x4f\xa9\x5b\xfc\xdb\xee\xc7\x5a\xbb\xc9\x53\x33\xe5\xc0\x9d\xee\x9f\x9d\x2a\xe8\xec\x2c\x98\xaa\x86\xdf\x3a\xc3\x9b\x5a\x1f\xfe\xbe\xc6\xd4\x4c\x89\x9b\xac\x86\xd5\x05\x53\x9d\x9d\xf4\x15\x27\xcc\xb5\xe6\xe3\x2a\x07\xf5\xf2\x8c\x2a\x40\xa8\xf8\x19\x9d\x1f\xc4\xb1\x7e\x78\x67\x6e\x6f\x32\xb1\xb9\x19\xe1\x16\x88\xe2\x2d\x0a\x85\x8c\x20\xb3\x57\xb3\x14\x8a\xab\xbd\x56\x1c\x00\x3b\xe4\x70\x5a\xe5\x04\x39\x8d\x3f\x13\x7e\x84\x18\xab\x24\xab\x36\x9f\x3c\x94\xb5\x51\x72\x82\x62\x51\x38\x26\xf3\x14\x73\x65\x1b\x95\xc9\x45\x62\xaf\xda\x51\x14\x2c\xb7\xfe\x5e\x7c\x42\xb2\xb5\xef\xe7\xa2\x98\xef\x56\x64\xac\x56\x2d\xb6\x28\xdc\x5d\xe3\x20\x2e\xef\xe8\xcb\x8e\x38\x1f\x12\x2f\x71\x68\x56\xa1\x1b\x6e\x52\xae\xf3\xae\x51\xc8\x44\x89\x2a\xf9\x55\x28\x2a\x31\x68\xe7\x31\x14\xc3\x60\xd8\x9d\x51\x4c\x12\x7b\x07\x85\x81\x55\x6a\x0b\x0b\x60\x17\xe0\xd2\x22\x9a\x6f\x1e\x33\x00\xdc\xbb\xe6\x99\x56\xa8\x02\x6c\x05\x85\xb5\x3a\x1c\x09\xd1\xed\xea\xc2\xd8\xc0\x0d\x6a\x61\x04\x46\x61\xe0\x10\x9e\x45\xad\xb6\xcc\x9e\x5a\x88\x8b\x67\x31\xb1\xb7\x7a\xfc\xb0\xcc\x32\xd6\xa0\xd5\x3a\x04\xcd\x41\x75\xd9\x5a\x49\x66\x36\x96\x83\x01\x32\xd5\x74\x77\x2b\x08\x8a\x89\x89\x17\x66\x19\x81\xa7\x44\x8f\x8b\x1e\xef\xc9\xe8\x11\xaa\xa9\x11\x43\x4c\x2d\x7d\x14\x67\xbb\xb5\x5a\x18\xb3\x30\x3e\xd2\x84\xf3\x78\x4a\xa2\xfd\xff\xc5\x3e\x5c\xee\x90\xc1\xeb\x51\x89\xb8\x41\xda\x5f\x43\xb6\x69\x82\x68\xdf\xd2\x62\x0f\x6c\x5d\x0d\x05\x1a\x87\x36\xde\xd5\xde\x1d\xdc\x34\x1e\x2a\x0e\x9a\x41\xcb\xaf\x16\xc9\xb0\xfc\x71\x58\x89\xa4\x04\x37\x84\x1b\xbb\x14\x59\xf2\x58\x2e\x80\x2d\xbe\x8a\xda\xd5\xb8\x95\x61\xc9\x87\xc3\x56\xe2\x68\x17\xac\x96\x69\x4b\x67\x95\xd4\xcf\x71\x4e\xb3\x52\xc4\x86\x4e\x28\x72\x11\x27\xc1\x5d\xbc\xe0\x25\xd9\x98\x84\x8f\x85\xad\xf4\x8d\x88\x40\x33\xd4\xcd\x80\xce\xc2\x81\x6a\xa7\x16\x5a\xac\xf7\x4a\x86\x2e\x1f\x3b\xfc\xe3\x6e\x6d\xdd\xfa\xaf\xd5\xce\x2c\x53\xfb\xfb\xd8\x04\x30\x78\xaf\xb3\xc3\x1f\x01\xf5\xf8\xd8\xcd\xbb\xa3\x4f\x46\x07\x33\x33\xad\xd2\xa7\xb6\x85\xab\x3c\x24\x27\xdb\x0e\xbb\xb8\x47\x97\x45\x2b\xb4\xda\x7d\xa5\xa5\xce\xf3\xfa\xf3\xa7\x85\x27\x31\xf0\x66\x33\x9b\xc6\xfd\xd2\x79\xd0\x35\xdd\x2f\x26\xa4\x5a\x9c\x5c\x1a\x52\x42\xf4\x37\x64\x6d\xed\xf4\x5d\xe6\xbc\x38\xa7\xa7\xc2\x5c\xcd\xfd\x01\x84\x33\xdf\x82\x84\xc8\xaa\x98\x40\xf7\xec\x6f\xbf\xfb\x54\xe9\xbf\x33\x65\x75\x5e\x12\x1d\xb7\x57\x40\x8a\xaa\x15\xfc\x94\x96\x8e\xa6\x65\x37\x6c\x96\x1e\x07\x21\x42\xe3\x2c\xc0\x73\x82\xe4\xe6\x31\xdc\xcd\xdf\x24\x9a\xe4\x1b\xf2\xaf\xdb\x5a\xa7\xe3\x26\xd9\x14\x92\xe7\x3f\x03\xaf\xe2\x64\x43\xe9\xe1\x20\x9d\x28\x59\xd0\xa6\x53\x6d\x3e\x82\x4a\x22\x26\x70\x74\xde\xdc\x88\xaa\x50\xe3\x87\x84\x03\x42\x1b\x01\x46\xac\x14\xf8\xb4\x9d\xda\x04\xb1\xe0\xd9\xf8\x34\x8c\x47\xe1\x35\x9c\x09\x74\x5e\x1d\xc4\x86\x24\xaf\xde\xf2\x6a\x2d\x61\xe3\xa0\x8d\x67\x1a\x5e\xc1\x0e\xca\x90\x43\xa4\x12\x96\x85\x83\x41\x02\x73\xd6\x54\x3d\x6b\xa1\x54\x53\x2c\x7c\x0e\x80\x72\xe0\xe5\x0f\x9a\x39\x49\xb7\x0f\xbd\x42\xcf\x98\x07\xd0\xac\x86\xf6\x27\x01\xc2\xec\x76\x47\x00\x41\xb6\xce\x11\x40\x90\xcd\x74\x04\x10\xc0\xcc\x68\x51\xd5\x4e\x6a\x86\x26\x18\x80\x05\xe5\x54\x3d\xce\x03\x78\x74\x3b\x32\x5d\xaf\x12\x50\xa1\x7c\x54\x2d\x07\x09\x4c\xc3\x9e\x83\x92\xc9\xe7\xbf\xf1\x65\x31\x14\xe3\xdd\xbd\x04\x57\xc3\x5a\xc5\x9a\x2a\x4d\x72\x48\x35\x3f\x84\xf1\x82\x3d\xe0\x00\xfd\xd1\x6f\xb0\x03\xac\x22\xeb\xc6\x39\xd1\x4b\x35\xce\xf8\x3d\xab\x27\x6b\xc9\x2d\x2a\x07\x95\x84\xe8\x41\xa6\x12\x0f\x16\x45\x7c\x09\xfe\x20\xde\x20\x71\xd2\x94\x13\x91\x5f\x3f\x5c\xa3\x37\x25\x1e\xf6\x8e\x7c\x4d\x36\xb0\x66\xaa\x2b\x93\x93\x2b\x92\x53\x2a\x7d\xe7\x57\x00\x5f\xdc\x5d\x33\xaa\xa8\xfa\xb6\x66\x6d\xdc\xae\xd8\xd2\xcb\xb3\xd2\xdc\x6d\x20\x77\x21\x96\x97\xee\xf7\xe5\x2e\xdb\x52\x23\x89\xe9\xac\xaa\x3b\xc6\xed\x1f\xfa\xa6\xb1\x71\xa0\x71\xf3\x37\x31\x8a\x01\xd6\xe4\x24\xc2\x95\xdd\x99\xd5\xaf\x5f\x19\xc0\xf3\x69\x4b\xe0\x26\xec\x4a\xa9\xce\xac\x4d\xae\x8a\xac\xf6\xde\x1a\xc7\x65\x6d\x12\xe5\x56\xc4\x35\x50\x7f\xcf\x30\x3e\x14\xbe\xbe\x20\x51\x9d\x15\xe7\xb5\x35\xaa\x86\x57\x95\xa9\x48\xad\x49\x68\xd7\x1a\xe5\xf9\x26\xf9\x34\xd2\x8d\x49\x6c\xd3\x45\x37\x7d\xe2\x73\xc8\xe9\xc4\x6d\x5b\x63\xc8\xbe\xec\x01\xa2\x84\x7c\x8d\x64\x5e\x09\xa2\xec\xf7\x25\x55\x76\xe9\x01\x31\x0f\xa6\x44\x07\x93\xb2\x3e\x93\x2e\xe8\x54\xac\xd2\x1b\x37\x2a\xe9\x3d\x74\x83\x5a\xb8\x5f\xa7\xe3\x9f\xbe\x31\xd0\xa5\x3a\x3d\x30\x70\x5a\xfb\x9a\x06\x36\xd2\x8b\x8a\x4e\x04\x84\x74\x17\x14\x00\x28\xe5\x17\x75\xed\x0e\x1e\xc6\x9d\xad\x3b\x20\xc7\x42\xd2\x5d\xb3\x91\x24\x80\x6b\xa1\xda\x8c\x80\xc2\x2e\xf3\x7b\xaa\x46\xc4\x2a\x03\x12\x2f\x55\x1d\x5a\x92\x1f\xc6\x4e\x08\xfc\x12\xe7\xa0\xa6\x7c\x6f\x71\x8a\xca\x15\x4b\x97\x47\x3b\x5e\xd6\xe4\xbe\x9e\x39\x4e\xa7\xfb\x65\x1f\xff\xed\x78\x4b\x8b\x0c\x92\xa1\xa8\x5c\x87\x77\x68\xfe\xf8\xf1\x7e\xa1\xf2\xf2\x5a\x02\x70\x48\xd4\x62\x91\x12\x8b\xcd\xe4\x89\xb8\x1e\x0c\xbb\x88\xdb\x5b\x6b\xb6\x38\xe2\xc9\xcd\xcc\x6b\xf7\xe2\x2e\x62\x58\x0f\x2e\x51\xbe\x58\x70\x02\xb8\x78\x0e\x59\x61\x5e\xb5\x18\x02\xd0\x22\x98\xd1\x23\xeb\x9f\x18\x99\xe3\x42\xb3\x10\x77\x6e\x62\xa4\xbf\x11\xf3\xe5\x90\x75\xd3\xf0\xa0\xe9\x6d\x35\x9e\x46\xb2\x0f\xbd\x7e\x3e\xc7\xd0\x38\x1f\x05\x80\xad\xc1\x62\xfd\xfa\x8e\xe4\x4e\x3a\xdd\x70\x1b\x34\x0b\xb5\x01\x5b\x67\x76\x5e\x0a\x42\xbd\xd3\x46\xd0\x55\x7a\xfb\x29\x3f\x9c\xbc\x36\x30\x8f\xd0\x46\xc9\xc9\x07\x38\x98\x82\x00\xc2\x2f\x04\x32\xa0\x8c\x43\x08\x38\xa8\x8c\xae\x3e\x18\x9d\x4e\x38\x47\xee\x8f\xcd\x25\x10\x6c\xf3\x25\xe8\x1f\xdd\x35\xba\x46\x48\x98\x7b\x34\x84\x36\x68\x1c\x04\xa7\x8e\xef\xb8\x34\x8e\x25\xc6\x01\x23\x0d\x37\xb8\xe8\x9b\x1d\xf1\x8e\xcd\xfa\xcb\x78\x0c\xf3\x6f\xba\xdc\x4e\x20\x74\xaa\x5c\x95\x27\xdf\xc8\xa8\x0f\x0d\xa8\x20\xfa\xe6\x45\xa3\x8d\x8e\xe6\xbd\x30\x23\x83\x12\xef\x6a\xb8\x4e\xc3\xa3\x56\xef\xd3\xb9\x64\xe0\x3f\x57\x6c\x63\x57\x90\x81\xd7\xf0\x8b\x0b\xc4\xed\x0a\xc5\xbe\xbd\xd6\xb5\xb5\x75\xfb\x2d\x93\x06\xbb\x7d\x0f\x32\x84\x32\xa8\xb6\xa5\x45\x4e\x90\xbf\x7d\x23\x87\xe4\xb5\xb5\x32\x48\x5e\x61\x33\xf0\xf5\xbb\x19\xa5\x72\xbb\xc1\x71\x73\xa7\xa4\xb0\x88\x84\x2d\x8f\x53\x33\x26\xc8\x04\x14\xef\xf4\x84\x66\xb4\xed\x87\xa3\x0e\xcc\xeb\xce\x66\x77\x6c\x2e\x9a\x3d\x57\xf8\x38\xe5\x84\x2c\xf5\xe0\xd2\x63\x48\x03\xe1\xae\x6a\x9e\x63\x54\xea\xb1\x57\xae\x0e\x91\xd7\xa0\x05\x73\x81\x39\x0e\xf2\x30\x9e\xee\x94\x5a\xe0\x44\xce\x4d\x11\x93\xfa\xbe\x43\x32\x92\x5a\x4d\x92\x8d\xdd\xfb\x90\x64\x6a\xb5\x8c\x74\x9f\x16\x22\x38\xc0\x3a\x67\xed\x7b\x2e\xc6\xb1\xb0\xd0\x31\x46\x62\x36\x83\x31\xc7\x38\x22\x06\x79\xd4\xa6\x3e\x98\xf5\xbf\x0c\x92\xad\x57\xc0\x39\xa3\xeb\x20\xd3\x56\x9a\x1a\x8a\x8a\xf6\x0b\xaf\x60\xd7\x12\x6a\xbf\xfd\xae\x16\x9a\x8f\xbf\x54\xf2\x94\x94\x91\x91\x80\x3c\x49\x11\xa3\xbd\x4d\xd4\xb1\x57\x27\x25\xad\x66\x1b\x26\xb8\x5c\x79\xe4\x5a\xeb\x64\x6b\x01\xcd\xb4\xe8\xf9\x52\x04\x79\xd1\x6a\x77\x98\xe6\x05\x15\x7d\xf9\x88\xd0\x80\xcf\xdf\x5b\x38\xc2\x17\xd4\x8d\x02\x86\xbb\xa3\xc7\x62\x42\xed\x20\xa9\x27\x64\x27\x6d\xfc\x6f\xfb\x12\x27\x3c\x9d\x11\xf8\x7c\x45\xd4\xca\xcd\x35\xea\xf5\x3a\x15\xb3\xb9\xda\x8b\x6f\xbc\x9a\xa9\xc9\x3e\xb2\xb5\x72\x2c\x6e\x83\xa9\x69\xc0\xad\xc1\x0d\x0d\x3c\x54\xaa\xb8\x53\xb9\xb9\x9f\x3e\xa5\x16\x64\xb3\x85\x20\xff\xf4\xe9\x71\x4e\xa7\xaa\xdd\x0c\x2e\x67\x04\x2b\x20\xef\x53\x07\xc2\x1a\xeb\xbc\x0d\x51\xfa\xf9\xb7\x81\xbe\xeb\x0f\x09\x0d\x81\xe1\x4b\x02\x61\x42\x08\x01\xbe\x8c\xdb\xe0\x3f\x5f\xed\x8b\xdb\x51\x8d\x45\x20\x87\x93\xb5\x72\xb8\x86\xff\x6a\xa4\xee\x82\x68\x3e\xf4\x95\x45\xa6\x90\xd3\x9b\x3b\x13\x8f\x43\x9d\xd7\xad\x37\x7f\x85\x8b\x1c\xb7\x5e\x71\xaf\x0a\xc6\x60\x55\xaf\x65\xfa\x23\x2d\x9f\x98\x18\xb7\x3b\x6f\x4a\x98\xc4\x8b\xe3\xd2\xe6\x8e\xd4\x9d\x3e\x29\x0b\xc7\xfd\x82\x3b\x4a\x67\xed\xa3\xcf\x7f\xd7\xad\x39\x52\x3b\x4f\x67\xed\xa2\x1f\xc5\xfd\x69\x49\x37\xfa\x7d\x97\xe2\x38\x4b\xa1\x92\x9c\x1f\xdb\x81\x04\x71\xa6\x6a\x8f\xb9\xd1\x65\xd8\x93\xa3\x2b\xd9\x97\x27\x6e\xf1\xcf\xb7\x6b\x33\x8b\xc1\xad\xbb\x07\xfc\x65\x46\xcf\x81\x03\xfb\x05\x9e\xec\x0e\x85\x30\xb1\x9a\xf2\xaf\xdf\x56\x23\xa9\xed\xc6\x70\xa5\x4d\x41\x7a\x62\x5e\x50\x8e\xf7\x56\xcf\x75\xa4\xdb\x7e\xde\x31\x75\xba\x97\xd2\x93\x95\x77\x1e\x6e\xc8\x09\x5e\x9b\x2e\x49\x49\x97\xa1\x8a\x5f\x1c\xc6\xcc\xda\x76\x64\x57\xae\xc8\xf6\x8f\xf3\xce\x5b\x51\x2c\xcd\xde\xe8\x2b\x4c\x0f\x04\xbe\x62\x82\x16\xed\xbe\xc9\x02\xa5\xe5\x84\xc6\xc4\x87\x71\xbc\xfe\x0d\x39\xab\x56\x1c\x7d\xef\x09\x94\xce\x8f\x56\xd1\x77\x34\x71\x55\xe4\x33\x26\x6a\xdb\xc4\xb1\x48\x59\x62\xbc\x20\xfc\xb9\x88\x0b\x15\xbf\x74\x15\x74\x8d\x54\x9c\xf5\x88\x37\xcf\x81\xf2\x92\xab\xd9\x61\x16\x72\x42\x77\x50\x39\x3f\x29\xdb\x75\x95\xe9\x8b\x54\x2f\xd9\x61\xa3\x95\x8e\x41\x31\x39\x96\x11\xb1\x6b\xaa\x4d\x0a\x5c\xd3\xe4\x50\xdd\xdf\x73\x9b\x3c\xd8\x54\x61\x9e\x8d\xd0\xe3\x40\x82\x3c\x3f\x4d\xe2\x0b\x28\x10\x7f\xea\x08\xbc\x2e\xa1\x2c\x27\x25\x3f\x2c\xc7\x25\x81\x61\x1c\x7e\x65\xce\x05\xeb\x12\x8e\xc0\x9d\x8e\x55\xe1\x96\x30\xb5\xcd\x2f\x7a\x51\xd5\xf6\x28\xd1\xb8\xfd\x93\xf7\xa4\x61\x99\xac\xaa\x70\x3a\x2e\x36\xab\x6a\xc2\xff\x64\x46\x40\x5c\x56\xae\x34\xa6\xc9\x7f\x7b\xd3\x52\x69\xec\xfe\x19\x0b\x88\xcd\x38\xe9\xaf\xc9\xaa\x06\x6e\x75\xfd\xae\x46\xef\x98\x4d\x5f\x86\xa7\x3d\xa6\xbd\xf5\x5a\x38\xe1\xa4\x03\x48\xe3\xee\x8a\x6c\x87\x73\x79\x35\x6b\x25\xf5\xcc\x7c\x17\x28\xf0\x69\x39\x02\x0b\x22\xd9\x36\xe4\xba\x7d\xd4\x8b\x7e\x57\x4b\x84\xdb\x9f\x04\x91\x68\x59\xa9\x6b\x8a\xca\xf6\x17\xa4\x13\x97\x5c\xe0\xfb\xd7\x6c\x93\x52\x6d\x0f\x8e\xbb\xb4\x26\xd2\x0d\xba\x1d\xe6\xa6\xf1\xd8\xf2\x30\xbe\xef\xc1\x62\xfb\x5d\x67\xca\x13\x94\xb5\xbe\x22\xc2\xe7\xde\x80\x44\x5e\xfd\xb2\xe6\xbe\xde\x8c\xa8\x6a\xff\xb1\x15\x4a\x2a\x29\x9e\x9a\x36\x03\xa8\xb5\x18\x8b\x2d\x59\x62\xd9\x68\xd6\xe0\xf7\xf2\xe9\x0a\x5a\xfd\xaf\xe9\xdf\x3d\x04\xde\x91\xa6\x41\x2c\x8e\xca\x28\x8e\x9d\x4b\x23\xd0\x09\x0d\x96\xb2\x4f\x66\xc8\x4a\x02\x1b\x3a\xee\x3b\xbe\x49\x86\xbe\xc7\x21\x36\x01\x59\x69\x26\xfb\x64\xd9\xe0\xd6\x25\x6d\xae\x38\x36\x23\xaa\xf6\x99\x51\x81\xb5\xd2\xd4\xcc\x57\x5f\x91\x15\x1b\xf6\x41\x9b\x76\x7d\x3f\x2b\xe8\x47\xe1\x9a\xca\xfa\x09\x63\x63\x0e\x2a\x10\xff\x6d\xfb\xf4\x92\x67\x60\xd2\x3e\x85\x0e\xf5\x71\xb1\xd8\x2b\x1c\xfb\xa3\x3d\xd9\x5b\x35\xc4\xcd\x94\xb7\xb6\xd6\xd7\x3f\xb2\x39\xa3\x57\xc0\xc9\x2b\x5e\xfd\x6f\xaf\x5e\x45\xe0\xe3\x38\x73\x81\x29\xe5\x8f\x66\xe7\x0b\x97\x32\x61\xf4\xe6\x01\x16\xad\x51\x9f\x05\x78\x01\x1a\x7f\xa4\x17\xb7\x69\x87\xe9\x26\x09\x4e\x45\x3e\x22\x5e\x4e\x61\xe4\x61\x9f\x3b\x66\x8a\xd9\xcc\x39\x5d\x4e\x45\x26\x09\x74\x18\x5e\xb0\xc0\x43\x4c\x1a\x7a\x27\xe2\x65\x85\x38\x5a\x52\xf1\x07\x73\x26\x36\xde\x02\xb2\x37\x5f\x00\x1f\xfc\xc3\xa3\x63\x79\x4a\x9e\x91\x31\x1a\x0d\xc4\xfe\x40\x54\x5a\xb0\x3f\x53\x00\x44\x32\xfb\x0a\x1a\x87\x7c\xd4\x50\xf5\xd4\xcb\x4f\xd3\x8c\xe9\x5c\x64\xaa\x1a\x52\xef\xde\xf0\xfb\x37\x7a\x48\xd5\xf8\x83\xee\xb1\x39\x69\xc8\x03\x00\x8b\x51\x23\xb5\xbf\xb6\x82\x7a\x72\xb3\xf3\x63\x2e\xf2\x34\xf6\x86\x47\xfd\x52\x9d\x13\x34\xce\xc8\x71\x78\xa6\xf0\xbe\x3c\x32\x7e\x58\x92\x68\xb5\xf7\x6e\x08\xe1\x19\xe3\x19\xe0\xa9\xb3\xa8\x06\xc5\x32\x88\x61\x75\x42\xad\x4e\x43\xd1\x00\x2b\x9b\xa2\x6b\x97\x58\xf3\x30\x0e\xd1\x0d\x18\x13\x61\x6a\x35\x6e\x03\x3e\xde\x89\xa8\xf5\xb2\x12\x65\x33\xf6\x07\x11\x76\xde\xa7\x17\xd3\xf4\xe9\x3c\xa5\x3e\x81\xb0\x5f\xb2\x9f\x90\xa0\x07\xdb\x0c\x75\x48\x3a\xa0\x04\x90\x58\x52\x9d\xff\x25\x7e\x39\xe1\x04\x21\x34\xf6\xfc\x6f\xd1\x0f\xd1\xbc\xa6\xe8\x1c\x02\x00\x33\x85\xba\xe2\x94\x38\x3f\xb6\x82\x20\xce\x1f\x31\x01\x64\x1a\x23\xef\xd4\xd1\xfc\x1c\x96\x9a\x41\x26\x8b\x84\x84\x7b\x41\x21\x69\x36\x0b\x8b\x8c\xed\xdc\x2f\x58\x61\x9d\x9f\xa3\x1a\xe1\x05\xe3\x87\xa4\x3d\x12\x57\x16\x89\x3b\x7c\xef\x04\xf0\xe4\x1a\x29\x81\x20\xd0\x67\x16\xbe\x7e\xa3\x0d\x3f\x2a\xbe\xe6\x82\xbd\xc3\x20\x7d\xbf\xe3\xda\xa7\x88\x4b\x11\x74\xcc\x3e\x35\x7c\xad\x45\x8e\xb5\xd0\xee\xd1\xdc\xd5\x2e\xa7\xfd\xf4\x41\x07\xfb\x9a\x0b\x51\xf1\x36\xfc\xfa\x0d\x02\x07\xb2\x80\xbe\x28\x36\x1a\x0a\x0a\x36\xd1\x94\xc6\x37\x00\x96\xda\xf7\x3c\x39\xf9\xf9\x5f\xf0\x95\x43\xc1\x0c\x66\x31\x0f\x19\xfe\xeb\xd0\x8e\xe9\x69\x38\x15\x06\xbe\xae\x86\xe5\xbb\x2c\x0d\x56\xbb\x34\x24\xc0\x9f\x75\x74\xc9\xf8\x9c\xf8\xa3\xc6\x69\xc1\x2c\x2e\x60\x76\x36\x72\x09\xe2\xa3\xf2\x8e\x50\x0d\xaf\x1a\xbd\x67\x46\x42\x90\xc9\x8e\xc7\x0a\x74\x1b\xf2\xc3\xe7\xda\x0d\x43\x01\x33\xbd\x3b\x98\x0c\x1f\x04\x18\x2c\xbc\x6f\xc3\x82\x93\xe6\xe3\x9c\x78\x7c\x09\x0a\x2f\x4b\xf3\x4d\x70\xa9\x31\x53\x5f\xbe\x91\x58\x2e\x66\xf7\x56\x8d\xaa\x86\x23\xbc\x55\x3e\xc8\x92\xc8\xf5\x88\x23\x42\xf6\xf1\x5d\xb5\x0d\x41\x15\x1d\x8f\x91\x49\x56\x6f\xc0\xcc\xd0\x86\xcf\xb5\xc0\x91\x14\x15\xbf\xfc\x47\x54\x56\x31\x6e\x72\x2b\xa3\xce\x4f\x58\xc2\x53\x95\x25\x0b\x8b\x9b\x04\xc2\xb3\xb6\x99\x66\xa7\x4f\x5a\x5b\xdb\x5f\xfd\x39\x9c\xfb\x11\x91\x50\xad\xdf\xb0\xf7\x20\x0f\x7b\x47\x6c\x11\x6e\x91\x05\x25\xdf\x23\xda\xdb\x68\xc0\x64\x77\xbf\x48\xa0\xf9\x3d\x86\x7f\x20\xb8\x79\xa9\x65\x2f\xed\xaa\x57\xbc\x19\xb3\xb4\xb6\x3e\x7f\xd2\x2c\xd3\xf6\xac\xb0\x49\x50\x2c\x2a\x4d\x56\x95\xf0\x84\x7e\xc2\xba\x4b\x26\xe3\x65\x15\xa2\xc4\x8b\xbb\xfb\x4d\x06\xec\xbd\xa3\x3d\xf2\x29\x16\x8b\x71\x46\xbf\xa0\x53\xb6\xdf\x08\x1b\x05\xb4\x22\xc9\x47\xd1\xeb\x54\x9a\x46\x99\x8d\x2a\xb9\x4c\x58\x2c\x68\x8a\x5b\x97\xb4\xba\x93\xa7\x77\x8e\x77\xb4\xed\x65\xf1\x57\x51\x45\xd9\x78\xda\xeb\xba\x0c\x3f\xe1\xe8\x93\x7b\x10\x5e\xda\x86\x45\x8e\x78\xef\x68\xbb\x9d\x69\xfd\xbb\x05\xa2\xd7\x82\x8f\x12\x84\x4a\x94\xb3\xc3\xc0\x48\x8f\x07\xa5\x7c\xf3\x5e\xd9\xcd\x93\x8a\x85\xc9\x65\x2a\x5e\x89\xd0\xaf\x2e\xe3\x75\xda\x78\x45\x99\xe8\xeb\xcb\x62\x23\xee\x3b\x9b\x92\xf4\xd4\x9d\x3c\x5d\x7a\x5d\x5c\xed\x83\xd7\x02\x81\xa8\x7f\x77\xda\x4e\xbb\x68\x6f\xbc\x63\x68\x71\xb8\x45\x98\xa3\x3d\x1e\xba\xe7\xe2\x13\x34\x51\x31\x1f\xb8\x37\x0e\xfd\xdd\xe7\x57\xfc\xbd\xcc\x93\x6c\xc3\x95\x36\x8f\xe1\xa7\xbf\x14\xad\x12\x48\x45\x5f\xcc\xa3\xa0\xf9\x71\x79\xff\x89\x1e\xe1\x0b\x59\x06\x52\x8e\xa4\xdb\xab\x1a\x3c\x78\x3d\xd4\x63\x53\xdf\x58\x15\x79\x21\x3d\x30\xfb\x38\xc7\x97\xf3\x78\xd6\x0c\x98\x9d\xf4\xfe\x3f\x1f\xb1\x7b\x7d\xa2\xff\xc0\xee\xdf\x46\x5f\x84\xfc\xe1\xc7\xa0\x99\x7a\xf8\xaf\x89\x6b\x74\xa9\xc9\xb1\xf0\x88\x37\xb3\xca\xda\x82\x7c\x74\xfb\xa7\x2b\x61\xae\x6d\xb8\x3c\x78\x07\x65\x24\x82\xe9\x65\x96\x8f\xe3\xc9\x8d\xaa\xd7\x3c\x5b\x1c\xb9\x54\xf7\xa6\xff\x8f\x58\x5b\x1c\xfe\xe1\x9a\x1b\x0b\x9e\x7f\xf8\x03\xa3\xd9\xf6\x00\x1b\xbf\x73\xbb\x1d\x56\xc3\xcc\x8b\xab\xde\xa7\x55\x9e\xc9\x2a\x11\xb3\xe1\x8c\x68\x97\x53\xa9\x4b\x3d\x46\x65\xcb\x73\x77\x20\x75\x59\xe9\x6f\xcd\xdf\xd9\xaf\x6e\x51\xab\x17\xb3\x3d\x4e\x1b\x45\x3a\x5b\xd2\x28\x7f\x17\x74\x5d\xe5\x0d\x6b\xd7\x7c\xe7\x40\x91\xd9\xbf\x75\x5a\x5c\x39\x7b\x68\x81\xb1\x8f\x76\x10\x7f\x18\x80\x14\xda\xdc\x95\xd3\x86\x2e\xda\xa1\xfa\x73\x61\x83\x89\x24\x75\x2b\x9f\x71\xb9\x19\x77\x3a\x23\xe3\x1f\xe6\x3f\xe5\x65\xfa\x54\x89\x33\x3d\xd0\x14\xac\x07\xd0\xbb\xd0\x21\xb5\x70\xec\x50\x4c\x60\xcd\x3a\x85\x93\xdd\xd0\x52\x03\x3b\x0c\xd8\x67\x08\xca\xae\x0b\x9d\x06\x46\x68\x61\x9d\xce\x90\x3b\xaf\x14\x07\x13\xcc\x13\x86\x35\x49\x65\xa0\x2b\x18\x96\xdb\xd8\xf5\xbb\x0e\x0c\x9d\xd7\x62\x74\x30\x36\x41\x57\x34\x30\x54\xcd\x68\x4a\x63\x63\x3c\x26\x03\xc0\x6d\x4a\x63\x63\xe0\x0a\xb8\x10\x0c\x8d\x07\xf3\xa1\x4f\x1c\x1b\x43\x6e\xab\x57\x3f\xfc\xf9\x4e\x07\xc2\x69\xfe\xee\xbe\x6f\x5d\x28\x58\xd0\x84\xfb\x9f\x7b\xf7\x4c\x7a\xec\x98\xf4\xd9\x3b\xbf\xf0\xd8\xf1\x67\xb9\xef\x7c\xc7\x8f\xe7\x3e\x18\xe4\x39\x7e\x6c\x34\x73\xe6\x56\x79\xf9\xad\x99\x60\x8a\xd7\x55\xdf\x9b\x2c\xf9\x9f\xfe\xf1\xd7\xc5\x23\x5f\xca\x75\xb4\xf9\x2b\x44\x65\xea\xea\xed\x99\xe0\xe9\x4d\xd9\xfc\xa2\x7e\x03\x68\xb3\x71\xaa\xeb\xb2\x87\x92\xb7\x23\x59\xfa\xca\xe6\xf1\x7a\xfc\x24\x3b\xdb\x0c\x35\xcd\xaf\x39\x24\xb5\xcb\x20\x7a\xb2\x1d\x3e\xff\x0a\xbe\x2a\x6a\xf5\x4f\x9f\x8d\xf8\x8c\xf1\xdb\x24\x9c\xd0\x24\x4f\x2f\xaf\xc0\x0f\x15\xc3\x78\x52\xed\xbd\x83\xc2\x74\xfd\x66\x2d\x7d\x2a\x9e\x6f\xef\xc9\xa6\xf8\xd9\xcc\x7c\x33\x86\x4d\x3b\x15\x78\xde\xa8\xaf\x55\x94\x95\xb5\x6c\x2f\x2e\x14\xf1\x7e\x58\xc7\x8e\xaf\x59\xe1\xbc\x34\x99\x78\x33\x26\xe6\xeb\xd7\x78\xae\x22\x3b\xa4\x24\x8d\x4b\x49\xf6\x92\x35\xdb\x64\xda\xad\x0c\xbd\xca\xe1\xfc\xfa\x8b\x7e\x77\x5b\xca\xd4\x4d\x19\x1f\x39\x4f\xd8\xe3\x25\x34\xd2\xe1\x51\xa8\x1c\x7d\xe9\x19\x53\x5e\x9e\xec\x74\x96\x9d\xe8\x40\xd1\xcb\xe6\x0e\x77\x5b\x9b\x59\x3b\x2d\xdd\xf6\xff\x8d\xc0\xba\x73\x3b\xa2\x62\xbe\xcd\x77\x48\x2d\x2a\x05\x0c\xef\x96\x96\xc3\x69\x6d\xbd\xb6\x49\xca\x08\x2d\xb6\x1f\x7f\x31\x65\x2f\x95\x7e\xf8\xa8\x54\x4e\x4e\xae\x2e\xf2\x70\xb2\xdf\xf0\x29\x48\x24\xfb\xeb\xab\x57\xef\xdf\x7e\x8f\xce\xf0\x03\x90\xb5\xc9\xc6\xa6\xed\xbc\x4f\x0a\x28\xa0\xe9\x39\xe8\x86\x2c\xd9\x0d\x5d\x67\x4d\x36\x72\x1d\xea\x2b\x84\x23\xbb\x07\x25\x83\xe0\x2f\x73\xfc\x77\xaf\x41\x18\x9c\x24\x11\xf5\x8c\x71\xc6\x34\xcb\x11\x07\x4f\x3e\x0a\x64\x39\x7d\xf7\x9d\x13\x2b\xf0\xd1\x24\x8c\x73\xf4\x9a\xb3\xfd\x3f\x03\x30\xa3\x99\x14\x61\x2c\x3e\x9d\x79\x8b\xb9\xda\x88\x73\x3c\xf0\xfe\x3d\x86\x2c\xf0\x8b\x63\x5f\x2a\x5c\xe2\x83\x44\xed\xbc\xdc\x7d\xc8\x32\x19\x4d\xed\xb0\xcd\xcc\x54\x38\x17\x2f\x12\xed\x34\xe6\x67\xe6\x27\xda\xa6\x9e\x9d\xe2\x38\x27\xfb\x7d\x22\x8b\x43\xe2\x03\x2a\x84\x5c\x39\xbd\x23\x59\x8f\x1f\x3e\x7a\x24\x8e\xe6\xf6\xd4\x37\x63\x5b\x73\x93\x7c\x22\x24\x7d\xbb\x09\x79\x6d\xcc\x16\xef\xd5\xc0\xab\x7a\x51\x78\x20\x35\xb7\x25\xe5\xa0\x6f\xf9\xe5\x93\x24\x6a\x86\x6b\xd0\xce\x70\x12\x29\xf1\x78\xbd\xc4\xfb\x2d\x3a\xba\x86\xd0\x98\x7c\x3f\x9d\x98\x6f\xe3\xf8\x66\xa7\x87\x67\x46\x72\xc0\x9e\xdf\x32\x15\x1a\x8a\x53\x91\xc7\x5a\xf7\x8c\x02\x11\x71\x7d\x71\x88\x8a\xb5\x09\x85\x6f\x80\x1d\x1f\x2c\x77\x79\xc5\x4f\xa1\x67\xca\x13\x90\x43\x46\x31\xd6\x6c\x98\xe7\x9f\x27\x06\xed\x4c\x35\x54\x33\xf5\xf2\x33\xfb\xd1\xf0\x79\xaa\xa6\x4d\x89\x39\xda\x32\x22\x73\x94\x98\xf2\x35\x14\x75\x1b\x44\x95\x8b\x36\xc0\xd4\x2d\x4a\xec\x89\x55\x08\x86\x62\x05\x73\xba\xcf\x18\x0a\xab\x4f\x29\x83\xcc\x16\x77\xb8\x52\x0d\x2d\x32\xe6\x2f\x35\x66\xdc\x3c\xaa\x42\x51\xcc\x34\x16\x6b\x8c\x98\xea\x90\xad\x9d\x47\xb9\x09\x13\x1f\x29\x25\xdf\xbc\x0e\xe3\x3c\x64\x1e\xc6\xe0\xc4\xaa\xc4\x9e\xed\xbc\x01\x33\xc8\x32\x0b\x60\x8e\x1c\x1a\x61\x02\x12\xd8\xc3\x5d\xa9\xaa\x53\x7b\xa3\x4b\x25\xf4\x5c\x5d\xa6\x33\x08\x26\x81\x8a\x70\x12\x84\x93\xae\xae\x1b\xda\xb8\xda\x1b\x88\x94\x43\xd5\xb8\xa2\x0c\xfd\x9c\xa9\xeb\x86\xb6\x93\x2c\xf7\xc0\x0d\xda\xf9\x5e\xe9\x54\xd0\xd9\xdb\x37\xbf\x68\xbc\x35\x99\x75\xfb\x6c\x44\xc0\xa3\x78\xda\xb7\xb6\x1f\x97\xf1\x03\x4c\x27\x44\xb6\x06\xf0\x84\x18\x72\xc3\x36\x1d\xfa\x76\x0c\x19\xd5\xb7\x66\x63\x5c\xfe\xa3\xfd\xa7\xb5\x67\x41\xea\x05\x91\xc2\x9d\xb3\xa0\x86\xb2\x40\x00\x3f\xb6\xbd\x9e\xc2\xd8\x7f\xc1\x91\x09\x9c\x95\x47\x46\xe6\xc1\x56\x11\x41\xb7\x6c\x2c\xb6\xb5\xc4\x3a\xa7\xbe\xa0\x95\x69\x23\x7e\x4e\x55\xfb\xe6\x93\x44\x56\x7e\x37\xbe\x8f\x6b\xb7\x4b\x60\x1a\x21\x88\x50\x1c\x96\xec\x4d\x58\xb3\xfc\x52\xcd\xc6\x24\x23\xee\x54\x69\x69\x68\xa8\x9e\xae\x6f\x6d\xd5\x98\xc5\x3c\x2e\x38\x55\x6d\xc7\x3c\x92\xce\x33\xef\xd3\xe9\x18\x45\x53\xe4\x34\x0c\xdc\xab\x9d\xfa\x9f\x56\x1e\x39\xb2\xf2\x27\xbd\x99\x62\x76\xd2\x7b\xbf\xa1\xf8\x3f\xee\x56\x56\xde\xfd\xa3\x33\x9d\xd7\x3b\x94\x55\x27\xd6\xac\x91\x02\xc0\xb5\x31\x52\xd9\x56\xe9\x7b\x42\xc7\xf4\xc6\xee\x69\x9f\x07\xeb\xba\x1f\x34\x43\x0b\x52\x68\xdc\xe9\x8a\x72\x36\x7e\x98\x1f\xd3\x96\x90\x4a\x94\xa5\x1f\x50\xe0\xcd\x8e\xd5\xf7\x4d\x1f\x87\x0c\x0b\x04\x37\x47\x8c\xd0\x00\x2d\x2c\x10\x4e\x4c\x6f\xbc\xf4\x3c\x9f\xb2\xb6\xd1\xa3\x7a\xe7\xf7\x95\x95\x32\x48\x26\x12\x7c\x16\x24\xb3\xb2\x92\xbc\x3c\x7b\x0d\x06\xa6\xda\x9c\x93\x4b\xe4\x5f\x9c\xe6\xd6\xff\x6d\x6d\x53\x8c\x29\x3e\x7f\x72\x92\xcf\x9b\x66\x40\x07\x1f\x3d\x9a\xe2\x42\x46\x99\x8b\xef\x43\x42\x00\xb1\xa9\x89\x89\x83\x87\x26\x27\x87\x46\x7d\x19\x40\xa9\x26\xd3\xc8\xff\x19\x04\x84\x79\xd7\x75\x62\xe2\xd0\xc1\xc9\xc9\x43\x3f\x27\xab\x1e\xea\xe5\xf1\xe7\x18\x53\x01\xe6\x34\x39\x2b\x97\xc3\x93\xe4\xb1\x43\xf8\xae\xb3\xed\x49\xc3\xae\xf0\xa4\xd9\x1f\x8c\x2b\xd7\xe7\x98\xeb\x66\x05\x2f\x52\xab\x06\x55\xea\x0d\xcc\x12\xee\x43\x0b\xb0\x01\x46\x75\x3a\x14\x43\x11\x2a\xa3\x7d\x0c\x86\x54\x3a\x1f\xba\xb6\x7d\x7b\xc2\xdc\xdd\xbd\x01\xe2\xb2\xb7\xd4\x75\xaa\xce\xd7\x17\xf8\x95\xac\x65\x5b\x21\xae\x96\x3e\xfa\x3f\x0b\x8b\xc4\x0f\xe5\xfd\xda\xb8\xb8\x22\xc7\x4d\x0a\x38\x67\x7a\x83\xf4\x30\x5c\x48\x6b\x83\xd4\x06\x5a\xb3\x3a\xc4\x68\xe5\x02\xad\x1b\x7e\x99\x03\x40\x13\xaa\x2b\x1d\xf4\x23\xab\x4e\x9d\xea\x0c\xd6\x66\x6a\xbe\xe7\x18\x79\xb5\xee\xe5\x8b\x69\x6f\xc0\x21\x84\x42\xf7\x09\xfe\xf1\xf4\xb7\x93\xb1\x52\x27\xa9\x35\x3e\xda\x13\x03\x60\xda\xf2\x5b\x21\x1a\xc2\xc4\x54\x18\x88\x60\x6d\x1f\x43\x01\x9a\x9d\x0b\x49\x85\xd1\x9d\xc3\x7d\xb8\x6e\x0a\x8f\x3e\x57\xdf\x10\xf4\x01\x21\x4d\x7d\x18\x55\xcb\x61\x76\xf5\xb6\x01\x34\x90\x80\x33\x29\x21\x10\x04\xa7\x01\x0e\x6b\x1b\x63\xc8\x82\x1a\xb2\xf3\x6d\xfe\x3f\x92\x8e\x09\xdd\xe5\x64\xef\x18\x77\x95\xe3\x76\x17\xab\x21\xd7\x94\x3b\x58\xcf\xa1\xdb\xa8\x7d\xbd\x1d\x38\xed\x76\x74\x95\xeb\xd0\x22\xd3\xbc\x23\x0c\x6b\xc2\x76\x17\x58\x8a\x4a\x17\x99\xb1\x5b\x93\x6c\x9d\xb6\x5b\x5a\xdd\x99\x4d\xc3\x80\xa7\xf1\xc3\x16\x58\x43\x07\x33\x6c\xea\x96\x5b\x0d\xc3\x54\x61\xbc\x56\x6a\x8b\xa1\x85\xda\xca\xbb\xa5\xe5\x18\x01\x8c\xd1\xac\x22\xc5\x93\x17\xd1\xf2\x0b\x74\x3a\x15\x82\x28\x9e\xea\xe0\xa6\xc8\xc1\x3c\xbe\x08\x06\x63\x5a\xf3\x76\x65\x97\xfd\x51\x9b\xc7\xee\x54\x85\x9f\xa0\x71\x48\xe1\x91\x69\x7b\xa0\xd2\xe9\x8a\x80\x51\xe5\x9f\x93\x27\xc1\x93\xc3\x96\xbb\x93\x69\xa0\xf6\x50\xd8\xf6\xef\xbf\xad\xe8\xfc\xc8\x03\xaf\xe1\xed\x6d\x4b\xca\x41\xe7\x49\x8a\xf5\xa4\x19\x8f\x90\x42\x46\x83\x0a\xa3\x15\x05\x3d\x89\x89\xb5\x07\xe2\xd6\x07\x54\xe1\x85\xbd\xb6\xe0\x28\xe2\x0f\x9c\x26\x54\x53\x10\x9f\x3f\x2f\xef\xd8\x81\x41\x3a\xd6\xb7\x1e\xac\xbb\xd0\x9e\x56\xa7\x28\xf8\xf7\x40\x77\xef\x0f\x46\x07\x61\x5e\xe3\xa6\x5d\x85\x8c\xb5\xe4\x6f\x5d\x2a\xd3\xf1\x39\x39\x16\x16\xac\x52\xbf\x69\x0e\xe1\xf1\x5f\xd4\xf2\x98\xc0\x99\xfe\xce\xcb\x32\x76\x4d\x93\x80\xd8\x60\x50\xa7\x93\xf4\x66\x03\xa6\xb4\x06\x7b\x51\x06\x59\xcf\x16\xab\xed\x48\x7f\x23\x56\x37\x76\xc5\x37\xcc\xd2\xb0\xa0\x71\x3e\x40\xe0\xf3\xab\x18\x7e\x75\xc9\x98\xd7\x86\x41\x78\xb0\xc3\x2f\x83\x02\xab\x78\xd9\x08\xb0\x42\xfe\xe0\x33\xa3\xc4\xa0\xd9\xf4\x89\x9d\x74\x83\xca\xc1\x79\x1d\x86\x62\x30\x8c\x9e\x16\x6e\x47\x60\x04\xc1\x0c\x18\xf2\x04\x45\xda\x04\x44\xec\xd9\x8d\x1a\xe4\x41\x92\xd4\x3a\x0c\xc6\x50\xd8\x10\x05\x77\x49\x1f\xd3\x37\xcf\xec\x10\x6e\x57\xd3\xf7\x32\x45\x44\x3c\x68\x18\x44\x90\x26\x5a\x98\x88\xc3\x09\xce\xa0\x37\xcd\x33\xe1\x26\xfa\xcd\x1c\xeb\x29\x4c\x44\xcb\x34\x3b\xdc\x37\xe8\xe6\xd1\xb4\x3f\x24\xad\xee\xcb\x6b\x40\xd9\x03\x22\xf6\xbf\x22\x4c\x26\x7e\xa7\xf9\xf6\x31\x1d\xca\xba\x66\xab\x31\x34\x8a\xca\xb1\x7c\xee\xda\xd9\x37\x4f\x73\x8f\x1e\xcd\x7d\xfa\xc6\x4c\x31\x3b\xe9\xdd\x3f\xc2\x7b\x31\x24\x90\x17\x83\x03\xaf\x77\x29\x99\x80\x31\x18\x7d\xd0\xe0\x30\xe8\x7e\x37\x84\xda\x23\x08\x0b\x45\x10\x35\x8a\xaa\x60\x1d\xd2\x71\x26\x6f\x0d\xc7\x6f\x77\xde\xcd\x0b\xcb\xd3\x5f\x93\x85\xe9\xb4\x8a\xaa\xd4\x38\x51\x31\xdb\x1a\x8f\x47\xf3\xbb\xbb\xf3\xeb\xf9\xd3\xc9\x8a\xf9\xea\xf9\x30\x19\x38\xe5\xd7\x02\x68\xb8\xe4\x57\xbf\x65\xa0\x98\x2b\xba\xb2\x5c\xea\xe5\x13\xd4\x89\x86\x52\x8b\xd4\xca\x17\x93\xc3\x55\x3f\x77\xae\xe0\x65\xd9\xf4\xef\x4f\xd9\x19\x8f\xdd\x53\x78\x12\x81\x16\x41\x55\xd6\xcc\x9e\x7f\x33\x98\x7c\x09\x3d\x57\x41\xb5\xcd\xdd\xc5\x52\x9d\x0e\x0a\x50\xf1\xb0\x74\x4f\x25\x51\x22\x31\x59\xd7\x94\x1d\x19\x21\x73\x6f\x25\x25\xad\x5e\x9d\x14\x7a\xff\x5f\x68\x6e\x2c\x04\xfd\x7b\x3f\xd4\xdc\x05\x1f\xf8\x22\x4c\x1c\xac\x17\x35\xb1\x5f\x44\x36\xa9\xee\xec\x04\x2b\xea\xef\xca\xcb\x53\x18\x62\xc6\x3c\x81\xe0\xa7\xcc\x67\x66\x4a\xcb\xf4\xa5\x30\xe4\x62\xec\x5f\xe7\xa1\xd1\x78\xd4\x2d\x1b\xed\x0b\xa3\x18\x3b\x89\x48\xab\xe2\xe3\xe2\xe2\x57\x91\x3a\x47\x98\x4d\xf0\x69\xc4\x45\x65\xcc\x49\x75\xaa\xae\x76\x4a\x5d\x7e\x6d\xc8\xd9\xdf\xd8\x51\x48\x4c\x4b\x6b\xec\xbb\xca\x68\x62\x9e\x41\x3e\x7d\x2e\x28\x68\x95\xdc\x22\x82\xf3\xe3\x55\x5d\xa2\x39\x49\xed\x68\x5f\xee\x56\xaf\x40\x87\x9b\x47\x5a\x10\x30\x43\x0a\xdc\x70\x15\x13\x62\x0d\xf3\x1b\x3a\xe3\x99\x4c\x0c\x33\x8d\xa1\x74\x4e\x2a\xaa\x4e\x0c\xbd\x32\xbf\xd3\x21\xbc\x33\x8c\x8d\x0d\x43\x61\x18\xb3\x97\x79\x6e\x2e\x95\xca\xdd\xc9\x8b\x7f\x57\xe2\x60\xcc\xb3\xdc\x7d\x18\xb1\x51\x42\x1b\xcc\x43\x8f\xaa\xc3\x69\x20\xc1\xa1\x38\x2a\x08\x02\xc3\xef\x7b\x35\x37\x89\xb9\xec\x05\x4f\x23\x61\x54\xa2\xcb\x1d\x42\xbd\x9f\x82\xbd\x55\xed\x6f\xfe\x69\xa7\x30\xe7\x0d\xf3\x5f\xcb\xf0\xd1\xf9\x5e\x0a\x43\x68\x72\x55\x7d\x7e\x72\xc8\x4c\x19\x20\x31\xf2\x7a\xff\x3e\x2e\x2e\xf6\x3d\x1c\x25\x16\x47\xc1\x9a\x9b\x47\x8c\xa3\x0b\xeb\xfc\x6f\x20\x99\x90\x87\x0c\x18\x8c\x45\xe9\x75\x91\x50\xb3\x05\x50\x73\xd8\x98\xde\xb8\xe8\xf3\x38\xad\xf0\x03\xfc\x05\xfe\x50\xa8\x9f\x75\x26\x3b\xe6\xca\x2a\x8c\xeb\xf9\x7c\x69\x26\xa4\xff\x50\x62\xdb\xc8\x9b\xb0\xb2\x98\x68\xd2\x3b\xb4\x5b\x97\x80\x7c\x18\x79\x2a\x63\x83\x56\x9a\x68\x86\xd2\xbc\xd2\x28\xff\x94\x7e\xce\x16\x5f\x41\x95\x71\x55\x32\xb7\xbd\xff\xf4\x47\x49\x51\xc7\x33\x60\xae\x5e\xca\x76\xfe\x3d\xee\x40\xac\x0f\xdc\x4b\x27\xa4\xb5\xd0\x87\xe8\xcb\x5a\x23\x08\x34\x73\x4a\x02\x3d\x0f\xba\xa4\x3a\x73\x59\x05\xa9\xe8\x09\x14\x73\xda\xa5\x62\xc2\x79\x6a\x0c\xaf\xeb\xb7\x1b\x53\x1f\x5f\x45\xdc\x83\x22\x8e\xaa\x8b\x8a\x40\x9e\x7e\x82\x9f\xe7\xb9\x08\x3e\xad\x38\x36\xba\xf1\x23\xce\x79\xb1\xda\xe4\xe5\x5b\xef\xe8\x63\xf2\x53\xef\x84\xa5\xd9\xc5\xac\x96\x90\x94\xf2\xf2\x23\xad\x53\x4a\x94\x47\x5a\xfb\xae\x79\x19\x76\x76\x12\xdd\xdf\x53\xf9\xd1\x8f\x1a\xe6\x89\x9d\x70\xb8\x77\x61\x54\x9a\x9e\xcf\xf5\xc5\x2f\x13\x2c\x1f\x14\x0a\x39\x27\x4a\x6b\x76\x25\x25\x2e\x86\x7e\x6f\xf2\x5b\xcc\xf3\x9f\x20\xe8\xa1\xa7\xfc\x1c\x9c\x13\xc2\x52\xb1\x42\x6a\xa2\x9f\x53\xe8\xc8\x80\x2a\x24\x27\xf8\xe8\x85\x81\x08\xa9\x70\xc3\xa7\x53\xa5\x75\x00\x0b\xe0\x2b\xe7\x07\x39\x18\x5c\xac\xed\x5f\x66\x2b\xe5\xf2\xfc\xf9\x38\xf5\x10\x75\x5c\x2c\xb6\xca\x14\x8f\xd3\x74\xe6\xe5\xf0\x70\x9e\xd1\x8d\xd0\x1e\x6b\xd8\xae\x13\x4a\x30\x68\xf3\x28\x5d\x18\x4e\x11\x84\x51\xc8\x76\xf3\xb3\x57\x1f\xac\x81\xc7\xcc\x37\xf3\x0c\x95\x38\xab\x83\x36\x3a\xdc\xd6\xdd\xa3\xcf\xe2\x0b\xb7\xf1\x57\x63\x93\xaf\x59\x5f\x69\x3e\xfa\xac\x8c\xdd\x22\x91\xdf\x52\xa1\x10\xe7\xf5\x92\xe2\x81\x28\xd3\x65\x18\x5d\xde\x36\xf8\xb9\xaa\x04\x52\x41\x25\x55\x97\x36\x26\xb4\x46\x5d\x94\xbd\x37\x40\xcc\xb3\x6b\x33\x58\x0d\x68\x81\x3f\x8c\xc1\x4b\xef\xe0\x13\xae\x04\xde\x00\x1e\x51\xa4\x32\x99\x42\x08\x6b\xbe\x5b\x3c\x6f\xa5\x2d\x5b\x0d\x11\x00\x73\x7e\x9f\x1c\xee\x30\xaf\x8d\x5d\x54\x9c\xb0\xc3\x32\xc1\xcd\xe4\xaf\x68\xca\xf1\xdd\x4a\xc6\x71\xee\x4b\xb9\x76\xa7\xab\x9f\x28\x33\x32\x4a\x16\xba\xfe\x1a\xed\x2f\x2f\x57\x08\x85\x1a\xbc\x2c\xe3\xac\x19\xc3\xce\xdb\x7a\xef\x0b\x11\x8f\x64\x24\x32\xd1\x63\x41\xb4\x6b\x50\x94\x0f\xb9\x01\x97\x09\xa7\x94\x4b\xff\x2b\x80\xee\xad\x45\x63\xa5\x0b\xdb\xc2\x01\xdc\x07\xe0\x5b\x51\x9e\xf9\xe0\xf3\xf4\xf9\xfb\x69\xfa\x97\x16\x45\x64\x1a\x56\x1c\xc3\xf5\x78\x52\x38\x19\x9a\xe4\x42\xd0\x35\xda\xcc\x16\xc4\x61\x17\x3d\x3a\xa2\x81\x4b\x51\x98\xb6\x9d\x03\xe7\xd3\x1c\x5c\xa0\xb0\x40\xc6\x56\xbb\x5e\x3b\x4b\x72\xcc\x09\x97\x4d\x18\x7b\xfc\xf7\x13\xf1\xc6\x7b\x7f\x23\xfe\xf3\x43\x8f\x77\x7d\x13\x7b\x5e\x2c\xed\x1b\xa7\x24\x30\x52\x63\xff\x5c\x6f\xbe\xab\x51\xbd\xd1\xbc\xc1\xd7\xa5\x50\xfc\xca\x24\xe9\x01\x86\x1b\x59\xca\x76\x70\xe0\xae\x3e\x3f\x0f\x2e\xff\x1f\x80\xc3\x2e\x4b\xa1\xc8\x4b\x41\x62\x8e\xcc\x7f\x36\xfd\xde\xc4\x14\x1f\x35\xbf\x7f\xb7\x6b\xf2\x92\x65\x8e\x2b\x5d\xb2\x46\x16\x3c\x48\xcb\x65\x22\xaa\x3b\x7b\x77\x4e\x89\x79\x78\x2f\xc6\xd7\xe5\x07\x26\x66\xe6\xaa\x84\x2f\x58\x5a\x18\x5b\x9f\xa4\x37\xbb\x9a\xb6\x63\x25\xdf\xc5\x80\x35\xbd\x64\x95\x59\x5f\x9f\x79\x22\xd0\xab\xdf\x9e\xa3\x32\x5c\x33\x37\xd7\x0a\x96\x0b\x1a\x6b\x5c\xc4\xeb\x9d\xb2\x7c\x46\x02\x4f\x20\x8a\x92\x0f\xb4\x36\x38\x8a\xa8\xf1\xf0\x85\x91\x9c\x9c\xc3\xef\xfc\xbd\x17\x84\x8d\xff\x6e\x4b\xf0\x17\x7a\x52\x22\x8f\x0e\x19\x83\xfd\x87\xa0\x96\x9f\x3f\x2f\x37\xd0\x33\x32\x9a\x3a\xd0\xb0\xe1\x3e\x8e\xb0\x65\xf6\x57\x48\x04\xa9\x55\xf2\xab\xfb\x07\x30\x4f\xdd\xd7\xa7\xbe\x35\x85\xb4\xf8\xff\x0d\xa4\xfa\xee\xe4\x65\x33\x48\x87\xae\x63\x6f\xc7\x3e\x6c\x16\x5d\x30\xb6\x32\xb1\x88\x63\xfd\xb9\x87\xdd\x48\xca\x39\x9a\x7b\x5a\x0d\x7b\x73\x4f\xf5\x04\x96\x21\xa5\x41\x2c\xfe\x37\x86\x3f\xc5\xb7\x33\x00\x77\xe4\xbf\x8e\x41\x1c\x0a\xe0\x46\x6a\xda\xff\xb8\x38\xb8\x42\x16\xed\x26\x38\x55\x24\x06\x11\x47\x85\xa1\xc2\x00\xb5\xd9\xdf\xe9\x24\x1b\xb5\x59\x35\x98\x82\x18\x86\x0f\x0e\x46\xe2\x11\x4c\x85\x35\x6e\xc7\xec\xb2\xd8\xf2\x31\x96\x94\x3e\x02\x0c\x71\xf3\xba\x32\xa3\xa3\x2e\xab\x36\x93\x03\x65\x97\xe9\x0a\xee\x0d\xec\xbc\xda\xf5\x97\x9c\x2b\x98\x96\x40\x2f\xac\xa2\xf0\x99\xb5\x6b\xed\x62\x7b\xe0\xf7\x28\x8f\xc5\x37\x07\xd0\x69\x3d\x1b\xa5\xc9\x7b\x6c\xcd\x8d\xac\xdd\x82\xad\xe2\xce\xe6\xbf\xa6\xef\x19\xa0\x38\xab\x03\x85\x31\x67\x9d\x28\x03\xbb\xfc\x13\xe8\x25\xce\x02\xd3\x68\x2f\xeb\x45\x66\xb6\x4d\xb9\xd2\x8d\xdd\x74\x9f\x00\x35\x0f\x1f\x14\xbd\x9f\x1a\xcc\xbc\x76\x67\xbd\x6f\x03\xda\x20\xea\x7e\x01\xe0\xa9\x9b\x57\x4b\x69\xe7\x88\xb6\x55\x07\xab\xdf\xd8\xa3\xdd\x96\xad\x77\xac\x52\x53\x82\x45\xec\x46\xed\xdf\x54\x1f\xac\xb2\x25\xaa\x0d\x60\x3d\xed\x17\x18\x8b\xf8\x7c\x2a\x3d\x31\x82\xf2\x2a\x8e\xf9\x16\x1f\xbb\xfd\xb7\x53\xa7\x58\xf6\xac\x80\x1e\x00\x57\x06\xa8\xf9\xb7\xd8\x5e\xea\xf2\xd3\x77\x29\x6c\x1f\x96\xc3\xd6\x66\x51\x9d\x48\xe3\xfa\x8c\x28\x14\x59\x53\xfe\xf4\x84\x53\xcb\x8c\x4b\x8f\xb7\xe6\x31\xde\xd8\xe2\xed\x57\x5d\xb5\x66\x99\x9f\xb7\xb0\x37\xd7\x9a\xb3\x5e\x26\x0f\xfd\x70\xf4\x40\x54\x27\x2e\xec\xc0\x25\x33\x8d\xb3\x95\x84\xc3\x0d\x9a\x9d\xaf\xb4\xdf\xde\xf2\xbb\x11\xf9\x35\xcf\x7a\x61\x54\x66\x36\xd1\xeb\xa9\x41\x35\xdc\x19\x4c\x95\xf3\x58\xcc\xa1\xe6\xb7\xc1\x7c\xf1\x08\x4c\xb8\x7f\x2d\x9f\xe5\x96\xce\xb7\x07\xea\xc4\x1a\x54\x03\x16\xd7\x67\x7b\x41\x29\xaa\xee\xad\xae\x46\xd1\x15\x95\x2e\x22\x14\x68\xfc\x18\x93\xf9\x6a\xa2\xa0\x41\x3b\x10\x2e\xf0\xe2\x7e\xc2\xfe\xa0\x85\x6f\xde\x25\xb0\xe8\x0c\xfd\x47\x23\x1a\xd1\x7d\x26\x5d\x02\x1a\xde\xd7\xbe\x63\xdc\x60\x0f\x43\xbb\x68\x48\x39\x78\x6e\x4e\x86\xb7\x59\x20\xce\x12\x17\x6c\xf0\xb2\x63\xde\x14\x03\xa4\x5c\x2b\x76\x5c\x45\x9f\xa5\xab\xc6\xa7\x31\xa6\x44\x39\x4b\xb7\x58\xe1\x29\x32\x62\x01\x2e\xbf\xf3\xad\x93\x4e\xf4\x07\xda\x17\xfd\x57\xa2\xa7\x8e\xdc\x51\xd7\xa9\x24\xa5\x2f\x05\xa3\x94\x10\x7c\x36\x74\xc3\xb0\x99\xc3\x33\x32\x14\xd4\x9b\xa3\xb4\x37\xa1\xa1\x17\xa6\x00\x96\x32\xb8\xd1\xdb\xd0\xb8\x79\x75\xfc\x30\x65\xd7\xf1\x80\x29\x92\x4e\xd8\x75\x68\x27\x64\x9c\xb6\xc3\xee\x84\xf5\x81\x1f\x7e\x78\x59\x89\xc9\x0b\x1e\x00\x90\x91\xb4\x3e\xc4\xda\x23\x0c\x62\x88\x22\x6b\x33\xd3\x0e\xf0\xc2\x0c\x03\xbc\x83\xae\xcc\x3a\x13\xa0\x39\xbf\xba\xa2\x76\x13\x0f\x88\xfa\x06\x24\xd0\x9f\x43\xdd\x3a\x14\xca\x29\x48\xb9\xcb\x3e\x09\xd5\xa6\x9a\x7a\xc7\xdb\x1c\x3b\x65\x93\x64\x5c\x6a\x17\x6d\x1a\x66\x9f\xe4\x18\x4f\xcf\x61\x25\xf2\x39\x9a\x91\x88\x04\x63\x4b\x9b\x78\xd3\xd0\x0f\xdb\xa5\xc5\x21\x6b\xa9\x25\x48\x81\xde\x44\x6e\x93\x10\x7f\xfc\x7b\x59\xdc\x22\x93\x17\x7b\x6e\x5f\xd6\x7d\x0a\xdf\x29\x39\x83\x3d\x0d\x5f\x2f\xfb\x1e\x87\x5a\xce\x28\xe9\xf9\x3e\x16\x6c\xfa\xb6\xad\xf7\x59\x9e\x06\x9f\xd6\x56\xf7\x8b\x1b\x06\x67\x51\x23\xa7\xdf\xad\x3a\x51\xc4\x01\x95\x17\xc8\x62\x77\x07\x83\xc7\xf7\xd5\x24\xbe\x1b\x7a\x77\xb1\xf0\xd9\xae\x8b\x23\xbf\xbb\xe3\x7f\x55\x14\x98\x3f\x7c\xc5\xf0\xef\x47\x08\xd4\xce\x05\x84\x68\xc1\x1e\x7f\x7a\xfc\x7b\xf9\x6f\xba\x24\x77\xf1\xd7\xcf\x9c\x9d\xb4\xba\x04\x1c\x29\x7c\x56\x68\x89\xda\x3f\xbb\x8c\x0d\x14\x5a\x56\x8f\x37\xbe\x25\x9f\xfc\x47\xfb\x6f\x2f\xa3\xd7\x86\x87\xf4\xe9\x45\xcf\x22\xb9\x4b\xd3\xb2\x85\xa0\xec\x15\xb5\x08\x6c\x06\xa5\x70\x37\x36\xce\x00\x1f\x2d\x7a\x0d\x21\xc1\x6c\x80\x34\x17\x6e\x3e\x94\xbc\x24\x5c\xe1\xd7\x7a\x56\x3f\x73\x7a\xfb\x71\x65\x6a\xec\x51\xe7\xeb\xe9\x5d\x6d\x8b\x9b\x04\xe6\x5e\xe6\x3d\x5e\xb5\x0d\xe4\xa7\xed\xad\xa5\x21\xa0\xb2\xba\x6c\x85\xf4\x48\x42\x34\x73\x4c\x0b\x69\x39\x7d\xde\x1d\x32\xa2\x5e\xd7\xfd\x4b\xd0\x35\x04\xc5\x4f\x42\xfa\x29\xe8\xed\x4f\x0d\xad\xe7\x76\x5e\x7e\xaa\x12\xea\xb5\xfd\xef\xdd\x80\x78\xa6\x93\x72\x6d\x5c\x1e\x4b\xda\x26\x47\x5e\xd0\x07\x35\x8f\x43\xe7\xd0\x10\x4c\x1b\xbc\x7d\x26\x46\xba\xf2\x94\xc0\xcb\xe2\xa8\x42\x5d\x4b\x86\x14\xa1\x6e\x33\x86\x86\x7c\xcd\x73\x47\x6a\x79\x1a\xf0\x16\x6b\xfe\x4f\xaf\xb5\x16\xda\x62\xe5\x73\xdc\xbd\xe6\x61\x57\x3f\x52\x36\xf0\x12\xa1\xb7\xb2\xbe\x4a\x90\xc2\xc7\x66\x68\xe3\xda\x32\x09\x0c\xc4\xca\x6c\x42\x53\x1c\xa7\x5c\x3d\xa2\x6a\xd5\xd5\x56\x97\x1e\xca\x2a\x94\x1f\xf4\x59\xa6\x93\x14\x5e\xa2\xa2\xc1\x99\x04\x84\xcb\xba\x5e\x1a\x45\x29\x07\xd5\xe8\x2a\x94\x03\x5c\xbd\x9f\x04\xa0\x0a\x03\xc2\x14\x82\x72\xd4\x72\x28\x61\xa2\x1d\x40\xf8\x05\x16\x08\x84\x36\x6e\xd4\x8c\x14\xa3\x3f\xa5\x7d\xda\x64\x4c\xb0\xa9\x17\x1e\xa6\x81\x16\x9a\x67\xa2\x0e\x49\x1d\x76\x71\xd8\x4e\x63\xd0\xc7\x61\x8d\x91\xc6\xae\x6b\x8c\xcd\xf7\x6d\x4c\x8c\xf6\x7f\x63\xc1\x41\x21\xa4\xb1\x68\x64\xb8\xa3\xb1\x56\xeb\xf0\xb5\xb9\xce\xf2\x77\x63\x03\x3d\xa2\xa6\xe6\x86\x96\xe1\xe6\x16\x96\xd5\x73\x5f\xd2\x3a\x8a\xff\xd2\x97\x95\xa2\x73\x4c\x1f\xcb\xed\xa3\x67\x3e\x91\x9c\x97\x31\xdc\x2a\x34\x2d\x25\xf0\x13\x26\xcb\xf5\x30\x11\x08\x55\x62\x16\x83\x29\x45\xdc\xac\x8d\x86\x2a\x19\x62\xb8\xd4\xd6\x06\x35\x31\x97\xc4\xef\x84\xe7\x09\xe4\x2b\xe8\x2b\x3b\x98\x8e\x3c\x85\xab\x86\x92\x60\x21\x71\xb0\x66\xcd\x1a\xce\x4d\xf9\x2a\xc6\x2c\x5b\x2f\x47\x4b\x2b\x13\x07\x7b\x17\x04\xc3\x12\x97\xae\x8d\x2c\x3e\x43\xe2\x4c\x13\x81\x8c\x1b\x01\xf3\x9d\x52\x25\x25\x63\x8c\xb3\xc2\xc6\xc3\x7e\x91\x92\x27\x45\x47\x8f\x86\x41\x89\xae\x47\xba\xc2\x3d\x87\x68\xc2\x12\xe4\x9f\x94\x8e\xb0\x38\x1c\x3a\x49\x44\xec\x4e\x02\x29\xc5\x57\xcc\xbb\xe1\x41\x46\x29\x75\x63\x77\x27\x71\x68\xcd\x58\x1f\xc3\xa8\xb2\x4c\x40\x61\x84\xbe\x7e\x8c\x36\xcc\x50\x63\x32\x4c\xe3\x22\xa5\x41\x08\x85\x32\x62\xec\xc8\x55\x09\x99\xc0\x26\x8c\x13\x80\x8b\xff\x0c\xaf\x39\xf6\x41\x23\xd3\x51\x4c\x4f\x07\x04\xac\x3a\x81\x45\x14\x80\x39\x6b\xa7\xa9\x92\x91\xc6\x1a\x66\xde\x4b\x46\x95\x62\x39\x33\x74\xba\x4c\x24\x63\x89\xcb\xac\x70\xff\x4c\x7a\xff\xa0\xbf\x35\xd4\x64\x12\xda\x70\x08\xa2\xfe\xf0\xf9\xdb\xb0\x3e\x24\x60\x9c\x2e\xf7\xef\xab\x1d\x7e\x58\xf3\x07\x3d\xb6\x17\x00\xa1\xe3\x3f\x84\xa0\x18\x4e\x90\x14\xcd\xb0\x1c\x2f\x10\x8a\xc4\x12\xa9\x4c\xae\x50\xaa\xd4\x1a\xad\x4e\x6f\x30\x9a\xcc\x16\xab\xcd\xee\x70\xba\xdc\x1e\xaf\xcf\x0f\x20\x82\x62\x38\x41\x52\x34\xc3\x72\xbc\x20\x4a\xb2\xa2\x6a\xbf\x7d\xf8\x9f\xd0\x0d\xd3\xb2\x1d\xd7\xf3\x83\x30\x8a\x93\x34\xcb\x8b\xb2\xaa\x9b\xb6\xeb\x87\x71\x9a\x97\x75\xdb\x8f\xf3\xba\x9f\xf7\xfb\x41\x08\x46\x50\x0c\x27\x48\x8a\x66\x58\x8e\x17\x44\x49\x56\x54\x4d\x37\x4c\xcb\x76\x5c\xcf\x0f\xc2\x28\x4e\xd2\x2c\x2f\xca\xaa\x6e\xda\xae\x1f\xc6\x69\x5e\xd6\x6d\x3f\xce\xeb\x7e\xde\xef\xf7\x87\x11\x14\xc3\x09\x92\xa2\x19\x96\xe3\x05\x51\x92\x15\x55\xd3\x0d\xd3\xb2\x1d\xd7\xf3\x83\x30\x8a\x93\x34\xcb\x8b\xb2\xaa\x9b\xb6\xeb\x87\x71\x9a\x97\x75\xdb\x8f\xf3\xba\x9f\xf7\xf7\xff\x00\x62\x24\x9c\xab\x74\x56\x26\x67\xae\xcf\x96\xed\x7f\xc1\x72\x3e\xbf\x3c\xd9\x79\xf3\xe5\x3f\x8f\x92\x19\x93\x98\x8d\xfb\x66\xfe\x7b\x9d\xe7\xb4\xb7\x9d\xa3\x00\x89\xb5\x11\x9b\x9e\x25\xee\xb5\xef\xc7\xcc\x7e\xdf\x5a\xfb\xfe\x61\xc5\x7a\x57\xbe\xbf\xbc\xf7\xdc\xf5\xdd\x32\x9f\x1d\xb5\x73\x76\x90\xef\xc0\xcc\xf2\x1d\x90\x99\xd9\x65\x57\x1d\xab\x00\x89\xb5\x91\xe0\x02\x00\x00\x00\x00\x40\x44\x44\x44\x44\x24\x22\x22\x22\x22\x62\x66\x66\x66\x66\xd6\x7d\x03\x90\x58\x1b\x09\x0e\xd3\x4f\x01\x84\x30\xc6\x18\x63\x44\x44\x44\x44\x44\xac\xb5\xd6\x5a\x9b\x36\x57\xf2\x30\x38\x42\xd6\xe7\x10\x49\x1b\xa5\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x90\x13\x00\x00\x00\x83\x2e\x01\x48\xac\x8d\x04\x57\x08\x00\x00\x00\x00\x00\x00\x0a\xa2\xdf\x88\x13\xc7\xd0\x39\xa0\x00\x89\x75\x84\x2a\xa5\x94\x52\x2a\x4a\x5e\x7d\x80\x1e\x14\xc4\x3a\x4d\x94\xb4\x24\x49\x92\x24\x49\xd2\x0e\x46\x82\x8b\x99\x99\x99\x99\x79\xd1\x9f\x9e\xfb\xde\xf3\xc0\x5f\x57\xcd\xc6\xfd\x3c\x47\x3c\xfe\x03\x00\x00\x01\x00\x00\xff\xff\x76\xe8\xc3\x61\x6c\x46\x00\x00") + +func assetsFontsGlyphiconsHalflingsRegularWoff2Bytes() ([]byte, error) { + return bindataRead( + _assetsFontsGlyphiconsHalflingsRegularWoff2, + "assets/fonts/glyphicons-halflings-regular.woff2", + ) +} + +func assetsFontsGlyphiconsHalflingsRegularWoff2() (*asset, error) { + bytes, err := assetsFontsGlyphiconsHalflingsRegularWoff2Bytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/fonts/glyphicons-halflings-regular.woff2", size: 18028, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsImagesGithubPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x95\x0b\x50\x13\xf9\x1d\xc7\x37\xbc\x45\xb0\x0f\xf1\x81\xa2\x5d\x37\x41\x41\x20\xd9\x0d\x24\x24\x69\x12\x1a\x08\x8f\x08\x01\x1a\x50\x50\x0b\x64\x49\x36\x10\x60\xb3\x4b\xb2\x90\x80\xd0\x01\x4a\x40\xda\xc1\x37\xa0\x14\xd0\x6a\xa5\x8a\x33\x54\x86\xaa\x58\x4b\x0d\xea\x88\x80\x94\xe2\x81\x9e\x88\x9e\x77\xf2\x50\xcf\x43\x79\x38\xf8\xf6\x26\x28\x7a\x73\x33\xf8\x9f\xd9\x99\xdd\xdf\x7c\x3f\xdf\xfd\xfe\x7f\xfb\xdb\xf9\x57\xc4\x46\x87\xbb\x3a\xaf\x72\x06\x00\xc0\x55\x16\x21\x55\x00\x00\x00\x5a\x2f\x27\x07\x00\x00\x0c\xf9\xf9\x33\x00\x00\xb8\x53\xa1\x89\x54\x1c\xa1\xa1\x8c\xa8\x1e\x03\x24\x6a\x22\x15\x03\x65\x38\x9a\x86\x29\x30\x54\x9d\x97\xdd\x85\x09\x01\xc0\x96\xa1\x8d\x4f\xa4\x12\xe5\x51\x02\x15\x81\x33\x51\xab\x86\x69\xc2\x49\xc0\xba\x84\x41\x26\x12\x55\x65\x62\x14\x98\x8a\xa5\x69\x75\x22\xe8\xe9\x85\x8b\x10\xa8\x55\x8b\xa0\x04\x8e\x1c\x96\x93\x21\x58\xba\x36\x22\x5f\x8f\xc5\xe5\x47\xc7\xab\xf2\x33\x55\x7c\x35\x14\x24\x06\x85\x26\x81\x09\x27\x71\x8c\x42\x41\x13\x9e\xa5\x33\x08\x4c\x22\x68\xce\x57\xa0\x33\x08\xac\x65\x16\x04\xce\x49\xa8\x4c\x11\xf4\x21\x54\xa2\x3c\x16\x0c\x21\xf4\x18\xc8\x61\xfa\xfb\xa9\x60\x04\x01\xb9\x5c\x26\x12\xc0\xe1\x72\x11\x5f\x90\x0d\x23\x6c\x16\xcc\x66\xc1\x5c\x3f\x24\x40\xc0\xe1\x0a\xd8\x81\xe0\xc7\x05\x89\x41\xa1\x5e\xad\x11\x28\xa4\x61\x1f\xdf\xa5\x57\x6b\x44\x50\x3a\x45\x91\x02\x16\xcb\x68\x34\x32\x8d\xfe\x4c\x42\x9f\xc6\x42\xf8\x7c\xbe\xd5\x83\xcd\xf6\xd3\xab\x35\x7e\x86\x3c\x1d\x85\x9a\xfc\x74\x06\xfa\xbc\x83\x14\x33\xa8\xf4\x5a\x92\xd2\x12\x3a\xd0\xfa\x8c\xa6\x12\x39\x94\x08\x82\xe6\xb7\x80\x93\x9f\x6c\x75\x86\x8f\x6d\x52\x11\x38\xcb\x84\x92\x2c\x84\x09\xb3\x7e\x22\x94\xcb\xbf\x2c\xc5\xf1\x4f\x6a\x03\xa5\xc0\x34\x5f\x56\x1b\xe2\xf3\x48\x8c\xa5\xc0\x0c\x44\x8e\x5e\x85\x29\x30\x0d\xdd\x0a\x93\x82\x10\x3d\x86\x52\x84\x3e\x9e\x20\xb2\xe6\xbb\x18\x9b\x4e\x50\x84\x21\x9d\x20\xc1\x90\x38\x2e\xe8\x25\x47\x55\x5a\x9d\xb5\xe0\x3d\x47\xc8\xe5\x02\x99\xce\x40\xa1\x3a\x15\x26\x93\x8a\x20\x13\x4e\x32\xb5\x5a\xb5\x20\x94\x83\x04\xf2\x24\x6c\x09\x9f\x2f\x81\x11\x24\x94\xcd\x97\x20\x9c\xe0\x10\x04\x0e\xe0\x4a\x78\x7c\x38\x40\x3a\xcf\x4a\x09\x55\x0e\x8e\xe9\xa8\x79\x56\xfd\x99\x0d\x5e\x90\xb5\x0e\xc3\x07\x1a\xd3\x6b\x73\x31\x75\x98\x9e\xc0\xc1\xb9\x4d\x0b\xb4\x0b\x67\xe1\x2d\x9c\xe5\x03\xab\x5e\x38\x0b\x7f\x41\x96\x25\x06\x85\xac\x9f\x7d\xea\xf9\x92\x42\x1a\x66\xbd\xfd\x34\xb8\x62\xf0\xf3\xe8\x63\x3a\xb5\x08\xd2\x43\x41\xe2\xbf\x96\x3a\x9c\xb7\xfe\x2f\x32\xa9\x24\xde\x34\x74\xa5\x06\x4f\xaf\x44\x57\x76\xf6\xe5\x45\xf9\xdf\x81\x6f\x4b\x7c\x76\xed\x54\xd0\x35\xe2\xc9\x0e\x59\xc4\xd0\xc9\x5e\xc7\xa9\xbd\x79\x2f\x8f\x0c\x78\x4d\xd2\x4e\xca\x2b\xcd\x6e\xde\x29\x07\x88\x31\xce\x71\x17\xf3\x71\xd8\xe7\x35\x7c\xa5\xba\x25\x6b\x3d\xb1\x43\x9b\x3c\xf6\x22\x29\xa7\x5e\xb8\x63\x78\x76\xb2\xee\xc1\xd6\x89\x57\xc6\x7a\xc3\xc5\x37\xff\x7c\x5f\x28\x9a\xed\xc9\x29\x0f\x11\xf7\x8c\x5c\xba\xc6\x88\xf2\xf0\xb5\x9d\xb6\xb8\xec\xf9\x47\x6f\xe1\x91\x35\x42\xda\xb9\x8e\xd1\x89\x06\xe3\xd3\xb7\xcf\xca\x0a\x79\xc9\x45\xb7\x5d\xbb\x25\xd5\x31\xed\x41\x16\x7b\xd2\x69\x5d\xaf\xfb\x22\xcb\xa4\xe9\x3a\x7a\xba\x7f\x77\x6c\xa4\xac\xc8\x5f\xb9\x21\x58\xfc\x7a\xf9\x91\xd6\xe6\x5b\xb0\xe3\xef\x47\xa6\xe3\x0f\x1e\x45\xba\xef\x0b\xcb\xce\x2f\x69\x2c\x2d\xf1\xb1\x57\x16\x26\xeb\x26\xfe\xf4\xae\xf8\x5d\x6e\xa6\x1d\x99\x5c\x72\xde\xfe\xaa\x39\xac\xb1\x80\x86\x40\xfd\x33\xe1\x76\x24\x73\x23\xd1\x1d\x73\xab\x68\x0b\xb9\xc2\xad\xf8\x89\x4b\x5d\xd2\x57\xdf\x98\x33\xcc\x2a\xfb\xbd\xbc\x48\x86\xc3\xf1\x4b\xd9\xae\x3c\x9b\xa3\x6b\xf7\x65\x0c\x6c\x51\xd2\x95\x4b\x1f\xe6\xe2\x17\x96\x93\xe1\xfd\x47\x73\xd6\xfd\x40\x2f\xa4\x0b\xce\x0e\x5d\x76\xdf\x9c\x72\x31\x88\xd6\x9a\x52\x9a\x97\x7e\x30\x74\x11\x63\xb7\xe8\xb7\xaa\x8d\xa6\xe8\xb7\x31\x7d\xe3\xfb\xbb\xae\x3b\x10\x77\x7d\x1a\x5e\x99\x0f\xae\xb7\x35\x7a\xbf\x5d\xeb\x39\xfb\x7c\x6d\xe4\xca\x72\x3f\x85\x27\x57\xb7\x61\xd9\xcc\x0c\xe1\xd1\x0c\x89\x7b\xd6\xb8\x75\x67\xb0\x5a\xa9\xda\xd5\x96\x4b\xad\xd9\x07\x2a\x88\xf0\xdd\x09\xfb\xbb\x03\xef\x67\x00\x36\xa5\x0f\xce\x78\xb2\xb3\x7f\xf5\xcb\x56\x97\xe1\xf0\xc4\xa0\x37\xa7\x8c\xa3\x5f\x13\xda\x5d\x15\x45\xa9\x21\x97\xf7\x34\x94\x4a\xaa\xf2\x47\x67\xaa\x53\x3b\x4f\x3f\xff\x3b\x35\xf4\xbf\x09\x97\x63\xe0\x1f\xea\xcb\x1a\x4f\x38\x5d\x43\x02\x0a\x56\x17\xc7\x3d\xbb\xf0\x37\x66\x67\x4b\x52\x19\x1d\x04\x53\x9b\xdc\x68\xed\x65\xaf\x0a\xce\x46\x30\xbc\xfa\xba\xab\x88\xf4\xc7\xcb\x68\x78\x75\xf6\x29\x9b\xba\xf6\xca\x53\xbd\x2d\x1e\xfb\x15\x4d\xb1\x0d\xcb\x2c\x4f\xcc\xc7\xba\x6f\x0c\x33\x6c\x56\xf9\x56\xee\x9b\x1d\x74\x80\x5f\x6f\x1b\x65\x57\x95\xc1\xce\xa3\x77\xa8\xe2\x96\xea\xe8\xf1\x8e\xdc\xb3\x8a\x84\x5a\xff\x9a\xc8\xef\x79\x89\x99\x8f\xd8\xa0\x2c\x66\x8a\x2b\xac\xb8\xfd\x58\xe1\x3b\xfb\x42\x72\x7a\xe0\x8c\x99\x59\xbc\xfa\x77\x37\x9a\x34\x76\xae\xee\xc1\x49\xce\x63\x3d\xf5\xbf\xb8\x59\xd4\xef\x1d\xd0\x50\xa2\xda\xae\xb0\x04\x5c\xf7\x87\xc3\x96\x76\x25\xdd\x2f\xbd\xf7\xfc\x2f\x22\x5b\x56\xc6\x1f\x6b\x9e\x39\x39\x65\x6e\x1f\x0e\x2f\x62\xb8\x1f\xb2\x0d\x2f\x3f\xb6\x61\xb3\x63\xe3\xd5\x2a\x7a\x04\xd7\xb7\xe2\x91\xe0\x72\xa8\x62\x3c\xa7\xd9\x43\x91\x30\x3e\xbd\x78\xf0\x44\x1f\xea\xbe\x57\xcd\xac\x6c\x7e\xef\xf8\x70\xa0\x79\x71\x04\xbb\xae\x5d\xe9\xd9\x76\xb8\xa4\x6d\xb0\x7c\x3a\xcc\x58\x3d\x22\xdf\xe4\x19\xd8\xe6\xa8\xc9\x18\x5c\x22\xf5\x88\x54\x7d\x2b\xb7\x14\x44\xf5\x8f\x7a\x26\x7e\x97\xfc\x7f\xd4\xb6\x8b\xba\x5b\xdb\xfa\xaf\x4d\x76\x49\x34\x51\x6d\xd3\x6f\xcc\x4a\xd8\x96\xc6\xb2\xe8\xaf\xfe\x77\x6a\x1a\x3e\xb4\x93\x9f\xc6\xef\x70\x06\x5f\x1e\x68\x04\xf2\xd2\xb2\xe0\xd1\x15\xd1\x7f\x66\xa4\x72\x4e\x0c\x1c\x4a\xdb\x36\x52\xfc\xef\xad\x6d\x59\x5d\x95\x87\x3b\x4f\xfe\xa7\xe8\x9c\x17\x83\x1d\xba\xa7\xf0\xcc\x4c\xef\xcd\x1d\x29\x75\xf5\x37\xdb\xef\xd5\x4c\x65\xd7\x46\x30\x82\xdf\xb7\xbe\xf9\xb5\x12\x18\xe3\xb9\x00\xc1\x8e\x5a\x3b\xeb\x29\x22\x0b\x8d\x96\x36\x07\x2b\x4b\x7e\x0c\x00\x00\xff\xff\x8e\xf1\xda\x9d\xb2\x06\x00\x00") + +func assetsImagesGithubPngBytes() ([]byte, error) { + return bindataRead( + _assetsImagesGithubPng, + "assets/images/github.png", + ) +} + +func assetsImagesGithubPng() (*asset, error) { + bytes, err := assetsImagesGithubPngBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/images/github.png", size: 1714, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsImagesHogPng = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\xc6\xfb\x3f\xd3\x8b\xc3\x00\xf0\x0f\x91\x4b\x35\xd6\x5c\xa2\xc8\x16\x4d\x94\x1c\x1c\xf7\xc9\xf8\x0c\x2b\x46\xac\x83\x50\x94\x98\xd8\x2c\x97\xca\xf5\xb8\x4d\x1b\xb9\x6c\xb9\xc5\x88\x59\x2e\x27\x26\x52\xb9\xc6\x41\x85\xe6\x12\x73\x1b\xb9\x35\x97\x08\x27\x46\x17\xaa\xe7\x3f\x78\x5e\xdf\xdf\xde\x34\x27\x9c\xed\x21\x69\x65\x69\x00\x00\x0e\x61\xed\x40\x67\x00\x00\xde\x03\x00\x90\x2f\xb9\x1f\x00\x00\xa3\xc7\xd5\x96\x00\x00\x28\x85\x61\xdc\xc2\x5c\x82\xfd\xc2\xee\xf8\x84\xdc\x00\xd0\xbe\xc1\xd7\x6e\xa8\x61\x89\x3e\xfe\x37\x9c\x6f\xf8\xf8\x46\xdc\xea\xb9\x61\x0e\x00\xd2\x79\x58\x10\x8d\xbf\xcb\xff\x5c\x78\xf5\xaf\x49\x1b\xb9\x7b\x18\x99\x0d\x0d\x6d\x6a\x80\xe3\x6e\x8a\xbb\x88\x9f\x38\xdc\xac\xbd\xa6\xcf\xda\x5b\xbc\x5d\x3a\xee\xde\x8e\xfc\x33\x51\x6f\x71\xa8\x76\x7b\x04\x11\xe7\x52\x9b\x60\xac\x6d\xb7\x94\xfc\x04\x21\x17\xaf\xe1\xbe\xe5\xf8\xe3\x55\x68\xd8\xc1\x37\x86\xa3\xdc\xbd\xc5\x3b\x1b\x04\xbf\xfa\x9d\xb5\xc9\x97\x62\x00\x7f\x0b\x86\x01\xe2\xa8\x80\x2c\x14\x40\x88\x5a\x82\xff\x13\x99\x4f\x55\x27\x15\xaf\x78\x78\x94\x8e\x46\xb6\x3f\x6a\xdb\x33\xd4\x93\xd9\xe8\xbb\xb5\xbb\xbe\x55\xbe\xda\xb4\x71\xe0\x96\x59\x62\x38\x08\xa8\x8a\x85\x05\xa9\xa6\x0b\x5d\xa1\xc3\xcf\x9f\xec\x5c\xb7\x4e\xea\xc7\xd4\xaf\x60\xd5\x3a\x96\x3f\x2c\xf5\x1e\xfb\xd8\x31\x0c\x9b\x41\x50\x75\x90\x87\xa1\x55\x21\x96\xf5\xa2\x87\xe7\xa6\xb2\xc5\xd4\x83\xf2\xda\xd6\xde\x4e\xc5\x32\x53\xed\x22\x19\x97\x20\xd4\xbf\x2c\x8f\x83\xba\x03\x2d\x02\xcd\xc5\x9d\x44\x58\x3c\x51\x84\x78\x1a\x3a\xf8\xb5\xa5\xbb\x65\x1d\x31\xba\xf3\x4c\xc1\x63\x23\x3d\x93\x15\x5a\xac\xad\x62\x5e\x91\x78\x50\xd7\x7e\x26\xe6\x57\x3d\xf5\x14\x32\x44\x87\x35\x88\xf1\xd6\x8a\x65\x65\xeb\xbc\xcd\xd9\x29\xbe\xd4\x13\x5c\x66\xfb\xe5\x6b\xd4\xcf\x08\x12\x24\x40\xf2\x61\x80\xac\x12\xdc\xf3\x04\xbb\x65\x3a\x3f\xa4\x60\xf2\x3c\x92\xcc\x4a\x07\x2b\xae\xd1\x53\x62\xab\x33\x3e\x2a\xc8\x5f\xc9\xc5\xa0\xdd\x8e\x1f\x68\x43\x96\xd5\xb2\x51\x72\x99\x07\xe5\x3c\xab\xfe\x83\x22\xd8\x6b\x5a\xb6\x1d\x34\x73\x13\x3a\xa4\x3a\x85\x70\x5b\x3a\x41\x4a\x0a\xca\x4b\xb3\x28\x3b\x4b\xd1\x87\x4a\x12\x58\x90\x7a\x2d\x7d\x17\x88\x0b\xb3\xbb\x54\xf2\xb9\xde\x4c\xde\xf5\x1a\xb4\xbd\xaa\x74\x44\x85\x26\xeb\xc7\x65\x72\x2d\xa5\x5a\xb7\xbc\xb3\x7f\x85\x63\x6d\x3b\x73\xfa\x5e\x27\xd7\xed\xe9\x67\x90\x52\xa9\xbe\xab\x60\xad\xaf\x28\x30\x99\x60\xcf\x1f\x4b\xb5\x7a\x00\xee\xe9\xa9\xf9\x78\x85\x79\xae\xeb\x09\x51\x6b\x75\x3f\x67\xc1\x01\x39\x56\x53\xff\xc5\xa1\xff\x56\xee\x64\xc8\xa2\xb1\xa4\x70\x6d\xce\x82\x35\x5e\x45\x80\xce\x6e\x64\x9b\xe4\xba\x0a\x40\x85\x42\xc9\x2f\xa7\x55\xba\x1b\x46\x8e\x69\x87\xab\xb1\x64\x72\x56\x7c\x9a\xdf\xe1\x44\x90\xce\x50\x44\xd1\x68\xa2\x22\xa2\xac\x80\x83\x79\xac\x88\x6f\x73\xfb\x31\x7d\x6f\x71\xb7\x88\x0e\x0b\x17\x80\x08\xd5\x50\xb5\xa2\xdb\x82\x52\x86\x44\xd9\x41\xc5\x7c\xc7\x0f\x4b\xfb\x8e\x68\xef\xec\x18\xda\x9a\xbd\xb4\x1a\xa0\x31\xa9\xcb\x35\x57\xff\x9e\x19\x4c\x28\x2a\x78\xe0\x56\x1f\xfd\xbb\x12\x72\xa4\x7d\x25\x28\xeb\x9d\xb3\xc4\x69\xe7\x5c\xb8\xf7\xd1\x78\xc8\x04\x6d\xf3\xbb\x0b\x82\xfa\xf0\x72\xd8\x99\x3f\x02\x96\x6f\x67\x77\xa1\xf8\x0a\x07\x60\xa8\x74\x3c\x7e\x4c\xfc\x62\x9f\xb5\xec\xfb\x62\xdb\xa5\xfb\x77\x7f\x39\xa8\xd6\x8c\x71\x7f\x7d\x5b\xda\x08\x48\xfb\x6a\x17\x1c\x81\x9e\x84\x24\xe3\x43\x9f\x44\xc5\x9c\x36\x14\xba\xa4\xfe\xbe\x63\x74\xe7\x0d\x3a\xa3\x5f\x09\x6d\x07\x3f\x2e\x57\x14\xb9\xcd\x38\xea\xae\xac\x47\xb9\x2b\x81\x29\xf3\x6a\xf0\xf9\xac\xed\x71\x2e\x87\xc8\x67\x3a\xa5\xec\x43\xf7\x65\xae\xf7\x87\x55\x31\xa4\xbb\x85\x15\x3c\x50\xef\x5f\xfb\xb4\x15\x3c\x58\xf6\x25\x83\x37\x6a\xa4\x15\xc9\xa8\x59\x48\xf8\xe3\x0b\xf1\xf2\x9c\xa5\x44\x8e\xf5\x3e\x6a\x6e\x0c\x8a\x5d\x8d\x2d\x68\xb2\x57\x5d\x1c\x1f\x51\xc0\x0f\xe2\xd8\xa2\x91\xa4\x69\x1e\xfb\xe6\xd3\x92\xbb\x56\x8b\x3f\x67\x60\xfc\xa4\xb9\xc0\x8a\x0d\xdc\x75\x15\x31\x13\xa3\x0c\xff\x57\x53\x95\xcf\x98\xdd\xd4\xe2\x9b\x3f\xf7\x2e\xf8\xf2\x1f\x7c\x56\xcf\x08\x7d\x0d\xf0\x11\x6b\x01\x9f\x4c\xd9\xde\xb6\x4b\xf7\xe3\xd2\x1f\xec\x5f\x15\x88\x9c\xd6\xfb\x33\xdd\x20\xb5\x97\x26\xb4\x5a\x6e\x93\x1a\xbb\xa5\xa6\x06\x57\xb2\xcd\x6f\x0c\x61\xe9\x18\x6a\x4d\xd4\xc8\x66\x7a\xb2\x27\x1d\x54\xcb\x6a\xfd\x79\xa7\x8c\x17\xf1\x39\xe5\xcd\xfc\xb5\xf2\xd4\x78\x8a\xd1\x02\xf2\x7e\xe1\xab\x33\xc6\xd9\xea\x51\xae\x3c\x6d\x63\xd0\x74\x5b\x7b\x78\x27\xd6\xed\x9a\xea\x3f\xb0\xb4\x47\x52\x5f\x52\x90\x62\xb3\xf9\x74\xc1\xa7\xda\xcf\x66\xae\xf2\x9c\xb5\xca\x3c\x01\xd8\xb0\xb8\xef\x95\xb1\x2e\x91\x7c\xac\x13\x52\x71\xe9\xfa\x56\xb9\xe9\x6a\xf1\xbb\xed\x1d\xa0\x7a\xb3\xf4\x08\x73\x79\xf1\x61\x9e\x50\x54\x04\x0d\xd8\x0b\xac\x62\x97\x71\x61\x0e\x28\xf4\xec\x31\xf1\x35\xf0\xef\xbd\xad\x97\x02\xd0\x9f\x07\xeb\x9a\xb5\x29\x31\xa5\x93\x19\xe6\x5e\x57\x45\x65\xd9\x47\x27\x8a\xdf\x35\x86\x7e\x3f\xbc\x4e\xb7\xc8\x3e\x3b\xcd\x68\xbc\x15\xc5\x83\x8b\xb5\x73\x68\xcc\x21\x6f\x4c\x3d\xe8\xfd\xe2\x85\x8b\x28\xa1\x63\x8a\x4a\x30\xe3\x91\x49\x4a\x4a\xdb\x12\x22\xba\xa3\x17\xce\x5e\x4c\xa1\x92\x21\x56\x73\xf5\x06\xa5\x27\xa3\xa1\x3d\xf2\x1f\x93\x56\x31\xb2\x90\x99\xa5\x91\xd7\x8b\x60\x83\x6c\x52\xf2\xc1\x88\xab\x5d\xea\xac\x33\x2b\x07\x45\x7d\xaf\x26\xf1\x30\x84\x25\x2b\xf0\xc4\xca\x01\x2b\x79\x86\x89\x05\xa1\x17\x5a\x4f\x7d\xc3\x93\x17\xe3\xba\x51\x0c\xa4\xdc\x41\xa0\xe4\x59\x89\x95\x29\x69\xcb\x6f\x55\xd1\xa3\x4f\x71\xd7\x46\x05\x0d\x76\x0f\x15\xb9\x6f\x3e\x75\x9c\x4f\xff\x15\x5b\x11\x0a\x6a\xbb\x97\x73\x81\x58\xf2\xe3\xc4\xa1\xd0\xba\xa8\x8d\xda\x01\x32\x09\xdd\x6a\x29\xe0\xc6\x2c\x81\xdc\xf5\xe4\x71\x6c\x4c\xaa\xa4\x9a\x1f\x27\x97\xe8\x78\x1f\x26\xd2\xc2\x5d\xa8\x53\x6c\x90\x7d\xef\xba\x22\x82\xd0\xd0\xd7\x09\x53\x49\xa0\x3a\xaf\x88\x22\x16\xd8\xfd\xa9\x9e\x54\xcd\x52\x1d\x35\x67\xc5\x7c\x71\x38\xa2\xd5\xee\xb5\xae\x91\x70\x88\xe2\x69\x02\x85\xab\x74\xd9\xf0\x05\x3b\xa7\x39\xa0\x90\x1e\x19\x4f\x35\x0e\xda\xbc\xc6\x94\x9c\x3d\x15\x32\xd9\x1b\x41\x46\x0c\x11\x53\xba\x53\xd5\xc2\x16\x1d\x42\xe0\x63\xb8\xa4\xa3\xe8\x65\x3b\xe4\x39\x62\xe8\x96\x6f\x2e\xa2\xa9\xa4\x48\xcd\x89\x9d\x38\x43\x54\x7e\xb3\x50\x65\xf6\x8b\xf5\x87\xd0\xe6\x75\x02\x73\xf0\x15\x2b\x84\xb1\x25\x98\x6b\xf2\xfd\xeb\xee\x95\x1c\xc3\x2c\x57\xd7\xa5\x1a\xf7\x7a\x79\x1c\x14\x69\x56\xbc\xb8\xb7\xbd\xba\x71\x07\x9b\xf7\xee\xf5\x8d\x9b\x6f\xe7\x9a\x07\x1e\xd5\x6d\x1e\xff\xb5\xb7\xf0\xb2\xe5\xb0\xe0\xae\xd7\xb7\x87\xc4\xf6\x8e\x9e\xeb\xbe\xb1\x93\x55\x0e\x9a\xa3\xe2\x1c\x8c\x7a\x6a\xa1\x55\x73\xe8\x34\x97\xea\xcf\x17\x3a\x68\xdc\xea\x19\xf0\xa0\x5c\x91\x89\x0f\x87\x55\xca\x79\xf9\x96\x14\x7e\xa8\x6e\xea\x6e\x89\x3e\x37\x6a\x3a\x4e\xd8\xe0\x60\xd4\x29\x9b\x1a\xec\x14\x7d\xf9\xda\xc0\x8f\x89\x69\xdd\x36\x3d\x9d\x38\xdb\xef\xf4\xd4\xfb\xb2\xb5\x83\xf1\x58\x49\xbf\x15\xef\x75\x17\xb1\x8b\x34\x3b\x8a\x7a\xb3\x63\xf2\xd3\x92\x52\xe1\xb5\xc9\x4b\x70\x26\x11\xef\xdd\x98\xba\x76\x90\xd7\xda\x6f\x3f\x71\xbc\xe9\x57\xf9\x7b\x33\x7a\x8a\x5d\xe4\xbc\x8c\x08\x9e\x25\xb0\xfc\x77\x8a\x59\xa5\x5e\x75\x26\xbc\xc6\x82\x64\x74\xb2\x70\x94\x97\x15\xa3\x9c\x22\xc9\x82\xd1\xa7\xaa\xb9\x06\x47\x66\x5e\x5e\xee\xb1\xd7\x20\xbd\x19\x9c\xd7\xea\xe8\x18\xeb\xf9\x98\x9c\xf7\x87\x49\x5e\x12\xc9\xa8\x6c\xaa\x75\xba\x88\x67\x13\x75\xf5\xeb\xad\xc3\x6f\xd2\x74\x50\xa9\xcb\xe6\x39\x24\x8f\xce\xbe\xaa\xb2\x59\x10\x7f\x47\x24\xe6\x67\xf4\xf8\xf7\xaa\x3e\x35\x00\x27\x4c\x80\x05\x50\xfe\xfe\x32\x9e\x4a\xfa\xd1\x4d\x39\x66\x32\x56\x1b\x61\x2c\xdd\x15\x01\x69\x3e\xec\xd8\x8d\x13\x3e\xc8\x78\x30\x08\xc3\xa2\xb2\x3f\xb6\xd4\x88\xf6\xc2\x76\xba\x36\xcc\x31\x95\x63\xb0\xc6\x20\x6f\x6b\xcb\x88\xdd\x80\xa8\xf1\xf6\x46\x6a\x17\x8d\x97\x16\x7d\x26\x63\x79\x5b\x78\x82\xd8\xa0\xb3\x95\x4e\x91\x76\xb5\x31\x1d\x13\x30\xe2\x4d\xd2\x89\x2f\x1f\xbd\xb0\x3d\x0b\xca\xc5\xc1\x1e\x63\x7f\x37\x86\x1f\xa9\xc3\x12\xa2\xc7\x05\x97\x1d\x67\x98\xdd\xdf\xdb\xad\xe0\xc8\xcd\x91\xf6\xe4\xa7\x94\xdc\x54\xf2\xf3\x11\xfb\x0c\x0e\x5f\xc6\x84\xde\x06\xcd\xc1\x10\x68\x24\xb6\x0a\x85\x2a\x1c\x7c\x4b\xa3\xc3\x50\x7d\x34\x32\xbc\x39\x82\xee\x80\x8b\x0e\xb7\x11\x80\x8e\x85\x84\xa1\x61\xdd\xf2\x0d\x6a\xc1\x40\xf4\xcf\x50\xe6\x72\x25\xac\xf5\x8b\x93\xc4\x57\x6b\xc2\xc2\xc9\x99\xfa\x09\x74\x84\x4a\x9e\xd4\x7b\x5a\x74\x9f\x5b\xe6\x82\xac\xc5\x22\xe5\xb1\x54\x55\xca\x58\x61\x81\x15\xb3\x76\xd6\x13\xb4\xb1\x2c\x15\xbc\x2d\xd0\xa4\xc3\xd0\x44\xa4\xb4\x43\x92\xc5\x7a\xd6\x52\xe0\xf9\xf3\x86\x99\x74\x93\xc9\xef\x65\xae\x46\x6f\x69\xaa\xff\x3d\xcf\xa1\x3a\x71\x12\xd1\xe2\x33\xa4\x74\x18\x6a\x36\x70\xe8\xd3\x5a\x9c\xf2\x6e\xce\xe3\x81\xd6\x9d\xb5\x45\x63\xfa\x55\x8e\x44\x18\xe7\x85\xa9\xd6\xc6\x05\x3b\x32\xe2\x6f\xee\xfe\x2c\x99\x09\xee\xa9\x56\x19\x6e\xd2\x32\x68\xb1\x3e\xb1\xd2\x09\xd5\x91\x18\x9d\x7d\x8b\xaa\x7c\x79\x1e\xa9\xbc\x77\x5f\x5c\x06\x8e\xe6\xdf\x46\x9d\x9b\xf3\xbc\x6b\xa2\xa1\xaf\xc0\xd8\xd8\x6a\x62\xa3\xfd\x51\x0a\xc4\xab\x52\xac\x13\x1d\x34\xd5\xeb\x97\x73\x4b\xfe\xa5\xee\x9f\xc1\x5a\xc8\x81\x38\x1a\x0c\x95\xce\x69\xf0\xf4\xea\x25\xb1\x55\xa8\x9a\x59\x67\x13\x60\x28\x53\xe8\x70\xf0\x3c\x22\x2f\x30\xc8\x98\xbe\xa3\xae\xac\x6c\x70\x48\xc6\x4f\xea\x82\xd2\x7e\x19\x5c\x96\xb9\xbb\x23\xaf\x2b\x4d\xb0\x78\xa1\x4e\x2e\xc2\xe3\xb5\xd8\xbe\x63\xf8\x76\x1a\xff\xc4\x13\x4d\x7f\x71\x09\xb3\x2e\xfa\x3c\xa9\xbb\x84\xa6\xe6\x07\x1d\x09\x67\x21\x77\x6f\x3c\xc9\xc4\x11\x7a\xe3\xa8\x0c\x41\x60\xa1\xee\xfc\xc3\x92\x91\x93\xd6\x02\x0f\xfc\x56\xaf\xee\x0d\xad\x79\x32\x47\x2f\xc8\xc5\x67\x24\x6d\xf8\x9e\x71\x17\xea\xd3\x66\xa7\x55\x9e\xfe\x3d\x2a\x3f\x74\x06\x6d\x2c\xa9\x4b\x80\xae\xd5\xcb\x8d\x7b\xd7\xb6\x60\xa5\x40\x4d\x96\x18\xf2\x26\x77\x3c\x41\xd7\x56\x2e\xb0\x05\xc1\xb7\x04\xd3\x22\x82\xe7\xf4\xa1\x17\xbb\x10\xca\x6d\x99\x9f\x5f\x3c\xdc\x1e\xfc\xea\x44\x7a\xb4\x3f\x83\x9a\xcf\xf8\x21\x19\x2c\xba\x98\x75\x32\x8d\xfa\x4f\xe4\x58\x2e\xe8\xe4\x6f\xf8\x2d\x33\xb9\xe1\x61\xad\x85\x2e\x74\xad\x8a\xaf\x1b\xe6\xb8\x8c\x39\x04\xc7\xed\x77\x7e\xf4\xa2\x63\x52\xca\x99\x66\xc6\x7c\x97\xb3\xd7\xda\x0f\x74\xee\xc6\xf3\x90\x89\x67\xa8\x15\x43\xc4\x1c\x5a\x45\xff\xe5\xdc\xd6\xf8\x06\xfa\x19\xe4\x0f\xa5\xca\xa4\x53\xac\xc6\xce\x31\x49\x45\x1b\xbb\x98\x01\xa5\x20\xa2\xe1\x39\x1b\x2d\x9f\x94\x8a\x7e\x31\x5e\x01\x04\x63\x70\xbe\xa3\xe1\xcf\x56\x87\xa0\x35\xaf\x7f\xe3\x30\x5d\x73\x53\xce\xf1\x84\x86\xdc\x91\xbd\x96\x44\x8d\xd2\x98\x8b\xa5\x30\x8c\xfe\x81\xe3\xa8\xd1\x40\x27\xd9\x3c\xea\x4a\xd7\x46\x78\xb0\xd8\x28\x5b\x62\xbd\xf9\xa8\x97\xa1\xe6\x33\x57\xec\xcf\xec\x8e\xf2\x98\xf5\xb8\x1f\x4c\xd8\xda\x18\xf7\x7a\xff\x51\xf5\x91\x28\x54\xcd\xf0\xb3\x7c\x52\x98\xce\x33\x0b\x21\x64\x36\xfc\xca\xd9\x6d\x32\xc5\x77\xfe\xc0\xd2\xcd\x3f\x23\x0f\x7d\x2a\xc3\x2f\xfd\x1e\x2e\x99\x36\x8c\xf6\xf8\x70\x48\xc7\xb6\xcc\x65\xb2\x34\xeb\x63\x08\x8b\x0f\x2f\x0c\x30\x3f\x5c\xf4\x79\x94\xcc\x7e\x0d\x24\x19\xd4\xb8\x2b\x10\x3b\xe6\xa0\x75\x52\x20\x78\xe8\x36\x8f\x69\xf0\x8d\xcb\x33\x0f\x3a\xf9\x38\x46\xe9\x3c\x37\xd9\xa9\xf6\xb2\xc2\xf7\x75\x3b\x77\x8c\x2d\xe3\x39\x79\x13\xa3\x57\xe5\xc1\xe3\x5d\xeb\x1b\x83\x68\xd5\x45\x65\x48\x1d\x5a\x67\x28\x8f\xa9\xd9\x6b\x18\x4d\xeb\xda\x87\x56\x62\x3f\x6d\x2d\xad\xb8\x25\x5a\x8f\x89\x2d\xe8\x30\x2e\x79\x75\x8d\xea\x1d\x5d\x5d\xed\x4d\xdf\xfa\x9d\x26\x62\xf5\x21\xdc\xbf\x02\xc1\x37\x3a\x77\xe5\x74\x44\x25\xfe\xdb\xc9\x4b\xf2\x10\xaa\x66\x71\xbc\x78\xa1\x65\x64\x9d\xfa\xed\x36\x76\x3e\x80\x8c\x7c\x43\x3b\xef\xd3\x55\x04\x41\xc8\xdd\xab\x3f\x7b\x89\x10\x07\x83\x23\x80\x0e\x13\xc0\x12\x04\xa8\x92\x00\x54\x44\x0d\xf1\xff\xb1\xdd\xec\xb7\x94\x2e\xb0\xde\x43\x36\x78\xd0\x52\xf0\x0f\x00\x00\x00\x16\x83\x03\x39\x56\xde\x09\xff\x17\x00\x00\xff\xff\x25\x6c\x2c\x59\xf6\x0a\x00\x00") + +func assetsImagesHogPngBytes() ([]byte, error) { + return bindataRead( + _assetsImagesHogPng, + "assets/images/hog.png", + ) +} + +func assetsImagesHogPng() (*asset, error) { + bytes, err := assetsImagesHogPngBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/images/hog.png", size: 2806, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsAngular138Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\xfd\xfb\x76\x1b\x37\xb2\x28\x8c\xff\xaf\xa7\x80\x14\x1f\x93\x94\xa8\xa6\xa5\x64\x72\x32\x94\x69\x8f\x22\xcb\x89\x66\xfb\xb6\x2d\x67\xb2\x67\xcb\x1a\x13\xec\x06\xc9\xb6\x9a\x0d\xa6\x01\x4a\xe6\xb6\x74\xd6\xef\x1d\x7e\x6f\xf8\x3d\xc9\xb7\x50\x55\xb8\x35\x9b\x92\xec\x71\xbe\xa3\xb5\x12\xb3\x71\x29\xdc\x0a\x40\x55\xa1\x2e\xbd\xed\xed\x0d\xb6\xcd\xfe\x56\xe4\xa9\x28\x95\x60\x87\xe5\x64\x51\xf0\xea\xef\xa7\xec\x72\x2f\xf9\x3e\xf9\xc9\x64\xb6\xd3\x0e\xdb\x7f\xb4\xf7\x68\x77\xff\xd1\xde\x0f\xec\x17\x29\x27\x85\xe8\xb2\x93\x32\x4d\xd8\x54\xeb\x79\xbf\xd7\xe3\x58\xeb\xa3\x4a\x64\x35\x31\x55\x5e\x20\xb8\x3e\x7b\x79\xf2\x6e\x83\x6d\xf7\x36\xda\xe3\x45\x99\xea\x5c\x96\xed\xab\xbc\xcc\xe4\x55\x97\x65\x32\x5d\xcc\x44\xa9\xbb\x6c\x51\x66\x62\x9c\x97\x22\xeb\xb0\xcf\xad\x85\x12\x4c\xe9\x2a\x4f\x75\xeb\x60\x63\xc3\x76\x2f\x13\x2a\xad\xf2\xb9\x01\xb0\xc1\x20\xe9\xdd\x34\x57\x4c\x8e\x3e\x8a\x54\xb3\x79\x25\x2f\xf3\x4c\x28\xc6\xd9\x42\xe7\x45\xae\x97\x6c\x2c\x2b\x93\x9c\x2d\xd2\xbc\x9c\xb0\x2a\x4f\xa7\xec\xb8\xaa\x64\xc5\x66\x42\x29\x3e\x11\x8a\x5d\xe5\x7a\x9a\x1b\x68\x76\xcc\x09\x3b\xd1\x2c\xe5\x25\x1b\x09\x96\xf2\xa2\x10\x19\xe3\x8a\x8d\x65\x51\xc8\x2b\xd5\xa7\x66\x2f\x79\xc5\xc4\x27\x3e\x9b\x17\xe2\x65\x5e\x1e\x57\x15\x1b\xb0\x19\xfc\x68\xb7\x28\xbd\xd5\x39\x30\x25\xf5\xb4\x92\x57\x71\xd9\x76\x4b\x96\xa2\xd5\x65\x2d\xe8\xfc\xe7\x47\x37\xcc\xfc\xb3\x77\xd3\xea\xb2\xb1\x94\x5d\x36\xe2\x15\xd4\xc5\xf1\x09\xc6\x47\xf2\x52\xb0\xb4\x12\x5c\x9b\xc1\x95\x2c\x2f\x95\xe6\x65\x2a\x98\x1c\x53\xab\x2c\x2f\x99\x9e\x0a\xdb\x0e\x2b\xf9\x4c\xa8\x39\x4f\x45\x62\x20\x18\x40\x95\x50\x8b\x42\x9b\x59\x10\x30\x01\x57\x79\x51\xb0\x29\xbf\x14\x8c\xfb\xd2\x19\x65\xa6\x32\x03\xe0\x04\x2e\x91\xa5\x48\xd8\xad\x90\x2a\x31\x2f\x78\x2a\x60\x34\x66\x4a\xa1\x37\x97\xbc\x58\x00\x1c\x18\x16\x2f\x33\x33\x4a\x97\x8d\xf3\x48\x25\x46\x66\xe2\xcd\x60\x69\x2d\x73\xc5\x4a\xa9\x4d\x5b\x80\x04\x22\xb3\x23\x2c\x17\xb3\x91\xa8\x4c\x15\x5e\x4d\x00\x73\x14\xcb\x61\xc1\x60\xb6\xf9\x85\x48\x68\xea\x4e\xc6\x6c\x2c\xae\x44\x15\x14\xe4\x95\x60\x6a\x2e\xd2\x7c\x9c\x8b\x8c\xe9\x29\x2f\x59\x29\x52\x83\x0a\x15\xe2\x4a\x5e\x6a\x51\xcd\x65\xc1\x0d\x8a\x75\x69\x4a\x75\xc5\x0d\xbc\x28\x8f\xcd\x78\x75\x21\x2a\x85\xa3\x1f\x09\x36\xaf\x84\x12\xd5\xa5\xef\xe8\x38\x2f\x79\x01\x38\x5c\x4e\x6c\x97\x4e\x73\xb3\x6a\x19\xd7\xdc\xd7\xe3\x95\x12\x19\x53\x9a\xeb\xdc\xa0\xdb\x92\x65\x0b\x53\x85\x71\x36\x5a\xe4\x85\xc9\x11\xf3\x2e\x53\x72\x26\xdc\x6c\xe4\xb2\x54\x06\x9c\x19\x0e\x9f\xcf\x0b\x33\x18\x98\xd5\x4a\x98\xd1\x69\xa6\x25\x9b\xca\x2b\x8f\x1b\x88\x2e\x38\x7e\xc4\xa3\x0c\x96\x03\xf1\x3b\x81\xd9\x72\x85\xd4\x54\x2e\x8a\x0c\x71\x03\x30\xc3\x4c\x36\x8c\x48\x56\x33\x8f\x2b\x84\xf7\x66\xd6\xb8\x6d\x89\x60\x1b\x78\x0b\x65\x06\x61\xf7\x84\xab\xd5\xea\xb0\x84\xb6\xa0\x41\x32\xd5\xf5\x00\x15\x74\x49\x8b\xd9\xbc\xe0\x5a\xd0\xcc\xc1\x38\xa9\x47\x1c\x67\x0c\xa7\xca\xe6\x77\x01\x4f\x2e\x79\x95\xf3\x51\x61\xfa\x5a\xb1\x89\x28\x45\xc5\x0b\x26\x3e\x99\x45\x51\x66\xb6\xec\x02\xfc\x6d\xce\x2b\x3e\x63\x9f\xb1\xf2\x0d\x9b\xc9\x6c\x51\x08\x40\x3c\xd7\x0f\x33\x7b\xe6\xf8\x31\x23\x03\x8c\x13\x2b\x33\x99\x84\xb0\xec\x91\x76\x83\xe3\x3a\x92\xa5\xd2\xd5\x22\xd5\xb2\x62\x47\x0b\xa5\xe5\xcc\x6d\x2a\x9f\xa1\xa5\x19\x09\x82\xd3\x39\xac\xc7\xd5\x54\x94\xac\x12\x7a\x51\x95\x79\x09\xa7\x27\xa3\x8a\xe3\x4a\xce\x28\x47\x64\xcc\x36\xd7\x85\x0e\xa6\x5c\x99\x43\xcc\xd4\xe5\x06\x97\x74\x9e\x9a\x43\x8c\xe9\xe5\x1c\x77\x30\x40\xc8\x95\x19\xd1\x78\x51\x60\xc7\x11\x96\xf2\x5d\x6f\x9b\xb5\xe8\xe3\xa4\x74\xdd\x12\xb8\x84\x24\x49\x6c\xda\x61\x35\x51\x9d\x3e\x8e\xf4\xa6\x3e\x2d\x70\xc4\x6f\x58\xa0\x76\xf1\x71\x8e\xbb\x2b\xb3\xd3\x61\x9f\x37\xd8\xea\x9c\x0d\x56\x93\xae\xaf\x31\xed\x60\x83\xd1\x3c\xb8\x59\x68\x23\x14\x06\x27\x32\x1c\x5b\x03\xbf\xdf\xcf\x1e\x9d\x77\x21\x93\x99\xed\x39\xce\x3f\xb1\x01\x6b\x9d\xb5\xd8\x0e\xa3\x4e\xb1\xa7\x16\x03\x76\x58\xab\xdf\x62\x7d\xd6\x6a\x75\xd8\x0e\x02\xda\x61\xad\x73\xd6\xb2\x00\x1c\x5e\x86\xf0\xf7\xce\xeb\xd9\x66\x7e\xc2\x22\xdd\x0d\x2a\x40\x17\x4e\x97\xe5\x07\x98\x44\x09\x6c\x60\xfb\xb6\xe3\x80\x24\x74\x9a\xb6\x7b\xef\x3f\xbf\xcf\x76\xde\xdf\xf4\x26\x5d\x3f\xe2\x19\xd7\xe9\xd4\x0e\x1b\x07\x9e\x97\x99\x30\x83\xdb\x81\xbc\x44\x99\x6b\xbc\xbd\xd7\x65\xbb\x7b\x9d\xae\xe9\xcb\x81\xed\x45\x3e\x66\x6d\x2c\xbc\xc3\xf6\xd9\xe3\xa8\xdb\x49\x21\xca\x89\x0e\x20\xbb\xc9\xd6\xf2\x99\x18\x2d\x26\xa7\x80\x0e\xed\xb0\xce\x99\x03\x76\x6e\xae\x2c\xf8\xbb\xd9\x88\x2a\x43\x97\x30\xef\xa6\xb3\x32\x76\xfb\x6b\x87\xb5\xde\x97\x44\x46\x00\xce\xaa\x24\xa2\x26\x7a\x40\x86\xf4\x5a\x6c\x87\xa0\x37\xad\x60\x2f\x5e\x41\x6c\xd4\xec\x92\x76\xce\x06\x6c\xff\x80\xe5\xec\xb1\x5f\x1a\x1a\xef\x01\xcb\x77\x76\xfc\xa0\x9b\xba\x66\xaa\x0f\xd8\x3e\x7b\xca\x5a\x4f\xa1\x89\x87\xd0\x46\x6b\xde\xc2\xcc\x5d\xb6\x0f\xdf\x03\xdf\x3d\xc6\x44\x69\xfa\xf0\xdb\xdb\x93\x23\x39\x9b\xcb\x52\x94\xba\x1d\xcf\xa3\x47\xa3\xfc\xbc\x43\xb3\x87\x73\x47\x33\x67\x0e\x9e\xfa\x5e\x68\x53\xaf\xa0\xfc\xcd\xc1\xc6\x8d\x21\x8e\xd8\xef\xe6\x94\x32\x37\x9a\x64\x5a\x14\x05\xfb\xa8\xa6\x79\xa9\xd9\xd5\x94\x87\x47\xa3\x39\xfd\x47\x02\x2e\xee\x4f\x73\x59\x99\x43\x67\xbb\x67\xaa\x4f\x0a\x39\xe2\x05\xa3\x09\xef\x33\x5d\x2d\x84\x41\xec\x99\xca\x85\xff\xfa\xf8\xc7\x8b\x5c\x87\xdf\xff\xb9\x10\xd5\xd2\x7f\x03\xd6\x05\x9f\xf3\xf8\x7b\xbe\x50\x53\xff\xa5\x25\xce\x82\x4f\x29\x27\x78\xa3\xf8\x14\xea\xcf\x4b\x58\x5f\x9f\xbc\xc8\x33\xff\xf1\xf6\xf8\x97\xe3\xff\xfa\x70\xfa\xee\xed\xc9\xab\x5f\x3e\xc0\xc7\x1b\x9f\xf9\x8f\xc3\x17\x27\xcf\x4e\xde\xfd\xf3\xc3\xe9\xbb\xc3\x77\xc7\x1f\xde\xbc\x7d\xfd\xe6\xf8\xed\xbb\x7f\xda\x02\x1b\x8c\x15\xf2\x4a\x54\xe6\x0c\x0d\xc0\xcf\xe7\xf5\xa4\x19\x2f\x17\xbc\x78\xb1\x5a\x16\x33\x7e\x5b\xad\x51\xca\x4c\xbc\xe2\x33\xf1\xc1\x27\xe5\xea\xb0\xaa\xf8\xf2\x45\x7e\x11\x94\x1b\xcb\xea\x98\xa7\xc1\xbc\x28\x58\x97\xff\x10\x4b\xb5\x52\xe8\x14\xb2\x7c\x72\x25\x2e\x45\xa5\xc4\x1b\x73\x0b\x05\xa5\x4b\xf1\x49\xff\x16\x4e\x91\x12\xfa\x57\xae\xa6\xff\x21\x82\xb5\x12\x9f\xb4\x28\x83\x32\x79\xa9\xc3\x8f\xa9\xa8\x72\x1d\x8e\x46\xce\x83\xec\x4c\x94\x3a\xd7\x01\x34\xa0\xe2\x9e\x97\xe1\x58\x7f\xb3\xc4\x7c\x98\xf8\x6c\x35\xe9\x35\x90\x7b\x61\x4a\x1d\x2f\x72\xf5\x0a\x48\xbe\x08\x10\x0f\x11\x91\x66\x36\x4c\x78\x4e\x87\x65\x98\xf6\x56\x4c\x8e\x3f\x85\xe3\x50\xbf\x03\x0f\x12\x35\x9e\xca\x79\x04\xf9\x79\x5e\xc4\xdf\xb2\x9a\x3d\xe3\x9a\x87\x69\x3f\x17\x72\x14\x7d\x4b\x59\x08\x1e\xb5\xfd\xa6\x92\xb3\x5c\x89\x78\xf1\x75\x95\xcf\x82\x25\x51\x29\x9f\x8b\xe7\xb2\x7a\x2b\x26\x22\xee\xe7\x71\x21\xcc\x41\x11\xe2\xdd\x85\x78\xc9\xc3\x32\x65\x5a\x2c\x32\x11\xa0\x01\x37\x53\xf2\x56\xcc\xe4\x65\xd0\x62\x2a\xe7\xe1\x86\x9d\x72\xc3\xd4\x1c\x45\x89\xe2\x8f\x05\x2f\x02\x38\xa9\x9a\x87\xf5\xcb\x94\xeb\xda\x96\x37\xf7\x80\x4f\x1a\xe5\x21\x5e\x69\xf9\x77\x25\xcb\xb7\x78\x9d\x55\xf5\xf4\x00\xc5\x2b\x39\x8b\x53\x94\x36\xc4\x4c\x39\x79\xc7\x27\xe1\x8c\x2d\x9f\x89\xfa\xb1\x1a\x1c\x31\x86\x96\xfe\x0f\xb1\xfc\x87\xc1\xc7\xb0\xb1\xd5\x34\x3a\x9d\xab\xfc\x54\x4c\xe2\xb9\x75\x39\xb5\xe3\x8d\x4e\xa3\x93\x32\xdc\x19\x23\x29\xb5\xd2\x55\xb8\x14\x13\xa1\xdf\x09\xa5\xf9\x08\x38\xd0\x60\x40\x25\xbf\x10\x1f\xe2\x63\xc2\x4c\xd6\xdf\xeb\xed\x28\x25\x2a\x7d\x58\x4d\x1a\x92\xc2\x3d\x86\x89\xaf\xa4\xd9\xdc\xaf\xaf\xca\x37\x95\x9c\x8b\x2a\x6c\x70\x22\xb4\x0e\xe7\x7c\x22\xf4\xcf\x85\x4c\x2f\x5e\xc9\x08\x51\xa6\x6b\xaa\x23\x2d\x1f\x60\xd9\x06\x63\xaf\x5e\x3f\x3b\xfe\xf0\xee\x9f\x6f\x8e\x3f\x1c\xbf\x38\x7e\x79\xfc\xea\x9d\x2f\xee\xb3\xde\x1d\xff\x57\x63\xfa\xd1\xeb\x97\xeb\xaa\x3c\x7b\x7d\xf4\xdb\x5d\x79\x1f\x9e\xbf\x3d\xfc\x25\x2c\x64\x68\xcd\xde\x3d\xfe\xbc\xf8\xa0\x9c\x64\x32\x25\x7a\x01\x13\xf8\x4c\x30\x24\xb6\xff\x46\x64\x04\x7d\xad\x4a\x1a\xbe\x63\xe5\x84\xb5\x53\x59\x09\x82\xd0\xb1\xfc\xb9\xe1\x73\xb0\x72\xae\x58\x21\x79\x26\x32\x36\x5a\xb2\x4c\x8c\xf9\xa2\xd0\x44\x9c\x97\x81\x4c\x05\x78\xb6\x14\xf9\xc8\x5c\x21\xaa\x8b\x0c\xf9\x5f\x0b\x49\x2b\x51\x8c\x4d\x0b\xa9\x2c\x35\xcf\x4b\x85\xcc\xa8\x52\xe6\xf0\xe5\x05\x4b\x2d\xfa\x2b\x64\xc1\xd6\xc1\xd7\xd2\x51\x8e\xd8\x80\x36\xc4\x00\x1b\x89\x42\x5e\x19\xf0\x45\xae\x0c\x63\xcc\xa6\xf9\x64\xca\x0a\x71\x29\x0a\x36\xaa\x04\xbf\xc8\xe4\x55\x09\x0c\x04\x4f\xa7\x96\x01\x34\x0c\x6e\x9e\x0a\xd5\x1b\x73\x43\x8b\xe4\x86\x7d\x1b\xe7\x85\x16\x95\xea\xb2\x2c\xaf\x44\xaa\xf3\x4b\xc7\xc7\x29\x4d\x7c\x4c\xd0\x55\x7e\xc9\xf3\x02\x3a\x80\x72\x17\xa6\xa7\xb9\x62\xc1\xa4\x5a\x46\xed\x71\x96\x5f\xb2\x4c\xa6\xbb\x98\xbc\xeb\x61\x0c\xb6\xca\xc9\xd6\x93\xc7\xbd\x2c\xbf\x7c\x82\x0c\x87\xa1\x80\x1b\xe8\x00\x36\x60\xbd\x7f\xbd\xef\xb5\x93\x9d\xce\xfb\x5e\xfb\x8c\xef\xfe\xcf\xf9\x76\xe7\x41\xef\xc0\x60\x8d\xe3\xf8\x40\x90\x80\x9c\xad\x99\xe8\x4a\x16\x2d\xc5\xfe\xc1\x8b\x3c\xcb\xf5\xf2\x54\x1b\x82\x7f\x4e\x5b\x23\xc1\x7a\xb9\x22\x76\x2a\x63\x4a\x32\x6d\x48\xac\x5c\xb7\x14\x9b\x4b\xa5\x72\x33\x32\x27\x47\x30\xfc\xbf\x99\x06\x65\x16\x01\xb7\x13\x9b\xc9\xf4\x22\x86\xaf\x12\x18\xc0\x1a\x5a\xc5\x70\x2c\x97\x54\x3c\x94\x84\x21\x2a\xdb\x95\xf5\xc8\x4c\xa7\x54\xe2\x08\x9b\x06\xdc\xbe\xc8\xcb\x2c\xac\x5a\x47\x78\x76\x24\xcb\x4b\x51\x69\x44\x39\x2f\x2f\x41\x76\xd0\x0c\xc6\x41\x4f\x9a\x98\x6a\x2a\x77\xea\x8a\x8f\x84\x99\x5c\x03\x12\x69\xd4\x5a\x75\xc7\x8e\x5a\x00\x8e\xd2\xca\x02\xf9\x49\x0f\xa6\xc9\x55\x65\x03\xcf\x11\x61\xa1\x0e\xfb\x4c\x84\xb3\x25\x22\x5c\xc6\x53\x0b\x47\x4b\x80\x7d\xc4\x95\x68\x77\x58\x9f\x92\x0f\x6e\x0e\x00\x78\x7c\x14\xb2\x01\x43\xea\x24\x99\x57\x52\x4b\xc3\x51\x27\x71\x89\x2f\x58\x0f\x47\x55\xfe\x29\xeb\xe1\xa0\x7f\xdd\x7a\xd4\xaa\xaf\xac\x87\x23\x70\x57\xd7\xc3\x55\xfd\xda\xf5\x00\xd8\x0d\xeb\x81\xdb\xba\x46\x79\x47\x8d\x20\xcf\xd6\xdb\xb6\xdc\xce\x28\xd7\x57\xb9\xb9\x5d\xc7\xbc\x50\xc2\x74\xd0\x71\x52\xbe\x03\x1d\xe2\xcf\x9e\x32\xe5\xb9\xec\xb3\xc3\xdd\xff\x3e\x8f\x78\x6c\x60\xb0\xa9\x32\x56\x4d\x0c\x89\x72\x34\xe5\xd5\x91\xcc\x44\x3b\x9d\x26\x29\xfd\x3e\xd4\xed\x47\x1d\x76\xcd\xbe\xdf\xef\x1c\xdc\x58\xf0\x7d\xa6\x0e\x36\x08\xab\x6a\x4c\xc2\x9f\x35\x06\x73\xbe\xfd\x7b\x63\x78\xc8\xfe\x4f\xe3\x20\xe0\xc0\x44\x08\xdf\x05\x1b\x08\x8e\x79\x97\xec\xd6\x91\x65\xb2\x6c\x69\x92\xba\x1b\x44\xab\xcc\xbd\x40\x52\x63\xc5\xf2\x92\x8d\x2a\x79\xa5\x50\x76\xaa\xa7\xec\xdd\xa2\xba\xc8\xd5\xd4\xb4\x51\xc8\x94\x17\xa2\x4b\x92\xb7\x5c\xb1\x4a\x70\x25\x4b\x76\xe5\xd9\xdb\x4c\x68\x10\x70\xc2\xb5\x61\x3b\x51\x09\x64\x36\xfc\xe9\xd0\xf3\x78\x39\x13\x7a\x2a\x33\x65\xe0\x43\x7b\xb6\x43\xa3\x85\x66\x0a\x2a\x30\x5e\xc0\x69\x0d\x97\x57\xb2\x91\x8f\x59\xbb\x95\xb7\xd8\xe6\x60\xc0\x5a\x27\xad\xf8\xcc\xc0\x05\x0b\x4f\xa1\x1a\x8a\x1e\x84\x2c\xa4\xcb\x76\xab\x0f\x1c\xbb\x41\x0b\x94\x83\xa8\x5c\x74\x59\xf8\xd7\xeb\xb1\xa9\x2c\x32\xc5\x66\xfc\xa3\xac\x98\xe1\xf0\xcc\x09\x40\x52\x6f\x33\x31\x27\xc7\x5d\x26\x2b\xf6\x8a\xbf\x62\xf9\x98\xfd\x76\x68\x45\xe5\x27\xc7\x09\xc0\x44\x36\xbd\x1b\xc3\xcc\x44\xc1\x97\x40\x6e\x9a\x23\x40\x81\x18\x1a\xf9\x77\x96\x82\x6c\x75\x24\x2c\xe5\xc2\xc7\x5a\x54\x6c\xa1\x08\x1a\x14\xba\x0d\x1a\x14\x03\x46\x20\x1a\xc8\x80\x9d\x9d\xa3\x20\x0a\x45\x64\x28\x0e\x58\x2d\x31\xf7\x45\xe6\x0b\x35\x65\xab\x40\x4c\x32\x16\xb0\x42\x83\xb0\xc0\xca\x11\x6d\x0b\x61\x15\x2b\x55\x08\xab\x38\xa1\xf4\xa4\xd5\x21\xf9\x5c\x6f\xbb\x76\x60\xe3\xd6\x73\x54\x7f\xd4\x27\x7c\xba\xb2\xf2\x29\x76\x7d\xcd\xda\xb5\xa4\x01\xfb\x7c\xd3\xe9\x86\x00\x50\x88\x81\x49\x8b\x3c\x63\xf5\x71\x3e\xf2\x77\x89\x7d\x11\x7b\x29\x33\xa0\x28\x79\xc9\x4e\x8e\x77\x65\x59\x2c\x1d\x29\x62\x8a\x91\xb0\x6c\xa6\xb2\x32\x99\xe5\x69\x25\x95\x1c\xeb\x24\x95\xb3\x9e\x28\x77\x17\xaa\x57\xe4\xa3\x8a\x57\xcb\x5e\x2e\x7a\x69\xba\xf7\xd7\x1f\xff\xfa\xd3\x4f\xed\xcb\xc1\xa5\x4a\x7e\xfa\x4b\x27\xe1\x6a\xfe\x09\xce\x70\x83\x81\x6c\xe0\xda\x4c\xc2\xc6\x61\xe7\xd3\xfd\x36\xaf\xf2\x4b\xae\x45\x78\xbd\x6c\xdf\x30\x39\xfa\x18\xdc\x18\xec\xf3\x08\x39\xdf\x1b\xf6\x96\xae\x10\x43\xa9\x1b\x34\x1d\xca\xd1\xc7\x21\x0d\x06\x38\x53\x83\xc2\xf0\x63\xb7\xc8\x2f\xdc\xab\x4f\xdb\xf0\x26\x2f\x72\xa5\xbb\xec\xd0\x4b\x50\x41\x14\x5e\xff\x23\x4c\x48\x92\xa4\x03\x03\x71\x52\xe7\x40\xce\xd2\x96\xa3\x8f\xb8\x61\xcd\x9e\x96\xa3\x8f\x6c\x30\x60\xe5\xa2\x28\xcc\x9a\x59\xf6\x1f\x0a\x59\xf9\x9f\x95\x2e\x9b\xd3\x17\x24\x6c\x1b\x1b\x28\x61\x45\x59\x21\x1b\x98\x9e\x5a\xc1\xe1\x86\x07\x9c\x94\x32\x13\xef\x96\x73\xc1\x06\x83\xc1\x2a\x9b\xc4\x1e\x3e\x64\xb1\x74\xd5\x4a\x56\xab\x85\x6f\xa7\x7e\xd0\x43\xef\xa1\xa7\x30\x22\xf7\x6d\xfb\x32\x18\xb0\x47\xec\xfa\xda\x49\x1c\x41\xe8\x2f\xc7\x61\x7e\x0b\x0f\x8e\x96\xef\x00\x7b\xc2\x1e\x99\xaf\x36\x7d\xee\xb2\xbd\x8e\x39\x94\xe5\xe8\x23\x49\x13\xef\x47\xd0\x90\x50\xea\x2b\xc8\x19\x7c\x6d\xba\x94\x17\x02\x09\x9a\x61\xae\x45\xc5\xb5\xac\x86\xae\x16\x93\xe6\x80\x32\xa7\x1d\xb0\x1f\xb9\x16\x33\xd3\x47\xc4\xa2\x54\x16\x85\xa0\x27\x90\xab\x69\x9e\x4e\xed\x6b\xad\xc8\xf5\xd4\x9c\xe6\xd0\x02\x61\x14\xb2\x46\x80\x69\xc8\xfe\x34\xb5\x66\x48\x7a\xe8\x10\x3d\xa3\xb9\x32\x6d\x90\x6c\x75\xd9\x85\x58\x76\x0d\xc4\xce\xd0\x34\x29\x2a\xc1\x86\x90\x33\x84\x77\x41\x15\x3f\x76\xf2\x32\x78\x90\x46\x4a\x32\xe8\x05\x13\x28\xcc\xe9\xb2\xe1\x85\x58\x0e\x6d\xed\x7a\x8d\x0b\x61\x6a\xe1\x23\x5f\x50\x8b\x24\xfd\xe6\xd2\x33\xe8\x4c\x95\x69\x77\x01\xcb\x98\xb0\x53\x20\x10\x97\xf8\x86\x38\x34\x5c\x8d\xf8\xa4\x87\xee\x39\x2b\x1c\xb5\x84\x05\xe1\x85\x7b\x32\x85\x87\xd7\x2b\x59\xe9\xa9\xb9\x53\x80\x5c\x34\x0c\xce\xd0\x2e\xf7\x90\x65\x52\xe0\x7d\x83\x73\x24\x98\xbc\x14\x95\x15\x19\x8a\xcc\x8e\x20\x17\x8a\x8d\x44\xca\x17\xca\xf0\xb2\x96\x4b\xf4\x0f\x83\xd0\xed\x98\x9a\x1e\xd2\x55\x6d\x3b\xf3\x5b\x09\x47\xc3\xf1\xe9\xfe\x8f\xfb\x2d\xa8\x7a\x06\xfb\x20\x38\xeb\xa9\x57\xe7\x6d\x3a\x0c\xaf\xae\xae\x12\x91\xce\xf8\x2e\xf1\x5f\x34\x3a\x59\x4d\x7a\x90\xbc\xff\xe3\x7e\xef\x2f\xc9\x5e\xef\x3b\x25\xd2\xdd\xbd\xbf\x24\x3f\x24\x3f\x24\x7b\x3f\x75\xe0\x88\x79\x03\xda\x03\xa6\x6f\x2d\xa7\x89\xd0\x32\x2b\xd7\x32\x27\x46\x0b\xd7\x17\x99\x6d\x9c\x6f\x78\xc1\x35\x33\x81\x4f\xfc\x9c\x99\xfd\x0f\xf2\xfa\x2e\x10\x17\x15\x07\x74\xfc\xb8\x50\x1a\x9f\xcd\x71\xc7\x3b\x54\x21\x75\x05\x1a\x2f\x63\xc3\xe1\xf0\xa3\xc2\xcd\x6c\x4e\x1c\x6a\x6f\xc0\x3e\x9b\x7d\xd7\x67\xad\x59\xae\x2e\x64\xab\xcb\x26\xa2\xcc\x44\x65\x12\x78\x21\x5a\x37\x07\xbe\x4a\x21\x27\x70\x65\x52\x52\x6d\xab\x22\x32\xab\x80\x42\xf4\xd8\x1d\x3c\xfa\x18\xd2\x0a\xee\xdc\xb6\xc1\xc1\x1d\xd6\xea\xb3\x16\xdb\xc1\xee\xd8\x37\x9e\x9b\xae\x69\xcb\x7e\x89\x4f\x73\x91\xea\xb6\x49\x49\xb4\x3c\xfe\x63\xc1\x8b\xf6\x59\x0b\x7b\x6d\x3b\xdd\xb2\xbd\x86\x4e\xd3\x63\xd1\x70\x38\xac\xbd\xcb\xe2\x6d\x7e\x0d\xeb\x0c\xd7\x0b\xdd\xef\x86\xf4\x0b\x11\x2e\xe2\x73\x9e\xbb\x07\x58\xbb\x6f\xd9\x89\xfd\xe1\x64\x1f\xab\xad\x0c\x6e\x18\x6d\x8e\xa0\x91\x91\x48\xe5\x4c\xb8\x8c\xf6\xd0\x4c\xc7\xb0\xe3\x76\x4f\xde\x0c\xd8\xb1\x4c\xf1\x00\xde\x8a\xb1\xa8\x44\x89\x6f\xca\x80\x35\x49\xed\x8d\xd4\xae\x8d\x1c\x7d\xec\x3a\xe0\x5d\xdb\x3e\x2e\x8b\x59\x5a\x38\x81\xec\xbd\xe3\xae\x1d\xbb\x6c\xf0\xac\xe7\x84\xde\xd1\x8d\x46\x0f\x60\x66\x2d\xf1\x94\x0f\xdf\xf7\x7a\x3d\xf6\x8a\x08\xeb\x74\x2a\xd2\x0b\x03\xa8\xc6\x04\x8b\x4f\xb9\x82\x4b\xd8\x57\xe1\x8a\x49\x43\x93\xfc\x04\x33\x82\x84\xbd\x39\xf8\xfe\x30\xa4\xe2\xa9\x30\x87\xb3\xac\x0e\x8b\x82\xee\x7b\x3a\xda\xcc\xc9\x2a\x17\x9a\xf1\x7a\x0b\xfe\xaa\xa0\x3f\x33\x1a\xd3\xdf\xcd\x01\x6b\xb9\xbd\x0e\x57\x98\x4d\xc5\x89\x88\x92\x0c\xba\x41\x42\x7b\xd3\xdc\xc7\xb5\x36\xae\xaf\xd9\x6a\xaa\x69\xa4\xd3\x09\xe7\x83\xb9\x25\x48\x52\x5e\x14\x6d\x5a\x06\x38\xfb\xcf\x2e\xc4\xf2\x3c\xb8\x0a\x0e\x5c\xad\x9b\xe8\xe1\xf3\x86\x09\xc3\xba\xe1\x92\xc4\x17\x77\x9d\x34\xa9\x3d\xe2\xaa\x37\x55\x3e\xcb\x0d\x17\xc2\x06\xf6\x2e\x37\x5b\x00\x18\x11\x9c\xc5\xd6\x41\x7d\x51\x07\xec\x51\xb7\x91\x3a\x81\x99\x79\xcc\x82\xaf\xf0\x99\xd3\xe2\x8c\x6f\xf2\xfa\x9a\x35\x23\xc9\x37\x9e\x14\xd3\x45\xc2\x7a\xb3\x5c\xe1\xa7\x19\x28\xfd\x0e\x3b\x10\x14\x69\xaf\x6c\x91\xb0\x5d\x6a\xe5\x1e\x88\x6f\x3b\xd2\x84\x10\xdf\x7a\xe8\x1b\xf8\x1f\x9d\xff\x96\xce\x72\x27\x80\x7f\xf1\xf3\x3b\x9a\xca\x12\x6f\x73\x61\xf3\x12\x53\xb6\xdd\x89\xeb\x47\xaf\x83\xf7\x39\x47\xcc\x9d\x52\x6b\xf4\x60\x83\x66\x0b\xf0\x10\xd8\x11\x78\x2b\x37\xa5\x9b\x9e\xc9\x6f\x9f\x15\x75\x96\x9f\xe3\xcc\xc0\xd3\xf6\x41\x3c\x01\x26\x19\xb9\x60\x22\x35\x41\x3e\x8e\x54\x81\x45\x04\x73\xae\xc0\x59\x8d\x8f\xd6\x21\x15\x66\x6e\xd6\x1c\xc8\x14\x39\xd6\x50\x51\x8c\x17\x05\x68\x3c\xf1\x4b\x81\x65\xa0\x7c\xa3\x8e\x4e\xdb\xaa\xb4\x6c\x77\xfc\x6d\xf1\xbc\x5c\xa3\x15\xb3\xdd\x25\x81\x54\xe7\x26\xe6\x31\xa2\xa7\xd7\xb6\x87\x13\xad\x5e\xf3\x35\x1b\xb4\xda\xf6\x9d\xed\x1c\xb8\xc7\x7c\x98\x93\x43\xd0\x16\xca\x95\x36\x34\xdf\x95\x61\x97\xc6\x28\x41\x36\xb3\xb4\x28\xf3\x3f\x16\x82\x9d\x3c\x03\x69\x8a\xbd\xe5\x2d\xd5\xa4\x90\xc3\x47\x35\x40\xa0\xfe\x15\x83\x77\x3e\xc5\x16\x20\x89\x46\xf5\x28\x2d\xd8\xfe\x4f\xc9\x8f\x6c\x96\x17\x85\x19\x12\x01\xcd\x33\xc5\xe6\xa2\x62\x4a\xa4\xd2\x90\xf1\xb2\x62\x7b\x8f\xd8\x52\xf0\xca\xd0\x73\x63\x59\x01\x0b\x78\x25\xd8\x34\xd7\x56\x2a\x31\xaf\x44\x9a\x2b\x24\x29\x95\xa1\x59\xf2\x92\xfd\x9d\x5f\xf2\x53\xa0\xf8\x6d\xc7\x5e\x72\x3d\x4d\xe6\xf2\xaa\xbd\xdf\xfd\xcb\xf7\x1d\xd6\x63\x3f\x3e\xb2\xff\xdb\xff\x81\xf5\xd8\xf7\x3f\xfe\x85\xf5\x4c\x63\x03\xe8\xd8\x4b\x4b\x19\xb8\x65\xc1\xd6\x6e\xcc\x95\x42\x9d\xe5\xc5\x7c\xca\x77\xcb\xc5\x4c\x54\x4e\x21\x2c\x5e\x28\x7a\x0c\x6f\x47\x0b\xb3\xb3\xb3\xc8\xb3\x08\x05\x4f\x05\x70\x0a\x69\x21\x38\x5e\xf3\x53\xae\xa6\xe6\xe4\xa0\xa7\x15\x3c\x7c\x43\x8c\x32\xe7\x32\xa6\x06\x89\xd3\xa8\x6e\x7b\x53\x57\x0b\x3d\x5d\xa2\xd8\xaa\x10\x5a\x84\xd9\x35\xae\xd5\x3f\xd2\xe3\x16\x9e\x7a\xbe\xd5\x9d\x85\xe6\xc0\x7a\xf0\x60\x8a\xc5\xd8\x80\x4d\xed\xce\x0a\x4e\x3d\x6a\x28\x2a\x8a\xc5\xbe\x80\xb7\x43\xed\x80\xaf\x64\xed\x8e\xa1\x32\x32\x26\x19\x3c\x02\xe1\x43\x14\x91\x01\xc3\x4c\xe9\x21\x1b\x2d\xe1\x2d\xda\xa0\xaa\xbc\x2a\x99\x80\x35\x84\x77\xa1\x80\x7f\x00\xbd\x37\x60\x14\x54\x95\x0e\x09\x00\x88\x3f\xb7\x81\x9e\x32\x90\x12\xf6\x4f\xb9\x00\x06\x10\xe5\xe2\x4b\x36\x5b\x14\x3a\x37\xc8\x1f\xd6\x52\x09\x3b\x19\xb3\xa5\x5c\xb0\x2b\x5e\x02\xa1\x67\xf5\x35\x99\xac\xf2\x09\xa8\x6a\x52\xc9\x2e\x14\x33\x10\x33\xc9\x94\x34\x8d\x8d\x96\x6c\xce\x15\x6c\x2c\x5e\x32\x31\x9b\x1b\x96\x0e\x87\xc3\x71\xa0\x9a\x57\x13\xa1\xfb\x86\x2d\xac\x6c\xd6\xa0\x36\x9f\xed\xcf\x37\x5d\xca\xdb\xb3\x3f\xf6\x3b\x40\x11\xb2\x57\x52\x8b\x3e\xfb\x0f\x21\xe6\x66\xf3\xcc\xcc\x34\x23\xe3\x15\x83\x08\xd8\x2f\xb5\x98\xcf\x65\xa5\x59\x25\xd2\x45\xa5\xcc\x05\x3e\x13\xd5\x44\xb0\x76\x66\x80\x98\xc9\xed\xd4\x95\x1e\xf1\x3a\xb9\x61\x99\xd2\xec\xd9\xca\xca\x44\xe7\x65\x92\x24\xb6\xb4\xaa\x52\x76\x2a\x17\x55\x2a\xfc\x0a\x34\x12\xbd\x75\x72\x17\x96\x27\xc6\x72\x9a\x88\x4c\x05\x37\x92\x21\x5b\x32\xa5\x43\x74\xad\xdf\x46\x7b\x5d\x96\xe7\xa1\x56\x9d\xbf\x93\xd8\x63\x96\xe7\xd1\xdd\x44\x2b\x10\xe9\xe9\xe5\xc4\x12\xd5\xc8\xe6\xe8\x4a\xac\x5f\xb6\x11\xa5\x65\xca\x7d\x44\x5a\xeb\xa3\xf9\x37\xba\x18\x3f\xb2\xc7\xec\xe3\xc7\x03\xf6\x31\x26\xb0\x08\x36\x95\x3e\xfb\x78\xee\x29\x84\x4c\x69\x20\x1f\x90\x62\x83\x9f\x07\x0d\x44\x43\xa4\xbc\x63\x66\xcd\x9c\x0b\x81\x12\x64\xa6\x74\x4c\x0b\xe4\xa5\x36\x37\x5c\x74\xda\x81\x52\xc4\x09\x66\x74\xd9\xde\x23\x24\x1f\xc2\x3a\xc0\xba\xb7\xe7\xbc\x02\xb1\x04\xe8\x3b\x47\x10\x68\xd5\x68\x82\xf0\x21\x93\x8a\x77\x6c\xf9\x2f\x92\x1d\x95\x52\xce\xbf\xf2\x74\x39\xf4\xf2\x0b\xd8\x20\x73\x51\x8d\x65\x35\x33\x7b\x82\x99\x83\x03\x30\x5a\x25\xf8\x4e\xeb\x8a\x92\x80\x88\x68\x05\x20\x38\xae\xaa\x1c\x2e\x53\x50\xf5\x44\x95\x6d\x03\xdf\x56\x01\xd5\xed\x25\xbc\x47\x47\x9c\x79\x40\x76\xc9\xb6\xa1\x7e\x46\x3c\xbd\x08\x56\xdd\x2c\x3a\x71\x44\x03\x96\xf2\x22\x5d\x14\x5c\x8b\xb7\x90\xd2\xf6\x34\xa2\xab\x6a\xc8\xee\x70\x5a\x3a\x6d\xac\xed\x38\x6d\xcf\x27\x87\xd7\x9a\x94\x73\x73\xa7\xdd\x6c\x98\x5f\xc9\x83\xbc\xa4\x13\xc7\xf0\xfe\xf7\x5f\x07\xab\xc9\xf5\x8d\xd6\xc2\x9e\x07\xb9\x56\x6c\x9c\x57\x4a\xbb\x1d\x58\x5f\x0f\xa7\x8f\xfc\xa5\x6b\x51\x17\x94\xf8\x0e\x54\xbc\x54\x06\x13\x44\xd5\x76\xbf\x01\x19\x9e\x97\x96\xc6\xf2\xab\x44\x88\xbd\x52\x32\x5c\x0d\x3b\x39\x9d\x76\x2c\xfa\xf0\x92\x8b\x58\x16\x8e\x42\x1d\x7c\x5d\xb5\xca\xda\x09\x16\x72\x07\xe5\xf6\x4d\x28\xff\xe1\x4a\x81\xb9\x40\xed\x90\xb4\x0d\xb7\x1f\xf8\xf7\xbb\x07\x07\x37\x1b\x36\x7d\x65\xb9\x5d\x4d\xd2\xc3\x6b\xdb\xe1\x36\xe8\x4a\x53\x12\x94\x38\xb8\x39\xf8\x82\x4d\x1b\xe8\xf4\x7d\x25\xbe\x3c\x13\x5a\x54\xb3\xbc\x34\x14\xe2\x98\x71\x56\xb9\xeb\xc2\xe0\x83\x05\x5e\xbf\xb5\xdc\xd4\x46\xb7\x0b\x88\x2b\x6a\xd7\x90\x7b\x7d\x78\x67\x5f\x1d\x50\x48\xbb\x02\x3e\x7a\x2d\x70\xa3\xaa\x4f\x1b\x71\xe0\xd8\x38\x08\xd3\xbd\x5c\xf0\xe0\xe6\x4b\xb6\x99\x55\x7c\xfc\x33\xe6\xed\x4f\x9d\xb5\x75\x73\xf6\xec\x1e\x33\xb6\xf9\x6f\xcd\xd8\x6b\x4f\x5b\x7f\xe3\x09\xe3\x25\x1b\x22\xf4\x61\x62\x65\xcc\x43\xec\xf9\x30\xe6\x5c\xba\x6c\x58\x2e\x8a\x62\x88\x4c\x68\x29\x35\xa9\x63\xa9\x3c\x13\x15\x4a\xcd\x46\xc2\x13\x98\x86\x86\xc3\x83\xd0\x83\x40\xe9\x3d\x02\xb0\x05\xff\x94\x95\x0a\x46\x05\x2c\xb2\x21\x11\xb1\xf7\x2b\x8b\x87\xc5\xda\xc1\x99\xd8\xeb\xd9\xd7\xc4\x8f\xca\x5c\xa8\xf0\x8a\x98\x2b\xec\xf0\x0f\x9e\x10\xf0\x0b\x0b\x8f\x68\x0f\x1f\x36\xec\x11\x27\xa7\xfa\xb2\xf5\x3e\xb5\xcc\xdb\xb7\x5f\x6f\x36\x44\xe0\xc3\x3f\x69\xe6\x23\xf8\xd1\x4c\xd3\x3b\xde\x9d\xe7\x0a\x72\xae\x5f\xba\x45\x50\x2d\xfa\x4f\x9a\x32\x04\xfe\xe7\x4d\x59\x00\x3f\x9a\x32\x4c\xbf\x7b\xca\xe8\x5d\xf3\x4b\xcf\x61\xfb\x84\xfd\xef\x4f\x18\xf6\x05\x06\x93\x71\x2d\xfe\xb4\x89\x32\x5d\x5e\x9d\x26\x93\x1a\xee\x60\x67\xa8\x43\x8a\x3e\x20\x97\xa3\x7c\x98\xaf\x33\x62\x4a\x4d\xc5\xf3\x2f\xde\x9d\x20\xb6\xfe\xb3\x0e\x63\x00\xfe\x67\x61\x5a\x04\x1f\x55\xd6\x68\x38\x6c\xc0\xf0\x39\x91\xbe\xbf\x40\x99\xcf\x3f\xb5\xfc\x49\xbb\xcf\x82\xff\xf3\xf6\x5f\xd4\x42\x84\x5a\xcf\x23\xb1\xe5\x6d\x7b\xd0\x56\x8a\x76\xe1\x2d\xfb\xa4\x12\xa8\x1d\xe3\xed\x32\x03\xd1\xc3\x2d\x5a\x26\xdf\x66\xc4\x68\xfe\xb1\x3a\x5e\x4c\xff\xaa\xcd\x84\x55\x6b\xdb\xe9\xc8\x74\x4d\xc5\x4a\x2f\xa4\x32\x74\xbf\xe1\xc6\xaf\x9e\x30\xd2\xbb\x06\xda\xd4\xd0\xca\x40\x03\x75\x97\x70\x98\xa6\x39\x7a\x87\xa1\xca\x66\x8c\xf6\x99\x22\xba\xce\x52\x39\x17\xb7\xd5\x7f\x20\x2e\x79\x71\xa8\x96\x65\xea\x52\xae\xd0\xfa\xaf\x06\xe9\x79\x5e\xac\x02\x8a\xe7\x1b\x72\xa3\xd9\x36\x95\xec\x5c\x87\xb0\xc8\x22\xe7\xcb\xe1\x51\xc5\x06\x98\x3f\x17\x72\xf4\xc5\xf0\x4c\xa5\x26\x58\xb8\x5a\x4d\x08\xb6\xb2\xa3\x68\x65\x57\x81\x04\xf6\x43\xeb\x16\x20\x7e\xff\x4d\xf4\x54\x94\x1d\xa7\x6d\x08\xb6\x46\xa1\xe6\xe9\x6a\x6f\xea\xe4\xca\x53\x7a\x46\x31\x35\x41\x37\x17\x79\x46\x50\x08\xed\xf5\xd8\x91\x9c\xe7\x22\x03\x19\x6d\x7f\xc3\x13\x90\x99\x4c\x55\x92\x16\x52\x2d\x2a\xb1\x4b\x2a\x68\xc9\x04\x7c\x45\x18\xee\x1e\x28\xcb\x49\xae\x7b\xa0\xea\xf9\x81\x0a\x7e\x30\x05\x3e\x20\x15\x44\xff\x24\x1f\x55\xa2\x40\xea\x98\x4c\xf5\xac\xf8\xae\xc8\x4b\xb1\xf7\x68\x7f\xcf\x34\xf5\xa6\x12\x95\xf8\xa3\xcf\x14\xa2\xbc\x55\x49\x06\x9f\x0c\xb1\x11\x55\x83\xae\x2d\x8d\x36\xd0\x9c\x6d\x9f\xed\xb6\x3b\xef\xcf\xde\x9f\x7f\xbe\xd9\x79\xba\x9d\x3c\x78\xff\xaf\xeb\x6e\xff\xbb\xc7\x9b\xef\xdf\x9f\x77\x7a\x93\x2e\x6b\xbd\x7f\xff\x60\xaf\xd5\x49\x82\x57\x41\xe6\x0d\x74\x3f\x3d\xfa\x89\x0a\x7d\x7a\xf4\x53\xab\x63\x15\x66\xef\x7d\x93\x90\x6d\xd7\x9f\x73\x91\x3c\x7b\xfd\xd2\x69\x0e\xb5\x65\xc5\xae\x2a\x3e\x9f\x8b\xcc\xaa\x7e\x52\xd6\x8a\xa0\xf8\x5b\x9d\xb9\x5f\xd0\x7c\x74\x52\xd1\x9c\xb4\x4b\x99\xc5\x38\xba\xb9\x09\x69\xec\xe1\x43\x58\x0c\xf8\x48\xac\xad\x25\xf0\x31\x57\x02\xbd\x22\x90\x39\x8a\x6d\x03\x8a\x5f\x5f\x53\x8d\x79\x25\xe7\x66\xcb\xc0\x07\xd7\xba\x72\x1f\xe3\xbc\xcc\x3a\x9d\xce\x81\x85\x85\x0e\x32\x4a\x26\x4b\xd0\xb9\x32\xd9\xa4\xa5\x04\xc6\xf6\x4c\x8e\xed\x60\x0e\xdf\x9c\x84\x22\x50\x9c\x49\xa5\x2b\xd6\xba\x10\xcb\xbd\xee\x85\x58\xee\x77\x93\x24\x69\xc5\xf3\x27\x49\x72\x6e\x7d\x46\xc8\x6a\x66\x60\x7e\x36\x75\xfa\x60\xe6\xc4\x4c\x4d\xfa\x99\x24\x49\xed\x21\x92\x0c\x01\xbd\xd0\xd7\x4b\xbf\x3f\xdf\xc0\x43\xf0\x0c\x9e\x7b\x75\x05\x9a\xb6\xba\xbd\xd5\xdd\xea\x80\x0d\x7a\x60\x18\x4d\x8f\xbd\x50\x38\x7a\xed\xb5\xaf\x4e\x67\x98\x77\x96\x9f\xb3\x73\x36\x70\x4a\x8b\xb5\x17\xed\x50\x3c\x49\xd6\xaf\x6d\xbb\xc4\xe1\x22\x3a\xe5\x69\x9b\xeb\x57\xd0\xac\x10\x25\x9e\x3d\x3a\x37\xab\xe2\xbf\x5c\xa9\x4e\xa7\x2e\xf4\x46\xdb\xc7\x36\xf0\xda\x5d\x56\x3f\x1f\xeb\x4a\x63\xa0\x42\xf7\x7a\x8c\xc7\x78\x58\x67\x73\xc0\x76\xf7\x62\xd8\x81\x15\xa5\x2d\x1a\x9c\x9c\xa1\xe9\x3d\xaa\x18\x12\xec\x40\x64\xe8\x2d\xee\x9f\x0c\xd8\x23\x9c\x52\x2c\x8b\xaa\xcf\x98\xd9\x65\x7b\xa1\x60\xdf\x1e\xb5\xf7\x3f\x48\x52\x39\xff\x5a\x02\xfd\xc8\x3a\x96\x61\xee\xe9\xc8\xe0\xe0\x10\x8f\xdf\xa1\x55\xb2\x24\x27\x1c\x23\x11\xe8\xf4\x84\xda\x95\x04\x1d\xfc\xae\x94\x32\x7a\xfa\xcb\x15\x3c\x57\x15\xb9\xc8\xba\x8c\xbb\x16\x02\xbd\x47\xab\x0d\x6c\x8a\x92\x13\x91\xc4\x41\xe3\x75\x60\x56\x73\xae\x0b\x2e\x41\xe4\x18\x24\xce\x84\x29\x8a\xb5\xc7\x16\x9a\xea\x30\xf4\xff\x63\x5f\x14\x21\x8b\xe4\x30\xf0\x8c\xc8\xe0\xb4\xc0\x47\x53\x74\x89\xa2\xc1\x5a\xaf\x28\x1c\xbc\x5e\xd3\x8b\x24\xce\x0d\xfa\x53\xc1\x8b\x10\x14\xd4\x7c\x9f\xed\xec\x59\xed\xfc\x78\xce\x60\xa8\xed\xbc\x4c\x13\x12\xd2\x40\xd3\x43\x27\x2d\x1b\x76\xba\x11\x84\x40\x9e\xdc\x00\x1f\x05\xc3\x29\x07\x2d\x88\x56\x30\x57\x2d\x78\xae\xfc\x94\x0a\x34\x23\xb2\x2e\x67\x40\x5f\xb1\x6c\x38\xf4\x69\x54\xef\xfc\x00\x41\x9c\x65\xeb\x81\xcd\x9b\x96\x70\xe8\xd0\x32\x26\x1b\x8d\xca\xd9\x47\xf8\xde\xc2\xcb\x25\x10\x39\x5d\xda\xa3\x79\x39\x61\x73\xab\x70\xa4\xac\x78\xad\x5b\x1f\x7c\xf4\x12\xd9\x0e\x35\xea\x3a\x83\x9b\x08\x17\xc2\x57\xcc\xbc\xd4\x92\x50\x35\x58\x21\xb0\x2e\x34\x0b\x94\xb0\x93\xb1\xed\xac\xc7\x9f\xd9\x42\x69\x10\xe2\x91\x81\xa3\xd9\x52\xe0\x3a\x85\x2b\x37\xc5\xb5\x2b\x6f\xfb\x06\x26\x08\x91\xb8\x62\x8b\x79\x06\xee\x5b\x86\x41\xbf\x86\x5d\xb8\x0a\xc3\x14\x76\xc5\x95\x37\xdd\x72\x73\x4f\x0e\x96\x36\xd8\x63\xeb\xb9\x09\xf7\xef\x60\xcb\xc0\x3f\xc6\xb4\xad\x27\x1b\xec\xf1\x38\x27\xb7\x4e\x83\x2d\x38\x31\x80\x2c\x82\x9c\x2c\xbf\x64\xe5\x64\x97\xcc\x17\x0b\x51\x0d\xb6\xa8\xe2\x91\x4b\x42\x10\xe0\xbf\x47\x82\x39\x21\xd7\x82\xa5\x05\x57\x6a\xb0\x85\xba\x22\xbb\x26\xd7\x14\x7b\x05\x7a\x9b\x8f\xf3\x72\xbe\xd0\x30\x17\x83\x2d\x2d\x3e\xe9\x2d\xd3\xc6\x4c\x66\xa2\x18\x6c\x2d\x94\xa8\x12\xd3\x97\x2d\xd6\x7b\xf2\x78\x54\xb1\xde\x93\x0d\x76\xbc\x3b\xe3\x79\x51\xab\x29\x4c\xda\x4a\x55\x4a\xf5\x75\x7f\x21\xe5\xd0\xa8\x6e\xc5\xb3\x5c\xae\xd4\x45\x3d\xd2\x2d\x3c\x22\x07\x5b\x33\x5e\x40\x2f\xcc\xbf\x1b\x5f\x51\x7f\x2c\x2c\x04\xfc\x65\x7b\xf4\x78\xb4\xd0\xda\x5c\x65\x93\xdd\xb4\xc8\xd3\x8b\xc1\x56\x25\x94\xd0\xed\xce\xd6\x93\xb7\xc7\xa7\xc7\xef\x1e\xf7\xb0\x40\x63\x51\xc4\x89\xb6\x69\xaf\xb3\xf5\xe4\xf4\xf0\x1f\xc7\x61\xf1\x9e\x99\x69\xf3\x63\x5e\x89\x27\xb0\x26\x03\xf6\xf9\xb3\x29\xcc\xae\xd9\x47\x25\xcb\x9b\x9b\xc7\x3d\x93\x47\x45\x66\x5c\x69\x01\x36\x25\x9f\xe9\xe7\x4a\x31\x34\x86\xdd\x60\x8f\xf1\x60\x7f\xe2\xcd\xd5\x13\xc4\xa7\x76\x2b\xc0\xa7\x56\x97\x9d\x9d\xe3\x4d\x94\x78\xac\x69\xb7\x56\xb0\xc6\x14\x6c\x3d\x50\x86\xed\x6b\x05\x6a\xc3\x98\xe2\x9f\xd3\xf0\x3b\xc1\xce\x19\xc2\xc3\xb9\x9b\xa1\x1c\x9c\x8f\x90\x18\x87\xa9\x89\x15\x51\xa9\x75\xd4\xc0\xdf\x73\x4f\x87\xae\x48\xad\x95\xf0\xe2\x43\x70\xee\x05\xbd\xde\x3c\xac\x5c\xd8\xfa\x6d\x2d\xef\x7b\xb5\x01\x57\x26\x6a\x2b\xea\x47\xd7\x0d\xf1\xee\x1e\xd8\xe7\xdf\x1b\x50\x89\x7b\xdc\x73\x6b\xf5\xb8\x67\x36\x37\xfc\xa0\x53\xe0\x49\x4c\xe5\x41\xbb\x78\x1a\x75\xc3\xf3\xaf\xcb\x94\xe6\xe9\xc5\x29\xe5\xc0\x87\x39\x12\xbd\xee\x90\xe3\xfa\xb1\x36\x69\xa1\x22\x23\x4f\x49\x76\x32\x50\x8b\xdd\xda\x4b\xb5\x5b\xe9\xfc\x4a\x39\xef\x47\x5b\x47\xbc\x6c\x69\xe8\xc8\x26\x7b\xc9\x2f\xf0\xb5\x76\x9e\xa3\x73\xb0\xdf\x49\xe8\x50\x31\x80\x1c\x38\x1c\xcb\x23\x65\x15\x91\x25\x5b\x1d\x67\xee\x62\xfa\xb7\x19\x8c\xa6\xe3\x54\x98\xfc\xa1\x3e\xa0\x73\xdc\xab\x6f\xd8\x81\x7c\x0e\x3d\x1a\x91\x9e\x6d\x6d\x44\xab\xc0\xa2\x89\x3c\x3b\x5f\x3b\x7f\x6e\x21\x43\x5d\x5e\x90\xb9\xde\xd9\x44\x29\xae\x58\x50\x32\x99\x08\xfd\x2e\x9f\x89\x76\xa7\x19\x28\x49\x9f\xee\x05\x36\x2a\x9b\xd8\x61\xd0\xa7\x95\x4e\xb4\x3b\x09\x78\x5c\x6a\xf7\xce\xfe\xf5\xbe\x77\xbe\xfd\xa0\xd7\x39\x7b\x74\x1e\x68\xa7\x06\x70\x93\x82\x2b\x7d\x42\x04\x2c\xc1\x71\x49\x8d\xdd\xa5\xb7\xa3\x86\xee\x02\xf7\x3d\x9b\xeb\xe5\x6b\xab\xfd\x14\xeb\x8b\xd0\xd7\x44\xe8\x37\x96\x12\x7f\x3d\x76\x80\x1a\xbb\x57\x5f\xb0\x00\xfc\xdd\x2b\xe7\xd5\x68\x42\xf5\x38\x8f\x41\x20\x70\x89\xb0\x6f\x75\x03\xe4\xcd\xf8\x4f\xda\x50\x86\x6a\x09\x7b\x6b\x88\x41\x47\x8a\x01\xa2\xa3\xe1\xa3\xef\x28\x70\x62\xfe\xeb\xfa\xda\xd9\x6a\xb8\x01\xd8\x22\xf0\x9b\x0a\x04\x2a\xfe\xeb\xe6\x3f\xe4\x44\x82\x26\x1c\x3f\x42\x15\x0e\x56\xdc\x80\x6d\x0e\x0c\xd3\xd3\x71\x62\x11\xdb\x36\x3a\xf6\x3a\x77\x07\x59\x08\x14\x8c\x43\x6a\x10\x5d\x45\xcc\x0d\x27\xd6\x7a\xb6\x72\xda\x59\xa8\xe1\x72\xb0\x71\xe7\xf6\x8d\x50\xd5\xaa\xb8\x3f\x5a\x51\xcc\x0a\x78\x58\x8b\xc4\x4d\x9e\xbd\x58\xa0\x98\xe3\xd1\xea\x2c\x3f\xef\xc2\x73\xe6\x9d\x28\xd5\xb8\x06\xe0\xbb\x2b\xd2\x18\x5f\x33\x53\x56\x13\x3a\x2a\xe6\x27\x2c\xd6\xfa\x09\x94\xc8\xe3\x59\x68\x2a\x7b\xd3\xa4\xfb\xee\x34\xeb\x82\xca\x91\x42\x68\x7d\xf2\xc3\x15\x5b\x73\x0c\x35\xac\x41\xad\x55\xe7\xab\xaa\x1d\xdd\x52\xb7\x1b\x1c\x79\xad\xd5\xa0\x52\xa4\x13\x87\x9e\xe3\xe2\x79\x71\xab\x4f\x0a\xfe\xf5\x7b\x21\xdc\xeb\x77\xab\xf9\x37\x62\x06\x2a\xf8\xdf\x13\x37\x9a\xb1\xc3\x80\xa8\x35\xb5\x1e\x43\xa0\xf0\xc1\x6a\xd1\x5b\xb0\x24\xc4\x13\xb6\x32\x7f\x6c\x10\xed\x35\xb6\x62\x9b\x10\xeb\x17\x06\x4b\x36\x0d\x77\x6d\xa0\xbc\x1f\x94\x09\xc5\x13\x5e\x84\x40\x3e\xa5\x1c\x8f\xef\xf8\xde\x6e\x6c\xfa\xeb\xf9\x40\xcb\x0b\x1d\x2a\xb5\x98\x81\x49\x28\xd7\x86\x19\xab\x04\xa9\x5d\x30\x10\xdd\x44\x8a\xc1\x9e\x8b\xaf\xc9\x0e\x03\x97\x56\x6d\x55\xa5\x5d\x96\xc5\xd4\x10\x1d\x34\x55\xea\x16\x25\x83\x33\x37\xab\x9d\xb6\xf1\xd9\x42\xea\xa7\xaa\x4a\x6f\x53\x3c\x45\xb5\xce\xfc\x1c\x4b\x3a\x9d\xd3\xe0\x0e\x8a\x31\x64\x5d\x27\x1c\xfd\xbc\x82\xe2\x55\x1a\xd3\x3d\x9b\x06\x93\xc1\x89\x03\x3a\x70\x80\x37\x84\x07\xd6\x2c\xca\x66\xec\xb9\x8c\x78\x63\x7b\x1d\x54\xd3\xdd\x5b\x74\x50\xbd\xb6\xa9\xe9\x9e\xaa\xd2\x2f\x7b\x3e\x46\x8f\x62\xdf\x44\xc0\xad\xaf\xa4\x5d\x78\x83\x45\xe6\x93\xcc\x24\x0d\xaa\x88\x3f\x16\xf9\x25\x2f\x40\xdf\xf0\x14\x29\x4e\x65\xd5\xf2\x96\x73\xa1\xba\xf6\x05\xd2\x00\x0e\x9c\xc3\x76\x9d\x96\x0e\x9a\xd5\x86\x5a\x3a\xef\xe2\x16\x83\xd6\x02\x45\x20\xdf\x30\x48\xe1\x35\x2b\x04\x57\x9a\xc9\x52\x78\xd7\xb9\x06\x2d\x0d\xd5\x9c\xa3\x51\x7c\xdf\x89\xcb\x7e\x96\x7a\xda\xd0\xc4\x9c\x2b\xc5\x86\x83\xc1\x60\x08\xfe\x93\x78\x95\x2b\x32\x36\x5c\x5b\x05\x94\x8c\x56\x04\x19\x65\x66\xa5\x64\x7a\x2a\xf2\x48\x1c\x46\x93\xc6\x0b\x36\x5a\xa2\x6c\x84\x9a\x42\x03\xdd\x19\x59\x43\xc7\x0b\x39\x0c\x3b\x11\xb4\xfc\x8a\xbf\x4a\x58\xfb\x24\x56\xa0\x7a\xc5\x5f\xb1\xc1\x00\xff\x79\x82\x66\xf5\x09\xfb\x79\xa1\xd9\x95\x9f\x40\x58\x46\x53\x82\x2b\xec\x4d\x67\xb5\x81\x4a\x80\xbe\x7e\xa9\xfd\xe8\x1a\x5e\x93\x6b\xad\xe3\x90\x7a\x7c\x94\xf6\x4c\x27\xe8\xc7\xad\xdd\x58\x05\xaa\x5c\xb7\x50\x57\x15\x27\x51\x8b\x4f\x7a\xc1\x0b\x6c\xc1\x75\xce\x7a\x86\xd6\xe9\x54\x28\xf7\xaa\xf2\xcc\xfa\x73\x76\xc6\xdd\x7e\x41\xbb\xe1\x72\xc8\x31\x1b\xda\xed\x30\xf4\xab\x17\x94\x80\xf5\x00\x47\xc5\x1b\xe0\x5a\x9c\x6b\x36\x12\x93\xbc\xa4\x85\x7a\x30\x44\x22\x74\x52\xca\xca\x0b\x99\x90\x27\x33\x90\x9e\xbd\x7e\xf9\x7b\xf8\x10\x1d\xba\x04\xc5\x3e\x89\x8c\x81\xa3\x89\xd1\x92\x48\xd9\xf1\x92\xb5\x01\x0b\x9b\x1e\x89\xe4\x9e\x7d\xa8\xb6\x48\x08\xef\x44\x08\x29\xa9\x17\xde\xbf\xb3\xf0\xfa\x67\xa5\xd8\x85\x37\x2c\x47\xdd\xb4\x00\x90\xb3\x2d\xf7\xba\x4c\xee\x07\x4e\x1f\xf6\xf0\x39\x7b\xbf\x53\x77\xb9\x10\xe4\x5a\x97\x10\x72\xdf\x7d\x76\x56\x5c\x41\x50\x79\x43\x30\xcb\x3d\x78\xdf\xde\xc7\x8f\x1a\x68\x30\xaa\x05\xb4\x07\xbc\xa7\x67\x02\xbd\x17\xd8\x74\xee\x75\x99\xde\x0f\xbe\xf7\xad\x05\x27\xd9\xb8\x5d\x88\xe5\xa9\xd0\xb6\x51\x53\x75\xc0\xf4\x7e\x68\xec\x8b\x69\x56\xd9\xae\x99\x1b\x96\x7b\x9d\x3a\x39\xb4\xe9\xf2\xf6\x3b\xab\x23\xf4\xe5\xda\xde\xa0\x74\xcf\xb9\x05\x86\xb1\x36\x38\x09\x8e\x8d\x51\xef\xb4\x3b\x75\x7d\x71\x2b\x46\x84\x96\xdc\xb7\xe4\x52\x73\xc7\x62\x5a\xa7\xb6\x9a\x35\xea\x66\x85\x6f\x6f\x9e\x0c\xcc\x5a\x3f\x17\xd6\x00\xc2\xf6\xd4\x73\xf3\xa6\xbb\xf7\xe4\xed\xe5\x5e\x07\xdf\xe7\xed\xf7\x7e\xa7\xc1\xc7\xb2\xdc\x0b\x58\x78\x9a\x6b\x9f\xb0\x96\xde\xc6\x96\x48\x33\x63\x2f\x92\xef\x18\xc4\x8c\xfc\x9c\xec\xd5\xbe\xf7\x63\xef\x22\xeb\xa7\x01\xf1\x91\xa1\x68\x6f\x65\xd1\x73\xd3\xf9\x9a\xd5\x2c\x5a\x70\x37\x90\x26\xd0\xa0\x57\x54\xd8\xb3\x4b\x9e\xca\x52\xe7\xe5\x42\xd4\x09\xea\xaf\xc0\x12\xec\xad\xa5\x6d\x9a\x11\xa4\xd6\xfd\xfd\xd5\xee\x6f\x22\x98\x26\xd6\xc1\x3e\x3f\x47\x4d\x06\x63\xdd\x74\x64\x58\xad\x18\xf5\x1d\x0a\xb8\xe7\x8e\xd5\x62\x9b\xe1\x0c\xdd\x31\xdc\x9b\x3a\x1e\x85\xe3\x6d\x34\x40\x26\x00\x37\xa8\x17\x92\xaa\xf9\xaa\x64\x94\xf6\x0d\x29\x79\xa7\x6a\x9e\xe4\xea\x10\x7c\x3b\x7e\xf0\x1d\x89\x92\x0f\xac\x9f\x1c\x9e\x92\xfd\xfa\xe6\x66\xdb\x39\x15\x8a\x1c\x03\xb4\x5b\x67\xe5\x64\x37\x55\xf3\xf3\x56\x27\xf2\x5e\xe3\xfe\xd6\xd6\xcb\xb8\xe6\xbb\xae\x72\xc7\x39\xe0\xd9\xc4\x56\x9d\x24\xb3\x5a\xba\xe5\xf4\xae\xd5\x76\x7f\x7f\xf4\xfd\x5e\xd7\xfc\xf3\x97\x1f\xac\x77\x27\x06\x72\x35\x37\xd9\xad\x96\xdb\x68\xbe\xde\x0e\xd6\xdb\x09\xeb\xdd\xb0\xd4\x5c\xf2\xac\x1d\x30\x9c\x6e\xe4\x7e\x05\xea\x14\x74\x3c\x95\x6c\x40\x75\xac\xd2\x48\x28\xf0\x2d\x53\xae\xf1\xc5\x79\x8f\xc8\xd3\xfd\x2e\x4a\x78\xa2\xb7\x6d\x2c\x91\x50\x79\x70\xb7\x15\xbc\x6b\xbb\x2a\xb5\x17\x73\xe7\xb6\xb7\xcd\xab\x89\xea\xa2\x03\xd2\x93\x15\xe0\x11\xb8\xb8\x9c\xd9\xc7\xd6\x92\x2c\x9c\xe2\xbd\x47\x7b\xe8\x53\xfc\x7e\xac\xc1\x28\xff\x6a\x33\x53\xeb\x61\x8a\x7b\x1b\x20\xeb\x0c\xa8\x28\x02\x53\xa3\xe1\xb8\x1c\xb2\x91\x5c\x94\xf0\x74\x39\x54\xa2\x18\x0f\x59\x9b\xfe\x45\x6f\x1f\xe4\x44\x07\x3c\x7d\x98\x73\xc1\x80\x37\xd5\x3a\x81\x71\xe9\x62\x3e\x2f\x96\xce\x5f\x0e\x1b\x9a\x09\x19\x22\x05\x66\x28\x92\x79\x25\x5c\x1b\xa1\x93\x1d\x6b\xf8\x24\xb8\x5e\x54\xa8\x94\x53\xa0\x4d\xe9\x45\x29\xaf\x4a\x43\x5b\x9e\x41\xd4\x06\x5e\x84\x5e\x5b\x9d\x43\x1b\x51\x26\x57\xf9\x45\x3e\x17\x59\xce\xc1\x8d\x8d\xf9\xea\xbd\xc1\x1a\x1f\x82\x1a\x9d\x2e\xe3\x40\x14\x66\x39\xf8\x5d\x5d\xe4\x6a\x4a\xea\x59\xec\xcc\xe3\xd5\xa2\xaa\x96\x79\x39\xb9\x03\xfe\x11\x15\xfb\x0e\x9e\x82\xb8\xd2\x1f\x0c\x7d\xf9\x81\x3a\xfa\xc1\x82\x8b\xda\x5f\x67\x6c\x6a\x26\x9a\x1d\x91\x3b\x15\x5c\x21\x58\x12\xaf\x4e\x20\x0c\x31\xc8\xb5\x33\x85\x5a\x35\xda\xef\xdc\xb0\x71\xe9\xb6\x29\xd9\x5d\xc0\x7c\xd7\x8d\x56\xb7\x6f\x0c\xa9\xa8\xd8\x6b\xbb\x50\x9e\x70\xc4\x5a\xf5\x85\x82\xbe\x04\x76\x82\xc5\xda\x10\x19\x9d\x9b\xa0\x07\xf0\x2c\x5e\xf1\xb9\xf2\x40\x80\x04\x37\x9c\x56\xec\xa4\x93\xbc\xe4\x91\xa0\x22\x3c\x56\x68\xaf\xb8\xc6\x4d\xc9\xb6\x99\xae\x2e\x1b\x97\x5e\xc1\x04\xd6\xac\x1e\x56\x22\x71\xce\xbc\xf6\xd9\xd3\x78\x3f\x93\xd7\x34\xb6\xdf\x61\x7d\x92\x2f\xd7\xdc\xc3\x18\xe8\x0f\x1f\xb2\xcd\xf6\xd8\x87\x12\x92\x63\x7a\x5e\xa8\xbb\x42\x73\xcd\x53\x93\x74\xda\x3d\x6d\x7e\x4d\x0b\x0e\xa6\xb8\xa7\xd1\x31\xff\x94\x8d\xcb\xc4\x20\xcf\x92\xc6\x4b\xe7\x97\x6b\xab\x1b\x04\xd0\x60\x8f\x3a\x9d\xa8\x76\x7f\xa5\xb6\xad\xd6\x20\x3e\xed\x7f\xd3\x7e\xba\xd2\x0d\x3d\x82\x73\xd2\x14\x0b\x7b\x71\x50\x7f\x80\xe8\xf5\x0c\xc1\x71\x72\xdc\x65\xe8\x6f\xd2\xba\xa7\xb4\x26\x46\xae\xbb\x0a\xbd\x0b\x8b\xa5\x39\x7f\x4c\x86\x45\x79\xd6\x2e\xc1\x58\x1c\xf2\xd0\xd7\xa6\x75\x8e\x39\x12\x9d\x70\xe9\xc6\xa5\xb3\xfc\xf7\x58\x16\x7b\x64\x0f\x5d\x50\x38\x8c\xbb\xe4\x05\x1b\x58\x1d\x24\xcb\x84\x20\xab\x02\x44\x7e\x60\xb2\x52\x13\x35\xdd\x47\x06\xe5\xcc\xb4\x4d\x23\x8e\x0a\x3a\xa8\x4b\xc9\x88\x48\xc5\xae\xc5\x95\x5a\x0f\x7e\x3f\x79\xf5\xec\xf5\xef\xad\x5a\x25\x64\x2a\x1f\x3e\xf4\x14\x04\x34\x1a\x19\x7f\x5a\x08\xd6\xab\x78\x1d\x86\x25\x9e\x9b\xdb\x3d\x3d\x7a\xfd\xe6\xb8\x55\x77\xd8\x77\xc9\x8b\x2f\x93\x88\xe1\x1a\x7c\xe5\xc5\x77\x2a\xaa\x9c\x17\xf9\xff\x80\x9f\x8d\xf9\x42\xa3\xe2\x0b\x67\x7f\x3f\x7d\xfd\x6a\x17\x6d\x59\xb5\x77\xd4\xcb\xde\xd4\xa4\x07\x85\xe0\xa0\x87\xf3\xe0\x01\x33\x6b\xc3\x53\x1d\x44\xb1\x32\xf0\x4d\x45\xd0\xd2\x44\x2f\xa1\xd6\xa5\xe5\x42\xc1\x3d\x89\x0f\xba\x4e\xe3\x06\x9c\x5c\x17\xcb\xe6\xc3\x1f\x75\x76\xae\x0d\x93\x75\x8d\xdd\xb9\xb6\x3e\x3c\xe4\xe8\x23\x3b\x41\x5d\x0d\x38\x96\x95\x1d\x54\x86\xc3\x31\x83\x89\xce\x76\x92\x08\x10\x80\xc1\x8d\x39\xc8\xb5\x5e\xb2\x93\x31\x53\x02\xa0\xa0\x8a\xa4\x39\x7c\x4d\x65\x26\x17\xda\x80\x87\x81\x91\x0b\x75\x43\xec\x15\x20\x4a\xe4\x65\x66\xee\x22\x4d\x31\xd2\x48\x2f\xc8\xc3\xe2\x38\xb8\x89\xa8\xee\x80\x08\x17\xc1\x8c\x97\x4b\x46\x21\xac\xe6\x02\x1f\xe2\xac\x30\xa8\x8d\x6e\x30\xd0\x13\x7c\xae\xd8\x7e\xdd\x77\x02\x4d\x8c\xdb\x08\x37\xb8\x90\x91\x87\x67\x27\x60\x32\x1f\x81\x1b\xb1\xda\xa6\x46\xcf\x21\x38\x31\x9e\x90\x0f\x1c\x49\xd5\x8c\x58\x1d\x29\x1f\xed\x42\x62\x8d\xc9\x10\x8b\xa0\xd9\x8d\x40\xb3\x3e\xb0\x3f\x9e\xb2\x7d\xd6\x07\x81\x49\xcd\xcb\x0f\x2c\x20\x76\x3f\x1f\x93\x4f\x93\xf8\xe8\x71\x3d\xfd\xb2\xbd\x63\x23\x45\x7c\xb5\x3c\x59\xf9\xfd\x83\x9b\xa6\x16\xa3\xad\xee\x3d\xfb\xa3\x92\x65\x58\x0e\xdd\xb9\x38\x28\xb7\xf8\x7f\xab\x23\x7d\xd0\x76\x56\x6f\x39\x58\x4c\x3b\xc2\xb6\x69\xb9\x59\x45\x1f\x72\xdc\x4d\x0c\x73\x0d\x6e\x1e\xa2\x8c\x3e\x74\x3d\x9e\xdd\x15\xd7\xde\xce\x51\xeb\x54\xac\x60\x1b\x79\x07\x41\x89\xb2\xd5\xd5\xad\xbd\xb7\xf8\x28\x1d\xb1\xae\xaf\x55\xfb\x1e\x90\x3f\x62\x97\x9b\xa4\x85\x2c\x05\x4a\x34\x3c\xa3\xd6\xeb\x31\xec\x87\x5c\x68\x76\x72\xec\xdd\x9c\x14\x42\x83\x3f\x16\xb3\x31\x41\xe5\xad\xdd\x61\xb2\xf4\xca\x9e\x40\x51\x5a\x10\xf6\x0e\x85\x37\x20\xbc\x12\x41\x81\x3b\x9d\xe6\x45\x56\x89\x32\x61\xa7\x92\x5d\x09\x70\xc9\x48\x52\x52\x54\xda\x64\xae\xc3\x09\x28\x19\x60\xf7\x22\x2e\xef\x86\x2e\x47\x53\xee\x57\x3d\x2b\xfc\xc8\x5a\x8f\xb3\xfc\xf2\x49\xab\x63\x28\x05\x51\x66\x7e\xa4\xd8\xdd\x78\xa0\x56\xa2\x14\xab\x35\x37\x78\x8e\x7d\x77\xfc\x5f\xef\xd8\xd3\x9a\xb2\xb4\x69\xb8\xc3\xfa\x8e\xbe\xb0\x69\xa1\x6d\x02\x69\x7f\xfc\xab\xfd\xf8\xec\x5f\x4f\xce\x77\x9e\x74\x7a\x9d\xb3\xbd\xf3\x24\x22\x7d\xc8\x78\xe1\x5f\x8f\xdb\x67\xef\xaf\xde\xef\x9e\xef\x74\x7a\xf5\x00\x63\x5d\xa7\xc5\xdd\x61\x9f\x6d\xb7\x5b\x8f\x5b\x6c\x27\xe8\x93\x2b\x72\x40\x2f\xb4\xab\x8c\x71\xa3\xd2\x37\x8c\x83\xae\x51\x40\xcf\x2f\xfd\x73\x18\xfd\xae\x32\x37\x1b\x6c\x49\xf0\x1e\x61\x50\xf5\xb7\xb7\x27\x3e\xe6\x84\xf3\x3b\x08\xea\x1d\xd6\x85\x8f\xd5\x89\xbd\xc5\x14\x4b\x69\x2b\xa6\x9e\x4b\x4d\x41\x37\x62\xc8\x5f\x6a\x13\x41\x5e\x48\xb0\xa7\xc0\xf7\xba\x48\x99\xd9\x4a\x54\x9b\xc8\xc1\x64\x78\xd4\x37\x85\xc0\x09\xcd\x79\x56\x70\x6d\x15\x76\xa0\x9e\xbe\xba\x60\xbd\x1e\x3b\xc1\xad\x61\xae\xb5\xbc\x04\x75\x51\xb6\xa8\x72\x3f\x72\x47\x55\xd2\x22\xbc\x31\x67\x0f\x18\x5b\xa2\xfd\x8d\x29\x5e\xa0\x3b\x48\x7b\xa8\xc0\xad\x7e\x21\x96\xbb\xd6\xf7\x45\x5e\xa9\xc6\xa3\x33\x79\x4c\x2e\xda\xec\x8d\x0f\x47\xe9\x93\x9a\xdd\x43\x14\xe9\xa7\xdd\xdb\xde\xc6\x4a\xdb\xbd\x0b\x4a\x6b\xb2\x86\xb8\x10\xcb\x0f\x5e\x03\xe1\xc0\x47\xd6\x6a\xb7\x6d\x35\x76\x7d\xcd\xb6\xb6\x3a\x64\x2c\xd1\x7a\xd8\xea\x04\xfb\x22\x86\xed\xa4\x9c\xff\x88\x9d\x8b\xb8\x56\xd0\xf1\x0f\xe4\x06\x01\xfd\x76\x7a\x93\x6e\xeb\x7f\xed\x3f\x6a\xb9\x46\x06\x5e\xea\x84\x32\xf4\xe6\x25\x76\x70\x43\x75\xae\x58\x52\x57\xd7\x6b\xf0\xc4\x7c\x54\x86\xc0\xec\x9d\x77\xd8\xd3\x3b\x1b\x33\xa5\xfa\x35\x29\x2a\x90\x08\xb1\x60\xd4\x19\xc5\xa1\x76\x47\xcc\x6b\x59\x1f\x47\xc8\x55\x04\xec\x51\xa3\xab\xcc\x26\xa5\x09\x9b\x8c\x6a\x10\x97\xbc\xe8\xac\x40\x59\xd3\xe0\x99\x73\xd5\x78\xc9\x8b\xf3\x5b\x9d\x34\x76\x1a\x8c\x5a\x02\x12\xcb\xa1\x9b\x33\x30\x31\xf3\x3b\xe7\x95\x56\xce\xeb\x6e\xe4\xce\xf5\x16\xb5\x97\x70\xc8\x31\xab\xe1\x61\x50\x2d\x07\x05\x44\x7a\x35\x64\x63\xd8\x3e\x4e\x4b\x1c\xb9\x0a\x59\x3b\xb3\x70\x9d\x20\x2a\x61\xf0\x17\x00\x84\xbb\x07\x7c\xb5\x3f\x65\x2d\x88\x70\x38\x30\x07\x7d\x0d\xa0\x2f\x4f\x70\x83\x77\x8f\x26\x0f\x9c\x5f\xd7\xb5\xf6\xe5\xfd\x7b\x74\xd9\xd0\x99\x95\xa5\xc4\x6e\x90\xc0\xe4\x29\x7d\x7e\x94\x79\x09\xfb\x1b\x22\x46\x46\x44\x92\x0d\xa6\x28\x17\x15\x4b\x31\x80\x2b\x99\x7c\x59\x87\xd6\xab\xa1\x1d\xe1\x59\x5f\x4a\xc6\x27\x13\x78\x37\xbe\x24\xf5\x40\x29\x94\x61\xd0\xf1\xf9\x7f\xc3\x7b\xed\xbf\xba\xba\x4a\x72\xa1\xc7\x20\x73\xab\xc6\xa9\xf9\xef\xfb\xbf\xfe\xf4\x63\xa2\x3f\x69\x1b\xca\x77\xc2\xab\x4c\x59\x39\x95\xe3\xd5\x80\x12\x6a\xcf\xcd\x77\xc7\x11\x3a\xb9\x19\xa5\x06\x67\xec\x0a\xe3\x99\x41\xa4\x6a\x06\x0a\x3e\xf0\x4d\x93\x3b\x60\xdb\x50\x95\x32\xe1\xb7\x9b\x79\xc3\x8e\xbb\x28\xc6\x3d\x36\x4f\xf5\x2e\x8e\xd4\x7c\xa9\xc5\x68\x37\x13\x45\x3e\x53\xac\xc7\xb6\xfa\x5b\xe6\xff\x7f\xdb\x72\x70\x7c\x51\x03\x67\xeb\x7f\x6d\xb1\x5f\x8f\xff\xeb\xd9\xc9\x2f\xf4\x0f\x95\x0b\xe0\x43\xb9\xc3\x17\x6f\x7e\x3d\x64\x3d\xf6\xec\xe4\x97\x93\x77\x06\xe2\x2e\xc0\x4d\xe0\xff\x1f\xe0\xff\xff\xc7\xb6\x11\x74\x00\xdb\xd8\x84\xfc\x07\xf0\xff\x87\xf0\xff\x16\xfc\xbf\x0d\xff\xef\x6c\x35\x9b\xa6\x30\x93\xb9\x0d\x45\x76\xe0\xff\x5d\xf8\xff\x01\xfc\x7f\xb0\x55\x7b\x54\xae\x45\x89\x83\x93\x27\x72\x8d\xb6\x82\x8f\x84\x8d\x49\x8c\xd6\xee\xfc\xff\x5f\xfb\x3f\xf6\x26\x79\x17\x42\x88\xae\x2d\xf3\xfd\x33\x2c\x33\xb8\xa5\xcc\xfe\xcf\x58\x66\xa7\x15\x33\x50\x20\x6f\x26\x7c\x05\xbf\xf6\x5a\x94\x66\x59\xc0\x99\xbe\xe9\xad\xb9\x8d\xb7\x2f\xc4\x72\x9b\xc9\x8a\x6d\xc3\x0e\xda\xa6\x53\xcc\xfa\x70\xf6\x37\x7d\xe2\x76\x03\xa7\xbd\x60\xda\xf8\xda\xed\x80\x05\x15\x53\x7a\x31\x1e\x23\xef\x6c\x77\x08\xd0\xe9\x20\x0b\x00\xe5\x1c\xc2\x25\xc3\x4d\xd3\x8e\xd1\x52\x16\xca\xef\x19\x43\x5b\xdb\x4d\x63\x51\x1d\xfb\xee\x10\xbd\x4d\xe8\xdd\x63\x5b\x3d\x58\xdd\xa7\x5b\xac\xf3\x8d\x11\xff\xdf\x41\xe8\xfb\x6e\x9a\xff\xab\x88\x1f\xe0\xf5\x3c\xd5\xc7\x90\x7c\x0a\xa2\x8e\xa6\x7d\x50\xa3\x31\xd7\x63\xef\x0f\x8f\x10\x7b\xff\x76\xdb\x2e\x38\xc4\x32\xfd\xdb\x76\xc1\x0f\x60\x7c\xfd\xe0\xb6\x22\x47\x08\xa6\x7b\x5b\x53\xb4\x99\x0e\x6e\x83\xf3\xc8\x34\xd5\xae\xcd\x82\xb9\x9e\x0c\x35\x67\xae\x91\x9d\x16\x3d\xb4\x19\xba\xa0\x9c\x1c\x6a\x5d\xbd\x81\xd0\xce\xe0\xc6\xff\xac\x55\x4e\x76\x5b\x5d\xd6\xb2\xaf\x98\xe6\x77\x39\xe9\x9b\x7f\x3e\xc1\xf7\xf9\x41\x40\x6f\x4c\x84\x7e\x05\x20\xf2\xd1\xc2\xb3\xcf\x5d\x82\xeb\xe9\x0f\xae\x75\xd5\x65\x39\xa9\x28\xc6\xad\x26\xde\x61\xfc\x5a\x7e\xbc\xd1\x12\x38\x3f\x60\x3b\x3b\xb9\x25\x33\xc0\x42\xba\x0e\xfb\x2c\x3f\x67\x3b\x94\x16\xaa\x72\xdb\xe0\xc6\x58\xc7\x72\xd5\xe6\x13\xd2\x42\x7f\xeb\x56\x04\xef\x20\xd4\x5e\xaa\x51\xac\xb4\x62\x04\xeb\x02\x0d\x7a\xe1\x50\x39\x39\x9c\xaf\x7a\x94\x44\x0b\x3b\x1a\xf8\xe1\xab\x7f\x86\xd2\x1d\x2b\x4e\xc2\xb8\x3c\x37\x08\x01\xb4\x55\xdd\xcb\x91\x7f\xdc\xc2\x0d\xf5\xf9\x6f\x45\x5e\x5e\xd4\x0c\xab\xc8\x5e\xef\x06\x83\x09\x42\x6c\x3b\x9e\x35\x49\x2e\x07\xa6\x8d\x53\x08\xdf\xff\x2c\x07\x5d\x46\x73\x50\x73\xbb\xc0\x68\xd6\x8a\x2a\x6e\x12\x8d\xc1\xf9\x7c\xee\x83\x85\x40\xec\x01\x70\xfb\x27\xab\x50\x5a\xcb\x5c\x3c\xff\xbc\x64\x5b\x0a\xe0\xef\x66\xf9\x96\xe9\x97\x48\xec\x6d\xc0\x4b\xaf\x57\x1b\x45\x87\x04\x48\x63\x9e\x83\xe9\x28\xc6\x40\x09\x5e\x20\x48\xb8\xb2\x0d\x6f\xf2\x20\x59\x81\xe3\xfe\x93\xa9\x9f\x7b\x0e\x95\xc1\x03\x05\xc9\x3b\x41\xdf\xb0\x32\x8c\xf8\x42\xb1\x45\xa9\x16\x39\x06\x9c\x34\x38\x36\xcb\xcb\x7c\x1c\x3e\x58\x32\x94\xce\x8d\x90\x1b\x66\x66\x0c\x34\xcb\x93\x45\x9e\x89\x5e\x96\x43\x8f\x9f\x89\xb9\xb9\xc4\xca\x74\xc9\x4e\x60\x0e\x60\x83\x98\x12\x37\x68\x3c\x4a\xce\x24\x33\x31\x5a\x4c\x26\xc8\x6e\x8e\x25\x0e\x8e\x2b\x95\x2b\xcd\x72\x5a\x44\x5d\xf1\x14\xac\x97\x20\xbe\x25\xc4\x2f\x90\x52\x93\x90\x4b\x09\x36\x5a\x4c\xbc\x87\xb6\xd5\x20\xa0\xbf\x29\x81\x0b\xe7\x90\xd0\x4c\xdc\xf6\x36\x5f\x68\xb9\xeb\x82\xc1\x6e\x6f\xaf\x8d\xc7\x49\x41\x68\x00\xdd\x86\x31\x2a\x67\x42\xe5\x93\x12\xf4\xa8\x4d\xbf\xb6\xb7\xa1\x67\x84\x01\xdb\xdb\x56\x10\x17\x2e\x9f\x19\xbb\xb9\x6a\x97\xf3\xdc\xf0\x5f\x4b\x06\x87\x55\xc6\x4a\xeb\xc7\x3a\x04\x61\xda\x20\x18\x73\x3e\x11\x6c\x97\x89\x64\x92\x58\x6c\x1b\x3e\x1e\xc9\x6c\xf9\x64\x68\xa8\x82\xe1\x63\x73\xbd\x3e\x19\x32\xcd\xfd\x6c\xbc\x2e\x8b\x25\xa8\xb4\x36\xc7\x19\x25\xe1\x46\x3c\x11\x73\xba\xc3\x7f\x7d\xf7\xf2\x85\x57\xeb\x80\x29\x40\x07\xa1\x34\x11\x06\xfe\x18\x1e\xb7\xc8\x11\x82\x7b\xc0\xa9\xdb\x1e\x53\xa0\xb7\xfa\xd8\x40\x68\x1f\x35\x6d\xb0\x0b\x23\x01\xc5\xb3\x2f\x59\xb5\x28\xbd\x93\xe8\x20\x93\xbc\xa9\xc7\x9d\x05\xe1\x23\x58\x09\x63\x20\xb7\x62\xe9\x63\xfe\xa2\x8e\x2c\x78\xae\x37\xed\xd4\xce\x07\x57\xec\x06\x1e\x59\x05\xcf\x92\xe6\xa9\x53\xc1\x0b\x5f\x29\x94\xa6\x28\x44\x79\x49\xb1\x57\xf5\x54\x38\xef\xee\x75\x67\xd7\xbc\x64\xdb\xdb\x1e\x2a\x1e\x46\xdb\xdb\xf4\xaa\x02\x93\x46\x1e\xaa\x61\xb6\xe8\xcc\xb2\xc1\x4c\xa2\x99\x81\xb3\x02\xa8\x3b\x2c\x64\x67\x9e\xc2\xc2\x81\x00\xc7\x54\xb2\xc3\x5c\x68\x69\x3d\x91\xca\xea\xc6\x29\xc7\xd6\x83\xdb\x86\xb8\x90\xb0\x13\xc0\x42\x7a\xfb\xf7\x8f\x28\x71\x2d\x10\xe4\x19\xa2\xd3\x30\x61\x15\x92\x86\x99\x3d\x02\x40\x51\xb6\xc4\x59\xa1\xae\x2a\x6f\xa6\xbe\xe1\x03\xe6\x22\xdb\x04\xa7\xe0\xa9\x10\xcd\xa7\xf7\x0d\x1e\x4b\x20\x07\x2e\x9d\x1f\x58\x17\x0d\x09\x61\x58\xcb\x6c\x08\x99\x8b\x27\x77\xc3\x0e\x66\x57\x82\xa4\xcf\xb4\x07\xed\xbe\x32\x5b\x69\xe8\xf1\x94\xa6\x69\x23\x08\xf4\xc6\xae\x60\x3a\x08\x05\x0c\xed\x9d\x17\x22\xc3\x33\x7f\x78\x38\x9f\x7b\x83\xdc\x61\x5c\x14\x1f\xef\x75\xce\x03\xe7\x05\x6c\xf8\xf9\x33\xe3\x3b\x23\x76\x73\x03\xdb\x2a\xaa\x50\x09\x25\x8b\x4b\xdc\x49\xc3\xef\x9d\x77\x31\x3b\x18\x0a\x27\x25\xb8\xca\x85\xd2\x78\xb4\xce\xa4\xd2\xa6\x4f\x33\x73\x5b\x70\x70\x66\x1f\xec\xb1\x32\xc2\x21\x00\xb7\x62\xc9\x0e\xc0\x9f\x89\x99\xdc\x7a\x62\x6e\xf9\xf5\x96\xec\xac\xd1\x96\xdd\x55\x8f\xad\xd9\xcd\xdf\x09\xec\x05\x9e\x65\x7d\xf6\xf9\x33\xbf\xb9\x61\x3b\xec\xf3\xe7\xd1\xcd\x0d\x1b\x30\xe6\x66\x01\xe0\x52\xb4\x60\xe6\x6d\x6d\xe3\x8e\xe0\x39\x9f\x7c\x54\x08\xba\x6e\x3c\xed\xfa\x80\xa6\xd3\x91\xd5\x74\x43\xff\x6e\x31\x96\x26\x83\x60\xce\x06\x6c\xef\x20\x4a\x1a\xb1\x01\xdb\x87\x24\x12\xa6\x34\x9b\x05\x6f\xb8\x18\x0f\x43\x4f\x4f\x0c\xd1\x69\x3d\xae\xb5\x12\x82\x29\x69\x78\x34\x53\x0a\xfc\x9b\x9a\x2b\xab\x1f\xaf\x4e\x39\xd9\xe5\xf3\xf9\x2e\x39\x4f\xc9\x06\x5b\x86\x6d\xbd\xff\x0a\xf1\xf9\x9c\x96\x86\xfa\x60\xd6\xd7\x64\x38\x12\xe4\x89\x25\xa4\x9b\x16\xf5\x17\x29\x33\x3f\x5f\x7b\x5b\x4f\x42\xaa\xfb\x7e\xcb\x1a\xd6\x78\x3c\x7f\xf2\x0e\xe3\x85\x96\x99\xa8\x7c\xe4\x31\x3c\x02\x6c\x33\xfe\x55\x89\x28\x9e\x9a\xe8\x29\xd8\x4e\x5d\x36\x5a\x52\x4c\x12\x47\xee\x04\x54\x0e\xb8\xa3\x66\x6d\x25\x44\x0d\x84\xc3\x23\x38\x58\x32\xa1\x79\x5e\xc4\xca\x22\x8f\x7b\x73\x3f\x33\xd6\x6e\xff\xbe\x13\xb5\x1f\x4f\x54\xe4\xaa\xc1\xfb\x39\x00\xcf\x0c\xce\xb7\x82\xff\xfb\x55\x14\x85\xec\xb2\xcf\x10\x50\xec\xe6\x66\xf3\xff\xfe\x14\xd6\x6a\xb7\x01\x75\xbf\xf5\x14\xfe\xcc\xb3\xd5\xa3\xe3\xdf\xc2\xb4\x68\x46\xd2\x75\x27\x72\x97\x65\x68\xe3\x50\x89\x62\x69\x03\xa5\xfa\x3f\x43\xbe\x2d\xb4\x34\x57\x4e\xda\x44\x4a\x2b\xd6\x46\x75\x39\xf0\x50\x93\x2b\x43\x45\x67\x40\xc7\xc6\x18\x07\xfb\x0d\xc8\xfd\x4e\xc2\x0e\x15\x53\x8b\x74\xda\x75\xcb\x06\xfc\x04\x31\x1b\x4a\x38\xef\xeb\xe0\xcc\xb8\xb6\x72\x5a\x54\x73\x59\x60\xcf\xe9\x32\xa9\x44\xec\xf6\x47\x54\x15\x04\x37\x37\xa7\x4d\xc5\xae\xc4\x08\xac\x67\x24\xb9\xc9\xbf\x65\x7d\xbe\xd5\x19\xec\x0f\x9b\xc0\x89\x05\xeb\xf5\x58\xb4\xc8\x75\xb6\x26\xc0\xc9\x78\x49\xee\x5c\x84\xae\x6b\x80\xa2\xf9\xe9\x29\x2f\xf1\x05\x71\x05\xa5\xb1\x68\x74\x37\x44\xbd\xba\xcd\x85\x46\xd3\xbd\xd0\x70\x33\x98\xbb\xc1\xf5\x88\x7c\x57\x47\x6d\x74\x59\xed\x64\x85\x95\xac\x1d\x22\x3e\x72\xa1\x9d\xa2\x3a\xe6\xba\x36\x68\xba\xd6\x6e\x63\x15\x84\x73\x44\xe3\x4e\x3c\x1a\x4d\xab\xd6\x4d\xbd\x35\x7b\xea\x1a\xf2\x63\x8e\xd4\x12\xa8\x0c\xad\x4c\x57\xad\xef\xf7\x74\x3f\x72\xff\xb9\xb3\xf8\x72\x4b\xa3\xfb\xad\xfa\x14\xee\xdb\x47\x0e\x87\x1e\xb5\xfc\xb5\x1d\x02\x91\xc0\x80\x6d\xfd\x2e\xab\x22\xdb\x0a\x03\x3a\xb0\x3a\x8c\xd0\xa7\xbf\x1d\xf2\xf9\xc1\x6d\x9b\x05\x02\x22\xa4\x8a\x36\x4b\x96\x5f\x9e\x45\xc7\xde\xb9\xef\xcd\x8c\x57\x93\xbc\xdc\x1d\x49\xad\xe5\xac\xcf\xf6\xc4\xcc\x4d\xd2\xee\x95\x18\x5d\xe4\x7a\x77\x24\xab\x4c\x54\xbb\x15\xcf\xf2\x85\xea\xb3\x1f\xe6\xce\xfb\x03\xbb\x33\xab\xcf\xf6\xe6\x9f\x98\x92\x45\x9e\xb9\x9c\x39\xcf\xb2\xbc\x9c\xf4\x59\xf2\x17\x6a\xed\xa6\xb1\x97\xff\x1a\x98\x79\x08\xfa\x4a\xad\xa5\xb2\x90\x55\x9f\x7d\x97\xfd\x28\xfe\x9a\xfe\xe8\x1b\xe4\xe9\xc5\xa4\x32\x7c\xa2\x2f\x31\x1e\x3f\xca\x7e\x72\x25\x6c\xf2\xf7\xe9\xff\xfe\xf1\xfb\xec\xd6\x96\x7f\xe6\xb7\x34\x2c\x46\x69\x9a\xed\xdd\xd6\xf0\x78\x3f\x13\x99\x58\x69\x98\xff\xf5\x87\x1f\x7e\xd8\x3f\x58\x33\xf7\x8f\x7c\x8f\xee\x74\xfa\x42\xe7\xdf\x49\x99\x6b\x2f\xfd\x73\xa4\x77\x20\x00\x9c\xcf\xc9\x5f\xa2\x75\x56\x31\x0b\x62\x4d\x9b\x9e\x95\xe3\x7c\xc2\x9c\x5f\x9e\x5e\x0f\xf8\x6f\xcb\x90\x0c\xe9\xc7\x90\x4d\xb9\x62\xf3\x2a\x97\x55\xae\x97\x18\xd5\x95\x97\x4b\x62\xb4\xbc\x1b\x45\xfb\x3a\x19\x4b\x03\x83\xed\x39\x87\xa4\x30\x1a\x0f\xed\x03\xcc\x60\x3b\xac\xc5\xe7\xf3\x56\xe0\xd6\x62\xd3\x0f\x21\x70\xf9\x97\x4c\xb9\x72\xf2\xcf\x75\xe9\xed\x12\x1c\x02\x7a\x23\x0c\x0f\xc9\x09\x1f\x0f\xa2\x69\x09\x84\x92\x13\xa1\x6b\x80\xea\x2f\x88\xdf\x6e\xb0\x36\x3b\xe5\x65\x06\xde\xb7\xd6\x8f\xbf\xed\xca\x04\x7d\xad\x9b\xc2\xb4\xd8\x0e\x34\xe5\x34\x0b\x5a\x20\x48\x7e\xff\xbe\xdf\xea\x98\x56\xcf\x5b\x9d\x75\xd3\x12\x74\xa1\x36\x31\x2e\xe7\x1e\x53\x63\x3a\xee\xc1\xda\xa6\x10\xd9\x12\x65\xe5\x9c\x83\xba\x1c\x3b\xc0\xd6\x50\x5c\xd9\x71\x51\x05\xb0\x1d\x87\xe7\x51\x05\xea\xe8\x53\x76\x86\xbf\xce\x41\xc3\xbd\x4b\xad\x76\xbe\x38\xce\x99\x6b\xa5\x41\x99\xb0\xa6\x37\xe8\x04\x7f\x81\x42\x80\x17\x09\x81\x1a\x1c\x5b\xcc\x9d\xb6\xec\x0a\x57\xbc\xcd\x4e\x85\xe8\xc7\xd2\x4d\xcf\x47\xff\xec\x64\x45\x54\xd8\xc7\x92\x78\x53\x49\x5d\x71\x10\xfb\x8e\xb8\x12\x19\x13\x65\xb6\xab\xe5\xae\x30\x14\x9a\x50\xda\x49\x8f\x16\x4d\x3d\xf4\x4d\xd8\xbe\x26\xf8\x48\x28\x96\x28\xd5\x32\xb5\xa8\x53\xe5\x24\x71\xd2\x8c\x3e\xca\xc3\xe1\xff\x37\xce\x43\x03\x0d\x0e\xc8\x87\x4c\x68\x73\x5f\xe5\x63\x96\x6b\x38\x3a\x46\x42\x94\x2b\xc2\xa2\x51\x25\xaf\x94\x20\x11\x0b\xd0\x4e\xb2\x24\xd7\x39\x60\x67\x8c\xce\x22\x6c\xbc\x1f\x10\x09\x12\x08\x9c\x7d\x67\xeb\x11\x08\x14\x41\x79\xd7\x74\xa1\x12\x10\x01\x8d\xb3\x2b\x5e\x95\xa4\x99\x19\x36\x4a\xb4\xa9\x35\xe9\x41\x69\x1a\xd9\xc7\x2f\x46\x4a\xfc\xb1\x30\x1b\x02\x1b\xb2\x21\xa3\xe6\x95\xb8\x04\xc5\x42\xd3\x5c\x39\xb1\xe1\x6d\x51\x36\x18\xc8\xec\x6c\x1c\x70\x38\x1e\xaf\x72\x05\x03\x70\x52\x45\xef\x00\x4b\x8e\xdd\xb4\xe9\x0a\xa4\x27\x57\xb2\xba\xb0\xc2\xa1\x67\xaf\x5f\x3a\x19\xcc\x10\x24\x45\xe6\xe7\xe3\xcd\x4c\xa6\x60\xfe\x0d\x62\x58\x48\xf2\xbf\x40\x4c\x0b\xbf\x1a\x78\x9d\xdf\x45\x91\xca\x59\xcd\xf1\x1f\x3c\x5e\x7c\x9e\x54\x42\xe8\xbc\x9c\xdc\xdc\x40\x65\xa2\xc6\xa1\x6d\x72\x1b\xc7\x54\x95\x0e\xb6\xec\xe6\x30\x74\x78\xe0\xa4\x6c\x3b\x70\x2e\xb7\xcd\xdc\xd5\x13\x44\xb9\xb3\x84\x7a\x16\x50\xe7\xdb\x75\x6a\x6b\xa5\x83\x6b\x28\xbb\xed\x98\x94\xb2\x9d\x67\x03\x66\x41\x6c\x9a\x53\x75\xdb\x8a\x4b\xb6\x03\x8e\xc1\x1f\x1e\x56\xc2\x66\x08\x49\xe8\xd6\x39\x96\x8d\xc7\xd5\xf3\x53\xda\x73\xf3\xbc\x1a\x9b\xfa\xd9\xeb\x97\x74\x12\xdd\xb8\xdb\x33\xf4\x70\x8c\xdc\x5a\xae\xa2\x57\x85\x35\x07\x82\x03\x0a\x2a\x40\x8f\xf1\xd1\xec\xda\x5a\xe8\x90\xce\xdb\xe0\xc6\x09\x38\xbd\xef\x94\xb1\x17\x7a\xe2\x63\x93\xdf\x6c\xf5\x36\xcc\xdf\x71\x18\x3f\x3f\xa0\xd2\x1d\x57\x67\xd2\xe0\x50\x34\x9d\x35\xe8\x6f\xcd\x52\xe9\x38\x04\x67\x2d\xed\x67\x27\x96\xe8\x17\x99\x7d\x43\xaf\x45\xff\xb2\xf2\x62\x1b\x49\x7f\xb4\x8c\x1f\xad\x38\x84\x00\x58\x94\x6c\x54\x48\xd2\x99\x34\x7f\xe1\xb1\xd8\xf8\xb4\xa6\x6e\x56\x2d\x0b\x30\x74\xb7\x21\x6b\xbc\x5f\x55\x94\x16\x8c\xf3\x12\xbd\x19\x98\xdc\x45\x45\x2a\xcc\x73\xe4\x55\x1a\xe5\xde\xef\xa6\xc2\x0d\xc8\x79\xe9\x80\x98\x80\x86\xf1\x76\x9e\xeb\xbc\xc3\x8e\xa1\xbd\xdd\x86\x6c\xd7\x32\xe6\xb7\x73\x91\xeb\x1a\xce\xc1\x41\xde\x4c\x60\x48\x4a\x42\x62\xfb\x5e\x05\xce\xa6\x4d\x5f\x46\x8b\x09\x3d\xc5\xb1\x51\x25\xf8\x05\x3d\xa3\x89\x8c\xa4\xdb\xcf\xd0\xba\x00\x10\x62\x08\xd6\xbd\x3e\x6c\x84\x53\xae\xac\x8b\xeb\x43\xbd\xef\x52\x5c\x15\xcb\xe0\x1d\x91\x16\x0c\x3b\x9d\x2b\xd3\xeb\x9a\x12\xaa\xdf\x61\x22\xbe\x9b\x95\xbb\x8c\x9d\xfd\xc1\xa6\xf3\x78\x43\x39\x9d\x98\x24\xc5\xa3\x84\x4c\x24\x8e\x5c\x0e\x90\x01\x76\xa6\xfb\x68\xb5\xbc\x41\x16\x55\xae\xbe\x8d\x27\x19\x56\x8e\xc8\x01\x00\x2d\xdd\xf5\xda\xe4\x04\xf2\x96\x97\x71\x47\xa1\x59\x2a\xcc\xce\x4d\xbb\xe6\x7a\x4d\x73\xd3\x9b\xd0\x75\x35\x78\x97\xa3\xd3\xa7\xc3\x9e\xb2\x96\xfd\x68\xb1\x7e\xa3\xd6\xbc\x33\x3c\xee\xa1\x7a\x81\xd9\x0c\x85\xb9\xcb\x78\x7a\x21\x70\x71\xe9\x6e\x22\xb3\x1f\x30\xed\x44\xdf\x1d\x8a\x97\xb9\x06\xab\x02\x2d\x29\x3c\x29\xa9\xdd\x7e\xf7\xd3\x8f\x3f\x7d\x4f\x90\x6b\xfe\xed\x02\x89\x4d\x6b\x64\xa6\x67\x9e\xb5\xba\x41\xe2\x96\x21\x00\x0e\x8b\x4a\xf0\x6c\xe9\x09\x94\x39\xbd\x4e\x21\x66\x58\xa2\xb2\xf5\xf9\xd1\x4d\x6b\x2b\xac\xad\xf9\xc4\x2b\xbd\x3e\xee\x75\x5b\x0f\x0b\x7d\xd0\xea\xf8\xb4\x27\x26\x6d\x62\xd2\x62\x07\x71\xf6\x74\x1b\xb8\x5f\x81\x9b\x3c\x4a\x4a\x16\xa5\x9a\xe6\x63\xdd\x3e\x6b\x3d\x20\x5f\xbe\xd1\x35\x42\x69\x81\x87\x52\x4a\x49\x40\xdd\xa9\xdd\x7a\x60\x8e\x67\xea\x7c\xab\xcb\xe2\x35\x00\xff\x9c\x6e\xe9\x89\xa2\x85\xa7\xe5\x93\x72\x2c\x8f\x4b\x10\xc4\x79\xd8\xbd\x1e\x7b\xb3\x50\x20\x6b\x07\x8b\x3d\x78\x65\xcf\x15\x70\x50\x55\x9e\x09\xc5\x86\xf5\xca\x43\xa6\x84\x86\xeb\xcc\x1e\xb6\x39\x04\xb2\xae\x5a\x8a\x0d\x69\x8c\xc3\x24\xa2\xce\x49\x8f\xf2\xac\xf5\x80\xde\x87\xde\xe0\x88\xe2\xfb\xb3\x96\x17\xea\x89\xd6\xf3\x56\x46\xd4\x06\xbd\x35\xa7\xd0\x79\xde\xb8\x2c\x6e\xe6\x5b\xe5\xc4\xaa\x2d\xa3\xef\x41\x3a\x34\x06\x74\x8e\x9c\xd8\x9d\x52\x3b\x17\x1c\x6b\x40\x95\x6d\xc5\x04\xaf\x0d\x33\x40\xb3\x36\xa7\x24\xf4\xa9\xaf\x94\x1b\x3e\xfc\xb6\x95\x3d\xde\xae\x9e\x50\x87\x68\xbe\x69\xe0\x75\xbd\x3a\x05\x41\xe9\xba\xf6\xc3\xa9\x42\x92\xe3\x01\x1a\x7e\xae\x31\x1f\xb5\x27\x42\xc6\x35\x6f\x87\x3d\xf1\x10\x43\x9f\x14\xd4\x9e\xdb\xed\xd8\xa1\x4e\xa3\x83\xbb\x73\xf8\x41\xdf\xd6\xf2\x87\x80\x1e\x6c\x58\xef\xb2\x66\xd6\x5f\xfd\xf2\xe1\xf8\xd5\xe1\xcf\x2f\x8e\x3f\x3c\x3b\xfe\xf9\xb7\x5f\x3e\x9c\xbc\x7a\xfe\x9a\x0d\x58\xef\x5f\x4d\x19\x9b\xbd\x03\x5f\xed\xd9\xf1\xf3\xe3\xb7\x1f\x7e\x7e\xfd\xfa\xdd\xe9\xbb\xb7\x87\x6f\x6c\xa5\x5a\xb2\xa9\x42\xa7\x38\x85\x86\x79\xf8\xb0\xb1\xd1\xc4\x70\x22\x54\x26\x89\x58\xf2\x35\xdb\x27\x72\x93\x10\xd4\x63\x83\xf0\xcb\x9d\x16\x4d\x6d\x76\x19\xb9\x6b\xb8\x59\xed\xe3\xe6\xea\x58\xd6\x77\xd1\x9a\x49\xf8\x6b\xa2\xed\xe1\xde\xab\x6f\xb5\xa6\x5c\xcf\x2c\x3d\x63\x78\x88\x99\x68\xbc\x85\x20\x7a\x2e\x2a\x21\x29\xdb\x21\x2b\x75\x08\xf3\x42\xf3\x1c\x48\xf1\xe8\x18\x1d\x10\x94\x49\x7b\x97\xfe\x5d\x1d\xda\x17\xc5\x16\xa8\x84\xa1\x33\x7f\xcf\xf5\xf4\x99\x5d\xc6\xaf\x64\x98\x11\x12\x3e\x4e\x2c\xaa\xca\x5c\x1d\xb1\x36\x92\x9e\xa2\x12\x4f\xf8\x1c\xcf\xd0\xf7\x3d\x23\xaa\x16\xc8\x26\xcd\x2f\x04\x30\x6b\xa9\xc8\x20\x3e\x09\xca\xab\xc0\x80\x1f\xe8\xa0\xbb\x8f\x3b\xa0\x28\x3a\xc3\x80\x3d\x0f\x18\xe1\x7a\xf5\xef\xea\xd5\xbd\xe6\x40\x8d\x34\x6a\x98\x2c\x3a\x3a\x62\x54\x6a\x35\xee\xd1\x16\xdb\x09\xcb\x1d\xf8\x6a\x85\x24\xba\x11\x1b\x68\xd7\x22\x2e\x87\xeb\x35\x11\xfa\x9d\x50\x9a\x8f\xf2\xa2\x39\xb8\x6f\x6d\xa9\x7e\x11\xa8\x18\xa6\x7d\x25\xa6\x44\x75\x99\xa7\x5e\x55\xc4\x72\xb4\x21\x43\x4b\x4c\xec\x24\xbf\x14\x00\x27\x30\x11\xfc\x53\x98\xa6\x5e\xa4\x1d\x19\x0c\xb1\x1d\x5c\x12\x61\x64\x0e\x77\x27\x39\x0f\x76\x14\x58\x26\x2c\x1f\x10\x75\xde\xfc\xb5\x76\x2b\xd4\x5d\x03\x9b\x99\x72\x97\x4e\xab\x94\x21\xd1\xbc\x28\x49\xd9\x9a\x46\x68\x7d\x06\x18\xb4\x8c\xbb\x6d\x8f\xaf\x95\x53\xde\xac\x60\xbb\xf5\xe0\x81\x8e\xcb\x92\x66\xe9\xe9\xab\xc3\xff\x38\xfe\x70\x74\x78\x7a\xfc\xe1\xed\xf1\x2f\xc7\xff\x05\xa7\xf7\xd9\xe1\xee\x7f\x9f\xf7\x26\x07\x81\x69\x66\xc9\x2f\xc4\x07\x34\xd3\xe3\x33\xd1\x65\x4a\x98\x35\x71\xa3\x72\x9f\x6c\x10\xfc\xbe\xbe\x66\xad\x0f\xad\xc0\x7a\x22\x3a\xeb\x56\x9a\x0e\x8e\xa5\x42\x68\x70\x88\x3e\x97\xaa\x76\xb2\xb6\xe7\x52\xb1\xa7\x41\x23\x7d\x73\x40\xb2\x1d\x86\x55\x12\x2d\x5f\xc8\x2b\x51\x1d\x99\xae\xe2\x94\xf8\xc1\x8e\xf2\x32\xfb\x3b\x28\x21\x3f\xcf\x2b\xb8\x37\xc8\x7f\x91\xc9\x54\x17\xf9\xfc\x99\x50\xba\x92\xcb\xd7\xe5\x2b\xf1\x49\x63\xc9\xa3\x42\xf0\xf2\x19\xd7\xfc\x20\x76\xae\x81\xb9\xed\xc0\x34\x8c\x42\xff\x07\x15\x08\x03\x6a\xcd\xc6\x03\x72\x97\x43\xaf\x07\x70\xcd\xca\x52\x14\xa0\x7c\x6c\xb5\x38\x4d\x21\x4a\x74\xf7\x06\x7e\x1f\x60\x4d\x73\x40\xfa\x5a\xb9\x66\xe2\x53\xae\x34\x59\xe9\xe3\x9b\x59\x10\x01\x3b\xd7\xcb\xae\x17\x36\x39\x8b\x72\x78\x9b\x4b\x10\xa0\xdd\x96\x7b\xc9\xfe\x0e\xab\xc4\x1f\x8b\xbc\x12\xca\x36\xb1\x97\xfc\xef\x1d\xf4\x9b\x5a\xb6\x3b\x3d\x39\x1e\xb7\x3b\x96\xb7\x5d\xa9\xfe\xfd\x0e\xd3\x22\x9d\x96\xa4\x53\xe8\x40\x39\xc7\x96\x04\x73\x3f\xd9\xdb\x81\x60\xb3\xb9\x66\x33\xbe\x44\xc9\x16\x74\x5f\x16\x99\xa8\x10\xec\xa5\xa8\x14\x86\x64\x3f\xd1\xfe\xe1\x11\x8a\x9a\xee\xa8\x45\x45\x8e\xf7\x09\xe8\xe3\xbd\xe4\x7f\x77\x99\x9e\xca\xc5\x64\x9a\xd0\x6a\x50\xd6\xc3\x87\x54\x28\x19\x97\x89\xf7\x17\x8f\x6c\x9b\xe1\xdf\xdc\xf4\x32\xcb\x19\xba\xf2\x5d\x77\x5d\x02\xe5\xd5\x67\x7f\xff\x4f\x53\xcb\xf9\x22\x4f\x90\x42\xa4\x32\xb9\x82\x87\xf0\xd3\xe6\xa2\x61\x6e\xf0\xca\x42\x02\xad\xd5\xf2\x3e\xcf\xc1\xa7\x8d\xde\x00\x9b\x72\x7c\x49\x88\xce\x2f\x32\x83\x9e\x4d\xc5\x83\x6c\x77\xe7\x6f\x10\x5f\x72\x08\xb3\x9d\x81\xff\xcc\x99\xbc\xb4\xfe\x80\x48\xf2\xc8\x2e\x73\x6e\xb6\x41\x2e\x17\x2a\x88\x62\xa5\x50\x65\x28\xc1\x2a\xed\x8e\x05\x06\x6e\x8e\x30\x64\xb9\x39\x0e\x17\x13\xbb\x64\x49\x6a\xb7\x4f\xc2\x5e\xca\xf2\x42\x2c\x77\xe7\x60\x53\xaa\x03\x53\x14\x2d\xd9\x38\xaf\x84\x05\x66\xba\xf0\x20\xc3\xad\xcb\x90\xab\x95\x18\x76\xc7\xf6\x14\xfa\x8d\x3c\xd0\xca\x36\x75\x6b\xed\x9b\xc6\x55\xaf\xa7\x46\x94\x56\x21\x66\x2a\x66\xdb\x51\xd4\x1b\xda\x52\x6e\xde\x75\xa4\x74\x62\x5f\xd7\x91\x93\x60\xd3\xc2\x01\x4a\x01\xe8\xe5\x46\x9d\xe5\xe7\x10\x57\x0a\x5e\x36\xea\xee\xc8\x19\x75\xc0\x0f\xe7\x03\xb0\x13\xa6\x66\x97\x6d\x61\xe6\xd6\x8a\x8f\x69\xaa\xf4\xf0\x21\x55\x4f\xec\x44\xd6\xbd\x2c\x22\x50\x00\xd7\x49\x74\x95\x4f\x26\xa2\xfa\x95\x97\x19\x08\x62\x6d\xa5\xd6\x1a\x6f\xd2\x35\x57\x8a\x01\x77\x74\xc7\x0c\xf9\x23\x3a\x06\xb4\xb2\x8a\xb4\x22\x44\xaa\xae\x78\xca\x71\xdb\x1a\x71\xde\x1d\xba\xb5\xbb\xdc\xc9\x6d\xec\xe3\xe6\x1b\x92\x92\x64\x72\x31\x2a\xc4\xee\xbc\x92\x9f\x96\xe8\x64\xa1\xe1\x32\x41\x26\xc4\x13\x52\x78\xd1\x93\x9a\x0b\xe9\x5b\xdb\xfb\xdb\xd0\xb2\xbc\x50\xcb\x1a\x29\x62\xb6\x44\xa5\x0f\xab\x49\x9b\x57\x93\x2e\xc3\xbb\xb6\x12\xdc\x39\x6f\xc0\x27\xbe\x6a\xb2\x8e\x98\xe0\x95\xf8\xa3\xd5\x65\x5b\x87\xb6\x21\x90\xa6\x98\xe6\x3e\xef\xdd\x6c\x75\x19\x5c\xdf\x70\x31\x3f\x6d\x75\xba\xac\x8d\xb0\xc1\x52\x99\x8e\xe6\x6c\xab\x53\x27\x25\x78\x35\xa9\x45\x32\xb3\xdd\x7c\x5e\x86\x1d\xe5\x69\x2a\xe6\x1a\xe4\xcd\x87\x4e\x5e\xe9\xfb\xdd\x98\x8d\xde\x2c\xd1\x78\xd5\x8c\x2b\x78\x67\xac\x26\xe8\xa5\xea\x8c\x57\x13\x6b\x72\xb9\xcb\xf6\xce\xfd\xea\xb9\xd9\x0a\x1c\x52\x19\x20\xb6\x43\x2d\x70\xe0\xe0\xb6\x6d\x97\x4d\xa4\x66\x2d\x67\x26\x6a\xca\x06\x81\xc7\xa1\xc1\xc0\x13\x2a\x7b\x6a\x92\xcc\x89\xab\x74\xb5\x00\x5a\xca\xcd\xde\x6b\x2a\xd2\x0f\x2a\x77\x42\x43\x51\x3b\x67\xeb\x71\x01\x60\x01\xbd\x6b\x96\x27\xb6\x80\x0e\xa8\x5e\xf6\xf9\x94\xdc\x6b\x40\x05\x58\x73\xe1\x2c\x44\x0c\x55\xd7\x58\x38\x25\x2f\x69\x4e\x77\xeb\x13\xc8\x81\x7d\x4c\x2b\x80\x90\x2b\xd0\xeb\xee\x82\xa2\x17\xe3\x2a\x10\xd4\x87\xe6\x04\x2b\x18\xfa\x4a\xea\x5f\x63\x5f\x96\x38\xe1\xd4\x92\x5f\x73\x64\x50\xcc\xa4\xc6\x03\x6c\xad\x43\xe0\x11\xcf\x4c\x1d\x83\xc3\x71\x0d\x17\xfc\x8c\xa1\x13\x81\xcf\x8f\x70\x46\xb6\x7c\xab\xf5\x37\xdb\xb7\xe4\xc5\x72\x2a\xc8\xf9\x82\xc1\x40\xa5\x72\x30\x21\xb1\x97\x17\x49\xfc\x47\x4b\xb0\x7a\x4d\xd8\x61\xb9\x0c\xfc\x69\xea\x8a\x1b\xa2\x83\x17\x2a\xf4\x86\xbc\xfa\x88\x80\x5e\x88\xac\x2c\x96\x80\x86\xc5\xec\xba\x98\x46\xf0\x7f\xe0\x66\x08\xa0\x8b\x06\x13\x9f\x1b\x76\x66\x4e\x98\xe7\xe5\x3b\x09\xb4\xc1\xc0\x9c\x2e\xe7\x4d\x4e\x0e\x6c\x7c\x4d\xae\xc2\xf1\xd1\x78\xd0\x51\x5c\xef\xdd\xeb\x67\xaf\xdb\xb3\x5c\x5d\xc8\x4e\xbf\xc6\x49\x97\x42\x64\xd6\xa1\x1d\xdd\x97\x11\x6b\xa4\x45\x45\xbe\x80\xb8\x9e\x76\x59\xd4\xa9\xe0\x4c\x32\xb9\x9d\xc8\xe0\x1d\xaf\x45\x78\xfc\x18\xe0\xdc\x92\x8f\x82\xa4\xd5\x09\x72\xed\x4f\x8c\x15\x43\x8c\xe1\x20\x04\x51\x88\x12\xdd\x1f\x78\x1b\xb4\x8d\xe6\x88\x1d\x85\x28\xa3\x8b\x11\x5d\x20\x98\x9a\xce\x83\x3e\x78\x5e\xb6\x36\xf7\x0c\xcd\xfb\xd9\x80\xb5\x57\x9b\xef\x04\x6e\xec\xad\x31\x19\x0c\x35\x9a\x82\xd5\x68\xb9\x75\x59\x10\xb8\xe2\x0b\xc1\x63\x84\xc8\xda\x19\x6b\x7d\x04\xac\xa2\xae\xa1\xae\xcc\x9a\xe6\xe5\x44\xb1\x91\xd0\x57\x82\x8c\x23\xf0\x89\x9b\x97\x19\xcc\x1d\x10\x39\xf6\x61\x0e\x8f\x15\x17\x4b\x31\x7e\x21\xbc\xa1\x77\x3b\x20\xcd\x02\x4c\x75\x78\x85\x77\xe0\x8d\xbd\x35\x53\x43\x6e\x3a\x5f\xa2\x9a\xe3\xab\x18\x9c\x21\x86\xae\x5a\x61\xa6\x7f\x2e\x64\x7a\xf1\xca\x64\x81\x4f\x17\xa2\x93\x7a\x3d\x06\x58\x38\x17\xd5\xb8\xd3\x47\xb7\x39\xe0\xf1\x04\x5c\x72\x17\x05\xc5\x17\xcd\x4b\x36\x84\x5a\xe8\x7e\xdc\x0d\x1c\xac\x93\xc6\xe8\xa8\xce\x64\x54\x7e\x82\x2c\x31\x80\x8d\x84\x7f\xbe\xe7\x21\xbf\x43\x11\xc4\xc2\xaa\x41\xc9\x84\xb0\x0e\xa6\x73\x80\x43\x3c\x7b\x74\x6e\x91\x51\x94\xd9\xab\x30\x07\x49\xcb\xda\xed\x04\xcc\xa6\x9b\x05\x36\x60\x50\x0c\xe3\x41\x64\x92\xd0\x23\x68\x20\x29\xc5\x27\x7d\x8a\x43\xf5\x68\xba\x89\x21\x6b\xe1\x9d\x8e\x34\x59\x1c\x4c\x14\xd0\x41\x01\x24\x76\xae\xa6\x79\x21\x30\x24\x2d\xa8\xbf\x50\x3f\x91\x80\xa7\xc9\xa2\x37\x29\x0f\x25\xb6\xf6\xf6\x81\x37\x4a\x61\xbd\xba\x3b\x8f\x37\x9c\xf9\xa0\xa7\x28\x36\xa3\x02\x78\x85\x8c\x17\x05\xec\xc8\x42\xca\x8b\xc5\xdc\xd5\x9a\xf2\x4b\xd4\xa5\x30\xf0\x27\x0b\x5e\x65\x8c\x4f\x78\x5e\x2a\xed\xc0\x11\x63\xe8\x98\x8f\xd0\x45\xbd\x61\x2a\x6a\xae\x41\x48\xc2\xf6\x56\x80\x72\x31\x9b\xe5\x69\x25\x77\x47\xa2\x4c\xa7\x33\x5e\x5d\xa0\xa7\x82\x5d\x6b\xe7\xfd\x51\x19\x6c\x83\x38\xd1\xd8\xdb\x5d\x7c\x50\xd8\x5f\x57\x0a\x3a\xb5\x3b\xe3\xf3\x5d\x1c\x48\x6f\x6d\xc9\xb1\xac\x76\xf3\x72\xf7\x52\xed\x12\x64\x73\xca\xec\xaf\x3c\x95\xd2\x11\x5d\x0b\xc1\x06\x9d\x78\xc9\xe7\xed\xc8\xee\x39\x8e\x71\x05\x8e\xe3\x9d\xe8\xc2\xfb\x72\x3a\x7e\x71\xfc\xf2\xf8\xd5\x3b\xd4\x4f\x8d\xb3\xc0\xcd\xd3\x80\x7d\x5f\x4f\x3f\x7a\xfd\x92\xaa\xfc\x54\xcf\xb2\xae\x0b\xd9\x80\xfd\x75\x5d\xde\x87\xe7\x6f\x0f\x7f\xb1\x6d\xee\x1d\xd4\x65\xbd\x06\x25\x56\xe5\x86\x28\x6a\xbe\x53\x5e\x88\xa6\x51\x5a\x54\x63\x4e\x02\x42\xfb\xda\x8e\xde\x95\x50\x8c\x70\xfb\x93\x3e\xd2\xd0\x81\xb0\x4a\xe8\xc5\x1c\xdb\x7f\x21\x79\x26\x2a\x92\xd4\x9b\xc9\xa6\xcd\xe9\xde\x58\x90\xec\x60\x03\x36\x23\xfa\xc3\xbf\xbe\xb8\x4b\xca\x12\x27\x41\x29\x7c\xb0\xda\x08\xde\x88\x44\xa9\x16\x95\xc0\x9b\x12\x69\xa1\x31\x28\x5a\x2d\x6b\xb7\x81\x1c\x7d\x3c\x33\xf9\xe7\x10\x9f\xd8\x7f\x0d\x6c\xf9\x76\xc7\x3f\x18\x80\x5e\x0c\xcd\xc1\xc0\x36\x81\x83\xe9\xb2\x16\xe5\xb4\xba\x84\x39\x1d\xcb\xb5\x58\x37\x0b\x5a\x32\xf1\x69\x2e\x95\xf0\x61\x37\x1e\x3c\xc0\x21\x0c\x41\xe5\x8c\x1e\x45\x2d\xf1\x37\x2c\x27\x6f\x85\x8d\x05\x0b\x8f\x8f\x41\x08\x70\xcd\x32\x5c\x94\x40\xd1\x8d\xd5\xc1\x06\xe2\x51\x97\x74\x7d\x4d\xd3\x16\x1e\x45\x34\x16\x2a\xdc\x65\x2d\xec\x4b\xf8\x00\xe9\x7c\x48\x6d\x6f\xb3\xbf\x81\x06\x53\xdd\xab\x53\x0d\xd9\x9e\xdc\x58\x97\xda\x66\xde\xfc\xdb\xaf\x8b\x81\x03\x78\x6b\xfe\x1a\xde\x29\x6c\x72\x88\xc3\x33\xc2\x61\xca\x0b\xf0\x98\x52\x22\x5c\x86\x34\x9b\x05\x86\xb9\x31\x1c\x8a\x63\x3e\x29\xe4\x88\x17\x68\xd8\x87\x08\x6f\xf6\x3b\x0c\xa7\x12\x93\x5c\x69\x41\xa8\x9f\x99\xb9\xaa\x72\x01\x27\x28\x09\xd4\x2c\x78\xfb\x4c\x63\xbf\x0f\x8b\xc2\x0d\xd8\x4e\x2a\x4b\x65\x05\x94\xfc\xf7\x15\x06\x18\x5f\x76\x70\x51\x03\x2b\x8c\x4b\x9e\x17\xa0\x72\x82\x7e\x2a\xc3\xf7\x13\x8a\x66\x6b\x5b\xb0\x7d\x13\x99\xd3\xd2\x07\x81\x4c\x3a\xe5\x65\xae\x66\x49\x6d\xfc\xbf\x4f\x45\xe9\x24\x3c\x57\x92\x59\xcb\xc8\xc0\x15\x2f\x5e\x33\x34\xa9\x41\xa8\x66\xf0\x9d\x49\x55\xa5\xb5\x13\xb6\xf5\xba\x60\x87\x8b\x6d\x80\x8c\xd3\x74\x85\x60\xb4\x1d\x5b\x43\xb5\xc9\x5a\x95\xe8\xa4\x40\x74\x4e\xef\xe2\xc3\x0e\xc5\x43\x36\xb3\x0c\x31\x4e\xc2\x31\xd8\x66\xbe\x63\x2f\x43\x3c\x70\x53\x1e\x74\x9d\x87\x34\x92\x1c\xdb\x07\x0f\xd5\xf5\x5c\x14\x3e\x5a\x93\xe8\x4e\x75\xd9\x38\x2f\x34\xfc\x30\x0b\x1d\x6b\x18\xc5\xd6\xa3\xd8\x5a\x13\x2e\x59\x33\x66\x5b\x5b\xac\x37\xa9\xf5\x07\xde\x4d\x7d\xa5\x86\xc3\xe1\x47\x65\x3f\x7a\x3d\xa2\x02\xa2\xd5\xb1\xb9\xb0\xad\x96\x2f\xad\x86\x6f\x5d\x57\xcf\x66\xa1\xbe\xde\x41\xad\x9d\x5e\xcf\xe1\x10\x01\xa7\x59\x72\x38\x4d\xd5\xad\x5e\x05\x9f\xcf\x5f\x21\x27\xd8\x7a\xb9\x3c\x92\xb2\x38\x9c\xcf\x5b\x4d\x60\xfd\xf8\x1d\x46\xd8\x05\x60\x39\xc4\xe3\x61\x79\x99\x6b\x70\x96\x89\x33\x0c\x14\x90\xdf\x3d\xae\x65\x84\xd4\x3e\x6b\x3d\xb0\x2f\x64\x8d\x9a\x11\xf5\x4c\xc7\x4c\x6c\xa3\x40\xf2\x68\xb5\x43\xa4\x33\x52\x29\x5f\x70\x05\x4c\x32\xe5\x6a\x8a\x7a\xe1\xed\xd6\xa6\x1f\xaa\xd7\x9f\xb0\xaa\x84\xf5\xa3\x06\x6c\xa8\xc0\xfc\x2c\xa5\xd5\x2b\x03\x5d\x39\xc3\x20\x48\x9e\xa1\x9d\x95\x3d\x25\x42\x53\xce\xf5\xf8\xb0\xe6\xe9\xcb\xbd\x72\x9d\x99\x9b\xd0\x9c\xde\x76\xe9\xad\x55\x4c\x53\x47\x7f\x95\x57\xe2\x52\x54\x2c\xd7\x2d\x85\xa7\x81\xe9\x44\xb1\xc4\x53\x69\x29\x17\xad\xa2\x40\xbe\x60\xa1\x1c\x56\xdc\xa5\x4f\xcc\x64\x55\x2b\xda\x60\x33\xaf\x25\x83\xc0\xd4\xf9\x78\x89\xe7\xd6\xbc\x92\x86\x53\x86\xf3\x77\x29\x17\xf5\x3d\x61\xd9\xa5\x4d\x15\x8a\x5e\xde\x05\xda\x8d\x66\xa7\xd1\xfe\x37\x3b\x10\x67\x5d\x56\xee\x30\x49\x56\x40\x01\xeb\x65\xaf\xae\x27\x83\x1b\xff\x14\x72\x32\x0e\x5c\xbc\x83\x4d\x77\x7c\x30\x52\x4c\x25\x7b\x3c\x9e\x8c\x3d\x0e\xc1\xdf\xa2\xac\x55\x0f\x3a\xe7\xaa\xbb\x53\x0e\xc6\x3c\x5e\x54\x60\x8a\x11\x1d\x3c\x2b\x7d\xb6\x5c\xad\xd3\x90\x7c\x5e\x7a\x67\xf8\xf1\x99\xe5\x1d\xce\xd2\x1b\x2f\xb6\x9f\xb0\x53\xb8\x50\x55\xad\xcb\xb5\xa5\x42\xe4\xf9\x8e\x54\xf1\xa2\xaf\x76\xe7\xc6\xf7\xcb\x91\xd5\xce\x51\x8a\x9f\x28\xe7\xfe\xb2\x11\xf6\x0d\xe3\xf3\xdc\x02\xea\x85\x04\x99\xeb\x39\x1d\x63\x56\xe6\x8a\x8b\xd3\x75\x23\x8f\xa5\xfd\x6b\xc4\x60\xe1\x1b\x41\x83\x44\x0c\xff\xee\x25\x17\xc3\xbf\xf5\xd2\xb1\xd6\xfd\xa4\x63\xad\x58\x3a\x86\x7f\x4e\x1c\xef\x22\xb2\xde\x2e\xd5\xb3\xc4\x59\xe4\x29\xd2\xa1\xef\xc3\x87\x8e\x1c\x99\xae\xd6\x8e\x7c\x2f\x52\x39\x47\xf2\x7a\x1b\x0d\xdf\xa9\x98\x40\x74\x1a\x5f\x44\x53\x37\x29\x50\x01\xaf\x6c\xbb\xd3\x34\x7f\x35\x6a\xbf\xdd\x2a\xe5\x4c\x66\xad\x2e\xdb\xa2\xbb\xcc\x09\xc9\x61\x0a\x2d\x51\xb4\x09\x1e\x32\x44\x8e\xde\x21\x72\xa5\xe6\xa2\x28\x44\xc6\xb6\xea\x7e\x06\xb7\x82\x0d\x87\x07\x04\x28\xbc\x4e\xa4\xf6\x7a\xd5\xda\x6c\xdc\x98\xc2\xb3\x55\x70\xa8\xee\x14\x6c\x80\x6f\x3d\x74\xa0\x77\xd7\xc0\x79\x05\x51\x38\x4a\xa4\x12\x5c\xe5\x20\x89\x93\x6c\xe1\x7c\x45\x4b\xee\x7e\x06\xf4\xb4\x3d\x94\xe8\x9f\xed\x27\x9e\x84\x66\x4e\x19\xef\x52\x5e\x88\xff\x5c\x08\xf0\x41\x7a\xe6\x83\xf8\x36\x02\xb2\x27\xc6\x2a\x1c\xdc\x46\x20\x1a\x52\xff\x16\xa0\x6a\x51\x36\x43\xf1\xad\xb0\x01\x75\xfb\x05\xd7\xa2\x8a\x35\xea\x5a\x98\x63\x7e\xcd\x17\x6a\xda\xea\x46\x3d\xeb\x34\xf7\xaa\x7e\x96\xd4\xba\x84\xeb\x18\x48\x0f\x43\x14\x84\x57\x24\xf0\x07\xcc\x94\x06\xaf\xc0\xee\xef\x43\x30\xb9\xfd\x70\xa6\x43\xe5\xd7\x0f\x61\xff\xfa\x51\x6f\xa3\x62\x6e\x5e\xfa\x7e\x8a\xba\xa1\xb9\xb9\xe3\x7e\xf0\xcf\xf1\x40\x73\xf7\xe6\x10\x67\xae\x72\xf3\xdf\xd9\x4d\x56\x2b\x5a\x63\x8c\x28\xbd\x56\x68\x85\x57\xb2\x39\xbf\xca\x22\x43\x34\x2e\x72\xa5\x43\xa3\x04\xff\x58\x11\x7b\xab\x82\x1d\x35\x12\x63\x49\x24\xaf\x55\xff\x72\x77\x5e\xdc\x00\x1a\x01\x45\x56\xe5\xc1\x02\x32\x77\xd6\xf7\xfd\xa9\xff\x8d\xe7\xcd\xa4\x7d\xd3\x39\x7b\xb5\x42\x86\xac\x1f\x5e\x09\x8e\x1d\xe0\xfc\xdc\xb8\xcf\xb8\xf0\x91\xfd\x1e\xa3\xb2\x34\xed\xbd\x46\xb6\xe2\x0a\x1f\x20\x5a\xcd\xb0\x86\x09\xaa\xd1\x20\x37\x8e\x84\x06\xff\xe6\x47\xf6\x51\x6e\x85\xf8\xb0\xec\x34\xd0\x06\xa1\xa6\x19\x18\x86\x85\x4d\xdc\xf1\x47\x7d\x4b\xee\xbb\x26\xa1\x63\x20\x60\xbe\xa8\xc3\x6e\x9e\xbc\xe6\xb8\x4d\xf1\xc4\x4d\xc3\xba\xd9\x42\xfd\xda\x61\xe6\x95\xd4\x5b\xb6\x48\xab\x73\x2f\x8c\xbd\xf7\xca\x92\x28\xea\xff\xe3\x85\x75\x11\x91\x9e\xdf\x77\x3d\xbf\xdd\x1a\xd1\x88\xfd\x12\x39\x69\xdc\x2d\x2b\x44\x65\x6e\x59\x20\x2a\xf1\xad\xd7\x27\xe2\x9c\xff\xf4\xf5\x09\x1e\xc0\xd9\x61\xf4\xb5\xce\x68\xcb\x7b\x7f\xf8\xf7\x57\xc6\xf6\xd4\xad\x0c\x25\xdc\xba\x32\x54\xe6\x96\x95\xa1\x12\xdf\x7a\x65\x40\x76\xf1\xa7\xae\xcb\xf6\x8d\x7d\x79\x39\xa5\xb2\x7e\x53\xa0\x78\xf4\xdf\x9e\x72\x7c\x4f\xae\xd9\xb9\xdc\x36\xdd\x50\xe2\x96\xc9\x86\xfc\x6f\x3d\xd5\x80\x88\xbc\xd4\xff\xc6\x6c\x5b\x10\xf7\x9a\xee\x23\x5b\x18\x46\x73\xef\x59\xfe\x39\xf6\x7d\x84\x20\x78\x25\xd8\x38\xff\x44\x8e\xd9\x96\x6c\x22\x48\x79\x5d\x38\xc2\x06\x7d\x25\xd0\x24\xda\xc8\x5e\xc9\x3d\x57\xd0\x35\xe4\x16\xd1\xa6\xdc\xba\x8e\xb6\xd0\x2d\x4b\x69\x8b\x98\xdf\x64\xbf\xf3\xad\x17\x96\x97\xf9\x8c\xaf\x4e\xe4\x17\xad\xac\x83\x71\xaf\x13\xce\x95\x7e\x4e\xd7\x80\xfd\xf7\x7e\x94\x05\x2f\xbf\x88\xb0\x60\x60\x5e\x9c\x47\x12\xde\x3b\xf1\x28\x2e\xb6\xbd\xfd\xea\xf5\xbb\xe3\xed\xed\xbe\x07\x84\x76\x0c\x4c\x8c\xc7\x10\x16\xbb\x2c\x96\x56\xd1\x68\x7b\xbb\x9c\x1c\x42\x31\xb1\xbd\x1d\x08\x86\x9a\xe8\xe2\x5b\xda\xc4\xa0\x0f\x68\x3e\xec\x66\x77\x2a\xe5\x05\x9e\xfe\xe4\xb3\xb3\x30\x28\x83\xa2\xe9\xab\x3c\x0e\x81\x17\x08\xf3\xa8\x3b\xc9\x03\x84\x24\x98\xfd\x71\xe3\x4e\x40\x70\x79\xef\xa4\xe7\xd8\x86\x73\x4b\xd0\x78\xef\xc7\x6d\x05\x72\x4c\x9b\x44\x94\xb2\xeb\x7d\xbb\xe5\x7f\xef\x92\xb4\xc4\x4b\x79\x91\xe7\xd8\xeb\x5a\xf1\x41\x2d\xae\x2f\x45\x6b\x07\x61\xc5\x4a\x3a\x69\x63\x02\x99\xde\x8f\xd5\x46\xe1\x11\x23\x93\xa5\x68\x00\xc7\x80\x5f\xc4\xd8\x33\xe8\x5b\x14\x94\x06\x9b\xf7\x83\x2d\x0e\x4e\x10\x52\x39\x9b\x17\x42\x63\xd0\xb2\x12\xaa\x66\x10\x1a\xa9\xa9\x4e\x5d\xf2\x95\x1a\x44\x2e\x0a\xdc\x01\xb5\xbe\xae\xe9\x65\xd8\x4f\xac\x7e\x77\x57\x6f\x56\x13\x57\x92\x6a\x09\x37\x9d\x95\x45\xbd\x65\xc9\x6b\x66\x37\x84\x52\xce\xec\xc6\x3d\x3f\xd4\x73\x12\x9b\xd3\xee\x98\xb3\x20\xbb\x1d\x69\x83\x5f\x77\x38\xfe\x0c\xa0\x84\xa7\xac\x9b\xa4\xfa\x31\x5b\xeb\x96\x39\x62\x6d\xcf\xbe\x39\x85\x0f\xcf\x4f\xff\xc6\x01\xfb\x1c\x00\xa0\x45\xc7\x5d\xc7\x2b\x36\xf6\x75\x67\x2b\xd6\xfd\x1a\x9a\xc6\xa0\x00\xd6\x6e\xc0\x80\x38\x23\x44\x80\x5b\xc8\x7d\xa8\x53\x5f\xb4\x18\xd2\x9f\xb9\x66\xfe\xfd\xf0\x6b\xd6\xed\xda\x6a\x0b\x02\xe8\xc0\xbf\x1d\x4a\x56\xe1\xa1\xc8\x92\x3a\x33\x3e\x37\x73\x1f\x3c\x58\x92\x87\x92\x26\x1e\xda\xb9\x37\xb0\xcf\xaf\xca\xb9\x8f\x05\x4a\xc9\x67\x06\xac\x43\x9d\x92\xb9\x9d\xeb\x38\x0a\x3d\x24\xae\xb2\x1f\x5f\x8b\x1d\x7e\x7c\x0d\x18\xb2\x9a\x79\x3f\x2c\x09\x8d\x37\x62\x4c\x59\x85\xf8\x67\x62\x4b\xa0\xbf\xfb\xef\x22\xcb\x33\xe7\x97\x78\x3d\xae\x04\x57\xf5\xb7\x40\x15\x64\x9c\x73\x71\x37\x9e\xb8\x86\xbf\xea\x7c\x89\xa1\xfb\x41\x7c\x3d\x4a\xd5\x4c\x3d\xdd\xd4\xad\x1a\x91\xda\xac\x5b\xd1\xc9\xbf\x7a\xae\x60\x53\xdd\x74\xbf\xe5\xca\xfe\x09\x27\xcf\x38\xaf\x23\xcc\x1d\x88\x14\xed\x64\x7c\x3b\x3c\xfe\x24\xd2\x85\xae\x9b\xf2\xba\xa7\x37\x0c\x77\xc0\x7e\xf3\xda\x84\x8d\x72\x0e\x67\x08\x1e\x3f\x5b\xde\xbd\x54\xce\x8a\xd8\x9b\x11\xb9\xed\x8e\xe6\x66\x20\x6f\x0e\x15\xa2\xe7\xa2\x32\x17\x3a\x7a\xe0\x0e\x7a\x49\x36\x20\x01\xf0\xe7\x4e\xc3\x65\x04\x8a\x8f\xf2\x2a\x56\xcd\xf0\x2a\x21\x35\x47\xbf\x8e\xc0\x70\x2a\x02\x4e\x60\xb8\x5b\x89\x34\x9f\x0b\x66\xd7\x98\xbd\x85\xef\xdb\x0f\x9f\x71\x3e\xb1\xaf\x04\xdf\x16\x09\xaa\xc5\x17\x32\x64\x1e\x03\x62\xf5\x8b\xb5\x98\xc0\xc7\x5a\x04\xfa\x06\xb8\x67\x57\x16\x98\xb1\x10\x45\x22\x0f\xf1\x51\x33\xdf\x1a\x2f\xbc\xda\x94\xc7\x0a\xe7\xa8\xde\x75\x3a\x57\x40\x78\xc7\x2d\x10\xca\x80\x9a\x73\xac\xba\xd5\xb0\x86\xd5\xa2\x0c\x58\x06\x50\x55\xa9\x1b\x63\xb9\x07\x1e\x54\x03\xc6\x32\x07\x71\x11\xab\x1f\x9d\xab\x35\x36\x59\xc1\x53\x97\xf7\x4d\x12\xbe\x73\x33\x87\x50\x3e\xb3\xf1\x45\x91\xda\x8a\x9f\xc1\xe2\x97\xb4\x8d\x06\xfc\xb0\xf4\xe4\xea\x3b\xc2\x6a\x99\x3a\x96\xd6\x0d\x2b\x06\x10\x18\x41\x54\xfa\xe5\x6a\x41\xef\xb7\x28\x7e\xc6\xdb\x68\x9a\x7f\x87\x8c\xe1\x69\x6b\x7b\xd8\xa5\x7e\x74\xa3\xc6\xba\xec\x8f\x85\x58\xd4\xf8\x39\x78\x94\xa6\xf4\x3f\xe8\xf5\x34\x78\xe1\x0b\xd7\xa4\xc6\x8e\xb5\xeb\xab\x0d\xd5\xcf\xc2\x16\xc1\x04\x09\x9e\x2f\xcf\xdb\x67\xab\x9d\x73\x4a\x76\xe7\xcd\x48\x51\x5f\xa8\x00\x3d\x1a\x94\x04\x22\xa3\xba\xce\xc1\x06\x5a\x29\x90\x1e\x63\x9f\x69\x09\xbe\x09\x70\x19\x30\xb8\x63\x5d\x1d\x97\xe2\x14\x93\xe7\xa6\x28\xe2\xa1\x12\x60\xdc\x41\x0f\xb9\xb7\xc4\x7b\x0e\x03\x67\x42\x90\xf9\x38\x9c\xfa\x9a\x48\xf4\x9d\x30\x9a\x10\xb5\x6f\x92\x49\x15\xd8\xe6\x99\x5e\x24\xe0\x9d\xfe\xf5\x18\xc3\xb2\x3d\x19\xb0\x47\x1d\x1f\xa9\xf6\x31\x27\xdf\x45\xa6\xe4\x93\x27\x2d\x87\xdc\x50\xb3\x16\x47\x12\x67\x2e\x8c\xe7\xee\xac\xd0\x03\xff\x15\xc1\xac\xf9\x29\x69\x8a\xb1\x6d\xeb\xb4\x56\x35\x89\x13\x2d\x09\x42\xe0\x0c\x89\xbd\xff\x7c\xf6\x5e\xbd\x3f\x3d\xdf\x7e\xd0\xf3\x7e\x4d\x7c\x74\xcc\xdb\x62\x78\x47\x0d\x04\x39\xeb\x41\x6c\x06\x01\xfc\x6b\xf5\x9b\x16\x7e\xad\xd5\x8b\xd5\x8b\xa5\x3d\x8a\x5b\x14\xd1\xa9\x6b\x70\x05\x2d\xbf\x6d\xc2\x06\x63\x0f\x5e\xc8\x94\x7b\xfa\xc7\x14\x7a\x70\x14\xd3\x44\x50\x6e\xaa\x67\xc5\x61\x99\x4e\x65\xe5\xc8\x58\x53\x16\xfc\x5e\xdd\x91\x62\x0e\xf9\x28\x01\x2f\x90\x38\x09\xdc\xa8\xc6\x49\x7a\x59\x88\x28\x05\x7d\xc6\x45\x49\xe5\xe4\xe7\xbc\xcc\x1a\x92\x7e\xd5\xb3\xa2\x21\xf9\x9d\x98\xcd\x0b\xae\x45\x2d\xeb\xa8\xe0\x4a\x35\xa5\x1d\x5f\x8a\x7a\x83\x90\xfe\x3a\xab\x37\x7a\xa4\xe6\x2b\x05\x25\xbf\xa8\xa7\x39\xe6\xa5\x96\xf1\xbc\x3e\x49\xe5\xe4\xd7\x3c\xab\xf7\xf3\x64\x5c\x4f\xc0\x58\x11\xcd\xa9\xcf\xf3\xa2\x38\x42\x87\xf3\x2b\x05\xf2\x7a\xd2\x2b\x59\x9a\x09\xe2\xa3\xa2\x0e\xed\x4d\xb1\xa8\x00\x01\x6b\xe9\x6f\xc5\x5c\xf0\x3a\x98\xd3\xa9\xbc\xaa\x27\xad\x2c\x64\x39\x39\xbd\xca\x75\x3a\x6d\x4c\xfc\x7d\xba\x32\xe5\x54\x1a\x1d\x2c\xd4\xf2\x50\x93\xae\xbe\x78\xef\x2a\x5e\xaa\xa6\xa9\x79\x29\x33\x51\x47\x8c\x17\xb9\xaa\x43\x3d\x9a\xf2\x72\x12\xd7\x9d\x73\xad\x45\x55\xde\x99\x66\x0d\x80\xef\x4e\x9c\xe5\x25\x5a\x3c\xdd\x27\x95\x7f\xba\x77\x6a\x39\x81\x88\xb0\x4d\x23\x6f\x9e\x2d\xe7\x0b\xf8\xb0\xc8\xb9\xcf\x54\x98\x6b\xf6\x80\x0e\x13\xcd\x19\x81\x67\xc1\x69\x6a\x90\x39\x3a\x3c\x0e\x63\xe9\x1b\xa4\xfd\x8c\xde\x5f\xe3\x43\x86\xa7\x53\xcb\x6c\xd6\x4e\x9f\x3a\x7f\x0f\xc9\xcf\xc8\x59\x5f\x94\x78\x6c\x83\x86\x93\x0d\x7d\x94\xf9\x3c\x12\x29\x41\xd2\x89\x8f\xa8\xb0\x9a\x7e\xc9\xe3\x91\xfc\xaa\xf5\x7c\x25\xe1\x67\x9e\x5e\x88\x32\x8b\xd2\x5f\xd4\x34\x90\x29\x71\x12\x7d\x43\x40\xee\x28\xe5\xad\x75\xaa\x16\xa5\xfe\x67\xf4\x55\xff\x3c\x25\xb7\x82\xbf\x55\x79\x94\x71\x9a\x8a\xfa\xf7\x33\x51\x88\x49\x7d\xa0\xa7\x65\x3e\x1e\xd7\x26\xc5\x9e\x89\xb0\x22\x8d\x39\x6f\xc5\x1f\x0b\xa1\xe2\xa9\x7f\x10\x78\xcd\x89\x2b\xe5\x33\x21\x17\xb5\xc2\x6f\x0f\x9f\xc7\x09\x87\x6a\x59\xa6\x47\xbc\x28\x46\x3c\xbd\x88\xb2\x7e\x07\xc3\x9c\xb8\x34\x9a\xdc\xd9\xb4\x0d\x43\x18\xd5\xcc\xa7\x02\x03\xcc\x88\xeb\xa2\x1b\xef\x6e\x8f\x4b\x87\x4e\x14\x83\xef\x30\x68\xa2\xa9\x22\xaf\x57\xc8\x94\x86\xba\x52\x3e\xce\x17\x35\x14\x5b\xf5\x4d\x51\xb3\x10\x63\xa9\x59\x47\xa6\xde\x32\xcf\x3a\x30\xdd\x65\xc3\xf1\xa2\x28\x86\xec\xff\xf9\xff\xfd\xff\xd9\xd0\x52\xeb\xf8\xf9\x7c\x51\x14\x16\x38\xb3\x16\x3b\xd6\xd4\x68\xeb\x51\xf2\xd7\x64\xef\xa7\xad\x84\xa0\xcc\xf8\x47\x59\x59\x30\xe5\x62\x36\x12\x15\x81\x79\x69\x72\x1c\x1c\xcc\x0a\xe1\x78\x10\x79\xb9\x0e\x84\xc9\x59\x0f\xe2\xaf\x0e\x44\x26\x75\x23\x80\x67\x52\xaf\xaf\x1e\x8c\x22\x95\x99\x78\xc5\x67\xa2\x71\x3e\x8e\x20\x12\x59\xa0\xb8\x55\x89\x42\x70\x25\x02\x50\x1f\xf3\xc9\xa4\xc8\xcb\xc9\x2e\xaf\x66\x63\xae\xb7\xd0\xb2\x0d\x22\xaf\x53\xeb\xa8\x5b\x68\xe6\xbc\xcf\x5a\x7b\xc9\xf7\xc9\x4f\xad\x2e\x23\x9f\x2a\x45\xe1\x43\x0f\x02\x2d\x38\x05\xd7\x39\x34\xf7\xca\xe9\x67\x10\xa5\x08\x5e\x75\x27\xd5\xa2\xd4\x2d\x05\x27\xf2\x47\x59\xf5\xd9\x9e\x05\x37\xe7\xe9\x05\x9f\x08\xa6\xb9\xba\xc0\xc3\xdd\x64\x7f\xdf\x05\x13\x56\xdd\x67\x3f\x75\xc1\x79\x2a\x0e\xb8\x0f\xba\x48\xf3\xa9\xd0\x79\xba\x5b\xf2\xea\x6a\xca\x8b\xd6\x86\x61\x31\x83\x30\xfb\x8b\x51\x91\xab\xe9\xf1\x27\x73\xf1\xf0\xe2\xf0\xcd\x89\xb5\x54\x42\xba\x91\xbc\xec\x38\x93\x30\xa4\x25\x5b\x4e\x8d\xbf\xd5\xf7\xa6\x67\xa8\xf9\xd8\x4a\xe5\x7c\xd9\xea\x33\xf3\x0f\xa5\x20\x90\x56\x9f\xa0\xd9\xd4\x3f\x16\xbc\x50\x26\x15\x7e\xd8\x54\xf2\x04\xd9\x27\xc3\x58\x4a\x26\x8f\x79\xad\xbe\xf5\x9d\x47\xe9\x4e\x89\xb4\x5f\x73\x4b\x49\xf9\xa5\x94\xa6\x8f\xe6\x1f\x4a\x19\xe5\xd0\x15\xf3\x0f\xa5\x20\x9b\xd2\xea\x13\xbf\x62\x5b\xac\xe4\x8c\xd2\xed\x4f\xdb\x66\x26\x4a\x9d\x6b\x33\x48\xfb\xd3\xe6\xa8\xdf\x1c\x75\xde\x67\xc1\x97\xcb\x7f\x16\xe4\x3e\xab\xe5\x21\xd7\x00\x59\xf8\xd3\xe5\x58\xa1\x0d\xe4\xd9\x0f\x97\x4b\x6e\x2f\x4c\x1e\xfe\x74\x39\xaf\x60\x5b\x40\x0e\xfe\x74\x39\xc7\x6e\x9a\xdd\x6f\x97\x07\xda\xbe\x90\x03\xbf\x28\x9d\x90\xbd\xd5\xb7\x68\xef\xc7\xc4\xb5\xc0\x01\x71\xb7\x5e\x85\xbc\x12\x55\xca\x95\xc9\x70\xbf\x29\x6f\x31\x9f\xbb\x3c\xf7\xdb\x22\x0f\x9d\xe1\x06\x2f\x3e\xa7\x72\x51\xc2\xe3\xce\xa3\x1b\xca\xae\xb9\x57\xeb\xd7\xfc\xad\x51\x29\x6b\xe5\xd8\xea\x93\x91\xa3\x4b\x4f\x95\xc1\x86\x54\x59\x64\x68\xf0\xe5\xd7\xea\x37\x79\xf8\xdb\x70\x7e\x97\x22\x5e\x08\x3c\xab\xad\x31\x6c\x35\x5c\x95\xae\x96\x36\xc4\x6e\x58\xad\xdd\x2a\x27\xc8\x29\x59\x46\x30\x05\x7f\x4a\x6d\x27\xaf\x58\x57\x1c\xa3\xd3\x39\x55\x45\xb4\x89\x82\xf4\x1a\xeb\xd5\xa9\xbb\xd3\xf1\xa0\x20\xea\x8e\x83\x78\x0e\x31\x78\x9c\x32\xc9\x46\x24\x6f\x01\x3a\xcf\x54\x5b\xf5\xb8\xdb\xeb\xb1\x07\x0f\xd4\x2a\x01\x11\x89\x6a\x49\x6d\xa6\x2e\x17\x37\xe7\x6a\xae\x9d\xb9\xdc\x68\xc9\x72\xa7\x21\xb5\xaa\x8f\x19\xb8\xb8\x0d\x1b\xec\x37\x13\x30\x35\x09\x49\x13\xc0\xd0\xc7\x6c\x9d\x3d\x0d\xc2\x43\xfb\xb7\x80\x58\xf4\xc3\xfb\xeb\xf8\xd7\x40\xd2\x64\xf8\xd6\x7e\x03\xfb\xea\xff\xb4\xf8\xa4\x79\x25\xf8\xed\xa5\x0c\xb9\xd0\x5f\x65\x7a\xfd\x1f\x92\x1d\xfd\x26\x36\x38\x28\x04\x0c\x71\xbf\x89\x31\x0e\x0a\x19\xce\xaa\xdf\xc0\x29\xfb\x3f\xe4\x99\xfb\x4d\xbc\xb3\xff\x43\xde\xb8\xdf\xc4\x4d\xd7\x0b\x19\xbe\xba\xbf\x8e\xc7\xae\x17\xb6\xf4\x63\xff\x36\xee\x3b\xac\x04\xbc\x75\xbf\x91\x21\x5f\x29\x66\xd8\x92\xfe\x5a\x3e\x7d\xa5\xf8\xeb\x2c\xeb\xaf\xe3\xde\xe3\xc2\x92\x5f\xf4\x1b\xd9\xf7\xa8\x58\xf0\x3e\xb9\x96\xad\x0f\x2b\x3c\x07\xb4\x68\x60\xf4\xc3\x42\x86\xe5\xef\x37\xb1\xfe\x61\xa1\x93\x71\x7f\x55\x14\x10\x15\x40\xf6\xbf\xbf\x46\x3e\x10\x17\xcd\x75\xbf\x49\x20\x10\x16\x0a\x44\x03\xfd\x5b\x24\x05\x61\x15\x27\x33\xe8\xaf\x15\x20\x84\xc5\x51\x94\xd0\x6f\x16\x2a\x84\x05\x4f\xa7\xf2\xaa\xdf\x24\x66\x88\x0a\xe1\xb6\x68\x92\x3c\x44\xc5\x40\xaa\xd0\x6f\x96\x46\xac\x16\xfc\x7d\x8a\xf8\xb6\x46\x4a\xb1\x5a\x81\xe4\x15\xfd\x5b\x05\x18\x61\x35\x62\xce\xfb\x6b\xa4\x1a\x61\x51\x2f\xdf\xe8\xaf\x97\x76\x84\x15\x80\xfb\xef\x37\x0a\x40\xc2\x62\x2f\x72\x05\x1d\x5e\x11\x89\x84\x85\x50\x38\xd2\x6f\x16\x93\xf8\x3f\x12\x8e\xf4\x1b\xa5\x24\x11\xb2\xdc\xaf\xa0\x95\xa1\xf4\x9b\xa5\x29\x31\x3e\xdd\xb3\xa8\x13\xb6\xf4\xd7\xc8\x5d\xa2\x39\xbc\x7f\x61\x27\x98\xe9\xaf\x91\xd1\x44\x70\xbf\xa4\xf0\x3f\x50\x49\xb8\x49\xc6\xb3\xb2\xde\x01\x42\x35\x4a\x7f\xfc\x2b\xc5\x9d\x97\x68\xd3\xa9\xd2\x24\x5f\xbc\x03\xe4\x7a\x59\xd3\x9a\xe2\x35\xe1\xd3\x2d\x34\x42\x40\x74\xf0\x40\x38\xd5\x5f\x2f\xab\x72\xa5\x41\x62\xd5\x6f\x94\x5d\x51\x19\x8a\x5f\xd4\x6f\x94\x65\x51\x99\x34\x90\x68\xf5\xd7\x0b\xb8\x6c\xe9\xe0\x02\x59\x23\xf3\xa2\x92\x36\x4c\x45\xbf\x59\x08\x46\xa5\x44\x4d\x14\xd6\xbf\x5d\x3a\x46\xb5\xac\x32\x56\x83\xb0\x8c\x4a\x04\x41\x48\xfb\x6b\x05\x68\x61\xd9\x4b\x5e\xf4\x9b\x25\x6a\x54\x0a\xbc\x00\xad\x8a\xd7\x82\x5c\x12\xb2\xf5\xd7\x8a\xdc\xa8\xac\x35\xfd\xef\x37\xcb\xe0\x5c\xa9\x49\x7f\x45\x1e\x67\xb1\x88\x57\xca\x8c\x6b\x45\x3a\x47\xf9\x2e\xf0\x41\x7f\x8d\xbc\x8e\xca\xfd\xd1\xaf\x49\xee\x28\x1d\x32\x1a\x73\x54\x6a\x60\xd6\xe4\x76\x3e\xcf\x4a\xef\xfa\x6b\x65\x79\xb6\x2c\x4a\xf4\xfa\x8d\xb2\x3d\x2a\xa3\x43\x09\x5f\xff\x16\x89\x5f\xad\x3c\xc9\xfd\xfa\xb7\x4a\x02\xed\x48\x03\xcf\xd8\xfd\xf5\xe2\x41\xdb\x02\x0a\x09\xfb\x8d\xe2\x42\x2a\x83\x5c\x59\xbf\x49\x22\x68\xdb\xac\x0e\x9f\xf7\x57\xa5\x8b\x36\x97\x87\x32\xc6\xfe\x6d\x42\x47\x5b\x03\x25\x18\xfd\x55\x89\x23\x16\xb8\x09\x9e\x26\xcf\x3b\xb5\x27\xb7\x9a\x1f\x60\xff\xe8\xc6\xb3\x0c\x4e\x31\x73\xa7\x8a\x52\x54\xcf\x4b\x9f\x87\xae\x02\xd7\x66\xff\xfc\xfa\xf5\x8b\xe3\xc3\x57\x1f\x0e\xdf\xbd\x7b\xeb\x53\x0f\x5f\x9c\x1c\x9e\x1e\x3f\x8b\x52\xb7\x7b\x1b\x1b\xbd\x3b\xff\x36\x7a\x3d\xec\xe6\x7d\xca\xde\x3b\x18\x81\x8b\x44\xb9\x22\x63\xbd\xc8\xcb\x2c\xac\xd8\x24\x78\xfd\xbd\xe2\x73\x88\x43\xc5\xaf\x22\x37\xf4\xb2\x62\xbf\xbe\x7b\xf9\xc2\x86\xcd\x81\x58\x55\x67\xe8\x3f\xf7\xbc\x6d\x3d\x89\xfd\x81\xce\x85\xe5\xac\x13\xba\xba\x07\x77\x58\x63\xe7\xca\x5b\x79\x63\xf4\xae\x77\x01\xe3\x82\x6c\xe6\xa8\x8c\x6f\xae\x23\xeb\x77\xc1\x00\xa8\xb7\xc5\xe7\x79\xe2\xdb\xeb\x61\x6e\xaf\xe3\xd5\x27\xe3\x26\x23\x1b\xf8\x86\x66\x4d\x13\x19\x6d\x6b\x60\xbe\x49\x94\xdc\x52\x6c\xb4\xc8\x0b\xbd\x9b\x97\x18\x12\x0f\x6c\x79\x11\x6e\x17\x82\x29\x88\x8c\x6d\x51\x3b\x45\xae\xc5\x96\x99\xa9\x2d\xc4\xd7\x64\xcb\x86\x8f\xcb\xf2\x4b\x96\x1a\x5e\x67\xb0\xc5\x0b\x51\x69\x06\xff\xdf\x55\x0b\xf0\x6d\xb9\xf5\x84\x9c\x12\x82\xd7\x1d\x9d\x97\xcb\x2e\x3b\x7c\x73\xb2\x6b\xb8\x6c\xae\xc1\xf3\x65\xbd\x6d\x14\x8b\x43\x70\x40\x15\x46\x1e\xc4\x98\x8b\xf9\x7c\x51\x58\x6f\x80\x66\x11\xf3\x92\x71\x96\x56\x52\xa9\x5d\x1f\xfa\xcf\xc1\xbe\xe2\xcb\x84\x6d\x6f\x63\x1f\xb6\xb7\x59\x3e\x9b\xe3\xac\x28\xb4\xb8\x40\x7b\x5c\x74\xc9\x9a\xca\xd9\x0c\x12\x4b\x21\x32\x91\xc5\xfe\xd7\xbd\xbb\x8a\x89\xe4\x20\xb7\x25\x57\x79\x9c\x5d\x9a\x3e\xab\x19\x2f\x0a\x36\x96\x52\xcf\xab\xbc\xd4\x49\x14\x62\xef\x9d\x04\x4b\x08\x3b\xb5\xe0\xda\x64\x69\xfd\x0c\x58\x41\xc8\xf0\xd9\xeb\x97\x44\xe3\x80\xb0\x28\x1b\x92\x6f\xec\xb1\xa1\x2a\x93\x75\xd3\xbd\xf5\x64\x7b\xfb\x95\xd4\xa2\xbf\xbd\x0d\x12\x65\x8b\xd4\xce\x13\x18\xb8\x68\xb4\x73\xc8\x2b\xc1\x78\x71\xc5\x97\x8a\x5d\x85\x01\x9d\x68\xe6\x31\x56\x22\xb9\x54\xf6\xbe\x1b\x4b\x70\x03\x63\xb7\x8d\x87\x1c\x8f\xf2\xbb\xef\x02\xcc\x42\x18\x1e\x9a\x55\x1a\x0a\xe6\xdd\xbf\x53\x50\xeb\x64\x33\xe5\xdf\x2a\xce\x86\x3c\xcb\x80\x8f\x6e\x77\x86\xeb\xb6\x87\x2d\xd2\xeb\xb8\x4a\x63\xd0\xf9\x5d\x5f\xc3\xe4\x07\xc5\xe7\x73\x51\x66\xb7\x95\x87\x02\x41\x05\xad\x6f\x05\xaf\x75\xd5\xeb\xb0\x5d\xf6\xcc\x86\xcb\x27\x5f\xfb\x0e\xa3\xc0\x0f\x04\xa8\x43\x09\x0d\x2e\x86\x10\x2e\x38\x1e\x5d\x0f\xd7\x64\x37\xc3\x05\xcd\xdc\x39\x27\x6d\x45\x0c\x13\xab\xcc\x66\x05\x04\x42\xef\xf0\xd8\x44\x3a\xcd\x8b\xac\x12\xe5\x2d\xcd\xd8\x22\xcd\x4d\x39\xf0\x0e\x62\x01\x66\x2b\xeb\xc1\x99\x7c\x3f\x77\x14\x96\xfe\xb6\x05\xb5\x45\x82\x4a\xb7\x22\x40\x6a\xd6\x9e\xed\xb2\xd7\x25\xc4\x2b\x40\xb7\x39\x06\xeb\x8b\xbc\x14\xbb\x20\xb2\x52\x5d\x96\xd9\x91\x40\x94\x98\xe1\x44\xe8\x23\x39\x9b\x2f\xb4\xc8\x80\x77\x6f\x77\x86\xb6\x35\x70\xc3\xbe\xbe\x39\x93\xed\xbb\x96\x09\xcd\xd3\xe9\x6d\xc5\xa1\x80\xaf\x00\x11\xda\x6e\x29\x0f\xf9\x41\xf1\x3f\x6e\x2b\xfb\x87\x2f\x38\xbe\x1d\x79\xc6\x16\x79\x5e\xe4\x33\xf0\xda\x09\x8e\x4e\xe4\xc5\x62\xae\x20\x58\x23\x9f\x90\xe1\x1d\x42\x9b\x72\x75\xd7\xbe\xb3\x45\x7c\x17\xa6\x7a\x56\xdc\x56\x41\xcf\x0a\x5f\xb8\x14\x9f\xf4\x2d\x85\x4d\xf6\x3d\x31\x50\xde\x86\xcd\x72\x0d\x1e\xdf\x7f\xcb\x40\xb8\x8c\xf5\xf0\xc7\xe3\xbb\x1a\x60\xa0\x18\xbd\xd2\xe9\xdb\x36\x0d\x6c\x99\xaf\x80\x3a\xe7\x95\x28\x6f\x9b\x56\x2c\x70\xcf\x89\x9d\x57\xe2\x8e\x93\x91\x4a\xf8\x55\x9d\x57\x72\x7e\x6b\x79\x39\xf7\x85\x41\x43\xef\x96\xd2\x90\x1f\x16\xc7\x98\x14\xb7\x94\x37\x05\xea\x15\x0e\x6f\x3f\xad\x7d\xa1\x7a\xc5\xbb\x36\x40\x50\xaa\x5e\xf5\xd9\xed\x47\x88\x2f\x14\x56\x84\x47\xde\xdf\x73\x7d\xdb\x69\x12\x94\xf2\x55\xf5\xed\x5b\x49\xc3\x56\x72\x85\xe5\x64\x52\xdc\x39\xb6\xa0\x54\x50\x35\x8e\x22\x71\x4b\xed\xa8\x20\x60\xdb\x1b\xae\x14\xb8\x2a\xce\x16\xb3\x99\x8b\xfa\x41\x6a\x10\x92\x4d\xb1\xa8\x4a\x6c\x5b\x8b\xf2\x8e\xdb\x10\x0b\xdc\xb5\x4b\x2c\xb8\x4b\x7e\xdb\xc9\x74\xc9\x83\x83\xe9\x0a\x02\xa5\xad\x2d\x6b\xb2\xa1\x30\x91\x3c\x44\x9d\x13\x95\x73\xfc\x49\x57\x3c\xa2\x5a\x79\xa1\xa4\x27\x7e\x62\xba\x87\x67\x59\x4e\xde\xd9\x88\xf6\x01\xf3\x1a\x8a\xf1\x01\x11\xbc\x3d\x6d\x66\x72\x88\x6b\x74\xad\x7f\xc7\x80\xa1\xa3\x61\x0e\x6d\x58\x8f\x21\xdb\x0d\xf4\x45\x40\x56\x92\x8a\xb9\x56\x40\x20\x22\x0c\xe2\x2a\x5a\x0a\x48\x3a\xa8\x47\xce\x59\xf8\x3c\xc7\x6e\x8c\xc1\x5b\x18\x28\xda\x43\x8f\x28\x50\x2e\x85\x6a\x31\xd5\x30\xbc\x8c\xf5\x57\x07\xae\xe8\x13\x86\x6a\x29\x64\x5d\xec\x5c\x5e\x16\x82\x97\x18\x23\x7d\xe9\xfd\x9b\xc2\x4b\x3b\xa8\x3a\x50\x10\xe3\x67\xaf\x5f\x52\x2b\x96\x8c\x25\xe2\x18\x5f\x04\x6d\x1b\xc1\xf8\x51\xbf\x5a\x39\x7d\x0e\x17\x6c\x1a\xfc\x69\x99\x89\xf0\x14\x81\x0d\xad\x40\x96\x69\xa4\xd5\x61\x15\x6c\x02\x6e\x30\xd7\x40\x9e\x19\x1e\x8f\xfd\xbc\xb4\xf1\x96\x36\xac\x05\x31\x81\x0b\x40\x71\xa5\x64\x0a\xfe\x33\x3c\x9f\x30\x0c\x1f\x6b\x86\x5e\xd4\x08\xdc\xdb\xb0\x04\xad\x13\xf4\x6c\x68\x50\x23\x63\x88\x36\x8c\xa5\x7c\x26\x8a\x23\xae\x84\xaf\x42\x66\x5c\xce\x57\x60\xd0\xb2\x8b\xd3\xeb\x0b\x7b\xb5\x11\xeb\x41\xb0\x2d\x92\x09\xc5\x5c\x1e\xb6\x48\x42\xdb\x1a\x76\xac\x16\x8c\x8f\x81\xb6\x3a\x5f\xce\x4e\xe2\x5e\xb3\x45\x00\x21\x9c\x52\x13\xb4\xc0\xf0\xca\xc9\xbb\x12\x74\xcb\x0f\x75\x6e\x6a\xcd\x60\x9f\xd7\xac\xcc\x5b\xeb\xd0\x2e\x8a\xab\x3f\xaf\x64\x86\x98\xfc\x1d\x86\x67\xce\xcb\xc9\x2e\x04\xf0\xdb\x35\x94\x1b\x83\x67\x7b\x66\xce\xde\x1b\x17\x76\x79\x24\x98\xc0\xc8\x7e\x6e\x4a\x82\x28\x4f\xf5\x81\xf0\xd2\x86\x88\xba\xc7\x78\xf2\x31\xb8\xc3\x35\x5b\x4a\x1b\x42\x50\x58\x23\xf9\x62\x49\x48\x4f\xab\x1e\xcf\x2b\x29\x77\x61\x38\x87\xc0\x92\x65\x11\x38\xd9\xb5\x65\x55\xa4\x47\x66\x8e\x58\x8f\x0a\x68\x08\xa3\x79\xa5\xad\x9b\x78\xea\x3a\xb6\x8a\xc1\x4e\xd9\x11\x2f\xcc\x34\x05\x0b\x27\x4b\xda\xf8\x36\x8e\x1d\xf2\x8c\x55\x10\x38\xda\xb9\xe2\x2f\x65\xb9\x6b\x27\x04\x01\x22\xf0\x6f\xb1\x3e\x4d\x4b\x13\x46\xbd\xc2\xb5\x51\xe8\xb3\x92\x59\xd2\xbd\x0b\x81\xc9\xae\x78\x71\xa1\xcc\x99\x63\x45\x05\x8b\x52\xe7\x05\x7a\x5c\x5c\xc0\x92\x60\xbc\x3e\x72\x80\xa9\xe5\x1c\xfb\x8d\xf8\xe5\x86\x0e\xe7\x0e\xac\x5c\x52\x8b\x09\x4f\xa6\x97\x4d\x51\x0e\x43\x79\x92\xac\x98\x2f\x42\x63\xb2\xcc\x37\x84\x6f\xa7\xf8\x4f\xcd\xb1\x42\x2c\x67\x6e\x5d\xc5\x6c\xf7\x36\x36\x50\xb2\x96\x88\x4f\x73\x5e\x66\x92\x0d\x58\xab\x9c\x7c\xff\xfd\x5f\x5b\x07\xe8\x7b\xfe\xe3\x1f\x20\x6e\x75\xd1\x93\x92\x94\x3e\x3f\x93\xae\xcc\xc7\x3f\x4e\x32\x36\x60\x7b\xf8\xb5\x2a\x35\xac\x47\xce\x02\x17\x08\x7a\x39\x17\x5d\x36\x0e\xec\x8d\x2c\xae\xd6\x01\xb4\x6d\xd1\x2e\x06\x83\xb2\xb2\xcc\x2e\x19\x1b\x34\x08\x22\xbf\xb0\xc5\x06\x18\xeb\x1a\x05\xf7\xf7\x66\x6a\x37\x37\x37\x5d\xd4\x75\x73\x17\x95\xf6\xb5\x43\x64\x6c\x6b\x8e\x1e\xff\xb6\xbc\x7a\xcb\xe6\xe6\x26\x4c\x36\x4d\x21\x04\xe7\x8a\xbc\x85\x4a\xab\xf1\xd2\xeb\xd9\x1b\x3a\xde\x24\xde\xe4\x16\x5c\x36\x98\x25\x98\xe5\x4a\x6d\x44\xb6\x5e\xb8\x36\x10\x6e\xe2\x0c\xbe\x69\x51\xcf\xc1\xdf\xfc\xe7\x9b\x03\x50\xca\x73\xbd\xfa\xf8\xc7\x2b\xf1\x49\x9f\x64\xed\x0e\xfb\x6c\xc1\xec\xec\x98\xf5\x3c\x60\x37\x1b\x14\x22\xf2\xcd\xf1\xd1\xc9\xe1\x8b\x0f\x47\xbf\x1e\xbe\x3d\x0d\xa2\x44\xb6\xcf\xde\xf7\xdf\xef\xbe\xff\x70\xbe\xd3\x4e\x3a\x9d\xde\x04\xc3\x07\xbc\x7c\xfd\xdf\x1f\x7e\x3d\x3c\xfa\x8f\xa0\xe0\xbf\x66\xf2\x7f\xda\x10\x53\xb2\xd3\xb3\x85\x7e\x3b\x3d\xfe\x70\xfc\x8f\xe3\x57\xef\x3e\xbc\x3c\x7c\x33\x60\x9f\xd9\x4c\x2e\x0c\xc3\xc0\x2f\x45\x9f\x6d\xc1\x87\x5c\xe8\xad\x2e\xa6\x0b\xd4\xcd\xa2\xf4\x4b\x51\x6d\xdd\x1c\x10\x6a\x9a\xd9\x5c\x71\xcf\x8f\xc9\xe0\xa2\xdf\xc6\xb6\x90\xe5\xa5\x30\xa7\x96\x8f\x64\x89\xae\x2b\xe8\x72\x84\xdd\x72\x58\x40\xd0\x6d\x51\xc1\x6e\x06\xa7\x9b\xbc\x60\x50\xd6\xdc\x8b\x2f\xe5\xff\xb0\x39\xb8\x67\xf6\x81\x7e\xe0\x7a\x06\xcd\x32\x2c\x47\x51\x28\x83\x6d\x0d\x02\xe7\x57\x14\xae\xa9\x94\xd5\x0c\x14\x0a\x6a\x01\x21\x6c\x37\x90\xcc\x08\x83\x42\x78\x07\x0b\x2e\x6e\x66\xc3\x7a\x04\xf6\x51\x1f\x82\xe0\x9c\x5d\x66\x03\x69\xca\xf1\x58\x89\xc0\x99\x87\xb5\xbf\x81\x64\xf6\xd4\x47\xcf\xfc\xcd\x8c\x05\xa3\x67\xb2\x3e\x25\xdb\x00\xc0\x71\x3f\x6a\x2b\xdd\x65\xad\x97\xf2\x7f\x1e\xec\x85\xc1\x45\x4f\x5e\xfd\xf2\xe2\xf8\xc3\xbb\xc3\x5f\x42\x6c\x78\xdc\x7e\x7f\xb5\xd3\x79\xaf\xb6\xdf\xf7\x9e\x3e\x69\x3f\xed\x3f\x7e\xdf\x7b\xbf\xf7\xe4\xba\xf3\x80\x90\xc3\x9c\x75\x41\xf9\xc7\xd7\x0f\xbf\x7b\xfa\xfe\x6a\xe7\x80\xb2\x0d\xb4\x57\x87\x2f\xc3\x78\xa5\x8f\xdb\x67\xef\xaf\xfa\xe7\x3b\x16\xbd\xfe\x0b\x40\xc4\xcd\x3e\x6e\x3f\xdd\xe4\x95\xe0\xd7\xa3\xea\x3a\x95\xc5\xb5\x98\x8d\x44\x76\x3d\xad\xae\xf3\xd9\xe4\x1a\xb4\xa2\xae\xcd\xad\x72\x3d\x13\x9a\x5f\xc3\xca\x75\xda\x16\xec\xd9\xbf\x9e\x9c\x6f\x77\xde\xf7\x9e\xf4\x26\x39\x9d\x89\xe6\xc0\x7d\x09\xd1\x97\xcd\x8c\xb6\x50\x49\xa9\xd5\x67\x67\x7b\x5d\xd6\x7a\x8c\xac\x2f\x9b\x2d\x0a\x9d\xcf\x0b\x31\xd8\xb2\xbf\xb6\x9e\xb4\x4c\x7e\x0f\x0b\x3c\x69\x9d\x83\x4d\x42\x4b\x4f\x05\xcf\x5c\x6d\x6d\xee\x27\x2a\x48\xbf\xcf\xcd\x59\xd7\x4a\x65\x61\x0a\xed\xfb\x42\x8f\x53\x59\x4c\x2a\xb9\x98\x53\x71\xf7\x59\xab\xa9\xab\x7a\x45\x3d\x92\xd9\xd2\x36\x02\xbf\xeb\x55\xa0\x43\xdf\xaf\x54\x79\xac\x2b\x5b\xad\x7a\xb2\xa6\xee\x07\x22\x71\x0d\x84\x47\x5d\xb6\xb5\x65\xfe\x3b\x87\xa3\x87\x26\x2e\x91\x73\x0d\x3d\x65\x03\x16\x24\xe5\xb2\x3c\x70\x45\x00\x74\x90\xaf\xc7\x52\xea\xe0\xdb\x0e\x36\x4c\xe2\x00\x23\xac\x64\xa6\x36\x80\x39\x0d\xf3\xb2\x48\x41\x19\x4f\x8d\x13\xf5\x4e\x7c\xd2\xaf\x64\x26\xda\x53\x3d\x2b\xa2\xcd\xb8\x19\xe0\x26\xc6\x00\x87\x22\xb1\x69\x1f\x82\x39\x84\x60\x77\x0a\x88\x8a\xf0\x6c\x07\x2f\xe2\x14\x5c\x9c\x8e\x73\xc3\xdb\x60\x6c\x3c\x06\xb7\xc2\x68\x81\xfa\xf7\xa5\x04\x8e\xe8\x1d\xc4\x57\x31\x55\x5f\xbb\x10\x46\x57\x02\x04\xe9\xe8\xe5\xc9\x1c\x8e\x42\x69\x8c\xfc\xef\x88\xb8\xf6\x5e\x07\x7d\x28\xd1\xb5\xa4\x58\xfb\xaf\x9d\x20\xb6\x11\xb8\xd1\xb4\xe1\x87\xe8\x3b\x0c\xd5\xeb\x8a\x0c\x06\x0d\xd1\x67\xae\xaf\xd9\xa6\x2b\x72\x7d\xbd\xae\xb8\x0d\x21\xd3\x34\x43\x3f\x2f\xf2\x22\x7b\x5e\xf1\x09\x44\x51\x36\x13\x59\xf3\x96\x6d\x7a\xaa\x67\xf3\x2e\xd3\x7c\xd2\x85\x45\xb3\x2f\x9e\x63\xaa\xc5\x06\xb6\x06\x45\xcd\xb1\x6a\x06\x0e\x6c\xc7\x56\x29\x6d\x24\xa6\xf3\x2e\xcb\x5d\x68\xde\xe6\x25\x77\x91\x47\x7a\xf6\xde\x00\xa2\xd4\xe4\x21\x85\xc5\x41\xa3\x12\x60\x6e\x38\xe0\x68\x06\x1a\xf7\xa7\x06\x77\x25\x2e\x65\xd0\x82\x87\xee\x58\x61\x28\xa2\x67\x06\xc1\xcd\xff\xaf\xaf\xdd\xc0\x13\x7c\x43\x38\x9a\xe6\x45\x56\x6b\x92\x08\xc3\xf6\x56\x96\x5f\x52\x28\x47\x06\xf2\xd8\x01\x6b\xd7\xce\xce\x44\x7c\x12\x29\x61\xf9\xf5\x35\x3b\xa3\x7d\xda\x39\xdb\x3b\x5f\x8d\xa3\xcc\x60\x05\xfc\xee\x39\xd3\x7c\x02\x44\x85\xdd\x4d\x76\xd3\x1f\xd8\x6e\x27\x79\x59\x8a\x0a\x48\x57\xac\x75\xb6\x77\xce\x76\x60\xa0\xce\x5a\xb5\x7e\x54\x77\xd9\xd6\xe3\x07\x7b\x4f\x1e\xf7\x1e\xec\x3f\xd9\xea\xb0\x1d\xac\xb7\x7f\xee\xe3\xd0\x3e\x13\x2a\x15\xa5\x8f\x1b\x8b\xa4\x6f\xe5\x78\xfe\x2a\x9f\x4c\x91\x7b\x11\xe4\x1b\x30\xb7\xcd\x3f\xa2\x68\x6e\x14\x2b\x2b\xdf\xdd\xf5\x17\xa2\x9b\xe6\xa4\xe0\x4a\xc3\xc4\xda\x27\xf3\x8d\x10\x7f\x52\x59\xa6\x5c\x63\x60\xb3\x2e\x94\x87\x07\x0e\x1b\x4e\x2b\x58\x32\xb7\x56\x10\x7f\x24\x80\x68\x2a\x99\x05\xa3\xd7\x39\x36\x60\x5b\x5b\x61\x18\xe8\xb7\x40\x8d\xda\x81\x61\xa4\x42\x0b\x6c\xc3\x23\x7f\x23\x0c\x97\x19\xce\xfd\xd6\xd6\x01\x60\x5a\x21\xc0\xa1\x77\x29\xf0\x92\x45\x0b\xd7\x63\x9e\x4e\xed\x70\x1a\xa8\x51\xd6\x8c\x73\x3e\xf2\x58\x14\x61\xcc\x96\x6d\xda\xef\xa0\xa9\x62\xda\x6d\xda\xeb\x36\x44\xa5\xdb\xd0\x06\xb3\xec\xd1\x65\x03\x31\x81\xce\x4b\xe6\x36\x6f\x1b\xbf\xd9\x60\x95\xd0\x08\x30\xbb\x1e\x8e\xef\xac\x79\xbb\x20\xac\xb3\xbd\xf3\x8e\x8f\x2f\x1a\x37\x72\xf7\xa9\x55\x6f\x0a\xab\x06\x08\xe2\x20\xdb\xbe\x9c\xa3\x2a\xc6\x97\xfc\xf9\x69\x45\x56\x22\x76\xd4\x06\x31\x7d\x2d\xa7\x49\x06\xfe\x72\x4c\x45\x6b\xdd\xa3\x72\x71\xb4\xa9\x6a\x72\x42\x26\x21\x6e\x9e\xad\x8d\x88\x6b\xc9\xc2\xf1\x51\x73\x75\x95\xcf\x5c\x36\x62\x79\x00\xc9\xc5\xc6\x0d\x82\x28\xb6\x41\x1e\xb0\xda\x45\x0b\x1b\x02\xc6\x06\x20\x1e\x3e\x74\xdc\x5a\x3a\xe5\xd5\xa1\x6e\x3f\x82\x60\xc8\xad\xc7\x41\xc8\x04\x74\xf7\x1f\x32\x05\xed\x56\x29\x95\x28\x0c\xc1\xf2\x42\xca\x0b\x03\x69\x31\xf7\x97\xe4\x65\xce\x83\xe7\x9a\x3c\x12\xfb\xa2\xb5\x00\x02\xdb\x64\xa7\x42\xf4\x6d\x18\xb8\x4c\xa6\x2a\x21\xb5\x88\x8f\x2a\x91\xd5\xa4\xc7\xe7\x79\xaf\xa6\x28\xd1\x6a\x72\x07\x50\x8a\xab\xfa\xba\x45\xe8\x16\x0c\x39\x0e\x49\x7e\x98\x21\x0a\xc1\xbc\x75\x57\xb6\x94\x5b\x9a\x35\xa1\x8f\x6b\xd5\xe3\xb6\x57\xf7\xea\x11\xbc\xc2\x46\x98\x15\x23\x4d\x02\xef\xb0\x70\xb5\x99\xa5\x6d\x24\x81\x9e\x09\x5e\xc8\xd4\xf3\xdf\x86\x5a\xa1\xd3\x9b\x97\x5a\x05\xc1\x43\x57\x72\x10\xc0\x5b\xff\xf8\xe1\x3b\x1c\x23\x79\x02\x92\xf4\x53\x5a\xc2\xc3\x22\x70\x0b\x51\xb1\xcc\x83\xa4\x18\xda\x4d\x35\xda\xad\x6d\xbb\x54\xf5\x20\xdc\x05\x1b\x84\x40\x6c\xf8\x51\x8c\x35\x5a\x0b\xc1\xbd\xd2\xe5\xa0\xe2\x59\x7e\xde\x09\x03\x89\xae\xce\xd5\xeb\xf1\x78\x55\x50\xd1\x65\x8b\xd2\x21\xa3\x9f\x2e\x67\xce\xd5\x0e\xb3\x3b\x8d\xd8\x2f\xc7\x63\x5e\x4d\x94\xc1\x7f\xcc\xf8\x0e\xc3\xf5\x67\xf5\x37\x0e\x10\x31\xdb\xad\x30\x74\x2e\x44\x28\xcc\x1d\x44\xbe\x44\x49\xc2\xa9\x96\x95\x70\xc7\xe1\x71\x90\x18\x61\xb4\x0f\x89\x6e\xa6\x3e\xac\x6a\x76\x72\xf0\x9d\xf8\xc0\xe9\xa6\x0e\xbe\xdc\xdc\x55\x07\x4b\x39\x64\xd8\xc4\x6f\xeb\xb0\xc3\xdc\x76\xa5\x84\x70\x02\xa2\x34\xa4\x81\x0f\x5e\xe6\x6a\x98\x39\x76\x37\x9c\x59\x76\x88\xf4\x60\x08\x68\xe8\x8e\x5f\x57\xeb\xef\x02\x3d\x5d\xf8\x48\xe7\x81\x93\x96\x46\x11\x54\x7d\x39\xa9\x8b\xf5\x70\x27\x99\x28\x84\x16\xd4\xea\x99\x29\x1a\x86\x9c\x0d\x37\xb2\xbd\xab\x21\x04\x27\x85\xd2\x65\xad\x4e\x70\x6b\x87\x63\xaa\xa3\xca\xb8\x8c\x22\xb1\x40\x5c\x5d\xd7\x57\x58\xa3\x95\x1e\xe0\x29\x5e\xf1\x25\x22\x75\x3b\x2c\x6f\xc8\xc5\x73\x10\xa6\xf9\xb2\xa6\xc1\xb0\xcc\xc3\x87\x61\x13\x36\x46\xea\x13\xf6\x28\x76\x70\x43\x6b\xe6\xf5\xaf\xdd\x0c\x6d\x7c\xfd\xf4\xae\x9f\xd6\xb5\x67\xde\xea\x69\x43\x51\x54\x1c\x33\x42\x28\x08\xc2\x4e\x7b\x9a\x80\xa4\xf4\xa0\x79\x8b\xf8\xf2\x0f\x1f\x5a\x29\xea\x99\x4b\x3c\xf7\x67\x59\x50\x2d\xbc\xff\x7c\xeb\xe1\x90\xc2\x7d\x60\xf8\x45\x8c\xa6\x73\xb0\xb1\x3a\x9b\x34\x83\xf5\x26\x12\xbb\x5b\x42\x4c\x69\xd8\x92\x89\x45\xf6\x70\xbd\x1a\x00\xb5\x3f\xdf\x74\xc3\x9d\x51\x47\xf1\x95\x13\x2e\xba\x18\x69\x58\x4d\xd3\x13\xd0\x18\x38\xcf\x6c\xe0\x43\x73\x03\x49\x9b\xc9\xb2\xa5\x2d\x08\xd0\xc1\xc4\xea\x2a\x61\x27\xc7\xc0\xfe\x1e\x4d\x2b\x39\x13\x54\x10\x82\x9e\xe5\xda\x22\x40\x1d\x03\x9a\x0e\xb3\xae\x35\xf6\x1d\xbf\x12\xa9\x50\x8a\xdb\x88\x9e\xb7\x22\x84\xe5\x3a\xbf\x12\x21\x56\x9a\x34\xe5\x37\x9b\xd0\xa4\x3e\x3d\x61\x8f\xbc\x70\x97\xa6\xb2\x7e\x80\xd7\xdb\x67\x03\xf6\x19\x97\xbe\xcf\xcc\x9a\x1a\xec\xc2\x5f\xb8\xd0\x7d\x3f\xfb\x37\x75\x52\x36\x04\x7e\xd0\x34\xb9\xf1\xc6\xb2\x0e\x9a\x16\x41\x0c\xf1\x55\xc1\x49\x48\x70\xba\x5b\x3d\x57\xa7\xa0\x76\x79\x8a\x8f\x59\x03\x6f\xde\xdc\x46\x80\x07\x2b\x45\x7f\xb1\x45\x37\x6b\x95\x1f\x3e\x84\x18\xe1\x66\x76\x9d\x7f\xa8\x0b\xb1\x0c\x40\xcc\xb8\x52\xbe\x3a\xc5\x2b\xff\xc2\x0b\xb1\xeb\xdb\x45\x50\x01\x7c\x7a\x07\xb8\xf5\xb6\x33\x65\x0e\xfc\x5e\x8e\xc7\xd0\x61\x9f\x61\x27\x98\xf9\x6a\x5d\x88\x65\xcb\xce\xab\x3d\x36\xcc\x11\x71\x21\x96\x66\x75\x21\x83\x36\x5f\x78\xb5\x20\x5c\x3f\x54\x03\xd3\x01\xed\x6c\xc4\x27\x35\xc3\xee\xd0\x1e\x8f\xc1\xc4\x1d\xfc\xa5\xb9\x83\xa1\x4f\x67\xb7\x87\xc7\xb2\x4a\x85\x73\xf9\xc7\xe4\x38\x9e\x92\x7c\x0c\x11\x68\xa5\x50\xa6\x30\x84\x55\x64\x4b\xa1\x57\xae\x11\x9c\xcf\x87\x0f\xfd\xb0\x83\x8b\x85\xfa\x6a\x1a\x35\x63\xdd\x55\xd0\xbf\x3e\x76\xed\xf3\x85\x58\xee\xf5\xcd\x14\xed\x01\x7a\xee\xc3\xef\xfd\xc8\x03\x35\xb9\x28\x30\xe5\xa1\x4c\x53\x4c\xb5\x5b\xc9\xbc\x5f\xad\x1e\x9c\xc3\x0c\x4b\x72\x05\xd4\xb0\xdd\xd3\x13\xa1\x9d\xcd\x91\xf3\x45\x06\x8f\x51\x81\x9c\xae\xdd\xde\x62\x5b\x6c\xc7\x13\xc4\x61\xad\x76\x0b\x54\x7b\x5b\x20\xde\x69\xb5\x3a\x6c\x87\x6d\xb1\xad\xc0\x57\xd8\xd9\xfb\xf2\xbd\x3e\xef\x4d\xba\x98\x6e\x91\x81\x3c\xa1\x21\x64\xdb\x43\xaa\xcc\x9e\xb0\xdd\xbd\x46\x7a\xff\x6d\xa0\xe6\xe4\x4f\x4f\x85\x23\x16\x01\xbd\xef\xd3\x42\xb6\x4e\x45\xc3\x8d\x69\x1e\x5f\xa3\x99\xf2\xb1\xf9\xab\x4f\x7b\xaa\x61\x3a\xba\xc8\xaf\x06\x0b\xfb\x15\x93\x18\xd4\x5e\x37\x9f\x4d\x45\xb0\x21\x68\xdf\x77\x1a\x20\x62\x1d\x5b\xa9\x73\x17\xb9\x72\x68\x55\x99\xbf\xd1\x54\xe3\x89\x86\xe1\x4a\x6d\x95\x01\x33\x13\xfd\x05\x13\x63\x96\x25\x18\xf5\xea\xdf\xba\xa9\xa2\xe3\xed\xeb\xd7\xdb\xa6\x58\x61\x84\x2b\x71\x10\x11\x39\xd1\xf8\x9c\xcb\x3f\x1c\xa4\x03\x81\xe3\x00\x51\xf6\xee\x5e\x4c\xfc\xc4\xf3\xb3\x33\xa8\x55\x8a\x49\x9f\x1b\x3b\xac\x7b\x20\x63\x0d\x74\xc7\xaf\x7b\xc3\xc2\x23\x2b\x5f\x49\xa9\x1d\x2b\xaf\xfc\x03\xc3\xaf\x27\xa7\xec\xe8\xf5\xb3\x63\x76\x72\xca\xfe\x71\xfc\xf6\x9f\xec\xd7\xd7\xef\x12\xf6\x0c\x8e\xd9\x19\xbf\x10\x2c\x05\xe3\x57\xe5\xa2\xf4\xbb\xf0\xf9\xe0\xd6\x36\x66\xb0\x95\xbb\x7b\x7b\x3d\x93\xce\x99\x69\x1c\x63\x2d\xcf\xa4\xd2\x64\xe6\x00\xaf\x9f\x1d\x4f\x6e\x52\x65\xf7\xb2\x10\xbc\x3c\x4a\xa9\xcf\xcc\xff\x88\x21\xd8\xd9\x39\xf7\xd4\x93\x6a\xbc\x9c\x80\x59\x41\xee\xc1\x97\xb4\xcc\xb8\xe5\x12\xa8\x7b\x25\x03\x4f\x22\x4c\x56\xd0\x51\xc3\x30\x00\x1d\x88\xc1\x31\xd1\x20\xab\xc6\xd9\xc9\xb1\x83\x6e\x58\x3c\x74\xf0\xd3\x0a\xf6\x8b\x4a\xe8\xc1\xc6\xb0\x80\xf1\x7c\x7b\x48\x08\x22\x66\x6d\x62\x79\x02\xc9\x0d\xac\x0c\x21\x14\x1e\xdc\x67\x6a\xce\xf2\xf3\x35\x9e\x5c\xd7\xdd\xc5\xf7\x99\xea\x95\x1b\x6b\x45\x14\xe4\x75\xe0\x1a\xd8\x22\xba\x85\xe8\x1d\x25\x52\xa5\x71\xa5\x5b\x0f\xe0\x08\x81\x87\x70\x73\x52\x84\x8a\x6c\x78\x6a\x84\xdf\x4d\x37\xcb\x1a\xc0\xa8\xc6\x16\x50\x91\x88\x03\x81\xa6\x0d\x04\xcc\x24\x29\xb2\x7d\x6e\x43\x97\xbe\x56\xad\x0e\x9e\x5d\x42\x89\xa9\xe0\x19\x42\x42\x97\xc0\xfc\x42\x28\xf6\xa0\x6d\x81\x74\x12\xd2\x69\x62\x73\xa9\x54\x3e\x82\xe0\xd8\xa1\x3c\x2a\x78\x08\x6b\x78\x07\x5b\x95\x9c\xda\x7a\xb6\x81\xe3\x50\x28\x4b\xaf\x75\xe0\x28\x7d\x60\x9d\xe4\x10\x5b\xf8\x14\x35\x0b\xfa\xcc\xf2\x7f\x1b\xee\x61\xa3\x16\xba\xa3\x2e\xd5\xca\xcd\xbf\x00\x34\x12\x68\xe5\x79\x0d\x29\x41\xfc\x8d\xca\x4d\x96\xba\x05\x52\x34\x5e\x00\x10\x6e\x75\x60\x6b\x38\xee\xa0\x13\x78\x3f\x75\x04\xa7\x3b\x45\x4e\xc6\x2c\x13\xbc\x70\xea\x13\xdc\x2f\x91\x7b\xd8\x33\xd3\x68\x73\xa7\xe6\x98\x71\x6d\xe2\x66\x26\xad\xaa\x2e\xb3\xa1\x95\xa6\x60\x75\x85\x0d\x38\x2d\x33\x44\x00\xab\xe0\x07\xda\x3a\xa8\xfd\xa5\x22\x7f\xf5\xb9\x9e\x82\xa2\xdb\xe9\x94\x9b\x5d\x6e\xf8\x48\x59\xb1\xb9\x2c\x96\xe3\x1c\xac\xd6\x7c\x86\x6d\xc2\x99\x3b\x58\xf5\xae\x20\x56\x42\xb2\x66\x89\xb1\x24\x1c\x9f\xd7\xd7\x8d\x18\xd3\x84\x32\x1f\x9e\xbf\x3d\xfc\x05\xde\x5c\x83\x0b\xdc\x8c\x76\x2d\x65\x70\x0c\x26\x21\x11\x12\x34\x0b\x64\x49\x72\x5b\xc7\x9b\xe0\xc1\xaa\xce\x66\x92\x8e\x3a\x3c\x01\x35\x94\xbe\x5d\xb4\x12\x72\x7f\x62\x6e\xb6\x72\x40\xf4\xfa\xa4\xa6\xbe\x76\x82\x27\xa0\x75\x93\x7a\x40\xa0\x30\xa5\x63\x97\xbd\xa1\xcb\x9d\x66\x06\x95\x90\x10\xad\xe5\xda\x1c\x3d\x5f\xb1\xab\x9c\x14\xc6\xae\x72\xd0\x2b\xc8\x4b\x78\xf4\x84\x0b\xc1\x36\x79\x95\x97\x6e\x03\x27\x60\x66\x70\xaa\xb9\xa6\x00\xcf\x36\x34\x4f\x2b\x78\x56\x7e\x0e\xdc\x0e\x44\xcc\xb1\xfe\x80\x41\xc5\x76\x51\x32\xb0\xfd\xc5\x98\x05\xb2\x54\x20\xef\x32\x37\xf4\x94\x5f\xe6\x72\x51\x59\x00\xf0\x28\xe8\xeb\xb7\x14\x9b\xcb\xbc\x04\xab\xc7\xcb\x5c\x5c\xb9\x0b\x3b\x11\x89\x61\x9c\x40\x87\x17\x36\x67\xae\x45\xb1\x84\xdb\x10\x22\xf5\x31\xce\x1e\xf0\xf9\xbc\xc0\x58\x8f\x66\x1c\x4a\x68\xb2\x6c\xa6\x29\x68\x7c\xb5\x7e\x25\xc1\xac\xd1\xf4\x1b\x35\xe7\xf1\xb8\x24\xbd\x7b\xb3\xf3\xd0\x1c\x91\xec\xf3\xc0\xe0\x8f\x4c\x40\x65\x49\x1e\xfd\x71\xda\xcd\xe4\x75\x12\x59\xb6\x5b\xa6\x46\xab\xcb\xc2\x56\xbf\xec\x75\x6c\xc3\xcc\xac\xb3\x89\x43\x65\x55\x5e\x09\x96\x89\xb4\xe0\x55\xa0\x2a\x9b\x7c\x09\x50\x83\x76\x35\x13\x69\xaf\x0a\x39\x0f\x92\xf0\x3e\xe4\xd9\x32\x70\xdf\xee\xb5\x0d\x0d\x18\x30\xbd\x64\x03\xcb\xc4\xe1\xe9\xec\x5c\x42\xa3\x95\x43\x3b\x3e\x80\xa1\x4a\xa7\x26\x24\xb5\x70\xec\xab\x1a\xa4\x95\xed\x4e\xfd\xa4\x4d\xa7\x22\xbd\x30\x60\xdc\x01\x9b\x2b\x66\x5d\x59\x63\xf8\x2f\x47\xb2\xdd\x1f\x7f\x19\x0b\x70\x84\x7a\xdd\x69\x24\xdc\x40\x03\xd1\x2c\x6d\xdd\x16\x15\xa9\x5e\xac\x68\x3a\x6a\xee\x64\x45\x61\x94\x32\x51\x95\x8c\x6c\x6f\xd1\x72\xe0\xe4\xf8\xaf\x9e\xc8\xbb\x12\xa0\x30\x63\x30\x18\x8c\x60\xd1\x50\x42\xe5\x65\xea\xd4\x62\x4c\x5e\x26\x4b\xe1\xfd\xee\x97\x99\x55\x7c\x4d\xad\xea\x33\x0e\x1f\xe3\x95\x25\x1e\xfc\x47\x35\x35\xfb\x68\xf7\xf7\x47\x3f\xfe\x40\xa9\xf4\x5e\x47\xbe\xd6\x42\x54\x8d\xc6\x30\xfe\x7f\xd9\x7b\xf3\xed\xb6\x91\x2c\x6f\xf0\x7f\x3d\x45\x58\xd6\x98\xa4\x4c\x91\xb2\xab\xeb\xeb\x6e\xca\xb4\x3f\xa5\x97\x4a\x55\x7b\x1b\x5b\xae\xfc\xea\xc8\xea\x24\x44\x04\x49\x58\x20\xc0\x04\x40\xc9\x6c\x9b\xe7\xcc\x43\xcc\x13\xce\x93\xcc\x89\xbb\x44\xdc\x08\x80\x94\x94\x4b\x4d\xd7\xcc\xe8\x54\xa5\x41\x20\xf6\xe5\xc6\x8d\xbb\xfc\x2e\xb9\xe7\x9b\x3d\x81\x69\x7b\x79\x06\xbb\xc0\xf4\x0b\xc2\xf9\x95\xb5\x7a\x1e\xda\x7a\x80\x01\xeb\xee\x28\xc5\x98\xde\x83\x3a\x22\x3c\x20\x41\xd2\x81\x7c\x76\x7e\xe4\xab\x05\x40\xb1\xe7\xac\x5e\x3b\xea\x1b\x45\x2a\x04\xbb\x94\x96\xe1\xc1\x74\xe7\x88\x91\x00\x18\xe3\xfb\xcc\xbc\xc7\x74\x5f\xf2\x24\x6b\xb7\xba\x0a\x79\xb2\x73\x04\xfd\x06\x03\x35\xfd\x8b\x68\x0c\x5c\x9a\x6a\x96\x84\xf8\x9a\x70\xd3\x9f\xf1\xde\x36\x8d\x3a\x83\x2f\xe7\x1d\x35\xf0\xde\xc2\xda\x20\xbe\xfb\xa1\xa2\x34\xae\x4a\xc6\x95\x39\x34\x43\x62\x7a\x30\x80\xff\x9a\x5f\x65\x5e\x54\x03\x75\x76\xde\x33\x0f\xf0\x62\x91\x42\xb0\x4f\xf3\x0a\x1e\xc1\xd2\xec\xd7\xd2\x8d\xa4\xd2\x05\xc6\x8a\x41\x73\xf9\x3e\x8a\x89\x4a\x43\x34\x08\x5d\xd3\x39\xde\x5a\xa8\xf3\x74\xa2\x00\xeb\x1e\x24\x85\x51\x16\x9b\xc4\x38\x55\x79\x66\x0a\xba\x33\xc9\x91\x08\x0a\x60\x6b\x7d\xb4\xc3\x53\xdd\x62\x73\xc2\x2e\xca\x66\x74\xdc\x85\x9d\xae\xe3\x2e\xda\xc0\xeb\xb8\x6b\x76\xf1\xbb\x2c\x5d\x75\x19\x47\xa8\x9b\x2f\x74\xd6\xe2\xeb\x74\xd7\xbb\x4e\x0b\x16\x5a\x56\x7b\x66\xe1\x14\x29\x85\x90\x21\x9a\x75\x24\x9b\x49\x86\x61\x1f\xc3\xa6\x82\x69\x25\xb5\xb3\x8b\x16\x7e\x5d\x86\xa3\xeb\x5e\x2c\xab\x2a\xcf\xba\x93\xbc\x98\x77\x63\x5d\x45\x49\x5a\xde\xbe\x85\x5c\xe3\x19\x7c\x3b\xb7\xe4\x90\x5b\x26\xc1\x26\xd8\x4e\x53\x40\x21\xb5\x06\xaa\x65\xc1\x90\x00\x8c\xb0\x25\x00\x8d\xe0\xab\xfd\xd1\xb5\x79\x29\x97\x48\x4f\x29\xf9\x0d\x41\x42\x99\xb7\x04\x0a\xd5\xf2\x4d\xae\xa7\xba\xfa\x21\xcf\x53\x1d\x65\xc7\x55\x55\xbc\x8d\xe6\xba\xe9\x5e\x65\x89\x77\x9c\xcf\x55\x1a\x95\x95\xa3\x70\x70\x96\xc3\xd5\x3b\x4d\x2e\xcd\x61\x3e\x89\x92\x54\xb9\x48\x97\xa6\xef\x17\xae\x06\x35\xf4\xe7\x14\x0c\x8a\x3d\xeb\x2e\xbc\x3b\xf4\xfb\x5e\x2e\x73\x98\x43\x18\xa7\xeb\x64\x0c\xa6\xcb\xf3\x24\x4b\xe6\xc9\x7f\xa1\x9a\x25\x02\x30\x06\x77\xff\x93\x39\x1f\x3c\xa8\x4f\x51\x46\x38\xb1\x3f\x5b\x16\xec\xdc\xa4\x13\xd9\xfc\x6b\xdf\x54\x57\x80\xb2\xa4\xe3\x6d\x83\xc4\xa6\x8c\x60\x5d\x2d\x34\x30\xf4\x4a\x4a\x49\x5d\x32\x73\xa4\x9d\xbc\x7d\xff\xe9\xb4\xc5\x76\x8b\xee\xfd\xe9\xcb\xff\x75\x7a\xfc\xe1\xe5\x71\xab\x63\x5a\x27\x17\x10\x5f\xb2\x4c\x23\x69\x69\x9b\x16\xa0\x86\xc4\x29\x38\x1c\x32\xca\x0b\xf1\xc5\x69\x16\x77\xd6\x5d\xc9\x1b\xc8\xce\xe0\x29\x83\xf5\x18\x16\x21\xc3\x95\x7c\x63\x75\x9e\xff\xca\xa0\xe9\xc2\x0c\xf4\xb4\x44\x2c\xa0\xd0\x2b\x42\x9a\x3a\x46\x59\x4b\x9e\xa9\x26\x2b\xae\x01\xeb\x61\x54\xe6\x66\x01\x96\x55\xb4\xf2\x40\x31\x1c\xe2\xc3\x3d\x79\xb6\x34\x5e\x19\x5b\x7b\xd0\x12\x14\x1a\x6e\xb9\xdd\x07\xb7\x25\x9b\xff\xac\xb5\x27\x9d\xa9\x5a\xae\x44\x79\x7a\xc8\x24\xff\x2d\x3a\xed\xb5\x59\xf4\x7d\x6b\xc2\xb7\x39\xa3\x17\xb5\x44\xdf\x24\xfe\x56\x28\xa2\xc1\xce\x93\x8f\xdd\xe6\x8e\xdf\x4e\x6a\x63\x01\x8f\x45\xe5\xce\xbd\xb9\x29\xac\xa9\x54\x58\xfb\x57\x46\x27\xf6\x84\x34\xae\x40\x76\xfb\x1f\x04\x1a\x12\xec\xaa\x79\xdf\x5c\x8d\x27\xf7\x51\x28\x0b\x19\x86\x8e\x14\x9e\xd2\xcc\x57\x12\x36\x68\x0a\xaa\x55\xea\xf6\xdf\x66\x55\x59\x60\x08\x25\xb2\x1d\x49\x46\x6e\x47\xa9\x68\xcb\x30\x05\xed\x07\x11\x27\x9f\xb6\x31\x11\x34\x77\xfc\xda\x41\xc3\xce\x34\x1f\xd2\x90\xed\x7c\x93\x01\x48\xd8\x6d\xba\x77\xdf\xf3\x9a\xe1\x8d\x88\x1d\x0b\x79\xcd\x50\x9b\xc4\xd9\xd8\x29\xbf\x31\x9d\xba\xf2\x6d\x4b\x35\x56\xb5\x15\xd6\x13\x2e\xa1\xcd\x95\x6c\x94\x84\xd2\x31\xe0\x57\xf9\xfd\x7b\x5d\x57\x61\xe9\x4f\xc4\xd5\x95\xbd\xa9\x86\x48\xbe\xf1\x49\xa5\xe7\x24\x7d\x83\xa3\x23\x5f\x74\x7a\xe0\x25\x34\x49\x74\x5c\xd3\x7b\x3c\x0b\x06\x23\xfc\x2e\xb4\xe9\x81\x28\xd6\x05\xda\xb9\xc5\xaa\xad\xcf\x81\xd4\x82\x8b\xb2\x9a\xd5\x8a\x02\x63\xb9\x9a\x69\xa5\xbf\x56\x45\x64\xad\xbf\xd4\xee\xe3\x5d\x10\xa3\xe6\x10\xa1\xdc\x99\x57\x57\x33\xc3\x1f\x43\xfc\xb5\xde\xac\xd0\x13\x95\x64\xea\xe4\x25\xc4\xb6\x73\x17\xad\x58\xbb\xb2\xcb\x7c\xae\x85\x6f\x82\xee\x4d\x7b\x8a\x05\x2e\x1d\x52\x01\xcf\xa2\x2b\x8d\x91\xd0\xb9\x79\x5d\x43\x7c\x69\xee\xec\x60\x09\xa5\x40\xa1\xa5\x28\x68\x5a\x1f\x8a\xc7\x76\x71\xf4\xfb\xce\xf9\x0a\xac\xf9\x59\xe1\xe2\x6a\x2b\x51\x9a\x41\xd5\xa8\x76\x54\x52\x5f\x3a\xfe\xce\x87\x5a\x87\x43\x95\x2d\xd3\x54\x3d\x13\x39\x06\xe6\x53\x48\x04\x16\x45\xbe\xb8\x25\x11\xb8\xd5\x8c\xdf\x99\x42\x35\xd3\x26\xc3\x83\x0f\x54\xbb\x76\xc5\x04\x94\xf3\xaf\x55\x6f\x2f\xbe\x52\x43\xd5\x6a\x79\xb7\x45\xfa\x18\x4a\x2e\xe8\xb5\xeb\x5b\x40\x53\xb0\x5f\x16\xa1\xbe\x81\x14\x05\x4e\x29\xa1\x68\xf4\xa8\xb6\x91\x6f\x76\x4f\xd9\x90\xc2\xb0\x78\xe6\x82\xca\x55\x48\x23\xfa\x81\xed\xaf\x23\x25\x4d\xe9\xfc\xb1\x07\x23\xf8\x36\x46\xdc\x04\x08\xc9\xfa\x5c\x37\xcc\xf2\xe6\xd1\x90\x7b\x95\x2f\x7a\x86\x1d\xad\xf3\xd0\xc8\xb4\xe2\xdd\xaa\x15\x0e\x67\xa1\xcb\x65\x5a\x09\x41\x81\x12\xc2\x02\x2e\x1f\x2f\x64\x52\x6e\x80\x6f\xea\xb1\xec\xf0\x7d\x8f\x2f\x9c\x35\xd5\x15\xd4\x86\xa2\x06\x4a\x8a\xb7\xdf\xef\xdf\x09\xc1\x1b\x46\xb0\xb3\x41\x83\xd5\xa9\xcd\x30\x15\x28\x14\x73\x87\xea\x19\x6e\xb9\x01\x7d\x0c\xa7\x2a\x38\x98\x83\x39\x52\xfe\x07\x39\x89\x6b\x1b\x28\xec\x37\x4f\x5e\xd0\x06\xeb\x85\x21\xdb\x71\x83\x30\x5e\xd5\x73\xd7\x1b\x0b\xb0\x4e\x03\x29\xf0\xdf\x72\xb5\xa0\xf8\x8b\xfb\xea\xbd\x0b\xe0\xa2\xae\x0d\xcf\x27\x05\x18\x9a\x04\xde\x85\x8e\x62\xfb\x1e\x84\xfb\x58\xf9\x0e\x07\x4a\x0c\x45\x9f\xee\x00\xe7\xea\xa3\x62\xfa\x08\xc2\x10\x3e\x96\xfc\x4d\x02\x36\x33\xce\xf4\xc9\x2c\xe8\xe7\xf9\x12\x1d\x08\x9c\x34\xc8\xb9\xfa\xf8\x1c\x21\xf8\xc4\x21\xda\xdb\x75\xee\x62\x1c\xa2\x73\x3e\xc0\x01\xa2\xbc\xe6\x00\xd2\x98\x11\x40\xce\x9d\xe5\xd4\xe4\xcf\x7b\x00\x7e\xba\x89\x55\x16\x81\x0c\xfc\x3a\x22\x98\xc0\x72\x59\x5c\x81\x52\xc8\x5c\x77\x27\x14\x58\xb4\xe7\x37\x08\x86\x5b\x55\xa0\x19\xcc\x44\x4b\x5c\x43\x4a\xf6\x02\x66\x21\x6e\x06\xfa\x31\x99\xfd\xc1\x03\xbb\xe2\xdb\xed\xf6\x24\x73\x2b\x5d\x3d\x36\xbb\xdd\xcf\x63\xc7\xe0\xc1\x03\xe5\x7d\x70\xac\x7f\xc7\x50\x35\x33\xf0\x6a\x40\x23\x3f\xf4\x54\x72\x21\x39\x26\x6b\x37\x93\x43\x86\x43\x64\x19\x2b\x20\xfb\xe1\x22\xc1\x11\x06\x8c\x06\xd4\xa0\xba\x38\x40\x36\x5e\xf3\xa5\x5e\xf5\x31\x84\xb3\xa4\x35\xaa\x2d\x14\xdf\x76\xba\x1b\x74\xdf\x34\x48\x43\xdb\x2f\xa7\x1d\x72\x7f\xd6\x20\x8d\xc6\xde\xd4\x7b\x3d\xcb\x53\xdb\xae\x24\xa3\x03\xdb\xcb\x36\xc9\x48\x0c\x79\x0e\x4b\xf2\x91\x4f\x83\xea\x6c\x29\xb5\xfc\x52\xaf\x60\x6d\x98\x1c\xc1\x77\xbf\x4c\x30\x65\x34\xc9\xc0\xdc\x2c\x88\xb8\xb9\x6e\xa6\x77\x72\xb0\xa5\x08\x11\xd4\x3e\xb3\x28\xc9\x12\x11\x54\xb7\x21\x94\x6b\xad\xd9\x72\xd2\xcc\x06\x26\xce\x29\xc2\xe0\xda\xb8\x8b\xc1\x0f\xa9\x27\xb3\x9c\xbe\x7b\xf1\x6e\xa0\x62\xba\xe0\x26\x69\x4a\x9b\x65\x96\x94\xcf\xbc\xc3\x84\x49\xe6\x24\x33\x8c\xc1\x91\x2c\x03\x60\xf2\x92\x89\x29\x02\x18\x38\xc3\x38\x60\x89\x28\x48\xd5\x2a\xbf\xd2\x85\x8a\xd2\xb4\x8b\x42\x70\x70\x60\x45\x00\x9e\x2f\xcb\xb2\x12\x0d\x64\xba\xe7\x55\xfd\xe5\x8b\x1a\x2a\x56\x43\xfb\x4a\xe6\x67\xea\x4d\x54\xcd\x7a\xf3\x04\x1d\xd6\x60\x71\x75\xd5\xa3\x8e\x1a\x88\xc5\xe6\xaf\x47\x28\x11\xd7\xe4\x17\xf5\x44\x7d\xf9\x72\xa4\xbe\x84\x8b\x91\x69\xd3\xdf\x6c\xa7\x71\xb2\xbf\xd0\x02\x22\xca\x76\xe4\x65\x11\x47\x8a\x7a\x46\xff\x3e\x14\xc5\x0c\xdc\x73\xfd\xbe\xa2\x1a\xf4\xe5\xc1\x6d\xe0\xdb\x4e\x7d\xa2\x69\x77\x96\x39\x44\x41\x06\x00\x98\x28\x4d\x15\x23\x2e\xee\x88\x7e\xdf\x6a\x1f\x86\x3b\x25\xe8\xe8\x7a\xe7\xb6\x6b\xb6\xb6\x62\x81\x49\x62\x81\x96\x45\x3d\x40\x07\xbc\x2b\x9d\x55\x8c\x01\x66\x4f\x43\xe9\x85\x61\x5d\x49\x28\x95\x07\xee\x71\x65\x7d\x00\x84\x54\x87\xae\x20\x74\x37\x1b\xab\x68\x91\xe0\xc1\x7a\x05\xc7\x6a\x49\xf1\x0c\xde\x17\xf0\x02\x55\x72\xf5\xe8\xbb\x7c\x96\x43\xa6\x38\xc8\xe2\xe0\x40\x78\xc9\xc0\x87\x9a\x2f\x05\x08\xaf\xa0\x04\xe1\x84\x20\x93\xbf\xb6\x86\x4d\x9c\xff\x99\x7d\xe4\x43\x61\xa0\x0e\x85\x28\xe3\x9e\x9f\xd5\x29\x07\x1b\x39\x14\xea\xf3\x7c\xae\xe3\x04\x81\xb8\x17\xd1\x14\x8e\xb5\x8f\x55\xbe\x58\x78\x27\x83\x69\x17\xe3\xf0\x98\xaf\x27\x0d\xb9\xb8\xa5\xbd\x72\x43\x02\x5e\x2e\xdb\x53\x35\x0f\xb9\x9d\xa2\xcd\xcd\xb5\xf2\x08\x4f\x8e\xe1\x2a\x13\x39\x02\xa9\x46\x53\x92\x76\x73\x44\x6b\xe0\x78\x6f\x18\x08\xbf\xf4\x9b\x52\xf7\xc6\x51\x9a\x62\x33\x9b\x04\x16\x9e\xe6\x96\x97\x69\x53\x39\x6e\x14\x6e\x5a\xb1\x5b\xc7\x70\x28\xa5\x3a\x6b\xc7\x72\x3d\xcf\x17\x8c\xa6\xc7\x18\x7a\xe6\x14\x04\x9e\x29\x78\x0d\xae\x41\x86\x8a\xcf\xf3\x18\x24\x20\x2a\x5e\x82\xab\xa6\x86\xe0\xee\x96\x6f\x02\x33\xa2\x60\xb5\x3f\x55\x8f\xe4\xcd\xd6\xed\x9c\x72\x06\x40\xcd\xa6\x19\x36\x8f\xaf\xd6\x6e\xb2\xa9\xf3\x4b\x6f\x30\x63\xba\x77\x8b\x21\x6d\x77\x6a\xeb\xf0\x55\x66\x88\x21\x4d\x9d\x47\x9a\x3a\x0d\xd6\x73\xac\x46\xc1\x53\xb5\x62\x6c\x20\x35\x8b\xc6\x97\x28\x2b\xe1\xf0\x58\xe3\xcb\xb2\x3f\x4e\x75\x54\x18\x36\x07\xc1\x95\x80\xfb\x44\x6b\xb3\xa4\xb2\xc6\x65\x86\xa4\xc7\xda\x46\xa3\x8f\xd2\x14\xab\x10\x6d\x34\x3c\xb1\x1a\x51\xeb\x46\x3b\xca\x23\x95\xe0\x8b\xea\x2e\xd4\x42\x23\x22\x53\xdd\xd1\x09\x79\x93\xba\xb4\x2a\xa2\x2b\x5d\x94\x51\x0a\x9a\xd2\xd3\x40\x53\x0a\x47\x04\xdd\xdc\x4a\x86\x51\x28\x93\x6c\x9a\x6a\x93\x9c\xad\xcc\xef\xa4\x27\x95\xba\x91\x6d\x6a\x17\xb8\x32\xe5\x22\xac\x3e\xfb\x24\x35\xa0\x43\x35\x38\x5d\xfe\x0a\xb7\xcb\x2c\xf4\xba\xcc\x6e\xe1\x74\x99\x17\x6a\x64\xf1\x62\x47\x02\xd1\xb9\xd5\x11\xf8\x07\x39\xda\xb2\xc6\x71\xb8\x21\x01\x5f\x28\x3b\xb0\x52\xb6\x0b\x3d\x8e\xc8\x3c\x6e\x85\x5a\x43\x32\xfb\x01\xf4\x44\x1d\xab\xe5\xc2\xed\xd0\x7b\xdb\xbd\x6f\x24\x7d\xf1\xb6\xe3\x1d\x1d\x61\xc4\x2d\x77\xa3\x87\xa8\xf0\x08\xdd\xe2\x13\x2a\x7d\x40\x03\x2f\x50\x6e\xee\xb6\x7c\x6a\x78\x1b\xfe\x23\x34\xa8\x61\xf4\xfe\x72\xa1\x8b\x09\xe0\x77\x22\x28\xdb\x01\xd8\x2f\xe4\x93\x83\xab\xf2\x00\xf4\xd7\xb6\xed\x66\x59\x81\x51\xfa\x6a\xa1\xa5\xbd\x39\x86\x98\x57\xcf\x54\xe0\xce\xa9\x06\xea\x2c\xe0\x14\x12\xca\x1e\x5c\x90\x1b\x51\x2c\x50\x7e\x06\xa9\x85\xbd\xf0\x66\xf6\xe4\xfc\x68\xa7\x46\x26\x0d\xc9\x0d\x29\x21\xa5\x76\xa1\xfa\x5d\xa6\x8a\x85\x6c\x2d\x87\xd5\x05\xba\xd5\xe0\x03\x80\x7b\xb5\xfc\x53\x13\xd0\x2e\x26\x1a\xc0\xf8\x2d\x82\xa8\x05\xd5\xb7\xae\x40\xae\x60\xf5\x40\x20\x85\x85\x05\x45\x31\x05\xba\x15\xe9\xa3\x2c\x96\xd8\x62\x7e\x16\x9a\xce\xeb\xeb\xeb\xde\x2f\xcb\xa4\xb8\x2c\xe7\x79\xac\xc1\x9f\xff\x4b\xd9\xc7\x7e\xff\x0c\x99\x7b\xb3\x6a\x9e\xde\x4f\x93\xec\xf2\xdf\x76\x44\x11\x75\x2a\x12\x20\x9b\xe1\xa8\x75\x03\x7e\x35\xbc\x4f\xc2\x3a\x89\x8a\xa9\x66\x49\x48\x57\x15\x3a\x8d\x90\x31\xc5\x93\x8b\x7e\x9f\x42\xaa\xa3\xf0\x5a\xfc\x0a\x0c\xa7\x96\x25\x74\xb9\x0f\x3d\x45\x5c\x72\xb0\x8c\x25\xae\x39\x99\xd8\x52\x93\x52\xe5\xcb\xaa\x4c\x62\xbc\xbc\x63\xdd\xbd\xb0\xd4\xb7\x3f\x0c\xd4\xdb\x5c\x79\x55\x9b\x52\xd0\xf4\x7f\x09\x68\x67\x93\xaa\x0f\x95\x6a\xbc\x68\x72\xc8\x84\x6b\x69\x67\x2f\xd6\x17\x37\xe0\xfb\x77\xd5\xe6\xe7\x7b\x86\x17\xc1\xc2\x1f\x3c\x50\xf7\xa8\x31\x1c\xc6\x98\x93\x75\x3a\xf5\x5b\x38\xb9\x9f\xca\x3b\xc0\x96\xdb\x77\x47\xac\xdb\x86\x6b\xff\x2d\xfc\xbc\x55\x23\xba\xe1\x0d\x9e\xc8\x6a\xc3\xcd\x7f\xe3\x7e\xf4\x13\xda\xab\x00\x88\x56\xad\xbf\xb5\x13\xe4\xe7\x93\xc9\xc0\xb9\xd8\xd2\x49\xd7\xa0\xf4\xae\xe3\x1f\x3a\x0b\x65\xb2\xcb\xf2\x40\x16\xcc\x12\x30\x87\x8c\x99\x56\x76\xe3\x26\x6b\x10\x40\xc9\x8b\x2a\x75\x3d\xd3\x19\xdd\xe4\xd1\xb6\x93\xb2\xad\xf2\x25\xd8\xe8\xe1\x91\xec\xa3\x7b\xda\x13\xd8\x6c\x4c\x94\x39\x5c\x68\xae\x8e\x38\x9e\xb1\x08\x3c\xd1\xcb\x27\x93\xb6\xbe\xc2\x76\xa3\x06\x87\x8c\x55\x6d\x82\x8c\xb1\x1a\xb9\xe8\x3c\x7b\x25\xb9\x62\x59\x92\x1d\x83\xa3\x8d\x1f\x4d\x6e\xcf\xfb\xaa\xa9\xaa\xcc\xd3\x89\x5b\x10\xed\xa6\x61\xa7\xcf\x6f\x05\xa4\x0e\x50\x75\x73\x16\x74\x6f\x32\x68\x6e\x96\x16\x77\x7c\xd3\x3f\x01\x2a\x22\x2b\xdb\x80\xe7\x43\xdc\x8c\x6f\xc5\xc7\x30\xa5\xbd\x24\x2b\x75\x51\xfd\x00\x30\xc9\x90\xad\x8b\x2d\xed\x65\xfa\x6b\xf5\x31\x01\x7c\xd5\xce\x46\x31\x94\xb5\xb9\x86\x56\x38\xa8\x20\x1f\x71\x44\xae\x6f\x34\x1b\x44\x1c\x32\xcf\xe5\x0d\x0d\x00\x48\x94\xb1\xd9\x94\xc1\x0c\x25\xa7\x6a\xb0\x8a\xe4\x51\x75\x18\x3c\xdd\x8d\x45\x6d\x74\xe4\x68\xd0\x30\x39\x6d\x2f\x57\x8e\x1b\x34\xf0\x70\xf7\x8d\x2d\x39\xa9\x6f\xcb\x81\xfe\xd6\x37\x98\x6a\xd8\x7e\x50\xd4\x3a\xb6\xe7\x75\xa6\x31\xa2\x8b\x88\xce\xe0\x6a\x41\xe0\xa6\x46\x25\x64\xb0\x28\x6f\xd4\xc1\x01\x2c\x01\x27\xba\xd7\xa8\x7b\x23\x55\x55\x43\x8a\x9a\x4b\x43\x20\xba\x00\xa7\x8f\xa1\xc4\xc8\x21\x98\xa9\x86\x8b\x1f\xbb\xb1\x98\x03\x7b\xab\x17\x8b\x5d\x20\x94\x5a\xb0\x45\x56\xd5\x2f\xc1\xd4\xac\x23\x83\xaf\xc4\xd5\xb7\x19\xc2\x3b\xac\x1f\xaf\x7d\xbc\x09\xea\x2e\x15\x47\x4e\x88\x17\x6e\xf5\x2c\xd8\xe3\x63\xe9\xb0\xa1\x3c\x35\x92\xd8\xd2\x90\x8a\xf6\xb4\xdb\x8c\xb5\x0e\x5f\x17\x51\xa3\xd6\xda\xbc\x97\x94\x8c\x7f\xbb\x43\xc4\xa6\xe8\xe9\x5f\xda\x87\x9d\x1e\x05\x74\xb1\xe0\x6b\xb7\xf0\xe2\xf0\xfd\x38\xb8\x43\x4d\xb4\x85\x2b\x0b\xe9\xcb\xda\x6b\x9c\x37\xc1\x32\xa1\xb4\x69\xf2\x6f\x8d\xf0\x01\x63\xad\x6c\xde\x9b\xcd\xce\x2d\xf6\x8a\x43\x9b\x6f\x02\x3e\xe6\x0d\x0b\x47\x5f\xbf\xac\xd3\xb2\x60\x29\xdc\xe2\x80\x70\xe5\x04\x7b\xc7\x95\xbf\x75\x07\xd9\x64\x37\xef\x23\xb7\x41\x29\x8b\xd8\x4c\xbf\xe6\xfc\x68\x20\xfe\x6e\xdc\xc8\xbf\x79\x10\xf8\x3b\x3b\x13\x4b\xef\xb3\x70\x3e\x47\xfb\x06\x17\x71\xa2\x69\xf0\xf9\xd2\x0d\xe0\x6d\x18\x35\x41\x6e\x62\xdf\x2b\x5f\x6e\x40\x2b\xa7\x68\xf6\x4b\x36\xf5\xbd\xf5\x60\x5b\x88\x02\x99\x0f\xcf\xb9\x2a\x84\xb9\xc3\xe7\x23\xef\x32\x25\x25\xb7\x7e\x9e\x80\xff\xad\x15\x78\x6f\x13\xc2\x80\x6b\x53\x93\xe2\x21\xa8\xc5\x9a\xee\xf3\x70\xab\x86\x01\xee\x6c\x2b\xbc\x4e\x4b\x70\x65\x6c\x3f\xc2\x6f\x5c\xe5\x0e\x52\xcf\xa4\x7b\xf0\x80\xd7\xdb\x6d\x8f\x1a\xf5\x8c\xf3\x0e\xc0\x8a\xc0\x6d\xd0\x0c\x2c\x61\x6e\x79\xfe\x9a\xc4\xb4\xf6\x69\x31\xbb\x82\x26\x49\xf3\x09\x11\x2e\xa6\xc0\x18\x8b\x8a\x2b\x7f\x58\x9d\x46\x53\x7f\xed\x04\x95\x37\x25\x76\x4b\x75\x9b\x29\xd0\x59\xcd\xfe\x07\xc8\xf2\x40\xc2\xbd\xe1\xb6\xf1\x42\xad\x34\xf5\x86\x6e\x5b\x60\x28\xf6\xde\x4a\xa8\x3c\x84\x16\x88\xc9\xf2\xf2\xca\x25\x7f\x95\x95\xcf\xf3\xc5\x8a\xef\x46\xc5\x71\x31\x2d\x03\x21\x10\xdb\x70\x5b\x55\x89\x55\x9c\x1c\xdd\x5d\xce\x74\x93\x84\x69\x0b\x06\xd9\x06\x61\x09\xe4\xc0\x6b\x9a\x6d\xee\xb9\x90\x3d\xd5\x05\x27\xfd\xbe\x7a\x0e\x02\xa6\x20\x48\x4d\x95\xab\x85\xd9\x57\x04\x57\xca\xd2\x3b\xca\xe5\x86\x8e\x5c\x16\x88\xb8\xa2\xda\xc9\x06\xe6\x96\xb2\x7f\xb4\x9d\x08\xf5\x53\xac\x26\x61\x98\x7c\x68\x68\x4d\xf1\x15\x94\x24\x81\xe4\xeb\x05\x0e\x1b\x8a\xdc\xa4\xde\x69\x6a\xe2\x2d\x94\x3a\x7e\x6b\xb7\x08\xeb\xb7\x34\xfc\x56\x7a\x8f\xb0\x0f\x5e\xd3\xb3\x3c\x5f\xb8\xcf\x18\x13\xd5\xce\xba\xf8\x00\x92\x8a\x01\x6f\x4f\xa6\x7f\x12\x91\xe0\x64\xa2\x22\x35\x5e\x96\x55\x3e\xa7\xe9\xbf\x8e\x44\x8c\x16\x88\xc0\x82\xa0\x32\x2a\x5f\x16\xde\x3a\x01\x03\xf3\xa4\x92\x37\x13\xbb\x37\xe4\x51\xe0\xad\x18\x06\xa8\x09\x37\xa0\xb8\x76\x89\xe5\xf9\xfb\xeb\x7a\x94\xb7\xdf\xb7\xeb\x73\x94\xa4\x06\xd8\x76\x49\x51\xd4\x33\x75\xe6\xfa\x71\xde\x23\xe0\xdd\x1a\xdd\x19\x78\xc9\xec\xe0\xdb\x0b\xa0\x47\x7f\x1a\xfc\x32\x79\x74\xef\xb9\x52\xee\xa2\x27\x52\x6a\x92\xf5\x40\xfd\xee\x48\xa4\xe8\x57\x93\xae\xcf\x87\x82\xbc\xd9\x6a\x8b\x95\xeb\x4e\x99\xb2\xf3\x6b\x4c\xb1\xe0\xbf\x7f\xaa\xb9\x12\x6e\xe3\x0d\xa5\x55\xd6\x66\x8c\x80\x9b\x4c\x3b\x7d\x2b\x0a\xdf\xb8\x80\x1a\x15\x32\x41\x9b\x8d\xd6\x61\xe5\x46\xd9\xca\x49\x7b\xd0\xcf\xd7\x46\xc9\xa0\x0a\x33\xad\xe3\xd2\x8f\x8e\x22\xca\xf0\x51\x0d\x3c\xdc\x30\xb5\xcd\x8e\x3c\x40\x60\x81\x7c\xdd\xed\x5d\x6b\xd0\x14\xda\x63\x39\xec\xa8\xb5\x1c\x19\x58\xdb\x09\xab\x55\x04\x27\xeb\x54\x4f\xa3\x31\xc6\xb9\xea\xb3\xdf\x75\xae\xf2\xac\x9f\x4f\x26\x0d\xcb\xa1\x07\x29\xea\xce\xca\x3d\x64\x3b\x6b\xaf\xa9\xc8\xa6\x0c\x93\x09\x99\x6f\xec\xf4\xfb\x8a\xa3\x4b\xc3\xaa\xa1\x58\x27\x36\xf4\xb4\x2a\x75\x71\x95\x8c\xb5\x33\xf4\x08\x83\x52\x93\x6c\x0e\x56\xd7\x1e\x4a\xbd\x6b\x69\xdb\x21\x03\x86\x94\x0d\x1b\xd6\x15\x2a\x9e\x32\xe4\xf1\xf1\xd2\x31\x96\x48\x48\x6e\x69\x81\xbc\x20\xaa\xaa\xa2\x63\x2f\x33\x79\xac\xed\xe5\x54\x85\xce\x31\x96\x9d\xf6\x4b\xb5\x73\xca\xa7\x81\xbb\xad\xfc\x31\xed\xb0\x68\x4f\x37\xb4\xc3\xbb\x19\xfd\x31\x4d\x91\x30\x5f\x1b\x5a\x23\xe5\x78\x14\x6c\x9c\xa2\xb0\x40\x88\x54\x54\x8a\x97\x33\x95\x03\x60\x4f\x2b\xbf\xf8\xd2\x82\x90\x29\x3f\xf2\xcb\x01\x84\x4e\xa2\x80\x47\x49\x49\x4f\xf0\x12\xe1\x79\x00\xab\x19\x9f\x22\xef\x33\x9b\x02\x96\x4a\x27\xd5\x4c\x5b\x3b\xe8\x7c\x02\x62\x65\x53\xde\xde\x9e\xa9\xfc\x3f\xf4\x4a\x4a\x8c\xa5\x7d\x63\x5e\xa8\x65\x96\xfc\xb2\xd4\xe9\x4a\x4d\x75\x06\x56\x6c\xb1\x4a\xe2\x2e\x05\x93\x83\x3f\x90\x80\x83\x3b\x7d\x99\xab\xa8\x2c\x93\x69\x86\x76\xa6\xa6\x20\x57\x05\xd9\x4a\xae\x38\x12\x99\x0b\xbc\x24\x62\xc4\xe4\x17\x5f\xfc\x68\x4d\xd8\xa1\x35\x8e\x12\x0d\x43\xb9\x1c\xcf\xb0\x56\x53\x0e\xc4\xa8\x02\xe7\x5a\x54\xed\x82\xed\x9d\xfd\x20\xf2\xf5\x64\xa3\x4f\x67\x9a\x06\x04\x4a\xc4\x82\xc1\xd2\x11\x8e\xfe\x16\xf0\x3a\xd4\xf4\x96\xd9\xdd\xf3\x88\x82\x44\xd9\xa1\xa2\xaf\xed\xfc\xe2\x4b\x17\xee\x4e\x9f\x92\xf8\x55\xe6\x2c\xb5\x4c\x69\x43\xd3\x23\xc3\x32\xe7\x17\x5f\x7a\x76\x2c\x2c\xbc\xe5\xa5\x5e\xc9\xbb\x10\x61\x30\x41\xc6\xe1\x50\xb5\xb8\x2a\xa1\x7b\xb1\x85\xba\xd2\xda\x4d\xf0\xda\x64\x5f\x6c\xe1\xcc\xf3\x8b\x2f\xa7\x4e\x25\x9a\x4f\xcc\x8b\x23\x6a\x85\xfd\x26\xab\x04\xcd\x94\xfc\x82\xf3\xd5\xa2\xce\xc0\x2d\xd3\x5c\x1f\xed\x99\xd4\xd0\x32\xfc\x0d\x25\x3c\x54\xad\x01\x82\x1f\xf1\x40\x81\x6b\x02\xfe\xe8\xb4\xeb\xd0\x1a\x97\x8d\xd9\xa9\xd5\x12\x6f\x13\x7a\xea\x76\x96\xd9\x39\x6f\xa2\x05\x1d\x86\xe3\x28\x03\x9f\x46\x6c\x3c\x84\x87\xbe\xd4\xab\xd2\x9f\x48\xca\xd2\x06\xde\xae\xcb\x2e\x93\xb1\x69\x98\x85\x65\xa9\xbd\xc4\x61\x5d\x26\x31\x18\xdf\xec\x28\x06\x79\xa0\x2e\x6d\x35\x4b\x7a\xf8\x70\x99\x38\xbb\x39\x9c\x39\x66\xd3\xa8\x11\x50\xd6\x62\x59\xe1\x13\xe0\xb4\x50\x33\x6b\x48\x1b\x96\x3d\xc2\x1b\x9d\x19\x38\x3c\x3b\x17\x51\x52\xe0\x17\xda\x5d\xe6\x93\xf9\x7f\x95\x1b\x56\xbf\xd0\x1c\x4c\xd2\x70\x11\x15\x06\x57\x71\x89\xb1\x0c\xfc\xef\xd6\x0c\x7d\xc0\x25\x90\x77\xb1\x10\xd3\x14\x87\xe6\x8c\xd7\x2b\x7c\x96\x83\xd5\x39\xaf\xdb\xf5\xdb\x5e\xb9\xb6\xd3\xef\x5a\x24\x37\xb3\xd9\xb1\x9d\x14\xfb\xdf\x26\x36\x4d\x83\x9b\x89\x6c\x5a\x70\x9e\xde\xd4\xb4\x86\x26\x7d\x70\xea\x3c\x6b\xee\xdd\x38\xda\xb6\x11\x2c\x59\x6d\x6a\x87\x34\x2b\x86\xc6\xe0\xd2\xbf\xa1\x49\x16\x2f\x98\xb3\x9c\x7b\xe2\x21\x37\x9a\x08\x01\x81\x9b\xe3\x7f\x66\xd3\x38\x1f\xdb\x56\xc0\xab\x79\x1e\x2f\x53\xad\xf0\xd4\xf8\x9f\xe0\x3e\xca\xf8\xfd\xec\xf7\x0a\x5f\x2e\x0d\x43\x24\x72\xc2\xcb\x58\x97\xe3\x22\x59\x70\x61\x78\xcf\xc7\x48\x8e\x36\xbe\x25\xc5\xa2\x85\x50\x8a\x22\x78\xa9\x99\x2b\x8a\xfd\x08\x24\x18\x79\x25\xd8\xa2\xd7\x3a\x4d\xcd\xbf\x13\xac\x3a\x06\x95\x83\xce\xc6\x2b\x2a\xd5\x6c\xda\x76\xa9\xb5\x1f\x00\x31\x4e\x1a\x53\x42\xb4\x2e\x2f\xbc\x20\x80\x87\xf5\x9e\x50\x94\x41\x36\xe0\x7a\xba\x56\x38\x14\xa5\x3a\x06\x3d\x2f\xda\x5b\xc0\xe0\x38\xe3\x2d\x5c\x60\x49\xa1\x22\xf0\xca\x2f\x7b\xea\xa3\xd6\x7c\xb0\x50\x73\x78\xf8\x30\xf3\xba\x07\x87\xcd\x28\x9b\x8e\xb8\xb8\xf9\xb2\x04\xf3\x23\xfd\x75\x91\x26\xe3\xa4\x4a\x57\x86\x6d\xa2\x48\x8c\xdc\x4a\x82\x04\x18\xae\xd5\x99\x69\xe9\xb8\x7a\x91\x0c\xc1\x31\xf4\x5c\xfd\x34\xd3\x70\xa2\x7b\x71\x44\x5d\x2c\xcb\x24\x53\x98\x03\x30\x64\xba\x48\x0a\xb9\x8d\x71\x52\xc2\x45\xb4\x74\xbe\x8d\x34\xe7\x59\x4e\x76\x26\x49\x36\xd1\x85\xce\xc6\x3a\x88\x9c\xc8\x55\xad\xd5\x89\x3f\xb9\x30\x08\xb6\xf7\xcb\x2a\xef\x59\x97\x69\x65\x9f\xd6\x76\x1a\xf4\xd7\x68\xbe\x48\x61\xd4\x4e\x57\x8b\x64\x1c\xa5\x6a\x59\x46\x53\x78\x31\x1a\x8d\xbe\x50\xbc\xd6\x7e\x9f\x0c\x93\xe4\x72\xc2\x4f\x66\xcb\xb8\x2a\x86\xb5\x05\xdb\x3e\x6b\x65\x53\xf4\x83\xdf\xb7\x85\x31\x40\x9a\xcd\x57\xe5\xea\x32\x19\x5f\xaa\x7c\x32\x51\xab\x7c\x59\x80\xf1\x38\x79\xba\xd4\x72\x11\x2a\x3e\x8d\x0c\x58\x98\x2f\xab\x9c\x0a\x93\x4e\x38\x86\x67\x2a\x35\xd8\xee\x98\xb9\x75\x0b\x11\x8b\xb4\xcd\xee\x25\xd9\x55\x7e\xa9\x9d\xe3\xa1\x8b\x74\xda\x55\x7b\xe3\x7c\xbe\x48\x52\xf3\x64\x01\xf7\x0c\xb9\xc0\x39\xe4\xaf\x6d\xf7\x51\xe4\x86\x5e\x63\x3a\x17\x3b\x75\x2f\x4e\xa6\xba\xac\xda\xfc\x71\x8d\x0f\xa3\xd1\x88\x86\xe8\x63\x3e\xd7\x55\x32\xd7\xa5\x19\x0a\x75\x1d\xa1\x80\x0e\x9c\x50\x01\xe2\x82\x19\x3a\x19\xb7\x36\xe2\xe8\xaa\xe9\x4a\x15\xcb\x0c\xae\xe6\x36\x3c\xf3\x02\xa2\x7e\x02\x3c\x17\x9b\xd8\xd0\xb7\x9e\x7a\xaf\x8b\x59\xb4\x28\xbb\x5e\x5d\x3c\x94\x59\xac\xa8\x7f\xe8\x2c\x3b\x8f\x8a\xcb\xe5\x02\xd5\x47\x1c\xd7\x55\xcc\x14\x78\x43\x5d\x68\x0d\xd8\x1b\x55\x59\xe1\x15\xb7\xa7\xfe\x4e\xb6\x17\x71\x8e\x16\xa8\xcb\x12\x4c\x33\xad\x6b\xaf\x17\x9d\x17\xb6\x9f\x29\xb8\xca\xd5\x5f\xbd\xc0\xd3\x6c\x44\xe8\xaf\x71\x3f\xc0\x89\x5d\xda\xfb\x1c\x07\x73\x12\x25\x85\x19\x94\xa8\xd0\xe0\x33\x64\xc1\x96\x20\x06\x6f\x84\x8e\xc8\x91\x69\x98\x0d\xd9\x9c\x26\x17\x45\x54\x10\x03\x0a\x4b\x06\x9b\x6b\xca\xc5\x21\xe8\xed\x53\x35\x27\x59\x10\xef\x9a\x76\x14\x45\xa2\xbd\x48\x73\x58\xd5\x18\x2c\x95\xec\x87\xc0\xc1\xd7\x50\xa1\x03\x07\x9b\x30\x02\xea\x6a\x83\xda\x1a\x1e\x3e\x8e\x1d\xef\x0e\xc2\xb8\x89\x0f\x1d\x09\x91\xe8\x2e\x56\x34\x48\x3d\xf5\x93\x46\xd9\x1d\xcf\x98\x99\x3d\x33\x44\xa6\x64\x58\xfc\x54\x16\x87\xe1\x75\xd1\xb3\x6d\x44\x5b\x6f\xdb\xc3\xce\x8e\x93\x2b\x35\x54\x7b\xed\xd6\x13\xf3\xe4\x35\x79\xb8\xfb\x66\xf5\xbc\x2a\xd2\xdd\xa7\xdf\xbe\x91\x09\x40\x2f\x8d\x2e\x74\xba\x5e\x3f\xe9\xc7\xc9\xd5\xd3\x16\x2e\x6c\x07\x54\xd9\x33\x4d\xee\x90\xe6\xb3\x6d\xca\xb6\x64\x21\x98\x46\x81\x6d\xe9\xd6\x46\x7d\x9b\x52\x57\xed\x7e\x34\x4d\x86\xce\x08\x42\xc4\x25\x42\x75\x8c\x94\x49\x5b\x4f\xec\xde\xe4\xaa\xd3\x2e\xdd\x9e\xf5\x36\x65\x7f\x27\x3c\xb6\xf1\xf4\x10\xc7\xf4\x12\xe3\x2c\x07\xa7\x30\xac\x10\xa6\x3e\x74\xe2\x20\x37\x3c\xd5\x86\x05\x5e\x56\xf9\x3c\xaa\x0c\xd9\xe5\x73\xc7\x4c\xb8\x8e\xc6\xb3\x5b\x91\xf0\x3e\xc6\x7d\x7c\xf5\xf6\xe7\xe3\x0f\x7f\xf9\x08\x81\x2c\x79\x6c\x3e\x97\xfb\x67\xff\xf9\xb9\x7d\xbe\xff\xb9\xfd\xb9\xdc\x6f\x9f\xfd\xe7\xe7\xce\xf9\x7e\xe7\x73\xa7\x3f\x3f\x12\x79\x7e\xfe\xf8\xfe\xf5\xc9\xa9\xc9\xd8\xed\xcb\xf7\x50\x94\xc9\xf7\xf3\xb3\x4e\xfb\xf3\xc7\x87\xcf\x3a\x9f\x1f\x7d\x2e\xf7\x39\x1a\xe6\xc7\xd3\x0f\x27\xef\x7f\x7e\xfe\xee\x0d\xa3\x2b\xf5\xdb\xed\xcf\xfd\xcf\xfd\xde\xfe\x5e\xe7\xbb\x79\xda\x3f\xfb\x5c\x7e\xfe\x78\xbe\xff\xec\xf3\xfe\xe7\x7e\xa7\xd3\x9f\x53\x20\x56\xdb\xfc\x5a\x74\x54\x0f\xd8\x63\x47\x18\x64\x81\xdd\x14\x4b\x46\xc9\xac\xd0\xbc\x5d\xcd\xf3\x65\xe9\xb8\x81\xae\x39\x74\x31\xe0\x3c\xde\x45\xaf\x74\xb1\x52\xa9\x8e\xd8\x99\x8b\x4b\x34\x77\xe2\xa8\x5a\x12\x03\x3d\xd3\xe9\x42\x25\x19\x16\x0d\x11\x9a\xa7\x78\x3d\x45\x68\xbc\xec\x14\xe3\x7f\x4d\xb2\x1e\x23\xa0\xb5\x1d\x52\xb9\x3f\x0c\x5d\xd5\x6a\xd9\xc8\x7e\x11\x8a\x8f\xb1\x80\xde\x3c\xaa\xc6\xb3\x36\x4d\x53\xe7\xc8\x85\x55\x2a\x03\x06\xd8\xde\xf9\xda\x70\x41\x33\x29\xce\x1e\x9d\x13\x94\xb5\x84\xa9\x2e\x3f\x17\x9f\xb3\xf3\x87\xfd\x2e\xa2\x42\x3f\x54\xad\x4e\x8b\xaf\x2f\xb6\xac\xac\xe5\x03\x18\x11\x5f\xa1\x41\xa6\xcb\x8c\x4c\x88\x5d\x44\x13\x61\xa3\x1a\x42\x0f\x44\xb7\x5e\xe8\x71\xca\x3f\xd3\xa8\xac\xec\x05\x9a\x2e\xb3\xe4\x31\x59\xbf\x30\x63\x84\x2d\x2a\x9e\xdc\xf6\xf0\x87\x90\xa5\xba\xcf\xce\x43\x1c\xfd\x30\x7b\x75\x2c\x63\x50\x8a\x53\x37\xea\xae\x9b\xf7\x6c\x88\x30\x8b\x8e\x71\x2f\x0b\xb4\xe0\xca\xa1\xb4\x4c\xb2\x1e\x83\x01\xbb\x45\xd7\x6c\x2f\xc9\x31\xbd\x82\xd5\xdc\x6e\x61\x63\xe2\xa4\xd5\xf5\x6a\x68\x7d\x3b\x5c\x73\x1c\x2f\x3c\xfa\x98\xdb\x94\xac\x1e\x1c\xb6\xf0\x1b\x19\x47\x43\xea\xe2\x80\x81\x6c\xd1\x6c\x35\x29\xcd\xef\xbe\x58\x5d\x29\x34\xaf\xdb\x56\x2c\x55\x62\xaf\xc6\x90\xe1\xec\xd1\x39\xd9\x1c\x48\x7a\x22\x8d\x0f\xa2\x62\xea\x0f\x78\x54\x4c\x6d\x9b\x30\x93\x4c\x9d\xa6\x5d\x70\xa6\x2c\xca\x71\x5e\x68\x1f\xbc\x87\xff\x68\xd8\xd1\xb6\x2d\x18\x0e\xdf\x6d\x7f\x5d\xb3\xec\x73\x8b\xce\x9c\x6a\xf8\x24\x34\x1f\x12\xe4\x04\x71\x8d\x45\x88\x22\x40\x3c\x83\xe1\x25\x0f\xb8\x03\xf5\x08\xf3\x46\x65\xa9\x8b\xea\xb8\x98\xc2\xaa\x39\x33\x09\xcf\xbb\xb0\x01\xa9\x01\xde\xaa\x2f\xd3\x64\xac\xdb\x87\x5d\x28\xb0\x2e\x6d\xf1\x0b\xc3\x62\xa4\x01\x8f\xdb\xe1\xb6\xfd\xb7\xf7\x94\x09\xcf\x31\x16\x8b\xdb\x83\x6c\x4f\x70\xf7\x1b\x0e\xb4\x91\x4d\x33\x52\xc0\xcc\xe1\xa9\x45\x17\x48\xe1\xf8\x8c\x61\xf4\xe0\x1a\xc9\x68\x24\x17\x2b\x53\x82\x77\xb6\x91\xe2\x91\x15\x90\xc5\xba\x4b\x59\xab\xc4\x5c\x38\xc0\x6d\xa0\x4b\xfb\x41\xcd\x75\x35\xcb\xe3\xb2\x8b\x2c\x43\x8c\x80\xae\x74\x57\x64\x06\xe6\xd4\xe3\xc7\x28\x60\xf9\x2c\x4f\xe3\x12\x46\x71\x10\xf2\x39\xb7\xb8\xc3\x30\xbf\xa0\xbf\x2e\xf4\xb8\x6a\xbb\x8b\xc3\x54\x57\xde\xd9\xd5\xe9\x55\xf9\x0f\xda\x25\xd8\x98\xb1\xc6\xca\xd8\x1c\xee\x6e\xe1\x4f\x73\x5e\xd8\xfb\x42\x73\x2d\xee\x02\x71\x9f\x6e\x85\x86\xac\xf0\x9d\x5a\x1d\x5b\x52\x43\xa9\xfe\x1a\x5d\x45\x1f\x61\x6e\x9d\x13\x10\x48\x6c\x1d\x51\x2a\x11\xda\x5a\xbc\x40\x2c\x53\xad\x63\x12\x1b\x34\x5d\xf3\xe1\x96\x0d\x37\x0e\x37\x0b\x85\x06\x37\xe0\xab\x28\x4d\x62\x05\x33\x02\x72\x76\x2c\x57\xa8\x11\x49\xc5\x6c\x9b\xef\x80\x0c\xa0\x21\x85\x56\xfa\x97\x65\x72\x15\xa5\xe8\x93\x1d\xce\x24\x60\x27\x4c\x74\x51\xe8\x58\xb5\x01\x73\x01\x51\x5c\x93\x09\x60\xff\x40\x1f\x11\x45\x41\xc7\xfd\xfc\x62\xb2\x2c\xc7\x60\xc8\x7f\xd3\x85\x90\xf6\xc9\x71\xe7\xdb\xda\xbf\xc9\xf2\x99\x1a\xe3\x1b\xdb\x0d\xa6\xf0\x2e\x27\x40\x50\xf2\x62\x80\x6f\x82\x14\x9d\xb5\x38\x5d\xeb\xfc\x68\x43\x63\x38\x9b\xdf\x80\x24\x4b\x93\x4c\x6f\xc8\x22\x8a\x15\x54\x56\x74\xe6\xbc\xb6\x74\xcc\xda\xa1\x9b\xb5\xbb\xe2\x88\xa5\xc2\x0a\x8b\x91\x3b\x63\x46\xca\x4c\x94\xeb\x3b\x4b\x29\x3c\xbe\x8b\x80\x9e\x79\x79\x88\xdf\xa6\x0e\xc3\x8b\xc1\xe5\xe5\x42\x53\x84\x52\x98\x6f\xaf\x04\xb7\x14\x48\x76\x05\x97\xc7\x71\x65\x6e\x98\x70\xd9\x43\xe2\x60\x16\x56\x9c\x94\xe3\xfc\x4a\xb3\x02\x46\xae\xdf\xa4\xb4\x72\x17\x1d\xa3\xb7\x80\x77\x97\x46\xa5\x83\x38\x73\x41\xf2\xb2\xff\xf6\xdd\xe9\xcb\xc1\x3e\xd6\x63\x77\x8b\x43\xed\x97\xc8\x1c\xb8\x67\x78\x71\x21\x90\x76\x9e\x96\x04\x96\x89\x60\xad\xf8\x06\x63\x5e\xd8\x8b\xb4\x14\x02\x59\x6a\x76\xff\xbe\x25\xb8\x23\x7f\x0f\xab\x1f\xe0\xce\x80\x58\xc2\x22\x91\xd3\xee\xa0\x3f\xa3\x03\x73\xb6\xfd\x34\xbf\x9c\x27\x1f\x8f\xa7\x85\x0d\xeb\xc9\xc5\xc0\xcb\xeb\x18\x64\x89\x68\x74\x91\x4f\x44\x41\xd0\xdc\xae\x19\x4a\xc2\xdd\x80\x83\x32\xa9\xf4\xdc\x8c\x24\xe0\x81\xb3\xa5\x86\x37\x9f\xe4\x54\x41\x17\x99\xe0\x7e\x05\x53\xd9\x70\x2c\xdd\x9f\xea\x6a\x83\xc4\xf3\x03\x92\x4b\x90\x50\xe1\xd1\xc3\x57\x66\x5a\xf0\xa1\xf0\x91\x15\x5a\x50\x83\x59\x93\xf0\x40\x79\x6c\x19\xe2\x68\xeb\x35\xe5\x06\x2f\x93\x42\x1d\x67\x84\x29\x14\xa5\xac\xc3\xaa\x72\x3e\xd4\x84\xbb\x09\x97\xef\x10\x07\x0c\x5d\x34\xa4\x54\x17\x45\x5e\xa8\xb9\x2e\xcb\x68\x8a\xf3\xcf\x02\x3f\xf5\x6d\x7f\x0d\x0d\xe4\x46\xdd\x71\xcc\x90\x1a\x6c\x18\xb6\x13\x3c\x59\xc1\x81\x0a\x37\x10\x78\xc1\x2c\x11\xbd\x41\xbc\xb5\xdb\xcf\xe2\xbc\x0b\x4e\x20\x1c\xdb\x7b\x7c\xee\xac\xcd\x8d\xe0\x34\x98\x77\x6c\x50\xcf\x1d\x4e\x62\x31\x1a\x1a\x8f\xc5\x1a\x22\x30\x1e\xe7\x45\x4c\x83\x49\xfb\x44\xd5\x64\xcd\x4c\x47\xdd\xf6\x58\xab\x82\x59\x02\xdb\x24\xd4\x51\x0c\xd7\x88\x10\x01\x82\xe0\x6a\x96\x94\x23\xab\xaa\x60\x9e\x1b\x3b\xdc\x9c\x37\xcd\xc7\x51\x5a\xaa\x77\x3c\xd5\x2c\x75\x3d\x99\xa8\x45\xa1\x4b\x04\xa4\xcb\x40\x2b\xe3\xef\x67\xe8\x17\x80\x9f\xd0\xf0\x25\xa5\x54\x82\x86\x7f\xc4\x44\x81\xd1\x7d\x57\x5d\x80\xe9\x72\x38\xe6\xe0\xe3\x94\x67\xe5\x32\xad\x58\x60\x6d\x05\xc4\xfb\x52\x17\x83\x6f\x31\x76\xb0\xec\xe8\x68\x92\x8d\xec\xbc\xdc\x71\x4d\xcd\xa2\x72\xc3\x82\x3a\x46\x99\xb6\xa9\x68\x59\xa2\x1b\x25\x84\xb7\x65\x37\xbd\x45\x54\x54\xc9\x18\x24\x93\xb4\x31\x31\x86\x51\xb9\x75\x7f\xbe\x15\x7b\x93\xb3\x71\xc9\x41\xdf\x49\x5c\xbf\x56\x23\xc3\xef\x8d\x20\x4e\x1b\x93\xf7\x59\x54\xaa\x69\x72\xa5\x33\x49\x14\xee\xb4\x95\x2c\x6b\xba\x59\xeb\x42\xc2\x3f\x49\x86\xfe\xfa\x11\x9d\x6a\x61\xdd\xd1\x8e\x42\xc4\xa0\x08\xe6\xb0\x2a\x96\xd0\x3e\x9e\x0d\xe6\x78\x71\x1c\x33\x7d\x6d\x4a\x37\x74\x3d\x02\x03\x71\xbb\x45\x01\xef\x28\x4d\x79\x64\xdc\x26\x65\x61\x5f\x43\xd9\x60\x9d\xc0\xb4\x9e\xd6\x04\x1c\xc2\x22\xad\x3b\x32\xc3\x59\x71\x1b\x1b\xd4\xc1\xc7\xcc\x00\x35\x56\xf5\x8f\xd9\x44\xbf\x75\xb3\xb0\xf6\x32\x9c\xb4\x91\xe9\xe1\xe8\x8e\x2b\x84\x39\xc2\xad\xa7\x94\x7f\x96\xf2\x7a\xc6\x3e\xa2\x80\xd0\x3b\x23\x92\x52\x15\xfa\x97\xa5\x46\x70\x48\x43\xaf\x3c\x66\x3b\x29\xd5\xf1\xfb\x13\x85\x83\x01\xf7\x31\xbb\xd1\x9d\x7e\x25\x36\xe4\x75\x9e\x64\x2c\x81\xb4\x5a\x3e\xc6\x22\xbb\x10\x74\xd7\x0a\x8b\x85\x45\x1b\x72\x4a\xc0\xd7\x8b\x76\x11\x2d\x81\x85\x5d\x68\xc2\xde\x2a\xb4\x46\x26\x3f\xc9\x9a\xba\x63\x55\xd7\xbc\x74\x6c\xe4\x23\xbc\x59\x78\x9a\xc6\x44\xf0\x42\xea\xd8\x5b\x0e\xe2\xc2\x57\x82\x83\x76\x09\x31\x1b\xe7\x04\x0f\x4a\xfc\x21\x4a\xcd\x45\x71\x22\x50\x89\xdd\x2e\xc1\xa9\x4c\xa3\x0a\xcc\x1e\xb2\x3f\x17\x2b\xb3\x7c\xae\x74\xc1\xca\x00\x31\x0a\x84\x1b\x81\xa7\x3e\x4a\x78\x3c\xf6\x58\x9c\xab\xd4\x26\x2e\x83\x1b\x60\x6a\xb0\x6c\x5f\x70\xa1\xf9\x8b\x21\x57\xc1\xf5\xe2\xcd\x4a\x84\xc0\x42\xac\xe9\xae\xda\x2b\x72\x86\x4f\xc5\x83\xa5\xdf\x57\xbd\x1e\xd9\xda\xac\xe5\xa5\xe1\x74\xc6\x25\xd2\xc5\xd4\x5e\x1c\xac\x8c\x50\xd6\x00\x17\xce\x97\xbf\x2c\xa3\xb4\x7d\xc6\xc8\xd6\x5d\xd5\xc2\xfa\x5a\xb5\x3b\x84\x55\xf7\x10\x9f\x4d\x51\xab\x70\x10\x2e\x56\x34\x42\xc4\x62\x3b\x3e\x92\x99\x6d\x9c\x52\x97\xa3\x81\xdd\x86\xbb\x9c\xe4\xb9\x55\x5f\x32\xdc\x3d\x90\x12\x43\xad\x85\x8e\xca\x3c\xd0\xd1\xf8\x57\x02\xd3\x90\xa8\xd2\x53\x46\x8e\xb3\x30\x1a\x6e\xd5\x9d\x0a\x52\xe2\xf8\x6b\xbe\x1e\x4d\x24\x8f\x6d\xce\x97\x66\x6e\xdc\xcc\x7e\x52\x95\x74\x24\x27\x01\x05\x80\xb5\x52\x76\x91\xf0\xc1\x19\x87\x6f\x4c\x0d\x85\x06\xaa\x68\x89\xa0\xa3\x18\xe5\x8d\xfb\x76\xfb\x7a\xba\x8a\x0a\x6f\x29\x49\x53\x19\x77\x3b\x26\x45\xa8\x7b\xf1\xe1\x86\x75\x46\xa0\x20\x20\xf3\x91\x37\x40\xb7\x05\x31\x91\xac\xfa\x8c\xc5\x28\x2d\x00\x74\x68\x58\x66\x47\xff\xb8\x15\x8c\x53\x8e\xb3\x13\x48\x4d\x4e\xc0\xc0\x2e\x9f\x54\xda\xf4\xa8\x4c\x0a\x76\x10\xc7\x8b\x38\x49\x5e\x74\x2c\x0c\x15\xf0\x26\x1b\x55\xad\x12\xa9\x68\xa9\x2b\x4b\x00\x1a\x97\x95\xa9\x01\xf4\x17\x49\x06\x34\x27\x4b\x20\x56\x18\xea\x1a\x4b\x43\xec\xaa\x25\x5d\x67\x9d\x2a\xd5\x6f\xad\x05\x97\x9c\xac\xea\xf4\x2f\x81\xa1\xbb\x09\x61\x12\x81\x82\x2e\x30\x7a\xc8\x78\x96\x27\xe3\x26\xd9\x59\xbf\xaf\x7e\xd2\xea\x3a\x29\x67\x10\x63\xa6\x48\xc8\x0e\x46\xb5\x9d\xac\xa5\x69\x8f\xaa\x32\x9a\x68\x92\xbb\x6c\x96\x8a\x39\xdd\xbb\xd3\xa9\x6f\x58\x77\xbe\x58\xe4\x27\x3c\x8a\x20\x82\x6f\xec\x5a\x76\x51\xe8\xe8\x12\xa7\x8a\x8d\x33\x11\xe9\x62\xbe\x78\x95\x35\xaf\xfe\xe7\xdc\x04\xb9\xfe\x6f\x68\x0b\x89\x70\xa0\x54\x4f\xca\xc3\x1d\xa2\xc5\x47\xc5\x58\x99\x4f\x38\x10\x50\x80\xdf\xb1\xd3\x9c\xa7\x84\x01\x7b\x68\xe1\x05\xd7\x7c\x78\x27\x2d\x49\x4a\x47\xd9\x9a\x2b\xdb\xd8\xba\xae\x37\x2c\x72\x3c\x6e\x1c\x88\xc0\xee\x03\x78\x04\xc3\x9d\xdd\xb0\x75\xed\xcd\xe8\x96\x6d\x5a\x96\x3f\xbb\xa5\x42\xbf\xe5\x82\x59\x9f\xd3\x4a\x53\x1e\x1d\xd8\x30\x19\x21\x35\x08\x39\xdf\xef\x1b\xad\x96\x26\x42\xde\x6a\xb8\x34\xe4\x7d\x78\xef\x55\x01\xa3\x47\x8c\x17\x70\x17\xda\x0a\x19\x62\x94\x97\x1b\xa6\xf1\x42\x03\x78\xcc\x55\x4d\x72\xb1\xc5\x20\xe9\x05\x1f\xba\xb7\xb3\x29\xf2\x19\x61\xaf\x63\x4f\xd7\x56\x28\x52\x06\x37\xaf\x46\x26\x95\x82\xfa\x94\xc4\x2f\xd7\x74\xe6\x75\x5d\x03\x49\x47\x36\xab\x1a\x4c\xfd\x8d\xca\x02\x7e\x58\xdb\x21\x85\x83\x97\xcd\xaf\xf3\x09\x6b\x0a\xc8\xb6\x0d\xb1\xca\x0c\xa9\x34\x73\x9e\x67\x86\xe7\x33\x15\x58\xc6\xf3\x46\x75\xbb\x7a\x63\xae\x23\x38\x0c\x1e\x86\x18\x8a\xb6\x4b\xc3\x6e\x2e\xf2\x12\x62\xc9\xed\x08\x1d\x07\xa9\x12\xde\x90\x01\x1a\x75\xec\x38\xb3\xd6\x39\xfb\xfb\xd4\x85\xfd\x7d\x02\xea\x05\xfc\xb1\x2a\xcf\xf8\x5e\x83\xa6\x57\xc0\x3a\x45\x2e\xb9\x9a\x44\xa6\x65\xab\xfd\xfd\x9e\x22\x60\x33\xfb\x0d\x98\x74\xf8\x9c\xe8\x72\x7f\x1f\x49\xa1\x6d\x31\xcc\x5d\x17\x84\x73\xcb\x22\xeb\xc2\xd7\x0d\x75\xb0\x52\x66\x7f\xbf\xc7\xf3\x51\xff\xc8\x35\x34\x5d\x00\xcb\x9e\xfa\x09\x10\x59\xdc\xbd\x39\x46\xf0\x2f\xb0\xbc\x23\x8b\x18\x15\x99\xd2\x2d\xab\x44\x41\xf9\x46\x7b\x53\x5d\x8d\xc8\x68\x8e\x35\x38\x5e\x0b\xec\x10\x78\xfc\x8e\x29\x0b\x2a\x5d\xe5\x4b\xbe\x37\x01\x00\x32\x64\xea\xde\x6a\xbe\xf1\xca\x55\x2e\xf2\x0c\x31\xef\xcc\x32\x9a\x24\x59\x2c\x2c\x81\xc6\x79\x51\x98\xe9\x69\x1a\x2d\xa9\xc3\x02\x77\x81\x8a\xe5\xd9\x99\x95\xa0\x1b\x66\x10\xbb\xd8\xd4\x23\xef\x9e\x25\x62\x1d\x84\xb2\x4d\xb1\x7c\xb8\xef\xef\x80\x39\xb1\x5b\x15\x74\x3a\x59\x6e\xc6\x7a\x92\x4c\x97\x05\x21\x58\x2d\x24\x73\x62\xae\x6e\xa0\xa1\xb6\xb7\xc1\x28\x8e\xed\x1e\x22\x9e\x52\x2c\x2e\xee\x29\x2e\x3d\xfb\x13\xcd\xfe\x2f\xa0\xba\x39\x5e\xc2\x0d\x97\xdb\x2c\x85\xa0\x48\xaa\x34\x04\x3c\xf9\xc0\xbb\x9b\x2a\x70\x9f\x8d\xa3\x92\x64\x20\x77\xa1\x03\x31\x3a\x8e\x47\x29\x18\x78\xe8\x42\xf6\x84\x89\x81\xa9\xc3\x91\x33\x8a\x3a\x4d\x2c\x13\x5a\x68\xd9\x4e\xb2\x49\x59\x63\x1b\xee\xdb\xce\xf3\x43\x9b\x1f\x3a\x6b\x75\x60\xeb\x2b\x37\x6c\x2c\x4b\x83\x76\x02\xd3\xd5\x4d\x4b\x73\x4b\x53\x60\x9c\x23\x8c\xfc\x0a\x0f\xed\xfc\xe2\x4b\xad\x15\x70\x03\xe9\x37\x18\x03\xa3\x79\xa1\x55\xd3\x2a\x70\xf2\xa5\x3d\x8e\x22\x27\x1a\xaf\xde\x96\x36\x08\x63\xf5\x3b\xd4\x0e\xba\xba\xe6\x26\x70\xa5\x5d\xb8\x04\xda\x06\x6d\x6b\x03\xed\x22\xde\x4d\xed\x49\x56\x6b\x06\x4f\xc4\xfe\xbe\x4d\x4c\x0b\xd3\xec\xde\xd1\x24\x1b\x59\xcf\x1a\xc4\x95\xa2\x95\x4d\x7e\x7b\x08\xd1\xde\x38\x9f\xd8\x35\x43\xb6\xf2\x52\x87\xcb\x1b\xcb\x61\xb2\x27\x66\x1d\x85\x92\x61\x5b\xb6\x75\x92\xab\xa6\x7f\x11\x34\xa1\x61\xc9\x35\x6d\x3e\xe8\x23\x64\x18\xfd\x71\xbd\x0c\x64\xa5\x68\xfe\x01\x42\x36\x9a\x7d\x77\x79\xc1\xde\x6f\x92\x20\x9a\xdc\x1f\x35\x9b\x0c\xc7\xc9\x55\x12\x2f\xa3\xd4\x3b\xe2\x81\xda\x24\x19\x7a\x07\xb1\x39\x0d\xd9\x62\x96\xb7\x93\xe0\x85\xfb\x79\x03\x4f\xf2\xc1\x02\x9f\xaa\xfd\x7d\xbb\xf7\xdd\xc0\xde\x85\xa7\x78\x1f\x66\x07\xa6\x64\xe3\x59\xca\xa3\x2d\x4c\x2b\x40\x1e\xea\x1f\x53\xbb\xd8\xa8\x24\x9b\xee\xaa\xc8\xad\xa8\xbc\xc0\x53\x36\x50\x86\x7d\x0c\xa6\x96\xf8\xbd\xb2\x8a\x8a\x4a\xc8\xe5\x9a\xa4\xef\x33\x74\x25\x03\x42\x8c\xc2\x15\x64\x20\x46\xdc\x2d\x10\x9d\x82\x2c\x86\x66\xc2\x3b\x7b\xb3\x69\x6f\x2f\xcd\xa7\xca\xfc\x27\xe4\xe3\x6c\x6b\x18\xc3\x6d\x3f\xc8\x65\x47\x4e\xfe\x58\x6f\xec\x14\x3b\x1d\x81\xcd\x1f\xd8\x38\xb8\x23\x82\x97\x11\xc5\xe6\x05\xe6\x39\x38\x2b\x49\x71\x21\x16\x06\x4b\x73\x78\x34\xd5\xc9\xdc\xdc\xad\xa2\xac\x4a\x57\x68\x4b\x6d\xaa\xe2\x62\xb4\xba\x36\xbb\x0b\xfc\x36\x84\xbc\x37\x29\x25\xdf\x85\xe2\x00\xb3\x8f\x4c\x05\xd8\x2a\xb0\x61\x9f\x81\x08\x2d\x72\xd7\x07\xd8\x5d\xd1\xb8\xea\xdd\x34\xb6\xcd\xa3\x84\x63\xec\x2a\xd9\x90\xe9\x3e\xd8\x43\xbe\x84\xd8\xe4\xb1\x92\x3f\xe0\x08\xc2\xe1\x4a\x75\x85\x66\xea\x2c\x6c\xb8\x16\x0e\x11\x5b\x27\x1a\x3a\x61\x5e\x43\xc9\x56\xef\x29\x14\x7d\x66\x0f\x40\x24\x85\xc2\x50\xfe\x5f\xa5\xbd\xed\x29\x50\xdc\x7b\xd3\x67\x89\x5c\x74\x15\x25\x29\x88\x6f\xc0\xe4\x4c\x8d\xa0\x84\x87\x3b\x9b\x74\x72\x2d\x1e\x99\xd6\x48\x5d\xea\x95\xa7\xdb\x68\xa3\x0e\xe1\xbb\xf3\x34\xeb\xac\x5d\x8d\x27\xfe\x02\x52\x49\x39\xb0\xd7\xe2\x03\x35\xc2\xbc\xa3\x01\xf2\x87\x49\xc5\x0e\x24\xb8\x52\x99\xb8\x92\x5a\x92\xa4\x91\xe2\x95\xed\x10\xeb\xf5\x80\xae\x6e\x65\x27\x48\x25\x5c\xb7\x18\xe9\xac\x51\x46\x25\xb5\xe8\xd2\x6d\x9d\xd6\x6b\xcf\xb6\xfd\xb9\x23\x54\xa3\x41\x83\xe2\xab\x71\xe4\x79\xd5\xdf\xaa\xa1\xce\x16\x4c\xb6\xd6\xbe\x6d\x77\xd6\x2c\x36\xa5\x52\xa3\x52\x8d\x70\xc3\x8f\xea\x57\x5c\xd6\xf5\xf0\x19\xa9\x63\x31\x2d\xd4\xee\x9d\x1d\xdf\x37\x66\xa7\x66\x55\xc6\x56\xfe\xe5\x2c\xbf\x2e\x71\x83\xe6\xd6\x45\x86\x94\x11\x8c\xad\x52\x44\xe3\x4b\xe1\x56\x05\xa4\xc3\xa2\x67\x27\x95\x1b\x84\xed\xdc\x25\xbf\xe9\x59\x36\xb3\xb3\xae\x5b\x40\x39\xb9\x2b\xb8\x0d\x98\x16\x9c\x9a\x06\x08\xf6\x14\xd2\x59\x2e\xfc\xa5\x48\xe2\xfb\xc2\xc3\xac\x80\x70\x8c\x7a\xf0\xa9\x48\xd5\x50\xb5\xfa\xf0\xbb\xe5\x04\x3b\xa6\xd2\x63\x37\x8a\xb4\x28\x29\x5a\x3c\xd0\x3f\xd3\x7d\x67\x1f\x02\xf9\x75\xcc\x28\x36\xd6\x5b\xca\x5c\x5a\xa2\x2b\x16\x4f\xa1\xa3\x5d\xa9\xb1\x71\xb6\x7a\xbb\xc1\x96\x45\x2a\xa4\x4e\x41\x23\x97\x45\xca\xae\x37\x6b\xbf\xa1\xa7\xe2\x04\x0b\xb9\x2d\x59\x31\x61\x00\x9c\xb5\xf6\x66\x55\xb5\x90\xf2\x26\x78\x21\xab\xb6\x63\xa4\x11\x86\xb5\xa4\x78\xc3\xfc\x9d\x8d\x38\x76\x9c\xbe\x1f\xa2\x7c\x02\x16\x2e\xaa\xaa\x20\xbb\xd9\x74\x30\x26\x22\x21\xfc\x1e\x34\x61\xf5\x0a\xdb\x01\x00\xf3\xe2\xa0\x45\xb2\x21\x88\x0b\x04\x06\xe4\x87\x47\x5e\x16\x4c\xfe\x70\x08\x26\xac\xe2\x7d\x63\xf6\x21\x26\xf7\x53\x32\x7e\x64\xf8\x65\xdd\xdd\xd2\xcf\x92\x3d\xc2\x83\x35\x40\x37\x4c\x31\x89\xa2\x10\x93\x29\x0c\x3c\x2e\x1a\x02\xf3\xd1\x5b\xe4\x65\xd5\x16\xf9\xbb\x7e\x57\x3a\x5e\x13\xed\xb3\x9d\xa5\x35\x89\x60\xad\x9a\x8c\x25\x70\xed\x96\xdc\x44\x72\x1d\xf8\x9b\xc4\xd4\xff\x71\xb1\x12\x8b\x0d\xf5\xd0\x60\x2e\x8d\x16\xaa\x42\xae\x4d\x9b\x45\x76\x05\xd0\xa2\x89\x2a\x6c\xdf\xbb\xd0\xe9\x1a\x35\x08\xdb\xd9\xb4\xb1\xed\x28\xac\x3b\x9d\xdb\xb5\x54\x37\x95\xe2\xb7\xfa\xb9\x65\x72\xb6\x37\xb9\xa9\xa8\x60\x7f\xb7\x5b\x7d\x04\x26\x3a\x40\x1a\xb3\xa1\xbd\x49\xd5\x6e\x41\x82\x92\xd6\x4f\xab\x4b\xd2\xec\xe6\x86\xcb\x06\x93\xcc\x59\x7e\x46\xa4\xad\x76\x2b\xcd\xa7\x49\xd6\x12\xaa\xa2\x47\x62\xd5\xdc\x25\xdf\xe3\x2d\xed\x36\x8b\xb9\xb6\xde\x0d\xbd\xba\xa1\x0f\x5d\x55\xa3\x3b\xb4\xe4\xd4\x50\x95\x8b\xd5\x3b\x22\x4c\x5d\xd5\x32\xef\x5b\xb2\xe9\x9b\xdb\xbc\x21\x91\x69\x64\xbb\xde\x79\xaa\xd0\x74\xf4\xc7\xe8\x4a\xff\xa0\x75\xf6\x1c\xf8\xf3\xcd\x69\x7b\xf3\xbc\xac\x3e\xe8\xb1\xce\x2a\x93\xb4\x07\x2e\x2d\x87\xe7\x9d\x9e\xe1\xe8\x78\xbc\xf8\x48\xb9\x7b\x29\xae\x84\xe6\x75\x73\xab\x82\x1e\x89\x82\xbe\x29\x1a\x9a\x81\x7a\xc4\x4e\x60\x6e\x1e\x55\xcd\x2f\xec\x96\x77\x4a\x3a\x69\x6e\x73\xa5\xac\x49\x02\x59\x00\x6a\x99\x27\x94\x8e\x56\xb9\x73\x9b\x77\x47\x9a\xb4\x10\xb4\x36\x0c\xe5\x2c\x2f\xaa\x9a\x24\xdc\xc9\x40\xf0\x68\x36\xd7\x19\x77\xef\x32\x37\xca\x12\x0d\x23\x40\x36\x53\x13\xd4\x75\xdd\x25\x80\x2c\x3b\x3d\xbb\xaa\x66\x51\xc6\xdf\xcd\x4d\x01\xcf\xfb\x65\xd9\x2c\xd3\xb3\xc2\x1b\x4b\xe2\x58\x8a\x33\xd5\xd5\xab\xac\xb3\x56\x09\xf8\x08\xab\x18\x83\x4e\x08\x2d\x8a\xbb\x6e\x81\x0f\xb1\x1b\x93\x06\x61\xde\xdd\xae\x11\x32\x87\x3b\x00\xd6\x6a\x0f\xda\x04\xf9\xe8\xd1\x19\x13\x12\x0f\x0c\x5c\x21\x18\x25\x9c\x64\x95\x2e\x32\xf0\xf5\x73\x81\x58\x70\x6e\x66\x51\x16\xef\x6c\x31\x07\x24\x30\xac\x51\x9d\xec\x63\xc8\xd6\x6f\x7b\x80\xad\x80\x6d\x58\x77\x46\x1b\x0c\x9c\xb6\x32\xbd\x75\x97\xf0\x1f\x49\x2c\x6c\xf8\x12\x62\x78\xf3\x49\xf3\x1a\xf2\xb9\xd0\xfa\xdc\xb5\x16\x49\x36\x6d\x75\x6f\xc3\x4f\x71\x94\x47\x6b\x1b\x0a\x56\x34\xf2\xd0\x67\xc7\x08\x38\xf8\x4b\x9d\xc5\xed\x56\x1f\xca\x77\xfb\x9e\x0f\x76\xdf\xc2\x1d\xd6\xdf\x35\x2c\x3f\xbc\x6a\x39\x3f\x67\x74\x2e\x4f\xec\x8d\x5e\xa5\xc9\x25\xbe\x19\x04\x7d\x2b\xf3\xb9\x46\x75\x4e\xcf\x39\xc3\xb6\x5b\xcf\x2b\xa0\xe1\x67\xdc\x53\xdb\x3f\xf3\x5b\x34\x1f\xbb\xd3\xd8\xbc\x06\x3f\xd3\x4d\x04\x45\x2a\xd3\x6e\x49\x50\x84\x48\xa9\x4e\x54\xf8\xea\x08\x12\x9f\x51\xa6\xaf\x47\xe2\x46\x13\x08\xff\x7f\x27\x1a\xd3\x2a\x6b\x62\x43\x22\x24\xa2\xae\x46\xcd\x81\x27\xaa\x64\xff\x23\xcf\x69\x68\x03\x45\xbc\x2d\x09\xe2\xbc\x76\x19\x87\x32\x56\x26\x41\x78\xd5\x92\xd4\x06\x84\x43\x66\x63\x57\xab\x85\xee\x43\xfa\xdf\x4e\x72\x9c\xcd\xa5\x1c\x8f\x63\x04\xb9\x52\xed\xa6\x41\xea\xf8\xa3\x24\xf5\x6f\xff\x70\xe2\x70\xc3\x15\xf7\xa6\xd1\x0e\x6d\x98\x0c\xbb\xfd\xde\x54\x30\xdc\x4c\x44\xf0\x0e\x67\x5e\xaa\x21\x12\x0a\xde\x71\x8e\x1f\x33\x65\xf8\xd6\x19\x40\x9a\xce\x83\x14\x0e\x70\xce\x90\x9a\x1a\x9a\x90\x47\xb4\x5c\xb5\xe8\x1a\xe6\x93\x25\x26\x4a\xb5\x8e\x32\xcd\x78\x4f\x40\xd4\xff\xdd\xe8\x15\x12\xd9\xdf\x4c\xb4\x28\x64\xef\xcd\x24\x0b\x75\x48\x4e\x2f\x7e\x6b\x91\x7a\x17\x11\xc9\x60\x03\xe2\x36\xeb\xa2\xa4\x13\x0d\x03\xba\xd6\xe8\x0e\x9e\x1c\xb4\x5a\x24\x2c\x3f\xef\x4e\xd2\x76\x84\x46\xb4\x99\xaa\x45\x35\x76\x88\x50\xd3\xea\x01\x7b\x51\x3c\xe4\x3c\xa8\x68\x34\x76\x9c\xe8\xde\x69\x7a\xff\x26\xc7\x89\xcc\x17\x93\x79\x92\x46\x60\xf1\x6b\xb5\x81\x4e\x83\xa6\xbf\x8e\xf5\xa2\xb2\x88\x6d\x2b\xcf\xe3\x58\xda\x10\xa2\x78\x18\x11\x0b\x7c\x61\xb8\xed\x80\x84\xfd\xf1\xcd\x1c\xee\x63\x8e\x75\x87\x83\xf4\xae\x58\xc3\x98\x5f\xe9\xa2\x48\xe2\x58\x67\xa4\xe0\x8b\xac\x21\xc4\x46\xf2\x10\xeb\x71\x0e\x66\xef\xca\x3e\xad\x7f\x3b\x49\xdd\x5f\x93\x25\xe6\x29\xbb\x49\xfc\x8e\x64\x11\x26\x22\x9f\x6b\xab\x81\x02\xa8\x3f\x60\x04\xb3\xa9\xf2\x56\x77\xcd\xe2\xd7\x12\x07\x54\xa1\xb6\x8e\x5f\xbc\x39\x79\xfb\xf3\xa7\x8f\x2f\x3f\xb4\xba\xaa\x15\xc5\x73\xbe\xb7\x35\x27\xff\x90\xa7\xfa\x75\x9e\x5f\x2e\x0d\x8f\xf5\x4d\x41\xfa\x81\x3a\xec\xa2\x01\x5c\x31\x50\x8f\x30\x9a\xb6\x79\x7c\xec\x59\xcd\x85\x25\xcd\xa2\x74\xf2\x6e\x22\x29\x83\xc3\x11\xf3\x88\x1e\xf6\xa7\xaf\x1e\x37\x01\xda\xdc\x81\x3c\xf0\x7a\xbd\x0d\x85\x08\xd7\xb6\xe1\x68\x1a\xb6\xfe\xed\xf7\x3d\x5e\x67\x6e\xaf\xba\xfb\x94\x01\xc1\xbd\x49\x05\xbe\x56\x09\xab\xd7\x91\x75\xf2\x36\xd9\xef\xb0\xc3\x50\x11\x45\xfb\x78\x07\x4d\xc9\xbc\x5d\x26\xb6\xd8\x1f\xb4\xbf\x78\x2e\x36\xef\x2f\x3b\x5b\xb7\xdc\x68\x37\xee\xaf\x2d\xbb\x8b\xeb\xaa\x9d\x83\x76\x7d\x5b\xe3\x88\xd6\xc7\x1f\x8f\x3f\xbc\xf8\xf9\xc7\x97\x27\x7f\xf9\xf1\xb4\xd5\x55\x7f\x3a\xfc\x1f\x4d\xfb\xc1\xa5\x7f\xf3\xf7\x9f\x9f\xbf\x7b\xfd\xee\xd3\x87\x8f\x70\x72\x16\x3a\x36\x7b\xf2\x22\x5d\x82\x0d\xe1\xb4\xd0\x2b\x0f\xe9\xaa\xa1\x84\x38\x5f\x5e\xa4\xfa\xd6\x9b\x6a\xff\x37\x6f\x2a\x3b\xa7\x77\xb9\x2a\xd8\x4c\x77\x53\x67\x1f\xab\x5a\x01\xb8\xe8\x2b\x5d\x40\x08\x47\x5c\x2e\x74\x21\x46\xd8\x2a\x6b\x95\x15\xb1\x6e\x25\x01\x08\x2a\x5a\xc3\xa0\xfd\x03\x80\x6f\x54\x90\x5e\xe8\x59\x74\x95\x18\x7e\x1b\x17\x9f\x38\x16\x51\x33\x46\x7b\x3b\x74\x79\x73\x8b\x7c\x1e\xad\x18\xfd\xc9\x06\x00\xb3\x8d\x00\x92\x90\xe9\x6b\xc9\xcd\x53\x89\x0c\xe9\x0c\xd0\x15\x80\x3e\x77\x5d\x44\x0b\x3c\xaf\x63\x9d\xea\x29\xc0\xed\x91\x60\x2f\x2c\xf9\x4e\xfb\x49\xb8\xb7\x51\xb3\x37\x0b\x20\x5c\xbf\x80\x6b\x11\xc6\x55\xc1\xbd\xce\xfa\x15\xb0\x09\xaa\x53\xea\xb1\x74\x52\x9a\xe8\x81\xb5\x0f\xde\x92\x84\x94\x89\x9b\x13\xd7\x6f\x57\xbe\x8f\xa7\x8d\xbe\xe6\xa9\xf8\x36\xae\x22\x56\x47\x06\xda\xc8\xb5\xf4\x9c\xc1\xbb\x21\x9a\x0f\xab\xc9\x32\x4d\x19\x71\x20\xba\x48\x35\x03\xca\xbe\xce\xc7\x51\xda\x04\x1f\xe0\xf4\xad\x80\x60\xc1\x13\x36\x52\x07\xb8\x6a\x82\xf9\xb2\xfd\xea\x0a\xf4\xd2\x0b\xad\xe6\x79\x76\xa9\x57\x6a\x11\x55\xe3\x99\x8e\xbb\x4e\xe2\x24\x70\x78\xdd\x20\x01\x49\xc5\x8a\xcc\x15\xb5\x09\x75\x0f\xc8\xd9\xb5\x1b\xd9\x9b\xf5\xe6\xc8\xd8\x5d\xe9\xa2\x52\xd7\x51\x91\x25\xd9\x14\x9d\x9d\x8a\x22\x2f\x4a\xb3\xdc\xed\x76\xa3\x81\x37\x13\x01\x49\xfc\x62\xef\xa3\xbf\xb1\x79\xec\x99\x82\xda\xf5\x8b\x96\xa5\x5f\x76\x95\xb5\x5b\x26\x3d\xca\x71\xb8\x6b\x9e\x2c\x87\x5f\x4a\x88\x3c\x7e\x07\xd5\x98\xeb\x98\x7d\x01\x4d\x38\x0a\x28\x9f\xfd\xbc\xf1\xba\xe1\x1c\xc9\x40\x3e\xc1\x10\x88\xa4\xbc\x28\x4f\xf3\xd7\x79\x14\x3b\x88\x23\x04\x70\xe1\x5f\x6a\xe8\x50\x83\x6c\xec\x05\x80\x56\x31\xf7\xca\x93\xb7\x1f\x4f\x8f\xdf\x9e\x9e\x1c\x9f\x9e\xbc\xfd\x0b\xe8\xf1\x18\xcb\x87\x99\xbf\x8f\xcb\xc9\x24\xf9\xaa\x86\xc2\x1c\xc0\x26\x89\x20\x68\xfa\xd9\xb9\x05\x48\xca\xa3\x58\xc7\x6f\x08\xcb\x12\x23\x21\x31\xc4\xed\xd9\x39\xa1\xba\x84\x15\x60\xec\x65\x19\x69\x83\xe7\x61\x10\x20\xe1\x70\x8e\x01\x9b\xf6\xe3\x51\xea\xec\x0f\x7d\x1c\x22\xba\x82\x84\xa9\xe9\x75\x90\x98\x96\x5b\x98\x98\x5e\x07\x89\xe1\xb0\x0a\x93\xe2\xc1\xe6\x27\xe4\x83\x30\x4c\xcb\xef\x83\xe4\x76\xdd\x0d\xe4\x89\x62\xff\xd6\x21\xd2\x38\x77\xfc\xc4\x61\xb9\xb4\xbd\x61\x15\x07\xd7\x50\x14\xc4\xeb\x08\xe5\xb3\x76\x3d\x79\x59\xeb\x00\x1a\x10\x79\x83\xfc\xff\x43\x90\x22\x00\xf8\x62\x18\x19\x06\xa2\xa2\xa4\xf5\xa0\xa1\x66\xe1\x20\x9e\x11\x25\xd9\x1c\x32\x74\x23\xf8\xd4\x32\x5b\x14\xad\xae\xda\xfd\x94\x5d\x66\xf9\x75\x26\x16\xc7\xb7\xc3\xf5\x6e\x17\xeb\xf8\x92\x27\x59\xbb\xa5\x9e\x1c\xa8\x56\x27\x80\x4d\xb2\x43\xcf\xa4\xcf\xae\xc3\x75\xf8\x45\x0e\xaf\x97\xfa\x6e\xc3\xeb\x65\xbd\xdb\xf0\x82\xc6\x95\x6f\x63\xc3\xda\xbc\x83\xf0\x45\x14\xa3\x1e\x06\xdb\xd7\x96\xeb\x0f\x34\x87\x40\x08\xfa\xc9\xc6\x31\x56\x87\x60\x2e\xf8\x5d\x5b\x24\x42\x56\x01\xc0\x51\x57\x89\x5a\xc3\x01\x3e\xda\xd9\x11\xe8\xd2\x86\x36\x10\x65\xf0\x09\x57\x27\x0c\x09\xb2\xb1\x3d\x13\x44\xee\xce\xf3\x45\xe7\x88\x63\xc9\x6e\xe8\x02\x45\x6c\xb8\x05\x42\x14\xe8\x74\xf7\x9c\xf6\xf6\x76\xb9\x76\x84\x49\x89\xbf\xb5\xbd\x13\xa1\x2e\xde\x6f\x40\xa8\x66\x98\x6f\x2a\xe0\x52\xaf\xbc\x2d\xc3\x03\x08\x19\x0b\x7d\xa5\x8b\x52\x43\xf0\x95\xd2\xd5\xb5\x39\x1a\x28\x55\xcf\x29\x65\xf5\x41\xa8\x00\x8b\x6e\xee\x34\x11\xbe\xd2\x85\x7f\xfe\xdc\xf1\xa0\xbb\xde\xe6\xd5\x8f\x51\xf9\xee\x3a\x7b\x4f\x02\x20\x4a\xce\x58\x3c\x0c\x0a\x86\x9d\x7c\x65\xc5\x6e\xae\xb4\xef\xdf\x15\xe3\x8f\xb9\xb7\x22\xe8\x20\xbf\x6b\x5a\xf9\xd2\x32\xca\x65\x96\xb0\xf4\x00\x8e\x67\x3f\xc1\x5a\x16\xc1\xba\x9b\x89\xcb\x62\xaa\x2b\x43\x5c\xac\x41\x61\xeb\xdb\xe1\xba\x85\x3e\x1c\x24\x04\x07\x83\x19\x96\x72\x91\xad\xda\xae\x87\x57\xe7\xa1\xe2\x7b\xb4\xf5\x2c\x6b\xda\xa4\xe7\xa2\x7f\x3f\xd7\x67\x43\x67\xe0\xdd\x87\x0e\xf5\x20\x09\xa3\x81\xe6\x03\xad\x79\xc1\x71\xbe\x58\x66\xf4\x43\x0a\x52\x78\x86\xe1\xe6\x8d\x87\x35\x58\x44\x78\xb9\x6a\x5d\xdc\x19\x2c\xc6\x5b\xbb\x1b\x69\x77\xac\x27\x9b\xc6\x97\xda\xcf\x41\x64\xc0\x79\xfd\xe6\xc1\x76\xa7\x06\xe5\xc7\xd6\x1c\x6d\x5a\xdb\xac\xa8\xf3\x86\xf0\x55\xd6\xe5\xe1\x0a\x46\x33\xd4\x3f\x32\x7e\x23\x06\x9f\xc2\x2c\x10\x98\x00\xdc\xd2\xd4\xb3\x1b\x67\xeb\x55\xd6\x51\x03\xf7\x43\x46\xeb\xf0\x89\x0b\x89\xcc\x31\xb3\xd0\x7c\x84\xd3\xed\xf5\xe7\x4c\x80\xb4\x49\x76\xd5\x43\x5d\x93\xa3\xd5\x6c\x6a\x28\xab\xa3\x91\x3c\x6f\x68\xe3\x95\xe8\xde\x55\x94\x8a\x60\x60\x7e\xab\x20\xdd\x2b\x10\x01\x18\xa2\x6f\x46\xca\x10\x72\xaf\x2c\x2b\x3a\x10\x59\x6e\x49\x6f\x38\x2b\x13\x9c\xfa\x96\xf3\xc0\xfe\x83\x93\xbf\x9e\xc0\x6f\x98\xbb\x13\x78\xe7\x35\xbc\x7e\x95\x49\x44\x7d\x73\xb9\x7a\xff\x1b\x0e\x6b\xc1\x14\x9a\xa2\xc8\x32\x4f\x96\x0a\x44\x8c\x82\x46\xd5\xde\x37\xc7\x7f\xe0\x86\x9d\xb0\x9e\x7e\xf3\x6e\xe7\x4a\xbb\x5e\xd9\x76\x9f\xdd\xc0\x34\xd0\x80\x74\x21\x44\x47\x57\x7d\xb3\xd7\x9b\x81\x57\xbf\x8d\xc0\x65\x47\xfa\xf6\xa7\x35\xb2\x11\xca\x30\x0f\x70\xe7\xbb\x6d\x56\x3b\x97\x9b\x79\x11\x31\x8d\xc5\x32\xfb\x21\xcd\xc7\x97\x25\x5e\x71\x48\x76\xf9\x2a\xf3\x83\x5b\x07\x77\x30\x3b\xf2\xf8\xde\x3f\xe2\xbd\xeb\x11\x2c\x03\x4a\xe5\x62\x30\x63\x62\x3f\xe1\x62\xc9\x09\x2d\x2e\x26\xc3\x7b\x5a\x5f\xd4\x65\x86\xb8\x56\xff\xfb\x52\x2f\x75\xfb\x17\xf3\xdf\x30\xfc\x69\xd2\x55\x49\xe2\x41\x9b\xaa\xb6\x0c\x34\x06\x99\xb6\x47\x1a\xb3\x45\x41\x5d\x14\x33\x0e\xf2\x9d\x25\xe7\xdd\x90\xc9\xbf\x61\x0b\xb8\x42\xce\x0e\xcf\x5d\x9f\x64\xd6\x33\x91\xe6\xd1\xf9\x39\xc5\x78\x73\x7c\xa8\xf8\xfc\xf8\xbc\x29\x76\x18\x17\x5a\x15\xab\x00\x48\xd7\x5e\x52\xec\x14\xc8\x4e\xf2\x5c\x3b\x70\x4c\x9c\x0c\x4e\x2d\x39\x5d\xb9\x4e\xec\x73\x8f\x42\xe5\xd5\x57\xda\xab\xac\xc7\x9e\xc3\x9d\x0e\x27\xb3\x9f\x7e\xb6\x25\x84\x75\xc8\xf9\x75\xc9\x13\xf7\xf6\x76\x19\x50\x82\x53\xab\xc2\x83\x82\x7d\x15\x2c\xe2\xf0\x36\xe2\x7a\x09\x77\xb8\x06\x9e\x0c\x28\x01\xe7\xde\x50\x0b\x32\x7c\x7f\x50\x15\x1e\x04\xaf\x40\x98\xe5\x7d\xd4\xc2\x87\x56\x63\xc0\xb9\x71\x54\x8d\x67\xaa\xad\x43\xf0\xe5\xad\x6d\x26\xd5\xc6\x90\x1e\xce\xf0\x1f\x81\x9d\x7b\xde\x84\x62\x0c\x31\x25\x7b\xe4\x0c\x02\x01\x4e\x7b\x65\x15\x8d\x2f\xc5\x63\x0f\x22\x34\xbf\x9b\xb8\x74\x1d\x35\x1c\xaa\x83\x47\xb5\x90\x7c\x1f\xa3\x49\x54\x24\xea\x81\x7a\xf5\xaa\x05\x2e\x4d\xe3\x4b\x30\xb9\xd4\x00\xeb\xd3\x72\xee\xc7\x20\x87\xb2\xb5\x12\x98\xbd\x5f\xd6\x32\x23\x05\x7b\x5e\x82\xa0\xf6\xf9\xac\xc8\xe7\x68\xcc\x7f\xf2\x32\xa8\x36\x37\xdd\xc0\xea\xe2\x5c\x97\xb2\x26\xaa\xa3\xab\xae\xb5\xf3\x17\x00\x81\x33\x61\x06\x82\x43\x24\x26\x2e\xd5\x45\x5e\xcd\x7a\x41\xe1\x80\x22\x89\x0d\xc6\x2a\x10\xe5\x26\x3e\x00\x33\xbd\x24\xa3\x5e\x77\xd5\x49\x6b\xce\x52\x74\x70\x59\x80\xb6\x66\x79\x65\x87\x74\xa6\x0b\xed\x95\xbe\xaf\xbe\x94\xb3\x24\xab\xd4\xc1\x4f\x87\x8f\x1f\x63\xb8\x1c\xfe\x83\x40\xb8\x76\x88\x1e\xaa\xd6\xe7\xac\xa5\x1e\x72\x59\x4d\x53\xb9\x81\xd7\xc5\x75\x50\x80\xac\xe2\x55\x94\xa4\x75\xeb\x1d\x5a\x39\xdf\x0e\xd7\x2a\x86\x88\x47\x83\xcf\xd9\xb7\x47\xeb\xdd\x90\xa0\xba\x55\xd6\xb5\x7d\xfa\xfe\x5d\xb4\xd2\xfc\x68\x0c\x00\xe7\x98\x62\xde\x56\xbf\xe2\xd4\x4d\x48\x9e\x61\x43\xb0\xfc\x9a\xbb\xf2\x06\xd1\xc8\x98\x44\x22\xee\x26\x83\x87\x2c\x67\x9b\xea\x8a\x7c\xdc\xb6\x4b\x4b\xcc\x76\x82\xb2\x7a\x33\x9f\x45\x94\x62\x8a\x70\x5b\x43\x86\x33\x91\xe2\x1c\xe4\xa4\x9e\x68\xd4\xdf\x6b\x1b\xa6\x7a\x1c\xeb\x45\xab\xab\x5a\xcf\x93\x02\xf1\xfe\x04\x5a\xf0\x24\x5f\x66\x31\xc8\xa6\x5a\x4d\xf3\xaa\x94\xcf\x11\xa2\xcc\xca\xb0\x86\x5b\xc4\x58\xeb\xf0\x96\x5f\xef\xc9\x46\xb9\x80\x7f\x22\x92\x48\x6e\x99\x95\xb3\x64\xe2\x71\xa7\xde\xa9\xd2\x34\x52\xfe\x38\x79\x67\xd0\xa6\x46\x19\x0e\x95\x2e\x06\x4d\xb3\x29\x89\x39\x93\xe2\xa2\xa8\x23\xde\xdf\x7d\xde\x6c\xe4\xaa\xcd\x03\xa5\x1a\xa1\xef\x75\x51\xc8\x56\x4d\x12\x34\x6b\xad\x0d\x20\x0e\x5f\x23\x27\xa2\x1c\x3f\x22\x90\xd4\x48\xae\x05\x01\xca\x27\x5d\x42\x0a\xf4\xa5\x6a\xde\xe2\xa6\xa8\x03\x84\x28\x08\x91\x07\x90\x92\xb6\x64\x4f\xe5\x5a\x1a\x52\x62\xd7\x26\xce\x6c\x63\xb0\x2b\xc9\x2a\x19\xfe\x8e\xc2\x39\x9c\x79\x3c\x9d\xb3\x1c\xdb\x10\x58\x41\x36\x5a\x66\xc4\x23\xb0\xab\x12\xf9\xf2\x92\x62\x11\xaa\x80\x15\xa5\xf3\xd2\xa2\xd5\x7b\x0c\xa9\x7d\xf6\x99\x52\x8c\x5a\x46\x19\xce\x92\x73\x3f\x92\xad\x08\x6d\x78\x6f\xc3\x78\x6d\xdc\xd1\x49\x75\x99\x35\xee\xd7\xd6\x49\xc6\x78\x18\x4e\xfb\x56\xe5\x97\x3a\xbb\xa7\x5e\x82\x09\xbe\x50\x1a\x22\x22\x4d\x69\xcd\x34\xa6\x79\x85\x84\xc0\x34\xaa\x71\x3f\x9b\x09\x40\xce\x47\x8e\x23\xce\xdb\x83\x07\xf4\x14\xd2\x38\x53\x98\x48\xfe\x8c\x92\x41\x84\x36\xf1\x7e\x20\xa9\x29\x88\x03\xe5\xc4\xd9\x84\x35\xb9\xca\x86\x30\x01\x30\x81\x80\x25\x95\x9d\xe1\xfc\x9c\x37\x05\xba\x9e\x55\xd5\x62\xd0\xef\x7f\x29\x17\xba\x98\xf4\xc6\xf9\xbc\x4f\x8c\xf5\x97\xf2\x00\xb7\xc1\x01\x70\xf7\x07\x57\xe5\x41\x79\x9d\x54\xe3\x99\xcb\x7b\xff\xcf\x7f\xfa\xb7\x7f\xf3\x6f\x9f\x36\xe0\x33\xee\x9b\xc8\x85\x79\xae\xef\x31\x27\xcf\x38\x5d\x2d\xf4\x0d\x9b\xac\xdf\x57\xcf\x67\xda\xb0\x19\x13\x04\xfc\x04\x93\x4f\x06\x6e\x64\x4b\xc4\x2f\x4b\x8a\xb3\x42\x30\x06\x16\x69\xb4\x52\xd9\xc1\x23\x33\xd7\x16\xe1\xd7\x95\xab\x7b\xd3\x9e\xb4\x4e\xb4\xb6\xe2\xd3\x42\x9b\x94\xa8\x66\xbc\x4e\xb2\x38\xbf\x96\x52\x9b\x42\x9b\x05\x14\xd3\x17\x84\x77\x3a\x72\xc5\xbe\x13\xa8\x39\x10\x3a\xbd\x3e\xd4\x78\xea\x1e\x08\x71\x4e\xff\xb1\xd8\xee\x89\x93\x09\x60\x61\x3d\xcc\xd0\xb6\xf3\x7d\x0a\x01\xcf\x9f\xc1\x88\x9c\x99\xff\x48\xbe\x56\x0d\xe0\x7d\xc7\x59\x8e\xda\xe6\xa1\x74\x11\x4d\x13\xfe\x46\x81\x06\x89\xe8\xe1\x5c\x38\xbd\x73\xd3\xac\x58\x0a\x61\x63\x35\x93\x8c\xdc\x2b\x93\x04\xc8\xaf\xdc\x78\x79\x1f\x9f\x05\x2d\x18\xd8\x4a\xbd\x05\xe3\xbc\x16\x71\xb5\x43\x2b\x07\xf4\xaf\xaf\x11\x82\xc5\x34\x90\x3f\xf8\x3b\x88\x03\xdd\xf6\xb2\x71\x64\x68\x01\x0d\xec\x13\x7f\x99\x45\x5e\x8c\xe0\x20\xfc\x47\x93\xec\x38\xdc\xf5\x8d\xa2\x64\x18\x92\x46\x46\xa8\x41\x64\x4a\x22\x98\xf5\xce\x8e\xaf\x5f\xee\xed\xed\x71\x73\x05\xd1\xaf\x85\x74\xf4\xf0\x23\xd0\x18\x27\xca\xc6\xb3\xbc\xf8\x38\x2e\xf2\x34\x7d\xef\x3e\x37\x98\xe4\xa8\x4f\x80\xa6\xd1\x94\x01\x2c\xf2\xe3\xa4\x04\x8f\x75\x1b\x3a\x4a\x95\x90\x88\x3c\x6c\x33\x7d\xa5\xa5\x25\x25\xea\xfa\x11\x71\xef\x3e\x04\xe0\xb5\x3f\xcd\x40\xcc\xda\x9d\x35\xa1\xd0\x97\x41\x48\xdd\xbd\xe3\x86\x26\xb4\x89\x13\x85\x33\x71\x59\xe5\x1f\xb9\x6e\x46\x09\x40\x6d\xfa\x91\x1f\x35\xd4\xb7\x50\x52\xdb\x87\xe5\x3e\xf5\xf0\x58\x16\x0f\xb9\x28\xab\x37\x5e\x0a\x61\xf0\x63\x3d\x89\x96\x69\xd5\x95\xdd\x96\x85\xfb\x55\x81\x93\x3b\x40\x28\x78\xf1\xb7\x62\x5d\x01\xdd\xc0\xe1\x00\x97\x22\x75\xb7\x91\x04\xa3\x19\xac\x90\xe3\xb6\x61\xf0\x31\x05\xf1\x74\x18\xec\xc4\x5c\xf7\x4c\x96\xde\x93\x8b\x42\xf5\x9f\x62\x35\x9f\xd8\x9e\x9b\xc1\xa1\xb7\xce\x75\x4f\x8c\xc8\xc9\xa4\x71\x35\x50\xa0\x03\x33\x2d\x5d\x95\x67\x14\xea\x52\xc4\xb9\x34\xbd\xae\x75\x71\xfb\xa8\x25\x99\xca\x8b\x18\x31\xbd\x9b\x3b\x5a\xe8\x94\xac\x5d\xd0\x3a\xcb\x14\xcf\x01\xe7\xa0\xcf\x3b\x1c\x87\x15\x4c\xe5\x9b\x26\xbb\x49\x5e\xbb\x61\xb1\x81\xc8\x5c\x44\xa4\x0f\x96\x9c\x35\xe2\xda\xb0\xe6\xe8\x43\x10\x4e\x95\x22\xdb\xa2\x48\x4a\xd1\x29\x53\x7b\xcd\x93\x5f\xfb\x60\x81\x04\xb7\x2e\xda\x9f\x18\x09\xcc\xcc\x4e\x62\x56\x9d\x1e\x5f\x92\x7d\x1c\x0d\x17\xaa\x7b\xf2\xc9\x1d\x57\x20\x96\x8f\xb3\x63\xed\xd1\x78\x5a\x68\x9a\xba\x35\x60\x7d\xc4\xcb\x17\xb0\xe0\x8c\x4e\x64\x0a\x3b\xfb\xb1\x9a\xa7\x7f\x86\x8f\xe7\x6d\x3a\x4d\x63\x7d\xd5\xbb\xfe\x53\x2f\x2f\xa6\xfd\x99\xf9\xda\x37\x5f\xfb\xef\xae\xcc\x90\xeb\xeb\x9e\x79\x77\xbf\x9a\xe9\x83\x24\x8b\x13\x00\xcd\x3c\x58\x44\x45\x75\x90\x4f\x0e\xcc\x5b\x17\xde\x4f\x2e\xe4\x0a\x81\xf4\xae\xc1\xba\xaa\xac\x9b\x42\xdd\xbc\xfb\xfc\x1d\xed\x06\x01\x2b\x80\x5d\x88\xb0\xe2\xb0\x0a\x2c\xc5\xc4\x19\x40\x32\x88\x86\x74\x64\xef\xc5\x3b\x08\xe0\x9f\x23\x47\x8b\x36\x6d\x99\xad\x54\xac\x99\xe0\x35\xee\x01\x34\xc6\xb2\x23\x73\x6c\xd1\x6a\x24\xba\x0c\xc4\x36\xad\xca\x4d\x6d\xb9\xbf\x7a\x37\x99\x94\xba\x52\xf4\xef\xda\x79\x24\x08\x70\xd8\x08\x6b\x00\x60\xeb\x71\x94\xd2\x98\x1d\xe4\x98\xb5\x4d\x01\xeb\x27\xc9\x57\xb2\x67\x5b\x65\xd1\x3c\x19\x7b\xf3\xf6\x3f\x6d\xb9\xdf\xda\x68\x6f\x6d\x61\x50\xbe\x63\xe8\xce\xce\x9a\x1b\x61\x49\x56\xa9\xab\xae\x5d\x6e\x80\x0b\xd6\xd8\x02\x07\xc4\x8d\x90\xbb\xcb\x52\x4f\x96\xa9\x35\x67\x24\x5b\x7b\x68\x1e\x16\xbd\xc8\x4b\x18\x2a\xb7\xd8\x4b\x0e\x09\x58\xe5\x0b\x8b\x48\x02\x32\x38\x36\x18\xcf\xa2\xab\x8b\xa8\x28\xbb\x6a\x06\x86\xf1\xa5\xd2\xd5\x58\x76\x70\x44\x8d\x1f\xd5\x22\xa5\x98\x6d\x72\x15\x15\x49\xbe\x2c\x01\xf0\x7c\x80\x19\x0e\xd4\xfe\x3e\x8e\xc4\xfe\xfe\x40\x1d\xd3\xf0\x39\x70\xca\x45\xf2\x55\xa7\x0c\xa9\x02\x0e\x6c\x91\xe9\x20\x74\x18\x0f\x05\x79\x34\x98\xd2\x1c\xbe\x94\x29\x6f\x8a\x08\xb0\x5e\x0c\x11\x04\x53\x28\x56\x55\x32\x0f\x39\x88\x76\x07\xe0\xef\xf5\x57\x3d\x5e\x42\xb8\x9c\x37\x4e\xaf\x8c\x55\x28\x87\x9d\x69\xd1\xa6\xf9\xb8\xe2\xa5\x90\x64\xd4\xee\xce\x86\x36\xe2\x5c\x63\x0b\xf1\xb9\xff\x05\x62\x93\xda\xd3\x41\x74\xd8\xdc\x71\x05\xda\x9e\xab\x88\xc2\x03\x25\xc4\x82\x4f\x8a\x7c\xce\x6d\x6c\x98\xc4\xe0\xfc\x69\x81\xcc\xb4\xca\xe7\xbe\x7b\x60\x38\xba\x5c\xe0\xfe\xfe\xdb\x1c\x5b\x7c\x2a\xce\x30\xce\x5a\x45\x97\x9a\xd1\xdd\xc7\x08\x98\x81\xae\xd0\xa5\x4a\xf3\x6c\x6a\xfe\x05\x0c\x47\x5e\x72\x30\xc8\x10\xbd\x20\xe7\x0a\x46\x30\xf3\x23\x5a\xc5\x88\xb9\x48\x41\xd3\x26\xcb\xb4\x8b\xeb\x38\xd6\x11\xf2\x6f\x49\x35\xb3\x68\x5e\x57\x9a\x97\x65\x9f\x57\x25\xc8\x86\xa3\xd8\xdc\xb5\xc4\x88\x24\x85\x9a\xe9\x64\x3a\x03\xb7\xb0\x7e\x5e\xd8\x1d\x00\xce\x4a\x21\x99\x37\xc4\x79\x91\x17\x66\xa0\xca\xe4\xbf\xb4\x5c\xe5\x72\x68\x20\xda\x2b\xb8\xdf\x0d\x77\xa3\x54\x17\x86\x32\xeb\xa2\x3a\x20\x8b\xd3\x5d\x4a\x76\xc2\xfc\x00\x38\x27\xdb\x5d\x52\xe5\x88\xd5\x8e\x74\xc1\x90\x2c\xc7\x96\x90\x51\xb1\x19\x5b\x05\xa6\xd4\x8a\x20\x8b\xf9\x48\x68\x95\xca\x1c\xa1\xee\x28\xcb\xf2\x0a\xcd\xfd\xc7\xb3\x24\xb5\xbb\xba\x47\x0d\x85\x48\xb3\x92\x18\x59\xe3\x5a\xf3\xf7\x84\x5d\x13\x51\x4e\x3c\xdc\x95\xdb\xe2\x25\x7e\xc3\xce\x40\xea\x49\x92\xa2\x74\x62\xb8\x0b\x4a\x06\x38\xc6\xdc\x77\x85\xe3\x92\xc4\xc3\x5d\xec\xd0\x71\xa1\xa3\xdd\x30\x2a\x2e\x16\xee\xb0\xc7\x65\x7e\xa5\x9e\x44\x90\x3e\x4d\xc6\x97\xc3\xdd\x69\x5e\xe5\x3f\xc0\x7a\x6d\x77\x76\x9f\xfe\x25\x87\x0d\x02\xbf\x9f\xf4\xa3\x30\x9b\xa9\x16\x3f\xee\x3e\x35\x9f\xd5\xdf\xf3\x65\xcb\x10\x40\xa4\x6e\xf8\xe9\x9e\x68\xab\x1d\x1a\xfc\x65\x3a\xd7\xd8\x55\x64\x4d\x7a\x5f\x4a\xd9\x52\x3f\x72\x7a\xbb\xd5\x30\x70\xe6\x7e\x7e\x2e\x25\x2c\xca\x73\x30\x0c\xc7\x01\xaf\xf3\x0e\x7b\x9d\x0f\x70\xf8\x21\x8b\x0f\x05\x4c\xce\x1f\xc6\x46\x3a\xe0\xbc\x5d\xff\x4c\xad\x5b\x56\x2a\xcc\xd2\x73\x23\xdd\x6c\x0e\x20\xfe\xfa\x7d\x45\x21\x48\x94\xc7\x63\xd8\xb0\xdb\xb1\xca\x27\x8d\xd9\x24\x23\x0c\xe1\xb4\x09\x15\xdd\xb2\xca\xbd\x7a\xb6\x80\x8f\x69\xe1\x34\xb6\x7c\xfd\xaf\xab\x02\xa2\x45\x05\xc4\xbd\xa1\x50\x3f\xc1\x51\x98\x62\x1d\xbc\x11\x02\x94\xad\x0b\xa5\x5a\xa5\xba\x37\x2e\xbd\x85\x72\xdf\x6d\x05\x7f\x34\x91\x2a\x0d\xd4\xe3\x7f\x3b\x5c\x7c\xf5\x2a\xcc\xaf\x74\x31\x49\xf3\xeb\x01\xf0\x6b\xe2\xd3\x5a\x74\xfa\x3e\x11\x72\xaf\xcc\x38\x29\x17\x69\xb4\x1a\x60\x60\x6d\xaf\xd0\x79\x54\x4c\x93\xec\xa0\xca\x17\x03\xf5\xf8\xf0\xd0\xaf\x73\xdd\xd8\xbb\x27\x7d\x22\x0f\x92\x80\x3c\x99\x39\x32\x08\xa7\x02\x51\x90\x0b\x9d\xe6\xd7\x2a\x49\xd3\x25\x06\x8c\xb0\x11\x8e\xd0\x8f\x65\x13\x03\xe5\x58\x05\xf0\x4c\x43\x4e\x00\xad\x78\x88\x84\x89\x60\xe6\x1b\x59\x38\xef\x6d\xcf\x32\x74\x16\xf9\x32\xd6\x55\x94\xa4\x65\xef\xd7\x11\x42\x2c\xee\xd7\x92\x43\x3a\x26\xa0\x67\x07\x78\x56\xd5\x68\x22\xbe\xc6\x68\xe1\x01\x59\x9b\x15\x7a\x32\xdc\xdd\x0d\xa8\x22\x4a\x1f\xda\x5f\x3b\xf0\xa1\xd0\x0b\x1d\x55\xc3\xdd\xaf\x86\xdf\x3a\x7b\xd4\x7d\xdc\xfd\x53\xf7\x5f\xba\x7f\x3e\xf7\x0b\x53\x0a\x29\x28\x31\xf7\xdf\xbe\x7d\x5d\x7b\x96\xd3\x3e\x4d\xf5\xc9\xa3\x20\xed\x98\x1d\x72\xef\xda\x33\x10\xde\xdd\xa1\x2d\xc7\xa2\x0d\x66\x81\xfc\xf9\x1f\x41\x97\xbd\x79\x6c\xa0\xce\xc5\x32\x6b\x9f\x85\xb4\x56\x58\xc3\x6d\x25\xa5\x8d\x4b\x50\x0d\xd5\x9f\x0f\x8f\x28\x14\x26\x46\x5a\x25\x62\x77\xb1\x52\x7f\x3e\xa4\xf8\xfe\xc8\x36\xca\xe2\xd6\x5b\xce\x0d\xb7\x56\xf0\xc4\x08\x9a\x1b\x1c\x1c\x74\x9e\x6c\x3c\x31\x64\x6e\xff\xe0\x28\x6d\xe0\x02\xff\x4f\x9c\x18\x34\x8b\xe2\xc4\xf8\xda\x78\x64\x5c\x45\x85\xca\xf4\xf5\x8f\xe6\x94\x18\x2a\x9a\x93\x96\x7a\xa8\xbe\xd6\x48\x2f\xea\x0d\xc2\xdb\x2b\x68\x62\xa8\x84\xc6\x1a\xbc\x63\x69\xaf\x76\x2e\x8d\x28\xef\x88\xd9\xa6\x86\xdc\xbe\x6c\xa7\x41\x00\xe6\x24\x3a\x49\xd5\x54\x46\x78\x54\x89\x6e\xd6\x8f\x98\x46\xcb\x13\xd9\x9c\xa6\x93\x4c\x88\xa7\x1a\x95\xc2\x66\x0c\xc0\xfe\x21\x18\x81\x59\x84\x46\x16\x70\x85\x6f\xec\xff\x4d\x27\x62\xe8\x64\xd1\x74\x48\xca\x9f\xbf\xe1\xc0\xbc\xc8\x63\x5f\x53\xaa\x16\x18\xc6\x13\xcf\xae\x3f\x87\x27\x97\x7b\xee\x31\x65\x93\x99\x2f\x80\x03\x1f\xa8\xc7\x8b\xaf\x2a\x8e\xca\x99\x8e\xd5\x8b\xa8\xb8\x7c\x57\x8c\x67\x49\x7c\xd4\x50\xcd\x40\x3d\x3a\x5c\x7c\xc5\xff\x3c\x3e\xe4\xc7\x4d\x55\x4a\xb2\x1e\x54\x1c\x8d\x2f\xa7\x45\xbe\xcc\xe2\x83\x71\x9e\xe6\xc5\x40\x15\xd3\x8b\xa8\x7d\xd8\x55\xf4\xbf\xde\x63\x7f\x9c\x99\x21\xf8\x73\xc8\x0f\xf0\x8d\x65\x80\xc7\xa3\xf7\x0d\xc6\xe4\xf0\x48\xa5\x7a\x52\xc1\x43\x81\x85\x1c\xde\xaa\xc1\x4f\x55\xb4\x81\x81\xc0\x08\x29\x07\x9b\xf8\x88\x81\xfa\xb3\x19\x98\x3f\xdf\x9d\x8b\xb0\xb2\x4d\x87\x20\x69\x55\x58\x01\xed\x6a\x0c\x67\x42\xa9\x7d\x5a\xe5\x47\xbf\x21\x8a\xc3\x37\x26\x35\x64\x29\x65\x8f\x5f\x11\xf7\xd8\xef\xab\x1f\x11\x00\x3f\x0c\x25\x00\xb1\xf2\xf8\xa4\x04\x93\xf2\x48\xbd\xcd\x63\xfd\x3a\xc1\xcb\xa5\xc9\xda\xa6\x50\x66\xa0\xf2\xba\x6f\xae\x60\x20\x48\xc8\xca\x4a\x47\x80\x63\x3c\xa2\xc3\xe8\x3e\x1b\x7f\x76\x46\xb4\x3f\x13\x73\x8d\x03\xce\x64\xa1\x0b\x00\xe5\xce\x6c\xb1\x20\xa8\x33\xf7\x43\x90\x52\x67\x10\xbe\xd0\x86\xa6\x51\x17\x45\x7e\x5d\xea\xa2\xec\xe1\x01\x21\x2d\x5e\x5e\x99\x36\x13\x63\x90\x26\x65\xb5\xc1\x68\x5f\x6a\xf1\x31\xa0\x89\x40\x70\xc9\xe7\xba\x67\x28\x0f\x14\x20\x46\x9d\xd8\xf6\xd0\x14\x26\xcb\x63\xd0\xbc\xfd\xec\x12\x80\x8d\x41\x14\xa8\xcb\x6d\xe5\x94\xac\xc1\xec\x03\x15\x23\xe1\x52\x5a\x87\x66\xc4\x9e\x99\x7e\xdd\xea\xe7\xef\x78\xee\xb6\xad\x49\x10\x59\x32\xf3\x69\x5c\x7a\xc7\xb3\xbd\x44\x04\x76\x8c\x98\xdc\x53\x59\xdb\x12\x72\xaa\x20\xb0\x94\xc1\x12\x5e\x62\xf7\x9a\x0a\x30\xcd\x30\xbd\xb7\x45\x9c\x1d\x0a\xc3\x03\xf3\x15\xa8\xa1\x58\xac\x53\x5d\x3d\xcf\xe7\x8b\x65\xa5\xe3\x8f\xe6\x13\x8c\x71\xc7\x37\x56\x40\x0a\xca\x04\x02\x0d\x16\x60\x87\x07\x13\x60\x9b\x7f\xb8\xd5\xf4\xd1\x26\x33\x55\x99\x06\xfc\x60\xe8\x57\x92\x4d\x9f\xa7\x89\xce\xaa\x0f\x7a\x5c\xb5\x3b\x3d\xbc\x79\x34\x59\x42\xda\xa1\xb8\x97\x94\x6f\x41\x5e\xb6\x75\x2c\x0f\x6b\x9a\x7f\x9a\xe5\x9c\xa6\xa7\x69\x96\x71\x0a\x4f\x73\x1c\x0e\xcf\xda\xc5\x7f\xa3\xb0\x17\x98\xfe\x24\xab\xf2\xbf\x25\xfa\xba\x2d\x6f\x8e\xde\xd2\x90\xab\x47\xa4\x31\xe5\x52\x1f\x42\xfb\xc9\x51\x4e\x02\x1d\xc2\xe5\xaa\x09\x30\xaf\x35\xcb\x73\x88\x77\xf8\xf4\xde\xd3\x11\x45\x69\x32\xcd\xd4\xc8\x34\x73\x64\xa5\x41\x81\x41\x23\xcb\x77\xcd\xfe\x50\xef\xde\xbe\xfe\x3b\xc7\x89\x05\x06\xc1\xf0\x36\x8d\xbd\x34\x84\x28\xa9\x12\x60\x5c\xa0\x9a\x92\xeb\x41\x79\x88\x5f\x89\x90\x1a\xb2\x04\xcc\x6f\x86\x9f\xfc\xe4\x55\x73\x7f\x6d\xe0\x48\x2a\x8f\x6a\x64\x19\x24\xa2\xbb\xb3\x68\xb2\x55\xb2\x25\xa9\xe9\x5e\xaa\xcb\x32\x68\xd3\x0c\x83\x9e\xb3\xf8\x2e\x68\x1f\x81\x5a\x6f\xea\x3d\xf2\x6f\x30\xbe\x00\x1c\x8f\x2d\x31\xf4\xcd\xaf\xe5\x3a\x5a\xa9\x38\xbf\xce\x6c\xb3\xb6\xf5\xdb\x97\xb5\xe3\x24\x94\x18\x55\xc0\x0a\xd3\x33\x1d\x15\x42\xe0\x24\x7b\xbc\x75\x48\x33\x14\xb7\x63\x40\x97\x6b\x1d\xc0\x37\x5a\xe6\x73\xa6\xd5\xf5\x2c\x4f\xb5\x5b\x7c\xcb\x45\xd7\xd9\x97\xc4\xc9\x84\xa2\x57\xa9\x0b\x5d\x5d\x6b\x9d\x85\x83\xea\x89\x88\x59\x1a\xc3\xc1\xe4\xb1\xcc\xae\xc3\xad\xd4\x59\xbe\x9c\xce\xdc\x5a\xad\x4f\x6e\xd3\x72\x82\xc0\x7f\x3a\xb6\x8c\x8b\xec\x38\xd3\xc1\xd3\x7c\x71\x13\x9d\xa9\xf2\x85\x3c\x28\x98\x2e\xe2\x50\xfc\xb0\x32\xac\x14\x97\x74\x40\x4d\x6f\xb4\xcf\x0e\xc8\x9c\x5f\xce\x69\x0e\x2c\x59\x68\xe3\xd0\x48\x74\x02\xff\x98\x19\xde\x67\xc2\xcb\x8a\x69\xd5\xfc\x48\xd8\x32\xe9\xf9\xa2\x5a\x41\xea\x6e\xa0\x16\x0e\xa4\xf5\x82\x94\xdd\x9b\xc1\x55\xc7\xb6\xd1\x9c\xda\x1d\xaf\x50\x2b\x8d\xaf\x66\x64\x56\x94\x30\x6b\x6f\xc9\x70\x5b\xa7\xe6\xc0\x61\xb6\xc7\x8c\x34\x1d\x51\x3f\xac\x4e\xe2\x36\xd4\xd1\xe9\x48\x92\x3a\xf7\x2a\xf1\xd8\x20\x51\x13\xe8\x8a\x07\x07\x2f\x36\xd4\x17\x30\x23\x0d\xd5\x97\x3f\xac\x0c\xdf\xc0\x2d\xd8\xd2\x84\x2c\xf7\x56\x29\x8e\xf9\x50\xb5\xaa\x7c\xd1\xba\xdd\x70\xda\xd6\x51\x5e\xca\x5c\x1f\x5c\x31\xf1\x66\x11\x73\x5c\x55\xaa\x03\x74\x11\x10\xb1\x1b\xe4\x30\xa5\x82\x28\x2a\x30\x32\x20\x9c\x02\xf5\x43\x52\xb2\x7e\x3a\x5d\x29\x54\x66\x03\xab\x98\xe5\x6a\x59\xa4\x74\x03\xeb\x9a\x4e\xd5\xae\xb8\xf8\xad\xd3\x65\x16\x4f\x65\x51\x95\x5c\x69\x6c\x47\x69\x15\xf2\xe8\x3a\xdf\xa0\xef\x77\x6b\xd3\xb1\xc3\xbd\x3d\x50\x16\xb7\x9d\xc1\x99\xcd\xf8\x13\x7c\xe8\xa8\x6f\xec\xd1\x17\xb4\xe7\x68\xed\xae\x98\x9b\xb2\x1f\x93\x19\x92\xbe\xfe\x5b\x94\x76\x55\x9e\xc6\x7f\x8b\xd2\xda\x31\x59\x5e\x26\x0b\x02\x1a\x83\x13\x89\x07\x34\x99\x84\xf7\x54\x43\x70\xcc\x5e\x11\xf9\x81\xcb\x84\xf2\x61\xe6\xb0\x0a\xf5\xe0\x81\x12\x2f\x5b\x2d\xe7\x10\x25\xb2\xa2\x8e\xed\x05\x2d\xbe\xd7\xe0\x23\xd5\xde\x28\xdb\x96\x83\xa6\xaf\xa2\xf4\xb8\x5c\x65\xe3\x36\x36\x35\xf0\x54\x17\x34\xa6\xd3\x64\x13\x86\x99\xc0\xee\xe2\xfc\x68\x67\xbd\xb3\x63\x88\xc5\x5e\x94\x25\xf3\xa8\xd2\x68\x2a\xaa\x86\x6a\x4e\x36\xa3\xfc\x01\x64\xda\xb7\x30\x95\x82\xc4\x37\x58\x49\xbd\x40\x83\x1f\x05\x81\x16\x4c\xef\x2d\xa2\x10\x17\x80\xcb\x95\xdd\x2f\xe8\x16\x42\xba\xff\x04\x63\x04\x95\x5d\x7b\x99\x41\x9d\xda\xbe\x32\x63\x32\x2b\xf2\x2c\x5f\x96\xe9\x8a\x73\x95\xea\xc5\xbb\x37\xe6\xeb\x72\x11\x83\xe0\xd7\xec\x53\x44\x55\x89\xf3\x4c\x9b\xa5\x1d\xa5\xa9\xb9\x0e\x5b\xa8\xcf\x13\xc1\x04\xe9\x0c\xad\x78\x6c\xb5\xc8\x5b\x4c\x8f\xa9\xa1\xe4\xee\x30\x8b\x58\x21\x8c\xde\x6e\x36\x14\x72\xae\x4a\x8a\x7d\xc4\x73\x1b\xa5\x61\xc7\xc1\x7c\x44\x41\x04\xb3\x62\xdc\xb7\x65\xf7\x69\x30\x7a\x80\xe8\xd2\xc7\x79\x3a\xf6\x47\x18\xaf\xa8\x34\x13\xde\x45\x54\x80\xd4\xef\xd8\x4b\xed\x5e\xa9\x53\xb0\x86\xe3\x28\x07\xb7\xb6\xf5\xf2\x6a\xbd\xef\xc2\xb0\x6d\xb1\x92\xf9\x20\x02\x59\x61\x60\x11\x06\xfc\x71\xc3\x59\x07\x9a\x46\x28\xa2\x10\x6f\x71\x51\xe4\xf1\x72\x8c\x62\x7b\x2c\xdd\x15\xe1\x41\x3c\x59\xef\x1b\x9e\x55\x11\x3a\x11\x38\xa1\x68\x3c\xe3\xd8\x1e\x44\x12\x35\x5b\x38\x13\x9e\x92\x2b\x1d\xe6\xd1\xf6\x10\x8c\x09\x20\xeb\xab\x6c\x34\x50\x23\x3b\xd6\x2f\xd9\x2e\xc7\x2c\x28\xbe\xa6\x75\x46\x9e\x5a\x1a\x24\xdb\x50\x26\x86\xfa\x19\xc9\xb4\x23\xae\x00\xac\xbc\x1c\x4a\x78\x9e\x8d\x75\xc0\x09\x71\xa7\x21\x20\xbe\x59\x46\x95\xee\x05\x51\xac\xc1\xa5\x88\x00\xb4\x2a\x1b\xf8\x9d\x0c\x05\x6c\x01\x5e\x24\x1f\x8b\x47\x2a\x25\x0d\xe3\x28\x1b\x6b\x64\xea\x5c\x36\x6b\x74\x13\xf1\x77\x1c\xcc\xa4\xe4\x2a\xaa\x22\x99\x4e\x75\xe1\x8d\x1d\x7e\x23\x70\x22\x4c\xe6\x5b\xa8\x22\x86\x10\x0d\xae\x1a\xd4\xae\xf6\x38\xb6\x1d\x3f\xb9\xa1\xdf\x10\x4c\xbc\xca\x55\xb1\xcc\xfc\x96\x86\x09\x61\x2c\x79\xc8\x88\x3d\x37\x99\x90\x08\xf8\xa9\x43\xd0\x01\xec\x69\x0a\xe5\xbe\xaa\x91\xe8\x7d\x71\x9c\x70\x73\x9a\xc6\xce\x4f\xbd\x96\x3f\xc5\x8f\xb5\x1d\x2b\xb9\xb9\x6e\x83\x3c\x66\x2b\xea\xf9\x99\x1c\xfe\x30\x6f\xab\xc6\x2d\xe6\x21\x0e\xb3\xb5\x49\x00\x54\xef\xf5\x65\x1b\xe0\x39\xee\xc9\xc0\x5e\xd0\xc6\xcd\x19\xfa\x46\xc2\x35\xd0\x07\x43\xe9\xd0\x0d\x82\xec\x81\x5b\x07\xb6\xe6\x96\xc3\xdf\x80\x8f\xe6\xb0\x8d\xe6\xba\x37\x9e\x45\xc5\x71\xd5\x3e\xec\xa8\x7b\x43\xd5\xea\xb5\x3a\xec\x05\xe1\x9d\x6c\xed\x56\x96\x57\xe3\x52\x4b\x35\xf5\x2e\xba\x38\x00\xfc\x20\x40\x32\x33\x91\xc4\x38\x6a\xd6\xb8\xa3\xd5\x6b\x81\xb3\x03\xa0\x3b\x04\x80\x0d\x21\x79\x05\xff\xfb\x5e\xb9\xbc\x28\xab\xa2\xfd\xa8\x73\xae\x86\xe8\x23\xa2\x9a\xe0\xd5\xc1\x6d\x81\x87\x60\xb3\x41\xe4\x2d\xe8\x32\xb4\xdf\xb0\xae\xaf\x92\xf4\x26\xf2\xfc\x51\x23\x5e\x6d\x3f\x2f\x3c\xc8\xda\xe7\x1f\x3f\xd2\x38\x14\x1a\x81\x27\xf5\xd7\x45\xa1\xcb\xd2\x2e\x12\x43\x7b\xcc\x91\xc5\xc8\x74\x74\xd2\x5a\xf3\xba\x28\x13\x6b\x51\x7d\x5a\xe4\x99\xba\xc8\xf3\xaa\xac\x8a\x08\x59\xad\xa0\x99\x2e\xaa\x3e\x30\xb4\xba\x32\xd7\xb6\xc8\xdc\x90\x33\x0c\x8f\x85\xc5\x3a\x00\x39\x3a\x94\x1d\xb7\x90\xab\xa8\xaa\x0c\x73\x66\x1e\x1d\xbb\x20\x0f\x89\x0c\xd8\x07\xdf\xfe\xe4\xa7\x30\xa0\x7b\x63\xc3\xba\xf2\xf4\x87\x0d\xc2\xf1\x2e\xa9\x26\xa0\xd4\xf6\x8e\xcd\x8d\x85\xc8\xec\x10\x10\x13\xf1\xee\xd0\x7e\x11\x38\x01\x2c\xdc\x0d\x2b\xdb\xc9\x61\x4c\x5f\xb4\x53\xcb\xf3\xb2\x72\xf2\x57\xb6\x83\x35\x47\x58\x9a\x5f\x1f\x2c\xf2\x6b\xc0\xda\x8c\x35\x81\x07\x9b\x5b\xb9\x19\xb1\x52\x45\x8b\x45\x4a\x41\xdb\x4b\x3e\x0e\x11\xfa\x38\xcd\x41\x4e\x81\x5e\x13\xcb\x22\x4a\x55\xbe\xd0\x08\x5b\x5a\x06\x34\xe3\x83\x9e\xbe\xfc\xba\x18\xae\xe5\xdc\x9f\xca\x01\x92\x1f\x82\x08\x17\xb4\x34\xa2\xa9\x39\x87\x79\x22\x79\x00\x77\xd8\xe2\x16\xa9\x3f\xd6\x83\xb1\xaa\xd9\x74\xd6\x2e\xc0\xb0\x1e\xc4\x1f\x35\xa7\x9d\xb9\x12\xd9\xb3\xcd\x46\xbf\x0d\x93\xfa\xd4\x27\x9c\x5b\x41\x84\x5c\x46\xa6\x40\x70\x8d\x61\xf8\x41\x76\x0f\x31\xdc\xfc\x23\x89\xb6\x03\x7b\xbe\x5e\xae\x28\xcf\x7a\x67\xe4\x13\x85\x7d\xed\xa8\x67\xb2\xa1\x03\x21\xf1\xf6\x20\x76\x9a\x4b\x77\xd4\x21\xd0\x52\xec\xfd\x02\x4a\x89\xbd\xc8\x30\xc1\xcf\x89\xf7\xd9\xa2\xa7\xd8\xfb\xa5\xab\x82\xd4\xa1\xa6\xc2\x92\x62\x9a\x98\x17\x7a\xa2\x8b\xa3\x40\xf4\x50\x2c\xb3\x63\x9e\xdc\xf7\x79\x59\xbd\x48\xa6\xba\xac\x10\xfa\x4a\x08\x23\xf0\x3c\x7c\x95\x75\x55\x6c\x4a\x51\x43\xb5\xb7\xf7\x4b\x0f\x9e\x9d\xb0\x1a\x7e\xf6\x16\x45\x3e\x4f\x4a\x6d\xfa\x4e\x99\xc4\x54\x39\xce\xfb\x4d\xb4\xba\xd0\xcf\x21\x85\x77\x5b\xb2\x99\x1e\x3c\xb0\xcf\x42\x1e\x6e\xef\x60\xf2\x46\xb5\xb7\x10\x2d\xaf\xd5\x24\xba\xd5\x58\xd1\x50\x4d\xb2\x86\x6c\x6f\xf3\x2a\x99\xac\x9e\x13\xc7\x11\xdc\xe8\xb0\xab\x85\x2e\xf3\x94\x82\xf5\xd4\xee\x6f\xeb\x9a\xc3\x90\x37\x3e\xcd\xe2\x67\x2a\x91\x38\xd2\xe7\x66\xf1\xe8\xd2\x31\x51\x63\x7c\xe1\xcf\x4d\x95\x1f\xc7\x31\xc1\x82\x54\xf9\x07\x3d\xcf\xaf\x34\xfc\x3c\xda\xf1\xc5\x49\x54\x9c\x1a\x92\xe3\xf3\x9b\x68\xe1\x9a\xce\x5a\x24\xae\xac\x17\x55\x55\xd1\x6e\x41\x8d\x2d\xf0\xe0\x69\xb5\x3a\xbd\x72\x91\x26\x55\xbb\xff\xb9\x7c\xd8\x97\x48\x69\x76\x95\xcb\x51\x72\x35\x9e\xd9\xef\xe7\xd6\x49\xa5\x36\x48\xdc\x00\xea\xa3\x84\xa4\xab\xa2\x6a\x59\x76\x55\x63\x2d\xb2\x6f\x6a\xd8\x5c\xa9\xb8\xb8\xf7\xfb\x1c\x0f\x72\x9e\x83\x19\xee\xd8\x90\x2c\x3c\x2f\xe7\x51\x96\x2c\x96\xc8\x26\xaa\xf6\x55\x12\xd9\x13\xaa\xa3\xae\x23\x8a\x5f\x0d\xa3\x6b\xcf\x9a\x2e\x0b\x37\x65\x05\xcc\xed\x3b\x59\x0d\x5c\x2f\x5d\x1e\xfb\x08\x36\xab\xe3\x99\x36\x77\xd0\x98\xc0\xee\xe7\xf9\x55\x94\xf6\xd4\x3b\x43\x19\xaf\x93\x52\x77\x55\x32\x91\xa5\xff\xea\xb6\x47\x71\x7c\xcb\x86\x5b\xe1\x94\xec\x81\xdf\xed\x0d\x5d\xc0\x3b\x74\x14\xc7\x74\x7d\x50\xca\xaa\x92\xcc\x1c\x02\x09\x46\x50\xaa\x07\x0f\xec\x5c\x05\xce\xaf\xb4\x84\x09\x92\xd1\xce\x79\x23\x70\x87\x28\x16\x54\x18\x0f\x1e\xa8\x7b\x9b\x8a\x3d\x8e\xe3\x2d\x65\x6e\xdc\xb5\x6d\xcc\x49\x67\xc8\x43\xd7\x3e\x7c\xd3\x51\x4f\xd5\xa1\x7a\xf0\xc0\x96\x74\xe6\xa5\x7f\x46\xdb\x73\x40\x08\x44\x41\x6e\xf8\x4e\x5b\x16\x93\x9c\x37\x13\x06\x70\x9f\x8b\xa1\x5f\x6f\xc4\x54\x33\x56\x81\xdd\x34\xf9\xc2\x75\x1b\x3c\x99\xc1\xa5\x72\xc8\xb0\x3a\x94\xae\x06\xac\xf3\xf0\x61\x12\x6e\x2a\x77\x84\xdb\x6c\x9e\x37\x33\x7a\xad\x7b\x3b\xdb\x49\xd4\x9b\xe5\xdc\x70\x5c\xbd\x47\xfa\xd7\xf6\xbc\x5c\x81\x23\x33\x57\x5a\x0d\xde\x52\x32\x86\x29\x44\x8f\x32\x39\x7c\x07\x28\xb3\x1e\x9f\xbf\xff\xa4\xc6\xab\x71\xaa\x4b\x29\xdb\x96\xc7\x9d\x47\xf0\xc5\xfb\xe6\x03\x4c\x85\x47\xea\x26\x81\x9e\x2c\xaa\xe9\x14\xa8\x55\x26\xd5\xe2\xde\x21\xe1\xaf\x35\xaf\xdc\xad\x07\x05\xf8\x1b\x83\xe2\x56\x1c\x0f\x68\xe2\x5e\xfa\x6a\x4b\x07\x84\x4a\xee\xaa\x9c\x2a\x9c\x70\xd0\xf6\x1a\x1a\xaa\xbf\x56\x3a\x8b\x39\x5d\x0f\xf4\x6e\xdf\xbf\xab\x6f\x6b\x5b\x43\xaf\xca\xf1\x8d\xe8\x33\x9f\x1b\xe3\xb2\x44\xc5\x71\xd9\xac\xf5\xa0\x6b\x11\xdd\x6c\x9a\x1d\xc6\xea\x57\x24\xfb\x56\xdc\x83\x30\xf2\x17\x5f\x22\x82\x30\xe9\xa5\x2a\x96\x71\x02\x42\xba\x62\xa5\x5e\xbc\x7b\xe3\x93\x48\x27\x55\x42\x7f\x01\x85\xa1\x95\x74\x51\x75\x99\xc8\x1b\x02\x09\x0f\x56\xfb\x66\xae\x91\xe8\x9a\x65\x0a\xec\x7a\x5c\x3b\x58\xf7\x50\xfc\x90\x79\x7e\x65\x6f\xa3\xba\xec\x71\xf9\xa7\x32\x62\x0c\x69\x75\xc7\xe6\x3e\xe4\x22\xf5\x38\xcc\x74\x27\xa2\xa4\x1e\xe6\x85\x88\x7d\x62\x18\x76\xee\x28\x17\x3f\x4b\xa6\xb3\x83\x54\x5f\x69\xc1\xaf\xab\x59\x9e\x5f\xa2\xe4\xcc\xb0\xe5\xa6\x79\x7f\x8d\xae\xa2\x8f\x68\xdc\x18\xcc\x83\x1d\xca\xa4\x14\xe1\x99\xa9\xc3\x14\xc5\xe0\xaf\x1f\xa1\xc9\x5d\x35\xcb\xaf\xf5\x95\x2e\xba\xcd\xf2\x54\x16\x84\x25\xd9\x38\x5d\xc6\x6c\x15\xb6\x2f\x24\xb2\xe6\x52\x05\x32\x53\x21\xd2\x42\x3b\x14\xef\xec\xb3\x6d\x72\x17\x37\xbe\x1f\x52\xa0\x5f\x10\x0f\x2b\x72\x31\x13\x33\x1c\xdc\x8d\x44\x3f\x4f\x73\x95\xea\xa8\xc8\xd0\x46\x26\xba\x30\xad\x80\x56\xe1\x0c\x06\xcd\xe9\xa2\x46\x46\x61\x04\xdd\x5c\x5d\x25\x65\x52\xf9\xee\x71\xc7\xfe\x1a\xad\x8d\xc6\x22\x9a\xea\xb5\x5c\x2d\x4d\xb9\x7b\xb6\xab\xb5\xa9\xd7\xe1\xde\x80\x02\xb9\x5b\x7d\x79\xed\xe0\x2d\x4d\x19\x9b\x24\x71\x66\x3f\x9b\x83\x48\xee\xff\x46\x72\xf2\x0d\x92\x0e\x6c\x86\x81\xe9\xbe\xdc\xf2\x0c\x8e\xe9\x91\x75\xbb\xe9\xbb\x56\xcf\xc6\x3b\xde\xce\x41\xa3\x54\xa4\x69\xdb\xdf\xd7\x99\x43\x2d\x68\x74\x17\x6d\x20\x0b\x27\xb0\x8f\x4b\x4f\xf2\x0a\x8e\x44\xb4\x71\x15\xf9\xd5\x45\x13\x0e\xf7\x3a\x82\xc7\x91\x4d\x9d\x8b\x2a\x69\xba\x50\x59\x89\x5e\x30\x82\x0e\x8c\x16\x91\xa1\xd8\x36\x6b\x0f\x85\x12\x55\x33\x1e\xbf\x3d\xcb\x5c\xf1\xbe\xb4\x57\x88\xf0\xe8\x58\x89\x41\x98\xa2\xd2\x08\xda\x9a\xcc\x9d\x9e\xdf\xdd\xf6\x5f\xbc\x7b\x43\x37\x86\xb5\x13\x58\x4b\x9f\xaa\x20\xda\x9c\x19\x1e\x0e\x83\x42\x63\xb2\xbd\x50\xec\x24\xa9\x3e\xe1\xb1\xa1\xe8\x68\xb1\xd0\xa4\xe9\xb7\xf2\xee\xd2\x95\xab\x54\x44\xc3\xd7\x26\x1b\x13\x1c\x7f\x3b\x43\xc8\x72\x92\xff\x5b\x67\x7b\x83\xdc\xd4\x95\x09\xee\xdb\x5b\x35\xc8\x6b\xcd\x04\x43\x80\x97\x3a\x9d\xd4\x2b\x43\x01\xe8\x70\xcd\x27\x1e\x44\xae\x59\x90\xfe\x67\x9c\xa7\x29\xa1\xac\x80\x3c\x06\xce\x4d\x6f\xf2\x40\x88\x63\x3d\xb1\x3d\xb1\x95\xf2\x25\x28\xb4\x6f\xd6\x81\x9c\xde\xaa\x3f\xc2\x05\xc3\x96\x1d\xb0\x31\x9a\xb6\x37\x4e\x50\x17\xfb\xd7\xc0\x13\x6c\xd8\xec\x9c\xce\xed\x6e\x1c\xa0\x67\xf8\x6f\x0f\xfe\x6b\x0d\xf1\x04\xa7\xa3\x00\xc5\x05\x6b\xed\x2d\x0a\x00\x99\xb2\xe9\xfe\xa1\xb4\x22\xd5\xd1\x95\xbe\x23\xad\x40\xde\xdb\xa7\x15\xd6\xd0\xe8\xc5\xbb\x37\xff\x04\xfb\x19\xd9\x95\xd8\x6b\xf6\x6f\x5a\xd0\x9c\xe2\x1f\xbc\xa2\x61\xfa\x9a\x56\x74\xc3\x12\xe6\xea\xb1\xef\xed\x7f\xec\x3a\x33\x55\xde\x71\x99\xbd\xb1\x8b\xcc\x5a\x53\xb2\x29\x09\x72\x71\xb1\x67\x72\xe3\x98\x4c\xba\x51\x83\xb3\xa6\x68\xd1\x2d\x4e\x30\x43\xe7\x21\x84\xcf\xe4\xb6\x07\x95\xb7\x88\xc3\x15\xfe\x5b\x16\xf6\x6f\x5d\xe1\xb8\xbe\x23\x30\x77\x17\xe3\x23\xa9\xf9\x6f\x3a\xc2\x80\xb3\xab\xfb\x20\xcb\xf2\xfd\x43\xf3\x0f\x3e\xc1\x6e\xd1\x1e\xe1\x69\x9f\xe9\xaf\x95\xbd\xc5\xfc\x73\x6d\x79\x33\xb1\xbf\xee\x0c\xeb\xf7\xd5\x0b\xb4\x61\xa4\xdb\x1a\x8f\x15\x86\xd3\xa7\xf9\xea\x21\x7d\x47\x15\x60\x9a\xaa\x71\xb4\x2c\xb5\x8a\xa3\x2a\x52\x51\x59\xe6\x63\x0c\xb7\xc4\x41\xb6\x9a\x44\x61\xb8\xfd\xe2\x22\x5f\x2c\x74\xdc\x23\xd6\x12\x0b\x33\xd7\x0f\x42\x73\x89\x19\xe8\x03\x44\x3b\x21\x2d\x02\x51\x3f\x9c\xd7\x37\xf6\xf0\xf7\x25\x54\x51\x8c\x12\xa3\x3b\x12\xab\xe3\x38\x2e\x7d\xda\xe4\x64\x41\x4e\xbb\x88\x4a\x3f\x5a\x1b\x21\x15\x13\x8b\xe4\x56\xe7\xe7\x3f\xfa\xd8\xf4\xc5\x99\xd0\x33\xab\x72\xe2\x2d\x06\x52\x4c\xdf\x21\xab\xae\xc9\x77\xf9\x7d\xdd\xab\x4f\xc0\x6c\x51\x8d\xbc\xe8\x3f\xcf\x7e\xe5\x05\xd5\xb4\x67\xed\x48\x34\xee\x57\xb9\x15\x4a\x8d\x9a\x8d\xc6\xbc\x67\xe7\xdb\x76\xc3\xde\x1e\x37\xe1\x64\x3e\xd7\xb1\xd9\xbf\xe9\xea\xee\xad\xe1\x15\x31\x24\x33\xbe\x06\x7e\x55\x8a\x3f\xef\xb9\x20\x42\x56\x74\x1c\x70\xc0\xee\xef\x99\x03\x26\x14\x0a\x8b\x67\xae\x40\x06\x50\x6d\x75\xd4\x40\xb5\x5a\x9b\x4b\x1a\xb8\x3c\x1e\x52\x3a\xa8\x49\xdc\x75\x7e\x8b\x17\x0d\x9b\x29\x1e\xd3\xa0\x35\x8c\x4f\xa3\xee\xea\xd6\x77\x84\x7f\x00\xb7\x85\x44\xf5\xd7\xd0\x31\xc9\xdb\xdf\x82\x94\x59\xfe\xf9\xff\x8d\xc4\xcc\xbb\x24\xfc\x76\x82\x56\xbb\x73\xfc\x13\x13\x35\xb1\xc0\x7e\x6f\xba\x66\x88\x59\x43\xfe\x26\xba\x26\x5a\xf1\xff\x93\xb6\x3b\x90\xb6\x0f\x6e\xdc\xfe\x19\xa9\x1b\xaf\x99\x5f\xc3\xa2\x59\xe3\x2f\x47\xe6\xd0\x81\xc2\xee\x5a\x8c\x89\x1a\x65\xf5\x8d\xfa\x4f\x41\xd3\x92\xaa\xf4\xfa\x12\xb8\x98\xdf\x89\xae\xb1\xf6\x5b\x96\xf7\x6b\x98\x34\x2e\x4f\x58\x02\xfc\x7f\x81\x48\xf2\x3a\x6d\x22\x48\x51\x1c\xb3\xd2\xac\x91\x24\x81\x72\x51\xa7\x13\x35\x04\x3a\xe9\xfb\xa5\x7e\x3c\x7d\xf7\xe1\xf8\x2f\x2f\x7f\xfe\x8f\x97\x7f\x57\x43\xb0\x80\xc2\x9d\x41\x56\x1c\x2d\x3f\x35\x1a\xae\xc4\x1c\x1d\xd1\x42\x50\xe2\xdf\x16\xda\xe7\x97\x42\xd9\x79\x9c\xcc\x85\xb0\x2d\x1a\x12\xb8\xc1\xde\x83\xf4\x81\x06\xb8\x16\x27\x54\x31\x65\xd5\xe5\x40\x84\x6d\xc4\x3f\x1a\x95\x01\x3f\x88\x8f\x1e\xd2\x41\xd0\xbf\xc0\x6d\xd9\xd9\x3d\xf0\x2a\x00\x23\xa9\xf1\x4c\xf7\x1a\x86\x5d\xf9\x9f\x5c\xf4\x98\x1e\x29\x78\xfd\xcf\xbe\x86\xd7\x33\x8d\xf0\x07\xcf\x59\x11\x41\x7e\xfa\x2d\x86\x38\x02\x73\x24\x3e\x29\xa2\x38\x36\x67\x44\x04\x46\x10\x51\x1c\x93\x0d\x91\x39\x24\x24\xa5\x25\xab\x25\xce\x85\x2f\x10\x2f\x99\xac\x23\xe8\x76\xdd\x94\x7d\xa3\x75\x04\x9b\x45\xc0\x12\xb5\xb1\x66\x6f\x99\x89\x97\x34\xc5\x06\xf3\xbd\x76\xe5\x4c\x35\x8d\x3a\xd3\xcd\xe1\x46\x13\x3b\xde\x47\x9e\x65\xfc\xaf\x5b\xa5\xaa\x26\x12\x7d\x51\x4f\xec\xa5\x86\x10\x1a\x48\x2c\x9c\x33\x85\xa7\x30\x2b\x2d\xfd\x22\x91\x8a\x33\xb2\xab\x95\x54\xb2\xfd\x3e\xfb\xad\x9a\x96\x5b\x10\x40\x8e\xc9\xc7\x26\x47\x85\x0e\x25\x5a\x5c\x50\x96\xa3\x4b\x6a\x94\xad\x40\x37\x4b\x56\x4b\xf6\x90\x83\x12\x02\xef\x52\x9a\x2e\xaf\x28\x1b\x90\xa1\x0e\xe7\xe2\x2f\xe1\x9b\xec\xed\xe4\x0a\xaf\xe1\x96\x40\x2d\xa1\x45\x9e\xfb\x33\x24\x0f\x6c\xca\xab\x90\xab\xab\x19\xf4\x9d\x1d\x9e\xbb\xe7\x47\xe7\xdd\x60\x53\x87\x15\xfb\x68\x29\x6b\x7f\x66\xd1\x21\x62\x93\x4f\x99\xda\xb8\x9c\xa8\xd2\xe6\x8d\x2f\xa3\x67\xf8\x86\x29\x3e\x17\xdb\xd0\xd9\x5f\x73\x62\x98\x49\x7f\xf0\x80\x6d\x68\x1b\xae\xfc\x5e\x51\x75\x3a\xe2\xf2\x36\xb3\xd5\x2e\x3b\xd1\x99\x3f\x8a\x35\x44\x63\x87\x78\x00\x71\x62\xf9\x48\x40\xcb\x53\x7c\x07\xaf\xd6\xd6\x9b\xef\xfc\x48\x04\xd8\xde\xdb\x3b\x96\xc6\x48\x1e\x0e\x78\xdd\x80\xb8\x38\x7e\x05\xf6\xc2\x86\xf7\xca\x97\x95\x6f\x2d\x5c\x1c\xbf\xea\x2a\xfe\x14\x04\x6b\x84\xaf\x3d\x0b\x02\x42\x8d\x7c\x16\xc6\xc1\x95\xa9\xcd\xab\x23\xbb\x0c\x07\x41\xd2\x70\x90\xb8\x5e\x88\xd0\x71\xe8\xe8\x29\x0d\x96\x70\x65\xec\xef\xab\x69\x9a\x5f\x44\x29\x44\xa7\x58\xfc\x18\x95\xb3\x01\x1a\xf6\xed\xf7\xad\xfb\xe2\x3d\xeb\x29\x6f\xb8\xd3\xe4\x2a\xaa\x80\xc6\x90\x27\xa6\x88\x74\x71\x8f\xfd\x17\x91\xe5\x26\xcf\xd7\x9d\x10\x4a\x7a\xda\xe4\xe3\x88\x90\xa1\xe8\x99\x06\xd6\x9b\xd7\xb9\x9a\xe6\x51\x6a\x63\xd9\x1f\xa8\x59\x12\x6b\xb0\x8e\x07\xc6\x9b\x9b\x0d\xf6\x33\x48\x06\xd9\xd5\x16\xa4\xce\xd6\xb0\x07\xfd\xc3\xa9\x6c\x2c\x29\xba\x28\xab\x22\x1a\x57\x2a\xba\x8e\x56\xb6\x48\xce\x4e\x20\x76\x63\x35\xd1\x51\xb5\x2c\xc8\x05\x32\xc9\xc6\x79\x56\x26\x65\xa5\xb3\x71\x62\xc8\x1f\xb4\xea\x55\x5e\xa8\x4a\x97\x15\x38\xf9\x93\x1c\xc3\x59\x9a\xbc\xc9\xc7\x97\x3d\x1e\x07\x35\xcf\xc7\x97\x81\x2b\xe3\xda\x6a\x8b\x38\xd5\x08\x1c\x33\x29\x80\x80\x1f\x8e\xdf\x22\xc9\x42\x44\xfc\x2c\x81\x63\x44\x97\xe0\x8c\xc1\x2e\x4d\xce\x97\x01\xa4\xec\xf9\xb2\x22\x5f\xdd\x4a\x9b\x0e\xf3\xfb\x1d\x74\x0f\x51\x85\x8e\x52\xdb\xef\x68\x91\x10\x2e\x3e\xfb\xad\x7a\xdc\xf2\x9a\x47\xf2\xd4\x0d\xbf\x37\xb6\xbd\xa6\x3c\x16\xb6\x87\xc0\x71\xaf\x8b\x68\xb1\xd0\xb1\x73\x62\x6f\xca\x64\x16\x09\x95\xdd\x33\xa3\x9e\xa7\xda\x9c\x49\x91\xf3\x5d\x24\x0d\x82\x2a\xcd\x4a\x83\xde\x4d\xa2\xb1\x6e\x2e\xac\xcc\x00\x46\xc1\x3d\x58\xe3\x1e\x19\x02\xe0\x07\x1c\x85\x36\x03\x12\x71\x03\x01\x9a\x68\xda\xb5\xb9\x71\xbf\x05\x2c\x36\x53\x9a\x22\xba\x7e\xe1\x70\x8a\xb8\x08\x73\xda\x50\x02\xf6\x90\x56\x43\xee\x9f\xc5\x3d\xa2\x14\xb3\xa4\x04\x3f\x33\x9b\x80\x5e\x74\xdd\xc5\xe0\x14\xb7\xb7\x4b\xe2\xde\x59\x92\x97\xea\xa8\xa8\xa5\x93\x6f\x6d\x14\x79\x0d\x50\x0d\x60\x02\x79\x12\x5b\x3f\x57\x3a\x4e\x93\xd2\xac\x61\xc7\xf9\x53\xd7\xf3\x65\x55\x56\x11\x64\xfc\xa0\x7f\x59\xea\xb2\x7a\x0e\x88\xc1\x04\x02\xb3\x21\x09\xfb\x0d\x3b\x63\xf9\x7e\x5f\x9d\xbe\x7b\xf1\xae\x7d\x95\x7f\xa9\xa2\xce\xc0\x5d\xf2\x92\x52\x55\x7a\xbe\xc8\x8b\xa8\x58\x99\x85\xb9\x63\x8f\x77\x76\x49\x7c\x57\x2b\xdf\x70\xc8\x1b\x3f\x1e\xb9\x12\x92\x6c\x5c\xff\xce\xed\x97\x06\xa8\x9b\xba\xf9\xf0\xe1\x51\xe8\x72\xf6\x12\xfd\xff\x50\x28\x30\x9a\x64\x23\x61\x4d\x8f\x84\x1e\xa1\x04\x56\x49\x36\xed\x00\x3d\x89\xf5\xb8\x20\x33\x47\xc8\xb3\x65\xbc\xc8\xdd\x15\x40\x99\x75\xd1\x63\x83\x7a\xfa\x6d\x36\x31\x20\xc8\x1f\x76\x2d\x29\xdb\x5a\x1a\x80\x88\x5b\x78\xec\x1d\xbe\x75\x8a\x20\xbc\x9b\x06\x51\x1c\x37\x32\x82\x98\x0d\xc7\x83\x26\xd7\x65\x9a\x8c\x21\x2c\xa7\xf3\x08\xea\xaa\x47\x1c\xba\xac\x1e\x3f\x6b\xc3\x28\x1f\x1c\xf0\x89\x05\x17\xb0\x4d\x33\x36\x1c\xaa\x43\x79\x06\x5e\xcf\x92\x54\x37\xa6\xb7\x6e\xeb\x6c\x48\xee\x99\xab\x07\x11\xd1\x1a\x9b\x65\x4b\x58\xe4\x8b\x76\x27\x60\xfa\x1a\x03\x47\x2a\x44\x12\x9c\xf6\x20\x86\x61\x3b\x88\x92\xbf\x13\x3e\xb1\xe1\x6e\x18\x7e\x78\xaa\x2b\x73\x36\xb7\x97\x45\x2a\x7d\x3e\x01\xa7\x54\x0d\xd5\xb2\x48\x6d\x9c\xc8\xd6\xfd\x96\x1f\xf5\x8f\x12\x41\xd0\x48\xf5\x4c\xb5\x5a\x6a\x00\x19\xc8\xd9\x12\x3f\x3f\x54\x8f\x5c\x68\x67\xe7\x48\x49\xc7\x3d\xfe\x7a\x9b\x57\x7a\xe0\x85\xed\x40\x6c\xef\x98\xfc\xfb\x56\xaa\x1c\xeb\x2c\x2a\x12\xf0\x2e\xce\xc8\x9d\xd2\xdf\xe0\x8b\x42\x4f\x92\xaf\x5e\x21\x40\xcb\xf7\xf6\xd4\xb3\x1d\x4f\x44\xe3\x36\xe2\xda\x49\x4b\x5e\x35\x3a\xdf\x92\xec\x0c\x7c\x2b\xb3\x5c\x4e\x9c\x2a\x70\xe6\xec\x22\x07\x12\x90\x81\xa7\xd1\x4f\x33\x9d\xbd\xcd\xeb\x8b\xbc\x94\x54\x80\x6b\xe6\x51\xef\xf7\x15\x46\xfb\xe6\x43\xb3\xca\x79\x2b\xc1\xe6\x5b\xe4\x69\xfa\x2a\x2b\xd5\x01\x76\x31\x29\xe1\x7e\x65\x78\xa4\x9c\xa3\x5d\xe6\x97\x09\xb1\x14\x39\xd8\x94\x2c\x00\x09\xb4\x54\x93\xa4\xd0\x5c\x47\x44\x20\xe0\xb1\xae\x74\x31\x4f\xb2\xa4\xac\x92\x31\x48\xf9\x0c\xaf\x53\x68\xc3\xa2\x54\x16\x27\xc5\xd0\x3e\x1c\xf1\x56\xa9\xf0\x94\x2f\x7b\xea\xb5\x8e\xae\xd0\x4f\x33\xc9\xa6\xa5\x5a\x2e\x44\x98\x12\x53\x07\x7b\xab\x62\xfd\xea\x1a\x90\xad\x08\xda\x2d\xc9\xd4\x24\x8d\x2e\x57\xc8\xdb\xa0\x5c\x8b\xa5\xc5\xd4\x45\xc1\xee\xe2\x1b\x43\x30\xf1\xa9\x6d\x78\x55\xbe\x00\xdf\x61\xf3\xf2\x60\xb7\x2d\xa9\xf0\xb0\x7e\xb6\x6e\x48\xf0\x33\xe1\xc9\x72\xee\x81\x44\xa6\x7f\xd3\x1f\x9e\x53\xef\xf3\x34\x55\x80\x93\xa2\x0b\x75\xfc\xfe\xe4\xf7\x28\xf6\x8a\x86\xff\x55\xe6\x07\xdc\x33\xef\xe8\x98\x0e\x3d\x9b\x25\x67\x7d\x3f\x8a\xe3\xf7\x90\x7d\xa7\xee\xfa\x2e\xf7\xcf\x24\xc3\xe6\x4b\xb4\x82\x28\x8e\x77\xb6\xb9\x3b\xa3\xc4\xdb\xcb\x62\x16\x5b\x9a\x94\xe0\x14\x2b\xec\xf9\xcd\xb2\xa6\x45\xb4\xd0\x45\x92\xc7\x84\xb0\x4a\xfb\x02\x99\xa3\x7d\x8c\x17\x54\x45\xe6\x24\x5c\x70\xd4\x9e\x09\x7a\x30\x9b\xb7\x3a\x56\x2b\x5d\x79\x98\xce\xec\x65\xed\xf5\x05\xd8\x5c\x90\x1c\x7b\x41\x6c\xec\xe6\xb6\x63\x22\xb7\xf1\xc4\x73\x54\x4d\xca\x4f\x2c\x22\x69\x8b\xa1\xee\x74\xb0\x25\xef\x11\x9a\xf7\xd1\xe1\x61\x57\x70\x5b\x1c\x56\x1e\xa7\x0b\x17\x9c\xb9\x95\x49\x52\x3b\xc9\x9a\xbc\xd1\x69\x42\x10\x5f\x6d\x8d\xdc\xea\x55\x94\xaa\x1f\x0d\xe7\x0c\xd8\x63\x04\x2b\xe7\xee\x2f\x44\x49\xc4\x28\xb7\xe7\x65\x67\xf3\x04\x0b\xa6\xf0\x83\x66\xc8\x30\x33\xc9\xc8\xe1\xe7\x85\x9a\x44\x97\x5a\x8d\x5c\x3a\xc7\xa0\xf4\xb6\x2e\x83\xe7\x10\x31\x1a\x6e\x41\x68\x4d\x07\xf3\x4c\x00\x12\x74\xef\x92\x01\x42\xb0\x6f\x65\x57\x21\x9c\xa6\xf7\x19\x4b\x14\x6d\x9d\x64\xb0\x2a\x2e\x01\x80\x29\x31\xeb\x6a\xd2\xc0\x8f\xc8\x49\xe1\x0a\xbc\x99\xa1\xa9\x75\x3e\xa5\xe0\x52\xdd\xf6\x1c\xb3\xee\x48\xba\x6a\xfb\x50\x0d\x45\x8d\x6d\xa8\xa0\x6b\xbb\xcb\x04\x87\x58\x82\x5b\x87\xd6\xbd\x89\xe6\x7c\xfa\xf0\xfa\xf7\x21\x35\x3b\x42\xc2\x19\x7f\x84\x10\x74\x2a\x8d\xca\xea\x47\xbc\x5b\x7c\x94\x41\xe9\xcc\x7b\xba\x0c\x7d\x2a\x52\x8a\x20\x0a\x0b\x65\x56\xe8\x09\xa7\xba\x88\x4a\x96\xe2\x49\x48\xb2\x49\x92\xc5\xed\x96\xf9\xd8\xb2\x51\x40\x0b\x9d\xe6\x51\xfc\xda\xdd\x7c\xd0\x39\x6b\x87\x24\xb7\x50\x39\x0e\x5c\xd8\x24\x96\x79\x63\x93\xb7\x92\xc2\x65\x91\x6e\x5d\xc7\x7f\x79\x79\x7a\xfa\xf2\x03\x45\xac\xf9\x89\xae\xc6\x00\x90\x44\x3c\x6a\xd7\x63\x4a\xbe\xb8\x98\x31\x65\x3d\x46\x95\x37\x22\x72\xff\x7c\x0c\x6b\x31\x27\x79\xaa\x23\x43\x33\x33\xbd\xa1\xae\x52\x57\x25\xe0\x89\x55\x39\xe0\xfe\xa0\xdb\x3e\x96\x71\x32\x51\x10\x70\xca\x5e\x0b\xa3\x45\xe2\xf0\x63\xbb\xca\x90\x21\x18\x9c\x7e\xa1\xc1\x66\x15\xc7\x8d\x18\xb3\x2e\xb2\x18\xd7\xa4\x60\xda\xf7\x1b\xde\xb7\xbf\x28\x2f\x67\xa3\xba\x3f\x50\xf7\x93\xaa\x54\xf9\xb5\x73\xcd\x47\xfc\xc0\x34\xbf\x56\xe3\x19\x62\x25\x88\x11\x78\xfb\xee\xf4\x25\x31\x89\xa6\xa9\x80\xd2\x50\xe9\x2c\x26\xd1\x05\x44\x10\x20\x6e\xb1\x92\xe0\xde\x7c\x29\xef\xa9\xf7\x66\xbc\x34\x41\xec\x50\xbb\x1b\x02\x63\xd5\xb3\xae\x01\x48\x06\x54\x96\xc0\xe0\x36\x1c\x8a\xac\x4c\x34\xa3\xfd\x56\x5f\xc3\xbf\x6d\x86\x82\x83\xa0\x05\x25\x04\x1b\x0a\x48\xed\x45\x9e\xa7\x3a\xca\x86\x6b\xc5\x23\xf5\x11\x29\x76\x46\x65\xf0\x6b\x1b\xfc\x8d\x66\xab\xd0\xe3\xbc\x88\x03\xce\xd6\x2a\x1f\x51\x78\x45\x22\x8d\x2a\x87\x2e\x03\x37\xdc\x3c\xab\xfe\x39\xb7\x84\xbd\x69\x09\xd9\xb2\x48\xbb\xdc\x8c\x2e\x96\x2c\x78\xd6\x93\x4c\xcd\xf3\x58\x17\x99\x45\x1c\x56\x23\x6a\x63\x0f\xd2\x02\xea\xe9\xc8\x6c\xcc\x91\x99\x1a\x0a\x31\x78\xa4\x2a\x88\x2b\x6a\x8e\xea\x4a\x95\xda\x74\xa0\xd2\xe9\xca\xb2\xc2\x45\x3e\x57\x23\xab\x6f\x18\x11\x13\x89\x56\x9f\x56\xa4\x65\x9a\xda\x6e\xf5\x27\x79\xde\xea\x8c\xc4\x1c\x05\x2d\xe0\x42\xcd\x40\x58\x0d\xc6\x55\x12\xa9\x91\x1d\x8e\x11\x18\x84\x56\x3a\x8a\xbb\x2a\xd5\x55\xab\xb4\x45\x89\x36\x00\x40\x3c\x74\xc4\x85\x7c\x0f\x4f\x7d\x1c\x1f\x77\x40\x94\x44\x6d\x24\xb6\x04\xb7\xe7\x38\x8b\x8b\x3c\x89\x59\x40\xa4\x7e\x78\x85\xda\x42\xe8\x65\xa9\x1c\x6e\xb5\x9b\x74\x71\x02\x5f\xe8\xb1\x61\xe4\xcb\x2a\x4a\x45\x5b\xec\xd2\xbd\x37\xac\x09\x82\x3a\x5b\x84\x44\x0e\xcb\x87\x2b\x13\x05\xd0\xab\xce\x46\x11\x92\xc3\xc9\xc6\x55\x6e\x0b\x13\xd7\x4a\x12\x6d\x45\x73\xcd\x14\xb8\x4e\x94\x87\x43\x1c\x30\x09\xec\xf8\x22\x77\x98\xf4\x86\xae\xc2\xad\xc3\x14\xbe\x28\xf4\x15\x44\x0c\x03\x1c\x39\xda\x1f\x9f\x3e\xbc\x2e\x99\x21\xac\x74\x89\x58\x2f\x84\xea\x02\x51\xf1\x4c\x2e\x06\x87\xa1\x25\xfc\xf2\xc9\xa3\x43\x5c\x71\x53\x42\xa0\x01\xd3\xf0\x42\xc7\x09\x44\x62\x4e\xf3\x7c\x81\x77\xc0\x24\x53\x7c\xda\x98\x5b\xf3\x45\x94\x4d\x4f\x32\x88\xea\x67\x0e\x34\xb3\x11\x7a\xae\xdc\x8f\x5a\x43\xcc\xdc\x72\xd0\xef\x4f\x93\x6a\xb6\xbc\x90\xf1\x89\xf9\xdf\xde\x97\xb2\x3f\xce\xe7\xf3\xa4\xea\x4f\x26\x17\x8f\xff\xf5\xf0\x91\x90\x4d\x84\x27\xe6\x10\x6e\xe4\xea\xc1\x03\xd5\xbe\xc7\x62\x43\x9e\x03\xf5\xfd\xbb\x1b\xdd\x4e\x83\xf0\xde\x6c\xee\xd0\x5b\x99\xa7\xe4\x87\xa8\xe4\x19\x11\xf5\x3d\x78\xe0\xa4\xf7\x41\x5b\x3a\x34\x59\xfc\xd5\x4c\xf4\xd1\xa6\x73\x7e\x59\xa4\xf2\x5b\x70\x10\xd3\x8c\x07\x13\x6e\x36\x3a\xf7\xec\xf8\xfd\x89\x19\x0e\x20\xef\x86\xb6\x03\x08\xa4\x6f\x42\xd2\xef\xab\x78\x49\x9c\xe9\xc5\x12\x00\xd1\x4f\x5e\x3e\x3a\xec\x9f\xbc\x7c\xf4\x88\x84\xdd\xa9\x8e\x62\x31\xed\x15\x1a\x9d\x4f\x92\x02\x31\x79\x46\xa6\x54\x2c\x74\xa4\xb2\xbc\x50\xa3\x45\xbe\x20\x12\x06\x4b\xc6\x65\x4d\x32\x8a\xa4\x05\x20\xbc\xed\x52\x6b\x75\xff\xdf\x1f\xfd\xcb\x9f\x3a\x3d\x31\x77\xb5\xf9\x81\x59\xb3\x83\xfd\xfd\xbb\xba\xd7\x3c\x5d\x94\xfe\x8c\x49\xff\x33\xd5\x92\xc4\xba\xa5\x06\xaa\x65\x09\x57\xeb\x1c\x49\x4e\x57\xb5\x5a\x5d\x25\x67\xa1\xce\x04\x89\x11\xc6\xcb\x4e\x59\x26\xd3\x0c\xdd\xfb\xa6\x11\x74\x8a\xb5\xc7\xb9\x39\x23\xaf\x73\x08\xca\x17\x5d\xa4\xba\x04\xd1\x1e\xd1\x1f\x82\x8b\x4e\x62\xf3\x38\x8e\x52\x67\x26\x7f\x13\x9b\x45\x8b\x2f\x44\xda\x05\xd3\x0c\x1e\x99\x10\x11\x3e\x60\xf1\xc4\x5a\x92\x72\x2e\x53\x04\x8d\x92\x5f\x40\xc8\x8a\xb4\xfd\x31\x92\x58\xe4\xcd\x2d\xf0\x38\x9b\x5a\x03\xea\xd8\xe8\x3e\x54\xe9\xd0\x93\xb0\x35\xa0\x54\xec\x6c\xd8\xa3\xfd\x3e\x85\x27\x6c\x12\x58\xf4\xfb\xea\x20\x1c\x1a\x27\x11\x8a\x4a\x77\x18\xc7\xb0\x99\x90\xa9\x02\x9a\x16\xc5\x2a\x5f\x8a\xb5\x8c\xe1\x00\x0d\xbb\xe1\x77\x34\x99\xc0\x1d\xcf\x54\xa1\x66\xe0\x7f\xe9\x80\x40\xa0\x7a\xd4\xf2\xc0\x98\xb2\x99\x41\x04\xf1\x08\xc8\xbb\xc7\x30\x65\x4c\xfe\x2e\x96\xd3\xff\x4a\xd2\x34\xea\xcd\x73\xfc\x37\x2f\xa6\xfd\x72\x96\x5f\xff\x7c\xb1\x9c\xf6\xc6\xd3\xe4\x59\x12\x0f\xff\xe5\xf0\x5f\x1f\xfd\xeb\x63\x7f\x3c\x82\x3e\x7e\xff\x1e\x70\xc8\x3c\xa9\xfd\xff\xed\xf1\xbf\xf6\xa7\xdd\xdd\xd6\x6e\x5d\x44\xb3\x81\xaf\x2f\x2d\xe7\xb3\x89\xb3\x3f\xf5\x05\x92\x11\x4d\x88\x64\xff\x90\x93\x55\x1e\xbf\x61\x2e\xc5\x00\x8b\x95\x4c\x82\x0f\x86\x0b\x66\x4e\xa1\x59\x1e\xc1\xaa\xa5\xb2\xce\x96\x31\x27\x51\x03\xb2\x90\x1a\x7d\xb7\xd1\xd6\x56\xa5\xb2\x2c\xd2\xe7\x40\xd6\x5e\x83\x8e\x51\x17\xbe\x48\xc8\x7e\x3e\xc9\x92\xca\xd3\xc7\xf8\x90\x25\x50\xf2\x71\x16\xbf\x4a\x0a\xfd\x89\xf3\xd8\x46\xd4\x69\xcd\xc4\x4f\x27\xae\xaf\x38\xb0\x4c\x5a\xac\x8c\x82\xf4\x90\xfb\x86\xcc\xef\xb3\xcf\x9b\x35\x42\x41\x7a\x22\x45\x0b\xa6\x6f\x86\xe0\x3c\x77\x1d\x17\x8c\x56\x43\xe3\xdb\x82\x6f\x45\x04\x07\x5b\xb3\xa9\x06\x21\x09\xf0\xba\x92\xd9\x75\x42\x4e\x5c\x0d\x4c\xad\xd9\x4b\x3d\xd7\x79\xdb\x02\x9f\x35\xea\x89\xe3\xcd\x4f\x27\xd9\x46\xf1\xa5\xa3\x9e\xe1\xf2\x19\xd4\xae\xa8\x28\x2e\x44\x06\xc6\x81\xe5\xaa\x49\x0e\x83\xad\xaa\x6b\x80\xa3\x98\xa8\x8b\xbc\x82\x60\x3e\x74\x9c\xa9\x07\x8a\x8f\x32\x75\xad\x21\xce\x2b\x83\x82\x62\x38\x84\x5f\x96\x51\x5a\xb6\x6b\x77\x78\x31\xb0\x1d\x29\x4b\x95\x9d\x08\xd2\x49\xf8\xb4\xfa\xdc\x84\x4b\xd4\x5b\x64\x93\xc6\x75\xb5\x81\x0b\xe2\x8b\x4a\xbb\x63\x8e\xd5\x46\x46\xd2\x1b\xd2\x6f\x1e\x59\xf1\x18\xf1\x1a\xb7\xe2\xca\x3e\xda\xb9\xed\xa1\xc6\x72\xa0\xfa\x5e\x13\x22\xa1\x94\xde\xb9\xe6\xf0\x9b\xb6\xab\xb3\xeb\x35\x9c\xc5\x3f\x0d\x1a\x14\x9f\x9a\xe5\x99\x1d\xbb\xad\x34\x8d\xa1\x80\xeb\xa8\xbc\x4d\x9a\x0f\x8a\xac\xea\x20\xc9\x4b\x3f\xd0\x74\xab\xc4\x5d\x23\xf5\x24\x66\x2b\x99\x0c\x89\xb5\xf2\x45\xde\x3a\x5f\x56\xec\xc5\x4a\xac\xaf\x8d\xf2\x0b\x68\xe9\xd5\x6a\xa1\x4b\x1b\x98\xa0\xc2\x32\x32\x94\x27\x17\xba\x2c\xd5\x45\x54\x78\x19\x1c\xbc\x3a\x73\x58\xed\x49\x5e\x5c\x47\x45\xdc\x47\xc5\xca\xc5\xb2\xaa\xb8\xdf\xb5\x3c\x11\xa0\xb1\x87\xbd\x01\xa8\x2c\xd1\x99\xa0\x23\x17\x2b\xe5\xdd\x3d\x3b\x12\x0a\x94\x0f\x0d\x6d\xa7\xd5\x1c\x18\xd6\x00\x1b\xee\xdf\x7c\xad\x8f\x4a\x05\x77\x76\x1d\x9c\x27\xff\x4f\x0b\x39\xe6\x79\x96\x54\x79\x21\x67\x1c\x62\x0b\xe1\x84\xa9\x68\xb1\x28\x9b\xa4\x1f\x02\xe0\xcd\x70\xd3\x9d\xb5\x1b\x02\xde\x08\x9e\xbc\x3f\x50\xad\xd5\xd6\x97\xb3\x72\xae\x97\xfc\x41\x20\xa4\x32\x8e\xad\x8e\x5d\x85\x93\x4c\x1d\xa8\x59\x94\xc5\x2b\x8e\x80\x32\x01\xe6\x28\xca\xf2\x6c\x35\xcf\x97\x65\xcf\x3f\x57\xc5\xce\xb9\x41\x3f\x17\x18\x14\x20\x4e\x2c\x8b\x57\xb2\x3c\xd6\xad\x52\x95\xab\xac\x8a\xbe\x22\xc0\xb5\xbb\x67\x02\x7b\xe9\x1d\xb4\x1e\x66\xd6\x4f\xbc\x64\x14\x00\xb4\x56\x33\x8c\x41\x80\x43\xd2\x67\xda\xdd\xc1\xc1\xb2\x78\x3e\x80\x5a\x04\xf7\x10\xcb\xed\xb5\x75\x6f\xda\x53\xef\x16\xba\x88\x3a\xe2\x62\x04\x3c\x20\x1c\x11\xee\x1c\x70\x51\x0a\xb0\xeb\xa4\xfd\xe0\x9d\x86\x96\x04\x2e\xa3\x38\x4d\x78\xca\x5c\x05\x62\x7b\x98\x8b\x89\x2f\x5b\x72\xc9\xea\xf2\xc6\x03\xd7\x20\x79\xc5\x6a\xba\x3e\x75\xd8\x12\x1c\x8f\xd7\x4e\x2f\xcf\xda\x2d\xce\xdd\xea\x6e\xe1\x51\x3a\xe2\x6e\x29\xba\x21\x2b\x6c\x28\xda\xa5\xbc\xa9\xf0\x0d\x7c\x94\xb3\xf8\xa6\x83\xa6\x7e\x36\x34\x2a\x17\x2d\x3b\x87\x6f\x1b\xf4\x3e\xcf\x67\xda\x10\xb1\xeb\x99\x06\x35\x2f\x13\xdc\x59\xe4\x08\x95\x20\xb6\x04\xf7\x44\x1b\xeb\xad\xd6\x31\x03\xe4\xeb\xaf\x14\x2c\x8c\xb0\xfe\x0c\x33\x06\x42\x34\x6d\x8e\x85\xbc\xb0\x14\x00\x4e\x06\xf0\xe3\xb8\xd0\x1a\x81\xba\xe1\x0e\xbc\xca\xc6\xac\x82\x2b\x55\xc3\x8a\xa5\x2d\x80\x2b\x28\x21\x1b\xcb\x60\xfb\xed\xed\x41\x7d\xde\x1e\x94\x03\xfc\xbb\xa9\x59\xdf\x24\xe5\xf8\x77\xd3\x79\x6c\x3a\x86\x2f\xa2\x52\xff\x58\xe8\xc9\x0d\x67\xb0\x2f\xfd\x7f\x62\x72\x41\x00\x57\x8a\x97\xdb\xa6\x18\xa0\x85\x4e\x31\xb6\xc7\x81\xb5\xb9\x8b\xf3\x79\x94\x64\x9d\xc6\xcb\x03\xcb\xa0\x25\x84\xaf\x2d\xda\x1f\x75\x6e\x67\xd3\x7d\x02\x70\x38\xf1\x9b\xd0\xc5\x10\x8a\xa8\xf9\x10\x98\x81\x40\xda\x67\xca\xbf\x8f\xfd\x67\x1b\xee\x7e\xcf\x3e\x0f\x3a\xcf\x3e\xf7\x3f\xf7\xcf\xfe\xf3\x73\xff\x7c\xbf\xdf\x85\x20\x1c\x03\xd5\x6a\x1d\xfd\xae\x3a\xf4\xe7\x64\xfc\xf0\x3b\xaa\xcf\x81\x7d\xa5\x62\xd1\x74\x2d\x7c\x8f\xee\x76\x6a\x48\xbd\x01\x3d\x18\x7c\x78\x1f\x55\x33\x66\x24\x79\xa4\x29\x58\x98\xd3\x3d\x46\x13\xfd\x42\x8f\xf3\x58\x7f\xfa\x70\xf2\x3c\x9f\x2f\xf2\x4c\x67\x95\x39\xe6\x9a\x0c\xa1\x2c\xee\x6c\x63\x06\x36\x6a\xa8\xdb\x09\xb1\x58\xa1\x2a\xc4\xb5\x78\xdb\x02\x26\x2b\x92\x86\x33\x1e\x57\xd7\x90\x20\xef\x71\x04\xe0\x79\x43\x32\xd4\x69\x51\x3a\x87\x02\xbd\xf9\xb2\xad\xad\x09\x0b\xdd\xb9\x2d\xfe\x5f\xa4\x5a\x64\x2f\xd4\x52\x69\x7e\xad\x08\x1a\x0f\x20\xbd\x81\x78\xb1\x7a\x1b\xf3\xb3\x86\xcb\xe2\x78\xcc\x75\x64\x01\x20\xe0\x8e\x89\x82\xdd\x74\xd5\x65\x3e\x49\xed\x61\x5e\x07\xea\x87\xda\x80\x5e\xc0\xd9\xd1\x78\x42\x77\xe0\x0a\xbb\x52\xb1\x26\x43\x47\x8e\xc0\x6f\x6d\xd3\x9c\x2b\x06\x1b\x24\x45\x3e\x37\x18\x99\xbb\x5b\x9a\xe6\xd7\xe5\x40\xd4\x73\xc0\xfd\x68\x77\xd4\xc1\x53\x14\x76\x1a\xa6\x39\x4d\xf9\x43\xd7\xda\x00\xbd\x7d\x77\xaa\x22\x35\xce\x17\x2b\x36\xd4\x05\xcd\x71\xc6\x06\xcc\x5d\x55\xe6\x1c\x22\x6c\x9e\xc7\xc9\x64\xb5\x43\xee\x76\xe8\x61\x27\x6b\xc3\x00\x00\x18\x53\xdb\x54\x5c\xea\x0a\xe7\xba\xca\x19\x7e\x3d\x99\x38\x84\x78\xa7\x4a\x89\x75\xaa\x2b\xba\xaa\x43\x59\x4d\x25\x43\x91\xd6\xb0\x36\x2a\x15\xd5\x67\x8b\xe9\xa8\xe1\x50\xbd\x78\xf9\xfa\xe5\xe9\xcb\x8f\x10\x08\xc9\x9c\x32\x18\x1e\x26\xa9\x30\x5c\xa9\xca\xf2\x6b\x18\x54\xee\xc4\x75\xb4\x6a\x26\x85\xef\x48\x8e\xf2\x63\x7d\xf0\x00\xf2\x45\xcc\x02\xab\x6b\x2d\x3f\xde\xf1\x49\xe5\xd8\xd2\x80\x20\x54\x02\x8d\x94\x23\x9a\x98\xf2\x35\xd8\x00\x76\xe9\x17\xf8\x40\xf1\x8f\xae\x4a\xba\x68\x35\x27\x4c\x98\x32\x0f\x06\xd9\xbc\xc1\x21\x06\x61\xbf\x1b\x1c\x21\xce\x77\xa6\xc0\xd4\x38\x35\x54\x3a\xab\x51\x06\x2c\xf8\xa1\xda\x1d\x1e\x2d\xa2\x6a\x36\xdc\x55\x0f\x25\x7d\x7a\x28\x64\x96\xcd\x7f\xbb\x47\xfa\xeb\x22\x29\x74\x39\x3c\x9d\x2d\xbb\xea\xf0\x91\xfa\x6b\x94\xa9\x47\xff\xfe\xaf\x87\xea\xf0\x70\x00\xff\x53\x7f\x79\x73\xba\xbb\x55\xae\x6b\xbd\x92\x71\xb8\x02\x07\x2b\x31\x62\x6a\xa8\xda\x77\xed\x5a\x6b\xd8\x52\x0f\x9b\x12\xd0\xdc\xdc\xdc\xc7\x16\x8e\x4d\xcb\x1b\x9b\x8e\xc3\x08\x7e\xe4\x79\x5b\xf5\xfb\x6a\xa1\x51\xac\x39\xe8\xf7\xaf\xaf\xaf\x7b\x89\xae\x26\x20\xcd\x2c\x26\x63\xf3\xff\xc7\x8f\x0e\xff\xbd\x57\x7d\xad\x2c\x4d\x02\xfc\x4c\x94\xbf\x46\x95\x9a\x27\x59\x32\x5f\xce\x07\x7e\x99\x07\xea\x4f\x87\x87\x4a\x90\x5e\xf9\xe9\xb1\xfd\x02\x75\x2f\xb3\xe4\x97\xa5\x26\x3e\x20\x4c\xfb\x2f\x87\xff\xfe\x3f\xd4\xc5\xaa\xa2\xb4\x6e\x37\x8a\x09\xf1\xc6\xfc\x29\x64\x69\xb4\x2b\xbd\x8e\x8a\xac\xbd\x4b\xf4\xbb\x65\x16\x0f\x86\x00\x09\x86\x74\xb7\xa5\x16\x79\x59\x26\x17\xe9\xca\x06\x8d\xc8\x0b\x95\x5f\xe9\x62\x92\xe6\xd7\xe0\x74\x86\x6a\xdb\xa4\x22\xfc\xea\x5c\xa5\x51\x31\xd5\xaa\xbd\x5b\x2b\xcd\x6b\xdc\x43\xb5\x4b\x0d\xc4\x3e\x75\xee\xed\xde\xce\xca\xd5\x5f\x87\xa0\x1a\xa8\x2f\xac\x7b\xc3\x61\xed\x2c\x97\x03\xd1\x70\xce\xd7\x4b\x11\xca\x16\xb7\xdd\x55\xbd\x60\xf2\x75\xdc\x3d\x52\xb2\x0b\x75\x16\xc3\x7e\x02\xc4\xe7\x04\xcc\xde\x01\xda\x59\x14\xef\x20\x9f\x1f\x3e\x6c\xda\x4e\x60\xad\x6e\x53\x7b\x48\xcf\xca\x1a\xf6\x62\x0a\x67\xdb\x3b\x6c\x79\x43\x0b\x3b\x17\x92\x3e\x05\x3b\x4a\xd5\xef\x27\xd3\x2c\x2f\xf0\xc4\x4f\xcd\xb9\x5b\x5f\xae\x0a\x57\xc8\x70\x13\x6f\x43\x75\xa2\x79\xb0\x21\x09\x87\x44\x0d\x3b\x81\x5f\x1c\x61\xa3\x23\x50\x27\xa1\x13\x51\xb8\x93\xd2\x5c\x40\xcc\xe0\x44\xdc\x5b\x82\xdf\x9d\xe7\x75\x6f\x46\xeb\x6f\x93\x67\xba\xa7\xf8\xd4\x36\xb9\xed\x41\x34\x76\x7c\x8c\x3d\x59\x64\x11\x78\x3e\x83\xf6\x0b\x22\x7e\x98\x9e\xdb\x62\x0d\xe9\x28\x7b\x5e\x16\x96\x57\xd2\xb4\x42\xf4\x99\xf3\xcd\xb4\xbc\xb6\x0e\x38\xc3\xad\xc7\xd0\x59\x59\x07\x83\xb8\xbe\xc5\x4e\xb1\x0c\xa2\x68\x81\xaf\x3f\xd9\xc2\x2a\x02\xe4\xf6\x06\x39\x10\x9a\x86\x1e\xdb\x23\xb3\xab\xae\x67\x79\xab\x24\xcb\x4d\xe0\x7f\xad\xec\x1d\xca\xb1\x51\xaa\x02\xab\xc6\xe1\x5a\x9d\xc5\x3a\x8d\x56\xc3\xc3\x73\x73\x90\xcf\x93\x34\x4d\x4a\x3d\xce\x33\xbc\xc6\x62\x10\x0b\x0f\xf3\xc0\xd6\xd1\x0b\xb9\x82\xfd\xb5\x22\x6f\x14\x32\x99\x16\xee\x4f\x7e\xa8\xa8\x2a\x2a\x2f\xd1\x44\xc4\xca\xfb\x30\xe6\xc3\x98\xe2\x5c\x8c\xb6\x1b\x37\x5a\xaf\x8d\x08\x4c\x11\xfd\x78\x78\x50\xae\xb0\xf9\x9b\x40\x30\x8e\x34\x5a\xf9\xa5\x7e\xca\xd2\xe4\x92\xc4\x2d\x86\x5f\x81\x20\xe2\xd2\xce\xd2\x71\xb1\x49\x86\xb6\xda\x7e\xe4\xb0\xa4\x04\xcf\x30\x72\xd7\x15\x01\xc7\xc1\x82\x12\x2b\xf1\x0a\xa4\x62\x28\x28\xc0\x24\x43\xad\xef\x2f\x4b\xbd\x04\x0b\x4c\x88\xe3\x83\xfc\x8c\xe7\x3e\xb6\x28\xf2\x69\x11\xcd\xe7\x51\x45\xf6\xb9\x93\x74\x59\xce\xd8\x2a\xb3\x69\x14\x21\x81\x3f\x88\x96\xdf\xe2\xb0\x24\xc2\xc4\x96\x87\x47\xf0\x5a\xe4\x88\x78\x42\x51\xee\x37\xfb\xd3\xe0\x55\x8a\x53\xfb\xc6\x96\x0d\x98\xf0\xc4\xcb\x06\xbe\x4b\x67\xb6\x00\x4b\x4c\xb7\xfb\xb2\xd0\x26\xa2\x86\xab\xef\xdf\x6d\xe4\xd8\xcd\x25\x7b\x32\x23\x46\xa3\x91\xdd\xbc\xcd\x7e\xa4\x05\xba\x75\x71\x62\xac\x16\xb3\x36\x79\xeb\xe1\x7a\x47\x85\x3e\x98\xdb\xc2\xf5\x64\x14\x63\x23\x47\x4d\x22\xdf\xfd\xb5\xa2\xcf\xea\x34\xbf\xd4\x99\xc3\x14\x21\xd9\x74\x30\xe7\xa1\x59\xb0\xd8\x96\x64\x04\xe7\x44\xbb\x23\x33\x0e\x23\x16\xdf\x42\xdb\x66\x11\x04\xa0\xb4\xd1\xd0\x56\x1a\xe3\xbc\x1a\x8e\x42\x06\x77\xe2\x9b\x41\xed\x0f\xc7\x45\xba\x25\xb9\xd5\x46\x83\x26\x17\x1d\xf5\x4d\xaa\xa1\xc2\x99\xa3\x24\xe7\x37\x2e\x1e\x4e\x68\x97\x8e\x70\x96\xb3\x15\xdd\x62\x5d\x65\x79\xbe\x08\xe3\xdc\x4b\x29\xa3\x78\x6d\xe1\x34\xcc\x9a\x59\x4b\x4f\x64\x52\x75\x6d\x77\x41\x46\x41\x28\x38\x21\xa7\xf9\x14\xfe\x25\x71\x2c\x3c\xb3\x51\xae\x0d\xdd\xe6\xfc\x93\xd9\xc9\xd1\x77\x6d\xec\x2a\x9b\xa7\xc1\x30\x29\xd3\xd7\xd6\x49\xd2\x15\xb0\xd1\x4d\xd2\x5e\x37\xd8\xd3\x58\x86\x42\x75\x1e\x98\xbc\x3d\x40\x76\xfb\x0a\x63\xba\x6d\x08\x83\x4a\x5f\xd9\x8f\x26\xc3\xb8\x5c\x25\xeb\x4d\xbc\x22\x7a\x68\xa3\x07\xff\x5d\x93\x89\x25\x5a\x9c\x4d\x93\x2b\x43\xf0\x59\x2a\x41\x9e\xb0\x73\x0e\x40\x4a\x31\x17\xe1\xd9\x43\x85\xf0\x8a\x6f\xb7\xe0\xd7\x49\x0c\xfc\xd8\xbe\xa2\x98\x98\x6d\xbf\x0d\x53\x5d\x89\x84\x9d\x5e\x95\xff\xa0\xdb\xd6\xe9\x7f\x6b\xae\x2c\xff\xb8\x1c\xcf\x9e\xbb\xbc\x59\x5e\x41\xfe\x17\xa4\x8a\x86\x12\xa0\x10\xc2\x08\x58\x56\xed\xdd\x4b\xbd\xda\xed\xaa\x5d\xe0\xa0\x76\xa9\x0e\xf1\x39\xca\xd0\xe3\x88\x92\xf1\x4f\x91\x1c\x72\x80\xaa\xa3\x75\x25\xed\xfa\xcd\x3d\x9f\x60\x4b\xf2\x0c\x41\x53\x68\x52\xb8\x0f\x58\x4d\x92\x4d\xf2\x36\xf4\xf4\xe5\x2f\xcb\x28\x6d\x7f\x4b\xe2\x81\xb2\x43\xd0\x55\x65\xf2\x5f\x7a\xa0\x1e\xaf\x6d\x65\x10\xb6\x71\x9f\x27\x3c\x84\x46\xc3\x7c\x0a\xa0\xb3\xf2\x42\x25\x16\x8b\x22\xd3\xd7\xe9\x8a\xc1\x5b\xa8\x8b\x75\xdf\x5f\x81\xef\xf3\x8e\x5b\x4f\xc6\xb6\x10\x6d\x8e\xba\x57\x0a\x0c\x8d\x0b\x3d\x8b\xae\x92\xbc\xe8\xa9\xf7\x10\xc0\xbf\x4a\xb4\xf5\x40\x57\xea\x40\x8d\x2c\xc3\x33\x52\xa3\x71\xb4\x88\xc6\x49\xb5\x1a\xa9\xff\xeb\xff\xf8\x3f\x95\xd3\x77\x61\x51\xa0\x15\x7d\xfd\xe1\x93\x6b\xde\x4e\xa3\x11\xc9\xdb\x7a\x5f\x6a\x6e\xce\xc8\xdf\x1a\xd6\x02\x2e\x6e\x13\x12\x55\x09\xe7\xf8\x11\x97\x37\x52\x23\x9c\x05\x6c\x95\x35\xe2\x8e\x71\xf4\x31\x0e\x91\x9d\xcc\x89\x18\x3c\x53\xc8\xb7\xfd\xb5\x29\xc1\x2c\x17\x3b\x0d\x10\x6e\xd1\x9c\x24\x78\x5d\xc7\x72\xdf\x2f\x2b\x8e\x53\x7b\xa9\x57\x07\xc8\xfe\x2f\xa2\xa4\x70\x28\xf7\xd8\x15\x8c\xd0\x01\x8d\xd8\x21\x91\x56\x58\x9b\x59\xf1\xb2\xb6\xa0\xe9\xa8\x69\x67\xd0\xc0\xbc\x50\xa3\x4b\xbd\x1a\x99\x05\xe1\x84\x5b\xa0\x07\x81\xfa\xe6\x49\x59\xda\x0a\xae\xf2\x24\x36\x35\x10\x6c\x75\x63\x25\x08\xe6\x15\x85\xdd\xb0\x20\x52\xfe\x00\xf9\x25\x1e\xa7\x69\x3b\x2c\x08\x60\x6f\x5d\x8b\xeb\x8d\x89\x75\x59\x15\xf9\x2a\xcc\x68\xcd\x86\x4b\xf4\xb5\x4a\xa8\xe7\xd8\x12\x9f\x46\xf0\x62\xd2\x5f\x23\x73\x0e\x19\x52\xfb\x84\x9e\x29\x06\xc6\x70\x17\x32\xbc\xc4\x97\xc7\x8b\xc5\xee\x53\x24\xc8\x4f\x26\x49\x8a\x37\xa9\xe1\x2e\xdc\x4a\x7a\xb3\x6a\x9e\xf2\x57\xa5\x9e\xc4\xc9\x95\xca\xa6\x07\xe3\x3c\xab\x0a\x70\xba\x19\xee\x02\x1d\x7a\x6e\x5f\xb8\xc4\x4a\x3d\x49\xb2\xc5\xb2\x32\x19\xe6\x79\xac\xd3\xe1\x6e\xa6\xaf\x21\xf9\x7f\xe8\xd5\x2e\xda\xe9\xcc\xf2\x34\x36\xa5\x98\x37\xb7\xc9\xf9\x37\xa0\x47\x7e\x5e\x7c\x27\x73\xa3\xd9\x00\xb4\x34\x4d\xc6\x97\xc3\x5d\xb3\x66\x45\xe5\x5d\xe5\x95\xd7\xd9\x7d\x0a\x3f\x9e\xf4\x31\xe3\x53\x21\x30\x7a\xb2\x30\xc5\x24\x93\xa1\x21\xa0\xec\x1e\x4c\xe9\x63\x05\xd9\xcb\x27\xfd\x85\xac\x9d\x06\xa9\xd0\x0b\x1d\x55\x90\xcf\x70\xde\x26\xbb\x6c\xa4\x52\x4f\xca\x45\x04\x8d\xbc\x48\xb2\x18\xd2\xed\x3e\x7d\xd2\x37\x2f\xeb\xc9\x9e\x0e\x54\xd3\xa7\x0b\x97\x1d\x97\xa2\xd9\x2e\x66\x01\x9b\x92\x2e\x64\xa3\xfa\x71\x72\xe5\xf7\x0b\xfb\xa0\x4e\xb2\x49\xbe\xbd\x03\x18\x53\x95\xe4\x71\x09\x03\xcf\x20\x21\xf9\x23\x7b\x84\x67\x4f\x73\x47\x1a\x7e\x3d\xe9\x9b\xd5\xdb\xb0\x92\x91\x51\xe8\x7d\x11\xc3\xcf\x96\xdb\xb8\x1f\xe8\x20\x76\xfb\xa1\xd5\x55\x67\xe7\x1d\x21\x16\x70\x0b\xbe\xdd\x0a\x16\xbc\x49\xdb\xda\x2b\x29\x28\x64\xcb\xdb\x8b\x1e\xee\x0b\x24\xe9\xfa\x9b\x35\x10\x24\x60\x9a\x9e\x59\x2a\x84\x83\x50\xff\x78\x0b\x9e\xa3\x96\x67\xb1\xf4\xe0\x0b\xe4\x7c\x06\x82\x0c\xd4\xdb\xbb\x8a\xec\x82\xba\x49\x00\x22\xdb\x8e\x4a\x71\x93\x2b\x00\x4b\xf2\xb1\x92\xbc\x1e\x01\x17\xe2\x1a\xe6\x57\xe7\xec\xe9\xb0\xd5\x5e\xb1\x12\xb3\x6d\x7d\xce\xdf\x36\xaf\x86\x6a\x95\xea\xde\xb8\x14\xab\x61\x21\x7b\x33\x8f\x8a\x69\x92\x0d\xd4\xa3\xc3\xc5\x57\x75\xa8\xfe\xb4\xf8\x6a\xcb\x5f\xd7\x8a\x7e\xd2\x27\xca\xfa\xd4\x07\x0c\xd9\x7b\x2e\x26\xc7\x63\xd4\x03\x4e\xbd\x51\x75\x3b\x46\xcc\x06\x21\x4f\xf4\x4d\x21\x79\xd2\x69\xce\x37\xc4\x1a\x63\x0e\x89\x77\xac\x07\xea\x84\xf1\x9c\xe7\x14\xc7\xd9\x5f\xb4\x9d\x76\x2b\x49\x0c\x47\xb6\x4b\x3c\x26\x46\x69\x06\x0b\x9c\xb4\xd0\x51\xbc\x52\x55\x74\xa9\xb3\x7b\xbb\x5d\x66\xc3\x44\x74\x31\x7a\x00\xb7\x84\xe4\xbf\xcc\x4a\x3d\x94\xf0\x7b\x65\x15\x55\x22\xae\x99\x40\xb9\xeb\x2a\xe0\x08\xa9\xc4\x75\x47\xe6\x02\x94\xf8\x61\x80\xe4\xc7\x2c\x96\x1a\x7a\x18\x7c\x1c\x16\x8d\x3f\x43\xbc\xcc\xb7\xc0\x99\xf5\xde\x1c\xff\xaf\x9f\xff\x76\xfc\xfa\xd3\x4b\x59\x4e\x5a\x2c\x7f\x44\x43\x6f\xbf\xfc\x49\xa1\xcb\xd9\xcb\x2c\x26\x93\xd4\xa0\x17\xa9\x76\x9f\x8e\x9a\xd0\x47\xf9\x3e\x53\xad\x16\x32\x42\x45\xfd\x4a\x83\xf7\x11\x9b\x44\xa4\x0d\xee\xfd\xf8\xf6\xd8\xe7\x03\x59\xf4\x55\x56\x10\x40\x0b\x39\xaa\x22\xd1\x57\x88\xad\xdf\x55\x8b\x22\x99\x47\x45\x92\xae\x38\xa4\x99\x2b\x8a\x6f\x47\xb3\xaa\x5a\xe0\x7f\xd7\x8c\x0b\x27\x2c\xce\x50\x48\x95\x5c\xe9\x01\xb6\x46\xe1\x3f\x6b\x65\x3f\xa0\xe8\x4d\x76\x02\x10\x5a\x52\xf0\xdf\x71\x68\x06\xa6\x3d\x4d\x81\x28\x6c\x2c\x7b\xfc\x59\xa3\xce\xe5\x72\xa1\x0b\x18\xa4\x96\x08\xe4\xa0\x94\xb2\x51\xbf\x65\x12\xa0\xc7\x1b\xa9\xf0\x06\xea\x4b\x02\x07\x06\xc9\xf2\x69\x2b\x14\x7e\x30\xc6\x06\x1c\x79\x59\x1c\xc1\x51\x2e\xd0\x7c\xd0\x3d\x3a\x57\x40\x30\x37\xb8\x45\xf7\x93\xaa\xdd\xb2\xb2\x55\xb0\xd9\x01\x29\x62\x84\x43\xdc\xea\xaa\x24\x83\xd8\x81\x12\x45\x86\x3a\x1f\xf6\xc8\x7d\x01\xfa\xda\xba\xd4\x66\x34\x5a\x40\x45\xc3\xae\x84\x69\xc5\x8d\xd0\xe4\xf1\x6e\x84\x32\xaf\x57\x08\xdd\xf8\x44\x59\xb5\x6b\x5f\x30\xe4\x70\x0b\x94\x23\xdc\x0d\x12\xd0\xbd\xd0\x1f\xf6\x4d\xf5\x8b\x8a\x89\xaf\xf7\xfa\x11\x74\xb9\xde\x5a\xb8\x60\x7b\x39\xf0\x6a\xee\xec\xbc\x6f\x5d\x33\xf0\xff\x37\xd5\xf7\x3b\x8d\xce\xe1\xc6\xd1\x31\xbf\x36\x2d\xd1\xbe\x2f\x88\xc2\x53\xe2\x8c\x08\xf0\x39\x00\xaa\x5a\x9a\x27\x28\xdb\x46\x40\xe5\xad\xf4\xed\xfe\x62\x59\x79\x09\x1b\xa1\x95\xc5\xa8\x6e\xa2\x80\x60\x18\x42\x51\xe5\x22\x38\xd4\x63\xa5\xb3\xaa\x58\xb9\xdb\xe5\x6d\xa5\x3e\x68\x50\x22\x0b\x66\xda\x19\x23\x78\x72\x97\xe1\xdd\x10\x8e\xc9\xa2\x16\x98\x83\x8d\xc4\x0d\x74\xa1\xc7\x1f\x86\xd7\xbf\x8e\xd0\x64\x85\xce\x4a\x59\x3a\x45\xa3\x61\x6c\x04\x64\x7c\xd4\xc9\x84\x44\x0b\xd9\x94\x76\x7a\xe6\x64\x03\x5d\x50\xba\x42\x04\xb5\xb4\xb4\x31\x8f\xe1\xfc\x91\x25\x9b\x01\x48\x74\xe9\x6e\xa6\xa5\xae\x7a\x1b\x06\xf5\x84\x0a\x34\x8d\xc4\xd0\x2c\xd2\xa9\x16\x35\x6c\xfe\x45\x7d\x53\x49\xa1\x50\xc6\x74\x9f\x87\xc1\x14\x59\x90\x96\xc1\x16\x14\xe3\x49\x9e\x94\x78\x5c\xc5\xbd\xa6\xd2\x58\x9a\x00\xd9\x6c\x64\x13\x3a\xdf\xd2\x3c\x9b\x5a\xb7\x92\x4b\xbd\x82\xe1\x4b\x2a\xcf\x9c\xa5\xcb\x1f\x65\xe9\x4a\xb9\x5e\x5f\xe8\xc6\xfa\xa5\x96\xc9\xd5\x5d\x4f\xd9\xb7\xcf\x8b\x65\x35\xb8\x99\xaf\x46\x6e\x8c\x98\x95\x27\x35\x5e\xa4\x09\x6f\x36\x2d\x96\x2f\x61\x4d\x0f\x99\x3d\x39\xbb\xd4\xab\x73\xc3\xca\xb4\xbd\x17\x43\xf5\xed\x52\xaf\x06\xa6\xb7\xeb\x10\x57\xb6\xd0\xc0\xc2\xb4\xb9\xb0\x40\xf5\x1e\xb4\x50\x3a\xb3\xb0\xa5\x87\x74\xb6\x70\x29\xef\xb5\xe9\x4e\x6b\x26\xb3\xd3\x81\xed\xc0\x7a\x1a\xfc\x33\x1f\xb8\x7d\x50\xd6\x51\x58\x1b\x6c\xa1\xa7\xca\x31\x69\xfe\x18\x00\x8f\x4c\x14\x9c\x99\xad\x5e\x78\xa3\xf0\xba\x20\xed\xba\x84\x93\x5e\xf7\xf7\x24\x61\x53\xfd\xfb\x91\xb0\x0f\x44\x69\x4a\x22\x61\xb0\x31\x70\xad\x31\x7d\xb8\x2d\x19\xfb\x35\xdb\x93\xa8\x17\xd4\x8a\x66\x75\x96\xf4\xfd\xc6\x3d\x31\xd5\xc1\x9e\xf8\xa3\x36\x43\xb0\xda\x61\x65\xda\xa5\x6e\x97\xee\xaf\xdc\x11\x6c\xae\xc9\x0b\xd9\x5f\x52\xbf\xe3\x9a\xc2\x45\xfe\x3b\x2e\x2b\x12\x35\x66\x74\x28\xda\x13\xe1\x1f\xb0\x9a\xb0\x46\x5e\x4e\x00\x58\xdd\xb8\x44\xf0\xdb\x7f\xdb\x55\x02\x16\x20\xb6\xb4\xa1\xbd\x08\x76\xe4\x95\x90\x13\xf4\x16\x47\x5b\x33\x33\xf5\xea\xc8\x4b\xa3\xcd\x9c\xf9\x99\xcd\x0c\xb5\xdd\xc7\xae\xab\x24\xa4\xed\xa4\xa8\xf4\x7b\xea\x3e\x7b\x6b\x99\xd2\x36\xac\x65\xe4\x1f\x1d\x9a\xe2\x1f\xb4\xba\x8f\xd3\xf4\x77\x5b\xe0\xcf\x53\x1d\x15\x52\x97\x42\xac\x1c\x38\xa5\xad\x98\x11\x6a\x26\x4d\xb6\x35\x83\xba\xe0\x85\x86\x8a\x05\x0d\xe1\x18\x31\x7c\xa9\x9d\x29\x21\x34\x38\x6a\x16\x1a\xd4\x84\x04\x7f\xd0\x18\x93\xce\xe0\x77\x1b\xe1\x17\x58\x5e\x79\x37\x56\xda\xb0\xc7\x85\x4e\x57\x5d\x9f\x9d\xa6\x88\x7f\x49\xb5\x9d\x10\xf9\xbf\xd6\x21\xfb\xea\xa6\x90\x3a\x7b\xd3\x04\xfa\x03\xee\xc4\x4e\xe1\x7b\x37\x8d\xe1\x17\xda\x34\xc1\xa5\xe8\x0f\x9b\x44\x73\x11\xfc\xdd\x79\x0b\x65\x4a\x2d\x28\xac\x48\xa1\xa7\x51\x81\x81\xf1\xd5\x22\x2a\xaa\x64\x0c\x0e\x81\x37\x4e\xf0\xc6\xf3\xa0\xa6\xad\x6c\xc0\x60\x76\xca\xc9\x85\xd4\x99\xba\x52\x94\x7a\xb2\x4c\x9f\x06\x8c\xba\x7a\x92\x26\x4f\xf7\xf7\x93\x78\x7f\x7f\x80\x26\xf1\x71\x70\xdd\x22\xb8\xa9\x27\xfd\x34\xd9\x90\xd9\x6c\x5a\xce\x8e\x7a\x59\x53\x04\xdf\x93\x2e\xf5\xc2\xbf\x86\xdd\xa6\xc8\x5e\xaf\x67\x4a\x04\x64\xb0\x38\x86\x90\x9f\x51\x2a\x3a\xe6\x96\x78\xee\xab\x94\xd1\x00\x8c\xe1\x92\x64\x74\x4b\x6b\xe9\x82\xf7\xac\x86\xca\x9f\xf4\xfd\xf1\x71\x5b\xc1\x4c\xee\xc6\x7d\x40\xfc\x8b\x10\xb3\xc2\x16\xe8\xaa\x6f\x28\x31\x30\xff\x5d\x37\xa1\x59\x1c\xed\x34\x0a\x33\xe7\xd1\x25\x23\x18\xc3\x29\x3f\xc2\xe9\x65\x6a\x47\xb3\x63\xae\xad\x66\x39\x91\x37\x67\x4d\xd2\x60\xe5\xd8\xcc\x88\x69\x3c\x86\x7d\x83\x73\x64\x23\xee\xc9\x83\x37\xe4\x0d\xee\xb9\x63\xd5\xe7\x04\x04\xd1\x85\x62\x7c\x18\x5e\x8b\x14\xe2\x92\x51\xba\x9b\xca\xf1\x4f\x6a\xef\x78\x85\x43\x9b\x12\x75\x29\xf5\xc2\xe3\x2c\x5d\x8a\xae\xeb\xd3\x86\x53\xa3\xd6\x6a\xfe\xd6\xcb\xea\x07\xc9\x8e\x6d\x4e\xd3\x9c\x5d\x24\x24\xa1\xcd\x11\x54\xd9\x34\x03\xd1\xf3\x79\x1b\xdc\x75\xda\xa0\x23\x99\xfe\x5a\xbd\xc4\xce\x2c\x0a\x7d\xf5\xb2\x69\x0a\x6d\x1a\x33\x8d\x8d\xa9\x82\x74\x1d\x65\x1f\x7b\x0b\x25\xf2\x1c\xa9\x7e\x7f\xa1\xc0\x90\x0a\x0d\x7f\x19\x34\xaa\xab\x5a\xe6\xb1\xa5\xe2\x24\xce\x5a\x68\x98\x3f\x59\x05\xe5\x8b\xaa\xed\x23\x0e\x24\xd7\x66\xca\xcf\x64\xf9\xe6\x4b\x57\xb5\xcc\x3f\x9b\xca\x0e\x21\x99\x03\x9b\xbe\x80\xf8\x37\x92\x7d\x4b\xf0\x37\xa3\x12\xea\xca\xa3\xdf\xd1\x05\xf8\xb9\x10\x8a\x37\xe9\x88\x02\xbf\x4e\xb2\x14\x91\xe5\xd6\x1c\x6a\x0e\x84\x35\xc3\x3c\x5a\x98\x35\x30\xa2\xe3\x6d\xc4\x48\xae\x04\xf5\x9b\x4f\x9c\xd9\xea\xd8\x1e\x53\x08\x39\x8e\x6b\xc3\x3b\x35\xcc\xc7\x26\x9d\x16\x03\x52\xc3\x57\xc7\x2e\x31\xe2\x02\x76\xa5\x2b\x1d\xb7\x41\xf0\xc5\xba\x25\xb9\xb4\xb2\x49\x2e\x05\x94\x52\x15\x6d\x55\x50\xa1\x81\x9d\xf9\x4c\x06\x76\x35\xf3\xcb\x5b\x4d\x15\x5d\xfb\xb7\xce\x94\x73\x65\x8b\x7c\xbe\x94\x6d\x29\xed\x10\x83\x16\x06\xb1\xc8\xd0\x9d\x82\x26\x6d\x1b\x26\x61\xb3\xb5\x13\xd7\x64\x2a\x85\xea\x6b\x76\x99\x7c\x32\x3f\x97\x2d\x12\x46\xa2\xd4\x38\x2e\xde\x33\x9b\x01\x00\x5e\x55\x2e\xc1\x4a\x98\x85\x80\x4d\xd3\x1e\x68\x32\x6b\xd3\xd6\x2c\x5e\xf6\x66\xc4\x4f\x44\x05\x93\xf1\xe3\x2d\x0c\x04\x59\xd9\x44\x8a\xb4\x46\x0b\xc1\x53\xeb\x8e\x00\x50\xd9\x91\xd5\x50\x39\x40\x4c\x14\x23\xa6\x79\x14\x3b\x19\x8c\x4d\x45\xf6\x36\x79\xa1\x7e\x59\x26\xe3\x4b\x16\x97\x44\x69\x4f\xfd\x3d\x5f\x9a\x1a\xc6\x51\x06\x99\x85\xee\x8b\xed\xbb\x43\xc3\xa7\x24\x53\x91\x1a\x61\xfb\x46\xaa\x8a\xa6\x5d\x33\xf6\x17\x2b\x30\x5d\x5c\xce\x2d\x97\xb0\xaf\x46\x7e\xe7\x46\xd6\xbd\x91\x8b\x66\x7b\x9f\xe3\x18\x78\xbb\xab\x24\xc2\xf5\x26\x0a\x1f\x38\x83\xba\x59\x35\x4f\xd1\xd4\xea\x09\x29\xf3\xaa\xd5\x42\x0f\x77\x2b\xfd\xb5\xea\x67\xd3\x03\xae\x6c\x57\x25\xb1\x79\x8b\xbf\x4e\x62\x6b\x08\x44\xfc\xd0\xe2\x29\xc7\x7d\x41\x9f\xc1\xac\x82\x40\xf7\x13\x6f\xcc\xd0\xac\x04\x99\x18\xac\xed\xa9\x67\xd7\xa7\xf6\xf7\x01\x37\x7e\x7f\xbf\xd6\x64\x28\x12\x01\x44\xfd\x69\x88\x73\x8d\xe2\x75\x88\x4d\x85\xa2\x86\x24\x1b\xa7\x4b\x31\x67\xa3\x99\x8e\xe2\x91\xca\x27\x1c\xca\xc4\x19\xa2\x5e\x2c\x2b\x33\xcd\xe0\xd2\x75\xa1\xc1\x7e\xba\x1c\xeb\x2c\x16\xad\x17\x50\x1b\x45\x9e\x57\x0c\x64\x2b\x7f\xac\x55\xfb\xe4\x65\xd7\x94\xee\xa2\xc2\x57\x33\x95\x4d\x0f\xa2\xc5\x42\x45\x55\x55\x24\x17\xcb\x4a\x77\x04\xc6\xaa\xdf\x0b\xc6\x68\x41\x8f\x9c\x78\xc3\x1c\xfa\x53\xcf\x33\x3f\x08\xac\x51\x81\xb8\xce\x57\xc7\x8b\x85\x88\x2a\xc7\xaa\x53\x78\x8f\xe6\x2c\x60\xf2\x09\xbf\x7b\xc5\x32\x73\xda\x43\xbf\x16\xd8\xb6\x66\xca\xfc\xd7\xa8\x12\x0c\xd6\x43\xab\xab\x5a\xb7\x58\x06\x64\x07\x8b\x86\x9d\x62\xf6\x4f\x73\xa7\xaa\xf6\x46\x87\x54\x2f\x65\x32\x5f\xa0\xd6\x1a\x76\x66\xa6\x56\xf9\xb2\x50\x3f\x9e\xbe\x79\x3d\x08\x56\x33\x5b\x2c\xd1\x42\x18\xee\xaa\x5a\x53\xd5\xee\x53\x36\x16\x92\x6d\xc8\x01\xe1\xc5\x94\x6f\x06\xfd\xaf\xd1\x55\x84\x8b\x70\xe0\x8d\x70\x30\x16\xa0\x24\x0c\x2b\xe8\xf8\x05\x7f\xd4\xde\x4a\xda\x72\xd7\xa5\xc9\x97\xd6\x23\xa7\xb2\xba\xed\x76\xde\x77\x52\x74\x37\xab\xb7\x2d\xb9\x42\xf5\xa8\x0b\xff\x74\x4f\xfd\xed\xf8\xc3\xc9\xf1\x0f\xaf\x5f\xf6\x5f\x7d\x7a\xfb\xfc\xf4\xe4\xdd\x5b\xf5\xf6\xf8\xcd\xc9\xdb\xbf\xa8\xe7\xef\xde\xfe\xed\xe5\x5b\xf3\xe6\xa3\x3a\xfd\xf1\xf8\x54\x1d\xbf\x7f\xff\xfa\xef\xea\xf4\x9d\x3a\xfd\xf1\xe4\xa3\x7a\x75\xf2\xfa\x25\x47\x7c\x7a\xf1\xee\xcd\x01\xc0\x20\x80\x76\x89\xc0\x08\x9d\x71\xea\x6e\x96\xc7\x7a\x57\x1d\x98\x74\xea\x6d\x1e\x6b\x7a\x4d\x3b\x8b\xbf\xf0\x36\xcc\x0b\x99\x68\x0f\x33\xe7\x85\xda\xdd\x13\x19\x10\x0c\xe4\x80\xe3\x09\x99\x44\x26\x8d\x0d\xf9\xc9\x46\xc5\xcf\xf3\xf9\x22\x49\x21\x4c\x0a\xb6\xaf\xac\x96\x93\x89\x68\x9b\x99\xbf\x57\x99\x29\xd2\x3c\x99\xbd\x39\xc9\xf0\xe4\x2d\x93\x6c\x9a\x6a\x67\x02\x21\x3a\xf3\xda\x66\xf2\x81\x99\xa2\xe9\xd4\xdc\xc1\x2b\x32\x04\x75\x25\x96\xe4\x0e\x27\x6e\xe5\x99\xeb\xe3\x78\x96\xa4\xb1\x2b\xf3\x6e\x85\x42\x66\x28\xad\xc4\x76\x6f\xa8\x23\x9f\x2f\xf2\x32\xa9\x7e\x7d\xdb\xc7\x30\x94\x24\x69\xc8\xf3\x4a\xb5\x71\x28\xca\xaa\x03\x8b\xfb\x16\x56\xfe\x38\x19\x3b\x0d\xc2\x8f\xc6\x03\x9d\x26\x0f\x44\xdd\x86\x28\x28\x64\x96\xcc\x44\x9b\x05\x83\xc0\x53\x8e\xa8\x44\x19\xc0\x11\xc4\xcb\x31\x58\xf4\xda\xf7\xd2\xbf\x2d\x19\xcf\xf8\x20\x87\xf8\x89\xc2\xb3\x0c\x76\x72\x70\x34\x7c\x04\xf3\x35\xf8\xaf\x39\xbc\xf2\x85\x1e\x39\xfb\x19\x5b\x41\x95\x4f\x01\xe5\x85\x89\x3c\xc2\x24\xb8\xd1\xa2\xd8\x69\x39\xf0\x8f\xf9\x44\x5d\x47\xe9\x25\x1f\x7b\xa6\x23\x55\xa1\xb1\xf5\x00\x84\x6b\xbe\x98\xb7\xb4\x96\xd9\x4d\x41\x92\x1a\x1c\x17\x26\x1b\xf7\x9d\x95\x8e\x7d\x2a\x99\xe8\x20\xe5\x84\x60\x87\xc3\xdd\x28\xd5\x85\xb9\x60\xe8\xa2\x3a\xb8\x8e\x0a\x73\xf6\xe2\x89\xef\x8e\x69\xa0\xf6\x36\x6c\x17\x40\x32\xa9\x24\x3b\x88\xf5\xa2\x9a\x09\x6c\x63\x72\xd7\x77\x35\xb3\x4d\x16\x87\x45\x8b\xd4\x54\x67\x55\x0a\x86\xf0\x30\x27\x0c\x2b\xe5\x9a\x88\x47\x2a\x99\xd7\xa1\x35\x7a\x3e\x9f\xe7\x00\x79\x84\xb0\xad\x5d\x0c\x87\xa6\xe5\xa9\x3d\x5d\x26\xb1\xfe\xbf\xd9\x7b\xf7\xee\x36\x6e\x25\x5f\xf4\x7f\x7d\x0a\x58\xd1\x32\x49\x9b\x8f\x24\x73\xcf\x5d\x67\x68\x33\xde\xda\xb6\x92\x78\x1f\x3f\x32\x96\x92\xec\xb9\x8a\x63\xb5\xd8\xa0\xd4\x11\xd9\xcd\xdd\x68\x4a\xd6\x58\xfa\xee\x77\xa1\x1e\x40\x01\x8d\xa6\xe4\x24\x7b\xe6\xcc\x5a\xa3\xb5\x12\x4b\xdd\x8d\x77\xa1\x50\xa8\xc7\xaf\x26\x89\x21\xe3\x1b\x18\xb7\xf3\x1a\x85\x19\xf8\xe2\x0b\xa0\xa4\x5a\x9f\xeb\xd2\xd8\x0f\x5f\xb8\x22\x00\x45\xc2\x6b\x56\x6b\x08\xa5\x5b\x65\xe5\xb5\x80\x38\x63\x45\x0f\x6e\x02\xd7\x9a\x5c\x6b\xfe\x78\x0e\xd7\x2a\x40\xc3\x20\x39\x45\x9a\x2c\xf9\xd0\x24\x8f\x26\x19\x6a\xf5\xc8\x0a\x98\x40\x94\xba\x00\xbf\x14\xce\x77\xa8\x76\x7d\x5f\x21\xf6\x03\x54\x52\x0a\x2f\x7a\xbb\x88\x6a\x7b\xaa\x97\xd5\xd5\x00\x37\x31\x4a\xf6\x78\x56\xfb\x89\xf1\xfa\xab\x21\x9d\x88\x00\x70\x0f\x82\xd4\xba\x32\x8d\x65\x09\x3e\xf4\x4b\xf5\xed\xca\x52\x76\x1a\xaf\xf9\x0a\x73\xdf\x13\x44\x38\x39\x13\x0c\xee\x22\x36\x8a\xfe\x62\x62\xfb\xab\x36\x8d\xfa\x01\x52\xd2\xcd\x81\xea\x00\xd7\xad\xd6\x76\xfd\x11\x48\x8d\x00\xbb\x6c\x53\xbb\x62\xad\xfd\x14\x54\x34\x05\xf6\xf6\xdc\x5e\xf2\xef\x75\xad\x7b\x68\x22\x23\xd7\x2c\x59\xc9\x7c\x99\xd5\x0e\xde\x43\x6d\x99\xe1\x96\x20\xa6\x48\x14\x7b\x0d\xc2\x57\x5b\x1a\x1b\x8f\xc7\x3e\x92\xc6\x7d\xe7\xfd\xeb\xfa\x3d\xf7\xab\xbd\xe8\x89\xe3\x9c\xc9\xa2\x8f\xae\x5f\x70\x84\x3a\x49\x0d\x9b\x75\x45\x7d\x3f\xb1\x9b\x98\x18\x99\xf5\x8c\xeb\xba\xa8\xea\xa2\xb9\x9e\x82\x5b\x26\x3f\x65\x66\x35\x55\x3d\xbb\x48\x24\x2a\xf5\x86\x6a\x32\xb1\x04\x31\x99\x78\xc1\x82\x65\xe0\xa1\x6a\xf6\x9b\xa6\xb6\xdd\x50\xe3\xf1\x58\xdd\x8a\xea\xa0\x54\xf0\x27\x37\xf0\x63\xbd\x9c\x2a\x3f\x4c\x16\x23\x7f\x5f\x33\x4d\x9d\x95\x06\x24\xbe\x29\x86\xcb\x89\x77\xb5\xb6\xc7\xc1\xbc\x99\xaa\xde\x7e\x2f\x31\x52\x3b\xc1\x66\x9d\xcd\xed\x90\xb1\x13\xfe\x1b\x60\xe5\xed\x2a\xbd\x13\xf8\x34\xe1\xd6\xed\xf2\x93\xee\x59\xf9\xdf\x0c\xd5\x9e\xef\x1e\xdd\x03\x5e\x06\x8b\xd7\x1a\x8e\xaf\x7f\xdf\x4c\x55\x0f\x8f\xb3\xfd\x65\x91\x99\x5e\x30\x30\xc8\x96\x69\x3f\x28\x4e\x97\x45\x79\xf6\x22\xa2\x19\x37\x97\xc7\xbd\x5f\xd7\x99\xe5\x52\xf1\x17\xbd\x67\x9c\xcf\xbc\xfd\xe6\x57\x7e\xf5\x03\x14\xed\xbd\x0f\x3a\x08\x27\xcb\x34\x4c\x07\x57\x2c\x75\x6b\xb5\x86\x62\x6d\x06\x92\xfc\x9c\x0c\x1a\x3c\xb3\x64\x29\xab\x5d\xd7\x20\x88\xf4\x69\x6e\x0b\x57\x7b\x41\xb5\xfb\xa9\x4a\x4d\x24\x54\x58\x99\x46\xd6\x48\x8c\xec\xb3\xaa\x94\x35\x06\x7f\x44\xf4\x4d\x29\xb3\x30\x6c\xb3\xd5\x22\xd4\x95\xa8\x73\xfb\x86\xb1\xa7\xd9\x54\xce\xd2\x64\xf2\x27\xcf\x12\x54\xf8\xa7\xce\xd2\x64\x12\xfd\x95\x1c\xd3\x7d\x67\xe8\xf6\x09\xff\xc6\xbe\x18\x5d\x1c\x8e\x3e\x6c\x5d\x30\x3f\x53\xb8\xd9\x2f\xaf\xd5\xa6\xf4\x81\x8d\x7c\xb6\xc3\xd9\xc6\xe7\x4d\x70\xb4\x8d\xdd\xc9\xcc\x62\x48\x78\xf2\xe1\xe9\xdb\x3e\x80\x40\x9c\x80\x3c\xde\x80\x36\x75\x5a\x5d\x6a\x8e\xc4\x87\x4b\x2f\xb6\x9f\x99\xff\x96\x27\x4c\xd7\x2a\x77\xd0\xd4\x1f\x5f\xf7\x88\xd4\xb6\xed\xc5\xfb\xf5\x21\x26\x24\x27\x29\x7e\xb1\x4d\x1c\x08\x44\xbe\x4e\x99\xc4\x43\xa2\x15\x14\xa4\x8c\x89\xd2\xaa\x58\xf7\x24\xae\x43\xf4\x6b\x7d\x3b\x86\xda\x9d\x7e\x09\xc0\x1d\xa6\xbe\x77\x5f\xa8\x93\xd5\x66\xd9\xf0\xe8\x20\x5d\xf0\xcf\x08\xe8\x5b\x18\x96\xd6\xae\x11\x83\x05\x33\x04\xd6\x1b\x8d\xce\x92\x70\x81\xe2\x76\x90\xe2\xe7\x76\x9b\xcf\x1b\xb8\x6d\xe0\x05\xf2\x54\x37\x57\x5a\xc3\xe5\x0b\x1f\x38\x33\xaf\xe8\xd2\x89\x1b\xfc\xc8\xde\xeb\x46\x90\xa1\xeb\x04\x2e\x30\xf1\x2b\x5d\xe6\x27\xe8\x61\x7b\x56\x57\x9b\x35\xc4\x5a\x83\xca\x8e\x6e\x4c\x2a\x8b\x65\x55\xbe\xf5\x8c\x09\x1a\x2e\x10\x0a\x11\xaa\xad\x30\x9c\x9b\xd9\x5d\xdf\x2a\x41\x43\xb0\x8d\xd0\x2b\xd5\x8a\xf3\x98\x62\xce\x0a\x0a\xcb\x6b\x0e\xf0\xdd\xd4\xd9\x52\xf5\x41\xf1\x9d\x19\xbf\x24\xcf\x97\xc5\xfc\xe2\x76\x80\x1d\x76\x77\x45\x46\x66\xcb\xca\x62\xbd\x59\x12\x76\xbc\x4b\xf9\x23\x6e\xdf\xed\x0a\x5f\xa2\xb6\xea\xd6\xc9\xc7\xb8\x84\x2c\xa1\xc9\xe5\x73\xb7\x0f\xbb\xbc\x81\xc0\x6a\x14\xeb\xeb\x01\x11\x99\xd4\x12\xe2\x86\x38\x04\x80\xd9\xa6\x58\x59\x92\x83\x1c\xd7\x90\x66\xc0\x0a\xdc\x19\x3a\x6b\x21\xc7\x43\x4b\x40\x55\xe7\xba\xb6\xf7\x13\xef\xb8\x2b\x9a\xb2\x5d\x80\x34\xd2\x3a\x47\x52\xf4\x9d\x65\x2d\x3a\xae\x9f\x32\x55\xdd\xc4\xa5\x4f\x1d\xcb\x2b\x6a\x75\x42\xc4\x76\x22\xf2\xd8\x9d\x69\x86\x6e\x1e\xab\x1f\xa8\x62\x5b\x2f\x8f\x30\x33\x2a\x03\xe2\x43\x6f\x30\xbf\x19\x89\x12\xcf\xc0\x90\x52\xdb\xf7\xba\x2e\xe6\xd9\x52\xf6\xcf\xf6\x9d\xda\xcc\xd1\x10\x60\x1b\xd1\x23\x58\x0c\xd7\x07\x5b\x3d\x8c\x12\x9c\xad\x31\x8d\x1d\xd7\x81\x93\x83\x3a\x64\xcb\x51\xa2\xa2\x98\x5f\x03\x8b\xd4\xfa\x52\xd7\x86\xa6\x13\xa7\x0a\x7e\x85\x0b\xd6\xa2\x75\xcb\x75\x58\x46\x6b\x31\x6a\x9f\x67\x00\x79\x0a\x9d\x2c\xf2\x93\x93\x2f\x4f\x42\xda\xc1\x8c\xa0\xd9\x12\x68\xe7\xe5\x42\xee\x73\xd4\x68\x34\x02\x58\x54\x4c\x0e\xeb\xa3\x21\x8b\x63\x66\x1a\x0e\x25\x4f\x6d\x1b\xf8\x96\xf3\x9a\xf6\xf1\x3a\xec\x29\xa4\x09\x9a\x70\x9d\x85\x42\xa6\x11\x45\x77\x10\x73\xd6\x13\x5d\xb5\x10\xd8\x42\x00\xaf\xb9\x6a\x11\x98\x8b\x3f\x1c\x43\xc6\x59\xdc\xf3\xfa\xe3\xba\xd6\xc6\xb8\xe5\xf3\xf1\x46\xbe\x5f\xc0\x07\xe8\xda\xed\x1e\xf7\x4c\xa4\x91\x87\x55\x07\x58\x5d\x32\x28\x80\x43\x87\x44\x23\x12\x73\x8d\x0a\x1f\x14\x21\xfc\x54\x23\xf0\xc9\x10\x4d\x1a\x25\x45\xc1\xc3\xa7\x1e\x98\x9d\xc2\xf9\x11\xc5\xaa\x30\x42\x6d\x60\xd7\x2c\xb5\xc7\x11\x97\x12\xf4\x1d\x76\x56\xd8\xea\x40\x19\x6c\x65\x2b\x43\x44\x17\xaf\x4a\x2d\x5a\x2e\xbc\x91\x11\x68\xc9\xbf\xa9\xad\x18\xc1\x36\x15\x98\xbd\xf5\x7a\x79\xed\x00\xb6\x40\x93\x17\xa9\xf3\x2d\x8f\x99\xeb\xee\xd7\x84\x7c\x0b\xc0\xe9\xa2\x63\x63\x67\xf3\x11\x93\xf5\xe9\xf6\x44\xf5\x7d\x66\xff\xf3\x41\x34\x71\xbb\x85\xa9\xd0\x1c\x95\x1e\x48\x8f\xde\xf7\xe8\x3d\xea\x5a\xd0\x11\x07\x8f\xa9\x7a\x95\x2d\xb9\x30\xe9\x32\x8b\xc6\x5b\x91\xd6\x75\xd5\x54\xcd\xf5\x9a\x60\x8f\x8a\xf2\x5c\xd7\xd2\x57\x0d\x2f\x50\x34\x02\xc5\xc6\x8e\x8d\xd1\x8b\xcd\x12\xb7\x84\xf4\xec\xa9\xf5\xc6\x00\x06\xf3\x9c\xd1\xbe\x0c\x03\x2d\x51\x40\x17\x04\x86\xcc\xe7\x60\x82\x85\x16\x31\x9d\x4b\x4d\xd0\x9e\x14\x1e\xe1\x56\x3b\x68\x5e\x08\x18\xf1\xb8\x1b\xf0\xce\xf1\xfe\x57\x80\x38\x8a\x0d\xb3\xd2\x27\xe3\x3d\xbd\xac\xe6\x6e\x4a\xbc\x06\x07\xce\x32\x5d\x17\x97\x4c\xf5\xa9\xd1\x6b\xa3\xa9\xb8\x50\xfd\x58\xb6\x87\x13\x82\x5a\x30\x7b\x61\x05\x2b\x96\xc3\x6a\xdb\x91\xf1\x80\x63\xc8\xbf\xb5\x34\x52\x34\x02\x15\x28\xa3\xa4\x26\xfa\x07\xc7\x54\xd1\x18\x65\xaa\x4d\xed\x2d\x60\x8f\xd4\xc9\x5f\x00\xeb\xe1\xe4\x2f\x56\x00\x39\x51\x23\x75\x5a\x94\xb9\xca\x3a\xeb\xf0\x1e\xec\xd5\x02\x0e\x49\x27\xb8\x8c\x09\x1c\x16\x53\x1c\x93\xb0\x4d\xa4\x9c\xb1\x6a\x19\x29\x3f\x28\x87\xe3\xc7\xf7\x06\xf6\x6f\x59\xa9\x13\xec\x0e\xe8\xb5\x0b\x23\xb0\x52\x1c\x13\xa6\xfa\xb9\x16\xf7\x69\x66\xcc\x66\xe5\x0c\x9b\x12\x6c\x15\x58\x33\x0c\xcb\x7e\x3b\xc6\x0a\xbe\x2b\x2e\x75\xa9\x4e\x9e\x5e\x15\xb9\x3d\x3c\x57\xd7\x23\x5b\xe5\x6c\xf7\x5c\x2f\x97\x95\xfa\xf4\xc9\x7e\x7a\x7b\xbb\xfb\x0d\xca\x5f\xf4\x95\x9f\x78\xac\xa4\x5a\x10\x33\x9b\xaa\x4f\xd8\x84\xbd\x1b\x4c\x7b\x7f\x59\x5d\x5b\xe9\xb8\xa7\x6e\x4f\x86\xd8\x71\xaa\x20\x9a\xd7\x13\x57\x86\x0e\x92\x5a\x2f\x96\x28\x10\x53\x6e\x22\x40\xb4\x5d\x57\x6c\x03\xa2\xf9\x3f\x09\x7b\x79\x32\x56\xfb\xe4\x61\x56\x42\x5d\x7e\x76\x18\xc5\xdc\x54\xd8\x80\x9b\x40\xd9\xb4\xeb\x0f\x81\xf8\xca\xce\x92\xb4\x82\xf5\x52\xe2\x97\x34\x99\xab\x3e\x31\x42\xe5\x37\x31\xbe\x71\x62\xda\x23\x75\x32\x43\xb2\x9b\x31\xd9\xd9\xad\xb5\x59\xab\xd3\x62\x24\x3c\xae\x80\x18\x2d\xd9\x90\xdc\xdc\x45\x97\x64\x31\xc0\x46\x83\xbe\xf8\x21\x2d\x90\x42\x64\xea\xc3\x80\x96\x61\xda\xb0\x37\x82\xa4\x25\x35\x62\xf5\x6d\x92\x74\x62\xc1\x3f\x8d\x18\x71\x48\xaf\xab\x5c\x2f\x3b\x29\x91\x8c\xf5\x2a\xa6\x44\x28\x35\xed\xcd\x3e\x8b\x14\xa1\x50\x48\x8b\x7e\x82\x3d\xf9\x89\x7e\x9d\x30\xd1\x84\x1c\x6f\xbf\xbc\xf6\x08\xfa\x55\x54\x82\x8f\x73\x6a\x01\x45\x5f\x65\x99\x77\xd0\x0b\x3b\xdc\x4c\xd4\x13\xbf\x0f\x7a\x69\x5f\xca\x46\x60\x09\x7d\xbf\xb0\x85\x68\xcc\xf6\x2c\x43\x60\xb5\xc2\x34\x3e\x5c\x10\x23\xfc\x33\xf5\xe6\xed\x9b\x0f\xfb\x87\x87\x2f\xbf\x7b\xb3\xff\xd7\x57\x07\x1f\x5e\xbf\x7d\x71\xf0\xea\xc3\xc1\xdf\x7f\x78\x77\x70\x78\xf8\xf2\xed\x1b\x2b\xeb\x68\x50\x74\x38\x3f\x16\x40\x5a\x53\xd9\x65\x55\xe4\x28\x9f\x30\xf0\x11\xe5\x6d\x3e\x99\x3d\x23\xf2\x7f\x86\x14\x57\x94\x24\xc2\x35\x95\x5a\x2c\x33\x34\x5d\x79\xf2\x36\x8a\x75\x8a\x76\x38\xd8\xc2\x75\xb5\x51\x57\x04\xe9\x6d\xce\x11\x5c\xf7\x0a\xb0\xcf\x65\xd6\x82\x7e\x31\xd6\x63\xb5\x07\x2f\x9e\xe3\x75\x14\x8e\x0b\x8f\x83\x88\xef\x06\x50\x9f\xed\xf5\xc6\x30\x67\x98\x3d\xa2\x4e\x3e\xc2\x4e\xf6\x4f\x66\x8f\xb8\xdf\x8f\xb8\xe3\x8b\xb0\xab\x85\xef\xaa\xdc\xed\x0f\xb1\xd8\x43\xde\xed\x02\xd5\xfc\x2a\xbb\x0e\xd2\xfc\x97\x42\x1a\x75\xfe\xc5\x55\xd9\xe8\x8f\x4e\x50\x8a\xcf\x74\xa5\xee\x3a\x35\x7e\xef\x16\xc5\xca\xc5\x3e\xed\xdc\xa2\x73\x4c\xb9\xaf\xf0\xdf\xc7\x04\xfb\xf5\xb9\x9b\xf5\xdb\x72\xda\x7b\xd8\xda\xa9\x24\xaa\xa4\xb7\xea\xb7\x25\xed\x80\x75\x55\x00\x35\xd0\xc1\xe8\x75\x37\x68\xc4\xaf\x9d\x48\x7a\x92\xec\xeb\x89\x98\xf7\xb1\x7a\x0b\x99\xd3\x8b\xa6\x67\xa5\x0c\x53\xd4\x94\x17\x83\x39\xac\x31\x28\x67\xb9\x03\x80\xba\x98\x53\x1f\x2d\x77\x0d\x57\x92\x44\x07\xb9\x74\x43\x86\x61\x2a\x21\x84\xd8\xd6\x0c\x59\x35\x4e\xaf\xa1\x05\xf4\xb3\x27\xff\x4a\x5c\x02\x97\x2e\xcd\xae\x05\xe2\x22\xc4\xd1\xb6\xa2\x49\x37\xee\x92\x88\xe4\xdb\xaa\x66\x7b\xd5\x90\x29\x57\x12\x9b\x51\x27\x2e\x50\xb9\x9f\xad\xec\xec\x0c\x4e\x88\x59\xa2\x7a\x51\x5e\xf4\xf1\x03\x46\xf5\xb7\xf5\x9f\x5e\x3b\x67\x4f\x98\x67\xb7\x3e\x99\x71\x7f\xf4\x3f\x61\xb9\xa9\xfa\xfa\xeb\xdb\x01\x5f\x3e\xfd\x9d\xc8\x9e\x78\x47\x95\x07\xc7\xf1\x3a\x8c\x2c\x26\x04\xd2\x17\x08\xf7\x01\x3c\x6b\xc1\x6a\x09\x2a\x51\x52\xb5\x9c\x48\xbb\xc8\x89\xf7\xd6\x6b\x35\x36\x55\x08\x3a\x69\xe9\x09\xae\x32\x88\xfb\x2b\xea\x6e\x2a\xb4\x51\x5a\x51\x52\x48\xb0\xa7\x90\xed\x90\x1d\xf4\x5c\x7d\x43\x55\x67\x94\x9e\x25\x03\x12\xa0\x53\xe1\x67\x77\x91\x76\x9f\x92\x5a\x05\x63\x08\x9a\x22\x6b\x38\x08\x19\x76\x0c\xac\x3d\x2c\x34\x23\xfc\x07\x33\x41\x62\x02\xa9\x57\x08\x61\xc5\xe5\x08\x0a\x2f\x9d\xf3\x70\x6a\xfd\xe0\x3d\xe8\x61\xe5\x13\x35\x8d\xc9\xd9\xc0\x7d\x14\xf5\x51\xa8\x64\x76\x30\x3c\x7d\xc4\x9e\x1d\xeb\xf3\xcc\xa0\xdb\x01\x7a\x45\x9a\x73\x6f\x15\x6d\xdd\xae\xed\x9a\x81\xc6\x94\x8c\x53\x42\x08\x19\xb8\xcc\xbd\xcb\xea\xca\xc4\x2a\xa1\xa6\x02\xab\xfe\xa6\x2c\xe6\x78\x09\x6f\xce\x95\xce\xe6\xdc\x04\x9c\x9d\x9b\x33\x72\xda\x11\x6f\x7a\x46\xa0\xf1\xa5\xc6\xc8\x3a\x6c\xd5\x87\x4c\xc2\x98\x14\xdd\xa8\xd3\x3a\x9b\x5f\xe8\xc6\x5e\xc3\x28\x9f\x72\x22\x52\x05\x68\xdd\x88\x4b\x06\xda\xf8\x2c\xe7\x7f\x4e\x7a\x0d\x5c\xb8\xcc\x98\x6a\x8e\x13\xe9\xaa\xf1\x3e\x46\x50\x92\xfe\x94\x65\xa3\x2f\xc0\x5a\x28\xdf\x8b\xab\x05\xdd\xe6\x98\xf5\x45\x25\xbd\x89\xcd\x16\xdf\x17\x26\x37\xef\x9f\x23\x6c\x45\xa3\x88\xcc\x6b\xc8\x8c\xcc\x85\x80\x87\x20\x3b\x27\xde\xee\x4c\x9c\xc7\xf0\xf8\xfd\x50\xcd\x97\x55\x09\x26\xa7\xa2\x3c\xfb\xb6\x1c\xaa\xc5\xa6\xd9\xd4\x1a\x0d\x85\xa4\x73\x46\x9e\xa0\x10\x6a\x02\xa7\x6d\xea\xce\x54\x97\x57\xc3\x76\xa2\xba\xd4\x75\xcd\x81\xfc\xf2\x30\xb4\x25\xc3\x96\xba\xaa\x40\x55\x00\x76\xcb\xed\xad\xaa\x2e\xce\x0a\xfb\xa5\x9f\x8e\x9c\x3d\x13\x45\x0b\x89\xbe\x9f\x4c\x85\x49\xef\x51\xe0\x2d\x41\x8c\xbf\xa9\x84\x5e\x34\xee\x24\xa9\x90\x72\x74\xff\x81\x97\xb9\x57\x58\xc7\x55\x67\x9b\x65\x33\xf5\x04\x32\xc6\x16\xfa\x83\x13\x7b\x07\x5d\x8f\x25\xe9\x00\xac\xa1\xb0\x75\xf7\xe8\x4d\xcf\x7d\x2b\x5e\x02\x0b\x0c\x5b\x03\x85\x10\x25\x96\x05\x52\x72\x5f\x53\xfc\x00\xf2\x1d\x84\xfa\x87\x1d\x09\xae\xb7\xaa\xac\x4a\x48\xf8\xe5\x7d\x8d\x30\x39\xd9\xe1\x4f\xdf\xb9\x47\x83\xc0\xea\x8a\x9a\x71\xe2\x8e\x72\x7e\xec\xf4\x14\x06\x0e\x46\x9d\x87\x96\x5a\x10\x55\x2a\xe3\x75\xfb\xce\xb3\x97\xf5\x64\x90\x1c\x1c\xa7\x13\xfc\xa6\xe1\x18\xcb\x96\x20\x7b\x71\x6b\xd7\x30\x08\xa7\x0a\xa7\xdc\x59\xa0\x6a\x0e\x5a\xdb\x98\x4d\xb6\xe4\x11\xfa\x7c\x6b\x00\xbb\x71\xf2\xd4\x5c\x9e\x7d\x73\x32\x08\x67\xef\x50\x93\x36\x18\xc6\xe4\x55\x75\x2d\x47\x02\x7f\x03\x6d\x1d\x8b\xcc\x16\x77\x20\x36\x0f\x7e\x57\x0c\x32\xe3\x8d\x1b\x08\x35\x82\x2e\xfa\x8d\x91\x2c\x8d\x6e\x5c\x8b\x6a\x53\x37\xe7\xc1\x16\x80\x8b\x58\xb4\xd9\x81\x23\x86\xec\x98\xf4\x43\xac\xc7\x00\xe9\xb1\x6f\x0f\x5e\x48\x76\x50\x2d\x58\x81\x31\x70\xb8\x00\xce\x62\x68\x06\xb6\x1d\x10\x9a\x8a\x12\xee\x23\x8c\x21\xee\x8f\x62\x3a\x3f\xb0\xf3\x76\xc5\xb8\x87\x7c\x47\xf2\x45\x4a\xe4\x3c\x66\x5d\x51\xc6\x1d\xd4\x90\xbf\xf4\xc1\x06\x7e\x42\xbc\x6c\xb5\xb0\xac\x0b\x7c\xe4\x8b\xa8\x7f\x5e\x95\x07\x27\x7b\x16\x9c\xdf\x0d\x49\x1e\xba\xae\x2b\x38\x18\xea\xac\x30\x4e\x09\x0a\xc9\x03\x18\xff\x5c\x2f\x8a\x8f\xc4\xc7\x3d\xe7\xef\x97\x15\xbd\x1a\xa8\x11\xe6\x8d\x27\xc5\x27\x4e\x6c\x2e\x17\xa9\x0a\xb5\xeb\xbc\xb1\xd5\x11\x5e\xc4\x5c\x2f\x16\x98\xb4\xdc\x8e\x68\x4c\xac\xfc\x19\x30\xf0\xc6\x92\x14\xac\xea\xf2\x8e\x96\x6a\x5c\x8f\x93\x72\xb3\x5c\xba\x98\x9d\x93\x25\x3a\x6a\x95\xc9\x26\x7e\x3d\xb9\x7b\x04\xa7\xd7\xca\xe8\xac\x46\x27\x43\x71\xe0\x90\x18\x60\x88\x0d\x9a\x7b\x8d\xe9\xd7\x3f\xd2\x62\xef\xf3\xda\x7a\xf6\xeb\xe7\x4d\xe0\x7d\x07\xca\x33\x4d\x27\xe2\x67\x4c\xf7\xb3\x5f\xff\xa4\x2e\xf9\x99\x18\xfe\xbe\xde\x74\x88\x8f\xfb\x26\x16\x20\x41\x71\xcb\x06\x1c\xbf\xbf\x9c\x2a\x84\x3e\x60\x61\x44\xf4\xdd\x54\x64\x59\xa4\xdd\xe4\x1c\x41\xf3\x76\x75\xcc\x36\xc7\x91\xa1\xbc\xe4\xac\x86\xc8\xc3\x2d\xaf\x02\x19\x8b\x8d\x24\x68\x07\x2f\x17\xc5\xd9\xa6\xce\x1a\x9f\x84\x74\x03\xfb\xf9\x47\xd4\x3f\xbb\x80\x5e\x43\x49\x17\x7c\xfd\x7c\xdd\xc8\x8c\xbf\x0f\x24\xf8\x34\xda\x82\x61\x6a\x28\x67\x8c\x65\x8e\x9b\x53\xd2\x9d\x9f\x1c\xec\x3f\x7f\x7d\x42\x42\x00\x7f\x1d\x1b\xa9\xc1\xef\xd8\x65\x18\x09\x3c\xc4\xd1\xbb\x90\x92\xb6\x02\x10\xa5\xe5\x7c\xd5\xaa\x68\xdc\x8d\x81\x64\x03\x7b\x32\xf1\x81\x08\x62\xb0\x93\x0a\x07\xac\x71\xcf\x85\x8a\xe2\xc0\x52\x1b\xfb\xc8\x23\x7b\xa7\x8a\x06\x53\x75\xf2\x74\x75\x3d\x72\xfd\xf8\xe6\xe9\x24\xf8\xf3\x84\xaa\xd8\x27\x82\x25\x0d\x43\x50\x3e\x2f\x2e\x95\x2c\x34\xdb\xd5\x1f\xd7\x1c\x51\xc1\x15\x3c\x07\x29\x76\x99\x19\xc3\x45\xc8\xf7\x46\x96\x9c\xda\x3b\xeb\x93\xb8\xe8\x6b\x28\x0a\xa6\x7c\x2b\x15\x3d\x7d\x30\x1a\x29\x51\x44\x56\x60\xcb\xab\xd1\xe8\x9b\x93\x78\xf1\xda\x07\xb2\x58\xc5\x5a\x13\xf6\x16\x6f\x2f\xe7\xc4\xdc\x5c\xaf\x35\x23\x23\xc2\x9b\x55\x56\x5f\x6c\xd6\x71\xfc\x17\x6c\x6c\x4a\xc4\xf9\xb7\x43\x26\x57\xb0\x07\xc9\x18\xcd\x4e\x61\x46\xd8\xfd\xbc\x3c\x83\x87\xe6\xe7\x8b\x34\x6d\x31\x46\x0a\x30\x78\x6b\x7e\xba\xca\x9a\xf3\x6f\x4e\x04\x8d\x58\x59\x0e\xd6\x78\xb9\x44\xcb\x1d\x3a\x26\xc4\x81\x6e\xb6\xd5\xef\x8f\x5e\xbf\x1a\xab\x77\xfe\xa3\x55\x76\xcd\xd6\x51\x52\xeb\x57\xeb\x11\x26\xf1\x73\x43\x65\x07\x07\xee\x86\x15\x5b\x45\x2f\xe0\x46\x70\x79\x66\x7b\x70\xc4\xb6\xc3\xee\x1e\x48\x21\x53\xf5\xd1\x20\x0b\xca\x47\xaa\x71\xc0\x55\xda\x3f\xef\x59\xe7\xeb\xac\x39\x7f\xfd\xaa\xa3\x5a\x2f\xfb\x91\xed\xbc\xac\x52\x34\x15\x68\xe6\x86\x5e\x35\x57\xf2\x17\x60\xa3\xac\x20\xf5\x7d\xed\x96\x1e\xe7\x3e\xb6\xd5\x63\xdd\x40\xa6\xe0\x7f\x43\x94\x07\x32\xf9\x2a\xbb\x9e\xe2\x08\xdf\x91\x33\x89\x88\xb0\x32\x2d\x31\xad\x67\xdc\x19\xe6\x36\xee\xb8\x5d\x3e\xf5\x7d\xd1\x18\xbd\x5c\x40\x4e\xbd\x13\x72\x5c\x81\x51\x82\xd3\xc0\x48\xbd\x38\xf8\xe1\xdd\xc1\xf3\xfd\xa3\x83\x17\x5c\xe1\xcf\x75\xb6\xbe\x7f\x6f\x6c\xb5\xf2\xa6\x4a\x35\xbb\x99\xfe\x89\x02\x91\xaf\xd5\xa9\x30\xec\xed\x93\x44\x3a\x96\x6a\x2f\xe2\x2a\xb5\xce\x47\x55\x39\x3a\xb7\x37\xc8\x6f\x3e\x7d\x42\xa0\x8e\x0f\xa6\xa9\x6f\x6f\x89\xab\x8c\xb9\x12\xaf\x45\xc4\x6b\x1b\x82\x18\x5c\x55\x22\xc3\xe3\x89\xbb\xfe\xe1\xbe\x41\x07\xd6\x13\x3b\x8d\x66\x5e\x17\xa7\x22\xac\x90\x5d\x56\x70\x07\xb8\xba\xb3\x75\xc1\x6e\xf6\x02\xd0\xde\x4b\xdb\xe8\x2a\xd8\xc5\xae\x7e\xac\xd1\x5b\x83\x6d\xcb\xa6\x58\x15\xcb\xac\x46\x5f\x02\x26\x11\xf0\x39\x09\xe8\xd9\x07\xaa\x7a\xc8\x3f\xa7\x30\xfe\xf1\xdd\xab\x61\x94\xb2\x88\xa7\xfb\xaf\x94\xca\xcd\x07\xdb\x55\x19\xec\x00\x50\x26\xfb\x12\xb4\xc0\xd2\x21\xcc\x6c\xcc\x5a\x5b\xde\x25\x82\x57\x42\x67\x16\x8e\x16\x12\x8a\x0a\x48\xb9\x05\x5e\x39\xee\x62\xe8\x9a\x3e\xcf\x0c\x86\xad\xd7\xda\x54\xcb\x4b\x7b\x90\xab\x97\xf8\x0d\xe4\xfb\x2c\x56\xda\x99\x33\x2c\xad\x15\x25\x42\x01\x52\xb7\x60\xb6\x31\x05\xfc\x23\x45\xce\xd0\x18\xe6\x93\x49\x09\xdc\x10\x57\xde\x9c\x9d\x23\xc3\x66\xd2\x3c\xcf\xd0\x1e\xcf\x6c\x14\xed\x34\x7e\x38\xed\x80\x1d\x7b\x5d\xe3\xeb\x06\xcf\x46\x83\xb8\x57\x45\x1d\x46\xf5\x34\x95\xba\xca\x0a\xd2\xdd\xb8\x78\x60\xe4\x06\xb4\x70\x9c\x55\x8f\xc5\x9b\x2b\xf0\x10\x60\x13\x34\x19\x31\xcf\xab\x25\xf8\x5c\xa9\x5d\xd3\xa0\x76\x76\x57\x6d\xca\xa6\x58\x22\x12\x80\x47\xd9\xad\x5d\xbd\x51\xae\xaa\x11\xe4\x70\x16\x4e\x05\x5e\x3c\x72\xae\x22\xb9\xd6\x6b\x50\x12\x98\xc6\xe5\x56\xb5\x67\xad\x5d\xa1\x80\x52\xdd\x9c\xdc\x45\x3e\xd8\xe6\xa2\x63\xc1\xd7\xb5\x76\x61\xd6\x11\x66\x67\x10\x6a\x79\x4b\xcd\x39\x37\x5b\xd2\x60\x07\x7d\x02\xbf\x30\xde\x6c\xad\x83\xfe\xc7\x77\xaf\xec\x49\x04\xdf\x74\xb1\x03\xf4\xfa\xfa\x03\x1c\xe1\x2e\x66\x00\x0d\x04\xfc\xa0\xdd\xd1\x4d\xbd\x44\xfa\xa7\x28\x1f\xbb\x4c\xc3\x70\xfe\xec\x58\x9c\x1a\x05\x2c\x7c\x96\xa8\x71\xe6\x6c\x13\x7b\x66\x0e\x20\x85\x47\xf5\xc6\x2e\xe4\x3b\x8d\xfe\x12\x3f\xd6\x4b\x78\x35\x4e\xbe\xba\x4d\x88\xc1\x74\x0a\xf4\x8f\x1f\x79\xf6\xff\xe8\xc1\xfb\xa1\x30\x7a\x02\xba\x9b\x9d\x88\x52\x7f\xb4\xc7\xd5\x6f\xe0\xf7\xb8\xd4\x96\xb8\x46\x0a\x0c\x77\x97\x5f\x8f\xbf\x04\x05\x11\x2f\xdb\x15\x67\xd3\xf5\xbe\x44\xe7\x44\xf4\xd0\xe2\x58\xbd\x60\xe9\xd7\xb2\x3f\x08\xc0\x90\x12\x0c\xea\xf7\x47\x61\x15\x64\x40\xdd\x7a\xc8\xb1\xb0\x80\x35\xde\x59\xc3\x3d\x0e\x36\xc9\x1c\xa8\xe8\x0a\x3d\xde\x30\x90\x6f\x55\x9c\xd5\x2e\x5c\x92\xaa\x11\x9a\xdd\x09\xca\xc6\x01\x66\xd0\xd2\xa9\x0b\xf9\x56\x57\xea\xab\x1d\x50\xe0\xe9\x31\xe8\xa1\x9a\xce\x40\xb7\x2f\x78\x30\x23\xfd\x71\x8d\x39\xa7\x46\xc1\xcd\x43\xf8\x4a\x7e\x07\x91\x70\x68\x78\x71\x21\x50\xe3\x56\xa4\xdb\xa5\xae\xaf\xd5\x02\xdc\xb7\x74\x99\xd5\x45\x05\xf9\xea\x6b\xe9\x7d\xe6\x87\x0d\x3e\x15\x74\xab\xe5\x1b\x22\x78\x8a\xce\x91\x1d\xba\x28\xcb\x1d\x0a\xc9\x5f\x65\x45\x09\xac\xe7\x54\x87\x9e\x53\x1b\xd3\x54\x2b\xe1\x40\xe5\x55\x94\x08\x9c\x51\x34\xe7\x45\x09\xe2\x21\xd9\x55\x61\x73\xf5\x99\x99\xda\x17\x6c\x11\xbf\xaa\xea\x0b\xd4\xcc\x53\xad\xee\x44\xa0\xfd\xcb\xe1\x95\x91\x07\xae\x10\x57\x76\x00\xbf\xbb\xa9\xb3\x79\x93\xa4\x0c\x17\xff\x0f\x33\x13\xde\x03\xb3\xf5\x1a\xa0\xea\x30\x76\xf3\x02\xce\x32\x67\xd6\xe1\x25\x0e\x42\x06\x9d\x29\x03\x8f\x2d\xe9\xb1\x4a\xe1\xab\x97\x05\xc5\xbf\x45\x4d\x59\xee\xf6\xe8\x51\xa0\xcc\xe7\x29\x7f\xf4\xc8\x11\xcf\x8e\xc0\x7c\xa7\x9a\xbf\x08\xca\x1c\x89\x3f\x6e\x95\x21\x7b\xbb\x8b\x62\x08\x09\xc4\xca\x51\x17\x45\x99\xe3\x64\xc8\x6a\x7c\x42\xed\xcd\x1a\xb8\x2d\xba\x73\x4b\xa3\xbf\x30\x56\xb8\x70\xc3\x68\x72\xe1\xc2\x9c\x10\x29\xd9\x1a\x82\x87\x2e\x3d\x9d\x26\xb8\x84\x6f\x42\xd4\x4e\x4e\x05\xf0\xc4\xbb\x67\xb7\x15\x9f\x6d\xe6\x21\xf4\xee\xad\xca\xf1\x9c\xde\x22\x07\x23\x34\x01\x4a\x28\xd7\x2d\x99\x89\x1d\xce\xdc\xfe\xf7\xe1\x9a\xa0\x43\xc9\xd4\xb2\xba\x82\x88\x4b\xf2\xa7\x45\x93\x64\xe4\x3c\x0a\x86\x49\xa7\x91\x8d\x6e\x18\x2a\x70\x73\x08\x81\x27\xa4\x82\xc8\x89\xb8\x3b\x61\xe0\xc9\xe7\xc6\x7c\xf9\x80\x0a\x81\xf8\xe0\x25\x29\x5f\x5f\xae\xb3\x25\xfb\x41\xdb\x0a\xec\x6d\xba\x05\xfb\xf1\xe2\xed\xeb\xb1\x3a\x04\xf7\xbb\x55\x65\x9a\xc0\xff\x1d\x3d\xf0\x73\x4c\xd7\xe6\xa2\xae\xb9\xaa\x0c\x83\xbb\x0b\x97\x4a\x1e\x43\x02\x16\x8d\x76\xe6\xd1\xa8\x43\x8d\x83\x3a\xf3\x36\x41\x27\x1d\xf8\x84\x5f\x8f\xa4\xa0\x30\xf2\x2d\xf3\x1a\xe2\x95\x74\x1b\x83\x70\xe2\x10\x07\x9d\x52\x58\x03\xdb\x1f\x4c\xb6\x00\x3e\x91\x57\x5d\xe3\x62\xa5\xb3\xd4\x5f\x22\x55\x3b\x56\x67\x65\xbc\x71\xd0\xe9\x7d\xb6\x38\xfa\xcb\xb1\x3f\x98\x46\xea\x0d\xf8\xcc\x16\xff\x41\x60\x60\x10\xcc\xed\xdf\xbb\xf8\x58\xa2\x5b\xd7\x34\x1a\x88\xb9\xeb\xce\xe5\x2d\x08\x03\x8f\xa7\xda\x84\x1d\x0b\xec\x99\x2a\x92\x3d\xb6\x1b\x38\xa7\xc2\x5e\x49\xee\x19\xa1\x79\x6e\xf0\x3b\x83\xc2\x8e\x82\x4b\x17\x61\x04\xba\x20\x7f\x60\xa5\xee\x29\x5e\x62\x65\x74\x38\xe5\x16\x4c\xc8\xc1\xb6\x15\x84\xec\x02\x4d\x10\xde\x73\x61\x42\x6b\x9d\x99\xaa\x24\x82\x7d\xf4\xa8\xac\x9a\x47\x8f\x24\x29\x64\xe5\x75\x03\x5a\xe2\xca\x3b\x27\xe0\x41\x26\x29\xc3\x50\x2e\x64\xf6\xe8\x6e\x2a\xcc\x3e\x86\x76\x34\x1f\xd3\x43\xe7\x69\x93\xd8\x08\x63\x75\x48\x4a\xcc\x6c\xb9\xbc\x1e\x42\x21\x4b\x11\xba\x84\x18\xf4\xb3\xc2\x34\xb5\xcb\xf5\x27\x92\x01\xdb\x53\x1d\xb4\x5a\x2d\x2b\xb4\xf4\xa7\x80\x2f\x5a\x4d\xee\xf8\x50\xb9\xdf\xb9\x58\xad\xed\x3c\xcf\x4a\x34\x0f\x95\x79\xe8\x54\x0f\x4c\xb6\xd6\xf3\x4d\x6d\x8a\x4b\x4d\x48\x33\xcd\xb9\x5e\x19\xbd\xbc\x74\x2a\x24\x34\x20\x56\x57\xa5\xb8\x6c\x55\x75\x82\x94\x09\x90\x82\x58\x97\x09\x9a\xc2\x4b\x9d\xa1\x0c\xbc\x45\x09\x9e\x54\xf6\xf2\x54\xad\x51\xbb\x0b\x53\xd8\x64\xf3\x0b\x97\x76\x1d\xcd\x1d\xe2\x12\xea\x9c\x8d\xd0\x35\x0f\x15\x96\xab\xac\xdc\x80\x1f\x39\xba\xe6\xf1\xa9\xce\x02\x0e\x07\xbe\x09\xe6\x56\xa9\x62\xb5\xd6\x76\xe1\x60\xcc\x22\xcc\x2c\x4b\x47\x46\x08\x6f\xbb\x5a\x2f\xaf\x81\xf2\x4a\x95\x6d\x9a\x0a\xd2\x05\x0b\x84\x2c\x71\xfd\x85\x94\xc1\x5e\x7d\x81\x3e\xe0\xe1\xad\x4d\xea\xc2\xab\x9a\x46\x12\x22\x63\x94\x0e\xe9\x7f\x1b\xa1\x6c\xdf\xd7\x30\x8d\x29\x42\x09\xf8\x4d\x88\x76\x22\xee\x58\x55\xb2\x79\x8c\x4a\x5a\xd7\x7a\x8e\xae\x3e\x19\xc7\x56\x29\x05\xf6\x64\xa7\x25\xb8\x28\xab\x2b\x42\xee\x03\xcb\x4f\x71\x76\xde\xa8\x6a\xd3\xe8\x9a\x0d\x2b\x3f\xe0\x95\x89\xe3\x4b\x05\x8f\xeb\xe8\x13\xeb\x5f\x3d\x03\xf2\xbd\xc2\xa5\x8a\x77\xd1\x7e\x72\x53\xb0\xc1\x34\x40\xa1\x08\xb2\x42\xd3\x45\x54\xdc\x9b\xf1\xca\xe0\x70\xc2\x49\xe2\xc2\x1a\xd0\xe3\xad\xef\x22\xa3\x06\xbe\xd8\xc8\xf6\xde\x5e\x0f\x2e\xb3\x25\x5d\x6f\x90\x7f\xe8\x9a\x4f\xfa\x16\xaf\x20\x17\x67\x32\x76\xa1\x79\x4b\xfa\x43\x93\x48\xb7\x28\xce\x02\x94\xd5\xae\xd5\xd2\xab\xb5\x33\xcc\x87\x5d\x0e\x41\x6b\xfd\x29\x32\x70\x7d\x24\x87\xeb\x93\x35\x78\x36\x95\x39\xe2\x62\x9c\x48\x17\xb2\x11\x3b\x38\x59\x19\x97\x3d\x0d\xc9\x44\x86\x1d\x4b\xb0\x43\xcf\x33\x31\xea\x4d\xe5\x9b\xd6\x7c\x80\x1f\x16\x0a\xf0\x00\xa0\x08\xb4\xc4\xf2\x9c\x77\xd7\x82\xeb\x01\xcf\xbc\x6c\xc4\x04\xd2\xbb\x17\xf4\x60\x42\x1d\x63\x91\xa2\x21\x85\x4c\x2e\xaf\xf9\xd8\xf2\x5a\x0e\xf9\x19\xc8\x5c\x14\xa0\xb6\x45\x5a\x5c\xde\x33\x9c\x5c\x4a\x8f\xdf\x96\x5b\xe4\xc7\x88\xe2\x81\xb7\xae\xab\xd2\x14\xf6\x52\xb5\xa8\xea\x80\xb2\xe4\x91\x05\x7a\xc0\x2b\xbd\x5c\xda\x7f\x37\xeb\xdc\x81\xf1\xa2\x70\xe9\x24\x2f\x97\xa0\x3a\x5b\x34\x94\x98\xbe\xad\xc0\xe2\x53\x9b\xb5\xb6\x28\xde\x81\x68\x1a\x5f\x02\xd4\xb2\x3a\x2b\xe6\xac\x39\xb1\x2d\xac\x37\x4d\x20\xf8\x38\xf7\xb2\x2d\xf8\x42\xf0\xff\x5b\x12\x2a\x29\xe8\xc7\x19\x40\xc9\x74\xc5\xc2\x97\x6f\x3a\x9e\x8f\xee\x06\xbe\x40\x4f\x6a\x74\xc2\x16\x00\x41\xd0\xc1\x42\xc8\xb9\x4e\xda\xb9\xbf\x9c\x5b\x98\xc0\x58\x8b\xa1\xbb\x24\xd1\x70\x9f\x45\x00\xad\xbb\x9a\xd5\xba\x8c\xef\xd9\x48\x97\x65\x12\x99\xc6\xc7\xa5\xb9\xd2\x96\xc5\x71\x0b\xec\x59\x09\xeb\x87\x68\xb7\xe1\x20\x9d\x5c\xec\xc5\xbc\xff\x24\xb9\xb8\xb5\x69\x83\x8e\x09\x9f\x4f\xcb\x67\x02\x5f\x47\xee\xe9\x08\x98\x7c\xfb\x79\x61\x3b\xa9\xec\x11\xd3\xa0\xa2\xd7\x43\x32\x95\x92\x64\xb8\xb7\x3e\x5a\xcc\xd7\x96\xf2\xb0\x24\x77\xd0\x6c\x55\x59\xe6\x43\x98\xb4\x5e\xe0\xe1\xa8\x37\x64\x8a\xdc\x48\xdb\xf9\x93\x4f\x3d\x5f\xb9\x41\x5d\x86\xf7\x0a\x85\xd3\xea\x3c\x2b\x4b\xbd\xec\xb8\x2d\x7c\x5b\xfe\xa9\xfe\x8f\xce\xfd\x4b\x42\x1b\xca\xc0\x97\xc0\xf3\x92\x3f\x06\xc0\x56\xdd\x60\x1c\xab\xbc\xf1\xb8\x81\x0d\x19\x24\xa2\xc6\x7d\x99\xeb\x26\x2b\x96\xde\x33\xf0\x8f\x38\x5c\x3a\xbe\xfe\x83\x38\x13\x22\xfc\xb4\x03\xe6\x6b\xde\xe9\x37\xbe\x2b\x82\x11\x01\x77\x86\x7a\x53\x35\xf2\xd6\xd1\xbe\x61\xf8\xfd\xb6\x23\x30\x0a\xda\x53\x0f\x8c\x6f\x91\x15\xcb\xc8\x0b\x86\x57\xc0\xb5\x0e\xa6\x22\x2c\x1d\x8e\x29\x75\xae\xc5\x83\xf2\xcc\xba\x7b\x4c\x54\xc6\x47\x0e\x47\x9f\x72\xf2\x78\xf0\x7e\x8c\x84\x55\x19\xb1\x4d\x59\xa4\x04\xec\x32\x69\xe9\x76\x28\xfc\x98\xb0\xb4\xdd\x04\xa1\x29\xff\x2a\x2b\xe0\xc8\x21\xfd\x68\x51\x4b\x8c\x38\x44\x8e\x8d\x4c\x37\x74\xcd\x2c\x6a\x7b\xff\xf0\xb3\x4c\xbe\x06\xd4\x90\xad\xd2\x9d\x4b\x64\x95\xd2\x39\x19\x89\x60\x48\xd5\xdc\xde\x71\x9c\x69\x5b\xb2\xdf\x8e\xa5\x15\xd7\x87\xd6\xcc\x5b\xce\x11\x4e\x19\x03\x29\xd0\x00\xd9\xec\x87\x3d\x87\x21\xb5\x4c\x60\xce\xe2\x17\xc2\x6b\x48\xfd\x23\x9f\xf9\x72\x83\xd2\x6e\x14\x68\x79\x1a\x95\xb3\x28\x7c\xce\x7d\x8c\x10\xc5\x77\x32\x5f\x03\x2d\xbb\x65\x80\xeb\xac\x76\x47\x34\x04\x72\x96\x39\x4e\xec\xfa\x9a\xc4\x81\x15\xdc\x95\xc9\x3b\x33\xfa\x1c\xf8\xda\x12\xb5\xd7\x02\x9e\xb6\x00\xf7\xfb\x52\xbb\x2b\x56\xe0\x88\xec\xbc\x46\xe0\x92\x87\x5e\x4d\xb6\x3b\xee\xa8\xbc\x56\x57\xf0\x5b\x76\xa1\x5d\x8c\x79\x3c\x6c\x38\xe6\xfb\xa0\xb6\x42\x41\xd5\x1d\xe5\x47\x8e\x19\xdd\x82\xab\x26\xa5\x74\xa3\x7d\xe9\x7a\x21\x95\xab\x59\x87\x8a\x52\x7a\x2e\xe9\x1c\xb3\x6c\xb7\x3c\x29\x62\xf9\xc6\x29\xae\x4f\x75\xa9\x17\x45\x13\x6b\x83\x87\x70\xa5\x65\x34\x57\xca\x07\xc2\xd3\xef\x08\x89\x2f\xb2\x43\x5c\x63\xb6\x13\x79\x1f\x6e\x5c\x25\x54\xe1\x5a\x72\xf7\x80\xdb\xcd\xb9\x0c\x64\x66\x95\x58\x30\xd1\xf6\x2c\x22\xb4\x6d\x98\xe5\x61\x60\x9f\x0c\x0c\x25\xb6\xee\x30\x1e\x08\x06\x78\x87\xf9\x85\x43\xc0\x47\x99\x37\xbb\x8c\xec\x30\x00\x84\xd4\x8c\x80\x9a\x46\x6e\xb4\x2d\x6b\x4c\x70\xcd\xc7\x5c\x0b\x05\xa0\x4c\x78\xb9\xb6\xf1\x31\xad\x1c\xc7\xb2\xae\x8b\x4b\xb0\xa2\x35\x80\x64\x59\xd5\xe0\xbc\xc8\x2b\xc5\xc4\x7a\xef\x89\x2c\xc0\xe3\x11\xe8\x05\x36\x54\x10\x76\xfe\x99\xaa\x18\x0c\x92\xd1\xa6\xa1\x3b\x96\xd3\x6c\xfb\x43\xda\x9f\x92\xf6\xd2\x04\x90\xcc\x10\x92\xdf\x36\xe4\xb1\x1b\xa1\xc0\x1b\xd8\x41\x64\x59\xb5\xa8\xb3\x33\xaf\x32\x87\x60\x45\xdb\x22\x73\xe4\xb1\x04\xe2\xc5\x45\xdb\x94\x45\x33\xa2\x9e\x7d\x41\xff\x8e\x24\xc1\x8e\x42\xd4\x8b\x23\x1a\x44\xb0\x23\x5f\x84\x50\x9a\x31\xa4\x64\xc4\xca\xd4\xb7\x02\x5f\x64\xc7\x85\x44\x89\x01\x12\x92\x83\x89\x76\x4e\xe0\x84\x41\xac\xce\x38\xef\x70\xe7\x1c\x28\x02\x12\x43\x23\x10\xb0\x62\x67\x07\x6a\xd9\x8d\x7a\xc6\x39\x8e\x3a\xfb\x75\x18\x71\x75\x42\x57\x9c\xa4\x65\x09\xe3\xf6\xc9\x77\x0d\x97\x3f\x3e\x2c\x00\xce\x21\x6b\xd8\xc4\x0a\x9a\x06\x31\xa8\xdc\x8f\x83\xce\x4c\x60\x41\xa5\xbe\xea\x10\xcc\xb6\x51\xa2\xbd\x1f\x23\x19\xbe\x5c\x00\x49\xd9\x73\x09\x8c\x4b\xa8\x1c\x4b\x71\x4c\x74\xe0\xb2\x1f\xe7\x55\xd9\xf3\xa8\xe2\x57\x55\x5d\x5f\x3b\xc5\x4d\x61\x04\x4c\x2c\x9c\xea\xb6\x15\x59\x11\x0e\x30\xd7\xd9\x12\xb9\x33\x79\x7e\x6c\x4c\x9b\x3a\xa8\x73\x6c\x08\x73\x1a\x3c\xd6\x16\x34\x98\x8c\xc6\x72\x33\x5a\x0f\x30\xb6\x67\xce\x8c\x9c\x08\x6c\x71\xe8\xd8\x01\x2b\x73\x63\x5b\xe1\x24\xa0\xab\x49\x4a\xc5\x44\xb6\x23\x8c\xa2\xb5\x37\xe4\xa4\x1e\xaa\x68\x84\x73\x53\x46\x28\xcb\x93\xbf\xfd\xdb\x46\xd7\xd7\x70\xd6\x50\x52\x55\x21\x46\x99\x70\xb5\xf9\x08\xb5\xec\x58\x2e\xf9\xdd\x12\xb9\xdb\x35\x89\x3e\x86\x44\xc9\xa1\xc0\x14\xb2\x00\x7b\x02\x04\x69\x7b\x5d\xcb\xe6\xe7\x81\x61\xf4\x48\xae\x2d\xb0\xc2\x35\x1a\x94\x9b\xab\xca\xcb\xf4\x66\x28\xa4\x73\xa8\x6b\x48\x98\x00\xac\xa7\x38\x19\x8a\x9b\x2f\x46\xbe\x9c\xe0\xf6\x80\xf4\x2d\x92\xde\xd7\xa0\xbe\x82\xd5\xea\xe0\xca\x6c\x5d\x60\xc5\x00\x49\x3d\xa5\xbe\xb2\x64\x42\x5e\xa4\xed\x69\x1a\x86\xf1\x49\x38\xe6\x82\xc2\x1b\xef\xbf\x79\x22\x00\xd6\x47\x8f\xa6\x6a\x1f\x71\x30\x88\xcd\xa8\x8c\x46\x68\x2f\x5e\xfd\xe4\xd4\x0e\x50\xe7\x15\xaf\x55\x40\x4e\x20\x0d\x81\x84\x0c\x3a\x33\xfb\xbd\x3d\xdb\xdc\x8c\x41\xbd\x71\x50\x17\x89\x6c\xe8\x8b\x8a\x0a\xcc\x40\x0e\xe8\xe6\x1c\xd1\x26\x24\x73\x20\xc0\xc3\xac\x69\xa8\xc0\x7c\x70\x20\xf1\xf2\x78\xeb\x31\x2d\xee\x80\x5b\x44\xac\x69\x50\x54\x43\x21\x22\x36\xb8\x0a\xc4\xf4\x96\x84\xee\x17\xad\x3c\xc7\x46\x86\xc1\x10\x40\x3d\xc3\xa0\x7e\xe2\xea\xd9\xef\xa2\xc8\xc0\x94\x3c\xce\xd6\xf6\x42\x80\xdf\x0c\x08\x31\xaf\xdd\xa4\x9a\xe1\x84\x47\x1f\xb8\xf6\xd5\x0c\xab\x4f\x23\xf9\xbf\x42\xc0\xfe\x22\xe4\x6c\x94\xab\xb8\x8b\x65\x81\x68\x06\x53\x06\x17\x10\xa6\x17\x52\x8a\xc2\x02\x53\xb2\x37\x3e\xef\x45\xbc\x65\x3a\x6c\x31\x98\xdb\xf6\x20\x39\xa1\x2c\x76\xbf\x35\xc6\xf1\x1e\xb5\xd7\xbf\x2f\x90\xe4\xd6\x4d\x43\xb3\x51\xd8\xa6\xf1\x5c\xcb\x73\xcf\xce\xd3\x73\xe2\x0e\x83\x24\x3f\xef\x47\x21\xda\x49\x5b\x41\x05\xbb\x48\x5c\x6f\xd0\x28\xcc\x69\x7c\x98\x2c\x78\x2a\x4e\xc4\x4a\x15\xcd\x60\x18\x9c\x1b\x1e\x09\x2d\xd2\xb1\xba\xea\x78\xca\x1c\x80\xc6\x7d\x36\x1f\x5c\x16\x36\xc5\xd2\x4e\x20\xf4\xd2\x29\xff\x8a\x00\xaa\x6f\xa8\xda\x98\x79\x8b\xdb\xa1\xff\xeb\xf0\xaa\x68\xe6\xe7\x88\xb9\xee\x1e\xbe\xd3\x6b\x9d\x35\xa0\x39\x76\x46\x2a\x98\x53\x41\x4d\x45\xed\x19\x52\xce\x01\xa4\x99\xc4\xc5\x33\x15\x49\x05\x41\xb2\x91\x96\x58\x50\x00\x12\x02\xcf\x95\xcb\x58\xd1\x2d\x6e\x54\x1c\xe2\xd7\x9a\x2c\xb8\x7e\x85\x8b\x1e\x6b\xed\x03\x99\x12\x68\xd6\xdc\x71\x34\x76\x1e\xdf\x49\xd9\x39\xd0\x92\xa5\x64\x49\x58\x50\x77\x6e\xba\x40\x7e\x12\x01\x87\x12\x62\x0b\x0e\x3f\x54\xb0\x24\xdc\x62\x08\x6b\x07\x82\xb3\x2b\xc4\x0a\xa3\xe5\xc1\xa3\xd0\xd9\x72\xda\x85\xc2\x8f\x07\x9c\xd2\x85\xa0\xbb\x4c\xeb\x3a\xb8\xe8\xba\x0e\x42\x3b\x7c\x23\xe4\xf3\x51\xba\x9b\xb3\x1b\x7f\x20\xa9\xc3\xf8\x36\x46\x47\x32\x31\x44\x8e\x85\xd7\x46\xa0\x73\x3b\xcf\xe7\x85\xae\xb3\x7a\x7e\x7e\xad\x56\x60\xff\x5b\x56\x15\xb8\x6b\x42\xd0\x86\x25\xa3\x44\x82\x1e\x4e\x69\x92\xad\x5d\x0e\x1d\xfb\x84\x9a\xf0\x89\x78\xec\x43\xd9\x11\xff\xc6\x65\x3b\x91\xbf\xa7\x72\xa0\x80\x31\x74\x0f\x9d\xa6\x4f\x68\xa2\x7c\x97\x41\xb0\xb5\x3d\x4e\x76\x77\x07\xf2\x47\x78\x63\x02\xb6\x37\xe2\x7e\x72\x67\x46\x2a\xa6\x24\xdf\x3c\xbb\xb6\x43\xc3\xa4\x5e\x63\x1c\xb6\x08\x9e\x0d\x96\xcf\xbb\x57\x50\x09\x3c\x88\x8b\xda\x0f\x62\x7c\x77\x07\xe3\xfe\x04\x5d\x96\xc8\xaf\xa0\x97\x72\x61\x51\x46\xcc\x59\x1b\xac\xd5\x03\xed\x8e\x7d\x09\x51\xd8\x25\x4b\x1d\xb1\x7d\x19\x94\xdd\x5e\x77\xec\x9d\xb4\xe1\x5e\x66\xd9\x73\xe5\xb1\x32\xed\x9f\xc2\xdf\xe0\x25\xdd\xdf\x01\x58\x44\xa3\x55\xd4\x12\x26\x8f\x1e\x25\x23\xcb\x8a\x1e\x09\xdb\x45\x88\x21\x63\xa6\x98\xa3\xc5\xeb\x23\x60\x95\x7b\xe5\xd9\x5f\x8b\x32\xef\x39\x4b\x30\xe2\x8c\xa0\xc3\x2f\xa4\x40\xb0\x02\xe1\xd4\x7e\x37\x3d\xb5\x1f\x0e\xd5\x49\x9e\x35\xd9\xa8\x3c\x1b\xd9\xbf\x4f\x20\x58\xb1\xf7\x91\xff\xee\x8d\xe9\x5c\x49\xa0\x1b\x90\xe1\x14\x52\xef\x89\x6e\xb2\x58\xb7\xe3\x50\xc4\x7c\x51\x6f\xc7\x7d\xe4\x01\x79\x01\x64\x6c\x14\x18\x0e\xa6\x8f\x20\xd8\x49\x28\x6f\xc1\x6e\xe1\x35\xfa\xce\x4e\xd2\xf2\xd0\xc5\x66\x9d\x65\xd9\x1b\x33\xb6\x58\x31\x12\x63\x33\xd8\xad\xf0\x1c\x57\xa1\x79\x43\x8c\xe6\x90\x81\x2a\x3c\x62\x1a\x0e\xe3\xa5\xfc\x3b\x46\x9f\xcb\x8c\x29\xce\x4a\x7f\x93\xf2\x4b\x5c\x31\x32\x31\xd8\xbf\xc8\x97\xad\x05\xdf\x01\x12\x40\x96\xd3\xcd\x33\x86\x6a\x13\xdd\x7b\x7b\x0a\x69\x5b\xca\xb3\xf0\x33\xdf\x9d\xe9\x23\xf5\xa3\xb1\xdc\xa4\x82\x2f\x35\x48\x17\xf4\x3b\x54\x8f\x5e\x06\x8c\xef\x14\x98\xd0\x78\xa1\x85\x0e\x3e\x98\x05\x0a\xd5\x3f\x31\xf5\x7c\xb6\xfb\xe9\xd3\x69\x56\xdf\xde\xee\x9e\x20\x12\x28\xd9\x05\x29\x22\x0f\x3c\x97\xf5\x62\x51\xcc\x0b\xcb\x26\xf0\x80\xe8\x19\x10\x65\x3c\x39\x41\x11\xc6\x6f\xca\x4c\xb1\xbc\x76\x92\x53\x36\x6f\x36\x0c\xda\xe2\xc2\x34\xba\x8c\xf3\xd1\xb4\x39\x58\xbd\xf3\x0c\x9c\x90\x41\x2d\xaf\x6d\x55\x30\x57\xd7\x1a\xef\x77\x46\x82\x11\x16\x14\x77\x6b\x07\x50\xac\xb4\x83\xc7\x74\x78\xa7\x27\x2d\x13\x7b\x60\x60\x07\xf3\x10\x5b\xd9\xf5\x72\x35\x54\x94\x83\x60\xde\xd4\x4b\x77\x23\x98\x4c\xfc\x00\x1d\x85\x08\x00\x20\x7b\xdc\x55\x4b\x3d\x5e\x56\x67\x7d\x28\x3f\x2e\xcf\x00\x86\x4c\x40\x8a\x4f\x26\xb4\x78\x61\x35\x3b\x0e\xce\xd0\x8c\xf7\x8c\x6e\xfa\x3d\x2a\xda\x83\x4c\x9a\x57\xd8\x4c\x2f\xac\x88\xe9\x42\x20\xac\xa5\xc9\x2a\xa8\x9d\x4a\xc9\x16\xdc\x45\x08\x5a\x11\xa8\xe5\x72\x44\xfc\x3d\xf0\x4c\x6c\x92\xb1\x08\x9b\x4a\xf5\x18\x48\x6a\x10\x82\xc9\x47\x0e\x08\x5f\x7c\xa1\x0e\x50\x38\xf8\x7c\xad\xa8\xbd\x13\x1c\xb9\xa3\x2c\x42\x55\x16\xae\x26\xa0\x3f\x3a\x59\x45\xc8\xed\x27\x28\x4e\xb0\x68\x02\x4e\x1d\xe4\xb0\x60\xe7\x6d\xb9\xdc\x80\x37\x9e\x56\xe7\xd5\x95\x3a\xd9\x73\x2e\x1b\x57\x55\x7d\xd1\x52\x42\x3d\xe5\x6a\xb0\x95\xd9\x2e\x7d\x4e\x63\xdb\x85\x7c\xc3\x4f\x17\x05\x61\x55\xcd\x76\x8b\x32\xd7\x1f\x5d\x0e\x40\x9f\x3d\x90\x13\x13\xc7\x69\xe7\xc2\xfa\x20\xff\x5c\x90\x9b\x2c\x4c\x51\x24\x33\x7c\x5a\x02\xa3\x30\x6f\xbc\xcd\x73\x5d\x3d\x21\x83\x05\x18\x5b\x82\xb5\xfa\x3a\x5a\x69\x74\x30\xff\x63\xf4\x94\x64\x71\xe4\xe9\x3d\xee\x56\xcf\x55\x14\x77\x54\x02\xe9\xf3\xc7\x89\x71\x85\x69\x6e\x27\x13\xe9\x90\x41\x3d\x40\x2d\x8e\x21\xaf\xa0\x44\x9e\xef\x18\xc3\xde\xef\x6e\x72\xa1\xc9\x08\xb8\x3e\xcc\x5a\x8c\xf7\x58\x70\xe2\xe8\x07\x6f\x54\x54\x53\x5c\x92\xbb\x8a\x5e\x20\x30\x1f\x6e\xe2\x05\xca\x98\x40\xe7\x6b\x15\xa7\x1e\x53\x1f\x2c\xcb\x23\x36\xc2\xd3\xf2\x24\x2a\x72\x3b\xec\xea\xa2\xdf\xc8\x89\x1e\xf2\xd5\x20\xd9\xc1\xae\xce\x4d\x26\x74\x4c\xe2\x5d\x81\x75\x8e\x04\xd6\xf1\xe2\xed\xeb\x56\x09\xbe\x29\x5b\xaa\xef\x33\x6f\x48\xd5\xcb\xee\x66\xac\x7f\xe2\x7b\x37\x3a\x07\xbb\x60\x1e\x6a\x2b\x55\x03\xdf\x93\xdb\x6f\xde\xbc\x3d\x3a\x98\xaa\x2b\x3a\xad\xb8\xa5\x31\xdc\xab\xde\x80\x03\x2f\x1c\x24\x59\xb2\xda\x2b\x4d\x5a\x6d\x48\x71\x58\x02\x7f\x95\x9e\xa7\x73\xe7\xb0\x5a\x6d\x6a\x74\x7a\x6d\x55\xc3\x34\xcd\x68\x04\x63\x56\xd8\xf7\x07\x03\xa2\xa4\xd6\xb2\x06\x7f\x07\xaf\x6f\x45\xee\x6a\x91\xb0\x97\x7e\x19\x7b\xbb\x43\xbf\xf7\x5d\xad\xad\x48\xec\x01\x2a\x2c\x17\xe9\x21\x14\x57\xb0\xe9\x5a\xe4\x8c\x4f\xc6\x80\x82\x30\x53\x3d\x32\xbf\xf6\x9e\xc4\x1f\x00\xb6\xd1\x4c\xf5\xbe\x0f\x60\x68\xdd\x77\xb7\xef\xa9\x87\x22\x79\x29\xdf\xb8\xca\xb3\x91\xef\xeb\x6c\xb7\xd5\xd7\x5d\x66\x8c\x4f\x8b\x72\xbd\x69\xec\xf7\x2b\x7b\xf8\xcc\x76\x6d\x23\xbb\xdf\xa8\xa7\xa7\xb5\xfb\xa4\xd1\x1f\x9b\xac\xd6\x99\xf8\x0a\x39\xed\xd3\x09\xbf\x0a\x0b\xc0\x99\x83\xcb\xe2\x3f\x45\xe6\x2e\x2e\x7b\xf6\x37\xcb\xc2\x5b\xcc\xdc\x5e\xaa\x6a\xe0\x43\xe3\xdf\xcc\x2e\x25\x80\xf5\x0f\xb9\xef\x45\xd3\xef\xb1\x32\x6e\xe3\xa3\x6e\xe5\xdc\x8b\x59\x07\x4d\x26\x0f\x64\xa6\xf6\xfa\x3d\xfe\xab\xe7\x29\xc0\x7e\x54\x6d\x1a\x3b\x23\xf0\x49\x5e\x5c\x1e\x53\xb5\xef\xc5\x67\x93\x09\x70\x6b\xc6\xce\x43\xeb\xa6\x95\x50\x0d\x2f\x16\xaf\xa9\xdb\x33\xfa\xe3\x5a\xcf\x9b\x3e\x56\x0e\x71\x8e\xfa\x63\xd3\x1f\x0c\xc6\x4d\xf5\x57\xdd\x8f\x4a\xf9\x96\xb8\x8f\xe3\xf9\x52\x67\x75\x3f\xf1\xc2\xe8\x32\xff\x3f\xfa\xda\xf4\x7b\x4c\x20\x0f\x44\xf9\x3b\x9a\xa5\x06\x7d\x09\x22\x7a\xb7\x30\x4f\x27\x74\x12\x83\xa3\x2e\xc9\x14\x61\xf2\xe7\x9b\x17\x6f\x5f\xbb\xb4\xb3\x6c\x45\x15\xd9\x30\x65\xea\x43\x11\x1b\x1d\xa7\x3f\x0c\x1c\xa7\xb9\x05\xb7\x90\x7c\x7e\x1f\x8a\xd0\x89\x7d\xd0\x5e\x7f\x5b\xce\x06\xb7\x49\x75\x52\x10\xca\x26\xc4\x19\x09\x19\x70\x97\xd5\x21\xe9\x9c\xfd\x83\x3b\xda\x3b\x5c\xb4\x91\x9f\xee\x7d\xae\x53\xb6\x73\xdc\xe1\xfb\x5a\xb7\x37\x36\xd8\x8e\xba\x54\xac\x9c\x86\x42\x31\x56\xef\x5f\xab\x4d\x99\x1f\x05\xfe\x68\xf7\x75\xcf\x0e\x57\x1c\x13\x5b\xdc\xaa\x55\xf6\xd1\xe5\xbf\x00\xc6\x8f\x31\x1c\x62\x92\x31\x1c\x0c\x02\x29\xce\x00\xd3\xd5\x45\x86\xf5\xdf\xda\x02\x7a\xb1\x60\xc1\x66\x27\xc8\x8b\x85\x3f\x60\x48\x27\x62\xea\x9b\xc1\x10\xa6\x85\x1c\x59\xc8\x77\x12\x02\x77\x7d\x26\xf1\x64\x74\x8d\x23\x91\x21\x27\x4b\xb2\xc4\x12\xc9\x34\xde\xde\xc7\xb9\x34\x01\xa4\x9d\x29\x13\x14\xdb\x99\x74\x06\x99\x40\x48\x26\xc1\xe8\x38\xc8\x4d\x9f\xe9\x26\x70\x99\xdd\xbf\x87\xd3\xac\x6b\xb2\x1a\x73\xf9\xa0\xfb\xb6\x9e\x97\x8b\xd6\xc3\xc2\x59\xbc\x24\xd0\x47\x34\xb6\x82\x83\x6a\xdc\x54\x8b\xb0\x07\xd6\xbc\x0b\xab\xa0\xaf\xde\xd3\x13\x5f\xcc\x41\x4a\xc8\xc0\xc5\xd2\x5b\xa2\xb8\xda\x08\x50\x50\x9a\x9f\x1c\x96\x0d\xb9\x49\x64\xeb\x75\x5d\xad\xeb\xc2\xee\x7b\x8a\xab\x3e\x4a\x74\x80\x02\xcd\xc8\xf7\x3c\x33\x53\x38\x64\xa2\xcf\xd0\x70\x94\x3b\xcf\x6d\x3c\x6d\x4f\xd0\xda\xe9\x83\xe1\x04\x6c\x63\x2e\x9d\x85\x41\x09\x9c\xb4\xe4\x9d\x38\x7c\x43\x52\x85\x79\xa1\x8c\x1c\x1e\xc6\xb2\x6a\xb7\xe0\x9c\x6b\x3a\x40\xe2\x84\x3b\x93\x37\x7d\xb6\x5c\xd6\x0a\x03\x17\x21\xfb\xcc\x7e\x3a\x16\x94\x44\x84\x0b\xb4\x54\x7a\x9c\xc9\x20\x91\x82\xad\x9d\xeb\xe4\x54\xa6\x40\x31\xae\x70\x9a\x56\x5c\xfc\x20\x34\x76\xa1\xaf\x0d\xc7\x88\xf1\x56\x60\xa3\x3f\xd7\xce\xa8\xa6\xf1\xcc\x76\x32\x9a\x51\x27\x9b\x5a\x65\xb9\x0e\x98\xb4\x60\x04\x9e\x93\x3c\x51\xc5\x02\x59\x88\x87\x0e\x3f\xd5\x31\xc4\x40\x8a\x9d\x19\x07\x03\x1d\x55\x89\xd8\x63\xe0\xa5\xed\xd6\x98\x94\x27\xc2\x7f\x31\x58\x5d\xdf\x7f\x2f\x43\xc1\x92\xc4\x29\x2d\xec\x4a\xc0\x3c\x12\x48\xce\x5a\xfa\x25\x83\x42\x53\x74\xc9\xcf\xaf\xf4\x89\x4e\x0e\x19\xe2\xb3\x23\x4f\x64\x51\x53\xc7\x59\x17\x8c\x21\x85\x28\xaa\x46\xf7\x84\x11\xf5\xbb\x92\x51\x44\xe5\x38\xda\x78\xa2\x4f\xfe\x30\xaa\xa7\xa8\x7f\x1b\xbe\xe7\x38\x04\xc0\xf4\x0a\x6e\x31\xb3\x11\xee\xa5\x7a\x2e\x6c\x94\xed\x18\x40\x3a\x51\x02\xaf\xfe\x30\x3e\x92\x43\x04\x28\xfe\x48\xb2\x8d\x1d\x91\x73\xdf\xf1\x8d\x21\x87\x84\x07\x9c\xc6\xb9\x35\x2e\x92\xf3\x2c\x76\xac\x4b\xbf\x0f\x3e\xc4\xdc\x63\x50\xcf\x15\xfa\xca\xc5\x0d\xaf\x73\x50\x4b\x11\xfa\x0a\x7c\x9b\x11\x7b\xaf\xd4\x5e\x5e\x9c\x69\xc3\xaa\x62\x91\x51\xc6\x30\x2c\xf8\x8e\x07\x10\x0b\x0d\x93\xe3\xd0\x31\x08\x6c\x8d\xa1\x57\x03\xda\xe4\x6c\x67\x86\xaa\x09\xe2\xef\xc1\x2f\x03\xdd\x78\x8b\xc6\x27\x2e\x17\x0e\x50\x90\x71\xc6\x5c\x74\xae\x87\x25\x0d\x3e\xbf\x84\xeb\x20\x61\xeb\x46\x7e\x9a\x7d\x06\x7c\x25\x1f\x72\x30\xd8\x13\x0a\xce\x2a\x0a\x96\x43\xf8\xe6\x0b\xad\xd7\x1c\xd7\xca\x69\x90\xb3\xda\x41\x25\x2a\x19\x34\x84\x17\x04\x5e\xb7\x99\xbf\x7b\xf6\x9e\xae\xbf\xf9\xf4\xa9\xa9\x9a\x6c\x79\x7b\xfb\x74\xb2\xfe\xa6\x27\xee\x9e\x54\x89\x1b\x7b\xb1\x60\x5b\x34\x2a\xba\xcf\xb3\x32\x1f\xfa\x99\x95\xa4\x41\xb8\x6c\xb0\xb5\x86\x7e\xc1\x7d\x4f\x3d\x38\x87\xa0\x3f\xe5\xb4\x70\x57\x2e\xa7\x0f\xc3\xd7\x7b\x32\xc4\x3c\x61\x1c\xf1\x1a\xb9\x04\x7b\xc7\x6f\x70\x8e\xcb\x8c\x0b\x28\x7a\x59\xb2\x86\x1a\xe2\x3d\x8d\x1e\x3a\x87\x26\xa6\x09\x47\xe8\x9c\x05\x24\xa0\xec\x69\xc7\xb4\x72\x93\x07\x6e\x7a\x59\xe8\xe7\xb5\x4d\xcc\x72\x00\xd5\x6b\xc8\x11\x64\x3c\x1e\x8f\x9f\x88\xf3\xc9\xd6\x1e\x9c\xfc\x72\xe9\xa2\x66\x07\x2c\x3f\x86\xce\x2b\xb1\x7c\x11\x26\x3e\xf5\x92\x10\x93\x6a\x95\x94\x7b\x50\x9e\x07\x89\x87\x8b\xdf\x0e\x64\x4f\x27\x93\xb2\xba\x52\x57\x1a\x3d\x87\xfc\x32\xcb\x75\xc3\xe0\x68\x88\xf7\x0b\xc5\x99\x88\xd2\xd8\x58\x2c\xe1\xff\x2c\x6b\xad\xae\xc2\x4d\x00\x0a\x58\x17\xfb\xb1\xe3\x11\x38\xd0\x1b\xd5\x7d\xc7\xac\x01\xee\x73\xcf\x39\xe3\xa3\xc3\xe0\x60\x1f\x74\x7d\xa9\x97\x96\xdb\xa2\xdf\xf0\x18\x73\xeb\xdb\x15\xe0\x19\x7f\x5d\x94\x07\x75\xad\x66\x6a\x05\xbf\xf4\xbd\x5a\x73\xf0\x24\x4e\xc2\x4f\x0c\xb0\xde\x69\x65\xe1\xff\xc1\xbf\xd9\x69\xe7\xde\x9f\xec\xec\x3d\x8f\x34\xa3\x7b\xe4\xd6\x30\x53\xc7\xbd\x3d\xaa\xb7\x37\x54\xbd\xbd\x3d\x93\xd9\x7b\xfc\x7f\xe8\x1f\xeb\x82\xbf\xee\xbd\x7f\xb2\xe3\x18\x50\x5c\x55\x9f\x8b\x0f\x55\xb2\x30\x2a\x1d\xec\x90\xcf\x33\x23\x0c\x97\x33\xf5\xc9\x29\x14\x0f\x37\x8b\x45\xf1\x51\xcd\x54\xcf\x7d\xd0\xe3\x77\xcf\xdf\xbe\x7e\x7d\xf0\xe6\xe8\xc3\x8b\x97\xef\x0e\x9e\x1f\xbd\xfc\xe9\xe0\xc3\xbb\x83\xef\x0e\xfe\xfe\x83\x9a\xa9\xc9\xaf\xbf\x98\x47\xee\x88\xfb\x65\xfa\x8b\x79\xd4\x3f\xfe\xe5\xea\x97\xd1\xfb\xc7\x83\x5f\xcc\xe3\xfe\xf8\xd1\x60\x6f\xe2\xea\x79\xb5\x7f\x78\x98\xac\xa5\xef\x0a\xf5\x9f\x4d\x7f\x99\xf6\x8f\x7f\x7d\xf2\xfe\xf1\x60\xf0\xec\xc9\xb3\x81\x2b\xbd\xff\xea\xd5\x87\xb7\xef\x3e\xbc\x79\x7b\xf4\xfd\xcb\x37\xdf\x7d\xd8\x3f\x3a\x7a\x77\x68\x17\x2d\xbb\xd0\xaf\xb3\x75\xbf\x57\x9e\x1d\xd6\xf3\x21\xfc\xdf\xe8\x66\x68\xea\xb9\xfd\xcf\xe8\x06\x36\x25\xfc\xbc\x3b\xf8\xb7\x1f\x5f\xbe\x3b\xf8\xf0\xc3\xbb\x83\x6f\x5f\xfe\x5d\x8e\xa2\xff\x6c\xda\xff\xe5\xd7\x5f\x7e\x7d\x36\x78\xd6\xff\x05\xfe\x87\x7f\x0c\x9e\x4d\x40\x85\x39\x99\xa8\x77\x7a\x31\x55\xe7\x4d\xb3\x9e\x4e\x26\x39\x13\x95\x19\x5f\x9d\x67\xcd\xd5\xd9\xb8\xaa\xcf\x26\x57\xfa\x34\x5b\xaf\xb3\x75\x61\x40\x53\xf6\x85\xbe\xd4\x65\x33\xc2\x30\xfa\x7a\x54\xe4\xcb\x91\xb4\xdd\xb1\xd2\x06\x12\x92\xac\x1b\x17\xac\x91\x35\x14\xb5\x84\xc7\xc8\x65\x80\x70\x4f\x99\x30\x48\xe8\x3c\x2b\x30\xb4\x01\x2b\xeb\x55\x65\x0f\x4e\x90\x53\x4a\xa7\x86\xb0\x1d\x28\xf7\x1c\x94\x67\xcb\xc2\x9c\xab\xa5\x6e\x1a\x0d\xa1\x2d\x40\x10\x07\x3f\xd9\x85\xfd\x7e\xff\xcd\x8b\x57\x07\xef\x60\x4e\x83\x59\xa9\xca\xe3\x6c\xf4\x1f\xef\x1f\xdf\xc0\x8e\x45\x47\xc5\x3d\x9c\x11\x1f\x28\x96\xd5\x46\xbf\x44\x57\x80\xbf\x52\x62\x06\xe6\x59\x41\xee\x5c\xd6\x7d\xd9\x76\x5f\xbd\x7d\xbe\xff\x2a\x22\xa3\xfe\xf1\x5f\x1e\xbe\xbf\x99\xf5\x7f\x79\xf4\x6c\x30\xe8\xff\xf2\xec\xd9\xc0\x3e\xfc\xe5\xea\x91\xfd\x97\x5a\xc5\xd2\x2e\xff\x83\xa5\x60\x7a\xbe\xa8\xea\x83\x6c\x7e\xde\xe2\x96\x3e\x09\x0b\xb1\x4a\xd9\x15\xca\x0e\x0c\x1a\xfc\x99\xc8\xd7\x32\x86\x47\x7d\xd9\x4b\xaf\xca\x2e\x16\xaa\xff\x60\x85\x59\x74\xbc\x0e\x15\xb3\x07\x85\x3c\xa5\xdf\x2b\xcc\x7c\xdd\x0b\x95\xf6\xbb\x2f\xcb\xcb\x6c\x59\xe4\x51\x4e\x0b\x91\x2c\x06\x62\xdd\x9c\x01\xa4\xf7\xe9\xcb\xdb\xde\x78\x57\x3d\x0e\x6b\x11\xe9\x74\xa7\xea\xd3\x78\x3c\x56\x9f\xbe\xba\x9d\xaa\xde\xa7\xaf\x6f\x7b\xf6\xc0\xb9\xdd\x0d\x9b\x0d\x96\x42\x4c\xc5\x50\xb4\xec\x15\xcc\x3c\x56\x9e\xe9\x63\xf7\xfd\x7b\xcc\x5d\x4c\x3f\xab\x2a\xd7\x53\x9c\xc0\xe3\xaf\xde\x1f\x7f\xf9\xde\x37\xea\x43\x8b\xf8\x83\xaf\xdf\xab\xd9\x6c\xa6\x7a\x8f\xc4\x8c\xf0\xf5\x91\xbf\xf9\x17\xfa\xe6\x99\xf8\xc6\x52\x3f\x24\x58\xa3\x6f\xfe\x9f\xf7\xea\xe6\xc6\x8f\x80\xfb\x8c\x9d\xbf\xe5\x85\x22\xe3\x0a\x8f\xc0\xbe\x85\x61\x01\x43\x57\x9e\xa5\xaf\x74\x73\x5e\xe5\xfc\x28\xc5\xd2\xbf\x08\x0c\x66\x8f\xd4\x5f\x2e\x8a\x32\x0f\x2c\x50\x5c\x63\xc0\xf4\x15\x40\x89\xa2\x95\x92\x5c\xf4\xfd\xaa\xba\xf4\x17\xe2\xee\xee\xeb\x09\xf5\x99\x98\x2d\xf9\x16\x51\x8a\xed\x88\xdb\x11\xd3\x45\xa9\xe6\xd9\x4a\x2f\x47\x00\x55\x88\x80\x4d\x4f\xe7\x55\xae\xbf\x41\xbf\x94\xa7\x13\xf8\x83\xb3\xf0\x2a\x3c\xde\xe9\x22\xd7\xa0\xcb\x20\x7f\x0f\xfe\x27\x54\x60\x30\x0c\x10\x0c\x38\x3d\x8f\x0c\xee\x73\x4e\xdc\x70\xcb\xcc\x38\x39\x0a\x35\xe1\x33\xf7\x38\xe3\xbd\xfb\x88\x6c\x7b\x05\x5c\x0b\xe5\xb8\x39\xf8\xe3\x66\xbf\xae\xb3\xeb\x5b\xdf\xdc\xb7\x64\x0c\xdc\x2f\x65\xc6\x92\xb6\xb1\x50\x00\xb2\x68\xdf\x97\x74\x24\x12\xe2\xba\xad\xac\x70\x6e\x25\x13\xee\x8a\xd3\xe3\x09\x6f\x25\x26\x88\x5b\x75\xa8\x97\x0b\x36\xed\x41\x50\x1b\x16\x9b\xec\x90\x20\xea\xed\x9e\x6a\x26\x6f\x72\x48\x0d\xee\x88\xed\x97\xb8\x03\xa3\xf1\x31\x5f\xb1\xd7\xb5\xba\x79\x53\x35\xdf\x67\xe6\xed\x55\xf9\x03\xdd\x1a\xa9\x94\xcf\x4c\xce\xda\x72\xcb\x99\x0a\x83\x00\xce\xf0\xd1\xc0\x73\x28\xac\x6b\xbf\x3e\xeb\xc7\xad\xc9\x9a\xe8\x91\x57\xd8\x03\xb3\x0b\xc4\x86\xf1\x79\xbb\x33\x03\xc9\x09\x83\xaf\x8f\x4b\xe2\x19\xc7\xef\x85\x39\x89\xe4\x95\x31\xa7\x50\x07\xca\x7e\x4c\x42\x08\x58\xad\x70\x79\xab\x1a\x24\x22\x97\x71\xed\x7b\x3c\x4b\x03\x8e\xea\xed\x5a\x5c\x66\xa8\x5a\x25\x62\xcb\x68\x90\x9d\xdd\x44\xdd\x93\xc7\x49\x62\x30\xf2\x70\x69\x4d\x25\xd8\xfd\xdb\x76\xd8\xa6\xbe\x4e\xd8\x66\x83\x5e\xd8\x3b\x00\x8f\x60\x5c\x94\x97\xd5\x85\x6e\xd5\xdf\xb2\x1c\xf2\x9a\x7f\xdb\xea\xd1\x20\x69\xaf\x0e\x9a\xfb\xc4\xcc\x67\x8a\x1b\xf3\x5b\x59\x5c\x5a\x1e\xf9\xe7\x56\xe9\xa5\xd1\x48\x13\x52\xaf\x81\x56\x85\x87\x0f\x85\xb2\x03\xf1\x4c\xb6\xf6\xc0\x15\x9c\xb5\x9b\xc7\xf2\x89\x1e\xb4\x9e\xf8\x22\x4e\xa1\x3f\x4b\x3d\xbc\xb9\x51\x5f\xb6\xeb\xf3\x1f\xc2\xc2\xa9\x19\x2e\xe0\xb6\x0f\xc9\x4a\x1a\x3d\xb8\xb9\x01\x56\xb7\xad\x20\xc1\x3d\x06\x65\xf9\xd9\xcd\x8d\xea\x27\x35\x45\xc1\xa4\xc2\x56\xdb\xde\x04\x02\xec\x47\x6d\xd0\xc3\x9b\x1b\xd5\x3b\xd8\xef\x75\xd1\x10\x1e\x33\xa2\x1b\x78\xb3\xbc\x6b\x15\xf7\xf6\x8a\x50\xf8\x53\xb3\xb4\x4c\x18\x55\x3c\xbc\x7b\x60\x5b\x56\xdb\x8c\xd7\x1b\x73\x2e\xe8\xb5\x65\x53\x57\x73\x38\xd8\xfa\x49\xaf\x88\x16\x83\xe8\xdf\x65\x95\xbf\x8d\xde\x93\x78\x21\xf4\xc2\xd2\x6a\xff\x5e\x88\x52\xf8\x6f\x82\x91\x44\x43\x08\xf7\x38\xed\x35\xee\x3a\xf3\x23\x64\xfd\x94\x2d\xfd\x07\x7b\x5c\x9a\x7e\xeb\x58\x19\x70\x1d\x52\x10\xb2\xc7\x12\x08\x41\x4f\x76\x7e\xa7\x18\x94\x7d\x5f\xeb\xc5\x21\xde\x2f\xe1\xfa\xfe\xf3\x79\xd1\xe8\x65\x61\x9a\xdf\x21\x17\x35\x75\xa1\x2f\x11\x19\x8c\x13\x5b\x91\xa7\x28\xa5\x6d\xaf\x35\x5e\xef\x65\x52\x41\xf2\xba\x77\x69\xf0\xae\xb8\x03\x9c\x77\x22\x5b\xd0\x71\xbf\xa9\x97\x86\x75\xe8\xd9\xf1\x79\xad\x17\xef\x95\x11\x5d\x97\xe2\x16\x00\xc4\x88\x77\x14\xa5\xa9\xe7\x1b\xe0\x1c\x2b\x9d\x19\x7b\x1d\xcb\x8a\x15\x62\x4b\xae\x6b\xb8\x95\xd9\xaa\xff\x7e\x78\x88\x66\xa7\x0b\x03\x1a\x10\xf0\x90\xb0\xbc\xcb\xc8\x06\xf6\xcb\x6b\xdb\x21\x0e\x83\x00\x1d\x9a\x74\x41\xe5\x0e\xda\x1a\xc0\x29\x98\xf3\xe0\x16\x06\x13\xef\x07\x7e\xbe\x56\x96\xda\xd4\x25\x19\x80\xb0\x85\xac\x54\xd9\xa9\xa9\x96\xf6\x8a\x08\xb0\xc8\xa0\x99\xbd\xca\xea\xdc\xa0\x9a\xce\x36\x0f\x81\xd2\xcd\xfc\xdc\x56\x72\x96\x15\x25\x81\x88\x9e\x74\xaf\xeb\x09\xd6\xde\x5e\x0a\x4c\x6b\x44\xb2\x63\x61\x38\xdd\x50\xa0\xb2\xa3\x26\xaf\xea\xa2\x81\xe4\x92\x6c\xad\xca\xab\xd5\x58\xbd\x6d\xce\x75\x7d\x55\x18\x3d\xc4\x26\xc0\x0a\x27\x46\x40\xc1\x15\x3e\xc7\x90\x3a\xe9\x6d\x4a\xbb\xbe\xd3\xde\x09\x5b\xef\x21\x71\xbd\xbd\xdd\x52\xda\x4c\x30\x4e\xc4\xcd\xbd\x78\xfb\x3a\x25\x5b\xbf\xd3\x67\x07\x1f\xd7\xb3\x5b\x3b\x38\xfd\x71\xad\xde\x80\x1a\x13\x7e\x45\x6b\x03\xce\x00\x12\x12\x99\xc0\x42\xc1\x10\x6b\xb8\x49\xca\x87\x9c\x9a\x0e\xbf\xb1\x0c\x96\x8c\x86\xb6\x26\x4b\x04\x94\x54\xb7\x56\x86\x24\x49\x27\xa5\xb2\x44\x89\xca\x58\x3b\x45\x5e\xb6\x04\xd1\xb2\x7b\xb9\x84\xac\xd9\xc7\xb1\x30\xef\x43\x0e\xff\x02\x7d\x63\xf9\x9d\x67\x8c\x49\xb5\xd1\x96\x86\xb8\x06\x66\x72\x11\x8b\x69\x71\x2f\x7a\xff\xd9\xcd\x08\x3e\xf6\xfb\xd9\x56\xb1\x3a\x3b\xac\xe7\xff\x0d\xf9\x56\xb1\x3a\x3b\x36\xf5\xfc\x4f\x67\x5c\x7f\x12\xd7\x72\xdd\xfb\x2f\x62\x5b\x5b\xd6\xf5\x7f\xf8\xd6\xff\x85\x7c\x6b\xcb\x7a\xfd\xc9\x8c\x6b\x4b\x4b\x7f\x2a\xe7\xda\xd6\x4e\xc4\xba\xee\xc3\xb9\x12\x8a\x27\x7d\xba\x39\x7b\x59\x2e\xaa\x83\x32\x3b\x05\xb8\xa4\x16\x3d\x9c\x56\xd5\x52\x67\xe5\xec\x56\x69\xfc\x86\xcc\xae\xc4\x93\xc2\xf2\xe4\x19\x58\x2c\x84\xef\x85\x5b\x2e\x44\x7e\xf0\x90\x13\xd8\x0e\xbb\x8d\xa4\xab\x8a\x69\xeb\xd1\xad\x2b\x40\x81\x1a\x0b\x97\x45\xec\x0c\x54\xcf\x0a\x31\x57\x20\x81\x0e\x93\xcc\x40\x7e\x66\xe0\x33\x39\xd2\xfb\xb3\xe7\xe7\xe8\x3a\x64\x39\x06\xcc\x2e\x44\xaa\x40\x7f\x27\x79\x81\x70\xf9\x97\x59\x5d\x54\x1b\x83\xe3\x51\xf5\x86\x92\xa6\x94\x2d\x28\x27\x67\x67\xe2\x90\xda\x2c\xcf\xc1\x31\xc5\x36\xe4\x38\x9d\x4c\x65\x55\xe6\x00\x0e\x1a\xdb\xc8\x02\xbf\x1b\xb4\x1f\x4b\x20\x1f\xda\x9f\x2f\x17\xbc\x80\x11\x88\x49\x90\x24\xd5\xe3\x6b\x47\xb5\xe0\x19\xe3\x01\xb6\x02\xe8\x36\x83\x71\x7c\x0a\x51\xd9\x49\xc3\x57\x94\x67\x27\xea\xf9\xe1\x21\x7a\x19\xba\xb7\x7b\xee\x1d\x64\xfc\x76\x00\x96\xe4\x0d\x41\xe0\x34\x2e\x0d\x26\x18\xdb\x69\x32\x3c\x9b\x35\x62\x95\xfe\xbd\xda\x80\x0f\x0f\x07\xb9\xf3\x42\x50\x2a\x30\xdb\x42\xbe\x99\x3b\xc5\x77\xa6\xec\x09\x03\x18\xca\x65\xa3\xd6\xba\x86\x09\xb6\xf3\x79\x5a\x55\xa6\x11\x1a\xbd\x40\x9d\xe7\x6b\xf9\x02\x1b\x80\x7c\x0e\x76\x8d\x47\x30\x8e\x17\xfc\x50\xbd\x80\x85\x7f\x91\x35\x99\xd7\xfc\xc5\x87\x2a\x9f\xe5\x2e\xd8\xa8\xa9\x37\x82\x9d\x81\xde\x26\xde\x0f\x33\xf8\xe8\x09\x73\xbb\xc4\x7b\xc7\xe2\x68\xa1\xd3\x3c\x8e\x5f\x7a\x26\x97\xa8\x8a\x3e\xea\xe6\x62\xf2\xe6\x17\x97\x7f\xe2\x78\x12\xf4\x74\xef\x4c\x83\x15\x32\xb8\xde\x46\x1a\x38\x11\x66\xd4\xa1\x91\x53\x3d\x97\x88\xe6\x1d\x42\xf3\xc0\x33\xd0\x04\x44\x16\x90\xde\xde\x5c\xfa\xa8\xf7\xbc\x17\x22\xfc\xc5\x46\x6a\xf8\xc3\xcc\xf1\x61\x56\x16\x2b\x6e\x5c\xf2\x62\xaa\x3a\xa5\x04\x54\x4a\x76\x7b\x98\xba\xf5\xc3\xc3\xa8\xdb\xf0\x0c\xba\x1d\x05\x5b\xec\x49\xec\x55\x25\x22\x64\xe1\x2f\xee\xf5\x10\xdd\xe5\xf1\x21\xf5\x7a\x18\x9f\x54\x76\x6d\xa1\x72\x4b\x49\x22\xf0\x55\xd2\x88\x0c\x5b\xc1\xd7\x47\xd5\xf3\x6a\x7d\xed\xe9\xc2\xd2\x4d\xf7\x5b\xac\x1c\x94\xf2\x33\x85\xba\x9d\xb1\xfd\xab\x5d\xe4\x49\x50\xa2\x18\xaa\xe5\xd0\x96\x13\xb1\x1b\x76\x9f\xf4\x0b\x35\x53\x5f\x0e\xd5\x52\xcd\xa0\xd6\xf1\x52\x97\x67\xcd\xf9\x13\x55\xa8\xa7\x6a\xf9\x44\x15\x8f\x1f\x87\x9a\x96\x0b\x7d\x4d\x9f\x1e\x17\x81\x76\xd5\x52\xdd\xf1\x85\xbe\x7e\xaf\x66\xad\xd1\xc1\x73\x11\xf3\xc0\x5a\x94\xf0\x54\x66\xca\xb5\xa5\xc9\x08\xc8\xdf\xef\xc8\xf7\x7b\xde\x35\x86\x7e\xa3\xed\x41\x63\xf3\x53\x3f\xe6\xc0\x69\x2d\xec\x5b\x74\x64\xab\xf4\xb1\xad\x12\x97\x8e\x64\x3c\xf3\x17\x7b\x4e\x0e\x16\xe5\x5a\xa7\x9a\x62\x1e\xa4\x92\xa7\x1b\x3e\x7d\x5e\x95\x97\xba\x06\x14\xab\xc8\x2a\x4c\xbe\x68\x79\x66\xce\x27\xf3\x6a\x59\x95\x93\x4d\x99\xeb\xda\xcc\xab\x5a\x8f\x72\xbd\x2c\x56\x05\x44\xda\x83\x08\x3a\x74\x86\xb7\xe5\x75\x2c\xaf\x7e\x1c\x21\xfc\x38\x37\x89\x71\xca\x88\xdf\x52\x34\x46\x08\xf5\x43\x34\x3a\x3d\xcf\x0c\x80\x5c\xac\xc6\x89\x61\xec\x93\x23\x5c\x2d\x71\x0f\x30\xa3\x96\xa5\xaa\xd7\xd5\x7f\x50\xfb\x56\xa0\xa8\x1b\x76\x38\x55\x9b\xf5\x9a\x52\x3a\x91\xcd\x3a\x55\xf9\xb7\x90\xba\xbf\x06\x8f\x21\x79\x14\xcf\xcf\xf5\xfc\x42\x31\x86\x38\x9c\x10\xf6\xe4\xed\x80\xa2\x83\xdb\x40\x90\xff\xc7\xa8\xd7\xf4\x4c\xe2\x96\xa5\x16\x29\xb0\xd4\x49\x13\x5d\x53\xa9\xf6\xaa\x4f\x58\x6c\x75\xaf\xa6\xc2\x30\xcb\xcf\x86\x3b\x3b\x7f\x36\x01\x66\x79\xfe\x9c\x8f\xf9\x3f\x44\x7f\xfb\x79\x8e\xd7\x5d\x27\x39\xd0\x21\xe9\x41\x10\x29\x2b\x28\xbc\xfc\x29\x5b\x8a\x60\x7d\x12\x47\x5c\xa2\x67\x48\x8d\x5d\x50\xfa\x05\xdf\x46\x56\x6b\x27\xcc\x72\x42\x6a\xf7\x9d\x73\xb8\x6d\xea\xe2\xec\x4c\xcb\xf4\x49\xd8\x1d\x2b\xa6\xb9\x8b\xf2\x1d\xcb\xe5\xfa\x78\xc4\xc5\x61\xed\x28\xc8\xd5\xc1\xb0\xd9\x8b\x6f\x2e\xd2\x08\xb9\x6c\x7d\xf1\xb2\xf2\x34\x4f\xa5\xb7\x16\x36\x21\x79\xa3\x65\xdc\xae\xe9\x87\x0f\x5d\x37\x88\xa5\xaa\x6f\xd4\x97\x21\x2b\xe5\x83\x64\xcc\x0d\xf4\x43\xfe\x36\x74\x55\x0c\x12\xbc\x73\xf8\xa7\x93\x13\xc2\xdf\xfc\x39\x14\xf5\x0e\xea\xfa\xfd\x44\xe5\x3c\x0e\x05\x59\x09\x5a\x72\xf4\xf5\x07\xc9\x8a\x20\xe5\xfe\x5c\xaa\xe2\xa4\x70\xf1\x18\xda\x94\x25\x66\xfc\x9f\x46\x5c\xa2\x8d\xff\x62\xfa\xc2\x2b\xec\x9f\xc8\xb1\x3c\x8a\x94\x69\x05\x7c\x44\x44\x67\xa2\x5d\xae\x4e\x33\xc3\x28\xe5\x3e\x55\xcd\x5c\x1c\xe5\x0c\x51\xce\xe1\xac\xa0\xde\x59\xe6\xed\x8a\xfb\x9e\x9e\x01\x3a\xe9\xea\x39\xa5\xb4\xa3\x12\xf4\xe7\xe0\x3e\x44\x26\x4a\x1f\x89\x5b\xa6\x6b\xd3\x93\x5c\x77\x1d\xbe\x49\x0c\xf6\xae\xea\x95\xae\xb7\x56\xe1\xe8\x51\xac\x90\xa0\x47\xdf\xa9\xa1\x1c\x4f\x24\x93\x36\xd5\x7e\x0e\xf7\xa5\xea\x42\x97\x2f\xdc\x84\x76\x95\x7e\x12\x90\x36\x16\x7e\xf8\x10\x6b\x21\xa2\xfe\x5c\x6e\x09\x65\x03\x52\x8e\x3a\x88\x4c\x29\xd1\x47\xdf\xaf\xa1\x58\x82\x56\x1f\xa9\x3c\x74\x13\x7f\xdf\xde\xd3\x6d\x5b\x8f\x6b\xb8\xff\xd6\x3b\x04\x54\xc0\x32\x05\x61\x13\xa5\xbf\x02\xb4\xc7\xab\xec\x1a\x95\x1c\x18\x05\x11\xe0\xbf\xf8\x4a\x21\x9b\xa8\x03\x83\x71\x35\xc6\x88\x90\xa8\x30\x58\x5e\x53\xfa\x20\xa3\x48\x41\x15\x82\xd1\x74\x51\xa4\xbd\x33\x08\xe8\x9d\x0b\x7d\x3d\x56\xfd\x42\xab\xf2\xcc\xb1\x87\x41\x57\xe9\x1b\x6a\xe9\x96\x38\xed\x91\x43\x0b\x69\x2a\x65\x34\xca\x1b\x27\xe5\x66\xb9\x3c\x11\x13\xc2\xac\x18\x93\x22\xe7\x89\xbe\x79\x0d\xdb\x55\x5d\x34\xda\x76\xc4\xd6\x04\x99\x31\x87\x3e\x71\x0d\xbc\x14\x10\x25\xa1\x82\x46\x4c\x98\x6f\xc1\xfe\xc8\xfc\x9d\x4e\xcb\x90\x1a\xde\xec\xd6\x39\xc2\xa9\xb7\x1c\x74\x55\x56\xa5\x96\x0b\x6d\x99\x6b\x98\x13\xd4\x4e\x61\x7b\xfb\x1a\xdd\x88\x6d\x7b\xa1\xaf\x87\xd8\xeb\xa1\x1f\xe3\xd0\x35\x17\xa1\x4d\x1c\xbd\x7d\xf1\x76\xaa\x72\x3d\xb7\x52\x35\x67\x2a\x04\x2c\x22\xf2\xe7\xaf\xab\x2b\x00\x30\xae\xeb\xaa\xb6\xfb\x61\x17\xb8\xc9\xae\xa8\xa3\x30\x88\xd8\xc2\xc1\x52\x01\x05\x21\xc4\x65\x01\x19\xbd\x15\x22\xc9\x48\x76\xa3\xd0\x78\x40\x35\x9d\xea\x79\xb5\xd2\x6a\x53\x1a\xf0\x05\x1b\x87\x1b\xb9\xac\x72\xd8\xc4\xc1\x8e\x0a\xbc\x14\xed\x0f\x2d\xf0\xff\x81\xfb\xea\x99\x6e\xfe\x8a\x7f\xef\xd3\xf0\xfb\xb6\x16\xb8\x11\x0f\xc2\x72\xd9\xb2\xb0\x47\x83\x2b\xb7\x8f\x7f\xdf\x59\x8e\x00\x59\x6a\xbc\x1d\x87\xef\x6c\x99\x37\xe0\x48\x12\x70\x14\xdf\xc5\x90\x81\x84\x23\xb3\x97\xd8\xb5\x58\xcd\xc0\x65\xc1\x11\xcf\x4c\x0c\x58\xb0\x14\xef\xdb\xe3\xc7\xd5\x6e\xec\xd8\xbf\x7c\xcf\x8e\x3b\xb2\x15\x31\x36\xff\x65\x92\xd1\x4a\x2d\x00\x55\x23\xa9\x0c\xd1\x06\xed\xf9\x5c\x06\xfc\x00\xec\xe5\x88\x36\x74\xa1\xaf\x83\x49\x4a\xd1\xab\xd4\x14\x48\x9d\xc3\x9b\xc0\x59\xa7\xa5\x5e\x08\xa6\x2b\xaa\x41\x0e\x17\x5c\xa1\xd2\xed\x6e\x6b\x59\xcd\x94\x29\xb3\x0b\xfd\xc1\xde\x6f\x71\xc1\x7a\xa3\x5e\x08\xfc\x90\x9a\x33\xa6\x0e\x35\x73\xbf\x7e\x88\xce\x8b\x41\x44\x39\x7d\x5f\x66\x36\x53\xbd\xac\x67\x0f\x25\x50\xcd\xd8\x3f\xcf\x6b\xbd\xe8\x0d\xd4\xcd\x4d\xd0\xf1\xa8\x4c\xb1\x3a\x0b\x4b\x99\x7a\xde\x1b\xb4\x30\x5b\x58\xbf\xe5\xdc\x19\x00\xe1\xcf\x19\x09\x41\x04\xea\xd0\x02\x21\xc7\x9c\x85\x4a\xb2\x3e\x71\xa4\xb0\xd9\x24\xc5\xde\xdd\x5f\x88\x03\xe8\xec\x31\xf5\xd2\xe8\x26\xd1\x51\xcb\x48\x28\xc7\xf8\x4c\xed\xee\x06\x90\x26\x93\x09\x59\x3a\x51\xe3\x80\x91\x73\x14\x6d\x66\xd6\xd9\xdc\x9e\x7f\x84\x86\x05\x80\x5a\x14\x35\x8e\x58\x6a\xeb\xac\x69\x74\x5d\x46\x4d\x35\x75\xb1\x5a\xe9\x1c\xc3\x18\x40\xab\x5c\xac\xfa\xed\xed\x3c\x99\xa8\xe8\xa7\xaf\x94\xfa\xd7\x7f\xfd\xd7\x8f\x4a\xa9\xe1\x0d\xfe\x7e\xc5\xbf\x0f\x6f\x86\x4a\xa9\x41\xd4\x94\xa9\xe7\x3f\x60\x1f\x20\x08\xe3\x17\xf3\xf8\x97\xfc\xf1\xc7\x5f\xcc\xa3\xe1\x0d\xfe\x7e\xc5\xbf\x0f\x6f\x86\xbf\x98\xc7\x83\xc9\x93\xa8\x86\xb5\x2f\xfe\x8b\x99\x8c\x1b\x6d\x9a\x7e\x30\x80\x81\x7a\x26\x9b\x99\xaa\x49\x7f\x38\x98\xc4\x73\x68\xd6\xcb\xa2\x51\xb8\x02\x64\x01\xdd\xac\x31\x3d\xec\xa6\x2e\x80\x90\x58\xb6\x07\xb4\xc9\xb9\x5e\x37\xee\x7e\xb6\xcc\x4c\xa3\x8a\x46\xaf\xe2\x35\xcb\xae\x7e\xac\x0b\x43\x53\xe8\x7a\x34\x86\xc6\xfa\xd4\xf3\x41\x6b\x39\x6d\x03\x10\x3c\x65\x7b\x10\xd3\x41\x79\x5a\xdb\x3a\x7f\x2e\x9a\xf3\xaf\xd7\x59\xdd\xd8\xda\x5f\x67\xcd\xf9\x78\xb1\xac\xaa\xba\x4f\x4d\xf2\x55\x6b\xa2\xbe\x0e\xd6\x0c\xd4\xa8\xa0\x63\x55\x33\xf5\x25\x6a\x4e\x5b\x35\x26\x34\xa9\xa4\x98\x2d\x4b\x5d\xbf\xcc\xc1\x49\x51\x3d\x52\x5f\x87\xfe\x68\x92\x9c\xd1\x72\x5e\x04\xef\x89\x82\x1f\xc7\x9b\x0c\xc8\x8b\xfa\x7d\xcc\x4d\xbc\x1f\x0c\x41\x18\x19\xb4\xda\x60\x43\x94\x5f\x8e\x8e\x56\xfa\xbb\x6a\x57\x3d\x56\xc9\xea\xd5\x63\xf5\xd5\xfb\x41\xc4\xee\x52\x14\x11\x2c\x2f\x12\x46\x9b\x1e\xa2\x25\xb2\xdf\x1f\x01\xf5\xcc\xa2\xd6\xed\xa4\xbd\x1f\xd0\xfa\x5b\x7a\x6d\x2d\x7e\x30\x83\xd0\x70\x38\x8d\x5b\x27\xd1\x35\x7c\xfc\xa5\x98\xbf\xb0\x01\xb0\x11\xd2\x14\x42\xfd\x82\xac\x8b\x85\xca\xca\xeb\xe8\x70\x71\x95\x32\x4d\x59\x86\xf6\x75\x4c\x1e\xe9\x69\xf7\x1d\x6a\xcf\xb6\xff\x3d\xc5\x87\xb1\xbe\xe4\xb1\x6d\x3b\xe5\xe5\xe0\x07\xb3\x19\x0a\xc2\x61\x8f\xec\x47\x54\xd7\x6c\xa6\xac\xc8\xad\x6e\x6e\x94\x7f\xe2\x60\xfa\xd2\x47\xe6\x5e\x88\xb9\x6c\x5b\xf2\x87\x7b\x30\x8e\xf6\xb9\xdd\xaa\x23\x93\xa5\x53\x82\x51\xf2\xa4\x45\xc6\xae\x9d\x3c\x63\x02\xb9\x72\x6f\xcf\x3d\xf7\xe2\xa5\x7b\x24\x1c\xdd\xc5\x77\x0f\x1f\x3a\x27\x4e\xf1\xf8\x98\x7f\x93\x6e\xe5\x8b\x32\x12\x61\x5a\xde\xe3\x8b\x32\x71\x24\x74\xbb\xbc\xde\xe5\xee\x2a\xa6\xc0\x3b\xae\xfe\x13\xd4\xd0\x34\xd8\x3f\xac\xd3\x41\x58\x4d\x50\x9c\x74\x20\x20\xa6\x54\x28\xf6\x42\xe8\xe4\xd3\x10\x90\xe4\x54\x2b\x74\xb9\xcf\x55\x65\x6f\x1f\x02\xba\xb2\xd4\x1f\x1b\x75\x42\xd1\xea\x27\x12\xa1\x82\xeb\x95\x18\x0d\x61\x23\x08\xbd\x51\xba\xba\xaf\xce\x75\xa9\x2f\x29\x42\xbf\x0d\x1c\x2a\xaa\x44\x50\xb6\xfb\x28\x82\xee\x73\x65\x56\x89\x5b\xa5\xa3\x36\xd9\x8f\x9f\x80\xa8\x6e\xd5\xc2\x67\x60\x09\x35\x96\xec\x0e\x44\x03\x09\xa8\x4c\x11\xf2\x42\x7b\x60\x2d\xb4\xd8\xf6\x00\xb9\x82\x3b\xd2\x06\x35\xfa\x63\x33\xca\xca\xdc\x87\x52\x8e\x5c\x34\xa0\x30\xd5\x90\xcd\xa7\x1d\xd9\xa3\x22\x87\x15\x8f\xcc\x75\xab\xde\x39\xac\xef\x5c\xcb\x6c\xcd\x9e\x56\x16\x9c\x72\x9a\x57\x38\x71\xb5\xa6\x57\xf1\xf5\x3a\xdc\xd3\x96\x89\x00\xd4\x1f\xb1\x8f\xf0\x12\x18\xb2\x17\xc2\x04\x94\x0f\x6f\x6e\x52\x4f\x67\x84\x41\xf0\x3a\x5b\xf7\x07\x83\xe8\xd2\xe9\x93\x7a\xce\x54\xc0\x80\x80\xf5\xdb\x0a\x5b\x0f\x67\xea\x18\xce\x8d\x9d\x56\x1d\xe8\xb9\xbe\x28\x05\x13\x11\x50\x42\x80\x64\xb8\x6f\xae\xcb\x79\x3f\x05\x7c\xc6\xd7\x26\x5f\xdb\x1e\x1a\xea\x2d\x8b\xc4\x51\x45\x21\x46\xf6\x0a\x1d\xb3\xb4\xc9\x44\x95\x15\x24\x28\x13\x48\xa0\x9e\xbe\x42\x20\x5c\x91\x8b\xa6\x52\x4b\xdd\x18\x44\xa1\x28\x7c\xfe\x80\x98\xbb\x42\x3f\x60\x1a\xb6\x30\x4a\xf7\x47\x0c\x3d\x19\x76\x16\x9c\x65\x50\x87\xd7\x77\x83\x06\x8a\x10\x27\x6c\x18\x2f\x40\xde\xae\x22\xcc\xd6\x64\x0b\xbd\xcf\xfa\xcc\x48\x2f\x1f\x5e\x3e\xc3\xd3\xc2\x9f\x83\x5c\xd8\x17\x71\x6d\x26\x0f\x8e\xc9\x44\x15\x67\x65\x55\xeb\xa1\x50\xc9\xe8\x8c\x12\xa5\xab\x2b\xc2\xd4\xa8\xaf\xc9\x1d\xc9\xca\xee\xa8\xee\x16\xb0\x9c\x93\x89\x44\x47\xe1\x9c\x2f\xf8\x19\x9c\x18\x98\xbf\x3d\x1f\x51\xd6\x7d\x39\x07\x3b\xde\x47\x02\x6c\xc3\x87\xd7\xab\xd3\x6a\x89\x71\x52\x8e\xc3\x8c\xc5\xab\xbe\xa0\x79\x5d\xe6\xe9\xef\xdd\x0b\xf9\x75\xae\x9d\x96\xe1\x88\x91\x26\x66\xaa\x1f\x34\x3b\x53\xbd\x4f\x9f\x7a\x76\xab\xf8\xba\xe1\xe9\xed\x6d\x6f\x10\xd0\xcf\x33\x55\xe4\xba\x6c\x8a\x26\x24\x2b\xcf\x12\x52\xed\x39\xe0\x87\x76\xbc\x0a\xbb\xf7\x30\xda\x4b\xad\x01\xb2\xa1\x3f\xf9\xe5\xd3\x2f\x9f\x26\x67\x43\x39\x3d\x03\xff\xf6\xf6\xd6\xbe\x73\x9d\x95\xd4\xe6\x47\x4e\xa1\xf4\x1f\xfe\xfa\xf2\xcd\x8b\x97\x6f\xbe\x83\x60\x6c\x3c\x3a\x8e\xf7\x47\xff\xdf\x7b\xbe\xaa\xf1\xb9\xbe\xb7\x97\xe5\x39\x85\xf4\xbc\x2c\x17\x15\x84\x4d\x47\xee\x49\xcf\xfc\x38\xe3\xcf\x05\xe5\x12\xdb\x0e\x43\xb1\x45\x64\xb7\x23\xdc\x3c\x6b\xb2\x7e\x8f\xfd\xd2\x40\x5b\x01\xe1\x7a\x54\x0c\xbd\xa7\x20\x52\xb4\xcf\x75\xca\x29\x14\x55\xf2\xaf\xe3\x79\x55\xce\xb3\xc6\x7d\xee\xf7\x41\x24\x4e\xba\x02\xc0\xef\x5a\x9f\x73\x17\xba\xba\xea\x06\x69\x5c\x50\xcf\x54\x95\x55\xb5\xde\x32\xa9\xa8\xe3\xbc\xff\xac\x86\x0c\xc1\x0f\xbc\x83\x5f\xf4\xbc\xf7\x5f\xef\x1e\x9d\x02\x86\x7e\xdf\x75\x76\x1f\x8b\xf6\x38\x91\x35\x25\x7a\x18\xaa\xb2\x3a\x6a\xd1\x39\xf8\xd3\x65\x4d\x46\xaa\x2d\x97\x15\xe2\x99\xea\xfb\xcf\xd5\x33\xd5\xe3\x50\x33\x68\xe9\x8d\x7b\xd5\x53\xd3\xe8\x5d\x6f\x00\x8f\x10\xfb\xf4\x49\x72\x99\xb8\x41\x46\x50\xb9\xe7\x64\xdc\x7b\x7d\xfc\xd7\x62\x3a\x78\x68\x77\xae\x93\x98\x03\xbb\x64\xf4\xe7\x08\x07\xa4\x20\x8f\x00\xfd\x91\xee\x38\xb1\x0c\xea\x3f\x3d\x9c\x4c\x66\x77\xfc\x44\x87\x0e\x63\xd2\xb0\x58\x0f\x00\xba\x61\xe2\xf1\xa1\xc4\x5e\x1c\xd2\x89\xe1\x24\xb1\x18\xaf\xd8\xff\xac\x6b\x7d\x59\x54\x1b\x43\x58\x26\x90\x70\xe8\x63\x13\x3a\xb7\x3d\x08\x1b\x76\x80\x64\xd5\x82\x52\xa9\x0d\xa2\xf3\xea\xb7\x7f\x6c\x74\x7d\xad\x32\xcc\xbe\x55\x6b\x48\x25\x49\x87\x0e\xe4\x32\x77\x79\x69\xd6\xb5\xf6\x18\xfb\xce\xf5\xdf\xe8\x25\x38\x0f\x32\x46\xb0\x2d\x31\xcf\x82\xd3\x6c\x55\xe5\xc5\xe2\x5a\x15\x8d\x47\x1f\x0e\x3b\x39\xa3\xbe\x85\x7d\x6f\xc5\x03\x4e\x26\xea\x67\xa8\x1c\x74\x82\x0e\x11\xb9\x5a\xab\xa5\xbe\xd4\x4b\xc0\x53\xf5\xde\xbd\x94\x18\xd7\x3e\x2b\xa1\x15\x4a\x33\xb1\xd2\xf5\x19\x05\x57\x5c\xa1\x2d\xcb\x57\x6f\xeb\x3d\xd5\x8a\x41\xd8\x08\x13\x88\xd0\x26\xb2\x26\x23\x3b\xf7\x0a\x84\x22\x2a\xad\xec\x8c\x21\x36\x55\x51\xaa\xa7\x66\x9d\x95\x0c\xa2\xeb\x2e\xaf\x21\x2d\x78\xdb\x2f\x58\x3b\x5a\xf1\xcf\xac\x9e\x1d\xdb\xff\x1d\x81\x7f\xdd\x4c\xbd\x79\xfb\xe2\xe0\xc3\xd1\xbf\xff\x70\xf0\xe1\xe8\xe0\xef\x47\x56\xee\x73\x9f\xc0\x0d\x84\xf0\x37\x26\xbf\x1c\x3e\x9e\x0c\xd4\xe4\x91\x2a\xab\x72\xa4\x57\xeb\xe6\x5a\x3d\x9a\xa8\xc8\x86\x2a\xfb\x73\x0c\xed\xbf\xf7\x8b\x60\xab\x1c\x8c\xed\xa8\xfa\x3d\x1c\xce\xd3\x09\xfc\xd3\x1b\x8c\x11\x5c\xae\x3f\x38\xfe\x32\xe5\x71\xe8\x56\x0c\xd0\x9a\x00\x4f\xa5\x68\x20\xb7\xf4\xb7\xa5\x9a\x45\x74\x2d\xfb\xb0\x7d\xb7\x84\x2f\x3b\xb7\x07\x24\x78\xdf\xb2\xaf\xba\xf6\x0f\x77\xba\x83\x71\x75\x10\x25\xa8\x36\xb3\x95\x06\x95\xb5\x42\x8d\x4d\xe4\x5b\xec\x0d\xbc\x9b\xd3\x65\x31\xc7\x79\x08\xb0\x4d\x9f\x63\x42\x5f\x3b\x48\x42\x79\x94\x0b\xe5\xf1\x07\xa8\x4c\xcf\xb1\x2f\xf7\x0d\x15\x53\x33\xf7\xdb\xcd\x8d\x70\xee\x64\x95\x73\x12\xd8\xd1\x17\x1a\x77\x7c\x31\x0c\x34\x2a\x09\xf8\x44\x51\x45\xf2\x7d\x88\x3a\xd0\xc2\x2e\x14\xc5\x13\x6f\x43\xeb\x16\x64\x9f\xea\xc6\xa8\x2c\x0c\x61\xf5\x0d\x39\x31\x94\x2c\x2c\xb2\x8d\x9a\xa8\xb0\x00\x49\xed\x53\xfa\x5e\x26\x94\xe5\x35\xd5\x29\xab\xca\x4c\x08\x19\x2c\xc1\x1a\x29\x86\x1f\x99\x03\x26\xc4\x2c\x81\x3d\x20\x42\xfb\x99\x6e\x82\xab\x42\x63\xd4\xc9\x69\x6b\x28\x01\x1f\xe8\x5a\xba\x87\x0f\xbb\x56\x75\xbc\xb7\x17\xd5\x19\x6e\xfe\x6e\x62\xb8\x77\x85\x9d\x5a\xce\x07\x6e\x47\x84\x6d\xca\x8d\x92\xeb\x46\xcf\x9b\x37\xfc\xe4\xdb\xaa\x7e\x7e\x5e\x2c\x19\x01\xcd\xf4\x53\xf9\xe7\xdb\xbc\x86\x94\x8a\x76\xbe\xed\xbe\x0c\x9d\x49\x7c\x73\x0f\xc0\x62\xd7\xac\x96\x6d\x4b\x16\xd0\xd3\x26\xce\xef\x80\x9e\xb4\x74\x1f\x98\x36\xf5\x46\x63\x18\x9e\xcf\xd3\x1e\xe0\x42\x03\x4f\x08\xeb\xed\x43\x44\x46\x90\xf5\x9d\x73\x37\xa2\x4a\x67\x35\x08\x0b\x60\xbe\x2e\xd4\xee\xf0\xc1\xc2\x67\x6e\xad\x05\x46\xa2\x1f\x56\x96\x67\xeb\x06\x52\xfa\x75\xf5\x82\x13\xe8\x25\x51\x55\xc7\xe1\xb7\x80\x89\x8d\x3e\x29\x18\x39\xb3\xb4\xd7\xcb\x6b\x01\xd9\x08\x07\xe8\x78\x2c\xcb\xb9\xa9\xf7\x07\x47\xc0\x99\x2d\xd9\xbb\x7b\x9a\xeb\xf9\x90\xbf\xed\x3d\xcd\x8b\x4b\x7b\xa2\x50\xea\xc8\x90\xc9\x62\x3e\x84\x81\x9c\xa8\xb4\x15\x33\xe4\xa2\xad\x35\x2e\x56\xeb\xaa\x6e\xb2\xb2\x79\xf0\x60\xea\xb6\x24\x4c\x4b\xb5\xa9\xa9\x2b\x63\xa8\xa3\x3f\xf0\x99\xf4\xd5\x6f\x90\x6d\x56\x51\x6a\x53\x7f\x5d\x3f\xd5\xca\xac\xb2\xba\x09\x1b\xc1\x4c\x3b\x2b\xdd\x14\x2b\x6d\x7c\xa2\x99\x73\xad\x4c\x53\x6f\xe6\x80\x4b\xe6\xb3\xbb\x77\xcd\xe1\xdf\xfe\xcd\x76\xe6\x07\x76\xa9\xc7\x5e\x8d\x6d\x5f\x3b\x0e\xa0\xa4\x2a\x5f\xd6\x18\x14\xeb\xdc\xb2\x49\xb6\x1d\x4e\xa4\xb3\xc1\x79\x26\xfa\x06\x13\x5b\xa5\x0f\x85\x96\x2a\x9d\x3b\xc5\x97\xbd\x9e\x7a\x1c\xd7\xf5\x58\xf5\x82\x2c\x0c\xc9\x8a\x8f\xc3\x42\xef\xc7\x2c\xdd\xde\x6d\x9c\x48\x5f\xd1\xfa\xae\x6b\xfe\x4a\x13\xcc\x4e\x4c\x5f\xe1\xdf\xa9\xe2\x41\xe9\x50\x04\x1a\xc4\x32\x11\x9f\xeb\xa2\x1a\xf1\x6b\x07\x3b\x16\x6d\x70\xa4\x65\xcc\x05\x19\xd7\x2b\xba\x9a\xdc\xc5\x79\xd7\x01\xcf\xf5\x21\x1d\xec\xbf\xf4\x3a\xa3\xdc\x7c\x54\x13\x98\x71\x5f\xbf\x52\x70\x4d\x58\x2e\x3d\x7f\x10\x7e\x44\x41\x9d\xfe\xd4\x3a\x70\x7e\x45\x01\x6a\x12\x88\x9e\x82\x7a\x68\x80\xc8\xc1\x3b\x55\x0e\xf4\x95\x77\xef\xc0\x6a\x80\xf7\x2f\xaa\x5a\x5b\x41\x10\x82\x79\x7a\x4e\x6c\x6e\x2a\x82\x7c\x1a\xb0\xdc\x7c\xf8\xd3\x77\x93\x81\xbd\x3a\x9a\xcb\x33\xb8\x2d\x86\x6d\xca\x09\x75\xb6\x9d\x47\x8c\xa1\x29\x01\xb1\x9b\xf9\xb9\x36\x68\x0f\x87\x39\x28\xb0\x67\xaf\x0a\xd3\x04\xc1\xd8\x02\x97\x45\xbd\x05\xc4\xda\x84\x17\xe1\x23\x0a\xf0\x5b\x67\x75\x53\xcc\x21\x32\x1b\x2a\xcd\x6a\xcd\x68\x71\xe8\x9a\x5d\xd4\x2a\x4e\x55\x40\xee\xdb\x1f\xf5\x7c\xd3\xe8\x1c\xcd\x2c\xf4\x8d\xab\xdc\x7d\x4a\x73\x48\x5e\xb7\xa3\x24\x8c\xaf\x7d\x8e\x0d\xaf\x4e\x0b\x8e\x4a\xb7\x67\x1d\x53\x35\x97\x88\xab\x17\xe9\xb8\xc1\xa4\xd1\x06\x08\x66\xc7\x04\x58\x1c\x2a\xce\xb5\xb0\xf5\xe5\x0d\xcd\xe2\xad\x98\x4f\x11\x56\x89\x97\xbc\xaa\x56\xfc\x9d\xc8\x54\x11\x57\xf5\x3b\x72\x52\x7c\x5b\xaa\xfd\x56\xbf\x45\x42\x6e\x6e\x82\x7e\xf0\xce\x98\xd5\x67\x08\x1e\x6b\xe5\xd1\x4d\x53\x8d\xce\x74\xa9\x6b\x4c\x2e\xec\x73\x49\x07\x09\x4c\x65\xc6\x5e\x82\xf2\x96\x99\x7b\xfc\x18\x7c\xca\x8e\xd9\x2d\x9a\x12\x78\x97\xbd\x5c\xb8\xb9\x84\x79\xa0\x69\x87\x7c\x0c\xd4\x8a\xb0\xbf\xa9\xa6\x46\xfb\x51\x19\x0d\x81\xcb\x70\xb5\x70\x78\x9e\x52\xe2\x38\x7b\x4a\xc2\xf1\x29\x40\x0b\xc3\xca\xb1\x30\xf9\xba\x16\x26\xaa\x9c\x40\xc5\x59\x69\x90\xae\xaf\x68\xf4\xca\xdd\xdb\x49\x26\xa3\x90\xab\xab\x22\x3f\xd3\x8d\x69\xcd\x0a\x66\xb7\x98\x85\xe9\x2d\x5e\x67\x1f\x85\x84\xc7\xf8\x56\xbe\xac\x33\x6d\xb1\x01\xef\x56\xed\xb7\xa9\xda\x53\x6b\xb5\x80\xcd\x4a\xc3\x65\xa4\x05\x11\x0a\x55\xd5\x70\x1f\xe4\x16\x26\x49\x15\x11\xde\x7c\x79\x95\x5a\x97\x5e\x31\xf5\xbf\x57\x61\xa4\xee\xa1\x34\x02\xff\x0f\x38\x8d\x10\xd3\x4d\xd6\x46\x09\xfe\x64\xb2\x64\xec\xae\xfd\x7c\xa8\x7c\x82\x28\xfa\x9d\x5f\x60\x7d\xdf\x22\x50\x84\x2f\x01\x0f\xdc\x01\x9b\xf4\xec\xa1\xc9\xf0\x81\x92\xa1\x5f\x0f\xdb\xff\xec\xae\xf1\x46\xf2\xfe\x20\xbc\x29\xb2\xa0\xe7\x74\x5a\x0b\x0c\xa4\xe2\xda\x8f\x8b\xf7\x42\xd8\x0b\x94\x43\x8e\xc8\x20\x10\xb0\xd4\x59\x73\xae\x36\xde\xe4\x1a\x02\xe0\x11\xa5\x7a\x1b\x6a\x5f\xb4\x80\xe9\xe8\x68\x06\x0b\x70\xe1\xf8\x52\x3d\x0b\xc8\x72\xea\x9d\x3a\xb6\xaf\xa1\xfc\x89\x16\x5f\x0e\xdd\xcf\xb4\x9a\x09\x6c\x34\xf6\xad\x8a\x0d\x2e\x90\xef\xc5\x77\xfe\xa8\xb2\x4b\xd9\x6f\x2f\x36\x0d\x87\x86\xb2\x85\x4a\xef\x39\x06\xbb\x33\x70\x76\xec\x7f\x1d\xf4\x19\x59\x81\x50\xbb\xd2\xd2\x90\xd1\x68\xe9\x54\xc7\xbf\xc6\x89\xd4\x73\x5d\xaa\x1d\x36\x08\xeb\xc4\x3d\xd3\x8b\x8e\x9e\xb4\xed\xbc\x76\xb6\xdb\xe8\x7a\x05\x2a\xd1\xc8\x35\xd4\xff\x3c\xe8\x8b\x9c\x6a\x33\x39\xbd\x22\xd9\x5a\xcb\xb5\x54\x94\xf7\x5f\x75\xac\xa9\x9d\xa7\x68\xea\x02\x6e\x23\xb6\x6c\xbb\x0d\x31\xb2\x67\x2a\xce\xec\xa7\xd8\xc9\x95\x47\xeb\xe8\xe0\x6d\x69\x59\x3c\x9f\x12\x37\x37\xea\x41\x30\x29\x78\x05\x0c\x3e\x1a\xa4\xc7\x17\x4d\xa7\xd0\x5f\x4c\x03\xb2\x8b\x85\x74\xd1\xef\x9b\x1b\xb9\x5c\x21\x11\x10\x97\x43\xc3\x54\x91\x60\x65\x54\xe8\x49\xab\x0c\x30\x2e\x81\x56\xd0\x9e\x30\xfe\x22\x7e\x72\x73\x23\x1e\x25\xa9\x6b\x32\xe1\x4c\x51\xbc\x13\x30\x51\xff\x47\xca\x37\xcb\x92\x11\xfa\xcc\x8a\x20\x14\xcc\x24\x50\x83\x5b\xf7\x59\x5d\x6d\xd6\xae\xca\xf4\x96\x8a\x74\x94\xae\x0b\x93\x09\x0b\x7f\x09\xb9\xac\x58\x38\x24\x7b\x4c\xb8\x92\x95\xd7\xcd\x39\x44\x43\x83\x8b\x9a\x43\x42\x09\x35\x9f\x72\xda\x9e\xb5\x34\xc1\xd1\x76\x0e\xce\xc5\xc4\xed\xc8\x9f\x90\xe1\x99\xd8\x75\x3f\x8a\x7c\x46\x3a\x96\x19\xeb\xa5\x47\x24\xfe\x15\x43\x55\xd8\xff\xf2\x8f\xf4\xbc\x55\x79\xa8\x57\xc5\x00\x0a\x96\x37\x9f\xec\x74\x91\x25\x4c\x44\x4b\x39\x31\xaf\xd6\xd7\x5e\x48\x63\x49\xa8\x58\x40\x1c\x92\xa3\x68\x0e\xc1\xb3\xd7\x00\x0c\xcb\x13\xf1\x31\x78\x1b\x7b\xf1\xf6\x35\x59\x40\xaa\x4d\x1d\xb6\x51\x2d\x16\x06\x52\xd9\xbb\x14\x8d\x66\x5e\xeb\x2b\x80\xbc\x11\x5f\xfa\x79\x32\xcd\x2b\x72\x9a\x6c\x1d\xc6\xe2\xfb\x70\xe0\x7c\x20\x83\x3d\x39\xac\xa6\xe5\xcd\x49\xea\xac\x4c\x19\xc0\x8b\x20\xf1\xfd\xf4\x9a\x73\x4f\xae\xaf\xd9\x89\xcc\x19\x72\xf0\xee\x00\x34\x98\x11\x65\xc5\xca\x09\x21\x42\xf0\x2e\xf7\x12\xc4\xec\x5f\x62\x85\x44\x01\x1e\xc1\xf4\x65\x84\xb4\x10\x0f\xee\xb8\xc8\xc1\x38\x52\xca\xbf\x3b\xd4\x0d\x6d\x7d\x4c\x7b\xa2\x1c\xb1\x24\x78\x81\xc4\x8c\x28\x0a\xdf\xc5\x00\x37\xa2\x28\x9e\x44\xca\x55\xbc\x69\x47\xdd\x76\xa3\x7b\xfc\xf8\xfd\xfb\x34\xd3\x92\x73\xf0\xf8\x71\xf0\x51\x78\xe6\x85\x5f\x89\xcf\x42\x32\x6f\x4d\x73\xf0\x36\x75\x2e\xbb\xa6\x0e\x29\xed\x07\xe5\x75\x2d\xf5\x55\xbf\x05\x2e\xda\xa1\xc2\x91\x56\x2b\xb9\x9d\xa3\xf2\x49\xbf\xd7\x54\xeb\x51\xb1\x9d\x6d\x43\xea\x38\x04\x3b\x06\x99\xd2\xb9\xe3\x7e\x68\xbd\x49\x9d\xbe\x01\x3b\x8c\x9a\xef\xe4\x86\x29\xa1\x4c\xd4\x40\x9b\xec\xa8\x63\x1c\x51\x2e\x5a\x09\x66\x7c\xd7\x19\xbf\xc5\x42\xf1\x19\xd3\xd3\x51\xc3\x96\x7e\x6d\x31\x98\x34\xbf\xaf\x0f\x5d\x4b\x44\xeb\xd1\x25\x99\xdc\x45\x74\xa9\xa6\xe4\x01\x9d\xa4\x3f\x3f\xeb\xfd\xe0\x2c\x93\xa7\x18\x9e\x6b\xe1\x59\x99\x6e\x31\xec\xae\x54\xab\x77\xc9\x50\x01\x67\x90\x07\xf4\x58\x5e\x06\xfd\xb5\xe6\x1e\x4a\xcc\x50\x61\x2b\xff\x8d\xf5\x97\x9f\xb1\x10\xfe\x5e\xd1\xde\x11\x2a\x22\x7a\x53\x54\xa5\x43\x17\x22\x9f\xaa\xc4\xda\x38\x9d\x91\xd0\xd0\x48\xb5\x11\x2c\x83\xb0\x7c\xa6\xec\x9d\x43\x81\x09\x76\xc8\xec\x30\x10\x1a\x1e\xc4\xb5\xc7\x6e\xed\xe1\xdb\x90\x65\x52\x7c\x6d\xdc\xc6\x93\x2d\x15\x8c\xf7\xf6\xa4\xc6\x29\x96\x71\x6f\x5b\x0e\x9b\x72\x96\xb7\x4d\xc5\x3d\x4c\x8e\xd3\x2d\x8b\x94\xec\xb2\x30\x05\x4c\x83\xb9\x96\xf2\x40\x7b\xd6\xa7\xa9\x87\x7e\x88\x03\xa1\x36\x0f\xc5\xd8\x16\x19\x3c\xe9\x50\x03\xbf\xaa\xaa\x0b\x13\x26\x21\x31\x1c\x37\x8e\xa9\x53\x51\x6b\x8b\xa1\x2c\x26\xc8\x64\xe6\x15\x53\x42\xf3\xc5\xfa\x52\x6e\xc0\x54\xb5\x8f\xb4\x8e\x35\xa3\x50\x37\x18\x7d\xc0\xa5\x34\xab\xe7\xe7\xb1\x5e\x4c\x74\x6b\x9f\x75\xa6\x41\x86\x40\xf1\x01\xe4\xf4\x23\xec\x16\x52\xdf\x61\x81\xc2\x50\x3f\x28\x33\x5b\x42\x5f\x18\x67\xe0\x8b\xfb\x81\x0a\x1c\x00\x61\x3d\xcf\xd8\xfd\xd8\x70\xaa\x8c\x56\x12\xd7\x75\xb5\xde\x2c\x9d\xf9\x33\x11\x9c\xff\xa7\x28\x00\x5b\xea\xb9\x94\x5a\x27\x54\x83\x91\x32\x64\x9b\x5a\x2e\x54\xb1\x79\x57\x1e\x15\xb8\xf6\xb4\xd4\x6d\xaf\xb3\x35\x45\xbd\x52\x20\xac\xfc\x02\x54\x8d\xf2\x81\x73\x4c\x76\xa4\x6b\xae\x0a\xf0\x4b\xe6\x06\x24\xff\x00\x68\x28\xef\x48\x74\xf0\xea\xe0\xf5\xc1\x9b\xa3\xa9\x9a\x3c\x72\xc9\x9e\x9d\x53\xbe\x42\x79\x9d\x2f\xa7\x40\x63\x25\x64\x94\x79\xea\x26\xe2\x1b\xd9\xf9\x3c\xf7\x39\x3a\xc4\x54\x45\x47\x5f\x1b\xba\xa9\x1f\xd9\x6d\x06\x43\xd5\x3b\xe8\xdd\x31\xb7\xf1\xb5\xa2\x68\x40\xad\x0e\xf8\xc2\x61\xd8\x84\x89\xef\x0a\x1c\x47\x30\x54\x08\x0c\x5f\xa2\x47\x23\x3a\xf0\x8a\x80\xa7\xa1\x2a\xcc\x9b\x33\x0c\xeb\x87\xc0\x76\x56\xd9\x8c\x7d\xdd\x49\x95\xd7\x6f\x28\xc0\xff\x66\xff\xa5\x82\x0f\x1f\xd2\x6f\x4e\x92\xff\x4d\x3d\x55\xbf\xfd\xf6\x44\xfd\x96\x0e\x5c\xb4\x4d\x1c\x36\x59\xdd\x90\x7f\x27\x70\xf6\x27\xc9\xcf\x0e\xca\x3c\xfc\x28\xf8\x8a\xe0\xde\xb0\xf5\xe3\xdf\xa2\xab\x0e\x25\x66\xb0\x1f\x8d\xdb\xb9\x18\x38\xb4\x0d\x22\xe3\xe0\x1b\x0e\xa0\x0a\x3e\x9b\x4c\x94\xd9\xac\xd7\x55\xdd\xd0\x24\x8a\x98\x02\xf2\x9b\x0d\x1b\x75\x33\x2d\x73\x2e\x08\x7a\x68\x67\x36\x40\x87\x65\x5c\x0d\x35\x8b\x1d\xb0\x31\x86\xd6\x57\x9b\xc8\xbf\x40\x03\x05\xac\x07\x76\xf6\x0e\x52\x9a\x0d\x55\xaf\xd7\x56\x4b\x8d\xcd\xe6\xd4\x34\x75\xff\x7f\x0b\x17\xf1\x0f\xfd\xf1\x60\x72\x26\xbc\xf8\x70\x53\x12\xe4\x5a\x3a\xf5\x03\xab\x45\x10\x95\xad\xa9\x7e\x5c\xaf\x75\xfd\x3c\x33\xba\x7d\xcb\x69\xa7\x4d\x88\x44\xc0\x20\x03\xca\x1b\x0e\x6d\x77\x83\xf7\x1d\xed\x03\x01\xdd\x1c\x94\xf9\x60\x6f\x02\xe3\x6b\x4f\xaa\xab\xe8\xa5\x79\xbd\x59\x36\x05\xb1\x81\x7e\xd8\x40\x62\x42\xe1\x22\x24\x16\x72\x36\x8b\x3b\xf5\x58\xf5\xa0\x03\xbd\xd4\x94\xc4\xf4\x9d\x4e\x04\x12\x92\x37\x2c\x1e\x2d\xc8\x97\xb8\x7b\x39\xc2\x73\xa4\xfe\xd7\xc0\x36\xa8\xcb\x3c\x91\xab\xa3\xbc\x47\xf9\xff\xf7\xae\x5c\x16\x91\x1c\xbe\x9d\x7c\xc7\x4d\xf5\xaa\xba\xe2\x25\x8e\xaa\x66\x36\x7f\x5c\x72\x72\xb0\xf6\xe8\x03\x82\xbf\xb9\x51\x0f\x92\x41\x3e\x65\xc7\xe2\x50\x1b\xbe\x81\x16\xe6\x84\x6f\xa5\x13\xbc\xa3\xbb\xf2\x56\xf5\x20\x33\x5a\x3e\x00\x2e\xc2\xe5\x5c\x73\xd0\x4b\xed\x03\xf4\x3a\xe7\x35\xa8\x37\x07\x28\x90\x97\x3e\xf6\x44\xe4\x7d\x6a\x1d\xc2\xc4\xa6\x89\x81\xf3\x74\xc5\xb3\xdd\x71\x2e\x71\xb1\xde\xfe\x1d\x67\xcd\x30\x24\xd6\x6d\x56\x0e\x41\xaf\x5b\x23\xb5\xed\xa1\x4a\xc8\x7b\x46\x05\x99\xd2\xe8\xc7\x63\x49\xd1\x91\x23\xce\xf9\x70\xf9\x5c\xee\x2a\x11\xd5\xc4\x08\x66\x50\x01\x78\x41\xb4\xf6\xe0\xd5\x79\xb1\xd4\xaa\xcf\x69\xfc\xd2\x69\x26\xc7\xfa\xa3\x9e\x8b\x8a\x13\x6c\xb5\x7b\x1b\x70\xfe\xba\xd6\xbe\x02\xd8\x91\xbb\x16\xe5\xf9\x5d\x02\xc0\x3d\x88\x1e\x8e\x2d\x4e\x91\x77\xc7\xf6\x0e\xa7\xdc\xfd\xce\xec\x02\x6a\xa1\x7c\x47\x8f\x29\xa5\xde\x97\xef\xd9\x06\x13\xb3\xeb\xf4\xef\xa7\xb5\xce\x2e\x9e\x74\xc9\x62\x47\x07\x7f\x47\x41\xec\x48\x7f\x6c\x50\x98\x0f\x44\xb1\x2c\xcf\xed\x9b\xe4\xce\x88\x4d\x76\xde\x29\x3c\xe8\xda\xf6\x0e\x50\xc6\x52\xe8\xc3\xf3\x6a\xd5\x16\x06\xdb\x11\xd5\x8e\x7a\x3a\x92\x9d\x22\xfd\x6c\xe9\x11\x12\x43\x2b\x2f\x24\xfe\xdc\x49\x5b\x5f\xfd\x4e\xda\x7a\xfd\xe7\xd2\x56\x82\xc4\xbb\x59\x5c\x77\xbc\xf9\x64\xa2\xd0\x09\x01\x21\x58\xb3\x06\x4d\xd0\xe0\x59\xa8\xe6\x45\x3d\xdf\xac\x28\xb5\xbc\x7a\x79\xf0\xaf\x08\x19\x65\x10\x30\x0a\x32\x0a\x96\xe0\xae\x98\x35\x8d\x5e\xad\x11\xc6\xaa\xd6\x59\x1e\x37\x31\xc7\x95\x05\x58\x95\x9c\x60\xb7\xc6\xf1\x47\x7f\xdb\x98\x86\x26\x45\x15\x0d\xdc\x5a\xed\x65\xbb\x28\x37\x7a\xac\xfa\xcf\xb3\xb2\xd7\x28\xa3\xf1\x06\x5b\x6b\x84\x11\x47\x6f\x40\x0d\xee\x95\x46\x8f\x07\xf7\xd9\x04\x8e\x2d\x0a\x53\xb5\xbd\x60\xf6\x4f\xaf\x79\x71\xe2\xa4\x03\x71\xee\xa8\xf6\x55\xfc\x3b\xb8\x6e\xa3\x09\x05\x5d\x45\x32\x51\x6c\x04\x61\x7f\x76\x54\x74\xcb\x33\xd2\x93\xc3\x14\x80\x77\x6e\x28\xfd\x7a\xd1\xa8\x45\x51\xe6\xee\x12\xee\x6b\xd1\x65\x1e\x5f\x3c\x6d\x7b\x89\xcb\x2e\x9c\x1b\x89\xe7\x07\x65\xee\x9e\x8a\x54\x00\xe9\x1b\x29\x98\xf7\x0e\xe7\x19\x47\x8c\xb8\x8a\x87\x5c\x57\xfb\xb2\x19\x66\xe8\x43\xf8\xf5\x35\xd8\x75\xbe\x94\x2e\x77\xae\x2a\xe7\x1a\x77\x9e\x19\xe7\x5a\x91\x7c\xe8\xcb\x04\x3b\x25\xaf\xda\xf1\xca\xb1\x3f\x9f\xea\xcc\xfa\xba\x69\x74\x9d\x17\x75\xaf\xeb\x78\xdd\xfd\xb1\x24\xfb\x7a\x80\x59\x30\x24\xb3\x24\x64\x7c\x85\x64\xe8\x65\xa5\x18\x9c\x58\xf5\x3e\x7d\x75\xdb\xc3\x2f\xc6\xbb\x5d\x35\x27\x26\xb3\x0b\xf7\xe3\x8e\xc0\x1c\xba\x4f\x77\x99\x41\xba\x27\x11\x56\xe6\xf1\xe3\x36\x6b\x4c\x17\xb3\x5d\xa4\x42\xa3\x51\x57\x5f\xd1\x65\x1b\x6c\xdd\xb0\x0a\xb1\x09\xc8\x29\x22\xf4\xc7\xe6\x10\xe9\x5e\x7a\x16\x93\x80\x80\x34\xf3\x8d\xfa\xb2\x3b\xe0\xb3\xab\xa1\xdb\x48\x99\x26\xec\x34\x2e\xb6\xb3\xb5\x7b\x7f\xae\x33\x00\xb1\xb6\x37\xf5\x96\x31\x1a\xd5\x43\x73\x86\xf3\x46\x7d\x50\xc2\x66\x8d\x5e\x89\xb0\x69\xb4\xdb\x65\xf1\x67\xf1\xfe\x95\x86\xc5\xdf\xbf\x83\x9d\x03\xd9\x96\x8d\xcc\xfe\xb6\xa8\x44\xa7\x11\xf7\x97\xa4\xc9\xdf\xb6\xb7\xe3\x98\x79\x52\x7c\x07\xb8\xf7\x26\xd2\x42\x77\x19\x3d\x3c\xcc\xbb\xe7\x2e\x02\xed\x6f\xfb\xb6\x08\xcc\xfc\x9f\xdf\x8d\xb4\x9f\xb2\x20\x83\xb7\xec\x9c\x25\xd4\x92\x3e\x51\x87\x73\x7c\x1d\xde\xdb\xf3\xd5\xa5\x37\xe1\x16\x20\x86\xde\xac\xab\xd2\xf2\x7c\x44\xbd\x28\xca\x25\x26\xeb\xf0\x9a\x42\xb6\x6c\x19\xf6\x71\xb6\xff\x32\x1f\x62\x43\x75\xb6\x5e\x2f\x8b\x79\xe6\xe1\x56\x1e\xb5\x92\x0d\x1b\x82\x39\x53\xce\x47\xc8\xb7\x71\x9e\x19\x1c\x56\xad\xb3\xf9\x79\xa7\x92\xf7\x53\x9c\xd8\xd7\xa0\xc1\xdd\xb6\xe5\x3d\x81\xc5\xdb\xa6\xe2\x19\xe8\x98\x25\xb7\x03\xe8\x07\x7c\x09\x4a\xad\x73\x43\xb1\x0e\xeb\x5a\x8f\x58\xe1\x7b\xed\xb4\xa6\xaa\xaa\x73\x87\xe2\x11\x7a\xe7\xde\x4a\x67\x23\xd0\xf2\xd6\xd9\x15\xb8\x27\x94\xa4\x9d\x06\x9f\xb3\xc0\x49\xd4\xaf\x19\x83\x54\xfa\x3a\x39\x8b\x33\x2f\xc3\x7e\x4a\x7b\x8c\x07\x55\x88\x87\xf3\x9f\xe9\xe9\x7b\xff\x9f\xcf\xf0\x09\xfe\xdd\x6d\xfc\x3e\x5f\x62\x0c\x3e\xb9\x55\xbf\xfd\xe3\xb9\xb7\x41\xbc\x5c\x30\x60\xc5\x55\x55\xc3\x64\x90\x45\xa3\xed\x48\xac\xbd\x13\x31\x90\xd1\xbd\xba\xef\x26\xc2\xee\x00\x57\x2f\x79\x01\xa3\xc5\x21\x8c\x29\x66\xef\x4c\x3c\x72\xee\xd5\x06\x38\x11\xb7\x86\x8b\x74\x35\xbb\x75\x51\xcc\xef\xb0\x62\x77\x05\x50\xfb\xa5\xcb\xf6\x20\xd9\x81\x84\xf5\x41\x01\x19\x71\x7d\x3e\x7f\xb9\x70\xde\x98\x85\x34\xc2\x14\xd9\xea\x2d\x6c\xf3\xf1\x53\x3e\x5a\xbe\xb9\xb5\x1b\x13\x0f\x0f\x73\x8f\x6f\x2b\xd3\x74\x7c\xcc\xdb\xab\xc3\x5f\x8c\xff\x75\x29\xf8\x84\x83\x9a\xf7\x1e\x67\x3a\x40\x30\xed\xcf\x9c\x88\x40\x68\x4e\x78\x61\x07\x87\x72\x74\x96\xde\xed\xbe\x2a\x98\xd1\x30\xe4\x21\x91\xb1\x78\x8b\x4a\xc7\xfd\xc8\xad\x31\xec\x24\x9c\xa1\x58\x9b\xa1\x9c\xfb\x7b\xb5\x71\x97\xaf\x76\xa7\x63\x5f\xc7\x0b\x0a\x05\x16\x77\x00\x3e\x7f\x7e\xf0\x89\x9f\x47\x6f\xc0\x62\x36\x7e\xbd\xff\xf7\x0f\x3f\xed\xbf\xfa\xf1\x40\x76\xb5\xd4\x57\xc0\x30\x93\xce\xe6\xfe\x80\x7f\x21\xdd\xa2\xd3\x9d\x19\xa7\xbe\x4e\xd7\x66\xa2\x1e\xbc\x14\x28\x15\x2f\x44\x32\xee\x8e\x86\xba\x4a\x04\x36\x65\xa2\x86\x7b\x54\xd7\xfa\x34\xe8\x5d\x55\x1e\x2d\x4f\xbd\x89\xf8\x3e\xdd\xeb\x2a\x22\xeb\x3d\xcf\x4c\xba\x52\x34\xf1\x47\x5f\x7a\xf8\x9d\xd4\xeb\x83\xd8\xc7\xe7\x1e\x9d\xdc\x5a\x4c\xd6\x2f\x83\x0c\xd5\x2c\xdc\x65\x41\x32\x21\x12\xff\xc5\xe7\x01\xda\x56\x9e\xaa\xdc\xab\x7e\x22\xc5\xab\x4b\x40\x25\x1f\xd6\x31\x13\x9f\x75\x6f\x53\x49\x77\xf6\xc4\x8c\x7c\x3d\xba\xb8\x03\x09\xe9\xa9\x2e\xfe\x14\xe0\x31\x4f\x26\x2c\x7c\x99\x28\xae\x8b\x0f\x51\xce\x3e\x10\xa6\xaf\x08\x83\x22\xc8\x0b\xb0\xe5\xc9\xef\x1c\x01\xe3\xf8\x08\x99\xaa\xde\x97\x0a\x3c\x1c\x03\xeb\x62\x90\xf4\x7c\x6f\x0f\x94\x23\xed\x4f\x0f\xc0\xb5\x59\x7e\xa8\x45\x1c\x07\xe9\x95\x80\x37\xaa\xd5\x66\xd9\x14\xa7\xcb\x6a\x7e\xa1\x0c\xf2\x4a\x6f\x7f\x0d\xd4\x0d\xdd\x80\x14\xc1\x8d\x24\x60\xe1\x5b\xaf\x24\xfe\xee\xeb\x88\x43\x09\xd4\xcc\xc8\x65\xbc\xc5\x07\xbf\x49\x24\xc0\x0f\xfb\x88\xaa\x2b\xb2\x72\x40\x4e\x58\x4e\xa3\xb4\xae\xab\xb9\x36\x86\x12\xd3\xb6\x13\x01\xc4\x21\xb7\x21\xcd\x04\x53\x6b\x5a\x4e\x41\x68\x5f\xbd\x28\xd6\x48\x35\x80\x99\x1c\x39\x9a\xa0\x96\xcb\x5c\x97\x73\x7f\x61\x19\xaa\x2b\xdd\x5b\x2e\xa9\x00\xc2\xcf\xd6\xc5\xa5\xce\x95\xfd\x2e\xac\x5d\x04\xbf\x9f\x53\x4e\x0e\x37\x85\x59\x5d\x07\x43\x21\xc5\x8e\xef\xb1\x88\x8c\x4f\x29\x3e\xda\x39\xf2\x51\x0d\xdc\xd6\xb1\x4e\x26\x78\x4f\xf3\xbd\x09\x62\xaf\xb3\x3c\x07\xe8\x4a\x06\xf9\x91\x82\xac\xac\xe3\x39\x0d\x18\x83\xca\x30\x85\x56\x59\x71\x2a\x49\xc0\x8b\x55\x80\xa0\x49\x51\xee\x51\x0d\x88\xb9\xf1\xa6\x7a\xb1\xc1\x4b\x9d\xee\xf7\x4a\x7d\x35\x09\x9b\xed\x0d\xbb\x8f\xa5\x9b\x9b\xed\x87\x66\xfa\xc7\xb3\xbf\x60\x2f\xb4\x34\xcb\x5b\x4e\x43\x57\xc5\xbd\xfc\x5e\xef\x33\xdb\x74\x99\xf8\xcc\x99\x0e\xa7\xea\x9f\x34\xcd\xc3\xf4\x81\x91\xfe\xd9\x32\xa3\xa1\xb1\x66\x9b\xe0\x83\x4e\xee\xed\xc5\x4e\x4c\xbb\xa8\x28\x38\xc1\x82\x9d\x5e\xb6\x33\x16\xa4\x77\x95\x7a\xf8\x50\x14\xf3\x52\x52\xb8\x83\xb6\xf0\x14\x5f\xe4\xc9\xdd\xc2\x5b\xf2\x71\x04\x29\x93\x5a\xbe\xdd\xde\xae\x7a\x1c\x0d\xf7\xb1\xda\xed\x89\x0a\x5b\x1a\xd8\x54\x5b\xc7\x41\x15\xef\x87\xf7\xda\x19\xf7\xa8\x28\xbd\x41\xee\xcf\x98\x9b\x0e\x34\x95\x4e\x41\x0d\xfd\x28\x43\x46\x7b\x28\x53\xf9\x95\x67\x90\xcb\x2d\x57\xe5\xd9\x3b\xbd\xd6\x59\x23\x6f\xbb\x18\xaf\x61\xc7\xbb\xcc\x8a\x92\xf2\x89\xe7\x3c\xdb\xa9\xfb\x22\xb7\x01\xbb\x1a\xef\xae\xca\x9c\x57\x9b\x25\xe5\xcd\x3e\xd5\x78\x91\x3b\xbd\x0e\x94\x44\xb6\xbd\x8b\xb2\xba\x52\xe7\xd5\x15\xb8\x0f\x66\x0b\xed\x32\xd1\x38\x25\xa1\x6c\x6f\x18\xb6\xe7\xd4\x22\x81\xb6\x01\x2d\x10\xde\x93\xb0\xaa\x7d\x68\x65\xb6\x68\xb4\xd3\xee\x8e\xbb\x4f\x96\xbd\xbd\x66\x79\x1a\x9f\x13\x09\xc6\x21\x3b\x67\x59\x46\xa7\x7c\x7d\x4f\x2e\xbb\x4d\xa6\x4f\x32\xd9\xdb\x38\x24\x22\xa6\xa3\x99\xea\xd1\x4c\xb6\x0c\xf1\x77\xc9\xe7\x71\xc8\x99\x4a\x5d\xe1\xda\xa2\x4b\x58\x44\x4a\x44\x72\xe0\xd1\x57\xf7\x14\xe5\x5b\xfc\x96\x44\x7b\x4e\xe7\x3a\x46\x3f\x6d\x32\x22\xf7\x7b\xaa\x97\xe0\x0c\xbd\xa9\x7d\x7c\x9f\x4b\x71\x30\x74\xd1\xa5\x78\x83\x3f\x56\x3d\xd5\x8b\x7d\x6d\xc2\x21\xc9\x11\x06\x08\x66\xca\x5f\x1f\x7e\x2e\x9a\xf3\x7e\x78\xd9\x37\xcb\x62\xae\xf7\xeb\x33\xd3\x77\x13\x39\x08\xb4\x0b\xb1\x47\x5c\xea\x4a\xe1\x70\x01\xdd\xd5\x25\x72\x58\x8f\xd7\xf5\xfe\x21\xc1\xad\x8b\xcf\xc3\x87\xad\x67\x63\x74\x76\x4c\x39\xf3\x74\xfd\x4c\x26\xea\x05\xb0\xa1\x75\x66\x8c\x2a\xca\xe9\xe7\x95\x1d\xa5\xcf\x92\x91\xc8\x9e\x4e\x22\x2a\x86\x84\x39\xee\x66\xa4\x2a\xe0\x73\xdb\xec\x14\x90\xaa\x3a\x71\xe9\x1f\x11\x96\x05\x48\x3d\x4e\xd7\x6f\xe5\xe9\xcf\x6b\x57\x25\x39\x25\x24\xba\xb2\x13\xb8\xca\x2e\xb4\x32\xba\x34\x2d\x31\x6a\x7b\xbd\x9f\xd7\x89\x9f\x09\x36\x0a\xd8\x7d\x37\x13\x13\xa7\x0c\x5f\x64\xd6\x9b\x06\xad\x19\xa2\xf3\x9f\xd7\x36\x5d\x6a\x21\x47\x0b\x4f\x05\xa0\x88\x37\xe7\x59\x09\xf8\xf0\x9f\x33\xf2\xce\xce\x4f\xbb\x5f\xdd\xbb\xfa\xdb\xbb\xd3\x21\x48\x7e\x49\xcc\x0d\xff\x79\x0e\x50\x51\x72\xe7\x0f\x40\xbc\x02\xf8\x9c\x41\x37\x3b\x1d\x03\x10\x63\x7f\x00\xd7\xc7\xf9\x52\x13\x96\x92\x2d\xf6\x47\x19\xc7\xdd\xd0\x47\xc1\x89\x34\x4e\x43\x26\x87\x5a\xa4\xf8\xd0\x49\x1d\xba\x8c\x23\x3b\x6c\x6f\xab\xfb\x1d\xb4\x29\x15\x9c\x38\x5e\xb7\xc9\xb6\xfd\xc2\xb0\x8e\x38\x35\xb2\xd8\x8f\xf7\x99\x6a\x7f\x14\x80\x6a\x45\xda\xe1\xb8\xfc\x34\x51\x7e\x7b\x07\x53\x58\xd5\xd1\x05\xb8\x15\x47\xe9\xdb\x20\xde\xdd\xce\x58\xd2\xd2\x6f\x75\xdc\xf9\x6c\x75\x48\xb0\x2f\xcd\x91\xfe\xd8\x84\x9a\xf1\xae\x0b\xb8\xa4\xfa\xe3\xf7\xf7\xba\x45\xca\x22\x94\x8f\x11\x4f\x7d\xd3\x0f\xf0\xdf\xda\xf3\xf7\xc6\x23\xc2\x81\x2f\x55\xdc\xbb\x2d\xf7\xb4\xd6\xa9\xce\x75\xc2\x91\xde\x9a\x08\xf7\x9a\x9d\x7d\x1f\xcc\xd4\x57\x00\x14\x20\xf6\xa7\x73\xe8\x78\x70\x1f\x8f\x8e\x2e\x27\x96\x66\xbd\xac\x9b\xa4\x0b\xcb\xae\xdb\x5d\x81\xee\x86\xfc\x56\x00\xad\x04\xec\xdb\xfa\x63\x36\x6f\x96\x08\x3d\x07\xe6\x30\x97\xa1\xf7\xd3\x57\xb7\x49\x17\x96\x50\x47\xda\xf6\xf2\x8e\x1c\x97\xbb\xa5\x9c\x70\x43\x6c\x91\x6e\xc0\xc3\x48\x5f\x1d\x05\x46\xd9\x99\xfa\x04\xd1\x2a\x53\xf5\xe9\xf6\xb6\x1d\x20\x40\x90\x51\xf2\xea\xe1\x12\xf8\x3a\x28\x61\x17\x23\xe5\x5e\xf1\xd2\x4d\xe3\xfa\x46\xaa\x41\x30\x32\xed\x01\xa0\x64\xdd\x9c\x74\x22\x4a\x0e\xec\x8b\x63\xb2\xa4\x82\x53\x67\x5d\x55\x00\xb1\x65\x86\xaa\x39\xaf\x8c\xe6\xb4\x9e\x88\x83\x08\x06\x7e\x9d\xab\x3e\x29\xfa\x74\x3e\x40\x50\x48\xff\xe9\x95\xae\xb5\x3d\xe9\xfb\x9b\xd2\x7f\xd4\x6e\x95\xd5\xa4\xa9\x69\xf0\x2a\x37\xc0\x13\xac\x1b\x8c\x12\x13\x96\xf7\x54\x7d\xad\x69\xcd\xcc\x54\xb9\x2e\xa8\xc7\xbe\xda\xc7\x4a\xf4\xad\xb5\xa0\x2d\x6e\x9c\x06\xb8\x09\x68\xe4\xf8\xfd\xb0\x45\x08\x83\x76\x90\x8a\x68\x36\xa8\x5d\x7a\xfd\xd9\x73\x45\xf7\x0b\xf5\x58\x7d\x35\x6c\xeb\xbb\xd5\x48\xe1\xbb\x41\x4c\x8b\xe0\x24\xd5\x21\xf2\xb5\x77\xed\x2a\xab\x2f\x7c\x17\xf6\x0d\x15\xeb\xb7\x07\xbf\x95\xfd\xe4\x1d\xa3\x20\x88\xfc\x44\x6d\xfc\x2a\x39\x15\x51\x5b\x80\x4f\x2d\xe7\x94\x40\x8e\x22\x03\x66\x62\xe2\xc3\x99\x49\x5b\x0e\xee\x14\x7d\x24\x57\x04\x14\xce\xd6\xb9\x95\x9a\x96\x3b\xc5\x8d\x96\x7a\xf8\xff\x6a\x89\xe3\x4f\x3d\x8f\x43\xbd\xa2\x44\x5f\xa0\x8e\x1e\xf9\x39\xea\x27\x36\x45\x7a\x43\x14\x83\x88\x65\xc7\x27\x54\x48\x2e\x21\xaf\xef\xd0\x5a\x3d\x7c\xd8\x96\x40\xbb\x2d\xda\x89\xcb\x64\xea\xc6\x37\x4d\x3e\x6d\x1f\x65\x5d\xdb\x78\xda\xad\x04\x6e\xd5\xd1\x5a\xe1\x69\x82\x56\xda\x2d\xff\xf1\xeb\x46\x78\xa9\xb8\x6b\xef\x89\x48\x7b\xa9\xa6\x85\xb5\xbc\x2b\x8d\xd9\x92\x89\xa7\x55\x72\x9b\x48\x3b\x6c\x2f\x6c\x32\xc4\xce\x89\xd5\xd8\x4c\x42\x4a\xcc\x72\x8a\xfe\x37\x7d\x04\xf2\xda\xe2\xb8\x98\x94\x21\x21\x45\x5f\x12\x5a\x20\xa8\x1c\x3f\x19\xaf\x6b\xcd\x4d\x8c\x2d\xf1\xdd\xa7\x9d\x80\xc7\x7d\x46\x7e\x37\x4a\x0a\x53\x94\x67\x47\xd9\x59\x30\x9b\x5d\xa9\x00\xb7\xb0\x3d\x54\xe6\xb4\x91\x5a\x62\xb0\xb0\x36\xef\x4b\x28\xf8\x20\x5f\xe6\x2a\xfb\xd8\xb2\x5b\x0e\x53\x66\xcb\x84\x7e\xdb\xfd\x12\xe3\xb1\x24\xcd\x1a\x0f\x1f\xb6\x1f\xf2\xe7\xb3\xb0\xc3\xf7\x40\x04\x9b\x75\xb0\x9b\x44\x15\xdb\xe1\x48\xb0\xa6\x6e\x75\x69\xaa\x4f\x49\x68\x92\x99\x3c\x7d\xb6\x8e\xc4\x32\xe9\x78\xe3\xb8\x93\xe2\xf7\xf8\x4e\xdc\x3d\x06\xaa\xdc\x01\x83\x9f\x72\xe4\xbb\xb2\x37\x07\xbd\xcc\xae\x49\xbf\x4e\xc7\x48\xae\xd7\x1a\x82\x6c\x15\xe2\x75\x49\xd3\x51\x61\x28\x24\x8f\x25\x60\x01\x95\xcb\x98\x64\xae\xbd\xf6\x4f\x0b\xa1\x4b\xec\x4f\xd8\x98\x9d\x3b\x32\xca\x66\xb1\xae\x13\xd9\x2e\x85\x2f\xc0\xba\x76\x66\xff\xb4\x77\x34\xb4\x76\xc7\xce\x5f\xd7\xf6\xa8\xfe\xc7\xa6\xa8\x43\xd3\x0d\x3d\x8b\x3f\xed\x34\xcd\xa5\xc2\xec\xba\xed\xae\x32\xf0\x35\xb0\x07\x8e\xf7\x82\xf4\x3a\x31\xff\xc1\x21\xa3\x1b\x6a\x99\xef\x97\x65\xd5\x64\x8d\xfe\xb6\xc4\xa1\x7e\x92\x45\xa7\xb0\xe3\x6e\x3b\xc3\x12\xfc\x01\x8d\x6e\xf8\x76\xb6\x53\x8e\x11\xb0\x12\x95\x69\xb6\x2f\x45\x65\x9a\x3b\xd6\xe2\x3e\x6c\xd8\x7e\x74\xef\xd5\xb0\xdf\xfe\x57\x2f\x07\x0e\x3b\xb5\x1e\x30\xdc\xcf\x5b\x10\x2f\x25\xd1\x8a\xd8\x59\x6f\x2f\xc9\xed\x4e\x6b\x87\x9d\xe9\x46\xa0\x9c\xf4\xa3\xdb\x3d\x4d\xde\x50\xf9\xac\x47\xf4\x4b\x07\xfc\xba\xbd\x7f\x51\x98\x6c\xad\x9b\xba\xd0\x97\xd9\xf2\x35\x38\xc2\xab\x99\xea\xe5\x59\x93\xf5\x86\xde\xd3\xb5\x85\x33\x00\x39\x16\x10\x51\xc4\xf3\x4e\x6e\x3b\xfc\x0c\x82\x6e\x42\xf8\x73\x17\x9b\x4a\xdd\x8e\xa4\x09\x0e\x1f\xa4\xb7\x04\xc4\xfd\xee\xe0\xdf\x7e\x7c\xf9\xee\xe0\x43\x10\x9d\x1f\xcc\xb4\xa7\x2a\x2e\x89\x51\x9a\xb6\xa5\x76\x68\x66\x44\x39\x2e\x1e\x34\xe1\xab\xe2\xc2\x0a\x15\x7f\x95\x84\x64\x02\x29\x86\xbf\x55\x33\xf7\xf1\xb6\xa8\x21\xff\xf9\x6c\xa6\x7a\xbf\xb6\xcc\x80\x89\xc5\x29\xca\x73\x5d\x17\x8d\xce\x5f\xd8\x55\x4a\x5c\xdc\x12\xf5\xfe\xc1\x8a\x55\xf7\x62\xbb\xcc\x3f\x77\x8f\xf2\x6b\xea\xcd\xb3\x56\x67\x04\xa1\xc5\x42\x4f\x70\x49\x62\xe0\x89\x08\xf5\x15\x1b\x69\x13\x3c\xda\xbb\xa2\x71\xce\x98\xbe\x53\x2b\xcd\x0d\xb4\xeb\x3a\x26\x9a\x6a\x11\x88\xef\x15\x06\x4d\x72\xea\x81\xfb\x05\xff\x06\x65\x2d\x5f\x0a\x27\xfa\x38\xea\xfe\x7b\x4a\x92\xc0\xa4\x1e\x66\x47\x68\x53\xf5\x03\xac\xf7\xe1\x43\xf5\x80\xe7\xf8\x7e\x61\x77\xf3\xa6\xd6\xff\x48\x68\x2c\x77\x7d\x73\xa8\xa3\x74\xbc\x27\xf4\x20\xc0\x10\xbb\xa1\x9a\x43\x50\xe8\x29\xa1\x84\x3e\x48\x68\x2a\x1d\xeb\x0a\x58\x5a\x27\x39\x49\x3c\x7a\xf0\xa9\x0a\xb6\xa1\xd8\x01\x9c\xc7\x30\xcd\x63\x78\xde\x43\x7d\x36\xe7\xe5\x72\x7d\x72\x51\x22\x5c\x4b\x0b\x92\xc5\x2e\x39\xb0\xf2\x3f\x83\x41\x87\xa3\x4e\x9e\xd5\x72\xfc\x4f\xba\x8f\x8b\x2e\x3c\x38\x0a\xc9\x12\x79\x25\x02\x38\xb8\x16\xb0\x55\x7c\x66\x10\x12\x2a\xdf\xed\xfc\x0d\xde\xa5\xd9\x3b\x0c\x82\xbe\x9e\x77\xc5\x7a\x89\x99\x08\x66\x14\x62\xc4\xe2\x64\x1b\x52\xad\x3f\x9b\xb9\xde\x47\xa9\x61\x39\x07\xb0\xbc\xdf\xca\x09\x15\x4e\xc7\x1d\x3e\x0c\x2d\x42\xfa\x94\x2e\x4e\xb6\x3f\xd7\x8f\x27\x89\x6e\x44\x50\xe4\x7e\xdd\x9b\x0e\xb5\x68\x74\x67\xbc\x9f\xf6\x52\x4e\x7a\x88\xf9\x46\x39\xf3\x3b\x6a\xdf\xba\xd0\x18\x74\x5e\x67\xf3\x8b\x54\x1a\x2a\x65\x2a\x88\x93\x46\x60\x74\xcc\x63\xb5\xd6\xb9\xad\xf6\xa4\x49\xe6\xab\x42\x24\x26\xa3\x6c\x4f\x6b\xca\x9c\x05\xe9\xb2\x3a\x93\x76\x35\x95\x3a\x91\xc9\xd1\x4e\x02\xd5\x47\x64\x06\xed\x4a\xe0\x95\x86\xb7\x4b\xe5\xad\x52\xb3\x2e\x48\xb7\xc4\xd4\xa5\xb4\x56\xad\xd9\xc3\xc4\x28\xa0\xb2\x0d\x72\x8c\x9d\x80\x16\xff\xa4\xbd\x3b\x4e\xd0\xe0\x60\x8a\xf2\x6c\xa9\x09\xf7\x4c\x9a\xc6\xe7\x41\x6e\xb5\xd0\xeb\x2e\x71\xf2\xc5\x9f\x30\x67\x4b\xaa\xdc\x3c\x9b\xcb\xbb\x74\xe4\x90\x0d\xa0\x9a\x67\x4b\xa8\x3a\x62\xe2\x98\x1b\x74\x2a\xbd\xcc\x67\xb3\xad\x9e\xb0\x5d\xd2\xb7\x7a\x16\x52\xf4\x94\x18\x56\xdc\xa0\x66\x00\xbf\x34\x13\x51\x0a\x6c\x4e\x66\x4a\x21\xa7\xf1\x4b\x4f\x0d\x21\x80\x78\x78\x64\x4b\xf6\xf6\xd2\x9d\xea\xc1\x37\xfe\x83\x7b\x78\x56\xc6\xe4\x03\xfe\x5f\x7f\x49\xc0\x20\x05\xb5\x66\xa1\x4f\x13\xf8\xeb\xc4\x46\xd8\xae\x4e\x71\xaf\xd1\xc5\x89\x9f\xf6\x25\xd7\xc6\x45\x1d\x82\xdc\x35\x4c\x0e\x61\xbf\x65\x42\x98\x4c\xd4\xb7\x09\x4f\xf3\xa4\xab\x8b\x40\x6c\x86\xc0\x46\x46\x9a\x18\xc6\x35\x9e\x6e\x1a\xce\xaf\x05\xe9\xa0\x9c\x93\x0c\x63\x88\x61\xd2\x4d\x88\xc3\xa5\x8c\x9b\x54\x15\x3b\x15\x1a\x55\x34\x3d\xa3\xce\xb3\x3a\x77\x31\xa3\xbe\xfe\xf9\x52\x67\xa5\xda\xac\x55\xff\xbc\x69\xd6\xd3\xc9\xe4\x74\x73\x66\xc6\x98\xe5\x74\x3c\xaf\x56\x93\xa6\x98\x5f\xe8\x66\xf2\xbf\xff\xe5\x5f\xfe\xd7\xa0\x05\x7d\x61\x67\x52\x67\xf9\x50\x5d\x69\x65\x32\xca\x75\x2a\xf7\x24\xc3\xb1\x0b\x20\xf6\x0c\x27\x57\x9d\x67\xe6\x1c\x21\x1e\x31\x6d\x68\x53\xe1\x08\xe3\x36\x80\x3d\x0e\xc1\x29\xc6\x81\xab\x83\x21\x73\x0e\x58\xee\x2c\x70\x47\x77\x8e\x96\xa0\x1a\x91\x4a\xc0\x22\x5f\x26\x85\x53\x90\x14\xb7\x6a\x9f\x12\x4e\x01\x51\x9e\xe6\xc0\x97\x0f\x5a\x6e\xa5\xee\x6a\x77\x23\x9d\xa7\x6b\x0b\x41\x7f\xfe\xe8\x6e\xff\xe8\x09\xdb\x95\x20\x2c\x4e\x2f\x7c\xc8\x60\xb3\x76\x1f\x3d\x68\x1b\xfb\xac\x10\x9e\x78\x7a\x07\xa7\x8c\x66\xfd\xf3\xca\x8f\xf7\xf6\xd8\x86\x2e\x40\x6c\x22\x0f\xe9\x8e\xdc\xa6\x5e\x5c\xa9\x63\xa7\x14\x90\x03\x45\x7b\xcf\x25\xbb\x9a\x87\xd7\x2f\xb9\x74\x9d\xdd\x6c\xb1\x34\xd1\x02\xa7\xe6\x76\x21\x8d\xb2\xe5\x36\xe8\x55\xb2\x57\x0f\x1f\x76\xf4\x77\x8c\xb9\xe5\x17\x05\x7c\x14\xcd\x75\x67\x77\x4f\x8b\x32\x3f\xaa\xe4\xa8\x49\xf7\xdd\xba\x51\xde\x63\x08\xb2\x33\x29\xf2\xdd\x49\x1c\xe2\xb2\xbc\x3f\x40\xff\xea\x93\xb3\x6f\x21\x88\xe8\x63\x79\xf6\xeb\x45\x51\x16\xe4\xd9\x0a\x49\xc1\x01\x34\x2c\x8d\x41\xc9\xca\x38\x57\x66\xcc\x4f\xdb\x37\x3c\x71\xbb\x17\xdf\xf3\xd3\xf6\xf7\x2b\x74\xdf\x11\xdf\xae\xe0\xaa\x32\x99\xa8\xbf\x0c\xd5\x6c\xa8\xaa\x5a\xc5\x8b\xa5\xd4\x32\x33\x0d\x58\xa2\xdb\x15\xa2\x98\xf9\x9d\x76\xb9\x21\x0e\x75\x83\x9e\x2c\x59\x1d\x9f\xe8\x0c\x93\xba\xa2\xfb\x45\x7c\x34\x67\x46\xdb\x43\xbb\xed\xf3\x4a\xc8\xac\xd5\x29\xe4\xc2\xee\xbb\xe9\xf0\x13\x8c\x20\x99\x49\x57\xdb\x24\xa5\x1c\xbb\x55\xd8\x02\xd5\x17\x83\x42\x8a\xae\x70\x5f\x6a\x73\xcc\xbd\x79\x3f\xde\xdb\x33\xdd\xa0\xf6\x4a\xa8\x7d\x45\xa1\x74\x9f\xed\xa9\xb8\x08\x31\x55\x3d\x66\xc5\xba\xae\x2e\x8b\x1c\x53\xd0\x95\xf6\x34\x6b\xea\xe2\xec\x4c\xd7\x10\xaa\xe5\xb0\xca\x40\x40\xa8\x94\x2e\xcd\xa6\x4e\x39\x6a\xda\x6b\xc8\x39\xa1\x51\x51\xb6\xb2\x1a\x3d\xa5\x36\x46\x73\xae\x13\xcc\x60\x9a\xf2\x4b\xbd\xc7\xac\xee\xf9\xce\xe8\xd6\xb0\xfb\x71\xee\x46\x37\xe9\xad\x27\x84\x5f\x95\xa4\x96\x59\x82\x5a\xec\x2c\xbb\x7d\xf1\xf0\x21\xe1\x38\xde\x35\xe5\x78\xf9\xbf\x4f\x7f\x1c\xc9\xdb\x31\x42\x46\x8d\xd6\xe8\xd2\x4b\xef\x0a\x8e\x97\x80\x9d\xdb\xd2\x17\xd1\xc8\x70\xf3\xa8\x99\xd2\xff\xd8\x64\x4b\x93\xe8\x53\xda\x33\x30\x2c\xec\x51\x38\x86\xea\x74\xa0\x3e\xf9\x8c\x33\x96\xa7\x9e\xda\xab\x42\x3f\x03\xdf\xbb\xcc\xce\xd2\x29\xfc\x7a\x3a\x78\xa2\x6e\xef\x3f\x09\x87\x30\x09\x7e\x5c\x99\x31\xc5\x19\x64\x04\x72\xad\x77\x12\x78\xad\x39\xa9\x1d\xa7\xe1\xad\x6a\x97\xdf\x1d\x35\x67\xe8\x4e\xc6\x36\x63\x55\x95\x4a\x5f\x5a\x21\x76\x2f\x2f\xce\xb4\x69\x12\xf5\x3a\x4e\xe5\x8f\x82\x6d\x24\xea\x7a\xde\x49\x8e\x5d\x4a\xbc\xb2\x2a\x71\xb0\xdd\xe8\x59\x07\x1f\xd7\xb5\x36\x20\xa9\xa3\xcb\x21\xc4\x02\x81\x38\x1f\xe9\xf2\x30\x8a\xaf\x1c\x61\x8d\xd9\xe9\x52\xa7\xb4\x79\xf8\x13\x91\x5a\x77\xb8\xde\x38\x81\xe9\xab\x3c\x00\xd0\x3f\x75\xd6\x7c\x02\x74\xa8\xf6\x67\xb2\x3a\xf8\xe4\xec\xd1\xbb\xbe\x78\xd0\xc1\xc5\xad\x1c\x4d\xc4\x2d\xbf\x1e\xde\xd9\xe1\x0e\x38\x55\xce\x5a\x67\x37\x4b\xb5\x01\x6c\x15\x88\xe6\x85\xe8\x30\xca\x04\x3d\xaf\xd6\x71\x10\xe5\x5d\xbd\x71\x53\xd9\xd9\x2c\x34\x4c\xc8\x30\x48\xf9\x39\x34\x5a\x20\x28\xcb\xba\xd6\x73\x9d\xeb\x72\xde\xe5\x5d\x7f\xef\x05\xfa\x29\x7d\xaa\xa9\xed\x0c\x84\x3a\x48\xd8\x49\xdc\x4f\x54\x48\x21\x7d\xf2\xc9\x93\x57\xca\x54\x1d\x35\x38\xf6\xc0\x40\x55\xa2\x4b\xf7\x20\xb2\xe4\x46\x4c\xb1\xa1\xf4\x33\x86\xca\x12\x64\xbd\x75\x4a\x12\x5b\x22\xa6\xd0\xf1\x9e\x69\xb2\x46\x2f\x36\x29\x43\x0a\xfe\xa0\xdf\xe5\x55\x68\x93\xe3\x1f\x70\x55\xf1\x52\x97\x4f\x3b\x90\x26\x13\xaa\xc7\xab\x1d\xe1\x4f\xef\x4e\x16\x9f\x38\xc3\x56\x87\x53\x3b\xbf\x7b\xd5\xd3\xed\xf5\xd3\xc7\x5b\xa2\xb1\x21\x65\x18\x6c\x1f\x71\xf7\x39\x4c\x42\xa1\xbb\x2a\xfb\xbd\xbd\x5c\x9b\xa6\xae\xae\x7b\x43\xee\x5a\xa2\xa2\x6d\x82\xc1\xc3\x84\x60\xf0\xfb\x0e\xee\xbb\xb7\x9b\x3b\xeb\x50\xe1\xb3\x15\x8e\x3c\xe2\x9d\xac\x24\xba\x1f\x9f\x8e\xd0\x64\xe3\xc9\x4c\x5b\x35\x42\xc5\x58\x3b\xcd\x78\xa4\xbb\x94\xd7\x96\xae\xc0\x67\xa9\x36\xe8\x77\x1a\x56\x62\xc5\x6a\x64\x4e\x0a\xb0\x2c\x7e\x78\x77\xf0\xea\xe5\x9b\xff\xf3\xf2\xcd\x77\x3b\xa2\x6b\x61\x62\x2e\xe1\x72\x71\x07\x24\x87\xf0\xd8\xf3\x85\xa2\x9c\x63\x45\x79\x59\x5d\xb0\x1d\xa7\x8d\x31\xe2\x2b\x19\xff\x01\x25\x6a\xfc\x3c\xa9\x32\xa5\x66\xd8\xee\xf8\xf0\x61\xec\x90\x40\x1f\x44\x66\xaf\xb0\xd8\x1d\xd6\xaf\x96\xa7\x6a\x5a\x33\x9b\x56\xe8\x4c\x26\xea\xdd\xc1\xf3\x1f\xdf\x1d\xbe\x7c\xfb\x46\x3e\xfc\x59\x63\xdc\x1b\xc4\x2a\xda\xd3\x82\xa6\x86\x2d\x61\x74\x86\xf0\xd3\x10\x7e\x2f\x53\x6d\x3c\x99\xc9\x44\x04\x2a\xa2\x64\x58\x2c\x73\x9f\x95\x2e\xaf\x54\x59\x35\xea\x54\x2f\x2b\x84\x4c\x48\x56\xef\xb5\x78\x90\x2f\xd0\xf6\xe5\xa8\x82\xac\xeb\xed\x9b\xd9\x56\xc7\x96\x87\x0f\xbb\x5f\x3a\x2f\x37\x02\x9f\xd8\xfe\xd1\x8f\xf5\x12\xb5\x49\x9b\xe5\x32\x12\x0c\xa2\xfe\xa5\x55\x30\x7e\x37\xcb\x24\x71\xec\x3a\x2c\x33\x43\x51\x4d\xde\x0c\xd9\x95\x24\xaa\x6d\xa5\x0a\xd1\x65\x7e\x78\x7b\x78\xd4\xb9\x25\xa5\xb3\x8d\xf3\x8e\xfe\xca\xee\xc7\x6f\x30\x29\xe0\x68\xd4\xb5\x1f\x7d\xc9\xff\xd9\x90\xe2\xe7\x73\x37\x24\x65\xf8\x0e\x13\x00\x61\x32\x4b\xa3\x8a\xf2\x37\x84\xa6\xcc\x8c\x3a\x11\x16\x99\x93\xb1\xac\xe2\x4d\xd5\xe8\x29\x20\x25\x31\x2a\x20\xa2\x07\xf0\xdd\xf9\x81\x5f\x77\x9f\xa6\xa7\xcb\x20\xc8\xc7\x59\x80\xf1\x98\xcc\xc7\x15\x3b\x0b\xd4\xe9\x64\x53\x31\x8e\xc3\x1b\xc6\x93\x21\x1b\x67\x18\x1b\x0d\x02\x79\x61\x80\x06\xe8\x56\x12\x1f\x59\x89\xae\x38\xe7\x33\xea\x6f\x14\xc7\x2e\x5f\xa5\x95\x3a\xac\xef\x11\x90\x47\xfe\x65\x0b\xa2\xe0\xb3\xcc\x00\xc9\x49\x49\xba\xcf\x6c\xf3\x0e\x7a\x70\xe7\x02\x74\x4d\xcc\x76\x8f\xda\x67\x6d\x27\x25\x35\x4d\x78\xa9\x25\x1d\x4c\x5a\xac\xa7\x83\x78\x92\x53\xd0\x91\xe3\x4d\x32\xbf\xa4\xd7\x9f\x4a\x24\xb7\xeb\x8a\x4d\xca\x13\xc6\xe7\xc9\x04\x3e\x8f\x91\xc5\x32\x84\x6f\x2d\xca\xb3\xf0\xf4\xe3\x9d\xe6\xc0\xc5\x64\x86\xa2\x04\xb8\x58\x47\x6e\x22\x01\x28\xf6\x9b\x15\x35\xc9\x8f\xac\x1f\x3c\x1f\xaa\x4f\xa1\xa9\x37\xf6\x95\x0c\x46\x2f\x20\x7f\x97\x90\x42\x6d\xb3\x8e\x72\xa2\xd9\xdb\x68\xae\xe7\x55\x0d\x91\xf9\x45\x43\x26\x48\xa7\x87\x01\xa0\x12\x3b\x62\xfb\xe1\x1a\x12\xa3\x28\x80\xb7\xd4\x8d\xae\xcd\x58\xfd\xec\xf0\x25\xe7\x19\xe8\x72\x88\x4f\xc1\xba\xbf\x88\x8e\xe9\x16\xe6\x2e\x7a\x15\xde\x62\x06\x19\xf8\x5f\x8c\xec\x6b\x4f\x7e\xdb\x75\xb5\x59\xb7\x80\x3b\xb9\xb4\x15\xab\xa1\xb3\x47\x41\x49\x88\xfa\x64\x97\x29\x55\x94\xca\xac\xf5\xbc\x58\x14\x73\xbb\x50\xab\xac\x11\xf8\xbc\xe8\x47\x29\x12\xfb\x01\x8c\x15\xf6\xc5\x68\x63\xef\xee\x75\x36\xb7\x23\x9e\x46\x23\xb1\xff\x9d\x1c\x9c\x4c\x9d\xc1\xd2\x8e\x22\x78\xb9\xdf\x9b\x7a\xcd\x6e\xf0\xe6\xf9\xc9\x14\x53\x61\x04\x4f\x5f\x9f\x4c\xd9\x22\xeb\x06\xec\xa0\x3b\x4f\x31\x95\xcc\x2d\x2c\xba\xdd\xf5\x02\x5b\xcc\x0a\x5a\x79\xee\x01\x8e\x63\x3c\x4f\x99\xb7\xa1\x91\x6e\x0b\x08\x5d\xc1\xb3\x78\x57\xb6\x16\x88\xe1\xd8\xef\xb4\x52\xf8\x1f\x5d\xe6\x2e\x63\x94\x23\x73\x10\xc2\x38\xa3\x51\x2b\xa3\x1b\xbb\xcf\x8b\xdb\x83\xf3\x7d\x8d\x6e\x15\xc4\x64\xfd\x38\x5a\xc9\x7b\xe2\x94\x2a\x6e\x7b\xe6\x89\xb0\x36\x83\x4a\x6c\x7b\x96\x56\xf5\xf8\x4c\x37\x7d\xb2\xbd\x1e\x6e\x16\x8b\xe2\x63\x74\x86\xff\x3e\xf4\xc0\x54\xb8\xd1\x3d\x10\x05\x79\xb4\x7d\x99\x71\xcf\x4e\x9f\x3b\x89\xac\x5c\x2a\x5f\xa6\xc1\xf6\x5a\x96\x39\xd9\xfc\xb8\xb6\x97\xf0\x62\xde\x60\x16\x96\xb7\x8b\x3e\xd3\xc3\x40\x3d\x98\xa9\xd1\x57\xe9\x14\x55\x01\x31\xa4\x2e\xc3\x72\x7c\x2d\x86\x06\xcc\x0c\xaa\x98\x46\x64\xa5\x00\x03\x71\x2a\x69\xa8\x6d\xa1\x89\x95\x0b\x82\xa8\xd1\x97\xd0\xbb\xe1\xc4\x45\x99\xa2\xba\x40\xdd\xe4\xa1\x26\x43\x9c\x52\x61\x4d\x83\x27\x9d\x19\x56\xdd\x31\x28\xbc\xb7\xd9\xcb\xf0\x7e\xbc\x99\x77\x3e\xef\xf7\x82\xdc\x3f\x00\x08\x72\xc4\x4c\x27\x06\x6b\x7b\x44\xf1\xd3\xba\x86\x44\x92\xec\x36\x69\x1c\x56\xb8\x51\xa7\xba\xb9\xd2\xba\x54\x94\xb1\xc3\x7e\x3f\xd2\x65\x0e\x07\x9f\x95\x3e\x10\xa2\x3c\x02\xf9\x6f\xaa\x33\x6d\x6b\xfd\x93\xf9\x79\x3c\xc8\x90\xa9\xd5\xfa\xac\x30\x8d\xae\x51\xc6\x0d\x06\xde\xc1\xea\x5c\xf9\x28\xeb\x5a\xd9\x62\x45\xff\xed\x38\xc8\xbd\xf8\x45\x18\x2b\xb7\x12\x53\x90\x70\x5f\xc7\xa4\xb3\xb1\xb7\xf8\x1d\xf4\x2c\xe2\x18\x12\x49\x26\x18\xe5\x52\x38\x2c\x39\x74\x32\x90\x2f\xbe\x3f\x7a\xfd\xca\x47\xce\x37\xfc\x7d\xa9\xaf\x5a\x89\x25\x1f\x31\xf6\x8d\xfb\x9c\x35\xf6\xa7\x1a\x1d\x03\xa9\x4e\x68\xf0\x63\x61\x00\x69\xc7\xd7\xc2\xe6\xcd\x17\x6f\x5f\x3b\x82\x03\x39\x41\x1b\xf0\xb6\xd6\x8b\x85\x9e\x43\x17\x9b\x8a\x72\x20\x54\xcd\x39\xd3\xad\xa8\x87\x02\xbd\xba\x48\xbf\x22\xb0\xef\xdc\x34\xb6\xee\x06\x32\x18\xd8\x63\xd7\xd7\xd0\x77\x48\x0c\x2f\xde\xbe\x1e\x74\x55\x60\xea\xb9\x32\xd5\xa6\x9e\x07\xad\xf7\x1d\x8e\x81\xd8\x4a\x0c\xc8\x92\xde\x05\x5d\x81\xee\xb9\xb1\x32\x74\x3d\x0f\x73\xda\x98\x7a\x4e\xd9\x1f\x4d\x3d\x6f\x67\x46\xcd\x4d\x43\xaf\x73\xd3\xb4\x5f\x0b\xa7\x5e\x78\xef\x6f\x07\x5e\xa4\xae\xb5\xcf\x4e\x50\x2d\x65\x92\x59\x01\xcc\xdf\xc6\xeb\x05\x9d\x25\xf4\x39\xf4\x00\x18\xaa\x0b\x7d\x1d\x07\xc2\x5d\xe8\xeb\xb1\x15\xd6\xf6\x9b\xfe\x97\x70\x70\xf5\xf6\x7a\xed\x70\x2c\x53\xcf\x8f\x2f\xf4\xf5\x7b\x7b\xdd\x77\xbf\x3f\x98\x91\x73\x40\xd2\x39\x5d\x3d\x9e\x41\xed\x18\xf8\x60\x9a\xeb\xa5\xee\xa9\x67\xaa\xf7\xa4\xa7\xa6\x00\x8c\xa6\x1e\xbb\xaa\xba\xae\x44\x30\x33\x46\x37\xb6\x1e\x97\x5d\x0f\x1d\x9d\x68\xf6\xa1\x78\xea\x4a\x33\x90\x13\x39\xaf\xd6\xd7\x89\xfd\xc2\x1b\x85\xe7\x96\xd3\xfe\x46\x53\x69\xea\xf9\x7d\xa7\x12\x3c\x2b\x41\x42\x8d\x26\xd1\x64\x0b\xbd\x9f\xe7\xb1\x8f\xd3\x65\x0b\xc1\x20\x37\xcd\x31\xd5\x60\xaf\x34\xfd\xe0\xef\x67\xe1\x6b\x00\x98\xb3\xb3\x09\x93\x19\xf9\x69\x88\x88\x04\xee\x18\x2e\xc2\x20\xe9\x5c\x0e\x6e\x34\x7d\xfa\x64\x98\x7e\x0c\x19\x2d\x9f\xf4\xb8\xad\x76\xbf\xf1\x33\xdf\x6f\xfe\xfb\x59\xf8\xfa\x31\x53\x41\xaa\xdf\xb0\x60\x27\xb9\x69\x4e\xd0\xd8\x5d\xea\x4b\x5d\xf3\x45\x43\x85\x07\x8e\x3d\xde\xec\x01\x0d\xe6\x8a\x5a\x5d\x01\x38\xdc\x52\x37\x3e\xc5\x02\x57\xf8\xef\xd5\x06\xab\x3b\xd3\xf6\xe8\x56\xbb\x2f\xcb\xcb\x6c\x59\xe4\xcf\xf9\x9e\x72\x50\xd7\x55\x3d\x85\xda\x0e\xdc\x5d\xee\x7f\xed\x62\x3e\x33\x3b\x8b\xd7\xd5\x26\xac\x12\x58\x5f\x26\xf8\x95\x5a\x16\x17\x5a\xed\x9e\x67\x66\x54\x5d\x95\xa3\x35\x75\x72\x57\x55\xb5\xda\xcd\xb3\x26\x1b\xb5\x5e\x0d\x95\x6e\xe6\xe3\x8e\x35\x6b\xed\x4b\xf0\xd7\xb0\x7b\x22\x3a\x76\x2d\x2d\x46\x87\x9e\x69\x70\x8f\x26\xdc\x77\x88\x31\xf1\x7b\xb9\x91\xd2\xfb\x48\x09\x19\x4c\x28\xbb\xb6\x20\x45\xc4\xd8\x3d\xcd\x7e\xa8\x49\x0c\x63\x3f\x3e\x07\xe1\xe1\xae\x84\x04\xe0\x2e\x5e\x94\x17\xff\xb6\xd1\x14\x66\x13\xe4\xb3\x5e\x34\xba\xe6\x2e\xbf\x71\x91\x2a\x9d\x9f\x3c\x17\x11\x2c\xe2\x1b\x4c\x36\xee\x3e\xda\x86\xe8\x28\x8b\xd9\xc3\x6c\xdf\x5c\x97\xf3\x24\x40\x87\x19\x9b\xf3\x62\xd1\xf4\x07\x11\x9c\xa9\x3d\x7a\x17\xd9\xbc\x71\x18\x79\xe8\x9e\x8b\xf6\x77\x54\x32\x80\xb4\x1d\x9e\x74\x46\xeb\x95\x51\x57\x75\x55\x9e\x3d\x90\x6b\x8f\x90\xdb\x87\x51\x27\xf4\xc7\x46\x97\x79\xff\xd3\xed\x30\xd1\xc9\x18\x56\x43\xa8\xed\xa7\x64\xd8\x94\x6e\xed\xf8\x84\xa4\x17\xfe\x33\xe1\x0f\x3a\x4d\x34\x25\x8f\x81\x41\x2a\x3b\x02\x98\x0a\x02\x58\x88\x76\x25\x01\xc2\x4b\x1b\x79\x6d\x7b\x81\x18\xb2\xa2\x03\x7e\x6d\x7b\x25\xa9\x9e\x3b\x78\x31\x4a\x02\xd0\x51\xda\x7d\xe6\x8e\xaf\x24\x6a\x9f\x7b\xc9\xe5\xde\xe9\x7f\x6c\xb4\x69\xfa\x7b\x66\xae\xad\x28\x7d\x54\x6f\x4c\xa3\xf3\x77\x1a\x05\x23\x3b\xb2\xf4\xb4\x8c\xad\x2c\xd9\x0f\x8c\x9a\x49\x35\x74\x0b\xc9\xe3\x28\x44\xf3\x10\x60\x80\xb0\x9f\x5b\xb1\x35\x81\xca\x9a\x9a\xe9\x00\xa6\xe3\x4e\xb4\xa2\x0a\x13\x13\xd7\x01\x85\x93\x04\x9c\xe3\x7a\xff\x53\x91\xe6\xba\xf0\xe5\x5c\x67\xfe\x07\x58\xee\x9e\xc0\x72\x89\xd5\x47\x45\x9c\xa4\xec\xad\xfe\xfc\x2d\xba\x8d\x51\xe2\xe4\xc7\x12\x98\x2e\x3c\xb0\xb6\x01\xd3\xc9\x1a\xfe\x08\x8c\x59\xab\xab\x29\xa0\x31\x97\xcb\x20\x31\x35\x69\x3b\xcf\x3f\x07\x72\xac\x5d\x96\xf1\xc5\xf2\xae\xda\x3a\x41\xc5\x38\x1d\x52\x62\xfc\xa2\x2f\xa9\x3d\x19\xee\x95\xce\x43\x3a\x8a\x2f\x6f\xc1\x8b\x79\xee\xd3\x41\x47\xe2\xc8\xde\x94\x78\x68\xa7\xce\xd5\x70\xc1\x3a\x44\x0f\x35\xfb\xec\xb4\x51\xfb\x29\xab\x6c\x42\x86\x0a\xa9\x34\x75\xae\xdf\x33\x33\x54\x87\xcc\x95\x8a\xf2\x0b\xf7\x89\x3b\x55\x30\x49\x6c\xd1\x95\x87\xd4\x5e\x4e\xe4\x2e\x6a\xf3\x5a\x51\xed\x71\xf1\xfe\x2e\xe0\xec\x2e\xb7\x9f\x6e\xe9\x4e\x05\x1d\x30\xfd\xa8\xfa\xc0\x4d\x20\x85\x5b\x25\x9a\xa0\x3c\xa5\x4e\x08\x65\xe0\x87\x44\x3c\x03\x1b\x48\xfd\xb7\x09\x11\x10\x7f\x42\x6a\x7e\x45\xee\x0b\xf7\x2b\x6b\x3f\x79\xe7\x27\xf0\x9e\x0d\xc6\xe7\xf7\xfd\xdb\xea\xc2\x36\x6f\xad\x3d\x79\xd3\xb1\x3b\x9b\xce\x07\x2e\xad\x73\xe2\xeb\x8e\x29\x00\xc7\xec\xae\xbd\x9e\xc2\x4c\xa8\xed\x7d\x1f\x2e\xe2\xc0\xbb\xd2\xd5\xca\xfc\xf6\x51\x0d\x60\x39\xee\xff\x2e\xa8\xa5\x94\x41\x21\x75\xac\xb1\x50\x93\xb2\x0f\x4c\x26\x60\x74\xcc\x0c\x1a\x84\xa5\xd2\x5a\x5e\x0e\x96\x90\x7c\x1b\x73\x84\xb6\x91\xae\xc5\x32\x75\xe1\x48\xdf\x65\x3b\x90\xc7\x63\x44\x61\x43\x8e\x53\x4f\xcf\xed\xc0\xfb\xdf\xc4\x87\x1a\xa6\x71\xb1\x17\x9b\xa2\x54\xcf\x0f\x0f\xd1\xda\xc7\xa0\xa4\x01\x2e\x6b\x54\x2e\x50\xb0\xc4\x61\xf2\x43\xb1\xe4\x5b\x4f\x35\x88\x41\x49\x73\xea\x2e\x34\xb1\x44\x14\x6d\x52\xfe\xb5\x2c\x06\x70\xe5\x5b\x6f\xd8\xc0\x7f\x77\xc3\x69\xc7\xa4\x60\x38\x69\x61\xb5\xb3\x4b\x5b\xa2\xcf\xdb\xb3\xd3\xd1\xc1\x7e\xe7\x9d\xf9\x0e\xd4\x87\x7b\x75\xb2\x13\x90\x43\x5e\xf3\x23\xef\x49\x4f\x56\x51\x82\x62\x86\x2b\x13\x9d\x47\x93\x6a\xaa\xd7\x78\x6a\x7d\x1e\x4c\xc5\xef\x99\xe8\x0e\x56\x18\xc7\xdc\x30\x4c\x21\x8c\xb9\xed\x40\x86\x8c\x19\xac\x78\x49\x27\x2f\xf1\x53\x26\xd0\x39\xc5\xcf\x96\x25\xfa\x9c\xd5\x4a\x90\xe2\x9f\xb0\xbd\xfe\xeb\x36\xd7\xed\xdd\xd2\xdc\xdd\x3b\x21\x41\x53\x77\x4f\x24\xeb\xe2\x3a\xcd\xa1\x87\x15\x80\x44\x7a\x32\xb7\x57\x2f\x18\x8d\x14\x56\xe9\xeb\xc8\xe8\x71\x7a\xcd\x56\x70\x8e\x85\x12\xaa\xb4\xbc\x58\x2c\x2c\xf1\x3a\xa3\xb8\x1a\xa9\xac\x95\xd3\x05\xad\x67\x8b\x05\x9c\xc5\x5f\x3a\xa7\x04\xfb\x48\x7e\x92\x61\x74\x36\x1c\xd8\x18\x7f\xc3\x5f\xf2\xab\xa7\xee\xc5\x33\x35\xfa\x4a\x4d\xd5\x57\x4f\xc2\x7d\x9c\xa1\xb1\x5d\x8d\xd4\x29\xfe\xd6\xa1\x9d\x6c\xa3\xf5\x5e\x9d\x67\x8d\x57\x1f\xa6\x71\x7a\x75\x4c\x72\x84\x14\x18\x16\x91\x14\x99\xbe\x1c\x83\xfd\x30\x2f\xea\xde\x50\xf5\xc0\x9c\xba\x5e\x06\x88\xd8\xc7\x9f\xbe\xbc\x1d\xda\x6b\xee\x7b\x95\x19\x4c\xea\x5c\xd5\xea\xd3\xd7\xb7\xaa\x2a\xa7\xea\xd3\xbf\xdc\x46\x17\xeb\x56\x17\xe8\xde\x9b\x47\x7f\xe3\x18\x25\x64\x28\x8f\xa8\xed\xec\x14\xcd\x57\x9e\x1f\xe9\x8f\xcd\x4b\x1f\x93\xe8\x3d\x5f\xe4\x4d\xa4\xad\x6c\x15\x61\x8c\xb0\x0d\x83\xb8\x46\xfb\xb9\x0b\xe4\xf6\x53\x1a\x94\x49\x3b\x74\x21\x23\x93\x5b\x9f\x89\x6e\xaa\xbe\x0c\x93\xb4\xc2\xd4\x4f\x85\x9f\x67\x38\x10\x12\xd0\xbe\x2d\xbd\x26\x26\x21\x18\xca\xab\xba\x7d\x8f\x0e\x74\xe2\x6a\x0b\x42\x21\x7b\xf3\xb5\xd9\xe2\x79\xc6\x92\xa0\x2b\xf9\xe0\x41\xbb\x42\x07\xbc\x1b\x54\x30\x99\x90\x05\x98\xf7\x3f\x18\x64\xa5\xb9\x37\xc3\xf0\xa7\x53\x8e\xb4\x2e\x7c\xde\xeb\xb8\x26\x97\xab\x0b\xed\x13\x1c\xa4\x84\xee\x0d\x1b\xe3\x8c\xc1\x59\x9e\xa3\x17\xb9\x15\x8b\x54\xbe\x01\x7f\x2e\x97\x64\xbc\x1c\xb7\xe4\xa2\x78\x88\x83\x30\x86\x9f\x63\x40\x40\x00\x6b\x8f\x3c\x96\xf4\xe2\x83\x39\x5a\xb5\x57\x41\x22\xff\xb2\x53\x94\x5f\xf3\x6c\x97\x72\x7d\x62\xd9\x95\x71\x26\xee\xdd\xff\x35\xf7\x39\xac\x27\x55\x00\x40\x19\xf0\xfb\x61\xb8\x1b\xc6\xda\xc5\x38\xb6\x43\x58\x82\x48\xa2\xa0\x98\xbf\x37\x87\xd5\x41\x2c\xd1\xfe\x1d\x11\xdd\x25\x5d\x58\xed\xbf\x3f\x49\x88\xb7\x96\x38\x1f\x0b\x8e\x1d\xde\x0c\x77\x71\x8e\x50\xd7\x79\xbd\x16\xea\x38\xdf\x3f\xfb\xdc\xde\x1f\xab\x2b\x5d\xcf\x33\x83\x1f\xaa\x9b\x1b\xd5\x3b\x6f\x56\x4b\x9f\x20\x82\x63\xe0\xed\x6b\x5f\x1a\x63\x96\xcc\xe5\x99\x8b\x5a\xc2\x27\xab\xac\x39\x17\x81\x4c\x96\x1c\x10\x12\x0a\x8c\xee\x61\xee\x2f\x76\x68\xe9\xe5\xc5\xa5\x4c\x48\x41\x05\xc6\x45\x59\xea\x1a\x9c\x2c\x66\xaa\xf7\xb4\xa7\x1e\x63\x9f\x1f\xab\xde\x37\xbd\x30\x67\x41\xef\xe9\x24\x7c\xed\x2b\x23\x9a\xe6\x3a\xbd\xd2\x20\x54\x21\x70\x81\x5c\x2f\xb2\xcd\xb2\x99\xc6\xe5\x9b\x08\x07\xb8\x63\xe6\xbd\x96\x9f\x2e\x9f\xa4\x66\x81\x78\x2d\xd6\xa9\xe7\x6d\x67\xc2\xf6\x7b\x35\x9b\xa9\x5d\x53\xcf\xf3\x6a\xbe\x2b\x89\x8a\xfa\x03\x36\x05\x3b\x37\x61\x87\x88\x69\x66\x67\xb4\xfb\x6c\x4d\x1f\xa0\x0f\x6e\x7e\xc1\x2d\x18\x7a\x7b\xfc\xd1\xb2\x96\xe9\x79\xad\x17\xef\x21\x60\x92\x1c\x36\x0e\x7f\xfa\x6e\xac\xd4\xcb\xa6\x67\x20\x78\x65\x59\xac\x8a\x06\xf9\xd3\x53\x2a\xf9\xcd\xf8\xee\xbe\x43\xe5\xdf\xd7\x7a\xb1\x1b\x22\x97\xf4\xa1\x77\x33\xb5\xbb\xa8\xea\xd5\xae\x7a\xf8\x30\x31\x39\xf0\x1e\x9b\xda\x1d\x24\x8a\x3f\x98\xa9\xdd\x62\x75\x06\xa5\xb7\xcc\xdd\x6e\x1b\x33\x25\xfc\xe9\x28\x5a\x9e\x1d\xd6\xf3\xdd\xc1\xa0\x6b\xde\xdf\x1d\x1c\xbe\xfd\xf1\xdd\xf3\x83\x0f\x3f\xbe\x7b\x75\xf7\x21\xbe\xdf\x34\x75\xf2\x10\x47\xd2\x90\x47\x39\xf9\x31\xa0\xe4\x90\x2d\x97\x6f\xeb\x37\x55\x73\x5e\x94\x67\xe1\xf9\xde\x04\x24\xa6\x66\x9d\x64\x17\x04\x54\xcb\xfa\xd4\x4c\xed\xbf\x7a\xf5\xe1\xed\xbb\x0f\x6f\xde\x1e\x7d\xff\xf2\xcd\x77\x1f\xf6\x8f\x8e\xde\x1d\x1e\x23\x8c\xce\xcd\x4d\xf0\x71\x90\x1b\x7e\xab\x6c\x11\x78\x83\x84\xbd\x8c\xc6\x23\x3d\x41\xca\x2a\x42\x81\x40\x5f\xe7\xd1\x37\xe4\x5a\x2b\x68\xed\x41\x24\xa6\xf0\x7d\x6c\x47\x7c\xe3\x1c\x73\x77\x57\x24\xe7\x01\x9d\x44\xdb\x01\xbf\x30\x7a\xa9\xe7\xcd\xee\x9d\xe2\xa3\xfd\x10\x6a\x8b\x8c\x20\xbb\x74\xe0\xb0\xef\x4f\x8f\x9b\xec\x09\x17\x84\x02\xf7\x11\x41\x57\xe9\x7c\xac\x0e\x18\xb1\xec\xd3\x97\xb1\x59\x45\x4a\x8a\x65\x00\x2a\xef\xf4\xdd\xdd\x12\x99\x97\xc7\xbe\xfa\x52\x48\x64\x2d\x79\xac\x85\x71\x40\xd4\x1d\x9f\x5d\xeb\x5a\x0a\x71\x59\x48\xc8\x3f\xd4\x91\x44\xe0\x3c\x68\xec\x87\xa9\x83\x10\x80\x82\x3d\x10\x89\x9a\xe1\xe6\x95\xe0\x24\x08\xf2\x10\x3f\x9c\xa9\x4f\xb7\xad\xac\x2e\xbc\xde\x07\x3f\x1d\xbc\x39\xfa\xf0\xfd\xfe\x9b\x17\xaf\x0e\xde\x01\x1d\x13\x1e\xf0\xb8\xd1\xa6\x69\xfb\x3f\xfa\x9f\x2e\xa0\x84\xbc\x5a\x41\xca\x3b\xd3\x0d\x95\xf0\x52\x12\x2c\x02\x7e\xc1\x49\xf5\xe2\xed\x6b\x85\xe9\xf2\x84\x4b\x53\x56\xdb\xab\x86\xc9\x96\xf6\xb0\xcd\xc7\x4a\xfd\xb0\xd4\xf6\xb4\xdc\x50\xd0\xe0\xee\xd6\x1c\x97\xbb\xe5\xd9\x48\xd9\x69\x80\x96\xfa\x66\x33\x3f\x87\x20\x8e\xb3\xd1\x7c\x59\xcc\x2f\x54\x81\x68\x64\xaa\x5a\xa8\xaa\x84\x47\x03\x7e\x36\xde\x4d\x46\x33\xa7\xf4\x97\x49\xf4\x16\x8e\xf6\x37\x45\x39\xd7\x10\x9d\x1e\xee\xf7\x41\x94\x23\x48\xf9\xc4\x4f\x2c\xe8\xd8\x0a\x8f\x13\x30\x75\xca\xc7\x32\xe2\xa7\x9d\x9e\x6b\xae\x8b\x57\xde\x6b\x52\x74\x42\x65\x67\x59\x51\x52\x17\xc3\x21\xa0\xcf\x9b\x83\xa1\xd9\xac\xf3\xac\x49\xf4\x18\x2a\xef\xeb\xf1\xd9\x58\x9d\x5e\xab\xac\x84\x88\x4e\xbf\xcb\x7a\x86\x37\x90\xdb\x0a\xb1\xf3\x01\xd5\x81\xd0\x35\x6a\x53\x1a\xdd\x4c\xc0\x2d\x00\xbb\x60\x30\xb7\x63\xc8\x3a\x17\xd9\xd2\xa4\xb0\x1a\x62\x06\xeb\x26\xe8\xe1\xc3\x70\xf2\xf9\xc5\x3d\xf9\x6d\xbb\x25\x07\xa0\x4c\x15\xdd\x97\x54\x8a\x85\x98\xe3\xab\xcc\xf0\xc4\xba\xa4\x91\x41\xa2\xef\x80\xb3\x9f\x55\x94\x82\xc0\xdd\x88\xae\xb2\xb2\x89\x01\xfa\x14\xbb\x5a\xa2\xcb\x34\x86\xb1\x30\x33\x48\x52\x51\xe7\xb9\x90\xea\x7e\x59\x34\x05\x9c\xf8\x30\x0c\xf2\x2f\x74\x9d\x07\xd8\x40\x4c\xe9\x55\x94\x28\xd5\x3a\xc2\x73\xf0\x43\x76\xbf\x53\xfc\x52\xaa\x09\x34\x22\xb9\x86\x28\x22\x25\x8c\x14\xc6\x8a\xae\x20\xf7\x32\xc6\x08\xab\xec\x32\x2b\x96\xd9\xa9\x25\xb4\xba\x5a\x6d\x6b\x40\x12\xa7\xbf\x1f\xc6\x37\xc6\xf5\x79\x66\xda\xc5\xfd\x8e\x84\x68\x06\x31\x6f\x0e\x1d\xa5\x55\xa6\x2f\xf1\xa3\x9c\x90\x90\x78\x3a\x53\xc7\xef\x07\x83\xf1\x1e\x52\x6a\x27\xf2\x44\x9b\xc5\x93\x1c\x38\x6e\x55\xe9\x40\xaa\x6e\x6e\x70\x5e\x07\xa9\x24\xa1\xbf\xf7\xd2\xe6\x37\x51\xb5\xcc\xb7\xa0\xb9\xd8\x59\x37\x32\x31\xb7\xa5\x00\xbc\xa6\xfb\xbd\x90\xe5\x39\x80\x65\x00\x26\xf7\xaa\xba\xcc\x96\x5d\x35\x11\xad\x61\x05\xc8\x65\x0d\x88\xe0\x4d\xb6\xa6\x64\x73\x96\x93\x95\xc5\x0a\x68\xa7\xa3\x9a\x73\x88\xb8\x70\xe8\x5a\xa7\xe8\x4f\xbb\x87\xc5\xb4\xb2\xd3\x58\xcc\xf5\x58\xfd\x55\x2b\x60\x4c\x89\x6d\x46\xfd\xb9\x28\xd6\xbe\x35\xa3\xae\xd8\x97\x7d\x51\xd4\xa6\x51\x08\x5e\xa4\xaa\xf9\x7c\x53\x1b\xd5\xb7\x6f\x3b\x2a\x02\xaf\x73\xe7\xd4\x8b\xd1\x1b\xe0\xca\x4b\x7c\x30\xa3\x2c\xe0\x06\x6e\x40\xc0\xb3\x3b\x6a\xb2\x5f\x49\x63\x13\x97\x2c\xab\x72\x24\x56\x93\x6b\x4e\xd6\x12\x48\x83\xe4\xa1\x4b\x69\x6b\xf8\xcc\xb9\x73\xd9\x15\x91\x25\xf2\x38\xd4\x44\x24\x88\xe6\x77\xa1\xd6\x60\xcd\x86\x82\x2c\x86\xae\x5f\x9f\x03\x26\x73\x87\x4d\x30\xa9\x42\x88\x1d\x48\x85\xd6\x9a\xa3\xb4\x33\xc5\xd4\x8e\x76\xbb\xb1\x30\x2d\x0e\xd5\xd5\x79\x31\x3f\x07\x7a\xa5\xc7\xaa\x68\xc0\xb7\xd1\x3e\xe7\xaa\x40\xd7\x55\x56\xa4\x0e\x02\x3f\x51\x07\x03\x97\x35\x0e\x33\x95\x42\x15\xb1\x19\xe5\x61\x66\x30\x2d\x0d\x96\xe8\x0a\x57\xf8\x1b\x14\x9a\xdd\x06\x26\x2c\xf0\xce\x04\xef\x25\x0a\x7f\xe0\xd3\xbb\xa9\xb5\x1e\xab\x1f\x8d\x38\xa9\xae\x74\x30\x0a\x08\x2a\xe2\x46\xb6\xff\x08\x6d\x1f\xb7\x03\xf5\xa7\xbb\x78\xeb\x20\x21\x8e\xaa\x77\xe0\x98\x06\xbd\xa4\x41\x73\xd8\x01\x4e\x2b\x41\x3c\xe1\x51\xd9\x54\xdc\xb9\xb1\xfa\x59\xab\x0b\xad\xd7\xf7\xeb\x1f\x88\xb7\x5a\x99\x73\xbd\x5c\x0e\x01\x4f\xd7\x2f\x95\x8f\xa0\x52\xb5\x5e\xe8\x5a\xfb\xcc\xcb\xbe\xe3\x6f\xaa\x5c\xdf\x5a\x92\x04\x9b\xf4\x11\xed\x69\x2e\xd8\x61\xb8\xe8\xf6\xcf\x8a\xc7\x3f\xe4\xaa\xc3\xab\x2d\x30\x1c\xb6\xd6\xf3\x54\xcd\x5a\xa5\x23\x2f\x5e\xf6\xf5\xdb\x80\xda\x31\xfe\x98\x14\xbc\xb2\x80\x53\x51\xa6\xda\x23\x95\x65\x9c\x2f\x0f\xd0\xee\x9f\xc8\x9b\xa6\x1c\x61\x2b\xc2\x4a\xc6\x46\xc9\x0f\xef\x8e\x8e\x8a\xab\x06\xef\x9a\x74\x57\x5b\xf9\xca\x82\x62\x8f\x1f\xbf\x47\xf1\xae\xed\x62\x15\x44\x79\x17\x43\xf5\xdb\xd7\x6a\xa6\x7e\xe3\x83\x8b\xa6\x72\xa4\xbe\xea\xb8\x00\x41\x50\x78\x6a\x54\xed\xcf\x45\x9c\xb8\x6d\x26\x1e\x2c\x0f\xf8\xb7\xaf\xe1\xbb\x14\x1b\x0e\x06\x05\x41\xe5\xe1\x93\xaf\x5b\x57\x8b\x4e\xbe\x9b\xeb\xa5\x6e\x74\x5c\xe3\x1d\x2c\xb4\x73\x86\x1d\x92\xc8\x2c\x9e\xb6\xb6\x31\x81\xee\x57\x2e\x82\x4c\xc2\x60\x2f\x0d\x9e\xf7\x8c\x78\x3d\x27\xc5\x0e\x84\x94\xf9\x6d\x1b\x57\xe9\xbe\x03\x7e\x9d\xeb\x75\xad\xe7\x70\x24\x52\x3d\xd9\xba\x18\x5a\x4e\x77\x65\xd9\x00\xc8\x99\x06\xc2\x30\x10\x03\x07\xce\x78\xfa\x12\x9f\xc7\xf5\x13\x34\x76\xb6\x2e\x24\x32\x36\x35\x3a\x69\xd9\x22\x82\x99\xe1\xae\xcd\xee\x49\xb8\xd1\xc4\xba\xe2\x69\xea\x0d\x97\xa4\x05\x32\x95\x0a\xfc\x13\xdb\x96\x0c\x09\xa2\x07\xf8\x84\xcf\x38\xb0\x11\xf7\xa9\xe1\x61\xba\xfb\x2d\xa5\x0c\xc1\xfc\xf7\xd7\xba\x5e\x0c\xa6\x60\xf6\xeb\x19\x44\x12\x60\xb5\xb7\x5a\xd4\xd9\x19\xfe\x52\xd5\xcf\x00\xf6\xa4\x81\x8b\x85\xce\x9f\xc1\x31\x64\x39\x7f\xa3\x96\xda\xde\xb3\x6b\x0d\xa8\xa6\xcd\x33\xc9\x1c\xb9\x7c\x4b\x95\xfe\x82\xfe\xfc\x96\xbe\xf0\xe6\x16\x2e\x33\xce\xd6\x6b\x5d\xe6\x38\xb6\x8e\x21\xf9\xa1\x80\xbb\x4f\x75\xa9\x01\x5b\xb5\x46\x8c\xf5\x3e\x5e\x8f\x4a\x30\x86\x1b\xb5\x5f\x9e\x6d\x96\x59\xdd\x33\x84\xf8\x0f\x51\x33\x83\xb1\x7a\x01\xd7\x3a\x08\x84\x58\xd7\xc5\xa5\xbf\xc0\xd8\x6b\x8b\xad\x07\x2e\x87\xa7\x7a\x9e\x91\xfa\xa3\xd6\xa0\x68\x56\x98\xe2\x01\x45\xf5\x05\x50\xbc\xa3\xcf\xa6\x52\x39\x9d\xd8\x56\xa8\xb4\x95\xc3\x3d\xf2\x52\xd7\xbe\x72\x54\xbb\x2c\xed\x95\xb1\xd4\x28\xa7\xda\xe3\x94\xa0\x1c\x56\x59\x51\x82\xc2\xa5\x5a\x70\xbf\xa0\x3b\x03\xbc\x82\xc1\x55\xb4\xaa\x2f\xec\x5d\xf3\x2a\xbb\xe6\x2b\x06\x39\x2d\xf1\x51\x85\xf8\xe6\xf4\x30\x39\x89\xf8\xc5\x20\x98\x4c\x3a\xc5\x60\xf0\x55\x9a\x0d\xc0\xe1\x3e\xcf\x4a\x7b\x11\xfc\x6d\x63\x1a\xc4\xa1\x18\x23\x57\xe9\x0f\x7c\x5d\x31\x88\x7e\xe3\x14\x1f\x56\x9a\x81\x4d\x9e\xeb\x6c\x09\x61\xef\x04\xec\xe1\x40\x76\x90\xd4\x7c\x5d\x8c\x52\x6f\xcf\x75\x38\xd3\x3d\xb0\x3d\x36\x8c\xf1\x2b\xb6\xdb\xbb\xab\xac\xdc\x64\xcb\xe5\xf5\xae\xd4\xfc\x3f\xc0\xe5\x09\xac\xc5\xc8\x60\x49\x68\x9c\x67\xf3\x73\x7d\x9c\x9a\xa8\x63\xfa\x42\x7f\x5c\x67\x65\x5e\xbd\x77\x3c\xb8\xc5\xba\x27\x13\xa6\x82\xaf\xc7\x1f\x5d\x1e\x00\xfd\x71\x5d\x19\xd1\x41\xd3\x54\x75\x76\x86\xe2\x1d\x7d\x3f\x06\x90\xff\x17\x9c\x1e\x80\x11\xff\xc1\x1d\x44\xd6\x9e\x5e\x8f\x23\x30\xc3\x72\x05\xa4\x7e\x53\xab\xaa\xbc\xd0\xd7\x23\x88\xee\xc1\x1b\x17\x6d\x03\x9a\x7b\x20\xea\xb8\x72\x5a\x05\x88\xf5\x6d\xea\xcc\x9c\x13\x7e\x26\xe8\x40\x84\x66\x01\x38\xb1\xbd\xae\xb8\x02\x40\x91\x2e\x2e\xb8\xd4\x57\xb2\x6a\xd7\xd5\xef\xab\x2b\x7d\xa9\xeb\x21\x49\xb3\x82\x86\xe6\xe7\xfe\xd2\xc4\x7d\xe6\xa1\xd8\x1e\x20\x8b\xc1\x1d\x99\x99\xb0\xdf\x8e\x9e\x80\xbd\x82\xd2\x87\x34\x63\xcb\xe2\xb4\xce\xea\x6b\x8c\x71\xd2\xb4\xbd\x30\xa1\x16\x4c\xae\x9b\x13\xbb\x58\xaa\x5f\x95\xc1\x8c\xe8\x8f\xd9\x6a\xbd\x04\xf5\x10\xad\xeb\x8f\x2f\x07\x82\xf4\xec\x59\x94\xa9\xc5\x32\x3b\x53\x45\x99\x17\xf3\x0c\xbc\x68\x70\x4a\xc8\x13\x0b\x1e\xe0\x89\x76\x1a\xd4\x6d\xef\xb1\x6b\x98\xce\xc2\x40\x10\x43\x53\xac\x04\xba\x9a\x7d\xfd\x02\xab\x78\x5b\xbe\xd1\x1f\x9b\xbf\x41\x07\x9e\xbb\x65\x8e\xd5\x15\x31\x21\xf5\x93\xb4\xfc\xbe\x7d\x1a\x38\xf1\xea\x42\xcd\xd4\x57\x43\x75\x71\xd1\x2d\x97\x3e\x51\x17\xea\xa9\xba\xb8\x78\xa2\x2e\x42\xe1\xc8\x96\xf7\x11\xc9\x2d\x11\xf8\x42\xc8\x2d\xc4\x92\xd8\xb5\xc4\x31\x8e\x27\x60\xee\xb3\xc4\x00\xfc\xb3\x30\xea\x2a\xbb\x0e\xb6\x03\x6d\x40\x2f\xbb\xa6\xce\x0b\xae\xf7\x49\xbc\xcf\xb7\x74\xca\xcd\x45\x42\x76\x6f\x9f\xeb\x1d\x73\x63\x67\xaf\x2b\xd8\xb1\x9d\x84\x71\x51\x0e\x55\x86\x7f\x06\x38\xa5\x64\xdd\xa0\x88\x3a\x69\x04\x71\x2e\x0f\xe5\x18\x5c\xfe\x29\x5b\xb1\x83\x17\x1b\x3c\x51\xb7\x43\x15\xd5\xdb\xd1\xa1\x14\x1c\x1c\xbb\x98\xed\x05\xb6\x11\x23\xd3\x5f\x44\xa9\xb0\x84\x81\x3e\x80\x59\x59\x06\xa6\x96\xcf\xa8\xcf\x33\xd6\x54\x92\xe3\xbb\x13\x1c\x77\xba\x2b\x29\x75\xfb\xfe\xc9\xce\xed\xce\x8e\xa5\xd3\x20\x11\xa3\x9a\xa9\xc9\xaf\xfd\xfe\xb3\xe9\xc7\x1b\x38\x62\x8f\x7f\x99\xfe\x32\xfa\xf0\x7e\x30\x29\x9e\xec\x80\xae\xe1\x91\x7a\x5e\x95\x97\xba\x6e\x0c\xa2\xb9\xcd\x6d\x1f\xb4\x74\x8c\x23\x74\x23\xd4\x85\x11\x62\x93\x8f\x5b\x2a\x33\xd8\xd6\xee\xb2\x0a\x4a\x1e\x30\xdf\x36\x95\x72\xb1\x6b\x3b\xf6\x7a\xda\x86\xd3\x70\x06\x5f\x81\xa4\x41\x64\x30\xcf\x56\x7a\xf9\x3c\x33\xf8\x8a\xe5\xc1\x7e\x30\xb8\xa1\xea\xf5\xec\x64\xdc\xee\xf0\x58\xfe\x52\x9e\xe5\xd5\x1c\xbc\x0f\xf0\x4f\xdb\x11\xb6\x2a\x79\xcc\xbd\xf1\xbe\x00\x85\xc0\x82\xb9\x36\xf3\xba\x58\xa3\x8a\xef\x91\xda\x57\xe6\x3c\xab\x75\xce\x2a\x69\x46\x37\xf1\x03\x67\x55\xc6\xc4\x6b\x7d\x69\x7c\x86\x95\x32\xa8\x52\x31\x7e\x1a\x72\x7b\x69\xb7\xd5\x33\x2f\xf1\x96\x29\x3c\xe6\x48\x37\x57\xeb\xc5\xd2\xb6\x3a\xdf\xd4\x70\x39\x26\xc7\x26\x05\x30\xc2\xea\xe4\xd3\x27\x75\x7b\x7b\x82\x25\xb8\xee\x8c\x14\x35\xb6\x76\x94\x2e\x48\x1c\xb1\xab\xca\xc0\x53\xa8\xba\x03\x31\x15\xb0\x4f\xf4\x3f\x36\xc5\x65\xb6\xa4\xbc\x38\x74\x56\x4c\x69\x4a\x4e\x4e\x4e\x76\x50\xb7\xf1\xd4\xac\xb3\x52\x95\x67\x53\xdb\x8f\xd9\x6e\xb6\xab\xca\xb3\x91\xfb\x1d\x42\xb7\xe5\x83\x8f\xf2\xaf\x6f\x7c\x55\x93\x78\x99\x38\xce\xfb\x9e\x4b\xf5\x05\x84\xa2\x75\x2e\xd8\x2a\x5b\xdb\x81\x82\xd9\x2f\x9e\x5e\x20\x4b\x0f\x0b\xe1\xd7\x03\x88\x8b\x55\x6d\x62\xee\x50\xcc\xad\xed\x61\x6e\x34\x00\xcc\x6c\xd6\x68\x0a\x88\x0a\xab\xd3\x6c\x7e\x01\x0e\x63\x98\x0d\x88\xf7\xc3\x64\x27\x1e\x2d\x9e\xcb\xf7\x1e\xab\xd1\x0d\x7c\x7b\x51\x94\xb9\x23\xad\x8e\xc1\x1f\xea\xa6\x63\xdc\x98\x08\x11\x8b\xed\x74\x01\xeb\x78\xbf\x8b\x8e\x99\x63\x59\x99\x17\xcc\x8e\x77\x55\xe5\xc5\xe2\x9a\x88\xd0\x7e\x83\xf3\xe7\x7e\x68\xee\x46\xc0\x01\x51\x3f\xbc\x31\xa0\x47\x3b\xd7\xea\xd3\x5f\x20\x3b\x44\x79\x36\xbe\xc7\x8a\x63\xd2\xb0\xdb\xa0\x76\xd9\x13\x50\x6c\xbb\xd8\x87\x88\x1f\xb9\x91\xa2\x91\x07\x95\xcd\x4d\xa5\x38\x7f\x80\x1f\x68\x53\x89\x3d\xe8\x50\xcb\x03\x83\x45\xae\xb0\x36\x5e\x60\xc7\x42\x97\x15\x68\xf5\x69\x2c\x35\xba\x3f\x15\x25\x72\x4e\x5c\xa4\xc9\xce\x4e\x90\x05\xd2\xe8\xff\x9f\xbd\x77\xdd\x6e\x1b\x47\x16\x46\xff\xfb\x29\x10\xc7\x27\x94\x12\x59\x72\xd2\x3d\x7b\xf7\xc8\x51\xf2\xb9\x1d\xa7\xe3\xd9\xb9\x1d\xdb\xe9\x9e\x39\x8e\x77\x8b\x12\x21\x89\x31\x45\x2a\xbc\xd8\xd1\x24\x3a\x6b\xbf\xc3\xfe\x9e\x70\x3f\xc9\x59\xa8\x2a\x00\x05\x90\x92\x9d\x74\xcf\xe5\xac\x6f\x7a\xad\x99\x58\x24\x58\x00\x0a\x85\x42\x55\xa1\x2e\x10\x50\x16\xa7\xd3\xe7\x69\x6b\x4b\x88\xde\x7d\x11\xe2\x06\xec\x62\x36\xd2\xfb\x3d\x9b\x8e\xb4\x77\x5f\xa0\x1b\x75\x51\xaa\xe7\x29\xfd\x4d\xaf\xb4\xb5\xf5\x7e\xcf\x77\x4e\xef\xdd\xb7\x8e\x06\x3a\x26\xbc\xad\xda\xd5\x7c\xb9\xb7\xda\xe2\xf3\x6a\xab\x81\x47\xfb\x83\xf4\xc7\xae\xc7\xc3\x9f\x75\x6e\x39\x1f\xfd\xed\xdf\x70\x1e\x65\x76\x29\xd3\x67\xf1\x84\x6c\xab\xad\xa2\xcc\x1f\xaa\x63\x35\x7f\x84\xc7\x8d\x29\xb8\x5c\x88\x81\x08\x8c\x97\x01\x7c\x56\x3c\x14\x03\xd5\xf4\x61\xb7\x58\x24\x71\xd9\xea\xbd\x2f\x1e\xf4\xda\x6e\x93\x47\xd8\xe4\x91\xd3\x04\x54\xce\xac\x2a\xa5\x62\xa6\x56\x02\x05\x3b\x24\x5a\x1b\x09\xbe\xb5\x40\x5a\x79\x13\xdc\x8a\xd4\x6b\x25\x03\x63\x33\x93\x8e\xc9\xcd\x08\x89\x99\x1f\x69\x1c\x36\x1b\x24\x17\x5d\x95\x6e\x48\xc0\x34\xb4\x47\xe7\x1f\x2e\x6c\x24\x19\x0e\x73\x7f\xcb\x8a\x13\x84\x8d\x07\x03\x2a\xbb\x6b\xb2\xf4\x3e\x11\x7b\xe2\xa9\x93\x53\x05\x00\xaa\x6f\x57\x5b\x6e\x05\xd4\x02\x0e\x65\x66\x8b\x76\x02\xc0\x3f\x7c\x04\x47\x3f\x1c\x25\xfd\xb0\xd5\x3b\xf5\xdb\x7d\x5a\x9d\x18\x5e\xc1\x33\xee\x1f\x0c\x9e\xd2\xe2\xf1\x40\x98\x4c\x72\x34\x00\x6a\x8b\xc3\xda\x32\x11\x87\x2c\xad\x30\xf8\x45\xe8\xf0\x2e\xf4\x40\xd4\x08\xd6\x31\x97\x36\x0e\x7c\xe0\xc4\x81\x1f\xbe\x79\xe5\xc6\x81\xab\x65\x1f\x2b\xf5\x3a\x49\xf4\xc8\x3b\x22\xee\x88\x87\x6d\x8b\x53\x86\x1d\x33\xb8\x9a\xcc\x42\x17\x2c\xb9\x73\x40\x68\x49\xf2\x2d\x7f\xe9\x31\xff\x33\x9f\x9f\x9a\xfa\x57\xfc\x6f\xba\x81\x5c\x29\x65\x0f\x6a\x89\x30\x85\x59\x29\x21\x20\x14\xa0\x5e\x7b\x9f\x8b\xb0\x74\x76\xe0\x11\xa9\xc7\x28\xc0\x7f\xa6\xe0\x05\x11\xd1\x43\x20\x47\x31\xe4\x2a\x0e\x15\x73\x55\xdf\x35\x8e\x4c\x4f\xe7\xae\xf1\x2b\xd0\x7f\xac\xe8\x98\xec\xba\x12\xe3\xce\x61\xed\xdb\x96\xdd\xbf\x7e\x0d\x4e\xbd\x43\xa7\x49\x36\xc2\xca\x98\x90\x5e\x4c\x3f\x3e\x7c\x7d\x76\xf2\x52\x89\x90\x28\x1c\xbf\x3f\x7d\xd0\x6e\xbd\x2f\x1e\x84\xc5\xfb\xe2\x41\xeb\xfd\xf5\x83\x76\xfb\xe9\x4e\x0f\x1d\xd9\xe8\x3a\xae\x76\x86\x8b\x4d\x8b\x64\x66\xb5\xd5\x90\xcb\xee\xcb\x1b\x4a\xcb\x05\x5f\xb3\x62\x65\x78\xef\x98\x41\x25\x26\x12\x3a\x49\xa2\xe1\xd3\xbb\x06\x03\x81\x3a\xb8\x2e\xe5\x12\xae\x62\xb7\xf4\x0d\x54\x39\xd3\x62\x8e\xbe\xed\xf5\x6e\x7a\xc7\x59\x5a\x94\x79\x35\x2e\xb3\x1c\xa3\x5d\xec\xd8\x34\x4f\xfd\x02\xb5\x99\x57\xbc\x29\x1f\x23\x7f\x3c\x49\x6d\xa5\xa4\x64\x69\x72\xbe\x52\xf2\xb4\x67\xc7\x66\x5c\x56\x5d\x33\x8e\xf9\xa1\xea\x45\x18\x2d\x0e\x07\xd3\xdb\x12\xa0\x17\x77\x0d\x51\xb0\xea\x08\x88\x1d\xd6\xbf\xde\x81\x3a\x94\xa5\x7c\x51\xcf\xb5\xd7\x11\xc1\xd8\xa9\xc2\x2d\xfc\xc4\x00\x9e\x47\x1a\xa9\xa5\x8e\x06\xc7\x1c\x37\x3d\x83\x98\x53\x43\xcf\x16\x3d\xd4\x23\x64\xfb\x7f\xff\xdb\x69\x09\x76\xda\x4f\x48\xc8\xd4\x96\xed\x7f\x71\x3c\x01\xfb\xa4\x8c\x3a\x7a\x4f\x0e\x19\x14\x28\xd8\x3b\x89\xc1\x4e\xdb\xb4\x88\x90\xe2\x6b\x78\x1d\xa7\x51\x76\x3d\x74\x17\x81\xf7\xcb\x17\x42\x23\xcb\xee\x2d\x6d\xa7\x59\xe1\x96\x81\xaf\x77\xa6\x50\x28\xe3\x3c\x30\x09\x0c\x83\x8e\x08\x76\xb0\xa7\x80\x85\xbe\x9b\xf7\x1d\x41\x6f\x4d\x71\x37\x76\x15\x4e\x18\x23\x1e\x66\x9f\x7a\x48\x33\x2f\x4c\x7a\x4a\x03\x7e\xcd\xad\xb5\xa1\x7b\x2d\x25\x72\x0a\x37\xb8\x45\x92\x0e\x79\xae\x74\x99\xa2\x77\x92\x6a\xaf\xd6\xc9\x64\x10\x04\xb6\x27\x34\xed\x37\xa3\xdd\x00\xea\x8a\x37\xc6\x11\xa9\x19\x5c\x48\x12\xa7\x30\x16\x74\xc5\xbc\x59\x0f\x70\x2b\x0d\xb5\xe8\xfd\xda\xa7\x4e\x8f\x56\xf4\x9e\x64\x6a\x65\x51\x9b\x94\x8b\x86\xfc\xc3\x8a\xff\xcf\xe4\x18\xed\x8c\x1c\x1e\x60\x61\x1a\x5f\xc9\x54\x0b\xfc\x3c\x95\xa6\xe2\xf9\xc3\x06\x0a\x1e\x36\x43\x96\x8a\x39\xa1\x41\x11\x0c\xb3\x38\x4b\xb2\xa9\x6b\xbd\x17\x4d\x8d\x3a\x9b\x67\xc8\x67\xe4\x40\x8d\x27\x37\xee\x9d\x0e\x75\x4d\xd4\x7e\xce\x40\x5d\x0c\x75\xbf\x48\xd4\xce\xad\xbe\xde\x1d\x9a\x27\xb7\xd2\xac\x14\xb9\xc4\x84\xca\x91\x8c\xda\x75\xfc\x9d\xd9\xf9\x28\x2d\x42\xbb\x96\xb2\x72\xd3\x02\x6a\x35\x21\xa7\x1a\x8a\x62\x99\x96\xe1\xa7\x0e\xe3\xed\xac\xa5\x2e\x3e\x09\x3e\x18\xd5\x28\x89\x8b\x99\xb3\xfe\x21\x1a\x7d\x29\x15\xb5\x8c\xac\x66\x44\x73\x1a\x02\x12\x87\xfb\xfc\x87\x49\x65\x6d\x92\xfd\x83\x71\x67\x88\xf5\x64\x86\x98\x90\x9b\x2e\x25\xe2\xc2\xa5\x36\x30\x84\x8f\xb3\x5c\xa9\x07\xc9\x72\x9d\x3b\x88\x3e\xe5\xa8\x36\xf5\x31\xf4\xa3\xb6\x0e\x3d\x98\x38\x07\x8b\x9f\xb9\xd5\x7e\x6f\x2a\x25\x67\x13\x22\xbd\x71\xed\x2b\xf3\xb1\x23\x18\xe1\x33\x97\x1b\x12\x03\x41\xca\x2d\x16\x6a\xb3\x81\x8b\x5f\xa6\xf1\x5c\xc6\x48\x92\xae\x00\xe4\xf4\x02\xc1\x18\x60\xd4\x0f\x45\x11\x83\xfd\x1c\x33\x95\x67\x5a\xd6\x09\xab\x32\xeb\x1a\xce\x63\x79\xd0\x0a\x9d\x3f\xe4\xa7\x12\x72\xea\x21\xd2\x35\xd8\x50\x0f\xae\x63\x3c\x62\xb2\x14\xd5\xd0\xec\x4a\xe6\x79\x1c\x49\xb4\x1a\xeb\x39\xc0\x6e\x3c\xff\xf1\x50\xdf\x22\x5c\x40\xfd\xe4\xa2\xdf\xeb\xa9\x2d\xd9\x9d\xc6\xe5\xac\x1a\xc1\x35\xf1\xc3\x7f\xfb\xfe\x8f\xff\xfe\xc3\x0f\x6d\xd7\x51\xc4\x8b\x30\x6b\xd9\x68\x2c\x5b\x7c\x3a\xc1\xca\xc7\x50\x8d\xd5\xc9\x66\xff\xf6\xe4\xf8\xe7\x83\xb3\x23\x71\xf0\xf6\xb8\x6f\x9f\x0a\x22\x9c\x21\x7c\x37\x14\xbb\xbb\xbb\xfa\xe2\x00\xee\x26\x98\xab\x11\x9d\xc9\x85\xc3\xa4\xa0\xfa\xc4\x55\x76\x29\x23\x11\x2a\xf4\x02\x18\xe7\xe2\x00\x3a\xa9\xff\x77\x3c\x21\xc7\xdb\x1d\x87\x5d\x25\x89\x30\xf7\x6f\x60\x24\xc0\x2d\x6c\x6e\x71\x88\x8a\x37\xc3\x5e\xe4\x59\x99\x81\x3e\x3f\x9e\x85\x71\x8a\x6b\x88\xa9\x17\xb3\x92\xc6\xeb\x6f\xda\x2a\x2d\xe3\x44\x84\x84\x63\x7e\xd1\xd7\xf4\x9f\x22\x1f\xb0\x22\xd9\xf9\x77\x1b\x90\x0a\xab\x80\x48\x3d\x48\x6d\xf1\xd6\x24\x1c\xc9\x84\x8e\x07\x4d\x29\xc8\x13\xf0\x0d\x24\x7f\x8c\x84\x49\xf7\xea\x1f\x97\xeb\x46\xc5\xe9\x01\x6e\x9c\xcc\x4d\x2c\xc6\x9e\xe0\xbe\xec\x60\x26\x6a\x47\x34\x23\x82\x81\xf2\xbd\xda\x52\x8d\x4b\x39\xd0\xff\x0e\xdc\xeb\x1d\x90\xc9\xd4\x37\x58\x12\x18\xb3\xe7\xe3\x13\x27\x5e\x80\x95\x05\x1e\xe0\x8f\xda\x15\x07\x8a\x77\x04\xc1\xce\xc1\x01\xa3\x93\x75\xdb\xd7\x5d\x78\xd4\x32\x9a\x41\x9b\x47\x6c\x58\x02\x1d\xe0\xa7\xe7\x0f\x99\xcb\x53\x7d\x4c\xf8\x03\x52\xa8\xab\xc6\xdf\xb1\xcb\x21\xdb\xa3\x5b\x92\xd9\x4f\x59\xc9\x05\x5d\xc7\xc1\xe2\xa9\x23\x75\xf2\x43\xcc\x69\xd6\x17\x53\x59\x96\x32\xa7\xaa\x62\xdd\x1d\x5d\x24\x83\xaf\x12\x96\x46\x6e\x88\xcb\x6a\x69\xe1\xee\xa9\x06\x43\xb2\x59\x23\x80\xbe\xcd\x1b\xcf\xfd\x95\x51\x30\x3f\xc8\xa7\xcf\x5d\xde\x52\x87\xd0\xb8\x86\x40\x28\x6d\xf7\xf2\xf9\xd8\xf0\x68\x67\xb7\x41\xd3\x3e\x6f\x08\xca\xea\x1c\xaa\xd2\xcb\x7c\x69\x54\x5e\xab\xe7\x82\x59\xcf\x9e\x2c\x8c\x39\x60\x4e\x16\xd8\x93\x24\x9b\x70\xc0\xeb\x59\x57\x59\xc8\x64\xc2\x4b\xe4\xd4\xc6\x43\xf2\x39\x9d\xcf\xb1\xd4\x29\xd1\xa1\xc6\x82\xb6\x63\xb2\x69\xd1\x48\x3c\xcd\x4d\xc4\xce\xe5\xb0\xe6\x17\xe2\x6d\x1e\xcf\xc3\x3c\x4e\x96\x1d\x3c\x26\xf4\x9c\x99\x7b\x3c\x89\x53\x3c\x4a\xda\x58\x5f\x37\x0d\x7c\x22\xc3\xb2\xca\x4d\xf0\x54\x9c\x96\x20\xf9\x98\x7a\xbf\xa3\x25\x24\xe9\x8a\x31\xbd\x7f\xd1\xc1\x8a\x94\x05\xc5\x53\x67\xa5\xf1\x90\x61\x01\x1f\xbd\x1e\x39\x99\x18\x11\x02\x1f\xe2\xb9\x8f\xcb\x14\x67\x69\x5f\x7b\x3e\x7d\x28\x16\x32\x9f\xa0\xd7\x13\x2c\xe1\x2e\xc3\x49\xef\x91\x73\x51\xeb\x48\x82\xc4\xbb\x21\x2b\x26\x28\xb7\x9c\x29\x88\xa7\x8c\xf6\xed\xf3\x73\xc6\x18\x6c\x85\xaa\x0b\xd1\x67\x6d\xda\x5d\x73\x30\xb0\x1c\x24\x9a\xa6\x06\x34\x11\xf2\x09\x6a\x35\x0c\x89\xef\x15\xc3\xff\x80\x75\xb8\x0e\x59\x61\x14\x1d\x9b\x57\x2d\x7d\x32\xdb\xd6\x1d\xc6\x8b\x39\x9d\x7c\xf9\xc2\xf9\x9b\x57\xcf\x95\x45\x93\xac\xbf\x91\x65\x83\xb0\x79\xe8\x91\xe0\x9c\x1d\x6d\xfb\xd7\xa3\xe3\xec\x8b\x7b\x83\x51\x5f\xf5\x82\xea\x2b\x37\x8b\xaa\x6e\xd0\xb7\xb0\xf9\x5b\x33\xf7\x3e\xfb\xdb\xc2\x6a\x60\x28\x76\x5d\xf8\x4c\x0c\x37\x69\x14\x7e\xdc\x49\xf8\x27\x55\x6d\xa5\xfe\x06\xeb\xb4\xf2\xd2\xf4\xb8\x78\x5b\xed\xd7\x03\x5c\x6f\x3d\x82\x7a\xe5\x82\x3b\xf4\x05\x1e\xc1\x64\x1f\x71\x8e\x0f\x37\x0a\x17\x23\xf6\xe6\x14\xa9\xb7\xc3\x0d\x2d\xad\x20\xcd\x8a\xf1\xc2\x09\xd9\xdb\x3e\x44\x77\x18\xf9\x69\x91\xe5\x25\xe7\x73\x98\xf9\x32\x2c\xb0\x9c\xf1\x1d\xf1\x3a\xd3\x6e\x6c\xc4\x92\x8d\xb3\x3a\xa8\x98\xa4\xa3\x74\x9d\x60\x4d\xb4\xf6\xb0\x85\xa9\xa1\xd0\x99\xc9\xb9\x6d\x89\x91\x37\x0e\x5e\xed\x75\xba\x6b\xa1\x35\xe6\x07\x63\x7a\xd0\x8c\x6d\xcb\x35\x3a\xe0\x61\xb9\xf6\xa2\x52\xab\x09\x74\x3b\xa2\xaf\xdc\xc8\x05\x27\xcb\xc9\x10\xbe\x32\xe1\xfa\xda\x3b\x6c\x94\x67\xd7\x05\x1c\x3d\xa4\x95\x76\xf5\x00\xb4\x7a\xaa\xad\xb5\xff\x8b\x5c\x7b\xd4\x84\x1e\x6b\x37\x9f\x79\x16\x55\x89\x1c\x6c\xeb\x8f\x8e\xf0\xf9\xf6\x13\x44\xd1\xe3\x49\x9c\xa0\x05\x71\xb0\x0d\xc9\x63\x20\xdf\xa3\x7e\x2b\xc4\xe3\x28\xbe\x82\x50\x47\xb3\x74\x83\x6d\x02\x61\x35\x39\xdb\x5c\x88\xc7\x8b\x27\x06\x43\xa2\x8c\xcb\x44\xf6\xc5\xe3\x91\xbd\x3b\x86\x47\xdb\x4f\x1e\xf7\x46\x4f\x1e\xf7\x16\xee\x87\xde\xfc\x9a\x3e\xc7\x26\x67\xcd\x40\x1e\xf7\xa2\xf8\x4a\x4f\xac\xa7\x66\xd6\x30\x4b\x5c\x97\xee\x87\xc2\x8e\x5a\x2f\x0a\xe2\xaa\x15\x78\xb8\x0a\x3a\xe2\xfc\x82\x49\x64\x5d\x56\xcb\x34\xa8\x21\x43\xb5\x0e\x90\xe2\xc0\xfc\xa5\x81\x39\x06\x30\xed\x46\xa2\x5f\x7a\xee\xb8\xf8\xbe\x0b\xf3\x57\xec\x4b\x37\x3b\xdf\xbb\xc0\x87\xfb\x0d\xad\x19\x6a\xc4\xc0\x27\xb4\x96\x87\xdb\x76\x13\xa8\x95\xf1\xa4\x62\xd8\x7b\xdc\x23\x52\x7a\xe2\x59\xe7\xb5\xcf\xab\x67\x9b\xf7\x4c\x81\x75\xeb\x9f\xb5\xf8\x09\x7e\x7f\x03\xd7\x40\xfe\x28\xf7\x6f\xbf\x2d\x7d\x47\x1a\x77\x7b\xa6\xd3\xee\x4e\x92\x4d\xd7\x6d\xcf\x74\x29\xaa\x74\x1c\x56\xd3\x59\xc9\xca\x96\xc5\xa9\x46\x23\xe3\xd6\x20\x65\x45\x32\x91\xd3\xb0\xd4\x22\x9c\xd5\xd0\xbb\x5b\xa6\x32\x08\x24\xb2\x10\x60\x2c\x50\x73\xc1\x4b\x12\x30\x1e\x2c\xcd\xf7\x20\x0e\x0e\xd5\xc8\xba\x90\x54\x7f\x48\x3a\x5d\x92\x4d\xc1\x3b\x19\x8d\x05\xf7\x39\x23\x80\x73\x24\x4b\xf4\xfd\xbe\x38\x4e\x45\x95\xc6\xa5\x28\x65\x51\x16\xa0\xb5\x0d\x69\xd0\xbb\xf3\x6c\x7c\x59\x74\x3f\x14\x43\x35\xe4\x24\x0b\x23\x19\x75\x5c\x7b\x42\x5c\x68\xf5\x31\x92\xa9\x18\x2d\x9d\xcb\x9b\x57\xd9\xf8\xb2\x5b\xc3\xab\x50\x50\xeb\xe8\x5e\xd1\xc8\xc3\x38\x42\x8b\x3f\x54\x2f\x99\xea\x51\xde\xbd\x2b\x68\xa7\x30\x4f\x93\x0f\xe4\x3c\xe0\xef\x3f\x03\xfb\x0d\xa9\xb6\xb8\x03\xbb\x93\x50\x1d\x9e\xcb\x56\x50\xeb\x9d\xd3\x17\x50\xd6\x7d\x7e\x84\x32\x73\x07\x7d\xd6\x41\x4f\x51\xd6\x54\xd8\x75\xef\xce\x65\x51\x84\x53\xa8\xd6\x11\x88\x16\xb4\x84\xab\xb3\xed\x40\x3c\xc0\x0f\xc5\x03\x11\x6c\xb7\x83\x7d\xfb\x35\x9e\x8c\x06\x86\x79\xb3\xa2\xbf\x40\x40\xd1\x4e\x31\xe6\x6e\x4d\x73\x69\x30\x2d\x30\x93\x8f\x76\x57\x11\x98\x84\x43\xa9\x2b\xc3\xda\xa4\x87\x1d\x70\xc9\x08\x2f\xa5\xc6\x20\x78\x19\xe9\x56\x85\x98\x84\x71\x22\x66\x61\x1e\x99\x80\xc2\xa5\x98\x81\x5f\x61\x87\x47\xad\x83\x5d\x2b\xc9\xa6\x53\x96\x48\xc1\x23\xb2\xc7\xb3\x5c\xf4\xc0\xab\xe7\x75\x56\xca\x0e\x45\x4f\x66\x91\x14\xf2\x93\x1c\x57\x68\xd7\x42\x0f\xf0\x5d\xe6\x01\xae\x1e\x88\x72\x96\x15\x92\x1b\x8d\xd1\x2c\x8d\x3b\x5e\x1d\x6b\x59\x3a\xec\x0d\x15\x7b\x07\xd7\x23\xbc\x21\x29\xda\xe8\xbd\x0a\x9a\x04\x6d\x16\x3e\x35\x1a\x26\xbb\x68\xac\xd1\x69\x9d\x44\x15\xf8\x56\x95\x26\xb2\x28\xec\xb8\x29\x66\x37\xa4\x28\xcb\xb6\xd9\x57\x50\xde\x42\x5c\xc7\xc5\xac\x03\x7f\x8d\xc3\x54\x68\x37\xec\xa6\x31\x75\x84\xec\x02\xbd\x8b\x21\xb8\x0e\x8a\x6e\xb7\xab\xbd\xfe\x36\x96\xfd\x1a\x7a\x6e\x3a\x50\x76\x63\xc5\xf8\x90\x2d\xbe\x11\x16\x45\x36\x8e\xed\x8d\x1b\xf8\xa2\xab\xe6\x0d\xde\x2f\x83\x15\xd1\xaa\xb1\x1a\x31\xdf\x14\x11\x8e\xb2\xca\x5a\xe6\x20\x8a\x25\xd5\xf1\x83\x96\xa6\x09\x3a\x44\x99\x03\x85\xa7\x84\x1e\x7e\x10\x1c\x79\xb3\xda\x7c\x20\x24\xd9\xd4\x39\x0a\x93\x6c\xea\x9d\x05\x9b\xb7\x2b\x1e\x79\x86\x63\x92\xdf\xa8\x7a\xe0\xf8\x8d\x6a\x69\xd9\xf1\x92\x3c\x78\xfb\xf6\xe5\xf1\xe1\xc1\xd9\xf1\x9b\xd7\xbf\xfe\xe9\xf4\xcd\x6b\x31\x10\x01\xd3\x62\x7b\x1f\x8a\x2c\x0d\xf6\xa1\xe9\xe1\x9b\xd7\x67\x47\xaf\xcf\xd0\x01\xa0\xe1\xbb\xcf\xc1\x21\xe6\xc4\xde\x3d\x5b\x2e\x64\xd0\xaf\xc3\x7e\x20\x82\xfd\xf1\x2c\xcc\x0b\x59\x0e\xaa\x72\xb2\xfb\x43\xb0\x42\xd0\xea\xed\xaf\xa7\x67\x07\x27\x67\x70\x17\xfd\xfe\xfc\xcb\x7f\xbe\xff\xdc\x7a\x7a\xe7\xfd\xe7\x76\x8f\xb5\x38\x7a\xfd\xec\x54\x75\xb4\x25\x44\x70\x1e\xf4\x45\xef\x62\xa7\xa7\xc4\xdf\xe0\xb3\xfa\xb1\xda\xe9\x6d\x71\x78\x6f\x4f\xde\x9c\x1d\x1d\x42\xef\xe8\x2e\x89\xb0\xdb\xef\x2f\xde\xaf\x82\xce\xd3\xf7\x69\x6f\x9f\x3b\xfa\xe0\xe9\xf4\xa2\x2c\x17\x27\x68\x13\x97\xe0\x4f\xa3\xe8\xa3\x15\x85\x65\xd8\x11\x33\x19\x46\xa6\xfa\xbb\x63\x60\x03\x9f\x52\xbd\x16\xbd\x1e\xd4\xbd\x5c\x08\x85\x3b\x71\x55\x25\xa9\xcc\xc3\x51\x9c\xc4\xe5\x12\xac\xa8\x74\x03\xb0\xc8\xe5\x24\xfe\x84\x97\xd4\x79\x3c\x57\x94\x56\x62\xea\x7f\x80\xa2\x53\xcd\x91\x17\xb8\xea\xc1\x78\x7f\x36\x4f\x0f\xdc\x40\xbb\x50\x35\x40\x2b\x6a\xe0\xf6\x42\x40\xdc\xa8\x46\x4a\x5f\x8e\xae\x1d\x7a\x66\x2d\x77\x05\x9d\x6c\x7c\x2d\xfe\xc5\xbd\x7b\x82\xff\x36\xb5\x0d\xfd\x15\xc7\x9c\x36\x7b\xed\xb6\x52\xef\xe2\xe2\x4f\x45\x96\xbe\x8c\x2f\xa5\x1d\x93\x13\xa8\x81\x33\x9d\xe4\xd9\x5c\x35\xb4\x8d\x1a\xdc\x7c\xb7\xac\x2b\x89\xfa\xcc\x75\xb3\x61\x1d\x15\x36\xed\x0b\xb8\x0b\x15\x59\x7a\x0a\x75\xf9\xc0\x5b\x89\xcc\x9d\x96\xfa\xa8\x2b\x2d\x81\x99\xd6\xf7\xee\x59\x02\x3c\x37\x8f\xcf\xf7\x2e\x2e\x30\xa3\x8b\xea\x86\x8b\x64\x6f\x15\x8d\x6b\xac\xe2\xa5\xd2\xa5\xa4\xd4\x1b\xa6\x7a\x54\xa3\x23\xa2\xfe\xe6\x24\xbc\x36\x7f\x43\xa5\x77\x6c\xb0\xe5\x54\x2d\xd5\xb7\x43\x6f\xd1\xb6\xcd\xda\x37\xf4\xc6\xf8\x13\xd8\xc2\x5f\xd0\x9a\x3b\x54\x4d\xc9\xf2\x14\x34\x9d\x2b\xf5\x55\xb8\x68\xb5\xa1\x92\x15\x64\x83\xea\x88\xd8\xf8\x1d\xdd\x31\xdf\x12\xc6\xf0\x53\x78\xaf\x73\xbd\x53\x13\xf2\x0b\x0b\xde\xa7\x41\x9b\xf1\xba\x24\x4e\x0d\x0f\x8b\x31\x77\xb8\xa5\xa6\xa0\xaf\x49\x10\x4a\x53\xf1\xc4\x70\x8a\xc8\xa1\x6d\x51\x8d\x8a\x32\x6f\xed\x75\x44\x6c\x6a\x64\x5c\x85\x09\xdc\xc7\x7b\x6d\x62\xf1\x40\x3c\x6c\xf3\xad\xe1\x54\xe7\xc2\xb1\xeb\x7a\x47\xfc\xd7\x53\xe7\xd7\x03\xa1\x94\x18\xac\x48\x25\xfa\xea\xff\x99\xbe\x8c\xd0\x3d\x6c\xac\xac\x87\xe4\x89\xb9\xc3\x75\x0b\x8e\x93\x6e\x5f\x80\xe3\x79\x01\x87\xf9\xc2\x59\x54\x7d\x06\xbf\xd0\x6b\x9c\x4b\x91\x84\x7f\x5d\xea\x66\x20\xce\x60\x6e\x84\x1c\x8b\xbc\xc0\xed\xc9\x7d\xf1\xbf\x0a\x29\x9d\x05\xf7\x08\xaf\xe5\xf8\xe3\xb4\x2d\x05\xea\x9e\xd0\xdb\x5d\x8d\xce\x0e\xae\xeb\xd2\xa1\x59\x4e\x3a\x66\xdb\x2b\x36\x51\x34\x9d\xb3\x54\x80\x78\x83\xef\x38\x15\x68\x09\x58\x88\x5d\xef\x8d\x50\x92\x51\x82\x15\xb4\xe8\x28\x63\x17\xe1\xf4\x12\x87\xac\x09\x3e\x87\x3c\xcf\x6b\xc0\xa5\x19\xab\xd4\x6e\x00\x19\x57\x23\x5e\xa9\x38\x49\x38\xf2\xd9\xf6\xa1\xa7\x3f\xe1\x9d\x40\x6d\xff\xd0\x83\x37\x23\x08\x64\xd6\x26\x24\xd3\xec\xa9\xc1\x70\x9f\xd7\x3c\xdf\xaa\x1f\xf6\xdc\x38\xc5\xb7\xdb\x9b\xd1\x87\xb6\xdb\x4b\xf3\x8e\x66\x94\xee\xda\xb9\x8c\xb3\xa7\x65\xfd\x6f\x46\x1f\xce\xed\xfe\x82\xe6\x17\x9c\xfd\x53\xf3\xc1\x40\x5c\x65\x71\x24\xf6\xdc\xa8\xa0\xa4\x96\x5e\xdb\xab\x6b\xc9\x92\x4b\x92\x29\x8a\x5e\xd8\xee\xc9\x77\x86\x6d\x96\xc3\x59\xa8\xf4\xcd\x24\xa1\x2b\x6f\x13\x58\xc0\xf5\x05\xc6\xf5\xad\xa5\x1f\x92\x7e\xd0\x3e\xa0\x72\xaf\x78\xa4\x63\x20\x8a\x3a\xd3\x91\x99\xf2\x9d\x70\x7f\x85\x47\x90\x8e\xcf\x33\x4d\x1d\x49\xb2\x81\xd6\xcd\x8e\x39\x3b\x7b\x6b\x7e\x68\xb2\x4f\x9d\xaf\xd3\x6a\x3e\x52\x9a\x61\x51\x86\x65\x45\x5f\xd0\xdf\xa0\x3b\x98\x60\x4c\x1c\xae\xf3\x6d\xcb\xf5\x4e\xeb\x3e\xd6\xbf\x9f\xb4\x57\x62\x92\x16\x42\xff\x26\xef\x39\xf4\x2e\xcb\x26\x16\x6f\xde\xb6\xbd\xbf\x12\x46\xc4\x51\x62\xbf\x12\x31\x5c\x4a\x37\x28\x80\x50\x33\x47\x0a\xea\xd0\xb8\x3b\xaa\x6b\x2e\x12\x99\x9a\x5b\xea\x79\xdb\x91\x62\xd3\xa2\x19\x46\xdb\x39\x31\x26\x69\xc1\x4e\x88\x89\x89\x3f\xd2\xf2\x41\xba\x16\x88\xcf\x80\x8d\x68\xc0\x65\x83\xd3\x0a\xb8\x58\x8b\xbe\xe2\xc1\x36\x8f\xf6\xf6\xc4\xe3\x81\x5e\x90\x7b\xf7\xf4\x5f\x8f\xc5\x77\x7b\x7b\x0e\x69\xae\x77\x56\x9d\x95\xe5\x62\x93\x9b\xea\xbb\x42\x8a\xa1\xd3\x0a\xbc\xd3\x30\xe3\x0e\x46\x8f\x92\x9d\x64\x24\x67\xe1\x55\x9c\xe5\x9a\x28\x98\x66\xa7\x3e\xc7\xae\x56\x8e\x99\xc5\x51\x42\x5e\xb0\x3e\x48\xf1\xf0\x7d\xef\x6c\xe4\x89\x68\x9e\xc1\x5d\x1a\x4c\x83\xcf\xdd\x96\xf6\x06\xb9\x6f\x6e\xab\x2c\xf3\xd4\x73\x20\xd7\x4b\xb5\x27\xd5\x3e\x5e\x33\x05\xda\xa9\xe4\x8d\x89\x30\x77\xc5\xfd\xfb\x43\xdd\x3b\x86\xed\x0e\xef\xab\xc7\x46\xea\xd9\x65\x7c\x7b\x54\xc5\x09\x79\x34\x70\x4f\x5b\xf5\xd5\x73\x34\x91\x88\xa1\xf3\x73\xb8\xc2\x6e\x30\xaa\x34\x4e\x12\x73\xc8\x81\x02\x08\x71\xaa\x7a\xd4\x7a\x78\xe2\x7a\x66\x02\x26\xe2\x5c\x0c\x71\x50\x4e\x0c\xc6\xb0\xcc\x2b\x39\x24\xaf\x52\xd2\x97\x75\x88\x85\x9e\x0d\x4e\x46\x7b\xe3\x0e\xd1\x8b\x0e\x12\x20\x98\x8e\x60\x54\xe8\xcb\xb4\xa4\xde\xb2\xeb\x54\x8c\xab\xa2\xcc\xe6\x08\x1c\x81\x18\x57\x8e\x24\x11\x23\x1a\x77\xd4\x15\xa7\xd2\x90\x0b\xa0\xf8\xee\x18\x2e\x81\xa7\xf8\x4b\x1c\xe2\xaf\x15\xcc\x70\x9e\xe5\x4e\x8c\xc6\xfa\x45\xf8\x54\xe4\x93\xc3\x2c\xbb\x8c\x21\x6b\x25\xad\x86\x16\x5c\x77\x31\xda\x0d\xfc\x74\x55\x13\x4e\x0d\x6a\xf6\x7f\x3e\x3d\x79\x8e\x8e\xf2\x84\x9d\x67\x04\x96\x8e\x8f\xb8\x10\xc3\x40\x35\xda\x3d\x7b\xf3\x1f\x47\xaf\x83\xe1\xe6\x71\xe0\x59\xb7\x71\x1c\x8c\x1d\x83\x10\x93\x2d\x2a\xb8\xfe\xd5\x66\x02\x04\xcd\xc6\xd5\x3c\xa4\xdd\xdb\x0d\x8a\xb8\x51\x8d\x46\x09\xa6\x39\x17\x34\x51\xe1\x4a\xb8\x94\x2f\x4e\xe4\x04\x07\xeb\x6d\x94\xbb\x85\x2c\xcb\x38\x9d\xee\xaa\x1f\xbb\x1a\x14\xed\x1e\x28\xa0\x46\xe6\x61\xb4\x64\xd0\xe6\x14\xf4\x95\xd9\x8d\x56\x9c\xd1\x7e\x7d\x8d\x73\xe8\x8e\xb3\xf9\x3c\x4b\x87\x9a\x59\xac\x6f\xb8\xc8\x8a\xf2\x36\xcd\xaa\x5b\xb5\x52\xca\x98\x6e\x07\xff\x07\x2e\x5a\x50\x60\x40\x2f\xcc\x00\x6d\x27\xec\xb7\xd1\xb9\xcd\x59\x25\xe2\x74\x9c\xa9\xf3\xdd\x9e\xfa\xea\x20\x80\x76\xa6\x91\xd6\xf1\xfb\xe2\x7c\x93\xe6\x7f\xd1\xd9\xaa\xc3\xcf\xaa\x12\x53\x21\x69\x09\xa3\x09\x3c\xbc\xe9\x8b\x73\x73\x90\x45\xb5\xe8\x5f\x23\x1b\x46\x6d\xa8\xd9\x1a\x17\xcf\xe3\x44\xda\x5f\x3f\x26\xd9\x88\xbd\x33\xc7\xb0\x92\x21\xcb\x0c\x74\xe4\xa8\x2d\xfa\x22\x22\xc1\x8a\x0d\xd6\x5b\x71\x78\x4c\x7f\xf7\x99\xe3\xb6\x5a\xe6\x3e\x93\xe4\x82\x03\x88\x7b\x0d\xfa\x75\x23\x10\x66\xf5\xef\x2d\x12\x70\xfe\xba\xdf\xbb\x1f\x68\x49\x4f\x5f\x40\x2a\x62\xe8\x0b\x21\x8a\x19\xb8\x78\x1c\x66\x8b\x65\x6b\xa3\xcd\xc8\x78\x17\x2d\x2a\xf8\xf0\x5b\xbe\x54\x34\xd3\xff\x9a\x2f\xb7\x68\xcc\xf0\xaf\xcb\xd1\xfa\x82\x33\xa0\x8e\x69\x61\x79\x8d\x6a\xc1\xf9\x81\x71\x6a\x57\x44\x5a\x15\xf2\x60\xb1\x48\x96\x50\xa5\x49\xb3\xf7\xfd\xdb\x79\xbc\x3b\x67\xae\x03\x68\xe3\xc1\x7b\x98\xa5\x93\x78\x5a\xe5\x04\xc1\x5c\x62\x40\xdd\xd7\xf9\x28\x4e\x21\x56\x51\x89\x3b\xe0\x55\x3c\x11\x3a\x19\xb0\x20\xee\x83\xe4\xae\x34\xa1\xb1\x8c\xaf\xc8\xe1\x30\xcf\xaa\x34\xd2\xc7\x23\x66\xc6\x03\xef\x43\xb8\x78\x66\x9c\x29\xcf\xb2\x12\x62\xda\x30\xb2\xed\xee\x4e\x68\xa7\xcf\x5e\xb2\xc7\x2b\x8a\x31\xc5\x0c\x67\x05\xdc\x06\x69\x5e\x15\x4f\xd3\x78\x12\x8f\xc3\xb4\x14\x0b\x99\xc3\x71\x04\xfe\xbe\x73\x75\x30\x4b\x9d\xa4\x46\x8c\xe2\xe9\x54\xe6\x8e\xa7\x0d\x1e\x97\x60\xf5\x9f\x87\xe9\x12\x19\xbf\xe6\xac\x74\x5a\x66\x29\x39\x53\x27\x4b\xd1\x42\xc2\x37\x76\x6e\x0b\x4a\x8c\xb2\xac\x2c\xca\x3c\x5c\xb4\x39\xa7\x37\xe7\x42\x99\xe1\xaa\x76\xd5\xd9\x9e\x66\xf6\x9c\xc0\xb3\x5a\x42\x9e\x12\x94\xae\xb9\xff\xf6\x58\x2f\x53\x64\x02\x51\x0d\x6c\x2d\xdd\x8f\xb2\x2c\x91\x61\x3a\xd0\x11\x9a\xc6\x97\xf3\x1a\x53\x2e\x91\x64\x00\x7a\xbf\xb9\xb7\x92\x4b\x3c\xfa\x0b\x75\xec\x57\x4a\x4d\x56\x3b\x5f\xe6\xb9\x8c\x0c\xb7\xdd\x06\xf4\x6f\x6b\x3f\xe8\x14\xd2\x38\xc5\xe3\xcb\x8e\xd2\xaa\xe0\x74\x56\x4b\xab\x50\x5b\x54\xa3\x42\xf5\x93\x96\xb6\x3f\xa5\x80\x89\x3c\xab\xa6\xb3\x64\x29\xfe\xdf\x87\x7b\xf3\x42\xe8\x6b\x7d\xeb\x0b\xad\x06\x04\x6a\x16\x04\x8b\x5b\xa2\xa1\x2c\x8d\xe3\xe5\x38\x71\xe7\x6c\x54\x10\x9a\xb5\x89\x06\x3a\x9e\x88\xd0\xc7\x6a\xec\xa3\xd5\xd9\x2d\x98\xf6\x72\x86\x92\x86\x3d\xd9\x4c\x66\xd3\xaf\x59\x11\x1b\xf6\x51\xdb\xcb\x4e\x5d\x77\xae\x94\xc7\xc5\x33\x54\xe1\xe9\x95\xe5\xf2\x3e\x8c\x3b\x77\x9c\x12\x0b\x3a\x8d\xff\x2c\x2e\x78\xd8\x21\x3d\x76\x3e\xde\x5f\x1b\x3c\x73\xb3\x00\x0f\x61\xbb\x8a\xa9\x67\xf9\x66\x21\x1e\x94\x4a\x2e\xb5\x69\x66\x82\x77\x8c\x31\x13\xe3\xd5\x98\x66\x79\x96\x66\x55\x01\xba\x26\xff\xdd\x2c\xe2\x63\x17\x8b\x5c\xee\xba\xfc\x48\x9f\xa0\x59\x0e\xc7\x87\xff\x92\xd8\x13\xa7\x9d\x33\x08\xe0\xaf\x8f\x4d\x11\x5e\x96\x63\xcc\xc8\xc8\x88\xd2\x1d\x11\x77\x65\x17\x77\x8a\x6a\x01\x7b\x1d\xaf\xe6\x0c\x95\xc2\x57\x14\x40\x80\x7d\x80\xe6\xdc\x11\x59\x6a\xc1\x60\xba\x42\x0c\x83\x87\x0f\xe8\xb5\xd1\xd3\xcd\x00\x7d\xd1\x8d\x2f\x80\x38\xe6\x3f\x22\x59\x86\x71\x02\xa3\x99\x64\x2b\x57\xe2\x61\x5f\x3d\x37\x73\x24\xe9\xc7\x81\x88\x95\x88\xeb\x97\x4a\xaa\xef\x1f\xc3\xf1\xa5\x4c\x23\x70\xba\xd0\x4e\x33\xea\x6f\xae\x08\xc1\x03\xc3\xac\xe1\xd7\x47\xf8\x7f\x1b\xb1\x44\x04\x6b\x2f\xa8\x18\xec\x8e\xd0\x90\x3b\xc2\x81\xdb\x61\x47\x40\x47\xec\x7c\xec\x58\x97\x33\x13\xda\xc4\x44\xbb\x43\xd2\x89\x1c\x18\x2d\x9c\x46\xa0\x2d\x59\x2c\x14\xca\x41\x64\x51\x66\x39\x2e\xaa\xb3\x44\x5d\x71\x9c\xa6\xd2\xc1\x65\xa1\xdd\x49\x21\xdc\xd7\x79\x63\x82\x2f\x20\x59\x27\xc0\x09\x13\x9b\xa4\xca\x4f\xd0\xa9\x34\xce\x48\x54\x0b\xa0\x23\x03\x07\xd2\xc0\xa0\xd9\x0a\x4e\x51\x1e\x07\x85\x39\x84\x35\x49\xb9\x51\x08\x0a\x13\x34\xf6\xe8\xb8\x71\x79\xad\x7d\xa4\x89\x34\x98\xc1\xa4\xf6\x7a\xc9\x05\xcf\x7a\x17\xa6\x3a\xad\x75\x38\xaf\x43\x60\xce\x35\x4f\x99\xef\xe0\x54\x96\x8d\xfd\xf5\xeb\x9e\x92\x0d\xcd\xf4\x95\x64\xc3\xf2\xae\x89\x74\xf3\x92\x40\x08\x9f\xeb\x99\x47\x8e\x97\x0b\x23\xd7\x7a\x03\x87\xe0\x1a\x5e\x1b\x22\x6e\x78\xf7\xb1\xe1\xd9\xba\x48\xbb\x86\xa0\x1c\x45\x68\x68\x0a\x72\x42\x72\x42\x31\x56\x14\xaa\xa3\x92\x8d\x4c\xa7\x88\x6f\x12\x8e\xe3\x24\x2e\xc1\x4f\x46\x49\x31\x55\xaa\x25\x17\x73\xf9\x9d\xcb\x79\x56\x9a\xd1\xa2\x85\x91\x32\x5a\x53\x3c\x32\x73\xa0\x3b\xff\xf3\xab\x97\xa8\xf8\x00\x51\xda\xe0\x99\x48\x5e\xc9\x44\x9d\x2d\xdd\x79\xf6\xd7\x38\x49\xc2\x6e\x96\x4f\x7b\x32\xed\x7d\x9a\x27\xaa\x0d\x51\xb1\x0e\xfb\xd2\x86\x88\x2c\x87\x4e\xce\x95\xa8\xfd\x16\xa1\xf5\x7b\x3d\x99\x76\xaf\xe3\xcb\x78\x21\xa3\x18\xe1\xa8\x5f\x3d\x68\xd3\xf6\xe3\x8a\x9e\x67\xb9\xf5\xde\xf1\xc4\x33\x92\xf4\xaa\xa2\x86\xb7\x8e\x28\xa4\x99\xb3\xe7\xae\xc3\x96\x5f\x38\x3f\xe6\xd9\xf8\x72\xd5\xd4\x7f\x28\x66\xf1\x14\xf2\x8a\x29\x2c\xa8\xa3\x28\x1c\x15\x10\xad\x04\x37\xef\x0b\xac\x95\x80\x81\x74\xda\x67\xc0\x74\xaa\x8b\xe9\x77\x77\x72\xfa\x4b\x83\x36\x0f\xb8\xd1\xce\xe9\xfc\x4c\x4b\x37\xe2\xe0\xed\xb1\xa2\x85\x51\x58\xc8\x48\x8b\x6e\xec\x64\xf9\x68\xe4\xbc\xde\x22\xcf\xe6\x71\x21\xd5\x17\xc5\x8a\xb2\xd0\x45\xe0\xb8\x24\x8c\x08\xbf\xf3\xd1\xa6\xde\xfe\x05\xf2\x00\x80\xbc\x87\x61\x5b\x15\x78\xf6\x2c\xc2\xb2\x94\x28\x26\x41\x82\x48\x4c\x6a\x37\x87\xa7\x62\x5e\x8d\x67\x1d\x3c\xfe\xa3\x2b\x25\x96\x47\xf8\x95\xee\x23\x86\x6c\x7e\xf1\x7c\x91\xe5\x25\x66\xcf\x17\x93\x70\x1e\x27\x71\x98\xc7\x7f\x95\x62\x99\x55\x79\x21\x93\x89\x21\x52\x1a\xae\x89\xd0\x9e\x56\x61\x1e\xa6\xa5\xc4\x88\x9d\xa5\xb6\xc5\x79\xe8\xd1\xbd\xdd\xbd\x2b\x7e\x92\xa9\xcc\xc3\xc4\x1d\xc5\xda\xfd\xe4\xdd\x3d\x95\xe1\xa5\x64\xb7\x47\xe6\x5e\xe9\x7f\xfe\xeb\x7f\x63\x70\x25\x88\x86\x64\x4a\x41\xba\xfe\x9f\xff\xfa\xdf\x16\x9f\x98\xbb\x50\x87\x52\x4c\x61\x28\x18\x4c\xc1\x35\x0f\xba\x77\x40\xd9\x53\x84\xee\xea\xd1\xa2\xad\x34\x50\x44\xcc\x75\xa6\xf5\x38\x14\x7c\xb5\xaa\x58\xf4\xc5\xb0\x40\xb3\xf5\x10\xc0\x0e\xd1\x35\xce\x27\x1f\x72\x20\x13\x24\x04\xf7\x7a\xe2\x14\x97\xf8\xa7\xa3\x33\x33\x2c\xed\x60\xd5\xb7\x0d\xa1\x53\x60\xe6\x41\xaf\xc8\xe6\xf2\x5d\x9e\x04\x66\x63\xc2\xff\x53\xef\xd6\x2f\x1e\x4d\xf0\xfa\x0a\xc0\x98\xe2\x11\x79\xe6\xc0\xd1\x6e\x33\x90\xbe\x0f\xf4\x3e\x0a\xf1\xb2\x06\x4b\xb8\x9a\xe3\x12\x64\xb2\xac\x7d\x6b\x92\xbf\x1b\x83\x8e\x5a\x56\x5d\x9a\x80\x37\x5f\xb9\xc3\x06\x34\xfd\x86\x41\x37\x0e\x0f\xc3\xc0\xc8\x0d\x08\x33\xd0\xd7\x3e\xcc\x72\x7b\xdc\x23\x05\x98\xa1\x63\x10\xb5\xfe\x1e\x07\xd3\x75\xe7\xb0\xcf\x16\xf4\xb6\x4b\xfc\xf6\xcd\x69\x7d\x8d\x5b\x8b\x10\xa5\x69\xcc\x2b\x5a\x5b\x72\x25\x73\xb3\x35\xef\x88\xcf\xf3\x62\xda\x0f\x66\x32\x49\x20\xc2\x35\xba\x13\xac\xfe\x45\x08\xff\x8c\x84\xa0\x5f\x9c\x9a\x22\x33\x3a\xc8\x52\x5f\x83\x4f\x78\xf0\x16\xf1\x15\x7e\x59\x1a\x8a\x21\x71\xa1\xa1\xf5\xe6\x83\xc4\xcf\x26\x61\x28\x1e\x1e\xc3\x72\x26\xd3\xa1\xce\xa7\x09\x81\xf6\x94\x98\x42\xaf\x22\xc5\x3a\x21\x63\x37\x0f\x71\x6d\xc9\xb2\xd4\xc8\x6e\xff\x5b\x77\x63\x2f\x72\x72\xb9\xc8\x65\x21\x53\x13\x11\x6f\x54\x2c\xb8\xd4\x50\x4f\xd4\xd1\x58\xc4\xd3\x14\xa3\xb1\xa0\x63\x9d\x66\x4a\x8c\x64\x92\x5d\x9b\x6b\x0d\x0d\x1e\x15\xad\x5a\x08\xf3\x81\x5d\x0b\x7e\x07\xab\x73\xdc\x3d\xda\xdb\x03\xe8\x8f\xfe\xf8\x47\x85\x2f\x96\x93\x20\xd4\xdb\x40\x7f\x17\x5a\xc9\x92\x26\x4d\xb6\x2d\xd4\x32\xa9\xb1\x21\xfa\x91\xc4\xa0\x78\x45\x53\x5d\xf0\x1f\xa5\x53\x65\x52\x27\x6e\x91\x4b\xcc\x41\xd5\xd1\x3d\xb8\x22\x1b\x76\x08\x86\x67\xcc\x19\x9d\x2c\x29\xb7\x81\x88\xcb\x8e\x98\xcb\x90\xae\x60\x28\xea\x18\xa9\xcd\xdd\x7f\x58\xec\x45\xc3\x27\x5a\x47\x8b\xd0\x78\xe6\xa9\xe1\xee\x39\xfc\x4b\x1e\xc3\x4a\xbd\x53\x12\xdb\x99\xbd\xbb\x52\x22\x9a\x23\x91\x43\xe5\x52\x47\xae\x6b\xa1\xd3\xab\x23\xac\xd1\x3f\xab\x76\x87\x44\x8a\x54\x2a\xcc\x85\x98\x70\x59\x0d\xec\x66\x19\xef\xee\x24\xa9\x8a\x99\x23\xe9\x75\xe1\x51\xab\xbd\x02\xc1\x04\x5e\xcb\x70\x3c\x13\x0b\x09\x21\x80\x1a\xa6\xe6\x9e\x94\x24\x22\x0f\x63\xb5\x9d\xd6\x4e\xdf\xee\x49\xb7\x33\xf9\x69\x21\xc7\xe5\x4f\x47\x67\xad\x6e\xb7\x6b\xb7\xb0\x3d\x64\xeb\x8f\xbd\x71\x6e\xe0\xff\x77\xef\x8a\xd3\x59\x96\x97\xe3\xaa\xd4\xc2\x81\xcf\x11\xbc\xd7\x68\xf7\x50\xfb\xda\x30\xca\xae\x38\x48\x12\x51\xf8\x0d\x49\x89\x11\xfa\xd0\x20\xf2\x7d\x77\xf2\xb2\xc3\x29\x9c\xdf\x7a\x98\x0c\x0a\xea\x1b\x54\xc1\x15\xdd\xa8\xc3\xa8\xf7\xf6\xdd\x99\x7b\xbf\xb5\xfe\x18\x6b\x16\x40\xf4\x59\x43\xff\x1e\x12\xcd\x5a\xf4\xac\x3d\xc6\xe0\xb8\xbb\xf9\xfb\x3a\x7a\x0f\x33\x75\x6e\x96\x12\x92\x76\x2b\x1e\xea\x23\xc9\xcf\x13\xb2\x5b\xb3\xf7\x4c\x65\x69\xe7\xb3\x5a\xdf\x4e\x9d\x3a\xd4\x50\xfd\xb9\xa1\xa5\x9a\x1e\x9b\xe9\xa6\x96\x95\x69\x58\x6d\x6a\xa7\x8b\x0e\x40\x53\xfc\xb1\xa1\xf5\x87\x22\x4b\xc9\x90\xd7\x85\xbf\x37\x8d\x00\x62\xca\x69\x0c\xea\xef\xd5\x5a\x19\xfe\x94\x6e\x27\x41\x68\x7e\xc1\x2e\xaa\x9a\xf4\x21\x9b\xee\x21\x49\x20\xb3\xc4\x3c\x2c\xe3\x31\x38\x9e\x87\x51\x24\xc6\x32\x2f\xc3\x38\x75\x5d\x70\xca\xcc\xb9\xbe\xef\x92\xed\x90\xbb\x34\x20\xbf\x83\x14\x87\x93\x4a\x01\x63\x86\xe1\xd1\x92\x1c\xde\xf4\x51\xe4\xba\x6d\x74\x6b\x57\xbf\xae\xea\xe0\x6a\xc6\xa6\x42\x8d\xb9\x85\x30\x69\x51\x51\xe1\xa2\x0b\x3b\x07\x44\x9d\xd8\x6e\x18\x82\xbe\xb9\x15\x2d\x83\x03\xc8\x50\x8f\x39\x19\xe7\x54\xf2\x9d\x23\xa5\xcd\x64\xc2\x5d\x31\xc4\xfb\xbf\xbe\xb8\xe1\xf6\x4f\xf4\xc4\xfd\xe1\xed\x47\x05\xd7\xc4\x7d\x3d\x28\x7b\x9b\xab\x59\x85\x1d\x8d\x33\x18\xee\x8c\x5c\x1f\xd2\xd7\xf4\x5f\x95\xc3\x35\xbd\xbf\xfb\x6d\x9d\x1b\x42\xc5\x4a\xd9\x4a\x0e\xbc\x92\xf9\x75\x1e\x63\xaa\x0d\x46\x6d\x1d\x1d\xe8\x44\xed\x28\x9f\x7d\x68\xdd\x47\x74\x6a\x8a\x42\x6e\x22\x24\x45\xc6\xd8\x99\xe3\x51\x40\xa4\x4f\x42\x1a\x66\x45\x2f\x67\x61\x8a\xf8\xc5\x99\x3a\x43\x08\x21\xc9\xbe\xf6\x0e\x16\x4c\x0b\x9d\x49\xeb\x69\x1b\x39\x60\xc1\xd0\x46\x99\x76\xc0\x1f\x18\xc3\x3b\x88\x99\xde\xb0\x08\x68\x99\xfe\x2c\x82\x57\xcb\x5d\xdc\xed\x90\x40\x11\xa4\xd5\x40\xd4\xec\x30\x2c\x62\xac\xb0\xa2\xe9\x48\x62\x36\xf6\x52\xe4\x55\x6a\xee\x24\xed\xe6\x34\xdd\x9a\x44\x45\xcc\xd2\xaf\x41\x4f\xc2\x62\x06\x59\xa7\x9e\x67\xb9\x56\x95\xfc\xad\xc6\x0e\x77\x8c\xc1\xea\xe6\x55\xda\x72\x4d\xe0\x8e\xa2\xe0\x76\xef\x6d\xc8\xee\x41\x55\xce\xb2\x5c\xa7\x27\x1e\x88\xe0\xc7\xb0\x88\xc7\xe2\x2f\xf3\x9f\x93\xf1\xb3\x45\x3c\x7a\xf4\xc7\xeb\x40\xc3\xda\xa8\xff\x1d\xa7\xa6\xa6\x9b\x95\xda\x8b\x6a\x01\xcb\x2a\x86\x86\x15\x19\xaa\xa2\xf9\x23\x45\x99\x50\x62\x3c\xad\x6d\xd9\xb4\xfb\x46\x59\x40\x3c\xb6\x48\x15\x1a\x76\x1a\x53\xaa\x98\x85\x51\x14\x93\x55\x25\xba\xaf\x11\x9f\x9c\x53\xfe\xa8\x7a\x56\xa4\xb3\x4c\xc8\x4f\x6a\x23\xc5\x25\x78\x3b\xd1\x0e\xa0\x8d\x59\xe3\xea\x14\xea\xbc\x99\xae\x44\x96\xaa\x4d\x64\x0d\xeb\x62\x14\x16\x71\x61\xa4\xe5\x77\x3a\xed\x54\x0d\x35\x1d\xe3\x1f\x83\x53\x2a\xe2\xdc\xf8\x5b\x83\x2f\x97\xf1\xce\x1d\xde\x44\x2a\x56\x96\x41\x43\xfe\x47\xe3\x98\xa2\x68\x03\x77\x4f\x5f\x04\x6a\x2f\x06\x66\x64\xa2\xca\x93\xbe\x08\xb4\x8d\x14\x81\x2b\x82\x61\x4d\x7c\x9f\x0d\x50\x0c\xfd\x38\x1b\x33\x4e\xd3\x66\x65\x21\x28\x51\xa8\x2f\x3e\x83\xd8\xdd\x17\x81\xfa\x27\x60\xef\xbd\xe3\x19\x91\xdd\xca\xe5\x47\x2b\x3e\xd9\x30\xc2\xcf\xdd\x6e\x77\xd5\xee\x7a\xca\x34\x3d\xde\x2c\xb4\x9e\x31\xbf\x5b\x71\x62\x6e\xb3\xd3\x48\x68\x9f\x1b\xff\xec\xff\x91\xf9\xf0\x16\x8e\x13\x6f\xa1\x8f\xec\x92\x79\xaf\x1a\xa1\x1d\x9f\x50\xd9\x66\xed\xf9\xda\x17\x43\xdf\x37\x67\x68\x95\xcf\xc8\x79\x8b\x9d\x0c\xb5\xb8\xc0\x12\x95\xe8\x64\xc8\x5a\x95\x75\x7d\xf8\x49\xc1\xe7\xaa\x33\x1f\x20\xaa\xe5\xad\xe1\x67\xcf\x0a\xe1\x78\x93\x1b\x67\xd6\x61\xdb\xf7\xe2\x05\x5d\x6c\xdd\xfc\xcc\x7a\x52\xc8\x29\xe6\x58\x51\xfc\x41\x11\xf2\xa2\x2a\x66\x43\x05\x6f\x48\x77\x3d\x43\x62\xff\x6b\xc0\xd9\x7a\x8f\x5e\x03\xb8\xda\xaa\xab\x81\x77\x8d\x97\xdb\x99\xd3\xbe\x49\x9c\xf3\x7d\x5f\x6d\x2e\x55\xb5\x0c\x9e\xf5\x96\x6a\xaa\x58\x5f\xb1\xda\x22\x72\xc5\xa4\xb1\x19\xad\x26\x5b\xc6\x2e\x7a\x19\x18\x35\x46\x07\x55\x6a\x07\xd0\xb8\x2c\xc0\xdb\xb2\x6c\x9c\x0b\xba\x6b\xe2\x31\xad\x8d\x57\x74\xab\xec\x23\xe6\x2f\xda\xa8\x52\x61\x8d\x24\x38\xf5\xb1\x74\x16\xf7\xf3\xf5\xfa\x51\x72\x27\x26\x15\x27\xd6\xe4\xd2\xe0\x08\x58\x23\xc5\xa5\xda\xfc\x7f\x08\x58\x33\x33\x20\x9a\x9a\xb9\x83\x2e\x94\x4c\xac\x89\x9b\x06\x71\xcd\x70\x7c\x6e\xa7\xcd\x0e\xfe\xa8\x5b\xeb\xce\xff\xc6\x25\xf3\x8f\xeb\x7a\xab\x76\x5d\xf8\xa5\x82\x65\x43\xb5\x6f\xd8\x09\x67\x7c\xe6\x71\x60\x8d\xf6\x7b\x23\x6c\x1b\x4b\x93\xe2\xfe\x39\x15\xdd\x8d\x4b\xcb\x5d\x81\xf4\x21\x5a\x11\x27\xe7\x63\xf1\xa4\x16\x49\xf0\x15\x08\xd0\xc4\x78\x03\x06\xa8\x59\x0d\x05\x88\x03\xf0\x58\xa5\xe8\x41\xd0\x1c\x4a\xc8\x5d\x08\xd9\xbc\xe3\x85\x88\x4b\xd1\x2a\xa4\x14\xa7\x72\x5c\xe5\x71\xb9\x14\x87\x64\xb8\xa2\x71\x16\x14\x7f\x08\xa6\x32\x66\x25\x05\xd8\x30\x71\x6e\x7f\xb2\xd0\x23\xc9\x11\x46\xfc\x36\xc4\x2f\x20\xfc\xc4\x4f\x44\xc8\xf9\x03\x85\xad\x6b\xfa\x5c\xc3\x2e\xc4\x5b\x99\x6b\x02\xf3\xe5\x1e\x1b\x7b\xec\x46\x85\xd3\xb2\xf7\xea\x11\x1e\x04\x13\x3c\xab\x41\x46\xd6\x6c\x5b\x53\x0a\xec\x64\xda\x0d\x86\x87\x34\x92\x6b\x4f\xf1\xce\x8d\x4c\xc5\xa4\xec\x6c\xa2\x3e\x14\xb7\x74\x17\x98\x63\x12\x39\x9d\x4f\x5d\x8e\x2d\x50\x4d\x98\x79\xa5\xbb\x7c\x20\x6b\x92\xeb\x36\xb1\x15\x62\x56\x46\x9b\x20\x3d\xa5\x94\x69\xd7\xc1\xae\xd2\x9a\x89\x61\x6d\x02\x07\xc8\x53\x1f\x81\x05\x88\x6a\xb0\xa1\xf8\x17\xc3\x0b\xc3\x9a\x20\xe5\x8c\x7f\x92\x34\x72\xa8\x33\x87\x21\x81\x31\x36\x92\x73\x48\x12\x04\x37\xde\xc4\xf8\xf0\xec\x5a\xb3\xe0\x94\x4d\x2c\xaf\x52\x2a\xfd\xc4\x27\xa1\xbf\x31\xbc\xdc\x9b\x14\x14\x88\x85\xca\xec\x79\x55\x3b\xe7\x1c\x39\xcf\x66\x1b\x82\xa2\x44\x2c\x54\xd8\xe8\x7b\x06\xb8\xd5\x13\x2c\x9b\xe9\xf5\xa8\xbe\x5a\x50\xda\xdb\x4f\x6b\xa5\x6d\xc6\x3a\x18\x84\x09\x77\x16\x14\x73\x86\xd6\x69\x23\x74\x8e\x2f\xfd\xaa\x2d\x9e\xda\x66\xd6\xe5\xb9\xd0\x21\x5e\xee\xc0\x0e\x60\x4a\xa6\x10\x5b\x1d\xbf\x5c\x05\xb0\x5f\xea\xa0\x1b\x13\xb3\x91\xa5\xe3\xb0\x6c\x59\x34\xec\x6f\x16\x3a\x99\x88\x8b\x92\x71\xb7\xdb\x65\xa2\xb0\x15\xa3\x7f\x3a\xe2\x52\x74\x93\x4f\xb7\xbf\x28\x37\xb1\xda\xce\x1a\x07\x3f\x37\x69\x46\x94\x59\x88\x57\xbc\x2a\x32\x66\xb3\xb8\x8d\xfe\xc6\x24\x62\x0a\xc2\x68\x50\x91\x52\x28\xb8\x4e\x21\x1b\x1d\x13\x3f\xd2\x7c\xc0\xad\x8f\x42\x11\xad\x12\xee\x72\xf4\x8a\x58\x4d\x6f\x3c\x93\x20\x5e\xaa\xad\x4e\x41\x25\x6e\x3c\x49\xeb\x1b\xe2\x69\xec\x51\xf2\x8b\xbe\xa5\x43\x98\x71\x41\x53\x8a\x3a\x56\xc0\x2b\xb3\x9c\x24\x10\xb3\x8f\x4d\x6a\x4e\xba\x30\xd3\x9a\xbb\x76\x02\x75\xc6\x4f\x05\x57\xd0\x99\x75\xce\x7c\x4e\x35\x96\x20\xf3\x61\x04\x89\x39\xdc\x1b\x15\x80\xce\x13\x81\xc2\x20\x49\x91\xd5\x7d\x14\x78\x33\xc0\xc4\x44\x22\x7b\x1c\xdb\x7a\xb6\x0d\xf9\x3d\x1a\xee\x71\x78\xaf\xd0\xa3\x3a\x50\x93\x18\x2a\xec\x91\x00\x03\xf6\x74\xb5\xc3\xb9\x3b\x65\x9c\x72\x7d\x02\x66\x08\xf5\xd2\x50\xe1\x08\x13\xc7\x33\xb8\x96\xa3\x17\x00\xe7\x58\xef\xc8\xb8\x7e\x33\x67\x80\xc2\xe4\xd4\x02\xc8\xef\x4e\x5e\x52\xe8\x91\x2e\x65\x47\x11\x45\x2c\x6f\x36\x37\xa4\xd0\x44\x46\x3a\x6d\x86\x5e\x6e\x90\xa6\x29\xdc\x26\x12\x4b\x59\x76\xf0\x14\xce\x52\xd9\x8c\x4f\x23\x49\xab\x25\xe3\x22\x3d\x39\x34\x91\x47\xaa\x0d\xc4\xa2\xe6\x93\x2a\x99\xc4\x70\x5b\x65\x07\x58\xa7\x27\x27\x2c\x7a\x9d\x90\xde\x10\x80\x47\xd5\x0a\x33\xc7\x56\xc6\xf7\x86\x86\x71\xeb\x2d\xa2\xa4\x77\x28\xdb\xee\xe4\xd4\xac\xfb\x8c\x1a\x5e\xed\x0b\x89\xb8\xd9\x57\x66\xb7\xe3\x4d\x8e\x1f\xa0\xc6\xb0\xb7\x31\x4e\x4d\xdf\xfe\x5d\x53\x72\x6e\xb8\x98\xb7\x6c\xa0\x81\x9c\x78\x3c\x5b\x0d\x4d\xc3\xdf\x10\xd0\x26\x6e\x08\x69\xab\xf3\xcf\x63\xcf\xb1\x99\x9b\x0e\xd0\xc7\x13\x06\x0b\xf9\x1b\x30\x8f\x26\x5c\x69\xd9\x8f\x3a\x60\x4d\xac\x72\x18\x7b\x95\x2a\x25\xbc\x0c\x5d\x97\x4d\xc7\x67\x67\xe7\x23\xc8\xed\xcd\x8e\x57\x4d\x6e\x64\x8b\x2a\x57\xea\x6b\x01\x49\xbb\xc1\x24\x46\xb7\xaf\xb3\x30\x8d\x12\xe0\xed\x61\xa5\x90\x55\x92\x69\x99\xea\x5e\x2c\x05\xf8\x39\x2a\x9d\xdf\x71\xb4\x36\x06\x0b\xfe\xf8\x5b\x7d\xaa\xf5\x0d\x2b\xd8\xbd\xe0\xc0\x01\xc1\xc9\xf4\x41\x4f\x0c\xc2\xec\x5a\xda\x84\xac\xe8\x53\xad\x66\x63\x33\xb7\xd2\x86\x76\xee\x0b\xb5\xd9\x66\xcd\x97\x50\xd5\x97\x3e\xe7\xc1\x18\x20\x00\x2a\xca\xb1\x92\x73\x5c\x62\xaa\x1f\x14\x87\x9d\x9b\x1d\xd7\xcd\x37\x91\x57\x32\x0f\x69\x43\xf3\x65\xd4\xb0\x5c\xb7\xb9\x32\xd3\xbc\x04\xb7\x01\x94\x40\x35\x91\xe4\x1c\xdf\x8a\x04\x36\x2c\x40\x93\x48\xeb\x0c\x4c\xcd\xbb\xee\xbd\x6e\xae\x69\x58\x52\x28\x63\x8d\xf7\x4d\x26\xd6\xb7\x4f\x5b\x02\x94\xd4\x4d\x08\xf4\xb4\x50\xde\xf7\x90\xa4\x6e\x94\xb3\x89\x47\x91\x33\x0e\x16\x80\xb5\x88\xa6\x7c\xf8\x30\x86\x48\x2a\x69\x4a\xa6\x63\x35\xd2\x56\x3c\xb1\x47\x72\xdb\x71\x72\x2b\xdd\xb9\x36\xa0\x82\x8e\xa2\xf2\x3a\x03\x12\x87\x9d\xe1\x60\xa7\x05\x1b\x90\xbf\xce\xa5\x4e\x99\xcf\x1b\xd6\x55\x63\x25\x6d\x11\x3d\x0c\xfb\x2e\xd0\xa9\x2c\xbd\x0a\x16\x70\xa5\x38\x44\x41\xca\xe4\x8c\x44\xb4\x30\x0f\x99\x49\xae\x44\xf2\x8c\x4b\x82\x68\x98\x11\xba\x8e\x01\xfb\x5c\x6d\x37\x9d\x55\x19\x8f\x8b\x54\x7a\x20\x15\x51\x15\x54\xa9\x02\x43\x3f\x2c\x14\xde\x09\x01\x44\xb7\x8f\x64\x89\x5c\xc1\x10\xac\x17\x57\x6b\x87\x91\x53\xc7\xfe\xbc\x9a\x50\x04\x09\xb5\x5c\x3c\x29\x34\x19\x5a\x00\x47\x2b\xd5\xa7\xbc\x8a\x51\x0c\xb1\xed\xca\x59\x2e\xaf\x99\xe3\x53\xee\x8a\xca\x45\x96\x5c\x59\x4c\x9b\xe5\xf3\x87\x41\x2a\xf4\x0d\x4b\x85\x0b\x65\x5a\x7f\xeb\x52\xf9\x00\xbe\x75\xb1\x0c\x9c\x1b\x97\xab\xd8\xb0\x62\x6c\x34\x66\xcd\x6a\x53\x6c\x44\xd7\x3f\x6e\xd9\x36\xe9\xc2\xa0\x34\x1a\xa7\x30\x8f\x0b\x50\xf6\x22\xd7\x91\x5f\x88\x1d\xed\xe2\x6b\x32\x18\xce\x97\x2f\xca\x72\xc1\x4e\x75\x27\x27\xda\xc7\x8e\x65\x43\xcb\x87\xfc\xc7\xa3\x66\x65\xad\xee\xc3\x67\x92\xbe\xd9\xf8\x4b\xfb\x3e\xa0\x8d\x11\xf4\x6d\xa7\x6b\xdc\x01\x31\xc0\x36\x13\x45\xa6\x00\x51\xb9\x16\xba\x2c\xf1\x5b\xea\x2a\xae\x00\x69\xdf\x7d\x6b\x2e\x61\xbe\x6a\xa4\x01\xdf\xc1\x7c\xb4\x66\xc9\x6e\x37\x60\xa0\x02\xbf\x5d\x3c\x11\xad\x71\x98\x9e\xc8\xb1\x3a\x93\x19\xc8\x06\x98\x66\x72\x9a\x38\xdf\xe4\xaf\xe5\xf5\x5b\xa4\x79\xbf\xf1\x6a\x0d\x62\x76\x3e\x76\xb1\x13\xd6\xd7\x0d\x68\xfa\x16\xa4\x29\xac\xe1\x20\x5d\x8c\xe1\xb3\xdf\x63\x85\x35\xac\xdf\x6b\x8d\xd9\x7e\xff\x3f\x62\x91\xf9\xcf\x95\x63\x56\xa9\x9b\xa8\xd6\x4b\x38\xdd\x45\x55\xcc\x9a\x58\x89\x0f\xc5\x61\x5d\x61\x52\xca\x3c\x0d\xcb\xf8\x4a\x2a\xf6\xbd\x96\x93\x5d\xc5\x21\x98\xdf\xd2\x2c\x5d\xce\x15\x7b\x9d\xb8\x51\x43\x37\x8f\xec\x77\xe3\x67\x5f\xc5\xae\xa0\x0e\x3d\xb9\x6e\x84\xa3\xec\x4a\xde\x8a\x46\xbf\x76\xcb\xdc\xd4\xcb\xcd\x2b\xbc\xc6\xdd\xb1\xf9\x1e\xc3\x6b\x08\x36\x27\xa5\xcb\x4c\xe1\x9c\xbd\x96\x23\xaf\x18\x83\x76\xdf\x15\x85\x86\xa7\x0e\xc4\xb0\x2c\xc0\x4e\x50\xbf\x6c\x82\x10\x26\x37\x7b\xa3\x89\x67\x9a\x85\xe1\xf8\x52\x46\x50\x86\x21\xcc\xc7\xb3\xf8\x4a\xf6\x1e\xed\xed\xfd\xd0\x7b\xf8\xb0\xf7\x68\xaf\x17\xa6\x61\x99\xcd\x97\xbb\xd9\x64\x37\xdc\x2d\xaa\x51\x99\xc8\xdd\x0f\x45\x96\xee\x3a\xd0\xba\x61\xb1\xf8\xd4\x66\x1d\xfe\xf9\xf4\xe4\xf9\x0d\x21\x53\x87\x79\x56\x14\xbb\x45\x5c\xca\x5f\x89\x00\x7e\x9d\x64\xf9\x54\x9a\x08\x3d\xf7\xf6\xdc\xea\x62\x68\x9f\x49\x62\x99\x96\x68\xb0\x1f\x67\xd9\x02\xc3\x56\xe2\x94\x22\x60\xcb\x4c\xc8\x24\x9e\xc7\x69\x68\x9c\x97\x08\x45\x5d\x73\x77\x38\xce\xe6\xe6\xa2\x1e\x34\x1f\xe6\x2f\x87\xe9\xda\xc0\x54\x3f\xb5\x3a\x4d\x14\xe5\x90\x33\x0e\xe0\xc5\x45\x51\x29\xd5\x73\x54\x95\xa6\xac\x96\x29\xa6\x35\xa2\xb0\x2c\x1c\xb5\x31\x0a\xd0\x40\x49\xd0\x23\x1f\xd5\x06\x83\xc0\x5d\xbc\x8a\xfa\xd9\xc9\xb7\xf9\xd6\xe4\xdb\xf4\xda\x1f\xfc\xbd\x17\x98\xae\xe4\xcb\x59\x9c\x47\x62\x11\xe6\xe5\x52\x11\x69\x01\x8e\x62\x99\x80\x2d\xbe\xcc\xaa\xdc\xdc\xc0\x41\xa0\x18\x58\xe4\x78\x79\xac\xaf\x08\xac\xb3\xee\xcc\x29\x90\x7d\x36\x07\x49\x14\x7d\x87\xc0\x8b\xcc\xa2\xb8\x4a\x91\xdf\xc5\x05\x0e\x82\x08\x67\x1c\xda\x34\xa5\x49\xa2\x87\x66\x6c\x70\xe5\xcc\xa9\xa2\x07\xc9\x14\x86\xdb\xed\x8b\x55\xd0\x79\x9f\x6e\x9b\xbb\x2d\x43\x3c\x0d\xbe\x9b\x78\x65\x59\x42\x4d\x6d\xe8\x87\x4c\x04\xcc\x68\x11\x97\x8a\xa3\xa8\xbe\x9b\x6c\x2c\x3a\xd2\x05\xaf\xcb\xcc\xc8\x3d\xe9\xbd\xdf\x28\xb7\x9e\x07\x59\x2a\x83\x4e\x50\x5e\x67\xc1\xc5\x7a\x1e\x64\x4a\x0e\xea\xd5\x45\xcb\x48\x58\x96\xe1\xf8\xb2\x53\x43\xd8\xa6\x1e\x01\x37\x5f\xd9\xbd\x83\x3d\x1f\x5f\x9d\x06\x84\xa9\xb7\x0d\xe8\xe2\x3b\x05\xf8\x88\x38\x55\xc4\xa7\xef\xf3\x9f\x23\x1f\x11\x2d\xc5\x86\xda\xeb\x37\xce\x6f\x64\x53\x18\xd3\x50\xca\xf1\x2c\x8d\x3f\x56\x50\x34\x87\x52\x2c\xd3\x36\x49\x45\x95\x86\xe4\x2d\x07\xc5\xfb\x4b\x8c\xb7\x9e\x86\x74\xad\x28\x2a\x0c\x5d\x5d\xe4\xf1\x95\xe2\x54\x90\xb6\xae\xee\xdc\x10\x8a\xb9\x1c\xcf\xc2\x34\x2e\x8c\x7d\x11\xb2\xa2\x20\xa9\xab\x49\x74\xf1\xd0\xa0\x64\x23\x0a\x73\x7f\x7e\x71\x62\xe8\xbb\xc3\xc2\x66\xb4\xbd\x26\x97\x61\x04\xc3\x87\x4a\xd2\x60\x5f\x0e\x29\xdd\x95\xee\xa3\x35\x5a\x6a\xc3\x68\x47\x0c\x6d\xaa\x98\x21\x9a\x4a\x0a\xa5\xac\x21\x45\x87\x8e\xb7\xb2\x68\x0d\x79\x66\x99\x61\xbb\x4b\xa1\x3d\x59\x6a\xe3\xa0\xfe\x14\x5e\x85\xa7\x10\x45\x4c\x17\x00\x15\xdc\x6f\x23\x5a\xa2\x6c\xae\x50\x34\x06\xcb\xbd\x1a\x29\xdd\x0f\xab\xd1\xd5\xa9\x74\xa4\xce\xe9\x02\xf8\x36\xb7\xb0\x41\xa6\xae\x17\x27\x62\xac\x0e\x72\x98\x20\xeb\x33\xaf\xd2\x94\x04\x4b\xd6\x23\xea\xcd\x34\x0b\x16\x4e\x02\x76\xe2\x89\x15\x3f\xc7\x40\x14\x34\xca\x75\x71\x01\x67\x19\x44\x67\x62\x98\x69\x19\x4e\x29\x23\x62\x5c\x74\x9a\xb7\x37\x38\x83\xd2\x7a\x40\xaa\x12\x3e\x5c\x19\x46\xb0\x59\x0b\x2c\x53\xc0\x4e\x14\xc8\x4f\x86\x2a\x33\x5f\x23\x7d\xa9\x8e\x17\x06\xb0\x3a\xec\xb2\xa4\x2b\xde\xa4\x3c\x47\x0a\xa7\x96\x86\x38\x7f\x85\xe5\x2b\x99\xa3\x0d\xc2\x94\xfc\x83\xae\x21\xed\xb0\x2c\x84\xbb\xe4\x9c\x1c\x4c\x40\x55\x8e\xdb\x9b\x2c\xd5\x76\x99\xa0\x2e\x62\xb2\xbc\x79\x79\x88\x20\xe0\x66\xbb\xd0\x97\xfa\x66\x46\x67\x60\xb9\x57\xd8\xa3\x40\x0e\xdd\x43\x85\xdb\x53\x1d\xd2\x10\x2a\xa3\x36\x1d\x8c\x49\x07\x7c\xc0\xd4\x62\xc0\xef\x68\xc9\x2d\xbf\x2d\x48\x18\x0b\x89\xef\x91\x15\xd9\x11\x2a\x82\xd2\x1d\xcc\xc3\x4b\x35\xd8\x6a\x61\xfd\xad\xa0\x2c\x7b\xbb\x2b\x7e\x91\xb6\xb2\xa8\xc5\x1d\x2d\x72\x61\xf2\xd2\x2b\xd2\x40\xa2\x80\xac\xf9\x86\x83\x38\x26\x75\x8d\x72\xb2\x6b\x9c\x17\x61\xc2\xa2\xdc\x9b\xd9\xd7\x69\x98\x94\xbf\xb6\xc6\xf9\x72\x51\x66\xd3\x3c\x5c\xcc\x96\xf7\xee\x7e\xff\x70\xdf\x1c\xe5\x18\x07\x0d\x39\x21\x48\x96\x6c\xb2\xfa\xa6\x94\x86\xae\x9c\xd9\x4c\xd0\xb4\xf3\x6c\x95\x52\x7b\x6d\xe5\x26\x9a\x02\x54\xbb\xd9\xa9\x98\xe1\xda\xf8\x80\x4c\x84\x8c\xc1\xd5\xbb\xd9\xf5\x48\x84\xfa\xb6\x78\xb7\x8c\xe7\xb2\xe3\x39\x29\x93\x1b\x35\xbe\xd3\xe0\xe9\x3e\x70\x21\xf3\x5d\xf7\xc2\xb9\xf9\x52\x48\x7f\xa6\xd3\x18\x65\x94\xc8\x87\xbe\xa1\xcc\x90\x98\xfc\x60\x64\xaf\xe8\xcc\x1d\x20\xbb\xf3\x13\x33\x88\x59\xb3\x97\x8f\x4c\x63\xa0\xe3\x4d\x46\x48\xb2\x64\x72\x9b\x85\x05\x93\x40\x2c\x62\x1a\x8a\xf9\xee\x8a\xfb\xf7\x51\xd3\xbe\x7f\x5f\xfc\xcf\x7f\xfd\xb7\x18\xea\x8c\x81\x43\xf8\xc9\xdd\xdc\x5b\xb2\x3b\xed\x92\x9b\x81\x76\xda\x15\xb2\x1c\xb7\x3d\x78\x55\x9e\x34\x03\x3b\x18\x15\x59\x52\x95\x12\x3d\xfe\x12\xd0\x2c\x41\x94\xb3\xe9\x5d\x51\xbc\xd3\xb1\xe4\x18\x10\xc8\x13\x37\x3b\x1d\x01\x6e\x0b\xd3\x17\xd5\x54\x7b\xec\x64\x6e\x7e\x42\x7d\xbf\xc2\x62\xe9\xf8\x0e\xd2\xf3\x50\xdc\x00\xc9\x31\xfa\x5e\x8d\x57\xe4\x24\x1d\xad\xcc\xc4\xf0\xe9\xa5\x5c\x3e\x1c\x80\x77\xc3\xc3\x7b\x97\x72\xf9\x08\xff\x7e\x34\x64\xde\x34\x55\x9e\x74\xb5\x33\x9e\xc9\xd5\xa4\x98\xbe\xce\x52\x0e\x77\x4b\x9e\xbf\x11\xfc\xa7\xc4\x12\x20\x7c\x7f\x86\xea\x10\xf7\x70\xa9\x73\x42\xe1\xb4\x74\x52\xde\x11\x71\xb1\xb0\x70\x28\x49\xd7\x27\xa1\x1c\xb6\x0e\x6c\xda\x7c\x1e\xfa\xd6\xa2\xcb\xf8\xd4\x12\xc2\x48\xff\xd6\x2d\x78\x80\xaa\x33\x37\x3f\xf4\xa8\x00\xee\xe5\x78\x0d\x68\xa4\xf1\xa4\xc8\x90\x5d\xc2\xb1\x65\xa7\x55\x92\x74\x84\x5b\x40\x5b\x34\x1f\xb0\x69\xe9\x4f\xd6\x65\x23\xcd\xe4\x79\xdb\x04\x99\x7e\xce\x4e\xaf\x1b\xcb\x9a\x36\x77\x73\xab\x7c\xa0\x0c\xb6\xef\x81\x87\xd0\x1d\x64\x6c\x76\xa2\x6e\xeb\x04\xc9\x1b\x1b\xd1\x86\x71\x77\x80\xc9\xf1\x38\x59\x93\x4b\x19\xbc\xb0\x6d\x42\x65\x3c\x40\xeb\x5f\x61\x8a\x09\x60\xfd\x2c\x08\x16\xfe\x33\x61\x0a\x59\xb4\x44\xb6\xa7\x53\xba\xb3\xab\x34\x75\x26\x72\xe7\xf1\x56\xb9\x5c\x68\x95\x49\x7b\x61\x46\x6d\x5d\xf3\xd8\x89\x1a\xe7\xc9\x5f\x8d\x43\x41\x66\xfc\x2f\x77\xcb\x99\xdc\xa5\x13\x60\xd7\xf3\x7f\xdb\x65\x5c\xdf\x01\x79\x3b\xf7\xcd\xd5\xfa\x85\x44\xab\xd1\x57\xaf\xa4\x71\x87\xbf\xcd\x8a\x9a\xc6\xff\xb8\x95\x25\xcf\x13\xb5\xb4\x1d\x67\x5d\x6d\x9c\xf8\x6d\x96\x98\xb9\xda\xfe\xd3\x2f\x32\xf8\x67\x18\x06\xa0\xf3\xf9\x41\x3a\x2f\xe2\x03\x26\x93\x61\x68\x5c\x46\x50\xad\xd2\x9e\x57\x78\x20\x99\xd2\xb4\xe8\x4e\xe2\xb1\x3f\x26\x87\x77\x6c\x72\x3f\xaa\xcd\x8f\x7e\x47\xba\xb8\x65\xdd\x3f\x07\xfe\x5b\xe7\xa4\xe3\xfc\x5a\x75\xb8\x1b\x8c\x33\xb4\x89\x67\x49\x27\xff\xbc\x1a\xf7\x8a\xe7\x32\xab\x4a\x83\x11\xcc\xf8\xfe\x85\x4c\xe6\x84\x12\x6a\xa4\x54\x96\x79\x9c\x24\x71\x21\xc7\x59\x1a\x15\x70\x75\xb8\x31\x4f\x0c\xd2\x32\x73\xd1\x0a\x47\x59\xee\xba\x07\x52\xbe\x48\xbc\xcf\xf3\x47\xa7\xb0\x72\x98\x4b\x28\xfb\x18\x26\x05\x24\x2b\x36\xab\xb6\x1a\x8a\x5d\xf5\x39\x06\x0f\x66\x36\x71\xb5\xf7\xd5\x50\x4c\x92\x70\x4a\xca\x92\x33\x32\xa5\x12\xe9\x2b\x5a\x45\xa1\xe7\xae\xb5\x68\x6c\x61\xdc\x94\x69\x2a\xca\xc6\x45\xef\x17\x39\xea\xa9\x43\xaa\x77\x00\x57\x2f\xbf\x52\x95\xc1\x5f\x0f\xdf\x9c\x9c\xde\xd5\x41\x44\xbf\x2a\xd0\xbf\x32\xd0\x6d\x67\x48\x6b\x53\x5c\x33\xac\xe8\x8d\x7b\xb6\x5c\x48\x42\x89\x39\xc9\x76\x79\x66\x29\xf8\x4f\x4f\x4a\xb5\xbe\x39\x61\xd6\xee\xbb\x53\x9c\xcc\xb3\x37\xaf\x7a\x6e\xea\x86\xbb\xbc\xdf\x5a\x22\x2c\x9b\x24\x93\x12\xb9\x03\x21\xb0\xc2\x1a\x8d\x84\xe2\x17\x77\xb7\x23\x07\xe7\xa6\x30\x8f\xbc\x7c\x1e\xda\xe1\xe2\xab\xf2\x0e\x61\x24\x0f\xc0\xb1\x1d\xe8\x04\x21\xc8\x20\xaf\x79\xa1\x0d\x9b\x30\x03\xdc\x67\xd2\x5a\x16\x0a\x47\x34\x75\x7c\x35\x2c\x7c\xc3\x5e\xb9\x13\x40\xe3\xf8\x4c\x46\x03\xb4\x25\xd4\x32\x8f\xec\xfa\xf5\x57\x6c\x27\xfe\x18\x6c\xc2\x19\xdc\x5d\xd0\x9d\x8c\x50\x52\x0c\xe3\x04\xf3\xb9\xc8\x31\x5e\x1e\xe1\x98\xec\xbc\x4d\x56\x04\xee\x9a\x80\xa6\x70\x2b\x66\x86\x39\x44\x1f\x42\x21\x5c\x30\xc8\x18\x11\x93\x82\x08\x3c\x6f\x52\x37\x86\x53\x87\x6a\x59\xf8\xce\xfa\x76\x29\x9d\xa1\xfb\xed\x2c\x2c\x6a\x11\x05\x75\xa5\xe9\x56\x82\xb9\x03\x1e\x64\x1a\x7e\xa8\x19\x51\xd2\x3c\xe4\x5b\x89\x17\xa6\xe0\x9d\xe2\x69\xe9\xb1\x50\xae\xa8\x6d\x2e\x99\xc1\x41\xf9\xc2\xbf\x11\x20\xce\x67\x46\x4a\xbe\x68\x6b\xd8\x28\x0b\x7b\x15\x6b\x3c\x88\xa8\xd9\x36\x6b\x13\x67\xeb\x22\x40\x30\x73\x64\xd8\x90\x35\x8c\x9b\x63\x9a\xb0\x70\x26\x3f\x95\x1b\x54\x56\xc2\x04\x94\xab\x5b\x83\x09\xab\xa2\x6b\x07\xd0\xcf\x24\x4d\x69\xcd\x51\x27\x42\x31\x71\x99\x07\x5a\x28\x72\x54\x7f\xf4\x16\xb6\x19\x0c\xbc\xf4\x29\xc2\xf1\xc7\xc3\xda\xeb\x0b\x5d\x8e\x1d\x12\xd1\x68\x8d\xdf\xd4\x69\x89\xe4\xa8\xc2\x22\x8b\xda\x57\x72\x9d\x79\x41\x17\xf2\xad\x55\xf1\x55\x7c\xcb\x56\xf0\xdd\x50\xbc\xb7\xa9\x6e\xef\x73\x59\x8e\x67\xb5\xaa\xbd\x8f\x0b\x99\xa8\x45\x4b\xa7\xbb\xf3\x2c\x92\xc9\x60\x1b\xf7\x92\x29\x8f\xfb\x18\x2f\xef\x9f\xfc\x74\x74\xf6\xb8\x47\x7f\x7b\xaf\xe0\x0e\xc6\x7d\xf9\xb8\x87\x70\xe9\x57\x9c\x2e\xaa\x12\x52\x17\x0d\xb6\xd5\xf2\x6d\xb3\xfe\xaa\x3c\xd9\x16\x45\xfc\x57\x39\xd8\xfe\x61\x6f\xbb\x47\x5f\x8c\xaa\xb2\x54\x2a\x62\x34\xd8\x9e\xa8\x81\x8f\xca\x14\x3e\x1a\x27\xf1\xf8\x92\x9e\xb5\xda\xdb\x4f\xe0\x8f\xc7\x3d\x6c\xfe\xe4\xf1\x28\xaf\x7f\x5f\x00\xc2\xa6\xb2\xf4\x60\x80\x73\xb2\x7c\xa5\x46\xd1\xd2\x06\x10\xaa\x39\x90\x24\x19\x20\x33\x68\x6f\x3f\x39\x0d\x75\x5a\x39\xd3\xcd\x9a\x2e\x20\x5f\x88\xea\x84\xf0\xb3\xa6\x2b\x40\x97\x53\x28\xdb\xfe\x17\xe8\x23\x96\xa2\x5b\x3e\x14\x70\xb4\x4e\x73\x29\xcb\xee\x62\xb6\x78\xaa\x8f\x91\x01\xd4\x68\x3b\x3c\x78\xf9\xf2\xc7\x83\xc3\xff\xb8\x07\x54\x70\x5a\x2d\x64\xfe\x7f\x3d\xda\x7b\x21\xf3\x4c\x8d\x9c\x7a\xa0\x09\x40\xb7\xb4\x38\xeb\xe6\x11\xa7\x57\x61\x12\x47\x5f\x37\x91\x75\x83\x86\xbc\x8a\xa5\xfc\x14\x17\xe5\xbd\xe6\x61\xb3\x41\x0a\x71\x8c\x7d\xb3\x71\xd6\x46\xba\xc8\xe5\x13\x3c\xbb\x2d\x4f\xec\x8b\xcf\x9f\xf1\xe7\x6a\xf5\xb8\xa7\x5a\x78\x6d\x9d\xc2\x08\xaa\xb5\xfa\x97\xb5\xa5\xb2\xd1\xba\xe6\xf1\xfa\x62\xd1\x7e\x9d\x5a\xb6\x1b\x59\x8d\x68\xa7\x3c\xb4\xb7\xe7\xfc\xe2\xd0\x90\xf0\x57\xfd\x51\xca\xf9\x22\x09\x4b\x09\xaa\x44\x43\x12\x62\x5d\x30\x5a\x7d\xd0\x11\x6e\x73\x5e\x9d\x8a\x6a\x41\x93\x74\x32\x40\xbb\xde\xbe\xff\xba\xca\x13\xf5\xce\xa7\x75\x53\xf0\xde\x34\x84\xcd\xc5\x33\x82\xbb\x85\xaa\xa9\x15\x9c\x4c\x6e\x45\x2c\xf6\xd6\xa0\x5f\xb7\xe0\x4d\x30\x16\x4a\x07\x3b\x39\xa3\xef\x60\x60\x94\x1d\x72\x07\x15\x95\xbe\x37\x7d\x13\x8b\x43\xff\x6d\x4c\xda\xe7\x15\xda\xb6\xa3\x24\x82\xd2\xf5\x90\xf6\x9b\x5b\x45\xb6\x3e\xa5\xdb\xc2\x1f\xc4\x86\x14\x7c\x6b\x87\xc0\x80\x8b\x2f\x5f\xc4\xb6\xbe\xac\x9c\x40\xde\xec\xed\x35\x43\xda\x30\x70\xe3\x6c\x22\x74\x46\x75\x97\x0a\xec\x56\xe6\x4b\xcc\xb0\xdf\xb8\xda\x86\xb6\xf0\x8f\x86\x15\x47\xf2\xaa\xf2\xc4\xe9\x9e\xfe\xb8\x68\xef\x37\x6e\x35\x8f\x18\x61\xc3\xbd\x50\x3f\x89\xea\xef\x34\x7e\xb5\xc8\x33\x48\x55\x9b\xe5\x6a\x93\xd2\x01\x63\x1f\x02\x94\xab\x50\x27\x1c\x14\x03\xa1\xeb\xa1\x8f\x96\xdd\x51\x0c\x27\x7a\x2b\xc0\x97\x01\xa6\x68\x86\x34\xdd\xb8\x12\x4d\x6d\xd5\x2b\xd6\x12\x36\xc8\x8f\x65\xea\xb6\x8e\xa3\x56\xa0\x0f\x2d\xd6\x18\x0f\x89\x9f\x64\xd9\xf8\x01\x3f\xa5\x6a\x1f\xfd\x49\x31\xe4\x0d\x9f\x69\x86\xcd\x3e\x24\x56\xbe\xfe\x4b\x8f\xd7\x07\x54\x2d\x32\x2e\x5b\x01\xe9\xdb\x54\x5b\x5a\x7c\x9a\xe5\xdc\x26\x51\xab\xb6\xad\x76\x1d\x9b\x5b\x17\xce\x0a\x9d\xd9\x4d\xa3\xc8\x7d\x8a\x79\xe3\xa8\x2e\x59\x77\x2a\x4b\x25\xfa\xb5\xda\xed\x6e\x99\xbd\x82\x3a\xa5\xc1\xa3\xbd\xbd\xc0\x6d\x0c\xf6\xee\x86\xa6\x3d\xa2\x93\xf7\x48\x28\x3d\x5b\x1c\xad\xd7\x13\x87\x70\xb5\x56\xca\x08\x92\x17\x47\x95\xc4\xb4\x78\x4a\x6f\x43\xb5\x5d\x9f\x5d\xd3\xb8\x9c\x55\x23\xf4\x82\x41\x46\xaf\xff\xed\x7e\x28\x7a\xe8\xcc\xd3\xfb\xe3\xc3\x1f\xfe\xa0\xa0\xd6\x90\x84\xa7\x16\xbf\xec\x71\xce\x42\x1f\x65\xbd\x9e\xc1\x99\x5e\x20\x8b\x1f\x78\x59\x47\x1b\x3c\xbe\x35\xde\x78\xeb\xb5\x88\x03\x81\x41\x28\x71\x01\xb0\xd6\xeb\xe9\xfc\xe4\xfe\xfc\x6a\xb3\x23\xe2\x81\x8b\x1e\xa5\x8c\x62\xe2\x73\x61\x93\x2e\xce\x74\x65\x76\xff\x2c\x33\xf5\x24\x5c\xfa\xfc\x7d\x88\xe6\xb6\x24\x13\xb8\xcc\x35\x30\x24\x63\x98\x8c\xce\x51\x43\xf2\x09\xa5\xae\xb7\x05\xe7\x74\xea\x18\x05\xe5\xd0\x38\x23\xd2\x64\xa1\x80\xa5\x8d\x4f\xa6\xca\x47\x6e\x6b\xce\x5c\xb1\x7a\xfc\x3c\x4e\x8f\xf2\xdc\xd4\x01\x68\x05\xa3\x30\xca\x25\x14\x28\x78\xc1\xea\x67\x79\x4a\x97\xbe\xa3\x36\xc9\x1e\xba\x42\x9c\x50\x85\x9b\xbe\xf8\xbc\xb7\x0a\x3a\xc2\xed\xd9\x96\xad\xa4\x3f\xa8\x46\xb2\x52\x7e\x06\x42\x7e\x2a\x65\x1a\xb5\xec\xe0\x4c\x28\xf2\x54\x96\x4c\x6a\xad\x97\x7f\x5a\x9b\xdf\xa2\xf1\x23\x1d\xbe\xbc\x3e\x50\x59\x0f\xb3\x3e\x7e\x7a\x83\x63\x36\xc9\x91\xd4\x91\x94\x4f\x4d\x65\xd0\xe6\x49\xd3\x37\xe6\x14\xab\x16\x0b\xaa\x03\xea\xbc\xb1\x9d\x5c\x85\xda\x13\x43\xd3\xcc\x60\xad\x1b\xaa\x70\x8a\xa2\x8a\x81\x37\xc2\x7d\xa7\x55\x2e\x3f\x52\xbd\x6b\xb7\xf2\x24\x7d\xd3\x60\xf4\x37\xc5\x4e\x3b\x36\x0d\x92\x4e\xe4\x5b\x43\x7a\x9b\x9d\xf8\xbd\x1e\x39\x53\x51\x1d\xeb\x5d\x4c\x22\x3b\x31\x61\xb8\x5e\x56\x25\x53\xee\xe5\x9d\x7e\xde\xa2\xd1\xb6\x5d\x99\xc0\x2b\x7c\xec\x87\x96\xeb\xf1\xfb\x32\x8f\x02\x6e\x0b\xb0\xea\x36\x83\xc1\x40\x04\x7c\x84\x41\x5d\x56\x12\x82\xd2\x39\x52\x8f\x64\xd9\xb8\xf0\xc4\xb1\x75\x52\xd0\xd6\xda\xf9\x11\x16\x3d\xeb\xaf\xae\x47\x66\xdb\x19\x72\xf5\x5b\xba\x63\x6d\x06\xa7\xc4\xbb\x35\xdf\x37\x0e\x52\xad\x9b\x84\x6b\x14\x76\x83\x61\xdd\xa4\xd5\xbb\x13\xf9\x91\xc6\xde\xd1\x14\xd5\xee\x96\x33\x99\xb6\x1a\x02\xff\x6b\x8f\x2c\x2f\x70\xe8\x1d\xab\x7a\x0c\xc4\xb9\x43\xf8\x8c\xea\x0c\xbe\xaf\xd0\x0d\x0d\x42\x7f\x06\x62\xe7\x63\xf7\x5a\x75\x3d\xf6\x36\x6a\xaf\x07\x0e\xca\x4b\xe1\x17\xe8\x61\x24\xd4\x54\xae\xa3\xb9\xd2\x07\xc7\x34\x2c\x23\x0b\xc3\xd3\x3c\xf2\xcb\x17\xd1\xf0\x18\x42\x0c\xbc\x85\x82\x2c\x4f\xa6\x2c\x48\xfd\x9b\xce\x7a\x40\x7c\xcd\xd6\x0f\x88\xd4\x9f\xda\x88\x58\xd4\x43\xd3\x90\xc0\x87\xbe\xe9\x0b\x7f\x40\x1c\x4e\x7d\x44\x2b\xbb\x0a\xd7\x50\x0c\xa1\x85\xe0\x13\x99\x4e\xcb\x99\xcf\xb9\x14\xe1\x3c\x57\x2b\x8f\x8d\x10\x29\x6d\x9f\x6f\xa9\x53\xa6\xa9\x95\x69\x66\x29\x82\xfe\x22\x8a\x04\xe8\x1d\x03\xa1\x7e\x12\xe9\xe6\xda\x82\x3e\x68\xaa\x8d\xcb\x1b\x02\xdc\xf5\x1e\xfb\x48\x61\xf6\x05\x71\x55\xf3\x53\x67\x45\x37\x0f\xfc\xf4\xe8\x0c\xa1\xec\x6f\x5d\xf3\x1c\x07\x51\xdf\x43\x7a\x74\x28\x0a\xdd\x6e\x12\xe8\x09\xf1\x4f\x37\x15\xff\xbd\x27\xce\xd5\x59\x4a\xe3\xc8\x7b\x3d\x2d\x27\x8f\xb3\xc5\x52\x14\x2c\x91\x3b\x6d\x0f\x2d\xc6\x80\x8e\x6f\x13\xdc\x1b\x9a\x2b\x16\x4c\x36\x59\xd9\x69\xb2\xa9\x80\xd4\xe5\xa0\xc7\x45\x9e\x7a\xa5\xb5\x6c\xa7\x19\xc3\x8c\x90\x49\x21\xd7\x7e\xe5\x1e\xd4\xeb\x56\xc2\x20\xbe\xb6\x36\xf5\xa3\xba\x36\x89\x95\xbf\x32\x2d\x5b\xc5\xd9\x83\xd7\x76\x2b\x15\xa9\xb7\xec\x41\xdf\x09\x45\x2a\x16\xf5\xcd\x66\xd6\x50\x7e\x92\xe3\xaa\x24\xc1\xe9\x79\x5a\xb8\x65\xde\xed\x2a\xe0\x63\x4a\xc8\xd8\xb1\x7e\x6a\x2f\x8c\xbc\xf3\x99\xdb\x19\xd6\x0b\x07\x33\xea\xa9\x59\x3e\xf0\x4a\x6b\xeb\xc6\x6d\x5f\x1a\x70\x86\x63\xaa\xbb\x3f\x4f\x39\xc3\xd2\xf0\xdc\xb6\x77\xd0\x16\x55\x17\x2f\xfc\x29\x69\xf1\xc2\x40\x27\x08\x1b\xc4\x8d\x3a\x05\xdd\x02\xec\xf3\xd4\x31\xdc\x38\x3b\xb5\x61\xab\x3a\xc0\xd6\xaf\xab\x23\x0e\x37\x8b\xaa\x91\x9c\xd8\xd5\xf3\xd3\x8d\xba\x26\xea\x5c\x7e\xb4\x4d\xd9\x4e\x74\x65\xdc\xb6\xfb\x91\x81\xff\x3a\x9c\xcb\x8e\xcd\xb5\xfb\xcc\x7d\x6e\x60\xab\x9f\x6c\xca\xce\xf0\x58\x9f\xf6\x39\x25\x9d\xe5\x8f\x58\x6d\x7f\x57\xa6\xbf\xf0\x64\x62\x74\x48\x9d\x64\xf9\x6e\x9c\x82\x4b\x85\x0c\x21\x13\x05\x11\x2e\x68\xf1\x57\x59\x1c\x89\xca\xa6\xe6\x8f\x4b\x1d\xa0\x83\x3e\x82\xe4\x52\x36\x0b\x0b\xcc\xa5\x35\xd1\xf5\x44\xf5\xf8\xa1\xdc\x2e\x0e\xec\x58\x7f\xdb\xe7\x7b\x44\xb4\x1c\x24\x89\x38\x65\x73\x71\x49\xb4\x19\x7d\x62\x60\x5f\xb8\xb0\xda\x8e\xb5\x15\xfa\x72\x30\x8d\x55\xe4\x3e\x36\xf6\xe5\x4b\xe9\xce\x87\x28\xac\x37\x0f\xa7\xbe\xab\x94\x4c\x1f\xa7\x95\x5c\x87\x8e\x0d\xbb\x69\x6b\xab\x89\x00\xcf\x9d\x59\x5e\x20\xe9\x36\xbf\x5b\x27\x57\x13\xcf\x53\x93\xa4\x25\x34\xde\x9d\xec\xbe\x1c\x1c\x2a\xd4\x2e\x8a\x9c\xea\xc2\x6c\x37\xd6\x78\x27\xc3\xa7\xdd\x99\xac\x7f\x4a\x17\xef\x5d\x42\xb2\xd2\x77\xf5\xca\x70\x6e\xd4\x2c\x2b\x01\x77\x77\x2a\xfd\xdc\x81\x4d\xb5\xd7\xbc\x2a\x09\xe0\xff\x88\x81\x20\x62\xf8\xd3\xd1\xd9\x70\x5d\xba\x20\xed\xe7\xac\xcb\x8d\x57\x79\x22\x4e\xb4\x8b\x6f\x96\x8b\x50\xbb\xfe\xbe\x3b\x79\xa9\x13\xde\xb0\x14\xc3\x65\x9c\x7a\x97\xfa\x8e\x1f\x96\x86\x8e\xd6\x91\x81\x75\xa3\xd6\xc1\xc2\x4d\x97\xcb\xe6\xe3\x66\x87\x91\xe7\x15\xd4\x49\x71\xda\xf6\xbe\x1e\xad\xa8\x63\xfe\x46\xcc\x3e\x3b\x7a\x79\x74\x76\xf4\x2f\xe4\xfa\xc8\x55\x1b\xe9\x37\xa2\xf6\xc5\xd1\xc1\xb3\x7f\x21\xd6\x47\x2c\x58\xf2\x7f\x23\x66\xc1\xd0\xfb\x77\x46\xad\xeb\xec\xe9\xfd\xe7\x47\x97\x18\x37\x2a\x9b\xb6\x0d\x9c\xce\x29\x22\xd3\xb9\x5e\xb6\x51\x99\x7f\xbf\x55\x53\xff\x60\xb6\x15\x40\xf3\x2b\x74\xce\x6a\xa1\xf1\x54\x04\xc8\x59\xe0\xce\x5c\x86\x50\xac\x16\x56\xad\xa9\xea\xeb\x8d\xeb\xbd\xc8\x6a\x99\x63\xbf\x76\xb9\xdf\xbe\x39\xfd\x47\xb3\xff\xfb\x2b\xb4\x42\x9e\x58\xeb\xb6\x92\xb0\xff\x7f\xb0\xdf\x16\xd5\x6f\x46\xff\xbb\x7f\x61\x9f\x63\xdf\xa2\xbf\x19\xff\xfe\x02\x84\xa5\x0e\xa6\x15\xec\xbb\xda\x22\xdc\xb4\x0a\x07\x67\x87\x2f\xfc\x75\xe0\x00\xff\x86\x2b\x71\xdb\xa5\xf8\x6d\x6b\xf1\x55\x8b\xb1\x9e\x8b\xfd\x12\x97\x33\xb0\x7c\x04\x8a\xf5\x28\xe6\xb5\xa8\xf0\x1f\xb5\x10\x81\xa3\x5d\x99\x85\xe4\x6b\xc9\x2b\xb8\x37\x2d\xa8\x9b\x67\x97\xaf\xc2\xba\x95\x85\xe7\x27\x54\x1e\x45\x7e\xac\xe2\xab\x30\x81\xf4\xf3\x93\xa6\x04\x71\xb6\x60\x8a\x93\x53\x32\xbb\x2e\x7c\xe4\x4d\x38\x7c\xed\xc9\x6f\x0c\x19\xbe\x59\x3f\x2c\xc4\xb5\x4c\x12\xf5\xaf\x5b\x10\xb5\x39\x4d\x77\x77\xcd\xfc\x4e\xa5\x14\xdb\x4d\x95\xa2\xb6\x01\xdc\xf6\x2d\xea\x4a\x6c\xeb\x94\xe7\x94\x97\x84\x77\xd5\x63\xfa\x07\xcb\xa3\xac\xff\xdc\xdf\xc2\xe5\xd3\x89\x6c\x54\x3b\xfd\xcc\x28\x44\x0d\x47\x9b\x5a\x3f\xa6\x3b\x6a\xab\x8f\x71\x0c\x66\x76\x9f\xd4\x53\x0f\xa1\x8f\xf3\x94\x74\x38\xd3\x0c\x9d\x7d\x6a\xf6\x0a\x77\x68\x2d\x32\x07\xd0\x2e\xf8\xf2\x45\x7c\x5e\x75\x3c\xd5\x53\x5f\x5d\xaa\x1e\x5c\xbb\x04\xf8\x16\x55\x79\xc2\x75\xcd\x76\xbb\xc9\x61\x45\x17\xee\xbe\x19\x13\x66\x7b\xb8\xd3\xfc\xbd\x10\x82\x56\xc6\xbf\x0f\x5a\x3c\x23\x0e\x38\xce\xa9\xff\xff\x6a\x74\xb1\xf3\xf4\x95\x09\x26\x5a\x73\xe2\xdd\xb9\x73\x47\x1c\x1c\x1e\x1e\x9d\x9e\x1e\x9d\x8a\xc3\x97\x6f\x4e\xdf\x9d\x1c\x89\x9f\x0f\x4e\x4e\x4d\x7e\x09\xb7\x18\xbf\xcd\x3e\xbe\x93\x64\x53\xb7\x06\x3f\xaf\xb4\xdf\x69\xd6\xb9\x1d\x91\xcd\x2c\xeb\xba\x3b\x35\x83\x42\xb2\x9a\x41\x5a\x54\xbc\xf2\x82\x5f\x2d\xc7\xf0\x65\x2f\x40\x74\xd3\x2e\x3d\xe2\xad\x30\xa5\xb0\xff\x20\x52\x9b\xb9\xe3\x2c\x2f\x33\xbc\xb9\xd6\x36\xde\x0c\xdd\xae\xa0\x54\xff\xbb\x3c\xd1\xa6\x2f\xb6\x97\xba\x18\x5a\x6b\xd9\x74\x23\x5a\xf0\xe2\xc9\xbb\x33\x70\x6e\x2a\xb0\x96\xd1\x5b\xf3\x59\x47\xf8\x4f\xda\x9a\x6f\xa0\x11\x49\x8f\x05\x03\x8d\xbe\x7c\x11\x6e\x8a\x5f\xb8\x64\x75\x9a\xdc\x19\x0c\x04\xe4\xd7\x15\xf7\xee\xb1\x19\xb6\xbc\xcb\xfb\x01\x39\x38\x2a\x90\x0d\xaf\xd0\x3d\xd5\x31\x1b\x23\xf8\x81\x30\x3e\x19\xbc\xdb\xb6\x78\xea\x0c\xc3\xd9\x03\x42\xf4\xed\x57\xfe\xf8\x9f\x7a\x33\xaa\x7d\xc9\xc9\xb1\x66\xaf\xc5\x1c\x65\x9e\x27\xa7\x25\x05\xb5\xe8\x90\x05\x7c\x2a\x4b\xc5\x09\xbc\x1b\x8f\xb8\x78\xa6\xaf\xb0\xcd\x27\xed\x26\x83\x3a\x9d\xf9\x2f\xe3\x4b\xb9\xbe\x29\x15\x00\x86\x3c\xd8\xfa\x28\x9b\x85\x85\x08\x93\x5c\x86\xd1\x12\x6d\x9c\x05\x98\xff\x29\x13\x76\x4e\x11\xd1\xf6\xb4\x5b\xca\xd2\x81\x68\x3b\xd3\xf4\x03\xf1\x5a\x34\x1e\xc5\x35\x4f\xa0\x84\x6c\x47\xac\x7b\xe3\x18\xf4\x1b\x2d\xec\x70\x53\x9e\x5f\x81\x3d\xd7\xa4\x1d\x77\x5a\x20\x12\xb0\x54\xc0\x86\xe9\x0b\x6f\x10\xac\xed\xf9\xc3\x8b\x0e\x9b\xcc\xf9\xde\x45\x47\x14\x33\xc8\x75\x74\x98\x2d\x38\xd4\xf3\x47\x17\x6d\xa7\xe9\x77\x17\xde\x9d\x44\xe3\x24\x36\xf4\xdd\x11\x8f\xf6\xf6\x3a\xc0\xcb\x83\x37\xff\x11\xf8\xd0\xb6\x9a\xfe\x6e\xe8\xa3\xd7\x13\x0b\x4a\x60\xae\x59\x94\x4e\x8a\x9e\x66\xe9\x2e\x8f\x66\xb1\x09\xdd\x53\x13\xa8\x88\x99\x3e\x93\x70\x2c\x67\x59\x12\xe9\xbc\x55\x76\x91\xbb\x8b\xaa\xc4\xc3\x8a\xa0\x37\x5d\x48\x6f\x31\xaf\x80\x78\x22\xae\xa5\xb8\xce\xd2\xa0\xc4\xac\x1d\x6e\x2a\xf9\x54\x67\x5d\xd7\xd1\x79\x9f\x8a\x7c\xc2\x63\x4d\xb7\xd8\xea\x53\xe2\x2f\x2f\xe7\x3a\x25\xda\xda\xe2\x44\xc0\xbc\x3e\x9a\x09\x41\xf1\x78\xd5\xd5\xcf\x60\x12\x06\x5f\xd6\xe3\xe2\x34\x9c\xcb\x37\x79\x3c\x8d\x53\xc6\x5b\xdb\xce\x3a\x3c\x15\x3b\xa3\x3c\xbb\x2e\x64\xde\xc5\x40\xf0\xa2\xd5\x3e\xa7\xc6\x6e\x14\xb9\xc3\x05\xdd\x57\x17\x0e\x48\x56\xf1\xcc\xdd\xf7\x66\x7c\xbe\x2c\x60\x8c\xe4\x2d\xd6\x33\xb3\xf9\xfb\x3d\x33\xcb\xbd\x12\x3a\x0c\xdc\x46\xcb\x39\x3f\x81\x5d\x76\x0c\x1e\xc3\xe6\xbc\xec\x88\x28\x4b\xf9\xc5\x0e\xbb\xfd\xc4\x78\x50\x57\xc4\x68\xf6\x97\x31\xdf\x38\xc1\x83\x35\x06\x5a\xbb\xa3\xd6\x64\x61\x95\x90\xfb\x42\x57\xc4\xe5\x59\xa7\xcb\xcc\x9d\x50\xbb\x6f\xdb\x8b\x5d\x24\x3e\xaf\x70\x43\x3c\xd1\xd5\xf3\x9c\xa6\xb4\x71\xa9\x71\x78\x4d\x51\xbf\x0b\x9e\x3c\xd2\x40\x4d\x92\x42\xec\x80\x43\x8c\x79\xd1\xd3\xc2\xa2\x96\x43\x14\xfa\x5a\xfe\x9d\xbe\xf1\x07\x3b\xa5\xd4\x13\x36\x6c\xca\x77\x8a\xa9\x1d\x28\x9a\xf8\xf5\x65\xb2\xbe\x43\xf6\x78\x90\xb7\x8f\xcf\xeb\x43\x80\xfa\x47\xfa\x56\xd1\x19\x4f\x9b\x0f\xe8\xe2\x56\x4c\x9b\xea\x22\x1a\x66\xe4\x14\xaa\x68\x18\x18\xb6\xf7\x8e\x41\x87\xe9\xb1\xfb\x67\x8d\x4b\x5a\x1c\xa6\xf8\xb6\x6a\x9e\x01\x9c\xed\xda\xb9\x7a\x55\xf3\x1b\xd0\xbe\xd6\xb9\xac\x2a\xe4\x81\x5a\xe2\x83\x62\x99\x8e\x3d\x4f\x7a\x23\xa8\x76\x91\x0c\xa0\x4d\xab\x3e\xcc\xf6\x4d\x9e\x09\xb5\x69\xed\x7b\xeb\x7d\x87\xf7\xb5\xb3\x98\x85\x85\x6c\xd7\xfb\x6f\x6d\xe6\xd3\x7c\x1b\x9d\x6c\x24\xf4\xee\x7a\x82\xbe\x2d\x8e\xd7\x11\x75\xaf\x27\x52\xa5\x41\x63\x4d\xae\x14\xb2\x98\x26\xd4\x56\x42\x12\x92\x3d\xd3\xd6\xb8\xfb\xbf\x0a\xcb\x59\x77\x1e\x7e\x32\x3b\x69\x8f\x1b\x29\xea\xbb\x01\x25\x39\x14\xd8\x69\xc0\x28\xbd\xe9\x47\x4a\xfc\x6b\xb7\xf8\x2a\xa0\x72\x64\xa6\xc3\xde\x20\xcc\xbe\x9e\x20\x7b\x63\x2a\x5d\xae\x71\xef\xe4\xe7\x2a\x30\xc0\x3e\xfd\x5b\x07\xaf\xd0\xd4\x67\x7f\xdb\x75\xdc\xe0\xf0\xb1\x4e\xce\x6a\x61\x2d\x7f\x8e\xf6\xfa\xb2\x55\x49\x69\x3d\x5e\xd4\x0f\x8d\x5b\x2e\x0b\xd1\x2b\x9a\x51\xab\xdd\xf6\x5a\x3b\x7b\xa7\x69\x80\xae\x42\xd1\xf2\x4f\xe7\x38\xfa\xa4\x94\xaf\x46\x05\x06\x62\x21\xdf\x4c\x7c\x1d\x86\x18\x60\xf4\x09\xd4\x8b\xdd\x87\xed\x35\x9f\x17\x8b\x24\x1e\x4b\xd5\xb0\x23\x1e\xd6\xef\x70\x5d\x75\xd1\xa8\x5b\x28\xf5\xa0\x82\x65\xc6\x0a\x3b\x50\x3f\xa4\x53\x8a\xc5\xc5\x80\xf3\x64\x98\x9b\xeb\x5f\x42\x02\xda\x0b\x4e\xb3\xbc\x94\x51\x0b\xbf\xae\x3b\xd6\x5e\xca\xa5\xcf\xf2\xf1\x02\x5b\xa9\x3e\x69\x95\x24\xe0\x70\xc8\x44\x1d\x2c\xe2\xa4\x87\xe1\x79\x4d\x69\xc1\x58\x37\x22\x50\xe2\x1c\xfe\xb8\x68\x70\xea\xa1\x61\xd8\x61\x35\x9d\x35\xa4\x2e\x5d\xd5\x4e\x19\x52\x5c\xc2\x52\x36\xbc\x14\xe2\x4a\x0c\xc4\x55\xb7\xcc\x8e\x4f\xdf\x20\xcb\xf5\x5d\x7a\xd6\x88\xcf\xea\xbb\x32\xfb\x53\x01\xe3\xb9\x8d\x88\x2c\x10\xff\xa8\xf3\xca\x74\x9c\x45\xf2\x5d\x1e\xff\xdf\x95\xcc\x97\x2d\xc0\xf0\x03\x11\x0c\x02\xf1\xc0\xeb\x87\xfe\xf3\x3e\xb8\x6a\x37\xfa\xd8\xd9\xbf\xd4\xac\xb1\x3f\xf4\xbe\x14\x4f\xc4\x1e\x9f\xbc\xd2\xe0\x1f\x0c\x44\x4b\x11\x93\xa1\xe2\xe0\x69\xd0\x16\x44\xb0\x4f\x45\xf0\x14\x0a\x49\xdf\x0b\xd4\xd0\x10\xd6\x87\x2c\x4e\x5b\xea\x89\x4b\xaa\xa2\x46\x70\xea\xf9\xea\x62\x7f\x6b\xb5\xb5\xe5\x59\xb1\xfe\x3c\xcb\xcd\x0e\xa3\xaf\x52\x79\x2d\xae\xe3\x34\xca\xae\xbb\x6e\x22\x07\xb5\x14\xab\xad\x2d\x38\x14\x8c\x61\xd7\xa4\xbc\x77\xec\xb9\x3f\x6a\xd9\x1b\xcc\xcf\x90\xcb\xb6\x10\x3b\x08\xd5\x7b\x18\x65\x63\x30\x8e\x6d\x09\x04\xeb\x58\x7a\xef\xa3\x31\x54\xe7\xcc\x85\x88\x6a\xca\xc3\xe7\xa5\x85\xd1\x03\x59\x61\x10\x7a\x24\x13\x39\x85\x6a\x7a\x65\xa6\xc0\xb8\x33\x61\xf5\x11\x30\xbe\x05\x2b\xde\x84\x09\x65\xf0\x20\x51\x5e\xc4\xe9\x38\x9b\x2f\xc2\x32\x86\x54\xb7\x31\xc4\x6d\xc3\x28\xff\x92\x55\xfa\x1a\x32\x95\x3a\x55\xa3\xa0\x42\x64\x90\x5a\x45\x27\xd3\xb4\xf5\x12\xb4\x9b\x51\x45\xa5\x9a\x67\xf1\x74\x26\xf3\xdd\x44\x5e\xc9\x44\x84\xa3\x02\x22\xd7\xa8\x16\x69\xad\x56\x12\xa2\x75\xe5\x64\x4e\x39\xa1\xfc\x6a\xdd\x1d\x93\x69\xcd\xfc\xb5\xd2\x23\x7d\x56\xc1\xf5\x68\x09\xb7\x11\x53\x1c\x5b\x3c\x5f\x60\x40\x98\xc9\x37\x5c\x5c\x87\x8b\x85\x4e\x64\x60\x3a\x78\x95\x8d\x2f\xbb\x7c\x3d\xc5\x3c\x1b\x5f\x6e\x79\xe6\xb8\x95\xae\xf9\x6f\xaa\x15\x2b\xae\x83\xa0\x4c\x51\x1c\x35\x9c\x9e\x25\xbe\x9d\x17\xf6\x7b\x6d\xa3\x27\x3a\x54\x23\xec\xee\x60\x19\xf5\xf3\x40\x6b\x55\x10\x2b\x8b\xf4\x03\x7f\x6a\xaa\x71\xaa\x27\x50\xdb\x8e\xa6\xb4\x8e\xa5\x2e\x8f\xc6\x91\xf8\xd9\x20\xd8\xc7\x66\x63\x74\xac\x4e\x07\x72\x80\x81\xdb\xd5\x01\x3e\xfa\x4a\xba\x60\x3d\x9d\xef\xa1\xfc\xdb\xbc\xdf\x6e\xdd\xe5\x33\xec\x91\xf5\x90\x87\xd7\xcf\x9c\xd9\xf4\x7a\xe2\xec\xcd\xb3\x37\xad\xab\xec\x43\x19\xb6\xfb\x62\x12\x7f\xc2\x1b\xf1\x78\x9a\x86\x25\xe6\xd1\xa4\xf9\x36\xc5\x78\x76\xa0\x6e\x92\xed\x82\xc9\x61\x5a\x51\xf3\xaf\x3b\xac\x32\x00\xea\x18\xe1\xd4\x60\x69\x67\x27\x4e\xc7\x6f\xaa\x12\x72\xb0\xd8\x83\xf5\x30\xab\x52\xe3\x4b\x6e\x42\x44\xd5\x29\x65\xbe\xac\xf2\xc4\xb8\x91\xbb\xce\x67\xe4\xc0\xa7\xf8\xa0\xbe\x30\x77\x0c\xb2\x7a\xf4\xc7\x10\xf4\xfc\x6b\x20\x1e\x28\x0d\x88\x90\xd6\xa5\x44\xb8\x0f\x1e\xb4\xbb\x65\x46\x07\xca\x77\xff\x66\x43\x82\x74\xc3\x73\x0b\xc6\x31\xbf\xfb\xae\xc4\x8d\x1f\x34\x07\x07\x37\x37\xa5\x84\x2b\x03\xc8\x15\xd5\x1c\x82\x01\xb3\x7c\x96\xa5\xea\x14\x86\xbf\x95\x14\xa4\xce\x05\xaa\xaa\x8c\xd1\xf7\x36\x92\xbe\x23\x82\x1a\x3d\x76\x15\x1e\x6c\xbf\xae\x5c\x69\x1e\xb3\xbd\xa3\x25\xb9\xd2\x93\xbd\x15\xff\x4b\x64\x29\xf5\x11\x60\x89\xc5\x78\x36\xaf\x45\x49\x47\x6c\x6f\x13\xc4\x1b\xd0\x22\x06\x22\xcd\xb2\x45\xed\x2a\x41\x9f\xf5\x0c\x3b\x9f\x66\xb9\x18\xf0\xc3\xcb\xe0\xee\xd3\x2c\xef\x66\x0b\xe9\xd1\xb8\xc2\x73\xdb\x13\xb0\xd6\x07\x2d\x35\xc8\x56\xd6\xca\xaa\x45\x24\x57\xf6\x50\xdd\x16\xb2\x24\x04\xa1\x76\xac\x24\x88\x8e\x70\x8a\x67\x36\x07\x66\xc0\x98\xd3\x24\x0b\x23\x46\x75\xda\x90\xf5\x32\x0b\x23\x19\xd5\x04\x60\x2b\x46\x8b\x01\xf6\x6e\x1f\x7c\xf9\x22\x82\xc0\x75\x75\x35\x3b\x56\xbd\x8f\x51\x7b\xcb\x92\x68\xb7\x18\xcf\xb2\x2c\x81\x32\x8b\x50\x7f\xaa\xcc\x63\x79\x85\xf9\x39\xc9\xe0\xd1\x2a\xaa\xc5\x02\x64\x51\x75\xe6\x1e\x1f\xfd\x20\xee\x89\x3f\xb6\x9b\x60\xf7\x38\x5b\xe0\xa9\x5b\xaf\xc1\x48\x9c\x96\x79\x16\x55\x63\x48\xe3\x03\xc9\xb3\x5e\xaa\x33\xef\x11\xdc\x98\xd7\x7a\x79\xb8\xd7\x76\xa6\xcb\xb2\x08\xb4\x6c\xb1\x06\x05\xe9\xd3\x2c\x57\x82\x91\x42\x81\x69\xd4\x77\x7e\xaa\x39\xbb\xd8\xb0\x8a\xe4\xf1\xd1\x1f\xc5\xa8\x9a\x0a\x9d\xe3\x7b\x54\x4d\x8b\xee\x87\x8f\x4a\x9e\x83\x50\xe0\x32\x1e\x5f\xca\xb2\xf7\xf0\xfb\x3f\x78\x03\x32\x2a\xa6\xc5\x3d\x88\xde\x0f\x1f\x3d\xfa\x4e\x3c\x15\x8f\xf6\xbe\xa7\x51\xe8\xb8\x7c\xde\xbf\xe2\xd1\x3c\xad\x0f\x64\x5e\xc2\x12\x75\x7b\xa2\xb5\xa7\xdf\x61\x60\x1e\x71\x7b\x19\xb1\x1c\x03\xbd\x9e\x78\x33\x1e\x57\x79\x41\x55\x90\xc6\x3a\x1f\x3a\xc4\xc6\xeb\xe3\x1f\x33\xa2\xa6\xe2\x20\x8d\xf2\x2c\x8e\xc4\xf7\xdd\x87\xa2\x28\xb3\xf1\xa5\x16\x6d\x38\x3c\x8c\x0e\x62\x14\xa0\x40\x15\x94\xf8\x9b\x17\xaa\x03\x3b\x8c\xb3\x39\xd8\xf4\xf7\xdc\x8d\x61\xb0\x64\x96\x46\xa1\x66\x4f\xc0\x25\x23\x99\x12\xc0\x98\xd3\x5d\xe4\x59\x99\x8d\xb3\x04\x58\xbc\xea\x3a\x10\x4f\xc5\xf7\x80\xc5\xbd\x46\x1b\xcb\x5a\x9e\xe4\xec\xcb\xba\xee\x2d\x1a\x75\x75\xdc\x84\x53\x59\x1e\x24\x89\xbe\x4c\xd7\x36\xae\x76\x13\x48\x57\x81\x75\x58\x37\x8f\x11\x5b\x97\x3c\x43\x9d\xda\x5e\xd5\xd4\x30\xb9\x0e\x97\x85\x90\xf3\x05\x73\x90\xe8\xf5\x9c\x20\x75\x20\xa8\x85\x1c\x77\xaf\x67\x61\x79\x3d\x85\x34\x2b\x77\xa9\xbf\x5d\x88\x36\xda\x2d\x4a\xb9\x40\xa7\x00\xfd\x11\x04\x53\xd7\x3f\x1b\x67\xe9\x58\x2e\xca\xdd\x54\x96\xd7\x59\x7e\xb9\xcb\xea\xe7\x6c\x64\xf9\xbb\x0f\x3b\x94\xb6\x15\xff\x3f\x08\x1a\xf0\x80\x2c\x4d\xc7\x3f\x71\x8c\xec\x3b\x2d\x30\xa5\x9f\xdf\x82\xe9\x4b\xb5\x80\x4c\x8b\x43\x05\xa1\x1e\x60\xe9\x1c\xa9\x1c\x52\x93\xd0\x22\x20\x26\x79\xe9\xd0\xac\xc3\x3a\x14\x27\x1b\x38\xf2\x0e\x37\xc9\x8d\xc3\x72\x3c\x13\x2d\xcf\xce\x0a\xe5\xae\x47\xff\x11\x97\x3a\x71\x36\xb2\x36\x73\xd3\xa2\x8e\x73\x07\xa4\x4e\x8e\x9b\x8a\xbd\x3f\xf6\xf6\xbe\xeb\x3d\xda\x7b\xf8\x9d\x0b\x4f\x2f\x25\xb0\xa7\x6b\x39\xba\x8c\x4b\x58\xc4\x62\x96\x5d\xff\x3a\xaa\xa6\xdd\xf1\x34\x7e\x1a\x47\x83\x7f\xff\xee\xdf\xbe\xff\xa1\x2b\x7e\xc6\x2c\x9a\x90\x34\xfb\x34\x9c\x84\x79\x2c\x16\x79\x8c\x45\x90\xff\x5d\x84\xb9\x74\xa1\x5f\xa6\x98\x92\x9c\xe2\xd0\x81\xa5\x14\xe4\x86\x62\xf3\x1e\x6f\xab\x71\x6f\xdb\x64\xc4\xda\xb7\x65\xb9\x90\x5d\xf1\x06\xf2\x28\xfa\x97\x42\xbd\x9e\xe6\x34\x4c\xdd\xf0\x6b\xd7\x2a\x0c\x38\xdf\xb8\x00\xce\x7c\x8c\x41\x8f\x5a\xcf\x88\xa7\x69\x96\xab\x23\x65\x02\x89\x82\xcd\x29\xd2\x11\x23\x39\x0e\x95\x92\x45\x35\xfb\x97\xea\x78\x2d\xea\x73\x07\x6b\x76\x64\x2a\xcc\x43\xd5\x98\xdd\x22\x8e\xa0\x3a\x65\x98\x47\x89\x2c\xb8\xbf\x4e\x8d\x92\xc0\x98\x04\x32\x69\x2d\x5a\x19\xb1\x29\xd7\xd9\xa9\x3d\x12\x45\x09\x22\x8d\x5a\x4a\x1e\x57\x47\x38\x44\x28\x19\x6f\x0a\xdd\xb7\xce\xa6\xe9\x98\x0e\x20\x74\x13\x5f\x80\x04\xec\xa8\x0f\xfa\x13\x13\xc5\x4b\xbf\x5d\xf1\xaa\x7e\x47\xac\x9b\xd9\x6e\xe8\x09\x05\x73\x3a\x50\xd7\x79\xc9\xb8\xad\x18\x0b\xb4\xf2\xed\xbd\x7b\xf6\x87\xb5\xf3\x28\x09\xef\xde\x3d\xc0\x0a\xf0\x88\x96\x8b\x0a\xab\x50\xdd\x28\x9a\x7e\xd5\xe5\x09\xdc\x7e\xa7\x63\x99\x98\xb4\xa5\x90\xd1\xd6\x16\x42\xd0\x8f\xf5\x8d\x05\xd8\x47\x2b\xe6\x91\xc6\x16\xe9\x38\x02\xea\x30\x17\x78\x8e\xa7\x0f\x5f\xa2\x2e\xf6\x69\xbf\xab\xd9\x72\xb8\x3a\x80\xc2\xaf\x93\x4c\x49\xcf\xfa\xab\x6e\x8c\x74\x1f\x4c\x73\xd3\xd8\xac\xab\x6f\x2d\x25\x9a\xb7\x99\x21\x09\xfa\x36\xcb\xc0\x55\x94\x8e\xa3\x5c\x44\x59\x6a\xf8\xa3\x12\x33\x60\xeb\x06\x25\x18\x40\x3e\x80\xe1\xac\xf7\xe1\xe3\xcb\x18\x42\xfa\xa1\xf8\x03\x6e\x5b\x7c\x25\xa2\x4c\x16\x62\x9c\x87\x7f\x5d\x8a\x62\x16\x53\xaa\x4f\x34\x0d\xe9\x7c\x36\x45\x47\xc8\xee\xb4\xdb\xd7\x3d\xec\x62\xf6\x10\x59\x88\x24\x1b\x87\x09\xb5\x2e\xa0\xa2\x99\x12\x3b\xd5\x82\xca\x2b\x75\x58\x94\x33\x39\xb7\x5f\x85\x51\x84\xe7\x66\x3c\x9f\xcb\x28\x0e\x4b\x09\x45\x9d\xe7\xd9\x95\x2c\xfc\x2e\xed\x45\x95\x35\x5c\x69\xc1\x10\x5b\x0e\xb8\xa6\xde\x45\x4d\xe5\x88\x12\xf0\x04\xd8\x26\x68\x5b\x4c\x39\xf9\xb3\x28\xed\x58\x89\x87\x0f\x24\xcc\xeb\x7d\x08\xaf\x42\x7c\xbe\xed\x34\x2a\xf2\x31\x4f\xb6\x44\x4f\xa1\x68\xaf\x39\x0c\xb7\x38\x89\x70\x89\x04\x0a\x57\x58\xaa\xc4\xc9\x1e\xa9\x87\x2f\xe3\xa2\x94\x29\x44\x53\x22\xc8\x8e\xd8\x56\x1c\x74\xdb\x0e\xd9\xd0\xcf\x0d\x9f\x81\x10\xd0\xf8\x1d\x43\xd0\x28\x8b\x96\x74\xb9\x77\x38\x8b\x93\x88\x3e\x37\x6d\x0d\x56\x79\x96\x31\x47\x0e\xdf\x7d\xc8\x1f\x97\xa8\x18\x6d\x57\x29\x1c\x6e\xdb\x8e\x4c\xe1\x4d\x9b\x3d\x24\x9c\x0f\x06\x34\x5b\x48\xff\xb0\x49\x87\x77\x79\x3e\x16\x02\x19\x88\xcf\x70\x46\xf5\xf5\xdc\xad\x7b\x1c\x3f\x01\x68\x88\xb6\x5f\xdb\xc8\xa6\xab\xf2\x06\x45\xf0\xb4\x64\xfc\x68\x6f\xaf\x51\xd4\xe1\x7b\x4e\xfd\xe7\x5c\x26\x97\xee\xd5\x8b\x60\x72\x5b\x18\x45\x5f\xb9\xfa\x9b\xbe\x58\xb3\xf0\xb5\x65\x0f\x17\x0b\x99\x46\x0d\xcb\xae\xcd\x74\xf4\x3d\xd8\xd3\xb6\x56\x5b\x5b\x6a\x81\x77\xe0\x0a\x70\x91\x25\x61\x29\x5f\x41\xe2\x1c\x31\xb0\x19\x74\xd8\x4b\x70\x4b\x76\xad\xd5\x54\x37\x29\x67\xe6\x6a\xf6\xc1\x5b\xfb\xb6\xc1\x14\xad\x1e\xbd\xd3\x29\x3d\xb5\xd3\xb0\x16\x69\x2c\x14\x08\xbf\x0d\xf3\xcb\x6a\xd1\xd5\xc9\xc5\xe1\x8e\x72\xf8\xf9\x33\x65\xef\x5d\xad\x86\xda\x3a\xbb\x3e\xe1\x27\xd6\x8c\x3f\xe6\x60\x0f\x16\x8b\x4d\xb9\x3f\x1f\xe3\x60\x75\xe2\xb3\x66\x00\x62\x50\x4b\x66\xd8\xdc\x10\xf3\x1a\x02\x75\x34\x37\xe8\x22\x0a\x58\xb1\xc7\x06\x4c\x1a\x13\x61\xc3\xbb\x2e\x14\xad\x3f\x5d\xce\x47\x59\xd2\x0a\x7a\x3d\xad\x4c\x34\xb6\x95\x69\xe4\xb7\x5c\x91\xaf\xe1\xfa\xe1\x99\x64\x8c\xcf\xe4\x3c\x73\x72\x31\x36\x68\x66\x60\x77\x4e\xc2\x11\xe4\xc4\xdb\x86\xcc\xae\x94\xfb\x0d\x4a\x97\xe4\x59\x35\x9d\x95\x50\x6c\x7f\xb4\x04\x07\x26\x67\xc5\x0b\x18\x5c\xd1\xdd\xb6\xe9\xa4\xf4\x72\xe8\x8c\xac\xe1\x62\x31\xd8\x56\x6b\xe8\xa7\x67\x75\x47\xa7\xc4\xec\x48\xce\x33\xca\x8f\xd9\xeb\xa9\x1f\x38\xb0\x5e\x6f\x6b\x43\xca\xca\xdb\x64\xc4\x63\xd9\xbd\x18\x96\xcd\x44\x31\x7d\x39\xe0\x53\xcf\xa8\x09\x59\x94\x62\xab\x31\x4b\x9e\x19\x6c\xd0\x6e\xbb\xf9\xb7\x7e\x94\xad\xe0\x5b\xd1\xba\x39\x4d\x97\x73\xb3\x70\x5c\xa7\x1e\x1a\x38\x1d\x1a\x9a\xe6\xc4\x40\x04\x9f\x3f\x07\x3a\x6b\x9e\xa1\x30\xf5\x7c\xb5\x42\x2b\x1a\x39\x40\x34\x84\xa4\x6c\xe2\x1f\x77\x59\x2f\x5b\x8d\xf1\x0b\xf7\x05\xf5\x55\x66\x22\x92\x69\x56\x4a\x1c\x19\xd4\x3a\xfa\xb4\xc8\xb1\x94\x97\x88\x53\x8f\xb9\x28\x9d\x12\xc4\xb9\x3a\x6f\x01\x55\x45\x8f\xd6\x89\x5b\x19\xac\x48\x8f\x4b\xe5\x35\xfd\xc5\xd2\xde\x43\xbf\x50\xda\x50\x8f\xa8\xbb\xe5\xc5\x8d\x50\x42\xec\x42\x26\x13\x9b\x99\x1d\xbe\xc5\x4f\x40\x6d\x84\xbb\xb9\xb0\xd0\x69\xa5\xb1\x0c\x5c\x32\x51\xa7\x92\x7e\x55\xc0\x2b\x04\xdf\xd3\x57\x3d\xee\x8a\xb8\x06\x59\x93\x31\x4e\xdf\x71\xdb\xed\xea\x7e\x76\xc5\xdd\xd6\x4c\x29\xf3\xb8\xf0\xec\xc8\xce\x7b\x06\xc1\x17\x6e\xbf\x71\xd9\x0d\x09\xdd\x7a\xd1\x21\x6b\x5e\x1a\x7d\xeb\xb2\xe3\x49\xf2\x4d\xcb\x8e\xae\x0f\xff\xa8\x45\xe7\x9b\xed\xd6\x4b\xce\x3f\xfa\x96\x05\x37\xdf\xbb\xcb\x5d\xbf\x73\x04\xcb\x00\x5c\x33\xca\x4f\x63\x09\xeb\xf7\x42\x27\x35\x14\xc1\x4e\x31\x96\xce\xb5\x23\x34\xef\x88\x5a\xe3\x8e\x50\x4d\xf5\xf8\x3d\xee\xf3\x12\xfd\x00\x06\xfc\x19\x39\x07\x58\xa3\xa3\x19\xb1\x69\x6d\x9e\xd4\xdb\x16\xe3\x70\x21\xa3\x53\x05\xee\x44\x4e\xe5\x27\x75\xd6\xab\xa5\x3f\x91\xd3\xa3\x4f\x8b\x16\xef\x47\xdf\x24\xf5\xba\xbd\x69\x87\xbe\x6c\x77\x44\x30\x0d\xda\x35\x80\x47\x69\xd4\x04\xce\x0e\x64\x03\xb0\x7d\x4f\x65\xc7\x97\xad\xf1\xac\xed\xaf\x4d\xf0\x1e\xfe\x83\x6b\xab\x99\xa3\xef\xd7\xe3\x32\xbd\x2a\xfb\xf5\x0d\x69\xde\x5c\xc6\x69\x64\x7a\xa7\xa7\xe6\xa5\x75\x41\x80\x05\x6c\x78\x5e\x8c\x6f\x91\x09\x40\xbf\x3a\xcc\xe6\x0b\xb0\x9b\xeb\xf2\x60\x78\x9a\xa2\x28\x88\xae\xd4\x61\xea\x1d\x6f\x26\xf7\x3e\x66\x92\xd7\x3e\x03\x71\xc1\x3d\x1d\x74\x07\x2f\xce\x5e\xbd\x74\xca\xbb\x60\x87\x42\xff\xb1\x32\xdf\x43\xce\xf9\xb0\x0c\xf5\x49\x0b\xe9\x4e\x35\x18\x06\xa1\x81\x87\x35\x32\xb6\x55\x93\xc8\xab\xe1\x35\x4a\xbe\x2e\x6e\x74\x53\xa7\x48\x2c\xee\x08\xde\x9d\x18\x88\x6e\xb7\xbb\x8f\x52\xc0\x07\x39\x2e\x79\xe1\x36\x38\xa2\x81\x08\xf9\x27\xad\x00\x32\xc0\x8a\xcf\x9f\x81\x08\xbe\xd8\xa4\x8e\xab\xd5\x9d\x80\x97\x5f\xd7\x32\xcb\xa7\x45\x0b\xda\xf6\x03\xaa\xa5\x1a\xac\x94\x70\x72\xf4\xb1\x0a\x13\x0d\xed\xe0\xf5\x4f\xef\x5e\x1e\x9c\x70\x00\xf5\x82\xb5\x43\x3e\x8e\x21\xd5\x03\x09\x53\x5b\xf1\x7e\x92\x55\x79\x39\x33\x65\x32\x3a\x62\x18\x26\xc9\x9b\xfc\x75\x06\x75\xeb\x87\x50\x26\xcd\x7d\x24\x62\x83\x9d\xa1\xd2\xdf\x87\x9d\x06\xdd\xc2\x6c\x26\xa8\xe1\x41\xdb\x67\x68\x2c\x4d\x43\x51\xa5\x09\x94\x20\x49\x12\x21\xe7\x23\x09\x86\x68\x7b\xb8\x98\x1e\xa4\x62\xa1\x21\xd6\x65\x0e\xb5\x1d\x1a\x6b\xe2\xcc\x42\x07\xa2\x1f\xad\xf5\x5b\x97\x11\xc2\x5b\x41\x03\xfe\x0c\xd9\xed\xe3\x74\xda\x17\x88\xfa\xa0\x03\xc2\x2c\x73\x7d\xb7\x45\xd4\x2d\x90\x5e\xcf\x04\x66\x6e\x4f\xb2\x7c\x1a\x5f\xc5\xe9\x74\x5b\xa9\x4e\xf2\x66\x82\xf9\x6c\x3a\x5d\xad\x88\x6e\x36\xd0\x0a\x8d\xb5\x5d\xa3\x91\x3b\xb5\x62\xfb\x38\xb0\x6d\xbe\xa2\xfe\x98\xbe\x62\x3c\x1d\x0c\x83\xd2\x57\x2d\xfc\x1a\x7b\xc3\x10\x7f\x94\xd6\xed\x8f\x37\xa7\x36\xdd\x14\x93\x06\x19\xda\xff\xca\x49\xd3\x67\x37\x6c\x0c\x9f\xa6\x15\x33\x9b\x54\x09\x30\x11\x46\xcb\xe9\x54\xbc\x3b\x79\x59\x74\xc5\x30\x9d\x9e\xe6\x63\x52\x8e\xe1\xef\x42\x96\x43\xeb\x4a\x35\x92\xb3\xf0\x2a\xce\xf2\x86\x62\xe8\x77\x8f\xf0\x90\x12\x8e\xfa\xa7\x1b\x38\x54\xd9\x54\x32\x19\x0b\xbf\x2a\x10\xa0\x8f\xd4\x38\x99\xcc\x8b\xae\x80\x13\x15\x6d\x87\x69\xa4\x1f\xeb\x2e\xe8\x32\x82\xce\x4a\xc5\xb1\x17\xb9\x1c\x4b\x90\xad\xa0\xa2\x2c\x86\x23\xc7\x90\x59\x53\x29\x62\x32\x2f\x74\x95\xd6\x93\xa3\x9f\x8f\x4e\x4e\x8f\xc4\xe9\x9b\x97\xc7\xcf\xde\x9d\x8a\x77\x0f\xf6\xf6\xfe\x70\x28\x5a\x60\x71\x4a\xc2\x62\x66\x8a\x25\x89\x63\x53\x68\x52\xe4\x32\x8d\x20\x84\x01\x42\x72\x72\x89\x05\xa1\xe1\x74\xef\xd9\x01\x62\x65\x5d\x5e\x46\x11\x67\x97\xcb\x92\x3e\x4d\x19\x53\xd0\xdd\x64\xb9\x39\x32\x3c\x5c\xc3\xf9\x24\xd3\x70\x94\xc0\xad\xfe\x68\x17\xf3\x83\x82\x18\xaa\xcb\xe0\x92\xa5\x0e\x37\x3d\xe4\xc9\x82\xda\xe1\x05\x79\xd7\x4d\xc2\xb1\xc2\x0a\x3d\xec\x80\x30\x9a\xd9\x82\xaf\x91\x54\xfb\xa0\x43\xb7\xd1\x61\x52\x64\xd8\x9f\xfa\x06\xae\xca\x49\xdf\xb3\x95\xf4\x15\x1a\xb3\xaa\x14\xb9\x4c\x96\x54\x11\x98\x9d\x4b\xf6\x9c\x43\x17\xbc\xf8\x4a\xf6\xd3\xe9\xeb\x2c\xfd\x31\x4e\xb1\x60\xb2\xf3\x6b\x25\x4c\x33\x7f\xee\xf7\xef\x3f\xcf\x72\x53\x04\xd7\xd4\x70\xe9\xd0\xbd\x7d\x51\xe6\x59\x3a\x4d\x96\xe0\x14\x5a\xe5\xe1\x94\x8a\x4d\x2b\x34\x09\x8d\x26\x24\x10\xa8\x2f\xbc\x5b\x54\x8b\x45\x12\xcb\x08\xe3\x7a\x75\x2f\x28\x46\x01\x86\xa0\x8c\xd3\x28\x0f\xc7\x97\xb2\x2c\x44\xeb\x5e\x52\xee\x77\xc4\xbd\x69\xb9\xdf\x46\xd2\xb9\x17\xce\x17\xfb\x49\xb9\x0f\x88\x85\x1f\xd3\x72\xdf\xa9\xd0\xd4\xa1\x28\x74\x03\x32\x49\x9a\xcf\x6b\x9f\x6e\x0a\x53\xcb\x28\xce\x0d\x55\x93\x17\x15\x3a\x9d\xde\xf7\x4f\x75\xbd\x05\x1b\xb7\x0f\x94\x7d\x82\x12\xce\x24\x26\xb2\x62\x49\xe1\xb8\xac\xc2\x64\xcd\x77\x90\x9f\x0c\x29\xdd\x50\x67\x55\x2e\xaa\xd2\x16\xab\x72\xb6\xb7\x96\x7d\x74\x8e\x3c\xd4\x55\x80\xe9\x89\xd3\xac\x03\x3b\x1d\x24\x28\x63\xc8\xe7\xea\x95\xee\x62\xb4\xdc\x28\x61\x41\xe5\x3a\x56\x96\x8f\x2b\x68\x66\x5a\xc3\x79\x55\x94\x2f\xc2\x2b\x79\x64\xf6\xd7\x10\xfd\xc3\x65\x29\x4d\x71\x3d\xd0\xc3\xb2\x35\xe7\xbc\xa2\x20\x75\x42\x42\x6a\x4c\xaa\x28\x8a\x35\xe3\x65\x23\xb2\xed\x4e\xee\x8a\x83\x02\x6a\x3c\x1a\xba\x2a\xa9\x46\x91\xad\xbb\x48\xec\x18\x56\x45\x6b\x71\xf9\xae\x49\x08\x8d\xe5\xb6\x08\xfb\x40\x3c\x42\x97\xdd\xb0\x97\x1f\x48\xd7\x0a\x1f\xba\x1f\x80\x64\x71\x53\xa5\x65\x5e\x15\x25\x51\x39\x17\x69\xc3\xf5\x3b\xed\xb1\x97\x7a\x5d\x88\x0d\x95\x8e\xe8\xdc\x32\x15\x8f\xe2\x34\x2e\x07\xdb\x6a\x2e\xd0\x3c\x38\xc0\x12\xfa\x4e\x5b\x21\x1e\x2f\x6c\xdb\x70\xb1\x28\xe3\x32\x91\x83\xe0\x48\x9f\x01\x91\x9c\x67\xc1\xf6\x93\xcf\x9f\xf5\xbb\xd5\xaa\x2f\xde\x7f\x7e\xff\x59\x68\xc0\x62\x20\xb6\x81\x99\xc9\x08\xa5\xa6\xed\x7d\xf1\x7e\xf5\xde\xad\x5d\x28\xc4\xe3\xde\xc2\xef\xf8\xc9\x63\x64\x15\x4f\x3e\x7f\xd6\xc0\x56\xab\xc7\x3d\x7a\xa8\x18\xa3\x9c\x2f\x50\xb3\x47\x1e\xaa\x5d\x84\x4c\xd5\x38\xec\xb7\x56\x8f\x50\x70\x37\x1d\x0c\xcf\xc5\xa2\x6d\x4a\xb4\x1b\xc3\xcd\x5e\x5c\xe8\x4d\x5d\x86\xc5\xa5\xbd\x23\x67\x15\xcd\x67\x61\x21\xc6\x59\x8e\xee\xca\x1e\x7c\x4d\x76\x75\x71\x74\x0d\x03\xb9\xf9\x6c\xf3\x7a\xb0\xc7\x63\xb7\x09\x75\xc7\xe8\x3c\xdd\xd1\xfe\x03\x4a\xf6\xa3\x4c\x1f\x84\x37\x19\xd5\x0f\xa0\xb8\x10\x57\x71\x11\x8f\x12\x89\x0c\x91\x4e\x6b\xbc\x6d\x8a\xbc\x11\xd8\x8b\xbd\xb0\x0c\x47\x61\x01\x15\xdf\xc3\x54\x84\xd1\x3c\x4e\xe3\xa2\xcc\xc3\x32\xcb\xfd\xc1\x91\x3d\xd6\x90\x2b\x59\x27\x35\x3d\xfb\xb5\x04\x8c\x1e\xe9\x25\x96\x81\xdd\x7e\x46\x0c\xcb\x51\x1c\x81\x18\x0c\x5f\xa8\xa5\xb5\xa2\x9a\x96\x83\x95\xa8\x73\x1d\x11\x4f\x34\x9b\x51\x5c\x06\x52\x3c\x37\xae\x20\xec\x72\xe0\x35\xb3\xf0\x8a\x93\x56\x83\xfe\xa0\x58\x43\x96\x53\x2d\x65\xd2\x3e\x36\xe8\xb5\xa7\x54\x4f\x1a\xa6\x94\x66\x37\xc0\xe6\x2a\x0d\x44\xb2\x68\xc7\x99\x35\xe0\x9b\xd1\x39\x58\x09\xe2\x3d\x87\xa4\x69\x00\x6f\x22\x01\xd0\xd0\x10\x96\x06\xb7\xfa\x14\x54\x1a\x2c\x6a\x9c\x98\x0d\x99\xe8\xae\x9c\x81\xd5\x9a\x9f\x14\xc5\x58\xde\x9d\xca\xf2\x8c\x58\x9e\xfa\xdd\xb5\xbf\x5b\x1c\x1e\x45\xbc\x33\xb0\xee\x60\xdb\x2b\x31\x92\x93\x2c\xd7\x43\x04\xc9\x14\x4b\x3b\x4c\x10\xeb\x5e\xf4\x43\x31\x96\xd0\xa1\xd5\xff\xdd\x5a\x8f\x56\xf2\x55\x8b\x31\x2e\x05\x75\xa4\xce\x5e\xc3\xf7\xb0\x4c\x5d\xa9\xb8\xc6\x06\x1a\xe3\x92\xbd\xa2\x2e\x76\x7a\xa5\x6b\xb0\xaa\xed\x89\x5e\x9d\x01\x18\xd8\x0d\x9a\xea\x37\xa8\xa8\xcc\x7e\xc9\x2b\x35\x10\x5e\xd7\xd2\x29\xf1\xd8\xd8\x16\x2e\x54\x4c\xb3\x2a\x7d\x56\xdb\x68\x91\x55\xdb\xd6\x00\x62\x25\x27\xf5\x89\x5f\x2b\x39\xb9\x2b\x86\x34\xa6\x61\x5f\xcf\x11\x1d\x5a\x90\x5a\xd5\x5a\x00\x4e\x38\x2a\x34\x7e\x9a\x6c\xc3\xa5\x89\xfe\xab\x15\x2b\xe1\xaa\xa6\x6a\xd6\x69\xe0\x13\x1d\x8f\x02\x3b\xce\x3a\x5b\x53\x9d\xb3\xfa\x03\x71\xe7\x0e\x7f\xe0\xdd\xcc\xe7\xe5\xb1\x3a\xad\xb9\xff\xa4\x4c\xa3\xda\x33\x38\xd2\xc5\x40\xec\x39\x0d\xd9\xbc\x07\xe2\xfc\xc2\x49\xaf\x12\xe6\x85\x7c\xde\xf0\x42\x0d\xdc\x58\x49\x41\xec\xf3\x0d\xa4\x00\xd8\x0b\xb0\x1c\x87\x65\x0d\x92\xed\xfe\x6d\x56\xc4\xa5\x19\x86\x9f\x4d\x1f\xc7\xfe\x98\xf5\xec\x3b\x16\xb4\x5a\x16\x13\x7a\x54\x3a\xb8\x8b\x99\x63\x3b\x88\x86\x76\x5b\xdc\xc1\x60\x2f\x27\xf5\x89\x10\xa2\xd5\xd2\xb8\xf3\xa1\x18\x2b\x6c\x87\x21\x5d\x3c\xa8\x1b\x9a\x0d\xf0\x86\x60\x3d\xf8\xe6\xce\x60\xc0\x40\xd4\x62\xc3\x01\x55\x18\x2c\xa7\x85\x50\xb8\xd9\x83\xd1\x14\xd5\x08\x37\x03\xc2\xe2\x63\x69\xb7\xd7\x44\x6b\x6b\x63\x88\x07\x60\xf3\x2c\x3a\x86\x88\x1c\xa8\x8c\x60\x28\x9e\xef\xd3\xc2\x69\xa0\xa9\x06\xdf\xa2\xbd\x57\x35\xa2\x90\x76\x3c\xa4\xe2\xc9\x92\x55\xa0\x70\xc7\xad\xe9\xd4\xac\xc3\x03\xdf\x36\xdf\x3c\x1e\x43\x41\x26\xb7\x8e\x42\x23\x55\x60\xd8\xaf\xd1\x22\xb6\x0a\x82\xcd\xd1\xdf\xe8\x4b\x15\xc5\x11\xa8\xf6\x93\x18\x6b\x0d\x3b\x9c\xad\x23\x8a\x4c\x35\xc2\xcc\x1a\x99\x08\x23\x9d\x22\x63\x1e\xaa\xb9\x98\x73\xa4\x90\x8a\x4f\x95\x19\x68\x6a\x79\xb8\x5c\x4b\x1b\xcd\x54\xfe\xd5\xb4\xb1\x81\x1e\x46\xb9\x0c\x2f\x1b\xa3\xd1\xcd\xb4\x0f\xa1\x2b\x99\xa2\xf5\x88\xf3\x89\x39\x98\x5f\x63\x25\xc1\xe4\x11\x8a\x26\x61\x91\xa5\x22\x1c\x65\xa8\x32\xc2\xb1\x51\x64\x73\xa9\x58\xfb\xc8\x26\xe6\xb3\xc0\xc7\x06\xb8\x96\xec\x51\x7b\xad\xd2\x22\x9c\x48\x1d\xdc\x07\x62\x24\x5c\xa0\xcb\xb0\x88\x93\xa5\x48\x64\x08\x1d\xfe\xf9\xf4\xb4\x2b\xc4\x8f\x4b\x81\xf7\x07\x68\x25\x0f\x4b\x5d\xda\x19\x32\x95\x60\x81\x66\x26\xf0\xf0\x2a\xb1\xf1\x44\x1d\x18\xe7\x45\x3e\xbe\xe8\x50\x80\x22\xfd\x90\xe5\xb8\xdb\x51\xcb\x29\xd3\xa2\xca\xf1\x7c\xb7\xee\xb9\x16\xbe\x7a\x1e\x68\x0d\xae\x10\x61\x51\xc4\x53\x75\x18\xa3\xf1\x1e\x4b\x2f\xa3\x0e\x06\x88\xf8\xd3\x29\x2a\x18\xea\xc7\x35\xb8\xe0\x01\xe0\xb8\xc0\x4a\xe2\xa5\x2c\x4a\xb0\x93\x18\xdf\x70\x5d\xcb\x21\x2e\x45\x36\xba\x8a\xb3\xaa\xc0\x2f\xe0\xf6\x3e\xab\x28\x0d\x8b\xbd\x6a\x54\x9d\x28\x4d\x47\x18\x6f\x07\x42\x6c\x57\xa0\x41\x69\x26\x93\x45\x21\x72\x19\x55\x63\x67\x1a\x52\x40\x48\x0c\x46\x38\x54\x51\x5c\x6a\x11\xe5\xcf\xa7\xa7\x02\x0b\xb2\x69\xcf\x5c\x70\xba\x74\xa5\x3d\xcc\x29\x65\x37\x9a\x78\x22\x1e\xba\x44\x8b\xfe\xb9\x75\x47\xa2\x56\x90\x66\xf8\x69\xad\x48\xeb\x36\x3a\xf5\x23\xef\x77\xac\x98\x50\x6a\xeb\x7d\xba\x41\xb8\x8a\xe2\x22\xc4\x5c\x83\xdb\xb5\x80\xe2\x6d\x67\xdf\x12\x42\x19\x29\x8a\x79\x95\x94\xf1\xc2\x21\x1b\x1d\xfb\xa1\xcf\x6d\x9b\xc0\xbc\x01\x3e\x5d\x67\x45\x5d\x61\xe2\x09\xfa\x3d\xa8\xd5\xde\x75\x8b\xb6\x86\x8b\xb8\x47\xf2\xa4\x1f\xb6\xe5\xb8\x98\xdd\x69\xd0\x34\xbe\x7c\x71\x98\x70\x73\x89\x19\x2d\x53\xf9\x57\xbe\x45\xad\xb2\x94\x68\x41\xa4\x3f\x08\x06\x22\x8e\xa1\x02\x80\x0f\x7d\x5f\xc4\xe2\xb1\x88\xe3\x7d\x11\x3f\x78\xd0\x14\x65\xee\x88\x2b\xf7\xee\xd5\x43\xe2\x8b\xf3\xf8\xa2\x21\x2c\xde\xf2\xb4\xf3\x06\x46\x7e\x1e\x5f\x5c\xe8\xfb\x67\xf5\x63\x1d\x37\xd3\x1e\x6c\x48\x88\x18\xa9\x1d\xac\x29\xcb\xa9\x26\x3b\x95\xa5\xce\x39\xd4\x7c\x21\xee\x80\xf5\x28\xfe\xa9\x33\x78\x5f\xfb\xf0\xa5\x3b\x02\xdb\xaf\x7f\x04\x6f\xde\x4c\x5a\xb5\xc8\x35\x6f\xb0\x85\x3e\x30\x6f\x18\x2d\xcf\x4d\xa0\xeb\x6e\x40\x14\x16\x65\x29\xa8\x17\x1f\x63\x73\x0c\x82\x75\xb8\x2d\xae\x63\x88\xbe\x28\x97\x0b\x99\x4d\x44\x43\xc7\x42\x8c\x95\x02\x1f\xe0\x40\x83\xbe\xb7\x29\xbc\xa3\xc6\xb6\xc7\x1a\xec\xb5\xf6\x3a\x29\x42\x10\x88\x07\xae\xeb\xc1\x06\x88\x74\x45\xb5\x0e\x96\xce\x56\xe0\xa1\xba\x56\xf9\x00\x70\xe1\xf5\xb9\xaa\xd7\x06\xa1\xe4\x8f\x46\xf2\x77\xd8\xca\x73\xab\x05\x79\x68\x32\xfb\x6c\xbf\xfe\x78\xcd\xbe\xab\x35\xa4\xb3\x12\xdd\x03\x30\x9b\x44\x1c\xbb\x05\x28\xea\xb1\x36\x42\xef\xf4\x8d\xfb\xd8\x20\x4c\x6d\x35\x31\x30\x82\xdc\x79\x7c\x61\x66\xe4\x2f\xc5\x6a\xcb\x7b\x60\xb6\x22\xb0\x1f\xcd\x73\xfc\xb4\x12\x3a\xa2\x27\xaf\xd5\xac\xc3\x59\xa6\xf2\x1a\x5d\x4d\x9b\x8e\x0d\x78\x94\x07\x1d\xb1\x7d\x08\x2e\xee\xac\x09\x1d\x0f\x9f\x1f\xae\x88\xab\x36\x95\xff\x96\x79\x6e\x03\x94\xdb\xb5\x29\xd5\x5c\x4b\x5a\x38\x9a\x5a\xa6\x0b\x4e\x46\x1d\x5f\x68\x54\x3a\x25\xda\xcc\x0a\x27\x48\x13\x85\x1c\x1b\x6d\x08\xeb\x92\x66\xd7\xae\x44\xdb\xc7\xc1\x8b\x5e\xef\x43\x55\x94\xe4\x11\x60\x93\x23\x2c\x75\xc0\x3f\xde\x47\x5d\x2b\x6c\xca\xbc\xa0\x48\xdd\x08\x7c\xf0\x77\xae\x59\xda\x66\xe1\x0a\xee\x7d\xfe\x83\xa3\x68\x07\xbf\x7a\x46\x09\x1d\xfa\x2c\x66\x19\x13\x7e\x26\xe4\x80\xac\x85\x26\xb8\xb1\x8c\xcb\x65\x13\xa9\x27\x61\x51\xfe\x5c\xdf\xbf\xda\x23\x0c\x13\x23\x41\x7f\x3f\xe5\x59\xb5\x68\x69\x7a\xb3\xee\x3e\x7c\x69\x9f\xa7\xbf\xe0\x34\x89\xa6\x3a\x22\x4b\xa2\x9f\x1b\x8e\x34\xdd\xfd\xb8\xca\x73\xcd\xe5\x37\x92\x63\xad\x14\x92\x9e\x64\x43\xca\x14\x61\x30\x00\x9e\xe9\xad\x72\x16\x17\x1d\xdb\x55\x47\xef\x4f\x25\xc5\x9b\xf1\x89\xa7\x16\x17\xa2\xcf\x5b\x03\x12\x1a\x36\x95\xd7\xa5\xf9\x78\x60\x3f\xf6\xa8\xb1\xb6\x20\x6b\xe2\xa1\x36\x64\x03\xaa\xe9\x13\x6e\x82\x22\x3c\x0b\x95\x9a\xa1\x9d\x90\xea\x5e\x50\x1d\xae\x46\x3a\xc5\xba\xbd\x6f\x8c\xa3\x53\xc7\xea\x76\x1b\x86\xb6\x56\x73\xac\x1f\x84\x3e\xef\xd3\x47\x80\x3e\xf3\x1b\x0e\x01\x6d\x59\xf5\x64\x98\x3b\x7e\x34\xba\x78\x4a\xd0\xfa\xf6\x50\xae\x1f\xdf\x6b\x99\xdb\xdf\x90\xb1\x6d\x60\x69\xb7\x60\x67\x56\xfb\x13\xcd\x39\x85\x37\xe5\xe8\x67\x83\xf4\x5d\x71\xd7\xe6\xea\x6f\xf2\xcc\xfc\x5d\x5c\x72\x99\xe1\xef\x5d\x21\x6f\x70\xbf\xe2\xc3\x75\x3d\x8c\x9a\xbc\xe6\x87\x2b\x30\x55\xce\xc2\x74\x6a\xac\x94\xd6\x43\xb3\x56\x56\xc0\x73\xed\x5c\xd1\xfc\xdc\xd6\x94\x2a\x9c\xdf\x39\xac\xf1\xd0\xad\xf9\xf0\xd5\x1d\x6a\xf7\xbf\x7d\xdd\x1c\x5f\xda\xaf\x5a\xb5\xdf\xc1\x9f\xf6\xeb\xd6\xcc\xfa\xa5\x36\xaf\x98\x79\xff\x5b\xd7\x4b\xcd\xec\xc6\xd5\x6a\x74\xad\xad\xad\x95\xef\x0b\xbb\xef\x66\x80\x67\x00\x9b\x72\xd9\xa0\x93\xfd\x55\x98\x6c\xce\xdd\x63\x92\x0d\xfa\xd9\x7b\xa0\xb2\xf5\x8e\xfa\x47\x6f\x78\xeb\x4d\xcb\x52\x79\x0b\x9b\xc8\x47\x88\x9d\x8f\xf0\xff\x3b\x1f\xb9\x43\x6d\x4c\xe3\x30\x15\x08\x11\x5e\x43\x31\x09\xc7\x69\xd4\x23\xb9\xab\x50\x67\x83\xbf\xa1\x96\x84\x76\x9b\x2a\xc4\x75\x1e\x2e\x16\x32\x07\x31\x68\x48\x59\x81\x0a\x59\x6a\xbc\x0c\xf1\x5a\x60\x38\x49\x87\x4c\x72\x28\x74\xcd\xb0\x48\xc8\x2b\x99\x2f\xc5\x30\x92\x49\xb8\x1c\x1a\xf8\xf3\x38\x49\xe2\x42\x8e\xb3\x34\x2a\xea\xd5\x28\xce\xcc\x05\x8b\xbe\x0b\x99\x98\x94\xa6\xe8\x37\x62\xf0\xe1\x74\x1a\x9a\x1c\x8d\x68\x75\xd1\x01\xac\xe4\x51\x64\xe0\xa7\x59\x19\x4f\x62\x19\x89\x6a\x91\xa5\xe8\xbd\x54\xc6\xe3\x4b\x7d\xcf\xaa\x61\x33\xd7\xa2\x91\xd4\x59\x02\x23\x2a\x8a\x37\x04\x5f\x91\xa1\x2d\x96\x57\x58\x1f\x01\x71\x5f\xe4\x55\x0a\xb6\xd4\x49\x9c\xc6\x10\x65\x19\x4f\xec\x27\x05\xd8\x33\x49\x23\x44\x04\x9a\x79\x62\x9e\x62\x35\x3e\x4a\x46\xa1\xfb\x37\x17\x34\x6a\x02\xa0\xbd\xa9\xe6\xb6\x7b\x34\xa8\x80\x1d\x34\xaf\xd2\xae\x45\x66\xa6\xc3\x7d\x19\xda\x30\x62\x4d\x6f\xe3\xab\x30\xd1\xe1\xb9\x3a\xa9\xf1\xb0\xbe\x2a\xc7\x29\x58\xca\x0a\xb0\x82\x8d\x43\xf0\xa6\xf0\x53\x68\x69\x70\x77\x27\x49\x55\xcc\x38\x7c\x78\xd0\xc2\x75\x6f\x03\x7f\xb0\xc4\x90\x5d\x81\x2b\xef\x75\x98\x83\xcd\x6e\x88\xad\x86\x0e\x95\xc0\x5a\x94\x79\x3c\x9d\x82\xfb\xfd\xd2\x2c\x7c\x21\x8a\xf1\x4c\x46\x55\x82\xf7\x59\x88\x78\x76\x33\xa8\x58\x4f\x3c\x97\xf5\xf9\x80\x3b\xc5\x38\x09\x8b\x62\xb0\x1d\x26\x32\x2f\x05\xfc\xff\xee\x75\x08\x77\x91\xda\x9d\x02\xfc\xa2\x5e\x67\xa5\xbc\x7f\xbf\x2f\x8e\xcd\x36\xd4\xe2\x3e\xb8\x2e\x33\x97\x66\x5d\xe4\x55\x7e\x5a\x24\xf1\x38\x2e\x93\x25\x14\x48\xc9\xb3\xa5\x24\x3b\x9f\x42\x9f\xd2\x44\x14\x69\x14\x33\x69\xeb\xbe\x68\xc7\x9a\x79\x57\x28\x64\x2f\xc2\xbc\x8c\xc7\xa0\x64\x94\x33\xb9\x84\x6f\x14\xdd\x84\x55\x99\xcd\xc3\x92\x7c\x5c\x3c\xe0\xa1\x35\x41\xaa\xdd\x0b\x32\x2e\x14\x70\x31\xbd\x18\x9f\x94\xa0\xd0\x2e\x42\x00\xda\x00\xb2\xa4\xc3\x92\xbf\x95\xe1\x25\x39\x29\x62\xae\xec\x2c\x2d\x14\x3b\xa4\x32\x91\xe0\x14\x71\x29\x05\x1a\x6d\x33\x9d\xe7\x43\x87\x99\xb3\x3d\x25\xd0\xa0\x6b\xba\x08\x17\x4a\x3f\xcb\x63\x30\x00\x66\x10\x30\x89\xe6\x3b\x38\xe0\x28\x54\x70\x24\x93\xec\x1a\x0b\x15\x66\x30\x52\xb8\xbe\x15\x59\x2a\x66\xd9\x35\x6e\x52\xb8\x97\xcd\x44\x94\x21\x6b\xb6\x8b\xcc\xdc\x16\x1a\xea\xdd\xd8\x73\x63\x25\x26\xa9\x38\x60\x51\xfd\x6a\x37\xd9\x02\x5c\x94\xce\x2a\x97\x0b\x58\xf6\x64\xd9\xad\xc1\xc2\x4d\xb9\x12\xc0\xea\xc4\x6b\xb3\x45\x1d\x2a\x1e\xc9\xf2\x5a\x4a\x62\x3a\x36\xc2\x3f\x4c\x92\x75\x00\x07\x2b\x71\x0e\x8c\x63\xb0\x77\xc1\xa0\x2a\x9a\x2e\xd0\xfe\xaf\x86\x04\x4e\xd6\x90\x1e\x42\x96\xe0\xbc\xb5\xd7\xd1\x4e\x06\xea\xb5\x81\x2d\x1c\xae\x54\xef\xd3\x5e\x81\x9f\xc7\xe9\x55\x76\x89\x09\x7e\x07\x65\x5e\xc9\x0b\xd5\x85\xf6\xe6\x02\x9f\xdd\xa1\x28\x2e\xe3\x45\x01\xbe\xbf\x89\x22\xac\x72\x29\xc6\x33\x39\xbe\x84\x30\x7c\xe3\x22\xc5\x3a\x87\x21\x21\x60\x3c\x33\x14\xcd\x93\xd4\xc2\x84\x0f\x9b\xbc\x17\xfe\xff\x2e\xa6\xf0\xa5\x84\xd2\x2b\x31\x4a\x14\xb3\xb1\x63\x37\xf2\xc3\x42\xd7\xfc\x39\xb0\xbc\xdf\x3a\x15\x8d\xa4\xe5\xfc\x9a\xef\x1b\xfe\xd9\x50\x13\x49\x87\xac\x1a\x5a\xf2\x43\x57\x35\x51\x1f\xe1\x73\xc6\x31\x36\x7b\x73\x01\x2a\x58\x14\xab\x30\xde\x39\x7e\xc8\xaa\xd7\x03\xc6\xaa\x3a\x5f\x08\xe1\x04\x80\x52\x43\x27\x06\xf4\x3c\xd8\x29\x8c\x70\xa2\x21\x1a\x89\xc4\xd6\xa4\xb3\xa2\x09\x19\x1c\x4c\x63\x2b\x55\xf1\x0a\x76\xd8\xac\x8b\x45\x7f\xc4\x40\x04\xaf\x7a\x51\x6f\xb9\x14\xb3\xfe\x7c\xde\x2f\x0a\x11\x1a\xbb\x66\xc3\x57\xa3\x24\xcb\xa2\x5f\x1f\x8a\x81\x78\x68\x23\xbc\xd7\xb6\x7b\xa4\xda\x3d\xb2\xed\x1a\xda\xa3\xb9\xd6\xe6\x56\x6b\x1a\x69\x3c\x9d\x95\xcd\xd2\xa2\x5b\x99\xaf\xd7\x13\xcf\x20\x61\x3f\x2a\x0e\x21\x18\xfc\xf0\x6b\x4c\xe7\xaf\x18\xa6\xae\x17\x01\xcf\xe3\x74\xda\x08\x29\x9e\x88\x96\x59\x55\xab\xd3\xaa\x81\xb6\x85\x6f\x92\x6f\x9a\x96\x80\x49\x19\xa5\xf5\x2a\x4c\x5a\x37\x0e\x1f\xbb\xf5\x10\xfd\x44\xec\x29\xc5\xda\x43\xab\x93\x63\xa5\x5e\x9e\xb0\xb6\x58\xde\x83\x5d\xf1\x5d\x13\xbe\xd7\xac\xa0\xf7\x60\x57\x7c\xbf\xee\x63\xef\x32\x78\x2d\x6c\x85\x9b\xe7\x0a\xff\x36\xab\x4a\x0d\x54\xe3\xf3\x55\x47\xd1\x5d\xe3\x47\xab\x4d\xcb\xe1\xf7\x7b\x1b\x6a\x82\x3b\x9a\x66\x12\x58\x8f\xfb\x9a\x64\x06\xed\xd7\x4d\x92\x68\xa4\x56\x47\xe1\xfe\x8d\xa8\xb8\xcd\x6c\x73\x59\xc8\xf2\xd6\xd3\xbd\xed\x06\xbf\x61\x8b\x7f\xe5\x18\x77\xb2\xb4\x15\xec\x90\x10\xd3\x1c\xf8\x5e\xdb\xe3\xaf\xac\xcc\xa2\x2f\x9a\x8d\x9c\x12\x17\x4c\xb4\x2a\xb3\x6c\xd3\x04\x6e\xa0\xc2\x55\xc3\xd3\x55\x8d\x8d\xf7\x7a\xe2\x84\x74\x1c\x18\x49\x30\x5f\x1e\x56\x79\x2e\xd3\xf2\x2c\x9e\xcb\xc0\xca\x6d\x62\x02\x61\xee\x4b\x32\x2d\x74\xeb\x70\x7e\x91\xda\xaf\x76\xc7\xca\x5d\x29\x38\x28\xcb\xe7\x71\xa2\x7a\xd0\xe2\x6a\x11\xa7\xe8\x67\xeb\x41\x55\xf3\x7f\x76\xec\xc3\xb6\x11\x06\x2d\x6f\x78\x70\xca\xd8\xb3\x45\x04\xb6\xaf\x8d\x27\x8d\x55\x48\xec\x07\xcd\x2b\x06\x59\x18\x29\xfc\x55\x32\x6c\x80\xd0\x60\xfd\x30\x5b\xda\x97\xdd\x08\x57\x4a\x2a\x4a\xa5\x8c\x64\xe4\xa3\x5c\x88\x7a\xde\x58\x3a\xfa\x48\x32\xee\x88\xb0\x2c\x79\xd9\x70\x77\xfd\xd5\x99\x83\xc7\x5f\x07\x83\xb5\xc0\x75\x1c\x1e\xac\xe5\x5c\x8a\x58\x14\xca\x20\x6e\xac\xc8\x74\x04\x05\x68\x54\x4c\x60\x86\x6a\x7f\xd5\x42\x41\x2c\x36\x1e\x0f\x50\xe4\x9d\x72\x32\x43\x73\xf8\xfc\xdd\x71\x63\x63\x6b\x6f\x86\xa6\x6a\x1c\x1b\x4e\x11\x42\x42\xb7\x94\x9f\xca\x96\x5d\x9f\x96\x3a\x0d\x21\xb1\x79\xbb\x43\xb3\x6d\xaf\xe1\x4c\xab\x9b\x86\x0e\x57\x10\x24\xec\x5b\x37\x3d\x45\xac\xce\x64\x94\xbc\x86\xe6\x24\x9f\x24\x09\xa9\xec\x42\xa3\x05\x4b\xd6\x75\xe8\xd3\x4f\x80\xba\x7e\xce\x46\x9a\x71\x6e\x22\xfd\x56\x1c\x7d\x6b\x66\xde\xbe\xf9\x54\x57\xdf\x3b\x27\xbb\x05\x0b\xc7\xd3\xde\x0d\x30\x7a\x3d\xba\x11\x51\xe8\x79\xf6\xe6\x95\xe6\x58\x02\xeb\x97\x29\xb9\x0d\x02\x96\x8c\x4f\xb8\x26\xae\x54\x7e\x2a\x15\x56\xb1\xbf\x75\xb0\x59\xc4\x13\x34\x04\x4f\x1f\x35\x64\xb4\x80\x28\x40\xaa\x53\xad\x44\x5e\x43\x69\x48\x70\x38\x6f\x5e\x24\x4d\x4e\x5f\xcb\xa9\xd7\x1c\x86\x0a\x4d\x37\x23\x9f\x3f\x6d\xe2\xc2\xbc\xa1\x4d\x65\x52\xc7\xfa\x63\xae\x47\xc2\xff\xeb\x70\x0c\x9e\xe1\xa4\x26\x7e\x6f\x3f\xf1\x3a\x7d\x66\x59\x44\x5f\x3c\x8e\xd3\x45\x55\x2a\x20\xa0\x42\x0d\xb6\xf1\xc5\xf6\x13\xf1\x78\x96\xf7\xfc\x4f\x89\x9e\x71\x0d\xe2\xa2\x2f\x1e\x17\x8b\x30\x15\xf3\xe5\xee\x18\xdf\xec\xaa\x37\x16\xc8\xe3\x9e\x7a\xef\x43\x69\x82\xfc\xa3\x3a\x81\xc5\x43\xd1\x17\x8f\x27\x59\x5a\x8a\x71\x96\x64\xf9\x20\xc8\x65\x14\x3c\xf9\xfc\x99\x4e\xf2\xd5\xea\x71\x4f\xbd\x6d\xfe\xf8\xd1\xc6\x8f\x1f\xad\xfb\xf8\xf1\xa8\x2a\x4b\xa5\x6e\x43\x12\x17\xfc\xb1\x0d\x81\x09\xbb\x0a\xb5\x49\x3c\xbe\x1c\x6c\x4f\xf0\x6c\xdd\x7e\x02\x87\xec\xe3\x1e\x36\xfb\x26\x50\xec\xa8\xde\x7e\x72\xaa\x7f\xfc\x26\x90\x56\x3a\x52\x30\xed\xaf\x66\xa0\xae\x41\xa2\xf6\x80\x19\x2e\x58\x80\x45\x43\x84\x45\xcd\x03\xda\xaa\x07\x69\x07\x6d\x10\x1d\x8c\x67\xeb\x08\xa6\xc9\xbb\x09\x15\x99\x21\x57\xf1\xa1\xba\x79\xd7\xf1\x22\x4e\x64\x98\x37\x34\x77\x9e\x3b\x3e\xcf\x5a\xb7\xf6\xfd\x9e\x8b\xcb\x78\x01\xa3\x11\x03\x9e\x76\xda\x19\x26\xdc\x01\xb2\x07\xfc\x7b\x56\x9b\xb2\x65\x61\x3d\x15\x3b\x3b\x1f\x45\x5f\xec\x7c\x6c\x7f\x5d\xbd\x4a\x9b\x62\x50\xa1\x0b\x4a\x27\x9a\x7a\x83\xea\x09\x16\x4d\x54\xaf\x20\x51\xef\x96\x03\x0f\x33\x45\xf2\x64\xb1\x93\xb4\x5d\x6b\xb4\x63\x38\x18\x24\xaf\x64\x18\x6e\xb1\x3c\x92\xe3\x4b\x27\x81\xae\x19\x27\x58\x2d\x96\x2d\x83\xcf\x07\x0f\xb8\xd3\x09\x94\xc2\x82\xe1\x91\x8a\x67\xf1\xfe\x64\x20\x68\x06\x9f\x1b\xd0\xa7\xcb\xff\x58\xc0\xae\xa7\x2e\x5f\xd7\x56\xd3\x4c\x9c\xe6\x58\xf6\xdd\x5e\x54\x9c\x37\x7d\x71\xd1\x98\xe7\x18\x9c\xed\xcc\x42\xae\x29\xde\x44\xad\x57\x44\xdc\xf6\xc9\x0d\x3d\xb2\x05\xdf\x5f\x57\x4d\x4d\xf0\x62\x50\xb7\x2e\xd0\x6d\x8c\xdd\x78\x28\xd5\x0d\x48\x4d\x37\x2b\x87\xd0\xb6\x10\x21\xc4\xa7\x89\xb0\x28\xb2\x71\xec\xc5\x55\xd2\xb8\x1a\x6c\xf0\xda\x4c\x67\x0c\x5d\x36\x47\x27\xc5\xa3\x50\xd1\x10\x6b\x79\x1f\xfa\x51\x44\x8e\xc5\x8c\xec\x7d\x36\xf1\x0d\x46\xba\xa8\x25\x01\x29\x54\x8d\x51\x1d\xec\x05\x16\x91\x9a\x54\x49\xb2\x24\x49\x82\x1d\xf3\xc8\x8a\xbc\x43\x9a\xeb\x8a\xfa\x5a\xc1\x29\x1b\xa4\xc7\x7e\xef\x5e\xf3\x3e\x89\x2d\x53\x73\xdc\x4c\x6e\x58\x70\x2a\x61\xd5\x0a\xf4\x30\xb9\x37\x62\x23\xd3\xba\x89\xb8\xbf\x96\xb4\xad\xef\xa2\xf4\x93\x9c\x6a\x75\x23\x4c\x0c\xdd\xb9\x37\x92\x1a\x20\xbb\x8d\xbc\xa9\x0e\x0d\xe4\x00\x95\x6b\xca\xca\xd0\x5b\x1e\x36\x8c\x31\x52\xf0\x3c\xfe\x2b\x32\x8a\xbc\x82\x44\xe8\x59\xae\x8e\x05\xf0\x77\xa6\x1b\x40\xf0\xde\xc9\x52\x99\x96\x05\x44\xdc\x66\x13\x91\x83\x21\x20\xcd\xae\xd1\x90\x7f\x1f\xe3\x6b\x17\xd5\x28\x89\xc7\x22\x5c\xc4\x4a\x34\xa1\xc1\xdc\x17\xc3\x38\x1a\x8a\xff\xf9\xaf\xff\x16\x43\x7d\xb9\x8b\x3f\x69\x54\x71\x44\xb2\x10\x05\xeb\x0f\x93\x30\x9d\x56\xe1\x54\x1e\x47\xbb\xc0\xb9\xf2\xe5\x71\x34\x14\x2d\xd9\x9d\x76\xc5\x50\xa6\xbb\x55\x31\x6c\x7b\x79\xd0\x5e\x02\xa8\x0d\x17\xb4\x35\x01\x93\x50\x6d\x68\x31\xea\x8b\x00\x60\x07\x1d\xcd\x21\x5e\xbf\x7b\xf5\xe3\xd1\xc9\xaf\xcf\xdf\x9c\xbc\x3a\x38\x3b\xed\x33\xea\x7b\x76\x74\x78\xfc\xea\xe0\xe5\xaf\xa7\x47\x6f\xfb\x22\xe8\x32\xff\xe9\x9f\x4e\xde\xbc\x7b\x4b\xcf\x3b\xec\xf9\xdb\x83\xb3\xb3\xa3\x93\xd7\xa7\x7d\x71\xce\xf8\x25\xf8\x87\x3e\x93\xe3\x78\x1e\x26\xe2\xad\xc2\x40\xce\x2a\xbe\x0b\x21\xe6\x71\x7a\x9c\x96\x7d\xf1\xb0\xe3\x3f\x7e\x9e\x87\xe3\xbe\x7b\xa4\x0a\x31\x0f\x3f\xe1\xf3\xef\xdc\xe7\x8b\xac\x78\x9b\xcb\xbe\x08\x82\xda\xf3\xd3\x6a\x52\x7f\x9e\xca\x29\xb6\xdf\xad\xbf\x68\xfc\x60\x7a\x1a\xff\x55\xd6\xba\x4d\xf4\x63\xf6\x74\xd5\x51\x93\x46\x31\x76\xbc\xfc\xa6\x49\x3f\x5a\x33\xe9\x47\x6b\x26\xfd\xbe\xda\xdb\x3b\xf8\xfe\x6b\xa7\xde\x6a\xfc\xcc\x20\xa0\xfd\xed\x18\x30\x7f\xb3\x48\xac\xc3\x77\x27\x27\x47\xaf\x0f\xff\xf2\xeb\xe9\x5f\x5e\xf5\x45\xb0\x13\x98\xa3\x4e\x53\xe3\xb3\x83\xb3\xa3\xb3\xe3\x57\x47\x4d\xf4\xf8\xea\xcd\xeb\xb3\x17\xae\xef\x6d\xf0\xa7\x30\xad\xc2\x7c\xd9\x79\x2e\x47\x39\xfc\xf1\x2a\xcc\xc7\xb3\xce\xc1\x22\x8f\x93\xce\xab\x70\xd9\xf9\x53\x95\xca\xce\x9f\xaa\x64\xd9\x39\xa8\xa6\x55\x51\x76\x4e\xe5\xa2\x94\xf3\x91\xcc\x3b\x6f\xc6\x65\xa6\xfe\x7d\x9d\x5d\xe1\x83\x67\x72\x0c\x7f\x04\x4e\x1f\x50\x43\xae\x6c\x05\x1d\x9e\x49\xeb\xf4\xc5\x9b\x93\x33\x1c\x10\x8e\x42\x8d\x40\x75\xae\xba\xd6\x1d\xab\x7e\x55\xb7\xaa\x4f\xd5\x9b\xea\x49\x75\x12\x34\x82\x7c\x76\xf0\x97\xbe\x08\x4e\xab\x34\x0a\x97\x9d\x57\x19\xfc\x73\x56\xc9\x42\xfd\xfb\x8b\x8c\x52\xfc\xeb\x6c\x56\xe5\xf0\xc7\xf3\x3c\x56\xff\x9c\x86\x65\x95\x47\xe1\xb2\x19\x26\x0c\xd3\x00\x56\x50\x15\x48\x05\x4e\x01\x52\x30\x14\x80\xe6\x6f\x0f\x5e\xbd\x7d\xa5\x76\x72\x70\xf0\x2a\xe8\x04\x6f\x5f\x05\x6c\x21\xe7\x32\x8a\xab\x79\x5f\x04\xaf\x5e\xbd\x12\x51\x47\xf0\xab\x10\xdb\x2a\x28\x66\x59\x5e\x06\x7d\xe7\xbe\xc4\x69\xa1\x4e\xd9\x67\xe0\x78\x16\x1c\x1d\x1d\x1d\x75\xc4\x2b\x0d\x90\x35\x4a\xb2\x74\x4a\x8d\x9a\x5e\xe3\x58\x6c\x03\xff\x3d\x0c\x42\xbf\x86\x71\xd4\x3e\x56\x0a\x76\x5f\x04\x4d\x73\x80\xaf\xd9\x7b\x11\xd6\x89\x76\x91\x54\x79\x98\x1c\x2a\x3d\xd7\x70\xe0\xb4\x9a\xfb\xb1\x83\x69\x35\xc7\xaa\x22\x8d\xfe\xff\x41\x96\xca\xa0\x29\xb5\xb0\x79\x5f\xce\xa4\x49\xef\x63\x73\xfd\xc2\xff\x51\x1e\xdd\xb7\x07\x67\x2f\x7e\x7d\x75\x70\x76\xf8\x42\x0c\x44\xef\x3f\x5b\xe7\xff\xf9\xfe\xe9\xdd\x8b\xfb\xed\xd6\xfb\xa7\xad\xf3\xff\x54\x7f\xb5\x9f\xb6\xee\xb6\xba\xea\xdf\x9d\x1e\x4e\xf2\xd9\xd1\xf3\x83\x77\x2f\xcf\x7e\x7d\xfb\xe6\xe4\xec\x54\x0c\xc4\xe7\x60\x56\x96\x8b\xa0\x2f\x7e\xd8\xeb\x08\xf8\xbb\x08\xfa\xe2\xfb\xef\xbf\xeb\x88\x60\x02\x2f\x1e\x3d\x5c\xed\x63\xda\x5e\x75\xb6\xa9\xd9\xd6\x73\xf6\xea\x37\x90\x30\x4e\x9f\xeb\x47\x50\x62\x4f\x2c\xc2\x72\x26\x2a\xa8\x70\x62\x8a\xee\x9d\xca\x29\x5a\x21\xa1\x06\x00\xc5\x06\x81\x9b\x04\xa4\x16\x90\x85\x3e\xf4\xbd\x28\x7b\x80\xf5\x56\xfd\x5f\x99\x11\xb4\xad\x26\x47\x2b\xf7\x24\xc5\x86\xea\xb3\x96\x02\xc0\x72\x89\xe2\x30\x0a\xf0\x4b\x2f\x67\x7a\x5f\xf4\xec\xbe\x88\x41\xa9\xc1\x56\xc6\x7d\x7e\xcb\x46\x90\xee\xee\xea\xd5\xd5\xad\xd0\xcd\xdd\x9f\x69\x8b\xbd\xc6\x4c\xa8\x5b\xb6\xb6\x97\xe9\x00\x83\x4c\x20\x3b\x2e\x77\xd6\x02\x47\xd5\x83\x11\x24\xab\x97\xef\xf2\xa4\x15\xda\xbf\x3b\x42\xe3\xfe\xcd\xe8\x83\x9d\x19\x96\x46\x78\xa7\x4b\x75\xe9\x72\x2d\xec\x43\xd4\x33\xd8\xc7\xdd\x9d\x1d\x5b\xc8\xc5\x02\x30\xd5\x5d\xf6\x6b\xcd\x67\x59\x51\x3a\x4d\xd5\x03\x25\xba\xd5\x9b\x2e\xb0\x54\x48\x9c\x96\x2d\x06\x39\xcb\xcb\xb6\xf8\xf2\xc5\x25\xca\xf3\x7a\xd7\x17\xba\xa6\x02\xe0\xc5\x47\xcc\x62\xa1\x70\x92\xcb\x24\x2c\xe3\xab\x4d\x38\xc9\xe5\x24\xfe\x84\xda\x35\x6b\xdd\x1d\xcf\xc2\xfc\xa0\x6c\xed\xb5\xb1\x1e\x04\x25\x27\x46\x41\x1e\xbf\xb0\xf2\x95\xf9\x4a\x40\x4b\xf1\x80\x3f\xc3\x75\xc5\xce\xe6\x60\xff\x75\x90\xcf\x5a\xb6\x1b\x30\x14\x42\xe0\x73\x24\x81\x70\x4e\x8e\x0f\xb5\x7c\x6a\x46\xa1\xf4\x09\x00\xdb\x55\x6d\x15\x9e\xd9\xd0\x07\x38\x74\x13\x48\xe4\x35\xb4\x41\x9c\x0f\xdb\xa2\xef\xbd\x6d\x18\x4d\x21\xd5\xc1\xaa\x17\xf7\x3f\xe4\x12\xdd\x9c\xf1\x3b\x7c\xd9\xf0\xd5\x2c\x2c\xd6\xcc\x01\x3f\x54\xef\x91\xee\x74\x20\x22\x5c\x52\xc1\xd4\xe1\x46\x9a\xd2\x4c\x04\xbd\x40\x2f\x41\x03\x92\xee\xdd\x6b\x40\x9d\xb3\x8a\xb0\x88\xb4\x66\x8d\x58\xc6\xa5\xab\xbf\x32\x69\xca\x89\x87\x35\xf1\xa0\x91\x9c\xc6\x69\xd3\x8b\xeb\x59\x96\x34\xb3\x23\x93\x43\x01\xb3\x03\xe4\xd9\x1c\x1b\x93\xc1\x19\x20\x8a\x2c\x67\x39\xf3\xe2\x89\x88\x4b\xac\xa0\x80\xd9\xbf\x54\x0b\x85\x9b\xad\x86\x9b\x17\x9d\xfa\xcd\x3a\xc5\xba\xfc\x0f\xbe\x2e\x7e\x89\xcb\x59\x0b\xfe\xec\x60\xef\x88\x21\x28\xd4\xa3\x7e\x9a\x90\x74\x68\xd3\x76\x4b\x42\x11\xa7\xc2\x86\x48\x4c\xd8\x8e\x87\x42\xaf\xdc\xdd\xa9\xc6\xb2\x78\x11\x16\x33\xa8\x12\x65\xb6\xa1\x8e\xc4\x76\x0a\xa5\xde\xc5\x4d\x67\x74\x45\x68\x32\x10\xbb\x0f\xc5\x53\x28\x35\x08\x45\xa7\x74\xc7\x7b\x3a\xde\xde\x65\x93\x65\x1e\xcf\x8f\xe6\x8b\x72\xe9\xf6\x69\x4b\xa9\xda\x44\xa7\xad\xbb\xdd\x07\xed\x2f\x77\x77\x7a\x1d\x11\xec\x3c\x24\x7e\xeb\x8d\xfc\x79\x9c\xc8\x46\x28\x76\x14\xee\x0c\xbb\x49\x58\x60\xe4\xbb\x9a\x51\x0f\xca\xbc\x3e\xd4\x15\x57\xf9\x1d\x1f\xa5\xeb\x01\xf5\xb2\x55\x8c\x67\x72\x2e\xfb\xbd\x9e\x62\x9e\x7d\x64\x89\x7c\xf1\xb0\xf1\x8f\x61\xb1\x69\x30\x6a\x63\xef\x75\x5c\x94\xf6\x02\xff\x01\x0e\xe9\x51\x9b\xa6\x4b\xc7\xf4\x4b\xda\x05\x2f\xca\x79\xf2\x07\xc5\xd9\x72\xb9\xc8\x65\x01\xe7\x62\x08\x9d\x6c\xe9\xf4\x71\x54\x74\x15\xdc\x60\x17\x19\xa5\x07\x36\x87\xbf\x51\xc5\xc1\x69\xed\xc5\xd9\xab\x97\x7f\x00\x0f\x2a\x61\x12\xcf\x45\x54\x91\x85\x0a\xfd\xe8\x0d\x66\x42\x9b\xb3\xbc\x69\x5f\x85\x8b\x85\x9a\xbe\x53\xc9\x0c\xb2\xfb\xbc\x3b\x79\xd9\xb8\x41\xc3\x42\xbe\x05\x9e\x09\xa4\x03\x5b\x1e\x79\xa8\xbb\x2d\xfc\x89\xb7\xa8\xa3\x0e\x83\xc0\x95\xee\x9d\x99\x6a\xc8\xca\x54\xb1\x8e\x06\xfc\x07\xd5\xf0\x43\x72\x27\xa0\xaf\x33\x45\x4f\x90\x2d\x58\xd3\x16\xbd\x01\xc2\xaf\x1f\xf1\x7a\x2c\xaa\x6f\xca\x93\x6f\x92\x5a\xbf\x55\xad\xc5\x34\xbe\x92\xa9\xc0\x41\xb5\x28\x6c\xab\x0d\x53\xa6\x84\x40\xe0\xd1\x68\xc3\xc4\xb6\x1c\x4b\x9b\xc6\x96\x6a\x8f\x6b\x05\x2b\x8d\x4d\xf2\xf8\x8a\xee\xcf\x6c\xc6\xe7\x1d\xcc\xba\xc0\xed\x0e\x86\x20\xb5\xd0\x51\xce\xf0\x68\x64\x1c\xc7\x99\x3f\x50\x24\x19\xa0\xa8\x78\x35\xc5\x97\xd0\xb7\xbc\x62\x11\x86\x78\xbb\x42\x67\x2b\x88\x17\xe5\x6c\x91\x4f\x3e\x05\x1d\x11\x1c\xa7\x57\x61\x12\x47\x30\x87\xed\xcf\x7b\xab\xed\x8e\x98\xc7\x58\x4c\x8f\xad\xba\xd8\xfe\xfc\x70\xb5\xdd\xc5\xed\xc0\x55\x59\x67\x68\x6e\x8d\x22\x2e\x59\xd0\xd0\xec\x52\x98\xd1\x1b\xbc\xf0\x50\x69\xf6\x10\x4f\x1a\x07\x30\xbd\x05\xeb\x93\x2e\xfa\xef\xa5\x2c\x3f\xc4\x77\x30\x2b\x76\x61\x3c\x0c\x47\xc5\xbb\x3c\x19\xea\x15\x5d\x6e\x5e\x2c\xea\xa1\xc9\x4c\x84\xa2\x2f\x1d\xf0\x65\x66\x4e\x77\xfa\x92\x8e\x77\x8b\x29\x3a\xd6\xf5\x2e\x50\xbf\x9e\x8a\xe0\x6e\x00\x39\x34\x3c\x39\x97\x35\x52\x82\x86\xa9\x65\x49\xcf\xb1\x78\x2c\x13\xc8\x1d\x14\x3e\x10\x2d\x1a\x17\x56\xcb\x7e\xa0\x87\xa9\x00\xa9\xd7\x0a\xec\x3e\x87\x87\x38\x11\x03\x6f\x9b\x3d\x60\xfd\x69\x7e\xfd\xb0\xbd\x8f\xf5\x1b\xf3\xa2\x84\x64\x65\xac\x70\x5f\xd0\x0b\xcc\x3a\x70\x62\x7f\x19\xa7\x97\x08\x9f\xd3\x7c\x47\x09\x7d\x2f\x72\x39\xe1\xa9\xce\xe9\x91\x92\x4e\xe8\xcf\xf3\xbd\x0b\x14\xcb\xee\x06\x4e\x91\xaa\x62\x21\xc7\x71\x98\x60\xc0\xf2\x24\xcb\xc1\xd3\x03\x5c\x5e\x01\xb5\x93\x3c\x44\x75\xa0\x6f\x3f\xb9\x94\x72\xa1\xeb\x7e\x1a\xba\xe0\x49\x19\xb1\x1e\x35\xff\x9c\x53\xa3\x7a\xa1\x07\xd8\x2d\xa0\x44\xfe\xc3\x76\xdb\x4f\xbe\x6e\xac\xba\x2b\x43\x25\x21\xec\x80\x0e\x5c\x97\xe3\x6e\xd8\x37\xef\x72\x79\x9d\xc7\x65\x29\x53\x78\x6a\xf0\xd0\xc2\x6f\x1a\x99\x00\x6e\xff\xf6\xba\xca\x5a\xb6\x17\x5c\xd0\x77\xb6\xdc\xfe\x5a\xc8\x96\xed\x76\xe8\x93\xf5\xf0\x85\x33\xe6\x06\xa2\x69\x31\xc0\x70\x7e\x12\x44\xc5\xd1\xe9\x4f\xa3\x90\xfb\x59\x5d\x9a\x41\x8b\x07\x35\xdc\x19\x65\xde\x16\x6f\xdb\x84\x33\xce\x38\xd7\xce\xec\x86\x79\x71\x5c\xb2\x6e\xbd\xa3\x09\x8b\x3a\x3f\xe0\xc2\xf3\x66\xc8\x9c\x5a\x70\x0b\xd8\xb6\x0d\xfc\x30\x2f\xa4\xdb\x84\x7f\x4f\x44\x78\xe7\x8e\x4b\x56\xda\xdc\x51\x13\x56\xc2\x62\x36\x0a\xd3\xa9\x27\xaf\x7c\xab\xb0\x12\xc9\x2b\x99\x28\xae\x0a\x22\x77\x1a\x94\x22\x83\x34\x84\x6a\x4f\xc2\xf9\xaa\xe4\x18\x25\x55\x8b\xe3\x12\x33\xdb\x82\x58\x56\xe8\x8a\x8a\x20\x8e\x40\xc8\x05\x6c\x68\xfb\x8d\x98\xe8\xd2\x5d\x59\x2a\x12\x39\x0d\xc7\x4b\x53\x56\xb1\xfb\x37\x92\x7f\xd4\x6e\x27\x49\x64\x46\x68\xda\x2c\xff\x58\x5c\xda\x8d\x6a\x81\x58\xc9\xfd\x36\xa2\xcc\x6f\x93\x65\xf4\x70\x15\x21\xde\x5e\x7a\x61\x5f\xfd\x36\x01\x86\xf2\x11\xab\xc1\x6e\x66\x61\x8a\x21\xdc\x46\xc6\x61\x40\xd5\x28\x5d\x4e\xe9\xf6\xe6\xeb\xf2\x78\x68\xd8\x23\x80\x4a\xce\x9a\xa4\x99\x28\xe7\x59\x9d\x39\x44\xf6\x6f\xb3\x46\xd9\x4f\xa7\x59\x29\x64\x0c\xf9\x93\x42\x46\x12\x4a\x40\xc9\xd4\xa3\x45\x12\xc6\x69\xe3\xe9\xe1\x8e\xdd\x45\x88\xa5\x90\x8e\x87\xb8\x36\xe7\xda\x3c\x69\x8b\x0b\xae\x5d\x2f\xaa\x9b\x4b\xb8\x94\x4d\x33\x9f\x72\x69\x5e\x1f\x74\x8a\x4b\x3d\x5d\x6f\xbc\x0d\x23\x76\x87\xe6\x45\x83\x7b\x5c\x7c\xfd\x20\x42\x48\x7e\x99\xbb\x9d\xb2\x03\xfa\xd8\x78\xcf\xc7\x8e\xea\x73\x0d\xf9\x93\xc4\x35\xa5\x65\x4a\xe4\xa4\xd4\x3c\x43\xdb\x1b\x08\xc2\x1b\x93\x78\xf7\x5a\x97\x46\x75\x3e\x5b\xb7\x22\x8e\x6e\xf2\xd4\x27\xe1\xbe\x49\xc2\xd2\x20\xd8\xba\xb0\x5c\xf9\xd6\x95\x62\xd1\xfd\xed\x17\xb8\x62\x2e\x9e\xe5\xf1\x95\x7c\x1d\xce\x25\x17\xde\x3a\xc2\x87\xe6\xf0\x84\x26\xc1\x17\x1e\xf7\x4c\xb4\xec\x71\x2a\xa8\x83\x8e\x80\xd8\x2b\x11\xa6\xe3\x19\x24\xb2\x88\xa0\xc0\xae\xce\x6f\x51\x40\x6e\x29\x19\x81\x21\x45\x7f\x0d\x9e\xbe\x71\x22\x8b\x65\x51\xca\x39\x66\x08\x25\x46\xeb\x24\x25\x0d\x85\xb6\x7a\xe9\x2f\x8d\x79\xcd\xf8\x29\x44\x6a\x82\x10\xe4\x22\x5a\x41\xef\xb0\xdf\x53\x9f\x04\x6d\x0a\x44\x33\xdf\x11\x1c\x93\xc5\x3c\xa4\x0f\x21\x68\x4e\x13\xc7\x7d\x08\x06\xeb\x16\xb2\x3c\x28\xcb\x3c\x1e\x55\xa5\x6c\x05\xb3\x5c\x4e\x94\xfe\xd2\x9b\x64\x59\xc0\xf2\xe8\xaa\x96\x06\x2c\x5a\xf4\x0e\xfb\xd0\x48\xf4\x7a\x4a\x3e\xa3\xa6\x16\x65\x50\xed\x36\x9b\xe8\x5b\xed\x8e\xb8\x96\x01\x84\x70\x80\x58\x5b\x19\x55\x48\x41\x2c\x9c\xb4\xa2\x51\x06\x96\xa5\x38\x1d\x27\x55\xc4\xe7\x8c\x47\x58\x9e\x55\x25\xcb\x22\xef\xf9\x64\xad\xa1\x07\x24\x04\x90\x90\xd5\x01\xc5\xa4\x5e\xed\xe9\xf1\x2a\xc4\xf2\x9e\xaa\x25\x76\x04\x01\x45\xc6\xf0\x0c\x71\xa1\x48\x04\xf4\x45\x51\x8d\x67\x6a\xcb\x10\x26\x7a\xa3\x30\xd7\x6e\x9f\x8b\xb2\xca\x65\x81\x72\xb0\x7e\xe7\xb9\x6e\x68\x16\x0c\x20\x15\x77\x56\x4a\xc7\x11\xe4\x2d\xec\xfd\xe7\xfb\xde\xf9\xc1\xee\xff\x73\xd1\x6f\xbd\xef\x75\xef\xb7\x7b\x4e\x21\x70\x50\x13\x54\x63\x52\x6c\x60\xe0\xfb\x96\x1f\xff\x44\x55\x98\xb4\x51\x17\x59\x84\xc9\x40\x8c\xfe\x8f\xef\x4e\x5e\xf2\x2c\x67\xdc\x1a\x83\xf8\xa9\x95\x5d\xaf\xb4\xc5\xde\xd8\xaa\x46\x70\xe8\xf0\x42\xdd\xde\xa1\x60\xba\x02\x17\x8b\x14\x6b\x97\x24\x4b\x9d\x75\xbc\x10\x21\xe9\x3c\x68\x66\xc5\xe9\xa0\x77\xb6\x4c\x23\x73\x7a\x8c\xb3\xc4\x7a\xd2\xe0\xf1\xe4\x23\xad\x2b\x3f\xc9\x71\xab\xf2\x38\xb7\xf6\x39\x62\xec\xcc\xe6\xda\x68\xc2\x22\x30\xe5\x66\xd8\xa0\x06\x7a\x7a\x49\x33\x8c\xa7\xcd\xcf\xcf\x1f\x5e\x88\x3e\x1b\x4b\x43\x45\x30\xad\x5e\x3b\xc2\xc6\xbf\xf4\xec\xaf\xd3\xb3\x15\x08\xd6\xd5\x53\x2e\x74\x72\xe5\x1b\x21\xee\xff\x56\xe5\xda\x1a\x5a\xf5\xa9\x22\x06\x03\xcf\xfc\xba\x46\xe3\xa8\x98\x3c\xb2\x46\xd3\xf5\x7d\x97\xfe\x2e\x2a\x07\x1e\xd8\xb3\xb8\x80\xe0\x14\x74\x2f\x32\x66\xd2\x51\x55\xf2\x13\x6c\x0b\xf8\x35\xdd\x05\xe8\x92\xf4\x71\xf9\xcf\xa6\x40\x1c\x37\x98\x52\x7d\x3d\x62\x8d\x29\xb5\x01\xc9\x5d\xf4\x90\xc4\x64\x48\xba\x06\x13\xc9\x27\x5f\xa1\x8d\xfc\xcb\x9c\x43\xdc\xb8\x6e\xb3\x11\x8e\x95\x87\x69\x26\x9a\x60\x36\xec\x31\xcf\x2e\x50\x35\x98\x17\x6e\x6d\xd5\xb8\xc9\xda\x40\x0c\xc9\xb0\x97\x5b\x9a\x33\xfe\x69\xed\x19\xff\xc7\x1c\x1e\x50\x40\x0c\xe5\x4b\xb6\x80\x71\x2a\xcc\x81\x02\xac\x10\x7b\x54\xec\x6f\xbe\x28\x97\x4a\xd5\x3b\x3e\xfa\x41\xdc\x13\x7f\xd4\x42\x6a\x2e\x21\x9b\xec\x22\x9c\xda\x22\xf3\x90\x3a\x05\x82\x81\xd4\x9f\xc1\xdd\xe0\x86\xe3\x6a\xcd\x01\xa5\x97\x44\x31\x7c\xc8\x2f\x47\x8c\xe8\xad\x92\x48\xa9\x8a\xfb\x67\x47\x7e\x38\xc8\x51\x45\x4b\x99\x99\xe7\xe9\x1a\x19\x81\x18\x5d\x9f\x4a\x81\x39\x70\x5e\x40\x0d\xa7\x25\x85\x7f\x89\x91\x94\xa9\xad\xf7\xb3\x1e\x20\x71\x88\x46\x90\xeb\x8b\x9d\xea\x69\xdd\x45\xcc\x6c\x09\x5b\x72\xb4\x56\xe3\x14\x8e\x32\x1b\x2d\x49\x95\x41\x15\x7b\xe2\xa5\x4a\x4f\x74\x7c\x61\x92\xc0\x3e\x33\x47\xa2\xce\xee\xa2\xa4\xca\x24\xb1\x3e\x36\x48\x4f\x11\xd4\x33\xc9\xa1\xbc\x16\x64\x35\x49\x64\x81\x2c\x14\xd2\x17\xc4\x34\x86\xf3\x93\xe7\x87\xe2\xbb\x3f\xfe\xf0\x6f\x17\x2d\xca\x77\x7b\x7d\x7d\xdd\x8d\x65\x39\x81\x4c\xb7\xf9\x64\xac\xfe\xa7\x1a\x74\xcb\x4f\x65\x9b\x0d\x0c\xbf\x37\x15\xee\xee\x83\x01\x04\xac\x4b\x6a\x94\x04\x8c\x42\x4e\xba\xe3\x6c\xde\xbb\xdb\x2b\xb2\xb9\x04\x1d\xef\xe9\x24\xcb\x06\xa3\x30\xbf\x37\x0a\xff\x3a\xf8\x94\x7d\xca\x10\x02\xf0\x48\x4d\x51\x06\x95\x5d\x7c\x44\x71\x72\xd0\xcf\xe0\x89\xd8\xfe\xca\x1e\xb6\xcd\x78\xf9\x9a\x68\x47\x5e\x7d\x22\x6b\x2c\x1b\x3a\xc0\xbe\xfb\x86\x5c\x7f\x82\x45\x6a\x05\x9a\xf4\x83\xf6\x57\x53\x46\xf5\x4d\x64\xd1\x73\xca\xc3\x3a\xa4\xa1\xf0\x4d\x0e\xce\x38\xf7\x70\x30\xba\xab\xb6\xe1\x90\x54\x69\xca\x3d\x62\xf4\xe7\x74\x69\x6b\x2e\x70\x78\x87\xb8\x43\x50\xbb\x24\x66\xa3\x4e\x4c\x05\xab\x53\x03\x65\x61\x50\x09\x2d\xac\xaf\x68\x26\x3a\xfc\xdb\x13\x4b\xe5\x51\x4a\x55\x27\x93\xaf\x26\x09\xbf\x40\x8a\xea\xe3\xb5\xbc\x86\x7f\x35\x06\x41\xa8\x23\x83\xd9\x1a\xcc\xaf\x21\x30\x4e\x5b\x95\x22\xac\x26\x13\xa9\x6f\xce\x83\xc3\xdb\x93\x3a\x18\x63\x35\xc7\x98\xf6\x85\xb2\xfe\x8a\x56\x93\xb4\x77\xc1\x73\xad\xbf\x7d\xf9\x82\x08\x54\xb2\x56\xd0\x46\x90\x6a\x16\xad\x75\x7e\x45\xe7\x0f\x2f\xda\x35\x40\x8f\x00\xd0\x46\xa0\x48\x4a\xd4\xfe\xbb\x0b\xbc\xb7\x6f\x33\xbd\x07\x04\x2d\x7c\xfd\x07\xfb\x7a\x4b\xd4\x2b\x16\xaf\xbe\x7a\xbb\x69\x93\xc7\xef\xc7\x8a\xad\x11\x65\x22\x28\x70\x12\x2c\x09\x7f\x73\x72\x67\x6e\x83\x96\xe6\xf5\xc3\x26\xfe\x78\x3b\xa6\xb7\x66\x3e\x86\x4e\xf5\xfb\x26\x2e\xa8\xdf\x7d\x03\x1f\x9c\x65\x45\xf9\xfb\x2d\x0a\xf8\x48\xfe\xbd\x17\x84\x1c\x33\xed\x62\xa8\x07\xfe\x42\x30\xb0\xb7\x5b\x8f\xb5\x53\x51\x8b\x01\xde\x4b\x0d\x0b\xa1\x9e\x7f\xc3\x22\x28\x0d\xf7\x77\xdc\x19\x59\xfe\xf7\x5f\x04\x72\x79\x65\x3b\x22\xcb\xfd\x45\xf8\x61\x6f\x23\xe6\x5f\x53\xe6\x2d\x83\x0d\x20\xfb\x2c\x6f\xc4\xb4\x7a\xfe\x2d\x98\x0e\xcb\xd9\xef\x7b\xee\xe3\xc5\x92\x83\xed\x6f\x3e\xef\x7f\xd3\xe9\x2e\x5e\x67\xa5\xec\xa3\xbf\x38\x65\x3c\x23\xc3\xb8\xf5\xa7\x74\x1d\xcf\x45\xab\xd7\xc6\x7b\x10\x3d\x63\xb8\x3b\xd0\xc5\x57\x9c\xb6\xd8\x05\x3a\x6a\xaa\xf6\xe8\x78\xf4\x77\xa0\x2b\xbc\x92\x61\x74\xa5\xce\xc6\xb5\xe2\xc5\x46\x69\xa2\x85\x7b\xfb\x0b\x66\x64\x6b\x0f\xc8\xc3\x5e\xc9\x15\x86\x2e\x1a\x18\xb3\x7e\x05\xe4\x18\x96\x33\x9f\x1c\x4f\x2d\x51\x86\xe5\x8c\xa7\x42\xe0\xae\x52\x34\x11\xf8\xe7\x0e\x95\x17\x10\x4f\xd1\x13\xdf\xe6\x1d\x66\x57\x58\xcc\xd2\xec\xdc\x96\xa2\xe3\x33\x02\xea\x93\x6f\xaf\xf1\xe6\xfd\xfa\x1d\x81\x62\xc1\xef\xbb\x27\x48\x6a\x5d\x84\x79\x29\x5a\xa1\xb6\x14\xb6\x7f\x8f\x6d\xc2\x41\xff\x13\xca\xc2\x38\xbc\x37\x68\x19\xe5\x64\x4b\xd2\x97\x4b\xb8\x9f\x27\x59\xd6\x17\xc1\x28\xcc\x83\x8e\x18\x85\x7f\xed\x8b\x40\x81\x0b\x56\x6c\x88\x3d\xc0\xb3\x98\x64\x99\xd2\x20\x83\x65\xbc\x90\x32\xc0\x57\x35\xe8\xc1\x24\xcb\x82\x8e\x6e\xc4\xfa\xaa\x8f\x83\x75\x8f\xad\x1b\x06\xb0\x51\x28\xff\x82\x93\xec\x3e\xc6\x9f\x4f\xcc\x6f\xa8\xa8\x60\x1e\x3f\x59\xe9\x25\x53\xdb\xcc\xae\x5e\x38\x2f\xc4\xae\x76\xdd\xc4\x8c\xab\xf7\xd1\xaa\x83\xc4\xc2\x97\xfe\x17\x7f\x9d\x43\x5d\x9a\x48\x1b\x4a\x81\x5f\x11\x85\x86\xe3\xb2\xc0\x62\xd3\x48\x9f\x1d\xf8\x17\xeb\x1b\x49\x31\xc4\x21\x0c\x6d\x44\x2c\xf6\x91\x4d\x38\xa1\x98\x72\x53\x46\x55\xc7\x3a\x40\x6c\x50\xc7\x54\xcd\x53\x8f\x00\x12\xd7\xb2\x09\xe8\x1b\x29\xca\x74\x0b\xd5\xaa\x84\xae\xfe\x51\x74\xa8\xac\x01\xe5\xba\xd7\x89\x0d\xc9\x6a\x80\x3d\x84\x85\x88\x2a\xb4\x61\x4b\x07\x73\x50\xa5\x4f\x67\x89\x76\x4f\xf7\x1a\xaf\xc3\x43\xf5\x0b\x2c\x8a\x59\x2a\x0a\x17\x47\x0e\x98\x87\x73\xcc\x8c\x7f\x3c\xb1\xd8\x81\xd9\x98\xd5\xa1\x4c\xb5\x54\x38\x71\x68\xbf\x41\xf2\xc0\xe1\x67\x57\x32\xcf\xe1\x82\x36\x4d\x96\x76\x89\xf4\xc0\xe9\x7a\xc9\x43\x21\x87\x05\x9d\x12\xa6\xa0\x58\xb5\x0b\x16\xbc\x08\x08\x8a\x76\x0b\xa9\xaf\x26\x95\xc8\xba\xef\xac\x26\x5b\xc6\x38\xa4\xcb\xf3\xbc\x28\xcd\xe2\xdd\x30\xa8\xa1\xe2\xd5\x54\xf4\xd8\x8c\xe0\x26\x98\x66\x4d\x31\xec\x3c\xba\xa9\x0f\x56\x58\xf9\xeb\xfb\x08\xa1\xd6\x22\x2b\x5a\x7a\x9f\x52\x11\xa7\x59\x2e\xca\x3c\x8c\xa1\x2c\xb9\xfc\x58\x85\x89\x28\xe2\x69\xda\x6d\x92\xbf\x70\x03\xaf\xd4\xe8\xf8\x66\x4b\x33\x7b\x1f\x61\x43\x3b\xc0\xa5\x23\x2f\x64\x64\xd7\x80\x36\xae\xf7\x3d\x6d\xaf\x14\xf2\xd7\x42\xe2\xd7\x3a\x34\xbe\x56\xfa\x56\xa9\x2c\x64\x32\xb1\x12\x37\x76\xc2\xab\x69\xc0\x83\x0e\x23\x60\x13\x9b\x46\xe5\x76\x4c\x3f\xb5\xfa\x4e\x70\x79\xb1\x67\xa3\x6d\x5d\x75\x1e\x21\xef\xf3\xb6\x0f\x6d\x5b\x34\x0b\xd0\x79\x4d\x76\x69\xa5\x2c\xc7\x05\x6e\x35\xfd\xcc\x8d\x83\x34\xb6\x6d\xfc\x83\x9d\xf8\x3c\xf9\x86\x33\x80\x5a\x38\x12\x0b\x44\xa2\x8b\x67\x7b\x1b\x10\x17\xb8\x7a\x37\xf4\x3e\xce\x16\x4b\x83\xb9\xcf\x2b\xa7\x73\xc8\xcc\x06\x49\x9c\x69\x09\x6c\x7c\x0e\x70\x80\x24\xf1\xfc\xd3\xe8\xbf\x49\x96\x1f\x85\xe3\x99\x01\xeb\xa6\xe8\xea\x88\x4b\x59\x2b\x6d\xd2\x50\x67\x89\x92\x33\x20\x90\xf3\x4b\xb9\x74\x2b\x55\xb9\xe5\x79\x7c\x3c\xb9\x2b\xd6\x58\x84\x70\x9d\x7f\x7d\x91\x2b\xd9\x6a\x5a\xab\x9f\x16\x9c\xd5\x77\x9b\x66\x3a\xbe\xf0\xd4\x6a\x0f\x31\x11\xb7\xce\x1a\xcd\x59\x67\x98\xea\x8d\x11\x34\xd4\x8b\xf0\x2a\x31\xd5\x6a\x30\xf9\x46\x28\x4e\xed\x5f\xbe\x70\xee\x3d\xb0\x25\xab\xd8\x54\x08\xad\x0e\xc2\xce\xf1\x9f\x8b\x1b\xf0\xd5\xf0\x05\x92\x24\xf5\xe8\x4f\x66\x83\xcb\xff\xef\x60\x40\x9a\x69\x1d\xe4\x77\x13\x52\x9d\x0b\xc7\x6f\x92\x45\x37\x43\xf8\x87\x49\xa3\x80\xab\x9f\x75\xa9\x45\xb2\x91\xe0\x7d\x19\xb3\x91\x84\x45\x4d\x8d\x32\xdf\x7d\xa5\x16\x05\xc0\x95\x78\x57\xbb\xc3\x6d\xb2\xab\xe8\x85\x04\x3b\x4a\x58\x6c\x50\xa7\xd4\x5b\xae\x4e\xe1\x0d\x9e\x13\xa2\x07\x3d\x32\x75\x4a\xfd\x6e\x52\xa7\xbe\x41\x31\xa2\xab\xa7\x8d\x44\x67\x8e\x3a\xa8\x41\x4c\x97\x5b\x70\x1b\x6e\xfd\x20\xa2\x0a\x58\x81\x56\x7c\x86\x3b\x51\x3c\x95\x45\x39\x64\x25\x09\xe8\x1a\xcc\xb4\x21\x3f\x09\xec\x23\x97\xe3\x2c\x8f\x3a\x22\xc6\x92\xf2\x8a\x0b\x85\xff\x1f\x7b\x7f\xbf\xdc\xc6\xad\x2c\x8a\xe2\xff\xfb\x29\x20\xc5\xdb\x24\x6d\x8a\xb4\x1c\xef\x75\xf6\x91\xcc\xb8\x1c\xc7\x5e\xf1\x5e\x4e\xec\x58\xce\xca\xef\x1c\x2d\x55\x04\x72\x40\x72\xac\xe1\x80\x9e\x19\x4a\x66\x6c\x56\xfd\xde\xe1\xbe\xe1\x7d\x92\x5b\xe8\x6e\x00\x0d\xcc\x0c\x45\x29\xce\xae\x3a\xa7\xb6\xaa\x12\x93\x1c\x0c\x3e\x1a\x8d\x46\x7f\x77\x02\x16\xa5\x5c\x5d\x99\x8b\xd5\x5f\x92\xde\x5a\x16\xdb\x57\xe9\x54\x5a\x83\xfb\x88\x19\xcc\xe3\xa3\x79\x67\x73\x7c\xe7\x8e\x25\xea\xa7\xed\x5e\x0f\xfd\x26\x37\x86\x7e\x2d\xce\xec\x8c\x6d\xa0\x7d\x86\xb3\x7a\x1d\x28\x4f\xc9\xfa\x48\x52\x04\xe6\xe5\xef\xd6\xec\x93\xbd\xe3\x1b\xcb\xb7\x95\xb5\x28\x7e\x35\xca\x01\xee\x0a\xe4\xca\x02\xdd\xdb\x1b\xf3\x36\x44\x64\xe7\xce\x80\x87\xda\x8d\xa6\x80\xa7\x5c\xd0\x59\x5a\x8a\x4c\x9a\xd7\xa0\x6a\x3c\xa4\x19\x3d\x5f\xae\xca\xf9\x89\x69\x74\x6e\xee\xa9\x73\xc2\x0d\xfc\x25\xd0\x2b\xbd\x79\xff\xe2\x28\x86\x92\x0b\x6b\x44\x76\x3f\xf4\x03\x76\x0e\x1e\x69\xee\xfc\xff\xed\x1b\x94\x62\x1b\x7d\x58\xf1\x9d\x1f\x69\xf9\xcf\xde\xbe\x12\xdd\x74\xa0\x06\x34\x4e\x19\xcc\xd1\x74\x1a\x4e\xb2\x07\xbc\xe6\x5a\xaf\x20\x31\x2c\x94\x70\xc5\x31\x88\xe7\xcc\x12\x55\xf8\xf1\xbb\x59\x7a\xa1\xc4\xab\x17\xff\xd3\xac\xf6\x59\x9e\x14\x3a\x4d\xc4\x13\xf1\x78\xf0\xb0\xd7\x17\x09\xe4\x09\x5f\x95\x8a\xab\xc3\x9a\xe4\x2a\x84\xe7\x68\x43\xe0\x3d\xe1\x40\x9e\xea\x42\xb8\x09\x9b\x51\xf8\x6c\x23\x72\xa8\x89\xd9\xf6\xe8\x39\x6c\x3c\x12\x03\x1c\x87\xb9\x4c\xc0\x0f\xdc\x48\xb5\x57\x63\x74\xe9\x66\x8e\xd8\xda\x0a\xaa\xe3\xb8\xd7\xec\x58\x40\x3e\x6b\x61\xb1\x5f\xbe\x88\x3d\xee\xbd\x74\x6d\xa4\x62\xae\x61\x80\x4e\x5f\x74\xf8\x7e\xe2\xf4\x9d\x17\x57\x29\xe4\xa5\x4c\x33\xac\xd3\x6b\x30\xa4\xc3\x2a\xc0\x76\x6e\x84\x45\x75\xe4\xe9\x04\x3e\x29\xe4\x30\x0a\x05\x7d\x17\x90\xec\x6a\xa1\x93\x74\xba\x16\xe7\x30\x27\x24\x34\xe7\x14\x94\x0e\x39\x0a\x4d\xa7\xe7\x4c\x55\x62\x9a\x75\x59\xe3\xde\xb9\xed\x78\xbc\xaa\xc8\xf7\x18\x48\xbe\x55\x2e\x10\x90\x45\xa1\xa6\xaa\x50\x90\x92\x59\x8b\xbb\x34\x77\xea\xaf\x67\x2f\x04\x78\x01\xef\x02\xdb\x6d\x89\x5a\x07\x98\xa7\x2f\x1c\x93\x27\xfa\x0a\xaa\xcd\xc8\xa2\xd0\x57\x03\x4e\xcf\x2d\x72\x70\x16\x91\xf0\xe3\x29\x5e\x89\x47\x82\xef\x7b\x4c\xeb\x8f\xef\x00\x67\xed\x9d\xdc\x22\x45\xbb\x95\x44\x83\x40\xec\xb6\x44\x5c\xa6\xd7\x53\xfb\xc6\x19\x73\x2d\x6c\xe9\xfd\x24\x1c\x03\xe2\xee\x96\x85\x9e\xa8\xb2\x6c\x1e\x2f\xc8\xf9\x1b\x73\xc6\xf8\xb0\x01\xf5\xf9\x94\x1c\xec\xfc\x8f\x86\xa7\x75\xe3\x06\xa5\xe8\x5a\x7c\xf8\x1b\x60\x78\x67\xb7\xec\x6e\x78\xe5\xdc\xa7\xa4\x09\x50\xe6\xb8\xc4\x2c\x89\x2f\x30\xa7\x6e\x4b\xf2\x37\x83\xc6\x75\xbf\x4a\x10\x0e\x51\x12\x47\x77\xe8\x20\x0a\x40\x26\x49\xa1\xca\x52\x8c\x65\x21\xc0\xab\x1a\x8a\x65\x50\xaa\xb7\x53\x4a\x9f\x67\xfb\x44\xb7\x93\xf2\x68\x38\x74\xa1\x61\x83\x85\xfe\x23\xcd\x32\x09\x0e\x28\x2a\x1f\x46\x6f\xf4\x7a\xae\x5c\x8c\x9b\x82\xe9\xd9\x9f\xee\x4a\x1b\xca\x5c\x70\x37\xcc\x01\xdd\x79\xa5\x55\xaf\xb1\x79\xf3\xf9\xca\x02\x8e\x50\x86\x49\x1e\xd2\xbc\xd2\x77\xb8\xb6\xd3\x41\x00\xfc\xe2\x9b\x58\xae\x7a\x07\x6d\xb0\xb1\x4e\xa5\xf7\xef\x37\x02\xf9\xc8\xe5\xc5\x38\x10\x2f\xc0\xc9\x15\x57\x6b\x19\xb5\xed\x80\x87\xaa\xf6\x54\x66\x09\x33\x59\x1c\x08\xa8\xc0\x89\xa4\x6d\x0c\x51\x75\x16\x10\x03\xdb\x82\xf1\x05\xf6\xe7\x03\x71\xb2\xce\x27\xf3\x42\xe7\xe9\x1f\x6c\xcb\x5d\x08\x87\x0b\xfd\x80\xfa\x39\x44\xf4\xc2\xfe\xca\x18\xca\x7e\xbc\x2c\x9d\x5c\xd8\xc0\xbe\xc9\x85\xb9\xb7\x5c\x15\x27\xcc\x9b\xdb\xd5\x85\x98\x60\x2b\xe9\xe8\x6d\x96\xe6\x17\xbd\xb8\x13\x03\x7b\x78\x42\xd3\x7e\xe7\x3d\x87\xed\xa4\xe9\xae\xb4\x0a\x5a\x28\xad\x43\xb7\x7d\xd7\xda\xb1\xfb\x60\x60\xed\x83\xf1\xaf\x1f\x78\xc2\xa0\x8b\x6d\xcf\x6e\xdb\x4b\xab\x53\x4a\x73\x4c\x40\x88\x7b\xe7\xaa\xd0\xcc\x56\x69\xa2\x86\x7e\x5b\x7f\x70\x91\x8f\x7f\x37\x4f\x8e\xc4\xaf\x10\x33\xe2\x1a\x60\x2a\xa5\xe8\x30\x53\xae\xc5\xa2\xe1\x34\xbf\xe5\x8f\xa2\x53\xfb\x6b\xa9\x22\x75\x81\x6d\x0d\xea\xe5\x89\xce\xa7\xe9\x6c\x55\x28\xa8\x7e\x04\x9b\xc3\x1c\x96\x13\xa5\x96\x00\x48\x1b\xd2\x82\x65\x6f\x0d\xe8\x41\x95\x58\x4b\x9d\xc8\xfb\xef\xfa\x20\x46\xe6\x07\x38\x62\x89\xf2\xe0\x4a\xff\xc9\x5c\xb2\x23\x26\xf5\x93\x3f\xb6\x73\xb6\xb3\xbf\x13\xad\xfa\x5e\x96\xea\x08\x04\x07\xfe\xe8\xaa\x48\x2b\x70\x35\x2e\xf1\x19\x3d\xda\xdc\x94\x51\x77\xe5\x09\xfd\x94\xdb\x18\xf6\x9a\x77\x10\x39\x01\xd1\x42\xa7\x36\x72\x0d\xed\x4f\x4c\x0f\x0f\x36\x33\x48\xca\x81\x5a\xb2\x80\x27\x2b\xc5\xe7\xfb\x1b\x77\xb2\xa9\x44\xfd\x14\xb3\xf2\x4b\x6f\x73\x2f\x48\x35\x29\xba\x93\x39\x76\xdb\xe3\xcd\x50\x68\x70\x0c\x9d\x73\xac\x71\x9b\xc0\x92\xa9\x7a\x3f\x71\x7b\x9d\xd9\x84\xc5\xf4\xcc\x33\x5d\x41\x17\xf8\x34\xf6\x80\xa6\xfb\xa8\xa6\xcd\x61\x92\xf2\x5b\xf6\x62\x43\xac\xc8\x4d\x36\xc9\x22\xd0\x75\x7b\xd4\x25\x5b\x03\x99\x87\x7a\xa3\x0d\x32\x77\xaf\xa6\x82\x9e\x80\x7d\xa6\x14\xe7\xae\xcb\x01\xe1\x21\x1c\x13\x66\x77\x11\xc2\xbc\x85\xf4\xc3\xbe\x64\x9b\xf6\x8d\x68\xe0\xb0\xd4\x09\x0b\x1e\x39\xcf\xb1\xc8\x56\xb9\xa4\x7a\x13\x68\x78\x19\x88\x13\x9f\x9e\x05\x87\xf0\x3a\xce\x23\xfb\xd3\x81\xb8\x7f\x9f\x06\xba\x7f\x9f\xd2\xa0\xda\x8c\xbb\x98\x07\xb5\x6b\x15\x77\x78\x74\x7a\x60\x1d\x32\x07\xc5\x46\xe3\x65\x6b\x43\x1b\xcf\x49\xd0\x1b\x30\xb1\xa6\xd2\x76\x18\x61\x9d\x63\x57\x45\x56\x1a\x5a\x5e\x28\x2f\x66\x0d\xc4\x6f\xa6\xa7\xa9\xcc\x32\x24\xd3\xe4\x71\x7f\xe0\x02\xfa\x90\x4a\x70\x5e\x19\xa2\x9e\xd0\xa9\xd8\x8f\x61\x59\x71\x26\x5a\x0d\xf8\x42\x19\x18\xef\x1b\x12\xce\x97\x7a\xc0\x16\x8a\x06\x8b\x1e\x1a\xe7\x3c\x3d\xf1\x61\x1d\x7d\x67\xbe\x28\xfd\xe8\x57\x73\x05\x91\xb9\x10\xe8\x58\x09\x29\x9e\x18\xde\xe4\x3b\x51\xc9\x99\x79\x95\x06\x07\x59\x6e\x0c\xce\x7d\x25\xd4\x92\x7b\x35\xf5\x5b\x6d\xf7\x96\xef\x76\xa1\xfc\x10\x08\x77\xd3\x48\xa2\x8b\x20\xf5\x6d\xc6\xa3\x0e\xcd\x63\xa1\x8a\x42\x17\xac\x2e\x63\xa1\xaf\x72\xbc\x41\xb9\x39\x02\x4a\xe5\x7d\x00\x46\x62\xe0\xc7\xb0\xa5\xed\x5a\xae\x19\xff\x09\x9e\xf8\x9a\x77\xec\x9a\xda\x84\x40\xf7\x98\xfa\x27\xa1\xee\x27\x89\xbf\x94\xc3\x24\x2d\xe1\x03\x39\x2e\x9b\x91\x28\x07\xa1\x8f\xe7\x83\x28\x8e\x06\xab\x50\xe9\xcd\x42\x7e\x34\xab\x53\xf8\x3a\xc4\x91\x5d\x45\x8e\x36\x1a\x12\x11\x52\xc6\xef\x11\x1c\xf8\x84\xd1\xc5\x98\x68\x88\x11\xd0\x97\xeb\x88\x63\x60\x33\x71\x7d\xde\xe1\x4a\x77\x3e\xa2\xed\x3d\xb0\xab\xb4\x8d\x6d\xbf\xd6\xe2\x03\x1b\xfa\x65\x68\xdc\xd2\x37\x6b\x61\xfb\x67\x3f\xed\x36\x86\x47\xae\xd6\x41\x7c\x13\x3f\x8a\xff\xad\x36\xcc\xae\x97\x8e\x1d\xe1\xba\x3b\x07\xea\x93\x34\x2b\xf0\xdc\x27\x64\x64\xa1\x54\x3a\xb5\x84\xb7\xde\xaf\x97\xc0\x01\xcb\x64\x22\xcb\xca\x90\x59\x23\x51\x61\x2d\x99\xb6\xdb\xe9\x7b\xdb\x5c\x25\x62\xac\xa6\x60\x95\x24\x96\xda\xa9\x71\xf9\x69\x00\xe5\x17\x51\xe7\x89\xcc\x89\x36\x99\xd1\x31\x57\xfb\x44\x66\x99\x53\x6c\x9d\xd3\x23\x2a\xd5\x7c\x6e\xb5\x66\x64\x3e\x82\x67\x03\x20\x21\xdb\x6a\x25\xea\x7c\xe3\xe8\x06\xf6\x6b\x0b\x66\xca\xb1\x5e\x55\xd8\x8d\xb3\xb9\xfe\xba\x34\x8c\xaf\xcb\xee\xce\x8a\x36\xdf\xe7\xa3\xb4\x02\x15\xdf\x14\xcd\x3f\x6f\x0c\x7d\x99\xa6\x45\x68\xc4\x86\x82\xc1\xb9\xba\xe2\xea\x39\x9d\x25\xf4\x95\x39\x2a\x2c\xe4\x1a\xed\xe0\x64\x4c\x6c\xd6\x17\x1a\xca\xeb\x15\x83\x56\xa2\xa1\xdb\xaa\x6c\xd6\x16\x36\x29\xe8\x2c\xb9\xa2\x52\x6d\x2f\x00\x4c\x27\xeb\xbc\x9a\xab\x2a\x9d\x84\x60\x6b\x62\x27\x37\x22\x57\x57\xbf\x92\xbb\x39\x48\xb5\x8d\x2c\xa7\xce\x20\xdf\xa8\xc1\x19\x2c\xfd\x24\x4b\x8b\x49\x29\x7e\xc3\x2d\x48\x1a\x07\x19\xc1\x28\xa8\x27\x04\xc3\x49\x83\x02\xb8\x7d\x60\x7c\xef\xc7\x26\xa5\xf1\x2e\x73\x19\xfe\xc9\x03\x88\x48\xf1\x35\x8f\x20\xea\xe0\xe8\x04\xc6\xd3\xfd\x6f\x6c\xfb\x3f\x1f\xdb\xb6\x16\x5a\x27\xe8\xc3\xe7\x32\x4f\xa7\x53\xfa\xcc\x14\x63\x41\x41\x76\xba\x62\x1a\x4b\xb0\xdb\xce\xfa\xc2\x76\xd5\x0f\x34\x6c\x7d\x5b\x3a\x82\x07\x1e\x3a\x04\xf7\x72\xad\x15\xa9\xcd\xdd\xe5\x7f\x35\xec\x24\xc4\xc9\x8e\xbc\x56\xd7\xfe\xd6\xed\xf5\x21\x02\x70\x0a\xad\x4e\xe7\x85\x9a\x9e\x19\xba\xe9\xbc\x28\xc0\xa5\x29\x61\xe5\xfb\x3b\x3e\x15\x7b\x9a\xa7\x55\x2a\x33\x8a\xb9\xb2\x5d\x43\x20\x8d\x1f\x9d\xa2\xfb\x98\x0a\xbf\xc6\x81\x84\x95\x39\xf6\xdc\x7c\xef\xdd\x6b\xe6\x28\x38\x37\xd0\xaa\xd7\x37\xbd\x04\xfe\x11\xfb\x9e\xbf\x0d\x4f\x96\x53\x6a\x06\x7c\x7d\xc0\xcb\xef\xed\xf7\xe2\x62\x1a\x2e\xfe\x96\x67\xff\xf4\x10\x81\x18\x4c\xb7\x92\x2f\x5f\x5c\xce\xe2\x78\x9f\xa0\x34\x29\x6e\xfa\xc0\xa2\xf8\xd3\xba\x65\xe3\x68\x4b\x24\x77\x23\x2f\xc3\xe6\xe7\xc2\x83\xd9\xf4\x5a\xa6\xd2\x60\x1c\xe5\xd6\x09\x0f\xc2\x11\xd8\x71\xf9\xdb\x3e\x9e\x1c\x23\x5a\x59\x54\xf9\x71\xf8\x72\x14\xea\xcd\xa6\xd5\x17\xc1\x14\x6b\xaf\x59\xcb\x41\x6c\x9d\x60\x81\x4c\xaf\xfe\xfe\xf3\x9b\x77\x2f\x7e\xff\xf5\xdd\xab\xdf\xdf\xbd\xf8\xfb\x8b\xff\xdf\x5b\x4c\x23\x52\xde\xef\x7e\x90\x97\x12\xc9\xf9\x97\x85\x4c\xb3\x4a\xf7\x8e\x86\x29\xbd\xc9\x52\xb9\x56\xdf\x63\xdf\xbf\x16\xd9\x6f\x69\x35\x7f\x49\xc9\xc1\x6c\x14\x3a\xd8\xc6\xfa\x22\xb0\x67\xe1\xc8\x44\xee\x9a\x83\xca\x7c\x9b\x13\xbb\x86\x78\x5d\xb6\x5d\x55\xac\x19\x82\x07\xe7\xaa\x69\x0e\xcc\xc7\x28\x28\x2b\x1a\x9b\x84\x7a\xce\x71\x8d\x0c\x3d\x06\xce\xe6\x9a\x49\xcc\xc7\x89\xcc\x44\xd7\x08\x9b\x90\xbe\x29\x51\x6a\x99\xad\xd1\xf5\xae\xc7\xbb\xe7\x84\xf4\x98\xac\x8e\xa0\x4d\x5f\xea\xb2\x4c\xc7\x99\x12\x1f\x57\xe9\xe4\xc2\x55\xe2\xb6\xb5\x7c\xf0\x3d\x22\xb1\x56\xf9\xcc\xcc\x48\xd4\x7d\xa6\xf5\x72\x20\x9e\xdb\x97\x41\x9f\x08\x93\x48\xab\xb5\xb8\xb2\xf5\xd0\x2b\xad\x21\x9b\x72\x5e\xa6\x97\xae\x26\xe3\xae\x88\x42\xa7\x58\x4c\x40\xa5\xdd\x55\x51\x82\xab\x77\x0a\xb4\x95\x10\xf5\x4f\x6e\xae\xe9\x94\xd9\x47\xa7\x86\x99\x6d\x18\xd2\xec\x0e\x22\x00\x2f\xf8\xd3\x30\x23\x8b\x01\x6c\xdb\x90\x86\x45\xe5\x7a\x48\x68\xe1\xd7\x00\x14\x2f\x04\x95\x36\xf7\x2f\x81\xdb\x3a\xc8\x76\xf0\xfe\xcd\x0f\x6f\xba\x97\xfa\x43\x25\x7b\x47\x56\xd7\x89\xa5\x4a\x41\x51\xa0\x97\x2a\xc7\xd4\xb3\x70\x86\x2b\x39\x26\x3b\x89\xe8\xa6\x71\x02\xbc\x9e\xef\x95\x74\x8c\xd9\x5a\x5c\x29\xe8\x43\xe4\xe9\x04\x73\x9c\x41\xdf\x68\xda\xc7\xda\xa8\xe0\x72\xcb\x85\xbb\xbd\x16\xa9\xed\xcb\x17\x92\x2c\x26\x55\x91\xfd\x43\xad\xfd\x0f\x0b\x55\xc9\xe0\x07\x2c\xa6\x3e\x1a\x89\x47\xbe\x74\x35\x3b\x59\x2a\x5b\x88\x91\xf8\xf0\xf1\x75\x5a\x29\x84\xc9\xa0\x92\xc5\x4c\x55\x3d\x96\x11\x48\x54\x85\xbc\x54\x05\xe9\xb8\x7f\x78\xf3\x93\x58\x2d\x0d\xa5\x9f\xa6\x79\x42\x7e\x73\xcf\x0c\xf5\xa7\x17\xa8\x82\x40\xae\x13\xc8\x9d\xf4\x7b\x57\x65\x8b\xd3\x87\x67\x94\x84\x5e\x76\x22\xdc\xa1\x8c\x60\x5e\x59\x91\x4e\x45\xae\xb1\x47\xd1\x2d\x94\x9c\xcc\x55\x82\x4c\xa6\x2b\xf1\x0a\x2a\x25\xc3\x09\x1a\x96\xeb\xc0\xd6\xb0\xc4\x24\x45\x36\x99\x96\x3f\x81\x06\x94\x38\x07\xf0\x9c\xe3\xc8\x61\x7e\xfb\xf2\x45\xec\x75\x11\x10\x2a\x5b\x0c\xb0\xd7\x6e\xaf\x07\x73\x0e\xcb\x7d\x6f\x38\xec\xe4\xb8\x24\x06\x01\x5e\x2b\xf4\x92\xf2\x5f\xf5\x58\xf2\xb3\x19\x65\x53\x92\x93\x6a\x25\x33\x61\x9e\x43\x81\x5a\xc8\x97\x25\x0e\x44\xa9\x58\x3a\x3b\x72\xfe\x5a\x94\x49\x3e\x58\xa4\x93\x42\x97\x7a\x5a\x81\x0f\x18\xd4\x3a\x1a\x66\xe9\xb8\x90\xc5\x7a\x98\xaa\x61\x92\x7c\xfb\xf8\x7f\x1c\x3e\xfe\x8f\xee\xe5\xe8\xb2\x1c\xfc\xc7\xbf\xf7\x06\xb2\x5c\x7e\x62\xb3\xb3\x69\x3e\x70\x76\x66\x48\x3b\x3b\x40\x0e\xf7\xdb\x27\x83\x86\x47\x76\xde\x81\x66\x81\x54\x26\xb4\x4e\x28\xf0\x47\x9f\xb9\xdb\x15\x04\x9e\x9e\x12\x97\x78\xf2\xcf\xbf\x3f\xcb\xd3\x85\xac\x54\x82\x0d\xce\xe2\xed\xae\xb5\x18\xc8\x3c\x5d\xfc\x53\x66\x36\x90\x69\xac\x18\x71\xad\x74\xc3\x0b\x86\x41\xf8\xa7\xcc\xfa\x62\x95\x67\x46\x92\x45\x23\x3b\x1f\x04\x52\xac\xa5\xa8\x7c\xf3\xa4\xce\x6f\x58\x58\x38\x02\x56\x44\xb3\xe8\x0d\x0c\x28\x9a\x32\x52\xbd\xb2\x99\xeb\xc8\x53\x2f\x2d\x31\x4b\xa1\x75\xd9\xf1\x17\xe5\x11\xb8\x3f\xc3\x65\x79\xc4\x00\x5a\xbb\x63\x07\x95\x2a\x3d\x78\x6b\xe7\x13\x32\x7f\xd0\x94\xef\xdd\x13\x7b\x7e\xcf\xf0\x88\x76\xb0\xe4\x22\x9e\x5a\xb0\x27\x18\x76\xf3\xad\xd5\x55\x74\x7b\x71\xdd\x96\x56\x56\x82\x46\xf1\xe9\x62\x42\xc7\x52\xac\x4f\x9d\x68\x21\x45\xa8\xee\x00\xa5\x85\xc4\x00\x7e\x52\x41\x4b\xa8\x7a\x50\x38\x07\x5a\x12\x96\xb8\xc1\xab\x1f\x76\x6d\xd3\x4d\x38\x79\x0d\xb2\x90\x92\x4b\x55\x9f\xd7\x5b\x86\x12\xfe\x64\x6f\x96\x63\x5d\x54\x22\x97\x97\xe9\xcc\xa7\x65\xd0\xab\x2a\xec\x7b\x46\xd1\x20\x89\x5e\x99\xf7\x54\x5e\x15\xa9\x72\xe1\x14\x8e\x2d\xb3\xaa\x7a\xf6\x32\x42\x35\x5c\x6e\x37\xf6\xa1\xa6\xbc\x5a\xae\x9f\x85\xcc\x57\x86\x3b\x60\xad\x42\xb8\xdb\xc4\x0a\x62\x2f\x66\xfd\x63\xb7\xe9\xc6\x82\x8a\xbc\x81\x21\x17\x64\x1b\xb8\xd2\xc5\x85\x90\x85\x5e\xe5\x89\x78\xf9\xf2\x6f\x62\xbc\x9a\x89\xbf\xfd\xc7\xe3\x47\x0f\xff\x03\xb1\xb5\x9c\xa8\x5c\x16\xa9\x16\xc5\x2a\xcf\x95\xb3\xef\xea\x1c\x55\xc1\xe1\xb8\x64\xfc\xa7\x7d\x3b\xed\x4c\xa7\x07\xd8\xd7\x41\x08\x8c\xce\x59\xe0\x59\x68\xcf\x4b\xfc\x89\xae\x65\xca\x8d\x4a\x9e\xe7\x78\xb7\x06\x69\xca\x9e\x7c\x47\x49\x47\x28\x0e\x7a\x0b\xe0\xb8\xb8\x60\x81\x16\x00\xb3\xfe\x5a\x1f\x66\xda\xab\x65\x0d\xa2\xae\xd2\x3f\x0c\x92\xd8\xe5\xdc\x09\x77\xd7\x73\xef\x98\xd2\xc5\x2a\x10\xcc\xac\xc9\x23\xe1\x4e\x30\x05\x9d\xff\x5a\x64\xa8\x3f\xe9\xfa\x32\x4a\x20\xfa\xf7\x9d\x70\xce\xa6\xce\x76\x5a\x5d\xca\xec\x59\xb9\xce\x27\xdd\x86\x12\xcb\xad\xfc\x72\x90\xae\x83\x37\xbc\x96\x69\xc6\x96\x49\x44\x39\x18\x93\x55\x23\x19\xb4\x90\x6b\xd8\x35\xbb\x4a\xd6\x53\x3c\x88\x18\x05\x2b\x77\x1a\x25\x56\x73\x89\x29\x81\x3b\x7d\x61\x21\x88\x00\x88\xeb\xbc\xe1\x78\x7d\xb7\x6a\x28\x28\xdb\xb6\x2a\x94\xdd\x03\x12\xc0\x74\x19\x62\xbc\x16\x92\x19\x86\xd8\x34\xce\xc5\x5c\xe6\x49\x86\xa5\xb4\x73\xa8\x08\xce\x3b\x25\xcf\x22\xf4\xf8\x4a\x4b\xdf\xbb\x57\xd1\x6e\x27\x0a\x23\x5a\x65\xed\x2e\xc0\x77\xe2\x25\x85\x44\xa3\xbe\x57\x35\xd6\xfa\x3a\xe6\xda\xb7\x6b\x97\xe8\x08\xfe\xe4\x38\xe0\x01\xbe\x35\xc4\x20\x3a\x68\xac\x98\x26\xfe\x81\x56\xf0\x75\x00\x70\x37\x50\xd3\x08\x96\xba\x04\x09\x79\xf7\x38\x42\xdd\x5d\xce\x41\xe9\xc1\x7f\x43\xd1\xc9\x1e\x14\x17\x68\xe2\xcf\xba\xcb\x4a\x17\x9d\x4b\xac\x52\xef\xbd\x30\x2c\x10\xc1\xc3\xa7\xdb\x22\xd0\x86\x55\x5b\x22\x72\xcf\xc5\x5b\x52\x0b\xd6\xde\xa8\x61\x48\xab\x50\xdc\x22\xaf\x99\x66\x24\x80\xbc\x73\xde\xe0\x1c\x03\x48\x28\xe6\xed\x57\x45\xf6\xa6\x80\x8e\x9f\xd3\x71\x18\xd9\x25\x79\xfc\x14\x5f\xbe\xb8\xbd\x08\xd8\x0a\xa4\xe1\xf7\xee\xd5\xb5\x33\xf7\xee\xf9\x19\x9b\x8e\x6a\x88\x18\x71\x9f\x1c\x61\x30\xc5\x49\x38\xad\xb0\xbc\x6c\x13\x76\x79\x0a\xb5\x3b\x85\x8d\x36\x64\x1b\x8d\x6d\xa6\x9d\x5f\x95\xac\x35\x1c\xd7\x1d\x29\xdc\x5f\x44\xe3\x6e\x44\xe5\x6e\x47\xe7\x76\xa1\x74\x3b\xd2\xba\xdd\xa9\x5d\x03\xc5\x72\x89\x6d\xdb\xd1\x0e\xff\xda\x29\xa5\xdd\xda\xf0\x08\xc6\x5b\xdc\xfe\xe7\x4f\x78\xd3\x79\xf1\x5e\xbf\x4d\x47\x89\xf7\xb3\x09\xbe\xdd\x90\xd4\x06\x4c\x5d\x3d\x55\x6f\x03\x35\xa9\x9d\xc0\xe1\xd0\x70\xef\xe8\x76\x6f\xbd\xf7\x6d\xd2\xea\x7c\x5d\xcd\x0d\x26\xd9\xe4\x77\xfe\x80\xa2\x7d\x16\x6a\xa9\x79\xb5\x17\xe8\xba\x44\x92\x16\xd5\xda\xd9\x75\x48\x47\x01\x3e\x34\x10\xcb\xcc\xf0\x70\x13\x79\xf2\xba\xe9\xc6\x1a\xcc\x9d\xa0\xd2\xc8\xb3\x6d\x39\xe2\x68\x3d\xeb\xf4\x1b\xe8\x48\xfd\xc0\x6f\x3b\xea\x96\x71\xdd\xb9\xbc\xf4\x2c\x72\x3c\x46\xae\xbe\xc5\xe7\xf8\x24\x5d\x2c\x59\xbd\x69\xc8\xf4\xa9\x67\x33\x23\x6a\x0b\x2b\xe9\x41\x93\x85\x4b\x82\x57\xca\xa9\xca\xd6\x02\x18\xf9\x92\x22\xf2\xcb\x52\xce\x60\x16\xb1\x13\x6e\xa7\x14\x13\x9d\x97\x1a\xea\x4a\x4e\xad\x75\xc0\x39\x76\xbe\x37\x6f\xcb\x34\x17\xcb\x55\x01\x39\x23\x41\x74\x84\x5c\xe3\x38\xa1\x14\x4c\x28\xa5\x99\x42\x3a\x5d\x8b\x44\x8d\x57\x30\x3b\x90\x16\xab\x02\x64\xbb\x72\xae\x35\xa5\xf5\x76\x9d\x26\x76\xee\xf0\x7e\xa6\x67\xe2\x1c\xde\x3d\xb7\x93\x2d\x07\xe2\x7f\xa1\xcb\xae\x58\x95\x30\xf5\xc0\x7e\x3e\xb3\x2e\x70\xf1\xf7\x6f\xa0\x9b\x17\x68\x87\xd9\x80\x87\xa7\x75\xe4\x4d\x7d\xf1\x0b\x8a\xe1\x33\x5b\xf7\x84\x3e\x8b\x85\x4e\x56\x99\x1a\xed\x67\x7a\xf6\x02\x7f\xda\xff\x0e\x31\xe0\x09\xa4\x0b\x37\xfb\x37\xda\xc7\xdd\x19\x7c\x28\xed\x43\x61\xe5\xe8\x01\x76\xd0\xed\xf8\x0e\x3a\x7d\x71\x7a\xe6\x95\x5d\x62\x30\xd1\x79\x55\xe8\x2c\x53\x45\xb7\xf3\x5a\xcf\x9e\xbb\xaf\xa6\x65\xe7\x6e\xe9\x8c\x71\x99\x9e\x71\x95\x28\x3e\x01\x64\x9d\x45\x64\x0e\x1f\x01\x0c\xf0\x56\x9c\x1d\x37\x3c\x26\xa8\x8a\x91\xe8\xfc\xa8\xb2\x4c\x8b\xdf\x74\x91\x25\x7b\xac\x18\xac\xd8\x9c\x59\x12\xf2\x64\x68\x16\xdc\xb0\x78\xc8\x23\x0e\xae\x42\x7e\xf5\x4f\x92\xf4\x52\xe4\xb3\x03\xbf\xb4\xd1\x7e\xb0\x34\xdf\x54\x88\x27\xcb\xef\xde\x61\x5a\x4d\xc0\x22\xc8\xad\x89\x41\x55\x4b\x95\x5b\x4c\xec\x0b\x73\xaf\x14\x58\xb7\x10\x52\xee\xa5\x15\xdd\x96\x33\xf2\x85\x1e\x0c\x06\x4f\x86\x4b\xd6\xf1\x4f\xb8\x3e\x56\xb9\xf9\x09\xa6\x28\xaf\xd6\x4b\x35\xda\x37\x5d\xed\x9b\x59\x2e\x74\xa2\xb2\xd1\x3e\x81\x63\x7f\xc8\xe7\x46\x6e\xd6\x66\x2d\x46\x0a\x1f\xed\x1b\x60\x0e\x32\x3d\xeb\x52\xf3\xde\xfe\x77\x99\x9e\x3d\x19\x62\xc3\xeb\x5f\xbd\x92\x45\xce\xde\x35\x5f\x77\x7f\x39\xcd\xa7\x9a\xbd\x6c\xbe\xee\xfe\x32\x38\xd5\xb1\xb7\xe1\x7b\xed\xf5\x27\xc3\x24\xbd\xfc\xae\xb6\xe7\x4f\x6c\x88\xeb\x77\x3b\xbb\x61\xcf\x76\xf5\xc0\x9e\xdd\xc0\xf9\x3a\xd3\xb3\xd2\x91\x83\x9a\xaf\xf5\xac\xc1\xcd\x1a\xce\x3e\x29\x0b\x5c\x2a\x7f\x95\x4d\x29\x45\xed\xee\x6e\xb6\xcd\xe4\xe4\xce\x35\x4e\xb6\xe4\x2b\x38\xda\x88\x69\x26\x67\xe4\xf8\x27\x74\x21\xc8\xf5\x8f\xe6\x97\xa9\x4b\x95\xb1\x85\xfd\x97\x38\x3f\xf3\x75\x70\x17\x3f\x33\xd3\x66\xe7\x67\x78\xe2\x89\x8d\x85\xad\xf9\xb9\x31\x62\xb5\xcd\xf9\x0c\x5e\x8c\x1d\xcf\x22\x4f\x04\xeb\x53\xc0\x28\x5e\xe8\x1f\x60\xe3\xf5\x2c\x53\x71\xdf\xd6\x76\x68\xda\x48\x11\x6d\xe6\x37\x70\xe9\xd2\xef\xac\x41\xb4\x91\xf8\xeb\x6f\xa0\x00\x93\x40\x6c\xdc\xc5\x49\x0f\x6d\x79\x87\x4c\xcf\x8e\x2c\xb5\x7a\xad\x67\x40\xf2\x29\x0b\xda\x2d\x66\x67\x8e\xf6\x4d\xa7\x97\x07\xa1\x16\x6d\xf3\x34\x6d\xc2\x89\x9a\x5f\x6e\x3f\x53\x43\xc1\x6e\x0c\x48\xf3\x92\xe1\x08\xda\x26\x69\x9e\x87\x93\x34\xbf\xdc\x7e\x92\x40\xeb\x6e\x0e\x4f\xf4\x43\x6e\x9b\x24\x3c\x0d\x67\x09\x3f\xdd\x7e\x9a\x70\x2c\x6e\x0c\x4c\x3c\x85\x6d\xb3\x84\xa7\x47\xa2\x5d\x43\x39\xcd\x21\xfb\x88\x5f\x04\xbc\xd1\xe1\x26\xf7\xb6\xe8\x42\xc2\x28\x10\x00\xc7\xab\x98\x0b\x11\xd3\x9c\x52\xe7\x1b\xba\x14\xa6\xce\xf7\x8d\x98\xb8\xe2\xa4\x95\x2e\x05\x0b\x6e\x62\xb6\x1f\xd1\xfb\x05\xdc\x64\xb2\x98\x85\x3e\x35\xb2\x98\x41\x24\xbe\xcc\x27\x4a\x4f\x05\xb4\x8a\x6d\x2a\xb2\x98\x0d\xca\x4a\x4e\x2e\xc2\xb9\x9a\x57\x47\xf8\xd4\x72\x45\xf7\xee\x09\xd7\xd8\x15\x4b\x61\x0d\xd0\x92\x76\x70\xd8\x8b\xe4\xc3\xa7\xa2\xf3\x02\x11\xa3\x23\x1e\x08\xde\xe3\x03\xd1\xf9\x57\x6e\x7f\x84\x7e\xa3\x57\x8f\xfc\x93\xc6\x4c\x32\xf0\x54\xaf\x8a\x89\xfa\xf5\xdd\xeb\xa6\x05\xb4\x8f\x66\xdf\x32\x3f\x1f\xd9\x5f\xb3\x34\xaf\xa5\x0a\xf1\xff\x5a\x91\xaf\x98\x05\x7a\x78\xb7\x17\x0c\x65\x20\xfc\x3f\xd0\xaa\x59\x01\x62\xe4\x2c\x14\xf6\x97\x2f\x5f\xc4\xe7\x0d\x17\xaa\x33\x3d\x7b\xc9\x50\xf0\xd4\x74\x06\x56\x5e\xfa\xc1\x70\x5b\x50\x76\x5d\xeb\x25\x7f\x6f\x2e\xcb\x67\x06\xbb\x9a\xe4\x57\xcc\xb7\x58\x28\x09\xc9\x18\x60\x04\x44\x45\x74\x43\x28\xfd\xe1\x4e\x73\xf1\xea\xc5\xe1\x21\xfe\xfb\x1f\xce\x1a\x6d\xeb\xec\xd9\x0e\xb1\xe8\x99\x2c\xa1\x88\xf5\x3c\xcd\x89\x59\x4d\xc9\x8c\xc6\xa7\x3a\x97\x25\x70\x98\x62\x1f\x8d\xac\xfb\xd4\xf7\x60\x60\xfb\x0b\x7d\x5f\xd8\x3a\xf6\xf6\xd8\x54\x1b\xbd\x38\x02\x67\x72\xfb\x66\x43\x11\x9c\x2d\xda\x32\x59\xcc\x4a\x73\xc3\x06\x59\x7c\x6c\x52\x09\x77\x46\xd9\xb5\x1b\x1c\x34\x87\x6e\x25\x44\xca\x74\xe3\x13\xd9\x8b\x73\x03\xf9\x6f\x34\x35\xb6\xc4\xae\xe3\xee\x4d\x87\x5c\x61\xdc\x64\xd1\x25\x93\xe2\xab\x17\x02\xbd\x24\xa8\x92\x9c\x2d\x94\x08\xd5\xd8\x22\x64\x1b\x7d\xe7\xf6\xc9\xa0\x0f\xfa\x97\x2a\x0a\xbc\x99\xa7\xf9\xac\xef\xbb\xd7\x45\x30\x82\x2a\x54\xb0\xad\xc1\x30\x88\x4b\x58\x0a\xce\x3c\x94\x95\xc8\x94\x2c\x2b\x72\xaf\x78\x04\xeb\xb9\xd3\xbc\x23\xb2\x98\x1d\xc2\x82\x1f\x71\xa8\x02\x54\xd8\x33\xe1\x13\xa7\x74\x3a\x48\x19\x1e\x79\x75\x0e\x63\x9d\x50\xc5\x00\xbe\x92\xa0\x59\x43\xe7\x40\x31\x12\x0b\xf2\x12\xc4\x9f\x81\x9e\x0f\x87\xe2\x44\xe6\xc9\x58\x7f\x32\xc7\x82\x4a\x75\x89\x17\x9f\x8c\x88\x5f\xa6\x3a\x2f\x4d\x8b\x83\xad\x7f\xa6\x85\x7d\x51\xf9\x17\x01\x6e\x33\x95\xab\xc2\x96\x7c\x2a\x0d\xab\xac\x12\x50\x3d\x38\x75\x11\x66\xd6\xe3\xef\x81\x13\x30\xc0\x14\x9d\x6a\x4c\xff\x12\x3d\xde\x2b\x2d\xce\x51\x54\x45\xa7\xe2\x4c\x4f\x64\x56\x0e\xc4\x8f\xfa\x4a\x5d\xaa\xa2\x0f\x59\x37\x26\x90\xc4\xa9\x92\x36\x56\x79\x9c\x82\x1b\x55\xa5\x85\xfa\xa4\x26\x2b\x73\x41\x16\xe3\xb4\x2a\x64\xb1\x16\xff\x79\x22\x26\x3a\x51\x62\xbc\x36\xa3\xe0\x5b\xa0\x97\x08\xb3\x02\xe4\x18\x77\xf3\x9f\x27\x6e\xcf\x4a\x57\xfc\xcb\x8c\xf1\x92\x53\x40\xaa\x76\x33\xb8\x33\x1c\x02\x68\x90\xb4\xa0\xac\xd4\x77\x70\xa0\xa4\xad\x59\xa6\xaf\x38\xe4\x3d\x20\x8e\xe8\x7d\x21\x3e\x6f\x9c\xb7\xc6\x80\x0d\xd0\xed\xc8\x4c\x15\x55\x77\x5f\x5d\xa6\x99\x5d\xc9\x7e\xaf\xd3\xa3\x17\x21\x0c\xa2\xf4\x9b\x5b\xa9\xc9\x3c\x4f\x3f\xae\x94\x8b\xaf\x52\xc5\x14\xa2\x7b\xf3\xc4\xe1\xb2\x4c\x17\xe8\x02\x3a\x00\x02\x37\xd3\x32\x23\xed\x0b\x19\x8f\xcd\x0c\x33\x9d\x56\x80\x18\x72\x26\xcd\xf5\x8a\x91\x12\x6e\xe6\x22\x93\xf9\x6c\x25\x67\xaa\x0f\xa9\x17\xcc\x50\x0d\xef\x5b\xa7\x80\x42\xf9\xd2\x42\x6b\x2c\x4e\x94\xe6\xb3\x3b\x90\x49\x33\x2f\x53\x04\xbc\xbc\x94\x27\xc0\xee\x98\x33\x69\xed\xb7\xcf\xde\xbe\x02\x1b\x38\xaa\xf1\x30\xe4\xdb\x2c\x14\x76\x06\x29\x2d\x05\x39\x43\x0b\x58\xb6\x41\x13\x21\xc5\x4c\xeb\xe4\x0e\x68\xc2\xe5\xa4\xb2\xd1\xe9\xa0\x80\x04\xd7\x68\x3a\xf5\x66\xe6\x66\xd2\x86\x3c\x53\x51\x88\x65\xa1\x2b\x80\x19\xad\x3c\xcd\x2b\x05\x7d\xb8\xba\x12\x36\x83\x98\xe9\xde\xac\x35\x9d\xa4\x55\xb6\x76\x55\x97\x52\x14\x85\xc4\x95\x5c\x5b\x0c\x79\x95\xdb\x73\xd2\xa7\x84\xbd\xb0\x3b\xd6\xb3\xb0\xd2\x16\xfd\x25\x55\x21\x74\x29\x4c\x0a\xbd\x40\x4f\x99\x18\x79\xac\x63\x8d\x34\xfd\x93\x97\x9b\x2e\x44\xa9\x17\xe8\xfe\xc5\x5d\xc2\xe7\x10\xdd\x1d\xe0\xbb\x4f\x63\xb1\x5c\x8d\xb3\xb4\x9c\x83\x6f\xbe\x99\x08\x01\x1b\xe8\x46\xba\x48\x33\x59\xa0\x63\x9c\xdd\xdd\x34\xbf\x24\x25\x68\x29\xf4\xd4\xb3\x06\x17\xb9\xbe\xca\xc9\xb9\x38\x91\xf9\x4c\x15\x7a\x55\xf6\xcd\xf9\xb9\x52\x59\x06\x01\xe6\x65\x99\xce\x72\x4c\x35\x58\x69\x33\x00\x9d\x3a\xda\x49\x0b\xad\x13\xa5\x84\x4b\x80\xa0\x27\xa5\x75\x74\xf8\x50\x42\xf6\x03\x8c\xee\x2b\xd5\x64\x55\xa4\xd5\x9a\xe7\xb3\x50\x79\xb9\x2a\xd4\x89\x9c\xaa\x9f\xd4\x62\xac\x0a\x28\x0b\x68\x38\xed\x3e\xd4\xb0\xf0\x34\x0f\x89\xb0\xb9\x4e\x5d\xb1\xc3\xfd\xdf\x7f\x47\xc7\x70\x4c\x86\xf1\xfb\xef\xfb\xc0\x7f\xd4\x1e\x9f\xd8\xc7\x44\x96\xa3\x46\x99\xd6\x17\xab\x65\x6b\x1f\xf8\xf8\x9a\x3e\x20\xec\xfe\xf7\xdf\xf7\x7d\xb2\x28\xf0\x04\x67\x94\xbe\xdb\x49\x4b\x35\x99\x66\x09\xf3\x03\xef\x3c\xab\x2a\xb5\x58\x56\x84\xc6\x0e\xa1\x92\xb4\x94\x86\x06\xa9\x44\x4c\x53\x95\x01\x7e\x36\x10\xf3\x3d\xe1\xdd\xdf\x1f\x88\x8e\x87\xd5\x91\xf8\xfc\x70\xd3\xa9\x41\x10\x73\x53\xb9\x9b\xce\xcc\x1f\x2e\xa5\x86\xcd\x20\x1f\x35\x3d\xfe\xd0\xbc\x0f\x06\x11\xd2\x69\xb5\x46\xdf\x5a\xb3\x2d\x7a\xfc\xc1\xa0\xa6\x23\xba\x15\x95\x22\x9d\x9a\xeb\x16\xee\x73\x5d\x5c\x94\x42\x4e\x0a\x5d\x96\x22\x9d\x16\x50\x39\x12\xb2\x38\x00\x7b\x30\xd1\x79\xa5\x3e\x55\x25\x6d\xb2\x1e\x7f\xe0\xaa\x0d\x3d\xfe\xc0\xa9\x2c\x80\x9d\x35\xd9\x02\xf0\x3c\xf0\xbb\xef\xbc\xa3\x13\x65\x40\xee\xe6\xda\x0c\x5e\x33\x7b\xbf\x13\x7b\xa2\x06\x5f\xce\x97\xd5\x21\x1d\x88\x04\xc3\xa1\x48\x4b\xa4\x13\xb0\x34\xf7\xaa\x59\x18\x1d\xec\x9d\xd7\x14\x45\x71\xd4\xd6\x65\x08\x3f\xd1\xa4\xff\xa2\x95\x91\xdb\x67\x7d\x69\x93\x79\x9a\x25\x85\xca\x8d\x98\x06\x9b\x68\xdd\x57\xcd\x01\x82\x1f\x96\x85\x5e\x82\x15\x7b\xfc\x01\xdc\xf0\xec\xe7\x69\x9a\x27\xbd\xde\xf5\xc0\x48\xf4\xa2\x1d\x12\x86\xaa\x9a\x11\xcb\xff\x1a\x40\x8c\x33\x3d\xb9\xa0\xfc\x6b\xdc\xc3\x6e\x22\xcd\x2d\x3e\x53\x95\x98\xeb\x0c\xa2\x18\x1d\xb5\xb5\xd9\xda\xee\xdb\x14\x1e\x1c\x7c\x80\x12\x14\xf5\x7f\x2d\x20\xf4\xf8\x43\x3b\x20\x68\x4e\x7f\x15\x14\x42\xc2\xa2\xc7\x1f\x1c\xb3\xfb\xfc\xd9\xeb\xd7\x62\xe4\x8e\x1a\xcb\xca\x35\x91\x59\x76\x0c\x6d\x9e\xbd\x7d\xfb\xfa\x7f\x35\x37\x22\x09\xcb\xb4\xfa\xfe\xd5\xcf\x3f\x34\x37\x1a\xa7\x79\x72\xdc\x48\xc6\x6c\xe3\x76\x42\xf6\x97\xd1\x9a\xbf\x86\xd2\x5c\x87\x84\x16\x69\x00\xec\x5f\xbe\x38\x24\x42\x10\xb3\x1f\x0c\x34\x77\x58\xd1\xb4\x6d\x45\x66\xf7\xfa\x24\x5f\x19\xee\xcf\x88\xda\x7f\xcd\xe2\x30\xa1\xa2\x11\x8a\xfe\xa1\xd6\x57\xba\x48\x90\x9f\x97\x79\x55\x22\x86\xbd\xf9\xf9\xe4\xfd\xb3\x9f\xdf\x9f\x88\x91\xc0\x9c\x87\x3f\xc9\x65\xb7\x77\xec\x12\x30\x9a\x45\x76\x8c\x8c\xd6\x09\xb3\x3a\xba\x7b\x70\x95\x65\xc7\x02\x74\x1d\x9d\xaa\x58\xa9\x96\x66\xe0\xc5\x48\xcd\x40\x91\xd1\xd2\x0e\x95\x1c\xd4\xd0\x85\xae\x45\x8d\x37\x77\x36\x4c\x72\xb7\x0b\xfa\x3b\x65\x5b\x37\x37\x33\x6e\x4e\xf8\x64\x60\xbf\x92\x1a\x86\x3d\xc9\x52\xc3\xf2\x66\xf5\x07\xe5\x5c\x16\x2a\xc1\x2f\xcc\xb5\xd4\x41\xed\xd4\x0c\x76\x56\x7b\x8f\xd2\x9a\x0d\x87\x3f\xeb\x4a\x7c\x5c\xa1\x06\xd3\x36\x41\x11\x82\xa2\xb8\x33\xf5\x69\x48\x79\xac\x21\xb8\x46\x2e\xd4\x1d\xdf\x7b\xc7\xf0\xd5\xe0\xd4\xca\xd2\x4e\x67\x53\x06\x2f\xf3\xf5\xd8\x88\xca\xb5\x97\x9a\xe7\x6e\x26\xf5\x66\xa9\x0a\x59\xe9\xa2\x14\x07\x2e\xfd\xc4\x55\x21\x97\x4b\x94\x57\xc6\x69\x2e\x8b\xf5\xcb\x7c\xb8\xa2\x7f\x3d\x1b\x3b\x9c\xa6\x59\xa5\x0a\xc0\x9c\x37\x6f\x5f\xbc\x7b\xf6\xfe\xcd\x3b\x83\x39\xea\x53\xa5\xf2\xa4\xcb\x10\xa8\x4f\xa7\xa3\xf3\xa0\x73\x14\xcc\xbd\x4f\x12\x6e\x5f\xc8\xbe\x18\xfb\x43\x24\x47\x32\x78\xde\x3b\x16\xe3\xd1\x38\xfa\x89\xa9\x85\xbc\xb9\x46\xd6\x7c\xca\xfd\xb3\x71\xe4\xc3\xec\xca\x92\x3f\x10\xe3\xa6\x64\xc8\xf6\x79\x1c\x22\x48\xbf\xf3\x8e\xc5\x53\x31\x16\x47\x3e\xbc\xf2\x98\xf4\x7d\x9d\x83\x1d\x57\x7c\xd3\x55\xb3\x79\x04\xab\x17\x4f\x85\x14\x47\xe2\x61\x4f\x1c\x84\x4b\xa7\x19\x3e\xe4\x2a\x27\x9a\xe3\xfd\xeb\xe6\x68\x01\x11\x4e\x45\xdc\x17\xf1\xe4\x6c\x8f\xc3\x5b\xf6\x38\x6c\xed\xf1\xdf\x6e\xd9\xe3\xbf\xb5\xf6\x38\x1a\x8d\x6e\xd9\xa7\x21\xfa\x6d\xbd\xee\xdd\xba\xd7\xbd\x2d\xbd\xfe\x89\xa9\x6e\x99\xe9\xad\x27\xda\xda\xe7\x93\x5b\x76\xf9\xa4\xb5\xc7\xef\x6e\xd9\xe3\x77\xed\x73\xbc\xed\xba\x9f\xb4\xaf\xfb\xbb\xdb\xf6\xf9\x5d\x7b\x9f\xf7\xee\xdd\xb2\xcf\x7b\xf7\x5a\xfb\xfc\xf2\xe5\x96\x7d\x7e\xf9\xd2\x8e\x47\xed\x5d\xfa\xfe\xf6\x62\xca\xb6\xe9\x5b\xcf\xe6\xf7\xfa\x42\xe5\xe9\x1f\x68\xb3\xd7\xee\x36\x32\xd7\x22\xdd\x85\x81\xf2\x84\x6e\x9d\x92\x0e\x46\xe7\xc8\x7b\x39\x74\xbe\xe0\x37\xb8\x6f\xcd\xad\xf4\xe2\xe4\xf9\xb3\xb7\x2f\xc4\x48\x7c\xde\xcf\xf7\x8f\xf6\xff\x95\xef\xf7\xc5\xfe\xd4\x7c\x9a\x9a\x4f\x85\xf9\x54\x98\x4f\x95\xf9\x54\x99\x4f\x97\xe6\xd3\xa5\xf9\xd4\xd9\x3f\xda\xef\xec\xf7\x45\x67\xbf\x73\xd4\xd9\xef\x6c\xf0\xba\xdc\xf1\x8f\xe5\xe0\x0c\x0b\x84\x0f\x61\x62\xaf\xd5\x27\xb8\x86\x1d\xe0\x34\x18\x3a\x4b\x56\xa7\x9b\x7e\x11\x23\x41\x9f\x8e\x21\x15\x36\xbc\x19\xe4\xa8\x76\xbc\x0d\x8e\x71\x84\x9d\x03\x78\x33\xf5\x89\xf1\x4a\x95\xfa\x54\x05\x19\xb8\xc1\xb3\x68\x04\x0e\x46\x2c\xc7\x28\x18\xfe\xc4\x48\x3c\x64\xbf\x55\x66\x8f\xac\x09\x05\x7e\xa6\x10\x4a\xf6\xc6\x13\xdf\x69\xad\xc4\x05\xd8\xc7\x5c\x89\x64\x68\x42\x45\xa4\x7c\x07\xc1\x85\x0e\x11\xa1\x23\x03\x7b\x30\x8b\xe1\xb7\xfd\xce\x7e\x98\x22\x20\x2d\x07\x85\x92\x14\x74\xd7\x65\xd5\x28\x18\x1b\x8f\x03\xd8\x72\x18\x54\x1e\xc3\x76\x3f\xe8\x98\xd3\x12\x36\xc1\x9a\x97\x4a\x5d\x74\x7b\xbd\xc6\xe1\xa8\xdd\x96\xc1\x5e\x25\x46\x82\x8f\x0a\x5f\xb8\xf7\xf1\xe9\x96\xd7\xbb\x93\x79\x5f\x74\xba\xbd\xcf\x9b\xd3\xb3\x41\xff\xf8\xe8\x69\xa7\xde\x11\xee\x08\x1a\xa4\x3e\x03\xfc\x8e\xd8\xf6\xf5\x61\x53\x8f\xc4\x64\xce\xed\x51\xfe\xf9\x83\x07\xed\xa3\xff\x36\x4f\x2b\x55\x2e\xe5\x44\x35\xae\xa0\xf9\xfd\xd0\xbe\x3e\x99\x3f\x32\x5c\xf0\xdc\x56\x7b\x46\x68\x1e\x47\x6d\xbe\x85\x36\x8f\x82\x46\x8f\xe2\x10\xa1\xe5\xa1\x18\x79\xee\xf2\x34\x28\x14\x81\x0d\x1e\x45\x0d\x1e\xd5\x5a\x7c\x1b\xb5\xf8\x96\xb5\x00\x49\x6f\x79\x08\xf2\xdc\xf2\x11\xfe\xf3\x6d\xdd\x82\x08\xe0\x86\xb3\xf8\xad\x78\x0a\x73\x3f\x32\xef\x3d\x82\x2f\x8f\x84\x81\x74\xbd\x76\xca\x6e\x7b\x04\xad\xfa\x8e\xf2\x61\xde\xca\x4d\xbd\x37\x3c\x65\x0f\x46\xf8\x02\x1d\xb1\xeb\xab\x66\x80\x3c\x8a\xc6\xca\xce\xaf\xb9\xfa\xb4\xc4\x34\xb4\xb9\x39\xfb\xe6\x0c\xca\x89\x91\x08\x3a\xfd\x70\x66\x6c\x40\x71\xd8\x14\xd6\x72\x47\xc4\xe5\xd6\xd9\x92\x7d\x51\x8d\xb4\x64\x04\xc8\xa0\xb5\x19\xb2\x8c\xdc\x99\xe0\x37\xe7\x70\x60\x8e\xe8\x1e\xf8\x19\xf8\x6e\x0c\x6e\xb0\x8e\x52\x9e\x2f\x25\x5f\x2d\xc4\x48\xa4\x66\xeb\x0e\x03\x8f\xac\x6e\xb0\x0a\xd3\xac\x89\x44\x3d\xdd\x46\x93\xf0\xbd\x9e\x38\xf2\xf1\x40\x76\x5d\x48\x05\x82\xd5\x45\xcb\xea\x76\x1e\x76\x0c\xd3\x30\x99\x1b\x22\x33\x99\x9b\xcf\x9d\xff\x89\x31\xb1\x86\x76\xeb\xa9\x23\x6c\x98\xe1\x66\x9f\xf7\xef\x8f\x61\xe3\x18\xc3\xa1\x78\xf5\x42\x54\x46\xc6\x2a\x45\xae\xf3\x03\xa8\xdc\x02\xd6\x21\xf3\x8e\xb9\x33\xff\xb5\x7a\xf8\xf0\xd9\xc3\x60\x46\x96\xee\x09\x4e\x56\x3b\xff\x2a\xc2\xaf\x55\x87\x47\xcf\x08\x48\x05\x49\x8f\xf2\xb0\xe5\x65\xf8\x15\x06\xc4\xe0\x72\xbb\x0c\x20\x76\xdb\xa1\x24\xeb\x50\xfa\xa3\x36\x83\xce\xb3\x7a\xab\xff\x5d\x6f\xf5\x7b\x07\xa6\x32\x99\xf3\x79\xdd\x0d\xa7\xf4\xe2\xd3\xf2\x8d\x3b\x6c\x5b\x26\x66\x5f\x3f\x08\x16\xf9\x00\xbe\xd5\x6e\x15\x36\x82\x3f\x71\xac\x7b\x70\xbd\xe8\x63\x3c\x76\x5f\xa8\xdc\x85\x69\xa8\x3c\x81\x82\xff\x89\xef\xd6\x60\xde\xb1\xc3\xef\x89\xce\x4e\x2a\xc3\x2c\x30\x71\x0e\xba\x09\xdd\x70\x9e\x8a\x4e\x09\xfe\x37\xf0\x4c\x3c\x00\xd9\xd3\xd2\x56\x8b\xcc\x1d\x71\xea\x7e\x03\x8c\x2f\x57\xe3\x92\x8a\x47\xb1\x99\x3d\x10\x9d\xb3\x4e\xd0\xfb\x11\xe0\xcc\x03\x78\x7c\xdc\x6a\x96\xc9\x0c\xe7\x01\xe9\x92\x90\xc1\x21\x20\x7c\x7e\xb8\x11\xe0\x31\x92\xad\x16\xf9\xe7\xc3\x8d\x48\x73\x6e\xca\x3b\xfd\xfc\x68\x73\x36\x60\xca\x2b\x82\x15\x2e\xbc\xef\x67\xcb\x60\xec\xef\xe1\x86\xf2\x22\x44\x15\xc6\xc0\x62\xd9\x02\x96\x50\x0f\x11\x40\x33\xaa\x81\xf9\x96\xcc\x4c\xa6\xaf\x54\x31\x91\xa5\xea\x6e\x63\x6b\xea\x7c\x0d\xf0\x1d\x8d\x48\xc4\xc8\x37\x2d\xe0\x81\x41\xe6\xad\x97\xad\xa1\x8d\xcf\x1d\x6f\x15\x5f\xb5\x6c\x50\xc5\x99\x1d\x76\x08\xba\xd8\x43\xa4\x1c\x69\x1a\xbf\x89\x5d\xe0\x1d\x99\x33\x74\xef\x5e\x80\x38\x34\xbb\x1a\x97\x45\x63\xc6\xcd\x71\x54\x0b\x45\xfa\x86\x1b\x20\x0e\xc4\x61\x8f\x16\xf2\x97\x4c\xb5\xbb\x47\x93\x75\xd5\x26\xe2\xd9\x7e\x9d\xe9\xd6\xae\xe5\x57\xf9\xa5\xcc\xd2\x04\x4c\xe8\xb9\xca\xab\xce\xf6\x48\xd5\xa0\x46\x57\xdd\x89\xad\xce\xa5\x6d\x62\x46\x9e\x58\x12\x8b\x97\xc8\x99\x20\x01\xb0\x9d\x00\x6b\x42\x85\x16\xe9\x37\xab\xb2\x0c\xb3\x6e\x83\x77\xf6\x91\x20\x40\x51\x19\x26\x1c\x36\x3a\xaf\xf1\x55\xc0\x8f\xeb\x57\x3e\x99\xbb\x8a\x19\x7b\x35\x8e\xbd\xf9\x5c\xf2\x0d\x0c\xc0\xff\x17\x00\x9d\x11\xe7\x2c\x9d\x28\x4b\x98\xd9\x0a\x6c\x7b\x4c\x42\x32\x4d\x55\xc1\x92\x9d\xc7\x50\x47\xe1\x88\x81\xfd\xe3\x4a\xfb\x40\xb1\x6d\xb0\xaf\xaf\x09\x5b\x17\x18\xc3\xca\x09\x6b\x21\xaf\x4e\xec\xef\xd0\xbf\x7f\xa4\xca\x89\x5c\xaa\x30\xa2\xfa\x2f\xdc\x55\x3f\x93\x80\x1c\x40\x82\x1d\x98\x49\xac\x1e\xb6\xf7\xfa\xaa\x53\xe7\xfa\xe7\x20\x08\x37\xdd\x96\x21\x83\x1c\x31\xcc\xff\x1e\x30\xef\x98\x26\x49\x7d\x1a\x2c\x20\x14\x7b\x78\xfa\xaf\x44\x1e\x4c\xcf\x3e\x3f\xde\x0c\xd3\x5e\x78\x87\xb7\x52\x86\x55\x9e\x82\x1b\x17\x01\xf3\xf4\x5f\xff\x5a\x41\x2a\x36\xbc\xd4\xcf\x3a\x5b\xa4\x85\xc7\x41\xcc\xbc\x03\x0d\xb9\x5b\x4d\x0b\xbd\x78\x3e\x97\xc5\x73\x9d\xa8\x2e\xdc\xe5\xaf\xf2\xaa\x3b\x37\x32\xc0\xe1\xdf\x7a\xdb\xe9\x10\xe6\xf0\x59\x8a\x11\xe9\x59\x42\xe1\x4c\x78\x4c\xb1\xa3\x8a\xae\x69\x0e\xbc\x54\x63\xf1\xc1\x26\x54\x09\xe8\xb8\x63\x34\xff\x15\x6c\x96\x7b\x8f\x27\xfb\xa8\xbf\x16\x20\x7e\x33\x82\x6f\x3d\xb2\x6d\xc7\xd6\x1f\x5d\x87\x7c\xfc\x51\x33\xd9\x14\x9e\x74\x22\x78\x3c\x3c\x18\x6c\xa2\xdc\x4e\xf1\x1e\x94\x0d\x98\xbe\x1b\x45\x0a\x84\xc2\x4a\x15\x8b\x34\x97\x46\x2c\x04\x18\x75\x88\x4f\x25\x2f\x97\x4d\x50\x93\x27\x2d\x9f\xd3\x82\xba\xea\xd3\x32\x28\x8d\xa3\x3e\x2d\x9d\x59\x2d\x88\x02\x6d\x52\x81\xbd\x35\xc8\x16\xe8\xc0\x80\x7b\xec\x8b\xbb\xa8\xe0\xeb\x8b\xba\x4e\x2c\x23\xb5\x19\xfc\x7b\xec\xe2\x67\xf0\x05\x31\xb2\xaf\x1e\x5f\xa3\x43\xc3\xa1\x07\xff\xfb\xc5\xbb\x37\xde\x5c\x15\x5d\x4b\xb4\xa4\x87\xc7\x77\x36\x68\xbd\xe2\x06\x34\xbf\x95\xe1\xe6\xa2\xa1\x8f\xba\xdf\xaa\xa3\xc3\x36\x28\xdb\x9a\x8f\x37\x57\xd3\x39\x95\x9c\x87\x8c\xf9\x7f\x97\x18\x65\x47\x7f\xa9\xb2\x29\x36\x83\xa8\x5d\x70\x41\x73\xb9\x15\x1d\x7f\x44\x28\x4f\xdc\x8b\x91\xc0\x1f\x72\xab\x76\x84\x35\x58\x1d\x79\xe5\x15\x0a\xf0\xba\x55\x23\x60\x5f\xa7\x0f\xcf\xe2\x84\x36\xd9\x4a\x31\xfb\xea\xde\x5e\xf0\xcb\x31\x6b\xc4\xcc\xb3\xb6\x95\x47\x2d\x2e\xa6\x5d\xda\xea\x9f\xa4\x29\x28\xd2\x85\x2c\xd6\x2d\x6c\x06\x3d\x3d\x0e\x57\x8e\x6b\xe8\x76\xba\x5c\xcf\x46\x4d\x2d\xe4\x10\xb3\x9e\xcf\x65\x9a\x7b\xf6\x1a\x9e\x98\x69\xad\x16\xaa\xdb\xe9\x75\xea\x4e\x04\x41\xff\xa7\x5b\xfa\x87\x3a\xd3\x3f\xa8\x49\x26\x0b\x89\xd3\xde\xde\xd7\xe7\x2d\x7d\xa1\x43\x61\x5b\x0f\x28\x21\x0c\x3c\xf3\xe0\x98\x73\x7a\x02\xf8\x96\xe6\xde\xae\xdd\x34\x90\xb7\x30\x07\x40\xc0\xb7\xcf\x76\x1c\xb9\x75\x05\xbe\xc9\x35\xab\xb0\x38\xd1\xda\x93\x6d\x10\xf5\xd3\x8a\xd7\x58\x07\xc2\x76\xe2\xa5\x54\x8b\xd9\xa4\x18\x8e\xd0\xba\x00\x7d\x5a\xdf\x7a\xde\x05\x5c\x4e\x37\xa7\xf3\x1b\xa2\x5a\x5f\x74\x4e\xcd\xff\x06\x1d\xce\x5e\x82\x53\xa6\x61\x35\xf0\xd0\x9b\xcb\xae\x1b\xdc\x75\x31\x5a\x12\x96\x3f\x97\x59\xd6\xa5\x67\x6e\x1a\xec\x22\xa1\x5f\x04\x7a\xd8\x37\xdc\x91\xd1\xa0\xa7\xc1\xa0\xfe\xed\xe0\x00\xb5\xa2\xde\x2b\x73\xed\xd8\xe9\x34\x29\xba\xa3\xd1\x06\xb7\x1c\x0d\x3c\x3a\x9f\x81\xab\x67\xdb\x68\xb1\xda\x9c\x33\x57\x3f\xbd\x7d\x73\x72\xf2\xea\xfb\xd7\x2f\x3a\x51\x16\xe0\x40\xaf\xc9\x26\xb1\x45\xbf\xb3\x28\x67\x7d\xa4\x81\xdb\xfc\x56\xcb\x75\x5e\xc9\x4f\xdc\x11\xe8\x04\x7e\xb1\x9a\x12\xb0\x85\x89\x7f\x75\x3e\x3f\xdc\xfc\xab\x23\x3e\x1f\x32\xbd\x89\xf8\xfc\x68\xe3\x92\xf6\x73\xe5\xc9\xb7\x9b\x33\xbc\xae\xc1\xaf\xbf\x12\xa7\x9f\x1f\x87\xea\x14\x41\x1a\xe3\x0a\x50\x14\x26\xda\xc5\x5f\xbc\x86\x97\x69\x59\xfa\xcd\x0c\xaf\x7f\x81\xeb\xba\xcc\x71\x80\x49\x37\x10\xdc\x96\x9b\x65\x04\x37\x8b\x3b\x7f\x75\x20\xad\x94\x86\xe8\x7f\xa6\xad\x56\x39\xb8\xfa\xa9\x9a\x5b\x6e\xa8\x1b\x6a\xd2\x45\x9f\x3e\x3c\x6b\xd5\x23\xab\xc3\xbe\x50\x8f\xfa\x42\x7d\xdb\x17\xea\x71\x43\x01\x41\x38\xee\xcf\xe6\x4a\x26\xdd\x87\x7d\x11\x35\xa7\x6e\xb1\x57\x68\xc4\x55\xd4\xb5\xe6\xdb\xa1\xf2\x9d\x48\x43\x89\xc7\x5a\x1c\xf8\x52\x52\xc7\x5f\x43\x0b\x31\x62\x3b\xcb\x25\x1d\x3c\x56\x0a\xac\x1a\xf4\xf9\x11\xfb\xfc\x2d\xfb\xfc\x38\x54\xa1\x76\xf7\xd4\x21\xe6\x6c\x7c\x84\xff\x7c\x8b\xff\x3c\xee\x35\x44\x5c\xc1\xe0\x5b\x4e\x4e\xa4\x33\xc7\xdd\xbc\x16\xfc\xb5\xc5\x03\xc9\x6d\x80\x3d\xad\x95\x9f\xb9\x90\x7b\x2f\xe7\xe9\x94\x19\xda\xea\xb3\xde\x36\x5b\xba\xd1\x82\xe9\xee\x84\xd9\x5b\x3d\x01\xff\x0c\x6e\xb3\xdb\x26\x80\x0f\xdd\x29\xea\x90\x41\x65\xaf\x11\x2c\x21\xff\xe6\x99\xb7\x3e\xed\x8d\xa1\x20\xa0\x20\x56\x87\x28\x57\x36\x5f\x7a\x4d\xc0\x44\xa0\x91\x93\xd8\x11\x37\x6c\xf7\x45\x91\xce\xe6\x15\xdf\x5e\x88\xbf\xf5\x16\x39\xbd\x3c\x0b\x4e\x6f\xc4\x91\x13\x08\x7f\xc5\xbe\x23\xc7\x84\x28\xca\x7e\x1a\xfb\x20\xe0\xd8\x34\xf3\xbe\x6b\xee\xf8\x76\x78\xee\xb8\x04\xa7\x59\xc9\x97\xab\xaa\x3c\x12\xa7\xf0\xf8\xac\xa6\x58\xb1\x5e\x71\x47\x5c\x7a\x99\x56\x46\x66\xa1\x21\xfb\x22\x2d\xbf\x2f\x64\x3e\x99\x43\x5a\x82\x3f\xb9\xf6\xef\xd3\x5b\x2d\x1e\xe7\x74\x1d\x08\xa0\x99\x67\xb8\xef\xdd\x13\xdb\x81\xb2\xc7\x56\x66\x5a\x9f\xb2\x61\xea\xa0\xe2\x4a\xaa\x46\x9e\x3c\x4d\x38\xaf\xe6\x99\x48\x97\xfa\xee\xb9\xce\xab\x34\x5f\x29\x17\xdc\xaa\xe4\x64\x2e\xce\x19\x93\x78\x6e\xc3\x81\x30\xba\x48\xba\xca\xd0\x2e\x58\xa7\xa6\x76\x02\x94\x06\xc6\x83\x73\xbf\x48\xea\x0f\x63\xee\x78\x2f\x6a\xf0\xa8\x2f\x42\x61\x21\x4d\xc0\x30\x5b\x5f\x84\x35\xb6\xc4\x4b\x63\xe7\x99\x36\x0f\x93\x5a\xbc\xcc\xbb\x69\xd2\x0f\xa4\xd7\x66\x03\x88\xdf\xbd\x46\xa0\x06\x52\x9f\x1f\x9c\x84\xa5\xeb\x11\xce\xc9\xf8\x35\x24\x73\xf2\x56\x0b\x32\x71\x25\x07\xc9\x75\x2d\xda\x49\x2f\x8c\xb6\x2b\x85\xa9\x01\x0b\xde\xb5\x9b\x58\xac\x54\xc8\x36\x37\x5e\xaa\x0f\xc3\xed\xeb\x76\x0c\x61\xed\xf4\xcc\xff\x8e\xcd\xff\xce\x3a\x4c\x05\xe7\xc7\x43\xc5\x4f\x5d\xf0\x0b\x95\xc7\x01\x47\x7f\x1c\x3a\x69\x0c\x87\xa0\x73\x58\xa4\x7f\x60\xba\x2a\xa8\xd3\xaa\x17\x0b\x9d\x8b\x89\x2c\x15\x45\xdb\xba\x94\x60\x10\x13\xaa\x73\xe5\xe7\x30\xe0\x5d\x41\xe6\xf7\x32\xfd\x43\xf5\x8e\xc4\x42\xae\xc7\x10\xc1\x47\xd9\xa8\x8d\xc4\x62\xcb\xe8\x2d\x56\x59\x95\x42\xa6\x2c\xb7\x94\xa7\xf1\xad\xdd\x65\xcb\x64\x17\xd7\x61\x6c\x4e\xf4\xcd\x4e\x1f\x9e\x05\xcf\xfc\x76\x11\xb6\x9c\x78\xb5\x42\x33\x81\xf2\x7f\x0e\x39\x8f\x6b\x8f\x0c\x98\xba\x40\x11\xc4\x48\x3c\xec\x8b\x34\x05\xdd\x61\x34\xd9\x63\x91\x8a\x27\x22\x4d\x8f\x45\xfa\xe0\x41\xd3\x08\xc2\x21\x3f\x5b\x41\x7a\xd6\xee\x46\x8b\x7f\x9b\xda\x2f\x75\x84\x67\xad\xeb\x6c\x0f\x22\x35\x43\x97\x16\xac\x36\xd4\x92\x5d\xdd\x74\xe9\x5b\x36\xc5\xdd\xee\xa1\x0c\xd9\x74\xe1\x77\xbe\x04\xa2\x23\xef\x17\x67\x01\x77\x52\xd3\xad\x6d\x7e\x3f\x8e\xa6\xcc\x79\x57\x43\xe8\x5f\xe6\xb5\x5b\x8b\x6b\xdb\xba\x0d\x64\x8d\x2d\x41\x16\xb3\xf2\x65\x1e\x7e\x8f\x15\x4e\x78\x20\x8f\xf8\xb9\xc1\xd7\x82\x50\x7d\x1f\xbb\x4f\x01\xf1\x13\xe9\x92\xbb\x15\x8a\x22\xac\x05\xa8\x4f\xe8\x0d\x4e\xe6\x2d\xa8\x8e\xc2\xd3\x89\xe3\xb0\x53\xce\x37\xa2\x26\x0c\xfa\xab\x0a\x6e\x40\x33\x1b\x02\xd1\x99\x81\xc0\x44\x56\x5d\x9a\xf8\x97\x2f\xe2\xf4\xac\xb7\x0b\x81\x7d\x89\x50\x6c\x3e\x2e\x6e\x2c\x31\x12\x34\x52\xbb\xef\x3b\xe4\x11\x88\xd6\x06\x85\x04\xf0\x55\x96\xd3\xc4\x9e\x2d\x5a\x7d\xec\x41\x44\x70\x4b\x0f\x0e\x6a\x89\x36\xca\xd3\xd4\x88\x89\x67\xee\xe5\x2d\x07\x6a\x53\x4f\xa2\x62\x73\x1f\xb0\xea\x43\x41\xf6\x83\xb8\x90\xdf\x94\x70\x70\x1b\xd3\xb2\x37\xcd\x07\x98\x85\x70\xba\xca\x0c\x95\xc7\xcd\x19\xa8\x4b\x55\xac\xbb\x5e\x4b\xdd\xab\xb1\x2f\xcd\x2f\xd6\xae\x27\xce\x90\x6f\x2b\x32\x3f\xf0\xbe\xa9\x5d\xf6\xba\xff\x75\x07\x3a\x50\xa9\xc2\x30\x78\x9c\x08\x00\x3b\xd5\x48\x13\xcc\xa6\x37\x13\x84\x51\x4d\x97\xb4\x07\xbc\x1d\xce\xa5\xee\x43\xc8\xe5\x81\xc5\x32\x4b\x15\x77\xb4\x05\x0f\x5c\x23\x0d\x04\xa4\xaf\x49\x37\xf0\x90\x34\x1f\xa4\x1e\x00\xd1\x01\x8e\xa9\xb9\x9a\xc6\x8a\xfa\x04\x1d\x71\xc7\x2a\x49\x62\x73\x05\x2c\xb7\x05\x1c\xd7\x1c\xa5\x67\x1e\xfe\x94\x1f\xb0\x7e\xfd\x30\xc2\x47\xd0\xb0\x6d\x61\xe0\xe8\xc5\x1a\x56\x33\x0c\x64\xc2\x41\x8d\xef\xf5\xc6\x9b\x2d\xe4\x96\x16\xb7\x03\x56\x64\x7a\x96\x4e\x64\xf6\xe6\x1d\xc7\x8b\x45\x9a\x24\x99\xba\x21\x62\x3c\x0d\x10\x03\xbb\x70\x9a\xe7\x08\x7d\x05\xa7\xd1\x4e\xb9\x1d\x11\x50\x87\xa1\xcd\xbd\xc4\x70\x6f\xde\xb8\xf7\xb4\xcd\xed\x3c\x03\x03\x60\xd4\xea\x29\xad\x22\xfa\xf9\xc8\xee\x67\x0b\x6d\xea\x07\xdd\x6f\x11\x81\xb0\xf7\x2d\x52\x91\xef\xb3\xf9\xbe\x68\xdc\x7b\xb7\xa3\xbb\xef\xfe\xb3\x9f\x7f\xb8\x15\x6f\xd0\xce\x1c\x58\xe1\x95\x44\x56\xae\x1c\xac\x0d\x1c\x95\x25\xb8\x6e\x61\xcf\x7e\xfe\x61\x17\xae\x87\x2a\x3f\xdd\x66\x5d\xf7\xee\xdd\x7a\x5d\x7e\xd8\x5d\x57\x65\xdf\xd8\x61\x4d\x58\xbb\x58\xe7\x32\xbb\xcd\xaa\x46\xa3\x4e\xbf\xb3\x67\xfe\x37\xa2\x8f\xa3\x5b\x2f\x93\xcf\xe4\xfa\x25\xfa\xd6\x3b\x2c\x52\x26\x09\xe4\x2b\xb9\xcd\x12\x9f\x18\x71\xeb\x3b\xf3\xbf\x27\x23\xf8\x78\xfb\x15\xfa\x69\x5c\xbf\x3e\xdb\x76\x87\xd5\x91\xf0\x04\x79\x37\x6f\xb7\xc6\x07\x9d\x7e\xe7\xe0\xd6\xcb\x8a\xc7\xbf\x7e\x71\xe1\x1b\x3b\x2c\x71\x15\x73\x19\xbb\xae\xec\x7e\xa7\xdf\x19\x76\xfa\x9d\x7f\xbb\xf5\xea\x68\xe8\xeb\x17\xb5\xda\x72\x3b\x46\x97\x5d\x04\xfc\x5e\x4d\x59\x81\x72\x06\x1a\x70\x1a\x2c\x89\xcd\x6b\x0d\x77\x90\xf7\xe4\xd6\xc8\x3c\x08\xae\x5f\xea\x75\xe3\xed\xb5\x8e\x47\xea\xd4\xee\x6e\x23\xec\xb2\x76\x26\xf4\x39\xd3\x19\xd7\xd6\x06\x09\x12\x0c\xc4\x67\x2e\x62\xb8\x6e\x97\xdd\x45\xca\xf1\x06\xba\x80\xc5\xea\x0b\x0a\x5d\x66\x12\x8f\x86\x9a\x9b\xd9\x94\x62\xeb\x0d\x6c\x42\xb6\x2c\xe2\x06\xbb\xda\x66\x0c\x33\xec\x80\x93\x2d\xc4\x11\x4d\xba\xab\xeb\xf2\x03\xb2\x29\x6c\xc5\x34\x02\x08\xf9\x4d\x3c\x88\x9d\xd8\xd6\x09\x11\xaf\xad\x7b\xb6\xb8\x6e\xc8\x62\x9a\xf7\x3f\xd7\xdd\x7a\x68\x9a\xb6\xb1\xa6\x59\xc4\xec\x04\x93\x29\x98\x75\x35\xdc\x34\xbe\x63\xcc\x38\xc8\x7c\xd7\x8e\xb9\x14\x9b\xa8\x4f\x2f\xf3\x76\x1d\x44\xc8\xf9\x9d\x75\x76\xda\xea\x37\xcc\xf2\xdb\x2e\xd5\x12\x28\xc3\x16\xdc\x54\x99\x82\xdc\x0a\x13\x6c\x6f\x74\xe9\x38\xcc\xc6\x9c\x47\x69\x9f\x01\x21\x54\xd9\x69\x5b\xcf\x81\x85\x6a\xdb\xe9\x81\x1b\x7e\x9c\xb5\xe7\x34\x3d\x6b\xec\xcd\x2a\x87\x76\xc0\x30\x58\xc5\x56\x04\xbb\x50\xeb\x60\x70\xbe\x96\x46\x58\x34\xcd\x88\x2a\x5f\x50\x91\xe7\x4b\x55\xd8\x6a\x85\x7a\xea\x33\x7d\xf0\x64\x1c\x98\x52\x90\xaa\x6f\x16\x4a\x5e\xd4\x96\x8f\x29\x89\x6a\x67\xa1\x29\xb7\xd1\x4e\x13\x64\xa7\xc4\x1d\x11\x78\xad\xed\x84\xe8\xd3\x0b\xb5\x3e\x13\xa3\x50\x09\x57\x3f\x18\xdc\x0d\x82\x81\x7e\x9a\xdb\x34\x10\xe4\x53\x80\x5f\xf9\x69\xa9\x69\x9c\x02\xf5\x14\x98\xb6\xad\x2a\x1f\x8a\x43\xf6\x98\xab\x42\xa2\x6f\xae\x52\x6a\xd4\x4e\xf5\x3b\xe1\xbd\xd8\xe0\x57\xd4\x70\xbc\xdf\x33\xbf\x12\x6f\x55\xb8\x4e\x49\xe6\xd2\x46\xf9\x44\x66\x01\x30\x62\xfd\x90\x78\x2a\x4e\xcf\xc4\x11\xf9\x8d\x70\x3a\x10\xd3\x7a\xee\x8a\xd2\x22\x88\x53\x9e\x54\x72\xef\x08\x36\x45\x3c\x0d\xbf\xc7\x5d\x1c\xb1\x7c\x0b\xd1\x6e\x86\xc4\x1f\xde\xe3\x76\x72\xd0\x5d\x5a\x54\x88\xaf\x21\xeb\x2a\x63\xd3\xad\x86\xb5\x0d\x23\xd5\xda\x9f\x52\xa0\x9d\x35\x9d\x1c\xa6\x4d\x8b\x34\x10\xe1\x3e\x37\x86\xe0\xd5\x68\x20\x75\x4a\x6b\x6a\xed\xa3\x21\xa9\xcf\x34\x6f\x68\x7d\xc7\x91\x95\x57\x2f\x9a\x92\x81\x4e\x6d\xc6\x3d\x4a\x64\xe7\x72\x47\x32\xe0\x5f\x02\xec\x51\xff\x17\x28\x92\x9e\x7a\xb5\xa0\x9b\x2f\xc0\x3b\x68\x75\x24\xa6\x90\x22\xb4\x3c\x7d\x78\x86\xcf\x4f\x0f\xed\x87\x47\xf6\xc3\xb7\xf6\xc3\xe3\x33\x3f\x6b\x7b\x59\xc5\xc0\xb9\x6c\x05\xcb\xc6\xd3\x13\x9b\x5d\x32\x2d\x31\x9b\x3c\x96\xcf\x2c\x75\x4e\x67\x28\xf1\x8e\x7a\x46\xc6\x88\x7c\xf7\x5a\x98\x57\xaa\x0d\xfb\x32\x2f\x77\x27\x37\x67\x6d\xe4\x26\xd2\xa2\x9f\x75\xea\x15\x31\x4f\xc8\x28\x54\x15\x32\xcd\x20\xd1\x90\x5e\x2c\x64\x29\x96\xaa\x10\x2f\x4e\xfe\x7d\x70\xc8\xab\x49\xb6\x04\x95\x08\x36\xeb\xbf\x82\xb6\xed\xc8\x5c\x3c\x33\x10\x7e\x8d\xd6\xc4\x2d\xdc\x05\x6e\x0e\xb7\x1e\x34\xda\x94\xd8\x92\xae\xb1\x29\x41\x87\xb8\x6e\xff\x52\x4d\xf7\x5d\x57\x66\xda\x3c\xd2\x85\x5c\xd7\x18\x84\xc0\x28\x5a\x8f\xad\x61\x93\xbb\x56\x95\xed\xdb\xb6\xb0\x8a\x2d\x98\x78\xa1\xd6\x88\x83\xc4\x97\xdc\x08\x25\x37\x3b\xa2\xe4\xe6\x2f\x43\xc9\x9a\x07\x8c\x33\x43\x85\xac\x06\x8a\x4d\x75\x17\x51\xf3\x67\x40\x40\x08\x0d\xad\x42\xd6\x3b\xf4\x37\x45\xdd\x76\x83\xd7\x6a\x53\x47\x91\xe3\xe5\x0e\x61\xd9\xfb\x29\x45\x79\x5c\xa8\xf5\x7e\xac\x1f\xe7\xeb\xae\x69\x64\x8f\x19\x48\x70\x1b\xff\x8a\x33\xba\xb9\x89\x00\x70\xfd\x21\xa5\xd4\xac\x86\xe1\xdb\x7a\x4a\xdd\x92\xae\x39\xa3\xd8\x9f\x61\x14\xcd\xc9\x3c\x63\x6f\xb6\x1a\xa9\xa2\x73\x4a\x65\xef\x6f\x78\x50\xdd\xfc\xae\x3d\xa6\xb6\x25\x3f\xa4\x77\x6e\x96\x4f\xc4\x27\x16\x19\x0e\x6d\xe8\xc4\x5c\x65\xe6\xdc\xf8\x5b\xf7\x16\xbd\xf9\xb8\x8e\x92\x64\xe6\xf1\x87\xbe\x58\xca\x6a\x6e\x24\xf4\xea\x9f\x28\xb5\x50\x36\x39\x84\xfa\xd6\xcc\xa6\x88\x29\xec\xb6\x13\x23\xe8\x6d\x50\x2e\xb3\xb4\x02\x87\x9b\xbe\xc1\x73\x03\x83\x70\xd7\x8f\xed\x1b\xde\x79\xe3\x30\xd8\xeb\x2d\x42\x92\x7d\x93\x1c\xfe\xf8\x6c\x84\xf3\xfc\xd7\x4b\x55\x54\xeb\x37\xe3\x0f\x2d\x12\x0c\x88\x1a\xf1\xab\x20\xb1\xb0\x77\xb9\x9f\x39\xef\xd0\xe3\xb2\xed\x09\xdc\x97\x5d\x13\x7e\xba\x20\x6f\x60\xfc\xd0\x3c\xba\xed\x0a\x77\x5c\x0d\x9b\x99\xdd\xda\x63\x1f\xe9\xe2\x7f\xa2\x74\x93\xd6\x21\xe9\xb9\x9c\xcc\x95\x2d\xb2\x16\xe5\x05\xac\xb5\x7b\xf1\x69\xa9\xf2\xd2\x30\x83\x51\x4b\x1e\x40\xf4\x16\x33\x3f\xaf\x7f\xb0\x99\x3b\xa3\x7c\xc5\x41\x04\x0e\xa5\x06\x16\x1d\x26\xba\x76\x78\x74\xd1\xab\xb0\xee\x1b\xb9\x48\xef\x7f\x9f\xc9\xc9\x85\xf8\x51\x67\x6a\xdf\x20\x40\x2a\x73\xcc\x27\x7d\x64\xde\x39\xb0\x85\xec\x3f\x94\x4b\x55\x4c\xa1\x80\xbd\x4b\xb3\x7c\x00\xe4\xec\x00\xd7\x35\x7c\xdc\xd6\xde\xa0\xf5\x81\x32\x67\x1b\x06\x3e\xa0\xea\x6f\xa9\x4a\x86\xff\x23\x2c\xd3\x34\x29\x97\x66\x73\xfe\x6e\x3d\xbc\x2e\xd4\xfa\x21\x9c\x82\x43\xf8\xff\x23\xf8\xff\xb7\xf0\xff\xc7\x6e\xcb\xd0\x27\x13\x60\xf9\xdc\x48\xe1\x65\x7c\xfa\x18\xd0\xb0\xc3\x66\x94\x08\x9b\x1d\xee\xd6\xec\xd1\x6e\xcd\xbe\xdd\xad\xd9\xe3\xb0\x19\x46\x85\xea\x20\xfd\x51\x64\x57\xaf\x63\x74\xd8\xc5\x86\xf5\xf3\x50\x8c\x44\x37\x82\x95\x91\xe6\xb6\xe3\x99\x01\x59\xcf\x88\x8e\x66\x26\x47\xe4\xa5\x58\xad\x59\xbf\x87\xb7\xed\xf7\x70\x7b\xbf\x8f\x6e\xdb\xef\xa3\xed\xfd\x7e\x7b\xdb\x7e\xbf\xdd\xde\xef\xe3\xdb\xf6\xfb\xb8\xb1\xdf\x3b\x75\xfd\x41\x70\x3e\x9a\x55\x07\x40\xc2\x65\x35\xff\x27\xc4\x8d\x75\xf1\xa1\xb8\x77\xcf\x56\x48\x98\xcb\xf2\xcd\x55\xfe\x96\x68\xaa\xdf\x5d\x6a\xe8\xb4\x02\x8e\xa8\xbb\xce\xac\x06\xd9\x46\x7b\xe0\xef\x48\xaf\xfd\x88\x06\xcf\xec\x3b\x86\x88\x3e\x3c\xe3\xf1\x73\x7b\xb0\xeb\x8d\x5d\x6c\x1b\x2b\x52\x41\x06\xa3\x1d\xf2\xd1\x0e\x6b\xa3\x3d\xfa\xba\xa3\x3d\xe2\xa3\x3d\xaa\x8d\xf6\xed\xd7\x1d\xed\x5b\x3e\xda\xb7\xb5\xd1\x1e\x7f\xdd\xd1\x1e\xf3\xd1\x1e\xc7\xde\x59\x6c\x88\x4d\x98\xc1\xdd\xde\x6b\xbf\xa5\xd5\xfc\x45\x4c\x8f\xa6\x79\x73\x0e\xe4\xb8\xf2\x49\xd9\x17\x59\x44\xdb\xa6\xf8\x6b\xbf\x46\xe4\x9a\x93\xcc\x37\x4f\xaa\x8b\x2c\x9a\x73\x11\x0e\x38\x34\x52\x13\x06\x07\xd6\x85\xc0\x0e\xa2\x27\xf6\xa4\x07\xd7\x78\xd3\x91\x7f\xda\x76\xd3\x1f\x35\xb2\x0a\x8e\xd4\x83\xfa\x2d\x68\x71\x6a\x26\x0f\xc2\xa6\xd9\xd3\x69\xde\xf3\xa0\x31\x4c\xb1\x3f\xed\xff\x40\x39\x35\x66\x20\x2d\x07\x46\x2d\x5e\x93\x13\xab\xfb\xc1\x29\xe6\x50\x93\xb3\xf3\x55\xff\x37\x9b\xc4\x9a\x20\x35\x29\x97\x3c\xe2\x23\x1a\xef\x89\xf8\x9b\xe7\x06\xb1\xa2\x58\x74\xcf\xdb\x17\x40\x77\xe5\xbe\x1c\xf2\x2f\x8f\xf8\x97\x6f\xf9\x97\xc7\x67\x5b\x58\x81\x46\xbb\x1f\xea\x39\x6f\x40\x54\x05\x53\x69\x3e\x04\x55\x80\x17\x28\x03\xc9\x1e\xe4\xcb\x6d\x0b\x4c\x1f\x3c\xe0\x73\xdf\xe1\x6b\xa0\xe5\x6b\xfa\x8b\xde\x6e\x05\x45\xcd\x24\xc7\x7a\x26\xea\x3f\x62\xf4\xc1\x20\xc4\x24\x53\xb2\xc0\x7a\xca\x54\xbd\x08\x24\xbd\x8a\x95\x9a\x13\x02\x6f\x0c\x94\x26\xb9\x38\x6f\x95\xbc\xe2\x49\x84\x80\x75\xeb\x05\x7b\x93\x97\x2f\xe2\xbb\x86\x0a\xf1\x44\xb1\x7c\x1a\x90\xaa\xa2\x89\xf5\x43\xf1\x33\x51\xe2\xc1\x48\x74\x4a\x24\x6e\x86\x94\x4c\x55\xef\xf8\x5f\x39\x51\xbb\x6e\x66\x7f\xe8\x70\x99\x03\x43\x54\x55\x52\xc6\x94\x0c\x02\xe0\x6b\x04\xc1\x57\xc7\xb2\x6b\x64\x29\xb6\x2f\xd4\xba\x2f\xc8\xd5\xef\x73\x4d\xa5\x1c\xf2\x00\xb1\x3c\x45\x2e\x09\x50\x07\xe4\x3f\x4b\x48\x6a\x65\x3a\x6a\xc1\x06\xb4\x65\x00\x63\xbd\x16\x89\xf2\x25\x5c\x3a\x65\x07\x0a\xdf\xe4\x6b\x31\x48\x34\x94\xe0\x89\xb7\x8f\xff\x3d\x35\x2f\xb4\x8f\x31\x5e\x55\x06\xea\x54\x14\x07\x31\x02\x2a\xcb\x5f\x29\x2a\xca\x41\x88\x04\x8f\xfa\x50\x69\x23\x9d\x8a\x52\x43\x44\x8a\x48\xa9\x06\x56\xcb\x00\x47\xa2\xd3\xed\x66\xf7\xee\x65\x31\x93\xb2\xdf\x11\x0f\x40\xe6\x7b\x20\x3a\xfb\xbd\xde\xd3\xec\xa8\xec\x75\xc0\x7b\x72\x40\x4f\xb8\xe9\xf2\x36\x1c\x58\xa0\x80\x63\x40\xef\x18\x44\x31\x63\xb8\xdf\x1e\x88\x0e\xe0\x0d\xab\x84\xdc\x86\x2e\x41\x92\x8d\x18\x2d\xd3\x69\xb7\xdc\x72\x3b\x43\x79\xbe\x08\x4e\x9d\x72\x14\x4f\x85\x61\x2f\xe1\x8d\x1b\xc0\x4a\xab\xc7\x1d\x1b\x1f\x74\x5f\x7c\x28\xe7\x69\x5e\x89\x83\xdf\x1e\xfe\xfb\x63\x5b\x05\x12\xee\xc0\x4b\x99\xa9\xe4\x65\xee\xb2\x9e\xe7\xea\xca\x99\x42\xbb\x9d\xb2\xd3\x17\x9d\xcc\xfc\x4f\x95\xda\xfc\x33\x55\x9d\x3e\x8c\xd4\x03\x32\x51\x8e\x2c\x69\x19\x59\x6b\x91\x2a\xf5\x28\xbe\xb6\xa3\x59\x3c\xe0\xb3\x08\x67\xe0\xaa\x5c\x79\x1d\x55\x17\x87\x73\x07\xbf\x11\xe8\xec\x98\xc5\x2b\xda\xca\xa4\x84\xad\xe3\xa3\x88\x7b\x07\x97\x46\xd8\x10\xd5\x11\x77\xa0\x98\x65\x4b\xca\xfb\x69\x4e\xf6\xdb\x38\x19\xbd\xf5\x61\x08\x59\x1e\xd2\x2d\x61\x03\xe4\x5c\xc8\x1e\x6e\xbe\x78\x89\xae\x81\x4b\x00\xf3\x11\x53\x53\x98\x2f\xa4\xa0\x40\xb5\x1d\x28\x2d\xde\x4c\x85\xad\xee\xc1\x8a\x59\x5c\xe2\xa3\xe3\x90\x7f\xa2\x17\xba\x6c\xa2\x2e\xa1\xbb\x43\x0e\xcc\x38\x41\x1d\x18\x41\x22\xf8\xa1\xdb\x13\x47\xe1\xf0\x50\x82\xa3\x6b\x95\xc8\x9b\x9d\x34\x7b\xd7\x57\xc9\x07\xee\x04\xbe\x5f\xa4\x79\xe2\x20\xdd\x5c\x24\xdf\xfc\xf4\x5c\xe7\x97\xaa\xa8\x4a\x57\x3c\x82\xaa\xc5\x63\xd1\x28\xe6\x19\xe2\x3f\x6e\xb0\x18\xbe\x74\xbd\xdb\xea\xf0\xe7\xe7\xe7\x1f\x4a\xf3\x21\x72\x04\xc2\x59\x75\x3b\xab\x52\x15\x03\x33\x4f\xd0\x43\xdb\x66\x65\x88\x99\x84\x26\xac\x81\x37\xff\x7e\x36\x3d\x1c\x7d\x36\x5d\x1c\x75\x88\x25\xeb\x6c\x36\xac\xad\xbb\xbf\x83\xa6\xf0\x2b\x35\xc4\xb6\xa4\xc7\x26\xb7\x1f\x6b\xd2\xed\x0d\x2a\xfd\xe2\xe3\x4a\x66\x5d\xd7\xbb\x9d\x69\x19\xb4\xec\x8b\x4e\xae\xae\x60\x27\x5d\x0b\xea\x92\x5a\x0c\xdc\x62\x59\xa7\x6d\xef\xcc\xa2\xce\xad\x95\xc8\xbf\x89\x2b\xc0\xd7\xce\xcf\xcf\x71\x1d\x77\x58\x09\x6d\x74\xac\xdf\x70\x5f\x1e\xa2\x1c\xec\x17\xa8\x1c\xbe\x58\xa6\x99\x1a\xdc\x09\x6a\x67\xf3\x62\x18\xc1\x14\x36\x6c\x9b\xc9\xfd\xa3\x50\xa6\x3f\x2c\x4a\x86\x21\x6a\xa6\xc3\x24\xa8\xd3\x67\xc1\x6c\x66\x4b\x5d\x9e\x8b\xff\xf7\xff\xff\xff\x88\xf3\xcf\x78\x08\x36\xf8\xd5\x95\x86\x73\xd5\xe3\x70\x0c\x73\x4d\xf3\x2a\x26\xe6\x8e\x4a\x12\x5b\x2b\x4e\x51\x1a\x23\xc2\x35\xb0\xba\x29\x41\x8a\x35\x95\xb8\xbe\xba\xd5\x7a\x99\x4e\xa0\xd6\xa2\x24\xe6\x8c\xdc\xd5\x06\x7e\x7a\xb8\xd0\x70\x76\x23\x9a\x1e\x3c\x43\x5d\xe0\x38\x53\xa5\xc3\x44\x4d\xd2\xd7\xaa\x84\x88\x90\xa9\x2e\xc0\x7d\xa6\x48\x21\xd8\x14\xce\x74\x29\xd2\xdc\x4d\xcf\xc1\x60\xe0\x21\x83\xc5\x52\x0d\xfc\x95\x3f\xa7\x42\x66\xa5\xc6\xe2\xa8\x41\x2d\x44\x52\xfd\xa6\xaa\x3c\x72\x9d\x9a\xb9\xa3\xbd\xc1\x4e\x9e\xca\xa8\xd3\xe4\xaf\xe6\x0a\x6a\x7b\x85\xe9\x1f\x3a\xa5\xa8\xf4\xf2\x00\x4b\xa9\xe7\xe6\x8e\x84\xf0\x57\x5f\x4e\xd0\xf5\xef\xcc\x19\x03\x3e\xa4\xb5\x66\xdc\x64\x4c\x33\xc4\x42\x26\x4a\xa8\xbc\x4a\x0b\x95\xad\x85\x9e\x36\x8f\xe8\x9c\xe7\x69\xe8\x32\x18\x1b\x29\x83\x1d\xf9\x69\x1d\x69\x91\x9a\xd2\x5c\xd2\x5a\xe6\x8b\xd4\x06\xab\x98\xdd\x44\xbf\x48\x5b\xc0\x84\xcd\xa1\x54\x50\x9c\x91\xe1\xbd\x39\x36\x73\xc3\x2f\x89\xb4\x2a\x29\x56\x50\x23\x22\xce\xd2\x4b\x95\x5b\xbc\xa0\xdd\xe5\xa9\xdc\x5b\x4b\xff\x03\x49\x64\xc5\xff\x9b\xea\xff\x9f\x87\xad\xce\x6d\xd1\x17\x70\x30\x30\x48\x37\xd1\xf9\x34\x9d\xad\x0a\x5b\x77\x2c\x21\x9d\xfb\x58\xcd\xe5\x65\x6a\xb0\x12\x61\x40\x34\x3d\x9f\x0d\xb0\x47\x1a\x7e\x03\xab\xa6\x4b\x64\x10\x6a\xa0\xef\xbe\xe5\x43\x77\xbd\x9a\x60\xb2\x45\xb9\xcf\x5a\xb4\xab\xf5\x1b\xaa\xd8\x63\x80\xa0\x61\xa8\xee\x96\x79\x3a\x9d\xc2\x67\x5f\xd1\xde\xa6\xf7\xb2\x0f\xb9\x8a\x8f\x2c\x89\x2e\x6d\x57\x10\xac\x51\x2e\x8f\xdc\x4b\x46\x36\xe7\x32\x64\xc4\x1d\x53\xbe\x66\x2f\xb6\xf9\xb6\xc1\x10\x7c\x5d\xb7\x1f\xcb\x45\x37\x0b\xd1\x50\xc0\xfb\xaa\x90\xcb\x13\x60\xa3\xbc\x6a\xc7\xa7\x4e\xb3\x2b\xb7\x25\x77\x40\x1c\x0b\x9c\x90\xd4\xa7\x65\xc0\x86\x71\x9e\xde\xbf\x15\x19\x63\x7f\x83\x07\x6d\xf1\x85\x82\xdb\x72\x97\xad\xc1\x32\xc7\xf1\x38\x2c\x75\x97\x99\x55\x90\xb6\x8b\x37\x63\xc9\xbb\xc2\x9c\x70\x71\x43\xc7\x44\x9a\x66\x8e\x55\xc0\xd1\x23\x47\x1e\x7a\xc5\xf2\xae\x81\x46\x2d\x5c\xbb\x81\x58\x1f\x0b\x97\x4e\xd4\xb2\xd2\xc5\xcb\xbc\xc5\x98\x22\x9c\x66\xb9\x28\xf9\xf6\x40\x9d\xdd\xf7\xe9\x42\xf5\x11\xfd\xff\xa1\xd6\x6e\x4b\xca\xab\x14\x4a\x53\x53\x06\xef\x60\x23\x05\xc6\x76\x77\xf0\x42\xeb\x1c\x71\x8c\xa2\x7e\x70\xad\xb4\xe2\xaa\x48\x17\xdd\x50\x65\xe1\x8e\x5c\xb3\x0a\x6e\x12\xab\xde\x26\xb1\xca\xcd\xfe\xc5\x6b\x32\x27\x17\xd8\x6a\x3b\x93\xb3\x60\x5c\x34\x74\x46\xef\xc4\xe1\xd5\x16\x1d\x29\xfd\xe6\x43\x2c\x85\xd3\x39\x82\xc4\xc2\xec\xc1\xa1\x7b\x50\x0f\xd0\x26\xc8\x46\x82\x24\x3b\x5b\x04\x1b\x1f\x5e\xf8\x28\x8a\xd6\xde\xdc\x09\xbe\xba\x0d\xf4\x64\xa3\x0e\xb7\x96\x53\x7f\x14\x3e\x38\xae\x75\x6c\x33\x0e\x1a\xc9\x11\x72\x5a\x77\x79\xfb\x5e\xfd\x85\xa5\x4d\x6b\x68\xde\x40\x43\x7d\x2d\xb1\xe1\x96\x2e\x1a\x76\x6d\x49\xe9\x04\x2d\x6a\x87\xf8\x62\x55\x93\xe1\x6b\x2d\x4e\x2f\x4d\x23\x0c\xee\xde\xbd\x92\xd5\x64\xfe\x83\xca\xd4\x4c\x56\x8a\x95\x2f\xfb\x8d\xff\x1e\xed\x01\xab\x93\x87\x1b\x5a\x1f\x69\x38\xb4\x7b\x6d\x2b\xfe\xca\xa2\x62\x29\xac\xc4\x52\x96\x50\xea\x4c\xc3\x2f\xe4\xd5\x80\x15\xc6\x17\x92\x4a\x64\x57\xba\xd6\xab\xa1\x04\xf0\x46\x0d\x58\x63\xac\x6e\x2c\x93\x04\x6b\x5c\x47\x4b\xbb\x06\x12\x62\xd4\x4c\xab\x6b\xa7\x22\x46\xda\x1d\x40\x5a\x6b\x62\x29\xe9\xd3\x9a\xd6\x88\x80\x46\x8e\x34\xc1\x1e\x18\xa9\x13\x9f\xee\xb6\x35\xb5\x51\xd1\x23\xe5\x56\x48\x81\xaf\x6e\x1b\x37\x44\xcb\x88\xd8\x34\xc0\x80\xbf\xbe\xa9\xdf\x4c\x32\x49\x5e\x79\x1a\x5e\x5b\x4b\x44\xe1\xf9\xa9\x40\x22\x6c\x6f\x85\x80\x0c\x37\xf7\x5d\xbf\x30\x78\x77\xc4\x87\x5d\xdf\x4d\xae\x75\x43\x3f\x7c\x81\x35\xe6\x60\xa2\xb3\x4c\x4d\x2a\xbf\xac\x57\x00\x66\x0c\x7f\x2f\xfb\x22\x4b\x4b\x76\x86\x1b\xfd\xa4\x28\xee\xfd\x1a\x2f\xa9\x5a\x4a\x01\x9e\x4d\x8c\xc8\x3f\xfc\xde\x42\x3a\xa0\x92\x1e\x3c\x6f\xc6\xa1\xad\x0b\x19\x04\xcb\x09\xf6\xdd\x23\xab\x79\xe6\x8a\x80\x60\xf8\x3f\xdc\x22\x07\x87\x3d\xf1\xd9\x25\x41\x59\xaa\x62\xda\x03\xd6\xf9\x4a\x89\x44\x8b\x31\xf0\x44\xe1\x29\x82\x9e\xc0\x11\x8e\x67\x11\x88\x11\xad\xe6\x47\x6d\xa3\xd1\xd2\x32\x4c\xd0\xe3\x8b\xa1\x86\x8b\xfb\x21\x2d\xaa\x35\xdc\x30\x5d\xab\x0a\xe8\x0b\x9d\x25\xa4\x12\xfa\xa7\xd5\x2f\x31\x5e\xce\xb6\xb3\x2a\x52\x08\x75\x0a\xdf\xf0\xda\x53\x58\xb4\xf9\x38\x74\x0a\xd4\xd8\xc2\xc0\xfa\x1b\xc5\x1d\xd5\x18\x29\xf0\x65\x44\xae\x25\x78\xaf\x83\x02\x70\x87\xcd\x15\xd4\xe2\x12\x2b\x6a\xa3\x9e\x01\xf4\x4a\x40\x75\x51\x62\x02\x99\x6a\x59\xa4\x0b\x2c\x60\x6f\xfa\xe5\xef\xc2\x5e\x25\x7a\x52\xf6\x8e\xcc\x29\x11\xd2\x5c\x00\xf0\x96\xf9\x11\xab\xf9\x8e\xd7\x22\xb5\xbe\x3b\x4e\xd2\x7e\x33\xc5\x8a\xf4\xb6\xbc\xbd\xcc\x13\xf4\xa3\x2d\xcd\xa6\xf3\x21\xf8\xdf\x18\x14\xf5\x12\xcc\x04\x66\x57\x0e\x40\x6d\xcf\xe0\xe5\x17\xcc\x55\x80\xf6\x57\x7e\xda\x77\x81\x92\x1f\x78\x38\xb4\x33\x1d\xd2\x2c\x6d\x5d\x7d\x4a\xc9\xa3\x12\x71\x20\x12\xa5\x96\x07\x40\x50\x49\xb6\x5b\xd8\xb0\x1b\x03\x12\xed\xf9\x95\x3a\x89\x09\x52\x61\x07\x44\x76\x38\x34\x0f\xb3\x83\x6a\x5e\xe8\xd5\x6c\x6e\xaf\x51\xbf\x27\x36\x7a\x39\x88\xe2\xd9\x78\xaf\xfe\xb7\xae\xa5\x2e\xc4\xcf\xf2\xe7\x3b\x3b\xa3\x16\x54\x9c\x76\x0d\xf6\x46\x23\xdf\xfa\xde\xbd\x5a\xe3\xbd\x7a\x07\xbd\xe6\x03\xd6\x70\xc7\x38\xf3\x5e\x5a\x56\x2a\x87\xb4\xd0\x00\xef\x17\xb4\xb8\x7e\xed\x5a\x69\x48\xa3\xf2\x82\x29\x9f\x1a\xee\xe2\xbb\x77\x29\xb1\x4b\x54\x4d\xc6\xfe\xd5\xef\x51\xf7\xc6\xa8\x95\xf0\xb5\xdc\xbd\x7d\x71\x7a\xd6\xf3\xf8\x06\x3c\xa6\x2c\xab\x77\xaa\x5c\x65\x55\x20\xf7\xc5\x33\x0f\x93\x35\xc5\x21\x8a\x59\x02\xe3\x5a\x24\x6f\x25\x55\x60\xd9\x48\xf3\x14\x8e\x75\xa9\x17\xaa\x02\x9c\x5c\xe5\xe9\xc7\x95\x72\x85\xb6\x01\x75\x4a\x32\x7e\x4d\x65\x9a\xf9\x5a\xda\x0d\x00\x8d\x7f\xa2\x94\x9b\x01\x3a\xc1\x36\x0e\x90\xab\xe8\xb6\x51\x54\xd8\x79\xdc\xf1\x5e\x64\x7e\x2e\x0c\x8a\x05\x4b\x8c\x47\xa5\xf7\x8e\x63\xa1\x66\x2b\xd5\xf6\x3d\xf6\x43\x18\xf6\xe2\x0b\xce\xef\x52\x03\x0a\x35\x8c\x2d\x6a\x7b\x12\x2e\xe0\xde\xbd\x88\x12\xb1\xb1\xaf\xe1\x8c\x38\xc2\xb8\x66\xed\x47\xa4\x9e\x66\xa7\x86\x31\x74\x2c\xcb\xeb\x63\x27\x5a\xb0\xb2\xdd\x3b\xbb\x69\x18\x0a\x86\xfa\x8b\x70\x34\xbe\xd0\x77\x42\xbd\xb2\x05\xf7\xb0\xf8\x84\xcc\x67\xa8\x65\x41\x6a\xec\x9e\x7e\x15\x10\xed\x86\xde\x2e\x46\xac\x86\xe1\x76\x7a\x86\x28\xfb\xa9\xde\x12\xef\xd9\x16\xf5\x6a\x67\x60\xcb\x66\xfe\x59\xe4\xde\x84\x37\x30\xad\x23\x9c\xc0\xcd\x8e\x60\x3d\x0f\x55\xfd\xdc\x5c\x7f\x6a\xe2\x2b\xaa\x49\xfe\xfa\xb3\x77\xd4\x2a\x07\xdc\xec\xc3\x04\x03\xde\xcd\x19\xd0\xa1\x81\x18\xb5\xe0\x32\x9f\x54\x1d\x85\x9d\xa7\xdb\x56\x80\xb1\x22\xea\x5e\x04\xc5\xf5\x74\x2f\x1d\xa2\xf4\x45\xad\x7b\x37\xe9\x38\x4c\xd7\x96\xdf\x76\x46\x55\x0b\x9f\x08\xaf\xec\xcf\x14\x0d\x58\xcd\xd3\x12\xe2\xf9\x56\x90\xba\xaf\x31\x12\x26\xac\xeb\x7d\xd9\x40\xb0\x09\x50\x77\x97\xba\xac\x7e\x48\x67\xaa\xac\xe2\x0a\x0f\xe1\x21\xf2\xbd\xb9\xf5\xd4\xd0\x5f\xd8\x8d\xe8\xd6\x34\x52\xec\x73\x53\xa8\xe6\xcd\x90\xab\x49\xf4\xff\x6f\x1c\xfb\x3a\x38\x06\x76\x7a\x44\xb1\xfa\x88\xed\xa8\xf6\x2c\xcb\xbe\x2e\xb6\xb1\x0e\x39\xc2\x35\x22\xd8\xae\x28\x65\xef\x6d\x1f\x69\x51\x9b\x76\x74\xb3\x49\xf7\xbc\xa6\x8f\xb5\x0e\x60\x97\x36\x04\xc8\x7b\x46\xd4\x35\x03\x7b\xc1\x61\xec\xf5\xc2\x8e\x63\x19\xa6\xee\x29\xe7\x9b\x47\xfa\x92\x9a\xba\xa4\x41\x33\xf9\x95\x8e\xc6\x0d\xcf\x43\x30\x95\xaf\x71\x20\x6c\x87\xbb\x9d\x88\xbf\x8c\xb4\xd6\x30\x70\x57\xe2\x75\x43\x7d\x5d\x98\xa6\x30\x7a\xd6\x02\x3d\xee\x43\x78\xad\x86\x35\x52\x61\x06\x22\x57\xa1\xc0\x1f\xe4\x37\xdc\x61\x06\xb0\xb0\x57\x90\x5c\xb7\xa8\x63\x83\x6a\x80\xad\xaf\xfe\xd6\x3a\x0d\x70\xbe\x0a\xe6\xf2\xd4\xc3\x93\x7e\x77\x30\xad\xa3\x51\x9b\x3f\xaf\xcd\x7f\xdb\x8c\x7c\x0d\x96\x3e\xeb\xff\xc4\x37\xc1\xa2\x5f\xf3\x3b\x1b\x9e\x04\x98\xd6\xf9\x5f\x31\x53\xdc\x3c\x62\x01\x6f\x30\x5f\xeb\x4b\x0a\x79\x96\x5d\x82\x24\xc5\xbb\xe8\x94\xb6\x67\xf4\x35\xe0\x6f\x1a\x61\x24\x05\xe7\x11\x33\xdf\xb4\x14\x36\xdd\x44\xd7\x48\x00\xe3\x34\x4f\x0e\x74\x3e\x51\xbd\x1a\x44\x23\x1e\x45\x3c\xb5\x63\x1c\x45\x29\x4d\x78\xb6\x85\xb7\x85\x5e\x4a\xc0\xa2\x08\x87\x4b\xa1\xad\x43\x46\xa3\xb2\x84\x9d\xa8\x6b\x35\xfa\x01\xee\x5e\xdb\xda\xa0\x73\xc3\x80\x7c\x3f\xa7\x3b\xd9\x3d\x6a\xa7\xd2\xe2\x93\xd3\x03\x87\xb4\xc0\xa7\x6a\xe5\x63\x0d\x87\xe2\xd5\xd4\x67\xcf\x96\x01\xee\xf6\xc1\xa1\x37\xd7\xd1\x89\x04\xa0\x41\xc1\xe4\x78\xe7\x45\x96\x5e\xa8\x08\x51\xb0\x21\x5a\xec\x4a\x71\x60\x33\xcb\x97\xe5\x6a\x81\x26\xab\xb1\x12\x52\x2c\x57\x85\x4f\x7b\x61\x93\xd0\x4f\x33\x39\x9b\xd9\xa4\x11\x6e\xfa\xdb\xe1\xb4\xd5\xba\x32\xb5\xca\x23\x23\x9e\xc7\x10\x3d\x6b\x33\x98\x4f\x59\x91\x8b\xcd\x59\x50\x8f\xad\xcd\xdf\xf0\x23\xf9\x91\x7d\x5c\xa5\x85\x2a\xc5\xdd\x42\xeb\xea\xc4\x9c\xa7\x16\x97\x96\x67\xb6\x0f\x94\xc8\xe7\x2a\x5b\x96\x62\xad\x57\xa2\x58\x79\xab\xbc\x81\xda\x3a\x9f\xcc\x0b\x9d\xeb\x55\x99\xad\xd1\x7f\x9a\x72\xd2\xa4\x45\x90\x66\xbb\x14\x5d\x5d\x08\xf5\xc9\xec\x0b\x58\x47\xcd\x28\x57\xb0\x71\x73\xb5\x06\xdd\x6a\xa2\x73\x25\x96\x85\x9e\x98\xe5\xe7\x33\xeb\x83\x65\xd3\x75\x18\x54\xa8\x05\x84\x2e\x0b\xbd\x48\x4b\x55\x0e\x13\x35\x55\x45\xa1\x12\xa7\x5e\x4e\xf3\x72\x99\x9a\x1f\xc6\x6b\xd3\xcb\xe9\x3f\x8a\xb4\x14\xff\xd0\x57\x32\xeb\x94\xe2\x97\xb3\xee\xbc\xaa\x96\xe5\xd1\x70\x38\x4b\xab\xf9\x6a\x0c\xc1\x23\x17\x45\x5a\x5e\x98\x16\xc3\x8f\x3d\x3b\xfa\xdd\x8f\x81\x37\x4f\x9a\x8b\xea\x4a\x8b\xa9\x2c\xe7\x00\x80\x83\x83\x03\x48\xee\x8e\xee\x70\x69\x29\x16\xba\x00\xbf\xf6\x34\x83\x54\x06\x22\x1c\x56\xe8\x42\x7c\xf8\x65\xa5\x8a\x75\xa7\x14\x3f\xd0\x94\xcd\x30\xe1\xca\x4a\x84\xa4\x41\x66\x24\x0b\xd6\xa3\xaf\x54\x0b\x70\x70\x7b\x71\xf2\x37\xb7\x74\xab\x4a\x11\x89\x9a\x15\x4a\xd9\x89\x7f\x03\x53\x0f\xca\xf3\x21\x34\xc1\x2b\x4f\xc9\x45\x06\x64\xce\xf4\x54\x56\xeb\x4c\xd9\xfe\xcc\x22\x54\x59\xaa\xdc\x90\xc5\x6c\x2d\x3e\xac\xca\x4a\xac\xcc\x86\x98\x0e\x65\x29\xa4\xa8\xa7\x9a\xaa\xe4\x85\x32\x4f\xce\x0b\x55\xea\xec\x52\x15\xe7\x66\x2c\xcf\x40\x90\x9f\x1c\xf8\xdf\x5b\x26\x65\xe0\x76\x96\x81\xcb\x34\xa3\x9c\x33\x6f\xed\x7c\xc2\x4d\x9f\x16\x7a\x01\xb3\xfe\x51\x16\x0b\x9d\xaf\xfb\x66\xa4\x52\x29\x71\xfa\xd3\x0f\x3f\xfb\x6d\x4d\xd4\xa5\xca\xf4\x52\x15\x83\x85\xfe\x23\xcd\x32\x39\xd0\xc5\x6c\xa8\xf2\x83\x5f\x4f\x86\x89\x9e\x94\xc3\xdf\xd4\x78\xe8\x7d\xdb\x86\xef\x6c\x04\xc2\xf0\xef\x99\x1e\xcb\xec\xf7\x37\xa4\xfc\xa7\x69\x38\x84\xf8\x0d\xa2\x44\xd0\xa3\xd2\x81\xe1\x00\x41\xb8\x42\xf0\x39\x03\x41\x1f\xec\x05\x32\xcb\xac\x6d\x9c\x9e\x18\x60\x62\x21\x8b\xb2\xb6\x1e\xbf\xaf\xb2\x80\x13\x2c\x2f\x65\x9a\xc9\x71\xa6\xc4\x5a\x59\xd7\x35\xf1\xaa\x0a\xd0\xd2\x90\x39\x51\xea\xa3\xba\x83\xef\x70\xe8\x8a\x14\x2c\x57\xc5\x52\x97\x0a\xe7\x62\x76\xf9\x93\x34\xa0\x15\x99\xaa\x3a\x96\x00\xe2\x71\xf7\x9e\x94\xe7\x77\x3f\x9e\x03\x2e\x9e\xeb\x8b\xf7\xfa\xef\x85\x52\xd5\xb9\xeb\xd8\x1c\x5a\x3f\x3b\x72\xf9\x9c\xac\x8a\x42\xe5\x95\xc8\xd4\xa7\x74\x22\x33\xf2\xe7\xec\xc2\x29\x9f\x80\x69\x04\xac\xff\x63\x05\x17\xdd\x07\xac\x94\xa3\x0b\xeb\x32\x90\xe6\x3d\xef\x7c\xc9\x10\x68\x9d\x4f\x60\x74\x1f\x46\x7e\xdf\xd2\xf4\xa5\x2a\xa6\xba\x58\xe0\x21\xe0\x14\x49\xe8\x25\x05\xff\xf4\x05\x21\xa6\x19\xa9\x50\xe0\xc9\x8a\x26\x15\xc4\x31\x20\x44\x72\xb9\x2c\xf4\xb2\x48\x65\xa5\x9c\x3b\x23\x91\xb0\xbb\x1f\xbd\xd4\x47\x3d\xf5\xa9\x1f\x36\x17\xf0\x49\x34\xfc\x92\x5e\xc5\x52\xa2\xf3\x5a\x44\xc7\x0a\x0b\x4b\x5c\x4d\xd4\x42\xd8\xc9\x76\x3b\x3f\xaa\x2c\xd3\x7d\xa8\xcf\x0e\x74\xfc\x81\xe8\xec\x39\xa7\xe4\xe0\x7e\xad\xf5\x00\x71\x02\x1d\x18\xc5\xa0\x1b\xef\xc2\x7a\x6d\xc8\x2c\xd3\x57\x2a\x19\xc4\x3d\xfa\x2f\x9b\xbe\x38\x7c\xf8\xf0\xa1\x7f\xbe\xb1\x1f\x37\x6e\x93\x28\x07\x03\xc0\x71\xc4\x77\xaa\xf3\x4e\x8f\xd3\x5c\xfc\xa8\x75\xe2\x46\xa0\x86\x03\x73\x65\x7b\x10\xcd\x68\x96\x0c\x10\x32\x53\x45\xd5\xed\x9c\xac\x28\x91\xa5\x99\xbf\x6b\x66\xe7\xc0\x84\xd7\x42\xc9\x92\xc4\xbf\xa0\x83\x97\x32\xcd\x54\x82\xef\x53\x1b\xfb\x76\xe4\xa5\x2d\x7e\xd6\x95\x3a\x32\x33\x9c\x99\x0b\x78\x98\xeb\x2a\x9d\xae\xc5\x44\x66\xd9\x58\x4e\x2e\xbc\xfd\x8f\x30\x3c\x5b\x33\x4b\xe0\x65\x2a\x01\xa1\x5e\x9c\xfc\x8d\x68\x01\x70\x21\x53\x39\x71\x04\xf9\x47\x7d\xa5\x2e\x15\x54\xbd\x57\x78\x4d\x54\x85\x4c\x52\x4c\xd1\x2b\x9e\x43\x05\x91\xff\x3c\x71\x94\x44\xce\x90\x96\x54\x69\x96\xf9\x53\x86\x17\x43\xa2\x27\x40\x42\xcd\xed\xa6\x32\x7d\x65\x87\x38\x35\xd4\xdd\xf6\xe4\x08\xa8\xc1\x6a\x5d\xca\x0c\x89\xe3\xd1\x70\x78\x95\x5e\xa4\x03\x2c\x59\xf2\xa1\x04\xba\x68\x7e\xb1\x94\xae\xec\x09\x64\x06\xc6\x40\xd2\xed\xd6\x1a\xca\x0f\xac\x81\x5b\x18\x10\x16\xf8\x26\xb1\xc0\x14\xb0\x45\xde\x55\x1c\x48\x49\xe4\x85\x4e\x3c\xb2\x9e\x9a\x76\x92\xdc\x76\x4d\xbb\x14\xe8\x15\x1d\x65\x95\x34\x72\x16\x0b\xb9\x36\xe7\xd7\xfc\x43\xf9\xe7\xa7\x69\x9e\x96\x73\xd3\xbc\x02\x5f\x74\x74\xf3\x5d\xea\x34\x87\x3a\x97\x55\xba\x70\xe0\x7f\x69\xe8\x2c\x9c\x79\x55\x94\x50\x12\xeb\x12\x48\x61\xa2\x64\xe6\x26\xaf\x8a\x42\x17\x62\x2e\xf3\xc4\xfc\xd6\x17\x8e\xab\x30\xc3\x5b\x48\x3c\x7b\xfb\x0a\x91\xa1\xd2\x40\x9f\x39\xc5\x01\xec\x91\x8b\x05\xf4\x68\xd6\x75\x5e\x15\xeb\xf3\xbe\x38\x9f\x18\x06\x90\x48\x29\x64\x08\x3a\x17\x17\x6a\x7d\xa5\x8b\xc4\xf6\x25\x5a\xfa\x69\x88\xda\xf8\xbf\x9d\xa8\x1b\x92\xe2\x40\x3f\x12\x77\x3f\x0e\xe0\x1b\x68\x2e\xac\x5f\xfe\xf5\xb4\xd6\xf6\x30\xc0\x93\xdc\xed\x3c\x1b\xeb\x15\x58\x9e\x80\x90\x04\x24\x91\x68\xa0\x7f\xf9\x7a\x32\xed\xba\xdf\x9d\x5a\x37\xd1\x6a\xd6\xcd\x6d\x49\xb6\x23\xd8\x9c\x5c\x47\x37\x98\x1b\x86\xb0\xf8\xff\x1e\x32\xce\xde\x5e\x2d\x13\x2b\xba\x06\x6f\xff\x1d\x03\x49\xd3\x69\x3a\xa1\x34\x7e\xa6\x1f\x6a\xdd\x76\x1d\x3c\xab\x5c\x08\xb1\x58\x40\x41\x04\x22\x3a\x7a\x7c\x99\x9a\x33\x7a\x35\x5f\xdb\x33\x57\x15\x12\x02\x6c\xcc\xf9\xa8\xd6\x66\xb3\xae\x74\x51\xcd\xe1\xec\x54\x85\x5e\x8d\x33\x35\x00\xd6\x7b\x29\xd7\x7a\x3a\x35\xdd\x4f\xf4\x02\x82\x4f\xa0\xcd\x95\x84\x58\x8b\xd9\x4a\x16\x32\xaf\x94\x22\x3f\x1a\x47\x7b\x0d\xcd\xb7\xe7\x01\xc8\xcf\x42\x5e\xa8\xbe\x61\x7b\x4d\x57\x5b\x45\x99\x55\x6e\x29\xfd\x70\x9c\xe9\xf1\x70\x21\xcb\x4a\x15\x43\x27\x38\x19\x5a\xe8\x00\x33\x58\x24\xf6\xa0\x3e\x4b\xec\xdd\x94\xad\x03\x5e\x49\x2e\x53\x44\xc3\x92\x62\x1b\x16\x4b\x5d\xa6\x9c\x92\x8b\x4b\x55\xac\xc5\x5c\x16\x09\xba\x05\x21\x6d\x05\xc5\xcb\xfd\xe0\xd2\xb3\x77\xab\xe8\x9e\x3e\x7f\x7b\xe2\xee\x27\x95\x0f\xcc\x85\xb4\x54\x49\x2a\xfd\xf5\x44\xc5\xe2\x30\x25\x8f\x21\x2c\x69\x3e\xfb\x1d\x6e\xcb\x5e\x0f\x79\x37\x39\x99\x03\xe3\xf6\xd2\x5c\x12\xe6\x82\xd5\x98\x2b\x5b\x2c\x33\x25\x4b\x05\x52\x82\x59\xc9\xe9\x2f\xee\x06\x85\xde\xae\x15\x06\x85\x02\x28\x59\x50\xa0\xc4\x61\x35\x64\x46\x52\x4e\x65\x86\xe4\xae\x90\x59\xa6\x32\xf1\x41\xa7\x39\x25\xe8\xb5\x80\xf6\x72\x99\xc1\x83\x1f\xd8\x6e\x5a\x80\x83\x63\x71\x0a\xaa\xe2\x09\x5d\x4d\xd4\x28\x2d\xbd\xb0\x01\x12\x2d\x40\xce\x0c\x70\xee\x69\xe3\xf9\x80\x89\x78\xc1\xb5\xa0\x44\x24\x1d\x9b\x0e\x2b\x70\x4e\xd2\x36\x81\x6c\x59\xea\x49\x0a\x51\x59\x4e\xee\xb2\x33\x91\xa5\xb8\x52\x86\x09\x29\x01\xf7\x60\x13\xcd\x46\xc7\x51\x2e\x10\xb1\x93\xd9\x18\x97\x12\x8f\xfc\x74\x05\x90\x59\xe5\xec\x3b\x9e\x14\xe4\xcb\x59\xe7\x18\x30\x26\xab\x15\x0c\x41\x33\xaf\x64\x79\x61\x17\x76\xff\xfe\x4f\x28\x34\xdd\xb7\x51\x75\x07\x4e\xe2\x24\x35\x1c\x86\x14\xd1\x6f\x25\xad\xbd\x48\x2f\x95\xbf\xbe\x2d\x32\x8a\x73\x78\xe5\x7c\x40\x0a\x27\xaf\x02\x94\xc4\x3e\x93\x2e\x44\x04\xc0\x37\x9c\x9e\x81\x3a\x36\x39\xef\x87\x72\x04\x46\x29\xd1\xfb\x70\xf3\x95\x95\x92\x70\xa8\x70\xb2\x40\xe3\x89\x82\xd9\xc9\xa2\xc2\x62\xfb\x5c\xf1\x95\x73\x2f\x34\xab\x8f\xab\xf4\x52\x66\xe6\x56\x46\x3e\xc4\x8a\x0d\x66\x03\xd2\x8a\x98\x31\xbf\x92\x6d\x8b\xb0\xd3\xa3\x8b\xd2\x82\xf2\xc0\x06\x44\x95\x44\x2b\x4b\x1b\x4e\x85\xdb\x64\xf7\x88\x66\xdb\x31\x94\x50\x4d\x56\x40\x48\x70\x9e\x86\x55\x1b\x2b\xc0\x56\xd4\x73\x08\x5f\xc8\xce\x30\x67\xa5\x75\xec\xe6\x40\x34\x8b\x4b\x41\xed\x41\xfb\x98\x78\xa9\x4d\x25\x1e\x19\xde\xba\x60\x3b\x86\x0f\xb6\x13\x8c\x3d\x23\x5c\xa6\x48\x33\xfb\xcc\x86\x32\x7a\x9c\x27\x38\xa3\xfa\x17\xef\x49\x1f\xba\x89\x27\xf6\xad\xe7\xfe\x82\x03\xbb\x8c\x8f\x8b\x39\xac\x10\x48\x95\x90\x58\xc9\xce\x71\x43\x1b\x43\xdb\xe9\x24\x15\xaa\x2a\x52\x75\xe9\x74\x56\xee\x90\xc7\x97\xf7\xb6\xa3\x1e\x2d\x12\x4f\x3a\xd0\x6b\xcf\xaf\xab\xd2\x8c\xbc\x94\x00\x3c\x60\x88\x54\x25\x24\x9c\x4f\xab\x84\x41\x46\x9d\x1d\x44\xb7\x08\x73\x22\x71\x65\x69\x65\x8f\xb2\x27\x6f\x8d\x67\x14\xd8\x04\x22\x00\xcf\x89\xe6\xf7\x91\xd9\xf6\x5f\x11\xf9\xec\x77\x77\x38\x66\xb2\x48\x40\xf9\xaa\xa7\x4e\x5f\xe8\xcf\x87\x2c\x05\xa8\xb6\x84\x60\x67\xaf\x8e\x34\x7d\x9c\xc3\x39\x80\xb4\x04\x8d\x9d\xd3\xc8\xe0\xb2\x75\x41\xcc\x3f\x93\xf7\x02\x11\x04\x07\x91\xa5\x28\xb5\xd7\x68\x59\xb3\x42\xe9\x59\x66\xbc\xe7\x43\xa9\x11\xf1\xdf\x1e\x49\x73\x71\x65\xca\xe9\xc1\x8e\x22\x78\x0b\x3f\x71\x34\x16\x99\x83\x3f\x08\xee\x63\x24\x3a\x91\x80\x1a\x1e\x36\xf1\x87\x2a\xb4\xb0\x17\x21\x9e\x35\x4b\x27\xe8\x54\xa3\x70\x07\xc2\xae\x48\xf3\x84\x58\x80\x7e\xcb\x91\xdc\x76\x16\x05\x9d\x76\xac\xcd\x7a\xdf\x86\x2b\x4b\x7e\x40\xee\x7b\x1d\x69\x53\x57\x4e\x82\xe6\x4a\x63\xda\x24\x1c\xe2\x3c\x42\x20\x23\x55\x05\x28\x64\x28\x79\x85\x91\xb9\xc8\xec\xa9\x72\x87\x5e\x43\xb4\x3b\xa7\x45\x10\xb7\x46\xcb\x9f\xc8\x9c\x78\xbf\xc6\xa9\x4f\xad\x68\x19\xf6\x45\xf4\x0e\xfb\xf3\x87\x01\x24\xc1\x6e\x30\x73\x42\xf6\x72\x6e\x98\x46\x43\x10\xcc\x49\x3d\x0f\x98\xec\x7c\x95\x65\xd1\x91\xe9\x9d\xfb\x4e\xa7\x29\x20\x46\x77\xb2\xfd\x38\x11\xdf\xb6\xd6\x2b\x73\xce\xf5\xb8\x54\xc5\xa5\xb2\xd4\x16\x54\xb4\xab\x6c\x9a\x66\x19\xe4\xf7\x0c\xd0\xd0\x48\xec\x16\x1e\x7d\x5c\xd9\x18\x85\xa9\x44\x43\x64\x4f\x5a\xcd\x8d\x74\xb5\xd0\x49\x3a\x5d\x5b\x26\x00\xa6\x45\x19\x16\x78\xde\x6d\xc3\x05\x54\x5a\x14\x0a\x19\x33\x03\xd5\x55\x31\x51\x70\x0c\x13\x54\x67\xd3\xcd\x9b\x29\x99\x1f\xac\x96\xc8\x71\x40\x0e\x0d\x32\xd1\x24\xa8\x76\xf7\x71\xcc\x9c\x26\xb8\xad\xd1\xfe\x12\x19\x88\x13\xcb\xff\x4d\x57\x59\x86\xfd\x07\xdc\xef\x75\x7c\x20\xf2\xa1\xcf\xde\xbe\x3a\x70\xda\xe2\x6f\x68\x54\x82\xbf\x05\x7f\xcf\xec\x20\xed\xbf\x39\x4b\x69\x3e\xd5\xc5\x42\xf2\x24\x0c\xdf\x08\x28\x25\x4a\x51\xe3\xc0\x22\xd2\x93\xef\xd5\x44\xae\x4a\xe5\xc8\x3f\xdc\xff\x48\xbe\xe8\x84\xf1\xcd\x10\xe1\x69\x8b\x38\x88\x3e\x99\xb7\x94\x2c\x53\xa4\x61\x4b\x4c\x2c\x03\x1a\x07\xbc\x83\x84\x14\x13\x33\x15\xce\xad\x36\x68\x92\xe9\xd1\xf7\x98\xe1\xd4\x7c\x7c\x16\xc9\x7f\x48\xc3\x98\xf8\x45\xa7\x8e\xa8\xe4\x03\x71\x18\xc8\x5a\x4e\xe5\xe0\x7a\xae\x91\xf0\x74\xb1\x30\x42\x40\xa5\xb2\x35\x65\x75\xb2\x43\x07\x74\x04\xd2\xf6\xd8\x90\x6f\xd7\xad\xed\x2d\xd4\x3b\xf9\x0e\xf2\x49\xa1\xac\x16\x6d\x2d\x0e\x43\xe9\xef\x15\x80\xad\x01\x58\x00\xaa\x12\x35\x58\x6b\x41\x9e\xdb\x66\x02\x65\x0a\xcc\x32\x27\x1a\xc1\x5a\x48\x3b\x06\x06\x1d\xd8\x08\x6a\xd7\xa5\x6a\x1d\x66\xb6\x70\xc9\xc2\x52\xe0\xb5\x15\x5a\x3c\x56\x85\x79\xa7\x67\xf7\x92\x4f\x6a\x69\x30\x05\x8d\x5f\xfc\x15\x3d\x45\x2e\x5d\x31\x6b\x02\x6a\xc8\xbc\x6e\x6c\x4e\x6b\x71\xac\xda\x85\x82\x32\xdb\xbc\x7b\x67\x7b\x11\x4b\x7d\xa5\x0a\x73\x6c\x41\xfc\x44\xb3\xea\x7d\x71\xd7\x1c\x18\x34\xaf\x2f\x75\x5e\x06\xb6\xd7\x32\x60\xa1\x7e\x80\x80\x6b\x73\x64\x0c\xcf\x57\x5d\x29\x95\xc7\xb6\x31\x03\x44\x30\x54\xc2\x0e\xbe\x07\x13\x30\xa8\xc6\xae\xb4\x58\x18\xfc\x4c\x7c\x1f\x47\x8e\xf4\xdd\xfd\x68\x60\x62\xc6\x9d\x15\x9c\x97\x0b\xa2\xe9\x9d\xb9\x73\x00\xff\xdf\x08\xf8\xc7\x10\x2b\x95\x11\x19\x94\x9e\xdd\x5f\xa8\xc9\x5c\xe6\x69\xb9\x30\x70\xa2\x04\x23\x7d\xba\xbe\x16\x4a\xe6\xa5\x98\x82\x10\x0d\x9a\x55\x39\x73\xc6\x48\xbe\x01\x9c\x76\x42\x1a\x96\xb5\x5e\x39\x8a\x90\xa8\x8c\xe2\x5f\x2e\x35\xe6\xa2\x58\xe5\xb9\x32\x97\x9b\x2c\xd6\x62\x5c\xe8\xab\x12\xf6\x73\x29\xd3\xbc\x2a\xfb\x41\x3d\x17\xcb\x72\xe4\x62\x9a\xa5\x93\x0b\x05\x49\x05\x7e\x7d\x45\x2c\xfc\x2f\x90\x94\x62\x61\x76\x1a\x08\xcf\x54\xc9\x6a\x55\xa0\x3e\x21\x17\x77\x3f\xa2\x05\x1d\xc5\x37\x50\x40\x18\xb4\x10\x13\x5d\xc2\xd9\x18\xaf\x0d\x27\x47\x20\xad\xd2\x7c\x8d\xcd\x27\x3a\xaf\x0c\xd2\x13\x0b\x94\x65\x68\x66\x5f\x2c\x75\x01\xb1\xe0\x96\x00\x60\x4c\x8a\x21\xd2\x2e\xef\x01\x94\xc5\x06\x46\x0a\xf8\x46\xc7\x26\x1a\xa6\x5a\x95\x55\x9a\xcf\xec\x0f\x8c\xd2\x88\xb4\xea\x76\xa8\x06\x76\x99\x2e\x56\x99\x39\x77\x56\xc8\xe8\x93\x82\xd1\x93\x1d\xb3\x2a\xbf\xc3\x5c\x4b\xb7\x55\x8f\xe8\x9b\x78\xb5\x57\x8b\x96\xcc\xbb\xa7\xc0\x51\xb6\x4e\x96\x5e\x5d\xd8\xac\x0f\xb3\x8e\x79\xe1\x8b\xce\xd1\xd1\x1b\x53\x7c\x86\x99\xa0\x65\x6f\x50\xe9\xef\xd5\xaf\x36\x44\x2c\x54\x7f\x42\xd2\x7d\x0b\x1c\x2f\xf9\x79\x0a\xe7\x1a\xd6\x14\x95\x87\x8f\xbe\x65\x23\x0f\x87\x60\xf9\x40\xa4\x30\x1b\xdb\x31\xab\xe8\x78\x3d\x6d\xa2\x15\x2a\x1f\x8d\x94\x40\xdc\x65\xc0\x1a\x0f\x78\x5f\xf6\x96\x1f\xd3\x2d\x76\x65\x6e\xe4\x3c\x34\xb7\x3d\x7b\xfb\x0a\xa5\x92\x2b\xb9\x2e\xb1\x8e\xec\x3a\x9f\xf4\xdd\x75\xae\x0b\x33\x1e\xef\x35\xad\xc4\x4c\x37\x8f\x6e\x5a\xcb\x96\xf9\xdc\x0a\xaa\xde\x49\xc7\x5f\xb1\xee\x60\x57\x3a\x86\x4f\x69\xad\xe3\xe8\x89\xd7\xf3\xa3\x33\xb2\x63\x1f\x5e\xbf\xe1\x98\x48\x88\x6f\xd1\xa6\x47\x1f\xfd\xed\x64\xb3\x09\xf9\x7a\x48\xf4\xc1\x2b\x43\x7b\x1b\x8b\x76\x85\xcb\x8c\x16\xb0\xe0\x86\x60\x03\x9d\x9f\x3a\x26\x09\x10\xa8\xb0\xca\x04\x20\x5f\xc4\x7f\xe4\xea\x2a\x5b\x3b\x99\xd5\xa2\x3b\x30\xc9\xa8\x24\x85\x09\x29\x43\x14\x41\x81\x52\xcb\x45\xe4\x15\x32\x01\x37\x81\x92\x4c\xa9\x26\x3a\x4f\xae\xed\xc3\xeb\x49\xec\x04\x2c\x38\x5c\x82\x24\x2b\xf0\xc3\xcc\x9a\x27\x1d\xe5\x4f\xf9\x25\xc8\x9d\x52\xcf\x79\xe2\xf6\x10\xd2\x9e\x38\x07\x96\x1f\x65\x9e\x64\x51\xfe\x13\xd7\xb4\x2f\x6a\x0d\xa3\xbc\x69\x1f\x5f\xca\x49\xa5\x8b\xb5\x27\x16\x9e\x75\xb4\xce\x50\x1c\x7d\xd4\xa5\xcc\x9e\x19\x24\xf7\xed\x5c\x55\x83\xfa\x58\xc7\xde\x31\xc8\x2f\x34\x5a\x69\x6d\xa1\x74\xed\x5c\xbf\x4c\x6a\xf8\x95\x16\x49\xbd\x11\x65\xbe\xe1\xea\xc8\xed\xe9\xb9\x55\x6d\x71\x83\xe5\x42\xe6\x72\xa6\x8a\xc1\x75\x47\xa6\xb7\x11\xb9\xfa\x54\xbd\x4f\x27\x17\xfe\xa0\x4c\xc1\x59\x09\x94\x59\xf9\x8c\x1d\x75\x62\x9c\xcc\x0b\xc2\xac\x71\xd0\xd8\xf5\x60\x30\xb8\xdf\xdb\x88\x78\xe6\xbe\x7b\xe0\x08\x10\xad\x57\x39\x52\x02\xc8\xcc\x65\xbd\xa3\x80\xef\x21\xe3\x99\x93\x24\x0c\x25\x1f\xaf\x66\x33\x10\x19\x50\xe9\x53\x46\xf9\xc1\x28\x69\x97\x53\x56\x31\x18\x30\x9c\x77\xfb\x62\xd7\xdd\xaf\x4d\xd5\xe7\x11\xba\xfb\xf1\xa7\x34\x7f\x51\x14\x62\x24\x16\xf0\xa1\xdb\xb9\xfb\xb1\xd3\x17\xef\xd7\x4b\x05\x55\x4e\x60\x3f\xbc\xaf\xb3\xcc\xb2\x37\xf9\xc4\x56\x6f\xa6\x83\xff\x32\xb7\xee\x12\xde\x3f\x18\xf3\xa1\x00\x3d\x0f\x1c\xc9\x83\xf4\x3a\x90\x43\x38\x2a\x7f\x59\xbb\x5f\xc3\xf8\x22\xe8\xd2\x3a\x1a\x7b\x57\x3b\x37\x54\xe4\x0c\x9f\x63\xe0\x00\x4f\x71\x58\x4b\xed\xca\x91\xfa\x14\xa6\xe5\xd6\xd5\xeb\x0b\xfa\x81\x56\x77\xe6\x92\x2c\x02\x72\x0a\xef\x95\x87\xc2\x9b\xfd\x49\x2e\x14\xb0\xa6\x1f\xbf\x01\xcc\xa7\x9f\xa3\x6c\x80\x42\xd8\x2e\x02\xff\x3c\xf3\xcb\x73\x20\x6b\xe0\x74\x65\x8d\x09\xe7\x56\xe9\x57\x4b\x00\x27\xad\xd6\xce\x49\x1a\x68\x39\xb7\xf8\x3c\x5d\x19\x2e\x71\xc0\x07\x74\x38\x65\x7b\xdf\x88\x77\x81\xa4\xd9\x64\xa9\xc0\x1e\x86\x77\x18\xeb\xc5\xf3\x48\x46\xf4\xc1\xf4\x62\x7b\xef\xda\x5c\x91\x1c\x99\x08\x8d\xdd\x7b\x48\xb1\xd0\xf1\x52\x8c\xc4\x67\xd2\x43\x1f\x89\x87\x54\xe2\xcb\xbc\x4d\x2f\xf9\x6c\x91\x2e\x03\x94\xb9\xb7\x79\x75\xcd\xfc\x25\x6a\x3b\x54\xd2\x17\x3a\x7f\xe7\x74\x85\x56\x2b\xf6\x7d\x40\xa9\x02\x07\xe5\x78\xea\xd4\x86\x4f\x70\xb0\x54\x79\x82\x29\x41\x1b\x7f\xfe\xf2\x85\x45\x64\x36\xb5\xc0\x44\x07\xa7\x38\xa6\x99\xe1\x0e\xd3\x3d\x0b\x8a\x62\x06\xbd\x92\xce\xfe\x3b\xf1\xb0\x27\xca\xc9\x5c\x25\xab\x4c\xbd\x45\x6f\xcb\x5f\x56\x6a\xa5\x82\xd6\xb5\x6a\x6b\x38\x0b\xc6\x17\x0b\x5b\x8f\x4a\x88\x7d\x50\x69\xed\x33\xd0\xd6\xe9\x3c\x2f\x5d\xcb\x14\x5a\x35\x7a\x4f\x3d\x92\x3e\xa5\xa9\xcf\xb6\xfd\xa9\x8d\xd0\x4e\x27\xa8\x29\xf8\x79\x28\xab\x22\xb3\x6e\xe6\x50\x13\x28\x9e\x58\x68\x67\x06\x35\xdc\xf5\x1d\x42\xb3\x3e\xd2\xb6\xe6\x1e\x83\x95\x30\xa7\x5e\x4a\x70\xfe\x12\xc4\xcc\x3e\x8a\x72\x63\x59\xa6\x13\x94\xe3\x48\x26\x1d\x8c\x0d\xb5\x68\x4d\x82\x7e\x00\xde\xeb\x97\xe5\xc1\x64\x55\x56\x7a\x61\x3e\xa1\x6b\x25\x3f\x62\x90\x82\x59\x7d\x9f\xe6\x89\x4f\xcf\xe7\x69\xee\x35\x14\xd7\x12\xcf\x28\xb1\x1f\x2d\xc4\x67\x9b\xb5\x83\x2d\x39\xba\x21\x9e\xb1\xcb\x60\x9a\xf7\x3d\x5b\x48\x67\x80\xd0\xd0\x1f\xa5\xe0\x84\xe0\x40\xf4\x13\xf6\x7d\x42\x98\x1d\x5d\x2a\xf1\x89\x8c\xca\x0a\x34\x46\xfb\xda\x63\x18\x07\xf9\x3e\x78\x90\x06\xc5\x82\x48\x76\xa4\xe6\xa7\xe9\x19\x8b\x92\x87\x38\x10\xf6\x84\x1f\x45\x7f\xf8\x8b\x75\x7b\xfc\xcf\x34\x8f\x22\x7f\x2c\x1f\x6b\xa5\xb9\x69\x8e\xa0\xa4\x42\x67\xcd\x95\xce\x02\x12\x50\xcb\x33\x50\xef\x94\xf7\x58\xeb\xb0\xf9\x45\xac\xa2\xdc\xfc\x9e\x8b\x05\x00\x4a\x21\xba\xc1\x69\x8c\xba\xe0\x2f\xc6\x6c\x49\xb7\x56\x43\xb9\x86\x63\x8d\xa4\x2d\xc0\x35\x0f\x8f\x1a\xce\x7c\xf9\x22\xf6\x02\x54\x09\xf9\x88\x56\x4c\xf3\x3c\x85\x65\xa9\x02\x9f\xa4\x26\xc4\x3f\x76\xf5\xc2\xf8\xec\xfd\x9d\xc2\xaf\x3c\x8f\x64\x90\x7b\xcc\xde\x8a\x38\xe2\x70\xf8\xb3\x53\x1d\x55\xda\xfa\x24\x8a\x55\x3e\xd6\xab\x3c\xf1\x26\x59\x71\x34\xf4\x3d\x5a\x77\xd8\x11\x27\x00\x18\x44\xc6\x9f\xd3\x10\xf4\x13\xa5\x09\x6f\x7b\x03\xbc\x61\xd9\x0b\x64\x9f\x6a\x7b\x01\x1f\x7b\x18\xfc\xc0\x74\x2f\xd1\xc5\x4d\xb3\x39\x6a\x89\x55\xf4\xe5\x09\x09\x93\xc2\x2b\x2f\xe6\x05\x4d\x73\xa8\x7a\x30\x1a\x05\xe0\xe5\x38\x49\x77\x21\xa1\xa4\xe5\x81\xbb\x0c\xf1\x3b\x1f\x27\xeb\x49\xa6\x3a\x3c\x7f\xe4\xfe\x0b\xcb\xca\xdb\x1d\x43\x5b\x45\xa8\x03\x26\x23\x14\x19\x2e\x64\x2e\xd2\x0a\x8a\xa3\x77\x3e\x3f\xdc\x74\xf6\x83\x6a\xd8\x32\xab\x97\xa0\x8c\x8e\xa0\x9b\xa9\x73\x83\x88\xb3\x42\xd8\x4b\xd5\x35\x6a\x83\x23\x54\x5f\x9c\xab\xdc\xdc\x00\xa5\x0f\x3a\x85\x4c\x20\x8e\xaf\x67\x3b\xe8\x3a\xec\x87\xf0\xea\xb5\x13\xb6\x6e\x5a\xda\x6a\xad\x66\x64\x48\x75\xcf\x53\x73\xf7\x7a\x3d\x0c\xe7\x01\x25\x99\xb8\x77\xcf\xfc\x03\xd7\x79\x6b\x5c\xb0\x79\x18\x91\xc8\x2d\xc8\x20\x46\xe2\xe0\xf0\x38\x68\xab\x72\x97\xe3\x1b\x56\x0e\x45\x3d\xcc\xbf\x87\x67\x75\x54\x6d\x25\x84\x8d\x63\x5e\x7a\x85\xdf\xf1\xce\xf3\x0b\xa6\xd7\xce\xa9\x45\xef\xef\x4c\x6e\x71\x65\x37\x24\xb3\x7d\x2b\x03\x45\xb5\x47\x99\xbf\x9e\xdb\x9b\x1b\x1c\xc5\xf0\x98\x79\xc7\xbe\x08\x6b\xaf\x19\x74\x2b\xe8\xb1\xf1\xf1\xb6\xa6\x0e\xf2\x8f\x6c\xb3\x9b\x42\xdd\x4e\x16\x11\x85\x4d\xd5\x32\x78\xe1\x21\xf3\xde\x01\xa3\xe6\x19\x85\xdc\x0f\x1d\x9d\x6d\x73\x7f\x32\x32\x6c\xfd\xbd\x7b\xac\x6b\xfe\x85\x78\x18\x8e\x06\x8d\x17\x55\x40\x7b\xfc\x3c\xfb\xc4\xfe\x73\xc4\x6c\x64\x99\xe2\x01\xb7\x64\x46\x11\x5e\x98\x72\x6f\x85\xbc\x13\xfe\x39\xf7\x86\xa8\xdd\xb7\x51\xbb\x90\xd6\xf0\x11\xac\xff\x2f\xa3\x19\x5e\x3e\x79\xea\x7a\x65\x7b\xe5\xa3\x00\xe2\x74\x10\x8d\x27\xea\xda\x43\xc4\x8f\x52\xfc\x79\xd3\xc4\xd1\x1c\xef\xa6\x3f\xb8\xfb\xf1\x1b\x3c\x1c\x7f\x42\x7b\xe0\x6e\x2a\xf2\xdd\xf4\x46\x55\x66\x46\x77\x36\x35\xb2\x97\xab\x24\xf6\x48\x93\xcb\x54\x90\xc9\x66\xac\x70\x8c\x15\xa5\x00\x9d\xea\xe2\x4a\x16\x49\x60\x10\x6b\xb2\x39\x83\x23\xde\x5a\xaf\x30\x18\x90\xbb\xe5\x9b\x91\x33\x59\x56\xcc\xd9\x0a\x87\x60\xd6\x56\xd3\x5b\x1f\x5e\x4f\x74\xde\x41\x5f\x01\x33\xfa\x95\x2e\x8a\xb5\x90\xe0\xfa\x9d\x56\x5c\xc5\xf1\xdb\x1c\x52\x82\x2f\x96\x12\x6c\x68\x56\x87\x51\x0e\x79\x64\x1d\x68\x47\xe4\x22\xcd\x52\x59\x84\xf9\xba\x8b\xf5\x10\x90\x61\x08\xee\xfc\x70\x53\xe4\x17\x60\x79\x85\x24\xe8\xe4\x5a\x67\x3d\x85\x22\xa7\x7f\x03\x02\x1f\x7d\x66\x61\x98\x95\x9a\x0c\x8c\xb8\x1b\x08\x0e\x12\xaf\x85\xcc\xc9\x45\xe9\x32\x95\xf1\xf2\x43\xdf\x25\xb0\x2d\x9a\x57\xd1\xf2\xe2\xb7\x00\xf2\xb3\x42\x53\x97\x53\x0e\xdf\xb7\x6e\x03\xd6\x95\x05\xfb\xb7\x6e\xff\x4e\x2a\x33\x7d\x52\xf2\x56\xb1\x5f\x28\x58\xd3\x3e\xeb\x75\x6c\x43\xb0\x31\x4b\x6b\xab\xf3\x61\x08\x23\xbe\x29\x64\x06\x14\x37\x77\x39\x10\x3e\x22\xac\xb4\xee\xe6\x09\xcf\x32\x65\x80\x62\xf9\x5e\xdb\x73\xf0\x9a\xfb\x73\x48\xa7\x33\x70\x21\x41\x85\x97\x75\xd1\x12\x4d\xde\x0d\xc7\xf6\xf7\x16\x6f\x76\x36\x0c\x80\xea\x88\x94\x05\x0c\x78\xe9\xd4\xdb\xde\x65\x9e\x34\x4d\x2d\x9e\x3e\xce\x34\x57\x57\x24\x13\xbc\x29\x30\xf3\x53\xd3\xbb\xc0\x70\x5e\x99\xcd\xe6\xd8\xe0\xb7\xa8\xd2\x0d\x50\x41\x8d\x2a\x91\x34\xbb\x9e\x60\x41\x50\x87\x2d\x5e\x0a\x82\x7a\xa2\x2f\xad\x62\x93\x03\xac\x36\xdd\x63\xdf\x66\x53\x03\xaf\xf3\x52\x0d\xd8\x83\xfb\x9e\x72\x92\xd7\x86\x27\x76\xa4\x8d\xbf\xbf\xa1\xbb\x5f\xd8\xf2\xcd\x7d\xb1\x30\x72\xd2\x4c\x31\x7d\x37\x6c\xaf\x0b\x59\x72\x2a\x53\x6b\xf7\xaa\xf9\xe1\xdd\x89\xb4\xa3\xce\xe0\xe4\x95\xa3\x01\x45\xbd\x92\xe6\x5c\x17\x4a\x26\xeb\x6b\x48\xab\x23\xa8\x77\xb8\x0e\xd5\x49\x5d\x2d\xdc\xcf\x56\xad\x24\xbb\x03\x9b\x58\xac\x56\xd5\xde\xc6\xd5\x7a\x5e\xc8\x0b\xf5\xd6\x49\x9f\x4e\x4c\x65\x3f\x5b\xb5\x99\x5d\xdc\xce\x13\x33\xa8\x15\xbf\xc4\xa6\xcb\xbd\xba\x89\xc9\x0a\x99\xee\x70\x61\x41\xc3\x5d\x57\x17\xea\xeb\xf8\x02\x9b\x55\x83\x69\xf9\x8e\x26\xcc\xd4\x79\x91\x39\xc3\xfc\xf6\x66\x55\x61\x3e\xde\x7c\x95\x11\xe3\xcf\xd9\x93\x48\x80\x71\x3d\xf5\xea\x1d\x38\xe6\xc4\xc1\xa0\xce\x80\xd0\x42\xf9\x9e\x28\xd2\x3a\x06\x00\xc1\x61\xa9\xc9\xeb\xf4\x42\x75\xc3\xe1\x7a\xb5\x2e\xc3\xe7\x11\xe9\x6d\xd0\x7f\x36\xa0\x85\x07\xd9\x8d\x34\xa9\xc1\x62\x98\x1a\xd5\x77\xd2\x86\x14\x3b\x4f\xe4\x86\x8c\xd6\xd5\x5c\xe5\x37\x66\xb3\x7e\x2b\xe4\xb2\x8c\x43\x22\x31\x98\x08\xb2\x4c\x90\x2a\xc0\xdc\x30\xdd\x6f\x0b\x74\xc9\x5e\xa3\x04\x7c\x00\xf1\x77\x9e\xe1\x81\xb4\xbc\x77\x3f\x32\x33\xb6\x60\xc9\x11\xc8\xa7\x12\x1c\xa4\x1b\x59\xa8\xc6\x39\xe8\x22\x8c\x6c\xf2\x1e\x9e\x02\xee\x23\x1c\x83\xf3\x09\xe8\x34\x04\x5c\x82\x14\xe8\xb4\xe9\x82\x41\x3a\xd0\x47\x55\xac\xca\xca\x5a\x82\x6a\x14\x19\x17\xfc\x4f\xbf\x6c\xe7\xac\xb2\x33\x59\xb5\x7e\xee\x68\x1d\x75\x10\xe4\x1d\x0d\x5d\xad\xd1\x2b\xd4\x25\x84\x0a\xec\x3e\x13\x6c\x54\x51\xb4\x1b\x15\x76\x27\xae\x75\x6a\xd5\x48\x7e\xf0\x08\x5d\x37\xfa\xf1\xcd\x30\x53\x66\xd9\xcd\xf9\x7f\xbd\x18\xa7\xb9\x2a\x7d\x38\x86\x63\x7a\x09\xd5\xc8\x4b\xbd\x55\x3c\xc0\xd8\x06\x9f\xda\x00\xf2\x98\x60\xe7\x3c\x83\x81\x77\xbf\x6d\x40\x88\x67\x45\x21\xd7\x83\x27\xb4\xd9\xdf\x7d\xa1\x3a\x6f\xee\x87\x8d\xef\xea\x59\x8e\xc9\xa2\x05\xc4\xe7\x96\xf3\x28\xb4\xea\x5a\xec\x69\x5a\x4e\xcd\xdd\xd4\x9e\x14\x18\x69\x68\x87\xc1\xfc\x25\x8e\xa7\x52\x72\x62\x75\x78\x13\x5d\xa0\x23\x0d\x58\x15\x22\x96\x9a\xbc\xa9\x4a\xb3\x4b\x90\xfc\x7c\x78\xa1\xd6\xd6\xe0\x6a\x9d\xbb\xcb\x73\x36\xd8\xc0\x0e\xf1\x0a\x9d\x4b\xc3\x88\x8e\x32\x04\x7f\x14\xde\x43\x65\x92\x10\xdd\x98\x53\x71\x2d\x24\xc9\x8e\xe1\x45\x3a\x33\x41\xcf\xe7\xa0\xb3\xb6\x3d\x46\x3c\x5c\x37\xcb\xba\x76\x2a\xfc\x80\x30\x07\xbb\xf0\x88\x78\x4d\xe6\x44\xaf\x72\xac\x1d\xf7\xb0\xcf\x28\xbd\x99\x2a\x64\x19\x2e\x01\x11\x58\xef\x4f\xc5\xe9\x99\x38\x12\x9f\x5d\x56\x7d\x5b\xb3\x94\x5a\xf4\x03\x0d\x0b\x52\xac\x0b\xb5\xe6\xd5\x54\x61\xc4\x07\x0f\xec\x7d\x61\xd0\xd5\xb6\xed\x5d\x67\x1f\x24\xd6\xc4\x4c\xaf\xa1\xfe\x78\xaf\xee\x5c\x40\x8d\x4f\x2f\xb0\x1e\x42\x43\x22\xc3\xbd\xee\xc1\x01\x4d\xaa\xd7\xab\xbb\xe4\x51\x07\x8d\x77\x64\xac\xee\xba\xc5\xfc\xe2\x20\xe3\x80\x0d\x64\x97\x29\x2f\xd8\xed\x36\x6d\x04\xba\x25\x3b\xfa\x35\x53\x0f\x9d\x25\x1a\xfc\x29\xb1\x05\x78\x96\xfc\xc2\x39\xae\x5f\x2c\x33\x58\x70\x3b\xcd\x1e\xe3\x93\xdc\x73\xae\xf9\x2b\xf4\x95\x73\x51\xe9\x76\x72\x5d\x94\xd9\x65\xd1\xe9\x33\x55\xbc\x7d\xed\x65\xde\x07\x1f\x42\x52\xb3\xbb\xdf\xc3\x89\xe3\x5e\xc1\x59\xb2\x0e\x0e\x7a\x2a\x7e\x61\x63\x0e\x87\xe2\x27\x5d\xa8\xe0\xca\xbd\xfb\x0b\x78\xcc\xb2\x30\x31\xd4\xe9\x0f\xee\xc4\x92\x0f\x5f\x67\x30\xf0\xd6\xa3\x14\x17\x97\x70\xee\x27\x31\xee\xd6\x76\xe7\x72\x4b\x52\x76\xeb\xb3\x52\xc3\xb0\xad\xe8\xe2\x76\x18\x57\xd1\x6d\x72\xf1\x39\xbe\x1e\x0b\xa0\xc9\xdd\x5f\x06\xd6\x49\x04\xfe\x3d\xc6\xdf\x9c\xd0\x83\x1f\xe8\x57\xba\xcb\xaf\xc8\x18\x70\xf7\x97\x81\xb9\x7e\x46\x86\x30\x41\x67\x56\x60\xfc\x25\x76\x7c\x7b\xf7\xec\x25\x77\x7d\x13\xc3\x61\xf1\xec\x65\xdd\x01\xee\x2a\xcd\x13\x7d\x05\xfe\x6f\x15\x26\x16\x08\xdc\xde\xf0\x71\x5f\xd8\x87\x21\x93\xf0\x71\xa5\xca\xea\x59\x9e\x62\x90\xc7\xcb\x42\x42\x21\x24\x7a\x69\xd0\xfc\xbc\x25\x29\x3d\xff\xb3\x1d\x5c\xa9\xf1\x45\x5a\xbd\x6b\xea\xe6\xf8\x0e\x93\x3f\xf2\x89\xca\x5a\x67\xd1\xf8\xf8\xfa\x49\x84\x73\x78\xfe\xf5\x3a\xb9\x6e\x39\x85\x9c\x9e\xb8\x0c\x2b\x23\xb1\xb7\xd7\x08\xc6\x63\xde\xde\xe0\x0c\x7b\x8b\x66\xe5\x73\x2f\x06\xfe\x64\xf6\xbd\x34\x01\x54\x6b\xe8\xdb\x34\xe7\x4a\xdc\xd8\x1f\xa2\x56\x2b\xa5\x01\x38\xdd\x34\x09\x73\xbe\xd6\x0d\x35\x47\xdb\xe7\x67\x10\x0e\xea\xb3\x56\x36\xdf\x45\xde\x17\x87\x7f\x1b\xfc\xed\x6f\x4e\x2a\x32\x54\xe9\xf0\xe1\xc3\x87\x62\x28\xfe\xf6\x50\x8c\xf0\xe9\xdf\x6e\x30\x73\xdb\x37\x21\x49\x17\xc6\x6c\x9d\xb7\x3d\xdf\x72\x3a\x28\xd9\x0e\x71\xd0\x87\x24\xa0\x90\xd3\xba\xdb\xe6\x0f\x2f\x4e\x5e\xfd\xfd\x67\xf1\xf3\x9b\xf7\x2f\x4e\x58\x40\x6b\xa2\xa0\x74\x5c\xa2\x26\x29\xd6\x21\x18\xab\x79\x4a\xe9\xd0\x30\xf1\x88\xe1\x2b\xe7\x4a\x5e\xa6\xd9\x5a\x4c\xe5\xa5\x2e\x6c\x04\xfa\x52\x51\x34\xd0\x42\x2d\x74\xb1\x06\xb5\xe3\x6a\xb1\xe4\x71\x57\x66\x04\xaa\x37\x0a\xf9\xba\xf4\x94\x3a\xc5\x48\x59\x4c\x0d\x1b\x16\xa4\x74\x11\x18\x0b\x8a\x93\x80\xc0\xf4\x74\xa1\x78\xbe\x49\xc3\x46\x99\xfe\x91\x33\x94\x25\x2a\xac\xa1\x15\x16\xbe\xd2\xcb\x2a\x5d\xa4\x7f\xa0\x9a\xcc\x65\xa6\xb2\xd3\x7a\x9e\xe9\x12\x02\x35\x9c\xa6\x94\x2a\x61\xba\x0a\x22\xc0\x3a\xaa\x62\x01\xb1\x47\xb4\x52\x1f\x3c\x8f\x0b\xa6\xaa\xa3\x07\xe2\x67\x2d\x26\xd4\x63\xdf\x06\xa1\xc3\x72\xad\x71\x1d\xd6\x9f\xe6\x73\x55\xa4\xe8\xc5\x67\xe0\x87\xb1\xcd\xd0\x01\xa4\xfc\xcc\x65\x86\x3e\x0f\x41\xe4\x5d\x59\x01\xc0\x35\xe5\xdf\x17\x49\x5a\xa8\x49\x95\xad\xc3\x10\x19\x4a\x60\x91\x5e\x9a\xd7\xb1\x93\xd4\x15\x82\xc5\xcc\x03\xb0\x80\xbb\x77\x7f\xff\xfd\xf7\xdf\x59\xe5\x54\x02\xc8\x6b\xad\x97\x1e\x4c\x28\x4b\x58\x10\x42\xc0\x16\x7a\xdd\x43\xd1\x7e\xe4\x55\x0e\x0e\x0c\x71\x1f\x0c\x06\x36\x21\xca\x01\xf2\xc4\x5c\xa3\x9e\x0b\x5d\x24\x0a\xd4\xdf\x17\x4a\x2d\x3d\x03\x8c\x3f\x43\xd9\x3f\xeb\x2f\x21\x4b\xa8\x37\x86\xbe\xa8\xca\xe9\xbd\x65\x92\xd8\x65\xa4\x95\x5a\x38\x2b\x01\x8a\x27\xc4\xf5\x8f\xd5\x2c\xcd\x41\x0b\xde\x5d\xe5\xe5\x3c\x9d\x56\x3d\xb7\x0d\x7a\x6a\x5b\xa9\x3c\x11\xdd\xe5\xaa\x9c\xf7\x2c\x16\xcc\xd3\x2c\x41\xb0\x52\xe4\x30\x8b\x12\x2f\xd4\x42\x43\xe8\xe9\xb4\x52\xb9\x5d\xe1\xaf\x25\xaa\xb6\x69\x78\x57\x7c\xa6\xcc\xf4\x15\x85\xa4\xa5\x79\x09\x95\xa3\xd3\x5c\x2c\xd2\x24\xc9\xf0\xfc\x78\xbc\x42\xf4\x34\xc8\x91\xa5\xf9\x05\x64\x93\x2b\x2b\x7f\x5a\x28\x0a\x6b\xaa\xae\xf0\x70\xa0\x17\x7f\x2e\xa4\xc8\x34\x9c\x06\x0a\x23\x2d\x4a\x1f\xe2\x79\x35\x5f\x33\x53\x8c\x8b\xff\xb0\x2d\x11\x91\xee\xf0\xbc\x87\xac\x66\xb0\xd9\x8e\x2b\x03\xca\x12\x07\x1c\x08\xcc\xa0\xeb\xb2\x57\xd2\xa9\xd3\x53\x9b\xbd\x35\xfd\x83\x72\x03\x06\x11\x03\xa6\xff\x70\xa5\x58\xef\x08\x8f\xd7\x60\xd7\x0a\xb0\xce\x0b\xff\x2d\x7f\x56\xaf\xd0\x6d\x1f\xbb\xd4\x4c\xfe\xcd\xb0\x76\x6b\x34\xa4\x95\xe9\xdb\x07\xfc\x26\x81\xc4\xe3\xef\xab\xac\x65\xe8\x13\x45\x71\x11\xf9\x6a\x31\x46\x34\x3e\xbf\x8b\x2f\x9d\x0b\x48\x6f\x8c\x67\xc8\x53\x50\x32\xd5\xb1\x42\x50\x88\xf7\xca\x46\x7f\xcf\x52\x88\x06\x59\x2d\xd1\x14\x71\x1f\x53\x49\xa1\x5a\x9c\xb0\x17\xa3\xe7\xd2\x52\xac\x0c\xa3\x3c\xce\x14\x27\xb1\xd6\x74\x64\x4b\xdd\xa6\xa5\x38\x7c\xc8\xe6\xe2\x12\x19\xe6\x36\x71\x8e\x90\xcb\x65\x46\x91\xb8\xa5\x48\xab\x0e\x8f\x74\xb4\x63\x26\x6a\xa9\xf2\x44\xe5\x93\x94\xc5\x11\x9e\x63\xd2\xd5\x73\xaa\x12\xec\x22\xe4\x30\x4f\xcb\x25\x54\xe3\x43\x68\xf0\x09\xd8\x84\x6c\x86\xe5\x97\x39\x1f\x9d\xa8\x1d\x46\xce\xcf\x65\x1e\xd4\xec\x3d\x7c\x48\x7d\x01\xfa\x7a\xd8\x42\x72\x85\xaa\x24\xa8\x54\xda\xd0\xbc\x71\x9a\x11\xc1\x47\xad\x1c\x41\x3d\xcd\x2f\x55\x59\xa5\x10\x62\x74\x45\x7a\x95\x89\x44\x7a\xe6\x01\x8b\xd1\xfa\x13\xcc\x7a\x83\x91\x4e\x54\xdd\x38\x61\x95\x84\x61\x2a\x1e\x98\x86\x5e\xb8\x7e\xde\xbf\x7f\xcd\xb3\x73\x51\x72\x35\x4c\x40\xb1\xf0\xb0\xee\x1b\x0a\xc0\xa6\x07\x39\xee\x6c\x1d\x65\x1b\xd8\x4d\x11\xab\x4b\x55\x40\x46\x50\x9f\x31\x28\x0a\xaf\x40\x0c\xdc\x88\x2c\x5d\xa4\x15\x46\xe1\x38\x9c\xac\xef\x41\xe3\x19\xac\x67\xaf\xe5\xd9\x6a\x9b\xf0\xff\x05\x24\x1c\xe2\x3b\x38\x97\x4c\xe9\x63\x5e\xdf\x12\x0d\x8a\x47\x62\x03\xa1\x14\xcf\xb2\x8c\x3c\xb3\x18\x11\x36\x03\xaa\x3c\x31\x54\x8c\x7e\x25\x1e\x00\x3a\xc6\x24\xf2\x18\x51\x5a\xba\xdc\x0a\xa5\x32\x00\xa1\x39\x3a\x4c\xf5\xbb\x6b\xf3\xbb\x5e\xa6\xea\xaa\x0f\x69\x0a\x24\x8b\x3b\x35\xc8\xc4\xab\x8a\xd1\x4b\x10\x53\x09\x3b\x83\x81\x1f\xef\x21\x75\x6e\x56\x6a\x9f\xd2\x21\x87\x22\x6b\x95\x50\x8b\x14\x78\x97\xe1\xb8\xd0\x32\x99\x18\x5e\x04\x82\x94\x57\x63\x07\x3c\x31\x95\x93\x34\x4b\xab\xb5\x8b\x8c\x37\x7d\x12\x9c\x66\xab\x34\x51\x43\xba\xe0\x6d\x2e\x55\xfc\xd5\xdd\xfc\xe5\x26\x0e\xa6\x7a\x17\x93\x2e\x56\x90\xda\x60\xe3\x48\x1c\x3e\x3c\xb6\xe2\xbf\xdb\x86\x7a\x80\x89\x0f\xba\xea\xd9\xe6\x86\x9d\x82\x4a\x37\x94\xda\xdd\xd9\x56\xa0\xda\xc1\x72\x99\xad\x21\x3e\xea\x55\xe2\x1e\x59\x09\xcf\x51\xcf\x9a\x22\x98\x6b\x1a\x5c\xee\xfc\x9a\xaf\x0c\x4e\x9c\xe9\x74\x02\xfb\xd2\xfb\xf7\xaf\xbd\x3c\x1b\x49\x94\x18\xa9\xaa\x5b\x63\xaa\x3a\x58\xa3\x16\x3e\xb9\xf0\x2b\x1a\xd5\x0b\x9e\xb6\x97\x86\x58\xa8\x3e\x55\xb9\xed\xbb\x38\x2a\x57\xea\x8f\x54\xc7\x4c\x79\xec\x2b\xf9\xd5\x0f\xd6\x80\x8e\x97\xb0\x4a\xda\x26\xb5\xb1\x80\xa4\x37\x1e\xe9\xeb\x79\x6b\x3c\x0d\x6b\x3a\x6e\x6c\xbc\x8d\xb8\x50\xeb\xc0\xdb\x40\x78\xdc\x93\xab\x4a\x0f\xdc\xb2\x85\xfb\xb4\x19\xb4\x33\x48\x6e\xe4\xa8\xaf\x86\xf3\xfe\xcd\xdd\x5c\x5d\x09\xf3\xbf\x6e\x6f\xe3\xf2\x7d\x74\x7f\x32\xcc\x7d\x13\xeb\xb5\xaa\xb4\x11\xe7\x26\x90\xfe\xcb\x9a\x81\x04\xa6\x70\x5b\xa6\x99\x4a\xc4\x8f\xef\x7f\x7a\x2d\xcc\x4d\x9a\x21\x9b\x6b\x2f\xd3\x64\xd0\x8b\x40\xfa\xa3\xcd\x6b\x4e\x4e\xb1\xf6\x3a\xce\xd3\xe5\x12\xeb\xd9\x97\x73\x7d\x25\xcc\x7f\x86\x22\x4f\x6c\xfe\x73\x39\xa9\x98\xc6\x16\xd6\x62\xbb\x3c\x3f\x3f\x9f\x57\x8b\xcc\x7e\x7d\x32\x4d\x4d\xb7\xc5\x64\xb4\x3f\x18\x56\xaa\xac\x86\xf9\x6c\xe8\x20\x70\xb2\x54\x93\xc1\x87\x72\x5f\x54\x72\x36\xda\x4f\xf4\xa4\x3c\xdc\x17\xc3\xef\x58\x5f\xd1\x84\xbf\x11\xaf\xbc\x90\xe0\x91\xc0\xef\x3f\xc9\x10\xd6\x26\xb4\x94\x70\xed\x53\xae\x7e\x49\x11\x73\x3e\x31\xe5\x11\x1b\xea\x83\xaf\x3d\x67\x2b\x2c\x2b\x28\x2d\xee\x77\xec\x38\x6c\x31\x81\xed\x1f\x51\xcb\x01\xee\x21\xaf\x9a\x4c\x0f\x4a\x99\xad\x28\x5f\xf4\x48\xec\x43\x5e\xc6\x7d\xd6\x15\xc5\xde\x42\x6f\xac\xad\x0f\xbf\xc5\x54\x8e\x9d\xa0\xeb\xb8\xb5\xe9\xf9\x37\x95\x4d\xf4\x42\xdd\xac\x6f\x7a\xa9\xd3\xab\xbf\x55\x9b\x7e\xd3\x94\x5a\xf7\xea\x37\x2c\x1e\x10\x25\x64\x3d\x07\x40\x9e\xa3\xf8\x58\x56\x65\xdf\x49\x35\x32\x83\xc4\xee\xaa\x70\xc9\xa8\xc3\xe4\x9f\x98\xec\xcb\xf6\x6e\xd5\xa1\x70\xfb\xd9\x4e\x0d\x4d\xc1\xeb\xc3\x9d\xb7\x9f\xf4\xe4\xa2\x7e\xc7\xe2\xef\x82\x0e\xbf\xb9\xc8\xfc\x2c\xec\x08\x89\xaa\x64\x9a\x95\x83\x70\x59\x8e\x1a\x11\x87\x61\x8d\x44\x58\x43\x9c\x69\xe8\x7a\xdf\x8d\x36\x8e\x81\x2f\xc5\x4f\x72\x09\x92\x32\xe5\xb1\x9f\x62\xcc\x23\xc9\xa8\xd6\x3b\x6c\xec\x96\xb7\xdb\x1f\x75\x9f\x38\x26\xdf\xf2\xb9\xc4\x05\x50\xbd\x76\x10\x0a\x1d\x44\x36\x83\xeb\xd6\x70\xdf\x4c\xdd\x02\xf8\x39\x14\x89\x7f\x6b\x53\xaf\x2d\x0b\x75\x80\x8f\x2a\x4c\x56\x46\x2b\x2a\x69\x29\xc8\xb5\xed\xb4\x0c\xb9\x34\xdc\xf3\x50\x5f\xaa\xa2\x40\x26\x85\x7a\x72\xcb\x1a\xaf\xc1\x34\x85\x20\x64\xd9\xe6\xe6\x32\x4f\xd6\x3b\x8d\x01\x5a\xda\x55\x9e\x56\x07\x15\x26\x78\x00\xbe\x63\x2e\x2f\x7d\x28\x39\x82\xde\xcd\x42\x5a\xde\x7a\xa7\xfe\xbd\x28\x25\x22\xab\xdf\x1b\x0a\x7e\xfd\x39\x08\xfb\x0e\x88\x25\xfd\x33\x0c\xf5\xe0\x80\x94\xdd\xc8\x9f\xf8\x6e\x8a\x6a\xf8\x4f\xd5\xaf\x69\xe2\x6b\xe6\x90\xc7\xf2\x72\x2e\xc1\x23\x06\xbf\x3a\xc2\x45\x4f\x51\x4e\x2e\xca\xa0\x00\x0d\xfb\xa3\x66\xa6\xf3\x93\x74\x9c\x05\x41\x82\xcb\x42\x5d\xba\x1f\xb7\xbe\x0e\x24\xe6\x47\x25\x13\xff\x32\xfc\xf4\x5e\xa6\x59\xe0\x7b\x62\xdf\x80\x9b\x1b\xdb\x46\xcb\x49\x54\x59\x15\x7a\x5d\xaf\xe9\x44\xcf\x6d\xb5\xa1\x52\x8c\xc0\x28\xd7\xf8\xf0\xb9\x5e\x01\x10\x6a\x0d\xd2\x52\x9b\x8b\xf1\xfb\x14\xec\xa4\x65\x30\xb7\x4d\x1b\xb7\x42\x0a\xa1\xf5\x76\x8e\xe5\x9b\xbb\x69\xb2\x03\xd7\xf2\x2b\x15\x98\x04\x52\xf4\xea\x07\xd1\x5d\xe8\x5c\x57\x3a\xa7\x4b\x3d\x75\x72\x53\xcf\x9a\x75\xcc\xf9\x76\xe1\xd6\x03\x87\x37\xf8\xc1\xcd\xb6\x6d\xba\x5b\xe6\x8b\xb8\x62\x9b\xf9\xe6\xb5\x59\x8b\xfb\xc2\xa5\x99\x72\xb6\x65\x76\xbb\x5a\xdb\x92\x9b\x15\x9b\x56\xeb\xbc\xb6\x4c\xcc\xfc\xe0\x5a\xb1\xe6\xf5\x89\x35\xcd\x8c\x89\x42\xae\x15\x4d\x0c\x47\xa9\x47\xf5\x08\x5e\x41\xe1\x08\x9b\xf5\xb7\x2c\xc5\x3b\x3f\x6c\x5f\x48\xae\xae\x58\xa3\x9a\x4f\xc4\x4e\xeb\xf3\xfe\xd1\x86\x57\x44\xb6\x63\x17\x09\xb2\xd6\xfd\xfb\x68\xd7\x50\x45\xb1\x74\x29\x46\xb6\x27\x2a\xfa\x86\xb4\x38\x82\xfe\x35\x0c\x2b\xc8\x77\x83\x70\x84\x88\x1d\x47\x3d\xa1\x4b\x4b\x87\x4f\xe7\xa9\x2a\x64\x31\x99\x5b\xcd\xe9\xd6\x51\x91\x1e\x08\xfb\xa1\xdb\x6b\x5c\xdc\x0d\xbb\x10\x8b\x55\x59\xb1\x14\x85\x3a\x37\x7c\x30\x42\x85\xf2\x49\xa6\xa5\xef\x3d\x51\x65\x5a\xb0\xab\x96\x74\xff\x94\xeb\x6b\xc2\x25\x01\x54\x4c\x2f\x55\xb1\x90\x39\xa6\xe6\x37\xbc\xc4\x64\xce\xa1\x40\xbb\x40\x9e\xb5\x82\x5c\x9b\x56\xa5\x28\x2b\xbd\xc4\x64\x98\x93\x74\x29\xe1\xca\x4a\x73\x92\xb8\xad\xc6\x45\x55\xe4\x1e\x61\x86\xb7\x04\x2f\xc8\x29\x0d\x45\xcf\xf3\x4b\x7d\xe1\xe9\x45\x88\x67\x74\xf5\x8f\xb5\xce\x94\xcc\x37\x82\xa8\x22\x64\x9f\x85\x90\xe3\xca\x66\xb7\x24\xa9\xdb\xa6\xdd\xe1\x2a\x7b\x20\x56\x8c\xe1\x66\xd5\xac\xfc\xbd\x19\x50\x09\x86\x1f\x70\x95\xc3\xa0\x09\xb2\xe6\x98\xc3\x17\x6a\x9a\xab\x08\x4d\xbd\x3e\x7e\x50\x1f\x00\x3d\xe7\xcd\x11\x41\x2e\x33\x99\x29\xc3\x57\x62\x7a\x32\x46\x40\x21\xb5\x35\x3c\x35\x3b\x04\xf9\xcb\x27\x93\x34\x51\x79\x05\x2b\x29\xcc\xdd\x15\xd0\x43\x36\x06\x86\xb7\x6c\x01\x24\xb1\x92\xa7\xd8\xc1\xc8\xdc\x35\x67\xb0\xd8\x2d\xe7\x94\xd8\xd6\x4d\xe8\xff\x03\x0e\x39\x44\x98\xcf\xeb\x33\x69\xfc\x23\x0d\x50\xde\xc0\x6b\x04\x4c\xe0\xb9\x99\xd7\xb9\xdd\x80\xa9\xdd\x50\xe0\xb6\x1a\x20\xdb\xf8\xc7\x9c\xfc\xc8\xef\xca\xc1\x5e\x8a\xaa\x90\x79\x39\xc9\x56\x89\xdd\x65\x50\x72\x17\x68\x92\x11\xcb\x4c\x4e\x94\x48\x1b\xe0\xdb\xf8\x97\xe6\x8d\x04\x03\x8c\x2c\x90\x83\xad\xa2\x94\x85\x58\xff\x06\x46\x09\xf0\x73\xe7\x71\x9c\x4c\xd9\xb8\xc5\x35\x9e\xae\x9e\xce\x87\x9d\xff\x86\x2e\x86\xf4\xc9\x5c\x06\xcc\xba\x4a\xe8\xdf\x27\xac\xab\x97\x83\x4e\xb3\x84\xc9\x7c\x8e\xaf\xa3\x0f\x5f\xbe\x10\xf3\xe4\x5a\xa0\x4f\x2d\x74\x1a\x5a\x54\xad\xa4\x6a\xae\x0f\xe2\x2f\x8f\xe3\xc7\x01\x47\x86\x5f\xb6\x86\x18\x0e\x87\xe2\x4d\xee\x40\x00\x21\x34\x0e\x06\x62\x92\xc9\xb2\x34\xf3\x29\xf5\x42\x8d\x75\xb2\x16\xb2\xbc\x40\xb5\xb4\xce\x55\x3f\xec\x06\xb2\xba\x81\x98\x81\xa5\xb8\x31\x3f\xb0\xd9\xd4\x7f\xfe\x04\xbc\xb9\xb5\x55\x66\x5a\x5f\xac\x96\x9e\x06\x58\x0f\x19\xe2\xec\x40\x1d\x73\x12\x57\xb0\x14\x9e\xf5\xf3\x0d\xb8\xaf\x8f\xff\xb5\x66\x87\x16\x75\x1e\xba\x91\x5d\x6e\xe0\x8c\x6f\xce\x16\x47\x6f\x36\x73\xb9\x2d\x8d\xea\xdc\x6e\xd8\xb0\x59\x7c\xd8\x06\x9e\xfa\xcc\xa2\xae\x6b\x2f\x05\x4c\x15\x67\xeb\x45\x14\x6e\xc6\xb1\xb1\xd6\x4b\xb7\xb1\x5a\x28\x61\x68\x74\x04\x8e\xe3\xe7\xa1\xbc\xe2\x14\x33\x1e\xe4\xa1\x1b\x5c\xf8\xdc\xec\x52\x94\x87\xa0\xf6\x7e\x4d\x4e\xa2\x43\xba\xed\x9d\x7a\xab\xa6\xcc\x05\xb5\xa9\x34\xce\xbf\xa1\x2f\x7f\xfc\x87\x43\xbc\x0b\xe9\x2a\xf0\xf7\xac\x21\xf3\xf6\xae\x15\xba\x10\x57\x2a\xbc\xb7\xf1\x5a\xe8\x73\x6e\xc4\x74\x16\xf3\xf8\x58\x90\x92\x64\x33\x97\x6a\x1e\x18\x7a\x71\xce\xc4\xb6\x73\xcc\x81\x09\x03\xa8\xa0\xc7\x90\x79\x18\x88\x57\xe4\xb4\x0b\x36\x8e\x89\x04\x5f\x4a\xac\x91\x60\xfb\x0d\x4c\xfd\xaa\xe2\x9d\xf9\xfc\xdb\x6d\x73\x1c\xf0\xe6\x86\x68\x7b\x5e\x89\x75\x2b\x93\x44\x25\x94\xd0\x95\x75\x97\x96\xc1\x80\x8c\xb6\x1a\xca\x4b\x8d\xf6\x10\xd3\x7b\x16\x01\x75\xde\xed\x58\x40\x74\xfa\x76\x26\x80\xdd\x5c\x7d\x67\x23\x1a\x22\x0a\xef\x93\x1c\xb2\xf7\xba\x0d\xa4\x3c\x12\x92\xc3\x24\x52\xbe\x74\xf3\x36\x51\x6c\x57\xf9\x05\x28\xdf\x9f\x96\x60\xde\xa9\x99\x01\x7d\x01\x19\xa2\xec\x2e\x9c\xfb\x10\x41\xdc\x09\xab\xa8\x86\xad\x05\x6b\x28\x30\x43\x30\x05\x5f\x89\xf2\x9c\x59\x9d\x6a\xc3\x1f\xc0\x3e\xd7\x5f\x01\xa3\xa6\xe5\xf3\x15\x58\xe8\x26\x90\x3b\x54\xef\x20\xf0\x70\x3e\x82\xc9\x3e\x60\xc2\x9a\x53\x1e\x54\xe7\x7a\x83\x2e\x37\x01\x4b\x87\xb7\x47\x32\x10\xdd\x93\xd4\x29\xae\xb1\xbb\x9b\x49\x5b\x85\x2a\x56\x79\xe9\xe4\x13\x14\x04\x4a\x0b\x8f\x98\xff\x6e\x00\x9c\xcc\x9d\x69\x3d\x2a\x7d\xb0\xc4\xe0\xb8\xdb\xcd\x8b\x41\x62\xac\x44\x9a\xa8\xc5\x52\x57\x86\x74\xf5\x6a\x3b\xe3\x37\x9f\x6f\x09\xd9\x32\x18\x00\x9d\xa4\x64\x75\x9a\xf5\xd5\x90\xd5\x92\x4f\xdb\xd0\x7f\x28\x87\x63\x37\xb7\xe1\x2d\x2a\x9c\xa6\x3e\xae\x64\x26\xba\xce\x8e\xc1\x82\xf0\x6c\x0c\x01\x16\xe3\x2d\x56\x79\x9f\x8f\x61\xa4\x13\x28\x74\xd6\x33\x04\x4c\x51\xb5\x6a\x24\x3c\x95\x2a\x16\x50\xc9\x52\x4e\x26\xba\xb0\x8e\xf8\x85\xd3\x4f\xa4\xae\x7d\xd0\xe5\x69\x59\x15\xe9\xa4\xb2\xf1\xbf\x25\xcf\xfe\x7d\xfb\xda\x91\x6f\xc0\x5f\x49\x17\xe5\xf0\xb9\xeb\xf7\x77\xf7\x63\x2f\xe0\x8e\x6d\x6a\xfa\xf3\xbd\xd1\xe8\x1c\x82\x81\xf1\x14\x93\xd3\x93\x2e\xfa\xb6\xec\xec\x79\x58\xa5\x5b\x8c\x90\xfe\x04\xa2\x4a\xd7\xc0\x08\xd2\x12\x42\x86\xe7\x00\x0b\xe0\x8a\x6a\xeb\xa4\xcf\x20\x64\xf7\xa1\xf1\x30\x7b\x50\xf3\x71\x03\xa8\x33\x65\x86\x4d\x51\x05\x5d\x97\x1b\x47\xbf\x06\xe2\xbd\x16\x25\xb8\x52\x39\xc4\xa3\x51\x29\x3e\x09\xf2\x1d\xfa\x01\x0c\xf9\x2f\xd8\x36\xf5\x9b\x46\x99\xe8\xe5\x7a\xc3\xcb\xe3\x83\xac\x44\xea\x6b\x28\x26\x0c\x4e\x2d\xde\x13\x8c\x8f\xe0\x0c\xed\xd6\x11\xc5\x96\x90\x05\x62\x02\xae\x13\x32\xb9\x54\x45\xa9\xac\x5b\x21\x54\x83\x6b\xf1\xa6\x18\xc4\xe7\x0f\x3d\x0a\xd9\x29\x5c\x48\xe7\xc9\xe1\x4c\xfb\xce\x77\x4e\xae\x45\x55\xa4\xb3\x99\x2a\xe8\x8e\xf6\x2f\xc2\xed\x39\x4d\x0b\x15\xc8\x8d\xae\x3c\xee\x64\x6e\x6b\x87\x20\xd1\x72\x72\x9a\xe3\xa4\x57\x79\x95\x66\x22\xd7\x8e\x7a\xa1\x73\x43\x85\xb5\x1c\x60\xb2\xf0\x26\xef\xde\x39\x6b\x90\x47\x07\xfa\xf1\x40\xac\x30\x3a\x1a\x80\x09\x70\x6a\x4e\x2e\x48\x0b\x4b\x91\x28\x99\x64\x7a\x72\xd1\x70\x57\xf8\x8e\x29\xd2\xdf\xc6\xa7\x8f\x95\x2d\xd9\xc0\x6e\xa2\xdd\x09\xe2\xc6\x53\x36\x76\xc8\xad\x01\xb5\xa0\x9b\xd0\x5c\x84\x35\xc4\xf6\x2e\x63\x10\x49\xad\x19\xbc\xed\xe5\x51\x7f\xcb\x8f\xb1\x9d\xbc\xdf\x68\x09\x90\x4e\x88\xc2\xaa\xd8\x00\xe4\x88\x53\xba\x8d\xea\x83\xaa\xab\x50\x86\x1f\x42\xe5\x98\x1b\x18\xab\x9b\x50\xb2\x71\xc7\x7a\xb1\x2b\xc1\xf7\xfb\x6c\x8a\x10\x21\xe4\xc0\xd8\x22\x84\x53\x90\xef\x01\xed\xb8\x55\x78\x8f\x4c\x73\x76\x95\xc4\x65\x52\xec\x08\x5d\x43\xe0\xb6\x01\xc0\xe5\xb4\x15\xfe\xe3\xa6\x07\x69\xe7\xad\x5b\x9f\x0a\x6f\x1b\x9a\x2c\x70\xb1\x05\x16\x56\xf1\x0c\x2c\x38\xa2\x81\xce\x10\x8c\x97\x36\xff\x74\xc5\x99\x50\x3f\x6b\x77\xf7\xf9\xa8\x7e\x1c\x43\x4f\x1b\xb0\x24\x49\x93\xbc\x63\xbd\xa2\x80\x84\xe1\x6e\xe0\xc8\xe5\x44\xe5\xb2\x48\xb1\x08\x86\x0d\xf0\xe2\xd0\x82\xc4\x09\x21\xd2\x20\x41\x23\xdd\x53\xae\xae\xfe\x29\x33\x5b\x93\x31\x4b\xcc\x17\x5b\x96\xaa\xc4\x04\xf8\x54\x44\xdb\xbc\x02\x0a\x34\xf0\xdf\xed\x9e\x8f\x46\xa3\xf3\x9e\xd3\x1c\xfa\x21\xdc\x8a\xaf\xa4\x5b\x72\xb2\x52\x01\x70\xad\xff\x56\xeb\x29\xf5\xdd\x7d\x23\x5e\xa0\xf9\xde\xff\x14\xd9\xef\x81\xe1\xaf\x17\x9d\x24\xed\xae\x2c\xbd\xe7\xde\xda\x57\x88\xa4\xdc\x18\xdc\xbf\xcb\xff\x5d\x4a\x72\xc2\x6a\x73\x08\x10\xa4\xfd\xc9\x31\xca\xa1\xb3\x48\xcb\x0b\xdd\x69\x68\xc0\xc2\xcf\xb8\x41\xdf\x59\xdd\x83\x56\xde\xe2\xfe\xb0\xd7\xd0\x17\x72\xe7\xdd\x8e\x19\x94\x87\x87\xe0\x16\xae\x54\x5f\xe0\xfe\xad\xea\x19\x62\xe2\xc9\x84\xdf\x1f\x84\x79\x9f\x58\x5e\x98\x1d\xa7\xda\x30\x57\xcb\x2e\x1e\x47\xfb\x14\x9f\x09\x4a\xc4\xee\xf0\xa4\xf0\xf5\x5b\x0a\x4f\xa2\x90\xbc\xa3\xd4\x96\x56\x54\x67\xc5\x92\x8c\xdd\xe7\x7a\x78\xb3\xb9\x62\xc5\xff\x2b\x74\x45\xcc\x32\x1b\xaa\x4c\x73\x25\x0e\xc9\xf3\x12\x74\xb5\xfd\xd9\xe9\x58\x9c\x92\x89\x5c\x34\xa1\x54\xf3\x74\xb7\x8f\xf4\xc8\x8c\x74\x27\x5a\x1e\xf9\x6f\x07\xb5\xd2\x89\x2a\x7b\x02\x14\x1f\x8b\xa9\xd6\x49\xc3\xa4\xcc\xcf\xcf\x39\xae\xb7\x4d\x8d\x35\xdc\x0d\xdd\x43\x44\xb6\x59\xfe\x59\x20\x19\xaa\x6b\xfd\x36\x8c\x15\x58\x06\xac\x14\xf6\xaa\x62\xa4\x17\x72\x6b\xcb\xc9\x5c\x58\x2f\x6e\xa0\x01\x0c\xc7\xc2\xd1\x82\x44\x8a\x36\x8c\xc5\x00\xc0\x88\xdb\x8d\xf3\xa2\x50\x3c\xba\x3a\x2d\xa2\xf7\x6b\xa4\x1f\xa7\x8a\x5d\x72\x4b\x91\x1c\xeb\x4b\xc5\x52\x5a\xd7\x51\x4a\xdc\xe8\xe0\xa3\x2a\x43\xd8\x96\x62\x6f\x34\x72\x8d\x45\x43\x6b\xaf\xe9\x75\x35\x6a\x48\xe1\x8e\x7b\x9b\x4e\x6b\x08\x9f\xd4\xfb\x68\xc2\x89\xfa\x6f\x31\xd9\x11\x91\xe6\x30\xfe\x5a\x3b\x9f\x3f\x6b\xeb\xd7\x3b\x97\x25\x56\x00\x2e\x56\xb9\x28\x75\x30\x65\x2b\x97\xff\xa1\x0a\x7d\x73\xb4\x8c\x86\x7c\xb7\xca\x99\xf3\x33\x50\x08\x8c\x74\x30\x1d\xc0\x34\xbc\x0b\x73\x82\x53\xc0\x09\x60\x31\xed\x86\x69\xec\x7c\xa8\x77\x9d\xe2\xaf\x50\x2f\x11\x27\x04\xb1\x1b\xab\xdc\xfa\x6a\x0b\xf1\x33\xe9\xda\x03\xe0\xb8\xad\xe6\x3d\xc1\xfb\x23\xd1\x99\xcc\x95\x2a\xd5\x78\x55\xcc\x54\x71\x4b\x72\xd4\x38\x73\x4e\xfc\x98\x47\xd9\x35\xdc\x80\xb5\xc0\xb1\x5c\x20\x5f\xd0\x93\xa9\xb7\x89\x49\x97\x60\x1f\x6d\x0e\x01\xc3\xed\xad\x50\x33\x9a\x03\x25\x08\xe4\xe2\x1b\xf3\xcc\x03\xf1\xcc\xb1\xc9\x96\xa7\x63\xd5\xde\x48\x9c\x2a\x83\x41\xa4\x53\x57\x84\xcc\x5a\x93\x82\x0b\xe2\x6c\xce\x71\x81\xe7\x47\xe2\x85\x9b\xbd\x2c\x43\x6f\x69\x1f\x31\xc6\x82\xc7\x36\x71\x47\x0e\x68\xb0\x2f\xbd\xf3\xa3\xa0\x3c\xa0\xd3\xbd\x94\xe8\x60\x07\xd7\x81\x2b\x8c\x31\xa8\x6f\x42\x44\x88\x2c\x19\xea\x23\x66\xf4\x36\xfe\xa2\x77\x79\x6e\x18\x1d\x74\x2a\x3f\x2a\x9d\xc5\xa6\xda\xc8\x08\x6f\xd1\x03\xe2\xea\x2c\x2b\x6b\x6b\x06\x05\x0a\xa5\x40\xdc\xdf\x22\x55\x61\x57\xc4\x08\x87\x5d\x39\x75\xd3\xcd\xfa\x22\x68\x82\x5a\xc8\x45\x6c\x05\xbe\x7b\x75\xc8\x92\xa5\x7e\xb4\x11\x91\xea\xe4\x39\xf1\xee\x60\x5b\x43\xa5\x85\xd3\xa0\x04\xbe\x15\xb1\x12\xc4\x47\x80\x05\xf3\x63\x49\xe8\xb0\x16\x8b\xd5\x5d\xd9\x5e\xf9\xb6\x3b\xd3\xa8\x3f\x7c\x3c\xcf\x45\xa2\x90\x27\x2b\xa2\x88\x28\x34\xc7\xa7\xa5\x97\x0a\x5d\x9f\xce\x56\x0a\x40\x64\xd6\x52\x0b\xd4\x3e\xbb\x43\x43\x50\xc4\x06\x54\xf4\x7c\x47\x9f\x74\xf7\x7a\x2f\xb2\x97\xce\x54\x65\xed\x7b\x3f\xa8\x4c\xcd\x6a\xb6\x53\x3a\xbe\x0d\xed\x28\xfb\x6c\xdb\x74\xfa\xe6\x9d\x46\x6b\x16\x17\x26\xa0\x8f\xe0\x8a\xc3\xd8\x39\x7b\x3d\x7a\xdb\x63\xd8\xca\x8a\xca\xa3\xda\x8d\x3d\xcd\x8f\xfc\x9c\xa2\x67\x99\x2c\xab\x23\x10\xba\x20\x70\xc1\x1c\xcd\xa8\xc5\x4c\x55\x47\xe6\x7f\xf1\xef\xea\xd3\xf2\xc8\x91\xd3\xda\xc3\x8f\x47\x62\x6f\x2f\x5c\x7e\xd0\x64\xc3\xa0\xde\x12\x3b\x11\xec\x0a\xcf\xb4\x60\xd7\x12\xa5\xd5\xb5\xe2\x37\x24\x35\xcf\xb5\x5e\x36\xda\xc4\xa0\x33\x80\x68\xf8\x76\x1b\x90\xc5\x88\xd5\x41\xe0\x7b\x36\x1c\xda\xb8\x44\x0a\xa1\xa4\x5b\x9e\x7e\x94\xe4\x96\x00\x52\x49\x9a\x3b\x0e\xd2\x05\x02\x07\xb6\x28\x50\x84\xf9\xf6\x85\x92\x09\xf8\xa6\x17\x0a\x35\x7b\x10\xff\xe9\xdf\x80\xc9\x0e\x68\xdc\x2e\x4d\xb5\xc1\x9e\xc4\xec\x47\x56\x16\x02\x18\x77\x1b\xd6\xfe\x0e\xfc\xb2\xba\xf0\xb9\x2f\x7c\x9f\x21\xae\x34\xc6\xb8\xb8\x2d\xa5\x0f\x5f\xcf\xce\xf4\xf7\x42\xaf\x96\xac\xed\xed\x8c\x4d\xcf\xcc\x01\x4b\x65\x0e\xf1\xa0\xdb\x2e\x70\x54\x86\x92\x54\x61\xb8\x05\x88\x2f\x05\x69\x12\x43\x4b\x5d\x24\x6b\xc3\xf5\x53\xb2\xeb\xd9\xe5\xc8\xc9\x79\xa4\xb6\x2b\x6c\xa8\xb3\x4c\x05\xdc\x7b\xac\x94\xe1\x41\x1a\x0d\xcb\x44\xd5\x2d\xc6\xf7\x5a\x8d\x4e\x6d\x36\x36\xe4\xb7\x70\x91\xad\x58\xc6\xb6\xac\x64\x9e\xc8\x22\xa1\x75\xfa\x28\x66\xac\xf9\x07\x21\xa9\x12\x8d\x16\xd6\x34\xc6\xef\x03\xcb\x99\x38\xa6\x0e\xc2\x42\x94\xc2\x40\xc5\x35\xcd\xaa\x76\x13\x6f\x33\xf7\xb8\xab\xde\xbc\x5f\x07\x57\xeb\xd2\xb6\x5c\xf7\x51\x0e\x27\x64\x8f\xbe\xbc\x0c\x99\x9b\xef\x6a\xfc\x60\x29\x9e\xd9\xed\x65\x01\xf6\xa1\xf1\x2e\xcd\x93\xf4\x32\x4d\x56\x32\xe3\xfa\x44\x12\x26\x77\xf0\x5e\x8c\x90\x6c\xcb\xe4\x6b\x52\x5c\xe9\xc5\xb8\xf2\xa6\x2c\x54\x5c\x63\x58\xe6\xc1\xb6\x46\x70\x6f\x80\x79\x24\x68\xc2\x4b\xef\xbd\x7e\x70\xa5\xfc\xbe\xb4\x72\x57\x65\x1b\x4b\x54\x9e\xf7\xbd\x5a\x17\xf2\x51\xa9\x52\x2c\xc8\xf4\x11\x0c\x59\xcd\xa9\x9c\xf8\x76\xae\xca\x46\x30\x9e\x3b\x80\x35\xce\x2e\x64\xd8\xfe\xeb\xa6\x07\x80\xbb\x9e\xed\xbb\x11\x6b\x75\xd0\xce\x5b\x99\x33\xeb\xfc\x87\xda\x78\x2b\x20\xb6\x0d\x0c\x96\xcf\x33\xe1\x6e\xde\x88\xb1\x72\x30\x26\x27\x1e\x4c\x98\x15\xbf\x6f\x43\x17\x8f\x83\x77\x1d\xf6\xdc\xe2\x5d\x7f\xad\xbd\xcc\xe3\x9b\x1a\x78\x2a\x95\x4d\x6b\xbe\x47\xe8\x4a\x67\x70\xf9\x9d\x92\xb0\xd2\x96\xaa\x2c\xb6\x31\xa8\x19\x8d\x54\x6f\x1d\x2b\x42\x66\xa2\x6d\xaa\xb1\x73\xdc\xcf\x3a\xa0\x29\x68\xed\xbb\x52\x44\x50\xb9\xce\xf3\xd9\xc9\xb3\xb7\xec\x5d\x58\x09\x18\xd3\x9f\x63\x4a\xa1\xd0\xbd\x43\xc0\x32\x79\x11\xbe\xd6\x34\x2a\x50\x5b\xc4\xf5\xd4\x73\x23\x72\x02\xc3\x3e\x9a\x7e\xc3\x24\x2b\xdb\xd2\xcd\xc4\x4c\x06\xa0\x53\x6d\x0a\xc1\x42\x22\x60\x47\xd9\x67\x02\x30\xb7\x40\xb9\xa9\x5a\xcc\x70\x28\x4e\x96\x6a\x92\xca\x0c\x2c\x30\xa2\x4c\xff\x80\x13\xa9\x73\x55\x9f\x3d\xfa\x9b\x21\x31\x8e\xc7\xc0\x52\x0b\xce\x04\xe7\x16\xf5\x2c\xc8\xd6\x68\x91\xdf\x12\xe4\x68\xc1\x0e\x9e\xa7\x0f\x1b\x92\xaf\x99\x3f\x77\x7a\xb0\x85\xfd\x1a\x36\x6a\xda\xaa\x2e\x55\x11\x60\x0a\xbb\x9e\x78\xca\x4e\xd4\x51\xfd\xba\x68\xdb\x4e\x06\x6e\x9b\xce\xae\x7e\xfe\x7d\x62\xd4\x4f\xcb\xa2\x2f\xd2\x7a\x32\xa0\x55\x0e\x6f\xbd\x34\x87\x05\xd1\x12\x41\x8b\x2f\x34\xc0\xf2\x64\x35\x6e\x06\x67\x3b\x1c\xd3\x6b\xe1\x98\xb6\xc3\x11\x8e\x6c\xcb\xf1\xaf\x2b\x3b\xdb\xe9\x44\x7c\x06\x45\xc3\x39\x8c\x31\x66\x5b\xc6\xfd\xe0\x59\x40\xd7\xb0\xd0\x9a\x03\x2c\xdf\xb3\x5e\x93\xaf\x58\x0d\x4f\x63\x7f\xb1\x6b\x48\xdf\x9d\x10\x58\x96\xfa\xc5\xc0\x61\x54\xb1\x76\x8c\x9b\xd1\x75\x2b\x65\xa9\x7b\x40\x36\x77\xc2\x11\xba\xd6\x49\x13\x36\xdf\x82\x4a\xa1\x24\xd6\x0d\x77\xa1\x89\xaa\xc7\x3b\x85\xf2\x58\xaf\xdb\x36\x2b\x2e\x21\x7d\x2d\x11\xe9\xb9\x13\x26\xfe\xb4\x9c\x74\x32\x47\x4f\x6b\x96\x48\x87\x45\x5a\x20\xd3\x68\x55\x4a\x86\xbf\x9a\x42\xbe\x9b\x80\x7b\xf7\x49\x41\xed\x5b\x88\x6f\x7e\x90\x2e\xf0\x23\xe6\x92\x77\xa6\xf1\xc5\x32\x33\x2d\x83\x94\x12\xc8\xab\x81\x30\x71\xcc\x55\x59\x0b\xb9\x6c\x7b\xcf\x8f\x11\x4e\xa1\x07\xc6\x6a\xd9\xe8\xac\x10\xc9\x5d\xce\xff\x30\x2d\x61\x75\x5b\xa4\xaf\x73\x3d\xfe\x70\xce\x45\xb9\xb4\xbc\x89\x9c\x45\x31\xe7\x7f\x52\xcc\x02\xf7\x1f\xb0\x6a\x80\xd3\x6a\xdf\x46\x57\x41\x86\x64\xf8\x74\x73\x09\x0c\xcb\x11\x70\x67\x01\x58\xe9\x5c\xda\xbd\x4c\x06\xd6\xde\x6e\xa4\x4f\x08\xee\xe0\x33\x97\x49\x02\x51\xc3\x30\x15\xf8\x04\x29\xcf\xe0\x33\x4d\x7b\xac\x32\x9d\xcf\xc8\x2d\xcb\xe3\x94\x45\x8c\xad\xbe\x39\x3b\x18\xfb\xef\x7a\x2b\x29\x70\x85\x9d\x74\x86\x59\x2e\x16\xb2\x4a\x65\x09\x9f\xc0\x1a\xdf\x17\x9d\x0f\xa6\x51\x27\xa8\xd6\x42\xaf\x27\xb2\x92\xd6\x8d\xfe\x71\x40\x16\xef\x72\xeb\xa3\x3f\x7f\x68\x76\x2f\x23\xbb\xfb\xcf\xe6\x37\xa0\x5b\xf0\xa9\x96\xd9\xae\x3e\x98\x7d\xc9\x56\xa9\x89\xae\x09\xf6\x95\x4c\x28\x71\x1f\xde\x82\xf2\xb8\xd7\xb0\x30\x66\x8e\x09\xb8\x26\xb4\x3f\xc9\x4a\x3c\x86\x34\x65\xde\x13\xeb\xa6\x23\xb6\x6c\xc5\x60\xa9\x97\xdd\x9b\x4c\x28\x47\x4b\x54\xa1\x3a\x64\xba\x93\x11\x35\xd9\x65\x42\xdf\xfa\x11\xaf\xb3\x21\x39\xc1\x9b\xd4\x05\x91\x2d\x04\x34\xed\x37\x36\xb0\x80\xe7\x5a\x9b\xa4\x8d\x0c\x1c\x79\xca\x5a\xc3\x53\xfd\x50\xb8\xfc\x69\xb6\x40\xba\x23\x34\x5f\xcb\x44\x95\xaf\x45\x49\xd4\x9f\xc8\xa4\x27\x00\x41\xe7\x8c\xe0\x81\x42\xc4\xba\x03\xde\xc4\x64\xd5\xa4\xdf\xf0\xc7\x08\xce\x0a\xff\x5a\xd3\x73\x48\x4f\xa7\x83\xca\xce\xa1\xef\x27\x39\xab\x35\x90\xfd\x30\xb2\xed\xc0\x69\x31\xfc\xa0\xae\x56\x31\x19\xeb\x31\xb8\x6b\xa1\x13\x74\x02\x34\x68\x26\xf4\xb8\x92\x69\x60\x99\x47\x42\xa9\x6a\x8e\x11\x7c\x98\x60\x6d\x7c\x18\x29\x26\x7a\xe9\x2e\xd0\xa9\x2e\x16\xe0\x58\xea\xa0\x6d\xc6\x8c\x43\xf2\x7e\x40\x9f\x29\xee\xec\x39\xd1\x79\x99\x26\x36\x85\x15\x5c\x70\xf1\x98\x88\x74\x86\xf8\xeb\xc5\x72\x55\x59\x7f\x6b\xb4\xdb\x47\x23\x70\x47\x31\xcf\x41\x4d\x32\x69\x6e\xfe\xea\x4a\xe3\x3d\x03\x49\xf8\x6c\x82\xa2\xa6\x55\x5b\x73\x21\x35\xda\x4d\xe5\xf1\x95\x74\x1f\xa1\x5d\xc9\x45\xc4\x04\xd3\x6c\xed\x80\x29\x62\xfb\xa4\xfc\xa1\xcc\x93\xf1\xa5\x6e\x30\x05\x3c\x90\x65\x80\x61\xa1\x8a\xc5\x6f\x03\xaf\xf4\x3c\xfe\xd0\xac\x5a\x89\xdf\x81\xac\x97\x13\xb5\xac\x74\x31\xc0\x02\x6b\xd3\x55\x56\xd7\x4a\xb4\x6a\x3e\xc8\xd0\x10\x68\xe4\xfa\x62\x05\xce\x00\x8e\x94\x88\x24\x2d\xaa\xf5\xc1\x64\xae\x26\x17\x82\xb9\xdb\x06\xca\x9a\xa0\x4f\xe9\x49\x07\xc3\x60\xe7\x4f\xe2\x8e\x07\xa4\x1c\x8d\x7a\xef\xf3\x8e\xec\x4c\x2a\x8d\xba\x35\xdf\x07\x39\x7d\x6d\x9b\x5a\x5d\xdc\xdb\x71\x6a\xce\xe1\x06\xe6\x47\xd4\x62\x0e\xc9\x48\x98\xe3\x8a\x19\xc2\xf0\x68\x6f\x9a\x86\x81\xf3\x53\x15\x86\x20\xf1\x36\xd6\x15\x26\x70\x66\x2b\x2f\xac\x25\xd5\xc7\xbd\x62\x1e\x5d\xf3\xfe\x3f\xf9\xeb\x23\xe1\x6c\x5d\x56\xdd\xf1\x9d\x38\xec\x35\xa9\xb2\x7e\x20\xd2\x16\x7a\x56\xc5\xcf\x75\xe1\xed\x9f\x80\x75\x5b\x30\x2c\x1a\xc6\xe2\xfd\x33\xb2\x93\xc5\xaa\x36\xfb\x1c\x43\x62\xa3\xc8\x43\x6c\x90\x06\x4a\xb4\x68\xef\x5e\x93\x3a\x27\x70\x82\xf4\xa9\xdb\xda\xe7\xd9\xfd\xbd\x96\x20\xdf\x2b\x0b\xc4\x48\xfc\x5e\xd3\x14\x10\x22\xe3\x88\x90\x99\xbf\x2f\xc6\xba\x9a\xff\x2c\x7f\x06\x21\xf5\x55\xa5\x16\x70\x09\x99\x0f\x11\x4b\x42\x6e\xaf\xa0\xa9\x74\x74\xd4\x95\x6b\xa6\x28\x79\x12\x39\xdd\xcf\xd6\x93\x14\x49\xc6\x42\xae\xb1\x9a\x89\xce\xd5\x01\x64\xe0\x0d\x42\xaa\x5c\x68\xd9\xaf\xf6\x75\x27\xfe\xb2\xd4\xf9\x51\xeb\x3d\x57\xb8\x94\xb5\xfd\x6c\xe6\x9b\x4e\xc5\xb2\x48\x17\x29\x55\xd6\x0e\x5f\x73\x6e\x5e\x7b\xa3\x91\x83\x59\x5d\x0b\xa2\x3d\x42\xd6\x09\x00\xfe\x85\x58\xe8\x0b\x1b\xe0\xdf\xa6\x2e\xe9\xe3\x1a\x01\x9b\xa0\xd8\x0f\x9f\xf7\xf6\x79\x06\x98\x58\x9f\x2c\xda\x65\xc1\x79\xb9\x90\x79\x09\x49\x9c\xe0\xc4\x99\xb3\xee\xcb\xad\x21\x2b\x75\x45\xde\x58\x8e\xc3\xc2\xf2\x22\x81\x10\x52\x07\x42\x30\x83\x18\x12\x1c\x97\xed\x3b\x4e\x59\x19\xb9\x3d\xee\x00\xb8\x58\x07\xe6\xfa\xb6\x00\x73\x52\x42\x13\xd4\xa8\x35\x6d\xef\xeb\x46\x15\x86\x20\x34\xc1\x7e\x4a\x91\x60\x2e\x04\xa4\xc0\x57\x3e\x23\x92\xe5\xf4\x88\x42\xf2\xec\x12\x37\x5a\x93\x68\x00\x0b\x07\x9a\x9b\x68\x3b\x0e\xc1\x94\x81\xa2\x57\xce\x0e\x5a\x69\xbf\x45\x90\x06\x43\xeb\x8b\x28\x25\x25\xfb\x0b\xeb\x83\x62\x21\x50\x3f\x70\x53\x3d\x50\x61\x29\x02\xdb\xd7\xd3\xf4\x2c\x5e\x1b\xd1\x0f\xb6\x41\xd0\x28\x6a\x45\xe4\xc6\x50\x78\xdb\x2b\xb9\x5d\x9a\xcf\x50\x2a\xb5\x6b\x7b\xa2\xcd\x83\x07\xf1\x68\x70\xf6\x6d\x67\xe6\x25\xde\x9b\x7d\xa9\xc9\x87\xf3\xba\x2d\x12\x7c\x8d\xc2\xf5\x15\x37\xdb\x5c\x77\xcc\x77\x3c\xcb\x48\xbc\xbe\xde\x61\xb6\x6c\xb5\x39\xcd\xf8\x79\x87\xe3\xdc\x78\x75\xb9\xd6\xaf\x6f\x7d\x84\xa3\x05\xfd\x29\xbc\xe5\x14\x20\x9a\x08\xa0\x34\x15\xf1\x69\xa7\xe5\x66\x0b\x1c\xe9\x68\xac\xce\x52\x47\x16\x37\x68\x13\x9e\x34\x20\xfc\x85\x5a\xd7\xce\x45\xe3\xf1\xc1\x86\xb5\x96\x66\x8e\xb4\x90\x2d\x5e\xcb\x5f\xf1\x18\x89\x3f\x73\x94\xc4\x4e\xc7\x49\xf0\x23\x45\x85\x78\x5a\x0e\x95\xa8\x3b\x39\xb7\x1d\x28\xd7\x6f\xfb\xfe\xdc\x68\xd8\xeb\xd7\x11\x4f\xac\x9d\x02\xc4\x97\xd0\x77\xd7\x5c\x41\xe8\x38\x05\x57\x0d\xa8\x35\x41\xac\xbc\x50\x6b\xb0\x1c\x50\xad\x5e\x2a\xb4\xb0\x80\x93\x62\x73\x38\x99\x1f\xe2\xe3\x7d\xdd\x42\xf8\x61\xd9\x86\x63\x80\x15\x37\x3d\x2f\x6c\x47\x0e\x0e\x9a\xc0\x9c\xa8\x4c\x55\x2a\x3e\x07\xb7\x07\x35\xff\xec\x52\x09\x70\x00\x34\xdb\xf9\xda\xb8\xeb\x46\xbb\x11\x30\x6c\xc8\xc3\xd7\x58\x34\xc7\xda\xef\x62\x09\xf2\x86\xa0\x5b\xdb\x81\xfa\x81\x98\xd5\x68\x09\x0a\xb9\xf6\x85\xbc\x50\x56\xc3\x62\x53\x3f\x41\x38\x32\xf0\xdf\x32\x52\xe3\xd7\x83\x16\xa0\x70\x7c\x2c\x9f\x35\x71\xaa\xcd\x8c\x78\x0d\xd9\x9b\x59\x72\x11\x4a\x8f\x6d\xdc\xf6\x4d\x39\xe8\xa6\x6e\xc9\xcd\x22\x62\x22\x6b\x84\xb1\x85\x4d\x0a\x18\xcf\x66\x66\x29\x1c\xd4\x31\x11\x6d\x6c\xd3\xa6\x69\x85\x56\x80\xc1\x1b\x7c\xfb\x9a\xea\x77\xb6\x9b\xfb\xb5\x77\x22\x6e\x5d\x78\xb8\x07\x13\x99\x65\x0c\xe1\xda\xcf\x7a\xb0\x4e\x4f\x62\xbf\xf6\xc9\xae\x9b\x34\xb9\xeb\x42\x28\xe5\xd7\x05\xfb\xc8\x00\xfd\x75\x5c\x34\xe3\x64\x18\xb7\x34\x3b\xbe\x2d\xf4\x44\x95\x50\x91\xd1\x17\x6c\xbc\xde\x83\xce\x7a\xe8\x6e\xec\x2b\x81\x1a\x31\xcc\xa4\xe7\x52\xf2\x15\x2a\x1f\x88\xef\x29\xf8\x76\x7b\x00\x70\x30\xca\xa6\xe3\x75\x88\x18\x21\x1b\x99\x35\x59\xac\x3c\x26\x6c\xb3\x36\x8d\x73\x28\xe5\x82\x96\xb6\x6d\xe9\xc7\x5b\x16\xe7\x47\x70\xf1\xf1\x70\x31\xfa\x6c\x50\xe0\xeb\x9f\x16\x69\x3e\xa3\x8c\x02\xbc\xa2\x0c\xa8\x96\x7d\xa1\x0a\x0d\x3e\xf0\x28\xe4\xfa\xc8\x78\x3f\x46\xa6\xf5\x72\x10\x85\xcf\xa1\x9a\x1f\x4a\xd9\x9d\x77\x7e\x92\x9f\xd2\xc5\x6a\x51\x0b\xbc\x57\x9f\x26\x4a\x25\x2a\x19\x74\xce\xad\xd6\xcb\x55\x56\xe0\xdb\xe0\x0a\x52\xe0\x0b\xa5\x38\x7c\xd8\xa4\xf0\xfd\xb5\x04\xf7\x4a\x5e\x31\x1f\xcc\x0b\x1c\xac\xb6\xb0\x0f\x95\xdb\xc7\x17\x3d\x64\xf1\x71\x7a\xa9\x8e\xf2\xd9\x73\x9d\x57\x85\x39\x0b\x05\x78\xff\xe1\x47\x83\x38\x45\xcb\xcb\x77\x29\x79\x3a\xab\x71\x42\xbd\x09\xf7\xa9\xdc\x70\x7f\x5f\x8c\x9d\xe8\xf3\x4a\x15\x30\xe3\x6d\x5b\x0d\x75\x01\x04\xfe\xd3\xed\x6d\x44\xd7\xa7\x51\x44\xcd\x24\x98\x60\xfc\x20\xf2\x86\x33\xdc\xf4\x6c\xe2\x06\xd8\xc3\xa9\x2e\x26\x06\xe9\x19\x10\x9b\x60\xbf\x4b\xf2\x03\xbe\x0f\x5f\x27\xb9\x41\xe3\x2e\x5c\xef\xa0\x5d\x4f\x8b\xd0\xb4\x22\x4c\xf9\x6c\x13\x8c\x9b\xc9\x2d\xe4\xda\x71\x95\x35\xcc\xaa\xb4\x28\xd3\xc5\x2a\xb3\x19\x50\x91\xa0\x64\xe9\x54\x91\xbd\xac\x61\x8c\x5d\x62\xd0\x79\x98\xc7\x60\x30\xf8\xef\x60\xf1\xff\x0e\x16\xff\x3f\x38\x58\x9c\x1a\xb6\x18\xd5\x9d\xdd\x0b\x7b\x3f\x6a\xae\xed\x07\x45\xb0\x0d\x16\xf6\xad\x35\x2a\x93\x65\xd5\x18\xd8\x14\x85\x3b\x21\xf3\x19\xfe\x06\xe6\xa1\xbe\xa8\xa0\x96\xca\xfb\xf7\xaf\xfb\x91\xea\xe4\x53\xd5\xb7\x4c\x42\x5f\x54\xb2\xc0\x78\xb0\x7a\xc0\x15\x8c\xf8\x5a\xcf\xc0\xcc\x11\x0d\xab\x67\xaf\x92\x4f\x7d\xf3\xef\x4f\xe5\xac\x8f\xe9\x45\xde\xcb\xf2\x82\x41\x1e\xaa\xab\xfd\x7f\xec\xfd\xeb\x76\x1b\x47\xb2\x2f\x88\x7f\xe7\x53\xa4\x68\x2d\xe1\x22\xb0\x20\xd9\xdd\xb6\x9b\x12\xa4\x45\x4b\x72\x5b\x3e\x92\xa5\x23\x4a\xed\xde\x7f\x5a\x6d\x24\x80\x04\x90\x62\xa1\x12\xce\xac\x22\x85\x96\xf0\x5f\xf3\x69\x1e\x60\xe6\x05\xe6\x59\xe6\x51\xce\x93\xcc\xca\x88\xc8\x5b\x55\x81\xa4\x2e\xde\xed\xb3\x77\x6b\x2d\x9b\x64\x55\x56\x5e\x23\x23\x23\x22\x23\x7e\xf1\x7c\xc9\x8d\xe8\x76\x68\xf8\x71\x36\x85\xe1\x90\x3d\x80\x1b\xac\xc8\xc8\x03\x8c\x16\x53\xa4\xb0\x4a\xe7\x78\x78\xbb\x3b\x28\x2b\xbc\x02\x10\x09\x25\xbf\x02\x59\x27\x75\x0f\xf2\x95\xbb\x44\x2b\x80\x11\x28\xa6\xa7\xaf\x74\xfe\x00\x9a\xe8\xd6\xe3\xdc\xe0\x5a\x74\x34\x8a\xd1\x2b\xd8\x8d\x1b\x69\xae\x1a\x30\x7d\x54\x79\xde\xf0\xaf\x85\x5b\x90\x10\xcb\x1e\xe0\xb5\xd1\xd9\xe7\x7a\xa8\x05\xfc\x86\x8c\xf7\x32\xe4\x21\x8b\xac\x3b\xf7\xf0\xd2\x24\xad\x1f\xd3\x3c\x12\xf3\x75\xdf\xd2\x79\x09\x9e\x67\x79\x65\xd0\x19\xff\xb7\x4a\x60\x3c\x43\x12\xaf\x81\xe8\x71\xce\x53\x23\x36\x0e\xf8\x09\x82\x7e\xb8\x7c\x92\xf1\xa8\x93\x7d\x00\x0d\x1d\xf9\xb7\xdd\x76\x8f\xd9\xcb\x22\xd8\x66\x0a\x75\x99\x7d\xf4\x2c\x04\x3a\xdd\xaf\x83\x09\xc0\xd3\x36\x1d\xda\xc9\xb5\x23\xa2\xd9\x64\x93\x93\xaf\x22\xd0\xe1\xff\xb4\x73\xb1\xc3\x51\xb1\xd4\x9b\x86\xf6\xe2\x89\x97\x8d\x58\x54\x01\x79\x31\xd6\xd5\x16\x5f\x3a\x23\xbe\x61\xe7\xb7\x1b\x9e\x86\x05\x88\xb6\x45\x96\xab\x29\xcf\x4d\xdd\xf3\x95\x4d\x61\xa2\xba\x2d\xca\x58\x23\x8b\x50\x57\x5c\xe0\x37\x7b\x69\x54\x5a\xcd\x16\x50\x6a\x0e\x11\x75\x98\x0f\xeb\x89\x52\xeb\xc3\x78\x09\xdc\x3a\xb9\x62\xe1\xf8\x37\x8d\xf5\xc2\x6d\xd4\x8d\x02\x05\x69\xa1\xa2\xe8\xc1\x56\xe5\x9f\xad\x51\xe1\x61\xaa\xd2\xce\xd7\xb2\x56\xc8\x5f\x8c\xb8\x8a\x5a\x7c\xc1\x58\x58\xfd\x9c\x6c\x4d\x6d\x0a\x6a\xdb\xc2\x33\xc7\xe4\xa2\x16\x4e\xb0\x92\x16\x6d\x95\x92\x4a\x1b\x80\xa3\x5b\x39\x0f\x63\x82\xfb\x51\x45\xb8\x5f\x84\x64\x9e\x24\x71\x82\xe7\xfd\x39\xa2\xbe\x9b\xa5\xd2\x75\xf5\x9d\xaa\x9d\x4a\x3d\xad\x64\xe9\x52\xb9\xa1\x2f\xbb\x47\x98\x0b\x38\x80\xf6\xf9\x9c\xcb\x1c\xae\xa7\x28\xc4\x92\x02\x97\x5b\x2a\xf6\x01\x03\xbb\xec\xb5\xb0\x72\xe4\x3d\x4f\x69\x1c\x17\xa2\xec\xd2\x02\xf6\x7a\xc0\xf9\xba\xe0\x10\xe0\xde\xdb\x3f\x7a\xec\xc6\x8d\xd6\xfa\xec\xbf\x6b\xd8\x64\x26\x7e\xdb\x59\x84\x41\xb6\x5f\xec\x76\x37\x3a\xf0\x7a\x17\x7e\x71\x08\x8a\x81\x70\xb9\xfe\x61\x2e\x3a\xa8\x5d\x75\x2c\xcb\xa6\x97\xd8\xdb\xe8\xdd\x85\x95\x32\x66\x3f\x95\xe6\x27\xfe\x93\xcb\x36\xe6\xff\x86\x2e\xf5\x76\x1a\xbb\x03\xab\x6a\x73\x82\x77\xff\x1a\xfb\x12\x66\x67\x57\xe9\x30\xc7\x7e\xc2\xc5\x6f\xec\x3e\x58\xec\xdc\x4c\xe1\x49\x74\xd8\xe6\xfa\x5f\xaf\x68\xee\xc3\x09\xba\x5d\x3f\x2f\x71\x94\x73\x8f\xdd\xa7\xd9\x3c\xc4\x15\xf0\x92\x41\xeb\xe5\x00\x73\x87\x66\x99\xb3\xbb\xec\xcf\xbb\x67\xc6\x49\x08\x6c\xc4\xfe\xc4\x0e\xac\x28\xb2\xab\xba\x38\x7a\xe8\x89\x5a\x9c\xe0\x77\xaf\x7b\xac\xfe\xa4\xe6\x6c\xd1\x3a\xe0\xa8\x38\x86\x0b\xec\xee\x1f\x63\x2b\xb3\x38\x64\x51\x3c\x35\x4d\xf7\xdb\xb5\x9d\x94\xce\xbc\x38\x64\x1d\x76\x93\x85\xc7\x28\x41\xbe\x7f\xcf\xc2\x93\x52\x1d\x83\x8b\x64\xb7\x67\x17\xc4\x3f\xaf\x87\x81\xc7\xff\x50\xab\xa0\xd5\xbb\xa8\x20\x2a\x1d\xb8\x2c\x3b\x8b\x6d\x77\x2e\x53\xf3\xe6\x84\xa5\x36\x53\x62\x7c\xa3\x51\x8d\x44\x77\x2f\x6a\x70\xfb\x80\x14\xcb\x5a\x4c\x29\x8b\x03\x6c\x83\x08\xa3\xce\x0a\xf7\xd3\x5c\xf0\x62\x80\x3c\xcf\xb3\x37\x0c\x0d\xc7\x30\xcc\x15\x81\xd4\x3b\xc6\xbb\xbb\x51\x04\x77\xcc\xb5\xe0\xb3\x0d\x3a\xc0\x5a\x0d\x36\x95\x67\xe2\x7f\x3b\x25\x88\xf8\xdf\x44\x0b\x7e\xda\x72\x0e\xb6\x97\x6f\x9b\xcd\xb6\xbb\xa9\xdd\xe7\x39\xbb\xd2\x99\xde\x56\x6f\xdd\x2a\x9a\xfc\x69\xd7\xa4\x30\xbc\x90\xe5\x86\xfd\xcc\xb5\x9d\xd1\x43\x97\x9a\x42\xac\xcb\xe5\x01\xea\x7b\x34\xce\x00\xfd\xef\x3e\xde\x78\x64\xbe\xa9\x9a\x51\xd2\xbb\x89\x2c\xd9\x54\xf3\x7f\x6e\x06\xa0\xaa\xd9\x33\x49\xe9\x53\x03\x12\xa7\x4f\xb1\x2c\x0c\xa6\x4e\x58\x6b\x75\x26\x98\x2c\xaf\xd5\x6b\x46\xbc\x6a\x29\xa6\x22\x82\xc0\x3d\x15\xeb\xd2\xcb\xf1\x3e\x92\xd4\xf7\x0e\x10\x02\x7c\x2e\xcc\x86\x90\x71\xad\x0b\x97\x15\x23\xd6\x0d\x22\x46\xc0\x05\x6f\x49\x6f\xef\xca\xc1\x39\x46\x9a\xce\x8d\x1b\x91\x80\x12\x81\x96\xb7\x72\x7a\x12\x2c\xda\xab\xf1\xdd\xd9\x51\x5f\x9b\xbf\x81\x97\x61\xfd\x37\x75\xc8\xf6\xf6\x45\x8f\x7e\x77\x9d\xea\x86\xca\x6c\xb3\xbd\xba\xdb\x38\x1b\xef\xa4\xf1\x31\x2b\xf9\xa9\x30\xac\x82\x25\x5c\x0a\x2d\xea\x9e\x54\x5d\xdc\x44\xef\xdf\xb3\x16\x91\x1a\xc6\x5e\x96\xf9\xc1\x41\x63\x90\x76\xdb\x6b\x54\xfa\x6a\xa4\x8d\xa6\xd3\x7a\x3e\xd1\x6e\x47\x16\xf3\x99\x5c\x74\x9a\xac\xb0\xf3\xee\xd6\x36\x8a\xfb\x88\x8c\xa6\x5a\x70\x44\x2c\x3b\x9a\x28\x5d\xca\x62\x71\xed\x97\xa2\xc3\x6e\x36\x6b\xf8\xd9\x09\xa5\x10\xc4\xe2\x02\xe9\xe1\x24\xfc\x73\x54\xe1\x21\x7b\x77\x7b\xdb\xd2\x03\xab\x3b\xfb\x83\x65\xd7\xc5\x9a\x5f\x8f\x0b\x66\x2c\x5a\x99\x74\x82\xfc\x63\xaa\x63\xad\x2c\x2b\xb6\x23\xde\xad\xc4\x34\x25\xd9\xfa\x57\xed\xf1\x57\x3b\x99\xd3\x65\x6c\x29\xbe\x7c\xa1\x9f\x17\x07\x6e\x01\xe6\x6c\xfc\x74\xc7\xbd\x09\x5e\x5c\x47\x05\xe1\xc3\x97\x9b\xb5\x60\x21\x21\xae\xcf\x60\x8f\x68\x75\x1e\xdf\xbd\xc5\xf8\xd8\x7e\xaf\xf2\x9d\xab\xca\xa1\xca\xf1\xb6\x24\x45\xda\xbe\xd0\x8d\x56\xda\x6c\x9c\x3f\xa9\x12\x81\x33\x41\xce\x3f\x42\xf8\xa0\x1f\x8f\x07\x18\xa4\x81\xd6\x37\xa3\xd0\xc2\x8c\xf5\x8c\xd9\x9b\xff\x59\x09\xbd\xc1\x99\x19\x78\xdd\x00\x32\x41\xd1\x6d\x7f\xa8\x1f\x8e\x4e\x56\xad\xd9\xc3\x67\x4f\xd9\xc4\xe5\x63\x23\xab\x07\x2f\x98\xc0\x64\xec\x88\x06\x5b\xcb\x22\xf5\xf0\xd9\xd3\x46\x6a\xaf\x4f\xbc\xdd\x6a\xac\xd2\xc7\x42\xdd\xdb\xae\x9a\x96\x2b\xaa\x2e\x00\x6e\xe0\x9d\x57\xbc\x1e\xbd\x46\x5a\x28\x4a\xdd\x03\x55\xd9\xd3\x02\x23\xdf\x42\x1b\x60\x2f\xf2\xf8\xba\x1f\x86\xd5\x4e\xa6\x48\x96\xab\x62\x11\x63\xbe\x47\x59\xc0\x5a\xdc\xf4\x1b\x44\x14\x7a\x07\x44\xe0\x82\xf3\x7c\x6e\x74\xfa\x3a\xd4\xef\xd3\x33\x88\x5c\x2e\xe0\x7a\x6a\xae\x34\x5b\x70\x3d\xe1\x8b\x18\x23\x65\x57\xde\xb2\x71\xc8\xdd\x35\x46\x4c\x6d\xb8\x33\x42\xb2\x9a\x6c\xa2\x8b\x1a\x66\xaa\xe9\x92\xf1\x68\xbe\xda\xaf\x89\x5e\x88\xb5\xe0\x25\x73\xbf\x60\x22\xd0\x15\x2f\xf8\x22\xc9\xde\x8b\x97\x71\x5a\xe1\x7d\x1e\x5d\x3e\xc2\xcd\x59\x4b\x4f\x7f\xc4\xa4\x62\x48\xc2\xad\x69\x33\x92\xed\x82\xa8\xd5\xd2\x04\x3e\x80\x9e\xf9\x84\xe4\x9b\x42\x42\x1c\x45\x29\xc5\x41\x8a\xa9\x5f\xb9\xd4\xeb\x5d\x22\x9b\x8b\xf0\x4c\x16\x12\x84\x18\x0a\x93\x81\x84\x79\x11\x05\x60\x5c\x09\xc4\x1b\x16\x62\x2a\x8c\xe1\x7a\x83\xbb\xb4\x6a\x1d\xec\xff\x46\x0c\x02\x7f\x71\xdd\xd8\x61\x9e\x46\xaf\xa4\x29\x2f\x3a\x65\xec\x6d\x14\x27\x99\x56\xda\x2f\x2b\x19\x6d\x5d\xac\x1a\xc9\xed\x0d\xbe\xed\xad\xaf\x71\xd2\x8e\xe0\xd9\xed\x4a\x25\x29\x87\xe3\x44\x9e\xd1\xe1\x89\x8f\x3d\xa9\x44\xa9\x46\xa2\x73\xac\x25\x89\x66\xaa\xb7\xef\xb0\x06\xb7\x38\x9b\x7b\x97\x0a\x58\xad\x9f\x2c\xdf\x94\x45\x6b\xea\xa1\xf4\xa8\x9d\x09\x42\x8f\x7c\x12\x97\x21\xb8\xb4\xb6\xcf\x4f\x7c\x03\xaf\x07\xa1\xb1\x76\xe3\xeb\x70\xc8\x0c\xc6\xae\x12\x8e\x86\x47\xa8\x43\x39\x3d\xe2\xa0\x86\x75\x5d\x5a\x17\x2b\xf8\x23\x21\x0f\x5a\x98\x5b\x9c\xb5\x16\x9b\xa0\xbb\x1a\x2d\x28\xe8\x6b\xb2\x71\xf1\xce\xaa\xd2\x71\x93\x69\xea\x8b\x4b\x78\x5b\x2f\x59\x84\xb6\x9c\x3f\x2e\x9f\x4c\x6b\x3e\xa0\x66\xea\xa9\x3b\x17\x54\x88\xf9\x82\xda\x2b\xa4\x5c\x42\xcd\x2c\xaf\x4d\x32\x49\xdf\xf7\x5a\xbe\xd9\x95\x3c\x76\x67\x3f\x9b\xef\x7b\x2d\xdf\x34\xd2\x39\xb5\xf5\x36\x5e\xb3\x87\xd2\x00\xd8\xba\xf7\x95\x18\x84\x6c\x03\x70\xf4\xae\xd7\xf9\x66\x48\x27\x22\x25\x99\xae\x6d\x1b\xb7\xeb\x5d\x63\x54\xd8\xfd\x89\x37\x12\xee\xaf\x00\x19\x9f\xbc\x77\x8f\x52\x4c\x3a\x2c\x00\x89\xba\x23\x47\x9e\xf4\x2f\x00\x27\x88\x52\x93\xc5\x20\xc3\x50\x5b\x0c\x98\xb2\x23\x4d\x58\x3c\x21\x47\xc1\xbf\x06\xce\x0b\xc8\x5a\x02\xa7\x8d\x5a\x54\xa4\x09\xe3\xd9\x80\x7a\xaf\x56\x55\x31\x63\x7f\xfb\xb6\x63\x5c\x6e\x89\xdc\x2a\x56\x67\x92\xfb\x1c\x6c\x33\xf8\x2a\x6e\x04\x04\x83\x22\x97\x85\xc0\x24\x6e\x26\x46\xba\x4b\x77\xad\x38\x8c\xff\x3e\x60\x2e\xc5\x89\xad\x32\x5b\x28\xb5\xc8\x45\x36\x55\xab\xe1\x7a\x78\xf6\xed\x50\x1a\x53\x09\x33\xc4\x34\xdc\xf7\xe5\x6c\xf4\xe5\xad\x6f\xbe\xfa\x62\xfa\xe5\xd7\xed\x75\x2c\x64\xb9\xac\x26\xf0\x39\x01\x5d\xba\x9f\xd9\x1b\xe3\x2a\xfb\xfa\x9b\xbf\xfc\xe9\x0b\xf8\x7d\xaa\x56\x96\x41\x1d\x7c\xf5\xed\xd7\x7f\xfa\xf6\x2f\xb7\xfe\xf2\x09\x95\xde\xfe\xea\xf6\x57\x69\xa5\xb7\x6f\x7d\xf5\xcd\xb7\x7f\xfa\xf3\xed\x3a\xe7\xae\x67\x66\xbe\x3c\xe5\x72\x4b\x1a\xb9\x9a\xb2\xd9\x48\x29\xd7\xc8\xae\x9c\xa2\x1b\xc6\xd7\x25\x9f\xc7\x2d\xcc\x6e\x83\x4f\x96\x9a\x1f\x61\xd4\x25\x21\xe3\x89\xc8\x6d\x44\x15\x3b\xa4\xd1\x18\xe7\x1b\xf3\x26\x60\x60\xb3\xd7\xf2\x4c\xe2\xed\x83\x39\x7e\x7c\x28\xb6\xd5\x81\xbc\xc8\x3b\x63\xdd\xaa\x98\xf2\x6a\xb1\x2c\x7b\x59\x9c\xe1\x72\x5e\xe5\xa8\x4b\xd1\xe5\xa2\x5d\x14\x92\x73\x42\xcd\xd1\x55\xe4\xe7\x70\x15\x69\x91\xe3\xbb\x6d\xfe\x1c\x9c\x8d\x6a\x8e\x17\xf8\x7c\xc2\x46\xec\xcb\x0b\xbc\x45\xf0\x22\xaf\xc3\x6f\x4e\x3a\xbd\xd6\xb8\xf9\x1d\x5f\xd4\xc2\xe3\x3d\x67\x72\xbd\xb9\xe9\xda\xbf\xc3\xb6\xed\x15\xef\xf0\x1d\x08\x10\xce\xf5\x40\xfc\x5e\x6f\xb4\x8d\x17\xed\xa8\x70\x28\xb6\xf1\xd3\x34\x79\xd8\x15\x40\x93\x5d\x8e\x14\x04\xef\x03\xfa\xa9\x72\x7b\x96\x5b\x41\x1d\x43\xf8\x64\xc1\xae\x14\xed\x5f\x6f\xa3\x89\xa7\xec\x1a\x03\xa7\x94\x24\xbf\x4b\x92\xdd\x8a\x42\xa6\x5b\xc0\x95\x5b\xe6\x09\x3d\x64\xed\xe4\xe0\x7d\x2b\x7b\x62\x7f\x20\xec\xe5\xc4\x8e\x04\x0b\x0c\xe2\xf4\xb7\x94\xe1\xde\x8e\x98\xc0\xef\x64\x71\x01\xea\x5c\x7f\x4b\x29\x78\xec\xc6\x82\x0b\xf7\xb0\x03\xd2\xad\xd4\x22\x66\xdb\xb2\x87\x75\xf8\x28\xba\x1a\x8e\x24\x45\x22\x20\x8a\x50\xb5\xa5\x7a\x0e\x53\x37\xbd\x46\xfe\x7c\x8c\x0a\x0e\xe7\xcf\xcb\xad\x22\xca\x68\xe7\x55\x56\xdd\xc2\xc4\x51\x90\x0d\x0b\x64\x68\xb9\x6a\x75\x2b\x43\x45\xd7\x77\x74\x0c\x9e\xec\xc6\xaa\xeb\x8b\x8a\x6b\x5e\x94\x02\xc9\xb4\x54\x21\x8e\x39\xe1\x96\x0e\xb5\x32\x44\xb1\xab\x22\xc6\xad\xb4\xc7\xfd\x61\xeb\x0e\x39\xf0\x7e\x4a\x8e\x62\x43\x4a\x44\x4f\xb7\x94\x46\xc5\xb9\x68\xc0\xf0\x89\x2e\x54\xc1\xba\x6b\x10\x8c\xf9\x24\xdf\x38\x2d\xed\xe1\xb3\xa7\xc9\x16\x61\x5a\x14\x33\x01\xe8\xec\x59\xda\x3a\x2f\xad\xb4\x01\x86\xb0\x0f\x49\x42\x8e\x2e\x7a\x5b\x3f\x70\x52\x62\x5d\x46\xc7\xb4\xf1\x64\xaa\x70\x98\x3b\x2c\x0e\xb5\x83\xc4\xab\x95\xfe\x23\x27\x58\xd5\x8e\x94\xb9\xd2\xe7\x5c\xcf\x28\x84\x32\x36\x21\x44\x43\xaa\xdb\x21\x9b\x96\xc9\x2d\x33\x42\x9f\xc9\xf6\x84\xc4\xbf\xfe\x6a\x15\xef\xc3\x5f\x7f\x45\xd7\xdb\xd8\x79\x37\xca\xa9\x57\x95\x46\xce\x10\xfa\xd3\x7b\x3b\x8e\x71\xb6\x06\x94\x49\xbe\xf6\x38\xb4\xe0\x26\xd3\xaf\x74\xc6\x7e\x50\xe7\x56\xeb\x72\x79\xb5\x45\x31\x55\x95\xe6\x0b\x1c\x68\xe4\x85\x17\x49\x95\x31\xd8\x2d\xf8\x4a\x87\x06\x22\x7f\x57\xab\xc8\x8f\x51\x72\x46\x40\x26\x7b\x00\xf3\xd2\x41\x0d\x91\x98\x1a\x50\xfa\xad\x34\x1a\x6f\x91\x0b\x19\xe5\x1f\xea\x40\xf9\xef\x77\x9e\x24\x07\x02\x2c\xd7\x15\x4e\x05\x0c\x02\xa1\x38\xd0\x98\x8c\x8b\x9a\x3b\x27\x04\x87\x05\xaf\x34\xba\x01\x84\x08\x7b\xfc\x98\xc8\x17\x72\xda\xc4\x7c\x1f\xae\xed\xb8\x39\x45\xf3\x94\x23\x72\x2c\xc3\x78\x55\xaa\x03\xf0\x03\x4b\x74\xd6\x6b\x11\x23\xba\x7e\x7d\xbd\xe4\x06\xfc\xe7\xae\x5d\xe2\x89\x95\xfa\x9f\x5d\x0c\xd5\x79\xa9\x53\x17\x8b\x0f\xb5\x76\x3f\xce\x9d\x28\x83\x91\x05\x25\x6a\x07\x9d\x07\x60\xd5\x0e\xd1\x33\x32\xa2\xc6\x43\x16\x2f\xd1\x21\xfd\xdc\xb6\x9c\xca\xd7\xaf\x87\xab\x99\x68\x85\xe7\x49\xe8\x58\xfd\xf6\x06\xda\x9e\x7f\xee\x20\x15\x60\x24\x9f\x7c\xc0\x8f\x9d\xb7\xe2\xd8\xa7\xba\x2f\x55\x38\x18\x8b\x1a\x7c\xb2\xe3\x21\xc0\xd6\x22\x92\x05\x64\xbb\xba\xba\x30\xb7\x3b\xd2\x6a\xdc\x19\xeb\x7e\xaf\x34\xe0\xc2\xad\x73\x42\x27\x71\x5e\xa1\x0f\x9f\x3d\x45\x43\x18\x00\x1f\x96\x2f\xe5\x4a\xa8\xaa\x1c\xb0\xbf\xff\xf0\x82\x21\xc8\x8d\x9e\xd9\xcd\x5d\x6e\x58\x2e\x27\x9a\x6b\x00\xbe\x0b\x8d\xb8\x98\x17\xda\x09\x2e\x1a\x05\x42\x41\xa2\x5e\x85\xce\xc4\xa1\xff\xce\x10\x8c\x98\x7a\x91\x3f\x7c\x64\x9a\x85\xfc\x80\x29\xbe\x7a\xe3\x58\x0b\x29\x55\xc1\x12\x2d\x8b\xc5\x76\xd0\x7a\x20\xee\x3a\xe3\xe9\xb4\xf5\xde\x13\x71\x0c\x46\xa4\x60\x7d\xc1\x9e\x78\x67\xfd\x56\x05\xec\xb9\x11\xd5\x4c\x1d\x3c\x50\xb8\x2c\x61\x75\x2f\x50\xc9\x42\xb8\x24\x16\x06\xf1\xb4\xbe\x21\x5b\xbd\xed\x9c\x58\x0b\x5a\x13\x7c\x56\xbb\xf5\xbe\xd0\x7f\xe2\x0a\xce\x13\x5b\x36\x97\x05\x5c\x7e\x34\xbf\xb6\x53\xb9\x8b\x37\xa4\xb7\xed\xdb\x4b\xd4\xb2\xf0\x1a\x16\xa5\x63\xe2\x5d\x81\xdb\x31\x0a\xd3\x37\x70\xf1\x5d\x2d\x96\x84\x67\x95\xe7\xea\xdc\x2e\x9c\x29\xf9\x42\x98\x36\x91\xf3\x36\x26\xf9\xbc\xc2\xa9\x18\xc3\x32\x85\x33\x36\x39\x2a\x2f\x4b\xed\x48\xab\xd1\xdb\x52\xcf\xa3\xad\xf2\x65\xc3\x6c\xf0\x19\xa4\xbd\xb4\x4b\x1f\x25\xf0\xb1\xaf\x92\x09\xba\x2c\x7a\x6c\xdb\x8c\x11\xb3\x62\xc7\x6a\x25\x66\x92\x97\x22\xdf\x04\x79\x3e\xe9\x66\x34\xa4\x73\xde\x36\xcf\x1f\x78\xbf\x58\x9f\xdf\x8f\x11\xcf\xfe\x6b\xc9\x65\x1f\x26\x93\x7d\x1e\x0d\x1c\x36\x6a\x4d\xd8\x8a\x99\x4d\x9d\x71\x25\x41\x0c\xf0\x71\xa7\x0d\xfc\x3b\x18\xbe\xeb\x8c\x6d\x17\x4f\xbb\x98\x9d\xb5\x73\xb2\x5d\xce\x35\x4d\x6e\x7b\x99\x3c\xf4\xf1\xce\x20\xce\x91\x47\x5c\xee\x21\x82\xbf\x7d\xb2\xd0\xf2\x79\x4c\x13\x0e\xe1\x99\xd0\xeb\xce\xd4\x29\x77\x0c\x8c\xae\x2f\x4a\xc5\xd4\x74\x5a\xe9\xd8\x30\x01\xf6\x08\x20\x37\x3e\x2d\x2b\x9e\xa3\x18\x3d\x93\x73\xba\xe7\x0a\xf5\x9f\x81\xa8\xc1\xf8\x54\x2b\x63\x9c\xb8\x62\xc8\x83\xce\xb0\x10\xd2\x48\xb7\x09\xff\xff\xdb\xb7\xd8\x4a\xe6\xb9\x34\x62\xaa\x8a\x59\xab\x85\x14\x0c\xae\xe9\x25\x30\x05\x7a\x54\xeb\x90\x4f\x38\x8e\xf8\xc0\x7b\x63\x27\xaf\xc4\xc1\x1f\xce\xf9\xc9\xf0\x55\xd4\x6b\xca\x76\xf7\x6f\x5e\x74\x05\x5e\x94\xf2\x90\x36\xad\xad\x1e\xd2\x15\xe7\xb2\x0a\xdb\xc5\x96\x4c\x43\x8c\x22\xb9\x3f\xaa\x3c\xc4\x88\x46\x1b\xd0\x29\x65\x69\x2c\x8e\x7f\x5d\x13\xce\x6a\xf5\xd4\xb4\xab\xd8\x88\x5d\xe7\x5a\x9f\x75\x1b\x7f\x06\x4c\x6e\xbc\x31\x37\x84\x11\x5d\x94\x08\xc3\x0d\x7e\x1b\x05\x78\xfe\x67\xec\x58\x5c\x7c\x24\x8b\x95\x2c\x19\xfc\x7f\x9b\xa6\xaf\x9f\x49\x33\xad\xc8\x50\x39\x27\x17\x91\x8b\xa3\x5c\x5f\x82\x7d\x0f\xcb\x51\xcc\x65\x8c\xb5\xb9\x82\x0c\x8a\x87\x11\x05\x92\x5b\x07\xd7\x0b\x93\x65\x59\x6f\x8c\x3c\x65\x0c\x8f\xc7\x35\x60\x87\x3e\x5b\x73\x63\x80\xec\x49\x29\xf1\x8d\x2c\x09\x41\x2f\x88\x91\xbc\x2c\xb5\x9c\x54\x65\xbb\x28\x09\xdb\x00\x1d\x56\x8f\x91\xae\x0f\xd8\xf8\x1d\xfc\xba\x1d\x1f\x46\x41\xbd\xca\xc5\xab\x94\x7e\x64\x56\xe8\x19\xc3\x74\x8d\x0f\xc4\x8c\xa9\xba\xc9\x30\xf8\x5b\xd8\xf7\x35\xa3\xe5\x98\xf6\xd3\xc5\xad\xba\x54\x93\x54\x38\xdf\x78\x7d\x28\xf4\x23\x63\xcf\xc8\x67\x3c\x6d\x1f\x3b\xe9\x6f\xaa\x52\x31\x1b\xab\x5f\x4a\xa1\xb9\x9e\x2e\x37\xe4\xe1\x4c\x50\xe8\x1b\xdb\xa4\x11\x10\xd5\x5d\x54\x79\x5e\xef\xba\x25\x62\xec\x32\xf2\x28\xdb\x67\x20\x6c\x27\xeb\x42\xb7\x6a\x1f\x99\x52\xad\x9f\x53\x67\xc0\x8a\x6a\xbf\x77\xcb\x3f\xda\x52\xfe\x48\x3b\xb2\x66\xd1\x14\x62\x00\x43\xf1\xd2\xc1\xce\x2b\x5d\x2e\x85\xae\x0d\x1a\x4c\xcb\xfc\x8c\xcb\x1c\xae\xf7\x21\x4a\x08\xd2\xf6\xe2\x06\xc1\x1b\x6c\xa1\x45\xb4\x8c\x75\xe3\xf2\x78\xad\xa1\xf4\x43\x31\xe7\x55\x5e\xa6\xdd\x4e\x7a\x5d\x2f\x68\x44\x69\xd8\x78\x86\x7f\x3e\xc7\x97\x62\x36\x66\xf3\x9c\xa7\x99\x80\x10\x33\xaf\x12\xf5\x96\x9b\x9f\xda\xb6\x29\x9d\x23\xd0\x89\x46\xe8\xd0\x46\xd3\x21\x5b\xfa\x45\x07\x17\x2d\x1e\x2e\xdd\x23\x98\x38\xf8\xb5\x54\xb4\x9f\x58\x2c\x20\x36\xc1\x98\x69\xcb\x66\x59\x66\x77\x6d\x8c\xbb\xfc\xbd\xb7\xfa\x53\xd0\xbc\xbf\x72\xf0\x6e\x6b\x76\xbe\x53\x84\xe5\xdf\x33\x25\x64\x02\xa3\x6b\x07\xb9\x3b\x45\x91\x7d\x3b\x7b\x12\xf9\x46\xd4\xdd\x25\x4e\x6c\x89\xd7\xa9\x5f\xca\xb5\xf4\xab\x9a\x3b\x72\x6b\x05\x6c\xd4\x6c\xaa\x3d\x81\x60\x5a\x0c\x4f\x41\xdf\xfb\x1a\x9c\x6f\x14\x02\x9a\x1c\xa9\x33\xd5\xc0\x68\xba\x16\x9c\xf2\x53\x97\x2a\xe8\x5e\xc3\x6d\xfd\xa2\xc2\x75\x8c\xb9\xd8\x5a\x70\xe1\x87\x31\xde\x56\x9b\xdb\x7e\x2d\x06\xa0\x57\x1f\x6e\x2b\x7a\x71\x2d\x91\x47\xb7\x99\x7c\x06\x12\x73\x3d\x9b\xbb\x39\x6d\x2c\x45\x46\x05\xe2\x69\x4e\x27\xaf\x5e\xc3\xb5\xd1\x88\x1d\xdc\x6e\xa4\xa2\x49\x6a\x3d\xa9\x7d\xf4\xba\x25\x06\x75\xa7\x0b\x9c\x1d\xe9\x80\xdd\x1e\x40\x9d\xff\x49\x69\x43\xec\x1e\xfd\x64\xb9\xe4\xa1\x34\xeb\x90\x14\x11\xf7\x3f\x9d\x20\xd5\xfa\x9c\xeb\xd9\x85\x07\x13\x42\x8a\x6c\x1a\x86\x9b\x00\xc2\x70\xa1\x44\xa3\x8a\x6d\x5b\x3a\xb3\x76\x39\xc5\xc9\x33\xcc\x94\x5c\x97\x86\x91\x3f\x72\xed\xfc\xa7\xa3\x22\xe6\xb1\xec\x28\x8f\x8e\xa3\x8b\xfb\x13\xba\xe3\x7a\xe6\x50\x9e\x69\x52\xb0\x37\x89\x27\x2f\x5b\x88\x68\x1d\x1c\xc8\x4a\xc6\x8e\xe6\xa5\x00\x33\x12\xc2\xb7\xd3\xa7\x2e\x9a\xc5\x84\xf9\x55\xf6\x67\xdd\x21\x95\x17\x33\xf2\x04\xe7\x71\xf7\xa3\x99\x8d\xcc\x42\xb9\x22\x91\xe3\x9c\x6f\xb2\x68\xd6\x28\x1f\xb9\x5a\x87\x33\xb7\x58\x00\x14\x57\xe1\xc5\x01\x5f\x4d\x68\x04\x8f\x70\xc3\x64\xab\x66\x95\x18\xd5\xdc\x49\x11\x6c\x6b\x57\x9f\x60\x7f\xb5\x0b\xe2\x62\x68\x40\x39\xb9\xf1\xf3\x5d\xad\x5e\xe1\x50\xb5\x03\x69\x39\x4f\xb3\x2c\xeb\x6f\x41\xf0\x65\xcf\xa0\x39\x9e\xe3\xec\xd5\x01\xf3\x63\x88\x1e\x3f\xa8\x30\x96\x54\xdc\x36\xcd\x93\x95\xbd\x43\xc4\xb9\x2d\xf5\x8b\xb0\x4f\xbb\xe6\x12\xb5\x40\x15\xdb\x5e\xdb\xcd\xdc\x4a\x96\x8d\x53\x15\x24\x81\xda\x89\x2a\x56\xeb\x72\xd3\x02\x91\x91\x72\xc7\xf4\xdd\xee\x24\xc7\x35\xe1\xd0\x45\x31\xa6\x85\x70\x2e\x9a\x19\x8e\x6d\x93\x28\xab\xd6\x63\x99\x22\x1d\x80\xc2\x03\xeb\x25\x6a\x0d\xa7\x9e\xe0\xcd\x5e\x81\xeb\xf4\xb6\x5e\x49\x2a\xa9\xed\xf0\x26\x4f\x46\x91\xd5\xc5\xc0\x1d\xe1\xd4\x8d\xa6\xea\xdf\x1d\xe2\x44\xed\x5d\xf0\x91\x23\x9e\x23\x4b\x8c\x23\x36\x55\xc5\x94\x97\x5d\xf4\xb1\x7e\x3d\x08\x94\x38\x60\xb7\x7b\xe9\x97\x72\xc0\x1a\xf0\xd2\x35\x99\xa3\x21\xed\xb8\x0c\xca\x75\xc1\xe8\xfd\x7b\x24\x99\x78\x84\x38\x15\xb1\xce\xe4\x2a\x48\x40\x38\x94\x66\x5d\x40\x20\x1c\x04\x64\x84\xda\xd1\xee\xc1\x08\xd9\x5d\x56\x03\x26\x4c\x46\x44\x58\xd7\xbe\xbf\xa0\x27\x84\x2c\x5e\x62\x36\xb0\x33\xac\xf9\x02\x02\x09\x7c\x26\xaa\x74\x56\x9a\xa2\xe1\x89\x6c\x88\x56\x0d\x09\xcf\xac\x73\x39\x15\x5d\x39\x48\x30\xfc\xa9\xca\x26\x50\x68\xbe\x03\x40\x74\xaa\x8a\x52\x16\x0d\x50\xc8\xd4\x54\xd9\x72\x0d\x35\x1c\x62\x26\x84\x24\x17\xa8\xd5\xa3\x21\xa6\xb0\x3d\xc8\xa7\x54\x49\x9e\x85\xb6\x61\x9d\xc8\xd7\x19\xde\x02\x59\xa1\x67\x90\x10\xdb\xef\x06\xfb\x11\xff\x3e\x1c\x52\x4a\x2c\xaf\xa7\xb4\x7a\x5d\xd9\xad\x6c\x62\x15\x72\xe0\x76\x2d\x9b\x54\x13\x70\xaf\xad\x09\x83\xb5\xcd\x5f\xef\x73\x2b\xed\x36\x05\x3f\x62\xd2\x50\x7a\x97\x30\x3d\x1c\x7a\xc0\x11\x3a\xdc\xeb\xd6\xaa\xb0\xaf\xea\x61\xb3\x5e\xbe\x76\xf9\x1d\xf7\xae\xd0\xc1\xba\x50\x9d\xf4\xee\x33\x89\x99\x8d\x70\xe6\xdf\x43\xd6\x9c\xa9\xf3\xc2\x49\x43\x40\xd9\xe0\xf9\x1c\xa2\x3d\x10\x2f\x58\xea\x28\xb6\xee\x0f\x28\x7a\x06\x8b\xd2\x1f\x57\xfe\x8c\x2d\x4e\x38\xd5\x18\x3a\x47\xfe\xfe\xf4\x07\x4d\x7c\x8a\xc8\x19\x1a\x69\x11\x51\x3f\x50\x32\x9d\xf2\xc2\xc3\xa6\x59\x61\xb3\xdd\x16\xf2\x5f\x54\xd4\xf4\x74\xf2\xc7\x93\x37\x07\xec\x0a\xf2\x66\x53\xda\xf4\x23\xba\x92\xc8\x79\x01\x66\x5b\x1d\x24\xab\x89\xfd\xb6\xe3\xd5\x27\xca\x94\x6d\x55\xfe\xf1\xe4\xc1\x7a\xce\x6a\xec\xf5\x2e\x13\x51\x7a\x28\x24\x2b\xf0\xf1\xa2\x64\x14\x84\xd5\x26\x55\x0e\x87\x96\x95\xd3\x59\x46\xf0\xa1\x94\x4e\xa7\x42\xd7\x3e\x58\x43\x43\x81\x30\x4a\xb7\x3e\x46\x8c\x5c\xc8\x0c\xc7\x4b\xd0\x8a\x7d\x03\xbb\xc0\x23\x92\x05\x69\x3d\x32\xe9\xcf\x78\x25\xe2\x20\xab\xa6\x25\x2c\x92\x78\x53\xe4\x9e\x56\x41\x36\xbf\x8a\x0c\x1b\xcf\xe4\x67\x13\x61\xf3\x0b\xa5\xd7\xfc\x3f\x4b\x70\xbd\x54\x72\xcd\xff\xc5\xb2\x66\x22\xa9\x7d\x34\xec\xcc\xef\x05\x3a\xf3\x29\x90\x33\x35\xf4\x48\xa8\xac\x5b\x2e\xc1\x6c\x27\x4b\xba\xef\x37\x6c\x86\x79\x06\x97\xfc\x2c\xf8\x9a\x94\x9a\xb3\xa9\xc7\xb1\xac\x87\xff\xd6\x44\xe9\x00\x60\xd3\xbd\xd8\xe2\x9c\x80\xd4\xf8\x20\xb7\x5e\x13\xe3\xe6\x13\x11\x6e\x3e\x2f\xbe\xcd\x15\xd1\x6d\x2e\x05\x76\xbf\x82\x4a\xd1\x2a\xb0\xc3\x4f\xc7\xe4\x2d\x9b\x8e\x30\x3d\x11\xee\xdf\x47\x8d\xed\xe1\x2a\xbf\x8c\x53\x19\x82\x6b\x85\xc9\xd8\xa3\xb7\x6b\x85\x98\x87\x2b\xa7\x43\x45\x15\xd9\x65\x9e\x89\x49\xb5\x58\xc8\x62\x31\xb4\x24\x69\x89\x61\x5d\x69\xfb\x11\xc9\x09\xb6\xed\xe0\x4d\xcc\x46\x89\x3f\xce\xf5\xe4\x8d\xe3\x8c\x10\xe7\x9e\x7a\x02\xd7\xbf\x6b\xbe\x8e\x3f\xae\xb9\x13\x34\x1a\x6d\xbc\x3e\x71\x39\x67\x9c\x5f\xa6\x2f\x7e\x87\x14\x1f\x7f\x09\x15\x79\x41\x81\x87\x77\x58\x7a\x4b\xd5\x4d\x0f\xf0\xc4\xa3\x6a\x27\xee\xcf\x5a\xab\x45\x67\x80\x38\x3f\x0e\x26\x40\x16\x76\x73\x2f\xb4\x30\xa6\x33\x60\x2d\x35\x87\xc5\x76\xb2\x53\xd3\xff\x7c\xc4\xe0\x27\x16\xdd\xd6\xc6\x12\x3b\x51\xf9\x6e\xb6\x56\x12\x28\x6e\x5b\x9f\x90\x1d\xd7\x18\x1e\x55\x17\x90\x82\xe9\x36\xc3\x37\x92\x58\x8c\x2e\xde\xff\x07\x23\xac\xa2\x26\xb0\x5c\x72\x4d\x35\x1a\xb1\x5b\x75\xc4\x01\xc8\xb0\x72\xe1\x77\x2d\x5e\x1f\x57\xbb\xab\x8a\x66\xd7\x2b\xc8\xfd\x30\x47\xe0\xb1\xc4\x0d\x22\xec\xcb\x52\x42\xe0\x04\xa4\x9b\x54\x3a\x00\x7a\xba\xcf\x26\xe4\x98\x2d\xcb\x8e\x61\x55\x21\x7f\xab\x3c\x6e\xa6\xe0\x46\xe6\x1b\x56\x8a\x3c\x07\x8c\x8e\x35\xd7\x25\xb9\x94\xc3\xad\x38\x86\x59\x50\x45\xc3\x74\xa1\x62\xb0\x43\xbb\xde\x75\x6a\x68\x00\xdb\xfa\xe9\x73\x88\xb2\x35\x2f\x9d\x66\x04\x42\xfd\xa8\xae\x7f\xd1\x82\xc6\xf4\x91\x4e\x81\x7b\xe9\xcf\x04\xa3\xb8\x46\xae\xc9\x20\xdb\x9c\x86\x92\x1d\x9c\xd6\xd4\x82\x76\x5c\x6b\xea\x6a\xd1\x1b\xf1\xa6\x42\x71\xa5\x36\xdb\xf1\xd8\x7a\x35\x2e\xbe\xc7\xd8\xf6\xf5\x9d\xbd\xed\xde\x1e\xd0\x56\xdd\x26\xd2\x67\xcf\xb5\x3c\xe3\xa5\x70\xaa\x24\xa0\xd5\x5b\x81\x44\xfe\x53\xb0\x4a\x4b\x03\x64\x66\xd5\x30\x94\x21\xe4\x8a\x2f\x2c\x73\x7f\x45\xb0\x38\x2e\x71\x00\x02\x35\xbb\x2f\xb3\x3d\x4b\x41\xc1\x8b\xea\xfa\x31\xbd\x78\xa5\xa5\x4b\x31\x40\xa3\x04\x9e\xfb\x83\x16\x73\x2a\x02\xc6\xb1\x9f\x97\xb2\x14\x76\x8f\xb1\x11\x1b\xfe\xe3\x17\xd3\xef\x42\xc8\xfc\xfd\xf7\xf3\x72\xfd\x7e\xc5\x65\x5e\xaa\xf7\xa5\xc8\xdf\xcf\x65\x2e\x7a\x87\x43\x54\x0d\xe4\x6a\x71\xac\xa7\x17\x57\x13\xd7\x63\x3f\x7e\x3f\xc9\xd5\xa4\x77\xf8\x7e\xc6\x4b\x7e\x08\x63\xfb\x65\xd8\x1b\x02\xbb\xa0\xbd\xd8\xb4\x22\xf5\xd9\x0b\x51\x6a\x29\xce\x84\x61\x21\x50\x89\x02\xd1\x48\x7f\x62\x5a\x34\x5d\xfa\xc8\x4d\x07\x36\x34\x6c\x5e\xd7\x3d\x02\xfe\x31\x1c\x43\x20\xfa\xac\xd2\xb9\x71\x68\xf3\xfc\x64\xa9\xc5\xfc\xb5\x5b\x15\xee\x43\x0a\xa9\x7b\x2f\xc1\x1b\x31\xbc\x43\x39\xd0\x88\x69\xa5\xad\x58\xb9\x12\xdc\x54\x56\x61\x97\x10\xb4\x58\x7a\x33\xe5\xdf\x8f\x8f\xd1\x5c\x7b\x6a\x20\xe8\x6d\x59\xae\x72\x5c\xe8\xb8\xf6\xa3\x62\x03\x10\xe2\x7c\xa2\x2a\x97\xc0\x81\x1b\x23\x17\x05\x85\xe6\x51\xef\x6c\x0d\x76\x12\x0f\x08\x47\xc7\xf6\x02\x85\xd7\x42\xe9\x15\xcf\x01\xdb\x01\xec\x67\x95\x2e\xc8\x29\x0b\x5b\xe0\x05\xe3\x13\xa3\x72\x70\x5e\xd4\x79\xd3\x60\x64\x9b\x97\x06\x33\x48\xda\x4a\x16\x5c\x16\x06\x35\x91\xf1\x6e\xca\x19\xef\x39\x3b\x5c\x6d\x1d\x32\xf6\x78\xce\x38\x25\xa4\x04\xfa\xae\x0a\xca\xc6\xac\xb4\x5c\x48\x2b\xc2\x50\x93\xe7\x5a\x96\xa5\x28\x82\x07\xd9\x4c\xad\x32\xf6\xcc\x72\xcb\x73\x49\xb7\x49\x18\xf9\x1f\x8f\x00\x72\xa4\x68\x31\x97\x6f\xc5\x0c\x25\xe5\x71\xa7\x2a\xec\xe2\x1e\x76\xc6\x0c\xed\x31\x30\x15\x98\xe7\xd7\xea\xa4\xd2\x80\xa4\x5e\x6f\xce\x81\x0c\x39\x42\x24\xdb\xcc\x0b\xb1\x78\xf4\x76\x3d\xda\xda\xc1\x89\xb7\x6b\xf6\x93\x38\x77\xbf\x42\xe0\xae\x23\x7a\xa0\x22\xdb\x81\x6c\xaf\xe6\x3b\x83\x35\xbc\x6f\x49\xfc\xb1\x65\x0f\xe8\xac\xc2\x32\x96\xaf\x51\xc8\xa7\xad\xc9\x12\x01\x9e\x3e\x8a\xfc\x2a\xc8\x05\x10\xb3\xb9\x2f\x09\x8c\x54\xb9\x29\xc2\x96\xed\x61\x02\xfe\x2d\x17\x6e\x74\xcf\xfe\x70\x2c\x8e\x09\x62\x62\xaa\x87\x94\xbc\x96\xde\x05\x0e\x79\x61\x95\x58\xda\xb1\xc4\xc8\xc9\xfc\xce\x5e\xe0\x91\xf4\x78\x77\x45\xb6\xf0\x16\x85\xb9\x3f\x0a\x53\x90\xab\xc5\x89\xd1\xd3\x3f\x2a\x57\xf0\xdd\xfb\x17\xb1\x85\x0b\x8e\x82\x7f\xf3\x85\x3f\x20\x5f\xb8\xf8\xe8\xfe\x38\xc6\x70\x71\x9d\x1f\xc2\x19\x2e\xa8\xc9\xb1\x06\xe7\xbf\x87\xf6\xe4\x86\x20\x57\x73\x36\xf3\x12\xd6\x2b\x2d\xbb\x95\x96\x03\x26\xcd\x63\x2b\x7c\x84\xde\x5b\xb1\x08\xfa\xc8\x46\xee\x25\xbb\x7f\xe1\x98\x0e\x2f\xe1\x60\xae\xd6\xb0\xf1\xfe\xc6\xbd\x25\x20\x79\xc8\x46\x96\x44\x5e\x08\xa3\xf2\x33\x61\xfb\xd7\xcb\xec\x21\x7f\x27\x92\x74\xd3\xf2\xd7\x46\x23\xd6\x01\xf0\xf8\x6b\xc9\x8b\x0c\x36\x13\x2e\x4d\xaf\x05\x99\xc3\x93\x3f\xbb\xd9\xde\xad\x6d\xba\x3e\x95\x96\x77\x9c\x71\x02\xfe\xb7\xdd\xdb\x03\xfb\x84\x99\x92\x3e\xcc\x46\x6c\x45\x8a\xb1\x7d\xd8\xe9\xdd\xc1\x12\xc7\x0f\x1e\xfd\xfa\xe0\xd9\x4f\x2f\x1f\xfd\xfd\xe5\x31\x59\xe7\x7f\x78\xf9\xf4\xc9\x21\xeb\x58\x06\x07\x98\xb5\x0f\x8e\x8f\x0f\x59\x67\x6a\x15\xe6\x3d\xc6\x5e\xbd\xb0\x2f\x2b\x8d\xef\x86\x43\xf6\xe2\xd1\xf1\xb3\x57\x2f\x1e\x3c\xfa\xf5\xd5\x8b\x27\xc4\x4c\xab\x49\xb9\x59\x83\x03\x93\x7d\x56\xa1\xaf\x39\xd8\x25\xc5\x5b\xb8\x18\x11\x80\xd2\xb8\xd6\xf2\x4c\xe6\x62\x21\x66\x4c\x0b\xa3\x2a\x3d\x05\x5b\x1d\xfe\x46\xd7\x48\x1c\x1b\x01\x46\xc7\xba\x22\x5b\x64\xac\x58\x1c\x10\x46\xc1\x80\xe1\x51\xc3\x8c\x9e\x0e\x58\x29\x56\xeb\x9c\x97\xe2\x95\xce\x7b\x7b\x2c\xe9\xd7\x21\xeb\xb8\x16\x5e\x51\xcf\x7f\xb4\x83\x7a\x63\x3a\x7b\x96\x4a\x87\x43\xf6\x83\xc8\xd7\x91\x9b\xbd\x21\x1f\xf8\x6c\x2f\x48\xeb\x7c\xf6\xa6\x32\xe5\x53\xd4\x2c\xbb\xc8\x5f\xc9\x01\xd6\x2e\x3d\x3d\xc0\xdc\x00\x76\xab\x77\x6a\x54\x4e\x05\x60\x89\xe2\xdc\x92\x84\xf1\xee\x2a\x74\x5f\x0d\x87\x0c\xdf\x10\x2f\x67\xe2\x2d\x87\x44\x6c\xa8\xc4\xc1\xa1\xf8\x25\x3b\x97\xf9\x6c\x0a\x37\xb3\x07\xac\xd3\xef\x00\x9f\xec\xf4\xfb\x9d\xcc\xd5\x61\x1f\xae\xfc\xb5\xee\xc6\xf2\x1c\xcd\xa7\xa5\x0f\x13\x66\xe5\x52\x19\x11\x2e\xed\x8c\x28\x59\xe7\x70\x98\xdd\xbf\x11\xd7\xb1\xb3\x92\x6e\x2e\x4f\x05\xcb\xfa\x10\x8e\x4d\x3c\xb0\xe7\x3f\x7c\x8a\x89\x74\x78\xc1\xbe\x64\xfd\x8e\x61\x9a\x4b\x43\xd7\xcb\x5a\x2b\x6d\xd5\x77\x50\xc8\x65\x9e\xbb\x68\x9c\xcc\xf3\x30\x9a\x10\xef\x4e\xda\xe9\xf7\xfb\x9d\x1e\xbb\x97\xb8\x8a\x92\xf9\xc7\x13\x7a\xb7\x23\xcf\xed\x7c\x24\x70\xcb\x9d\xc7\x79\x2e\x16\x3c\x67\x46\xfc\x56\x89\x62\x2a\x58\xbf\x0f\x3d\xa6\xc3\xc5\xb5\xc4\x68\xc6\x0f\xd9\xbb\x5b\xdb\xce\xc0\x3d\xef\xc5\xbc\xcf\x2f\x33\x13\x66\xca\xd7\xe2\x7b\xa5\x5f\x00\xcf\xf4\x0b\xd8\x86\x1b\xaf\xc5\x3a\xe7\x53\xd1\xed\xfc\xf2\x4b\xff\x97\x5f\xfa\x9d\x01\xeb\x64\xfd\xce\xa5\x45\x6d\xb9\x93\x7f\xc0\x6a\xdc\x79\xdd\x77\xa1\x81\x0e\x9a\x4e\x9c\xd3\x84\x77\x3b\xff\xb0\xac\xc2\x75\xed\x26\xeb\x5c\xc7\xb2\x09\x9d\x51\xd9\x16\x3a\xb3\x42\x11\x1c\xae\x68\xf0\x70\xbb\xd7\xd5\x07\x0e\x2d\x76\x13\x1b\x5c\x62\xf1\x76\x1d\x56\x18\x49\xb3\x28\xa5\x16\xb0\xdd\x87\x6c\x26\x0d\xba\xc0\xac\xb9\x06\xb3\x0c\x51\x8e\xff\xe6\xfb\x9c\x2f\x30\x58\x56\x0b\x4b\x6e\x5d\x99\x89\x0c\xc0\x76\x72\x35\xe1\xf9\x80\xc9\x45\xa1\xb4\x78\xc0\x0d\xde\xab\x56\x79\x29\x73\x59\x88\xde\x55\x46\x9f\x11\x27\x69\x4c\x02\x8e\xb6\x85\x5e\xe8\xc3\x88\x62\x3a\x4f\x1d\x70\xdb\x8a\x6f\x70\x66\x26\x82\xed\xdb\x4d\xbd\x3f\x70\x44\xb3\xe6\x65\x29\xac\x74\xa0\xb4\x3b\xfb\xf1\x8e\xd6\x50\xb3\x96\x0b\xef\xe0\x1e\xc6\xad\x82\x89\x94\x7d\x28\x20\x66\x4f\x03\x68\x1c\xda\x5f\xd3\xf3\x7c\x55\xcf\x79\x33\x57\xfa\x11\x9f\x2e\xfd\x8b\x28\xc5\x5c\xc2\xa3\x40\x29\xa8\xb5\x81\xee\xf0\xed\x8c\xcd\x51\x3d\x0d\x26\xe8\x03\xb5\x3a\xe0\xb4\xf1\x56\x14\x74\x5e\x21\xa3\xc9\x5e\xf0\x5b\x31\x53\xf1\x50\xd8\x4d\x58\xe2\xd3\x9a\x8b\x4a\x9b\x09\x66\x0f\x00\x21\xa2\x0f\xc7\x4e\x58\x27\x8b\x4c\xac\x22\x4c\x36\x94\x10\xd4\x4c\xc5\x38\x36\xda\xac\x51\x50\x8b\xef\xcc\xcd\x54\xc0\x46\x9f\x96\xb6\x89\x07\x78\x2e\x55\x3c\x67\x8f\xec\x8e\xb6\x6b\xdb\x3d\x7e\xf0\xa8\xe7\xdd\x08\xe0\x4e\xc8\xc3\xec\x66\xd4\xb5\x97\x2e\xe4\x12\x53\x1d\x9e\x63\x32\x4a\x55\xcc\xe5\xc2\x6a\x10\x91\xb2\x53\xf7\x60\x88\x86\x94\x4c\xcc\x96\x49\xcc\x6f\x09\xd9\x3c\xfb\x3b\x06\x34\xad\x4c\xa9\x56\xf2\x9f\xc2\xf9\x6d\xd0\x58\x5a\x07\x82\x97\x5c\x31\x4a\x70\xc6\x1c\xd0\xde\x5e\x30\x8b\x0e\xc8\x1c\x19\xb5\x48\xf3\x66\x58\x51\xad\x84\x56\x95\xc1\x5c\x1b\x4b\x7b\xc0\x10\x88\xe7\x80\x89\x72\x9a\xe1\xf0\xb5\x80\xe8\x53\xd8\x2b\x14\x1f\x6a\xeb\xf7\x53\xf0\x15\x9b\xda\xb3\x20\x9c\xaf\xdd\x71\xa9\x2b\x53\x1e\x99\xf1\x80\x8d\x17\xa2\x7c\xa9\x81\xaa\xc6\x70\x82\x8d\x41\x66\x7e\x36\x1f\xf7\xc0\x37\x0e\x39\xa2\x1f\x6f\xb9\xb4\xa7\xa2\xad\x1e\x10\x34\x9c\x69\x97\x3a\x3e\xa3\xd9\x84\x55\xab\xd1\x0f\x25\xa5\xb6\x7c\x65\xed\xd0\xf9\xdd\x7a\xbe\x10\x73\xa1\x77\x2c\x93\x93\xf6\x59\xdb\xc3\x2d\xac\x8a\x5f\x78\xf4\xfc\xf1\x0e\x28\x48\x2b\x91\xb2\x6b\xd7\x18\x30\xa0\x01\x11\x23\xe9\x1e\xdd\x2a\xc2\xa8\xac\xe6\x40\xfe\x3d\x13\xf5\x16\xf5\xa2\x5c\x96\x65\x2e\xd8\x9a\xcb\x22\x63\xec\x67\x77\x89\xbf\x87\x3e\xe1\x61\xb2\x25\xe4\x90\x5a\xe7\x02\xf0\x07\x6c\xef\x00\x12\x0a\x2b\x13\x4b\x7e\x26\x2d\x75\x52\xf3\x63\x42\xe6\xc5\xa4\x53\x98\x50\x0a\x61\x79\xfb\x10\xc8\x9c\x9f\x09\x3f\xba\x16\x68\x82\xab\xcf\x92\x23\xee\xc9\xc6\x0a\x19\x25\x78\x02\x42\x0e\x53\xcd\xc8\x27\x01\x85\x72\x34\xa8\x4e\x72\x3e\x3d\xc5\x3f\x61\xd5\x2c\x79\xd8\xe6\x5f\xbd\x78\x12\x59\x05\x72\xc5\x67\x11\x38\xe4\x8f\xc7\x5e\x94\x8c\xe0\xc8\xfb\x5e\x36\x34\x19\xbb\xd2\x3a\x7f\x11\x89\x8b\x5e\x59\xb0\x15\xb5\x15\xce\xda\x0a\x6f\x61\x10\xd8\x8a\xfd\xf0\x0a\x0d\x7d\xe7\x46\x7c\x69\x2b\xbe\xe4\x16\xec\xc9\x35\xe6\x4b\x3b\x57\xb7\x73\xdf\xe7\xf1\xdb\x26\xc3\x7d\xe9\x38\x40\xbd\xbc\xe7\x08\x24\x0f\x18\x36\x13\x67\x22\xb7\xfb\xc8\xd4\x37\xc0\x2e\x02\xa9\xcf\x60\x70\xd4\x22\xa6\x44\x35\xab\xc2\x25\x51\x1e\x42\x20\xa5\xdd\xf7\x3b\xa9\xc3\xa3\x04\x15\xa6\xd2\x62\xcf\xc1\xf4\xdb\x8f\x52\x5a\x81\xe9\x8b\x88\x25\x50\x05\xa2\x56\xf1\xb9\xa8\x91\xc7\x15\x17\x2e\xe8\x9a\x1f\x46\x1e\x7b\xa9\xbf\xe1\xef\x43\x1e\xb6\x91\xef\x29\x17\xff\x42\x14\x42\x73\x2b\x6a\x97\x90\xe4\x8d\xcc\x54\x11\xc3\x8a\x8e\x8a\x81\xe5\xe9\x18\xf7\xb2\xe2\xb2\x60\x6b\xab\x6a\xdb\x79\x4c\xbb\x6c\xeb\xbf\xe0\x00\xc2\x93\xd4\xf1\xc1\x7e\x9f\x30\x59\xfb\xfd\x43\x66\xcb\x1b\x20\xa8\x34\xe6\xd8\xb2\xa0\x8c\xdd\xe5\x70\xbd\x39\xda\x27\x9c\xa6\xfd\x7b\x77\x87\xfc\x1e\xd5\x73\x80\x6c\x83\xaf\xd7\x56\x00\x58\x2a\xc0\xef\xe7\x60\xc1\x61\xe3\x65\x59\xae\x0f\x87\xc3\xd5\x86\xaf\xd7\x19\x7d\x0d\x58\xc2\x63\xfc\x74\x52\x95\xcc\x28\x0c\xb8\x85\x6a\x52\x3a\xa0\xda\x54\x41\xd2\xf0\x4c\xd9\xe1\x1b\xf4\x96\xc2\xb4\xd6\x31\x6b\x61\xbe\x41\xa3\xcf\x6e\xdd\xce\xb8\x31\xa2\x34\x69\xbb\x83\xff\xf7\xff\x49\x4a\x7d\xd9\x5e\x0a\x8e\x53\xec\xa3\xa5\x71\xdb\x20\xe6\xa6\x2a\xec\x71\x55\x30\x2d\x9c\x2f\x68\x79\xc1\x28\xa7\xb9\x9c\x9e\xbe\x5c\xea\xea\x7e\x96\x65\x63\x37\xf3\x3f\x50\x66\x80\xf3\x25\xc0\x4f\x80\xc1\x33\xf0\x75\x9e\xc6\x82\x9a\xa9\x28\xb8\x96\x8a\xad\xe4\x62\x09\xb0\x6f\xa7\xcc\xea\x79\x87\x4e\x2a\x1b\xc3\x54\x3a\x7c\x86\x6c\xa5\x66\x55\x2e\xba\x9d\xd5\xe6\x68\xbd\xee\x0c\xd8\xc9\xeb\x5e\x86\x55\x87\xbb\xbb\x36\xa2\x05\xc1\x14\x2c\x61\x57\xde\x38\xdd\x13\xfa\xc2\x21\x6d\xab\x73\xc0\x9c\x20\x5b\x64\xb0\x24\xd8\x93\x01\xce\x76\x12\xe9\x41\x23\x1f\x34\x3f\x76\x27\x08\x61\x88\x59\x9d\x14\x62\x8f\x71\xd9\x33\xc6\x7e\x52\xa5\x24\xe1\x23\x00\x73\xb0\x89\x28\xcf\x85\x28\xc0\x20\x3b\x63\xfd\x7e\xd4\x52\x58\xe8\x7e\xdb\x3a\xf7\xfb\x1d\x2a\xfb\xda\x8a\xd6\x7d\xfa\x83\xd4\x30\xcf\xd8\x6a\xa6\xf2\x60\xa5\x34\x68\xeb\x4c\x29\xc2\x25\x7e\x98\xe4\x6a\x7a\x0a\x4a\xf4\x95\xa6\xd5\x73\x8a\x68\x5a\x3b\x97\x53\x56\x7d\x08\xa4\x25\x38\xc2\x18\x46\x6a\xcf\xf5\xe3\x66\x0f\xc8\xfc\x07\x96\xc1\x9a\x01\x2a\xfe\x13\x6f\x1b\x87\xec\x85\x5b\x52\x60\xe7\x56\xd0\x01\xfc\xc0\x89\x40\xa1\x00\x85\xff\xb5\xca\xe5\x74\x93\xed\x39\x0b\x61\x0b\x73\x1e\xb1\x13\xa4\x02\x1f\x49\xd5\xca\x5d\xbd\xe7\x4a\xb8\xd3\xa8\x7b\xe4\x5f\x74\xae\xee\x10\x1d\xda\xfd\xf2\x6b\x86\xea\x23\xad\xf9\x66\xb4\x8d\x16\xfb\xe7\xa5\x28\xdc\xc1\x3b\x1b\x38\x49\xd8\x83\x6f\x37\x07\xe9\x3d\xd0\x40\x82\xf6\x96\x66\x5f\x87\x3b\x69\x57\x98\x30\x05\xae\x13\x6c\xab\x56\x5f\x01\xb4\x02\xc6\x8e\x98\x29\xf8\xda\x2c\x15\x09\xa0\xf6\x5c\x86\x22\x4e\xd7\x32\xca\x21\x06\x84\xfa\xa3\x0c\xcb\xde\x15\x12\xd8\x29\xea\xf2\xb3\xd8\x2e\x6f\xff\x7d\x0f\xec\xbe\x76\x96\xc4\x73\xf7\x1c\xd5\xeb\xc7\xa5\x58\xb9\x00\xf5\xe2\x14\x73\xc5\x70\x16\xc9\x2d\x4e\x48\x96\xa5\x58\x99\x50\xbf\xb7\x59\x14\xd1\x08\xea\x9d\x00\x3c\x57\xd6\xef\xf3\x82\xc2\xec\xc2\xc4\xe3\x00\xd0\x7b\xdb\xee\x29\xf0\xa1\xb7\x04\xd8\xef\x5f\x8b\x57\xce\x39\x6b\xc3\xd2\x6d\x63\x77\xfc\x1c\xc4\xdc\x7a\x95\xf5\xbb\xa8\x7e\xdf\xe9\x05\xb0\x60\xfd\x3e\x46\xfb\x17\xf1\xbd\x84\x4f\x76\x22\xde\xae\x73\x39\x95\xae\x6a\x69\xd8\xd8\x91\xf4\x18\x47\x0c\x97\x09\x84\x3c\xdc\x6f\x67\x8c\x5a\xfc\x56\x09\x53\x26\xf7\x56\xcd\x5b\xbb\x63\x51\x9a\xe1\x5f\x45\x59\xe7\x3e\x76\xb6\x69\xd7\xe9\x78\x5f\xd6\x2e\x2e\x76\x6c\x40\x7f\x1a\x9c\xc5\xf9\xee\xc1\x45\xc4\xb9\x34\x37\x3c\x60\x76\x54\x55\xb3\xa7\x60\x85\x2d\x97\x14\x6d\x9f\x87\xdb\x89\x4f\xdf\xe3\x9e\x71\x7c\xe0\x1e\x0f\x8c\xfe\x8a\x7b\x3c\x70\xa8\x7f\xef\xf1\x0f\xd8\xe3\x76\x93\x11\x3a\x16\xab\x8c\x93\x61\xcb\xe4\xa8\x95\x30\xa6\x7e\x1f\x76\x7a\xf8\xf4\x24\x39\x63\xcd\xeb\x2e\x9d\x8c\xd3\x73\x91\xad\x64\xa9\x45\xa6\xf4\x62\x38\xe3\x25\x1f\x82\xf1\x1a\x01\x19\x87\x5f\xdf\xba\x9d\x2d\xcb\x55\xde\xeb\xf7\x41\xac\xc6\x03\x0a\x24\x4d\x14\x2a\x28\x47\x16\xc1\x97\x80\x39\x02\xad\x47\xfe\x1a\x30\x39\xdc\xaa\x92\xd0\xc1\xf2\x8d\x23\x6a\xb8\x4b\x29\xca\x60\xb5\x77\x9d\x14\x33\x27\xb8\xd4\xd7\x02\xf1\xde\x06\xac\xdf\x2f\xaf\x22\x66\xf4\x51\xb0\xf1\x88\x40\x70\xcd\x6b\xd2\xe9\xbd\x9c\xf9\x85\x66\x7e\x0f\xe6\x07\x1e\xd2\xc0\xb7\x91\x14\xd1\x8e\x0c\x49\xb0\xb0\x0d\xc8\x15\x1b\x3a\x91\xf5\x3e\x80\xe5\x45\x33\x74\x09\xcb\x6b\xe1\x79\xb1\x34\xf1\x89\x3c\x2f\xae\xea\x23\x78\x9e\xff\xbc\xfd\x46\xf6\xa4\x73\x5d\x16\x6f\xc4\xb4\x54\xba\x13\x19\x8e\xfd\x43\x1f\xd8\x6b\xa5\x2a\x4b\xd4\xce\x61\x4d\x47\x23\x4b\x5f\x74\x81\xf6\x2f\xb8\xa0\xc1\xcb\xcd\xce\x80\x75\x8e\x4a\xab\x7a\x21\xb2\xa2\x82\x64\xe3\xbc\x60\xf8\x9a\x6e\xcd\xe1\x56\x09\xfe\xa6\xeb\xc3\xcc\x5d\x82\x38\x3f\x6c\xf0\x10\x76\xdd\xcd\x96\xdc\x74\x3b\xde\xdd\xae\x13\x5d\xae\xd6\x3b\x1f\xbe\x59\x88\x32\xf9\x66\x87\x4f\x2e\xd8\xc5\x5f\xe9\xdc\x19\xc8\x07\x0c\xf2\x27\xcc\x5e\xe9\x3c\xf5\x76\xdc\x7d\x11\xc8\xe2\x2b\xdb\xfc\xb1\x39\xe6\x2b\xf1\x0c\x8e\xe7\x6e\xa8\xcb\xdf\xf1\xc6\xd7\x16\xa4\x21\x10\x9b\x01\x54\x51\xbc\x06\xcf\x18\x00\x93\xd5\x28\xa3\x57\x6f\xee\xda\x35\x77\x3d\x22\xde\x8a\x69\x68\x0d\x2e\xb0\x1b\xbe\x91\xe9\xc0\xa5\x79\x11\xe8\xe9\x08\x79\xee\x77\x9b\xe7\x20\x70\x77\xab\x78\xf4\x94\x4c\x0d\xab\xae\xdf\x96\xe7\x71\x3a\xeb\xf8\xe2\x5d\x0e\x58\x31\xf0\xcc\xbc\x96\x57\x79\x38\x64\x8f\xc0\xb0\x83\x56\x9d\x24\x5b\x81\x3d\x0e\x02\x0b\x8c\x04\x2d\xb4\x22\xc1\x99\x60\xdb\xa5\xaa\xe2\xb0\xa0\x02\x5c\x1d\x9a\x92\x41\x12\x1c\x54\x34\xe2\x82\xfc\xf2\x5a\x3a\x68\xfb\xfe\x44\xbe\x8e\xe9\x22\x75\x58\x0d\x43\xac\x87\x9c\x41\x26\xdd\xdd\x9e\xb8\xc0\x2c\xf0\xe3\x1a\x62\x7b\x3c\x37\x85\xaa\xcd\x48\x60\x61\xa4\x16\x36\xa6\xe4\xc2\x49\xf1\xac\xe3\x92\x49\xd9\x3d\x2d\xbe\x86\x0b\xa7\x85\xed\x5a\xfb\xd6\xb9\x69\x45\x03\x4d\xdd\x21\xa8\xba\x76\x67\x65\xb4\x81\x95\xe2\x07\x95\xcf\x84\x7e\xb9\x59\x8b\xee\x77\x49\x48\x01\x70\x3a\xff\x32\x66\x73\x74\x45\xf1\x37\xcb\x99\xa2\xcf\xcb\xe8\x71\x1a\x99\x00\xc8\x55\x55\x71\xae\xf9\x3a\xfe\xb6\xcd\x13\x26\x19\x40\x5c\x63\x44\x15\x7e\x9b\xc6\x1e\x27\xdf\xd5\xe2\x21\x42\xd7\xb3\xb5\x56\xa5\x2a\x37\x3e\x3a\xe5\xbb\x04\xd9\xd5\x4d\x5a\xdb\x07\x19\xdd\xbf\xc4\xa3\x37\x53\xf1\x37\x7c\xda\x6d\xe1\x67\x3b\x07\x1b\x35\x78\xe7\xa2\x16\x1d\x73\xa8\x35\xf9\xd2\xf3\x8c\x0f\x6a\x33\xe2\x35\x8d\xe6\xe9\xeb\xd0\x8b\x84\x50\x20\x00\xb6\xb1\xd0\xdf\x61\xc8\x46\x0b\xf1\x44\xf1\x97\x93\x0d\x51\x8c\x4f\x08\x87\x4f\x4e\x62\xab\x46\xf6\xc3\xcb\xa7\x4f\x5e\xb7\xd7\xd5\xde\x2e\x8d\xa0\xad\xae\x07\xc7\xc7\x9f\xab\xaa\x57\x2f\x3e\x5b\xaf\x7e\xfc\x6c\x9d\x8a\x9d\x78\x76\xd4\xb9\x6b\x2c\x3e\x08\x2b\x84\x8e\xb4\x20\x2b\xb4\x69\x79\x5f\xd0\xc5\x24\x95\xf0\x05\x1b\xa0\x09\xfd\x80\xaf\x57\x38\x3c\x20\x77\x29\x1d\x99\xa6\x3c\xe6\xbf\xd2\x20\xe3\xc8\x82\x99\xb5\x98\x02\x0c\x00\x38\x13\x38\x6c\xce\xbe\x13\x72\x2a\x9e\xa3\x77\x09\x98\xc3\x9d\xdf\x54\x97\xac\xce\xac\x58\x80\xdb\xe8\x81\x15\x69\x06\x89\x3f\x14\x2f\x36\xcc\xe8\xa9\xab\xce\xa3\x77\x62\x10\xda\x5a\xe5\x04\xc9\x61\xcb\xcd\xd4\x8a\xa2\xb2\x9d\x0f\xea\x8e\xe2\xae\x36\xd7\x3c\x64\x21\x29\xc0\x18\x38\x60\x60\xb3\xee\xe1\xb0\x2b\x43\x5a\x84\x53\x44\x51\x88\xf3\x31\x38\x35\x04\x55\x33\xc5\x79\x47\x85\x4f\x14\x1c\x83\x8b\x71\x46\xda\xa6\x22\xab\xaf\x48\x2d\x94\x1f\x58\x9d\xd5\x2b\x40\x07\x57\x73\x57\x87\x9d\x71\x07\x3f\x2a\x8d\x93\x2c\x0d\xca\x95\xb4\x2a\x19\x63\xe0\x5d\x56\xe9\x7c\xe0\xea\x4f\xe4\xf0\x01\xc3\xe9\x7e\x83\x17\x50\x53\x13\x62\x8b\x5c\x3f\xfa\x5b\xaa\xfb\xa5\xd3\xcd\xdd\x55\x14\x2f\xa3\x88\xd1\x29\x5d\x7b\xd8\xf3\x18\xa9\x64\x08\x77\x4f\xbe\xba\x18\x8a\xfc\x28\xae\xa8\x86\xd5\x6c\x4a\x04\x85\xf0\x1a\xad\x9f\x77\xbc\x3f\x1f\x43\xb8\x1b\x18\x13\x5c\xdd\xe8\x7b\x77\x14\x70\x95\xad\x62\xcb\x38\xac\x43\x46\x74\xdf\xf5\xa1\xe9\xc9\xf2\xd5\x22\x9f\x5c\x61\x3b\xe9\x03\xd6\x7e\x06\x5a\x5e\xfa\x40\x15\xa6\xd4\x95\x95\xb4\xd9\x88\xd1\x76\xb5\x72\xfa\xb3\xf3\xe2\x39\x21\xa6\x42\x25\x3d\x76\xdf\xf1\x00\xfb\xe7\x6b\x76\x88\x61\x42\xf1\x61\x77\x2d\xaa\xad\x25\x08\x30\xf6\xea\xa1\xb5\xaf\xa5\xdd\x77\x2a\x07\x21\xf1\xd8\x5e\x33\x1e\x74\x0d\x59\x9c\xf1\x5c\xce\xbc\xb2\xe1\xae\xb4\xc0\x21\xec\x0e\x83\xe1\xb5\x65\xf3\x6f\x99\x84\xfa\x31\x0b\x09\x58\x13\x21\x80\xe2\xa0\xd8\xfb\xf7\xac\xf1\xa2\x2a\x1c\x38\x75\xdb\xdb\x4e\x9b\x46\xd1\x26\x34\x6c\x83\x14\x7d\x44\x69\x7b\x5d\xc8\x9d\x67\x2b\xb2\x48\xbd\x40\x97\x7c\xbd\x16\x0e\x68\x1b\xb7\x96\xc9\x18\x7b\x5c\x30\xa5\xe1\xb2\x4e\x31\x7e\xa6\xe4\xcc\x5f\xc9\x87\x36\x56\x55\x89\x50\xb1\xe8\x07\x35\x60\xe7\x82\xae\x65\xf1\x82\xc2\x5f\xcc\xe2\x84\x7b\x1c\x62\xf0\xeb\x71\x26\x0e\x4e\x8d\x66\xf1\xc4\x6d\xd6\x22\xa8\xe1\x38\x11\xe0\x5c\x8b\x45\x3b\x97\xd0\x82\xfd\xfc\x4a\x84\x50\xa8\xe2\x80\xdc\xbb\x22\xfd\xd3\x59\x5b\xb4\xf8\xad\x92\xe8\x8d\x4e\x7d\x3c\x4c\x08\xa4\x85\x28\x1a\x64\x10\x79\xaf\x45\xb4\xdc\x6d\x21\x9d\x66\xe8\xe3\x55\xcf\x2f\x12\xde\xae\x70\x7e\x3d\x46\xbb\x1a\x2d\x84\x07\x25\x67\x4b\x3e\x43\xa3\x0b\x76\x97\xce\x31\xb6\xd6\x52\x69\xc4\xa4\x4d\xf3\xdf\xef\x3e\x3d\x53\x67\x02\xc7\x62\xc6\xdb\x41\x92\x47\x34\xe2\x71\xbe\x69\xea\x94\x6f\xc8\x55\xb8\xa3\xbd\x5d\x0d\xd5\x0f\x8d\x5d\x43\x06\x5b\x51\x60\x06\x69\x5f\xe2\x69\xf8\xa4\xde\x84\x61\xcb\x92\x71\x73\x20\xcd\xae\x43\x2d\x39\x4c\x42\x32\x0a\xb7\x08\x17\x4f\xfe\xae\xe6\xc3\xc9\xc6\x18\xae\xa3\xd2\x56\x18\x00\x8f\x2a\xb0\x37\xb4\x9f\x42\xe0\x15\x42\x67\x0a\xe2\x3e\x73\xe3\xa3\x3f\xf2\x4d\x38\x78\xae\x4c\x16\x0c\x30\xbe\x5b\x3b\x09\xa0\xcc\xee\x00\x8b\xf3\xcc\x42\xd8\x0f\x08\x21\x94\xb0\x2e\x0a\x2d\x71\xf3\x9a\xd4\x4f\x95\x54\x05\x5a\xae\x67\x3b\x8e\x32\xda\x2f\xdd\x15\xdf\x4c\x04\xe9\x11\x75\x93\x4e\x78\xe3\x1d\xb8\x6a\x0c\x29\x12\x68\x9b\xcc\x39\xae\xe0\x32\x35\xa9\x6e\xf7\x69\xa9\xa2\xd5\x60\xf3\x11\x9c\x22\xf8\xdd\x5d\x81\x59\xbc\x84\x9c\x98\x65\x8d\x1c\x3f\x8e\x10\x91\xf8\xc0\x07\x86\x51\xdc\x51\xe0\x06\x11\x61\x99\x6a\xbd\xce\xa5\x93\x24\x31\xf1\xa2\x60\xbf\x55\x42\x4b\xe1\x8f\x69\x14\xfc\x28\xf6\x00\x04\x8a\xb5\x83\x4f\xf5\x82\xb5\x16\x90\xa5\x02\xa1\xfc\x91\x09\x00\x3e\x48\x31\x93\x64\xe4\x2a\x3a\x25\x33\xbc\x94\xc6\xca\xe5\x03\x3c\x46\xd0\x55\xdd\x05\x4d\x7f\x6e\xf9\x13\x8f\x58\x2b\xcd\xb5\x89\x92\x09\xcd\x7d\x0c\x13\xb8\xca\x56\x83\x7d\xb4\x73\xcb\x3b\x56\x28\x7e\xf7\xfd\x8e\x62\x97\xbb\xc8\xf1\xe2\x57\xbc\xc1\x2f\x58\x90\x61\xdd\xc4\xe3\xa8\x9a\xa4\xd3\x2b\x6e\xec\x58\x22\x6b\xbc\x48\x24\xb2\xc6\xdb\x56\x89\x6c\xf7\x8e\x25\xb8\xf1\xcf\x29\x1a\xc7\x95\xdd\xb8\xc1\x76\x71\xac\x69\xbb\x00\xfd\x11\x6c\x2a\x88\x7d\x8f\x21\x6d\xe4\x42\xa0\x1b\x0a\xc1\x49\x9d\x8b\xe0\x3c\x5f\xf2\x53\xe1\x31\x8d\xcf\x95\x95\xf5\xe2\xac\xdd\xc3\x21\xbb\x9d\x85\xe8\xfa\x20\x10\x38\xbd\x86\xae\xac\x69\xff\x0e\x42\xb2\x88\xe1\x90\x7d\x99\x91\xc4\xd7\x42\x18\x5e\x76\x84\x35\xda\x69\x59\xa8\x5b\x78\x2f\x34\x78\x27\xb4\xd4\x6a\xbd\x6b\x5b\xf6\x16\xb6\xde\x2a\xa9\x16\xe0\x98\x95\x77\xea\xf0\x63\x9d\xef\xc8\x82\xeb\xdc\x95\xfc\x4d\x14\x58\x7b\x2b\x9d\xa3\xf4\x42\x86\xd4\xc9\x26\xe1\xf3\xce\x3b\x86\xc2\xb7\x9a\xa2\x2a\x4b\x57\xbe\xc5\x50\x1f\xa3\x77\xf8\x98\x92\xf6\xa9\xfd\xe1\xe5\xd3\x27\x2d\xb4\x95\x5e\x12\x25\xd3\x58\xa7\xa9\xdf\xed\xce\x28\x01\xa4\x79\xe7\x74\xd8\x43\xf7\x4b\x6d\x52\x02\x1f\x39\x8c\x7e\xaf\x15\x22\xe1\xe1\xd0\xfd\x42\x31\x78\xaf\xdb\xc2\x22\xda\x3d\x73\xaf\xe0\x91\x1b\x17\xfb\x04\x3f\x5c\x32\xb7\x44\xce\xe9\xec\x80\x31\x34\xbd\x88\xe1\x4c\x1a\xd0\xde\x2e\xf3\xe6\xc4\x09\x46\x9f\x3f\x57\x45\x12\xea\xe0\x3d\xdd\x57\xeb\x1c\x50\x6c\x78\x48\x84\xc4\x29\x7e\xc1\xbb\xe9\x7b\xef\x7b\x3e\x23\x04\x45\x70\x4a\x6d\x0d\xd7\xb8\xc4\xc3\x14\x3c\xa1\xd9\x1b\xb3\x94\x45\xc9\x56\xfc\x6d\x2e\x0a\x82\xe9\x6b\x3a\x49\xb7\x46\xa8\x7c\x70\x64\x4a\x5b\x44\x8a\x0f\x9c\xb8\xa0\xcf\x17\x06\x96\x7c\x71\xc1\x97\x54\xe4\xf2\x25\x32\xb8\x44\x22\xc8\x1e\xb1\x8b\xbc\xd5\x63\x85\x71\x86\x3f\xb0\x01\x4c\x85\x2e\xb9\x04\xe8\x13\x6f\x1a\x80\xd8\x0b\x83\x41\x0b\xa9\x66\x04\x01\xe6\xfa\x14\x11\x78\x60\xaf\xd1\x66\x44\x96\xcd\xcb\xf8\x0c\x2f\x84\x4f\xb6\x8a\x81\x2d\x4e\x88\x77\xe2\x91\x09\x26\x48\x3d\x91\xa5\xe6\x7a\x83\x01\xf6\xe4\x6f\x9b\x87\x00\x9f\xca\x08\x8d\xb9\xa8\x63\x2b\xe8\x38\x63\xec\x67\x7b\x4e\xcc\x71\x1b\xa1\x87\x8a\x11\x61\x28\xdc\xc4\xf1\xa6\x0a\x22\x5f\xfd\x5b\x37\xf3\x47\x00\xa9\x7a\x26\x34\x40\x10\xdc\xce\xbe\x1c\x78\x53\x99\x59\xca\x35\x06\x87\xc3\x97\xb8\x65\xa0\x57\x44\xed\xae\x0e\xf4\x29\x43\xa7\x1e\x57\xaa\x1b\xed\x8a\xde\x80\x3d\x7e\x74\xf7\xf6\x6d\x3b\xa5\x76\x19\x4e\x0d\xad\x13\xea\x9f\x56\xe0\x55\xba\x04\x27\x9e\xc7\x24\x0e\xd9\xf7\xee\x2b\xd8\xf3\x10\x59\x83\x3e\xf2\x3e\x37\xae\x9f\xb8\x37\xfc\x8c\x53\x5c\x6c\x98\xb3\x66\x22\xcd\x6e\x8f\x99\x4d\x51\xf2\xb7\xce\xe7\xdd\x56\x7a\x97\x3c\x5c\x26\xb9\x5a\x98\x6c\x65\x66\x05\x38\x7e\x4e\x86\x52\x0c\xb9\x9e\x2e\xe5\x99\x18\x7e\x79\xeb\xd6\xb7\xc3\xdb\xb7\x86\xb7\xbf\x1e\x0a\x58\xb4\x83\x28\x43\x5c\xc6\xcd\xfa\xed\x3d\x48\x82\x23\xb8\x3d\x0b\xc3\x8e\x2e\x97\x62\x05\x2c\xe7\x3f\x10\x76\xd2\x59\x86\xc8\x31\x66\x0a\xae\x10\x10\xd9\x5f\xa0\x65\x13\xa2\x5a\x61\x6e\x00\x80\x52\x95\xc9\x7c\x4d\x36\x8c\xcf\x80\x66\xc6\x77\xaf\xcd\xd4\x14\xce\x22\x4b\x0b\xf7\xc6\x81\x02\x58\xa9\xd6\xde\xcd\xdb\x9e\x4b\xbe\x21\xb7\x5c\x76\x31\xb9\x31\x10\x49\x60\xb7\x8a\x96\x25\x1a\xdd\x69\xeb\x40\xb8\x11\x2f\x59\x97\xf7\x30\xaf\x13\xf8\x4d\x87\x65\x87\xbe\x75\x27\x3d\xb6\x02\xed\x88\x57\x33\xac\x00\xc2\xfc\xfb\x01\x58\xe2\xac\xca\x0b\xa1\xf9\x44\xe6\xb2\x94\x21\x38\x85\xfd\xfd\xf8\x78\xc0\xc0\x96\xfe\x86\x4f\x4f\x65\xb1\x40\x2f\x70\xc6\x59\xae\x4a\x80\xa6\x82\x94\x3c\xde\x87\xbb\x43\x12\xb0\xdb\x4e\x00\x6d\x48\x10\x12\x45\x1a\x54\x4d\xd4\x5d\x73\xda\xbe\x2b\x8b\x75\x55\xb2\x62\x71\x00\xb9\xe1\x47\xfb\x76\x47\xfd\x50\xae\xf2\xfd\x7b\xf0\x7a\x26\xcf\x92\x0b\x86\xb8\xc0\xdd\xe1\x4c\x9e\xdd\x0b\x95\x11\xbd\x7b\xd6\x97\xee\x49\xd8\xd7\x90\x8c\xb0\x54\x6c\xec\x6a\x19\xef\xd8\xd4\x76\x07\xd3\xee\xda\xc3\xa4\x69\xb0\x77\x08\xc8\x91\x5b\x35\x70\x8a\xe7\x88\xbf\xde\x27\x6e\x00\x5c\xaa\x80\x03\xd1\x6f\x02\x58\xeb\x80\x0b\xf1\xf8\x6f\x40\x79\x8f\xf1\xe0\x82\xc0\x53\x0e\x58\x22\x53\x37\x95\x03\xd8\x50\x56\x62\x9d\x08\xaa\x0e\x90\x4e\x6d\x03\x53\xb5\x22\xb4\x55\xbb\x2f\x18\xd7\xa5\x9c\xe6\x82\xc2\xdf\x2c\x33\x82\x48\x3a\xe2\xa5\x19\x63\x5d\x6c\xdd\xb0\x37\x15\x79\x2a\x24\xeb\xe5\xd8\x1e\xda\xe2\x1b\x6d\xf9\xc9\xc1\x85\x42\xcd\xd5\x5c\x44\x4c\x59\xaf\x16\xe7\x01\x41\x5c\x6a\x0e\xb3\x80\xe1\x79\xe8\xc8\x0f\xd2\x12\x25\xae\xde\x0c\x98\x90\x10\xe0\xe0\x70\xdc\x73\x09\x30\xee\x72\x06\x12\xb6\x7b\x0c\x1e\x6c\x1a\x1f\xd3\xc6\x0a\x38\x58\x28\x76\xc1\x70\x27\x62\x6e\x27\xd6\x11\x23\xcd\x3c\x1e\x19\x76\x8f\x84\x71\xca\xd2\x25\x8b\xac\x6f\xc6\x1f\xd4\x39\x79\xc2\xd9\x3e\x8b\xc8\xb7\x41\x9c\x09\xbd\x61\x2e\x0c\x10\xef\x9a\x66\xc4\xe3\xed\xce\x07\xc6\xed\x8f\x33\xab\xad\x7a\xca\x8b\xcf\x2d\x88\x19\x84\x13\x0b\x47\x10\x3c\xf3\x68\x52\x58\x57\xe9\x60\xed\xe3\xd1\x1d\x51\xe8\xbf\xfb\x04\x67\xe6\x7e\x8f\x41\xbf\x2d\x47\xa3\x58\xbc\xb8\xe3\x76\x20\x33\x39\x2b\x3a\x25\xe3\xd3\xa9\x9c\x59\x69\xc8\x6a\xd0\x84\x9c\x87\x19\x5e\x0a\x2a\x1c\xba\xe5\xe7\x0e\x96\x42\x0b\x48\x06\x00\x51\x2b\xb6\x01\xca\x34\x27\x85\x19\xce\xa5\xc8\x67\x78\x25\x35\x57\x7a\xa1\x00\x75\xa6\x5a\xcf\x38\x55\x5e\x5b\x8f\xd0\x02\xd4\x7e\xdf\xc9\x98\x68\xec\xaf\x33\x37\x8a\x6c\xe5\x45\x19\x02\xac\xc8\x0f\xa7\xd8\x20\x0b\xf3\x73\xce\xb5\xf0\x91\xdf\x62\xc6\xaa\x22\x17\xc6\x38\x88\x61\xd8\xd1\xa2\x14\x7a\x15\xc6\xaa\x56\x82\xcc\x8e\x91\x63\x1f\xdf\x10\x22\x40\x2c\x53\xf0\x48\x1d\x8c\x98\x9d\x5b\xd0\x20\x69\xb8\x93\x05\x14\x50\x60\xc5\xb8\x52\xc0\xcd\xbb\x9c\x19\x90\x48\xd9\x42\x8b\x35\xd1\xd9\x4c\xf5\xea\x43\x2b\x31\x3a\x16\x35\xd7\x99\x2a\x60\xc6\x51\xac\x51\x86\x56\xc5\x84\xc5\xad\x23\x08\xba\x50\x32\x76\xe0\x03\x53\xcb\xa5\xd8\x20\x7c\xb0\x16\x53\x21\xcf\x1c\xb8\x45\x44\x45\xb0\xb5\x76\x52\x25\x71\x1a\x3f\x3e\xa5\x17\xbc\xb0\x1b\xd0\x8f\x6e\x62\x77\x7c\xa9\xd8\x52\xe4\x6b\xe7\x1f\x2c\x0d\x3b\x60\x6b\xa1\x97\x7c\x0d\xec\x23\x71\x10\x27\xaf\xce\x5c\x18\xd2\x97\xf0\x46\x7a\x4a\x70\xf3\x4a\x43\xdc\xe8\x4c\xa1\x93\x05\x43\x47\x23\x0c\xff\xa4\x3b\x1c\x8f\x6b\x7a\xf4\xfc\x31\x50\x3d\xc0\x9a\x12\x4f\x07\x01\x70\x66\x77\xb8\x00\xc3\x9a\x15\x16\xab\x75\xc4\xa0\x69\x1a\xbd\xf4\x68\x57\x6c\x22\xa6\x6a\x25\x8c\xe3\xd1\x2b\x5e\xf0\x85\x00\x95\xa4\xe4\xe6\xd4\x31\x89\xc7\x45\xc2\xe3\xbc\x58\xdb\x81\xb3\x9c\x24\x6b\x64\xe7\x70\x21\x5d\x73\x3f\x76\x86\xc9\xf8\xc6\x73\x6b\xeb\x85\x2c\x06\x8d\x18\x67\x7f\x50\xb7\x57\x63\x4f\xb4\xa4\x2a\xfb\x60\x3b\x70\xb7\xe2\x18\x03\x3d\xb1\x82\x75\x42\x38\x0e\x15\x9e\x4f\xa7\x62\x4d\x6e\x02\xb6\xf7\xc3\x96\xf3\xdb\x49\xa7\x7b\x98\x72\xdf\xf2\x1a\x3b\xab\x0e\xc2\xf8\x7e\x98\x96\x96\x6f\x07\xb4\x9e\xf2\x4c\xd0\xbd\xb5\x5d\x15\x6c\x5e\x16\x3e\x1d\x49\x30\x2d\xd6\x86\x19\x1b\x88\x31\x76\x33\x8b\xac\x6b\xd4\xca\x00\xc7\xd6\xdb\x32\xcd\x11\x40\x62\xc9\x8b\xf4\x04\xc0\x5e\xe4\x9b\x8c\xb1\x87\xa1\x43\x76\x73\x34\x22\x2d\xbf\x00\x3f\x31\xb7\x42\xf4\x47\x5a\xf5\xf8\x3a\x3c\x1e\x03\x7c\x13\x00\x50\x04\xd7\x05\xc7\x90\x06\xa4\xf6\xac\x85\x9e\x2b\xbd\x32\x68\x0d\xae\x07\x5c\x46\x03\xac\x8f\x6e\xcb\x26\x62\x29\x31\xb3\x05\x44\xc4\x09\x48\x0f\x5b\xa8\xe2\x00\x8c\x68\x1c\xf0\xfb\x4b\xa1\x79\x1e\x2b\x10\x41\x3a\x1b\x44\x6d\xf9\x55\x38\x2c\x16\xdf\xc9\x62\x06\x74\x13\x7e\xdd\xc6\xa4\xda\x32\x17\x81\xcc\xa2\x07\x5d\xc7\x0b\x83\xfc\xdd\xdb\x66\xcc\x89\x89\x65\xc8\x2a\x8d\xfc\xcf\xe4\x56\x08\xc8\x37\xc0\x6a\x2c\x27\x04\x0f\x94\x5e\x4d\x3e\x04\x28\x24\xdf\x31\xbf\x58\xe8\x2b\x6c\xa6\x22\x71\x13\x36\x53\xe1\x63\xf8\xea\x89\x03\x31\x0d\x14\x13\x68\x02\x18\xc0\x12\x85\x80\x3f\x97\x67\x05\x96\xaf\xdb\x18\x9a\x2d\x9c\x85\x6e\xf4\x06\x6d\x6e\xd4\x74\x8f\xe5\x9a\x00\xa7\x7b\x7c\xcd\xde\xbf\x67\x9d\x0e\xc5\xa6\x31\x1f\x9e\x86\x4e\x60\x7d\xb0\xce\x24\x42\xec\x17\x5f\xb0\xc7\xab\x35\x9f\x42\xea\x0e\x67\x62\xf3\x61\xa1\xde\x10\xe3\x04\x51\xab\x3a\x2b\xcb\x63\xeb\xc9\x29\xe2\x65\x7e\x8c\x4e\x39\x20\x14\x93\x83\xce\x78\x1b\xb6\xa3\xe5\x29\xe7\x70\x60\x00\x73\x1e\x47\xf0\x45\x63\x7b\xfe\x79\x0f\x21\x7f\xe5\x48\xd9\xa9\x43\x0d\x61\x6b\xfb\x00\xdb\xef\xa2\xb3\xdb\xa9\xae\xc0\xee\x21\x1c\x32\x8a\x74\x0d\x78\x3f\x7c\x25\x7c\x5c\x42\x31\x63\xe0\x91\x37\x55\xb6\x5f\x48\x42\x41\xf2\x86\x53\xdc\x89\x6c\x1e\x46\x02\xce\x48\xdb\x4b\x97\xcb\x75\xe7\x0e\x8b\xac\xaa\x2d\xdc\x24\x7a\xbb\x75\xc2\xa7\xeb\x2f\x7b\xf5\xe2\x89\x6d\x51\xc1\x38\xea\xc3\x48\xe3\x74\x79\x31\x1b\xa2\xf2\xe5\x86\x62\x48\x06\xe6\x1b\x27\xf2\xd2\x8f\x8f\x00\x01\x08\x6e\xc6\x84\xd0\xb1\xda\xb2\xc6\x4d\x8c\x3b\x1d\xa2\x21\xb1\x73\xcd\xd7\x4c\x96\x5b\xd4\x4a\xb8\x77\x10\x73\x3e\x36\x18\x1f\xfd\x3c\x17\xf6\x5c\x2b\x54\x29\xfa\x87\xce\xfa\x47\x68\xb8\x1d\x20\x94\x93\x63\xbb\x60\xe8\x35\xce\xd0\x26\x8d\x81\x29\xe6\x70\x38\xb4\x1b\x3d\x5b\x28\xb5\xa0\x88\xcd\xf5\xd0\x65\x8a\x17\xd3\xe1\xb9\x3c\x95\xc3\xe7\x5c\x97\x5f\x7e\x61\xeb\x38\xc0\xfb\x9c\x5f\xd1\x36\xfc\xeb\x5c\xe9\x5f\xff\xfe\xf4\xc9\x0f\x65\xb9\x7e\x81\xe6\xf6\xde\x1e\x45\xb7\x9e\x3c\xd0\xca\x98\x03\x6a\xd3\x87\x63\x1e\x2f\x39\x48\x04\xdd\x07\xcf\x5e\x1c\xf7\x7c\x74\xcc\xf9\xf9\x79\x76\xfe\x15\x84\xc6\xbc\x7c\x31\x9c\x2a\x6d\x86\x50\x13\xb6\x83\x50\xbf\x20\x73\xcc\xe8\xea\xad\x54\xa4\xe3\xd9\x53\x97\x6f\x7c\x36\x62\x2d\xc8\x15\xec\x7c\x29\x88\xf7\x47\x14\x21\xe1\x68\x9e\x0a\x63\xe6\x55\x8e\x4c\xcd\xd2\x46\x14\xfd\x24\x78\xe1\x8f\x5b\x44\xe2\x83\xa3\x0e\x34\x21\xdb\x65\xea\xd1\xa0\xb9\xe1\x09\x7b\xcc\xc7\xfb\x96\x44\x5c\x08\x39\x62\xe5\x19\x84\xe8\x00\x5d\xd4\x27\xe3\xcf\x18\x3b\xca\x8d\xda\x59\xdf\xd8\x8a\x5b\x87\xc3\xe1\x18\x70\x92\xe0\x0c\x2f\x54\xa8\xca\x09\xf7\xbe\xba\xc0\x9b\x60\x3c\x73\x21\x72\x03\x61\xd8\xac\x54\x8a\xad\xac\x5c\xa2\xce\x84\x5e\x0a\x3e\x73\x32\x00\x60\x69\xad\xd6\x4a\x97\x24\xb3\x6b\xb1\x12\xab\x89\x20\x9b\x9c\x15\x31\x80\x1b\x38\x2e\x56\xaa\xd4\xd5\x2f\x4e\xf6\xef\xe5\x2d\x32\x9f\x44\xaf\x40\xc8\x6d\x1c\x82\x70\xf1\xb3\xe9\x68\xc1\x78\x55\xaa\x15\x2f\x11\x1e\xc7\x53\xba\x8b\x69\x9f\xc1\x0c\x46\x20\x31\x70\x17\x3c\x8e\xa5\xa8\x31\x31\x80\x15\xeb\x86\x11\xd8\xbe\x22\x4b\x05\x98\x9a\x62\xe1\x6e\x13\xc6\x64\x8c\xee\x21\x42\x1c\xb0\xd3\x16\x3b\x46\xe7\xee\xe4\x1e\x1c\x7b\xa8\x6b\x50\xb7\xee\x0e\x27\xf7\x3a\xce\xb4\x31\xee\xa1\xce\x0e\xb0\x39\xfe\x50\x27\x42\xc5\xf8\xa9\x31\x21\xfb\x12\x50\x8d\x43\xf4\x1c\xd7\x06\x1d\xdf\x66\x49\x8d\xa1\xcb\xf6\x83\x99\x82\x45\x5f\x73\x03\xec\x75\x85\x5c\x04\x33\xb8\x5e\x5d\x34\xc9\x18\xac\xa5\x93\xae\xd7\x39\x87\x80\x10\x95\xa3\xa3\x55\x0c\x3b\x43\x73\x36\xbb\x1a\x00\x11\x0a\xe0\xa0\x40\x18\x5e\x78\xa3\xa5\x4b\x46\xa5\xce\x61\x05\x4b\xe4\xc3\x09\xb2\x8a\xdd\xd2\xf1\x51\x17\xa9\x38\xd1\x11\xd2\x71\x81\xf5\x7e\x4f\xba\x6c\x17\x0a\x9c\x51\xd9\x69\xa1\xce\xc9\x60\x78\xfc\xe0\x11\x5a\x6d\x28\x7e\xc1\xec\xda\x58\x29\xff\x8f\x50\x61\x42\x39\xbb\x51\x98\x65\x50\xb4\xb5\x0b\xf8\x83\xac\x2a\x10\xa2\x17\x1d\x6c\x4e\xcd\x0a\xa8\x39\x46\x44\xa8\x35\x01\xb2\x86\xae\x32\x3e\x12\x2c\x24\x40\x9a\x7c\x12\x58\x4c\x80\x42\x41\x47\x5a\x08\xc4\x80\x4b\x06\xcb\x21\x28\x50\x2d\x08\x30\x46\x2e\x0a\xab\xe8\x71\x08\xd2\xd3\x62\x56\xb9\x58\x53\xc7\x4c\x32\x66\xa7\xdc\x72\x1c\xae\xc9\x02\x09\x40\x5a\x1c\x95\x46\xb3\x02\xbf\x21\x2a\x4c\x51\x82\x80\x52\x01\xe7\x45\x64\xa8\xb3\x3c\xa7\xe3\x6d\xa6\x98\x8e\x0c\x1c\x58\x41\x35\x47\xef\x81\x33\xa1\xe5\x7c\x13\xd8\x34\xf2\x35\xd0\xff\xe0\x24\x04\x79\x7f\xa2\x72\x07\x17\xe4\x6d\x60\x90\x49\x8b\x17\x49\x83\x76\xad\xbd\xb5\xd4\x03\x88\x38\x5d\xc8\x23\x88\x58\x96\xfa\x33\xa8\xb1\xb4\xbd\x62\x3f\x12\x02\x83\x71\x66\x78\xa7\x5e\xbd\x77\x97\x2d\xc9\xe5\xdf\x7b\x30\xf7\x9b\xe8\x01\x94\x3d\x68\xfb\xd7\x78\x8a\x65\x89\xf1\xfd\xf0\xf2\xe9\x93\x71\x54\xef\xf7\x8a\x0c\xd6\x6e\x12\xc9\x1e\xe2\x70\x32\x9d\x69\x33\x1a\x7e\x86\xc1\xae\x1f\xa0\x74\x04\x51\x92\x5c\xb7\x83\xef\x45\x6c\x6c\x31\x08\x01\x5c\xbf\x66\x35\x4c\x14\x90\x45\x02\x5c\x99\x29\x07\x60\x68\xde\x71\xe7\x80\x7e\xbf\x25\x3e\x4d\x80\xbf\x06\xf3\x26\x49\x43\x79\x90\x9b\xf7\xff\x01\x0e\x0d\xaf\x84\x11\x08\x18\xb1\x23\x33\x96\xcc\xdf\x83\xe3\xe3\x31\xab\xcd\xdf\x83\xe3\xe3\x0f\x9b\xbe\x07\x3e\x78\xb5\x2a\xc0\x2d\x87\xb1\xef\x85\xc8\xd9\x5c\x0b\x6f\x8c\x42\xeb\xa5\x67\x01\x41\x06\xaf\x75\xe8\xd5\x8b\x27\x8d\x0e\xc1\x29\x80\xf6\x33\x67\x25\x2a\x15\x21\xdf\x58\x79\x1b\xf1\xa4\x9b\xfd\x60\xdd\xf1\x5d\xce\xec\xb1\x33\xa2\x63\xe7\xae\x5c\x2d\x98\xd1\xd3\xd1\xb8\x7e\xd2\x00\x88\x31\x9e\x34\xf6\x68\x80\x53\x5a\x96\x70\x45\x54\xc4\x97\x5e\xb5\xee\xc6\xfe\x10\xe3\xd6\xee\xda\x63\x0b\x84\x87\x1d\xfd\xc6\xc4\x4a\xe7\x60\x24\x23\x8f\x59\xdc\x4b\x80\xd6\xe1\x3e\x72\x47\xb8\x9b\xc3\x74\x01\x08\x1d\xc8\xf8\x62\xf1\x89\x32\x60\x63\xa3\xa7\x63\x36\x84\xb3\xdf\xfe\xe6\x8d\x8f\x60\x9e\xe3\x0b\xe3\x00\x2c\xc1\x48\xf0\xf8\xe9\x5f\xc7\x84\x19\x3b\x7e\xfc\xfd\x8b\xa3\xa7\x8f\x6c\x15\xcf\xbe\xfb\xf1\xd1\x83\x97\x63\x67\xa2\x61\x77\x27\xfa\x9e\xfd\xcf\x6e\x64\xba\xc5\x68\x99\x10\xba\xdd\x61\xa6\xd4\xaa\x58\x08\xcd\x4c\xc9\x4b\xd0\x3a\xc3\xed\x16\x88\x75\x64\x9f\xf0\x14\x00\x62\x1e\xed\x0d\x8d\x26\x72\x7f\x27\x19\xfc\x89\x9d\x6d\x88\xf8\x11\x24\x94\x6c\xe9\x45\xec\xff\xcf\x8b\xcd\x79\x70\xaa\xde\x59\x01\x7c\x87\x50\x9b\x70\xe9\x3b\xab\xad\xfb\x8f\xf1\xb6\xa1\x75\xff\x91\x9f\xf1\x63\xbc\x41\x74\x97\xbd\x6e\xf9\xdc\x75\x63\xcb\xf2\x75\x62\xbf\xad\xcf\xb0\x93\x88\x51\x7f\xaf\xf4\x8a\x83\x69\x0a\xa2\xff\xed\x27\x1f\xa3\xb6\xb5\x82\x70\x0d\x3f\x06\x7d\x2b\xa0\x6b\x85\x23\xa6\x1d\xd3\x20\x81\xac\x62\x8f\xf8\x74\xe9\x4c\x15\x74\x01\x62\x08\x44\x21\x40\x35\x44\x89\xdf\x3d\x20\x96\x33\xd0\xb0\x03\xd6\xef\x63\x40\x71\xdf\xa1\x06\x1d\x20\xa0\xfd\x5a\x4c\x25\xcf\x59\xbf\x8f\xae\x88\xfd\xfe\x80\x8d\xb1\xe4\x78\x50\x8f\x1a\x41\x30\x61\x07\x0b\xef\x60\x4d\x5c\xab\xfd\xbe\xe1\xa8\x87\xc0\x3f\x14\xaa\xfa\xfd\x16\x6b\x40\xb8\xb3\xad\x8c\xc3\x05\xc4\xaf\xbd\xe2\xed\x60\x91\x6c\xc7\x8f\xa9\x67\xac\xeb\x71\x87\x43\xc7\x91\xdd\xbb\x2e\xf7\xd2\xc1\xa1\x3f\xfe\x0e\x48\x7b\xab\xfc\xb1\x7e\x04\x9a\x3f\x0c\xd8\xf2\xaf\x5e\x3c\xe9\xbb\x71\xb9\x15\xf2\x23\x9b\x08\x94\x10\x61\xbf\x74\x4d\x35\x49\xb0\x80\x8d\x67\x79\x0b\xa5\x66\x4c\x14\x56\x40\xcf\x92\x8e\x41\xb2\x4f\xe1\x51\x99\xfb\xfd\xf2\x5c\x79\x38\x66\x8f\x34\x6c\xfa\x7d\x76\xc0\xc6\x7d\xe2\xdb\xfd\xfe\x18\xd4\xc4\x9c\x38\x95\x07\x52\x36\xbe\x63\xb8\x3e\x56\x37\x30\x22\x3f\x13\x1e\xc3\x0a\x6a\x39\xf4\xfd\xfb\xa7\xd0\xca\x67\x1d\x55\x53\x0c\xeb\x98\xe2\x45\x58\x0a\xd1\x1c\xf1\xc4\x36\xf2\x62\x5f\xfb\xa6\x43\x6f\x0e\x59\x67\x7c\x38\xee\x0c\x58\x67\x3c\xc4\x1f\x19\xfe\xb8\x8f\x3f\x6e\x8c\x09\x6a\xfa\x4e\x07\xc4\xc5\x8e\x65\x8e\x95\x11\xf3\x2a\x0f\x73\x40\xa1\x55\xbe\x7a\xb8\x68\xf0\x52\x6f\x3c\xae\xab\x0e\xac\xcf\x8b\x4d\x3f\x74\xd3\x4e\x25\x5a\xe8\x07\x78\x6b\x54\xa8\xd2\xb7\x06\xfe\x70\xeb\xb5\x56\x6b\x2d\xe1\x36\x4c\xb9\xe8\x3b\xc4\x17\x31\xd3\xa5\x58\x89\x01\x91\xb8\xbb\x76\x27\xbb\x7a\x95\xcf\xdc\x42\x90\xae\xed\xf0\xc7\x7d\xfd\x64\xee\xe8\xf7\x13\x8c\xac\xe4\x5b\x2a\x22\xce\x64\x0e\x2f\xef\x23\x50\xca\x28\xfd\x02\x4f\x07\x5e\xe2\x25\x6d\xd2\x7f\x10\xac\x21\x02\xc1\xdd\xb8\x14\x70\x52\xf6\xec\x9c\x1b\xc2\x33\x71\x31\x35\x42\x6f\x98\x28\x66\x6e\x81\xd7\xbc\x84\x7c\x0d\xea\x74\x57\xd7\xe7\x4a\x25\x3d\xf1\xea\xd2\xb0\xdf\xef\x85\x9d\x8b\xe0\xc6\x76\xe7\xf6\x8d\x10\x6c\xca\xcf\x04\xb7\xcc\x2a\x57\xe7\xfd\xb0\x23\xfa\x0f\xe0\x79\xff\xd0\x01\x93\x36\x33\x49\xe0\xa6\x5a\xab\x73\xa1\x2d\x9d\x40\x4a\x87\xf9\x5c\x68\xb6\xd0\xb6\xc6\x79\x2e\xde\x4a\xb8\xd3\xde\x0c\x18\x49\x33\xe8\xa2\xe2\x3b\x0e\x77\x34\x9c\x22\x99\x64\x21\xce\x24\x06\x1c\xb9\x08\x41\xe7\x86\x01\xa6\x83\xfe\x92\xbb\x80\x25\xbb\xc2\xa5\x65\x64\x8e\x58\x05\x37\x1b\xb2\x3e\xc0\xbf\xe4\x6e\x56\x16\xa5\x56\x56\x2f\x62\x9c\x4d\xaa\x05\x82\x92\xc0\x7d\x12\xdc\xab\x1a\xb8\xc3\xb7\xb3\xf6\x36\xce\x58\xd2\x95\xab\xa5\x1a\xb8\x5c\xcb\xe2\xad\x30\x14\xf3\x17\xa6\xdd\xae\x26\xf0\x13\xcb\x76\xd8\xd4\xea\x50\x7c\x21\xb2\x9e\x3d\x1d\x95\xf6\x6e\xba\x83\xd8\x6b\x67\x9c\x8d\xdd\x75\x39\xe6\x3d\x00\x19\x5d\x03\xea\x1b\x88\x63\x76\x57\xf9\x26\x50\x39\x2b\x2a\xb0\x98\xa8\x39\xdc\x92\x81\x61\x0a\xea\x09\x3c\x21\xa9\x11\x4e\x06\x18\xa4\xd7\x1d\xf1\xce\xc3\x6e\x10\x88\x10\x09\xf5\x57\x13\xd2\xdf\xa7\x2e\x9c\xb1\xce\x95\x39\x1b\x1f\x8e\x41\x0b\x47\xbb\x10\xb4\xec\x83\x46\x72\x79\x2a\xf2\x0d\x10\x37\x90\x33\x1a\xec\xd8\xe3\x40\xf7\xd2\xb0\xa5\x5c\x2c\x41\x39\x45\xcf\x0b\x72\x34\xa7\xab\xd4\x06\xfe\xb6\x4f\x0d\x32\x07\x6b\x1c\x9f\x9e\xa2\xe5\xab\x41\x7e\xa1\x89\x39\xde\xc9\x72\xbb\x94\x39\x27\xf1\x40\x47\x2c\x09\xfd\xed\x1b\x59\x69\x22\x44\xa5\x18\xc6\x97\xe0\xbf\x1d\x8e\x79\x19\x62\xd8\x7a\xa4\x4b\xa7\xdc\xbd\x76\x86\xf5\xfb\x88\x9f\xde\xef\x7f\xc8\x49\x96\x9c\x60\x61\x87\x80\x15\x05\x16\xd3\x16\xa6\x9e\xcd\xe4\x2c\xf0\x13\xb0\x9e\xfd\x83\x0e\xa4\xeb\x63\xb8\x1d\x32\xd0\xd3\x60\x94\xc5\x10\xe1\x79\xce\x17\xa1\xeb\x4e\x65\x53\x49\xd5\x3e\x2a\xd9\xc3\xb4\x0f\x5a\x70\xdc\x7b\x35\x9c\x28\x9a\x66\xb4\x2d\xc2\x3b\x0a\xed\xf6\xf6\x95\x48\x08\x05\x93\x0d\x22\x76\xe2\x51\x86\x7c\x0a\xae\xbe\x8a\x85\x2c\x04\xeb\xc6\x8c\x3f\x22\x9b\x01\x06\xf5\x42\x84\xa1\xa9\x04\x3b\xf9\xe2\x4f\xb7\x6e\x7d\x1d\xec\xe5\x0b\x59\x2e\xab\x09\x30\x3f\x8a\xd2\x76\x3f\xb3\x37\x66\x08\xdf\x98\xa1\xfd\xa4\xd7\x1b\x44\xf5\x07\x8b\x24\xe6\x00\xc0\x1e\xb7\xd0\x0b\xf0\x2b\x4b\x2f\xe7\x3c\x76\x08\x41\x6f\x1c\xb0\x80\xae\x5c\x86\x04\x5f\xbd\x65\x34\xb9\x38\x13\xb9\x5d\x70\x1f\x05\x3e\x13\x6b\xf4\xb6\xb3\xd3\x1f\xa3\x96\x46\xb3\xe0\x54\xf0\x73\x0e\xee\x03\x91\x69\x37\x22\x10\xaf\x5d\xdb\x15\x7f\xa8\x80\x61\x3a\x5e\x03\xf5\xda\x4a\xe7\x4a\xaf\x2c\x97\x74\xad\xaf\xc4\x74\xc9\x0b\x69\x56\x74\x40\xe2\x00\x26\xc8\xcd\x7c\xd5\x28\x25\x39\x4f\xa0\xa9\x9a\xc5\xc6\x32\x17\x60\xfd\xa2\x9a\x6c\xd8\x92\x07\xb2\x3a\xa1\x8c\x02\x38\x95\x5d\x53\xea\xf4\x2e\x41\x57\x93\xcd\xc1\x4c\x4d\xe1\x46\x61\xaa\xb4\x38\xf8\x32\xbb\x95\xdd\x1a\xd2\x67\xcb\x72\x95\x7f\x81\x97\xf5\x07\xd3\x03\xac\xa4\x17\xf8\x7a\x31\x63\xcf\x37\xe5\x52\x15\x00\x24\x75\xa2\x05\xb5\xe3\x9b\x98\xa9\xa9\xc9\xd6\x50\x04\x5a\x20\x97\x8b\xa1\x16\x58\xb5\xff\xa2\x17\xce\xcf\x1f\x83\x8b\x65\x0e\x19\xa1\xc0\xb5\x44\xda\xc5\x9f\x54\x12\xdd\x65\x43\x0a\x48\xa5\x43\x04\x3b\x83\x28\x2a\xf0\xee\x53\x90\x3c\xfb\xaf\x70\x59\xe3\x6b\x7e\x90\x2b\xf0\x44\xa1\x5e\x74\x0c\x3b\x59\x28\xb5\xc8\x88\x9d\x68\xd8\x73\x8f\x68\xa6\x7a\xaf\xbb\xf5\x23\x1d\x46\x33\xc5\x4a\x0e\xa8\x12\xba\x10\x82\xbb\x21\x4b\xe9\x0b\x59\x0e\xa9\xc8\xaf\xf6\xd5\xaf\x58\x39\xfd\xc8\xde\x18\x4a\xa1\x80\xe3\xb7\x3b\xfa\x2f\x5f\x7f\xd9\xfb\x0c\x30\xe9\x20\x77\xf9\xeb\xf1\xe8\x7e\xe3\x78\xa9\xce\xd9\x4a\xc4\x9e\x8d\xa8\x53\x90\x09\x18\xcc\x79\xee\x0d\xda\x90\x46\xfb\xab\xcd\xf1\x54\x1c\xad\xd7\xfb\x76\x6f\x98\xd1\x3e\x6d\xdc\x03\x9f\x6b\xf1\x8d\x21\x97\xc6\xb9\x15\x47\x50\x51\x83\x5c\x22\x30\x30\x7c\xc7\xbc\xc3\xa3\x77\xbc\xd3\xa3\xfd\xa3\xf5\xfa\x81\xff\x13\x78\xdb\xe6\x41\xa9\xfd\x27\x8c\xdd\x95\xb5\xbb\x05\x2c\x90\x05\x57\x26\xb2\xd4\x83\xdf\x24\x93\xb3\xd1\x7e\xfb\xab\x7b\x77\x87\xf2\x9e\x33\x41\xf8\xda\x27\xf7\x5e\xc5\x7e\x87\x77\x87\x93\xe4\x7d\x7c\xc9\xeb\x6d\x84\x14\xc1\x16\x39\x53\x39\x63\x00\x9a\x40\x8e\x72\x39\x15\xa0\xa3\x43\xa5\xe8\xcd\xea\x1d\x8e\xec\x81\xe1\xaa\xf7\xf6\x3a\xf0\x22\x3f\xe3\x32\xb7\x32\x16\x46\xcd\xc5\xef\xc0\xa7\xcd\xbd\x26\x3f\x4d\x74\x24\x41\x9f\x22\x97\xe4\x25\xb2\xe2\x05\x36\x67\xfb\xa9\xa4\x3f\x71\x71\x19\xa6\x39\x37\x66\xb4\x7f\x2e\xf2\x68\xae\xc3\x12\x69\xb1\x16\xbc\x44\x87\xd4\x07\x38\x0c\xdb\x10\xcd\x7d\xf4\xd4\xc4\x5f\xc3\x7c\xbe\x7b\x17\xbd\xce\x2c\x2d\x6c\xb7\x76\x5a\x0f\x93\x72\x66\xcd\x8b\x16\xe7\x57\xf7\x99\x7d\x42\xbf\xef\xbb\xbe\xc6\xcf\xee\xdd\x1d\xda\x1a\x6a\x6d\xeb\x78\x24\xde\x81\xb6\xfe\x57\xf8\xfd\xee\xd0\xd2\xab\x33\x1b\xc4\xc4\x8b\x2c\xc7\xd3\x75\x1b\xfe\x32\x6e\x89\xce\x80\x9d\x74\x82\x05\xb6\xf3\xda\x33\xc4\x2c\x90\x79\xb7\x93\x90\x39\x7c\x73\xdd\xb2\x11\xab\xe0\x5d\x77\xba\xc0\x03\x3e\x5d\x42\xdc\x0d\xfa\x7e\x84\xa1\x04\x27\x10\xfb\xcd\x80\xa5\x5f\x0c\x58\xe2\x1b\x82\xff\xce\x38\xe5\x40\x1b\xb9\x8c\x62\xe1\x1d\xd4\x02\x50\x6c\xfb\x56\xa2\xf9\x75\xc6\x4b\x9e\xbd\x31\xaa\xd8\x1f\xb0\x77\x53\x5b\xe5\x61\xad\x89\x6d\x2f\xa3\x0b\xe0\x00\x32\x1d\xd3\x40\xad\x71\x06\x4d\x27\x54\xc2\x46\x2c\xfe\x33\xe9\xcf\xb6\x97\xfc\x09\xdf\xb6\x6e\x61\x36\x6a\xf8\x7f\x75\xd3\x76\x19\xeb\x20\x65\xa9\x62\xa5\x2a\x23\xac\xd8\x3f\xda\x07\xbf\xba\x52\xbc\x2d\x1f\xa0\xad\x74\x74\xe3\xb7\x4a\x95\x77\x1e\x35\xf7\x2f\xba\xd7\x6e\x20\x62\xdd\xb0\x0e\xbb\xd9\xa8\x3e\x49\x76\x88\xf5\xec\xdf\xfb\x01\xee\xbc\xe0\x7f\xb0\x35\xc1\x32\x47\x14\xda\x89\x47\xb7\x25\x10\xe7\xdd\x84\x57\x5b\x11\xa0\x3e\x02\x8c\x7e\xc7\xf6\x6d\x99\xfd\x43\xb6\x0f\x1c\x66\xdf\x93\x48\xb2\x35\x92\x7d\xb6\xdf\x9c\x8e\x4e\x63\x3a\x7e\xd9\x7f\xfe\xf3\x4f\x5f\x3d\xbc\xf6\xcb\x7e\xe7\xde\x63\xc3\xee\xca\x7b\xbc\xd8\xa8\x42\x58\x86\x09\xc8\xf4\xa8\xa6\x48\x73\x9f\xc6\xb4\x4f\x1e\x3e\x83\x46\xc7\xbe\x53\x93\x5d\xdd\x62\xfb\x77\xe5\xbd\xff\x10\xe6\x1a\x54\xcb\x8e\x56\xec\x31\xde\x85\x85\x6c\x48\xaa\x10\xf7\x5d\xdd\xf6\xc7\xeb\x8b\xe7\x6a\xad\x55\x69\x95\x2c\x65\x45\xc8\x7d\xb8\x52\x8a\x1f\xba\xad\x8b\x01\x45\x13\xd1\xed\xe0\x45\xee\x94\xcd\xc4\x4a\xc5\xce\x55\x11\xfd\xca\xb2\xdb\x21\xfc\x98\xc8\xf7\x3a\xf1\x20\x31\x3b\x3e\x65\x04\xf2\xd2\x75\x4e\x52\x3c\xcf\xbb\x93\x4d\x36\x35\xa6\xdb\x89\x39\x5a\xa7\xd7\xcb\x20\x03\x65\xb7\x67\xb7\xe1\xe3\xa2\x40\x7f\xfd\x6e\xaf\x97\xd2\x5b\x56\xaa\xef\x44\x17\x49\xfa\x6a\x2b\xd3\x70\xc4\x6a\x19\xd7\x4f\xcf\x5e\x86\xb1\xb5\x1c\x62\x1f\x34\x48\x3b\x40\x39\xeb\x76\x5a\x37\xac\x1d\x68\x6d\x80\x38\xa4\x74\x98\xbf\xeb\x9e\xfd\xa4\x1d\x1b\x9c\xd9\xea\xfb\x96\xdd\x1d\x92\x94\x74\xcf\xfb\x8c\x92\x88\xf5\x80\x17\xec\x31\xf3\x21\x7e\x70\x0f\xe4\x32\xc4\xb8\x3b\xce\xff\x10\xe4\x29\x35\xe5\x56\x5c\xff\x41\x9d\x8b\x33\xa1\x07\xde\x23\x1a\x2f\x3f\xf2\x8d\xad\x66\xaa\x2a\xcd\x17\xa0\xbc\xdb\xca\x16\xe0\xcf\x09\xba\x1c\x04\xae\xa8\x79\xb8\xa9\x9d\x88\x42\xcc\x65\x09\x12\x3f\x26\xcd\x86\x2c\x36\xa4\x1f\xa4\xb7\xce\xce\x31\x16\x6e\x81\x83\xfd\x06\x02\x88\xe9\xfe\xca\x45\x86\xa4\x31\x21\x98\x4d\x83\xfc\xba\xe8\xc6\x59\x96\x5e\x59\x52\xe7\x05\x73\x20\x53\x38\x7c\x48\x83\x00\x17\xc6\xcc\x94\x7c\x21\xb0\x7d\x54\x6c\x40\x27\x32\xa2\x40\x9f\xea\x68\xd2\xdc\x10\xc0\xac\x42\x01\x1c\x21\x4d\x83\x1b\xb9\x78\x4b\x69\x6a\xc1\xef\xd2\x9b\x3e\x5c\xba\x52\xd2\x8f\x6c\x27\xec\x63\x6f\x6d\x9a\xb9\x51\x6c\x54\xd5\xd1\xc2\xf6\x85\x14\x62\x30\x67\xb9\x90\x4b\xec\x79\x29\x57\x91\x9b\x07\xc4\x0e\xc8\xd9\x00\xbc\x3f\x3a\x86\x2d\xc9\x51\x03\xbc\x18\x42\x26\xa0\x68\x24\x35\xaf\xcf\xd6\x4c\x0e\x3f\xcb\x72\x79\x3c\x15\x0f\x69\xc2\x2f\xcb\xee\xd0\xc8\xea\x30\x1c\xb2\x07\xad\x8d\x93\xbd\xcb\x72\xbc\xc2\x94\x94\x7d\x62\x5d\xe9\xb5\x32\x02\x1d\xef\xaf\xf9\x1a\x1e\xa2\xc3\x0c\x99\x6e\x0b\x71\xce\xd6\x5a\x01\xbc\x10\xc9\x8e\x71\xd3\x19\x45\xdc\x75\x21\xea\x13\xb7\x47\x92\x9a\x00\xa2\x44\x9b\x41\xa2\xb7\x6f\xdd\x6a\xa6\x2d\x68\x49\xc8\xee\x02\xfa\x1c\x82\xe7\x95\x11\xc4\xfd\x95\x12\xd5\xb0\x77\x35\xb0\xf0\x89\x52\xb9\xe0\xc5\xc8\x61\xc1\x3c\x9e\x47\x40\xe1\x65\x08\x31\x34\x2e\x78\xd7\x90\xca\x94\xc0\x33\x53\x2d\x5b\xe8\x34\x93\x73\x20\x3d\xb8\xbe\xa7\x10\x2b\x98\xad\x7a\x12\xda\xbd\x1d\x30\xc9\x8f\x5a\x5a\xa4\x08\x9f\x00\xe1\xe1\x50\xa6\x02\x82\x58\xc0\x86\x0f\x93\xf8\x31\xd0\xc8\xe1\xeb\x6b\xd7\xce\x02\xd6\x55\x82\x7f\x4c\x65\x92\xfc\xd4\xec\xa1\x30\x72\x51\x80\x6b\xa5\x71\x36\xac\x1d\x91\xca\x73\x8c\x0f\xad\xc3\x55\x1f\x3d\x7f\x8c\xf1\x59\x7c\x5a\x7a\x6c\x02\x60\x49\x3e\x96\xd9\x16\x6d\xf5\xfe\xa8\xff\x0b\xb5\xc6\x15\x38\x14\x41\xb0\x33\xba\xcc\x75\xe9\x6d\xcd\x57\x2e\x32\xe1\x30\xea\xdd\x81\x87\x63\xa3\x2b\xd8\x47\x45\xb5\x72\x6e\xf9\x7b\x11\x16\x3a\xf8\x45\xda\xcf\x3d\xd0\xbb\xe5\xae\x82\x2c\xea\x51\x00\x45\x88\xf3\x48\xc1\xfc\xec\x77\xcf\xfe\x47\x74\x99\x42\x20\x2b\x84\x10\xef\xae\xb6\x13\xf7\xe5\xa8\x4f\xc4\x65\x2b\x30\xb9\x22\x58\x6b\x0a\x9d\xd8\x12\x19\x11\xaa\x8f\x42\x0f\x7a\x74\x8b\x63\xb9\x1b\x2f\xe5\x24\x17\x71\x33\x11\x3d\x46\x98\x2b\x59\x32\x63\x0e\xf5\xa7\x3e\x49\x96\x33\x25\xb1\x1a\x82\x6e\x02\xd7\x8e\x4d\x4f\x36\x7e\xba\x7b\x83\xd0\x8c\x40\xeb\x98\xc9\xda\xeb\xd8\x8b\x71\xfa\x2f\xae\x08\x0d\xfc\x66\xad\x5c\xac\xd3\xda\xa7\x91\x76\x60\x65\x47\xb6\x99\xef\xb8\x71\x29\x08\xe5\x3c\xd4\xef\x42\x5c\x20\x23\x37\x5f\xaf\x9d\x41\xdf\x1e\xd2\x3e\x0e\x05\x5c\x60\xc0\xa8\x4a\xe0\x75\x76\x9a\x7c\x56\x3c\x86\xd0\x1f\x78\x1b\x66\xf9\x0c\x7c\x1b\x9a\xa0\x08\xee\x96\x69\x6d\x86\x87\x5c\x40\x8b\x01\xe9\x15\xa5\xc0\x68\x0a\xea\xe1\xe6\x71\x40\x98\x74\xb3\x84\xae\x4a\x31\xb1\x35\x68\x11\xc8\x01\xf6\x2a\x82\x84\xcc\x02\x4a\x48\x3b\xc7\xfb\xe9\xd9\xcb\x47\x87\xd8\x3d\xbf\xd9\x67\x22\x97\x13\x40\x1e\x85\x98\x30\x61\x50\x5e\x2d\x79\x99\xfa\x5f\xc4\x38\x61\x01\x4d\x91\x6e\x0d\xb0\x7a\xb5\xe6\xbf\x61\x3a\x70\x58\x1b\xc4\xbf\x83\x75\x40\x40\x5a\xda\x0d\xe0\xcc\x05\x10\x64\xeb\xb5\x28\x1c\x56\x10\x2f\xea\xac\x0a\x53\x79\x21\xc9\x61\x03\xe1\x16\xa9\x59\x7a\x4a\x97\x93\x78\x1b\x86\x18\xe2\xd2\x94\x7a\x03\xc6\x19\xcb\x05\x48\x7e\x25\x04\xbf\x68\xf7\x42\x3c\xfa\x5e\x04\x04\x0a\x42\xd0\x20\x1a\xe6\x79\x7d\x09\x31\xfd\x48\xbc\xb9\xb9\x09\xa0\x7f\x59\x6d\x3f\x53\xd2\xc1\x00\x06\xd5\xa8\x23\xc2\x0b\x9c\x03\x61\x72\xca\x46\x1f\x5d\x67\xe1\x68\x2a\x0c\x07\x6e\xe1\x0e\xcc\x4d\x53\x13\x34\x26\x22\x07\xc6\x8e\x1a\x73\x87\xa2\x21\x28\x86\xe0\xcb\x4f\x4b\xee\x32\x89\x81\x73\xba\x5c\x09\x36\xe1\xc6\x9d\xef\xe4\xd5\xcd\xa6\x5a\x96\x42\x4b\x5e\x1f\x32\x56\xe9\x18\x61\x14\x2c\x6b\xd9\x4d\x4b\x07\x21\x8b\x1d\xba\x4c\xec\x39\xbc\x58\xf0\xc1\x06\xaf\x57\xb7\x66\x70\x03\x24\xe7\xe8\x5c\x8e\x34\x46\x3e\x07\xb0\x70\xe9\xb0\xec\x1e\xcc\xe7\x12\x0e\x80\x88\xe2\xa3\x0d\x81\x2d\x1d\xc1\xc1\xe9\xce\x4d\x59\x2c\x85\x96\x78\xff\x05\x61\xe4\xee\xc8\xf4\x27\xc0\x07\x1c\x85\x8d\x53\xf1\x71\xe7\x4c\xb8\xb4\xe1\xa1\x1d\x0c\x0f\x98\x89\x34\xe3\xb8\xdb\x44\xe4\xba\x59\x4f\x3e\x9e\xbc\xa6\xc8\x80\x3d\x97\x1b\x62\x5d\x69\x40\xd2\xdf\xb1\xa9\x4c\xfd\xfc\xf7\xec\x00\xdc\x68\x57\x6b\x88\xa2\x94\xc9\x41\x5c\x3b\xa5\x1a\x3e\x5c\x8e\x0f\x62\xec\x82\x40\xf6\xbe\x22\x67\x7c\xbb\x45\xea\x1f\x47\xdf\x84\x16\xe0\x90\x44\xb7\x3a\xac\x26\xee\xe9\xe3\x68\xce\x22\xee\x31\xe5\xeb\xd2\xa7\x27\x85\xbd\x5f\xf0\xb2\xd2\x3c\x67\xe7\x7c\x83\x60\x13\x40\xab\xf3\xca\x16\x1b\xb0\x73\xe2\x57\x2b\xbe\x89\x04\xf0\x78\x39\x36\x2b\xa5\x85\xe3\x53\x28\x16\xb8\x88\xd7\x42\xa1\xee\xa3\xaa\xd2\x58\x11\x46\xd1\xe9\x64\x47\x44\x00\xba\x66\x2a\x8e\xd7\x62\x6a\xec\xdf\xc8\x39\x28\x22\x20\xdc\x97\xb9\xcc\x34\xc4\xe3\xf6\xd2\x74\x1b\x21\x83\x05\x04\x8e\x39\x1b\xa5\xbb\x76\x88\x4d\x05\x35\xac\x23\xc6\xf0\x93\x41\x2d\x43\x5a\x94\x11\xfb\xb9\x16\x5a\xfc\x76\x98\xe0\xeb\x9f\x8b\x0e\x49\x02\xba\x2a\x0a\x0a\x42\x46\x54\x8e\x08\x98\xc2\xe1\x76\xf0\xd2\xe3\x76\xb0\xbb\x2c\x20\x77\x60\xfd\x76\x13\xed\x47\x60\x1c\x11\x68\x47\x14\xcd\xb7\x4f\xfe\x0f\x14\xca\x08\x0b\x87\xba\x6d\xc8\x92\xee\xe4\xe1\x1b\x37\xd8\xca\x48\xc1\xee\xb2\x6f\x2f\xcc\x8e\x2e\xb0\xaf\x71\xb6\xeb\x0b\xd0\x64\x7c\x94\x0a\x39\x44\xb3\xc7\x10\xf5\x2b\x4a\xf6\xe8\xed\x3a\x57\x5a\x68\x0f\x97\x02\x83\x0c\xa0\x26\x60\xf3\x70\x2d\xd0\xc4\x38\xc7\xfa\xb9\x7c\x8b\x2b\x1b\x40\x3c\x30\xb6\xe7\x6d\xc9\x6a\x60\x1e\x3b\x81\x3c\x92\xfa\x23\xe7\xfd\x63\x21\x92\xcb\x30\xd2\x6c\xdf\x18\xb8\xdd\xe3\x6b\x39\x74\x98\x42\x73\xe7\x64\x24\x8b\x39\x38\x19\x4a\x55\xd4\xa1\xa2\xc0\x64\x3d\x15\x6c\xc4\xcc\x12\x16\xf0\x81\x5a\x6f\xba\x31\xdc\xd5\x87\xe3\x8c\x7f\x21\xcd\xa3\xa0\x05\xb6\xeb\x81\x31\xca\xa0\x53\xe3\xbe\xfb\x50\x35\x8e\xb9\xfb\x75\x17\xc1\xef\x92\xa9\x12\xb2\x00\xc0\x15\x60\x23\xe8\x18\x00\x01\xdf\x12\xb2\x6c\x90\xad\x01\xf5\x7c\x3c\xd8\x54\xdd\xf3\x32\xb9\xee\xf3\xd7\x7c\x0d\x94\xc4\x8b\x70\xd3\x19\xe9\xa6\x4c\x16\x33\xb0\xe5\xd8\x5d\x55\x1f\x59\x0a\xf3\x67\x79\x88\x9f\xc1\xf6\x54\x0a\x4d\x35\xd0\xc3\xff\x47\xa6\x7a\xb2\xdc\xd7\x01\x09\x43\xb9\x28\x00\xa7\x56\x34\xbc\x09\xa5\x43\xca\x84\xa4\x28\x3d\x8e\xb2\xd5\x5c\xa3\x7e\x85\xfe\xa6\x9d\x6a\x34\xed\x47\x88\x92\xba\x53\x96\x13\x94\xee\x3b\x21\xbf\x41\xda\x19\x70\x6b\x92\xe5\xe6\x23\x41\x85\x5d\x04\xf2\x15\x16\xf5\x81\x2a\xce\x84\x2e\x8d\x0f\x3c\x4d\xc2\x56\x23\xaf\x88\xf0\xab\x8f\x86\x74\x43\x8c\xc2\x4a\x21\xd2\xad\x09\xb6\x0b\xfd\x21\x06\x8e\x71\x33\xb6\x38\x0c\x72\x6a\x0f\x33\xe7\xf9\x12\xb5\x07\x60\x58\xce\x1b\xc9\x89\x4c\x29\xb8\xa4\xf4\x10\xfc\xa8\xf6\xd4\x6b\x28\x08\x73\xb6\x09\x78\x79\x41\x98\x56\xb7\x6f\x17\xac\xef\xf1\xe4\xfb\x78\x3b\xda\xef\x6d\xeb\xb3\x79\x19\x90\x68\x24\x59\xd5\xc0\x44\x29\x72\xdf\xa9\xcd\xad\x60\xa2\xae\xda\x68\x40\x94\x6b\x23\x7a\x02\xd0\x71\xab\xb5\xcc\xdb\x20\x80\x3d\x05\xfa\x88\xff\x5c\x4d\x79\x6e\x7a\xdb\x68\xed\xa8\x5b\x5a\x90\xa3\x10\x59\x82\xb0\xd2\x59\xd4\xd6\x61\x6d\xf8\x88\x13\x4d\x55\x8f\xd9\xff\xfa\x3f\xfe\x6f\x36\x7e\x87\xd2\xec\x16\xff\x0c\x46\x02\xe7\x37\x85\x6d\xf1\x62\x93\xf8\x17\x8a\xd5\x44\xcc\x66\xc2\x2b\x04\x04\x5f\x1e\x35\xc4\xd0\x69\xd7\xee\x0f\x00\x84\x75\xf5\x75\x4b\x97\xce\x1f\x5c\x43\xd5\xda\x69\x1d\xbd\x2c\xed\x26\x0e\x3c\xed\xe5\x88\xba\x09\xef\xec\x99\x21\xd1\x32\xe6\x75\x0e\x28\x35\x70\x0e\xb2\x90\x40\x01\x01\xf3\x22\xe7\x7f\x59\x24\xdd\xf4\xf3\xd1\xe4\x7e\x0e\x20\x21\xcd\x94\xf2\x1c\x9f\x12\x93\xb0\xb3\xd2\x96\x98\xc9\xb2\x27\xf8\xad\x0b\x25\x62\x04\x51\x2c\x90\xb9\x8d\x72\xe3\x06\x7d\x92\xb9\x2d\xd3\x02\xea\x88\x25\x2e\x83\x2e\x8e\x5a\x6c\x0d\xe4\x67\xb5\xf2\xb5\x6d\x14\xb3\xbd\x08\x8f\xb2\x9e\xb6\xea\xc3\x0f\xe2\xab\x27\xfa\x70\xec\xdc\x5c\x8e\x78\xbb\x13\x88\x3c\x38\x2b\xbb\x5a\xf5\x67\x4a\x1f\x12\x25\xcb\x70\x55\x7f\x4a\xfa\x90\x80\xa6\xe1\x6a\xfb\x94\xf4\x21\x17\xe5\x0d\x71\xf5\x5f\x98\x3e\x04\x65\xba\x3a\x72\xc7\x95\x52\x87\xd4\x67\xe3\x5f\x97\x41\xe4\xd7\xea\xdf\x29\x44\x50\x79\xfb\x98\x1d\xfa\x43\xb9\xca\xaf\xb0\x4b\x8f\x6b\xe8\x3d\x19\x4b\xc3\xca\x7f\xf0\x00\x21\xbd\x31\xfb\x5f\xff\xe7\xff\x15\x33\xdc\x8f\xd9\xd4\x5d\x1f\xba\xe9\xd8\xd3\x78\xd7\xd1\xde\xb6\xb0\xc1\x94\xdb\xbe\x6e\x29\x57\xa0\x95\xab\xa7\x45\x68\x91\x43\xa2\xd9\x82\xff\xd7\xc4\x92\x68\x16\xb6\xb6\x1e\xc2\x27\x8a\x91\xd7\xfd\xce\xeb\x46\x98\x42\x21\x40\x2b\xae\x1c\xf1\x04\xc0\x5a\x9f\x1c\xc5\x3e\x6e\x90\xee\x64\xeb\xf2\x17\x98\xac\xd0\x2b\x56\xc4\xf5\xc5\x74\xd3\x02\x48\xd4\x0a\xdf\xe4\x19\xc9\x47\x13\x18\x40\x92\x7c\x32\x7d\xbd\xd2\xbf\x03\x79\x45\x16\xa0\x3f\x04\x75\x85\xa9\x6a\x23\xae\x30\x05\xff\xa6\xad\x26\x0a\xcc\x67\xa0\xb1\xa8\xb6\xcf\x4f\x6b\x6d\xa6\xca\x3f\x04\xd1\x35\xe7\xb0\x8d\xf8\x9a\x73\xf3\x07\x21\x42\xa2\xbc\xb8\xda\xff\x64\x22\xfc\xf1\x2a\x52\xee\x65\xb4\xf7\xa3\xf9\xfc\x24\xf7\xe3\xf1\x1f\x8a\xd0\x7e\x34\x17\xd0\x97\x1f\xff\x1f\x84\xac\xfe\x85\xbc\xed\x83\x32\xc7\x5c\x45\x7b\x8a\xcc\x28\xe3\x1d\xb6\xb6\x56\x1d\xaa\xbc\x42\x56\x9a\x94\x0e\x83\x4a\xd6\xed\xf9\x3c\x34\xb1\xf7\x8a\xab\xfa\x33\xe6\xa1\x49\x13\xd0\xb8\x06\xfe\x4b\xa6\xa1\xd9\x35\xd9\x89\x75\xa3\xe5\xdf\xa7\xa7\xa2\x69\x6d\xe1\x6a\x9d\xdb\x9d\x83\xa6\xb5\xd2\xab\xa6\xa5\xf9\xf8\x5d\xf5\xa9\x1a\x4f\xab\xb8\x7f\x55\xb6\x7d\x85\xbd\xf8\xc9\xaa\x0f\x22\x60\xa9\x46\x77\xc7\xbb\x69\xa0\xce\xe2\xea\x9f\xb6\xf4\xe9\x33\xac\xc4\x03\xf3\x49\x47\x67\x52\xd1\xef\xb5\x0e\x0f\x8e\x3f\xf6\x14\xfd\xdd\x96\x21\xee\xd2\x67\x58\x85\x4f\x14\x9e\xdb\x14\x94\xcf\xbe\x0a\x1f\x2f\x34\xff\x6e\xab\x10\x77\xe9\x33\xac\xc2\x67\x52\x65\x2e\x92\xd8\x3f\xfb\xaa\x7c\x06\x9d\x26\x59\x9e\x36\xc1\xe4\x53\x97\xa9\xb5\x8f\x9f\x61\xbd\x3e\x4d\xea\x6f\x11\x7c\x3f\xfb\xea\x7c\xb4\xf8\xff\xbb\x6d\x99\x1f\x3f\x03\xdf\x8a\xa0\x8c\x3f\x65\x01\x62\x44\xe4\xe8\xaa\x0e\x05\xbd\xcb\xd6\xc2\xe3\x68\x27\x75\x7d\xc0\xb9\xfd\xef\x6b\xc3\x68\x6e\xff\x37\xbe\x36\xfc\x48\xe2\xfd\x44\xb9\x27\xd4\x72\x35\xd6\x71\x11\xb9\x5e\x45\xbc\xf9\x37\xb5\xfe\xb7\xa6\xd6\x4f\x94\x48\x42\x2d\x9f\x4e\xad\x57\x91\x33\xfe\x4d\xad\xff\xad\xa9\xf5\x33\xc9\xd1\xcd\xda\x3e\x9d\x7a\x3f\x48\x5c\xfe\x37\x19\xff\xb7\x26\xe3\x4f\x53\x2f\x7c\x25\x9f\x4e\xb4\x57\xd0\x22\xfe\x4d\xaa\xff\x95\x48\x75\x18\x91\x15\x05\x4f\x86\x8c\xd2\xde\xdb\x8d\x9c\x69\x89\x54\x82\xc7\x7b\xe2\x5d\x9b\xea\x80\xa1\x50\xea\x90\xeb\x9d\x83\xe1\xfd\x5c\xe9\x47\x7c\xba\x4c\x1c\xc1\x23\xcf\x36\x51\x54\xab\xbf\xa1\x8f\xb5\xdd\x33\xa9\x1f\x5e\xfe\x93\xdd\x46\x23\x96\xab\x73\xa1\xa7\xdc\x88\x2e\x94\x89\xbc\x77\x4f\xa6\x7c\x25\xf2\x07\xf6\xd5\x3e\xf4\xfd\x57\x6e\x7e\xdd\x67\x37\xf1\xd3\xde\xeb\xd8\x25\x38\xf5\xf3\x4b\xfd\xf2\xe2\x7e\x24\xde\x7e\xdb\x1d\x8d\x2d\x44\xf9\x2b\xf9\x13\xed\x6a\xaf\xe1\xb4\x47\x0d\x46\x5a\x74\xd4\x6a\xea\xb3\xb7\xab\x59\x68\xf2\x82\x31\xee\x6a\xd3\xdd\x23\x5e\xd6\xe0\xd6\xf9\xe8\x07\xf7\xc2\x28\x47\x33\xe5\x05\xbe\x76\xed\x9a\x77\x3d\x06\xa8\x73\x17\x53\x20\x66\x6c\x7f\xad\xe5\x19\x2f\xc5\xbe\x8f\x8e\xbd\x76\xed\x9a\x4b\x0d\x4c\x5c\xb1\x80\x5c\x21\x7b\xc8\x31\x28\xbf\xee\xf5\x73\x59\xcc\x30\x5d\x6b\xf4\xd0\x55\xec\x2a\xa0\x6c\x7e\x9b\x28\x50\x7b\x29\x0d\xa4\x60\x7b\xa8\xe8\x6e\x8b\x92\x82\xf8\x30\x8c\x65\xb9\xca\xff\xec\x8b\xf1\xb5\x64\xf7\x77\xd5\x55\x6a\x5e\x18\x89\xb1\x5e\x3b\xeb\x03\xa8\x74\x5f\x10\x1d\xfb\xcc\xee\x3a\x79\x21\x57\xfc\x0a\x55\xfa\x72\x71\x8d\x7b\xcd\x84\xca\x7e\xe6\x01\xc4\x94\xd2\xf4\xd5\x82\xb2\xd4\x1c\xb0\x0e\x21\x03\xa3\x4b\x88\xc3\xe6\x82\x97\x95\x46\x90\xdc\x61\x1c\xbe\x8f\xcb\x51\x0b\xe1\xaf\xc5\x0d\xe1\xea\x40\xe0\x90\x5b\x93\x24\xbb\x15\xbe\x1f\x84\x15\x73\x34\x08\x50\x00\x76\x40\xc7\x34\xd6\x11\x7b\xb7\x0d\x9c\x83\x17\x33\xad\xe4\x8c\x8d\xfc\x13\xc6\x64\x51\x76\xbb\x43\xf7\xa6\xfb\xcb\xec\x66\x6f\x98\x89\xb7\x62\xda\x0d\x7c\xc0\xb5\x98\x15\xfc\x4c\x2e\x78\xa9\x34\x7b\xff\x9e\xbd\xdb\xf6\x00\xb5\xe8\x68\x61\x7b\xd0\xb3\x8f\x4e\x5e\xf7\x4e\x6e\xbf\xee\x85\x16\x27\xea\xad\xb0\x3c\x65\xf8\x9d\xfd\x65\x28\x33\x3b\x53\x57\xaa\x2f\xd4\xe1\xe1\x9c\x47\x61\xc0\x27\xb7\x5e\xe3\x27\xa1\xd8\x99\x28\x66\x4a\x3f\xd7\x62\x2e\xdf\xd6\x9f\x02\x24\x9f\xed\xc6\x3f\xba\x4f\xd5\x3f\xdf\x9f\x8b\xc9\xa9\x2c\xdf\xaf\x4c\xaf\x7b\x7f\x74\x72\x74\xf0\xff\x7b\xdd\x1b\xc6\x7d\x9e\x6d\x8e\xcb\x4d\x6e\xfb\xed\xe3\x77\xec\x43\x76\xe3\x46\xfa\x20\x33\xb6\x58\xcc\x99\x03\x45\x8f\x30\xea\x25\x9e\x7c\x4f\x9a\x8d\x77\x00\xbe\x19\x45\x62\xf8\x2e\x04\xe6\x62\x8f\xa5\x2e\x1c\x20\x5a\xad\xed\x09\xda\x52\x06\x3f\x46\x88\xdf\x51\x3c\x74\x5c\x50\xfb\x65\x2f\xf5\x6b\x8e\x27\x8d\x8d\xb0\x1f\x27\xb7\x5e\xdf\xd9\x5d\x24\xfe\x33\x43\x74\xea\xee\xad\x01\xbb\xdd\xcb\x4a\xf5\x6a\xbd\x16\x1a\x58\x67\x8f\xdd\x6c\x2d\x79\xbb\x17\x57\x3d\xd1\x82\x9f\xb6\x24\xf2\xdf\xdb\x0b\xa3\xb9\x16\x57\x13\x77\xbe\xd6\xaf\x6e\xe7\x67\x58\xd5\x67\x6b\x3e\x95\xe5\xa6\x53\x9b\xa2\x1b\x37\x58\x07\x97\xbd\x73\xa7\xde\x4c\xba\x6c\xd7\xae\x75\xbb\x9d\xf0\xa8\x5e\xd1\xfb\xf7\xac\x9b\x34\x7d\x93\x75\x5e\xee\x2a\xed\x47\x1b\x2d\xbe\x6b\xc2\x3f\xba\x4a\x0b\x47\x3b\x0a\xbb\x03\x84\xc0\x29\x68\x17\xdf\xb8\xc1\xba\xd7\xe2\x51\xbd\x7f\xcf\xd8\xb5\xd0\x87\x84\x08\xd2\xd1\x4b\x83\xc2\x67\xb7\x85\xd0\x33\x9c\xc0\x30\xda\x68\x31\x13\xea\xbe\x42\x25\x7e\x40\x75\x67\xf9\xbd\xe4\x44\x74\xdd\x1c\x0e\xd9\x11\x0d\x6e\xc9\x8d\x3b\x5f\xb2\x75\x65\x96\xc7\x25\x2f\x05\xe6\x78\x90\x65\x88\x0b\xa4\x54\xb3\x56\xe8\xa3\x08\x73\x8d\x99\x1e\x43\x8d\x46\xb1\x5c\x10\x3a\xb7\x07\xf1\x75\x47\xd7\xd1\xf3\xc7\x00\x68\xe3\xef\xfe\xed\x17\x14\xbf\xd7\xcc\x66\x46\x33\xef\x90\x59\x31\x30\xf4\xbe\x9c\x8d\x6e\x7f\xf3\xa7\x6f\x6e\xa7\x15\x5c\x19\xdf\xf5\x2f\xb7\xfe\xb4\x17\x3e\xc5\x20\x7c\x9c\x3d\x7f\xa6\x75\xff\xfc\xd5\x57\xd9\x5f\x7a\x4c\x15\x0c\x38\xac\x65\xb8\x30\x43\x0e\xfd\xdd\x87\xaa\xaf\xb5\x9a\xe4\x88\x04\x11\xcd\xe4\x87\x4c\x46\x6e\x54\x28\xfe\x33\x82\xcc\x13\x36\x0e\x64\x3a\x23\x68\xcc\xf1\x35\x4f\x87\x77\xd9\x9f\x7a\x63\xd4\x5d\xce\x44\x94\x01\x1a\x62\xa1\xc6\x54\x0a\xd2\x71\x57\xc5\x4c\xcc\x65\xe1\x9c\x76\x6c\x0b\x84\x84\x73\xf0\xf3\xad\xdb\xdf\xd2\x53\xea\xce\xa1\xdd\x40\xee\x08\x71\x5d\xbc\x71\x83\xd5\x1e\x05\xea\xb0\x2f\xd3\x5e\xc1\x13\x38\x9c\xfc\x41\x13\x9a\xbc\x19\x37\xc9\xcd\x23\x7b\xa0\x1e\x46\x92\xed\x99\x48\x43\x4e\x86\x43\xf6\xf8\xd1\x5f\x82\x58\x60\x58\x07\x90\x31\x3a\x14\x87\x80\x79\x83\x15\x9b\x57\x13\x0e\x9e\xf1\x18\xb4\xeb\x32\x87\xae\xb5\x28\x85\x83\x5a\x27\x12\x2e\x3a\x88\x89\x1c\xb7\x21\xcb\x0c\x92\xa9\x42\x9a\x6f\xf0\x71\x87\x60\xb0\x33\xca\x4e\x6f\xd7\x6d\x2e\xb5\x43\xcc\x9e\xf0\xe9\xa9\x59\xf3\x29\x20\x3a\x50\x52\xe7\x53\xb1\xc1\x55\xb3\x2a\x99\x98\x11\xe4\x80\xab\x1f\x3e\x9b\x56\x65\x04\xb6\x21\x8d\x4b\x53\xea\x7d\x70\xdc\x78\x6f\xdf\xba\xb9\x7b\xc4\xb4\x19\x85\xd6\xaa\x10\xaa\x32\xf9\x06\xba\x66\x08\xff\xc0\xea\x60\xaa\x32\xcc\xc8\xb2\x42\xa6\x31\x88\x2b\x87\x68\x05\xe8\x0d\x38\xf8\x13\xfc\x04\x26\xbd\x32\x90\x77\x9a\xdb\xe3\x70\x05\xa9\xa0\xd4\x34\x72\x10\x72\xa1\xc7\xd0\x89\xd1\x68\xe4\xbb\xe5\x83\x90\x47\xec\xf6\x6d\x1f\x03\x00\xa7\xb0\xe7\xa0\xf8\xad\x34\xaf\x1c\x2d\x76\x63\x51\xea\x04\xfe\x78\x5d\x3f\x3f\xb9\x66\x33\x79\xf6\x28\x5f\xc5\xc2\x02\xfa\x54\x3d\x22\xcc\xb7\xce\x4c\x9e\x75\x92\x73\xaf\xa5\x5e\x36\x62\x1d\xcb\xdd\x6f\xba\x05\x2d\xa8\xde\xf8\x78\xac\xeb\x19\x2d\xf5\x78\x6e\xea\x66\x74\x6a\xd6\x87\xf6\x7f\x5d\x4f\xe8\xf1\xd9\x72\xd8\x2a\x36\x45\x47\xc2\x61\xfc\xc7\xa0\x71\x9a\x1d\x46\xbf\x87\xb7\xb0\xcf\x0e\xdd\x2f\xc8\xd7\x23\xc5\xc6\x4e\xda\x75\xb2\x3c\x60\xf8\xb7\x15\x3d\x28\x0e\xdc\xbd\xb0\x33\xe6\x54\x20\xb2\xfa\x90\x8e\x13\x29\x37\x0e\x77\x93\x12\x43\xee\x94\xe1\x05\x1b\xd7\xcb\x8e\xbd\xca\x34\x53\xe7\x05\x65\x21\x8d\xe3\x4c\x7c\x42\x47\x62\x6b\x00\x04\x0a\xe0\xe4\x03\x56\xad\x31\x7c\x68\x2a\x8c\xc1\x0c\xd9\xa5\xd2\xc2\x04\xf0\x97\x02\xa0\x66\x09\x62\x20\x6a\x1c\x00\x42\xc7\x19\x3a\xd8\x09\xf6\xc3\xcb\x97\xcf\x21\x01\x8e\x30\x25\x9b\x73\x99\x1b\x46\xe1\x2e\x88\xb2\x63\x04\x9b\xf1\x12\x50\xee\x55\xcb\x17\xd2\x30\xb1\x5a\x97\x9b\x01\xe3\x6c\xec\x26\x6e\x4c\xe8\xb6\x2e\xf2\x12\xfc\xc0\x0a\xd6\xc5\xc8\x51\x87\xd8\x41\x8e\xa7\xe5\xf2\x9c\x6b\x42\xe1\x8e\x12\xc9\xd9\xb2\x5f\x16\x33\x06\x26\x2a\x51\x22\x64\x3f\x66\x35\x21\x45\x06\xfd\x5c\x85\x47\x5f\x6e\xf8\xfa\xad\x73\x98\xf7\xa4\xbf\x71\xd6\xd4\xbd\x56\x34\x31\x04\x62\xa7\x25\x7a\x04\xe3\xf8\x99\x92\x6c\x2a\x8d\xe8\x23\x8a\x0a\xb1\x74\x40\x3e\xbe\xb6\x75\x3a\xe3\xec\x9c\x30\x65\xae\xdb\x4e\xce\x78\xae\xd5\x4a\x1a\xb1\x0d\x93\x4c\x4f\x7c\x00\x12\x00\x0d\x65\x4d\xdd\x18\x73\x1a\x6c\x59\xa9\x4a\x9e\x3f\x47\x2c\x74\x1a\x80\xc1\x87\x8c\xaf\x54\x55\x80\x67\xa2\xc3\x4a\xf7\xfd\xd1\xae\x24\x82\xe6\x3b\x5a\x44\x2c\xfa\x58\x71\x7c\x99\x92\xef\xc5\x0a\x64\x13\x24\xd7\xe3\xe7\xfe\x96\x68\x92\x75\x6c\x5c\x82\xcc\xfd\xcd\x71\x39\xdf\xfe\x92\x17\xb3\xdc\x35\xfe\x7d\xd1\x2d\xd7\x1e\x46\x3f\x5e\xad\xd4\xa2\x44\x98\xba\xb5\x6f\xbd\xb1\x45\xe4\xf3\xac\x6d\xd6\x6e\xde\xf4\x3c\xd9\xd6\x02\x0c\xc8\xf2\xfb\x17\x6e\x4f\x8c\x08\x95\xd7\x27\x81\xb4\x87\x7f\xf2\x24\x6b\x7c\x94\x08\xca\xd2\x1c\x69\xcd\x37\xdd\x46\xa9\xa6\x64\x5c\x6b\xb8\xf1\x2c\x9b\xcb\xbc\x14\x3a\x20\x0e\xfa\x12\x42\xb7\xc6\x90\x46\xef\xd9\xb5\xd1\xc8\x41\xbd\x61\x7e\x5b\xac\xf3\xa5\x2b\xd2\x1a\x54\x8a\xb1\xac\x76\x18\x2d\x1d\xbc\xa4\xc2\xcb\x86\x57\x54\x79\xde\xd0\x8f\xec\x22\xd8\xd9\x7d\xb6\x76\x02\x7e\xa8\xa4\x15\x01\x79\xb0\xbb\x8d\xc3\xe6\xa3\x60\x13\xdb\x4b\x26\x2a\x20\x2f\x03\xb1\x45\x3d\xe8\xf9\xfa\xb3\x72\x29\x8a\x30\xf7\x8e\x6b\xa6\x13\xbf\x93\xd0\x0e\x0e\xee\x34\xd7\xc7\xd5\x91\x59\xce\x1b\x2d\xc0\x80\xe8\x18\xe9\xdc\x77\xb6\xb6\x43\xe0\x2d\xf4\x23\xee\xc3\x95\x7a\x00\xda\xee\x45\x5b\x8a\x05\xe0\x94\xe4\xf4\xec\x76\xca\xb5\x65\x1a\x76\x7f\x7f\xcf\xc1\x9c\x5f\xd6\x12\x52\x1f\xb2\x77\xb7\xb6\x9d\x81\x65\xcb\xbd\xa6\xc2\x1d\xa6\xfc\xb7\x4c\x8b\x37\x62\x5a\xe2\x08\x1a\xaa\x19\x03\x89\x38\xd9\xcd\xad\xc3\x62\x23\x76\x2b\x35\x6d\xb6\xf0\x00\x92\x06\x02\x8b\xbb\xfe\x52\x98\x92\x63\xa2\x9d\x8b\xf9\x9b\x56\xaa\x3c\x9e\xaa\x35\xf2\x36\x67\x75\xb3\xbf\x3b\x7d\x2f\xc0\xc8\x04\x66\xe7\xbf\x02\x7c\x1d\xfa\x0a\x7e\x77\x5f\xd9\xc6\x9a\x57\x4e\x24\x6a\xf8\xbe\x5d\xe1\x6e\xe9\x25\x48\x12\x60\x9b\x65\xd7\xe3\x6f\xbd\xd4\x41\x72\x06\xe6\xec\xc9\x73\x31\x75\xb6\x44\x42\x51\xf4\x61\xd5\x70\xb0\xcd\xc4\xa4\x5a\x2c\x20\xd5\x28\x36\xa0\x34\x84\x60\x63\x6a\x5f\x41\x89\x7b\xf0\xd2\x81\x4a\xb2\x52\xa9\xdc\xa4\x41\xfa\xc0\x4e\xa3\xce\x8c\xd8\xbb\xd6\xe8\x74\x18\x71\xdc\xed\x2f\xe6\xb2\x98\x7d\x47\x59\x0d\xaf\x30\xfe\x17\x21\x80\x1c\x12\xc9\x01\xfa\xac\xd3\x15\x7c\x24\xc9\x04\x30\xd2\xba\x67\x92\xbb\xd8\x6f\x48\x59\xfe\x6e\xbb\x0d\x01\xd8\x2a\xb9\x42\x4a\xf2\x00\x81\x6c\xbf\x2b\xe8\x80\xa4\xef\xad\xcf\x6c\x67\x97\xc4\xfd\x6e\x29\x01\x71\x67\xb8\x9e\x2e\x21\x8f\xcb\x55\xc0\x29\x20\xe7\x39\x05\x95\xa7\x97\x73\xd0\xaf\x46\x15\xde\x2c\xad\xd6\xe5\xaf\xa0\x91\x3f\x05\xdb\x9c\x95\xfe\x74\x25\x06\x18\x6b\xe3\xee\xf1\xa0\x80\xcb\x36\x16\xdf\x36\x39\x09\x24\x34\x99\xb1\xef\xe1\xd4\xc1\x78\x6d\xc8\x5c\x86\xba\x5e\x9a\xcc\x26\x5a\xf9\x68\x2d\xb3\x78\x2d\x93\x2b\x1b\x9c\x9d\x41\xd4\xd0\xa0\xd6\xf5\xf4\x7c\x9f\x84\x4a\x1c\x8a\xf7\x42\x94\x34\xf3\xe6\xbb\xcd\x83\x9c\x1b\xf3\x13\x5f\x89\x6e\x87\xd6\x57\x16\x8b\xa0\x0a\xd9\x2a\x5c\x72\xb5\x11\x3b\xf1\xba\x8b\xbb\xc4\x72\xd5\x47\x02\x0b\x3d\x4a\xec\x80\x56\x05\xe3\x25\xa7\x11\xb1\x91\xc7\x0c\xf6\xa0\xdb\xf4\x11\x70\xf4\x6e\xe7\x7a\xa3\x23\xc8\x7b\xa3\x4a\x52\x9e\xeb\xfa\x13\x15\x68\x76\xe9\xa7\xe4\x3e\x2d\xd4\xba\x6b\xfe\xe2\xee\xe3\x24\x58\x2d\xa8\x10\xe7\x94\xbf\xa8\xdb\xe9\xfe\xe3\xfd\x2f\xbf\x98\x1e\xe8\x84\x90\x58\xe5\x7b\xb2\xe6\xae\x23\x9f\xcb\x1e\xbb\xc9\x3a\xdd\x5f\x7e\x31\xef\x7f\xf9\xe5\xfd\xfb\xeb\xbd\x54\xd1\x64\xb1\x49\x58\x68\xb4\xbe\xc7\x1d\x6e\xf6\xc7\x65\x82\x32\x60\x3e\xf1\x73\x57\xaf\x75\x9b\xfc\xdd\xc0\xd7\x08\x4d\x47\xad\x65\x90\xe4\xe4\xd9\x3c\xe9\xfe\xb5\x11\x3b\xb8\xfd\xb9\xba\x11\xfd\xb5\x6d\x39\xe7\xc2\x33\x3a\x95\xa8\x0d\x0f\xc4\x74\x55\x4e\xf8\x54\xcd\x44\xfe\xf9\xf8\x60\x79\xae\x0e\xce\xf9\x86\x30\x23\x89\x1d\x22\x7c\x61\x08\x1e\xfa\x63\xb1\x41\xec\xdd\xbf\x96\x09\x5e\xc8\xe0\x70\x89\x3e\x89\xbd\xad\xc1\x28\x82\xcc\xc9\x32\x30\x2b\x60\x58\x1e\x70\x40\xbf\x17\x8b\x5f\x7e\x39\xec\xc4\x6c\x8b\x6e\x68\x40\xfc\x61\x6b\x76\xd7\x57\x41\x68\xd1\x77\xd8\xcd\x9b\xeb\x3a\xf3\xf2\xf0\x24\x8f\x7e\xab\x38\x74\xb9\x36\x53\xf7\x59\x67\xd4\x61\x87\xac\xd3\x1f\x75\xee\x24\x9f\x1a\x61\x05\x07\x65\x39\x47\xe7\xc4\x32\x0a\xd7\xde\xc9\xfa\xb5\x65\x0c\xb0\x4a\xf6\x79\xbd\x8d\x9b\xac\xb3\x0f\x8c\x25\x2c\xa0\x7d\xf4\xba\x56\xbf\x27\xd5\xc0\xe0\x7f\xab\x84\xde\x1c\x53\xbb\x47\x79\xde\x75\x7d\xa8\x71\x53\xf7\x69\x03\x27\x3b\xda\x7e\xae\x4c\xdb\x15\xd0\x07\xec\xc8\x85\x28\x9f\x90\x00\x77\x85\x2d\x09\xfe\x19\xd3\x0a\x81\xb2\x17\x91\xc1\xc3\x5f\x15\x00\xa8\x96\xb3\xb0\xf3\x45\xa1\x4c\x29\xa7\x88\x46\x49\xfb\x39\x26\x4c\x97\xd2\x72\x40\xdb\x68\x40\x99\xe7\xcd\x32\xa3\x0c\x47\x43\xfb\xfa\x3e\x1f\x4d\xbe\xb0\x4f\x7b\x3b\xc9\x36\x1a\xc7\x85\xf0\x71\x5e\x5c\xcd\x2a\x9d\x77\x7b\x1f\xc4\xbd\xcc\xc7\xcf\x15\x5d\xd6\xa2\x68\x09\x49\x05\xa8\xaf\xe7\xb2\x5c\xaa\xaa\x64\x33\x05\x68\x3b\x98\xfa\x76\xcd\x17\x82\x69\x61\xb5\x90\xcb\xe2\x42\x2b\x8d\xb6\x22\x5f\xa1\x7d\xd0\x8d\xe7\xd4\x4f\xe9\x20\x9e\xf9\xb6\xc9\xb5\x5d\x5b\x28\x56\xaa\xdd\xdc\xc1\xb4\x4f\x73\xa5\xf3\x30\xd3\x96\x82\x6d\x2f\xac\x82\x5e\x9b\xee\x98\x92\xd3\x57\xb6\x86\x40\xca\x41\xdd\xc8\xae\xcf\xe4\xc2\x9e\xbc\x57\x01\x86\x6a\x2e\x99\x55\x00\x8e\x21\x9d\xe8\x15\x56\xec\x01\xcf\x73\xb2\x43\xf2\x3c\x87\x9c\x93\xa0\x40\x5c\x2f\xe5\x4a\xd8\x45\xb2\x33\x09\x9a\x75\x30\x3d\x71\x2d\x7c\x32\x86\x9d\x8b\xe5\xe6\x69\xeb\x2b\xde\x39\xc1\xa1\xc3\xf1\xfc\xba\xcf\xc2\xfc\x39\x15\x2c\x2b\x54\x29\xe7\x9b\x9f\x97\xa2\xf8\x49\x3d\xab\x4a\xc0\xfe\x89\xb4\xc9\xf0\x69\x4a\xea\xce\xa0\x12\x9a\x6e\x55\x2b\x5f\xe2\xc8\x3f\x56\xa3\xfc\x0d\xfe\x4f\x3f\xbc\xbd\xf1\x07\xd0\x67\xf5\x87\xa9\x99\xbf\xc1\xff\xe9\x47\xbd\xaa\xd8\x87\x63\x26\xe6\x42\x6b\x31\x33\x4e\x43\xc3\x56\x3c\xa1\xb4\xd8\xc4\x53\x02\xa2\xd5\x76\x8f\xc3\xeb\x06\xc9\xb0\xbe\x83\x4c\xea\x10\x2a\xbb\x40\x48\xaf\x31\xdd\xa6\x19\x51\xd2\x0c\x8e\x33\x34\xa5\xcf\x8b\x71\x30\x7b\x38\x2c\x77\x70\xeb\x03\xbe\x50\xea\xcd\x70\x6a\x0f\x2e\xdf\xc0\x24\x57\xd3\x53\x16\xb9\xc4\x41\xea\xf9\x4d\xb0\xde\x1a\x2f\xe7\xa4\x70\x5a\xf5\x39\x6a\xce\xda\xd6\xcd\x40\xd6\x18\x6b\x5b\x64\x15\x02\x71\x0b\x8d\x8c\xca\xed\x89\x78\x30\xdc\x6a\xe6\x2b\x88\xa0\x46\x2f\x46\x67\x47\xd7\xc2\xa8\xfc\xcc\xa7\xa4\xa3\x46\x1c\xba\xb6\xad\x06\x50\x0f\x39\x66\x51\xa5\x8c\x97\x6d\x2d\x50\xaa\xfa\x59\x4b\x8f\x15\x9b\xf2\x62\x2a\xf2\xa8\x6f\xb4\x4b\x07\x08\x08\x30\x76\x2b\x9b\x61\xc1\x2e\x75\xb6\x37\x6e\xd6\xf6\x18\xb7\x86\xf1\x09\x57\x2a\x23\xc2\xe4\x3e\x55\xd3\xd3\xcc\x73\x85\x50\xef\x3c\xb7\xf2\x76\x6f\xbc\x8d\x97\xc4\x6c\x8a\xe9\x52\xab\x82\xae\xf2\x6c\x11\x87\x33\x80\xf3\xea\x08\xd6\x0f\xd4\x34\xfb\x53\xe7\x24\xdd\xde\x96\xcd\x0b\x76\xe4\xbf\xb1\x33\xae\x8c\xa0\x09\x8a\xd0\xf7\x27\xc2\x12\x0e\xdf\x44\x73\xe6\x6b\x43\xf3\xfb\x68\xcb\x4e\xa0\xc8\xe8\xd6\x6b\xf6\xd0\xfe\x02\x09\xf8\x64\x9e\x4b\x23\xa6\xaa\x98\x99\xe6\x97\xe1\xd6\xe1\x44\x16\x67\xea\x54\x1c\xad\xd7\xf9\x66\x64\x85\xd2\xd7\x56\x3a\x05\x50\x5a\xc5\xc6\x70\x4b\x38\x66\xe6\x54\xae\x0d\xc9\xbd\x33\xa9\xcb\x0d\x9b\x2e\xc5\xf4\x14\x94\x41\x0f\x6d\xeb\x1b\x21\x2c\x6c\xac\x18\xb7\x8c\x3d\x26\xc9\xf3\x35\x22\xf1\x70\x4a\xc0\xff\xbf\xb8\xce\x6d\x2f\x18\xfe\xd8\xe2\xd6\x89\xfa\xee\x9d\x7e\xfd\x85\x85\xbb\xa7\x48\xb2\x54\x24\xc4\xba\x83\x48\xb3\x04\xbf\x40\x9a\xa8\xef\x44\x55\x2d\xd5\x49\xcc\xdd\x5d\xb6\xec\xad\xb2\xce\x1b\x1a\x24\x80\x47\x45\xb8\x43\xc2\x2e\x75\xe7\xc5\x00\xd7\x77\xc0\xa2\x85\xa8\x5d\x25\x9c\xca\x35\x3c\x66\x23\xd6\x95\xe6\x21\xdd\xd0\x26\xe5\x6f\xdc\x60\xd7\xe2\x07\x83\x48\xe2\xf4\x04\x3a\x62\xdd\x50\xd7\x7d\xcb\x8d\xd9\x21\xbb\xfe\x5b\x2f\x83\x12\xdd\xe4\x23\x37\x0d\x23\xff\x79\xe6\x98\x43\x54\x8a\x86\xf1\x78\xe6\x6d\xc2\xfe\x09\x1b\x85\x43\x0e\xeb\x6f\x91\xea\x98\xe5\x98\x89\x78\xec\x5b\xa3\x79\xef\xce\x8b\x6e\x2f\xd6\x67\x19\xf0\x57\xd6\xad\x59\x1c\xa2\xef\xc0\x88\x2b\x12\x7d\xb9\xc1\x3b\x93\xf7\x41\x77\x9e\x13\x80\x45\x5a\x33\x38\x10\xf8\x73\xe9\x84\xe6\x21\xbb\x7e\xdd\x0f\xf6\x75\xeb\x55\x35\x58\xb5\xfd\x8c\xf7\x12\xb1\x08\x68\x3c\x92\x8a\x88\x0c\x82\x71\xbd\xa5\x15\x36\x8a\x27\x3c\x1d\xb7\x39\x09\x9d\x89\x16\xad\x7e\xb1\x40\xb5\x7a\xe0\xe1\x9d\x87\x6b\x1c\x66\xd0\x38\x5b\xbf\x40\x0e\x7c\xb5\x23\xf6\x01\x94\xb5\xa7\x4b\xc9\xcd\x29\xe3\xc6\xa8\xa9\x04\xc3\x2d\xec\x28\xd8\x3a\xd4\xad\x71\xc6\x8e\x0c\x64\xc0\x70\x70\x26\x76\x73\x0e\xdc\xe5\x74\xbc\x2f\x7d\xf5\xe9\xfe\xb4\xdf\xbe\x11\xed\x5b\xd0\x73\x3f\x62\x1b\xa3\xad\xaf\xd4\x31\x92\x24\x57\x08\x5e\x9d\xd3\xf9\xdf\xdc\xd9\x11\x43\xf2\x7a\xbe\xb3\x79\x8c\x2d\x27\x1d\x3b\x48\x1a\x18\xf7\x92\x53\x2e\x58\x3c\x01\xd9\x46\xa0\x40\x7a\xce\x8d\xbb\x4e\x07\x57\xa2\x88\x15\xe1\x2c\x47\x9c\x9f\xe4\xcd\xe4\x18\x8c\xe5\x4c\x77\x22\x26\xb2\xbc\x1b\xe3\x8d\x1b\xad\x34\x25\x8b\x40\x43\xf1\x96\xba\x98\xde\xdd\x36\xeb\xb8\x3e\xc6\xc6\xb7\x0f\xdc\x31\x4e\xb5\x4b\xb8\x45\xed\x90\x8f\x3f\xad\xa9\x12\xac\xe6\xd2\xc2\x5a\xc4\x64\xfc\x34\x76\x30\x1f\x52\x4e\x19\x38\x08\x2a\x63\x35\x36\x35\x67\x28\xf7\xa1\xb8\xe6\x5c\x6f\xa3\x54\xb9\xd7\xa3\xf7\xde\x1f\x17\xf2\xbb\x31\x69\x6c\x9d\x21\x27\x8d\x03\xcd\xf6\x9e\x16\x90\x2b\xdc\x27\xb9\x22\xb4\xd8\x29\x9b\x88\x25\x3f\x93\x4a\x63\x26\xde\xe9\x12\xae\xfa\x67\xc2\x78\x70\x22\xa4\x44\x5b\xb9\x77\x7c\x43\x92\x07\x39\x0e\x1d\x15\xc0\x4b\xe3\xd5\x8b\x27\xa6\xe7\xc1\x6a\xab\x82\xb2\xfa\x23\x92\x90\x77\xed\x98\x6c\xd8\xca\x4a\xa4\x2e\x31\x09\x2f\x66\xb6\x6e\x4c\x11\x51\x21\xf0\x90\x16\xfc\x14\xe5\xa7\xac\x96\x80\xde\x1f\xa9\xae\x2f\xb4\xfb\xec\xa6\x7d\xf5\xe2\x09\x08\xcf\x7f\xff\xe1\x05\x60\x77\xdb\xe9\x20\x77\xae\xd3\xc2\x4e\xda\xc4\x9e\xc1\xb6\x71\x31\xf3\xfa\xae\x21\x9c\x27\xaa\xc5\x8e\xc1\x65\x17\xd0\x82\xe7\x61\x15\x0e\x7c\xbe\x05\x5b\x71\xec\xe2\xe7\x67\xb0\x10\xc2\x8e\xd0\x2e\x07\xcc\x3e\x2e\x8b\x4b\x6d\xe8\xa1\x95\x6c\x0f\xc8\xee\x61\x20\x1b\x06\xd9\xd7\xb0\x66\x2f\x52\xdb\x93\xb7\xd2\xf9\x73\x9c\xdd\x9f\xd4\x4c\xec\x76\x73\xda\xe7\xfb\xbd\x3b\xf0\x05\x82\x20\xbd\xd2\x76\x5b\x56\x3a\x7f\x41\x87\x18\xe9\x13\x5e\x65\x5e\x6a\x31\xb7\xac\x9e\xbc\x7c\xf6\xac\xc8\x9a\x7a\xd6\xff\x04\x29\xd1\xc0\xf6\xa0\x8a\x83\xc7\x8f\xdc\x8c\x43\xc6\xc6\xab\xa7\x6e\xe9\xb3\x23\x63\xe4\xa2\x40\xa1\xdf\x2e\x11\xcd\xae\xed\x01\xf3\x9e\x1c\x40\x7c\x8e\xfe\x1e\x3e\x7b\x0a\x34\x38\xc0\xac\x35\xaa\x10\x8c\x97\x25\x0a\xf7\xf4\xf5\xc3\x67\x4f\xc1\xf7\xc7\xa5\x96\x9e\x28\x2b\x1b\x21\x69\x14\x4a\xaf\x78\x2e\xff\x59\xa7\x4f\x12\x93\x5e\xbd\x78\x92\x31\xf6\x53\x54\x68\x25\xb8\xc7\x58\x63\x5a\xe4\xbc\x94\x67\xe0\xe9\x04\xc9\x62\xea\x62\x18\x6a\x5a\x05\xe3\x13\xa3\xf2\x0a\x1d\x6a\xea\xc9\xa7\xa8\xa9\x38\x19\xa5\x5f\x39\x5b\x31\x2d\x6a\xdc\x32\x94\x0f\xfb\x0f\xf2\x35\x5a\xd5\xc3\xfe\xdf\x9e\x7d\x03\x3b\x59\xa5\x9a\xaa\x7c\xc0\xd6\x4a\x97\x03\x30\x7c\xc1\xa9\x88\x14\xec\x33\xfa\xd3\xa4\x4a\x81\xd6\x05\xab\xba\xac\xd5\xba\xca\xf1\xae\x52\x31\x2d\xe6\x39\x82\xe0\x85\xb9\x12\x33\x9a\x17\xe0\x19\x7c\xbd\xd6\x8a\x43\xb2\x4d\xc3\xce\xe5\x0c\x26\xc3\xa5\x4d\xc2\xdb\xcb\x03\x76\xcc\xe7\x5c\x4b\x76\xfb\xe6\x80\x3d\x55\xff\x94\x79\xce\xe1\xf7\x67\x6b\xa1\x39\xfb\xe6\xe6\x40\x00\x9a\x33\xe0\x34\xdb\xcf\xa3\xe4\xfd\x7c\x5d\xf2\x82\x83\x03\xae\xb6\xac\x56\x14\x53\x31\x5c\x96\xab\x1c\x32\x71\xfc\xf0\xf2\xe9\x93\x23\x98\x08\xa2\x6e\x48\x48\x7b\x19\x91\x3e\x7e\x74\x09\x5d\xc2\xd7\x8f\xd8\xbd\x11\xfb\x16\x26\xec\xee\x88\xdd\xbe\x15\xc6\x6f\x1c\x6d\x20\x8b\xe1\x40\xb4\x81\xde\xa2\x95\xf1\x59\xfd\xe9\x15\xe8\x1f\xe0\xc3\x45\x1b\x24\xcd\x92\x2a\x1c\xc6\xba\x9d\x3f\x55\x80\x45\x17\x68\xaa\x50\xa5\xa5\x2b\xab\xe9\x48\x4f\x99\xa1\xe1\x99\xc4\x8c\x4f\xc8\xa8\x37\x7b\xa8\xef\xae\x32\x46\x86\x4d\x89\x59\x3c\xb0\x3c\xe3\xb0\xa3\xd9\x88\xed\xcf\x95\xda\xa7\x34\x90\x3c\x0b\x24\xc3\x33\x24\x27\x58\x13\x47\xd3\xe0\x8d\x95\xf5\x18\xfb\x19\x96\xe8\x5c\xe9\x53\xc6\x35\x5c\x84\x00\x4d\x4e\x36\xce\x05\xd5\xd9\x69\xdd\x5e\x02\x33\xed\x97\xc5\x8c\x99\x52\xac\xe1\x88\xe0\xa7\xb8\xc5\xd7\x5a\x9c\x49\xd4\x55\x03\x71\xb9\xcd\x84\x5d\x9f\x6c\xa8\xdb\xce\x9c\x89\xec\x08\x96\x25\xbc\x90\xa5\x1b\x15\x44\x22\x3a\xda\xf4\xbe\xe4\x9e\xa8\x09\x9e\x2f\x21\x7c\x07\x2f\x1e\x26\x20\xda\x47\xb0\x7b\xec\x44\x38\xa2\x7a\xf4\x4d\xf0\x5d\xf7\x9d\xde\x4d\x10\x81\x53\x15\x98\xc2\xa6\x7b\xb4\x5e\x73\x2d\x8a\x12\x92\xee\xa1\x17\xf1\xc0\xae\x90\x2a\xa0\x63\x1e\xc4\x5c\x16\x85\xa0\x54\x35\x7e\x8f\xd9\x0a\x71\x11\x03\x0d\x80\xa3\x31\x31\x45\x28\x6d\x0a\xb9\x5e\x8b\x92\x1d\x44\x5b\xc9\x94\x7c\x7a\xaa\xce\x84\x9e\xe7\xea\x1c\xdd\xd9\x87\x7f\xfa\xe6\xcb\x6f\xbe\xfc\x4b\x2f\xa2\x40\xe7\x56\x28\x57\x8b\x13\xa3\xa7\xaf\xdd\x48\x6b\xa3\x04\xb6\xf4\xaa\x98\x2b\x5d\x56\x05\xa4\xb4\x6b\xf9\x94\x92\x03\x96\x70\xfd\x05\xa9\x38\xf6\x43\x8e\xa2\x43\x4b\x79\x56\xbc\x78\xfc\x68\x07\xfe\x5d\x9f\x1d\xcb\x62\x2a\x48\x9a\x96\x2b\xae\x37\x24\xf9\xe0\x31\x13\x38\x32\x1c\xc3\x88\x42\xe8\xf3\x3f\xc3\x92\xda\x17\x03\x76\x2e\xac\x68\xda\x71\xbe\xf2\xbc\xb4\x75\x53\x0a\x4b\x4b\x44\x90\x5d\xe9\x5b\x94\x42\x28\xf2\x0c\x9d\xfa\xf6\xe0\x5a\x90\x58\x8e\xa1\xfc\xe3\x2e\x31\x90\x38\x13\xb9\x25\xa0\x6c\x85\xec\x0c\x72\x03\x89\xe2\xe0\xd5\x31\x24\x0d\x1a\xfe\x2c\x26\xc3\xa3\xe7\x8f\x9b\x0c\x2a\xa9\xe6\x13\x18\x5c\xa8\xa4\xd2\x79\x66\x37\x7e\x76\xbe\xe4\xe5\xf9\x02\x7a\xf2\x45\xa5\xf3\xaa\x94\xb9\x09\x25\x2f\x8f\x66\x58\x57\x79\x3e\xfc\xf2\x2f\xb7\xbe\x4c\xaa\x7f\xc3\x57\xc2\x64\x6b\x3e\x53\xb9\x11\x1b\xf8\x36\xac\xe3\x90\xf6\xf8\x41\xa5\x73\x73\x60\x95\x9a\x83\x72\x29\x0e\x66\x6a\x35\x74\x0e\x98\xb5\xcc\x44\xbb\x6f\x15\xe8\xbc\x9f\x38\x26\x98\xd5\x5d\x84\xfd\x39\x2c\x8c\x3f\xab\x9d\x30\x97\xed\x25\x3a\x0e\x85\x3d\x7b\x15\xa7\x79\x7c\xd9\x8d\xc3\xd9\x4c\x42\xb7\xb8\xde\x64\x3e\xab\xf8\x7b\xb6\x12\xab\x89\xd0\x10\x79\x0b\x7f\x3f\x8c\xfa\x60\x1f\x50\xb9\xda\xa1\x51\xff\xfb\xc0\x95\x43\xf1\xc5\xff\x7b\x0f\xa9\xf0\x7c\x5f\x5c\xf6\x2b\x12\x03\xbc\xec\x0b\x92\x82\xcf\x52\x68\xb9\x4d\x5d\x8e\xf0\xf5\x3b\xc6\xe5\xea\x47\xa7\x26\x7a\x86\xb9\x19\x7c\x86\x2c\xcd\x65\x8e\x59\x1d\x72\x1c\xcd\xee\x7f\xa1\xff\xca\x94\x71\xff\x6d\xfd\xf0\x0c\x56\x41\xe9\x92\x75\xe9\x54\x82\x3f\x20\xc6\xa1\x38\x20\xf7\xc6\x9e\x1b\x59\x18\xb3\x95\x38\xe3\xfa\xe9\xee\x28\xa9\x9f\x9e\x01\xad\x98\x01\x5b\xc9\xa2\x32\xce\x94\x69\x60\x25\x56\x5c\x9f\x5e\xb1\xff\xdc\x2c\x1b\xfd\xb7\xcf\x90\x04\xe3\xda\xf1\xf1\x66\x35\x51\x79\x3c\x7a\x22\x85\x64\xf4\xf6\x99\x5f\x01\x3b\xee\x5a\x0b\x78\x74\xb8\x3b\xb7\xfd\xc3\x7d\x5f\xd8\xc9\x62\x71\x61\x7a\x36\x60\x13\xb1\x90\x98\x1c\x0e\x6c\x04\xfb\xc3\x7d\x97\x75\xda\xdb\xe3\x22\x59\xdd\x5f\x86\x81\xef\x27\x1e\xeb\x95\xce\x41\xa3\x04\x87\x12\x23\xe3\xac\x74\x7e\x07\xb9\x1c\xe2\xb0\x87\x32\x86\x8c\xae\x5d\x62\x02\x9f\xed\x8d\xcb\xe1\xee\x6a\x9a\x59\x49\xdb\x4a\xb2\xe7\x0a\xce\x75\x83\xdc\x1c\xb5\xff\x54\x15\xc9\x8c\x28\x8f\xdc\xbd\x76\x77\xdf\xf6\x72\x7f\xc0\x48\xab\xb0\xc5\x43\xbf\xe3\xaf\xec\x53\x50\x82\xed\x58\x2e\xaa\xb1\x63\x4b\x76\x7c\x8d\x7b\xd0\xbf\x9a\x36\xe4\xbd\xf8\xe0\x08\xd3\xf9\x2b\xcb\x1c\x31\xcd\xc8\x9c\x4f\x05\x3b\xb8\x22\x37\x4d\xe3\xdd\x6c\x8b\x87\x6d\xfd\x46\xb3\xa3\xdb\x83\x8d\x22\x7e\x73\xde\xdf\xf5\x26\xd3\x02\x62\x6a\xba\xc3\xc3\xeb\xc3\x01\xeb\x74\x7a\xec\x90\x75\xe8\x16\xcb\x52\x5f\xb3\x59\x2b\xb2\xc1\x6b\xdc\x3a\x8d\x02\xb4\xa3\x1a\x4d\xe2\xf3\xd0\xe0\x3f\x7e\xb9\xdf\x6c\x91\x9b\x66\x85\xb0\x57\x1a\xd5\xc1\x85\x7a\xa8\xec\x8b\xd6\xde\x5b\x52\x6f\x1d\x01\xec\x01\x9c\x3c\xa5\x9b\x83\x84\x3d\x85\xaf\x69\xc3\x1c\xc2\xfd\x6f\x52\x86\xde\x64\xd3\x25\xd7\x47\x65\xf7\x56\x0f\x23\x8c\x86\x1d\xe7\x8e\xdc\x9c\x75\xfa\x84\xde\x1f\xda\xc2\xec\xe6\x05\xa5\xb6\x71\xe0\x3f\xe4\x4d\x02\x6d\x10\x03\x1a\xe0\x74\x81\x3b\xb4\x52\x58\x69\x18\x5c\x43\x21\x34\xa2\x74\xf0\x00\x10\xea\x77\x80\xfa\xb7\xff\x8e\x9b\x0b\x15\xc1\xe6\xd9\xf9\xde\x1d\x73\x54\xc3\x2b\x3a\x49\xed\x89\x4a\x4c\x37\xaa\x9b\x13\xbb\x6b\xbf\x80\xd8\x43\x5f\x55\xee\x34\x10\x3b\x08\x4a\x24\xbc\xd7\x6e\x3e\xfc\xd9\x0f\x4a\xc4\x81\x2e\xce\xff\x07\xf3\xee\xe2\x08\x2f\x19\x59\xca\xda\x1e\x9b\x63\xbe\x12\xcf\xe0\xcb\x6e\x18\x59\x60\x73\x3e\x0f\x55\xd7\xc7\xaf\x46\xc5\x7a\xb8\xbc\x8e\x41\xc6\x15\x1c\x46\x13\x75\x27\xec\x65\x97\xb7\xca\xef\x4a\x4b\x2e\xde\x36\x12\x1e\xdf\xb8\x11\x5f\x39\xe0\x37\x70\x0c\xa6\xe5\xed\xa3\x5e\x4c\x1f\x3b\xa3\xa2\x3c\xb8\x43\x5b\x30\xd4\x11\xf3\xe2\xa0\xd3\x1e\x03\x6a\x01\xdd\xf9\x8e\x7d\xae\xe7\x9f\x97\x32\x17\xfe\xf1\x1e\xa6\xa7\x5d\xe4\x6a\x82\x58\x2c\x67\x5c\xe6\x70\xcf\x2f\x0b\xf6\x23\x3f\xe3\xc7\xd0\x12\xe8\x1f\x60\x4c\x33\x89\xb7\x31\x85\xa0\x9a\x81\x4b\xc7\x0a\xf5\x95\x48\xb9\x58\xa9\x87\x67\x81\x50\x47\x97\x61\xea\x5c\x30\x9e\x9f\xf3\x8d\xc1\xbe\x43\x0c\x10\xe6\x21\xae\x16\x4b\xa7\x79\x8d\xaf\xbb\xce\xd3\x8c\x0c\x98\x81\x72\x2b\xbe\xb1\x14\x49\x98\x2e\x33\x51\x0c\x98\x16\x2b\x75\x06\x01\x90\xce\x16\x07\xe4\x85\x28\x0e\x6e\x53\x3c\x0a\x0e\x77\x03\xd4\x34\x40\xd5\x2e\xc0\xa8\x2b\x0b\xf7\xd1\x52\xb0\x71\xb1\x78\x90\xcb\xe9\xe9\x38\x40\xea\x3b\x6b\x8c\x78\xcb\xed\xe1\x07\xba\xb9\xc8\xd5\xf9\xa0\x86\x70\x03\x87\xb1\x16\xf6\x68\x28\xdd\x7a\x4c\x2b\x6d\x15\x39\x04\xba\x71\x56\x3c\x7b\xac\x82\x4e\x8d\x76\x56\xd6\x67\x85\x62\x5a\x9a\x53\xbb\x25\x65\xc1\x67\x67\x42\x97\xa0\xfe\xb1\xa9\x9a\x79\xfd\x18\x4d\xae\xa2\x98\x6e\xec\x41\x1a\x4d\x33\x18\x02\x5d\x0e\x2c\xa0\x8c\xc4\xb3\x0e\x69\xc7\xf7\x9e\xb1\xbb\xf4\x3b\x25\xe0\x1c\xed\xe3\x6c\x3f\xc2\xa7\xfb\xf7\x90\x86\xef\xce\x2d\xbd\x58\x32\x1c\xed\x83\xb7\x27\xe8\x15\xee\x2d\x63\x77\x91\x16\xef\x05\x8a\x77\x8a\x02\x56\xdb\xed\x24\xd5\x76\x06\xec\xe4\x75\x2f\xda\x1e\x2c\x83\x5c\xc7\x2a\xcf\x85\xee\x76\xa8\xd4\x03\xff\xc8\x96\xef\x5c\x37\xde\x8f\xc3\x03\x69\x04\xef\x0c\x83\x9e\x19\xf4\xaa\xe1\x78\x8a\xef\xb3\x85\x16\xa2\x44\x6f\xe2\xce\x0f\x22\xcf\xd5\x80\xfd\xac\x74\x3e\xbb\xd6\xb9\xd3\x5a\x7e\xa6\xfe\x1a\xbe\xf0\x8d\xb9\x5a\x5a\xdc\x5b\x5d\xac\x32\xcf\x85\x2e\x43\xc1\x5a\xed\xdb\xe4\xef\xed\xeb\xf0\xfe\xee\xb0\x36\x93\x77\x67\xf2\x8c\x15\x8b\x83\x30\x3f\xa3\xfd\xc6\xfc\xec\x47\x13\x7f\x17\xb3\xf7\x97\x9b\xb5\x18\xed\x97\xe2\x6d\xb9\xef\xbd\x4e\x47\xfb\xae\x43\xfb\x6c\x18\x7f\x32\xa9\xca\x52\x15\xd0\x8c\xa5\xf7\xd1\x7e\x18\x77\x18\xc3\xfe\xbd\xa3\x27\x8f\x5e\xbc\xbc\x3b\xc4\xd2\xa1\x87\xc3\x99\x3c\x73\x74\x32\xb4\x84\xd2\x42\x34\x96\x2b\x6a\x3e\x2d\x95\x55\x1d\xf7\xa9\x77\xe1\xa1\x1f\x80\x2c\xbb\x1d\xf2\x0e\x98\x49\xb3\xce\x39\xda\xc1\xfd\xba\xc9\x22\xf8\xc6\xb2\x89\x7a\x1b\xd3\x40\xb4\x1c\xde\x45\x7c\x93\xc1\xc8\xbb\x1d\x57\x43\xa7\xd7\xcb\x8c\x28\x66\xff\x43\x6c\x4c\xd7\xd1\xc0\xa3\x2f\x1f\xb1\x97\xc2\x94\x26\xba\xe9\x19\x0e\xd9\xe3\x39\x98\x03\xec\x94\x20\x43\xc5\x69\x92\xee\x38\x04\xf7\x17\x0c\x43\x34\x98\xa4\x59\xe8\xe8\x73\xd7\x89\xce\x21\x7e\xd8\xe9\x65\x50\x57\x74\x33\xea\x7e\x8b\xe6\xed\xee\x90\x76\xe4\xbd\x5a\xa4\xe0\xcf\x40\x59\x17\xb8\x3b\xc1\xe6\xff\xbe\x20\x83\xbc\x3b\x53\x1c\x6b\x40\xee\x33\xdd\x60\x84\xc1\x21\x3a\xe9\xee\xb1\x19\x2f\x45\xed\x11\x46\xbe\xd5\x1e\xbe\x31\xaa\xa8\x3d\xca\xe5\x4a\x96\x2f\x55\xfd\xa9\x83\x97\xa9\x3d\x47\x87\x8e\xda\x43\xa5\x67\x42\x7f\x57\xef\x53\xb5\x5e\xb7\x56\xd1\x1f\xd6\x0f\x49\x92\xd3\x75\x74\x4a\x62\xef\x9f\xc7\x2f\xd2\xa3\xd2\x3e\xf2\x61\x16\x5a\xb0\x37\x95\x09\x8e\x3c\xc6\x65\xac\x70\xd1\x6c\x44\x6a\x68\x9a\x53\x55\xb9\xae\xca\xcc\x59\xc0\x68\xa6\x4c\x94\x49\x7c\x0f\xb2\x8f\x78\xde\xfc\xb8\xb0\xe7\x2d\xf8\x64\x28\xc6\xa7\x4b\x29\xce\x28\x23\x3a\xa7\x8f\xf1\xd0\x91\x84\x65\x51\x18\x69\x4a\x83\xb9\x2e\xe6\xb0\x33\x36\x75\xa4\x37\x3c\x24\x78\x51\xa8\x32\x9c\x34\xfe\x38\x90\x64\xec\xc0\x4c\xad\x6b\x5b\xa1\x3d\xc7\xed\x89\x06\xd7\x3a\xe4\xc9\x89\x4d\x47\xd7\xbe\x30\x2b\xe3\xf1\xf8\x0d\x99\x80\x86\x43\x9a\x23\x72\xad\xd2\xdc\x09\x1a\x91\xa3\xc7\xd3\xcd\x53\xe4\xee\xd7\x69\x1d\x06\xf5\xe9\x07\x22\xed\xbb\x0d\x81\x17\x4b\x56\xb2\xa4\x8b\xc3\x52\xb1\x99\x58\xa9\x02\xea\xb7\xbb\x9a\xae\xb7\x59\x17\x0c\x18\x28\x1b\xe0\xd5\x57\xcf\xd5\xe3\xda\xc2\x94\xc3\xb4\xb1\x63\x36\x00\xe8\x66\xbe\x59\x2f\xb6\xe1\x5e\x67\x56\x50\x07\x42\xb9\xc9\x3a\xc0\xf5\xfb\x61\x27\xf6\xa3\xbe\x3a\x8f\xb2\x68\xb6\x68\x3d\x70\x19\x9c\xdd\x35\xfa\x04\x7a\xb2\x6b\x6c\x0f\x1f\x67\x7e\x04\xe9\x1c\x65\xae\xa9\x96\xb1\xc0\x83\x78\x30\xd0\x33\xbc\xf7\x5d\x8a\xfa\x3a\xd6\xba\x96\x76\x28\xa9\xa3\x54\x6c\x21\x0a\xb8\xcc\x65\x86\xe7\x55\x19\x2d\x6f\x34\x67\x21\xf8\x55\xbc\x2d\xa3\xb5\xa4\x5a\x9a\xe4\x6f\x09\x6d\x21\xe1\xfa\xd6\x28\x74\xa4\xa2\x0d\x04\xc9\x4e\x20\xc8\x2e\x54\xe1\x1d\x3d\xdf\x96\xec\xc6\x0d\xec\x2e\x35\xf5\xfe\x3d\x3c\xbe\x13\x8a\x6f\x6b\x6b\x85\x77\xe4\x40\xb4\xb4\x72\x2f\x5b\x66\x04\xf6\x01\x4e\x6f\xe2\x94\x71\x1d\x69\x4d\xe9\x31\x61\x57\x44\xd3\x09\xe4\x61\xaa\xf9\x5c\xbe\x85\x2f\xa0\x15\xdc\x0d\xe3\x96\xad\x12\x1d\x59\x13\x11\x74\x19\x09\xe9\x93\xa6\x56\x60\xc1\xb6\xba\xae\xff\x41\x68\xd9\xb9\x59\x2e\x22\x12\x6d\x59\x8f\x11\xc9\xc9\xf7\xae\x65\x5a\xb3\x2c\x8b\xa7\xaf\x17\xe6\x6f\xb0\xab\x27\x56\x82\x86\xca\x71\xb4\x49\x87\x30\xf1\xa6\x2b\x19\xba\xd1\xeb\x65\xa5\xfa\xce\x6a\x4e\xf1\x97\xf5\xc5\xf2\xab\x04\xdc\xb7\x25\x11\x3e\x5d\xa1\x2f\xc1\x03\x81\x12\xd0\x12\x79\x9d\x2b\x7d\x4a\xde\xf7\xea\x1c\x60\x67\x90\x8f\x40\x6e\x7e\x75\x5e\xb8\x82\x03\x66\xf0\x3e\x30\xc9\x03\x4e\x8b\x4a\x1c\x7f\xeb\x24\x08\x97\x4f\xf4\xa1\x33\xcd\xb3\xbf\xda\xe2\x59\xdb\x29\xd3\x54\xc5\xb0\xd2\x1d\x06\xeb\x9a\x66\x16\x9f\x35\x90\x06\xd5\x32\x63\x1c\x37\xb0\xe3\x19\x2f\xb9\x13\x76\xc2\xad\x60\x65\x84\xce\x22\xc2\xc6\xed\x9a\x33\xb3\x29\x4a\xfe\x16\x46\x41\x31\xc0\x68\x22\xb0\x9a\x74\x9e\xab\x73\xb8\x79\x88\xa9\xe1\xdd\xbb\x38\x1a\xe4\xe4\x3d\xcd\xd6\xaf\x76\x20\x27\x87\x1e\x09\xe2\x57\x60\xa7\xaf\x2d\xd5\xb0\xd7\x6c\xbb\xad\x59\x10\x8e\xc9\xfa\x0e\xc3\x07\x40\x49\x87\x1c\x51\xdb\x70\x70\x09\x5c\x6a\x7b\xd0\x25\x40\x0c\xdf\x7b\x3f\xf3\x96\xaf\x76\x2a\x25\x28\x3c\xd2\x74\xef\x7b\x1d\x05\xff\xfe\x50\x1d\xa5\x45\x92\x7e\xca\x65\xf1\xa0\xd4\x51\x29\x76\x77\xf9\xd5\xbd\x77\xef\x7c\xc6\xa7\x97\x96\x39\x6d\xb7\x77\x87\xcb\xaf\x1a\x65\xb0\x1b\x62\xd6\x56\xa6\x4d\x2a\x6e\xf6\x13\x09\xc5\x8a\xc4\xee\xc3\xba\xde\x94\x0c\x35\xd1\x9b\x12\x95\xc9\x0d\xa4\x55\x27\x9a\x87\xdd\xec\xb8\x0b\xaa\x37\xc9\x20\x47\xac\xb3\xb4\x47\x64\xa4\x0a\x51\xb1\x64\x9c\x23\xe6\x59\x80\x97\xd3\x3a\xbd\x6e\x4b\x8d\x57\x16\x73\xed\x96\xbb\xfe\x7d\xca\xef\x88\x41\xa3\x17\x3f\x1d\xf9\x9d\xd7\x77\x22\x79\x38\xfd\xc0\xcb\x20\xc1\xf0\x43\x2c\x7c\xc4\x3a\x58\xb4\x83\xc6\x5e\xf4\x07\x6c\x71\x06\xdc\x21\x42\x7e\xe1\x58\xef\x5e\x4b\x94\xcb\xfb\x67\x64\x53\xbb\x6c\x63\x20\xbe\x91\x47\xd4\x5d\xf1\xb5\x2d\xe8\x59\x9c\xd5\xff\xf7\x5c\x04\x8c\xfd\xfc\x54\x6c\x8c\xcf\xe6\x18\x1d\x4c\xc6\xfb\xa0\x13\x82\x6d\xad\x0c\x4a\x29\x52\xa0\x63\x74\x6c\x89\x7b\xe6\x2f\xb9\xfc\x79\x48\xdf\xb8\xa3\x0a\xfa\x28\xad\xec\x59\xef\x1e\x5e\x77\x13\x80\x0e\xdc\x59\xdb\x22\xbe\xc3\xde\x7a\xb8\xab\x66\xea\xcd\x70\x2f\x92\x1e\xfd\x89\x86\x17\x19\x24\x5e\x39\x2a\x45\x38\x0f\xec\x33\x8a\x74\xa9\xe3\xb0\xeb\x1a\x06\x52\xe0\x73\x17\xd0\x4b\x15\xba\x7d\xe0\xce\xb6\x53\xb1\x89\xf7\x00\xd5\x70\x72\x2a\x36\xaf\xd9\x28\x74\xe7\x54\x6c\x06\xf4\xb2\x49\xc1\x5e\x32\xc2\x8f\xc9\x23\x2f\x0d\x93\xf5\x49\xe8\x49\x50\xa5\x91\x75\x49\xec\x44\xb2\x0c\x03\x76\xfe\xaa\xf8\x1f\x28\x74\x5e\xf8\x0c\xdd\x02\xda\xad\x05\xb7\x38\x19\x26\xd9\xf4\xee\xa1\x1b\x6a\x5d\x94\x4b\x01\x82\x5d\x5f\xdd\x57\x80\xcb\x91\x74\x34\x04\xe7\xa0\x83\x21\xdc\x97\x5c\xed\x1f\x6e\x37\x52\x40\xa1\x96\xba\x12\x1a\xe1\x65\xc6\x8a\x68\xf4\x38\x55\x46\xa3\x17\xb1\x42\x1a\x3d\xae\x29\xa5\xf1\x9b\xba\x62\x1a\xbd\x4b\x95\xd3\xe8\x45\x4d\x41\x8d\xde\x34\x94\x54\xff\x0e\x41\xa3\x83\xc0\xe6\x06\xdd\x19\xd4\xc6\xdf\xbb\x93\x94\xb3\x33\xd0\x19\x44\x13\x51\x7b\x8f\x53\xd1\x19\x24\x73\x52\x2b\x63\x67\xa5\x33\x88\x26\xa7\xf6\x9e\xa6\xa7\x33\x48\x27\xaa\x5e\xca\x4d\x95\x2d\x97\x4e\x5b\xad\x24\x4e\x5c\x67\x90\xcc\x60\xad\x0c\xcd\x61\x67\x90\xce\x66\xad\x54\x38\x4c\x06\xf5\xb9\x6d\x33\x8f\x47\x12\x18\x90\xeb\x05\x12\x59\x9b\x50\x86\x91\xae\x98\x39\x73\x62\x04\x38\xc4\xc8\x52\xac\x0c\x44\x4b\xb3\x31\x44\x75\x8f\x93\x44\x9d\x92\xae\x45\x0a\x71\x8e\x41\xdf\xf5\x5b\x16\xc0\x1e\xda\x52\x40\x38\x5c\x4a\x43\x96\x84\x50\xb8\xfd\xec\x78\x1f\x07\xce\xd4\xc2\xb1\xd7\x5a\xcc\xe4\xd4\x0a\xbb\x21\x69\x26\xc8\x8f\x18\x9d\x8b\xbe\x4c\xae\xd7\x28\xf5\x51\xd7\x83\x83\xc2\x03\x84\x04\x53\x85\x3d\x9a\x82\x74\x78\xc0\xc6\xd8\x8d\xf1\x21\x76\x16\x6f\x7b\xa4\x09\x8d\xf8\x70\x74\x87\xd7\x9e\xe0\xa0\xb9\xd0\x10\x6a\x8f\x1d\xe5\xb9\x83\x7e\x07\x04\x42\x4a\x3b\x4b\xbe\xb8\xa0\x7a\x51\x1b\x91\x33\x95\x2c\xfc\x5c\xc3\x3d\x13\x82\xdc\x82\x85\x84\x0a\x87\x9b\x27\x74\x5f\xcf\xc8\x8f\x10\x60\x2b\xb1\x0d\xb8\x28\xc2\x64\xaf\x85\x00\x94\x75\x3a\x65\x43\x43\x5e\xf9\x4e\x67\x95\xe0\xd2\x0a\x08\x5e\x03\x07\x62\x8c\xb4\x76\xfe\x0f\xbe\x0f\xe5\x92\x8d\xaf\x45\x93\x7a\xc0\xc6\xb8\x7a\xe3\x43\x76\xc4\xd6\xbc\x2c\x85\xf6\x87\x3b\xd5\x5a\x51\xee\x5f\x3a\x0b\xbd\x5b\x74\x34\x7c\x55\xf8\x09\xb2\xf3\xca\x11\x2a\x13\x7b\x3a\xd9\x84\xb9\xb5\x1a\x93\x93\x89\xc7\xef\xe0\x22\x73\xff\xe9\xfe\x80\xad\x97\xaa\x10\x87\xfb\xb7\xf7\xb7\xe3\x68\x54\x30\x65\xc4\xd9\x63\x84\x02\x20\x15\x57\x3d\xda\x0a\x96\xfc\x4c\x04\x57\xd9\xb1\xad\x79\xec\xba\x62\x47\xbe\xff\x74\x1f\xdd\x36\x7c\x11\x68\x32\x2d\x73\x7b\x3f\x63\x47\x38\x3e\x9e\xbb\xfa\xfd\x17\xb0\x3d\xc7\xd7\xc7\xc9\xb4\x74\x39\xae\xfd\xbb\xeb\x87\x68\xa4\xde\x8e\x21\xc6\x97\x12\x14\x73\x22\x04\x47\x78\xbc\xd8\x34\xea\x25\xfa\xa3\x39\xb7\x92\x4b\x69\x76\xaf\x3f\x7b\xb9\xe4\x65\xc7\x30\xf1\x5b\x25\xcf\x78\x2e\x0a\x7f\x2d\x83\xe8\xdf\xae\x7a\x04\x34\x06\x07\x5a\xe8\x01\x45\x5e\xb8\xbd\x62\x59\x00\xb2\x92\x89\x98\x59\x9d\xf5\x4c\x64\x57\xa7\xa9\xbd\x28\xb6\xbc\x85\xb4\xe0\x5d\xcb\x52\xb3\xfd\x6b\x4f\x3f\x60\x85\x2f\x58\x5a\xd7\x48\xa1\xca\xda\x2a\x67\x91\xda\xf8\x93\x2a\x85\xf3\x59\xb6\x9f\x45\xcb\x0f\x0d\xe3\xcc\xa4\x64\xec\xed\x1e\xb9\x55\xa8\x01\xfc\x01\x22\x2d\x73\x11\x62\x02\x02\x71\x58\x72\xf8\xf0\x3a\x35\x9b\x09\xb1\x16\x3a\x63\x8f\xb2\x45\x16\x06\x6e\x47\x0d\x37\x79\xbe\x7a\x9a\xb7\x77\x73\xa9\x4d\x79\xc8\x3a\x3f\xaa\xa5\x3d\x16\x73\x0e\x7f\x3d\x54\xa2\xb3\xdd\x8e\xb1\xe1\x7e\xbf\x50\x65\xbf\x6f\x97\x0c\xe1\x29\x60\xc9\x5c\x0d\xf8\xe5\x76\x0c\x40\xc4\xae\xfa\x7e\xdf\x7e\xd9\xf2\xcd\xf5\xf0\x41\xc2\x2a\xd2\xcc\x02\x03\x06\xea\x69\x0f\x59\x87\x5f\x53\x2f\x18\xd7\xd8\xc7\xb9\x96\xa5\x3d\x44\x26\xb2\xd4\x5c\x6f\x9c\xe8\x09\x64\x57\x37\xe4\x58\xf6\x3d\xe5\x79\x4e\x0c\x5c\xf0\xe9\xd2\xa3\x82\xa8\x79\xe0\x27\x68\x2a\x2b\x78\xee\xc2\x91\x64\x8a\x65\x52\x2e\x95\xf1\x95\xa7\xc0\x26\x65\x42\xec\x3e\xa8\xa8\xd4\x15\x58\xff\xea\x87\xa2\x1f\x3a\x9f\x96\x15\xcf\x07\x64\x47\x12\xb3\xde\x7b\xfb\xc9\x7b\x8f\x10\xbc\x45\x2f\x70\x0d\xb0\xf1\x0f\xc2\xaf\xce\xea\x8d\xf3\x21\xbd\x91\xd2\xb9\x4b\xc0\xa1\x35\x77\x18\x22\x50\x35\x5d\x83\x76\xe1\x28\x8f\x74\xa3\x18\x9f\x06\x1c\x82\xa1\x4b\x71\xe9\x78\x83\x12\x0f\x21\x7b\x11\x4c\x4d\x2f\x8a\x5c\x05\x63\xfd\x0c\x94\x1d\xee\x21\x52\x2e\x3d\x72\x77\x4f\xc7\xf8\x30\x3e\xa2\x82\x49\x97\x8e\x3f\x80\xa9\x8c\xfb\x85\xbd\x76\xca\x60\x58\x11\x9f\xb0\x12\xa7\x13\x8a\x78\xe6\x86\xbd\x0f\xe9\x2c\x00\x6f\x10\x02\x1c\x48\x9b\x6c\x1d\x9f\xf8\xad\xe2\x79\x42\xd0\x10\x02\x66\xc9\xd7\xf8\xac\x28\x10\x5b\xbe\x7b\x78\xec\x5d\xe0\x57\x04\xe3\x04\x90\x25\xcd\x92\xdb\x71\x74\x58\xa3\x03\x8c\x30\x46\x14\xa5\xc4\xcc\xe8\xa5\x96\xf6\x8c\x85\xd1\x49\x83\xae\x90\x7e\xe5\xc3\xb2\xa6\x1b\xd0\xca\xe6\x81\xd6\x42\xd7\x99\xef\x7b\x23\xa5\x0e\xcc\x7c\xae\xd4\x29\xbd\xae\x9f\x0c\xb2\x00\xd4\x6b\xd7\x57\x59\x18\x01\x80\xba\x67\x02\x30\x45\x2e\xb8\x6b\xff\x40\x83\x95\x2c\x64\x39\xda\x9f\x6b\x09\x41\x56\x23\x76\x82\xbc\xc9\x31\x35\x94\x01\x3a\x7f\xfe\xf3\x9f\x0f\x6e\x7f\xf9\xcd\xd7\x9d\xed\xa0\x7e\x29\xdd\xf8\x47\x15\x3c\xe5\x7a\x13\x2a\xf8\xf6\xd6\xad\x83\xef\x1e\xff\xf5\xe0\xe9\xd1\x8b\xff\xf8\x90\x4a\xe4\xa9\x48\x7b\xf1\xa7\xaf\xbe\xbc\xfd\x01\x15\x1c\xcd\xf8\x2a\xad\xe0\xcf\x5f\x7f\xf3\xed\x07\x54\xf0\x63\x95\xcb\x5a\x17\xbe\xfd\xe6\xeb\x3f\x7f\x68\x0d\x65\x29\xda\xba\xf1\x7a\xff\x1e\xd9\xf2\x5c\x6d\xc7\xe4\x30\x47\x37\xed\xe1\x76\x1d\x5d\xe3\x5e\x5a\x71\x26\x2c\x22\x02\x66\xc8\x59\xfc\xfa\x05\x86\x16\x25\xd7\xf6\xa5\xbe\x77\xb7\x5c\xde\xfb\x89\xaf\xc4\xdd\x61\xb9\x84\x3f\x9e\xdb\xce\xe0\x5f\xc3\x52\xa7\xa5\x6d\xbb\x5a\xac\x05\xf7\xb4\x61\x29\xd2\x51\x89\x33\xf3\x1e\xb6\xf5\x09\x6b\x98\xdd\x7b\xf7\x0e\x8b\x67\x76\x16\xb6\xdb\xbb\xc3\x72\xb6\xbb\x0c\x4c\x4c\xa3\x50\xd2\xaf\xbb\x43\x18\x6c\xf8\x7b\x19\xde\x1d\x15\x9b\x9d\x33\x96\x5d\xdf\xbf\xc7\xee\x4e\x42\x61\xb4\xa3\x15\xf9\x66\xe7\x17\xb6\xc7\xfb\xf7\xe2\x6f\x60\xae\x2e\xfe\x08\x86\x90\x7e\x05\xb8\x49\xb2\xdc\xa4\x6e\x13\x70\x71\x35\x51\x6f\x63\xd7\x09\xe4\x3b\xe9\xd7\x8d\xc5\x7d\x36\x79\xf3\xfb\xac\xed\xb3\xc9\x9b\x0b\x96\xf7\xd0\x75\x6e\xd7\xea\x3d\x9b\xbc\xb9\xca\x22\xdb\x62\x1f\xbc\xce\x9f\xec\xf3\x81\x90\x54\xc0\xc1\xbf\x87\x6e\xfc\x04\x76\xce\x34\xe9\x14\xb0\x77\x78\xd1\x30\xe4\x79\x0c\x2b\x9e\xe7\xdd\xc9\x26\xc3\x99\x43\x4b\x1e\xbb\xc9\x3a\xd1\xc4\x75\x7a\xd9\x54\xe5\xd5\xaa\x70\xef\x60\x56\xe0\x0e\x2b\x01\x9c\xe5\xba\x86\xcf\x6a\xcf\xff\xcc\xd9\x17\x7d\xb1\xf3\xd9\x80\xc9\x86\x17\x10\xdd\x94\x9d\xcf\x20\xcd\x97\x78\x5b\x76\xe1\x8e\x0c\x40\xbf\xd2\xa1\x9c\xc8\xd7\xa9\x6b\x50\x8c\x6e\x17\xff\x11\x40\x74\xe3\xeb\x46\x07\xa2\x34\xd5\xca\x18\x08\xc6\x9b\x4b\x91\xcf\x0c\x86\x15\x21\x85\x78\x1d\xc3\xf9\x73\xee\xf0\x98\x71\xc0\x63\x8e\x5b\x04\x68\xb0\xc8\x89\x26\xbc\xee\xc4\xb8\x05\xd1\x67\xd9\x34\x17\x5c\x77\x77\xbc\x0c\x8e\x37\xab\x04\xd0\xb0\xb1\xf8\xdd\x13\x77\x38\xb9\xf3\x05\x8f\x89\xd7\x03\xd6\xc1\xa5\xec\xf4\x22\x80\xff\x8f\xe8\xc0\x37\x5f\x5f\xda\x03\x3a\x5f\xe9\x7c\x49\x9b\x8e\x96\x68\xf7\xc2\xc8\x22\x28\xfd\x17\xae\x4c\x90\xde\x50\xb8\xbb\xc2\x1a\x1d\x15\x9b\x0b\x96\x28\xbb\xde\xb6\x40\x47\xc5\x66\xe7\xf4\xd8\x77\x61\x76\xe4\x07\x2f\x8f\x3b\x84\xc3\x59\x1a\x26\xec\xd9\xff\xc7\xde\xdb\xef\x37\x91\x23\x0b\xc3\xff\x73\x15\xc2\xcb\xa1\x6d\xd2\xfe\x4a\x80\x19\x0c\x86\x93\x81\xb0\xe4\x3c\x04\xf8\x91\x30\xf3\xce\x24\xd9\xb1\xec\x56\xec\xde\xb4\xbb\x7d\x5a\xed\x24\xde\x24\xef\xef\xb9\x90\xf7\xbd\xb9\xe7\x4a\x9e\x9f\xaa\xf4\xd9\x1f\x8e\x13\x02\x33\x73\x36\xd9\x1d\x6c\x77\x4b\xa5\x52\xa9\x54\x2a\x95\x4a\x55\xc3\x7f\xe6\x68\x56\x24\xd9\x1c\x7c\xa2\x41\x27\xb4\x75\x3b\x4c\x5e\x61\x76\x03\x21\x07\xb5\x75\x05\x02\xc9\xac\x77\x95\x14\x92\x13\xff\x79\xae\x2e\x6a\x97\xa5\xf5\xe0\x55\x19\x5d\x21\x08\x66\x15\x61\xe1\xa5\xa1\x2c\xd2\xc9\x29\x06\x70\xf3\xae\x61\x55\x3c\x99\xe3\xc5\x0a\xd2\xae\xe0\x4f\x66\x1b\x91\x25\x0d\xf3\x47\x05\xb0\xe7\x71\xe3\x2a\x9a\xa1\xb0\x0f\x6a\xee\xab\xc0\xeb\xb8\x4b\xd2\x89\x38\xe0\xa7\x9c\x21\x32\xf2\x22\xf2\xb9\x8a\x16\xaf\xa3\xa4\x6e\xa2\xa1\x67\x33\x5e\x7c\x4a\x93\x99\xac\xc2\x4f\x43\x08\x87\x22\x56\x0e\x54\xf2\xf5\xf6\x4d\x0d\x39\xe4\x9d\xf1\x14\xc6\x5e\x4f\x53\xcf\x6a\x4a\x8c\xa6\xae\x6a\xe8\xeb\x64\xa9\x42\x38\xd2\x59\x5d\x83\xc1\xa7\xd2\xc6\xed\x3e\x94\xc2\xd4\x34\x58\xd2\x0d\x88\x2b\x3f\x67\xa6\xc9\x76\xdb\x64\xbf\xf9\xf1\xa9\x03\x4f\x4e\xfc\x5e\xb1\xec\x9a\x55\x36\xdf\x2f\xf4\x84\xf8\x64\x9e\xd5\xcb\x07\xcb\x2f\x43\xaf\x51\x41\x0b\x79\x13\xcb\xa0\xe2\x8e\x26\x31\x81\x60\xec\x17\x2a\x60\xbe\x85\x20\x34\x70\xa9\x62\x52\xbc\x63\xd1\xcc\x3a\x10\xe5\x72\xc7\x68\xb1\xe1\xc0\x70\xe7\xd7\x75\xcc\x1c\x01\x83\x70\x81\x95\xf7\x53\x1a\x4e\x61\x77\x86\x99\xac\xe4\xc9\xa2\xcd\x53\x0f\x1f\x92\xba\xf7\x00\xd4\x05\xeb\xf1\xf3\x7b\x25\xbc\x2b\xaf\x4b\x59\x82\xa9\xdf\xc7\xc1\x56\xac\x69\xbf\x42\xb1\x06\x87\x85\x56\x94\xff\xfb\x21\x7f\x6b\x32\xbc\xea\x69\x55\x0a\x60\xd9\xbe\x5a\x0e\x93\x73\x60\x8a\xc5\xc0\x8d\xca\xee\x2a\x56\xc9\xe5\x38\xfa\x94\x62\x6a\x1a\x73\x38\x8d\x67\x0d\x79\x03\x00\x46\x87\x94\x5b\x60\xf0\x9b\x1f\x78\xfb\x92\x6d\x07\x79\x5e\xb1\xe2\x95\x58\x61\x83\xa4\xc1\xc5\xce\x45\xea\x41\x18\x53\x44\x57\x95\xd7\xbb\xf9\x42\x41\xdd\x87\xdc\x71\xac\xdc\xf2\x5b\x81\x88\x25\x75\xee\xf7\xfb\xa4\xd9\xb5\x8f\x30\x05\x2e\xee\x24\xd2\xc4\x0d\x33\x36\xb5\xc5\x5a\x39\xf7\x40\x38\x2a\x45\x54\xa8\x52\x38\x4e\x0d\x18\x9b\xa1\x09\x8b\x41\x09\x5b\x86\xb6\x1e\xb8\xfc\x0b\x94\xb2\x0e\x81\x57\x02\xb2\xda\xdc\x46\xad\x51\x47\x47\xb2\xf8\xd7\x0e\xa4\x68\xb7\x93\x67\xaf\x2b\xdb\xf1\x49\x90\xc4\x18\xcf\xf6\x97\x49\x12\x31\x24\x8b\x99\x80\x08\x70\x6f\x31\x83\x24\x1b\x28\xc7\xf1\x99\x9a\x57\xaa\x29\xb7\x8c\x7a\xaa\xa7\x5a\xdd\x2d\xd7\xef\x6b\x11\x8c\x13\x57\xbd\xce\x5f\xe3\xba\xef\x35\x72\x27\xe1\xf7\x97\x75\xb8\xa5\xad\x3c\xf5\x6e\x63\x45\x2a\x9b\x29\x6d\xf7\x56\x34\x0e\x82\xd1\xb3\x2e\x54\x6e\xa3\xcd\x88\x0c\xb0\xe4\xc0\xb6\xbb\xfa\x7a\xc6\xc1\x51\x23\xb6\xa7\x2a\x86\x47\x64\xf3\xc3\xaf\x68\xe2\xf7\xb8\xb4\xf3\xab\x20\xeb\x03\x85\xfd\xe0\x5e\x71\x4e\xf0\x64\xca\xea\xa5\x2c\xbe\x9c\xd3\x56\x1b\xff\x86\xc9\x78\x2b\xe7\x96\x5a\xb4\x0d\x2d\xb4\x44\x2b\x5b\xe8\x04\x0b\x1c\xb3\xc5\x73\x4b\x8a\x55\x4a\x74\xfc\x83\x78\xcc\x62\xfb\x16\xaa\x3e\xba\x3b\x30\xe0\x96\x63\xb6\xb0\x38\x41\x48\x01\xef\x01\x72\x4a\x71\xf4\xc1\x03\xa4\xaa\xcf\x20\xd3\xf3\x5b\x3c\xcb\x80\x6a\x6f\xdf\x4c\xac\xb5\x42\x06\x8e\xb2\x59\x42\x5e\xe1\xe4\x27\xbd\x6b\xcc\x41\x5b\x5c\x38\xbc\x57\x9c\x1f\x92\xd2\x55\xb4\x2b\x2e\x21\x84\xb8\x53\xf2\x67\x90\xd5\xea\x17\x90\xe9\x79\x8e\xd0\xd6\x1a\x66\xd5\x2a\x10\x6c\x94\xc4\x59\x18\xe7\xa9\x95\x6b\x16\xc7\x1d\x07\x1c\x0e\x86\xfa\x90\xd9\xae\x8f\x83\xf7\x3c\x57\x1a\xc9\x84\x28\x16\x6a\xbe\x52\x4b\x4d\x8f\x58\x63\x9c\x47\xbe\x44\x12\xfc\x6c\x53\x1e\x7e\x14\x27\x80\x69\xa7\xf8\xa4\x8a\x55\x9c\xf5\xf0\x0a\x5e\xb1\xd9\xaa\x10\x81\x5f\x96\x31\x58\x15\x55\x82\x7c\x08\x31\x4b\xb9\xab\x50\x97\x8b\x48\xe6\x74\xc0\x15\x5b\xbd\xbc\xda\x4f\x43\x79\xc0\xac\xec\xa9\xf1\x16\x3c\x65\xc1\xf1\x02\xf4\x70\x74\xc2\x50\x60\x48\x3d\x64\xe4\x41\xd7\x5f\xdf\x78\xdc\x7a\xf2\xb4\xd1\x22\xbf\x88\x0d\x63\x9c\x98\x02\x78\x3b\x1f\x52\x1e\x4a\x0f\x36\x5f\xf5\xee\x1e\x84\x40\x85\xd7\x70\x41\x42\xde\xcf\x83\x84\xf2\x4c\x1d\x39\xe5\x0f\xb4\x54\x5e\x30\x99\xfc\x6b\x5b\x5d\x0f\xc1\x8e\x96\xb8\x79\xf4\x2f\x55\x23\xaf\x73\x38\x89\xfd\x6c\xc0\xe2\x2c\x3c\x0a\xf1\xf6\xe3\x90\x19\x47\xe0\x56\xb1\xd1\xfe\x25\x39\x4a\x29\x10\x6b\x37\xfc\x17\x23\x1f\x90\x20\x10\xa7\x75\x14\x4e\x69\x84\x89\x15\xc1\x11\x42\x85\xda\x61\x0a\xd1\x2c\xd1\xfd\xe6\x78\x39\x01\xbe\x93\x29\x3d\xd3\x50\x09\x17\x60\x8b\xb4\x70\xaf\xf4\xaa\x48\x1c\x38\x32\x42\x4f\x43\xf4\x5a\xc6\xc3\x7b\xe9\x0d\x43\x35\x34\xb7\x7e\xc7\x30\x07\xf8\xeb\x6e\x19\xe6\xdc\x68\xab\x6e\x14\x4a\xea\xf6\x49\x17\x59\xf0\x7b\xdd\xec\x43\x92\xdb\x06\x6a\xc4\x24\x67\x49\xd7\x33\xb9\x30\x21\xea\x0f\x1a\x3d\xf2\x82\xcf\x68\x0c\xf6\x6b\xf5\x5a\xc5\xe1\xa8\xbd\x3c\x3f\x97\x7d\xbb\xd0\x75\x2f\x2f\x5f\xb4\x45\x8d\x97\x6e\x13\xa3\x39\xcf\x92\xa9\x69\xc1\x62\xea\xfa\x97\xdd\x37\x15\x0d\x61\xad\xd2\x76\x7a\x35\x51\xad\xa6\x9b\x33\x4d\xc5\x89\x66\x56\x4e\xea\x9d\x72\xc8\x71\xd2\xd4\x85\x96\xc1\xef\x75\x0a\x2d\xdc\xea\x65\x46\xdb\xbe\x15\xc6\x70\x6d\x30\x9b\x28\x46\xa9\x34\x61\x49\xf3\xb1\x65\x80\x0a\x03\xc3\xdb\x6a\x7c\xbc\x46\xc3\x35\x2f\xff\xc4\xea\x9e\x16\x84\x25\xe6\xbb\x4a\x80\x38\x0e\xa5\xf0\x04\x95\x6e\x02\xd2\x1e\x80\xa5\x80\x9f\x5c\x6d\x17\x9c\x49\xb7\xc8\x72\x62\x41\x2a\x1a\x19\x5b\x13\x83\xbf\xb4\x54\xf8\x46\xd8\x22\x40\x20\x39\x2f\x37\x79\xdb\x6d\x15\x61\xce\xa4\x95\x8e\x03\x96\x42\x80\x7a\x90\x99\x18\xe1\x45\x28\x91\x18\x63\xce\xa9\xbb\x24\x3c\x92\x61\x02\x95\xec\xf9\xf1\x8f\x5d\xbb\x3a\x0a\x51\xdb\xc8\x5f\x38\xc6\xb0\x4c\x8e\xc8\xb8\x82\x82\x45\xeb\xe2\xb2\xd2\xc6\xdc\xd8\x14\xdc\x76\x9d\xa1\x5b\xc6\x5e\x75\xc9\x0c\x9d\x4e\xe3\x96\x18\xac\x6e\x38\xec\x9a\x40\xaf\x64\x31\x03\xba\x71\x3d\x0b\xa9\xeb\xa3\xeb\x5e\x44\xc0\xe5\xd0\xb9\x87\xe0\x16\xaf\xcb\x22\x66\x07\x7c\x24\xf5\x17\x99\x70\x22\x62\xad\x0f\x5f\x76\x7e\xda\xfa\xfc\xfb\xdb\x8f\x9f\x77\x36\xf7\x76\x9f\x97\x19\x5e\x61\x24\x8d\xbb\xf0\x2e\x88\x6c\xdf\x59\xfd\x5d\x47\x79\x93\xdc\xd8\xad\x63\xe9\xa3\xee\x0b\xd2\x57\x98\xb5\x5e\x7f\xf9\xfc\x79\xeb\xc3\xeb\x5f\x7f\xdf\xfd\x75\xc7\x31\xef\xe5\x41\x3b\xcd\x1b\xc0\x8e\x4e\x62\xc0\x7e\xda\xdc\xdb\xdb\xfa\xfc\x61\x77\xbf\x7b\xd8\x9a\xd2\xb3\xb7\x29\x1d\x39\xd0\x71\x57\x1b\xcf\x23\x50\x84\xb4\x6f\x06\x99\x51\xce\xad\x38\x10\xf6\x96\xb6\xae\x56\x5b\xcc\x68\x69\xd6\xf6\x57\x52\xcb\xd1\x0f\x7a\x12\x0d\x54\x91\x34\x41\x4b\x70\x33\x0f\xff\xfe\xf9\xe3\x97\x4f\xbf\xef\x6e\x7d\x32\x8f\xde\x6c\xbd\xde\xde\xd9\x7c\x2f\x1f\xda\xdd\x6f\xe5\xb4\x7c\x19\xc0\xe6\x60\xde\xe9\x6c\x3e\x6e\x8f\xf3\x63\x67\x9b\x42\x97\xea\xc7\xb8\xae\x7f\x95\x76\x9c\xb1\x33\x1d\x01\x46\x26\x24\x46\xcd\x41\x66\x13\x37\x65\x63\x0c\xd3\x68\xf9\xfe\x6a\x2f\xdb\x52\xad\xf7\x42\xa9\x7e\x12\x80\x54\x40\x85\xf6\x0b\x78\x38\x3a\x6b\xdd\xa9\xd3\xb8\x99\xf2\x1a\xab\x16\x5a\xba\x37\xe8\x12\x24\x3a\xe2\x5e\x49\x01\x47\x2f\x47\x91\x85\x90\x8e\xd3\x19\x84\xa4\xd6\xbe\x60\xae\x66\xeb\x71\x8b\xe2\xd6\xa5\x3c\xe9\xd1\x0b\xe1\x4a\x74\x7e\x7b\xe9\x71\xaa\x34\x2a\x84\xe0\x9b\x78\x00\x8c\x6c\xb4\xca\x55\x65\xd9\x59\xe8\x17\x7a\xf5\xc9\x4e\x7f\xc2\x3e\x83\x8b\xad\xfc\x4a\xfe\xcf\xff\xfe\xff\xfc\xff\xf3\xbf\xff\x7f\x42\x8f\xc0\x69\x8d\xa2\x43\x74\x1a\x90\x20\x1c\x87\xd9\x4a\x41\x3c\x6c\x6f\xfc\x5b\x57\xb3\x4b\x80\x7f\x17\x55\xfb\x04\xf6\xfa\x52\x7d\xfa\xe1\xc7\x67\xdf\x50\xd5\xde\x8a\xe1\xbe\x15\x74\xb4\xe8\xb6\xe2\x9d\xd0\xc8\xcb\xe9\xc0\x6f\x24\x53\x18\x1e\xb2\x54\x53\x49\x32\xbd\xb8\xbe\x3c\x3f\x17\x9d\xb9\x90\x2d\x54\xa8\xd5\x1f\x2c\x5d\x57\x02\xcb\x55\xb4\x14\xd8\x5c\x55\x36\x86\x48\xc3\xa6\x0b\xb2\x76\xd3\xa9\xfe\xf8\xfb\xe9\xbf\x48\x17\xd9\x30\xbf\xa6\xf2\x9b\x23\x5f\xd9\x72\xaf\xd4\xd4\x1f\xaf\x50\x22\x64\xc6\xc1\xba\xe7\xd2\xb1\x12\xe6\x93\x55\xe1\xe5\x28\x5b\x0a\xb0\xa9\xb0\xfc\xe1\xd9\xd5\x4e\x04\x57\x68\xbe\x45\xfd\x4f\x70\xe5\x8a\xaa\xa2\x2c\x6a\xf4\xc4\x8d\x8d\x1f\x1e\xb7\x36\x36\x36\x56\x50\xc1\x56\x18\x8c\x0d\x7f\x35\x70\xd7\x19\x0c\x80\x79\xab\x83\xa1\xb1\xec\x78\xd7\x89\xc8\x72\xef\x9e\x2d\x00\xaf\xd4\x0f\xed\xc2\xb7\xa3\x1d\x22\xc4\xa2\x36\x78\x63\xad\x4a\x2e\xb2\x25\x5a\x95\x5a\x1b\xe5\x5f\x4e\xab\xd2\x88\xe4\xb5\xaa\xce\xea\x5a\x95\x2b\xe9\xcd\x9f\xd3\x39\xa3\x3c\x09\x9a\x59\xd5\x49\x9f\x78\x2d\xcf\xa2\x76\x29\x7e\x72\x31\xf7\xc9\x38\x4d\xe6\xb3\x5d\x36\xf3\xd5\xf2\x0b\xdf\x8b\x5a\xb5\x3a\x9e\x15\x9b\x76\x26\xc1\xb8\x87\xa9\xf2\x99\xf6\x74\xf0\xf0\x72\xb1\x40\x2f\xe4\x5a\xfa\xf6\x95\xfe\xf2\x82\x74\x44\x1f\x14\xa1\xc9\x0e\xcd\x26\x2d\x3a\xe4\x0a\x8e\x3a\x0c\x8b\xe7\xd3\xdd\x2c\x35\xf5\xd6\x74\x18\x44\x22\xbb\xa6\x6f\x61\x9b\x17\x33\x9a\x66\x2a\xd3\xae\x0a\xed\x49\xf9\xd6\x19\x86\x04\x17\x1a\xb9\xb2\xeb\x8a\x7e\x61\x13\xfa\xa8\xd4\x63\x9e\x3a\x25\xb5\x33\x95\xa1\x8b\x73\x5f\x22\xd4\x82\x9f\xf5\x76\x7d\xff\x20\x38\x68\x1d\xae\x35\x58\xbd\xf9\xaa\x51\x3f\x08\xd6\x1a\x6d\x39\x61\xf4\xc1\x0d\x79\xf8\x10\x6b\xef\xaf\x1f\xc2\x1e\xbc\xe9\x99\x47\x1b\x87\xe4\xa5\xab\x06\xae\x11\x2b\x4b\xac\xa6\x4f\xa7\xf4\x62\x6d\x8e\x02\x88\x9b\x9a\xb9\x6e\x97\x8d\x0d\xfd\x52\x1d\x4c\xc1\xa0\x5a\xa5\xec\xee\x2a\x94\xde\xb3\x98\xf4\x35\x8d\xf8\x2c\x0a\xb3\xba\xc5\x6e\x8d\xfd\xee\xa1\x60\x03\xcf\x6b\xa8\xcc\x9f\x7a\xd6\x99\xf0\x8d\x4e\xff\x30\x26\xaf\x54\x58\xa5\x37\x18\x0b\xbe\x62\x7b\x05\xac\x33\x0d\xe3\x3a\x7e\xa1\x67\x75\xa5\xab\x4e\xc3\x58\x6c\xb2\x7c\xbb\x37\x0d\xcd\xfd\x6a\x0f\xd6\xc8\x6f\xc2\x38\x3d\x62\xd1\x42\xea\xdc\x72\x7d\x86\xc0\x7f\xbb\x3a\x1a\xed\x24\x54\xd1\xba\x67\x29\x1b\x85\x98\xac\x36\x39\x22\x47\x51\x02\x21\x85\x9a\xb3\x24\x8c\x33\x42\xd3\x30\x9b\x4c\x59\x16\x8e\x74\xdc\xd7\x30\xe6\xb3\x30\x85\xfb\x31\x3d\xf5\x4c\xd9\x4f\x56\x8a\x8a\x6d\xc2\x0f\xb6\x75\x74\xed\xf6\xdf\xe1\x46\xf1\xef\x38\x17\x79\x5b\x50\xa2\x0d\xf8\xdf\x73\xb8\x68\x0d\x69\x04\x6f\xea\x6b\x72\xae\xb5\xb2\x44\x46\x81\x84\x1c\xcb\xcc\x23\x6b\xae\x04\x68\x94\x95\x68\xe6\xe4\x51\x81\x73\x04\xdb\x80\x8b\x82\x9c\xd1\x25\xcc\x63\x5c\x9e\x4e\x27\x09\x26\x51\x94\x95\xf7\x3b\xf2\x6c\xca\x82\xa6\xdf\x29\x96\xb3\x1a\x0d\x7d\x32\x4b\x20\x1b\xbf\x91\x9f\x11\x08\x37\xd2\xd7\xe3\x1d\x8d\x05\xae\xa6\x40\xfe\x3d\xbc\x7e\x6e\x76\xfa\x80\x94\x64\x6b\xf2\xb2\x4f\xea\x12\xe2\x1a\xd6\xb4\x38\x12\xdb\x76\xca\x37\x65\xfb\xd6\x55\x7c\x52\x0f\x31\x61\x6e\x48\x5e\x88\x2a\xcf\x49\xb8\xb6\x66\xab\x30\x70\x50\x2b\x60\x35\x49\xd8\x20\xff\xa1\x10\xec\xf7\x49\x47\x48\x8c\x10\xc4\x52\xa7\x90\xb3\xdb\x88\x80\xb5\xbe\x96\xe8\xcf\x4b\x8e\xd3\xf2\x65\x11\x61\x79\x2a\x1c\xe6\x93\x76\x22\x21\x34\xde\x88\x30\x79\xe1\x74\x33\xd7\x05\xe8\x40\x8e\x0c\xd0\x93\xe8\xea\xae\x5c\xd5\x91\xcb\x32\x99\x57\xd5\x09\x33\x99\xa5\x9a\xad\xf9\x48\xac\x0d\x68\xaa\xc0\xbb\x78\x5a\xc8\x28\x8c\x5f\x94\x1a\x95\x2c\x4e\x5c\xeb\x13\xaf\xe3\x15\xec\x42\x8e\x54\x7a\xf8\xd0\x95\x52\xa2\xb7\xb5\x4e\xad\x51\xc0\xde\x2c\xbb\xd6\xac\x93\x3e\x17\xf5\x8e\x5f\xb2\xea\xdb\x2b\x40\xa1\xdd\x97\x48\x5e\xbd\xc8\x5a\x4b\x49\x71\xad\xc0\xb9\xff\x36\x3c\xcb\x8b\xda\xe7\xf9\xd5\x07\x82\xb5\xbe\x15\xb2\xad\x6e\x83\x69\x94\x2c\x28\x5a\x75\xb2\x86\xd7\x51\x00\xf4\xda\x8b\x8e\x47\x62\xa9\xc6\xd4\xe7\x56\xa9\x57\x7a\x4e\xc6\x6c\xfc\x29\x65\xa4\xa7\x1f\xcc\x12\xfe\x29\x65\x39\x2d\xc9\x46\x2a\xf7\xaa\x0a\xea\xee\xfc\xc8\x85\xba\x3b\x3f\x6a\x58\xca\x25\x22\xf6\xcf\x24\x8c\xeb\x9e\xd7\x70\x1d\x84\x66\x34\x30\x0a\x95\x8f\x56\x08\xee\x93\x2c\x0d\xa7\x46\x91\x8d\x19\x04\xd5\xf4\x2c\x35\x43\x68\x3d\x8a\x26\xf8\x5a\x28\x03\xcf\x95\x8c\x26\x7d\xd2\x8c\xe7\xd3\xe7\x32\xf0\x05\x3e\x51\x22\x54\x3c\x95\x1c\x1b\xcf\xa7\x86\x59\xb1\xf1\x86\x2a\xdd\xb1\x8a\x8b\x56\x01\x27\xab\x01\x51\x57\x72\x97\x05\xa6\xa9\xc0\x58\x04\x10\x08\x4a\x50\x97\xf7\x6c\xef\x28\x9a\xb1\xbf\xb3\xcc\xc4\x29\xe1\x42\xa8\x92\xe4\xe8\x88\xb3\xcc\x26\x02\x3e\x21\x7d\xf5\xe5\xe2\x02\xb5\x98\xbc\xf6\x2e\x00\xda\xaa\x07\xde\xd7\xeb\x43\x43\xfb\xde\x98\x65\x2a\x42\xdd\x61\xdd\x52\xad\x24\x50\xc1\xf0\x17\x17\xb2\xce\x4b\xd2\xc4\xc7\x4a\x63\xc7\xc7\x6b\x0a\x05\x53\x5b\xb6\xa1\xc4\x91\x42\x55\x28\x7d\xeb\x0d\x8d\x41\x77\xfd\xb9\xbd\x2d\x30\xc3\x2e\x6f\xad\x62\xcf\xa1\xc7\x46\x21\x77\x08\xb5\x9b\xa5\x2e\xad\x26\x49\x9a\xbd\x4d\xd2\x69\xb9\x7f\xb1\xa8\xa2\x77\x05\xd7\xa3\x89\x28\x85\x71\x50\x74\xac\x88\xba\x6e\x8d\xbc\x22\x75\x6f\xf7\xdd\xc7\xcf\x7b\xaa\x5e\x83\xf4\xf0\xd3\xcd\x9d\x26\x9b\xde\x1f\xb3\xec\x70\x1f\x03\x60\x95\xf4\x2c\x0b\xa7\xec\xb7\x24\x56\x6c\x60\x06\x50\x20\xf1\xaf\x24\x16\x98\x36\xbb\xe4\x11\xa0\x0b\xfb\xcc\x70\xca\xc4\xf3\x8f\x40\xe7\xba\x71\x21\xa5\x41\xc0\x82\xdf\xb0\x46\x1d\x6a\xbe\x04\xb9\xf1\x8a\xd4\xd6\x6a\xa4\x47\x6a\xb5\xe7\x28\x25\x74\xb9\xb5\xbe\x35\x0e\x42\x9b\xd9\xc7\x6a\xa4\x43\x5e\x11\xef\x28\x4a\x92\x14\x52\xc8\x8f\x58\x18\x79\x87\x08\xb3\x4d\x9e\x76\x1a\x3e\x59\x6f\x90\xb5\xc2\xee\xca\x05\x06\x5b\x10\xa8\xf3\x1f\xaa\x8e\xe3\x32\xa8\xf1\x70\x09\x32\x66\xd9\xdb\x30\xe5\xd9\xde\x64\x9e\xf2\x80\x2e\x3e\x1e\xfd\xca\x68\x5a\x5f\x30\x9a\x5a\xbe\x6e\x1d\xd2\xc7\x8b\xce\x42\x53\xfc\x2f\x1a\xcf\x69\xba\xd0\x63\x07\xb5\x7e\x61\xec\xf8\x63\x0c\xa0\x40\xeb\x66\xa7\xe4\x0d\xcd\x18\x00\xf2\x49\xc7\x27\x5d\xdc\xb7\xbf\xa1\x3a\x9b\x64\xbb\x4d\x1e\xdb\x70\x15\x0a\xa4\xbe\xd6\x95\xf1\x03\xe0\x84\x40\xac\xe3\x5d\x00\xfb\xa4\xa1\x2a\x76\xbb\x76\xcd\x47\x31\x3b\xcb\x1e\xb9\x00\x8a\xb5\xbb\xeb\x0d\x9b\x61\x8a\x28\xd6\xeb\x85\xae\xbc\xe8\x93\xc7\x62\x4c\x9f\x90\x9e\xa8\x2f\xc4\x4d\xae\x48\xa3\x40\x4f\x85\xc6\xde\x24\xe4\xa2\x20\x70\x99\x60\xbc\x9c\xf3\xa2\x46\x40\xbd\x17\xf4\x79\x3b\x8f\x22\x18\x81\x06\x46\x8f\x51\xcf\x77\x92\x38\x9b\x98\xd4\xa7\x55\xb4\x93\xaf\xed\x9a\xd0\x84\xd0\x7e\xeb\x8f\x01\x7d\xfb\xcd\xa2\xde\x68\xe4\x3a\x70\xca\xd8\xb1\x9c\x1d\xdc\x68\x11\xcb\x24\x9f\x0a\xe2\xa4\xb8\x88\xf4\xab\xb8\x4a\x4d\x2a\xd3\x49\x3b\x97\x6b\x36\x09\xb9\x05\xa0\x94\x8c\xc6\xbc\x06\x9c\x17\x1e\x1d\x89\xbd\x81\xa9\xd9\x24\x6b\x06\x11\x0b\xb6\xbc\x1a\xdf\x27\x5d\xb2\x46\xac\x9d\x04\x40\x68\x93\xa7\xad\xce\xe3\x1f\xd9\x8f\x8d\xe7\x82\xb0\xf2\x07\x99\x72\x32\x63\x29\x10\x24\x9f\x9d\x54\xcf\x3c\x84\x8b\xf2\x14\xd9\x3a\x27\x70\xe8\x74\x36\xb5\x84\x4d\x4e\x44\x2a\x8f\x42\x49\x97\x77\xc9\x3c\xe5\xf5\x86\xd0\x7e\xd6\xc9\x2b\x6d\x63\xd9\xdc\xf9\xb4\xb3\xbb\xdf\x39\xd4\x36\x1b\xf5\xa8\x7b\x68\x0c\x29\x9b\x7b\x5b\xca\xd0\x44\xfa\x00\x7c\xb1\x58\x2c\x7a\xf6\xa2\xe7\x29\xba\x7b\x3e\x79\x2c\x29\xbf\xa4\xc8\x3a\x4c\x0a\x70\x9a\x94\x94\xac\x2e\xdb\x85\x22\x3b\x3b\x3b\x3b\xbd\xdc\xea\xe1\x01\xe7\x7a\x08\xa2\xfa\xbd\xd3\x90\x2a\x95\x2f\xb2\xae\x1a\x12\x65\xca\x8b\x74\x4d\x91\x20\x70\x8b\xbc\x41\x13\xec\xba\x82\x50\xfe\x5a\xd5\x7e\xf7\xce\x7d\x0d\x63\x63\x57\xaf\x78\xaf\xea\x4f\x26\x15\xf5\x7d\x58\xa9\x25\x90\x8a\x42\x5d\xbb\xd0\x74\x9a\xeb\x6a\x18\xcf\x33\xe6\xe0\x52\x59\x42\x61\xc3\xb9\x5b\x62\x17\x33\x6e\xdb\x30\x2a\x4b\x68\x92\xb7\xdb\x52\x8f\xdb\xde\xfd\x48\x7e\x7c\xda\xe9\x42\x52\x85\x30\x65\xdc\x72\xe4\x51\x79\x3c\xd9\x91\xd0\xce\x65\x4c\x94\xd6\x80\x24\x29\x19\xf8\x03\x03\x48\x07\x57\x81\x98\xcd\xca\x70\x21\xfe\x49\x62\x32\x87\xec\x71\x03\xce\xf9\x80\x70\x48\x06\x76\xaa\x4f\xfb\xa2\x05\x09\x92\xd8\xcb\x88\x4c\xd9\x25\x0a\x8c\x23\x26\x1a\xc8\x4e\x13\x54\x07\x0d\x3e\xf7\xa0\xf3\x3c\x4f\x1f\x93\x74\xdc\xf3\xc9\x06\x74\x70\x6b\x6b\x6b\xab\xc0\x9c\x6f\xe8\x42\xb2\x6e\xd5\x5b\x77\x86\xd0\x9e\x35\xe3\xe5\xb3\xdf\x7a\x39\xb5\x03\x9f\x9f\x9e\xf6\x6c\x61\xab\xc7\xc1\x7d\xdc\x6d\xdc\xbb\x7c\x5e\x9c\xe2\xbf\xef\x7e\x7a\xbf\xbd\x47\xfa\xa4\x5d\xaf\xbf\xea\xed\xff\x63\xb1\x13\xbc\x9b\x4c\x39\xfd\x6d\xeb\xd4\x3b\x5c\x6b\x5c\xd4\x5f\xf5\x3c\x78\xe1\x1d\x5e\x78\x5e\xe3\x91\x07\x8f\xb6\xd6\x2e\x16\x6b\x17\x3b\x6b\x17\xc1\xda\xc5\xbb\xb5\x8b\xc9\xda\xc5\x74\xed\x82\xaf\x5d\xd0\x8b\xdf\x2e\x4e\xd7\x1a\x8d\x7a\xeb\x51\xa3\x8d\x68\x48\xd3\xf5\xee\xde\xe7\xed\x0f\x7f\x17\xed\xfc\xe3\xa0\xf9\xea\x20\x58\x7b\xd0\x7e\x7e\xd5\xb1\xb7\x20\xd2\xca\x87\xde\x44\x1f\x7b\x0f\x44\xbd\x81\x73\x33\x65\x48\x39\x0b\x54\xf4\x18\x99\xc0\x83\x05\x64\x80\x52\xd0\x8a\xcb\xa2\x9e\xa8\x8a\x92\xb5\x20\x97\x22\x80\x90\x71\x1c\x21\xac\xaa\x28\xa0\xe2\xa0\x98\x80\x1e\x8f\xc8\xc0\x13\x12\xd3\x1b\xf4\xc8\x63\xc9\x45\x29\x9b\xa5\x8c\xeb\xa4\x48\xc9\x11\x11\xba\x82\x4c\x4f\xb8\xf9\x86\x74\x49\xff\x25\xe9\x74\x3a\x5d\x5f\xfc\x5a\xef\x74\x3b\xe2\x81\xf8\x6c\xd8\x40\x05\xc8\xf5\xa5\x20\x7d\xa9\x9f\x91\x7a\xa7\xd3\x7c\xf6\xac\xd1\x32\x6d\xac\x77\x3a\xd8\x8c\xdb\x88\xdb\x84\x68\xa1\x7b\x45\x0b\x00\xb0\xae\xb0\x46\x68\xdd\x67\xcf\xe0\xc7\xb3\x67\x16\x34\x21\xc5\x05\x40\x10\xa9\x24\x8c\x65\xa7\xa5\xda\xd7\x7c\xc3\x46\x90\x24\xcd\xad\x51\x5e\x41\x14\x76\xca\x15\x8a\x59\x3d\xef\x36\x41\x43\xd3\x85\x4b\x40\xe6\x8a\x04\x81\x28\xf3\x86\x82\x0f\xfc\x54\x14\x75\xc0\x6d\x74\xed\xb2\xf9\xa2\x02\x9a\x53\x42\x08\x00\xab\x90\xd0\x39\xfc\xfa\xee\x3c\x0e\xe8\xa2\xb9\x4b\xb3\x79\x1a\xd0\x85\x5b\x3c\x5f\x9a\x88\xe2\xa2\xac\x55\xec\xdd\x3b\x51\x4a\x08\x76\x48\x61\x4d\x17\xce\x58\xaf\x6f\xd8\x45\x73\x25\x49\x3d\x57\x60\x32\xb1\x4b\x6c\xee\xb4\x3f\xed\x54\xd3\xaf\xac\x6c\x9e\x80\xd3\x29\x10\x19\x96\x0b\x51\x6c\x92\xcc\x5d\x5e\x7c\x62\x33\x46\x49\x61\x81\xa2\x53\x86\x73\x51\x08\x17\x0f\x20\x35\x14\xaf\x86\x59\x5a\xbc\x00\xb5\xc5\x39\xf7\x84\x84\xf7\x7c\x8e\x2d\x58\x22\x1c\xee\x66\xc3\x37\xbb\x19\x31\x8f\x6c\x10\x54\xd4\x02\x32\x40\xfa\x38\x96\x9a\x57\xbf\xd9\x73\xbe\xbe\xc6\xc3\x71\xdc\x28\x99\x46\x90\x1d\x42\x6e\x07\xd5\xbe\xbb\xde\xec\xae\x77\x3a\xcd\x35\xf1\xaf\xd5\xd8\xe9\xa9\x00\x29\x78\xa2\x74\x86\x3f\xd9\x68\xb4\xf0\x6d\xa7\x0b\xd7\xa0\x27\x0c\x64\xbe\x09\x6a\x0e\x4a\xac\xd9\xd0\xc8\xd6\x05\x20\xab\x91\x7c\x1b\x40\x36\x0d\xfa\x26\x90\xab\xa5\x29\x8d\x78\x62\xe2\x20\xe5\xa4\xe9\x2c\x65\xf2\xe0\x03\x01\x38\x41\xbb\xc3\xee\x8f\x31\xfa\xd7\x84\xff\xa2\x32\x81\x81\x10\xf8\x97\xae\xec\x9d\xb2\x20\x9c\x03\x87\xb9\x61\xdd\x40\xba\x90\xc0\x27\x0b\x32\xe9\x4d\xa7\x3d\xce\x09\xf5\x06\x18\x12\x2b\xfe\xfd\xcb\xae\xe5\xd6\x2e\xfe\x50\x6e\xee\xb2\x19\xd9\xf0\x51\x58\x76\xd7\x7b\x9d\x27\xbd\xce\x8f\xe4\xd3\x8e\xcd\x77\x93\x24\xcd\x4a\x5b\x6b\x07\xed\x05\xb6\x95\x6b\x48\x5d\x26\xc0\x26\x9e\xb5\x37\xda\x0a\xba\x0b\xfa\x68\x1e\x45\xa0\x4c\x96\x40\x17\x32\xc6\x07\x3d\x19\xba\x54\x06\xdf\xed\xc9\xdb\x34\x04\x99\xb1\xcb\x66\x19\xe6\xa6\x94\xfd\xb2\x1a\x8c\x92\x78\x5c\xd5\xe0\xd2\xa6\x0c\xb5\x2a\x61\xe3\xb0\x2c\x81\xbe\x02\xf0\x12\xb0\x40\xfe\x4a\xa8\x30\x04\x25\x83\xec\x90\xbe\x80\xe4\x5e\x38\x2d\x05\xb7\x8c\x6d\x24\xc4\x25\x3c\xb2\x0c\xea\x95\x20\x25\xbc\xea\x69\x25\x03\xf7\x91\x28\xcc\x20\x24\x3c\x86\xee\x82\xa0\x6e\x9c\xd9\xc9\x18\x18\x1f\xd1\x19\xc6\xa6\xe3\xf3\x14\x36\xaf\x3a\xe8\x84\x54\x80\xff\x7b\x0e\x49\x1b\xa1\x79\xd9\x62\x6d\x42\x3c\x19\xf4\x6c\x9a\xa4\x71\x18\x8f\xbd\xda\xa0\x01\x9e\x70\x10\xbf\x55\x00\xc7\x44\x28\x42\xe9\xb2\xc0\xf8\xb2\x41\x12\x66\xa4\x49\xc2\x16\x6b\xf9\x98\xef\xd1\x69\x0a\xd2\x57\x71\xa1\x97\xc5\x2a\x29\x05\x76\x1e\x1a\x4e\x3c\x6f\x14\x25\xa3\x63\x68\x32\xe7\x83\x58\x17\x63\x7f\xe1\x7a\x15\x5e\x82\xe6\x08\x26\x11\xe3\x86\x48\x58\x08\xa9\xe6\x28\xc7\x17\x78\x11\xce\x27\x53\x4b\x85\x27\x75\x49\x51\x1d\xaa\x54\x1d\xf3\x27\x29\x64\x2b\x4b\xe6\xdc\xec\x59\x94\x05\x44\x0d\x83\x72\xdb\x40\xcc\x85\x0a\xd8\xdc\xd9\x69\x06\xc1\xde\xbb\x77\xc8\x38\x62\xf1\xf9\x0d\x33\xb1\x64\x2a\xe4\x26\xb0\x06\x4b\x55\x0a\x57\x8e\x97\xa8\xf3\x95\x7f\xf3\xad\x47\x02\x19\xf1\x6b\x67\x07\x5e\x4f\xa7\x9c\xff\x26\x86\xe2\x88\xc4\x89\x59\x57\x42\xdd\x82\x3a\x5f\x56\x51\xeb\x94\x63\x67\x3c\x9b\x67\xbe\x5e\x8c\xd0\x31\x52\xdf\xee\x46\x66\x91\x35\x80\x1f\x35\xe8\xf2\xeb\x4c\x92\xca\x6f\x8d\xbb\x64\x3a\x8f\x04\x17\x71\xc6\xec\xec\xb7\x0a\x53\xeb\xe0\x5b\xa5\x9e\x18\x18\x19\x31\xb0\x6f\x5a\x15\x1b\xd3\xbd\x54\x56\xd5\x7c\x28\x5c\xe3\x71\xd7\x22\x9f\xc3\xf1\x24\x23\x71\x72\xea\x63\x24\xa8\x81\xf7\x65\xef\xb5\x07\x2d\x38\xc9\x9a\x05\x0a\x05\xd4\xf2\x8b\xb5\x9d\x44\x4f\x7b\x78\x1a\x44\x97\xdc\x87\xd2\xac\x65\x3b\xdf\x1e\xb9\x5e\xb8\x29\x1b\x25\xe3\x18\x72\xfa\x52\x0e\x0c\xd6\x46\xfe\xbc\x8d\xc8\x71\xe0\x78\x18\x8f\x9b\x71\x12\x37\x87\x61\x1c\x40\xb8\xa6\xf3\xf3\xee\xfa\x8f\x3f\x6e\xac\x6f\x3c\x5d\xdf\xe8\x74\x9e\x92\x0b\x68\xb5\xa7\x56\x51\xed\x0b\xd8\xb3\xad\xc6\xca\x71\x70\xb5\xaa\x4e\x70\xac\x6b\x21\x61\xf1\xbc\x9a\x43\xe4\xb7\x72\x9c\x96\xa3\x74\x05\xa0\x9b\x63\xb8\xb3\xd3\x0e\xc4\x1a\xb3\x58\x90\xff\x84\xa5\x9e\x2e\x47\xcf\x73\xc0\x78\x2b\xc1\xb9\x31\x76\x35\x0b\xaa\x47\x33\x0f\x01\xd7\x6e\x82\xe0\x55\xa0\x0c\x8e\xdf\xc2\x41\x74\xb9\xcf\x63\xa5\xc7\x5f\x6d\x29\x7f\xd6\x5c\xff\x3f\xe7\x54\x44\x05\xe6\x6a\x7f\x1c\x65\x64\xfd\x20\x90\x1a\xe0\x41\x70\xde\xf5\xd7\x2f\x7b\x07\xc1\xb9\xfa\x97\xd4\x37\x77\x2e\x3e\xed\x68\x97\xa7\x9b\xa1\x54\xce\x9f\x2b\x61\x28\x10\x3b\x68\x8a\xff\xd6\x0f\x02\x62\x61\xa6\xf0\x3b\x68\x5e\x1c\xac\x35\x5e\x1d\x04\xe7\x8f\x2f\x57\xc5\xf2\x1a\x6c\xba\x12\x92\xdd\xce\x41\x7b\xfd\x20\x38\x00\x6c\xc9\x7f\xba\x84\xbc\x26\x05\x2b\x70\x3b\x28\x67\xd1\x83\xda\x0d\x10\xa4\xd9\x55\x18\xae\xe0\x12\x6a\x42\xf6\x5f\xe9\x0e\x6a\x8a\xda\xce\xa0\xca\x6f\xef\xf3\xef\xdb\xbb\x1f\x85\xc6\xf1\xfb\xee\xde\x67\xb0\xa0\xd5\x61\x30\x1b\xcd\x57\xf5\x83\xe0\x20\xd0\x9f\xf5\x57\xbd\x3d\xfd\xad\xf7\xaa\xec\xeb\x41\x0b\x1c\xf4\x1a\xaf\xc4\xff\xea\xbf\x5d\xd4\xf7\xd7\x9a\x87\x0d\x7c\xad\x8a\x89\x57\x0f\xda\xcf\xcb\x9d\x30\xdb\x6d\xd2\x55\xdf\xd7\xe5\xe7\x86\x7e\xfb\xd8\x14\x7c\x62\xbe\x3e\x35\x5f\x7f\x30\x5f\x7f\x24\xe4\x19\x7c\xe9\x76\xf0\x41\xb7\x6b\x67\x02\xf9\x27\x4f\x62\xf4\xb8\xda\x4b\xe0\xe4\x49\x2a\x77\x79\x7f\xc4\xbc\xa7\x61\x5f\x2e\xb4\xd2\x3d\xd1\x21\x5e\x2e\x5d\x08\x68\x89\x7d\x73\x7c\xd6\xb1\x0f\x91\x48\xf6\x2f\xb0\x79\x38\xfe\x54\xe2\xe9\x4e\x18\x93\xfc\x53\x30\xe7\x82\x9d\x55\x05\x1e\xd8\xff\xf1\x90\xbc\xc2\xf3\x18\xce\xb2\x2f\x7b\xaf\xd5\x19\x07\xe9\xe9\xa7\xea\x91\x03\x3f\x9c\x5e\x05\x09\x6c\xfb\x16\x18\xf8\xad\x8f\xb3\x34\x25\xf6\x9f\x1d\xda\x72\x52\x77\x27\x8c\x33\x5d\x80\xac\xc9\x36\xba\x1d\x3b\xe8\x20\x76\xb2\xaa\x68\xf7\xb0\x10\x4d\xc0\xf4\xbf\x35\xa2\x51\x24\x4f\xa8\x4c\xf5\xee\x61\xc3\xfe\xb9\x7e\xd8\x20\x4d\xd2\xb5\x1f\x6d\x1c\x9a\x18\x6a\xe0\xac\xea\x34\xff\x18\xdc\xdd\x3a\xa2\x16\xf6\xc3\x2e\x3a\x75\x8a\x3e\xb1\x8b\xee\x84\xb1\x5d\x92\x3b\x25\x9f\xca\x92\x0e\x2c\xae\xbc\x29\xf1\x58\xcf\xf2\xfa\xf1\x3a\x2d\x8f\xac\x29\xe2\xfe\x20\x2b\x37\xc8\x23\xd2\xed\x74\x0c\x14\x33\x80\x36\x29\x26\x3e\x99\xfa\x84\xfb\x64\xca\xf3\x61\x8a\x44\x81\x92\x48\x3f\xc8\xc5\xd2\x49\xe8\x0a\x3f\x09\x5f\x6b\xa8\xf6\xf4\xc8\xf2\x3e\xc1\xb6\x57\xb0\x79\x76\x14\xfb\x6a\x26\x29\x6f\x37\xb1\xe6\xaa\x3b\x7b\xe0\x67\x68\x6d\xde\x9f\xbb\x85\x94\x87\xfa\x9b\xcd\xbd\xad\xbd\xed\x1d\x7d\xae\xb0\x8f\x25\x80\x4a\xf8\xd5\x4c\x54\x9d\x72\x1b\x0e\x62\x0d\x93\xca\xf9\xe8\x9c\x18\xb4\x32\xc6\x33\x79\x4a\xfc\x0a\x06\x0f\xbf\xf7\x8a\x02\x42\x1e\xeb\x92\xfc\x5d\x45\x79\xc2\x5a\xde\x98\x73\x76\x5e\xac\x7d\x3f\xe4\xe6\x6d\x31\x46\x8e\x35\x74\x8e\x3f\x1d\x74\xd8\x14\x57\x92\xa9\x78\xf0\xd2\x62\x67\x6c\xa4\xca\x17\xe2\xdd\xd8\xf3\x57\x0d\xdd\x28\x89\x47\x34\xab\xc3\x4f\x39\x70\x3e\xe9\x5a\x93\x57\x0f\x8d\xf4\x2b\x4b\x66\xf5\x7c\x68\x98\x1c\x54\xf4\x3d\xcb\x21\x61\x01\x8a\xe7\x51\x54\xea\x18\x09\xde\x55\x6a\x6f\xf4\xf0\xa1\xd9\x27\x41\x78\x16\xb1\xcb\x5a\x4e\x6f\xe5\x17\x53\x37\x73\x5f\x09\x35\x79\xf2\xa8\x8b\xa9\xdf\x0d\xb2\x56\xe9\x52\xe3\x04\xcc\x52\x71\x59\x25\xa1\xdc\x68\xfb\x96\x4b\x60\x9c\x1b\x17\xcb\xe5\x07\xa6\xb3\x74\x52\x3c\x8a\xc9\x2b\x72\xa4\xa6\x5d\x15\xd7\x37\x8a\x8b\x66\x0f\x4d\x31\x2d\x7d\x1b\xb4\xfe\x0f\xef\xc2\x7b\xd0\x68\x8f\x7d\x70\x19\xd7\xcf\x3d\x4f\x3c\xaa\x79\x35\x2b\x7c\x92\x2d\x10\x64\xea\x4b\xe9\x17\x70\xc5\xd1\x99\x98\x1c\xd7\x38\x3a\xdb\x84\x2c\x81\x64\x91\xcc\x31\x48\x7c\x7c\xc2\xd2\x8c\x50\x2b\xcf\xbb\x89\x7c\x9f\x25\xe4\xbf\x76\x3f\x7e\x50\xcb\xac\xb6\x4a\x41\x5c\x76\x95\xe2\x8b\x93\x69\xc2\xb3\x68\x21\xb6\xc6\x47\x73\x0c\xa5\x12\xb0\xe1\x7c\x3c\x86\x2d\x39\x04\x64\xc1\xb3\x59\xb8\x3c\x99\xcc\x87\x11\x9c\xcb\x46\x0b\x02\xb7\xd9\xe6\xec\xf2\x92\x40\x36\x5b\x8d\x23\x6c\xbc\x51\x09\x84\x08\x59\xf3\x2c\x99\xd2\x2c\x1c\x41\x00\x78\x89\x32\x1a\x2e\x04\x7a\x79\x3b\xd1\xa3\x4b\xd5\x83\xcd\x78\x51\xd2\xaf\x7a\x18\x8f\xa2\x39\x00\x87\xc0\x5b\xf2\xfa\xa5\x8a\xf0\x06\xdb\x15\xde\xa8\x88\xe9\xa2\x23\xb1\xf0\x19\x1d\x09\x10\x7b\xe6\x96\x6a\x72\x04\x4f\xf1\x0e\xeb\x9c\x33\x70\x05\x11\xfb\x73\x79\x20\xe0\x06\x60\x59\xaf\x30\x23\x14\x29\xfe\xb5\xd6\x80\x59\x8a\x31\xaa\x65\xeb\x4d\x89\x7a\xed\xe5\xf9\x39\x39\xf7\x20\x10\x6a\xcf\x83\x91\xf0\x2e\xc9\x05\x30\x14\xa4\x33\x9c\xa5\xac\x08\x04\x6f\xf3\xaf\x02\xa3\xf7\x38\x07\xe5\x56\xf7\x8b\xa2\x85\xf0\x68\xa1\x93\x30\xaa\x44\x3a\xd7\xbc\x5a\x98\xa3\x49\xe1\xa6\x98\xdc\x34\x1c\x9c\x1f\xc4\x84\xd4\x20\xec\x78\x8f\xbc\xaa\x41\x4f\x6b\x07\xf1\x55\xdb\x2c\x8c\x59\x60\x53\x6c\x79\x0b\x57\xb5\x71\xe5\x66\xc4\x0d\xf2\x6a\xf2\x80\x55\x84\x78\x55\xa6\x51\x89\x5c\x55\x50\x01\xf5\xda\x26\xa8\x9a\x00\x7d\xb2\x5e\xa2\xd3\x64\xc9\x7f\xf1\x12\xf8\x2b\x4b\x35\x1d\xf8\xb1\x54\xb4\x15\xe4\xda\x6b\x14\x0a\x3a\x6b\x54\x96\x18\x08\x38\xcf\x38\x63\xfa\x26\xb3\x0d\xbc\x0d\x7e\x12\xb9\x2c\x67\x56\x36\x75\xfd\x46\xc8\xe8\x2b\x90\xd6\xbe\xa8\x37\x46\x5a\x43\x28\x22\x6d\x03\x47\xa4\x73\x69\xd2\x2c\xa4\xf5\x9b\xc6\x95\x9e\x17\x32\x0f\xdc\xca\x2b\xc8\x6b\x88\xcc\xea\x24\x42\x23\x49\xaa\xcf\x27\x4c\x52\x21\x30\xc0\x52\xcb\x26\x6d\xa4\xa4\xf2\xa4\xc0\x44\x34\xea\x97\x80\x0e\xd9\x2c\xe9\x31\x8b\xf1\xc2\xbe\x34\xe4\xc3\x7a\xc0\xc6\x61\x1c\x5b\x66\x55\x16\x6b\x1f\x0d\x3b\xd1\x9a\x6f\x59\x5f\xd5\x05\x40\xca\x2d\x34\x86\x10\x7b\x4c\x67\xd0\x04\xe1\xcf\xc3\x71\x4c\xea\xb3\x44\xe6\xef\x48\x52\x4c\xdf\x14\x9e\xb0\x06\xe4\xcd\x01\x22\x0d\xc0\x9c\xad\xa3\x27\xa8\x94\x34\x90\xc9\x0a\xec\xeb\x70\xd1\x4b\x00\x77\x96\x28\x9a\x5b\x3e\x9d\x74\x71\xf2\x1c\xe3\x42\x45\x15\x43\x13\xf1\xee\xd2\xfe\x48\x03\x38\xe0\x54\x6a\x35\xd7\xd0\xa0\x08\xd0\x58\x7a\xbe\xeb\x44\x9d\x32\x6b\x4f\x6e\xf8\x5a\x2a\x5e\x84\xec\xb0\x15\x1b\x01\xa4\x02\x27\x8a\x44\x7e\xae\x48\x2e\x7f\x5e\x6e\xc0\x8a\xa3\xd4\x96\x9d\x12\xe3\x3d\x4a\x66\xa1\x31\xcb\x2b\x14\x0c\x95\xd5\x50\x14\xda\x2c\x69\xb4\x82\x29\x64\x73\xaa\x09\xab\x55\xa0\x8e\x82\xab\x8c\xfc\x59\x1a\x4e\xa7\x2c\x90\x97\xf7\xd8\xd9\x88\xb1\x80\xcb\xec\x49\xf2\x12\xc1\xc0\x5d\xbc\xed\xc1\xbc\x24\x9b\x30\x37\xf8\x7c\xd8\x34\x04\xd6\xd9\x63\x92\x23\x35\x1a\xaa\xd9\x24\x25\x11\xe3\xdc\x1c\x11\x40\x2d\x85\xec\x84\x06\xf8\x3a\x9b\xd0\x58\xd7\xd1\x53\x68\x95\x70\x10\x72\x8e\xdf\x7a\x24\x08\x17\xee\x77\x09\x02\xa1\x2e\x28\xf6\xc9\x7e\xd7\x5f\xf7\x37\xfc\xc7\xfe\x13\xff\xa9\xff\x83\xff\xa3\xff\xec\xf0\x79\x69\x95\x08\xb6\xe8\xa2\x4a\x8d\x0e\x47\x01\x3b\x1a\x4f\xc2\x5a\x45\xd1\x24\x1e\x7f\x50\xd7\x80\xd6\x37\x1e\x3f\x79\xbc\xb1\xbe\xf1\x78\xbd\xbc\x70\x3c\x9f\xbe\x87\x09\xd6\x27\x1b\xcb\x5a\xbe\xaa\x90\x6e\xb3\xbc\xe0\xed\x46\xb6\xc0\x36\xce\xa5\x1e\xcb\x2f\x2f\x49\x96\xf4\xca\x43\xcb\xf1\x8c\xcd\xfa\xb5\xae\x1d\x63\x4e\x75\xd9\x09\x4b\x37\x7b\xf9\x11\x8f\x83\x25\xcc\x1e\x39\x3f\xd7\x17\x49\x2f\xd4\x02\xd3\xd3\xe4\x02\xa5\xb0\x04\x25\x39\x4e\xd7\x44\xc9\xa2\x71\x39\x56\x12\x2c\x60\xa5\x58\xc1\x60\x65\x0f\x51\x25\x62\x7a\x84\xae\x8b\x9b\x3b\xb4\x15\xf8\x25\xf1\x58\xc7\xe9\x10\x38\x1a\x1e\xb4\xd0\xcc\x31\x89\x8b\xea\xed\x46\xed\x90\x17\xd1\xa1\x21\x0c\x6f\x59\x96\x0e\x41\x95\xb0\x13\x22\x80\x26\x65\x08\x5a\x5d\xd9\x2a\x54\xa8\xef\xf6\x74\x09\x0c\xb7\x60\x01\x0e\x2e\x8f\x1f\xb4\xbc\x28\x8b\x13\x51\xcd\xa5\x15\xe0\xde\x6b\x59\x52\x06\x6e\x29\x7b\x55\x41\xb4\x45\x4e\x29\xd0\x15\xf8\x01\x60\x97\x6c\x92\x50\x01\xb0\x96\x53\x5c\x8f\x60\x6b\x9b\x42\x42\xd7\x94\x31\x5c\x43\xaf\xda\x37\x39\x1c\x21\x76\x30\x9b\x59\x96\x86\xc3\x79\xc6\xea\x72\xdf\x67\x42\x75\x94\x85\xe9\xc8\xf3\xc5\x4d\x40\x94\xb0\xc6\x4d\xc0\x38\x9c\xe1\x6e\xc6\x20\x1f\x54\xdd\xcb\x0b\x34\x5c\x6b\x0e\x97\x40\x93\x8c\xb1\x0c\x9a\x16\x44\x74\x38\x5a\x06\x49\xf7\x72\x29\x30\x5b\x6a\xb8\x31\xfe\xec\x78\x32\xed\xb6\x50\x70\x52\x70\xf9\xa0\x64\x38\x1f\x83\xe3\x23\x06\x3f\x94\x79\x5d\xe5\xfc\xc7\xec\x8e\x41\xc2\x78\xec\x65\xe8\x9a\xe2\x44\x42\xb4\x20\x16\x82\xd4\x60\x5e\x42\x44\x0c\x32\xb6\x34\x37\x20\x6d\x5f\x0c\x3b\xf3\x0a\xce\x6a\xb7\xd1\xe9\xc6\x1a\xcb\x7c\xe8\x9a\x92\x22\x56\x68\x43\x7b\x70\xa1\x64\x81\xc5\x4a\xe1\x15\x4a\x2d\x05\x59\xc6\x72\xe5\x60\xcb\x4a\x2e\x03\xfd\x15\xdc\x88\xda\xce\x72\x80\xd7\x61\xc8\xf1\x24\xbc\x02\xd8\xf5\x79\x72\xe3\xf1\xba\x0b\xb3\x22\xcc\x51\x9c\x28\x0d\x1b\xf9\x8d\x9e\x85\xd3\xf9\x14\x03\xb8\x25\x8e\x42\x5c\x29\xa1\x96\x33\x51\x35\x07\x75\x3b\x1d\x67\x1e\x5e\xc9\x3f\x4b\x99\xa7\x00\x6d\x15\xd6\xb9\x92\x6f\xf2\x50\xbf\x56\x86\x39\xfa\xf2\xed\xc9\x33\xd4\xaa\x6f\x5d\xaa\x49\xfd\x7b\xf5\x00\x9e\xb6\xf1\xcb\xc9\x70\x5f\x61\xff\x92\x3b\x77\x28\xea\x1a\xbf\xe4\x51\x12\x14\x68\x34\x24\x1f\xf6\xf1\xd3\x8a\x10\xf2\xdc\x3e\x3f\xc2\x24\x48\x58\x45\xe6\x09\x91\xe5\x14\x18\xd9\x3e\xfc\xb4\x62\x6f\xe8\xcb\xb8\xb2\x55\xc4\x07\x53\x58\x6c\xc7\x47\x61\x1c\x66\x56\xca\xbb\x48\xee\x13\x9c\xc2\xa5\x11\x73\x54\xc9\x30\xce\xdc\x62\xf7\x8a\x27\x74\x0a\x45\x55\xb7\xdd\xfe\x40\x3f\x10\x48\x85\x48\x14\x35\xad\x53\x2b\x87\x64\xc4\x18\xfe\xb0\xc9\x97\x7d\xb8\xa1\x8c\xd4\xe2\x51\x38\x62\xf5\x8e\x26\x73\xcf\x79\x0e\x0f\x7d\xf9\x08\x77\xc6\xd5\x87\x58\xb2\x91\x5a\xad\xf4\x90\x4a\xc6\x46\x89\x9f\xdb\xb1\xb0\x04\x59\x65\xc3\x6a\x27\xaf\x84\x0c\xb6\x86\x77\xda\x89\xec\x9d\xee\x1b\x79\xe9\xe2\x54\x20\xa9\x79\x87\xc8\xe8\x54\x0c\x58\xe4\x05\x69\x2e\xab\xdf\x74\x01\x14\xda\xb6\xa2\x85\x84\x26\x22\x12\x21\x31\xe9\x23\x8c\xd2\x01\x6f\xb7\xc9\xbf\x58\x9a\xc0\xda\x5e\x1c\x3e\xd2\x54\x04\xc4\xb8\x9f\xd2\xce\xa0\xc7\xf4\xbe\xa4\x93\x2c\x24\x03\x4a\x29\x14\x6c\x84\xc9\x9a\x8d\x04\x62\x55\xa4\x88\x9b\x26\xca\x1e\x74\x31\x4a\x2b\xc7\x44\x05\xb7\xe3\x9f\x56\x4f\x19\xf0\x51\x94\xe7\x8e\xed\x51\x66\xbe\x26\xc3\x05\xda\xb7\x4c\x2a\x1d\x2b\xad\x7a\x8b\x6c\x83\x7b\x26\xb4\xc7\x02\x42\xa3\xd9\x84\x0e\x99\x3c\x78\x92\x11\x42\xa5\xa9\x0c\x0f\x8d\xe2\xf9\x94\xa5\xf2\x5c\xea\x48\x1b\xe8\x78\x0b\x52\xa8\xf7\x04\x4d\x17\xc9\x5c\x2c\x71\xe1\x88\xe9\x2d\x31\x4d\x19\xac\x7a\x43\x16\xc6\x63\xc2\xc1\x29\x15\xad\x86\x69\xca\x46\x59\x04\x69\x25\x8e\x19\xe1\xf3\x14\x34\xab\x05\xd4\xc0\x84\x0b\xd1\x42\x55\xa3\x27\x68\x7b\xd4\x50\x63\x5c\x4b\x25\x7a\xa5\xd6\xc6\x4b\xa9\xff\xef\xa9\x84\xd6\x62\x27\x20\x10\x70\x8c\x88\x5a\x38\x3e\x6a\x28\xf3\x24\xd4\x6e\xbd\xa8\x17\x5f\x35\x5e\xf6\x2f\xad\xc4\x44\x4e\x46\x73\xb0\x53\x4a\x33\x16\x98\x4a\x25\xf5\xad\xd4\x56\x10\x09\x55\x05\xce\x02\x2d\x12\x5c\xcc\x6d\x1b\xb1\x49\x4c\x5f\x91\x56\xdb\xce\xab\x3d\xe8\x11\xbc\x04\xa9\x79\x04\x2d\x7c\xf2\x2e\x77\x22\x03\xc8\x16\xd2\x6b\xe3\x28\x98\x73\x4a\x65\x7c\x23\x83\x17\x03\x9f\x0c\xfa\xe2\x9f\x97\x03\x92\xcc\x18\xe0\xdd\x32\x2d\x23\x19\x06\x3d\xb2\x19\x93\x4d\xb4\x8f\xd9\xd9\x9e\xca\x5a\xb7\xc8\xa5\x8c\xc8\x56\xbe\x6e\xdb\x1c\x0e\x7f\x75\xb8\x2d\x20\x4d\x7a\x98\xc7\x5f\x8d\x9b\xa0\x28\x35\x99\xf4\x65\xea\x77\x59\x26\x49\xf1\x9b\x15\x5f\x67\xa3\x61\x57\xd5\x2d\x6c\xc8\xed\xe0\x68\x42\xc5\x66\x40\xb0\x53\x72\x54\x09\xb8\x91\xef\x14\x05\x6f\xf2\x8c\xc6\x99\xd5\x35\x0d\x3c\xe4\x62\xf9\x61\xe9\x2c\x65\x19\xb2\xac\x05\x18\xe6\xb7\xe5\xd0\x1d\xc6\x56\xf6\x47\x9e\xeb\x7a\x0d\xe6\x33\x8d\xa0\x56\x6d\xa0\x5b\x50\x3d\x92\xe7\xbb\x92\xcb\xd0\xba\x8f\xc6\xe0\x30\x25\x03\xbb\xf2\x40\x63\xd0\x68\x89\x81\xb3\x46\x04\xaf\x81\x6a\xd8\x09\x48\x15\x98\x78\xb9\xfb\xc9\x6b\x48\xe1\xe6\x40\x9e\xa3\x67\x69\x12\x11\xca\x47\x0c\xcf\xad\xe1\x14\x5c\xff\x42\xfc\x04\x6f\x97\x0e\xab\x4f\x06\x6b\x66\xd0\x9a\x8a\xcc\xe8\xe7\xaf\x89\xe5\xe4\x30\x91\x97\x26\xbc\x35\x6f\xd0\x30\x01\x90\x1d\xcb\xb1\x4e\xfd\x1f\x66\x9c\x45\x47\x65\xcc\x76\x0a\x9b\x43\x81\x9d\x3c\xa1\x90\x5c\x0d\x13\x1e\x99\x5a\x9a\xb0\x8f\xcc\xa4\x31\xc7\x3d\x7a\xae\xcb\xa3\x1c\x64\x23\x23\x01\xc2\x32\xac\x14\x1a\x20\x4c\xb1\x65\x9f\x0c\xd5\xd6\x31\x3b\x4d\xa4\x51\x1f\x26\x83\xbe\x41\x83\xee\xf9\x31\x3b\x73\xe0\xbb\x39\x5a\xcc\xe9\x81\x53\x64\x1a\x72\x2e\x87\x04\xd7\x3d\x20\x57\x98\x39\xc7\xf1\x40\xc9\xbc\xd4\x94\x09\x21\xfb\x97\x24\x65\x27\x2c\xe5\x8c\x7c\x96\x9f\x8e\xac\xd2\x7d\x6c\x95\x9c\x0a\x5c\x92\x5d\x14\x2e\xa3\x64\xb6\x28\x3b\x9c\x58\xc9\x84\x2f\xd7\xc0\x5b\x37\xe1\xbb\x70\xbf\x8b\x09\x5f\x67\xb2\x2f\x7a\xd0\x2c\x4b\x6d\xdf\x5d\xf7\x7c\x42\xc7\xac\xd7\xed\x94\x66\x76\x2f\x4d\x6a\x2f\xaa\x3e\xfb\xf1\x87\xa7\xaa\xea\xb3\xa5\x55\xcb\x53\xd9\x63\xd5\xf5\xee\xb2\xaa\x15\x49\xec\xb1\xea\xc6\x93\x65\x55\xab\xd2\xd7\xcb\x66\x9f\x5d\x56\x1c\x6b\x18\x16\xef\x13\xaf\x49\xc7\xcc\xfb\x86\xc7\x06\x2f\x66\x29\x7b\xb9\x8b\x93\x95\xd8\x2d\x9f\x9f\xeb\x5f\x97\x97\xcf\xf5\x34\x11\x2f\xe4\xf7\xbc\x27\x09\xe4\x85\x6f\x5b\x3f\xf7\xc9\x0b\x4a\x26\x29\x3b\xea\xd7\xc0\x78\x0e\x99\x70\xfb\x35\x0d\xb7\xef\x79\xb5\x97\xf3\x18\x97\xe8\x17\x6d\xfa\x92\x1c\x5a\xb0\x30\x05\xfb\x28\xa2\x9c\xab\x64\xe9\xf9\x3c\xe8\xe9\x4b\x97\x80\x2f\xb2\xc9\xcb\xe5\x4d\x0a\x92\x82\x4f\x8b\xee\x51\x1f\x02\xb9\xd5\x64\x0e\x77\xfa\xb2\x38\x9e\xf5\xab\x41\x36\xcb\x61\xfe\x43\x00\x6c\x40\x2e\xf8\x9b\x20\x0a\x8c\x63\x41\xbd\x2f\xbf\xd4\x30\xc7\xbc\xdc\x26\x8a\x36\x6e\xdc\x04\x70\x57\x49\x03\x9b\x63\x56\x0a\x37\x97\xd2\xbe\x22\xa9\xbd\x9b\xd1\x5e\x4a\xa2\x9e\x6e\xb8\xa7\x9b\xc9\xa3\x6c\x32\xd6\x57\x65\xb5\xcf\x95\x2a\x4f\x6a\x5f\x28\x46\xc7\xa5\x19\xf2\x73\xf9\xf9\x9d\xec\xf7\x95\x87\x2f\x79\xaf\x1c\xb2\x9d\x79\x1c\xaf\x44\xcf\x12\xce\x43\xc1\xb5\x62\x21\xa6\x51\x64\x16\x93\x9f\x94\x3f\x13\x99\xd2\x18\xd4\x7d\x5f\xa8\x33\x78\xa7\x00\xc2\x9b\x3c\xc0\xf7\x03\x5f\xec\xaa\xd2\x90\x9d\x58\x0a\xab\xac\x9a\x26\xf3\x4c\xa8\xd3\xa8\xa6\xc8\x0a\x5a\xd2\x7b\x8d\x81\x0f\x9b\x05\xd1\xb2\xf2\xca\xd3\x0e\x01\x65\x20\x24\xf4\x80\x71\x88\xe4\x0a\x4b\x23\x03\xe3\x90\xec\x99\x94\x1c\xbd\xe2\x3a\xb6\xda\x32\x76\xc5\x2a\x76\x5d\x61\x75\xa5\x48\x28\x48\x84\xca\x49\xe0\x4c\xd4\xe7\x80\x7c\x1d\x05\x83\xca\xc4\x58\x29\x11\xca\xc5\x81\x04\x81\x82\xc0\x57\x20\xaa\x04\xc0\x95\x78\xa9\x99\xa8\x50\x43\x51\xe0\xab\x99\xda\x58\x45\x04\x5c\xbb\x11\x21\x0c\x7c\xd3\x42\x85\x0c\xc8\x8b\x80\xab\x24\x40\x2d\x8f\xd5\x0a\x93\x7c\xb5\x39\x7e\xf5\x14\x77\x71\xcd\x4d\x70\x6b\x7e\xab\xe9\x5d\xe0\x5a\x5c\x5e\x5b\xff\x34\xbd\xb8\x96\x9e\x75\x1d\x25\xcb\x93\x13\xba\xa8\x6f\xf9\x44\xbe\x2a\x66\xf4\x54\xc2\xa5\x4f\x8a\xe2\xc0\xd6\x1a\xf2\x1a\x1a\xd9\x77\x28\x79\x0e\xdd\xed\x11\xa5\x9f\x11\x22\xb5\x16\x62\xeb\x68\xa2\xf7\x63\xd6\x23\xdd\x0e\xc9\xe9\x3d\xba\xbe\x54\xd2\x72\xf5\xa5\xa2\xa6\xeb\x3f\xab\xae\x8f\x9a\x5a\xae\xbe\xd4\xd6\x54\xfd\xf5\x6e\x65\x7d\xa9\xae\xe5\xea\x4b\x95\x4d\xd5\xdf\x78\x52\x59\x5f\xe9\x6c\x6e\x7d\xa9\xb6\xe9\xf6\x9f\xd9\xd9\xbd\xc8\x61\x09\xa1\x71\x07\x61\xa5\xa0\xd6\x8b\x9f\x99\xc3\x39\x2d\xba\x30\x44\x72\x20\xeb\xee\x0b\x9f\x94\x80\xb2\x31\xb8\xac\x42\xa7\x8e\xca\xa4\xef\x66\x9a\xb5\x14\x4a\x35\x0b\x72\x97\xe0\x24\x1e\x65\xf7\xe0\xe0\x6a\x8d\x73\x0d\xce\x29\x5c\xc7\x02\xe5\x16\x7a\xe5\x04\x97\xa4\xd9\xa7\x42\x8f\xc0\xd2\x67\xdb\xed\xef\xd7\xa5\x15\xfe\x7d\x78\xcc\xb0\x6e\xc3\x98\xdd\xad\x0c\xf6\x0e\x3c\xc8\x08\x8f\xc6\x7b\xe7\x79\x83\xbc\xca\x15\xec\x91\x7d\xe7\xc1\xa1\xb1\xff\x3b\xcf\x95\x99\x54\x05\x06\x2e\xb4\xb7\xef\xad\x79\x87\xcf\x25\x83\xe4\x5f\xba\xa0\xa6\x74\x56\x2f\x32\x48\xee\x7e\x9b\x31\x35\xc8\x98\xc3\xbe\x8c\x8f\x6a\xf4\xb8\x8b\x0b\x99\x99\x31\x73\xd2\x2d\xeb\x03\x00\x03\xba\x18\xa5\x5b\x23\x63\xa7\xd7\x26\xde\x9a\x27\xa0\x56\xbd\x6d\x7a\xb9\x74\xb8\x0e\x96\xd5\xb5\x6c\xce\xb4\xd5\x50\x53\xc3\xce\xd2\x5d\x16\xfa\x5b\x20\x6d\xd5\x14\x60\x73\x49\x00\xdb\x6d\xb2\x75\x74\x24\xb4\xaa\x13\x16\x2d\xd0\xcc\xa2\xca\x9f\x52\x0e\xf9\x32\x58\x40\x78\x02\x51\xe4\xa4\xb5\x44\x91\xcf\x82\x23\x39\x4b\xf2\xe3\x6b\x93\x20\x57\xd6\xf1\xad\x4e\x97\xa2\x8a\xa3\x84\x33\xc0\x1a\x82\xe7\x4e\x5f\xc6\x2c\x6b\x29\x1b\x5b\x51\xba\x43\x96\x64\x01\xc8\x39\x58\xac\x46\xcd\xcc\x2d\x9f\x0c\x2b\x12\x16\x8f\x54\x5a\x64\x99\x1d\x7b\x08\x9f\xae\x04\xb9\xa2\x6f\xea\xf3\xfa\x78\xe4\x70\x10\x3d\xa3\x0d\x5f\x7c\x0c\x8d\x13\x4d\x59\xf3\xea\x74\x50\x5d\xac\x8b\xc2\x11\xc3\xbb\x79\x28\x0a\x5a\x62\x66\xd5\xab\x06\x0b\x93\x3c\x3b\xa2\x45\x9d\x59\x9b\x74\x7f\xa6\x52\xd2\xf5\x49\xb2\xee\x84\x1c\x27\x75\x38\x82\x32\x71\xef\xcb\x84\x42\x21\x10\xbe\xa8\x23\xe0\xe6\x67\xfe\x7e\x78\xa8\x1a\x71\xd9\x01\x0a\xcb\x90\xf2\x16\xad\xf2\x57\x35\xe5\xab\x8e\x73\x57\x4a\x75\xa4\x9c\x08\x0e\x4d\x8b\x79\xe2\xd5\x2b\x8b\x0b\x5e\x91\xfc\x30\x5a\x18\xd5\x87\x3e\x6d\x3c\xb7\x57\xc1\x9e\x85\xe9\x65\x8e\xb6\x21\xff\xa4\x2e\xe1\xe4\xef\x6e\xa9\xac\xf2\xd9\x62\xc6\x92\x23\x92\x7b\xab\x12\x5b\xe3\x59\x88\xd7\x23\xed\x47\x42\x08\x46\x5c\xa5\xbb\x11\xeb\x93\x5b\x54\x5a\xf6\x56\x2a\x8b\xa2\xc6\xeb\x15\xe7\x96\x9b\x01\x3e\x97\x34\x9b\x54\xa4\xff\xbe\x2c\xed\x3c\x1a\xaf\xf7\xd4\xc1\x72\xae\x87\x6e\x14\x6f\x48\xd3\xa3\x53\xcf\x88\x5f\x9e\x2d\xd1\x6d\x22\xb5\xe0\xdf\x8f\x47\x28\x04\x75\xe6\x6f\x97\xfd\x30\xda\xb6\x53\xbe\x9e\x63\xb9\xe2\xd8\x68\x04\xe0\x67\x9e\xf7\x0a\x78\xa8\x23\xf3\x95\x11\xc9\x9f\xb1\xdf\x14\x13\x2b\x43\x4f\x19\xdd\x95\x90\x39\xe9\xfa\xe4\x64\xdd\x5d\x55\xb3\x2e\xe9\x13\xd5\x8b\xae\x7d\x79\x38\x5b\xb7\xde\xac\x3b\xc4\xef\x42\x0f\xb3\x75\xb8\x25\x89\x3f\x6a\x38\xb8\x35\xa7\xb3\x02\x76\x7e\xd0\xed\xd5\xec\x64\xbd\xa4\xc0\x7a\xe1\x3e\xb6\xd3\x66\x7e\xe1\x56\xed\x23\x07\xd7\x72\xb2\x1e\x50\x38\xe9\xb6\xb2\xe4\x7d\x72\xca\xd2\xd7\x94\x33\x77\x05\x41\x1c\x4e\xd6\xab\x4a\xb8\x0b\xee\x09\x36\x26\x88\xe8\x4a\x1e\x6b\x14\x4e\xba\xe4\x85\x80\xfa\x8a\x34\xbb\xa4\x47\xba\x57\x1d\xf4\x67\xa2\x7c\x56\x52\x5e\x8b\xb4\x5c\xec\xe4\x78\xfc\x26\x4c\x71\x59\xaf\x07\xea\x9b\xc9\xea\x14\xf2\xb7\xfa\x56\xb5\x7e\xab\xc8\xa2\x9f\xc8\x60\xc8\x04\x8e\xeb\xe3\xe3\x9e\x79\x83\xcd\x3e\x97\x39\x0b\xf4\xe3\x56\xca\x04\x89\x41\xdf\x2d\x79\x78\x71\x41\xbc\xcd\xd7\xc0\x80\x36\xa7\xbe\xb5\x91\x28\x39\x07\xb7\x5a\x55\x47\xe1\x54\x1e\x30\x48\xc0\x5b\x15\x27\xe0\x3b\x49\x10\x1e\x85\x8c\x3b\xf9\x2a\x87\x6c\x42\x4f\xc2\x44\x9f\x58\x4c\xb2\x69\x44\x36\x49\x46\xc7\x42\xcd\x01\xf7\x3f\xbb\x38\x55\x42\x59\x68\x46\x27\x2c\xce\x58\x00\x27\x34\xea\xf6\xcc\x24\x65\x47\x84\x2a\xd7\x4b\xf0\xf7\x9b\xce\x32\x7d\x9a\x01\x77\x44\x47\x13\x1a\x8f\xe1\x1e\xe4\x34\xcc\x10\x1b\x46\xf9\x82\x8c\x52\xa6\x43\x24\x52\xe5\xad\x13\x1f\x73\x13\x72\x70\x10\x8f\x5f\x47\xe1\xe8\x78\xe0\x52\x41\x65\x24\x02\xc0\xca\x7a\x15\x25\x23\xaa\x0e\xa6\x46\x14\xcf\x70\x67\x74\xcc\x48\xca\xa2\x84\x8a\xbd\x10\x6b\x8d\x5b\x3d\x51\x7f\x50\x6a\xe9\x88\x42\x9e\xb5\x68\x10\x6c\x67\x6c\x5a\x6f\xd4\x5e\x6e\x06\x01\x11\xdf\x5f\xb4\xe9\xcb\x81\xbe\x6e\x25\xe8\xb5\x19\x8f\x26\x49\xfa\xc6\x62\x14\x35\x92\xb8\x77\xc1\x71\xe9\x11\x6f\x0b\xae\xe2\x0b\xe1\x12\x46\xac\x67\xd6\x48\x79\x24\xe7\x03\xe5\x9c\x9d\x8b\x78\xd0\x02\xa2\x3e\x7c\x48\xf0\xd7\x99\x20\xca\x3b\xe7\x11\x66\x33\xc8\x2d\xcc\x1a\xba\xb4\x03\xc8\x46\xec\xe9\xde\x6e\x93\xdd\x9f\xff\xbe\xb9\x25\x4f\x04\x4d\xe2\x6b\x79\x96\xe5\x8e\x26\x9e\xc7\xa5\x54\xdf\xbe\xf2\x34\x2a\x9e\x29\xd5\x72\x34\x18\x80\xd0\x27\x4a\x6c\xa3\xda\x25\x31\x69\xcd\xd2\x64\x56\xf7\x44\x11\x4f\xba\x35\x79\xfb\xf2\xb8\x56\xa0\x15\x87\x90\xd0\x04\x6b\x1e\x7a\xe4\x55\xce\x98\x06\x7f\x88\x43\x0f\x80\x90\x1e\x41\x68\x46\xc2\xa8\xa6\x92\xb8\xee\xc1\xb8\xda\x16\x12\x60\xe0\xc2\x0e\x20\x3c\x12\xda\xfd\x84\x9e\x30\xb1\x01\x80\x0e\xcc\xd3\xc8\xc7\xf3\x41\x0c\x18\x1d\xd3\x93\x70\x2c\x36\x05\x34\x5e\xc0\x61\xa9\x1d\x55\x06\xc6\x4d\xb5\x2b\xc8\x52\x17\x30\x1a\x79\x95\x1a\x1a\x6f\xc9\x59\x24\x13\x85\xba\x82\xd6\x08\x52\x93\x05\xfd\xd2\xa8\x6d\x97\xf7\x2e\x8b\x17\xf9\x4a\xa4\x43\x3c\x16\x23\xe4\x8a\x88\x4d\x3c\xcf\x4c\xc3\x24\x0d\xb3\x05\x79\xf6\xac\x42\x64\x7c\x81\x69\xa3\x3c\x18\xa6\x34\x3d\x9e\xcf\xd0\x0d\x78\x70\x7e\x3e\xa1\x7c\x72\x79\x39\x80\xe0\x7d\x71\x7e\xe6\x9f\x86\x51\x24\x20\x80\xd3\x0a\xcc\x47\x08\xe4\x99\x90\x2c\xc1\x58\xa2\x69\x12\x8f\xc9\x97\xcf\xef\x05\xbd\xc4\x83\x39\x67\x29\x81\x21\x82\x94\x84\x43\x76\x94\xa4\xd0\x0b\xd5\xfa\x04\x9c\x04\xc4\x1c\x1f\x81\x91\x5c\x5e\x9c\x47\xc1\x60\xb0\x91\x48\x82\xcc\x90\x61\xf6\x50\x75\x20\x5f\xe2\x2c\x8c\x34\x38\x59\x9d\x4b\x07\x53\xa8\xa4\xf1\x54\x1e\x20\xc3\x34\x39\x46\xe1\x46\xe3\x00\x9f\x4e\x13\x8e\x9e\xd0\x10\x65\x1c\x2d\x08\xe4\x71\xe7\x31\x61\x69\x9a\xa4\xf2\xea\x18\xd2\x3c\x27\xa6\x78\x12\x9d\x40\x7b\x78\x64\x3f\x8c\xd8\xd4\xc8\x45\x45\x91\x53\xf4\xbf\x39\x4d\x43\x21\x3e\x33\x94\x4f\x83\x81\x10\x33\xe2\xab\x96\x54\x93\x2c\x9b\xf5\xda\xed\xd3\xd3\xd3\xd6\x38\xa5\x27\x34\xa3\x29\x26\x9d\x87\xaf\x6d\x45\x8f\xda\x4b\xd1\x9f\x2e\x9a\xa2\x01\x92\xd5\xa2\xf4\x2d\x5a\xa1\xcd\x78\xdc\xbc\x9d\x66\xff\x53\x79\x1f\x6c\xda\x27\xea\x19\x9b\xce\x22\x9a\xb1\x4b\xc9\xac\x62\x5e\x29\x6f\x82\xd3\x49\x38\x9a\x38\x21\x2e\x07\xe7\xe7\x66\xa0\x8b\xe7\xe4\x72\x95\x51\x87\x0c\x7c\x92\x9c\x72\x1d\xbc\x71\x94\x4c\x87\x61\x4c\x33\x95\xac\x6e\x20\xba\x35\xf0\xc5\x88\x41\x0f\x07\x30\xd0\x03\xb5\x0a\x0c\x0c\x47\x03\x27\x85\x6a\x49\xa2\x98\x8a\x3a\xc4\xd4\x11\x0c\x92\x47\xab\xa5\x94\xa3\xae\x9f\xbb\x90\x7f\xe5\xb1\x7c\x21\xa3\xb0\xbc\xeb\x4d\xda\x2f\x5f\x0c\x53\x62\x1d\x8e\xbe\xa0\x70\xe9\x5e\x60\xd2\xec\xd6\x70\xe6\x99\x75\x4b\x67\xee\xc1\x41\x20\x30\x0a\xa4\x2e\xbe\xfb\x52\x7e\xe1\x12\xd8\x58\x02\x76\xbd\x56\xb2\x22\x2a\xc8\xeb\x12\xf2\xfa\x4d\x20\x6f\xd4\x0c\x37\xb5\x21\xde\xdc\x86\xa7\x18\x86\x6c\xd8\x10\x11\xd6\xfd\x65\xc0\x1e\x5b\x68\x02\x61\xcf\xce\xca\x10\x7e\x5c\x7b\x49\x61\x8d\xbe\x09\xc2\x4f\x0c\xec\x52\xe0\x4f\x5c\xe0\x71\x02\x2c\xb2\x0c\xe2\x53\x8b\x04\x3a\xda\x05\x52\xc0\x46\x50\xea\x49\x4a\x91\x69\xe8\xa3\x07\xeb\x2e\xd7\xcd\x2e\x73\xd9\xae\xf6\xec\x8c\x8d\x84\xc0\x56\x1d\x83\x45\x1e\x63\x51\x0a\xca\xa0\xff\x0d\xb0\x98\x52\xb3\xf0\x3a\x4d\x95\xdf\x3d\xc9\x05\x3a\x40\x2e\xc5\x1c\xc4\xe1\xe8\xd8\x5d\xe2\x8a\xb1\x11\x4c\x2e\x62\xbc\xb2\x53\x79\x93\x47\xfa\x88\x77\xbd\x2b\x00\xba\x38\xb8\xe0\xa4\xea\x21\xef\x05\xd9\x90\xec\x7b\x09\x37\xa3\x96\x9d\x44\xff\x7a\xc4\x5a\xff\x66\xc4\x5a\x5f\x99\x58\xeb\xdf\x84\x58\x70\xc2\x8c\x5c\x3d\x4f\x23\x24\x96\x9c\x09\xc6\x2d\x77\x09\xb1\xaa\xf1\xdd\x58\x86\xaf\x0a\xa6\xd1\xee\xae\x6f\x3c\x68\xdb\xc8\x96\x0f\xc0\x86\x33\x00\xae\x76\xb8\x99\xc9\x05\x3c\x09\x85\xc2\x7e\xca\x2c\x65\x50\xac\xa3\x70\xe9\x9c\x1a\xaf\x4f\xb1\xe5\xf0\xa5\xc5\x38\x66\x32\xc9\xab\x86\x26\x43\xc2\xc8\x78\xb2\xad\x20\x0d\x4f\xf0\x2a\xff\x98\xe1\xbe\x6b\x48\x39\x23\xa7\x6c\x88\x6f\x5a\x36\x32\xaa\xd2\x29\x0d\xb3\x7a\x05\xc5\xf4\x66\xc0\x6d\x41\x50\xea\x35\x26\x41\xf9\x92\x46\xf5\x46\x4b\xe8\xb6\x06\xc6\x3c\x8d\x0a\x6e\x5a\x0a\xd0\x3c\x8d\x54\xe2\x5f\x43\x4f\xbb\xdc\x65\xde\x1c\xfc\xa4\xd3\xe9\xf8\xc4\x83\xbd\x97\xba\xde\xa3\x48\x96\x25\x44\x00\xa9\x64\xa6\xb3\xaf\x9e\x7a\xe8\x02\x2d\xf4\xe0\x55\x18\xac\x84\x19\x1e\x7f\xb3\xd9\xf8\x78\xe5\xd9\xf8\xf8\xbb\x89\x2e\xb5\xe3\x81\x77\x5f\x41\xb5\x27\xdf\x8c\x6a\x4f\x56\xa6\xda\x93\x2b\xa8\x06\x06\xd3\xab\xe9\x06\x21\x4b\xf2\x52\x0b\x1e\x4a\xd1\xb5\x12\x65\xf2\xdd\x2c\xde\xf9\x5a\x56\xda\x5c\xfd\x7a\xba\x72\xf7\x9f\xae\x24\x12\x9f\xae\x22\x10\x9f\xfe\x79\x05\xa2\xa9\xfd\x27\x90\x87\x4f\xbf\x5e\x1a\x3e\xcd\x4f\x65\xfc\x66\x2b\x7d\xb9\x23\xf6\x55\x2c\x00\xbb\xe9\xe8\x1b\x1b\x00\xc8\x80\xa7\x23\x6b\xbb\xa4\x2e\x0d\x83\x7d\x2e\x49\x8f\x49\x1a\x8e\x27\x59\x0f\xf6\x9d\x4e\xf8\xf4\x23\x96\x8d\x26\x26\x56\xcb\x97\xcf\xef\x8d\xbd\x4f\x26\x33\x00\xe3\x22\x3b\xcb\xec\x36\xe7\xd5\x9b\x79\xfb\x26\x05\xc4\xb3\x87\x2d\xa8\xae\xaa\xb7\xe8\xbb\x02\x61\x63\xde\xbd\x62\x7b\x3e\x9c\x8f\xc7\x8b\x2b\xb7\xca\xe1\x74\x4c\x78\x3a\x5a\x7d\xa3\xdc\xfe\x8a\x7d\xb9\x68\x2c\x1e\x37\xbf\xaa\x3d\xbd\x21\xdf\xde\xf9\x7b\xd5\x96\x7c\x37\x1d\x5d\x73\x47\xbe\x32\x57\x72\x96\x7d\x0f\xc6\xe4\x2c\xfb\xcb\xf1\x26\xe0\xfc\x6d\xd8\x93\xb3\x6c\x65\x8e\x21\xeb\x67\xb7\xc4\xa4\x5f\xdb\xea\x8a\xac\xca\x59\xf6\x4d\xb8\xf5\x4d\xc8\xe9\x30\xc2\x5b\x79\x95\xfc\xda\xed\x74\xca\x19\x56\x3c\xfa\x45\x89\xfc\xd8\xcb\x48\x90\xc0\x58\xfa\x64\xc8\x46\x54\xac\x79\x61\x26\x0d\x8c\xca\x62\x3a\x9c\x67\x59\x12\x13\x16\x43\xb3\x24\x89\xc9\xeb\x49\x9a\x4c\x59\xfb\x6d\x98\xb2\xa3\xe4\x4c\x2b\x70\x49\x4c\xb6\xb7\x7e\x04\x4d\x37\x89\x02\x96\x92\xed\x2d\x5e\x18\x07\xe9\x2f\x1b\xc6\x61\xd6\xaf\xc1\x91\x00\xe9\x93\x73\x12\x72\xd5\xaf\x1e\x1e\x48\x93\xcb\x1a\xd0\x9d\xbc\x90\xed\x07\xf2\x7d\xbf\x76\x7e\x8e\x1e\x61\xa6\xce\xe5\x65\xed\xa5\xfa\xfe\xa2\x8d\x15\xa0\xb6\xf2\x8f\xcc\x73\xcd\xbb\xbd\x9d\xf7\x4a\xa7\x94\xe7\x33\xfa\xd4\x41\xe6\x80\x54\x53\x10\x2e\xe0\x40\xea\xac\xf4\x84\x99\xcb\x5b\x60\xb6\x93\x07\xf5\x39\xeb\x1c\x9f\x8f\x26\x90\x37\x43\x62\xd4\x22\xf5\x3d\xb0\xd1\x61\x02\xae\x11\x23\x53\x46\x63\x0e\x07\xf4\x96\x05\x8f\x0e\xed\x97\x40\x84\x16\x24\xef\xd9\x86\x93\x00\x08\x35\x60\xf4\x17\xbc\xb6\x96\x44\x88\xbc\x33\x9f\xb3\x44\xa2\x60\x21\xa6\x6f\x61\x09\x80\x3a\x7c\x69\x8c\xb1\x75\xe1\xb2\x21\xe8\x00\x43\x46\xa2\x84\xab\xdb\x4e\x96\x1c\x4a\xd9\x34\x39\x91\xc2\xc3\x3e\x63\x79\xa4\x24\x85\x22\xff\x15\xb2\x02\x1c\x51\xc0\x54\x1e\xe8\x0a\x79\x78\x90\x01\x46\x28\x16\x62\x96\xd1\x74\x61\x41\xd4\xf9\x49\x04\x36\xfa\xce\xa6\x42\x12\xa2\xe5\x25\xea\x1e\x1a\xc6\xec\x83\xf3\x3d\x1a\x8b\xf9\x9a\xb2\x28\x04\xef\x6b\x69\xb0\x4f\x08\xcf\x92\x94\xb9\x11\x5d\x0d\x49\xca\xae\x3e\x5d\xdf\x9a\x0a\x07\x85\x04\x2f\x12\x66\xc9\x78\x1c\xb1\x5c\x88\x26\xb8\x05\x3d\x4c\xce\xec\xd8\x4c\xf0\x8c\x05\xb5\x97\x2f\x86\xf6\x6d\x14\x35\x15\x4c\x41\x7c\x00\x55\xcd\xfc\xd0\xb5\x7f\x82\xb7\xd6\x84\x28\xe8\x70\xb7\x60\xb8\xc3\x4e\x49\x29\x71\x1d\xa3\xc9\x88\xf3\xba\x27\xab\x15\xb6\x08\xaa\x37\x6a\x97\xf4\x96\x46\x7c\x71\xd5\x3e\x45\x76\x7c\xe5\x3d\xdf\xb5\x30\xd8\x4b\xe7\xd9\xc4\x41\x61\x05\xb5\xd8\x5d\x2f\x3e\x7c\xfa\xb2\x67\xaf\x18\x66\xd6\x5e\x5a\x82\x5d\x5d\x13\x74\x92\xce\x59\x13\xdc\xae\x15\x82\x14\xc9\x26\x0b\x95\xbb\x08\xe7\xb9\xba\x4e\x6a\xa6\x7f\x4d\x75\xa7\x66\xae\x15\xb3\x4c\xa5\x22\x95\x18\xe2\x1a\xb4\xca\x22\xf4\x1a\x29\x7d\xb3\x35\xe8\xfb\x49\x60\xc9\x10\xff\x16\x02\x58\x0e\xc9\xca\xf2\x77\xa4\xca\xff\x89\xc5\xef\xd7\xca\x5e\x08\x30\x81\xb2\x17\x83\x4d\x0c\x93\x6c\xb2\x82\xfc\x9d\x52\x9e\xb1\xb4\x20\x7e\x65\x8e\x2c\x25\x62\x77\x23\x7a\xc2\x6a\x65\x60\x24\x6d\x0d\xa0\x6f\x23\x7a\x4d\x9f\xf0\xeb\x4f\xc9\x19\xab\x8e\x95\x56\x15\x01\x5a\x77\xa5\x28\x03\x2d\x81\xba\xb2\x10\xc6\x2e\xaf\x2c\x83\xaf\x89\xc2\x37\x97\xc2\x72\x1a\x7d\x1b\x21\xac\x56\xe6\x5b\x91\xc1\x9f\x19\x0d\x92\x18\x63\x7f\xfc\x99\x85\x70\x2a\xf1\xfc\xb7\x90\xc2\x6a\x50\x56\x16\xc3\xa9\xae\xf0\xef\x21\x87\x71\x5b\xc9\xce\x32\xcd\x17\x5f\xa1\x0f\xdb\xf5\x04\xcc\x1a\xde\xe2\x43\xb8\xa6\x1a\xb2\x6a\xbf\xb6\xed\x4d\x15\xe3\xd4\xda\xdf\x56\x1d\x56\x48\xc0\xa8\x5e\x5b\x2b\xde\xb7\xba\x74\x58\x94\x89\x0a\xf8\xb7\x57\x8e\xaf\x89\xc8\x37\x97\xce\x6a\x7a\x7d\x1b\xf1\xac\xba\x73\x3b\xf2\x79\x97\x45\x6c\x94\xfd\xf9\x95\x64\x2e\xf1\xfc\xb7\x90\xcf\x6a\x50\x56\x96\xcf\x5c\x57\xf8\x13\xcb\xe7\xdb\x15\xd1\xd8\xe5\x15\xc4\xb2\xa2\x4d\x41\x2e\xe3\x0b\xe7\x16\x33\xc6\x2a\x7a\xf9\x8e\x45\x51\x72\xff\x45\x5b\xfe\x2c\x96\x00\xf5\x7a\x9c\x32\x86\xc2\x5c\x35\x61\x37\xf6\x77\xf1\x36\x8c\xc7\xbc\x04\xce\x8b\xb6\xdb\xf6\x2d\x4b\x77\x04\x4e\x0c\x06\xd7\xd5\xb6\xa1\x67\x45\x41\xaa\x3a\x77\x2d\x89\x6e\x57\x5a\x59\xd7\x5e\x11\x81\xaf\x97\xe4\x1f\x3f\xed\x6d\x7f\xfc\x50\x2d\xca\xd5\x4c\xfc\x36\xa2\x5c\x73\xcb\x95\xa2\x7c\x05\x49\xfe\x71\x86\xce\xb7\x7f\x66\x29\x9e\xcc\x58\xfc\x6f\x21\xc1\xc5\x60\xac\x2c\xbd\x13\x28\xfc\x27\x96\xdc\xae\xd8\x2e\xc8\xed\xab\x05\xb7\x91\xdc\x68\x0d\x98\xce\xa3\x2c\x9c\xad\x64\x65\x16\xc4\xc9\x8b\x6e\xf2\x22\x60\x19\x0d\x23\x2e\x93\x72\xc1\x77\xa8\x24\x4a\xab\x3a\x8e\x6f\xc1\x0b\x3e\x9f\x4e\x69\xba\x78\xb9\x3b\x49\x4e\xdb\xef\xc2\x40\x70\xd6\x8b\xb6\x7a\x6a\x81\x6e\x4b\x78\x56\x78\x1a\x5b\x3a\xdf\x50\x3c\x97\x68\xdf\x02\xcb\x6a\xc9\x5c\x99\x6d\x0b\x90\x2b\xca\x46\x80\x56\x2d\x98\x4b\x24\xb3\xaa\x51\x22\x95\xbf\xa6\xf1\xa2\x50\xb6\x1d\x3b\xdc\xe4\x0a\x95\x72\xf9\xcd\xd6\xde\xe6\xf6\xfb\xdd\x6a\xc1\x2c\x26\xd8\xb7\x11\xca\xc0\x3c\x57\x0a\x64\x48\xf1\x30\xd6\x24\xd8\x8c\x42\xca\xf5\xa5\x26\x4e\xfa\xe4\xfc\x12\xb2\x5d\xb5\x1d\x89\x28\x43\xf2\x09\x71\x49\x85\xd2\xad\xf2\x2e\xfe\xf4\xf1\xe3\xfb\xad\xcd\x0f\xbf\x6f\xee\xed\x7d\xf6\xed\x58\x16\xc9\xec\x03\x9d\x32\xbc\xeb\xf4\x41\x5f\x5c\x12\x50\xe5\x4c\x15\x9b\x55\x39\x99\x94\x58\xd0\x79\xfa\xef\xa9\x6b\xfc\x08\x85\xf4\xfb\xa4\xa6\x0a\xd7\xd4\x15\xc3\xe7\x2a\x73\x72\x2c\x66\x7c\x04\xe9\xf4\xad\x2b\x78\x1f\xd4\xd3\xba\x17\x8f\x9b\x1e\x59\x33\xa8\x88\x31\xad\x26\xc1\xbe\x81\x77\x68\xc7\xe7\x50\x5c\x2e\x5d\x82\xcc\x3d\x2c\x7d\xf1\x6b\x53\xe7\x60\x55\x4b\x57\x4f\xac\x5d\xea\x21\xde\x27\xac\xb8\xb0\xe5\xde\x0a\x13\x7f\x78\x0a\xfb\xe0\x14\xdc\x8e\xc4\x4b\x1b\x31\x43\x6b\x12\x8f\x7f\xc2\x81\x12\x1d\xfa\x45\x94\xde\x2c\xcd\x81\x29\xfe\xe0\x1e\xd9\x03\xce\xb2\xba\x22\x86\x4f\xee\xdf\xc7\x82\x65\xba\x88\xbc\x6b\xa9\xa2\xf5\xc2\x4d\xa4\x36\xa1\x82\x60\x10\xb1\x13\x16\xb3\x25\xec\xb1\xf9\x7e\x7b\x73\x77\xeb\x4d\x9e\x3d\xe0\x3a\x5d\x96\xa5\xbe\x1c\x06\x44\x72\xd9\x90\xc0\xab\x55\x86\xe3\x36\x28\xdf\x6e\xab\xd9\x05\x97\xc0\xe3\xf1\x27\x9a\x65\x2c\x8d\x71\x39\xa5\xca\x29\x84\xa4\x2c\x1f\xf3\x15\xf5\x09\x0b\x90\x95\x29\x2c\xe7\x18\x52\x87\x25\xf5\x94\x2e\x84\x52\x80\xb7\x14\xe0\x36\x5a\x96\x10\x18\x72\x42\xe3\x45\x36\x09\xe3\xb1\x95\xcc\x5c\x4c\x0a\x24\x05\xde\xed\xd5\x98\xd5\xc8\xc3\x87\x38\xb8\xfa\x91\x1b\x5a\xa3\xd6\xae\x15\x83\x47\xa8\x84\xb5\xb9\x8a\x32\xa5\xf6\xd6\xdf\xb7\xfe\x1f\x99\x9e\xf7\x77\xf8\xf1\xc9\x91\xb4\xa5\xe9\x6b\x5d\x1e\xb3\xf0\xf3\x21\x2d\xd6\x67\x36\xde\x3a\x9b\xe9\x6c\xd1\x32\xb1\xed\xfe\xba\x95\x15\x5a\x4d\x2a\x9c\xe1\xe6\x89\x75\x4d\xee\xde\xb2\x29\x82\x8c\xe2\x4c\x0f\xf1\x04\x18\x6a\xe5\xc9\x81\x75\x7c\x72\xdd\x89\x81\x1e\x30\xbe\xf1\x84\xf1\xb5\xe3\x3b\xc4\x10\xd1\xba\x9e\x35\x45\xf6\x3d\x9e\x8e\x3c\x9f\x78\x58\x43\x7c\x03\x07\x4e\xab\x0f\x75\x57\x88\xfe\xf1\x32\xcf\x4c\xb2\x67\xcf\x7c\x4c\x0b\x02\x5e\x9e\xa0\x5f\xa7\xf3\x98\xd0\xa3\x4c\xde\x1e\x35\xea\x74\x91\x04\x37\x9a\x9c\xa2\xf7\x66\x61\xd0\x1d\x74\xa3\x35\xc5\xee\x4b\xdb\xe5\xf7\x88\x68\x72\xe2\x65\x54\xbc\x54\xfa\xf0\xa1\x03\xe0\x36\xae\xb2\xba\xdc\x25\x51\xb2\x6e\xd3\x3e\x2f\xf0\x1e\xb2\x30\x9d\xb2\x43\x5d\xb2\x37\xc9\x17\xb5\x3a\x6f\xa7\x6c\x76\x26\x06\x82\x4b\x86\xb0\xd1\xa9\x9b\xc1\xad\xce\x90\xac\x68\x73\xbf\xe4\x79\x25\xd5\x8a\xfe\xb2\xd6\x1c\x82\xc5\x25\xe7\x7d\xed\xce\x64\x52\x31\xd3\xcb\xe7\x24\xc0\x53\x33\xd2\xf5\x27\x06\xd7\x28\x5f\x60\x59\x8b\xc7\x3d\x9e\x8e\x6a\xd6\x9e\x23\x60\xa3\x88\xa6\x34\xb3\x63\x6e\x8b\x9d\x46\x0d\xca\x15\xdc\x05\x09\x3b\x0b\x79\x96\xf3\x57\x16\x72\x5f\x05\x4d\x54\xcc\xc0\xdd\x1d\x3e\x4e\xe2\xa3\x24\xf1\x1a\x1a\x54\x90\x68\x29\xbe\xd4\x19\x9a\x4b\xb7\x67\x1d\xee\x99\x72\x72\xca\xa2\x08\x72\x48\x8e\x26\x21\x93\xbb\x55\x15\x87\x91\x41\xf8\xa2\x96\x0b\xe7\x14\x6e\xd7\x42\x87\xf6\xd5\x58\x1d\xca\xc0\x1a\x3c\x14\x3b\x52\x41\x47\xf0\x91\xe3\x34\x0e\xb3\xf0\x5f\x08\x74\x9e\x46\xf9\x8b\xcd\x53\x1e\x42\xa6\x6f\xc5\x6a\x0d\xe2\xcc\x00\x57\xbb\x43\x86\x5d\x59\x4a\x3e\x22\xe3\x28\x19\xd2\x88\x34\x05\x6f\xbc\x4d\xd2\xe9\xeb\x2c\x8d\x7c\xd2\xdc\xfd\xf2\xd3\xce\xf6\xde\xde\xd6\x9b\xdf\x5f\xbf\xdf\xdc\xdd\xf5\x09\x0d\x82\x5d\x96\xfd\x4c\xa3\x30\x08\xb3\xc5\x0e\xcb\x26\x49\xd0\x83\xdd\xb6\xbe\x97\x6f\x83\x90\x91\x1b\x1e\xd0\x20\x90\x01\xf4\x7a\x24\x4e\x92\x99\x90\x0c\x0f\x1e\xa4\x4c\xa0\x69\x5e\xc8\x8a\x9f\xed\xc7\x50\x12\xf7\xa6\x45\x08\xdc\xa0\xe2\x3e\x7d\x13\xa6\xf9\x47\x9f\xd2\x90\x67\x61\xcc\xdc\xa7\xbb\xf3\xe1\x34\xcc\x32\x16\xe0\xe3\x7b\x97\xfe\xbd\x5c\x9f\x21\xf6\xec\xb8\xc9\x55\x41\xef\xb9\x1d\xde\xa2\x0c\xe5\xba\x0c\x1f\xe8\x13\x13\x1d\x40\x3e\x6a\x3d\x90\x22\x27\x06\x09\x58\x08\x31\x21\xf6\x7c\xc6\x0c\x23\xb6\xcd\x2d\x20\xa5\x0e\x3e\xa8\x03\x62\x2b\xae\x54\x31\xb1\x2f\xc9\x83\x99\xec\x21\xd9\x4b\xe7\x90\xf9\x02\x2e\x76\x4f\x28\x2a\xf2\x20\xe5\x29\x98\x9f\xb4\x27\xad\x68\x80\x2c\x98\xca\x37\x50\x02\x33\x10\x84\x2c\x02\xa4\x51\xca\x68\xb0\xa8\x04\x5a\x0d\xf0\x44\x8c\x97\x06\x48\xa3\x48\x85\xbf\xb0\x52\xd5\x0a\x08\x78\xd1\x57\x92\x0d\xd7\x29\xa8\x5a\x0d\x39\x8c\x73\xb0\x33\x12\x31\xca\x33\x48\x50\x60\x41\x57\xb1\xe1\x93\x14\xfb\x0f\x01\xf1\xaf\x80\xad\x47\xbf\x48\x0a\xf3\x4a\x53\x94\x9d\xb0\x18\x93\x95\x3a\xa0\x73\xd0\x3f\xc2\x22\x75\x49\x1e\xc0\xf5\x75\xb2\x2d\x7a\xac\x62\xe6\x4f\x28\x9f\xf8\x36\xd2\x29\x83\xab\xce\x32\x99\xb9\x26\x4b\x82\xf1\xeb\x91\x60\x30\x02\x47\x34\x04\x89\x08\xad\xd2\x2c\x49\xb9\x8f\x51\xe5\x75\x82\x86\x26\x39\x66\x0b\x8b\xa2\x28\x85\xb3\xe4\x98\xc5\x9c\xd4\x11\x19\xc1\x7e\xbc\xe1\xcb\xf2\xd2\x20\x07\x69\x2f\x30\x43\x7b\x72\x64\xe3\x20\xdb\x87\x90\x25\xa0\x2f\xd3\x22\x1a\x60\xa0\x1a\x87\x82\x32\xa6\x09\x1d\x28\xfe\xa7\x79\x18\x65\xcd\x30\x2e\x62\x64\xa1\x3d\x60\x53\x1a\x46\x03\xf5\x6b\x4a\xcf\xec\xef\x56\x1e\x58\x78\x12\xc6\xf6\xf7\xdc\x5b\x8c\x4c\xa5\x7f\xce\x50\x23\xd6\xbf\xa5\x89\x32\xd0\x0f\xe6\xa9\x69\x37\xa0\x19\x73\x7e\x64\xe1\x94\x45\xc9\x88\x9a\x22\xe2\x89\xfe\x71\xca\xd8\xb1\x41\x25\x89\x11\x8d\x32\xcb\xe9\xc0\x9d\xeb\x03\x72\xcc\xd8\x8c\x93\x2c\xa5\xa3\x63\x08\xcd\x12\x45\xc0\x53\x66\x56\xc4\x01\x89\x19\xcf\x30\x7a\xbf\x98\x33\x72\x8d\x92\x5b\x1b\x9e\xd1\x4c\xe5\x5c\x98\xfa\xb6\xed\x14\xb3\x96\x00\xb5\xdb\x6a\xe2\x24\x29\x81\xe9\xde\x56\x82\x44\x07\x14\xa6\xa3\x89\xb2\x8b\xc4\xe3\x96\x5e\xc6\x7b\xc0\xed\xe2\x9f\x4b\x6b\x6d\x1f\xa9\x8c\xd4\xe0\x68\x9f\xd1\x78\x04\x22\x2d\x39\x2a\xf4\xaf\xa5\x12\xa4\xb7\xdb\x94\x1f\x73\x60\x11\x0c\x7d\x09\x29\x11\x93\x04\x43\x31\xff\xf4\x9a\x98\x80\xac\x32\x74\xf1\x3d\x17\x94\x1b\xdf\x52\x2e\x8c\x10\x9d\x15\x76\xc2\xf0\xcd\x44\x6c\xa5\xa8\x14\xc2\x77\x4b\xf9\x75\x22\x62\xba\xf0\xdd\x38\x31\xdc\x27\x3a\xc4\xab\x84\xe5\x13\x1b\x92\xd9\x13\x00\x85\xfa\xe8\x6f\x2e\x17\x60\x3d\x7a\x7d\x95\xd1\x07\xd4\x67\x9a\xb2\x38\x7b\x8b\xc5\x41\x84\x3e\x78\xe0\x3c\xd3\xab\x3d\x3c\xac\x37\x9c\x20\xb5\xa2\x82\xd7\x20\x17\x17\xce\xea\x0b\xc0\xc5\x4e\x20\x0e\x33\xe4\x85\x7b\x44\xc2\xc6\x39\x88\x86\x25\xf5\xec\x01\x9f\x8f\x46\x8c\xf3\xdc\xe3\x99\x0e\x11\x39\x57\x09\xe8\xcd\x4b\xb9\x9c\xd9\x9d\x07\xa5\x94\x43\x64\x1c\x81\x90\xfc\x35\x86\x6e\x5c\x5c\x10\xcf\x6b\xa8\x84\x04\x06\x0c\x2e\x33\x7d\x13\x98\x4d\x36\xad\x56\xb4\xbe\x0e\xed\x86\x2f\x90\x61\xf3\x4f\x15\x23\x17\xe0\x18\x19\xad\x5f\xdd\x23\x16\xc9\x5b\x96\x82\x52\x17\x55\x50\x9b\x85\xb5\x99\x98\xd5\x79\x0a\xea\x8e\x7a\x54\xb1\x42\xff\xed\x81\xf8\x1c\xd2\xd1\xf1\xcf\x21\x3b\xfd\x59\xd9\x1e\x14\x24\x67\xca\x8b\x27\x9f\x65\x69\x98\xdd\xc0\x2e\x9a\x41\x14\xe5\x31\xab\x23\x57\x01\x5c\x06\x0f\xc0\xe6\x0a\xa0\x07\x2d\x0b\xf8\x17\x59\x6e\x4a\x17\x64\xc8\x74\x75\x48\x4a\x13\xb0\x61\x32\x8f\x47\x42\x51\x3d\x61\x71\x26\x26\xbb\xba\xfe\x20\x60\x4a\x3f\x3f\x4e\x4e\x69\x98\xc9\x35\x98\x50\xc2\x13\xd1\xc9\x79\x36\x4f\xb1\x13\xb2\xb2\x64\x03\x12\xc6\x10\xb0\x03\xd0\x69\xe2\xb9\x24\x87\x9b\x34\x21\x97\xc4\x02\x53\xe9\x62\x26\x73\x32\x09\x45\xdb\x1c\x31\xa4\x4c\xe8\xbe\xd2\xc1\x3b\x39\xc2\x06\x28\xd2\x00\xd6\x92\x39\x67\xbc\xa4\x01\x38\x30\x62\xb1\xca\x76\xc9\x91\x04\x6d\x3d\xda\x05\xfa\x97\xed\x9e\xd5\x56\x5f\x11\xdb\xda\x85\xc9\x47\x66\x23\xa5\x95\xb7\x02\xe4\xba\x13\xe8\xf2\xf2\x6b\xb8\x66\x94\x4c\xa7\x61\xb6\x1a\xcf\xbc\x86\xb2\xff\x73\x39\x26\xa5\x29\x33\xec\x42\x39\x19\x7c\x18\xef\x88\x2a\xd6\xe2\x81\xd0\xe7\x1c\xb3\x70\x4d\x68\x1c\x44\x8c\x5b\x51\xf4\x41\xad\x13\x3c\x36\x4b\x62\x0e\x0b\x0a\x62\x0c\xf8\x14\x78\x26\x47\xfd\x5b\xe3\x98\x1c\xdc\x5b\xe4\x17\x23\xb1\x96\x8b\x17\x36\x0e\x79\xc6\x52\xcc\x0a\x05\x8a\x6f\x5e\x53\xd7\xb5\x31\xb9\xb3\x4a\x78\x25\xb3\x6f\xc5\x79\xca\xab\xfb\x53\x84\xce\xb3\x64\x4a\x65\x3a\x36\x7d\xac\x89\xe9\xd1\x84\xae\x00\x89\x80\x1c\x2a\x1b\x9c\x6d\x02\xe7\xa8\xd7\x6e\x93\x9f\x52\x46\x8f\x41\x57\xc7\xcb\xdf\x4d\x19\x94\x4a\xa6\x25\xe4\xe4\x74\x92\x70\x3c\x36\x83\xe8\xc0\xb5\x09\xe5\x1f\x4f\xe3\x4f\x52\xb7\xae\x91\x53\x96\x32\xf2\xdf\xf3\x90\x65\xd1\x82\x84\xe3\x38\x49\xe5\x0e\xbf\xdd\xd6\x99\xd9\x68\x10\x60\xf2\x25\xd0\x94\xc0\x6a\x49\xc8\x87\xe4\x54\x6c\xda\xb3\x49\x9a\x9c\x0a\x0d\x06\x43\x4b\x41\x55\xca\x39\x4b\xb3\x0f\x49\xf6\xce\x69\xac\xee\x6c\xed\x7c\xe2\x01\x8a\xea\x2e\xb1\x62\x96\xd6\x6c\xce\x35\xeb\x34\xac\xfc\x82\x4e\x6d\x27\x78\xed\x74\xdf\x79\x77\x48\xfa\x0a\x9a\x15\x89\x4c\x2d\xf1\x9f\xd2\xf0\x44\xe8\x7a\x9b\x9f\xb6\x7b\x04\xf7\xd5\x4a\x94\x8e\x34\x97\xc8\x65\xde\xd9\x76\x97\x0c\x04\xd8\x85\x3f\x58\xe8\x40\xc8\xfa\x28\x90\x06\x2e\x07\x2b\xab\x27\x80\xb2\x2c\x76\x08\x06\xa9\xc2\xb4\x08\x58\xc4\x32\xe4\x3b\x5d\xd2\x89\x86\x2b\x5e\xc8\xc6\x0b\xfd\x2d\x6c\xa1\xb1\xdc\x57\x4f\x24\xc7\xb8\xb0\x74\x2e\xbd\x61\x69\x71\x36\xe9\x3b\xaa\xdf\x70\x36\x05\x8c\x67\x69\xb2\x28\x4e\x28\x07\xf7\x25\x73\xaa\xc0\x69\xe4\xe1\xc3\x72\x1e\xbb\x6a\xd8\xdc\xf2\xb9\xc1\x03\xf9\xe8\x68\x8d\x79\xe3\xa6\x6d\x13\x51\x23\xde\xb2\xed\x38\x96\x8d\xd2\x27\x66\xbe\xd8\x36\x2c\xb7\x21\x98\xa1\xb7\xdd\x0c\x4e\x78\xb1\xd7\xfd\x0c\x14\xb6\x84\xbe\x5d\x18\x4e\x65\x6f\xcc\x78\x16\x3a\x4b\xd9\x6e\x97\xc9\x58\x9d\x27\xb2\x34\x26\xf9\xb3\x27\xb7\xcd\x77\xf6\x5a\x0a\x07\xcf\x98\xe4\x26\x4d\x66\x54\xc5\x3a\x40\xcd\x17\xf7\x8c\x86\xa5\xca\x6c\x7b\x75\xa4\xe0\x28\x4b\xa3\x9e\xb5\x8b\x51\x5b\xac\x9e\x3e\x13\x80\xc7\x9c\x65\xd6\xa9\x01\xda\x32\x7c\x6d\x41\xf5\x8b\x9c\x85\x89\xf7\x79\xa6\x43\xeb\xee\xab\xc2\x87\x76\x10\xdf\xfb\xa2\x8c\x6d\xd8\xce\x17\x16\x7b\x29\x09\xfc\xb0\x32\x86\x2d\xc4\x02\x8f\x03\x76\x06\x29\x5b\x79\xd6\x82\x1f\x1f\x8f\xea\xee\xf8\xab\x46\x65\xd1\x7e\x9f\x34\xbb\xae\x51\x1d\x2a\xe7\x04\xba\x36\xb4\xba\x66\x56\xa4\xcb\x3c\xfe\x6e\x94\x71\x6d\xf7\x0a\x1b\x9b\x95\x45\x8d\x3c\xcf\xab\x5c\xb7\x3c\xcb\x67\x4a\xd0\x80\xa5\x10\xa8\x42\xc6\xe9\xaf\xd9\x59\xf5\xac\xef\x92\x75\xe4\x8e\xb9\xa7\xbf\xdd\xd3\x73\xee\xe6\x13\x09\x0c\xbe\xab\xcd\x22\xdc\x5f\x24\x42\xc3\x85\x5d\x27\x6c\x8c\xab\x26\x10\xa6\x9f\x54\x09\x37\x45\xad\x00\x0d\x7d\x1e\xdc\x3f\x4d\xb3\x85\x87\x99\x8d\xd0\x51\x4a\x9e\x19\xe4\x9a\x40\xb0\x68\x8c\xa9\xab\x7a\x58\xad\xd1\xba\xf9\x7c\xd5\x42\xed\x8d\xda\x3d\xe7\x55\x56\x45\xe1\x96\x5c\x27\x44\x8b\xc6\x94\xf1\xe9\xf3\xf6\xee\xde\xf6\x87\x2d\xb4\x73\x4b\x4e\xd0\x55\x84\xae\xe6\x96\x7f\xb3\xfd\x79\xef\x57\xa7\xb0\xbb\x79\x37\xd1\xd7\x0b\xbb\x77\x2b\xe0\xba\xbd\xeb\x56\xb8\xd7\xbf\x5e\x1d\xb6\x2c\xfc\xd7\x63\x83\x30\xe3\x44\x63\x7a\x3d\x5e\x40\xaa\xae\xce\x0e\x76\x53\x79\x9e\xd0\x28\x5c\x83\x2d\x54\xae\x32\xbd\xfd\x93\x06\x63\x26\xc9\x05\xe9\x3e\x43\x5e\xd0\x4c\x76\x59\x06\x3b\x36\xb9\x86\x80\xf5\x01\xb8\xd5\xa5\x03\xe4\x5e\x3e\xca\x58\x2c\x36\xe2\x47\x73\x19\x7f\xe9\x54\xa8\xdc\x71\x26\x2a\x78\x29\x9b\x73\xe6\x29\x38\x70\xc0\x2c\xfb\x45\x4f\x64\x86\x4f\xd8\xe4\x43\x6b\x61\x56\xc2\xba\x9f\x2c\x1e\xa9\xe4\x5e\xce\xb2\xa5\xac\xeb\xb0\x26\x59\x23\x1e\xf1\xc8\x1a\xc9\x9d\xe3\x94\xb2\xac\xc5\x97\x95\x16\xa7\x25\x46\xa4\x1b\x6f\x0b\xad\x9e\xdf\xe2\x96\x90\xb3\xec\x4b\x9c\x25\xf3\xd1\x44\x72\xc0\xb5\x26\xc1\x5c\x55\xfd\xba\x59\x20\x81\x54\xce\x03\xcd\xac\xb8\xf3\x0a\x25\xc7\xe4\x5a\x87\x39\x61\x9e\xc9\x49\x51\xcd\xc3\x1a\xaa\x62\x66\xf4\xfb\xcd\x43\x2d\xe5\x68\xc5\xa0\x0a\x45\x6c\x40\x01\xaa\x92\x0f\x0e\x1b\x6b\xb2\xdf\x9a\xe1\xc0\x06\x7a\xbb\x2c\xa2\x8f\x3c\xaf\xcf\x22\x66\x0a\x54\x11\x62\xd7\x9e\x24\x95\x13\xba\xb8\xb6\x2c\x9b\xac\xf6\xc4\x33\x93\x32\xb7\x8e\xe8\x86\xeb\x95\x79\xec\x4b\x1d\xdd\xdf\xc2\x80\x3b\x41\xfc\x37\x5f\x57\x9c\xcf\x7c\x60\x1c\x73\x19\x82\xb3\x9d\xd0\xc2\x2b\x0f\x45\x06\xe2\xdf\x81\x75\x2c\xd2\x02\x9f\x78\x01\x45\x3b\xc2\xd3\x28\x4a\x4e\xe1\xfc\x06\x64\xe5\x91\x3c\x3c\x54\x89\xd6\x65\xf6\x7b\xc9\xa9\x59\x02\x25\x51\x07\xf0\x89\x9d\x88\x5b\x86\xf1\x76\x76\x07\x78\xd6\x33\x6c\x8e\xd3\x64\x3e\x73\x8e\xeb\xb4\x4f\xd0\x90\x99\x5c\xef\xfa\x7c\x12\x13\xe5\x83\xdf\xc3\x3c\x9d\x25\x1c\x4e\x8f\x06\x48\xa6\x01\x18\x73\x13\x82\x30\x35\x37\x83\xd7\xbb\x8c\x87\x83\x60\xa9\x8a\xbc\x34\x95\x5a\x0b\x1a\x21\x5f\x08\xdc\x5f\x0e\x20\xc3\x01\xd8\xa0\xe4\xe9\x2f\x1c\x69\xd1\x19\x1d\x86\x51\x98\x85\xe8\x63\x8e\xe9\xb4\x67\x09\xd2\x46\x19\x69\x58\x7a\xc2\x52\x9f\xb4\x5a\xad\x46\x3e\x35\x34\xc6\x1c\xea\x5f\xca\x21\xbd\x80\xe1\x05\x8b\x85\x3c\x5f\x06\x5e\x22\xdb\x56\xb8\x53\xbf\x20\x94\x22\x15\x7e\x6a\x28\xfa\x3f\x8c\x42\x3e\x01\x9b\x65\x96\x28\x3f\xdf\xe2\x5f\xca\xc0\x71\x8a\xc8\x03\xa1\x79\x1c\x80\x97\x55\xc8\xed\x13\xce\xf6\xbd\x7b\xe4\x4a\x66\x3c\x2a\xb2\x62\x05\x23\x9a\x84\x07\x60\x27\xc7\x63\xb6\x2c\xa4\xf2\x82\x84\xe4\xca\x12\x01\x90\x3b\xd6\xba\x54\x54\x94\xbe\xcf\x32\x53\xbd\x93\x45\xe2\x0a\x72\x85\xdc\xa2\x54\x12\xcb\x91\x1a\x61\x48\x3f\x24\x0a\xd2\xe4\x1e\xe4\xa9\x70\xc9\x42\xfe\x46\xc0\xe9\xad\x57\x3a\x91\xe4\x99\x91\xe2\xbe\x4b\x85\xab\xb9\xa8\x81\x87\x9e\x72\x45\xc2\x83\x50\xad\x38\xc1\x2d\x10\x95\x44\x23\x99\x67\xcc\x1c\xf7\xe3\x29\x11\x3a\x8e\x5a\x0e\x08\x93\x30\x82\x9b\x8b\xf2\x28\x55\x9d\x8f\xab\x43\xd5\x16\x79\x97\x9c\x32\x60\x40\x7d\x75\x25\x48\xca\x67\xb2\xe6\x75\x35\x9b\x7d\xc2\x81\x87\x74\x2c\x46\x79\x9f\xc2\x76\x39\x5f\xda\x79\xeb\x80\x15\xe3\x6a\x41\xcc\x73\xc6\x65\x12\x34\xb4\x1a\x21\x9f\xea\xc6\xc5\xac\xcc\x11\x07\xa9\x03\xf8\x72\xb2\x48\xe6\x62\x6a\x61\xc2\x05\xeb\x18\xd9\x97\x4d\x08\x52\xb1\x74\x61\x2f\x96\xf7\xc0\xe6\x6e\x07\x80\xb3\x4e\xec\x03\xe3\xb2\x1e\xc6\xb6\x53\x00\xd8\xb0\x16\x31\x9d\x4a\x3c\xc7\x2c\x66\x29\xcc\x1a\x84\x25\xef\xce\x94\xd3\xe1\x33\xa4\x28\xc5\x9b\xe6\xe2\x9b\x2b\x55\x77\xc1\x8b\x4a\xf4\x64\x44\x63\x31\x16\x65\xed\x58\xcc\x0d\x17\x58\x34\x7f\x0b\xe9\x53\x66\xa6\x73\x6e\x00\xf9\x00\x5e\x3b\x02\xa7\x74\x46\x18\x1d\x4d\xd0\x9b\xff\x88\x60\x0a\x55\xe5\x7a\xcd\x31\x29\x03\x8c\x83\x12\x9b\x66\xe8\xd4\x81\xbd\x40\x88\x33\x99\xbf\x01\x99\x13\x57\x0c\x7d\xcc\x8b\xcc\x8e\x73\xe4\xf5\xee\x2e\x6a\x40\x38\xbd\xc1\x81\x61\xdc\x04\xc2\x83\x4c\x16\x88\x84\x46\xca\x69\x16\x6f\x59\xa5\xe5\xd9\x68\x55\x79\xdb\x03\x46\xd6\x50\x4a\x4f\x55\x15\xdb\x4b\x40\xd5\x01\xbd\xba\xaa\x02\xbc\xb4\x4b\xeb\x85\xbd\xb4\xc6\xa9\xed\x5c\xa3\x04\xc6\xff\x62\x6c\x26\xc8\x36\x0d\xe1\x6e\x17\xcd\x48\x3c\x96\x3e\x9e\xc0\xea\x62\x45\x1b\x65\x38\x3e\x38\xaf\x39\x53\xb4\x93\x33\x1e\xcc\xfe\x62\x20\xe4\x8d\x27\x87\xd4\x52\x8d\xb0\x34\x4b\x51\x52\xe6\x0a\x51\x4a\xa2\x9b\x92\x47\xd6\x45\x46\x84\x73\xcd\x24\x62\x6a\x39\x07\x76\x18\x45\x21\x8b\xb3\x26\x0f\x03\xa6\xa7\x0d\x9d\xcd\x22\x79\x35\x8e\x23\x71\x54\x32\x83\x6c\x02\x9e\x13\x88\xb5\x60\x64\x01\x3d\x4d\xe6\x71\x90\xa5\xe1\x4c\x54\xe4\x3e\x09\x41\x37\x00\xdf\x43\xd0\x48\xd4\x22\xab\xae\x6d\xc9\xc5\x38\x4b\x69\xcc\x23\x35\x03\xa0\x3f\x40\x52\xeb\x3a\x1b\x25\x47\x73\x4c\x18\x62\xe5\xe8\x41\xd2\x72\x48\x69\x0a\x3d\xa6\x19\x75\x57\xe1\x16\xd9\x8e\x79\xc6\x68\x80\x27\x7e\xff\xa4\x27\x14\x97\x28\x12\x25\xe3\x70\xa4\x22\xac\x0e\x19\xc9\xd2\x70\x3c\x66\x29\xde\x0a\x07\x71\x13\x07\x51\x15\x42\x70\xb1\xce\x90\xa6\xa9\xee\x10\x92\x53\xaa\x53\x19\xbd\x4d\xe4\x02\x9b\x32\xca\xc5\xf4\x34\x42\x15\x0f\xf7\x4a\x06\x09\x8f\x27\xec\xb6\x9c\xde\x34\xc8\x3c\x8e\x18\xe7\x4a\x12\xe5\xe5\x37\x3a\xbd\xc5\x64\x80\xd0\xec\x25\x52\xaf\x8f\x0a\xbd\x5f\x51\x16\x81\xe3\x67\x12\x5b\xfa\x87\x10\xba\xc0\x42\xa7\x89\xe8\x0e\xe8\x52\x58\x7b\x41\x4e\x05\xbd\x2d\x22\xca\xcd\x96\xa1\xa2\xdc\x6f\x29\x19\x4c\xf5\xac\xd2\x53\x44\x79\x4a\x35\x2b\xe4\x28\xb2\x36\x51\x5f\xec\x15\x45\xde\x49\xb2\xf5\xcf\x65\x90\x30\xc0\x9b\xfc\x2c\x83\x13\xa6\xe0\xad\xfb\x88\xe8\xd3\xfd\x54\xca\xd9\xa3\x90\x45\x01\x90\x64\x31\x63\x12\x77\x52\x87\x77\x18\x78\x01\x1f\x1d\x36\x54\xe4\xc2\x44\x8d\x2a\x09\x92\xb9\xe0\x74\x0c\xa6\x2d\x93\x55\x41\xaa\x24\xe0\xa7\xd4\x97\x04\x8f\x16\x36\xd5\x57\x23\x05\xf8\x27\xa5\xd7\xec\x2d\x37\x57\x2b\x43\xae\x8f\xc6\x0b\xa3\x9d\xe7\xbb\x74\x1e\xe1\xfa\x98\x95\xde\x93\x35\xa3\xb8\xad\x8d\xfc\x82\xf9\x74\xc7\x6c\x3a\x82\x0f\xf4\x44\xca\x2b\x26\xd6\x2c\x63\xf3\xc1\x02\x38\xf7\xb8\x85\x05\x8c\x6c\x7d\xa0\xfa\x3e\x68\x60\x6b\xa1\xd3\xda\xfa\x9a\xdd\x8e\x74\x34\x4b\xe4\x68\x72\x3d\x9c\xce\x90\x95\x60\xa3\xb6\x3b\xb1\x97\x29\x54\x2c\x24\xf2\x8d\xc2\xb0\xa5\x64\x9a\xa4\xac\xd8\xba\xfd\xf2\x6a\x34\x04\xf8\x02\x5d\x68\xbc\x50\xc3\xe3\x80\x07\x8d\x5f\xa1\x07\x9a\x20\x8c\xb8\xe4\x2b\xc5\xd4\x8f\x80\xab\x1f\x19\x8e\xbe\x07\x16\xb6\x42\xf3\x75\x9d\x2a\xad\x41\x1e\xd1\x38\x10\x73\x55\xf2\x79\x0e\x22\x8b\x47\x51\xc2\x35\x8f\xe4\xc6\x04\xb5\xc5\x85\xf6\xc9\x18\xc8\xa3\xc3\x8f\xca\x0b\x06\xcf\xc6\x15\xfa\xf4\x58\xdd\xc1\x0d\xa7\x53\x16\x88\xbd\x80\x3a\x46\xa4\x71\xbe\xa9\x50\xde\xa3\x56\x8b\x2b\x6c\xfb\x50\xe6\x9b\x44\x6f\x52\x96\x02\xf8\x64\x34\x9a\xa7\xf2\x10\x1e\x70\x07\x07\x0e\xd8\x9e\x82\x07\x49\xd0\x22\x5f\x38\x46\x9b\xc0\x1e\x68\x59\x2f\x94\x1e\xf4\x2a\x93\x02\x57\x56\x40\x08\x7a\x1f\xf0\x37\x82\xab\xb8\x98\x21\xef\x92\xe4\x98\x6b\x0a\xc8\xa7\x30\x65\xa4\x52\x2c\xd4\x49\xbd\xaa\xa8\x3e\xea\xb1\xa5\x9c\x27\xa3\x10\xda\xb0\x14\x27\xf4\x5e\x2d\x5b\xfb\xc9\x9e\xa3\x24\xd0\x94\xf5\xc8\xa0\x65\x2b\x40\x3e\xfe\x46\xe5\x46\xfe\xd0\xfa\x14\x64\x2d\x6a\x19\x7d\xcc\x72\xc1\xa4\x31\x44\xaa\x4a\x20\x6d\x9b\xd1\x93\x2d\xa5\x78\xc6\x52\x31\x20\xd2\x7d\x3a\x8c\xad\x9d\x6a\x65\xcf\x79\x38\x0d\xc5\x6a\x27\xc8\x9b\x9c\xe2\xb6\x8a\x2d\x30\x9c\x32\x94\x7c\xad\x0d\x6f\xd4\xc0\x90\xfb\x80\x49\x92\x1c\xcb\x2d\xad\x54\x75\x05\x8d\x40\x4d\x08\xa1\xa0\x4f\x8e\xd9\xe2\x28\xa5\x53\xa6\xbd\x49\x61\xbd\xe1\xe4\xbf\x76\x2d\x78\x76\x00\x64\x23\xeb\xdc\xcc\x4f\x54\xa0\x2a\x7e\xca\x40\xc5\xf3\x2c\x8c\xc2\x7f\xb1\x7c\x8b\x78\x69\x7c\x11\x69\x87\x05\x6b\x05\x92\x2e\xc5\x42\xbc\xb2\x98\xa4\x4c\x6c\x24\xd1\x23\x48\xf9\xfa\xe1\xad\xa6\xd0\x2a\x25\x09\x6d\x16\xc4\x17\xb3\x14\xee\x04\x93\x76\x7b\x28\xd6\x9c\x54\x7a\x03\x8d\xa2\x79\xc0\x2c\xfd\x11\xb2\x9c\xa1\x7b\x29\x12\x37\x39\x46\x42\x4d\x65\x3e\xb4\x76\x9b\x06\x27\x14\x5c\xa2\x0c\x25\xc4\x8b\xd6\x74\xd1\x04\xd4\xcf\xd1\x4e\x60\x7a\xd7\xeb\xb4\x9e\x70\x12\x85\x31\x13\x3a\x1f\xdc\x0c\x12\x05\x86\x74\x74\x3c\x06\x9d\xae\x27\xf6\x5a\x19\x83\xe7\x97\x36\x2c\x8b\xc9\x14\x58\xbb\x56\x0a\x5e\x98\x8f\xc0\x64\x18\x25\x69\x2f\x07\xe5\x45\x5b\x76\xba\x70\xe1\x5e\xdd\xb7\x27\x01\x9b\xf1\x7e\x8d\xa2\xee\xd4\x54\xa6\xb9\x7f\xf2\x9a\xd5\xb9\x7e\x2d\x4b\xe7\xac\x46\x8e\xc2\xb3\x9f\x28\x67\xea\x27\x12\xa9\x5f\x13\x78\x6e\x21\xb8\xda\xaa\x71\x57\x5e\xa0\x86\x63\x5d\x66\x97\x28\xb4\x10\x2a\x3a\xb3\x4a\xa8\x9e\x4f\xf6\x0f\x1b\xd6\xd1\x2b\x71\xdc\x5e\x5d\x6b\x86\x28\x6c\xdc\x7c\xb5\xf5\x51\x3a\x9b\xe6\xaf\x45\xc9\x1c\xfb\x73\xce\xd2\xbd\x05\x84\x64\xf6\xc6\x73\xc6\x33\xe7\x5e\x97\xc9\xb2\x8f\x81\x56\x5c\xd4\x5f\x00\xdb\x9a\x9e\xd8\x6c\xa0\xff\x9a\xa7\x6c\x78\x1c\x66\x4d\x8b\x27\x68\x14\x29\x96\x10\xec\x61\x37\xb8\x5a\x29\x9b\x11\xa0\x06\x1a\x43\xcb\x32\xc1\x56\xb0\x53\x29\x28\xe4\xa9\x3c\x88\x17\x6d\xb7\x9b\xa0\x1a\xcb\x01\x9e\x2e\xc4\x10\x60\x00\x48\x3d\x0e\xfd\x9a\x3b\x2e\x35\x94\xad\xa2\x34\xa0\x62\x07\x32\x50\xe4\xd7\xb1\x1b\x14\xe3\xcc\xe6\x99\x1d\xb8\x41\x95\xab\xa9\xf0\x21\x81\x1d\x65\x81\xcf\x68\xac\x1a\x01\x7f\x10\x0c\xa4\x33\x49\x4e\x15\x8a\x2d\x80\x28\xbd\x45\x5a\x0a\x46\xed\xe5\x67\xf9\xed\xfe\x8b\xb6\x00\xf2\xf2\xc5\x30\xb5\x01\x67\xd9\x4b\x8b\x41\xce\xcf\xd5\x8f\xcb\xcb\x17\xed\x2c\x2b\x29\xed\xb6\xa6\xdc\x91\xcf\xcf\x4b\x9e\xaf\x08\x43\x7b\x6a\x9f\x97\x3c\xbf\x0a\x46\x11\x83\xd5\xda\xce\xd1\x09\x00\xdc\xbf\x5f\xfe\xb2\x0c\xd6\x8b\x36\xec\x9f\xee\xe9\x5f\xb7\x19\x91\x28\x8c\xc3\x2c\x84\xbb\x93\x10\xb0\x40\x30\x48\x75\xe4\x8b\x13\x9a\x12\x6b\x08\xad\x18\x14\x32\xe8\x41\xdd\x53\xaf\x3d\xf7\xc6\xf3\x89\x32\x6e\x55\x54\x2b\x19\x52\xaf\x91\xcb\xe8\x82\x81\x2f\x54\x03\xad\x31\xcb\xf6\xd8\x59\x56\x87\xe0\x16\xaf\xf1\xb0\xb6\x2e\xc5\x4e\x59\x20\x23\xb4\xc9\x94\xd7\x12\x92\x78\x95\xe4\x43\x43\xa6\xd7\xca\x50\x26\x68\xfa\x33\x51\xab\xd8\x36\xfa\xcd\xf5\x4b\x62\x8c\x38\x4d\x5b\x35\x75\xad\xb2\xdc\x3e\xe6\xa5\x49\xe5\xe3\x5d\x63\x98\x64\xf2\x23\x43\x95\x6b\x8f\x14\x1c\x16\x5f\x33\xb9\x4c\xf9\xd1\xc6\x9f\xe7\x4c\x03\xaf\x7a\x8a\x76\xf4\x59\xc4\x5b\x98\xb2\x8e\x1f\x4a\xc8\x3f\x80\xde\x8a\x4c\x26\x2f\xac\xef\x7b\x0f\xb2\x70\xca\x92\x79\xe6\xac\xd2\xf2\x99\xed\x73\xea\x80\xb7\x92\x80\x0b\x24\x7a\x04\x2f\xbd\xa8\x5b\x35\x26\xe4\x87\x6a\x94\xbc\x22\xde\xd6\xe6\x6b\xc8\x4d\xbc\xe5\xe5\x6e\xdf\x44\x2c\xed\xe5\x0e\x43\x4c\x89\x5c\x92\x68\xa9\x7c\xbf\xc6\xe7\x60\x48\xda\x2a\xcf\xe8\xcc\xb2\xf9\x4c\x89\x27\xe7\xf2\x95\xe5\x84\x8b\x7f\x16\x10\x73\x1a\x9a\x73\xc8\x31\x2f\x7e\xde\x7c\xbf\x6d\x4e\x46\x73\xbe\x5e\xce\x04\x9e\xa5\x45\xc4\x3f\xa5\xec\x7d\x18\x1f\xab\x5b\xfc\x56\xd3\x78\x9d\xc9\xb7\x88\x92\x57\x93\x30\x2b\xb3\x63\xf6\x52\x91\x61\x30\xe2\x56\x66\x1b\x8f\x7c\x6d\xac\x29\xb3\xc0\x19\x23\x88\xa3\xd1\xa1\x1f\x5b\xdd\xc3\x62\x1e\xec\xd4\xb3\x2c\x2d\xa4\x6d\x56\x17\xaa\x47\x34\xf6\x30\x51\xf6\x3f\xff\x5b\x6d\x52\x75\x26\x8f\x23\xcb\x32\xa6\xbd\x66\x49\x30\x87\x84\x24\xb6\xf5\xcf\xe0\x57\x6c\xc4\xa4\x5a\x97\xfd\xc4\x74\xeb\x2d\xc2\x19\x23\x7f\xeb\xae\x6f\xfc\x58\xa8\x53\x04\xb2\xbd\x45\x9e\x29\x10\x14\xee\x86\xb3\xc0\xce\x38\xa2\xec\x22\x47\xa1\xd8\x98\x2a\x13\x01\x52\x0f\x02\x97\xa5\xb0\x69\x0a\x8c\x85\x36\xdf\x82\x6d\xaf\xcd\x1b\xce\x4d\xdf\x87\x0b\xbb\xdf\x96\xe0\x20\x27\x21\x25\xd4\x35\x76\x14\x1b\x49\x62\x42\x95\xcd\xc3\xd9\x9f\xbe\x17\xbb\x74\xcc\xfb\x43\x63\xb2\xbd\xf5\x4c\xdb\xb1\xc8\x70\x3e\x6e\xe5\x20\x41\x46\x72\x68\x43\x70\xe4\xae\x41\xa8\xbf\x34\x29\x38\xfe\xc9\x90\x22\x74\x36\x8b\x16\xd5\xf9\xc5\xf0\x6f\x64\xdd\x09\xac\xb8\x7c\x51\x5d\xa1\xe8\x47\xe0\xfe\x5d\xba\xeb\x06\xfe\x5d\x9d\x4e\x9c\x10\xe5\xb5\x61\xff\xd1\x20\xd8\x12\x55\xde\x87\x3c\x63\x31\x4b\xdf\xc6\xb6\x68\xd9\xef\x1c\xfa\xc4\x43\xae\xf0\xfc\x52\xda\x15\x91\x69\xb7\xc9\x3c\xd6\x3e\xea\x18\xbd\xc0\x46\x0b\x3c\x4a\x45\x5b\x84\x27\xb8\xb7\xd6\x71\x6e\x04\x9b\x46\x8c\x1e\x93\x29\x9b\x0a\x29\x3e\x9c\x67\x30\x13\x4b\xa6\xa0\xd8\xcd\x43\x5d\xf0\x4a\xb3\x42\x21\xa8\x63\x12\xc3\x67\xae\x08\xc8\x33\x85\x2d\x04\x93\xb8\xee\x3d\x90\x5c\xbb\x24\x8e\x19\xfc\xa9\xb5\xe2\x2a\x5e\x40\x23\xcf\x57\x13\xb9\xc0\x05\x3e\xe9\xf8\xe8\x02\x56\x1c\xe6\x42\x60\x0d\xe7\xa7\x7b\xd3\x53\x46\x48\xb0\x39\xf0\x41\xde\x5d\xd6\xe1\x18\x70\x3b\x71\x2b\xc4\x6e\x28\x15\xa2\x02\x83\x88\xa2\x45\xaa\x70\x96\x65\x2c\x55\x2b\x01\x14\xb2\xa5\xbf\x7c\x54\xe8\x95\x1b\xba\x04\x43\x13\x09\x35\xe4\x15\xf1\xc4\x27\x2c\xb1\xb8\xd6\xd8\x43\x17\xcb\x79\x57\x36\x38\x1a\x47\x70\x34\x36\x25\x8b\xa1\x47\x96\x20\xae\xef\xa3\x56\xe1\x6d\x48\xa6\x5a\x58\x11\xf2\xd5\x24\x21\xb9\x71\xcc\xdf\xab\xa9\x5f\x0d\xa2\xc8\x2b\xf6\xaf\x9b\x4d\x8e\x3c\x52\xce\x05\x11\x0b\xa7\x02\x32\x4b\x98\xe6\xa6\xd4\xbf\xcc\xfd\x66\x67\x19\x8b\x03\x87\x30\xf6\x6d\xe5\xc6\x73\xd2\x6e\xf3\x2c\x99\x69\x27\x57\xbc\x01\x16\x46\x01\x2e\x67\x73\x5c\x96\xe5\x52\xc5\xc9\x7c\x76\x4a\xd3\x80\xdf\xab\xa6\xa9\x15\xa0\xaa\x10\xfe\x04\x3e\xa5\x06\xe5\x28\x9a\xe0\x3e\x76\xf8\xfc\x9e\x28\x53\xa6\x85\x96\x29\xbd\x42\xde\x63\x10\xbf\xb7\xab\x94\x16\x7b\x37\x37\xf0\x8a\xa5\xe1\x61\x38\x15\x31\xfb\xb7\x3f\x94\x3e\x76\xd5\x44\xf3\xdc\x72\x82\x35\x0f\xbf\x7c\xd8\xfb\xf8\xe5\xf5\xbb\xad\x02\x94\xd2\xc7\x10\x1d\xb6\x4d\x3e\xb3\x31\x3b\x23\xa3\x24\x40\x8f\xc9\x21\x3a\x15\xe3\x55\xa7\xdd\x8f\x3d\x32\xc9\xb2\x19\xef\x89\xd1\xa2\xa3\xe3\xe4\x84\xa5\x47\x51\x72\x0a\xc9\xe4\xfe\x5b\xec\x65\xc3\x24\xe6\xed\x8d\xee\xe3\x8d\xce\x0f\x9d\xb6\x39\xd4\x6c\xa6\x02\x6c\x33\xe4\x49\x53\x85\x4d\xf8\x1b\x8d\xf9\x29\x4b\x9b\xa2\xf0\xfa\x46\x17\x68\xb8\xbd\xfb\xf1\xf7\x37\x9b\x7b\x5b\x32\xc0\x19\xe9\x93\xf6\x41\x70\xfe\xf8\xb2\xb9\xdf\xe9\x1e\x1e\x04\xcd\xfd\x4e\x73\xe3\xf0\x20\xd8\xdb\xef\x34\xd7\x0f\x0f\x82\xde\x7e\xa7\xf9\xc4\xfa\x3c\x68\x1d\x04\x6b\xf5\xfd\xb5\xe6\x61\xae\xc0\xc5\x6f\x8d\x36\x8e\xd2\x97\xcf\xef\x2d\xe0\xff\xa8\x1f\x65\xb3\x0b\xd1\x25\xf8\x87\x37\x7a\x07\xed\x83\x76\xfd\xe0\x74\xad\x77\xde\xf1\xbb\x97\x07\xa7\x8f\xfe\xb3\xf1\xaa\x7e\xb0\xbb\xd6\xa8\x0b\x58\xcf\x0e\xd7\xc4\xcf\xf6\xc5\x41\xbb\xbe\x7f\x70\xfa\xb7\xfb\xbd\xd6\xab\xb5\xfe\xc3\xff\xf8\xcf\xfb\x07\xcd\x83\xf6\x61\xa3\xf1\xea\x81\x6c\x67\x6b\x67\x73\xdb\x69\x69\x9f\x36\xff\xd5\x69\x3e\xbb\xff\xb7\x07\xff\xf1\xd0\x7b\xb4\x76\xd0\xee\xbf\xfa\xc7\xef\x83\xf3\x8b\xcb\xff\xb7\xd5\x3c\x5c\xfb\x4f\xf9\xfa\xb0\x2e\xbf\x34\x0f\x1f\xa9\x47\xa2\xc5\xd6\xd2\xf7\x8d\x47\x0f\xda\x21\xb6\xfb\xe1\xcb\xce\x4f\x5b\x9f\xed\x86\x0f\xf8\xa3\xfa\x41\xf3\xe2\x00\x30\x0f\xd6\x2e\xea\x07\xc1\xa3\xba\xa0\xd4\xa3\x46\xa3\x71\xc0\x1f\x29\x8c\x73\x74\xff\x47\x1d\x28\xdf\x68\x8a\xcf\x75\xf3\x69\x17\xdf\xdb\xde\xd9\x7a\xff\xf1\xf5\xe6\xfb\x8a\x7a\x07\x81\xfa\xd8\xc3\x8f\x1e\x7e\xd4\x5f\xf5\xd4\x37\x81\xc8\x79\xd7\xdf\xb8\x6c\xbc\x32\xc4\xfb\x65\x6b\xeb\x7f\x95\x81\xfc\x05\x2b\xa9\x62\x3b\x1f\x3f\xec\xbd\xab\x6e\x5a\x15\x13\x58\xe6\x4a\xad\x8e\xca\x9b\xad\xb7\x9b\x5f\xde\xef\x59\xf5\xeb\x07\x7c\xed\xe2\x1f\x0d\xa9\xde\xc0\xaf\x07\x82\xbb\xa0\xf8\x03\x79\x52\xb7\x13\xc6\x5b\x69\x8a\x8b\x0f\x99\xc2\x8f\xba\x27\xdf\x81\x05\x02\x2f\x24\xcd\xe6\x99\xb2\x2f\x96\x39\xf6\x42\x01\xdb\xaf\x57\x9e\x39\xb2\xb3\xec\x70\xb9\x07\x6f\x46\xe3\x80\xa6\x01\x1e\x32\x43\xfe\x09\x34\xb1\xa2\xef\xa5\xf4\x99\x00\xcf\x0e\x69\xa5\xf1\x49\x18\x4f\x58\x1a\x66\xb8\x6d\x98\x26\x3c\x53\x8a\xdc\x00\xaa\x1a\x7f\x36\xcb\x15\x5b\xb6\xef\x18\x2b\x2e\xd5\x45\x47\xb2\xc9\x79\x38\x8e\xd1\x6b\x36\x2e\x84\x66\x14\x1b\x1c\x9a\xd1\xe6\x10\xdc\x79\x92\x56\x19\x2c\x65\xf8\x50\x17\x6e\xf1\x97\xbd\x91\x41\xfb\x04\xfa\xac\x59\x9b\x6d\xc7\x37\xb1\x0a\xb4\x36\x71\x6e\x06\x01\xb7\x22\xbf\xd8\x7e\x6d\x68\x82\x3d\x66\x0b\xcb\xd5\x76\xae\x23\xa4\xc2\xf9\x72\x75\x03\xf1\xf8\x73\x55\x13\xc6\x89\x04\x0e\x11\x4b\xdb\x1e\x25\x31\xcf\x52\x1a\xc2\x8d\x0b\x6c\x02\xc3\xcd\x6a\xd7\x14\x1d\x4f\xda\x6a\xc9\x8e\x5b\x2b\x03\x80\xe2\x01\x6c\x3a\x67\xfa\xa8\xf6\xb3\x6e\x2f\x94\xae\x3c\x2a\x08\x03\x21\x36\x36\xd0\xc0\x22\x99\xeb\x7b\x1f\xf6\x90\x11\x99\xd2\xa5\xd0\xa7\x1c\x3d\x30\xe2\x0e\xd0\x63\x47\x85\xe3\x41\x27\x73\x2b\x3c\xcf\x6a\x44\xe7\x93\x24\xc5\xfd\x0d\x8d\x35\xbe\x1a\xc8\x92\x76\x55\x90\x20\xd5\xae\x0e\x1a\xb4\x5a\xbb\x51\x12\x8f\x0b\xcd\x2a\x18\x2d\x7d\x23\xc1\x89\xb0\x88\xf7\x6a\x62\x26\xb4\x99\x13\xf0\x60\x88\x93\xb8\x19\xcf\xa7\x2c\x0d\x47\x44\xde\x55\x95\xee\x98\x27\x21\x3b\x35\xc1\xcf\x75\x13\x34\x5e\x90\xd2\xae\x69\x16\x93\xe1\x8b\xc8\xae\x39\x19\x1e\xe8\x30\x9f\x03\xc2\xce\x46\x6c\x96\x19\x67\x58\x83\x9c\xee\x1a\x3c\x1e\x65\x73\x30\x5b\x09\xa8\x16\xa7\xd1\x4c\xdd\x2b\xe2\x32\x6c\x47\x61\x1a\x0f\x93\xc0\xde\x13\x0e\x61\x0a\x9e\xb0\x34\x93\x77\xe6\x4a\xea\x98\xee\x69\x67\x18\x13\xd3\xd5\xf8\x77\x56\x4e\x2a\x55\x14\x87\x52\x05\x70\x5a\x3a\x90\x4a\x24\x61\xaf\xb5\x1b\x3e\xc4\x3b\x35\xe8\xc8\x80\xa8\xe4\x28\x99\xc7\x20\x06\xe5\x04\x52\x43\xbb\x59\x94\x62\x18\xd6\x4a\xf6\x22\x47\xdd\x96\x86\x2c\x7d\xac\xab\xa6\xa6\x6e\x58\x86\x00\x93\x41\xe5\xd1\xbb\x08\x02\x24\x22\x55\xa2\xc5\x32\x90\x21\x1c\xbb\x63\xfe\x5d\x80\x10\x56\x8e\x89\x6c\x0e\x0f\xd0\x4f\x53\x3a\x9b\xe1\x2d\x2d\x88\xd1\xf1\x0f\xe9\xd8\xf0\x60\xa0\x1b\x1b\x4d\x28\x84\x7a\x4b\x79\x0b\x5c\xf0\x54\x70\x27\x9f\x0c\x6a\x74\x38\xaa\x0d\xca\x1b\x1a\x58\x41\x66\xbd\x7f\xd0\xe1\xe8\x81\xd7\x18\x54\x8f\xeb\x6b\x8c\xf8\x50\x42\x65\xbc\x5b\x80\xee\x5f\xca\xed\x03\x17\x34\xe5\x09\x13\xcc\x99\x4c\x63\x9f\x6a\xac\x55\x84\x3a\x88\xc3\xaf\x02\x5f\x38\x3e\xbf\x39\x5c\x64\xd0\xb7\xfe\x25\xd9\x8f\xc7\x7b\x69\x38\xed\x0b\xa1\x79\x08\x56\x76\x06\xe2\x0f\x93\xf5\x2a\x0c\xa1\xd3\x60\xe4\x73\x2e\xf0\x67\x69\x38\x35\x6d\x99\x21\x03\x7f\x31\x68\x8a\x65\xe8\x3e\x2f\xc3\x53\x80\x0b\xa7\xe5\x4f\x34\xa3\x9c\x9f\x26\x69\x70\x68\x6e\x5a\xc8\x25\x0e\x5b\x64\x90\x9e\x5f\xb6\x62\x75\x57\xb7\x26\xbb\xe5\x04\xdb\x37\xa7\xff\x78\xfe\x26\xb4\x82\x26\xd4\x69\xea\x39\x67\x8e\xf7\xc5\x5b\x38\x3a\xc9\x9f\xf1\xaf\x12\xa4\xbf\x78\xce\x5f\x3c\xe9\xcf\x37\x50\x3c\xee\xcf\x1d\xf8\xcb\x72\x37\x3d\xf3\xd7\xa7\xfe\xa0\x0d\x95\x9f\xf8\x5b\xa5\x04\xf9\x95\xfa\x7c\x70\xfa\x48\xea\xc9\xee\x1e\xd7\x0e\xb2\x59\xf4\x10\x58\xe9\xb4\xbc\xd0\x29\x37\xdb\xc0\x6e\x18\x8f\x23\x46\x04\x32\xbd\xd2\xfc\x5f\xe5\x27\xe6\xf0\xb2\xc4\x28\xe6\xfc\xc5\xe3\xa6\x14\x9d\xfd\x9a\x68\xc0\x1c\xaf\x8b\x57\x82\xbb\xfa\x35\x60\x77\x17\xa5\xaf\x38\x70\x77\x31\xca\x1f\xbf\x7f\x55\x23\xb2\x27\xf9\x36\x2c\xfa\x81\x17\xa5\x6e\xcb\x69\x2c\xcb\x5e\x4a\xa6\x38\x3f\x17\x5f\xcc\xa9\x76\xfb\x65\xbe\xe0\x8d\x0e\xf9\xaf\x02\xb3\xe2\x39\x7f\x25\x98\xab\x8f\xfa\xab\xab\xde\xe8\xb4\xdf\x01\xe7\x1e\xf8\x17\xd2\x5c\xdc\x34\xcf\x05\x18\x4c\xe5\xb8\x94\x9d\x2a\x8b\x57\xdf\xe4\x20\x3a\xac\x3c\x84\xd6\x4d\x5a\x35\x6e\xea\x9c\xa0\x8f\x8f\x05\xd0\xd5\xbd\x03\x6e\xe4\x1f\x50\x38\xbd\xb8\xa9\x8f\x80\x5a\x64\x4a\xce\xda\xd5\xab\xca\x93\xf6\x25\x1d\x96\xe7\xec\x38\xd8\x37\xe8\x6f\xe1\x94\x7d\xf5\x0e\x43\x1a\x0b\x10\x10\xb7\xd4\xeb\x09\x8b\xa2\x44\x00\x8c\x82\x2a\x02\xdc\xa0\x2b\xea\x7b\xce\x9d\xa6\x6d\x27\xd0\x81\xdb\xb8\xc8\xa3\x3d\xa2\x97\xd7\xbd\xc5\x8c\xf9\x88\x86\x34\x2f\x94\x19\x18\xf2\x26\x86\x80\x66\xec\x50\xbe\xd0\xef\x73\x66\x06\x13\xe8\x08\x94\x2b\x51\xc5\xd6\xc1\xf1\x20\x93\xc6\xfc\x48\x67\x00\x22\xdb\xb1\x95\xfa\x49\xec\x19\xe4\x25\xba\x05\xd3\xd9\x46\x14\x64\xe5\x22\xff\x04\x01\x03\x5a\x3e\xa1\x28\x11\xf4\xfe\x57\x6a\x9d\x42\x47\x06\xe8\xb8\x65\xa1\x9c\xf9\x58\x70\x3a\xe7\x19\xa8\x8e\xb8\x51\x87\x63\x2d\x29\x22\xb6\x77\x3f\x36\x7f\x7c\xda\xe9\xaa\x06\xa1\x19\xc4\x95\xd4\x17\x8b\xc5\xa2\xb9\xb3\xd3\x0c\x82\x86\x73\xe1\xb6\x47\x06\xeb\x9d\xce\xb3\x66\xa7\xdb\xec\x3c\x1d\xa8\x2b\x68\x53\xf0\xf6\x45\x30\x62\xda\xa7\x71\xe1\x9a\xa0\xd5\x43\x15\xa0\x4e\x2d\xe6\xea\x46\x4f\x38\x15\x6f\xe5\x3e\x5b\x5e\x12\x24\xa3\x39\x6e\x11\xe6\x00\x2c\x89\x95\xc6\x07\xe1\xf5\x80\x9d\x74\xe2\x0f\x89\x3b\x1e\xed\x82\x3f\xf8\x24\x89\x02\x96\x8a\x9d\x67\x44\x87\x4c\x85\x15\xd7\x03\xba\xa7\x9d\xb9\x81\x4c\x34\x82\x9b\x29\x70\x89\xf7\x0d\xd5\xf1\x5e\x7c\x74\x62\x3e\x0d\xf3\x8a\x6f\x59\xa0\x34\x60\x09\xa4\xef\x40\xc0\x18\x48\x20\x9c\xd4\x31\xda\x20\x46\x6f\x1b\x08\xe6\x0f\xa7\xac\xde\x80\xeb\x5f\x83\x0f\xf4\xc3\xa0\xa1\x47\xd3\xf6\xf5\x15\xe0\x85\x4c\x92\x1b\x9b\xb2\x2e\x64\xe1\x94\xfd\x2b\x89\x99\xdc\x25\xc0\x7e\x09\x62\x13\xd0\xa0\x7d\x9a\x86\xea\x0a\x20\xa2\xa3\x76\x2e\x6a\xcb\x86\xfd\x97\x1e\xd2\x2a\x52\x21\x78\x47\xab\x26\xca\x6f\x86\xd8\xfe\xf8\xc4\xfd\x79\xd9\x22\x3f\x2d\xd4\xf1\xa7\xaf\xf7\x71\x99\x8d\xaa\x34\x61\x49\x2e\xc9\xf7\xea\xf6\x0c\x6a\xdf\xd4\xa4\x56\x0a\x7c\x1a\xc6\x26\x80\x00\x84\x62\x5e\xc1\xc2\xa2\xa7\x27\x27\xf2\x2a\x16\x8d\xb1\xb2\xba\xd3\x2b\xe7\x31\x55\xed\xea\x39\x8c\xf3\x56\x6e\x7b\xed\x79\xbb\x04\x45\x7a\x66\xa3\x48\xcf\xae\x89\xe2\x18\xa2\x1c\xa7\x0a\x4b\x7a\x96\xc3\x52\x35\x4c\xbf\x0a\x4b\xad\x92\xa1\x99\xe3\x2b\xad\x93\xdf\xc5\x3e\xf9\x3d\x2c\x94\xb7\x6a\xa3\xfc\xf6\x86\x88\xeb\x99\x22\x6c\x19\x50\x9a\x29\x4f\xaa\xd1\x82\x9b\xaa\xf7\xee\xe2\x6d\xd9\xde\xfd\xfa\xee\xf9\x85\x5d\x7b\x1e\x74\xc9\xae\xdd\xd9\xb4\x0b\xa1\x7b\xe3\x1d\xbb\xdc\x8a\x9f\xc8\xa8\xac\x31\x3b\x85\x75\xa9\xbe\xde\xe9\x6e\xf8\xe4\x99\x4f\xd6\xd7\xf3\xc7\xe8\x4b\x5d\xf6\xaf\xde\x8e\xbb\xe8\x8a\xf5\x47\x74\xf8\x75\x96\x3a\xe6\x0d\xf2\x29\x1c\x1d\x13\xaa\x14\x13\x22\xf0\xe9\xd9\x1b\x22\x7b\xa3\x2e\x0a\xd5\x20\xbd\xa0\x1c\xc2\x6d\xb9\x5b\x2f\xdf\xba\x43\x67\xf3\x7b\x77\x6b\x31\xef\xd7\x8c\xf0\xa8\x09\x61\xdb\xaf\x89\xe6\x41\x21\xe9\xd6\x84\x68\x93\x0f\xba\xeb\xcd\x8d\xae\xb5\xa7\x77\xb7\x6c\xb7\xb5\x89\x5f\xb6\x8b\xbf\x76\x23\x40\xaa\x7c\x03\x1f\x92\x4c\x0b\x52\x51\xa0\xd4\x5c\x90\x65\x2f\x15\x97\x9c\x9f\xe3\xb7\x0b\x28\xdd\x23\x36\xbd\xee\x36\xf6\xab\x6f\xec\x9d\x5d\xbd\x9b\x6c\xf1\x46\xfb\x79\xb9\x37\x9f\x57\xf9\x96\x57\x8f\x9a\xb3\x45\xff\xda\x2d\xfe\xf2\x0d\x3e\x20\xe1\xee\xf0\xdb\x6d\x15\xd1\x24\x5a\x10\xd3\xb3\xf6\x29\x1b\x06\x69\x78\x02\x51\x5c\x99\x93\x2f\xd1\xae\xca\xe5\x0d\x4e\x48\xbb\x21\xc3\xb6\x1d\xc7\xc9\x69\x2c\xf7\x36\x72\xed\x90\x56\x5e\xbb\xa6\xd8\x74\x9c\xd0\x34\x4c\xe6\xdc\x6c\x26\xea\x9c\x31\xed\x81\x31\x0e\xb3\xc9\x7c\x08\xae\x17\x52\x4c\xb7\x2d\xfc\x42\xce\xe7\x8c\xb7\x9f\x3c\x5d\xb7\x12\xd6\x69\xef\x60\xce\x70\x77\x28\xf6\xa2\xae\xe0\x05\xa4\x33\x4b\x99\x90\xaa\xa1\x5a\xd0\x85\x3a\x70\x94\xa4\x23\x7b\xaf\xd7\xca\x59\x50\xf8\x48\x30\x7d\x0d\x68\x3d\x13\x94\x0e\x92\xd1\x1c\x16\xb9\x31\xcb\xa4\x63\xd3\x4f\x8b\xed\xa0\xee\xd9\x32\xd1\x6b\x3c\x27\x35\xb2\x66\xc1\xaa\x85\xb3\x4c\x8b\x7f\xaf\x46\xd6\x44\x9b\x64\x8d\xd4\xbc\xe7\xb9\x82\x6a\x9d\x52\x43\x1a\xce\xb2\x46\x0b\x96\x8f\x7a\xa3\xe0\x3d\xca\x1b\xe4\x9c\xf0\x16\xb2\xca\xbe\x68\x03\x02\xda\x62\x90\x58\xed\x31\xea\xb4\xd7\x78\x2e\xb6\xe1\x35\xe7\x22\x96\xd4\xdd\xa5\x32\xb0\x0b\x8b\x4d\x9d\x8f\xd2\x46\x69\x0a\xb0\x9b\xda\x89\x8c\xcd\x60\x5e\x75\x89\x04\xe5\x7d\xa7\xb9\xbe\x7e\xed\xfb\x09\xe5\x52\xef\x9b\xdc\x2f\xd1\x2c\xe7\x55\x61\x99\xef\xa0\x34\x0b\x49\x06\xb8\xa5\xbe\x95\xde\xc8\xb8\xba\x73\x89\x98\xe9\x53\x7a\xb6\x4a\xff\xd6\x3b\xdd\x27\xb8\x20\xaf\xda\x53\x8d\xf3\xb7\xec\x24\x7c\xa9\x4c\x9b\x4b\xb4\x05\x49\x48\x60\xaf\x27\x73\xb9\xbc\x51\x0a\xdf\xde\x62\x26\xf5\x3f\xcf\xb7\x7d\x85\x2c\x57\x55\x53\xe3\x13\x4d\x39\x4b\xeb\x76\x31\xb2\xef\x09\x99\xee\xf9\xc4\xdb\xd9\x11\xff\x06\x81\x77\xd8\xb0\x6a\x7b\x46\xe4\x7b\x0d\xb4\x58\x29\x83\x55\x89\xbd\xaa\x68\xae\x12\x7b\xeb\x26\xe4\xe2\x41\xc3\x95\xae\x9a\x37\x5b\x15\xac\x56\xa2\xe6\x6d\x59\xae\x6e\xc3\x70\x35\x61\xd7\x33\x5e\x3d\x22\xd0\x6d\xd3\x97\xa2\x15\x6b\xef\xdd\xbb\xde\x74\xda\xe3\xbc\xc4\x9c\xd5\xed\x08\x65\x71\xfd\xc7\xbd\xee\xe3\xde\x93\x1f\x7a\x9d\x0e\x1e\xd1\x6a\x02\x7e\x03\x33\xd1\x77\xb1\x12\xd9\xf8\x7f\x4b\x1b\xd1\x77\x34\x11\x69\x9e\xbe\x3d\x03\xd1\xb7\xb4\x0f\xfd\x41\xe6\xa1\xbc\x75\xe8\xca\x39\x51\x8d\xed\xf7\xb0\x14\x15\x0d\x45\x37\x47\xf8\x96\x8d\x46\xdf\xc3\x66\xf4\x1d\x4c\x46\xb7\x69\x31\xfa\xe6\x06\xa3\x6b\xd9\x8b\xb4\x40\x28\x0d\xf3\x60\x8c\x45\x3a\x4f\xdd\x72\xab\x91\x6b\x30\xba\xc2\x5e\x54\x30\x17\x95\x19\x8b\xaa\xec\x44\xb7\x65\x25\x5a\x62\x23\xea\xf8\xa4\xdb\xf5\xc9\xfa\x8f\x3e\xe9\x3e\xf6\xc9\x93\x1f\xdc\x53\xb5\x43\xeb\x26\xae\xdb\x93\xdb\x32\x14\xd9\x66\xa2\x21\xcb\x4e\x19\x7a\x8a\xb9\xe6\xa2\x82\xb1\xc8\xe8\x31\x5f\x67\x36\xaa\x30\x1a\x69\x21\xa2\xad\x47\xa0\xa9\x36\x3b\xdd\xbd\x4e\xa7\x07\xff\x2f\x98\x91\xac\x37\x65\xf6\xa4\xdb\xb2\x26\x55\xda\x92\x6e\x64\x49\xd2\x2c\x9f\x6b\xe5\x4a\x83\xd2\x8a\xd6\x24\x43\xc8\x52\x6b\xcc\x6d\xd8\x94\x6e\xc3\xa0\x74\x53\x6b\xd2\xed\x99\x92\x6c\x4b\x92\x73\xe9\xfd\x06\x76\xa4\x1b\x5b\x91\xcc\x68\x59\xe6\xa0\xaf\x33\x26\x5d\xd3\x94\x74\x63\x43\xd2\x4d\xcd\x48\x95\x46\xa4\x1b\x1b\x90\xae\x34\x1f\x7d\x9d\xf1\xe8\xf6\x4c\x47\x2b\x1a\x8e\xbe\xbf\xd9\xe8\x6a\xa3\x91\x36\x19\xdd\xcc\x60\xb4\x9a\xb9\x28\xbf\xe3\xb3\x4d\x05\xb7\x64\x35\xb2\xcc\x2a\x37\xb3\x18\x95\xdb\x8b\x6e\x62\x2d\xba\x2d\x33\xca\x2a\x5d\xba\xca\x4e\x54\x66\x25\xda\x5b\xdf\xe8\x3d\x79\x56\x39\x0c\x2b\x19\x8b\x6e\xb3\x8f\x05\x41\xed\x9a\x89\x8c\x95\xc8\xa8\x2a\xcb\xec\x45\x7a\x21\x96\x86\xa3\xfc\xad\x31\x1d\x7c\xa3\xcc\x7c\x54\x28\x5c\x66\x47\xf2\x89\xf7\xee\x9d\xf8\x77\x3a\x15\xff\x72\x8e\xff\x72\xcb\xc0\xe4\x95\x2c\x05\x2d\x51\x04\x4d\x4d\xab\xde\xbc\x0a\xa7\x6c\xf9\xcd\x2b\xcb\xb4\x74\x8b\x66\xa5\x3f\xc0\xaa\xa4\x8c\x4a\xce\x5e\xb4\xd2\x8a\x64\x4c\x47\x64\xc7\x98\x8a\xf2\x36\x22\xb9\xf9\x95\xeb\xab\x4a\x6d\x03\xe6\xa4\x64\x9e\x09\xc2\x51\x6c\xda\xaa\xa3\x76\x64\x68\x84\x49\x8e\xc8\x7f\xd1\x78\x4e\xd3\x05\xe9\xfa\xa4\xfb\xec\x87\x8e\x0f\xee\x4d\xda\xfe\x85\x77\x0e\x60\x0b\x80\x6f\xc5\x2e\xc0\x27\xef\xde\xf9\x64\x3a\xf5\x09\xe7\x8d\x81\x9b\xdd\xe4\xb6\x6d\x5b\xdf\xc3\xb4\x65\x21\xff\x0d\x0d\x5b\xdf\xcf\xae\xf5\x17\xbf\x47\xf8\x1d\x6c\x5a\xb6\x49\xab\x7c\x46\x56\x22\xf7\x8d\x4d\x58\x5f\x8b\xdf\xed\x5a\xac\xee\x2e\x61\x56\x5d\xc2\xfc\x13\xdc\xb3\xba\x57\x30\x55\xe5\xaf\x24\x09\x7d\xa2\xfa\x4a\x52\x38\x75\x0d\x54\xcb\xed\x53\x39\xf3\x54\xe1\xfe\x91\x81\x96\x33\x4e\xdd\x8e\x69\xaa\xca\x30\x65\xaf\x4a\x68\x96\xf2\x49\xc7\x3e\xa9\x3b\x34\x47\x75\x4e\x0f\x6e\xd9\x2a\xa5\x0c\x52\x3f\x52\xcc\x73\xf0\x64\x36\xad\x30\x4a\x09\x4a\xdd\xa2\x29\x2a\x67\x7f\xea\xfc\xe8\x18\x9d\xba\x3f\xfc\xb5\x2c\x4d\x40\x9c\xdb\x34\x30\xdd\x59\x95\x56\xb2\x2a\x59\x46\x25\x6b\xab\xf2\x1d\x4c\x4a\x77\x76\xa4\x3b\x3b\xd2\x9d\x1d\x29\x8c\xeb\xde\x9d\xf1\xe8\x0f\x34\x1e\xfd\xe9\x2c\x46\xb6\x14\x2e\xbb\x96\x16\x4e\x2b\x9d\x8a\xe0\x9d\x6f\xc7\xe9\xa9\x34\x09\xd9\x65\xc8\xfe\x55\x56\x1f\xaf\xc4\xd2\xb3\xba\x53\xd1\x29\x63\xc7\xd7\x71\x25\x12\xe5\x9b\xc9\x51\x33\x9b\xb0\xe6\x82\xb9\xe9\xd1\x8a\xb6\x1f\x31\x03\x45\xc7\x6e\xe6\x5a\x24\xda\xfa\x3e\xae\x45\xd0\x92\xe3\x8b\xf0\xcb\xdf\xfe\x56\xe6\x45\xb4\xd1\xfc\xa5\xb3\x7e\xe7\x3a\x74\xe7\x3a\xf4\x3f\xc5\x75\xa8\x9c\xf3\xff\x4c\xbe\x42\xd7\xc4\xf0\xce\x39\xe8\xce\x39\x28\x6f\x72\x81\x45\xab\xd2\xe4\x22\xde\x7e\x8d\x4f\x50\xde\xe8\x62\xc1\xfb\xae\x46\x17\xbc\x31\xd6\xf1\xc9\x46\xa9\xa5\xe5\x4f\xe1\x01\x54\x34\xb0\xe0\x96\x55\xd0\xec\xc6\xc6\x96\x5f\x7f\xfd\xf5\x57\x21\x14\xcc\x55\xb1\xf5\xe6\x2f\x1b\xeb\xb6\x87\xcf\x2f\x4f\xd6\xff\x2a\xc6\x16\x20\xc5\xad\x7b\xf3\xfc\x72\x7a\x7a\x67\x6c\xf9\x73\xbb\xf0\x88\x21\xba\xb3\xb7\xdc\xd9\x5b\x54\xb1\x7f\x4b\x7b\x8b\xdc\x63\x75\xef\xec\x2d\x7f\x90\xb3\x4e\x25\xed\xff\x9c\x1e\x3a\x62\xb5\xac\x32\xb9\xc0\x3b\xdf\x0e\xb4\xec\xc3\x6e\x02\xcd\x2c\xbe\x74\x97\xf9\xe5\xf4\xf4\x7a\xfe\x31\xd3\x24\xce\x26\x2b\x3b\xc8\x40\xe9\x6f\xe0\x21\x83\x70\xbf\x87\x8b\x0c\xb6\x94\xbb\xa9\x51\x15\x31\xe8\x7f\x82\xe3\x89\x0a\x3b\xaa\x73\xc0\xc2\xb2\xc7\xb4\x97\x0e\x24\xca\x55\xab\x07\x50\x07\xc9\x1a\x0b\xb2\x42\x90\x5b\x25\x08\x65\x32\x58\x6c\x1a\xf2\xbf\xab\x71\xac\x82\x74\xe7\xfa\xf2\x6f\xe6\xfa\x72\xaf\x60\xf0\x28\x9f\x6f\x7f\x88\xeb\x0b\xb6\x09\x13\xf6\xa6\xf8\xdd\xb9\xbe\xdc\xb9\xbe\xa8\xdd\x13\x70\x4e\xb5\x21\x06\x5e\xdf\x9e\xf3\x8b\x0d\xee\x0f\x30\xc4\x3c\xf3\x49\xf7\x3b\xba\xbc\x48\x2b\x8c\x52\x0b\x32\xd7\xfe\x72\x85\xf9\x05\x6a\xad\x6e\x7f\x29\xbb\x75\xe5\xc6\xe9\x71\x6f\x57\x95\x9a\x5e\x6e\xc7\xf2\x52\x65\x77\xb9\x36\x74\x24\x81\x0d\xda\xb6\xba\xc0\xdb\x42\x1b\x2b\xdc\xa1\x2a\x35\xba\xdc\x82\xcd\xe5\x16\x4c\x2e\x37\xb4\xb8\xfc\xf5\xbd\x5b\xd4\xd0\xdc\x19\x5b\xee\x8c\x2d\xaa\xd8\xbf\xaf\xb1\xa5\x7b\xe7\xdb\xf2\xc7\x5d\x8c\xfa\xf3\x98\x5a\xae\x70\x6d\x81\x05\xb0\xca\xd0\x82\x2f\x7d\x27\x57\x95\xf4\x4e\x29\x38\xb7\x38\x65\xdc\x7b\x4e\xc6\xa5\x45\x4a\xe8\xeb\xd9\x65\x30\x13\xce\x72\xc3\xcc\x5e\x2e\x4b\x14\xd6\xb9\xca\x3c\x63\xf6\x57\x58\xde\xde\x40\x20\x5c\x5c\x7c\xc3\x23\x4c\x94\x21\x97\x12\x2c\xbc\xa2\x41\x04\x0b\x5f\xcb\x16\x72\xb7\xab\xb6\x77\xd5\xdf\x6f\x7f\x7c\xb7\xd3\xbd\xcb\xb4\x75\x97\x69\xeb\x2e\xd3\xd6\x5d\xa6\xad\xbb\x4c\x5b\x2b\x99\xc1\x8a\x96\x30\x94\x25\xd5\xa6\x30\x7c\xff\xad\xd2\x52\x39\xd0\xbf\x5b\x4e\x2a\xb5\x0b\xeb\xae\x7f\xff\x1c\x53\x1f\xa0\xc7\xb9\xf4\x52\x48\x86\xeb\x45\xa9\xb6\xff\xf0\x6a\x97\x34\x75\x3d\x7b\x66\xac\x5c\x7f\x81\x5c\x52\xb2\xef\xb9\x26\x3e\x24\x99\xa3\xbb\xae\x18\x87\xfa\x2e\xe4\xf4\x9f\x26\x97\xd4\x95\x66\xb0\xef\x9c\x4d\xaa\x24\xd8\xf4\x2d\xa4\x93\x5a\x7a\x63\x67\xfd\x2f\x9d\x4c\x6a\xb5\xde\x2e\x8b\x1a\xfc\xad\xb3\x49\x5d\x1d\x25\xf8\x5a\x9d\xee\xae\x6f\xfc\xf1\xfd\x56\xdf\xaf\x4e\x3d\x85\x82\xd1\xeb\x49\x09\x69\xa7\x9f\x5a\xdd\x54\x31\x4f\xa3\xeb\xd9\x29\xbe\x7c\x7e\x6f\x1b\x4a\xad\x1d\xed\x3c\x8d\x96\xeb\xaa\x62\x95\x14\x9b\x3b\xb9\xc7\x74\x22\x19\x7c\xf9\xfc\xde\xd6\x59\x5e\x04\xe1\x89\x5a\x44\x68\xc4\xd2\x8c\xc0\xbf\xcd\x53\x9a\xc6\x61\x3c\x46\x61\xf3\x88\x3c\x7a\xf4\x21\xc9\x58\xef\xd1\x23\x99\x35\x1b\xba\x33\x10\xca\x12\x47\x05\x9d\x9d\x89\xc9\x2c\x91\x62\x64\x9e\x46\xd2\xad\x25\xe4\x24\x60\x69\x78\xa2\x72\xed\xcb\x4d\x00\x3b\x43\xc0\xa0\x9b\x86\x31\x79\x3d\x49\x93\x69\x38\x9f\xb6\x84\x5a\x2a\xb6\x8b\x31\x63\x01\xe8\xa2\x42\x69\xb4\x7a\xeb\xc3\xdb\x11\x8d\x45\x55\xb1\x53\x69\x6a\xf5\x3d\x49\x85\x34\x09\x8f\x16\xf7\xb4\xe3\xcc\x70\x1e\x46\x59\x33\x8c\x15\x80\x44\x05\x9b\x17\x2f\xa5\x2f\xc4\x78\x1e\x06\x0c\xe4\x33\x17\xaa\xe9\x94\xe3\x93\xcb\x86\xa4\x50\x3b\x08\x4f\x5e\xfe\x0f\xb0\xbe\xdc\x19\x2b\xee\x8c\x15\x77\xc6\x8a\x3b\x63\xc5\x9d\xb1\xe2\xce\x58\x71\x95\xb1\x62\x9e\x2e\x89\xa8\x3c\x4f\xa3\x6f\x65\xa6\x30\xa0\xbf\x7b\xde\xec\x49\x96\xcd\x7a\xed\xf6\x38\x49\xc6\x11\x6b\x8d\x92\x69\x3e\x87\xf6\x77\xb0\x59\x7c\xf9\xfc\x3e\x67\xb0\x98\xa7\xd1\xf2\x74\xd8\x7f\x25\x0b\xc4\x3c\xcd\x07\x2d\xb6\xcc\x0f\xf3\x34\xaa\xb2\x3d\xdc\x65\xb1\xbe\xb9\xe5\xa1\x04\xdc\x3c\x8d\x4a\x21\xcd\xd3\xe8\x2e\x15\xf6\x77\x4e\x85\x5d\x94\x3a\x7f\x65\x4b\xc6\x6a\x9d\xff\x03\xd3\x62\x0b\x2d\x68\x9e\x2e\x1d\xb3\x6b\x74\x79\x98\x9c\xfd\x21\xb9\xb0\x45\x0f\x7a\xa2\x1f\x37\x33\x45\xb0\x29\x0d\xaf\x69\x8c\x80\x2a\x15\xe6\x08\x78\x57\xad\x8f\xda\xee\x11\x50\x14\x5b\xa0\x41\x20\xd4\x9d\xdb\xb0\x45\x60\x7f\x96\x58\x23\x10\x7b\xd9\x22\xfb\x46\x86\x09\x52\x67\xad\x71\x4b\x2e\xc7\x42\xbf\xa4\x24\x4b\x66\xcd\x88\x9d\xb0\x88\x04\xc9\x94\x86\x71\x43\x1b\x2f\x74\x1b\x15\x16\x8c\x3b\xe3\xc5\x9d\xf1\xe2\xce\x78\x71\x67\xbc\xb8\x33\x5e\xdc\x19\x2f\xee\x8c\x17\xd7\x34\x5e\xc0\x72\x5f\x6d\xbe\x80\xd7\xdf\xca\x80\x61\x03\xff\xee\x26\x8c\x29\x53\x84\xb9\x91\xfd\xe2\x36\x2c\x18\x84\x6c\x09\x0a\xe4\xac\x18\x40\x95\x9b\xd8\x31\x6e\x33\xa5\xf7\x52\x5b\xc6\x0d\x1a\xc2\x4e\x15\x5a\x31\x16\x0d\x28\x50\xd1\xd8\xaa\x56\x8d\x5b\xb3\x6b\xdc\x9a\x65\xe3\xab\x6c\x1b\xb7\x6e\xdd\x28\x03\x88\xea\x7e\x19\x34\x78\x53\x69\x28\xc9\x19\x39\xee\xac\x1c\xb7\x66\xe5\xc8\x09\xa6\xbf\xb2\x89\x63\xa5\x8e\xff\xc1\x16\x0e\x60\xf3\x5b\xea\xf3\xd9\xd9\x1f\x63\xe3\xc0\x3e\xf4\xb0\x2f\x37\xb3\x73\xa4\x34\x08\x93\xe5\x76\x8e\x77\x7b\x3b\xef\x09\x94\x23\xc3\x79\x96\xc9\x0b\x69\xdf\x7c\xaf\x7c\x29\x95\xdb\x3d\xbd\x6f\xc9\x12\x6b\x63\x6c\x41\x33\x63\xcc\x99\xdc\x43\x72\x16\xb1\x51\xb6\x64\x27\xfb\xed\x76\xe1\x7f\x9c\xde\x57\x32\x18\x70\xe5\xae\x0c\x13\xec\x1b\x57\x06\xaa\x55\x08\xac\xf1\xa9\x26\xf4\x2a\x9a\x27\x70\x52\xb5\xe6\x09\xaf\xbf\x95\xe6\x69\x03\xff\x6e\x9a\xe7\x28\x89\x40\x83\xf0\x86\xd1\x9c\xe5\x15\x4e\x5d\x8a\xcf\xd8\x28\xa4\xd1\xcf\xca\x85\x34\x5f\x8c\x90\x5a\x18\xd4\x7a\xa4\xd6\x5d\xdf\x78\xfc\xa4\xe6\x97\xbc\x47\xcf\xdc\x1e\xa9\x8d\x53\xc6\xe2\x82\x8b\xee\xe5\xf7\x3f\xab\x73\x14\x5c\x20\xbe\xad\xd3\x02\x61\x6a\xc8\x7b\xfd\x1a\xa8\xa3\x42\x01\x0d\x48\x51\xed\x58\x05\x4e\x3c\x6e\x4a\x50\x36\x2d\x6b\x2f\xc9\xdf\x05\x39\x6e\x08\x54\x42\x1c\x22\xa4\x9f\xc4\xe0\x94\x9e\x1e\xa9\x41\x3e\x3f\xc7\x6f\x17\xe4\x9f\x3c\x89\x57\x3c\x2a\x02\x85\x98\xa1\xd5\x61\x50\xd1\x8d\x01\x4e\x56\x94\xc3\x61\xc6\xa6\x1e\x37\xb3\x76\xc8\xdc\x2b\xc5\x83\x12\xa6\x1a\xb4\x2a\x56\x96\x9b\x2b\x6d\xd6\x02\x8b\xf2\x8b\xf0\x8c\x66\x6c\xd9\xaa\x2a\x74\x2e\x45\xab\x32\xad\x0d\xde\xe5\xd5\x2e\xbd\x9a\xc2\xdb\x8a\xd5\x14\x66\x57\xa1\x9e\x94\x8f\x34\x8a\x2c\xd5\x4e\x35\x22\x20\xd5\x3b\x8d\xd6\x28\x0a\x47\xc7\xf5\x1b\xb4\x99\xb2\xe0\x6b\xd6\x6f\x18\x4c\xaf\x87\x83\x7a\xb3\xf5\x7b\x34\x61\xa3\xe3\x61\x72\xb6\xc2\x12\xae\x8a\xfe\x85\x6f\x49\x1a\x1c\x60\xa1\xdd\x4b\xe7\xec\xe7\x5b\x57\x12\x72\x8d\xbc\x15\x5a\xda\x57\xb4\x82\x51\xb2\xae\x50\x47\xfe\xd4\xb6\x22\xc5\x38\xd5\x8b\xb6\x2a\xf1\xad\xd6\xed\x1c\xfc\xef\x7b\x37\xa7\x2b\xaf\xf1\x57\xad\xdc\x50\x68\x5d\x2c\xf0\xbf\x6e\xed\x7a\xdf\x7d\x8d\x05\xd6\xec\xe6\x8c\x49\x8a\x60\x85\x8b\x3b\xdd\xda\xcb\xe2\x02\x06\x20\xd6\x57\x05\xb1\xbe\xec\xf2\x4f\x3c\x6e\x0a\x5a\xa9\x25\x0c\x48\x02\x10\x60\xb3\xa3\x1f\x7f\xf8\xe8\x95\x21\xa2\x2f\xd1\x74\xcd\x2d\x9a\xee\x32\xa7\x0d\x4d\x7b\x59\x78\xfd\x3b\x3b\x67\xdc\x70\x05\xd4\x7d\xac\xbc\x8f\xd2\xcd\xd9\x2a\xac\x7a\xeb\xcb\xea\xad\x57\xae\x9d\x08\x76\x65\xdb\x81\x5b\x6f\xbd\xa2\x9e\x18\xde\x8a\x35\x37\x7f\xdb\x45\xf4\xc8\xac\xb4\x2b\x54\x58\x77\x2a\x5c\xbb\x4b\x25\xbb\xeb\xd5\xfa\xf4\xe1\xe3\xd7\xac\xe9\x6a\xda\x78\x3d\xbd\xe0\xda\x2b\x3b\x21\xde\x24\x0c\x02\x16\x7b\x3d\x12\x27\xc9\x4c\xe8\xf1\x1e\x6e\xab\xed\x27\x7c\x3e\x9c\x86\x99\xfd\x24\x65\x9c\x39\x0f\x04\x22\xf2\xf7\xbd\xcb\xe7\xf7\xee\x99\xd8\x33\xb0\xaa\xfc\x44\x39\x0b\x4c\x30\x8a\x51\x96\xca\x40\x34\xe2\x5b\xeb\x01\x86\x71\x80\x13\x90\xd9\x9c\x4f\x4c\x10\x17\x20\x8d\xe2\xd9\x94\x65\xf3\x34\x96\x55\x42\xbe\x35\x9d\x65\x0b\x55\xe2\x95\x5c\x0a\x7b\xf2\x70\x28\x4b\x76\xa1\x61\x1c\x5d\x41\xb4\x4b\x0b\xa9\x8c\x9d\x65\x06\x1b\x10\x9c\xbe\x1a\x78\x1f\x0e\x9a\x7c\x68\xc6\x27\x0f\x78\x1c\x1e\x1d\xb1\xd4\x27\x0f\x64\x30\x18\xc4\x66\x48\x39\xbb\x31\x04\x81\x52\x35\x5d\x5c\x54\xbf\xaa\x21\x40\x15\x8c\x99\x8b\x99\xd8\xc7\x45\xc9\x29\x4b\x47\x94\xb3\xba\x84\xb0\xdf\x39\x6c\x89\x77\xc8\xd2\xed\x36\xd9\x8e\xc9\x28\x99\xce\x12\x1e\x42\xeb\x62\x06\xf8\xb0\x96\x73\x42\x53\x21\x4f\xc2\x28\xc2\x95\x1b\xce\xb4\xc4\xba\x3e\x65\x41\x48\x33\x19\xb0\x74\x38\x07\x14\x10\xd8\x24\x89\x02\x58\xea\xa3\x90\x67\x2c\x66\x29\x99\xc7\x59\x18\x39\x2d\x84\x9c\x04\x49\x0c\xa7\x79\xed\x36\xd9\x49\x52\x46\xe8\x30\x81\xf0\x48\xa6\x10\x3b\x61\x71\xc6\x7b\x44\x85\x42\x0a\xd8\x09\x8b\x84\x26\xd7\x9a\x26\xff\x0a\xa3\x88\xb6\x92\x74\xdc\x66\x71\xf3\xcb\x6e\x3b\x48\x46\xbc\xfd\x0b\x1b\xb6\x37\x3f\x6d\xb7\x5f\x1b\x20\x5b\x02\xc6\x3d\x42\xc2\x23\x52\xbf\xaf\x68\xd5\xa2\x71\x90\x26\x61\xa0\x58\x0c\x37\x04\x50\x27\x1e\xab\x30\x2c\x72\xba\x2b\x4d\x25\x89\x85\xce\xae\xe1\xf2\x8c\xa6\x99\x2d\x62\x85\x32\x6a\xc4\xac\x0d\xcd\xac\xdb\xda\x36\x58\x01\x94\xc5\x41\xb9\xd4\x2e\x41\x0e\x5f\x28\x12\x2b\x71\x86\x72\x02\xc2\x13\x89\x4e\xe9\x11\xe8\x1b\xa8\xec\x44\xc1\x15\x34\xc9\xc2\x29\x4b\xe6\x99\x69\x4a\x71\x51\x2b\x60\x82\x52\x23\x1a\x8f\x58\xa4\x8b\xa9\x76\xe5\x6f\xd2\x27\xf1\x3c\x8a\x64\xdb\x1a\xa8\x46\xb7\x21\x67\xef\xf3\x7b\xa4\xfc\x12\xa4\x50\x5c\xea\x0d\x63\x48\x80\x21\x17\xaf\x4f\xc8\xc3\x87\x84\x9d\x00\x9b\x4a\xa2\xb5\xdb\x56\x84\x53\x72\x2a\x43\xb7\x66\x69\x38\x35\x1b\x4f\x55\x50\x9e\xe4\x9a\xc3\x63\xd0\x09\xc2\x29\x61\x67\x21\xcf\xb8\xae\x4d\x4f\x92\x30\x00\x18\x53\x95\x13\x07\x6b\x1b\x2d\x44\xf0\xaa\x37\xa3\x9c\x9f\x26\xa9\x18\x1e\xd7\x61\x85\x9d\xb0\x14\xeb\xb3\xc0\x10\x55\x54\xbb\xdf\xef\x5b\xf5\x44\x77\xea\xf7\x05\x3e\x2d\xb1\x67\x08\xa7\xe4\xe2\x82\xd8\x3f\xa1\xb8\x5c\x2f\xcc\x68\x28\x72\x89\x16\xa4\xd0\x53\xc4\xb6\x90\xa5\xf6\xbe\x85\xc3\x5c\x14\xbc\x02\xee\x52\x43\x1a\xc8\xce\xd4\xa5\x8e\x1e\xa3\xef\x84\x71\x56\x6a\xf8\x26\xee\x58\x10\xf2\x11\x4d\x03\x12\x66\x5c\x35\x20\xbd\x2a\xb8\xd8\xf2\x93\x29\x5d\x88\xad\x40\xcc\x46\x8c\x73\x9a\x2e\x30\xe2\xad\xf6\xe0\xaa\x0f\x17\x64\x44\xa3\x48\x34\xef\x84\xdc\x22\x74\x4c\xc3\xb8\x01\x03\x2c\x1d\x08\x14\x7c\x89\xbb\xb6\x25\x48\xff\x09\x2e\xf6\x6a\x18\x01\x58\xee\x77\x4e\x43\x8c\x9f\x4b\x49\x9a\x9c\xb6\x0c\xb7\xc1\xca\x70\xa2\x5b\x12\x94\x94\x61\xe5\x2e\x48\x5d\x52\x50\x50\x17\x06\x01\x4b\x3f\x98\x50\xfe\x01\xe8\xf0\xb3\x21\x83\x35\xdf\xa0\x90\x13\x32\x4c\x52\x01\x18\xb4\x61\x18\xfe\x52\x89\xd0\xd0\x89\xad\x8b\xee\x10\x32\x44\x1c\x51\x47\xa9\x50\xd9\x17\xcc\x27\xa4\xea\x51\x18\x33\xd2\x54\xee\x24\x49\x4c\xb6\xb7\x9e\xc9\x1d\x9d\xa8\x1d\x7b\x19\x39\x0a\x53\x26\x49\x25\x9a\xc0\xad\x13\x4c\x11\x58\x23\x46\xc7\x7c\x46\x47\xcc\x27\x01\x8b\x58\x06\xee\x30\xa3\xb9\x92\x76\x5a\xd8\x4d\x28\x07\x29\x58\xf7\x42\x0c\xc3\xa6\xfa\x69\x4b\x21\x7c\xe5\x6b\x89\x81\x72\x84\xb0\x88\x33\x4b\x48\xca\x69\x2f\x27\xa4\x78\x02\x52\xe2\x7d\xa9\x98\xf1\x55\x08\xec\x24\x0d\xd1\x08\x6c\x08\x0c\xe2\xb8\x20\x7b\x6c\xb9\xe2\xca\xa1\x7a\x85\x2a\x5b\x26\x87\xac\x16\x90\x62\x17\x17\xf2\xb4\xe4\x44\xf3\x47\x09\x4a\x39\x81\xca\x4e\x5c\x05\xec\x5e\x51\x15\xc3\x67\x97\x25\x32\xfd\x98\x2d\x82\xe4\x34\xb6\x85\x39\x32\x8e\x35\xb1\xd1\x97\xa6\x8f\xe3\xd9\x3a\x66\x8b\xd7\x49\xc0\xec\x40\x84\xe1\x38\x4e\x52\x66\x7e\xe3\x3a\x30\xa5\x71\x60\x23\x0c\x7e\x88\xa1\x98\xba\xc5\x3f\x9a\x0a\x1a\x5a\x24\x87\x16\xfb\x7d\xf2\xac\x0b\x73\xa3\xfb\x84\xbc\x00\x2c\x1e\x3e\x84\x8f\x17\xa4\xfb\xac\x01\x6f\x36\x7e\x20\x2f\xfa\xce\xab\x3e\x79\xdc\x69\x18\x79\x2e\x81\x3a\xc3\x5f\x97\xfc\x9d\x4d\x42\x8e\xff\xb6\x1c\x91\xd5\x30\x82\x3c\x3c\x02\xf5\x42\x61\xcf\x25\x6f\xe3\x00\x41\x18\x6c\xbc\x1c\x7b\x96\x91\x29\x8b\xe7\x62\xd6\x6f\x6f\xc1\xcc\x01\xb7\xce\xda\x8c\xf2\x8c\xd5\xc0\xa7\xa6\x36\xd2\x53\x0b\x1c\x7f\x46\x34\x1b\x4d\x64\x34\xef\xaa\x89\x00\xd5\x6d\x39\x6b\x0f\x1e\xbc\x14\x13\xc9\xf3\xdd\xfe\xd9\xd3\xde\xcc\x7a\xe8\x07\xd6\x09\xe3\x2c\x91\x3d\xc1\x3e\x4c\x93\x39\x67\x62\xae\x42\x40\x56\x25\x1c\xb0\x6a\x92\xa2\x09\x8a\xce\xb3\x44\x2c\x98\x38\x83\x63\x12\xb3\x53\x53\xd4\xea\x32\xee\xed\x64\x4f\x73\x1d\x75\xf4\x09\x28\xe7\x4e\x65\xad\x72\x63\x80\x75\x7b\x9e\xe6\x85\x81\x58\x90\x5d\x5d\x3b\x27\x5f\x85\xd6\xed\x79\xa4\x47\xf2\xcf\x9f\xa3\x38\xb4\xd5\x58\x13\xd2\xbf\x1e\xf2\xe4\x17\xc6\x8e\x7d\x5c\x81\xc3\x78\xfc\x86\x66\x72\xf6\x89\x41\x0a\x39\xc4\xe7\x95\xa5\x1a\x39\xe5\x5f\x3e\xd6\xba\x0d\xd6\x90\xba\x7e\xbe\x8e\x95\x54\xa0\x15\x51\x9e\x6d\xc7\x01\x3b\x23\x7d\xd2\x31\x5a\xc8\x8c\xa6\x19\x27\x7d\xa7\x28\x3b\x63\x23\x0d\xeb\xb9\xe6\x1e\x28\xea\xce\x5b\x48\xae\xd8\x27\x6b\xf0\x6a\xbf\x7b\x68\x9f\x83\x40\x4a\x34\xfd\x6e\xdd\x79\x37\x49\xe6\xa9\x68\xb5\x63\x3f\x9c\x86\xf1\x3c\x63\x85\xc7\x9c\x8d\x92\x38\x28\x29\x1d\x45\x61\xc5\x3b\x88\x58\xbf\x37\xc1\x36\xc6\x2c\x7b\xab\x7f\x07\x74\xf1\xf1\xe8\x57\x46\xd3\xba\x40\xbd\x61\x57\xa2\x41\xf0\x86\x2e\x44\x8d\x3a\xa0\xde\x24\xdd\x06\x79\x44\x7e\x30\x01\x15\x8f\x48\xbd\x38\x64\x6e\x87\xec\xf7\x62\x43\xfb\x4e\x3c\xb7\x77\xd8\xa6\x93\xf9\xa2\x3b\xf8\xc6\x2e\x6c\xba\x97\x2f\xbc\x8b\x6f\x5c\xc8\x0e\x41\x8a\xe0\xcd\xeb\x7a\x31\x7c\xa7\x64\x2f\x1d\x1e\x5a\x90\x07\xf2\x74\x19\x5a\x0a\x28\xf0\xae\x41\xd6\x14\xb5\x7c\xec\xb9\xaf\xfa\xe5\x2b\x9c\x7d\x07\x9f\xbc\xbc\x90\xad\x7d\xa0\x1f\xdc\x59\x52\x08\xc4\x08\xee\xed\x33\x9f\x4c\xd1\x89\x10\x49\x2e\x6b\xeb\x89\x1b\xf2\xc4\x87\xb0\xb9\xf6\x2e\x06\xd8\x0e\x2a\xca\x01\x74\xe7\x96\x25\xf1\xcc\xcc\x72\x14\xca\xfc\xcc\xb2\x6a\xb4\xdb\xe4\x97\x09\x8b\x55\x3e\xb1\x90\x93\xff\xda\xfd\xf8\xc1\x13\xf2\x1b\x3c\x13\x4f\x53\x3a\xe3\x42\x71\x64\x91\xd0\x9f\x79\x18\x80\xad\x9d\xc6\x84\x9d\x65\x29\x35\x50\x38\x83\xc4\x0a\x41\x32\x1f\x46\x8c\xfc\xf7\x3c\xc9\x18\x57\x91\xed\xe9\x31\x43\xf5\x0f\xda\x98\xd1\x54\xae\x05\x01\x23\x73\x38\x0b\x30\x60\xb2\x04\x7d\x4d\x4d\x71\xe9\xa8\x29\x56\x05\x51\x93\x09\x85\x95\x72\x89\x70\xcb\x62\xe8\x90\x27\xad\xd1\x84\xa6\x9b\x59\xbd\xd3\x20\x42\x37\xac\x81\x72\x68\x3d\x17\x5f\xa5\x7b\x33\xcc\x09\x2c\x64\x73\x7f\xc8\x13\xd2\x87\x2a\x7c\x3e\xc4\xa6\xeb\x5d\x9f\xe4\x2a\xba\xca\x02\x36\xbf\xbd\xfb\xf1\xf7\x37\x9b\x7b\x2a\x93\x6c\x2b\x63\x3c\xcb\x11\xbb\xc8\x9b\xe2\x7d\x1e\x18\x32\x4a\x99\x94\x23\x5a\xc6\xc9\x32\x4a\xbc\x35\x9c\x99\x9d\x93\x6e\xb2\x56\x8b\x4f\xc2\xa3\xcc\x9e\x66\xa2\x6c\x90\x9b\xfd\x44\xb0\x59\xe1\x98\x78\xb1\x58\x2c\x7a\x48\x70\x21\x83\xe6\x51\x04\x82\xa7\xe1\x1e\x16\xef\xec\x98\x32\x3b\x49\x9c\x4d\x60\x7a\x75\xdd\x42\x41\x60\x0a\xe1\x14\x74\xdf\xbf\x7b\x67\xde\x4b\x91\xe3\x16\x98\x4e\xad\x56\x94\xa0\x71\x8b\x70\x6e\x8a\x68\xf1\x92\x2f\xc2\x6d\x30\xb6\x40\x21\x6d\xd2\xed\x74\x3a\xb6\x9e\x68\x85\x95\xb7\xb5\x67\x87\x60\x92\x48\xdd\x67\x3f\x74\x7c\x20\x45\xd7\x87\xce\x76\x7d\xe8\x53\xc7\x07\xcc\x3b\x3e\x60\x07\x1f\xe2\xd3\x81\x6d\x6c\x91\x47\x49\xba\x45\x47\x93\xba\x9c\xfa\x5a\x3e\x88\xdf\x42\x05\x0f\xd8\x99\x3b\x6a\x30\x01\x80\x5b\x5e\x28\x09\x23\x19\x36\xaf\x0c\x4f\xe9\x6c\x5f\x96\xd8\x87\x1a\x87\x87\x6a\x6d\xbb\x4a\x37\x2e\xf2\xef\x94\xce\x5a\xa2\xdf\x20\x9d\x5a\x3b\x3b\x62\x76\xe0\xf7\x20\xc0\xcf\x77\xef\xf0\x73\x3a\xc5\x4f\xce\x85\x2e\xda\x51\x3f\x38\x79\x04\xd4\x86\x87\x79\x25\xfc\x9e\xad\x2e\x80\x84\x2d\x28\x23\x65\xf1\x71\xc5\x4e\xdd\x27\x4a\xde\x82\xd0\x10\x05\x7c\x99\x43\xa3\x54\xf2\x92\x60\x11\xd3\x69\x38\x72\x21\x5d\xcf\x46\xe7\x93\x07\x47\x61\x94\x29\x63\x1d\x11\xdb\x74\x80\xf5\x7a\xc2\x46\xc7\x2c\x5d\x02\x4e\xf6\xfc\xab\x4d\x91\x66\x47\x07\xb9\x61\xfa\x50\xda\xec\x90\x13\x99\x65\x26\xff\xa0\xa5\x6a\x58\xda\x54\xca\x4e\xc2\x64\x0e\xab\x8c\x94\x2e\x72\x97\x0d\x04\x4d\x3f\x88\x9d\x7c\x9f\xa0\x29\xc7\xbc\xc5\x97\x4b\x6d\xbf\xf6\x06\xdf\x35\xfd\x36\x34\x7f\x59\xfb\x3e\x51\x58\x8a\x3b\x10\xa9\xaa\xa8\x13\xfb\x1c\x2e\xa5\x91\x5f\x18\x19\xd1\x38\x4e\x32\xc8\xd7\x23\x31\x02\xcb\xff\xcf\xf2\x12\x09\x2c\x43\x29\x23\xd3\x70\x3c\xc1\x0c\xbd\x24\x00\x3a\xa2\x41\x51\xc3\xc3\x6e\xb4\xb5\x31\x5b\x5d\x5c\x98\xa5\xc9\x88\x71\x5c\xbe\x26\x34\x8c\x09\x4f\xcc\x9d\x11\x68\xc9\x86\xa2\xaf\x84\xf0\x64\xca\x4c\x43\x70\xc6\x2d\x99\xf1\xbe\x2e\x2f\x57\x7a\xce\x02\xc8\xd5\xd4\x37\x8c\xab\xcc\x14\xf6\x90\xe4\xc4\xb8\x19\x71\xb1\xa4\x7d\xd9\x7b\xed\xb9\xd3\xde\x00\x6e\x71\x23\x36\xad\xa7\xb6\x30\x25\x4d\xe2\xbe\xd9\x93\xd0\x3f\x1e\x1d\x71\x96\xd5\xed\x03\xa4\xcb\xbc\x68\x30\x35\x8b\xeb\x1a\x14\x98\xc7\x32\x33\x52\x6e\x03\x79\x9d\xe3\x03\xec\x34\x6e\x2c\x1f\x3e\x24\xf7\xa5\x32\x54\x64\x0d\x0c\xe3\xfc\x40\x7a\x1f\xec\x84\xf1\x56\x9a\xd6\x3d\x21\xf7\x8f\xa6\x62\x2b\xe8\x6d\xc1\xb9\x0d\x0b\xc8\xe0\xbc\x73\x39\x90\x67\xe2\xa8\x5b\x78\x3e\xb1\x77\xba\xee\x6a\x1f\x72\xb0\x31\x55\x34\x6b\x8f\x14\x91\x86\x2b\x77\xc0\x9c\x12\x0f\x1f\x92\xab\x06\xd0\x9e\xd6\x38\x0c\xa4\x4f\x9e\x76\x84\xe4\x7c\xe4\x34\x57\x36\x5e\xb6\x5c\xcf\xa1\xa6\x25\x79\x19\x0c\x58\xbf\xdd\x56\x97\x0d\xbd\x94\x7e\x48\x5f\xaf\xa1\xd8\x16\x87\xd4\xd7\x80\x0c\x3d\xf3\x6b\x69\x1e\x37\xc7\xfa\x23\x1b\xf1\xbc\xdc\x22\xd1\x70\x95\x62\xe4\xad\x3a\x58\x61\xa7\x61\xdc\xb0\x4c\xb2\x3b\xe2\xa7\xbd\xe7\x9b\x86\xf1\xcf\x54\x37\x21\xb7\xbe\xda\x74\x28\xaa\xdb\x9b\xea\x93\xbc\x69\x49\x62\x74\xbf\xc8\x0b\x60\x9d\xe2\x5f\x14\xa7\xd7\xb1\x21\x78\x9c\x9b\xd5\x0d\xf2\xb2\x9f\xc3\x43\x6b\x04\x80\xf6\x83\x64\xc8\x59\x7a\xc2\xea\xde\x34\x74\x6c\x4f\xb9\x04\x10\x08\x43\x89\x8d\x8f\x58\x09\x70\xd2\xa6\x4e\x6b\xec\x9c\xbe\xb2\x7a\x21\x0f\xe0\x65\x35\x4d\xe9\x99\x43\x53\x7a\x96\xa3\x29\x3d\x5b\x4a\x53\x7a\x76\x5b\x34\x85\x86\xca\x69\xfa\xa2\x9f\xc3\xa3\x92\xa6\x6e\x58\xbd\x3c\x4d\x01\xc6\x2d\xd3\x54\x6b\x1c\x25\x5d\xb4\x76\x65\x2a\xef\xde\x1b\xc8\xa1\x62\x26\x24\x12\x88\x0b\x75\xc8\x95\xab\x46\x1a\x5a\x81\xfc\xc2\x29\x3c\x72\x1e\xd4\x1b\xc6\x9a\x6e\x9e\x55\x20\xb9\xa4\xe7\xc5\x5d\xa7\x62\x14\x78\xfb\x4a\xef\x51\xe5\xcf\x13\x1a\x91\x9e\x3b\x56\x8d\x06\xe9\x15\x16\x84\xa2\x92\x77\x0d\x3d\x4a\x1f\x93\xc6\x62\x77\xa9\x8f\xa4\xf6\x3b\x87\xcf\xd5\x0b\xfb\x84\x40\x40\xef\x2f\x39\x3e\x80\xbd\xe0\x47\xb8\x6c\x58\x17\x10\x5b\x30\x28\x61\xb6\x00\x72\x89\xe9\x91\x07\xa7\xc8\x72\x0d\x75\x48\x5f\x38\x09\xb3\x85\x75\x8a\x36\x4b\x93\x59\xfd\xe7\xcd\xf7\xdb\x6f\xb6\xf7\x7e\xfd\x7d\x77\x4f\xec\x2d\x3f\x7d\xfe\xf8\x69\xeb\xf3\xde\xaf\xc0\xf6\xe7\x9a\xab\xdb\x6d\xf2\x86\x65\x6c\x94\x91\xe1\x7c\x2c\x74\x95\xb7\x6f\x37\x9e\x40\x0e\x1a\xfb\x92\xbe\xc9\x3f\x33\x9c\x8f\xf1\xac\xd5\x3e\x73\xe5\x93\xe4\xf4\xf7\xe1\x7c\xdc\x1a\x8d\xc3\x57\x61\xd0\xef\x76\x9e\x3e\x7e\xbc\xd1\x69\xf4\x4c\x23\x4d\x42\x23\x9e\xa0\xc3\xa8\xc2\xb8\xa5\x46\x87\xd4\xa5\xc3\x4a\x12\x47\x70\x9e\xa4\x4b\x08\x25\x71\x27\xe4\xb0\xb1\xd7\x29\x6d\x00\x1c\x67\x8c\xc8\x28\x1c\xa7\xa7\xa7\xad\xd3\x09\xcd\x4e\xc7\x88\xcd\x8c\x8d\x78\xfb\x94\x0d\x9b\x74\x36\xe3\x6d\x99\xc0\xa7\x79\x9a\xa4\xc7\xed\xe9\x3c\xca\xc2\x19\x1d\xcb\xbb\xf7\xe0\xf9\xf5\x37\xd6\x84\x9b\x87\xe0\x26\xd3\x84\x3d\x40\x1f\xba\xdd\xb0\xdb\x1b\xd1\x58\x9a\xe0\xf1\xda\xe8\x88\x72\x26\xb4\xc2\x53\xd0\x1c\xe5\x99\x38\x28\x8f\xc9\x1c\x95\x3a\x96\xa6\x49\xcc\x92\x39\xc7\xcb\x10\xad\x56\xab\x30\xed\x72\x64\x10\x53\xb0\xb4\xeb\xe4\x95\xe1\x75\xe5\xdd\xe0\x9e\xf0\xda\x4c\x9f\x8b\x77\x79\x43\xd7\x86\x6b\x6d\x40\xbe\x72\xfb\x71\xaf\x7c\x8b\xa0\x42\x78\x3e\xbf\x77\x8d\x59\x51\xbd\x45\xb0\x89\x6f\x34\x04\x51\xfe\xc3\x97\x9d\x9f\xb6\x3e\x3b\xf6\x97\xdc\xbe\x02\x1a\x7e\x1b\x25\x34\x73\xce\x5d\xcb\x34\xd3\x4b\xbb\x43\xab\x69\xa5\x70\x3a\x55\x8e\xb4\x73\x44\x16\x72\x0c\x8f\xbd\xb2\xbe\x1a\xcf\xa7\xcb\xd5\x55\x49\xe1\x2a\x85\x55\x1d\x38\x97\xf9\xd3\xa8\x52\xf6\x2a\x62\xf5\x5f\x20\xac\x74\xa9\x72\x55\x2a\xaf\x48\x5d\x53\x8d\x5a\xe6\x09\x54\xad\x45\x61\x8f\x72\xaa\x93\x3a\xb4\xbb\x86\xde\xe4\x2a\x38\xf0\x0a\xf7\x13\x66\x84\x9c\xf1\x39\x31\xea\x80\x66\x23\x9f\x74\xf3\x96\x0b\x4b\x1d\x73\x40\x29\xe0\xf4\x83\xbb\x28\xe6\x96\x40\x10\x56\x7b\x1f\xdf\x7c\xac\x4f\x69\xc6\x8f\x93\x46\x8f\x84\xd3\x99\x0c\x65\xa1\x14\x8c\xf7\x98\x26\x25\x21\x29\x0b\xe6\x23\xa6\x52\xeb\x24\x47\xd6\xfd\x7e\x5e\xa6\x86\xb1\x12\xbf\x12\x33\xcc\xf4\xac\x5c\xbb\xcb\xeb\x76\xd7\xd4\xec\xae\x33\xcc\x46\xb1\xc3\x61\xce\x69\x73\x55\xc3\xbc\x44\x95\xfb\x76\xc3\xac\x34\xc4\xbf\xc0\x30\xdb\x8b\x8b\x1d\xbe\xe8\x46\x2b\x8b\xb6\xb9\xc4\x49\x7e\x95\x21\x60\x61\x19\x2e\xc8\x6c\x9e\xce\x12\x5c\x5f\x31\x6c\x72\xc8\x51\x37\xa0\x6e\x3e\x27\xf0\x82\xd0\xde\x2a\x3e\x09\x5b\xac\xa5\x56\x64\x99\xb2\x49\x2f\xc9\xf6\x99\xbf\x72\x3b\x09\x75\xb0\x65\x00\x7b\xff\x5b\xfb\xf4\x55\xad\x73\xf3\x34\xb2\x16\x39\x6b\x6a\x60\xcc\x37\xcd\x9a\xb6\x45\xca\x3a\x81\x35\xf3\x4c\xc9\x6b\x53\x10\x26\x83\x2a\xea\x2c\x5a\x55\x33\xea\xcb\xe7\xf7\x25\x2b\x61\x89\x05\xd5\xbd\xe3\x79\xc7\x0c\xb7\xc4\x0c\x78\x85\xb6\x94\x1d\xd4\x15\xf9\xef\xcb\x10\x5b\x3b\x9b\xdb\x2b\xb2\x84\x7b\x6d\xe8\xca\xed\x56\xbb\x0d\x47\x7c\x18\x3f\x46\x74\x7f\x1e\x87\xff\x2d\xfa\x22\x6f\x44\x4b\xa1\xa7\x8f\xf8\x8d\xa8\xc7\x65\x86\x4e\x59\xc1\x7d\x49\xbc\xa9\x7b\xe2\x95\xe7\x43\xa2\xf7\x2f\x61\x20\x37\xa9\xd7\x70\x84\xb4\x5c\x63\xc1\x67\x9a\x05\x4b\xdd\xc1\x00\x1d\xed\x13\x66\x39\x2b\x16\x7c\xc3\x1c\xdf\x8c\x28\x1c\x1d\x5f\xdb\x35\xc3\x1e\x56\xd3\xee\x73\x9b\x08\x16\xda\xa4\x6f\x9c\xde\xaa\x7c\x34\xee\x15\x96\x44\xa8\xe1\xf9\x0e\x2e\x39\x9f\x64\x60\xda\xd7\xe0\xfa\x1a\x67\x5b\x67\xb3\xb4\x8e\x7c\xec\x2b\x57\x1d\x1f\x86\xd4\xb7\x2e\x0e\xf9\xe4\x88\x46\xd1\x90\x8e\x8e\xcd\x6e\x1b\x97\xca\xf8\xf9\xbd\xfc\x5a\x6b\xaa\xe9\x21\x96\x65\x49\x9f\x60\x53\x76\x19\xa3\xcc\xdf\x97\xc5\x5a\x23\x89\x9c\x19\x39\x54\x92\xff\x2f\x7b\x7f\xdf\xdd\xd6\x8d\xe4\x0b\xa3\xff\xeb\x53\xc0\x8c\x4f\x48\x3a\x14\x65\xbb\xa7\xef\xb9\x47\xb6\x94\x71\x14\x77\xb7\xa7\x13\xc7\x2b\x72\x92\x33\xd7\xad\x19\x82\xdc\xa0\xb8\xa3\xcd\xbd\xd9\x1b\x9b\x92\xd9\x0e\xd7\xba\x1f\xe2\x7e\xc2\xfb\x49\x9e\x85\x7a\x01\x0a\xfb\x85\xa4\x6c\x67\xd6\x9c\xe7\x69\xad\xac\x58\x22\x81\x02\x50\x28\x00\x85\x42\xd5\xaf\x96\xac\x1c\xa3\xae\xdc\x1f\x0e\xfa\x50\xd4\x51\x8b\x54\x65\x26\x20\x63\x9f\xdc\xd5\x18\x54\xe8\x91\x9a\xae\x2b\x65\xf5\x9d\xea\x8b\xf4\xa4\x3b\x7e\xfa\x93\x0f\x4f\xb6\x93\x71\xbf\xc9\x97\x36\x75\x9a\x06\x31\x20\x66\x92\xfc\x86\xd7\x27\x62\x64\xed\x4d\xab\xee\xde\xff\xb1\xef\x50\x23\xe2\xb0\x70\x1e\xf7\x81\x6d\x67\x3b\xa6\x9e\x9a\xeb\x8b\x40\xb8\xfe\x28\x38\xb6\xd2\x47\x23\xa0\x36\x64\xbb\xca\x3c\x84\xb3\x1d\x46\x3b\xc4\xbf\x05\xe2\xe1\xb3\x11\x12\xc4\xc5\xb4\x7f\xb5\xb7\xac\xe6\xe6\x2a\x6a\x5b\xd5\x9f\x6b\x3d\xb7\xae\xd9\xda\x4a\x7d\x26\x7d\x4b\x7f\xb8\x35\x65\x99\x26\xb8\x6d\x3a\x3e\x25\xba\x4c\xd4\x84\x77\xee\x89\x9a\x9a\x99\x5e\x5b\xfc\x5e\x78\xc2\x92\xf7\x05\xf8\xd0\xb2\xa4\x00\xa4\x15\x1e\x8e\x90\x05\xb8\x50\x13\xe0\xde\x04\x9b\x7a\x4b\x08\x59\x4c\x91\x82\x25\xf1\xc0\x52\x53\x93\x15\x77\x23\x72\x52\x9d\x15\xcb\x95\x2e\xc9\x5d\x63\x22\x1e\xcf\x26\x18\xed\x37\xf1\x12\x04\xb7\x4f\x42\xb1\xa2\x73\xbb\x42\xd0\xac\x69\x51\x64\x46\x03\x9a\x43\x74\x18\x75\x5e\x0f\x22\x0b\xe6\xd9\x99\x70\x87\xdf\xde\xfb\x12\x4e\xb4\xcc\xdf\xd7\x3a\xb3\xfc\x04\xe1\x3b\x3d\x6c\x5c\xed\x0f\xb0\x45\x44\xdd\xfb\x5a\xac\xa1\x53\x21\xf4\x22\x36\xe5\x08\x42\x6c\x7d\x80\xad\x0f\x6b\x3c\xf2\x21\xb6\x6e\x2f\xd0\xa5\xd1\xf0\x49\x69\x10\xd0\x52\xbd\x3c\x52\x58\x2f\x0a\xb3\xa5\x20\x5b\xae\xe2\x21\x0d\xd9\x3b\x1c\xa6\x85\x63\x69\x7d\xf4\x6c\x9a\x5f\x8f\x21\xac\x54\x7e\x02\x4e\x34\x52\xdb\x7a\xa4\x56\x18\x45\x9b\x02\x9c\x1e\xda\xc4\x7c\xca\xe8\xd2\x28\xf3\x5e\xcf\xaa\x6c\x13\x7c\xb7\xe1\x05\xb5\xf0\x32\xe4\x48\x10\x18\x66\x7e\x3d\xf6\x23\x3d\xa5\xf4\xf7\x32\x2c\x74\x3b\xe6\xe1\x7d\xa6\xd0\xe0\xdf\x2d\x30\xf8\x77\x46\xc0\xfc\xdd\xf1\x2f\x7f\x6f\xf4\xcb\xcf\x86\x7d\xf9\x5f\x80\x7c\xd9\xc0\xbd\xfc\xfd\x51\x2f\x7f\x67\xcc\x4b\xa5\xf3\x0d\x35\xd2\x32\xa8\x4f\x43\x7f\x6c\x43\x7d\xe4\x65\x0e\x18\x6e\x80\x86\xc8\x50\x9a\x41\x84\xc6\xca\x6b\x5b\x9e\x27\x93\x13\xf4\xda\x38\x99\xd0\x43\x44\x96\xe6\x86\xeb\x5a\x37\xe2\x09\x16\x80\xef\xa9\x05\xff\x35\x9b\xc9\xb5\x45\x8d\x41\x34\x66\xbb\x06\xfc\xd9\x42\xdd\x0f\x0f\x74\x0f\xfd\xa0\x43\xef\x6c\xab\xde\x61\xf0\xcf\x99\x5b\x49\x57\xea\xd5\x9c\x8f\x64\x38\x2b\xe2\x2c\xd3\x00\xcf\xbc\xae\x8a\xa5\xae\xd2\x99\xce\xdc\x46\xcb\x91\x4f\x78\xb7\x3d\x52\x8f\x4e\x0e\x39\x50\x08\xc4\xe1\xe0\xd3\x24\x1a\x07\xef\x83\x63\x74\x05\x05\x1c\xcd\xaa\xb8\x36\xd5\xc2\xed\x96\x6e\xe8\x7e\x8b\xc7\x9d\x7a\x42\xbf\x4c\xb6\x23\x77\xe8\xaf\xca\xe2\x36\x4d\x1c\x13\xc5\x59\x33\x72\x6d\x61\x33\xf0\x24\xc3\x8d\x8c\x6a\x87\x10\x30\x11\x1f\x4e\x78\x3b\x9e\x17\x28\xf7\xae\xa7\x7f\x14\x41\x5b\x16\x9d\x40\x8b\x6c\x33\x4f\xb3\x0c\x55\x14\x2c\x23\x64\x7a\x6a\x16\xfa\x36\x45\x3f\xfc\xd8\x43\xdf\xf2\x01\x74\x00\xd4\xb5\x04\xba\x7e\x5d\x40\x7c\x4e\xb9\x51\x73\xa3\xab\x75\xe9\xce\x94\x39\xa7\xab\xd6\xb7\x3a\xcd\xe0\xcc\x72\xed\x69\x8e\xa8\xc4\xfe\xc2\xd8\x2e\x57\x66\x96\xce\x71\x7a\x47\xe8\xfa\x23\x8f\x63\xf4\xfc\x5f\xe8\x3c\x81\xf8\xaa\xdb\x54\x03\x52\x0b\x28\x5e\x60\x24\x59\xe7\x14\x71\x64\x12\xbc\xb6\xe0\x93\xde\x3c\xcd\xcc\xd5\x04\x5a\x60\x9c\xe9\x7f\x9e\xae\x1d\x2b\x52\x1c\x7b\xf5\x16\xc2\x86\x9c\xfa\x85\xea\x16\xee\x3f\x0f\xa7\x7f\x1e\x4e\xff\x3c\x9c\xf6\x1e\x4e\xae\x2f\x70\xbb\x84\x86\x0c\x78\x4a\x5a\x7a\x61\x4f\x84\x03\x02\x3c\xc7\x73\xdc\xec\x15\x6f\x0d\x96\x6f\x9d\xd8\x9e\x0f\xbb\x15\xb3\xea\x5b\x3a\xaa\xa3\xc9\xd4\xb0\x64\x3a\x21\x64\xe0\x8b\x3a\x7e\xcc\x3e\xf4\x98\x16\xec\x98\x3a\x74\x8c\xa4\xdb\x82\x1b\xf3\x59\x61\x63\x08\x10\x06\xa2\xd2\xce\xd4\x07\xd7\xef\x53\xd5\xbf\x5e\x1b\x0b\xe1\x9d\xda\x56\xa7\xaa\x7f\x9b\xda\xb4\x2a\xca\x7e\x0d\x8e\x4d\x22\xc5\x34\x70\x62\xe0\x28\xbc\x0f\x2c\x4c\x0b\xac\x4c\x9c\x44\xc9\x75\x11\xfb\x17\x81\xbe\x20\xcc\x30\xe5\xb7\x22\x33\xb9\x04\x80\x71\x9f\x81\x25\xf8\x13\x72\x2a\x31\xdd\xfb\xa6\x55\x7a\x3e\x2d\xa3\x12\xdf\x69\x5b\xed\x1b\x83\xe3\x79\xeb\x18\xdc\x17\x35\x1c\x1b\x57\x82\x37\xf9\xb3\xde\x1f\xb0\x0a\x6f\xc1\x67\xbd\x27\x8f\x7b\xf7\x1e\x2a\x37\xcf\x43\xf5\xf4\xeb\x63\x7d\x5b\x14\x78\xe8\x7c\x6c\x0e\xa9\x46\x4b\xdc\xf1\xb6\x96\xdc\x51\xd3\xce\xd5\x26\xbe\xef\x22\xfa\xba\xaa\xce\x59\xba\x3f\xb8\x5f\xda\xe1\x76\x04\xdc\x70\x98\xec\x06\x0a\x72\xed\xab\x40\x6a\x1f\xa5\x06\x24\x73\xed\xab\x7d\x94\x02\xaf\x1a\x7d\xaa\x7d\x75\x38\xa5\x46\x9f\x6a\x5f\xed\xa3\xb4\x1f\x24\xba\xa3\xde\x47\xe1\x43\xef\xa4\xe5\x85\xb4\x95\x98\xff\xf6\x50\x6a\x5e\x2d\x6a\xa5\xc6\xdf\xb6\x50\x0b\x79\x59\x9a\xc0\x3b\x1f\x05\xd7\x74\xab\x4b\x45\xd2\x2b\x20\x87\xc0\x76\xf6\x0d\x83\x28\xb9\xef\x23\xe8\x25\xae\xe4\xe6\xf2\xe7\xfd\x70\xd3\x35\xa1\x6e\x90\x62\xb1\x38\x80\x54\x4d\x16\x3b\x49\xbd\x24\xd1\x3b\x88\x14\xb0\xbd\x41\xca\x2d\xfa\x03\x7a\xd4\xd1\x11\x1e\xf3\xab\x4e\x2c\x6d\x7f\x6c\xb4\xd6\xfd\x0e\x42\xe8\x76\xd6\x75\x03\x88\x91\xad\x3e\x16\x8a\x9b\x10\xa0\x80\x6a\x3b\xfe\xd3\x87\x1e\x1c\x70\xa7\x3d\x38\xb8\x7b\x23\x38\x44\x7a\xa7\x3d\x3a\xb8\x7b\xdb\x18\x1e\x4a\x10\xf4\x13\x7b\x30\xca\x16\x55\xf6\xfc\x3f\xb0\xe2\xb6\x83\x13\x2d\xb0\xde\xa8\xa8\xf2\x16\xd0\xcd\x97\x68\x12\xdb\x60\xaf\xe3\x02\x9d\x39\xcd\x0e\xe1\xef\x67\x63\x68\x0b\xc6\xd7\x81\x1c\x6d\xd4\xdc\xc1\xd2\x36\x86\x2e\xd3\x9c\xae\x4e\x70\x5f\x34\xd5\x6e\xce\x7a\x11\xef\xe2\x6c\x28\xf0\x49\x9c\x6d\x97\xdc\x0e\x0e\x47\x7b\xd1\x7f\x0f\x91\xcd\x8c\x85\xd4\x63\x41\x62\x05\xa7\x7f\x07\x16\x37\x80\xdb\xef\xcd\xe4\x8f\x67\x6d\xb7\xf0\x46\x3b\x7b\x57\xba\x00\x3e\x87\x7f\x77\xf1\x97\xd3\x13\x6c\x14\x6a\xa9\xdf\xff\x7e\xf3\x02\x91\x78\x65\x9a\xa4\xb3\x75\x56\xac\x6d\xb6\x81\xa6\x15\x1e\x21\xff\x87\x4e\x18\xab\x3a\x9f\x6f\xc2\xf0\x37\xa9\x1a\x49\x44\xc2\x47\x27\x47\x3e\xc3\xc5\xb7\x7c\xe1\x56\x67\xee\x46\x4b\xa6\xd6\xfe\x48\xf5\xd9\x2f\x01\x7e\x47\x7f\x04\xf8\x15\x1e\x5c\xfb\x18\x8d\x1d\x2e\xbe\xc1\x75\x21\xb8\x33\xb4\x39\x31\xd0\x5b\x2c\x3f\xcc\xa2\xad\xfb\x54\xf5\x5f\x12\x45\x5a\xdd\xa7\xea\x5d\xff\x6b\xf6\x0c\x21\xbc\x8e\x2c\xcd\x6f\x4e\xbd\x14\xad\x5c\x21\xdf\x7e\xb7\x83\x45\x14\x48\xcf\x5e\xe9\xf6\xdd\xe3\xab\x58\x20\x07\x29\x3b\x6b\xbc\x0b\xc8\x7c\xe0\xd4\x00\x9e\x06\x57\x1e\xaf\xc8\x15\x81\x9c\x41\xc3\x5d\x8d\xbe\x7b\x7c\x25\x58\x71\x88\x5f\xca\x8e\x9f\x6e\xbf\x90\x66\x30\xdf\x56\x3a\x3a\x6d\xaf\x9e\x1d\xc1\x54\x43\x14\xca\x7f\x5e\x7c\xf7\xe2\xf2\x12\x1c\xfa\x01\x49\x3c\x4d\x88\xe7\xaf\x5e\x37\xbf\xa7\xb5\x4d\x25\xde\xfc\xf8\xea\xf2\xed\xab\xd7\x2f\xa3\x22\xab\x12\x60\x3d\x58\x16\xbe\x7d\xf5\xe3\xdb\x7f\x8f\x0a\x24\x69\x59\x6d\xe8\xdb\x9f\x5e\xbf\xfd\xe1\xa7\x8b\xbf\xbc\x8c\x5b\x59\xe7\x55\xb1\x9e\x2d\x0c\xb7\xd3\x56\x26\x2e\xf1\xe6\xe5\xeb\x6f\x5f\xbd\xfe\x73\xdc\x11\x03\xda\x68\xff\x59\xfd\xa1\xc5\x4d\x5d\x78\x63\x21\x71\x1a\xbf\xc6\x7f\x83\x7d\xc4\x5b\xde\xd9\x34\xee\x8d\xef\xc2\x6d\xe3\x85\xcc\x1c\xc7\x86\x48\x7c\x95\x75\x85\xc6\x35\x0a\x8f\xb6\x4a\x38\x5f\x08\x80\x68\xaa\x03\xdf\x85\xd0\x63\x61\x6b\x9f\x42\x4e\x36\x6f\xc3\xf7\x14\x5f\x94\xa5\xde\x8c\x9f\xff\x89\x44\xfe\x7c\xab\xd8\xf7\x41\xc1\x57\xaa\x98\xfb\xf5\x00\x2f\xc1\x64\x91\x1c\x21\xda\xc6\x2a\x5d\x99\x2c\xcd\xcd\x08\xd4\x14\x73\x8b\x90\xd0\x8a\x5e\x9a\xb9\xfd\xd2\xe8\x84\x21\xdf\x7c\x62\xcf\x6f\x7f\xf8\x1e\x7d\x11\x02\x79\x5d\x1a\x80\x94\xc3\x34\x9f\x1a\xdb\x2f\x13\x27\x9a\x46\xcf\x16\x6a\xa5\x21\xc8\x9a\x9b\x48\x2b\x1b\x7b\x61\x54\x8b\xb2\x58\x5f\x2f\xf8\x7d\x39\x37\xef\x2b\x6c\xc2\x6d\x98\x71\xd1\xd4\xba\x5b\xc8\x9d\x2e\x13\xc3\xef\xd1\x4c\x36\x7e\xd6\x6a\x4e\xec\x17\xc2\x6b\x53\x4d\xc4\x1f\x93\xad\x9a\xb9\x12\x33\x7c\xc1\x3a\x7a\x43\x8c\x74\xc3\xa2\xe7\x33\x65\xb5\xbb\x3d\xfc\xc3\xa8\x13\xf6\x92\x91\xa9\x43\x77\xb5\xc9\x32\x73\x34\x09\xbf\x4f\xb6\xe3\xa3\xa3\x1f\x61\x5c\x4e\x7e\x26\xde\x95\x7c\x82\x7c\xd6\xec\xcd\xb3\x34\x3a\xb7\xfc\x27\x19\xd1\x8b\x19\x84\x4f\x25\x63\xf5\x2a\xa7\x64\x85\xda\x9a\xd1\x51\x5e\x7c\x12\x0b\xc0\x6a\x5b\xae\x73\x78\xc7\x82\x67\x7e\x7e\x17\x3c\xe2\x2c\x77\xec\x8d\x24\xba\xbb\xce\x41\x17\x8b\x1b\xfe\x81\x80\x09\x26\xf1\xdf\x63\x78\x64\xa0\x50\xc8\xc9\xf6\x28\x0d\xfe\x4d\x4e\x0d\x9c\xe0\x9c\xcb\xa1\xba\x12\x15\x18\x9f\xd3\xdc\x53\x63\xa3\x00\x14\x9c\x8c\x8f\x9a\x0b\xb6\x65\x71\x04\x77\xa3\xcf\xb0\x3e\x96\x22\xa9\x22\x59\xf5\x77\x2f\x89\xd2\x51\xb0\xa6\x7b\x69\xc8\xec\x2a\xd1\x62\xe0\x66\xf7\xac\x09\x10\x53\x1d\x65\xb5\xfc\xf6\x87\xef\x45\x3e\x46\x85\xd6\x5c\x90\x65\xe4\x85\x90\x64\x7a\xf0\x99\x17\xa5\x4a\x52\xbb\xca\xf4\x86\x37\x26\x7e\x4b\x76\x0c\x9e\x4c\x26\xbf\x5a\xf7\x8b\x77\x6d\xf4\x4c\x15\x1e\x56\x8f\x64\x38\xbf\xff\x24\x76\xbb\x1a\x57\xc5\x4f\xab\x95\x29\x2f\xdc\xb1\xea\x8e\xad\x47\x78\x4a\x3d\xc2\xff\xf9\x79\x6e\xf8\x88\xf1\xdf\x58\x67\x32\x99\x34\xe7\x1e\xc3\x3b\xc7\xcf\x71\x6b\x0e\x2a\xa7\x13\x02\x21\xfc\x2f\xc4\x92\x17\xe1\x17\xee\x2b\x58\x52\x6e\xfe\xf4\x6a\x95\xa5\x26\xe1\x11\x78\x51\xd8\x2d\x03\x37\x86\xd1\x30\xef\xd2\x6a\x41\x7c\xa4\x0c\x97\xa5\x99\x3b\x09\xe4\x7d\x2e\xbc\xb9\xfa\x36\x7c\x3f\xd4\xdd\x22\xcd\xd0\x5d\x30\x78\x72\x47\xd5\xc5\xeb\x9a\x1b\x3c\x25\x93\x7e\xdb\xf1\x8d\x4a\xad\x6f\x84\x9e\xf8\x93\xf0\xd8\x24\x47\xe3\x16\x80\xdb\xc5\xaf\xd7\xe8\x38\x96\x27\x6a\xb9\x0e\x32\xa7\xe1\x45\x15\xb0\xf1\xe0\x95\x89\x1e\xf2\x0c\x9d\xbb\xbe\x91\x22\xa7\xdc\xa9\x76\x55\xe4\xec\x62\xa6\xab\x9a\xb3\x40\x24\x58\x7e\xe2\x85\x7b\x3d\xfc\x7a\xe1\x13\x71\x1e\xe6\x68\xff\xe8\x60\x4f\xfb\x47\x41\x34\x4f\xde\x3d\x3e\xfe\x5f\x57\x5f\x9d\x48\x77\x7a\xf5\xe5\x97\x7e\x40\xee\xe7\xe4\x9d\x3e\xfe\xc7\xde\x32\x2f\x8e\xff\x3f\xfb\xca\xfc\xed\x97\xb8\x00\x74\x65\xfb\x71\x62\xad\xed\x26\x9f\xfd\xbc\x57\xb6\x71\xa7\x63\xe1\x36\xfc\x8a\xea\x7d\xcc\x94\x5a\x99\x12\xf1\x0e\x73\x05\x34\x17\x65\x91\x17\x6b\xdb\xcc\xcc\xad\xd5\x5f\xde\xbe\x7d\x03\xea\xb9\xb1\xd5\xb0\x21\x75\x01\xcf\x9b\xd2\x83\xb3\xc4\xf9\xa6\x52\x2b\x7b\x10\x64\x6b\x55\x16\xcb\xd4\x1a\x7a\x37\x85\xba\xee\x4c\x4a\xd6\x9c\xdf\x35\x88\x2a\x37\x46\x28\x2e\x63\xf5\x43\x3e\x33\x8c\xeb\xe2\x88\xc8\xc6\x12\x93\xa5\xb7\xe0\xe6\x51\xb1\xfb\x9c\x20\x61\x2b\x5d\xad\xad\xaa\x9d\x73\x20\xe7\xd0\x91\xf9\x3a\x9b\xa7\xb0\x99\xbb\xd5\x80\x72\x4f\x06\xb3\x5f\x39\x63\x07\xb5\xf5\x0b\x93\x6f\xe3\x60\x41\x5a\x45\x55\xa6\xd7\xd7\xae\x37\x74\x0a\x14\x73\xd9\x23\x57\xca\x9f\xc6\x29\xb8\x9d\xbb\x93\x24\xf3\x27\x33\x41\xd3\x84\x2d\x63\x4d\x58\xc9\x1c\xab\xbd\x5e\x25\xda\x71\xb6\x70\x1c\xd1\x59\x26\x29\x2f\xf4\xad\x51\x53\x23\x47\x35\x56\x2f\xd0\xb1\x80\xd7\x7e\x6b\xd7\x25\x3b\xd7\xb9\xaf\x3c\x02\x7d\xce\xed\x7a\xcc\x3e\x9d\x04\xe5\x4c\x85\xb7\x48\xa7\x71\xd0\x26\x31\x61\x4f\xd5\xcd\x58\xbd\xc8\x6c\x01\xfe\x07\x5d\x1c\x0b\xfb\xaf\x1f\xa2\x63\x8c\x1f\x5b\x07\x9f\x61\x9c\xee\x78\xc5\xd9\x71\x54\xde\x64\x46\x5b\xa3\x72\x9f\x45\x29\x9d\xab\x87\x8b\xaa\x5a\xf9\x23\xb4\x0a\x62\x97\x2e\x57\x45\x09\x91\x06\x5e\x2f\x87\x40\x8c\xd2\x83\x36\x68\x65\xd7\x33\x27\x7a\xbc\x1a\x68\xa7\x9b\x15\x89\x41\x7f\x29\x3c\xea\xe1\xcc\x45\x76\xd5\x05\xcf\xcd\xa8\x66\xf1\xc3\xfc\xf6\xc5\x5c\x4d\xfe\xe5\xfd\xfb\x49\x54\x1d\xe5\xac\x56\xbb\x7b\xff\xac\xed\x08\x63\x0c\xe1\xf9\xc9\x9a\x32\xc7\x80\xa6\xcf\xbb\x87\x62\xe1\x93\x13\xf5\x5d\x51\xdc\xac\x57\xf8\x7a\x32\xdd\xc0\xbf\xae\xc1\x68\x9b\x05\x86\x43\x4a\xa5\xfe\x89\x5e\xa5\x27\x80\x61\x7f\xd2\x57\x5f\x51\xb8\x73\x58\x4a\x6e\x32\x06\xe2\xf0\xb3\x45\x76\x6b\x92\x81\x50\x2a\xa0\x55\x6e\x85\x80\xc3\x11\xd6\x96\x34\x67\xb9\x27\xe9\x34\xb3\xa2\x22\x77\xe7\xef\x63\x64\xee\xa0\x8f\xf5\xfb\xac\x90\x38\x9d\x64\x24\x0f\x5f\x5c\xea\xdd\xed\x7b\x67\x16\x20\x34\x42\x70\xaa\xb9\x47\x27\x90\x5b\x96\x13\xcb\x96\xce\x10\x0e\x3d\xb7\xbe\xf7\x54\x68\x51\x74\xdd\xc4\xa0\x77\x0a\x63\xe2\xee\xd1\x78\x23\xb5\x86\xdb\x0e\x7e\x40\x6a\xa1\x2d\x29\x38\xee\xc6\x01\x4b\x83\x14\x5b\xd0\x1e\xf2\xc2\xab\x0a\x16\xbd\x01\x1b\xd7\xbb\xe0\x43\xe2\xe7\xf6\x2d\xc2\x35\xe4\xb0\x59\x59\x54\x92\x57\x99\x9e\x61\x40\x44\x92\x00\xd6\xbe\xce\xd4\xc3\x3b\x5d\xcd\x16\xc6\x22\x36\xb9\xad\xea\xca\xca\xb8\xeb\xa4\xdc\x2a\x7a\x6b\x7d\x91\xb3\xf2\xb5\xd0\x76\x41\xfe\xf5\x59\x06\xe2\x40\x77\x77\x52\xb8\xd2\xc4\xba\xfd\xef\xc6\x6c\x6c\xfd\xb6\xed\x69\xd2\xfe\xd5\x49\x95\xbf\xef\xa4\x5a\x23\x4c\xae\x3c\x5b\xf5\xd0\x1b\x3f\xd4\x5b\x77\xec\xa4\x73\x7f\x0b\x77\x13\xe0\xa4\x2a\x2b\x6c\xa5\xe6\xc5\x6c\x6d\xd5\xc6\x54\xf5\x2e\x06\x4a\xbb\xe8\x04\x1a\xdd\xf5\xd9\x92\xe3\x09\xc0\x72\xe6\x5e\xb0\xaf\x92\xd4\x1e\xb9\x85\x9d\xdd\x02\xfb\x4f\x93\xa6\xce\x4a\xa3\x93\xcd\x2e\xba\xdd\x34\xd1\xe2\xcc\x34\x11\x0c\x0e\x7c\x08\xf1\xfe\xd8\x5d\x91\x8d\xd5\x5c\x55\x57\xca\x9d\x0d\x95\x2a\x72\x7f\xcd\x6e\xde\x80\xda\x6c\x42\xb0\xf2\xdf\xb2\x36\x1f\x9c\xee\xe8\x48\x17\xd5\x5b\xdc\x77\x61\x61\x37\x6e\xe9\x93\xe0\x83\xfb\xe2\xcd\x2b\xb8\x96\x35\x6d\x0d\xc2\x6d\x37\xb8\x10\x43\x2f\xdf\x46\xa7\xae\x80\xad\x33\xe5\x6d\x3a\xe3\x7b\x9e\x74\xee\x15\x5b\xd3\x48\x5d\x5c\x5e\x92\xfe\x60\xbd\x77\xef\xda\xf0\x5d\x8f\x34\x7c\xc6\x6f\x85\xc0\x94\x57\x15\xc7\x03\xcf\xd7\x59\xb6\x09\xfb\x20\x35\xad\x74\xbe\x51\x59\x71\x9d\xce\x18\x3b\xdf\xe8\xcc\xe2\x34\xbb\x5b\x2a\x86\x61\xb9\x65\x83\x4a\x06\x86\x6a\x81\xbe\x57\x40\x01\x44\x0e\x47\xff\xdb\xf5\x8c\x2b\x65\xa0\xe2\x20\xdd\xf0\x0c\xe1\xef\x36\xd3\x8d\x2a\xc0\xe7\xd9\x73\xc7\x52\xf3\x10\xde\x8a\x91\x53\x5d\x13\x50\x67\x11\x45\x47\x81\x94\x93\x85\x17\xfb\xc3\x3e\x76\x7e\xc6\x60\xab\x77\x1d\xc4\x8e\x39\x42\x4b\xb7\xe8\x68\xf6\xd0\x03\x09\xbd\x7e\x27\xdb\x1a\x2d\xc2\xa8\xc9\x13\x1f\xbd\xb3\xd2\xd7\x06\x82\x31\xdc\x5e\x39\x4f\x41\x5b\xd8\x6b\xe4\x99\xad\x6d\x55\x2c\xd9\x0b\xec\xd8\xbb\xd9\x3d\x52\xf8\x4d\x18\x09\x7e\xb3\x45\x0d\x67\x6d\x4d\x30\xd9\x48\x66\x54\x85\xe2\xf0\x8f\x09\x84\x3e\xe6\x95\x49\xd2\x4a\x4f\x33\x33\x89\x46\x10\x7b\xf5\x3d\x52\x5f\x7c\xf1\x85\xba\xc0\x26\x89\x9e\x7a\x19\xbe\x85\x33\x80\xdd\xfe\xec\xa2\xb8\xb3\x6a\x51\xdc\x91\x6b\x64\xeb\xac\xe0\x36\x5b\x1f\x45\x55\x28\x3d\x5b\xa4\x06\x3d\xe8\xe3\x98\xa9\xd7\x45\x95\xce\x0c\xd0\x15\x80\x8d\x41\x20\x06\x8d\x01\x8d\x84\xc3\xf6\xa8\x16\xa5\x33\x04\x1e\x16\x59\xa6\xa7\x45\x09\x99\x75\xd8\xaf\x3e\xf4\x01\xa1\x8e\x8d\x85\x47\xc9\xd2\xd8\x75\xe6\x1d\x1e\x45\xf6\xce\x06\x1b\x53\x50\xbc\xd1\xff\xdd\x6f\x22\xec\x50\x59\x19\x76\x90\xe7\xdc\x15\x55\xa1\x32\x53\xc9\xb0\x20\xec\x1a\x50\xb5\xe0\x81\x9a\xa4\x95\x3c\x57\xa7\x18\xf6\x05\x0f\x60\x74\xfe\x7a\xbf\xd0\xbb\xa2\xbc\x69\x40\xe0\xfb\x19\xfd\xc5\x90\x25\x94\x6f\x60\x21\x44\x8c\xb6\x94\xd3\x87\x76\x66\x94\xfb\xdf\x96\x77\x19\x44\x0a\x00\x75\x20\x9f\x65\x6b\x0a\x8c\xf4\x35\x2f\xd9\x9c\xfa\x90\x0d\xab\x60\xf9\x41\x6f\x4c\xe0\x66\xe4\xaa\x5a\x9a\x65\x71\x6b\x54\x6f\xaa\x93\x1e\x8f\x52\x65\xe9\x8d\x61\x5f\x5f\xf4\xbb\xf7\x41\xa5\x78\x4b\x9d\xa0\x47\x5c\x91\x43\x0c\xe8\x59\x6f\x3c\x1e\xf7\xce\x27\xa8\x60\xfe\xa5\xb8\x73\x3a\xcf\x88\xe0\xa2\xc2\x00\x27\x6e\x18\x13\xa1\x67\x04\x24\xa9\xc4\xcc\x20\xc2\xb3\xe0\xd5\xae\xd6\xb9\xd5\x73\xe3\x7b\x84\x80\x05\x4b\x5d\xde\x80\x6e\x87\xb6\x59\xfa\x2e\xb0\x8f\x5a\x20\x46\xf9\x30\x86\xd8\x01\xb6\x21\xfd\x22\x8b\x22\x88\x3f\x7d\xd3\x53\x89\x59\xd9\xb3\x1e\xf9\xb3\x1e\x33\x3b\xc7\xbf\x5a\x72\x69\x92\x4e\x50\xb6\xda\x64\x66\x3c\xb3\xd6\xbb\x3b\xbd\xab\x49\xe2\x95\x78\x07\x9b\xc2\xf5\xe3\x54\x3d\x59\xbd\x57\xb6\x70\xc7\xe5\x34\x83\xf0\x66\x5f\x40\xcf\x6e\xae\xcb\x62\x9d\x27\xc7\x90\xfe\xf4\xd4\xc9\x6b\x65\x22\x50\xf9\xe3\x85\x49\xaf\x17\xd5\xa9\x7a\xfa\x78\xf5\xbe\x81\xee\x3e\x0e\x8f\x4b\x3b\x1b\x2e\x03\xca\x0a\xd5\x8d\x9e\x33\xe5\x10\xe1\x78\x0d\xc3\x6f\xc9\x12\x29\xf9\x07\xae\xbb\x41\x1e\xfb\x57\xc3\x90\xff\xd6\xef\x13\x10\x8b\x2e\xb9\xc4\x0e\xbf\x75\x77\xdf\x9a\xb3\x6f\xf4\xbc\x19\x3e\xf4\xcf\x9c\x2f\xfa\x23\x48\x33\x01\xc0\x19\xae\x25\x8d\xf9\x25\x7c\xcc\x26\x6f\x04\x35\x02\xf4\x28\x1a\xde\x44\x81\xcc\xb5\xa9\x94\xc6\xd4\x5e\xc5\x5c\xb5\xbc\x6b\x89\x1f\x7c\x3d\xdd\xf9\x60\x6a\x47\x7c\xc4\x34\x3d\x98\x21\xa4\xdf\x7f\x4b\x09\x47\x5c\x1f\x92\xc2\x6d\x28\x0b\x48\x41\x36\x77\x7a\x18\xef\xa5\x47\x35\x0a\x27\x27\x14\x4a\xb3\x81\xcd\xf9\xa7\x57\xe2\x08\x27\xeb\x45\xad\x86\xbf\xdc\x76\x47\x6d\xcb\x1f\x76\x9c\x5f\x54\xcb\x0c\xa6\x06\x5e\xcc\xcb\xb5\xad\x4c\xf2\x17\xf7\x59\x30\x36\xfa\x57\xbd\xdf\x7e\x53\xfd\x46\x42\xc5\x00\x51\x14\xf5\x1e\x6f\x57\x70\xbe\x53\x4a\xc7\x90\xdf\xc4\x60\x64\x0e\x9d\x42\x47\xed\x1d\x2b\x30\x19\x31\x04\x45\xac\x57\xca\xe7\x04\xd9\x39\x2a\xf4\x1c\x7f\x68\x6e\x75\xf6\xc2\xdd\xf1\x07\x4e\x79\x6e\x76\xb8\xf1\x89\x2b\x36\x18\x3e\x43\x3c\x16\x76\x83\x6b\x19\xd5\x2f\x65\x5a\x61\x94\x31\xdb\x6f\x62\x18\x64\xfc\x11\x77\x62\x9d\xb4\xf6\xf3\x56\x97\xca\x71\x5e\x00\x20\xc2\x44\x34\x3a\x16\x72\x16\xdc\x19\x05\x9e\x1f\x5e\x6d\x76\x2b\x80\x17\x5c\x74\xf8\x65\x46\xbb\xb3\x5b\xab\xe7\xd3\xf2\x5c\x4d\xcd\x22\xcd\xeb\xc2\xc2\x69\xb7\xdc\x52\x5b\x1d\x4f\x4b\x19\x19\x14\xac\x91\x68\xee\xb9\xc3\xac\x04\x2b\xd4\xb8\x8a\x75\xd5\xa0\xe5\xc4\x1d\xd7\xc4\x18\x4a\x7e\x53\xaa\x2f\xbf\xa4\xf1\x9d\xa9\xbe\xeb\x46\x5f\xb5\xb1\x41\x31\x13\xfa\xcd\x84\xee\x02\x71\x97\x7f\xbc\x48\x46\xc8\x07\x8e\x44\x73\x8a\x8f\xba\xfe\x92\x10\xf4\x1c\x2c\xd0\xb5\x59\xb6\x04\x4b\xec\x0a\x09\xc0\x50\xbb\x78\x2b\x8c\xfa\xc1\xd5\x7e\x49\x93\x6b\x53\xd5\xbd\xe9\x2f\xb0\x66\xec\x4f\xcf\x33\x74\xd6\xab\xca\xb5\xe9\xb5\xed\x74\xc9\x39\x85\xdb\x2c\xcd\x83\xc8\xdb\x97\x7d\xde\xeb\x5e\xee\xdc\x81\x66\xe8\x40\x3d\x58\xc0\x8f\x4c\xf8\xaf\x3f\xf7\xc1\xf9\xed\xdd\x3f\x7f\x7e\xc2\x25\x84\xdb\xb1\xf7\x87\xef\xe2\xf5\x61\x0e\xc8\xc2\xa7\x2a\x84\xf0\x39\x35\x6a\x6a\x66\xc5\xd2\x7b\x59\xb5\xef\x13\x4e\x4e\x39\x27\x17\x84\xf0\xd8\x31\xaf\x19\x27\xa7\x56\xcf\x75\x99\xf6\xdd\x36\xb7\xa3\xd4\x3c\x2d\xcd\xbc\x78\xdf\xaf\x61\xb2\x5f\x42\xe5\x6f\xcb\xf4\xd6\xdd\x29\x75\xde\xa7\x30\x47\xd3\x29\x10\x27\x27\xd0\xf1\x3f\x21\x3d\x95\xc8\xaa\xb8\xd2\x6b\x35\xad\x82\xb8\xcc\x3b\x93\x85\x0d\x47\x26\x27\x94\x10\x88\xbe\xf2\x4b\xde\x21\x22\xa7\xe0\x99\xb5\x83\x7e\x43\xb7\x11\x7b\xbb\xa0\xe0\x96\x67\x10\xb0\xbe\xdf\xec\x7d\x62\xf7\xa8\x9d\xd8\xf1\xea\xe5\xdf\xd7\x3a\xe3\x22\xc1\xe3\xac\x5e\xa7\xe6\xd2\x56\xff\xda\x3b\xb4\x09\x19\xf9\xab\xd9\x8c\xbf\x79\x71\xf1\xd7\xff\xbc\x7c\xf3\xe2\xe2\xa5\xaf\x7a\x78\xa7\xfa\xfd\x03\x2a\xbd\xe0\x6d\x71\xd0\x87\xc0\x91\x3e\x10\xf8\x5e\x57\xb3\xc5\xe0\x24\xe8\x66\xc7\xbc\x82\x4e\x22\x14\x3a\x21\xec\x8f\x62\x9f\x32\xfc\x0f\x3d\xcb\x1a\x9a\x08\x3a\x97\x71\xb8\x54\xff\x21\xa6\xd7\x4b\x8b\xfc\x2f\x20\x50\xe8\x58\x06\xdb\x2d\x7e\x8d\xd3\x2a\xdd\xcd\xdc\xf7\x79\xba\x44\x58\xf7\xfe\x43\x4a\x31\x07\xbf\x97\x45\x51\x5d\x7a\xd2\x7f\x87\xff\x83\x6d\x69\x55\x64\x50\xbe\xe6\xaa\x46\xaa\x4f\xa3\x13\x23\xf5\x10\x3d\xb8\x1e\x7a\xad\x88\x41\x6f\xb8\xed\x91\xe2\x96\x47\x2a\xb4\x3b\x52\x0f\xff\x3e\x52\xb2\x4d\x5c\x49\x90\x6c\x4d\x28\x1b\x67\x0a\x31\x06\xc7\x94\x0a\x03\xbf\x17\x56\xf6\xf6\x02\x0f\x4b\x7d\xf7\xbd\x2c\x14\x60\x08\x21\x71\x4f\x55\x30\xde\x0b\x62\xf7\x4b\xbb\xfd\x09\x5d\x69\xac\xa9\xd0\xcf\x04\xe3\x1d\x4b\x73\xad\xcb\x04\xfc\x38\xf8\xb5\x30\xad\x36\xe3\xd0\x67\x09\xa0\x8c\x30\xc5\xf8\x45\xfd\xe1\x31\xfe\x96\xfd\x91\xce\xd4\xbb\xab\xf0\xa9\x70\xc4\x88\xbf\x68\x33\x5c\xc7\x25\x82\x89\x34\x64\x6c\xc5\x6f\xc2\xe7\x1e\x6b\x86\xfa\xc0\xb6\xcc\x7a\x0d\xb4\x46\x36\xca\x73\x78\x4d\x5c\x98\x6f\x28\x8d\xe2\x3e\x9c\x67\x0b\xcc\xbf\x31\x66\xe5\xfd\x60\x6f\xcc\xc6\xc2\x2d\x38\x4c\x1d\x3f\x17\xc5\x15\xba\x8a\xb3\x2d\xb9\x3e\xc5\x50\x89\xbf\x6c\x56\xa3\x17\x1e\x29\x80\x83\x87\x1e\x9a\x0d\x75\x5c\x86\x63\xe2\x10\xc5\x67\x47\x47\x12\xfa\x2b\xa1\x25\x1b\x40\xbd\x1e\x32\x84\x28\x68\xfc\xec\xc2\x18\x15\xc6\x90\x74\x46\x8b\xe2\x4f\xc7\x1a\x3e\xe6\x1a\x44\xe1\xcf\x90\xf0\x20\x2a\x58\x2b\x71\xd9\x2c\xf1\x22\xa2\x44\x0c\xf8\xd6\x4c\x8b\x75\x3e\xe3\x04\x03\xfc\x2d\x24\x4a\x39\x03\x8e\xc0\xa6\xcc\x13\x60\x2a\xf6\x4d\x12\xd7\x07\x4a\x9b\x12\x83\x4f\x15\xbe\x1c\xfd\x16\xc0\xcc\x44\xde\x15\xce\xb8\x72\x6d\x9c\x48\x5f\xc2\xff\x63\x28\xf0\x34\xbf\x2d\x6e\x0c\x8f\xba\x82\xdd\xaf\x8d\xa9\xea\x2b\xd5\x1f\x0c\xfb\x51\x62\x23\x51\xf7\x72\x6f\xdd\x87\x0f\x1f\xae\x86\xc2\xeb\x39\x62\xf5\x8e\x98\x54\x80\x82\x95\x1b\x4a\xc4\xf4\x20\x21\xbe\x53\x80\x08\xf7\xa7\xe6\x03\xe2\xb0\x96\x79\x4a\xd2\x6c\x70\xa1\x49\xb7\x91\x80\x22\x10\x68\xe0\xfe\x47\x42\xd2\xd8\xcb\xf3\x1a\xe6\x62\x4b\xaf\x5b\xc7\x58\x1b\x40\x83\xfb\xbe\x81\x0f\x8e\xd7\xa7\x8d\x8c\x34\xf2\xda\xd5\x92\x59\xaa\x45\x98\x3d\xc5\x3a\xa9\x36\x5f\x5e\x3a\x79\x91\x70\x00\xd5\xab\xad\xb4\x3a\xb0\x5e\x03\x7d\xba\xc8\xb1\x60\x7f\xa4\x7a\x2f\x43\xdc\x7a\xff\xc3\xe3\x6d\x1f\x1f\x4f\xf2\x63\xed\xe1\x25\xc6\xea\x25\x1e\x7f\xa7\xea\xc3\x93\x6d\x4f\x4a\x67\x24\x82\x23\x05\xe9\xb6\xd3\xfc\xfa\xad\xbe\x1e\xf0\x99\x39\x6c\xa6\xe1\x7d\xf4\xc8\x7d\xe2\x9d\x72\x97\xa6\x5a\x14\x09\x7f\xb4\xd3\x31\xf7\x0b\xba\xf9\x43\x61\xaa\x11\x3d\xa7\xb8\x4f\x2e\xe8\x69\xd2\x3b\x79\xa4\xe6\x0e\xb2\x73\x5a\x8a\xcc\x27\xe3\x02\x3f\x65\x06\x27\x14\x7e\xe4\x87\x97\x29\x7a\xbd\xf1\xd6\x0b\xa0\xed\xed\x41\x68\x39\x0d\xe8\xbe\xf4\xe0\xec\x46\x32\x16\xbd\x7b\x0b\xc6\x3e\xec\xf4\x60\x38\xa1\x12\xf0\x1c\x0a\xa2\x95\xb0\x97\x1d\x42\xa4\xb8\xed\xdc\xa6\xd5\x1a\x3d\x75\x4e\x05\xa1\x47\x8e\x4c\x81\xe0\x82\xe1\x5e\x38\x9c\x84\xb7\xd8\xb1\x72\xb7\x5d\x32\x64\xba\xa2\x8e\x98\x2b\x1e\x98\x40\xde\x85\x78\xab\xcf\xb4\xad\x90\x36\x66\xac\x4d\xab\x00\xa8\x00\x97\x62\xd9\xef\xf0\xe2\x5b\x15\xc4\x3f\x81\x50\x10\x5e\xb8\xb0\xab\xc1\xb9\x19\xdc\xd5\x4c\x3e\xc3\xc7\x98\x18\x07\x85\x5e\x94\xdd\x55\xfc\xba\xd4\xcb\x60\xea\x85\xbb\x4e\x41\x0f\x80\x31\x64\x9d\xce\x13\xee\x33\x7e\x19\xfc\x69\x61\xdc\xc1\xc2\x5f\x15\xe8\x26\xe9\xd4\x33\x39\x23\x97\xa9\x3b\x2a\x44\x4f\xfc\x53\x55\x52\x28\xad\x12\x77\xb2\xc2\x8b\xf3\xa8\xce\x00\xb0\xd1\xf9\x69\x13\x10\x16\x16\x5e\x91\x14\xcc\x51\xad\xb3\xcd\x1e\xa2\x6b\x66\xb6\x89\xbb\x5a\x2d\x4c\x1a\x52\x74\xd1\xc3\xb6\x9b\xcf\x88\x22\x36\x52\x94\x4d\xaa\xf8\x12\x6d\xd5\xa0\xd4\xf8\x18\xb1\xd0\x39\x78\x95\xd0\x9b\x1a\xa1\x4c\x0f\x9b\x33\xeb\x5f\x00\xa6\x06\xc9\x8b\x11\x6e\x8a\x35\x8e\x9a\xcc\x5b\xda\xfb\xec\xf0\xd3\x28\xb5\x8b\x0c\x3e\xf1\xa7\xac\xb7\xcf\xe5\x45\xb1\xfa\xf4\x45\x4f\x70\x83\x3b\x57\x3d\x43\x22\xce\xc4\xea\xe7\xac\xbc\x55\xa1\x12\x53\x99\x72\xe9\xd4\xc0\x08\x7c\x04\xb1\x17\x09\xdc\xce\x62\xd8\x9e\x94\x96\x3f\x01\xe0\x85\xad\x74\x3e\x33\x23\x72\x66\xa4\x68\xb3\xb0\x15\x80\x04\xc1\x06\x50\x15\xf4\x90\xb2\xae\xb8\x1d\xa4\xbd\xd0\x08\xa6\x84\xd0\x2b\x55\x7d\x8b\xe0\x74\xf9\x02\x2c\x32\x06\x0f\xb5\x6e\x40\x34\xb3\x02\x09\x46\xb8\x61\x8f\xd4\xa4\xdf\x87\xa7\xab\x75\x96\x4d\x40\x48\x5e\xeb\xd7\x13\xd9\xd2\xbf\xd3\x23\x62\x11\x80\x2a\xd1\x97\x9e\x3a\x19\xbd\x92\x16\xe0\xc5\x94\x63\xd6\xf3\xb9\x9a\x1a\x27\x48\x18\xd6\x98\xda\x86\xf0\xd2\xee\x88\xc3\x40\x5f\xc0\x49\x03\xf5\x74\xd2\xca\x33\xc6\xb0\x4c\x73\x70\x1b\xc1\x04\x1e\x61\x7a\x02\xee\xa5\x93\xcd\xe5\x2a\x4b\x4d\xcb\x3c\x31\x2e\xca\xa3\x2d\xd5\x7c\x2b\xa7\x38\xcc\x43\x55\x20\x3f\x61\xd4\x8e\x4a\x9a\x1b\x4b\xe2\xab\xfe\x95\xbd\xba\x82\x97\x00\x3b\x07\x4c\x6e\x71\xad\xa5\x56\xf5\xa0\xf1\x5e\x5d\xe4\x0f\x84\xc4\x94\x60\xc9\x01\xca\x39\x4a\x7f\x1f\xfd\xed\x66\x33\x7c\xe2\xd3\xfc\x04\x28\x4d\xd2\xd8\x4d\x5e\xfd\xa9\x28\x97\x4e\x3b\x64\x6b\x6b\x9a\x2f\x4c\x99\x56\x90\xe5\x47\x0f\xfa\x70\xed\x12\x80\x25\xd0\xb0\x23\xef\xea\x5d\x54\x65\x50\x9c\x31\x33\x4b\xc8\x80\xf3\xe3\x3a\x7f\x95\x60\xd2\xd2\x4f\x5d\xc9\xd6\x20\xdd\x74\xcf\x6a\x26\x63\x8c\x77\x76\x4b\xab\x0d\xa2\x8e\xe1\x7b\x6c\x5e\x54\xe9\x7c\xe3\x91\xaa\xe2\xe5\xe4\x0f\x62\xf6\x2e\x12\xbe\x4a\x69\xee\x83\x64\x4e\xe4\x3d\xb4\x28\xc3\xa3\xb2\x70\xd2\xf2\xe7\x3b\x3b\xdb\x29\xf9\x6e\x98\xe6\xf8\xae\xef\x44\xd6\xaa\xb4\x12\xef\x17\x76\x3d\x9f\xa7\xb3\x94\x16\x08\x83\xbe\x4e\x5a\xbc\x9b\xc5\x99\x36\xe9\x72\xde\x9b\x08\x6f\x5e\x2b\x11\x76\xdc\xc8\xd4\x44\x72\x75\x12\x3f\x9b\xb6\xad\x11\xf6\x5b\x09\xe3\x84\x60\xc4\xbf\x9a\x8d\x7a\x2d\x20\xc0\x7c\x17\x69\x39\x37\x8b\x4f\x82\xbb\x27\x28\x8b\xc6\x9f\xcd\xa8\x7c\x16\xca\xa4\xb0\x67\x4d\xf0\x96\xfc\xae\x49\xe2\x0a\x77\x2a\xbe\xe8\xb6\x96\x88\x88\x0e\xdc\xc2\x15\xae\xa7\x6a\xd2\x60\xd6\x70\xe4\x93\x38\xa2\x1b\x67\x0c\xe9\x16\x79\x07\x44\xb4\x3b\x87\x29\x23\x5c\xd5\x4c\x2f\x4d\x76\x01\xbb\x54\x9e\x20\x07\xae\x4d\xc5\x81\x14\xa0\xd1\x01\xf8\x9a\x5d\x1c\x3b\xc1\x88\x5a\x80\xa7\xa2\x4c\x5b\x0b\x06\xe1\x31\xbb\x42\x9c\xaa\xc9\x72\x03\xcd\x11\x4b\xd1\x69\x80\x22\x5e\x30\x34\xef\x78\xb9\x39\x36\x58\x04\xf4\x0a\x61\x99\xf3\xdf\x44\x6d\x61\x3b\xae\x2c\x2d\x03\x8e\x23\x53\xda\x2a\x35\xf9\xf0\xc1\x16\x4b\x03\xb6\x72\xf7\x0b\x2d\x52\x8f\xb6\x81\xdd\xd9\x6e\x27\x6a\x1c\x4b\x8f\xdf\x1a\x29\xdb\x99\xfa\x45\x1c\x4c\xb4\x75\x10\x40\x20\x3b\x3c\xaa\x01\xe0\x4a\x8f\xbc\x5d\x64\x80\xa6\x87\x91\x37\x61\x0c\xfc\x39\x86\x97\x5f\xe1\x26\x5f\xff\x29\x4a\x65\x6f\xd2\xd5\xca\x24\x6a\xe0\x76\xaf\xe1\x58\xbd\x21\x2a\xec\xc1\xbb\x5f\x44\xc6\x7b\x1a\xb9\xa4\x16\x98\xe2\x74\x13\x90\xb4\x9c\x62\x21\xcc\x61\xf8\xdc\x09\xee\xc8\x02\x8d\x59\x44\x30\x59\xa9\xb4\x76\xfc\xdc\xa1\x56\xd6\x58\xf6\x2d\xc4\x75\xbe\xe1\x15\x1a\x45\x6f\x81\x37\xa3\x49\xc2\xb1\xa4\x93\xe4\x32\xec\x0b\xdf\xc3\x8e\x38\x08\xe6\x8d\x53\x38\xb7\x70\xcf\xe7\x23\xe3\x34\x58\x3a\xe1\x73\x6b\x2a\xf1\x42\x8c\xba\xde\xc8\xeb\x80\xe1\x9a\x89\xdf\xbc\xe3\x2f\xae\x84\xf5\x4c\xa9\x2d\xd2\x5a\xe7\x87\x52\x4b\x4c\x66\x2a\xd3\x20\x1a\x51\x0b\x27\xde\xa9\xf8\x9d\x46\x43\xb6\xd9\x53\xff\x5b\x80\x88\xfe\xd4\xc3\xeb\x0d\x19\x13\x77\x1e\x5e\x00\x81\x27\x9d\x22\xab\x02\x54\x1b\x6f\x89\x84\xe5\x71\xd8\xa1\x05\x8e\xdf\xe0\xf9\x42\x07\x08\x06\xd1\x4e\xc4\xf2\xb6\xa6\xda\xd5\x1a\xb6\x80\x2b\x72\x30\x11\x61\xba\x44\x63\x38\x56\x2f\xc8\x28\xec\xd4\xe7\x02\x52\xc2\x97\xd8\x34\x38\xd3\x51\xa7\xfd\x7d\x9a\xda\x41\xba\xec\x13\x0a\xd1\x04\x7c\xa3\x03\xc3\x32\x46\x4d\xa4\xa5\x3b\x20\x8b\xe5\x2a\x16\x4e\xd4\x99\x04\x43\xdb\xde\xf2\xd1\x22\xd2\x30\xd3\x7a\xa0\xef\xa6\x61\x37\x4c\xfe\x18\xb9\x76\xe1\x46\x38\x08\xf6\x7b\x11\x93\x3c\xac\x55\xd0\x49\x52\x2f\x1d\x47\x39\x0b\x74\xf9\x4f\x15\xa3\x6f\xdd\x98\x3e\x4a\x86\x90\x1b\x9f\x24\x40\xb5\xf9\xdf\x25\x43\x89\xef\xa7\x14\x20\x29\x81\x7b\xa4\x07\xbb\x5b\x17\x1d\x90\x1a\x29\x31\xd8\xc4\x3d\xc4\xe6\x5b\x16\x8a\xdd\x32\x13\xe4\xa2\x21\x32\x42\x9c\xf6\xc8\x4c\x8b\x14\xec\x16\x9b\xa6\x90\x85\x2d\x2a\xf4\x7e\xf0\x19\xe5\xe9\x27\x7e\x16\xf9\x28\x99\x0a\x8f\x2a\x9f\x24\x57\x44\x64\xbf\x58\x21\xe9\x5a\xab\x28\x5a\xfe\xc3\x20\x5e\x3f\xad\x00\x10\xdd\x89\x02\xb9\x27\xeb\x20\x70\xae\x01\x2d\x46\x80\xa4\xa7\x1b\xbe\x8a\x8e\xd4\x02\xb5\x75\xba\xeb\xfa\x4b\xb5\x88\x3b\x80\x91\xc0\xa3\x19\x2a\x8d\xa4\xbc\xcc\x85\x03\xe0\x42\x53\xa7\xd9\x55\x1d\x84\x97\xfb\x2f\xfd\x2a\x9b\xa2\xfa\x93\x78\xb2\xea\x10\xd7\x96\xb7\x2b\xfe\xaa\xed\xc1\x4b\x48\x9f\x35\x55\x5d\xfa\x6a\xc0\x0a\xa3\x18\x43\xe1\x33\x0a\xdd\xdb\x4f\x10\xb9\xcf\x22\x70\x75\x61\xd9\x2b\x72\x2d\x02\xd7\x10\xb7\x5d\xbb\x19\xd7\xf7\xfb\x19\x87\x30\xd0\xfe\x05\xbb\x16\x84\x56\xa0\x63\x51\xdd\x5f\x9c\xa3\xf7\x72\x65\x17\xe9\x1c\xf1\x9f\x67\x6b\xab\xf4\x9d\xde\x04\x74\x05\xae\x34\x00\xd7\x30\x70\x29\x1b\xb6\xc8\xd5\xdb\xc3\xa5\xaa\xbe\x0d\x4a\xa1\x6a\xdb\x07\x5b\xa4\xaa\x26\x53\x35\x21\xfb\x5c\x52\xd5\xb0\x70\xef\x31\xf4\xe7\x33\x08\x89\x64\x8b\xb4\x63\x6f\x69\x58\x02\x22\xf4\xdc\xbe\x0d\xd6\xef\x55\x89\xbe\xc2\xa1\x22\x67\x35\x90\xc6\x56\xba\x88\x70\xbc\xc0\x06\x45\x91\xaf\x03\xda\xdf\x5d\x12\x7a\x7e\x64\xe4\xef\xa2\x8c\x12\xbd\x78\xdb\xe2\x9d\x4e\x01\x98\x19\x60\xc5\x95\xbb\x73\x91\xd4\xac\x01\x82\x1c\x2a\xcb\x95\xf0\x0a\xed\xaf\x10\xc3\xe8\x6d\x94\x91\x97\x3e\x5a\xb0\x8f\xe9\x01\x12\x9c\xf4\xdd\xd8\xd7\xab\x7a\x9f\xc0\xbe\x41\xbf\xd9\xf5\x6c\x41\x7b\x99\x55\x20\x61\x1c\x5b\x80\x2d\x85\xf7\x07\x27\xe6\xb0\x27\x52\x48\x8d\x1b\x72\x99\x16\x42\xfc\xa5\x19\x9a\x0c\x74\xe0\x3d\xe7\x2e\x28\x10\x92\x19\xe2\x78\xd8\x4d\xd5\xc6\x4c\x8e\x06\x9c\x87\x14\xbe\x23\xdf\x2b\x0c\x80\x75\x37\xea\x74\x3e\x4f\x67\xeb\x0c\x52\x9b\x90\x71\xba\x2a\x37\xb5\x07\x89\x8e\x76\xb0\x85\xc6\x4b\xc3\x94\x63\xf3\x8c\x35\x81\x69\x27\x72\x4a\x28\x8a\x94\x43\x0f\x4f\x18\x7a\x63\xe4\x67\x99\x6e\x86\x7d\xda\x05\x50\xf7\x00\x2b\xa3\x9b\xee\xa5\x71\x3a\x4e\x6a\x97\x8c\x6c\x8e\xbe\x8c\x05\x78\xf4\x47\x56\x5d\x7f\xd4\x84\x37\x02\x56\xa8\xdb\xad\xc6\x1d\x2f\x42\xb4\x7b\x06\xa3\x05\x6d\xa0\x34\xd8\x06\x13\xa0\x91\x38\xb4\x1a\xcc\xe2\xfc\x1c\xe0\xe4\x2e\xac\x02\xe0\x86\x13\x22\x66\x0f\xad\x83\xb1\xb7\xc0\x87\xa8\x59\x19\xbe\x0a\x11\x37\x76\xcd\x87\xac\xb7\x19\x23\xfd\x79\x6a\xb2\xc4\x9b\x93\x38\x76\x39\x48\x8f\xb9\x8b\xf1\x09\xc0\x23\x6e\xe3\xd7\xa0\x87\x38\x60\xd4\x0d\xb7\x31\x78\xcd\x11\x1b\xaa\x79\xd7\xfb\xe5\x83\x85\x8f\xb1\x4d\xe1\x62\x2f\x3f\xe6\x00\x1a\xf4\xd0\x7b\x54\x73\xeb\xd3\xab\x95\x77\x36\xc7\x4b\x7e\xc3\xdf\xbc\x8d\x58\xc0\x98\x7e\x14\x6a\x46\x28\xd3\xb8\xc1\xfd\x04\xb5\xee\x07\x35\xcd\xb6\x06\xc2\x99\x86\x4d\xf1\x97\xb4\x5a\xd0\x96\x29\x33\x6e\xd5\x6a\x50\x9e\xbd\xf1\x8d\xd9\x5c\x40\xc6\xf5\x33\xf5\xf4\x7f\x36\xca\x78\xca\xde\xdd\x12\xac\xfc\x4f\xc6\x6d\x22\xf9\xac\xb3\x2e\xfb\x06\x90\x6f\x6c\x28\xb3\x95\x7f\x6e\x9f\xed\x1a\x52\xb1\xae\x7e\x87\x51\xdd\xbf\x67\xec\x69\xfb\x28\x76\x00\xad\x0b\x4b\xdd\xdf\x16\x2b\xb7\xc1\x76\xb7\xcf\xbe\xac\xa5\xd4\xf3\xd5\xf9\x5b\xb7\x07\x6e\x56\xf0\x74\x5c\xb8\xb5\x0f\xa6\xb0\x1c\x51\x05\x10\x6d\x5d\xa9\x4b\x13\xd6\x1d\xaf\xf1\x3c\xdb\x70\x94\x9f\xcf\xf8\x53\xe3\x07\x9c\x0f\xc5\x7c\x1e\x61\xc4\x8b\x12\xcf\x4f\x56\xe7\xf1\x07\xab\xf3\xd7\xc5\x1d\x64\x81\xbf\x73\xcd\x2d\xf4\x6a\x65\x72\xbf\x5f\x83\x83\x00\xf7\x16\x14\x21\x70\x3e\x00\xf2\x2f\xed\x4c\xaf\x00\x3b\xc5\x53\x8d\x46\xda\x74\x4a\x56\xf5\x23\xf0\xac\xf7\x81\x46\xf4\x43\x7e\xaa\xc0\xb5\xbe\xaf\xb6\x31\xc7\xa0\x8f\x4e\x6e\x54\x9b\xa8\x36\x06\xc4\x80\xe1\xdc\x30\x8a\xb9\x74\x6b\x26\x59\x81\x8f\x6e\xcc\x26\x29\xee\xf2\xb3\x5e\x6d\xc1\x0d\x1e\xa2\x1a\xd7\x0b\xf8\xd7\xa1\x05\x22\x70\xaa\x7a\x1f\x3e\xf0\x1f\x6a\xbb\xed\x35\x58\xe0\xbb\xee\x8e\xd8\x8f\xef\xfd\xd3\xc3\x7b\xef\xd7\xd6\xc7\x0f\xc0\x4b\x8a\x77\x8f\x26\x89\xf7\x5e\xdc\x8d\x05\x23\xdd\x48\xe3\x67\xe5\xfa\x90\xdb\x94\x5f\x76\xc8\x1c\xe3\xa6\x3b\xa8\x79\x89\x0d\xa3\x6c\xd7\x82\x10\x25\x7d\xcd\xb4\xad\x2e\xd8\x1d\xe2\xe7\x38\x21\xab\x4c\x19\xf8\xd9\xae\xef\x9c\xdd\x79\xa7\xaa\xfb\xe3\x3a\xb7\x11\x4e\x48\x69\xae\x53\x0b\x29\x52\xa4\x31\x7a\x80\x57\x90\x2e\xd8\x11\xba\x7d\xb0\xfa\xd7\x5a\x8a\xae\x1a\x4e\xfd\x8c\x5e\xdf\x38\x75\x85\xbb\x4f\xa1\x19\x7f\x24\x36\x93\x6e\x78\xb0\x11\xdf\xf6\x3f\x1a\x24\x0c\x1e\xba\x11\x1d\x6c\x6f\xd7\xa8\x63\x69\x85\x3d\xe2\xab\x00\x81\xeb\x05\xc7\x17\xf1\x26\x04\x55\x90\xb0\x44\xc2\x80\x34\xc5\xf4\x7e\xe5\x6b\x91\x3f\x2d\x3d\x2c\x8b\x2f\xf0\x13\xef\x54\x0b\x48\x21\x70\x92\xd4\x24\x98\x27\xbb\x4d\x70\x4f\x4e\x08\x23\x41\x85\x62\xa4\xb3\xf9\x2b\x69\x88\xdc\xc1\x70\x17\xf4\x69\xa3\x4c\xe5\x0d\x0f\x32\xf5\xe5\x97\x0a\xb3\x96\x37\xbe\xaa\x27\x72\x67\x27\x2d\xf8\x07\x30\x3f\xee\xb7\x34\x7c\xc6\xe8\x3b\xe3\x9f\x3b\xeb\x8e\xca\xda\x46\x10\x88\xcb\xf4\x7a\x51\x05\x2c\x1a\x26\x43\x22\xe4\x25\x88\x81\x7f\x34\xfa\x30\x1d\x9f\x13\x37\xbc\xd2\xaf\xdd\x9d\x7b\x5d\x4b\x84\x88\xb4\xf0\x01\x66\xac\x7e\x31\x14\x74\x80\xef\x32\xde\x21\xca\x5d\x6d\x46\xca\xa6\x88\x1a\x04\xa1\x9a\x4e\x67\x46\x81\x62\x22\x41\x80\x74\xe6\xb6\xc4\xeb\x85\xca\x49\x30\x02\x93\xf2\xa2\x8c\xce\xd6\x20\x02\xd2\xc6\xd9\xf4\xb4\x24\xd6\x46\x8c\x22\xff\xcd\x93\x13\x05\x39\xb7\xd9\x14\x05\x17\xb1\x7e\x0d\x0a\x10\xde\x3a\xef\x8c\x4a\x0a\x37\x3c\x78\x64\x71\xd2\xaf\x67\xb3\x34\x31\xb9\x93\x95\x6c\xe3\x5b\x8e\x12\x5a\x37\x93\x5c\xff\xf6\x9b\xea\xa3\x77\xfd\xb3\x5a\x15\x46\x7c\xc7\x3a\xf8\x98\x1b\x2a\x5e\xa9\xaf\x09\x10\x29\xca\x88\x1f\x68\x94\xe6\x36\xa6\x00\x33\xf5\x2c\x2a\xf0\x7d\x93\x2b\xcb\x3a\x47\x5c\x59\xb9\x37\xf8\x92\xc2\x1d\x37\xfa\x20\xda\x49\x88\x08\x73\x7c\x9d\x87\x97\xb6\x81\x18\xe6\x48\xb5\x02\xe2\x08\x4d\x5b\x67\x19\x94\x0c\x6b\x08\x23\xcd\xf0\xa6\x7c\x07\x2f\x22\xec\x32\x95\xe6\x7e\x9f\x1a\xf1\x24\x85\xdb\xaa\x8c\xac\xe3\xb4\xae\x64\x9d\xb0\xe1\x5e\x06\xb7\x7f\x1c\xb0\x90\x1d\xb9\x46\x8e\x82\x8e\xfb\x20\x62\xd0\x97\x5f\x0a\xee\x3f\x38\x3b\x53\xcd\xbe\x8b\xb5\xfb\x2d\xf4\x0f\x1d\x64\xc4\x44\xd1\x32\xc1\x30\x69\x5c\x21\x6e\xd5\xca\xfa\xe6\x7d\x65\xca\x5c\x47\x28\x53\x18\x81\x3d\xd3\xd9\x6c\x9d\x11\x14\x95\x80\x50\x12\x5e\xce\xb0\xc6\x74\xa5\x7e\x5d\x83\x33\x45\x96\x29\xe9\xd1\x80\x0e\x1f\xc6\x24\x75\xe0\x97\xa8\x7e\x11\x1a\x22\x67\x3a\x19\xc4\x80\x3f\x75\xa9\x52\x81\x1d\xea\x6b\xc9\xda\xa6\x18\x2b\x81\x15\x1c\x91\x70\x3c\x8d\xc5\x37\xf6\x20\x26\x69\xbb\x2b\xd3\x0a\xfd\x88\xdf\x16\x10\x22\x32\xe8\x86\xea\xc5\x97\xca\xad\x74\x5a\x8f\x84\x55\x9e\x1d\x20\xb7\xbb\xc5\x36\x29\x72\x73\x11\xe5\xf7\xee\x72\xf1\xf9\xea\xab\xb0\x24\xb3\x62\xa6\xb3\xa6\x0b\x50\x7b\xc5\xb0\x61\xa1\xec\x10\x72\x29\xec\x13\xfe\x98\x7a\x40\x20\x6d\x00\xad\x0a\xde\x05\x56\x74\x7f\x28\x5d\xe6\x99\xf8\xb7\x45\x6e\x06\x9c\x35\xba\xed\xb4\xaa\xd3\xbe\x8c\xde\xcf\x07\x1f\x4f\x94\xe8\xbd\xb0\x35\x82\x34\xd2\x90\x6d\x7d\xe7\x98\xa2\x28\x00\xc3\x4e\x36\x87\x6c\xbd\x38\xac\x40\x0a\x7c\xc1\x82\x93\x84\x10\x31\xb1\x52\x06\xdc\xc4\x08\xfc\xba\xfc\xf0\x1a\x8e\xe8\xed\x75\x44\xc7\x63\x57\xff\x07\x6d\x43\x52\xe8\xce\xf2\x52\xcf\x16\x03\xb1\x57\x00\x9f\xc4\x5e\x79\x8b\x69\xd5\xeb\x91\xb1\xb2\x07\x98\x76\x3d\xea\xb1\x6a\x44\x30\xc7\x4d\xd5\x1c\x25\x7e\x87\xf6\x42\x3e\x77\x6b\xba\x56\x6a\x1d\xb3\x2b\x28\x50\x75\xf9\xa8\xcb\x65\x24\x18\xf1\x58\x7e\xae\x85\x1f\x1d\xca\x67\xfe\xb0\x39\x7e\xd7\x06\x39\x14\x9d\x85\xfd\xb9\x03\xf6\x2d\x8c\xb5\xbd\x5b\x6d\x9f\x7e\xf9\x25\xd1\x7f\xd6\x2a\x61\xc8\x6f\x2c\x11\x64\x72\x28\x05\xfd\x41\x0b\x59\x39\x84\x4f\x9a\xfd\xbd\x73\x2f\x67\xbe\x6d\xde\xef\x3b\xdb\x8d\x5d\x23\x9a\x6e\x3f\x03\x6f\x10\xa2\x32\x84\xb8\xa9\xa0\xe2\xec\x97\x82\x1d\x4c\xd8\x2d\x0a\x0c\xaf\x79\x1f\x59\x80\x39\x4a\x2d\xf5\xf8\xbb\xf4\xc6\x0c\x88\x4c\x2d\x60\xa6\x35\xe0\xa4\x57\xef\x6c\x2f\x06\xc0\xef\xf9\x74\x8e\xed\x77\xd2\x56\x74\xd0\xe9\xba\x52\xd7\x45\xc5\x41\x2b\x98\xcd\x7a\xdc\x1b\x71\x81\xd6\xb0\xa2\xa6\x28\x84\x3d\x55\x66\x1b\xaa\xcd\x10\x42\x0f\x13\xe1\x71\x84\x49\x38\xd8\x27\x6b\xe0\xfa\x26\xfa\x22\x26\x0a\xb6\xde\xb8\xbe\x98\xfa\xda\xd6\xd3\x46\x3b\x3e\xc5\x9c\x20\x77\xad\xaf\xe6\x90\x30\xc3\x44\x2c\x1c\xd1\x11\x19\x75\xbc\x71\x84\x3c\xfc\xbb\xd3\xad\x07\x0d\xba\xc3\x9d\xec\xa9\x35\xe1\x95\xd1\x88\x3f\x79\x51\xac\x86\xf1\xda\xab\x2f\xb4\x26\x2b\xd2\xfa\xa6\xe1\x86\xdd\xae\xc4\x9c\x75\xa9\x31\xb2\xaf\xb8\xc8\xba\xdb\xd9\xdd\xbf\xae\x71\x7e\x6a\xef\x7c\xf7\xa4\x52\xd7\x64\x63\x94\xf3\xe1\x53\xed\x53\x18\x1b\x74\xe0\x8b\x2c\x94\x15\x8f\xa3\x3b\xde\x57\xe5\xdb\xcc\x4f\x64\x86\xa6\x67\x56\xae\x0d\xef\xac\x1f\xff\xbe\x4a\x4f\xab\xd8\x04\x56\x66\x9b\x02\x79\xd6\xc6\x0f\xa8\x63\x19\xc5\x05\xb0\xc3\xba\x34\xd9\x06\x2e\x1f\x88\xad\xde\x82\x48\x46\xe6\x2d\x8b\x0f\x76\x88\x87\x80\x51\x28\x68\xe3\x06\xa3\x4d\x00\x86\x05\xf3\x19\xbc\x4b\x33\xa0\x5d\x64\x1f\xaa\x31\xbb\xcd\x4c\xd4\x6e\x9c\x11\x60\xac\x50\x6a\xbf\x15\x94\x55\x76\xb6\xa6\xc5\x70\x9f\x80\xdd\x47\xaf\x8f\x1e\x22\x05\x5f\x14\xe1\x9a\x66\xde\xa7\xd5\x48\x61\xc4\xbc\x47\x8a\xd7\x88\x89\x2c\x1e\x8d\xb9\x11\xad\x72\x4c\x3d\x1c\x36\x75\xba\x0d\x72\xb4\x42\xf4\xfc\xdb\x06\xce\x6c\xc2\xf3\x23\x77\xcc\xf1\x50\xa1\x49\x46\x1a\x6b\x02\x77\xdc\x48\x6c\xa5\x37\xae\xac\x0f\x19\x11\x17\xb9\x0e\x93\x16\xac\xc2\x40\xe5\xcb\x2f\xd5\x20\xfc\xf5\xc0\x47\x69\x3c\x20\x22\x0b\x6d\x5f\xc3\xe8\xc2\x09\xd7\x69\x5f\x0b\x7b\x4b\x67\xdb\xaa\x3e\x97\x70\xaf\xc2\x78\x88\x22\xb8\xe4\x89\x61\xb0\x5b\x9b\x0c\xfc\x94\x8e\x72\x83\xa1\x6c\x9e\xee\x94\xa0\xd4\xbf\xc8\x13\xea\xb4\x91\x06\xed\x8e\x22\x87\x8b\xe3\x4e\x5b\x61\xc3\x08\x76\xdb\xfc\x3e\xb6\x3b\xc9\xa8\x19\x69\xdf\xfc\x5a\x98\x09\x4f\x49\x59\xf2\xbc\x11\x24\x02\x63\xdc\xee\x30\x80\xa0\x6c\x08\x68\x51\xa9\x7a\xce\xbe\x81\x18\x16\x42\x07\xe3\x33\x95\x7e\xf5\x95\x3c\x10\x5a\xac\x76\x54\xe3\x5d\x7a\x35\x68\x0d\xdb\x45\xe3\x6c\x6b\xcf\x87\xcd\xb0\xe0\xb2\xf3\xe0\x9f\x96\x46\xdf\xec\xca\xec\xf3\x59\xec\xc0\x4e\xca\xea\xd6\x8d\xc8\xbb\x97\x7d\x86\x36\xa6\x1a\x8f\xd9\xaa\xd2\x62\x53\x09\x51\xe7\x71\x84\xf7\x36\x4c\xee\x7e\x7b\x9f\xfa\x0c\xe6\x3e\xb1\xd6\xea\x88\x19\x0d\xd3\xa2\x63\xa0\xac\x1d\xf8\xd2\x32\xc2\x66\x58\x3a\xd8\x77\xde\x16\xd0\xc6\xab\xf9\x6b\x38\x30\xc2\xaa\xe3\x55\xfc\x46\xd3\x5b\x67\xe7\xe2\x47\x4b\x9b\x3c\xdf\x66\x1a\x98\x1e\x96\x18\x9a\xcd\xa7\x86\x1d\x6d\x12\xf6\xa0\xf3\x16\x44\x74\xe6\x59\xad\x4c\x0e\xa9\x08\xc7\xd7\x63\x15\xc1\x49\x89\x30\x49\x78\xad\x48\xc1\xcd\xcd\x67\x9c\x89\xf8\x76\x98\x95\x74\xe7\xa2\xdf\x69\x39\x6d\x98\x2c\xff\x69\x98\x3c\xd4\x30\xc9\xb5\x77\xc9\x5e\xcd\xa8\x28\x54\xd4\xf6\x5a\xd1\xbc\xdc\xd3\xd8\xb9\xdf\xd4\x59\xd7\x4b\xe9\x98\x69\xd4\x68\x3b\x67\x02\xde\xc3\x3e\xc4\x84\x9a\xb5\xa4\x89\x29\x23\x04\x92\xe1\x42\xc5\xc9\x59\x6e\xc4\x98\xf8\x7b\x31\x06\x35\xd3\xd5\x6c\xa1\x06\xd1\xd8\x1b\xd8\x41\x03\xd3\x32\x03\x9f\xcb\xf3\xf6\x30\x65\xfc\xa7\xf0\xce\x10\x94\xbb\x2e\x5f\xdb\x86\xb7\x18\x78\x84\x78\xbf\x43\x81\x7b\xa0\x73\x0a\xa3\x0d\x11\x9a\x9e\xfa\x33\xf0\xed\x00\xb7\x32\x7a\xf7\xad\xc8\x29\xcc\x5d\x58\xc8\xc1\x1f\xc3\x30\x75\x80\x75\x26\xad\xb9\xac\x07\x5e\xb3\xc3\x56\x00\x9b\xf5\xdd\x38\x25\xb5\xdf\xfd\x7f\x0b\x5d\x86\x00\xcc\x3b\x91\xd8\xa3\x1e\xfa\xcb\xaf\xc4\x3e\x1a\xab\x8d\xac\x35\x99\x99\x55\x0a\xff\xa9\x13\xd6\x39\x81\xbd\xa0\xe7\x79\xc6\x69\x3f\xa4\xcb\x26\x7b\xab\x89\x80\x61\xed\x81\xe2\x3b\xa3\xf3\x35\xc7\xe7\x8f\x84\x9e\x0d\x1e\x73\x5a\xcd\x8a\xd5\xc6\xa7\x08\x72\xad\x10\x31\x76\xe7\xa3\xec\x51\x29\x3e\xbc\x47\xe2\x31\x61\x98\x5f\x11\x66\xed\x31\xc3\x03\xf0\x81\xcf\xf9\x02\xe8\x07\xd8\x08\x40\x20\xb8\x66\x29\xc2\x1f\xde\xd4\xc1\x65\x28\x2b\x8a\x1b\x4b\xb7\x2c\x12\x82\x62\xae\xf0\xb5\xb1\xda\x8c\xd9\x6f\x55\xe2\x06\x50\x42\x16\x42\x0e\x98\xb3\x64\xf8\x9c\x48\x70\xc1\x60\x20\x1b\x0f\x48\x50\x1a\x9d\xa5\x56\xf8\x2d\x05\xb8\x7d\x7f\x03\xf0\x21\x98\x88\x4b\x7f\x5b\xdc\x98\xc0\xa8\x09\x6b\x68\x1e\x8a\x41\x84\xcb\x71\x7a\x2f\x5b\x97\x3a\x90\xd8\xd2\x68\x5b\xe4\xe8\x85\x4a\xd3\x11\x6e\x44\x3c\x96\x14\x90\x1f\xc8\x67\xdb\x4d\x52\x3e\x33\x8e\x4d\x3e\xba\x05\x53\x8f\x40\x7a\x1d\xec\x4f\x6d\x72\x7e\x70\xd2\x70\xe7\xc6\xe8\xda\x71\xd7\x9b\x70\xee\x4b\x77\xc7\xe8\x39\xb9\x12\x6f\x8b\xb3\xa2\x74\x92\x1b\xc7\xf9\x52\xfa\x99\xe8\x26\x8b\x8b\x7a\xd4\x10\x4f\xef\xb7\x51\xe9\x6b\x8a\x9c\x24\x2c\x10\xbc\xbd\x52\x1e\x32\xb8\xbb\x33\x33\xb1\x95\x5d\x1c\x0d\x8f\xa1\xba\x34\x2a\x2f\x94\x5d\x99\x59\xaa\xb3\x76\xf7\x8f\x2d\x7e\x3d\x4f\x65\x66\x1e\xec\x10\x36\xc5\xce\x15\x1e\xb7\x3b\xdb\x40\x4f\xc9\xdc\x8a\xc9\x90\xd2\x1c\x2e\xe0\xe8\xa8\x4f\x69\xbb\x70\x45\xd4\x21\x39\xb8\x0d\x24\xfe\xe8\x91\xf1\x08\x38\x8f\x1e\x89\xae\xd0\xa5\x56\x20\x85\x78\x00\x51\xc9\xed\xef\xb4\xad\xb2\x0d\x66\xaf\xa9\x39\xe6\xd0\x34\x65\xe1\xdc\x49\xa5\xdf\x74\xed\x54\x9a\x40\xc1\x91\x48\x1b\x57\x73\x8e\xf6\x17\xe3\xb6\x8d\xab\xe6\x51\x53\xe7\x70\xd8\xbf\x39\xa4\x15\x7c\x6b\x27\xec\x2d\x27\x26\x15\x3a\x48\xe1\x33\x13\x4e\x53\xc4\xce\xcb\x30\x96\x84\x47\x5b\x58\xc0\x33\xc1\xa8\x74\x8c\x5b\x5e\xea\x34\x0f\xd6\x9f\xbc\x4a\x33\xc8\xa7\x20\xf7\xaf\xd0\x28\xbb\x10\xa7\x36\xa4\x43\x62\x61\x87\xd3\x81\x6c\x03\x58\xef\x05\x72\xb8\xde\xe6\x54\x78\x6e\xb3\xab\xc4\xfd\x39\x74\xc4\xbe\xdb\x6d\x6c\xf2\xd0\x00\xdc\x10\x25\x64\x00\x74\xfe\xb2\x4a\x67\x10\x19\xdc\xf0\xe0\x0f\x60\xef\x91\x39\xc8\xab\x60\x7e\x03\x66\x26\x6b\x35\x79\x98\xa4\xd7\xc6\x56\x93\x3d\x81\xfb\x6b\xa3\x50\x25\xf3\xee\x46\x94\x73\xb4\xad\x3c\x93\x7f\x79\x6b\x7c\x2a\x23\xcf\x6e\x08\x63\x59\xf9\x4b\x44\x1c\x63\xd2\x6a\x88\xba\x45\xa5\x9e\x48\xc4\x31\x27\xd2\x12\x70\x1b\x2e\x48\xa0\xe5\xc7\x77\xb7\xdf\x7e\xab\xdd\xdd\x58\x2a\xbe\x45\xd1\xab\x5f\xc0\x1e\x32\xef\x7d\x9f\xf0\xa6\x31\xe0\x7e\xd4\x61\xa6\x48\xb9\xec\xa8\x26\x07\x54\x1b\x89\xbb\x76\x72\xad\x6f\x4d\xa6\x37\xea\x4c\x3d\x0e\x97\x82\x80\x0a\x17\xf5\x3f\x14\xe0\xba\xe2\x66\x29\x2e\xac\xa9\xfd\x96\xcc\x01\x3c\x70\x2e\x3f\x94\x21\xd0\x1e\xd2\xae\x5e\x4a\x9a\xf5\xfd\x8d\xbf\x85\x84\x6a\x8c\xa1\x4e\x41\xc0\x88\x35\x08\xbd\x23\x9e\x5c\x1d\x44\xd1\x97\x3e\x88\x74\x9f\x36\x97\xfe\x81\xc4\x43\xf9\x56\xa3\xfb\x61\xfe\x9e\xae\x2b\x51\x0b\xa1\xe9\x26\x8c\x20\x93\x6c\x7f\xc6\xc0\x69\xaf\x59\x6a\xc5\x05\x61\x14\x0f\x65\xd8\x00\x6d\x0b\x40\xa1\xe3\x87\x0f\x57\x0b\x6d\x4d\x5d\xd8\x3b\x88\xd7\x5e\x61\xc8\x59\xfd\xa1\x3b\xed\x36\x1f\xd7\xd7\x26\x38\x1b\x03\x84\x1e\x9f\xfb\xcb\xac\xf4\xed\x9b\xe9\xdc\xed\x58\x80\x44\xa0\xf2\xa2\x5c\xea\x8c\x11\xc9\x51\x65\xc4\xcb\x38\xdf\x12\x12\x53\x71\xd2\x32\x8f\x70\x76\x8a\x24\x9f\x8c\x49\xa1\xf1\x68\x46\x7d\xdd\xc7\xaf\x9e\x8e\x31\xb2\xce\xe4\x00\xce\xd2\x9f\xd2\xe7\x7f\x18\x83\x8f\x3c\x1e\xab\x37\xe9\xec\x06\x6c\xeb\x18\xf5\x75\x6b\xca\xca\x46\x14\xab\x22\x50\x54\xca\x0d\x48\x7e\x9b\xa4\x91\x4a\xc7\x3e\x80\xe4\xcf\x89\xbb\xb0\x82\xc8\x3e\xac\x0e\x57\x50\x6e\x9b\xf2\x66\x61\xf3\x8e\xfb\x0a\xa6\x11\x0b\xff\xcb\x18\x6f\x44\xe2\x4a\x45\xda\x2a\xa2\xb1\x71\xb7\x1e\x4a\xbe\x85\x24\x67\x74\x30\xfd\x02\x9f\xca\x3d\x69\xaf\x91\x8d\x8d\x40\xe9\x9c\x46\x5a\x0f\x99\x61\x15\x9b\x3e\x29\x8d\x0c\xd6\xf2\x26\xa4\x1f\xbe\xfd\x61\xe0\xae\x04\xc3\x53\x75\xb7\xd8\x00\x93\x28\xec\x32\xf5\x89\x47\x35\x65\x7f\xcd\xbf\xf6\xab\xab\x66\x27\x68\x1a\x21\x77\x18\xd4\x0e\xb5\xd2\x21\x23\x22\xfc\x58\xac\x1a\x3e\x8a\xc0\x33\x93\xf7\x6e\x9f\x0f\x29\x64\xc9\xb6\x2b\x89\xc9\x13\xab\xc5\xae\x07\x19\x58\x07\x69\xf2\xfe\xf8\x38\x7a\x2b\x95\x07\xa3\xa7\xff\x2e\x4d\xde\x5f\x0d\x9a\x0f\xe8\xdb\x86\x51\x25\x7e\x4e\x88\xb3\xee\x45\x4b\xf7\x60\xd3\x7a\xd3\x8c\xae\x5a\x3c\xd6\xeb\xc6\x9a\xd8\xbe\xe7\x8d\x4b\x9d\xce\x64\xdd\x6f\xb3\xad\x88\x9d\x6e\x7f\x81\x9c\xf3\xb5\x3c\xec\x5e\xcf\x6a\x24\x63\xf7\x29\x84\x28\x62\x16\xee\xee\x94\x78\x2b\x2d\xca\xb4\xda\xa8\x27\xed\x89\xb4\x30\x24\x2e\xdc\x6e\xbd\x2a\x37\x4d\xf3\x04\x6e\xe1\x94\x72\x69\x34\xc1\xbb\xfb\x64\xa4\x26\x8c\xe2\x3e\x51\x03\x77\xf5\x41\x2d\x0f\x2e\xc3\x14\x89\x33\x04\xc0\x9c\x23\x0c\x1e\x8c\xa0\xef\x70\x89\x61\x4e\x97\x7d\xf9\x98\x9a\x00\xd8\xdb\xd1\x91\x0f\x2e\x75\xf7\xb3\xd2\x80\x25\xd2\xad\x52\xf3\x7e\x55\x58\x0e\x2b\x07\xac\x35\x91\xda\xeb\x48\xe0\x44\x81\x75\x81\x5e\x16\x53\x82\x37\x3a\xa5\x32\xc7\xea\x1b\x4e\x5b\xc5\x16\x1a\x88\xa2\xf4\x57\x4b\x4e\x2c\xd4\x48\x90\x05\xb1\x7d\xda\x7a\x6e\x49\x26\x15\xa5\x62\xe6\x71\x42\x47\x40\xc3\x1b\x63\x93\x6f\x20\xa9\x82\x48\x7e\xe7\xf6\x88\xa9\x59\xe8\xdb\xb4\x28\xd5\x00\x5c\xea\x19\x3f\x6f\x44\x26\x8f\x91\x72\x77\x86\x6c\xa4\xd6\x65\x36\x24\x3a\x7f\x35\x86\x23\x84\xe8\xe9\x2f\x4e\xa5\xa6\xd0\xef\xe0\xc4\x07\x22\xc0\xa3\xd8\x09\x3f\x83\x8d\xf8\xa9\xe2\xc4\x07\x3a\xcb\xfc\x66\xe4\x15\xce\x8d\x5d\x1a\xbc\xec\x72\x36\xb1\x99\xb5\x18\x0c\xee\x6e\xf7\xd1\x1b\x25\x46\x8c\x63\x54\xc2\x48\x22\x30\xd1\x5f\x88\x8b\x31\x8a\x41\x36\x46\x11\x36\xc2\xa8\x16\xb8\x3e\xa4\xdc\x48\xe8\xe6\x9b\x2e\x31\x88\x91\x7a\xf6\x23\x5d\x25\x99\x15\x3c\x7a\xb8\x93\x00\xc4\x0b\xc0\x4a\xb4\xde\x76\x40\x86\xdd\xff\xb6\x32\xf5\xd4\xa9\x90\x1d\xb8\x3c\x51\x00\x2d\xe7\xf6\x8a\x0c\x35\xd7\xe9\xad\xc9\x9d\x14\x1a\x77\x5e\xe8\x8a\xbb\x11\xee\xcb\xc4\x1f\x4c\x2b\x46\xc8\x4f\x70\xa6\xb1\x25\xcc\xd3\x72\x57\x9d\xbc\x5f\x79\xfc\x04\x48\x8f\x89\xd5\x53\x3a\xb5\x43\xd4\x86\x3b\x31\x71\x3d\x1c\x31\xe6\xdf\x2c\xad\x08\x18\x34\xca\x2c\xcb\x31\x16\x30\xc0\x3f\x81\x67\x80\xad\xd4\xaa\x74\xc7\xd3\x0c\xe7\x8f\x52\x3a\xf1\xb0\x47\xca\x1a\xc3\x8b\x44\x1d\xab\x77\x3f\xb9\xad\xd1\x56\x1a\x17\x0b\x68\x65\xf6\x6a\xb0\xa8\xaa\x95\x3d\x3d\x39\xb9\x4e\xab\xc5\x7a\x3a\x9e\x15\xcb\x13\x8a\xe9\xe4\x7f\xc7\xbf\xda\x93\xbb\xf4\x26\x3d\x89\x08\x1c\x23\x81\xa1\xec\x92\xb6\xe9\x8c\x6d\x99\x76\x14\x25\x38\xeb\xea\xd5\x3e\x8b\x27\xe5\xd0\x3c\x8e\x52\xca\xbd\x73\xeb\xf4\x4a\xb9\xff\x77\x14\x60\x44\xc6\x2b\xc5\xbf\x75\x14\x2c\x75\x92\x16\x57\x0a\xfe\xe9\x28\x82\xab\xf7\x8a\x56\x71\x47\x21\x58\xda\x57\xb8\xc2\x3b\x8a\xac\xcb\xec\xca\xad\xfd\x8e\xaf\xdd\x9d\xf0\x0a\xde\xb8\x76\x14\x70\xea\xfa\x31\xb8\xd3\x60\xd1\xf0\x77\x17\xa7\xd2\xa5\xb9\x02\x68\xd8\x8e\x02\xcb\x22\xaf\x16\x57\x0a\xfe\xe9\x28\x72\x67\xcc\xcd\x95\x72\xff\xdf\xee\x98\xb5\xd8\xa0\xbc\xa3\xa0\xcf\x38\xc2\xbf\x6c\x49\x1c\xbe\x80\x74\x8c\xb4\x23\xf1\x39\x17\xe0\x82\xc5\x97\x88\x2f\x0b\xeb\x03\x75\x62\xa7\xb6\x79\x83\x8a\xb6\xb6\x98\xa5\x1a\x11\xea\x56\xeb\xea\x04\xfb\xe4\x13\x99\xc8\x2c\x72\x3e\x95\x3b\x57\xf6\xb1\x56\x85\x80\x45\x19\x07\x81\x0d\x1b\xe3\xa9\xb0\x5e\x32\x00\x9c\x28\xc4\x3b\x66\xad\x18\x7d\x5c\xa7\x76\xfc\xee\xc6\x6c\xae\x26\xa7\x08\xd7\xa9\x67\x8b\x80\x94\x4f\x03\x9d\x6e\x6a\xf8\x87\xcd\xb6\x9a\x44\x04\x3e\xff\x01\x64\xfc\x56\x7e\x5a\xc7\x30\x72\x3b\x1a\x18\x7a\xeb\x99\x4b\x37\xa6\x12\x04\xf0\x5c\x68\xd4\x6e\xad\x2a\xaa\xf1\x19\xd1\x51\x71\x9a\x01\x0e\x81\xa8\x10\x8e\x95\xee\x9e\x36\x6b\x71\x3e\xee\x53\x88\xa8\x6f\x01\xa1\x83\xc4\x78\x01\x4e\x8f\x26\xfd\xaf\x98\xe8\x40\x2d\xe1\xe8\x58\xe8\x4a\xe5\xd7\x2f\x10\x3f\x04\x1e\xa0\xe9\xe6\x27\x62\x16\xad\xf1\x82\x8a\xcf\x29\x75\x49\x65\x79\xfa\xe2\x0b\xf5\x82\xcf\x42\xf5\x97\xa2\x80\x54\x7a\x98\x69\x93\x4f\x48\x7e\x45\x02\x01\xaa\x25\x54\xe7\xc7\x1a\x2f\xac\x42\xf2\xf7\xae\x16\xd7\x0c\xc9\x7c\x84\x1f\x12\x54\x35\x5d\x55\xf8\x24\x2f\xb5\x29\xc0\xc8\x14\x03\xd4\xa5\x3b\x6b\xc7\x35\x45\x60\x1c\x94\x04\xd0\xe3\x44\xea\x3b\x7a\xa2\x18\xfb\x75\x84\x17\x69\x48\x89\x8e\x63\xc1\x80\x33\xdd\x92\xc7\x9f\xde\x6f\xc2\x52\xa7\x65\x55\x59\x93\xcd\x7d\x3e\xd8\xa0\x5e\x84\x9a\x82\x67\xc8\x4f\xbe\x21\xba\x2f\x6d\xba\x4c\x33\x0d\xde\xb7\x70\x66\x2d\xcc\x06\xd1\x8d\xa1\xdc\x05\x23\xee\x60\x2e\x58\x4f\x9b\x40\x7b\x16\x05\xa1\x9b\xc3\x51\xc7\x1b\x55\x55\xea\xdc\xa6\x68\x2f\x73\xab\x6f\x5e\xea\xa5\xb1\x72\xa8\xff\x76\x59\xd3\x83\x9a\x3b\x5e\x9c\x2f\x54\xbb\x7e\xba\x3f\xef\x34\x62\x81\x54\x69\x96\xfe\xc3\xd4\x9b\x03\x70\x94\x6a\x93\x09\x2c\x15\xb1\xdf\x55\x18\xab\x4e\x2b\x0b\xaf\x4b\xe8\xf1\xc7\x5b\x85\x9e\x57\xa6\x8c\x1e\x77\x38\x46\x33\xe1\x73\xfb\xf9\xaa\xc4\x34\x38\x27\x27\x53\x86\xba\x28\x7c\xee\xcb\xb0\x3a\xdc\x84\x8a\x34\x97\x8e\x53\xc8\xa7\x65\x51\x1a\xac\xaf\x93\x5b\x0d\xf6\xec\xc0\x0b\xf7\xc5\x78\xb9\x39\xc6\xbe\x53\xfa\xf1\x30\xc0\xd3\xc7\xe3\x3f\x5a\x95\xa5\xb9\x41\xa7\x19\x4a\x21\x1e\xd2\x33\x86\xc4\x8c\x8f\xd4\x36\x22\x56\x4b\xc0\x58\xaf\x86\x79\x17\x11\x25\x3e\x2b\xca\xd3\x1a\x99\xe7\x27\x34\xec\x7a\xe6\x57\x8f\xb7\x11\x67\xa7\x64\x8c\xa1\x5f\x6d\x4f\x8c\x8e\x52\x7f\xa9\x79\xfa\xfe\x1b\x6d\x0d\xff\xc9\x60\x1c\xd0\xcf\x97\x12\x83\x63\x6f\x12\x33\xf5\x1c\x2f\x87\x21\x51\x58\x1d\x94\x43\x12\x0d\x58\x1c\xf4\x13\xe1\x70\x50\xa1\xfb\x41\x70\xf8\x1f\xb2\xf3\xdc\x6a\xc8\x02\xf7\x24\x4a\x03\xe7\xd3\xb3\x41\x0c\x7c\xad\xc7\xcf\x41\x60\xc3\x00\xe2\xf9\x0f\x3f\xc7\x77\x66\x7a\x93\x56\xc7\x42\x1a\x74\x96\xb1\x30\x38\xc1\x90\x4d\xaa\x03\x8b\x49\x19\x80\x2a\x78\xdb\x10\x65\xb6\x2d\x3d\x6b\xcf\xe6\xd9\x10\x9e\xf6\x66\x4a\xe9\xd6\x12\xc8\x3f\x3f\x89\x19\x41\x8e\x0d\x1e\xd1\xdb\x1a\x13\x2d\xf5\x00\xd1\xca\x37\x44\xef\x6a\xf3\x2a\xaf\x0c\x3d\x67\x69\xd2\x25\x82\x5b\x84\xaa\xc1\x4c\x54\xc6\x56\x1e\x68\x42\x22\x73\x34\xe4\xa1\x27\x26\x89\x21\x17\x3c\xc4\xc2\xad\xce\x80\xc2\x0a\x8c\x44\xf9\x59\xef\xe4\x3f\xfe\x96\x7c\xf5\xf0\xa4\xc7\xf0\x31\x79\xba\xec\xe1\xc9\x71\xd6\x63\x3e\xf6\xd4\x49\x90\x03\x91\x5a\x6e\x57\xba\x2d\x77\x70\x7e\x13\x92\x55\x6b\x85\x29\x69\x4e\x2c\xfc\x43\x65\x2e\x8b\x25\xe8\xc7\x56\xa5\x55\xdf\xaa\x85\xc9\x56\xf3\x75\xe6\x2f\x81\xe1\x7e\xd8\xa4\xe0\x05\x7d\xac\xd4\x8b\xda\x57\x8e\xa1\x47\x80\x66\x45\x66\x4c\xd8\x52\x19\x50\x5d\xab\xd2\xb8\x4b\x23\x23\x69\x47\x6a\x24\xce\x97\x00\xe9\x56\xff\x30\x65\xa1\x74\x79\xbd\x86\xb4\xd2\x23\xc6\x75\xa3\x8c\xba\x06\x75\xa6\x5c\x67\xc1\x38\xa0\xbb\x48\xe9\xdc\x13\x1a\xab\x57\x6e\xc4\xd6\x33\x60\x0d\xd9\xca\x03\x40\x77\x0a\x0d\x60\xba\x6e\x50\x2b\xe8\x58\x60\x00\x2e\x6a\xb4\x36\x14\x57\xa8\x1f\x21\xe2\x2f\x74\x8e\xe8\x27\x61\x88\x68\xd3\xc1\x01\x14\xf2\xbd\x0e\x4f\x0e\x48\xaa\x88\x02\xa0\x33\x53\xba\x7b\xb2\x29\xab\x63\x4a\x16\xd5\x83\xd9\x7e\xf4\xe8\x1b\x77\xb9\x7d\x43\x97\xdb\xd3\x47\x8f\x70\x3c\x70\xe5\xad\x0a\xcc\x09\x85\x93\x62\xd5\x5c\xdb\xaa\x0e\x50\xe5\xe6\x28\x4b\x6f\x0c\xbe\x92\xcf\xe8\xc1\x7a\xe9\x8f\x9d\x79\x69\xfe\xbe\x36\xb9\xbb\x68\xc3\x10\x50\xe3\x58\xe9\xb2\x02\x37\x87\x4d\xb1\x2e\xd5\xac\x48\xd0\xd8\xc3\xf0\x1d\xd0\xff\x7f\x2f\xd6\x9e\x85\xc1\xde\x33\x05\xe5\x9a\x6e\xdf\x4d\xa0\x16\x99\x2f\x09\x7d\x77\xd5\xb6\x87\x62\x17\xd2\xdf\x3a\xe6\x1e\x11\xcc\x6c\xfc\x12\xef\x75\xb0\xb4\x1a\xfb\xcc\x06\x3a\xb3\x85\x6b\xf4\x9e\x2d\x82\x0a\xa3\x26\xb0\xf6\xcf\x27\x23\x89\xb0\x4e\x79\x5c\xe3\x91\x81\xf3\x4b\x96\xa9\x09\xae\xf5\xf3\x89\xd7\x47\x5d\x67\x2e\x0d\xb0\xf3\x80\x37\xe8\x1a\xee\xc5\x64\x4b\xc2\x57\x9a\x43\x34\x9f\x36\x43\x02\xbf\x57\x47\x8b\xf3\x74\xd7\xe9\xcc\x68\x58\x50\xff\x18\xeb\x1d\x63\xbd\x70\xfe\x4a\xce\xdd\xf7\x18\x6e\x41\x36\xda\xbd\x7f\x8a\x1d\x78\x6d\x4d\x19\xe7\x1f\x75\x3f\xaf\xf5\xd2\x9c\xca\x0f\x68\xcb\xc5\x7c\x9a\xee\x3e\xdb\x13\xf5\x5d\xe9\x38\xa7\x28\xfe\xc4\x99\x3d\x21\x33\xda\xae\x62\x7b\x05\x49\x6c\xd8\xb5\x2d\x1b\x3e\x70\x5a\x92\x6f\x48\x9d\x85\xb4\xa5\x6e\xdb\x15\x7d\x18\x0c\x7b\xe7\x94\x99\x94\x55\x2b\x26\x19\xd2\x9e\xca\x04\xa3\x9d\x50\x64\xaa\x45\xe7\x69\x99\xc8\xba\xea\xf3\xf9\x34\x9f\x5b\x5d\xaa\xff\xa4\xe1\xf6\xbf\x29\x53\x9d\xc7\x29\x70\x49\x31\x82\xa7\xbe\xb3\x7a\xea\x5c\x57\x4f\xc0\x85\xe7\xe6\xee\x75\x4b\x5c\x2f\x7b\x6e\xd3\x30\xc3\xe3\x3a\x97\x6f\x4d\xc9\xcb\x9d\xa2\x42\xcf\xea\x25\x1a\x69\x79\xe9\x71\x03\xea\xd5\x4a\x47\x65\xb7\x52\x7d\xf1\xaa\x5d\xd7\x91\x8d\xb9\x31\x69\xe9\x7d\xeb\xdf\x2b\x20\x35\xa6\xcc\x61\x19\xb8\xec\x3f\xc5\x61\x45\xc9\xc5\xe3\xa4\xe2\xf4\x11\xa5\x09\x7f\xd7\x0f\x69\xc2\xfb\xff\xf1\xb5\x93\x4d\xfc\x2d\xde\x80\xfa\x57\x58\x2f\x48\xc0\x69\xf3\xe5\x62\xc4\x0f\x85\x6f\x4a\x83\x3b\x1c\xa7\xd6\x42\x98\x7a\xf0\x4a\x74\x37\xd6\x9a\xe7\x28\x57\xe3\xdc\x0c\xf8\x98\xec\x21\x7a\x5e\xc7\x5b\x63\x9a\x77\xa4\x2f\x3f\x39\x11\x6d\x14\xb9\xc1\x27\xf1\x35\x66\xe0\x40\x35\x8e\x5f\x8a\x4e\xd5\x13\x1e\x0f\x00\x49\x07\x71\x62\xa6\x5f\xe0\x17\x03\xce\x55\x26\x83\x21\x2e\x4d\xb5\x5e\x31\xe0\x4e\xeb\x33\x04\x95\x65\x2f\x25\x8f\x04\x5d\x03\x8c\x0e\x5f\xd4\x51\x53\xc3\x37\x3f\xbf\xf8\xee\x55\xc0\x52\x3d\x8a\xa4\x2e\x08\xf0\xaa\x6c\x19\xc3\x9b\xd2\x7c\x97\xe6\x37\xad\x09\xdc\xd1\x47\xda\xd6\x83\x30\x49\xc1\xb9\xc0\x0c\x89\x50\xe4\xdd\xe3\xab\x51\x4d\xea\xe7\x94\x17\xc6\x17\x79\x72\x55\x4f\x19\x13\x65\x45\xf7\x34\xa3\x2c\x8b\x03\xac\xfb\xf4\x8a\xa3\x35\xdc\xef\xde\x6b\x66\x18\x51\x38\x39\xe1\xcc\x2e\xa0\x7b\xd8\x91\x32\xe4\x39\x98\x6d\xf8\xb1\xc3\xf5\xca\x1e\x35\x7b\x39\x7e\xe8\x98\x89\x13\x33\xf0\x5d\x89\xe9\x43\xb6\xba\x87\xc5\x14\x1c\xfd\x07\x7d\xb7\x9a\xe5\xf2\x6a\x4b\x1a\xa8\xe4\xeb\x36\xb6\x03\x9b\xc7\x83\xb3\xb3\xd6\x24\x83\xf5\x4e\x3d\x2c\x8d\x2b\xdf\xe8\x98\x48\x51\x18\x6f\x28\x51\x1e\xef\xb8\xfb\xe4\x2f\x50\xe4\x83\xfe\xc3\xc4\xad\xf6\x62\xb3\x2b\x59\x7c\xe8\x04\xe1\x9a\xb7\x30\x27\x6e\xcb\xff\x1e\x44\x61\x55\xd8\xaa\x45\xe6\x0a\x5b\x7d\x1e\xa1\x93\x5d\xa8\xf1\x59\x38\x4d\x35\x3f\xf5\xee\x62\xf5\x51\x8b\xdc\xfa\x3b\x6a\xc9\x28\xec\xdb\xe6\xfc\x49\x51\xee\xf2\x3b\x33\xb7\xae\x67\xe6\x76\xec\xd4\x8e\xfa\x24\xc6\xac\x95\x93\x58\xcf\xfd\xdf\xdf\xd9\x95\x1a\x4b\xc8\xbe\x3b\xf4\x41\x85\x8d\xc2\xbb\x7c\x8b\x6a\x72\x64\x6e\x75\x06\x50\x05\xb2\x85\x00\x2c\x5d\x1f\x52\x33\x9b\xa5\xa0\x85\x2e\x48\x07\xd1\xe9\x92\x39\x76\x2a\x88\x3c\x92\x0e\x76\x1e\xb8\x20\xc8\xae\x56\xcf\x80\x97\xf8\x80\x89\xfe\x3d\xf8\xac\x29\x1e\x31\x63\x34\x6f\x0f\x26\x27\x10\x2f\x51\x0f\x17\x55\x52\xcb\x8f\xa2\x26\x51\xe9\x72\x69\x92\x54\x57\x26\xdb\x8c\xd4\x3a\x77\x57\x2c\xa8\xfd\x6f\xfa\x56\x5f\x42\x37\x54\x91\xb3\xe3\xd0\x2d\x59\x1c\xe9\xf1\x3d\x77\x97\x2d\x34\xc2\x5a\x45\x37\x46\x93\x27\x78\xa5\xa5\x3a\x03\x0a\x2e\x1e\xd5\x7a\x9a\x19\x7d\x8b\x1d\xa5\x6b\xeb\xd2\x5f\x9b\xc0\x39\xda\x80\x25\x1a\x7d\x92\xe1\x20\xb9\x31\x9b\xa1\xbc\x58\x4c\x98\x6d\x93\xda\xd8\xa0\x5b\x61\x80\x68\x4f\x17\x88\x56\xc1\x3a\x8e\x9e\x44\x70\xcd\xb4\x78\x8b\xca\x65\x9e\xc9\xa9\x11\xa9\x25\x23\x7b\x39\x75\xe3\x55\x25\x13\x10\x86\x36\x4f\xe1\xc6\x1b\xe7\xea\xc3\x51\x70\xd0\x5a\xec\x93\x8e\xf6\x1f\xf4\xc4\x01\x24\x0e\xf2\x45\xaf\xc7\x32\x47\x64\x43\x6a\x3e\x77\xa0\xa7\xf9\xda\x03\xbd\xb3\x05\x2b\x78\x85\x09\x98\x43\x5b\xe9\x0d\xa5\xd9\x8b\xc8\x05\xdc\xf8\x5d\x89\x2d\x61\xa4\x9b\xc0\x4e\xe2\x8a\x60\xa7\xcf\x9d\x0e\x4f\xf6\xa3\x9a\x13\x08\x2b\x75\x36\x36\xd5\x40\xa6\x16\xb0\x4a\x8c\x77\xb8\xd0\xa0\x5f\x70\x98\xec\xad\x5f\x39\x7c\x5d\xbd\x5e\xa7\x89\x39\x11\xe2\xf0\x52\x14\xae\x0a\x3f\x43\x6a\x0d\x69\x19\x78\xd5\x41\xf6\xbe\x30\x84\xf1\x21\x37\x4e\x6c\xf8\xd8\x8f\x4c\x60\x2f\xc3\x37\xe2\xa2\xb9\x1b\x44\x97\x00\x45\xbd\xf5\x94\x31\x47\x1b\x28\xcc\x92\x2c\x5f\x7b\x02\x8c\xe9\xa7\x5e\x7c\x5a\x70\x84\x67\xc5\x3a\xc7\x9c\xcd\x8f\x9f\xb5\x17\x40\xe6\xd7\xe3\xdd\xe2\x54\x51\x31\x31\x40\xe9\x92\x05\xb6\xd1\xdf\x78\xed\x60\x8c\xd5\x1a\x4f\x0e\xbe\x8c\x7b\xd8\x56\x79\xb3\x66\xa7\x01\x89\x1f\x3b\x2b\xf2\x79\x5a\x2e\x4d\xd2\x0b\xee\x91\x3c\x81\x83\x61\x4f\xa5\x09\x40\x6d\xe3\x07\x8c\x7c\xfd\x04\x2f\xcb\x1f\xd3\x48\x2b\xbd\xa7\x35\x7a\x99\x9e\x9a\xcc\xed\x88\xad\x65\xcf\x2f\x98\xdc\xf3\x13\x28\x79\xfe\x7c\x5a\xc6\x04\xaa\xea\x3c\x31\xd3\xf5\xb5\xbb\x96\x7e\xf0\xad\x6f\xb7\xcf\x4f\xaa\x8a\x11\x70\x65\xe1\x30\xcf\xae\x38\xfc\xde\x56\xd8\x1b\xcd\xe2\x4b\x61\x2c\xdb\xab\xb2\xa8\x4a\x3d\xab\x8a\x12\xde\x48\x90\x2b\xe1\xc3\x30\x3b\x4e\xa5\x0a\x0d\xd3\x6a\x1f\x4c\x37\x63\x4a\x6e\x37\xe8\xd3\xb7\xfd\x61\x10\x09\x72\x6e\x87\xa1\xb5\x57\xa1\xc1\x52\x25\xae\x97\x56\x83\x3e\x39\xb4\x1a\x79\x9a\xca\x83\x63\x1e\x20\x0b\x61\x8b\xbe\x4d\xcd\x5d\x43\x41\x65\xb6\x61\xd6\xe5\x01\x75\x71\x7c\x6d\xaa\xb7\xe6\x7d\x35\x18\x0e\xc7\x55\xe1\x64\x51\xa7\xf9\xa0\xff\xb8\x1f\x75\x42\xc9\x2e\xa7\xc9\xa0\xdf\x94\xac\xfe\x70\x38\x9e\x65\xe9\xec\x66\x50\xaf\x79\x48\x7b\x4f\xfa\xc3\x67\x8d\x2a\xc0\xae\x8e\x0a\x55\xb9\x36\xa2\xce\xb6\x8b\x67\x6e\xd7\x3f\x98\x6f\x4b\xba\xa9\x77\x30\x6e\x0f\x0b\x9e\x46\x2c\xf8\x38\x86\x7f\x22\x03\x0e\xb0\x79\xe0\xe6\x2f\x8d\x1e\x70\x70\xfc\x29\x1f\xa0\x61\xa3\x66\xcb\xf0\x96\x8c\x60\xc8\x38\x52\xca\x9d\x58\xc2\x46\xd4\x7d\x19\x69\x06\xa9\xd4\x82\xaf\x10\xe1\xa9\xe5\x2a\x25\x74\xe5\x01\x25\x3b\xc7\xaa\xec\x39\x8f\x61\xbd\x47\x70\x55\x3b\x42\xa8\x35\x74\x70\x94\x63\xab\x11\x3e\xd8\x6e\xd3\xff\x5a\x0e\xb7\x7b\xc0\xcb\xb6\xc1\x8a\xb0\x9b\x61\x84\x42\x42\x17\x61\x9f\xc9\x98\x60\xc6\xdc\xf5\x7b\x5e\x94\x4e\xe1\x29\xd7\xd5\x62\x83\xc9\x2e\xad\xe1\x9c\xe2\xee\xfa\x57\xd4\x1f\xcf\x23\x9f\xee\x10\x0d\x28\x89\xfb\xee\xb6\xa3\x8c\x89\x2b\x05\xf1\xe5\x41\xdc\xbd\x80\xb4\x42\x39\x76\xdb\x3c\xac\xfd\x55\xa8\x76\xc7\x67\x2a\x5d\x17\xe5\xa8\xe3\xdd\x91\x11\x5b\x9e\x5d\x7a\xc4\xfb\xef\x39\xb9\xc2\xad\xbd\x34\xd7\xe6\xfd\x6a\xc4\xfd\x7d\xf9\x7e\xa5\xce\x14\x09\xf0\x1b\xfc\xcc\x31\x16\x3e\xa1\x32\xcf\xda\x39\x48\xdf\x4a\x06\x02\x71\xc9\x45\x0c\xf4\xb9\x84\x78\x33\xfe\x16\x50\x01\xaf\xcd\x7b\x72\xba\x57\xe7\xea\x71\x7c\x15\x85\x6f\xd1\x0a\xab\x7e\x34\xd7\x2f\xdf\xaf\x06\xfd\xff\xe8\xab\xaf\xe8\x8b\xaf\x54\xff\x61\x3f\xba\x20\x46\xcd\x61\xa1\x2f\xbf\x54\x0f\xb0\x95\xca\xd8\xaa\x0d\x8b\x6e\x89\x18\x74\x7d\x3f\xec\xfe\x70\xd0\xcf\x0b\xe4\x4f\x3f\xb6\x79\xf5\x3d\x10\xdd\x87\xc7\x5b\x0e\x25\xa5\xbe\x01\xe0\xdc\x9d\xb6\xea\xc3\x93\xed\x58\xbd\xe4\x84\x99\x1f\x9e\x6e\xfb\x92\xcb\x31\x41\x68\x65\x84\x69\x0f\xd2\xfc\xfa\xad\xbe\x1e\x98\x6c\x39\x6c\x1f\x15\x76\x49\x9d\xd1\xf8\x7f\xfb\xad\x0d\xec\x61\x97\xbc\x76\xad\x45\xea\x5d\x67\x6a\x6a\xb1\xf4\x6a\xeb\x4c\x73\x82\x6a\x09\x63\x83\xfd\x84\x8f\xf1\x57\xe0\x3d\x15\x7e\xd6\x7e\x8d\xe7\xe5\xb3\xd4\xef\x51\x1c\xfe\xdb\x2f\x20\xdf\x53\x75\xa6\x8e\x9f\x74\xac\x0d\x5f\xa8\x3f\xda\xc1\x5b\x80\x1b\x02\x3c\x37\x75\xe6\x7e\xa9\xb1\x4a\x45\x6d\x21\x4e\x0f\x16\x1f\xaa\xaf\xd5\xf1\x13\x75\x4a\xb5\x0f\x93\x82\x0e\x21\x90\x6d\xdc\x7b\x47\x1e\x84\xda\xcf\xdd\x32\xf6\xc1\x9b\x2c\x29\x32\xce\xe7\xb7\xdf\x04\x5c\x16\xaf\xfe\xe7\x67\x61\x94\x3b\x84\x04\x38\x9f\xe6\xff\xa7\xc8\x08\xf7\x94\x2e\x78\xad\x22\xc2\x65\x76\x8a\x88\xa4\x14\x24\xc4\xb1\xf2\xf1\xa7\xcd\xba\xa0\x7b\xef\x59\xef\x3a\x74\x21\x1f\x7d\x7d\x82\xcf\xcf\xc2\x20\x76\x6c\x02\x07\x98\xf2\x9c\x52\xd6\x15\xe2\x63\xde\x57\x32\x13\x1a\x25\xdd\xb6\x6a\x6a\xaa\x3b\x03\x56\xaa\xc4\x64\xe9\x32\xad\x20\xcb\x1f\xe6\x0d\x80\x5c\x51\x4a\x97\xa5\x06\x8f\x50\xfc\xd8\x62\x56\x73\x0a\x2d\x45\x9f\x67\xac\x48\xce\x41\xb3\x62\xb9\xd4\xf4\xf6\xce\x29\xdf\xec\x4a\xcf\x8c\x3a\x56\x4e\xb8\x6e\x75\x46\xd9\xdd\x27\xf9\xf5\x71\x96\xda\xea\xac\x37\x52\xbd\x49\x70\x46\x40\x28\x81\x8d\x8f\x1e\x8f\x1b\xd1\xb6\x09\x54\x32\xc1\xc1\x0b\xa4\x01\x75\x8c\x5e\xcb\xa8\x40\x8f\x44\x5b\xea\x37\xd7\x98\xb0\xe6\x91\x77\x02\x24\xec\x01\x6a\x51\x30\xbb\x9e\xcf\xf1\x64\x0b\xc9\x2a\x45\xab\x6f\xcb\x74\x19\xe3\x1b\x3c\x42\x38\x13\xff\x1d\xe5\xda\x74\xc3\xed\x01\x40\x59\x6f\x42\xb8\x80\x8b\xb4\x32\xc8\x18\x0d\x6e\x5c\x6a\x5a\x50\xd6\x2e\x6b\x56\xba\x04\xac\x3f\x08\x6b\xd2\x33\xf4\x6e\x06\x10\x01\x95\x56\x66\xc9\xf1\x4b\x08\xa4\x42\x50\x25\xcb\x55\x96\x1a\x1b\x50\x3f\xc0\xd6\xd9\x36\xa4\x5a\xe4\x13\xd2\x4e\x8c\x86\x48\x7b\xf0\x83\x10\x7d\x73\xa7\x37\x7a\x87\xb8\x09\xb5\x98\x3d\x0e\x9d\x27\xe4\x08\xac\x90\xa0\x72\xe4\x63\xa1\x34\xb9\x5b\xea\x29\xa4\x62\x33\x77\x60\x5b\x9c\x2d\x34\x78\x6e\x97\xc4\xaf\x00\xe7\xd1\x64\x0a\xf4\x5e\x4a\x18\xa6\xfa\x20\xe3\xaa\x5d\x65\x04\xb9\x31\xf0\x39\x26\x30\x77\xbd\x67\x0f\xf6\x00\x4a\xff\x5a\xa4\x39\x07\xe3\x78\x5e\x5a\x8e\x2e\xbd\x86\x8c\x72\x43\x84\x46\x69\xf4\x03\xfc\xb1\xa3\x09\x70\xeb\x61\xb5\xe2\x06\xe8\x6d\x95\x12\xe7\xcb\x58\x9b\xc8\x6e\xfb\xc5\x17\x5f\x70\xf2\x7a\x64\x75\x00\x2b\x65\x9f\xa6\xba\xb9\xcf\x49\x76\x9b\xb1\xcf\x75\x66\x87\xa9\x2f\x78\x34\xd0\xad\xb4\x6e\xd5\x13\xf5\x1b\x36\xbd\xcf\x68\xd2\x23\x23\x5c\x0e\x0e\xcb\x67\xea\x5d\x7f\x59\x94\xab\x85\x59\xdb\xfe\x48\xf5\x73\x53\xb8\x7f\xdc\xce\x92\x56\x1b\x08\x54\xf7\x55\x83\x41\xae\xd3\xe4\xd3\x62\xce\xec\x48\x77\x75\xa8\xe1\xce\x31\xfb\x34\xce\xfe\x04\x3d\x7f\x85\xbe\x85\xc1\xb4\x06\x9f\xc2\x07\x20\x14\x7c\x5d\x0a\x94\xd0\x4f\x85\x9c\xd3\x20\x72\x0e\x4a\xdb\x45\x71\xc7\x3d\x1b\x07\xd2\x94\x1c\xc4\x5f\xde\xa4\x2d\x51\xfd\x48\x1f\x3e\x20\xff\x96\xd0\xc6\xb4\x14\x7f\x54\xd5\x39\x73\xf9\xc3\x07\xf8\xad\xd5\xf0\xe6\xca\xb5\xb4\xcf\x48\x81\x1f\x3e\x74\x7d\x79\x1f\x6a\x30\x9a\x2e\x6a\xf0\xe5\x3e\x6a\xcd\x0e\x1d\xd6\x8b\x1a\x23\x81\xc0\x83\x07\xed\x5f\xb6\xdb\x1a\xc9\x03\xe9\xf3\x19\x1b\x9d\x84\xc0\xd0\x63\xdb\x21\x48\x12\xbe\xa6\xdb\xba\xa9\x91\x27\x52\x14\x37\xef\xf5\xac\xfa\x86\xed\x8d\xad\xb5\x98\x65\x6d\x06\xca\xae\x59\xad\xd3\xe0\x99\x13\x34\x66\xd6\x0e\xfa\x4e\xf2\xc6\xf0\x65\xb7\x85\x33\x64\x59\x82\xcc\x95\xbb\xcd\x71\x68\x23\x83\xfe\x74\xd8\xc8\xde\xf5\x78\xaf\xe8\x8d\x7a\xb9\x29\x7a\xa3\x1e\xed\x14\xbd\xab\x36\x7b\x1b\xba\x2c\x1f\x64\x6f\xf3\x75\x50\x20\xae\x4d\x75\x61\x2d\x82\x3c\xf4\x93\xd4\xae\x32\xbd\xe9\x03\x81\x6f\x8c\xbb\xf5\xe6\x07\x19\x2b\xc5\x03\x58\x3a\x47\xe0\xdc\xce\xe1\x7b\x99\x18\xcf\x32\xa3\x11\x27\xaf\xf9\x9d\x35\x79\xf2\x57\xb3\xb1\x83\x7e\xc3\xa0\xbb\x9f\x7d\xf7\x65\x11\xa8\x27\xf7\xe7\x51\x5e\x54\xbb\xf8\xb4\xd7\xf5\x3a\x1c\x88\xc7\xe2\x3c\x2f\xa4\x86\x74\xc0\xb9\x78\x4c\xca\x85\x3d\xf0\xd9\xeb\xb9\x0f\xdf\x0b\x7b\xba\xe3\xbb\xdf\xd2\xcf\x7a\x5f\x7e\xf1\xe4\xf1\x33\xf8\xbb\x2a\xd3\xe5\x19\xa9\x6f\xe7\xcf\x7d\xe4\x9f\xa7\xb5\x2a\xcd\xf9\x87\x0f\xa8\x1e\xfc\xa6\x7e\xb5\x45\xae\xdc\xd6\xc2\x71\x2d\x9f\x63\x1f\x49\xab\x41\x8f\xc4\x0c\x98\x84\x99\xad\x9c\x5a\x3f\xdd\x28\x3f\xf6\x2e\x69\xdb\xbf\x0b\xb9\x6f\xe5\x56\x80\x75\x8a\x75\xd5\xa8\xe0\x77\x14\x31\xdc\xb8\x66\x9b\xfc\xea\xe9\xec\x6f\x79\x62\xe6\x7f\xcb\xaf\x17\x69\x9b\x90\x61\x53\x5d\x3b\xc1\xdf\x72\xa5\x7a\x7a\x3a\xeb\x8d\xe0\xb7\xc4\xcc\xe9\xb7\xeb\x45\xda\xfb\x5b\x7e\x75\x5f\xb1\xeb\x7e\xe4\xc5\x6b\xce\xd9\x96\x2e\x54\x84\x23\xa4\x33\xa1\x85\x62\xb6\x7b\xbf\xe6\x39\x19\x7e\x98\x17\xff\x96\xcb\x56\x7b\x47\xe9\x13\x6e\xe5\xc2\x31\xef\xf1\xe3\xfa\x45\xfd\xb0\x7b\x7a\xa7\x69\x1f\xbc\xc7\x7e\x11\xf8\x94\x1c\x2c\x1f\x54\x60\x27\xfe\x4b\xcc\x93\x1a\xd2\xd4\x61\x9e\xf7\xdb\x22\x5b\x03\xfe\xc2\x6a\x55\x16\x1a\x33\x64\x7b\x00\x57\x0d\x5e\xf8\x88\x9d\x87\xcc\xf4\x37\x25\xf6\x15\xe7\xf8\xf6\x55\x69\x60\x95\x61\xdc\x21\x97\x12\x26\x03\x22\x70\x16\xbc\x06\xab\xaa\xc4\x97\x85\x87\x64\x9e\x75\x05\xe0\x8e\xed\x54\x4a\x99\x17\xc4\x11\x86\x7d\xcb\x06\x5b\xae\xbb\x9d\x21\x24\x39\x6e\x7b\xb2\x7c\xb8\x7f\x9d\xc9\xba\x5f\xc3\x1f\x03\x6e\xe8\x94\xfa\x14\x59\x36\x30\xc3\x9c\x34\x18\xb6\xd9\x09\x62\xf4\x78\x8f\x2d\xcc\x87\xc7\xc0\xea\x8d\xd7\x28\xe1\x06\x06\x67\xc9\x50\x06\xfa\x8b\x4c\x91\x35\x6b\x72\x30\x38\x86\xb6\x5b\x1c\x9f\x78\x4b\xa0\x2c\x2a\x11\x91\xd6\x4e\x07\x80\xd8\x60\xc3\x00\x91\x1f\x78\x7e\x0d\x77\x99\x6a\x3c\x71\xfc\xc2\xb5\x8d\xaf\x47\x4d\x16\x53\x91\x53\x55\x37\xf8\xd5\x5d\x9f\xea\x96\x97\x0c\xe6\x83\xbe\xad\x19\x76\x19\xa7\x1c\x73\x92\xb8\x3f\x6a\xe6\x1f\x81\x77\x13\xbf\x6a\x35\x86\x82\x8c\x7e\x51\x96\x9a\x6d\xbd\x75\x0b\x3d\xf4\x06\xb7\x01\x77\xeb\x64\xa1\xd9\xd5\xf7\x86\xd1\x5a\x98\xa6\x4f\x4e\xd4\x0f\xb7\xa6\x2c\xd3\xc4\x30\xb8\x47\x9e\xe8\x32\x51\x6c\x65\xf2\x31\x2b\x3a\x47\x61\x21\xbb\xcd\xd2\xe8\xdc\xc6\xf9\x1e\x04\xa0\xbf\x8a\x4d\x55\x87\x18\xba\x1f\xa0\xe1\xe5\xb7\xdf\xe8\xb7\xf1\x5e\xcb\x95\x13\xb4\x8b\x1f\x5e\x5f\xbe\x7d\xf1\xfa\xed\x7f\xfe\xfc\xe2\xbb\x9f\x5e\xfe\xe7\x8f\x2f\xff\xfc\xf2\x7f\xbf\x51\x67\xea\xe4\x3f\x20\x5d\xca\x6f\xb0\x06\x7f\xfb\x5b\xf2\xd5\xf0\xe1\xc9\xb3\x43\x6c\x5d\x3f\x07\x87\x9f\x86\xb1\xeb\x1b\xc0\xad\x69\x75\x59\xe3\x18\x22\x36\x1e\x4d\x9e\xe3\xf6\x7e\x0e\x10\x2d\x6d\x50\x0e\x13\xf9\xd7\x04\xd1\x67\xbc\x27\x36\xbb\x95\xf9\xc3\x24\xc0\xdb\x8e\x62\x3c\x45\x8c\x0e\xf6\x9e\x47\x5b\x34\xcc\xe8\x2a\xae\x5a\x51\x4c\x8d\xab\x3a\xe5\xd4\x9c\x6b\x89\x5f\xf3\xb3\x47\xc7\xa5\x20\x2c\xe8\x43\xb2\xc9\xf5\x92\x7c\xa5\xae\x4d\x0e\x39\xdd\xf3\x6b\x58\x0d\x10\x82\x04\xbd\x77\x1b\x49\x55\xe4\x16\xc3\x8a\x8f\x64\xa4\xcd\x8f\x66\x65\x74\xe5\xe8\xe3\x6f\x93\x2d\x80\x83\xbb\xbb\x6a\xae\xa6\x26\x2b\x7c\xc4\xd5\x77\xe9\x8d\xb9\x4b\x2d\x5a\xd4\xa8\x33\x14\xb9\xcc\xc7\x20\x75\xc0\x48\xe6\xd2\x28\x2d\xdb\x9b\x04\x6f\x08\xe8\x81\xe1\x71\xb6\xb5\xc4\x16\x00\x02\x69\x8d\x5a\x14\x77\xe6\xd6\x94\x23\xf4\xb1\x23\x5b\x24\x86\x5b\xaf\x57\xab\xa2\x24\x4b\xcf\x9c\xd2\x89\x22\x4e\xab\x9a\x88\x03\xc7\x16\xe4\xd3\x67\xd7\x59\x15\x61\x9b\xe0\xa6\xaa\xb3\x3b\xbd\xb1\xf8\x74\x85\xf4\xc1\x3c\x75\x89\xe4\x81\x32\x77\x92\xe3\xdc\xc0\x82\x93\x17\xf9\x31\x99\x4c\x6f\x71\x17\x4b\xad\x4c\x93\x9b\x6a\xd7\x12\x87\x2a\xed\xf7\x32\x13\x0a\x08\xa5\x7f\xa5\x30\xb4\x20\xc7\xee\xf4\x2c\x2c\xcb\x31\x1f\x09\x28\x31\x9c\x32\x86\x80\x6a\xc5\x59\xea\x74\x22\x36\x5d\x22\x46\x91\x08\xe5\x8e\xbd\xce\x9c\xf6\x54\xd7\xb7\xa1\x33\x6d\x86\x28\x68\xa9\x16\xdd\x74\xff\x28\xe3\xa6\x81\x4a\xd2\x6d\xc4\x19\x7f\xd6\x48\xe3\x16\x2b\xd5\x2a\xfd\xc7\x3f\xb4\x53\x24\xd6\x79\x3a\x2b\xca\x1c\xcc\x55\x65\x31\x2d\x2a\xdb\xbf\xaa\x07\xbe\xf8\xec\xf7\xea\x4c\x7d\x50\x73\x7d\xeb\xb4\x35\xa7\x9b\xf9\xca\x51\x84\xcb\xbe\xf8\x65\x36\x62\xdd\x23\xf8\x4b\x3d\x5f\x3c\x3d\xff\x85\xa1\x16\x20\xe4\x90\xbb\xf1\xf5\xf3\x93\xc5\xd3\x28\x0e\x8c\x1d\xbd\xf2\xeb\xe3\x12\xd6\x3b\x9a\xb3\x00\x9f\x00\xcd\x5a\xe0\x02\x86\x46\xa4\xed\x36\x0e\x22\x53\x4a\xf1\x17\xb5\x8f\x23\x77\x34\xd8\x72\xda\xe2\xc2\xa2\x08\xb2\xe5\x66\xcc\xdd\xec\x2e\x0b\x72\x80\x5d\xec\x28\x94\x26\xa2\xb7\x1d\x74\x40\x12\x7d\x63\x35\x7e\x90\x3f\x9b\xe4\x67\x92\xde\x9e\xc3\x8b\x04\xac\xb4\x0f\x1f\x44\x57\xdd\xdd\x2e\xc4\x94\x35\xa2\xd6\xa2\x20\xb3\xfb\xde\xf6\xe8\x07\xe0\xfa\xa8\xb9\x4e\x83\x8e\xef\x10\x5c\xbf\x82\x76\x72\x3f\x83\x8c\xff\xa1\x8b\x18\x13\xed\xb8\x8a\x79\x91\xee\x48\x04\x28\xed\x21\x29\x19\xf0\x69\x5f\x94\x2e\xbb\x76\x47\x3f\x58\xc3\xcf\x32\x71\x41\x8d\x87\xeb\x3a\x37\x78\x2c\x5d\xd6\xee\x39\x0c\x5c\xdf\xad\x63\x90\xf3\xd7\xea\x83\x05\x3b\xe1\xe7\xbd\xce\x35\x22\xad\x06\xd5\x2a\x1b\xa9\x6a\x95\xbd\xa8\xaa\x32\x7e\x57\x6d\x55\xa6\xd0\x97\x80\xca\x8f\xa9\x8f\xc3\x16\x05\x4e\x84\xa4\x50\x54\x46\xee\xb4\xc9\x5a\x58\x0a\x3d\xeb\xd6\x92\xec\xc1\x6d\xcb\x9a\x8a\xf6\xe6\xfe\xa8\xcd\xcd\x8b\x5a\x16\x9c\xed\x4c\x86\xd7\xd1\xa5\x03\xba\x12\x41\x80\xca\x86\x47\x51\x32\xb9\xb5\x01\x38\xd0\x17\x3b\xae\x24\x2d\x83\xda\x73\xeb\x68\xcd\xca\xe1\x54\xdd\x43\xb1\x1a\x49\x17\xe8\x50\x5f\x5f\xe0\x43\x5b\xb5\x86\xb7\xaa\x45\x71\x17\xe5\x6d\x47\x9d\x27\x29\x72\x33\x56\x3f\x45\x10\x6d\xac\x61\xc0\x13\x5d\xdb\x3b\x2a\x5e\xf7\x8a\xf9\x11\x67\x75\xa3\xc7\x42\x02\xb4\x63\x28\xed\x28\x4b\xbc\xce\x93\x13\xc8\x58\x40\xd1\x3c\xae\xc1\x04\x80\x86\x59\x09\x26\x54\xd3\xb5\xf6\x75\x9c\x86\x06\x4a\x9e\xbe\x31\x56\xad\x32\x3d\x33\x1c\x0a\x51\xa5\x4b\x03\x8a\x4c\x5a\x1a\xfb\x8c\x90\x51\xe1\x33\x56\x62\x4a\xe3\xd4\x60\x44\x8d\xd1\x39\x86\xd2\xb3\xc7\x7f\xa0\xc7\x5a\xd4\x9f\xd3\x5b\x52\xc1\x73\x5d\xad\x4b\xd4\xe9\x6b\xfc\x18\x09\x95\x9f\xcc\x96\x00\xb0\x03\xb9\x7b\xf0\xc8\x9a\xa7\x26\x4b\x2c\x47\x68\x00\xe8\x23\x64\x0b\x72\x4d\x4c\x4d\x1d\xa2\x20\x90\xa3\x0a\x34\x7c\x0f\x68\x04\x19\x04\x34\xe3\x05\xa5\x98\xd7\xa1\x9e\xbd\xdc\x7d\x08\x97\x09\xdc\x2b\xe1\x8d\x95\x12\x31\xec\x45\xc5\x9c\x3c\x74\xbf\x4c\xf5\xec\x26\x64\x45\xd8\x32\x88\x51\x69\x32\x73\xab\x59\xb3\xc4\xb1\xa9\x14\x44\xab\x28\x13\x03\xb8\x44\x90\x22\x03\x90\x76\xf0\xc1\x92\xd3\x87\xa6\xff\x60\xfc\x87\xd0\x4f\xcd\x38\x55\x3a\xdf\x08\xc4\x78\x42\xb2\xc5\xb4\x49\x33\x93\x05\x18\x2a\x88\xf9\xd1\x36\x35\xb6\x62\x70\xa1\xd2\x00\x03\x29\x26\x84\xb4\x9a\xbe\xfd\xc8\x91\xba\x46\x42\x8a\x86\xe9\xc6\x0d\x07\xcc\x53\xeb\xb2\x96\xdb\x10\x84\x25\x09\x89\x9a\x40\xaf\xf2\xa0\x45\x4e\x31\xd7\x4b\xa9\x24\xf3\x5b\x3a\xc4\xe4\xa4\x4b\xa7\xf8\x3b\x4e\xfa\x1c\x20\xae\xfe\x44\x84\xf9\xe2\x6a\x5c\xad\xa7\x59\x6a\x05\xb4\x15\x43\x62\x12\xd4\x69\x0e\x5c\x5f\xa0\x16\x40\x42\x93\x96\x78\xa3\xab\xb5\xef\x01\xbb\x36\x3e\x19\x00\x07\x56\xe1\x32\x75\x13\x87\x4b\x4a\x84\x4f\xf9\x34\x2b\x26\x9f\x65\x85\xa5\x6c\x8e\xf8\x4a\xbd\x9e\x52\x18\x91\xbb\x88\x50\xcc\xd3\x04\x3f\xa5\x3c\x02\x63\x01\xb8\x3f\xc9\xaf\x2f\xdc\x91\xea\x53\x0c\x40\xab\xc5\x6c\xb6\x2e\xf9\x89\x3b\x0a\xd9\x41\xa9\x4e\xdc\x5e\x04\x0e\x11\x97\x48\xf8\x08\xf1\x3a\x10\x02\x84\xac\x80\x85\x80\xcc\x4f\xe2\x57\xf1\xc6\x16\x06\xb3\x93\x2b\x03\xce\x17\x75\x34\x51\xc0\x5f\x49\xcc\x2c\xd3\x94\xf6\xc0\x49\x68\x5a\xb9\xcf\xec\xcc\xe4\x89\xc6\xfc\x90\x8f\xe4\xa5\xea\x07\x48\x81\xb2\xad\xed\xc0\x1e\x93\xbe\x2a\x08\x8e\x9a\x7a\xc9\xa8\x9c\xb4\xa4\x7f\x66\xd4\x3b\x04\x28\xc3\xab\xd4\xb1\x48\xc8\x70\xca\x4e\x33\xb4\xe7\x82\x27\x05\x68\xe3\x98\xa8\x87\x16\x79\x90\x4d\x71\x5d\x13\x8e\x2f\xa6\x52\xd6\xdd\x72\x75\xc6\xc6\x6c\x9a\x05\x44\x02\x83\x3d\xdd\x4d\x7d\xf0\xd5\x01\x2b\x9a\x5b\x71\x25\x7a\xab\xf8\x8c\x21\xd8\x2e\x21\xba\x88\xb4\x14\x84\x0b\xa2\xc0\x7b\xae\x9a\x2d\x28\xd2\x8d\x0a\x70\x7b\xee\xce\x8f\x8e\xf5\x71\xe4\xf6\xd8\x0f\x9d\x37\x82\x09\x38\xd9\x01\x36\x10\xdd\x46\x61\xd8\x33\xd4\xb3\x98\x38\x21\xc4\x47\x47\x8b\xdf\x42\x97\x69\x96\xa5\xd6\xcc\x8a\x3c\xb1\x63\xf5\x22\x3c\x46\x92\x91\xe6\xb1\x88\xf4\xcb\x83\xd8\x73\xf6\x05\xf5\x6a\x2e\x52\x05\x81\xc8\x53\x16\x13\x4a\x6e\x3c\x6a\x9e\x88\xdc\x06\x1d\x8c\xd8\x94\x87\x39\xa4\x55\x21\x52\x29\x9d\x72\x85\x56\x7c\x14\x16\x83\x53\xc5\x90\xfb\x8a\x22\x54\x79\xe4\xa7\xea\x83\x47\xe3\x3f\x55\x7f\x7c\xfc\x78\xa4\x30\x88\xf5\x54\x3d\xde\xaa\x6d\x6f\xe2\xf9\x2a\x53\xba\x4d\x4e\xd5\xb4\x28\x32\xa3\xf3\x88\xb7\xee\x02\x30\x03\x55\xa0\x8a\xc1\x72\xc8\x10\xe3\xc4\x08\xf6\x70\x56\xbb\x5d\xa9\x84\x40\x22\xdd\x55\xa8\xa8\x3c\x08\x9b\xf2\x99\x70\x98\x5b\xde\x65\x88\x47\xc2\xe0\x2d\xc5\xdc\x51\xf6\x68\xb6\xd8\x64\x55\x04\xbb\x65\x10\x0e\x89\x96\xd1\x31\x88\xc4\x54\xa6\x5c\xa6\x39\x82\x1a\xc2\x31\x5f\x94\x98\xd4\xa3\x50\x55\x69\x74\xe5\x15\x39\xeb\x97\x0a\xeb\x60\xc1\x72\xa3\x2d\x43\xf7\x10\x66\x8b\x0d\xbd\x70\x8a\xc5\x3f\x0a\xc0\x9f\x44\x74\x0b\x94\x46\xfe\x98\xfc\x94\xd9\x6c\x55\x1a\x9d\x9c\x40\x46\x35\xb4\x90\x7c\xab\x2b\x33\x01\xa6\x68\x48\x4f\x24\x11\x02\xbd\xd7\x94\x62\x28\x1b\xba\xcb\x39\x96\xf6\xce\x27\xa3\xda\xc7\xae\x49\xf8\x78\x3c\x1e\xab\xb1\xfa\x11\x32\x11\xe6\xc5\x1d\xaa\x26\x68\xd1\x62\x2b\x56\x80\xf5\x9f\xf4\x7f\x7a\x7b\xd1\x47\xc8\x43\xf7\x53\x78\x37\x29\x39\x3f\x7e\x38\x34\x6f\xd3\xb2\xb8\xb3\x42\xa1\x72\xe3\x6b\x84\x15\x1e\xa9\x43\x10\x72\x0a\x36\x39\xd7\xd7\x9c\x1d\xab\x0b\x3a\x95\x24\xe6\xa3\x47\xf3\xc1\x94\x35\x70\x04\x41\x37\x1a\xba\x0f\x0c\xd9\x9b\x4f\xf9\xc9\x29\x2b\xac\xb1\x6a\x5e\xcc\xd6\x56\x0d\xdc\xf2\xc0\x95\x38\x84\x25\x3e\x31\x76\xa6\x57\x66\x02\xe0\xa3\x90\x20\x17\x23\x75\x13\xc2\x9a\x0f\x7b\x2b\x69\x3c\x44\x89\x4d\xb1\x9e\xad\xa8\x61\x46\x96\x60\xce\xc3\x1b\xed\xfa\x8e\x49\xed\x68\x3f\x74\x7a\x88\xc7\x67\xd7\xd9\x60\x10\xa3\xad\x21\x36\x89\xed\x31\x88\xdd\x17\xee\x67\x2f\xda\x4f\x1d\xec\xe7\x63\xb0\x7e\x0e\x83\xfa\xd9\xb3\x25\xc2\x3e\xa7\xda\xec\x32\xf9\xf5\xf1\x8d\xd9\xac\x57\x67\x3d\x4a\x41\xf2\x10\xe7\xbb\xa7\x4e\x38\xb4\x50\x54\xfa\x01\x01\xd7\x75\xa5\xf7\x0d\x2b\xee\xb5\xab\x21\x28\xfa\x8a\x35\xa4\xa1\x83\x81\x86\xda\x61\x86\x84\x45\x28\xb2\x1f\x74\x63\x0c\xd5\xcd\x9d\xb1\xd4\xd4\x0c\x9e\x9f\xcd\xd8\x59\xc3\x0e\x22\xb8\xa0\xbe\xd5\x1b\x77\x5c\x39\xe6\xaa\x7e\x5f\xbc\x9d\x89\x3a\x38\x49\xd2\xdc\xd1\xfa\xbe\x67\xc6\x37\x66\x73\x51\x24\x46\x9d\x9d\xa9\xa7\xff\xb3\xd3\xd6\xca\x52\x3b\x66\x01\x1c\x37\x75\xfd\xc1\x2e\x10\x04\x71\x25\x67\x6b\x6a\x17\xeb\x0f\x35\xbc\x79\xb4\x8d\x0e\x9b\x9b\x17\x82\x7e\x30\x70\x60\x94\x42\x97\x5f\x45\x57\x0d\xbc\xd9\x76\xd6\x70\x33\x21\xad\x7a\xc2\xaa\x06\x1a\x02\x6b\x2e\xa8\xaf\x75\xd9\xd2\xd2\x9a\x13\x86\x5a\x98\x2c\x2b\xa4\xd5\x2b\x25\x17\xa4\x9a\x15\x8d\x6c\x68\xb8\x11\x46\x06\xb4\x97\x7f\x5f\xeb\x6c\x00\xf2\x22\xca\xc3\x68\x3e\x8e\x4c\xbd\x4f\xdb\xd6\x41\x37\x45\x03\x8f\x0f\x52\x7c\xf0\x30\xfa\x78\x36\x50\x47\xb1\xe0\xb5\xa9\x5e\xf0\x85\x8c\x8d\x42\x7b\x3a\xdd\x68\x43\x08\xdc\x5f\xcd\x66\xfc\xf2\xf2\xe2\xc5\x9b\x97\x9f\xd0\xe0\x67\x62\x76\xbf\x11\xfb\x10\x56\x8c\x30\x75\x1e\x51\xfa\x4b\xa7\x56\x44\x1a\x41\x4d\x93\x27\xbe\x8f\x95\xc8\x40\x39\x0d\x77\x3c\x38\xe5\x9f\x28\x6b\x66\x64\xd0\x81\x14\x41\x58\x69\x7c\xa4\xd8\x07\x62\x72\x91\x19\x5d\x4e\xe8\x7d\x12\xae\xed\x78\xb2\x8f\xf6\x9a\x1c\x7c\xe2\x3d\x3c\xc7\xa7\x66\x56\x2c\x8d\x7f\xe2\xbe\xc7\x01\xce\x8d\xfc\xf3\x10\x17\x87\x78\xb8\xbd\x3c\x79\xfc\xf8\x71\x1d\xaa\x4f\x3d\xa7\x09\x73\x03\x76\xc2\x18\xc6\xb0\x67\x4b\x57\xbe\x23\x67\xfd\x7e\xef\x1c\xa6\xff\xf9\x09\x52\xfb\xe7\x31\x0d\x3f\x3b\x8e\xe9\x3d\x07\xdf\x21\xcb\x98\xd3\x96\x44\x68\x97\xf6\xf4\x3e\x0b\xe6\xde\x80\x97\xff\xcf\x5a\x3a\x7b\x91\x2e\x3f\x5a\xae\xbb\x70\x2e\x3f\x5d\xb2\xf7\x63\x5c\x7e\x36\xf1\xde\x83\x70\xb9\x0b\xe0\xf2\x50\x7c\x4b\x7a\x5b\xea\x46\xb8\x54\x5f\xab\x41\x0d\xd0\x72\xa8\x4e\xdb\xb0\x2a\x0f\xd7\x3a\xbb\x61\x2a\x69\x05\x7d\xc2\xab\xa1\x04\x97\x14\x7c\xee\x83\xfb\xa3\x6d\x72\x7c\xa4\xf0\x9b\xc0\x1a\xf0\x85\x5c\x68\xa7\xa8\x56\x8b\xd4\xa3\x96\x63\xc2\xcf\x90\x9e\xf3\xa1\x7c\xd4\x43\x1a\xe3\x78\x14\x5e\x8b\x38\x39\xc1\xe7\x2a\x02\x2c\x3e\x21\x8b\x41\x9a\x5f\x93\xcd\x06\xf5\x53\xf1\x78\x19\x35\xe6\x61\xe5\xc0\x13\xd3\x1b\x92\xe4\x64\xb6\x97\xa7\x5c\xa7\x8e\x89\x3a\xb3\x62\xba\x4e\x4e\x94\x79\x0f\x9a\x17\x38\x09\xbb\x42\x3d\xb5\xb2\x66\x9d\x14\xc7\x68\x12\x05\xa4\x10\x7a\x09\x8b\x9e\xc1\x66\x3a\xef\x78\x05\xdb\xd3\x19\xf2\x12\xed\x18\xda\xb8\x34\x60\xaf\x1f\x7c\xfb\xf2\x4f\x2f\x7e\xfa\xee\x2d\xbd\xd7\x76\xbe\x7e\xbb\xbe\xec\x1a\x30\x40\x4e\x1c\x35\xe4\xbc\xaf\xfa\xf2\x2d\x7b\xd8\xf9\xe6\xba\x8f\xa1\x92\x3e\xbd\x70\x5e\x89\x27\xce\x13\x40\x3e\x37\x25\x3d\xc0\xd8\x23\xff\xdc\xaa\x93\xe4\x32\x24\x82\xf9\x1e\xbe\x1e\x38\xa1\x35\xef\x09\x60\x00\x80\x77\x08\xc6\x10\x3f\x1f\xbb\x3f\x39\xf4\xff\x21\x1b\xf8\xc3\xd7\xfc\x11\x17\x81\x70\xaa\x0b\x3d\x5b\xb8\xf5\xf3\xc1\xc3\x2d\x5a\x23\x2b\x59\xe3\xcb\xaf\xf3\xf8\x2b\xf8\x9b\xbf\x44\x60\x4c\x77\x70\x88\x12\xe1\x43\xdf\x2d\xca\xbc\x20\xbb\x45\x1f\xc1\x4d\x25\xf4\xe9\xdd\xab\xd7\x02\x8f\xf4\x4a\x9d\xa9\x07\x03\xf1\x6d\xed\x3b\x1e\xdb\x78\xa1\x6d\x13\xcc\x14\x6f\x41\x33\xc6\x04\x64\xb6\xaa\x33\x25\xfe\x82\x32\x7e\x02\xc4\x17\x83\x90\xef\xe4\x65\x59\x16\xe5\x5f\xcd\x66\x84\x50\xac\x23\x7e\xf3\x60\xa9\x73\x8b\x12\x41\x5a\xcf\xda\xd7\x20\xa6\x14\x7b\x91\xbb\xd9\x1d\xf4\x1f\xd2\xb3\x54\x5f\x66\x86\x0b\x6d\x14\xd1\x06\x51\x13\x3e\xe0\xfe\x8b\x3c\x71\x0a\x5f\xbe\x5e\xdd\x97\x98\xef\xee\x83\xd4\x7e\x83\x26\x65\xec\xb9\x70\x73\x80\x26\x28\x57\x24\x84\xad\x1c\x42\x39\xae\xf6\x90\xd0\xe3\x3f\x62\x80\x9e\x97\x72\x49\x7f\x64\x97\x40\xaa\x3f\xa2\x4b\x2d\x4b\xfe\x23\xdb\xff\x58\xa6\x48\xcf\x08\x99\xbb\x93\x26\x5b\x48\x16\x60\xd1\xbf\x2d\xae\xaf\x33\x43\x08\xc0\x2f\x5f\x7f\xfb\xea\xf5\x9f\x71\x0d\x8c\x60\x2f\x6a\x8b\xd1\xf7\x39\x3d\xd9\x63\xfe\xac\xe9\x3d\x5d\x01\xd9\x10\x5e\x7b\x61\xed\xa0\xdf\x1f\x01\x0c\x6f\xfb\xec\xed\xed\x0e\x9c\x35\x1d\xfd\x49\x2d\x3e\x31\x62\xcc\xbf\xe0\x76\xad\x7c\xe8\xf1\x03\x41\x60\x5f\xa7\x45\x51\xbf\x1a\x8e\xe8\xbc\x2b\xcd\x71\x69\x74\x22\x92\x3e\x52\x88\xbc\x35\xd5\x09\x6e\x80\xb4\x57\xab\x19\xd8\x52\x16\x3a\x80\x4a\xcf\x8a\xe5\xd4\x71\x8d\x6a\xa6\x0c\x5e\x00\x5d\x7f\x57\x9b\xeb\x2b\x35\x80\xd7\x92\x39\x42\xf9\x2f\xed\xd0\x63\x5a\xdf\xc1\x0b\x24\xbd\x0f\x61\xab\x14\xc6\x05\x2f\x4b\xb3\x12\xfd\x7f\x4f\x12\xc3\xbf\x86\x6b\xbb\x27\xe2\x2e\xf3\x3e\xb7\x3b\x1d\x9b\x1e\x9c\x1a\x51\xdb\xb0\xb7\x97\x95\xae\x44\x86\xf4\x48\xbc\x18\x2e\xd9\x7f\x50\x1f\xc5\x5f\xcd\xe6\x4a\xc8\xa0\x24\xd9\x94\x23\x91\x7d\x7a\x07\x63\x76\x93\x14\x2a\x4a\x83\x1c\xaf\xab\xfb\x51\x0c\x67\x74\x5d\x84\x6b\x05\x9d\xb0\xcb\xdd\xb3\x4d\xbe\xda\x16\x74\x44\x87\x24\x2e\x9c\x8c\xd1\x89\xb4\xbf\x3e\xc5\x1b\x21\xde\x97\x3c\xb0\xa2\x93\xc5\xa9\xdd\xe4\x7a\xd5\x7a\x46\xc1\x72\x79\xe7\x4a\x5d\xc5\x29\x91\xf1\x33\xd0\x07\xe4\x50\x79\xef\xc2\xaf\x1b\x94\x9b\xbd\xa9\x9f\x4e\xfb\x3a\xd4\xd6\x9f\xb0\x65\xee\x68\x56\xee\x8c\xcd\x6d\x83\x48\x76\x8c\xb1\x2e\x9e\x4d\x9e\x36\x36\x31\xd0\x40\x5e\xc3\x60\xec\x5d\x5a\xcd\x16\x51\x64\x0f\x1c\x59\xe1\x63\x00\x86\x12\x3a\x8b\xaf\x2c\x06\xc9\xda\x4f\x40\x61\xf7\x6a\x9a\xf2\xe5\xc3\xb6\xd7\x46\xac\x4d\x86\x61\x92\x6b\x5d\x39\xb4\x27\x04\xd4\xfd\xd1\x9d\x91\x4b\xb4\xc1\xd2\x43\x17\x4d\x6a\xa1\x4c\x48\x3d\x5e\x2f\x82\x60\x7d\xf5\x0f\xbf\x56\xfd\xe3\xbe\xfa\x4a\xd9\x5c\xdf\x98\xff\x9c\x69\x6b\x5a\xa9\xf7\x8f\xfb\xee\x7a\xda\xef\x93\x79\xbc\x39\xd1\x42\x7d\x54\x5f\xb5\x9e\xd3\xd4\x43\xd0\xf4\xc4\xd9\xda\x24\x15\x29\xb2\x07\x10\x0b\x27\xe3\xf6\x68\x7b\x14\xee\x04\xb1\x78\x17\xd3\x5f\x91\x39\x6e\xaa\xfd\x1f\xf0\x50\xac\x06\x10\x3d\x57\x16\x90\x1b\x51\x7c\x17\x9c\x44\xeb\x53\xe4\xbf\x41\x49\xda\x1e\xe4\x7f\xf9\x4d\x8a\x89\xf7\xfe\x95\x2f\xd8\xea\xc5\xc5\xee\xb4\xd8\xae\x86\x04\x96\xa9\x4c\x96\x59\x9f\x1a\x08\x1c\x07\xf0\xa0\xf2\x01\xb9\x70\x4b\xc8\x2b\x7e\x90\x47\xa7\x93\xd4\x24\xea\x2f\x6f\xbf\xff\x4e\x66\xcf\xf3\x8e\x76\xde\xd5\x45\x37\x42\x96\x30\x89\x53\x55\xc8\x37\xf4\xa8\x15\xff\x8a\x2e\x10\x71\xd0\xc7\x47\xc4\x3d\xb1\xa1\x9e\x3d\xf4\x36\x2b\x8c\x16\x42\xd7\x98\xa4\xc8\xfb\x15\xe7\xc3\xc1\xf1\x22\xf3\x5c\x81\x29\x24\xcf\x45\xd7\x90\x8d\xcf\x57\x64\x54\x52\xac\xa7\x19\xbc\x99\x67\x1b\xb5\xd4\xe5\xcd\x7a\x05\x59\x92\xc0\x9f\xeb\xc3\x07\xd9\xfa\x76\x3b\x09\x69\x20\x39\x3b\xa2\xa3\x9b\x19\x6b\xd5\xad\x29\xa7\x85\x35\x02\xd9\x1a\x5f\x00\xe6\xa6\xc4\x14\x42\x45\xdc\x35\xe1\xa7\xd2\xd2\x4e\xea\x98\x58\x99\xe5\x2a\x03\x7d\xc6\xaa\x65\xe1\xd8\xad\xcb\x14\x9d\x52\x83\x07\x28\x01\xfa\xb0\xbf\x04\x24\x21\xb2\xaa\xd4\x77\xa4\x0b\x91\xbb\x1b\xcf\x34\x79\x68\x5b\x4c\x55\x04\xf8\xd6\xa1\x4b\x56\x69\x90\x19\xbe\xc1\x8a\xb0\xa3\xb4\x02\x6f\x4b\xd4\x77\xe8\x21\x11\x42\x3d\x53\x44\xe0\x61\xbf\x38\xf0\xd9\xf0\x9e\x0c\x2b\x7d\x0d\xbd\xcf\x0a\x9d\x50\x24\x12\xfa\x05\x2a\x9d\x41\x3a\x2d\xb0\x21\xd9\x22\x5b\x57\x3e\xae\x0d\xd8\x56\x4c\x33\xb3\x54\x77\x21\x36\x99\xfc\x75\x8e\x3a\x33\x2b\x5d\x64\x85\xbe\x51\xf4\xef\xb6\x91\x35\x3d\x0a\x56\x7a\xf1\xfa\xdf\x8f\x3a\x01\xb1\x1d\x2f\xee\x0b\x87\xdd\x06\x78\xfd\x12\x90\x79\xb5\xf4\x96\x54\xdf\xb9\xe1\xbe\x29\x0d\xf8\xe6\x62\xd8\x7b\xf1\xfe\x19\x06\xf9\x95\xc6\x80\xae\x09\x81\x6a\x22\x2e\xbe\x78\xef\x7d\x27\xd1\x8d\xa7\xca\x30\xee\xd1\xdb\xb8\xd9\x6a\xed\xa6\xe5\x53\xb3\x24\x36\xcc\xa9\x82\x68\x33\x7a\xe9\x73\x06\x2f\x89\xd8\x25\x75\xa6\xfa\xbf\x2c\xd2\x32\x33\x49\x9c\x32\x68\x77\xbe\xc4\xfb\xa6\x9a\xc2\x19\x42\x4b\xec\x4e\x07\x0c\x7a\x88\x01\x98\x1a\xfe\xf9\x8b\xc9\xb2\xa2\x6e\xde\x8e\x5e\x6c\x1e\x84\x9e\x1e\x90\xba\xe9\xe0\xa0\x1a\xf1\x9c\x0c\x60\xd9\xdc\x7a\x67\x24\x0a\x03\xb1\xec\xc6\x6e\x89\x83\x6f\x3c\x66\x46\x8b\xf7\x00\x95\x8e\x1f\x67\xbf\x31\x03\x3f\x65\xd2\xdb\xc1\x37\x2c\x00\x42\x9a\xdf\x85\x47\xed\xbb\xa2\xcc\x62\x0a\x1f\xd3\x93\x3a\x95\x6d\x23\x17\x53\x87\x91\xdb\x2d\xfe\x5a\x2a\x26\xda\x31\x23\x09\xa6\xcf\xf6\x58\xbc\x2f\xfa\xdd\xf9\x87\x5c\x43\x9c\x7e\x88\xf7\xf9\x97\xf5\x34\x44\xdc\xce\xf8\xe1\x43\x9d\x24\x04\x9a\x83\xaa\x4d\xbd\xce\xb3\x9a\x9a\x11\xb7\xd4\x99\xac\x45\x0a\x4a\x6b\x6b\xaf\xf2\x79\x31\x88\xaa\x8c\x91\xa4\x7c\xb2\xf7\x06\x4f\xfa\x2d\x4a\xec\xd2\x16\xe3\xe2\x08\x8c\xea\x9d\xdc\x13\xe3\xc2\x76\x46\xb7\x38\x2f\x48\x6b\x20\xd8\xe8\xd8\xe6\xe7\x54\xd1\x3e\x47\xdd\xb7\x45\x46\x7d\x64\x8e\x11\xd7\xc7\xb7\xc4\xf6\xfd\xca\x16\x97\x9c\x08\xd4\x3a\xd6\xa1\x84\xcb\xab\xcc\x42\x2c\xf5\xa1\x80\xcb\x41\x8a\x99\x08\x68\x80\x54\x94\xab\x22\x8b\x72\x69\x56\xa1\x67\x7c\xda\x34\x7a\x12\x23\xfc\xfd\x84\xb9\x4a\xf8\xf8\x1f\xb5\xd7\x99\xe9\x9c\xdd\xa0\xd5\x72\x9d\x55\xa9\x3b\x71\x26\x1f\x3e\x4c\xd4\x64\xbb\x9d\xc4\x0a\x9a\xa5\xc0\x83\x08\xa7\x2f\x37\x26\x31\x9c\x4b\xc3\x16\x4b\x13\x29\x90\x10\xa2\x30\x60\xa0\xbd\xb7\xaf\xde\x7e\xf7\x12\x54\xc5\x1f\xde\xbc\x7d\xf5\xc3\xeb\xa1\x6b\x1e\xf2\x77\x50\x0f\x2e\xdf\xbc\x78\xed\xab\x36\x82\x90\x6b\xe7\x3a\x3a\xb3\x6f\x6b\x53\x17\xd4\xaa\x62\x0e\xf6\x1f\x82\x59\xa9\xaa\xf3\x0f\x1f\x00\x48\x0b\x7e\x0f\xa3\x0a\x9f\x11\xd0\x16\x9f\xfc\x6d\xa7\xfe\xdb\x72\x03\x69\xa2\x4d\x69\x4e\x95\x81\x03\xa6\x42\xd4\xca\x70\x9c\x03\x34\x9f\x13\xf6\xf8\xe0\x0f\x1e\x25\xff\x37\x3d\xda\xad\xce\xd6\x94\x35\xf5\x4c\xf5\xe1\x00\xed\x3f\xdb\xad\x04\xc0\x3e\xfe\xfb\xa9\x00\x97\xbe\x47\x7b\x34\x80\xd0\xf5\x9a\x1e\xf0\xfa\xa3\xb4\x87\xe7\xab\xd2\xf0\xb9\x7d\xcc\xf2\x78\xd6\xfb\xf0\x21\xb4\xb3\xdd\xfa\x00\xe5\x07\xbd\x8f\xc9\x05\xf9\xfb\x2a\x14\xa1\xa3\xee\x04\xea\xf0\x33\x0c\x85\xfa\x32\x92\xb2\x46\xa0\x5b\x2f\xd9\x55\xff\x63\x35\x9a\xb8\xe3\x4d\xd5\x01\xf5\x3a\x10\xbc\x07\xfd\x88\x40\xad\xc7\x2d\x0a\x4d\xbd\x44\x50\x6b\xfe\x4c\x8b\xdc\x7e\x92\x72\xe4\x6e\x57\xfd\x8f\x19\x94\x6f\x1e\x2e\x68\x0f\x3e\x56\x33\xe2\x2d\xb4\xa6\x21\x85\xf3\x08\x5f\xf2\xdb\x34\x26\x51\x66\xa4\x76\xe8\x4f\x5d\xba\x12\x37\xfd\x5f\xa7\x33\x71\x8b\x07\xe9\x4e\x84\xf1\xcd\x43\xfc\x93\xdb\xe1\xe4\x98\x07\xdd\x78\x4f\xb2\x2d\x29\xe5\x07\xa8\x63\x51\x8b\x63\x71\x0e\x1f\xac\x9c\xd5\x53\x22\x46\xbd\xd9\x09\x59\xfd\xdf\x44\x21\xfb\x4b\xb5\xcc\xf6\xa4\x7d\xb3\xf5\x8c\x2b\x10\x68\x97\x5b\x40\x8e\x8e\xb1\x54\x40\x33\x49\x73\x32\x66\x04\x6c\x13\xa5\x95\x35\xb3\x75\x69\xd4\x9d\xde\x8c\xd5\x37\x1b\x8e\x5b\x19\x31\x0c\x4c\x8d\x86\x37\x6b\x91\x2f\xa9\xd5\x79\x5a\x41\x58\xaa\x37\x65\x04\x3b\xc6\x25\x7d\x39\x7e\xc8\xc5\x94\xff\x6d\xab\xdc\xd4\xa4\x18\x2b\xac\xde\x16\x6a\x5d\xa5\x08\x84\xe0\x14\x2d\x9e\x1e\x9d\xa5\xd5\x66\xa4\x4c\x4e\xb1\xa3\xba\x52\x13\x4f\x62\x12\x21\xb9\x8c\x62\x44\xe9\x29\xbc\x6b\x65\x6b\x78\x73\xc2\x1e\xb9\x86\x42\xa7\xb6\x6e\xf8\x80\xc4\x81\x6a\x03\x04\x2d\xae\x4c\x9e\x98\x7c\xe6\x34\xd9\x81\x53\xcf\x52\xa7\x23\x06\x2b\xd3\x10\x50\x6f\x7c\x98\xee\xda\xb6\x0c\x76\x4b\x8a\x6a\x37\x69\xb4\xea\x39\xf5\x11\xf2\x7c\x43\x2f\x8d\xea\x91\x16\x73\xcc\xc3\x83\xd3\x8d\x09\xe9\xd5\x2a\x4b\x67\xb0\x13\x8e\x45\x76\xf2\xa5\xde\x60\x68\xf2\x74\xb3\xd2\xd6\xf2\x74\xa0\x2e\xe2\xf8\x41\x31\x66\xae\xc1\x9b\xbc\xb8\x43\x44\x1e\x3d\x37\x63\xc7\xf2\xa4\x50\xb6\x18\xb1\xbb\xa1\xa3\xa9\xc1\xb6\x99\xa5\xb3\x14\xd2\xa5\x97\x6b\x1b\x42\x9e\x6e\x53\x2d\x4c\x54\x0f\xed\xcc\x7c\x01\x05\x5e\x58\x27\xab\x4e\xc3\x31\x63\xf1\xc1\x76\xac\xd4\xa5\xe1\xac\x40\x5e\x8f\xc4\x68\xdb\x1a\x1d\xbb\x28\xee\x8e\x97\xe6\x58\xe7\x9c\xed\xe7\x18\xc4\xe9\xd8\xce\xcc\xb1\xba\x44\x4b\xf0\x05\x7a\x77\xac\x75\xa6\x5e\xda\x99\x5e\x01\xac\xf4\xe5\xc5\xcb\xe1\x76\x2c\xf2\xca\x9d\x42\xbc\x61\x24\x25\x24\x68\x10\x0f\x9b\x07\xe4\x1f\xf6\x4d\x16\x48\x4e\x2a\x05\xb4\xbb\x26\x0b\x46\x1c\x0e\x0e\x72\xcf\xa9\xf3\xcd\xfb\x99\x81\x55\xa9\x06\xc2\xea\x49\x3c\x2c\xd2\x6a\x3c\xbc\xb7\x81\x0e\x58\xf9\xa9\x46\xba\x4e\x4d\xdb\x51\x67\x6d\xdb\x89\xa4\x3d\x6b\x95\xba\xdf\x29\x05\xfa\xf3\x95\x57\x0d\x1d\xa1\xb3\xde\x72\xe3\xf6\x14\x50\x02\x77\xaa\x80\xcd\xee\xe0\x7e\xb8\x33\x25\x78\x6d\xbc\xa0\xd8\x87\x55\xda\xff\x7d\x52\x83\x7b\xa4\x21\xd8\x2c\xcf\xe2\x3b\x80\xea\xbf\x52\x7a\xe9\xe4\xe3\xf9\xac\x48\xcc\xb9\x2b\xf3\xfc\x04\x7e\xa5\xf0\x64\xb8\x09\xf7\xd5\x57\xf5\x7a\xcf\xb5\x5a\x94\x66\x7e\xd6\xfb\xa2\x77\xee\x44\xc3\x3e\x78\x7e\xa2\xcf\x41\x82\x31\x50\xe5\xb9\x59\x9e\xdb\x6a\x3d\x9f\x3f\x3f\x31\xcb\x73\x79\xb1\x68\xa6\xeb\xfe\x1d\x34\x6a\x98\xcf\x4e\xb5\x7a\x87\xa1\x0b\x19\xd5\x66\xea\x3a\x6a\xe7\x9c\x2b\x2e\x99\x85\xdc\x10\x9c\x00\x2e\x7c\xac\x1e\xe8\xe4\xa5\xa6\x03\xda\x19\xea\x7e\x80\x48\xd8\xa9\x05\xda\x99\xd3\xfe\xa0\xcc\x4e\x2d\xb0\xd5\x6f\xb4\x5d\x31\x74\x7d\xf1\x4a\xe1\x4b\xd6\x8c\x20\x12\xa5\xe6\x33\x1a\xca\xff\x19\x9c\x83\x9d\x8a\x06\x5d\x19\x60\xe9\x71\x28\x10\xc5\x38\x85\x8f\xc1\x42\xb5\xa3\x9a\x30\x69\x5d\x9b\x0a\xf3\x21\x61\xb4\x40\x17\x0e\xe1\xc0\xe3\x10\xf6\xfb\x6e\x46\x29\x87\x52\x4b\x6e\x8f\x5d\x7a\x6d\x50\x68\x77\x6a\xb4\xae\x8b\xbf\x83\x25\x90\x18\xd6\x6e\xf0\xab\x31\xaf\x61\xf4\xf3\xdf\xbc\x68\xf3\x22\x3d\x39\x51\x77\x4e\xb7\x3a\x6e\x24\xcf\xf3\x60\x16\x77\x84\xf9\xaa\xd5\x5b\x3c\x83\x80\xe1\x7f\x29\xb2\xc4\x94\x6f\x37\x2b\x13\x53\x73\x67\x3d\x4a\xa1\x53\x5b\x18\x21\xaf\x45\xa9\x75\x2b\x15\xe4\x15\x56\x1c\x52\x76\x7d\x1d\xd4\xa5\x08\x99\x39\x1c\xd2\x1c\x1e\xa8\xde\x06\x47\x07\x37\x83\x7e\x2d\x91\xb7\x06\xe2\xf3\x15\x34\x27\x6c\x0c\xa1\xe9\xee\xab\xaf\x14\x3b\x77\xd3\x3c\xbf\xeb\xb3\x0b\x41\xb4\xda\xe8\xb3\xa1\x5f\x54\x51\x3e\xf9\x36\x4b\xf5\x41\xc0\xbb\xf5\x7b\x4f\x91\x25\x90\x9d\xa8\xdb\xe2\xcb\x5e\x24\x34\x02\x31\xdf\xde\x39\xae\xeb\x46\x02\xfc\xd9\x73\x11\x69\x92\x1d\xd4\x01\x9d\xd8\x1d\x25\x9e\x9e\x18\x2e\xd6\x27\x76\xf7\x9c\xde\x01\xd6\xe4\x6e\xbd\x89\x79\x5f\xbb\xe3\x26\xe6\xfd\xc8\xf1\x03\x7f\xad\xdb\xc1\x4e\x4e\xd4\xaf\x76\x91\xe6\x95\x9a\xa6\xd5\x5d\x6a\xdd\x66\xa6\x33\x6b\xa2\x42\x14\xbb\x89\xf7\xc7\xc4\xbc\x57\x5f\xaa\x27\xb1\x91\x8c\x92\x82\x43\x57\x07\xbe\x31\x57\x6e\xd8\x8c\x1f\x00\x7f\x33\x37\x18\x44\x0d\x2e\x4b\xbd\xb9\xc0\x3f\x0f\xe0\x11\xfe\x40\x6f\xce\xce\xbc\x54\xaa\xaf\x6b\x05\x94\x62\x17\x1a\x43\x7e\x3a\xc6\x0e\xd5\x69\xa3\x94\x70\x6f\x11\x05\x77\x04\x29\xb4\x03\xcd\x4a\x57\xed\x46\xab\xf5\xf0\x8c\xdc\xdc\x5d\xf8\xe1\x27\xe9\xb5\xb1\x15\xfc\x7d\x51\xac\xf3\xca\xd7\x1b\xa9\x27\x51\x3f\xe8\x82\xce\x8e\x41\x81\xc8\x9e\x1e\xb5\x8f\xf0\xa3\x3b\x75\xdc\xd6\x2b\xe9\x24\x74\x70\xc7\x76\x34\x02\x19\x41\x9b\x7d\x9c\x85\xb2\x02\xae\x3a\xd1\x95\x1e\xf4\x1f\x8a\x2f\xfb\xb0\xf3\x7d\x88\x80\x21\x85\xd0\xbd\x2d\x7e\x42\x8f\x0f\xc4\x67\x0e\x65\x18\x85\xd9\xf7\xc3\xaf\xa3\xe0\xef\xd4\x12\x96\x0d\xbd\x55\xe7\xea\x31\x24\x21\x0b\xdd\x68\x75\xac\xe2\x9f\xf6\x72\xea\x4c\x0d\x3a\xbe\xf9\xed\x37\xf5\x78\xa8\xbe\x42\xde\xd4\xd7\x03\x74\xa3\x83\xe2\xd9\x99\xfa\x2a\xf4\xb1\x65\x3d\xaa\x3a\x63\x10\xa4\xb9\xe9\xe3\x15\x66\xb3\xeb\xaf\x6d\x8c\x17\xd8\x3d\x43\x23\xc9\x80\x61\x4b\xd4\x45\xbd\x4b\x80\xf5\xdc\x57\x1d\xe9\x17\x83\xab\x21\x94\x66\x69\x2f\x32\x5e\x8d\x23\x21\xe0\x4d\xc1\xaa\x8a\x17\x49\xc2\x7b\xd1\xb7\x84\x49\x36\x33\x42\x96\x61\x0b\x6d\xca\x35\x57\xff\x11\x16\x40\x0b\x85\x8e\x1e\x48\x0a\xdc\x78\x73\x3d\xc0\x37\xf5\x7d\x40\x34\xd6\x56\x03\xbf\x6c\xac\x53\x08\x10\x82\x86\xbe\xfc\x12\x5b\x24\x78\xe9\xba\x38\x34\x5d\x10\xfd\x41\x0b\xd5\x62\xf0\xbe\x46\x0b\xd4\x37\x68\x04\x7f\xdf\xd7\x8e\xdc\x3b\x44\x53\x58\xb9\xa3\xb5\xb6\x99\x6f\x39\x71\x73\x08\x8c\x8d\x5b\x06\xaf\x4c\x3e\x35\xd8\x5b\xcf\x2d\x2e\x3a\x7a\xf0\xe0\xfa\x1f\xea\x69\x74\xbe\xd4\x7b\xdf\xd8\x31\xa3\x53\x0c\xdb\x75\x44\xdf\x5d\x0d\x9b\x07\xe5\x03\xd4\x4e\x9a\x0b\x51\x1c\x1e\x1d\xb2\x12\xbb\x74\x9a\xbf\xaf\x75\xc6\xcd\x8d\x88\x6a\xfb\x79\x1b\xe4\xb0\xde\x59\xaa\x56\x5f\xe3\x07\x2d\xa4\x1d\xe7\xa4\xf8\x1d\x5b\x50\x67\xca\x2e\x00\x61\xe1\xa2\x58\x6d\x78\x6e\xe4\x6a\x96\xff\x32\x4c\x46\x38\x58\x6b\x0b\xab\x2a\x6e\x4c\x6e\x9f\x38\x51\x71\xbf\x3c\x8d\xef\x55\xb7\x9c\x93\x40\x00\xf0\x17\xeb\xca\x94\xac\x01\x78\xc7\xc8\x14\x12\x25\xaa\x54\x3d\x27\x4a\x4f\x18\x77\x5d\xa5\x5f\x7d\x55\xd7\x2b\xa1\x88\x3a\xe3\xa2\xef\x52\x71\x7e\x78\x92\xbf\x22\xc9\x5f\x3d\xc9\xa7\x9e\xe4\xaf\x31\x49\x5e\x35\x40\x94\xa9\x3e\x7d\xf7\xeb\xd5\x10\xac\xb5\x69\xbe\x36\xd8\xed\x26\x9b\x08\xc5\x8b\x00\xf5\xa1\x66\x2d\x48\x24\x06\xcb\xb7\x51\x70\x43\xcc\xd6\x48\x39\x88\x24\x53\xc2\xf1\xfb\x6f\xdb\xf2\x32\xd2\x77\xb5\x40\x99\x28\x09\xef\x21\xf5\x29\xed\x81\xdc\xe7\x23\x52\xe8\xf3\xda\x4e\x2a\x56\x2b\xdf\xc5\x33\x13\xce\x75\xb7\x54\x84\xea\x3e\x52\x37\xcd\x19\xb9\xad\x2f\xa2\x40\x97\x7e\x1b\xcf\x8a\x7c\xa6\xab\xc1\x8d\xe8\x71\xd7\x66\x25\x3e\x8f\x0f\xb7\x8e\xf9\x8a\x99\x09\x57\xb4\xab\x43\xbd\x70\x61\x2a\xef\xe7\x86\x0b\x55\xa4\x4b\x48\x9c\x8f\x50\x22\xe0\x5b\x53\xa9\x8b\xcb\x4b\xcf\x0e\x78\xb8\x88\x7c\x27\xd4\x74\x03\x58\x37\x64\x26\x0a\x86\x69\x9f\x27\x60\xa1\x21\x02\xa5\x34\x16\x62\x55\x74\x96\x79\x72\x94\xde\x38\x49\x62\xc4\xcb\xd0\xb3\x62\x05\xf8\xf7\x84\x27\x5a\x1a\x09\x20\x7a\xa7\x37\x76\x44\xc6\xfa\x90\xe6\x68\xb6\x40\x67\x14\x57\xb6\xda\xac\x1a\x0f\x2f\x88\xd8\xea\x1f\x65\x8a\x53\x6a\xf7\xc9\x98\x31\x34\x44\xdf\x65\x41\x7f\x51\x1f\x51\x78\x10\x82\x14\x7a\x17\x19\xc0\x0d\x73\xd7\xa6\xd2\x20\xb4\xe0\x71\x80\x16\x9c\xf1\x24\x61\x8e\x29\x6a\xf2\xe9\xfe\x26\x69\xbd\x8e\x08\x4c\x8f\x58\x4e\xde\x36\x98\x96\x22\xf4\x80\x3b\x48\x58\xa9\xd0\xe0\xde\x5e\xc5\x5d\xfa\xc3\x21\x5d\x42\x78\xc0\x11\xe6\xde\xf4\x48\x7f\x37\x66\x83\xf0\xe2\x6a\xa5\x53\xce\x96\x09\x5d\x40\x34\x41\x30\x01\x6a\xce\xeb\x8e\x25\x11\xb1\xac\xc4\x2c\x9a\x30\x89\x88\x48\x86\x48\x72\x00\x2b\x1a\x3a\xd9\x2e\x21\x77\xe0\x70\xad\x93\x44\x25\x6b\x7c\x76\x31\x5e\xbc\xc0\x81\x79\xa5\xcb\x2a\x9d\xa1\xdf\x31\xd0\xba\x73\x74\xb3\xd2\xe8\x04\xe4\x9b\xc9\xfe\xe2\x33\x50\x34\x7c\xbd\x71\xc6\x57\xa5\xb9\x4d\x8b\xb5\xcd\x36\x94\x94\x92\x9b\xd1\xa5\xa1\x4b\x17\x82\xa8\x40\xa0\x56\x45\xe4\x60\xd6\xcd\x5d\x54\x38\x12\xf8\x7f\x45\xbd\x88\x50\x8c\x61\x24\xc7\x6a\xa1\x57\x2b\x93\x5b\xf5\xeb\xda\x56\x12\x2c\x14\x47\x90\x5a\x7c\x63\x0a\x28\xa9\xc2\x83\x0b\x7b\x72\x08\x0d\xee\x33\x84\x71\xc7\x54\x0e\x7f\x08\x81\xcd\xe4\x3e\xaf\x20\x98\xf4\x16\x9f\x2a\xa3\x44\x0a\x24\x66\x18\x79\x93\x47\x02\xed\xb7\x0f\xc4\x05\x8d\x71\x3b\xfd\xe2\x42\x2b\x95\x1d\x89\x65\x03\x78\xcb\x4b\xbd\x72\x6d\x08\x71\x87\x8d\x47\x22\x29\x5a\x4a\x91\x61\x30\x43\x06\x84\x0f\x2c\xf5\x6a\xc4\x33\x48\xa4\xb9\xab\xab\xd2\x6d\x4c\x55\x0a\x88\x8b\x3e\x7b\x04\x4e\x2e\x09\x38\x3f\xba\xa2\xa8\x68\xab\x66\xd6\xca\x7d\xcf\x13\xe6\x3b\x53\xed\x61\xc8\x67\x72\x43\xc8\x49\xb3\x2c\x72\x5b\xe1\x5e\x38\xd5\x36\x9d\x05\xff\xf7\xdb\x54\xfb\x79\x90\x1e\xe7\xe1\x5d\xe9\xd0\x37\xa2\x15\xe2\xcf\x40\x9a\x4d\x70\x5c\xbb\x31\xa7\x8e\xd1\x06\x5e\xd5\xa6\x45\x96\x9c\x06\x24\xdf\x91\x2a\x4d\x72\x8a\x39\x0e\xb7\xbd\xf3\xef\xf5\x4a\x5d\x6e\xf2\x4a\xbf\xe7\x9e\x47\x2f\x45\xd2\x37\x09\x9e\x23\xa6\xc5\x7b\xe9\x9f\x44\xad\xf4\xce\xb9\x3d\x35\x40\x14\xd9\x1e\xf6\xa3\x87\xbc\x1b\x4a\x0f\xa6\xbd\x44\x7d\x5f\x7b\xe7\x02\x81\x98\x09\xbb\xf1\x7c\x14\x59\xcc\x40\x7a\x4e\xe9\x1d\x99\x5c\x69\x3c\x35\x4f\x69\x51\xb6\x33\xd7\x56\x9b\xcc\xf4\xce\x11\x74\x1c\xb5\x25\x62\x5e\x27\xd3\x1a\xce\x60\x40\x02\xf1\x8b\x17\x60\x68\x3e\xeb\xbd\xdd\xac\xcc\x29\xcc\x93\x42\xae\x29\x4a\x7f\xba\xa7\x3b\xef\x80\xd8\x93\x91\x82\x7f\x9f\xd2\xbf\x7f\xb8\xe2\x1e\x82\x3a\xd8\xdd\xc1\x5a\xa7\x9e\x74\xf6\x6a\xc4\xdd\x2a\x4a\xec\x59\x0b\xdb\x6b\xc4\x9e\x7e\x4e\x62\x7f\xf8\x18\x62\x9d\xbe\x6d\x40\x72\x3c\xb3\xe2\x5d\x73\x4c\x54\x84\x2e\xe9\xe6\xed\x38\x31\xb3\xa2\x24\x17\xbf\x2c\xcd\xcd\x71\xb5\x28\x8b\xf5\xf5\x22\xbc\x7c\x79\x0a\x30\x7b\x91\x2e\x3a\x2f\xf2\xea\xf8\xce\xa4\xd7\x8b\x0a\x3b\xdb\x52\xab\x34\xb5\x4a\xb3\x22\x2b\xca\x53\x37\x96\x7a\xe9\x4f\xf7\xd5\x83\xf0\x32\x69\x90\xa3\xec\x12\x90\xdb\x74\x15\x79\xbc\x89\x47\xc8\xcc\x54\xa4\x61\x5e\x5f\x67\xe2\x24\xaa\x3f\x45\x86\x51\xd0\x5b\xe4\xca\x8e\xe7\x69\x69\xab\xc1\xb0\x86\xee\x86\xd5\x7d\xda\xcc\xef\xc1\x26\x7e\xe2\x38\x74\xd2\xe2\xbb\x7f\x4f\x32\xa5\x01\x2a\x82\x4c\xc3\xbf\xcf\x6f\x29\xae\x72\x33\x7b\xc6\xc1\xed\x36\xba\xbe\xab\x51\x4e\x1b\xfb\x59\x1a\xa4\x41\xb2\x80\x1c\x34\x71\x74\x24\x1b\xff\x54\xbf\xf3\x21\x79\x05\x19\x55\x07\x4f\x76\xf4\xe5\x1b\x33\xe8\xc7\xc1\x16\x4d\x1f\x4c\xb7\xd4\x70\xd0\x75\x17\xc5\x1d\x85\x83\xcf\x62\x69\x5a\xc3\x39\x0e\xec\x5c\x5c\xbb\xce\x25\xd4\xc2\x05\xe8\x2f\xe3\x02\xa8\x3f\xf0\x79\x7f\x00\x93\x32\xbd\x7b\xc2\x0e\x65\xd2\x93\x78\xe0\x4e\xa2\x0e\xa9\xf6\x34\xae\x86\xdb\xd8\x21\x15\xff\x70\x28\xa3\x0f\x19\x60\xed\xe4\x3a\xdc\x33\xc0\xfd\xf9\xc5\x17\xea\x45\xd0\xa4\xdd\x27\x6f\x83\x37\x13\x05\xb4\x45\x6a\x14\x01\xb8\xad\x4c\x09\xf8\x67\x41\x0d\x27\xf7\x38\xd2\xa9\xc6\xed\x2e\x3a\xf9\x35\xb6\xd6\x70\xce\x61\x33\xa7\xdb\x43\x03\xcd\xb3\x5e\x55\xae\x0f\x75\x9b\xa7\xd3\x2b\x4d\xce\x7a\xd6\x54\xd3\x2a\xe7\xdd\x18\x71\xfd\x7a\x8a\xd2\x38\x59\x83\x2a\x01\x41\x06\x2e\x37\x3f\xeb\xf2\xac\xbf\xdc\xe0\xb9\xde\x6f\xa3\x07\x0b\xa8\x9b\x22\x7c\xdd\x42\x53\xd0\x0a\xa7\x6c\x94\x96\x7d\xaa\xad\xc1\x76\x7b\x42\xb3\x80\xea\xbd\xf3\x4b\xe4\xdd\x5b\xf3\xbe\xf2\x79\xd7\xd5\x7d\xcf\xd6\xd0\x82\x5c\x42\xc7\x77\x66\x7a\x93\x56\xc7\x55\xa9\x73\x9b\xc2\x11\x0b\x16\x86\xf5\x34\x9d\x1d\x4f\xcd\x3f\x52\x53\x0e\x1e\x8f\x9f\xfe\xf1\xf1\x48\x3d\x1e\xff\xcb\xff\x0b\xff\xc1\xbf\xfe\xd7\xbf\x3c\x1e\xaa\xc7\xe3\x3f\x5a\x21\xb0\x9f\x85\x4c\xb0\x56\x8b\x4e\x8f\x79\x5e\x64\xef\x5b\x8e\x69\x3a\xf0\x6d\xfa\x0f\x73\xfa\x07\xb3\xfc\xfc\xc7\x77\x9b\x63\x50\xeb\x49\x5c\x5f\xc5\xf5\x34\xe6\x62\x70\xe4\x15\xd4\x75\xaa\x4a\xcd\xc4\x1f\x3e\xcc\x8f\xce\x13\x2f\x4d\x06\x7d\x94\xff\xe8\xbc\xfb\x4c\xfd\xfa\xf8\x3e\xf1\x1a\xfa\x3d\x7a\x75\x10\xb7\x0e\xdc\x14\x69\x57\xe4\xbb\xa1\xce\x13\xc8\x0d\x6c\xde\xa7\x16\x2e\xd2\x17\x97\x97\x7f\x50\x6f\xbd\xc0\xdb\x13\xb1\x7f\xd2\xf6\xd9\xb8\x57\x2a\x5b\xb9\x8b\x2d\x41\xec\xdb\x5d\x34\x00\x11\x4e\xa5\x70\x63\xde\xa8\xa4\x00\x6f\x17\x84\xc9\xa7\x3c\xc6\xb4\x83\x82\x85\x31\xd7\x98\x16\xb9\x2a\xd7\xb3\x6a\x5d\xe2\x05\xf6\xa7\x15\x18\x1c\x89\xa2\xa8\x81\x59\x26\xe1\xe2\x05\x29\x2a\x0c\x06\xa6\x6f\x22\x63\x25\x64\x3f\xd0\xb3\x1b\x86\xf3\x29\x2b\xe0\x81\xc9\xd9\xf5\xd3\x53\xc6\xd0\x7c\xf0\x66\x06\xca\xae\xa7\x0b\xb7\x31\x97\x47\xe0\xad\xb8\x69\x30\x4e\x6c\x14\xc1\x9a\x14\x27\x57\x01\xb7\xdd\x6b\x53\x41\xa6\x8d\xc4\x68\xd7\xe8\x1d\xe6\xcb\x41\xc3\x4c\xb2\x06\x4d\x8a\x6c\x5c\xc7\x4e\x3e\x92\xa8\x4f\x98\x57\xe8\x08\xc4\x00\x53\x29\xe1\x48\xcc\x4a\x4d\x37\xf8\x6f\x62\x2a\x9d\x66\x60\x98\x10\x7e\xba\x74\x06\x7d\xc1\xef\x4b\xcd\x47\xbe\xad\x63\x85\xa3\xdc\x52\x4b\x3c\xd0\xb5\xbe\xda\x6d\x65\x3a\x6e\xf8\x44\xfa\xe1\xd5\x9c\x89\xfa\xfd\xe0\x5e\x73\xa8\x39\xfb\x87\xe4\x9e\xc0\x12\x5c\x6b\x02\x13\xcc\x1f\xbc\xbc\x35\xb9\x30\x73\x5b\x75\x57\x94\x37\x4e\x23\x80\x1c\x1d\xda\xee\x8a\xe3\x07\x53\x11\xfe\xbb\x1d\x91\xf3\x30\x0a\x32\x10\xc1\x1c\x50\xb3\x22\xff\x95\xdf\x55\xc0\xbc\x19\xb2\xbe\xa2\xc7\xb2\xbe\x31\x21\xf1\x4e\x06\x02\x52\x24\x89\x1a\xb8\x95\x31\x54\x65\x71\x17\x60\x24\xe2\x90\x45\x36\x80\x91\x95\x0f\x73\x3c\xf8\x84\x10\x94\x0c\x09\x84\xb8\x7b\x10\x94\x89\x96\x7f\xd9\xee\x8b\x54\x6c\xb1\xeb\xfd\x90\xdc\x0b\x85\xe0\xf7\x31\xed\xb1\xe9\xad\xf4\x76\xbd\x66\xcc\xe3\xbd\x6d\x5d\xea\x79\x01\x49\x3b\xd3\x3c\xa5\x94\x9d\xf6\xec\x5d\xff\xdf\x8a\x45\xde\x1f\xa9\xfe\xf7\xba\xdc\xb8\x7f\x2f\x28\x9a\xe8\x72\xfd\x8f\xfe\x55\x9c\x23\x34\x4b\xbb\x73\x7e\x46\x19\x31\x7d\x74\x3e\xae\xf2\x22\x49\xce\x7a\xfd\x22\x49\xfa\x41\x4f\x02\x38\xcd\xb3\x5e\xdf\xfd\xd3\xaf\xa7\x08\x6d\xcb\x10\x1a\x29\x51\xf4\x49\x96\x4a\x44\xdc\x22\xfb\x18\x15\xcb\x09\xe7\x6e\xed\x24\x98\x1c\x60\x77\x6f\x16\x9e\xca\xf0\x9a\xdf\x5f\x67\x71\xfc\x84\xb5\x16\xf1\xf2\x1e\x9a\x0c\xce\xa0\x29\x31\x5c\xcf\xcf\x61\x7f\x38\x2e\x8b\x3b\x48\x8b\x59\x64\xeb\x65\x1e\xc5\xf9\x1f\xac\x4e\x14\x49\xab\x29\xe2\xe0\xe6\x9f\x7c\x5a\xf3\x8e\x15\x87\xeb\x0b\xb5\x3d\xfd\x87\x24\xd9\xb5\xad\xff\x90\x24\xfd\x91\x7a\x7c\x9f\x6d\xdd\xed\xc7\xff\xdc\xd7\xff\x3b\xec\xeb\x2f\x61\xed\xde\x73\x63\xc7\x1d\x1d\x77\xf7\x7f\x6e\xec\x9f\x6f\x63\x57\x5f\xe6\x53\xbb\x7a\x16\xff\xf3\xcf\xdd\xfe\x9f\xbb\xfd\x7f\xe5\x6e\xef\x76\x84\x5d\xdb\xfd\x4b\xe4\xf3\x93\x83\xf7\xfb\x42\xdf\xdc\x77\xaf\x2f\xf4\xcd\x24\x86\xed\xe0\x84\x72\xab\x12\x01\xc7\xdd\x96\xc3\x20\x62\x6e\xd9\x07\x18\x0d\x78\xc3\x9e\x1a\xc0\xae\x2a\x53\x33\x3f\x1c\xa1\x6c\xb0\xce\x29\xd2\x24\x19\x52\x9e\x35\x80\x0e\xab\x87\x72\x4a\x08\x31\x48\xd1\xe9\xae\x8b\xd8\x08\xf7\xb8\x2a\x94\xbe\x2d\x52\x0c\x55\x5c\xe7\x89\xb1\x29\xe2\xae\xcd\xb3\x74\x76\x63\x4a\x3e\x33\x20\x68\xc4\xf7\x29\x1e\x08\x75\xb9\xdd\xd9\xa1\x76\x7c\xd0\xe3\xff\xe4\xf9\xb4\x48\x36\xe7\x93\x10\x21\x81\xb7\x59\x43\xd0\x6f\x25\x44\xfc\x12\x0a\x1a\xa7\xe7\x74\xc4\x03\x94\x4a\x93\xfd\x50\xd2\x2e\x75\x96\x29\x77\xd3\xc7\x14\x9f\xf3\x00\xa8\x86\x96\xd3\x65\x5a\xa9\x55\x59\x5c\xc3\x81\x71\xeb\x74\x7f\x77\x69\x26\x3f\xa0\x5a\x16\x3d\x77\x81\x15\x59\x4a\xa9\x41\x77\xec\x5a\x8c\xdd\x45\x67\x1f\x7f\xe8\x56\x51\x56\xbd\x99\xb5\xaa\x5c\x67\x46\x99\xe5\xd4\xc0\x9b\x3a\x9d\x9b\x13\x0e\x26\xfc\xd5\x4e\xf0\x52\xfb\x28\x7c\xb6\x4c\x73\xf7\x39\xc4\x2d\xff\xa9\x28\xd5\xc5\xe5\x1b\x80\xa3\x57\xab\xcc\x68\x0b\xaf\xf3\xbe\xf0\xf1\xcc\xae\xdc\x0e\x39\x71\x63\x83\xd9\x87\x99\x81\x0d\x6c\x60\x8d\xe9\xd2\x29\xec\x4a\xc1\xff\xb7\x43\x3f\xba\xc9\x64\x86\x2e\x09\xef\xf2\xeb\xbf\x9d\xce\xdc\x48\xaf\x46\xee\x8f\x63\xff\x7b\xa2\x2b\x7d\x2c\x3f\x78\x2f\xff\x1a\xf3\xef\x23\x35\x0e\x5f\xb8\xbd\xcd\x9d\xc1\x24\x23\xa7\x2a\x2f\x72\xa3\x1e\xf8\x77\xa8\x67\xee\xeb\x2d\xf5\x20\x76\x6b\x49\x6d\xe0\x20\x09\x72\x63\x55\x8c\xc0\x37\x0b\x06\xcd\xe8\x36\x6a\x10\x02\xb3\x21\xd3\xae\x9a\x2d\xd2\x2c\x29\x9d\x9a\xc3\xd8\x88\xe0\xf4\xa0\xaf\xaf\x25\x3a\x50\xdb\x7a\x76\xe5\x16\x69\x92\x98\x7c\x8c\xbd\xe2\x95\x6c\x72\x70\x56\x37\xa5\xc5\x8e\x46\x3b\x0a\x19\x49\xd0\x53\xc8\x2d\xd3\x56\xc0\x21\x95\x56\xe4\x38\x60\x6b\xed\xb7\xc0\x08\x62\x8a\x63\x0e\x9a\xe7\xc5\xef\x4b\x12\x9a\x20\x4f\xa6\x13\x1b\x60\x92\xb1\x15\x69\x3f\x84\x52\x24\x05\x0f\x77\x34\xb5\x44\x5f\x1b\xe6\x2f\xa9\x75\x0b\xa3\x13\x65\xcd\x4c\xf6\x7c\x81\x98\x01\x2a\x29\x66\x6b\xd7\xec\x33\x89\x46\x98\x6d\xb0\x09\x3f\x65\x7a\x5a\xdc\x1a\x4f\x9d\xc2\xd0\x3d\x7d\xf3\x1e\x6a\x66\xf8\x6e\x6f\x17\xc6\x54\xc2\xff\xaa\x25\x1c\xfd\x3b\x73\xad\x67\x1b\x9e\x77\x3b\x02\xb4\x49\xf5\xea\xe5\xff\x1c\xb1\x9d\x6e\x55\x16\xb7\x90\xe7\xd9\x83\x75\x7a\x1f\x6a\xb2\xfd\xa9\x01\xba\xb6\xa4\x39\xd8\xc3\x9e\x8e\x9f\x0c\x31\x91\xb9\x81\xbd\x85\x30\x93\x96\x1e\x62\x68\x22\xd6\xc2\xc4\x53\x03\x23\x19\xa8\xde\xba\xc4\xcc\xa4\x4e\x02\x40\x4d\x24\x2b\xd8\xa6\x58\xe3\xc0\xdd\x5a\x25\xa6\x40\x03\xa0\x42\x4e\x78\x6d\x4c\x00\x21\x21\x49\xd2\x00\xe2\xd8\x21\x86\x16\x12\xf8\xe4\x81\x79\xe2\x85\xa8\x43\x97\xfe\x64\x9d\x34\x49\x6f\xe1\xf9\x85\xe5\xf5\x09\xe9\x88\x85\xbe\x39\xff\xf0\x41\xf5\x31\x07\x9a\xda\x6e\x65\x48\x75\x5b\xc5\xa7\xa1\x22\xbf\xbc\xf0\xdf\xbd\x40\xc9\x4d\x65\x9d\xda\x67\x55\xcb\xc8\xc9\x2c\x5a\x82\x82\xc5\x79\x12\xdc\x9d\xf6\x69\x67\x0f\x07\xfd\x2f\x3c\x5b\xfa\x75\x95\x87\x07\xd7\xd4\x7a\xbe\x31\xaf\xd7\x59\xd6\xf6\x00\x2e\x29\x3e\xfd\x14\x8a\x7b\x55\xa8\x48\x8b\x2a\xf4\x8d\xd4\xa0\xf2\xeb\xa0\x3e\xb9\x51\x37\x62\x87\x07\xad\x01\x8d\x18\x5f\x65\x4d\x35\xe8\x13\xd1\xfe\x48\xa4\x92\xc0\x0e\xb1\x85\x59\x86\x52\x88\x81\x11\x78\xf0\xa1\xba\x9a\x8f\x9e\xdf\xa3\xa0\xf9\x72\xd1\x72\xaa\x2a\x0d\xa9\xaf\xb5\xc8\xaa\x43\x8b\x93\x13\xc3\xba\x83\x9f\xb3\xc1\x2b\x0d\x3e\x9e\xda\xae\xe0\xf6\x3c\x87\x67\x58\xda\x49\x5d\x63\xfe\x65\x01\xf5\x97\x34\x9f\x39\x0d\xc5\xaa\xa9\x59\xa4\x04\x02\x01\xe9\x73\x8e\x7f\x4e\xcd\xdd\xb1\x48\x6f\xef\xb4\xad\xeb\x5c\xad\x74\xe5\x36\x43\x5e\xc8\xdf\xff\x7c\x01\x9c\x2f\x72\x38\xce\x52\x9f\xc5\x88\xfd\x7e\x1f\x51\xc2\xbd\xff\xff\xff\xf7\xff\x87\xbf\x91\x17\x5f\xec\xe5\x07\x0e\x81\x70\x3b\x7f\x86\xff\x90\x23\x27\x0e\xde\x6b\x62\xdf\xfe\xf0\x3d\xc3\xf7\xc3\x4d\x3e\x50\xc0\x83\x1b\xea\x00\x48\xbd\xab\x83\x3e\x40\xde\x91\x6f\x8c\xdd\x71\xe3\x82\xde\xbc\x95\x8b\x6b\x00\x3e\xd7\x70\xbe\x3a\xcd\xc1\x57\x1a\xb2\xb3\x2f\xa9\x5e\xb0\x21\x53\x6f\x7e\x26\x85\x4b\x3d\x52\x82\x4f\x4c\xba\x73\x46\x03\x40\xa0\x96\xf5\x60\x4a\x9f\x09\x0f\x52\x9f\x97\x7c\xba\xb6\x69\x6e\xd8\x07\x33\x2b\xae\xd3\x99\x9c\x2e\xa9\x43\x43\xde\x43\xf0\x85\x32\xc2\xe0\x01\xc3\x0a\x29\xaa\x35\x43\x7c\x58\x81\x15\x82\xe3\xe4\xec\xe3\x80\xa3\x82\xdc\x17\x62\x67\xe5\x3c\x4c\x37\x94\xd8\xde\xa9\x0f\x29\x01\xe8\x94\x85\x3b\xca\x60\x31\xa5\x2c\xde\x94\xcc\x3f\xa8\x77\x3f\xba\x42\xe3\x87\x58\x16\xff\x09\x08\x38\xea\x85\x93\xa7\x65\x91\xab\x65\x6a\xc1\x10\x84\x4a\x35\x25\xd1\x97\x49\x98\x71\x45\x29\x7d\xad\xd3\x9c\x7c\x0a\x26\x11\x04\xc7\x84\xcf\x20\xa1\xc6\x58\x93\xcd\xc7\x94\x6c\x0e\xde\xa2\x30\xc2\x3c\x26\xcb\x8e\xf3\x24\x7e\xe8\x74\x9f\x28\xf3\xde\xcc\xd6\x95\x13\xad\x3b\x02\xeb\x69\xb5\x0b\x01\xd3\xd1\x42\x54\xa6\x45\x99\x56\x1b\xf5\xc7\xc7\x8f\x77\x98\x8c\x42\xbb\xaf\xdd\x96\x01\x8b\x61\x06\x8e\x14\x6b\xd0\x08\x44\xe8\xe9\x75\x6a\x2b\x90\x42\xaf\x0a\x52\x26\xe8\xd8\x9e\xf5\x30\x8c\xe5\x0d\x6a\x1a\xa5\x6a\xf9\x6c\x4b\xc6\xa1\x2e\x53\x95\xe8\x27\xaa\x73\xba\xe2\x47\x38\x4e\x40\x8d\x12\x56\x73\xe4\x6f\xeb\xbc\xbc\x71\x09\x4e\xfb\xac\xe5\x74\xf7\x5a\xad\xa7\x59\x6a\x17\xbc\xce\x74\xbc\xd2\x37\xf0\x30\x87\xa9\xf1\x49\xc7\x9c\xd4\x50\x57\xb4\xf5\x85\x21\x55\xde\xc4\xa3\x75\xcf\xa3\x8e\x4f\x5a\xf8\x01\x28\x4a\xb3\x22\x9f\xa7\xd7\xeb\x12\xb7\x1d\x27\x1c\xd7\x59\x31\xd5\x99\x55\x83\xdb\x54\xef\xe5\xf3\x17\x10\xed\xf1\x67\xaa\xd2\xd6\xca\x58\x96\x18\x0c\x27\x6a\x3b\x1c\xa1\x5e\xb6\xd4\xa0\xdb\x21\x8a\x11\x0a\x65\xee\x25\x02\x7b\x91\x6d\x68\x87\x03\x44\xee\x56\x29\x19\x60\x4e\x12\xb7\x8c\xdc\x9e\x95\x0c\xdb\x30\x2c\xff\xe2\x76\x51\x38\x2e\x6c\x0a\xfa\x19\x5c\xcd\x21\xda\xc0\xe9\x78\xf9\x35\xc2\x7c\xc3\x26\x34\x73\xab\xdb\x7d\x8f\x4a\xae\x7a\x01\x19\xd4\x46\xa8\xa5\xc0\x6f\xf0\x64\x0f\xbf\xd1\x0d\xd1\x03\x5e\xba\x35\xcb\x39\x5d\x68\x0d\x27\x5e\x86\x82\x18\xc0\x05\xd0\x16\xeb\x72\xe6\x2e\x3b\xd3\x21\x58\x44\x6d\xa8\x3a\x23\xd0\x72\x6d\xd3\x6c\xe3\x78\x33\xd3\x59\x26\x7d\xeb\xe9\xd8\x21\x78\xf7\xb1\x7a\x91\x6f\x3c\xa4\x36\xed\x5a\xb0\xb1\xc3\x11\xb1\xae\x0a\x37\x16\x8c\xc1\x29\xcd\xdc\xe9\xca\xb8\xcc\x69\xc3\x80\x43\xc2\x2d\xb1\x82\x6e\xfa\x80\x50\x35\x27\x77\xf7\x7c\xad\x39\xdf\x9a\x97\xea\xbb\x42\x84\xce\xe0\x40\x71\x4b\xc6\x3b\x03\xb4\xeb\xef\x15\xa0\x0b\x87\x13\xd2\xdd\x32\xdd\x81\x63\xfd\x70\xd1\x97\xc0\x1f\x8f\x0c\x71\xaf\x0a\x3e\x7b\x04\xeb\x68\xe7\x73\x02\x34\x39\x6d\x5b\x11\x97\x98\xe0\xc6\x86\x7d\xe6\x09\x68\xe9\xf4\x71\x6f\x12\x7a\x91\xe6\xbf\x9a\x59\xe5\xc4\x16\x96\xdd\x24\x1c\x76\x22\xa5\xdf\x61\x6d\x3c\xed\x4d\xc4\x8a\xb7\x66\x56\xe4\x09\xe5\x16\x41\xac\xfb\xd2\xf0\x4e\x4f\x4c\x17\xf0\xf5\xcb\x75\x0e\x60\x67\x80\xe2\x66\xd5\xb5\xc9\x4d\x09\x93\x05\x86\x9d\x34\x57\xd3\x22\xcd\x4c\x09\x9b\xba\xe5\xed\x39\xa5\x8b\x38\x6c\x63\x63\xf5\x97\xe2\xce\xdc\xba\x5b\x77\x05\x1a\x03\x06\x86\xdc\xea\xbc\xd2\x24\x13\x74\xc6\xb7\x32\xba\x31\x6a\x6e\x04\x0c\x50\x60\x72\x87\xf0\x56\x3f\x87\xe8\xc9\x3d\x11\xf3\xa2\xed\x84\xe0\xf4\xd3\x4a\x15\x53\x88\x6d\xa1\x08\x2a\x51\xca\x9d\xb8\x41\x6d\x81\xb3\xb4\x76\x66\xdd\x2d\xf0\x59\xc7\x5b\x93\xe4\x81\x8c\x3e\x1a\x18\x37\x24\x22\x1d\x70\xbb\x63\xda\x77\x25\xae\x68\x30\xba\x44\xb5\x43\xc8\x84\x2b\x0b\x5e\x95\x6e\x89\xb9\xde\x43\x7f\x98\x0f\x82\x45\xb4\xc0\x49\x52\x47\x34\x22\x76\x18\x31\xba\xe4\xd5\x4d\xb0\x22\xb0\x42\xd3\xdc\xba\xdb\x6e\x4d\x72\x67\x45\x62\xa8\xb7\x98\xa5\x00\x67\xca\xed\x4a\xd9\x9d\xde\xb8\xcd\x69\x32\xf6\x87\x38\xab\x64\x32\x11\x04\xf4\xb8\x82\x1b\x6e\xb9\x71\xb7\xf8\x35\x5c\xad\xab\xa2\xda\xac\x74\x86\x0b\x7a\x61\xca\x14\x8f\x98\xa5\xb6\x37\x38\xe1\xee\xfe\x9b\xde\x9a\xf8\x19\x89\x6f\xaa\x91\x17\x23\x5c\x73\x6b\xb3\x6a\xc1\x53\x9f\xeb\x36\xd2\xd0\x86\x35\xf0\xc2\x86\x74\xb3\x33\xf1\xa9\x40\xf9\x7d\xb4\xf3\x7e\xfb\x28\xba\xa4\xce\xaa\x32\x3b\xd6\xf6\xd8\xbc\x5f\xae\xb2\x5e\x1d\x6e\x6c\xdf\x32\x67\x72\x07\xe1\xd9\x72\x2d\x4c\x24\x7b\x12\xea\xbe\x53\x1e\x80\x4b\xfa\x31\xfa\xf2\xb0\xf1\x0f\x86\xbd\x73\xf8\x05\xa0\xb9\xae\x9e\x4f\x4b\x41\xe1\x02\x8f\x94\x53\xff\xc1\xf3\x75\x16\xbe\x6d\xbc\x10\x85\x13\xc8\x0f\x65\x4c\x9f\xc9\x31\x41\x4d\xb4\x7a\x88\x61\x50\xc1\xb1\x1b\x64\xad\x30\x3c\x65\xc1\x76\x74\xbe\x5a\x14\xb9\x79\x7e\x42\x7f\x75\x95\x32\x4b\x9d\x66\xed\xa5\x9e\x9f\x60\xcb\xb5\x4f\x77\x31\x98\x7b\x06\x8a\xb8\x64\xf0\x21\x4c\x86\xe3\x96\xf8\x38\x20\x4a\xc3\xde\xf9\x0c\xb3\x53\xeb\x98\xd8\x6f\x7b\x88\xd1\x25\xb7\x41\xed\x7f\xe3\xe4\xc9\x99\xc1\x67\x31\x39\x53\xe7\xfb\xba\xaa\x93\x84\x49\x0f\x7b\xe7\x3a\x49\x48\x24\x24\xa9\xe7\x27\x41\x02\xd8\xa4\xf2\x48\x9a\x05\xea\x8b\x24\x64\x07\x86\x3a\x75\xb8\xbb\x96\xa5\xc6\xd8\xd7\xd4\xf7\x08\xe5\xae\x65\xe1\xf4\x47\xaa\xe5\x53\x77\xf1\x7f\x44\x34\xbc\xb6\xd5\x52\x0e\xed\x30\xd4\x14\x24\x31\x25\x78\xa7\xde\xbf\x15\x8b\x5c\x5d\x2e\xd3\x6a\xd1\x7b\x16\x97\x60\x91\x56\x67\xea\x9d\x60\xf1\x87\x0a\x62\x68\xfa\x20\xa2\x7d\xca\xd1\x75\xaa\xfa\xff\xf2\xf8\xff\xad\xfe\xf8\xc7\x3f\xaa\x27\x4f\x9f\x3c\xed\x6f\x47\x2d\x35\x40\x5c\x45\x8d\x5f\x8b\x45\x3e\xb6\xae\x69\x56\x03\xc7\x45\x79\xdd\xdf\xaa\x2b\xee\xc9\x36\x8c\xae\x65\x50\x63\xde\x57\x0d\xae\xf1\x46\x56\x60\xea\x81\xce\x4c\x59\x0d\xfc\xa8\x87\x9e\xfa\xb3\x43\xc9\x07\x91\xe9\x6a\x23\xe2\x18\x06\xec\x77\x0d\xdb\x9d\x79\xae\x1f\xf1\xa0\x3f\xa2\x57\xd1\x32\x91\x1d\xa3\x7e\xbc\x65\x84\x8d\xd0\x4f\x04\x0c\x4e\xcc\x7b\xca\x62\x1c\xba\x0c\x9f\xfe\x30\x6f\xd4\xed\x10\x0a\x88\x89\x9f\x99\x01\x81\x4f\x3d\xf9\x88\xee\xcb\x2d\xa3\xa5\xf7\x92\xbb\x72\xd3\x54\x67\x2c\x7b\xcf\x1a\xdf\x13\x0a\x30\xe4\xf9\x12\xdd\xd9\xb5\x70\x0f\xb0\x85\x62\x23\x8d\x27\xea\xe8\x08\x6e\xd8\x3c\x59\xfa\x31\xf3\x22\xd8\x4d\x00\xfb\xaf\xee\x59\x2c\x0f\x50\xc4\x17\x08\x1b\x25\x59\x37\x7d\xf5\x71\x4b\x48\x86\x3c\x15\xfb\xc3\x61\x7c\x54\xd4\x0c\xa1\xc0\x9e\x10\x7c\x11\x96\x7e\x5f\xee\x23\xd4\x69\x88\x28\x22\xcf\x93\xb3\x98\x6c\x6b\x87\xc2\x4b\xf7\xae\xf3\xd1\xbf\xbb\xcb\x91\x02\x30\x3b\xa8\xe3\xbf\x57\x7b\x4f\x86\xb5\x11\x12\x6b\xc5\x20\x5b\x98\x1b\x89\x55\xf3\x71\x9e\x3f\xae\xf1\x1c\x99\x1b\x6d\x87\xed\x8d\xcb\x21\x7f\xe6\xd6\x3b\xb6\xd6\x5a\x3f\x3a\x46\x9f\xa5\xf9\x0d\xa0\x7d\xa2\xdf\x7b\x1c\x7a\xf6\x5f\xc9\xc3\x7a\x7f\x5b\xe5\x20\xf4\x56\x27\xc9\xbe\xbe\x7e\xba\x24\x3d\x6d\xf4\x75\xff\x98\x0f\x5a\x94\xad\x1c\x68\x3d\x2b\xc2\xd2\xf1\xa7\x86\xd8\xde\xea\xcf\x15\x7b\x6e\x12\x3d\xb2\xa9\x56\x85\xbf\x62\xf7\xd0\x42\x00\x11\xf4\x7e\x8f\x3b\xe0\x6e\xd1\x76\xb3\x88\xef\x15\xbb\xaf\x15\xf1\xad\xe2\xd0\x2b\xc5\xd3\xb0\x45\x1f\x9a\x15\x23\xe8\xb6\x1d\xba\xe2\xde\x2b\x43\xfd\xc6\x10\x5f\x18\xba\xef\x0b\xed\xd7\x84\x7b\xde\x12\x0e\xba\x24\xec\xbf\x23\xb4\x5e\x11\x3e\xfa\x86\xd0\xc1\xc9\xfb\xdc\x0b\x3a\xae\x05\x07\xdf\x06\x6a\x97\x81\x1d\x77\x81\x03\xae\x00\xe2\x06\x20\x2e\x00\x52\x8d\xe8\x56\xff\xbb\xb5\xff\x56\xdd\x7f\x8f\xea\xff\x34\x86\xb8\x6e\x29\x70\x25\x36\xbb\x1d\xb7\x80\xa7\x12\x15\x1b\x9b\x8e\x13\xdf\xb4\x5e\x06\xa8\x48\xfb\x6d\x00\x75\xdc\xda\x5d\xa0\xfb\x2a\x40\xc5\x63\x8d\x78\xcf\x3d\xa0\xd6\x8f\x9d\x9a\x3e\xa9\xfa\x62\x54\x62\xaf\x6c\x21\xb6\x5f\xaf\xaf\x0f\x5f\xaa\xf6\xf5\x71\xec\x51\xec\x5b\x7b\xf0\x11\x3a\x7c\xac\xc5\xd7\xfb\xb7\x5f\x8f\x6f\x54\xe9\x52\xe5\x5b\x3b\x7c\x0f\xad\x7d\xaf\xda\xbe\x43\x6f\xf7\x8a\xfb\x76\xe7\xba\x3b\x54\x7b\xdf\xa1\xbc\x77\x69\xee\x87\x28\xee\x52\x6b\xf7\x15\x0f\xd0\xda\xdb\x94\xf5\x8f\xd4\xd5\x77\xab\xea\x87\xeb\x3b\xbb\x14\xf4\x3d\xfa\xf9\x47\x37\x52\xd7\xca\x7f\x37\x85\xb2\x53\x27\x8f\xda\xfd\x1d\xf4\xf1\xfb\xa8\xe3\x9f\xa6\x8d\xff\xde\xbc\xab\x75\xf6\xe3\x55\xf1\x7b\x6b\xe2\x7b\x14\xf0\xfb\xea\xdf\xf7\x18\xf3\x6e\xed\x9b\x77\xf6\xb0\x37\x45\xf8\x04\xc1\x4f\xc8\x6f\x35\x51\xf2\x82\x9a\x8b\xd4\xbe\x44\x04\xb0\xfb\x9e\x42\x60\x25\x67\x26\xf0\xcf\x5f\xaa\xff\xaf\x54\x8a\x9f\xf7\x4f\xf1\x7d\xdf\x03\xbf\x1f\xe2\x14\x64\x57\x75\xf7\x01\xf6\x58\x6c\xa4\x38\xca\xf5\x34\x33\x56\xbd\xbb\xb8\x7c\xa3\x06\x9c\x84\xe9\xd2\xcc\xd6\xe0\x5a\xf0\xa6\xc8\xd2\xd9\x66\x78\x35\x58\x54\xd5\xca\x9e\x9e\x9c\x24\xe6\xd6\x64\xc5\xca\x38\x8d\xe8\x1f\x69\x96\x69\xc7\xc8\x13\x93\x9f\x70\x95\x93\x8b\xcb\x37\x43\x76\x04\x8a\x5e\x40\x20\x93\xe3\xcc\x58\xab\xcb\x0d\x66\xeb\x26\x62\xe8\x22\x0a\x70\x58\xe0\xca\xf8\xe7\xa2\xb8\xce\x8c\xba\x58\x94\xc5\xd2\xa8\x97\xef\x2b\x93\x5b\x74\x61\x2e\xd5\x4f\x79\x7a\x6b\x4a\xab\x33\xf5\x4b\x9a\x27\xc5\x9d\x55\x2f\x56\x2b\xff\xd2\xe2\x06\x31\x2f\xca\x69\x9a\xc0\xe3\x95\xf5\x39\xb3\xcd\xad\xce\x26\xae\xfe\xe4\x4f\x1e\x98\x1e\x22\x5d\x86\x13\x7a\xff\xab\x4c\x22\xbc\x58\x06\x7a\x59\xe4\xd7\x94\xe9\x02\xfb\x36\xf4\x7e\xc8\x22\xe7\xf9\xd4\x40\x9b\xb3\x62\xb9\xd2\x15\xa6\xb1\xf6\xef\x81\x88\x24\x77\x57\xf0\xd8\xc0\xc1\xe1\xce\xf8\x7c\x44\x89\x78\xd4\xcd\x36\xfc\x60\x7b\x2c\xb3\x90\x73\x67\x27\xd1\x5b\x7c\x55\xf8\x3e\xc3\x9b\xe7\x12\xd2\x42\xe1\xc1\x7b\x0d\x29\x05\xac\xa4\x84\xcf\xae\x6a\xb6\xb6\x55\xb1\x94\x5e\xa6\xfe\xf9\x95\xdd\x58\x7d\x72\x6d\x18\xdf\xbf\x5d\xba\x4e\xd8\x43\x59\x06\x80\x7f\x76\xe5\x06\x47\x9d\xe2\x07\xfd\xd5\x2a\xdb\xb0\x1b\xf0\x04\xa4\x13\x1e\x85\x05\x0c\x60\x70\x95\x11\xbc\x75\x7f\x4a\xe6\xa6\x99\x93\x48\xb7\x2f\x8c\x85\x63\x34\x38\x84\xa7\x00\x6e\x19\xfa\xed\x08\x1e\x09\xac\x48\xf0\x8d\x16\xd9\xcd\xd4\x7a\xe5\x5a\xf8\xc3\xe3\xff\xa1\x6c\x56\xdc\xc1\x1c\x6b\x78\x2a\xce\x8b\xfc\x98\xfd\xcc\xd1\x15\x3f\x2f\x30\x73\x97\x6b\xfc\x36\xa5\x9c\xa9\xd6\x37\x31\x35\xaa\xd4\xa9\x0d\x90\x80\x52\x06\xff\x4d\xdf\xea\x4b\x74\x2e\x86\x04\x54\x59\x9a\x1b\x39\x03\xe5\x3a\x23\xf4\xba\xbc\xc8\x83\x7f\x3b\x33\x21\x72\x25\x38\x82\xf7\x46\x78\xe3\xb7\x98\x05\xf5\xe2\xf2\x12\x29\xa8\x81\x19\x5f\x8f\x0f\x4a\x6b\x3e\xe4\x2c\x60\x4b\x7d\xe3\x84\xb5\xb0\xa6\x11\x8c\x97\x86\xae\x8c\x7c\xd6\x2c\xe9\x34\x1d\x9c\xed\xd1\x5d\x21\xdb\x8c\x63\xd1\x51\x55\x99\x92\xbb\xce\xba\x2a\x12\x53\x39\x01\x4c\xe7\x40\x36\xb5\x4a\x07\x4f\xd3\xd8\x5b\x02\xf6\x4d\x7a\xe1\xbd\xb8\x7c\x73\x6c\xf5\xdc\xd0\x8c\xbf\xa5\x80\x8d\x40\xd0\xdd\x8c\x16\xf8\x0c\xef\xda\xbb\xbe\x86\x47\x67\x68\x03\xc1\xdd\x70\x7d\x66\x05\x78\xb7\xa7\xde\x2b\xc4\x16\x99\x39\x0d\xce\xfe\xee\x9f\x1f\xcd\x9c\xa3\x55\x82\xc8\x70\x2c\x9c\x8e\xe6\x91\xb3\x86\xf4\xd7\xb9\xeb\x1d\xe4\x15\xe9\xc3\xde\x56\x00\x58\x00\xb8\xdf\x98\x84\xdd\x4d\x8a\xb9\xa3\x4f\x0e\xe6\xd4\x87\x10\x17\xd1\xb1\xdf\x86\x19\x39\x55\x3d\xca\x13\x77\x6c\xcb\x99\xea\x5b\x93\xcd\xfb\xbd\x71\x70\xaa\x73\xd4\xfb\x48\xde\x95\xe8\x03\x40\xa6\xeb\x8a\x48\xad\x65\x4d\x35\x52\xb6\x50\x7d\x41\xaa\x1f\x03\x75\xce\x75\x96\x4d\xf5\xec\x66\x7c\x14\xc5\x1f\xa0\xbd\x09\x98\x99\x5a\xb5\xd0\xe5\x32\x33\xd6\xc2\xb2\xd0\x79\x5e\x6c\x20\x9c\xe6\x6d\x1c\xe2\x83\xc5\xe1\x61\xde\x2e\x70\x98\xeb\xd5\x48\xad\xc8\xd7\xa5\x75\x03\xa0\x29\x2f\x0b\xd7\xf1\x1a\x4e\xaa\x70\x40\x2c\xfc\xf3\x7f\x9b\xfb\x7e\xa5\xaf\xc9\x61\xc0\x89\xc4\x11\x3a\xcf\x1b\x5d\x5a\x54\xc7\xbc\x3f\x7f\xb5\xcc\xfc\x8e\xe7\x5d\x2c\x30\xa3\x59\x33\xf7\x30\x6c\xe2\x21\x95\x59\xc8\x8b\xec\xd6\x00\x45\xb6\xfa\x68\x10\xf8\xc4\xfb\xdc\xcf\x8b\x72\x39\x7e\xd4\x96\xe1\x57\x5a\xf1\x1c\x8f\x3c\x9c\x11\x39\x5c\x04\x36\xc5\xf1\x49\xf0\x85\xeb\xff\xc4\x0d\x16\x1c\xa0\x27\x93\x09\x1e\xed\xee\xe7\xf9\x83\xa4\x98\xc1\x0d\xcd\x7d\xc6\xde\xe2\x30\xe0\xfc\xfa\x58\xaf\x10\x36\xd0\x32\x06\xe0\x78\x3c\xae\xfd\xf2\xfc\xc4\x57\x04\x21\xa8\x79\xce\x63\x06\x12\x64\x15\x38\x61\xac\xe7\xf3\xf4\xbd\x9a\x8c\x61\xe4\x35\x97\x7c\xd0\x45\x78\x5d\x86\xda\x33\xbb\xa2\x3d\x3b\x57\x18\xa6\x53\xad\xc0\x3f\xd3\x94\x9c\xee\xbe\x66\x97\x64\x8d\x6d\x66\x57\xc2\x2c\x69\x57\x3e\xbf\x1a\x0e\x2a\x06\x69\x3a\xc4\xb1\xbf\x3d\xb1\xda\xf7\x3a\xcd\x2f\xe4\x7b\x90\x72\xf7\xc3\x5a\xfc\xe7\xf3\xc8\xd1\x9f\x3e\x43\x38\x26\x69\x31\xab\xca\x6c\x9c\xe6\xb3\xc1\xb0\x07\xc6\xd0\x34\x9f\xf5\xce\x5f\xe5\xb3\x12\x24\xfc\xf9\x09\x56\x68\xd0\x81\xd0\x54\x30\x9e\x62\x64\x4d\x3d\xf6\x14\xc2\x4f\x81\x36\x15\x88\xf1\x05\x5a\x83\x4e\xbd\xe9\xeb\x63\x87\x61\x6e\xd3\x8c\xc7\xe1\x7e\xef\x9d\xbf\xbc\x4d\xb3\xfd\x63\x70\x65\x5f\x22\xe6\x66\xd7\x28\x7c\x91\xfb\x8c\xa3\xf3\x83\x28\x54\x62\x7f\x36\x3b\xd5\x66\xe4\xf3\xc2\xd5\xcc\x6a\x5d\xb3\xf1\xc5\xd2\xd2\x19\x2e\x41\x3f\xf4\xee\x0a\x93\x06\xb0\xf3\xed\x25\xd2\x7c\xd6\x30\x62\x35\x7e\x24\xad\xaf\xbe\x6a\x52\xda\x76\x10\x77\xdc\xde\x4f\x3d\x64\x1a\x72\xe5\x4f\xdd\xd2\x6a\xeb\x43\xb9\x69\xad\xad\xe0\x18\x1d\xf4\x9f\x7c\xf5\xb4\xdf\xc8\x55\x00\x9d\x53\x33\x88\x2d\x1a\x34\x53\x7d\xd7\xfb\x0a\x92\xa1\xce\x94\x19\x2f\xdd\xdd\xe1\xda\xb4\xd2\xdb\x3f\x7c\x09\xec\xbe\x4b\x46\x0e\x8e\xa8\x21\x6b\xca\xba\x4a\xb3\x91\xba\x33\xd3\xa4\x74\x57\x13\x09\x26\x45\xd6\xbd\xd9\x37\x55\xde\xb4\x3a\xa5\xf9\xac\x06\x42\x8f\x66\x2a\x16\x8e\xba\x91\x0a\xbf\x68\xa9\xe2\x98\xd4\xda\x82\xfb\xa2\xa3\xbc\x67\x6a\xb3\xc6\x4b\xc2\xa8\x8c\x06\x22\xb3\xd2\xbd\xc8\x93\x8b\xcc\xe8\xf2\xd2\x1d\xb3\x06\x8a\xdb\x86\x14\xd1\x1d\x98\x82\xd4\xc6\x4b\x9d\xeb\x6b\x33\x18\x8e\xb3\xe2\xda\x22\x92\xe0\xa0\x4f\x5f\xf6\x87\xe3\x6a\x61\xf2\x81\x97\x48\xfa\xfc\xbb\xe2\xba\x29\x1c\x31\xdd\xef\x8a\xeb\xf1\x3c\xcd\x2a\x53\x86\xda\x59\x71\xfd\x32\xaf\xca\x4d\x9b\x60\x51\x6d\x2e\x32\xce\xdc\x05\x94\x4c\x96\xe7\x61\x0e\x5d\x2f\xaf\x9d\x6e\xf3\x1d\x7c\xff\xcb\x8b\x1f\x5f\xbf\x7a\xfd\xe7\x71\x2d\xfb\x70\x53\xac\x9a\x7f\x6f\x5b\x99\x08\xd6\x9f\x0e\xc6\x75\x32\x78\x3f\x59\x34\xc7\xbc\x2e\xee\x4b\xb9\xc6\x7e\x64\xa8\x49\x5a\xf9\xef\x6d\x53\xbe\x0c\x67\x8c\x19\x57\xc5\xcb\xbf\xaf\x75\x36\x78\xdc\x58\xf1\xe9\x5c\xb5\xd5\x68\x4b\x6d\x84\xea\xb9\x9b\x00\x2f\x1f\xfc\x21\x6a\x96\xf6\x54\xf5\xd5\x57\xff\x17\x7b\xef\xbe\xde\xc6\xad\x24\x0e\xfe\xef\xa7\x40\x18\x6f\x9a\x94\xc9\xa6\x24\x27\xe7\x97\xd0\xa6\x3d\x8e\xe3\x9c\xf8\xc4\x97\x6c\xe4\x9c\xcc\xac\xac\x31\x41\x36\x48\x76\xd4\xec\x66\x1a\x4d\xd3\x3c\x32\xf7\xdb\x77\xd8\x37\xdc\x27\xd9\x0f\x55\x85\x5b\x5f\x48\x4a\xd6\xc9\x64\xe6\x77\xf4\xe5\x8b\xa5\xee\x46\xa1\x00\x14\x0a\x85\xba\xc2\xae\x0b\xe3\x54\x96\xb1\xa9\x16\x1f\xdb\x5e\x7b\x79\x70\x8c\x30\x3b\xed\x5c\xcc\xaa\x65\xd8\x6e\x65\x26\x41\xdb\x0b\x51\x93\x43\x2c\xe2\x56\x46\xdc\x9d\x31\x5d\x13\xc3\xa5\xf2\xba\xf9\x53\x33\x9d\x64\x33\xcd\x2a\x43\x88\xe0\xa4\x41\xd4\x73\x5a\x8d\x82\xe2\xf0\x35\x87\xc8\x1e\x6a\xa7\x12\x39\x00\xa4\xfe\xc0\xcb\xb3\x35\xa4\xd0\xc7\xe9\x0c\x70\x6e\x21\x55\x9a\xbe\xa5\xcd\x39\x45\x9a\x0a\x09\x4b\x8b\xd8\xde\x78\x19\x31\x59\xbe\x3f\x5b\x65\xd4\x14\xf5\xb0\x21\xcb\xc5\xef\xab\x38\x17\xed\x40\xfd\x5d\x3e\xa8\x0c\x37\x70\x3f\xb4\xe7\x40\x3f\xcd\x22\xf1\x0e\x25\x06\x09\xe6\xd7\x34\x5e\x2d\x7a\xa6\x95\x0f\x6e\xeb\xb3\xd3\x7e\x1f\x14\x49\x69\xb6\x56\x27\x07\x69\x8a\x84\x84\xf8\x17\x54\x7b\x75\xfd\xaf\xb9\x64\x67\x7c\xca\xf3\x98\x45\x99\xc0\x0b\x5e\x92\xf1\xc8\x46\xf4\x43\xc4\xce\x4f\x06\xbb\x40\x92\xda\x47\xdd\x44\x41\xe8\x91\x65\x88\x69\xc4\xbe\x8f\x73\x31\xcd\x3e\x38\x43\x25\xd7\xe8\x28\x96\xa8\x16\xd4\x55\xc8\x8d\x06\x64\x89\x17\xd4\xf6\xe7\x7f\xb9\xff\xd5\xd7\xae\x60\xa4\xe8\x40\x73\x7b\x08\x44\x92\xa1\xde\xbf\x50\x11\x71\x02\xc3\x0a\xea\xcf\x89\xc6\xc5\x74\x8c\x3d\x18\x77\x02\xc1\xcb\xc8\x08\x50\x87\x68\x66\xc0\x04\xc6\xef\x12\xc2\xd4\x05\x44\x6d\x5b\x0d\x42\x66\x6a\xfe\x79\x2e\x00\xbc\xae\x1d\x0e\xeb\xa0\x2b\x46\xc0\xc2\x48\x0f\x8a\xc7\xbf\x1f\x94\x3b\x78\x45\xfa\xbd\x5c\xf8\x4b\xc4\xa5\x87\xac\xce\x3b\x48\xd1\xe6\xe8\x88\xef\x43\x5a\x43\x10\x83\x60\x73\x91\xfb\xd2\x97\x9e\x68\x3a\xae\x66\xa2\x78\x8a\x81\x47\xbf\xe4\x49\x85\x0b\xad\xf2\x9a\xe2\x55\x1a\x82\x3a\x88\xd5\x07\xbb\x0e\x31\x56\x39\x59\x76\x90\xb6\xb3\x62\x46\x95\xe2\x68\xde\x76\x2d\x8e\x31\x27\x80\xa4\xe3\x17\x2a\xc6\xa3\x25\x38\x2e\xef\x52\x94\xae\x6a\xf2\x69\x1f\x06\xef\xa4\x0c\xef\x66\x23\x45\x36\xa7\xb6\x14\x51\xa8\xe1\x6e\x40\xa3\x18\x44\xd3\x52\xf3\xd1\xda\x39\x01\x28\xc9\xed\x1c\x8d\x11\xd1\xfc\xf1\x50\x1a\x99\x06\x85\x52\xbf\x16\x16\xb2\xe4\xc3\xda\x34\x4b\xcf\xae\x93\x12\x3b\xea\xdf\xb9\xd3\xef\xa3\x09\x42\x2b\xc5\x20\x02\x4c\x49\x99\x5a\xd9\x84\xf1\x1e\x5e\xc8\xf9\x06\x42\x76\xba\x6e\x4d\x5e\x50\x93\xc7\x90\x32\x61\x99\x67\x14\x76\x8b\xd9\x5d\xd6\x42\x75\x32\xce\xb2\x42\x16\x39\x5f\xa2\x2e\x62\x23\x0b\xb1\x60\x6d\xaa\x95\x82\x05\x96\x15\x0a\x18\x03\x58\xc4\xbc\x10\x51\xa7\x0b\x61\x56\xa0\x38\xce\x05\x97\x59\xaa\x7a\x82\x1a\x2b\x73\xfe\x1e\xa0\x62\x92\x82\x65\x18\xcb\x27\x18\xfe\xdd\x61\x53\xaa\x83\x94\x64\xd9\xa5\x04\x00\xa8\x71\x70\x74\x3d\x3c\xdd\x60\xe8\x70\xec\x07\x30\x46\xd9\xe4\xc0\x94\x3b\xf1\xe4\x72\x47\x04\x37\x7d\xd1\x58\xf6\x89\xa2\x16\xb5\x92\x7f\x2c\xe6\xfc\x7d\x4c\xe4\x77\x87\xaa\x3a\x91\x5e\x2d\x96\x0c\xe8\xcb\x29\x62\x53\xc9\x3d\xa6\x23\x4b\x77\xc5\x95\x02\x3e\xd7\x2c\xa0\xcf\x56\x4b\x1c\x13\x60\x10\xb2\x76\x43\xfb\xcf\x21\x35\x54\xd1\x63\xcf\x40\xad\x48\x45\x88\x14\xd3\x34\x9a\x38\x2e\xd9\xe8\x2e\x7c\x35\xda\x76\x3e\x39\xcb\x43\x8d\xd2\x03\x4a\x70\x0e\xf1\x42\xc6\xee\x31\x4c\xfa\x80\x89\xc9\xe0\xd9\xf0\xd8\xb9\x0a\x1a\xa5\x8e\xd9\x14\xbe\x5e\xe4\xa1\xaf\xc7\x00\x00\x03\x76\x75\x05\xbf\x18\xb5\xc7\x61\xe9\xb5\x3f\x31\x13\x57\x3c\xb9\xbc\x49\x01\x79\xc0\xb4\x52\x3f\x1e\xd9\x4e\x89\x2d\x97\x93\x27\xe3\x54\xec\x2c\x7b\x70\xed\x1e\x4f\xae\x57\x79\xbe\x8f\xd6\x09\x36\xc9\x92\xc4\xa6\x72\x71\xf3\x25\xa9\x0d\x4e\x7b\x6a\x92\x0b\x93\xa7\x86\x36\x14\xaa\xb7\xe7\x3c\x8d\x30\x52\x1d\xbe\xce\x29\x18\x1d\xf8\x1a\xee\x32\xca\x89\xe3\x58\x9a\xc0\xc8\x91\x3b\x99\x6a\xbc\x58\x6f\x27\x7d\xa0\x17\xf3\xec\x26\xe9\x85\x3d\xf0\x9d\x45\x75\x08\xb5\x72\xef\x90\x0c\x09\x98\x11\x46\x8b\x78\x36\x2f\xd8\x34\xce\x15\x3b\x4c\x95\xc4\x95\x62\xc9\x2b\xca\xc3\xf3\xdd\xeb\x97\x6c\xc1\xd3\x78\xb9\x42\x2b\xd6\x1d\x94\x31\xb4\x41\x92\xb0\xa2\x5c\x41\xa5\x21\x73\x1f\x22\x1e\x69\x50\xfa\xf9\x89\x7a\xd3\x55\xb0\x20\x83\x0c\xa7\x94\x8c\x5a\xa8\x32\x63\x85\xf4\x0d\xea\xc0\xce\x52\x19\x4b\x14\x2b\x0b\x88\x72\xc5\xab\x50\x3e\x11\x00\xea\x19\x8e\x68\x08\x84\x19\x8c\x93\x55\x1e\x58\x63\x79\x30\xcd\x26\x2b\x49\x0f\xee\x6c\x1f\xdc\xd1\x37\x23\xf5\x6e\x82\x3c\x72\x9c\xe0\x2f\x8b\x6c\x25\x45\x94\xad\x53\xfc\x6d\xb5\xc4\x7f\x33\x25\xe8\xe2\x6f\xab\x02\x7f\x81\x7c\x28\xf0\x9b\x00\xed\x0b\xfc\x9a\x08\xfe\x5e\xb0\x4b\xb1\x01\x10\x97\x62\xb3\x5a\xaa\xff\xc3\xd2\x32\xb9\x1a\x2f\xe2\x82\x01\x36\x4c\xe1\xc8\x26\xd9\x52\xf1\xdf\x82\x2d\xb9\x2c\x44\xe0\x54\x1a\x54\x78\xdb\xbc\x21\x6a\x74\x6e\x6d\x62\x35\x78\x43\x88\xaf\xd0\x7b\xcf\xfe\x9d\xe5\x0b\x9e\xc4\xff\xc0\xd4\x27\xea\x76\x64\xdb\x23\xd1\x57\xe8\xe3\xdc\x03\x76\xc1\x86\xec\x3c\xc0\xd3\x30\xe8\xb2\xe0\x6e\x9e\x65\xc5\x19\xf9\x1f\xda\xc2\xe3\xf0\xbe\xcb\xec\xdb\x8e\x53\xe5\xdd\x2b\xfa\x5e\xeb\xd1\x80\x3c\xad\x9c\x22\xe5\x6e\x63\xd1\x77\x90\x6e\x7f\x05\xc1\x30\xa3\xfc\x08\xcb\x6c\x2d\xf2\xe9\x2a\x61\xc8\xd4\x35\xcf\x77\xc3\x3d\x91\xb8\x28\xb9\x91\x2c\x05\x91\xa2\x3b\x40\xe9\x92\x23\x8a\x49\xa8\x73\x6c\xa4\x01\x46\x6f\xe2\xa5\x88\x92\x67\x4d\xb9\x54\x0b\x56\xcc\x21\xbb\x08\x4e\x43\xc8\x08\x35\x6d\x3f\x53\xb7\x3f\x01\xc9\x9b\x8a\x02\x93\x8a\xdb\x1e\x80\xb1\x4a\x86\x44\xcf\x26\x99\x04\xc3\x15\x9a\xc1\x25\x84\x9d\x7a\xfb\xc8\x67\x0d\xe5\x1d\xc2\xa5\x0f\x7c\x0a\x3d\xa7\x98\x18\x55\xdd\x8b\x31\x82\x19\x02\xcf\x99\x31\x82\x86\x25\xfd\xde\x34\x65\x43\x1a\x0a\x56\x65\xf7\x09\xa2\xcb\xfa\x47\x2c\x56\x64\x3e\x11\xcb\x22\xcb\xbf\x4f\xd9\x51\x9f\xa5\xab\x24\x81\x37\x8a\x21\xa7\x32\x7e\x2f\x9e\xe2\xc8\x8e\xfa\x3a\x03\xb8\xed\x85\x48\xc2\x29\xe6\x0b\x34\xf8\x03\x8e\xb1\x54\xf2\xbf\x22\xe4\x52\x20\xb1\xbb\x17\xba\xa5\xfd\xd1\x50\x85\x9e\x8c\x94\xfb\xb4\xd7\xd3\x54\xa3\x70\x85\xc4\x34\x80\xff\x57\x75\x17\x15\x1d\x31\x28\xaa\x4a\x8c\xe8\xdc\x60\x79\xc1\xbe\xf8\xc2\xd9\x22\xe1\xdd\xbb\xcb\x39\x97\xb5\x1a\x6c\xa7\x32\x3e\x80\x6a\x6b\xdc\xab\x38\x60\xc1\xd4\x46\x10\x60\x12\xdc\xd1\x7c\x97\x5a\xa4\xa6\x5c\x2f\x55\x29\xbd\xc0\x2c\x43\x07\x26\x19\xfa\x8e\x38\xea\xee\x14\x43\xfa\xab\xe6\xe2\xa4\x4d\x52\x6a\x96\x32\x6e\xd9\x36\xcc\xf7\x27\xc9\xa6\x1a\x93\x1b\x8b\xa7\x16\x9b\x90\xb5\xd5\xf0\x0e\x92\x43\x6f\x55\x0c\xd5\x08\xdc\x58\x12\x65\xed\x2c\x65\x51\xb6\x82\x4c\x1e\x0a\x52\xa7\x41\x36\xad\x17\x46\x9b\x65\xa9\x83\x48\xe6\xa5\x3e\x7b\x77\x5e\x6a\xcc\x57\x37\x21\x19\x7b\xbc\x7f\x3a\xc5\x58\x44\x6e\x4a\x32\x06\x9b\x3f\xe7\xad\xc6\xa0\xf7\x69\xf4\x04\x60\x98\x82\xf3\xc7\x53\xd3\x6a\xd9\x40\x4b\x67\x7b\x68\x64\xb5\xbc\x2d\x0a\x59\x2d\x3f\x8d\x3e\x56\xcb\x3f\x31\x75\xac\x96\xb7\x41\x1b\xab\xe5\xad\x51\xc6\xa1\x84\x91\xbd\x6f\xcc\x7e\xb7\x8f\x34\xe0\x2e\x70\x4b\xc4\x01\xb0\x3e\x89\x3c\x14\x84\x3f\x31\x81\x28\xf4\x3e\x81\x44\x40\x15\x8a\x44\x12\x4b\xa6\x80\xfd\xf1\x3c\x04\xae\x77\x37\xa4\x15\xbc\x1a\xde\x12\xb1\x20\xb0\x4f\xa2\x16\x00\xf1\x27\x26\x17\xc0\xef\x76\xe8\x05\x40\xc9\x3f\x9e\x5c\x40\x05\x70\x43\x72\x41\xf5\xc1\x2d\x91\x0b\x02\xfb\x24\x72\x01\x10\x7f\x62\x72\x01\xfc\x6e\x87\x5c\x00\xd4\x7f\x01\xb9\x2c\xb2\x1b\x53\x0b\x68\xa0\x6e\x89\x58\x00\xd6\x27\xd1\x8a\x82\xf0\x27\x26\x15\x85\xde\xed\x50\x8a\x82\xf4\xc7\x12\xca\x8f\xa8\x4f\xbc\x3e\x99\x68\x45\xe4\xa7\x13\x09\xa1\x70\x63\x12\x21\x4c\x42\xd6\x3e\x88\x00\x30\xa3\x34\x26\xe0\x04\xbd\x53\x9e\xcd\x30\x76\x24\xcb\x15\xac\xa7\x10\x67\xc0\x93\xe2\x47\xb1\xe9\x82\xca\xee\x16\x28\xc6\x94\x10\x27\x64\xaf\x47\x2e\x97\x50\xf3\x70\x9d\xfe\xd3\x48\xe0\x26\x77\x19\xd4\x40\xdf\xca\xf2\x7f\xc2\x3d\x06\xb0\xf8\x33\x2f\x3d\x7b\xb8\x7c\xf4\x66\xb3\x74\x92\x1d\x22\x2d\x8c\xb3\x0f\x54\x48\x18\x93\x6b\xa2\x37\x86\x5a\x69\x58\xdb\xfa\xd2\xf8\x30\xda\x03\x69\x07\x60\xad\x96\x55\x9a\xb9\x29\x62\x93\x2c\x12\x3b\xd1\x82\x49\x1e\xe2\x5c\x7b\xe3\x47\x9d\x33\x4d\xb0\x42\x85\xc8\x86\x9e\x40\x72\xf9\x65\xb5\x01\x2e\x84\xf3\x3d\x3e\xf0\x3e\xff\x74\xda\x07\xfa\xba\x11\xf9\xa3\xe9\x65\xcf\x0e\x68\x20\x79\x6c\xfb\x09\x54\x0f\x1f\xdc\xda\xa1\x78\x87\x32\x7e\xfe\x57\xf2\x45\x40\xfd\xfa\x8c\x11\x67\xf2\x9f\xc2\x19\xcf\xc0\xaa\xd6\x40\x1b\x3a\x54\x55\x67\x56\xad\xb3\xb6\x16\x19\xcb\x52\xb2\xcd\xa1\x65\xd4\x44\xa6\x51\x75\x09\x88\x33\x83\xc2\x37\xc6\x72\x0a\x66\x5c\xbe\x4a\x0a\x08\x4c\xcb\x52\x25\x21\xc4\x93\x39\xac\x03\x24\x2e\x5e\x08\x9e\x4a\x26\x45\xaa\x4b\xa9\x18\x93\x10\x1a\x9f\x20\xc4\x0b\x42\x58\xc8\x07\x88\x4a\x0d\x79\x76\xdd\x25\x9f\x89\x0e\x86\x14\x82\xbf\x1f\xd6\xd6\xc5\x0e\x8c\x53\x1f\x85\x52\xb3\x11\x62\x32\x82\x84\x1b\x18\x60\xa4\x9f\x40\x14\xeb\x07\xfd\xa7\xf5\x41\x31\x23\x85\xa0\x16\x2a\x2f\x01\x49\x34\x30\x95\x46\x6f\xcd\xf3\x34\x4e\x67\x98\x48\xe1\xe8\xe8\x57\xfc\x73\x70\x74\xc4\xbe\x15\x6c\xc2\x73\x31\x5d\x61\xf1\xdc\x22\xa3\x60\xcc\x16\xaa\x8f\x7b\x30\xa1\x30\xc3\x2d\x36\xd6\xb6\xdf\x71\xe6\x96\x8b\x01\xbd\xbf\x2e\xe0\xa3\x17\x72\xe4\x58\xcc\xb3\x99\x28\xe6\xea\xbe\x7a\x26\x84\x9e\x33\xda\x4a\x6a\x0a\x3e\xc7\x45\x2b\xe2\x74\xd6\xe3\x3d\xf5\xa4\xc7\xd3\xa8\x47\xab\xa4\x9e\x16\x73\xd1\xd3\x01\x6c\xb4\x4e\x23\xf5\x9d\x6b\x6e\xd0\x61\x5d\x60\xdd\x86\x3d\x86\x59\x95\xb1\xd0\xae\x88\x58\x14\xcb\xc9\x0a\xb7\x3c\x14\xf4\x15\xa9\x8b\xed\x82\x43\xf6\x67\x0a\x5a\x42\x07\x19\x9b\x32\xc6\x63\x37\xaa\xe7\x83\x4f\x5c\x84\x7f\xad\x9a\x7d\x0a\xd8\x1f\x20\x7f\x9b\x78\x2a\x9c\x7e\x27\xc5\xd3\x21\xcc\x04\xb7\xa7\x95\xb1\xcb\x71\x34\x1e\xd0\x4a\x28\x8d\x17\x47\x43\x1f\x79\xa1\x34\x4e\xa6\x1c\x6b\x53\x96\xbe\x75\x1a\x7f\x28\xa1\x49\x12\x4b\xc5\xc8\xce\x2f\x1e\xd4\xbd\x2d\xc4\x07\xf5\x96\xca\xb5\xd4\x7e\x42\x9c\x63\xa7\x7d\x31\x9e\xb2\xb6\x03\xb1\xce\xfa\xe7\xa0\x83\x49\x66\x20\x98\x05\xbe\xae\xba\x58\x97\xb0\x0b\xf6\x58\xf8\x3c\x03\xdf\x85\x81\xf7\xb0\xef\x2f\xc6\x43\xe0\x2b\xe9\x0c\xf7\x6e\xa1\x17\xb8\xdd\xa9\xa4\xe1\xaa\xcc\xbc\x73\x69\x7a\x06\x5a\x2a\x40\x4d\x31\xb6\xb9\xe2\xaa\xea\xd1\xc0\x7c\xb1\x33\xc9\x14\xfd\x0d\xf4\x83\xbf\xf7\x1f\xd5\xb7\x44\xec\x30\xba\x4c\xff\x0e\xe1\x16\xc3\xd6\x19\xfd\xe9\x36\x5d\xe6\xe2\x91\x9a\xdd\xe1\xd5\x95\xfa\x07\xe4\x93\xdc\xf1\x48\x54\x83\xff\xa7\xba\x51\x21\x8e\x37\xf1\xa3\x52\xf8\x56\x9c\x9a\xbe\x15\xf8\x62\x78\x7e\xb1\xd3\x93\x8a\xb8\xe4\xb5\x5d\xa9\x6a\x3b\x7d\x8a\x67\x4d\x9b\x36\xc4\x6e\x50\x94\x8e\x43\xad\x62\x73\xb2\x11\x37\xbf\x08\x51\xa8\xfd\xd5\x99\xc6\x78\x96\x66\xb9\x60\x62\xb1\x2c\x36\x14\x65\xbd\xb7\xd2\xd0\x1f\x3c\x97\xff\x35\x13\x7f\x80\x27\xdb\x21\x62\xd4\xf7\xd9\x64\x75\x03\x09\x1b\x9d\x99\x3c\xf1\x1a\x63\x7d\x9f\x50\xa6\x72\xf8\x60\x44\x1e\x2d\x10\xc3\x4c\x8e\x2b\xbe\x6f\x18\x1c\xab\x13\x9e\x24\x90\xb4\x1e\xb6\x79\x08\x4d\xdb\x1d\x88\xfb\xb6\x79\x1a\x08\x80\xa4\xc0\x61\x73\x22\x52\xd5\x81\xb2\x17\xc5\x48\x0b\x4d\x06\x83\x69\x9c\x63\x69\x05\x5d\x8e\x3f\x65\x23\x74\x99\x80\x42\x80\x22\x95\xab\x5c\x50\xcd\x10\xdf\xe7\xac\x74\x9e\xaf\xd1\x7d\x08\xaf\x64\x5d\xaa\x70\xd6\x05\xd6\xc7\x73\xc1\xbb\x8c\x1f\x7c\xda\xc3\xec\xdf\xf8\xa6\x01\x13\xf5\x4f\xd4\xbd\x1d\x81\x00\xd6\x94\x2a\x22\x9e\x5c\x6a\xdf\xde\xed\xc1\xe4\xf6\x6d\xb2\xba\x81\x4d\x05\x9c\xe6\x3c\x62\x7b\xc2\xce\xed\xc3\xfd\x29\x67\x7a\xbf\x9c\xf5\xa3\x6c\x22\xfb\xbf\x8a\x71\x1f\x7d\x75\xfa\xaa\x7d\x07\xa8\x42\xd6\xf9\x3e\xcf\xb9\x64\x49\x26\xc9\x6f\xaf\x9e\xc8\x15\x88\xfd\x34\x0e\x55\x54\x1a\xdc\x2a\xc1\x17\x14\x53\x72\xe8\x22\x26\x8c\x63\x97\x58\x60\x62\xb9\x2a\x3a\xdd\xff\x0d\x76\x82\x22\x8c\x1b\x6f\x04\xb5\x0e\xff\xbd\xf6\xc1\xd3\x6c\xb9\xb9\xfe\x3e\x00\xbf\xd1\x7a\x9d\xc6\x2d\x2e\x85\xc2\xed\xe6\xde\xfa\xd9\x72\xf3\x67\x32\x07\x18\x25\x86\x42\x6c\xd8\x9a\x64\xcb\x58\x44\x43\x48\xff\xe0\xaa\x2e\xe0\x29\x86\x56\x92\x30\x19\xc0\x64\x2f\x44\xe0\x4a\xa9\x98\x02\xd5\x2a\xfd\x55\x33\x54\x6c\xa8\xdf\x6e\xc7\x4f\xe1\xe9\xaa\x49\xab\xb1\x8b\x32\x56\xc5\x1f\x40\x18\xab\x6b\x5d\x4c\x7d\xba\x58\x15\x7f\x4e\xb2\x58\xa9\xf5\x5f\x15\x15\x92\x58\x15\x65\x7a\x58\x15\x7b\xc8\x61\x85\x4a\xae\xd5\x2d\x39\xac\xfc\xc4\x65\x71\x03\x1b\x21\xf8\x94\xff\xf3\x89\x01\xb0\xbb\x31\x39\x00\x92\x7f\x4a\x82\x00\xcc\x86\x2d\xfc\xa7\x44\x14\xf8\x10\xc8\xa2\xc5\x96\x09\x9f\x88\x79\x96\x44\x22\x1f\x06\x38\xe9\x73\x91\x8b\x40\x83\x84\x47\xc0\x1d\xe0\xb7\xdb\xa1\x89\xe7\x90\x23\xca\x29\xb6\xbe\xdb\xcf\xf6\xf9\xd4\x55\x79\x61\xd6\x59\xc8\x8d\x97\x0b\x88\x5c\x81\xda\x8f\x54\xf6\x5b\x67\x51\x52\x22\x4a\x91\x0b\xc1\xc6\x5c\x62\x89\x34\x2c\x79\xe6\xae\x7f\xa8\x8b\xd8\x39\x4b\xce\xa5\x8c\x67\x29\x86\x87\x50\xd7\xa5\x6a\x7c\x30\x71\x0a\x14\x66\x51\x28\x74\x4c\xae\x13\x6e\x86\x28\x3a\xe5\xd4\xbe\x7b\xfd\xb2\x8b\xb9\xf5\xd6\xb1\x04\xa1\x24\xc9\x52\xe1\x54\x3d\xf6\x1a\xc7\xa9\x14\x79\xe1\xd6\xc6\xfc\xee\xf5\x4b\xa7\x16\x39\xce\xc7\x74\x2a\x72\x89\x5d\x8c\xd2\xd9\xd9\x3c\x5b\x53\x76\xa6\x74\xf6\x43\x1c\x09\x4a\x4f\xc4\x0b\xdd\x62\x92\xa9\x45\x2a\x04\xf8\xf7\xe3\x14\xa2\xee\x56\xcf\x61\x19\x95\xd4\x4c\x64\xce\x29\x2d\x20\x4f\xd1\x19\x1f\x8b\x54\x4a\x2c\x3e\x8d\x69\xea\x74\x5d\xca\x11\x95\xfb\x1e\x41\x4d\x5d\x5d\x3b\x30\x64\xa6\x12\x25\xf0\x51\x2e\x85\x8e\x66\x86\x04\x54\x98\x15\x70\x02\x8e\x52\x6a\x01\xe2\x69\x3c\xe1\x38\x1f\x4e\x40\xa9\x82\xa8\x4b\x31\x53\x04\x50\x2e\xa0\x8e\x9b\x23\xf3\x06\x20\x8d\x2e\x33\x19\x9b\xe2\xec\x76\x28\x5d\x26\x57\x93\xb9\x8e\x4c\x1e\x0d\x20\x51\x56\x0f\xaa\x84\x63\xb6\xc4\x41\xc2\xed\x83\xa5\x14\xab\x28\xeb\x51\x51\xaf\xb0\x52\xdf\x13\x50\xf3\x23\x0d\xf5\xd2\x9b\x02\x9a\x6a\xea\xd5\x54\x61\x40\x87\x1a\xac\xa2\xfa\x6c\x43\x81\x51\x1c\x72\x05\x98\x1a\x97\x31\x05\x63\x51\x7c\x74\x95\xb0\x64\x91\xe5\x22\x82\x92\x9b\x3a\x48\xc4\x34\xa0\x0a\xf3\xd4\x27\x56\xea\x42\x0a\x01\xd0\x85\x64\x4b\xee\x54\x99\x04\x14\xd5\x9b\x73\x5b\xe3\xcb\x2d\xf0\x65\x2f\x24\xb3\xb8\x98\xaf\xc6\xe1\x24\x5b\xf4\x49\xe3\xd9\xb7\xe9\xc8\xfa\xeb\xf8\x32\xee\xff\x92\x46\x22\x97\x05\x07\x35\x40\x0f\xc2\x05\xe4\xe7\xbf\xf1\xf7\x9c\x52\xb5\xd9\x2e\x7a\x4e\x17\x98\x9c\xef\x49\xca\x4c\x51\x78\x08\x9e\x35\xe9\xcf\xa6\x48\x1f\xea\xbf\xa9\x1a\x18\x94\xbc\x1d\x99\x4c\x6e\xfe\x88\xa9\x06\x1d\x2b\x32\xb8\x04\x31\xdb\xbb\x2d\x51\x66\xe2\xd7\x62\x1d\x48\xef\x84\xa0\xb1\xe7\xba\xf6\x3c\x14\xdb\x87\x18\xdd\x08\x28\x11\x33\x20\x2e\x78\x24\x1c\x03\xc8\x7b\x9e\xc7\xc0\xc4\xdd\x98\x36\x45\x38\xa6\x4e\x6c\x92\x80\xd7\x5f\x1e\x47\x82\xb5\xe7\x71\x24\x3a\x58\x61\x18\x18\x47\x1d\x06\xfa\x5e\x98\xc8\xac\xab\x87\x65\x37\xa8\x29\x73\x8f\xc4\x45\x15\xee\x75\x98\x1d\x5e\x6e\xd4\x64\x6a\x55\xb7\x9e\x3e\x7d\xae\x12\x81\xc5\x53\x6f\xb7\x50\x7d\x5c\x1b\xda\x1b\x3b\x85\xfb\x70\x02\x14\xad\x4e\x0b\x91\xb3\x18\xbe\xa7\x1e\xbb\x84\x87\xcc\x16\x02\x32\x7e\x42\x32\x53\xd5\xc9\x6f\xff\xe7\x4a\xe4\x9b\x40\xb2\x11\x64\x29\x87\x82\xcf\x9d\x11\x15\xb9\xc3\x32\x84\x25\xc2\x4e\xb8\x02\x4f\x9b\x87\xb2\x5d\x56\xc6\xef\xb4\xb9\x43\xe5\xf0\xb1\xa8\x3b\x8e\x00\xe6\x1b\xf2\x1f\x4a\x9b\xb5\x50\x7d\x94\xe5\xf1\x2c\x4e\x79\x52\x9a\x2b\x43\x46\x90\xba\xc0\x24\x18\x75\x7a\xa9\x33\xa5\x75\x4d\x55\x5f\x53\x74\x3e\x8d\x17\x44\x21\x86\x09\xa6\xb3\x27\xf0\x54\x8c\xc8\xe0\x80\x45\x05\xe1\x11\x7e\x01\x6a\xe5\x91\xb6\x8a\x8e\xc0\x83\x6b\xc4\xc4\x74\x2a\x26\xd6\x86\xf7\x6f\x16\x36\xb0\x66\xd0\x4e\xf7\xd8\x9c\x2f\x97\x22\x95\x18\xc7\x8d\x2b\x53\xd8\xa3\x92\x52\x58\x48\x1d\x37\x65\xd9\x8c\xe2\xe5\x6e\x54\x34\x31\x0e\xac\xf6\x48\xc9\x33\xcc\x99\xe3\x40\x83\x5c\xc7\x0a\x01\xf4\xca\x2b\x21\x40\x01\xe8\x75\x18\xf0\x5c\xd4\x1e\x86\xd7\xa8\xf5\xfb\x97\x5d\xb5\x7e\x9f\x4f\xf5\x11\x7e\x40\xcd\x5d\x50\x1a\xf0\x44\x42\x20\x1c\x1c\x43\x0c\x12\xb6\xec\x3d\xba\x41\x90\x00\x61\x21\x86\x6f\x8a\x7c\x55\xcc\x37\xa0\x5a\x58\x6e\xb4\xc0\xa1\x69\x4b\xc3\x75\x60\x22\x91\x3a\xc5\x9e\x01\x5e\x55\xda\xab\xd8\xa8\x0c\x15\xb5\x58\x24\x96\x72\xd8\xd2\xe9\x48\x89\x92\x40\x8f\x6f\x49\xc4\x4b\x08\xb8\x47\x54\xc4\x1b\x7f\xa5\xe4\x08\xe8\xfb\xc7\xd9\x07\xaf\x72\x86\x7a\x26\x22\xf7\x5a\x81\x4f\x48\xb0\xec\x3f\xa2\xf2\x22\xf0\xa3\x04\x11\x52\x88\xe2\x57\x03\x63\x3c\x5b\x72\xf0\x68\x8b\xa7\x0e\x4c\x6d\xb6\xc5\x01\xf5\xe2\xa9\x63\x8c\xd1\x49\x94\xf5\x9a\x98\x13\x51\x63\x09\x3b\x38\x25\x58\xa1\x35\x0c\x99\x98\x72\xd7\x16\xe2\x95\xbc\x30\x73\x16\x4e\xa4\xcd\x8d\x17\x5a\x34\x1c\x85\xfc\x98\x4f\x2e\x67\x79\xb6\x4a\xa3\xc1\x7a\x1e\x17\x4e\xd2\xa0\x71\x96\x47\x22\x1f\x9c\x2c\x3f\x30\x99\x25\x71\xc4\xc6\x09\x9f\x5c\xda\xf7\x4b\x0e\xa5\x7d\x07\x27\xc7\xcb\x0f\xfa\xa9\xf1\x8e\x71\x3a\x0b\xd3\x59\x0f\xf6\x76\xb7\xfc\x94\xdc\x60\x0d\xc4\xde\x5a\x8c\x2f\xe3\xa2\x57\xe4\x3c\x45\x01\x67\xc0\x93\x84\x4d\x56\xe3\x78\xd2\x1b\x8b\x7f\xc4\x22\x6f\x1f\x87\xa7\x5f\x1d\x77\xd9\x71\xf8\xe5\x5f\xf0\x1f\xfc\xeb\x9b\x2f\x8f\x3b\xec\x38\xfc\x4a\x5a\xfc\x6e\x03\xca\xee\xf1\xd4\xbf\x43\xcf\x5c\xfd\x4b\x8f\xb2\xe3\xda\x51\x66\x4b\x3e\x89\x8b\xcd\xe0\x78\x5f\x27\xd0\xbe\xa1\x13\xf4\x16\xd7\xbf\x34\x77\x72\x62\x3b\xf1\x49\xa6\x74\xb1\xc1\xd8\xf4\xe7\x53\x2f\x11\x7a\x70\x97\x3a\xf5\x4c\xb6\xf4\xac\x26\x39\x3a\x54\x9d\x7d\x86\xac\xc1\x4d\x88\x0e\x2b\x01\x79\x87\x07\x2c\xd0\x47\x73\x39\x2d\xfa\x5f\x8e\x8f\xe9\x6b\x91\x2f\xd4\x81\xe6\x42\xa8\x09\x52\xbe\x7b\xb7\x48\xc6\xee\x37\x8a\x45\x0e\xca\xa6\xe5\x2e\xb3\x61\xcb\x77\x95\x14\xd0\x85\xfc\x9f\x5d\x76\xd7\x22\xe5\xda\xa7\xd4\x3c\x8c\x93\x6c\x72\xd9\x45\x69\xe7\x0c\x81\xe8\xec\x41\x34\x38\x87\xca\xc8\xde\x7b\x77\x0d\x89\x0c\xa0\x8b\x50\x4d\x64\xd7\x8d\xa7\x7d\x3e\xfd\x55\xbd\x7e\x82\x98\x81\x84\xa4\x3a\x75\x6c\xbf\xf1\x94\xd9\xe7\x8c\xf9\x2f\x3e\xb3\xa8\x54\xed\xd3\xce\x40\x6c\x92\x20\xb8\x81\x75\xd5\xb1\xd8\xd0\x8a\x39\xc3\x63\x43\xf3\x61\xd5\x9e\x0d\x90\xce\xe1\xff\x94\xe8\xed\xde\xbd\x0b\x36\xb4\x29\x77\xf1\x9c\x7d\x0a\x05\xc4\x8b\x76\xc0\x44\x1a\xc1\x88\x31\xb1\x9b\x9d\x10\x76\x8f\x05\xac\x2e\x7d\xa4\xc9\x41\xfb\x2b\xa5\xce\xc2\x04\x06\x73\x81\x89\x7e\xfb\xea\xce\xc2\xd2\x2c\x12\xe6\x30\x52\xc8\x44\xf0\x48\x86\x75\xe0\x4c\x35\x67\x27\x1b\xc2\xa5\x10\x4b\xf2\xf5\xd1\xb7\x31\x3a\xb3\x7e\xfb\x3d\x89\x0b\xc1\xd6\xb9\x3a\xf6\x21\x43\x6c\xac\x73\x2f\x8c\x05\x89\x19\x11\xca\x70\x75\x9d\x8d\xd5\x59\xe9\x26\x3f\x2f\xe6\xa6\x1e\xf3\x2f\x79\x82\x7c\x5d\x5d\x4f\x4c\x91\x66\x9e\xe7\x54\x4f\xb8\xf4\x03\x84\x47\x99\x12\x6a\xd7\x61\x80\xff\x54\x5e\xd7\x24\x07\xd5\xdb\x34\x04\x06\xa1\x09\x42\x6f\x86\x10\x05\xf3\x76\xc7\x3e\xaa\xc6\x22\x97\xb3\x48\xb9\xae\x0a\x75\x61\xce\x8a\x54\xcb\x1b\xa5\x4a\x79\xe5\x2f\xa8\xd0\x4e\x39\x3f\x52\xf5\x43\x45\xa6\xab\x24\x69\x46\x0a\x31\xd8\xb5\x57\xec\xbb\xf0\x2e\xdd\x54\xab\xfd\xfa\x1b\xe3\x80\x1e\x61\xd9\xf6\x0f\x94\x0d\xd9\x4c\x14\xdf\xaa\x8f\x5f\x29\xd2\xc5\x76\x21\xac\x4c\x05\x09\xb3\x7c\x70\x08\x54\xa7\xb5\x94\x14\xac\x6e\x83\x1f\x34\x7f\x75\x39\x00\x35\x19\xee\x1e\xfb\xb6\x62\xe6\xde\x5e\xaf\xac\xc5\x73\x4c\x45\xef\x2b\xcb\x9e\x3d\x6d\x52\x97\x7d\x2f\x20\xa7\x60\x57\xcb\xa2\x92\x24\x7b\x4a\xa1\xaf\x2e\x7d\x1f\x0a\x91\xab\x9b\xd0\x0f\x6f\x5e\xbe\x60\xd3\x9c\xcf\xdc\x6b\xce\xb7\x1b\xed\x17\xd8\xf5\x6b\xa6\xff\xf2\xf3\x0b\xad\x7d\x50\x28\x58\x61\x56\x2a\x3c\xa3\x6c\xc1\x21\xd5\x49\x84\xc5\xc2\x27\x59\x42\x0a\x96\x3b\x98\x92\xdc\xdc\xe7\x0d\x47\x34\xa2\x5d\x04\xc5\xfa\x37\xc6\x78\x4e\x62\xfc\x5d\x39\x11\x9f\xcf\x44\xf1\x26\x5f\xc9\x42\x44\x3f\x0b\x4c\x2e\xff\x4b\x0e\x15\x08\xd4\xdb\xb0\xf6\xed\x96\x65\x8a\x93\x40\x8a\x76\xcc\x45\x47\x43\x20\x45\x19\x96\xb7\x40\x84\x41\x83\xa8\x11\x86\xeb\x95\xba\xd8\x2d\xf8\x86\x89\x18\x3e\xb3\xa6\x32\xd5\xe1\x77\x22\x11\x33\x5e\x88\x9f\xf0\xd6\x97\x7f\x9e\xdb\x6e\x7f\x55\x62\x21\xf8\x62\xad\xcd\x6f\xc5\x5c\x2c\xb6\x0c\x2f\xdd\xee\xa8\x0a\x85\xf4\x13\xe9\x20\x0d\x7c\x95\xbe\xe7\x70\xbb\x50\xa3\x42\x2d\x81\x0c\xd9\xcf\x8a\x1b\xab\x09\x27\xdb\x69\xa0\x4d\xed\x0a\x32\x21\xc7\xce\x90\x36\x20\xb3\xd9\x87\x62\xc5\x13\xf6\x4c\x4e\xf8\x32\x4e\x67\x5b\xbd\xba\xcf\x53\x75\x11\x01\x69\x0f\x97\x57\x67\xa3\x85\xb1\x9f\x9f\xa9\xa5\x7c\x0d\x37\x65\xca\x87\x66\xf5\x3f\x50\x59\x7e\x06\x45\x4a\x40\x09\xb4\xec\x53\x5b\x29\x26\xa8\xfe\xf9\x89\xe7\xc5\xe9\xe7\x0a\x46\x0f\x6f\xdb\xef\x30\x6f\xe2\xbb\x69\x96\xbf\xfb\xf7\x97\x2f\x7e\x28\x8a\xe5\xcf\xe8\x42\xda\xd1\x77\xde\xf3\xa7\x79\x26\x65\x8f\xfa\xd4\x13\xc2\xce\xe6\x1c\xec\xb9\xed\xa7\xaf\x7f\x3e\xa3\x42\x2c\x83\x7e\x7f\xbd\x5e\x87\xeb\xfb\x60\x09\x7f\xf3\x73\x7f\x92\xe5\xb2\xdf\x41\x45\x1f\xe4\x67\x54\xeb\x36\x5d\xe5\xb0\x70\x66\xab\xac\xe7\x82\x14\x97\x0e\x31\xc7\x92\xc9\x15\x64\x52\x99\xae\x92\x44\xa7\x23\x34\xb5\x4e\x48\xe6\x43\xf5\x0b\x6e\x9d\x11\x5b\x43\x5d\x11\xa8\x15\x31\xcd\x72\x36\x01\xc4\x89\xee\xc9\x33\x16\x0a\x72\x28\x29\x5a\x4f\x0d\x8c\x51\x7d\x3d\x52\x02\xe5\xa0\xdf\xc7\xcb\x3e\xe6\x70\xc9\x52\xac\x68\xa1\x3f\xde\x73\xe1\x37\x4f\x5d\x9d\xc5\x18\xa6\x49\xdd\xeb\x75\xd2\x4a\x73\x77\xd7\xc9\x0e\xdd\x3b\x7b\x2d\x0c\xad\x92\x10\x1f\x62\x59\x80\x8a\x95\x40\xf1\x35\xdf\xd8\x62\x36\x14\x90\x08\x43\x42\x78\x16\x5a\x36\x99\x40\x32\xa0\x94\xfc\x7e\x6d\x6d\x8c\xba\xeb\xfc\x97\x70\x9d\x77\x6f\xf4\xe8\x0e\xb5\xb5\xec\xee\xa3\xcc\x27\x35\xbe\xce\x5a\x0f\x0f\xaa\xaf\x4c\xf1\x24\xa3\xbf\x27\xca\x89\xa5\xad\x61\x01\xe5\x63\x78\x5a\xb8\xb5\xbc\xcd\x0f\x94\x02\x01\xf7\x00\xb5\xe5\x61\xfb\xc5\xa0\xf0\x3e\x3a\x92\x71\x3a\x4b\xc4\xd1\x11\xfb\x7d\x95\x15\x8a\x97\x82\x57\xc3\x48\xe6\x93\x61\x2b\x58\x6c\x14\x9d\xc7\x3c\x79\x43\xc4\x04\x77\xea\xa0\x35\x0a\xab\x03\x1a\x2a\x5e\x04\x3c\xc8\x5a\x91\x3c\x23\x12\x2a\x8f\x61\xfd\x96\x08\xd5\x66\xf4\x0c\x6b\xe7\x68\xb8\x85\x62\x20\x72\x92\x67\x49\xc2\x7e\x25\xe2\x76\xe9\x54\x7b\xed\x29\x3a\x74\xd8\x17\x4f\x27\xf3\x2c\x3f\x83\x76\x75\xf3\xc1\xbc\x2f\xc0\xd6\x45\x9d\x80\xba\x32\x16\x6b\xcc\xf1\x68\x34\x4d\x86\xe0\xca\x08\x57\x7e\x7a\x7a\x8d\x3c\xfd\x62\x9a\x15\x58\xa4\x83\xf2\xae\x52\x77\x71\x3a\x0b\xaf\x01\x45\x8a\x02\x84\xc9\x6c\x55\x20\xb7\xec\x32\x91\x1e\x06\xee\xb5\xb1\xc5\x94\x5b\x78\xbe\xea\x55\xea\x43\x2b\x10\x69\x80\xa0\xd3\x43\x14\x39\x74\x06\x9b\x02\x0e\xb7\xac\xcd\xa9\xab\xea\xb0\xc3\xcb\xb5\x5a\xb2\x55\x33\x47\xd0\xf1\x60\xb9\x55\xd5\x3f\xd6\xd6\x84\x04\x92\xa0\xae\xd6\x87\xa9\x5b\x73\x02\xbf\xd6\xbe\xab\xad\x47\xed\x71\xc2\xd3\xcb\x8e\x53\xb5\x95\x3e\xb4\x15\x5b\xf1\x67\x95\x27\xfa\xba\xa2\x01\x0f\xd8\xc3\xa2\x78\x74\x75\xa5\xff\x0e\x57\x79\xb2\xdd\x3e\xec\x17\xb6\xd5\xc3\xb9\x55\x35\x79\x8e\xff\x32\x89\x23\xa1\xa7\xb2\x67\xb4\x96\x6e\xf6\xfa\xc6\xcf\x49\xb5\x05\x6b\x64\x27\x43\xf5\xde\x7a\xe4\x17\x5b\x70\xff\x72\x7e\x6f\xd2\x33\x55\xcb\x2f\x94\x3d\xc6\x7d\xca\x00\x1f\x70\xa3\xf5\x0b\x1c\xef\xf1\x5b\xf3\x1d\x37\xde\xd7\x5a\x30\x1a\x7a\xf2\xeb\x39\xbb\x02\xdc\x07\x2c\xd0\x9f\x9c\x20\x97\xeb\xaa\x15\xab\x3e\xde\x76\x4b\xb2\x71\xa5\xfd\x69\x7d\x7b\x7a\x8c\x95\x52\x9b\xd0\xb3\x45\x42\x0d\xc2\xe7\xc7\x4e\x03\xeb\x10\xde\xb4\x04\x3e\xba\x56\xff\x49\x1c\x4c\x51\xa0\xf7\xc5\xce\xf5\xf4\x71\xdf\x05\xec\x74\x3f\xb0\x26\x25\x64\x03\x25\x3b\xab\xa8\x8d\x9b\x83\x5c\x24\x5c\x5d\x1a\x1e\xdc\x82\xb2\x72\x2e\xd4\x85\x7e\xf0\xa5\xa3\xab\x64\x60\xbe\x9a\x26\xd9\x7a\x30\x8f\xa3\x48\xa4\x55\x7d\x9c\x87\xac\x8b\xe2\x4e\xd5\xa7\xd7\xca\xd5\x7e\x56\x5e\xfc\x99\x15\xa0\xd5\xf5\xe0\x63\x99\x25\x2b\x77\xd6\x8b\x6c\x39\x70\xaa\x9e\x24\x62\x5a\xb8\x7f\xe7\x30\xe7\xc7\xee\x2a\x15\x45\xb6\x70\x9f\x90\x3d\x7d\x00\x77\xce\x43\x75\xcb\xf5\x13\xec\xcc\xa3\xc2\xab\xf7\x95\xd7\x76\x67\xd3\x1d\x8a\x54\x6f\x88\x3b\x50\x28\x2f\x65\xa9\xdd\xce\x66\x3b\x94\xc5\x0a\x4c\x75\x20\x4d\x9b\xee\xd0\x20\x88\xf7\x3c\x37\x7b\xf9\x0c\x8f\x4b\xaf\x78\x88\x09\x0f\xc0\x4f\x9c\xaa\x23\x54\x02\x05\xb8\x7a\x22\x16\x7e\x33\xf0\xad\x3f\xb7\xa7\xcd\x85\x5b\x77\xc4\x09\x18\xf0\x2e\xaf\x86\x01\xd7\x2a\x33\xc8\x19\xdf\xe9\x72\x67\xa2\xec\x0a\xc3\xb3\x69\xaf\xb7\xfb\x51\x39\xdd\x89\xca\x8e\x94\xf8\xc3\x21\x0b\xa6\x98\x7d\x3f\xa8\x24\xc6\xd4\x69\xf9\x27\x5c\x5d\xb3\x30\x84\x4e\x1b\x97\x61\xee\x4b\x69\x22\xcf\x84\x60\x3b\x7c\x13\x9c\x9a\x05\xb1\x94\x2b\x21\xfb\x5f\x7e\x7d\xec\x40\x28\xa7\xe0\xb7\x7a\x1a\x7f\xc5\xab\x91\x0f\xa5\xf7\x3c\x49\xcc\xa2\xa2\xb8\x43\xa1\x0f\xed\xd3\x9a\xb0\x89\x9b\x2f\xd4\xe9\x41\x0b\x45\xe6\x5e\x75\x33\x54\x22\xd8\x7f\xe9\x22\xfd\x01\x53\x7c\x7c\xd8\x14\xc7\xf2\xa7\x5c\x48\xd0\xe4\x52\xb0\x0c\x38\x70\x79\x73\xc9\x76\xd9\x7d\xca\x9a\x3a\xf0\xd6\xab\xd1\xd2\x7d\x7e\x97\xba\xa5\x05\x24\x75\x07\x5a\x84\xff\x0d\x5a\xbd\xd9\x2c\x05\x13\x8b\xb8\x94\xe5\xd5\x80\x80\x5a\x86\x91\x98\x24\x3c\x07\x4b\x7c\x9d\x92\xef\xd9\x22\x2e\x0a\x11\x29\x34\xf2\x0d\x2b\xe2\x05\x5a\xde\x2d\x0c\xe7\x6e\x96\x6b\x14\xca\xf7\xc9\xd7\xe0\x8a\xb8\xd5\xd2\x28\xfa\x27\x9e\x6d\xd2\x62\x2e\x8a\x98\x86\x48\xfe\x8a\xde\xd5\xf6\x8c\xee\xea\xea\x86\xfe\xcb\xcf\x2f\x20\x5f\x34\x75\x57\xa0\xc6\x2d\xfc\xa4\x39\x7b\x01\x97\xc9\x1d\x13\xa6\x63\x8b\xed\x70\xad\x8e\xe1\x93\x26\xaa\xfe\xde\xfd\x67\x9d\x27\x28\x64\xf0\xcf\xa1\x2b\x52\x4b\x18\x01\xfc\x87\x37\x6f\x7e\x32\xd1\xdf\x9b\x58\x24\x91\xd4\xc5\x1e\xd2\x6c\x05\x4a\xe1\x65\x96\x4a\xc1\xda\xb2\xe0\xc5\x4a\xb2\x87\xec\xf4\xf8\x98\x7d\xfc\xc8\xe8\xef\x47\xec\xf4\x9b\x6f\x3a\x7f\xf0\xc4\x92\xb1\x16\x87\x5f\xb2\xd8\xea\xa1\xd1\x06\x85\x24\xd1\xae\xfe\x83\x1e\x68\xb3\xae\xba\x57\x89\xa0\x7c\xcb\x61\x4e\xfd\xa4\x76\x19\x64\xb7\xac\x52\xe9\x3a\xf6\x8a\x2e\xde\x72\xea\xac\xc3\x8e\x0d\xf7\xd9\xd3\x27\x15\xfb\xef\x97\xbb\xec\xbf\x3b\x2c\xc8\x6e\xb5\x6d\x7d\xff\x4c\xb3\x6c\xa9\xdf\x96\xd3\x58\x37\x64\xb1\x86\x4a\xfa\xf9\xe4\xd9\x87\x25\x1b\x32\x6d\xb4\x24\x02\xfb\xf8\x11\x9f\xc8\x7c\xe2\xce\x14\x6a\xc0\x9c\x16\xa4\x12\xfb\xf8\x91\x05\xde\x94\xf2\x55\x91\xe1\x54\x39\x1f\x5b\x65\x97\x39\xee\x4a\x89\x98\xdb\x37\xb6\x60\xe3\x61\xf9\xd4\x56\x26\xf4\x17\x98\xf8\x0c\xda\xb6\xbd\x37\x25\x9b\x51\x6d\x33\x7a\xe7\xdc\x10\xa0\xcb\x44\xf0\x74\xb5\x7c\xc1\x65\xf1\xdc\xdb\xcd\xcd\xe1\xd7\x35\xf6\xc2\xb2\x1d\xab\xf4\xba\xc1\x56\x58\xfa\xaa\xc6\x74\xb5\x2d\x75\xeb\xce\x40\xb9\x4f\xf7\x5d\xa3\x99\xd0\xfd\xe8\xf0\xfe\x1a\x46\x59\x32\xf6\x95\x3e\xde\x6b\xea\xdb\x3f\xfc\xaa\x95\xaf\xda\xa6\xbc\xba\xcd\x2b\xbf\x73\xbc\x5b\x87\x2e\x7c\xd7\x08\x39\x11\x21\xa4\x31\xf7\xec\x43\x6d\xdc\x74\x1d\xdf\x5f\x02\x29\xc8\x75\x9a\x90\xf9\xc4\x1f\xb9\x22\x3a\xd0\xd9\x3e\x31\xca\xfa\x1d\x81\xfe\x6a\x11\x62\xf9\x1d\xfa\xc7\xb6\xbd\x0d\xd9\x61\x5f\x7c\xc1\xda\x9f\xf9\x9b\x54\x71\x78\x1b\xa4\x57\x6a\x50\x53\x7b\xcd\x63\x88\x65\x62\xf1\xcc\xa6\xe5\xfa\x8d\xc5\x3c\x96\x4f\x61\xbf\x3e\x8f\xd8\x90\xdd\xbb\xe7\x6d\xde\x07\x65\x27\x91\xca\x3c\x28\xf1\x55\x0a\x4c\x58\x7f\x9a\x46\x0c\xcf\x12\x54\xe3\x82\xbc\x4c\xe1\xd9\x9e\x99\x48\x1f\x79\x58\xd5\xc8\x29\xf4\xc0\xe2\x34\x2d\xf9\x39\xf4\xfb\xd6\xe3\x31\xd5\xee\xbf\x94\xe8\x06\x76\xbd\x88\xd8\x6a\xe9\x7b\x33\x94\xcf\x0c\x85\x76\x17\x33\xcf\x97\xc8\x59\x9f\xb0\xf5\x99\x19\xbc\xc9\xf9\x6c\x38\xf4\x39\x5b\xa7\xa6\xde\x98\x9e\x56\xed\xd1\xc2\x86\x7a\x21\x53\xb1\xae\x31\xf6\x17\x79\xe2\xea\xe3\x34\x3a\x0f\xee\x94\x3e\x34\x5e\x2a\x60\xdc\x05\x6f\x5c\x08\x1a\x05\x33\x04\xa8\x57\xe6\x71\x12\xe5\x02\xfc\xba\xed\x15\x98\x5c\xe9\x45\x2e\x8c\xaf\xa9\x71\xcf\xd6\x9e\xbb\xd5\x9e\xd4\x85\x88\xec\x3f\xbc\x30\x32\x00\x01\x90\xce\x91\x27\xbb\x2c\x0c\x43\xac\xd0\x31\x81\x7b\xd2\x32\x4b\x92\x55\x21\xfa\xfa\xbe\xa4\xe5\xa5\xb2\xb7\x89\xeb\x26\x83\xf7\x1c\x07\x69\x2f\xe4\x00\x5d\x5a\xb8\xf1\x12\x36\xf8\x98\x34\x37\x68\x71\x12\xa9\x14\xa6\xf4\x74\x75\xde\x7e\x15\x74\xb9\x42\x1e\x0e\x26\x61\x53\x5f\x29\xc9\x52\xf1\xa4\x28\x26\xf3\xef\x61\xfe\x9c\xa3\x0d\x8d\xed\xbc\xa8\x82\x35\xfc\x02\x7c\xda\x93\x44\x44\xda\x59\x57\xad\x89\xc9\xd7\x83\xc8\x52\x29\x71\xb6\x86\x49\xc2\xc2\xdc\xb0\x62\x55\xb8\x6e\x19\x99\x0c\x2a\xf9\x1b\xfb\xa1\xf6\x51\x2f\x0f\x12\x0f\xc0\x2c\x05\x8d\xae\xe3\x8f\xa5\x89\xd0\xb9\xac\xa2\xbb\x47\x9d\x3f\x56\xd3\x01\x5a\x25\xda\x26\xef\x1e\xac\xfa\x60\x1c\x7a\x70\xa7\xf9\x3c\xb2\xd6\xcb\xa7\xbc\x27\x4a\x67\x5b\x83\x6f\x58\xe5\x50\x00\x2c\x76\x42\x0b\xef\x2a\x39\xbe\x1d\xd4\x5e\x8c\x82\xae\x12\xc0\x2a\x08\xba\x6c\xd8\x48\x5c\x65\x06\xbb\xb3\x50\x73\x85\x91\x0c\xab\x8c\xe4\x13\xd7\x43\xee\x18\x1d\x56\xe0\xad\x1f\xdc\xae\x7a\x0f\xbb\xa1\x9a\x0b\x78\x0d\xe4\x5a\xef\xac\x83\xc7\x53\x66\x89\x3b\xce\x7a\xab\x67\xa8\xf1\x00\xea\xd7\xd4\xdf\xa7\x7d\x4a\x41\xed\x6a\x7f\xba\x5b\x1d\x2c\xbb\x64\x35\xc3\x22\xff\xae\xf9\xd7\x00\x0a\x15\xec\xe7\x05\x32\xe1\x5c\x40\x90\x1f\x66\x5f\x43\x61\xdf\x33\xe2\x12\x38\x8f\x97\xa9\x07\x54\xa7\xd1\x98\xc3\xee\x60\x09\x1b\xf2\x3d\xf4\xf0\x76\x8f\x47\x0d\xc7\xb9\x5e\xeb\xca\x8f\xd3\x18\xc6\x06\x79\x0a\xa8\xf2\x1c\xe6\xc3\xd2\x7c\x2a\x9b\x32\x9e\x92\x93\x8e\x01\xae\xef\xb4\xea\x46\xac\x81\x73\xe9\xb8\x47\xf5\xfb\x76\xe2\x42\xff\xea\xf7\x7d\x9c\x24\xb4\x88\xa5\x5b\x20\xcd\x44\xe0\xd5\x2a\xd2\x4f\x3b\xe6\x42\xe6\x95\x02\xaa\xbd\x9f\xb9\x37\xb4\x9e\xb9\xa2\x31\x5d\x42\x75\xc0\x02\x83\x8d\x69\x51\x72\xc4\xdd\x75\x8b\x29\xab\xee\xfa\x67\x7f\xff\x6b\x3f\x2c\x94\xc4\xa0\xbf\x3f\x3f\xbe\x08\x8b\x0c\xaf\xc6\xed\xb2\xe8\x05\x8b\x36\xfe\x31\x2e\x06\x46\x65\x3a\x5e\xcd\x64\x88\x76\x14\xf0\xa7\x91\xf3\x6c\xfd\x6e\xbc\x9a\x85\x93\x59\xfc\x38\x8e\x86\x27\xf7\xbf\xfa\xcb\x37\x5f\xb3\x5e\xaf\xc7\xce\xfe\xfe\x57\x1b\x76\x14\x29\x5e\x5f\xf8\xb0\xe5\x6a\x09\xbe\x01\x20\x14\xfd\xf0\xe6\xe5\x8b\xae\x22\x06\x2c\xd5\x83\x54\x02\x55\x02\x21\xe4\x27\xdf\xa8\xe3\xc2\x0b\xb4\xd1\x72\x53\x09\xe8\x52\x4c\x62\x9e\x80\x27\x89\xf9\x31\x8e\x99\x90\x45\xc7\xdf\x92\x7a\xdd\xda\xbf\xfd\xfe\x22\x2e\xc4\xb7\xab\x38\x89\xbe\x27\xef\xb6\xb6\xb7\x5b\xbb\xc6\x09\xad\x13\xc2\xe9\x06\x8e\x86\x1d\x5a\x82\x12\xef\xb1\xf2\x36\x5f\x08\xb9\xe4\x13\xf1\x24\xe2\xcb\x42\x44\x4f\x15\x1f\xaf\x3f\xa8\x0c\x9a\x10\x22\x13\xb5\xab\xce\x8b\xdb\x2e\xbb\x9a\xae\x8a\x55\x2e\x7e\xe2\xce\xf1\x30\x30\x4d\xb7\x35\xb5\x87\x5c\x55\xea\x9d\x4a\x5f\x4a\x1a\xf2\xc7\xe9\x80\x30\x93\x63\x3e\xd7\xb3\xde\xee\xd0\xc0\x3b\xbe\xf1\x04\x78\xd5\xe1\x4e\x8a\x71\x51\x0a\xe7\x7d\xba\x27\x9e\x37\x8d\x8b\xe6\x9a\x39\xc6\x41\x86\xbb\xd1\x3b\x24\x07\x61\x10\x7e\x5e\x0d\x99\x6b\xca\x01\x08\xe2\x3b\x66\x00\x54\xbd\x83\x73\x07\x5f\x2e\xf3\x6c\x99\xc7\x10\xca\x2d\xc1\x69\xda\x60\x15\x63\xbd\x4b\x9e\xc4\x1c\x55\xdb\x48\x8a\x3a\x90\x35\x16\x92\x65\x53\xc7\xa7\xaf\x94\x48\xe3\x67\xb1\x14\x18\x72\x8b\xbf\x8d\xb6\x5d\xc5\xab\xa4\x10\x7a\x04\x2c\x12\x8b\x0c\xd3\x9f\x86\xec\x5b\x21\xa1\xb2\x97\x89\x3a\x84\xe8\x32\x05\x9e\x74\xfa\x0a\x3d\x2f\xb4\xc9\x0a\xb6\xae\x8c\xbb\xf5\x42\x74\xf5\x60\x20\x48\x2e\x63\x71\x1a\x17\x31\xd4\x54\x23\x9f\x42\x2c\x3f\x64\xa6\xcf\x26\xfc\x3b\x34\x93\xa2\x12\x57\x8f\x8e\x06\x4a\xfc\x56\x8b\x36\x07\x87\x30\x08\x9c\xd6\x91\xc3\x66\x3e\x79\x92\xa5\x33\x3c\x53\x1c\x87\x24\xac\xf4\xcd\x46\xf4\x8b\x9a\x25\x25\x21\xc3\xc0\xb5\x5b\x16\x40\x45\x27\xec\xb9\x90\xb4\x2e\x93\x2c\x57\x93\xad\x2e\xe7\x13\x11\x89\x74\x22\x06\x80\xf7\x52\xdd\x1e\x10\xef\x65\x2e\x8a\x62\xb3\xcc\x63\x4c\x11\x7b\xe4\xf8\xc7\x60\xf4\x92\xe2\x9d\x27\x6c\xc8\xda\x11\x2f\x38\xfb\xc8\xc0\x2e\xfe\xed\x66\x10\x28\x82\x0e\x3a\xd6\xe5\x43\xcd\x0c\x66\x59\x2b\x27\x45\xb4\xee\x6c\x5f\x1d\x5f\x2b\x2f\xab\x9a\x94\xeb\xa6\x45\x6c\xca\x09\xe0\x78\x17\x5d\x2b\x91\xa1\x9f\xc5\xb0\xea\x90\xd2\x90\xc0\xf0\xb6\x3c\x50\x4a\xa9\x0b\xcf\x03\x1e\x74\x59\x30\x0e\x2e\x14\x84\x89\xfa\x3d\x0a\x2e\xac\x8b\x87\xf6\xf0\xf0\xf2\xfd\x5d\xcb\xe1\x49\x7f\x9c\xc3\x8e\x54\xf3\x91\x8a\xfc\x85\xea\x3e\x4e\x99\x42\xc3\x89\x6c\xcb\x56\x85\xc8\x9f\xab\x09\x53\xf7\x14\x98\xb9\x96\xef\x6e\xe4\x00\x32\x71\xbc\x06\xa2\x03\x09\x9e\x35\x41\x32\xe1\x70\x44\xb3\xb4\xa2\xd0\xb4\x05\x89\xfe\xce\xd9\xd5\x95\x45\x66\xbb\x65\x17\xea\x89\x05\xaa\x9e\xb0\x21\xbb\xba\x02\x24\xb6\xdb\x07\x5e\x29\xd5\x26\x47\x25\xff\xe9\x2d\xe6\x09\x04\x7e\xc9\x60\x94\xc6\x1b\xa2\x39\xc3\x9d\x12\xd1\x84\xf5\xb9\x37\x27\xa6\x63\xeb\x0b\xdd\x29\x71\xac\xeb\x95\xec\x73\x52\x1b\x03\x6b\x73\xe2\x9d\xb3\x63\x35\x73\xc7\x30\x59\xfc\xc1\x8e\x9c\x7f\x08\xe7\x64\x37\x9c\x13\x80\x33\xde\x0f\xe7\xb4\x11\xce\x89\xc5\x67\xb2\x1f\xce\xfd\xdd\x70\x10\x9f\xe8\xc1\xf5\x6a\xc3\x6a\x09\x39\xf6\x64\xe2\x74\x66\xfe\x6a\xab\xb5\x72\xec\x0e\x5f\x81\x50\x5b\x35\x14\x34\x88\xc9\xcb\x5c\x54\x85\x5b\xcf\xa8\xe0\x05\xbd\x78\x5a\x44\xf5\x32\x44\xe4\x6a\x85\x92\x3b\xdb\x03\x4b\xf8\xbd\xca\xd2\x6f\xe3\x34\xe2\xe3\x44\xd4\x48\x27\x0e\x0b\x3f\x39\xb6\x2e\xc9\xf5\xf2\x8a\x03\xca\x15\x5b\x0a\x91\x24\x52\x7b\xe5\x9b\x3c\xc2\x74\xc1\xca\x72\x4a\x46\xe0\x08\xb9\x26\x3a\x0b\x05\x18\xd5\x83\x13\x91\x6d\x83\x22\x56\x12\x32\x13\xc7\xd3\xca\x7d\x0a\x74\x5b\x6b\xa8\xc5\xbb\x5c\x0a\x0e\x69\x86\xd9\x58\x18\x24\x1c\xc5\x0c\xa5\x26\xa6\xc4\x8c\x12\xd2\x30\xa3\x82\x87\xb6\xec\x58\x90\xde\x13\x6a\x83\x12\x04\x42\x62\xa2\xbf\x00\x74\xb9\x14\x0a\x19\x7b\xd4\x33\x19\x53\x0a\x0c\xd5\x05\x39\x28\x49\x26\xd3\x78\xb9\x14\x38\xce\x09\xe4\xf2\x56\x47\x36\x96\x23\x9f\x54\xf3\xae\xe1\x41\x79\xa7\x94\xa4\x4c\xe7\x60\xd0\x87\x5c\x81\xf7\x87\x5c\xb0\x62\x9d\xb1\x24\xd3\xc9\x18\xb0\xfa\xb8\x42\x05\x3e\x83\x7c\xe2\xcb\x0c\xf3\xd1\x99\x8c\xd9\xed\xd1\xd5\xd5\x76\x3b\xea\xa8\x59\x5d\xa2\x1b\x00\x38\x84\xab\xc9\x00\xfd\x62\xaa\xa3\xda\x22\x92\x5a\xbc\xb5\x8e\x25\x38\x6c\x81\x10\x53\xe7\xe7\x5b\xc9\xcf\xb3\x37\x55\x3f\x9c\x21\x8f\xb0\xc8\xed\x80\x5d\x5d\x9d\xb0\x7b\xec\x74\xbb\xf5\x9d\x4c\xcd\x41\x93\x66\x69\x6f\x4c\xd8\x3c\x7a\x8e\x8b\xd5\xd4\xaa\x54\xa3\xfe\xb6\xf2\xbe\xba\x28\xdc\x24\x63\x29\xa0\xda\x9c\x10\xf4\xfe\x0e\x0e\xe8\x9d\x07\x51\xfc\x5e\x41\x49\xb8\x2c\xda\xb5\x05\xb2\xfb\x27\xec\xed\x3d\x76\xda\xaf\x4b\xc5\xea\x39\x83\xd5\xf1\x42\x67\xd5\x1b\x59\x62\xd9\xea\xea\x30\x48\xc5\x42\xd8\xa1\x8c\xe9\xa7\x64\x95\x83\x34\x5e\x0a\xeb\x6a\x8a\xea\x1a\x39\x4d\x46\x18\xe3\xe0\xf0\x20\xc5\x0b\xcc\x06\x5c\x08\x29\xf9\x0c\x2b\x05\x67\x79\x44\x91\x12\x90\x38\x12\x76\x4e\x12\xff\x03\xf7\x47\xbe\x4a\x30\x9f\x8d\x62\x71\x52\xe0\xdf\xb0\xc9\xc6\xab\x34\x4a\x28\xb5\x0a\xb3\x49\x5e\x30\x8d\x3b\x99\x34\x28\xa7\x49\x84\x49\x14\xda\x52\x94\xee\x28\xf1\xc9\xd7\xa9\x61\x49\xea\x8f\x2d\x8b\xc4\x7b\x7c\xd9\x09\xd9\x7f\x64\x2b\xc5\xcc\xa6\xf1\x4c\x89\xfa\xce\xe8\xfc\xf9\x1a\x6f\x74\x2d\x4c\xad\x08\x5b\xf0\xe5\x12\x79\x99\x28\xd6\x02\x7b\x3f\x5f\x42\x6b\x36\xe1\x85\x98\x65\x79\x2c\xa4\x89\x18\x5a\xa5\x31\x04\x2e\x65\xf9\xac\x9f\x8b\x65\x26\xfb\x93\x24\xca\x7b\xc5\x62\xd9\x2f\xf2\x55\x7a\xd9\x8f\xe2\xe9\xb4\x2f\x57\xcb\x25\xd2\x1b\x4f\xfa\x89\x1a\x31\x9f\x89\x77\x08\xf5\x1d\xce\x93\xda\xc2\x26\x6a\x09\x54\x51\x98\xc1\x97\x98\x2f\x4d\xbf\xf5\x1e\xf9\x9c\xfd\x54\x46\x8a\x8a\xa0\x63\x85\x65\x96\xae\x16\x63\x91\xe3\xac\xd3\x22\x58\x1e\xf7\x87\x8f\x2a\x4e\x9d\xd0\x32\x5d\x18\xc0\x21\x1a\x31\x60\xad\x2c\x15\x2d\x18\x43\x0b\xb4\x73\x2d\x3d\xd4\x5f\xe7\x8a\xcf\x70\xe6\xe3\x8b\xe1\x58\x0b\xb5\x2f\xd9\x82\xa7\x1b\x1a\xb0\x84\x5a\xc3\x36\xc2\x2a\x4e\xbd\x6e\xba\x1a\x38\xd0\x19\xb4\xc6\x49\xd7\xed\x75\x61\x6b\x38\x6b\x4f\x3a\x5d\xd2\x10\x54\xe6\x14\xda\xc3\x4d\x1f\x51\x50\x5c\x1e\x5f\x87\x7e\x88\x97\xce\x78\x55\x07\x43\x61\xda\xba\xdf\x42\x10\x94\x7c\x86\xde\xdf\x0f\x9d\x15\x23\x60\x70\xe8\x55\x56\x4d\x13\x4d\xed\xca\xb3\x62\x9e\x67\xab\x19\x84\xaf\x60\xd8\xb5\x2c\x4c\xce\x1e\x2f\xb1\xbf\x25\xac\xa7\xb4\x6f\xd0\x1a\xe5\xb1\x92\xe6\x6d\x35\xde\x50\xae\x1a\xd5\xea\xd4\x29\xa0\x30\x60\x23\x28\x66\x41\x89\xc3\xd6\x73\x91\x62\x28\xd3\x7f\x50\x8a\x1b\xb0\xdf\xd9\x3c\x37\x0c\x3d\xf0\x78\x62\x61\x74\xd9\x28\x9b\x4e\xa5\x28\x46\x6e\xb4\x18\xde\x8c\x48\xdc\x31\x7d\x98\xd8\x1d\xe2\x23\x14\x67\x69\x62\xb6\xb2\x5c\xf5\xd1\x70\x3b\xbe\x63\xb3\xc7\xba\x49\x5d\x1e\xa8\x2e\x24\x2d\x05\x69\x8e\xa2\xb2\xb7\x18\x1a\x64\x41\x18\x29\x24\x1b\x67\xab\x34\xf2\x63\x77\x40\xd0\x83\xe1\x3b\x58\x22\xf7\x89\x69\xed\xcb\xcc\xa7\xba\xd8\x86\x3d\xf0\x49\xb1\xe2\x10\x68\x45\x03\x2b\xf3\x89\xea\x1c\x39\xbd\x1a\xe9\x8c\xb3\xbf\x9d\xbd\x7e\xe5\x78\x41\x69\x4c\xa7\x59\x92\x64\x6b\xb0\xb6\x91\x90\x24\xe7\xd9\x5a\xb2\x79\xb6\x46\x11\xb4\x86\x08\x06\x3a\x7d\xdc\x68\x84\x81\x09\x47\xec\x61\x3a\xeb\x2d\x0d\x91\x60\xe1\x93\xd6\x52\xe4\x32\x4b\xc1\xe8\xd3\xaa\xd8\x70\x40\x73\x3f\x6c\x5d\x05\xc7\xc1\x80\x05\xaf\xb2\x71\x16\x6d\xd4\x7e\x7c\x1f\x0b\x85\x4e\x18\xd4\x46\xdb\xc1\x4f\x90\xa5\x42\x35\x3a\x61\xd8\xc3\xc1\xcd\x14\x89\xa8\x86\x57\x5b\xb6\x14\x99\x1a\xac\x5a\x6a\xd3\x74\xdb\x22\xf5\x8c\x3b\x18\xf5\x68\x34\x1a\xd9\xc0\x57\x8c\xe5\xd2\x81\x9d\xad\xe3\x01\xab\x22\xdf\xc2\xc3\xb5\x9e\xa5\x84\x5a\xd7\x15\xc5\x11\x2a\xc1\x8f\x4c\xa5\x66\xd8\xaf\xea\xa3\x2e\x3b\x26\xeb\xe9\x58\x10\xdf\x30\x91\xd2\x96\xb5\x11\x87\x04\x66\x7a\x5c\x33\xa6\x96\x82\x6d\xc0\xa8\x95\x4d\x41\x86\x16\x3c\x52\xd4\xd2\xaa\x60\xde\x0a\xcd\x7e\xd5\x28\x35\x31\xc6\x29\x7a\x0d\xa2\x85\x85\x98\x32\x4a\xe9\x9a\x92\x4e\x4e\xbb\xc6\x9a\xe3\xf4\xaa\xd0\x50\x04\xd7\x3a\x39\xad\x43\xd9\x24\xc5\x22\xd5\xe5\x9a\xb5\x38\x8b\xb2\x7f\xa8\x6d\x52\xfd\x5a\xd3\xb2\xc6\x7a\x05\x29\x11\xa5\x00\xee\x37\x49\x32\xa9\xae\x24\x39\x9f\x08\xa9\x04\x78\x25\xbe\x73\xc8\xf0\x68\x53\x55\x62\x4c\x9a\xe5\xc8\x80\x2e\xc4\x72\x72\xb5\xdd\x57\x63\x59\xc4\xc5\x8a\x7c\x6f\x21\x2a\xd6\xd0\x46\xa4\x4f\xef\x50\x13\x86\x76\xf4\xb1\x14\xa2\xf9\x8c\x67\x3e\x53\x98\x80\x58\x04\xf4\xa6\x93\x19\x79\x22\xfa\xe8\xea\xca\xd9\x3f\xdb\xed\x88\x94\x32\xb8\xe1\xfd\x91\x01\xb8\xb8\x34\xae\x3b\x54\xc0\xa5\x1e\xfc\xd5\x15\x0e\xd7\xd1\x13\x6e\x75\x0f\xfb\x4e\x08\x14\xe8\x90\x55\x1b\x8e\x47\x9c\xdb\xe1\x3e\xa4\x8a\xd7\x91\xd4\x98\x98\x55\x4b\x8d\xe6\x84\x83\x69\x2c\xc4\x07\xe3\x33\xa0\x56\x31\x17\x52\x09\x0e\x31\xd5\x93\x1f\x8b\xa2\x10\xb9\x5a\x5b\xe0\xd7\x22\x8f\x85\xba\x04\xfa\x07\xb0\x43\x61\xc0\x63\x51\x7e\x65\xad\x2f\x6b\xc8\xc6\x3f\x17\x5b\x5d\x13\xb1\x0f\x79\x48\x88\xb9\xb2\xd6\xdf\xb2\x79\xda\x65\x3f\xa2\x01\x21\x62\xa7\x48\xec\x72\x07\xa4\xd0\x18\x07\x60\x3a\xaa\xb3\x41\x86\x09\xfd\x5a\x13\xdd\x78\x03\xb2\x49\x24\x64\x9c\x0b\xe7\x40\x61\x2f\x44\x11\x48\x56\xf0\x4b\x45\xd6\x49\x96\x5d\x32\x75\x61\x37\x79\xf9\x6e\xc2\x8a\xa9\xf3\xe1\x69\x95\x53\x7e\x02\x4f\x3e\x01\xc6\x4a\x34\x7b\xb2\xdd\x1e\xda\xee\xb4\xdc\x4e\xcd\xb4\xfe\xfb\x54\xfd\xed\xb2\xe8\xfd\x87\x82\x03\xaa\xeb\xc3\x49\x23\x90\xde\x90\x61\xd1\xc9\x71\x30\x70\x73\x74\xec\x02\x7f\xb5\x35\xd0\xaf\x71\xba\x30\x7b\xbc\xbc\xca\x8a\x78\x62\xbc\x98\xa0\xbd\x2c\x14\xe3\xa0\x2c\x8d\xeb\xac\x2a\x2a\xb4\xc1\x19\x05\xfa\xa5\x0a\x59\x6b\xca\x65\x08\x36\x9b\x79\x2e\x44\x83\xcc\x78\xdc\x65\x27\x48\xd8\x21\xca\xdf\x22\x85\x19\xc2\x41\x75\xd5\xbf\x73\xbe\x94\x0c\xb7\x81\x1a\x08\x15\xfc\x22\x6a\xef\xe2\x0e\x71\x8f\x0f\x93\x38\x11\xce\x1a\x0b\x16\xd1\xa0\x69\x51\x1f\x97\x00\xa5\x59\xfd\x21\x03\xa6\x9a\x55\x1a\xa9\x83\x04\x05\x60\xbd\x75\xb2\x29\x3b\x85\x04\x7a\xfc\x12\xbc\xc0\xa6\xec\x3e\x66\x83\xd4\x0c\x77\x25\x85\x64\x27\x6a\xb3\x45\x62\x12\x47\xa8\x7f\x2a\xdd\x2d\x42\x57\x4b\x84\x36\xb3\xf2\xed\x03\xe8\x4a\x75\xa4\x0f\x61\x38\x6c\x71\x4a\x5e\x72\x3a\x7c\x77\xd1\x15\x9c\xc1\xb1\xb4\x33\x72\xa7\x9a\xf7\x55\x71\x05\x7d\xde\xe2\xf8\x24\x1e\x83\x8b\x95\x2c\x8c\xd0\x5c\xbf\x8a\x74\x0e\xeb\x6b\x11\xe4\x26\x39\x66\xab\x25\xa6\x64\xd0\x39\x5b\xf4\xbd\x17\xa1\x1b\x11\x04\x8e\x4b\x77\x4e\xef\x7b\x47\xb8\x65\x8c\x07\xe1\x01\x14\xd5\x55\xd7\x82\x34\x52\x37\x9b\xff\xd0\x2d\x3d\xd9\x9f\x66\x58\x5f\x7c\x09\xff\xaa\x08\xdc\x78\x51\xf4\x33\x19\x7c\x74\xad\x62\x58\x86\x0f\x45\x62\xca\xa8\x8a\x02\x33\x0a\xea\x45\x56\x93\x5d\x61\x8b\x6b\xf0\xc6\x0a\xe6\x0d\x72\x39\xb8\x1c\x28\xa9\x1f\x2c\x87\x72\x99\xa1\x62\x50\xcb\x00\x2e\x64\x9c\x99\xe1\x56\xcf\xec\x6b\xfc\x07\x88\x31\x5a\x4d\x0a\x9b\x13\xb2\xc8\x0a\x9e\xe8\x2b\xe5\x2e\xb5\xa0\x31\xd1\x19\xe6\x51\xb2\xd3\x1d\xa0\x30\x2c\xd7\x1c\xab\x9a\xec\xca\xc0\x2b\x85\xc7\x6e\xb5\xf4\x98\xb1\xe0\x11\x53\x65\x43\x16\x3c\x9f\x65\x79\xa5\x8e\x97\xf7\xd9\xa9\xfa\xec\x65\x2c\x2f\xcb\x85\xc8\x4a\xdf\x3d\xa5\xda\x8c\x27\x25\xf7\xb5\x0b\x47\x4f\x58\x2e\xfd\x75\xed\x04\x08\x8c\xb1\x9f\x70\xcf\x9f\x0c\x76\xd6\xf3\xa2\x21\x9a\xd2\x5c\x6a\x9c\xe5\x84\x97\x0e\xb4\xd3\x43\xa0\x9d\x1a\x68\x30\x1d\x75\xe0\x5e\xe1\x1e\xcd\xa6\xec\x27\xe0\xbe\x87\x80\x25\x39\x81\x40\x9f\x58\xb0\xae\xcd\xf1\xb3\x5e\xaf\xc7\x68\x62\x50\x22\x24\xf5\xb9\x26\x21\x47\x3d\x88\x3c\x25\x25\xe5\x0c\xeb\xf5\x7a\x2e\x8a\xbf\x52\xde\x0d\xdc\x24\x03\xb7\x93\xeb\x5f\x2b\xe9\xe7\x00\x49\x66\xf7\xcf\xbe\x4b\xe6\xbe\xd6\x87\xdc\x35\xed\x38\x7d\xa1\xe0\xe1\x38\xdf\x37\xd7\xc4\x57\x6a\x66\x92\xa6\xb1\x7d\xda\xb9\xd6\x4c\x3a\x52\xe1\x3f\x6d\x4a\xf7\xc9\x88\x7b\x9a\x5f\x5b\x54\xdc\x03\xef\x56\x24\xc6\x7d\x7d\xdc\x92\xe0\x68\x7e\x2a\xf2\xa3\x79\x7e\xbb\x06\x1c\xd7\x82\x03\xb7\x70\xe3\x2e\x53\xbe\xfd\x36\x9a\x72\xc0\x36\x4f\x49\x75\xe8\x00\xac\x37\xd0\xbb\x23\xb2\x21\xb9\xe5\xd0\x0d\x05\xe9\xda\x60\x4e\x2a\x60\x80\xf6\x9f\x03\x0f\xac\x8b\xc2\x77\xf6\x84\x1b\x4f\xcf\xac\x49\xc9\x1b\x91\x6f\x3e\x7a\xf6\xfb\x8a\x27\xed\x7a\x9e\xe1\x21\xe2\x80\xda\x01\x47\x1d\x11\x65\x18\x0e\x10\x3b\x92\x70\x92\x08\x9e\xfb\x7e\x8c\xce\x5b\x29\xd2\xe8\x47\xb1\x91\xed\xe0\x38\xb8\xe1\x90\x6a\xf6\xfb\x0d\x06\x54\x0f\xe5\xd3\x86\x74\x7a\xd3\x21\xd5\x69\x9f\x6e\xbe\x4c\x6a\x1b\xc3\x21\x5c\x01\xf7\x69\xc3\xbb\x7f\xd3\xe1\xdd\xbf\xcd\xe1\x75\xf5\xd8\xf6\xb2\xc4\x4f\x1e\xf0\x97\x37\x1d\x70\x9d\xa2\xe7\x56\x06\x7c\xba\x83\x39\xd7\xd5\x9f\xac\x61\x9e\x50\x84\x1a\xef\x20\xe0\xff\xbb\x9f\x67\xde\x02\xa7\xf3\xa5\xe0\xfd\xac\xae\xae\xf5\xc9\x8e\x96\x27\x8d\xad\x4e\x77\xb4\x3a\x2d\xb5\x72\xb0\xa8\xa3\x11\xf7\x75\x89\x48\xca\x1f\x9d\x34\xb7\x3f\x71\xda\x7e\x17\xd7\x35\x3e\x6d\x6e\x7c\xea\x34\xfe\x7b\xf6\x5b\xc1\x6f\x42\x54\xdf\xc5\x5d\x06\x8d\x6f\x46\x52\x7b\xdd\x0e\x8c\x76\xb6\x14\x9b\x80\x22\x37\xc4\x9e\x5b\xbf\x16\xff\x6a\xa6\x4d\xa6\xee\x07\x48\x94\x0a\xf4\xb7\x3f\x3f\x79\xfa\x8c\x0d\x59\xff\x6a\xdb\x9f\x69\x81\xe7\xf9\xd9\xbb\x5f\x7f\x78\xf6\x4a\x3d\xfe\x4f\x25\x17\xb6\x5f\xc6\xe9\x4a\x76\x1e\xb7\xc3\x7b\x9d\xbb\x7d\xd8\xbf\x8d\xd1\xe8\x3a\xd8\xa1\x3e\x70\x61\x47\xc0\xb8\xd1\x58\xeb\xa0\x6e\xe0\x1f\xae\x0c\xa6\x50\x71\xde\x63\x3a\x6c\xb8\xdd\x7f\xf1\x85\xdd\x48\x45\x91\xb7\x4b\xef\x3b\x5d\xd6\xef\xb3\xb5\x40\xa7\xa4\xab\x2b\x25\x9b\xa6\xe8\x5e\xe6\x80\xcf\xf4\x9e\xc4\xf8\x73\xfc\xeb\xe3\x47\x3f\xe0\x5b\x81\x93\x36\x0e\x12\x5c\xd1\x08\xaf\x8e\xfa\xf8\x6a\x5b\xf9\xfa\xd9\x87\xe5\xf7\xd0\xc6\x7f\x27\x0b\x9e\x17\x67\x9b\xc5\x38\x4b\xd0\xef\xd3\xac\x4e\xe8\xbc\x6a\x77\xdc\x36\x22\x8d\xea\x5b\x98\x17\xfe\xf7\x60\x41\xf8\x19\xcd\x12\x14\x58\xe6\x76\x7b\xcf\x99\xf4\x7b\x2c\xe8\x05\xec\x9e\x9e\x85\x7b\xb6\x2f\x6f\x40\xbc\x98\xcc\x7f\x86\xa0\xc3\x5c\xcd\x54\x25\x47\x00\xfe\x24\x5c\x16\xb0\xa9\x0d\xaf\x9f\x66\xf9\x33\x3e\x99\xb7\x31\x5c\xc5\x26\x10\x30\xda\x9d\xae\xd5\xa6\xbf\xe2\x8b\x4a\x14\x7e\xb1\x58\x82\xf7\x0e\x1b\x6a\xea\x0c\xc5\x07\x31\x69\xfb\x8d\x1c\x16\x3d\x65\x6d\xdd\xa6\x86\x05\xcf\x45\xfa\xa3\xd8\xb0\xa1\xfd\xe8\xfc\xe4\x82\x3d\x86\x39\x18\xb0\x20\xe8\xb0\x7b\x2c\xc9\xd6\x22\x9f\x70\x29\xec\x37\xa7\x17\x1e\x6f\x80\xe5\x3d\x27\x60\x17\x2e\x37\xf7\x89\xf0\xdc\xc3\xd2\x85\xa1\xe3\xbf\x2c\x2b\xd0\x13\x05\xb0\x1b\x66\xea\x52\x6c\xdc\x31\x39\x54\x76\x7e\x89\x88\xb8\xc4\xe1\x34\x0d\xc9\x44\xd5\x86\x6d\xdf\xad\xd0\x87\x23\x12\x3b\xb1\x8c\x5e\xe8\xb9\xa1\x18\x2f\xc8\xdc\xf0\x27\x37\xcc\x3c\x15\xeb\xbf\xf3\xa4\x92\x4f\x81\x4e\x2c\x08\x5f\xff\x3e\xc9\x78\xa1\x3f\x7c\x50\xfd\xee\xb9\x7c\xc5\x15\x1f\x8a\xd5\xbf\x6d\x78\xe4\xca\x0f\x98\xd0\xdf\x7e\xf8\xc5\x17\xec\x33\xfc\x4a\x6d\x70\x98\x97\x6a\x90\xd3\xf3\x69\xa3\xd5\x53\x97\xfc\x3a\xe9\xb2\xd3\x2e\xbb\x1f\x86\x21\xd6\xe1\x82\x48\xf7\x2e\x16\xb1\x59\x49\xc1\xe2\x22\xf4\x61\x9a\x2c\xa1\x5d\x72\x88\x8b\x0b\xc6\x67\x3c\x4e\x65\x51\xab\x31\x89\x53\x46\x8c\x99\x49\x91\xbf\x8f\x27\x5e\x4c\xb1\x9e\x22\xfa\x24\x44\x08\x4f\x79\x41\x63\xeb\xd1\x2e\xed\xd4\xc6\xfa\xe0\x10\xc7\x59\x31\xf7\x9d\x36\xcc\xa6\x1c\xc1\x89\xf4\x8a\xbf\x82\xa4\xfe\x11\x64\x2c\xd6\xa9\xfd\x73\xd1\xcb\xc5\x2c\x96\x90\xc3\x17\xb7\x7b\xe8\x41\x4e\xd9\xdf\xce\xd8\x48\x4d\xf6\x67\xc3\xa1\x02\x32\x02\x33\xb0\x66\xae\x45\xc6\xc4\x07\x98\x58\x08\x0a\x16\x93\xcb\xd0\x5b\x2d\x1a\x81\x6a\x6b\xf0\xe9\x38\xeb\x66\xd6\x11\x57\xdc\x7e\x53\x5a\x47\x97\x11\xf9\xa7\x7a\x89\x45\x79\xc4\xeb\xee\x14\xe8\xee\xa2\xcb\x56\xcb\x88\x17\x82\x42\xab\xd4\xc1\xee\x41\x33\x08\xb0\x21\x2e\x4b\xfd\xde\xd5\x9b\x57\xef\x88\x0a\x50\x45\xe3\x00\xdc\xcd\xc7\x46\xdc\xa2\x70\xde\x63\xc2\x93\xb2\x43\xf3\xf5\x92\xc1\x63\x40\xd1\x6e\x4f\x65\x0a\x3a\x72\x23\x4a\x31\x0d\x72\x4c\x55\x12\x4d\xd0\x6a\x96\x4e\xc0\x68\xc4\xe2\x42\x2c\x50\xb3\xcd\xd9\x24\x4b\x12\x01\x43\x0d\x99\x62\x57\xe6\x73\x34\xa3\xa3\x1f\x2f\x9b\x89\x42\x82\x4a\x3d\x5b\xa7\x8c\x24\x00\xf4\xc6\x2d\xe6\x82\xcd\xe2\xf7\xa0\x34\xcc\x96\x56\x9d\x4f\xb9\x7a\xc9\x15\x42\x7b\xe5\xd8\xde\x00\x89\xae\x76\x96\x1a\x61\xb4\xc4\xa8\xd4\x0c\x10\xc5\x08\x83\x2c\x57\xcc\x52\x6b\xde\xcf\xaa\x21\x5a\xe8\x98\xb5\xcc\xa4\xf5\x05\x82\x4d\x47\x9e\x40\xd9\x94\x09\x77\x78\x66\x6c\x5d\x6b\x79\xd1\x56\xda\x8f\xec\xef\x7a\x18\xec\x23\x83\x4c\x4b\xce\xcf\x47\xf6\x9d\x28\x78\x9c\x48\x76\x1b\x3f\x1f\xa1\xc3\x9e\xfd\x71\x7f\x6f\x7a\xf2\x29\x3f\xd8\xa1\x9d\x71\xf6\x91\x5d\xfd\x5b\xa1\xc6\x88\xfc\x73\xab\x9e\xc4\x85\xc8\x79\x91\xe5\x8e\xc5\x09\xdd\xd5\x96\x58\x3e\x4c\xfb\x73\xb7\x8f\x43\xaa\x7f\xd2\x3b\xe9\xec\x1c\x21\x04\x7e\xe5\xb2\x70\x3b\x1c\x67\x59\x22\x78\xba\x65\x1f\x31\x2d\x47\xdc\xd0\x0b\x56\xfe\x96\xa6\x3e\xa5\xc6\x2e\xdc\xd3\xe1\x22\x8e\xa2\x44\x8c\x6e\xd4\xa1\x36\x2d\xd9\xa8\x6b\x48\x84\xce\xeb\xb0\x30\x1d\xaa\xd7\x23\x76\xb3\x11\xd6\x83\xde\x33\x42\xf1\x5e\xa4\x87\x74\x68\xd6\xd3\xd4\xc8\x74\x77\x9c\x82\xc2\xda\xb6\x56\x29\x66\xcb\x0b\xeb\x3a\xcc\xa2\x68\xc4\x3e\xb9\xc3\x2c\x8a\x76\xf7\x07\x1d\xaa\x3e\x9f\xe6\x02\xd3\xbf\x43\xb4\x11\x59\x28\xd0\xfd\xcf\xd9\xfb\xb1\x54\xfd\xc8\x58\x57\x66\x6c\x88\xd4\x84\x48\x3c\x1d\xa6\xb8\x25\x1f\x10\x30\x19\x6f\xd8\x58\xe8\x18\x0c\x75\xb4\xf8\x61\x0c\x5d\x96\x0a\x4c\x75\xa1\xd9\xad\xb4\xce\x37\x9a\x15\xe1\x9a\xa2\x54\x8e\x0e\xa0\x69\xc4\x96\x59\x0c\x91\xce\x47\xec\x4d\xa6\xbf\xe0\x4a\x50\xc0\xa0\x52\x1b\x11\xe5\x78\xc5\x80\x6c\x02\xf6\x7d\x2c\x13\x69\x6e\x5a\x26\xd4\xb4\xcd\x25\x5b\x8b\x04\x4a\x6e\x90\x5f\xd7\xcc\x89\x03\xe9\xe8\x08\x6d\x09\xc5\x3f\xc0\xfa\x79\x87\x8a\x27\xe6\x90\xff\xc4\xdf\xce\xe0\xd6\x02\xa2\x11\xfa\x17\x92\x38\x55\x37\x12\xf5\x25\xfa\x38\x1c\x1d\x99\xa8\xb8\x1e\x7c\x79\x84\x9c\xdc\x7d\x2e\xd2\xe8\xe8\x08\x92\xc7\x20\x66\x58\x26\x00\x0e\xae\xba\xe6\x4e\xb9\xa0\x2c\xbf\x94\x36\x03\x00\x97\xee\xf7\x47\x47\xe4\x3e\x41\x9e\x5a\x30\xa7\x94\xb7\x1e\x6a\x9c\x4c\xb2\x48\xb0\xb6\x6f\x4f\x2f\xf8\x0c\x2b\x59\xea\x62\xa0\x59\x0a\x8e\xd0\x4d\xf6\x77\x9c\x35\x84\xa7\xda\xe2\x61\x57\x1d\x9c\xa2\x3c\x25\x73\x47\x5e\xe1\x04\xb2\x00\x41\xc4\x2f\x44\xb9\x4a\x1d\x74\x0c\x1e\x0c\x53\xc1\x8b\x55\x8e\x61\xac\x8e\x47\x10\x63\x0f\xe7\x82\x47\xb0\x9c\xde\xdc\x0c\x5b\x74\x10\xc2\x81\x28\x75\x88\x2b\x63\x3f\xe0\xe7\x57\x57\x78\x52\x6e\xb7\x04\xa6\x8f\x70\xdc\x50\x58\x8a\x3a\x1c\x67\xd1\xc6\xb6\xff\x36\x8b\x36\x35\xad\x75\x28\x2c\x63\x0f\xa7\x59\x56\x78\x08\x89\x34\x32\xcd\xbf\xc7\x97\x55\x00\xd8\xaa\xe4\x34\xf3\x24\x35\x21\x06\x58\xc6\x5b\xcd\x07\x71\x91\xf3\xe0\x49\xd0\x0d\xbe\x0d\x2e\xb6\xc6\xcd\x0f\x86\xea\xc8\x13\x9e\x47\x27\xe3\xe3\xec\x3d\x7a\x73\xb3\x6c\x55\x2c\x35\x39\x98\x40\xf2\x22\x6b\x9c\xdd\xf2\xec\x3d\xb9\xc9\xa4\x3d\x69\x9c\xab\xf2\xec\x3c\xa9\x99\x94\x46\x5c\xbe\xbd\x09\x2e\xdf\x1e\x8c\xcb\xb7\x3b\x17\x08\x1c\x16\xb1\x2c\x7b\xed\xde\x57\x2b\x63\x78\x10\xb8\x8a\xe8\x4c\x10\x90\xa1\x04\x18\x11\x6c\x18\x27\x49\xc8\x26\x2d\xf8\x07\x36\x4d\xf8\xfb\x2c\x97\xda\xb5\x24\x72\xe2\x0f\xfe\x76\xc6\xda\xea\xb2\x06\x92\xa0\xda\xe7\xa0\x82\xad\x30\x87\x2e\x3b\x3a\xfa\x50\x7d\x6c\x58\xce\xc0\x7f\xde\x69\x28\xae\x72\x74\x84\xb9\x81\x8e\x8e\x58\xcf\xad\xc6\x81\xfb\xab\x54\xb6\x13\xc2\x95\xb3\xdc\x94\x7c\xd6\x1f\xe5\xe2\xbd\xe0\x89\x29\x90\xcb\x19\x46\xb4\x53\x8f\x47\x47\x98\xb0\xce\xe9\xc2\x6d\x5a\x2a\x35\xda\xd4\x07\x82\x54\x7c\x6a\x55\x58\xc0\xaa\xb1\x07\x97\x47\xbf\xf1\x09\x08\x10\x35\xed\xd8\x84\x23\xaf\xe6\x2c\x17\x10\xf1\x6e\x7a\x32\xc2\x75\xa9\x6c\x2b\x7c\x05\x1e\x69\x77\x0e\xac\xd5\x4a\xa1\x94\xc6\xa3\x06\xd7\xe1\x9d\x1f\x02\x4f\x34\xf3\xc6\x2f\xaf\x11\xa7\x11\x54\x89\x4a\x67\xda\x8d\x5d\xa4\xab\x05\x26\x0a\xf1\x2f\x26\x10\xb1\x84\xb4\x3b\xcd\xf2\x05\x27\x7c\x4d\xf5\x19\x4d\x88\x50\x79\x94\x8a\x92\x1c\xb1\x91\xcb\x3c\x6c\xbf\x23\xf6\xff\xfd\x3f\xff\x2f\x31\x74\xf7\xba\xa2\xe6\x04\x5c\x57\xf5\x11\xe1\x5f\x68\xe0\x9a\xe2\x40\xd1\x5b\x0b\x2b\xd0\xc0\x1d\xc3\x19\xdb\x2c\x7e\x6f\x73\x6d\x99\x3b\x8f\x3b\x44\xb7\x7c\x8a\xe3\x20\x3b\x60\x23\x9e\x8c\x57\xc0\xed\x79\x5e\xc4\xb2\x08\xe1\x6f\x39\x0a\xdd\xa1\xb5\x2f\xc5\xa6\xcb\xa8\x36\x62\xe3\xf0\x46\x97\x62\x43\x3a\x03\xf8\x74\xa4\xc3\x30\x78\xba\xf1\xc7\x1a\x47\x22\x2d\xe2\x69\x2c\x72\x69\xdc\x2b\xcb\x23\xd6\x93\x74\xab\x83\x6d\xab\xab\x6e\x97\xf1\x19\x8e\xe3\x2a\xe0\x11\x5f\x04\x83\x93\xe3\x2e\x0b\xf8\x82\x27\xb1\x08\x06\x27\xa7\x5b\x7f\xf4\xf5\x0b\xcb\x8a\x9c\x4f\x2e\x95\x88\x02\xbf\xc4\xe9\xec\x5d\x79\x5a\xf6\x06\xb9\xe8\x96\x46\x01\xa0\xb1\xb6\x4e\xcf\x28\x29\x62\x29\x25\x29\xb3\x49\xac\x13\xdb\x60\xd4\x86\x34\xe9\xdb\xec\x54\x98\xfc\x4a\x4e\xec\xaf\x04\xe7\xbe\x34\x6b\xee\x52\xdd\x85\x29\x1e\x25\xa2\x3c\xc6\x3d\x2d\xef\xe8\x8e\x9d\x0a\xe1\xe3\x0d\xad\x62\xb1\xa9\xa2\x10\xb2\xe7\x85\x8e\x75\x80\xec\x86\x45\x06\x6a\x1e\xdd\xd7\x02\x93\x21\x72\xf4\x2c\xad\xa0\x84\x0a\x25\x99\x25\xef\x85\x57\x07\x4e\x5d\xc9\x59\x1b\x93\xff\x81\x15\x6d\x21\x78\x4a\x79\xa1\xd6\x19\x8b\x20\x43\xdc\xa4\x30\x53\xc3\x73\xdb\x23\x86\xe0\xba\xd0\x9c\xd9\xd1\x5e\xe6\x14\xf9\xa5\xa5\xfb\xb0\xc3\xd8\xf7\xc0\xe2\xa4\x1b\x35\xb3\x5c\x26\xb1\x85\xe5\x28\x58\x75\x67\x94\x02\xcf\x09\x2e\xe4\x76\x90\x8e\x56\xb5\x91\x4c\x3d\x01\x0c\x2f\x4d\xbf\xaf\xe2\xf7\x3c\xa1\x34\xc4\xfe\x07\x96\x12\xef\xc6\x51\x5b\x3d\xea\x8c\x74\xac\xf7\x42\xe1\x2a\x6d\xee\x2c\x97\x24\x0c\xb1\x91\x77\xae\x59\x66\x88\xd7\xc6\x2e\x4a\x4b\xcc\xf3\xdc\x56\xed\xda\x83\x77\x3d\x5a\x4f\xd8\x78\x15\x27\x98\xc2\x45\x3d\xef\x8c\xec\xb2\x57\xe9\x3d\x9e\xa9\x33\x73\x95\xc6\xbf\xaf\xcc\x52\x8e\xee\xde\x9d\x73\x39\xff\x51\x31\x1b\xba\x95\x81\x0f\x26\x28\x5c\x34\x06\x16\x59\x9c\x08\xf3\x21\x72\x95\x14\x3b\x81\xa8\x8f\x4b\xb1\xf1\x76\x57\xd4\x30\x49\xb4\xa9\x7c\x37\xcf\x4a\x7f\xee\xc6\x08\xd9\xcb\xcc\xf0\x2a\xa0\x39\xa4\x4c\xe4\xb6\xea\x63\x22\x63\xca\xc5\x48\x85\xcb\xa1\x3f\x73\x57\x77\x72\x93\xad\xb9\x59\x88\xef\x5e\xbf\xbc\xf6\x32\xa8\x3f\xc3\x38\xa2\xa0\x90\x62\xb3\x8c\x27\x3c\x61\x4b\x5e\x14\x22\x4f\xfd\x93\x1a\x6a\xf0\x0b\x2b\x38\x28\x31\x69\xcc\xa5\x08\xb5\x5f\xb4\xee\x18\x42\xf7\x2d\x3b\xb2\x04\xe3\x24\xa6\x54\xf0\x43\xf6\x66\x9d\xb9\x1b\x13\xea\xa7\xc5\x70\xfe\xbb\xc4\xcd\x25\x83\x7c\x3e\x58\xde\x31\xce\xd9\x28\x8e\xcc\xe1\xe7\x2e\xa2\x9a\x90\x43\x67\xe0\x23\x09\x2a\x03\x29\x78\x3e\x99\x83\xbe\xb4\x61\x56\xf4\x6c\xc0\x86\x31\x05\x68\x0d\x45\x42\xce\x4a\x47\x04\x83\xae\xc1\xff\x57\xf5\x13\xa7\x6a\x54\xbf\x69\x72\xc6\xeb\xc7\xee\x9d\xdf\x7c\xbc\x28\xda\x4c\x62\x2e\xaf\x7f\xaa\x60\xaa\x14\x07\x14\xa5\xdd\x8c\xf1\xda\x9a\x32\x59\x50\x32\x5a\xc3\xfb\x95\x94\xba\x10\x51\x8c\x79\x69\xe5\x2a\xb1\xb9\x24\xcc\xb5\xdd\x16\x67\x9b\x12\x4f\x04\xcd\xfd\x58\x28\xe1\x10\x79\x62\xc8\xde\x20\x55\x25\x14\xb4\xe6\x14\x02\xcc\x45\x1a\x61\x2c\x26\xa9\x30\x28\x16\xc7\x1e\x79\x20\x1f\x53\xe2\x26\xb5\x18\x5e\x72\x3e\x8d\x46\xd7\xa4\x56\x30\xc2\x27\xc5\x05\x49\x01\x67\x0e\x24\x6f\xbb\x36\x65\x7c\x50\xf3\x4d\x23\x1f\xe1\x54\x99\x59\x32\x65\x4c\x2b\x8a\x49\x04\xc2\x25\x1b\xe9\xa6\x88\x1e\x26\x01\x9b\xba\x34\x62\x36\x96\x9d\xb4\x65\x9e\x4d\x84\x84\xe9\xc1\x38\x5d\x67\x58\x55\xa7\x6f\xd2\x1e\xe9\x2b\xa9\xcd\xb9\xe5\x8a\x49\x8a\x46\x49\xca\x9f\xa2\x4f\x89\x4e\xd3\xa1\x99\x9e\x74\xb5\xf8\x45\x66\xc2\x9a\xb0\x88\x01\xba\x36\x0c\xea\x2a\xcc\x99\xa2\x61\xb7\x5e\x5c\xae\x94\x3d\x6b\x9a\xc7\x22\x8d\x24\x1b\xb2\x73\x63\xf2\xb8\x82\x8a\x5f\xc1\xdf\xb2\x79\x1a\x80\xf8\x36\x38\xfd\xaa\xcb\x66\x40\x52\x83\x60\x9c\x6d\xdc\x2a\x61\xfa\x63\x45\xfd\x82\x3e\xbf\x7f\x6c\x3f\x9f\xc5\x79\x52\xf7\x7d\x36\xe7\x69\xca\x35\xfc\xaf\x0f\x68\xb0\xa1\x8f\x4f\xbe\xda\xfb\xf1\x4b\x9e\x6f\x0e\x07\xfd\x93\x28\xc0\x69\x5e\x7d\xfe\xcd\xde\x91\x9e\x89\x31\x97\x45\xcc\xf5\xdc\x7c\x75\xbc\xaf\xc5\xb3\x3c\xbe\x34\x23\xfd\x5f\xfb\xd1\xe1\x45\x1e\x4f\x2e\xa9\xc1\x97\x7b\xc1\x9f\xf1\x05\x4f\x8b\xb9\xee\xe1\x2f\x95\xc9\xa7\x06\x17\x8e\x67\xe9\x73\xed\x65\x41\xeb\x4f\x9a\xfe\xed\x96\xe9\x07\xea\x62\xb6\x51\x67\x87\x75\x61\xf6\xdc\xd6\x91\xbb\xbb\x8e\xeb\xbf\xb7\xdc\xd8\xc7\x61\x8b\x98\x8b\x06\x18\x86\x2d\xe6\xb8\xc5\x3f\x5c\x25\xe5\x74\x59\x3b\xab\xfd\xb1\x87\x49\x6c\x72\xd9\xd1\x87\xc8\x1a\x5a\x6e\x12\x2f\xec\x4d\xf1\x1c\x4d\xd9\x86\xeb\xfc\xee\x70\x1d\x0f\x32\x63\xe7\x57\x57\xa8\xc2\x66\xf7\xd8\xc9\x76\x7b\x61\x26\x06\x4a\x26\x6e\xb7\x6c\x3d\xcf\x14\xbb\x33\x8f\xf9\x4c\x3d\xdd\x40\xce\x9e\x2c\x89\x42\xcf\x3b\x38\x89\x0f\xc7\x3b\x9e\x0e\x5b\x84\x13\xad\x01\x1b\x0e\xd9\x71\x09\xbf\x87\xb2\xc8\xb3\x74\xf6\xe8\x55\x66\x0e\x0c\x88\xc9\x0a\xc3\xf0\x61\x9f\xde\x35\xa2\xf0\xb0\xbf\x4a\xac\x57\xf2\xde\x22\x87\x4d\x75\xec\x1a\x57\xc9\x31\x96\xde\xbc\x5c\x9d\x62\xa3\x3d\x59\x6c\x12\x31\x48\x21\xa9\xb2\x7e\xb1\xe0\xf9\x2c\x4e\xdd\x0a\x6a\xba\x54\xda\x31\xab\x2f\x96\xe6\xcf\xb2\x83\x5d\x12\xa7\xa2\x57\x5b\x17\xaf\xb1\xf7\x71\xf6\xa1\x27\xe3\x7f\xa8\xee\x70\x04\xbd\x71\xb6\xb7\xcb\x10\xf6\xc4\x7b\x93\x7f\xb4\xe6\x35\x16\xc8\x6b\x7e\x7f\x60\x9d\x3c\x35\x22\x9e\xef\xae\x82\x57\xf3\xcd\x2e\xc4\x6b\xeb\xb3\xed\xc0\xf4\x90\x81\x3a\x03\xc9\x96\x7c\x12\x17\x1b\x77\x3d\x17\xfc\x83\x5e\x95\x9a\xba\x73\x0d\x18\xee\xc1\x48\xff\xbb\x1f\xff\x7d\xe5\xf0\x34\xc2\x27\xb5\x08\x7f\xf9\x4f\xa9\x54\x67\x0f\xe5\x92\xe7\xa9\x96\xcb\xda\x41\x85\xcf\x35\x54\x9e\x23\x41\x90\x04\x18\xb8\x5a\x28\xd9\x6d\x4f\xf5\x39\xcd\xb3\xc1\x99\xc2\xa4\xaa\x3b\x39\xae\xd6\xe6\xd2\x5f\xd6\x65\xed\x23\xb7\xcb\xf3\x93\x0b\x88\x5f\xd5\x4c\xf4\xf4\x2b\x87\x71\x06\xbb\x41\x96\x13\xf8\x69\x90\xa7\x17\x0c\x25\x0e\x0d\xf4\xfe\xf1\x61\x40\xeb\x32\x4e\x19\x3c\x8f\x2f\x98\x3e\x4c\x35\xdc\xbf\xec\x81\x5b\x97\x24\xcb\x3f\x53\xfd\x6c\x59\x1e\x5b\x37\xd9\xae\x5a\x74\x1e\x9f\x1c\xd7\x9c\xbf\xad\xba\x42\x71\xee\x1a\xa3\x1f\x8b\xbd\x3b\x80\x70\x4f\xa7\xef\x32\x17\xa0\x89\x15\x94\xff\xbd\xd9\xed\x79\xff\xd2\x3b\xdf\x56\x1c\x8b\x7f\x57\xc3\xb4\x3e\xba\x0b\xee\xbb\x90\xef\x04\x7e\x5a\x93\x34\xec\x40\xba\x82\xf0\x5f\x4d\x57\x5f\x37\x2c\xd5\x75\x68\xe0\xf4\x70\x12\xb8\x86\x67\x30\x5e\x01\x4a\x6e\xc1\xe0\x5b\x57\xaa\x4e\x65\x3d\x82\xe1\x6d\xd7\xd4\x3d\xb0\xce\xc0\xaf\xfe\xfa\xee\xe7\x67\x2f\x5f\xff\xfd\xd9\x77\x6c\xc8\x82\xbb\x77\xed\xdf\x10\x8a\xe9\x76\xf8\x32\x4e\x9f\xe5\x39\x1b\xb2\x05\xfc\xd2\x0e\xf4\x0b\x5a\x1c\xf5\x2d\x12\x8f\x2e\x7d\x50\x76\x05\x06\xa1\x88\x94\xd1\xcf\x8d\x1e\xb9\xab\xeb\x73\x5f\x8a\x8d\xfb\x14\x14\xd7\xa0\x6b\x79\x01\xa4\xaf\xe9\xab\xdf\x67\x6f\x5e\x7f\xf7\xba\xbd\x14\xf9\xb4\x33\xb0\x29\xc3\x25\x24\x95\x80\xc4\x5b\x12\xe8\x3f\x9b\x4e\xd9\xff\xfd\xe5\xf1\x42\xb2\x2c\x67\x27\xbd\x93\xf0\xab\xff\x03\x00\x00\x36\xe7\x25\x2c\x2e\xd8\x10\xf1\xc0\x65\x88\xa7\xac\xed\xe1\xd3\xa1\x66\xde\x43\xd5\xe8\x52\x6c\x1e\x58\xb0\x21\x49\x7e\x43\x1c\xac\xf7\x06\xbd\x43\x86\xac\x4d\x9f\x28\xd1\xac\xe3\x7d\x01\xae\x1d\xde\x07\x6d\x67\x02\x58\x8f\x9d\x74\xfc\x06\xe8\xb8\xc2\x86\xec\xb3\xb6\xd7\x89\xad\xbf\xa3\x40\x52\x9b\x7e\x9f\xfd\x26\xe7\x71\x5a\xb0\x71\x5c\xac\x63\x29\x06\xe8\x50\xe1\x02\xcc\xa2\xc8\x85\x06\x0e\x1f\x1a\xa1\x2f\x4e\x3a\x1e\xd2\x35\xf0\xd4\xc5\xf1\x8e\xae\x62\xa4\x08\x62\x26\x8a\x6f\x93\x6c\x72\x79\x06\x76\x42\x87\x24\xa0\x62\x6d\x29\x47\x28\x3c\x0b\x21\x29\x3a\x15\x72\xae\x02\x7a\x96\x46\xd7\x01\xe3\xfc\xae\x25\xe2\x1e\x3b\x31\xb0\x77\xb8\xb5\x6b\xaf\xf6\xc5\x2a\x29\x62\x93\x86\xfd\xa0\x9a\x6a\x7e\xf2\xbf\xe6\xb2\x6c\x77\xef\x16\xc9\xd8\x7d\x50\xc9\xa2\x6a\x36\xdf\xd3\x52\x9a\x76\x2a\x03\xe0\xfb\xd3\x3b\x7a\xa3\x21\xbe\x0f\x75\x7b\xb7\x00\xad\x7e\xf6\x2c\x8d\x9e\x66\x0b\x72\x12\xd7\xa9\x1b\xc2\x49\xae\xf8\x3e\xbd\x68\x07\x60\xd7\xd5\x2d\x06\x2c\x60\xf7\xdc\x6e\xee\xb1\x80\x39\xbc\x59\x41\x5f\x90\xcf\xb6\xa3\x32\x5b\x60\x12\xc6\xff\x7c\x2b\x8f\xda\xe7\x6f\xe5\xdb\xb3\x8b\x7b\x8f\x3b\x6f\xe5\xbd\x38\x7d\x2b\xef\xd9\x27\xed\xc7\x83\xb7\xf2\x1e\x97\xde\xc3\xce\x63\x7c\x0c\xaa\xb8\xb7\xf2\xde\x78\x53\x7a\xfd\x56\x1e\xdd\xed\x3b\xd2\xca\x94\xb5\x3f\x5b\x94\x7d\xc0\x8b\x79\x9e\xad\x4b\x9c\xac\x1d\xc4\xe2\xc3\x32\xe8\xb2\xd6\x33\xe0\xe8\x22\x2a\xa5\x94\x9f\x66\xf9\x82\x65\x53\x16\xbc\x8b\x0b\xb1\x78\xa7\x1e\xbd\xb3\x86\x92\x77\xe7\x56\x11\xf9\x2e\x8e\xde\x5d\x04\xa0\x3f\x9a\x65\x05\x0b\xae\x8e\xb7\x41\xd8\xf2\x83\x49\x2d\xec\x4e\x45\x2e\x55\xf3\x96\xcc\x95\x88\xb6\x20\xc7\x74\x77\xbd\x72\xe7\xcd\xa9\xf7\x06\xd4\x85\x4f\xec\xdb\xfb\xde\x5b\x40\xef\xdb\x0d\xc6\x4f\xe0\x07\x5f\x5e\x98\x89\xd2\xeb\x94\xcc\xa5\x59\xa0\xf6\xe3\x41\xfb\xad\x3c\x3a\x7f\x7b\xf7\xed\xfa\xe2\x5e\xe7\xe3\xdb\x36\x2e\x19\xfe\xf9\x56\x1e\x75\x4b\x7f\xbf\xed\x74\x6e\x3c\xf9\x71\x44\xd3\x4f\xf3\x1b\xa8\x09\x6e\x98\xeb\xc0\x35\xe2\xa4\x8e\x11\x52\xb1\xf6\xa0\xfd\xee\x52\x6c\xde\x75\xd9\x3b\x60\xe0\xef\x3a\x81\x6b\xd9\xd9\xbd\x2a\xc9\x5c\x96\x3c\x6f\x71\xee\x4a\xa7\x83\x33\xc3\x8a\xb7\xd6\xad\x92\x77\x30\x78\xeb\xe5\x4c\x8e\x5e\x30\x28\x99\xd6\xff\xcf\xf3\xbb\xbc\xf7\x8f\x27\xbd\xff\xeb\xdd\x85\xfe\xed\xb8\xf7\xcd\xbb\x8b\xa3\xbb\x54\xc4\x83\x3e\xef\xb0\x8f\x1f\x1d\xac\xfb\xff\xd9\x4e\x57\x49\xf2\x71\x95\x92\x51\xf6\x63\x31\x8f\xe5\xc7\xb7\x78\xf4\x7c\x7c\x8b\x67\xc0\xc7\xb7\x74\x3a\x7c\x7c\x0b\x87\xc0\xc7\xb7\xc0\xcd\x3f\xbe\x55\x3c\xfe\xe3\xdb\xbb\xe8\x34\xd6\x29\x77\xd5\xd9\xbf\x72\x63\x1e\xc1\x02\xa8\xb5\x43\x85\x35\x4c\xad\x92\x6e\xe2\xf4\x3d\x57\xf7\xf1\x5e\xaf\x87\x89\x42\x20\x55\x1d\x3e\xfb\xdb\x99\xbb\x6e\x9e\xd5\x8e\x2b\xc6\x2b\xf2\xf7\x02\xa3\xe9\xfc\x45\xd2\x98\xd5\xee\x1a\x4b\xe3\x7f\x85\xe3\xbf\xab\x9f\x3c\x8f\xc0\xe9\xdb\xf9\xfb\x89\x3a\x49\xbd\x27\xaf\xc7\xbf\x7d\x9f\xba\x6b\x38\xe7\x72\xfe\x7d\xfa\x22\x9b\xf0\x04\xa2\x77\xee\xc6\xd1\x80\x91\xc5\x6a\xeb\x2d\xa4\xed\xd7\x9b\xaf\x12\x36\x8a\x0d\x83\xe8\xe5\x7e\x6f\xc6\x51\x2e\x33\x54\xc6\xd4\x3d\xe7\x5c\x2b\xbe\xeb\x14\x4f\xa7\x17\xe1\xd8\xc6\x2f\x1c\x87\xf5\x07\x55\xe8\x30\xea\x12\xec\x5a\xa0\x46\xb2\xf1\x20\x6d\x1b\xca\x6d\x1a\x32\x79\x11\xa7\x97\x94\x1e\xe4\xd0\xe2\x9b\xa6\x17\x7f\x6a\x71\x12\x7d\xdc\xfc\xe5\xad\x9f\x22\x92\x34\xab\x85\xfe\xb4\x5d\xd2\xfd\x94\xa7\x11\xa5\xe0\x37\xee\x3c\xb8\xfe\x4e\xdd\xa2\x8d\x67\xdf\x8c\x71\xbe\x4d\xcf\xd2\xeb\xa5\x46\x72\x74\xc9\x6a\x87\x00\xa9\x7f\xbc\xcf\x77\x8b\xa9\x75\x4d\x6a\x45\xd0\xd2\xd2\x96\xe7\xd8\xac\x97\x0b\xc8\x2f\x4c\xd3\x14\x78\x72\x06\xb6\x16\x6b\xba\x30\x6e\x06\x60\x81\x34\xf9\xf3\xf2\x55\x6a\x93\x98\x73\x9c\x40\xf4\x3d\xb9\x14\xda\xb4\xeb\xc4\x1b\x80\x85\xcb\x76\xa2\xbd\x84\xbb\x26\x8f\x26\xd5\x57\x90\xc6\x30\x09\x26\x3b\x9b\xfd\xd2\x3a\xfd\x7a\xc1\x2c\x8c\xf5\x50\xd4\x1d\x50\x06\x21\xf2\x54\xf2\xbf\x10\x5a\xdc\xb3\xe9\xff\x48\x75\x52\xfe\x12\xa6\x78\x60\x9c\x97\x9d\xd7\xee\x97\xbf\x62\x44\x28\x15\x0a\xcc\x7a\xcb\x3c\x2b\xb4\x49\xd5\xd0\x59\x25\x30\x67\xb6\xe2\x79\x64\x62\x8a\xe2\x74\x2e\xf2\x58\x49\x29\x6a\x68\x92\xbd\x8f\xb9\xdb\xc5\x9c\xcb\xd7\xeb\xf4\x27\x32\xb3\x5a\x3c\x41\xb4\xe0\x12\x85\xe7\x97\x5c\x89\x02\x28\xe1\xbd\xe4\xcb\xb6\x7b\xab\xee\xf7\x21\x60\x06\xa1\x9b\xa7\x77\xdd\x60\x9a\xa7\xe6\x40\x6e\xe7\x73\xd9\xad\x6e\x7d\x8a\x02\xb3\x07\x77\x35\x0e\x8f\xee\x80\x28\x8b\x97\xd3\x6d\xe8\xe9\x7e\x95\x45\x50\x0b\xd0\xd6\xb0\xea\xea\x71\xa6\x99\xae\x0a\x09\x42\x7d\x04\x0f\x5c\x1f\x8f\x38\x95\x22\x2f\xb4\xd3\x5d\xa9\x83\x7d\x3f\x8a\xd4\x8c\x75\xce\xf8\x89\x4c\x48\x4a\x86\xbe\xb1\x52\x69\x09\x6e\x2a\x3e\x14\x0a\xe9\xf2\x80\xd4\xfe\x20\xc7\x64\x6f\x11\x94\x4c\x12\x17\x6a\xd1\xfc\x5c\xb4\x05\x2f\x44\x68\x8a\xb3\x8d\x05\x98\xf2\xdd\xbd\x60\xc0\x7a\xe0\xc8\xd0\xaa\xb0\xa0\xad\x82\x96\xea\x0a\x8e\xf5\x54\x50\xc6\xda\xae\xdf\x8b\xda\x65\x72\xd9\x67\xbf\xaf\xfe\xec\x9b\x84\xb5\xa6\xfb\x52\x1b\xc3\xb7\xcb\xc0\xcc\x8b\xef\xd3\x66\x3c\x7e\x14\x1b\x59\x7e\x0b\x57\xbb\xae\x3f\x23\xd6\x4b\x03\xdd\xff\x14\x71\x5e\x95\x03\x91\xe3\x68\xdb\x34\x35\xaf\xf3\xc8\x6a\xd2\xf5\x8f\xe6\x68\x6f\x32\x8c\x31\xab\x14\x95\x35\x62\x5a\xa9\xda\x17\x6a\x0c\xe8\x2d\x14\xf5\x30\x03\xf2\x2b\x02\x96\xe0\xc5\x12\x24\x80\x17\xf1\xa5\x70\xf7\x52\xa5\xd2\xb2\x37\x3d\x8d\xe0\xbd\x29\x66\xc3\xf2\x09\xfa\xf1\x63\x45\xf0\xd8\x5b\x0c\xf1\x60\x80\x9e\x84\x65\x56\x2a\x9e\xd2\x3a\x75\x99\xf8\x00\x2a\x6b\x45\x43\xb2\xcb\x64\x96\x17\x58\xd9\x54\xb1\xf9\x95\x14\x98\x60\x0d\xef\xce\x82\x91\x6b\xaa\x43\x64\x90\x6e\x5e\x01\x2b\xb1\xad\xda\xe9\x39\xbf\xf0\x31\x99\x66\x39\x6b\x03\x4f\x2a\xc4\xe2\x47\xb1\x41\x27\x90\x7a\xd6\xa5\x97\xc6\x71\x94\xf3\x39\x6e\x9b\x80\x40\x64\x23\xfd\x1e\x4e\xe6\x3c\x7f\x52\xb4\x8f\x3b\xec\xb3\x21\x0b\xee\x06\xb5\x85\x32\x3d\x34\xc3\xe5\x4a\xce\x0d\xac\x3d\xf5\x2e\x77\x0c\x37\x54\x53\xe9\x47\x49\x6e\xfd\x3c\x1e\xfe\x16\xf7\xa8\x07\x00\x20\x87\x76\x01\xf8\xbb\x04\x4b\x9b\x32\x20\x99\x76\x19\x9c\x9f\xf1\x43\x6d\xce\x0c\xd4\xc6\xa6\x14\x2c\x38\x54\xdc\x29\xad\x85\x96\x5b\x8e\x1f\x50\x2c\xdf\xc3\x0a\x9e\xf4\xe6\xde\xbd\xf2\x54\x5e\x62\x6c\xb7\xe3\x4b\x09\x65\x4a\xbd\x31\x75\xd8\x63\x02\x3c\x28\xbd\x39\x87\xc7\x25\xfa\x40\x9e\xe6\x02\x81\x58\xeb\x86\xbd\xe5\x6e\x84\xef\xeb\xa4\xd1\x07\x15\x31\xd1\xe5\xe1\xe7\xa6\xf1\x45\x95\x4a\xfa\x7d\xb4\xd0\x9a\x03\x32\xd9\x60\xd9\x38\xe0\x81\x75\x7c\x91\x0d\x59\x03\xf4\x32\x4d\x45\x22\x11\x85\x38\xf4\x6b\xf7\x10\x71\x3e\x63\x43\xec\xb6\xf1\x73\x20\x19\x9a\xe5\xfa\x8f\x89\xd1\xa8\x79\x69\xe8\xa4\x76\x5e\xe2\x29\xac\x4f\x0c\x4a\x1b\x2c\x2d\x29\xa2\x10\x14\x79\x50\xcb\xd8\x3d\x26\x51\x76\x54\x57\x5a\xed\xdd\x5a\x82\xa7\x23\xf1\x4b\xe7\x41\x83\xba\xb1\xbc\x9c\x38\xf1\x5f\x7c\x41\x0a\x48\x4a\x90\xe8\x4d\x2c\xbe\x89\x9b\x27\xac\x5c\xc3\xb6\xe9\x0e\x1e\xad\x96\x42\xd6\xa6\x2b\x6b\x7d\xb7\x5a\x26\x60\xa4\x01\xaf\x36\xee\x78\x81\xe5\x02\x6f\xdb\x4a\x46\x56\x93\xf4\x8b\x14\x2c\xd0\x4a\xac\xc0\x73\x90\xce\x4c\xfa\x52\xf4\xe0\x04\x06\x1d\xb2\x9f\x09\xd6\x80\x5d\x1d\x6f\xbb\xcc\x74\xa5\x5e\x0f\xd8\xd5\x89\xf7\x0c\xa8\x7f\xc0\xae\x4e\xb7\xad\x3a\x44\x5d\x1d\x8d\x95\x0e\x58\xf9\x0a\xcb\x9a\x0e\x21\x14\x07\xc5\x9a\xa5\x42\x1d\x02\xda\x73\xb7\x69\x5b\x34\x91\xe2\x95\xba\xe3\x3b\xfd\xd3\xed\xc0\x28\x57\xba\x28\x68\x3a\x4f\xb6\x87\x6f\x8a\x22\x2f\xdf\xd4\xb6\x4d\x1c\xb9\xdf\xd7\xa5\xbd\x13\x31\x2d\xe0\x5c\xab\x65\x92\xea\xc0\x82\xf1\xd1\x89\xe5\xd2\x57\x99\x32\x6b\x59\x81\x6e\x5c\xda\xdb\x65\x29\x87\x0d\x8d\xce\x1d\xca\xa0\xb6\x1d\x55\x7a\x69\x79\x4c\x39\x6d\x30\xa6\xb7\xcb\x90\x6a\x38\x5f\xf9\x93\xf3\xe3\x8b\x10\x15\x52\xaa\xaf\xa6\x8d\xee\x55\x22\xe6\xa8\x3a\xd2\x81\x32\x1b\x51\x28\x79\x99\x53\xf8\xdc\x92\xe2\xf2\x8c\xff\x49\x97\x2d\x78\x8e\x49\x1a\x24\xf1\xbc\x9a\xe2\xe5\xce\x5d\x4c\xdd\xf8\xa9\xf6\x7f\x5c\xb0\x84\x57\x2f\x13\xfe\x99\xa5\xef\x34\xd6\xce\x6e\x46\xa7\xcf\x52\x73\xaa\x25\xbb\xcf\xb2\xba\xe5\x20\x82\x3d\xb7\x06\xba\x7a\xfa\xda\x2d\x24\x38\x9c\x29\xbc\x1b\x09\x59\xe4\xd9\x66\x87\x94\x80\x29\x74\x34\xdf\xc0\xeb\x2b\xf1\x48\x18\xfd\x52\xe4\x53\x96\x0b\x2e\xb3\x54\xb2\x76\x91\x6f\xa8\xa0\x05\x7f\x9f\xc5\x11\xfb\x7c\xc2\x93\xa4\xf3\x3f\xe1\x90\xd7\xfb\xa8\x96\x87\x94\x4a\xb6\x9b\x93\x20\x6c\xc8\x90\x8b\xb4\xac\xb3\x67\xe8\xf2\xd7\x12\x63\xc8\x8d\x42\xa3\x8b\x6e\x9f\x6b\xe1\xe4\xe9\x58\xc9\x86\xcb\xa0\xe3\x00\x0f\x9d\xf6\x89\x7a\xca\xc5\xe4\xf5\x35\x95\x0d\xbd\xab\x76\xa5\xe8\xbc\xda\x09\x97\xf1\x92\xee\xd6\xb0\x23\x14\x11\x68\x5c\xf5\xe6\x82\xbd\xc7\x13\xf6\x3e\xe6\x0c\x7d\x8c\xcc\x76\x2b\x0b\x19\x59\x0d\x89\x3b\xd8\xe8\x5f\x43\xf5\xcb\x59\x3c\x4e\xe2\x74\x56\xa1\x6b\xb6\x86\x82\x42\x6d\xd3\xee\x8b\x2f\x4c\x43\x77\x5f\x54\x4b\xf2\xab\x35\xf1\x2c\x91\xfa\x20\xff\xcc\x76\x5d\xb7\x09\xfb\x7d\x5f\x62\x25\xad\xf5\x2c\x2b\xc0\xf1\xbf\xcc\x40\x1c\x4e\xa8\x5e\xb7\x9b\xf9\x67\x17\xca\xc2\x77\x19\x96\xa4\x6e\xbb\x8b\xd1\xd9\x23\xf5\x57\xb4\x24\x8e\x65\x94\x86\x55\x06\xe0\x58\xe5\x5d\xd2\xbc\x91\x41\xbe\x46\xd2\xf7\x17\x69\xd7\x49\xed\xcc\xa1\xd1\x76\x5d\xa6\x4a\x1e\x1b\x43\xf8\xa2\x3f\x97\x56\x47\xdc\xae\x68\x9a\xde\xd8\x77\x30\xa3\x74\x6e\xd7\x2d\xa2\x33\x62\x9d\x1c\xa6\x3c\x41\xa8\x41\xc3\x1a\x5a\xbf\x49\xc5\xd5\xc2\x49\xb6\xe8\x03\xe4\xde\x7b\xd9\x43\x5d\x09\xa9\x81\x2a\x6d\xc1\xf4\x9a\x46\x9a\x94\x2b\xd6\x55\x5c\x73\xf5\xba\x8d\x09\x0c\xaa\xdd\xa3\xb1\xda\x35\x53\xdf\xbb\x07\xd9\xa5\x10\x6c\x85\xa0\x2b\x5e\x10\x3a\xc0\x36\xe5\x97\x22\xf2\x29\x24\x4e\xd9\x08\xdc\xd1\x46\x96\x35\xc3\x80\xa8\x6c\x07\xd2\x20\x95\x3a\xcc\x1f\x37\xd3\x34\x00\xd1\xd3\x7d\x0d\xfa\xad\x50\xac\x19\x55\xcd\xa0\x5e\x65\x85\x18\xb0\x5f\xa9\x1a\x37\xf2\x3e\x9d\x59\xa3\x0f\x2a\x1e\xd0\xc2\xe9\x6a\x99\x8e\x0e\xb0\xac\xef\x02\x70\x3f\x64\x6b\x25\x1d\x76\x5d\x46\x7a\x29\xc4\x92\x82\x01\xa6\x22\x17\xe9\xc4\x84\xaa\xfd\xf6\x7b\xe2\x4c\x85\x92\x14\x62\x27\x94\x04\x7d\x9e\xa2\x5a\x59\x00\x3a\x1b\x6f\xbc\xfa\x7b\x18\x77\x44\x69\x64\x7e\xc9\x31\x61\x04\x24\xc7\x31\xb9\x65\x78\x9e\xc7\xef\xeb\x50\x77\x98\x85\x3a\x9c\x12\xcf\x8f\x54\xff\x78\x72\xe7\xde\xab\xc5\x1f\xca\x07\xaa\x37\x19\x5f\xf0\xb5\xbf\x97\x94\xd3\xee\x98\xea\xf2\x26\x92\xf0\xed\xe6\x47\x22\x3f\xa6\x1f\x9e\x7f\xf7\xec\xdd\xd3\x17\x4f\xce\xce\xd8\x90\x05\xe9\xac\x37\x8f\x23\x11\x3c\xf0\x5e\x3f\x7f\xf5\xee\xa7\x9f\x5f\xff\xf5\xe7\x67\x67\x67\x95\x4f\xb5\x2f\x72\xf0\xe0\x90\x8c\x4b\x67\xf3\x6c\xbd\x3b\xdf\x92\xfa\xc2\xcd\xb6\x84\x75\xb8\xb2\x9c\xcd\xa9\xac\xbb\xce\x87\x04\xa1\xf0\x5a\xae\x1d\x73\x27\x2f\x91\x5f\xe1\xcc\x04\xc5\x13\xb5\x9a\x3e\x4c\xae\x39\xac\x25\xe4\xe4\x8a\xc1\x0a\x51\xd8\x67\xa4\x2e\x46\x1b\x3c\xb4\x75\x45\xb5\xc8\x4d\xf9\x31\x0a\x69\x26\x46\xec\xe9\xd9\x19\xba\x99\xb3\x2c\xd5\xc1\x92\xb6\x12\x6d\xc3\xa7\x58\x47\x95\x2e\x49\x77\xbc\xe2\x81\x7f\x3b\x83\xcb\xb7\x14\x05\x55\x1c\xa1\xd0\x15\xf0\x92\x56\xe3\x49\x15\xa1\xb7\x29\x0a\x3d\x65\x9f\xc5\x0b\xc5\xce\x78\x5a\xb0\x69\xc2\x67\x10\xa5\x0f\xd1\x40\x4f\xcf\x7e\x62\x8b\x0c\x8a\x4e\x08\x2e\xa1\x2e\x0a\x1b\xe9\x70\x96\x89\x5c\x86\x13\x29\x81\xcf\x6d\xb2\x55\xce\xe6\xc5\x22\x61\xe0\x36\xeb\x16\xa2\x2c\x25\x7b\x79\x2a\x97\x0c\xfe\xbf\x35\xc9\x00\xdc\xea\x3b\x9f\xf5\x28\x8a\x9e\x4c\x21\x8b\xcd\xdf\xb5\xe9\xa9\xc8\x57\xc5\x7c\x63\x6e\x33\x98\x06\x19\xc2\x4f\x3b\x0c\xf2\xb8\x1f\x99\xf8\x18\xb5\x10\xc3\x16\xb5\x75\xaa\xc8\xef\xeb\x42\x1d\x18\x7e\x0f\xb8\x92\x7b\x3a\xd0\x31\x02\xb4\x4a\x6e\xd9\x7a\x9b\xc6\xe1\x57\x1d\x36\x68\x08\xc9\xd1\x00\xe8\x04\x19\x12\x03\x93\x10\x0f\x14\x96\x0b\xd3\xae\x81\x0a\xbc\xe4\x08\xf0\x14\x92\x36\x98\xd2\x49\x9a\xba\x75\xf1\x62\xca\x3e\x10\x17\x58\xdb\x03\x8c\x1e\x38\xcc\x90\x90\x84\x89\xee\xee\xec\x94\x2e\x82\xaa\x27\x13\xfb\x58\xee\xc1\x7d\x46\x35\x99\xb1\x56\xb2\xee\x4e\x27\xeb\xf9\x9c\xfd\x3a\x07\xab\xa4\x43\x88\x2b\x29\xa2\xc7\x4e\x75\x32\x4a\x06\xb4\xce\xd2\x48\x40\x45\xad\xf5\x7c\xe3\x7e\xaf\x03\xe8\x74\x9e\x92\x3a\xc4\xad\x49\x54\xdf\x5d\x4b\x5f\x4a\xa1\xb8\x2c\x56\x54\xd1\x95\x11\xb9\x8c\x93\x8d\x53\x68\x55\xed\xea\xb9\xe0\xef\x63\x91\x9b\xef\x65\xa9\x98\x96\xcc\x16\xa2\x98\xc7\x18\x9e\x89\x75\x1d\x28\x91\x06\x9c\x6a\x7a\x72\xfc\x7d\x99\xa5\x8c\x23\x77\x02\xe3\x2e\x4a\x6f\x18\xf6\xca\x2f\xf5\x12\x59\x83\x2f\x4d\x25\x6d\x01\x9b\x35\x09\xa2\x1d\x71\x59\x25\xe3\x6c\x1c\xcf\x66\x10\x26\x28\x57\x02\xc9\x3e\x12\x3c\x81\x09\x54\x07\xa6\x9a\x9b\x69\xce\x17\x02\x72\xfb\xe8\x15\xf9\x56\xa7\x13\xb2\x13\x8c\xe4\x00\xd9\x98\x15\x6f\x51\xf3\xc5\xc6\x62\xce\xdf\xc7\x19\x55\x67\x53\x10\x18\xc6\x53\xa2\x7f\x57\x24\xe4\x32\x2e\x30\xab\x81\x9a\xff\xb9\xc9\xde\xa5\x7a\x75\xe7\x9a\xe2\xe9\x27\x71\xb1\x61\x90\x43\xd0\x5f\x59\x25\xb8\xc2\xe2\x52\x9e\x9a\x0d\x14\x56\x4c\xe2\x49\x81\x05\x64\x36\x89\x90\x1d\x88\xdb\xe7\x2c\x12\xef\x45\x92\x29\x79\x62\x32\xcf\x32\x89\x3b\x8a\x56\xcf\x84\x72\xaa\x26\x74\x79\x46\x31\x43\x67\xba\x98\x53\x88\xa8\x26\xdb\x02\x65\x08\x45\x32\x90\xff\x89\x53\x94\xae\x92\x88\xca\x33\x44\x11\xc7\x71\x0e\xd9\xf8\x80\xe8\xd4\x1d\xcb\x10\xf9\xe7\xec\x35\xa2\xa1\x9a\x59\xa2\xb3\x53\x4e\x05\x5f\x2b\x1b\x0f\x37\x1d\x85\x5a\x6e\xb0\x10\xb7\xd5\xcc\xa8\x29\x19\x11\x25\x0d\x80\xb3\x5b\x94\x46\xa6\x52\xd1\x3a\x96\x73\x3b\x5c\x7d\x06\x95\x57\xb1\x98\xd3\x59\xdb\x4f\x67\x3f\xd0\x7c\x99\xf2\x4e\x98\xa1\x62\x32\x8f\xc5\x7b\x0c\x7c\xcf\x85\x2c\x30\x4f\x08\x56\xe2\xdd\x24\x36\x11\x98\x3f\x40\xcd\x37\x60\x5a\x9c\xa2\x6b\x13\xe4\x55\xfa\x53\x75\x9d\x38\x52\xc2\xdd\x17\x9f\x7f\x79\xfa\xc0\x04\xc6\xe2\xcc\xa7\x98\xc9\x46\xbb\x09\xce\x63\xd2\x38\x99\x99\x80\x46\x7d\x84\x60\xe6\x03\x04\x2f\x3b\x21\x0f\xf0\xb5\x76\x20\x18\x30\x3e\x96\x59\xb2\x82\x68\xa7\x23\x88\x50\x5e\x0e\x58\xef\x9b\x6f\xbe\xf9\x06\x62\x43\xd4\xa3\x44\x4c\x0b\xff\xd9\xd6\x67\xec\x76\xe5\xb0\x2c\xa5\xe7\x55\x60\x28\x0f\xc7\xae\x88\x97\x18\x83\xae\x50\x6a\x42\xb6\xdc\x5d\x94\x63\xbd\xa5\x32\x8f\x70\x38\xe6\x13\xc5\x52\x05\x5e\xe5\x7c\x20\x8a\x1e\xe8\x88\x31\x29\x9e\xcc\xeb\x38\x2d\xad\x30\xf4\x67\x62\xf6\xfd\xfd\x2d\xde\x03\xa7\x31\x1a\x89\x22\x07\x66\xa2\x36\xa2\x3e\x94\xac\xc0\xe5\x4b\x4f\x78\x5e\x63\x7a\x16\xb8\x86\x11\xef\x95\x1b\x89\x7c\x2d\xbf\x94\x2c\x89\x2f\x85\x3f\x09\xfa\x3d\x55\x88\xd7\x24\xf9\x14\xc8\x47\x7c\x98\x88\x65\x61\x8a\xdd\x6f\xbc\xf2\x58\x98\x27\x0c\xc1\x95\xe4\x99\x32\x07\x30\x73\xaa\xc3\xe4\x81\x25\x64\xb6\x74\xa5\xa2\x75\x75\xd3\x53\xa4\xc6\x53\x07\x3b\x33\xec\x8a\x84\xc0\x22\xac\xf3\x08\x49\xcd\xe2\x85\xad\x26\xab\xdb\x86\x15\xaa\xef\xf7\xf1\xff\x1c\x66\xc3\xad\x21\x4b\x7b\x0d\x8d\x50\x94\x8f\x62\x9c\x15\x45\xb6\x30\xb9\xca\x96\x14\x10\x8e\x40\xc2\xc5\xa6\xa7\x25\x46\x23\x5f\x47\x51\xb7\xf6\x05\xe9\xbd\xeb\xf7\x5a\x2e\x7e\x5f\x41\x0d\x45\x0e\x71\xed\x27\xe1\x7d\x70\xd4\xc2\x99\x4a\x36\x3a\x4a\x5b\x07\xf8\x13\x4b\x02\x79\x42\x1d\x5f\x8a\x7e\xfa\xc4\x44\xf5\xa4\xb9\xfb\xd2\x89\x6f\x63\xc7\x52\xc7\xb7\xf1\x24\x31\x1b\x6b\xc7\x70\x6c\x40\x58\xfd\x27\x38\x30\x27\x0c\xcc\x1b\x9f\x70\x3a\x77\x92\x0e\x9b\x9c\x14\xd8\x0a\x19\x55\x13\xca\x27\xd7\x45\x99\x5d\xb1\x30\x0c\x91\x63\x34\x7c\x52\x33\xc2\x7d\xad\xf4\x0a\x1e\xf2\x55\xd3\xec\xd8\xb6\x96\x93\xfd\xa8\xae\xea\x71\xca\x16\x31\x30\x1f\x5e\x74\x89\x0c\xec\xbd\xe2\xbd\xc8\x41\x60\x3d\x09\xef\x87\xc7\xbd\xb1\x28\x78\x78\x72\x02\x27\x56\x2e\xd0\xbf\xd4\xb0\x3e\x3a\x59\x9d\x0d\x47\xd7\x2a\x93\x88\x04\x15\xbd\xb4\x73\x1c\x1e\x50\x28\x49\xb8\xd7\x33\x81\xf4\xc8\x19\xe7\x3c\x8d\xe8\xf0\xd3\x17\x99\xd9\x0c\x48\x8f\xaf\x8a\x4c\xb5\xc5\x7c\x0a\xea\x04\xda\x64\xab\x86\x54\x63\x3c\x8a\x80\x9b\x0c\xdc\x13\xb6\xc7\xe6\x4a\x9c\x4a\xa5\x93\xbb\xe1\x00\x31\x9d\x6e\x24\x28\xa7\x6b\x86\xfe\x1b\x3a\xe2\x82\x79\xcc\x4b\xe3\x45\x09\x74\x49\x60\x53\xb8\xe0\x92\xdc\x1a\x3a\x69\x96\x56\x51\x72\xd1\x41\xef\xaa\x2a\x4a\xc8\xc2\x9a\xb2\x8b\x51\x06\x31\x3f\x75\x98\xc2\x45\xc9\x16\x0a\x64\x43\x99\x70\xb7\x36\xb8\xbd\xbf\x39\x79\x1e\x2a\xac\xb4\x7c\x7f\x2e\xa7\xa8\xf4\xf3\x3c\xfc\xa1\x99\x17\x9e\x26\xf1\xe4\x92\x2d\xc4\xc0\x8f\xa4\x87\x04\xdc\xe3\xec\x83\x1b\x4b\x0f\xcf\x44\xd4\xf2\x6a\xc9\x3d\x74\xca\x4b\x31\xa6\x66\xcf\x89\xcd\x77\xf2\x08\x42\x63\xbd\x95\x99\x0e\x79\x55\x13\xd3\xb2\xf7\x4e\xd3\x83\xa3\xd8\xc1\x3a\xc5\x04\x65\x96\x6c\x96\xf3\x78\x92\xa5\xcc\xfc\xd6\x2b\xe6\xab\xc5\x58\xf6\x56\x4b\x75\x3d\x85\x4a\xc5\xec\x39\x9e\xf7\xab\xa5\x29\xa3\x99\x33\x3d\x22\xb5\x1e\xd4\x8f\xd5\x97\x95\xaa\x64\xb9\x7f\x78\xe3\x53\x92\xc5\x8d\xc6\xa7\xe8\xff\xd3\xc6\x17\x65\xeb\xd4\x1d\x21\x1c\x46\x9f\x38\xbc\xa6\xb8\x60\xd3\xb9\x1f\x6e\xff\x6f\x28\x7e\xb0\x55\x9e\xb4\xc3\xb0\x1f\x86\xfd\x49\xb6\x58\x66\xa9\xda\x76\xfd\x71\x96\x15\xb2\xc8\xf9\xb2\x77\x3f\x3c\x09\x4f\xfa\x13\xe9\x3c\x53\x60\x48\xf7\x76\xdd\x10\x7f\x77\x2a\x1b\xe2\xe6\xd9\xa9\x17\x38\xaf\xa3\xa3\xdd\x02\x8f\x3a\x3e\xdf\x0b\xcf\x37\x19\x00\x58\x63\x0a\x00\x27\x79\x00\xf3\xb2\x07\x54\x83\xc1\x15\x82\x7b\xce\xbf\x4a\xc8\xb7\xd7\x66\xf7\xb9\x66\x50\xaa\x09\xbb\x67\x87\xc4\xdd\x37\x7d\xb4\x7b\x24\x4d\x53\x7e\x5c\x33\xdf\x35\xf9\x10\x58\x53\x42\x04\x7f\xbf\x5c\xfd\x33\x17\x6a\x17\xd5\x5d\x27\x02\x1e\x37\xe2\x2f\x4b\xbf\x88\x11\x14\x5e\x52\x9b\x32\xac\x61\x49\x4e\x4d\x23\x0b\xe1\x3b\x75\x18\x1c\x0a\x43\x6d\xfb\x86\x30\x7a\xac\x17\x41\xcc\x93\xf5\x35\x9b\xd9\x13\x46\xaf\x47\x11\xc6\xf2\x3b\x94\x5e\x44\xa4\xa3\x9e\xbf\xe7\x89\xf4\x0c\xf9\x5e\x1b\x85\x77\x5d\xab\x37\x70\xfe\x79\x5e\xe0\xd5\x58\x6c\xe2\x49\x41\xa7\x13\x4e\xd4\x91\xe3\x7f\xbe\x1f\x35\xdb\xc9\xb5\x70\x2b\x8d\x68\x5b\x61\x42\xb5\xa1\xd1\xea\x18\x2b\x05\x46\xd7\x85\x43\x7b\x61\xd0\x37\x0d\x00\xbd\x56\xb9\x23\xaf\x26\x05\x45\x66\x2a\x64\x3d\x27\x7a\xf5\xc0\xad\xa6\x52\x89\xf7\x01\x7f\x8c\x20\x17\xa4\xb8\xa7\x9a\x0d\x59\xce\xf3\x4d\xd7\x8a\x11\x3d\xad\xbc\xa2\xbb\x03\xa6\xe3\x45\xa6\x20\x63\x30\x77\x41\x1e\x46\x25\xfe\xba\x80\xe1\x96\x47\x55\x72\x6b\x2f\x96\x7c\x52\xac\x40\xa0\x8d\xf4\x6a\x31\x25\x1c\x4f\x72\x21\x52\x5d\x17\x92\xcd\xf9\x7b\xb0\x29\x58\xc8\x94\x41\x92\x71\x36\x4b\xb2\x31\x4f\xfa\xb3\x5c\x88\x68\xe3\xe9\xdc\xf0\xaa\x3b\xce\x05\xbf\x94\xd8\x37\x2a\x57\x1c\x3d\x02\x24\x9e\x5d\xa5\x5e\x08\xc6\xcf\x82\x47\x03\xb0\xdc\xca\x41\xbf\x3f\x8b\x8b\xf9\x6a\x0c\xa6\x5b\x92\xb3\xf4\xbf\xe1\x6f\xb2\x0f\x0a\x47\xd9\xff\xe6\xe4\xf8\xfe\xe7\xf0\x3b\xd9\x73\x7b\x5f\x7d\x7d\xff\xfe\x57\x5f\x7f\xf9\x95\x01\xac\xe9\x03\x83\x6f\xd8\x63\x16\x38\x72\x31\x54\x0b\xd2\x32\x7b\x70\xd1\x36\x0b\xee\x99\xa0\xba\x7e\xd0\x92\x58\x2c\xe1\x7b\x21\x07\xcd\xb6\xa8\x3a\x6b\x57\xa7\x6a\xee\x3a\xc4\x3a\xa5\xc4\x9d\xdd\xd6\xa9\x1f\x40\xae\xff\xe7\x5a\xa7\xb0\x8f\xdb\xb2\x4e\xfd\xcb\x38\xf5\xa9\xc6\xa9\x06\xd3\x11\x8a\xb8\xfb\x4d\x47\xd7\xb7\x55\x35\x59\xc3\xfc\x1e\xf7\x1a\xa7\x90\x8e\x0e\xbc\xf5\xfe\xf1\xd6\x29\x18\xf7\xbf\x8c\x53\xff\x32\x4e\xfd\xcb\x38\xf5\x2f\xe3\xd4\xbf\x8c\x53\xff\x2d\x8d\x53\x3f\x38\xb4\xf5\x3f\xc3\x38\xd5\x75\xad\x53\x35\x34\x56\x73\x26\xaa\xde\x4d\xe1\x09\xd4\x59\xbb\xf5\x86\x40\x6a\x31\x9b\x15\x4e\x88\x3f\xa9\x09\xc9\x33\xea\x84\x5f\xfd\xcb\x46\xf2\xdf\xdd\x46\x72\x4d\xbb\xc4\xb5\x04\xc6\x6b\xdb\x24\xae\x65\xb1\xd9\x87\xca\x8d\x4d\x24\xd6\x6a\x73\xb8\x8d\x04\x58\xd8\x4d\x6c\x24\x70\xb2\x39\x86\x92\x7f\xd9\x48\x0e\xb0\x21\xc0\xf5\xe9\x7f\xb0\x8d\xc4\x8c\xef\x5f\x36\x92\x4f\xb5\x91\x94\x14\xf6\xb7\x6d\x29\xf8\x33\x5a\x5d\xd4\x90\xff\x65\xab\xf8\x97\xad\xe2\x7f\x5b\x5b\x85\x62\xb7\xff\x6d\x6c\x15\x0a\x59\xcf\x56\xa1\x1e\xec\xb3\x55\xbc\x71\x72\xe7\xc4\x50\x32\x46\x3b\xa1\x95\x2d\x35\xe2\xc3\x32\xe1\xb1\xba\x8f\xcd\x37\x10\x72\x1a\x45\x58\xfd\xc2\x02\x23\xf1\xd9\x31\x79\x38\xe6\x0d\x7d\x19\x2b\x79\x7a\xed\xd0\xe8\x1b\x0d\x3e\x1b\xf8\xea\x7d\xab\xd1\xff\xa3\x14\xfa\x87\x44\x9b\x28\xd1\x19\x1e\xe8\x45\x67\x4f\x9e\xee\x09\x3f\x51\x4d\x5c\x0d\x3f\x84\xfd\x4b\xb8\xd4\x15\x19\x48\x91\xa0\x57\x32\xca\xb4\x92\xaa\x7f\x92\xa5\x51\x8c\x65\x69\x5c\x39\xee\x20\x57\x1c\xc2\x56\x7d\xd1\x24\x66\x3e\x73\x5a\x60\x44\xa0\x12\x8c\x51\x28\x86\x61\x50\x26\x9f\xf5\x3c\x93\x98\x7d\x00\x84\x5f\x8b\xb2\x29\x91\x82\x72\xb3\xae\x4c\xe4\x56\x78\xa2\x17\x48\x20\x0a\xcc\x53\xb5\x26\x47\x98\xcb\x40\x17\x08\x07\x83\x98\xcc\x16\x35\xb0\x29\xee\x19\xd3\x17\x02\x0a\x0a\x14\x4f\xdd\x10\xdd\x8d\xc9\x73\xf8\xfb\x2a\x2b\xb0\xbc\x2b\x3b\x13\x28\xb7\x07\xf6\xc0\xe8\x4d\xb2\x24\xcb\x03\xea\xa0\x54\xa4\x14\xea\xbf\xd6\xc8\xca\x46\x58\xa6\x13\x62\x8f\xb8\x5b\x2a\xaa\x31\x5e\x15\x45\x96\xb6\x70\x1a\x86\x2d\xb5\xe2\x80\x04\xc8\x6c\xc0\x1f\x87\xad\xc5\x06\x16\x6b\x78\x05\x6f\x06\x41\x2e\xa2\x60\x7b\x0d\x80\x76\x80\xb5\x50\xab\x13\x30\x08\xc6\xc9\x4a\x1c\xdc\xc7\x24\x11\xbc\x1e\x61\x0f\x82\x23\xb3\x6b\xa1\x53\x1d\x59\xf0\xa5\x6e\xd2\x7a\x74\x86\xb3\xfd\x46\x7c\x28\x48\xd4\xb4\x6d\x96\xb9\x78\x64\x60\x5f\xd1\x6f\xdb\xed\xc3\xbe\x7a\x41\xb3\xef\x1c\xef\xde\x52\xa0\xb2\xc9\x15\xec\x18\xa0\xe0\x70\x0c\x9c\xde\x92\x3c\xb1\xdd\x03\xf7\x50\xb9\x01\x8e\x7d\xe8\xe1\x4c\x75\x5b\x7f\xea\xbb\xe7\x7b\xfd\x01\xaf\x46\xb1\x2f\xa1\xbb\xe9\x25\x9c\x89\xe2\xa9\x94\x60\xc1\x69\x07\xb8\xb6\x3a\x05\x7b\x90\xcf\xc6\xbc\x7d\xdc\x65\xf8\xdf\x49\xc7\xcf\x9f\x5e\x42\x0e\x56\x1f\x19\xf3\xf0\x6d\x60\xa8\xf4\x6d\x70\xe1\x9d\xe3\x9f\x80\xc9\xe9\x57\x5f\xdd\x00\x17\x20\xbd\x5b\xc3\xa1\x7e\x36\xcc\xc1\xe0\xd0\x40\xbd\x63\x83\x5a\x1c\x57\x5a\x48\x67\xe6\xaf\xf6\x01\xe7\x7a\xad\xff\x81\x82\xe9\x3b\x20\xa8\x27\xee\xa9\x9e\x8a\x35\x3c\x93\x5d\x96\x25\x11\xfe\xaa\xc9\x22\x9e\xb2\xb6\x79\x08\x19\x6d\xcd\xd7\xec\xb3\xe1\xd0\x69\x60\x09\x49\x27\xd8\x31\xef\x1c\x72\x7b\xcf\x93\x2e\xb2\xc7\x0e\xbb\x32\x16\x5d\xb5\x2c\x12\x11\x0d\x82\xce\x03\xf7\xfc\x64\x94\x2c\x68\xad\xf1\x72\xdb\xd8\xc7\x90\xeb\xbb\x0b\xc2\x50\xe7\xc1\x1d\xa8\x7a\x70\xc8\x89\xbb\x8e\x0b\x2c\x36\x6c\x8f\xdc\x67\x4f\xf6\x1c\xb9\xd0\xc6\x3d\x73\x9d\x22\x6a\xde\x79\xca\xe4\x9a\x2f\xa1\x58\xa1\x2c\xf2\xd5\xa4\x58\xe5\x70\x06\xc3\x65\xd7\x04\x07\x1b\x63\x7b\xb5\x6c\x2c\x9c\x32\xcf\xb4\x6d\x6b\x1d\x17\xf3\x38\x75\x31\xc0\xb2\xe7\xe8\x90\x61\x1e\xff\x3a\x17\xe9\x88\x65\xb9\x7d\xf2\x1d\x2a\xe2\x1d\x8c\xa5\x29\x29\xb9\x34\x29\x79\x49\x59\x0b\x29\xbc\x68\xc0\xdc\xad\x38\x4a\x87\x99\xc6\xdb\x2d\x70\xee\xcc\x44\x21\x45\x32\x25\x4d\xb6\x8c\x17\x71\xc2\xa1\xb6\x68\x3a\x7b\x8e\x71\x12\x5d\x36\xd7\xb1\xda\x8e\xce\x59\xdd\x4c\x92\x8c\x63\xb9\x75\x3d\x31\x58\xb7\x3d\xcb\x99\x7e\x13\x17\x9e\x65\xd5\x7e\xc8\x27\x73\xd1\xe9\xba\x33\x03\xe6\xc5\x8d\xb1\x76\x65\xa9\x95\x49\x85\x84\x1c\xe0\xc6\x62\x98\x46\x54\x92\x3d\x2e\xb4\xb6\xcd\xae\x09\xc9\x2c\x94\x67\x83\x1d\x61\xbe\x67\xf2\x9c\xa0\x6c\x88\x63\x28\x69\xe4\x14\x71\xd6\xba\x3f\x37\xd3\x38\xd4\x65\x44\x63\xcd\x3a\xcb\x23\xd9\x45\xb3\x08\x38\x2a\x40\x75\x63\x5d\x18\xc9\xe9\xab\x8d\x99\x53\xd5\x87\x50\x24\xcb\xb7\x2d\x74\xba\xf4\x94\x7b\x55\x09\xc9\xae\x7d\x74\x34\xca\xd2\x61\x2b\x0c\xc3\x96\xe3\x9b\x81\x1b\xa2\x4d\xa2\xf4\xd1\xd1\x48\x1d\x08\x30\x65\x35\x9f\x76\xba\x06\xbf\x74\xc3\xe2\xd4\xc1\x4e\x96\x04\x7d\x47\xfc\x4c\x23\x44\x0b\xe8\x87\x6a\x06\x1a\xa3\xfb\xd2\x82\x40\x27\x8e\xd2\x7b\x67\x23\x61\x6e\x47\xb3\x45\xfd\x95\x70\xeb\xe2\x19\xab\x0b\xd2\xac\x9b\xdc\x5d\xda\xa5\x20\x43\x28\x2c\x9f\x5f\xea\x51\x67\xa7\x46\x93\xc5\xfb\x98\x57\xd1\x2e\xa8\xbc\xb6\x67\x5e\x84\x71\xe3\xce\xf2\x3d\x0b\x62\x69\x3d\xa7\xf4\x2e\x71\xd5\x6c\x3c\x11\x50\x23\x5d\xe4\x45\x4f\x8d\x12\xcb\xb7\x7f\x2b\x18\x5f\xf3\x5c\x58\x43\x8e\x85\x48\x12\x6e\x91\x51\x3a\x77\x9d\x2c\x76\xc2\x53\x85\xf9\xd8\xe5\x19\x4e\x15\x18\xac\x1a\xb9\xcc\x31\x09\x12\x6c\xe7\x04\x72\x2a\x26\x8a\x1f\x39\xa2\x73\x19\xb0\x71\x75\x31\xb6\x7b\x97\x54\x7a\x6a\x76\x86\x2d\x25\x4c\xff\x9d\x27\xad\xd1\xd1\x11\x72\x13\x1f\x37\x34\x05\x40\x2f\x23\xfb\x2d\x66\x26\xb3\x9f\xa8\x8e\x4c\x52\x51\xdf\xdb\x88\x8d\xc8\xf7\x84\x1a\x43\xc9\x67\xad\xf9\xab\x31\x1e\x60\xd5\xa8\x3a\xfd\xbc\xa1\x21\xa3\x60\x27\xf3\x87\x36\x37\xe2\xa6\x56\x42\x52\x9c\x44\xae\xd2\x1b\x28\x39\xd2\xc4\xae\x75\xf4\xb0\x51\x55\x97\x98\x0d\xc7\x76\x89\x36\xd9\xc3\xfa\x2d\x2b\xff\x15\xb5\x8b\xbc\x5c\x80\xbd\x54\x1e\x1e\xcb\xcf\xc2\xe0\x57\x54\x9a\xd3\x5a\x89\xd8\xc3\x27\xaf\xfe\x83\x39\x3b\xda\xce\x65\x8b\x2a\xff\xfb\x5f\xd0\x42\xc2\xe8\x41\xa6\x39\x69\x3d\x82\xea\x70\x4f\x5e\xfd\xc7\x61\x0d\x4e\xf7\x35\xa0\x0d\xe2\x7f\x65\x7f\x33\xe6\xad\x3b\x4d\xe5\xe4\x4f\xfd\x72\xf2\x47\x5b\x33\xab\x1f\xb3\xb4\x94\xcb\xce\x27\xc0\x87\x45\xf1\xc8\xc7\xfc\x61\xbf\x28\x1e\x01\x15\xbd\x4e\xfd\xb5\x06\xd3\xa8\x36\xc1\x1f\x95\xce\xd2\x01\x2e\x3c\x97\x02\xad\x5f\x9a\x01\xf9\x5b\x46\xf1\x17\x7c\x62\xdc\x03\x70\x46\xa0\xa1\x3e\x6e\x2d\x63\xd0\x06\x1a\xa8\x1b\x4c\xa0\xc0\x79\x45\xa2\x7a\x47\x5d\x61\x8a\x78\xa1\x64\x27\x8e\x65\x61\x11\x9c\xb0\xe2\x40\x19\x64\x09\x79\x7d\xec\x0f\x5c\x56\x45\xe8\x28\x14\xd3\x8c\x0e\x24\x78\x04\x28\x68\xac\x74\x59\x6e\x45\x84\x06\x1b\x17\x02\x61\x85\x9b\x76\x51\xc5\xc5\xef\xc1\x99\x08\xec\xc6\x59\xf4\x1d\x26\x23\x5c\xba\x67\xf8\xf4\x9f\x57\xd4\x94\x7c\x61\x13\x91\x0f\x5b\xd4\xd9\x53\xf3\xc8\xbd\x7e\xa2\x73\x8e\x63\x4d\xc2\x07\x6a\x7f\xa9\x87\x58\xde\x57\x0e\x5b\x98\xdf\x3c\xcb\x99\x57\xca\xd6\x85\xd4\xc7\x96\xce\x93\xa2\x78\x64\xa0\x0d\xaf\xae\xcc\xef\xea\x6e\x5a\xb8\x1f\xce\xbd\x3b\xb0\x7b\xac\xe8\xe8\x00\x24\x78\x5b\x10\xd3\x51\x68\x99\xfd\xc0\x94\x70\x60\xd1\x2f\x55\x8e\x6c\x84\xda\xaa\xf0\x02\x29\x8a\x22\x4e\x67\xb2\xf5\xe8\x8c\x7e\x63\xdf\xc5\xef\x3d\x63\xcd\xf5\x81\xce\xb3\x85\x68\x3d\xfa\x21\x5b\x08\xa6\xae\x5d\x37\x86\xa6\xb9\x0f\xfd\x5b\x82\x73\x5d\x8b\x12\xde\x05\x14\xc1\xe9\x46\xda\xed\x18\x09\xb6\x1d\x78\x04\x1b\x74\xd9\x79\x60\xac\x9e\xc1\x85\x4d\x91\x17\x5a\x8a\x6b\x07\x15\x8a\x83\x76\x78\xf4\x79\x1a\xe2\x9a\xcc\x57\x74\x40\x62\xd9\xe2\x21\x3b\x0f\xf4\x6a\x04\x5d\x16\xa8\x49\x54\xff\xc2\x0e\x0c\xbc\x54\x77\xfa\x60\x15\x26\xbf\x9e\x07\x8a\xaa\x32\xd1\xdd\xf5\xe2\x53\x03\x83\x4a\xf4\xe8\x1a\x68\xb4\xc7\x51\x2e\x12\xae\xc4\xc7\x5a\x1b\xcc\x35\xab\x82\xd6\x16\xeb\xcc\xde\x8b\x7c\x9a\x64\xeb\x01\x5a\xaf\x77\xc4\xd6\xe0\xf6\xa8\x1a\x91\x76\xd7\x0d\xc5\x66\x61\x3a\xd3\x7c\x69\x7f\x1d\xce\xc9\x6a\x1c\x4f\x7a\x63\xf1\x8f\x58\xe4\xed\xe3\xf0\xf4\xab\xe3\x2e\x3b\x0e\xbf\xfc\x0b\xfe\x83\x7f\x7d\xf3\xe5\x71\x67\x77\xa5\xce\x6b\x42\xa9\x4e\xbd\xe3\xeb\xa5\x7b\xc8\x96\x6e\xa9\x4d\x70\xf5\x72\xfe\xce\xfd\xaa\x9b\x8c\xdc\x7b\x76\xd5\xe1\xb4\xb3\x73\x58\xa5\x50\xfb\x7d\xb9\x14\xa8\xc2\xad\xf7\x55\xa5\x80\x66\x73\x5f\xfb\x60\xef\xa8\xe2\xe9\xcd\xc3\xed\x99\xfe\x88\x49\x24\x62\x51\xa3\xc2\x3b\x37\xcc\xeb\xa2\x64\xef\xa3\xc3\x67\x58\x63\x0f\x33\xfb\xb8\xc1\xb8\x27\xa1\x2a\x5b\x9c\x32\x87\x3d\xec\x32\xeb\x59\x0c\xfd\x7a\x87\x58\x77\xb2\xef\x32\xfa\x7e\xc5\xe4\x51\xd2\x3a\xa2\x9b\x51\xc6\x88\x1b\xd5\x76\x8b\xf8\xeb\x7a\xa5\x30\x0f\x78\x96\x52\x19\xcc\xf6\x49\x8d\x72\xee\x30\x5c\xcd\x19\xb2\x07\x51\x9a\x5d\x3a\x28\x6e\x8c\xe8\xe9\x8d\x11\xa5\x9e\xab\x68\xee\x0b\x85\x42\x51\xef\x96\x0c\x8c\xcf\xb4\x85\x91\xd2\x31\x0c\x58\xa0\xbb\x08\xba\x48\x59\x90\x87\xf4\x12\x6d\x24\x77\x4d\x4d\xfb\x69\x96\x81\x8c\xca\xbe\x7d\xca\xec\xe9\x46\x92\x1c\xb4\xb3\x4f\x07\x75\xe7\x9b\x19\x8a\x3d\x08\xed\xd4\x2b\x61\x3a\x04\xb1\x93\x0d\xd9\x95\xce\x0d\x77\x71\xb0\xd1\xb3\x5b\x03\xdd\xaf\xa9\x07\x1a\xd3\x67\x1f\x96\x39\x1b\x32\xad\x37\xc5\x93\xe0\xe3\x47\x7c\x90\x79\x75\x2b\x90\x12\x44\x64\x13\x54\x62\xe9\x81\xba\x6f\x8c\x02\xaf\xfc\x81\xce\x97\xf8\x42\x31\x2a\xc7\x1d\xb5\x09\x10\xa4\xf4\xd3\x25\x0e\x5c\xd6\xb0\x4c\xe2\x89\xf8\x1e\x58\xcd\xc6\xad\x95\x04\x55\x25\x6b\xcb\x24\x95\xaa\x3a\xa9\xa9\xc6\x22\x9c\x21\x02\x6b\x53\xae\xc0\x93\xce\x03\xa7\x26\x94\xe9\xd5\xd3\x33\x9b\xb9\xab\x59\xcd\x9d\xb6\x63\x28\xca\xd0\x65\x71\x6c\x37\x0b\xe6\x0e\xc6\x44\xcb\x71\xec\x24\xb0\x2d\xcd\x91\xcd\xb5\xcc\x1e\x2a\x00\xec\xde\xbd\xb8\x24\x1b\xe9\x0b\xc2\x84\xa7\x13\x91\xb4\x1b\x00\x9d\xc7\x17\x6e\x21\xad\x3b\x7b\xd6\xc6\xd4\x5b\x67\xc7\xce\x61\x5a\xc1\xda\x5f\xb1\xfd\xc8\x5a\x06\x2f\xa2\x4a\x46\xee\x32\x1d\x9d\xc7\x17\x35\xf9\xb9\xfd\x2e\xd5\x37\xf5\x99\x9f\x55\x57\xcb\x3c\x5b\xc4\x52\x34\x4f\xef\x79\x7c\x01\xb5\x25\xbd\x84\xdf\xba\x07\x0f\x1c\x81\x0a\xd5\xa5\xb7\xed\x11\x62\xd3\x8c\x77\x59\xdc\xe9\xd4\x96\x99\x2a\x0f\xd4\x9b\xec\xfa\x71\xd6\xaf\x47\x3c\x65\xed\x76\xfd\x16\xad\x32\x02\x64\x2c\xe7\xc1\x67\x01\xbb\x87\xba\x28\x28\xfe\xd7\xfc\xe1\xe3\xe0\xa2\x54\xa4\x45\xdb\x3b\x6a\xba\x74\x58\x70\xf5\x6d\x39\x8f\x6d\xf5\x8b\xb0\x26\x3b\x6e\x5b\xe1\xf1\x4c\xf3\x37\x6f\x3e\xaa\x89\x71\x4b\xd3\x05\x75\x47\xfc\x26\xe5\x8c\x9e\x50\x71\x12\xaa\x1f\x39\x84\xec\x60\x44\x9c\xb5\xdc\xcc\x41\xea\xdc\xf9\xdd\xcb\x73\xbb\xa7\xfa\xa8\xd5\xb9\x0c\x58\x50\x8b\x97\xce\xd0\x7d\xa5\xb3\xf5\x3b\x3d\x39\xec\xa9\x91\xa0\x60\xf8\xf5\xd9\x93\xcb\xf9\x6f\xdd\x39\xc6\xe9\xa0\xd4\xf5\xed\x8e\x7e\x50\x4e\x7d\xea\x67\x58\xaf\x61\x2b\x75\x6e\x21\xee\x31\xae\x86\xde\x64\xfd\x53\x0b\xdb\x58\x8c\xd6\x29\x45\x7b\x8a\xa5\x68\xed\x01\xfe\x9f\xce\x09\xde\xe4\x3a\x74\xc0\x19\x2a\x1b\x8a\xfa\xc1\xda\x17\x79\xe2\x6d\x23\x68\x10\xba\xc3\xba\x80\x8c\xee\x87\x7c\xf7\xf1\x23\x3b\xd7\x3c\xf9\x90\x06\xb8\xa8\x57\xde\xe4\x38\x38\x76\x6d\x99\x37\xad\xd8\xc5\x65\xd8\xa2\x91\xd0\x13\xa3\x50\x08\xfb\xb3\x2e\xc1\x81\x2b\xf0\x38\xa8\x4c\xb6\x7a\xd4\x34\xaf\x8f\x83\x1b\x4f\xa1\x9e\xc3\x03\x0c\xad\x96\x81\x94\x8d\xad\x4d\x0e\x4e\x76\x15\xc0\x22\xb2\xe0\xf9\x25\x95\x0f\x84\xd2\x6f\x4a\xca\x58\x66\x71\x5a\x18\xcf\x30\x8b\x70\x04\x36\x57\x63\xf0\xe3\xaa\x37\x86\xbb\xd7\x31\x55\x01\xd8\x15\x04\xc3\x51\x4b\xe9\xe4\x4b\x7b\x92\x6e\x6c\x56\x78\xd2\xca\x1b\x23\x85\x09\x84\x03\x53\x0d\x18\x7c\x1c\x5b\x30\x59\x0d\xb2\xd4\xe8\x45\xb5\x22\xdf\xd1\xf7\xbb\xd8\x6a\xf0\x50\x5a\x15\xeb\xda\x35\xb8\x62\x35\x79\x0e\x19\x9d\xa9\x05\xab\xf5\xa6\x07\x3a\x15\x3d\xc4\xc9\x77\xd4\x6c\x65\xed\x56\x05\x74\xd0\x55\x14\xe5\xf0\x3c\x1b\xd3\xdc\x0e\x96\x3c\xf5\x2f\x7c\xa5\x93\xc9\xbb\x82\x78\xcf\xed\x6d\xa4\x5a\xf9\xc6\xa5\x50\xeb\xf7\xe8\xb2\x7c\xac\xeb\x72\xc5\x8a\xb8\x48\xc4\x20\xf8\xb7\x80\x6d\xab\x50\xc8\x72\x3c\x60\x01\x28\x12\xc9\x83\xa8\xc9\x31\xb8\xf5\x28\x60\xf7\xca\x30\xdc\x1f\x1f\x4a\xc9\x17\x6a\xc0\x66\x39\xdf\xb4\x1e\x5d\x5d\x01\x4a\xdb\x2d\xaa\x1a\xf7\x82\x4c\x67\x3d\x3b\xda\x47\x0f\xfb\xfe\xdf\x3b\x9b\x07\xd4\x85\xff\x85\x5b\xd0\x66\xeb\x2c\xdb\xad\xa9\x23\xb5\x12\x11\xc6\xc9\x86\x2c\x78\x91\xe5\x62\xc1\x9e\x2f\xe5\x6a\x11\x3c\xa8\xfb\x50\x7c\x28\xd4\x77\xaf\xc4\xef\x2b\xc1\x96\x59\x9e\x67\xec\xf7\x55\x2c\x7f\x5f\xf1\x05\x53\x7b\xf6\xf7\x55\xcc\x22\x35\x89\x62\xc1\x62\x05\x46\x3d\xe1\xf8\x28\x0c\x43\x17\xe8\xd6\x91\xe3\x1f\xf6\x4b\xc4\x7c\x5d\x55\xbf\x76\x56\xb3\xaa\x7e\x18\x53\xeb\x51\xc9\x07\x8d\x3d\x54\x43\xe0\xb9\xe0\xee\xa7\xe2\x43\xd1\x7a\xf4\xb0\xaf\x5f\x55\x1b\xa9\xbd\x81\x04\x3a\x6c\x19\xb2\x00\x0a\x11\x1f\x0a\xf0\x46\xe3\xa9\xb0\xc8\x3b\x7a\xea\x4f\x77\x22\x73\xb5\x1e\x90\xaf\xc3\x61\x44\x8d\x6e\x61\xe8\x71\xae\xf0\xd4\xc2\x56\x9d\x1e\x0a\x3e\x08\xfc\xca\x00\x6e\xa3\x10\x7c\xad\xda\xcd\xef\xa5\x48\xa3\x1f\xc5\x46\xb6\x83\x37\xcf\xdf\xbc\x78\x16\x54\x2e\x2e\x6a\x7e\x76\x62\x20\x3e\x14\x65\x04\x6c\x93\xda\xfe\x9d\xd7\x4e\xf7\xcf\xfe\xfd\x8d\xdf\x3b\x69\x71\x9c\x2e\xc7\x31\xb8\x9f\xda\x61\xfb\x7a\x9d\x67\xbf\xaf\x78\x52\x3b\x90\x5d\xa0\x10\xff\x7a\x48\x25\x9c\xf6\x3a\x95\x39\x5a\x22\x7b\xfa\xee\x92\x6d\x3c\x45\xd0\xd3\xa0\x46\x2a\x69\xa8\xf7\xac\x64\x43\xb3\x8d\x6a\xe5\x13\x28\x19\x5f\xf3\x5c\x17\x3e\x5b\x50\xc1\x33\x17\xd5\xa0\xd3\x0e\xb2\x7c\x39\xe7\xa9\x3d\x07\x82\xe7\x49\x22\x66\x3c\x61\x54\x00\xca\xfd\xde\x3d\x84\x7d\x5f\xa5\xcf\x98\xc3\x2e\x83\x57\x59\x83\x2c\x40\x02\x9b\x84\xd0\x41\x2b\x11\xa0\x67\x48\xe8\xc1\x30\xe2\xdb\xd5\xf1\xd6\x62\x07\x8a\xd6\x38\x9d\xbd\xe1\xb3\xb6\x9e\xa2\x8e\x91\xf9\xe1\x9f\xba\x72\x27\x58\x6c\xc3\x4e\x89\x6e\x1a\x8a\xc5\xb2\x70\xae\xef\xe6\x39\xb8\x1b\x44\x6d\x57\x09\xe0\xc9\xb4\x7b\xe5\x31\x64\x8f\x25\x49\xac\x41\x0e\x7b\x91\xf1\xc8\x0d\x4f\x54\xd3\xce\xd9\x48\xcb\x0b\x23\xeb\x2f\x91\x16\x99\x93\xdf\xe4\xae\x9e\xfd\xa7\x7c\x32\x17\x6c\xe4\xff\x3d\xda\x76\xdd\xd2\xdb\x10\x7b\x6f\xfd\xb9\x6c\x15\xee\xf1\xa6\x21\x65\x0a\xf9\x93\xb1\x91\xf9\x75\xb4\xed\x3a\xae\xe8\xe9\xec\xe7\x6c\x55\x08\xaf\xcd\xdf\x63\xb1\x56\x0d\xd4\xbf\x0a\x81\x2c\xf7\x1d\xd7\x2d\x3d\x58\x4f\xb9\x2d\x3a\x2a\x29\x86\x4a\xe2\x1f\x38\x2e\x54\x87\xaf\x1d\xc4\xad\xc7\x1c\x97\x6c\xa4\x76\x34\x1c\xdd\x34\xb8\x11\xd6\xb6\xe6\xe8\xb4\x06\xcc\xdb\x0a\xb0\x7a\x02\x08\x14\xfa\xec\xc8\x78\x96\x0a\xac\x68\xb8\x9a\xcd\x5d\xf9\x33\x90\x6c\x14\x47\xa3\x2e\xf9\x46\xa9\x69\x03\xdf\x03\x3d\x77\x5c\xba\x85\x4a\x02\xc0\xc6\x94\x29\x19\x19\x09\x93\x5c\x2b\xd0\x59\x67\x8b\x23\x7d\xa9\x07\x83\x51\xa8\xa3\xa0\x3c\x8e\x00\xdd\x71\xca\x8d\xe3\x88\x3d\xb5\x03\x23\x71\xb9\xec\x32\x58\x63\xf3\x3f\xcc\x60\x8f\x73\x4e\x87\x5b\x19\xa3\x16\x8b\xa3\x61\xab\x5f\x2c\x93\xb2\xbb\xfc\x53\x5f\x7a\x77\xd0\x21\xfe\xa9\xa5\x05\xfd\x80\x3b\x9e\xe8\x54\xb4\xf9\xcd\x32\x19\x06\x06\x78\x80\x9d\x15\xcb\xa4\xa7\xc8\xa7\xf5\x08\x36\x49\x9c\x26\xe0\x08\xa8\x3b\x78\xd8\xe7\x9e\xaf\x81\x6e\x42\x1b\x09\x2c\xd5\x3a\x7d\xb4\xcc\x27\x6e\x5f\x36\x5b\xce\x2d\x58\x9d\x9c\x13\x3f\x81\xcd\xac\xe9\xcc\xa6\x22\x06\xff\x26\x3d\xbd\x7c\xd6\x68\x20\x2a\x99\xab\x3e\xd7\x33\x50\xeb\x3f\x5d\x3d\xe8\x6c\x23\x9a\x83\xca\x61\x47\xe6\x90\x86\x25\xbb\xa6\x79\x04\x07\x54\x32\x8e\x78\x6c\xc8\x13\x69\xbd\x37\x7b\x0c\x25\xc4\xf4\xb1\x66\x31\x4f\xdc\xdb\xc8\x24\x5b\x2c\xe3\x44\x38\xc7\x66\x43\x04\x16\x14\x95\x2e\x8a\x3c\x84\x2d\x37\x1c\xb2\xea\x2e\x2b\xab\xcb\xdd\x3a\x43\x64\xa9\x88\x4b\xb5\xb6\x49\xa8\xb6\x45\xd5\x41\xcc\x76\x74\x63\xfe\x38\xc3\xe5\xaa\x68\x3b\x60\xbb\x00\xa0\xe3\xdb\x3d\xab\x0a\xab\xd7\xe8\xec\x82\x85\x4a\xd9\xd0\x39\xc0\xe9\x8d\x12\x55\xf6\x9f\x43\xa0\xa0\x3b\xec\x1c\x82\xb0\xa5\xd1\xd9\xb3\x17\xcf\x9e\xbe\x19\xf9\xae\x98\x74\x53\x65\x11\x2f\x78\x8f\x84\x29\x93\x15\x44\x31\x7c\xc2\x69\xe4\xf8\x2c\x3b\x4f\x1d\x4f\x4b\xf7\xe8\x29\x32\x16\x6d\x52\xbe\xa0\xd4\x05\x33\x91\x8a\x1c\xaa\x39\x61\x2a\xa2\x6c\xca\x46\x0f\xd1\xfc\xf7\x08\xdc\xef\x8c\x67\x96\xc9\xf6\x42\x1e\x43\xce\x21\x61\x73\x40\x81\xb5\x45\x9d\x40\x14\x01\x65\xdc\x88\xc7\x1b\xed\xb5\x4a\x9f\xde\x41\xa7\x2e\x83\xad\xa2\xaf\x5c\xcc\x45\x5a\x0a\xe4\xd7\x23\x7e\x9e\xb2\x05\xa4\x03\x42\x3f\xad\x91\x2e\x55\x36\xf2\x46\x97\xa5\x0e\xfa\x9e\x5f\xaf\x76\xca\x76\xfb\x2c\x32\x9d\xe4\x86\x71\xc8\x15\x44\xae\xdd\xb9\x90\xab\xa4\x08\x6d\x01\x2e\xb7\x11\xe5\x8a\x93\x18\x77\x35\x16\xa9\x98\xc6\x85\x64\x72\x35\x99\xab\xb3\x29\x17\xd1\x6a\xa2\xc6\xb8\x10\x8b\x2c\xdf\x60\x24\xe0\x11\x8b\xd3\x49\x2e\x38\xcc\x93\x5c\x0a\x9c\x90\x34\x2b\xa8\x98\x19\xa4\x43\x4c\xc5\x9a\x7c\xe5\xd5\x54\x0b\x3e\x99\xeb\xf2\xb7\xc0\xcb\x0a\x9e\x4e\x04\xa4\xc7\x58\x8b\x24\x51\xff\x22\x26\x94\x66\x6e\x91\xe5\x82\x4d\x13\xf1\x21\x1e\xc7\x49\x5c\x40\x79\x55\xc8\x74\xe4\x2d\x59\x20\x21\xc9\x5b\x02\x79\x53\xf4\x21\xfc\x3e\xe6\xf8\x19\x7e\x35\x62\x47\x47\x23\x2e\x47\x47\x47\x4a\xa2\x2c\x1c\xf9\xa0\x71\x8d\xbc\x09\x22\xa6\xac\x97\xc4\x78\x32\x3b\x84\x83\x38\xa4\x42\x44\x12\x13\x93\xb1\xb1\x92\x46\xc1\xa3\x4e\x67\x96\xe8\xb9\xde\xbc\xd5\x74\x5e\x3c\x65\xb8\xce\x4e\x2e\xb2\x14\x0b\xaf\x69\x70\x10\x2a\xe8\xb9\x04\x63\xa9\x03\xca\x38\x13\xba\xd9\xda\x78\x6a\xfc\xda\xca\xb8\x8a\x74\x05\xa9\x22\x48\xed\xde\x75\x08\x5d\x77\x6d\x09\xde\x2d\x82\x90\x0b\xea\x09\x97\x1b\xfc\x22\xb5\x39\x8c\x70\xd7\xaa\x34\x83\x2f\x38\xee\xe2\x0a\xe9\xaa\x65\xa6\xf1\x28\x9d\xbd\x54\xaf\x60\x5f\x1a\xbe\xa3\x87\x81\xf3\xaf\x36\x75\x97\x71\xa6\x28\x2d\x11\x6c\xce\xf3\xa8\x37\xc9\x22\x11\xd5\xec\x8b\xae\x75\xf9\x46\x6f\x65\x92\x8b\x78\xca\x40\x46\xa7\xc9\xeb\xaa\x99\x55\x3d\x8c\x4d\x9c\x41\xac\x73\x17\x56\x99\x01\xad\x94\xe5\x64\xe8\xe6\x99\xda\xd9\xa0\xb1\xac\x92\x04\x02\x3a\x5a\x6a\x1b\xe8\x79\x69\x41\xf4\x24\xe0\x19\x42\x24\xa2\x17\x65\x08\x1b\x23\x12\x8b\x2c\x95\x45\xee\xd5\x81\x68\xf2\x44\x5f\xf3\x3c\x8d\xd3\x19\x7a\x0a\x1f\x1d\x41\x81\xbe\xa3\x23\x3b\x93\x40\xd2\x5c\xdd\x8e\x20\xc9\x15\x95\xd4\xeb\xea\xd0\x49\x97\xf0\x6c\xf2\x2f\xa0\x68\x62\xc8\x36\xe6\x93\x58\xdf\x94\x28\x41\x22\xfe\x10\xc6\x80\x43\x38\x8f\x29\xbf\xd6\x6f\x72\x1a\x47\x51\x22\x2e\xda\xa6\x6c\x23\x3e\x08\x53\x51\xf4\x7f\xff\xf5\x1f\x6f\xc6\xfd\x8e\xeb\x17\x6e\x32\x41\x55\x76\x28\xbd\xfa\x05\x18\x4b\x75\xff\x22\x79\xc5\xe4\x10\x8e\x6c\x4d\x4b\x1f\xe6\x6b\xdf\xdd\xd8\x10\x60\x97\x8d\x57\xb0\x5d\x9c\xa0\x90\x69\x79\xd1\x95\xd4\xef\x10\x16\xa4\x85\xac\xf8\xf2\x8a\x18\x1c\x72\x51\xcb\x1d\x89\x0f\xac\x0d\xa1\xa8\x30\x5f\xea\x70\x63\x32\x5b\xe5\x13\x21\x3b\xb0\xf8\xb9\x4d\xd8\x03\xa7\x29\x7c\x4c\xbb\xcb\xfb\x5a\xa3\x83\xb8\x51\x1c\x11\x5e\xe9\x74\x79\x3f\x8a\x8f\x38\x3a\x1a\xe9\x4a\xe1\x6a\x56\x2a\xe9\xab\x14\x9f\xea\x56\xa6\x88\x17\xee\xd4\xe8\xc1\xa8\x3d\xc2\x65\xcd\xa4\xe0\x24\xd0\x94\x98\xb9\xd5\x36\x3a\xeb\x1b\xfc\x79\xdd\x3a\x42\x2b\x1f\xcd\xeb\x50\xf6\x77\x19\x15\x39\xae\x63\xe2\x55\xd0\x9a\xcb\x81\x97\xb6\xcb\xc6\x4d\x8c\x85\x82\x16\x09\x7d\x49\xcb\x30\x75\x58\x91\xcd\x84\x5a\xc9\x2a\x69\x3e\xcd\x40\xd6\xce\xc9\xe7\x3f\x49\xb2\xb5\x93\x3e\x6b\x50\x93\xfc\xd3\x7a\x1d\x7b\x0e\xc6\xa1\x5c\x8d\x9f\x2b\x3e\x0c\xe5\x2b\xc5\x22\x4c\xf8\x58\x24\x9e\xdb\xb1\x8e\xee\xa0\xe1\xe0\x67\x71\xd4\xaa\x78\x30\x63\x3a\x17\x37\xdb\xd4\x68\x34\xfa\x0d\xfc\xd7\x49\x53\x4b\xa0\x86\xec\x9c\x72\x6f\xc5\xd1\x80\x9d\x74\xf1\x77\xe8\x79\xc0\x02\xfe\x42\xfd\x12\xd0\x53\xc2\x6f\xc0\xae\x80\x3a\xd5\xfb\x33\x7c\x14\x60\x6e\xab\x6d\x97\x39\xc0\x4e\x4b\xc0\xc6\x7b\x80\x8d\x4b\xc0\x2e\x1e\x10\xea\x9e\x73\x2b\xb8\x53\xd4\x21\xf0\xc0\x1f\xef\xaf\x9a\xbd\x2f\x57\xf9\x32\xa3\xe2\xe2\x18\x1a\x67\x52\xf9\x69\x2f\xbb\xae\x0e\x9e\xaa\xdf\x29\x20\x30\x24\x6b\xbe\x81\x6c\x94\x49\x6c\xb3\x90\x3a\xa1\x5d\x3a\x6e\xca\xee\x52\xd6\x56\xf7\x6c\xb5\x44\x23\xa6\xd9\x1f\x51\x45\x27\x64\x6f\x32\x36\xe1\xc9\x64\x05\xd7\xb6\xf5\x5c\x50\xd6\x64\x2f\x41\x93\x39\x75\xa1\xe8\xae\x96\x44\x0c\x8d\x69\xda\x3a\x09\xd9\x13\x28\xa2\x53\x1a\x81\x8f\xa4\x34\xf5\x69\xc0\x2b\x48\x09\x95\x4e\x28\xfb\x80\x8d\xce\x4f\xba\xec\xf4\x02\x0e\xd8\xd3\xdd\x10\x6d\xed\x6b\x5a\x11\xe4\x06\x18\xca\x88\x87\x4b\x88\xab\x5c\xe9\x45\x27\x3b\x54\x9b\x6c\x99\x49\x0c\xce\xe3\xb2\xdc\x11\x1c\x47\x20\x1f\x8d\x88\xc6\x47\xc0\x93\x3d\x41\x82\xba\xc0\xce\x21\xa2\xc6\x9e\x6d\xb1\x64\xa3\xab\x32\x91\x6c\x47\xa4\xa2\xda\xb7\xd8\x66\x95\xa9\x0b\xce\xd6\x79\x96\xce\xdc\xfc\x01\x76\xf0\x8e\x0c\x16\x14\x26\x55\x5e\xd7\x3d\x2a\x2c\x01\x29\x0a\x2c\xf4\x3c\xaa\xe3\x9f\x7a\x30\xdb\x56\x4b\x00\x4e\x40\x45\x49\x23\x43\x63\x64\x4f\x40\x86\xe5\x30\x81\x74\x5d\xf2\x8f\x33\x73\x79\x62\x45\x56\xa3\xdb\x19\x6e\xf1\x90\xf9\xc9\x3b\x72\x88\x8e\x21\x54\x6f\x95\x2a\xbe\x86\xba\x28\xad\x2f\xcc\x33\x10\xa0\x97\xab\x71\x12\xcb\x39\xc5\xa8\x54\x00\x9b\xe2\x4f\x6f\xfc\x66\x13\x62\x96\x48\x33\x71\x84\x42\x6b\x3c\xd5\x14\x24\x31\xe8\xab\x09\xac\xba\xf8\x10\xe0\x27\x51\x24\xd9\x48\xf7\xe3\xde\xf8\xe0\x10\xb2\x2f\xa0\x1f\x4c\x75\x37\x41\xe1\x29\x86\x68\x1f\x9a\x78\x2f\xc9\xa8\x16\xd7\x9d\x7e\x9a\x32\xc0\x15\xb9\x12\x90\x7e\x91\x02\xaf\x63\xba\x37\x7b\xdb\x22\xf8\x0e\x26\x3a\x2f\x16\x5b\x73\x0a\x78\x74\x16\x08\x0f\xd2\x9a\xf1\x78\x33\xe1\xdd\x42\xde\x59\xdc\x60\x6e\xe8\x16\xa2\xf6\xa1\x13\x1e\x6b\x8f\x24\xb5\xa6\x52\x33\x0d\x06\x9c\xa4\x4e\x14\x19\x10\xe6\x8a\x9d\x02\xef\x86\xf3\x74\x9a\xe5\x6a\xa3\x8c\x60\xa1\xe0\x49\x9c\xc2\x03\x00\x30\x72\xda\x54\x0e\xe1\x1b\x41\xb1\x6d\x66\x79\xb6\x5a\xd2\x3e\xc5\x3f\xfe\x60\x50\x65\x66\x81\x7f\xa8\xc9\xaf\xef\x65\x1f\xb8\x8f\x0c\xcc\xd2\xdf\x6e\x06\x23\xf8\x05\x20\x1d\xd0\x09\x63\x28\x10\xa2\x86\x11\x2f\xce\xd3\x38\x29\x04\xe5\xb4\xb5\xed\x3b\xee\x0a\xd7\xc8\x8f\x8d\x4b\xcc\xda\xa3\xa3\xa3\xd1\xa5\xc0\x41\x77\x9d\x61\x1c\x1d\x8d\x3a\x8c\xc6\x81\x10\xaf\xb1\xe6\x37\x05\x7b\xc8\xca\x59\xd8\xb7\x86\x71\x4d\x67\xce\x1a\xe8\x25\x66\xa3\xeb\xf5\x4c\xf7\xed\x5c\xb8\x5b\x50\xd3\x44\xdf\x7c\x39\x28\x85\x7f\xdb\x24\x3b\x36\xfb\x64\x4a\xdb\xb6\xaf\x17\xb7\xc8\x18\xc4\x01\x17\x02\x02\x63\x42\x03\x1e\x11\x1a\x40\x12\x80\x84\xbd\xe7\x79\x0c\x07\x06\xd5\xf2\x57\x72\x3d\x1c\xb5\x0a\x00\x68\x5d\x3c\x45\x00\xe1\xa6\x35\x32\xe6\x6e\x02\x40\xcd\x8c\x64\x53\x83\xbb\xce\x2e\x8a\xb8\xe8\x7c\x07\x80\x88\x9a\xa6\x83\xd0\xe0\xa5\x3b\x90\x92\x2a\xf6\x83\xc7\xc5\x1b\xc0\x79\xe3\x5e\x64\x40\xe6\xaa\x5c\x64\x20\x2d\x82\x91\xae\xab\xda\x01\xb8\x0d\xe8\x01\x8e\x2c\x80\x11\xc5\x45\x67\xb2\x80\xac\xbe\xc9\xc6\xe2\x0d\x33\x46\x5b\xde\x0c\xb0\x2d\xc2\x59\x48\x8f\x43\x3d\xae\x57\x7c\x21\x46\x1d\x8b\x3b\x91\xe2\xa1\xc8\xd7\xe8\x4b\x88\xd5\x93\x11\xd4\x0a\x1e\x66\x8d\xcc\xb8\x9e\x4f\x41\xf4\x32\x26\xad\x6e\xed\x5d\x18\xba\xd2\xd1\xa1\x4a\x08\xc3\x71\x59\x94\x71\x53\x1c\x8a\xb1\x56\xbe\xe2\xbe\xa2\x4b\x8f\xa3\x39\x85\x05\x80\x97\x0e\xca\xdf\xbd\x7e\x69\xd0\x36\xfd\x5a\xa6\x38\x50\x67\x2f\x69\xd8\x74\xca\x62\x52\x1d\xd7\xa8\x23\x0e\xc2\xd3\x74\x6d\x32\x16\xa0\x1a\x0a\x35\x50\x04\xab\x24\x45\x83\xe2\xd9\x62\xb5\x9b\x3e\x0c\x45\x5d\x87\x4c\xf4\x4d\x26\x96\xfe\xa5\x85\x2a\x63\x60\xae\x0f\xbb\xd0\xef\x85\x53\x5c\x54\x4f\x35\x86\x9e\xa3\x8f\x6e\x44\xbd\xe5\x22\xc9\x78\xe4\xc6\xa2\x03\xa8\xbc\x53\x97\xcf\xaa\x26\x94\x17\xf0\x28\xb9\xa4\x1d\x90\xe8\xaa\xec\x94\x56\x89\xb8\x74\xe1\x56\xfd\xd1\x6e\xcd\xb3\x49\xdf\x2a\xc1\xa3\x0b\xee\xc1\x25\xef\x2b\xbc\x3d\x04\xe0\x30\x16\x74\x99\x9c\xf3\x48\x0c\x82\x88\xe7\x97\x41\xc5\xff\x8c\xbe\x85\xb8\x46\xfb\x6d\x12\xcf\xe6\x45\xe3\xc7\x39\x78\xe7\x1c\x02\x16\x12\x6f\x1d\xf6\xe9\x46\x28\x61\xaf\x82\x82\xf7\xf1\xc5\x83\xba\x79\x58\x6c\x9e\xaa\x99\xb0\x81\xa3\x38\x31\xe7\xa7\x17\x0f\x30\x8b\x5f\xe4\xba\x42\xbb\x21\x16\x15\xdf\xac\xeb\x3b\x67\xb1\x87\xab\xa4\x14\x0e\x9c\xc4\x0a\x02\x1a\x01\x86\x2d\x40\x46\x6d\x3d\xc4\xaa\x14\xde\xcc\xd8\x2b\xee\x24\x0b\x76\x92\x03\x83\x5b\x99\x9a\x9a\x4a\x8b\xf3\x87\x9c\xcd\x73\x31\x75\x0d\xc3\x00\x5b\xc7\xcb\xdc\x35\x01\x33\xad\x47\xff\xfe\xb0\xcf\x1f\x5d\xf8\x08\xf6\x93\xb8\x82\xf2\xe1\x9d\xa0\x7f\xee\xb6\xd3\x7a\xc4\xa3\x68\x3f\xf4\x87\x7d\x7f\x82\xfc\xa0\x71\xc6\x70\xed\xda\xe9\x2a\x49\x30\x21\x87\x22\x03\x11\x75\x06\x6e\x9b\x4a\xb4\x3b\xad\xb9\x1f\xeb\x6e\xe7\x0c\x0e\xc7\xca\xcc\x9b\x50\xf7\x87\xe3\xfc\xd1\x9d\x06\x1c\xea\xfb\x5f\xf2\x94\x99\x32\x35\xab\x24\x51\xbc\xaf\x1c\xa9\x7e\x3b\x48\x96\xd6\x81\x0e\x78\x9d\x9c\xae\xf5\xa8\xd7\xa3\x4c\x42\xd4\xb4\xd7\x7b\xd8\x27\x21\xa0\xb4\x0e\xe5\xb8\x7e\x78\xb6\xe4\x29\xe5\x9b\xae\x8c\x1f\x8e\x31\xb4\x5b\xe0\x1e\xfc\xa4\x15\xd0\x92\x28\xa2\x19\x02\xc4\xbd\x23\x76\x57\x48\xa1\xe8\xbc\x3a\x43\x04\xaa\x64\x69\xb7\x3f\xe9\xd6\x02\x45\x46\x71\x0a\x96\x51\xc3\x4f\x74\xec\x39\xdb\xb6\x1e\x8d\xb3\xd9\x4a\x2a\xca\x0d\x81\x10\x76\xd0\x26\xfa\x40\x24\x56\x5f\x34\x60\x57\x57\xec\x4a\xff\xf5\x0e\x9d\x6a\x09\x83\x2d\xdb\xba\xec\xaa\xc6\x9b\x17\x1d\x79\x4f\x96\x1f\xc8\x99\x57\xc7\x87\x9f\x1e\x2f\x3f\xb4\xca\x2e\xb4\x36\x9b\x60\x5d\x4e\x43\xea\x13\xe6\x7a\x5b\x9a\xc3\x5d\x99\x05\x1c\x97\xcd\x1b\xfa\x6c\xd6\x66\xf2\x23\x0a\x68\x76\xda\xdc\xe5\x69\xd8\x34\x9f\x0d\x0e\x19\x70\xfe\xf8\xf1\x2e\xc6\x19\x0d\xa3\x61\xc9\x03\x93\xe0\x28\x30\xd3\x38\x97\x45\xbb\x2e\xaf\x5e\xa5\x31\xa6\x2f\x04\x8c\xce\xab\xe4\x7e\xc1\x6c\x94\xed\x4e\xa0\xb7\x37\x5c\x3c\xc7\x6b\x71\x36\xf8\x86\x9a\x29\xb1\x66\xcc\xeb\xf3\x0a\xd6\x8f\xff\x10\x78\x7f\xfc\x4c\x28\xa4\xbc\x89\xb0\x81\x4d\x9e\x5f\x92\xef\x7d\xe3\x7b\x89\xb8\x1e\x38\xc0\x54\xbf\x4f\xcb\x0e\xa7\x18\x78\xec\xbb\xd3\x90\x33\x63\x9f\xfd\x26\xe7\x71\x5a\xb0\x05\xff\x90\x88\x74\x80\xa5\x53\xee\xd8\x98\xc9\x92\x83\x0f\xf9\xdf\x04\x5d\x16\xdc\x5d\xf2\x5c\xfa\xd2\x1d\xbd\xed\x2a\x59\x06\xde\x56\x63\xe6\x9c\x9f\x7e\xff\xf8\xf8\xf8\xf8\xc4\xfc\x1c\xdb\x9f\x53\xf3\x73\x5c\xf7\x73\xdf\xfc\xf8\xcf\xbf\xf4\x7f\xcc\xf3\xaf\xfc\x1f\x7a\xfa\x17\xff\xa7\xd4\xc7\xff\x32\x3f\x35\x08\x7c\x6d\x7e\xee\xa0\xef\xd0\xab\xbf\xbe\x7b\xfd\xd3\x9b\xe7\xaf\x5f\x9d\xbd\xfb\xf9\xd9\x5f\x9f\xfd\xfb\x4f\x6c\xc8\xfa\xff\xf9\x56\x1e\xb5\xcf\xdf\xca\xb7\x67\x17\xf7\x1e\x77\xda\x8f\x07\x6f\xe5\x3d\x2e\xdf\xca\x7b\xf6\x61\xe7\x31\x3e\x86\xd3\xe5\xad\xbc\x37\xde\x94\x5e\xbf\x95\xf7\xa6\x59\xae\x1e\x3e\x1e\xb4\xcf\xdf\xde\x7d\xbb\xbe\xc0\xff\x1f\x75\x3e\xaa\xa6\x6d\xec\xc3\x7d\xfe\x56\x1e\x75\x6b\x9f\xbe\xed\x74\x3a\x6f\xe5\xbd\x38\xf5\xfa\x40\x04\xe0\xe2\x54\x87\xc0\xdd\xbe\x16\x70\x15\xb5\x82\xbe\xfb\x69\x01\x1e\x52\x57\x77\xa5\x28\xfe\x1e\x8b\x35\xa4\xab\x1a\xb0\x34\xcb\x96\xdb\x07\x35\x34\x75\x72\x7c\x7c\xe7\x00\x7f\x2f\x13\xd3\x75\x4e\xec\x4a\x51\xd9\x63\xd2\xb1\x07\x17\xda\x01\xcc\x0b\x75\x37\x51\x62\xcc\xde\x36\x02\xf4\x9b\xf6\x28\xd3\xfa\x54\x6b\x2f\x6b\xf8\xc6\x0f\x54\x87\xf4\x8a\x43\xb8\xe0\xb9\x42\x3d\x9d\x05\x2f\xf9\x12\x22\xe4\xdd\x57\x84\x1c\x4d\x88\x37\x41\xde\x67\xab\x24\xc1\xed\xea\x3e\x5d\xa5\x97\x69\xb6\x4e\xf1\xc5\x03\x23\x1c\x28\x2c\xc2\x88\x17\x1c\xb5\x0b\x43\x42\x35\xa4\xbe\x4a\x1f\xc6\x69\x5c\xb8\x61\xe9\x0e\x46\xef\xba\x4e\xc7\xef\xba\x7e\x7f\xef\xdc\xad\x59\x1a\x86\x03\xc2\xf2\x26\x0b\x8a\x46\x4a\x70\xec\x17\x1e\x7c\x36\x2c\xf5\xe7\x06\xba\xbb\x03\xe0\x51\x64\x5a\xb8\x89\x4c\x57\x36\x34\xce\x45\x95\x4b\x29\xf2\xe2\x55\x56\xfc\xc0\xe5\xeb\x75\xaa\x2d\x26\xba\x45\xd0\x72\xe5\xcb\x96\xcb\x5c\xed\x32\x9e\x53\x24\xf2\x10\x38\x61\x29\xb6\xd9\x19\x7d\x78\xf7\xbd\xa6\x6e\x36\x24\xee\x5a\x0a\x84\xd7\x67\xcd\x7b\x9e\x50\x0c\xbe\x7b\x56\x28\x78\xde\x2c\x98\x30\xd7\x8e\x3f\x3b\x21\x06\xb1\xb5\x6b\xc3\xe5\xfb\x7d\xf6\x6b\x96\x5f\x52\x89\x2e\x25\x72\xea\x6a\xad\x50\xee\x6d\x96\x65\xb3\x44\x40\xc9\xd6\x65\x7f\x32\xcf\xb3\x45\xbc\x5a\xe8\x52\xad\x91\x28\x78\x9c\x3c\x8e\xa3\xe1\xfd\xaf\x4f\xbe\xfc\xea\x1b\x17\xe8\x93\x48\x17\x34\xd3\x42\xb9\x3e\xbe\x5c\xdb\xb5\x9b\x16\x92\x1b\xb9\x59\x5b\x47\x86\x2d\xfd\x5b\xeb\x11\xb9\x5c\xb9\x5d\xf8\x05\x8a\xa8\x2d\x06\x0e\xae\xad\xc9\xd6\x99\x2d\x53\x5a\xed\x0b\xd7\xc9\x72\xce\xe5\x13\x6d\x84\xd1\xb2\x0c\xd4\x28\xf0\x16\xc3\x69\xe0\x18\xa8\x71\x89\xcb\xb3\x5a\xa6\x42\x9c\xff\x06\x42\x74\xbb\x51\x48\x42\xca\x8c\x39\x97\xf8\x39\x7d\xe3\xe3\x12\x89\x44\x14\xa2\x4a\x73\x65\xea\x68\xa4\xb6\x5a\x72\xa3\x6c\x1d\xb9\x48\x23\x91\xff\xe2\x12\x50\x0d\xf1\x6d\x0f\x18\x74\x05\x4e\x69\xec\x65\x17\x59\x22\xda\xbf\x73\xc5\x27\x82\xc7\x2c\x60\xf7\xd8\x9c\xcb\xf9\x8f\x62\x83\x9f\xdf\x63\x01\x7b\x1c\x34\xf0\x04\xd8\x25\x16\x84\x83\xad\xd9\x47\xcb\x5c\x40\xf8\x85\xd7\xae\xee\xc3\x46\x50\xa5\xfd\x96\x67\x4b\x87\x62\x74\x0e\x63\x45\x9b\xa9\x10\x11\x55\x69\x7b\xfe\xac\x61\x86\xcc\x22\xef\xa4\x09\x3a\xd8\xec\x62\x43\xbb\x32\x73\xea\x54\x53\x7d\x90\x7e\xe7\x6e\x96\xb6\x03\x9d\x51\xa2\xe9\xca\xd1\xef\xb3\x28\x96\x20\xc2\xd2\x10\xb5\xf7\x9e\x0e\xf5\x00\xd7\x84\x34\x28\x58\x44\x9e\x32\x46\xf9\xb8\x9e\x67\x46\xf2\x45\xef\x45\xb5\xf1\xa9\x43\x47\x9d\xb4\x83\x2a\xd4\xe1\x5e\xa9\xc0\x70\x41\x79\x6b\x0e\x8e\xaf\x76\x0e\xdc\x7e\x5f\x6d\x00\x6d\x41\x27\x3f\x04\x72\x9a\xef\xda\xb1\xe8\xa2\x6a\x51\x66\x2a\x19\x3a\x1e\xde\x9f\x01\xd0\xf3\x93\x8b\x0e\x2d\x82\x9f\xbb\x05\x06\x4c\xa7\x1a\x7e\x79\x7c\xd1\x7c\x7c\x6b\x58\xee\x17\x26\x41\x23\x39\x84\xeb\xbf\x6b\xe4\x83\x67\x1f\x96\x36\xc1\x0d\x09\xe7\xf5\x42\x80\x22\x26\x25\x66\x77\x69\x12\xe8\x8f\x95\x14\x54\xd8\x94\x12\xcf\xc2\x62\x43\xa1\x09\x5c\xb8\x82\xb5\x75\xdc\x8e\xe9\xc1\x55\xc9\x82\xbb\x64\x55\xce\xc0\x05\x3d\x9b\xcc\x45\xb4\x4a\x80\x27\x62\x87\xce\x27\xa6\x78\x79\x50\x60\xf2\xd4\xdf\x7e\x7f\x11\x2b\x5e\xab\xed\x31\x41\x87\xea\x9e\xe3\x0b\xbd\x5e\x72\xc1\xf3\x82\x89\x34\x5b\xcd\xe6\x3e\xb8\x22\x43\xa7\x62\x01\xc5\x4c\x53\x7d\x70\x3c\x02\x9f\x80\xe7\xcf\xd8\x98\xe7\x53\x89\x19\x2c\xd7\xb1\x14\x61\x65\x3e\xdf\xe8\x40\x8a\xa1\x46\xa6\x94\xe1\x82\xc2\xc4\x9c\x34\x51\xa5\x45\xf9\xab\x92\xa9\x2d\x98\xfd\x50\x40\x08\x2f\xc1\x29\x0b\x35\x3e\x72\x98\x2b\xc6\xa9\x91\xd3\xef\xb3\x69\x9c\x46\x0c\x94\x6a\xda\x83\x84\xde\x81\x85\x14\xf2\xf2\x60\x36\x1b\xc8\x92\x9a\x0b\xa7\xda\x40\xa8\x1f\xb5\x3b\x94\xec\x46\x3f\xa8\xa4\xb9\x89\xef\xdd\x2b\x1f\x4b\xfa\xdb\xf3\xf8\x02\x7d\xca\xe0\x18\x09\x82\xd2\x29\x69\x89\xc4\x13\xe4\xdc\xce\xc4\xef\xed\xd8\x3b\x4b\xa0\xaa\x7c\xcd\x29\xea\x30\x4b\xda\x69\x20\x90\xba\xc7\x9a\x2b\x84\x96\x64\x50\x6f\xda\x8c\x9f\x0a\x79\x89\x64\xb9\xb3\xcf\xf5\xb6\x6b\x10\x5a\xc3\xbb\xb1\x7c\x06\xbe\xc2\xbb\xd8\xb4\x61\xd4\x9f\xe1\xec\x7c\xfc\x48\xce\xb5\x3a\xcf\xcd\xd0\x4b\x86\xb3\xad\xe4\xdc\x83\x74\xfd\x66\xb3\x77\x98\x14\xc5\x6a\xf9\x84\x4e\x08\x59\x61\x7b\x0e\x82\x66\x32\x45\x22\x45\x69\x44\x04\xe5\x25\x3d\x38\x1c\x0c\x35\x3c\x03\x1f\xeb\x5d\xcd\xba\xce\xfa\x74\xec\x09\xd7\xdf\xf1\x73\xc7\x7c\x65\xd2\x4e\xd5\x76\x47\x36\xa2\x7d\x9d\x36\x2d\x1b\xb2\x26\x77\xd5\xaa\xa1\xd1\x8e\x54\xc4\xea\xc5\x25\x2f\x37\x8d\x9a\x5c\x87\x1c\x1d\x31\x4d\x7f\xde\x29\x0b\x55\x9f\x22\xa6\x5b\xea\x7f\xe6\x5e\x05\x4c\x5f\x0f\x2a\x3d\xf9\x52\x9e\xda\x9e\xce\x96\xdc\x25\xb0\x40\x5a\xe4\x4b\xc1\x9e\x3f\xfb\x06\xb2\x62\x6f\x5c\x61\x0f\x49\xa2\x3a\xae\x58\xfe\x92\xd2\xa9\xea\x60\x05\xf2\xb5\xed\xb5\x29\xb5\x91\x3b\xa4\xa0\x9c\x35\xa8\xb6\x4b\x8f\x15\xd4\xca\xa9\x0d\x33\xb3\xad\x97\x5c\x1f\x94\x33\x58\x69\x94\x94\xc8\x84\x19\x10\x9b\x75\xb4\x24\x5d\xf1\xe5\x32\xd9\xb4\x9b\xf4\xb8\x9f\xbc\xfa\x1e\x4d\xba\x1a\x91\x76\x75\x12\x3b\xcd\x69\x8c\x3a\x15\x76\x53\xde\x79\x65\x0e\x51\xda\x7b\x93\xd2\x46\x53\x7b\x27\xe1\x12\xf0\xb1\xfd\x4c\x0e\xde\x77\x3a\xf3\xad\xba\xaa\xfd\xc0\xe5\xfc\x25\x5f\x62\xde\x9b\xbb\xf5\x6b\xe8\x27\xea\xd2\xa3\x56\xa7\xa1\x3d\xa2\x9d\xa5\xca\x6a\x29\x8f\x5c\x2e\x9d\xfb\x5b\x2c\xbf\x23\xf2\x05\x84\x20\x15\x64\x66\xae\x13\x6a\x37\x37\x4e\xa9\x43\x3c\x28\xe0\x60\x4e\x06\x10\x26\xe3\x82\x65\x29\x3a\xd3\x40\x8e\x3d\x12\x6f\xb4\x3c\xba\xa6\x52\x14\x4e\x30\x06\xc4\x21\x78\xe0\xb4\x6c\x0a\xc2\x76\x36\x35\xfe\x0e\xe0\xda\xea\xbc\x97\x02\x78\xbe\xa9\xc4\xbd\xe6\x36\x17\x4d\x9f\xd2\xd7\xdc\x29\x11\x2d\xa6\xff\x73\x48\x40\x4d\x88\xa6\x00\xc8\xfc\x57\x5a\x32\x10\x87\xc5\xef\x2b\x9e\xc8\xb6\x5e\xf6\x2e\x2b\x2f\x58\x79\xbe\xf5\x97\x6c\xc8\xe4\x1c\x4c\x85\x4f\xb3\xe5\x66\xe7\x3a\xfb\x34\xd4\x6e\xba\x73\x76\xfe\x80\xad\x0b\xe9\xd4\xc0\xc3\x04\xf3\x36\xba\xef\x6e\x85\x1c\xdd\x33\xdf\x10\x65\x9d\x52\x1b\x7d\x50\xc0\x94\xec\x11\x67\x39\x13\x9a\x6f\xff\xdf\xd6\x4e\xac\xc7\x43\x00\xf0\xa7\x70\x8d\x92\x74\x72\x00\xd3\x80\x34\xf2\x25\xad\xd8\x67\x6d\x4c\xa3\x3f\x74\x6e\x3b\x21\x3c\x6a\x57\x54\xdf\x9d\x12\x95\x61\x16\x8a\x52\x58\x6b\x3b\x88\xc5\x87\x65\x29\x09\x51\xeb\x19\xd8\x56\x7c\x5f\xdf\x38\x35\x25\xf8\x5b\xa5\xc4\x3c\xad\xe0\x1d\x8e\xe7\x1d\x6b\x73\xc9\xde\x81\x23\xd9\xbb\xce\x63\x14\xb5\xdf\x5d\x8a\xcd\xbb\x6e\xe7\xf1\x3b\x58\x8a\x77\x0a\xd0\x3b\x1b\x94\xf3\x2e\xa8\x40\x03\xb7\xf6\x59\x56\xb0\xe0\xea\x78\x1b\x84\xcc\x26\xa2\x38\xd9\xb6\xba\x35\x7c\x4a\xcd\x42\xd7\xcb\x4c\xe1\x4d\x6f\x43\x2a\x46\x35\xc7\x94\xcc\xff\x7b\x48\x0f\x0e\xa6\x12\x9c\xe0\xf3\x53\x48\x26\x86\xbf\x9f\x5c\x74\xba\x25\x7a\x4f\x56\xe2\x15\x5f\x28\x51\x08\x3f\xf9\xd2\xf9\xfc\x2f\x17\xdd\x1a\xb1\xe4\x89\xe2\xe1\x7d\xc6\x25\xeb\x87\x85\x90\x05\xf5\x73\x7c\x01\x42\x80\xee\xa8\xbe\x25\xa0\x67\xc0\x3c\xd6\x98\xea\x27\x1d\x36\x00\xe1\xde\x6f\x7c\x29\x36\x1e\x8a\x5f\x95\x80\xc3\x2d\xeb\xdb\x9a\xa1\xdf\x87\xb1\x04\x41\xdd\xa0\x6b\x27\xea\xb1\x41\x9f\x0d\xec\xdc\xd4\x35\x97\xd5\xf6\xff\xab\x3c\xb9\xe8\xb2\xab\xb1\xfe\xfa\xa2\xe6\x2d\x40\xc1\xef\x1e\xfb\xd0\xbe\xbe\xa8\x9f\x0c\xf8\xf8\x47\xb1\x91\x98\xb9\xa1\x6c\x3f\xa0\x1a\x9f\x18\x88\xe1\xba\xcb\x99\x5f\x4c\x9a\x34\x52\xf6\xc0\xec\x81\xeb\xdb\x77\xaf\x5f\x86\x65\x50\xbf\x0a\x56\xe4\x50\x62\x3e\x17\x2b\x09\xde\x95\x78\xdf\xd0\x01\x1e\xe5\x06\x3d\x82\x0b\x77\x65\x44\xf2\xfc\xf8\x82\x91\x87\x9b\x76\x5a\x03\x6f\xbe\x34\xf3\x70\x38\x04\xd2\xe3\x0b\x07\x18\x4a\x55\x03\x37\x0e\x0f\x03\xce\x59\x96\xb3\xd7\x3f\xbd\xf9\xeb\xcf\xaf\x7f\xf9\xa9\xa2\x14\x66\x66\xb3\x39\x80\x15\xbb\x3f\xbf\x32\x89\xf3\x4a\x3c\x0d\xa3\x9c\x82\x60\x7b\x71\x51\x9e\xeb\x5c\xf4\x56\xa8\x43\xb3\xde\xba\x36\x22\x94\x8e\x05\x89\xbe\xb1\xd2\x3f\x28\xe1\x11\xa5\x48\xf6\x58\xa3\xbd\xde\xfa\x6c\xaf\xdf\xd7\xd9\x0a\xbc\xc8\x06\x94\x33\xa0\x0e\x08\x5b\xc4\xb3\x39\x68\x7a\xc8\x82\x2c\xb1\xa0\x85\x03\x44\x9b\x54\xdd\x5e\x90\x95\x77\xbc\x5b\x8f\xad\xee\x0a\xd1\x21\x09\x97\x52\xa7\x2e\x89\xa1\x00\x8b\x88\x4a\xca\x78\x1d\xc1\xbc\x06\x7f\xc4\x1a\x44\x79\x1a\xf9\xb8\xf4\xfb\xaa\x51\xb6\xa0\x0a\x5d\xd8\x06\xc3\x39\xf2\x2c\x2b\x6a\x55\x5d\xa1\x53\x17\xb6\x1d\xa4\xb3\x1e\x1a\xe9\x2a\xc8\x3b\xd2\x12\x8d\x23\x36\x15\x7c\x14\xbe\x10\xb1\xee\x9d\xe4\x94\xbf\xc7\x8c\xc3\xa8\x92\xd8\xf3\x67\xa0\x45\x6b\x9c\x1d\x72\x37\x36\x15\xc5\xb4\x43\xee\xba\x98\x3e\xde\x35\x88\x76\x3d\x3b\x57\xeb\x9c\x08\x6e\xcb\x0b\x75\xd9\x5a\x04\x49\x02\x15\x78\xd7\x73\x5e\x04\x52\xeb\x9a\x4d\xe9\x33\xe3\x2f\xdc\x20\x22\x99\xe4\x44\x87\x88\x50\xc6\x0f\xf5\x29\x3c\x89\xdc\x66\x25\x71\x1f\x7f\x71\xc1\x3a\xd2\xe6\x53\x73\x36\xb6\x35\xd3\xec\x32\x49\x6a\xc3\x9f\xa1\x65\x9c\xce\x9c\x49\x68\x68\x3c\x13\x05\xc4\x17\xca\xfa\xd6\xde\xe6\xa9\x53\xec\x34\x02\xf6\x32\x6a\x93\x2e\xe7\xff\x67\xed\xf9\x9a\xdb\xb6\x91\x7f\xf7\xa7\x40\xfa\xf3\x44\x52\x23\x4b\x76\xe7\x37\xd7\xab\xe4\xc4\xe7\x9b\x24\x37\xee\xb5\x49\xef\x92\x6b\x1e\x54\x3f\xd0\x12\x6c\xb1\x96\x49\x1d\x49\x59\xf5\xd5\xfe\xee\x37\xdc\x5d\x10\x8b\xc5\x92\x52\xd2\xd3\x93\x48\x02\x0b\x60\xb1\x00\xf6\x1f\x76\x71\x80\x80\x4b\xd4\x05\x98\xa7\xee\x4e\x87\x33\x77\xf4\x87\x7f\x66\x3c\x66\xc1\xaa\x1d\xf3\x55\xd3\xac\xcf\xcf\xdb\xaf\xd9\x99\x1a\x9b\xb7\xf6\x61\xa8\x19\x76\x70\x77\x99\x35\x67\xd8\xa5\x73\xe6\x90\xf6\x22\x3a\x5c\x07\xae\x06\x3d\xd7\xe5\x6f\xed\xc3\x34\xd6\x75\x61\xcb\x8e\xfb\xc3\x5a\x3a\x36\x84\xac\xe1\xe9\xe9\x8b\x59\x73\xcf\x6c\xb9\xe1\x94\xae\x2b\x03\x0c\x99\x3a\x8d\xea\x30\xa5\x0e\xff\xd4\x4e\x2b\x50\x91\xa9\x88\x24\xd0\x36\x49\x00\xc4\x71\x25\x82\xf4\xdf\xed\x83\xee\xb5\xc2\x0a\x38\x2e\xe0\x6d\x66\xce\xc4\x11\x3f\x63\xc5\x6a\xb6\x84\x3d\xca\x7e\xb1\x7e\xa3\xe4\x70\x13\x2b\x0f\xa0\xe2\x90\x61\x32\x80\x3f\x88\xe5\x8b\xfd\x94\x34\x3c\x26\xfa\x5e\xe3\x09\xb0\xe6\xc7\x15\xbc\x8e\x82\x4a\xb3\x59\xf9\xfc\xa1\xb5\xab\x87\x54\x39\xa9\x4d\x56\x55\xa5\xd4\x1d\x0b\x20\xe8\x6c\xdb\x92\xa5\xd5\x88\x4a\xbc\xb3\x9e\xa4\x19\x5a\x7e\x1b\xa7\x7c\x9b\xc6\xca\xba\x00\x42\x1b\x80\xfa\x14\x52\xea\xc6\x8b\xad\x41\x40\xc0\xb4\xc3\x8c\xb2\x87\x89\x63\xa7\x25\x96\x70\x33\x0d\x77\x2d\x06\x32\xd8\xba\xda\xac\xcc\x2a\x26\xf1\x28\xd0\xf4\xba\xee\xda\xbb\xd8\x19\xa2\xb8\x94\xf9\x6b\x14\x96\xe4\x5e\x48\x00\x9e\x3f\x37\x69\x79\x5e\xf3\xcb\xf4\x26\x52\x72\x34\x10\x48\x9b\xc5\x0b\x93\xf2\x7f\x10\x29\x0f\x02\x53\x0d\xd8\x62\x82\x0a\xad\x96\x18\xd1\x24\x46\xfb\x17\x88\x6d\xa4\xbf\xa1\x49\x09\xa9\x22\x59\x82\x89\x68\x9e\xa6\x48\xc5\x06\x23\x28\x42\x81\xe8\x50\x2d\x65\xbc\x7f\xfd\x7e\x62\xce\x17\x0b\xc8\xff\x5f\xba\xd0\xce\x69\x09\xb1\x8c\x5a\xf1\xf5\xfb\x53\x0b\x66\xd6\x45\xbe\xf6\x81\x10\x74\xc5\x09\x61\x4c\x58\xc3\xeb\x9a\xd1\x1c\x85\x48\xab\x8b\x74\xe3\xad\x2e\xd1\xa0\x0e\x8a\xef\xd2\xb5\xa8\x44\xdb\x85\x57\x8d\xa0\xd1\x68\x78\x51\x7e\xa0\xad\xea\x2d\xd7\x68\xb7\xa6\x9d\xf8\x60\x2b\x49\xbc\x6d\x87\x19\xf8\x97\xd0\x5e\xcc\x29\x3b\xd0\xe0\x89\x81\xb2\x66\x84\xbe\x76\x16\x63\xa5\x99\x40\x68\xe5\x02\x22\xa1\xbc\x34\xc7\x53\xfe\x7c\xca\x4e\x26\x47\xee\xfe\xb3\x46\xef\x68\xf3\xad\x8b\xd4\x9c\xfa\xd5\x43\xbd\x5d\x44\x45\x58\x3f\x21\x32\x9a\x98\x5d\x1a\x36\x1a\x0c\x87\xbe\x0b\x33\xdf\xf4\xe5\xa0\xc9\x42\xdd\x39\xd7\x5d\xa6\x09\x0d\x4f\x7b\x59\x25\xfc\x22\xa3\x9e\x46\x3c\x0f\x3b\xf0\xf6\x1c\x9b\xd8\x4b\x63\xba\x6c\x28\x2f\x6d\x68\xae\xf5\x48\x72\x5c\x17\xc4\x12\xfa\x59\xdb\xe7\x3b\x3a\x6f\x44\x45\xcf\x13\xa8\x1c\x85\x37\xb3\xd5\xe7\xca\x1e\xc0\x7c\xe1\xbd\x38\x94\xa8\xbe\x7a\x6e\x3d\x1d\x7c\x06\x97\x48\x18\xf5\x06\x05\x4e\x8f\x24\xe2\x89\x69\x0b\x7b\x11\x1c\x82\x92\xf7\x6a\x19\x07\x35\x1a\x1a\xfd\xf6\x6f\xa5\x83\x1c\x77\x30\xf1\x52\x04\xd2\xcc\x05\xc2\x33\x24\x4a\x99\x82\x9c\xfe\xe1\x3a\x2f\xab\xd7\xe9\x8d\x2d\xab\x3e\xd6\x50\x79\x2c\xee\x60\x12\x3a\xdd\xb5\x70\x09\x10\xc1\xd0\xfd\xbe\x36\xe7\xb0\x22\x41\x38\xff\x31\x59\x43\x88\x0a\xba\x25\x09\xea\x27\x8a\x44\x57\xb7\x34\xe2\xd5\x40\x7b\xc6\x56\x09\x20\x97\xfc\xba\xa0\x8e\xd4\xa0\xe1\xd5\xd4\xc5\xc2\x2e\x5e\x4a\x3f\x18\x8c\x52\x04\xb5\xea\xbe\xc4\x15\x20\xd4\x04\x2f\x7f\x64\x90\xbf\x41\x0f\xac\xa4\xb0\x66\x9d\x94\xa5\x0b\x4b\x93\x96\xe6\xce\x56\xcb\x7c\x61\xaa\x6d\x3a\x0f\x5b\xea\xe7\xd9\xdc\x4a\xd8\xd0\xbe\xfc\x00\xbd\x1c\xa0\x67\x90\xcd\x16\x66\xb3\xa6\xaf\x3e\xf4\xd3\xf1\x10\x23\xfc\x79\xf0\x50\x1a\x35\x23\x59\xce\x73\xc5\x41\x7c\x63\x77\x67\x79\x9e\x17\x85\x2d\xd7\x39\x06\x11\x6b\xe2\x9d\x7c\xfe\xf8\x20\x78\x88\xda\x71\xa5\xdf\xbc\x81\x66\x08\x47\x27\x30\x78\x2c\x7d\x6f\xb3\x6a\x43\x6a\x2a\xd6\x62\x60\x5b\xf6\x0e\x9b\xfd\xc1\xff\xac\xcb\x30\x09\x7b\xf6\xf8\xf3\x3a\xdc\xf8\x39\xb3\xde\x7e\x3d\x8e\x17\xee\x66\xbd\x48\x2a\xfb\x03\x2d\x83\xbe\x5b\x0f\xa4\xd6\x1c\x62\x3f\x85\xf6\x80\xca\xcc\xe0\x4f\xcd\x37\xc9\x37\x8f\x8f\xdc\xb3\x25\xae\xf1\xe2\xa5\xe9\xa3\x92\xf0\xcc\x9c\x98\x89\x39\x3a\xd9\x21\x22\x39\xb1\x4a\xb8\xd7\xa8\x8e\x66\x52\xd7\xf7\xd1\xde\xad\xf3\x22\x29\x1e\x40\x1d\x51\x61\x14\xf0\x82\x29\x9c\x9d\x92\x9b\xf4\x7f\xa0\xa1\xcc\x28\xae\xd7\x9d\x60\xb1\xb8\x6e\xb8\x66\x57\x7b\xbd\xc9\xec\x32\xba\x93\xcb\x4a\xbd\x4b\xee\x30\xd8\x56\xaf\x77\xb9\xa3\x58\xc7\x67\xfd\x93\x7c\xeb\xb6\x9e\x9f\x40\xf5\x3d\x6c\x9e\x9d\x77\xa0\x78\x21\xab\x07\xfc\x44\x68\x91\x8d\x8a\xb6\x08\x53\xa8\x66\x91\xa5\x6f\xed\x43\x89\x1a\x23\xb0\xd4\x9c\x99\x32\x2f\x50\xee\x2e\x1b\x01\x82\x24\xc5\x52\xa9\xab\x36\x2e\x5f\xc2\x1c\xfe\x00\xcc\xe3\xd0\x20\x13\xa9\x16\xb9\xc0\xbb\xbd\x78\xc5\x57\x14\x68\x0e\x83\xd8\x6e\xe2\xb9\x39\xf9\xde\x33\x4a\x35\xda\xba\xf8\x75\x59\x33\xc9\x1e\x58\xd5\xc8\x49\xd2\x90\xbd\xdc\x19\x1a\xe4\x64\xeb\xaf\x71\xd9\xaa\xe4\x72\xb1\x08\x96\x86\x62\x2b\x92\x4b\xe7\x53\xbd\x9b\x6f\xcd\xd5\x26\x5d\xc1\xee\x04\xea\x6c\x0a\x98\xdb\x18\x6b\x48\x95\xde\xdf\x5a\x73\x67\x8b\x1b\x6b\x56\x49\x65\x0b\xee\x28\x8a\x39\xf5\x3c\xeb\xdf\x24\x7a\xab\x09\x83\x38\x7e\x9a\x12\x73\x6a\x1a\x81\x57\x67\xfe\x41\x85\x81\x1f\x63\x66\xb3\xd1\x57\x4a\xbe\x08\x6b\xd5\xed\xcd\xa0\x6a\xa4\xb5\xa3\xda\xa3\xf9\x32\x29\xce\xab\xfe\xf1\x00\xf5\x24\x87\xbd\x01\x28\xda\xd3\x4c\xaa\x08\x9f\x04\x27\x8c\xeb\x86\x24\xc4\x5b\xfb\x70\x29\x52\x98\x89\xc5\x1e\xf3\xec\x8d\xa1\x32\xd4\xdb\x82\x8d\x32\x1e\xe9\xb3\x3e\x03\xd8\xd8\xc9\x71\x63\x9a\x89\xb6\x64\x8e\x3b\xd1\x9d\x5d\xb5\x55\x2d\xa7\xdc\xe2\xb8\x33\x42\xf3\x36\xe2\x27\x43\x7e\x8f\x7b\xdd\x68\xd2\x46\x58\x3b\x5c\x2e\xfc\xe9\xf1\xb1\x81\x25\x90\x8e\xb6\x97\x2e\xc1\x9e\x37\x07\x96\x21\x70\x6d\x6f\xc2\x5e\xda\xcc\xc5\xa1\xdd\x94\xb6\x38\x90\x5a\x8e\x45\x0e\x9e\xed\x0e\x9c\xd0\x7b\xe3\xdc\x41\x5c\x9e\x6d\x91\x56\xb6\x34\xff\xb1\x45\x4e\x34\xa2\xf6\xd3\x0b\x0b\xf0\x66\x60\xce\xe8\xd3\x24\x22\x02\xb7\xa6\x63\x65\x6a\xdc\x8f\x49\xb3\x32\xcc\x19\x5f\x04\x66\x42\x09\x45\x3f\x43\x6c\x13\xfa\x5a\xd7\x0d\xc5\x24\x10\x4d\x38\xa3\x0e\x0a\x83\x20\x60\x8f\xc7\x71\xd8\x54\x88\xba\xdb\x44\xd8\xae\xd7\x31\x98\xd2\xd0\xa0\x2a\x17\xf1\x62\xd2\xe0\x45\xdd\x18\x27\xfa\xfe\xe8\xaf\xa7\x37\x34\x19\xff\xea\xe9\xb6\x78\xab\x15\xe4\xd1\xad\x65\x41\x9f\x7d\x64\x42\x3e\xfc\x16\xd5\x25\xad\xe0\x2e\x9d\x0c\x73\x94\x7e\x7c\x14\xe2\x5c\xfd\x2d\x9e\x97\xf1\x98\x9c\xbc\xe0\xbb\x63\x6d\xb0\x9f\xe0\x88\x96\x60\x32\xb3\x65\xbe\x5a\xd8\x02\x12\x66\xb0\xb0\xcb\x25\xd4\x6a\x5f\xe3\x65\xcd\xbf\x8c\x36\x59\xb9\x4c\xaf\xab\xfe\xef\xe9\x62\xd2\xeb\x79\xd3\xb7\x4f\x5d\x39\x79\xc6\x16\x66\x8b\x75\x00\x06\xcf\x8a\xa9\x63\xa1\xfe\xcf\x01\xc1\x74\x41\x81\xc2\x2b\x32\xcf\x3a\x1a\x31\xac\xcf\xac\x49\x81\x50\x05\x6c\xdb\xee\x91\x9c\xe9\x43\xa9\x99\xf3\x68\x08\x6d\xfa\x93\xf1\xd8\xbc\xcb\xb7\xdc\xb0\x8c\x9c\x75\x70\x66\xbe\x7e\xff\xa3\xc9\xf2\x05\xc6\xf2\x42\x0f\x27\xcf\x86\x12\x53\xb9\x45\x53\xf7\xa6\x26\xc2\xe4\x2a\xbf\xb7\xf2\x20\xf5\x6c\x0c\x2a\x8b\x19\xe7\x13\xee\xe4\xb8\x2f\xd3\x71\x2a\xb5\x63\x0c\xca\x29\x07\xd1\x51\x30\x3e\x8b\xc7\x63\x43\x79\x2e\x02\x56\x9a\xe2\x49\x16\xf5\xe6\x97\x5e\xd7\x02\x61\xec\xc2\x11\x1f\x87\xb2\xe7\x33\xdf\xb2\x3c\x4b\xc7\xe3\x88\x0d\x41\x96\x3e\xa9\xb0\xa9\x91\xe9\xc3\x9d\x7a\x8c\x6a\xb6\x4c\xb8\x4b\xc8\xa0\xad\x1f\xbb\xce\xc1\x69\xac\xfd\x89\x5c\x45\x9c\x73\xff\xe9\x4b\x86\x38\x95\xc0\x19\xa5\xdc\x14\x14\xb2\x9e\x83\xeb\xe4\xed\x6b\x6e\x2d\xd2\x77\x36\x0e\x2a\xf2\x32\x8a\xbb\x36\x32\x4a\xaa\xaa\xe8\xf7\x56\x18\x8d\x57\x22\x3c\xe2\x4f\x9b\x3d\x93\xef\xdb\xf0\x4a\x6a\x43\x25\xd1\x08\xc1\xa3\x66\x20\xc2\xfe\x77\xb1\x13\xa5\xcb\x65\x51\x2e\xfb\x02\x50\xa4\x87\x0d\xcd\x82\x94\x4b\x29\x6c\xca\x25\xb9\xdd\x4f\x7f\x16\xf7\x3c\x76\x33\x0a\xe8\x72\xc7\x2c\x09\x78\xb3\xe3\xcb\x29\x3f\xe6\xc8\x23\xa9\xef\x96\xc8\x40\x75\x4e\x8a\x89\x87\xed\x2d\x4d\x69\x64\x14\x52\x0c\xf3\xe6\x02\x5d\x8f\x14\x36\x57\xe0\x07\xeb\x3d\x8b\x16\xa0\xa6\x75\xd7\x51\x2b\xe8\x4a\x85\x1f\x83\xdf\x65\x3f\x11\x0c\x52\xc9\xb2\xc5\x81\x95\x12\x10\x01\xce\x90\x06\x13\x4f\x99\x2b\x7b\x93\x66\x99\xbf\xb2\x87\xbf\x50\xfa\x18\x7a\xe9\x23\x20\x6b\x2e\x74\xec\x16\x42\x1c\xc1\x86\x50\x3a\x44\x0b\x41\xc9\x0a\x65\x60\xcb\x2f\xcc\x89\xc6\xad\x93\x4f\xd1\xa6\xf4\x41\x9d\x95\xc5\xca\x51\x14\x82\x6f\xcb\xf4\x1c\x12\x04\x95\x75\x04\xe1\xc6\x36\x22\x5e\x54\xf3\x52\x68\x55\x1f\x69\x30\x87\x28\xe4\x46\x33\xdf\x09\x28\x0f\x00\xa8\xd6\x18\x31\x7a\x48\x92\xa3\x0f\x4a\x0c\x69\x17\x20\xbc\x1d\x23\xe9\xfa\x7d\x37\x88\xa7\x7d\x70\x9c\x2e\x38\x82\x53\xd5\xc9\x3b\xec\xcb\x7d\xb2\x52\x80\x70\x10\xfb\x74\xa5\x3e\x39\xa3\x01\xfa\x1b\xee\x2e\xcf\x0b\x5c\xfa\xfc\xf5\x1f\x1b\x5b\x3c\xc0\xe9\x59\xa6\x0b\x7b\x64\xaf\xaf\xed\x5c\x21\xbc\x7a\x78\x0c\x68\x70\x21\x9e\x0d\xb2\xcb\x9f\x5d\x43\x3b\xbb\x94\x24\x07\xce\x24\x47\x09\x5c\x9d\x53\x30\xd4\x94\x69\x6b\x7c\x98\xf1\x18\xd2\x56\xfc\xdf\xb7\x7f\xfa\xee\x9b\xb6\x02\x1f\x79\xe4\x6f\x60\x2b\xb6\x35\x6f\x9a\xf5\x2a\x73\x9f\x96\xa8\x8c\xa5\x6d\x39\xcf\xd0\x29\xb0\x5a\xe6\x1b\x4c\x2a\x2c\xb7\x61\x0f\x15\x53\x8b\xe4\x99\xf9\x94\x66\xdf\x4e\xcc\xc5\x9b\xef\x86\xe6\xe2\xcd\xc9\x31\x5d\x5c\x3d\x39\x19\x99\xb7\x9b\x6a\x53\x58\x73\xf1\xa6\x64\x02\x47\x85\x15\x29\x31\x8e\x0a\xbe\x13\xa5\x2d\x18\x55\xd1\x17\x93\x91\x7c\xd3\x72\x9a\xc2\x10\x81\xbb\x69\x76\x2d\xad\x44\x7a\x6d\xd2\xaa\x57\x9a\x84\x8b\x2e\x2a\x99\xe5\x9e\xf0\xc1\x8b\xc5\x3c\x7f\x6e\xda\x1c\x62\x59\x03\xeb\x4d\x65\xae\x92\xf9\x2d\x72\x81\x85\x3d\x22\x07\xd4\x85\xea\xff\x8b\x3f\x1b\x9c\x36\x2e\x6a\x4a\x84\x88\xb6\x81\x43\xbb\xb8\x82\xfa\xf7\x27\xa3\xff\x1f\x7d\x33\x30\x7f\xdd\xdc\x4c\xcc\x27\x2e\x36\xba\x2b\xd7\xf3\x65\x42\xd1\x45\xc9\x5a\x30\x4f\x56\xab\x32\xbc\x04\x14\xa2\x8c\xd2\x0a\xdc\xdb\x02\x6e\x2d\xe4\xd7\x6e\xb9\xc2\x0d\xfd\x3b\x6b\xae\x8a\x7c\x5b\x92\x24\x8d\x3b\xa2\xbb\xb4\x5e\x23\x1a\x03\xab\xeb\xb0\x8b\xc4\x89\xe0\x59\xe0\xb1\xaa\x94\xee\x7b\x2c\xe9\x37\x95\x07\x2a\x65\x1a\x03\xdb\x99\xdf\xba\xda\x4a\x45\x64\x2b\x97\x7b\x5b\x45\xe4\x48\xbe\xa0\x62\xb8\xe5\x07\xa7\x45\x5b\x15\x40\xee\x8e\x73\xe5\x29\x26\x7c\xc1\x00\x68\x0c\xaf\xca\xe6\x1b\xce\xea\xb7\x68\x81\xf1\x17\xb0\xef\x23\x55\xf3\x81\x3f\xaf\x37\x89\x52\xd0\xb9\x9f\x57\x91\x08\x4c\xc6\x43\x55\x86\xff\xc7\x4e\x77\x71\xc0\xec\x3e\x40\x92\xeb\xca\x16\x7d\x9d\xf1\x37\xdd\xab\xb6\x8d\xc3\x25\xd1\xa2\x1d\xe4\x2e\x7e\x4c\x67\xc0\xda\x9d\x86\xb8\x1b\x79\x02\x09\xec\xe7\xb6\x2c\xd3\x7b\xe0\xf8\x2f\xde\xbf\x03\xe7\xfd\x44\x91\xac\x89\x65\x9d\xe2\x36\x31\x2f\xc4\x3d\x00\x45\x24\x81\x80\xc2\x28\xb1\xb8\xf5\x5c\xcb\x10\xd8\x4e\x00\x7b\xbb\x4c\x21\x68\xb1\x20\x5d\x62\xa9\x5f\x91\x36\xb1\x9d\x59\x8e\x68\x3e\x5f\xc7\x8e\x9c\x7b\x12\x8b\xce\x4b\xe6\x01\xbf\xdb\x72\x87\xb6\xcd\x39\xab\x03\xe3\x20\x63\x95\xa8\x7b\x44\xd2\x3f\x88\xd0\xd2\xaa\x0d\x78\xd5\xa1\x0c\x60\x6d\x62\xd2\x30\x5c\xb6\x4d\xb8\xe9\xd6\x4b\x30\xed\x9a\x0b\x12\xa0\x63\xdc\x06\xa2\xd0\x89\x97\x76\x34\x49\xe8\xc5\x8b\x96\xc9\xdc\x31\x3d\x5c\x12\xea\x9a\xaa\xa7\xb6\xc1\xd4\xfc\x63\xd7\xf4\x3d\x85\x0a\x31\xf0\xb5\xf6\x9d\xf0\x89\x98\xf3\x4d\x73\x3b\x47\xd3\xb0\xc2\x77\xf3\xca\x1c\xb7\xdd\x46\x17\x66\x74\x6d\x67\x67\x0a\x4d\x04\x77\xba\x03\x5c\xe0\x46\xa0\x42\xe4\x03\x55\xc2\x73\xe9\x39\x3c\x11\x7b\x22\x76\x62\x9a\x55\xb6\x58\xe7\x90\x7b\x94\xc7\xa6\x63\xef\xb1\xaf\x10\xdf\x71\xb3\x5a\x7d\xe0\xf1\x6b\x70\x10\xcd\xf0\x31\xdc\x9e\x0b\x9c\xe7\x07\x81\xef\x0f\xdc\xed\xe7\x5d\x31\xf7\xd6\x45\x9a\x17\x69\xf5\x00\x41\xfa\xbe\x20\xc5\x2a\x0f\x2f\x00\xa1\x6f\xe2\x60\x58\xe0\x46\xeb\x87\x88\x37\xf1\xd8\x0b\x07\x9e\x78\xa2\xe8\xd0\x01\xed\x74\x00\x20\x9c\x51\x68\xf6\xb0\xb4\x55\xbf\x07\x8d\xf7\x9a\x20\x18\x04\x51\x9d\x35\xfa\x23\xbc\xec\xd4\xd0\x45\x72\x30\x9e\x7c\x48\x51\xda\x3b\xa4\x57\x2c\xfc\x79\x40\x44\xeb\x46\xfb\xe4\xb8\x7f\x8a\x30\xa0\x5d\xbb\xa4\xf9\xc6\x22\x10\x08\xb0\x1f\xb6\x38\x30\x8f\x8f\x82\xa2\xa9\xb0\x03\xab\xd6\xa2\xf3\x07\xdc\x7d\xcd\xd6\x82\x67\x4c\x0a\x41\xa4\x70\x2b\x0b\x11\xce\xfa\xf2\xf8\x68\xd8\xa3\x0f\x4d\x28\xae\x85\xf0\xce\x87\xd4\xab\xba\x92\x00\xf5\xb4\xcf\x6a\x70\x0d\x3e\x28\x37\x64\xde\x5e\xfe\x3d\x5c\x89\x3f\xa7\x18\x88\x60\x9c\x19\x9a\x7c\xb5\xf8\x39\x89\xf6\x1a\x85\x5e\xb0\x82\x62\x74\x43\x08\x20\x34\x53\x99\xbd\x37\x13\x6a\xbc\x6b\x8f\x55\xb7\x35\xd7\x79\x8d\xb3\x09\x36\xa0\x98\x65\x52\xe1\xf9\x55\xa9\xc1\x64\x13\x62\xd9\xdd\xb2\x5d\xc1\xc8\xda\x87\xcd\x36\x01\xf5\x9a\xfa\x54\xdd\x2f\x21\x30\xf4\x1e\x91\x6c\xdf\x88\x48\xb6\x18\xad\x96\x62\x0d\xd4\x13\xb6\x4d\xb3\x45\xbe\x1d\xb9\x54\x06\x57\x79\x5e\x95\x55\x91\xac\x5d\xe7\xc7\xe3\x73\xfc\xf4\xfd\x07\x4c\x05\x86\xe9\xd3\x30\xff\x82\x8b\xdb\x30\x4f\x32\xb7\x31\x2c\x6d\x61\x47\xa3\x11\x6d\x8c\x59\x99\xaf\xec\x68\x95\xdf\xf4\x7b\x9f\xce\xff\xf9\xee\xe2\xdd\xdf\x26\xe6\x63\x41\x59\xe8\x20\xfd\xb7\x4b\xff\x05\x79\x70\xab\x25\xe4\x82\x9d\xdb\x91\x8b\x9d\xe2\x82\x94\x11\xe2\xc7\x63\xba\xad\xeb\x32\x4f\xfd\xfa\x6f\x10\x19\xb3\x7c\xdb\x44\x75\xcb\x33\xec\x10\x18\xac\x65\x28\xac\xc1\x08\xfa\x0f\x2e\x65\xe3\xf1\xd5\x06\x82\xc0\x51\x12\x17\x80\x99\x67\xa6\xc1\x81\x49\x6e\x92\x14\xdc\xfb\xea\x4f\xdf\xa3\x28\x8c\xa8\xa3\x1c\x62\x6f\x7e\xab\x6c\x91\x25\xab\xf3\x9f\x2e\xfa\x34\x12\xfc\xde\xd2\x6c\x44\x1b\x54\xe9\x22\x4b\xab\xa6\xf0\xd0\xf7\x00\xb0\x00\xb3\xf5\x34\xa0\xa9\x1a\x9a\x06\xe8\xf4\xe0\xe0\x99\x98\xbf\xc3\xc3\x79\xb9\xee\xc3\x4d\x75\xf1\xc5\x85\x5f\xf6\x5d\xc2\xd0\x0e\x4b\x9b\x2c\x7a\x83\x26\x8e\x60\xef\x14\x48\x8b\xa7\xb5\x9f\x97\xe5\x57\xaf\xfe\x32\x5f\x26\x45\x69\x2b\xf3\xd5\xbf\x3e\xbe\x3d\xfa\xf3\x57\xd3\x59\x76\xf3\xcb\x2f\x93\xf9\x2a\x4f\x6e\x2f\x87\x33\x88\xc6\x8e\x7f\x21\x33\x18\x7b\xfe\x8d\x3d\x8c\xdc\xdf\xe1\xc8\xbf\x86\xb7\xcb\x74\x61\x27\x59\x5e\xf5\xdd\xc3\x51\x92\xa5\x77\xf5\x09\xff\x3b\x39\x27\x4c\xb2\x7a\x66\x9f\x35\xf9\x5c\xa7\x4f\xd0\x83\xeb\xbc\xb8\x6b\x8a\x5c\xad\xf2\xf9\xed\xf4\xe9\x74\x0c\x83\x78\xd5\x1b\x4c\xff\x1b\x00\x00\xff\xff\x5c\xdd\xba\xa7\xec\x7d\x0e\x00") + +func assetsJsAngular138JsBytes() ([]byte, error) { + return bindataRead( + _assetsJsAngular138Js, + "assets/js/angular-1.3.8.js", + ) +} + +func assetsJsAngular138Js() (*asset, error) { + bytes, err := assetsJsAngular138JsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/angular-1.3.8.js", size: 949740, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsBootstrap332MinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x7d\xfd\x97\xdb\xb6\xb5\xe0\xef\xfd\x2b\x24\x24\x8f\x03\x44\x10\x47\x63\xbf\xbe\xbe\x52\xe6\xe8\x38\xb6\x7b\xd6\xbb\x69\x92\x8d\x9d\xd7\xb3\x3b\x55\x7b\x40\x12\xfc\x18\x53\xa4\x42\x72\x66\xec\x8e\xd4\xbf\x7d\x0f\x3e\x09\x90\xa0\x34\x76\x5e\x73\xf6\x97\x19\x91\x04\x81\x8b\x8b\xfb\x7d\x2f\xc0\xcb\x6f\xe6\xbf\x9b\x7d\x33\xfb\xb6\xae\xbb\xb6\x6b\xc8\x7e\x76\xff\xdc\x7f\xee\x3f\x9b\xc1\xbc\xeb\xf6\xc1\xe5\x65\x46\xbb\x48\x3d\xf3\xe3\x7a\x87\x58\xeb\x57\xf5\xfe\x53\x53\x64\x79\x37\x7b\xb6\xba\xba\x5a\x3e\x5b\x5d\xfd\x7e\xf6\xfe\xa1\xe8\x3a\xda\xe0\xd9\xdb\x2a\xf6\x59\xa3\xef\x8a\x98\x56\x2d\x4d\x66\x77\x55\x42\x9b\xd9\x9f\xdf\xbe\x17\x9d\xb6\xac\xd7\xa2\xcb\xef\x22\xd6\xdf\x65\xf7\x10\xb5\x97\x7a\x88\xcb\xa8\xac\xa3\xcb\x1d\x69\x3b\xda\x5c\x7e\xf7\xf6\xd5\x9b\xef\xdf\xbd\x61\x43\x5e\xfe\xae\x48\x21\x60\x3d\xa5\x45\x45\x13\x10\x86\xdd\xa7\x3d\xad\xd3\xd9\xed\xff\xbe\xa3\xcd\x27\xd4\xe5\x4d\xfd\x30\xab\xe8\xc3\xec\x4d\xd3\xd4\x0d\x04\x7a\x42\x17\xed\xec\x7f\x92\x7b\xf2\x2e\x6e\x8a\x7d\x37\x6b\xe8\x2f\x77\x45\x43\x5b\xf9\x1e\x40\xeb\x45\x7a\x57\xc5\x5d\x51\x57\x90\xa0\x47\x70\xd7\xd2\x59\xdb\x35\x45\xdc\x81\xf5\x3d\x69\x66\x51\x48\xfc\xb4\xf2\x6f\x7f\x61\xad\xfd\x76\x5f\x16\x1d\x04\x33\x80\x6e\x56\x5b\x75\xe5\x03\xb4\x2e\x52\x18\xdd\xac\xb6\x2f\x9e\x79\x5e\x74\x73\xb5\x7d\xf1\xc7\xc3\xe1\x2a\x0c\xd9\x2d\xcf\xfb\x23\xfb\x71\xb5\x65\x4f\x9e\x6d\x5f\x5c\x7d\x29\xa8\xb3\x7b\xda\xb4\x45\x5d\xcd\xae\xfc\x3f\xfa\x57\xb3\xba\x99\xe5\x45\x96\xd3\x06\xa0\x23\x94\x48\xc0\xd3\x73\x51\x0f\x66\x11\x44\x8f\x6c\x62\x24\x4c\xea\xf8\x6e\x47\xab\xce\x8f\x1b\x4a\x3a\xfa\xa6\xa4\xec\x0a\x02\xbd\x16\x00\xe1\x28\x7c\xfc\x0b\x8d\x3e\x14\xdd\xfb\x86\x54\x6d\xc1\x7a\x08\xc0\xc3\xe0\xce\x9b\x2a\x01\xf8\xcf\xf5\x3f\xcc\x36\x9d\xfe\x4d\xd9\xd3\x1f\xcc\x67\xb5\xf5\xea\xac\x1e\xb4\xed\x26\xbb\x39\xae\xd3\xba\x81\x0c\xfa\x78\x56\x54\xb3\x08\x15\x29\xbc\xaf\x8b\x64\xb6\x9a\x87\x21\xf1\xdb\xee\x53\x49\x6f\xe2\x2d\x6a\x68\x77\xd7\x54\x8f\xb4\x4a\x82\xe8\x26\xde\x1e\xd7\xe2\xc6\xfc\xea\xc8\x17\x93\xee\xee\x4a\xd2\x51\x0b\x8a\x50\x63\x2e\x12\xf8\x89\xc3\xf9\x15\x4e\xc2\x2e\x2f\xda\x35\x81\xec\x1f\xf2\xeb\x8a\x42\x10\xb5\x83\x99\xeb\x37\xd1\x63\x1c\xce\x57\x47\xc4\x09\x87\x86\xe6\xfd\xc3\x81\xc0\x04\xf9\x5d\x53\x64\x19\x6d\x20\xf1\xdb\xbb\xfd\xbe\x6e\x3a\xbf\x9f\xa0\x4f\xab\x04\x29\x50\x67\x2d\xed\xde\x17\x3b\x5a\xdf\x75\x90\xe2\x08\x61\x06\xc0\x11\x13\x68\x74\xea\xea\x24\x8c\x20\xc2\xae\x07\x9e\x07\x89\x4f\xef\xd9\x72\xb7\x7b\x1a\x17\xa4\xf4\x07\x13\x09\x1f\xa3\xa2\x4a\xde\x7f\xda\xd3\x60\x0a\x3c\x9c\xd0\x92\x66\x0c\x75\x27\x5b\xe5\xa4\x4a\x4a\x1a\x98\x18\x95\xb3\x22\x30\xf2\x3b\xd2\x64\xb4\x43\x7e\xd1\x0a\xac\x6e\x22\x5f\xbc\xf0\x43\x74\x2b\x7f\x35\x3e\xd9\xef\xcb\x4f\xfc\x39\x26\x4d\xc6\xc9\xb4\x45\x81\x58\xeb\xe3\x11\x1d\x3f\x97\xe6\x7b\x10\x58\x9f\x3e\x25\x71\x6e\xa2\x52\x2c\xb8\x5c\x66\x4c\xc3\xd8\x4f\x48\x47\xd8\x5a\xfb\xa4\xa4\x4d\x07\xd0\x9a\x1e\x0e\xa3\xbb\x98\x86\x8c\x8d\x13\xf1\x1e\xc2\x80\x8d\x5c\x65\xbd\x70\x8a\x3c\x8f\xde\x44\x5b\x3f\x26\x65\x09\x63\x06\xb6\x18\xe9\xe2\x86\xf5\xb4\x4c\x8a\x76\x57\xb4\x6d\x08\x44\x77\xdb\x0b\x6c\xd3\x21\x81\x11\x23\x3a\x08\xe2\xb2\x88\x3f\x00\x1c\x73\x32\xf0\xe3\xb2\x6e\x29\x3a\xae\x13\xff\xbf\xde\xfc\xf4\xee\xed\x0f\xdf\x87\x80\xcb\x6c\x80\x13\xff\xfd\x4f\x2f\xbf\x7f\xf7\xf6\xfd\xdb\x1f\xbe\xff\xfb\xeb\x9f\x7f\x7a\xc9\x7e\x84\x57\xbf\x5f\xe1\xc4\xdf\x37\x75\x57\x33\xb8\xc4\xfb\xd6\x40\x1a\x53\x31\x44\x8f\x99\x9f\xd0\x8e\x21\xa8\xa7\x57\xc0\x5f\x49\xfc\x1e\x1f\x7e\x43\x77\xf5\x3d\x85\x62\x46\x54\xe3\x2e\x0d\xa9\x4f\xba\xae\x81\x80\xcf\x50\x2c\x36\x40\xeb\xf4\x70\x80\xfd\xb3\xbc\xa1\x29\x60\x8d\x53\xcf\x4b\xfd\x86\xee\x4b\x12\x53\x78\xe9\x7f\x03\x37\xe1\x57\x37\x7f\xfb\x6b\xbb\xfd\xe6\x6b\x74\x89\x01\x40\x82\x99\xb2\x90\xc0\x14\xad\x23\xcf\x8b\xfc\x7d\xc3\xc9\xf8\x35\x4d\xc9\x5d\xd9\x41\x84\x33\xbf\xa4\x55\xd6\xe5\x87\x03\xcc\x42\x39\xbb\x96\xc9\x65\x09\x2a\x6b\xa1\x26\xc2\xc4\xf9\x9b\x7b\x2e\xe6\x78\x3b\x63\x46\x08\x47\x7e\xd1\xca\x6e\x7f\x14\x83\xd0\x04\x22\xd6\xad\x9c\xed\xab\x92\xb4\x2d\x04\x45\x05\xa6\x98\x2c\xf3\x73\xd2\xca\x66\x29\x49\x28\x40\x9b\x6c\x42\x6c\xc4\xc8\x29\x88\xa0\x73\x0d\x51\x10\x43\x84\x8e\x52\xb2\x70\x29\xc6\xc1\x5e\xf7\x3f\xc3\x08\xf7\x17\xfe\xab\xba\x6a\xbb\xe6\x2e\xee\xea\x26\x4c\xcc\x07\x55\xfd\xaa\xae\xd2\xb2\x88\x3b\x53\x40\x29\xfe\xec\x7b\xa3\x5a\xe4\x28\x3d\x61\x90\xa2\x46\x1b\xe7\x88\x25\xd9\x17\x8c\x38\x47\x34\xf6\x2f\xe0\xd2\xc4\xe0\xd2\xa4\xe7\xc7\xe8\xae\xeb\xea\x8a\x93\x14\xa8\xa3\x5b\x1a\x77\x16\x13\x46\x8c\x7d\xc7\xcd\x25\xff\xc6\x42\xd0\xa4\x8c\x83\xbb\x3a\xcb\x4a\x0a\xc2\x30\xda\x50\x5f\x5c\x40\x14\x30\x3e\xf6\x5b\xda\xbd\xeb\x48\x47\x61\xd4\x33\x72\xcf\x44\x38\x41\x8f\x1c\xea\xaf\xa9\x50\xa4\x21\xe3\x5e\xc1\xb0\xf5\x9e\xb5\x69\x43\xe2\xd3\x8f\x1d\xad\x12\xf8\x78\xc4\xb1\xff\xfa\xcd\x9f\x5e\xfe\xfc\xdd\xfb\x77\x38\x91\xcd\x8a\xf6\xbb\x9a\x24\x45\x95\x85\xf3\xab\xe3\x3a\x1e\x71\x77\xff\x4a\xf8\x58\x8a\x96\xef\xe9\xc7\x2e\x00\xf2\xc2\xf7\x7d\xc0\x3a\xee\x57\x41\x81\xec\xd0\x6e\x20\x29\x5a\x12\x95\x34\x01\x52\xcb\x69\xc0\x39\x66\x0b\x4e\xe7\xfb\xbb\x0e\xa0\x0d\xb8\x27\x25\x08\x40\xde\xed\x4a\x80\x53\x85\x76\xb4\x8e\x16\x21\x60\x00\x00\x5c\xdd\x95\x65\x18\x32\x4e\x66\x7a\x8b\x7e\xec\x3c\x4f\x61\x5b\xdf\x02\x38\xb9\xa1\x5b\x88\x10\x36\x74\x1b\x61\xc0\x7e\xfc\x64\xae\x32\x6f\x25\x3b\xbc\x89\xb6\x1b\x13\x83\x37\xd1\x36\x60\x37\x11\x06\x06\x02\xf8\x6a\xc1\x21\x0a\x99\xcc\x23\x49\x22\x98\x31\x46\x42\xf2\xc4\x38\x46\x28\xb0\x9b\x7a\xde\xe8\xdd\x2b\x9c\x58\x2c\x1f\x2b\x79\xf7\x92\x77\x82\xd0\x11\x0b\x22\x5c\x21\x1b\xe1\x82\x62\xc2\x01\xd1\x12\x06\x4d\x64\x63\x59\xcb\x29\xa9\x0b\xe4\x9b\x40\x90\x66\x0b\xb6\x17\xc2\xaa\x94\xc2\x4d\x2d\x9b\xdd\x47\x5a\x54\x89\x5e\xa7\x35\x68\x48\x52\xd4\x20\x0c\x39\x44\x7b\x08\x18\x48\x00\x79\x1e\x54\x37\xe2\x9c\xc6\x1f\x68\xc2\xee\xd9\x1d\xf5\x52\x8b\xc4\x5d\x71\xcf\xe4\x16\x09\xe7\x57\x41\x24\x87\xf0\xd5\x6d\x5b\x12\xaa\xbb\x08\x13\xcf\x1b\x0e\x82\xe7\xe7\xc6\x30\x15\x4c\x4e\xaa\x8c\x02\x74\xa4\x65\x4b\x67\xf6\x8b\x42\x67\x90\xa6\x20\xcb\x7d\x43\xdb\xf6\x69\x7d\xaf\xc9\x70\x92\x02\xc5\x83\x76\x42\xa6\x26\x42\xa6\x0a\xe4\xaf\x8d\xdf\x4a\xaa\x8a\x2b\x4b\xac\xc6\xd6\x93\xf3\x72\x55\x76\x98\x9c\x13\xac\xb2\xc3\x5e\xb2\x5a\x14\xf2\x37\x45\x22\xcc\x5c\xd0\x23\xc5\xbd\x74\x8c\x95\x85\xb5\x4e\x0c\xb4\x44\x5d\x05\x98\x2a\x4b\xc2\xc4\xd0\x90\xfc\x2e\x53\x7c\xdc\x40\x49\xb4\xf8\x43\x9c\xa8\x6d\x3d\x7b\x14\x60\xa6\x75\x7c\xd7\x3a\xc0\x9c\x45\xe5\x5d\xf3\xa5\xe0\x0b\x5b\x47\x9b\x86\x03\x00\xed\x85\xe3\x00\x00\x7c\xf9\x37\xfe\x03\x16\x15\xda\x7c\x7d\xe9\x77\xac\x7d\xe4\x33\x8a\x47\xff\x12\xf3\x70\x42\xf1\xc4\xa4\xa9\xef\x5a\x5a\x72\xd5\x33\x25\xdf\xa5\xc0\xc4\x4e\xd5\x84\x70\x16\x8e\x0d\xc7\x4d\x14\xa4\x7e\x5b\x16\x09\x1d\xa8\x2e\x3d\xa0\x43\x79\x55\x77\xbb\x88\x36\x66\x2f\x4c\x22\xc1\x08\x05\xd9\x86\xde\x64\x5b\x88\x82\xd4\x2f\xaa\x8e\x36\xf7\xa4\x64\x2a\x6d\x4f\xee\x5a\x0a\x91\x1f\x7f\x8a\x99\x9e\x73\xa9\xb5\x78\x5a\xad\x7d\x5d\x54\x49\x11\x93\xae\x6e\x5a\xa7\x5c\xd2\xb0\x2e\xfb\x86\x60\xa0\x12\xa5\x49\xcb\x01\x91\x7a\x88\xcd\x9a\x49\x61\x21\x94\x25\xb4\x72\x00\xc1\xb5\xf2\xa2\xe8\xe8\xae\x0d\x99\xaa\xb0\xfa\xf4\x3f\xd0\x4f\x51\x4d\x9a\x64\xc8\xff\x8c\x7c\x3f\xd0\x4f\x49\xfd\x50\xf9\x16\x26\x95\x16\xe2\xcd\x65\x0b\xac\x6c\xfa\xbc\xbe\x17\x38\x35\x87\xe0\xf0\x7a\xde\x1c\x82\xba\xea\xea\xbb\x38\x6f\x3b\xd2\x74\xa0\xa8\x66\xda\xab\x56\x3f\xa4\x5f\x3d\x12\xb9\x0c\x9a\x1d\x03\x80\xd9\x99\xcd\x09\x80\xf8\x58\x12\x9c\xfe\xad\x92\x92\x7b\x7a\xe2\x2d\xbe\xa4\xf2\x2d\xb7\x31\xe1\x72\x15\xfe\x63\xb5\xb2\xcc\x0c\x85\xfe\xe0\xf7\xf4\x39\xe6\x80\x04\x12\x21\xf8\xa1\x21\xfb\x60\xbe\xc2\x0a\xdb\xc1\x7c\x65\xeb\x42\x89\xc8\xd0\x64\xc0\x22\x85\xf3\x4b\xae\xaf\x0e\x1d\xfd\xd8\x91\x86\x92\xcb\x42\x30\x2f\x91\xec\xef\x77\x24\xfb\x9e\xec\x28\x42\x8f\xed\x43\xd1\xc5\x39\x24\xfe\x43\x5e\xc4\x39\x7a\x8c\x49\x4b\x67\xcf\xff\x20\xf4\x37\x93\x4f\xcc\x08\x69\x28\xf9\xb0\x16\x4f\xfe\x28\x9e\x54\xf4\x63\xa7\x9f\x24\x42\x7e\x05\x82\xbf\x8f\x64\x2c\xd7\x6c\xa8\x39\xde\x42\x87\xef\x1a\x1d\x0e\xd0\xa4\xd5\xf9\x95\x32\xdb\x34\x43\xc5\x25\x25\xcd\x5b\x79\x09\xad\x87\x36\xd9\x1b\xef\xcc\x8d\x3e\xb5\x25\xa2\x88\xbe\xa5\x9d\xee\xce\x5a\x5d\x36\x45\x69\x82\x38\xfb\x45\x2a\x62\x60\x4e\x2d\xa3\xdd\xdb\x8e\xee\xde\x56\x09\xfd\x68\xad\x8a\x29\xfb\x24\x57\x11\x7f\x4f\x1a\xe6\x27\x21\x3f\xce\x8b\x32\x69\x68\x05\x81\xcf\x9e\x01\xcd\xfd\xac\xa1\x5f\xb0\xde\x20\x39\x1c\x4c\x06\x45\xce\x81\xff\x54\x37\xaf\x8b\x86\xf2\x61\x8d\xf1\x71\x64\x19\x37\x26\x94\x4c\xd4\x24\x21\x60\x4b\x06\xc2\x90\x78\xde\x2a\x0c\xc3\xf8\x70\x00\x95\x30\xfb\x98\xd5\x11\x9a\xd2\x40\x5a\x4b\xcb\x2b\x66\x3b\x25\x0a\xbb\x0a\x3b\x8c\x64\x91\x5a\x4e\xe9\x4b\xe9\xce\x37\xcb\xab\xe0\x0a\xa7\x21\x8c\x17\x14\xfd\xdb\xb8\xcf\xf5\x18\x4b\x3e\xfd\x05\xa6\x23\x0b\xd0\x42\xad\x88\x21\x72\x11\xed\x9a\x9f\x43\xaa\x0d\x64\x28\x1b\xc8\xef\x8d\x1a\x65\x50\x5c\xbb\x26\x7d\x38\xac\xae\xc9\x46\x44\x49\x02\x53\x96\x6e\x86\xa2\x87\x42\xc0\x1e\xd9\xf2\xc3\xd0\x78\x11\xd3\x1b\x04\x1d\x51\x10\x33\xd4\xf4\x34\xda\x2b\x8b\x7e\x00\x0a\xc9\x75\xbc\x11\x6b\x12\x08\x7c\xe2\x01\x96\x08\x1a\xa0\x89\x77\xf6\x24\x36\x5b\x29\x7a\x1b\x20\x86\xb3\xc0\x8c\xb3\x33\x40\x12\x05\x9e\x37\x11\xfb\x1a\x18\x82\xe7\xc2\x70\xb8\x17\xa1\x70\xbe\x42\x03\x46\x0f\xcf\xf2\xb9\x3d\x57\x06\xa9\xc3\x28\xb4\x16\x68\xb8\x68\x14\x0a\x7c\x0e\xd1\xd6\xd0\xfb\x2f\xe8\x4a\x20\x69\xe0\x1b\xb2\x47\x03\x07\x56\xb0\xc4\x79\x3a\x64\x5e\xa0\xe4\x78\x07\x6f\xc3\x08\x53\x66\xd5\x58\x88\xc1\x79\xa8\xb8\x36\xda\x80\x92\xa6\x8c\x56\x78\x0e\x01\xe0\x42\x84\x59\x8b\x14\xa6\x2e\x4b\xde\x31\xc9\x70\x7e\xc5\xf9\xf7\x36\x4c\x6f\x56\x5b\xfc\xa1\x0f\xeb\xf0\x69\xd9\x74\xfd\xd8\xd0\x92\x74\x34\x79\xcf\xf5\x4b\x70\x8b\x13\x05\x69\x90\x1f\xb9\x97\xe5\x26\x8f\x0f\x08\xcf\x3f\x38\x63\x42\x5c\x91\xd9\xf0\xac\x70\x26\x35\xbc\xe4\x93\x91\x8d\xa4\x3d\xb9\xd1\x83\x27\xf9\x58\x7c\xbe\xa5\xb4\x42\xad\xd7\xb5\x80\x46\x37\x63\x09\x93\xa2\x2d\x5a\x97\x9e\x57\xf6\xce\x70\xef\xfb\xb0\x2e\x77\x36\xee\x3e\x0b\x75\xda\xbd\x71\x31\xdd\x94\x87\xc6\x57\x08\xa0\x0d\x4c\x7b\x90\x22\x84\xd9\x42\xfa\x75\x9a\xb6\xb4\xfb\x4b\x91\x74\x39\xa6\xfd\xe3\x1c\xe1\xd4\xba\xa2\xe7\x63\xf1\xa9\x85\xc6\x9b\x08\xe7\x5b\xff\xb6\x2e\x2a\x9e\xbe\x41\x0e\x6c\x60\x6a\xbf\xa1\x1e\xd8\x2f\xe2\xc2\xa0\x41\x33\x94\x61\x0c\x5d\x8c\x69\x69\x87\x8e\x78\xc5\x7c\x28\x67\xcc\xcf\x69\x8c\x21\x14\x40\xea\xa6\x05\x13\x1b\xfd\xcd\x01\x83\x60\x37\x55\xef\x10\xd2\xa4\x2a\x45\xb9\x90\x59\x96\x27\xac\x48\x60\x6d\x5d\x29\x6f\x58\x5d\xbb\xfc\x61\xfd\xec\xbc\x47\xac\xbb\x95\x3e\xf1\x30\x71\xa2\xbc\x5a\x6c\xc6\x97\x09\x74\x46\x98\xb9\x6f\x6b\xc7\x97\x91\xe7\x25\xce\xe0\xf2\x42\x07\x97\x07\x22\xa7\xf7\xe6\xc4\xc8\x99\xe5\xd2\xa5\xca\x8f\xa3\xf2\x07\xc2\xb9\x1d\xee\xe6\xa4\xbd\xec\x6a\x80\xd6\xb9\xe7\xc1\xac\x57\x19\xcc\x5a\x94\x6e\x76\x8a\x33\x84\x73\xcf\x4b\x5d\x5e\x24\xd3\xbb\xb9\xd3\xfd\x3e\xae\x27\x23\x06\x1a\xe5\xbd\xd3\x0d\x6e\x7a\x80\xb6\x00\xd3\xcf\x7b\x63\xd9\xd5\xfc\x25\x4c\xe0\x43\x51\x25\xf5\x83\x78\xbd\xac\x89\xcd\x63\x44\x45\xaf\x1a\xa6\x4b\x7a\xf4\x6d\x2f\xd0\xe9\x1c\xcb\x5a\xe2\x22\xc6\xb1\xc2\xe5\x97\x65\x75\x78\xaf\x38\x09\xa3\x09\x9a\x88\xf5\x13\x4d\x13\xf1\x49\x9a\xd0\x32\x0d\x26\xe8\x68\xe4\x45\xbe\x3c\x83\x14\xd7\x65\x49\xf6\x2d\x1d\x85\x08\x92\x3e\x44\x10\x9f\x0e\x11\xac\xe7\x94\xd1\x8b\x88\x83\x78\x1e\x68\xf3\xfa\x81\x29\x52\xcf\x83\xea\x2e\xa7\x30\x3b\x49\xa5\x07\xb6\xf2\x54\x22\x54\x30\x91\xa9\xd2\x31\x80\xe4\x89\x31\x00\x57\x68\xdb\x9c\x97\x52\x83\x52\xfa\x28\xf5\xa5\x2c\x72\x79\x1b\xf9\x69\x51\x76\xb4\x81\x17\x37\x6c\x99\x42\xf0\xd5\xc5\x22\xf2\x8b\x64\x71\x01\xb6\x78\x76\x63\x2c\xaa\xf5\xe8\x42\xf6\xde\x6b\x1d\x26\xf9\xc6\x01\x01\xe1\xca\x48\x23\x58\x5c\x68\x5b\xfc\x47\xe9\xe6\x08\x7b\x89\x24\xc9\xcb\xa6\x20\x2f\xab\xe4\x95\x44\x9e\x94\xb2\x76\x84\xdc\x9a\xd3\xc0\x05\x53\x8b\x24\x20\x93\x19\x84\xa7\x27\xeb\x9e\xf3\x64\x5d\xef\x81\x8b\x1e\x98\xa3\x2d\x87\x0b\x06\x01\x63\xbd\xca\xdb\x8b\xa3\x95\x82\x49\x8a\x1d\xad\x5a\xcb\xd7\x52\xe1\xe8\x29\xd5\xfc\xc0\x14\xaf\xc1\x03\x1b\x79\x27\x00\x39\xe5\xa6\x9a\x3d\x02\x23\x43\xb3\x73\xe6\xdd\x8f\x17\x44\x79\x61\x8e\xf1\x8a\x4a\x49\xda\x08\x2b\xbb\x53\xac\x8f\x32\x1f\xc4\x95\xe9\x83\xee\x49\xc5\x05\xa5\xe9\x96\x56\x78\xa6\xa8\x9d\x51\x35\x97\xeb\x73\x48\x3d\x8f\x6a\xc7\x00\x46\x21\x75\xf2\x24\x4f\x2a\x5a\x00\x23\x09\x53\x6a\x58\x46\x79\xfd\xe0\x5b\xef\x4d\x9b\x8d\x29\xc2\xf3\x74\xc2\x6c\xb4\x41\x8a\x85\x10\xa4\x18\xe4\xdc\x24\xc2\xd1\xe1\xe0\x02\x92\xe7\x57\x74\x2a\x94\x8f\xaa\x17\x17\xa2\xb5\x0d\x86\x65\x30\xf4\xf0\x1a\x06\x83\x89\xa9\x9b\x6c\x0b\x57\xc8\x0c\xb1\xd3\x8f\x7b\x52\x25\x3c\xc6\xbe\x1a\x70\xaf\xbb\xef\x04\x9c\x7b\xdf\xe6\x4f\x61\xb9\xe7\x26\xe1\x9c\x9f\x01\x07\x76\x3c\x07\x3a\x63\x24\xc4\x26\x01\x80\x73\xb0\xd5\x84\x15\xc4\x57\xb4\xb2\x97\xf4\xc8\xc9\xc6\x65\xcc\x2a\x17\x24\x17\x0b\x26\x54\x18\x9b\x45\x11\x12\x3f\x26\x3b\x5a\xbe\x22\x2d\x85\x37\xa0\x8d\x9b\xba\x2c\x01\xce\x94\xc9\xb8\x64\x56\x86\xc3\xfb\x1e\x59\xae\x2a\xbc\x93\xab\x48\xdf\x67\x24\x87\xd9\xfc\xad\x31\x6e\x56\xdb\x9b\x62\x8b\x8e\xc7\xa3\xcd\xb0\xb9\xe5\xf2\x4d\x33\xec\x13\xf8\xb5\xe7\x8d\x5c\x39\x5c\x4f\xe0\x8d\x08\xe1\xb9\x3b\xcd\x6e\xc5\x80\x26\xa9\xfb\x26\x1e\xce\x34\xde\x42\x84\x7a\xd7\xe1\x7f\x70\x39\x35\x58\x74\x37\xe9\xbb\xa9\x99\x13\xd4\x04\x3d\x5f\x0d\xf9\x61\x4c\x8f\xd3\xcc\x70\x75\x82\x19\xe8\x88\x19\x4e\x53\xf1\xe7\x70\x08\x30\xb2\x6c\x79\x91\x24\x74\x44\xf5\x27\xbc\x38\x11\x4c\x18\x61\x7c\x35\x55\x0b\xa5\xa8\x98\x7e\x01\x15\x07\xd4\xe0\xae\x21\xe5\x8e\x13\xab\xac\xd9\xcd\x29\x42\xdd\x08\xa9\x1a\x08\x6b\x89\x99\x36\x56\x8f\x5a\xf7\xbb\xbc\x13\xe8\xb0\x1f\x90\xf0\xd3\x27\xd5\xaf\xb8\x2f\xcd\x0b\x70\xb1\x70\x74\x21\x8c\x16\x61\x3c\x8e\x52\xdf\x71\x1f\x81\x61\xc6\xe7\xfa\xb4\x41\x12\x41\x8a\x30\x55\x89\x68\xe4\x33\xdb\x6b\x30\xc3\xa9\x77\x9d\xb1\x57\x32\xc0\xde\x9a\xb8\xe9\x38\x66\x7e\x8c\x95\x90\xeb\x49\x1f\xcf\xe3\x09\xea\x8f\xed\xda\x15\xf5\xca\xda\xba\xd2\x1e\xa4\xbc\x76\x15\xb1\xe8\x67\x4f\xf0\x2e\x55\xb7\x67\x4b\x59\x74\xa7\x13\x49\x4b\xcb\xc8\xea\xfd\x1f\x63\xb9\x84\x46\x98\x70\x4c\x93\x91\x33\xb7\x16\xe6\x05\x5f\xc3\x2c\x4c\x9d\x76\x49\x1e\x66\x1b\x95\x8f\x0d\x4c\xf3\x5a\x79\x9f\xf8\x51\x59\x84\x7c\x7a\x68\x1d\x2b\xff\x32\xff\x22\x57\x2a\xf2\xbc\xe7\x61\x18\x46\x22\xdb\x72\x38\x40\x02\x69\x5f\xe7\x85\x09\x4c\xdd\x4e\x9d\x99\x19\x8d\x61\xc2\xbc\x9c\x41\xd8\x48\x38\xf7\xd4\xa0\xb0\x7a\x4f\x2b\x5e\x99\x40\x5d\xa5\x59\x4a\xa3\x24\x4d\xbd\x4f\xea\x87\x0a\x70\x9f\x65\xb2\x3c\x2b\x71\xd3\x1c\x48\x49\xd9\x8e\xe3\x3a\x72\x6c\x97\x50\xb4\xc6\x43\x47\x34\x74\x00\x05\xa7\x38\x5d\xcd\x75\xec\x70\x36\x71\x1c\xc6\x9e\x77\xf9\xd5\xcd\xcb\xe5\xff\x25\xcb\x7f\x6c\x65\x9a\x3a\x9e\x74\x42\xed\xaa\xb7\x84\xbd\x4d\x60\xac\xed\xf1\xc4\xf3\x12\x69\x3d\x6e\x92\x20\xd2\x29\x9a\x1e\xcc\xe4\xf3\xfc\xd4\xc4\xf4\x53\xf5\xec\xd1\x3a\xb1\xfc\xc8\x1e\x2d\x09\xf7\x23\xb3\x53\xf5\x8e\xc9\xb8\xde\x91\x86\x40\xf7\xb1\x8c\x48\xfc\x81\x5d\x00\x9c\x86\x03\x26\xd3\xe3\x6c\x2f\x18\x57\x4c\x16\x42\xda\x4b\x65\xf8\x59\xe8\xb8\xce\x46\x6e\x56\x76\x42\x8b\x8c\x38\x98\x19\x44\x94\x17\x3f\xf9\xaa\x3e\x0a\xcf\x02\x5d\x2a\xa5\x1d\x83\x58\x71\xee\x90\xa4\x79\xcd\x0e\x44\x78\x9e\xa1\xc7\x27\xe7\x86\x3d\x6f\x9e\x1a\x45\x0f\x15\xb9\x8f\x48\xb3\xac\x88\x95\xd8\x80\x17\x2f\x92\xe2\x7e\x16\x73\x09\x0e\xc6\xf8\xbc\xbc\xbe\x40\x7e\x51\xb5\xb4\xe9\x5e\xa6\xcc\x97\x96\x73\xb2\x2a\x48\x23\x24\x8d\x6f\x27\x87\xf2\x68\x98\xe2\x8b\x64\xec\xfd\xf4\x48\xcf\x11\xc2\x89\xdb\x8e\x13\xd4\xb7\xee\x19\x5b\x56\x6c\x4c\x68\x06\xd0\x35\x77\x22\xa2\x69\x29\x95\x21\x93\x6a\x73\xdd\x84\xe1\xa8\xeb\xba\x8f\xd6\x32\x8f\x32\xcf\x11\x37\x75\x2f\xe1\xf3\xff\x3c\xfc\xfb\xea\xf0\xec\x0f\x87\xe7\xcf\x90\xae\x19\x11\xc9\x65\xcf\x9b\x4a\x4c\x47\xe3\xc4\xb4\x25\xf6\x44\x99\xd6\xa8\x2c\x35\xf2\xdb\xae\xde\xff\xd8\xd4\x7b\x92\x11\xc1\x7d\x78\x9e\x9c\xa5\x2d\x29\x43\xb3\x70\x2c\x2e\x39\x75\x66\x9e\xf7\xec\x0f\xf3\x5e\x4a\xf3\x6b\x2d\xb5\x95\xa3\x62\xdc\x62\x1e\x27\x37\x5c\x52\x34\x5a\x12\x9c\x98\x25\xbe\x8c\x42\x14\x7d\x80\x59\x59\x04\x55\xdd\x41\x3f\x29\xee\x8b\x84\x36\x28\xb8\x2f\xda\x22\x2a\xe9\x8c\x00\x5c\x84\x54\x19\x43\x4d\xcd\x58\x77\x47\xab\x3b\xb0\xbd\x58\xe4\x8b\x0b\x3c\x93\xf7\xca\xa2\xed\xa2\xfa\x23\xbf\xcd\x61\x2f\xac\x5a\xb6\xdb\xb0\x90\xc9\x63\x5d\xf8\xb3\x7e\xfe\x9f\x06\xd8\xb7\xd7\x2b\xcf\xbb\x5d\x2e\xf1\xbf\xaf\xcc\xbb\x2f\x0a\x9d\xef\xf4\xbc\xdb\xc5\x02\xff\xf3\xf6\x70\x80\xb7\xe1\x0a\xe1\xc2\xa7\xbf\xc0\xdb\xf1\x34\x99\x1f\x24\xe7\xc5\x2d\x03\x45\x43\x6b\xeb\x4a\x99\x18\xea\xda\x32\x3f\xb2\xc1\xb3\xf3\xe6\x87\xee\x36\x3f\x67\x7e\xe8\x4e\x7b\xf3\x63\x4a\xdc\x99\xf1\x5a\x7d\x73\x96\xd6\xcd\xce\x88\xcb\x12\xbe\x37\x60\x48\x7c\xc7\xf3\x5d\xa6\x0e\x61\x89\x86\x65\x33\x67\xdf\x93\x6d\x9f\xf2\xe2\x80\x7c\x7e\x6d\x37\x3d\xc5\x39\x7b\xfa\x5c\x93\x88\xd9\xe3\xe7\x74\xa9\x5d\xf9\xae\x55\xe6\xae\x4e\x48\x09\x18\x1b\x4f\xd4\x84\xd1\x33\x01\xdf\xd4\x8a\x04\x89\xee\x70\x6a\x56\x7c\x65\x4e\x05\xbc\x49\x6f\xa2\x2d\x4c\x50\x90\xf1\xe8\x9c\xe7\xa5\xfc\x3f\x4c\x4e\x16\x77\x0d\xaa\xb1\xbe\x8e\xea\xe4\x53\xd8\xd3\xab\xcf\xae\x07\x69\x78\xb3\x0e\x4c\xe9\x20\x99\xf1\x6d\xdf\x31\x61\x6d\xc4\x61\x45\x54\x24\x22\x0d\x4f\xec\x29\x6f\x56\xb9\x46\xcc\x38\xeb\xe8\x30\xe8\x20\x73\xa2\x7c\xe6\xcb\xb8\xae\x3a\x5a\x75\x4c\x1d\xd6\x24\x81\x8e\xd7\xb1\xa3\x92\x78\x22\xf2\xc3\xba\x10\x7b\x19\xe4\x2a\x1d\x3f\xbb\x4c\xea\x39\x2f\x93\xfa\xf6\xe5\xab\xff\xf5\xfa\xa7\x1f\x7e\xfc\xfb\xd4\xa6\x0b\xb3\x92\x4a\xe1\x68\x50\x32\x85\xd9\xea\x8c\x4a\xa7\x86\x76\xca\xa0\x46\x47\x62\x58\x04\xb4\x99\xb1\xac\xab\x31\xd8\x52\x93\x61\xa2\xdf\x8a\xd2\x46\x4a\x7b\x71\x22\xa2\x63\x25\x2f\x69\x6d\x60\x20\x44\xc7\x61\x18\x4b\xe1\x93\xea\xea\x75\x0e\x14\xa3\xdb\x09\x3b\xdd\xa2\x8e\xb9\xa4\x02\x5e\x2d\xfc\x4e\x11\x88\x4a\x9b\xb7\xb4\x1b\xdd\xe3\x54\x69\x04\x38\x04\x69\x08\xd5\x28\x5a\xd0\x36\x26\x7b\x9d\x7a\x6f\x68\x5b\xfc\xa3\x4f\xc4\x9b\x75\x77\x42\x08\xca\xed\x37\xc6\xa4\x87\xfb\x72\xc4\xed\xed\x85\x5d\x5a\xc7\x30\xae\xca\x03\xf9\x0d\xb5\xb6\x0e\xe1\xe0\xcc\x8c\x27\xae\x90\x85\xd8\x2e\xb2\x36\x9e\xe9\x0a\x2c\xb5\xbf\xc5\x78\x46\xf6\x7b\x5a\x25\xef\x6b\x98\x08\xbc\x30\x55\xae\x1f\x72\x32\x40\x92\xed\xde\xd7\x7b\xb8\x62\x8f\x15\xc3\x28\x68\x19\x1c\x24\xb9\xbd\x6b\xbb\x6f\x15\xfc\x08\xab\x5b\xaf\x0b\x52\xd6\x19\x44\x98\x9a\xe0\x0e\x53\xf4\x89\x2b\xc6\x36\x0c\xa0\x09\xff\x4a\x44\xc0\x12\x9f\x56\x69\xdd\xc4\xf4\x4f\xbc\x78\x57\x39\xc2\x16\x11\x56\xa7\xa9\x90\x6e\x92\x09\x29\x91\x70\x98\xc1\x13\xf6\xe9\x25\x0e\xb1\xa0\xac\xd4\x3e\x8c\xff\x79\xd9\xfa\xe0\xa9\x9d\x0e\xd8\xd3\x8e\xc9\x0a\x3f\xdc\x65\x4e\x8e\xdd\x63\xa5\x64\x26\x43\xad\x26\xc3\x79\xde\x44\xe0\xb5\xdf\xfe\x20\x19\xf3\xea\x24\x33\x59\x56\x4c\x9a\xca\x29\x16\xd5\x34\x40\xa3\xbd\x53\x4e\xe2\x58\xc9\xee\x26\x58\x73\x6a\xc3\xd5\x54\x00\x50\x6e\xbe\xfa\x9c\xc8\xbb\xe6\xed\x3f\xb3\x11\x4f\x06\x30\x27\x28\xc0\xee\x01\x0e\x57\xda\x24\xfd\xd0\xca\xa2\x9f\x45\x69\x5f\x7a\x6f\xde\x1e\x2b\x3d\x32\xd0\x7a\x37\xab\x6d\x18\x86\xaa\xb4\x56\x15\x69\x1a\xe8\xd2\x65\xb7\xbd\x94\x99\x50\x9b\xca\x96\x56\xca\xd2\x9e\x1a\x27\x96\x51\x14\x5b\xd3\x9e\xa5\xb1\x95\xfa\x1b\xad\x4e\x6f\xe7\x8d\x45\xb3\x6b\xaa\xcc\xcb\x21\xca\x31\x30\x94\xa1\x82\x31\xb0\x15\xd3\x60\x38\x86\xe9\xc9\xf1\x06\xf3\x13\xe4\x3f\x35\xbf\x8d\x5d\x26\x21\x1a\x3b\x60\x17\x20\xf2\x2d\xae\x3f\xef\x13\xd2\x29\x2d\x12\x18\xef\x33\xa8\x86\x1d\x38\x24\x06\xa7\x30\x77\x62\x77\xa0\xa7\x05\x4a\xa6\x15\x15\x91\x8a\xd5\x62\x53\x4b\xb7\x12\xb1\xaf\xeb\x25\x57\x0c\x7c\x2b\x2e\xd4\x37\x4d\x2d\x4d\x1c\x54\xd3\x07\xd7\xd4\x54\x46\x98\x65\xc3\x2a\x0d\x34\x4e\x0a\xf6\xda\xca\xbe\xee\x03\x93\x03\x1b\x94\x99\x9d\xf6\x10\xd1\xa8\xf3\xa1\x11\x74\x46\x8a\x88\xff\x01\x00\x3a\xb1\xe5\x26\x6c\x35\x50\x9f\x3e\x76\x89\x2c\xda\xa7\xc7\x34\x64\x83\xe8\x8e\x40\xbf\x7a\x3a\xbb\x58\xd0\xc5\x05\x98\xf1\x08\xcf\xbe\xa1\x52\xf3\x5b\x40\xa3\x93\x76\x8d\x8b\x79\x14\xe3\x73\xf9\x10\xdf\x35\xcc\xd6\x10\x6a\xd6\xf3\x20\x68\x3b\xd2\x15\xf1\x70\xdb\x83\x82\x68\x33\x14\x32\xbe\xd8\x16\xa4\xf3\x37\xe6\x33\x43\x2e\x1a\x09\x1e\xcd\xa4\x38\x1d\x2e\xed\xd0\xca\x18\x2c\xbc\x6d\x69\xe0\x79\xa4\x42\x4e\xe9\x66\xd0\xd2\x2d\xef\xa3\x49\xa1\x7e\xca\xa0\x47\x41\x04\xe5\xee\x34\x9d\x35\xb5\xa9\xe0\xeb\x7e\xf9\x9d\xa4\x6a\x26\x57\x44\x26\xdf\xb2\x48\x6c\x46\x80\xa2\x30\x01\xa2\xe3\xfa\x57\x28\xbe\x33\x98\xc8\xbe\x10\x13\x99\xc2\x84\x04\xd1\x96\x4e\x86\x7c\x1b\xb1\xf3\xd8\x06\x95\x59\xae\x81\x19\x6a\xdc\x55\x96\xa8\x3d\x8a\xfd\xc6\xb4\xd8\xf0\x63\x86\x14\x59\xbd\x82\x57\xc8\xbe\x1e\x91\xb1\x30\x99\x45\x12\xd9\x39\xa2\x80\xe6\x4c\x45\xcd\xb0\xa7\xeb\xa9\xc0\xaf\x1f\x97\x05\xad\x64\xd2\x7a\x20\xb7\x19\xa0\x8f\x7b\x92\x24\x45\x95\x7d\x47\xd3\x2e\x10\x34\xc7\x64\xf5\xdb\xf6\x87\x7b\xda\xa4\x65\xfd\xc0\xb3\xf5\xb2\x3e\xdf\xf6\xb2\x03\x00\xb0\x7c\xfb\x27\xd6\x7b\x30\xf5\xf6\x7c\xea\xf5\xb1\xa4\xb6\x95\xc0\x74\x01\xc7\x08\xf4\x21\x2c\xe3\xce\x6d\x37\x70\xd4\xf5\x08\xee\xd0\x8a\x4d\x7c\x01\xb6\x9d\x91\x09\x7e\x6f\x47\x49\x7b\xd7\x50\x43\xb3\x8d\x37\x55\xbb\x00\x15\x84\xb0\x27\x4d\x4b\xdf\x56\x1d\x34\x7c\x56\x4e\x73\x12\x01\x4b\x51\xf3\x8e\x0e\x87\x15\xbe\x5a\x49\xa7\xda\xb1\x2c\xa7\x5f\xc7\x64\xe1\x80\xdf\xb5\x60\xd3\x38\x9d\xee\x1c\x0c\x2d\x8e\x21\x4a\xc6\xd3\x9e\x3a\x4c\x26\x29\xee\x79\x2e\x99\x2b\xb6\xef\xc9\x8e\x2a\xe5\xa6\x21\x5f\xca\xce\x81\xe5\xe5\x73\xf7\x16\x12\xa4\x0f\xe1\x31\x14\xc2\x92\xc8\x95\xe4\x57\xf6\xbe\x1c\xf6\x36\x63\x3f\x29\x72\xf3\xa2\x64\xbd\xe0\xc8\x2a\x6e\xe6\x10\xac\xfb\x9f\xaa\xac\x99\x5f\xb8\x6a\x9a\xc5\x83\xf3\x31\x5f\xd1\xdb\xd9\x1d\xbe\xa2\xbb\xc9\x64\xb3\x8e\x3a\xb8\xb6\xf7\x76\x7a\x0f\xea\xe0\x28\x0d\xa2\xf3\xa0\x83\xf4\x33\xaf\x39\x3b\x59\x06\x6d\xe7\xa0\xa5\xa1\xe6\x4a\x3e\x8b\x58\x5b\x30\xbf\xfc\x4a\x66\x4f\x28\xf2\x3c\x6a\x54\x46\xab\xad\xae\x68\x2d\x32\x1d\x04\x20\xb1\x31\x7c\xe0\xcd\xa6\x72\x0f\x92\x1d\x73\xb2\xcd\x13\x77\x14\x49\xbe\x39\xb4\x2b\x6d\xef\x9e\x0d\xad\xf2\x15\x80\x97\x81\x8f\xdc\x18\x74\x34\x0b\xb2\x85\x2d\xf2\x1b\xee\x1b\xee\xea\xba\xec\x8a\xfd\x89\x13\x2b\x20\x3d\x1c\x40\x42\xdb\xae\xa9\x3f\x81\x79\x18\xf1\x6c\xb9\xb5\x15\x58\xf5\xe1\xd8\x09\x3c\x59\xde\xeb\x08\x03\xf3\x22\x10\x91\x45\xfd\xb4\xa7\x96\xc1\x27\x2e\x68\xc5\x33\x54\xe2\xa2\x13\xdb\x1d\xc4\x05\xdf\x0a\x2a\x4e\x98\xb0\x83\xc3\x7d\xec\xb7\xa8\x8a\x0e\x02\x0d\x2a\x1b\xec\xe9\x71\xd6\x61\x10\x95\x54\xc5\x8e\xa7\x33\x82\xf9\x0a\x73\x82\x66\xa3\x05\xa0\xab\xf7\x00\xb7\xb4\xa4\x8c\x69\x83\xf9\x15\xee\xe8\x6e\xcf\xec\x9a\xc0\x32\xab\x15\x14\x33\x91\x2e\x50\x97\xd7\x8e\x36\x4b\xd2\x34\xf5\x03\xb8\x7e\x71\x99\x14\xf7\xce\x06\x45\x55\xd1\x46\x37\xe0\x7f\x2f\x74\x8d\xae\xd8\x24\x3b\x93\x7b\xd5\xbb\xa2\x2b\x29\x53\x82\x09\x2d\xc9\xa7\x60\x85\xf3\x6e\x57\x32\x30\xe3\xba\xea\x48\x51\x51\x0e\xf3\x7d\x41\x1f\x98\x99\x17\x3c\xea\x99\x00\x26\xce\xb4\xee\x0c\x56\x83\xbd\xaa\x0c\xb7\x56\x38\x5f\x1f\x42\xa2\x96\x4c\x45\x59\xf9\xca\x46\xa3\x08\x7e\x3c\xa8\xe2\xe6\x17\x19\xed\x7e\x10\xd7\x50\xed\x84\xfb\x5a\xc1\x66\xbb\x03\xea\xae\xe7\x0d\x0a\xa6\xd4\x03\x5f\xcd\x44\x3a\xdf\xc3\xe7\x48\x1f\xe8\x65\xd3\x9d\x62\x57\xe3\xc0\x35\x9e\x5f\x91\x3b\x31\xd3\xe5\x72\xad\x36\x68\xd0\x9b\x74\xcb\x1c\x2a\x99\xbf\x0c\xc3\x0c\x4d\xc5\x7b\xc1\x42\xe3\xc2\xce\x40\x28\x28\x6d\x47\x5d\x88\x3f\xe9\xa5\xac\x95\xe5\x0f\x76\xa4\xba\x23\x25\x98\x87\x99\x00\x21\x0f\xf5\x16\xf1\x6c\x63\xec\xe8\x06\x81\x0a\xd8\x00\x5c\x8c\xdb\xf0\xfd\xdb\xaa\x4d\x7d\xd7\x81\x51\x95\x28\xcc\x17\xe0\x73\x61\xe6\x23\x5b\xb1\x69\xb3\xc3\xe2\xf3\x3b\xe4\x60\xaa\x90\xcf\xd1\xf9\x82\x30\x1f\xff\xee\xda\x09\x60\xb6\xef\xcb\x95\x14\x0a\x7b\x8e\x65\xf6\xa0\x30\x50\xd3\xe2\xe3\x7b\xc6\x2d\x43\xa3\x2b\xa3\x4a\x7b\xb4\x0e\xe5\xdb\xcb\x88\xd1\x5b\x92\x94\x9d\x5b\x4d\xc7\xb0\x1a\xc3\x8c\x12\x07\x52\xc5\x45\x4c\x6f\x70\x46\xf6\xbc\xf1\x89\x0b\xea\x09\x94\xbf\xc2\x47\x9e\xe0\x91\x57\x98\x39\xc1\xea\x82\x29\x20\xc7\x24\xc5\x09\x6b\x23\xb0\x55\xd9\xed\xe3\xd1\xd8\x48\xdc\xc3\x6a\x59\x41\x6a\x2d\x3c\x8f\x08\x9d\x64\xdd\x35\xd4\x2c\x93\x17\xf1\x0d\xd9\xce\xc3\x84\x81\x7c\x43\xb6\x61\x82\xc6\x70\x71\xaa\x72\x9c\x21\x14\xcd\x8a\xaa\xed\x48\x15\xb3\xa9\xf3\x31\xe2\xde\x76\xda\x44\x01\x81\x91\x1d\x59\x40\xbd\xf2\x32\xe8\x50\x03\x1f\x33\x5b\xe1\xeb\xae\xd8\xab\xff\x03\x45\xce\xab\x51\x61\x6c\xaa\x1d\xee\x4e\x07\x50\x54\x5f\x31\x2d\x38\x04\x63\x08\x82\xb1\xce\x16\xa6\x21\x42\xf8\x89\xf0\xe2\x18\x21\xcc\xf7\x00\xab\xbd\x7f\xb1\x52\x8b\x08\x8f\xa0\xc3\xb1\xe6\x18\x49\x1b\x83\x1b\x3c\x5d\xa3\xa6\xa6\xd4\xab\x7b\x63\x21\xeb\x2f\x0c\xcd\x21\x58\x6f\x22\xdd\x73\x1c\x0e\xc4\xef\x23\x14\xa8\x06\x03\x8e\xe2\x9c\xfd\x5b\x2c\xea\xff\xa7\x4b\xc3\x64\xee\xf9\xb5\x61\x0c\xfb\xc4\xb5\x61\x1d\x8e\x17\x47\x45\xa4\x5d\x1d\xf3\xc5\xe9\x1b\x4c\x6f\xac\x19\x54\xdc\x2b\xb3\xd9\x42\xb7\x0a\x2a\xe6\xa4\x7d\x25\xd2\xe5\x50\x9d\x39\x22\xad\x81\xa9\x8c\x78\x84\xb4\x73\x24\x0d\x92\x76\x14\xc4\xf3\xeb\x87\x8a\x36\xaf\x27\x3c\xeb\x51\x20\x45\x16\x45\xb9\x4d\xf8\x79\xa2\x22\x76\xbd\xe6\xc7\xa9\x32\x2f\xf7\x50\xef\x1d\xcf\x68\xf7\xf3\xdb\xd7\xd0\x98\xa4\x70\x7a\x69\xa7\x67\x88\x53\xe9\xf4\x14\x3c\x9e\x35\x2c\xfc\xef\x13\x4d\x09\x6d\xe3\xa6\x88\x68\x12\x7d\xea\x1b\xaa\x25\xd1\x76\xa5\xe7\x99\x3b\x6b\x65\x4a\x56\x6a\x79\xb5\x1e\xbd\xb4\xb7\xfa\xd0\xe6\xe8\xc6\x7d\xbb\x8f\x7d\xf2\xad\xce\x63\x94\x05\xee\xf7\x70\x11\x5e\xfe\xb5\xdd\x90\xbb\xae\xde\xfc\xb5\xdd\x5c\x16\xf8\x36\x94\x95\x69\x39\x5a\xdf\x7a\x1e\xcc\xc3\x5c\xfb\x77\x05\x73\xe8\x0e\x07\x6e\x11\x33\xe4\xe8\xa3\x1c\x79\x4c\xa6\xab\xf7\xc1\x0a\x97\x34\xed\x82\x15\x4e\x8a\x76\xcf\xcc\x51\x10\x95\x75\xfc\x01\x1c\x91\xb9\xc3\xda\xcd\x5d\xdd\xf8\xc4\x11\x6d\xc2\x6e\xd2\x3e\x29\xed\x6e\x21\x4e\x1f\xea\x0b\x14\xed\x00\x36\x47\xf3\x87\x7e\x5f\x5e\x2d\xe2\x91\x10\xe1\x32\x1c\xed\x0d\xdf\x99\xb7\x64\xf8\xac\x48\xe1\xad\x60\x95\x2a\xcc\x71\x1d\x4e\x80\x49\x26\xa1\xb3\x69\x47\x65\xdf\xf1\x7e\x0c\x53\x8d\xd6\x79\x08\xa2\xba\xeb\xea\x1d\x08\xc3\xdc\xf3\x3e\xf8\xe2\x6a\xb1\xbb\xde\xcb\x9f\x1b\xbe\x08\xc2\x39\x91\x6d\xba\x7a\xbf\xdc\xbd\xd8\xb3\xff\x1b\xf5\xba\x3a\x05\x41\x36\xe1\x17\x8b\xf2\x7a\xef\xf3\xad\x77\xfa\xa8\x04\xfe\x4f\xb6\x61\xbf\x97\xe5\x8b\x3d\xff\xb1\x91\xef\x07\x39\xb6\xb7\xbc\x57\xd6\x82\x72\xaf\xef\x17\x3d\x95\x57\xa4\x8c\x79\xe4\x37\xf9\x81\xe3\x10\xe6\xf8\x03\x2e\xf1\x4e\x6d\x3b\xd8\xef\xcb\x4f\x3f\x2a\x12\x84\xbf\xe0\x5c\xac\x8f\x23\xf2\x43\x0d\x81\xb7\xa6\xa7\x76\x5a\x81\x05\x15\x6c\x8c\xcd\x77\x84\xaf\x28\xa5\x27\x11\xfb\xe3\xc8\x3d\x85\xf4\x4c\xe8\x9b\x99\x07\xa3\xb0\x77\x3a\x11\xe9\x6e\x3e\x2f\x91\xdb\x8c\x8e\x05\xb2\x11\x32\xa8\xa1\xea\x73\x49\x52\x7e\xd1\x30\x19\x52\x6c\x6a\xde\x92\x21\xc8\xac\x8f\x16\x26\x22\x10\xb7\x23\x4d\x56\x54\x4b\xc1\xbd\x57\x2b\x84\xf3\xa9\x26\x9c\x1e\x78\x9b\x75\xd1\x7e\x4f\xbe\x87\x19\xf2\x3c\x98\xf1\x32\x48\x7e\x9d\x23\x2e\x1a\x56\x62\xbf\xc6\x3e\xe4\x7f\x17\x19\x8e\x38\xd5\x84\xe2\xdf\x22\xc7\x2a\xb4\xc6\xc4\xaa\xa4\x05\x06\x29\xee\x6d\x63\xe6\xc3\x64\x81\x19\x0f\x49\x7a\x71\xf2\x67\xd2\xe5\x7e\x53\xdf\x55\x09\x24\x6c\x04\x24\xc4\x8b\x75\x9b\xdd\x41\x47\x86\xd2\x08\xe1\x15\x32\x0f\x66\xec\xd3\x21\xc5\x18\x67\xb7\x63\x9c\xad\x25\x3b\xc5\x9e\x77\x3b\x0f\x53\x6e\x68\xf7\xb3\x4b\x97\xb7\x43\x39\xf2\x5f\xd2\xd5\x14\x81\x6b\x9a\xbc\xa6\x65\x47\x60\x8c\x23\x5c\xe0\x5b\xb4\x16\xcc\xb4\x91\xd8\x08\xc5\x65\x20\x7a\x0b\x39\xc3\xca\x73\x37\x2e\xbb\x7a\x7f\x10\x2c\xab\xcb\xf8\xf1\x2e\x2c\x37\xcf\xbe\x91\x0c\x49\x17\x45\xc0\x2e\x18\x93\xa7\x8b\x5b\x5c\x85\xe5\x06\x18\xd3\x01\x01\x30\x67\x02\xd6\x89\x9c\x99\x2e\xd5\x90\x42\xfc\x65\xd3\xd4\x0f\x70\x87\xd9\xe4\x6f\xaa\x2d\x2e\x47\x71\xdd\xbe\x99\x15\xc6\xd1\xf5\x7c\x3c\x78\x21\x85\x7e\xac\x45\x08\x8f\x92\xfc\x7e\xf5\x0d\xbc\x5a\x92\xcb\x08\x2d\xc0\xbf\x01\xdd\x44\x88\x2a\xde\x70\x1c\xfe\xed\x15\xee\x44\xe2\x43\x50\x7d\xa4\x91\x2e\x5d\xb8\x35\x51\x05\x3a\x76\xd0\x44\x9e\x53\xa2\x44\x70\xde\xed\xca\x8d\x38\x5e\x34\x00\x1d\xfd\xd8\x81\x2d\x43\x09\xb1\xf3\x66\x8c\xc3\x67\x45\x35\xeb\xea\xfd\x4c\xac\xc3\x8c\x81\x3b\x93\xf1\xf4\x33\x45\x35\xc6\x0e\x09\x61\x46\xcf\x2d\xc1\xc5\x4f\x63\x90\xaa\x12\xd3\x61\xed\xca\x4b\xb7\x19\xe1\xdc\x43\xd2\x0b\x39\x99\x1c\x9b\xb6\x71\x46\x05\x3d\x2e\xf3\xd9\x6d\xb2\x65\x08\x67\x4e\xeb\x4a\x9d\xfe\x03\xd3\x27\x9f\x59\xfc\x05\xe2\x34\xf9\xcc\xca\x28\xe5\x4b\x0f\xa5\xbe\x88\xba\x5a\x2b\xa7\x02\x00\x67\x52\x6c\x6b\xa8\xf6\xa7\xf1\xe0\x1a\xb7\x79\x64\xd0\x73\xae\xcc\x33\x62\xc6\xc3\xeb\xa6\xc8\x8a\x8a\x94\x4b\xd9\x1e\x31\xe7\x78\xfa\x39\x1e\x77\xaf\x0b\x97\x64\x8b\x11\x9b\xf4\x96\xf7\xd4\x11\x4d\x3d\x6b\x8c\x1c\x7f\x65\x5b\xd8\xa5\x60\x61\x34\x28\x5b\x59\x4b\x27\x8d\x49\xe8\x24\x04\xdf\xfe\xf0\xfa\xff\x70\xa7\x43\xee\x4d\xe0\x27\x4f\x64\xb4\xfb\x96\x49\xde\xa2\xca\x5e\xf1\x3c\xc9\x4f\x34\xee\x20\x5a\x8b\x43\x75\xa9\x30\x2c\x3c\x0f\x52\x2b\xfe\x41\xf1\x23\x7f\x10\x50\x61\x83\x2c\x29\x17\x6b\x58\xe4\x4a\x03\x2a\xad\x9a\x25\x65\x02\xee\x88\x54\xe9\x5e\xb2\xb1\xac\xca\x63\x10\x29\xa9\xc6\x48\xfc\x51\xa4\x79\x82\x64\x33\x99\x94\xd3\x55\x8a\x87\x83\x2b\xa7\xf7\xbe\xde\x07\x91\x51\xca\x88\x8e\x38\x67\x83\x0a\x58\xfb\xc2\x19\x7e\x0d\x91\x02\xb7\x7f\x20\x6e\x40\x74\x0c\xd8\xfc\xfb\xcd\xae\xe6\xcc\x33\x9c\xe3\xe1\x41\x6e\x0e\x23\x69\x20\x6c\xfb\xfa\xf0\xde\x14\x24\x02\x1d\x42\x81\x44\x72\x70\x2c\x95\x0a\xd7\x31\x91\x00\xf5\xf2\xd9\x32\xbe\x7c\x76\x54\xe6\xa1\xf9\xde\x32\x39\xf9\x82\xb4\x04\x9d\x23\x5d\x3e\x5b\x26\x97\xcf\xcc\xd7\x97\xf1\x31\x78\x52\x43\x35\xce\x71\x84\x06\xa7\x0a\x75\xe0\x42\x48\x3a\x9b\x1c\xd6\xba\x58\x42\xc7\x90\xd5\x1e\x15\x2a\x29\x68\x22\xa4\xec\x0e\x28\xcb\x50\xf8\xe1\xb0\x32\x9c\x44\x6d\x97\x0f\x06\x62\x83\x5f\x72\x62\x3e\x30\x70\xa4\xde\x26\x48\x05\x6e\x05\xb6\xd3\x65\x26\xe9\x0b\x17\xda\x8e\x50\xb7\x16\xc9\x3a\x7f\x91\x71\x83\x9d\x13\x7e\xc8\x7f\x2f\xf3\xa0\xb8\xce\x84\x41\x25\x11\x2a\xf6\x32\xaa\x06\xfa\xf6\xb2\x10\xa5\x12\x72\xcb\x8b\x5c\x93\x14\x7f\x50\x06\x58\xba\x88\xd7\xb7\x2f\x32\x61\x86\x08\x96\x0b\xc5\xd5\xf2\x36\xf8\x70\x9d\xf5\xdc\x6a\x3e\x5b\xc8\xfb\xcb\x0f\x6a\x13\xd4\x8c\x8e\xd6\xcd\x2d\x47\x87\x07\x51\xab\x70\xa2\x44\xb5\x66\x10\x7b\x9f\xe3\x50\x7c\x1e\x0e\xd0\xe1\x10\xc7\x3e\x7f\xbc\x91\xff\x85\xcb\x1b\x71\xe7\x56\xde\x1a\x33\xd9\xcf\x6f\x5f\x5b\x85\xee\x49\x3d\x23\x8b\xf0\x9f\xff\x84\x57\xf4\x3f\xbe\x11\x66\x24\xa9\x92\x7a\x07\x11\x5a\x3f\xe4\x45\x49\xfb\x6d\x09\x19\x55\x52\xe4\xdb\x4f\x6f\x13\xb6\xb0\x1a\xfa\x41\x3d\x7d\xb1\x9f\x12\xc9\x4c\xf1\x85\xfa\xd7\xe1\x30\x3c\xa0\x46\x26\x92\x86\xc5\x20\xb6\xed\x35\xe8\x52\x3c\x35\x7e\x4b\x21\xce\x15\xff\xd0\x24\x12\x89\xa6\x51\xa9\x28\x89\xc6\xdb\xdd\x8d\xb4\x8e\xdd\x5c\x6e\x22\x9b\x6e\x7f\xe5\xda\x5f\xf0\x46\x3e\x9d\x7c\xcb\xbc\x3a\xbd\x41\xc1\x3a\xc2\x73\x1d\x79\x1e\x8c\xc3\xa7\x06\x0a\xf1\x6f\x1e\x21\x44\x38\x96\x6b\x31\x38\x31\x20\x96\xbe\x67\xcc\xe8\x95\x47\xbd\x61\x3c\x58\x19\x99\x91\x9d\x28\xbd\xb4\x42\x8f\x66\xbe\x54\x19\x40\x45\x42\x07\xc5\x97\x56\x3d\xaa\x0f\x16\x44\x60\x45\x9a\x6f\xaf\xfb\x29\xc8\x07\x47\xfb\xc8\x72\x49\x46\x6b\xf3\x42\xd5\x33\xc8\x4b\x57\x45\x83\x7a\x74\xbe\xa6\x41\xf5\x29\xab\x1a\x7e\xb3\x0c\xf9\xbe\xde\xf3\x94\xd9\xaf\xc9\x90\xab\x3e\xfe\xdb\x32\xe4\x22\x9b\xad\xbb\x15\xd9\x6c\x71\x6a\x4c\x8f\xaa\xf1\x17\x9e\x7e\x14\x2f\xf4\x9f\x74\x52\xe8\xbf\x6d\x01\x3a\xfd\xa5\x07\xd3\x50\x99\x5a\xd4\x7e\x5b\xd9\xa3\x91\x14\x97\xc5\x3c\x3a\xeb\xa6\x3e\x22\x23\x4c\xd4\x00\x80\x89\x2c\xb9\x9a\xdd\xa9\x2c\xb9\x9d\x1d\xcf\x9f\x0f\xde\x95\x5a\xe2\xfa\xc5\x65\xfe\xfc\xda\xd1\xb7\xde\xd0\x65\xa7\xcf\x8f\xc8\x64\xb5\xa7\x4d\x5d\x37\x47\x76\x3d\x99\x45\xf2\xbf\x3e\x93\xf8\xa5\x2e\xb0\x91\xac\xd3\x31\xeb\xde\x2d\xb6\xd1\xf5\x54\xb7\x78\xf0\x72\xbf\x39\xae\x3f\x08\xb4\x8f\xfb\xf2\x73\x41\x5c\x1d\x0f\x19\x20\xd6\x63\x89\x30\x6e\x3f\x68\xec\xf6\xc5\x9d\x8e\xf8\x4c\x3a\x9a\xee\x09\xf2\xa1\x21\x3a\x1c\xa6\x1b\x38\xb2\x21\x9f\xe3\x57\xf5\xa7\xd2\x6a\x74\x8f\xcd\xfa\x93\x0b\xa9\xed\xa2\xc8\x6d\x17\x99\x56\x91\x46\xbd\xdb\x1c\x8a\x7c\xd9\x60\xa3\x7f\x09\x93\x88\x70\x93\x48\xdf\xfc\xef\x37\x2e\x9c\x46\xc5\x19\x2b\x48\xed\xd0\xe3\x16\xd1\x94\x19\xa4\x4f\x40\x2a\xf6\x96\x1a\x92\xeb\xb8\x36\x2f\x94\x1a\x92\x97\x2e\x35\xa4\x1e\x9d\x57\x43\xaa\xcf\x2f\x53\x43\xe6\xd9\x3a\xd6\xd9\xfa\x4d\x1d\xd3\xb6\x15\x81\x08\x59\x81\x21\x37\xbf\x8a\xda\x1b\x35\x5f\xe1\x0d\xbc\xd1\x95\x33\x04\xc6\xfc\x13\x66\xb2\xd5\x46\x78\x9b\xc1\xb0\xa0\xc6\x14\x61\xd1\xf8\x8b\x3f\xaa\x00\x22\x1c\x60\x5b\xee\xd6\x01\x00\x2d\xc0\xcc\xaf\xc8\xfd\xac\x2c\x66\xd7\x33\x22\x6b\x24\x85\x83\xdd\x86\x37\x32\x8b\x24\xda\xf7\xd7\xe2\x44\x58\x61\x05\x8d\xb6\xe1\x8a\xe8\xa3\x3e\x52\xca\x9a\x18\x2f\x96\x11\x77\xfc\x48\xbd\xd0\xee\x3f\xf1\xb3\x40\x65\x88\x32\x6d\x68\x9b\xab\x80\x8e\xc4\x1f\xb4\x4e\x4a\x89\xbf\x58\xe7\xf7\x03\x3a\xb5\x7e\xec\x79\xf1\xe0\x73\x18\x26\x88\x5c\xc7\x47\x27\x74\x7c\xcc\x74\x7c\x2c\x0e\xb9\x8c\x46\x4a\x37\x32\x0a\xcd\x04\x86\x83\xab\x15\x5b\x36\x4b\x78\xbc\x33\x91\x38\xc5\x4d\x16\x52\x87\xd5\xe0\x87\x03\xf7\x6a\x76\xe4\xa3\x51\x23\x3c\x6c\x84\xcf\xc4\x4b\x74\x89\x7a\x64\x05\x86\xf9\xe2\x8c\x33\xc7\x32\xf0\x0c\x70\x1c\xae\xd6\xc4\x2f\xda\xbf\x70\x72\x85\x6e\x68\x99\x34\x8b\x98\xae\x16\x5e\x35\x50\x3a\x6c\x40\x2b\x46\x4c\x06\x3d\x8d\x2e\x2d\x02\x54\x72\xda\x44\x28\x54\x99\xe8\xae\xdf\xc7\xc4\x63\x41\x5c\xac\x59\x2c\x83\xfc\x1d\x19\x6d\xb8\x75\x91\x95\x79\x0e\xd3\xa0\x64\xf6\xf2\x6f\x5f\xf9\x46\x21\x2b\x81\x7d\xd8\x95\x7f\x98\x4e\x9d\xbd\x92\x8e\x0a\x4a\x6f\x6e\xf8\x3e\x7b\xc4\x7d\xfd\x18\xd3\xed\xf6\x70\xe0\x1b\x8f\x90\xdf\xd6\x8d\x51\x17\xc0\x4d\x47\x25\xc7\x6e\x56\xdb\x25\xf3\x86\x8f\xe3\x83\x94\x54\x2e\xa0\xf5\xf7\x77\xad\x28\xd8\x61\x2b\x81\x13\x85\x44\xe3\xfe\xd5\x96\xef\xa2\x8a\xac\x73\xe1\x39\x1f\x4e\x3b\xfb\x93\x4b\x67\x1f\x53\x26\x80\x30\x8c\x16\x7b\x75\xd4\xa7\xc2\xec\xe6\x8b\x78\xe9\x1a\x44\x05\xde\xd4\xfe\x2a\x39\x41\x1d\x05\x17\xf3\x52\x61\x1c\x53\x66\xe9\x5a\x06\x93\x60\xe6\x61\x2c\x83\x42\xbd\x0c\x8a\xae\x43\x55\x4b\x30\xcb\xe6\x21\x24\x61\x7a\x93\xea\xe3\x41\xb6\xaa\xfe\x81\xf7\x4d\x3a\x0a\x09\x0f\x09\x65\x9e\x17\xbd\xa0\x0c\xbd\x26\xd3\x4e\x08\x4d\xee\xd1\x41\x51\xa8\x48\xfa\x12\x44\xb2\x5c\xae\x51\x36\x0f\xd3\x1b\xb2\xf5\xbc\xe8\x3a\xa4\xfc\x07\x9c\xd3\x1b\xb2\xb8\xda\x1e\x0e\xd1\x8b\x50\xfc\x1c\x01\xc1\x5e\x19\x2c\x9f\x7a\x66\x39\xd4\x63\xa8\x22\x1b\x24\xe3\xc0\x44\xc5\x15\x8b\x0b\xfb\xb0\xdc\x8b\x45\xc4\xcf\xd0\x95\xa7\xd1\x19\xcd\xc4\x39\xbb\xf2\xf9\x05\xe6\x5f\x8e\x42\x32\xe9\xdd\x42\x50\x16\xc0\x75\x46\xfa\x3a\x51\x79\x71\xe3\x48\x27\x7e\x7a\x47\x7f\x52\x91\xfd\x8d\xa9\xb2\x30\x0e\x96\x72\xf4\x68\x9d\x41\xa3\xf0\x60\x2b\x9f\x01\xb2\xf8\xf4\xed\xfd\xb3\x03\xc9\x20\x67\xf1\x73\xd5\x15\xa5\x4b\xb3\xe2\x73\x67\xed\x5b\xa6\x8d\x06\x64\x6d\x5f\x2a\x1b\x46\xdf\xb0\x0c\x9c\x68\xf8\xf0\xbc\x89\xd3\xf7\xdc\xef\x20\x18\x1e\xbf\x6d\x61\xc6\x3c\x82\xc5\x71\x28\x37\xeb\x49\x9d\x48\x3a\x75\x22\x77\xa4\x4f\x31\x92\xa7\xc7\x45\x38\xfa\x75\x27\x72\x7f\x69\x41\x3c\x89\xc4\x57\x56\x07\xf7\x2c\xd7\xfd\x29\x27\x57\xc7\x63\x26\x32\x8f\x2c\xf9\xdc\xe2\xf3\x73\x45\x59\xe6\x00\x38\x0e\xa3\x9e\xf2\xef\x4a\x79\x80\x92\xc9\x27\x08\x20\x7e\x5a\xb9\xad\x9b\xf8\xd7\x6a\xf8\x09\xf6\x83\x03\xe4\x92\x30\x99\x3a\xc4\x5e\x9f\x15\x87\xe7\xfa\x24\x38\xc1\xb6\x8e\x4f\x68\xa8\xa3\xa5\xec\x4f\x4d\x04\x25\x69\xbb\x19\x91\x07\x93\x0f\x92\x91\x1c\xf9\xc3\xf3\x17\xb8\xf2\x32\x53\x97\xaa\x14\xcd\xd5\x9a\xf2\xd6\x6c\x6e\xd4\x3c\x1c\x39\x32\xb3\x98\x73\x77\x1a\x93\x9f\x88\x36\x7d\x4c\x6c\x6e\x9e\x90\xa9\xe4\x6a\x64\x0a\x1d\x80\xf4\xd9\xe3\xba\x41\x8e\xf3\xbe\xaa\xc7\x58\xc8\x1e\xba\x47\xb6\xd0\x81\x91\xcd\xe5\xd3\x72\xe2\x20\x1a\xbe\xa4\xcb\x5c\x1c\xef\x08\x4c\x1c\xf9\xa9\xa6\xf1\x69\xb9\x8f\x13\x4c\x8d\x74\x75\xca\x3f\xc8\xeb\x14\x52\x72\x2d\xaf\x67\x36\x85\xcd\xae\x67\x67\xa4\x9b\x88\x09\x38\x4f\x33\x65\xb0\x33\x51\x31\x79\x84\x6d\xe4\x10\xe1\x5f\xd0\xd3\x0a\xe1\x7c\xc3\x33\x03\x56\xc1\x47\x34\x28\x0c\x61\x3e\xf2\x28\xf0\x00\x18\x14\x53\x5a\xc8\xf3\xa2\xa7\xeb\x9e\x2f\x46\xc4\x8a\x9f\x8b\x42\x21\xfa\xdd\x51\xec\x42\x48\xfa\xc5\xd0\x9f\xe3\xc8\x43\x3a\xf9\x3d\xa2\x4c\x6b\xcb\xf1\x17\x83\x0f\x87\xf9\xdc\xe8\x4f\xdc\x54\x47\xa7\xad\xfb\x37\xf3\xc9\x4f\x0b\xa7\x9f\x97\x9e\x4f\xf9\x47\x94\x47\xe5\x02\x76\x98\x99\x44\x6b\xf5\x43\x87\x97\x49\xe4\x0c\x2d\x93\xe8\x29\x61\x65\x12\x9d\xf8\xec\x87\x63\xcb\x98\xdc\xac\xa5\x94\x87\x38\xd5\x17\x9d\xf8\x2a\x06\x83\x63\x72\x8f\x9d\x58\xdf\xd1\x77\x31\x4e\xbe\xb3\x2f\xb8\x22\xc5\xbf\xe1\x77\x8d\x49\x9a\x16\x1f\x9f\xfc\x59\x63\xd1\xfa\x73\x82\xdd\xa7\x3e\x64\xfc\xc4\xaf\x16\x7f\x2d\x6d\xcd\x61\xc4\x48\xe6\x60\xec\x88\x02\x87\xd0\xc0\xb0\xfd\xc9\xc2\x9c\xc6\x1f\x54\x2e\xd7\xfc\xe0\x61\xff\xcd\xe9\x27\xbf\xfe\x97\xa2\xcb\xb9\x8a\xfa\xae\xae\xf7\xce\x0d\x31\xc6\x01\x66\xbc\x5b\xb5\xc1\xed\xae\xda\x17\x95\xf8\xb9\x2f\xaa\x4a\xe7\xfe\x0d\x97\xc0\x1c\x08\x4e\x58\x14\x3f\xbd\x79\xf7\xe6\x7d\x08\x78\xd7\x33\xfe\x77\xd9\xd5\x7b\xf9\x4b\x96\x0b\x58\x7b\xdb\x64\xc8\x61\x85\x05\xe6\x02\x61\xf9\x8d\x82\x97\x83\xef\x39\x0f\x92\xef\xe6\x8a\x98\x5e\x9e\x72\xba\xcc\x6c\x93\xaa\xd1\xb0\xde\x51\x4e\x1b\xd3\xda\x6c\xc6\xdc\xeb\x92\x35\x0a\x26\xae\x94\xeb\x14\x5f\x53\x59\x3c\x36\xe7\xdf\xdc\xeb\x2b\x21\x5c\xad\x65\x8f\x1b\xba\xe8\x51\xfd\x22\x4c\x79\x7a\x7d\x7e\x15\xe8\x92\x58\xb2\x4c\xae\x43\xba\xc8\xcc\x9b\xb2\x0c\x5b\x14\xb1\x98\x9d\xe3\x22\xcc\x37\x34\xe0\xbd\xe0\xdb\x30\xdf\x64\x41\xb4\xb6\x07\xf4\xbc\xf8\x3a\x54\x80\x8a\x7b\x89\xe7\x15\x8b\xdb\xeb\x90\x2c\x93\xbe\x14\x77\x98\x27\xcd\x68\xf7\xa3\x49\x03\x06\xd3\x2a\x17\xd5\xa4\x11\xcb\x9f\x34\x1f\x9c\xf8\x44\x83\xa4\x14\x4b\x3d\x09\xa6\x5f\x9b\x41\x69\xc7\x92\x0e\x3f\x28\xad\x96\x74\x3d\x05\x85\xac\x77\x20\x8e\x9d\xf7\x4e\xb6\x31\xa7\xeb\xf8\x66\xf7\x14\xcf\xe2\x2b\xd7\xde\xfe\x71\x7d\x53\x8f\x43\x3d\x05\x3b\xcc\x62\x99\xd8\xfd\x51\x17\x27\x63\x11\x5c\x7c\x32\x42\x48\xc3\x44\x56\x2c\x31\x73\x55\xc5\x69\x7b\xfa\x56\xf2\x54\x57\x8b\x25\x9e\x07\xd3\x90\x86\x09\xc2\x8e\x50\x3e\xe5\xf5\x52\xbc\xeb\x41\xdd\xba\xb3\x79\xca\x3b\x53\x10\x0c\xdf\x90\xa4\xac\x63\x2c\xfc\xab\xf2\x19\x8e\x30\xc5\x69\xbf\x91\x43\x92\xf7\x3c\xcc\xd1\xa3\xa0\xd9\x9e\x69\x86\xe7\x7f\xf0\xca\x60\x5e\xdf\x09\x74\x39\xad\xa4\xa3\x05\xcc\x37\x60\x09\x16\x79\x00\x00\xc2\xb7\xda\x74\x2f\x16\xc0\xef\x35\xcc\xf4\x27\x1b\x6e\x11\xbe\x3d\x79\xd2\xaf\x25\x42\xe5\x69\x2d\x42\x88\x1a\x15\xf2\x1b\x35\x59\x93\x9f\x20\x0a\x7a\xa9\xfa\x44\xee\x28\xfa\xaa\xcb\x42\xfb\x45\x72\xaa\x18\x48\x30\x00\xb2\x26\x77\xb4\x4a\xf5\x9d\x5c\xc3\xab\x96\xb2\x65\xb4\x4c\x99\x95\x6e\x5a\x3e\xbc\x8f\x75\xff\x53\x59\x3f\x42\x17\x39\xec\x1f\xf1\xe0\xbc\x05\x24\x7a\x9b\x76\xf5\x4f\x38\xf5\x62\x5e\x67\xbf\xb2\xd5\x9f\xef\x8d\x74\xb1\x71\xa8\x7e\x1c\x0e\x8f\x47\x2c\x65\xa1\xbc\xf5\x2d\xc7\x92\xe7\x41\x75\x43\xd2\xef\xa0\x01\x1a\xbc\xf6\xbe\xde\x9b\xef\x74\xf5\xde\x7c\xa4\x2d\x37\xa6\xa6\xac\x90\xc2\xfa\xff\x05\x00\x00\xff\xff\x1f\x84\x77\x90\x7c\x8a\x00\x00") + +func assetsJsBootstrap332MinJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsBootstrap332MinJs, + "assets/js/bootstrap-3.3.2.min.js", + ) +} + +func assetsJsBootstrap332MinJs() (*asset, error) { + bytes, err := assetsJsBootstrap332MinJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/bootstrap-3.3.2.min.js", size: 35452, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsControllersJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\x3b\x7f\x77\xdb\x36\x92\x7f\xdb\x9f\x02\x65\x7d\x26\x55\x4b\x94\xd3\xed\xee\xdd\x4a\x51\xb2\xad\x9d\xbc\x78\xb7\x4e\x72\x75\xfa\xf6\xde\xd9\xbe\x3e\x88\x1c\x89\xa8\x41\x82\x05\x20\x3b\x6e\xab\xfb\xec\xf7\x00\x02\x24\x48\x82\xb2\x9d\xf4\xde\xbb\xf3\x1f\x89\x04\xcc\x0c\x66\x06\x83\xf9\x05\xe8\x16\x73\x94\x63\x42\x33\xb6\xfe\xb6\x2c\xd1\x02\xe1\x62\xbd\xa1\x98\xc7\x39\x4b\x37\x14\xa2\xb0\x99\x0c\xc7\xe8\xf2\x7a\x34\xdf\xdf\x6f\x86\xe2\x94\x70\x48\x24\xb9\x85\x28\x94\x98\xaf\x41\x7e\x47\x71\x71\x13\x8e\xd1\x6a\x53\x24\x92\xb0\x22\x1a\xfd\xb6\x8f\x10\x07\xb9\xe1\x05\x52\x1f\x11\xa2\xa4\xb8\x41\xb3\x06\x42\x24\xac\x84\x31\x02\x0a\x39\x14\x72\x8c\xb0\x94\x9c\x2c\x37\x12\xc4\xa8\x42\x40\x76\x2e\x66\x45\x14\x52\x86\xd3\xd6\x02\xc8\x42\x21\xa4\xa4\xc1\x68\x51\xc3\x27\xac\x90\x50\x48\x11\x8d\xe2\x15\x29\xd2\x28\xc4\xe1\x68\x5e\x43\xe3\x58\x2d\x65\x39\x0f\xc7\x28\xfc\x69\xa9\xd9\xaf\x61\xb6\xe6\xd3\x76\x1f\xa1\xed\x7c\x5f\x7d\xdd\xb7\x0b\xa3\xf5\x86\xa4\x66\xf5\x7a\x4c\x7c\x53\xf3\x63\x64\x3e\xc7\x32\x8b\x57\x94\x31\x1e\x45\xcf\xd0\x51\xf5\x9d\xe3\x22\x65\x79\x34\x1a\xa1\xaf\xd0\xf1\xc7\x67\xc7\xc7\xc7\xc7\xa3\x9a\x2d\xf3\x17\x4b\x76\x21\x39\x29\xd6\xd1\xb3\xbf\xf4\x27\xc5\x66\x29\xcc\xac\xe6\x71\xdb\x68\x59\xf3\x70\x64\xff\x0b\x27\xe1\xae\x2f\x0d\x61\x1f\x88\xf3\xdf\x7c\x7f\x3b\xb4\xf3\xc5\xfa\x1f\x70\xff\xaa\x90\xc0\x9d\x7d\x41\x46\x11\x86\xa9\x66\xd8\xb7\xdd\xc2\x2a\xcd\x6e\xdc\x52\xed\x56\x70\x03\xf7\x29\xbb\x2b\xd0\x0d\xdc\x97\x1c\x84\x08\x5c\xf2\x70\x0b\x85\x6c\x36\x9f\xac\xaa\x91\xf8\x2e\x23\x49\x86\x16\x8b\x05\x7a\xf6\x27\xd7\x36\xf4\xba\xf1\x01\x2e\x4b\x7a\x1f\x39\x5c\xfe\xe6\xe8\xd6\xc0\xc0\x2d\xa6\x91\xe6\x2b\x6e\x64\x73\x0c\x67\xeb\x7c\xae\x16\x2d\xb9\xfe\xff\x14\x56\x78\x43\x65\xd4\x18\xd0\x7e\x03\x6f\x0d\xc8\x51\xa2\xb2\x4f\xce\x28\x05\x1e\x85\xe7\x98\xd0\x13\xc9\x69\x4b\x87\x07\x46\x5b\x07\x99\x94\xe5\x18\x1d\x88\x44\x7d\x91\x24\x07\xb6\x31\xc2\x57\x20\x71\xc6\x84\x54\xc7\xb7\x24\x6f\x98\x90\xf3\xfd\x66\x26\xc1\x49\x06\x68\x81\x7e\xdb\xce\x9b\x41\xc5\x30\x81\xbb\x6f\x29\x7d\x03\x38\x05\x2e\xd0\x02\xad\x30\x15\xe0\x62\x6a\x99\xc4\x7b\x28\x52\x52\xac\xbb\x14\xf4\xe4\x09\xdb\x14\x6a\xd9\xe3\xee\xc4\x29\x2b\xc0\x37\xfe\x1a\x13\x0a\x69\x35\xe3\x30\x8f\xc5\x2b\x35\x7b\xc1\x36\x3c\x81\x86\x95\x1a\x40\xd8\x89\x62\x43\xa9\x8b\x49\x24\xe4\xe2\x3d\xf0\xf7\x78\xad\xa6\xff\x7c\xec\xe0\x48\xcc\xe5\x59\x91\xc2\x47\xb5\x9c\xc2\x21\xab\x48\xde\x97\xc0\x56\xd1\x85\x64\x1c\xaf\x61\x84\xbe\x58\x2c\x50\xb0\x29\x52\x58\x91\x02\xd2\xa0\x31\x18\x3f\xfd\x12\x73\x01\x67\x85\x8c\x28\x4b\x30\x35\x54\xe2\x35\xc8\x33\x09\x79\x14\xb8\xd0\xc1\x68\x8c\x9e\xd5\xc7\x9a\xac\xa2\x2f\x3c\x24\x5d\x03\x1d\x92\xa8\xb1\xb5\xd6\xa2\xc2\xbb\xe8\x18\xfd\xb9\x5e\x53\x7b\xad\xfd\x8e\x42\xce\x41\x08\xbc\x06\xa1\x75\xd2\xd8\x88\xda\x47\xff\x94\x64\x12\xd3\xd6\x54\x87\xe2\x05\x60\x9e\x64\x3b\xe8\xee\x02\xd0\xd4\x3d\x00\x0d\xc4\xcf\x24\x37\xfb\xee\x2e\x9c\xcb\x32\x07\x75\xce\x51\xf0\xf6\xdd\xdb\x57\x81\x33\x05\x14\x12\x09\xe9\xbb\x8d\x5c\x33\x52\xac\x2f\xce\x3f\xbc\x57\x60\x2e\x08\xbe\x05\x35\x7c\x01\xfc\x16\xb8\xcf\xf2\xd7\x20\xff\xae\xd7\xed\x85\x19\x15\x62\x36\x9c\xa2\x45\xeb\xe0\x1d\xa1\x10\x97\x64\x7a\xfb\xf5\xf4\x67\x92\x87\x1a\x50\x1f\x59\x45\x28\xda\x70\x3a\x8a\xc5\x26\x49\x40\x88\xda\xf3\x44\x29\x96\xb8\x67\x6e\x95\xb0\x6a\xca\x38\x8e\x18\x38\x67\x3c\xf2\x44\xbb\xbe\x7a\x2a\x0c\x13\x0c\x5a\x82\x44\x23\xf7\x54\x17\x78\x49\xe1\x8f\x11\xaf\x64\xe2\x49\xf2\xd5\xec\xf8\x78\x4d\x89\xf8\xe3\x38\x4b\x81\x82\x84\xcf\xe5\x4d\x31\xd7\x57\xbe\x41\x60\x25\x14\x17\x92\x03\xce\xad\xc3\x6f\x1c\xcc\x5b\x26\xc9\x8a\x24\x58\xe1\xed\xf0\x32\x2e\x58\xcc\xe1\x97\x0d\x08\xf9\x1e\x78\x4e\x84\xd0\x0b\x3a\xe9\xc7\xa8\x63\x9f\xe7\x4c\x45\x4a\x57\x53\xb8\x93\x7a\xe4\x1a\x22\xc2\xa3\x8e\x1f\x58\xe2\xe4\xe6\x03\x3b\x2b\x96\xec\xa3\x4f\xd1\xed\x08\x51\xfb\x5c\x67\x4a\xe8\xf3\x5a\xc5\x84\xda\x53\x6f\xbd\x0b\xbc\x26\x5c\xc8\x4f\x5c\xa5\xe5\xbf\xfb\x53\xae\xbf\x78\x98\xbd\x7a\x96\xc3\x8a\x83\xc8\x22\x93\x36\xb9\xae\x68\xbd\xa6\x50\x6d\xe8\x0e\x8e\x6d\x28\xaa\x38\x46\x2f\x7d\xd6\x80\x66\xb5\x03\xa4\x4c\x80\x6b\x24\x8e\x9a\x1a\x8c\x21\x7b\x37\x41\xdd\x31\xf8\x98\x43\x49\x71\x02\xd1\xf4\xbf\x94\x99\x4f\xc7\x28\xbc\x13\xe1\x08\xfd\xfe\x7b\x37\x45\xd4\x21\x4a\xdb\x55\xc9\x99\x64\x09\xa3\x43\xb8\x47\x28\x9c\x4e\x55\xd6\x57\x63\xa8\x95\x0a\x9c\x03\x3a\x72\xc9\x30\x2e\xd1\x4b\x14\xce\x5a\xa0\x7a\x74\x86\x42\x4d\xa7\x19\xc5\x32\x53\x04\x46\x73\x9f\xea\x50\x01\x77\xe8\x9f\xb0\xbc\x60\xc9\x0d\xc8\xa8\x73\x90\xef\x60\x29\xf4\x44\xe8\xc3\x8e\x71\x9a\xea\x5c\xe1\x7b\x22\x24\x14\x2a\x73\xca\x2b\x43\x70\x8b\x02\xe8\x9d\xee\x4e\xe2\x17\x79\x22\x6f\x2b\xd2\x1d\x1d\x35\x71\x97\xac\x6c\x26\xe6\x1a\xe5\x0b\x74\xec\x12\xf1\xd8\xad\x4b\xc3\x6f\xbb\x6d\x88\xea\xdc\x36\x69\xa6\x8f\x81\x76\xa4\x7e\xee\xcb\x1a\xbc\x5c\xb5\xf0\xdc\x65\xb7\xad\xea\xc9\xe8\x12\x2d\xd0\xdf\x2f\xde\xbd\x8d\x75\xbe\x13\x41\xac\x1d\xe6\xbc\xab\x30\x03\x2c\xe2\x4d\x21\x32\xb2\x92\x91\x19\x70\x20\xef\x32\x42\x21\xea\xc2\x53\x28\xd6\x32\x43\x2f\x1e\xcd\x7d\x8d\x59\xb2\x32\x1a\xf9\x98\x7f\xb2\xeb\x75\x75\xc3\x01\x4b\x70\xf1\x3c\x92\x6c\xbb\x35\xe1\xb8\x72\x2e\x8f\x34\x52\x75\xd8\x3f\xdb\x42\x7b\x79\xb2\xe4\x1b\xe8\x15\xab\x4f\x63\x4c\x27\x18\x03\x9c\x4d\xa7\xaa\xac\x8a\x39\xe0\xf4\xfe\x42\x62\xa9\xdd\x9e\xc3\x41\x7c\xf2\xfd\xbb\x8b\x57\xa7\x1e\x4e\x77\x09\xf3\x88\xb4\xbf\x2d\x91\x62\x64\xdb\x97\xcd\x71\xa5\x8e\x9b\x7d\xd0\x75\x57\xc0\xd1\x90\x6b\xea\x86\xa1\x61\x26\xdd\xe0\xd1\x37\x21\x97\x0f\x6b\x4d\x8e\x6b\x97\x44\x52\x45\x2d\x50\x75\x1f\x5a\x71\x96\xa3\x00\x1d\x39\xf1\xfd\x02\x8a\x14\x78\xc7\x10\x15\x26\x2b\x15\x4d\x15\xf6\xac\x4a\x97\x2c\xbd\xaf\x23\x8e\xe4\xf7\xa7\x90\xb0\x14\xce\x49\x0e\x16\x3d\x3e\xa9\x3a\x21\xb1\xa9\xf6\x2e\x83\x8b\xcd\xf2\x67\x48\x64\x70\x7d\x79\x7c\x3d\x1a\x1b\x42\x12\xaf\x67\x15\x47\x6f\xd8\x3a\xb0\xa3\x24\x61\xc5\x0c\x05\x24\x57\x27\x70\x9a\xb1\x75\x5c\x16\xeb\xa0\xda\x8f\x86\xad\xa2\x2d\xbb\x72\xf1\xad\x13\xa5\x05\x1e\x5b\xee\x8d\x3c\x2e\x92\xc7\x36\x13\x4a\x92\x9b\xdd\xa7\xa6\x4a\xf7\x8d\x63\xeb\x1d\xdb\x3b\x52\xa4\xec\x2e\x5e\xb1\x64\x23\x1a\xbf\xd1\x5a\xb5\x65\x0d\xdb\x7e\x56\xe0\xaa\xd3\xdd\x53\x21\x79\x27\xdf\xda\x14\x20\x12\x5c\xc2\x6b\xce\x72\xad\x7c\x05\xd2\x21\xc7\x41\x90\x5f\xe1\x7d\x9d\xf5\xf4\x4d\x35\x0a\x63\x89\x97\x13\xd3\xba\x0a\x47\x71\x06\x64\x9d\xc9\xe8\x20\xaa\x84\x19\xc5\xa4\x28\x80\xbf\xa9\x46\x47\x68\xe2\x41\x61\xab\x95\x00\x19\x8d\x62\xc9\x4a\x6b\xe7\x6d\x20\xa4\xbf\x94\xb8\x80\x3f\x68\x85\x6d\x3b\x3b\xad\xac\x77\xc7\x19\x30\x3a\xf3\x1a\x6d\x43\xe6\x94\x88\x92\xe2\xfb\xb7\x78\x97\x29\x2b\x7d\x57\x76\xec\x49\x83\x7a\x7f\x96\x8c\xc2\x8a\x95\xa9\xab\x34\xf8\x08\x05\x7f\x53\xc7\xaf\x35\x79\xca\x72\x4c\x0a\x9f\x74\x0e\x5b\xae\x88\xb7\x98\x6e\x6a\x01\x55\xc5\x6f\x07\xac\xb4\x41\x30\xaf\x48\x29\xf9\xd5\x09\xd6\x00\x71\x8e\x65\x92\x45\xd3\x28\xfe\x6a\x74\xf5\x5c\xff\xfb\x62\x5a\xa5\xfb\x9a\x0c\x07\xd1\xea\x73\x71\x10\x97\xcf\xae\x63\xc9\x55\xb5\xd2\xc4\xd2\x56\x36\x62\x16\x6c\x81\xb6\x9b\x52\x2d\x98\xaf\xaf\x9b\x4a\xa3\x9e\xd0\xcc\xf9\x7a\x08\xfa\x94\xba\x82\xab\x54\x6f\x8c\x30\x5f\x8b\x31\x5a\xd3\xfb\x32\x53\x2e\xc3\xf5\x76\x70\x76\x8a\x16\xa6\x63\x5a\xad\x34\x9d\x26\xac\x10\x8c\x42\x4c\xd9\x3a\x0a\x2e\x14\x5d\x95\xb2\xeb\x2e\x11\x0a\xd5\x66\x98\x0c\x34\x08\xd1\x1d\x91\x19\x22\x69\x35\xac\x68\xa9\xd1\x60\xd4\x90\x77\x9c\x21\x49\x67\x0a\xc4\x3a\x2f\x45\x64\xa6\xff\xb5\x23\x5a\x04\x48\x67\xda\x45\x9d\x62\x09\x51\xed\xff\x12\x96\x97\xaa\x6c\x9c\x55\x4e\xde\x0e\xaf\x74\xd3\xaa\x33\xa8\xa4\x9d\x55\x32\x9b\x91\x5a\xf2\x59\xf3\xb1\x9e\x03\x79\x42\xb1\x10\x33\x7f\xe3\x7a\x3a\x45\xaf\xcf\xfe\xe3\xfc\x15\x5a\x12\x89\x0a\x2c\xe4\x7d\x2b\xb1\xc9\x88\x88\x2b\x26\xda\x71\xd4\x9a\xd5\x72\x3d\x49\x71\xb1\x06\x1e\x0c\x64\x46\x8a\x80\x15\x6e\x90\x84\x29\x93\x7d\x34\x1c\xa8\x3b\xcc\x0b\x52\xac\x83\xb9\x62\xba\xac\x7a\x83\xd6\xb0\xac\xb4\x29\x2b\x60\x50\xd2\xaa\x32\xf7\xf6\x18\x2f\xe1\xec\xf4\xba\x95\x8f\xea\x24\x27\x23\xc2\x69\xb8\xd6\x82\x74\xf2\x9f\x7e\x03\xb2\x9d\xc3\x0f\xab\x71\x3a\x45\x2d\x63\x34\x4d\x4a\xc7\x14\x21\x7e\x9c\x31\x6a\x2d\x20\xa0\x02\x76\x2e\x70\x62\x24\xf8\xe4\x35\x50\xdd\x04\x1e\x4a\xb1\x94\xa2\x38\xe4\xec\x16\xdc\x7c\x59\x67\x50\xd5\x7d\x83\x27\xb3\x75\xed\x7d\x60\xfb\xfa\xbd\x5c\x57\xc9\x8e\x86\x7b\x9b\xa3\xe7\x94\x61\x38\x8e\x68\x5c\x7b\x22\xc5\xe8\xf0\xd9\x68\x29\xef\x14\x3e\x4b\x75\x3a\xa3\xf5\x59\x41\x5f\xb4\xc9\xc4\x57\x69\x3c\x64\xbf\xc3\xf6\xe8\xd2\xeb\x75\xd1\xdd\x49\x7b\x69\xe2\xa6\xc3\x5b\x37\xe1\x1a\x5c\x1c\x2d\x10\xf4\x41\xf4\x02\x76\xa3\x0c\xf1\x5e\x0a\x6b\x6b\x2c\x13\xdc\xf4\x16\xf6\x36\xc4\x86\xed\x28\xac\xe1\x51\x9c\x8b\x35\x25\x42\x4e\x6c\x21\x6e\x83\x52\x2f\xf7\xd1\x9d\x17\x1f\x59\xb7\xc2\xb6\xdd\x9b\x66\x77\xda\xb9\x82\x21\x53\x35\x8d\xdd\x16\x59\xe3\x31\x7a\xc1\x2a\x0a\xbe\x67\x58\xdf\x62\x58\xae\x83\xb1\x4e\xf5\xc7\x28\xa8\x7d\xf5\x24\x65\x77\x05\x65\x38\x0d\x9c\x6c\x7b\x57\xcb\xd1\xd2\x0a\x6d\xa4\x7e\xa0\x49\xa0\x68\x1d\x2d\x50\xf0\x52\x03\x2c\x9c\x7c\xdf\xc1\x38\x42\xc1\x21\x25\x39\x69\xcd\xbb\x05\xb2\x11\xb8\xed\x65\x6a\xd2\x8f\x41\xad\xec\xe3\x53\xfa\xd3\x79\xd3\x73\x53\xf3\x15\xf1\x79\x1b\xa6\x7b\x61\xa0\x01\xf5\x60\x07\xb0\x7b\xe9\xa0\x01\xf5\x60\x07\xb0\xdb\xee\xd3\x80\x7a\xd0\x02\x42\xcb\xb3\x6c\xbb\xe5\xa1\xd3\xf3\x73\x52\x99\x8c\xdd\xbd\x85\xbb\x76\x96\xda\xad\x18\x9b\x7d\x99\x2c\x86\x35\xea\xdd\xfa\xe7\xee\xd6\xfb\xef\xa4\x9c\xdd\x78\xa0\x39\xa9\x98\xfd\xb1\x4c\xb1\x6c\x1f\x4b\xd2\xe1\x77\xe8\xba\x8a\xe8\xbb\xa8\x6e\x93\xfa\xe1\x5b\xb0\x47\xde\x39\xf9\xda\x38\x4f\x14\xee\x1d\x4d\x1f\xbb\x13\x47\x3b\x76\xe2\xc1\xa5\xb4\xd7\x70\xd7\xb9\x21\x45\x3a\x46\x12\x3e\xca\xee\x8a\x4e\x1b\xb9\x09\x65\xad\xc9\x7f\x90\x42\x6d\x87\x22\xe1\x99\x85\xf4\x03\x7c\x54\x79\xb2\x22\xee\x99\x37\xb3\x41\xd0\xef\x6d\x7b\xaf\xcc\x1e\x71\xab\xf6\xe0\xbd\x5a\x5f\x47\xd6\x8f\xfa\x9d\xf5\x45\x4f\x5f\x8f\xbd\x8f\xa9\x64\x7c\xa9\x74\xb3\x08\x1d\x4f\xd7\x28\xee\x08\x85\x87\xbf\x6c\x80\xdf\xf7\xe7\x2b\xd5\xed\x38\x5c\x5e\xbf\x7a\xb8\xc3\xaf\x7e\xb6\xeb\x13\x5d\x65\xee\x76\x80\x3d\xdd\xef\x76\x83\x7e\xf0\x41\x67\xe8\x07\x77\x5c\x62\xbf\x91\x91\x61\x71\xa1\x7b\x25\x9d\xde\x54\x2f\xb2\x07\x8d\x97\x9f\x25\x19\x24\x37\xca\x23\x38\x65\x26\x7a\xa9\x8f\x03\x9a\xf9\x3b\x61\xad\x86\xcc\x8e\x06\x80\x27\x81\xed\x68\xbc\xd5\x2b\x89\x9a\xee\x66\xe5\xc8\xf6\x1a\xbb\xd0\x2f\x1c\x2e\x6d\xed\x7e\x76\x7a\x5d\xad\xb1\xb7\xd7\xbb\x64\x1a\x42\x68\xfa\x8c\x1c\x56\x94\x99\xd5\xf6\x9c\x20\xeb\x21\x66\xf0\x2d\xee\xe3\x93\x8f\x60\x8c\x9a\xb5\xbd\x19\xc8\x04\x53\xa9\xb2\x90\x3d\x84\xf6\x1a\x6b\xf5\x1d\xb4\x67\x75\x16\xa2\xaf\x70\x1a\xba\x3b\xec\x5a\x51\x45\x83\xba\x30\xd6\x64\xfa\x0f\xc8\xa9\x4e\xdd\x81\x09\x2a\x40\xa8\x68\x94\x93\x1c\x54\xa0\x91\x02\x25\xb8\x08\x25\x5a\x02\xb2\x62\x40\xda\x10\xd1\x16\x7a\x90\x90\xf4\x1c\x97\xf5\x5b\x92\xea\x8f\xac\x34\x6b\xf1\xf9\xd9\xf9\x2b\x74\x78\x88\xea\x2f\xf1\x7b\x45\xd7\xd8\x5e\x3b\x5b\x5f\x31\x1e\x95\x88\x14\x5d\xe0\x6e\x15\xa4\xe0\x32\x0f\xdc\x65\x79\x6d\x3b\x48\x5d\x14\xcd\x50\x16\x4b\xf6\x3d\xbb\x03\x7e\x82\x05\x44\x23\xa4\x22\xa4\x69\x7f\x4d\x48\xf7\x1e\xa1\xfa\x4b\x48\x6a\x4f\xa2\x77\x9d\xcb\xec\xfa\xf2\xf8\x7a\x00\x2d\x21\xa9\x79\xd4\x15\x3d\x1b\xab\x2f\x95\xd0\x93\xaf\x7b\x6f\xbf\x5a\x9a\xbc\x4c\x48\xaa\x76\x2c\xe8\x1a\x43\xd0\x32\x06\x95\x55\x4e\xd5\x4e\x4d\xd5\x4e\xe9\xc9\x52\x8f\xd5\x29\x6f\x67\x95\xed\xfe\xd0\xb7\xad\xa7\x24\x72\xeb\x33\x97\xbb\x91\x6b\x31\x1f\xde\x9d\xbe\x6b\x5b\x90\x48\x70\x81\xde\x7c\x38\xff\xde\xd8\xcf\x8a\x71\xfb\x02\x4c\x28\x9a\x12\x93\x42\x1d\x9b\x93\xb3\x53\xf4\xe3\x0f\x67\x08\x17\x29\x32\x77\x98\x8d\x5d\x65\xcd\x91\x5b\x83\xf5\x3b\x8a\x68\x65\xee\xfb\xae\x21\x24\xb5\x21\x58\x06\x5b\xdb\xa8\x48\x65\xf5\x2d\x69\x90\x90\x74\xa6\x34\x95\x8c\x3b\x2a\xbf\x76\x8a\x7d\x75\x98\xea\x4d\x31\xbe\x41\x8b\xa4\xb9\x82\x58\xf2\x8d\x90\xdf\x8a\x37\x32\xa7\x51\x56\x79\x95\x3d\xcf\xed\x77\x75\xe2\xaa\xc9\xc7\xbb\xab\xae\xc3\xaa\xfe\x9a\x64\x58\xf3\xb6\x35\x1f\xba\xcf\x81\xaa\xfb\x6e\xe7\xf9\x97\xd3\xc6\xf4\xdf\xd2\xb7\x5e\x8b\xdd\xda\x40\xf6\xb9\x8e\xdc\xdc\x87\xa0\x85\xed\xd6\xab\x2c\xb3\x90\xc0\x6f\x31\xf5\x75\x37\xc8\xca\xe5\xd0\x8c\x1c\x44\xe1\x97\x19\x49\x61\x92\x55\x0c\xd6\x35\x68\x7b\x87\xcd\x0a\x09\x05\xcc\xeb\x35\x64\xab\x41\xe2\xd3\x68\xdd\x21\xe9\xb6\x76\xcc\xca\x2a\x81\xfd\x5f\x5e\xd9\xea\xcc\xa4\xf1\xee\x46\xae\x08\x85\x0b\xf2\x6b\x2b\xd8\x2e\xef\x65\xd3\x35\xb6\xed\x04\x42\xf5\x46\x98\xc9\xa1\x8b\x0e\xd3\x5f\x7f\xe0\xfe\x2a\xc9\x54\x6d\xa1\xf3\xd7\x1f\x3f\xbc\x9e\xfc\x5b\x60\x73\xb5\xc1\x36\xbd\x19\x98\x7c\xb8\x2f\xc1\xb4\xeb\x9b\x7b\xc6\xc6\x3b\x98\xfe\xb8\x5e\xa3\xe6\xa4\x4b\xf4\x3b\x96\xde\xcf\xbb\x70\x1f\x38\x2e\xc4\x0a\xf8\xab\x22\x61\xe6\xc5\xe2\xc3\xcc\x18\x9c\x89\x45\xd2\x9c\x35\xbd\xf7\x01\xd2\x0d\xeb\xe2\x8e\xc8\x24\x43\x43\x80\xed\x28\xe2\x9a\x44\x82\x05\xa0\xf0\x97\x0d\x93\x90\x4e\x4a\x4e\x0a\x89\x97\x14\xc2\x99\x63\x10\x8d\xfc\xe6\x53\xf3\x82\x63\x71\x79\xc5\xaf\x8a\xeb\xa3\xe9\x3a\x1f\x07\x41\xcb\x8c\x1a\x2c\xf7\x42\xea\xdf\xf5\x42\xef\xed\x3a\xff\x24\x32\x63\x1b\xf9\xc3\xeb\x93\xaf\x8f\xbf\xf9\x57\xcb\xfd\xd8\x6e\x6b\x8b\xe0\x92\x03\xbe\x99\x77\x18\x5f\x62\x01\x7f\xf9\xa6\xc5\xee\x74\x6a\x1a\x79\x88\x92\x02\x50\xd5\x95\x12\x48\x32\xb4\x26\xb7\x80\x18\x27\x6b\x52\x60\x8a\x2a\xd4\x09\x28\x15\x41\x8a\xaa\x77\xcc\x8f\x13\xfb\x8a\xbf\xbc\x2a\x7e\xbf\xe2\x8f\x16\xfb\x3b\xbd\xd6\x13\xe4\xdb\xba\x46\x68\x0e\x8e\xc1\xee\x9d\x3b\xc6\x73\x6c\x23\xce\x7b\x8a\xc9\x43\x77\xbe\x4b\x96\xde\xfb\xa2\x95\xc6\xf5\xdc\xf4\x56\x62\xa4\x0d\x4a\x35\xa0\x63\x89\xa2\xe5\x80\x56\xbc\x54\xdd\x01\x83\xd6\x68\x2d\x52\x19\xa4\x78\x39\xbb\x9a\x5e\x4d\x47\xd1\xe5\xe4\xf2\xea\xfa\xdb\xc9\x7f\xe2\xc9\xaf\xc7\x93\xbf\xc6\x3f\xfd\xf7\x6c\xfa\xf2\xcb\xbf\x7d\x71\x10\x8d\xbe\x3a\x1a\xcf\x17\xff\x72\xfd\xfb\x21\xce\xcb\xf9\xef\x87\x5f\xfe\xe9\xaf\xf3\xd1\xd1\x74\x3d\x46\xe1\x73\x8c\x32\x0e\xab\x45\x70\x70\x18\xa0\xea\xbd\xfc\x22\xa8\x5e\xcb\x07\x2f\x0e\x0e\x9f\x4f\xf1\x0b\xfb\x5a\xa7\x69\xd6\xb5\x83\x5f\xcd\x61\xcf\x7f\x35\x52\xb9\xfa\xcb\x64\x4e\x5b\x57\x48\x85\x24\xf2\xde\x24\x8f\x66\xb3\xc2\xc3\x70\x86\x42\xcd\x6e\x68\x7b\xc9\xe1\x73\x3d\x46\xa5\x33\xf4\x42\x0f\xad\xdd\xa1\x40\x0f\xa9\xe3\xd7\x0c\x06\x61\xa0\x06\x95\xdc\x55\x4b\x6f\xdb\x12\x49\x71\xd4\x28\xf5\xf2\xf0\xf9\x8b\x20\xbc\x56\xea\x71\x1e\xb7\xf7\x9a\x96\x35\xdb\x97\xe2\x7a\xa8\x34\xeb\x58\xc2\x0e\x2b\x22\x2b\x34\xe4\x60\x55\xe2\xfc\x48\xdf\xfb\x04\xd0\xcb\xe3\x6b\x73\x3d\x19\x48\xf8\x28\xa7\xa5\x62\x30\x18\x0d\xf5\x66\xeb\x20\xd2\xe5\xb2\xd7\xa6\x75\x1a\x07\x2b\x52\xa4\xe7\x6a\x0d\x52\xac\x55\xe2\x6c\x71\xc7\xa8\xb5\x66\xdd\x0d\xa0\xe8\x0b\xf3\xf8\xee\xf0\x10\xd1\xe1\xe6\xd5\x10\x6b\x74\xe4\xb9\xec\x1c\x8a\x30\xed\x40\xdb\x66\xd4\xdd\x28\x95\xc1\x8e\x75\x31\x64\x19\x30\x41\x0d\x55\xef\xef\x39\x88\x0d\x95\xc2\xca\xa0\xc0\x75\x95\xd0\xb0\xab\x12\x54\xa5\x19\x5d\xd5\xd4\xf3\xfd\xaa\x86\xac\xa2\xf6\x26\x79\xe0\x07\xab\x1b\x77\xe9\x7e\x81\xd2\xd9\xfc\x81\xbb\xe5\x27\xd3\x69\x8c\x48\x17\x8b\x47\x28\x98\xbf\x8c\xbf\x0a\x46\xfd\x22\xca\x6c\x46\x9f\xf4\xbc\x5d\x8f\x54\x79\x98\x3a\x0d\x9f\xc2\xc5\x34\xdf\x50\x49\x14\xe6\xd5\x34\xfe\x6a\xea\xe1\x43\xbb\xd4\x1d\x16\xda\x5f\xd5\xec\xfd\xbc\x5f\x49\xae\xac\xb9\xfa\x6a\x46\x9b\x9a\x75\xf1\x9e\x52\x7f\x6d\xfb\xd6\x6c\x5f\x31\x6d\x5b\xfd\x1f\x53\x97\x0c\x39\x97\xb6\xc1\xca\x8c\x54\xd6\x6a\xed\xb2\xca\x6f\x95\xb1\x0d\xf8\x8e\x56\x8a\x5e\x41\xf7\x8b\xe8\xd0\x16\xd1\xf2\xbe\x84\xb0\x63\xd7\x43\x4e\xa9\x22\xd6\x73\x46\xca\x21\x77\xad\xc8\x28\x40\x72\xfd\x74\xc1\xaf\xa8\x4f\x71\x42\xd5\x5a\x9f\xea\x83\x6a\x76\x5a\xbb\xe4\x7b\x3b\xdd\xae\x61\x77\xec\x96\x5b\x73\xb7\x53\x87\xff\x97\x1b\xf6\xc8\x00\xf2\x7f\x63\x3b\x77\x86\x94\x3d\xfb\x58\xe2\xb9\xde\xc1\x82\x49\xb4\x62\x9b\x22\x7d\x11\xcc\xf7\xf7\xbc\x15\x97\xbb\xcb\x74\x54\x3f\x1f\xa2\x6e\x68\xa7\xbb\x82\xb9\x6f\xb2\x5f\xd8\x8c\x1e\x90\xc2\xa0\x46\xbf\x99\x0f\x33\x5a\x3f\x29\x55\xee\xb6\x83\x4d\x9d\x22\xcc\xfc\x3e\xb2\xf9\x25\x87\x7e\x2a\xda\x08\x25\x49\x0e\x42\xe2\xdc\xf4\x5b\xac\x86\xa2\xfa\x05\x4e\x03\x30\x6a\x7e\xf7\x68\x7f\x35\xe7\xd0\xd5\x57\xef\xdf\x52\xda\x6f\x60\xef\xa9\x3a\x3c\x61\xc5\x8a\xf0\x7c\x52\xc1\x4d\x30\xa5\xe1\x28\xce\x59\x8a\x69\x14\xaa\x1a\x3d\xec\xa5\x5e\x1c\x28\x60\x01\xef\x8a\x9d\xad\x6a\x17\xb6\x55\x58\x9a\x42\x71\x77\x8b\xf6\xeb\x29\x33\xbf\x45\x9a\x88\x5c\x96\xe1\x63\x6f\x1c\x58\xfb\x17\x4c\xb6\x45\x84\xaa\xd7\x7c\x5f\x1a\xd6\x27\x4c\xbf\xe1\xeb\x49\xd9\xff\x7d\x8d\xd1\xce\x0f\x15\x9e\xa7\x43\xef\xbc\x41\xf4\x53\xcf\x48\x0a\xa1\x53\x75\x34\xaf\xc5\xbb\x2a\x9a\x0f\x29\xae\xfe\x01\xdf\xce\x86\xf9\x0f\x35\xc6\x83\x2d\x73\x91\x61\x0e\x81\xf3\x5c\xce\xe5\xde\xe0\x4c\xac\x2a\xc3\x51\x7c\x8b\xe9\xc0\xab\x39\xbc\x91\x59\xb2\x5a\x3b\xf5\x85\x7d\x3e\xf6\x18\x92\xe3\xa6\xff\x96\xeb\xf7\x33\x3e\x24\x3d\xd5\xc5\x30\x7e\xac\xdd\x5b\xf2\x31\xf3\x54\xc2\x48\xff\x80\xc4\x8f\xa0\x2c\x71\xa2\xa6\xfb\x48\x25\xe3\xbb\x90\xd4\x74\x1f\x29\x87\x24\xc3\x05\x11\xf9\x0e\xcc\x1a\xa6\x8f\xbe\x11\xc0\x87\x75\xad\xb1\x2d\x88\x87\x61\x2c\xc4\x1d\xe3\xe9\x2e\xa6\x0d\x48\x1f\x59\xe0\xdb\xa1\x55\xf1\xad\x5a\x8c\x88\x28\x68\x2e\xc2\x3a\xb7\x5f\xe3\x47\x58\x8a\xd0\x3f\x33\x9c\xf8\x78\x6f\x85\x30\xe7\x27\x75\x4f\xba\xe9\xd1\x3f\xe0\x31\x8b\x86\x63\x6b\x39\x1e\x2f\xd3\x98\x7a\xf7\xbd\x44\xf7\x67\x86\xc0\xb9\x0b\xbc\xc2\x84\x36\x5d\x49\xa8\xa0\xd1\x02\x01\xe7\x3b\x6a\xda\xe6\xc5\xbc\xd7\xaf\xee\xa9\xf3\x5f\xbf\xbb\xaf\x6e\xc1\xf7\x0e\x62\xc0\xaa\x4e\xf0\xe7\x15\xce\x4b\xf0\x9b\x31\xba\xb5\xd7\x7c\x86\xc8\xd1\x02\xdd\xa8\xe2\x62\xa6\x5f\xd2\xdf\xaa\x8f\x57\x45\x45\x56\xf7\xc0\x1b\xb0\x6a\xdc\x19\xf0\x57\x7f\x36\x4e\x55\x70\x5d\x09\xeb\x60\x74\x52\xf9\xd5\x4f\x88\x49\x5d\x7f\x3a\xe0\x0d\xf5\x8b\x37\xe5\x0c\x31\xa5\x3b\x1f\x30\x55\xed\xb7\x49\x42\x78\x42\xa1\x4a\x6f\xf6\x5a\x3f\x87\xdc\x6d\x57\xbe\xc8\xd4\xb9\x4a\x6d\x3d\xac\xf0\xdc\x89\x36\x3f\x9f\x68\x8c\xcc\x6e\x80\x4f\x7d\xbb\x03\xef\x63\x74\xf2\x60\x80\xa8\x94\xf2\x74\x6d\x3c\x7c\x9f\x6a\x75\xd3\xdc\x44\x1b\x45\xc4\x3f\x91\x54\xe5\xce\x16\xfb\x27\x92\x8e\xfa\x77\x3e\x56\x57\x7e\xe5\x76\x8f\x69\xad\x42\xf5\xff\xff\x04\x00\x00\xff\xff\xb9\x1b\xae\x41\xb7\x43\x00\x00") + +func assetsJsControllersJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsControllersJs, + "assets/js/controllers.js", + ) +} + +func assetsJsControllersJs() (*asset, error) { + bytes, err := assetsJsControllersJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/controllers.js", size: 17335, mode: os.FileMode(420), modTime: time.Unix(1479246348, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsFilesize312MinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x54\x5d\x8f\xa3\x36\x14\x7d\xcf\xaf\x20\x57\x15\xb2\xb3\x0e\x81\x4c\x2b\x8d\x1c\xdd\xd0\x4e\xb5\x5d\xf5\x63\x46\xfb\xb0\x2f\xbb\x11\x0f\x26\x18\x70\x02\x76\xd6\x40\x32\xd3\x24\xff\xbd\x32\x84\x74\x54\xf5\xe5\xdc\x73\xed\x73\x3f\xb8\xc6\x5e\xcc\x26\xde\x32\x8c\x7e\xf2\xfe\x10\x8d\xd1\xde\x73\x57\x55\xaa\x10\x7a\xe2\xfd\x7c\x94\xb6\x51\x46\x7b\x0f\x41\x14\x2c\x27\xde\x6c\x31\x81\xae\x91\x5e\xd3\x5a\xb5\x6d\x61\x35\xcd\x3b\xbd\x6d\x95\xd1\x44\xd0\xf3\x51\x58\x2f\xc5\x45\xfa\xc3\x82\x6d\xf1\x9c\xaa\xb6\xe1\x1b\x78\x02\x06\xfb\x14\x18\x3c\x3b\xf8\xe4\xe0\x8b\x83\xcf\x0e\x3e\x3a\xf8\xe6\xe0\x6b\x0a\x09\x4b\xdf\x5a\x79\x8f\x71\xf0\xec\xe0\x93\x83\x2f\x0e\x3e\x3b\xf8\xe8\xe0\x9b\x83\xaf\x4f\x90\x5c\x59\x86\xff\xed\x21\xc3\xa3\x51\x99\x17\x22\xa2\xb0\x45\x57\x4b\xdd\x36\x9b\x28\x89\xcf\x57\xfe\xde\x67\x12\x37\x09\xcb\x71\x1a\xb1\x02\x43\x56\xde\xa2\x98\x1a\xc9\x6e\x24\xfb\x91\x54\x23\xa9\x47\xa2\x47\x62\x46\x72\x18\xc9\xf7\x91\xd8\x1b\x59\xa9\x9c\xa8\xe6\x45\xbc\x10\x41\x69\x5b\x5a\x73\xf2\xb4\x3c\x79\x1f\xad\x35\x96\xc0\xef\xfa\x28\x2a\x95\x79\xf7\x16\x81\xae\xac\x6c\x3b\xab\xbd\x1d\x66\x81\x1b\x27\x22\x4e\x5d\x81\x2c\xe8\xb4\x7a\x1d\xbc\xb1\xdb\x29\x3a\x91\x68\x64\x3c\x18\xbe\xbc\xb7\xd4\x6f\x59\xd3\xe9\x2c\xbe\x59\x7e\x88\x23\xbe\xbc\x77\xd8\x0b\x9a\x83\xd8\x4a\x1b\x8f\x84\x1f\x62\x00\x0e\x1e\xdc\xdb\x1f\x54\x5d\x9e\xab\x57\xd9\xc4\xff\x52\x7e\xbe\xde\xc7\xd0\x6b\x4c\xd7\x1e\xba\x36\x1e\x09\x07\xf7\xb7\xe8\x02\xee\x23\xee\x55\xf2\xf5\x60\xb4\xd4\x4e\x37\x52\x3e\x8f\x58\x8d\x2f\x5d\x9d\x4a\x4b\x04\x65\x15\x86\xeb\x9a\xed\x51\xad\x97\x71\x24\x1f\x78\x14\x2e\x7f\x64\x95\xef\x93\x1a\xe7\x35\x65\xee\x80\xeb\x98\xc8\x4d\x98\x60\xc8\xe4\x26\x4a\x70\x68\xfa\x09\x28\x27\x64\x1e\x21\x62\x79\xb9\x0c\x23\x2f\x29\xf5\x7d\x52\xe2\xb3\x68\xcb\x20\xaf\x8c\xb1\xa4\xa7\x95\x29\x48\x4d\x17\x77\xbe\xa7\x94\xb2\x72\xfd\xe8\xfb\xa4\xc0\x48\x3e\xcc\x8a\x19\x29\xe7\x8f\x94\x95\xf8\x48\x59\x81\x4b\x44\x54\x71\x3d\x04\x1c\xcc\x89\x2c\x59\x14\xce\x4a\xca\xdf\x2d\x45\xf2\x81\x95\x94\xed\xfa\x1c\x8f\xb3\x82\x15\xeb\xbd\xe3\x0b\xdc\xb3\xf2\xc3\x07\x4a\x59\xdf\xf3\xed\x43\x8b\xa0\x35\xbf\xa9\x57\x99\x91\x72\x1d\xc6\x86\x87\xfd\x7e\x94\xe0\x76\xb3\x8b\xc1\x9d\x3b\x70\xe8\xaf\x06\x24\x9b\x32\x61\xd3\xdc\xf7\x0f\xbe\x4f\x76\xbe\x9f\x06\xad\x6c\x5a\xe2\xd4\xee\xeb\xfa\x28\x07\x41\x6b\xfe\x32\x27\x69\x7f\x15\x8d\x24\x63\xba\x7e\x63\x5b\x0a\xfb\x4b\x4b\x42\xca\xe0\x09\x10\xfb\xc5\xdb\x08\xdf\x4d\xc6\xf9\xb7\x28\x00\xca\x77\x97\x0b\xec\x61\x3a\xa8\x2f\x97\xa1\x0e\xfc\x09\x6e\x54\x55\x5f\x37\x4c\x70\xfe\x2e\xc8\x6e\x9c\x49\x2e\x17\x67\x18\x08\x6b\xc5\x9b\xab\xa6\x63\xc9\x61\x3c\xed\x61\xa1\xe4\x60\xd2\x9d\xdc\xde\xdc\xf3\x51\x54\x9d\xe4\x2e\x17\x1b\x7e\x30\xee\x72\x5c\xb9\x0c\x76\x46\x69\xf2\x9d\x5e\x57\xd0\xe9\x4c\xe6\x4a\xcb\x0c\xa6\xd8\xbe\x1d\xa4\xc9\x3d\x97\xd4\xb6\x4d\x5c\x9b\xac\xab\x64\x70\x73\x31\xe3\x30\xbe\x0e\x80\xa3\x76\x08\x8e\x07\x43\xee\xaf\x07\x3d\xdf\xae\x5b\x76\xa5\x5c\x04\xb9\xaa\x64\xa3\xfe\x96\x98\x5d\xc9\xff\x55\x2c\x2a\x93\x8a\x2a\x1e\x0c\x3f\x29\x9d\x99\x13\x5d\x4d\xfe\x09\x00\x00\xff\xff\x7b\xcd\xdc\x91\x4b\x05\x00\x00") + +func assetsJsFilesize312MinJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsFilesize312MinJs, + "assets/js/filesize-3.1.2.min.js", + ) +} + +func assetsJsFilesize312MinJs() (*asset, error) { + bytes, err := assetsJsFilesize312MinJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/filesize-3.1.2.min.js", size: 1355, mode: os.FileMode(420), modTime: time.Unix(1468174122, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsIso88591_mapJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x94\x41\x73\xe2\x3a\x16\x85\xf7\xfd\x2b\xb2\xeb\x45\x57\xe7\x9a\x84\x74\xcc\x7b\xd5\x8b\x4f\x92\xb1\x1d\x30\x58\x09\x24\x21\x53\x53\x5d\xe0\x80\x42\x48\x70\x82\x01\x01\x53\xf3\xdf\xa7\x34\x3d\x9b\xa9\x9a\x37\xde\x59\xd7\x96\xee\x3d\xe7\x3b\x12\x39\x7b\xd9\x6e\x3f\x9a\x3f\x44\x36\x53\x7f\xee\x96\xdb\x97\xdd\x6c\xd7\xcc\x37\x55\xbd\xde\xce\xd7\xdb\xf3\xaa\x7e\x97\xd7\xdd\xc7\x72\x3b\xdf\xc8\xba\x7e\x9e\x7f\x6f\xb6\x9b\xdd\x76\xf9\x26\xef\xd3\x26\xac\xbd\x2d\x67\xb2\x6c\xea\x38\xbe\xea\xb4\x7e\xbd\x4f\x3f\xce\x5f\x9b\x2f\x5f\x44\xce\xd2\xf9\x7a\xbe\x99\x6e\xe7\xcf\x67\x8b\x4d\xfd\xfe\xef\x43\xfe\x10\x69\xea\xdd\xa6\x9a\x9f\x2f\xab\xdd\xf7\x8f\x4d\xfd\x3a\xaf\xb6\xe7\xf5\xc6\xc9\x66\xfe\x51\x37\xb2\xac\x76\xf2\x3c\xdd\x4e\x65\xbb\xd9\xad\x57\x52\xbd\x4c\x37\xcd\x7c\xfb\x7b\x69\x57\xbd\xcb\x72\xf6\xfe\xfd\xea\xb2\x1d\xff\x2a\x5b\x51\xf4\xbd\xd5\xe9\x5c\x9f\xef\xaa\xf7\x2f\xfb\xe9\xe6\x2c\xbf\x1b\xfe\xee\xa0\xa0\xfc\x95\x0c\xf4\xd0\x24\xe6\xec\xe7\xd9\xfc\xf0\x51\x6f\xb6\xcd\xf9\x5f\x94\xff\xf1\xcf\x3f\xbf\xfc\xaf\xd2\xdf\xbe\xde\x0e\xc7\x03\x33\xba\xcd\xcb\xaf\x7f\x3f\xfb\x79\xf6\x95\xdf\x8f\x82\x04\x1c\x1a\x0a\xf0\xe1\xc5\xa2\x2c\x5d\x98\xa0\x1c\x19\x54\xa1\x98\xc3\x0a\x6d\xe9\x41\x8d\xf6\xf4\xc3\xc7\x06\x06\x10\x61\x1c\x43\x88\x31\x3e\xfc\x0c\x89\xe5\x16\x95\x93\x38\x46\xa8\x22\x6c\x36\x46\x8d\xe9\x5a\x1e\x50\x13\xba\x9e\xc7\xb0\x79\x0a\x4f\xa8\x15\xa9\x63\x8a\x6a\x48\x3d\x15\xca\x93\x59\x9e\x51\x6d\x32\xc7\x02\x15\x87\xc3\x1d\x3a\x21\xb7\x2c\xd1\x39\xb9\xe7\x35\x34\x73\x03\x6f\xe8\x31\x37\x8e\x77\x74\xc5\x8d\x0f\xcd\x39\x7a\x96\x0f\x74\x4d\xcf\xb1\x41\x37\xa1\xd9\x06\x1d\xd1\xb7\xec\xd0\x6d\xfa\x9e\x7d\x68\xbe\x80\x03\x26\xa1\x70\x1c\x31\x05\x85\x0f\xc3\x58\x06\x96\x16\x66\xc2\xc0\x71\x89\xa9\xc2\x70\x6d\xcc\x8a\xa1\xe5\x07\xa6\x66\xe8\xb9\x0e\xc3\x96\xd0\xc1\x44\x94\x8e\x6f\x98\x98\xd2\xff\x96\xd3\x5a\xa5\x48\x72\xac\x53\x86\xa4\x08\x62\x24\x24\x63\x6e\xad\x4a\x49\x26\xdc\x7a\x95\x05\x71\xee\x50\x37\x24\x2b\xee\x9c\xea\x91\x34\xdc\x79\x55\x90\x78\x46\x56\x0d\x48\xda\x8c\x9c\x2a\x49\xe2\x20\x9e\xa5\x9b\x30\xb6\xea\x8e\x6e\xce\xd8\xab\x51\x10\xf3\x1e\x75\x4f\x77\xcc\xbd\x53\x0f\x74\x2b\xee\x7d\x10\xd7\xf1\x60\xd5\x13\xdd\x9a\x07\xa7\x66\x74\x9b\x20\x76\x45\x37\xe2\xd1\xaa\x39\xdd\x36\x8f\x5e\x2d\x82\xf8\x13\xd4\x0b\x69\xc2\xc4\xa9\x25\x69\xc1\xc4\x07\x33\x2c\x4f\x56\xbd\x91\x4e\x78\x72\x6a\x4d\x5a\x05\x73\x6a\xd2\x15\x53\xab\x3e\x49\x6b\xa6\x5e\x6d\x82\x59\x33\xd4\x96\x34\x62\xe6\xd4\x8e\x34\x66\xe6\x83\x79\x50\x59\x75\x20\xcb\xa9\x9c\x3a\x91\x15\xc1\xcc\x88\x6c\xcc\xb3\x55\x17\x64\x13\x9e\xbd\xba\x0c\xe6\xce\x51\x57\x64\x2b\xe6\x4e\xfd\x20\x6b\x98\x7b\x15\x93\x79\x16\x56\x75\xc8\xda\x2c\x9c\x12\xb2\x18\x67\xb5\x22\x8f\x78\xb5\xba\x24\x8f\x7f\x93\x78\x13\xb1\xb6\xc1\x6c\xa8\xad\x7e\xa1\x97\x53\x3b\xfd\x4a\xaf\x08\xe6\xaf\xe8\x8d\xf9\xb0\xfa\x9d\xde\x84\x0f\xaf\xd7\x01\x86\x4f\xf4\x07\xbd\x15\x9f\x4e\x7f\xd2\x6b\xf8\xf4\xba\xa1\xe7\xd9\x58\xbd\xa5\xd7\x66\xe3\xf4\x9e\x5e\x1c\x60\xf1\xf4\x13\x1a\xab\x8f\xf4\x73\x1a\xaf\x4f\x01\x9e\x2d\xba\x45\x7f\xcc\xd6\xe9\x0b\xfa\x15\x5b\x1f\x60\x72\xec\xac\xbe\xa2\x5f\xb3\x73\xfa\x9a\x7e\xc3\x1e\x1d\xd3\x8f\xd8\x5b\xfd\x8d\x7e\x9b\xbd\xd7\xf2\x3b\x5e\x46\x51\x24\x78\x67\x34\x45\x81\xf7\x01\x3e\xcb\xc1\x9a\x2e\xc5\x84\x83\x33\x19\x45\x15\x60\xcc\x29\x56\x1c\xad\xe9\x51\xd4\x1c\xbd\xe9\x07\x38\x4f\x98\x01\x45\xc4\xc9\x99\x21\x45\xcc\xc9\x07\x58\x21\xb2\xe6\x96\x41\x4e\xe4\xcc\x88\x41\x11\xe0\x1d\x33\x18\xd3\xb2\xe6\x81\xc1\x84\x96\x37\x8f\x01\xe6\x0b\xcc\x13\x83\x15\x17\xce\x4c\x19\x34\x5c\x78\x53\x31\xf0\x5c\x5a\xf3\xcc\xa0\xcd\xa5\x33\x0b\x06\x71\x80\xdd\x31\x4c\x68\x5b\xb3\x64\x98\xd3\xf6\xe6\x35\xc0\x7f\x85\x79\x63\x38\xe6\xca\x99\x77\x86\x15\x57\x3e\x84\xc1\xf1\xc3\x9a\x0f\x86\x35\x3f\x9c\xd9\x30\x6c\x42\x38\x1a\x86\x11\xd7\xd6\xec\x18\xb6\xb9\xf6\x66\x1f\xc2\x12\x63\x0e\x94\x09\xb1\x33\x47\xca\x82\xd8\x87\xf0\x58\x3a\xd6\xb4\x28\x27\x74\x9c\xb9\xa4\xac\x42\x98\xda\x94\x2b\xbe\x59\xf3\x83\xb2\xe6\x9b\x37\xd7\x94\x1e\xc1\x74\x28\x23\xc4\x99\x6f\x94\x31\xe2\x75\xc1\x7d\xce\x9a\xee\x88\xbc\x56\x13\xf4\x94\x87\x84\xb5\xef\xb6\xc9\xdb\x6a\x61\xf5\x9c\xc7\x36\xce\xa7\x77\xe4\x4e\x1f\x9c\x9e\xb0\xf5\xbc\x2d\x19\x71\x53\xb9\x2e\xfa\x36\x57\x8e\xd5\x92\x27\xf2\xdc\xa5\x4e\x8f\x72\xe5\x79\xd3\x3c\x93\x5b\x97\x39\x9d\xe6\x1a\x5e\x8e\xbc\x70\x33\x76\xb9\xd3\xdd\x5c\x4f\x58\xde\xe1\xc9\x1b\x37\xb4\x7a\x96\x9b\x1a\xa7\x75\xc3\xcd\xea\x25\x77\x3f\x7f\x7e\xfd\xab\xfb\x77\x38\x1e\x95\xe3\xd1\xaf\xe1\xa0\x3f\xf9\xcf\x0d\xac\x33\xc1\xb2\x14\x9f\x93\x4b\x6c\xd0\x23\x51\xf0\x26\x7e\xcc\xcd\x3e\x4e\xd1\x0b\x51\x9e\x5a\xbc\xa3\xb7\x88\x6f\xd0\x1b\xd1\x8e\x8d\xf8\x86\x7e\x19\x17\xe8\x4b\x31\x96\x9d\xf8\x36\x7d\x89\x4b\x8c\x91\x04\x0e\x72\x48\x28\xf6\xf1\x1d\xa6\x94\xc4\x13\xc9\xc1\x32\x58\xc4\xf7\x98\x99\x74\x1d\x97\x72\xa8\x18\x96\xf1\x04\xb3\x96\xd4\xf2\x43\x0e\x35\x43\x89\x67\x98\x93\x64\xd0\x91\x43\x44\xb9\x8f\xe7\x18\x91\xcc\x2b\xe4\x08\x76\x11\xbf\x90\xf4\x25\x77\xca\xc8\xb1\xe0\xb6\x8c\x57\x24\x8f\x72\x63\x55\x2a\xc7\x09\xb7\x12\xaf\x49\x5e\xa5\x87\xba\x91\xe3\x8a\xbb\x7d\xfc\x49\xb2\x97\x9e\x57\x85\x1c\x3d\xa3\x45\xbc\x25\xb9\x96\xbe\x53\xa5\x1c\x63\xc6\x65\xec\xe9\x66\x52\x58\x75\x27\xa7\x9c\xb1\xc4\x27\xba\x23\x19\xa0\xee\xe5\x34\xe6\x7e\x1f\x5f\xd0\x5d\xc8\xc0\xab\x89\x9c\x1c\x0f\x8b\xf8\x8a\xee\x46\x86\x4e\xcd\xe4\xd4\xf0\x58\xc6\x31\xdd\x4b\x29\xad\x9a\xcb\xa9\xcd\xa3\xc4\x42\x6a\xc4\xa2\x5e\x24\x4a\x98\xec\x3b\x9a\xb4\x14\xeb\xd5\x4a\x22\xcb\xd3\xa2\xd3\x25\x9d\xc9\xad\x53\x6b\x89\x2a\xa6\x65\x27\x27\x5d\xcb\x9d\x55\x9f\x12\xd5\x4c\xa5\xd3\x27\x3d\xc9\x08\xb5\x95\x28\x62\xb6\xef\x0c\x49\x45\x46\x5e\x79\x69\x41\xb5\xe8\xdc\x92\xf5\x65\xec\xd4\x49\x5a\x05\xcf\x65\x67\x4c\xf6\x28\xf7\x56\x5d\x48\x6b\xc2\xb3\x74\x1e\xc9\x5e\xe5\x01\x75\x25\xad\x15\xf3\x7d\x67\x4a\xb6\x97\x07\xaf\x62\x69\x79\x16\x8b\xce\x33\xd9\xb5\x3c\xfe\x3f\x42\xf2\xc1\x7f\x03\xf2\xf5\xcf\x2f\xff\x0a\x00\x00\xff\xff\xd6\xb5\x30\xb8\xcc\x08\x00\x00") + +func assetsJsIso88591_mapJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsIso88591_mapJs, + "assets/js/iso88591_map.js", + ) +} + +func assetsJsIso88591_mapJs() (*asset, error) { + bytes, err := assetsJsIso88591_mapJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/iso88591_map.js", size: 2252, mode: os.FileMode(420), modTime: time.Unix(1468174330, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsJquery1110MinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\x7d\x97\xa3\x36\xb2\x38\xfc\xff\xef\x53\x34\xec\x5c\x06\x8d\x65\xda\x9e\x24\xfb\xbb\xc1\xa3\xe6\x4c\x32\xc9\x6e\x76\xf3\xb6\x3b\xd9\xcd\xee\xc5\x4c\x8e\x04\xc2\xd0\x8d\xc1\x6d\xe3\x9e\xee\x31\xec\x67\x7f\x8e\x4a\x12\x08\x8c\x27\xb9\x77\xef\x73\x9e\xe7\xcc\x99\x36\x08\xbd\xab\x54\xaa\x2a\xd5\xcb\xf5\x0b\xeb\xea\xf6\x2f\x47\xbe\x7f\xba\x7a\x58\x7a\xcb\xa5\xb7\xb8\x6a\xae\xdc\x18\x5d\xbd\x5c\x2c\x3e\xc3\x57\x2f\x17\xcb\x4f\xf5\xf7\xaf\xab\x63\x99\xd0\x3a\xaf\x4a\x7c\xf5\x4d\x19\x7b\x57\xcd\xd5\xed\xbd\xf8\xe2\x55\xfb\xcd\x75\x91\xc7\xbc\x3c\xf0\xab\x17\xd7\xff\xc7\x4a\x8f\x65\x2c\xf2\xb9\x14\x33\x74\xb2\x2b\x76\xcb\xe3\xda\x26\xa4\x7e\xda\xf1\x2a\xbd\xda\x56\xc9\xb1\xe0\x8e\x73\xe1\x83\xc7\x1f\x77\xd5\xbe\x3e\x04\xc3\x57\x42\xbd\xa4\x8a\x8f\x5b\x5e\xd6\x01\x73\x29\xb6\x16\xc8\xef\x1b\x42\xa7\x3c\x75\xad\x3e\x0b\xaa\xb3\x7d\xf5\xfe\xaa\xe4\xef\xaf\xbe\xda\xef\xab\xbd\x6b\xab\x51\xec\xf9\xfd\x31\xdf\xf3\xc3\x15\xbd\x7a\x9f\x97\x49\xf5\xfe\xea\x7d\x5e\x67\x57\xf4\x4a\x97\xb4\xd1\x6a\xcf\xeb\xe3\xbe\xbc\x62\x2e\x45\xad\x0f\x7f\x5d\xfb\x58\x26\x3c\xcd\x4b\x9e\xd8\x96\xee\xae\x2c\x1f\xc8\x1f\xbf\xce\xf2\x03\x1e\x8e\xfc\x81\xee\xaf\x62\x12\x46\x38\x21\xb1\x77\x10\x33\x84\x39\x89\xbd\xb8\x2a\x63\x5a\xe3\x94\xc4\xde\xee\x78\xc8\xf0\x86\xc4\x5e\x5e\x26\xfc\xf1\x87\x14\x67\xe4\xd4\xe2\x9c\x64\x5e\x5d\xbd\xad\xf7\x79\xb9\xc1\xb7\x24\xf3\x32\x7a\xf8\xe1\x7d\xf9\xe3\xbe\xda\xf1\x7d\xfd\x84\xef\x88\x6d\x7b\xf5\x3e\xdf\xe2\x42\x64\xdf\x12\x5b\x2e\x9d\x8d\x4b\x32\xec\x81\x1a\x89\x98\x86\xd2\x4b\x4b\x2f\x2f\xf3\x1a\xbe\xb4\xb8\x22\xd7\xef\xc2\xf5\x61\x7d\xfc\xfa\xab\xaf\xbf\x5e\x3f\xbe\x5e\x44\xb3\x66\xf4\xfe\xec\x7a\x83\x77\xe4\xfa\xdd\x7c\x7b\x98\x5f\xe3\x7b\x72\x3d\x77\xc3\x75\x42\xe7\x1f\x22\x74\xbd\xc9\xf1\x7e\xba\x31\xe6\xd5\xd5\xdf\x76\x3b\xbe\xff\x92\x1e\xb8\x8b\xda\x95\x68\x99\x94\xde\x6e\x5f\xd5\x95\x98\x3a\x72\x92\x70\xe3\x6f\x71\x5c\x95\x87\x7a\x7f\x8c\xeb\x6a\xef\x97\xf8\xc0\x0b\x0e\x8f\xb6\x8d\x0b\x5e\x6e\xea\xcc\x5f\xe0\xba\x7a\xbd\xdf\xd3\xa7\x7e\xad\xbb\x86\x12\x2f\xa6\x45\xe1\x8a\x89\x47\x2d\xde\xf0\x7a\x00\x0f\x7a\xe8\xc7\xa2\xb0\x08\x0d\x16\x37\x34\x10\x39\x43\x3a\x13\x3f\x9e\xac\x3f\xf2\x65\x5a\xe4\x0f\x2b\x13\xeb\xf2\xb6\xa6\xf1\xdd\xa0\x4a\xb1\x9e\x8c\x94\xde\x96\xef\x37\x1c\xb2\x7a\xc6\x00\x5c\x84\x69\x0f\x3b\xde\x6e\xcf\x1f\x7e\x00\x00\x27\x00\x1a\x4c\xe4\xad\xf9\xa3\x7c\xd5\x2f\x98\xb5\x98\xd3\x38\xf3\xa7\xd7\xcd\x13\xdf\xa0\x25\x2c\x57\x6d\x4b\x77\x53\xa3\x84\x2a\xbb\x4e\xbb\xa5\xb7\xa5\x3b\x77\x08\x91\x0c\xc7\x5d\x76\x2a\x07\xcb\x70\x2c\x2a\x45\xa8\xc5\x00\x9d\x13\x73\x3c\xaa\x38\xf1\xe8\x6e\x57\x3c\xa9\x1e\xed\x37\xb0\x63\x0e\xa2\x82\x34\xdf\x1f\xea\x4b\x15\xf0\x7b\x77\x81\x5a\x5c\xd0\x8f\x66\x99\x2f\x51\x8b\xf9\xfd\xc4\x94\x1b\x2b\x86\x63\x32\xa3\x33\x57\x2c\x27\xf3\x17\xdd\x7c\x8f\xfa\x19\xdf\x90\x85\xe3\xb0\x9b\x38\x08\x61\x81\xe3\x28\xf2\xc3\x48\x54\x5f\x26\x17\x47\xd9\x2d\x58\xd3\x9c\xad\xad\x00\x23\x05\x17\x7e\x8a\x0f\xd5\xbe\xf6\x63\x4f\xfc\xe0\xc3\x0e\xa6\x2e\xf6\xe4\x43\x8b\x4b\x8f\x3f\xd6\xbc\x4c\x08\xec\x38\xf5\x6c\xb4\x29\x86\x44\xb1\x98\xfb\x04\x73\x9c\xe2\x0d\xe9\x26\x32\x5c\x44\x4d\x73\x6a\x71\x46\x96\x38\xef\x93\xf5\xd0\x6f\x89\xb5\x5c\xa5\x02\x99\xb1\xaa\x2a\x38\x2d\x7b\xd4\xb9\x71\x1c\xf7\x96\x6c\x06\x95\x65\xaa\xb2\xd9\x0c\xe1\x33\x5c\xbb\x69\x9a\xd2\xcb\x0f\x5f\xeb\x7e\x6d\x50\xd3\xb8\x1b\x72\x6a\x11\xce\x08\x21\xb9\xe3\xb8\x1b\x09\xb8\xd9\x7c\x8e\x56\xf9\x4d\xb6\x12\x15\xe5\xa9\x2b\x77\x94\xcb\x07\x2d\x21\x24\xfa\x95\x5c\xe5\xe5\x15\x47\x94\x6c\xc2\x24\xc2\x31\xe1\xe2\x67\x63\x11\x12\x8b\xee\x39\x8e\xf8\x11\xad\xfe\x58\xd0\xbc\x94\x73\xed\xc6\xa2\x61\xb1\xab\xf2\x03\x6c\x74\x37\x46\x08\x05\x2e\x0b\x5c\x46\xac\x25\x4e\x09\x75\x9c\xfe\x23\x45\x01\x15\x2b\xe9\x77\xe9\x66\x5d\xf0\xf5\xd4\x62\xd1\x3c\xd1\x73\xef\xde\xe2\x14\xc7\x08\xf9\x0f\x55\x9e\x5c\x2d\x54\x6f\x20\x4b\x8c\x3a\x00\xda\xf4\x0b\xe7\x9e\xf8\xe3\x8e\x96\x49\xe5\xab\x43\xc3\x9e\xb9\xdb\xd9\x77\xb4\xce\xbc\xbd\x48\xde\xba\x08\x79\x7b\xbe\x2b\x68\xcc\xdd\xeb\xf5\x9b\xeb\x0d\xb6\x6d\x84\xf3\xc3\x5f\x39\x4d\x9e\x7c\x6b\x81\xb9\x38\x72\x06\x70\x3c\x3e\x8e\x28\x6a\x71\x59\x55\x3b\x13\x18\x5b\xdc\xaf\xc7\xc4\x26\xb7\x75\x92\x4d\x08\x29\x3d\xb1\x8e\x50\x8d\x9a\x1a\x1f\xfe\xea\x89\x6a\x9a\x89\x0a\xa8\xf8\x72\x56\xfa\x67\x79\x7e\x5d\xc6\x9d\x8e\x43\x09\xa1\x9e\x3c\xe7\x44\x89\xef\x8f\x5b\xbe\xcf\xe3\xa9\x22\x74\xbe\xa3\xfb\x03\xff\xba\xa8\xa8\x58\x8e\x1b\xb2\x10\x05\xbe\xda\xee\xea\x27\xb9\x46\xe7\xbb\x1b\x20\x9a\x09\xc8\xa1\x48\xd6\x62\x2d\xd5\xaa\x58\x50\xda\x58\xe1\x89\xd2\x70\xee\x37\x8d\x06\x70\xcb\x18\x5d\xd3\x50\xaf\xac\x12\xfe\xd3\xd3\x8e\x4b\x70\x97\x63\x75\x29\xea\x5b\xaa\xf7\x4f\x82\x76\xa0\xe6\x76\x77\x1c\xeb\x56\xa2\x48\x8a\x6d\x23\xdd\x46\xc6\x17\xb3\x40\x7f\xb8\x61\x3b\x3f\xfc\xa8\x5f\x7e\x48\xed\xbe\xa5\x36\xa6\x75\x9c\xb9\x1d\x16\xb6\x96\x6d\x9e\xba\x85\x57\xbd\x2f\xbf\xa5\x87\x1a\x9d\x4d\xc3\x55\xd7\x07\x86\xcc\x49\xd2\x20\x2b\xe1\x99\x10\xc2\x9a\xc6\xc8\xda\x62\xd1\xf4\xa5\xf5\x24\x84\x06\x74\x66\xdb\xfe\x19\x46\x10\x93\x68\x80\x98\x4e\x0d\xb2\x30\x57\x95\xa3\xa8\x9f\x67\x5f\x7f\x6f\xf1\xa6\xa8\x18\x2d\xbe\x7a\xa0\x45\xdf\x28\x43\x27\x26\xf6\xa7\xa0\x52\x5c\x86\x1c\xc7\xa5\x1e\x7f\xe4\xf1\xdb\x78\x9f\xef\x6a\x03\x3a\x19\x3a\x51\x8f\x3f\xd0\xc2\x18\x00\x72\xc5\x28\x62\xba\xe5\x85\xa0\x21\x26\xe1\xac\xdb\x80\x3b\x6c\x6f\x0f\x73\xbb\xdf\x91\xf7\x78\x0f\x9b\x2b\xe1\xdf\xd3\x2d\x9f\x3e\x58\x25\x5c\x88\xef\x8e\xd3\x3f\x7b\x75\xf5\x6d\xf5\x5e\x13\x2e\x62\x62\x87\x29\x13\x47\xb5\x38\x54\x05\x1c\x26\x98\x93\x85\x40\x56\x1a\x57\x6f\xc8\xc1\xa5\x48\x40\x67\x0c\xb4\xe9\x06\x9d\xc4\x12\xae\xd2\x1b\xbe\xe2\x12\x91\x26\x84\xa9\xe3\x94\x86\x3c\xc2\x31\xc2\x09\x21\xc4\x5a\x22\xb6\xe7\xf4\xae\xe5\xc5\x81\x5f\x89\x32\x5c\x2e\xfb\x6f\x2c\x71\xb9\x2d\x39\xc1\xa2\x20\xc7\xe2\xe7\xb7\xb5\xf7\xf1\x52\x1a\x16\x69\x8b\xc5\x52\xfb\x77\x8e\x63\xdd\xc9\x32\xf6\xfa\x98\xf2\x34\x5d\x3f\xd2\x85\x8d\x82\x8f\x80\xa3\x6d\xfb\x77\x1a\xc2\xda\x8f\xc1\xad\x6d\xfb\xae\x80\xdd\x7e\xad\x2b\x81\x79\x05\x55\x74\xc7\x47\x54\xa2\x41\x80\xb3\xa6\x09\xa3\xd5\x18\xa7\xb9\x07\xb7\x3b\x35\x50\xa0\x89\xba\x18\xdb\x07\xa0\xbb\xcd\x1d\x20\xe8\x43\x8a\xfc\x54\x76\x32\xc6\x14\x21\x1c\xb7\x38\x2f\xcf\xdb\xec\xe0\x41\xac\x3c\x53\x2b\xaf\x8f\x18\x4d\x75\x51\x1c\xcb\x0d\x2d\xe6\xb7\x23\x6b\xe2\x60\x71\x13\x07\x70\xcc\x6c\xe9\xa3\xbb\xc0\xc9\x2c\x46\x7e\xec\x2f\x56\xc9\x4d\xbc\x8a\xe5\x3a\xc6\x62\x6d\x98\xe3\xb0\x30\x8e\x08\x21\x1d\xaa\x88\x5b\xf9\x30\x5f\xb6\x18\x46\x32\x39\x13\xb3\xae\xb9\x84\x2c\x30\xef\xa0\x75\xf5\x3e\xcb\x0b\xee\xc6\x37\x09\xa2\x21\x9f\xcd\x22\xc2\xc2\x64\x36\x8b\x00\x7c\xc5\x81\x89\x64\x86\xee\x04\x65\x61\x12\x8d\xb2\x76\x3b\x4b\x56\x49\x38\x16\xa8\x61\xcf\x77\x67\xf3\x23\x46\xae\xf7\x4c\x18\xe1\x94\x2c\x04\xd9\xa2\x7b\x96\x11\x2b\x5e\x6d\x6e\xd2\x55\x3a\x9b\xa1\x84\x58\xcc\xa5\x61\x1a\xe1\x14\xe1\xc4\x22\x24\x73\x1c\x0e\x74\x1e\xa4\x76\xa8\x90\x8f\x29\x63\x73\x67\x9e\x35\x20\x76\x26\xce\x49\x08\xe3\xcb\x00\xf1\x1a\x2d\xea\x06\xc5\xf6\x92\xd0\x92\x38\x4e\x2e\x1b\x4d\xd0\xaa\xdb\x26\xa9\xdc\x26\xbf\x5a\x40\x77\x51\xed\xdc\x30\xc2\xb9\x60\x57\x8e\x79\xe2\x2f\xf1\x6e\x5f\x3d\x4e\x42\xad\x20\x0d\x55\xd1\x33\x88\x64\x8e\xe3\xa6\x84\x86\x2c\xc2\x8c\x50\x4c\x49\x8a\xf0\x80\x98\xa3\x28\x70\x63\xa2\x58\x9a\x8e\x4c\xc3\x2f\x11\xe6\xe4\x9c\xfa\xa5\xaa\x67\x4c\xd2\xbd\x58\x73\xa8\xee\xb8\x02\x24\x08\x7d\xee\x89\xae\x13\x6a\xfe\x88\xc3\x55\xfc\xce\x66\x98\x6b\x3a\x4b\xa0\xe0\xf7\xe7\xb4\xf6\x4c\xd0\x40\x6f\x68\xcd\x5b\x7c\x38\xee\x04\x67\xef\x17\xad\xe8\x3e\x70\x3a\xf6\x17\x92\xb0\xbd\xfa\xfe\xb8\x65\x7c\x7f\x25\x79\xe0\x2b\x3d\xb0\x2b\xd8\x70\x50\xfc\xea\xaf\x7c\xf3\xd5\xe3\xee\x4a\xee\x61\x49\x55\xd9\x40\x83\xd7\xae\x7d\x65\xa3\x11\x2b\x9e\x85\x76\x28\x4f\xae\x2b\x7b\xc6\x66\x76\x64\x47\x67\xd8\x1d\xad\x74\x99\xab\x43\xcf\x7b\xd0\x7e\x87\x76\x84\xc5\x6a\x82\x22\x8b\x47\x14\x46\x60\x2d\xfd\xa5\xd8\xa2\x1d\x09\xe2\x38\x2c\xb0\x16\x7e\x4f\x86\xc5\x4d\xa3\x8e\x6f\xbb\x84\xf1\x0e\x96\x98\xdd\x08\x16\x66\xbe\x04\x30\x6b\x45\x67\x6a\x72\x46\xfe\xf4\x5c\x04\xce\x70\x8e\x6f\xf1\x1d\x2e\xf0\x16\x97\xb8\xc2\x3b\x7c\x8f\xf7\xf8\x40\xec\x43\xfe\xe1\x43\xc1\xed\xd9\x5c\x4f\x3d\xae\x0d\x61\x0a\x3e\x92\x05\x7e\x20\x0b\xfc\x9e\x70\xe6\x22\xfc\x28\x7f\x9e\xe4\xcf\x87\x69\x1e\x9f\x8a\x6e\x03\xcb\x61\x2d\x10\x5e\xb4\xf8\x35\x31\x24\x24\xf8\x0b\xb2\x7c\xf5\xea\x93\x25\xfe\x92\x9c\xda\xb1\xf0\xe2\x8d\xd8\xf3\x5f\x91\x37\xde\xae\xda\xe1\xaf\xc5\xef\xf1\x90\xe1\x3f\xe8\x87\x3f\x92\x37\x4a\x54\xf2\x0d\x79\xa3\xc5\x22\x43\x6a\x56\xe3\x0f\x46\x16\x38\x36\x79\xc3\x55\x7c\xc3\x56\x4c\x22\x4a\x60\xfb\xd8\x00\x47\xb2\x55\x8f\x23\xff\x44\xec\x38\xe3\xf1\x1d\x4f\x1a\x29\x75\xe0\x49\x43\x0f\x4f\x65\xdc\xd0\x63\x5d\xa5\x55\x7c\x3c\xc0\xd3\xae\xa0\x4f\x8d\xe0\xd5\xf7\x55\x71\x68\x12\x9e\xf2\x7d\x93\xe4\x07\xca\x0a\x9e\x34\x59\x9e\x24\xbc\x6c\xf2\xc3\x96\xee\x9a\xa2\xaa\x76\xcd\xf6\x58\xd4\xf9\xae\xe0\x4d\xb5\xe3\x65\xb3\xe7\x34\xa9\xca\xe2\xa9\x51\x42\xa7\xa4\x39\xc4\xd5\x4e\x4c\xd0\x9f\x89\x1d\xae\xd7\x8f\x2f\x17\xeb\x75\xbd\x5e\xef\xd7\xeb\x72\xbd\x4e\x23\x1b\x7f\x4b\x6c\x37\xf0\xd7\xeb\xf5\xda\x6b\xc2\xf5\xfa\xfd\x3c\x6a\xc2\x77\xeb\xf5\xe3\x62\x31\x5f\x8b\x83\x34\x42\x33\x1b\x7f\x47\xbe\xed\x0e\x40\xfb\xbd\x8d\xed\xf7\xbf\xb3\x11\xfe\x9e\xd8\xeb\x75\x68\xcf\xfe\x3c\xb3\x5f\xb8\xf6\xec\xdb\x99\x8d\xd4\x4b\xe0\xbb\xe1\x8b\x77\xcf\x1a\xeb\x5f\x51\x40\xcc\xc4\xe7\x6b\x3b\x42\x6e\xdf\xe0\x3b\xf1\x1b\xa1\x17\x01\x5a\xaf\x3f\x69\x5c\x7b\xf6\xdd\xcc\x46\x0d\x6a\x54\x99\xf5\x3a\xb2\xf1\x0f\xc4\xf6\x55\xf5\x50\xd0\x75\x7f\xb5\x9e\xd1\x07\x17\x85\xeb\x75\x14\x35\xf6\xec\xfb\x6e\x18\x9f\xe0\xff\x44\x33\x1b\xbd\x40\x8d\xf7\x02\xad\xd7\xa2\x49\xfc\x23\x11\xf0\x2a\xb7\xb9\x6b\xbf\x83\x3e\xcc\xa0\xb6\x77\x5d\x13\xba\x6a\xf4\x42\xf6\x71\xf6\xcc\xc6\xf6\xc6\x46\xf8\x2f\x13\x85\x5f\x60\xf9\x63\x23\xfc\xd7\xa9\xcf\x6e\x78\x33\xfb\x97\xe8\xd7\x9f\xbb\xb9\xb3\x11\x7e\x3b\xc8\x4a\x74\xd6\x77\xeb\x75\x24\xc6\xfd\x22\x30\x67\x07\xda\xfe\xc9\x2c\xf1\x03\xc2\x7f\x1b\x37\xf6\xdd\xcc\x7e\x66\x23\xfc\x77\x72\xfa\xe6\x8d\x3f\xf8\xf6\x3b\xbd\x72\x08\x7f\xf9\xed\xeb\xb7\x6f\x87\x5f\xd7\x6b\xaf\xff\xfe\xd3\xeb\x3f\x0c\xbf\x8a\x4f\x23\xb8\x78\x61\x23\x99\xf9\xf5\x4f\x3f\xfd\xd5\x1f\xf5\xe2\x7b\x84\x7f\x7c\xfb\xd5\xdf\xde\xfc\x30\xfe\xf0\x03\xc2\x5f\xfe\xf1\x9b\x6f\x47\x5d\xf3\x5d\x00\x65\x90\xf3\x34\x05\x3d\xd4\x4d\x59\x67\xe2\xff\x5c\xbc\xa0\xb9\x1b\x67\x79\x91\x34\x55\x3a\x17\x28\x4c\x01\x87\x9a\x2d\xfe\xc0\xcb\xa6\x4a\x92\xc6\x75\xc3\xd9\x3c\x6a\x90\xbb\x5e\x27\x2f\x50\xd9\x98\xd0\x08\x1f\xd4\xfb\x7a\x9d\xcc\x50\x83\xba\xa9\x05\x80\xb0\x73\x1b\x61\x56\x55\xc5\x68\xdc\x81\x6f\xcf\xfe\x34\xb3\xd1\x33\x95\xa5\xe4\x3c\x39\x7c\x29\xe5\x6b\xe3\xb1\x89\xea\xe4\x32\xfb\x7d\xaf\xf8\x7d\xb3\xa9\x9b\x42\x8e\xa8\x1f\xe0\x70\x0c\x6e\xe0\xcf\xd7\xeb\x04\x05\xd0\x75\xa3\x63\x6e\x40\xc2\x77\xf3\xa8\x79\xa6\xba\xd8\xe2\x9f\xc9\xb5\xe8\x55\x5e\xee\x8e\xb5\x42\x2f\x8d\xe8\x0c\xdd\x73\xda\xb0\x63\x5d\x57\x25\x7a\x76\x9d\xe3\x7f\x90\xeb\x77\xd9\x3a\x11\x8f\xff\x24\xd7\xef\xc2\x77\xa7\x68\xb6\x3e\xad\x0f\x2f\xd6\x61\x49\xeb\xfc\x81\x5f\xad\xdf\x5f\xe3\xff\x92\xb5\xfd\xce\x0d\x05\x3e\x98\xa1\xc6\x5d\xbf\x9f\xa1\x66\xed\xe9\x04\xf4\xec\x1a\x3f\x23\xd7\xe1\xec\x5f\xd1\x35\xfe\x85\x5c\x3f\x6f\xd6\xeb\xeb\x0d\xa6\x6c\x00\x77\xb0\xf5\xc2\xf5\x3a\xa1\xf3\x34\x3a\x2d\xf1\xef\x5b\x18\x43\xd0\xc8\x01\xa2\xc6\x83\xfe\x0b\x00\x66\x8c\x4c\x52\x52\xc4\x5e\x3c\xda\x33\x36\xff\xfd\x67\x9f\x7d\xf2\x7b\x4d\xd7\x08\xaa\x2c\x69\x9a\x38\x60\xfe\xe2\x26\x09\xe4\x89\xed\xa5\xfb\x6a\xfb\x65\x46\xf7\x5f\x56\x09\x77\x93\x19\x94\x40\xfe\xe4\xc7\x9b\x9b\xe5\xa2\xf9\xec\xb3\x97\x9f\xff\x1e\x2f\x17\x2f\x3f\x71\x92\xe6\xb3\xdf\x7f\xf2\x72\x81\x5a\x60\xcd\xff\xa0\x88\x93\x37\xe4\x8f\x4a\x42\xeb\x01\xa0\x7d\x5f\x25\xfc\x80\xf0\xf0\xed\x4d\x68\xbe\x6b\x19\x6f\x77\x00\x6b\x0e\x9c\xa1\xd3\x1f\xc8\x09\xea\xf5\xdf\xa8\x5c\xc1\xf0\x9c\xfb\x5a\xf3\x59\x58\x35\xcb\xd0\x80\x37\xe9\x69\x6a\x6a\x90\xd4\x8a\x8e\xa6\x61\xdc\x13\xc6\x68\xd5\x91\xc4\xf1\x7c\xd9\xb6\x6d\x47\x64\x24\x0c\x66\x37\xc1\x5c\xd6\xd5\x1f\xe2\x5b\x38\xbc\x8f\xf8\x41\x10\xa8\x2e\x0b\x98\x57\xbd\x2f\xf9\xfe\x8d\x3a\xb2\x9b\x86\xf9\x35\xb2\x08\x29\x1c\xe7\xce\x65\x08\x33\x41\x43\x14\x38\x11\x0b\x11\x46\x18\xe4\x21\x8a\x68\xec\x6e\x2b\xba\x63\x10\x58\x93\xa5\x45\x88\x9b\x13\xd6\xcd\x0d\x72\x9c\xcf\x2d\x42\x72\x95\x4b\xd2\xc6\xa5\xe3\x58\x1c\x98\x98\x94\xfc\x17\xf0\xef\x82\x59\x12\x44\x33\x49\xc3\x65\x04\x5f\x3e\x27\xa2\x14\x30\x3a\x84\x79\x1b\x5e\x7f\x55\x70\xd1\xc9\x2f\x9e\xbe\x49\xdc\x0c\x61\x6b\xd3\x34\xd6\xc6\xdb\xd1\x3d\x2f\x6b\xb1\x2e\x83\x7e\x6c\xbc\x5c\xb0\x93\x59\x97\x28\xc9\xe6\x0d\xc2\x49\xc7\xce\x8e\x46\x0f\x92\xc9\x51\xda\x79\xbb\xc8\x71\xf6\x2e\xc3\x1b\xe4\x38\xbf\xd6\x06\x8c\x2f\x7c\x19\xe9\xef\x1a\xe4\x12\x6c\x8e\xe7\xf0\xc5\xd3\x4f\x74\xf3\x3d\xdd\x0a\x02\x10\x61\xe8\x3d\xcc\xc3\x27\x11\x72\x9c\x78\x98\xf3\xcb\x82\x1e\x0e\x52\xbc\xc0\x2e\x7c\xf9\xd5\xd6\xba\x9c\x62\x34\x38\x69\x05\x2f\xe6\xdd\x1f\x04\xeb\x6a\x55\x4d\x63\x55\x5e\xcd\x0f\xc0\xbd\xc2\xec\xdf\x93\x1d\x39\xe0\x23\x61\xf8\x81\x7c\x2e\x25\xb8\x14\x2f\xe5\x83\x21\x1c\x63\x17\xa4\x1d\xe8\xb4\x25\x15\x13\x8c\x91\xbb\x93\xeb\xf8\xba\xae\xf7\x39\x3b\xd6\xdc\xb5\xf3\xc4\x46\x28\xb8\x27\xbb\xee\x7c\xf9\x05\xdb\xeb\xf5\x33\xc7\x46\x3e\xf3\x0e\xe3\xbc\xf8\x1e\xe1\x7b\x62\x87\x79\x42\x9e\xdb\xb3\xfb\x99\xfd\x3c\xba\xb2\xf1\x2d\xd9\x0e\xd9\xcd\xdb\xf9\x1c\x6d\xc3\xdb\x88\xdc\xcf\x76\xcc\x15\x4f\x68\x75\x24\xcf\xf4\xb0\x1c\x67\xcb\x5c\x66\x02\x4e\xd3\x88\xc1\x6d\xbd\xdb\x2a\x2f\x5d\x1b\xdb\x48\xcc\xc9\x03\x12\x68\xe2\x6c\x32\x8f\x1e\xdc\x31\xbd\x55\x57\x4a\xaf\x8b\xc2\x7d\x80\x69\x94\x38\xe0\x3d\x3a\xb5\x69\x5e\xd2\xa2\x78\x3a\xed\x9a\x86\x79\x7b\xbe\xad\x1e\xf8\x68\xcc\x6d\xab\xd8\xea\xab\x47\xe6\xf6\x22\xa7\x1f\xb1\xfd\x6c\x29\xf0\x24\xec\xdd\x7e\x43\x0b\x8a\x59\x8a\xf7\x05\x6f\xd9\x25\x33\x37\x16\x5b\xbc\xe3\xb6\x00\xfa\xe2\x99\xe0\x52\x6e\x04\x8b\x15\x67\xfc\x5b\x98\x17\xc7\x49\x78\xc1\x6b\x7e\xc5\x42\xea\x1d\xb2\x3c\xad\x5d\x14\x61\x16\x42\xde\x88\x70\xdd\x19\xd6\x37\x99\x32\x53\x28\x16\x1e\x22\x62\x2d\x30\xed\xbf\x6f\x58\xcf\xc9\x14\x5e\xbc\xe7\xb4\xe6\x0a\xc4\x5c\x3b\xc9\x1f\x6c\xb4\xea\xa7\xcf\xb2\xa8\xcb\xd0\x84\x9c\x52\xcf\x94\xb9\x1a\x02\xb2\xfb\x37\x35\x7f\x5f\x0a\xe4\x2b\x31\x92\xe0\x84\x0d\x64\x97\xb1\x21\xd2\x54\x9c\x5a\x63\xa3\x73\x39\x04\x9f\xcf\x51\xe2\xd1\xba\xde\xff\x91\x96\x49\xc1\xc3\x38\xe4\x51\x44\x8c\x61\xe7\x83\xda\x98\x00\xf5\x84\xc4\x8e\x33\x66\xb8\x96\x84\x18\x38\xce\x71\xdc\x7f\x31\xef\x50\x1d\xf7\x31\xff\x46\x70\x16\x4d\xf3\x05\x9a\xbb\xff\xa2\xe3\x34\xb1\xb7\x93\x01\x9e\xd2\x12\x90\x98\xc4\x5e\xc9\x1f\xeb\xb7\x39\x2b\xf2\x72\x03\x22\x19\xd1\x06\xd2\xac\x45\x27\x07\x09\x96\xfe\x7c\xd9\xf7\xf8\xd6\x5c\x28\x53\xfa\xa9\x86\x70\x61\x5b\x6a\x4e\x13\x68\x09\xe0\x19\xc5\xbc\xc3\x2d\x2a\x21\xd4\x98\xdf\xbb\x7f\xab\x7e\xd7\x68\xa0\x69\x6c\x49\xa3\xc0\x1b\xba\xd0\x5e\x31\x68\x8f\xb9\x66\x93\x1a\x4c\xc9\x8c\x61\xf3\x53\x8c\x13\xd9\x1f\x8e\x53\x42\xdd\x30\xc2\xb1\x3e\x3c\x19\xc2\x1b\x92\x0e\xc1\x60\x33\x9f\xa3\x38\xe4\x24\x0d\x37\x51\xe4\x38\xae\x80\x02\x62\xb9\x89\xf8\x11\xcf\x08\xb5\xe2\x5f\xd7\xa5\xed\x60\x2f\x38\x8e\x3e\xf8\x26\x91\xb8\x45\xc8\x6b\xc7\xa1\x6d\x4c\x12\xe6\x29\x49\x04\x39\xb5\x38\x15\xef\xf9\xe1\x1f\xdf\x7d\x7b\xce\x6c\x83\xd8\x90\x8e\xcf\x62\x8a\x3a\x5e\x5a\xb5\xd2\x5d\x02\x07\xf6\x1f\x7f\xfa\xee\xdb\x21\xda\xf5\xad\x65\x8b\xef\xa0\x55\x5e\xeb\x5a\x26\x18\x7b\x4e\x68\x70\xde\x96\x5f\xe3\x0d\xe1\x5e\xc2\x53\x7a\x2c\xea\xbf\xe7\xfc\x7d\x27\x5f\x92\xf4\x80\x40\xfd\xdc\x80\x78\x3e\xee\x5c\xe0\x16\x84\xe3\x2d\x39\xfb\x80\x4b\x62\xa5\x2e\x47\x78\xe3\x38\x1b\x8b\x90\x8d\x57\x57\x3b\x71\xd8\x7a\x34\x49\xbe\x7a\xe0\x65\xfd\x6d\x7e\xa8\x79\xc9\xf7\xc1\x79\x92\x6b\x1f\xcb\xa2\xa2\x89\x8d\x0d\x89\xcf\x9d\x8b\x5a\x6c\x2d\x91\xbf\x11\x9b\x99\xc6\x19\x14\x11\x07\xb2\xf1\xea\xda\x55\x79\xa1\x2c\x42\x38\x06\x34\x00\x28\xf9\x40\x36\x06\x2c\x99\x57\x01\xb1\x3e\x29\x89\x9d\xdb\xd8\xa2\xa3\xd3\xab\xfb\x6c\xa3\x56\xd4\x38\x05\x0e\x17\xeb\xa6\xbb\x1d\x2f\x13\x89\xd7\xb8\x42\xa0\x5f\x56\x5b\x89\x40\x6d\x84\x54\x73\xe7\x44\x82\x60\x1e\x15\x3c\x9f\xb7\xda\x9d\xed\xe4\x9f\xf2\xb8\xe3\x97\xa8\x04\xc7\xb9\xd4\xb3\xbc\x2c\xf9\x5e\xc0\x17\xb1\x5f\x25\xf9\xc3\x15\x0c\x93\x3c\xa7\xcf\x6f\x5e\x5d\x27\xf9\xc3\xcd\x20\xf1\x2a\xd7\xc9\x36\xa6\x1e\xf0\x38\x30\xa6\xd1\xdc\xbd\x04\xfc\x79\x81\x0c\x11\xcc\xcd\x68\x44\x82\xd8\xba\x30\x75\xdb\xc1\xd4\x51\x24\x88\xb0\x03\xb6\x46\x03\x15\x15\x37\xcd\x54\xaa\x7b\x98\x6a\x2c\x70\x13\x2f\xcd\xcb\xc4\xfb\xe6\xcd\x48\x32\x95\xa7\xae\x96\x9d\x8d\xa8\x41\xb9\xd5\xcb\x1e\x15\x8e\x88\xc5\xfe\x46\x2d\x16\x84\x5c\x7f\xa8\x05\x61\x1c\xf9\x61\xd4\xb6\x58\x34\x5a\xd4\x7c\x3f\x6c\xb6\x17\x11\x6a\xca\x80\x32\xcc\x58\x57\xdd\xe4\xb2\x9d\x53\x56\xe2\xfc\x68\x5b\xe4\xbb\xea\xf4\xef\x46\xf8\xbf\xd0\xac\x1c\xb2\x89\x09\xbb\xc6\xc5\x08\x15\x16\x3c\x4b\x97\x1d\x1b\x4c\xcb\x03\x2d\x8e\x5c\x75\x15\xab\x2e\xfe\xf4\xfa\x0f\x64\x7a\x3f\x05\x93\x62\xc3\x89\x05\x1a\x62\xe4\xe0\x22\xc5\xad\xa5\xca\x93\xb2\xf2\x84\x84\x91\xba\x80\xbb\x58\x81\x38\xc5\xed\x17\x36\x08\x04\x4f\xfa\x30\x4f\xe1\x0a\x03\x09\x32\x21\x36\x90\xa6\xe2\x10\xe2\x6e\x06\x12\x4d\x7a\xa5\xad\x1e\x3b\xc8\x67\xc6\xa3\x37\xe8\xfe\xff\xc6\x04\x74\xa5\x14\xa4\x8e\x67\xa1\xdf\x82\xfd\x3c\xe0\x9d\x18\x73\x25\xfe\x48\xb6\xa0\xc7\x24\x63\xc2\x57\xf0\x42\xee\x68\x93\x0e\xd1\x87\x94\x51\x5c\xd5\xe4\xf9\xf3\x9b\x57\xd5\x4e\x8a\xc0\x95\x58\x14\xd2\xae\x65\xe2\xcd\xab\x6b\x99\x0c\x58\xe4\x8c\xc0\xb6\xc3\xfa\x1d\x79\xfe\x3c\xea\xd0\x84\xe3\x54\x72\x26\xed\xf0\xc5\xbb\x67\x11\xe9\xa4\x3d\xcf\x9f\x37\x6b\x7b\x0d\xa2\xa9\xc9\x7a\x74\xe3\x7d\x55\x4d\xa3\xab\xea\xa5\x9c\x81\x0f\x40\xd9\x48\xf1\xcf\x85\xba\x7c\x25\xe7\x9d\xa8\xa9\xff\xd4\x22\x3c\x9a\x20\xb9\xc5\xf8\x98\x64\x96\x64\x12\x5a\x8d\xb9\x1e\xb1\xb0\x36\xb6\xa5\x44\x18\x7a\x62\x62\x3f\x86\x46\xd9\x4b\x71\x1a\x61\xfb\xcd\xa5\xf1\x8b\xef\x24\x99\x9a\x48\x28\x29\xc5\x58\x9d\x4c\xf7\xd2\xc8\x79\x09\x72\xea\xa9\x91\xeb\x4f\xd8\xf6\xb5\x38\xfb\x42\x2d\x2f\xb0\xff\x68\x23\xac\x4b\x62\xef\x85\x6f\xc3\xd1\xec\xc6\xde\x56\x70\x0a\xfc\xa0\xf3\x6b\x10\xbc\x27\x5b\xef\x3d\x67\x77\x79\xfd\xdd\x30\x43\xd3\x6c\xbd\x6d\xf5\x61\x22\xb5\x9a\xca\x79\x18\x25\xa2\xf3\xd3\x30\xf6\x92\xfc\x10\x57\x65\x09\xe0\x02\xf9\xc9\x7d\xa7\xba\x01\x0c\x0e\xee\xdf\xc3\x83\x25\xe0\x13\x06\xb4\x53\x03\xb2\x88\x8d\x7f\x10\x00\x50\x91\xaa\x9b\x6d\x43\x70\x56\x29\x76\xb3\x11\x87\xfd\x8e\xec\xa6\xf2\xec\xcc\x3c\x4c\x4f\xc3\xd6\x8b\xab\xad\x38\x4d\x34\xfd\xf6\x63\x75\xc8\x45\xc7\x11\xde\x13\xd6\x34\x46\xb6\xb2\xa6\x79\x79\x40\xc1\x94\x80\xe9\xf3\x01\x4f\x13\xd0\x31\xdd\xe6\x0b\xde\x87\x0d\xd9\xb1\x95\x71\x4f\x93\x34\x8d\xe5\x5a\x49\xd3\x2c\x2d\x42\x12\x43\x21\xc6\x72\xe3\xae\xe9\xa0\x7f\x74\x13\xe4\xd3\x4b\x5d\x77\x9c\xe5\xef\x9d\x8b\x5f\xdd\x04\x9d\x8b\xc9\xe0\x22\x5c\x22\x5c\x46\x06\xfc\xbc\xf8\x62\x5c\xd0\x58\x8b\x55\xc7\x71\xe2\x0f\x84\x05\x67\xf5\x50\x83\xd5\xba\xba\x15\xac\xee\x62\x25\x25\x93\xd6\xc5\x3e\xcd\x2d\x76\xe9\x53\x87\xdd\x83\xc4\x77\x13\x32\x45\xda\x13\x42\xc6\xf2\xa7\xa6\x61\x28\xb8\x3c\x05\x0c\xf9\x4b\xbc\x74\xc4\xac\x4b\x0d\xc1\x37\x5c\xd0\xba\x3c\x11\x2b\x74\xa9\x10\x34\x94\x04\x62\x7c\xbc\x69\x46\xfd\x20\x84\xd4\x8e\xb3\x77\x6b\x4c\x51\x30\x5f\xfa\x4c\xe6\x62\x97\x72\x31\x14\x2c\xfd\x3c\xf8\x46\x82\x7d\x8e\x29\x9a\x77\xcf\x0c\xf9\x0b\xff\x53\x27\x11\xf5\x2c\xa7\x96\xea\xd2\x14\xc7\xa0\x32\x90\x12\x6a\x2c\x20\xde\x0c\xd6\x13\x67\x24\xa4\x11\xbe\x23\x21\x03\xe9\xa1\x95\x36\x8d\xd5\x69\x3f\xc0\xd8\xba\xee\x07\x4b\x3f\x15\x2f\x9b\x8f\x77\x75\x05\xa2\x47\x42\xba\x5a\x14\xe3\xbf\x8a\x09\x5d\xf5\x1c\xb9\x01\x53\x99\x77\x2c\xa5\xe8\x24\x16\xb9\xd8\x74\xae\x3b\x33\x97\xcc\x91\x85\x49\x44\x08\xb9\x0b\x93\x08\x25\xb3\x59\x0f\x1b\x39\x83\x6f\x18\xbe\xf8\x2a\x5b\x2d\x3a\x7f\xa7\x9f\x97\xfe\xa2\xc5\x1c\xf9\x45\x8b\x13\xa6\xb1\xe2\xf4\xcd\x29\x08\x7d\xcb\x63\x51\xc8\x3f\x0c\x99\x45\x3a\x44\x7a\xb6\x2c\x53\xb0\xa9\x05\xc0\x14\x04\xc0\x1d\x31\xf8\x16\xdb\xe4\xf9\xb3\xa5\x38\x86\xb1\xe5\x5a\x67\x58\xba\x69\xac\xb2\x69\x76\x8e\xb3\x93\xf8\x87\xa1\xa6\xa9\xc4\x01\xa3\xde\x10\x08\xd4\xe4\xb6\xba\x37\x34\xd0\xf2\xd4\x4d\x9a\x66\x02\xe1\x0a\x80\x4d\x3a\xe1\xec\x52\xa0\x99\x3e\xa1\x17\x30\x77\xa4\x94\x94\x2f\x71\x74\x6a\xfb\x39\x61\x58\x4d\x48\x48\x23\x7d\x5c\xdd\x2c\x60\x6e\x34\x5e\x9a\x9c\xcf\x5f\x99\x97\xbd\xd2\x88\x4b\x18\xf0\x91\xa3\x2a\x3e\x5e\x18\xc0\x9e\x93\x81\x20\x6a\xa4\x32\x10\xe1\x94\x70\xc7\xf9\x52\xce\x92\x99\x13\x8f\x72\xa2\x80\x83\xb0\xdf\x2a\x35\x05\x37\xd4\xe2\xb3\x08\x49\x83\xd4\x37\xd9\x5d\xb1\x4e\xc1\x88\x5f\x60\xc8\x77\x53\x32\x41\xaf\x33\x71\x36\xa6\xde\x61\xc7\xe3\x3c\xcd\x79\x12\xa4\x92\x60\xf7\x41\x0c\x27\xc6\x0f\x3a\xa9\xe4\x63\x3a\xa9\xf6\xdb\xa7\xb2\xa6\x8f\x57\x90\x13\x5f\x1d\xcb\x3d\x8f\xab\x4d\x99\x7f\xe0\xc9\x15\x7f\xdc\xed\xf9\xe1\x90\x57\xa5\x7f\x65\xcf\xa8\x9c\xd2\x63\x99\xdf\x1f\xf9\xdb\x6a\x3f\x25\xbf\x30\x68\x72\xd8\xc6\xb7\xc4\x8a\xbd\x84\xd7\x3c\xae\xdf\x1c\x77\x45\x1e\xd3\x9a\x1f\x70\x4e\x14\x96\x7c\x5b\x0b\x22\x44\xf0\x22\x70\xfb\xef\x2e\x04\x35\x22\x3e\xb8\x1f\x10\xbe\xd5\x14\x3b\x23\x34\x4c\x05\xc5\x0e\xe7\x46\x98\x46\x8e\xe3\x8a\x25\x82\xa3\x3c\x45\xc8\x10\x20\x52\xa5\x90\x0d\xf2\x22\xbc\x44\x1a\xd8\x72\x90\x4c\x62\xda\x62\x4e\x12\x20\xb4\x7f\xe2\x8f\x93\x9a\x15\xc4\xb6\x3b\xa4\xa7\xa1\x18\x10\x12\xec\x48\xc1\x33\xa4\x4d\xf3\xb9\xfc\x59\xc2\x2b\x7c\x38\x57\x20\xf3\x6a\xfe\x58\xc3\x85\x64\x59\x77\xe8\xd0\x4c\x04\x65\x30\x4a\x4c\xc6\x7c\x45\x57\x22\xc1\x94\x35\xc6\x33\x02\x3a\xbb\xfa\x5e\xe4\x13\xd9\xf4\xa7\xd0\xf2\x40\xb1\xf1\xef\x62\xe9\x65\xbe\x7e\xde\xe0\x32\x0a\xea\xe8\x59\xc5\xb8\xc5\x89\x14\x45\x49\xdc\x70\x20\x27\x43\x1e\xed\x7f\xb6\xc0\x92\xfe\xfd\xf1\xc0\x8f\x49\xe5\xa7\x0c\x03\x32\xf1\xff\x8e\x7b\x50\xf7\x4f\x2d\x16\x1c\x91\xf8\xdd\xf3\x02\x2e\x2e\xfd\x93\x7d\x63\xfb\xa7\x24\xdf\xfb\x76\x8f\x76\x6d\x65\x25\x60\x2d\x5a\x6c\x5f\x4d\x7c\x6f\xb1\x3d\xeb\x92\xf7\xfc\x21\xaf\x8e\x07\x35\xfa\x41\xd9\x7f\x5d\xca\xd4\xb6\x78\xb7\xe7\x5f\x03\xd3\xec\x9f\xe0\xd6\x7b\x8a\x09\x0f\x97\x11\x11\x7f\x46\x0c\x34\xa6\xe1\x27\x11\x71\x69\xf8\x69\xd4\x34\x34\xfc\x2c\x6a\x1a\x53\xd9\x50\x65\xb2\xff\x45\x80\x8b\x0c\x5f\x0a\xe8\x83\x22\xb6\xd8\x13\xe1\x27\x11\xc8\xf4\x71\x07\xc2\xf8\x53\xd4\xaa\xab\xf4\x8f\xf6\x62\x80\x29\xb0\x5d\xd6\x99\x6c\x60\x19\x75\x35\x7d\x82\x02\x68\xaa\x69\xf4\x56\x76\x69\xb8\x88\x44\x97\x3f\x8d\xc8\x0c\xfa\x1c\x88\x2e\x8b\xc7\xdf\x47\x4d\xb3\x44\xfe\xcb\x17\xae\xcd\x1f\x78\x29\x2b\xfb\x04\x94\x77\x93\x44\xbf\x21\x51\xf6\x33\x59\xf6\xff\x46\x33\x1a\xfe\xe7\x59\x06\x5f\xfc\x38\xce\xb8\xc5\x56\xeb\x0d\x4c\xed\x19\x4b\x54\xea\x38\x62\x76\x34\x90\xfd\xdd\x83\x39\x50\xf7\x3a\xa2\x8e\x40\x6c\x41\xdf\x95\xd5\x77\x08\x50\x8d\xe1\x65\x04\x4f\x7e\xec\x38\x3f\xc9\x32\xb1\x60\x60\x19\xa9\x98\x1b\x63\x6b\x81\xe4\x5b\x67\x33\xe5\xda\xc8\xee\x04\xc9\x73\x86\xe6\xfa\x19\xb4\x8e\xc3\x85\xa8\x6e\xd1\xcf\x24\x2c\xf3\xcb\x48\x5b\x64\x41\x8a\xb9\x66\x9f\x20\xd4\x0a\x80\x96\x20\xf4\xd3\xeb\x3f\x4c\xd8\xa3\x8c\x25\x2f\xd3\x32\x7b\x29\x6c\x08\xce\x54\xe0\xac\xc5\xa4\x96\xeb\x6f\xd5\x49\x6e\x5b\xa5\x1b\x72\xde\xaf\xf7\x21\x85\xab\xa2\x4e\x00\x2d\x4d\x2b\x0c\x2d\x00\xf7\x5d\xa7\xdf\x42\x67\xb6\xbc\xfa\x6f\x9e\x21\x5b\x4c\xea\x7b\x97\xe2\x89\x7e\x31\xb9\x08\x13\x68\x2d\xee\xa5\x1d\xc6\x4b\xd3\x4c\x8a\x9b\xa6\x44\x4d\x4a\x36\x6b\x23\xd8\x68\x2d\x6a\xf1\x68\xcb\x62\xd3\x6a\xa9\x4b\xd6\xb7\x08\x44\x1d\xeb\x6e\x62\x58\x5e\x49\x65\x61\x1e\x08\xc6\x4e\x4c\x97\xcf\x02\x97\xcf\x04\x2e\xb7\x65\x42\xc0\x09\x21\xb1\xaf\xbf\x07\xa2\x67\xb1\x6f\xbf\x53\xaf\xb1\xe3\x2c\x40\x86\xae\xc1\x2b\x46\xbe\xfd\xa2\xff\x68\x7e\xb8\x99\x2f\x7d\xfb\x99\xf9\x4d\x42\x51\x0f\x82\xb2\xa9\x7f\xa9\x2c\xae\x40\x14\x1c\xb0\xc4\xb8\x96\xc6\xec\x5c\xd3\xf0\x0e\x1e\x75\x55\xb3\x25\x54\x36\xb3\xe7\xb6\x6f\x2d\x91\x40\x84\xe7\xc8\x45\x9b\x15\x29\x85\x02\x02\xb8\x04\xe8\xb1\x1e\xbc\xf1\x86\xd8\x05\x3d\xd4\x66\xfa\xfc\x53\x84\x33\x62\x2b\xe5\x1d\xe8\x89\x9e\x4f\x71\xb0\x25\x6a\x4e\x26\xb4\xb8\x2d\xcb\xe4\x08\x0c\xc0\x16\x3d\xc9\x65\x3f\x06\x5a\x89\x24\xb5\x08\xd9\x04\xb6\x71\xb2\xd9\x13\xd8\xfe\x7e\xc8\x5a\xec\x49\x26\xf8\xa7\xe9\x5d\x81\x6b\x62\xe5\x8e\x63\x65\xe2\x74\xbe\x97\xfa\x0a\x9a\x62\xd8\xa1\x53\xd1\x71\x01\x05\x29\xc2\x5d\x04\x0a\x0c\x41\x71\x79\x8b\xed\x41\x71\xb3\x18\x93\xae\xd6\x72\x55\x91\x1d\xb1\xab\xb2\x00\xf5\x4d\xea\x38\x56\xe5\x38\x83\x91\xb4\xdd\x16\xcf\x53\xb7\x22\xe1\x26\xb8\x37\x0e\x75\xff\xde\x13\x33\x0f\xcf\x11\xde\x38\x4e\x8d\x4e\x77\xe4\x3e\x3c\x44\x4d\xe3\x8a\x1f\xb0\xbf\xba\x25\x77\x21\x8d\x40\x93\xa3\x24\xb7\x02\x81\x11\x72\x74\x9c\xdb\x70\x19\xe1\xed\x20\xe1\x65\x84\x0b\x52\x3a\xce\xbd\xa1\xf5\x12\x96\x51\x37\xda\xd9\xac\x74\x9c\xc2\x71\xc4\xa8\x9b\xc6\xdd\x92\x92\x2c\x10\x48\x81\xaa\x9d\x0b\x8a\x1c\xc3\x81\x3a\xce\x6c\xb6\x75\x9c\x02\x78\xc0\x93\xe8\x05\x09\x8f\xb8\xc4\xdb\x68\x25\x6d\x04\x3a\xda\xa3\x06\xe5\x4f\x97\xc9\xae\x33\xd5\x75\x24\xa8\x77\xd1\x31\xd9\x45\x24\x7a\xbb\x8c\x56\x06\x21\xf2\x5b\xfa\xf4\xdf\x5c\x1c\xd5\x69\xe8\x92\x5b\xc8\x0e\x15\x46\x87\xc4\x10\xb6\x11\xc2\x72\x54\x43\xb3\x85\xed\x1c\xee\xc2\x40\x48\xb2\xfd\x8f\x84\x10\xb2\x70\x9c\xed\x75\x72\x43\x16\x6d\x3b\x71\xce\x19\xea\xd9\x82\xea\x04\xaa\xe8\x00\x8b\x95\x78\x07\x5e\x4b\xc2\xe3\x10\xd2\x11\x9b\x60\x9c\xda\xf6\xb1\x54\xb7\x8d\x3c\xb9\x92\x15\x48\x8a\xba\xbb\xc7\x0b\x0f\x51\x00\x94\x3e\xd7\x7c\xd0\x32\x70\x63\x12\x52\x4c\xb1\x6d\x63\x16\x61\xb3\xad\x91\x7a\xad\x4b\xc7\x7c\x87\x79\x01\x4b\x4d\xa5\x78\x60\x48\x2e\x5c\xbb\x26\xe4\x1b\xcd\xf9\xa5\xe1\x06\xc8\x8c\x24\x22\x96\x1b\x8b\x1f\x48\x69\xd1\xd4\x19\x26\xea\x5c\xe0\x58\x7c\xe5\x82\x16\x93\x13\xe4\x9f\xca\xaa\xf6\xd3\x29\x01\x6b\x18\x61\x65\x21\xbd\x39\x57\xb0\xe8\xc5\xef\x62\x4e\x86\x03\x11\xe8\xa5\xd7\x9b\x22\x89\xe6\xaa\x39\x0e\x23\x81\xcb\x46\x2a\x05\xd9\x7c\x8e\xdc\x94\x6c\xc2\x2c\x92\x64\x41\x26\x86\xc3\xc4\x4f\x8a\x86\x83\xc1\x1c\xa7\xfd\xe1\x07\xf4\x03\x4e\x5c\x26\xab\x07\x25\x7f\x2b\x96\xc0\xda\xb6\x08\x67\xf4\x30\x1e\xd9\xc4\x25\xbc\xc9\xfc\x33\x83\xbf\x6d\x11\xd6\xec\xed\x6f\xae\xc5\x65\x26\xeb\xd0\x34\x4c\x8a\xf2\x05\x17\xd3\x34\xc0\x09\x76\x67\x0b\x15\x67\x8b\x68\xa4\xa0\xe5\xe6\x42\x03\x7f\x53\x74\x19\x1c\xc1\x97\x00\x15\xca\x03\x98\x62\xfa\x2b\xd4\x0f\x3e\x53\x3e\x58\x25\xd5\x15\xe8\x49\x94\x01\xf3\xa0\xa6\xb1\x7e\xd1\xe3\xb6\xf0\xc5\x07\xd1\x81\xf1\x37\x99\xde\xd9\xb9\x90\x78\xd4\x5c\x2c\x30\xb1\x54\xa4\xef\x49\x42\x2a\x8e\x49\xcd\x0d\x8e\xc5\x8e\x63\xb5\x10\xd4\x8b\x1d\x5b\x84\x6b\xba\x1f\x98\x92\x9b\x8a\x7e\x55\x4c\xa5\x10\xb4\x7f\x16\xfb\x2f\x1b\x5c\x94\xc9\x13\x75\x29\xed\xc7\xf2\xa4\xc5\xfb\xaa\x9a\x34\x4d\xa7\x84\x90\x6d\x8b\x41\xd9\xfc\xd2\xf7\xc2\xa3\xb1\x60\xa8\x94\xac\xd7\x71\x5c\xab\x10\x4d\x7e\x0d\x1a\xea\x4d\xff\xec\x0a\x0a\xce\xb2\xc4\xfe\x07\xe1\x2e\xf5\xb2\x3d\x4f\x9b\xe6\x5f\xd4\xab\x29\x03\xcd\x16\x30\x7f\x06\x51\xff\x34\xf9\xa9\x2f\x02\xc0\xbc\xab\xc5\xfa\xf5\xd7\x33\x2f\x5a\xac\x6e\x52\x26\x69\xe5\xdf\xa8\xd9\xc2\x44\xff\xa9\xa7\xd5\xf2\x1b\x5b\xde\x39\x19\x9f\xf4\xad\x50\x8b\xf5\xd3\x74\xdf\x4c\x25\x25\xf3\xad\xab\x00\xa6\x03\xf7\x15\xaa\x41\xf0\xed\xae\x7e\xf2\xc7\xa6\x06\xbf\xca\x97\x83\xf5\xa8\x06\xa6\x57\xbf\x9f\x32\x62\x95\x7d\x98\xe8\xad\xd5\x9d\x22\x1e\xb4\x0e\x36\xb9\x19\xa7\x09\xdf\x4f\x8d\xed\x1f\x6a\xb3\x76\x73\x8a\x5a\x0c\x13\x38\x95\xf9\xe7\x89\xcc\x52\xb3\xe7\xdf\x5c\x26\x43\x3f\x48\x83\x9b\x91\xc4\x5a\x0c\x9a\xd7\xe7\xa6\xba\xe3\xaa\x2e\xb5\xe9\x38\xb6\xa8\xa1\xaf\xdf\x71\x5c\x49\xd6\xbb\x8c\x8c\x39\x08\x20\x58\x91\xe0\x20\x74\x99\xb1\xe8\x4d\x3b\x27\x28\x0c\xfc\xa7\x27\x29\x5c\x44\x80\x1e\x47\x9f\x0d\x09\x63\xc8\xe6\x4b\x91\x87\xdf\x8f\x73\xf4\xac\x49\xb8\xb8\x89\x83\x78\xc6\xfc\x18\x72\x3e\xf0\xf2\xbc\x36\x6d\xb5\x12\x93\xc5\x8a\x81\x41\x1f\x79\x89\xe8\xf8\xa2\x99\xb6\x08\x57\x49\xf2\xb1\xe2\xcb\x5f\x29\x5e\x9c\x0d\x65\x60\x74\x47\xba\xbe\xae\xe6\x73\x41\xe8\xac\x74\x35\xc9\xa0\x9a\xcd\x6f\xae\x66\x36\x4b\x5e\xb1\xe9\x5a\x40\x75\x42\x03\x78\x59\x67\xc4\x00\xf7\xfb\xce\xa6\xf9\xb4\xa7\x49\x5e\xf9\xd6\x42\xa2\x11\x56\x3d\x8a\xe7\x34\x2f\xb8\xf8\xdd\xd1\xc3\xe1\x7d\xb5\x4f\xc4\x73\xbe\xa5\x1b\x91\xd8\xa2\x9e\xfa\x62\x11\xb9\x65\xae\x61\x22\x7d\x3a\x1c\xd9\x36\xaf\x45\xfe\x3d\x3f\xf0\xfa\x3c\xff\x9d\xcc\xaf\x15\xc7\x4a\xe6\xa2\x53\x5b\x32\xc3\x45\x89\xd6\xbc\x38\xf4\x3d\x1e\x90\x5d\xc0\x54\x97\xac\xaf\xa3\x62\x23\xe3\xbd\xde\x22\x8b\x3c\x6a\xb6\x3c\x4f\xdd\xbb\xce\x1a\x29\x58\xf8\x77\x9d\xb0\x73\x95\x11\x0a\x26\x89\xf8\x56\xb4\xa8\x65\x58\x9a\x7a\x41\x27\xd7\x8a\x9b\xc6\xe5\xe4\x2f\x52\x0d\x3b\x43\x20\x06\x11\x3b\x23\x23\x99\xaa\x86\x87\x8b\x48\x33\x9e\x4d\x93\x21\xac\x8c\x10\x53\x12\x46\x48\x9c\x94\xd6\x12\xbb\x9c\xfc\xb5\xab\xc2\x71\xdc\x98\x70\xad\x6a\x8a\x53\x99\xfd\x24\x25\xc7\xb1\xb4\x23\x87\x4a\x0d\xc2\xec\x0a\x6e\xcb\xfb\x46\x3b\x56\x57\x2e\xc0\xe6\x2a\x2f\xaf\xf4\xec\x21\xcb\xe5\xe4\xef\xe1\x26\xea\x5a\x6c\x9a\xdb\x70\x13\x39\x8e\xf8\x20\x9e\x5c\x2e\xd2\x7e\xbd\x17\x1b\xac\x6e\x31\x7c\x7e\xa9\xf5\x3c\x75\xad\x58\xd9\x32\x77\x73\x9c\xa9\xef\x7e\x16\xf4\x62\x2c\xe4\x3f\xba\x14\xe7\xa8\x9b\xfd\x5e\x87\x70\xc7\xce\x2d\xcc\x0c\x0d\x7f\xdb\xee\x6c\xcc\x92\x19\x58\x60\x4a\x31\x7b\xaf\x27\xd2\xd5\x74\xcf\x86\xb6\x13\xcc\x4b\xf2\x3d\xe6\x24\x76\x1c\x53\xe4\x29\x78\x0f\x9c\x92\x87\xfe\xc6\x89\xc9\xd3\x26\x18\x70\xd2\x69\x2f\x01\x07\xdb\x5b\xc5\xba\x31\xe3\x3a\xb7\xbb\x61\xa1\xaa\xc4\x88\x19\xdf\xc8\x9e\x00\x50\x0a\x9e\x28\x05\x78\xdc\x9c\x57\x3c\x51\xb3\xe3\x50\x55\x47\x77\x57\x3b\x14\x2f\x5f\xee\x94\xe0\xc6\x73\x32\x62\x14\xb1\x9b\x91\x5c\x14\x71\x9c\xac\xe3\x67\xb3\x70\x19\x99\xb2\x6c\xc1\xdf\x92\x2c\x7c\x09\xfd\x14\xb9\xc9\x2d\x86\xb4\xf3\xbe\x18\x8a\xa9\xfb\x81\x16\x68\xcf\x42\x0d\xe6\xa2\x93\x20\x4d\x68\x1e\x83\x43\x89\x90\x47\x2a\xe3\xc4\x71\xee\x53\x71\x6c\xf4\xc6\xa2\xcc\x14\xbc\x68\xd8\x11\x5c\x49\x18\xe1\x8c\x2c\x70\xde\x83\xd0\x2d\x91\x16\xc2\xac\xf3\xa8\x02\x96\xbc\x92\x2b\x11\x5b\x3c\x76\x53\xa8\x07\x74\x76\xf4\xbd\x06\xbe\x85\xeb\x7d\xf1\x92\x99\x2e\x4b\xba\x2e\xd4\x46\x17\x0c\xee\x25\x71\x1c\x4b\xf0\x4e\x8e\xe3\x26\xa4\x66\x6e\x82\x10\xe6\x8e\x63\x71\x99\xc6\x45\x9a\xc8\x8f\x06\x6a\xba\x0a\x75\x0d\x64\x37\x04\x84\x11\xa0\x71\xb4\xd1\x63\xd9\x91\xb4\x69\xde\x33\x97\x35\x8d\xfd\xc2\xc6\x59\xaf\xa3\x10\x66\x91\x9f\x01\x23\x76\x4f\x2c\xda\x34\x56\xea\x38\x2c\xd8\xf9\x07\xe6\xee\xf0\x16\x53\xa8\x1e\xef\x49\x1c\xf0\xa6\x71\xd3\x80\xfa\x55\xd3\x24\x28\x08\x23\x7f\xe3\xdf\x83\xbe\xb5\xe3\xc4\xee\x3d\xde\xcb\x9c\x09\x3a\xdd\x92\x03\x73\xf7\xb8\x44\x38\x71\x6f\xb1\x98\x58\xf1\xe1\x8e\xdc\x0e\x17\xf0\x4e\xf0\x79\x05\xb9\x0d\xef\x60\x46\xf7\x61\x19\xde\x45\x82\xd5\xbb\x57\x4f\x05\x02\xab\x01\x79\x55\x23\xe8\x64\xf9\x20\x1a\x08\x23\x7c\x47\xf6\x93\xf5\xed\x65\x7d\xb7\x72\x0d\xee\xc3\x3b\x51\xd1\x8a\x03\x55\x82\xf7\x80\xb6\x71\x8e\xda\x5f\x29\xee\xde\x12\xae\xef\xba\x53\x5c\x20\x7f\x2b\xd2\x6f\xe6\x4b\xc7\x71\xd3\xf0\x56\x74\x73\x23\x7e\x44\x1f\xe5\xf6\xda\xc3\xa8\x09\x21\x9b\x60\xaf\xef\xb3\x2a\xac\x1b\x41\xfe\x1e\x61\x1e\xa8\x6e\x6c\xf0\x1e\xe7\xc8\xd7\x26\x10\x1b\xbc\x1f\x68\x47\x1f\x87\x98\x0d\xc3\x21\x65\xfa\xab\x48\x3c\x7d\x7b\x13\x82\xc0\x5c\xe0\xdd\x08\xe7\x64\xd3\x34\xc6\x27\x71\x8e\xe1\x5b\xb2\x09\x96\xfe\x02\xdf\x91\xfb\x69\xe5\x54\x49\x06\xe6\xd8\x5a\x20\x5c\x5c\xc8\xf4\x4d\xe7\x0e\x01\xb8\x54\x95\x7b\x4b\x42\x53\x5c\x21\x96\x5e\xed\xbb\x8d\x80\xe2\xa6\x89\x2d\x42\xc4\xf1\x26\xd8\xba\x18\xf5\x30\x77\xa7\xb2\xfb\x85\x7a\x40\x6d\xb4\x4a\x6f\x6e\x57\xb7\xca\x73\xc2\x70\x80\xb7\x6a\x80\x68\x4b\xc2\x7b\xe6\xee\x99\xbb\x45\x38\x46\x52\x58\x75\x52\xf9\xe5\x29\x66\xe4\x56\x73\x2b\x6f\x10\x45\xaa\x3a\x95\x10\x8e\xc3\x43\x24\xa7\x97\x93\xd9\xec\x76\xe0\x7b\xc3\x6c\x97\xeb\x76\x07\x72\xa8\x9a\xb9\xb7\x37\x4b\xc7\x91\xdd\x80\x47\x71\x12\x75\x52\xdb\xdb\xf9\x12\x69\xab\x7c\x75\x30\xda\x57\xf2\xa2\xe6\x76\xfe\x52\x56\x19\xd8\x2f\x6c\xdf\xb6\x5b\xc3\x39\x91\x36\x54\x89\x31\xbf\xb9\x75\x9c\x63\x5f\xe5\xad\x40\x31\x38\xbd\xe1\x32\xb5\x13\x04\x77\xa9\x70\x10\xa2\x76\xab\x29\x4c\x7d\xa4\x42\x0f\x7b\xa8\x7a\x18\x1a\x62\x74\x92\x0d\xc3\xa8\xe3\x66\x81\x53\x32\x40\x2e\x40\x15\xc9\x32\x5a\x28\xbc\xc0\xf7\xc4\x5e\xd8\x78\x4f\x52\xc7\x09\x23\x7c\x10\x7b\xaa\x26\x19\x7e\x10\x48\x06\x54\x32\xb5\xc6\xa9\x2b\x90\xcd\x1d\xc2\xef\xc9\x71\x46\x24\x5b\x50\x07\x4b\x7f\xe0\x9f\xa9\x69\xbc\x25\x7e\x24\x0f\x7a\x37\x8a\x75\xb9\x03\x5a\x69\x23\x2f\xf8\x37\x68\x75\x6f\x11\xf2\xe8\x38\xca\x9d\xd5\x96\x3c\x84\xf7\x11\x5a\xdd\xcf\x66\x12\x23\x38\xce\x16\x9d\xca\xce\xa6\xaf\x22\x34\x2c\x67\x33\x38\xe4\x2a\x77\x2b\x46\x81\xd0\x49\x21\x84\x2d\x52\xf2\x51\xd1\xc6\x91\xbc\x47\x6d\xec\x38\xae\xbb\x25\x56\x25\xaa\x71\x9c\xdd\x7c\x8e\x53\xc7\xd9\xeb\xec\x80\x83\x76\x33\x72\x8f\x63\xc7\x11\x1d\xd9\x0d\xdb\x62\xb2\xad\xca\xdd\xe3\x03\x34\xd5\xdf\x3b\xef\x6e\x16\x4a\x9b\xea\x7e\x3e\x47\xfb\xf0\x3e\x6a\x9a\x03\xfc\x75\xc5\x0f\xf9\x4a\x6e\xab\x5b\x84\x56\x07\x81\x3d\x0e\xa8\xd5\x28\xe1\x16\x1f\x10\xbe\x73\x1c\x81\x8e\x0f\xdd\xea\x38\xce\xae\xf3\x0b\x22\x00\x6f\x70\xb1\xef\xde\x76\x2b\xaf\xc6\x86\x33\x52\x23\xbc\x6f\x3b\x99\x07\x08\xe6\x90\x9f\xb6\x1b\x92\x48\x0d\xa7\xbc\xe0\xe4\x23\x6a\xba\xe0\xf3\xe3\xc9\xa0\x89\xad\x14\x9d\xe4\x55\x15\x58\xa0\x09\x4a\x95\x8d\x3c\x93\xcc\xe7\x28\x25\x47\xe6\xb2\x30\x8e\x10\x4e\xc3\x43\x14\x74\xb7\xfe\x3e\xd7\x4f\xab\x94\x3c\xb9\x14\x3f\x88\x53\x4d\x20\x80\x4e\x69\xb7\xa7\xd3\xdf\xb3\x09\x56\x06\xf3\xbe\x41\x7e\x93\xac\x12\x41\xdf\x41\x46\xf0\x63\x66\x5c\x97\x77\xf5\x3c\xca\x7a\xe0\xb4\xed\xc8\x2a\x75\x56\xc2\x28\xe4\xc0\xa4\xac\x49\x1b\xbe\x29\x62\x68\x2b\x48\x9e\xad\x71\x29\x29\x28\x75\xb5\x00\x2f\x1d\xc7\xfe\xe6\x8d\xd8\xda\xee\x2d\xc9\xc3\x45\x84\x14\x07\xdc\xa9\xc0\x4b\x1b\x0f\xd3\xaa\xa9\x14\xdb\xa3\xc3\x31\x39\x5c\x29\x03\x8e\x01\xdd\x3b\xd2\xab\xcc\xbb\xb7\x1a\x61\x99\x44\xbd\xba\xd7\x66\xa8\x69\xc2\x08\x85\x8b\x08\x5b\x9d\x06\x18\x5f\xf5\xb8\x21\xd7\x24\xba\xa4\x79\xf5\x98\xda\x8c\xfc\xdd\x33\x6d\xae\xb5\x01\x5f\xb0\xf0\xf3\x73\x29\xec\x09\x74\x41\xf2\x30\x8b\xb0\xd1\x69\x71\x90\x9b\x78\x51\x90\xa1\x05\x91\x1d\x57\x87\x67\x4a\x8a\x8f\xf6\x5f\x19\x0e\xe6\xfa\xec\x9a\x36\x20\x54\xd6\x92\xb9\x3e\x4d\x33\xbc\x44\x98\x76\x32\x70\x40\x7c\x39\xc2\x16\x1d\xdb\x67\x8a\x95\xc6\x5c\xdf\x83\x68\xd0\xda\xb8\x14\x6f\x91\x9b\x82\x6a\x0f\xe6\xf8\xe3\xd6\x8b\x08\x77\x36\x7c\xa6\xd6\x0b\x39\x68\x73\x38\x1b\x69\x9d\x17\xa5\x51\x0a\xd6\x01\x07\x7c\xae\x39\x43\x2c\xeb\x16\xdf\xb9\x08\x0f\x95\x0c\x2f\x18\x63\x2c\x3f\xa2\xb3\x39\x6d\x16\x38\xa1\x12\x3d\x69\x79\x42\xaf\xb2\x3d\x4f\xc9\xf3\xdf\x3d\xbf\x79\x75\x4d\x6f\x6c\x6c\xff\x4e\xca\x6d\x0c\x1b\x93\xa1\xc0\x46\xe4\x17\x3c\x64\xd3\x64\x4c\x8a\x6f\x1a\x10\x55\x66\x3c\xdf\x64\x75\xf3\x3e\x4f\xea\xcc\xc6\x17\xee\x80\xe3\x40\xaa\x0b\xf8\x63\xc5\x28\x6c\x77\x37\x97\x43\xf1\x4f\xb0\xf4\x5f\x4a\xbb\x9f\x5e\xb5\xea\xb7\x19\xd5\x80\x9c\xea\x7a\x6c\x30\x33\x54\xe4\x86\x9d\x60\x83\xff\x3f\xfb\x57\xc6\x2d\xb3\x76\x03\x57\x25\x2f\x8d\xb3\x69\x94\x9c\xcc\xba\x2c\x27\xeb\xe7\x42\xdb\x83\x81\xde\xcf\xa5\x85\x53\x6e\xb4\x46\xdd\xea\xd5\xbf\x55\xcf\xfe\x74\xd6\x27\xe9\xd0\xea\x6c\x05\xa4\x7b\x15\x6b\x11\x8c\x66\xdc\x77\x93\x8b\x2a\x6a\x89\xa1\xa2\x96\x98\x2a\x6a\x08\x27\xac\x15\x68\xb3\x84\x3d\x4f\x6a\x70\xc7\xb8\xdb\x93\xba\x57\x4e\x52\x49\xa1\xed\xdb\xd2\xbd\xe3\x6e\xdf\x09\x67\x4a\x75\x68\x91\xda\x38\xbd\x70\xe9\x49\x8f\xab\x5a\xcd\x0b\xdc\x24\xfd\xe3\xbb\x6f\xdf\x54\x31\xa9\xe5\x23\x2e\x7b\x0d\xc3\xba\x7b\x04\xe5\xbf\xa3\x6e\x04\x90\xce\x00\xc7\xe1\x07\x72\xfd\xee\x15\x78\x62\x58\x1f\x5e\xac\xaf\x83\x1b\x37\xf0\x5f\xad\xaf\xd7\xcb\x9b\x06\x3d\xbb\xc6\xef\xc9\xf5\x3b\x2f\x7c\xe7\xff\x6e\x1d\xae\x3d\x1c\xbd\x78\x76\xdd\x1f\x41\x8f\x7a\x5e\xf3\xd4\x1d\xb8\x6d\x62\xdd\x35\x47\xe9\x6d\xf6\x7c\x37\xd0\xc7\x30\x28\x61\x4b\x7b\x65\xc3\x09\x06\x8d\xc5\xb8\x85\xe3\x86\x9d\x29\x5b\x4e\xd4\x33\x24\xd2\xfb\xc2\xe7\x5e\xa6\xa0\x83\xef\x3b\xb5\xd0\xae\x4a\x49\x15\x6b\x3f\x66\x8c\x98\x29\xdd\x99\xfb\xb1\x96\x4b\x4f\xb9\x4e\x03\xe2\xe0\x86\x2c\x64\x2f\x5a\x5d\xd1\x05\xef\x13\x2c\x5c\x44\xc6\x4d\x8b\x4b\x89\xed\x97\x55\xed\x82\x2a\x0b\xb2\x11\x96\xc2\x07\x8d\xc8\x41\x71\xa1\xe7\x0f\x24\x5c\x8d\x95\x61\x41\x75\x24\x08\x93\xc8\x0f\x23\x7f\x98\xc5\xa5\x58\x0d\x82\x4d\x0d\x62\x68\x6a\x0c\x4e\x74\x0d\x87\xaf\xee\x09\x54\xe2\xa6\x34\xa4\xe0\xb6\x13\x1c\x6d\x71\x92\xe8\xf3\xd1\x58\x80\x73\x8f\x0d\x63\xef\xbe\x2e\x45\x7a\xca\x0d\x81\x36\x88\x3f\xc9\x62\xc5\x7b\x27\x48\xa5\xa1\xd4\x1f\xb2\x08\x83\x77\xe3\x5e\x6a\xa2\x44\x76\x66\x21\x39\x05\x02\xb2\x44\x7e\x83\xf2\x21\xa3\x4e\xf0\x9b\x65\xa0\xf7\x9c\x1b\x23\x3f\x86\x93\x48\xeb\x2f\x43\x66\xfd\x16\x0c\xde\x66\xa0\x2c\xe7\x53\x1c\x77\x5a\x56\x13\xb3\x3b\x6a\xed\x51\x79\x1c\x96\xee\x2d\x96\x30\xd9\xd3\x97\x6a\x1f\x2d\xb8\x40\xe0\xf1\x74\xea\x1e\xc6\x52\x39\xcf\xd5\x9c\x1c\xe7\xd8\x51\x34\xa2\x84\xdf\xf5\x42\xdb\x27\xb6\x52\x57\xf8\x09\x7f\x30\xfd\x6a\xbd\x96\x7e\x5b\xd6\x87\x17\xee\xab\x70\xfd\x7e\xfd\x73\x34\xbb\x41\xe1\xbb\x9b\xe8\x45\xa3\x7c\xb9\xbc\x00\xd7\x2d\x5f\x90\xce\x35\xf7\x34\xd5\x2c\x5d\x9c\x9a\xc0\x30\xb9\x5f\xa5\x24\x23\x26\xf6\x2b\x79\x10\xc5\x19\xdd\xbf\xae\xdd\x05\x72\x1c\xfb\x66\x90\xa4\x39\xb3\xf9\x12\xc1\x55\xa6\xa4\x3c\xc9\x27\x41\x28\x19\x5b\xb8\xea\x8e\xfc\xd7\xda\xe3\x07\xb6\xe2\xa6\xb1\xe2\x70\x19\x39\x8e\xa6\x0c\x2d\xd6\x34\xcc\x93\x8e\xbc\x03\x97\x35\xcd\x13\x52\xa0\x83\xfc\x33\xef\xc9\xac\xfb\x06\xb2\x1d\xed\x3a\x84\x11\x76\x95\x97\x87\x9a\x96\xb1\x18\x40\x19\x88\x1d\xee\x33\x6c\x7a\xd8\xc6\xa5\x07\x1e\x65\xc5\x99\x0c\x25\x31\xd3\x8a\x40\xb0\xad\x27\x5c\xa3\x7c\x80\x85\xc6\x0f\x4a\x79\x50\xb4\x76\xee\x2a\x98\x49\x8f\xc5\xd2\x9f\x22\x1a\xa0\x61\xe5\x31\x1a\x05\xea\x41\x32\x1d\x72\x54\xa0\x6e\x16\x63\x48\x31\x7d\x4f\xb7\xe0\x2d\xf3\xc3\xd8\xb4\x34\x0e\x5f\x46\x08\x27\x60\x51\xd8\x53\x82\x27\x10\x0a\xe4\x89\x40\x7b\x86\xdf\x91\xa7\x6e\x92\x0c\x9f\x66\x64\x09\xbb\x56\x70\x0c\x9d\x11\xa2\xe9\x40\x9c\x7c\xc0\x83\xed\x45\x28\xbc\xb7\x03\xa5\x42\x98\x29\x77\x50\x4c\x57\x2a\xb3\x0f\x1b\x43\xfe\xd8\x9b\xe0\x94\xfb\xfb\x27\x6f\xcf\x69\xf2\x14\xa8\x5f\xd8\x19\x6e\x89\xfc\xde\x4b\x24\xed\x7a\xe5\x38\xee\xa8\x97\xdd\x23\x1e\x74\x8b\xea\x27\x24\xa0\x40\xbb\xf5\x74\xa9\x42\x5d\xed\xea\x0b\xe3\x92\x46\xec\x1b\xfc\x44\x4a\xf7\x83\xdc\x80\x5f\xca\x1d\x27\x67\xfa\xd0\xec\xf6\xfc\xc1\x0d\xfc\xbf\x95\x75\x5e\x34\x60\x07\x79\x8d\xdf\x90\x13\xa8\x4a\xed\x79\x09\xf7\x4d\x52\x89\xe2\x20\x9e\x4b\xfe\x08\x77\x46\xa2\x98\x6f\x2d\xda\x55\x8f\xcb\x93\x7c\x3f\xed\x5b\x52\x32\xb4\x82\x12\xd2\x02\x64\xe9\x46\xc7\xb4\xc0\x77\x3b\x3f\xbd\xb1\xb4\xc1\xe2\xa6\x0d\x56\xe9\x72\xe4\xe5\x07\xf0\x7a\xbd\x1c\xd9\xee\x2b\x0e\x97\x23\xcc\x09\x17\x6d\x74\xb7\x0c\xf8\x20\xef\x9e\xfd\x4b\x97\x84\x61\x34\x71\x51\x3d\xf6\x8e\x41\x2d\xb8\xce\x8d\x95\x43\x4d\x83\xcd\x05\x8f\x8c\xc6\x61\x06\x5a\x2e\x13\x67\x59\xa9\x57\x06\x42\x1c\xa8\xb3\xcc\x84\xd2\xcb\xc7\x54\x32\x79\x4c\x49\x07\x94\x21\x8b\xcc\x63\xaa\xc5\x71\x51\x1d\xb8\xe9\x3c\x7e\x38\x5c\xe5\xce\xd4\x74\x13\x9f\x8a\xa5\xd9\x90\x0e\x75\x4f\x79\x44\x0a\xa0\x9e\xde\xdb\x3b\xc0\x9d\xbf\xe8\x44\x00\x80\x20\xe4\x4e\x49\xa2\x55\xec\x38\xb1\x98\xb0\xd5\xc8\x96\x08\xfc\xf2\x74\xd7\xff\xcb\xa5\xe3\xb8\x9b\x60\x23\x55\x51\x94\x76\xe7\xd8\xbe\xf8\x02\x2d\x02\x9e\x65\xd1\x29\xed\x6e\x75\x07\x97\x59\xa3\x93\x2d\xed\xaf\x36\xba\x73\x38\x45\x7e\x0a\x1a\x01\x09\x7f\x9c\x54\x8d\x08\x26\xbc\xdb\xf6\xd4\x98\xc2\x09\x58\x14\x01\x1c\xa0\xa9\x34\x8d\xe7\xa9\xc0\xcf\x6a\xc5\x7d\x95\xdb\x71\xd4\x83\x69\x38\xaf\xd6\x7e\x7f\xa8\x5d\x04\x8e\xf5\x5f\x17\x85\xab\xcf\x4b\x7f\xbe\x6c\x31\x4d\x92\x69\xd7\xcc\x67\xa1\x0c\xd4\xd8\x06\x61\x17\x36\xbc\x76\x11\x96\x05\xc1\x2b\x29\x4d\x92\x2f\xc6\xe1\x1a\xcc\x0a\x69\x92\xb8\xda\x8d\xf0\xc8\xdb\xbf\x3f\x7a\xd7\x30\x4b\x11\x6a\x4d\x9f\xa0\x5f\xc9\x6e\x26\xd5\x15\x35\x77\x3c\x75\x9c\xa5\x65\xee\x2b\xe3\xfe\x5b\x79\x35\x3d\x4d\xa8\x7f\x68\xad\x8b\x73\x9b\x4d\xa6\x6c\xa8\xcc\x43\x4e\x99\xf1\x28\xcc\x36\xe9\x23\xd9\x4b\xf2\xbd\x4b\xb1\x79\xb7\x88\xba\x12\x80\x03\x2f\xe9\x55\x4f\x15\xc5\xb1\x20\xb1\xc6\x6a\x1c\xaa\x80\x98\x89\x81\xd6\x2b\x6a\x25\xd6\xbc\x94\x77\xac\xdd\xab\xea\x7e\x5d\x14\x1f\x1d\xca\x44\x13\xbf\x56\xe4\x42\x4b\xbf\x6d\xfc\x66\x7b\x30\x01\xa2\xb6\xdf\x38\x75\x63\xfd\x65\x51\x5c\x21\xe9\x0b\xeb\xa5\xbe\xba\xae\x09\x04\x4d\x73\x6a\x91\x21\x43\x10\x1c\x15\xee\x4e\xac\x8f\xd6\x63\x8a\x1e\x44\x21\x7d\xb4\x4d\x16\xd2\x02\x05\xd1\xf7\x3c\xdd\x83\x73\x94\x40\x1d\xbe\x65\x6d\x18\xc4\xe9\x24\xe9\xd7\xb6\xa3\x6e\x7d\xbd\x1d\xc3\x08\x53\xd3\x07\x5f\xdb\x8e\x3c\xef\x8a\x73\x24\xa4\x51\x4f\xda\x1a\xb7\xaf\x46\x9c\x12\xd6\x33\x1b\x36\x4c\xf9\x40\x3d\xfd\x33\x04\x57\x98\x31\xd0\x52\x67\x38\x2c\x81\xbb\xcc\x8e\x0d\x85\xeb\x53\x93\xac\xb9\x11\x38\xf9\x0d\xa8\xe9\x42\x3e\x85\x51\x44\xae\x2f\x7b\x79\x9d\xcb\x09\xf7\xf6\xfc\x81\xef\x41\x6b\x48\xd5\x60\x70\x3c\x48\x13\xfa\x5f\x93\xeb\xf5\xdb\xd9\xf5\x06\xff\x81\x9c\x0c\xd1\xf2\x1f\xfb\x7d\xfd\x07\x31\xe2\x53\x27\x23\x57\x78\x80\x4a\x8c\xef\x7e\x0d\x92\x56\x3c\x54\xcb\x05\x8f\xde\xe2\xb4\xc3\xac\x2d\xbd\x2f\x69\x51\x30\x1a\xdf\x1d\x06\x86\x69\x94\x4c\xe0\xef\x3f\xc0\xc0\x44\xe3\x7e\x7f\x60\xb7\x58\x19\x30\x0e\x3c\x04\x8b\x33\x31\x27\x16\xf5\xaa\x32\xe6\x70\xcf\x72\xdb\xd7\x5f\xc8\x03\x35\x26\xd4\xdb\xf2\x6d\xb5\x7f\x72\x9c\x02\x27\xc4\x5a\xe0\x94\x6c\x9a\x66\x81\x37\x70\xc8\x66\x9d\xcb\x26\x62\x2d\x56\x99\xe3\x70\xe5\x39\x3b\x4f\xdd\x2c\x4c\xf5\x15\x59\x21\x0e\x92\x42\xd0\xde\xa0\x4e\x08\x86\x7d\x75\xb5\xfb\xa1\xfc\x9a\x16\x07\x8e\x4e\x31\xb1\x96\xea\x7c\x83\x38\x1f\x99\xe3\xb8\x79\x90\x77\xdc\xfb\x6d\x2f\x6e\x46\x7e\x1c\x88\xae\xfb\x77\x5a\xeb\x10\x94\xba\xee\xc8\x69\x70\x88\x00\x59\x9d\x69\xc2\x4c\x77\x73\xd5\x45\xa3\xba\x02\x87\xec\x6a\x29\xd8\x28\x30\x8e\x2c\xa4\x1c\x3c\xc7\x68\x35\x70\xed\x9c\x04\x54\xc1\x8c\xe3\xdc\x79\x19\x3d\x40\xd0\x92\x4c\x1f\xd3\x3e\xa8\x7d\xea\x8e\xf7\x64\x06\x49\x1c\x27\x75\x63\xd4\xa2\xd6\xf0\xa1\x8d\x59\xd0\x4f\xa2\x0f\xa1\x48\x48\x82\x6f\x05\x01\x68\x9e\xf4\x2d\x96\x1e\xd5\x26\xa2\xd5\x64\x82\x80\x90\x00\xd5\xb9\xf6\x9e\x50\xf1\xd6\xda\xaf\x62\x58\xfa\x24\x8f\x71\x86\x13\x24\x68\x12\x94\x75\xf6\x91\x78\x89\x04\x53\xe5\xf2\x1b\xd1\x63\x3e\x9f\xe3\x14\x9e\xd2\xf9\x1c\xb5\x72\x1b\xb4\x78\x4c\x01\x76\x14\x85\x29\xcc\xc9\x80\xda\xb1\x5c\x2b\x6b\x1a\x2b\xeb\x2e\x08\xc6\x8a\x95\xfd\x48\xb4\x8d\xa8\x6c\x43\xad\xee\x64\xc6\x9c\xc4\x44\x12\xd2\xc3\xcc\x13\xe1\x7c\xac\xac\xc5\x45\x65\x12\x03\x5d\x3d\xb9\xae\x23\x6e\x1a\x03\x9a\x54\x95\xa2\xd0\x64\x85\x39\xa8\x10\xf2\x9f\xf3\x7a\x10\xfd\xa1\x77\x91\x97\x35\x4d\xe2\x38\x56\x0e\xaa\x4c\x31\xec\x6e\xd0\xd8\x57\xda\xc0\x81\xd6\x0a\x46\x7e\x1c\x61\x16\xe4\x1d\xe8\xc0\xba\xab\xe6\x45\x13\x13\x7d\xbe\xf3\x74\xdb\xe3\xb0\x4b\x46\xb9\xa9\x5e\x5b\x49\xdb\x61\xa0\x3b\x33\xbc\xcd\x1b\x9e\xf2\xfd\x7e\x52\x5b\x37\x0c\xed\x3d\x3f\x54\xc5\x03\xb7\xb1\x9d\x54\x25\xb7\xb1\x81\x8c\x5c\x5b\x20\x8e\x2b\x89\x1e\x6c\x84\x75\xde\xc4\x8e\xb0\x28\x08\x4e\x26\xb1\x9d\xd2\xbc\xf8\xb5\x72\xb7\xa0\x78\x0b\xe5\xca\xaa\xce\xd3\x27\x5b\x1c\xa2\xd5\x66\xcf\x0f\x87\x51\x59\x5d\x2c\x12\x93\x6a\xef\x78\x99\xc0\x09\x9b\x90\xd3\xa1\xa6\xf5\xd4\x94\xc5\x2d\xa6\xc5\x7b\xfa\x74\x98\xf8\xc6\x3d\x31\x2c\x63\x43\x7a\xa2\xbb\xee\xd9\xac\xd6\x99\x79\xe0\x6a\xbf\x8e\x5d\xb6\x1e\xb5\xeb\xd9\x34\xfc\xdc\x4d\xa3\x19\x75\x53\xb8\x21\x43\xee\x5a\x30\x3b\x8e\x03\x14\x25\x0f\xd3\x70\x19\x45\xee\x59\xb3\x1b\x70\x9a\x36\x15\x7a\x6b\xa5\xc2\x20\xf5\xf5\x09\x06\x79\x9b\x1f\xb8\x38\xcf\xd5\xa3\x8b\xe4\xa0\x63\x4f\x2d\x98\x1a\xb4\x78\x17\x0b\x21\x68\x74\x39\xf5\xc0\xca\x88\xe5\x40\x7e\x1c\xa6\xe1\x22\x9a\xd9\x02\xf2\xec\x08\xda\x05\x5c\x18\xf7\xb5\xca\xa0\x77\x1b\x19\x20\xa3\xeb\x52\x2b\xb0\x06\x95\x0e\x20\x51\x9f\x59\x90\x53\xf0\xf8\xb1\x30\x6d\x1d\x90\x52\x9c\x20\x3f\x69\x5b\xcc\x8d\x73\x34\xf1\x76\x39\x28\x67\x8a\xc5\xc1\xe7\x73\x4c\xfb\x39\x4e\xc3\x97\x11\x96\xee\x59\x57\x89\x9c\x56\x02\x6e\xeb\xc4\x49\x03\x0f\xe6\x2c\xc7\x24\x6b\x31\x0b\x97\xef\x68\x14\xbe\x8c\x34\x62\xc0\x2c\x7c\x09\xef\x02\x31\x20\xcc\x61\x42\xa2\x89\x08\x0a\x7c\x72\xaa\x78\x90\xf8\xd3\x3b\x76\x98\x9f\x6c\xba\x1d\x0e\xae\xb5\xf4\x8c\x71\x84\x29\x58\x56\xd2\xa2\x70\x39\xe6\x08\xf3\x16\xbf\xcf\xf8\x94\xfa\xf6\x02\x9f\xc7\x7b\x40\x10\x6d\xb0\xe3\x87\x41\xf4\xd0\x34\x1f\x81\x17\xee\x8b\x43\x1e\x2c\xd9\x03\xea\x1b\x90\x8d\xc4\x4c\x4e\x53\xc0\x5d\x32\x17\x24\x0c\x8d\x88\xe2\xe0\x69\x74\x16\xbf\xec\x66\x19\x9c\x75\xd1\xe7\x60\xc0\x91\x07\x1b\x05\x77\x80\xe7\x44\x03\xfe\x7c\x9e\x36\xcd\x46\x43\x6c\x97\xde\xb6\xf2\xa6\x7d\x95\xa7\x2e\xbf\x59\x02\x93\x9e\x83\x3a\xae\x3c\x85\x38\xc2\xb7\xc3\xd7\xbb\xc1\x6b\x27\xea\x8e\x43\x16\x8d\xe6\x42\x24\xf5\xd3\x61\xbe\xe9\x1d\x24\xfa\x70\x87\x63\xa4\x36\xd0\xe6\x7c\x03\x89\x1c\xb7\x38\x47\x30\x80\xce\x25\xdb\x78\x24\xa2\x0e\xbc\x31\x36\x87\x22\x2d\xbf\x81\x68\x89\x52\xa2\x46\x26\x29\x77\xf8\x34\xee\x16\xd5\x90\xd5\x23\xf9\x2e\x1c\xd9\x12\x43\x91\x9f\x69\x5e\xfb\x4b\x9c\x55\x45\x22\x3f\x0c\x08\xcb\x40\x55\x2c\x72\xcd\x66\xbe\x7a\x73\xad\x05\x6a\x65\xf1\x71\xac\x4d\x2a\xaf\xfe\xac\xf9\xdc\x28\xe9\x5b\x62\x3a\xa1\x7a\x19\x90\xf3\x83\xc7\xaa\xe4\x49\x0b\x38\x0f\xbc\xfe\x29\xdf\xf2\xea\x58\xbb\xaa\x10\x5a\x75\x05\xc0\x71\xad\x25\x2a\x75\x9c\x41\xa5\x37\x8b\xa6\x71\xbf\x19\xcc\xde\x07\x1c\x96\x91\x12\x51\xd5\xfb\x7c\xb3\xe1\x7b\xc7\x29\xdd\x0f\x48\xbf\xb9\x36\x14\xb7\x91\x57\xa5\x69\xf7\x82\xda\x01\x43\xff\x27\x17\x9d\x3e\x9c\x3b\xb7\x74\x3f\x28\x67\xb6\x23\x07\x97\x6f\x7e\xf8\x4e\xd9\x5c\x7d\x5b\xd1\x04\xa2\x38\x60\x6b\x89\x30\x9d\xce\x2e\x3d\x5a\x42\x16\xe4\xbb\x1f\xbc\x84\x0f\x5c\x5e\x42\x97\xe0\xfc\x8a\x33\x5a\x6e\xb8\x8d\xff\x2c\xaa\x1a\xe5\x52\x95\x20\x43\xe3\xea\xcf\x2e\x3a\xb9\xe7\xdd\x6e\x1a\xd9\xa2\xc0\x3b\x22\x5d\xdb\x65\xc4\xd5\x76\x57\xf0\x1a\x6e\xc6\x3f\xc8\x49\x7d\x2b\x5a\x15\x0c\xcf\x9f\x5c\x31\x87\x72\xa5\x11\x6a\x47\xb0\x45\x4c\x13\x28\xb1\x98\xdf\x08\x12\xff\x1b\x32\xc0\x0b\x97\xeb\x9f\x5a\x6c\x6d\x3d\x7a\xde\x7d\x74\x9e\xf4\xb1\x19\x3f\xcf\x6b\x4c\xb7\x54\xe1\xfb\x30\x76\x32\x7a\x61\xc6\x47\xb9\xf4\x8c\x4b\xa7\x47\x44\x05\x88\x8b\x89\xbe\x3c\x07\x5e\xb9\xb3\xc6\xfa\x30\x76\xc6\xa5\x9c\xdb\x24\xe8\xd4\x02\x57\x90\x54\x6f\xe3\x7d\x55\x14\x8e\xd3\xf3\x21\x5c\xb2\x2a\xe6\x5e\x81\x36\xba\xcc\xae\x5d\xf0\xb4\xb6\xb5\x27\xe6\x7e\xf7\x1b\x73\xca\xf1\x67\x0b\xd4\x0e\x56\xb0\x6d\xdd\x8e\x85\xf8\xa6\xc3\x10\x0c\xb5\x30\x96\x6f\x07\x11\x5a\xbe\x83\x9b\xbf\xef\xae\xf2\xf2\x4a\x70\x7e\x4a\xeb\xa6\x0b\x46\x47\xec\x85\x60\x60\xbe\xc3\x85\x97\x97\x45\x5e\xf2\x2f\xc4\x11\xf8\x3d\xe7\xc9\xe1\x5b\xfa\x54\x1d\x6b\xc1\xb2\x95\x67\x74\x8a\x38\x19\x06\x97\x20\xa6\x3f\x54\x81\x09\x6c\x14\x2e\x40\x92\xea\x52\xf2\x61\x52\xef\x04\x0b\x3e\xf1\xa9\xe0\x5e\x7c\x38\x80\x63\x16\x9b\x55\xfb\x84\xef\xfd\xc5\x0a\x34\x43\xfc\xc5\x4a\x2a\x8a\xf8\x8b\xd5\x4e\xa9\xb0\xf8\x94\x1d\xaa\xe2\x58\xf3\x55\x5d\xed\xfc\xc5\x4a\xcc\x9e\x3f\xff\xfc\xf3\xcf\x3f\xdf\x3d\xae\xb6\x74\xbf\xc9\xcb\xb9\xf8\xb2\xdc\x3d\xda\x98\x5d\x6a\x38\x1e\x3b\x2c\x1d\x7a\xf0\xc3\x9d\xef\x46\xd9\xbf\x0f\x55\xb5\xb5\x08\xf9\xd6\x71\x5c\x76\xb1\xcb\xb2\xf1\xae\xef\xcb\xdd\xe3\x6a\x47\x13\x41\xbf\xc2\x73\x92\x1f\x76\x05\x7d\xf2\xe5\x1c\xaf\x44\x95\xfe\xd2\xc6\xee\xc5\x59\xff\x04\x6e\xb8\xab\x34\x3d\xf0\xfa\x67\x51\x25\x98\x70\x18\x3d\x22\x4b\x70\x9a\x6b\x7a\xe3\x06\x9b\x4d\xe9\x8f\x5b\x10\x66\x67\xb4\xe5\xf4\x74\xac\x54\xa4\x4f\x42\x0a\x4f\xfa\x25\xfd\x4a\x06\xc5\x44\xa7\x51\x02\xb1\x16\xb0\x47\x94\xf7\x52\x0a\x12\x15\x05\xba\x6c\x22\xf7\xb2\x6d\x15\x71\x08\xc0\x4b\xe3\x98\xef\xea\x37\xb4\xa6\x13\x2e\x4e\x4b\xaf\xac\xc4\xa7\xd0\xb0\x62\x93\xee\x13\x46\x7e\x98\x62\x32\x33\x63\x3d\x76\x6e\xb8\x97\x32\xdc\xe7\xe7\xe2\x27\xb0\x96\x3e\x5c\x5b\xaa\x53\x66\xd2\x17\x45\xe7\x90\x15\x36\xcd\xf7\xea\x0e\xf7\x24\x2f\x70\x5f\xac\xdb\x66\x1d\xea\xe7\x08\x3d\xbb\xc6\x3f\x90\x6b\x37\x7c\x3d\xff\xaf\x08\x5d\x6f\xfa\xa3\xe5\x47\x43\xc5\xa3\xbf\xfe\x19\xfb\x27\xef\xc2\x6a\x24\xb4\xa6\x73\x7b\xd6\xfb\xf0\xfa\x01\xdb\xf3\x67\xcb\xf1\x30\xe1\xf2\x74\xac\xc0\x93\xa0\xf3\x3b\xeb\x58\x61\x14\x62\xd7\xfb\x23\xa0\xe6\x18\x22\x4f\xa5\xb4\x38\xe8\xd7\xa5\x6f\x8b\x45\x90\x6f\xe0\x8f\x65\x16\xcf\x6c\xf9\x3a\x8b\xfd\xef\xb5\xeb\x95\x40\x5d\xc0\xfe\xe9\xed\x0f\xdf\x83\xb0\xc3\xf0\xdf\x55\x7a\xa2\xe7\x6a\xac\x52\x63\x5d\x73\xe9\xed\xb9\xca\xe4\x5f\x26\x43\x7e\xe6\xa9\xeb\xc2\x04\x80\x9b\xec\xa6\x01\xb4\x68\x04\x0c\x95\x0c\x12\xd8\x04\x56\xa2\x0f\x90\x6d\xc2\x28\xa3\x6b\xe6\xaf\x7d\x54\x0d\xb8\x5b\xea\x01\xcc\xa5\xc8\x88\xb4\x21\x95\x7b\x04\x4c\x82\x81\x86\x5e\x14\x7c\x4b\xf2\xa0\x94\x6e\xf9\x7d\x8a\xef\x48\x1e\xd0\x30\x8b\x7c\xf1\xc7\x71\x40\x53\xe3\xce\x71\x6e\xc3\x3b\xb0\xa0\x68\x1a\xf1\x04\xd3\x80\x9a\xa6\xbb\xf9\x4c\x26\xae\x9b\x3a\x9d\xca\xbb\xa6\x71\x75\xb5\x44\x99\x92\xf7\x11\xd4\xfc\x0c\x61\x51\x67\xd3\xb8\xe2\x87\xe4\xc1\xa9\xf5\x4f\x72\xec\xbe\xd8\x0f\xd5\xae\x45\xd8\x3d\x0b\xdf\xc9\x26\xc3\x77\x42\xe8\x4d\x1e\x40\x4d\x7d\x40\xdc\xf0\x2e\xc2\x0c\xf9\x5d\xd7\x87\x9f\x20\x09\xbc\xe2\x6c\xc0\x90\x02\xf3\xa6\x71\x37\x90\xda\x3d\x80\x11\xcf\x86\xc8\x17\x84\xfb\x81\x43\x68\x5d\x31\x7d\x2a\x78\xa7\xcb\x50\x44\xa6\x60\x94\x05\x60\x8f\xcf\x22\x2c\xd1\x4c\x0a\x2a\x9e\x67\x65\x11\xf2\x53\xb2\xc1\xe9\xff\x31\x4c\x7c\xde\x0e\x14\xa8\x26\xd6\x37\x51\xb6\x0d\xdd\x9a\x6e\x48\x6a\xac\x69\x26\xf8\x9b\xb0\x5b\xfe\xc8\xef\x1e\xc1\x22\x2a\xcc\x94\x7a\x82\x94\x39\x07\x22\xc1\x17\x7f\xe4\x60\x05\x73\xaf\xc3\x11\x33\x14\x30\xc2\xb4\x66\xbe\x14\x67\x33\x6c\x0c\x01\x21\x1f\xe0\x3c\x09\x18\x09\x59\xe4\x43\xa4\x63\x73\x80\x58\x2a\x41\x5c\x25\x81\xf8\xcc\x8c\x08\x76\xc8\xd4\x4a\x36\x02\x23\x28\x27\xd1\x21\x0b\x79\x24\x23\x34\x06\xd6\x5f\xdc\x04\xf9\x67\x3b\xa7\x33\x5e\x6a\xdd\xb8\x69\xb4\x7b\xe9\x6e\x24\xf8\x2f\x72\xac\x60\x6b\x04\xf3\x53\x70\x5a\xc2\x44\x86\x14\xb4\x65\xfc\x11\xf2\x6e\x9a\x8d\x45\x36\x2a\x12\x70\x60\xd4\x07\xd3\xa3\x8e\x98\xb6\xed\x99\x10\x39\xe3\xa7\x16\x4b\x34\xee\x9f\x6c\xba\x13\xe4\xe2\x95\xed\x5b\x0b\x6c\xf3\x2d\xe3\x89\x7a\xd6\xd1\xf9\x7c\x3b\x2e\x0e\x79\xe2\xbf\x79\xf9\x7f\xbf\x7c\xf3\xc5\xef\xbf\x9a\xbf\xfe\xea\xf7\x6f\xe6\xcb\x65\x9c\xce\x3f\xff\xfd\x17\xff\x39\xff\xf4\xd3\x4f\x3f\xfb\xec\x93\xcf\x3e\x5d\x2c\x16\x0b\x1b\xe4\x92\x50\xf3\xa4\x82\x1b\x35\xd5\xbf\xa0\x2f\xa1\xb9\xee\x62\x53\xf7\x6f\xd8\xb2\xa8\xe3\x58\x7f\x01\x13\xec\x64\x58\xe7\x80\xe5\xfd\xab\x46\x78\x4a\x44\xfb\x66\x9c\xb7\xcb\xf9\x56\xb9\x1f\xfc\xe5\x37\x54\x87\x81\xd7\xfa\xe5\x37\x55\x09\x79\xc7\x77\xf4\x67\x6d\x74\x0a\x44\xb0\x1b\xf4\xe5\xee\x46\xec\xb4\xd4\x50\x86\x5d\x99\x67\x94\x64\xee\x8c\xbb\x13\x75\xb5\x02\x78\x3e\x95\x2a\x76\xa9\x71\x93\x6d\x95\xde\x2f\xf2\x1b\x5c\x1f\x1e\x78\x22\x4e\xa6\x83\x8d\x10\x3a\xc5\x9d\xa9\x98\xa1\xc5\x9f\x90\x4d\x18\x47\x5e\x49\xb7\x1c\x2f\x40\x43\xaf\x73\xe3\x25\x4f\x41\x79\xd3\x63\x6e\x92\x44\x09\x4f\x3f\x43\x08\xff\x28\xcd\xe3\xc2\x24\x42\x82\x77\x9c\x6c\x1b\x66\x47\x4b\x66\xd4\xc3\x79\xb4\x63\x79\x0d\x0c\x12\x24\x83\x24\x52\x23\x95\x62\x1b\xd4\x22\x7f\x42\x88\xf1\xeb\x05\x21\x88\xb1\x9f\x06\xa2\xb7\x14\xeb\xd9\xc3\x14\xf5\xee\xbb\x27\xd7\x79\x14\x12\xff\xac\x89\xbe\x50\xdf\x43\x09\x07\x1a\x08\xee\x8f\xfc\xc8\x2f\x44\xa4\xed\x44\xf6\x2e\x23\x60\xb4\x97\x3e\xda\x68\x66\x43\x11\x1b\x8b\x39\xff\x45\x1f\xe7\x08\x0b\x1a\xdd\x4a\x64\x4c\x4b\x1d\x97\x3d\x18\xe4\x19\x28\xe8\xc4\x08\xf9\x9d\xd7\x74\x84\x21\x0e\x55\x3f\xd8\x84\x9f\xf7\x0b\x9d\x20\x6a\x95\xe8\x84\xe2\xb5\x4a\x0f\x72\xc9\xf6\x7b\x7d\x12\x90\x62\x75\xc6\xc1\xa2\x07\x90\xed\x8f\x55\x75\x77\xe8\x5c\xd8\x0c\x16\x82\xf7\xf5\xb4\x2b\x3b\x2f\x3b\xb9\xb2\x60\x8e\x01\xa0\xfb\x0a\x93\xf9\x1c\x6c\x22\x5d\xd1\x11\xa2\xf4\x61\xb4\x73\x58\xb3\x2c\xc2\x0a\xdf\xa5\x70\x91\x85\xb9\xd6\xc1\xdd\x80\x01\xa5\x95\x38\x0e\x6c\x2c\xb8\xeb\x00\x81\x9e\x2b\xf6\x73\xdf\xd7\xe9\xd8\xc4\x6a\xfe\x21\x87\xdd\x0b\x95\xf5\x2c\xc7\x40\x19\x74\x6f\xf8\x24\xaf\x52\x2e\xcb\xd6\xc7\x92\xcd\xd2\x33\x50\x8a\x68\x59\x2f\xb8\x80\x9a\xe1\xa7\x58\xc6\x53\x19\xe3\x95\xa9\xa5\x93\x9d\x7f\x39\x0a\x50\x6b\x19\x3a\x93\xae\x8c\x4c\x2b\x66\x15\x8b\x7d\x8f\xc7\x1b\xe9\x55\x1c\xe8\x05\xd7\xa8\xa9\xf3\x6e\x0f\x9e\xd0\x44\xaa\x3f\xb9\x11\x86\xe0\xd2\x6d\xb9\xd5\x10\x34\xd4\x0e\xc1\x6a\x61\xa9\xe3\x98\xcb\x09\xba\x77\x0b\x10\x00\x6a\x78\xe9\xb7\xd4\x04\xc0\xfe\xda\xd6\x9c\xa8\x44\x1c\xa7\xfb\xbf\x7c\xb4\x1e\x05\xa8\x72\x1b\xe0\x30\x9a\x14\x92\x9b\x06\x54\x4b\xcc\x87\x02\x18\x89\xd8\xf1\x66\xa0\xfc\x94\x99\x1b\x62\x3e\x4f\x9a\x86\x0f\xe4\x67\x29\x0e\xd3\x48\xec\x8d\xcb\x0b\x27\x17\x02\xdc\xfd\xa8\x4d\x6a\x04\xe5\xe9\xd0\x40\x1a\x6e\x22\x4c\x07\x30\x0c\xa8\x23\x96\xdb\x40\xa0\xf2\xd9\x0c\xab\x37\x00\x4d\xc3\x7e\x39\x73\x11\xe6\xa6\x9c\x42\xc9\x40\x7f\x22\xd7\xe1\x6c\x1e\x05\x82\xf1\x4a\x5e\xac\xbd\x06\xad\x93\x99\x1b\xf8\x21\xff\x2a\x82\x0f\xeb\x64\xd6\xa0\x6b\x15\xb4\x09\xff\x8d\x84\xf6\x4f\xd5\xce\xc6\xf6\x5f\xf3\x4d\x56\xdb\xd8\xfe\xa2\xaa\xeb\x6a\x6b\x63\xfb\x5b\x9e\xd6\x76\x84\xff\x7e\x29\x88\x2d\x6b\x1a\x8a\xed\xb2\x2a\x81\x29\x2a\x05\x03\x2f\xdd\xc6\x03\x5b\x6e\x23\xe0\x46\x3a\xdd\xb4\x91\xb7\x60\x50\xcd\xf8\x99\x48\x02\xf4\x70\x18\x09\xc8\xf5\xa5\xbb\xb2\x0e\x9b\xb2\x02\x27\x24\x06\x45\xde\xee\x68\xea\xef\x9f\xd1\x89\x0b\xb6\x5a\xb0\x49\x99\xa0\x0e\x63\xa4\x9b\x81\xda\x33\x1c\x87\x99\xa0\xd0\xa0\x85\xce\x29\xdb\x80\x0a\x17\x15\x0c\xa3\x42\x27\x48\x90\xef\x10\xb1\xf7\x16\x94\xd4\xdc\xde\x8e\x40\x47\xec\x42\xbe\x7b\x4b\x18\x3e\x0f\x00\xa9\x6d\xf2\x65\x09\x01\xc8\x80\x2f\x10\x56\x8a\xb4\x9d\x3d\x3b\x03\xe7\x5a\x38\xc6\x9b\x20\xf1\xb5\xbc\x5f\xa4\x64\x58\x7f\x42\x3d\x0c\xf0\x80\xfa\xb7\x81\xee\x07\xf2\xf3\x80\x81\xcf\x4e\x1c\x23\x3f\x6d\x21\x42\xa6\x1b\xf8\xda\x2d\x48\x03\x8e\x42\xd0\xb3\xeb\xbc\xbf\xd6\x3f\x93\x63\xe8\xf5\xf9\x7a\x4f\x37\x20\xd0\x40\x1f\x91\xf9\x9c\x7f\xd0\x11\x1e\xc0\x9e\xe2\x70\x21\x90\x10\xb6\x6b\x1b\x61\x66\x9a\x0b\x5d\x5d\xbd\x2a\xf2\xf2\xee\xfa\xe6\x15\xd8\x74\xdd\xbc\xba\x56\xbf\xda\x42\xea\x9a\x3e\xbf\xa1\xd2\x46\xaa\xf0\x0a\x4e\x93\xbc\xdc\xfc\x9c\xe5\x35\x3f\xec\x68\xcc\x95\x68\xc7\xb0\x1e\xea\x98\x97\xc2\xab\x59\x95\x3c\x11\xeb\x42\x6c\x13\xbb\x96\xa2\x35\x0d\x5d\x85\x97\xd5\xdb\xe2\x2d\xdf\xe7\xb4\xc8\x3f\x70\x62\x5d\x2c\x28\x3a\x3c\x2e\xf7\xd9\x97\x45\x55\x72\x62\xbf\xf2\x4b\xfa\x70\xf3\xea\x1a\x7e\x04\xba\x3c\x9b\xa9\x92\x3e\xd8\xc8\x8b\x45\x76\x30\xf0\xb1\x16\xc8\xab\x8e\xb5\x9c\x10\x1c\xcb\xa8\x61\xb6\x5e\x3b\x1b\xc7\xda\xb7\x13\x88\xfa\x07\xe2\xb5\x18\xe1\xa2\x4b\x90\x79\xba\xdc\xc3\x69\x7e\xa5\x03\xa9\xde\x3c\xbe\xba\xee\x9e\xc5\x94\x96\x15\xf4\x5c\x97\x07\x2b\x99\x41\xdf\x3a\xd7\x8b\x03\x73\xa9\xb3\x50\x1d\xa3\xf6\x00\x1e\x20\x70\x0b\x79\x0e\xe0\xf7\xfc\x4a\x0f\xe3\xb9\x7a\x78\x7e\x05\xf1\x3a\x9e\xd7\xcf\xaf\xa1\x27\x90\x2c\xa7\x71\xdc\x87\x4b\x3d\xd2\x63\xed\x86\x01\x02\x69\x31\x51\x6c\x18\x3b\xcb\x65\x63\x89\x75\x5c\xe4\xf1\xdd\x20\x76\xd6\xb8\x92\x65\x2b\x06\x35\xee\x48\x1e\xdf\xb9\x08\xe1\xff\x91\x90\x8f\x99\x42\xbe\xe4\x92\x90\x8f\x91\xb8\x13\xf4\x8d\xb6\x2b\x60\xc8\x4b\xa2\xc7\x09\x47\x3e\x52\x64\x0f\x6e\x81\xaa\xf8\x78\xc8\x4b\x70\xea\x13\x13\xbb\x2a\xed\x19\xc3\x6e\x11\xb2\x99\xfd\xc5\x91\xb1\x82\x1f\xec\x88\xc4\x52\xb6\x24\x98\xde\xe1\x1e\x8e\xe5\xce\x1d\x65\x4f\x0c\x76\x48\x70\x27\x8a\x25\x04\xcd\x25\xb4\x4a\xf4\x20\xe0\x74\xfa\xe7\x47\x82\xfb\x42\x54\xdf\xff\x22\xd7\xef\xee\xf8\x13\xc4\xe4\x15\x39\xb7\xd5\xf1\xc0\x1b\xa5\x5e\xbc\xe5\xe5\x11\x35\x30\xf9\x10\xab\x57\x64\x50\x23\x92\x41\xc7\xe1\x6f\x75\xac\x59\x71\xdc\xa3\x67\xd7\x98\x32\x91\x29\x7c\xe7\x45\x2f\x20\x1e\xb1\xe7\x7a\x33\xd4\x20\xd3\x9e\x8c\x31\xd3\xb5\x70\x97\x1c\x1b\xc9\xcb\x41\xd4\x59\x29\x1d\x54\x18\xf8\xc3\xd0\xc3\x5c\x7f\xe7\x00\x7c\x3c\x00\xd0\x69\x53\x54\x8c\x16\x82\x8f\x1f\xab\xed\x0e\xdc\xcd\x8e\x82\xd0\xab\x10\xf4\x3d\xcf\x00\x48\x75\x8f\x4e\xb1\x97\x81\xe7\xf0\xbd\xe3\xb8\x39\x89\x71\x4c\x72\x9d\x82\x39\xc9\x3b\xd3\x00\x88\xfb\x75\xcc\x93\xa6\x71\xe5\x03\xd1\x42\x32\x84\xdd\x0d\xd9\xcb\xee\x1d\xe4\xb1\xa6\xdf\xa4\x7b\x99\x3b\xb2\x57\x55\x22\x90\xb6\xe9\xb7\xa9\x3b\x55\x45\xfb\x94\x84\x90\x6f\xd5\xfd\xb8\xba\x42\x93\x97\x89\xe0\x1f\x4e\x3a\x22\xd3\xb6\x8f\x3a\x87\xa0\x14\xc0\x36\x50\xea\x66\xdc\x79\xbc\xe0\x5b\xe3\xbe\xbf\xc5\x32\x89\x40\x8c\x06\x60\xba\x6c\x64\x6a\x01\xda\x76\x84\xb3\xb1\x98\x27\x03\x6b\x77\xca\xa4\xfd\x0d\x0b\xb3\x48\x2a\x0c\x56\xe4\x1e\xe2\xee\xe2\x1d\x81\x80\xb5\xb2\x36\x25\x31\xf2\xb4\xed\x30\xc2\x15\xb8\x1a\xd1\x7d\x04\x83\x4b\x5a\x84\x55\xd4\x34\xa7\x16\x57\xc4\xe5\xc1\x2d\xec\xd7\x0d\xad\xe1\x84\xf1\x6f\x3d\x96\x97\x09\x88\xa4\x9b\xa6\xc2\x17\xcb\x16\xbd\xa0\xf0\x04\x6e\x99\x2a\x5c\xed\xf3\x0d\xd4\x71\x2f\x65\x26\x09\x56\x2b\xe9\xc7\x58\xac\x95\x2f\x57\x0e\xeb\x35\xf5\xf9\x30\x3e\x37\x68\xc3\x5f\x30\xb2\x54\x01\xad\x10\x16\xe8\x15\x4e\x49\x5f\x47\xda\xf1\x6c\xd4\xe2\x1c\x61\x77\x4b\x36\x61\x25\xe6\x47\x3d\x91\x30\xc2\xdb\x6e\x74\x5f\x56\xc7\xb2\x26\x0b\x7c\x2b\xb0\xc0\x71\xe7\x38\xea\xa1\xb7\x9f\xdc\xe1\x3b\x64\x89\x7d\xde\x34\xee\xf9\xbd\x62\x30\x71\xd5\x58\xe1\x3b\x08\x6a\x48\x87\x88\xf9\xec\x26\xd1\x9e\x55\xf8\x0e\x21\x84\x6f\x45\x1d\x62\x49\xc4\xaf\x6e\xb9\x10\x27\x9e\x9a\x2a\x0d\xe4\xc3\x04\x22\x67\x0e\x21\xcc\x83\xad\x56\xd6\x1b\x0d\x6d\x36\xc3\x0b\x70\x24\x23\x59\xef\x02\x44\x01\xb0\x72\x72\xcb\x8a\x09\xb1\x16\x68\xa5\x2e\x5c\xce\x95\x0a\x7f\xf3\x16\x56\x72\x36\xd0\x94\x1d\x6d\x68\xc7\x81\x0d\xa6\x36\xa3\xe0\xeb\x2f\x00\xfa\xed\x18\xd0\x6f\xa5\xbb\xa5\xcc\x80\xf5\x5b\x03\xd6\x33\x05\xeb\xd9\xc7\x60\x1d\x9d\x8a\x8f\x80\x7a\x12\x14\x43\x50\x2f\x86\xa0\xbe\x25\x77\x90\x1b\x3c\x35\x65\xe0\xd2\x7f\xe4\x2e\x7d\xbd\xf6\x90\x3d\xd3\x70\xb7\x5e\x7b\x6e\xe0\x7b\x2f\xd6\x82\x2d\xb1\xd1\xcc\x76\xc5\xd3\x33\x64\x23\x9c\x93\x74\x1c\xe1\x38\x9d\xcf\xd1\x86\x6c\xc3\x34\xc2\x16\x97\x8e\x3e\x36\x9e\xde\x31\x4d\x03\x8c\x92\x58\x63\x48\x97\x40\x90\x39\x8e\x95\x49\xc0\xdf\x78\x1d\xdc\x23\xd0\x2f\x94\xf9\x0c\x9b\x2a\xfb\xc5\x0b\x5b\xde\x36\x58\x7d\x3a\xec\x05\x0d\x2f\x29\x5e\x22\x6c\x96\x19\x01\xd0\x7c\x8e\x0b\x25\x56\x72\x1c\xfd\xd4\x49\x36\x10\x5a\xe5\x8e\x63\x6d\x7b\x59\x60\xe1\xd5\x9c\xee\x93\xea\x7d\x29\xb2\xeb\x67\x5d\x60\x87\x3b\xac\xab\xf6\x54\x69\x2a\x47\xb8\x14\x57\x7d\x0e\x2d\x4f\x11\x0b\xa0\x78\x18\x71\xf0\x57\xe2\xe8\xbe\x43\x7a\x49\x65\x71\x51\x72\x26\x80\x03\x80\x55\x40\xf4\x58\xd6\x7d\x07\x72\x43\x59\xa3\x6e\xe2\x4c\xc2\x61\x4b\x18\x05\x4d\x10\xac\xb0\xfb\xd0\x49\xda\xd9\x4e\x50\xfb\x80\x84\x49\xd3\x7c\x10\xd0\x78\xab\xdd\x16\x29\xcf\x93\x81\x0c\x8f\xeb\x33\x7c\x6f\x7c\xeb\x56\x0e\x32\x74\x6f\x06\x00\xfb\x32\xc4\x7a\x46\x0a\x02\x71\xdb\x3f\xe0\x4f\x06\xf1\xb9\x1c\xe7\x3f\x47\xef\xd6\x2f\x12\x2e\x76\xb3\xb3\x03\x4a\x0c\x7e\xd7\x4b\x52\x3d\x1b\xdd\x90\x85\xe3\xb8\xf7\x64\x67\x34\x89\x77\xe4\xbe\x13\x7c\xdd\xab\x1d\x84\xf0\x86\x18\x45\x7d\x1b\xbd\x5a\x38\x0e\xe0\xaf\x1d\x66\x84\x19\x12\xf2\x80\xf9\xe0\xf6\xd0\x93\xab\xb9\xc3\xe7\x97\x50\x8e\x23\x09\xe8\xc3\x4f\xb2\x6b\x84\x07\x2f\xfd\x4f\xb0\x31\x05\xe4\xbe\x47\xe1\x66\xfa\x2f\x7b\x41\x2d\x77\xaf\xc1\xe4\x36\xbc\xff\xd5\x6d\xe8\xcb\xb0\x4a\xde\x9e\x1f\x8e\x45\xad\xd5\x7d\x99\x27\xdd\xfa\x36\x8d\xab\x1f\x49\x22\xd8\x3f\xc5\x87\xc3\xe5\xcb\x40\x9e\x89\x43\x16\x81\xea\xd8\x08\xb5\xec\x24\x6a\xe1\x4d\x63\xdd\xe9\xf9\x6f\x9a\xee\xb1\x8b\x3f\x1e\xcb\x1d\x20\xbd\x8d\x88\xcd\x6f\xdd\x79\x65\x25\x49\x4e\x10\x9b\xe7\x07\x69\x52\xe1\x26\x48\x2a\xde\xe7\xe4\x6e\x80\xaa\x9a\x66\x87\xd5\x8a\xe7\xb3\x9d\xd8\xd5\x19\xc9\x4c\xc3\xb3\x55\xb6\x1a\xa5\x54\xda\x47\x1c\x2e\x48\xb6\x2a\x08\x21\x6e\x32\xb6\x8f\xfd\x80\xba\x60\x82\x85\x19\x47\xb8\x69\x0a\x55\x95\xec\x57\xd3\x50\xd4\x6e\x3b\x9f\x44\x6e\x46\xaa\x70\x3b\x9b\x45\xc8\x71\x2c\xb1\xc0\x3f\xee\xab\x1d\xdd\x80\x0f\xe4\xb7\x75\xb5\xdb\xf1\xc4\x45\x48\x85\x8a\xde\xde\x2c\x83\xdc\xbf\xeb\x50\xad\x18\x4a\x4a\x5c\x7d\x6e\x64\xfd\x46\x04\x7b\x97\x50\x16\x8b\xfa\x93\x25\xc3\xb6\xdc\xc2\x36\xc2\xf2\xba\x02\xa6\x35\xc3\x31\xc2\x29\xd9\x38\x4e\x16\x6e\x22\xe3\x8b\x28\x69\xdc\x03\x82\x5a\x44\x07\x03\x83\xd2\x5d\xaa\xb4\x4a\x60\x60\xf8\xc5\xcb\xfa\x8d\x9c\x09\x17\x29\xce\x1f\xc6\xb1\x03\xb4\x0d\xc3\x55\xdf\x7f\x94\xb9\xc5\x60\x1d\xc7\xb5\xee\xbc\x5f\xd4\x14\x0a\x18\xd0\xcf\xaa\x3d\xe5\xd2\x1e\xc7\xd2\x04\x02\x8d\x3a\x29\x36\xed\xc6\x71\x92\x70\x17\x9d\x03\x44\x41\x12\x31\xc2\x42\x20\xb5\x70\xa3\xae\xd6\xf0\x39\x61\xba\x93\x5c\x59\xb8\x8b\x5c\xad\x2e\xb4\x87\x8b\xf9\x71\x46\xb5\x11\xba\x0a\x8b\xee\x8a\x44\xcf\x48\x0b\x3a\xf5\x40\xce\x0e\x75\x03\xbb\x3d\x90\xe6\x8f\xae\x61\x56\x32\x30\x2a\x39\x57\x3e\xbd\xed\x17\x5c\x5a\xd6\x0f\xd7\x5c\x12\xd4\xf2\xe8\x3d\xdf\x66\xdd\xd7\x53\x2b\xbd\x3f\x82\xa9\x32\xed\x37\x88\xdc\xc3\x50\xb1\x75\x27\x16\xf1\x8d\xea\xbb\x58\x08\xe3\x55\x76\x4b\x49\x65\xe5\x96\x3c\x65\x5d\x73\x8a\xde\x3a\x98\xb9\xf0\xad\xa0\xd5\x3b\xb8\x4f\x49\x16\x32\x05\xf7\xf4\x12\xdc\x9f\xa8\x17\x1f\xf7\x62\xf3\xa8\x8e\xa5\x92\x13\xd8\xf4\xf5\x70\x92\x76\xcd\x85\x1b\xa3\xc2\x6f\xb6\x5b\x9e\xe4\xb4\xe6\x93\x35\xbb\x16\x1d\xe0\xc8\xa6\x19\xbe\xeb\xa0\xaf\x3d\xa9\x00\xfe\xed\x55\x53\x3f\xb0\x5b\xc2\xc5\xb4\xd1\x9a\x12\x2e\x6f\x7d\x63\xe2\xba\xe3\xe9\xe6\x1d\x55\x12\x49\x0b\x34\x59\xbc\x69\xb8\xee\x33\x52\x40\xad\x06\x96\x1b\x77\xfe\xa0\xce\xa5\xb7\x55\xac\xed\x7d\x40\xb1\x78\xb8\xb5\xb0\xb4\x01\x32\xc6\xe9\xa2\xde\xea\xe5\xce\xdb\x55\x87\x5a\xaf\x9b\xe3\x0c\xdf\x07\xeb\x88\x69\x0f\xb3\x7a\x4e\x2f\x5f\x7d\x6a\x47\x9c\x6c\x48\xfa\x80\x40\x56\x9e\x05\x70\x10\x3b\x4e\x6e\x5a\x6d\x5b\xd4\x93\x3e\xad\x9b\xc6\x96\x22\x16\x4b\x73\x81\x5a\xe2\x69\x11\xe9\x8c\x81\xe4\x03\x0b\x3e\x30\x8f\x55\xbe\x50\x07\x55\xe6\x9d\xd7\x74\xd0\x40\x9a\xaa\x58\x79\x10\x04\x17\x69\x8b\x55\xa6\x4c\xab\x12\xc2\x04\x0d\x19\x93\x64\xe0\x46\x03\x77\xb7\x25\x3c\x8c\x41\x1d\x25\x8c\x23\x41\x32\x18\x3c\x54\x50\xba\xb1\x34\xd8\x55\x16\xc9\xb9\x20\x0d\x94\xab\x13\xf5\x49\x45\xde\xcb\xbb\xc8\x7b\x08\xcb\x0a\x79\xe7\xd2\x99\x77\x24\xa0\x72\x4a\x7a\x12\x60\xe0\xe7\xfd\xf4\xf3\xb6\x5b\xc9\xec\x15\x9b\xce\x0e\x8d\x75\x25\x98\xba\xd7\xcd\xc0\xd7\x54\x8b\xd3\xfc\xf1\x4c\xcb\xd8\xa0\x3e\x3a\xf7\xb6\xa6\x5d\x9b\x9a\x38\x9c\x12\xaa\xef\x40\xd2\xfc\x11\x6e\x22\x42\x1e\xad\x36\x4d\xe3\x8e\x13\xc9\x86\x3c\xd3\x9c\xa5\xbc\xcb\x05\x09\x8d\xbc\xa3\xfb\xaf\xe1\x97\x3b\xfe\x24\xd3\x4f\x2d\xc2\x09\x01\x85\xed\xdd\x41\x5b\x10\x57\xbb\x83\x56\xfd\x50\x5f\x90\xdf\x7f\xc2\x94\x98\xd4\x52\x2a\xb0\x4a\x32\xe4\x0f\x18\x5c\xa6\x80\xab\x15\x2a\x96\x2e\x0d\xe3\xce\xc8\x9f\xf6\x24\x8b\x7e\x24\xa9\x77\xd8\xc7\x4a\x50\x23\x4e\x72\xfc\x89\x94\x4c\xc0\x57\x13\xd2\xba\x12\xdd\x47\x83\x4a\xc0\xd4\xdb\xf2\x9a\xfe\x99\x3f\x11\xcb\xea\x9e\xf1\x46\xd9\x4f\x06\x9b\xce\x02\x1a\xa7\xc8\xa7\x70\x25\xb5\x3b\xf8\x36\x2d\xea\x3f\xf3\xa7\x2b\x26\xc5\x66\x57\x31\x2d\x63\x5e\x08\x70\xbe\x8a\xeb\x7d\x21\x3e\x0d\x70\xe0\x15\x6c\xfe\x1f\x33\x7a\xe0\x57\xaa\x8d\x2b\xf0\xf7\xc6\x13\x95\x01\x48\x51\x91\x2c\xfb\x78\x55\xe7\x5b\xfe\xb6\xa6\xdb\xdd\xd5\x43\xce\xdf\x5f\xbd\xcf\xf2\x38\xb3\x0d\x8d\x18\xac\x57\xd1\x3f\xb5\xb8\x5f\x1a\xd5\xbd\x38\x13\x5b\x3e\xa3\xfb\x2f\xab\x84\x5f\xdd\xf1\x27\xf1\x5f\x3c\x8f\xaa\x18\xb9\x9c\x31\x2e\x84\xb4\x8e\x2f\x34\x0c\xb3\x08\x4f\xda\x65\xaf\xa7\x2b\x0f\xfa\x47\x9f\x79\xaa\x15\x84\x69\xdb\x62\x03\x94\x74\xbf\x24\x16\xb9\x92\x3f\x87\xab\xb8\xc8\x79\x59\xff\x43\xfd\xfe\xf3\x2a\xdd\x57\x5b\xb5\xa4\x57\x52\xb1\xf3\x1f\xea\xf7\x9f\x57\x3b\xba\xe1\xff\x80\xbf\xff\xbc\x3a\xc4\x7b\xce\xcb\x7f\xa8\xdf\x7f\x5e\xd5\x95\x2a\xf5\xeb\xc3\x33\xd5\x40\x98\xc2\x6a\x10\xbb\xd5\x68\x7b\x35\x9a\x03\x68\x5a\x7b\xc7\x64\x9e\xea\x35\xe8\x66\x74\x30\x35\xa6\x2c\xc1\xa1\xd1\x48\x21\x1a\x90\x16\xab\x92\x27\xac\xea\xec\x2b\x9b\xb9\x1c\x42\x66\x81\xce\xf3\xb7\x3c\xad\x15\x47\x6c\x26\x2c\xd0\x5c\xe6\x92\x65\x8c\x5c\x66\x02\x04\x8b\x84\x69\xea\x6a\xff\xe7\xa0\xf6\x9f\xaa\xdd\xa0\x72\x78\x1f\xd5\xdd\xe7\x31\xde\x17\x08\x61\x8b\x7a\x03\xb8\x05\xb2\xcd\x1d\x25\x92\x8d\xb1\x15\xc1\x23\x9a\x0e\xcf\xbc\x11\x9d\x03\x40\xd2\x0a\x82\x32\x6e\x63\x07\x5e\x4b\x27\x0d\x96\xfe\x4b\x27\x0d\x3e\xf1\x3f\x75\xd2\xe0\xa5\xbf\x90\xc0\xa4\x4e\x67\xff\x54\x54\x34\xf1\x4f\x9a\x7d\x80\x18\x88\x32\x6a\xc8\xe9\x8c\x89\xed\xf4\x77\x04\xf3\xc8\x04\x95\x2a\xf1\x9f\xc8\x8e\x0c\xb1\x6f\x9f\xea\x22\x6c\x2d\x4d\xb1\x2f\x1e\x08\x4c\x6c\x25\x9e\xb6\x5b\xcc\x8a\xe3\x7e\xb2\x49\xa3\x4e\x32\x68\x56\x94\x50\x8e\x67\xc4\x23\x34\x65\xaa\x85\x9c\xb5\x53\x1d\x6b\xbb\xc5\x70\x2c\x7e\xac\x25\xc3\x80\x5d\xd2\x96\xea\xd6\xce\x71\xfa\xfb\x26\x42\xe4\x79\x20\xdd\x67\x4a\x1f\x1f\xa2\x5e\xed\x08\x47\x5e\x80\x0c\x3a\xa4\x09\xf8\x5f\xb3\x99\x57\xcb\x8c\x6d\x6a\xa3\xb6\xc5\x8c\xa7\xd5\x9e\x1f\x4b\xb9\x4c\x26\xd5\x32\xb4\xd4\xea\xfd\xe2\x48\xea\x05\xa0\x48\x10\x5e\x79\x49\x8b\xaf\x94\xb8\x43\x34\x06\x17\x53\x5d\x36\xd4\x0a\x58\xc8\xb7\xc7\x62\x60\xed\xa8\x44\x77\xbd\x2d\xbd\x92\xcc\x1a\x87\x0e\x8e\xb1\x94\xd3\x52\x9c\x1f\xde\xaa\x1a\x20\x90\xc2\xa0\x55\xff\xd4\xb6\x68\x95\x04\x23\xae\xc1\xe5\x3a\x46\xf1\xb9\xbc\x5b\xc9\x39\x38\xc2\xfc\x02\x73\x14\x9f\x91\x7f\x6d\x8b\x07\xe2\x20\x32\x69\x68\x13\x8c\x6f\x9e\x27\xed\x6b\x1c\x67\xda\xec\x06\x14\xe9\xc6\x81\xad\x7b\x03\x6f\x79\x5d\xb4\x1a\xd8\xd9\x38\x8e\xab\xb5\x1f\x64\x3c\xe7\x6f\x21\x40\x54\xa2\x99\xae\xa1\x51\x8e\xe0\xec\xc1\xd5\x9b\x1c\xc2\x45\x17\x26\x03\xc7\x56\x32\x73\xe0\x82\x39\x5f\xdd\x3b\x63\x1a\xac\x82\x76\xc5\x04\x9c\xa7\x22\x6b\x20\xe1\x7c\x7e\x49\xe7\xf1\xb1\x4b\x32\x70\xcb\xf9\x47\x85\xae\x7a\xd0\x92\xc2\x39\xd0\x24\xff\x71\xb0\x4a\x4a\x2b\xfe\xc7\x31\x53\x1c\x30\xe6\xc7\x4c\x91\x37\xb2\x87\x98\x49\xd1\x3d\x00\x9d\xf4\xe1\xa0\x7c\x26\x74\xe7\x38\x91\x03\xd6\xaf\x4d\x23\x36\xd1\x7b\x57\xf2\x0e\x52\xed\xa7\xa7\xef\x88\xb5\x40\x68\x20\x60\x92\xca\x93\xea\xcd\xf0\xfb\x74\x3a\x9f\x11\x3f\x66\x78\x8a\x37\x93\xe9\x1f\x61\xb1\x44\x86\x21\xa0\x9e\x1b\xfd\x9e\xaf\xd5\xea\xd2\xc2\x30\x86\xe9\x04\xef\x13\x9c\x33\x43\xfe\x70\x45\x04\xd0\xe2\x11\x77\xf4\xdf\xe9\xc9\xf9\xc8\xfa\xbe\x8c\xaa\xd5\xbe\x18\x06\x7c\x18\xa6\x9e\x24\xe8\xe4\x19\x43\x40\x1b\x55\xe4\x9a\x9a\x3b\xb3\x63\xaa\xfd\x8f\x4c\xb1\xe8\x88\xf4\xfe\x35\x6e\x14\x30\x82\x74\x91\x03\x84\x93\x98\xc3\xbd\x6f\xc3\x73\xf5\xc0\xf7\xb6\xa4\xa7\x0a\x4e\x1f\xb8\x4e\x86\x03\x62\xec\x62\x64\x24\x3c\x88\xc8\x69\x70\xb6\x30\xac\x25\x51\x3e\x53\xfc\xc7\x99\x0d\x6d\xdc\x7b\x65\x1c\x1d\xed\xa0\x4a\xde\xf1\xd3\x8a\x50\x72\x2d\xc1\x1d\x4b\x5d\x1b\x53\x49\x48\xc7\x6e\x90\x1b\x98\xa4\x1d\x63\x8d\xe3\x5e\x00\x30\x6d\xca\x8d\x55\x19\x86\x70\xdc\x42\xd4\x36\x4f\x5e\x80\xab\x8b\xea\xa6\x19\xf3\xed\xea\x3b\x39\xc1\xa5\xd6\x6f\x39\x27\xd3\x6a\xbf\xb5\x51\x60\x2d\xe5\x99\xa7\xeb\xa3\x89\xda\xc2\x92\x23\xf5\x7e\x91\x15\x0b\x0a\x1a\xe2\x7e\xeb\x04\x1b\x4f\xf9\x30\x52\xa7\x61\x4c\x8c\xe6\x58\x77\x26\xcb\x5d\xdf\x27\xab\x48\x51\x28\x60\x9e\xe8\x8d\x0e\x87\x1e\x1b\xca\xc4\x31\xb6\x07\x23\x07\xa5\x60\xb3\xaf\x5d\x86\xe9\x8e\x51\x9d\xfc\x0b\xd3\xd0\x0c\x5a\x8d\x17\x6a\x97\x8e\x21\x51\x8b\x2f\x1e\xdd\xe3\x0a\xfb\xbb\x86\xf1\x17\xe5\x35\xc6\x88\x40\x06\x42\x9e\x9f\x3a\x2b\x55\xbd\x82\xea\x34\x76\x6d\x3d\x80\x51\x41\x4c\x95\xbf\x4a\x7d\xc9\xf2\x6f\x2c\xaf\xba\x44\x91\x79\xba\x29\x43\x12\xc6\xa4\x6a\xc5\x65\x18\x93\xdf\x2f\xc3\xd8\x3f\x25\xcb\x0c\xdd\xef\x22\x8d\x05\xae\x3b\x4d\x89\x35\x8d\x0d\x5a\x34\x83\xc4\xf1\xf2\xca\x8e\xee\x54\x4c\x4b\xd9\x01\xef\x17\x6d\xb6\x69\x2e\x8c\xad\x14\x67\xa4\x7f\xcb\x21\x2d\xa5\xcb\xcb\x08\xc5\xb2\x83\xbf\xdc\x1e\x0f\xb5\xaa\x29\x01\x24\xd7\x4b\x55\xcf\x36\xc1\x54\x83\xe7\xb5\x8c\x57\x78\xb2\xa1\x65\xdf\x4c\xbf\xf2\xba\x7e\x25\x77\x84\xde\x18\x04\xe9\x79\xbf\x24\xa1\x09\xfa\x1a\xb4\xbe\x30\x23\xc3\x4d\xb9\x52\xab\xd3\x87\xce\x45\xc6\x3e\x63\xd8\x1e\xac\xfe\xd9\x3e\xeb\x32\x4c\xb7\x65\x8d\x60\x56\x90\x14\x06\xa1\x29\x5f\x7f\xd2\x97\x24\x1f\x9f\x80\x33\xd0\x37\x76\xec\x59\x3f\xbb\x1d\x7b\x01\x99\x1b\x13\x60\xd0\x64\xd2\xc0\xec\x63\x5d\x54\xb0\x09\xde\xd7\x24\xdf\xd0\x43\x71\x97\x18\x18\xa7\xc1\xc7\x31\x7a\xc7\x58\x7c\x74\x0f\x4f\xee\x51\x35\x35\x08\x5b\x93\xfb\x4b\x6e\x5d\xc5\x9a\x75\x7b\x57\x1f\xa6\x92\x39\xec\x38\x37\xc9\xb8\x99\x0c\xd6\x94\x36\xb7\x39\x87\x67\x4b\xc5\x70\x87\xe6\x87\xb7\x01\xb0\x52\xab\xf1\x09\xcc\xa2\x09\x7c\x21\x49\x70\x49\xc2\x0c\x25\x07\xea\xdc\xd5\xcb\x9d\x60\x86\x56\xbc\x69\x92\x73\xe5\x0b\x2a\x0d\x65\xb0\x91\x15\xbb\x5c\xf0\xe9\xb3\xe5\x05\x5c\xf9\xdf\x6a\x76\xbe\x5c\xf1\xc0\xac\x9c\x23\x1f\x02\xb8\x9c\xb3\x1a\x46\x57\x8c\x4b\x66\x51\x09\xf8\x19\x18\x2a\xd1\x0f\x62\x2e\x9e\xe9\x5c\x0c\xd5\x80\x7b\x7f\xbe\xe7\x36\x84\x10\xb1\x2d\x6e\x1a\x86\x99\x56\xd1\x06\x75\xb9\x54\x2a\xbc\xc9\x51\x96\x10\x8f\x20\xc6\x34\x4c\x23\xcc\xcf\xfc\xd4\xaa\x3b\x4f\x29\xdc\x21\x24\x09\xdc\x84\x30\x1c\x93\xae\x46\x5f\x7d\x70\x9c\x09\xaf\xe0\x22\x77\x8c\xe3\x2e\xaf\x7a\x35\x3a\x84\xb0\x0c\x21\x8a\x12\x12\xb3\xce\xe6\xdf\x4a\x06\x1e\x8c\x0d\x2f\xda\x5c\xf9\xc0\x4a\x26\x1d\x5e\xb8\xd2\x87\x03\x45\xf8\x82\x07\x9c\x16\x27\x52\x5f\x46\xab\x50\xb8\x9b\x91\xb2\x98\x62\x4b\xce\x95\xf6\x47\xf8\x95\xe2\x04\xc7\x60\xbb\xd3\xe2\xaa\x9c\x62\xb5\x4d\xe1\x89\xb1\x92\x02\xf4\xaa\x34\x9d\x66\x3a\x31\x17\xcb\x0b\x9c\xd0\xee\x8c\xd7\xea\x10\x89\x9e\x9c\xc4\xa4\x35\x71\xe9\x8e\xaf\xbc\xe4\x6c\x24\xc6\x45\x79\xd2\x91\x98\x33\xdb\xb3\x67\xc6\x27\xbf\xff\x84\xfb\x9b\x03\x9c\x74\x77\x3a\xb8\xd6\xce\xa4\x27\x80\x0f\x6e\x22\x4c\xb0\x4a\x53\x97\x63\x86\x69\xc8\x47\xbe\x8f\x15\x45\xcc\x14\x5b\x79\xc9\x0c\x75\x00\x24\xe0\xf6\x05\xee\x89\x62\x12\xb3\x5f\x59\x21\x13\x37\xd2\x6e\x89\xce\xc4\x43\x67\x6e\x44\x2f\xd5\xa7\x05\x1c\x62\x99\xe0\x6e\xc4\xa8\xee\x8f\x4a\x7d\x6d\x0a\x45\x2a\x43\x95\x3e\x14\xc2\x54\x85\x80\x15\x34\xe6\x37\xfd\x8d\x70\xd6\x1f\x4f\x69\x67\xe9\xd9\x80\x1a\x3a\xbd\xa8\xbc\x0e\x16\x9e\x43\x3d\x59\x15\xff\x47\x5f\xb2\xa0\xd1\x67\x97\xa9\x58\xea\xbd\x3f\x5f\xc0\x33\x8c\xd8\x94\xb1\x7d\x43\xf7\x75\x1e\x17\xbc\xa1\x87\x3c\xe1\x0d\x3d\x26\x79\xd5\xb0\x24\x6f\x62\x5a\x3e\xd0\x43\x03\x76\xbe\xe2\x4f\x91\x1f\xea\x26\xe1\x35\xcd\x8b\x43\x93\xe6\x9b\x98\x42\x40\x5e\xf1\x78\xdc\xf3\x26\xad\xaa\x9a\xef\x1b\x19\xac\xb6\xc9\x36\xfb\xea\xb8\x6b\xb6\x74\x7f\xd7\x6c\xb9\xf8\x50\xd2\x87\xa6\x3a\xd6\xbb\x63\xdd\x68\xab\x9b\xe6\xc0\x61\x2a\x9a\xc3\x71\xbb\xa5\xfb\xa7\xa6\xce\xb7\xbc\x79\xc8\x13\x5e\xd9\x78\xc3\xc8\xf5\xd5\xed\x5f\x8e\x7c\xff\xb4\x4e\x66\xc4\x76\x03\xc0\x43\xcd\x3a\x99\x21\xfb\x7a\x83\x33\x46\x4c\x9d\x90\x57\x6e\xe0\xdb\xb3\x94\xcd\x6c\x14\xae\xd7\x87\xeb\x9b\xc8\xc6\x76\x6e\x23\x9c\x33\x72\xfd\x6e\x7d\x98\x5d\xe3\x5b\x46\xae\x5f\xb9\x81\x45\xf7\x9c\x36\x6c\xdf\xc4\x55\xd1\x80\xc9\x69\x93\xed\x9b\x7c\xbb\x69\xa4\x12\x6f\x91\x97\xd0\x67\xda\xec\xe8\x9e\x6e\x91\xeb\x86\xeb\xf7\x7e\x34\x93\xce\xda\xd1\xfa\xfa\xe6\x7a\x93\xe3\x3b\xa8\x4c\x7d\xb9\xc6\x85\x78\x05\xc5\xfb\xeb\x1c\x6f\xc5\x4b\xe3\xfc\x2e\x58\xbf\x9f\xad\xae\x71\x29\xdb\xf5\x0f\xf1\x3e\xdf\xd5\x0d\x78\x67\x80\x56\xd0\x75\x8e\x2b\x46\xae\x15\xd1\xba\x3e\xbc\x70\x03\x3f\x7c\x47\xa2\x86\xac\x0f\x2f\xb4\x12\xb8\x27\xb2\xed\xc4\x28\x9e\x35\xeb\x6b\x37\xf0\x6f\xe9\x03\x6d\x78\xbc\xa5\x48\xd6\x78\x9d\xe3\x7b\xf1\xb9\xde\x1f\xf9\xfa\xda\xf5\x5e\xa0\x6b\xbc\x97\xa3\x7e\xf1\xca\x72\x03\x7f\x1d\x7e\xf9\xe6\xf5\x4f\xaf\xd7\x61\x33\x9f\xa3\x46\x24\x44\xeb\x48\x3c\xdf\xac\x0f\x2f\x9e\x5d\x6f\xf0\x81\x91\x93\x0c\xaf\xec\x87\x4b\x6c\xbf\x92\xb8\xe1\x6a\x7b\x2c\xea\x7c\x57\x70\xf2\x5c\x3f\x3d\xbf\xb1\xb1\xfd\xea\x5a\x7e\xbf\xb1\x23\x5c\xf0\x0d\x2f\x13\x59\x2a\xcd\x79\x91\x1c\x78\x2d\xf3\xf4\x6f\x11\x16\x33\x2e\xf3\x6c\xe9\x4e\x7e\x86\x87\x08\xc3\x14\xcb\x4f\x12\xe7\xc8\xaf\xfa\x39\xc2\xb5\x00\x28\x99\x41\x1a\x50\xc0\x77\xf5\x18\xe1\x7a\xef\x87\x2f\xbb\x6f\x72\x05\x54\x16\x78\x34\xb2\xc6\x55\x31\x91\xb7\xcb\x18\x57\x05\xc0\xac\x2c\xdd\xbd\x99\x6d\x25\x7e\xf8\xc9\x59\xf9\x7a\xaf\xda\xdb\xdf\x4c\x34\xda\x89\x90\x47\x56\x18\x41\xb8\xc0\xb6\x8d\x6d\x3b\x82\xb1\xfd\xe3\x55\x92\x3f\xc8\x7a\xe0\x21\x6a\x71\xcd\x08\x67\xee\x07\x84\x8f\x8c\xd4\x6c\x60\x94\x30\xad\x27\x8f\x56\x07\xe6\x55\xbb\x1a\xfa\x4d\xe4\x73\x5e\x95\xf8\xc0\x94\xc1\x88\x78\x10\xbb\x54\x3c\xe8\xf1\xc1\xb3\xdc\xc8\xf0\x5d\xcc\x36\x94\xc8\xe0\x35\xe9\xd1\xd5\x20\xb4\x1b\xdc\xb5\x2e\x70\xda\x9d\x0f\x93\x16\x25\x16\x21\xdf\x06\xd3\x9f\x54\x94\x48\xe4\x77\x15\x80\x4b\x69\xed\xfb\xfa\x75\x51\xa8\xc2\xe3\xe4\xae\xa0\x92\x13\xc8\x78\x61\x40\xf3\x10\x70\xb3\x68\xba\x9f\x6d\x1a\xba\x52\x01\xdd\x12\x12\xc3\x41\xc5\x67\x33\x64\xb1\x81\x10\x42\xd0\x68\x41\xaa\xef\xb6\x3b\x57\xb6\x29\x7e\x60\x92\x7e\xd3\x88\xb3\xb7\x46\x6c\x1a\x90\x76\x1a\x6e\x73\x19\x0a\x3a\x1f\xb8\x34\xc2\x10\x01\xad\x9b\xbb\xf7\x80\xea\xbb\x68\xdd\x9a\xc7\xed\x24\xb3\xda\x48\xa5\x0b\x77\x8e\xc6\x91\xc5\x2e\xf8\xea\x05\x38\xb3\xd1\xa0\x2f\xe7\xde\xa2\x4d\x3b\x22\x6c\xd7\x7b\xf0\xed\xfb\x51\xdb\xa1\x70\x11\x09\x56\x68\xe0\x01\x67\x48\x2e\x8f\x41\x50\x15\x44\x3e\xed\xbb\xfe\x34\x8c\xbd\x0a\xd2\x2c\x57\xae\x07\x51\x3e\xcf\x21\x80\x02\xd5\xca\x93\x68\x66\x5f\xdb\x33\x25\xec\x36\x2a\xfa\x60\x1c\x95\xf7\x4a\x37\x58\x4d\x63\xe7\x26\x3b\xd0\xe2\xb2\x70\x19\xf9\xfa\x36\xe0\x2c\x30\xb8\x59\xeb\x6b\x36\xe1\x37\x5e\xc3\x4b\x4c\x68\x98\x44\x08\x1c\xbf\x1b\x92\x22\xa9\x47\xfd\xd5\x03\x2d\x6c\x2c\xc1\x48\xb1\xa4\x61\x12\x0d\xbe\x9a\x3e\xba\xbe\x50\x0d\x9d\x05\xc4\x15\xeb\xd6\x6b\x52\x0f\x6f\x66\x7b\xad\x6a\xbc\x21\x3d\xe7\x9b\x82\xf3\x3d\xa5\x5d\xbd\x92\x2e\x6e\xb5\xe7\x05\xad\xe7\xba\xe9\x6d\x1f\x56\x5d\x54\x8b\x0c\x36\x89\xf4\x8c\x9f\x85\x71\x34\x0e\x70\x37\xe4\xf3\x63\x2c\xf2\x88\x19\x68\xa5\x53\x0f\x88\x3f\x3b\x74\x0e\x72\x6a\xb1\x72\xf8\x81\x0c\x6f\x1c\x5f\x8e\xf1\xc4\xea\x6c\xd8\x2a\x32\x09\xbb\x10\xc7\x0a\x5b\x43\x8b\x25\xc7\x31\xb5\x4e\xd1\xa9\x67\xd1\x54\x94\xef\x44\x8c\x8f\x6b\x8d\xf3\xa1\x8e\x31\xb8\x7e\xd1\x3a\xc6\x2b\x76\x06\x17\x5d\xc5\xa8\xb5\xe5\x71\x6a\x4b\xdf\x3c\x0c\x62\x45\x49\x5d\x1c\xfe\x58\x07\xee\x13\x73\x19\xf2\x54\x58\x0a\x08\xfa\xf4\x41\xa4\x20\xdf\xb0\xd8\x8c\x83\x41\x90\x37\x50\x3b\xec\x6c\xe0\x08\xed\x9f\xd1\xc0\xbc\x4e\x90\xfe\x9d\x91\x19\x08\x64\xea\x7d\xbe\x75\x0d\xcb\x33\xa9\xc1\xd8\x1b\xa2\x19\xf9\x45\x0f\xba\x18\xfa\xb1\xe3\x0c\xd1\x8c\xe8\xd0\x08\xcb\xb0\xce\xf0\x8e\x1a\x46\x75\x10\x7c\x0b\x86\x0b\x4f\xd0\xde\x83\xba\x78\x84\x5f\x18\xe9\x4e\x11\xf2\x24\x0e\xba\x7a\x25\x76\x86\x8a\x0f\xfa\x91\x8e\x3f\xfa\xae\xd1\x49\x15\x9d\x5f\x90\x05\xf0\x2e\x47\x67\x9a\xe1\x91\x61\x10\x33\x34\xf0\x22\x52\x9c\x73\x63\x86\xa3\x17\xa9\xa9\x4d\x3e\x6a\xa9\x2b\x60\xd2\x5c\x00\xe9\xd8\x40\x46\x02\x83\xe8\x10\x56\x26\x6d\xda\x5c\xfb\x95\x3d\x33\x9d\x4d\xdd\xd8\x28\x48\xc5\xc4\x99\xe6\x73\xbe\x7b\x1c\x2e\x4e\x6f\xf7\x78\x64\x03\xef\x5b\x29\x39\x9a\xd8\x18\x21\x6c\xb9\x63\x68\x1f\xdb\x2e\xca\x30\x21\x66\xa4\x8e\xe5\x30\x61\xd4\x7b\xa4\x76\xfa\x03\x73\x01\x5b\x88\x93\x1b\x81\xee\xa1\xc2\x6d\x02\x01\x6c\x22\xb4\x9a\xcd\x36\x28\x81\xf8\xeb\x5f\x42\x88\x4c\x48\xcc\x53\x97\x41\x10\x0b\xa8\x25\x23\x59\xd3\xc8\x0a\x40\x2d\x5d\xd6\x39\x51\xd7\x66\x36\x43\x5f\xf4\xb5\x00\x9b\x0f\x78\x2f\xed\x50\xb4\xec\x11\xd6\xdb\x0c\xe1\xc4\x08\x3a\xfa\x5a\x9c\xb5\x56\xee\x38\x40\x67\x74\x79\x44\xb3\x19\xe1\x70\xf7\x8a\xd3\x16\xb3\x63\x5e\x24\x9a\x1b\x9a\xe0\xc8\x35\x2e\x1f\x44\xdc\xc7\xdb\xde\xd6\xba\x12\x54\x15\x43\x78\x27\xa8\x85\x7b\xb2\x58\x6d\x6f\xee\x21\xca\x6b\x9e\x42\xe8\xed\xfb\x08\xa7\x4d\x03\x3a\x19\x68\xd2\x1a\x3b\x45\x48\x1f\xf4\x3b\x9c\x1a\x41\xae\xd3\xc8\x4f\x7b\x9f\x86\x5b\x05\x3f\x29\x42\x27\x98\xc4\x6a\x68\x57\x3a\x4d\xc2\xe1\x9c\xb8\x77\xea\x80\x4b\xa5\x9d\x8c\xa0\x11\x11\xc4\xf0\x1c\xe0\xc8\x3b\x72\x60\x61\x1e\x35\xcd\x81\x75\x8a\xc6\x38\x33\x80\xf0\x2e\x5c\x46\xb3\xb4\x73\x21\x76\xcb\xb0\xfd\xea\xd9\xf2\xe6\xd5\xf5\xb3\x97\x37\x36\x9a\xdd\x85\x2f\x23\xcc\xc9\x9d\xe0\x5f\x7b\x6f\x42\x19\xc9\x7a\x2b\x54\xa0\xad\x26\x6c\x93\x1d\x27\xef\x06\xe7\x38\x3b\x49\x38\xe9\x01\xfd\xc4\x1f\x01\xf5\xb9\x79\x37\x8c\x70\x11\x21\x40\xea\x40\x23\xa0\x53\x4a\x14\xdd\x62\x11\x92\x37\x4d\xd1\x55\x16\x74\x34\xbe\x45\xa0\xff\x83\x8f\x0b\x3f\xf3\x33\x93\x92\xe1\xd2\x75\x4d\x4f\xee\x9d\x7b\x47\x32\xc8\xa2\x5b\x62\x66\x0d\x79\x84\x35\xcd\xe2\x38\xd6\xed\x79\x2d\xa2\x6a\x73\xe7\xde\xa2\xb6\x5f\xf7\xcc\x8c\x71\x80\x33\x38\x0e\x94\x6f\x4a\x62\x6b\xdf\x08\x66\x67\x51\x36\xa8\x6c\xf0\x69\x95\x91\xaa\x9f\x75\x69\xfa\x72\x69\x56\x53\x84\x56\x99\xe3\x54\xc3\xda\xce\xcc\xa5\xc1\x7f\xd8\x9e\xef\xdc\x07\xe6\xee\xba\xab\x37\xfc\x9e\x21\x80\x79\x65\x8e\x44\x76\xe1\xbd\x8a\x61\x0c\xce\x5d\xe6\x4b\x00\x73\xed\xc0\x3d\xc5\x89\x8c\x3b\x6f\xe2\xd2\x74\x84\x4b\x35\x86\x19\x82\x77\x8a\x8c\x6d\xbe\x81\xdd\x9d\x21\x2c\x1d\x19\xf4\xcd\x67\x21\x17\xcd\xef\xf4\x1a\xeb\x1b\x21\x1b\x75\x51\x88\xd2\x5e\x8b\x54\xe2\x80\x4a\x3a\xd2\x28\x27\x5c\x22\x75\x11\x7c\x3b\x55\xf4\x05\x9c\x03\xda\xad\xdb\x2d\x51\x5e\x9f\xf0\xdd\xd8\xc0\x19\x6f\xc7\x2a\xe7\x3d\xdf\x00\xe1\xf8\xc1\x97\x81\x98\x27\xa0\xf9\x06\x6a\xfb\x32\x18\x6d\x12\xe6\xca\x99\xd2\x6d\x98\x46\xd2\xce\x43\xd3\x61\xa8\x93\x9d\x75\x29\xdb\x90\x47\xc1\x48\x9e\x95\x60\x8e\xfc\x21\xf5\x22\x86\xb2\xe9\xa8\x17\x51\x73\x7f\xd5\x28\xde\xf0\x5d\xd0\x39\x00\xcb\x23\xcd\x4c\x25\x63\x2a\x07\x78\xa9\xb3\x54\x37\x47\xbe\x28\x26\x27\xb6\x9b\xf0\x09\x71\x75\x7d\x21\xf2\xcb\xcf\x52\x06\x37\xf1\xa5\xd7\x3e\x09\x64\xd0\x4d\xc8\xa9\x14\x46\xc0\xfd\x87\xab\x3d\x6a\xba\xda\xe1\x4b\x1f\x3a\xe8\xcc\x46\x65\xbc\x0d\x28\x28\xdd\xc8\xe8\x74\x63\x4f\x32\xa8\xc5\xb2\xe2\x0b\x2a\x69\x5e\x52\x6d\xbf\xa3\x65\xbe\x9b\x8c\x97\xd0\x51\xe9\xdd\x05\x8b\x72\x21\x39\x91\xf6\xf9\x38\x49\xf3\x28\x8f\x4c\xab\xa6\xaf\xd8\xc8\x8d\x68\xdb\xca\x40\x32\xff\x3f\xea\x60\x5e\x1e\xf8\xbe\xfe\x02\x2e\x13\xc5\x4e\x1a\x04\x8e\x11\xdd\x95\xf7\x8c\xff\xc3\xde\x9e\x5d\x80\x8f\x12\xc6\xcd\x77\x02\x58\x9a\xd6\x17\xd5\x0a\xff\xdf\x68\x74\x10\x1b\xad\x45\x93\xc6\xb1\x43\x66\x91\x06\x65\xaf\x1b\xdd\xc3\x37\xe6\x26\x1b\x99\x74\x62\x07\x26\x09\xb9\x78\x40\xb7\xf5\x4e\xf6\x1e\x18\xf8\xca\x8a\x47\xfc\x83\xe0\x11\x3b\xec\x1b\x8f\xb0\xaf\xa0\x9c\x5f\x33\x28\x6a\xd2\x4c\x66\x1d\x83\x93\x22\x46\x43\x51\xfd\x79\x28\x0e\x3d\x3e\x0a\x46\x2f\x6a\x14\x52\xd3\x28\x64\x11\x02\x57\xe9\xa7\x71\xe4\xb8\xd1\x30\x28\x78\xb9\xd6\x01\xb1\x4c\x70\xa2\x43\x57\xb4\x83\x53\x90\x2a\x81\xd5\x61\x24\x59\xb1\x25\x53\x61\x4b\x89\x89\xca\xa3\x23\x14\x2e\x46\x51\x52\xce\x79\x03\xc3\xbf\x8f\x8e\xf8\x65\x2d\x7d\xaa\x1c\xdc\x10\xc2\x02\xea\x2b\x85\xa4\x2d\xdd\xb9\x53\x37\xb2\x50\xa9\xe9\xcb\xad\xc5\x82\x75\xf8\x8d\x18\x51\xee\x38\x85\xda\xc0\x5a\x30\x26\x0b\xa5\x5d\x64\xc4\x7b\x35\x7c\xee\x19\x97\x61\x83\xd0\x96\x1d\x71\xd7\x51\x75\x1b\x86\xed\xa1\x2c\x6c\x22\x6e\x6c\xd3\x94\xac\x8f\x7b\x67\x8d\x24\x91\x8e\x93\x0d\xbf\x7e\x84\xde\x13\x39\x0e\x2c\xec\x48\x54\xfa\x31\x12\x55\x1c\x82\x14\x94\xa7\x26\x29\x50\xb0\x54\x03\xc3\x99\xe4\x26\x5e\xc5\x62\x7f\xc8\x49\x8a\xe5\x24\x8d\x25\x25\xee\x08\xc8\x18\x00\xd9\xc0\x3b\x8b\xc0\x66\x64\x61\x38\xa4\x6d\x99\xda\xf9\xa3\x13\x87\x7e\xf4\xf4\x50\x1d\x1e\x86\x77\x39\x8b\xf8\x61\x5c\xfc\xfc\x2a\x46\x62\x62\x26\xc6\x5a\x0d\xa3\xf1\x00\xfe\x50\x21\x1e\x54\x0f\x14\xab\xa0\x51\xa2\x52\xdf\x93\xfd\x04\xc3\x2f\x8d\xd5\x0d\xe7\x68\x8a\x96\x00\xa7\x65\x35\x1d\xe9\x2d\x99\xfd\xed\x2c\xa9\x41\xb5\x4f\xf7\x7e\xb4\x75\x28\xe1\xea\x96\x35\x8c\x74\x08\xa9\x18\x27\x3d\x73\x45\x16\xf8\x6e\xe0\x6b\x6c\x2b\xb5\xe6\x2a\x72\x37\x5f\xe2\x1d\x01\xe7\x4d\xf7\xc3\x10\x27\x3b\x60\x32\xef\x9b\xe6\xee\x66\x39\x11\xbe\x6b\xe7\x38\x96\xe9\x34\xc7\x71\x2a\x05\x7e\x3b\x84\x2e\x5f\xe7\x75\x4a\xbd\x5b\x8f\xdf\xbb\x31\x5a\xdd\x83\xde\xee\x22\x22\x3b\xc3\x58\x2c\xc6\x09\x80\x3f\x44\xf4\x4a\x8c\x45\x83\x7d\xad\xbc\xf9\xba\x82\x6a\x1c\x70\x9a\x0a\xbf\x9f\xd1\x26\xd8\x52\x21\x52\xc1\x69\x89\xc1\x9b\x48\x63\xaf\x09\xa6\xc2\xcd\x49\x2c\x29\x61\x01\xfb\x1b\x15\xf3\xec\x81\xb9\xb9\x41\x31\x3f\x31\xb0\x6b\xd5\xd8\xe1\xee\xe6\x76\x75\x0b\x76\x5f\x39\xbe\xb5\x08\xa9\xb4\x4f\x4c\xc0\x4b\x09\xb6\x16\xa0\x79\x90\x0a\xc4\x29\x39\x94\x8d\x94\x5d\xf7\x47\x02\x78\xfc\xd1\xb3\x10\xde\x46\x38\xc1\xb7\x30\xdc\x54\xb1\xf9\x9b\x70\xd3\x85\x01\x1e\x0f\x52\xf6\x71\x83\x3f\x30\x24\x56\x7c\x95\x76\xfd\xd9\x88\xaa\x34\xfd\x9e\x98\xf4\xbb\xd5\x6b\x4d\x0c\xc4\xa2\x83\xe3\x2c\xc3\x60\xaa\x9e\x78\x87\x7d\x1c\x94\xde\x2f\xfc\x81\x16\x7f\xdb\x17\x60\xf8\xab\x9e\xe5\x47\x41\x17\xf7\xb5\xb8\xa2\x29\xfe\x58\x37\x4d\x62\x72\x5e\xe2\xb5\x43\x06\xd2\x41\x84\xc6\x3d\x7b\xc0\x93\x08\xad\x72\xed\x83\xc8\x3c\x35\xa4\xd2\x17\xa8\xca\x48\x04\xf1\x53\xe5\xdb\xf2\xc9\xd6\xb4\x9a\x48\x52\x8f\x36\x36\xa9\x07\x5f\xa9\x61\xe9\xd4\xd7\x40\xb6\xd8\x40\xbd\xd8\x1a\x97\xbc\x2e\x0a\xdf\x36\xf0\xca\x84\xce\xea\x28\x2c\x1e\x3d\x8f\x67\x0a\x11\x4c\xc1\xd5\x5a\x46\xfa\xc5\x5a\x65\x37\x44\x4a\x70\x63\x92\x10\x42\x32\x03\x19\x48\x00\x01\xad\x14\x77\x13\x26\x11\x0a\x59\xe4\xc6\x08\x6b\x13\x68\x8e\x63\x19\x3b\x73\x40\x15\x4c\x06\xb9\x7b\xc3\xf0\x57\x6c\x10\xdf\xee\x6b\x36\x88\x95\x36\xbe\x95\x76\x19\xd2\xf8\xf6\xa7\xca\x8d\x65\xe4\x0f\xd0\xa6\xdd\x70\xad\xf2\xf0\x65\xb5\xdd\x1d\x6b\x9e\xbc\xad\x9f\x0a\x1e\x5c\xfc\xe2\x26\xe1\x22\x42\x9e\x76\x8f\x2f\x1d\xf3\x89\x34\xc3\x37\x5f\x1f\x13\x48\xe2\x3d\x17\x61\xde\x0b\xa5\xff\x60\x5c\x20\x7c\xc0\x31\xf9\x8a\x85\xb4\xbf\xb7\x87\x30\x5d\x5f\x4b\xb9\xb5\xf2\xff\x27\xed\x58\xc5\x97\x37\x8c\xb8\x6f\x04\xd7\xe7\xda\xaf\x64\x68\xc4\x2b\xf8\x2b\x9d\xfa\x93\xe7\x8b\xe7\x57\xe0\xcd\x1f\x9e\x64\x2c\x02\xf1\x78\x7d\x63\x9b\xe3\x67\x63\x43\x28\x70\x00\xf4\x86\x09\x8c\x32\x08\xa9\xd8\x34\x83\x44\xbd\x07\x51\x1f\x48\x9c\x79\xef\xf7\x79\xcd\x5d\xe5\xc4\x0b\xa4\x41\x7d\xf7\xdf\xb0\x6e\x02\x10\x86\x61\x02\xbe\x69\xcf\x1c\xe4\xa9\xe0\x0c\x93\x7e\xf0\x12\x62\xcf\xdf\x73\x76\x97\xd7\x73\x56\x3d\xce\x0f\xf9\x87\xbc\xdc\xf8\xaa\x4b\x22\x69\x35\xdf\x56\x1f\x2e\x7d\xbb\x90\xac\x97\x8f\x15\x55\x7c\xd7\xc5\x3d\x30\x82\x22\xe8\x30\x09\xf6\x2a\xfe\x9f\x79\xd2\x1b\x38\x67\xd3\x8a\x7a\xe0\x84\x8d\x92\xf8\xc2\x85\x17\x85\xcb\xae\xf3\x30\x13\x69\x51\xd1\xda\x2f\x78\x5a\xaf\xaa\x1d\x8d\xf3\xfa\xc9\xf7\x3e\xb3\x71\xe1\xa9\x37\x72\xfd\x6e\xe1\x7d\x76\xad\x65\xed\xb2\xb4\xfa\x06\x6a\xb4\x87\xc3\xd7\xa2\x0a\xb0\xa9\xec\xea\x86\x24\xac\x23\x34\x30\x1a\xdf\x6d\xf6\xd5\xb1\x4c\xbe\x2c\xf2\x1d\xb1\x8d\xd9\x02\xf7\x78\x03\x0f\x6d\xd3\x45\xc0\xbf\x5c\xc1\xe9\x1e\x8e\x4a\xd8\x2d\xc3\x7a\x20\xd4\xf0\x54\x59\x31\x27\x92\xf3\x2f\xbc\x43\xb6\xcf\xcb\xbb\x9f\xf7\x74\x07\x21\x26\x0e\xe4\x0c\x58\xc0\xbc\xbf\x0f\x02\xc1\x54\xd0\x9f\x5f\x0d\xee\x81\xbb\x48\xf5\xab\xf4\xdf\x8d\xdd\x61\x5f\x06\x58\x7e\x39\x7c\xc8\xd0\xaf\xe0\xe0\x95\x8b\x4d\x28\x4e\x70\x49\x78\xf0\xf3\x50\x1e\x7c\x04\x16\xc9\xcc\xbe\x10\xbb\x43\x07\xeb\xe0\x03\x6f\x81\x49\xfe\x70\xa3\xae\xf4\x31\x37\xbd\x39\xca\x6a\x25\xe2\xb0\x3f\x93\x81\x48\x3e\x81\x60\xe0\x66\x34\x0f\x4c\x47\xdc\x1b\x2c\x1a\x1f\x9c\x60\xac\xd5\xae\xe8\xfe\xc8\xc8\xf5\x3b\xb9\x9b\xae\xf1\x37\x43\xf5\x98\x77\xae\x3d\xfb\x69\x66\x23\x37\xb0\x76\x8f\x28\xa4\xf3\x0f\xff\x11\xcd\x9e\x29\x15\x99\x3f\x31\xfc\x67\x86\xbf\x05\xd7\x72\x75\xb5\x6b\xf6\x62\x51\x1a\x06\x6e\x53\x1b\xb1\x02\xe8\xd9\xf5\x0a\xb0\xf3\x10\x61\xbb\x7f\x62\x53\x3a\x7a\xe3\x9b\x62\xc3\xab\xc8\x59\x1d\x2e\xc5\xd2\x4d\x3c\xfe\xf3\xb9\x93\xd1\xa1\x30\x4f\x6d\xa3\x0e\x6b\x93\xb8\x69\xfe\xa4\xae\x36\xe2\x20\x96\x76\x4a\x52\xc5\x1b\xee\x8c\x5c\x86\x9a\x26\x0e\x59\xe4\xeb\x20\x8f\x8e\xe3\xda\x02\xb3\x6f\x80\xf1\xbe\x7c\x3b\x04\x0e\xe4\x4a\xd9\x9c\x8c\x29\x8d\xbf\x51\x34\xce\x06\x39\xce\x1f\xd5\x33\x93\xbe\xc9\x33\xb9\x8c\x10\x0b\x75\x9b\x97\xb0\x72\x38\x15\x2f\xf4\x51\xbe\xf4\xe9\x46\xaa\x2e\x47\x36\xa2\xff\xaa\x0e\x9d\x96\x98\x65\x38\x36\x4a\xa5\x08\xf5\x76\xfe\x9b\x60\xe3\x6f\x66\xb6\xdd\x22\xff\x2c\xf4\x90\xf6\x40\x01\xd3\xec\x38\x17\xd7\xca\xcc\xf6\xef\xaf\x82\x31\xdd\x12\x53\x6c\x1c\x27\x73\x9c\x0c\x82\xab\xb9\x1b\x92\x81\x1f\x1d\x73\x36\xad\x6f\xc7\xd3\x29\x20\x4e\x9a\xdd\x1c\x4b\x69\x2c\xf6\x54\x70\x9c\x12\x30\xce\x85\x8f\x29\x6c\x4d\xf1\x48\x86\x03\x80\x34\x84\x65\x1d\xc4\x4e\xab\xb2\x7e\x9b\x7f\x00\x77\xbe\x2c\xb0\x97\x7c\x6b\xfb\x62\xba\x33\x6f\x97\x3f\x72\xb0\x29\x9e\xd9\x62\xf3\xa9\x02\x89\x59\xf3\xe4\x4c\x37\x8d\x4d\x8f\x75\x65\x9b\x8a\x7c\xdf\x0d\x34\x34\x4e\x1b\x7e\x66\x33\x16\x13\xea\x76\x21\x74\x2c\x12\xa3\x4e\x63\x10\x1a\x50\x22\xdc\x5a\x85\x32\xf7\xbb\xa0\xe6\x84\xa1\x0b\x4a\xae\xed\xd9\x81\x3e\x8c\xec\x7b\x01\x1d\xe6\xff\x3e\x0e\xbe\xfd\xff\x98\x36\xc8\xfe\xb7\x69\x03\x46\xb2\x8f\xd3\x06\x67\xf1\x9c\xfe\x5b\xb4\x01\xfb\x28\x6d\xc0\xc6\xb4\x41\xf6\x5b\x68\x83\xec\x7f\x8d\x36\x98\x6e\x4e\xcc\x89\xa4\x0d\xba\x3b\x80\x02\x9f\xf6\xbc\xc8\xc5\xec\xfe\x31\x4f\x12\x5e\xfe\x00\xe7\xd4\x61\x64\x6a\x3e\x06\xf0\x95\xa6\x35\x93\xcb\x67\x74\xfa\x1b\x62\x84\x01\xa7\xda\x85\x6c\xfd\xb8\x1f\x66\xfe\xbf\x4f\x3d\xfe\xc6\xe0\x64\xb9\xe4\xac\x2e\x45\x0d\xe3\xa3\xbe\x75\x9a\x84\xfb\x9b\x57\x75\x22\xba\x96\xc0\x43\x2d\x9f\x94\x4a\xa1\xd2\x7a\x64\x84\x5f\xd2\xd9\x4a\x6c\x84\x81\x69\x18\xc1\xe9\x47\xf6\x51\xb7\xe3\x80\xdb\x11\x0c\xa6\x40\x91\x20\xdf\x80\x75\xfd\x23\x20\x05\xb3\x56\x55\x40\x80\x15\x0b\x97\x67\xa9\xb2\x9e\x98\x24\x8e\x33\x5d\x55\x3a\x8e\x42\xc6\x49\xaa\x6e\x9e\x5a\xcc\xaa\xc7\xb7\x12\x2b\x4c\xc8\x5f\xb5\xf5\xc1\x9d\x8b\x70\x62\xe4\xfd\xab\x82\xc7\x8b\x65\xb8\x2c\xc3\x5b\x0c\xe8\xfe\x47\x8d\xdf\x2e\xe5\x4f\x65\xfe\xb4\xc5\x1a\xd4\xbf\x83\x79\x03\x47\xf2\x63\x9c\xae\xf0\x6d\x4f\x13\x6f\x94\xb1\xf4\x80\xbe\x91\x91\x83\x7e\x0b\x9d\xac\xe3\x41\xad\x3e\xc2\x95\x5d\x0c\x55\x37\x06\x43\xf6\x31\xb2\x37\x41\xe0\x99\xe3\x37\x68\x94\xe2\x33\xfa\x77\xf4\x7e\xdb\xe5\xd8\xf6\x33\x45\xf8\x90\xbc\x5d\xd8\x78\x44\xf0\x42\xe4\xbd\x0d\xb1\x20\x4c\x0b\xe0\x3d\xd7\x3d\x9f\x3b\xe5\x70\x40\x3a\x08\x33\x1b\x90\x6e\xdb\x4c\xba\x58\x13\xc3\x9b\x81\x86\xfd\x9d\xb1\x54\xd9\x6f\x40\x32\x19\x84\x3b\xf8\xed\xbe\xe1\xe5\x87\xf1\xf1\x90\xe3\x6c\xe4\x42\x7c\xec\xdb\x7c\xbc\x5e\x53\x07\xaa\xdc\xa8\x93\xe7\xa9\xf1\x69\x3a\xf5\xfc\x20\x9f\x3e\x5f\x05\xdf\xa2\x10\x82\x78\x94\x04\xc1\xa7\xa3\x20\x89\xff\xb1\x92\x3f\x36\x2e\xbd\xc3\x7b\xba\x73\x33\x2c\x91\x7c\x66\xb0\x4b\xc1\x49\xf2\x3f\xad\x7f\x6a\x4d\xdf\xde\x09\xf9\x14\x18\x50\x83\xa9\x69\x05\xf4\x59\x0b\x9c\x0a\xce\x6b\x23\x7d\xbf\x8f\x57\x1e\x6e\xd4\xed\xe5\x7f\x08\x62\x7d\x0a\x30\x62\x13\x30\x20\xfa\x0a\xb1\x3f\xdd\xc1\x81\xf6\xf1\xec\x72\x88\x90\xb7\x45\x12\x1a\x05\xb5\x68\x02\x13\x13\x4b\x9d\xe9\xe0\x55\x10\x93\x50\x0c\xfb\x2c\x9e\x83\x72\xb4\x01\xfe\xc4\x94\x9e\x25\x58\x5d\x31\xb4\x09\xd3\x48\xd3\xc9\x61\xda\xc9\x16\x44\x2a\x0b\xd3\x68\xc5\x49\xac\xa8\x3a\xaa\x22\xe3\x98\xa5\x8d\xdc\xa2\xa2\x2e\x32\x82\x8a\x40\xc8\xc8\x35\x2d\x76\x19\x5d\xbb\xe1\x3b\x14\xbd\x58\xa3\xeb\x1c\xff\xc0\xc8\xb5\x22\x2f\xd6\x87\x17\x64\x7d\x78\x21\x3f\xa2\x6b\xfc\x23\x30\x75\x02\x39\x37\x70\x90\xb8\x81\x35\x8f\x43\x4e\x23\xe4\xcd\xd0\x35\xfe\xcb\x05\x2e\xd1\x7b\x81\x34\x73\xf8\xd7\x71\x96\x70\x36\x8f\x10\x51\x39\x55\xa6\xb7\x8c\x9c\x3a\xa8\xb3\x35\xd8\xd9\xf8\x21\x3f\xe4\x2c\x2f\x04\x85\x64\x67\x40\x36\xd8\x58\xc3\xa2\x0d\xc0\x68\xb7\xf8\x27\x46\x4e\x05\xaf\x6b\xbe\x7f\x2b\x06\x21\x0e\x2c\x2c\x28\xf7\x9f\x25\x61\xfa\xe9\x62\xd1\xe2\xbf\x31\x12\xda\x3f\xc3\x2e\xb1\xb1\xfd\x83\x8d\xed\xef\xaa\x0f\x36\xb6\xb7\x07\x3b\xea\x37\xfc\xdf\x7b\x45\x5b\x15\x4e\x50\x33\xc9\x2a\xa6\x90\xf4\xd4\xf4\xba\x76\x17\x02\x6e\xfe\xb6\xdb\xe9\xcb\xaa\x99\xf6\x3e\xb6\x14\x78\x96\x61\x4e\xfe\x1f\xe6\xde\xff\xbb\x6d\x1c\xc9\x03\xfc\x7d\xff\x0a\x0b\x9b\xe3\x23\x22\x58\x96\xd3\xd9\x7b\x7b\xd4\x20\xbc\x4c\x7f\x99\xee\x99\xa4\x3b\x33\x49\xf7\xa4\x87\xe6\xf6\x03\x41\x50\xa2\x2d\x93\x0a\x29\xd9\x4e\x9b\xfa\xdf\xef\xa1\x0a\x00\x41\x8a\x4e\xef\xee\xbb\xf7\xee\x7e\xb0\x45\x82\x20\x88\xaf\x85\xaa\x42\xd5\xa7\x7e\x9e\x08\xb6\x06\xb4\xfc\xe7\x2c\x51\xe9\x5c\xb2\xf1\x17\xac\x02\xb2\xd7\x3a\xfe\xf3\xd4\xc0\x18\x4c\x7b\x41\x91\xbb\x04\x61\xca\x7c\x62\xf3\x6a\x0d\x16\x74\x39\x17\xc9\x3a\xb5\xe4\x52\x2f\x03\x40\x7b\xec\x55\xe9\xf5\x36\x77\x2a\x4f\x04\x80\xf3\xb7\x61\x96\xc5\xf0\x46\xd7\xf5\x5a\x4c\x04\xbd\x1f\x6d\xe1\x94\x41\x68\xc7\xd1\x83\x20\xf8\x05\x60\x28\xbf\xf4\x55\xf6\x97\x2c\xcc\x7b\xc7\x53\x4a\x69\x84\x5f\x0c\x15\xd7\x6f\xb3\x50\x06\x81\xff\xf5\x99\xf2\x20\xa2\x47\x65\xa9\x58\x5a\x6d\xae\xa7\xca\xa5\x14\x17\xc4\x1a\x20\xef\x9e\xe8\x98\xcc\xfb\xca\x49\x33\xc8\x44\xea\x44\x3f\x64\xb1\xe9\x2c\x12\x61\x59\xbd\x1e\xdc\x33\x13\xff\x98\x0d\x41\x63\xfe\x6e\xc1\xa9\x7b\x9d\x73\xfc\x56\xec\x41\x46\x0f\x97\x2c\x4f\x2e\xd3\xf3\x50\x02\x56\xd4\x3c\xcc\x11\xab\x7a\xf7\x40\x68\x94\xf5\x65\xfe\x9a\xf9\x6e\x9f\x76\x7e\x14\x5c\x02\x46\x6b\x6c\x84\x34\x12\x59\x76\x9d\xd0\xf8\x65\x44\x80\x5e\xa1\x2c\x7b\x09\xb1\xd9\x97\xab\x97\x00\x09\xc8\x5f\x50\x82\x34\xdb\xd8\x00\x87\xeb\xb9\x8b\x5f\x23\xe7\x3f\x03\xe2\xf4\x92\x29\x4a\x59\x1e\x87\xae\x50\x9b\xf7\xbc\x8f\x75\x63\xb6\x06\x32\x78\xc7\x96\x3d\x3b\xcd\x6f\x2a\x0a\xd9\xe7\x04\x08\x3c\x31\xaf\xd1\xc8\xaf\xc5\x54\xc9\x7d\xe2\xec\xa4\xd6\x5f\x2c\x79\xe5\xb6\x7b\xd7\xa3\xff\x1a\x8d\x92\xce\xc9\xfd\x1e\x13\xfe\x26\x14\x89\x11\x73\xca\xad\x0e\x63\xbb\x70\xfc\x65\x48\x83\x80\xf4\xdb\xea\x20\x26\x90\xcb\x44\xd8\xec\x92\x15\x20\xdc\x2f\x5f\x71\xd5\x75\x86\xf5\x04\x22\xa4\xf8\xdf\xb0\x5a\x05\x65\xe1\xf2\x95\xf7\x14\x22\xf2\x58\x52\xef\xab\x44\x94\x3b\xe3\x54\xab\x5c\xf3\x94\xa1\x57\x23\xcb\xf1\x86\xb4\xeb\x14\xd8\x60\xf4\x05\x28\xee\x71\x53\x8a\x76\x9d\x8b\xb9\xaa\xe6\x76\xba\x75\x5d\xb8\x9e\x9a\x5c\x2c\x67\x05\x05\x4d\x88\x6f\x66\xdd\xb6\x06\xb9\xce\x0a\xb9\x43\xd5\x86\xa3\xb4\x56\xc7\x01\x6d\x25\x26\xb3\x3b\x91\x31\x31\x64\xc9\x25\x89\xe4\xf1\x78\x3c\x32\xd9\xb6\x3f\x1e\x6e\x33\xd5\x44\x8f\xb2\xde\x1e\x6e\x2b\x80\xdf\x84\x58\x1e\xe5\x76\xfb\x93\xf9\xd6\x6c\xb0\x07\xcc\x96\x6c\x5b\x56\xea\x7b\x77\x57\xf7\xd9\x90\x81\x81\x8b\xdd\x46\x54\xad\xbe\xbc\x2f\xf3\xfa\x1e\xae\x7e\xff\xa1\xca\xd5\x03\x5c\x69\x0e\x65\xb6\x84\x0a\xbc\x03\x2c\xbe\x47\x94\xe4\x49\xd4\x8b\xe4\x31\xb1\x57\x24\x22\xd0\xb9\x78\x73\x64\x70\x33\x61\x71\x8c\xce\xbc\x5f\x8d\x2c\xb4\xff\x73\x74\x6f\x46\xca\x63\x1a\x20\xe2\xec\x20\xf4\x67\xe9\x94\x6b\xb0\xcf\xc0\x5c\x83\x8a\x26\x9b\x14\x80\x38\xbc\x7b\xfe\x4b\x16\x96\x6c\x43\xd1\x39\xc4\x0e\x55\x92\xa5\xa0\xda\xb4\xb7\x9b\xb4\xd7\x60\x39\x99\x7c\x1d\x04\x64\xad\xf6\xa4\x84\x4b\x87\x42\x16\x2a\xbe\x86\xc3\x40\xa1\x67\x74\x4e\x69\xac\xa2\x32\xc9\x50\xf4\x76\x91\x84\xbd\xc0\xad\x10\xa2\x55\xf1\x7f\x18\x72\x28\x29\x3a\xf5\x86\x2a\xb9\x4c\xe7\x97\xf4\xb9\x4a\x5e\xa4\x73\x6f\x4e\xda\xb5\x93\x51\x2d\xf2\x93\x0a\xe6\x00\xa1\x86\x9b\x94\x41\x20\x0d\x3d\xb2\x8f\x66\x80\x8b\x07\xaf\xe1\x84\xc1\x7e\x90\x73\x0e\xf4\xf4\x54\xbb\xa1\x29\x39\x6e\x3a\x4b\x70\x81\x72\x28\xe6\xbd\x76\x83\xd0\xae\x0b\x75\xb3\x38\x29\xab\x8d\x6a\x4a\x3d\xfb\x67\xa1\xee\x93\x76\xd4\x27\x9a\x14\x4b\x00\xd8\xdf\x83\x73\x7f\xae\x37\x26\xc0\xcc\xc3\xf7\x09\x83\x5f\x1b\x00\xf9\x9a\x3e\x9a\xd9\xfd\x14\x26\xdb\xe4\xa8\x3b\xff\xa5\x3f\x1e\x6f\x33\x3b\xfe\x3b\xa3\x3e\x1c\xe3\xb0\xe8\x87\x76\xc9\xa4\xaf\xd7\xc4\x30\xbb\x86\x4a\xe5\x14\x8e\x3f\x9b\x5b\xb1\x35\xe3\x0b\x3c\xce\x87\x0c\x32\x7d\xc8\x80\xce\x10\xe3\xc1\x21\xe3\x70\x40\x72\x0a\xe3\xc3\xbd\x44\x6f\x84\x1f\x0f\xb7\xaa\x29\x65\xa8\x68\xac\xba\x6e\x19\x81\x43\x5c\x7f\xd0\x9e\x10\x54\x3b\x12\x66\x68\x74\x7a\x72\x20\xee\x35\x8f\x8f\x29\x8f\xef\x7d\x2f\x63\x44\x39\xf3\xc8\x7b\x10\xbc\x33\xe4\xf4\x34\x88\x1b\x8d\x8d\x1c\x23\xd8\xfb\x8c\x9d\xaa\x02\xfe\x65\xfb\xe2\x48\x23\x77\xed\x90\x3b\xda\x89\x7a\x20\xe0\x5e\x1e\x04\xb0\x87\xd8\x01\x05\xb6\x41\xb2\x3c\x36\xc4\x37\x67\xff\xab\xad\x45\x51\xa6\x68\xb4\xa4\x06\x01\xca\xd0\x3d\x3b\x3d\xa0\x83\x9c\xda\x71\x82\x3e\x9b\xca\xfc\x64\xba\x43\xb3\x4d\x43\x8d\x79\x3c\x52\xa0\x1b\xc4\x50\xab\xd9\xc2\x5b\x0a\xd6\x14\xf1\x62\x79\xf9\xdc\x1b\x71\x14\x09\x16\xcf\x2e\xe9\x9c\x90\x28\x03\x12\x4f\xc8\x49\x1f\xb9\xfd\xc1\xce\xdf\x7c\xa4\xb4\x07\xcc\x8d\x7e\xc6\x64\x34\x26\x20\xe2\x84\xb6\x5d\x64\x7e\xb9\x5c\x3e\xcf\xb4\xb8\x11\x11\xc2\x0a\xdd\xd7\xb9\xa9\x5a\xd7\x49\x77\x45\xc8\x4a\x9a\xb0\xf7\x2c\xcc\x5e\xf1\x4b\x9d\xa4\x37\x7f\xdd\xdb\xc6\x85\xa3\x29\x6f\xc3\xde\x2b\xe2\x47\xb4\x0b\x09\x02\x39\x36\x8e\x86\x40\xfa\x27\x4e\x84\xf8\x25\xcb\x3e\x67\x10\x86\x63\x96\xf7\xbd\x14\xda\xca\xf0\x1f\x7b\xc7\x85\xc1\xe7\x14\x8d\x8a\x39\x39\x23\x73\x65\x42\x6b\xba\x51\xf4\x35\x28\x6f\xb3\x70\xbb\x98\x50\x42\xb1\xc9\xd1\xcd\xfa\x29\xfd\xe8\xa4\xab\xb2\xd2\x3b\xe6\xb9\x15\xb2\xfe\x96\xb1\x44\x58\x4e\x0e\x23\x23\xf6\x11\x59\x7b\xfb\x17\xa3\x28\x24\x84\x59\x25\x01\x21\xcc\xe8\x08\x0c\x13\x76\x6a\xba\xe2\x56\xaa\x98\xeb\xb5\x8a\xf6\xf6\x91\x6f\x99\xe5\x4c\xf3\xc1\x90\xe5\xf1\xa8\x37\x80\x93\x28\xf5\xb1\xf4\xa0\x6b\xa3\x44\xa6\xab\x97\xc6\x37\x51\x25\x62\xfe\x73\x92\xa7\xba\xf8\x22\xc9\xd3\xae\x2b\x92\xfc\xfc\x05\xfc\x2e\x3d\x11\xf9\xc8\xbe\xf7\x2c\x15\xc3\x51\xcd\x34\x25\xe7\x1f\x33\x3a\xb6\x6e\x1f\x93\xec\xa7\x8d\x39\x47\x07\x62\xba\x21\x9a\x09\x87\xb8\xe3\x7d\x0c\x70\x6c\x6e\x6e\x58\x4a\x2f\x6a\xb7\x32\xc2\x4c\x91\x64\xc9\x3a\x4d\xdd\x92\xd7\x77\xb8\xe9\xda\xa6\x14\xc7\x81\x1d\xfd\x0c\x82\xf2\xf7\x07\x92\x0c\x0c\xa2\xec\x76\xfa\x6f\x47\xa6\xd3\x4e\x43\x13\xd3\x23\x6b\x37\xf5\xfd\x84\xbe\xf3\x9f\xc6\xfe\x1b\x6c\xff\x36\x65\x3e\xa5\x43\x35\x79\xe8\x91\xed\xeb\xf5\x7a\x3b\x15\xb5\x94\x64\x75\xbd\x55\xa2\xf2\xe3\x28\x9b\x48\xca\xfa\xc3\xa1\xb1\xf7\xd7\x1f\xb0\xd7\x63\x0c\x8e\x5f\xf0\x23\x71\x85\xbf\xf6\x3d\x7b\x8b\xaf\x42\x18\xda\x5e\xcc\x7f\x36\x90\x9e\xac\x0a\x57\xdd\x9f\x3d\xcb\x7a\x58\xc8\x45\x59\x95\x7b\x2f\xdf\xb1\x5a\x7c\xb8\x57\xaa\xe2\xcf\x32\xe6\xe7\xe3\x8f\xb2\xae\xda\x7d\x73\x80\x70\x54\xcf\x32\xa6\xdf\x9b\x40\xe7\x61\x85\x31\x2b\xc7\x00\x5e\x06\xa4\xaa\xa9\x77\x5c\x5a\xb4\x92\xb6\xac\xd6\x5a\x04\x20\xed\x3d\x90\x6f\xc4\x49\x41\x83\x65\xee\x40\x0f\x45\xb3\xb7\x46\xf9\xf7\x78\x21\x01\x0a\x17\x0b\xa9\x72\x9e\xe3\xe5\xa1\x2a\xf7\x00\x0c\xec\x73\x40\x32\x8d\xb5\xb4\xaa\xf9\x9f\x23\x93\x87\xe6\xd4\x40\x15\xdb\xb6\xc3\x69\xef\x2a\xd9\xe3\x88\x1b\x2d\x35\x5a\x5b\x19\xaf\x0c\xff\x9d\x3e\x6c\x85\x7b\x7e\x64\xcd\xa1\x3a\x05\xd5\x62\xf2\x8f\x3e\x86\x29\x75\xcb\x33\xee\xf7\xc5\x22\x3f\x34\x00\xf9\x18\x57\xa6\xd7\x12\xaf\x07\x53\x6b\x8f\x3f\xce\xfd\x5c\xb0\x25\xbb\x9c\x7e\x46\x23\x6b\xc4\x5f\xdf\xf3\xd0\x76\xe5\x79\xdf\xe5\xf4\x79\x36\xef\xef\x86\x85\xb4\x7b\xb5\x33\x86\xc2\x7e\x52\x6f\x30\x89\x41\x0e\x6c\xf9\xd6\xe2\x13\xf0\xa3\xd5\x3e\x86\xff\x5f\xec\x49\xf7\x9c\xa1\xbd\x21\x3b\x99\xa8\xde\x7c\xf4\x9f\x31\xbf\x3c\xfe\xe8\xd0\x24\x46\x3b\xbd\x19\x90\x31\x68\xb7\xae\x75\x22\x70\x48\xba\x0e\xef\xad\x02\x05\xb9\x6e\x3f\xcd\xe6\x8c\xad\xec\x11\x0a\x13\xbf\x0e\xd2\xf5\x46\xc9\xb2\x20\xc0\xf3\x6f\xcd\x5f\xc7\x59\xb4\xa4\xd1\xf0\x33\xe3\xdd\x1f\x2c\x1b\x1f\xa0\x3b\x5d\xf9\x27\x29\xa1\xb0\xc5\x38\xf5\xce\x44\xf5\x3c\x7e\xd8\xbc\x37\x64\x7b\x4d\x22\xed\x09\xe5\xa0\xfa\x5a\x1a\xbb\x9f\x0b\x58\x56\xe3\x5a\x83\xa8\x76\x7f\x74\x03\x63\xc6\xcf\x81\x83\xf3\x89\xe4\x37\xaa\x40\xa4\xcd\x11\x32\x24\xd4\xd8\x17\xfc\x20\x61\xe0\xd3\x31\xf5\x71\x0b\x7e\x0a\x34\xe4\x51\x6f\xdd\xa2\x99\xb2\xdd\x16\x47\x06\xd4\x65\xe2\xd9\xe2\x3f\xce\x41\x0f\x25\xeb\x36\x14\xcf\xe1\xf2\xdd\x0f\xf4\xe2\x05\x94\x5c\x3c\xf0\x93\x49\xc7\xdc\x48\xf0\x47\x54\x2f\xff\x96\x31\x21\x59\x26\x31\x12\x25\xd2\xfd\x4e\x93\xe4\x4e\x13\x62\xfa\xec\x82\x49\x39\x52\x07\xc7\x91\xd1\x08\x77\xd4\x6a\x8f\xd1\xbc\xa8\x57\x21\xe7\x92\x5f\xf4\x21\xa1\x9f\x5d\x30\x25\x79\x72\x2d\x53\x56\x48\xfe\x48\x9e\x93\x28\x79\x0a\x5d\xc9\xfa\x7d\x69\xc2\xdd\x07\x82\x47\x7a\xa9\xb8\x94\x56\x13\x67\xac\x43\x92\xaf\xd2\x11\xbd\x14\x3d\xbd\x64\x6b\x3e\x7a\x84\x8a\xb9\x19\x48\x3a\xf3\x5c\x73\x81\xa6\x40\x9c\xfe\xd2\xcc\x1f\x4a\xd9\x86\x5f\xb2\x92\xbf\x80\xad\x7e\x1d\x04\xeb\xe4\xab\x54\xbf\x46\x1f\x0b\x4d\xa1\xf5\x2d\x53\x9a\xf2\x83\x66\x77\x9e\x77\xdd\xe5\x2a\xaf\xcf\xc0\xef\x97\x2c\xfe\x83\xb0\xf5\x05\xdf\x30\x3b\x2f\x6d\xb9\x6c\x3d\x2f\xac\x97\xcc\x46\x4b\xe0\x1b\xdb\xb6\x0b\x5d\x99\xcb\x19\xe7\x9b\x20\x38\x3f\x2f\xdd\xf1\x16\x42\xa3\x49\xb3\x89\xcc\xd7\x5d\xa7\xbf\xb5\x64\xd2\x6c\x16\x4c\xc2\x06\xa2\x25\xf0\x78\x3d\x1f\x48\xe2\xd1\x5c\xff\xa7\x4c\x1e\x53\xcf\x86\x77\x2d\xfb\xfd\xbe\x55\xfb\x0f\xe5\xad\xaa\x0f\x7b\x7f\x7f\xfe\xcd\x42\x74\x1d\x29\xfb\x2d\xe3\x06\xb1\xb9\xd7\xbb\x6d\xe4\x30\x22\xf9\xa3\x31\x27\x11\x47\x70\x83\x82\xd8\xad\xa8\xaf\x5c\xbd\x7c\xa5\x56\x6a\xce\x5f\x9c\x67\x54\xf2\x9f\x13\x95\xb2\x3c\xb1\xaa\xc5\xb9\x4c\x79\x9e\xf4\x4a\x42\x99\x72\xe1\x44\x63\x30\x11\xb7\xc2\x40\x6e\x0e\x11\x05\x65\x9e\xaa\xbd\x94\x96\x3b\xf3\xbc\x40\x79\x58\x48\x10\x8e\x93\x94\xda\xc8\x1c\x85\x4c\xc8\x73\x92\xea\x19\xb3\x64\x6b\x6e\x03\x99\xac\xd6\x26\xb6\x4a\x59\x84\xba\x03\x8b\x14\xa9\xbf\xd4\x8c\x95\x53\xc9\x79\x1f\xbc\x96\x4f\x00\x0f\x18\x87\x73\xe3\x05\xf1\x78\x64\x3b\x27\xf8\x7c\x1a\xa8\x84\x7e\xd1\xdc\xa1\x17\x0e\x95\x91\xe2\x41\x2f\x35\x42\x57\x12\x23\xc1\x43\x8c\xaf\x61\x14\x7b\xc8\x45\x6c\x98\xde\xcd\xe2\x50\xc1\xc3\x3c\x08\xc2\xfe\x06\xfc\x5e\x37\x26\xca\x7a\x51\x36\x8a\xf9\x37\xbe\x71\x67\xff\x4e\xd7\x95\x9a\xcf\x62\x7d\xca\x7c\xce\x6e\x17\x62\x7b\x2f\x3e\xb7\xfe\x84\x98\x4a\xeb\x5f\x3a\x3f\x67\x36\x10\xbf\xa9\xaa\xf3\x57\xf1\xeb\x00\x2c\x1d\xa5\x6c\xec\x48\x16\x5a\xb5\x40\x59\x9d\x65\x5d\x67\x74\x03\x70\x2e\x06\x02\x59\x7d\xa7\x9a\x62\x5b\xdf\xf3\x64\xe7\xae\x59\x7f\xf9\xd1\xbb\xfe\x35\x45\x87\xdf\x91\xf8\xcf\x6e\xf8\x5f\xb2\xb0\x47\x74\xa0\x7d\xc0\xf7\x6b\x88\x93\x7a\x43\x99\x91\x9d\x4c\xda\x69\x40\x78\xd4\x1a\x52\xd0\xcd\x62\x56\x30\x9b\xfd\x51\xa9\xbc\x7d\x23\x3e\xd7\x87\x7d\x10\xd8\x32\x66\x9c\xdf\xc4\x3b\x23\x95\x46\xbb\xfe\x0c\x66\x20\x9f\x81\xcf\x9e\xad\x39\x04\xef\x73\x2d\x75\xe7\x66\xa7\x66\xba\x21\xed\xba\xa9\xe1\xf0\xde\xee\x4b\x4d\x96\xa9\xdf\x53\xfe\x93\x4b\xff\xc9\xaf\xfe\x93\x17\xe9\x91\x7a\x18\x2b\x00\x0c\xa1\x38\x80\xdd\x64\x86\x56\x2a\xf4\x75\xb6\x91\xa0\xf5\x23\x20\x8a\x04\x77\x0f\xdd\x71\x5a\xc2\xe7\x3c\xfc\x14\xeb\xb6\x28\x12\x11\x9c\xe6\xf0\x1e\x5e\xcf\xb8\xa6\x9e\xb3\xc6\x83\xad\x6f\x92\x3c\xa5\xb2\xae\xf6\x65\x75\x50\xab\x4f\x7c\xb6\x3c\xd6\x49\x9e\xf2\x26\x08\x1a\x10\x01\x7b\x79\x28\xa7\xc7\xb2\x08\x67\xe3\x18\x90\x35\xa5\x8f\x4d\x6c\xfb\xaf\xac\xce\x1a\x08\x81\xd8\x2c\x30\x85\x46\x53\x8b\x8f\x3d\x1e\xc1\x93\x26\xb4\xd9\xf8\xec\x13\x65\x9f\x62\xbd\xcf\x5a\xe1\xe4\x76\x91\xd7\x95\x1a\x20\x09\xea\xa7\x56\x56\x61\xa7\xcf\x91\x3d\x3b\x89\x3f\xe9\x16\xbc\x0d\x71\x7d\x56\x53\x5f\xcc\xab\x93\x2c\xa5\x47\x6f\x00\x6a\xba\xe6\xa5\x0c\x3f\xc5\xba\x0b\xa2\x25\xcb\xd9\x2d\x65\xf0\xa4\xe9\xba\x50\x27\xf2\xb5\xe1\x70\x3f\x01\x62\x8f\xde\x0e\x6c\x8a\xf9\xf5\x4e\x45\xf2\xae\xb3\x0b\x4e\xdf\x69\x2a\x3d\xc0\xf2\xb9\x91\x13\xd1\xb3\x7a\x48\x21\x81\xd4\xd2\x57\x68\x4a\x10\x78\x71\x12\x88\x44\xa6\xac\x17\x8c\x0b\x3c\xf4\x80\x88\xc5\xf8\x90\x6b\xe9\x9d\x32\x89\xb0\xe9\x18\x64\xa1\xb0\x71\x40\x75\x86\x91\x9e\x33\x47\xc5\x26\xea\x17\x40\xb7\xa9\x37\xe0\xb5\x71\xf0\x0f\x0b\xda\xbf\x9b\xa7\x7d\x35\x0b\x8a\xb5\xed\xba\xd0\x85\x55\x62\x99\xbe\x52\x26\xd0\xa8\xae\x30\xf7\xdc\x45\xb6\xa7\xc4\x1d\x77\x0b\x69\xdd\xdc\x34\x5d\xfe\x46\x15\xaa\x69\x54\x1e\xd2\x89\x35\x68\x6a\x52\xc2\x5e\x7f\x84\x70\xb0\x03\x43\x39\x45\x6d\x2c\xee\x95\xdd\xb1\x32\xfe\x5b\xd6\x75\x7a\x4b\x66\x92\x7b\x27\x8a\xd7\x38\x6e\x7a\x73\x9e\x5f\x3b\x89\xe7\x1c\x99\xa1\x8b\x3e\x45\x73\x02\x05\xbf\x3c\xcf\xe1\x74\xb9\xe4\xd7\x8b\xbd\xe6\x9b\x7a\x27\x53\xa3\x7e\xb0\xe9\xc9\x3a\x5d\x34\x87\x2a\xec\x11\x5a\x36\x8b\xaa\xde\x97\xc5\xe7\x7f\x96\xfb\x4d\x28\x58\x72\xcd\x0a\xa6\x47\xe1\xf2\x55\x11\x04\x65\x2c\xa3\x70\xb3\x68\x54\x5b\x6f\xef\x94\xcb\x92\x02\x44\xf5\x91\x5d\xf3\x8d\x66\x2f\x6f\xcb\x56\x99\xf0\x5e\xc2\x44\x8a\xf2\x01\xa3\x32\xca\xea\xdd\xde\x4b\x9b\x2d\xd9\xa3\x81\x5c\xf8\x16\x98\xdf\xe8\xf1\x78\x64\x92\xba\x90\x24\xc6\xa6\xbb\x54\x6d\x94\xb9\xc4\x9f\x50\x4c\x8b\x24\x73\x5d\x13\xb9\xce\xb3\xfd\x11\x49\xd7\x35\x0c\x5b\x1c\x25\x29\xf3\x38\xca\x41\xac\x57\xe7\xc8\xb4\xb0\xdc\xe6\xb5\x96\x06\x5b\x90\xff\xf1\x72\x31\xa8\x28\x70\x16\xe6\x01\xf2\xed\xae\x1f\x5d\xcf\x1b\x4c\x39\x96\x63\xf0\x84\xc8\xf7\x08\x45\x2e\x77\xc9\x72\x9e\xc5\xa3\xa1\x8a\x80\xd1\x54\x03\x84\x5c\x8c\x04\x37\x5b\x3a\x77\x59\x37\x8c\x12\x87\xf1\xd2\xc3\x42\x3b\x1d\x26\x96\xa5\x34\xd2\xc9\x9a\x34\x0e\x52\x99\xf5\x81\xbb\xe1\xd7\x18\xaa\x0c\xbe\x75\x23\xc3\x9b\xc9\x76\xd3\x11\xaf\x24\x1d\xb3\x74\xcd\x04\xb3\xef\xf4\x3c\x93\x93\x4a\xc1\x8b\xf0\x86\x95\x92\x5d\x53\x36\xf0\x08\xb5\x9f\x01\x41\x3d\x08\xfc\x5b\x1b\x4b\x18\x5e\x29\x1e\x20\x7a\x48\x13\xba\xe9\x53\x32\x3b\xd7\x44\x55\xde\x46\xd7\x0c\x78\x8f\xc8\x94\x00\x37\x47\x88\xb9\x6d\x31\x47\xed\xb7\xec\x3d\x45\x5a\x6d\x52\xf5\xb5\x6d\xb4\xac\x6f\x77\x7a\x0d\xd3\x45\x21\xca\xad\xcd\xa1\xaf\xdd\x7a\x37\x69\x78\x47\x8f\xd5\xe2\x75\x55\xde\xc2\x84\xeb\x51\xd2\xb6\x92\x3d\xc2\x40\x9d\x80\xc8\x0e\xba\x40\x50\x2d\x77\x0b\x26\x38\xf2\xa7\x91\xd0\x6c\xa3\x53\x87\xae\xc6\xce\x80\x62\x8c\xdf\x86\x80\x75\xac\x90\x40\xe2\x24\xb8\x51\x27\xe6\x7e\x71\xa8\x30\xce\x6f\x86\xe0\x13\x93\x61\xc1\xb2\x58\x49\x97\x51\xd0\x48\x19\x44\x10\x61\x14\xd5\xed\x4e\xa9\x7c\xda\x3b\x80\x8b\x20\x38\xc5\x0c\x8e\xfd\x85\x2f\x68\xf4\x68\x7b\x34\x92\x5d\x37\x93\x41\x90\xe1\x51\x91\xd7\x07\x41\x20\xfa\xe5\x2b\x18\x2e\xab\x08\xb3\x66\x26\x2c\xea\x77\xfd\x1a\x0a\x82\xec\xe8\x39\xfe\x99\x17\x39\x4c\x94\xba\x28\xe2\x65\x64\xcf\x12\x5d\xad\xfa\x6c\x71\x7f\x19\xf5\x97\x7a\xa7\x40\xb1\x58\x37\xb7\x8d\xbd\xeb\xa4\xcf\x95\x46\x5e\x7a\x8f\xbf\x64\x2c\x41\x73\xcb\xbe\x9b\x0b\x38\x16\x43\x47\x57\xbc\x47\x1e\x3e\x5f\xd4\xdb\x9c\xe7\x6e\xa2\xb1\xfe\x92\x0f\x50\x8a\xbd\x36\xc3\x3b\x34\x08\xe0\xb7\x57\x50\xe9\xc2\xa0\xe8\x20\xa8\x16\xb9\x42\x06\x1c\x44\x10\x93\x4e\x8f\x9a\x06\x0d\xd4\xde\x85\xc8\xd5\x87\xfa\x0f\x50\xad\x0d\xbc\xc5\x2f\x14\x78\x5f\x77\xb8\xcf\x96\x96\x19\xd2\x1c\x86\xde\x00\x61\xe2\xab\xd0\xd9\x0a\x64\x47\x86\xc7\x63\x47\x66\x9e\x7d\x21\x54\xd5\x90\x6f\x13\x14\xe0\x0f\xa1\x73\x31\x0a\xb7\xe6\x03\xc6\xdc\x14\xdf\x4a\x6c\xe1\x70\x96\xb1\x82\xae\x42\xd5\x03\x33\x22\x80\x7e\x51\x56\x65\xbb\x81\x93\x9e\x0c\xe2\xce\x84\x80\x53\x6f\x4f\xc4\x17\xf8\x9c\xaf\x99\xea\xba\xa2\x1f\xb4\xcb\xb8\xd7\x59\xaf\x8d\x02\x1b\xfb\xd6\x64\x62\x6b\x3a\xa6\xec\x83\x75\x31\x15\x88\x40\x67\x5f\xb9\x70\x21\xfa\x8e\x65\xa1\x74\xb5\x39\xc5\x6f\x70\x58\xd9\x9a\x3a\x58\xbc\xec\x2c\x08\xc4\x0c\x21\xb3\xbd\x6a\x89\xae\xd3\x73\x8b\x25\xe9\x13\x10\xda\x58\x09\x30\x8e\x31\x2a\xb6\x20\x10\x73\xd2\x4b\x98\x04\xfa\x1e\xa8\x6c\xeb\x01\x4f\xc2\x24\xc3\x4d\x69\x9d\xa8\x34\x08\xf4\x7f\xa8\x7c\x10\xe4\xe1\x1a\x31\x4e\x6c\xcc\x76\x84\x3a\x9a\xc8\x28\xad\x8d\x4b\xff\x12\x6e\x6b\x85\xa3\x66\xe7\xe7\x2b\x5a\xe8\x57\x34\x59\x9f\x21\x7c\x0d\x9a\xcd\x40\x5d\xe1\x11\xd4\x76\xc6\xb9\xe6\xe8\x20\x41\xcf\x30\x1c\x56\x69\x5c\xfa\x0a\x1b\xf1\x5e\xb1\x4b\x4a\x57\x61\xa6\x29\x0e\x3d\x59\x1d\x02\xc0\x3c\x70\xf4\x27\xb5\x6d\x33\x1b\xbd\x96\x9b\xae\xfd\x52\xbf\x42\xc8\x1b\xaf\xbf\x34\x7f\x96\xd8\xde\x25\x29\x53\xde\x2d\x76\x76\x3a\xec\xed\x3c\xce\x7b\x0e\x00\xf8\x57\x3b\x33\x67\x4b\x27\x57\x1b\x1c\x12\x3d\xc4\x18\xd2\x10\xfa\x16\x7f\x3d\xa4\x83\x99\x9e\x24\x7d\xc7\x66\xd8\xb1\x19\x76\xac\xc1\x05\xd2\xfd\x99\xa5\x6e\xbe\x0b\x30\xfd\xcb\xfc\xfe\x04\x5c\x01\xdb\x97\x19\xf4\x25\xaa\x74\x96\xab\xf5\xab\x0c\xd0\x60\x72\xf0\xed\xd2\xff\x4d\x65\x07\x37\x1e\x8d\xb2\x93\xde\x36\xea\x48\x07\x06\x01\x46\x5e\x64\x28\x11\x32\x94\x15\xc7\x66\x01\xc8\x34\x81\xb7\x7c\x96\xae\xcc\xaf\xbf\x29\x0d\x8e\x84\x50\x0f\xde\x75\x53\xe7\x54\xf2\x89\x18\x1d\x30\xbc\x96\x9c\x6d\x64\x98\x41\x4f\x62\xc1\x3e\x52\x40\xbb\x2d\x73\xf5\x4d\x7d\x5f\x45\x1b\x69\xa4\x58\xca\x20\xf1\xe7\x1d\x24\x41\xfd\x4d\xd2\x07\x3c\x41\xd3\xc9\xa6\x99\x94\x69\xfa\xfb\x43\xd5\x5b\x57\x61\x19\x47\x48\xff\xe9\xb0\xf7\x1e\x40\x49\xf8\xc0\x14\xd4\x3f\x33\xc5\x1d\xff\x18\x50\xe0\x94\xb8\xdb\x56\x66\x96\x54\x43\xf3\x70\x36\xf2\x24\xb5\x0c\x97\xbc\x39\xf5\x07\xce\xfa\x69\x2b\x8d\x9a\xaf\xd7\x0e\xae\xa4\x8b\xf8\x0b\x9c\xaa\xe0\x5a\xda\x62\x22\xa4\x5d\xa7\xaf\x70\xe9\x66\x76\x5a\xc9\xf3\x73\x76\x49\x57\x99\xd3\x14\x19\xb5\x34\x44\x4b\xef\xf5\x8f\x1e\xff\x37\x0a\x4e\x82\x15\xb1\xdc\x8a\xfe\x8e\x3d\x63\x10\xcd\x3e\xa4\x51\x9f\x43\x17\x69\x0a\x2a\xab\xbd\x6a\xee\xc4\x96\x5f\x7e\xc5\xfa\xdc\x7e\x4b\x85\xd4\x12\xa3\xe4\xad\xda\xff\x60\x32\x87\xae\x4b\x86\x85\x50\x5b\xaa\xae\xb5\x5f\x06\x58\x28\xb9\xb7\x85\xa4\x4c\x18\x00\x0a\xe6\x71\x10\xfc\xb1\xdd\xd6\xf7\xd1\xff\xb9\x5c\xb2\x42\xb4\xfb\xe8\xc5\x72\xd9\x23\x87\x83\xfd\x33\xec\xdc\xb9\xda\x8a\xcf\xd3\x31\x06\x05\x30\x3d\x03\x6e\x45\xa4\x5d\x27\x00\xe8\x28\x33\xbb\x82\xb7\x51\x78\x96\x2f\xde\x76\xe5\xa9\x80\x33\x26\xe8\x4a\x4e\xb7\xc7\xe6\x31\xf0\x60\x53\xc8\x02\x5f\xf0\xf7\x5a\xfd\x7f\xe0\xbf\xf5\x94\xeb\x94\xf1\xf0\x9b\xf0\xed\xb0\xa0\x53\x70\xe0\xf0\x45\x57\x19\x83\x89\x4b\xe9\x17\x5c\xb4\x0c\x00\xe3\x24\xd2\x00\xb8\x57\xec\x1e\x08\xdb\xea\x97\xdf\x7b\x5d\xc3\xc9\x1e\x34\x63\x0b\xd7\x43\x6c\x8b\x6f\xf3\x8b\x7d\xbd\x73\xe0\x03\xeb\x41\x77\x42\x06\x5d\x9d\xed\x42\xf7\xd0\x8f\x60\xcf\x55\xfe\xae\x72\x4e\x2e\x04\x06\xc6\x1a\xbe\xa0\x73\xa1\x39\x9d\xee\xb4\x9f\x2a\x70\x4b\x04\xc8\x5f\x30\x38\xea\xf1\x7d\x73\x87\xef\xcb\xb6\x0b\x55\x49\xe8\xea\xd9\xec\xa4\x47\x30\xec\x98\xcd\xc1\xa4\x8b\x73\xae\xb7\x31\x28\xf2\x1b\x97\x90\xbb\x87\x6c\xc2\xf5\xc6\x02\x57\x66\xa3\x29\x03\xb5\x23\x70\x24\xb9\x5d\x40\x26\x8e\x16\x39\xa3\xa6\x61\x3e\x6a\xe1\x8d\x75\x87\x9e\x94\x05\xc0\xe0\xcc\x84\x7a\xd2\xe5\xc1\xd5\x2f\x36\x3f\x94\x8a\xbd\x21\x78\xc6\x25\xcf\xad\x03\xbe\x71\xbb\xbf\x95\xfc\xe2\xaa\xb9\x58\xaf\x06\xdc\xf5\x9d\xd8\x4e\x9d\x98\xc3\xba\xb0\x71\x43\xc0\x76\x74\x8c\x3f\xe5\xc0\x72\x47\xa2\xd1\x14\xdf\x61\x16\xae\x5a\x9d\x60\xff\x81\xaa\x2d\x8f\xc5\x00\xfa\xc8\x1a\x55\x68\x52\x44\x69\x24\xcc\x29\x82\x8a\x15\x07\x13\xf8\x91\xa8\xa4\x62\x35\xd7\x0f\x7a\x15\x9e\xb1\x5b\x46\x49\x5e\x4d\xe1\x3e\x5a\x88\x35\x42\x22\x01\x8e\xe9\x14\xb6\x8a\x3b\xb1\xf5\x6c\x04\x74\xf9\xa0\xc0\x1d\x26\x4f\xa3\x81\xa7\x70\xe8\x6c\x8c\x33\x33\xcf\x60\x35\x73\xc7\xea\x4c\x31\x3b\xd2\x36\xc0\x3b\x0e\xb7\xa2\x06\xd4\xc9\xa9\x52\x06\x95\x51\x13\x35\x51\x5f\xac\xc6\xfa\xb4\x1a\x00\x64\xbe\x56\xfb\xb0\xaf\x04\x8d\x65\x14\x4a\xae\xcc\xb4\x99\xb4\x74\xb2\x26\x61\xb7\x12\x10\xdc\x4c\x10\x26\xdd\x6f\xd2\x02\x70\x7a\x53\xc9\x19\x62\x83\xb4\x3a\x7d\xfa\x3f\x86\xd4\x37\x95\xf1\x8d\x02\x66\x70\x68\x6f\x00\x39\xb5\x5c\xcf\x70\x41\x9f\x96\xe8\x74\x92\x0c\x80\x0e\xad\x5d\x04\x28\x1e\x2c\x11\x00\xcb\x6a\xb0\xe4\x82\x84\x73\x73\x4c\x22\x0c\x0c\xd4\xf2\x95\xd2\x62\x5b\xac\x3f\x1c\x25\x29\xdb\xf0\x22\x56\xf3\xcb\xc8\xb2\xb8\xac\xe4\xcb\x57\x2a\xde\x44\x45\xac\xa2\xe5\x6a\xf3\xaa\x5c\x95\xa8\x54\x92\x88\xa6\x3a\x0b\x67\xd2\x7d\x2c\x08\x4a\x3c\x24\x08\x07\x04\x24\xee\x89\x4b\x64\x22\x0b\xc8\x11\x0d\xb0\xcf\x09\xa5\x5d\x37\x40\x46\xb4\x4f\x06\x80\x83\x7e\x0e\x46\x6c\x3c\x0d\x42\xa9\x71\xe5\xd4\xab\x0e\x57\x10\x2b\x7a\xe7\x9f\xb5\xc1\xeb\xf5\x3c\x11\x9f\xb2\x83\x04\x12\xd0\xf7\x68\x01\xcb\xe9\x46\x59\xeb\x31\xff\x50\x12\xcf\x86\xd7\xe8\x79\x94\x73\x95\xac\x41\xa1\x6e\xf0\x79\xfb\x59\x6b\x0a\x83\x69\x98\xeb\x7a\xbd\xe2\x4b\xb0\x54\xee\x29\x36\x97\x7c\x66\xa1\xf1\x36\x54\x3f\x00\x2b\x06\xb4\xa8\x47\x2d\xb8\x97\x79\x76\xe9\x83\x23\x8d\x86\x9c\x9f\x5f\x52\xa6\x8e\xc7\x01\xf7\x8e\xe4\x93\xf5\xf1\xf1\x52\x36\xd0\x61\x0c\x96\x7a\x3a\x36\x9c\x18\x04\xb8\xe8\x2d\xe9\x62\x07\x50\xef\xc1\x12\xc3\x59\x0b\x0e\x40\xa6\x1b\xea\x62\x2b\xf5\x3b\x18\x18\x01\x0c\xbf\x08\x70\x0a\x4f\x12\xac\x93\x3d\xd1\x2c\x9e\x98\xd4\x15\x89\x0c\x00\xfe\x91\x1a\x2c\xac\x4a\xb2\x5a\xb2\x9d\x44\x6c\xe1\x06\x56\x1c\xc6\x89\x62\x9f\x8c\xe9\x84\xa9\x76\x67\x3b\x8e\x3e\xbb\x28\x59\x23\xf9\xc9\x1e\xcf\x5a\x9d\x08\x5b\xd8\x70\x03\xd1\x85\x7e\xd1\x2c\xb1\x82\xef\x3e\x6d\xfa\xd7\x1b\xaf\x3e\x89\x01\x78\x1a\x10\xab\x7f\xc9\x13\x90\x07\xd4\xe8\xa4\x5e\xc3\x63\x92\xfe\x34\x77\xd5\x7b\x46\x14\xe8\x10\x51\x04\xc1\x0b\x30\x9b\xb0\x75\xf0\x82\xc7\xf4\x4c\x0f\xe7\x6f\xe2\x0a\x14\xd1\xd6\xd4\x11\xe0\x6e\x01\xdd\x6e\x80\xd1\x1f\x66\x3c\x1b\xa1\xa2\xeb\x79\x02\xa3\xe1\xec\xe2\x43\x33\x46\xb7\x10\xa7\x5c\xcb\x81\x16\x6d\x24\xae\x65\x54\x0d\x8c\xe1\x65\x9c\xf7\x34\x3e\xb7\x36\x52\x5c\xef\xa4\xc6\x7c\x3e\x03\xb7\x08\xd8\x02\x7d\x5a\x9b\x51\xb7\x95\x62\x61\x91\xa2\x8e\x1c\x41\xa1\xad\x2b\xd4\x77\xb8\xc8\x9d\x73\x81\x29\x58\x0c\x79\x93\x8c\xc9\xb9\xe6\x71\xa4\x0b\x01\xea\x8d\x0f\xd4\xe6\x89\x61\x3e\x0d\xd4\x93\x05\x41\x86\x9d\x10\x7e\x87\xc0\x7f\x41\x30\x3c\x7d\x37\x61\xc4\x24\x2f\x10\x96\x5b\xf7\xa5\x1e\x85\xef\xca\x07\x50\x26\x4b\xf6\x44\x57\x4a\x1a\xb7\x32\x08\x1a\xd9\x75\xb3\x4f\xd2\xa5\xc1\x71\xde\xec\x32\x12\x89\x7f\x40\x48\x8c\x58\x73\x4e\xe6\x92\xa6\xdc\x66\xaa\x6c\x57\xc2\x76\xc8\x4e\xe3\xb7\x34\x32\x96\x11\x68\x13\xed\xf0\x46\x18\xcb\x7e\x82\x92\x20\x6e\x7d\xcf\xc6\x05\x41\x1f\x64\x76\x1c\xb7\xc7\xb2\x98\xbd\x91\x3a\xac\x75\x67\x2e\x39\xc9\x2c\x66\x60\xfd\x17\x9a\xbc\x5c\x52\x96\x1d\x91\x1e\xd6\xf2\x94\xb4\xe9\x05\xe2\xd8\x0f\xd0\x2a\x8e\xc6\x51\xd2\x68\xb2\x03\x87\xdf\x9e\x35\x52\xd7\x7d\x38\x24\x92\xfe\x51\xff\xca\x54\x73\xdd\xb2\x8f\xad\x7d\x3a\x8a\x6d\x7d\x68\xa4\x32\xb3\xe3\xe2\xea\x7e\x7e\xb1\xa6\x93\x7a\x97\x9d\x34\xbe\x26\x6e\xf2\xaf\x20\x89\x9f\x54\x3f\xa3\xc3\xc0\xfd\xbd\x0f\x8c\xd3\xd7\x77\x5d\x58\x60\x89\x0c\x0b\x51\x4e\x29\x29\xcd\x3b\xf1\x68\x7d\xc3\x9a\x32\xb9\x0b\xbd\x07\x3d\xd5\xcf\xd2\xae\xc3\x27\x3b\x27\xa3\xe9\x64\xe9\x7a\x10\x6d\x6b\x42\x8f\x98\x98\xa1\xfe\xd2\xe0\x4e\xce\x2b\xa8\x48\x38\x8c\x66\xc2\x33\x1a\x55\x7a\x30\xa5\x59\xff\xba\x14\xfd\x61\xfc\xe8\x13\x53\xc8\x9c\xb4\x0c\x88\x25\x20\xc0\x48\xea\xf5\xe9\x70\xd2\xc0\x73\xe0\xdf\x26\x62\x37\xf5\x53\x4b\x02\x18\x2a\xb6\x30\xd3\x3c\xbf\xe5\x1e\xd1\xd5\x27\x3b\xdd\x20\x25\x8d\xb3\x7e\xe3\xdd\xc9\x45\x99\xf3\x9d\x84\x58\x93\xfa\x57\xd6\x75\x93\xb7\xd3\x87\x45\xab\xf1\x18\x85\x93\xad\xca\x28\x75\x8e\xbc\x50\x99\xd8\xfc\x46\x56\x7d\xe2\xb8\x1f\x0c\x21\x3e\xe5\xfe\x62\xd7\xf4\x44\xe9\xae\x1a\x60\xc6\xbb\x53\xb2\x2c\x4a\xe0\x27\xf1\x23\xbe\xc3\x0f\x8e\xd3\x91\xf9\xd3\xc1\xf8\x4e\xaa\xbc\x04\x7d\xc4\xf4\x90\xb9\x01\x46\xe1\x34\x9e\x5d\x46\x38\xd4\x3d\xdf\x84\xb6\x18\xcc\x9a\x61\x9c\xba\x41\xf9\xdb\xd9\xc9\x57\xdc\xe4\x33\x5e\x96\xa7\x1b\x08\x9a\xeb\xf6\x5b\xc8\x52\x93\x29\x6a\xf5\x08\xa3\x39\x8e\xba\x85\x13\x61\xa0\xa7\x85\xbe\xe6\xc2\xda\xea\x4c\x31\xba\xd3\x6f\xf0\x4c\x8b\x84\x86\x89\xda\x1b\x4e\x09\x83\x2e\x22\x9f\xd4\xd9\xa8\x40\x1d\x0e\x69\x87\x67\x8a\xc0\x3c\x1d\x4c\x7e\xd1\xe9\x0c\x3a\x69\xc8\x2f\x69\xba\xf8\x07\xfc\x12\xda\x01\x7f\x99\x5f\x7a\x37\x2c\x66\xa0\x60\xb3\xa4\x17\x34\x6b\xd3\xe7\x00\x9a\xe9\x06\xf1\x5e\xa4\x46\x6f\xc9\x3c\x74\xaf\x44\xa4\x86\x05\xcf\xe8\xe3\x71\xcc\x59\x99\xe2\xa3\x47\x52\xd4\x0d\x89\xc8\x66\x7f\xbb\xfd\xae\x6e\x34\x53\xbd\x15\x6d\x4b\x22\x4f\x53\x76\x64\x27\xed\x1d\xd9\x22\x4e\x73\x62\x6b\xe4\xc4\xd6\xc8\x89\xad\x2d\x27\x56\xf0\x4b\xc4\xc5\x9b\x0d\x78\x2c\x30\x84\xca\xbc\x96\x6b\xea\x9f\x81\xbf\x56\x6f\xf6\x9f\xa5\x96\x85\x02\x6e\x47\xf5\xdc\x8e\xf2\xb9\x9d\x9c\xab\x01\xb7\x93\x47\x02\xdc\x27\x23\xd5\xf3\x5c\xaa\xe7\xb9\x72\xd4\xa5\x19\x9e\x0b\x33\x63\xa3\xed\xe6\x2f\x32\x74\xed\xfd\xef\x49\xc3\x7b\x91\x81\x3b\x28\xf1\xac\x24\xc0\x97\xed\x07\x08\x12\x76\xb9\xa4\xd1\x5e\x5a\x85\x9a\x33\x0e\xec\xba\xc3\x69\x22\x04\xea\x6d\x54\x11\x2f\xa3\xf3\xcb\xa3\x71\xcc\x1b\xaa\xda\x5c\xec\xed\x04\xb5\x6b\x8c\xb4\x8d\x9c\x58\xdc\x7e\x2f\x7e\x61\xdd\xad\x87\x6b\xfa\x65\xef\x0d\xe8\x94\x73\xb0\x92\x3d\x1b\x75\x2b\xc9\x3d\xd1\x3b\xc2\x93\x72\x7d\x3b\xdb\x6c\x24\xdd\x0f\xa3\x99\xf9\x77\xc3\x8c\xc8\x00\x0f\xcf\x73\xcc\x00\x11\x46\x1a\x25\xf2\x9f\xaa\xed\x67\xc2\xc8\xad\x78\x78\x03\x6b\x4e\x4f\x6b\xb5\xdd\x1a\xc8\x0f\x73\xf7\xce\xd8\xff\x32\xd2\xd4\xf7\xef\x77\xa2\xd2\xe9\xf5\xd6\x5c\x1d\x5a\xf5\x56\xec\x08\x23\x00\xc0\xfb\x67\x74\x63\x67\xd6\x8d\xfd\x5b\x43\x8a\xc7\x92\xa7\x9d\xbb\xa8\x7a\x1a\xe8\x74\x40\x67\x06\x3d\x69\x74\x95\xae\x17\xbf\x2b\x1f\x9c\x86\x93\xa8\x4a\xd6\x50\x2d\xa4\x5c\x77\x92\x5f\x24\x57\xfb\xab\xe6\xaa\xba\x2a\xd2\xb1\xe2\x4f\xe4\xf9\xd7\x7a\x99\x3e\xa5\xfd\xf3\x42\xd3\xf8\xb8\xe9\xd7\xa7\x0e\x71\x22\x08\x84\xf5\x2d\xf3\x14\x81\x5f\xc0\x40\xd7\x73\xca\xe8\xf8\x6c\x35\x42\x5f\x05\x68\x7c\x90\x1c\x19\xb1\xea\xb1\x6b\x8a\x87\x7a\x70\x7e\x4c\xa8\x93\x13\xba\x2e\x49\x57\xe5\xab\x8d\x8d\x7e\x63\x42\x1e\x6f\x52\x96\xf3\x4b\xee\x87\xb2\x00\xeb\x5c\x57\x6e\x1c\x92\x33\x32\xf7\x12\xe6\xe4\xcc\x43\xe3\xbe\x93\x0c\x5c\xfc\xf4\x3f\xfa\x58\xb8\x88\x40\x8a\x67\x49\x01\xa2\x47\xef\xba\x7d\x46\xe6\xf8\xf6\x9f\x96\x41\x10\xe6\x73\x8e\x77\xab\xb5\x75\xe6\xcc\x29\xf3\x3e\x84\xb4\xcd\xaf\x0b\x5f\x8f\x42\x44\x18\xb0\x9f\xff\xd5\x18\x81\xa7\xf1\x68\xf3\xe8\xba\xff\x77\x47\xce\xab\xdf\xff\xaf\x07\xef\x89\xb1\xc3\xdb\xa9\x11\x7c\xc5\x97\x34\xe7\xb9\x2b\xc9\x3d\x61\x66\x44\x21\x56\x10\x8e\x69\x44\xc8\xff\x70\x58\xf1\x20\x74\x3c\xac\x9e\x3b\x89\x19\x9a\xd5\x53\xae\x8b\x99\x1f\x8b\x80\xcb\x38\x43\xe3\x8f\x7e\x21\x51\x3f\xc2\xc2\x30\xcd\x08\x56\x43\x7b\x2e\x5f\x4d\x6f\x07\xd7\xab\x65\x38\x54\xce\x0f\x07\x57\x8b\x98\x19\x3d\x8e\xd0\x15\xfd\xfa\xd9\x09\x8b\xe6\x60\xa6\x7c\x50\xc0\x0c\x26\x80\x89\x0d\xce\x8b\x24\xd7\xa3\xa3\x16\x1b\xd1\xe2\xe7\x33\x1a\xab\x41\x63\x32\x1a\xa9\xbe\xb9\x19\xda\xc6\x86\x92\x73\xfe\x66\x70\x84\x8e\xf1\x1a\x87\xf5\xed\x21\x7e\xd0\xe0\xe6\xb7\xdf\xdc\xa3\xdf\x7e\x23\xe3\x99\x3b\xba\xe7\xc3\xdb\xae\x13\x28\x26\xc3\xd9\xc3\xd3\xa5\xa2\x57\x3a\x44\x63\x31\x6d\x9a\x56\x61\x73\x3d\xd1\x04\x4c\xb4\xd3\xc8\x2b\xd6\x9a\xd2\x0b\xaa\x94\xc8\x74\xe0\x92\x70\x46\xe6\x36\xf9\xcb\x6b\xc2\xcd\x79\xd0\x4b\x5a\x03\xdf\xe5\xca\x5a\xfa\x7a\xdb\x23\xc9\xb6\x87\xe6\xac\xa8\xe5\xa1\xc5\xff\x65\x85\xbf\xf5\x61\x7f\xb6\xad\x45\x7e\xd6\xa8\xb6\xfc\x5d\x9d\xa1\x9a\xf6\xec\x50\x41\xa2\xdc\x96\xf2\xe6\x2c\xcf\xb6\x78\x71\x5b\x1f\x5a\x95\xd7\xf7\x15\x5e\x1d\x76\xf8\xab\x87\x14\xaf\xea\x3b\xd5\x98\xab\xc3\x1e\x2f\xb4\xd0\x62\xd2\xb6\x4a\xdc\xa9\x33\xb9\x11\xd5\x5a\x9d\x99\x98\xdf\xed\x21\xbb\x2d\xf7\x67\x37\xea\x33\x94\x7b\xa3\x3e\xef\x1a\xd5\xb6\xfa\xe2\xb0\x3b\x53\x4d\x53\x37\x67\xb0\xe1\x3e\xec\x6f\x55\x75\x20\x9e\x8d\xe2\x94\x05\xc2\xd0\x38\xa3\x97\x95\x4f\x38\xf0\x25\xae\x36\x38\x8f\x36\xa1\x59\xa4\x59\x5c\x36\x9a\x7e\x46\x4f\x02\x93\x6d\x74\x03\xbf\x10\xf1\xbf\x6f\x71\x28\xe8\xa2\x6f\x74\x98\x75\x9d\xa0\x47\xa6\x79\xc2\xa7\xc4\x79\x5b\x1f\x3c\x26\x43\x19\x9d\x1d\xaa\x93\x57\x46\x2f\x14\x85\x7b\x03\x82\xb0\x6c\xd5\x7a\xda\xf8\x6d\xf4\x19\x67\x84\xc1\x0e\xd5\x13\x6f\xb9\x77\x2e\x27\xb6\xa1\xd8\xfb\x3c\x79\x0e\xa1\xb5\x6d\x42\xc6\xf4\xd6\xf0\xfc\x39\x41\x35\x03\x30\x31\xf7\xd2\x5a\x6b\xb0\x07\xc9\x2f\xae\xe2\x0b\xf6\x59\xf2\x8b\x90\xd1\x2e\xbc\x4a\xba\x47\xda\x85\xc7\x2e\xa5\x1d\x81\x90\xf4\xe4\xea\x4a\xb3\x3b\x69\x77\x75\x95\xe8\xeb\x8b\xac\xa8\x9a\xbd\xbe\x3d\x24\x57\xb9\x38\x2f\x5e\x9f\x7f\x97\x3e\xbe\x3c\xd2\xe7\xe4\xaa\x7d\x1e\xc5\xdd\xbe\x39\xa8\xae\x10\xdb\x56\x81\xed\x56\x77\x1e\x87\xf1\x6c\x79\x95\xd3\xab\x7c\x1e\xc6\xd1\xd5\xe2\x2a\x9f\x77\x54\x97\xad\xbe\x4d\x93\xf9\x79\x1a\x43\x02\x30\x53\xc0\x96\xff\xf5\xfd\x4f\x3f\x72\x7f\x7b\xd4\x32\xcc\x42\xa7\x6a\xf6\x5b\xff\x62\x3e\xea\x98\xe4\x3e\x2d\xd4\x72\xa6\x0b\x56\x83\x20\xa3\xca\xf2\x0b\xf8\xac\x77\xa8\xb3\xc1\x76\x95\x5b\xcd\x9f\xe5\xd0\xe5\x1f\x5c\xbf\x7b\x6d\x01\xb8\xa3\xf1\x25\x65\x4b\xf0\x99\x10\x70\xd4\xa7\xc5\xa2\x7c\xce\x67\xc5\xf9\x4c\x31\xa0\x4a\x34\x76\x7b\x01\x31\x2f\x93\xb9\xa2\x60\x8e\x02\xcb\x28\x24\x3f\x54\x77\x62\x5b\xe6\x67\xba\xe6\xd1\x19\x99\x67\x60\x45\x02\x4d\xf8\xf8\xf6\x0d\x3f\x31\x16\x67\x18\x92\x33\xeb\x39\x0e\x67\x24\x68\xd1\x43\xe1\x3c\x03\x42\x2b\x89\xc5\x37\x3f\xbd\x7d\xa7\xcb\x6a\xe2\x30\x07\xa7\x4d\x97\x00\xc8\x71\x88\xe4\xd1\xd4\xb7\xef\xa1\xac\x30\x63\x10\x94\xf7\xe2\xe1\x76\x4b\x28\xd5\xad\xd2\xef\xbc\x96\xfb\xf2\x4e\x7d\x34\xa6\x99\xe4\x6d\x29\x9b\xba\xad\x8b\xfd\x42\x0b\x89\x3f\xbd\x05\xf4\x51\xd1\x7e\xae\x24\x27\x30\xdc\x7a\xdb\xd6\xa4\xea\xe3\xdb\x37\x61\x46\x69\x1f\x8c\x49\x5a\x3b\x1e\x5f\xef\x32\xc2\x2c\x0f\x82\xd9\x53\x71\x1a\xa0\xb6\x0d\x74\x9c\xe7\x53\x76\xd2\x95\x1f\xdf\xbe\xc1\x9e\x64\x12\x3d\x5a\x7f\x97\xec\xb5\x64\x7f\x96\xfc\xe2\xdf\x17\xcf\x9f\x5d\xb0\xaf\xf5\x24\x4f\xe2\x20\xa5\xbf\xf1\xe4\xbf\x82\xf4\xf9\x05\xfb\x06\x34\x0b\x8b\xe7\x31\x8d\x92\xb3\xab\x7d\xfa\x3c\x4c\xfe\x0b\x66\xfb\x73\x7a\xd5\xc4\xcf\x2e\xd6\xb7\xec\x5b\xab\x7c\xc8\xea\xc3\xbe\x13\xbb\x9d\xfe\x3b\x6f\xf7\x75\x23\xd6\xaa\x5b\xcc\xcf\x81\x20\xb5\x65\x5d\x75\x45\xb9\x55\x5d\xa3\xda\xee\xbe\xcc\xd7\x6a\x4f\xa3\x67\x17\xec\x3b\xf3\xfa\x5f\xbe\xfd\xd0\x7d\xff\xed\xeb\x6f\xe8\xb3\x0b\xf6\x17\x9d\x76\x75\x71\x75\x71\xc1\xbe\x87\xc7\xc9\xd5\xfd\x62\x7e\x9e\xce\x23\xbd\x2c\xf4\x03\x58\x79\x57\x17\xf1\xbf\xa7\xcf\xff\xef\x8e\x86\x78\x1d\xa5\xcf\xf5\xf3\x28\xbc\xca\xe7\xb4\xa3\x1d\xbd\x60\x3f\x48\xfe\x78\x64\x7f\x85\xff\x7f\x93\x9c\x3c\xbf\x20\xd6\xdb\x91\x3c\x37\x81\xb6\x5e\x4b\xbe\xad\x25\xd8\x2e\x83\xa8\x6a\xc6\xe5\x8d\xa4\xfa\xd1\x89\xdd\x85\x20\x94\xbd\x96\x90\x93\x13\xc2\x5e\x4b\x6e\xee\x8e\xbf\x4b\xfe\xbd\xf1\xfc\x7a\x2d\x87\xe2\x14\x32\x1c\xce\x89\xe6\xad\xf4\x64\xd8\xa1\xb5\xd1\xe9\xf4\x75\x36\xae\x50\x63\xeb\xbf\x09\x07\x17\xc3\x8f\x8c\xd8\xdb\x11\x8f\x2d\xa9\xe5\x3f\xed\x29\x06\x99\x23\xd0\xa1\xc3\x7d\xd4\x8b\x21\x77\x60\x8f\x9a\x2e\x12\x86\xae\x47\x02\xdc\xca\x92\x94\x3a\x2b\x78\xa9\xd7\xc1\xe8\x19\x9c\xf3\x4a\xdf\x4b\xea\x47\x39\xb6\x68\x06\x80\x13\xcd\xc4\xfc\x55\x7a\xbe\xb6\xe1\x06\x9f\x97\x8e\xfa\x24\x9b\x14\x2d\x3b\x81\x27\x10\x80\xfb\x94\x0c\xb4\x04\xe6\x95\x6b\xbe\x31\x96\xd0\x4f\x59\x09\x5f\x77\x5d\xd1\x75\x2a\xb9\x4e\xe3\x22\x9e\x85\x25\xbf\xb6\x0a\xbf\x28\xcc\x20\x4a\xbb\x66\x67\x5a\xd7\xb4\x6b\xca\xd6\xfa\xdf\xec\x92\x1e\x29\x2b\xdd\xb1\xb5\x9f\x39\x59\xa6\xb4\xeb\x66\x0a\x3c\x12\x82\x60\x0d\xd3\xa9\x6f\xf7\x4f\x63\xef\x30\x5e\x2d\xc4\xb5\x78\x78\xaf\xf6\xfb\xb2\x5a\xb7\x8b\x62\x2b\xf6\xc6\x53\xa7\xeb\x0c\x46\xaa\xf1\x23\xec\xad\x38\x92\x3c\x0d\x82\x30\x54\x49\x9e\xc6\x22\xc2\x58\x3c\x8f\x47\x4a\x75\xaf\x67\x10\x82\xbf\x27\x18\xbe\xd7\x90\xe6\x0f\xfc\x68\xfe\xef\xa6\x1d\x72\xb9\xb0\xaa\xda\x16\x00\xd6\x5c\xe3\x0c\x67\x4c\x9e\xeb\xf9\x51\xea\xa6\x96\x0b\xec\x1a\xef\x44\x50\x19\x9c\xbe\xdb\xf2\xd6\x44\x6c\x04\x5b\x8f\x7f\xa8\x76\x57\x57\xad\xfa\x5e\x89\x5c\x35\x21\x31\x01\xa8\xce\x75\x16\x42\x8d\xc5\x09\x40\x58\x62\xe4\xfd\xb2\x08\x37\x10\x67\x5b\xff\x77\x38\x7f\x8f\xa5\x1b\x8d\x35\x5d\x65\x8d\x12\x37\xc7\xb2\x08\x75\x5d\xca\xea\x4c\xd2\x02\xaa\x05\x66\xd5\x8f\xae\x30\x89\xc7\x5b\x25\xc4\x12\x84\xb6\xdd\xa9\x66\xaf\x9a\x36\x59\x03\xac\x90\x7e\x90\x82\x5b\x9c\x29\x31\xef\xba\x30\xd7\xd2\x12\x78\x65\xe6\x76\xa0\x8b\x38\x2c\x66\xd8\xf0\x20\xe8\x2b\x52\x50\x26\x93\xa2\x47\x06\x72\xdd\xfb\xf7\xf1\x24\xf7\x62\xc0\x3d\x1e\xd9\x8d\xdf\xb5\x66\x75\x61\x38\xb5\xe4\x32\xed\xbb\xc2\xaf\x30\xbd\x4e\xd6\x63\x7d\xcc\xb0\x41\xe9\xaa\xe0\x37\x76\x50\x6c\xd4\x60\x0a\x8c\x40\x63\x46\xe0\xbb\x52\x6d\xf3\x16\xe3\xe2\xca\x64\x22\x3d\xe5\x19\x85\xb8\xe2\xb9\xe6\x1b\x74\x15\xbf\x03\x97\x06\x50\x6c\xfa\x09\x9a\x4b\x72\x4d\x80\x48\xdc\x05\xf3\x3e\x0f\xc1\xc0\x61\xae\x14\x7a\x60\x5c\x9c\x6f\xf2\x1c\xc2\x58\xa3\x79\x4a\x81\x61\x7f\xf9\x75\x52\xc2\x60\x14\x69\xd7\x5d\x27\xe4\x39\x5c\xb2\xd9\xba\x0f\x04\x7c\x0d\x73\x82\x2b\x9f\x7d\xde\x24\x97\xa9\x81\x64\xeb\x8b\xd8\xe8\xf1\x74\xa5\xc0\x1d\xa5\x8f\x6b\x70\x29\x89\x75\x36\x95\x46\xfa\xdf\x4c\x27\x00\x4e\x9b\xce\xc3\x6e\xdc\x88\xea\x52\xa9\x37\xbd\xd6\x90\x93\x22\x90\x81\x48\xc8\x7e\xd3\xd4\xf7\x2d\x49\x69\xc6\xd7\x61\x66\xac\xf8\xf5\x96\x81\xf7\x66\xa3\xd8\xba\xf0\x16\xed\x5e\x33\xa6\x83\xfd\x98\xc1\x4f\xb4\x8e\xb7\x11\xf9\xb1\x3e\xc3\x21\xd4\x9b\xe1\x59\xd1\xd4\xb7\x7a\x52\xce\xc9\xd9\xbe\xd6\xbd\x70\x3c\x1e\x87\xe5\xb4\x07\x29\x55\xdb\x12\xa6\xbb\x3e\xca\xfc\x38\xff\x02\x58\x8f\x68\xc9\xb6\xa2\xdd\xbf\xad\x73\x38\xa0\x89\x1e\x8f\x4c\xed\xc5\x5a\xff\xfa\xc4\x26\x7a\x3c\x34\xdb\xe8\xb5\x84\x60\x3e\x11\xf9\xcb\xb7\x1f\x08\x2b\xdb\x37\xb5\x14\xdb\xe8\x5b\xa3\xc3\xfd\x5d\xea\xbe\x60\x18\x48\x2e\x9a\x2d\xd9\xae\xa9\xf5\xc7\x21\x96\xb4\x26\x29\x9a\x8f\xd1\x17\x86\x62\x7c\x80\xa2\xc4\x6e\xb7\x2d\x71\xeb\xbc\x78\x38\xbf\xbf\xbf\x3f\x2f\xea\xe6\xf6\xfc\xd0\x6c\x41\x2f\xa8\xf2\x95\x16\xa1\x9a\x56\xed\xf9\xcf\x1f\xbe\x3b\xff\x4f\xc2\x30\x3c\x74\x1b\x01\xb6\xc5\xdf\x24\x83\xf0\xc9\xc8\x5c\xed\xb6\xa2\xac\x08\x86\x0f\xc5\x14\x7d\x49\xd8\x83\xbe\x1f\x7c\xe9\x76\xcb\xce\x1c\x3f\xc6\xae\x5b\x00\x56\xf6\x32\xe8\x14\x93\xe3\x5a\xdc\x09\x13\xe9\xef\x68\xeb\xde\x46\x8f\xba\x4c\xfd\xf6\x05\x7e\x0e\xbe\x74\x81\x25\xc1\xdb\x17\x47\x36\x5c\x2e\xf8\x0a\xb1\x89\x1f\xdf\xbe\x21\xa6\xee\x36\xe9\x83\x7a\xd8\xdb\xca\xd8\x34\xcd\xbd\xe2\x77\xcd\xc2\xd5\xed\x86\x8a\x91\x08\x59\x4b\x64\x2c\xcf\xa0\xa5\xba\x7b\xf1\x56\x97\xa2\x05\x7c\xc7\xee\x9b\x74\xdd\xde\xa8\x67\x83\x8f\xcc\xdb\x46\x70\x94\xed\x08\x3d\xec\xa3\xd9\xf2\xe8\xe6\xc1\xe1\x89\xf3\x9f\x2c\xfe\x49\x86\xb0\x59\x0d\xf7\x27\xca\x32\x1a\xfd\x24\xc3\x61\x2a\xd3\x72\xa1\x4e\x78\xe7\xfc\xe4\xde\xca\xf0\x07\xbd\xd9\x5c\x8b\x87\x0f\x8d\xa8\xda\x5d\xdd\xec\x75\xe2\x5f\x4d\xe2\xe8\xb3\xa7\x9e\x70\x48\x6c\x7c\xef\x1d\x9e\xc1\x8e\x38\x70\xac\xb6\xe8\x11\xfd\x36\x7a\xd8\x19\x9f\xd9\x2d\xbf\x59\x98\x26\x77\xdd\x0d\xbb\xed\x6f\x01\x84\xa0\x0f\x28\xbc\x5d\x5c\x7f\x3a\xa8\xe6\x33\x8d\xab\x70\x0b\xa2\xc6\x9d\xaa\xf6\xac\x1e\xb8\x2b\xb3\x1d\xaf\x16\x5f\x8b\xed\x36\x13\xf2\xa6\x0d\x49\x5d\x49\x75\x76\xab\x6e\xeb\xe6\x33\xa1\xec\x93\x26\x7a\x7b\xb1\x3f\xb4\x5f\xd7\xb9\x82\x58\xac\x8d\x26\xf1\xad\xfe\xb7\xe7\x4b\x76\xe0\x44\x8a\x4a\xaa\xad\xca\x09\xbb\xe3\x8f\x8d\x12\xf9\xe7\xf7\xb0\x9c\x97\xec\x64\x77\x9c\x80\x29\x2a\x8b\xf0\x05\xe7\x7c\x8f\x5b\xd9\x35\x7d\xd4\x5b\x88\xd3\x54\x7d\x63\xd8\xcb\x82\xd2\xeb\x24\x3b\x0d\x2b\xcb\xb3\xe4\x45\x7a\xcc\xf8\x75\x22\x46\x4f\x8e\x03\x9b\xae\x0c\x2d\x0f\xb3\xa3\xae\xd3\xeb\xed\x76\x58\xad\x76\x02\xf1\x0c\x2a\x15\x17\xe6\x80\xb9\xd5\x2d\xf9\x74\x50\xed\xfe\xa4\x21\xfe\xd1\xf2\xa0\x0a\x0e\xf8\xaa\xeb\x42\xc1\xdb\x44\xa6\x1c\x03\xda\x0a\xd6\x24\x02\xf6\x22\xd4\x56\xd6\x77\xaa\x69\xca\x5c\xbd\x35\x8c\xc5\xa4\x89\x56\xd7\x85\x37\x8e\xf5\xe0\xc2\xbe\xdb\x0f\xce\x74\xdf\x82\x5b\xfe\x8b\x57\x7b\xea\x50\x05\x04\xfd\x94\x64\x29\x4f\xf4\x7f\x26\x92\x2c\x45\xae\xe2\xec\xce\x3a\xb2\x8a\xe4\xce\x8c\x79\x3a\x0a\x10\x2d\x32\x3d\xd9\x27\x0e\x90\xba\xee\x60\x73\xea\xdd\x6f\x01\x19\xc3\x8c\xb2\x87\x70\xc9\x6c\x3b\x8f\xba\x3e\xb5\xf3\x0b\xbf\xa3\xbd\x87\xe3\x6e\x21\xf2\x9c\xdd\x2d\xcc\x06\xc0\xef\xd0\xf9\xf6\x0e\x25\x3a\x7e\x07\x9e\xb6\x7a\x1f\x6b\xb6\x3c\x0c\x45\xd7\xc1\x65\xd7\xbd\x96\x74\xee\x87\xf6\xfc\x33\x58\x0c\xb9\xdb\xbf\x48\x06\x64\x7e\x4e\x2e\x2e\x08\x65\x37\x60\x8c\xca\xb3\xc5\xad\xda\x6f\xea\x5c\xf3\x6f\x78\xce\x73\xe3\x52\x30\x0b\xbb\xe9\xf9\x17\xab\x2a\xe8\x93\x40\x4c\xa0\x4f\x4b\x22\x84\xa4\xc6\x02\xec\x66\xa1\x05\xe4\xf6\x9b\xfa\x56\x94\x15\x48\x35\x56\x5c\x82\xfa\x8f\x24\x26\x36\xc8\xce\x67\xe1\x4c\x76\x9d\x44\x3e\x00\x9a\x11\x04\x32\x79\x61\xee\x5e\x20\x93\x03\x18\x47\x64\xb3\xdf\xef\x22\x50\xc6\x26\x97\x69\x4c\xfe\x73\x49\x22\xf2\xf2\xe5\x57\x84\x52\xce\xb9\xde\xe9\x46\xd9\x7e\x3f\xc9\x07\x5f\xd7\x0d\x0c\x82\x9b\x85\xb7\x13\xf6\x6a\x70\x27\x5c\xd8\x7c\xa6\x47\x38\x50\x67\x61\x3b\x48\x77\x72\x23\x72\x00\xff\x17\x5b\x4a\xd9\x8f\x9a\x5e\xb2\x1b\x96\xb1\x3b\xca\x70\xa5\x5b\x38\xc3\xd5\x86\xdf\x98\x48\xae\x6c\x83\xa1\x62\xaa\x05\x6e\xf4\xf3\x39\x30\xf8\x9a\x5e\x39\x95\x1f\x01\x42\xb8\x17\xcd\xbe\x1f\x4b\xfc\x19\xc2\xf7\xb3\x1b\xd0\x6b\xe3\xd6\xc7\x67\xdf\x99\x0d\x1f\xb3\x52\xa6\x5f\x3a\x34\xdb\x41\x2e\x58\x5c\xa6\x59\xe6\xf9\x9c\x87\x0f\xce\x45\x31\x26\x01\x89\x48\x4c\xe8\xdc\xb4\xd2\x9c\xe3\xe3\x1d\x8c\x9c\x90\x1b\x74\x13\x85\x9e\xd1\x13\xf5\xeb\xfe\xf5\x5e\x9f\xf4\xb5\x64\xe4\xd9\xe5\x6f\x9c\xcc\xef\xe5\x7c\x4e\x23\x35\x9f\xfc\x0c\x71\x39\x74\xe1\x65\x61\x39\x1e\x08\x7d\xed\xb3\x40\xe0\x56\x79\xb7\x18\xd3\xa7\x90\xfc\x50\x9c\xdb\x3c\xe7\xef\xcb\x4a\x2a\xc2\x4e\xde\x04\x0d\xf4\x5e\xac\xbf\x54\xc8\x8f\x75\xa5\xce\xdf\xea\xd9\x4d\xfa\xdc\x94\xb2\xb0\x9f\x2f\x7d\x3f\xea\x3b\x8f\x5f\x02\x87\x49\xbd\xcc\xbc\x34\x3a\xfd\xa5\x81\xd4\xc4\x06\xa5\x50\x36\xf5\xc2\x6b\xe0\xab\x88\xbf\x54\x41\x7c\xb9\x59\x18\x8e\x2b\x19\x3e\x49\xe3\x27\x9f\xcc\x0d\xe3\x3e\x4c\x8e\x09\x3b\x23\xf3\xbf\xc9\x39\x59\x9d\x7d\xe2\xcb\xc5\x12\x10\x6d\x69\xd4\x17\x03\xbe\xf9\xbd\x20\x7b\xb3\xd8\xe0\x6e\x42\x27\xea\x9b\x33\xf7\x18\xe4\x58\x2d\x0d\x2d\x30\x58\xf0\x7b\x55\xe5\x30\x69\xfa\x5b\x3c\x0c\xda\xb2\x3b\x76\x43\x39\x76\x22\x2e\x1d\xb7\x76\x0c\x89\xa5\xab\x03\x27\x70\x49\x5c\x45\x1e\x0d\x15\x8d\x2e\x0d\x2f\x7e\xc9\x9c\xb3\xfd\xe5\x91\xde\x25\x79\x1a\xde\xd8\x4a\x94\xfc\x47\xcd\xbb\x98\x05\x4a\x1f\xef\x16\xfd\x0e\xce\x2f\xf5\xb2\xbc\x1d\x2d\x40\x08\x7a\x9c\xdc\xb1\x9b\x54\x4f\x4d\x60\x93\x75\xaf\xef\xd1\x0f\xec\xd5\x12\x24\x96\x69\xfc\x30\x5b\x6b\x62\x32\x13\x7a\x64\xee\x4d\x8a\xca\xa9\x3d\xbf\x64\xe5\xa2\xd5\x4c\x7f\xc3\x1e\xac\xc8\x71\x8f\xec\x01\xec\x64\x14\xa4\x94\xb3\xfb\xd5\x43\x78\x7e\xc9\xee\xe9\x11\x2d\xd6\xe1\x4e\x8b\x1c\x8e\x2d\x23\x1e\x4c\xe8\xc3\x50\x62\xbd\x66\x0d\x6b\xd9\x81\xdd\xb3\x07\x9e\xad\x5e\xcc\x38\xd7\xcc\xd3\x9e\xbf\x60\xeb\x20\x18\xf8\xb5\xad\xb5\xf4\x67\xac\x77\x0a\x00\xc9\x21\x6c\xd0\x49\xe2\xd5\x32\x7e\x19\x2d\xd9\x35\x17\xaf\xf8\x8b\xe5\x32\x08\xbe\x5a\x2e\x5f\x89\xae\xfb\x6a\xf9\x92\x73\x2e\xc0\x3a\xf4\xc0\xdf\xc9\xf0\x86\xdd\x01\xe0\xf6\x81\xff\x5d\xdf\x1c\xd8\x1d\xbb\xa6\xec\x3a\x0e\x47\x2b\xfc\x9e\xdf\x4d\x29\x16\xde\x88\x76\xef\xd6\x34\xa1\xec\x7e\x8a\x18\xf0\x7b\xca\x9e\x78\x5f\xaf\x5d\xf7\x9a\x59\xc8\xfc\x9e\x52\xf6\x02\x2b\xda\x75\xe4\xfb\x6f\x5f\x7f\xa3\x37\x08\xa4\x95\xf1\x03\x27\x55\x6d\x03\x03\x44\xa6\x3d\x98\xba\xbf\xb5\x15\x89\xc2\x07\x7e\x00\x86\x41\xb1\x86\x1f\x90\x3e\xb6\xfc\x80\x7b\x37\xbb\xe6\xb3\x96\xd2\x28\x6c\xf9\x03\xd3\x3b\xf7\xec\x81\x06\x41\xf8\xc0\x89\x11\x17\x97\xaf\x20\x92\x3d\x5f\xea\x3d\xc8\x32\x1e\x5c\xb8\x4b\xb0\x15\x0b\xb3\xae\x7b\xd0\x5b\x3d\xbb\x8e\xeb\x01\x9c\xc9\x96\x25\x0d\x7b\x60\x77\x29\x8d\x6a\x1f\xd0\x64\xab\xa7\xe8\x03\x6b\xd3\xbe\x50\xcd\x24\x85\x9f\x34\x4f\x6b\x86\x73\x30\xb9\xaf\x63\x9c\xde\x46\x04\x8d\xe0\xee\x5b\xac\xa3\x9e\xed\xec\x3a\x6e\x22\x5d\xdc\x0e\x40\xcb\xbc\x8f\xa4\x54\x97\x14\x8e\xd6\xc9\xd7\x66\xc9\xb9\xb5\x72\x7e\x6e\x37\x37\x50\x55\x4f\x6d\x6d\x35\xb8\x96\x38\xb8\x5f\x60\x56\xe1\x3c\xe0\x49\x23\xd3\xb5\x35\x19\x65\x04\x44\x28\x0a\xef\xbc\x07\xf9\xef\x29\x97\x0a\x7c\xc7\xf4\x41\xd6\xc7\x85\x1f\x18\xec\xac\xd5\x9e\x30\xb2\xab\xdb\x09\x33\xc4\xf1\x41\xde\xd0\xcf\x7a\xa8\x82\x85\x0d\x55\x75\x5d\xce\x72\x2e\x99\x74\x42\x0f\x8a\x35\x21\x88\x70\x02\xe5\xf4\x8c\x59\xf2\x1b\x29\xd4\x00\x48\x66\x49\x59\x3e\xf2\x0f\xef\x59\x01\xd6\xf7\x1d\x1b\x75\xbc\x3f\x84\x83\xc1\x65\x3d\x25\x3b\x35\xc3\x1a\x1f\x54\x4e\x1d\xce\x99\xca\xd8\xb8\xf4\x93\xbe\x24\xa7\x0d\x44\x45\x84\x6b\xa4\xed\x78\xab\x6a\xb8\x74\xca\x88\x4b\x66\x35\x31\x5a\xa6\xa5\x23\xac\x8e\xfb\x46\xec\x5e\x6f\x87\x1e\x85\xff\x5b\xfb\x12\x53\xd6\xd0\xb6\xc4\x1a\x93\x18\xd7\x44\x67\x44\x67\xb0\x78\x21\x9a\x9f\x6f\x42\x4c\x17\xea\x53\xb8\xa4\x7d\x84\xf9\x95\xcd\x36\xb4\x17\xf3\x23\xe5\xbb\xc2\x59\x06\x0e\x84\x63\xbf\x61\x38\x7c\x37\x62\xa0\xf0\x82\x25\x5b\x47\x05\x2f\x7c\xb2\xf3\x59\x10\x83\xf4\x3e\x7a\x8f\x8d\xb9\x66\x00\x8c\x07\x22\x8d\xee\x80\x1f\xaa\x4a\xfd\x81\x5f\xcc\x93\xe6\x1c\xa3\xbe\x84\xa2\x4e\x7a\xf3\x24\x5c\xa0\x33\xd1\x80\x28\x54\x46\x49\x13\xd2\x95\x85\x14\x8b\x65\x3f\x32\x34\xb2\x01\xfc\x42\x44\xa8\xd0\x4f\x26\x6d\x1c\x07\x55\x5c\x3d\x3d\xfe\xf2\x74\xfc\xb3\xa1\x77\x28\x8d\xf0\x53\x87\x6a\xf8\xb1\x61\xcf\xe0\xe8\x86\x74\xc2\x75\xc8\x19\xbf\xa3\xad\x06\x86\xd5\xeb\xba\xde\xac\x09\xb8\x61\x20\xa2\x68\xef\xa1\x47\x4c\xcf\x93\x96\x1e\x0d\x8c\x8c\xb5\x87\xdd\x35\x06\x78\xa6\xb5\x20\x7c\x93\x66\x91\x5e\xc4\x87\x3f\xf1\x65\x10\x0c\x83\xfa\xfc\x89\x2f\xbb\x6e\xd6\xc3\xe8\x0f\xc2\x96\x42\x00\x06\x0b\xec\x68\x23\x6b\xb8\x30\x2d\x7d\xcc\xa8\x89\xf8\x11\xc7\x71\x15\x21\xc8\xd9\x56\x4d\xd4\x71\x36\xd9\x18\x3d\xa6\xa0\xf9\xf9\x87\xe4\x17\xff\xc7\x8b\xe5\xc5\x9a\xbd\x97\xfc\xe2\x2a\xb9\x4a\x9f\x5d\xb0\x0f\xe0\x4e\x1c\x5f\x55\x17\x6b\xf6\xb3\x39\x37\x44\xa3\x0c\x6b\x14\x5d\xde\x8a\x35\x1c\x31\xaa\x3d\x9c\x36\x82\x79\xf4\x2f\x5f\x34\xa7\xbe\x51\x9f\xd7\xaa\xa2\x17\x65\xcf\x1d\xfd\x73\xac\xd0\x3f\x81\xb1\x37\x94\x77\x00\x15\xa0\xe8\xa3\xec\xba\xf7\xd6\x28\x96\xc6\x79\x28\x98\xa2\x91\x2e\x6d\x4e\x12\x32\x0f\x4f\xb4\x5f\x2a\xce\x34\x13\x3d\x27\x29\x61\x0a\x4d\x1c\xa8\x53\x9f\xcb\xae\xb3\x2f\xcc\x20\x3e\xc3\xe7\x1d\x98\xfe\xe7\x40\x9a\x47\x90\x32\x19\x75\x9f\x51\x50\x5c\x96\xa8\x14\x4b\x34\x12\x29\x9f\x74\x81\xe2\x49\xca\xd4\xe8\xd1\x68\xf1\x64\x34\xce\x42\xeb\x86\x9b\xc5\x84\xe8\xad\x29\xb1\xae\xaa\x29\x47\x55\xef\xcf\xff\xf8\x41\x6f\x35\x75\xa5\xd7\x80\xa0\x73\xc2\xc9\x7c\xe2\x49\x46\x41\xef\xe1\x4e\x91\x32\x63\x45\xed\xab\x19\xb5\xac\x3b\x38\x2c\xf3\x45\x68\x0f\x35\x51\xd0\xae\x13\x46\xa9\x67\x00\xb0\xde\x6d\x45\x59\x39\xac\x24\x3b\x4c\xc2\xb7\x7a\xc5\x45\x08\xee\x18\xac\xf7\x87\x76\x1d\xef\x21\x38\xfe\x53\x86\x92\x01\x52\xa3\x1e\xdc\x1e\x4c\xeb\xba\x2e\xab\x90\x04\x9e\x66\xe5\x1f\x92\x91\x39\x19\xef\x4c\xad\x6a\x4a\xb0\x79\x9e\x8a\xaa\x6a\xd4\x04\x88\xbb\x6e\x33\x62\xbb\xf4\x3a\x1a\x26\x3d\x45\x72\x26\xb7\x0a\xe3\x20\x88\xa4\x46\x19\x73\x81\xde\xae\x43\xc4\xbe\x53\xad\xb1\xd2\x3b\x52\x0b\x67\x35\xb9\xf3\xc0\xdc\x1b\x90\xd0\x0a\x0c\xdb\x66\x96\x82\x95\x6d\x48\xa2\xde\x9b\x38\x08\x7e\x31\xcb\x60\xe0\xbd\x4e\x83\x60\xf6\xb3\x5b\x1f\xce\x50\xce\xf8\x83\x76\xb3\x8f\xf6\x11\x85\xa0\xa6\x5e\xdb\x7c\x80\x1b\xdf\x53\x7f\x08\xeb\x2e\x51\xad\xd9\xcf\x10\x49\x63\x74\xc8\x97\x13\x0e\xf9\x8f\xba\x0d\x51\x86\x33\x01\x3d\x5b\x84\x1b\xd1\x0f\x92\x91\xab\xe6\xaa\x02\x3e\x30\x9a\xc8\x2a\xa7\xb3\x02\x3b\x69\x88\xf5\x60\x0e\x3f\x6c\x1a\xee\x4e\x76\xc5\x62\x60\x3b\x12\x9f\x0c\xef\x0c\x7a\xc6\x1c\xd2\x04\xc1\xc5\x7f\x85\x6b\xb5\xef\x34\xff\xd9\x69\xb1\xb9\xd3\x84\x0c\x95\x2e\x9d\x71\x96\xd6\x94\xce\xeb\xf2\x3d\xea\x16\x9e\xc9\x90\x76\xdd\x6f\x32\xa4\xc7\xe8\x19\x46\x9c\xfe\x28\xf9\x92\xfd\x0a\x16\x11\xff\x92\xe3\x63\xe9\x87\x4d\x13\xd2\xd5\xa8\x7a\x41\x00\x7e\xc5\x75\x15\x12\xb4\xb5\x23\xfe\x7a\xb2\xb6\x84\x42\x2f\x9a\x5f\x25\xfd\x55\x26\x22\x35\x0b\x1c\x82\x68\x00\x7c\x46\xdd\xb4\x7c\x36\xfb\x97\x0c\x02\x72\x5f\xee\x37\x5f\x37\x2a\x57\xd5\xbe\x14\xdb\x96\x94\xd5\xd9\xbf\xa4\xae\xcb\x16\xea\x02\xd9\xd8\xbf\xa4\xa5\x02\x4e\x7e\x0d\x47\x1c\xde\x4c\xf8\x0a\xc2\xae\xc3\xaf\x0c\xf1\xfe\x1f\xb5\xe4\xec\x85\x5b\xf1\x8e\x68\xb9\xc0\xd6\xb2\x35\x9f\xcf\x3f\x4a\xf0\xfb\x5c\xd4\x3b\xbd\x07\xa1\xd6\x53\x80\x5e\x4c\xa0\x4c\xaf\xef\x5a\xd5\xc0\x04\x10\x8b\x9d\x68\xdb\xfb\xba\xc9\x29\x83\x42\xf0\x88\xa8\x3f\xc1\x1c\x24\x6a\xb1\xd2\x4b\x48\x54\xba\xea\x0f\xcd\x83\xa0\x58\x8c\xf5\xdd\x53\x69\x61\xff\x8a\xfe\xe6\xa0\xdd\x32\x21\x1f\xcf\x8d\x7a\x45\xe5\xe7\x9a\x8b\x20\x10\x0c\x6c\x2a\x9d\x93\x8f\x6f\xdf\x7c\xbf\xdf\xef\xcc\x03\x03\x9f\xa8\xf0\xfc\xbc\xf7\x55\x01\x1d\x58\x71\xaa\xb8\x51\x4c\x3f\x02\x3b\xb1\x02\xd5\x12\x62\xa0\xf0\xc2\x73\x62\x44\x25\x03\x90\xad\xbe\xeb\x4d\x84\x37\x38\xc9\x81\x30\x6e\x5a\x18\xea\x3a\x2d\x45\x17\x9e\x06\x01\x8e\x93\x8d\x42\xf1\x57\x99\xac\x53\x96\x39\x85\xc3\xa2\xae\x20\x23\x88\xd7\x68\x9c\x09\xa6\x7a\xf5\x8e\x29\xfa\x72\x36\x2c\x48\xd7\xdf\xaa\x85\xc0\x50\x00\x4e\xe3\x37\xbc\x30\x02\xf0\x29\xf8\x44\xb1\xf0\x0f\xf3\x82\x20\xbc\x06\x38\x08\x3e\x4c\x47\xc5\x4c\xe9\xca\xd1\x69\x46\x2f\x73\x43\x1f\x4b\x4e\xc8\x71\xd3\x75\x33\x61\x97\x2f\xd8\x22\xf4\x03\x16\x5f\xbe\x78\xf1\x15\x07\xfc\xfa\x70\xc3\x5f\x2c\x5f\xd2\x68\xc3\xf1\x43\xf1\x8b\xe5\x32\x7a\xb9\x7c\x79\xbc\x0e\x82\x3c\xc4\x23\xaf\x62\x31\x79\x44\x03\x9b\x84\x99\x9b\xf1\xb8\x0b\x63\x1f\xac\x88\x46\x93\xdd\x06\x5d\xcb\xb3\x28\x0b\xe9\xc9\x49\x06\x7d\xcc\x82\x20\xf3\xd7\xf0\x71\x18\x64\x46\x1a\x77\x2e\x2f\xbe\x8c\x58\x0c\x27\x96\xef\xcc\xe5\x5e\xfc\x6d\xf2\xc5\x2f\xd9\xd1\x7d\xff\xe1\xc3\x3b\x42\xfd\xc2\x06\x27\x80\xee\x38\x19\x85\x47\x73\x6e\xdc\x1f\xfa\xb2\xb3\xc1\xb9\xf0\x13\xe9\x4a\xde\x4e\xa6\x3f\x9c\xf7\x4f\x06\xc7\xc7\xe6\x6b\x17\x61\x1c\xe9\x32\x3b\x9d\x8d\x62\xe2\xc5\xe8\xb8\x17\xce\x6d\x4d\x11\x53\x42\x55\x65\x54\xfe\xdf\x02\x08\x16\x65\xe2\xd8\x6f\x1e\xee\x98\x35\x74\xc2\xf1\x40\xd0\xb1\x4c\x94\x40\x7d\x3b\xb8\x5d\xa3\xe6\x7d\x76\x39\x22\x13\xf0\x0c\x5d\x76\x40\xec\x16\xe6\xb3\x1c\x8d\x9c\xc6\xa4\x76\xf2\x7b\x60\x5d\xe2\x95\xd9\x43\xfb\xfd\x0e\xca\x5c\x2d\xd0\x10\x7d\x01\x68\x4e\x5d\xf7\xfb\xd8\x86\x71\x9a\x28\x83\xba\x64\x02\xe0\xc8\x2a\x62\x58\x66\xac\x28\x21\x1e\x36\xa6\x7e\x8d\x56\x05\xe0\x95\x65\x2d\x0c\x46\xcf\x00\x19\xa9\x91\x1c\xc9\x78\xb6\xa8\x61\xeb\xe2\xd9\xd4\x62\x18\xda\x61\x6b\xce\x7b\x96\x79\xeb\xa9\xeb\x2e\xf4\xbb\x2a\xef\xac\xe6\xd8\xe0\x4b\x65\x03\xba\x05\xb5\xf9\xd2\x67\xd0\xf4\xf9\x69\xb7\xb1\x51\xac\xed\x0c\x5f\x90\x5d\xa7\xc2\x17\xcb\x25\x73\x06\x21\x7a\xed\xcb\xa1\xfe\x20\x63\xd2\x13\xf6\x9f\x5a\xd2\xa6\x76\x27\x2b\x1b\xf6\x6f\x90\x05\xb2\x9c\x5f\x84\x9c\x5e\xc5\x61\xcc\x83\xee\x19\xed\xae\xe2\xab\xf8\x62\x35\x58\x74\xd7\x6d\x5d\xed\x22\x22\xcd\x29\x39\x1a\x3d\xec\xec\xa1\xf9\x69\xd8\x25\x91\x23\xba\x1c\x28\xfa\x00\x8f\xbc\x9e\x93\xdf\xf0\x40\xc7\x67\x2a\x13\x01\x26\x7f\x62\x72\x01\xe8\x6f\x80\x5d\xc4\x8e\x0c\xf0\xd9\xc6\x21\x24\xb3\x05\x64\xb2\xe0\x94\x59\x6e\x47\xea\xd0\x6c\x69\x4c\x0e\xcd\x16\xa2\x97\x0e\x09\x7f\x66\x0e\x6f\x66\xe1\xe0\x70\x06\x9d\x86\x9c\xb7\xce\x1f\x5a\xbb\x68\xc6\xb7\xff\x20\x9c\x85\x05\x01\xd1\xbf\x3d\xfb\xbd\xe9\x3a\x82\xcd\x00\xf4\xac\xc1\x11\x4b\xa8\x6c\xf5\x6d\x67\x8e\x24\xb1\xe1\x43\x1a\x8f\x12\x42\x1a\x8d\x52\xd8\x26\xce\x92\x4d\xca\xf5\x3f\xc7\xb0\x66\x39\x23\xcf\x2e\xc9\x5c\xb9\xec\xae\xb7\x46\x47\x7d\xb6\xd7\xec\x39\x9c\xc9\x8e\xc2\x9d\x5e\x60\x9e\x49\x9a\x59\xaf\x68\xbb\x92\xf2\x53\x89\x65\xdd\xdb\x24\xab\x39\x39\xbb\x17\xed\x59\x55\xef\xcf\xf4\x34\x02\x05\xfe\x3a\x59\xa6\x47\x36\xec\x12\x8e\x7a\x5c\x00\xc5\x57\x29\xd3\xff\xfc\x92\xd7\xbd\xa9\xff\x91\xe5\x13\x50\xf3\xf8\x02\x08\xc3\xd0\xbc\x61\xe7\xca\x51\x67\xe9\x89\x7a\x68\x37\xa1\xa2\x94\xad\x11\x53\xc5\xf5\x7d\x41\x83\xa0\x08\xd7\xa0\xa3\x5b\xf3\xa2\x8f\xfc\xe2\xe8\x94\x1f\x31\x10\x2c\x74\x00\xa5\x6f\xac\xab\x06\xc6\x75\xc2\x4a\x5d\x0c\xac\xd4\x27\x5d\xb0\x8c\x19\xb0\xa6\xed\x60\x24\xf3\x3b\x1a\x03\xf3\x3b\x3c\x44\x87\x80\x7a\x33\x19\x04\x49\xda\x47\xdf\x4e\xb2\x11\x59\xcd\x93\xcb\x94\xa6\x11\xc4\x26\xc8\x0e\xe5\x36\xff\xae\x11\x6b\x78\x92\x08\x14\x74\x11\x3a\x15\xa5\x7b\xcd\xfa\x2b\xeb\x77\x07\x01\xff\x6f\x55\xb3\x56\x61\x92\xb2\xdc\xd7\x52\x19\xad\x8d\xcc\x01\x7f\x14\xac\xdc\x57\xee\x6a\xaa\x0f\xa6\xa0\x7c\x65\x6e\xfb\x40\xe6\xd3\x08\xa4\x2b\xdf\x89\x1b\x9e\x6d\xb8\xf0\xdd\xe9\xfa\x65\xf6\x8a\x83\x53\xa4\xde\x15\xc0\xe2\x72\xc3\x2c\x2c\x38\x65\xc2\xa5\x2e\x21\x62\xec\x58\xdd\x61\x3a\xda\x28\xe7\xa3\x6c\x02\xc1\x1b\xe3\xbe\x92\x77\x3f\xbd\xff\xa0\xa7\xae\x73\xd5\xb1\x52\xcb\x40\xd3\x5d\x78\x5a\x6e\xb4\x69\x33\x16\x7d\x74\x14\x0d\x43\xd0\x47\xd5\x4f\x69\xb6\x5e\xe8\xdc\x61\x1e\x57\x21\xf9\x53\x5e\xde\xbd\x22\x4e\x77\xeb\x4d\x31\x2d\x2f\x83\x43\x77\x98\xa3\xa2\xd2\x19\x92\x84\x32\x08\x86\x22\xf4\x1a\x15\x22\x92\xa9\xae\xf3\x4c\x42\x35\x0b\xcb\x32\x26\x52\xcd\x0b\xa0\x26\x78\xa4\x9e\x33\x78\xa8\xf9\xb4\x6e\x7f\xdd\xa8\x5d\xe8\x50\x4f\x7d\x6d\xb0\x83\x08\xd0\xc4\x0e\xe3\x3d\x98\xbe\xc2\x19\x93\xeb\x11\xb2\x6c\xc2\x09\xbf\xe0\x18\x47\x95\x0f\xbe\x57\xb6\xff\x2c\xab\xbc\xbe\x0f\x05\x8d\x45\xf4\x7f\x0d\xb0\x7a\xe2\x1e\x50\xa4\x54\xf7\x9a\xf9\xc6\x1d\x16\xdf\x88\x66\x97\xc7\xca\xe8\x42\x01\x32\x02\x95\x9e\x5f\x42\x0b\xf0\x6c\xcf\x6c\xbc\xf6\xba\x05\x75\x14\xa1\x6c\xcb\x01\x80\xf0\x96\x3f\x1e\x57\x44\xef\xf5\xa5\x84\x13\x43\xe0\xb7\x50\x61\x6a\x73\x73\xd2\xa8\xad\xd0\xac\x2e\xa1\x6c\xc3\xb7\xa6\x16\x21\x42\x7a\x9b\xa2\xe1\xd0\x8b\x95\x7d\xc2\x56\x15\x9a\x07\xba\xe6\x21\x11\x59\x5b\x6f\x0f\x7b\xd0\xcb\xde\x74\x1d\x29\xca\x07\x95\xc3\x0d\xa0\x37\x5b\x10\x30\x84\xb5\x60\x49\xc1\xca\x94\xbe\x3a\xbf\x64\xd7\x71\x98\xf3\xad\xab\x07\x88\xbc\xf9\x62\xaf\x85\x26\x9e\x2f\xf4\x07\x68\x14\xae\x87\x01\x8b\xbb\x6e\x39\x0c\x9b\x5e\xea\xa4\x93\xa5\x02\xda\xbb\xcc\x06\x22\x90\xb8\x9a\x10\x4d\x6f\x01\xd8\xcb\xe1\xad\xfe\xc5\xbb\xf3\x8d\xfe\x3f\x5f\xf7\x59\xf4\xb7\x21\x8f\xbe\x30\xf7\xe7\x1b\xf8\xd1\xfb\x0b\x39\xb4\x9a\x46\x94\xd5\x59\x16\x67\x0b\xb8\xb1\x9f\xba\xa5\x18\x99\x3c\xbc\x45\xc8\x10\x4f\xed\x56\x8f\x47\x94\x7e\x09\x4c\xb2\x67\xa2\xc1\x4b\x6c\x2a\x12\x27\x9c\x83\x61\xa9\x0b\x37\x63\x2c\xd6\x74\x66\x91\xcf\x10\x0e\xf0\x71\x5f\xef\xa2\x25\xd3\x2d\x88\x96\xc7\x1e\xd0\xd2\x44\x61\x1b\x9e\x14\x81\xce\xa1\x87\x5f\x2c\xc6\xf3\x9f\x55\xc0\x8d\x88\xb2\x6a\x41\xbf\x1c\x87\x56\x6f\xac\x85\xc2\x3f\xd7\x87\x2a\x2f\xab\xf5\xd7\xdb\x52\x55\xfb\x7f\x28\xb9\x9f\x71\xfe\x06\x88\xde\x13\xcf\x43\x4a\x99\xe4\x0a\xc2\xc1\x40\x45\x61\x16\xcc\x01\xd7\x6f\xad\x7e\xc5\x86\x01\xfa\xb0\x8d\xee\x47\xcf\x35\x47\x04\x05\x7c\xa8\x77\x30\x03\xa0\x69\x38\x6d\xec\x9b\x1f\xc7\x6f\xbe\xd1\x73\xaa\x7f\x55\xdf\xea\x77\x8f\x34\xca\x8f\xcc\xce\xc3\x91\x03\xef\xe0\x78\x0d\x56\xe1\xb8\x33\x73\x87\x0e\x6a\x1c\x3d\xdc\x02\xc0\xd5\x92\xfb\x2b\x33\xce\x10\x99\x6c\xaa\x17\xa2\xd0\xa8\x35\x71\x50\xdf\x99\x83\x1b\x96\xf9\xa9\xb0\xdb\xf5\xa8\x45\x7a\x0c\x91\x78\x43\x2c\x63\x17\x54\x1b\xfa\x14\xba\xd1\xae\x59\xc8\x89\x71\x81\x3f\xd4\x3b\x0c\x0c\x0c\x40\xd9\x12\x3b\x6d\x22\x9f\xee\xa0\x3e\xa3\x19\x1c\x5c\x33\x50\xf6\xb9\x6b\x20\xc6\x84\xfb\x50\xef\xb0\x48\xe8\x1a\xb3\x6e\xb0\xf8\x71\x56\x5d\x34\x31\x9c\x3e\xf3\xdb\xfb\x3f\xd2\x29\x9f\xf4\x56\xd7\xe5\xb9\x3d\x8f\x04\xdd\xbb\x8f\xef\x84\xdd\x04\xc6\x72\x96\x20\x4e\xd0\x4e\x38\xa0\xf4\xcb\x74\x1a\x6a\x5d\xf8\x71\x88\x28\xee\xa6\x55\x44\xbc\x19\x47\x98\x9b\xa9\x98\x6e\xe6\xf0\x49\x20\x66\x54\x1d\x5f\xfc\x6a\xe5\x36\xba\x3a\x01\x01\xcf\xbf\x10\xdb\x38\xb7\xca\xab\x82\xc3\x4e\xb4\x1a\x13\x0f\x15\x17\x31\x98\x93\x16\x71\x91\x64\x69\x54\x3c\xb9\xa7\x25\x79\x1a\x09\xfd\x0f\xc0\xaf\x8a\xb8\x70\x8b\x2d\x94\xb1\x66\x33\xbd\x25\x14\xd2\x48\x31\x19\xab\xc8\x4b\xff\xa0\x25\x29\x0a\x45\x70\xa5\xe5\x3c\x96\x9f\x60\xf6\x00\x7d\x1d\x23\xc8\xef\x88\xd9\x4c\xbe\x1c\x4e\x1e\xc2\x6b\xef\xca\x07\xb5\x7d\x67\x46\x8a\x4d\x7a\x29\x4b\xcd\x25\x61\x70\x7c\xca\x7e\xc8\x1c\x32\x1b\xa8\x8a\xfb\xad\x26\xc9\xd2\x39\xd9\x3d\x90\xa8\x07\x59\xa2\xde\xb8\xe2\x71\x64\xe4\x22\xde\xc3\x22\x88\x0c\xf2\xd3\x29\x6e\x3b\xbe\xe4\xc2\x6f\x03\x16\x36\x99\x0b\xab\x99\x89\x32\x46\x48\x44\xea\xc3\x1e\x92\xbd\xf7\x41\x4c\x84\x21\xcf\xfd\x21\xef\x87\x75\xdc\x85\x9a\xdb\xf6\x3c\xfb\x1d\x9b\x0a\xf1\x36\x24\xf8\x0d\x61\x40\x7f\x8c\x60\x12\xdb\x60\x8d\x91\x59\xd1\x3d\x27\x3a\x9e\x4d\x83\x73\xc5\x53\x8e\x26\xd3\x52\xdd\x93\x93\x87\x20\x41\x25\x73\x91\x02\xdb\x93\xf5\x6c\x0f\x08\x8f\xe3\x0d\xc4\x85\xca\xca\x16\x59\x9d\x7f\x06\x21\xad\xde\x6e\xf5\xfb\x4c\x0d\xee\x6c\x06\x5c\x90\x36\xc3\xf0\xae\xff\x38\xb5\xa3\x09\x7e\xbe\xb8\xb8\x75\xc3\xd6\x34\xb2\x41\xda\x10\x2f\x64\x4d\x8f\x2c\x63\x45\x9c\x47\x56\x87\xeb\x26\xa7\x75\x58\x6f\xcb\xdf\xd5\x84\xb8\xe8\x21\x11\x98\x0d\x5e\x54\xf9\x7b\xb5\x2d\x50\xc4\x10\x79\xfe\x67\x2d\xb3\x11\xfb\xa6\x17\xc7\x46\x15\x65\xa5\x82\x00\x7f\x17\xe2\x36\xb7\xd7\x21\xc1\xd3\x42\xc2\x92\x01\x12\x8e\x1d\x06\xb3\x95\x17\x9a\x29\xbd\xfe\xbb\xce\xc9\xd6\xfa\xfa\xd9\xca\xc3\xb1\xfb\xba\xae\x8a\x6d\x29\xf7\x7c\x8a\xcf\x5d\x3c\xd3\xc4\x0e\xb8\xbf\x67\x7c\x9d\x63\x30\x12\x53\x96\x7b\x62\x6e\x8b\x9c\xb2\xea\xc8\xac\x44\xc1\x71\xf7\x76\x8f\x75\x09\x95\xce\x41\x57\xff\xf6\xff\x04\x00\x00\xff\xff\xdf\x2a\x1a\x18\x7d\x78\x01\x00") + +func assetsJsJquery1110MinJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsJquery1110MinJs, + "assets/js/jquery-1.11.0.min.js", + ) +} + +func assetsJsJquery1110MinJs() (*asset, error) { + bytes, err := assetsJsJquery1110MinJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/jquery-1.11.0.min.js", size: 96381, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsJqueryUi1104MinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x6b\x77\xdb\x36\xb6\x38\x0e\xbf\x3f\x9f\x42\xc2\xcc\x28\x44\x09\xc9\x54\xd2\x5b\xa8\xc2\x3a\x69\x9c\x9c\xe6\x4c\x9d\xe4\x34\xee\x74\x5a\x45\xe3\x05\x4b\x90\x85\x86\x26\x35\x24\x64\xc7\x63\xe9\xbb\x3f\x0b\x1b\x17\x02\x24\xe5\xb8\xed\xcc\xf3\xff\xad\xd5\xc6\x22\xee\xd8\xd8\xd8\xd8\x37\x6c\x1c\x7d\xd6\xef\xfd\xfa\x7f\x5b\x5e\xde\xf6\x7e\x7c\xd5\x1b\xf6\xae\xc7\xa3\x71\x32\xfa\xbc\x37\xec\x3d\x4e\xc6\x9f\x0f\x93\xf1\x70\xfc\xd5\x7f\x7d\xd6\x5b\x4b\xb9\x49\x8f\x8e\x7e\xfd\xa7\x2a\xb9\x15\xa3\x45\x71\xf5\x5f\x9f\xf5\x5e\xe5\x8b\x6c\xbb\xe4\x55\xda\xd3\x19\x23\xc8\x29\xf9\xe8\xd7\x8a\x78\x49\x37\x62\x79\xc9\x65\x23\xf1\xaa\xd8\x56\xcd\x82\x9b\xa2\x12\x52\x14\x79\x23\x99\x2d\x16\x45\xb9\xec\x48\xdf\xca\x62\x51\x5c\x6d\x32\x2e\x9b\x2d\x5d\x6c\xa5\x6c\x95\x5f\x32\xc9\x37\x62\xf1\x81\x97\xcd\x0c\xc1\xb2\xe2\xb2\x99\x58\xb2\xcb\x4b\x76\x91\x35\x9b\x5e\x96\xc5\x66\xd3\x91\xce\x57\x2b\xbe\x68\xce\x52\x27\x0e\x2f\x32\x91\x2f\x0f\x64\x15\xdb\x7c\xd1\xdd\xd6\x70\x91\x89\x4d\x77\x8e\x1a\x44\x77\x0e\xff\xb8\xc9\x8a\xe5\x81\x06\x57\xec\x60\x4e\x91\x1d\x18\xe0\x5a\x5c\xae\x33\x71\xb9\x3e\x30\xb5\xcd\x36\xab\x58\x0b\xfe\x26\xb3\x5a\xb0\x03\x70\x1a\x56\x6b\xf6\xe1\x50\x56\x26\x0e\x0d\x53\x96\x2c\xaf\x56\xad\x05\xbc\xe2\xf9\xb6\x89\x4b\x65\x71\x59\xf2\xaa\xba\x60\xcd\xc2\x25\xaf\xc4\xbf\x3a\x16\xb0\xe2\x19\x5f\xc8\xae\x0c\x35\x9e\x66\x2b\x55\x51\x76\x96\xdd\x88\x3c\x6f\x15\x96\xec\xa2\x6a\x26\x15\x45\x26\x61\x79\xff\xeb\xb3\xde\xf3\x62\x73\x5b\x2a\x18\xc3\xae\xb3\x1b\xf2\x65\xb1\xcd\x97\x4c\x6d\x88\x1e\xcb\x97\xbd\x42\xae\x79\xd9\x5b\x14\xb9\x2c\xc5\xc5\x56\x16\x65\x35\xe9\x7d\x2f\x16\x3c\xaf\xf8\xb2\x77\xfa\xea\xac\xf7\xd9\xd1\x7f\xfd\x57\xb4\xda\xe6\x0b\x55\x25\xe2\x44\xe2\x3b\xfb\xd5\x13\x91\x24\x02\xdf\x5d\xb3\xb2\x57\x11\x46\x0a\x52\x52\x39\xca\x8b\x25\x7f\xcd\xae\xf8\x48\x16\xdf\x17\x37\xbc\x7c\xce\x2a\x1e\xe1\x49\xc9\xe5\xb6\xcc\x11\x2b\x39\x43\x94\xd2\x72\x1a\x55\x54\x8e\x36\xac\xe4\xb9\x7c\x5d\x2c\x39\x61\xb4\x1a\xe5\xec\x8a\x13\x39\x5a\x97\x7c\x35\x18\xb0\xc1\x00\x5d\xb1\x8d\x2a\x5d\x1d\x68\x75\x1a\x15\x94\x47\x48\x5c\x5d\xce\xb6\x15\xbf\x62\x1b\xfa\x27\x14\xb3\x18\xcd\x11\x9e\x25\x73\xd2\xef\x17\x83\x41\x1e\x15\x18\xa7\xfd\x31\x4e\xa3\x23\x91\x6f\xb6\x72\xa7\xd7\x64\x27\xf9\x47\xa9\x86\xb3\xd3\xfb\x7a\x57\x5c\xfc\xca\x17\xf2\x68\x24\x79\x25\xa3\x12\x4f\xfb\x72\xb4\x14\x95\x5a\x8e\x65\x8a\xcc\xa0\xf5\xd8\x76\x3b\x91\x0a\xac\x9a\x96\x78\xef\xa0\xa1\xbe\xee\xf4\x34\x7b\x7c\xc4\x3f\x6e\xca\xd1\x4a\x64\x92\x97\xd5\xe8\x5a\x54\xe2\x22\xe3\x91\xc4\x83\x41\x5f\xfd\x31\x13\xaf\x22\x3c\x62\xcb\xe5\xb7\x6c\xf1\x21\xc2\xa6\x74\x0d\x6c\xdb\x1a\x5a\x8b\xe5\x92\xe7\x6a\x04\x7c\xb4\xa8\xaa\x48\xae\x45\x45\x10\x34\x2a\x32\x21\x6f\x11\xde\xe3\x51\xc6\xf3\x4b\xb9\xde\xc3\x62\xd0\x84\x30\x7a\xf4\x8f\xad\x18\x8a\xe5\xf0\xfd\x32\xfe\xf3\xd1\x84\x8f\xb6\x82\xaa\x7f\x76\xbb\xbb\x3d\x51\xe3\x93\x3c\x5f\x46\x2a\x85\xdc\x5d\xf3\xb2\x12\x45\x9e\x22\x4d\xa8\x11\xf9\xc0\x6f\x9f\x17\x4b\x9e\xde\x7d\xfb\xec\xf9\x5f\xdf\xbd\x7d\xf6\xfc\x45\xfa\x35\x79\xfe\xe6\xf4\xf4\x59\x3a\xfe\xfa\x6b\x72\xf2\xe2\xfb\x17\x67\x2f\xd2\xcf\xbf\x24\x27\x6f\x7e\x7a\x9d\x7e\x9e\x90\x17\xaf\x4f\xd2\x27\x5f\x90\x17\xaf\xcf\x5e\xfc\x90\x8e\x9f\x90\x17\xef\x9e\x3f\x7b\xfb\x22\x7d\xfc\x15\xf9\xee\xcd\xe9\x8b\xf4\xc9\x97\xe4\xfb\x17\x2f\xcf\xd2\x27\x5f\x91\xd7\x3f\x9e\xbe\x7d\x76\x72\xfe\xec\xe4\x24\x1d\x27\xee\xf3\xe4\xc5\xf3\x57\xa7\xcf\xbe\x4f\xc7\xe3\xc4\x25\xbd\xfa\xdb\xab\x93\x17\xe9\x78\x3c\xb6\x29\xa6\xf5\xe4\x6b\x9b\x70\xfa\xe3\xf7\x67\xaf\xde\x7e\xff\x73\x3a\x4e\xbe\xb4\x69\xef\x7e\xfc\xf6\xec\x87\x67\xcf\xcf\xd2\x71\xf2\x94\xbc\x7d\xf6\x3f\x2f\xce\x61\x8c\x4f\x3e\xd7\x1f\x3f\xbe\x4d\x9f\x3c\x21\x6f\x5f\xfc\xf0\xea\xcd\x49\x3a\x7e\x9a\x90\x1f\x5e\xfd\xcf\x77\x67\xe9\x93\xa7\x44\x4f\xf3\xc9\x63\x72\xf6\xec\xdb\xf4\x29\x51\x05\xbf\xde\xef\x31\xe1\xa3\x55\x6e\xc1\x75\xb7\x2a\x16\xdb\x2a\x75\x4b\x54\xaf\xb8\x4b\x12\x24\x77\x0b\x97\x6f\xaf\x2e\x78\x89\x28\x95\xb7\x1b\x5e\xac\x7a\x62\xaa\x96\x6e\xc4\xd9\x62\xed\x2f\xb3\x5a\x33\x49\x55\xd6\xa4\xe2\xf2\x4c\x5c\xf1\x62\x2b\xfd\x02\x80\x32\xd0\x75\x84\x49\x3e\x18\xe4\xa3\x05\xcb\x32\x85\x7d\x44\xe0\x3d\x4e\xe5\x88\x6d\x36\xd9\xad\x46\x0c\x56\x5e\x6e\xaf\x14\x72\xe1\xfd\x3e\x82\xc1\x43\x4d\x4c\xaa\x45\x59\x64\xd9\x5b\xc0\xbc\xb4\xd9\xbd\xd9\xa0\x3d\x09\x48\x32\x12\x7c\x30\x38\x8a\x2a\xc9\xa4\x58\xec\x4a\x9e\x31\x29\xae\x39\x36\x9b\x03\x26\xa1\x10\x11\xd9\xc3\x15\x61\xbc\xdb\x1d\xb1\x8b\xaa\xc8\xb6\x92\xdf\x57\x4c\x43\xa0\x46\xff\x43\x48\x7f\x14\xd9\x5e\x77\xb6\xd9\xdd\x4a\x7c\xe4\x4b\x3b\x08\x7f\x2b\x78\xed\xab\x61\xab\x33\x7c\xa7\x67\xdb\x55\xba\xb8\xe6\xe5\x2a\x2b\x6e\x10\x8e\xbb\x92\x87\xb7\x87\x32\x3e\x22\xac\x76\x1a\xff\x67\x94\xe0\xf4\xc1\xf3\xf8\xff\xc7\x68\xc8\x11\xc0\xe6\xfe\xf5\xe9\x4b\x43\x24\xa6\x3c\x5a\x16\x0b\x40\x12\x9c\xca\x3d\xf9\xd7\xab\x7c\xc9\x3f\xd6\x28\x21\xf0\x9d\x58\x45\xa2\x4f\xa9\xc4\x16\x2d\x5c\x93\xba\x30\x22\x02\x4f\xc4\x4a\x77\xa5\x5b\xc5\xab\xa2\x8c\x14\x2e\xe5\xa4\x22\x8c\x72\xc8\x9b\x25\x73\x3c\x61\xa6\xc4\x60\xc0\x66\xc9\xbc\x4f\xa9\xed\x7d\x02\x1d\xe5\x94\x35\x47\x4b\x22\x64\x57\x5d\x91\xbd\x7c\xb7\x43\x16\x1d\xec\x37\x4c\x18\x3e\xf0\x60\x10\x55\x74\xc3\xca\x8a\xbf\xca\x65\xc4\x82\x71\x62\x32\x4e\x30\xe9\x8b\xea\x35\x7b\x1d\x55\x78\x30\x48\xfa\x94\x56\xd8\xce\xab\x9a\x30\xca\xcc\x32\x46\x78\x6f\x52\x93\x3d\xd9\xe6\xe2\x9f\x5b\xfe\x6a\x99\xb6\x56\xb4\xd7\xb9\x87\x21\x51\x2c\x77\xbb\xc8\xfc\xa2\x48\x93\x5f\x14\xf7\xe2\xb8\xc2\x7b\xbc\x27\x25\xbf\x2a\xae\xf9\x8f\xbf\xb1\x65\xe6\x2d\xaa\x58\xe2\xc1\x40\x43\x16\x8f\x74\x73\xcf\xa4\x2c\x23\x24\x96\xea\x10\xd0\xe4\xca\x91\x76\x75\x06\xcd\x50\x8a\xe6\xe4\x6e\xc9\x24\x4b\xcd\xa9\xb4\x28\x39\x93\xfc\x6d\xc5\xb7\xcb\x62\xda\x91\x16\xdd\x4b\xde\x6c\x52\xbf\xcf\x15\xf3\xcb\x22\x41\xa4\xea\xd8\x23\x8a\xc4\xa3\x81\xae\x98\x24\xf9\xec\xc9\x1c\xef\x09\x50\x23\x75\xac\x76\x91\x51\xc5\x52\x98\xc5\xe2\x23\xa6\xa6\x26\x09\x92\xec\x42\xe8\xc5\xc4\x78\x4f\x24\xbb\xb8\x68\x55\x07\xbc\xa3\x5d\x55\x48\x45\x75\x7b\xb9\x65\x42\xa2\x6a\xb7\xcb\x8f\x69\x82\x07\x03\xe8\xae\xd2\x70\x8b\xd0\x37\xec\x18\xe1\x51\xb1\x95\xbc\xfc\x49\x2c\xe5\x3a\x1a\xe3\x91\x66\xae\x76\x3b\xae\xd7\x65\x86\x20\x07\x11\xf4\x1d\x57\xbc\x15\x9a\x93\x90\xf2\x3b\x76\xa0\xd2\x70\x20\x95\xcf\x14\xa8\x26\x18\xf1\x16\x57\x0c\x35\xe2\xbe\xcc\x0a\xe6\xe8\x02\x41\x1b\xb6\x5c\x8a\xfc\x12\xc5\xb0\xd2\x78\xb7\x4b\x14\xd9\x8f\x0e\x94\xbe\x28\xca\x25\x2f\x75\xe1\xd8\x0c\x10\x2a\x61\x52\x1d\xae\x75\xc5\xca\x4b\x91\x7b\x5d\xe0\x3d\x26\x02\x18\x08\x46\x4d\x2b\x6a\x7b\x4d\x67\xe8\x7b\xbe\x92\x88\xa0\x1f\xf4\x8c\xd3\x19\x3a\x2b\x36\x88\xa0\x6f\x0b\x29\x8b\x2b\x34\x27\x05\xcd\x43\xc6\x8c\x94\xf4\x0e\x78\x56\x68\x26\x85\x53\xa8\xfe\x26\xf0\x53\x03\xd0\xcb\xd3\x09\xa4\x86\xbf\xce\xab\xbf\x75\x96\x5f\xcf\x4b\xd8\x4f\x54\xca\x0c\x41\x53\x28\xce\xe7\xb4\x8d\xb3\x3d\x41\x29\x95\xd3\xd2\x2b\x65\x4e\x52\x05\x83\xb4\x73\xfb\xd9\xdd\xa6\xa0\x56\x10\x43\x85\x05\x8e\xd1\xe6\x23\x6c\x39\xa2\xbb\x85\x91\x84\xdd\x02\x73\x1c\x72\x02\x7d\xcb\x09\xc0\x20\x5c\x9d\x7a\x10\x44\xfe\x96\x61\x48\xd2\x4f\xfc\xb1\x58\x6e\xc5\xf0\x94\xbb\x5d\xe4\x7f\xd6\x23\xe3\x21\xc5\x61\xcb\x65\x94\x6f\xb3\x8c\x52\x6e\x8e\xe7\x92\x5f\xbf\x01\x76\x38\x6d\x7c\xdb\x73\x8e\xab\xb3\xa7\xde\x33\xb0\xc3\x11\x1b\x5e\x20\x82\x18\xb2\xa4\xe9\xc4\xa5\xfa\x25\x14\xb9\x86\x61\xd5\x85\xe8\x83\x28\x4e\xcf\x71\x36\xf6\x1c\x93\x1e\xe0\xf8\x68\xc1\xae\x78\x06\xf8\x27\xb0\xe2\x89\xea\x95\xb5\x8c\x50\xdd\x23\x56\x90\x02\x3e\x87\xf6\xfb\x47\x57\x95\xe0\xbd\xd9\xfb\x9b\xd1\x3c\x3e\x1a\xf1\x8f\x7c\x11\xe5\xec\x5a\x5c\x32\x59\x94\xa3\x6d\xc5\xcb\x67\x97\x3c\x97\x21\x86\xab\xfa\xd5\x76\xb3\x29\x4a\x69\x84\xbc\x4a\xb2\x52\x52\x54\xe4\xde\x27\x12\x79\xcf\x1e\x76\x86\xc6\xbe\xc8\xb8\xfa\x8a\xd0\x52\x5c\xa3\x06\x77\x69\xe4\x8d\x77\xd0\x80\x62\xc8\x0f\x1c\x11\x8a\xb6\x45\x51\xe7\x00\xa6\xc8\xef\x3e\x45\xa0\x12\x59\x16\x37\x39\xc2\x31\x1a\x6d\xc5\xb0\xd9\x07\x22\x3e\x5a\x70\x58\x6b\x9e\xcb\x13\xbe\x62\xdb\x4c\x9d\x89\x0a\xc5\xf3\x07\x0d\x6b\x9b\xc3\xc0\xba\xbb\x69\x1e\x4e\x4a\xee\xd8\x64\xdb\x4b\x91\xa7\x77\x6c\xb9\x6c\x1d\x1f\x46\xaa\x04\x76\x74\x26\xe7\x4a\xf6\x96\x85\xda\x3d\x13\xc5\x67\x54\x3d\x91\xf7\x72\xcc\x46\xba\x89\x6a\x56\xcd\xa9\xff\xb1\xdb\xcd\xe6\xc4\x4f\x18\x6d\xb6\xd5\x3a\x9a\x09\x92\xcf\xaa\xb9\x3a\x86\x14\x76\xa4\xbe\x60\x6b\x45\xd9\x9c\x54\x94\xbb\x9a\x72\xae\xd8\x9c\x6a\x30\xe0\x23\xae\x57\x6e\x96\xcc\x3d\xb9\x75\x30\x18\x8f\xfb\x4a\x30\xeb\xcc\x05\xb9\xf5\xec\x76\xc3\x81\x39\xca\x69\x32\xb1\xb8\x7b\x9c\x4f\xf2\x38\xc6\x7c\x54\x6c\xd4\x00\xaa\x59\x35\xcb\xe7\xb3\x64\x3e\x1f\x0c\xe0\xd7\x78\x6e\x78\x7a\xd7\xb2\x62\xf5\xf7\x64\xcd\xaa\x77\xc0\x4b\xa6\x21\x9d\x11\xab\xc8\x97\x13\x95\xc0\x00\x6c\x50\xcd\x5e\x1a\x96\xa7\x3f\x9e\xe8\xc3\x52\x0c\x06\x28\x53\x84\x9d\x52\x2a\xa6\x48\x73\xa8\x40\xe9\x53\xf3\x01\x54\xbe\xa2\xfd\xb1\x13\x0e\x66\xf9\xfc\x38\x99\xf6\x93\x34\x52\x3f\xe9\x98\x54\x54\xa7\x11\xf8\x4e\x08\x9c\xa5\x7b\x1c\x69\x6d\x03\x9e\x78\xbc\x04\xe1\x1a\xbe\x42\x15\xa3\xcf\xca\x92\xdd\xd6\x8b\x3a\xaa\x32\xb1\xe0\x24\xa7\x72\xb4\xc8\x38\xcb\xd5\x1e\x9d\x78\xbf\x03\xda\x65\x19\x4d\x41\x2a\x9a\x4c\x14\xe5\xea\xd3\x48\x50\x3e\xab\xe6\x78\x52\xc5\x31\x96\xe5\xed\x9d\x8c\x04\x1e\xc9\x52\x5c\x5e\xf2\xf2\x3b\x96\x2f\x33\x5e\x46\x48\x13\x00\x84\xf7\x0b\x26\x17\xeb\xa8\xc0\x77\x7b\xd5\xe2\x9e\x48\xa3\x50\xf4\x0e\x0d\x52\x59\x34\x2c\x08\x23\x25\x59\x93\x8c\xde\xed\xc9\x82\x8a\x51\xb5\xc9\x84\x8c\xd0\x08\xd4\x0c\x13\x11\xa6\x8c\xd5\x79\xb8\x88\xd1\x10\xc5\x82\xe4\xbb\x5d\x94\xd3\x4a\xc1\x69\xf4\x13\xf4\x80\x89\xac\x19\xb3\x59\x11\x52\x95\x79\x07\x8d\xee\xf7\xa5\xa6\x9e\x9c\x14\x6a\xa4\xb3\xc5\x9c\xaa\x7f\x40\x90\x67\xf0\x73\x26\xe6\xa4\xb4\xbf\x3a\x0f\x20\xbd\x41\xcf\x35\x09\xd2\x03\x99\x46\x4d\x7a\x3a\x18\xb4\x4b\x41\x23\x84\xe3\x34\xe7\x37\xbd\x12\xbe\xf6\x30\x03\xd8\xc6\x25\x61\xb5\xf6\x20\x1f\x99\x5f\xe4\x1c\xd6\x35\x75\xc5\xee\xf6\x24\xc7\xe4\x7c\xb1\x16\xd9\xf2\x79\x91\x57\xb2\xdc\x2e\x64\x51\x56\xe9\x6c\xbe\xc7\x64\x4d\x55\xdb\x15\x59\xdb\xbd\x40\xed\x6a\x78\xf5\x5d\x26\xc0\x4f\x1d\x8e\x39\xe9\x92\xb9\x7b\x72\x24\xaa\x97\x36\x23\xc7\xd3\x28\x0b\x60\x62\xa5\xed\x36\x09\xab\x6a\x6c\x9c\x89\xf9\x01\x89\x9a\xf0\xae\xb3\xea\x70\x55\x89\xf7\x93\xe6\x81\x66\xb6\x81\xc2\x09\x00\x77\xb5\xdd\xf0\x92\x14\xfe\xd7\x33\xd5\xc2\x24\x58\x3a\x48\xa7\x92\x34\x4b\x51\x4e\x04\xcd\xbb\x87\xeb\x17\xa6\x55\xbb\x6a\x41\xc4\x7e\x1f\xc1\xf2\x6a\x30\xe5\x84\xab\x73\xbd\xac\xe7\xd3\x5a\x8b\x35\xb9\xd3\x09\x2f\xd4\x31\xf1\xb6\xe4\x2b\xf1\x31\x65\xd3\xf5\xa8\x95\x0a\x6a\xb2\x3d\xc9\xc8\xdd\xa2\x5e\xf3\xb4\x24\x39\xbb\xe2\xd5\x86\x2d\x78\xba\x20\xba\xd2\x6b\x76\xc5\x53\x61\x3e\x5e\x6e\xb3\x0c\x12\x8a\x3d\x26\x6c\x1a\x99\xe5\x66\xa3\x36\xfe\x78\x47\x97\x53\x44\x52\xe1\x1d\x15\x76\xf0\x91\xd6\x2d\x42\xaf\x31\x1a\xa1\xb8\x1a\xd5\x3d\x93\x92\x88\x91\x46\x59\x35\xf9\x25\xcf\xb8\xe4\xbd\xae\xfe\x70\x5a\x75\xa4\xea\xa3\xa5\xc4\x8e\x88\x8c\x2e\x4a\xf5\x37\x12\xa4\xf4\x48\x8b\x01\x60\xc0\x96\xd6\x22\x73\x01\x0a\x50\x60\x59\xdc\xfa\x91\xb1\x62\xa4\x13\xb2\xa6\x56\x82\x9e\xac\x8f\xcb\x49\x19\xc7\xfa\x38\x51\x67\x20\x9b\x95\x73\x5c\x50\xf5\x67\x96\xcf\x89\xfa\x3b\x5a\xb3\xea\xcd\x4d\xfe\xb6\x2c\x36\xbc\x94\xb7\x91\x12\x90\x0b\x75\x46\x29\x59\x40\x91\x69\xb5\x45\xde\x66\x4c\xe4\x9a\xa7\x8b\x0a\x3c\x6d\x26\xa9\x72\x2a\xb5\xb5\x0f\x55\x06\x29\x14\x7b\xd5\xca\x2a\x70\x5a\x58\x19\xab\x27\xf6\x4d\x70\xd0\x70\xbb\x02\x61\xa5\xb9\x77\x04\x84\xcb\xbf\xdb\x89\x89\x54\xac\xb5\xbf\x7b\x99\xae\x57\x52\x54\xc9\x52\x09\x48\x4e\xb5\xc6\xc8\xba\x13\x7e\x99\xd6\xab\x59\x0e\x92\xf6\xcb\xc1\x60\x5d\xf3\x8f\xc1\x24\xcc\x26\x52\x07\x0a\x99\xb1\xf9\x68\x51\xe4\x0b\x26\xa3\x35\xc6\x29\x23\xe5\x61\xdd\x5d\x05\xe7\x96\x96\x72\xd5\x06\xac\xa1\x90\x4f\x43\x72\x34\x63\x73\x3c\x18\xa0\x73\xd4\xa7\x94\x8d\x16\x6b\x56\x3e\x93\x51\x82\xa7\x51\x45\x55\x9e\x1d\x00\x59\x63\x52\xf5\x29\xcd\x07\x03\xf5\x87\x4f\xa3\x8c\x56\x83\x41\x65\xa4\xd1\x69\x06\x28\xf7\x4e\xb2\xc5\x87\xa8\x1a\x29\xfc\xc6\x38\xad\x48\x7f\x8c\x53\xae\x96\x86\x97\x65\x51\x46\x28\x2f\x7a\xd5\x76\xb1\xee\x5d\x71\xb9\x2e\x96\xbd\x47\xa0\x1b\x7f\xd4\x5b\x15\x65\x0f\xc5\x22\x46\x3d\x3d\xfb\x9e\xc8\x2b\xc9\xf2\x05\x47\x5e\xdd\x05\xcb\xf3\x42\xf6\x14\x40\x4d\xfd\xaa\x57\xe4\xa6\xde\xa6\x14\x45\xd9\x93\x45\x4f\xe4\x42\x0a\x96\x89\x7f\x81\x45\x61\xd2\x43\x31\x62\x52\xf2\xab\x8d\xe4\x4b\x95\xef\x55\xb7\xdd\x23\x50\x58\x1e\x02\x25\x6f\x02\x92\x4f\x2d\x8b\x14\x31\x75\xe2\xe1\xd1\xb9\xea\x34\x52\x43\xf5\x0a\x12\x75\x84\xe4\x11\x23\x5a\x9a\xdd\x63\x92\xed\x15\x06\xfe\xd4\x38\xd5\xf1\x5d\x9d\xda\xb1\x95\xe9\x6c\x5e\x67\xd7\x34\xf0\xce\x23\x53\x48\xff\x46\xa4\x4d\x05\x11\x22\x4b\xcd\x36\x1b\x26\x3f\x45\xdf\x2c\xc5\xf5\x31\x22\xe6\xec\x4a\xef\x9c\x45\xa1\x3f\x26\xfa\x98\x4d\x15\xba\xed\x49\x70\xe8\xfa\x7c\x69\x85\xef\x2a\x2a\xa3\x6a\xb7\x03\xa0\x85\x1d\xe8\x44\x30\x76\x68\x90\xea\x64\x55\xde\x10\xff\xed\x56\x2c\xa9\x88\x63\x93\xaf\x46\xfb\xda\x52\x42\xaa\x28\x21\xa4\xd7\xf3\x8b\x5d\x2d\x5d\xe3\x9e\x23\xd9\xcf\x37\x67\xcb\x25\x97\xcf\x61\x1e\x6f\x74\x32\x9c\x2d\xc4\xc9\x2c\x22\xbf\x54\x73\x31\x29\x6b\xc5\x9b\x2a\x68\xd4\x49\x4e\x37\x04\x49\x0a\xf7\x55\xf2\x60\x10\x99\xc5\x36\xfd\x84\x94\x42\xaf\xb9\x19\x41\x91\x47\xfd\x24\x00\x06\xb9\xd3\x5c\x5f\xa0\x2f\x92\x23\xc9\x4a\x85\x19\x54\x6d\x2c\x03\xd9\x4a\x96\xc5\x6d\x04\x82\x8a\x4e\x31\x92\x9b\x02\xe7\xa8\x92\xb7\x19\x9f\x56\xa3\xe2\x26\xe7\xe5\x89\xc9\x49\xeb\x42\xbb\x9d\x1d\xc3\x8d\xc8\x97\xc5\x0d\x35\x2a\x3b\x9b\xaf\x04\x03\xb3\x78\x7f\x13\xfc\xc6\x2e\xa7\x97\xab\xc5\x86\x9f\xa0\x36\xb6\xf3\xd1\x68\x61\xe1\x73\x6e\x18\xda\x08\xe9\x74\x44\x80\x58\x35\x80\x0f\x38\x09\xc2\xb7\x6b\x46\xef\x99\x3d\x69\xad\x50\x2a\x47\x79\x51\x6c\x48\x47\x6d\x97\x65\x10\xd5\x7e\xaa\xb6\xec\x87\x01\x5a\xda\xd4\x84\x9e\x3b\x68\x06\x6b\x61\x45\xc4\x0e\x64\x0c\x94\x06\x0d\xa4\x3c\x94\x67\x31\x20\xcc\xf7\x14\x01\x5d\x65\xb1\x8f\x43\x11\x7e\xc0\x90\xb4\x8a\x95\x95\x82\x59\xb1\x76\xe9\x74\x1c\xcf\x33\x66\x54\xf3\x8d\x7e\x62\xe4\x0a\x2b\xb2\xb8\x15\xc3\x4a\x32\xc9\xbd\x16\xc2\x7d\x71\xdf\x38\x1a\xfb\x25\xe8\xba\x6e\x19\xf2\x51\x73\x27\x1d\x28\x0c\xf9\x48\x61\x84\x5d\x42\xb3\xa2\x37\x0d\x0a\xd4\x50\x4e\xeb\x75\xdc\x1b\x8a\x96\xfa\xe2\x92\x15\x9f\x41\x5c\xa2\x42\xc9\xcd\x09\xa5\xb4\x29\x65\x38\x93\xc2\xfd\x14\x05\xcc\x0b\xad\x63\x5e\x60\xb1\x8a\x4a\x25\x87\xe5\x81\xd4\x05\x3c\x70\xb5\x16\x2b\x45\x37\x72\xdb\x13\xf0\x57\x05\x2d\x15\x0f\xf1\x89\xee\x66\x62\x8e\x09\x53\xe2\xa4\xa9\x3c\x1c\x1f\xb3\x09\x8b\x63\x5c\xcc\xd4\xd1\x3c\xa7\xe6\x2f\x88\x5d\x85\xfd\x52\x83\x54\x5d\x6f\x8a\x4d\x84\xc9\xf8\x9e\xe9\x16\x6a\x10\xea\x2c\x57\x3b\x36\x55\x5f\x13\x48\xaa\xf6\x3c\xab\xb8\x92\xdf\xef\xab\xdd\x18\x6a\xdd\x50\x23\x63\x52\xea\x36\x43\xd1\x81\x4b\x4b\x8f\x4b\x8d\x1e\x7b\xe2\x25\xb6\x14\xe9\x5a\xc5\xc2\x15\x7b\x29\x71\xa3\x89\x88\x13\x39\xe3\x73\xec\x0b\x27\x7e\x6b\x69\x28\xf0\x77\x0d\x5f\xce\x29\x27\xc8\xed\x03\x4a\xa9\x54\x14\x3e\xd8\x94\xb2\xb8\xbc\xcc\x1e\xb6\xb9\xda\x3b\x8b\xf4\xfb\x1c\x6b\x53\x40\x63\xd7\x92\xff\xe4\x5e\xb2\xa0\xd5\xda\xb2\x43\x3b\xc8\x03\x25\xf2\x46\x3c\xc6\x7b\x62\x3e\x7f\x63\xcd\x44\x6d\xe2\xc6\x56\xf4\x34\x17\x9a\xff\x45\x17\x45\x91\x71\x96\xd7\x1a\x68\x31\x18\x18\xcd\x84\x20\x82\xf6\xc7\x98\xe4\x8a\x0d\x2d\x3c\xde\xa1\x3e\xb2\x03\x42\xc5\x96\xcb\xa8\xc2\x38\xb5\x8a\x0d\xff\xac\x35\x52\xac\x5d\xc7\x2e\x61\x3d\x27\xa5\x67\x26\x59\xd7\x93\x14\xbb\x1d\xb3\x48\xe2\x5c\x2f\xfa\x94\xf6\x93\xc1\xa0\x2f\x8d\xfe\x7b\xcd\xaa\x26\xf8\x6b\x8a\x3a\x6d\x13\x8c\x72\xaa\x44\xa2\xb4\xc4\x86\xb7\x66\x9e\x78\x9c\xf2\xbd\x2d\xef\xc0\x52\x0e\x06\xd1\x7a\x74\xa9\xb8\xa6\xd2\xff\xb3\xdb\xad\xcd\x5f\x09\x7f\xe3\x18\x83\x1e\x2d\xa3\xf9\xe8\x0a\x94\x49\x47\xff\x88\xde\xdf\xc4\xf8\x7d\xf5\x59\x34\xfa\x0c\xff\xf9\x08\x93\x05\xcd\x66\xe3\x79\xcc\x1a\xe4\x9c\x6c\x69\x36\x7b\x3c\x9f\x6c\xa7\xc5\x48\x09\x9b\x97\xea\x80\xdf\x92\x05\x59\x2b\xf9\x12\x0e\x01\xf5\x7b\x0f\xeb\xba\x5a\x35\x76\x14\xa7\x11\xdf\xed\x10\xc2\x96\xfa\xf5\x10\x1e\xfd\x5a\x88\xbc\xeb\xe4\x88\x55\x6e\xdc\x91\x41\xdc\x51\xcc\xd5\x09\xe8\x86\xc1\xf5\x89\x90\xb1\xdb\x46\xb7\x9e\xd3\x8f\x5d\xb0\x36\xb0\xe5\x54\xed\xee\x54\x5a\x60\x07\xaa\x13\x2d\x9d\xfb\xd2\x98\xe7\xec\x20\x08\x07\x0b\x14\x39\x77\x3b\x33\xf5\x55\x61\x4d\x86\x31\xdc\xc3\x0a\x23\xb9\xc7\x01\x72\x72\x07\x7a\x6f\x9e\x4b\x5e\x86\xed\x44\x7c\xb4\xd8\x96\x8a\xd1\x3a\x03\x06\x10\x1c\x70\x0e\xec\xfe\x3d\x81\x56\x32\xce\xae\xf9\xa7\x5a\xb9\x97\x8c\xec\x61\x2d\x3b\x0c\x9f\x76\x66\x1e\xdf\x1b\x12\x9c\x8e\x99\x41\xa6\xc8\x7f\xc7\xb4\xdc\x99\x0f\x3f\x8a\xad\xfc\x7d\x93\xb2\xcd\xc0\xa4\x0c\x43\xea\x4b\x2c\x21\x2b\x40\x03\xda\xcf\xb5\x3a\x9d\x56\x70\x8c\x0a\x2a\x47\xc0\x6e\x46\x02\x13\x31\x02\x59\x2b\xe2\x94\xfa\x44\xc4\x13\xb0\xa6\x3c\xed\xce\x88\x39\x6e\xd8\x1f\x85\xe5\xef\x7d\xea\xa4\xc4\xa4\x82\x8a\x51\x51\x8a\x4b\x91\xb3\x0c\x5a\xa8\x55\x29\x05\x86\x3f\x62\xb7\xd3\x6a\x92\x62\x96\x87\xe7\x9c\xe3\x62\x2d\x17\xae\x66\x4a\xfa\x51\x20\xe3\x33\x3c\x18\x30\x4f\x1d\xe7\x77\x3e\x13\x4e\xa9\x50\x61\x4c\x29\xed\x8f\x77\x3b\x31\x12\x95\xb1\xb6\xbc\xd5\xb6\x17\xbe\x8c\x30\x06\xf1\x15\x68\xe7\x5d\xb5\x2e\x6e\x52\xb4\x62\x4b\xfe\x2a\x47\x64\x2d\x96\x5c\x7f\xbd\xd9\x4a\xb4\x6f\xe8\xc0\xda\xd2\xeb\x0c\x9d\xa3\x98\x7b\x4a\x94\x8a\xe4\xa4\xc0\x77\xad\xdd\x9b\xc3\x89\x70\xa7\xbd\x22\xd3\x7c\xaf\x09\x9c\xe2\xe5\xf2\x69\xae\x06\x9b\xec\x76\x2d\x97\xa6\x7c\x2a\xd2\xdc\x78\x52\xee\x76\x22\xe5\x93\x9c\xe6\xb0\xb8\xed\xa2\xba\xfd\xe5\xb6\x04\x6d\x81\xea\x81\x30\xda\x57\xd0\x7b\x71\xb5\x91\xb7\x46\xf5\x94\x2b\x06\xce\xba\xe0\xd2\x82\xe4\x23\xa0\x47\x83\x41\xa5\x7f\x44\x26\x01\x13\x36\x18\x48\xd3\x75\xe5\xfd\x34\x7f\x67\xe5\x7c\xaa\x10\x2e\xca\x71\x5a\x6a\xf5\x57\xa5\xd3\xca\xb9\x6a\xc3\x0c\x83\xe4\x23\xce\x2a\x91\x5f\x92\x42\x91\xdf\x7f\x6e\xf9\x96\x47\xbe\x8e\xce\x9c\x3c\xaa\x25\x4c\x8a\xc1\xa0\xd0\x5a\x26\x70\x6d\x21\x22\xd2\x76\xd7\x6e\x93\x87\xd5\x69\xf4\xc7\x13\x59\xbb\xdc\x68\x37\xe5\xed\x26\x30\xef\xd2\xfe\x78\x5f\x6b\x10\xd5\x6e\xd3\xc5\x50\x87\x77\x9e\xd3\x26\x2c\x58\xbe\xe0\x59\x8a\xc0\xaf\x91\x58\x87\x46\xa2\x1d\x1a\x89\x36\x04\x9a\xd2\x48\x71\x17\xa0\xe5\x49\xc7\x44\x13\xf8\x64\x4f\xce\xa1\x8f\x57\x4a\xa0\x6b\x2b\x62\x14\xa5\x0e\xd0\x5e\x5b\xf7\x9c\x45\xb1\xad\x3c\x20\x1d\xba\x71\x3e\xd2\x9d\x9c\x14\x37\xe0\x2f\x89\x4d\x33\x8b\x4c\x2c\x3e\xdc\xd7\x44\xed\x69\xa2\xa4\x08\xa3\x00\xb0\xfb\x9a\x70\x5f\x67\x81\xac\xd5\xf2\xb9\x6a\x14\xb6\xb5\x62\x06\xa4\x2f\x16\xfe\x86\x9a\x44\x8c\x2a\x59\x6c\x5e\x5d\x5d\xf1\xa5\x60\x92\xbf\x2d\x8b\x0d\xbb\x64\x1a\x3a\xa0\x65\x53\x27\xe6\x4a\xe4\x7c\x69\x55\x05\x60\x6e\xe5\x4b\xb5\x8a\x06\xa8\x27\x07\x24\xe3\x86\x24\xdc\xa1\x82\xb1\xe4\x1e\x9a\x39\x55\xe3\x37\xa7\xf3\x60\xe0\x63\x91\x6d\x00\x8a\xa9\x69\x76\x00\xf3\x40\x43\x8d\xca\xdb\xcd\xfd\x55\x7f\xdc\xb8\x8a\x6e\x76\xc5\x4d\xde\x74\x18\xeb\xdb\xd3\x4c\x17\x79\xa7\x41\x62\x8d\x4a\xa6\x25\x45\xe9\xbd\x04\xd5\x0e\x40\x9d\x8a\x49\xcd\x20\x90\x9c\x2a\x61\x48\x8c\x6e\xd6\x62\xb1\x26\xac\xad\xee\xf5\x0f\x95\x91\xde\x06\x83\x81\x5d\x62\xe7\x2d\x3c\x95\x6e\xd9\xf1\x68\x91\x15\x95\x73\xa4\x0a\xab\x5a\xef\xd9\xb4\x36\x75\xe6\x83\x41\x9f\x05\x63\x7f\xce\x36\x72\x5b\xf2\x48\x28\xcc\x52\xc9\x66\x99\x33\x76\x7b\xca\x25\xed\x07\xed\xc2\x0e\x23\xed\x62\xd6\x3f\xec\xbc\x4e\x55\x2c\x50\x49\xbb\x1d\x3f\x5b\x9d\x24\xa1\xd4\x6a\x28\x61\x08\x52\xb3\xcf\x4f\xb9\x3a\x56\x83\x29\xd8\x76\x20\x3d\x6a\xaf\x15\x6d\x26\x45\x02\x2b\x06\x7c\x4c\xfa\xed\xc2\x78\x1a\x89\x96\xb7\x80\x12\x47\xd2\xa8\x73\xc7\x36\x15\x8d\x9d\x5b\x4f\x91\xf1\xae\x4d\xfb\xa0\xca\x87\xd0\xbd\xdb\x64\x57\x97\x03\x47\xda\x4e\x7c\xbf\xaf\xe6\x8f\x1b\x5d\xcf\xdb\x92\x7f\x60\x43\xfe\xbe\xed\x48\x3a\x56\x80\xd3\x7e\xa2\x96\x01\xa7\xfd\x64\x6f\xf7\xeb\x69\xd1\x60\x61\x9d\x12\xc6\x38\xfb\x46\x7d\xe7\xa7\x62\x7f\x9c\x16\x4b\xbe\xdb\x3d\x3d\xee\xcc\x00\x4f\x76\x73\x25\x66\x1a\xee\x70\x6e\xf4\xfb\x01\xb6\x4c\x03\xbc\x2f\xd9\xa5\x62\x6b\xdb\xde\x26\x38\x8d\x0e\xa0\x32\x3f\x80\xca\xfc\xa1\xa8\xdc\x45\x75\x08\x37\xf8\xdd\x31\xe0\xf6\x78\xd3\xe6\x3c\x71\xe7\xbe\xb0\x30\xff\x71\xd3\x09\xf1\xff\xaf\x49\x78\xc7\x5c\xbb\x21\xd8\x1f\x13\x5e\xab\xc9\xbb\xc0\x67\x72\xd5\xa6\xd5\x1e\x0a\xbf\x65\xbb\x2a\x1c\x0d\xc7\x52\x18\x98\xd6\x67\x68\xbd\xfe\x5d\xce\xa2\xa7\x4c\xae\x47\x57\xec\x63\x04\x3f\xd8\x45\xd5\xb9\xc6\xa3\x0d\xbb\xe4\x7f\x1f\x9a\xbf\x98\x7c\xba\xf0\xcf\xa6\xf0\xcf\x18\x1f\xd3\x90\xdc\x9a\x01\xd5\x87\xbc\xc6\xc2\x43\x2a\x9b\xa0\x90\xad\x04\xf0\x4d\x03\x93\x54\x8d\x66\x5d\xe9\x0a\x32\x5d\xe9\xe6\x44\x6a\x77\xae\x36\xfe\x3d\x5e\x38\xc1\x05\x1e\x5e\x3b\x89\xcc\x3c\x37\x51\x25\xaf\xe0\xcf\xa2\x8d\x71\x3e\x56\x5f\x53\x7e\x34\x4e\x92\x74\x8c\x49\x50\x6e\x1c\x94\x1b\xcf\xf1\x54\x98\x72\xf3\xbd\xe7\x0d\xeb\xf5\xd3\x73\xbe\xda\x12\x9c\x94\x54\x16\x19\x27\x78\xb7\x4b\xfc\xeb\x34\xce\x5f\x88\xcf\x92\xb9\x3d\x97\x9f\x02\x5f\x60\xdd\xaa\xa6\x77\x37\xc6\x51\x14\xfe\x46\x98\xac\xad\x77\xa8\xfe\xa1\x58\xf6\xd5\xaa\xe2\x32\xbd\x53\x40\x4c\x48\xc6\x57\x32\x4d\xf6\xfb\x54\x89\x1d\xda\xd6\xa2\x4e\xf4\xdf\xd8\x0e\x1f\x39\x0f\xa9\x08\xeb\x36\x6d\xd2\xf7\x7c\x25\x23\xbc\xdf\xa7\x4d\xd2\x6c\xfb\x48\x6c\xdb\x49\xd0\xa4\xd0\x28\xa7\x1b\xd3\x1f\x7f\xdf\xef\x53\x37\x30\xcf\x2d\xd9\x1b\x9d\xe7\x00\x5b\x0f\x91\x8f\xf4\x0f\x35\x0c\x45\xe0\xa9\x34\xf7\x7e\x8c\x40\x57\x50\xbb\x73\x48\x49\xed\x76\x20\x99\xfe\x59\x16\xdb\x7c\x49\xd6\xf4\x48\x0d\x64\xb7\x00\x15\xca\x0e\xee\x91\x1d\x91\x05\x3d\x92\xc5\xc6\x26\x5e\x80\xfb\xef\x11\xd9\xd2\xa3\xd9\xfb\xf8\xfd\x70\xfe\x7e\x19\x47\xef\x47\xb3\xf7\xcb\x79\x8c\xa7\x7f\x99\x1e\x91\x25\x3d\xfa\xc7\xfb\x9b\xf8\x88\x6c\xe8\xd1\x5f\xfe\x7c\x44\x56\x54\x8e\x56\xb9\xbb\x92\x39\x91\xee\x27\xbd\xd3\xd0\xbb\x60\xc6\xf5\xd7\xf7\x91\x5e\x45\x4c\xc9\x6f\x56\x17\xce\x26\xc6\x7f\x86\xe4\x54\x46\x60\x62\xed\x81\x75\x8e\x3e\x5a\x8a\x6a\xa3\x44\x9b\x8b\xac\x58\x7c\x98\xd8\xc6\x53\x7b\x97\x60\xa2\x81\xf9\x45\xb2\xf9\x38\x31\x20\x84\xdf\xd6\x49\x2e\xd5\x1e\x74\x93\x47\xc7\x7e\xa3\xa6\xe4\x38\x51\x45\x75\x0b\x6c\x2b\x0b\x55\xea\x68\x29\xae\xcd\xbf\x08\x83\x1b\x34\x98\x94\x4b\x9e\x47\xd8\x43\x5a\x19\xa1\x8b\x62\x79\x8b\x40\x2f\xc6\xf3\xa5\x92\x71\x05\x2d\xcc\x32\x69\xdf\xe6\xbc\xe1\xaf\x47\x8c\x13\x1e\x78\xb0\x87\x45\x85\xb6\x5a\x82\xd3\x40\x32\x1f\x2d\x32\x01\x76\xc3\xa5\x5c\x2b\xd1\x59\xb3\x4f\x91\x92\xad\xc5\xb0\xda\x93\x4b\x2e\xb5\xc7\xe0\xab\x7c\x55\x04\x27\x92\xd9\x5d\x6e\x23\xec\x76\xea\xb7\xb5\x6d\x4e\x11\x4a\x9d\xf3\x61\x38\xb8\xa1\xf6\xab\xff\x3d\x35\x6f\x11\x26\x39\xb5\x73\x53\x9b\x79\xb7\x43\x0a\x9c\xf0\x7b\x30\x30\x3b\xf0\x9b\xc0\xa1\x52\x97\xd6\x93\x67\x7e\xe5\xca\xab\x0c\x3e\x9a\x7a\xad\xba\x6a\xeb\x4d\x62\x56\xc4\xec\x2a\x36\xad\x31\x70\x14\x22\x60\x84\xeb\x8d\x9a\xdf\x5f\x6c\x0f\x30\xfe\x49\xc8\xb5\xc8\x0f\xc0\x58\x46\x7c\xb7\xd3\x76\x61\x0c\xbe\x80\x35\xed\x01\x35\x42\x4e\xfb\x7d\xf5\x6b\x30\x00\xfa\xa6\x46\x6d\x49\x9c\x1d\xb1\x99\x50\x2a\x88\xad\x9b\x56\xa4\x86\x79\x9a\xdb\xdd\x2f\xdc\xee\xdf\xed\xee\x34\xb9\x23\x40\xfb\xf6\xa4\xa6\x50\xa9\x08\xc8\x15\x71\xe4\xcc\x65\x68\xd2\xa6\xe1\x54\x4d\x85\x25\x8c\xaa\xf9\x0e\x4a\xa4\x4a\x58\x4a\x69\x8b\x58\xb2\xb4\x07\x55\x96\xb7\xef\x03\x27\x47\x10\x1c\x77\xbb\xbe\x22\x5a\x76\x87\xaf\xba\xdd\xd9\x26\x9c\xfa\xe6\x3b\x6e\x15\x54\x1b\x72\x49\xae\xc8\x35\x39\x27\x17\x0a\xd2\xaa\x21\x72\x4b\xbd\x35\x0b\x96\x27\x52\x28\xa6\x3e\x30\xf9\xd0\x28\x54\xef\x93\xe8\x16\x93\x1b\x1a\xf1\xd1\xa2\xc8\x32\x51\x89\x02\xae\x1c\x65\x62\x13\xe8\xdd\xc9\x09\xbd\x73\xfe\x7d\xe7\x34\x8f\x2e\x30\xb9\x00\x53\x7e\x40\xf9\xc1\xe1\x9d\x49\x0a\xee\xb6\x3d\x59\x6c\x10\x26\x1b\x7a\xae\x41\x4a\x2e\xe9\xb9\x01\x1d\xb9\xa2\xe7\x66\xf1\xc8\x75\x30\xd5\x2b\x67\x48\x99\xa1\xab\x5b\x44\x10\x0b\x6e\x9e\x18\xa7\x46\x22\x48\x45\x23\x3e\x53\x60\x9b\x37\x6d\x04\x93\x31\x5c\xa4\xb5\x9e\x9e\x51\x45\xd7\xfa\xcc\x06\x45\xd6\xb4\xb2\x8a\xc9\x19\xd2\xe4\x1d\xcd\x71\xba\xf0\x4b\xd4\x19\xb5\x0e\x33\x75\x89\xa4\xae\x46\x54\xf9\x46\xeb\xb3\x64\x9e\xba\xa2\xd5\x6c\x3c\xa7\xae\xed\x31\xe4\x8f\xbd\x7c\x49\xb7\xda\x0b\xdf\xe8\xd8\xea\xcf\xf1\x1c\x93\x13\x3d\x3f\x3a\x93\x53\xb5\xbd\xd3\x84\x88\xa9\x80\x1f\x73\xc2\x6d\xde\xd2\x6b\x60\x96\xcc\xc9\xd2\x6b\x61\x96\xcc\xe7\x7b\x6d\xac\xbd\xa9\xe1\x71\xa3\x06\x75\x03\x1d\x22\x38\xee\xf4\x7d\x5b\xa6\xfa\x98\x5e\x8f\xd4\xd2\xc5\x74\xe3\x06\x59\x67\x0e\x06\x91\xcb\x3e\x7a\x8c\x09\xd2\xe7\xa2\x2b\x31\x56\xd5\x65\xb1\x89\xe9\x65\xab\xf6\x58\xd7\xd6\xb9\xaa\x32\xa3\x22\x3a\x19\x31\xa9\x70\x1a\x13\xdb\x2e\x53\x53\x30\xc5\xd8\x6c\x6c\x9d\x7d\x3a\xfc\xa7\x72\xb2\x26\x0b\xe3\x7a\x82\xc9\x96\x2e\xc2\xdd\xba\xb4\x09\x8e\x65\x58\x51\x7b\xb1\x50\xdf\x07\x02\x07\x70\x4c\xce\x1b\xc9\x67\x80\xb4\x1f\xe9\x36\x5e\xc5\x61\x8e\xbe\x14\x84\xe3\x0f\x06\x9d\x9f\xd3\x65\x7c\xde\x28\x63\x2e\x0a\xa9\x42\x06\xd3\x4f\x03\xf4\xbe\xc6\xe4\x0c\x26\x7e\x75\x4b\x1a\x23\x6e\x8c\x17\x4f\xfc\xc5\xb9\xba\x55\x8b\x73\x0a\x50\x1a\xd2\x6d\x08\x5e\xc8\x1c\x0c\x22\x97\xdd\x5a\x9c\xab\x5b\xb5\x38\xa7\x0a\xae\x43\xba\x6c\xd5\x1e\xeb\xda\x3a\x57\x55\x3e\x35\xcb\x71\xa6\x96\xe3\x54\x2f\xc7\x19\x2c\x87\xbb\x89\xa1\x77\xef\xcb\x92\xc1\xa2\x54\xbb\x9d\xe9\x9e\x66\xe6\x07\xd6\x15\xe1\x5b\x16\x1b\xac\x68\xff\x5d\x0d\xfa\x74\x45\x1c\xc0\xd3\xf3\x7d\xbd\xeb\x33\x7d\x05\x4b\x11\x8f\xe0\xca\x59\x85\xef\xa4\x1f\xe6\x62\x76\x33\x13\xf3\xb9\x92\xc8\x5a\x89\xb3\x6a\x1e\x9d\x92\x3b\x2d\xa2\x69\x2e\x6b\x43\xf4\x97\xb9\x53\x75\x49\xd4\x29\xa3\xb3\xb6\xf0\xdb\x64\x2c\x89\xa3\x83\x6f\x2d\x53\x95\xd7\x69\xba\xc6\xc7\x3a\xc1\x54\x7b\x6e\xcf\xa4\x99\xc2\xe0\x18\xe0\xa6\xf0\x37\x56\x50\x9b\x93\xab\xdb\x54\x01\x9a\x30\xc5\xb2\x32\x49\x34\x59\x4e\x6f\xa1\xe7\x74\xb1\x87\x2b\x46\xa3\x6d\x25\xf2\xcb\xc1\x20\x5a\xd3\xa6\x62\x5d\xd0\x2b\xbd\xb6\x1a\xb4\xa4\xa2\x22\xde\x0c\xb7\x24\xa7\x57\xb0\x6a\x00\x61\xc2\x68\x1e\x5f\x0e\x97\x24\xa3\x66\xea\xa9\x3b\x4b\x2f\x34\xb7\xad\x5b\x81\x43\x12\x2a\x9a\x53\x6f\x63\x0f\xb7\xcb\x3d\xb1\x35\x5c\xd5\x85\xae\x7a\x5a\x57\x3d\xf5\xaa\x6e\x6d\xd5\xe5\x9e\xac\x8b\x52\xfc\xab\xc8\x25\xcb\xd2\xe4\xb8\x9a\xea\x95\x4c\xc5\x71\x32\x35\xa8\x5c\x13\xbe\x6b\x5e\x4a\xb1\x80\x82\x6c\x0a\x6b\x9d\xe6\xaa\x9c\x41\xda\x14\x5d\x89\xe5\x32\xe3\x68\x3f\xd9\x1e\x6f\x06\x83\xcd\x71\x19\x89\xb8\xc2\x83\x41\x94\x8d\xea\x6e\xa8\x6d\x0f\x93\xe5\xf1\xe5\x60\x70\x79\x5c\x46\x79\xcc\x74\x31\xdb\x05\xb5\x6d\x61\x92\x8d\xc4\x95\x42\x5e\x96\x4b\x5a\x44\x65\x24\x30\x29\xa3\x0a\xe3\x63\xf5\x91\xab\x0f\x86\xf1\x14\xd5\x1d\xa0\x14\xd9\x66\x90\x5d\x20\xff\x0a\x1b\xc9\xd4\xca\x2d\x2c\x1f\xe2\x76\xfa\x29\xb9\x83\xb2\xe9\x7a\x8f\xc1\xbc\x1d\x20\x29\xbd\x5b\x09\x99\x6a\x8e\xa5\xe3\xd6\x08\xf0\x9b\x1a\x43\x48\x4e\x2b\xc7\x41\x4d\x2b\x8f\x93\x49\x2b\xd3\xa9\x5e\x16\x46\x2b\x43\x95\x4a\xaa\x93\x86\xde\x89\x6e\x31\x79\x54\x6f\x3f\x92\xd1\x7c\x58\x92\x35\x2d\x63\xaf\x20\xa0\xf7\x90\x0d\xf3\x49\x33\xf1\x98\x4d\xb3\xe3\x64\x30\x48\x8e\xe9\x7a\x1a\x09\xd3\x49\x9c\x75\xd6\x26\x26\x97\x66\x43\x81\x53\xfd\x41\xd7\xa6\x7a\x36\xcd\xd3\xec\x78\x3d\xcd\x63\x36\x6c\x56\x4e\x55\x56\x32\x75\xd5\xd3\xb5\xfb\x1a\xd2\xb5\x6d\xa9\x88\x4c\x52\x69\x3a\x52\x00\xf6\x15\x07\xbf\x01\x96\x8a\xfa\x38\x50\xea\x4d\x64\x2b\x58\x0a\xae\x20\xaa\x36\xd9\x61\x80\x9e\x15\x9b\x6e\x78\x6a\xea\xd0\x04\xa8\x4e\x6d\x43\x54\x91\xd9\xac\xbb\x3a\xd1\xb9\x16\xa0\x8a\xae\x7e\x02\x9e\x86\x30\x59\x80\xea\xda\x06\x9e\x40\xe8\xd7\xa6\x1d\x05\x4d\x95\x50\xea\x3e\xf0\x7e\x4f\x14\xfb\x77\x1f\x7e\x92\xbc\x86\x2a\xa3\xb9\x8f\x89\x71\xee\x21\x29\xc8\x89\x1a\x2d\x33\x9a\xd7\xc0\xf7\xcb\xa4\x41\x75\xb2\x7e\x20\xfa\x2e\xe8\x7a\x98\x91\x2d\x5d\xb7\x11\xb0\x18\x66\x64\x49\xdd\x8d\x2f\x7b\x78\x0e\xb5\xa8\xa4\xf1\xac\x7d\xb6\xfa\xb9\x09\xd9\xf8\xf5\x35\x67\x64\x55\x7e\xed\x06\x74\xfe\x30\x2c\x90\x90\x15\x1d\x3e\xfe\xcc\x6a\x28\x94\x8c\x9c\x1c\x2f\xbc\xad\xb3\x8c\x37\xf1\xaa\x6b\xf4\x8c\x44\xc9\xb1\xd8\xed\xca\x68\x81\x8f\xb5\xfd\xc2\xec\x07\xa8\x82\x71\xba\x55\x4b\x0f\x61\x65\x1e\x00\x2a\xdd\xd1\x30\x23\x51\x75\x9c\xec\x76\xdb\x63\x20\x79\xed\x56\xef\xd9\x43\x07\xd6\x5b\xe1\x54\x5e\xef\x23\x58\x6d\xb3\x67\x3a\x97\x5b\xed\x35\xbf\x32\x2c\xf6\xa7\x77\x56\xe7\x52\x9b\xad\x61\xd6\x5a\x1d\x20\x35\x33\x43\x36\x74\x69\x97\xdb\x6c\x83\x0e\x6e\x28\xc8\x57\xab\x55\xb7\xa2\x79\x59\xbb\x9e\x5d\x4d\xe8\x12\xc3\x46\x91\x84\x5c\x06\x6b\x3e\x36\x6b\x5e\x99\xcd\xad\x16\xfc\xb2\x73\x16\x8c\x78\x25\x8e\x17\x83\x41\x94\x1c\x57\x06\x05\x2a\xbd\x58\xb0\x83\x21\xdf\x61\x80\x78\x08\xfc\x74\x9b\xc3\x2c\xe8\x61\xab\x6a\x5b\x74\x10\xb8\xdd\x83\xa1\x02\x1d\x07\x55\x83\x0d\x1b\xa9\x62\x80\x49\x87\x6e\x66\x85\xa5\x85\xbc\xa7\x70\x03\x07\x3b\xbb\x92\xc5\xe6\xc1\x3d\x1d\x2c\xab\x24\xf5\xa6\x1f\x00\x01\x4c\x27\x8c\x14\x2e\x6c\x87\x12\x95\xcd\x05\x84\xea\xdb\xdb\x33\x76\xf9\x9a\x5d\x71\xab\xe2\x52\x3c\x5e\x49\xef\xbd\xf4\x3c\xe1\x87\xf2\x8b\x29\x94\x48\x4d\x5b\xa4\xa2\x77\x75\x98\xa3\xd4\x5e\x70\x25\x2d\x45\xaa\x8e\x80\x90\x26\x86\x79\x56\x29\x6c\xf1\xe1\x12\x74\x99\x29\xca\x8b\x9c\xa3\x3d\x29\xc0\x47\x44\xb3\x22\x15\xb9\x73\xda\xc1\x3a\xd4\x88\xe6\xe9\xd0\x70\x9c\x24\xc9\xe6\x23\x02\xb0\xbb\xaf\x3d\x06\xb7\x58\xd6\x13\x79\xaf\xc2\x5c\x5f\x08\x98\xb1\x39\xad\x66\x6c\x3e\xe1\x46\xb5\xf7\x7c\x2d\xb2\x65\x54\x82\x7e\x6f\xb7\x6b\x99\xce\x5e\xd8\xbb\xbc\x23\x91\x57\xbc\x94\xdf\xf2\x55\x51\xf2\x88\x13\x31\x5a\x89\xb2\x92\x50\x1d\x93\x52\xb7\x3e\x5a\x54\xd5\x19\xff\x28\xa9\x0b\x8d\x92\xf6\x9c\x2e\xb3\x07\x83\xed\x8d\x93\xd1\x57\x9f\x3f\x79\xfc\xf8\xf1\xe3\xcd\xc7\x09\x02\x95\x68\x89\x9d\x0a\xc8\xb0\xa7\x87\xe4\x13\x9a\x1f\x8f\x93\xc1\x60\x3c\x3e\xce\x09\x37\x51\x18\xce\x4e\xbf\xa7\x08\x11\x61\xbd\xbf\x60\x42\x1c\xef\xa3\x6e\x8b\x02\xb7\x37\x2a\x13\x22\x28\xdc\x48\xbd\xdb\x4f\xac\x32\x88\x8a\x91\x09\x65\x71\x56\x6c\xea\x0f\x2d\x0f\x52\x31\xd2\xeb\x76\x56\x6c\x80\xca\xbb\x04\x9d\xaf\xd3\xd4\xa2\x73\x44\x98\x6d\x91\xf9\x2d\xb2\x46\x8b\xac\xd9\x22\xeb\x6a\xb1\x5a\x17\x37\xc8\xf9\x81\x80\xaf\x8d\x0b\x07\x78\xaf\xbf\x8d\x82\xda\x35\x4f\x13\xc2\x72\x71\xc5\x24\x4f\xef\xf6\x20\xf3\xb0\x0d\xc4\xf7\x4a\xfb\x63\x02\x7a\x9f\x54\x7b\xb7\x20\xb2\xe6\x4c\xe1\x25\x3a\xee\x65\xa2\x77\xdc\x4b\x61\x8d\x87\xa0\x23\x26\xc7\xbd\x34\x2f\x64\x94\x09\x9c\xaa\x4a\xc8\x60\xf3\x3b\xb5\xf0\xa9\xd6\x6a\x12\xb1\xf0\xfa\xfd\xce\x34\xb6\x15\x43\x95\x3e\x94\xa5\x60\xf9\x65\xc6\x87\xe3\x61\x55\x77\xd5\x91\xab\x90\x1f\x9a\xb0\xd7\x8d\xc8\x05\xa0\xdd\x33\x3f\xcd\x5d\x41\x6a\x85\x86\x0a\x4c\x60\xda\x23\x68\x53\xf2\xeb\x77\xeb\xe2\x86\xba\xaf\xef\xc4\x92\x53\xde\xbc\xee\x11\x38\x21\x3a\x18\xf7\xb6\x62\x68\xae\x9e\x6d\xc5\x70\xcd\xb3\x0d\x2f\x87\x25\xaf\xb8\x44\xd6\x6d\xbb\x2c\x32\x8e\x20\x8c\x4b\x26\x2a\x30\xed\x8f\x3c\x40\xef\x76\x72\xa4\x61\x02\xd6\xdb\xc1\x40\xdf\x01\xb7\x89\xbb\x5d\x64\x7f\x52\x67\x63\xdc\x94\xc5\x82\x57\xd5\x5b\x96\xf3\xac\x8a\x30\x49\x8e\x6d\x19\xa0\xf2\xfa\x67\x6c\x3c\x4b\x01\x96\xce\x07\xdf\xb4\x50\xf2\x55\xc9\xab\x75\x78\x8d\xa6\xbe\x2d\xd3\xb2\xc2\xdd\x99\x25\x81\xda\xba\x7d\xb2\x51\xdd\xfb\x29\xee\x2a\xa2\x97\x94\xf3\x8f\x32\xc2\xa9\x82\xe6\xa2\xc8\xa5\x42\xa8\x07\xd7\xd8\xbb\x75\x7c\xb5\x08\x7c\xfb\xbb\x16\x73\x04\xf8\x35\x01\x05\x65\x84\xbe\xa9\x36\x2c\x3f\x46\xf8\xc0\xaa\x0d\xf5\x74\x00\xbb\x7a\x06\xcb\x7a\x28\x96\x06\x5a\x58\xa1\x81\xa2\x80\x67\x45\xe4\x03\xd1\x40\xcf\x0c\xd4\x99\x47\x20\x48\x44\x67\xdb\xcd\xab\x35\xae\x7d\x37\x2c\xbb\x5a\x7a\x43\x58\x8f\x7e\xb3\x66\x07\x06\x0f\x33\x45\xd8\xbb\xf0\xd2\x82\x4f\xd0\x4c\xd3\xf5\xb5\xd5\xd2\x6f\x9a\x4a\xe4\x5f\xb4\x69\x9e\xb0\xa1\x93\xdd\xc1\x8e\xef\xdd\x35\xfe\x45\x25\xd8\x3b\x0d\xa8\x1c\x9e\x8e\x2e\xd1\xeb\x9a\x82\x86\x72\xb3\x37\xef\xc2\x85\x56\x6f\xab\x84\x45\x51\xe6\xaa\x46\x96\xd5\xd9\x75\xf5\xd0\x4f\xdf\x2b\x0f\xba\xf0\x8e\xc1\xb7\x2f\x5e\xf1\x8f\x1b\x96\x2f\xbd\x8b\x57\x5e\x9e\x76\x74\xec\xce\x83\xd0\x96\x45\x56\x35\xf2\x24\xbb\x30\xf1\xc1\x5a\x6a\x54\x88\x9b\xe8\x60\x71\xd4\x8c\xbe\x05\xbf\xea\xa6\xc4\xc5\x56\x72\x1b\x7f\xcb\x10\x0a\x1f\xc1\xc0\x21\x27\x58\x0a\xbd\x57\xb5\x59\xcc\xd8\x2b\x11\x41\x0f\x04\x83\xe1\x80\x3a\x72\x32\x76\xc1\xb3\x8c\x2f\x2f\x6e\x51\xdb\x71\xbb\xb9\x7e\x1a\x8f\x86\x86\xba\x78\x0b\xa2\xb9\xf9\x10\x1b\xbc\x52\xad\xc4\x83\x8b\xfc\x6f\x06\x2c\x32\xfd\x21\x73\x25\xd4\x51\x30\xef\xd0\x1c\x0c\x74\x6c\x2b\xa4\xd3\x00\xa8\xdd\x57\x93\x20\x8c\xa9\x8d\x48\xba\xb0\x51\xe5\xb8\xf5\x51\xb2\x67\x65\x24\x31\x71\x9e\x9e\x38\x8d\x10\x1c\xee\x50\xd4\x7a\xcc\xd8\x61\x40\x8e\x75\x50\x2a\x56\xab\x80\x04\x92\x76\x51\x17\x9a\x81\xcb\xed\x06\xce\x90\x2a\x92\x38\x08\xd8\x00\xa3\x54\x13\x77\xc7\x9e\x9a\xbc\x3a\xfb\xcc\xdd\x51\xdb\xa0\x77\x12\x9a\x9c\x7a\x06\x09\x26\x48\x13\x2c\x7f\xd4\x4d\x0c\x95\x61\xe4\x0f\x93\x8c\xc3\x4b\x5a\xdc\x14\xf2\x08\x6d\xd4\x81\xd8\xe1\xdd\xad\x8e\x5b\x3a\xa4\xdf\x0f\xe0\xba\x27\xe7\x1f\xf8\xed\x32\x70\x28\x95\xda\x2e\x28\x47\x2c\x93\x7f\xe5\xb7\x83\x41\x5f\x8e\x16\xb2\xcc\xfe\xca\x6f\x6b\xb3\xf5\x56\x8c\x4c\x9c\x52\x7b\xcb\x20\x3c\xb7\xed\xdd\x24\x9b\x0a\x01\xe1\x22\xeb\xb4\x04\x46\xd7\xf1\xa4\xba\x11\x72\xb1\x8e\xa4\x6d\x0a\xdf\x2d\x58\xc5\x7b\x62\xa4\xe3\x82\x9a\x0f\x08\x21\x9a\x07\xcd\xcd\xa2\x2a\x1e\xe3\xbf\xb0\xf9\xe4\xa2\xe4\xec\xc3\xc4\x94\x84\x30\xa7\xe6\xf7\x8f\x6f\xdb\x75\x86\xe3\x98\xb5\x6b\xe9\xd8\xa3\xe6\x43\x87\x39\xd5\x0b\x02\xc8\x62\xc3\xd7\x48\x1c\xd6\x82\xd0\xaa\x8d\x1e\x92\x46\xcb\x2f\x5e\x9f\x34\x8b\xb0\xe1\x78\xbe\xcf\xe1\xcc\x77\xc0\x30\x6c\x97\x23\x8b\x64\x38\xc6\x84\x47\x79\x3b\x23\xc1\x24\x77\xb1\x48\x65\xdb\x81\x4f\x31\x20\xc0\xe5\xfc\x95\xdf\x9e\x34\x17\xd5\x81\x19\xd4\x05\xf5\x02\x8e\x7e\x7c\xab\x84\x33\xb3\xc4\x10\xe2\xb0\x79\x17\x45\x75\x14\xb9\x28\xa8\x7b\x62\xb8\xb1\x87\x70\xab\x2d\xde\xcf\x71\x87\x9a\x7b\x0c\x78\x4b\x73\xd1\xa1\xdf\x81\x50\xd3\x9a\xad\xb4\x2e\x83\xe6\x93\x47\x10\x71\xcc\x6b\x75\xda\xda\x88\x1d\x3c\x1c\xf8\x50\x2a\xca\xc6\x44\x5e\xb5\x6e\x8b\x78\xe5\xc1\x88\xda\x31\x22\xeb\x97\x67\x53\x57\x2e\xfe\x56\x8b\x1a\x3f\x6c\x0a\xe1\xa0\x9d\x83\x5d\xe2\x40\x36\x1c\xfb\x33\xed\xda\x5f\x75\x9b\x07\xce\xc3\x36\x37\x1d\xac\xcf\x21\x96\x2c\xb8\xca\xa3\x67\xda\x38\x09\x1a\x6c\xe2\x21\x3e\xe7\x37\x30\x33\x4d\x36\xca\x9c\xdd\x07\xba\xf0\x0e\xca\xdf\x78\xe0\x22\x17\x40\x16\x81\x50\x38\xba\xe7\xac\xc5\x08\x8f\x94\x4c\x0c\x90\x3b\xb0\x0b\x44\xe3\xde\x15\xa9\x28\xf3\x8f\x4a\x92\x87\xd0\xb4\x01\x50\x49\x49\xcd\xfa\x99\xbe\x5f\xe9\x38\xa6\xf5\x58\x50\x1c\x85\x12\x9e\x0b\x3f\xba\xdb\xc5\xb1\xc4\x13\x1f\xa7\xf4\x4a\xab\xa5\x02\x51\x93\x47\xcc\x62\xc6\x27\x64\x8c\x26\x57\x51\x7f\x77\x30\x8e\x75\x3b\xed\x85\x0b\xe4\xa3\x4f\xac\x9b\xe9\x05\xe1\x51\xb5\x2e\x6e\xa2\xa6\x5c\xd1\x90\x4b\x5b\x0c\x8e\x33\x4a\x9a\x50\x8d\x84\x51\xe1\x81\x87\x54\x54\x98\x71\x80\xcd\xa5\xce\x99\xb0\xdd\x2e\x62\xb4\x8c\x91\x9d\x3e\x8a\x25\xf1\xea\x12\x86\xb1\x89\x24\xa6\x0a\x01\x75\x85\x32\x5e\x2b\x24\xc7\xd8\xd5\x09\x39\x5f\x92\x63\x57\xb2\xc9\x2a\x12\x86\xf7\xd8\x81\xa7\x31\x45\xe8\xa8\xb5\x05\x0a\x19\xec\x71\x5d\xeb\xae\xc1\x89\xa7\x68\xc5\xb2\x4a\xb5\x13\x72\xef\x2e\xdd\x1e\x28\xe9\x70\xdc\x18\xc0\x5d\xc0\xe9\xa6\x48\x96\x5b\x8e\xf6\x16\xe7\xc9\x27\x24\xe1\x03\xa3\x81\x46\xda\x83\xd1\xc9\x6e\x2c\xc9\x27\x86\xa2\xc7\x6e\xe3\xd7\x58\x88\x40\x04\xe6\xae\x73\xb2\x83\xa7\xea\x60\xfb\x98\xe5\x08\xd1\x4a\x18\xaf\xb6\x29\xc4\x14\x70\x9e\xa7\xc1\x86\x53\x87\x94\xc8\x2f\xab\x08\xa5\x26\xac\x7c\x07\xab\xad\x4f\xc2\x1a\x11\x65\x33\xc0\xf2\xa4\x56\x7a\xf6\x29\x65\x83\x81\x89\xa7\xac\x3f\x22\x31\xa4\x32\x70\xbc\xe8\x27\xd8\xc9\x37\x6e\xde\x8d\x4e\xc5\xd0\xf6\xd8\xac\xda\xac\x69\x60\x7c\x28\xc6\xa9\x99\xb8\x77\xfa\x88\xa1\xcd\xf3\x22\xc5\x46\x38\x6e\xd4\xc0\x10\x11\xbb\xe9\x47\x09\xaa\x34\x8c\x53\xdf\x53\x30\x12\x34\x79\xd0\x98\x84\xf3\x95\x8d\x04\xf1\x83\xb0\xfa\x52\x46\xdd\xff\xde\xfd\x16\xa0\x6b\x70\x6a\xb7\x36\x99\x68\x11\x47\xa9\xa3\x09\x5a\x09\xc7\x9d\xfc\x30\x5a\x61\x58\x7b\x97\x4a\x3a\x18\x44\xeb\xe0\x20\x48\xc0\x3c\xa5\x82\x84\x6c\x5a\xca\x21\xd6\xc7\x1e\x86\x58\x8f\xa0\xc3\xc7\xbe\x75\x89\x53\x4e\x9b\xb8\x2f\xb5\xde\x89\xf8\x48\xdd\x31\xdd\x3b\xcb\xe4\x23\xcb\xee\xa3\xfd\x44\x42\x5c\x4d\x06\x0c\xb8\xe7\x56\x17\x0a\x6a\x62\x26\xe7\x14\x05\x33\x45\x4e\xd6\x6e\xca\x5a\x07\xc5\x12\xef\x12\x75\x20\x9b\x89\x03\x19\x96\x56\x7b\xe3\xf6\xd9\xda\x7a\x04\xee\x1a\x7a\x97\xda\xab\xbe\xf4\x1d\xe6\xee\x49\x30\x9f\x43\xe8\x61\x8f\x6f\xe6\xa3\x04\xa9\x68\x9b\x3f\x56\x67\xca\x2c\x99\x53\xaa\x9d\xc5\x4a\x9a\x0f\x06\xc2\xe7\x6b\x49\x41\xcb\x29\x8f\x70\xea\x66\xb6\xa6\xcc\xfe\x5c\xd2\xbb\x22\x5b\x1a\x05\x33\x23\x45\xb6\x04\x5e\x2c\x5d\x93\x9c\xdf\x98\x64\x53\x5b\xa5\xe8\xcc\x62\x3f\x69\xf3\xff\x24\x1f\x0c\xfa\xa2\xa1\xac\x5d\x07\xa1\x8b\x42\xe5\x33\x22\x92\x2c\xed\x5d\xe8\x48\x58\xd6\xa1\x9c\xf6\xc7\x69\x07\x7b\x19\xea\x13\x69\x6e\x06\x65\xba\x00\xc9\x33\x5a\x62\xc2\x3e\xa9\xf1\x3a\xc0\x63\xc0\xed\x4f\x90\x98\x07\x03\xf6\x3b\xd4\x95\xa6\x72\xa8\xa1\xac\x19\x0f\x9b\x6d\x98\x55\x38\xd5\xdb\xda\x39\x9f\x8f\xf9\xb7\x70\x4a\xf5\x9c\xaa\x3f\x30\xa7\x16\x87\xdd\x39\x59\xf2\x40\x36\xd9\x01\x1c\xa8\x90\x5e\xba\xae\x7d\x30\xb2\x08\x67\x77\x81\x35\x3e\x04\xc7\xbf\x4d\x4c\xe5\xc8\x62\x6f\x68\xaa\xa8\x09\x83\x35\x57\x60\xb8\xe5\x1b\xe9\xdb\x72\x24\xb4\x6b\x08\x12\x5a\x36\x58\xa8\xc3\x31\xf6\x1f\x2b\xe4\xe9\xaf\x48\x10\x46\x24\x4e\x23\x66\x79\x15\x11\x70\x92\x66\x8e\xcf\xcd\xd5\x76\xd0\xf7\xb0\x7b\x79\x1e\xc2\xac\xd8\xcb\x3a\xb4\x9d\xc4\xf0\x23\xaa\x1f\xf7\xc0\x82\x05\x4a\x58\xf3\xce\x63\xb7\x0e\xb1\x64\x7b\x9c\x8a\x30\x10\x6c\x2d\x55\x76\xbf\x6d\xd1\x4b\x74\xa8\x61\x38\x13\x1b\xfc\x8f\x3a\x09\xbb\x74\x0a\x01\x8b\x6a\xed\xb9\x76\x22\xe1\x98\x0f\x30\x71\x35\xb7\x76\x80\x9f\x83\xb8\x14\xd6\x42\x17\x44\x78\x76\x71\x29\x4a\x52\x90\xb5\xbe\x6a\xbc\xa4\x09\x59\xd0\x5a\x22\x8f\xdc\x33\x19\x70\xa9\x01\x88\x0e\xfe\x46\xda\x5f\x36\xa2\x64\x13\x15\x20\xe4\xc1\x96\x2e\x06\x83\x6c\xa4\x8e\x8b\xdd\x2e\x23\xd7\x7e\xdc\xc1\x75\x6b\xfd\x2b\x17\x1b\xb6\x75\xca\x6e\x07\x83\xa8\xa0\x5b\x4c\x5a\x17\x9f\x55\x4e\xa9\x72\x4a\x5a\xee\x76\x5b\x13\xbb\x60\xb7\xcb\x5c\x14\x03\x5a\xa8\x74\x1b\xde\x40\xe5\xb8\x50\x07\xf5\x03\x20\x4e\x1d\x90\x53\x6e\x90\xb4\xe1\x18\x2c\x47\x35\x5a\xd7\x31\x1b\x0a\xa2\xbb\x49\x4b\x52\x49\xbe\x69\xa8\x54\xe5\x28\x2f\x6e\xbc\x6b\x44\x11\x37\x51\xbf\xf5\x7e\x70\x2d\xb2\xee\x16\x6d\xd0\x87\xf4\xba\xd5\xb8\xc0\x77\xa2\xdd\x38\xb1\x4c\x58\x9f\xea\xb0\xaf\x9b\xe9\x32\x86\xeb\x61\x37\xa9\xaf\x31\x5e\x77\xab\x8b\xa3\x56\x93\xf9\x30\x64\x7b\xf1\x70\xa9\x0e\xc7\x04\xa6\xe1\xa9\x82\x7d\xe0\x14\xa4\x24\xd7\x38\xe5\xde\xec\x74\x92\xa3\x6a\x76\xc5\x5b\x17\x43\x24\xe5\x1e\xb5\xba\xe7\xc8\x6a\x49\xa8\x66\xa3\x1c\x38\x38\xb4\x74\x1c\x90\xdf\x50\x34\xae\xb1\xbd\x96\xfd\xf5\x55\x22\x56\x55\xaf\xd9\x15\xa7\x07\xd2\x5b\x71\x08\x99\x3b\xc6\xc1\xb0\xcc\x0f\x06\xc3\x80\xe0\xf2\xbe\xc5\xdd\x7b\x68\xaf\xcb\xe8\xde\x8a\xa4\x09\x41\x2e\xfc\x58\x9a\xda\xe1\xe2\xac\xd0\x26\x6d\xd5\xde\x4b\x78\x9d\xa9\x6f\x03\x5c\x3c\x49\x12\x72\x25\xf2\xef\xf5\xdd\xfe\x31\x71\x4e\x14\x77\x57\xb7\x69\x7d\x19\x83\x30\x69\xbe\x8c\x32\xa6\xf6\x63\x76\xbe\x23\x55\xb1\x2d\x17\xc6\x78\xbe\x58\xb3\xfc\xd2\xfe\xce\x8a\xca\xfc\xd4\x4f\x43\xc1\xcf\x62\xc3\x73\xfd\xab\xe4\xd5\xa6\xc8\x6d\x91\x8a\xb3\x72\xb1\xb6\xbf\x33\x08\xb3\x02\xa6\xf7\x92\xff\x73\xcb\x2b\x69\xe9\x9a\x9a\x97\xda\x12\xc9\x41\x9b\x3c\x31\xd7\xdf\x42\x95\xe1\x81\x67\xd2\x08\xa3\xc8\x06\x07\x81\x27\x3d\x48\x41\x75\xcc\x10\xf8\xd2\xe7\xa4\xa8\x4e\xb7\x99\x14\xdf\x8b\x9c\x53\x36\xed\x27\x69\xe1\x38\x30\xa7\x25\x2a\x8b\x4d\x84\x44\xf5\x5c\x63\xe3\x8b\xa5\x80\xd7\xea\xac\x86\xe0\x9a\x65\x5b\x7e\x0a\xc1\x5e\xc3\x81\xb1\xdd\xae\x98\xa2\x6b\x70\x1c\x56\xe3\x40\x46\x78\x11\xd5\x6b\x7e\x73\xca\xf3\x2d\x6d\x84\xec\x6c\x70\x0e\x1e\xa6\x0c\xf5\xb0\xdd\x81\x18\x20\x11\x2a\x56\x2b\xd4\x64\xe7\x5d\x14\xd0\x96\x91\x21\x07\x23\x43\xc7\x0c\x4b\xce\x96\x6f\xf2\xec\xd6\xc5\xcc\xef\x49\x35\xc2\x4a\xfd\x23\xd4\x3f\x8e\x12\x4c\x24\xed\x8f\x21\x44\x3e\xc4\x50\xd3\xf7\x91\x02\xcd\xb6\x35\x30\xe4\x0d\x03\x03\x1b\xd9\xe7\xc8\xa4\x9b\xfd\x39\x98\x8a\x91\xda\xdb\xa2\xd8\x56\x6f\xd9\xa5\xda\x56\x81\xd2\xdf\x54\x03\x7b\x44\xab\xa2\x62\xbb\xba\x2b\x85\xdd\x7c\xe0\xb7\x3a\xea\x92\xeb\xaa\x5d\xa3\xd9\x43\x5d\x47\xf5\xd2\x2e\xaf\x8d\x16\xe6\x23\x78\xaf\x0d\xea\xc3\x63\x8a\xb5\xbb\x85\x6a\x37\x6f\xcb\x0e\x75\x51\xbd\x3b\xa2\x1c\x37\xba\x39\x7b\xf6\x6d\x47\x83\x1d\xf5\x1a\xa3\xd3\xcf\xd1\xd5\xe5\xec\x82\x8b\x40\x8f\xe2\xec\x63\x80\xca\xfa\xb7\xe4\xe5\x95\x19\x19\x6c\x76\x1d\x9f\xa8\x65\xf6\x30\xfd\x19\xaa\x95\x8a\x1a\x72\x7a\xd3\xdb\xe0\x1e\x39\xde\xef\xc9\x07\x7e\xbb\x29\x79\xe5\x89\xc9\x95\xc6\x45\x0f\xdf\xc6\x24\xea\x37\x37\xa6\x11\xa5\xee\x99\x01\x56\x1c\x7e\x0b\xae\x35\xbe\x8a\x55\xd4\x17\xf5\x73\x49\x6d\x3c\xad\x1a\x78\x9a\xd7\x78\x7a\x10\x45\xab\x00\xda\xb9\x8f\xa2\x9d\xd8\xd9\x2c\xef\x1a\xef\x42\xcc\x66\x61\xaf\xdd\x26\x4e\x6a\x07\x46\xa0\x10\x5d\x91\x17\xaa\x69\x54\xe9\xa0\x06\x87\x01\xe4\xe2\x4f\x84\xab\xc6\x43\x83\x65\xe3\x15\x40\x63\xa7\xb0\x9c\xea\x2b\xc9\xaf\x68\x1d\x97\xd7\x4e\x85\xfa\xa8\x85\xf7\xe4\x22\xdb\x96\x9d\x01\x22\x00\xd5\x20\x2e\xcd\xb7\xd9\xb6\x9c\x46\x26\x20\x7d\x23\x3d\x18\xf3\x22\xe3\xac\xb4\x83\x35\x83\x51\xe3\x17\xf9\x65\x80\xbb\xee\xfc\xd6\x67\x58\x63\x5e\x7b\x3f\x5a\xf0\x3b\x38\xf1\xfc\x4d\x49\x79\x84\xbe\xd9\x66\x6d\x0f\x21\x8f\x08\x2b\xc1\x73\x55\x16\xb9\x74\x77\x9d\xad\x3b\xd0\xb9\xfb\xc4\x18\x9a\x8b\xee\xca\x22\x33\xbe\x67\x56\xbb\x6b\x9e\x09\xda\x8a\xa1\x2a\xd1\xa2\xe5\x3e\xe2\x9b\x10\x7f\x2d\xbb\x71\x87\x4a\xa2\x01\xb9\x7a\x6b\xea\x78\x62\xde\x3a\x76\x83\xda\x44\x42\x33\x3a\x19\x7f\x10\xb3\x64\x3e\xf1\xad\xa8\x36\xc6\x10\x88\xd6\xaa\xe0\x50\x48\x7e\xe5\xac\x6f\x56\x15\xd2\xea\xd7\x7b\x01\x12\x4a\x38\xbf\xd1\x22\xe7\x5e\xc4\x2d\xef\xad\x9e\x0a\xdf\x55\x5e\x70\x0e\x6f\x40\xbb\x9d\x97\x21\x94\x10\xe3\x2c\x8c\x82\xd8\x2c\xbc\xdb\x49\x83\x13\x78\x0f\x77\x71\xd4\x68\x9b\xaf\x5b\x9a\x87\x65\xc2\xc3\xda\x12\x49\xef\xf4\x1e\x13\x19\x06\xd5\x1b\x0c\x8e\xfe\x01\xa3\xb6\x5e\x1e\x61\x36\x44\xfa\xc3\x38\x08\x6e\x0b\x60\x55\x7b\x22\x6a\x44\xdf\xf6\x60\x00\x8f\xb7\x90\x50\x63\xec\x60\x6f\x59\xd2\x46\x5f\xd8\xe7\xdc\x27\xf6\x89\x08\xb5\x2c\x35\xb2\x85\x1c\x06\xac\xd8\xa4\x3f\xb6\x8a\xd8\x9a\xd9\xd5\x91\x0f\x89\x24\x77\xaa\x50\x5a\xed\xf1\xb4\x63\xe2\x1f\xf8\xed\x7d\xd3\xb6\xbe\x16\x9a\x10\x18\xb6\xc9\x98\x14\x32\x71\xcd\x7f\xe0\x97\xa2\xc8\x47\x8a\x51\x72\xb9\x7a\x79\x0c\xcb\x18\xca\x5c\x56\x4b\xf2\xc9\x19\x59\x77\x08\x4b\x8f\x26\x0d\xe6\xd1\x4e\xd7\x0f\x49\xae\x0f\x58\xc3\x83\xdb\x85\x77\x26\x58\xeb\x04\x10\x50\xb9\xea\xd0\xde\xea\x2c\x16\xd0\x4c\xb1\x87\xe8\x2f\x6d\xb8\xeb\x52\x88\x70\x03\x78\xb1\x6f\x40\x51\x18\x38\x11\x77\x64\x87\xd4\xb6\x8b\x06\x36\xba\xb6\xc4\xaf\x5e\x02\x5a\xfb\x44\x12\x4d\xab\x50\x25\x99\x54\x18\x60\xec\x68\x4a\x16\x4b\xd1\xa6\xc8\x84\x04\x13\x55\x40\x16\x8d\x09\x58\xeb\x38\x94\x2c\xc7\x2b\x6b\xae\x09\x7c\xbf\x7d\x98\x36\x09\x9e\x0e\x19\x40\xee\xb4\xca\x74\x9b\x67\x05\x5b\x1e\x8c\x28\x17\xb8\x84\xf9\x8c\xb1\x09\xd5\xd9\xe1\x7f\xf8\xe9\x73\xe3\xa0\x5b\x62\x17\x53\x7e\x78\x04\xa4\xcd\xb8\xb8\x38\x15\x4d\xcc\xf7\x5c\x26\x0f\xf9\x6e\x99\x33\xda\x73\x93\xd2\x02\x9a\xef\xa7\x14\x9e\x62\xc8\x1e\x3f\x7e\x91\x60\x3c\x87\x8f\xab\xb6\x1f\x94\xa9\xff\x71\x5d\xd6\xbf\x46\xec\xa2\x28\x75\x90\x7d\x27\x99\xde\xef\x7d\x6b\x8b\xb9\x30\x21\xc0\x1a\x4b\xf7\xe6\xa4\xac\xe3\xdc\xf0\xc8\x3e\x0c\xe8\xc8\xa2\xf6\x80\x30\x0f\xc0\x62\x02\xa1\xe5\x42\xab\x7e\x70\x1a\x99\x53\xb9\x16\xfe\xeb\xf2\xfe\x8e\xbf\x28\x96\xb7\x98\xc8\x3d\xf1\xc0\xd7\x29\x7d\xea\xd3\x8a\x8f\x44\x05\x4f\x79\x85\xbe\x18\x7a\x35\xf0\x34\x6a\xcc\x58\xa7\x9b\xfd\x07\xbf\x69\x78\x97\xb9\x82\x97\xe1\xc2\x57\xf8\x8d\xfa\x51\x12\xa1\x99\x71\xbc\xc7\xe9\xfd\x01\x01\x75\xd3\x70\xab\xec\xa1\xbd\x4b\x92\xab\x13\x15\x56\x34\x58\x4e\x02\x5f\x94\x8f\xd8\xaf\xec\x63\x74\xb7\x2d\xb3\x54\x10\x78\x4e\x55\xc2\x1f\xb5\x3c\x29\xfa\xb5\x2a\x72\x44\xaa\x2d\xec\xf2\x80\xab\xd3\xef\x8b\xc1\xab\x2a\x3e\x1c\xf3\x68\x36\xd7\xba\x92\xd4\x1f\x4f\xc7\x78\x61\x1b\x78\xcc\x68\xd0\xfa\xa7\x37\xb0\xfb\xa6\xf7\xd1\x65\x05\x58\x47\x77\x0d\xd1\xb4\xf4\xfe\x00\x5f\xab\x1b\x8e\x8c\xda\x07\x77\x06\x26\xdc\x5b\x95\x47\x97\xeb\x65\x8f\x53\xed\xb7\xcf\x6d\x60\xdf\x90\x5c\x77\x90\x71\xab\xb7\xfc\x26\xe8\xcb\xe9\x78\xa6\x1e\x99\xb7\xfb\xc5\x3f\x45\xd4\x50\x10\x91\x3a\xe6\xdb\xd4\x67\xf4\x23\xee\x07\xf5\xb4\x10\x6f\x07\x6a\x36\x9a\x19\xf7\x9e\xca\x27\xf5\x15\x8a\x62\x2b\x44\x0d\xb8\xd0\x77\xd0\xba\xf3\xc0\xd2\xeb\x1c\xdd\xa9\x09\xa7\x7c\xef\x1c\xa4\xb4\xea\x28\xc2\xda\xd1\xc7\x28\x92\x5a\x24\x25\xd6\x71\xdf\x7c\x15\xd2\xc4\xc5\x5e\xdd\x94\xc5\xc7\xdb\x40\x09\xe7\x62\xb9\xf9\x15\x2c\xc9\xac\x3b\xb5\xa7\xa4\x99\xf0\x70\x18\x7c\x1a\x46\xf6\x41\x87\x83\x83\x80\x9e\x98\x9a\x4c\xc7\x6c\x38\xbe\xe3\x83\x41\x64\x7d\x86\xf2\xa2\xbc\x62\x99\xf8\x17\x8f\xdc\x83\x1d\xf5\x42\xda\xda\x46\xe7\x78\x67\x2f\x49\xf0\xbd\x0d\xc8\xd7\x8c\x22\x3f\x18\x80\x77\xb0\xf3\xba\x6b\xad\x85\x75\xfd\xad\xb6\x97\x97\xf0\x42\x77\xab\xd3\x62\xc3\x73\xe4\x5c\xe4\x2c\xeb\x6c\x14\x80\x2d\x3c\x09\xd7\xd9\xca\x1b\x96\x01\xd9\x93\xf3\x03\xf5\x1e\xa0\x9c\x08\x8a\xf8\x4e\x31\x2d\x0e\xba\xad\x5f\xf3\xde\x8f\x51\xfd\x23\xbd\x71\x8d\x34\xd8\x81\xed\x86\x5b\x6b\x53\x86\x66\x6b\xd0\x40\xcd\xa0\xb5\xe8\x06\x30\x20\x6e\x51\xbb\x82\xf9\xd5\x3a\x69\x38\x87\xc0\x47\xc9\xfc\x86\x5e\xa7\x32\xe5\xa3\x2b\xb6\x89\x64\x47\x94\xe1\x8e\x48\xf4\x77\xd0\x42\x2a\x09\xd4\x4e\xe5\x3e\x75\x8f\x8f\xda\x2c\xdd\x89\x3a\x67\xa1\x8c\x2d\xa9\xbf\x54\x32\xe4\xef\x89\xd4\xb1\xf8\x0d\x6e\x1c\xb2\xd5\x07\xeb\xc2\xaf\x36\xf2\x36\x32\xde\x70\xe7\x25\xcf\x97\xbc\x54\x2b\x01\xaf\x65\x1f\x5a\x1d\x68\xc1\xf9\x45\x36\xad\x87\x25\xaf\xc4\xbf\x38\x34\x02\x71\x3f\x8d\x32\x3b\xaa\xa7\x55\xac\x02\x7d\x6d\x83\x22\xdb\x0a\x76\x3f\x39\x2e\xc4\x2a\xce\x7d\xa6\x48\x5b\x70\x35\xdd\x31\xbd\x76\x47\x88\x0e\xa6\x3d\x09\xc2\xd4\x39\xc7\x19\x1b\x55\x0f\x85\xaf\x6b\xe3\x78\x1c\x52\x51\x3f\xcf\x10\x3d\x0b\xb7\x86\x50\xea\xbd\x25\x60\xfc\x47\x44\x23\x0e\xba\x83\xba\xc2\x3e\xfd\x2e\x10\x11\x7a\x1d\xc3\xf4\xee\xa3\xc9\x5f\x37\x55\x12\x32\xef\x13\xaf\x14\x92\xf8\x4d\x37\x06\x6c\x09\x72\x84\xbe\xc9\xc4\x71\x1d\x08\xce\xbd\xa0\x0c\xe2\x9e\xd0\x18\x87\x7d\xdd\x89\x0e\x27\x7a\xcd\xef\x19\xe7\x3d\x44\x63\x5a\x17\x10\xd5\x4b\x51\x56\x12\x66\x83\x95\x9c\x6a\x77\xb7\x11\x56\x39\xf6\xd5\x8b\xa2\xfa\x9e\xf9\x85\x15\x42\xb8\x82\xd3\x7b\xd5\xa4\x3e\x1d\x6a\x29\xd6\x54\xe6\x8c\xcf\x9b\x57\x2b\x5a\x1c\x45\xe3\x8a\xc0\xfd\xaf\x12\xf9\x00\xd8\x13\x3d\xac\x43\x65\x3d\x2b\x45\x47\x94\xfe\xe0\xd6\xb5\x53\x30\x36\x60\xff\x3b\x15\xb3\x2e\xe0\xe8\x35\xd7\x42\x4b\xa7\xf7\x7c\xe3\x91\xe4\x80\x15\x26\x77\xbc\x5a\xb0\x8d\x12\x94\xf8\xc7\x2e\xdd\x21\x1f\x95\x7c\x93\xb1\x05\x8f\x8e\x66\xef\x87\xef\x67\xef\xe7\x77\xfb\x08\x7f\x16\x4f\x47\xe4\xfd\xfb\xf7\xff\xf8\xf3\xee\x4f\xef\xab\xf9\xd1\x25\x41\xef\xdf\xff\x79\x00\x2f\x41\x00\x6f\xdd\xb9\xbb\x7e\xe0\x97\x2f\x3e\x6e\x3a\xf8\x71\x6f\x0c\x91\xc0\x04\x09\x84\x6b\x86\xe3\xb2\xe4\x01\x89\xf6\xd4\xaf\x06\x7b\x2c\xd5\xe5\x96\xce\x72\xf7\x74\xf9\x41\xf3\x60\x07\x24\x9c\x19\xf0\x8a\x57\x15\xbb\xe4\x55\x7a\x97\x17\x3f\xf0\x6a\x9b\xc9\x2a\x45\xaf\x8b\x9e\xc6\xa6\x5e\xa9\x93\x46\x88\x98\x5f\x9d\x70\x8b\x23\x7e\x3c\x9e\x22\x5b\xba\xc7\x4a\x25\xd9\x9b\xcf\x9e\xa8\x10\x8e\x51\x8f\x5d\x33\x91\x29\x7e\x82\xf4\xb6\x15\xef\x6d\x37\x3d\x96\x2f\x7b\xcb\xe2\x26\xef\xb1\xb2\x2c\x6e\x7a\x1f\xf8\x6d\xd5\x93\x45\xcf\xbc\x1e\xce\x47\x68\xbf\x3f\xc8\xee\x00\xf7\x36\xf1\x24\xd9\x67\xfa\x81\x9a\xc6\xeb\xad\x4d\x56\xc6\xa0\x9a\xcf\x60\x80\x24\xe7\x31\x38\xd3\x90\x3b\x36\xf0\x19\x99\xb9\x45\xb6\x18\x4e\xbb\xcb\x39\x30\xb6\x24\x73\x20\x52\x12\xdf\x67\xe3\x35\xf2\x21\x78\x8d\xeb\xe8\xd0\xe1\xbd\xc5\xfb\x9c\xed\x49\xee\x55\xd3\xf7\x2c\x87\x45\x9e\xdd\xf6\xc2\xc4\x66\x9a\x1a\x95\x2e\xdd\x95\x38\xdc\x94\xe2\x8a\x95\x9d\x15\x86\x15\x5f\x14\xf9\xb2\x23\x57\x75\x81\x48\xd5\x7e\x37\xd8\xb8\xbb\x4c\xba\xe3\xb5\x1b\xa9\x1c\xa5\xae\x39\x84\x4d\x90\x6c\xc5\xb6\xc2\xc9\xae\xb6\xdd\x18\xef\x09\xeb\x88\x67\x25\xe1\x99\x5a\x78\x4e\x74\x55\x94\x57\xe0\xe9\x37\xab\x1f\x21\x11\xda\x15\xb4\xde\xe4\x8f\xf4\x5e\x7e\x04\xda\xbd\x7c\x0a\x17\x76\xf4\x08\x66\xaa\x21\xfa\x08\xde\xeb\x7c\x34\x47\x38\xe5\xad\x34\x22\xc3\xc7\x0c\xf1\x41\x47\x1f\x4d\xef\xd4\x88\xf6\x18\x93\x6a\x3f\x09\xb6\xaa\x99\xe8\x43\x6c\xf8\xba\x68\xe7\x83\x98\x9a\xea\xf3\x8f\x32\xed\x27\x44\x33\x68\x90\x64\xae\xc0\x9b\x55\xb4\xb6\x73\xb3\x6c\xda\x7a\xd0\x79\x75\xbd\x5b\x13\xa2\xe6\x80\xea\xd8\xd9\xfa\xfa\x6c\xd7\x03\x49\x36\x22\xfb\xe1\x12\xa4\x82\x70\x72\x8d\x67\xb5\x3a\xf7\xec\xb4\x33\x95\xf6\xfb\xc1\x20\xb5\xf1\xb9\xbe\xb2\xd3\x65\x7c\xaf\x6f\xd1\x75\x36\x59\xdf\xb8\x51\xe7\xb1\xc8\xf9\xb7\x00\xf0\xb3\xdb\x8d\x93\x12\xd6\xac\x3a\x13\x32\xe3\xb6\x77\xbd\x24\x2f\x82\xeb\x1c\x52\x15\x40\xd8\x3c\x14\x2f\xe1\x85\xd5\xd0\x21\xb5\xa4\x68\xb1\xe6\x8b\x0f\x17\xc5\x47\x64\x05\x4a\x05\x81\xdd\x0e\x95\x6c\x29\x8a\x20\x91\xac\x69\x39\x45\x28\x45\x4d\x5f\x4b\x78\xbb\x9d\x52\x5a\x58\x76\x3f\x32\xbf\x3c\xf7\x04\xd7\xca\xb4\x63\xb8\xd7\x2c\x8b\x0c\x9c\xc2\x8c\xb5\xbc\xca\xea\xd7\x2f\x1b\x2e\xba\x41\x51\xfb\xd6\x59\x08\x06\xe7\xe1\xd8\xb8\x15\x51\x6f\xea\x3a\xf6\xba\x0e\xb6\xd6\x89\x22\x1e\x3e\x16\x0d\x0a\xae\x9f\xbd\x73\xde\x73\xed\xd7\x9a\xac\xaf\xcf\x3e\xe8\x0c\x1e\xa3\xfa\x4d\x9d\xd9\x2e\x7c\x21\x7d\xdd\x78\x87\xe5\x13\x0d\x72\xbf\x45\x88\x66\xda\x7e\x75\xe0\x9e\x27\x53\xea\x9b\xd1\x45\x1e\xdd\x75\x1b\x4f\x0f\xc0\xbf\xe3\xf1\xaa\xd0\x6e\xda\x59\xfd\x53\xef\x56\x11\xab\xb6\x0d\x5f\xb6\x31\x52\xec\xa7\x80\x9b\xd7\x32\x1a\xdc\x4c\xee\xda\x07\x5d\xc8\xfa\x70\x78\x3b\xbe\xa4\x86\xfa\xb4\x3f\xf6\x5f\x9d\x49\x3b\xb6\xd9\x1f\xed\x53\xac\xa2\xba\x3f\x63\x9b\xeb\x8f\x27\x0f\x40\x51\x92\x77\x92\x11\x30\x92\x80\xa3\x03\x78\xab\x82\x73\xa6\x26\x2a\x92\xe6\xbe\x09\x95\x45\x12\xeb\x8b\x45\x18\x44\xfc\x36\x20\xec\x20\xec\x59\x6a\x1e\x61\xc6\xb3\x64\xbe\x3f\xf4\x4e\x99\x73\x96\xeb\x1c\x8d\x71\x39\xdd\x5b\xe1\xa3\x0b\x6e\xb5\xe1\xf5\x77\xad\x57\xf4\x10\xd0\x49\xf3\xe2\x4d\x97\xbd\x73\xbb\x09\xac\x9d\x92\x6a\x63\xb9\x2f\x19\x35\x5e\x0e\xf9\x83\x03\xbd\x1f\x90\x5d\xfd\xda\xbb\x1c\xf7\xf7\x2b\x0f\x75\x1c\x1d\xbc\x11\x0c\x57\xa2\x77\xbb\x83\xf9\xe0\x5c\x84\x1f\x44\x41\x0f\x8c\xfb\x00\xb4\x62\xd4\x53\x24\xe6\x93\x90\x7c\x18\xcc\xf6\x9d\xe7\x8b\x92\x0d\x19\xb2\x7a\xb4\x30\x0f\x46\x16\x3d\xe8\xd6\x34\xc0\xa8\x06\x01\x6c\x73\x45\x94\xbc\x6b\x66\xed\x07\x43\x8b\x16\xb7\x00\x3c\x8e\xe6\x14\x4c\xa0\x92\x16\xf7\xd0\x52\xfe\x10\x49\xc4\xc4\x91\x9e\xd0\xee\xa4\x66\x37\x83\x64\x4b\x1b\xe7\x08\x4f\x6b\x42\x99\x1e\x28\x0d\x24\x0d\x8a\x6a\xe2\xd6\x2e\x67\x0c\x8d\x53\xf3\x23\xb5\xe7\xf1\x01\x2a\xdc\xc9\x8d\x4c\x23\xde\x75\xf9\xb5\x8a\xf0\x28\x63\x15\xf8\x8b\x50\x04\x5c\xc8\x6c\x55\x94\x8a\x5d\x0e\x55\xfd\xee\xde\xa6\x61\xa2\x5b\x2b\x48\xb9\xb5\xcd\x75\x2d\xbd\x33\xbe\x71\xe7\x74\x3e\xe5\xf5\xad\xbe\x06\xd7\x57\xa7\x1f\xea\x48\xdb\xc6\xee\xef\xea\xbe\x31\xe2\xfb\x42\x36\x1d\xb6\x61\x13\xd1\x5e\xf3\x14\x16\x01\x9e\xb6\x16\x9d\xa8\x7d\x2f\x1d\x6c\x17\xd7\x2c\x6f\x48\xb7\x05\xee\xe2\xf7\x68\xa8\xf7\xbc\x5f\x5b\x14\xd4\xec\xb6\x8b\xcb\xfb\xac\x1b\xf7\x00\xe5\x13\xbc\x88\x88\x51\xeb\xa6\x0e\x8a\xf3\x87\x85\x7e\xb1\x20\xc0\x9a\xb9\xed\xe8\xaa\xbe\xfd\xef\x89\xb2\xb6\x3c\x6e\xf0\xff\x46\x8f\xd0\x35\xd8\x67\xbe\x10\xf0\xc9\x08\x2a\x3d\x4f\x85\x61\x8c\xf1\x81\xb9\x7c\xda\xe5\x62\xdb\x88\x06\x22\x3b\xd1\xe5\x5e\x36\xae\xc3\x67\x2f\xa0\x63\x81\xfa\xf0\xfe\x60\x11\x2d\x0a\x43\x7a\x96\xcf\x9f\xb6\x91\xfc\x90\x80\x16\xbc\x4c\x6c\x16\xa0\x2e\x3b\x91\xcd\xc8\x35\x35\x3f\x7d\x0f\xb1\x56\xd0\xec\x20\x61\xac\x19\x2c\xe2\xf0\x65\xda\x70\x63\x4e\x0f\x31\x52\xf7\xed\xcd\xfb\xd8\xb9\xf4\x60\x83\x7f\x8c\x29\xeb\x26\xe8\x4d\x17\xa4\xc6\xe4\x7e\x1b\xc9\xb9\x77\x5a\x0f\x46\xc7\x07\x4d\xc8\x58\x52\x2c\x76\x36\x5e\xb7\xe9\x10\x76\xbb\xde\x7d\x77\x36\x31\x1f\x02\x4a\x02\x6e\x17\x6a\xba\xbc\x19\x44\x3f\x3c\x1f\x78\x90\xc6\xf9\x3b\x7d\x73\x64\xdc\x9e\xa0\x96\xe7\x1e\xd2\x40\x93\x0e\x32\xd3\x31\x16\xcf\x98\x61\xed\x62\xc6\xde\xe1\x7c\xd2\x82\x78\x74\x10\xb6\xdb\xe8\x7b\x06\x83\x6a\xe4\xb4\x3d\xa4\xa0\xb3\xf9\xc4\xe5\xed\x76\x5e\xde\x34\xec\x59\x35\x3f\x18\x14\xa3\xcd\xb6\x5a\x37\x87\xaa\xaf\x38\xc6\x11\x9b\xa2\x0a\xa5\xae\xb9\x29\xb2\xaa\x42\x94\xa2\x5a\x33\x88\x30\x26\xde\x70\xa4\x0d\x73\x67\x60\xd5\x83\xab\x31\xf4\x51\x43\x45\xe9\x29\x1d\x4d\x9c\x3c\xd7\x46\x8c\x1e\x39\x00\xab\xa6\x5d\x4f\xaa\x71\x63\x16\xba\xb7\xed\x40\x69\xe9\x5a\x77\xa9\x61\xfb\x2d\xa8\xec\x76\x91\x01\x0b\x9b\x76\x6a\x5b\xb5\x9e\xa6\xa9\x6f\x45\xed\xe3\x23\x50\x16\x11\x3e\x92\xa5\xb8\x8a\x04\xc6\x18\xa7\x07\x00\x6f\x1b\xaa\xb1\xa8\xd0\x4f\x97\xa3\x1e\xc2\x6d\x1b\x80\xae\x5a\x71\x79\x6f\x50\x4e\x21\xf9\x55\x65\x39\x41\xd2\x83\xbd\xa4\xf9\x49\x9d\x34\x0f\xd2\xaa\xed\xc5\x95\x90\x61\x1a\xec\xcc\x30\xc9\x31\xae\x61\x41\x60\x50\x49\x8f\x91\x5e\x0a\xb6\x40\x37\x3f\x8c\x3e\xad\x84\xec\xd8\x3a\x10\xbc\xcf\xf8\x5a\xb5\xea\xf9\x11\x72\x0e\x1d\xc1\x9d\x11\xba\x4c\xdb\x8e\x24\xdb\x17\x80\x39\x91\xed\x08\x63\xf7\x1c\x8e\xa8\x94\x99\xa3\x4a\xc1\x73\x4e\x4b\x51\x72\x28\x8b\x8c\x89\xdb\x74\xf9\xa9\x18\x3d\xb0\x56\x5e\xac\x9b\x7b\xd5\xe4\x23\xb5\x13\xb4\x5e\xa0\xb3\xa4\x2d\xf0\xef\xd0\x18\x84\xf1\x0b\xcd\x17\xdc\x09\xab\x3f\x75\x6c\x73\x6f\xf4\x10\xcd\xd5\x3f\x3a\xe5\x14\x35\x8b\xa7\x28\x6c\xcf\x4d\xcb\xb5\xa2\x84\x8e\x83\x8d\xe8\xc7\x22\x5a\xad\xda\x46\xe0\xdf\xdf\xc1\xc2\x7a\xd8\x47\x02\x94\xf9\x37\xc2\xf2\x00\xf4\xf4\xc0\x6d\x4b\x66\xe0\xe8\xb0\x49\x49\x61\xb9\xfd\xea\x09\x3b\xb1\xf3\xc5\xb6\x7c\x95\x57\xd2\xf3\x47\x73\xd6\xda\xfa\x3d\x4f\xbb\x39\x5e\xa9\x2d\x5c\xd1\x99\x0d\x9a\xb1\x64\x92\x6f\xc4\xe2\x03\x2f\xdf\xad\x8b\x1b\x91\x5f\xd6\x55\x44\x7e\x22\x58\x56\x78\x29\x57\x4c\xa5\x5d\x9b\x48\x48\x75\xd5\xe1\x52\x5c\x23\x57\x2b\x13\xb9\x06\x41\xb3\x94\xce\xb2\x05\x4d\x90\xe8\xae\x82\x3a\x0b\x85\x8e\x3a\x9d\x25\x4d\x1e\x72\xb3\x54\x03\xee\x2c\xa9\xb3\x50\x08\x8e\x03\x25\x03\xc3\xc2\xf9\x36\xd7\xee\x3b\x07\x2b\xf8\x05\x6c\x25\x13\x92\xa2\xb3\xbc\xc9\x1b\x2e\xd9\xad\x1b\x0f\xbb\x7d\x73\x7d\x60\x8e\x4b\x76\x5b\x0d\x17\x3c\xcb\x86\xc5\xb5\x9b\x6a\x09\x66\x48\x96\xb9\x95\xb4\x09\x33\x84\xe6\xf4\x0e\xac\x3c\x67\xfc\xa3\x4c\xd1\x49\xa1\x60\xbe\x29\xf9\xb5\xfe\x7e\x5b\xf2\x6b\x44\x72\xfe\x51\xea\xef\xd7\x70\x61\xc8\x86\xd0\x80\xa4\xb3\x02\x86\x76\x55\xe4\x72\x0d\x0a\x9f\x74\x86\xfe\x97\xe5\x5b\xc5\x03\x10\xf4\x92\x5f\x94\xe6\xe7\xa9\x76\x23\x44\xcf\x36\xa5\xc8\xe0\x5b\xa5\xfe\xef\x56\xf5\x88\xfe\x77\x9b\xa9\xaf\x67\xdb\xcb\x6d\x25\x11\x41\xef\xf8\x46\x72\xb8\xdc\x4d\xd0\x9b\x85\x2c\xf4\xaf\xd7\xc5\xb5\x4d\x3c\xe1\x0b\xfd\x73\xee\x75\xfd\x6e\x5d\x94\x52\xf7\xaf\xfb\xd6\xdd\xea\x4e\xfd\x2e\x75\x8f\xba\x43\xdd\x9b\xee\x47\xf7\xa1\x9b\x47\x73\xb2\x64\xb7\x76\x4a\xef\xb6\x39\xcc\x13\x9d\x16\xe6\xc7\xd9\x96\x57\xfa\xd7\x4f\x7c\x99\xdb\xdf\x67\xeb\x6d\x69\x7e\xbe\x2c\x85\xfe\xf1\x8e\xc9\x6d\xa9\x7e\xd6\x2d\xda\x91\xbe\x83\xb1\x9c\x82\x2e\xe6\x0c\x62\x2d\xfd\x04\x0c\xf0\xd9\x7a\xab\x5b\xd0\xd5\xbd\x9a\xa7\x22\x87\x7a\x50\x0d\x6a\x41\x25\xa8\x03\x55\xa0\x06\x9a\x93\x1b\xce\x3f\xd8\xd8\xd7\x3f\x7d\x40\x44\x61\xc9\xcb\xa2\xbc\x62\x32\x45\x57\x57\x47\xcb\xe5\xd1\xed\x2d\x22\x40\x8c\x4f\xd8\x6d\x9a\x10\x51\xfd\x70\xf6\x7d\xda\x1f\x93\x6a\x5d\xdc\x9c\x2a\xa0\x3e\x5b\x49\x5e\xfe\xcc\x59\xa9\x52\x6f\x39\x2b\xdf\x6d\x57\x2b\xf1\x31\x45\x68\xef\x2c\x66\x60\xc9\xa8\xe8\x9d\xaa\xf4\x26\x4f\xed\x65\x0f\xf5\xf9\x2c\x17\x57\x29\x5a\xb1\x25\x7f\x95\xeb\x94\x37\x96\xfb\xd8\x5b\x23\xe7\x89\x0b\xae\x6d\xd8\x5d\x40\x2a\x64\x1e\xe3\xd7\x5f\xa3\xd1\xc8\x26\xbc\xba\x62\x97\xbc\xce\x87\xcf\x37\x79\x76\xab\x06\xb8\x16\x4b\xfe\x6a\xf5\xba\x50\x48\xfb\x1a\x2c\xa2\x63\x62\x5c\x0a\x44\x91\x3f\xab\x4e\x6a\x00\xf4\xc7\xe4\xb2\x90\xc5\x73\x8d\xc8\xea\x53\x1b\x31\x60\xd6\xf5\xa7\x3f\xf5\x1f\xc0\xd7\x0f\x2d\x86\xe3\x24\x5d\xc4\xe3\xc4\x4c\x48\xae\x79\x09\xb5\xe0\x02\xb5\xde\xdb\xcd\xc4\x75\x71\xf3\x13\xe7\x1f\xa0\x5d\x96\x2d\xb6\x19\x93\x1c\x12\x00\x86\xa2\x2a\xbe\xfe\x32\x19\xab\x04\x55\xb4\x94\xaa\xd7\xe7\x5b\x59\xac\x56\x29\x82\x8e\xae\x44\x5e\x83\xe9\x8a\x7d\xac\x3f\x5c\x38\x00\xb4\x52\xc7\xa1\x09\x50\xae\xa8\xb3\x5a\x52\x2f\x66\x39\xc4\xf8\xd0\x97\xac\xf3\x77\xf5\x15\x6a\x52\xe4\xcf\xeb\x89\xc3\x74\x6d\x72\x7d\x43\x5b\x47\x59\x78\xb3\x32\x33\xd2\x13\x32\xa0\x7b\x26\xdf\x16\x55\x9a\x40\xe0\x81\x3a\x5f\xf2\xcd\xb7\xe2\xd2\x7e\x3f\x26\x2c\x93\x2f\x05\xcf\x96\x6a\xe1\xd4\x6f\x83\x85\x88\x28\xee\x59\x96\x4c\xe4\x70\xd4\xa4\xfd\x04\xda\xd6\xd2\x9e\x8e\x96\xd3\x1f\xc3\x15\xf5\x77\xe2\x5f\x10\x27\xde\xd9\xbd\xfb\xe3\x7d\xed\xf1\x13\xe2\x62\x9b\xc6\xd9\xab\x51\x9b\x13\x71\x4d\x19\x78\x8f\x2d\xc5\x75\x4f\x2c\x9d\x9a\xb2\x3e\xae\x62\xf4\xc8\x13\x20\x6a\xd2\x1a\xfa\x63\xb4\x03\x13\x1a\xf5\x16\x78\x96\xaf\xc4\xc7\xd0\x47\xe3\x91\x7b\xed\x14\xd7\x4f\xf5\xb2\xda\x81\xc1\xb1\xe1\xa3\x90\x9c\x2b\x4a\xdc\x4a\x54\xe4\xb8\x95\xb8\x60\x19\x57\x72\x4c\x4f\x2e\x7b\x0c\xb9\xab\x11\xa3\xa5\x79\xbf\x3a\x12\x44\x1b\x3b\x8a\xad\x6c\xde\x05\xbb\x47\x1f\x0f\x26\x60\x84\xc9\xd0\x5d\x2f\x72\x31\x0d\x74\x68\x8f\x37\xab\x08\xb5\xc7\x8c\x3c\x0b\x43\xb3\xe1\x46\xd1\xdf\xd3\x05\xdc\x5b\x7d\x58\x17\xaa\xa8\xed\x62\x8f\x3b\xc0\x01\xc7\xa4\x0f\x8f\x51\x5d\x7b\x74\x2e\xaa\x13\x83\x71\x27\x2e\x35\xca\x47\x9a\x3b\x99\x06\xd1\x1e\x52\x95\xac\x64\x9e\x64\x8e\x77\x3b\x67\x1b\xb2\x6a\x72\x74\x60\xc1\x90\x75\x3d\x61\x07\x95\x3f\x16\x42\xf7\xd8\x6c\xfe\x0d\xeb\x14\xb4\xfa\x1f\x58\xa4\x43\xed\xfb\x2b\x84\xf7\xd8\x7f\xfc\x1a\xdc\xea\xea\x5d\x4e\x84\x7e\x4b\x04\xc2\x05\xf4\x44\xde\x13\x58\x7b\x42\x88\x19\x9b\x0f\x06\x91\x9c\xb1\x39\xfc\x76\x9e\x3f\x72\x1f\x78\x05\x92\xbb\xba\xdf\xb4\x25\x1b\xef\xcd\x85\xd5\x9c\x94\x14\xd5\x05\xd1\xc4\xb5\x01\xc1\x52\x64\x01\xce\x19\x77\x57\xac\xfc\x60\xb8\x30\x05\x86\x14\xad\x59\x55\x23\x09\x52\x84\xfa\x87\xe2\xa6\x4a\x3f\x27\xe7\x9a\x5a\xd4\x99\x87\x54\xec\x40\xa0\xf6\xa4\xe2\xd6\x43\xa0\xd3\xeb\xae\x6a\xd2\x3b\x88\xa2\xa3\x69\xdc\x9e\x9c\x33\x29\xd9\x62\xdd\xd5\x99\xf3\x52\x64\xa4\x22\xf9\x84\x51\x79\x28\xf2\x45\x45\xe1\x41\x19\x4a\x29\xdb\xed\x50\xb5\x61\x39\xfc\x26\x72\x24\x96\xd6\x30\xb2\xdd\x8a\x65\x4c\xc7\x90\x46\xd1\xd2\x5a\x05\x55\x32\xb6\x31\x36\xce\x73\x7e\xa3\xe4\x8d\x08\x82\x82\x57\x98\xe4\xa3\x8a\x4b\x29\xf2\xcb\x8a\x72\xef\x25\x4b\xa1\x67\x50\x6b\xf4\x98\xb9\x66\xb2\x28\xf2\x9c\x2f\x3c\xd0\xc1\x8d\xa3\xb4\xaa\x2f\xab\xa9\x8d\xd8\xc8\xde\x13\xdb\x6f\xb7\xff\xf3\x2c\x99\x8f\xc4\xb2\x76\x07\x8b\x66\xff\x78\x36\xfc\x85\x0d\xff\x95\x0c\x9f\x9e\xbf\x1f\xce\xb1\x76\x0f\x7b\xff\xfe\xcf\x63\xe7\xa3\x79\x27\x96\x69\x65\x2e\xc9\x4b\x62\x7d\xf4\x35\xe3\x64\xbf\x34\xf7\x50\x7f\xc3\x79\x9a\x90\x65\xc9\x6e\x6c\x96\xfa\x6d\x92\xf5\xd0\x53\x41\x60\xd5\x53\x31\xad\x0f\x26\x73\xfe\xd8\xb3\xc9\x13\x93\xb4\x25\xe4\xdf\x7f\x2a\xa5\x1e\xfe\xed\x49\x1b\xec\x5d\x48\x44\xd5\xa2\x4e\x84\x51\xbe\x69\x97\x3b\x22\xec\x85\x62\xf3\xcd\x6a\x05\x3f\x74\xd1\xd8\x35\xd8\x62\x93\x41\xdb\x2b\x1d\xdb\x93\x08\x88\xf1\xe5\x64\xfb\xae\x9a\x23\x63\x43\xb7\xbb\xa1\x30\x21\x06\x21\x03\x54\xc9\x7e\xce\x5b\x95\x80\x8d\x95\xd8\x4b\xff\x71\x63\x75\x3b\x96\xcd\x88\x04\x26\x5c\xfb\xac\x4b\x52\xaa\x91\x08\x87\xb4\x2d\xeb\x83\xf9\xf6\x11\x50\x07\xb0\xac\x67\x73\x68\xff\xd9\xa0\xc1\xe7\x97\x5c\xaa\xe3\xa8\xe6\x7f\xe1\x4d\xf4\x20\x0f\x58\x73\x54\x03\x7b\x30\xb0\xbf\xea\xfb\xa0\x25\x44\x66\x72\x8b\x11\xea\x42\x2d\x2a\x79\x82\x74\x8c\x1e\x1d\xa3\xb8\x8c\x91\xa7\xf5\x9c\x15\x53\x13\x67\x10\xa5\x88\xad\xe0\x61\x62\xd7\x28\x5c\x82\xb4\x2e\x80\xf6\x4e\xb7\x56\x8b\x01\xc3\x69\x41\xe0\x21\x81\x1a\xa7\xf9\xe9\x3f\xb0\x1e\xcc\x4d\x0b\x0e\x08\x13\xdb\xa8\xa1\x3a\x17\x85\x5c\xc3\x6f\x3c\x18\xd8\x5b\xd3\xdd\xdd\x45\xd6\x9e\xdd\x51\x33\xaa\xc2\xde\x6a\xb9\x02\xd5\x54\x2a\xc8\x03\x99\x02\x85\x98\x7c\xa8\x98\x0e\x77\x33\x55\xd0\x16\x57\x97\x47\x41\x8c\x87\xb6\x42\xc2\x46\x68\xab\xca\x45\x9a\x2b\x46\x38\xad\x08\xa8\x81\xd3\x6a\x0f\x9e\xa6\xc6\xd1\xb3\x07\x5a\xd3\x47\xfa\x43\x6d\x52\xeb\xff\xf9\x89\xd6\xc1\x92\x90\x87\xa3\xb9\xa7\xc3\x0a\x1f\x5e\x71\xd3\xb0\x07\x05\xe3\x26\xd1\xa1\xe5\x0a\x18\xa6\x96\x8e\x68\x30\x08\x0b\x64\xac\x92\xc0\xed\x53\x4a\xcd\x53\x88\x7e\xb6\x12\xe2\xbc\xdd\x84\xd3\xdf\xdb\x7c\xdf\x34\x1f\xdd\xdf\x3e\x09\xb3\x43\xd4\x8a\x80\x99\x6b\x8e\xa1\xab\x0c\xe9\x8f\x75\x58\x58\x27\xac\xf8\x07\xb7\x0d\x06\x01\x18\xc4\x75\x68\x5d\x55\x48\xb1\x47\x7d\x6e\xb8\xc9\xfa\x92\x30\x90\x07\x9a\xf3\x9b\x9e\xea\x26\x7a\x9c\x24\x4f\xc9\x78\x4c\x1e\x27\x38\xa0\x19\x9c\xa0\x5a\xa6\x57\x07\xd5\xe8\x8a\xc9\xc5\x3a\x3a\x9a\x9d\x9c\xce\x8f\xe0\xe6\x44\xf0\x64\xbc\x62\x9d\x04\x4d\x08\xa3\x09\xa9\x68\x32\xb1\x7e\x14\xc7\xd5\xa4\x8a\x63\xcc\x67\xd5\xdc\xa6\x68\x8f\x69\x2f\x85\x30\x5a\x39\xae\x8a\xed\xf5\x39\x0e\x87\x5a\x24\x83\xb9\xb9\x41\x9c\x9e\x1e\xe1\x29\xaa\x75\x33\x28\x45\x0d\x45\x0d\xc2\xd8\x30\x04\x30\xcd\x03\xed\x9c\x9c\xa8\x76\xac\xf6\x03\xa5\x28\x50\xa1\x20\x8c\xe3\xc7\xc9\x10\x9e\xa1\x3f\x61\xb7\x10\xb0\x96\x6b\x3e\xdc\xd8\x59\x2a\x05\x67\x17\x55\x56\x81\x0a\x7a\xe3\x24\xb7\xe1\x45\xe0\xed\x85\x26\x23\x71\xf8\xc0\x7b\xc0\x89\xf6\xc9\xa3\xcb\xd8\xab\x84\x3e\x71\x9b\xe7\x8d\x33\x6c\x9f\x68\x49\xc5\xc1\xe5\xa4\xd6\x99\xa8\x53\xca\xc5\xdf\x3c\xdf\x6e\x14\x26\x78\x48\x29\xc2\x9c\x67\x99\xe4\x65\x6e\xaa\xfd\xc6\xe3\x8c\x98\x51\x36\x9f\xde\xb9\xc8\x8a\xc5\x07\xf3\x34\x14\xe8\x4b\x0f\x00\x8f\x30\x92\x93\x42\x83\x70\x4b\x16\x64\x4d\x32\xb2\x24\x1b\xea\x6b\x61\x15\xaf\x66\xb1\x6b\xd3\x64\x30\xb7\x0d\xee\x92\x84\x35\x15\x29\x01\x92\xa7\x7e\x19\xd2\x29\xf9\x47\xf9\xc8\xc8\xf7\x5b\x25\xd1\xc3\xbb\x80\xf4\x51\xd7\x7b\x80\xb2\xd8\xa4\xbd\xe1\x38\x49\x36\x1f\x27\x3d\xfd\x44\x62\x4f\xfd\x7e\x74\xe4\x0c\x81\x7e\x5f\x07\xd9\x0e\xe2\xde\x72\xb4\xcb\xdb\xaa\x8b\x3b\xa6\xdd\x60\x94\x5b\x75\x48\x7f\x8c\xc9\xa6\x66\x9b\xef\xf6\x0e\x5b\x9a\x45\x21\x82\x31\xd9\x60\x4c\xaa\xa8\xae\x41\x72\xcd\x5c\x0b\x2a\x74\x6c\xe3\xbc\x92\xe5\x76\x21\x8b\x92\x52\x7a\x52\x87\x63\xf5\x36\xc7\x86\x08\x9c\x8a\x8e\xb9\x5f\xb3\xac\x46\xad\x4d\x51\xd1\x62\x5a\x58\x6f\xac\x22\x9d\x15\xa3\x0d\xbb\xe4\x7f\x27\xfa\xef\xcf\xf3\xd4\x33\x33\x6c\x8a\x6a\xb7\x8b\x16\xf4\xd0\xdb\x8e\xea\x7c\xe1\xb9\x7e\xef\x96\xac\x3f\x55\xec\x3b\xfb\x32\xec\xc1\x72\xf5\xa3\xc0\xde\x7b\x92\x6a\x7d\xfc\x27\x85\x97\x9f\xaa\x7f\x56\x6c\xba\xab\x9f\x15\x1b\x0f\x0c\xb3\xc5\xd1\x63\x85\x42\x71\x46\xd6\xea\xd7\x17\x49\xbc\x9c\x77\x21\x0f\xec\x21\xfd\x28\xbd\xab\x3d\x4b\xe6\xf1\xe3\x24\x46\x9b\x8f\xc8\xc4\x48\x87\xf0\x8a\x75\xfe\x78\xae\x33\x3d\x34\x18\x59\x35\x9e\x0d\xb1\xeb\x59\x60\x12\x4f\xdb\xd5\x64\x18\x3c\xa3\x07\xee\x64\xde\x3a\xb1\x4a\x11\x28\xd8\xee\x3f\xbe\x52\xe7\xad\xf9\x19\xd5\xdd\xe0\x4f\xe2\xa4\x95\x4e\x8d\xe5\xaa\x93\x56\xd4\x8f\x70\x68\x71\x91\xd6\x64\xf1\xd3\x64\xd7\xbc\x60\x7b\x40\xa0\xe5\x86\xfd\x3c\xb1\xed\x79\xb2\xa6\x98\x46\x55\x8b\x9b\xae\x3a\xf8\xd6\xf0\x81\xbd\x4e\xc2\xfe\x10\xf6\xd8\x15\xb2\x4e\xc0\xa4\x25\xc1\x78\x25\x40\x92\x09\x8a\x18\x51\xc6\x2b\xb3\xdd\x04\x05\x7e\xdc\x60\x9c\x46\x56\x82\x17\x9e\x04\x2f\xf0\x60\xf0\x90\x69\x58\x7f\x93\x3d\x39\xe7\x79\x78\x22\x74\xad\x97\x0e\xad\x8e\xe1\x65\xe7\x7a\xc5\xaa\x3f\xb4\x62\xc1\xfa\x48\xef\xf6\xcf\x98\xe4\x6e\x6d\xac\x35\xd8\xd9\xb8\x9b\xee\x5c\x1a\x45\xeb\xba\xfb\xa6\x1d\x59\x5c\x5d\x9a\x5d\x77\x57\x6c\xd8\x02\xde\xcb\x1d\x8f\x12\x30\x72\x55\x45\x99\x22\xb4\xbf\x0f\x98\x11\xa3\x41\x68\xf0\x0e\x91\x5d\x21\x8e\x2b\x71\x48\xc5\x57\x7b\xbc\x11\x66\xf4\x81\x5a\x8b\xd0\xd0\x1a\x02\x0b\x45\x7a\x9d\x79\xb7\x1c\xb4\x89\x2d\x4f\xc1\x31\xc6\xdd\x86\x5d\x13\x18\xa0\x23\xab\xeb\x22\x2a\x57\x0c\xfb\x54\x51\xf4\x94\xef\xcd\xb1\x5f\xfd\x3f\x86\x1b\xc9\x1f\xc0\x8d\xe4\x41\xb8\x91\x8c\xbe\xa8\x71\xc3\x68\xe0\xfe\xdd\x28\xd2\xa1\xdf\xfd\x4f\xe2\x47\xf2\x9f\xc0\x8f\xce\x16\x67\x5d\x89\x86\x7f\x98\x53\xb8\xb3\xdf\xa5\x70\x6f\xca\x52\x7d\x5e\x5f\xb3\xb1\xfa\x60\x49\x93\xc9\x3d\xad\x1f\xcb\x89\x8c\x63\xec\x04\xb1\xe6\xb8\xe6\x94\x52\xd7\x6a\x32\xb1\xcd\xeb\x27\x6b\x1b\x9a\x44\x7c\x27\xcb\xdb\x40\xfa\xd5\x48\xbd\x5f\x80\xc4\x22\x14\x66\x95\xc5\x0d\x3a\x15\x55\x25\xf2\xcb\x9e\xc8\x2b\xc9\xf2\x05\xef\xa9\x92\xbd\x55\x51\x82\xb2\xb7\xe7\x69\x98\x95\x00\xa2\x7d\x7d\xba\x26\x0d\x1c\xb4\xde\x4f\x25\x29\x08\xf0\xd0\xb5\x18\x08\x5c\xa3\x70\xb2\xd9\x63\x4a\xa9\xbb\x0b\xed\x62\x83\xb4\x02\x7d\xb0\xa9\x45\x5e\xad\x6f\x99\xfa\xda\xd8\x86\xc8\x6d\xca\xe1\x74\x3d\x45\x4c\x3f\xb5\x13\x96\x5f\x3b\xb6\xc4\xc6\x79\x51\x32\xdc\x9a\x30\x0c\x0c\x60\x1a\x95\x94\x41\xa0\xf7\xf6\x30\x20\x2c\xfb\xdd\x9e\x94\x33\x36\xa7\x39\x26\x6b\x77\xdf\xdf\x7a\xaa\x50\x6a\xe3\xea\xb7\x65\x77\x4f\x4b\x76\xd2\x90\x7f\x40\x38\xda\xd6\xf9\xa7\x22\x3f\xd5\x96\xd3\x68\x4d\xd0\x95\xc8\x11\x26\x8b\x83\xd9\x4c\x71\x5b\x55\x54\x4f\x4c\x71\x0c\x3a\xea\x12\xdd\x0e\x06\xe5\xa8\x16\xbc\xfb\x70\x21\xb1\x1c\x19\x23\xad\xbe\x9f\xe8\xd5\x74\x19\x2d\x2e\x7b\x4d\xb6\xd8\xb5\xba\x38\xd0\xaa\x1e\x54\x47\xab\x26\xa3\xa3\xd5\x45\x10\x7a\x4d\xe4\xbd\x52\x41\xb9\x71\xab\xb6\x43\xd4\x13\x76\xf5\x9a\x47\x7e\x24\x1c\x85\xf0\xb5\xb4\x20\x4c\xae\x5b\xea\xd3\x75\x53\x80\x5d\x93\xe2\x90\x34\xba\x3e\x28\xc0\xae\x55\x97\x75\x90\x9d\x4e\x62\x40\x40\x34\xd7\x0d\x34\xb7\x8f\xc9\xad\xdf\x7a\x3b\x40\x4e\x3c\x37\x5f\xb7\x9b\x38\x9e\xb8\xa7\x3d\x5b\x03\x93\xc6\xaf\x30\x44\xb8\xee\xe8\x92\xcd\x56\x85\xc3\x6e\x4f\xb8\xff\x3d\x32\xbc\x79\x4b\xfb\xf7\x8c\xa1\xbe\x13\xdf\x17\x46\xf3\xe4\xb9\xd2\x83\x8f\x44\x59\x5c\x81\xb9\x5e\x8f\x4e\x4c\x83\x4d\xa6\xd0\xc4\x3c\x7c\xee\x18\xd6\xee\x73\xdf\x1e\xf9\x8e\x92\xd8\x51\xd4\x6f\x89\x42\x50\xd9\x82\xe6\x46\x58\x11\x6d\x33\x69\x29\x33\x84\x27\x62\x15\xe5\xbe\xa7\x5a\xd2\xa4\x51\x4d\xb5\x20\x3e\xf0\x40\xe9\xd3\xf4\x13\xea\xc0\x92\xf6\xc7\x7e\xe4\xe4\xf1\x93\xd4\x9a\xdd\x28\x8f\x90\x5c\x8e\x50\xdc\xec\xbb\x76\xc7\x8a\xcd\x3b\x84\xcd\x32\xbe\x87\x57\x8c\x30\x22\xb9\x95\x9b\x2a\x78\xa9\xaa\xa1\x60\x84\xd3\xfb\x84\xdd\x3a\x48\x81\x9a\xcc\x33\x32\x79\xdf\x3f\x73\x56\x42\x2b\xe0\x8a\xde\x84\x77\x94\x13\x64\x45\x45\xa4\xd6\x32\x62\x8d\x42\x1e\xe9\xc8\xe1\x9d\x11\x08\xa7\x61\x6c\xd9\xd3\xda\xa6\xad\x65\xf9\x19\x23\x79\x5b\x23\xda\x82\x62\x7f\xac\xa1\xf7\xf8\xab\x4f\x94\xf4\x41\xfd\xe4\x49\xa3\x30\x5b\xfe\xba\xad\x8c\x72\xd0\x02\xc2\xbd\x76\x3a\x1d\x76\x4e\x36\xf0\x3d\x41\x38\x3d\x5c\xca\x16\x21\xe8\x14\x85\xe3\xf8\xfc\x37\x8d\x23\x7e\xd0\x38\x0e\x97\x3a\x3c\x8e\x2f\xd2\xc8\x75\xb3\xdb\xc9\xd1\x15\x97\xec\xaf\xfc\x16\x37\xf1\x05\xac\x7b\xc1\xf0\x40\x51\xdc\x51\x35\x68\xfe\xcb\x07\x36\x7f\x59\xc8\x02\xbc\xfc\x7e\x5b\xf3\x5f\x3d\xb0\xf9\x2e\xe8\x16\xd3\x31\x3c\xb9\x73\x82\x0e\x75\xd5\x0c\x9d\xec\x9e\x3c\xfe\x7f\x03\x85\xbe\xfe\x03\x93\x1f\x7e\x75\xdf\xc4\x83\x6e\x9e\xfe\x21\x18\x0f\xc7\xe9\x7f\x1e\xc6\xff\xb1\xed\xf1\x79\xf2\x07\x26\xff\x10\x10\xdb\x47\x09\xd4\x91\xb0\xe7\x19\x6c\x19\x08\x1a\x6e\x8e\x14\xef\xe9\xe5\xe9\xfd\x16\xa2\xb5\xa8\x30\x34\x33\x29\xf5\xdb\x31\xad\x50\xeb\x10\x06\xa2\x11\xfd\x81\x78\xea\x1e\x4f\x1a\xf0\x4c\xc8\x07\xce\x57\x61\xb7\xe9\xa4\xd3\x44\x67\x80\x1b\xfa\xde\x21\xdc\x3e\x1a\x36\x85\xbe\xa1\xf9\x7c\xcd\xca\x2a\xea\x6c\xc4\x37\x40\x61\x52\xd1\x77\xc0\xe0\x8f\x56\x65\x71\xa5\x6a\x29\x30\x45\xc6\x47\x67\xb4\x30\x09\x53\x77\x13\x3b\xad\x13\xd5\xd1\xe3\x56\x42\xd8\x95\xd8\xed\x50\x0f\x1d\x57\xbb\x5d\x9f\xed\x76\xcc\x79\x1a\x55\xf8\x78\x38\xc6\xa9\xb4\x20\xfa\x71\xd3\xad\x45\xbc\x9f\xfb\x50\x5c\x05\x33\xb6\x22\x88\x88\xd2\xa7\x94\xc1\x65\xe6\xbf\xb1\x0c\x2b\x19\xaf\x71\xa0\x6e\x58\x59\x71\x6d\x3d\x6a\xc1\x82\x85\xb0\x20\xa6\xe1\x69\xd0\x81\x3e\x43\x5b\x95\x75\xa5\xe7\x45\xbe\x12\x97\x11\xc3\x70\x0d\x38\x6a\xb2\x04\x0d\xd6\x8c\x35\x2d\x97\x4d\x26\xf1\x40\x01\x0f\x2d\x19\xb6\x22\x6b\x85\xef\xf6\x56\xf6\x55\xdc\x6d\x80\xbe\xcd\xe7\xe5\x25\xb5\x10\xdc\xed\xa4\x55\xc5\x28\x79\xe5\x80\xb6\x06\xec\x90\xdc\xde\xd6\x23\xd6\x67\xee\xb5\x5a\x74\x6d\x3a\x7d\x80\xcb\x9d\x6c\xed\xea\xc0\xd0\x5b\x73\x9d\xfa\x91\xb2\x2d\x59\x4c\x3a\xb8\x21\xbd\xfe\x4d\xc0\x18\x49\xb3\x75\xaa\xea\xe4\x3e\xa5\xed\xe5\x30\x79\x86\x6d\xf5\xdf\xc3\x13\xcd\x66\x3e\x69\xb1\x6e\xb0\x44\xdd\x1d\x39\xcf\x42\xdc\x85\xd7\xe0\x95\xe0\xfc\x7c\xc1\xb1\x81\x4d\x99\x8d\xd3\x47\x66\x92\x88\x39\x4e\xef\xf6\x24\xef\xeb\xa7\xdb\xa3\x2a\x12\x9e\x81\x08\x9e\xc2\xd3\x78\x4f\x3b\x50\xb4\x36\xd9\xcb\xa6\xb9\xbc\x25\x31\x34\x81\x6b\xcd\x12\x40\xf7\x20\x72\x1d\x45\xa8\x59\x48\xdb\x86\x5a\x69\x4d\x4e\x55\xe4\xcb\xb7\x45\xd5\x5e\x40\x63\x23\xa1\x72\x54\xac\x56\x15\x37\xc6\x21\xcd\xcb\x13\x1e\x49\xec\xc5\x2a\x68\x2a\x01\x0d\x85\x2c\x77\xd4\x3c\xe5\xeb\xbd\xcd\xd7\x78\xfc\x97\xf4\xcb\x3d\x26\x05\xbd\xcb\xf8\x4a\xa6\xed\x21\x24\x73\x22\x8b\x4d\x47\xc6\x78\xde\xd4\xa9\xa8\xc9\xe9\x30\x5d\x06\x85\x8c\xc2\x3d\xb0\xb5\xde\x39\x6b\x65\xfd\xea\x30\x31\xf6\xd7\xd4\x98\x5f\xa1\x47\x34\x1c\x27\x49\xb2\xf9\x88\xf6\x9f\xdc\xf3\x42\x4d\xa0\x81\x62\x6b\xbe\xf8\xf0\x06\x00\xa7\x9f\x65\x3b\x34\x8a\x43\x0b\xeb\x0c\x42\x53\x08\xf4\x2f\x16\x28\x2d\xa7\x06\x9a\x9d\x43\x87\xc7\xc1\x08\x40\xb1\x18\xa9\x3f\x60\xde\x82\xa9\x14\x23\x59\x6c\xe0\x73\x0f\xaf\x6f\x82\x7c\xba\xdb\x45\xdb\x6e\xa4\xb7\xb7\x0c\x40\x99\xd3\x59\xc2\x7a\xc8\xa3\x7a\x56\xff\x82\xd8\xcd\xe0\x92\x68\x7f\xe3\x78\xdc\x04\x5d\xc7\x65\x27\x25\x75\xf2\xd5\x8a\x2f\x64\x05\x0f\xf0\xea\x9f\xe6\xef\x6c\x3b\x9f\xda\x1e\x20\x00\xed\xb6\x4d\xe8\x9d\xbb\x93\xbe\x06\xa1\x46\x8d\x53\x53\x69\xb6\xdd\xed\x20\x13\xcd\xa3\xed\x74\x01\x47\x45\x87\x77\xca\x36\x5b\x42\xd4\x59\xd8\x8f\x91\xc0\x83\x81\x30\x27\x8c\x7d\x57\xa2\x93\x80\x50\x81\xc1\xcd\xa1\x89\x10\xa1\x5a\x53\x6b\xe2\xc1\x6d\x95\x7e\x4e\x72\xaa\xf8\xb8\x00\x3f\x43\xcb\xf6\x25\xcf\x79\xc9\x24\xff\xee\xec\xf4\x7b\x78\x96\xd3\xd7\x11\x99\x27\x7a\x61\xbb\xda\x56\x4c\xa4\x05\xab\x01\x0f\x25\xe7\x1e\x43\x78\xe4\x7c\xb2\x23\xf3\x78\x8c\xef\x2d\xf6\x3a\xb8\x88\xa0\x4d\x84\x6c\x36\x9e\x93\x92\x8e\xbf\x9a\xd8\x4e\xee\x71\x06\xbf\xda\x66\x52\x0c\x1f\xf7\xba\x52\x9f\x74\xa6\x7e\x8e\x70\x1d\x85\x97\x54\xc7\x63\xc5\xf4\x35\x2c\xab\x9d\x9d\xa0\xd8\x12\x10\xa8\x8e\x48\xf9\x59\x15\x23\x78\x50\xc4\x34\x30\x8b\xc6\x7d\xfd\xec\xf0\x6e\xa7\x7f\x8d\xe7\x53\xc4\x96\x6a\xd3\xe8\x39\x20\x1c\x23\xe8\x02\xcd\x3b\x3b\xf1\xdb\xaa\xf5\xae\xd2\xb9\x0b\x3e\xb8\x35\x50\xb2\x10\x09\x71\x72\x1e\x70\x32\x7e\xf2\x48\x6b\xe1\xa9\x04\x1f\xbe\x10\x4f\xe5\xe8\x96\xb3\xb2\x5a\xcb\xab\xcc\x58\x7b\xdc\x37\xe9\x0e\x13\x29\x80\xfb\xf6\x6a\x35\x3e\x7c\x24\x3b\x68\x01\x71\xd7\x4f\x8d\xfb\xef\x4f\x42\xae\x23\xaf\x21\x08\xd1\x52\x7f\xea\xd8\x51\x24\x01\x7e\xbc\x39\xaf\xee\x58\xb2\x30\x4d\x05\x12\x3d\xdf\x66\x38\xf2\x7e\x90\x51\x1b\x76\x9a\x39\x2e\x72\x9b\x4f\xa1\x1b\x9e\x35\xce\xa5\xd9\xcc\xdd\x0f\x05\x0d\xe1\x30\xbd\x64\xf7\x44\xa9\x12\x7a\x34\x73\x6a\x97\xc4\xaf\x96\x26\xa4\xe8\x2e\x60\x1b\x48\x13\xb2\x7d\x90\x1b\x47\x1c\xb1\x69\x92\xf2\x68\xe9\x22\x65\xd6\xae\x17\x11\x56\x24\xfb\x41\x5e\x1e\x87\x9a\x39\x2b\x36\x11\xae\x15\x9a\x70\x92\x0c\x69\xe7\x46\xa8\x86\xe0\x71\x6d\x8a\x30\x45\x34\xd5\x4f\xc0\x27\x33\x43\x7d\x00\x62\x48\x9f\x1e\x1a\x33\x34\x22\x8b\x8d\x69\x43\x16\x9b\xae\x26\xd4\x11\x56\x74\xb4\x01\x03\xf6\xc6\xa1\x23\x7d\x8b\x3c\xd2\x09\x26\x3d\xae\x8e\xb7\x83\xc1\xf6\xb8\x9a\x42\x3e\xbb\xa8\x22\x9b\x31\xdc\xe2\x34\xc1\x76\x08\x5e\x75\x59\x6c\x74\x6a\x9c\x1f\x2f\x06\x83\xc5\x71\x5e\x57\xce\xe3\x42\xd7\x32\x8f\xd6\xbf\x2d\xc2\x77\xe6\xad\x05\x2d\x20\xb5\x96\x53\xf6\xbd\x67\x59\xed\x87\x2c\x07\x83\x08\x99\x67\x88\x01\x02\x3a\x6c\xd4\xd8\x89\x01\x67\xf0\xcd\x47\xfc\xe3\xc6\x5a\x62\xab\x91\xae\xa0\x4e\x8a\x09\x96\x54\xce\xaa\xa9\x7b\xb0\xee\x9d\x0e\xd8\x84\x52\x78\x93\xce\x7e\xcd\xdd\xe2\x82\x0d\xd9\x41\x98\xcc\x1c\xc4\x64\xb1\x99\xef\x49\x83\x89\x3e\xa4\x8f\x76\x06\x23\x43\xd8\x26\xfd\x62\xb7\x93\x83\x41\xd1\xa7\xbe\x75\xda\xbd\x37\xd6\xa6\x73\x91\xa7\x51\x8f\x8a\x80\x01\x61\x61\x8e\xc7\x78\x04\xf1\x70\x43\x4a\x29\xc5\xf2\x56\xf3\x51\x51\x81\xf7\x3e\x7f\x11\xb5\x18\x0c\x31\x07\x88\xea\xc4\x99\x98\xe3\x69\x61\xf6\x37\x3c\x67\x20\x3a\xf8\x8d\xa2\xc9\x6f\x30\x52\xe1\xd4\x54\x9b\xa1\x2a\x53\x60\x2b\x6e\xb4\xad\x7a\xaa\xbf\x7f\xdc\x20\x77\x69\x53\x27\xab\x8f\x37\x10\x37\x4c\x75\x84\xe6\x91\x98\x32\x13\x51\x16\x13\xb1\xdb\xb9\x30\x5b\xdd\x37\xc4\xf3\x10\x30\xe6\x6e\x21\x82\x37\xef\x73\x23\xa4\x14\x86\xe0\x14\x4d\x7d\x73\x23\xc3\xc8\xd1\x08\x91\xc2\xf9\x57\xd5\xe2\x89\xe7\x6e\xe6\xcb\x1d\x9d\x5e\x58\x9d\xdc\x35\xf0\xa4\x28\xf1\xd8\x6a\xcb\x55\x3b\xf7\xa7\x88\x8f\xb6\xb9\xf5\x80\x3a\xe4\xf4\xa7\x95\xfb\x18\xb7\x6f\xc7\xc3\xf3\xc6\x6e\xd1\xc3\x87\x3c\x3a\x18\x98\xb6\xd7\x96\xf3\xfb\x39\x78\x9f\xcc\x9e\x18\x2f\x3e\x82\x2e\x20\x7b\x9e\x89\xc5\x87\xa6\x14\xdf\x79\xd0\x5b\xa3\x91\xaf\x48\x3e\xa4\x46\x11\x4a\x1a\x9d\xc0\x9f\x91\x58\xf6\x9b\xac\x83\xbb\x4f\x39\x18\x24\x14\x9e\x99\xb6\xf7\xe0\xfe\xd4\x34\x8e\xb8\xa2\xb8\x7e\x69\x44\xd4\xfe\x21\x41\xe1\xb6\x9f\x48\x5f\x78\x0f\x36\x35\x9b\x0e\xfd\xe3\x6d\xeb\x9f\xe4\x66\xa2\xa6\x4a\xc2\xac\xdf\x6e\xd7\x77\x98\x80\x77\xbb\x87\x0f\xf2\x90\x66\x81\xb5\xf2\x9a\x06\x12\xc5\xb4\xd7\x0a\xcc\x03\xc7\xbf\x71\xb0\x09\xa9\x37\xd8\x84\x8c\x4f\x44\xa7\x4e\xa5\x32\x37\x15\x0d\xd7\x0e\x9d\xa8\x9a\xda\x16\x44\x44\x1c\xa1\x53\xff\x2e\x96\x55\xca\x36\x6e\xff\x22\x38\x5d\xd8\x41\x33\x66\xae\xad\x95\xd6\x88\x70\x9f\xbf\x5f\x38\x01\xe6\x4d\x40\xf5\x5d\x11\xe4\x5d\xda\x46\xf0\x66\xab\x31\xac\x9d\xb0\xdb\x69\x54\x3f\x9d\x72\xc2\x6e\xa9\x9f\x47\xaa\x91\xbb\x84\x45\xab\xd0\x94\x56\x17\xd4\x96\x35\x5d\xf4\x67\xce\x4a\xaf\xa4\xf9\x34\x05\xd5\x17\x4e\x23\xe1\x5c\xf4\x49\xd8\xb5\x18\x59\x5b\x29\xbe\xb7\x67\x28\xa7\x9d\xe8\xf1\x3d\xfd\x42\xb1\x97\xdb\x2c\x53\x5f\x75\x74\xe6\xbc\x90\x62\x75\xab\xaf\x6f\x47\xce\x9b\xd3\x53\x76\x33\x6d\xa9\x56\x2d\xd5\xd7\xbb\x7f\x33\x02\xe5\x33\x64\x47\x83\x6a\x8c\x40\xd0\x22\x4a\xd1\xcf\xe0\x54\x34\xa7\xf9\x0c\xa9\xf1\xdf\x57\x04\xd4\xa7\xaf\x72\x19\x09\x1b\xd8\x66\x26\xea\xd7\x6e\x94\x1c\x6e\xde\xac\x21\xe3\xa4\x73\x92\x79\xc7\x24\xab\x7a\x92\x27\x01\x72\xe9\x7b\x14\xe6\xcd\x5e\x52\x6a\xdf\x7d\x55\xbe\xe1\x79\xd6\x0e\xd9\xe1\xce\xff\xce\x5d\x53\x9a\x5d\xd3\x84\x16\xa4\x7b\x76\x59\x85\x08\xb9\x87\x83\x94\x47\x88\x21\x62\xaf\xe9\xe0\xa6\x49\xb7\x2e\x6c\x90\xa3\x61\xe3\xad\xf3\xe1\x8b\x39\x27\x8b\xcc\x5c\xd4\x8b\x64\xfb\x96\x43\x4e\xfc\x21\x90\xb0\x0b\x12\xb4\xa8\x9f\x8e\x71\xa6\xc4\x8e\xe7\x7a\x00\x82\xad\x5e\x05\x41\xc8\x5f\x83\x06\x91\x72\xd6\x8a\xfb\x70\x4c\x98\x17\xcd\xc4\x54\xa4\xed\x39\x28\x50\x19\x99\x2a\xf7\xb8\x80\x83\xee\x11\x79\xc8\x8b\x85\x16\xf0\x5a\x2f\x7a\xd0\xc4\x2d\x48\x3e\xc7\x69\xab\xcf\xe6\xab\x4d\x7a\x58\xfa\x1e\xf8\x21\xca\x67\x43\x2c\xb6\x0c\xe4\x2d\xce\xc5\x0d\x82\xa0\xe2\xe2\x57\x35\x56\x17\x1b\xbf\xce\xab\x07\x13\x3c\x22\xda\xe0\x80\xb0\xd3\xf3\x38\x98\x1c\x74\xd0\x08\xa4\x25\x1b\xa6\x01\xe1\x49\xde\x60\x75\x4d\xae\xb1\x6e\xd8\x0d\x62\x72\x42\xc3\x47\xe8\x93\xe5\x11\x76\x6f\x4d\x55\xf7\xae\x58\x60\xfe\x90\x58\xf1\x54\xf9\xe1\xc0\x8c\x6a\xe9\x2b\x0c\x0e\xa8\x79\xf1\x13\xe7\x1f\x78\xbe\xac\x3a\x5c\x7a\xb8\xbb\x12\x64\x84\x88\x99\x3c\x4e\x06\x83\x2f\x8f\x25\x41\x68\xbe\x27\x5e\xd8\x8d\x76\x6d\x52\xd3\xf6\x08\x1a\x3a\x13\x57\x3c\x10\x36\x9d\x03\x4f\x4d\xeb\xe3\xcf\x87\xf6\xf3\x36\xc2\xbb\xdd\x57\x8a\x54\x6b\xea\xad\xab\xeb\x9b\x37\x9a\xe0\x27\xe6\x0b\xaa\x8e\x31\x01\x71\x6d\x95\x15\x45\xa9\x1f\x80\x2a\x8b\x6d\xbe\x8c\x22\x39\x14\xf8\xe8\xeb\x2f\x3f\xe7\x5f\xe0\xa3\xaf\x70\x3c\xde\x13\x67\x84\x0a\x1d\x04\xf5\x4b\xe8\xc6\xd4\xb6\xdb\xe9\x1f\x0c\x6b\x4f\xc4\x57\xf9\x35\xcb\xc4\xb2\xe7\x1c\x03\x11\xd8\xbe\xa8\x45\x35\xdf\x2d\x10\xc5\x2c\x65\x31\x42\x04\xe9\x2b\x94\x66\xc6\xaa\x41\x7b\x3b\x5e\x1b\x58\x68\x42\xd6\x34\xaa\xa6\xd5\xa8\x19\xb5\x04\x90\xb0\x7e\xb4\x59\xbb\x0f\x36\x4b\x91\x8c\x5a\x77\x40\x87\xe9\xeb\xe9\x3a\x8d\x2c\xe0\x71\x78\xec\xfd\x65\x9c\x24\xb1\x3b\x42\xd6\x70\x46\x2c\x75\xff\x61\x50\x9d\xee\xde\x83\x32\x64\x13\x56\xfc\x44\x1d\x72\xa9\x8b\x37\x03\x0d\x75\xd7\x6a\x94\x22\x57\xcd\xca\x9f\xac\x47\x56\x74\x38\x26\xe7\xea\x9f\x6b\xf5\xcf\x07\xf5\xcf\xad\x12\xa5\x2e\x68\x1b\xd1\x85\x75\x71\xcd\xe3\x31\x5c\xf0\x59\xb3\xf2\x99\x8c\xf2\x78\x8c\x29\xa5\xdc\x7b\x25\x35\x8f\x63\x22\xf7\xe4\xa4\xa3\x91\x8b\x88\x63\x22\x28\xfa\x6f\x1d\x7b\x76\xfc\x79\x8a\xfa\xfa\xe7\xe3\x24\x45\xb7\x36\x4c\xde\xf4\xf3\x14\xe9\xa7\x60\xa7\x4f\xd2\xc7\xc4\xbd\x76\x84\xfe\xf1\xfe\xfd\xf2\x6e\x4c\xe0\x8d\x94\xbd\x36\x40\x8d\xaa\xed\x85\x5e\xe0\x68\x81\xcd\x6d\xbe\x0a\x8c\xae\xfd\x1c\x87\x1e\xb2\x3a\xc2\x4c\x8f\xc9\x9e\x15\xca\x7a\x28\x5e\xd8\x91\x2f\x62\x9a\xc3\xdb\x76\xfa\x26\xa2\xc3\x01\x95\xa8\xd0\x60\x4f\x6e\x82\xe7\x50\x9d\xb3\xac\x02\x5b\x61\xbc\x98\x2f\x22\x81\xa7\x79\xea\x7b\x2e\xd7\xb1\x78\x67\x33\x49\xf8\x7c\xbe\xc7\xa3\xaa\x28\x65\xd4\x55\x64\x18\xf1\xd9\xd8\x8e\x61\x28\xeb\xdf\x78\x0f\x73\x32\xef\xa9\x15\x8d\xf7\xd4\xcc\xc3\xd9\xb3\xb1\x53\x65\x58\xb8\x44\x0b\x62\xfd\x73\x71\x68\x30\xa5\x94\x56\x61\xca\x34\x2a\xa9\x12\xb4\xc8\x22\xa6\xb6\x12\xe9\x83\x05\xdc\x84\xe4\x28\xed\x3e\x2d\xe3\xf1\x44\x03\xf7\xc7\xfc\x43\x5e\xdc\xe4\xbd\x9c\x5d\xf1\x26\x68\xf7\xe4\x94\x86\xc1\x54\x99\xc5\x9b\x05\xee\x5b\x63\xbd\xc2\x22\x8c\x6d\x6b\xfc\xe3\x06\x98\x91\x5e\x26\x24\x2f\x59\xd6\x5a\xae\x45\x1c\xef\xc1\x1f\x3b\xa7\xc9\xa4\xc6\xca\x49\xae\x1d\xaf\x6f\x31\x7a\x84\xc2\xb6\x77\xbb\x8b\x08\x3d\x42\x78\x7a\x1a\xe1\x54\x21\xf8\x04\xdc\x2c\x8c\xef\x9e\x3f\x08\xf0\xde\x43\x4b\x94\x5e\xd3\x93\x08\x2d\x03\x4f\x10\x74\x82\xd2\x9b\x08\x9d\x20\xb2\x24\x9b\x20\xa3\x40\xe9\x07\x55\xbe\x08\xcb\x5f\xa1\xf4\x5c\x25\x5f\x85\xc9\xa7\x2a\xf9\x46\xf1\xaf\xe4\x92\x5c\x05\x59\xb7\x28\x5d\xa9\x1a\xb7\x61\x8d\xff\x46\xe9\xb6\x3e\x28\x4e\x22\xf4\xdf\x08\x63\xb2\xa2\xdb\x90\x74\x91\x73\x9d\x62\x58\xfd\x58\x6d\xeb\x6d\x7d\x6e\xf8\x2d\xf6\x83\x16\x55\x93\x7d\x84\x87\x9a\x52\x48\xb1\xf8\x50\x9d\x15\xe3\xa7\x5f\x25\xf8\x68\xcc\x3f\xff\x63\x3d\x3d\x42\x69\x08\xfc\xa4\xe1\xf6\x72\x1a\xe1\x3d\x20\x86\x59\xc8\xc5\x60\x10\x15\xb4\x46\x5f\x4c\xfa\x47\xff\x78\x5f\xc5\xe6\x79\xbb\x02\x5b\x54\x79\xf1\x51\x96\xec\x68\x9b\xc3\x46\x5d\xf6\xd4\x22\xb2\x85\xe4\x65\xd5\x5b\xa9\x43\xad\x27\x72\xf0\x7d\x4f\x7b\x28\x2e\xd4\xd6\x19\x8e\x29\xa5\xab\xe9\x8a\x1e\x22\xfd\xe9\x38\x49\x8e\x57\x83\x41\xb4\x8a\x0f\x96\x19\xde\x7b\x6e\x44\xd9\x31\x5d\x4d\x93\x74\x38\x4e\x12\x8c\xc9\x87\xe3\xe1\x18\x2b\x4c\x3d\xa7\x0a\x42\x1f\x26\x13\xd8\x03\xa5\xcf\xba\xdc\x56\xaf\x72\x0d\xc6\x15\x39\x1f\x8e\x31\x29\x8f\xe9\x35\xd6\x20\x3a\x8f\x63\x72\x3d\xa4\xa5\x82\x8f\xf5\x31\x5f\xb2\xdb\x4c\x5c\xae\xe5\x3b\x76\x2d\xf2\xcb\x67\x20\xa1\xb8\x31\xe9\x36\xc8\x35\xc6\xa4\xb1\x62\x7d\x4a\x57\xbb\x5d\xb8\x68\x7d\x4a\xcf\x4d\x9a\x5e\xb7\x3e\xa5\xd7\x8d\xa3\x5c\x41\xd0\x85\x79\xda\xee\xc9\xb3\xb3\x37\xa7\x29\xba\xbd\x1d\x5e\x5d\x0d\x97\x4b\x44\x9e\xbf\x79\xf3\xd7\x57\x2f\x52\x74\x42\x7a\xcb\x65\xef\xb4\x77\x7b\x8b\xc8\xab\x77\x6f\xce\x15\xcf\xe3\x97\xfb\xe1\xe5\xf3\xf3\xaf\x1f\x3f\xd6\x05\x55\x39\x93\xf4\x45\x92\xa2\x13\xa8\x3c\x3c\x1d\x9a\xc4\x71\xf2\xe4\xcb\x66\xc1\xf1\xf8\xf1\x93\x3a\xcd\x24\x3e\x0e\x5a\x54\x89\xef\xde\xf9\x15\xcf\x5e\x3d\xff\xeb\x3b\x75\xc2\x90\xb3\x57\xa7\x2f\xde\x9d\x3d\x3b\x7d\x9b\xa2\xff\x46\xe4\xa7\x27\xcf\xfd\xb1\xf9\x18\x9f\x8e\xf9\x57\x9f\x7d\x99\xa8\xff\x1e\x7f\xfe\x59\xf4\xd5\xf8\xeb\x2f\xbf\xfe\x22\xf6\xb8\xa6\xcf\x9f\x3e\x1e\x7d\x81\x87\x5e\xca\xf8\xe9\xe8\x2b\x1c\x14\x19\x3d\x7d\xfc\x85\xda\xa0\x8e\x11\x6d\x39\x93\xab\xd3\x49\x1a\x5a\x8a\xd0\xc4\xca\x2e\x91\x98\x8a\xdf\xc1\x66\xe4\x61\xc5\x4f\xb1\x19\xa5\x2e\xfe\xfb\xd8\x8c\xa2\x59\xf9\xd3\x6c\xc6\xb6\xe3\x29\x35\x17\x14\x80\x29\x6e\x82\x5b\x12\xcc\x34\x37\x21\x3d\xf7\x71\x16\xc7\x44\xec\xc9\x82\x36\x61\xa8\xef\xca\x23\x14\x4b\xb5\xbb\xb7\x11\xc7\xb0\xd7\x26\xe2\xd8\xd2\x92\x09\x66\x14\x25\x28\x66\x5e\x44\x81\x75\xa3\x1d\xc2\x9c\x49\x4d\x35\x31\x65\x33\x39\x4f\xc5\x4c\xce\xf7\x8a\x73\x44\x64\xa9\x8e\x0b\xb1\x8a\x24\x34\xce\xfc\x78\x06\x6c\xc2\xf4\x91\xb3\x34\x47\x4e\x3d\x0d\xbc\xdb\x6d\x35\xd5\xcb\x62\x3f\x39\x5d\x36\x4f\x1f\x2f\xb3\x3e\x7d\xb2\x98\x2e\xd4\xf1\x43\xa4\xa7\xe2\x79\xdc\x3c\x8c\xb2\x98\xae\xe1\x3c\x92\x4e\x1a\x00\xae\xa4\x71\x34\xe9\xc6\x0a\x44\x7c\x86\xdf\x51\x0c\xd9\xa0\xec\xd2\x57\x16\x79\xdd\xe3\x5a\xbe\x18\x1e\xac\x9c\x90\xc4\x2b\x67\x25\x0a\xf2\xa4\x79\x2c\xea\x21\x5d\xa1\xa0\xb7\x78\xdc\x98\xe2\xa9\x9d\xe2\x69\x58\x50\x49\x06\xcd\x63\x33\x8b\xe9\x16\xce\xcd\x69\x63\x4c\x69\x34\x4e\x8e\x21\xad\xa6\xd3\x53\x94\xa0\x14\x21\x1c\x37\xd2\x1b\x67\x6e\x16\x53\x59\xcf\xa6\x71\x7c\x66\x31\x1d\xf3\xcf\x3f\xf3\x0a\xc4\xad\xe3\xb3\x71\x0e\xd6\x18\xa1\xbe\x96\xed\xa3\x30\xc4\x15\xe3\x2a\xd7\xcb\xf6\x24\x74\x91\xec\x94\x23\x11\x22\x4c\xb1\xee\x9e\x11\xa8\x8e\x27\xe1\x6e\xa7\x05\x9b\x4d\xea\xcd\x26\xdc\xee\x18\x0c\x64\x1c\x13\xa6\xb9\x2b\xe9\xa3\xba\xbb\xd6\xc6\x9a\xa8\x2e\xf1\x6e\x57\xe9\x89\x89\xd8\x4f\x4e\xd9\x41\x54\x97\x1e\xaa\x5b\x94\xb0\x0b\x69\x81\x2f\x62\x8a\x92\xf1\xe3\x27\x9f\x7f\xf1\xe5\x57\x5f\x3f\x45\x0d\xd4\xb7\xf8\xe1\x4b\x8d\x16\xcc\xf5\x68\xd4\x17\x6b\x83\x39\x1c\xa7\x05\xb3\xd0\x77\x5d\xd2\x90\xb1\x76\xd6\x76\xeb\xc5\x36\x13\xf3\x3e\xa5\x72\x1a\xa4\xa4\x21\xf1\x9b\x89\x79\x7d\x79\xc7\x39\xad\x35\xee\xcd\x00\x33\x1f\x7a\x85\x72\xe7\x15\xda\xbc\x55\xd3\x0c\xc2\x02\xe6\x12\xeb\x4a\x67\x9a\x99\xf2\xb6\x0f\xa8\xa7\xeb\xf6\x83\x7a\x70\x25\x39\x55\x7e\x94\x97\x40\x39\xc2\xf1\x44\x96\xb7\x77\x46\x6d\x53\xbb\xa3\x0a\xc2\xc0\x6c\x59\x19\x7f\xce\x02\xdf\x31\x2a\xa7\x08\xa5\x6c\xcf\x1b\x1a\xc9\x9a\x6e\x71\x4f\x35\xcd\x5b\xca\x48\x6f\x5b\xf3\x5a\x35\xcd\x9b\x3a\xc9\x90\xce\x70\x5f\xe1\xc9\xa6\x5e\x6f\x69\x52\x67\xea\x2e\x4c\xb6\xe9\xc4\xcf\xd7\x0a\xce\x69\xa3\xf1\x34\x21\x9d\x96\x0a\x0e\x36\x92\x10\x90\x5d\x8e\x19\xba\x72\xc9\x95\x4c\xba\x30\x17\xfe\xd4\x8a\x1b\x0c\x31\x6f\x37\x99\xe0\x30\xe1\x02\xd7\x0d\x2b\xd1\xd6\xf2\x99\xc1\x9b\x4f\xf7\x58\x67\xda\xd2\xb6\x6d\xa2\x0e\xd3\xe9\x82\xe0\x78\xea\x24\x8e\x95\xb4\x9e\x07\x74\xa3\x79\xf3\xf4\x21\xae\xc9\x4d\x0d\x5d\x87\xa1\xb8\xa9\x82\x33\x78\xc4\xf0\xdd\xde\xba\x07\x28\x26\x28\x94\x4a\x6d\x84\x9e\x7f\x2c\x8e\xf0\xb4\xd5\xa4\x51\xfe\x59\x2e\xc4\x99\x4a\x72\x5a\x35\x90\xa6\xd4\x29\x16\xdb\x0a\xfd\x69\x90\x74\x4b\x8f\xa2\x59\xfc\x7e\x38\x9f\xce\x92\xe1\xd3\x79\x8c\xdf\x57\x9f\x45\xcb\xdd\xc9\xee\x66\xf7\xd3\xee\x6a\x77\xba\xbb\xdd\xfd\x8c\xa7\x47\x97\x64\x41\xb7\x23\xfe\x91\x2f\x22\x81\x27\x8b\x09\xbe\x33\xb4\x6d\x31\x7b\x3c\xdf\xed\x94\xc4\x18\x52\xb6\x13\x94\x16\x71\x6d\x92\x58\xcc\xc6\xa0\x4b\xf0\xc9\xd9\x8d\x29\xfa\x13\x14\xfd\xea\xb3\x7b\x0b\x5f\x79\xb4\xaf\xa3\x5d\x52\xd4\xee\x1a\x45\x1b\xfe\xbe\xb8\x91\x93\x12\x37\x4f\x51\xf8\xfb\x33\x4a\xf3\x7f\x43\xd3\x7b\x0f\x52\x96\xc6\x3a\xc6\x01\xb4\x7b\x78\x4f\x4a\xea\x54\x89\x48\x7b\x01\xb0\xb4\x75\x7b\x57\x4c\x15\x4e\xa6\x48\xab\x6f\xfc\x74\x51\xbd\x66\xaf\x23\x81\xa7\x2c\xad\xe0\xc2\xa0\x6d\x5f\x74\x28\x53\x4b\x5a\x0e\x06\x4e\xb0\x81\x5d\x46\x15\xfb\x58\x4e\x59\x5a\x12\x7d\x79\xb5\xe2\xf2\xbb\x62\x5b\x56\x51\x82\x09\x7c\x9d\x8a\x7c\x2b\x79\xfd\xfd\x0e\xde\xf1\xf0\xf3\xb3\x4c\x54\x2e\xb1\x76\x50\xe8\x90\xd2\x4a\xd8\xc9\x1d\x39\x9d\xfe\x5d\xd3\x88\xd7\xc3\x01\xe5\xb0\xfe\x89\x8f\xc7\x8f\xa7\xfe\x77\xfc\x38\x4d\x30\xe1\xee\xba\xa4\xd9\xe3\x2d\x99\x43\xf3\x02\x7d\x09\x01\x4f\x1a\xd7\xfc\x1a\x04\xd7\x9d\x0c\x0f\x25\x63\x1e\xb5\x9a\x84\x27\x41\x40\xaa\xcb\x07\x1e\x0b\x0d\x12\x5e\x3e\xec\x94\x08\x09\x7b\xd9\xd8\xfe\x15\xb8\x1d\x06\xfd\x0c\x06\x79\x90\xa8\x4a\xee\x76\xc2\xca\x32\x81\x51\x90\xe3\x43\xc7\x02\x69\xb9\xe2\xa9\x03\x98\xa9\x63\xb1\x65\x64\xe2\xfe\x95\xda\x0e\x6b\x42\x3f\x98\xc3\x6e\xe7\x9a\x86\xdd\x11\x1c\xf0\x3a\x04\xc2\x43\x94\x02\x41\x9b\x8d\xe3\x31\x38\x4a\xb1\x17\xd0\x96\x34\xfc\x6b\x3b\x0c\x75\x81\x71\x26\xb8\x43\xc5\x28\xfa\x13\x8a\x65\x10\xfd\xf4\xfd\xfb\xf7\xef\x75\xc0\x53\x84\x27\xa1\x13\xe5\x6c\xc9\x24\x1b\xae\x75\x4f\x73\xd4\x7a\x33\x44\xc3\xe6\x6e\x53\xf2\xeb\xf4\xa0\x8b\x93\x6f\x91\x26\x43\x01\xf7\xb8\xf6\xf0\xa6\xc0\x03\xeb\xc4\xb6\xce\x5a\x2c\xf9\xe1\x3a\x2d\xcf\x09\x22\x43\x7f\x83\x66\x85\xfa\x5e\x23\xc3\x7b\xd2\x61\x43\x3e\x10\xe2\xb0\xbe\x9e\xcb\x88\x96\x2d\x2e\xb9\x7c\x26\x65\x29\x2e\xb6\x92\x47\x08\x80\x06\x62\x36\xc2\x87\x0b\xe8\x68\x1c\x80\xbb\x10\x3d\x90\x78\x96\xfa\x07\x0e\xc1\x59\xf5\x23\x6d\x4d\x03\x30\x79\x6d\x85\x06\xff\xdf\xd8\xd4\xcf\xba\xa9\xbd\x7b\xc8\xf6\xc2\x3d\x4b\xd3\x31\x1b\xb8\xcf\x06\x11\x44\x0f\x95\x30\x58\x84\xf0\x1c\xef\xf5\x5e\xab\x9d\xc7\xbb\x04\x27\xe3\xb1\xe7\x22\x5e\xe8\xa8\x71\xe4\x92\x5c\x91\x15\x39\x27\xd7\xe4\x03\xb9\x25\x17\xe4\x84\xdc\x90\x53\xf2\x9c\x7c\x24\xaf\xc8\x6b\x72\x46\x9e\x91\x17\xe4\x1d\xf9\x99\xbc\x24\x6f\xc9\x1b\xf2\x2b\xf9\x2b\xf9\x81\x7c\x57\x3b\x6a\xfc\xf4\x20\x6d\xdd\x77\x0d\x12\xf5\x9d\x4f\xe7\xbe\xf3\x64\x6f\x4c\xbe\x0f\x65\x01\xe3\x20\x49\x7e\x0c\x93\x1b\x51\xed\x11\x26\xdf\x86\x05\x9a\x6f\x17\x20\x4c\xfe\x15\x96\xe8\x7e\xc9\x00\x61\xf2\xcf\x83\x0e\xf2\x1c\x93\xff\x69\x8f\x23\xf4\xdd\x21\xff\xdb\x28\xe1\x93\x8b\xff\xa3\xe3\x3e\xa5\xff\x74\x2e\xea\xff\x54\x2c\xc7\xdf\xee\x03\xa1\x4f\xb5\xa6\xbf\x83\xd0\xd5\x9c\xc2\xd3\xa7\x4f\x9f\x92\xa7\xe4\x29\xc6\xe4\xcf\x9d\x71\x3a\xb8\x0d\xe3\xf1\xf7\x83\xd9\x10\xc6\xe3\x17\xea\x9d\x68\xc3\xff\x21\x5c\xd2\xfa\xa8\x9a\x88\x55\x94\x1c\xff\x32\x18\x44\xbf\xc4\x74\xfc\x98\x70\x39\x1c\x62\xf2\x77\xac\x05\xed\x87\xe0\xca\xdf\x1b\xb8\xf2\x77\x0f\x57\x86\x0a\x74\x9f\x29\xa8\xc5\x63\x9d\xe1\xf0\x46\xd2\x3f\x0f\x06\x7f\x3e\x96\xd3\x3f\xa7\x72\xf2\xa0\xc3\x42\x92\x5f\xc8\x18\xe3\x63\x39\xc1\xbf\x0c\x87\xc4\x8c\x9a\x8e\xc7\x7a\xd0\xa0\x1b\xf0\xcf\xee\x5f\x82\x13\x59\x92\x86\xd4\x6a\x1f\x79\x81\x37\x49\xff\x35\x6d\x5b\xe8\x1f\x3a\xa8\xe1\xff\x92\x3a\xc2\x54\x5b\x62\xc5\x69\xed\x58\xbc\x60\xb9\x6e\x41\xc3\x87\x93\xa1\x1a\x3c\xf9\x05\x4f\xd1\x37\xac\xf3\xd5\x05\x88\x3e\xdf\x88\x5a\xdd\xf3\xe9\x09\x7d\xa4\x4a\x98\x34\xa0\x42\xf4\x11\x44\xaa\x7d\xd4\x83\x48\xb7\xf4\x11\xd8\x24\x1f\x1d\x37\x9f\x86\x83\x17\xe0\xcc\xdf\xe1\x42\x94\x8b\x8c\x0f\x65\x29\x58\x7e\x99\xf1\x21\x8a\xa3\xef\xa7\x88\xa3\x14\xdd\xc0\x83\xb5\xc7\xd0\x88\x09\x94\xfc\xcd\x11\x3b\x46\xe9\xb7\xf0\x34\xff\xc3\x87\xdd\x6b\xc5\x72\xfa\x0f\x8f\x30\xf0\xdd\x56\x04\xc4\xbc\xe2\x03\x0e\xc9\xed\x05\xaf\x1e\xbc\xe0\xf1\xa7\x16\xbc\x76\x2c\x69\x2d\xf8\x27\xd7\x5b\x8d\xf2\xfe\xf5\xce\x21\xb6\xe7\x7d\xeb\x5d\xfd\x4e\x68\xde\xa0\x14\x71\x0b\xcd\xea\x37\xad\x77\x7b\xd8\xf7\xae\xf7\x7f\x62\x84\xcd\xd8\xc0\xde\x2b\x4d\x8d\x80\xe2\xbc\xe5\x48\x19\x90\xed\xbf\xa5\x3f\x91\xb2\x03\x43\xd4\x51\x7c\x78\xd1\x4b\xb2\xa5\x36\x94\xb1\x06\x55\x57\x30\xeb\x6e\xe8\x81\x03\xaf\x07\x30\xad\x6f\x51\x09\x9b\x52\x14\xa5\x90\xb7\xfe\xcb\x90\x87\x51\x43\x9d\xa2\x5d\xa8\x71\x6c\x6f\x9c\x59\xd0\xd8\x17\xaf\x14\x28\xeb\xf0\xda\x64\x41\x7f\x9c\x06\x11\xf8\xc3\x61\xea\x72\x1b\x96\xf3\x76\xb0\x7d\xd5\x47\xf4\xfd\x74\x0b\xea\xeb\xc8\xfa\x0f\xbe\xca\x7f\xd0\x42\x0a\x29\x14\xce\xff\x06\x88\xe8\xe5\xb8\x1f\x26\xc1\x8b\x96\x87\xa1\x02\x6c\xf0\x01\xb0\x94\xfe\xfc\xf5\xd8\xbf\x57\xab\xb7\x05\xc0\xc0\xe3\x00\x29\x42\x64\x5d\xab\x1d\x02\x40\xda\xd7\xa3\x10\x06\x4d\xc4\x9a\x6a\xc1\x7f\x8d\xa7\x49\xba\x26\x59\x9b\xf9\xf8\x89\xf3\x0f\x08\x93\x65\x53\x83\x6a\xa2\x3b\xd7\x01\x72\x1b\x39\xa7\x70\xd2\x5f\x86\x99\x5e\x70\x69\x4c\xae\x0e\xe5\x99\x38\xd1\x64\x15\x16\x08\x9e\x4a\x42\x98\x9c\xb7\x07\xeb\xbd\xe3\x84\x30\xb9\x6e\x14\x68\x3e\xf5\x84\x30\xf9\x70\x50\xab\x7b\x4b\x11\x22\x27\x34\x99\x28\x8e\xe0\xf8\x64\x72\x12\xc7\xfa\xe6\xcd\x8d\xca\x90\xe1\xc5\xcb\x53\x28\x37\x9e\x1f\x9f\x4e\x4e\x55\x39\xb1\x8a\x9e\x3f\x88\x17\x01\x1e\x21\x10\xf3\x31\x26\x1f\x29\x0a\xf1\x03\x91\x57\xaa\xd3\xff\x83\x86\x5f\xc5\xf4\x1e\x8c\xbf\x2c\x8b\xed\x06\x11\x18\xcc\xd8\xc6\x54\x3a\x35\xb1\x94\x92\x54\x55\xee\x75\xd4\x18\xea\x3b\x76\x8d\xae\x35\x09\xb3\xef\x3b\xea\x57\x1d\xfd\x80\x1e\xaa\x97\xe1\xf8\x70\xa3\xf0\xe2\x63\x67\x9b\xe6\xb9\x47\xf3\x56\x62\xc3\xaa\x70\xb0\xbd\x2b\xb1\x5c\x66\x1c\x5a\x44\x7b\x55\xea\xd1\x31\x02\x75\xe7\xfd\x30\x59\xc3\x9b\x6a\x1e\x05\xa8\x13\x1a\xaf\x6d\xa0\xf8\xa3\xa6\xd4\xd1\x11\xcb\xb2\x9d\x1a\xa5\x71\x96\xf8\x88\xf5\xb5\x88\x93\xe9\xf7\xd3\x3c\x65\x7a\xe3\x41\x21\x98\x43\x47\x29\x96\xe6\xda\x32\x16\xdc\xbc\x75\x62\x9b\x7e\xe8\x2d\xe2\x6a\xfd\x25\xf9\x33\xf9\x3b\x39\x39\x4e\x76\xbb\xd3\xe3\x04\x7c\x59\xec\x66\xfe\x06\xbc\x9c\x0f\x90\x1c\x73\x81\xe4\xd1\xf1\x37\x52\x4d\xe9\x18\xc5\xe8\x1b\x59\x1e\x23\xf2\x9a\x66\x53\xf4\x8d\x5c\x77\xd7\xbb\xe1\xfc\xc3\x70\x51\x64\x2d\x2a\x5b\x3f\x40\xa7\xc9\xac\x5c\x6b\x62\x72\x41\x93\xc9\x57\xc7\x17\x93\x8b\x38\xc6\x67\x34\xba\x88\xd7\xf8\x2f\x5f\x91\xd7\x0a\xe8\x72\x8d\xe2\x48\xa5\xc4\x5f\xe2\xbf\x7c\x75\x4c\xbf\x98\xa2\x7b\x3a\xe5\xf9\xf2\x91\x26\x5a\x08\x06\x0b\xe7\xa9\x3b\x63\x97\xb3\xb3\xb9\x06\xff\x06\x7e\xb9\xb3\x52\x8d\x63\x62\xd6\xf9\x35\x0c\xac\x84\x54\x35\xe7\x6f\xe4\x45\xb1\xbc\x3d\x46\xe4\x59\xb7\x2f\x08\x70\x2f\x4a\x84\x68\xaa\xa7\x06\x83\x5f\xba\xf4\x58\x51\xa8\x74\x73\x8a\xda\x20\x99\x3c\xc3\x98\xbc\xa0\x35\x69\x7d\x69\xc8\xaa\x91\xe4\x74\xaf\xc3\x75\xfc\x95\x02\xd4\x3b\xdd\xca\x82\x8b\x2c\x8a\x5e\xc4\xcf\xf0\xd1\x57\x98\xfc\x4c\xff\x6f\xea\x53\x91\xe3\x77\xc1\x67\xfa\x2e\x7d\x17\x52\x99\x9f\xc9\xcb\x87\x93\x94\xf1\xf0\x05\xc6\xe4\x2d\x4d\x26\x3f\x1f\xbf\x9d\xbc\xb5\xb4\x0b\xf6\x09\x60\xc8\x1b\x8d\x21\xcb\xdf\x88\x21\xc1\x6b\x78\x08\x47\x2f\x35\x9e\x2c\xdb\x78\xf2\x2b\x5d\x4d\x57\xc6\x71\xbb\x61\x56\xab\x1d\xb7\x5f\xce\x71\x3a\xeb\x27\x04\xa1\x39\xf9\x2b\x7d\xe9\x09\x62\x7d\x4a\x7f\x21\x3f\xd0\xbf\x0e\x06\xfd\xeb\xdd\xae\xff\x2b\x48\xb4\x20\x80\xbd\xdc\xed\xfe\x3e\x18\xbc\x3c\xfe\x3b\x79\x03\xb3\x59\xd6\x2f\xa6\x34\x11\xb1\x1b\x03\xcd\xa9\xf9\xd7\x56\x81\x42\x1d\x0d\x46\x0f\xa4\xcb\xbc\xac\x95\xdf\x94\xd2\xe7\xf5\xd7\x01\xe4\xe1\x75\xc8\xbb\xdd\xee\x43\x50\xf9\xa5\x5f\xf9\xc3\xa1\x76\xa7\xa8\xd7\x75\xd7\x5e\x8f\xe6\x07\x2f\xb7\x75\x07\x42\xbf\x33\xd4\x88\x3d\x6b\x66\x3a\x18\xf4\xcf\x81\xc3\xeb\xa1\xf8\x57\x25\xdb\x36\x26\xf6\xb7\xce\x01\xf8\x21\xf0\xba\xc0\xf1\x53\x50\xab\xf1\x72\x2b\xbc\x31\xaa\x6a\x29\xd6\x17\x99\x31\xc0\x42\x3e\x9e\xeb\xa1\xb8\x6d\xaf\x92\x6a\xe5\xe6\xa3\xa3\x4b\x82\x06\x7f\x7a\xf2\x74\x02\x5c\xb3\x99\xb7\xaa\x10\xf2\x48\x4e\xa7\xd7\x29\x59\xd4\x1a\x3d\xd5\x83\x8f\x58\x31\x32\xb9\xb7\x4a\xca\xb6\x99\xb5\x3a\x40\xf7\xa9\xc8\x93\x85\xdb\xe0\x4f\x1f\x59\x32\x41\xe9\x0f\xd3\xd6\x6b\xe5\x01\xa7\xa7\x36\xcb\x4b\xcf\x1a\xe8\x9e\xe9\x69\x08\x21\x41\x25\xf4\x49\xa8\x9a\xe7\xe2\xc4\xe5\x3a\x33\x07\x71\x7b\x29\xfe\xd6\x5d\xc9\x3c\xd9\x1f\xe0\x7b\x9b\x17\x35\x04\xf9\x51\x6f\x5d\xf2\x15\x7d\xf4\xa7\x8e\x79\xb0\x63\xe4\x36\x3a\x79\xe9\x6c\x9f\x7e\xa9\x31\xbe\x9f\x3e\xbd\xc4\x93\x57\x31\x7d\x63\xa8\x37\xda\xff\x12\xc7\xe4\x97\xe3\xf1\x18\x54\x22\x09\xe1\x32\x8e\x31\x01\xfa\x74\xa4\x29\xfa\x37\x47\x80\xdc\x6a\x21\xfe\x6f\x6a\x59\xdb\x38\x02\x76\x2c\x19\x0c\x4e\xa9\xd6\x6e\x0d\xc7\xf7\x09\x00\x65\x71\x33\x04\xe6\xc2\xbd\x9c\xa5\x26\xab\xfe\x27\x37\x31\x7d\xb5\xbf\x8d\xe9\x8d\x35\xa9\xdd\xc6\x74\x41\x78\xf8\xbc\xf2\xad\xa7\xf7\x6c\x1c\xdd\x69\xd3\xfb\xc9\x6a\x3f\x5b\x0f\x67\x68\x15\x68\x43\xd6\xab\x1f\xf1\x6c\xb3\xb2\xf5\x5b\xa6\x1d\x5c\x6c\xeb\xa9\x57\x60\x63\xef\x81\x01\x6c\xb4\x47\xc7\x08\x58\x5a\x08\xcc\xb9\xdb\xf5\x57\xf8\x56\xc1\xba\x81\xcf\x7e\xbc\x0a\xd5\x07\x08\x1c\x33\x59\x9f\xc5\x08\xdc\x50\xe0\x2c\xd9\xd2\xff\x1f\x77\xff\xde\xdc\xb8\x71\x25\x0c\xe3\xff\xff\x3e\x85\x88\x6c\x18\xb4\xd8\xa4\x40\x4d\x9c\xdf\x2e\xe8\x16\xcb\xb1\x9d\x8d\xeb\x49\x62\x3f\xf6\x64\x93\x14\xcd\xa8\x20\xb2\x29\x76\x0c\x01\x0c\x1a\xd4\x68\x4c\x60\x3f\xfb\x5b\x7d\xfa\xde\x00\x48\xcd\xd8\x79\xf6\x79\x5f\xbb\x6a\x44\xf4\xfd\x72\xfa\xf4\xb9\xf5\x39\xd9\x78\x9c\xf9\x87\x87\x10\xc2\xf0\x86\xf0\xf1\x98\xf7\x64\xc8\x1e\xe1\xdc\x9e\xeb\xb3\xf7\xa0\xff\xd1\xc9\xd2\x47\x1d\x56\x49\x4c\x6c\x4f\x92\xc5\xfc\xf6\x6e\xbf\xd8\x4f\x26\x28\x1e\x1d\x9b\x66\x7f\x47\x32\xe7\xd0\xa3\xf1\x38\x1e\x6d\x9a\xc6\x55\x5b\xdf\x91\xbd\x48\x86\x41\xc9\xd7\x6d\x57\xd2\xdb\xd1\xaf\xa2\xc9\x5e\x22\xad\x3d\x38\xc8\x8e\xae\x34\x96\xd7\x83\xa1\x2e\x15\x53\xae\xf6\xb0\x3e\xb2\x8d\xbb\x08\x2d\xa0\xc9\x1b\x59\xf4\x2e\x6a\xd9\x2e\x7e\x6e\x9a\xf8\x87\x09\x79\x3f\x89\x47\xc5\x78\xbc\x1b\x8f\x25\x3a\x56\x98\x05\x81\x47\x2d\xeb\xcf\x02\xec\x59\xac\x3f\x8b\x28\xc2\x62\xc7\xee\xd1\x0f\xe7\x77\x4c\xd4\xf0\xa5\x4a\xce\x6e\x05\x9c\x9d\x89\x8f\x1b\xa1\x19\x3f\xe4\xac\x8e\xa3\x14\xb8\xbc\x21\xa3\x5c\x7c\xe8\xb1\x8a\xa0\xda\xa0\x60\x03\x0a\xff\xd9\xf5\x0d\x5a\x32\xfb\xe4\x83\x3a\x0f\x0a\xe6\xc0\x6f\xa6\xa6\x86\xad\xb0\x75\x2a\x40\x19\xff\x73\xf1\xff\xd3\x56\x45\xc0\xa8\xd6\x68\xb9\x4d\xeb\x16\x3f\x92\x43\x9c\xc3\x03\xbe\x27\x45\xa3\x65\x2f\xf1\x23\x16\x89\xf3\x75\xd3\x88\x8b\x07\x3f\x92\x6c\xe9\xe4\x05\xb0\x8a\xd2\x47\xfc\x44\x94\xcf\x06\x41\xe1\x3d\x61\x1e\x96\x78\xc2\xce\x46\x5c\x82\x5e\x58\xff\x5e\xe0\xfd\x9b\xcd\x09\x61\x77\xf1\x74\x47\x1e\x17\x8f\x93\x09\x0a\x7a\x0a\x41\xf2\x51\x82\xe4\xa3\x7c\xe0\x7f\x1e\x24\x1f\x5d\x78\x5c\x04\x0d\x1b\xc0\xc4\x3f\x4c\x88\x93\xe7\x4e\x55\xfa\x50\x51\x0b\xff\xc3\xa4\x0b\x3b\x32\xac\xb4\xc0\x4e\xe3\xb1\x80\xec\x7e\xb8\x9e\xbc\x47\x18\x80\x56\xa2\x5e\xf3\x30\x5a\xab\x7c\x07\x14\xeb\x56\x0a\x3e\x89\xa3\xbf\x49\x63\x86\x3a\x4d\x54\x7c\x11\x2d\x2e\xd7\xef\x56\x55\x5e\x31\x44\xaa\xf7\x72\x05\x19\xe6\x08\x4d\xe2\xe8\x0b\xa7\x85\x4b\x9a\xfa\xb3\x54\x37\x60\x7f\xd4\xd1\xd9\xbf\x56\x4d\xff\x4a\xbd\x7c\xa8\x89\xd7\x4b\xd0\x34\x6a\x9d\x90\xf6\x0c\x1d\x68\xdc\xc1\xab\xb6\x3b\xad\xf3\xae\xa7\xfb\x94\x36\xd9\x79\xa5\x0d\x87\x60\x45\x77\xf5\x92\xa5\xb5\x63\x06\xc9\xef\xb2\x65\x96\xf2\x16\x7b\x23\x3a\xe7\xd0\x5b\x34\xd9\x09\x72\x2d\x3d\x98\xd4\x97\xf8\x89\xc0\xf6\x22\x58\xe5\xc9\x1c\xd3\xb5\xb2\x1a\xf0\x15\x6f\x97\xc6\xe3\x07\xd4\x36\x21\x46\xaf\xa4\xc9\x4d\xbd\x5c\xcd\xf1\x7c\xdd\x35\xab\x81\x8c\x7a\x0d\x6e\x2f\xbd\x65\x4b\xfb\x1e\x2c\x5d\x5d\x36\x6c\xab\x27\x91\xb6\x69\x53\xcf\x46\x7d\xb8\xee\x6f\xf7\xcd\xed\xf4\x55\x8c\x23\xae\xf1\x9b\x5b\x69\x9e\x2c\x41\x56\xb6\x1f\xf0\xb6\xfd\x7d\x78\xad\xcc\x91\x31\xa3\x6e\x71\xa0\x52\xe8\x90\x4d\xc6\x23\xd2\xb0\x4e\xb4\x78\x15\xe3\xcb\x70\x36\x89\x93\xbb\x7a\x59\xa7\x7c\x95\xac\xaf\xf9\x6a\xbe\x46\x78\x6e\x4d\x31\x92\x3b\x78\x1c\x6c\x2c\xf7\xfa\x10\x43\x68\x1f\xe9\x5a\x3c\x5a\xef\x20\x8e\x98\xb8\x90\x31\x30\x54\x42\xdf\xb1\x82\x88\x2a\x67\x8f\x56\x71\xfe\x68\x49\xd3\x2e\x5c\xca\x3f\xc7\xc1\x9b\xdc\x3c\x2e\x81\xa7\xc0\x47\xf7\x62\xcf\x86\x2f\xf6\xca\x79\xe6\xaf\xde\xe7\xe1\xd2\x4d\x53\x46\x6b\xe0\x37\x24\xbc\xbd\xc7\xe3\xb8\x9a\x90\x4c\xe4\xce\x7b\x73\x4b\x91\x8b\x70\x3c\xe2\x4d\xe3\x58\x78\xdf\x49\x93\x41\x65\x57\x26\xa8\xb3\xc2\xcb\xff\x54\x1a\xaa\x3a\xf9\x95\xca\xb7\x23\xbf\x23\x15\xe4\x94\x4d\x53\xde\x91\x20\x53\xc3\xae\xa3\xf4\xb8\x74\xc8\x83\xe7\xae\x76\x3d\xeb\xee\xbb\x57\x01\x64\xaf\x7b\xf7\x5a\xc3\xe2\x9d\xc2\x17\xb7\x35\xf6\x1f\xa7\xf4\xca\xd0\xb5\x20\xdc\x3c\x47\x19\x92\xc1\x87\x0f\x50\x2e\x08\xd6\x9d\x27\x27\x83\xe2\xf9\xb6\xc5\xf7\x83\xcf\x6e\xc4\xa9\xad\xc1\x01\xa8\xeb\x2e\xc1\xbb\x76\x03\xc3\xb3\xd0\x4e\xce\xb7\x30\xf3\xf1\xb6\x74\x24\xc8\x05\xe9\x1d\x3e\x77\x16\xeb\xfe\xba\xeb\x98\xe1\x5a\x07\x49\xfe\x17\x18\x75\x05\x8a\xb6\x61\xeb\x72\x3e\xac\x80\x6b\xc1\x4d\xd1\xae\x70\x8c\x7b\x48\xe0\xf3\x67\x04\x95\xd5\x9b\x53\xa7\xef\x85\x67\x11\xc4\x0a\x56\xb3\x2c\x67\x3f\xd2\x2d\x84\xb1\xb7\x5e\xcc\xc0\x39\x23\xc4\x3e\xec\xf1\x20\xea\x79\x1b\x0a\xbc\x50\x3a\x4d\x92\x51\x82\x70\x02\x4e\x56\x5f\xe5\x09\xa8\xe3\x5f\xc9\xab\x21\xfd\x2c\x49\x4f\x91\xe4\xb3\xaa\xca\xde\xdb\x08\xed\x33\x9e\xb3\x0d\x9d\x6d\xb2\x3c\x8f\xcd\xc3\x77\x3c\xd7\xab\xde\x3d\x84\x4d\x13\x59\x8f\x1f\x91\x8c\xc0\x12\xa9\xdb\x4b\x7f\x4a\x91\x3f\x7c\x2d\x23\x49\x13\x47\x32\x38\xcb\x6b\x03\xef\xe8\x22\xab\xb9\x1f\xfa\x76\x15\xdd\x47\x13\x75\x23\xcb\x94\x68\x6d\x08\x14\x5b\x0c\x83\x81\xd5\x2a\x59\xaf\x67\x9b\xb2\xd8\x64\x75\xcc\x34\x60\x86\x1e\x13\x3a\x7d\xd7\x1f\xdf\xa1\xd7\x5b\x60\xab\x17\xc4\x9b\x07\xf0\xc5\x35\x6a\xfd\x82\x3f\x65\x7e\xbe\xfb\x5c\xb0\xe6\x62\x67\x20\x6c\xee\xe7\x1d\x8f\x2c\xe4\x44\x95\x3f\x06\xaf\xd8\x33\xad\x38\x2b\x0b\x12\xcd\x67\xf3\x64\xf6\xeb\xa8\x45\xf1\x3f\xfe\xf7\x91\x56\xef\xd1\x22\xee\xe2\xfa\x93\x54\x9a\xf2\x74\x94\xe0\x3d\xb8\x29\x14\xbf\x9e\xb2\x97\xdf\xbb\x1f\xe0\x06\x11\x7e\xb3\xc2\xc9\x60\x85\xc9\x78\xa7\x7e\xb4\x98\x91\xd3\x07\x57\x6f\x17\x74\x26\x41\x32\x8e\x8e\x6c\x26\xfd\x84\x45\xf8\xa4\xe6\x92\xea\xb9\x60\xe5\x70\x27\x3d\xa9\x28\xe3\x65\x2a\x8f\x15\xce\x8e\x75\xf9\xf5\x81\x16\xa2\x61\x3d\xa5\xd5\x1a\x83\x86\xfc\xeb\xe2\x4b\xbe\xc9\x0e\x54\xe4\x19\x95\x79\x2a\xb5\xe7\x11\x76\x9c\x92\xa5\x51\x84\xb7\x55\xf6\xf8\x28\x8e\x0e\xac\x08\xdb\x52\x49\x44\xab\xb5\x81\x90\xc7\x91\xb3\x3e\x90\x69\xa6\x28\xbf\xcc\x24\xe7\x9f\x38\xb3\x84\x8f\x72\x9b\xe5\xe9\x68\x8e\x8d\xd3\xb6\xd3\xd3\xfb\x34\xda\xd0\xa2\xa6\x55\x84\xb3\xda\xfe\x2e\x77\xe9\x3b\x56\x6c\xcb\x77\x78\x53\xe6\x39\x93\xcb\xb0\x63\x75\x84\x8f\x9c\x15\x8f\xfd\x7e\x6d\x8c\xbb\x67\xc7\xc9\xe0\xac\x2e\x0f\x8b\xe4\x8e\x09\x1c\x64\x0b\xa8\xd8\x9c\xe0\x81\x91\x89\x6b\xad\xa2\x9c\xfd\xa8\xe7\xcd\xf7\xe5\x3b\x15\xf4\x14\xc2\x6c\xc3\x4f\xb9\xc5\x6f\x92\x04\x4b\x9d\x33\xb8\xbf\x93\x59\x1b\xfb\x53\xac\x9f\xfd\xf5\x5d\x9d\xa9\x97\x9f\xea\xb3\x3c\xc8\x2f\x70\xfc\x22\x7f\x96\x62\xdb\xe0\x17\x8c\x81\xba\xbf\x9d\xfa\x3a\x41\xb5\x20\x48\xe8\x8a\x7a\x97\xb0\xf2\xfc\xab\x63\x3d\x7c\xce\x39\x39\x69\x67\xcd\x12\xb3\x48\xaf\x9c\x82\x64\x83\x40\xba\x33\x95\xab\xa6\xd6\x5f\x06\xf2\x9c\x4d\xed\x2f\x65\xf2\x1d\xd8\x18\x28\xa9\xf3\x35\x4c\xf5\x17\x93\x99\x2d\xf6\xa6\xf4\x8d\x02\x1b\x72\x92\x6e\xe8\xbc\xba\xca\x35\x5d\x8c\x30\xc4\x17\xe8\xcf\x73\xe3\xf3\x41\xb1\xd8\x2d\x86\x82\xfe\xde\x82\x36\xc2\x6b\x48\x46\xa3\x06\xb0\xd0\x61\x85\xd5\xa1\x9c\xd5\xb6\xb4\x97\xa4\xec\xdd\xbd\x46\x15\x01\x20\xb7\xf0\x2f\x95\x38\xce\xc6\x9f\x90\xee\x0a\xdc\x4f\xeb\x48\x93\x9f\xb9\xfd\x06\x4e\x8b\xe1\x04\x6b\x0b\x96\xae\x4d\x8b\xb9\x74\xdf\x96\x2a\x22\x33\x93\x7e\xf0\x90\x37\x0a\x18\xd7\x43\x66\xdd\x1a\xc9\x64\x6b\xef\x1a\x07\xf3\x35\xa8\x62\x3c\x96\x14\x8b\xfd\x96\x0d\x3c\x65\x3f\xd0\x2f\x74\x62\x58\xdb\x1c\x38\x55\xdb\xf9\xb6\xb5\xbf\xd5\x89\xb1\xe5\xb2\x04\x9a\x23\x10\xd3\x4f\xdc\x16\x5d\xf0\x57\xed\x6b\x8c\xa8\x9a\x13\xa7\x0c\x18\x4f\x83\x39\x3b\x06\xf0\x7e\x75\x55\xcc\xf1\xbb\x12\xd7\xb3\x7f\xfc\x53\xdc\x24\x82\xe9\xd0\xde\x51\xd1\x12\x9e\x47\x41\x5d\xe3\x06\x17\xcc\xee\x05\x21\xa2\x68\x1e\xfa\xcf\x38\x41\x36\x6a\x6e\xd8\x35\xc5\xba\xf3\x00\xce\xb5\x45\xa9\xac\xf6\xf5\x33\xad\x72\x78\x85\xec\x81\x89\x84\x8f\x3f\x17\xec\x9f\x47\xfa\xd5\xb6\x27\x34\xe9\x2b\xe0\x63\xa3\xdd\xa8\x39\xc8\x03\xcd\xb6\x54\x90\x04\xba\x3f\x0d\x35\x6e\x9c\x04\x1b\x55\xb7\x0b\xe2\x6a\xe1\xfb\x0e\x4e\x4f\x69\x84\x29\xd1\xc7\xd4\x3d\xa4\xf4\x9f\x71\x2d\x4f\xaa\xb8\xe7\x0d\x39\xb9\x4a\xe0\x99\xa8\x8f\x3a\x96\x74\x26\x51\xb3\x7f\xa8\x53\xd3\xae\xeb\xdb\xd3\x1e\x79\xb9\x1a\x3d\x16\xf6\xde\xb4\x5b\xac\x14\xa8\x29\x9d\x15\x65\x79\xc0\x32\xbc\x9e\xfe\x92\x57\x40\x9f\x53\x44\x20\xcd\x4d\xc4\x4a\x09\xbf\x1a\xc6\x8d\x33\x32\xe7\x4a\x89\x70\x8d\x20\xbe\x83\x0c\xd3\xe1\x43\x3d\x1e\x80\x88\x91\x01\x72\x27\x64\xaa\xf4\x3d\x9d\x81\xc3\x6a\xed\x6a\x4c\xf3\x0d\x32\x2e\x8a\x07\xb6\x02\xf9\x4a\xe5\xa0\x72\xdf\x8c\xd9\x78\x2c\x41\x18\xfc\xbd\x0c\xc5\x05\xa1\x31\x43\xb3\x87\xfc\x58\xc5\x6e\x20\x12\x39\x50\x70\x69\xeb\xad\xa3\x8f\x05\x44\x3e\x76\x56\x3e\x73\xd6\x64\xa3\x57\xa3\x15\x17\xb4\x5c\x82\xa1\x5d\x52\x2b\xd4\x62\x01\x8e\x6f\xcb\xb7\xe5\xa1\x83\x18\xee\x4d\x16\xe0\x81\x9e\x82\x8e\xd0\x73\x34\xf2\x61\xbe\xa0\x2f\xf5\x67\x79\xee\xba\x00\x9f\xb1\x82\xd3\xaa\xfe\xad\x03\x71\x06\xb1\x6a\x07\x09\x4e\x94\xbe\xba\xb3\xe7\x2a\xb8\x34\x05\x9f\xce\x65\x30\x39\x8b\x92\x16\x3d\xf3\x5c\xc6\x9d\x29\xe9\xe6\xa1\xd5\xb7\xd9\xc3\x83\x42\x9b\xc7\x62\x4b\x77\xac\xa0\x5b\xe3\xc5\x4e\x03\x53\x82\x1d\xa0\x51\xe4\xd3\x30\x30\x98\x70\x90\xec\x47\x8b\x8d\x35\x1d\x17\xdc\x19\x01\xa6\x72\x86\x09\xa4\xcc\x28\x71\x83\x96\x9f\x03\x0f\x91\xef\x82\x47\xdd\x9d\x5f\xdd\x59\x51\x64\xc2\xd6\x9a\x0c\x31\xc7\xc8\x5d\x0b\x90\x63\x38\x0d\x75\x50\xb2\x7f\xeb\xab\x77\x54\xe2\x4e\x81\x6a\xeb\x08\x99\xc7\xfb\x82\xbb\xee\x2b\x9d\xd6\xaa\xed\x08\x59\xd4\x65\x0b\xeb\x09\xdb\xfb\xf5\xc3\xea\xe9\xeb\x1a\x70\x86\x3d\xf2\xaf\xab\x2c\xf2\xe0\x52\xd2\x68\xa1\xc5\xf7\x3f\x50\x7a\x00\x9f\xf8\xbe\x5b\x71\xf5\xfb\x8a\xf9\xf7\xe4\x19\xa4\xe1\x77\xb5\x4a\xd6\x82\xb3\x6e\x1a\x2a\x38\xc1\x3a\x63\x05\x8f\xc3\x02\xb8\x46\x0b\xf3\x2c\x30\xd8\xe0\xb6\x27\xce\x16\x93\xe2\x00\x20\xe7\x0d\x46\x14\x00\x07\x91\x42\x3d\xa2\xaa\x83\x06\x74\xb7\x84\xc6\xa0\x1e\xbf\xeb\x27\xa7\xec\x35\xd9\xbd\x30\xbb\x16\xe2\xbb\xaa\x2c\x6a\x6d\x23\x63\xe8\x23\xd7\xdd\x33\x20\x42\x24\x6f\xc1\x53\x9d\x3d\x80\xa3\xd4\x74\x3a\xc7\x55\x99\xd3\x34\x52\x2c\x5f\x1b\x92\x6a\x86\x5c\xb1\x0e\x63\xc5\xbe\x78\x27\xe6\xa4\x02\xd0\x77\x22\x3c\xb9\x83\xf1\x38\x41\x81\x8e\x66\x8c\xab\x05\xfd\x46\x2e\x2f\xdd\x02\x12\x71\xc3\xa2\xa9\x9f\x60\xd4\x74\x34\xe1\xbe\x66\x5f\x7e\xf7\xf9\x67\xdf\x7c\x69\x44\x4f\x3d\x71\xd0\x44\xcf\xd0\x63\x5c\x3b\xa7\x0e\x6e\xc1\xa1\x46\xdf\x7e\xf6\x5b\x4f\xe3\x64\x50\x6f\xe7\x54\xe0\x8c\x30\xe7\x8e\x93\x71\x20\x30\x77\x13\xc1\xc6\x14\x2d\xb4\xfb\xeb\x11\x21\x32\x40\xa7\x93\x10\xc2\xa0\x20\xea\xf8\x9e\xed\xea\xff\x45\xdf\x2f\x9d\x72\xd9\xe5\x8a\x23\x5b\xb3\x69\x62\xae\xce\xd4\x5c\xe0\xa6\x70\x69\x50\x1a\x67\x67\xf3\x5b\x71\x85\x29\xf9\x9c\x27\x9b\x0e\x31\x29\x1d\xc2\xf8\x6d\x1b\x10\x88\x1a\x79\x55\x2c\x9b\x6e\x29\xdf\x54\xec\x81\x6e\x1f\xde\xaf\x23\x64\xf0\x83\xbf\xe2\x12\x48\xa3\xb0\x42\xe4\xb3\x54\x47\x4b\x71\x4a\xda\x8e\x6d\x23\xf9\x26\xd0\xe7\x27\x3a\xb7\xda\xa2\x17\x8f\x5d\x38\x8f\xd2\x60\xe5\x21\xeb\xb7\xd8\xf5\x4f\x63\x68\xbf\x8b\xc4\x32\x9f\x63\x80\xc2\x23\xa5\xc7\x84\x4f\x3d\x7b\x51\x83\x13\x53\xed\x58\xdd\xf1\x5a\xde\x1d\xab\x7c\x11\x61\x1c\xad\x5a\x90\x56\x48\xb7\x0d\x48\x6b\x0f\xa7\xc3\x82\xf4\x3d\x35\xb8\xb3\xa6\xfe\x68\x26\x7f\xc5\xa7\x3c\x7b\xa0\xea\xb9\xb2\x77\xe4\xdf\xd2\x97\x1a\xb3\x0d\x08\x8d\xd4\xe3\x8b\x34\x32\xaf\x53\x44\x89\x7a\xcf\x36\x3f\x44\x2d\xae\xe9\x4b\x9d\x8e\xe6\xed\xf9\xe5\xd7\x53\x1a\x60\x29\xf5\x0c\x2e\xad\x2c\xcc\x10\x9f\x36\xbe\x4f\x7b\xf0\x9e\x7f\x0e\x9b\x50\xb9\x66\xb0\x34\xd2\x98\x05\x79\x70\x38\x34\xf0\x61\x10\x08\x07\x0c\xc5\xe3\x3a\xe4\x79\xdc\x23\x01\x4b\x9d\xab\x13\x11\xc2\xbe\x14\x18\x75\x0e\x6e\x20\x10\xa0\xd2\x7b\x74\x34\xfe\xc5\xfc\x37\xc9\x02\x02\xa9\x89\xe5\x8f\xbb\x65\xed\x79\xb2\x84\xc2\xe0\x9d\x66\x8b\x5c\x3a\x4d\xe7\xde\xc0\xf4\x1e\x21\xbd\x1e\xb2\x8b\xef\x68\xfd\xba\x1e\x38\x1d\x16\x3f\xd8\xd1\xf6\x49\x1c\x24\x51\xe2\xa5\xf4\xd3\xc7\x9a\xe0\xd0\xcb\xa6\x3a\x5e\xf4\x31\x71\x0e\xb1\xe5\x73\xae\xce\xc4\x4c\x10\x37\x3a\x63\xfc\x4b\xf1\xfb\x6b\xd0\x37\xc5\x0c\x81\xc3\x00\x0e\x0a\x0a\x88\xd9\x35\xd2\xee\x31\x97\xfe\xcc\x86\x58\x70\x35\xb4\xc8\xa7\xca\x95\xcf\x51\x86\x5d\x4f\xc0\x4a\x01\x8e\x8b\x45\x46\x44\xa7\xbf\xd3\x79\x19\x5a\xaa\x63\x93\xc9\x23\xcb\xda\x34\x03\x7f\x45\x3a\x92\xbf\x40\x16\x69\x24\xfb\x8a\x5a\x9c\x41\x7c\xad\x19\xd4\xc1\xea\xaf\xeb\x35\x94\xeb\x00\x83\x0e\x27\x8d\x8d\x7e\x03\xb5\xb8\x20\x27\x89\x40\xb2\x19\xfc\x95\xdd\x66\x40\x9c\x0b\xf4\xd2\xe2\x2d\xcd\x69\x4d\xaf\x74\xbe\xf9\xd4\x25\xb0\x45\x65\x0e\xf2\xc2\x99\x41\x5f\x85\x0b\x23\xee\x66\xa0\x10\x45\x9e\x83\xb5\x28\x28\xeb\xec\xf6\x90\x00\xcc\xe3\x08\x3c\x79\x95\x0b\x6c\x86\x08\xae\xad\x07\x11\x37\xa0\x9e\xfe\x89\xa5\xd0\x39\xa5\x4a\xfa\xdc\xb6\x96\xa0\xd1\xa6\x32\x0a\x4c\xfd\x4b\xd0\xca\xce\xe2\xd3\x26\x2b\x36\x34\x4f\xdd\xfb\x44\x1d\x4c\x7c\x35\x7c\xc7\x60\x69\x5d\x96\xf6\x5d\x43\x11\x56\x94\xb7\xd8\xd1\x34\xd2\xa4\x7b\x84\x39\x88\x97\xcd\x44\xc1\xfd\xb4\x96\x92\xf7\xad\x33\x8c\x92\x15\x8f\x10\x85\xef\x1e\x22\x68\xfc\xae\xca\x9e\x28\x07\x9a\xdc\xb2\x5b\x46\xf4\x1d\xe1\x0c\xd7\x31\x47\xa8\x95\x82\x71\x87\xd5\xce\xd0\x29\xac\x12\x61\x8a\xc1\x51\x5f\x8b\x79\xed\x32\xe6\xe0\x0b\x38\x33\xcb\x4c\x56\x85\xf9\x2d\x63\x30\x31\x2b\x7b\x73\xe3\x3c\x61\xa7\x1c\x48\xfa\xc3\x62\xc0\x39\xaf\xb1\x9e\xf3\xc0\xb1\xf5\xa7\xad\xc2\xc6\x9c\x99\x78\x79\x88\x30\xc7\xe0\xf0\xb6\x6d\x35\x60\x19\x51\xe6\x45\xc0\x0a\xa5\x80\x02\x9c\x82\x24\xac\x13\xbe\x63\x3f\x52\x27\x5f\x7c\xe2\x3e\xc0\xe4\xb2\x9c\xf8\x73\x06\x28\x01\x51\x18\x41\xac\xb6\x40\x31\x40\x1a\x06\xd2\xac\x48\x47\x37\xc9\x97\x3c\x8d\x0a\x4c\x31\xc7\xef\x30\xa7\x98\xbf\xc3\x05\xc5\xc5\xbb\x68\x11\x22\x48\x2d\xd8\x3d\x03\xef\x83\x70\x9b\xe5\xbc\xfc\x56\x2a\x4b\x5c\x92\xd4\x2a\xa2\xb2\x99\xfe\xe9\xe8\x23\x32\x47\xf7\x60\xd4\x52\xd9\x4c\xff\x0c\x75\x1c\xf7\xe6\x3b\x46\xea\x74\xf1\xb4\xfa\xe0\x33\x03\x33\x7d\xc5\x99\x71\x14\x3e\xce\xa9\x51\x2a\xa1\xe1\x73\x23\x0b\x5c\x3a\x39\x52\x9b\x62\x54\x64\x7b\x3d\xad\x4c\xaa\x77\x4c\xc6\x3b\x15\x73\xee\xc2\x81\xf0\xe7\x74\xee\x40\x58\xad\x95\x7b\x24\x02\x48\x92\xe6\x52\x76\xf9\xfb\x65\x31\x1a\x71\x2a\xbd\x3f\x68\x22\x81\x89\x94\xb3\x59\x3a\x4a\xa8\xd4\xb1\xfa\xb4\x9a\x29\x5d\x12\x49\x87\x8f\xf2\x8c\xf4\xf7\x65\xe0\xd4\x8f\xfa\xb7\xa0\x21\x25\x2f\x75\x34\xc1\x15\x65\xa4\x62\x1e\x5d\xa2\x53\x11\xee\xb4\x22\x85\x03\xd2\xb7\x94\x0a\xf2\xe5\x40\x98\x6b\x0b\x87\x41\x08\x5c\x91\x53\xbb\x50\x64\x43\x86\x7d\xe0\x80\xb0\x1e\xaa\x15\x48\xc1\xf4\x8a\x49\xfd\x45\x01\x56\x1b\xf0\xc9\xc6\xe3\xb8\x5a\xd1\x35\xc9\xc4\x0d\x5b\x98\xf0\x5a\x03\xd2\xbd\x70\x86\x32\xe6\x61\x56\x67\xf1\x91\x4d\xcd\x59\x46\x91\xe6\x49\x7b\xce\xb9\x36\xb3\xc0\x95\x37\xd1\xf3\xb6\x71\xba\x9d\x45\xe4\x08\x53\x94\x17\x7b\xde\x8d\xb0\xd5\x2b\x79\x31\x87\xb2\x46\x38\xda\x3a\x76\x21\xd4\xce\xfa\x78\x80\x57\x97\xa2\x84\xa6\x14\xb4\xaf\x7c\x9f\xf8\x18\x16\xce\x44\x9a\x08\x71\xea\x85\x04\xad\xfb\x64\xbd\xa7\x79\x5f\xa4\xe7\x73\x76\x51\x34\xa9\x5b\x31\x01\x4d\x28\xa8\x06\x62\x46\xb8\xbf\x1d\xa6\x04\x8a\x20\x8e\xf5\xa8\x16\x6b\x65\x09\x8c\x48\x29\x0f\x22\x84\x47\x6c\x3c\xae\x07\xb4\x75\x08\xdb\x03\xea\x4e\xc9\x11\xf9\x46\x66\x77\xf5\x60\xb2\x70\x30\x2e\x6c\xe0\x4c\x0f\xc6\x81\x0a\x3b\x98\xac\xc7\xcc\x26\x2c\xad\x61\x28\x52\xf8\x38\x12\x5b\x96\x35\x4d\x4d\x08\x19\xcd\xb5\x04\x31\xd0\x1c\x22\xac\xd4\x4e\xee\x34\x14\x9f\xd7\xb7\xfc\x3a\xbe\x6d\x87\x87\x94\xc1\x43\x3d\x7c\x6c\x14\x78\x98\xf5\x12\x78\x81\x2e\x17\x22\xd6\x49\x6d\xbb\x36\xa5\x30\x38\xcb\x35\x3b\x51\xb1\x95\x95\x86\x3c\x69\x05\xa6\xd6\xf7\xd4\x9d\x42\xda\x62\xb9\x15\xfa\xb6\x99\xa0\x46\xeb\x5c\xda\x27\xdf\x7c\xe3\x9d\xba\xf9\xe0\x6f\x8b\x82\xb8\xa2\xb5\x7d\x3a\x91\xc8\x6e\x65\xd6\x54\x86\x96\x08\xcd\x99\x9d\x5b\x75\xe9\x57\xd4\xc9\x53\x8a\xf4\x84\x0c\xd6\xd6\x57\xd2\xd2\x5b\x25\x18\xab\x73\x0d\x3b\x2b\xc2\x7c\x13\x94\x16\xf9\xc2\x28\x75\xa3\x79\x03\xd8\xeb\xde\x7f\x4e\xec\x15\x99\xe1\x45\xb8\x43\x26\x08\xf8\x70\xee\xc2\x0e\x9f\xce\x76\x22\xfd\xb7\xa2\x04\xf7\xc5\xe8\x0a\xe6\x64\x81\x21\x0f\x6d\xea\x56\xd6\x9c\xad\xc3\x80\x0f\x46\x42\x54\x96\x1d\x7e\x44\x59\x6d\x78\xe1\x6f\xbc\x27\x7b\x36\x06\x13\xc6\x90\xc6\x06\x46\x45\xab\x64\x0d\x64\xad\x77\xf1\x9f\x9d\xac\xc6\xb4\x6e\x9a\xe5\xc0\x15\xbf\xd8\x29\x01\xea\xfa\x3c\x2f\xdf\x7d\x55\xd4\xb4\xca\x36\xfe\x7d\x61\xcd\xcc\x2f\x88\xe3\x8c\x9c\x73\x39\x4a\xd2\xd1\x68\xb8\xb4\x35\x69\xd3\x35\x8c\x04\x42\x69\xb4\x52\x3f\xda\x86\x77\xe9\x80\x71\x53\x9f\x60\x42\x4a\x57\x7e\x77\xcc\xf3\x3f\x65\x4f\x74\x01\x52\x6f\x39\xb2\x59\x29\x9b\xfd\xaa\xe0\xb5\xa0\x82\xb9\x75\xf3\x9e\x67\xef\xbd\xb0\x49\x67\x2a\x29\xa8\x35\xa0\x24\xe3\x4a\x82\x8c\x91\x15\xc6\x98\xcc\xa5\x27\xea\x59\x67\x5d\xc1\xa7\x7a\x9c\x75\xa5\x6f\xd4\x5d\x4a\x4d\x0a\x81\x80\xfd\xaa\x87\x62\x47\x32\xfc\x2a\x43\x1d\xb1\x34\x6a\x0d\x2f\xaf\x26\x30\x28\x41\x52\xe2\x28\x55\xcc\xe8\x57\x3a\x82\xa4\x33\xca\x11\x55\xd7\x15\xe0\x46\x56\xc3\x25\x63\x81\x0e\xaf\xe8\x64\xd2\x5a\x6b\x8d\x9e\xad\xef\xee\xbb\xb6\x32\x91\x65\x65\x78\xd1\xc1\xe6\xa7\xd3\xb3\xbd\x2b\x20\x30\xfb\xa9\x23\x85\x06\x3b\xea\x2f\x66\x68\x89\xa1\x96\x58\xbe\x08\xb9\x30\x5d\x92\x40\xf6\x6f\xb3\xcd\x0f\x9f\x97\x4f\x87\xac\x06\xf3\x83\xf1\xb8\xd7\x28\xd1\x69\x08\x9f\x06\xe9\xe8\x3a\x94\xca\x19\x4e\x34\x23\xab\x35\xe6\x64\x95\xe0\x64\xbd\x60\xcb\x38\xee\xfa\xa3\x6d\x9a\x8e\x89\x37\x1b\x8f\xa3\x24\x12\x84\x2b\x02\x32\x83\xc9\x77\x0c\x4b\xa6\xdf\x33\x5c\x45\x28\x5d\xc1\x53\x05\xb6\x9a\xaf\xd7\x78\x0e\x97\x8c\xb6\x17\x89\xb3\xd5\x7c\x0d\xaa\x1c\xd0\x7c\x0a\xba\x79\x25\xdd\x8d\x60\xb0\x04\x5c\x07\xf1\x84\x26\x99\xa0\x8d\x09\x11\x7f\xc6\xe3\x98\x03\xa5\xbc\xa2\x6b\x0c\xe9\x20\x95\x62\xe4\xf4\xf4\x3e\x15\x4d\x4e\xe2\xe4\x8e\xaf\x92\xf5\x52\xfc\x93\x46\x93\x68\x02\xe1\xf0\x26\xd1\x55\x34\xc9\xe0\x61\xbd\xc8\x9f\x8b\xfc\xb9\xce\x9f\xaf\x11\xce\x04\x4b\xfa\x8f\x92\x15\x30\x7a\x68\xd2\x0a\xf1\x5a\x6f\xc7\xac\x35\x74\x67\x3d\x19\x42\x29\x23\xaf\x2c\x5c\x9f\x65\x6f\x70\xfd\x61\xec\x0d\xeb\xa9\xa1\x58\x19\x71\xd8\x7b\xec\x6e\x6b\x81\x7b\x5c\xa0\x32\xd4\x2c\xae\xc5\x0c\xe0\xb4\xf6\xd8\xbd\xca\x2a\xf0\x00\xfb\x9b\x8a\xee\xd8\x4b\xaa\x04\x46\xd6\x20\x56\x21\x10\x0a\xa6\xbc\xd6\x3c\x56\xde\x63\x11\xce\x5e\x18\x4f\x47\x73\xbc\x29\x8b\x82\x6e\xea\xb7\xe5\x77\x65\x55\x4b\x7b\xcf\xb9\x27\x66\x10\x9f\xc7\x8a\x97\x95\xa6\x96\xe4\xd7\x67\x90\xf3\x58\xb1\xad\xf8\xab\x84\x6d\xe2\x17\x08\xca\xd3\x48\x4b\x60\x22\x2c\x6f\xb0\xdf\xb1\x17\x91\x5d\x1e\xb2\x0d\xab\xdf\x8b\x9f\x15\xdd\x55\x94\xef\xb5\x08\x87\xcb\xb4\x67\x5a\xd5\xf6\xd7\x17\x2a\xda\x74\xfa\x49\x92\x60\xbe\x29\x0f\x34\xd5\x6e\xcb\x23\x2c\x45\x56\x60\x9f\x0a\xbf\xbe\xa3\x85\x68\xea\x59\xb4\x7f\x6b\x12\x0f\x94\x6e\xe1\xb3\xc8\x0e\xa2\x61\xf1\xf7\x8f\xe5\x96\xa6\xd1\x43\x59\xef\x23\xf8\x7e\x5b\xe6\xb4\x12\x47\x1f\x0a\xd6\xd9\xe6\x07\x51\xf2\x47\xa9\x93\x1e\xcd\x1d\x23\x56\x6e\x0d\x50\xf9\x59\xd3\x53\xbb\x00\x5a\x45\x6a\x4c\x7c\x60\x85\x9a\xe6\xe6\xef\xf1\x32\xad\x9a\xac\xd9\x21\xe5\x18\xa7\x43\xfb\x39\xc2\x25\x13\xd1\xb6\x63\x19\x6a\xa4\x80\x51\x45\xf3\x0c\x7c\x19\x04\xa6\x85\x16\x16\x42\x1b\x34\x4f\x3e\x63\x60\x2f\xb4\x6b\x54\x3c\xe2\xab\x2a\x5b\xb7\x1a\xd6\xd8\xe5\xc8\xe9\x57\x05\xab\xe3\x01\x93\x3f\xaf\xd5\x8e\x84\x45\x37\x7c\xe5\xf7\xa2\x44\x90\x57\xaf\xe8\xfb\x0b\xd9\xa5\xb2\x72\x3a\x72\xfa\x79\x76\xa8\x8f\x55\xf7\x7d\x25\xeb\x13\xac\x48\x32\x4c\x6f\x1a\x33\xab\xd1\x34\x75\x4c\xfb\x09\x27\x43\x26\xab\x27\xce\x86\x7c\xba\x4b\x96\xa3\xb9\x32\x3b\x92\x59\xf6\x71\x95\x74\x7c\x6c\xfc\x3e\xcb\xec\x65\x5c\xc7\x6c\x66\x4e\x90\xe0\xea\x92\xa5\xa6\x8a\x53\x27\xa7\x1b\x58\xb2\x8e\x3b\xde\x0e\xcc\x3a\x99\x6a\xbf\xba\x02\x18\x22\xbf\x7a\xc8\x36\x3f\x3c\x42\xac\x96\xf4\xea\x17\xbb\xdd\x6e\x61\x5c\x41\x78\x4c\x9a\x5c\x1f\xa0\x7b\x81\x78\x9e\x44\x87\x97\xc8\x33\x5c\x96\x99\x92\x86\x96\xb9\x7d\x64\xb8\x46\x03\x51\x32\x4b\x92\x79\xa4\x8f\xda\x9c\xbe\x51\xc2\xb0\x5a\x09\xdc\x0c\x8d\x6d\x49\x1d\x65\x44\xda\x22\x3c\x4a\x50\x2a\x43\x8f\xc3\xb6\x7e\xe7\x4b\x22\x5f\xbb\xa9\xc4\x15\x4d\xfc\x1e\x92\xec\x2e\xc0\xe7\x20\xa8\x5b\x39\xb8\x6a\x23\xdb\xec\x55\x13\xdf\x54\xe5\xa1\xac\xa0\x4f\x30\xca\x12\xc8\x7d\xfb\x94\x15\xd9\x23\xad\xc0\x74\xd6\x4d\xd0\xcf\xa7\x60\x28\x5e\x63\x7f\xcc\xaa\x47\x56\x98\x90\xa8\x1b\xce\x8d\xcd\xb7\x3b\xc0\x50\x12\x0d\x79\x12\x01\x7e\x93\x99\x96\x75\x69\x37\xc3\x10\x48\xb0\xd0\x3d\x85\xdd\x8c\xbe\xc2\x9f\x87\x43\x72\x33\xfb\x07\x26\x4b\xa8\x68\x1f\x2a\xef\xb3\x07\xee\x1b\x8d\xe9\x9d\xf7\xaa\x9c\x04\xce\x75\x12\x40\x8b\x01\xdf\x4f\x72\xa1\x44\x82\x0c\x77\xef\x96\x02\x9d\x88\x57\x4c\xa4\xb4\x6e\xd3\x6a\x51\xc0\xa4\x54\x13\x1d\x4e\xb6\x56\xcd\x9f\xa0\x6d\x3a\x3b\x64\x8f\xf4\xaf\xd3\xb0\x0f\x88\xaf\x2f\x33\xff\x36\x0d\x86\x09\x21\x4e\x8d\x8d\xbe\x38\xf1\x72\x89\xbe\xd6\xf3\xd4\xd8\xdb\x16\xf8\x56\xa5\xe8\x22\x2d\x1a\x30\xff\xf7\x56\xd2\xa0\x14\xe9\x90\x45\x17\x32\x30\x6d\x6a\x8b\x29\x10\x35\x95\x6e\xd6\xdf\x54\xd6\xdf\x30\x9b\xe9\x2b\x5f\x0b\x8b\xa4\x83\x02\x39\xac\xdf\x55\xe5\x93\x3a\x35\xb6\xa0\xb1\x67\xa4\xf5\xe7\x96\x96\x88\x3b\x76\x88\x5c\x8a\xf7\x29\x02\x79\x95\xb6\xe2\x04\x2d\x7b\x8c\x20\x14\x64\xfc\x81\x27\x6b\x24\x88\xa8\xf2\xf0\x5b\xba\xcf\x9e\x59\x79\xac\xc6\xe3\xe0\xa8\x1d\x2a\x2a\x36\x42\x0e\x5e\xca\x49\x31\xf5\xef\x8b\x2a\x7b\x8c\xa9\xb4\xca\x0c\x5a\x0f\xda\x32\x7a\x3d\xd3\xcc\x28\x31\xe8\xe8\x8b\x40\xc1\x27\xc3\xb0\x45\x3b\xf6\x42\xb7\xf0\xb8\xee\xcc\x49\xd2\xf2\x01\x05\x3e\x07\xe7\x58\x76\x21\x47\x0d\xfe\xb5\xfb\xdf\x39\x71\xf7\x9b\xb2\x10\xc4\x96\x2e\x29\x70\xac\x41\xd5\x08\x8f\x98\xff\xf8\xfc\xc8\x7e\x9f\xf1\x7d\x8c\xac\x0d\x77\x47\x69\xc9\xe5\x7e\x22\xcf\x52\x17\x16\xe5\xcf\x87\xf8\x24\x30\xf7\x7c\xe1\x8f\xd9\xfe\x6c\xdd\x4a\x86\x82\x79\x61\x7c\x3c\x96\x01\x5b\x3b\x19\x9a\x32\x92\x08\xcb\x12\x46\xe2\x44\xfa\x47\x03\x92\xe0\x56\x0a\x29\x24\xd9\xfe\xcb\x07\xb5\x5f\x97\x87\xa0\xf9\xba\x3c\xe8\xd6\x2f\x03\x8e\x85\x99\xb9\xbd\xc1\x3c\xf3\x6b\xf7\x02\xc3\x9c\x8c\xe6\x36\xb0\x4e\x00\xf4\x3e\xbd\xe6\xc3\x7f\xcc\x49\xa7\xf7\xf2\xa0\x7b\x57\x0b\x21\x92\x0e\x82\xc4\x8b\xb5\x20\x4e\x26\x78\xb9\x62\x4b\xf1\x65\xc2\xb6\x0e\x0c\x5b\x1d\x8a\xb5\x7c\x57\xd0\xea\x0b\xc5\xc8\xe3\x20\x17\x2d\xe3\x88\xc9\x70\x29\x9d\x7d\x90\xec\xc0\x78\x3c\xe2\x4d\x13\x9d\x2f\xa2\xe5\x05\x7e\x3a\x90\x4e\x62\x6c\x8e\xe9\x48\x4f\x31\x64\x9e\xc7\xb8\xa9\xd6\xbc\xd6\xa8\x56\x39\x5a\xd6\x2e\x58\xa0\x59\x56\xb0\x27\xf3\xcc\xb9\xa3\xa0\xf6\x1d\xcd\xfa\xcd\x6b\x2e\x07\x1e\xc1\xbb\x12\x35\x0f\x53\x96\x07\x81\x28\x95\x28\x82\x19\x2c\xa9\x25\xbf\x83\x45\xbb\x38\xd5\x02\xdc\x9f\x0f\xbd\x21\xa5\xe2\x68\xcb\x9e\x67\xfd\x24\x63\xd4\x43\x6a\xee\x65\xd8\x2e\x5a\xd4\x7f\x2a\xb7\xda\x94\xe8\xf3\x3d\xcb\xe5\x1d\x0a\x17\xd7\x6b\x30\xa9\x05\x4b\x87\xfd\x75\xf8\x77\x3d\x68\xbb\x1f\x98\xa2\x16\x2b\x8d\xf9\xc0\x53\x08\x45\xc7\x08\xd6\x7e\x36\x40\xbe\x2d\x3b\x18\x2a\xf5\x57\x4d\x7c\x49\x5f\x09\x92\x4c\x1f\x0c\xc4\x65\xce\x82\x24\xdf\x47\xa3\x3e\x26\xc1\xa3\x73\x76\x26\xfe\x84\x5f\x17\x69\xa6\x01\x5e\xd1\x7a\xe4\xe9\x05\x1a\x17\x8b\x03\xef\x80\x39\xd3\x20\xba\xac\xcd\x6f\x6d\xe3\xe4\x9f\x40\xbc\xa2\x6b\x84\xe0\x29\x6c\x01\xea\x21\x5d\x3c\x50\x4b\x88\xec\xe0\x25\x1e\xdb\x46\xbe\x0a\x42\xe3\x2a\x0d\x19\xdc\xbc\x78\xd7\x46\xb6\xdc\xa1\xe9\x95\x58\x02\xba\xd4\xa9\xcb\x10\x7b\x58\x10\x4b\x6d\x29\x84\xb9\x32\xa9\xf7\x4b\x37\xcd\x4d\x0c\x77\x6d\xa3\xef\x32\xcd\x66\xf3\x1e\xde\x3a\x4c\xc3\xee\x0d\xc8\x8d\x4f\xa6\x90\xe4\xf1\x76\xa2\x23\xb8\xa3\xe3\x71\x4c\x09\x75\x44\x72\x02\xae\xb5\xc1\x1c\x45\x90\x2d\x29\xca\x09\x05\xb3\xff\xf2\x20\x7e\xcd\xd7\x4d\x93\xb4\x08\x4b\x89\x1c\x2b\xae\x68\x40\x0f\x00\x2d\x2a\xef\x37\x79\xcd\x4d\x3a\xc4\x2d\xc2\xca\x6f\xf0\xf9\xea\xce\x09\x71\xe8\x2a\xa9\x09\x9b\xd2\x19\x34\xd1\xdb\xb8\xc0\x31\x83\x4d\x8b\x9b\x11\xee\xc7\x49\x48\x9b\x23\x1c\x3d\x94\x75\x5d\x3e\x9d\xaf\x3c\x30\x2c\xad\xc1\x9a\xc9\x36\xba\xad\xcb\x33\xea\x92\x47\x43\xc6\x13\x2e\x93\xa2\x59\x0d\x63\x4a\xa1\xb7\x5e\x43\xd5\xc6\xa5\xcc\x3a\xbc\x95\x7c\x7b\xa7\xc5\xd3\x02\xb5\xf9\xf7\x5f\x50\xb6\xcb\x42\x89\xbb\x0f\x44\xe4\xb0\x95\xa4\x53\xc9\xb7\xe1\x92\x0b\x3b\x58\x0a\x4c\xb8\x10\x8e\xfb\x7a\x21\x76\x98\x33\x71\x18\xf5\x4d\xe9\x97\x9a\xd5\xd9\xe3\x9f\xb2\x27\x3a\x1e\x47\xfb\xfa\x29\xef\xa5\x55\x9d\x62\xe1\xf3\x37\xc0\xdc\x4c\x43\xb7\x00\xe9\x44\x72\x64\x02\xa4\x4f\x92\x43\x12\x33\x88\x83\x2b\xb1\xc3\x36\x3e\x94\xd5\x96\x56\x6f\xcb\x03\x88\x1a\xa4\x2f\xf6\xa6\x49\x10\x56\x3c\x18\xac\xd6\x2b\x5b\x11\x6b\x17\x34\xa3\xc2\x2b\xfa\x4c\x56\xa0\xd0\xb2\x22\xb5\x1e\x50\xf0\xde\xff\x98\x87\xd5\xc6\x1c\x40\x41\x93\x64\x59\x81\x51\x0d\xc6\xea\xf2\xee\xe2\x38\x99\x91\x4d\xce\xee\xad\x62\x6f\x25\x53\x7b\xa6\x49\xe9\x89\xfc\x62\x9b\x12\xaa\xda\xd6\x19\xad\xd9\x2f\xf0\x4b\x65\xa5\x10\x1d\xa1\x9d\x3a\x7a\x0a\x87\xf9\x43\xf1\xe4\x98\xb2\xe0\x1f\xdc\x11\x01\xb2\xbb\x58\xe5\xad\xb3\x2e\x18\xb0\xd1\xe5\x3a\xdf\x4a\x7f\xe9\xba\x96\xc4\x15\x97\xab\xfd\x56\xe2\x25\x5d\xcf\x4c\xbe\xc3\x75\x76\x96\xa1\x83\xa8\x88\x2b\x2e\xd3\x72\x94\x3e\x8d\x73\x98\x6f\x74\xcf\xd2\x24\xc8\xe1\x9d\xbb\x26\x16\x0c\x9b\x80\x24\x81\x70\xab\x98\x39\x02\xfc\x65\x24\xfd\x46\x08\x08\xf6\x33\xe4\x4a\x38\x29\x64\x55\xc7\xb2\x30\xf2\x80\xc3\x13\x65\xe8\x13\xe1\x08\x55\x3c\x2e\x55\x09\x42\x82\x86\x00\x72\xfb\xdb\x31\x22\x1c\xbf\x99\xba\x3c\x74\x5a\x91\xc3\x99\xd8\x64\x65\x9f\x37\x3d\x7b\x8d\x75\xae\xaf\xfe\xd1\x4d\x62\x9b\xac\x0d\x02\x9b\xc6\xc3\x97\x2e\x91\x2b\x6b\xca\x0d\x1b\x1c\x80\xba\xb0\xc2\x7b\x6a\xed\xda\xbb\x5b\x3b\xce\xd7\xec\x50\x82\x13\x5c\x3b\xce\x8b\x3e\x72\x05\x62\xb7\x8d\xff\x93\xb3\xf5\x26\x28\x7e\xf3\xba\x3a\x6e\xea\xb2\x22\x44\x7a\x3a\xea\x99\xb4\x57\xc7\x7b\x2a\xe0\xd0\x8d\x5e\xa1\xf1\x38\xf6\xbe\x49\xc0\xc0\xdb\x99\x21\xcc\x48\xed\x17\x86\xb7\x73\xe2\xa2\xe6\x70\x85\x45\x7b\xb6\xdd\xd2\x42\xbe\xf9\x06\x7c\x51\x3e\xd3\x6a\x97\x97\xef\xb4\x14\xc1\xdb\x20\x8b\x91\xd9\x85\x0b\x68\xd2\x29\x7a\xc8\xb6\x5b\x56\x3c\x7a\x78\x12\xe1\x81\x16\xbb\x17\xe3\x60\x83\x2e\x16\x45\x38\xa6\xd6\x30\x49\x5f\x09\xd2\xe2\xd7\x93\xed\xa3\xd4\xff\x9c\x0e\x8c\x03\xd0\x6d\x30\x92\x6e\x59\x35\x12\x1f\x37\x7f\x28\xd8\xfa\x29\x70\x1d\xf4\xce\x46\x19\xb8\xfa\xda\x08\x3b\x1f\x0d\xc6\x03\x13\x92\x17\xc1\x6b\x67\x14\x5c\x1b\x1f\x7a\x38\xfc\x04\x79\x57\x29\x12\x51\x63\xc8\x7b\x05\x5f\xb4\x22\xac\xe7\xfd\xba\x77\x52\xc0\xf7\xa1\xfb\x86\xa3\x23\xdb\x0b\x45\x92\x4d\x13\x33\x5f\x8c\xa5\x3d\xcb\x79\x74\x30\x5d\xce\xd3\xe9\x1c\x17\x4e\xea\xa8\x4b\x12\x29\x82\xf2\x67\xa7\x8e\x97\x9d\xa2\x69\xa7\x9c\xa7\xda\xf1\x84\xfa\x5a\x80\xe7\x4b\xfa\x81\xd4\x29\xba\x94\x55\xe1\x13\x46\x8a\x66\x65\x96\x9d\xe9\xb9\xc0\xae\xf9\xa4\xff\x0a\xbb\xe6\xd3\x50\xe4\xeb\x2c\xd7\x72\x7a\x96\xd2\x4b\xbb\xa3\x06\x2e\xe7\x9a\xcb\x91\x32\x87\xf7\xeb\xbb\x9d\xfb\x47\x25\x73\x3e\x6e\x58\x72\x4d\xfa\xc6\x05\x6c\xe1\x35\x6f\x1d\x57\xf0\xdf\x74\x6c\x61\xb4\xb8\x02\x9c\xc0\x67\x3a\x78\x97\x16\x5b\x54\xff\xf7\xc2\x16\xce\x8d\xa2\x64\xaf\xf5\x22\x1f\x05\x6f\x55\x17\xde\xaa\x10\xde\x7a\x05\x88\x9a\x55\xf6\x2f\xb9\x01\x3c\xb1\xd4\x52\xdc\x6e\x96\xd5\xab\x31\xb2\x0a\x5b\x5c\x25\xeb\x89\x26\x91\xc2\xac\xb9\xc8\x02\xa2\x2c\xcc\xb9\x1d\xae\xf4\x46\x55\x5a\xa3\x54\x21\x19\xf7\x26\xef\x53\xa3\x59\xd9\xc4\xa7\x0c\x5e\x9a\xc7\x39\x5c\xc6\x93\xfe\x42\x08\xf7\xa9\xdb\x8c\x20\xe1\x53\xb6\x9a\x8b\x36\xf6\x44\xfc\xe8\x69\x03\x44\x12\xe7\xc7\x71\xc7\x56\xb7\x7a\x1c\xb7\x1f\x39\x8e\x3b\xb6\x7a\xa3\xc7\xf1\x66\x68\x1c\x08\x97\xb3\xc7\x8a\x6d\xe1\x65\x82\xfc\xb9\x9a\xaf\x97\x3e\x38\x88\x3e\x26\x70\xe1\x81\xb6\x3e\x8e\xd5\x35\xe9\x15\x40\x37\xa6\x3a\xba\x36\x3f\xd3\x6e\x41\xbc\x27\x6c\x59\x0c\x8c\x19\xd6\xac\x69\x86\xb2\xc5\x4c\x96\x45\x7a\xb6\xf6\xb2\x98\xda\xee\x8b\x89\xf3\x1b\x67\x7a\x8a\x49\xcf\x14\xff\xea\x4d\x31\xef\x4e\xf1\xaf\x66\x8a\x89\x9d\x62\xd2\x33\xc5\xbf\xe2\x9c\xb0\x65\x36\xb4\xb7\x00\x5b\x4d\x33\x98\x2f\xb6\x7c\x99\xa5\xe7\xeb\x2f\xb3\xa9\x1d\x41\x36\x71\x7e\x23\x75\x7b\xec\xfb\x17\xe9\x43\x19\xa2\xc9\xcf\x7f\x97\x48\x1c\x94\x0f\xcc\xef\xc3\x39\xbf\x8f\x1b\xe2\x85\x7b\x05\x78\xf1\x3c\x08\xfb\xec\x32\xcf\x83\x56\x43\x1d\x1b\x0d\xc3\x03\xf4\x49\x8c\xe5\x80\x41\x9b\x20\xb9\xfe\x6f\x45\xbb\x59\xae\x72\xbc\xce\x62\xaf\x41\x49\x79\x0d\xd5\x97\xee\xd9\x94\x82\xc6\x23\xc0\x30\x37\xfa\x03\x4e\x8c\xb9\xb3\x56\xb1\x4a\x2d\xc8\x21\x3f\x3e\xb2\xc2\xd5\x79\xe0\x15\xc3\x7c\xad\x5e\xbf\xe8\xb7\x26\x1e\x0d\xf7\x4a\xe5\xae\xe8\xe1\x2f\x60\x4b\xe8\x6a\x59\xd4\x40\xbd\x1e\xc5\x48\x5b\x2c\x87\xc2\xd3\x53\x8b\xd5\x20\xbb\x5a\x97\x93\x32\x01\x74\x56\xc7\xda\x00\x79\x83\xc4\x9d\x97\x9d\xbd\x57\x9f\x7e\x45\x1c\x4e\xb0\x6d\x5b\x7f\x85\xb2\xed\x36\x76\x1e\x04\xe1\xa8\x63\xdc\x18\xe1\x53\xf0\x5e\x91\x62\xab\xde\x56\x36\x47\x60\xb1\x1d\x5a\xc4\x15\xc4\x12\x2a\x19\xa9\x1d\xbb\x54\x86\x4f\xac\xa6\x4f\xa9\x01\xa5\x16\x2d\xf8\x8c\xab\x1e\x39\x59\xad\xb1\x62\x30\xfd\xb1\x74\xf5\x68\x4a\x95\x23\x07\x00\xeb\x2e\x46\xa1\x5b\x8a\xd0\x82\x81\x7d\x43\xd7\x2e\x2f\x76\xfa\x9b\x1d\x8e\x7c\x1f\x9f\x98\x32\x66\x4e\x19\xe6\xfb\xf2\x98\x6f\xbf\x95\xa6\x95\x2c\xd0\x3d\xb6\x08\xb3\x59\x68\x8a\x19\x3c\x5a\x04\x7f\x46\x59\x0d\xaf\x2a\x33\x30\x5c\x0f\x5e\x55\xbe\x7e\x11\x2f\x2d\x5c\x2d\x17\xc5\x99\x0f\xee\xbc\xa3\x50\x33\x9b\x31\xfe\xf5\xb3\xa0\x75\xfa\x52\x49\x82\x07\x4e\xa2\xf2\xf2\x65\xca\xf7\x1f\x57\x65\x41\xe5\xac\x9c\x79\xb2\xa1\x2b\x06\xfa\xe5\x4e\x05\x14\x74\x64\x55\xfc\xc6\x14\xa3\xd3\x96\x6b\x91\xd6\xc9\xbc\x57\x87\xc9\x6a\xe0\x09\x21\xa1\xfa\x5d\xe9\x27\xec\xf4\xa4\x65\xd9\x57\x35\x7d\x92\x86\x7c\x62\xe3\x94\x25\x2f\xa0\x7e\xfd\x7e\x48\xb3\x93\xaf\x5a\x18\x3b\x29\x6b\xfb\x41\x5d\x30\x29\x24\x98\x84\x8f\xdc\x5f\x0d\x26\x7b\xc6\x2f\xc0\x82\x8c\x82\x32\x9a\x2b\x2e\x62\xe1\x8f\xcb\xc5\x83\x1e\xd2\x08\xc6\xdf\x15\xdd\xf6\xf0\xee\xe1\x66\x39\xb7\x24\xf1\x2f\xcd\x70\x75\x58\x51\xd3\x8a\xd3\x4d\xcd\xff\xc2\xea\x7d\xb8\xc0\x9a\x26\xff\x3c\xdb\xec\xa9\xb4\xe3\x17\xe0\x79\x76\xda\x2e\xd3\xf1\x7f\xc5\x6c\x47\x84\x94\x21\xd0\x7d\xe0\xbc\x1d\xb6\xad\xb4\xc5\x1c\xb5\xb4\x5f\xdf\xb1\x18\x91\x6b\x36\x47\x38\x6b\x11\xc2\x59\x3f\x2e\xd0\xec\x58\x88\x22\x42\x58\x76\x8e\x0a\xa9\xe3\x02\x0d\xea\xb9\x83\x67\x37\xe1\xc0\x1c\xa8\xd6\x5b\x38\x15\x88\x2e\xb2\x8e\xfe\x86\xce\xf6\xc0\xc9\x57\x07\xff\x2c\xce\xe8\xc2\x08\xb3\xc4\x4e\x8b\xb5\x15\x02\x19\x9c\x73\x77\xa1\x3d\x6b\x69\x6d\x11\xd7\x8b\xd3\xb2\xaa\x86\xfc\xbe\x19\x86\xba\xdd\x2e\x19\x7c\xae\x06\x68\xa9\x7b\x28\xd3\xfe\x3a\x0e\x21\x3a\x25\x7d\xe4\xe9\xf4\x52\xb5\xb3\xed\x0a\xca\xbc\xd3\xac\x21\xd7\x87\x2b\x61\xd7\x3c\xa7\x76\xa8\x11\x8a\xb0\xb5\xae\xea\x05\x26\x71\x8d\x39\x70\x69\x0d\x90\xfc\xd2\xbb\xaa\x7c\xfa\xfa\x58\x73\xb6\xa5\x84\x87\x5b\xe0\x34\xd0\x39\xa9\x8e\xc5\xa3\x76\xb8\x1f\x9c\x93\xce\xc5\x67\x6e\xd8\x57\xdc\x17\x61\xa1\xe0\xd2\x3c\x73\x9f\x94\xc7\x1a\xbc\x38\xf8\xd9\x8a\x32\xf6\x52\xd1\xb9\x9b\xf6\xcc\x99\x7b\xd5\x65\x3b\x7c\x9b\xfa\x6c\x80\xc5\xc5\x79\xb6\xa1\xfb\x32\xdf\x76\xef\x62\x27\xcb\xd6\xf6\x3c\xa0\x56\xe5\xd3\x00\x70\x8c\xe6\xe0\xf6\xf5\x12\xc1\x0b\xf6\xb7\x5d\x2a\xd7\xd8\x3e\x68\x23\x1c\xd0\x7a\x0c\x5f\xc1\x46\xa3\x48\xa5\xac\x5b\xb5\x2b\xf0\x2d\x83\x98\xa7\xbc\xac\x48\x90\x87\xb0\x9f\x60\xec\x86\x3b\xe4\xa2\x1d\xcd\xab\x46\xa0\xfa\x1b\x8f\xcd\xe8\xfd\x7e\x4c\x89\xcb\xeb\xa3\xde\x1d\x5c\x60\x03\x8c\xc1\x94\xa0\x44\x5e\x33\x46\x65\x3d\xa4\x5b\x47\xa0\x7e\xba\x57\x9f\x24\xcc\x15\xdb\xea\xa5\xe0\x62\xa6\x7e\x7e\x2c\x65\xed\x8c\x44\x77\x2b\x96\xcb\x4c\x24\xe8\xcf\x96\xba\xbc\x64\x92\x0f\x3f\x07\x52\xc3\xc3\x5a\xd0\xb3\xe2\xda\xe8\xf7\x6f\xff\xf8\x07\xf0\x3c\x11\x16\xb3\x26\x28\x31\x9d\x69\x75\x9b\xb4\xd0\x08\x0a\xdb\x17\x22\x1d\x6a\xd3\x30\x54\xe7\x68\x4d\x4e\x0c\x47\x04\xbe\x44\x16\xec\x75\x43\xee\x14\xd3\x43\x5e\xc6\xbe\x39\xb1\xb1\x21\x66\xc1\x44\x40\xa0\xd3\x6d\xc6\x55\x51\x4d\x95\x50\xf1\x53\x2d\x34\x71\x9e\xb8\x2d\xbb\x55\x8d\xb8\x87\x14\x3d\xe3\x33\xb9\x13\xd3\x1a\xbc\x8d\xd3\x82\xcb\xbe\xf1\xf5\x75\x0c\x38\xe0\x23\xbb\x9e\x7a\x5d\xc3\x49\x70\x4d\xbb\x87\xd7\x0a\x44\x4b\x43\x8b\xf5\x17\x65\xad\x06\x52\xdc\x0f\x5a\xab\x3f\x08\xea\x62\x78\xc4\x22\xbb\x77\xb5\xfe\xda\x5d\x2d\x10\x59\x7f\xd8\x72\xbd\xa2\xf7\x70\xc1\x50\x3a\x04\x5e\x46\xfe\xec\x28\xf6\x1d\xf9\x5f\xef\xb2\x08\xf4\xd6\x57\x7a\xa0\x8d\x60\x30\x69\xd7\x5e\x62\x7a\x69\x18\xbd\xe3\x00\x81\xf7\x07\x8d\x64\x12\x2e\xcb\x10\x20\x19\xd1\x7e\xa7\x1d\x29\x72\x7c\xf5\xb2\x40\xf1\xa1\x56\x86\x17\x46\x9b\x67\x5c\x1c\xc8\x87\x2c\xcc\xd9\xb1\x74\x96\x06\xe1\x42\x5b\x82\x87\xcf\x06\x3a\x6f\x05\xce\xbf\x95\x61\x98\xbe\xe2\xbe\x28\xb2\xc3\xc7\xdd\x16\xf0\xde\xdb\x5e\xfb\xa2\x21\xe5\x43\x5b\x09\xd1\x18\xa4\xb9\x46\x23\x23\x42\xbe\x03\xa3\xdb\xa5\xca\x13\x7c\x16\x6f\x9a\x5e\xef\x3f\xa9\x2c\x33\x28\x77\x53\xfe\xb3\xe1\x46\xd0\x16\xa1\x8a\xc3\x75\x99\xce\xf1\xd8\x1f\x9b\x16\xb8\xd5\xf4\x09\xe8\x67\xe5\x63\x84\xf5\x5a\x7c\xb1\xd0\xb9\x4c\x79\x48\x9d\x47\x6b\xea\x61\xda\x59\xd9\x89\x54\x9d\xe2\x0a\xe7\x78\x8f\x37\xf8\x88\xb7\xf8\x70\x7e\x5d\x1f\xc9\xc1\xdc\x71\x3b\xf2\x38\xf3\x9e\x3c\xe3\x27\x33\x5f\xc9\x00\xdd\x93\xa7\xc9\x61\xc8\x26\x03\x3f\xdb\xd2\x62\xd4\x0f\xe4\xb9\xb7\xb0\x9c\xee\x42\x86\xc0\x3e\xf8\xeb\x25\xed\xbf\xa7\xf3\xc5\xf1\x8e\x24\x8b\xe3\x74\x8a\xaa\xa0\xc8\xea\xb8\x96\x63\xc9\x49\x35\xe9\x66\xc9\x91\xec\x7b\x2a\x89\x21\x6d\xc8\xbe\xa7\x8e\x1c\x10\xae\xa6\xbb\xbb\xfb\xa6\x79\xba\xcb\x27\xbb\xa6\xd9\x4f\x77\x77\x0f\x4d\xf3\x7c\xb7\x11\x5f\x23\x47\x0e\xd1\x6d\x40\xec\x6f\xf0\x7e\xa5\xbf\x10\x5a\xf6\xd4\x16\xdf\x07\x56\x3c\x8e\xc7\x07\xeb\xcc\x5f\x00\x6c\x45\x73\x9a\x71\x3a\x94\x2e\x65\xf0\x07\xc3\xf5\x51\xfb\x3a\xf1\xe0\xe8\x09\x4e\xa2\x8e\xe0\x4a\xd2\xfe\x31\xb5\x08\xf5\x8c\x56\x0f\x8a\xc0\x43\xbb\x88\x15\x05\xad\x04\x6d\x23\x21\xe4\x8f\xe0\xf4\x3c\xe6\x64\x77\x27\x3d\x20\x65\x0f\x3c\xde\x4f\x1f\x04\x55\xec\x26\x6d\xa6\xcf\x08\x67\x5e\x52\x35\xbd\x47\xb8\xf4\x92\xf2\xe9\x13\x02\x83\x2a\xe6\x3d\x97\x22\x87\x5e\x0d\x85\x31\xbb\xd5\xea\xb3\x61\x18\x33\xb6\xc5\xc0\x88\x1f\x7c\x63\xf3\xe2\x23\x3b\xdc\x9c\x6d\x35\xf3\x5b\x05\x11\xc5\xab\x9a\x55\x86\xb5\x55\xef\x74\xb4\xf7\x29\x10\x53\x1c\x02\x7b\xfb\xf2\x27\x76\x99\x0f\x34\x8c\xf0\x96\xf0\xa6\x29\x9a\x26\x6b\x9a\x12\x47\x80\x9d\x2e\xc2\xc0\x73\x17\x06\x1e\xba\x30\xf0\xd4\x85\x81\xfb\x9f\x00\x03\xff\x9a\x8d\xfe\x58\xc8\xfa\xc9\x30\xf0\x2f\xdb\xe9\x0f\x06\x2e\x84\x47\xe7\x10\x56\x6c\xe1\xa3\x69\xb6\xa8\x83\xa9\xc4\x3f\xbd\x89\xff\x67\x70\x97\x3f\xba\xcb\xe4\x49\x9d\x6d\x7e\x18\xa4\x4f\xb4\x97\x9e\x73\x3c\x36\x3c\xaf\x7a\xca\x7e\xa0\xf2\x19\x0f\x90\x25\xa2\x51\x84\x40\x62\x1f\xfb\x57\xb6\x94\xc5\x3a\x66\xfa\x31\x55\xdc\xb8\xf4\x79\xd0\x6b\x61\x58\xc7\x6c\xa0\x10\xe8\x16\x8d\x17\x1f\x4a\x9c\x2a\xe0\x64\xa7\xb7\x16\x38\x4f\x0d\xa8\x1e\x86\x4e\xb5\x1b\xff\x4f\x55\xc1\x74\xc2\x8c\x0d\x52\x90\x61\x62\xac\x5e\x5e\x65\x5d\xe9\x5f\x22\x66\xd1\xb3\x93\x52\x16\xf9\x45\x82\x3c\x23\x63\xd1\x23\x29\x66\xf2\xd7\xcf\x21\x61\x91\x2d\xf5\x08\x58\x74\x67\xa6\xcc\x39\xc7\x3f\xc6\xd7\x31\x8d\xc5\xd9\x60\x56\xb7\x73\x47\xc7\x63\x3a\x61\x77\x75\x1b\x38\x07\x2a\x0f\x07\xa5\xc5\x7e\x9d\x47\xa0\xf2\xe0\x7a\x04\xda\x6c\xe8\xa1\x4e\xa3\xeb\x08\xcb\x00\x35\x32\xc6\xe5\x68\x8e\x7d\x5f\x41\x8f\x15\xa5\x5b\xf0\xd0\xb3\x17\x2c\xae\x29\x15\xba\xdf\xa9\x8d\xd3\x9c\xc8\xa8\x7b\x54\xd3\x59\xad\xa3\x3f\xd2\xe0\xbb\xd2\x01\x1f\xcb\xa3\x72\xa3\x23\xfa\x18\x76\xa3\xe3\x9d\x4a\x7b\x00\xd9\x4c\xce\x46\x69\xfd\xb8\x68\xc4\x0a\x93\x79\x79\xac\x8d\xe8\x59\x16\xf4\x5f\x44\x72\xb4\xe4\x7d\x8e\xf3\x44\xa1\x98\xeb\xa8\x87\x07\x47\x4f\xd6\xd5\xae\x84\x41\x71\x97\x31\xb5\x81\x72\x57\x89\x67\xf4\x4e\x97\x34\xa5\xde\xa3\x10\xf7\x4d\xb4\x95\x61\x0c\x85\x80\x74\x65\x42\x6d\x8b\x7b\x9e\x73\x03\x5c\xf0\x15\x9b\xc1\x2e\xad\xfb\x5e\x7c\x07\x45\x9a\x46\xf0\x54\x17\x8b\x49\xee\x46\x72\x46\xec\xd5\x9e\x84\x34\xa0\x0e\x78\xfc\x11\x6c\x81\xe4\x07\x13\xb1\xb7\x83\x83\x70\x77\x5d\x8d\x67\xa1\x43\x0c\xdc\xd1\x05\x9d\x4c\x10\x93\x8e\xc9\x44\xc9\xf1\x58\x7a\x3f\xdb\xd0\x98\xe2\x39\xf2\x1d\x8e\x76\x2d\x84\x54\x2f\x57\xee\x87\xe3\x41\x68\xc8\x29\x2f\x43\xa7\x48\xc2\x94\x67\x78\xd3\x07\x66\x0c\x2d\xd9\x20\x98\x49\x34\xdb\x63\x7d\x63\x7a\x75\xde\xe8\x7a\xf1\x07\xee\xcd\x99\xea\x91\x75\xf6\xfa\x95\x59\x78\x0b\xe9\x9c\xfe\xa1\x5d\x1c\x2a\x0f\x0e\x74\xa5\x5d\x51\xaf\x75\x08\x64\x1d\x99\x0c\x6e\x7c\xef\x9c\xfe\x9f\x7b\xa4\x83\xae\x8e\x2f\x0c\xd6\xb7\x52\xf0\x87\x0b\x98\xe8\xd5\x03\x65\x40\xa7\x39\x0a\xa1\xa6\x61\x46\x03\xdc\x1b\x8e\x51\x0d\x46\x42\x4a\xd7\xa5\x00\xf8\xea\x1b\x6a\xd0\xbc\x94\xd5\xba\x2b\x83\x9a\x5f\xb5\x85\xb6\x78\x37\x14\xdc\x33\xad\x82\xb5\x80\xc5\x38\xf6\xba\x52\xfa\x7f\xd5\x5a\x0c\x02\xc9\xb9\xe5\x70\xd4\x8e\x76\x35\xe0\xde\xea\x23\x19\x58\xd3\xf4\xaf\x89\x54\x26\x68\xd3\x3e\x30\xd1\xf2\xa6\xc3\xcf\xaf\xcf\xb2\xc7\x49\x80\x2b\xd4\x52\xf8\x0a\x45\x68\x56\x94\xf5\xb0\x67\x83\x5e\x59\x17\xed\xd8\x98\x39\x18\xdb\x78\xd3\x35\xab\x25\x09\x82\xf1\x78\x44\x7b\x4c\xcf\xa8\x8f\x9f\x3d\x8b\x24\x48\x11\x45\xdc\x6d\xf6\x0c\x3b\x06\x17\x45\x3f\x23\xd6\x84\x45\xcc\x2d\xf3\x40\xf1\xc9\xc4\x15\x09\xbd\x45\x81\x67\x4f\x13\x30\x48\x53\x28\x68\x09\xbe\xde\xc1\xf9\x85\xb9\x96\x5b\x84\x8b\xe5\x68\x9e\x5e\x04\xc4\xc1\x41\x2e\x07\x51\xcf\x47\x61\xab\x7f\x1d\x50\x4b\x4a\xd0\x42\x35\x47\x7e\x48\x34\x70\xa3\x06\x6e\x41\x8e\x7d\x17\xd6\xc9\x06\x41\xaf\xfd\xb5\x30\x31\x72\xb4\xdf\xc7\xba\x6b\xf1\xd9\x89\x06\x53\xf7\x1b\x71\x9a\xbd\xb6\xc4\x56\x2d\x0d\x64\xd9\x2e\x1e\x69\xa9\xa3\xf2\x29\x34\x9a\xc3\x23\x25\xf9\x8a\x24\xf6\x5a\x14\xa3\x32\xec\xb3\xf1\xfd\x20\xe5\x89\xd5\xeb\xca\x82\x3c\x96\x94\x93\x7a\x50\x0c\xba\x27\x55\x6f\xae\x92\x1c\x6c\x02\x99\xea\xd1\x97\x9a\x6e\xc9\x66\xc2\x5c\xfa\x32\x56\x9a\x02\x7c\x20\xc7\x4e\x8e\x92\xa5\xf2\x77\x4c\xc5\x92\xdd\x64\x9c\x42\xec\xf7\x54\x9d\xd5\xf2\x8e\x6c\xc6\xe3\xed\x1d\xc9\xc7\xe3\xea\x8e\x1c\xc7\xe3\xc3\x1d\xd9\x2f\xa0\x9c\xa5\xcd\x4d\xe9\xe1\x79\xdd\xdc\xde\x41\x43\xf9\xf4\x4c\x91\xf1\xf8\xdc\xdc\x6f\x6e\xef\xa0\xff\x7d\x6f\x13\xba\x8c\x1c\xdb\xa1\x84\xd1\x99\x91\x15\xaf\xdf\xca\x49\xac\xac\x81\xa4\x72\x42\x94\x74\x6d\x84\xd4\x7e\x67\xaf\xde\xef\x8b\xed\x89\x7d\xa3\x71\x86\x8f\xb8\x7f\x7f\x20\xf0\x6f\x81\x37\x9d\x6c\x58\x35\x24\x27\x5c\x97\xc7\xcd\x5e\x4f\x37\x36\x5b\x55\x35\xcd\xde\x6c\x5b\xd3\x1c\xef\xaa\xf1\x78\x7f\x77\x10\x37\x9d\xd9\xda\xb2\x69\x72\xb3\xcd\x4d\xb3\xb9\x2b\xc7\xe3\xfc\x6e\x8b\x16\x8a\x21\x4b\xf5\xc1\xe8\x30\x08\xe4\xa4\xce\xac\xe5\xc1\x24\x7d\x9d\x9e\x0c\x37\x97\xae\xd6\x2d\xf6\xd5\x3d\x43\xba\x87\x33\xf4\x7a\x70\x19\x48\x1e\xa3\x24\x6c\xc9\x66\x10\x84\x4b\x06\xee\x27\x31\xf5\xb1\x88\x63\x39\x77\xee\xa2\xcb\xb6\xdb\xdf\x66\x9b\x1f\x62\xb4\xa8\x53\xc1\x41\x70\x92\x2c\xb4\x4b\xe3\x3b\xbe\xe0\x82\x1b\xd8\xc5\xa3\x38\x5b\xf1\x75\xe7\xa6\x6a\x1a\x3a\x1e\x8f\x20\xcb\xc5\xf5\x90\xe0\xe0\xfa\xc1\x91\x21\xc9\xb5\x14\x24\x59\x54\xba\xcf\x62\x51\xc8\x3e\xab\x55\x21\xbd\x23\x7b\x8d\xa1\x13\x24\xf4\x01\x0b\x49\x16\x9b\xb2\xa8\x59\x71\xa4\x57\x75\x0b\xc5\x94\xd7\x61\x22\x23\x03\x8c\xfc\xd6\xa4\x78\x61\xcb\xf8\x21\xcf\x20\x36\x84\x53\x63\x3c\x8e\x23\xe3\xd5\x5b\xf0\x24\xe5\x78\x0c\xf9\x86\x4f\xb0\x53\xc5\x4c\xd5\x55\xfe\x14\xbd\x3e\xcc\xcb\xb0\xce\xb0\x15\xe7\x1a\xcc\xaf\x8f\x73\xed\x2f\xa2\x38\x57\x88\xe6\x39\x48\x4a\xb9\xee\xcd\x80\x6a\x09\x9d\x64\x5e\x00\x34\x34\xe3\xc0\xfb\xa1\x8e\xc5\xb8\x2a\x3b\x1e\xc7\x81\xa3\x34\xdf\xb1\xad\x59\xcf\x80\xf4\x90\xf7\xa6\x7f\x3d\x5b\xd2\xc2\xba\x4c\x03\x2a\xd1\x79\x34\xc1\x50\xd3\x70\x1b\x8a\xfc\x42\x9f\x97\xa8\x90\x41\xc8\x34\xf6\x79\x9e\xd8\x23\x90\x89\x38\xbc\x98\x37\x42\x24\x28\x26\x2e\x95\x8d\xa1\xff\x54\xb1\x35\x96\xc2\x52\x5e\x9c\xfe\x5c\xd4\x2c\x37\x76\x58\xd2\x11\xbb\x7a\xaa\xe3\xc8\xa7\x3c\x4f\xfd\xd6\xe6\xcf\x7f\x65\xd0\x21\x9d\x03\x75\xb3\x18\xc0\x80\x22\x74\xb8\xd1\x4b\x3a\x6c\x51\x5d\x9b\x58\x7f\x20\x22\xf3\x5d\xc3\x0c\x6d\xab\x4c\x97\x34\x33\xb8\x40\xf3\x77\xda\x53\xe2\x92\x0f\x82\x34\x5c\x91\x91\x31\xb5\x86\xed\x5d\x46\xb0\xe9\x51\x5a\xea\x7e\x9d\x74\xc1\xd7\x01\xc6\x5d\x54\x21\xc7\xa4\x29\xfa\xd8\xf7\x1f\x22\x27\xab\xe3\xb6\x04\x1b\x3f\x84\x95\x55\x8c\xe1\x1e\x13\xf5\x61\x1e\xa3\xc3\x33\x14\x10\xd1\xc5\xc8\xb5\xb9\x66\x50\x32\x01\xf9\x41\x65\xec\xad\x2e\xd1\x53\x25\x84\x54\x08\xd4\x4b\x6e\x0a\x30\x5e\xf6\x2c\x38\xa7\x84\xcf\x04\x8f\x2b\x0f\x03\x9c\x04\x58\xf6\x55\xb5\xd6\x47\x68\xa5\x16\x57\x34\x63\x17\x54\x25\xae\xf5\xc9\x5a\xb9\xbd\x2d\xa3\x7b\x55\xea\x1e\x0a\x79\x47\x4d\x0f\x4d\x35\xa9\x47\x76\xac\xcd\xc0\x60\x90\x72\x64\xcf\xfa\xf9\x95\x3a\xa4\xfa\x1c\x7c\xd7\x95\x5d\x5f\x38\xa2\x3a\x5a\x42\xe7\x90\xba\x9c\xd2\x47\x1d\xcd\xb6\x5f\xb2\x8d\x8d\xb4\x40\x6c\x1c\xdd\xed\xe8\xa6\xe6\xd3\x68\x51\xcf\xd4\x6f\x72\x92\x3f\xd2\x53\xdb\x62\xbf\x9e\x13\x5d\x5d\xc9\xc4\xe5\xdd\x70\x5c\x51\xa0\x20\xd6\x4d\x73\x6a\x8d\x9b\x9b\x63\x9e\x13\x52\x2f\x59\xd3\x8c\xe8\x6c\x4b\x77\x4b\x91\x92\xc2\xcf\x34\xae\x09\x9f\xed\xf2\xb2\xac\x96\xff\xfd\xdf\xca\x69\xd0\xef\xf2\x32\xab\xe3\x1a\x61\xc6\xff\x94\xfd\x29\xae\xd1\x52\x96\x85\x98\x15\xcb\xb8\x9e\xc0\x0f\xf4\x4b\xf8\x93\x26\x77\xf5\x32\x49\xeb\x3b\x3e\x7b\xca\x5e\x96\xf0\x6f\x5a\xa3\xd6\x0c\x91\xc7\x66\x78\xfb\x58\x3e\x10\xbb\xaf\x1e\x1f\x32\xb2\x5a\xeb\x11\x32\xc2\x7c\xef\x58\x78\x17\xe7\xee\x94\x55\x2c\xb3\x12\x57\x10\x68\x70\x46\x5f\xe8\x26\x66\x08\xe7\x02\x3e\xb2\x19\x8c\x3a\xae\x10\xde\x93\x6c\xc6\x0f\xd9\x86\x36\x4d\x24\xfa\x88\x74\x0f\xf9\x32\x2e\x09\x5f\xed\xd7\x71\x8e\x30\x5f\x6d\x56\x7b\x01\x74\x9b\x3d\x5d\x93\xd2\xfd\x72\x86\x57\xca\xbf\xc0\x0c\x53\xc1\x04\x1b\x01\x76\x94\x60\xf8\x5f\xba\x53\x81\x48\x0c\xc0\x88\x2b\xbe\xbb\xc0\xd9\xac\xae\xb2\x82\x4b\x38\x43\x98\xa3\x34\x5b\xb1\xb5\x5d\x92\x22\xd0\x64\x30\x12\xb3\xc9\x1c\xfd\x72\x8e\xe7\x77\xbf\xb9\x66\xcb\x7a\xf2\x9b\xeb\x98\x4e\x6b\x74\xcd\xd2\xf9\xdd\xed\x35\x5b\xd2\xf4\xf6\xee\x8d\x97\x13\xdf\xde\xbc\x99\x32\x94\xd6\x10\x96\x51\x20\xc9\xc8\x3a\x27\xff\xbc\xcc\xcb\xea\xca\x75\xd3\xe1\xa6\xfc\x81\xee\x6a\xf7\x1b\x9c\x8d\xb8\x09\x6f\xcb\x83\xfc\xdc\xe8\x7f\x8f\x4f\xc5\xb7\xc7\x9c\xca\xd4\xf2\x58\xe7\xac\x50\x1f\x35\x7d\xa9\xbf\xa0\x9b\x52\xba\xe6\xb4\x69\x5f\x3e\x1d\xf6\x19\x67\x1c\x52\x22\x5c\x91\x9b\xbf\xc7\xab\xef\xa7\x93\x35\x22\xdf\xf3\xeb\xf8\xfb\xed\xe4\xfb\xd9\xf2\xfb\xed\x35\xba\xc1\x39\x59\x9d\x2a\x9a\xde\x88\xe5\x5e\x7e\x1f\xcb\xec\xd3\x1c\xbf\x69\xd1\xf7\xfc\x1a\x5f\xf8\x8e\x97\xa9\x4a\x5a\xc6\xcb\xf4\xfb\xd9\xf7\xdb\x09\x5a\x8a\x0c\xb4\xfc\x1e\xdd\x48\x87\xa2\x3d\xcc\xfa\xaa\x5e\xcd\xd7\xb8\x5e\xdd\x8a\x7f\xde\x88\x7f\x7e\xbd\x5e\xb7\x2d\xee\x8e\x64\xe2\x36\xfb\x4b\x3b\x82\x57\xa7\x7f\xec\x08\x6f\x67\x9f\x7c\x72\x0d\xc3\x54\xbf\x6e\xcd\xaf\x70\xc0\xbf\x88\x57\xd9\x74\x97\x4c\xff\x63\x7d\xba\x6d\xd1\xf0\xc7\x99\xde\xac\x8a\x54\xf4\x38\xff\x0d\x72\x7c\xb1\x8a\x9e\x83\x94\x37\x90\xd2\x33\x00\xd4\xf7\xeb\xb5\xfd\x4e\xfa\x3b\x9f\xf4\x8f\x60\xd2\x19\xc6\x9e\xe7\x03\x1b\xf7\xb3\x6f\x1b\xe0\x99\x34\x12\x3d\x46\xaf\x80\xb2\x9b\x79\x92\x00\xa4\xa9\x1f\xb0\x79\x6b\xbc\x27\xf5\x0c\x8e\x08\xf1\x9f\x3b\xe3\xc2\x60\x87\x82\xbe\xbb\x52\x85\x66\xbb\x42\x21\x3b\x5d\xa8\xc5\x1b\x72\x12\xe0\x9a\x9e\x04\x27\xc2\xd3\x53\x45\xb7\xe9\x89\x6d\x5f\xd2\x04\xab\x88\xce\xef\x6b\x1a\xb5\xa0\xaf\x2c\x64\xce\xdc\xcf\x79\xc8\x8f\x54\x66\xdc\x7a\x19\x6d\x8b\xc5\xec\x4c\xcb\x7b\x5d\x4c\xb7\xbc\xa5\xa2\x51\x1e\xb5\x98\x67\xb5\x0e\x41\xe2\xf5\x70\xa0\xd5\x86\x16\x75\xd4\xe2\x5c\x20\x99\x82\x72\xee\xf7\x64\x0a\x88\xde\x8e\xe4\x24\xbb\x4e\x4f\x70\x25\xa5\x23\x08\x6e\x97\xde\x7e\xf2\x49\x8b\x55\xc9\xf4\x24\x52\xe6\x2d\x56\x9d\xa7\x27\x71\x09\xbd\xf9\x4d\x82\x75\x15\xc1\x3c\x91\xfd\x8c\x1f\x0f\x82\x31\x23\xa7\x16\xec\xfe\xa2\x4f\x0f\x77\x11\x12\x74\xd2\x8e\x48\xba\x76\x71\x50\x0e\xaa\x37\x9c\xbf\xa5\x2f\xb5\x8b\x40\xa7\x80\xf9\x52\xb1\xb0\xf1\x1c\x8b\xff\x67\x9f\xa0\x08\x6f\x67\x70\x35\xe8\x8a\x01\xc2\x9d\xb1\x62\x4b\x5f\xbe\xde\xc5\xf2\xee\x41\x77\xd3\x39\xde\xc5\x9b\xe0\xee\xa6\xf2\xaa\x21\xd1\x7d\x34\x01\xdf\x1e\x62\x71\x67\x59\x7e\xd8\x67\x04\x96\xe6\x4d\xb0\x34\x58\xdc\xbd\xf3\xb6\x45\x78\x3f\xdb\x39\x4f\x83\xf7\x56\x1b\x86\x4f\x01\x00\x16\xd2\xf2\x11\x28\xf0\x82\x10\x42\x7d\x1f\xe3\xf2\xfe\x05\x31\x83\xff\x8f\x7c\xda\xb6\x88\x8b\xd9\x3f\xfe\x29\x28\x96\xa6\x29\x66\x45\xb9\xa5\x6f\xdf\x1f\x80\x85\x2b\xd4\x8b\x3f\xce\xe3\x12\xe1\x92\x50\xe9\x04\xe9\x28\x7d\x6f\x6f\x49\x0d\xe4\x47\x5c\x20\xac\x9c\x93\x86\x57\x7d\xa9\x02\x68\x16\x64\xa5\xc6\xb8\xc6\x5b\x12\x65\x55\x05\x0c\xbb\xf5\x0d\x4b\xb6\xd2\xdd\x85\x04\x77\x1e\x17\xa8\x69\x32\xc1\x9f\x81\x20\x06\xa5\xaa\x0a\x14\x8c\x77\xf1\x06\x76\x46\x2e\x66\xb0\xe0\x87\x15\x9d\xb1\xed\xcb\x9a\xb0\xb8\x50\x3f\x31\xd5\xc6\x1b\x28\xb5\x31\xa3\x44\x4b\xc5\x95\x7e\x86\x54\xee\xae\xf6\xcb\xee\xf6\x89\x26\x24\xad\x30\x1e\xc7\x47\xf3\x41\x6c\xba\xe6\xaf\x51\x8b\x52\xaf\x3e\xc5\x5c\xbf\xc7\xe5\xb2\xec\x62\x17\xf3\xde\x31\x0b\xc6\xe9\xb8\xca\xd6\xe3\xb1\xe0\x6c\xa4\x8f\x4d\x00\x11\xf0\x17\xd1\x34\x92\xa6\x2b\x56\xf5\x5a\x6d\xec\x42\x94\x26\xa2\x70\x7c\x94\x8b\x8e\x5a\x91\xe4\xce\xbd\x5e\x63\x78\xe7\xd5\x22\x2c\xdb\x4e\xee\xea\x19\x2b\xa4\x7d\x8e\x74\x89\xb5\xca\xf4\xf0\x13\xfc\x06\x21\x98\x62\xb6\x5e\xbd\x59\x13\x41\x7b\xef\xaa\xf2\x49\x24\xa9\x5d\x95\x09\x50\x42\x32\xc8\x72\x41\x69\x8b\x99\x6f\x36\x20\xc9\xdc\x7d\x0c\x2e\xe3\x46\x89\x7e\xb8\xac\x40\x22\x58\x63\x87\xd6\x63\xab\x4c\xad\xa9\x2e\x2b\xd8\x81\x92\x14\x26\x5d\xc0\x44\x5d\x0a\x1a\xb0\x2e\xe3\x42\x4d\x5c\x72\xa1\x71\x0f\x34\x58\x92\x4b\x4c\x77\x44\xaa\x15\x83\xe5\x59\x72\xf3\x93\x10\x52\xaa\x9f\x82\xec\x13\x5c\xbf\xf4\x6c\x2c\xf1\x7d\x27\xb8\xe2\x6a\xad\x42\x67\xf6\x4e\x07\xe4\xf2\x74\xc5\x0d\xc8\xd4\xd2\x50\x40\x69\xb5\x0f\xe5\x21\x46\x2d\x06\x6a\x31\xf0\x01\x65\xf8\x03\x2e\x17\x0e\x08\x53\x18\x43\x8c\x70\x46\x36\xab\x62\x8d\x4b\x92\x68\xf7\x1c\x00\x1c\x31\x5a\xee\xe3\xc8\xa1\x3d\x95\xaf\x69\x5c\x91\x32\x58\xb2\x58\x91\xb7\x40\x43\x6b\x88\x5d\x58\x17\x1b\xa6\x78\xff\x42\x16\x1a\x90\x0b\xb1\x52\xb8\x24\xd5\x2a\x13\x97\x19\x17\x7f\x36\xe4\xb8\x2a\x1c\x3e\x44\xae\x35\x11\x1c\xab\x84\x5b\x52\x2e\x73\x01\xae\xfb\x34\xde\x08\x1e\x62\x3c\x8e\xf7\xd3\xf2\x0e\x7e\xdf\xdc\x2e\xcb\x09\x81\x9f\x69\x39\xdd\xeb\x44\xb1\xef\x53\x99\x8c\x10\x86\xda\x2c\x16\xb5\xd0\x35\x9d\x94\xb8\xb0\x00\xb8\x2a\x04\x91\x2f\x6e\x35\x5a\x6c\x3d\xdd\x2c\xdb\xc5\x73\xbd\x5e\x30\xf9\xd5\x9b\xb5\x8b\x17\x17\x8e\x8f\x70\xc8\x37\x92\x32\x4e\x98\xdc\x2b\x5c\x90\x7d\x4c\x91\xcc\xd6\xcb\xb5\x8f\x6b\x08\xbc\xc9\x82\x43\xac\xc4\xd7\xf3\x29\x47\xd7\xc5\x8a\xae\x27\xfc\x1a\x84\x7b\xb8\x2e\xbf\x7d\x7c\xc8\xa4\x45\x7e\xd7\xf6\x1f\x6e\x8f\x38\x02\x8b\x0f\xd1\xac\x1d\x4f\x6f\xfb\x86\xbf\xa3\x77\xb7\xcb\x79\x9a\xa4\x75\x6b\x36\x52\x4c\x57\xb9\x54\xd2\x13\x90\xed\xc7\x82\xad\x9d\x30\xc5\xbc\x4c\x22\x14\x89\x51\xfd\x9e\xe7\xc3\xa3\x12\xa4\x40\x38\x2a\x48\x43\x67\x87\x35\x1e\xc7\x35\x51\x43\x43\x98\x8e\xc7\x6f\xee\xc0\x18\x84\x38\x9e\x8b\xe6\x49\x72\x5d\xa3\x49\xf4\xcb\x08\xe1\x8b\xa3\xdf\xf3\x7c\x60\xf4\xf4\x25\x1c\xbc\xef\xf7\x7d\x60\x4f\x8d\x26\x77\x3c\x66\xf2\x74\xfe\xf7\x7f\xc7\xb7\x9f\x7c\x72\xcd\x11\xc2\xd1\x2f\xa2\x49\x77\x77\xad\xf0\x86\xc4\x75\xd3\x24\x68\x56\x97\xb2\xef\x58\x10\xa9\x00\x65\x9a\x5d\x8c\x92\x68\x52\x8b\x4d\x51\x31\xfb\x22\x00\x80\xee\x32\xab\x16\x93\x10\x42\x97\xde\x81\x96\x6a\x58\x17\x80\x20\x6a\x1e\x90\x06\xf2\xae\xb4\x54\x01\x11\x89\x78\x03\xbb\x34\xab\x4b\xe2\x8e\x5f\xd0\x05\x72\x83\xc0\xa3\x8f\xfe\x3d\x77\x7e\xdf\xea\xc3\x11\x12\x0a\x82\x8a\x5d\x2f\x8c\x77\x5d\x68\xe2\xe6\xf6\x93\x4f\x04\x5e\x5f\xcd\xe5\xcf\x0c\x1a\x80\x9f\x25\x01\x32\xbd\xb2\xf1\x81\x41\xac\x27\x30\x8f\x89\xb7\xae\x52\xf6\xa4\x9a\xe6\x78\x43\xaa\x49\x8e\x8f\x64\xf6\xc9\xf5\xc6\x6c\x0e\xc9\x41\x72\x94\xa4\x1c\xfe\xfe\x26\xb9\x8e\x8b\x69\x86\x6e\xf6\x93\x37\xbf\x49\xd2\xc2\x24\x66\x53\x2e\x12\xe7\xb7\x49\x2a\x3e\xf9\xb4\x10\x9f\xb7\xbf\x4e\x30\x03\x6c\xb9\x5f\x26\xe9\xec\x93\x3b\x72\x5c\xee\x6f\x36\xe9\xfe\x26\xbe\x9d\x6e\x10\x5e\x39\xd0\x48\xd1\x2f\x05\x39\xc9\xf0\x11\xcb\xa5\x28\x97\xf3\xb4\x5c\xb7\x7a\x25\xc5\xa5\xf7\xaf\x58\x4b\xb9\x8e\xd0\x35\xd4\x86\x95\xbd\x5d\xc3\x52\xbe\x11\xc8\x5e\x0c\x9b\x2f\xf9\x75\x3c\x9f\x30\x94\xf2\x09\x9b\xf2\x6b\x86\x2b\x72\x7b\xcd\xa7\xa5\x5a\x28\x77\x22\x02\x86\x8b\xb8\xc2\x25\xa6\x93\xf9\xcd\x1b\x84\x70\x7f\xe6\x60\xc6\x54\xd6\xca\xd6\xad\x4f\xc7\x72\x17\xff\xcb\xbb\xa1\x24\x85\xbc\x30\x70\x4e\x8a\x59\x5d\xe2\x0d\x29\x60\xa5\x16\x02\x08\x57\x7c\x6d\x57\x4c\x6a\xaa\x73\x25\x8a\x5d\x95\x6b\x25\x76\x5d\x95\x6b\x92\x3b\xd8\x4e\xdc\xbd\x21\xe9\xba\x2a\x0d\x79\xa5\x14\xdb\x95\xa6\x39\x39\xc2\x47\x62\xa9\xc2\xca\x8d\x06\x4a\xaa\x25\x4f\x8d\x6d\x18\x96\x3e\x04\xdc\xb6\xcc\xdd\x1d\xe2\x58\x2d\x57\xf3\xda\xaa\x53\x49\x55\x2d\xe4\xf6\x82\xd9\x0a\xd9\x2a\x52\x0b\xe1\xad\x25\xba\xb8\xa4\x34\x37\xcb\x58\x5c\x1c\x9b\x58\x5c\x5e\x85\x98\xe8\x16\x17\x28\xdd\xc7\x5b\x24\x96\xd6\x8b\xc5\xcf\xd0\x09\x96\x4c\x5c\x9e\xb1\xfa\x65\x17\x4f\x2f\x3c\x08\xc5\x35\xad\x9d\x13\x4b\x1c\x52\x15\xa4\x03\x38\x61\xc9\x9d\xa6\x92\x1f\x49\xb9\xe0\x36\xc5\xc4\xf3\x75\x8c\xf0\x86\xec\x15\x9d\xa3\xfd\xf9\x1b\x93\x0f\xd0\x8e\x2d\x37\x69\x1c\xe9\x7e\x95\xbe\x2c\x2e\x88\xeb\x60\x6b\x83\xdc\x61\x20\x75\x5c\x0a\x81\x47\xe9\xd3\xa1\x7e\x0f\x43\x49\x9d\x48\xad\xd0\x46\x46\x2a\x29\xc0\x2b\xe4\xf3\x80\x82\x6c\x26\x8e\xdc\x31\x13\x87\xe5\x3a\x8e\x26\x10\xef\x7b\x35\x5f\x83\x47\x55\x84\x10\xd6\xe3\x25\x05\xd6\xd3\xd8\x23\x19\x20\x18\x30\xe0\xbe\x2c\x7f\x20\x5d\xdc\xef\x06\x96\x58\xec\x5c\x3c\x0e\x8b\x0d\x4a\xc3\xdf\x97\xe5\x0f\x7c\xc5\xd6\xe4\xe4\x39\xb7\xa7\xd8\xae\x37\xae\x48\x14\x2d\x04\x21\xee\xe2\xe3\x11\xcc\xd7\x4c\x71\x44\xec\x7a\x34\x4d\x9c\x11\xc1\xb8\x20\xa4\xf8\xb0\x7d\x9c\x35\x4d\x81\xf0\x48\xf2\x91\xe3\xf1\x5c\x54\xb7\xb4\x08\xa8\x4e\xbb\x82\x3c\x08\xf7\xb1\xa4\x6e\x5c\x0f\xba\x88\x23\x0d\xe5\xee\x70\x40\xba\x3f\x1e\x97\xe3\x71\x29\x79\xd4\x05\xaa\xab\xf7\x27\x71\x48\x80\x67\xc3\x9d\xb6\xc5\x16\x96\x4e\xd3\xed\x26\xab\x37\xfb\x38\x47\xa7\x56\x6c\x36\x50\x51\x71\x35\x1e\x87\xb3\xae\x96\x55\x1a\x69\x76\x2c\x42\x50\x38\xb8\x96\x44\xcf\x54\x0e\x43\x2c\x6d\xe1\x34\x0d\xca\xf7\xdd\xcb\x8c\xd7\xf4\x20\xf2\xdc\x5d\xa3\x33\x60\xbe\xbf\x2a\x58\x0d\x2f\x53\xc1\x36\x5e\x90\x5d\x20\xc0\xc7\x0c\x42\xf1\x16\x5b\x99\x52\x6c\xc1\x9f\x82\xae\x40\x64\x34\x32\x67\x47\x67\x9c\xd6\xba\xaa\x6a\x6b\x66\xe9\x6d\xd9\x04\x06\xd7\x40\x4a\x7d\x20\xe1\x48\xb0\xb7\xb6\x9d\x99\x94\x8b\x4a\x41\xcd\x89\xbe\x1c\x32\x97\xb4\xac\x35\x8d\x64\x65\xee\xbb\x78\x15\xbd\x2d\x0f\x11\x8e\xa4\x27\x67\x1c\x29\xff\xc7\x38\x02\xaf\xd5\xeb\x0e\x8b\xa0\x9c\x2a\x47\x13\x3e\x89\xe4\xce\xac\x49\xdd\x22\x4c\xdb\x16\x6c\x09\xa4\x84\xa1\xc8\x9e\x28\x27\xa7\xec\x9f\xc7\x2c\x8d\x7e\x91\x24\xbb\xdd\x6e\x17\xe1\x87\x3c\xdb\xfc\x00\xdf\xe2\xbf\x48\x0a\x74\xe4\xa7\xc8\xde\x1d\x37\x7b\xce\x44\x85\xdd\x4e\xa6\x3c\x56\xd9\xfb\x34\xfa\xc5\xbf\x27\xe2\xff\x48\x89\x86\x44\x85\x7f\x87\xfa\x39\x7b\xa2\xaa\x79\xf1\xf9\x94\x55\x65\x59\x40\x79\xd9\x7e\x91\x3d\xbf\x57\xed\x8b\xea\x65\xce\x9e\xa9\x6a\x4e\x64\x1f\x8e\xd5\x21\xa7\xaa\xbc\x28\x50\xd1\xad\xea\x5c\x64\x73\x96\x3f\xd3\x2a\x8d\x7e\xb1\x49\xc4\xff\x11\xae\x69\x96\xab\xde\x45\xe9\x77\x7b\x56\x53\x28\x2f\x67\xf7\x9e\xe6\x79\xf9\x4e\x25\x88\x06\x1c\x48\x4c\xc3\xfb\x34\x59\x63\x0d\x94\xb6\x89\xb6\xd5\x0a\x18\x57\x39\xe9\x28\x51\x5c\x87\xbb\x84\xfa\xcf\x17\x67\xaa\xb9\xff\x62\xf4\xdd\xf2\x4c\xde\xec\x91\xd6\x9f\x97\x4f\x87\x63\x4d\xb7\xdf\x09\x98\x17\xd8\xe3\x98\xe7\x28\x35\x2a\x69\x48\xc6\x99\x80\x13\x81\x0f\xc6\xe3\xc2\xe8\xf2\x0a\x30\xf6\x2c\x56\xe2\xef\x1a\x49\xb3\x0d\x9d\xbb\xe0\xd3\xe9\x02\x31\x22\xae\x51\xdc\x89\x9e\x53\xac\xd8\x1a\x22\x55\xd7\xb3\x4d\xf6\x44\x73\xd0\xa0\x30\xb4\x26\x22\x03\x2d\x68\xce\xe9\x95\x68\x8f\x5d\xb1\xe2\xaa\x40\xc3\xf5\x99\xae\xa2\x2d\xf7\x5d\x1d\x8e\x67\xdb\x52\x8a\x19\xc0\x18\xaf\x20\xb4\x76\x41\x98\x18\x1a\x5d\xf1\xb5\xc2\x87\xd9\x8a\x8b\xeb\xcb\x9e\x71\xf1\x39\x92\xfa\x24\x07\xd7\x0b\xdc\x28\x38\x3b\x41\x1f\x14\xc8\xf4\x5c\x82\x4e\xa3\x20\xab\x28\xdb\x6e\x23\x1c\x49\x5b\x3e\x88\xb9\xfd\xf8\x98\xd3\x48\xd0\x44\x27\x79\x5e\xd2\x39\x76\xd5\x1c\xe6\x13\x8e\x8b\xf9\x12\x67\xce\x7c\xc0\x89\x34\x5f\x6f\xcb\x83\xf9\x0d\x26\x1a\xe9\x1c\xcb\x67\x5f\xe9\x1c\x2b\xdf\xe5\xe9\xbc\xd5\x5e\xd6\x56\x8e\x9f\x7a\xd8\xce\x08\xbb\xfe\xdd\xfd\x24\x39\x26\x3f\xed\x6d\x79\x90\x09\xeb\xce\x3d\xd4\x87\x0f\x6b\x74\x8a\x8d\xa9\x4b\x2d\x90\x95\xa0\x9b\x04\x52\xfb\xac\xae\xab\xa6\x91\xac\xc6\xa1\xe4\x6e\xb2\x58\x53\x09\xf0\x12\xfb\xc6\xb5\x42\x9d\xb8\x96\x18\xd3\x94\x14\xf8\x52\x5a\x16\xee\x0a\x6d\x38\x24\xf7\xcd\x7c\x92\x3e\xb6\x07\x44\x0e\xdb\xad\xa6\x7b\x95\xa8\xae\xa2\xcf\x5f\x03\x99\x94\x06\xdf\x5a\xfb\x5d\x4b\x2e\x5d\x6b\x38\x75\x2c\x38\xb0\xc6\x74\x05\xe0\x70\xdd\x4a\x78\xcb\x49\x3d\xe3\x07\x4a\xb7\xb1\x4c\xf4\xdc\x49\xff\xf3\x48\x8f\x34\x34\xdb\x05\xda\x48\x3d\xc5\xa8\x48\x39\xcb\xc0\x21\x19\xc4\xf7\x8d\x50\xd3\x44\x11\xde\x93\x7c\xb6\xd9\xb3\x7c\x5b\xd1\x62\x59\x2a\x63\xaa\x6b\xd7\x74\x2a\x2d\x17\x7b\xb2\x07\xbe\x6f\xe8\x6d\xbe\x8e\x5b\x43\xf3\x94\xaa\x78\xd7\x4c\x85\x71\x6b\xe1\x91\xa7\x63\x5d\x23\x61\xa7\x08\x44\x51\x14\x4e\x5e\xb9\x62\x93\x08\x56\x20\x5a\xc7\x22\x09\x8c\x39\x04\x5b\xdd\x33\x02\x77\xf2\xe2\x0e\x64\xda\xfe\x05\x42\xd4\xcb\x37\x79\x6c\xb7\x23\xda\xb1\xb7\x18\x16\xd6\xa5\x55\x7c\x36\x84\xfd\x35\xc1\x55\x6f\x57\x36\x0a\x14\xf0\xfc\x5f\xd0\x1d\xad\x2a\xba\x05\xce\xd9\x75\x4f\x99\xe3\x13\x6c\x83\x0c\x88\xfe\x74\xc8\xa9\xff\x34\x89\xcd\x2a\xca\xcb\xfc\x99\xc6\xe0\x15\xc1\xdb\x3f\x9a\xfb\xe1\x00\xc5\xd8\x31\xbc\xa0\x39\x54\xe5\x13\xe3\x54\x3a\xfa\x9e\xbd\xdb\x53\xf3\xcc\x03\xef\x05\xa6\x8d\x11\x9a\x6d\xcb\xc2\xdb\xfc\x2c\x36\x26\x2b\x96\xd6\xef\x8f\x6b\x45\x73\x7d\xa0\x6d\xbf\x2e\x9c\x4b\x17\x4d\x35\x16\xdc\xba\x18\x42\x3e\xd3\x53\x93\xe4\x6f\x29\xd6\x5b\xfa\x1f\x80\xb3\xa2\x97\x43\x3f\x2b\xe8\x0b\x7c\xe7\xde\xf8\xc0\xee\x1a\x8f\xb6\xcb\xfe\x13\xe1\x50\xda\xa2\xe1\x94\xb5\xaa\x62\x4a\x07\xde\xbc\xb4\xe6\xe4\x2a\x03\x67\xc7\x0a\xfa\x83\x86\x14\xbe\xda\xba\x9b\xbf\x62\x8c\xb2\xb3\xd7\x0f\xd3\x19\x1c\xc2\x12\xb5\x07\x23\x65\xdd\x91\x1a\xbf\x0e\x3a\x2b\x7a\x28\xcb\x9c\x66\x85\x73\xa3\x35\x0d\xe8\x3c\x96\xd9\xe5\x41\x17\x4b\x58\x5a\xde\xa6\x7a\xf8\xbc\x55\xed\xcb\xe0\x79\xdd\xe1\xa7\x97\x57\x42\x4e\x46\x34\x05\x83\x35\x33\x76\x26\x89\xb0\x34\x54\x0e\xf7\x06\x87\x5b\xf1\x4a\xd8\x50\x5b\x9d\x52\xbd\xfa\x82\x98\x8d\xfb\x09\x1e\xde\xd1\x31\xd6\x33\xc6\xbf\xc9\x33\x56\x48\x7c\x2d\x83\xee\x31\x42\x31\x25\x54\xf5\x8f\x30\x35\x16\x29\xb4\x55\xbc\x1e\xbc\x68\x21\xa7\x56\x06\xec\x73\x5e\x74\x01\x5f\xc7\x30\x97\x0e\x9f\x65\x91\x38\x2a\x8e\x4f\x0f\x60\x03\xa4\x76\x0a\x9e\x85\x88\x6b\x4f\x20\x78\x41\xad\xcb\x7a\xf0\x74\x11\xf7\xb4\xcb\x6d\x3e\x90\x56\xf0\x72\xc9\xbe\x77\x60\x02\x37\x71\x88\x3e\xaf\x43\x85\x52\xf3\x93\x40\x4f\xe5\x6e\xb7\x4c\xd2\xce\x40\xf8\x92\xa7\x40\xcc\x38\xc3\x59\xba\x43\xe3\xeb\xd4\xf9\x34\x7a\x28\xe0\x3d\x24\x62\x20\x85\xe8\x58\x7f\x61\xea\x9a\x7b\x98\x13\x37\xa2\x4d\xd3\xe9\x9c\xfa\xab\x40\xd7\xcb\x51\x92\x5a\x8e\xd2\x2d\xa5\x41\x41\xfe\x15\x45\xbd\xf5\xa1\x08\xaa\x2a\x59\x85\x5b\x55\xef\xe2\x72\x34\x4f\x47\x49\x3a\x4a\x5a\x1b\xbe\x5b\xb7\xda\xf3\x5c\x96\x67\xcf\x34\xd0\x49\xe8\x47\x89\x9c\x24\x0b\xea\x9b\x15\x2b\x41\xbf\xa0\x03\xc5\xbe\x80\x69\x1a\x9b\x88\x4f\x5c\x9b\x78\xc0\x2b\xf1\xbd\x46\x2d\xae\x28\xaf\xcb\xca\x6b\x5e\xe9\xc7\x0a\x9c\x01\x79\x99\x91\xc4\x3c\xe3\xbe\xcb\x16\x99\xed\x82\x83\xfe\x2a\x2e\x88\xe9\x45\xa4\x20\x5c\x10\xad\x5e\x8c\x22\xc5\xc0\xc5\xa0\x93\x28\x10\x6a\x31\xa7\xf5\x1f\x05\xf7\xdc\x27\xaf\xd6\xb4\xa5\x6a\x80\xc2\x13\xc5\x38\x4a\x55\x54\x23\xb4\x8c\xf8\xbe\x7c\x17\xa5\xd1\x9e\x6d\xc1\x28\xac\xc5\x8f\xb4\xfe\x6d\xc6\x69\xce\x8a\xb0\x49\xc5\x4c\xe8\xb7\x08\xd2\xca\x59\x59\xb6\x1f\xa2\x94\x91\x64\xf1\x50\xd1\xec\x07\x69\xed\xfe\xc4\xb6\xdb\x9c\x8a\xe4\xd9\x27\x6e\xba\x8a\x00\x99\x32\x32\x57\xc9\x9a\xb3\x61\x52\x56\x48\x95\x99\x74\x6b\xfa\x99\xeb\x7e\x20\xaa\x5d\xca\xfd\x8e\x36\x54\x3e\x23\xe0\x41\x47\x32\x02\x66\xca\x3b\xfd\x70\x29\xd0\xa5\xca\x2f\x82\xa2\x78\x5e\x52\x8e\xdf\xa7\xac\x6d\xb1\x7c\x88\xfc\x97\x2a\x3b\x84\x41\x3e\xd9\x2e\xd6\x02\x8b\x18\x99\xa0\xb2\xda\xca\xed\x9d\xac\x11\x21\x64\x5e\x51\xe9\xb2\x4a\x09\xa3\x4c\xa9\xa9\xeb\x1d\x48\xf0\xf6\xca\x7e\x9a\x7a\xfe\x81\x44\x46\xb4\x13\x1c\x45\x94\x2a\xe7\x8a\xf2\x4b\xec\x39\xe8\xfe\xb7\xec\xf9\xee\xd3\x1b\xf1\xaf\xa4\xf2\xec\x03\xd7\xce\x90\xa4\xfb\xe7\x5d\x59\xd4\xdf\xb1\x1f\x69\x1a\xcd\x93\xe4\x97\x11\xb6\x62\x93\xd4\x93\x84\x28\xce\x21\x95\x34\xba\xe6\x1c\x12\xc3\x39\x24\xad\x00\x4a\x33\x9b\x77\xbe\x9b\x23\x6a\x3c\x82\x09\x26\xdf\x44\x15\x93\xcf\x9d\x94\x1b\x87\x45\x5d\xbd\x3f\x65\x33\xb6\x55\xe2\x93\x12\x9d\x32\x3f\x3c\x65\x6b\x16\x51\x4c\x22\xe6\x08\xc7\x54\x7a\xee\xcf\xbc\x28\xd3\x10\x3b\x35\x13\x1c\x57\x1d\x67\x68\xb6\x2b\x37\x47\x0e\xe4\x9c\x5d\x7d\x70\xfc\x50\xb3\x0d\x1c\x83\x30\xfe\xeb\x52\x85\x84\x3d\x99\x47\x4b\xd6\xb7\x46\xab\xdd\x5a\xf6\x67\xa2\x34\x36\xf8\x86\x61\x5b\xa6\xd3\x07\x96\x0e\x01\x74\xc6\x8f\x53\x26\x1d\x15\xb4\x86\xb4\x5b\xc1\x19\x52\x41\x5f\x4d\x98\x54\x1d\xc6\x75\x8d\x7d\x74\x22\x18\x53\x35\x13\xae\x0d\x1a\x6d\x84\x2a\x81\x99\xe6\x09\xf0\xa0\x50\x50\x3a\xf9\x46\x67\x27\x83\xdd\xd0\x8f\x2a\xd6\xa2\x72\x14\xae\x42\x28\x1a\x57\xe1\xaa\x95\x42\x7b\x59\x60\x68\x26\x90\x48\x0c\xc8\x4f\xdc\xd6\x7d\x27\x47\xc2\xff\x00\x2c\x74\x8e\xcb\xf0\xd1\x02\x9f\x90\xa6\x58\x45\xc1\xab\x2a\xb8\x99\xa6\x16\x40\x58\x17\x40\x98\x04\x10\x66\x00\x04\x70\x1d\xa7\xf5\xdb\x1e\x2d\x75\xc7\x56\x49\xdc\x82\xa7\x56\xef\x15\x0b\x38\x1e\xa9\x33\x80\x55\xf9\x73\xc1\x44\x27\x8b\x6c\x95\xac\xef\x12\x81\xb2\x05\xdf\x2b\xbe\xae\xf9\x24\x13\x88\x4c\x9c\x1c\xc3\x9b\x6a\x02\x5b\x11\x20\x7d\x54\x8d\x60\x30\x5c\x1a\x47\xf0\x5d\xce\xdd\x98\xa1\xf1\x38\x93\x64\x53\x21\xb9\x25\xff\xe6\x1c\x8f\x05\xb7\x21\x05\x0f\x9a\x7d\xcc\x88\x73\xa3\x57\x84\xcd\x9e\xca\x2d\x5d\xc4\x45\x78\x35\xc0\x9d\x40\x08\xa9\x52\x79\x4b\x80\x18\x76\x19\x17\xab\x6a\x2d\x0e\x58\x8c\x50\x5a\xda\xae\x65\x90\x08\xb9\xcf\xbc\x9f\xc6\xc4\x85\xea\x0c\x86\x00\xfc\x15\x88\xda\x83\xfb\x9f\xa9\x1f\x6b\xfb\x24\x44\xd2\x38\x4d\x33\x2a\x97\xc5\x52\xeb\xc3\x1d\x82\xc8\x4e\x48\xc7\xa1\x0e\x5e\xbe\xda\x02\xe3\x31\x0b\xd8\x1e\xc9\xde\xa2\x34\x23\x84\x8c\xe6\x4b\x5b\x5f\x37\x26\x19\xf2\xac\x69\xa2\xdd\x4b\x04\x41\xc7\xc5\x7a\xf4\x3d\xee\x0f\x2e\x0b\xf1\xd7\x28\x7a\xfa\xd7\x64\x71\x76\xc5\x8c\x2d\x31\x2c\x1b\x91\xfb\xa0\x58\x5f\x58\x23\xcf\xc8\x5c\x13\xe4\xa2\x14\xc2\x62\xfb\xfe\x27\xc6\x08\x60\x73\x71\x8c\xa2\x94\xe6\x8f\x5e\x39\xca\xa6\xe9\x72\x45\xf4\x67\x1d\xba\xa2\x96\x2e\x0e\x5e\x96\x43\x58\x9d\xf8\x21\xd5\xbc\xc0\x8e\x54\x5c\x45\xab\x75\xf0\xba\x69\x15\x51\x81\xdd\x0f\x2f\x11\x8e\x7e\x29\x7e\x04\x38\x5e\x4c\xda\x18\xde\x51\x04\xa8\x84\x93\x95\x23\x64\x64\x08\xd3\xb5\x7c\xbf\xd3\x61\x89\x8c\xdc\xde\xf4\xf6\xbf\x8f\xd9\x36\xc2\xd1\xe7\xc7\x07\xb6\x89\xb0\xf8\xac\x6a\xf8\xcb\xc4\x6d\x1f\x7d\xf9\x72\x28\xfd\x01\x28\x41\x0e\xe9\x61\xaf\x41\xab\x7a\x28\xdf\xc5\x14\xd7\x93\x5b\x25\x68\xb3\xaf\xb3\xbf\xf3\x09\x47\x53\x6d\x3e\x85\x8a\x9b\x92\xc7\xf5\x35\xfc\xfc\xe6\xab\x9b\x5b\xd4\xe2\xcf\x59\xb5\x39\x53\x81\xff\xb3\xaa\xe3\xf9\xb4\xbe\xae\x51\x8b\xbf\xcc\x33\x5e\xb3\xde\xe2\x89\xb4\x21\x03\xd1\xe1\xb2\x4e\xa7\x66\x98\xb7\xf8\xdf\xaf\xe3\x7a\x3a\x47\x48\x76\xcb\x59\x11\xc7\xff\x9e\xc8\xb4\xe9\xff\x7f\xf6\x09\x32\xc3\x99\x7f\x82\x5a\xfc\xdb\x6c\xf3\x43\xaf\xe3\x8e\xeb\xfa\x3a\x7e\x73\x5d\x4f\xc5\xa0\x7f\x5b\x1e\x8b\x8d\x3f\x4f\xe3\xd7\x04\x33\xf2\xeb\x45\x1c\x53\xe2\x0c\x61\x3a\x65\x08\x4d\xe7\xe8\x66\x3e\xbf\xab\x17\xd6\x18\xe4\xc6\x94\xf9\x35\x7e\x33\x65\x30\x9e\xdf\xdc\x7e\x72\x6d\x92\xe3\x37\xd7\x74\x7a\x8b\x6e\x6e\x6f\xa7\x35\x36\xab\x0d\xd8\xa9\x23\x6a\xa5\x19\x67\xc5\xe3\x2a\xa2\x99\xa0\x04\xa2\x09\x5d\x13\x10\x8e\x3a\xc9\x5f\x1f\x6b\x48\xef\x5d\x6f\x26\xd6\x19\xb5\x38\x6c\x69\xb8\xd2\xec\x93\xbb\x7a\xc9\xe2\xdb\xeb\x1a\xdd\xdc\xa6\xa2\x85\xe9\xed\xb5\x80\x8a\x9b\x5b\x09\x96\x43\xfe\x8f\x24\x88\xde\x1c\x0f\xcd\xb6\x7c\x57\x34\xcf\xb4\xaa\xd9\x26\xcb\x6f\x30\x83\x44\x41\x87\x98\xc4\x66\x5f\x56\xec\x47\x71\x9d\xe7\x37\x8b\xf0\xb6\x98\x3d\xe4\xac\xd8\x92\x1e\x2d\xbe\x34\xc4\x34\xb7\xde\x9e\xac\xdc\x08\xff\x92\xdc\x32\x74\x96\xa2\xbb\x2a\xa5\xd7\x92\x04\x6c\x84\x23\x20\x6d\xa3\x35\xde\x38\xd7\x94\x62\xb8\xe2\x1c\xc3\x5b\x11\xc1\xfc\x2a\xf6\xe9\x48\xf8\x6c\xcb\x2a\x0a\x43\x69\x9a\xe8\x78\x88\xf0\x96\xd0\x59\x4d\x79\x1d\x1f\x11\x3e\x90\xed\x52\xb7\x9d\xaa\xb6\xf1\x4e\x24\x02\x07\xa5\x46\xf1\x48\x98\xa9\xf1\x44\x4e\x2d\x7e\x26\xe6\x02\xde\x2c\xf2\x57\x50\x49\x8e\x84\x48\xf0\xba\xb1\xad\x83\xf7\xae\xa4\x47\x66\xe2\x3d\xc2\xb9\xa2\xe1\x64\x78\x23\x95\xed\x31\x42\x71\xae\x98\x08\xed\xfa\x38\xd5\xb1\x71\x5b\x84\x4b\x92\xad\x0e\x82\x2a\xa8\x88\xab\xf4\x86\x0a\x3b\x04\x6e\xc8\x9e\x56\x87\x35\x79\x5e\x96\x69\x82\x1f\x9b\x26\xce\x21\x6f\xbb\x34\xfc\xa0\x5e\xfb\x04\xe9\x1c\x77\x4d\x14\x0d\x1b\xd2\xaf\x26\x98\x55\x8b\xf0\xd3\x6a\x27\x3a\xa8\xd2\x72\x52\x21\xfc\x3c\x1e\xab\xfe\x0f\x38\x41\xa2\x4b\x35\x1a\x5c\x4d\x4a\x84\x70\x66\x64\xb4\x4f\xf8\xa4\xe9\x88\x94\x3b\x32\x16\x38\x02\x29\x57\x67\x01\x9f\x15\x07\x1b\x5a\x69\x33\x1e\xe7\x70\xb7\xc5\xae\x46\x40\x09\x05\xe4\x52\xbb\xc9\x0e\xb9\x1c\xe7\x08\x17\x60\xf6\x34\xf0\xb4\x0a\x4e\x78\x00\xfb\x80\x85\xc8\xc0\x5b\x6d\x4f\x63\xf0\x53\x80\x3f\xef\x01\xfe\x12\x53\x0d\xfc\x32\x2b\x12\x47\xcc\xac\x43\x8e\x37\x16\x68\x73\x7c\x24\xb4\xf7\x60\x6c\x99\x34\x4b\xc6\x07\x71\x4a\xd8\x13\xe5\x4d\xf3\x09\xde\x91\xdb\xeb\xc3\x24\xde\x34\xcd\x5e\x1a\xd8\x3d\x12\x2b\xf1\xba\xd9\xe1\x27\x42\xf5\xae\x3c\x13\xd1\x16\x21\xe4\xd8\x34\x91\x7e\x03\x7d\xf4\x61\xe7\xde\x2d\x03\x49\xe2\x37\x7e\x20\xa5\xa2\xec\x10\x7e\x4f\x1e\xb4\x5a\x52\xa0\x71\xe8\x1a\x8d\xc7\x95\xb4\x9c\xb3\xde\xfb\x71\x70\x76\x4a\x5c\x21\x5c\xea\xb3\x33\x74\x72\x4a\x84\xb7\x4d\x13\x6f\x49\x29\xd9\x3c\x42\xc8\xf3\x32\x72\x78\xfd\x28\x8d\xac\x44\x20\x5a\xc7\xe8\xe6\x0d\xc2\x1b\xb0\x2a\x39\xa9\xbe\xd3\x79\x8b\xb3\xd5\xf3\x9a\x24\xb8\x0c\x1c\xfa\xab\x13\xf3\x8c\xef\x97\xb7\xd7\xd3\x6d\x7a\x7b\xbd\x45\x06\xba\x33\xfc\x88\x9f\x10\xc2\xfb\xf1\x38\xde\xde\xb8\x57\xd2\x41\x5c\x89\xa0\xb7\xd5\x0d\x73\x92\x2c\x0e\x5a\xea\x25\xd2\x0b\x91\x1e\xdf\x2f\xa3\x29\x89\xd2\x68\x42\x22\x34\xd9\xe2\xd2\xb4\x5d\x40\xdb\x41\x57\x78\x4b\xf6\xcb\xdb\xeb\x6d\xba\xbd\xb9\x5d\x80\x75\xac\x9d\x43\xf2\xca\x26\xc5\x9a\x76\xb4\x60\xfb\xf1\xb8\x1c\x3e\x5a\xb0\x13\x43\x47\xab\x44\x98\x81\xd2\xe5\xfd\xdd\x7c\x3c\x7e\x50\x8e\xc2\x14\x4d\xf8\x80\x57\x73\x9c\xac\x05\xc3\xb8\xc9\xea\x58\xe7\xc6\xef\xf1\x6e\x02\x16\x3a\xe5\x6c\x4b\x15\xa0\xbc\xfe\x68\x6e\x72\x76\xf8\x9f\x3e\x98\xea\x56\xda\xbb\x27\x71\x13\x9c\x44\x7d\xc9\x46\xf8\x48\xec\x87\xc0\x64\x78\x2b\x0e\x52\x78\x5b\x1d\xc2\xd3\xb5\x53\x84\xe6\xf0\xb1\xe0\x83\x57\x4a\x79\xe6\x4a\x29\x48\xf4\xd5\x1f\xff\x13\xcc\xab\xdc\x00\x0b\x3c\x2d\x71\x46\x8a\xd5\x56\xdc\x36\x7b\x19\xea\x5d\x5c\x17\x02\xc9\x17\x0a\xdf\x67\x37\xb7\x08\xe1\xdd\x6a\xbb\x26\xfb\x65\x96\x26\x78\x27\xee\x9e\xfd\x32\x49\xb3\x9b\x5b\x5c\x18\x60\xdb\x39\x4a\x3e\x73\x05\xd0\xce\x15\x60\x90\x4d\x1f\xe6\xdf\x37\xcd\x4f\x84\xca\x0f\x41\xf8\xdb\xaa\x1c\x80\x2a\x87\xbb\xff\x00\x88\x32\x38\xa4\x0b\x5b\x65\x0f\x6c\x15\x1d\xd8\xaa\x2c\x6c\x95\x10\x27\xd9\x85\x2d\xd9\xd9\x5e\xa3\xdf\xdc\x41\xd1\xb9\x0f\x44\x1b\xb7\x8c\x46\xd1\xf9\x52\x4c\x24\x4a\xa3\x82\x3e\x0a\xf0\x34\x68\xa4\x12\xb7\x42\x07\xe8\xc0\xd6\xb6\xb8\x84\x8b\x0b\x29\x1a\xd4\x17\x4f\xd3\x14\x06\x27\xef\xcf\xe2\xe4\x51\x82\x6e\x6e\x71\x35\x1e\x17\xfd\xe8\x77\x8f\x61\xb4\xe2\xe4\x2c\xa7\x3c\xe5\x08\x1f\x57\xfb\x35\x89\xab\xa5\x4d\x17\xf8\x2e\x95\x98\xcf\xa6\x59\x44\xc8\x1d\xd8\x3c\xfe\x0c\xb0\x69\x6e\xe3\x52\x8c\x7a\x10\x48\x61\xe1\x86\x80\xb4\xf8\x70\x20\xa5\x2f\x87\x5c\xb0\xd3\x3e\x9c\x7a\x32\xac\x07\xd7\xb3\xa4\xbe\x7a\xc5\xad\x7c\xbd\x1d\x8f\x05\x15\xe4\xa8\x99\xd0\xe9\x20\xb1\x04\x38\x51\x60\xb9\x80\x80\x48\x39\x54\x10\x88\xa2\x8e\x1f\x90\x8d\xa8\xf4\xd8\x34\x07\x3d\x55\xa6\x44\x5f\x9e\xc7\x7c\x42\x67\x07\x46\x37\x94\x2f\x1d\xf3\x60\xcb\x69\xea\x5c\x84\xd2\x37\x02\x03\x5a\xf7\xfa\xf2\x89\x5d\x70\x22\x0e\x9d\x13\xf1\x68\x4f\x84\xa0\x54\x0e\x0a\x20\x25\xd0\xd8\x29\x88\x23\xa7\x24\x6d\xd6\xf7\xca\xb3\xbc\x9f\x37\x94\xe5\xf1\xc1\x0b\x21\x70\xb3\x45\xf8\xbe\x9b\xab\x43\x09\xdc\x1c\x11\x7e\x20\xab\xb5\x51\x30\x1d\x95\x66\x49\x7c\xe7\xe4\x09\x9c\x1c\x65\xd7\xf7\x78\x43\xb2\x69\x7c\x14\x8c\xe8\x2d\x2e\x49\xb2\xd8\xde\x95\x8b\x72\x32\x41\x15\x79\x92\x9e\x95\xca\xeb\x67\xbc\x27\xe5\x34\xde\xca\x42\x07\x13\x08\xcf\xc4\xbd\xd3\xce\x05\x40\x2e\x1f\x68\x21\x86\xe8\x73\xdc\xb7\x79\x52\xdc\x3c\x15\x5d\xd6\xe5\x21\x9d\x66\xd7\xf7\x2d\xb2\xec\x4d\xaf\x46\x43\x01\xd7\xb9\xae\x3a\xb7\x89\x0a\xca\xf0\xac\x15\x14\xf7\xca\x0b\xf7\x24\x7e\x5c\xee\xaf\x9f\x05\x85\x29\xfa\xcf\xc5\xf7\xe6\xfa\x5e\x7c\x6b\x54\xf3\xb8\x4c\xd2\x79\x6b\x69\x9c\x93\xad\x99\xa4\xfb\xeb\x67\xa7\x66\x92\x6e\xae\xef\xdd\x9a\x02\x49\x39\xaa\xda\xa6\xf9\x24\x49\xb0\x39\xb0\xfc\x03\x4e\xd4\x2e\xeb\x1c\x27\xcf\x69\xb1\x8c\xad\x1a\x80\x26\xb7\xa0\xa9\xe4\x5a\x68\xc1\xed\x44\xf4\x38\x8b\xf6\x63\x31\x0d\xfb\x10\xa4\xb0\x2b\xf3\xed\x10\x3d\x64\xa6\x51\xfe\x24\x6a\xa8\xea\x59\x84\xac\x73\x3e\x73\x7b\x3e\x2b\x97\x63\xa9\x80\x34\xe2\xec\x47\xda\x34\xf3\x4f\xf0\x91\xdc\xc4\xab\x64\xfa\x1f\xeb\x09\xfa\xe5\x8d\xb4\xec\xde\x08\xda\x76\x34\xa2\x33\x90\x47\xfc\x8e\x55\xbc\xc6\x07\x92\x8f\x08\xd9\xe2\x1d\x39\x2c\x57\x9a\x46\xd2\x43\x5b\xa7\xab\xee\x28\x3d\x5e\xe6\x56\x33\xf8\x5d\x1a\x2a\xc3\xa5\xe0\x52\x2f\xd2\x50\xd9\x59\x1a\xea\xb0\x5c\x71\xa3\x9f\xe3\x46\x31\xb7\x4e\x57\xf6\x03\x9b\x12\x6b\x7c\x1c\x8f\xe3\x8d\x75\x2c\x7e\x84\x87\xeb\x09\xba\x99\x27\xc9\x75\xb1\x12\x24\xd4\x7c\x8d\x70\x3e\x1e\x73\xc5\xa5\x9f\xd4\x99\x4a\xd4\x21\xdb\xb4\xa9\x4e\xda\xa8\xa4\x44\x32\xe7\xab\x64\xbd\x26\xf9\xb2\x58\x25\xeb\x74\x83\x9f\x57\xbb\xd5\x5c\x25\xcc\xd7\x69\x82\xb9\xc3\x90\x3f\x9a\x63\x62\x4f\xde\xb3\x93\x8a\x7d\xb6\x20\x1b\xbe\xdb\x60\x15\x87\xee\xb6\x4c\xb1\x05\xaf\x87\xe2\x3d\x7b\xdc\xc3\x9b\xef\x0b\xa7\x71\xe5\x58\xa4\x7f\xf5\x94\x3d\x82\xa5\x64\x60\xa3\x6e\xa9\xaf\xb5\x27\x75\xe9\x39\xbf\x00\xb0\xe2\x78\x9c\x82\x46\x52\xe5\xe8\xbc\x63\xff\xde\x2e\x0c\x60\x67\xe3\x71\x5c\xea\x18\x73\x24\xe9\xf0\xb0\x1c\x83\x2a\xcf\xb9\xa6\x4e\xc1\xe0\xb5\x1e\x38\xec\x5c\x99\xa8\x37\x8d\xb4\x49\xfe\x8f\xff\x88\x1c\x4c\x59\xfe\x9c\x04\x4c\x26\x00\x6e\x70\x93\x61\x06\x1f\x4a\xa5\x1c\x8e\x39\xcf\xea\x01\xe1\x89\x43\x4d\x9f\xa5\x82\xcd\xc6\x18\x9c\x92\x09\x92\xd8\x0c\x1b\xe7\xa4\xd4\xa8\x07\xbe\xf7\xe4\xf6\x3a\xb6\xa2\x0e\x34\x89\x73\x29\xe2\xd8\xb8\x68\x61\x8f\x8f\x24\xc1\x5b\x52\x18\x01\xc5\x81\x6c\x3d\x01\x45\xd9\x34\x23\xa5\xb0\xd3\xb7\x29\x42\x86\x1b\xf2\x88\x53\x85\x41\x8e\x64\x2e\xd0\xc8\x7c\x61\xec\x5a\xba\x77\xc1\xb1\xc5\x1b\x7b\xf4\x44\x95\xe9\x71\x71\xb9\x5c\xd1\x65\xd6\x2b\x87\xe2\x94\xac\xf7\x41\xb0\xde\x5b\x9f\xf5\xde\xfa\xac\xb7\xce\x8d\x0f\x78\x2f\x59\xef\xe2\x63\x58\xef\xc3\x71\xb7\xfb\x29\xb7\xa5\xba\x28\x32\xbb\x8f\x05\x2e\x2d\x4e\xa4\x33\xe5\xc3\x40\x06\x58\x98\x7f\x92\xe0\x8a\x94\xe0\x00\x23\x27\x1a\xf7\x39\xd8\x55\x22\x41\x8b\x85\x1d\xc2\x2d\xe5\x41\x44\x28\x4b\xf2\xe9\x2c\x45\xff\xc1\xf5\x60\x74\x2c\x4a\x5f\x1c\xf1\x4d\x26\xc8\x28\x73\xce\x04\x9d\x00\xee\x25\xca\x2d\x4d\x0b\xe7\xa6\x36\x7e\x26\xb2\x65\x99\x8a\x91\xee\xaa\xf2\x29\xcd\x96\xb9\x41\xd6\xb9\x1a\xf0\x75\xa5\x06\x9c\xcb\x01\x5f\x57\xde\x80\x73\x77\xc0\x3a\xef\x2f\xaa\x82\xfd\xb8\xae\xda\x56\x20\x15\x39\xd0\x98\x4a\xa5\x82\xbf\x4d\x30\xf8\xcb\xfb\x24\x27\x3d\x4a\xf0\xa9\xc5\xb4\xff\x40\xf2\x1e\x59\xe4\xf0\x86\xc5\x09\x21\x03\x99\xcb\x24\xb5\x67\x55\xdc\x75\x49\x22\x58\x5c\x9f\xab\x7d\x28\xc5\x1d\x2f\x78\x5d\x19\x8a\x1d\xef\xff\x75\xbb\x8e\x37\xe4\xf4\x3e\x8d\xac\x02\x44\x3e\x52\x02\x68\x4b\xe7\xf8\x25\xb5\x22\x1b\x37\xa3\x5d\x14\x6a\x91\x48\x24\x28\x9a\x48\x1f\x51\x32\x9a\xe3\xc2\x1a\xf7\x31\xac\x17\x6c\x24\xef\x89\x42\xcd\x49\xf0\xe1\x2b\x6d\xc2\x85\xb5\x89\xd5\x1a\x17\x1a\xe7\xc2\x93\x24\xf9\x16\x92\xc8\x00\xc4\x4d\x13\x5b\x24\xd8\x21\x0b\x12\x6f\x01\x12\x77\xca\x49\x9b\xee\x45\x5b\x75\x69\xd6\x71\xaf\x81\x71\x33\x7b\xaf\x1a\xd8\x2b\x70\xdc\xcc\x5e\xbc\xa6\xf6\x1e\x40\x8a\xf2\x4e\xd3\x7b\x17\x24\x37\xb3\x97\x56\x0c\x39\x83\xa8\x46\x76\xac\x30\x6d\x31\x03\x7b\x47\xc2\x68\xcc\xe7\x1c\x61\xef\x32\x0d\x4a\xcf\xfd\xd2\x09\x72\x00\xbf\xe8\x05\x7c\xf6\xe3\xcf\x2e\xb3\x0f\x28\x4f\x1c\x69\x72\xd0\x23\x33\xf2\x0f\x92\x0d\xf5\xb5\xb0\x27\x1d\x2a\xd7\x29\xb9\xc6\x1b\xb2\x8a\xb4\x95\x59\xb4\xc6\x47\xb2\xb2\x2f\x44\xfe\xa2\xea\xb9\xcf\x48\x74\x9a\xb2\x2c\x93\xaf\xcb\xd4\x87\x7a\x5c\xb6\xc6\x5b\xe2\x3e\x50\xf1\x9b\x81\x07\x2a\x41\x2b\x7f\x90\x13\x51\x5f\xdf\x2a\x13\xaa\xc3\x2b\xb5\x18\x3b\x42\x35\x94\xdb\xe4\x11\x21\x07\x20\xdd\x01\x6b\x19\x2c\xf0\x64\xb0\x40\xff\x79\x79\x26\x65\xc7\x16\xec\x9e\xec\x96\x55\x9a\xe3\x07\xf2\x41\x87\x64\x61\x20\xf6\x00\xef\x20\x35\x5f\xa0\x1b\x29\x43\xdc\x53\xf6\xe2\x9e\x72\x18\xf7\x94\x01\xee\x71\x8d\x47\x61\x95\xc6\x63\x3b\x86\x65\x5c\xea\xd3\x5f\x97\x4d\xf3\x80\x4b\x71\x80\x35\x2a\xe0\x28\xb5\xf9\x21\x76\x38\x2c\x1f\x52\xc1\xec\xc9\x0a\xa2\x76\x6c\xce\x97\xcc\x03\xb5\x04\x5c\x51\xa7\xf7\xa9\x6c\x47\x3b\x8f\x36\x5e\xb6\x5f\x74\x86\x74\x4c\xad\xa3\x5c\xe1\xba\x94\x95\xea\xb2\xb7\x4a\x5d\x06\x15\x5a\x1c\x47\x0f\x25\x84\x53\x7d\xd4\xfb\x2a\x7e\x23\x50\x20\x42\x0f\xef\x05\x76\x14\x35\xdf\x8f\xc7\xf1\x3d\xb9\xd7\xf4\xca\x51\x4c\x02\x26\xe9\x41\x96\x35\x29\x8b\x4b\x7c\xc4\xba\x11\x55\x56\x4d\xfc\x7c\x0d\xd1\x17\x94\x03\x4d\x25\xd4\x7f\xd1\x83\x78\xf1\x07\xb1\x7d\xc5\x20\xb6\xa6\x91\xd7\x0e\x62\x2b\x07\xf1\xa2\x06\x81\x70\x1c\x6d\xca\xa2\x56\xaf\x71\xc3\x85\xba\xb0\x4e\x1b\xa4\x7f\xed\x5f\x31\xd8\xcd\x07\xaf\xd8\x26\x58\xb1\x8e\x36\xe2\xfe\x75\x4a\x3a\xad\x58\xb3\x88\xcf\x88\xe8\xe0\x9d\xb1\x1a\xcd\x93\xb2\xd1\xd6\xed\x38\x16\xd3\xf1\x13\xe6\x7a\x8a\x10\x87\x2e\xf6\xee\xfa\x69\x70\xfa\xd0\x75\x61\x66\x29\x83\xbd\xc5\x2e\x01\x30\xf5\x4f\xa4\x28\x2d\x37\xa4\xbf\xe9\xda\x6b\x5d\xb7\x5d\x97\xfd\x2d\xd7\x6e\xe3\xd0\xb4\x5e\x00\x3d\xcf\xb3\x5b\x1e\x1f\xc9\x51\xef\xea\x2a\x92\x16\xc2\x12\x7b\xcb\xdf\x1a\x79\x23\x0b\x04\x78\x4b\xb6\x61\x15\x85\xaa\xe5\x87\xc2\xd4\xe0\x31\xc3\x9e\x31\x1f\xd0\xe5\xab\xb6\x15\x9c\xdd\xf5\x40\x88\x0b\x37\x9c\xeb\xc9\xc4\x5e\x0d\xd0\x23\xeb\x45\x8f\x61\x88\x56\x07\x3d\xb2\x80\x20\xdf\xc1\x2b\x0d\x17\xd0\x18\xde\x23\xcc\x24\x7c\x87\x24\xe1\xb5\x01\x6a\x8f\x32\xbc\xb6\x07\x73\x88\x40\xb4\x35\x07\xe8\x44\xd3\x46\x8b\x99\x4b\x45\x39\x5d\xc3\xe9\x08\x3b\x96\xe7\xdb\xeb\xd6\xaf\xe0\xf5\xe7\xd6\x6a\x71\xdf\x89\x67\xe7\x4f\x36\x73\x71\x21\x53\x30\xc6\xce\x9d\x6c\x66\x71\x21\x1b\xc6\x85\x17\xbb\x75\xb0\xdf\x2b\xbb\x35\xd8\x4f\x75\xcb\xa4\xa1\xb3\xa9\xac\x19\x62\x91\x8d\x5d\x99\x46\x8f\x7c\xca\x03\x13\x2d\xb1\x10\x90\xd2\xa2\x16\x94\xcb\x46\x60\x22\x1a\xfb\xe9\x32\x13\xc1\xdd\x94\x0e\x41\x2a\x88\x05\x5f\x26\x50\x7a\xf4\xab\x43\xdc\x1e\x2e\x68\xd8\xef\x11\xde\xc1\x45\x6e\xac\xe9\x9f\x97\xe5\x79\x93\x72\x8d\xad\xa4\xc4\xdd\x60\xa3\x16\xac\x90\x3a\x86\xef\xa1\x0d\xa4\x6c\x3c\x34\x74\x93\x4c\xa2\xb5\x77\x17\x9c\x9b\xe0\x15\x97\xa6\x79\xd3\xad\x76\x02\x02\xd6\x43\xe0\x70\xa2\x98\x44\x87\x97\x28\xe5\x13\xf9\x43\x6e\xc2\xcf\xa8\xa1\xe5\xfb\xec\x87\xcb\x42\xa5\x9f\x22\xe6\xbe\xa0\x98\x35\x74\x6c\xc8\xb7\xca\x76\x73\x4f\xf9\x79\x9b\xe0\xbd\xb5\xbc\x79\x83\x37\xe4\xf6\x7a\x3f\x99\xe3\xa3\xeb\xc8\xca\x11\x4c\x01\x12\x57\xaa\xda\xca\x51\xe7\x56\xbe\x3a\xf7\xe0\x96\xd1\xea\xdc\x0a\x4c\x05\xf0\xa3\xf8\x47\x49\xbd\xad\x7c\xeb\x9e\x3c\xbb\xf2\xad\x8f\x55\xed\x82\xce\x3f\x3e\xb8\x4a\xd5\x1c\x3f\xea\x44\xad\x7d\x45\x93\xdb\xeb\x1c\x3f\x75\xcb\x8a\x64\xd7\x3c\xe0\xe8\x08\xb9\xfa\x45\x67\x8f\x6e\x19\x47\x82\xed\xa4\x2e\x2e\x95\xde\xe1\xe3\xcd\xad\x93\xde\x11\xa6\xfd\x8c\x7a\x5c\x84\xef\xef\xe6\xe3\xf1\xb3\x2f\x87\x7b\xf6\xe5\x70\x3a\x37\xbe\xc7\x9b\x9f\x20\x87\xe3\x39\xeb\x57\x5b\x7d\xec\x51\x08\xd5\x2b\x97\x8e\x82\x92\xce\xfe\x4b\x6d\x14\xf0\xb1\x47\x77\xe3\xc3\xeb\x47\xdb\x1b\x9c\x81\xf4\x61\x9d\x8f\xb1\x50\xd8\xe3\xcd\x52\x3e\x0d\xe2\x68\x19\x4d\xa3\x09\x4f\x7d\xbb\x04\xd7\x1e\xe1\xff\x8b\x76\x08\xf0\xa2\x6d\x47\xab\x4b\x32\xc6\x58\x30\xa1\x20\xef\xdd\xb1\x17\xe9\x27\xaa\xe8\x70\xed\x25\xa9\xb5\xe2\x1b\x57\x24\x5b\x96\x33\xe9\x53\xff\x6d\x79\x88\x51\x9a\xe0\xdc\x49\x13\x44\x2d\x24\xee\x49\x61\x95\xfb\x1b\x22\x43\x59\x43\x40\xe9\x4a\x5e\x88\x7b\x19\x93\x39\xd7\x9a\xe9\x62\x06\x71\xd8\x7f\xef\x93\xaa\x2a\xd5\x30\xe6\x47\xc2\x6d\xb3\x5b\xfd\x14\xf0\x0a\x1c\x1f\x90\x5f\x39\xca\x72\xbd\x02\xbf\x72\x9e\x09\x6a\x2d\xbe\xf7\xd8\xce\x51\xb6\xd3\x19\xb4\xf3\xa7\xec\x49\xc5\x2a\x86\x51\x1f\xdd\x51\x1f\x83\x51\xf3\xde\x51\x73\x6f\xd4\x36\x26\x58\xb6\x54\xeb\xec\x99\xef\x1a\x80\xdb\x5c\x22\xa8\xb6\xd6\xd8\xe3\x92\xf6\xce\x89\x9f\xfb\x44\x8b\x63\x5f\xe8\x5c\xf5\x28\x54\x3d\x45\x4b\xa3\x4f\x8f\xf9\x9d\x48\xcd\xb3\xf7\xe9\x9b\x24\xb1\x11\x74\xd9\x06\xfe\xf0\xe3\x83\x68\x2a\x8d\x8e\x6c\x2a\x92\xa6\x9b\xac\xca\xea\xe9\x7c\x4a\xa3\x16\x8b\x1c\x9e\x46\xc7\x3c\xb2\xd3\x3d\x3d\xbd\x97\x18\xe4\x0a\x90\x5b\x56\x2b\x4b\x67\xf8\x6c\x71\x55\xe6\x34\x8d\xe4\xe8\x1e\xf2\xa3\x8c\x86\x8b\xe1\x91\x9a\xfc\xc9\x69\x4e\x37\xf5\x70\x90\x5c\x15\x3b\x46\x90\x5c\x7f\xa4\xc5\xd1\x0b\xdf\x21\x1f\xb2\x40\x7c\xa0\xdf\x67\xc5\x36\xa7\x5b\x13\x13\x46\x87\x8d\x38\x16\xec\x9f\x47\xfa\xd5\x36\xb4\xb7\x10\x23\xba\x3a\xb2\xa9\x5c\x42\xfb\x6b\xaa\x78\x42\x91\xb2\x29\xab\x82\x56\xd3\x2c\xcf\x23\xe4\x7a\x01\x30\x0d\xc0\x0a\xf1\x08\x8f\x46\x75\x37\xa0\xe1\x4c\xad\x60\x84\x74\x68\x69\xe9\xc0\xe3\x04\x4b\xe2\x85\x26\x11\x29\xb8\xce\x1e\xe4\x2b\xca\xa4\xd5\xb1\x67\x20\x3a\x57\x34\x91\x8d\x3f\xd3\xa2\x16\x50\x0b\xee\x64\x31\x44\x55\x7d\x79\xef\x03\xc4\x40\x2c\x1e\xf0\xe9\x42\x8b\xfa\x0b\x09\x0b\xb1\x8a\x01\x8c\x82\xa8\x7c\x41\xf4\x9e\xde\xe8\xb7\x82\x34\x76\x03\xc9\x2a\x9f\x24\x59\xc5\x32\x9b\x8a\xa3\xba\x3a\xd2\x48\x47\xea\x2b\x8b\xf8\x64\x83\x38\x5d\xcd\xcc\xe2\xd5\xf4\xe9\xea\xee\x2a\x8b\x52\x1f\xaa\xbb\xa3\x95\x0b\x01\x35\xfd\x01\x7c\x70\x75\xd3\x71\xba\xcf\x78\x9c\xa1\xa8\xef\x6d\x93\x40\x98\x59\xf5\x48\x6b\x34\xdb\xe4\x25\xa7\x5c\xc5\xa0\x34\x95\x23\xb4\x18\x75\x40\x6f\x3c\x66\x36\x5c\x65\x67\x9d\x4c\xf8\x17\xe9\xe2\x05\x80\x3e\xa6\x08\xd3\x19\xe3\xdf\x54\xe5\x21\x7b\x04\x8c\xf0\x5d\x5d\x1e\x0e\x74\x1b\xa3\xa6\x89\x7b\x80\x3b\x11\xdc\x99\x18\xb9\x19\x8f\x69\x5a\xbd\xeb\x03\x2f\x67\x31\x45\xa9\x0f\x92\xa0\x49\x85\x53\x17\xc1\x43\x51\xe9\x40\x45\xa1\xc8\x55\xb2\xf6\x5f\xac\xf6\xcc\xbb\x33\x05\xdd\xb2\x89\xc3\x28\x5b\xc7\xab\x91\x71\x6a\x23\xdb\x1c\x8f\x8d\xff\x5e\x99\x60\x83\xee\xf4\x34\xbe\xc9\x69\x56\xbd\x65\x4f\xb4\x3c\xaa\x51\x0a\xe2\xbd\x82\x48\xa5\x12\x88\x40\xf6\xec\x6f\xe6\xd0\x2e\x2a\x0f\x5e\x6f\xe5\x66\x2e\xd8\x8c\xb3\x87\x9c\x15\x8f\x3c\x46\xc6\x95\x90\xbb\x5f\x72\x7c\x11\xea\x04\x54\xf6\xb3\xe5\xec\xe4\x43\x5b\x08\x16\x83\x61\x60\x39\xcd\x9e\x69\x1a\x6d\xca\x3c\xcf\x0e\x9c\x7e\x96\xe7\x91\x1a\x32\xe4\x98\x21\x47\x41\x19\x89\x0c\x7b\x7c\x11\xb8\x8b\xd6\x34\xde\xaa\xfb\xa3\x77\x00\x73\x46\xff\x19\x27\x68\xa1\xcb\xcb\x41\xd6\x30\x48\x40\xbf\xee\x42\xd5\x2a\x78\x56\x9e\xbd\x8f\x3d\xc7\x47\xe6\x6d\x71\x1d\xc4\xe9\xba\x00\x36\xaa\x53\x67\x76\x31\x05\x77\x3b\x3f\xd0\xf7\xe2\xec\xa7\xd1\xbd\xfa\x15\xe9\x30\xfc\x2a\x38\x4f\xec\x20\x0b\xaf\x13\x7c\x82\xc3\xeb\x8f\xfb\xdc\x01\x35\xb0\xd4\x3b\x98\xde\x1b\x03\x3c\x08\xf6\x85\xf2\xae\xbb\xb1\x49\x3f\xb3\xf8\x4e\xce\x7d\x4b\xf9\x86\x16\xdb\xac\xa8\x23\xe4\x60\x7e\x35\x14\xe3\x9b\xaa\x03\x52\x1f\x76\x01\x5d\xf9\x37\x0e\xf2\x46\x23\xae\x8f\x20\x49\x5f\x26\x41\x32\x8c\x3b\xcf\x1e\x68\x9e\xd3\xed\xc3\xfb\xbe\x5c\x89\x41\x00\x67\x75\xf2\x8c\xb8\xb8\x93\xe3\x60\x3a\x99\xf7\x67\x7b\xef\x6a\xb6\xb6\xff\x8a\x74\x61\xb7\x6f\x8d\xfc\xbc\xc1\x09\x87\xa3\xb0\x07\x24\xeb\x1b\x53\xd8\x93\xbf\xd2\xf2\xb8\x43\xcc\xd9\xd7\xad\xeb\xd0\x80\xf6\x19\x3f\x94\x87\xe3\xc1\x1d\xd0\x60\xd8\x62\xe5\xa1\x8c\x4a\xe7\x28\x66\xfe\x8a\x22\x93\x84\x98\xc0\xde\xd4\x10\x88\xed\xf9\x55\xdd\xb2\x67\xb6\x75\xa6\x10\x2c\xac\xca\xee\x82\x1e\xc4\x87\xd7\x47\xd6\x3d\x78\x8e\xf3\x45\x37\xe0\xbb\x72\x53\x10\xdf\xac\xbe\x9f\x7e\xbf\xfa\x7e\x7d\x6a\x63\x74\x3d\x59\xce\xf0\xf7\xdf\x7f\xff\xf7\x7f\x6b\x7e\xf1\x3d\x5f\xdf\x3c\xe2\xe8\xfb\xef\xff\x6d\x1c\x49\x8b\x65\xe3\x0f\x0a\xe7\x64\x94\x68\x8f\x2b\x74\xf6\x03\x7d\xff\x79\xb9\xa5\xd2\x1d\xca\x15\x84\xe9\x52\x49\xb3\x6f\x3e\xfb\xcf\x2f\xef\xff\xfc\x8d\x75\x52\xc7\xca\x23\xff\x26\x7b\xa4\x31\x45\x8e\x5b\x94\x9e\x4a\x5f\x7c\xfd\x97\x3f\xc9\x6a\x05\x7d\xa9\x2f\x55\xf9\xfd\xd7\x7f\xfc\x52\x96\xbe\x87\x45\x8e\x76\xac\xe2\x82\x3b\x57\x7f\xcf\x54\xfd\xf2\x4f\x5f\x78\x35\xf3\x0c\x2a\xca\x3f\x67\xea\x85\xb3\x3a\x37\x3c\x7f\x32\xe7\x4a\xfe\xe1\xcb\xdf\xbd\x4d\x3d\x14\x78\xae\xf4\xb7\x5f\xfd\xe7\xef\xdf\xa6\xde\xb5\x3d\x72\xef\x6c\xfd\x16\x33\x24\x6c\x34\xb1\xa8\xe9\x8e\x33\x8b\xf3\xf6\xcb\x6f\xd3\x6e\xfa\x77\xdf\x7c\xf6\xb9\x5e\x70\x1d\xc5\xf1\x6c\x3b\xdf\x7d\xfe\xd9\x37\x5f\x0e\x4d\x4c\xfb\xc0\xc9\xc1\x12\x84\x78\xcb\xfa\x3b\x70\x67\x08\xbe\x04\x33\x22\xfd\xdd\x82\xa4\xf8\xf3\x7d\x56\x89\xa6\x1d\xf8\xc3\xa5\xa8\xdf\xa5\x45\xa4\x47\xc4\xb7\x40\x91\xe0\x4c\x30\xd2\xcb\x92\x8c\x92\x34\x23\xc5\x24\xc3\x15\xf9\x96\x3e\x7e\xf9\x72\x88\xa3\xbf\x47\x13\x16\x67\x08\x47\x2c\x02\xdb\x56\x9f\x87\x39\x73\x7b\x0f\x06\x1c\xac\xe4\x93\x59\x85\x24\x02\xf4\x56\x0b\x50\x90\xd1\x2e\x49\x39\x1e\x4f\xe7\x23\x42\xb8\x7c\x5f\x1f\xbb\x9b\x58\xc8\x72\xcb\x30\x4d\xdc\x8d\xe1\x50\x52\x8e\xb9\xb9\x49\xe3\x8b\x0b\xf6\x3f\x3f\x77\x64\xc6\xab\x42\x97\x6b\x02\x8d\xdb\x9c\xbb\xb9\xca\xf3\x61\x82\x64\x38\xdc\x5e\x32\x40\x1c\x6d\x69\x4e\x6b\x7a\xd5\xd3\x48\x8b\xe7\xf4\x0d\x42\xe9\x70\x89\x73\x79\x6d\x2e\x10\x7b\x97\x77\x31\x67\x22\xed\x70\x7a\x17\x4e\xa6\xe6\x20\x54\x31\x67\xd5\x56\xde\xdd\x44\x7e\x25\xb8\xb5\x5f\xad\xfb\x39\x89\x5a\xf9\x08\x51\x1c\x4b\x8d\xc0\x0d\x0e\xd0\x6c\x9d\x70\x13\x98\xf9\x11\x37\x81\x56\x99\xa9\xfb\x4b\x83\x82\x77\x57\x79\xc5\x41\xba\x80\x16\x3e\x77\xf1\xd3\xb9\x6e\xac\xf7\x35\x8e\x52\xc1\x9f\x69\xb0\x43\xa1\x53\xa9\x0f\x16\x09\x48\x49\xdf\x79\xae\xde\x23\x9c\x52\xc9\x18\xe3\x80\xd2\x4a\xa3\x5d\x96\x73\x90\x12\x9d\x25\x0d\xa4\xd3\xa7\x8a\x3e\x03\xe4\x83\x68\x2f\xfa\x94\x1f\xb2\xa2\xe3\x1f\xcb\x2c\xd3\x95\x5a\x8e\xab\x68\xc2\xd0\x59\xc2\x02\x8f\x12\x78\x3f\xd1\x43\xbc\x68\x7e\x1e\x02\x65\x42\xb0\x44\xc1\xb7\x66\xbd\x14\x25\xd6\x4d\xb0\x6d\x04\x18\x89\x12\xe9\x74\xd6\xdd\x2b\xf0\xb1\x64\xe0\xd1\xdb\x15\x40\x06\x48\x73\xe7\xbd\xd3\x92\xd8\x22\xb3\x84\x17\x8e\x0e\x15\xe5\xb4\xa8\x33\x29\xcc\x0c\x30\xc4\x90\x08\xc8\xdb\x4b\xb9\x89\x46\x06\x33\x9d\x63\xbb\xa1\xf7\xa2\xcb\x6f\xcb\x5c\x52\x5c\x17\x86\x3e\xa0\xb3\xb7\xf4\xdd\xcd\xea\xef\xdf\x4f\xbf\x3f\xde\x26\xf3\x5f\xc3\xbf\x6f\x04\x79\x24\x31\x1c\xd5\xd8\xac\x69\xa8\x3f\xd6\x2e\x24\xfa\x14\x5e\x30\xae\x5e\x11\xc4\x65\x51\x8d\xbd\xf9\x2f\xb0\x80\xb2\xe0\x2a\x59\xeb\xfb\x5f\xf0\x96\x80\xae\xf4\x52\x75\x83\xa4\x9c\xa4\x5c\x51\xfc\x0b\x5b\x88\x73\xc6\xeb\x87\xf2\x25\x8d\xe4\x81\x89\xda\x55\xe7\xf8\xac\x5b\x7c\xcf\x69\xfd\x35\x24\x05\x2c\x72\x24\xd1\x00\x81\x70\x35\x67\x99\x0b\x89\x0e\x5c\x1a\x78\x18\x4d\x79\x92\x62\x9d\xa6\x78\x53\x7e\x3c\xd0\x0a\x3a\x6f\x87\x99\x76\xcc\x17\x76\x45\x6a\x5c\x8f\xc7\x4a\x32\x42\x74\x94\x01\xd3\x1c\x08\xd3\xbf\x2a\xea\xf2\xbf\x18\x7d\x67\x98\x53\xb9\xb6\x84\xce\x80\xe0\x8c\x83\x3b\x34\x80\xed\x1e\xe1\x9c\x92\xf2\xe0\xce\x62\x86\x72\xbd\x33\x9c\xac\x7f\x8a\x71\x57\x78\x13\x0f\x8b\xc6\xdc\x11\xa6\x92\x68\xee\x1d\xa7\x95\xa6\x8c\xc7\x91\x16\x0b\x98\x45\x52\x01\x31\xa0\x93\x58\xdd\x41\xf5\xb9\x8b\xd9\x2b\xdf\x2a\x49\x85\x28\x84\x30\x23\xe1\xd9\x90\xdc\x39\x66\x46\xec\x54\x8f\xc7\x37\x7f\x07\xb1\x80\x3a\x8a\x6a\xab\xd4\x9a\xdd\x83\x4f\xe6\xaf\x0f\xb4\x60\xc5\x63\xcc\xbc\x15\x01\xa9\xb4\xe3\x8c\x4f\x56\x08\xc5\x62\x35\x3e\x81\xd8\x91\x82\xac\xc1\xdf\xfa\xae\xf4\x0a\x1b\x06\x49\x02\xd3\xfd\x3e\xe3\xdf\x41\x9d\x58\xfa\x78\x75\x43\xfe\x4a\xaf\xc7\xfe\x80\x20\xb4\x74\x60\x99\x2a\xfd\x94\xf0\xd7\xd5\x75\x0c\x56\x65\x3d\x70\xb1\xaf\x94\x32\xa0\x2c\x09\x09\x3b\x2f\x93\x4d\xb9\x0e\xb5\xed\x14\x71\x54\x4a\xb8\xec\xe4\x1a\x03\xa6\x8a\x58\x17\x8b\x38\xb9\x2b\x96\xc3\xed\x64\x93\x02\xa5\xc5\xa4\xba\x2b\x4d\x94\xf9\xfe\x52\xd3\x72\x52\xa1\x8e\x10\x4c\xc6\x76\x6c\x9a\x21\xa9\xa3\x8f\x16\x87\xe8\xa9\x41\x81\xa1\x77\x14\xd5\xb9\x96\x01\x84\x7c\x18\x11\x83\xb2\x20\xe2\x94\x86\xc0\x63\x1e\xf0\x79\x64\xe0\xe0\xb0\x25\x56\x87\xc3\x94\x75\xc5\x37\x7a\x26\xaf\x3f\x4f\x5a\x38\x77\xa0\xa2\x5f\xef\x74\x89\x01\x8a\xf4\x3e\x11\xac\x71\x00\x58\xee\xbc\x59\xf9\xb8\x49\xab\x92\xd0\xe2\xfc\x36\xf4\xa3\xf7\x08\x81\xd4\xbd\x57\xaa\xec\x93\x68\xde\x22\x98\x8b\x8f\xea\x97\x61\xc3\xd2\xae\xac\x47\x3a\x66\x69\xa2\x52\x9b\x55\xa1\x16\x3b\xc2\xc6\x20\x90\xf9\xf9\xa9\x9d\xdd\x09\xa9\xd0\x65\x4b\x77\x11\xd2\x3a\xa6\x82\x61\x08\xc5\xa0\x67\x17\x0a\x2d\x1c\x8e\xce\x27\xc7\xf5\x0e\xcb\xfd\xe6\xea\x13\xee\x30\xda\xc5\x76\xdc\x83\x80\x16\xcb\x6a\x3e\x87\x22\xd8\x0f\xf7\x88\x2f\xfb\x2e\x91\x34\x18\x43\x77\x6f\x2f\x6e\xe0\xc0\xee\x48\x8a\x1a\xcd\x04\xf8\x69\xb9\x6c\xf6\xc1\x92\x7e\xbb\xa3\x3d\x81\x63\x3c\xdc\xf0\x21\x57\xa4\x07\xce\x68\x01\x1b\xe9\x2b\x57\xfc\x73\xa7\x85\xf8\x54\x1c\xb6\xc1\x38\x36\x83\xc3\xe9\x5e\x7d\x57\x51\xa8\xff\xf0\xf9\x70\xa0\x3b\x7a\xc7\x05\x18\xc0\xce\x50\x83\x4d\x3f\xf6\xb0\xe3\x06\x3c\x56\xd0\x97\xba\xcb\xc5\x2a\x59\x99\xc8\xb4\x42\x36\x81\x63\x34\x7f\x3c\x58\x45\x14\x30\xe2\x35\x51\x83\x71\x78\xb4\xfc\x95\x40\xa2\x5d\x29\xc2\xb0\x6c\x4b\x34\xd4\x27\x02\x51\x93\x17\x0d\xff\x21\xfb\x88\x76\x87\x44\x2b\xa6\x5d\x98\x88\x77\x1b\x19\x03\x8e\x85\x7f\xf3\x70\xa2\x96\x46\x7a\x01\x94\x93\x26\x26\x88\x87\xa2\xc7\x9d\x32\xcb\x48\xcd\x0a\xfc\x8b\xc0\x38\xa2\x75\xaf\xb6\x68\x3a\x47\x2e\x72\x5e\xd5\x93\x68\xb8\x30\xbc\xfe\x19\x8f\xb9\x25\x9c\xf6\x8e\x8a\x2a\xfe\x00\x71\xcf\x8a\xae\x0d\xfc\x48\x40\x01\x07\xab\x58\xcb\x68\xfb\x89\xa2\x45\x77\xd1\x95\x44\xc7\xee\x91\x55\x9e\xba\x64\xd3\xd2\x1f\x9c\x47\xae\x68\x49\xa1\x46\x9c\x86\xf8\x78\xd5\x6e\x86\xec\x9e\x76\xba\x69\xd8\xf6\xe4\x8e\xf9\xd4\x11\x9f\x16\x6d\x47\x8b\xa8\x76\x41\x27\xbc\x7e\x21\xdd\xb5\x90\x80\x91\x2a\x40\x10\x2b\x8c\xb0\x89\x10\x87\x52\xb9\x2c\x4a\x72\xec\x64\xd8\xd3\xf6\x71\x4b\x6f\xce\xdd\xbf\x68\xed\x07\x4f\xe8\xc5\xb5\x0f\x57\x7e\x52\xdc\x25\x3f\xdf\xda\x6b\x5c\xf9\xda\x55\xb6\x8b\x32\x84\x48\xf4\x32\x78\x66\xfa\x9f\x7a\x59\x87\xaa\x3c\xc4\x91\xa4\x6e\x95\x6d\x1d\xb8\xc9\xcf\x3d\x1f\xcb\xd4\x93\x12\x06\xaa\xe4\xd7\x58\x38\x28\x97\xee\x1d\x92\xd4\xc5\x4c\x03\xb6\x08\x7d\xaa\x57\x0c\x06\x7f\x3e\xdd\x2b\xc7\x1c\x01\xda\x6b\xdb\x01\x67\x9a\x82\x44\xf7\x4c\x9d\x0e\x55\xf9\x58\x51\xce\x1f\xb2\xaa\xcf\xe2\xc9\x58\x34\x41\xc8\xf9\x24\xc1\xcf\x59\x7e\xa4\x69\x82\x37\xfb\xac\x78\xa4\xd2\xea\xc8\x98\xf1\x49\xbb\xa3\x27\x70\xff\x3e\x64\x7d\x54\xe6\xdb\xff\x12\x6d\xf8\xd2\xcd\x67\x9b\x74\xbf\x29\x0b\x5e\x57\x99\xd8\x65\x28\x19\xaa\x3b\x3d\xf6\xd7\x19\xff\x07\x89\x1b\x1d\x39\x63\xe4\xad\x81\x24\x7e\x60\x3c\x4f\xac\x50\xd1\x66\x9f\x98\xc1\x31\x90\xf3\x05\x7b\xee\xb1\xa4\x73\xda\x91\x0d\x38\xe3\xd8\xd3\x4c\xa9\x07\xd5\x30\x72\xba\xab\xfb\x4c\xed\xfa\x08\x49\x25\x23\x56\xab\xf1\x6a\xf5\xfa\x4f\x5f\xa5\xd7\xa8\x65\xcd\x52\x0d\xe6\x65\xbd\x9a\x73\xc8\x2b\xc0\xe8\xd6\x5b\x58\xab\x90\x55\xc0\xd6\xe7\x5e\xd7\x86\xf9\xf4\x20\x28\x8d\x5f\x0f\x55\x03\xab\x0b\x02\xa9\x4e\xe9\xc1\x41\x40\x20\xe7\x6e\xa7\xaa\x6d\x56\x6c\x69\x4d\xab\x27\x56\x64\x35\x25\x35\xf8\x0c\xc7\x3a\xfa\x89\x09\x4e\x22\x23\x44\x27\x7d\x75\x96\xa3\x79\x6a\x42\x04\x7b\xdd\x3c\x65\x2f\xd8\x84\x13\xd6\x40\x8a\x6b\xc9\xe3\x6a\x29\x5f\x37\x08\x3d\x25\xb5\x1c\xe1\x42\xab\x4f\xe4\xa7\x2f\x95\x0b\x04\x5e\x67\xd7\x91\x0e\x42\xe9\xa0\xb0\x51\x40\x84\x14\x35\x6a\xc7\xc7\xde\x24\x28\xea\x13\x12\xde\xab\xb7\xf7\xde\x9d\xea\xe3\x7b\x7f\xe9\xe0\x75\x7b\x92\x5c\xf7\xc0\xc4\x54\xf7\x85\x6e\x3a\xab\x6a\xf3\x5a\xec\xcd\xa9\x1b\x11\xbc\xdb\xb0\xd6\xda\x38\x83\x8d\x95\x16\xc6\xc0\xb7\x54\xc3\xc4\xdd\x11\x37\x0d\xbd\x33\x9d\x77\xb4\x35\xea\x60\x2a\xfb\x76\xaa\xcd\xc0\x9c\x91\x23\xf5\x4a\x8d\xcd\xea\xf2\x77\xec\x85\x6e\xe3\x44\x87\x14\xdf\x9f\x51\x03\xb9\x68\xcb\x1b\x4f\xd4\x03\x90\xbd\x40\x1a\xf7\x20\x9f\x33\x27\xbd\x7c\xa6\x55\x9e\xbd\xff\x82\x3d\x6b\xfa\xc6\xa6\x5c\x40\xab\xaa\xe0\x20\xe2\xd4\x8b\x8c\x90\xa6\x1c\x3c\x09\xed\x29\x40\x4b\x69\xe7\x48\x05\x23\x4e\x69\xdb\x19\xb4\xe6\xdf\x6c\x8a\x35\x32\x0e\x67\x03\x31\x9a\x74\xb2\xba\xf9\x46\x0a\x6d\x78\xb7\x21\x0d\xaf\x73\x79\xc1\x46\x08\xf5\x6e\xb5\x16\xa5\xda\xe2\xea\x0e\x8e\x86\xef\x7e\x2f\x50\x84\x45\x63\xe6\x6d\x94\x72\x79\x91\xb4\x7d\x96\x29\xa3\x20\x70\x08\x14\x46\xad\x47\x4b\x54\x94\xb3\x1f\x33\x70\xd6\x06\x56\x06\x20\x02\xee\x21\x2a\x64\x95\x2f\x9f\x69\x51\x7f\x53\xd1\x1d\x7b\x49\x23\xa8\x4a\x1d\x7a\x23\xcb\x79\xf9\x2d\x24\xa6\xa3\x39\x56\xf6\xde\xce\xcf\x2f\xf4\xf3\x82\x88\xc3\xeb\x5b\x95\xfc\xa5\x7c\x61\x10\xf1\x77\xac\x78\x8c\x70\xc6\x0f\x74\x53\x7f\x2b\x4a\x42\xdd\x63\x5d\xfe\x9e\x6d\x95\x67\x66\xd0\xc9\x80\xfc\x67\x34\xc7\x8f\xfb\x92\xcb\x1f\x15\xdb\x8a\xbf\x7b\xb0\x68\xe3\x69\x44\x31\xc7\x9c\x46\x78\x4f\xf3\x03\xad\x44\xd6\x53\xf6\xa2\x1e\x41\x02\xf9\xf3\x94\xbd\xc8\x77\x8f\xf2\x8b\x15\x2a\x73\x9e\x88\x0f\x15\x51\x33\xd1\x61\x5d\xfe\x23\xc1\x72\xb2\xca\x62\x1b\xc2\x26\xaa\x9f\xe5\x61\xd8\x74\xdb\x04\x9b\xd7\x9e\x1f\xf6\x8c\xe3\xca\x03\x8c\x05\xdb\xc5\xc3\x94\x92\xdd\x1d\xc7\x07\x3f\xb4\x72\xba\xf7\xd6\x69\x54\xcd\x9c\x6f\x6f\x0d\xfd\x1c\xe9\xcc\x20\xcb\xb5\x3d\xbc\xdb\x37\xbe\x17\x94\x75\x59\x89\x81\x65\x79\xfe\x5e\xee\xa5\x2a\xc9\xd3\xd5\x1a\xdf\xab\x05\xad\x66\xf2\x47\xd3\x54\x33\xd8\x05\xf1\x43\x6d\xe7\xd2\x66\x7a\x53\x98\xca\xd4\x48\x2e\x97\x8f\xdf\x56\xc9\x7a\x56\x94\x5b\xfa\xa7\xec\x89\xce\x9e\x20\x60\xd0\xcd\x26\x2b\x9e\x33\xde\xd4\xf4\xa5\xce\x2a\x9a\x35\xac\x38\x1c\xeb\x46\x52\xcc\xcd\xc3\xb1\xae\xcb\xa2\x61\x4f\x8f\x37\x0c\x85\x16\xb9\xe0\xb7\xb0\x8b\x93\x94\xf7\xf4\x5f\x5d\x41\x40\x2f\xf2\x2b\xf3\xb8\xe6\x4a\x4a\xd4\x16\xbf\x1a\x72\x73\xe8\xb5\x1e\x3e\x1c\x91\x8f\x21\xba\xbc\xcb\x5f\xfc\xa0\x49\xc3\xcc\x0d\xbc\xa3\xec\x76\x51\x97\x87\x08\xc9\xf7\x18\xdd\x4c\x78\x9e\x24\x9f\x36\x3a\x79\x3e\x23\x69\xa4\x70\x46\xeb\xed\x1e\x76\xb7\x64\x4f\x81\xa0\xe5\xaf\xb8\x7a\xa7\x43\x46\x09\xee\x0c\xe7\x64\xdf\x7a\x2b\xec\xec\x43\x99\x1c\xb3\xf3\x20\x1c\x61\xf3\xa0\xfc\x62\x05\xd0\xc0\x60\xe7\x01\xf9\xc5\x1a\xf2\x99\xb9\xae\xa3\x42\xec\x5e\xaa\xa4\xde\xb3\x1b\x93\xc2\xbe\xa2\xee\x3c\x13\x67\x0a\x89\x37\xbc\xc4\xef\x38\x09\x5b\x94\xc7\x0a\xc2\xe9\x92\xe1\x51\x29\xec\x7a\x66\x34\x06\x01\x4b\xef\x6d\x9a\xfe\x3a\x77\x86\xad\x57\xd6\xfe\xf9\xd9\x57\xbe\xea\x09\x30\xfe\xb1\x84\xf0\xc4\x5b\xc6\x0f\x79\xf6\x3e\x8d\x1e\xf2\x72\xf3\x43\x64\x00\xef\xcc\x2a\x5d\x5c\x71\xbb\xd6\xbd\x63\x36\xc2\x31\x85\xd5\x49\xa5\x7f\x09\x0a\x44\x32\xdd\x0e\x72\x81\xac\x40\xb2\xac\xed\x79\x4e\x45\x1a\x14\x2f\x22\x4c\xc3\x34\x1a\x61\x1e\xa6\xf1\x08\xbf\x0b\xd3\xde\x45\x98\x77\x2a\x8b\xdb\x86\x77\x8a\xf2\x77\x11\x2e\x3a\x65\x0b\x1a\xe1\xa2\x53\xb6\x78\x17\xb5\xe6\xe6\xf2\xa7\x3e\x93\x04\xfc\x71\x53\x97\x15\x21\xca\x12\x0d\x5c\xbf\x46\x82\xe7\xd3\xb4\x86\x2a\xad\xd1\xa1\x5e\xb7\xa8\xc0\xa2\xd5\x77\x98\x53\xcc\xdf\xe1\x82\xe2\x42\x90\x75\xd4\xab\x04\x2f\x42\xeb\x38\xc2\x41\xd7\xe4\xd4\x62\xe6\xc6\x4c\x64\x0b\x36\x99\x20\x4e\xe0\xe1\xc3\x93\x0c\xfd\x8b\x33\xe2\xa3\xfa\x68\xc2\x95\x75\x8e\x8f\x82\xc3\xfd\xba\x8a\x26\xd9\x24\xb2\x78\x57\x79\xf8\x3e\xa9\x7b\xb7\x9a\xc9\x1f\x2d\xc2\x11\x07\x75\x1e\x1f\x8f\x0b\xff\x8a\x74\x8d\x7c\xa6\x8f\x15\x3b\xf0\xa7\x2c\xcf\xa7\x5b\x96\x3d\x0a\x68\x9a\x76\x16\x13\x22\xa6\xcd\x3a\xc3\xf5\x2f\xe1\x83\x32\xf3\x59\x68\x36\xa9\xd8\xd2\xea\xb3\x17\xc6\xc9\x80\xaa\x7a\x41\x49\xf0\x44\x61\x61\xc2\x97\xbb\xbd\x23\x6f\x28\x6c\xdd\xbb\xb5\xc1\x0e\xae\xd8\x5a\x89\xf3\x9c\x94\x00\xd2\xa5\x0e\x6f\x00\x69\x2b\xca\x33\x38\x8b\x7d\x97\xee\xb9\xdb\x56\xde\xb4\xfc\xd2\x50\x70\x46\x6e\xf8\xbb\xa6\xa0\x4d\xf1\xae\xe1\xb4\x29\x1a\xae\x4c\x0a\x18\x5a\x06\x9e\xd1\x02\x77\x68\xe0\x58\x53\x29\xde\x23\x7c\x23\x9b\x28\x6c\xed\x48\xdc\x05\xe9\x0d\xa7\x0d\x7f\xe7\xb6\x1a\x29\xe4\x9d\xde\xfc\x9d\xfe\x9b\x93\xfc\xad\x7a\x77\x0b\x77\xce\x7a\xf6\x8f\x92\x15\x71\x14\x99\x00\x77\xf0\x1c\xf5\x3c\xfe\x09\xa7\x6a\x55\x17\x21\x60\xf4\x0a\x81\xf4\x21\x7a\x25\xba\x52\x56\x49\xdf\xc1\xaa\x03\x09\xe9\xb7\x23\xa9\x73\x41\xb7\xb8\x22\xdf\x52\x12\xf1\xac\x78\xd4\xac\x99\x79\xe0\x29\x1d\xd9\x78\x49\x7a\xa7\xbd\xe1\xc4\x72\x49\xd5\x82\x37\xb4\xe1\xcd\x3b\x74\xc3\xa4\xfb\x0a\x01\xf5\xc5\x78\x5c\xac\xe6\x6b\xe9\xcb\x55\x9c\x45\x81\xbb\xab\x99\x26\xce\x8d\x7a\x4c\x0f\x54\xbf\x01\xf6\x57\x65\x80\xb8\x9d\x8a\x66\xa4\x53\xc6\x99\x7d\xe1\xe4\x49\xb5\xcd\xdb\x3c\xc0\xfd\x20\xd9\xee\x08\xcc\xfa\xda\xc3\xa5\x1d\x93\x3a\x22\xad\xea\x04\xde\x24\x0d\x75\xe2\xaf\xa9\xea\xf0\xe2\xe8\xdd\xde\xe4\x0a\x58\x12\xed\x1e\x3a\xfd\xaa\x60\xf5\x59\x69\xa0\x2c\xf6\x85\xcc\x55\x71\x45\x29\x66\x24\x78\xfe\x73\x66\xf6\x57\xde\xe0\xcc\x43\x41\x2f\x55\x4f\xce\xc8\xf8\xbe\x00\x0a\xd0\x21\xff\xbc\x74\x9f\x32\x9c\x1d\x0b\xf9\x3a\x73\xe6\x26\x5a\xc5\x75\x07\xca\xad\xf7\xf6\x76\xd1\x23\xea\x77\xd0\x54\xcc\x42\x33\xc9\x9e\xe7\xae\xe7\x29\x97\x6e\x6c\xce\x9e\x98\xac\x03\x11\x59\x25\x29\x4e\x3b\xf4\x37\xf5\x89\xee\x19\x2b\x38\xad\xea\xcf\x76\x02\x4a\xe1\x09\xa3\x9e\xdf\x6b\xa8\xb5\x21\x5a\x10\x61\xd6\x4b\x99\xa9\xf8\xf7\x58\x42\xc6\xe7\xd9\xa1\x3e\x56\x03\x1a\x2a\x32\x9a\x0f\xdc\x3a\x3d\x58\x1b\xad\x92\x35\x8e\x39\x38\x7f\x93\xba\x10\x2f\xaa\x26\xc7\x46\x45\x22\xc3\x57\x8f\x12\x1d\xd5\x6c\xe4\x49\x36\xec\xab\xd9\x42\x0f\xf2\x3b\x60\x90\xcd\x10\x43\xff\x87\x4e\x6d\xcd\x0d\x1b\x9e\x45\x1b\x93\x20\xbc\xf7\x72\x3c\xc0\xd1\xe0\x2b\x98\x91\x1b\xfd\xc6\x5c\xe1\xfd\x7d\xb8\xff\x68\xb9\x1f\x76\x25\x2f\x1f\xec\x87\xfb\xbd\xf7\xf7\x3b\xdd\x1b\x1b\xf3\x6d\x95\x3d\x3e\x4a\x88\x1f\x8f\x2f\xb4\x5b\x59\xbf\x38\x95\x72\x8a\xe3\xdd\x1a\xdf\xc0\xfb\x65\x30\x6a\x56\x7b\x03\x0c\xb2\xdb\xb7\xb8\x11\x7b\x32\x61\xa8\xe0\xcd\xcb\x0a\x44\xc4\xd5\x3c\x21\x75\xec\x25\x22\xcf\x61\x01\x58\xb1\x0d\x96\x01\xab\xb4\xa6\xd1\x22\x6d\xa9\x35\x24\x6e\xdf\xc6\x25\x01\x24\xea\x69\x13\xe9\x32\x9f\xc3\x9c\x0b\x75\x31\x82\x0b\x4c\x75\x25\x40\xe5\xe5\xc9\xe1\x93\x55\x7b\xef\x7a\x38\x64\x95\x65\x02\x0c\xa7\x27\xcf\x3d\xa8\x2d\xbd\x77\x82\x10\x7b\xc7\xe6\xbb\xa1\xae\xf7\xbd\x18\x60\xef\x63\x80\x8f\xe8\xf0\x9b\x4b\x0b\xf1\x05\xdb\xed\x48\xef\x20\xa6\x3d\xbd\x78\xc3\x99\x0e\xf6\xfa\x47\x71\xd0\x82\xae\xd9\xec\x90\x3d\xd2\xbf\xc2\x00\xe4\xef\xbf\xa9\x5a\x8e\x08\x88\x74\x22\xb9\x97\x6e\xf6\xd2\xfb\x4a\x3b\x4b\xab\xbc\x2b\x76\xd3\xe5\x38\x9b\x66\x0e\xfe\xfe\x3b\x14\xb6\x1c\xc6\x0b\xbc\x5f\x11\x30\xbc\x39\x56\xbc\xac\x04\x6d\x6e\xe2\x4d\xb8\xe9\xd8\xb8\x74\xca\x96\xa6\xea\x24\x9a\x2a\x2c\x9a\x66\x08\xef\x87\x2e\x64\x7b\xbb\x39\xe4\x5d\xf6\x98\xd5\x14\x5c\x5b\x55\x75\x84\x19\xc2\xa3\x44\xa3\xab\x2f\xaa\xec\xb1\x0f\xa1\xba\xc0\x8f\x21\x5e\x56\x46\x86\xf7\xc0\x18\x74\xbe\x58\x21\x9f\x3e\x23\x80\x09\xf6\x41\x9a\xd8\x32\x9c\x13\x03\x26\x72\x65\xf1\xc6\x49\x51\x7e\x2d\xa5\x79\xed\x23\xfd\xeb\x34\x83\x5a\xe2\x20\x6f\x55\xda\xdf\xa6\x99\x68\x5d\x24\x1d\xb4\xba\x07\xc4\xd0\xab\xd2\x04\x25\x3d\x2c\x63\x46\x0e\x6e\x88\xd4\x15\xc5\x47\xbc\xd5\xef\xd4\xef\x8f\x87\x6d\x56\xd3\xff\x62\x55\x7d\xcc\xf2\xdf\x96\xc7\x62\x9b\x55\x8c\x82\x05\xf8\x9e\xed\xea\xff\x45\xdf\x23\xac\x28\x3c\x07\x38\x9a\xc6\xc9\x07\xab\x5c\xb7\x35\x28\x12\x33\xd0\x0c\xe9\x9c\x8a\x42\x6d\x01\x2f\x90\xe3\x75\xff\x79\xb6\xd9\x53\x63\x5b\xec\x6e\x9a\xbe\x3a\x69\x80\x7a\xc4\xc4\x47\x84\x54\xe0\xb3\xb7\x2e\x0f\xdd\x45\x07\x1f\x60\x61\x2d\xb1\x84\x23\x42\x64\x70\x29\xf0\x9d\xd8\xcd\x77\x2b\xda\xcd\x19\x11\x92\x43\x2d\xf8\x0a\xb7\xae\x53\x47\x6e\xdf\x08\xa2\x06\xc6\x85\xfa\xec\x6c\xaf\xaa\xc6\x75\xd4\xed\x91\x8b\xbc\xb4\xd2\xe0\xac\x54\xc7\xb3\x45\x1a\x60\x66\x20\x70\xf4\x97\x4f\x87\xfa\xfd\xd7\x0f\xff\x90\xae\x8b\x15\xbf\x6a\x15\x12\x66\x9d\xe5\x1c\x8e\x4c\x50\x34\xa3\x39\x4a\x47\x73\x7b\xb5\x97\x87\xae\x8d\x85\xbd\x90\xe7\x8b\xc0\x7e\x1b\xef\x35\x8c\xeb\x2b\x5f\x02\xb8\x77\xa1\x9b\xc9\x1a\x18\x3a\x37\x5f\xcc\x89\x35\x5c\x37\x2c\xeb\x8d\x0a\xaa\xc9\x5c\xbe\x56\x5c\xa0\x7c\x3c\x06\xd5\x86\xb5\xc7\x61\x60\xe1\x2d\xaf\xd8\x65\x92\x6e\x0c\x96\xd6\x07\x2e\x23\xdc\x4f\x97\x47\xb3\xd4\x58\x7c\x13\x5c\x61\xd3\x4c\xe3\xef\x4d\x78\x83\x4d\x8b\x56\x07\xcd\xfc\xaa\xa8\xe3\x4d\x9f\x1c\x17\xcf\x13\x34\x89\x37\x3e\x04\x4e\x37\x9d\x1b\x06\xd2\x51\xd3\x80\xea\x61\x3f\xd8\xa8\xa4\x64\xc2\x36\xeb\xf2\xd0\xd7\x64\x5d\x1e\x74\x8b\xb9\x16\xe1\x87\xbe\x16\x38\xb7\x71\xf0\x4b\x2c\xbd\x1c\x29\xc2\x46\xf0\x37\xe1\x9c\x37\x2e\x74\x3b\xd9\x72\xb1\x36\xce\x89\x31\xfc\xad\xda\xfe\x91\x19\xc2\x79\x60\xbe\x70\x6b\x04\xca\xd3\x61\x46\xf1\xfc\x4d\x51\x1e\x2c\xca\xf1\x8f\xa3\x9a\x90\x51\x21\xc2\xf9\x18\x40\xa2\x5d\x75\xbe\x3d\x1c\xbe\x2a\xa8\x24\x27\xa3\x7c\x62\x71\x35\xd3\x1f\x68\x69\x7f\x83\x74\xf9\xc5\x29\xa3\x3e\xa0\x8c\xce\x98\xdf\x24\x8e\x4e\x4b\x35\xa5\xbc\xc6\x2e\x9d\x0f\xd9\x98\x5b\x4c\x7f\xa9\xe6\xb4\x56\xec\x26\x69\x7b\xf1\x7f\x0d\xf1\xfa\x49\x69\x9b\xbc\x0e\xc9\x0d\x5c\xc8\xec\xbf\x58\xb2\xc1\xcd\xe5\x22\x57\x77\xd4\xad\x9c\xc9\xec\x81\xca\xf4\xce\x36\x0d\x41\x50\xf4\x07\x11\x07\xff\xce\x19\x96\xce\x95\x5f\xa4\x10\xc4\xb3\x6e\xf7\x8e\xcb\x5c\xf5\x49\xb8\xca\x94\x65\xef\x32\x9d\xab\xea\x66\x86\xa3\x7f\xb6\x9b\x4c\x4a\x03\x00\x70\x8d\x75\x6d\x76\xcf\xd1\xd3\x2c\xae\xe5\xd1\xd6\x72\x14\x0f\x11\x10\x95\x09\xc5\xc4\x71\xed\x94\x82\xab\x0f\xb2\xa0\x8c\x3a\x78\xc6\xd7\x8e\x3d\x8c\xc4\x64\x42\x41\x79\x06\xbd\x72\xea\x62\x53\x59\x66\x52\x92\x18\x1c\xb0\xb9\xd6\xe3\xd0\x14\x93\x68\x48\x5b\x35\x0a\x6a\xc8\x44\x61\xb7\x63\x5b\xd6\xa6\xa7\x7d\xff\xd6\xa7\xfe\x00\xed\x04\xde\xf5\xc2\x02\xc2\x11\x07\x0f\x80\x05\x94\x86\x75\xa3\xf2\x26\x8f\x95\x6f\xdb\x69\x6d\x90\x0e\xac\x18\xe8\xf9\x71\x54\x38\xd5\x44\x32\x05\xba\x21\xd6\xbe\x72\xa7\x76\xc9\x2e\x34\x8b\x70\x0d\xd6\x27\x86\xc4\x19\x5a\x2f\x17\x70\xcc\xe3\x36\x41\x35\x16\xc4\x9d\x34\x35\x20\xe9\xfe\xfe\x54\x15\xc0\x19\xf1\xf6\x9a\x5a\x10\xf5\x3e\x3e\xd5\x65\x70\x19\xb6\x6e\x4e\x8e\xfd\x7d\xa7\x5b\xaf\x3a\xad\xdb\xa3\xe4\x7c\xdc\x99\xd6\xf7\xa4\x97\x29\x92\x6b\x35\xc0\x45\x68\xca\xc0\xa3\xd8\x3a\xd4\xef\x46\xca\x93\xdf\x35\xef\x14\x8b\xcf\x11\x3e\x92\x9b\x42\xca\x2b\x4d\x9a\x86\xb2\x12\x76\x52\x42\x97\x9d\x18\xf8\x4d\xb4\x60\xe4\x4c\x01\xe1\xc2\xaf\xa1\x31\x2a\xce\x82\x1a\x06\x39\xe2\x72\x3c\xde\x58\x38\xdb\x4f\xdd\x7e\x8a\x6e\x9e\x69\xb1\x1a\x8f\x8f\x06\xd0\xf2\xa9\x37\x8a\xac\x93\x67\xfb\x53\xa3\x6b\x9a\xda\xb0\x59\xb5\xe2\x04\x46\x50\x61\xd9\x5b\x02\xf8\x82\x91\x2e\xa9\x87\x04\x70\x9f\xda\x33\x00\x60\xdb\x77\xcf\xba\xc2\x49\x6d\xa6\xf0\x1a\x42\x54\x02\x3b\x18\xf3\x63\x15\xff\xcd\x62\xbd\x1e\x25\x49\x4d\x92\xc5\xab\x1b\xbf\xab\x17\xf5\x64\x02\x03\x2a\x5e\x41\x2b\xae\xea\xb5\x22\xa8\xe5\x63\xc0\x2f\xd8\x0e\x14\x67\x7e\x12\x59\xad\x31\x23\x2b\xe5\x15\x32\x7c\x36\x88\xbd\x74\x27\x20\x45\x90\xe3\x46\xbc\x08\xb2\x6c\x5c\x0b\xb4\xc6\xdc\xf4\xe4\x3e\x32\xc4\x7e\x9a\x56\x62\xfb\xa9\x5a\x4b\x1d\x24\x4b\xa5\xfa\x1a\x53\x92\x2c\x34\x69\x7c\x47\x17\x74\x32\x41\xfe\x44\x57\x74\x4d\xac\x41\x10\x5b\xd1\xb5\x32\x20\x42\x13\x9b\xcc\x9d\xe4\x85\xd2\xc8\x29\xf2\x36\xb3\x74\x6d\xd0\x70\xb2\x0e\x53\x6e\xd7\x82\x29\x95\x04\x73\x66\x28\xe5\xa0\xd0\xbc\x53\xed\x8d\xa8\xd6\xa2\xb6\x05\x64\x6a\x04\x65\x03\x96\x7c\x5a\x32\xec\x7b\x5e\xf0\x7c\x28\x7c\x2d\x6f\x5e\x1a\xc8\xaf\xb4\x74\xc8\x15\xaf\x05\x80\xaa\xf4\x97\xa1\xbd\x48\xc7\x5c\x04\xbb\xb7\xba\x11\x4a\xb8\xbd\x28\x8b\x92\x0b\xb6\x22\xd3\xf9\x65\x6b\x91\xe9\x1c\xf7\x09\x1c\x3b\x76\x22\x72\xd6\x96\x97\xed\x58\x99\xa8\x02\x9a\x49\xd6\xb6\x4e\x93\x09\xb3\x5a\x57\x6f\x5e\x61\x78\xd0\xae\xb6\x0a\xa5\x9d\xb5\x54\x9d\xb5\x58\x49\x25\xd2\x13\x0d\x2c\x4b\xd5\xe3\x78\x67\x69\xba\x17\xc5\x84\xb6\x2d\x7e\x37\xec\x22\xce\xad\xa1\x6f\xd4\xf0\x26\x52\xf7\x83\x12\xd2\xc9\x85\xa1\x7e\xac\x80\xa9\xe8\xa6\xe8\x7f\x8f\xd4\xd3\x51\x71\xbe\x23\x10\x03\xc2\xfa\x32\x1c\x78\xec\x9f\xb2\xb6\xc5\xbc\xd3\x91\xaa\xe8\xc2\x40\x8f\x88\x6d\x02\x95\xa9\xf7\xbe\x12\x73\xc7\x1d\x95\x63\x27\xa6\x85\x41\x33\xee\x4a\x7f\xb2\xea\x11\x7c\xcb\x71\xf3\xea\x51\x16\xa2\x81\x88\x88\x61\xbe\x46\xa8\xc5\xfc\xdd\xbf\xa0\xb3\x77\x03\x9d\x15\x1f\x38\xb3\xe2\xa7\xcc\xac\xf8\xc0\x99\xbd\xaa\xb3\x81\x99\xa9\x5b\x16\xd8\xcb\xe0\x71\x2c\xc8\x27\x0e\xf9\xf1\x91\x15\xb3\x4d\x96\xe7\xb2\x2a\xc5\x2b\x66\x25\x31\x6b\x84\xb5\x80\x46\x5a\xa3\xfa\xc2\x1b\xd1\x8d\x95\xda\xb4\x58\xb6\xc6\xd3\x53\x8b\x8f\xac\xc7\x19\x45\xaf\x21\x60\x90\x88\x69\x9f\x95\xa0\xb2\x01\x74\x85\xa3\xbe\xa5\x9c\xe5\x07\x04\x11\x61\x59\x02\x17\x96\xbb\xd0\x8d\xc3\x73\x94\xf6\x9e\xae\xb6\x15\x78\xc9\x59\xaf\x6c\xbb\x75\x35\x97\x38\x52\x12\x84\x08\x9f\x78\x28\xac\xf2\x82\x87\xf4\x9a\xbd\x81\x6c\x49\x4b\xaa\x0a\xc2\x2e\x48\xa2\x32\x52\x0c\x4b\xa2\x0a\x5f\x12\x55\x92\xac\x23\x89\x2a\x7c\x49\x14\xeb\x48\xa2\x2a\x88\x53\xc7\x42\x49\xd4\x5e\x4b\xa2\x98\xc3\xb6\x4d\x2b\x6c\x82\xa1\x38\x04\xf4\xb4\x6c\x71\xee\x84\x53\x18\x96\x40\xb1\x40\x02\xc5\xce\x4b\xa0\x36\x83\x8d\x3a\x12\x28\xe6\x4b\xa0\x7a\x9a\xb4\x12\xa8\x85\x6d\x46\x7b\x8b\x36\xc7\x70\x8f\x37\xe3\x71\xbe\x04\xac\xba\x91\xd7\x5d\xde\xa6\xa7\x16\xe1\x93\x71\x5b\x6e\x42\xcc\x7e\x11\x78\x2f\x37\x19\x5f\xaa\xd8\xcc\x35\x3d\x84\x04\x05\xd7\x4b\x3a\x34\xa9\x77\x8a\xb0\x9b\x27\x46\x5b\x33\x54\x54\x39\xb0\x97\x65\xc5\x88\x2f\x2e\x94\x9c\xd1\xe5\x4d\x6a\x17\xc5\x78\x6c\x61\x4e\x02\x99\x47\x5d\x70\x0d\x22\xfe\x95\xd3\x22\xcc\x7c\x49\x3b\x3c\x0e\xec\x17\xb3\x4b\x37\xec\xe7\x8f\x99\xa3\x42\x84\xa3\xe6\xa9\x7c\x3b\x6e\x3c\xa4\x18\xf8\xdc\xc1\xdb\x90\xdc\x1c\xbc\x23\xc9\x0d\xba\xd9\x92\x8d\xab\xae\xc4\x07\xb2\xbd\x62\x85\xf4\xb6\x5f\xee\xae\xea\xe5\x76\xf6\x48\xeb\x38\x41\xe9\x8d\xb4\x78\x55\x1c\xe1\x16\x2d\x8f\xd6\x06\x56\x15\xd9\x2e\x0e\xe3\x71\x9c\xeb\x06\x69\xf5\xa5\xb6\x9c\x8d\x0f\x08\xdf\x68\xa7\xab\xa6\x89\xa6\xd9\x12\x42\x74\xf2\xd2\xad\xa9\xc8\x4a\x49\x4f\x24\xb0\xcb\x49\x8b\x9d\x02\x81\x72\xce\x29\x22\x47\xf5\x45\x56\x67\xe4\x64\xfd\x19\xe8\x5e\x14\x2c\xa8\xf2\xda\xbe\xd8\x66\x77\xf4\xa6\x4e\x96\xa6\xce\x9b\xc6\x73\xff\xae\x7a\xfc\x53\xb9\xa5\x33\xf7\xdd\x64\x8b\xd2\x98\xc9\xb9\x73\xc1\x03\xd5\xf1\x2a\x92\x41\x9e\xbe\x55\x21\x19\x54\xfc\x26\x1b\xed\xc9\x7f\x70\x5a\xe3\x02\x9d\x04\x93\x45\x68\xcc\x3c\x96\x24\x9a\x14\xe0\xfe\xaa\xbb\x62\xf6\x45\x6a\xef\x6a\x31\xd7\x08\xc0\x29\x00\x7a\x5d\x1b\xed\xc9\xf3\x48\x3f\xe5\xab\x37\x6b\x43\xcb\xb9\x6e\xe9\xa7\x7c\x35\x5f\xb7\xb8\x20\x9d\x71\xe0\x8c\x04\xad\x5b\x41\x49\x98\xa1\x65\x22\x01\xf6\x3e\x18\xd4\x7d\x50\xcb\xaa\x02\xed\xe1\x7d\xa7\xa8\x2d\xa3\x84\xaa\xd9\x00\x20\x28\x93\x01\xa5\x1f\x34\x44\xa4\x9a\x9d\x41\xf1\xfb\x56\x7a\xa2\xf3\x19\xf5\xd0\x7f\xce\xf9\x23\x57\x91\xd2\x1c\xb9\x3d\x29\x3b\x2b\x94\x93\xd2\x5e\xe6\x1b\x52\x0e\x6a\xff\xf0\x51\xc6\x3e\x48\x14\xe8\xb6\x78\xeb\x36\xa7\x0e\xd9\x62\xbb\x4a\xd6\x23\x7b\x9c\xc6\xe3\x1b\x69\x66\xac\x8f\x5b\xc7\x74\x03\xc2\x90\xed\x05\x18\x88\x76\x3f\x8d\x4b\xc3\xb5\xc9\xc0\x0a\x69\x82\x40\x3a\xeb\x88\x2e\xdd\x8f\x89\x53\xa1\x0c\xee\xb6\xbd\x0e\x24\xe4\x27\x1f\x95\xac\x75\x63\xdb\x55\x02\x20\xb7\xe1\x9b\xd2\x97\x3d\x06\xad\x10\xfd\x04\xc2\x0e\x13\xe7\x62\x13\xfd\x19\xc0\x8a\xa1\xa1\x8e\x14\xb1\xdf\x3f\x05\x71\x95\xca\x06\xfc\x44\x6f\xe0\xde\x82\x28\x31\xeb\xf0\xc0\xeb\xf2\x40\xba\xa3\xc3\xa5\x3a\xad\x72\x62\xa5\x03\xb2\x92\x85\x0a\xa6\x6e\xcb\xcb\xf6\x9c\xe2\x82\x13\xf2\xfb\xc3\x4c\xbe\x24\xcc\x1e\x78\xec\xcd\xd3\xe9\x52\xed\x48\xda\x97\x88\x26\x65\x40\x18\x09\x3c\xf6\xff\x30\xf7\x2e\x4c\x6e\xdb\x58\xc2\xe8\x5f\x69\x71\x66\x15\xc2\x82\xd4\x92\x67\xb3\xb7\x2e\x65\x4a\xd7\x93\xc7\x64\x6a\x33\x71\x2a\x71\xee\xec\xae\xa2\xf1\xc7\x96\xd0\x2d\x4c\xd8\xa4\x86\xa4\xec\xf6\xb6\xf4\xfd\xf6\xaf\x70\x0e\xde\x00\xd5\x6a\x27\xdf\xd4\x96\xab\xdc\x22\x08\xe2\x71\x00\x1c\x9c\xf7\x39\xdb\xa4\x00\xdc\x41\x02\xce\x2a\x82\xe9\x3a\xcd\x29\xa1\x6f\x15\xd9\xc8\xf2\x36\x81\x44\x5c\x81\xb7\x05\xbe\xa3\x45\x7e\xad\x32\x65\x1d\x3d\x13\xa5\x48\x83\xfe\xc6\xa7\xd5\x70\x58\x0c\x87\x29\x1f\x9b\xe9\x04\xb0\x27\x84\xf2\x91\xbd\xd6\x0b\x17\xe0\x1f\xb4\x5e\xc4\xd9\x0e\x7e\x8d\x31\x7f\xde\x6e\x27\xb4\x1d\x39\x95\xbd\x6e\x77\x46\xe3\xe2\xb6\x18\xd4\x19\xb7\xcf\xdb\xae\x82\x15\x75\x48\x7a\x2f\xb4\x60\x1c\xcb\xf1\x9c\x69\x2c\xd7\xe6\x2c\xc0\x72\x95\x5d\xa6\xad\x39\x0a\xbb\x54\xf1\x43\x35\x44\xd5\x97\x22\x1d\x44\x9f\xea\x2a\x13\x23\x77\x64\x39\xcc\xa7\xd9\xcb\xdc\xcb\x0e\x69\x57\xc1\xf9\xce\x99\xa5\x0b\xe5\x46\x17\xaa\xb7\x92\xdc\x41\x45\x04\x53\xea\xe8\xb0\x82\x14\xb4\xac\xce\xc6\x12\xb3\xa1\xc8\x43\x65\x5b\x56\xd7\x48\x09\x81\x13\xe3\x9d\x3a\xc8\xf9\x37\xed\xf2\x69\x1e\x4e\xbb\x12\xf6\xd1\x96\xcf\x5a\xf4\xc0\x7a\xf6\xe2\x08\xe4\x96\x99\x6f\xd9\xd6\x8a\x42\xf6\x39\x05\xa6\x69\xb2\x18\x73\x60\x05\x73\x0b\x29\x7d\xe6\x53\xf8\x2e\xbf\xc0\x3c\x3e\xe1\x24\xfe\xcd\x93\x1a\x6c\x38\x8c\x3b\x3a\x9f\x18\x88\x1d\x8f\xf6\x93\x45\xfa\x2d\xdb\xd4\x7e\x43\x32\xa7\x9e\x0a\x1d\x6c\x17\xe6\xf6\x83\x60\x55\xbd\x16\x74\x96\x3f\xbb\x94\xda\x6a\xaf\x36\xed\x20\x01\x42\x40\xa8\x04\x99\x9a\xe2\xeb\x58\xe5\xc6\x70\xa4\xc8\x7d\x89\x41\x1e\xca\x07\x68\x63\xe5\xc7\xb4\xb9\xe0\x42\x2b\x46\xa6\x3a\x81\x91\xc5\x3b\x17\x4a\x81\x82\x74\xb7\xab\x94\x82\x74\xaa\x60\x63\x25\xa5\x87\x2e\xd1\x50\x2b\xab\xac\x13\xdd\xd9\xc9\xa8\xda\x4b\x76\x9b\x49\x96\xf6\xc4\xae\x83\xa4\xc9\x27\x31\x69\x13\x7f\x68\xd9\x66\x26\xf0\x1b\x8f\x78\x78\x68\x1f\xa8\x20\xad\xf7\x3a\x8b\x64\xfa\xb6\x73\x35\xce\xe5\xda\xd6\x34\x26\x77\x4d\xab\x15\x5b\xa3\xe2\xa0\x91\xbf\xe6\x7c\x38\xe4\x8b\x7c\x3a\x1c\xa6\xc5\x8a\xad\x73\x8e\x5c\xbd\x8c\xcd\xda\xb6\x69\x11\xdf\xbc\x95\xb3\x79\xed\x27\x90\x9e\xbc\xfd\xb8\x67\xcb\x5d\x5a\x39\x5b\x57\x8e\xad\x8a\xef\x3b\x31\xcc\x9d\x0c\xbc\x15\xde\x19\xae\x03\x81\x67\xfa\xee\x40\xfc\x49\x3c\x05\xce\xaf\xbf\x09\x8a\xc2\xbb\x60\xce\xd0\x9f\x56\xa7\x1d\xb7\x8c\xc8\xcb\xba\x82\x58\x17\x58\x43\x26\x88\xc3\x1c\x9f\xd9\xe4\xe5\xe7\xbe\x8f\x1e\x8d\xa5\xec\xf4\x84\x02\x6e\xca\x58\xe9\xb7\xa8\xa9\x78\xc9\xb0\xf6\x3a\x3e\xe0\xe4\xed\xd7\x2d\xb8\x2f\x19\xcb\x52\x8e\x63\x5d\xca\xbf\x19\x3a\xdf\xe0\xf8\xb5\x3e\x41\x5f\xa8\x21\x96\xb8\x04\x8e\x0a\x64\xc3\xa1\x03\x99\x33\xb3\x67\x8e\x7a\x59\xb9\x07\x18\x5c\x10\xdb\x33\xcf\x1b\x87\xba\x4e\xd5\x2f\x49\x14\x2a\x4b\xa4\x1d\x2f\xb7\xa9\x1a\x2d\xbe\xba\x60\xab\x35\x7c\x9b\xd0\xc7\x4f\x01\x51\x74\xab\x61\x40\x53\x1b\x9d\x16\x56\x81\x65\xd5\xca\x94\x49\x6b\x60\x38\xcc\x27\x62\x50\xcb\x15\xfe\xa5\xf8\x67\x9d\xc9\xc7\x5d\xde\xac\xa6\xeb\xe3\x71\x46\xcb\xbc\x59\xcd\xe0\xd7\xc6\xce\x3b\xaa\x2d\x28\xa4\x3d\x25\xb9\xde\x91\x17\x3b\x37\x37\xa9\xb1\xc3\x50\xf6\x93\xe4\xba\x24\x2f\x4a\xba\xcd\xe5\x57\xa3\x0d\xdd\xe7\xea\xe5\xe8\x40\x6f\x73\x6e\x19\x4e\x6c\x17\xe6\x89\xde\xe1\x2b\x65\xc7\xb0\x5f\x58\x8f\xf4\x5e\xbc\xd4\x26\x11\xe6\xf7\x62\x4b\xdf\xe3\x2b\xf5\x9d\xf5\xb0\xd8\xcf\x71\xb6\x79\x03\x69\xc3\xb7\x23\xc1\xae\xbe\x1f\x0e\xd3\xfd\x28\x2f\x09\xbd\x15\x65\x63\x51\x76\x27\xca\xc6\xa2\xec\xfa\x6f\xe0\x6e\x75\x64\x44\xf9\xaa\xd5\x64\x99\xda\x1b\x30\xdf\x52\x67\x8f\xe6\x7b\x92\x5d\xff\x2d\xad\x9e\xf3\x05\x65\x2e\x6b\x57\x20\xeb\x03\x0d\xb5\x1f\x3e\xb1\x21\xe0\x01\x0b\x69\x9e\x48\xb2\x74\x3f\x2e\x17\x53\xdd\xc0\x93\x5d\x7b\x15\xcb\x68\xc5\x91\x5a\xcb\x71\x49\xe8\x76\xbc\xb3\x3a\x30\x23\xec\x1d\x91\x53\x73\xd7\x53\x73\x24\xb7\xce\x78\x47\xce\x85\xde\x70\x02\x65\xa0\x2b\xe4\x05\x91\x32\x4c\x38\x0c\x89\xe0\x32\x54\x98\x42\x24\x8b\x1f\x64\xe6\x80\xc1\x94\xaa\x8c\xa1\xd9\x94\x62\x78\xfe\x2c\x79\x91\xd0\xae\x2e\x59\x03\xc5\x49\x57\x1f\x36\xbb\x44\xc6\x35\x63\x5b\x3b\x5b\x20\xaf\xee\xfa\x43\x51\xd0\x43\xe5\x7e\xa3\x9e\xd5\x57\xe7\x62\x55\xa0\x6d\xae\xa3\x7e\x76\x43\x57\x1b\x30\x48\xad\x17\xb8\xc4\x58\x89\x07\x65\xf8\x9d\xdc\x6a\x5b\x60\x27\xad\x55\x91\xc9\x08\x28\xb7\x82\x3f\x40\x38\xfd\xb0\x1b\x86\xf1\x69\xcf\x93\x4f\xdc\xd2\xec\xcf\x65\x2c\x03\x50\x9f\x25\x66\xac\x32\xec\xe8\xa3\xad\xcf\xa2\xbf\x57\x4f\x8c\x4a\xef\x09\x2d\x71\xe3\x20\x9d\x68\xa4\xa8\x11\x55\xc5\xae\xf7\x08\xa6\xb0\xc5\x8a\x23\xdf\x8b\x0c\x56\x45\xaf\xc1\x60\x66\xd6\x10\x02\xc6\x05\xd3\xdc\x26\xc4\x5a\xd8\x68\x1d\x34\x52\xb5\x57\xd2\xab\x66\xbd\x4a\x90\x4b\x88\xe6\x17\x53\x80\x15\xb7\x40\x1f\xc4\x51\xb1\x68\xf9\x2b\x52\x47\xad\x1f\x78\x75\x5b\x70\xc6\x3a\xc6\x32\xe2\x8c\xa7\xa3\x1e\x49\x18\x82\x56\x0f\xc5\x21\xd1\xfc\xe5\x7c\xc2\xca\xd7\x54\xbf\x72\xc7\x68\x32\x02\xd8\x33\xd5\x2e\x97\x3d\x4e\x6c\x8e\xc1\x81\xb6\x31\xb0\xcd\x4d\xea\x7d\xdd\xe6\x2b\xe9\xa9\x41\xa5\x77\xc6\xda\x8d\xca\x65\xbb\xb1\xba\xcb\xd1\xa5\xfa\x64\xd8\xd3\x5a\xe9\x64\x82\x56\xd4\x40\xf4\x61\x61\x84\x8a\x8f\x14\x9a\x51\x61\x95\x6c\x7b\x16\xd7\x82\xc3\xb0\xe9\xcc\x72\x14\x92\x03\x95\x74\xd0\x54\x11\x49\xd3\x13\xa1\xed\xc4\xc2\x59\x52\xe1\xdc\xb7\x9f\x74\x8e\x91\x89\xb3\xaf\xa3\x87\xb7\xcd\xcf\x9e\x53\x32\x6f\x27\xce\x11\xca\x07\x53\xca\x26\xf7\xac\x2b\xfe\x9d\x7d\x3c\x1e\xd9\x64\xd3\x35\x25\xfc\x4c\xdb\xc9\xef\xcf\x6f\x00\x3c\x5c\x13\xd3\xd4\x8c\x5a\xdf\x38\x47\xc0\x39\x42\xb4\x9d\x58\xcf\x62\x04\xdc\x5a\x02\xbb\x2a\x65\xf4\xd1\x3e\x98\xc6\xe8\x05\x14\x20\x76\xac\x49\xc5\xa9\xd9\x79\xf1\xa2\x00\x12\x4c\xe1\x79\x10\x49\x33\x85\x6a\x99\xb6\xf9\x40\x03\x67\x38\x1c\x58\xd0\x19\x54\x66\xa6\x7d\x78\xa7\x8a\x03\xb0\x5d\xfa\x10\xc9\xdc\x0f\x0d\xe8\xb0\xaa\x57\xd1\x85\x65\xe5\xc2\xb2\xa5\xd5\xc4\x3c\x9a\x27\xb6\xcd\x5b\xda\x2e\x79\x10\x21\x53\x81\xd9\xba\xc7\x0c\x90\xb3\x4b\x17\xc6\xfa\x06\xbc\x5a\x74\x60\x52\x8c\x32\x1f\xf7\x05\x53\x86\x8f\xfa\x9a\x9b\xd2\xb8\xff\xab\xeb\x36\xa6\x8d\x83\xb4\xec\x42\xe3\x88\xd5\x74\x6d\xbc\x60\xeb\x76\x35\x5b\x43\xc0\x7f\x3c\x91\xa5\x72\xeb\x52\x0b\x5c\x2c\xd0\x2d\xa6\xa1\x4d\x5e\xd0\x22\xe7\x84\xd6\x8b\x12\x8a\x4a\x5a\xe6\x35\xad\x73\xde\x77\xcc\x0b\x38\xe0\xb5\x52\x1d\x19\x2f\x95\x72\x5c\x9f\x82\x03\x1c\xdb\x88\xfc\x89\x6d\x48\x77\xf9\x60\x06\x7c\xbf\x82\x2d\x64\xde\x32\xc8\x6b\x38\x4c\x25\x21\x03\x59\xb7\x35\x79\xb3\xdc\xe5\x83\x14\xaf\xd6\x45\x73\x3c\x16\x0b\x3e\x69\x50\x3a\x03\x57\xea\xa2\x3c\x1e\xeb\x05\x9f\xe0\x35\x4b\xb2\xe4\x96\x77\x5e\x0b\xc3\x61\xba\xcb\x65\x0b\xc5\x70\xd8\xa8\x16\xc4\x58\x44\x0b\xf5\x70\x58\x9a\x16\x28\x48\xb6\xd4\x36\x13\xe0\xbb\x08\x71\x70\x1b\x71\x88\x47\x6b\x3f\x9d\x6f\xc4\x3d\x00\xdc\x3d\x00\x33\xd3\x32\x86\x18\xe0\x3d\x28\xc9\x6d\xc3\x41\x47\x61\x1c\xd9\xf0\x94\x70\x0b\x15\x91\x2c\xb5\x5a\x18\x0e\xd3\x34\x86\x52\x89\x00\x9f\x83\x7c\x97\x4f\x83\x2a\x32\xbe\x19\x3d\x3f\xa5\x00\xba\x53\x18\xdf\xa7\x75\xe4\x8c\xd7\x5d\x96\x33\x08\xde\x5b\x93\x29\x71\x40\x7a\x0e\x91\x38\x60\xa5\xce\xb6\x8a\x5f\x53\xde\x10\xdd\x05\xbf\x74\xfb\xf5\x42\xf4\xfc\xb4\x3e\x6d\x56\x70\x75\x0d\x66\xa7\x5e\xbf\x3f\x43\x0c\x39\x9e\x7c\x36\x37\x80\xb4\x80\xd3\xa5\x4f\xda\x7c\x2a\x79\x70\xe1\xb1\xf3\xee\x70\x71\xf5\x7b\x84\xc5\x2c\x7a\xad\xb3\xad\x03\x1d\xb6\xb5\x2f\x75\xb8\xd3\x2d\x32\xe7\x9f\x33\x31\x6b\x5a\xbd\xe7\xa9\x9d\xf8\x93\xb5\x08\xa8\x08\x4d\x15\x5e\xb4\x72\xe2\x7d\xd3\xf6\xe9\x50\xdb\x43\x2e\xe2\x13\xd7\xcf\x5a\x23\x0b\xf7\xf9\xdc\x65\xb1\x4b\xc8\xe5\xf5\xec\x40\x94\xf0\x9d\xcd\x78\x9b\xc8\x93\x16\x93\xad\xa2\x61\x63\xa8\xeb\xba\xe1\x2a\x5f\x5a\x96\xec\xea\x86\xff\x77\x5d\x75\x45\x99\xd0\x06\xac\x94\x05\xf4\x3a\xb6\xcf\x66\x3a\x78\x36\xfc\x95\x29\xfb\xed\x40\xda\xd0\xf9\x33\xe3\x42\x22\x1c\x7f\x61\x1f\x7f\x2c\xf9\x56\x2e\x96\xc5\x8a\x04\xa5\x72\x42\x6f\x6e\x6f\x75\xf8\x3d\x19\x67\x06\x0c\xb5\xed\x94\x3a\x5b\xd6\xb1\x4d\xf7\xc6\xcc\x2e\xed\xe5\xe7\xe2\xd8\xb9\x54\x29\x71\xf1\x97\xf2\xdc\xb7\xe0\x35\x4a\x4c\x14\xea\xc4\x7e\xd0\xe9\x73\xb1\xd0\x8e\x4a\xed\x86\x1b\xd6\x63\xd2\xd1\x86\xd3\xc4\x64\x64\x8b\x53\x57\x11\x50\xcc\x4c\xb0\xdf\x10\xba\x08\xf5\x1f\xc4\x42\xe9\xee\xb0\x0c\xf3\x5e\xb7\xf6\x20\x0e\x7b\xd8\x50\xa6\x2c\x88\x8b\xec\x7c\x1a\x8d\xf1\xe9\xd2\x7b\x55\x24\xd9\x23\xe2\x0c\x04\xab\x0e\x8d\x13\x49\x0c\x26\x73\xb8\x06\x30\x2c\xf2\xe4\x55\x61\xf3\xdd\x76\x53\x57\xe7\x3f\xff\xec\x6a\xd7\xb0\xdb\xfc\xb3\xdf\x09\xde\xbc\x58\x24\xb4\xce\x57\x6b\x0c\x16\x93\xcb\x10\xbc\xa0\x56\xc2\x5f\x3a\x8c\xfd\x8c\x56\x3a\xf0\x1b\xf8\xb0\xb7\x25\xdf\xb0\x94\x9b\x90\x3e\xb4\xca\x55\xe9\x94\x72\x08\x7d\xab\x3e\x99\x73\xe9\x83\x52\x63\xdc\xc1\x42\x86\x53\x53\x51\xb1\x50\xc8\xdd\xa5\xb5\x8e\xcc\xd5\x17\x53\xdd\x89\xe0\xe6\xc6\xad\x83\x9c\x1c\x6e\xb4\x3c\x17\xf5\x32\xa3\xf0\xd1\xb2\x71\x07\x72\x10\x40\xf9\x21\x91\xca\x22\x7b\xe3\x9c\x8f\x1e\x4d\x79\x9e\x24\x73\x36\x01\x8c\xb1\x4c\xe5\x8f\x3c\xcf\x07\x53\x20\x04\x10\x94\x4b\xe6\xc2\x74\x38\x7c\x39\xc8\x73\xaf\x50\x57\xca\x57\xea\x97\xe0\x12\xac\xdf\xeb\xac\x9b\xf0\xf6\x75\xd3\x14\x1f\x75\xd3\xc4\xea\xc6\xb4\x28\xd7\x82\x90\xcc\x34\x8a\x9b\x1a\x9e\xfe\xc2\x0d\x4a\x30\x05\x4a\xc8\x00\x53\x50\x9c\x3e\x18\xb3\xdb\x29\x51\xb1\x24\xb8\x99\x10\x98\xf0\x72\x7c\xcf\xab\xab\xa0\x0c\x82\xc9\x1b\xb6\x24\x49\x94\xf8\x2c\x49\x4e\x2a\xe6\x33\x02\x4f\x0a\x97\x9e\x8c\xb1\xcf\x73\xbf\xe7\x73\x71\xfb\x2d\x14\x84\x53\xd0\x87\x8e\x8f\xd2\xe4\x9e\x43\xda\x3d\xb9\x7e\xc7\xa3\x0a\x75\xae\x56\x36\x09\x26\x94\x8c\xe4\xbb\x4c\xec\x59\x67\x06\x0e\xec\xdc\x10\xd3\x38\x43\xd4\x88\x52\x1b\xeb\xf8\xdb\xac\x73\x77\xb8\x4e\x1e\x0a\x0d\xe8\x34\xc1\x49\x91\xa8\xf0\x84\xf5\xed\xad\x09\x8d\x0f\xfa\x4f\xfb\x8e\xc0\x4e\xb4\xd7\x53\xfd\x9e\x35\x02\xa5\x9a\x2f\x20\xeb\x87\x2c\x3a\x23\xb0\x53\xe3\x89\xcc\xea\xcc\xac\x7b\xe9\x19\xff\xa2\x31\x97\xb0\x55\xf8\x9e\x35\x1d\xdf\x60\xd1\xa5\x19\x10\xce\x4a\xf5\xce\xc6\xcf\x52\x29\xd9\xe9\x8e\x1e\x90\x8b\xdf\xb8\x72\x3e\x49\xe9\x6e\xf4\xb5\xb4\x1c\xcc\xdc\x98\xe5\x68\xa5\xfa\xab\x63\x02\x9f\x1c\xe0\xbd\xb1\x7c\xc7\x75\x75\xed\x3c\x9e\x3f\x3e\x68\x81\xde\x47\x25\xce\x3b\xa9\x0b\xe9\x5d\x55\x37\xf7\x70\x8f\x7d\xdd\xd4\xf7\x10\xb1\x26\xe5\x44\xdd\x4f\x12\x05\x14\x0f\xca\x33\xcf\xc2\x09\xa3\xd9\x13\x68\x15\x59\x00\x6d\x9f\xd6\x8e\x0f\x12\xe1\xa4\x8c\x90\x79\x5a\x2d\xf8\xf1\x58\xe5\x79\xce\x21\x48\x40\x9e\x1f\x26\xef\xca\xa2\xed\xbe\x00\xea\x09\x63\xa8\x1f\x8f\xd6\x37\x79\x9e\x6f\x20\x8e\x3e\x06\x1c\xe3\x10\x48\x08\x85\xfc\x75\xce\x20\xe2\xa0\x1c\x35\x50\x5a\x29\xa3\xb5\x28\xca\xf3\xc1\xcc\xac\x83\x47\x42\xc5\xc8\xa5\x9a\x16\xe7\xf2\x71\xca\x2c\x38\x84\x96\x79\x61\xdb\x77\x0d\x9e\x92\xe4\xe9\x44\xd4\xee\x15\xaf\x88\x8f\x92\x6f\x7e\x91\x2b\xb9\x5b\xba\x36\xe1\x99\x23\x96\x1d\xa3\xb9\xeb\x58\x3b\x4d\x5e\xbf\xb4\x25\xb5\x63\x30\x25\x1d\x1b\x57\xcc\xeb\x97\x63\xe3\xbc\x59\xf4\xf8\xb0\x4a\x7f\xce\xbe\x9a\xae\xef\x6a\xe8\x13\x5a\x84\x21\x99\x65\xa5\x93\xbb\x4b\x5c\x39\x23\x00\x16\x50\x4e\xa2\xc3\xcd\x00\x78\xc4\xe2\xd1\x36\x46\xd5\x4d\xe9\x60\x4a\xfa\xa4\xf0\x3a\xb4\x7d\x4f\xf0\x26\xcd\x5a\x3c\x3e\x64\x9d\x3e\x13\x9d\x3a\x13\xbc\xff\x4c\x30\xe2\x46\xa4\xc1\x51\x76\xe1\xf6\x81\xd8\x51\x3d\xf1\x70\x3a\x37\xb7\x85\x8b\x31\xfb\xf3\xbf\x9e\x21\xfd\x05\x23\x11\x1b\x85\xeb\x72\x76\xae\x46\x0f\xa3\x60\x6f\x47\xab\xd8\xa1\xaf\x71\x9e\x01\x4b\x11\xe6\x07\x32\xef\xf2\x44\xa1\xec\xc4\x4f\x81\x60\xd5\x5a\x9a\x5a\x0e\xf7\x75\xa2\x91\xa5\x89\x04\x50\x51\x41\x77\x11\xd8\x76\x0b\xba\x53\xab\xb3\xd4\xf5\x15\xb6\x2c\xfa\x79\xde\x4d\x64\xf2\x90\xd0\x6d\x76\x9c\x06\x90\x5a\x06\x25\xca\xbe\x9b\x64\xb1\x5e\xa4\x89\x89\xe8\xe6\x63\xac\x1b\x71\x8e\x2f\xea\x05\x8d\xb1\xc1\x3b\xed\x9a\xd1\x76\x31\x83\x48\xbc\x33\x42\xa7\x10\xbd\xa4\xcd\xa7\x84\x46\x20\x6f\x80\x80\xf5\xc7\xed\x45\x98\x5f\x49\xab\xed\xcb\xa0\x7d\x51\x19\xfe\xff\xfe\x75\xc9\xef\x2a\xe4\x8e\x0a\x9d\xa1\x35\xea\x9f\xfb\x88\xfb\x2f\xb3\x0f\xc4\x8a\xad\x25\x5f\x0d\xa5\xef\x25\x97\xe5\x1c\x40\x27\x45\x4b\xab\x22\x18\x3b\x85\x26\x37\x23\xb7\xd3\xdd\xe8\xfb\x84\x72\x45\x00\xdb\xe5\xa4\x4f\x9f\xd6\x51\x0e\x53\x01\x86\x3e\xea\x03\x0c\x7b\xee\x99\xa3\xd3\xa9\xdf\xd4\xb0\x96\xd3\x6c\x46\xe8\x4b\xff\x74\x78\x53\x72\xde\x39\x8c\xc5\x14\x53\x18\xf1\x45\x7b\x3c\xce\xf0\x77\xbb\xe0\x18\x7f\xad\x25\x94\x0f\x72\x0f\x0c\x26\x08\xb0\x82\x00\xad\xc0\x3c\x4f\x2f\xb3\x81\x04\x4a\x52\x3a\x7a\x7e\xd5\xb8\x96\x86\x9c\x74\x76\x6e\x77\x7a\xc5\x40\xdc\xca\x72\x1a\xea\x95\x60\x0f\x49\xe6\x0e\x10\xd2\x39\x7f\xf2\x38\x4e\xb1\x9e\x52\x2e\x93\x06\x3b\x98\xf9\xd3\x76\xe4\x3f\x7f\x2b\xd6\x7b\xbd\x13\xa5\x98\xc9\x9d\x03\xbf\x4d\x07\xbe\xfc\x48\xa5\xdd\x74\xee\x90\xff\xc1\xd3\xf5\xa9\xc0\xde\x4c\x3a\x08\x89\x33\x49\xc5\xb4\x0b\xb6\x3e\x6d\xe1\x68\xf3\x28\xda\xea\x4b\x25\xe6\x5c\xab\x70\x31\x4e\x9d\xdc\x86\x16\x62\xd4\xe9\xce\xda\x98\x5d\x33\x20\x0b\x7e\x9b\xfa\x43\x5c\xcc\x48\x3f\x9e\x13\xe7\x32\x3a\x5c\x7e\xf1\x70\xed\x8c\x8b\xa2\xff\x81\x3f\x00\xa7\xfb\x77\x6a\x6d\xa0\xaa\x91\x31\xe8\x8f\x56\xd3\x35\x39\x33\xe0\xb3\xa8\xcf\xe9\x81\x11\x67\xb3\x81\xec\xa9\x8d\xe1\x40\x5a\xe5\x76\xef\xb4\xc8\xa7\x3a\x6f\xf3\xa2\x98\x17\xa3\x7c\x46\xda\x55\xd1\x03\xa8\x6a\x55\xac\x63\x60\x29\x4c\x2c\xff\xa7\x53\x9e\xd9\xab\x28\x7a\xff\xc0\xbb\xcd\x2e\x4d\x00\x0f\x27\xb9\xf1\xbe\x8f\x22\x68\x25\x50\xe0\x67\x36\xa3\x84\xc9\x34\x96\xb4\xad\x95\x11\x7a\x94\x1c\x82\xeb\xc4\x53\xfd\x0d\xf5\x2f\xc2\x78\x76\xa6\x0f\x8c\x0a\x89\x2b\x1e\xa9\x64\x5d\x1d\xd1\xb6\xc5\xe7\x7f\x05\x5e\x7c\xb2\x6f\xea\xae\xee\x3e\xee\x99\x25\xd4\xed\x89\x95\xc0\xc8\xe3\xa6\x68\x59\x62\x51\x27\x32\xa9\x57\xbf\xf4\xfa\xbc\x14\xe1\xbc\xec\x20\x10\xb2\xf6\x09\xb6\xe3\x47\x6c\x7e\xd3\xb0\xe2\x97\x39\x0c\x19\x66\xaf\x06\x1b\x93\xca\x5f\x82\x4c\x22\x84\x76\xd0\x47\x9b\x64\x3a\x4a\xd1\x25\x1d\xb5\xf9\x74\x5e\x2d\xda\x79\x2b\x0e\x47\xd8\x6b\xab\x36\x7f\x6f\xaf\x90\x37\x13\x7f\xe9\x1c\x6b\x97\xcf\xb0\xb7\x59\x3c\x31\x4f\x37\x17\x6f\xe9\x74\xa2\xef\xde\xc7\xd2\xf8\xc5\xd2\x37\x6a\xea\xb1\x0f\xdf\xab\xc6\x62\x11\x19\x39\x6d\x63\xb8\x5a\x21\xbe\x58\xda\x40\x08\x2d\xd5\x73\xb9\x30\xa2\xf3\x7a\x5d\x8e\x2e\xc9\x23\x8a\xe3\x63\x35\x50\xa8\x8b\xeb\xac\x03\x3c\xc9\xe5\xe6\xab\xb6\xef\xd2\x58\xb5\x6b\xcd\xd6\xf2\x13\xfe\x58\xad\x4f\xd4\xab\xe8\x00\x44\x47\xfa\x32\xc4\xff\x22\xef\x22\x97\x06\xbc\x82\x79\x2e\x02\x96\x22\x56\x5d\x94\xcf\x23\x49\x18\xdb\x8e\xed\x17\xd3\x65\x50\x96\xcd\x28\xcf\xd3\x2e\xe0\x4e\xc8\xbf\x40\x8c\x9f\x31\x57\x33\x7b\xf9\x42\xcb\xa0\x38\x59\x40\xa2\xbe\x76\x94\xf3\xc5\x74\xc9\xb2\x31\x23\x14\x84\x18\x5f\x97\x75\xd1\xa5\xad\x4e\xb3\xf8\x39\xd1\x1b\xe2\x2f\xbc\xea\xcb\x4e\xa9\xd3\xf7\xf1\x4a\xd7\x2e\x1e\x9e\xac\x5d\x3c\x3c\x95\x87\xd2\xcb\x0a\xe7\xde\x24\x5e\x60\x50\x19\x26\x4f\x85\xd8\xb3\xce\xc8\x72\x30\xcb\x74\xe2\x35\x7a\xc8\x1f\x9f\x4d\xc2\x2d\x6d\xb2\xd0\x13\xf1\xb5\xe4\x91\xe7\x90\x8d\x33\x2d\x15\x0d\xd7\x92\x71\xe9\x2c\xc6\x75\x5a\x3a\xbc\xa4\xfb\x96\xd0\xc3\xca\x63\xcf\x4b\x57\x10\x00\xbe\x46\x59\x72\x23\x03\x0c\xe4\x7c\x94\xfc\x4b\x42\x95\xc6\x06\xc4\x1f\x33\x3a\x23\xab\xdd\x52\x07\x76\xc9\x92\x4d\xdb\x26\xeb\xf4\x40\xf5\xdc\x09\x2d\x7b\x2e\xe3\x73\x9d\x03\x2f\xd5\x0e\x87\xa5\x94\x5c\x9f\xed\x4d\x86\x58\x17\xc3\x3b\xd9\x1d\xcf\x9c\x36\xa2\x5f\xca\xc0\x04\x63\x86\x1f\x3f\xfe\xe3\xc0\x0e\xa8\x9e\x56\x91\x4b\x74\x7b\x27\x42\xb2\xe7\x0d\x4b\x59\x22\x7f\xca\xc0\x54\x34\x85\x0b\x47\x46\x28\xcb\xf9\x89\x64\x0e\x4b\x9b\xfa\x22\x85\x88\x04\x41\xec\x0c\xca\x73\xc1\xab\x55\x4b\xdc\x51\xed\xb8\x22\xd7\x69\x31\xae\x08\xc9\xa6\xe1\x2e\x09\x84\x38\x7d\x1b\xc5\x6c\xdf\x67\x6c\x16\x45\xa2\xd5\xc3\xe1\x13\xfd\x3a\x9a\x8d\xf3\x0b\x21\x57\x39\x58\x07\x45\xc7\x3d\xaf\xb3\x33\x5d\xcc\xa6\xd3\x31\xbf\x64\xc1\x9c\x79\x9e\x97\x0e\x5d\x3c\x4b\xb5\x65\xce\x4e\xf3\xd2\xbe\xce\xf5\x70\xf1\x2c\x31\xad\xbc\xd1\x74\x65\x8f\xbf\xb0\x8f\xdb\xfa\x43\xd5\x97\x81\x44\xa0\xd7\x94\x6b\x51\xfe\x59\xad\x30\x51\xc4\x3f\x9f\xfc\xc2\x3e\x7e\x51\x6f\x25\xf5\x7a\x05\x46\x2a\xb2\x68\xf2\xcd\x9b\xbf\x7c\x95\x85\xc5\x5f\x7d\xf7\x65\xa4\xf4\xfb\xd7\x7f\xfa\xea\xdd\x4f\xdf\xf7\xbd\xf9\xf2\xcd\x5f\xbf\x8b\xbc\x8b\x7e\xf0\xc3\x9f\xff\xf4\xcd\xdb\x48\x79\x4f\x1b\xdf\x7e\xf5\xf5\xdb\x8c\xdf\xa6\x7c\xb2\x6f\x98\x80\xd5\x97\x68\x2a\x90\xea\xa0\xf3\xb6\x4c\x21\xf5\x8b\x80\x6a\xb3\x00\x77\x46\x87\xa2\xb5\x4f\xa8\xa9\xe1\xb4\x11\x45\x79\x3e\x98\x29\xd2\xe0\x24\xe1\x5a\x87\xc4\x80\x60\x00\x63\x54\xd0\xd3\xf7\x98\xbc\xa4\x1a\x97\xd5\xa4\x4f\xaf\x5d\x28\xf0\xb4\xa8\xd8\x70\x51\x43\xec\xd6\x5b\x5d\xad\x76\xd1\xc3\xae\x8e\x52\xbf\xa9\x90\xe0\xb9\x66\x4f\xb4\x0f\xeb\xdd\xd7\xc3\xf8\x57\xf6\x70\x66\xe7\x41\x10\xd6\xbc\x8f\xfa\x9b\xf7\xce\xb9\xee\xef\xed\x89\xad\xeb\x77\x07\xa3\x7f\xa2\xbb\x71\x4d\x4e\x72\x37\x82\x52\x87\xd3\x86\x16\xe4\x44\x41\xc0\xee\x46\xea\x0e\x0e\xc6\x89\xfe\xc2\x3e\x1e\xe2\x51\xe4\xd8\xa5\x28\xe4\xa2\xb3\xe5\x68\x7c\x18\xe5\x1e\xf7\x88\x25\x56\x9f\xe7\x95\x4a\xe4\x74\x61\x4e\x69\x3b\xf2\xe4\x55\xb7\x60\xc3\x21\x1b\xf1\x45\x17\x4d\x28\x7d\x0d\x6e\xee\x60\x65\x2d\xdd\x07\x65\xe4\x92\x5b\x41\x5c\x27\x84\x1c\x8f\xd7\xbc\x2a\x79\xc5\x8e\x68\xd6\xb8\x61\x65\xe9\xd6\x94\x4e\xca\x89\x9f\x87\xba\xad\x9b\x4b\x9c\xeb\x62\xd6\x7f\x75\xd3\x25\xb4\x61\xc5\xf6\xa3\xb8\x21\x22\xee\x77\xa8\xab\x4d\x68\xf1\xc0\x5b\x99\x46\xba\x62\x9b\xee\xaf\xbc\xdb\x45\xb2\x4a\x63\x2a\x81\x0c\x33\x09\xc8\xa7\xd7\xf0\x66\xdb\xd4\xfb\x37\x15\xe4\xd0\xc8\x06\x53\x7a\x5b\x37\x1b\xf6\x7d\x59\x6c\xd8\xae\x2e\xb7\x18\x29\x4a\x54\x83\xf2\x6f\xc0\x1a\x52\x15\xb9\x09\xaa\xe1\x17\x06\x51\x4c\x94\xbf\x6d\x42\x79\xc7\xee\xdb\x2c\x59\x5c\xbd\x48\xa8\x72\xeb\x1e\xcc\xe8\xde\x74\x20\x1e\xc5\xf6\x6c\x60\x34\x18\x4c\x4a\x0c\x04\x7f\xfd\xc8\xaa\x96\x77\xfc\xbd\xf8\xee\xa5\x2e\xdc\x33\xb6\xc5\xc7\x7a\xcf\xb2\x44\xda\x86\x39\x7e\x86\xbc\xea\x58\xd3\xb2\x4d\xa7\x63\xc0\xce\xd8\x1f\x28\x6c\xa4\xa2\x93\xa6\x8d\x37\xec\xb6\x6e\x50\xd9\x19\x58\x40\x6e\x99\x5b\xb7\x3e\x48\x23\xc8\xfa\x3d\x6b\xf0\x57\xc3\x36\x8c\xbf\x67\xea\x41\x6c\x5c\x69\x27\x59\x1b\x8b\xc9\x98\x27\x23\x84\xab\x3b\xef\xb4\xd8\x45\x5c\xb1\x74\xe0\x16\x88\x74\x97\x3f\x9e\xce\x59\x3c\xaa\x9d\x47\xa2\x0e\x73\xb0\xb5\xc5\x01\x85\x27\x58\x24\x75\xe5\x24\x40\xef\x74\xe0\x1e\x7d\x3c\xca\xec\x6d\x50\x63\x35\x5d\xc3\x0f\x92\xa9\x63\x5d\x9f\x33\xe1\xb0\x84\xf7\xb6\x81\x26\xec\xe9\x1c\x54\xdd\x7d\x36\x39\xbd\x72\x31\x39\xa9\x2b\xeb\xf7\x53\x8e\x6f\x20\x91\xb5\x20\x6a\xcf\x75\x3c\x9b\x77\x8b\x7c\x3a\xef\xc6\x63\x62\x4d\xb3\xc3\x69\xda\x6e\x7a\xf0\x16\x8f\xe9\x77\xc5\x3d\x1b\x25\x9e\xc3\x52\x87\xc9\xec\xfa\x84\xae\xc6\x0e\x34\xcf\x73\xe6\x4a\x50\x51\x69\x65\x75\x90\x92\x49\x57\xdf\xdd\x95\x91\x89\x9b\xc9\xd2\xc1\x80\x43\xa0\x92\x67\x4b\x2a\xfb\x6d\x86\x4c\xf0\x12\xd8\xa6\x95\xc0\xde\x75\x68\x0c\x8f\x87\x95\x57\x77\x82\x4f\x77\x68\x17\xe3\x07\xa8\x32\x2d\xfb\xfa\x40\x31\x42\xcb\xaa\x45\xee\xca\x3f\x0b\xb0\xa7\xac\xcf\xab\xcc\x37\x3a\xd7\xb1\x6c\x8d\xd5\x79\x1d\x5b\x1c\x41\xb6\x2f\x75\x6a\xd7\xc0\x3b\x8a\xca\x06\x54\x97\xfd\x8d\xc8\x04\xb1\x26\x75\x20\x6d\x97\xae\xbb\x14\xa2\xc0\xe3\x91\xeb\xc4\x9a\xde\x2b\xda\xaa\x64\x92\x2f\x92\x73\x7e\x72\xe2\x53\x2b\x79\xa1\xca\x51\x78\x22\xb4\x22\x72\xdf\x6c\x0e\x8d\x80\x8c\x00\x5a\xde\x6a\x81\x23\x9c\x14\x7c\xd3\x7e\xdd\xd4\xf7\x08\x53\x42\x07\x53\x71\x5c\xb3\xc1\xac\xd7\x05\x14\x03\x04\x8b\x85\xaf\x68\x4d\x5d\x1a\x55\x0b\xfc\x64\xa7\x5f\x28\x14\x84\xb2\x1b\x1b\xb5\xa8\xd8\x0a\xad\xef\x59\xbb\xb3\x8c\x94\xa1\x28\xd5\xe9\x67\x36\x02\x91\x61\xe1\xf7\x3a\x20\xad\xb1\x57\x86\xd7\x7f\x01\xe3\x1c\x5d\x88\x37\xc0\xf7\xb0\x39\x9c\xbc\x23\xf6\x8b\x34\x92\xee\xcf\x02\x9b\x87\xa3\x64\xad\x47\x1d\x4b\xdc\x0a\xa1\x06\xcf\x68\x1f\xd4\x9a\xcc\x87\x76\x2d\x30\xaa\x70\xaa\x41\x56\x44\xea\x86\x5a\xc6\xca\xf4\x11\xa9\x33\xd7\x30\xca\x6f\xcd\x31\x8b\xf2\x06\x74\xa2\x78\x2e\xa4\xf0\xf9\x8e\x75\x38\xe3\x37\x6a\x46\x2a\x2e\x88\xa9\xf0\x83\x2c\x51\x55\x4e\xa1\x63\x9d\x09\x80\x45\x4d\xf4\x75\x59\x6d\xd3\xb6\x3a\x8a\x65\xff\x77\x5e\x8e\x50\xf7\x8b\x77\x77\xac\x62\x4d\xd1\xe9\xac\x72\x7a\x07\xe8\xfa\x02\x10\xda\x5d\x30\x78\xf5\x9f\xca\x7f\x90\x16\x13\x45\xbb\xa8\x50\xd1\xc5\xf6\xef\x87\x56\xce\x5f\x6c\x7c\xb9\xc7\x4c\x45\xe5\xd1\x5f\xdf\x9b\xd8\xa5\x82\x20\xce\x82\x6d\x21\x4a\x53\xc8\x20\x6a\x03\xd9\xa9\x21\xb7\xd7\x6a\xba\x3e\xd9\x50\xc4\x10\x90\x7e\x75\xf0\x14\x0c\xda\x50\x59\x84\xad\x73\x61\xd1\x5b\x29\x11\x73\xb4\x33\x60\x4a\x02\x9a\xa9\xc3\x77\x8f\x1b\x5c\x4d\x70\x38\x44\xa2\x6e\x90\xe7\xa6\x48\x31\xa0\x3a\x5e\x2a\xe2\x1e\x8c\x71\x2f\x0f\x52\x57\x37\x6c\xfb\x05\x7c\x90\xd7\x5e\xfa\x42\xf7\x59\xf7\xe5\x7c\x0a\xf9\x5d\xdb\x1d\x13\x07\x2c\x4d\x5e\x41\x3e\x81\xc5\x8b\xc7\x2b\x49\x6a\x5e\x25\x23\xf5\xd9\x28\xb9\x1a\xf0\x7b\x71\xbc\x8b\xaa\x9b\x5f\x9d\x5e\x5d\x63\x65\xdb\x12\xba\x26\x62\x4a\x92\x44\xd4\xa9\xc2\xad\xad\x26\x5f\x25\x3a\xb3\xcf\x3b\x1c\xc6\x1b\x2c\x0f\xf7\xa6\xfe\x20\xb2\xdf\xd5\x3b\xd3\x25\x74\x8f\x94\x62\xac\x77\x7c\x13\x74\xfe\x5f\x68\x81\xd6\x5b\x3d\xd2\xb5\x7c\xa5\x7b\x23\x11\xc4\xe6\x47\x14\x4d\xbe\x79\xfb\x97\x6f\x13\xb5\xc3\xbc\x9a\x93\xae\xb8\x93\x69\xb1\xf1\xe0\xc8\x8c\x0e\xb6\x7d\xad\xfd\x89\xc6\x7e\xbd\x2e\xf8\xb2\xfc\xc0\xbf\x29\x04\xc9\x68\xd2\x88\xb1\x96\x35\xef\x43\x84\xad\x6c\x20\x7b\xd1\xf9\xa0\x85\xf4\x24\x2a\x6b\xb7\xba\x44\x2c\x3a\xac\x12\x74\x58\xa5\xe8\x30\x53\x63\x55\xad\xad\x01\x2a\x92\x3c\x18\x23\x5c\xf0\x86\x1a\x13\xcc\xd6\x76\x7b\x5f\x54\xc5\x1d\xc3\x0c\x39\x76\x81\x3a\x8d\x39\x92\x05\x7e\xed\x41\x31\x11\x3c\xd1\x1f\xd9\xae\x78\xcf\xeb\x43\x23\xc3\x9b\x9b\xcf\xf7\x0d\x13\x78\x00\xe1\xdb\xca\xa8\xf6\x76\xdc\x10\xdb\x46\xd7\xcf\x9f\xe1\x90\x73\xf8\xd2\xa3\x5c\x9b\xe2\x4e\xe0\xc7\xa7\x33\x79\xd2\xf0\xbe\xa6\x8d\xca\x96\x0c\xa5\xfb\x0b\xd1\xb0\xaa\xf7\xfa\x46\x49\xb8\x36\x75\x25\xa8\x3c\x55\xf3\x6d\x9d\x06\x17\x43\x59\xb4\xfa\xfd\xeb\x9b\x56\x05\x7f\xf0\x8a\x73\xbf\x03\x4f\x71\x8f\x3b\x53\x67\xeb\xfa\xb5\x87\x60\x19\x3b\x03\x56\x06\x26\xef\x2b\x3c\x0a\x68\x9f\x3e\x96\x77\xcc\xab\x62\x12\xf0\x9e\xcb\xe8\xd7\x3a\xc5\x70\xde\xc4\x07\xa5\x2b\x8c\x74\x9b\xc0\xba\xba\x97\x7b\x30\xd6\xd8\x08\x7a\x20\xf4\x8c\x31\x8c\x9d\x31\xa8\x65\x70\x3b\x37\x79\xad\xe2\x90\xfa\x2b\x26\x14\xc1\x7b\xfa\xb9\x80\xfa\x16\x82\x08\x9f\x1b\xa5\xa8\x11\x05\xd5\x7f\x44\x41\x05\xe1\x93\x9f\x0d\xab\xcb\x86\xe1\x41\x0b\x82\x30\xc9\x45\xb3\x22\x93\x5b\x49\xa6\xa3\xd0\x68\xf2\x78\xed\x9e\x36\xbc\x4e\xb3\x2e\xfd\xc0\xab\x6d\xfd\xc1\x84\x40\x1f\x3f\x35\x8c\xe8\x38\x86\xc3\xf4\x99\x23\x19\x79\xd3\xa7\x7a\x1d\x82\xfa\x98\x86\xfb\xe2\xe9\x43\xf5\xbe\x56\xfa\x01\xa0\x32\x2d\xa5\x4f\x0d\xe4\x39\x00\x38\x3b\x16\x1f\x04\x84\x36\xca\x2a\xf3\xb7\xb9\x31\x7e\x0d\xf2\x55\xe8\xb3\x78\xe0\xed\x70\x98\x7c\x0c\x38\x6d\x14\xdf\xa4\x2e\x8d\x3a\x01\xba\xeb\x92\xec\xc0\x5e\xfb\x0f\xcf\x6a\xff\x5c\xd2\x62\x1e\x15\xc3\x70\x71\xfd\xf3\xf1\x98\xf0\x5b\xa5\x86\x45\x59\x0c\x5f\x43\xb0\x54\x8e\xd4\xb4\xb2\x2b\x78\xa7\xa5\x7b\xed\x5f\x79\xb7\xfb\xbe\x86\xe7\xb4\x85\x1c\x76\xed\x44\x25\x52\xc8\x5d\x92\x5c\x33\xaf\xc3\x61\x75\x96\x5a\xb7\xa4\x93\xab\x19\x48\x11\x92\x8a\x3d\x74\x49\x96\x08\x0e\x21\x59\x03\xfd\x3f\x80\xf4\x8a\x83\x4e\x11\x2b\xd2\x5c\xcd\xfe\x76\xba\xa6\x95\xa0\x18\x93\x96\xdd\xf3\xf1\xf6\x63\x55\xdc\xf7\xca\x44\xfc\x76\x8c\xd7\x3d\xad\x48\x36\x98\x12\x2b\x68\x0b\x6f\x30\x37\x55\x2e\x07\xb7\xad\x3f\x54\x49\x96\x1c\xf6\x09\x4d\xf6\x08\x0b\x7d\x4f\xea\x5e\x4c\x84\x91\x41\x0c\x86\x3f\xf2\x2d\x18\x42\x10\x54\x61\x28\xb1\x42\xd1\x34\x52\x50\xdf\x06\xe4\xa2\x32\x67\x0d\xe8\x45\x54\x83\x9c\x1c\x6b\x19\x98\xdd\xc6\xac\x01\xca\x7b\xbc\x83\xe4\x1d\x1b\x41\x4c\xb9\xe4\x95\x45\xab\xd6\x67\x48\xd5\xa7\x68\x90\x5e\x57\x17\x90\x81\xf1\x5b\x15\x22\xc7\x3f\xe7\x0e\x44\xcf\x1f\x79\xf1\xd6\x1d\xbb\xb6\xe4\x00\xf9\x99\x9d\x80\x4b\x99\x1a\x58\x7b\xc7\x88\x28\xea\xf0\xdc\x41\xc8\xdc\x79\x0d\xe7\x72\x90\xe7\xf5\xf1\x98\x16\x32\x0b\xa2\x25\x8e\x90\x42\x03\x64\x59\x7b\xc4\x14\x23\x5b\x3a\xa1\xaf\x41\x2b\x39\x08\x24\xda\x58\x4e\xb3\x58\x35\x0b\x5b\x12\x38\x79\xc9\x47\x33\x1c\xc8\xc3\x68\x44\x28\xee\x60\x62\x92\x95\xdf\x62\x28\x6f\xeb\x3d\xd1\x62\x66\x29\xa5\x44\xfd\xae\x85\xa7\x88\x4e\xc3\x53\x50\xed\x09\x16\x59\x21\x74\x05\xfb\x7c\x3a\xa5\x96\x7c\x0e\x3c\x58\x58\xd1\xa4\xe0\x57\xcd\xca\x96\xa9\xfd\x8d\xa5\x94\x2b\x2e\x04\x0c\xfd\x36\xe2\xc4\x95\xb1\x94\x93\x8a\x51\x50\x9e\xfd\xb0\x19\x7f\xda\xa7\x8f\x28\xf8\x43\xed\x00\xa1\x46\x95\xe2\xa3\x0d\x99\x03\x20\x10\x2f\x6c\x74\x92\x3e\xc9\xe1\xff\xf8\x63\x44\xad\xe6\x73\x20\xa1\xa8\xa3\xdd\xd5\x1f\x2c\xf1\x39\xeb\xe7\xdd\x98\x40\xde\x2c\xc2\xbb\x31\x9b\x77\x33\x0a\x95\x84\x5a\xae\x59\x0e\x03\x47\x23\x2d\xb8\x5a\x0f\x20\x01\x15\x7d\xd7\xd7\x55\x7d\xe8\x7e\x75\x1f\xf9\x94\x38\x08\xcc\x3a\x9b\x3a\x53\xb1\x83\xea\xad\x90\xe4\x91\x6b\xc4\x79\xef\x44\xcc\x8d\x54\xb5\x97\xdd\xc7\xe3\x91\x8c\xdd\xce\x43\x74\x24\x7e\x14\x13\x47\x36\x49\x1f\xa5\xda\x0e\xf5\x5e\x72\x5f\x1a\xb5\x9c\x7c\x78\x57\xd5\x5f\x43\x50\x5d\xa5\xdc\x3a\x85\x82\x35\x90\xa0\x2d\xe5\x69\xf2\xcb\xc9\xa4\xb8\x15\xb7\xb4\xbf\xd3\x04\x95\x17\x7e\x00\x53\x20\x40\x39\x69\x21\xaa\xfd\x11\x76\x7e\xa2\x2d\x6b\x78\x51\x46\xd3\xc5\x68\xae\x17\xbe\x68\x5f\xb7\xa8\x36\x4e\xd9\x70\x08\x59\x10\x2a\x88\x06\x83\x49\x82\xe6\xda\x26\x96\x1d\x8f\x8f\x27\xda\xa5\x3c\x1e\xed\x86\xe7\x69\x97\x32\x20\x48\x50\xec\x41\x26\x45\xd7\x35\x29\x83\x3f\xfc\xe6\xd0\xb1\xe3\x31\xe1\xdb\x84\x1c\x8f\x49\x42\x26\xf7\x45\xb7\xd9\xa5\x6c\xc2\x1e\xf6\x0d\x6b\x5b\x5e\x57\xc7\xe3\x75\x3a\x19\x91\xd5\xcf\xe3\xfc\xdd\x5a\xfc\xba\x86\x18\xe3\x2d\x86\x93\x48\xd9\xe4\x17\x08\xae\xb4\x9a\xad\x47\xc9\x6a\x9d\x90\x51\x92\x27\x23\x2c\x16\x03\x37\x0d\x2d\x45\x9d\x8c\xaf\x5e\xae\x31\xae\x91\x71\x60\x91\x95\x65\x93\xf0\x24\x5a\x21\xb4\x95\x41\x29\x86\x09\x39\xd1\xae\x06\x1b\xf9\xdf\x16\x70\x3c\x80\x9a\x1c\xc5\x73\xa0\x76\x22\xb4\x3d\x51\x8f\x42\x79\x2a\x51\xf7\xeb\x1b\x99\x99\x81\xe7\x6c\x64\x6d\x7b\x4b\x14\x25\x1d\x24\x43\x82\x00\x44\xfb\x55\xde\xf6\x7d\xa7\x73\x28\x49\x09\x7d\x91\xd7\xa3\xce\x4a\xa0\x24\x3e\xdf\xe5\xcd\x48\x27\x8e\x96\x39\xa0\xe5\xb5\x07\x52\x7f\xa8\xb4\x89\x94\x43\x8b\x87\xbc\x97\xc8\x6e\x47\xe5\xa2\x19\x0e\x77\x8b\x76\x54\xd2\x6d\xde\x4b\xec\xb3\xd1\x66\x51\x0f\x87\xc5\x82\x41\xf4\xe8\xc3\x70\xb8\x55\xbe\xa4\x8a\x2a\x0c\x68\x4f\x45\x15\x4a\x11\x9e\x8e\x66\x0b\x56\x00\xf8\xd1\xd7\x75\x63\xa8\xb6\xe3\xf1\x12\x0a\x33\x0e\x45\x0c\xd8\xa1\x54\xcf\x4b\x19\xa7\x3f\xd3\xa1\xfb\x17\xdd\x53\x35\x96\xfb\xec\xfc\xd2\x5e\xbf\x44\x08\xf0\xf1\xf9\x5a\xc3\xe1\x13\x4b\x7d\xfd\x12\x41\x5e\xf5\x35\xa4\xaa\x05\xdb\x54\x42\x2d\xd8\xad\xbc\x7f\x81\x59\x1a\xdb\x8f\xa3\xf8\x0e\xea\xe4\xff\x2a\x95\x4f\x7b\x66\x43\x84\xed\x5a\x89\xcb\x83\x2d\xa8\xb4\x4f\x2a\xe9\x50\x95\x0b\xb4\xa4\x79\xae\x3b\xd6\x7d\xd9\x14\x77\xff\xbf\xb4\x82\xfc\x52\x71\x21\x96\x5d\xac\xac\xf2\x8d\xb6\x07\xb5\x2a\x99\xd8\x9e\xee\x22\x17\xc3\x61\x02\xc6\x37\x62\x12\xc5\xf1\x88\xdc\x0c\x30\x36\x2f\xb3\x59\x56\x0b\xfe\xc9\x29\x22\x19\x50\xef\x11\xf6\x25\x02\xf3\xe7\x83\x56\x9f\xe1\xeb\x97\x0e\x94\x3f\x09\x98\x0a\x49\x40\x5b\x1a\xac\x4f\xc2\xb3\x7e\x06\x3c\x1d\x68\x0e\x87\xf5\xd2\x40\x53\x30\xc3\xc7\x23\xda\x18\xe3\xe3\xa0\xcd\x2a\x1b\xa0\xd5\x70\xc8\x8f\x47\xc1\x39\xe2\xc3\x00\x5c\x34\xfb\x46\xd6\x63\xa4\xe2\x01\x77\x1c\x63\xc1\xc4\x0b\x35\xe2\xa9\xc0\x1c\x82\x88\x5a\x4c\x6d\xde\xd5\xea\x39\x32\xe1\x0b\xfa\x36\x2c\x8e\xdf\xb9\x78\x13\xed\x1d\x41\x95\xc9\x44\x35\x27\x1a\x04\xde\xf2\x62\x1f\xb8\x16\x0b\x1d\x39\xab\x01\x3f\xd1\x77\xb6\x51\xd6\x79\x0b\x1f\xad\xba\xb0\x3e\x11\xbf\xdb\xae\x39\x6c\xba\xba\xc9\xf3\xfc\x47\xc8\x43\xb1\x5c\x39\x75\xd6\x99\xf3\x88\x30\x74\xae\x6d\xe7\x7e\xb7\x0c\xe0\xc8\x63\x23\x6f\x66\x71\x1f\x9f\x94\x29\x71\x4d\x0b\xda\xe4\xab\x35\xdd\x89\xff\x4a\x23\x92\x52\x5d\xa0\x7b\x4c\x39\x1c\x32\x82\xde\x8e\xa5\x61\x05\x5a\xc1\x0a\xb4\xe3\x31\xbc\xa9\xf3\x2e\x2d\x57\xed\x1a\xd3\x8d\x85\xaa\x9e\x42\x05\x0e\xac\x57\xd5\xda\xb6\x80\xf9\xfa\x50\x96\x98\x5d\xb6\x18\x0e\x0b\x79\xcf\x80\x98\xcd\xb7\x34\x19\x0e\x77\x38\x87\x55\x37\xe1\xed\xd7\x6a\xa2\xa6\x22\x48\x91\xc8\xd2\x2b\xc0\x74\xc4\x85\x8e\xbc\x94\x75\xfe\x27\xd4\xbc\x9c\x54\xb5\x8a\x8c\xe8\x73\x4d\x91\x57\x16\x25\x9f\x10\x5a\xac\x91\x83\x8a\x8e\xd2\xc1\xd8\x72\xa0\x61\x99\x49\x9d\xac\x93\x87\x02\xa1\xfe\xa8\x6c\x02\xed\x4f\xc0\xde\x2e\xe0\xe5\x4e\x9a\xc4\x76\xe7\x68\x37\xfa\xab\xa6\x29\x1a\x5a\x0b\x24\xb9\x8b\x6c\x85\xdd\xaa\x5d\x0b\xae\x04\x53\x2a\x19\xbc\x95\x36\x04\xfc\x89\xa2\x96\x2b\x3d\x41\xca\x6c\x06\x15\x55\xda\x19\x5a\xa9\x8e\xac\xed\x63\xd9\xef\x10\x65\xa7\x0a\x13\xce\xbb\xc9\x5d\xc3\xf6\x96\x49\x9b\x93\xd5\x49\xb1\xba\x5c\xb0\xb3\x3a\x40\xdc\x9c\x8f\x46\x84\xdf\xa6\x6c\xc5\xd7\x60\x18\x27\x65\x91\x44\xb1\xf9\x73\x1d\xbc\x85\x18\xff\x28\x6f\x12\x4c\xb2\xf9\x38\x8c\xd5\xda\x67\x42\x31\x98\xd9\x7a\xee\x68\xf6\x30\xbf\xac\x22\x19\x71\xbc\x87\x7c\xf5\xdb\x6c\x22\x88\xc4\x46\x1f\x3f\x7d\xbf\xe0\xa2\xaf\xe9\xb6\x0f\x43\x6c\x75\x6c\xf5\x62\xfb\x91\xa0\x17\xe0\x36\x22\xf2\x95\x9a\xe1\x74\xbb\xe2\xb0\x87\xaa\xc8\x1e\xaa\x15\xaa\xa8\x56\x6d\x0f\xaa\xa8\x87\xc3\xda\xa0\x8a\x3a\x82\x2a\xd2\x43\xec\x14\xd6\x3e\xf4\xea\x18\xe8\xea\x8b\xe1\xe6\x7d\x4e\x6b\x03\xb1\x7a\x1d\x48\x1f\x70\x44\x35\x21\x32\x6a\xe1\xa1\x07\x40\x45\x7e\x58\xf1\x35\x46\xd5\x86\x5f\xd3\x35\x6d\xf3\x29\x2d\xf3\x46\xc5\x25\x2c\xc1\x75\x72\x44\x76\x79\x97\x36\x80\x76\x77\xc6\x42\x2e\x62\xda\x46\x0b\x42\x37\xd8\x3f\x4e\x67\x47\x95\xe0\x3c\x2b\x82\xc0\xf9\x5e\xf6\x24\x7d\x55\xea\x4b\x2f\xdc\xec\xb6\x8c\xce\x13\x58\xa4\xa1\x50\xd0\x90\x3c\xae\x45\x13\xb1\x0f\xc5\xdc\x72\x26\xed\x53\x21\xf8\xfa\x03\xa3\x0f\x18\xf4\xea\x03\x7a\x8a\xb5\xe2\x21\xae\x2e\x38\x1e\x7d\x47\x72\xcd\x03\xc9\xfc\x56\x4b\xef\x1c\xf9\xef\x69\x2b\x2d\x6a\xf1\x2f\x65\x10\xfc\x1f\xf3\xbc\x54\x6e\x74\x35\xc5\x72\xa8\x72\x15\x54\x4d\x50\x8b\x95\x11\x17\xb7\x2a\xa5\x29\x50\xa1\xad\x4c\x58\xda\xd5\xfb\xd0\x79\x77\x73\x68\xbb\xfa\xde\xf3\x3f\xc1\x42\x45\xd2\x18\xc6\x8f\x5c\x54\xcb\xe0\x19\x32\x07\xe1\xa8\xb5\x5e\x31\xd1\xa1\x5e\xb4\xda\xaf\xb3\xe2\xeb\x1e\x93\x62\xb7\x8e\x27\xba\xb3\x27\xff\x74\x6d\x0d\x9c\x0b\xea\xe2\xa2\x9c\x1b\xa5\xbd\x5a\x4f\xb7\x27\x57\xf3\xa9\x06\xd5\x32\x7b\x96\xc6\x81\xdd\x98\x73\xfc\x40\x18\x23\x6a\xaa\xb3\x63\x32\x65\xcd\x3d\x51\xa6\xab\x75\xb0\x08\xce\x81\x22\x38\x8f\x47\x88\xa6\x6a\x55\xa3\xce\x93\x49\xf2\x1c\x04\x86\x66\xde\x81\x81\xcc\x77\x02\x07\x4d\xba\xfa\xdb\xfa\x83\x00\x45\x2b\x5d\x2d\xd3\xe4\x55\x32\x6a\x47\xc9\x22\xa1\x4c\x9b\xad\x41\xcc\x69\x13\xd6\x12\xa2\x8f\xbb\x0d\x42\xdc\x58\xc4\x6a\x57\xbd\xf4\xc9\xd3\xe2\x6f\x25\x27\xe9\x40\x44\xd2\x2e\x99\x2b\x52\xdf\xf1\x72\xdb\xb0\x2a\x66\xaf\x9b\x26\xaf\xba\xed\x62\xf8\xbb\xd9\xbf\x4d\xe7\xaf\xae\xbb\x6d\x64\xfc\x5d\xd7\xa4\xc9\xa6\x2e\xdb\x7d\x51\x19\x27\x60\xb7\x98\x1c\x8f\x33\xcb\x1a\xae\x22\x27\x92\x25\xfc\xfe\x2e\x41\x77\xd7\x4a\x56\x6f\x9b\x8d\x68\xdf\x1e\x9c\x79\x41\x08\xe5\xc7\x63\x85\x66\x66\xef\x79\xcb\x6f\x78\x09\x46\x6e\xc9\x8e\x6f\xb7\xac\x4a\x08\xad\x4e\xca\xfb\xc0\x4d\x76\x9e\x0e\xf8\xf1\xa8\xc4\x3e\xae\xf3\x07\x84\xcb\xb0\x52\xb0\xeb\xdf\xee\x30\xdc\xcc\xe5\x76\xa6\x4f\x4f\x37\xa1\x52\xa9\x43\xb8\xbd\xe3\x71\x4a\x67\xd3\x8b\xea\xcb\x64\xed\xea\x13\x42\x2b\x65\x13\x20\xc6\x84\x3f\x23\x43\x52\x89\x6b\x2f\xe8\x01\xb2\xc2\x3f\x67\x48\x98\x4e\x5e\x8f\x08\xb2\xdd\x31\xe7\x68\x74\xa9\x7b\xbe\xd4\xd1\x06\x34\xc9\x34\x41\xcf\x3c\xd1\xb6\xb7\xc2\x20\x36\x77\x1a\x26\xee\x11\x9c\xe0\xa2\xa6\xcc\xed\x9e\x20\x07\xea\xea\x5d\x33\xdb\x13\x5e\x5b\x7d\x2b\x5a\x93\x1e\xe8\x96\xee\xe9\x2d\xba\x00\xdc\xc1\x9f\xf9\xa5\xb6\x7b\x18\x6c\xc7\xd5\x63\xbb\xe7\x35\xc0\x8b\xd5\xda\x8e\x2f\x4f\x74\x98\x06\x57\xba\x13\xa8\x7b\x2a\x1f\x9d\xa2\x7a\xfc\x76\x38\x0c\xfa\xef\xe9\x8b\xde\x3a\x1d\x8b\x6a\xbc\x3a\xb0\xf9\x6d\x80\x91\xab\xb5\x80\x83\xa5\xeb\x3b\x37\x8e\x3e\xfd\x54\x15\xe8\xa7\xda\x8b\x94\x53\xf1\x0e\xf2\x29\xdc\xe6\xb7\x02\x5e\x33\x6d\xe5\xe0\x2f\x4d\xa0\x8f\xbb\x8b\x36\xa6\xac\x38\xdc\x8a\xd6\x68\xdf\xb3\xe6\xd2\xe1\xc6\x7b\xc8\x67\x48\x0d\x3c\x22\x25\x3b\x63\xff\x4a\x1b\xdc\x60\xfb\xfc\x56\xcb\xae\xb4\xb3\x91\x7d\x16\xe8\x2e\xdf\x6b\x2f\x79\x08\x23\x56\x8a\x02\x4f\x30\xac\x78\x24\x4b\x1a\xb4\xda\xad\x43\xd1\xdc\x6a\xa7\x4d\x48\x3c\xea\xb1\x16\x7b\xb8\x1e\x8f\xc9\x99\xfd\x73\xe7\xec\x1f\x8b\xc8\xac\xd7\x9a\x29\x94\xd4\x94\x5f\xde\x67\x6e\x92\x0e\xf6\xcf\x15\xff\x3a\xcd\x87\x25\x52\x60\x29\xb0\xf6\x21\x0f\xc7\xa2\x69\x29\x01\x0a\xc8\x14\xa1\xa3\x8c\x1c\xc6\x1b\xb2\x30\x4f\x23\xe7\xe3\x55\xb9\x1e\x6f\x44\xa3\x90\x62\xe1\x30\xca\xfd\xb7\x84\x16\x0b\xa7\x29\x88\x80\xe7\x94\xa8\x00\x20\xea\x2b\xa9\x3e\xd4\xd6\x2c\xdb\x65\x72\xd8\x27\x19\x8a\x04\x09\xc6\xee\x8a\x5a\x5d\x48\x77\x45\xe5\x21\xdb\xeb\xa3\x12\x1c\x8c\xd5\x9d\x62\xdb\xe7\x52\x73\x6e\x99\xb8\xb4\xb4\x41\xc9\xca\x60\xaa\x02\xa2\xd9\x2f\x8d\x3e\x39\xba\x25\xc4\x57\x7d\x06\x32\x6d\xdc\x4a\xa5\xef\xc0\xf5\x7c\xe6\x1c\xb9\x98\x3b\x8e\xdb\xa0\x6b\x74\x12\xb9\x2c\xa2\x0d\x49\x93\x34\xfb\xa6\xf9\xbf\x8e\x1c\x4e\x26\x13\x01\x2a\xa2\x7b\x14\x92\x26\xd7\xab\xc3\xc0\x73\x65\xd7\xb1\xec\xf4\x6f\xcb\xf5\xcd\x3e\xb3\x2b\x46\xfd\x63\xb8\x26\x24\x4b\x20\x0b\x31\x44\x25\xeb\x37\xab\xc0\x44\xc5\x01\xcf\xaf\xe8\xf2\x56\x3b\xac\x49\x2f\x0b\x9d\x6d\xa0\x4b\x95\xaf\xee\x40\x74\xa0\x68\xbc\xa5\xf9\x19\x34\xea\x2a\xf1\x89\x78\xc4\xba\x68\x32\x00\xe1\xeb\x68\x8b\xe6\x31\x71\xbc\x82\xeb\xa1\x2d\x40\x9c\xe0\xdd\x5e\x47\x68\xb3\x87\xba\x4c\x3b\x84\x77\xb4\x9a\x54\x6f\xea\x3c\xc4\x21\x9c\x7c\xb7\x20\xe5\x54\x15\x54\xc2\xec\xef\xc6\x9f\x2a\xa8\x20\x85\xf2\x84\xa6\x83\xd6\x1b\xe8\xf1\xc8\x27\x9e\x47\x32\x11\xbc\x0c\x92\x81\x41\x73\x92\x50\xf4\x5a\x52\x99\xd3\xe3\x4d\x49\x2a\x37\x68\x6b\xa7\xf9\x6e\xc1\x87\xc5\xbd\x8f\x9c\x1d\x1c\xe4\x8f\x66\x10\x39\x9c\x4d\xda\x7d\xc9\xbb\x34\xb9\x4a\x9c\x88\x75\x40\x70\xb3\x1c\x5d\xc4\x46\x90\x9f\x5e\xc0\x70\xc4\x20\xd9\xf0\xf4\x44\x64\x26\x73\x5e\x5d\x31\x4f\x90\x62\xd4\x4f\x39\xb3\x94\x53\xb6\xc1\x17\xa1\x52\xe7\x71\xfe\x73\x4b\x58\x13\x68\x4f\xc7\x0c\x53\x92\x45\x1b\x17\x8b\xda\xdb\xb4\x60\xb7\x99\xb9\xdb\x2c\xe3\x2f\x42\x55\x08\x9c\xb3\x1f\xf7\x0c\x6b\xa7\xec\xf7\xb1\x8d\xb0\x75\xd4\x8a\xd8\x72\xa5\x30\xda\xb3\x25\xac\x72\xfc\x79\xec\x17\x5e\xa8\x2f\xeb\x8d\x49\xd6\x2a\x39\x49\x6d\xb0\xab\x8f\xa8\xf1\xa3\x93\x44\xc2\x39\x67\x07\x9f\x0c\xf1\xea\xd2\x60\x00\x48\x7c\xa4\x72\xdd\x23\x5e\x3f\xb6\x69\x33\xc5\x55\xe8\xad\x85\x96\xe4\xf4\x22\x8b\x3c\x65\x39\xe0\x19\xe4\x69\xa7\xa4\x64\xd7\xdd\x5b\xd6\x6b\xf1\x6a\xae\x3c\x40\x1a\x53\x72\x75\x14\x40\xe6\x28\x05\x90\x27\x42\x1f\xd1\x3f\x12\x6c\x06\x3d\x03\x3e\x7b\x45\xce\x46\x8c\xa7\xd2\x03\x13\x8d\x20\x2f\x6b\x45\xc0\xce\x6b\xe6\x84\x3b\xcb\x75\xb1\xf4\xcc\xfd\x4c\xaa\xf6\xc8\x56\x70\x74\x81\x8e\xa7\xa1\xf2\xd1\x51\x3b\x0a\xdd\x53\x31\xb8\xb6\x3b\x5e\xdb\xbb\xac\xb3\x83\xd8\x87\x9e\x1c\xf6\xfa\x4a\xd4\x2b\xa3\x82\xf7\x37\x89\x68\xf8\xc9\x36\x71\x67\x9d\x4e\xd6\x68\xf5\x9a\x89\x0b\xde\xf2\xe5\x0d\x0e\x9f\x3c\xab\x12\xe9\xb9\x43\x09\xae\x05\xac\xfc\xad\x3d\x2a\xc0\x90\x17\x7d\x66\x07\xf9\xd7\xc3\x0a\x5c\xd6\xc2\x2c\x21\x7e\x0d\xe7\x42\x55\x98\xa2\x2f\x19\x86\xfd\x5e\xe7\xc2\xc0\x70\x01\x96\x4f\x67\x4f\x34\x3d\x57\x4d\xac\x48\x09\xc8\x1a\xe9\xb8\x89\xa6\xce\xb3\x8d\xc2\x3c\x6a\x82\xa6\x89\x3a\xc0\x41\x33\xc7\x63\x82\x0e\x17\xc1\x1b\xe2\x31\xb5\xd0\xc9\x6a\xea\x58\xf7\xaa\x8d\x7e\xd6\x08\x99\xf6\x7c\xd3\x6f\x2a\x4c\xbb\x33\x23\x5e\xaa\x37\x99\xef\x29\x72\xf6\x0e\x0b\xee\x2e\x9a\x3e\xaf\x17\x23\x10\x73\xb0\xa1\x6d\xe5\x89\xe7\x02\x17\xbc\x77\x38\xf2\xee\xf2\xaf\xac\x35\x64\xd4\x57\x4d\x1f\xb1\xd7\xa3\xb4\x8a\x54\x69\xee\xdd\x05\x3a\x1e\x53\x96\xfb\x85\xe2\xae\xe0\x41\xa9\xa5\x2e\xc8\x95\x70\x50\xb0\xa8\x29\x23\xd2\x3f\x56\x3a\x5a\x25\x2e\x15\x8f\x8b\xce\x03\xac\xa9\xbf\xeb\x45\x94\xd1\xda\x8e\xdc\x4d\xe7\xf2\x08\x97\x86\xfb\xb8\xde\xeb\x2f\x44\xef\xe7\xba\x73\xf2\x7c\x84\x0e\xfe\x6a\x76\xed\x12\x98\xd7\xfb\xe2\x21\x55\x4b\x09\x9d\x50\x66\xfb\xc2\x91\xcc\x7d\x1c\x3f\x0b\x2a\xd1\xda\xae\x70\xd1\x1d\xe8\xe5\xdb\x59\xc2\x2c\x32\x0b\xdc\x90\x7a\x1a\x72\x7f\x66\xde\xf3\x99\x89\x9c\xcd\xbf\x12\xcc\x43\xc9\x6d\x9f\x9a\x48\xef\x41\x40\x21\xa6\xeb\x10\xe5\x7b\x6c\x80\x8e\xc2\x91\xa2\x20\xa5\xd6\xe6\x0e\x21\xc6\x96\xb3\x6c\x3c\xa3\x95\x55\x3a\x08\xef\x64\x49\xd1\xfc\xe6\xe4\x59\xe8\x1b\x19\xfa\x32\xd0\x3a\xbf\x4e\x05\xc5\x74\x14\xd8\x84\x5c\x73\x79\xd2\x2d\x5a\xc9\x21\x08\x78\x20\x2a\xb2\x11\xea\x8b\x76\x14\x47\xa9\x2f\xda\x71\x9a\xdc\xf2\x07\x8c\x48\xe3\x03\x60\x39\x3e\x4b\x38\x64\xf5\x72\x9a\x55\x0e\xa9\xf8\xa2\xc5\xab\x9e\x87\x36\x71\xce\xa5\x10\x1f\x10\xbe\xf9\xb4\x11\x21\xd9\xe1\x0c\x49\xfa\x01\xbe\x68\x91\x3a\x73\x7d\x9e\xe3\x8e\xd4\xae\x80\xa1\xd6\x91\x28\x0a\x1d\x78\xa2\xf9\x1f\xbc\x67\x76\xd1\x3d\xd3\x44\xf6\x8c\xa1\x45\x3f\x71\x0e\xf1\x0a\xb1\xa1\x2b\xb1\xb2\xb7\x0d\x8c\x9a\xdf\x8f\x4b\xd2\x13\x42\x24\x42\x77\x00\x9f\x13\xc6\x4e\x31\xfc\xeb\x2b\xff\x0b\x14\x8a\xb8\x4a\x66\x59\xde\x63\xc0\xa9\x3c\x5e\xff\x33\xd2\x45\x57\xef\xc3\x1e\x66\x6b\x93\xf3\xc3\x2d\x8f\x4b\x72\x2d\x97\xda\xe8\x00\x16\x41\x4b\x2f\x7b\xe6\xf0\xf2\x13\xe7\x10\xf6\xf0\x87\x9e\x39\xfc\xa1\x6f\x0e\x84\x56\x93\xbb\x86\x43\x7a\xea\xdc\x5d\x3e\xd1\xef\x08\x2e\x9f\xa6\x3e\x54\xdb\x34\x2d\xc6\x61\x05\x72\x8d\xdf\xaf\x66\x6b\xf2\x42\xff\xa4\xe1\x10\x96\xbc\x67\x0e\x31\x80\x0f\x87\x3d\xb5\x5f\xc5\xa6\xb6\xe4\xd9\x73\x1a\x5f\xf2\xb1\x1e\x68\xc6\x47\xd6\x6f\x9d\x2d\xd5\x0e\x6a\xe3\x80\xa0\x0e\x41\xf0\x1f\x1a\x04\x53\x03\x02\xe3\xe9\x6a\x83\xa0\xed\xdb\x29\xb1\x6d\x3d\x1c\xf6\x55\x8f\x00\xe1\xe5\x7a\xd9\x66\xcf\x6a\x7e\xd9\x8e\xf5\x58\xb3\x76\x64\xfd\x26\x92\x41\x2f\xe2\x30\x7d\x2e\xf1\x3f\xfa\x15\xf7\xd4\x6e\x39\xcd\x1a\x57\xa4\x01\xb7\x54\xdd\x33\xd3\xe7\x33\x33\x9f\x36\x3a\x79\x67\xd9\xc3\x93\x77\xd6\x09\x2c\x08\xa5\xd2\xc1\x4b\xd7\x44\x5b\xf2\xc8\x97\xdc\x17\x06\x23\xd5\xe3\xfa\x8f\x65\x4c\x29\x9e\x6c\x7e\x84\x57\x2d\x6b\xba\x3f\x42\xd0\xc3\xa8\xb3\xb2\x36\x0b\x87\x97\x5a\x31\xb3\xd4\xad\x59\xed\x56\xec\xa1\xfb\x91\xdf\x94\xbc\xba\xd3\x3c\xc2\xa1\xea\x8c\x2a\x02\x1e\x96\xa3\x91\xfd\x98\xcd\x80\x2a\xab\x9c\x3a\xd2\xd7\x78\xcb\xca\xe2\xa3\x6d\x5a\x51\x19\xfd\x0d\xd4\xd3\xe6\x84\x9e\xb1\xf5\xa0\x95\x29\x6e\x4b\x56\x34\x5e\x5e\x21\x3b\xde\xa7\x13\x13\xd4\x09\x07\x6f\xf4\x19\x1d\x6d\x29\xd3\x7a\x0c\x26\x16\x44\x76\xaa\xbd\x49\x71\x0a\x82\x66\x58\xad\xe7\x26\x6f\x91\xe5\x1d\x17\x89\xf9\xa4\xe2\x46\xb9\x99\xb0\x6c\xa5\xcc\x8d\xb5\x2c\x8e\x02\x34\x68\xde\x4a\x6c\xa7\xf9\xfb\xb8\x1e\x00\x4d\x5a\xdb\x2b\xae\xd3\xff\x69\x8f\xd0\x14\x83\x46\xe9\xb8\xb3\xfa\xcd\xaa\x5d\x87\xe1\xfb\x9c\xd7\x7e\x0c\x24\x2c\xcd\x13\x65\x6a\xfb\xeb\x9d\x51\x6d\x5d\x7b\xdc\x23\x15\xde\xdd\x36\xf5\xfd\x9b\x43\xd7\xf2\x2d\x1b\x0e\x07\x6c\x38\xac\xd0\x9a\xd1\x89\x7d\xbb\x73\x34\x72\x32\x64\x67\x42\xbb\x50\x63\x65\xb7\x87\x0e\x75\x61\x2f\x78\x30\x3c\xc7\xc6\x08\xf0\x65\x28\xb1\x33\x36\xd5\x26\xda\x40\xe8\xf6\x18\x6d\xd0\x44\x1e\x3b\x1e\xd9\xf1\xf8\xf4\x5c\x51\xcd\x17\x4c\x95\xa8\x00\x70\xfd\xd6\x90\x29\x3b\x1e\xd3\x4b\x80\x29\xd6\x31\xde\x41\xe4\x6b\xff\xe4\x31\xf2\xd8\xc5\x96\x26\x1a\xda\xe9\x74\x32\xa6\x85\x71\x15\x28\xf9\x94\x4e\x15\x8c\x3e\xb9\x4f\xa2\x83\x82\xc7\x2c\x63\xb4\xfd\xb2\x59\x30\xee\x7a\x42\x5b\x6d\x1b\x45\x69\xbb\x8e\x68\x4f\xdb\x3e\x53\x13\xd3\x30\xd8\x95\xfc\xda\x16\xa5\x6d\x09\xde\x5d\x56\x8c\x38\x75\xea\xa3\x21\xe5\xdc\x70\x71\xc1\xb7\x3d\x71\xe3\xb4\x43\x32\xa1\x36\x92\x78\xa3\x82\xc0\x59\x38\xce\x0b\xdb\x16\xa9\xee\xb6\xf1\x5f\x32\x92\x5b\xd0\x84\x0a\xbf\x16\xc5\x7f\xf8\xd5\x32\x51\xb9\x7d\xec\xd2\x20\xc0\x97\x8c\x81\x8b\x2e\xfe\x28\x42\xfe\x41\xcc\xa7\x28\x31\x9f\x1d\x43\xf4\xeb\x1d\x1a\x13\x73\x38\x72\x70\x30\xe3\x91\x9d\x09\x67\x44\x2a\x58\x27\xb3\x0f\x55\xe0\xed\x20\xbb\x9e\x7f\x08\x1d\xff\x30\x83\xc4\x64\x06\x54\x7e\x9b\x2a\xa7\xcf\x4b\x07\x17\x21\x19\x9e\xe5\xd4\xee\x5e\x59\x67\x23\xb0\x04\x0e\xeb\xa6\x10\xaf\x3f\x05\xdd\x7f\x16\xc0\xa6\x98\x5e\x48\x34\xe0\x28\x07\x22\xf1\x77\x65\xb5\x78\xf4\xdd\xdc\xca\xeb\x88\x3b\x07\xb2\xb5\xe1\x20\x22\x86\x0f\xca\x8e\x57\x8a\x7c\xa4\xa7\xbe\x32\x53\x70\xe2\x68\x73\x1b\xe0\xc7\x63\x97\xae\xd6\xc4\x28\xea\xb9\x96\x8c\x51\x9f\xc3\xce\x78\xc0\x74\x53\x24\x75\xad\xaf\x5e\xdf\x48\xe7\x22\x6e\xaf\x18\x6d\x59\x25\xfa\x66\x4b\x6d\xcc\x88\xb1\x01\x2e\x8c\xd3\x1e\x22\x68\xc7\xdd\x47\x99\x4b\xbe\x2f\xca\x94\xcc\xbb\x9e\xd4\x6b\xb8\x8e\x26\xc2\xb5\xb6\xf3\x77\x3e\x57\x81\x34\x7d\x33\x1b\x41\xe2\x39\x31\xdb\xf7\x60\x37\x9a\x44\xe2\xb4\xcb\x38\xe3\xd2\x76\x3f\x4b\x5e\xf1\x6a\x7f\xe8\x16\xf1\x00\xee\x7b\x5e\x25\x26\x6e\xfb\xe6\x50\x42\xb4\x65\xd8\xbc\x7c\x03\x65\x90\xcd\x43\x10\x40\xe2\x79\xdc\x35\xbc\xa8\xee\x4a\x36\x9e\x8d\xdb\x84\x1e\xf6\xd1\x37\x55\x72\xa2\xbc\xda\x34\x30\x80\x02\xe2\xa4\xdf\x17\x0f\xd8\xea\x3d\xaf\xf0\x47\x75\xb8\xbf\x01\xb7\xed\xfb\x42\xc6\x1e\xdf\x17\x77\x2c\x9b\x4d\xa9\x4c\x40\x65\xc7\x39\x17\xe3\xec\x8f\x55\x1e\x8d\x4f\x2e\x71\xa3\x0a\x33\x9d\x42\x8e\x14\xd7\xdc\xe8\xbe\xd0\x99\x9a\xed\x7a\x02\x24\x6e\x3d\x5e\x45\xea\x89\x61\x7a\x15\x45\x11\xa1\x49\x12\xa4\x59\xc5\x8f\xf1\x31\x5c\x74\xcb\x2a\x6b\xdb\x14\x1f\x74\xd8\x55\xe5\x38\xf5\x0e\xf2\x22\x44\xf6\x90\x5b\x0d\xd5\x2f\xf4\x11\xf1\xe3\xa1\x2a\xeb\x62\xfb\x44\xd4\xf2\xd7\x60\x96\x2d\x2e\x99\x4d\x7d\xbf\x2f\x59\x07\x3b\x4d\x5a\x22\x7c\x01\x30\x7d\xb3\x0f\x94\x8d\x32\xcd\xb7\xce\xe9\x2d\xdb\x34\xde\xa1\x60\x7f\xbe\x42\x48\x22\xdc\x11\x5a\x6b\xcb\x93\x4d\x87\x73\xce\x39\x5a\x87\xb7\x64\xfe\xbe\xe6\x5b\x70\x7d\xad\x04\x99\xac\x13\x9d\x32\x41\xb9\x57\x82\x60\x63\x27\x2a\x81\x11\xc9\x34\xa3\x69\x3f\x4c\x7c\xd2\x69\xb8\xcb\x9a\x58\xd2\x9b\x66\x22\x79\x87\x28\x17\x52\xd0\x07\x70\x13\x5f\xf1\xfa\xd0\x46\xce\xec\x89\xde\x94\x87\xa6\xd7\x1b\x17\x11\xe8\x1f\xcb\x43\xb3\x4c\xb7\x4c\xc0\xd8\x2f\xa7\x38\x6f\x92\x19\x2e\x64\x9f\xf6\xac\xb6\x1a\xc7\xb3\xb0\x07\xed\x88\xea\xe3\x44\x21\x86\xcf\x87\x1d\xb3\x23\xfe\xa8\xf4\xb6\x76\x92\x5b\x40\x31\x76\x86\x5b\x05\x56\xe3\x53\x28\xcb\xf7\xbc\x4a\x53\xb6\x98\x82\xde\x82\xbc\x08\x8e\x84\xe8\x1e\xf8\xde\xb7\xfc\x9e\xd5\x07\xa9\xfb\x36\xe3\x10\xc5\x8a\xfa\xf2\x4a\xf3\x1e\xb6\xdb\x1b\xa1\x05\xb7\x8e\x9c\xe8\x6c\x2a\x0e\x54\xb8\xd2\x27\x9a\x40\xfb\x62\x37\x5c\x01\xc3\x83\x68\x74\x7c\x73\xe8\xba\xba\x4a\xfa\x9d\x90\x2d\xfb\x07\x63\xa9\xa7\x65\x10\xc6\x91\x62\x82\x49\x40\x24\xf2\x9d\x77\x4a\xbe\xac\x96\x09\x36\x97\xbf\x96\x3a\x40\x7a\x7c\x9a\xa6\xda\x89\x48\x0f\xe8\x79\xfb\xec\xb1\x2c\x9d\xb6\xb2\x08\x16\x62\x61\x6a\x22\x6e\xb9\x4a\x51\x6f\xd7\x9a\x44\x92\xc1\xb0\x7b\xb6\xb9\xdd\xda\xc9\x50\xc2\x62\x57\x31\x62\xe7\x92\x7e\xd7\xb0\x3d\x2b\x3a\x4c\xa0\x69\xf9\x36\xbc\x95\x51\xf7\x77\x45\x6b\x31\xe6\x72\x0d\x0f\xfb\x84\xa0\xe6\x8c\x11\xb5\xd0\x87\x7d\x74\x99\xd5\x51\xc7\x4a\xac\xea\x58\xf3\xe4\x76\xd0\x0e\xc1\x4f\x8c\xc6\x49\x05\xb3\x74\xe7\x08\x74\x95\x93\x59\xe0\xd7\x4d\x53\x23\x0e\xfc\xab\x66\x5d\xb2\xe2\x3d\x3b\x37\xf1\x13\x85\x8b\xa6\xc7\xd9\xff\xc0\x7f\xc4\xcf\x5c\x0c\xe3\x06\x07\x96\x0d\x03\x6d\x91\x28\x3f\x21\xe7\x22\xa1\x49\x7d\x7b\x9b\x90\xc9\x87\xa6\x90\xce\xcc\xef\x74\xcb\xdf\x74\xf7\x65\x4a\x88\x91\x38\xa1\xac\x50\x56\xc3\xd1\xca\x3a\x73\x77\x10\xd0\x4f\x53\x97\xa2\x7d\x31\x08\x39\x33\xb9\x9b\xf0\xa9\xcd\x15\xdf\x17\x81\x81\x1a\x6b\x57\xdc\x48\x26\x6b\x3c\x23\xf2\xc3\x34\x14\xfb\x6c\xea\x46\x7c\x5c\x94\xa5\xd7\x87\xb6\xad\x40\x83\xf2\x0d\xe3\x65\x3a\xf9\xfc\x45\x67\x4c\x2f\xc5\x65\xa3\x2b\x4d\xad\x27\xab\x8e\x4b\x3f\x18\x2f\x60\x3c\xcb\xf8\x08\xb4\x77\x70\xdb\xf5\x5b\x1d\x9b\xd4\x4d\x2a\x81\x1a\xf3\x92\x70\xb5\x93\x9f\xbe\xcf\xbc\x88\x11\x66\x27\xc2\xce\x1a\x4c\xe7\xb2\x2a\x64\x85\xea\xad\x3c\xf6\x6a\xab\x9c\x5b\xbd\x1f\x70\x50\xf6\x44\x3e\x7a\xa2\x1f\xfb\xbb\x93\x0e\x5e\x47\xdd\x3d\x15\x66\x07\x4d\x5e\xb5\xfb\xa2\xba\x02\x0f\xbc\xfc\x33\xb3\x1d\xae\x0e\x7c\x8c\x04\xb1\xf9\x35\xde\xd4\x55\xc7\x2a\x28\x31\xeb\xfe\xd9\xe2\xd5\xb5\x68\x63\x21\x8e\x8d\xd9\x9a\xb1\xae\x8a\xb0\x1f\xb9\xed\xae\x9c\x13\x6c\x75\xd0\x35\x9f\x2d\xfc\x21\x0a\x7a\xfa\x4a\xe5\x48\x56\x6e\xda\x82\x1a\x9f\x1c\xf6\xa3\xe4\xb3\xc5\xf0\x77\xff\xef\xbf\x7d\x3e\x9d\xab\x61\x8d\x92\x57\xd7\x05\xfc\xb9\xac\x7f\xb8\xfd\xcc\x08\x6e\x9a\xcf\xe0\xe3\x8b\x07\x21\xbe\x57\xc3\xf8\xb7\x60\x18\x90\xfe\xdf\xc9\xdd\xe1\xd1\x43\xea\xd6\x0e\xf8\x7a\x19\xd8\xbd\xc3\xab\x40\xe5\x11\x41\xb1\xba\x71\xff\x41\xf1\xbd\xca\xac\xad\x1a\x13\x97\x11\x26\x11\x01\xdd\x84\xd8\x37\x9e\x62\x82\x3c\x76\x79\x87\x91\x12\x43\x5a\xa4\xb3\x28\x90\xee\x49\xba\x43\x6d\xcc\x7f\x9d\x42\xc3\x27\xaa\x13\xda\x03\x29\xc4\x22\x14\x10\x44\xac\x01\x2e\xc6\xa5\xb9\xac\x23\x2c\x99\x85\xe3\x71\x3a\x7f\x62\xe6\x2a\xf4\x19\x9a\x75\xcb\x7c\xc3\xa3\x0e\xbb\x7d\xa7\x39\x2f\xe7\x3b\xe2\x01\x2c\x20\x15\x91\x15\x64\xf4\x11\xb3\x3e\xf3\x13\xde\x56\xaa\x7b\xc9\xbc\x70\x57\x8d\x32\x1a\x11\x08\x72\x24\x7b\x7c\x02\x3b\x4d\x2c\xa6\x50\xa7\x46\x5e\xba\x6e\x12\x64\xc9\x53\x46\x32\xc0\xa9\xb7\x65\x5d\x37\x29\x7b\xc1\x5e\xb0\xeb\xcf\xd9\xbf\x8e\xe1\xef\x74\x3a\x9a\xfd\x3f\x2f\xd8\xf5\x4b\xf1\x83\x64\x62\xbd\xf7\x0d\xdb\xf0\xb6\x3f\xfc\x8e\xa9\xf0\xc6\x73\x2e\x07\x86\x4d\xc7\x7c\x3a\x94\xa5\x1f\x2e\xec\x9e\x83\x6a\x3f\xd7\xf6\x49\x1d\x7d\xa2\x49\xc1\x2c\x0a\x60\xdb\xe3\x7a\x73\x1b\x09\x0b\x97\x24\x23\x88\x02\x37\x81\x54\x75\x6f\x6e\xd3\x64\xa2\x5d\x7c\xc7\x33\x48\x62\x3f\xcd\x54\x84\x8f\x31\x1f\xcf\xb4\x21\x7f\x98\x38\x5a\x5b\x62\x46\xc3\xf5\xb0\x5c\x4e\x0d\x46\xb7\x84\xff\xb3\xa9\xd8\x46\x63\x46\x79\x6e\xe9\x7e\xf9\xb5\x84\xc9\x0b\x45\xb9\xe7\x6c\xc4\x69\x97\x5b\x79\x9c\x3b\x9d\xc7\xd9\x83\x04\xe4\x1c\x36\x3d\x15\x0f\xc3\x61\xb7\x80\x1f\x4b\xf8\x3f\xb3\x47\x31\x1c\xc2\x9f\x45\x27\x87\xd3\x01\xde\xb0\xa3\xdc\x76\x01\x95\x9f\xf6\x1e\xdc\x4b\xb9\x0b\x75\x88\xa6\x3e\xf6\x98\x85\x59\x26\x40\xfc\x06\x19\x4e\x23\x09\xb3\x14\xc3\x94\x48\x91\x09\xc8\x68\x8f\xc7\xc4\x96\x6a\x40\x99\x1b\xac\x10\xc0\x18\x91\x00\xb8\x71\xb2\x54\xce\xad\x6e\x9d\x33\x1a\x54\xc6\x96\x6e\xa1\x8b\x94\x13\x45\x04\x9e\x52\x95\x05\x56\x8c\x43\x26\x9f\xed\x40\x4b\xc6\xf6\x38\x94\xe1\xb0\xc7\xcb\xc3\x1e\x1c\x23\x84\x26\x80\xe8\xe1\x23\x25\x50\x57\x54\xcf\x2d\x6f\x5a\x41\xb0\x19\xfa\x4a\xd4\xf5\xbc\xd7\xa3\x37\x97\xe5\x23\xcf\xc4\xa3\x4b\x4d\x95\xc5\x27\x35\x2b\xee\x22\xa7\x61\x28\xd0\xe8\xf8\xb0\x07\x75\x29\x23\xd4\x49\x6e\x06\xb6\x39\x4b\x77\x1d\xf6\x4d\xbd\x4f\x13\x2b\x75\xd9\xd4\x1b\xa1\x24\x11\x55\x95\x84\x28\x7e\xbd\xb7\x85\x59\x4f\x0b\xac\x92\x0d\x38\x9b\xab\xcd\x58\x44\x8f\x25\xa7\xa0\x66\xd4\x27\x42\x12\xfc\x14\x2e\x60\xe4\xde\x0d\x56\xbd\x1b\x0e\x51\x48\x05\xb8\x0d\xe5\x46\x93\x3f\x95\xf5\x0d\xc4\x28\xf5\x62\x6d\xd8\x5b\x7a\xa9\x2b\x4d\x6c\x8c\x40\x67\x53\x97\x90\x95\xa7\x82\x64\xa3\x8e\xd0\x44\xee\x44\xde\x7e\x57\x7c\x97\x76\x64\x29\xf0\x00\x1c\x78\xdc\xc4\xb1\x11\xc3\x27\xcb\x24\xc9\x3e\x6d\x70\xf2\x74\x74\xb4\xb7\x72\xcf\x78\x3b\x13\x1c\xa9\x57\x74\x06\xfc\xc3\x63\x52\x34\xbc\x18\xc3\x7a\x88\xc3\x96\xf9\x97\x00\xb5\x2b\x14\x0f\x7e\x85\xe2\xc1\xae\x50\xd5\x1f\x94\x36\xa7\x17\x45\x9c\x74\xd2\xfc\x18\x0d\x31\xd7\x0b\xea\xe1\x1a\x8d\x92\xb9\x54\x99\x46\xa9\x07\x71\x64\x72\x1f\xb3\x90\x08\xf2\x09\xc4\x52\x9f\x92\x21\xd1\x63\x1e\x23\x07\xe7\x8c\x7c\xd2\x79\x05\x9c\xa0\x57\xdb\x59\x97\xde\x77\xc5\x43\xef\xbb\xca\x98\x94\x6b\xee\x62\xd2\x30\x50\x5c\x18\x47\x7f\x15\x30\xe9\x04\x02\xeb\x9f\xf6\xf1\xe3\x0b\xaf\xd2\x0e\xce\xa7\xac\xd7\x27\xb0\xb4\x4c\x16\x40\xa2\xd6\x1d\x8f\x31\x69\x9a\xa5\x42\xdc\x8b\x6d\x01\xdd\x7f\x29\x78\xc3\xbe\x01\x7c\x89\xc2\x4f\x35\x84\x2f\xcf\x49\x4d\xe3\x83\x18\x3f\x3d\x0a\xc1\x9d\x9d\x07\x42\x6c\x42\xe2\x2b\x31\x30\xf1\xf7\xe9\x39\x9c\x6b\xc1\x3f\x19\x9a\xe9\xd0\x3a\x18\x95\x3b\x34\x65\x36\x49\x4b\x1c\x2d\x9c\x96\xa8\x3c\x75\x18\xa5\x36\x25\xe4\x02\xaf\xdc\x7d\xd3\xab\x62\xa2\x41\x9c\x43\xf8\x7c\x34\xaa\x4c\xfe\xdf\xd6\xe6\x9d\xf2\x0e\xdd\x7b\xbf\xab\xb7\x2c\x85\xbb\x65\xb2\x2b\x5a\x15\xcb\x6e\x31\x1b\x0e\xb7\x6c\x53\x6f\xd9\x4f\x3f\xfc\xf9\x8b\xfa\x7e\x5f\x57\xc0\x02\x4c\x76\x0d\xbb\x55\x9b\x37\x2d\x68\x92\x10\x41\xd8\x47\xaa\x96\xf5\x06\xf2\xbb\xc7\xbe\x38\xa1\xa4\x7e\x4a\x8b\xfc\xfa\x77\x93\x17\xbf\xbf\x9e\x3b\xda\xa8\xae\xb8\x69\xe3\xaa\xa8\xb2\xf8\x98\xfd\x61\x3a\xb5\x52\x03\x83\x64\x4c\x66\xb2\xad\xcb\xb2\xd8\xb7\xfc\x06\xf3\xf2\x82\xec\x31\x4b\xc0\xd2\x2d\x91\xae\x49\xa0\x86\xcf\x12\xc9\x98\x27\x74\xc7\xb7\x4a\x25\xb4\xab\x3f\xe0\xaf\x58\xba\xdc\xd7\x91\xb2\x6f\xeb\x62\x8b\xcf\xa5\xfa\xd5\x9b\xd9\x16\x69\x22\xea\xf2\x2f\xc8\x97\x35\x07\x97\x66\x8c\xca\xc7\x04\x44\x2e\x17\x31\x24\x61\x32\x55\xd1\xc0\xd8\x02\x50\x42\xf9\xc4\x7a\x24\x93\x2d\x2b\xd9\x5d\xd1\x31\xa4\x96\xa0\x7a\x55\xbc\xbf\x5a\x5c\x95\x3c\xb1\xc4\xdc\x92\x83\x07\xd8\x7e\x57\xdc\xb3\x76\x5f\x6c\x18\x75\x2c\x4d\x64\xa8\x1f\xde\x4a\x79\x19\x48\x30\x4d\xc2\xda\xe1\x30\x14\x0c\x9f\xa2\xfd\x17\xd5\x66\x57\x37\x09\x4d\x40\xca\xfd\x44\xcf\xa6\xe3\x4d\x59\xb7\xac\xed\xd2\xa4\xe4\xc9\xb9\x61\x20\x2d\x55\x1e\x1a\x93\x1d\xf2\xdd\xbe\xa9\x37\xac\x6d\xdf\x16\x37\x2d\x88\xab\x71\x7b\xe5\x8a\x13\xe6\x1d\x2f\x4a\xd8\x0b\x18\x50\x5e\xb9\x2f\x73\x2d\x6a\x13\xf8\xce\x3c\xe5\xdd\xe4\x50\xf1\x7f\x88\x1b\x51\x97\x4d\x36\x75\xb5\x01\xbe\xe7\x5e\x09\x32\xc5\x6c\x27\xb7\xbc\xec\x04\xa7\x10\x1b\x2c\x8d\xe0\x21\x86\x9f\x01\xb7\x07\xd8\x98\x10\x48\xbd\xad\xa5\x80\xf6\xd8\x75\x88\x64\x28\xb3\x65\xe3\x08\x64\x37\xf7\xfe\x3b\x41\x36\xcb\x69\x2a\x18\x90\xac\xeb\xd3\x21\x61\x05\xd7\xca\x4f\x1c\x09\xf3\x2d\x30\xf5\x16\xf0\xfc\xe3\xc1\x63\xa3\xf4\xb8\x4f\x7b\xbb\xd2\x2a\x37\xe8\x45\x20\xad\xf6\x70\x83\x44\x69\x3a\x73\xf8\xef\x1c\xe9\x14\xe5\x7c\x0c\x10\x73\xa3\x59\xb5\xb4\xb0\x84\xf1\x85\x16\x3d\x8b\xdb\x5b\x1c\xae\xa6\x2e\x5b\x48\x88\x5b\x2d\x53\x9e\xb7\x90\x4f\x97\x9d\x90\x0a\x92\xad\xcb\xd1\xdb\xcb\x11\x5d\x55\xdc\xd4\x2a\xab\x3b\xa1\xa9\x6a\xe3\x78\x44\x06\x9d\x78\x8d\xc9\x35\x99\x66\x83\x19\x21\x94\xcb\x65\x3b\xdb\x1f\xfb\x07\x10\x5f\xd8\x1e\xd4\x6d\x97\x83\x59\x36\x25\x84\x0e\xda\xe1\x90\xe7\xbd\x4b\x0f\x95\xa7\x84\x72\x5b\x5b\x0b\xda\xfd\x2f\x8b\xae\x08\x2f\xa6\xc7\xae\xb8\xc9\xac\xf5\xa7\xfb\xa2\x62\x65\x16\xee\x08\xb9\xa7\xc0\x17\xbd\x62\xe5\xd7\x75\xf3\xb6\xb8\x49\xad\x7a\xb0\xb5\x4e\x27\xfa\xae\x2b\x6e\xfe\xdd\x97\x4b\xeb\xf4\xcc\x9d\x6b\x89\x15\x28\xa4\xbc\x83\xaf\xdc\x5b\x2c\x28\xb5\x84\x16\xf9\x60\x6a\xd9\xaf\x62\x9a\xe2\xef\x8b\x3b\xf6\x5d\xf1\x5e\x00\xee\x51\x4a\xb8\xb9\x27\xe1\xb6\xa5\xe0\x93\x1f\xfe\xfc\xa7\x6f\xde\x66\x61\x39\x48\x9c\xab\xd1\x08\x33\x01\xcd\xc3\x0a\x3f\x7d\x1f\xf9\xea\xdb\xaf\xbe\x7e\x9b\x15\x02\xfd\x57\xe3\x71\xef\xa7\x5f\x7d\xf7\x65\x26\x67\xe4\x2e\xdb\x78\xd6\xfb\xcd\x37\x6f\xfe\xf2\x55\x56\xe5\xd3\xde\x0a\x3f\x7e\xff\xfa\x8b\xaf\x94\x8c\x9c\x87\xea\xba\x50\x0c\x22\xef\x46\x63\xff\xfc\x4e\xdd\x96\x69\x45\x28\x8b\x0e\xfc\xed\x57\x3f\xfc\x66\x7d\x04\x21\xdf\x61\x07\x88\x1d\x0e\xdd\x4b\x5b\x15\xd9\xdd\xe9\xd9\xdd\x55\x9a\x67\xd9\x1c\xda\xef\xd8\x43\x27\x76\x6a\x45\x0b\xd0\x5c\x76\x4d\xf9\xef\xec\x23\xc4\xaa\xb4\x70\x44\xcb\x4a\x48\x0c\x21\xae\xa9\xa2\x6c\x75\xae\x32\x75\x1a\x2b\xd2\x53\xbb\x6b\x0e\xba\xb2\x19\xc3\x59\x41\x71\x2d\x4d\x45\x24\x0e\xa1\x15\x91\xf9\x78\xa1\x3a\x1a\xd2\xc3\x29\x0c\x4e\x91\x8a\x4e\xea\xed\x78\x46\x20\xba\x20\xce\x4c\x66\xd0\x10\xab\x06\x21\x7f\x9d\x8d\x8b\xde\x47\x3e\x34\xed\xc3\x2e\x55\xd1\x02\xd7\x3b\x9d\x38\x47\x59\xef\x83\xa2\xec\xa0\x4b\xde\xd7\xa5\x54\xfc\x48\xa9\x8a\xd9\x02\x91\x05\x8a\xec\x88\xf1\x8c\x02\xce\x1c\x4c\x49\x76\x69\x67\xe2\xf8\x7e\x62\x77\xa3\x99\xe8\x09\xbb\x63\x27\x0a\xf7\xa7\xac\xee\x39\x6d\x5a\xb4\xb8\xb9\xc9\x17\x15\x88\xcd\xa6\x84\x4e\x17\x28\x41\x13\xbb\xf9\xa4\x42\x33\x57\xc1\x95\x30\x9e\xcd\xc7\xb3\x01\xc4\x65\xae\x90\x02\xd1\x46\x00\xbe\xee\x8f\xcc\x09\xcb\xf9\x92\x8d\x66\x19\x1b\xcf\xb4\x08\x17\xa4\x25\x66\x52\x9e\x08\xc0\xf0\x08\x9a\x1c\xd0\xb3\xd7\xa9\xbd\xd4\x0e\xef\x88\x31\x43\xe8\x93\x6e\xea\xa5\x57\x7b\x17\xe4\x31\x3e\xb0\x39\xa1\x8c\x64\xae\x68\x4d\x55\x6a\x59\x77\xd8\x7f\x29\xdf\xc8\x9a\xa9\x2b\x96\xe3\x84\x26\x36\x89\x6b\xcb\x1b\x15\x55\x7d\x01\x5d\x0c\x01\x25\xfb\xa8\x26\xa5\x65\xd2\x63\x16\xcb\x9e\xc0\xb1\x90\xfd\x59\xc3\x85\xdb\xb3\x15\x83\x4d\x2c\xf6\x23\xac\xf7\x8d\x79\x89\x33\xc3\xbb\xf0\xcf\xdb\xa8\xd2\x2b\x4e\xa1\x1c\x8f\x7a\x3a\xc9\x88\x83\x1c\xa5\x2d\x04\xcd\xf5\xdf\xec\x47\x40\x3a\x75\xdc\xa4\x68\xd9\x69\xde\xec\x7a\x35\x48\x7e\xff\x2f\xc3\xcf\x52\xf2\x62\x44\x27\x3f\x5f\x67\xf3\x57\xf9\x62\xf9\xff\xfd\xbc\xfa\x79\xfd\xf3\xdf\xfe\xd7\xe3\xf1\xf4\xbf\xd7\xd7\x77\x34\xf9\xf9\xe7\xdf\x0f\x13\x92\x25\x49\x24\x73\x80\x63\xc8\xa8\xc3\xb3\xeb\xfd\x5b\xf2\xb6\x33\x81\x45\x93\x6c\x57\xb4\x69\xb1\x12\x0c\xe2\x9a\x24\x64\xce\x6c\xc2\x59\x50\xc7\xfc\xd9\x54\x31\xb7\x08\xe2\x28\x4d\xcf\x2e\xa4\x81\x3d\xa2\x36\x08\xf1\x28\x67\xa3\x7d\x58\xb1\xbe\xf1\x5e\xb5\x4e\x6b\x9e\xe7\x66\x66\x46\x6a\xa0\x08\x74\xc5\xf8\x29\x7a\x3d\x25\x4a\x5c\xe0\x63\x21\xeb\x18\x6a\x05\xd2\x54\xcf\x68\x3c\x23\x80\xf4\x32\xe6\x90\xfe\x3e\x99\xa8\x68\xae\xb3\x03\x88\x48\xe5\xfa\xc4\x98\xde\xc9\x8c\x23\x21\x1a\x9e\x0a\xa7\x22\x1c\x20\xa7\x96\x7d\x26\x9c\xaa\xd6\x49\xb2\x11\x51\x55\x77\xce\xfc\x1c\xb1\xaa\xbe\x76\x33\x79\x49\x53\x65\xae\x91\x8d\x67\x6a\xa3\xc0\xcd\x69\x35\x74\x8e\x62\x25\x32\xa1\xbd\xd3\x0b\x7b\xd8\x17\xd5\xd6\xee\x05\xcb\x65\xac\x89\x0c\xaf\xfc\x53\x8c\x6b\x5a\xda\xad\x87\xac\xbf\xe4\x1a\xae\x02\x83\xa0\xbe\x59\x42\x4f\x66\x92\x53\x7d\x18\xce\xcc\x49\xba\x1a\xf5\x4d\x09\x9b\xf4\x66\x84\xf3\x3c\xa9\x1d\xab\xae\x84\x69\x68\x15\x33\x25\xa0\xc1\xd4\x47\x31\x8e\x33\xe6\xf6\xd9\x32\x5e\xd3\xdf\x72\xd0\xe6\x84\x70\xa9\x8a\xf7\x02\x28\x68\x18\x3e\x6e\x58\x8b\xc2\x11\xf9\x0c\xc4\xde\x2d\x7f\xb0\xe4\x25\x3b\x56\x6c\xd1\x5a\xc3\x11\x97\x38\x76\x40\xb2\x7b\x9b\x92\x73\x31\x18\x6a\x95\x16\x57\x25\xf7\x30\x98\x67\xd4\x84\xf8\x0a\xa9\x25\xdb\x46\xa3\xde\xeb\x95\x13\x5d\x66\xa2\xc7\xe8\x96\x94\x88\xc9\x3a\xc8\x02\x2b\x46\x64\x84\x69\x52\xa0\xed\x30\x59\x4d\xd7\xa7\x18\xa4\xa4\x30\xc5\xed\x17\x92\xdb\x57\x1d\x30\xd2\x67\xce\x44\x6e\x68\x3d\x89\x29\x5d\x1e\x9a\x53\x19\xd2\xa9\xa0\x35\x6d\xe8\x2e\xef\x04\xd9\x8b\x92\x8f\x3f\x6f\xd5\x96\x82\x4c\x67\xb4\xc4\x97\x2e\xaf\xb6\xc9\xcb\xf8\xad\x36\x6f\xd3\x8a\x2c\xd3\x22\x47\x3e\x1f\x82\x14\x68\xdb\x47\xb1\x0a\x6c\x12\x5c\x73\x69\x41\x08\xc9\xd2\x26\x67\x13\xbc\x45\xd3\x52\x30\x7e\xc9\xef\x92\x51\x13\x36\x50\x10\x5a\xeb\xa8\x85\xa9\x78\xad\xc2\x8c\x8b\xa9\xa7\x8d\x78\x8d\x3e\xa4\xaf\x55\x44\x62\x80\xc9\x8a\x8f\x67\x6b\x41\x3d\xcb\x4d\x41\x44\x45\x6b\x0e\x25\x50\xe8\xc9\xbe\x2e\x79\x27\xd8\x7d\xdd\x8b\xf4\xe3\x07\xb8\xaa\x1f\x62\xbd\xd2\x9a\x10\xba\x19\x0e\x4b\xcc\x5f\x60\x16\xce\x81\x08\xdd\x10\x5a\x3a\x47\x54\xbf\xca\x0a\x47\x0c\x22\x8f\x6a\x59\xdc\xb0\xb2\x64\xdb\x9b\x8f\x49\xb6\x3b\xf9\x83\x34\x2f\xe9\x8e\x78\x88\x30\xdc\x43\xf0\xe2\xac\xf0\x51\xc6\xb3\x0b\x0f\x14\x7c\xaa\xb2\x1d\x89\xe3\xdc\x27\xe9\x96\xe0\x94\x74\x96\xb3\x54\x49\x5d\xd2\x83\x38\xad\x80\x61\x4c\x3c\x78\x90\x3b\x44\x6d\x2b\x93\x57\x5b\xfe\x7e\x91\x58\x1b\x90\xb2\xd8\xe1\x78\xc6\xc4\xdc\xc5\x91\xaa\x2a\x50\xef\x22\xed\x6b\xae\x42\x97\xfb\xf2\x42\x1d\x2a\xbc\xcf\x0c\x8d\x10\x97\xc9\xb0\x1c\x98\x8a\x7c\x30\x33\x69\x49\x39\xb8\x4c\x59\x62\xa0\x55\xbb\x06\x2f\x20\xc1\xd8\x0c\xa6\xc7\xa3\xcf\x1c\x50\x06\x71\x42\xe3\xf8\x49\xd3\x53\xf6\xce\x30\xda\x33\xc9\xa8\x66\xf0\x7d\xa0\x7a\xf3\x9b\x08\x34\x60\xe6\xdd\x3c\x4a\x1a\xe4\x4c\xc1\x0d\xe9\x82\x88\xcd\xcf\x23\x88\xf0\x5d\x15\x53\xc4\x18\x7b\xce\x86\x43\xe9\x2b\x60\x87\x99\xa4\x9e\x91\xc5\x8a\xad\xf3\x04\xad\xfe\xbf\x01\x3e\xb5\xd1\x57\xf2\xbb\xfa\x56\x5a\xdf\xa8\x65\x10\xe7\x52\x43\x99\x98\x47\x3c\x22\xc4\x77\x99\x90\x9f\x51\xee\xbf\x10\x9f\x53\xed\x62\x90\x58\x92\x2e\xab\xf3\xca\x6e\xdb\xae\x6d\xf3\xf4\xa6\x3e\x30\x5d\x60\xd0\x69\x46\x28\x5f\xed\xea\xf7\xac\xf1\x5e\x29\x30\x5b\x84\x55\x2c\x2c\x8c\x6b\xa4\xab\x0c\x6a\xe7\xc9\x2d\x2f\x4b\x8c\x26\x04\x89\x11\x94\xc5\x29\xe5\x63\xf7\x0b\x27\xde\xdb\xd8\x79\xa5\xbf\x71\x4a\x5b\xf4\xa7\x6f\xd3\x24\x83\xf0\xfd\xa0\x80\x8d\x25\x21\x65\x52\x04\x08\x79\xe9\xfc\x90\xab\x73\x27\x50\x4d\x3b\x1c\xca\x10\x05\xf8\x90\xf2\x71\xce\x9c\xa1\x09\x76\xfd\xe4\x8d\xc4\xca\x78\xa0\x89\x40\xb9\xd0\xc1\x80\xc4\xb4\xa5\xbe\xc1\x6b\xd6\xc3\xa2\x61\xee\x04\xfc\x4a\x02\xc3\xa2\xe3\xf9\x58\xab\x4e\xec\xb4\x02\x23\xef\x0b\x22\x06\xee\x05\x2c\x93\x8e\x9d\x84\x64\xda\xc3\x93\xa1\x3c\xf7\xec\x58\xb8\xb1\x43\xe3\xd4\xeb\x26\x49\xac\x1e\x4f\xfa\x37\x07\x01\x8f\x7d\x7a\x2e\x30\x21\xb6\x84\xc4\x55\x1e\x1a\xa6\x53\x71\xbd\xbb\x04\x41\x9d\x17\xe8\x84\xd0\x0a\x06\xab\xc9\xeb\xe1\xd0\xd1\x57\xd1\x5d\xde\x2c\x3b\x15\x99\xd8\xa7\x6a\x0b\x41\x66\xb4\x67\xc5\xcf\x2d\xea\x33\x36\xf9\x63\x5d\x6e\xdf\x16\x37\x59\x4b\xeb\x72\x8b\x57\x49\x49\x2b\xf6\x41\x94\x61\x17\x85\x78\xc4\x37\xbb\xd3\x3c\x22\x05\x2b\x62\x26\xfb\x06\xef\x1d\x8f\x5e\x05\xb8\x39\xca\xba\xd8\xf2\xea\x4e\xbc\x86\x01\x4a\x35\xe0\xf1\x58\x0f\x87\x03\x67\xae\x3d\x0e\xab\xaf\xb5\x3b\x35\xa3\x1b\x6d\x5c\xa9\x55\x56\xcd\x72\x30\xcb\x7c\x06\xb0\x70\x55\x43\xb5\x9c\x1f\x94\x3d\xec\x54\xb0\x89\x87\x5d\x33\x29\x6e\x40\x95\x44\x4b\x4d\x1b\xed\x4c\x6c\xe7\x09\x6b\x9a\xba\x49\x13\x54\x43\x5f\xfd\xf4\xe7\x2b\xa0\xe8\xaf\xfe\xc2\x5b\xc8\xfc\xcb\xab\xbb\xab\xdb\xa6\xb8\x13\xa7\xea\x8a\x6f\x59\xd5\xf1\x5b\xce\x9a\x49\x42\xe8\x2e\xa2\x26\x8a\x8c\xd2\xa4\xbe\x07\x79\x4d\x2a\xa6\x08\x52\x11\x78\x3c\x27\x53\x2b\x6c\x85\x6a\x61\x41\xad\xb0\xe0\xc5\x89\x51\x8a\xc3\x41\x98\xe0\x8a\x7b\xba\xc3\xcb\xf9\x30\x8b\xba\x33\x39\xf5\x04\x3f\xb5\x2c\x26\xef\x80\xaf\xaa\xa9\xfb\x82\xb6\x24\x4b\x6b\xc9\x73\x51\x10\x9c\x02\x05\x8d\x8a\xe2\x3a\x87\x21\xc1\xae\xa3\x4d\xce\x27\x6a\x73\x7a\x3a\xe3\x29\x6d\x5c\x80\x6a\x2e\x99\x6f\x99\xdc\xf9\xc0\xa9\x36\x34\x78\x6d\xeb\x4e\xa1\x83\x10\x00\xfe\x75\x7f\x1e\x06\x55\x4a\x4e\x24\x4b\x7f\x93\xb6\x1a\xc9\x60\x8b\x46\xc5\xd3\x27\xf1\xd9\x7a\x24\xe7\xe5\xf5\x66\xed\x14\x30\x97\xde\x97\x8e\x73\x47\x56\xbb\x20\xb7\xf5\x7c\x21\x51\x3b\x15\x94\x9d\x44\xad\x5e\x63\x02\xad\x46\xda\x57\x24\xfa\x33\x59\x70\xaa\x37\xf1\xc5\x32\x81\x13\xd5\x22\xa6\x7e\x52\xc0\x56\x06\x33\x32\x6f\x2d\x2f\x76\x2d\xf3\x1a\x0e\xd3\xd6\x30\x51\x0e\xc6\x27\x54\x90\x0b\xc6\x0e\xd3\x61\x46\xb5\xf4\xcc\xb9\x51\xd2\xc7\x0e\x2e\x86\x8c\x53\xe7\xa2\xc8\x38\x75\x71\x6f\xd6\x4d\xaa\xba\xde\x9f\x00\x35\x98\x61\xc6\x78\x01\x86\xbe\x52\xfa\xca\x50\x92\x0a\x26\x59\x12\x84\xc9\x65\xb6\x8e\x69\xe7\xd2\xea\xb6\x70\x4d\x16\x29\xb1\x25\x48\x06\x7e\x9f\x7f\x96\x8c\xba\x51\xf2\xd9\x3a\x51\xa6\xdc\x7d\x26\x6e\x71\x24\xec\x50\x29\xb1\x73\x74\xb9\x69\xc8\x55\x4c\xe6\x6d\x04\x1d\x20\xde\x88\x9e\xd4\xdf\x4a\xd2\x12\x5a\xdb\xb9\x92\x85\x38\x9a\x50\xc2\x8b\x27\x6c\xf5\xcc\xd1\x92\xc5\x3f\x69\x19\x84\x25\x2a\xf4\xa9\xf8\x90\x46\x33\x29\x04\x69\xc0\xea\x91\xa5\x3a\xce\x2a\x50\x43\xe6\x16\x9c\x11\x00\xd9\x48\xee\x2a\x20\x15\x5c\x11\x51\xc0\x7c\xc6\x97\xd6\x43\xa3\x86\x9d\x7d\x0a\x34\xaf\x3d\x59\x45\xa4\xfc\xe6\xd0\x7e\x8c\x95\x6b\xa4\x12\x6b\xcb\x88\x14\x22\x6f\x55\x4e\xae\xf0\x8d\x46\x73\xb1\x45\x3e\x39\x2a\xa7\xb3\xbc\x01\xcf\xd9\x59\x01\x0a\x99\xf3\x25\x8b\x0a\x9b\xa8\xe6\x6f\xbf\x3c\xf7\x7d\xc6\xc2\xc1\x9b\xb7\x1e\xf5\x2f\xaf\x77\x6d\x70\xe6\xfb\x83\x58\xc2\x6c\x15\x1e\x0b\x3f\x04\xfa\x5e\x25\xfa\x49\x12\x72\xa2\x68\xe5\x1d\x33\x8c\x88\xb1\xd5\xf3\xd6\x58\x8b\x08\xa6\xad\xcd\x07\xb3\x4c\xdb\xea\x2a\x84\x97\x72\x22\x13\x8b\x48\x41\x01\x59\xa2\xe2\xa5\x8d\xe9\x56\xba\x41\x9e\xf3\xa5\x8c\x75\x41\x32\xcf\x80\x89\x46\x55\x88\x0c\xbe\x61\xf2\x1b\x47\xc2\xaf\x55\x06\xad\xc0\xdf\x72\xe0\x17\xcf\x8f\xdf\xa6\x30\xc5\x29\xf8\x4d\xc0\x24\x49\x9b\x0f\xa6\x98\x73\x09\x8a\xc2\xb9\x7a\x72\x11\x4e\x5b\xe5\x7d\x3e\x0f\xc1\xc0\x9a\x3b\x96\x42\x2e\x4d\x65\x58\x95\xad\xf8\xfa\x14\x9f\xc1\xe9\x44\xdd\xf8\x08\x40\x99\x32\x7f\x0c\x8c\x58\xb1\xe0\x54\xc4\x47\x73\x17\x09\xbe\xa7\xef\xae\x54\x89\x84\x22\xcc\xce\x2e\x07\x63\x9c\x42\x9a\xe0\x34\xa7\x79\x9b\xd6\xab\xe9\x9a\x28\x6f\xab\x87\x5d\x93\x77\x93\xe2\xef\xc5\x83\x52\xb9\xfe\xbd\x78\xf8\x91\x75\x1d\x30\xde\x35\xe5\x74\xa7\xd6\x06\x6e\xa0\x04\xbd\xac\x91\x7f\xd6\xd7\x91\xc0\x56\x87\xf6\x2d\x7b\x10\x77\x60\x11\xa1\x8e\x35\x4f\xa3\x08\x36\x0b\x8d\xb8\x06\x0f\xd0\xdc\x61\xb3\x61\x6d\xeb\x18\xe8\xb6\xac\x53\xc6\x19\x36\x29\x35\xd9\x75\xf7\x60\x2c\x5e\x59\x04\xbd\xe8\x2d\x81\xa1\x9f\xe8\x0c\x78\x62\x69\xd3\xed\x59\xc5\xc6\xdb\x4c\xe0\x72\x95\x9c\x72\xa5\xcf\x6b\x57\xef\x53\x08\x7d\x23\xd8\xba\xe8\x5d\x64\x4f\xb2\x07\x63\xd2\x0e\x42\xa9\x03\x28\xa5\xef\x3a\x3c\xe1\x38\x81\x5a\xb1\x17\xc0\xd9\x34\x26\x8e\x45\x67\x85\xc0\x39\x34\x65\xa6\xb0\x96\x20\x29\x12\x22\x8d\x50\x7f\x64\x95\xb3\xe9\x8c\x31\x5b\x15\x70\x8c\xdf\x4a\x80\x75\x13\xf6\xd0\xb1\x6a\x9b\x3e\xfe\xfd\x1f\xff\xf1\xcd\x0f\x19\xa3\xce\x68\x8a\x13\x85\x38\x60\x2a\x7f\x88\xde\x6a\x31\x4e\x3f\x65\x3d\x16\x73\x8e\x07\x92\x23\xc6\x95\x07\xc8\x97\xda\x27\xbf\x4b\x46\x1c\xd2\x09\x5e\x10\x43\x07\x4e\x17\xa2\x87\xd4\xc1\xe6\x5b\xd6\x6e\x1a\x7e\x83\xf7\xcf\xf1\x98\x24\x44\x8a\x02\xaf\x7f\x6e\x47\xd7\x64\x2e\x73\x0f\x73\x42\xed\x6b\xa2\xae\xcb\x8e\xef\xc7\x7c\x0b\x97\x40\x4f\x73\xb4\x9b\x74\x0d\xbf\x4f\xdb\xc9\xdf\x6b\x5e\x61\x0a\x1b\x8b\x8f\xe4\x56\xfc\xa2\x68\xd3\x02\xd5\x3e\x6b\xb0\xb4\xf2\x70\x15\x1a\x7d\x80\xaf\x9b\xa8\xb7\x61\x69\x45\x67\x62\x26\xfe\xb5\xe5\x76\x1a\x19\x37\x6d\x97\xbd\x23\x11\x9c\x69\xe4\x8e\x73\x06\x8b\x61\x23\xf2\xa9\x67\xb7\x8d\xfd\xc6\x4c\xb7\x4d\x4c\x20\xbc\x09\x23\xea\x3f\x97\x49\xe2\x9d\xb8\xf8\x05\x50\xe6\x96\x38\xbf\x58\x24\x64\xd2\xb1\x07\xd8\x77\x80\x14\xc8\x09\x8d\xb8\x07\x53\x88\xd4\xd4\x66\xc9\x0a\xbe\x5d\x67\x55\xdd\xa5\x2b\x75\x5f\xac\x49\x62\xc2\x42\x3d\xde\x7f\xcc\x20\xc3\xc7\x55\x57\xef\x47\xb3\xcf\x13\x5a\x74\xb2\x40\xca\xf9\xc1\x96\x1c\x7d\x40\x93\xdb\x92\xef\x6f\x79\x77\x25\xfe\x26\x27\x34\x14\x1f\x4c\xa9\x9c\x2c\x60\x07\x34\x03\xef\x9a\x62\xf3\x4b\x36\x98\x51\x60\x7c\xb1\xac\xde\xb3\xea\xa9\xa0\x42\x75\x95\x3e\x82\x81\x75\xfd\x9e\x35\x59\x22\x3e\x91\x61\x63\x78\x25\x1f\x35\x01\x84\x9d\xb6\xf9\xe3\x49\xd1\x19\x90\x7f\x4b\x3f\xf7\xb8\xfe\xbf\xb3\x7d\xff\x23\x16\x3a\xd6\x79\xb2\xd0\x8e\x63\x89\x23\x1d\xdc\x56\x7c\x99\xa8\xd6\x92\x2c\x79\x27\x9d\xcf\xd6\x9e\xfd\xd1\x8a\xad\x73\x1e\x04\xa2\x01\x43\x1d\x26\x0d\x75\x90\x22\x42\x04\x2c\xe5\xf6\xce\x1c\x3d\x82\xa2\x9d\xbc\xc3\xc0\x85\x5f\xe0\x97\x29\xba\x69\xa8\x30\x34\xef\x02\x02\xc2\xd5\x2b\x9f\xed\xc0\xc6\xba\x13\xd0\x43\xa4\xc9\x4d\x79\x68\x12\x32\xaf\x26\xc8\x8c\xe6\x95\x2b\xb5\x44\xc9\x24\x43\x21\x47\x5a\x51\x4b\xf2\x1b\x62\x3b\x37\xd9\xba\xb8\x39\xff\x58\x6c\x7e\x89\x64\xd6\x75\x8e\xc2\x9c\x81\xf5\xba\xdc\xcf\x68\x39\x1f\x20\x16\x3c\x28\x94\xb9\xe7\xc6\x3d\x46\x40\x40\x82\xdc\xb6\xf2\x41\xf4\x5b\x0f\xb8\x67\x7c\x30\x76\x67\x48\xfd\x55\x61\xa8\x70\x6e\xe2\x92\x65\x81\xd1\x52\xb6\x64\x72\x61\x9c\xd0\x33\x46\xb1\x1c\x99\xc6\xdc\xa8\xd5\x06\x6d\x1c\x45\x83\x20\xc3\x81\xa4\x40\xb6\x7d\x40\xf7\xaa\x12\x1a\xa9\x8a\xa7\x59\xd0\x13\x6c\x38\x4c\xf4\x31\x87\x7d\x3f\xe9\x3e\xee\x19\x64\xa3\x96\x59\xf4\x7a\xe0\x4b\x5b\x0d\xe1\xbe\x1e\x30\x69\x94\xb7\x79\xa9\x82\x51\xee\x89\xdc\xa5\x37\x8a\xdc\xbc\x0c\x8d\x17\x83\x89\xa7\xad\xa5\xc3\x87\x40\x1b\x30\xca\x15\x80\x96\x6f\xd7\x26\x07\x36\x34\x07\xdf\x65\x5e\x2b\x27\xaf\x59\x74\xff\x51\x7c\x80\x7b\xa0\x5b\xca\x80\x36\x72\x4a\x63\xce\x89\xa1\x67\x00\x54\x95\xe6\xbb\xb4\xce\x61\x77\x7c\xdc\x23\x0e\x9e\xf7\x48\x72\x5a\x29\x1f\x15\xf0\x4b\x19\xed\x40\x22\xcb\x73\x95\xce\x1d\xd2\xe5\x5a\xcc\x48\xd7\x0f\xf9\x2a\x62\xb0\x0b\x76\x9c\x30\x88\xbc\xd6\x1a\x3e\xd5\x13\x17\x7b\x9c\x50\xae\xb0\xb3\xf5\xc2\xc2\x68\xee\x19\x80\x94\x0d\x16\x11\x54\x0b\x92\xa8\x9c\xd4\xb7\x79\x47\x0b\x40\x14\x99\xe2\xae\x8f\xc7\xc2\xa4\xd2\x2a\xa5\x60\x19\x93\x1d\xe7\x86\xf8\xf3\x6e\x0c\x93\x43\x84\xdf\xa6\x15\x70\x55\x85\x25\x01\x04\xeb\x79\x95\x63\x57\xb9\xc2\xd9\xbc\x8a\x84\x89\xc2\xeb\xf2\x7a\xae\xd4\x84\xe6\xad\x8f\xcc\x52\xee\x1f\x08\x0e\xf0\x5a\x86\x3b\x26\x6b\x5d\x59\x86\x3a\x6f\x6a\x80\xb2\x73\x31\x46\x96\xb6\xb4\xb0\x0c\x4e\xc4\xa8\x2f\x19\xa5\x03\x0b\xb8\xc9\x87\x43\x3e\x1c\x5e\xff\x0d\x46\x28\x73\x0f\xe1\x00\x89\xb2\x49\x55\x1a\x5b\xe5\x93\x40\xf1\x1a\x17\x03\xcd\xea\x13\xa1\x75\xca\x09\xc9\xac\xb5\x30\xc0\xaf\x6f\xb3\xb6\x6f\x01\x40\xa3\x84\xd2\x6f\x79\x6f\xee\xea\x0f\x69\xe1\xc5\x06\xdc\xd5\x1f\x48\x58\xe4\xa9\x01\x44\x11\x5a\x87\x0f\x87\xa9\x4c\xe4\x0f\x8f\x6c\xfb\xe3\xae\xfe\x90\xb7\x82\x31\xed\x58\xf3\xbe\x28\xed\xcd\x2b\xf7\x93\xd6\xc7\x0e\x87\x69\x9d\x8a\xbd\x26\x0d\xe8\xf5\x37\x3b\x71\x60\xbb\xc9\xed\xc3\x84\xcb\x22\x12\x24\x84\x45\x0c\xc8\xe9\xa3\x04\x7e\x56\x9c\x04\x33\xfb\x88\x61\xf2\x6c\x1c\xcf\x6f\xd3\x5e\x13\xf4\xaf\x7e\xfc\xe2\xf5\xf7\x5f\xe9\x7b\x40\x22\x3a\x46\xe6\x3c\x76\x2f\xc3\x10\x10\xbb\x71\xb8\x9a\x4f\x14\x37\x50\x48\x7d\x61\xf9\x5b\xb9\x83\x0a\x51\xd5\xdd\x98\x03\xb5\x31\x8f\xc7\xb4\x99\x98\x88\x58\x79\x02\x1d\x24\x70\x8e\x13\x49\xaf\x79\xb5\xa1\xb4\x3e\x74\xa6\xae\xde\x39\x83\x29\x6d\x69\x23\xba\x43\x72\xd1\xbf\xec\x10\xc7\xa1\xc2\x74\xe9\xe1\x6f\xf7\xce\x53\x69\x13\xf0\x9c\x56\x2a\x22\x79\x59\xb7\xa0\x50\x4c\xdd\x25\xf3\xf7\x80\x60\xaa\xfb\x6f\xed\xca\x3d\x8b\xfd\x55\x09\xe5\xe2\x18\xd5\x92\x85\xd6\x11\x28\x61\x23\xd7\xe7\xb5\x4f\xc1\x2a\x74\x2a\x18\xb5\x18\x5c\x0f\x73\x83\xc8\xd7\x32\xdc\xa8\x9c\x70\x65\x0a\xf2\x57\xb0\xcd\x12\x42\x2b\x4b\x71\x61\xe2\xdc\x69\x0c\x8c\x0d\xc8\xe8\xde\x81\x3d\x88\x3e\xe1\x89\x3e\xe1\x89\x75\xa3\x43\x97\xf6\x95\x6e\x93\x9b\xf2\xda\xa4\x2e\xb1\x2d\x90\x89\x26\x5a\x1c\x18\xf3\x09\xfc\x20\x54\x8a\x0e\x74\x0b\x2b\xb6\x56\x37\xa7\x5c\x5c\x13\x33\xcf\x84\x68\x84\x7d\x46\x99\x39\x6e\x75\xf0\xd1\x0c\x55\xa9\xf8\x3a\x24\xb2\x6c\x28\x27\xa3\x76\x34\x82\x4d\xe8\xda\x52\x3d\xf2\x6d\xc6\xa9\xb4\x5e\x94\x6c\x5f\x60\x77\x88\xe5\xae\x72\xc2\x55\x45\x78\xf2\xec\x64\xe4\xd2\x6d\x36\x8f\x05\xfc\x31\x99\x47\x6c\xbb\x22\x7d\x5a\x08\x5e\xe5\x1b\x16\xbb\xb3\x32\x4f\xce\xb2\xae\xa6\x6b\x48\x64\xe7\x71\x59\x2b\xbe\xce\x19\xad\xa4\x72\x29\x16\xa8\x38\x4e\x45\x5a\xc1\x88\xa4\x58\x03\x3c\xdc\xa8\xbb\xcb\x3d\x83\x26\x1d\xf6\xd9\x8e\x76\xa8\x47\xd2\x59\x57\xda\x3a\xae\x40\xfa\x27\x73\x3b\x54\xcd\xcd\x8c\xbc\x97\x52\x0e\xe9\xea\x33\x75\x45\x3b\x3d\x67\xde\xe2\x10\x1c\x31\xd1\xff\x09\x00\x00\xff\xff\x16\x8f\xf2\x71\xbb\x7c\x03\x00") + +func assetsJsJqueryUi1104MinJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsJqueryUi1104MinJs, + "assets/js/jquery-ui-1.10.4.min.js", + ) +} + +func assetsJsJqueryUi1104MinJs() (*asset, error) { + bytes, err := assetsJsJqueryUi1104MinJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/jquery-ui-1.10.4.min.js", size: 228539, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsMoment284Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7b\x77\xdb\x38\x92\x30\x0e\xff\xdf\x9f\xa2\x72\x76\xba\x25\x45\x77\xdb\x71\x3a\x4a\x14\x1f\x4f\x9c\x5b\x3f\x51\x9c\x69\xbb\x37\x9b\xd8\x1e\x2f\x2c\x42\x12\xdb\x14\xa9\x21\x28\x2b\xea\x56\xf6\xb3\xbf\x07\x05\x80\xc4\x8d\x94\x9c\xce\xec\xf3\x9e\xf3\x7b\xd4\x33\xb1\x44\x16\x0a\x85\x02\x50\x00\x0a\x75\xe9\x76\x1f\xc0\x3c\x99\xd3\x38\xeb\xfc\xce\x7e\xe0\xbf\xee\x68\xca\xc2\x24\x86\x01\xec\x75\x7e\xee\x1c\xe0\x33\xb2\xcc\x66\x49\xca\x60\x00\xe7\xe1\x1c\x3e\x26\x49\xd0\x82\xb7\xec\x36\xa5\x31\xbc\x98\xd1\x34\xa6\x77\x2d\x18\x29\x2c\x30\x4e\xe2\x2c\x0d\x6f\x96\x59\x92\x0a\x94\x51\x38\xa6\x31\xa3\x30\x80\xd1\xdb\xf3\x1f\x8a\x2a\x7f\x67\x9d\x71\x32\xff\xe1\x87\xfa\x64\x19\x8f\x33\x5e\x69\x7d\x19\x07\x74\x12\xc6\x34\x68\xc0\x9f\x3f\x00\x00\x74\x1f\xee\xf0\x41\x48\xfe\x79\x91\xc4\x2c\x23\x71\xc6\xf0\xc9\x2e\x45\xbb\x3f\x20\xe8\x1d\x49\x25\x51\xad\x1c\xd9\x7f\xbe\xfc\xf5\xec\xed\xe9\x7b\x18\x42\x0d\x59\x51\x2b\x5e\x75\xbb\x90\xcd\x28\x4c\xa3\xe4\x86\x44\x6d\x36\x4e\x16\x14\xb2\x59\xc8\x20\x64\xf0\xfe\xf4\x5c\x7b\x09\xc9\xcd\xef\x74\x9c\x41\x18\xc3\xfb\x24\xa0\x9c\xcb\x0a\x89\x00\x38\xc3\xc2\x43\xc8\xd6\x0b\x9a\x4c\x54\xa9\x07\xc3\x21\xd4\x72\x66\xd4\xe0\x48\xbd\x18\x60\x3d\x05\x25\x49\x14\xbc\xc6\x37\x23\x8b\xfa\x34\x59\xc6\x01\x0c\x61\x44\xb2\x59\x07\x7f\x14\xef\x66\x84\x9d\xae\xe2\x0f\x69\xb2\xa0\x69\xb6\x86\x21\x9c\x22\x91\x9d\x45\x9a\x64\x09\x27\xa4\x63\x42\x14\x25\xc3\xd6\x0f\xf9\xf7\x4f\x2f\x8f\x7f\x85\x21\xf4\x8a\xb7\xa3\xd3\xf7\xe7\x6f\x60\x08\xfd\xe2\xd1\xc9\xf1\xf9\x4b\x18\xc2\x5e\xf1\xe4\xcd\xe9\x6f\xbc\xd8\xbe\x56\xec\xed\xfb\xdf\x10\xea\xa0\x78\x76\xf6\xf2\xc5\xe9\xfb\x13\x18\xc2\x23\x1d\xee\xdd\xbb\xb7\xf9\x8b\x43\x8d\x94\x6e\x17\xc2\x38\xa3\x69\x4c\x22\x60\x59\x92\x92\x29\x85\x49\x92\x42\x94\x8c\x49\x44\xf9\x88\x9c\x84\x53\x98\x84\x11\x2d\xd8\x2f\xde\x31\x18\xc2\x9f\x5f\x4d\x54\xf4\x4b\x96\x12\x39\x1c\x0a\xbc\x0b\xc1\x8c\x90\x32\xa8\x2f\xa2\xe5\x34\x8c\x19\xa4\x74\x1a\xb2\x8c\xa6\xf8\x92\xc1\x8c\xa6\xb4\x91\x63\x12\x08\x3e\x14\xc5\x86\x70\x71\x65\xd6\x34\x9e\xd1\xf1\x2d\x52\x1a\x27\x01\xfd\xe5\x4c\xef\xa1\x51\x12\x2c\x23\x3e\x32\xea\x72\x68\xcc\xc5\x03\x7b\x68\xfc\xf4\x93\x7a\x93\x7f\xeb\xd0\x2f\x8b\x24\xcd\x58\xc3\xac\xed\xf8\xec\x43\xe7\xfd\xcb\x73\xf8\x9d\x25\x31\x04\x24\x43\x1e\xcd\x49\xc6\x9b\x41\xbf\xe4\x90\x84\x2d\xde\xd3\xec\x17\x96\xc4\xbf\xf2\xe7\x30\x84\xee\x3f\x2f\xbb\x47\x27\x24\xa3\x97\xf5\xfa\x65\xfb\xe8\x32\x68\x36\xba\x61\xcb\x2a\x70\x1e\xce\xe9\xd9\x82\xc4\x46\xc1\xfa\x65\xbb\x71\x54\x3f\x1a\xd4\x2f\x83\x87\x8d\xcb\x4e\xe3\xa8\xce\x0b\x5f\x0e\xf0\x4f\xfd\x68\x20\xbf\x5d\x76\xf8\x8b\x3f\xf7\xbf\x36\x8e\x1a\x47\x5d\x93\xea\x49\x9a\xcc\x61\x96\x65\x8b\x41\xb7\x1b\x24\x63\xd6\x19\x47\x09\x5b\xa6\xb4\x1d\x85\x37\x29\x49\xd7\x9d\x69\x92\x4c\x23\x3a\xe6\xb3\x6b\x9c\xcc\xbb\xd3\x30\xeb\x4a\x90\x6b\xfe\xea\x9a\xb7\x14\xff\xe9\xfc\xce\x3a\x2c\x59\xa6\x63\xda\x99\x65\xf3\x48\xaf\x84\x25\x73\xba\x9a\x91\x0c\xe6\x49\x4a\xf9\x64\x8d\xc2\x98\xc2\x2a\xcc\x66\x70\xd0\x39\xe8\xec\x77\xf6\x60\xaf\xd7\x3b\x00\xb6\xa0\xe3\x16\xdc\x2c\x33\x20\x51\x94\xac\x18\x04\x74\x1c\xce\x49\x04\x24\x5e\xaf\x78\xf7\x17\x33\x85\x25\x27\xcb\x94\x70\xb1\x56\xb0\xb1\xde\x6e\x1c\x7d\xe0\xec\x38\x1a\xd4\x2f\x7a\xed\x27\xad\xce\xd5\xc3\xc6\x27\xc1\xa1\xfc\xf7\xc8\xfa\x7d\x82\xbf\xcf\x8d\x67\x6f\xb6\x94\x39\xe3\x8c\xdc\x14\xbf\x3f\x36\xfe\x66\xb3\x55\x74\x7d\x96\xdc\xd2\xb8\x98\x14\xe2\x69\x16\xc6\xd3\x73\x7c\x21\xfa\xf0\xe2\xe2\x9f\x97\x17\x57\x0f\x2f\xaf\x1a\x9b\xfa\xe5\x65\xe3\xa8\x3e\x4a\x36\xa3\xd1\x11\xff\x6f\x73\x92\x6c\x4e\x4e\xf0\x9f\x23\xfe\xdf\x26\x08\x82\xa3\xe0\x68\x13\x24\x47\x9b\xd5\x45\xb2\x59\x5d\x1d\x6d\x3e\x5e\x24\x9b\x8f\x57\x47\x9b\x7f\x6c\x3e\xe1\x67\x53\xfc\xbb\xf9\xf4\x69\x33\x9d\xd6\xa7\xd3\x29\xa7\xf7\xf5\xeb\xfa\xeb\xd7\xaf\xf9\x37\xba\x79\xb9\x21\x9b\xe3\xcd\x6c\x76\xb4\x79\xf3\xe6\x68\x33\x9f\x1f\x6d\x18\x3b\xda\x9c\xfd\xd9\x6f\x1d\x7c\xdd\x7c\xd9\xfc\xd7\xe6\x8f\x3f\x8e\x36\x9f\x3f\x1f\x6d\x3a\x8d\xee\xb4\x65\xce\xea\x57\xbb\xb5\xe2\xdd\xf9\xd9\xe6\xdd\xf9\xe6\xdd\xbb\x23\xfe\xdf\x26\x42\xdc\x88\x4d\x67\xd4\x82\xa4\x2c\x8c\xa7\x82\x53\x62\xaa\x68\x52\x84\xbf\xa5\x58\xcb\x69\x4c\x4f\xd3\xf3\x55\x72\x12\x4e\xc3\x0c\xab\xbc\x0c\x2e\x83\xa3\x6e\x8b\x23\xe9\x41\x1b\x9e\x3c\xf1\x97\x3a\x4f\xce\x67\x29\xa5\x7a\xb9\x3f\xfb\xad\xfd\xaf\x7a\xc9\xd2\xa2\xaf\x92\x65\x6a\x95\x3c\x30\x4b\x96\x16\x3d\x0b\xbf\x14\x25\x2f\x9a\x97\xed\xab\x23\x2c\x7f\x28\xcb\xb7\x9f\x3c\x79\xd2\x7a\xf2\xe4\x89\x40\xd3\xf2\x63\xd2\xeb\x6e\x8a\x72\x71\x12\xff\x41\xd3\x04\xe2\xe5\xfc\x86\xa6\x90\x4c\x20\x40\x20\x4f\xe9\x8f\x49\x1a\x60\xed\xbd\xf6\x93\xab\x87\x17\x35\xd2\xfe\xe3\x72\xd9\xeb\x1d\xf7\xda\x97\xcb\xde\xa3\x57\xaf\x2e\x97\xbd\xc7\x3d\xfe\xe3\xe4\x31\xff\xf1\xea\x09\xfe\x78\x75\xf2\x82\xff\x38\x79\x85\x3f\x5e\xbd\x7c\x75\xd5\xdc\x5c\x5c\x2e\x7b\x87\xf8\xb6\x77\xf8\xea\xd5\x65\xf7\xaa\x59\xbf\x64\x0f\x8f\xcc\xc7\x57\xcd\xc6\x9f\xfd\xd6\xde\xd7\x6e\x88\x84\x92\x78\x0d\x2b\x4e\x41\x3d\x49\x21\x5b\x25\x0d\x18\xcf\x48\x4a\xc6\x19\x4d\x19\x70\x99\x8c\x0d\x60\x10\xc6\xe3\x68\x19\xe0\x18\x58\x25\xdd\x8c\x77\x96\x28\x37\x4f\xe2\x6c\xc6\xa5\x05\x49\xc9\x4d\x38\xee\x78\x5a\xc8\xa5\xe2\x1f\x49\xcc\xe5\x78\xf7\xf3\xe6\xe2\x92\xb3\x99\x8f\x8b\xc1\x11\xff\xb7\x3b\x15\x94\x34\x7b\xbd\x41\xaf\x07\x6d\xf1\xa7\xd9\xeb\x89\x1f\xbd\x1e\x27\xe3\xb3\x0f\x2d\xc7\x77\x2e\xdb\x71\x0e\xf5\xb7\x67\xa7\xc0\xe8\x82\xa4\x24\x4b\xd2\x86\xaf\xc7\x27\x13\x46\xb3\x91\xe8\xeb\x4b\xd9\xd9\xb2\xc3\xfa\x7b\xfb\x07\x8f\x0e\x1f\xff\xfc\xa4\xd7\xdf\xdb\x2f\x69\x03\xcb\xc8\x7c\x61\x17\xaf\x5f\x76\xe4\x58\x6d\x1c\x59\xa8\x8a\x6f\x1d\x8e\x54\x9b\x50\x2c\x4b\xc3\x71\x96\x4f\xab\xca\x09\x85\xa3\x4b\x0c\x2e\x6d\x4c\xfb\x48\xb4\xe7\x9d\x04\x2f\x9d\x77\xee\x94\xcb\x27\x5c\xaf\x7c\xca\x39\xb3\xed\xa0\x28\x54\x31\xdd\xac\x99\x26\x26\xda\xbd\xa6\xd9\x59\x38\x8d\x69\xf0\x5e\xcc\xa8\x02\x89\xec\xc0\x76\x18\x4f\xa0\x0d\x61\x3c\x31\xb7\x44\x2c\x81\x9f\x0f\x7b\x7d\x6b\x7d\x97\xe4\xb6\xf1\x7f\xe2\xeb\x47\x31\xd2\xd4\xf7\x76\x0f\x9a\x70\x0e\x4d\x50\x8f\x07\xda\x17\xeb\x7b\x87\xb7\xbc\xa9\x46\x70\x92\xca\xd1\x2b\xbe\x34\xf4\xe5\x50\xdb\x4d\xb0\x87\xf5\xa3\x01\x6f\x03\xf2\x61\x83\x8c\x6c\xb4\xc5\x3e\xe1\x32\x68\xf3\x7f\x1a\x9b\xfa\x47\xfe\xf7\x6f\xea\x4b\x1b\x9f\xf1\x6f\x97\x41\xa3\x51\xaf\x9f\x6f\xa0\x81\x3f\xeb\x03\xed\x5f\x3e\x22\x9b\x7c\xf1\xe3\xff\xd5\x8b\xf9\x56\x3f\x1a\x88\x29\xd7\x38\xda\x5c\xb2\x87\x9f\xf9\x6b\x63\x49\x0c\x59\x22\x96\x0d\xbe\xdf\xe7\x4b\x53\x7b\x34\x6a\x9f\x9c\x9c\xbf\x79\x33\x98\xcf\x07\x8c\x7d\xae\x99\xc0\x7c\x3b\x84\x5b\xba\xfc\x21\xff\x5c\xd4\xc4\x12\x27\x0a\xd7\x5a\xa2\xa7\xb0\x95\xed\xcb\xe0\xcf\x3d\xf9\x6f\xf7\xaa\xe5\x29\x56\x14\x42\x86\x54\x17\x78\xfd\xfa\xf5\xeb\xf6\xc5\xc7\xab\x8f\x1f\xdb\x2f\x8b\x22\x1f\x55\x99\xaa\x02\x36\x78\x09\x35\x27\x16\x2d\xfb\x5f\xbb\x57\x39\x9c\xb5\x91\xe5\x43\x2d\x0b\xe7\x6a\x47\xc9\x80\xc4\x81\x33\xb5\x43\x96\xa0\x28\xf1\x70\x4d\x71\xb9\x73\x76\x76\x76\xc6\x6b\xc5\xee\x45\x41\x99\xff\x83\x5d\xeb\xd2\xaa\x8a\x96\x94\x2a\x29\xe0\x42\xfb\x00\x0d\xa8\xf2\xd6\x67\x4a\xc8\x8f\x67\xcb\xf8\x96\xa6\x50\x6b\xf6\xf9\x74\xa8\xc1\x73\xb8\xa8\xf5\x7b\xb5\x16\xd4\x7a\xbd\xda\x15\x9f\x15\xb5\x76\xff\xd1\xbe\x7c\xd3\xee\x3f\xe2\xaf\xf6\x7b\xb5\x2b\x6b\xce\x4b\x84\x2f\x24\x3e\xbe\x7f\x11\x63\x79\x83\x63\x98\xaf\x1b\x06\x05\x53\x9a\xf1\x63\x08\xe7\x3a\x13\x5f\x63\x32\xd7\xa5\x6a\x9a\x7c\x59\xbf\xc6\x37\xec\x38\x0e\xce\xc4\x37\x3e\xd4\xf9\x38\xde\xbc\x49\x96\x29\xdb\x8c\xc2\x78\x99\x51\xb6\x39\xa3\xe3\x24\x0e\xf8\xef\x28\x0a\x99\xf8\x51\xeb\xb0\x45\x14\x66\xf5\xda\xa6\xd6\x28\xf8\xb4\x8c\xc3\x4c\x83\x7a\x45\xc6\xfc\xd0\xcf\x8f\x54\x06\x2b\x6b\x06\x26\x18\xe8\x07\x44\x7c\x7f\xa6\xbd\xa2\xfb\x2d\xbb\x30\x92\xc5\x5f\x1e\xd2\x03\xeb\x25\x52\xce\x5f\xed\x1f\xd2\x47\xd6\xbb\x13\xb2\xc6\x57\x3f\x1f\x1e\x38\xef\x46\x7c\xe9\xc6\xb7\x7b\x8f\x9e\xec\xd1\x43\xeb\xf5\x27\x4a\x24\xda\xfe\xa3\xfd\x43\x7a\x98\xbf\xd5\x8f\x8a\xbc\xf5\xc7\x51\x48\x18\x75\x9b\x3c\x67\x30\x80\xda\xbc\x68\x77\xcd\xac\x01\x5f\x7b\xdf\xcc\x45\x41\xde\x66\xeb\xcd\x8c\xbf\x99\x25\xcb\xd4\x7a\x1e\xf0\xe7\x01\x59\x5b\x8f\x4f\xc4\x63\x07\xcd\x8a\x3f\x5f\x51\x7a\x6b\x3d\xff\xc8\x9f\x87\x2c\xf9\xe8\xbe\x1a\x21\x4d\x9c\x65\xd6\x8b\x7f\xf0\x17\xff\x5a\x92\x34\xa3\x36\x55\x6b\xfe\x6a\x4d\x89\xfd\xfc\xe4\x44\x12\xb6\x3e\x9d\x7c\x72\x5f\x53\x45\x9d\xdb\xa0\x97\x1a\x81\xee\xdb\xe9\x54\x16\xf4\x20\x7d\xfd\xba\x28\x89\xaf\xbd\xfd\x39\x26\x73\x1a\xbd\x92\xba\x28\xb7\x4b\x03\xb2\x4e\x26\xbc\x41\x55\xe4\x87\x2c\x91\xc4\x57\x12\x2b\xc1\xca\x39\xce\xdf\xaa\xba\x4a\x1a\x25\x71\x28\xa8\xad\xcd\x2b\x0e\x7d\xb9\xbe\x8d\xef\xc5\xe2\xa9\x7d\xfc\x33\x58\x60\x61\x08\xe8\x84\x2c\xa3\x0c\x52\x1a\x91\x2c\xbc\xa3\x42\xea\xf3\x3d\x31\x9b\x25\x51\x50\xa0\x52\x00\x5c\x94\x9d\xe7\xaf\x1d\xa6\xb2\x01\x1c\x3c\x6a\x89\x33\xb8\x10\x02\x90\x25\x20\x86\xbf\x39\x2d\x0a\x40\xf1\x16\x01\xf9\x6c\x30\xe7\xc8\x00\xf6\xf6\x04\x18\x7f\x87\x40\x01\x59\x9b\x1d\x39\x80\xbd\x43\x01\x13\x90\xb5\xa8\x90\x8f\x6d\x73\xc8\x0f\xa0\xdf\x17\x6d\xc6\x97\x08\xc6\x79\x5d\xc6\x5b\x71\x92\xe6\x50\x49\x1a\x84\x31\x89\xc2\x3f\x28\x0a\xe4\x05\x09\x0a\x75\x5d\xfe\x2a\x3f\x99\xd6\xf8\x84\x58\xc1\x47\x18\xc1\x09\x04\xb9\x9c\x05\x5d\xce\x2e\x48\x10\xd0\xa0\x28\xc2\x41\xdf\xc0\x0c\xe6\xc0\x78\x51\xb3\x90\xd5\x9b\x62\xe3\x5a\x3a\xaa\x47\xfc\x9f\x41\x31\x24\xea\x0d\x0b\x40\x74\x66\xb6\x4c\x63\x54\x3d\x76\x90\x1b\xf5\x06\x34\xa1\xff\xd4\x00\xfc\x6a\xc9\x8c\xd1\xc8\x44\x2c\xc8\xd9\x86\x5e\xa8\xe5\x4e\x48\x46\xea\x0d\x51\x17\x3b\x9b\x25\x69\x56\x47\xbd\xa7\x6c\x53\x63\x5b\xcd\xa3\xef\x53\xf3\x3d\x2a\x3d\xb9\x2f\x1f\xb9\x64\xae\x6f\xc1\x79\x72\x72\x5f\x9c\x52\x2a\x6d\x41\x1c\xdc\x9f\xd8\xf5\x36\x94\x01\xfc\xe5\xee\x96\x92\x93\x8d\xc2\xf8\x1e\x9c\x0f\x78\xd5\xdf\xa9\xe6\xfb\x0e\xb5\x80\x57\xfe\x9d\xea\xbe\x47\xb5\xab\xfb\xf6\x1f\xaf\x63\x4b\x07\x7e\xbc\x2f\x4e\xb9\xe0\x6c\x41\xfb\xe9\xd3\xee\x68\x23\x3a\xc9\x3e\xd3\x34\x79\x15\x46\x11\x72\xa3\xb3\xc6\xb1\x0c\x3f\x42\xbf\xd7\x6b\xc1\xde\xb6\xaa\x3e\x7d\xfa\xab\x55\xb5\xe0\x60\x7b\x25\xdf\xa1\x96\x47\x3b\xd4\xb2\xbd\x9a\x3b\x92\xc2\x1a\x86\x60\xa0\x66\xe1\x34\x86\x21\xac\xe1\xf9\x10\x7a\x70\x04\xb5\x26\xdf\xc8\xd6\xda\xb5\xa7\x65\x64\x62\x89\xa6\x49\x2d\xde\x1b\x91\x1b\x56\x5f\x37\x5a\x70\x58\x4d\xed\x74\xfa\x57\xfa\x58\x6d\x6f\x76\xee\xe7\xe9\x74\x3a\xfd\x1e\xd5\x6d\xed\xeb\xe9\xf7\xab\x69\x4b\x7f\xbf\x7e\xfd\x57\x38\xa8\x6d\xfd\x76\x66\xe2\xeb\xd7\xaf\x5f\x7f\xa7\x1a\xb7\xf2\xf1\xf5\x77\xad\x6c\x0b\x2b\xe9\xbd\x05\xe3\xf6\xc5\xed\xe5\xb7\x08\xc6\xed\x68\x09\xdc\x53\xe4\x9a\x5b\x14\x9a\x86\x41\x48\xe7\x82\x49\xb8\xdb\xe5\xec\x11\x9b\x34\xb1\x45\xc6\xdf\xe9\x92\x56\x93\x71\xfc\xbf\x41\xc6\x84\x44\x6c\x0b\x1d\x6f\xee\x4b\x87\xac\xac\x12\xe9\xec\x1b\x91\xf2\x69\xb4\x07\x9b\x0d\xf4\xf7\x2a\xf1\xcf\xef\x8b\x3f\xe7\x49\x25\x5a\x76\x5f\xb4\xf2\xf4\xb4\x05\xed\xd9\x7d\xd0\x26\x6f\x63\xb1\x17\xea\x68\x7a\x0c\xce\x9a\x2e\x97\x30\x5b\x2a\x3a\xfb\x56\x81\x56\x59\x6b\x63\xab\x5c\x3b\xe3\x35\x7f\xb3\xa8\x31\xab\x6c\xc1\xfe\xd6\xca\xce\xfe\xd7\x2a\xfb\xbc\x4b\xdf\xf1\x1d\x01\x81\x21\xb4\xb1\x86\x3f\x92\x98\xd6\x1b\x2d\x07\x8a\x7f\x6e\xf8\x41\xb2\xe9\xd9\x14\x84\x13\xa8\x13\x78\x06\x3d\x1f\x7e\x40\xb1\x35\x84\x36\x71\x0b\xe6\x58\x7d\x5b\x8d\xaf\x65\x7c\xb9\xb1\x77\x1e\x62\x04\x10\xe8\xc2\xa1\xe8\x6f\x68\x42\x6d\x50\x2b\x01\xe3\x13\xf5\x70\xfb\x72\xf7\xf9\xf3\xff\x77\x99\xf7\x17\xd8\xf6\xc7\xbd\x64\x10\xe7\xd8\xf1\xcd\xcd\xb6\xd3\xe7\x1f\xf7\xc7\xfa\x9e\xcc\xb7\x1d\x96\xbf\xc0\x3d\x25\xe6\x1d\x89\x96\xf4\x74\xb2\x05\xed\x7f\xdd\x17\xed\x32\x0e\xbf\x6c\xc1\xf9\x8f\x7b\x21\x94\xea\x55\x07\xe7\x0f\x1a\xf6\xfc\x7b\x40\x17\x29\x1d\x13\xaf\xfa\x2e\x0a\x19\x5e\x41\x5e\x08\x55\x2e\xab\xb5\xa4\x52\x57\x1c\x7b\xf9\x4f\x75\x16\xd5\xbf\x3b\x2f\x47\x61\x5c\xbb\x7a\x2a\xf0\x76\xbb\xf0\x21\x1c\xdf\xa2\xc5\xdb\x24\x4c\x59\x06\xd2\x30\x09\x92\x09\x64\xab\x04\x92\x14\xc4\x8d\x39\x49\xa7\xcb\x39\x8d\x33\xd6\x81\x60\x12\xc1\x38\x99\x53\x86\xc6\x3d\x0a\x8f\x54\x2d\x8a\x5b\xf4\x9c\x3d\xc1\x24\xaa\x93\x16\xdc\xb4\x60\xac\x33\x8a\xad\xc2\x6c\x3c\x83\x7a\x81\x35\xa2\xf1\x34\x9b\xd9\xcc\x1c\x13\x46\x61\x6f\xa0\x18\x4a\xe0\xc1\x10\xe2\x65\x14\xc1\x11\x10\x18\xc0\xcd\x53\x17\x7a\xbf\x1c\x5a\xfb\x7d\x03\x03\x18\x9b\xa5\x65\x03\x06\xbc\xc1\xc9\x0a\x62\xba\x82\x97\x69\x9a\xa4\xf5\xda\xdb\xf9\x22\xa2\x68\x4e\x36\xa7\x35\xad\x1f\x45\x1f\x7e\xfd\xc1\x6c\x72\x61\x7c\x87\x2d\xd7\x9b\x24\x09\x33\xcd\xf3\x3a\x63\x12\x09\x26\x49\xd4\x36\x42\x49\xd8\x07\x71\xe5\xfe\x2a\x22\x53\x66\x8c\xba\x6e\x17\x3e\x52\x88\x29\x0d\x50\x5d\x4a\xe9\x02\xc6\x51\x12\x4b\x9b\x46\x61\xc1\xd8\x42\x5d\x26\x65\x8f\x80\x65\x24\x0e\x48\x1a\x40\xc8\x20\x4e\x32\xb8\xa3\xe9\x5a\x47\x35\xa3\xd1\x62\xb2\x8c\x3a\x36\xd1\x66\xc7\xd0\xf9\x22\x5b\xf3\x79\xc0\xf7\x85\xe6\xf4\x58\xc6\x4b\x96\x6b\x3b\x07\x68\x34\xe7\xbe\x7e\x1b\x2f\x96\x99\xe7\x6d\x72\x47\xd3\x49\x94\xac\x60\x00\xed\x3d\xf3\xd5\x78\x46\x52\xf6\x8e\x4e\xb2\xd3\x3b\x9a\xc2\x40\xb7\x5c\xe4\x1f\xde\xb1\x0a\xab\x87\xaa\x30\xbe\x23\x51\x18\xe0\xc5\x11\x0c\x10\xda\x0b\x20\x6f\x91\xfd\x2d\x63\x34\x7d\x2b\xc0\x48\x46\x83\x92\x8a\x58\x22\x9f\x17\xe3\xc4\xdf\xaf\x8b\x34\x8c\xb3\x11\x9b\xd6\xe7\x6c\xaa\xf7\x27\x5f\x84\xa4\x55\x2f\x5b\x2e\x16\x29\x65\xec\xa4\x90\x0b\x1f\x49\x1a\x87\xf1\x94\xc1\x70\x38\x14\xf5\xc0\x4f\x3f\x39\x12\x48\x1a\x1d\x8e\x93\x98\x25\x7e\xab\x43\xf9\xaa\xb3\x22\x69\xec\x4c\x3b\xed\x5d\xbd\xa6\x55\x0e\x2b\x51\xfb\x00\xf8\x82\xce\xe9\xde\x36\x1b\x94\x44\xa3\xbc\x95\x2d\x98\x18\x75\xf1\x15\x1b\xc5\xce\x79\x38\x47\x2b\xda\x74\x49\x9f\xda\x03\x8f\x7e\xc9\x68\x1c\xd4\xcb\x25\x2e\xe7\x57\x8e\xc5\x27\x8e\x0d\x46\xbb\xcb\xb3\x4e\x01\x32\xb4\x4c\x52\x6b\x44\x4d\xe2\x0e\x59\x2c\xa2\xb5\xd4\xfa\xe5\x72\x4c\xe7\x07\xb6\xb6\x6c\x4a\x4b\xae\x9c\x85\x5c\xb6\xd4\x63\x32\xa7\x2d\xf0\x8c\x83\x07\xfa\x8a\x70\xc1\xc1\xae\xec\x16\x56\xb4\xce\x2d\xec\x30\xd9\xdf\x6b\x0b\x22\x26\x30\x72\xbd\x05\xe3\x64\x19\x67\x1e\x41\x56\xf4\x09\xb1\xa9\xf2\x6d\x9b\x39\xb8\x90\x76\x92\x6b\x0d\x85\xfa\xa9\x3b\x57\x0c\x7a\xac\x8b\x17\x49\xd6\x82\xa6\x61\x12\x7c\x13\x5d\xee\x41\x58\x56\xe1\x25\x52\x56\xe4\xa1\x12\xff\xac\x66\x61\x44\xa1\x6e\xdf\x0e\x79\xd6\xb4\x10\x86\xce\x25\x52\x67\x91\x2c\xf4\xdd\x81\xef\xde\xe7\x22\xe4\xbb\xe8\xa4\x76\xe5\x96\xaf\xfb\xe1\xaf\x5a\x10\x36\x74\x5e\x4a\x22\xf5\xbb\xa8\x12\x02\x0d\x90\x5d\x89\x0b\xaf\x44\xc9\x2d\x34\xed\x19\x34\xf9\xc0\x3a\x27\x27\x27\x27\xdb\x70\x71\x20\x71\xe2\x92\xfb\x98\xfb\xfb\x19\xa4\x4b\xb4\x76\xc0\x87\xf7\x70\x35\xc8\x87\xd6\x3b\x1c\x3c\xb9\x30\xfa\x9a\x6f\xa8\x84\x29\x3f\xe4\xd6\xf8\x72\x05\x36\x4b\x0b\xa0\xba\x30\x6d\x6f\x01\xbb\x0d\x17\xa7\x72\xe9\xb3\x45\x80\xfe\x0e\x05\xb9\xd0\xc5\xd8\x22\x7b\x46\xc7\xb7\x0a\x4c\xe2\x75\x84\x33\x02\x26\x8b\xf5\x0b\x7c\x2d\x07\xb8\x03\x8b\x73\xe3\x3a\x80\x21\xee\x81\x4e\xb8\xec\x6e\x0a\xa0\xce\x75\x60\x0a\xb4\x6e\x17\x94\x99\xb4\xce\x55\xb3\xad\x0a\xa2\x1e\xc8\x2f\xf6\x12\x10\xf3\x1e\xe6\x03\x5a\x6e\x0b\x86\xc5\x13\xe1\xda\xf0\x5b\x1c\x66\xac\x28\x6e\x59\x2a\x50\x82\x46\x2b\x16\x16\x54\xa8\xc3\x66\x63\xef\x13\xe4\x7e\xdc\x57\x42\xbe\xf2\x14\x92\x77\xc8\x6e\x11\x61\x43\xea\x16\xe0\x9b\x6d\x1f\x3c\x9a\x0d\xb8\xe0\x78\x91\xed\x42\x07\x64\xed\x01\x16\x37\xe3\x2e\x34\x7f\xee\xa3\x5d\xde\xb7\x7b\x88\xc7\x37\x9e\x22\xea\x2e\xdf\x2d\x22\xde\x78\x6b\x29\xb4\x21\xde\xaa\xf2\xd7\x58\xf8\xa9\x71\xf9\x9e\xf2\x75\x8a\xd1\x38\x13\x23\x69\x92\xa4\xe8\xe0\x70\x1c\x04\xbf\xd2\x79\x72\x47\xad\xa1\x69\xd5\xd5\x34\x7e\x37\xbd\x2d\x79\x08\x7d\xba\x0f\x4d\x34\x72\xed\xf5\x7a\x5e\x06\x3d\x84\x43\x7a\x50\xc0\xf0\xdf\x3d\x0f\xe3\x1f\xa2\xb1\xd2\x53\x03\xcc\x84\xed\x76\xe1\xef\x74\x4c\x96\x8c\xa2\xf9\xb4\xde\x12\xc8\x52\x4a\x32\x06\x7b\x07\x12\x1b\x61\x10\x84\x93\x09\x4d\xb9\xcc\x40\x67\x09\xa2\xe3\xe1\x23\x60\x35\xa3\x31\xac\x92\xf4\x36\x8c\xa7\x40\x84\x67\xd0\xc9\xd9\x79\x0b\x56\xc5\xae\x9f\x65\x49\xca\x37\xfc\x74\xae\x0c\x89\x69\xb4\xb6\x67\xb4\x18\x64\x4d\xfc\xdb\xf4\x0c\xd7\x87\xf0\xf8\xa9\x5e\xf9\xdb\x8c\x1f\x12\xc2\xf9\x22\x61\x2c\xbc\x89\x38\xf1\x24\x66\x11\xc9\xa8\x9a\x10\x61\x2c\x0c\x34\x18\x3a\x5b\x24\xcb\x0c\x6e\xe3\x64\x15\xc6\x53\x1d\xcd\x6a\x16\x8e\x67\xaa\xc4\x3a\x59\x02\x49\x29\xfe\x3f\x23\x91\x68\xd3\x4d\xb2\xcc\x5a\xc0\x12\xde\xa2\x19\xe1\x5c\x92\x2d\xd2\xd1\x84\x99\xd6\xb4\x8e\x3d\x24\xd4\x04\x6d\xca\x6f\x4d\xff\xa4\x7f\x08\xfb\xd6\x2b\x21\x3e\x1e\xa2\xa2\xd8\x61\x58\x46\xf0\x14\xee\xbc\x91\x9e\x49\x43\xe5\x7d\xa7\xef\x24\x1c\xe0\x9b\xe5\xcd\x4d\x94\xeb\x3f\xbe\x7e\xcb\x8a\xf5\x86\x46\x0b\x7a\xbf\xc5\xca\x94\xc1\x72\x13\x6d\x1f\x48\xf9\x4c\xab\x73\x11\x1c\x42\x18\x9b\xaf\x40\x2e\x3f\xda\x71\xf6\x86\xef\x29\x7c\x1b\x6c\x72\x81\xcb\xff\xcd\x45\x78\x55\xaa\xe5\xf8\xe1\x87\x72\xac\xb5\x2c\x39\x43\x5b\xa6\x9a\x83\x9e\x74\xd4\x3b\x5e\x41\xfe\xe3\xe9\x8e\x88\xa5\x96\xc8\x87\x57\xbe\x42\xb4\xf2\xbb\x17\xab\xd2\x26\xf8\x77\xf2\xfa\x72\x9a\xb4\x70\x06\xdb\xcb\x5b\xd8\x42\x07\xb3\x16\xdc\x91\xe8\xa9\x49\xad\x3c\xa6\xf1\x52\x9d\xeb\x90\x1d\x8b\x6d\x81\x58\xf4\xec\x43\x9b\xdd\x82\x2c\x71\x8b\x0c\xfd\xa8\x7c\xfb\x00\xb7\xfa\x9d\x2a\x2c\xaa\xd8\x09\xe9\x64\x17\xa4\x93\x1c\xe9\x64\x27\xa4\x8e\x83\xa5\x0f\x69\x94\x23\x8d\x76\x42\x2a\x1d\x1b\x76\xc0\x2c\x21\x87\x46\xc1\x9d\xea\xc8\xfe\x98\xef\x52\x01\x07\x1b\x16\x45\x76\xeb\x3d\xf6\xdb\xf9\x8b\xdd\x86\x0c\x07\x1c\xea\xc5\x76\xaa\x20\x41\x17\x94\x5d\x6a\x90\x90\x43\xa3\xe0\x4e\x75\x2c\x76\x1a\x2e\x8b\x62\xbc\x2c\x76\x1c\x30\x42\x5c\xef\x32\x6a\x94\x60\xd7\x0b\x96\x0a\x1b\xdb\x47\x54\x1e\xa8\xe0\xb9\x7b\x81\x80\x92\x16\xa5\xac\x5d\xc8\xaf\xb1\x48\x16\xf9\xea\x52\x80\x3a\xf2\x15\x50\xc4\xa8\xa1\x7e\xc1\x8b\x79\x20\x34\x7e\xdc\xb9\xde\xc9\x65\x57\x1d\x59\x22\xf0\xc1\x50\x08\x2e\xfb\xfd\xd7\xed\x92\x3e\xbf\x8a\xf4\xcb\x4e\x72\xc3\x7e\xe5\xbb\x99\xba\x70\xd5\xb2\x0f\x3e\xd2\x03\xcd\x73\x1b\x23\xf1\xa2\x91\xcb\x98\x86\x91\x42\xa0\x75\x14\xd0\x88\xd1\x8a\x62\x93\x28\x49\x52\x4f\x39\xeb\x74\x13\xd1\x49\x06\xe8\x0f\x37\x09\xa3\x08\x88\xf4\x2a\x53\xaf\x19\xa5\xca\xb9\xf5\x77\xb6\xa0\xe9\x04\x7d\x58\x79\xa1\x36\x2f\xd4\xe6\x85\xf8\xd2\xc5\x7b\x9f\xbf\xe6\xbb\xe2\x78\x4c\x61\x9c\xcc\x17\x24\x0d\x59\x12\x9b\x1c\x31\xd4\x25\xa2\xaa\x16\x64\x24\x9d\xd2\xec\x1d\x0e\x2d\x34\x30\x1b\xd3\xb3\x70\xea\x9c\xa2\x92\x65\x26\x0e\x4f\xb5\x1a\x34\x21\x37\x00\x92\x4d\xb4\x36\xf8\xc2\xc8\x48\x72\xf8\xf9\xd0\xd8\x90\x2b\x75\x06\xe2\x53\x43\xfa\x99\x41\x86\xdd\x21\x45\xdd\x3d\x5e\xb9\xf8\xe9\x9b\x9a\xb2\x0b\xea\x48\xc0\x11\x1a\xdc\x89\xd6\x14\x96\x4e\xb5\x86\xb0\x77\x6a\x58\x88\x1c\x1d\x55\xc2\xc2\x2c\xbc\xa3\x62\xa1\x63\x27\x72\x17\x3d\xa6\xf5\x1b\xc2\x68\x0b\x92\x6c\x66\x8e\x29\xce\xa4\x54\x18\xfb\xeb\x27\x86\x01\xf4\x5a\x72\x77\x3a\x80\x9e\xbe\xd7\x4b\xa9\xb4\x97\xe5\x65\x10\x5d\x6e\x3e\xdb\x06\x5e\x49\x61\x4d\x6b\x70\xa3\x2e\x60\xa5\xf5\x9b\x04\x15\xbf\x1a\x72\xa7\xa9\x8f\x73\x7c\x8d\x1a\xfb\x7a\xa3\x43\x82\xa0\x5e\xd4\xdb\x82\xda\xa8\xd6\xe8\x84\xec\x78\x92\xd1\x54\xe0\x75\xb6\x32\xed\x76\x51\xa0\x64\x07\x63\xde\x56\xf3\x6d\x32\xa2\x82\x36\x34\xb7\x57\xdf\x78\xea\xcc\xe8\x94\x32\x7f\xa7\xcc\xef\xd9\x19\x05\xbd\x82\xa0\x21\xcc\xc9\x2d\x3d\x66\xa2\xa9\x2d\x64\x5d\xc3\xc3\xae\x90\xfd\x9d\x4e\x92\x94\x96\xb0\x44\x74\xf3\x6e\x23\x64\xab\xd0\xa8\x46\xe5\x27\xb4\x84\xed\x6d\xfb\x99\xa7\x84\x1a\x70\xdb\x7b\xd5\xdb\x15\xdd\x2e\x9c\x9f\x9e\x9c\x0e\x20\x15\x07\xce\x5a\x4c\xe6\xb4\x06\x24\x9d\x02\xe1\x83\x48\x57\x0a\xf3\xe3\x9d\x00\x0b\xac\x5d\x2d\x3f\xa5\xf2\x53\x2b\x4d\xeb\x41\x98\x52\x7c\xda\x42\xaf\xa4\x4a\x75\xeb\x1d\x89\x7c\x6a\x59\xd5\xe1\xc1\x92\x8b\xb3\xf9\xc2\x6c\x75\xb7\x1b\xc6\x77\x34\xcd\xf0\x16\x32\xd7\xa4\x0b\x3f\x7d\x2e\x28\x23\x12\xc6\xe2\x8c\x08\x61\xe6\x9c\x4f\x44\x6d\xb8\xa8\xe1\xdd\xde\x4f\x3f\xc1\x83\x90\xbd\x27\xef\xeb\x4d\x49\x88\x6f\x81\xf3\x2b\xe0\x6b\x62\xf8\xd6\x1b\x1d\x2e\xc5\xf8\x33\x80\x26\xd4\x64\x1d\x2d\x50\xeb\x54\xc8\x0a\x04\x41\x07\x3e\x44\x94\x30\x0a\xfc\xbc\xef\x22\xe0\xe5\x95\x24\x97\x04\x75\x6a\x9e\x5b\x88\x6c\xbe\x90\x2b\xad\x5c\xd1\x05\xf0\x53\xf9\x17\x86\x2e\xe3\xb4\xc1\x00\xf9\x46\x40\x5b\xe8\x87\x7c\xa1\x17\x4e\x22\x35\x38\x82\xe6\x1d\x46\x20\x71\x16\xf3\x60\x99\x16\x27\x59\xa5\x64\x33\xba\xd2\x84\x27\x41\x70\x9a\x9e\x2d\x6f\xb2\x94\x8c\x33\xa5\xdc\x7b\x95\x26\x73\xa9\xd4\x14\x6a\x45\xec\xeb\x7c\xec\x38\x53\x23\xd7\xc2\x97\x29\xd5\x8b\x5d\xc2\x96\xea\xe6\xc9\x1c\x6b\x23\x62\x8c\x86\xec\x38\x08\xc2\x78\xda\x82\xe5\x22\x20\x19\x15\xae\xd3\xb6\xe8\xb1\xe6\xa5\x2a\x6e\xea\x96\xbc\x3a\xba\x02\x94\x3f\x28\x51\x13\x6a\xf8\xac\x09\xac\x13\x05\x43\xeb\x67\x7e\x3d\x9d\xa5\x4b\x0a\x03\xe3\xad\x75\x72\xd4\xe9\xb4\x07\xf8\x9c\x6f\x5d\x83\x0e\x13\x51\x3d\xea\x4d\xf1\x1b\x9a\x66\xab\x1f\xe6\xac\xf2\xea\x89\x79\x25\xbc\x85\x8e\x68\x25\x2b\xe1\x7f\x28\x18\x8f\x1e\x88\xb5\x16\x7f\xfc\xda\x79\xcc\x97\x70\x64\xdb\x0e\x75\x09\x46\x79\x6a\xc3\x2b\x5b\xbd\x4a\xbb\x2a\x04\xc0\xba\x24\xff\x77\xa8\xad\x6c\x6c\x40\x1e\xf9\xa5\xa3\x83\xc8\x41\xc6\x9b\xb2\xd9\xc8\x6a\x2a\x76\x8d\x22\x30\x4c\x38\xe1\x82\x82\xc4\x40\xd2\x54\xfa\x30\xe5\x83\x3a\x64\xc7\xfc\x61\x3d\x8c\x17\x4b\xdf\xcd\x9a\x13\xd2\x47\x29\x3e\xc4\xd5\x94\x2c\x86\x13\xfc\x42\xc6\x28\x42\x84\x57\x35\xff\x24\x0a\x19\xea\xf1\xbf\x63\x75\x1c\xdf\x55\x0d\x36\x1b\x53\x22\xa3\x02\x3f\xc4\x38\x4e\x63\x2e\x87\x38\x98\xbd\x3e\x89\xdd\x2f\x45\x03\x13\xe4\x0d\x6b\x15\x12\x81\x1a\x91\x27\xd4\x32\xcb\x6c\xad\x0b\x62\xc0\x26\xb3\x3a\xe2\xe8\xb7\x04\xae\xbd\x16\x04\x49\x9c\xbd\x48\x70\x4d\xb1\xe7\x7d\x44\x63\x15\x55\x69\x1e\xc6\xb2\xa4\xdc\xe3\x2a\x04\xea\x5a\xcc\x9c\xdb\xe2\x21\x5f\xf8\x15\x02\xbe\xbb\x36\x10\x40\xbb\x12\x03\x6f\x0d\x33\x43\x2e\x21\xcb\x8c\xdb\x35\x7e\x48\xe4\xdb\x71\x08\xe1\x19\xaf\xf3\x29\x84\xcd\xa6\x4f\x2f\x57\xd7\x5a\xc9\x17\x3d\x41\xc9\x45\x78\x85\x4b\xa1\xa0\xe3\x22\xbc\x6a\xd8\x3d\xc4\x3f\xf5\x07\x56\x61\x69\x56\xa6\x50\x34\x10\x87\xf6\x10\x31\xf9\x17\x52\xde\xa8\x66\xb3\x5c\xed\x67\x8d\x34\xc1\x84\xa6\xc6\x4e\xff\x80\xcd\x2f\x10\xc4\xdd\xcf\x92\xff\x6b\x1f\x10\x9d\x87\x79\x2f\x27\x2b\x9a\x52\xbe\x66\x22\x48\x27\x4b\xde\xf1\x27\x2f\x08\xe3\x7b\xdc\x94\x2e\x22\x32\xa6\xf5\x6e\xbd\xd3\x60\x7f\xeb\xb6\xa0\xf6\xb7\xbe\xbd\x22\x63\x39\x59\x5e\x3a\x09\x5f\xe0\xb3\x2b\x2e\x00\x4c\x57\xd3\x0b\x59\x1d\xbe\x92\xdf\x2b\xce\x3e\x88\x66\x4b\xa3\xf5\x6b\x2f\x9c\x52\xe2\xc1\xf6\x8b\xb3\x3f\x2d\x5b\xb5\x02\xe2\x43\x9a\x2c\xcc\x77\xfc\x74\xff\xf4\x07\x73\xf0\xa1\xe2\x21\x8c\xa1\xa4\x52\x70\xb5\xac\x1a\xa4\xd0\x73\x7a\x87\x89\x49\x87\x7e\x41\x24\x1a\x89\x05\xfd\x9a\x0b\xb3\x68\x99\xb6\xc2\x62\xc5\x85\x59\xea\x0a\x86\x7a\x93\xca\x14\x25\xbb\xab\x34\xac\xea\x4a\x0e\x43\xe4\x96\xbe\x0b\x59\x56\x9f\x84\x34\x0a\xec\xce\x43\xcb\x87\x96\x74\xf8\xb7\x56\x77\x2c\xd0\x09\xe3\x80\x7e\x39\x9d\xd4\x85\xbb\xb7\x90\xbf\x8e\x2e\x04\xd1\xc0\x50\xbf\xba\x01\xbc\xf8\xc2\x38\x02\x43\xe1\x5a\xee\x1b\x8e\x78\xd6\xf1\x54\x36\x97\xcb\x69\x65\x6d\xb6\x59\x7d\x51\x9d\x28\x5e\x5a\xa1\x4f\x23\xe3\x3d\xde\x88\x55\xf8\x02\x89\xe3\xdd\x67\x3b\xe9\xb5\x00\x29\xf6\x4d\xff\xb0\x25\x23\x2a\xb8\xd6\xbf\x73\x9a\xcd\x70\x33\x2d\x17\x79\xa9\xe1\x93\xd5\xb8\xf0\x29\x65\xcb\x48\x98\x5d\x5e\x3d\xfd\xc1\x99\x07\x4a\xcb\x28\x43\x8f\xf0\xf5\x51\xac\x5e\x5e\xad\x1a\x12\xcc\x9b\x82\xe0\x1e\x43\x24\x15\xc1\x24\x57\xce\x55\xee\xf7\xa7\x8a\xe7\x05\x6b\xc2\x32\xbb\xe8\x79\xde\xe4\x7a\xa3\xb3\xcc\xc6\xf5\x06\xdf\x1e\xd6\x45\xb7\x15\xa6\x22\x6e\xdf\x48\x8e\x89\x7d\x80\xc9\xb4\x16\xcc\x95\xbf\x23\x97\x7c\x35\x5b\x86\x7e\xf5\x30\x4c\xb0\x40\xda\x61\x56\x98\xce\x8a\xb6\x09\xf0\x52\xcb\x59\xf0\x0f\x2a\xf0\xac\xa4\x38\x6e\xbd\x6b\x69\x51\x31\xf6\x74\x67\xb1\x64\xb3\xba\xaa\xbe\xe1\xe1\x4b\xa9\x35\xb7\xc4\x50\xba\x14\xfa\x85\x84\x5a\x65\xc5\xb1\xf7\x55\x92\xbe\x48\x68\x3a\xf6\x58\x49\x8c\xf9\x73\x2d\x8a\x50\xd3\x53\xa6\x65\x1f\x08\x97\x14\x4c\xe5\x1e\xef\x04\x13\x13\x5f\xea\x7b\x7c\x13\x10\xb2\x57\x61\x1c\x66\xd4\x7c\xef\x88\x73\x17\xc3\x73\x8f\xa0\xd0\xeb\xd7\x14\xae\x26\x6a\x8b\x55\x65\x9d\x69\xe0\x41\x7d\x6f\x25\x9a\x0a\xb1\x8d\x98\x4a\x4c\xf2\xc8\x9a\xbd\x8d\xf1\x2c\x51\x5f\x53\x92\x4a\x9d\xa0\x67\xb3\x9c\x5b\xc5\xf0\x7f\x3a\xbf\x9d\xbf\xd0\xe1\xa1\x09\xfd\x16\xf4\x1a\x8d\xce\x94\x66\xbf\x9d\xbf\x38\xd1\xfc\xc4\xed\x2a\xf1\xd6\xfd\x6d\x8c\x9e\x71\x02\x45\x90\xac\xf8\x3f\x6b\x4f\xad\x1c\x58\x7a\x87\xcb\x89\x7c\x21\xca\xf4\xfb\x2d\xd8\xef\xf3\x93\x56\xb2\x82\x36\x2f\x7d\xd5\xd0\x30\xa1\xc9\x49\x55\x93\xf3\xea\x3d\x95\x86\xec\x1d\x25\x0b\x0d\xe2\x08\xf6\x0f\x0f\x31\x5e\xcb\xa3\xb2\x83\x86\x55\xc2\xc1\x89\xcf\xe1\x47\x38\x10\x2b\x0c\x1f\x79\xf2\x49\xbf\xd7\x13\xa3\x91\x6f\x5a\xd5\xc3\x83\x5e\x4f\x00\x96\xdc\xbf\x1a\x76\x4f\xce\xdd\xab\xb2\x27\x36\x55\x88\xf3\xce\x35\xc1\x78\x9b\x9d\xeb\xc5\xa4\x93\xdb\x1c\xf3\x6a\xda\x7b\x8e\x6e\x3b\x7f\xed\xae\x26\x9d\x6b\x72\x81\x61\x53\xaf\xe0\x19\xf4\xf0\x6c\xa8\x3d\x7a\x0e\xfd\x3e\x1c\xc9\xb8\xaa\x03\x7f\xe9\x93\xe3\xf3\x97\xbc\x70\x3f\x2f\x2c\x9e\x3c\x37\x06\x24\xbe\xf8\xf4\xf2\xf8\xd7\xab\x96\x5e\x03\xef\x0f\x0c\xd1\x5a\x82\xfc\xcd\xe9\x6f\xbf\x9a\x94\x89\x27\xcf\x61\xef\xc0\x77\x2e\xe0\x9f\xba\x06\xc7\x19\xb2\x77\xc0\x39\x25\x9e\x8a\x50\xaf\x57\x52\x64\x94\x20\x28\xf9\x20\x02\x11\xfe\xf5\x2f\x20\xd0\x82\xc8\x4a\x2c\x0d\xce\x04\x8c\x4a\x5b\xc2\x04\x45\xb4\xd1\x41\xf2\xd9\x73\x78\xf4\x84\xf7\x90\x08\x61\x5b\x82\x40\x55\xa7\x23\x50\xcf\x24\x02\x19\xd6\xb6\x94\x02\x8d\x68\x93\x0c\xed\xc5\x73\x78\xf2\x44\x10\x53\xc4\xc9\x75\x11\xb6\xfb\x9e\x55\x55\x8c\xe3\x6b\x35\x52\x4f\x54\x1c\x09\xec\xb9\x7c\xfc\x3e\x13\x31\x7f\x37\x9b\x62\x48\x3f\xc7\xe1\xe3\xdd\xb1\x17\xc3\x1e\x61\x2a\x77\x22\xf6\x3c\xf2\x4c\x3b\xbf\x9d\x71\xc8\xfe\x93\x44\x61\x60\xce\x5b\xd9\x22\xf9\x4e\x69\xc5\x1c\x2d\x8d\x06\xa1\x34\xbe\xa8\xf6\x9a\x4a\xb5\x57\xa3\xe1\x33\x8c\xb7\x48\x7d\x86\x02\xc8\x81\x7a\x20\xc0\x84\x97\x43\xf9\x7b\xc3\xa9\xa0\x1c\xac\x70\x4d\xd8\x8a\x4a\xba\x1f\x94\xc3\x59\x3e\x08\xfe\xc1\x20\x4c\x12\x7c\xbd\x6a\x70\x4d\xfb\xe1\xa9\xb0\xe0\x96\xe9\x79\xa1\xa4\x76\x45\x01\xdd\x05\x44\xe9\x46\x76\x28\x76\x13\x4e\xdf\x24\x4b\x51\x43\xe9\x16\xd8\xfd\xa6\x36\xaa\x79\x6b\xb6\x1c\xae\xa5\xe5\xee\x2d\xf5\x2d\xb3\xb7\x74\x0d\x47\xfc\xdf\x12\xa5\x41\xed\xba\xd6\x12\xb7\x93\x03\x0e\x65\xab\xb6\x16\xca\x9b\x4a\x1a\x12\xa0\x45\x9f\xb8\xd7\x50\x3a\xc0\x6e\x17\xb2\x74\x0d\x17\x35\x1a\xb7\xc9\x92\x63\xa3\x71\x7b\x7a\x53\xbb\x02\xc2\xc0\x7e\x88\x5f\x6a\x2d\xfe\x0a\x4d\x07\xee\x30\x5a\x53\xb2\x9c\xce\x44\x2d\x21\xcb\x38\xb6\x30\x9e\x02\x25\xe3\x99\xaa\x80\x2d\x6f\x84\xde\x5f\x10\x30\x4f\x58\x86\xc1\x8f\xc3\x49\x38\x86\x2c\x81\x88\x12\x96\x89\x1b\x16\x81\x33\x11\x9a\x37\xfa\x25\x13\x94\x42\x98\xd1\x39\x6a\x30\xb3\x1a\x03\x22\x02\x2b\xe7\x18\xee\x48\x1a\x92\x38\x83\x6c\x46\x84\xca\x6e\xbc\x4c\xd1\x80\x31\x4d\x92\xcc\x5e\x9f\x93\x84\x29\x96\x63\x54\x3b\xc7\x3c\x0a\x55\x62\xf0\x7b\x0b\xab\x6f\x81\x3a\x5c\x60\x50\x24\xf7\x5a\x9a\xef\xe6\x11\x4f\x89\xcb\x18\x16\xd3\x15\x0c\x7a\xdd\x17\xe1\x55\x43\x45\x5b\x6a\xdb\xe7\x95\xdf\x61\x28\x4a\x4b\xcc\xe6\x5b\xe4\x4d\x29\x5a\xbe\xed\xbb\x6a\xf8\x4b\xf0\x3f\x47\xf8\x47\xab\x5a\xfa\x20\x99\x25\x64\x13\x7f\xf7\x19\x90\x40\x1e\xf4\x1c\x86\x10\x25\x24\x90\x04\x08\x8a\x59\x14\x8e\x69\x9d\xb3\xb1\xd1\xf9\x3d\x09\x63\xac\xa3\x44\xa1\x22\xb0\x94\x9f\x83\x84\xe3\x86\x65\xf9\xe2\x4e\x3b\x1d\x25\xb6\xf1\xa7\x9f\x44\x23\x95\x11\xcc\x10\x7e\x17\x8e\x46\xba\xae\x16\xc9\x55\x5d\x8d\xc1\x0d\x04\x60\x1b\xfa\x65\x14\x75\xbb\xde\xb1\xc9\xe0\x46\x1c\x80\x71\x14\x12\x60\x33\x0c\xea\x4d\x53\x6d\xf4\x27\x13\xe9\x04\x17\x53\x2f\xea\x9b\x94\x92\xdb\x5d\x1a\xf9\x7b\xbb\x5d\x75\x0a\x0d\x75\x0d\xa8\x23\x99\x8a\x8e\xb6\x65\x92\xd6\x8f\xf6\xdd\x2a\xee\x5e\x23\xf9\x16\x86\xd6\x68\x41\xdf\x20\x19\x03\x5f\x7a\xf6\xfc\xf4\x53\x11\x77\xde\x31\x6d\x4a\xd7\xbe\x25\x5e\x43\x6f\x18\xb2\xda\xce\xaa\xa2\x2d\xff\x5a\x86\x29\xad\xd7\x3a\x5d\x01\xd4\x55\x57\x9c\x1e\xe0\x6e\x17\x6e\xa4\x05\xb4\x10\xe3\xb2\x1e\x29\x27\xa2\x35\x90\x88\x25\xc0\x68\xc6\xf4\x6c\x0b\x6a\xea\xaf\x28\xac\x50\xbe\x24\x7c\x1d\xe0\xb2\x89\x64\x22\x23\x00\xf9\x63\x8d\x4c\xa3\x81\xca\x00\xe0\x2e\x71\x46\x4b\xf2\x36\x3a\x87\xcd\x31\x41\x17\x54\xce\xab\xaa\x65\xc5\x60\xb2\x2d\xee\x7f\x55\x9e\xa6\x32\xdd\x00\x4a\x5b\x54\x34\xb6\x04\xd1\x21\x13\x08\xba\xcb\x6c\xdc\xc5\x20\xa3\x9c\x8d\x77\x24\xa2\xa2\x79\xf3\x24\xa0\x91\xe5\x33\x2b\x2d\x20\x24\x1a\x84\xf0\x58\x4e\xb4\x50\x95\x6e\x9d\x6b\x10\x9b\x30\xea\xf3\x9b\x44\x08\x08\x69\xed\x61\x5d\x03\x8b\xab\x0d\xa5\xe4\x09\x99\xbc\x5f\x95\x97\x3f\x9b\x8d\x75\x89\x74\xe4\x9d\x51\xcd\x50\xfa\x60\x36\xe7\x7a\xf1\x06\xb4\xa1\xde\x4c\x29\x6b\xd8\x77\xff\xf0\x1b\xe3\xab\xe5\xaa\x1d\xd1\x3b\x1a\x01\x59\x84\xad\x7c\xec\xe0\xdc\x9d\xc4\x82\x8b\x1a\x44\xc7\x6e\x99\x71\xdd\x29\x7e\xf3\x03\x71\x38\x99\x58\xf5\xf9\xee\xf6\x90\x99\xbe\x00\x27\xb6\x85\x05\x6c\x31\x2c\x33\x5a\x2c\x06\x60\xbd\xf4\x96\xf0\x5e\xf6\xdf\x62\x08\xe3\xcf\xfb\x98\x7f\x4b\xab\x6f\x51\xba\xb8\xdd\x6b\xc1\x9f\xc5\xb2\xca\x68\x66\xf8\xb3\x4b\x77\x20\x8f\x5a\x55\x18\x31\x87\x26\x8f\x0a\xbb\x46\x7f\x41\x28\xac\x19\x05\x80\xd7\x86\x51\xd3\xa5\x0a\xe0\xe1\x10\x6a\x8a\xa6\x72\x0b\xc5\x59\xc8\x84\xe5\xb9\xb8\xca\xb0\xdf\x97\x2a\x94\xf2\xc2\xb5\xeb\x5a\xee\xbb\xe6\x47\x51\x21\xf4\xbb\x5d\x78\x47\xe3\x90\xcf\x64\xe9\x93\x97\x87\x45\x27\xe3\x31\x5d\x64\x0c\x7e\x5f\xb2\x2c\x37\x1a\xc4\x50\xf3\x41\x10\x4a\xb5\x9f\x8d\x4b\x02\x35\xa1\x2e\xfd\x2d\xd6\x0d\x60\xd9\x72\x32\xe1\x2b\x68\xbe\x95\xbb\x96\x55\x7d\x20\x29\xa3\xb2\x7a\x73\x3a\x08\xa7\x03\x0f\x98\x74\xe8\xfa\x95\x4e\x5f\x7e\x59\xd4\x5d\x30\x99\x5d\x03\x9a\x50\xdb\x70\xb6\x88\x7c\x04\x7b\x5f\xbb\xf2\x85\xe1\xdb\x5a\x0c\x20\xe5\x7b\x31\x80\xda\x2f\x24\x5e\x92\x74\x7d\xfd\x8a\xde\xa4\xf8\x65\x44\xd2\xf1\xec\xfa\x78\x91\x86\xd1\xf5\x88\xac\xaf\x7f\x59\xc6\xf4\xfa\x97\x65\xb4\xbe\x3e\x5e\x4e\x97\x2c\xbb\x3e\xa3\x8b\x8c\xf2\x76\x5f\x9f\x8e\xb3\x84\xff\x7d\x9f\xdc\x89\x07\x27\x74\x8c\x5f\xf2\xf0\x98\xd7\x7a\x4c\xcd\xbc\xd2\x62\xe4\xce\xab\x7c\x3d\x25\x95\x17\x73\x65\xb3\x77\x55\xd9\x1a\x8c\x9a\x20\x9b\xc4\x9b\xc3\x5b\xc2\xdb\xa1\x5a\xc1\x1b\xc1\xdb\xc0\x1b\xc0\x49\xe7\x64\x73\x8a\xab\x88\x55\x38\xef\x47\x31\x96\xda\x4a\xb6\x80\xc5\x6e\x34\x6b\xe0\xcf\xdf\xa3\x71\x93\xba\x36\xf1\x1f\x0e\xe5\xbd\x89\x30\xb0\xa0\x53\xfa\xc5\x73\xb2\x7c\xa0\xd3\x85\x75\xf9\x66\xa6\x03\x24\x2f\x4f\xfc\x70\x51\x12\x4f\x47\x3b\xc2\x32\xce\x8a\x6a\x60\x4b\x31\x61\x5f\x03\xf4\xf7\x4a\xef\x00\xba\x5d\x5c\x78\x71\x3b\x82\x0c\xe0\x4d\x5e\x51\x08\x92\xb8\x96\x09\xaf\xa4\x30\x03\x12\xa5\x94\x04\x6b\xdf\xa6\xa3\xd8\x44\x2d\xb3\x71\xfd\x62\xaf\xd7\xeb\xb5\x20\xb4\x0f\x05\x8a\x97\xd2\x89\xe0\xa7\x9f\xe0\x81\x97\x11\x78\x0b\x5f\x2e\xb9\x7c\xf0\xe6\xfc\xae\xfd\x93\xcf\xe1\x22\xe6\x2b\x93\xd6\x32\x35\xed\x2c\xdb\xa9\xe1\x03\x3e\xe3\xff\xc6\xbf\x86\x3e\xc3\xb4\x72\xfe\x6f\xaf\x53\x04\xe4\xfc\xc6\x8a\xfd\x47\x8d\x07\x0e\xe7\xe6\x3b\x71\x2d\x95\xf9\x0b\xca\xf9\x82\x82\xaf\xba\x05\x55\xdc\x99\x57\x30\x06\x2b\x77\x9a\xbf\x7b\xc3\xbb\x5d\xc8\x28\xcb\x8a\xc1\xb9\x65\x4c\xe9\x17\x92\xa3\xd1\x68\x84\x11\x1f\xca\xc6\x4d\x87\xa3\x2e\x24\x85\x57\x1b\x08\xda\x9d\x40\xe9\x42\x5b\x49\x83\x46\x82\x67\x1c\x7d\x57\x1a\xb4\x21\xe2\xeb\x9a\xef\x50\x57\x99\x4e\x4a\x5f\x48\x54\xbc\x1d\xbe\x8a\x9c\x2d\xe3\x80\xac\xaf\x47\x09\xfe\x39\x5f\x52\xc6\xff\x7e\xa4\x41\x2c\xbe\x9d\xcf\x96\x29\x7e\x79\x95\x86\xfc\xcf\x19\xc9\x96\x69\x40\xd6\xfe\xe5\x44\xc3\xbc\xeb\x5a\xa2\x8a\x5c\xcc\x45\x30\xe0\xb2\xd5\xcf\x88\x1a\x24\x29\xe7\x64\x73\x9a\x39\xbd\x9c\x52\x4e\x24\xa7\xb0\x9a\xb8\xfb\xae\x76\x46\xb9\x5d\xc9\x1c\x85\xb1\x20\xf2\x7a\x94\x5c\x9f\x2f\xaf\x3f\xd2\xeb\xf3\xd9\xf5\xab\xf4\xfa\x8c\x54\x53\x27\x0a\xde\x97\xb6\x51\x18\x6f\xa1\x4c\x41\xba\x2b\xb1\x7c\xf3\x9e\xb8\x31\x4a\xee\xb1\xf6\x1a\xf8\xcb\x57\x5f\x93\x8c\x7b\x2f\x93\x8f\xff\x4d\xab\x64\x59\x43\x2a\xc4\xb6\xbe\xb0\xaa\x45\xb5\x7f\xd5\xc0\x4e\xf0\x59\x2d\x80\x5f\xd4\xe7\x51\x9a\x4b\x84\xbd\x19\x41\x7a\x0b\xd0\x28\x8c\x77\x5a\x11\xec\x36\xfe\xdf\x58\x13\xfc\x94\x08\x11\xa8\x0f\xc9\x7f\x93\x10\xe4\xab\xcd\x09\xc9\x68\x1e\x56\xc9\xac\xe5\xdd\xf9\x19\x66\xc5\x10\x39\x60\xe0\xd8\xca\x91\xf0\xee\x5c\xbd\x75\x5f\xf1\x37\xa3\x51\xf7\xe4\xa4\xfb\xe9\xd3\xa7\x4f\xf6\x5b\xf9\x7a\x34\x82\x93\x16\x78\x01\x1c\x08\x78\x77\xee\x02\x21\x54\x10\x04\x41\x0b\x6c\x58\xbd\xc1\xea\xab\xd3\xdc\x62\xfe\x5b\xd7\x0d\x60\x7b\x6d\x15\xab\x73\x81\xe0\xe2\x96\xae\xad\x99\x8b\x53\x48\x16\x32\xd6\x74\xb3\x54\x27\x4b\x7e\x5b\x2c\xd4\xed\x85\x77\x76\x6d\xad\xd9\xc2\x51\xd8\x4d\x72\x4e\x6c\x46\xa3\xcd\xc9\xc9\x86\xb3\xa6\x3b\x6d\x99\x2e\x20\x5b\xc6\xd2\x1d\x89\xa4\xbe\xba\xef\x1b\xe8\x3e\xdf\x88\x32\xde\xc0\xd0\xf1\x35\x83\xb2\x90\x4d\x8e\x53\x9a\x91\x11\xea\x83\x99\x73\xc0\x31\x94\x06\x19\x12\xe1\xe5\xcf\xf0\x8f\x65\x98\xde\x32\x18\x25\x01\x85\x9f\xe0\xed\xcb\xc7\x70\x26\x63\xaa\xc9\x87\x41\x82\x91\xd5\x50\x1d\x8d\xaa\x00\x86\x4a\x01\x99\xae\x03\xa2\xf0\x56\xde\x07\x31\x57\x17\xc6\x01\xc7\x33\x92\x1e\x67\xc0\x66\xc9\x32\x0a\xe0\x86\x8a\xdb\x17\xd4\xa3\x67\xe1\x4d\x44\x6d\xf5\x97\x30\xab\x10\x34\x73\x91\x55\x6b\x58\x97\x57\x02\x61\xbd\x27\x4d\xb8\x17\xb5\xd2\xa3\xbc\x8c\x06\xac\x96\xaf\xee\x05\x59\x5c\x5d\x76\x8e\xe6\x47\x97\x9d\x23\x3d\x69\xa8\x02\x34\x98\x86\x11\x2d\x5a\x2a\x9e\x46\x0b\x42\x86\x44\x78\x0d\x48\x31\xf8\xc5\x73\xe8\x7b\xb5\xfe\x85\xf5\x09\xea\xf3\x8f\xa0\xb6\x98\xa3\x6f\xe0\x87\x51\x6d\x47\x9b\x21\x17\x05\x11\x28\x8e\x1d\x14\x7e\x56\x8c\x49\x44\x79\xa7\x3a\x32\x8b\x91\x39\x3d\x11\x09\x62\x2e\xce\x93\x80\xac\x81\x64\x57\xae\xf0\x88\xe9\x97\xac\x00\x9b\x27\x69\xca\x07\x43\x19\xe4\x47\x99\x4e\x06\x33\x12\x5c\x78\xc1\x22\xc2\x72\x84\x9f\x28\xcb\x68\x5a\x5a\x37\x07\x55\x18\x2f\xde\x11\x96\x5d\x41\x05\x62\xde\xa0\x97\x11\xf6\x77\xed\x9d\x57\xac\x69\xbc\x30\x04\x9a\xdc\xb3\xc4\x66\xd0\x22\xf0\x8b\x36\x85\xc4\x23\xd4\xd4\x66\x4b\x68\x00\x55\x39\x43\x07\x08\x47\xf2\xb9\x8c\xbb\x86\x15\x5f\xc4\xc9\xea\xaa\x01\x83\xca\xb9\x7d\xad\xe7\xb2\x71\x7a\x73\xb2\xcc\x96\x29\x36\x3d\x8c\xe1\x47\x66\xb1\x66\x41\x18\xee\x82\x7f\x64\x40\xa6\x89\x2f\x09\x14\x81\x09\x5d\xa9\x30\x33\xbe\x5c\x50\x04\xbc\xd9\xa0\xe6\xf8\xf2\xc7\x40\xcd\x16\x5f\xb2\x28\x12\x83\x27\x5f\xd4\x6c\x26\x4b\xe2\x1c\xf2\x25\x93\x22\xe0\xa6\x2c\xc2\x44\x17\xbc\x94\x88\x0f\x6a\xbc\x1b\x49\x3a\x3d\x19\xa2\x30\x15\x0b\x92\x29\x63\x8e\x1a\x6f\xd7\xa2\xa0\x27\x4d\xd4\x7a\x2d\xcb\x61\x78\x15\x7f\x46\x23\xab\x5f\x8a\x91\xa5\xdc\xe5\x64\x4c\x99\xb3\xe5\x64\x12\x7e\x69\x49\xf9\xc9\xc5\xca\x2b\xec\xb4\x1d\xc6\x9c\x5e\xc5\x85\x28\xef\x1f\x7a\xf5\xaa\xb1\xe7\xbb\xeb\x10\x80\xbb\x93\xea\x5a\xf2\xc8\xe1\x9c\xaf\xaa\x3f\x06\xdd\x30\x77\x31\xf4\x0f\x65\x3e\x1c\x5f\xa9\x01\x5b\xf0\x2b\x08\x27\x93\x96\xc4\xe7\x63\x4a\x6e\x57\xec\x61\x0a\xde\xfa\x3c\x17\x99\x26\xc4\x5c\x40\x29\xc9\x6b\xaa\x55\xce\x52\xfd\x78\xaf\xcf\x52\xf1\xbc\xae\xa8\x19\xc8\x07\x5a\x3b\x19\x6f\xa7\x7c\xef\x6f\xa7\x52\xa7\xbb\x83\xa2\xf2\x98\x26\x8b\x15\x7b\xea\x1f\x83\x9a\x9f\xa3\xea\xeb\x75\x51\x13\x02\x3b\x2f\xf2\x85\x50\xe9\xc2\xf5\xde\x48\xe9\xc2\x39\xe6\x89\x9e\x2f\x21\x93\xd9\xb1\x6b\x74\x6c\x09\xcb\x26\xee\xb6\xf1\x9b\xf1\xc9\x04\x65\xba\x2a\xb8\xec\x90\x6b\x9a\x96\xb6\xb4\xd3\x4b\x07\xcd\x48\x8d\xdf\x86\x45\xa9\x5d\xe9\xb5\xac\xd5\xac\x26\xc0\x78\xae\x3d\x4c\x76\x2a\x34\x21\x10\x32\x3d\xe6\x30\x59\x8b\x9b\x7a\x8a\xa4\x74\xac\xc2\x5c\x94\x1c\x0a\xc7\x66\x09\x21\xee\x56\xc7\x49\x9c\x91\x30\x66\xf0\x0b\x89\xa1\xcf\x32\x13\x29\xc2\x49\xac\x5c\x08\x75\xfc\x04\x4b\xbb\x2b\xbe\xaf\x1c\x40\x4d\x5a\x56\x81\x95\x77\xcf\x00\x2a\x0f\x44\x6a\x0c\x46\xad\x8c\x73\x05\xa8\x3c\xea\xef\x77\x09\x58\xe4\xc5\xc6\x47\xf7\xb9\x08\xcc\x69\x16\xde\xde\x76\x86\x6d\x77\xbb\x2b\x6c\xf5\x31\x72\x1b\xc9\xc6\xb3\x7a\xf7\xf2\xe2\xe2\x92\x5d\x9e\x5d\x75\x3d\xbe\xf6\x62\xa7\x15\x1b\xd2\xec\x9f\x97\x17\x9b\xcb\xab\xbf\xf1\xb3\x41\xcd\x8d\x99\x5c\x5e\xee\xf2\xd2\x28\xe2\x73\xa9\x79\x65\xa4\xb9\xf3\xe4\x6c\xc2\x40\xf0\x68\x29\xa2\x7c\x2d\x64\x2b\xec\xfc\xe8\x8d\x16\x84\x2d\x50\xd6\x3e\x79\xf9\x42\x1d\xa2\x5e\x82\xf4\xa8\x53\x96\x41\xca\x3b\x4f\x7c\xf7\x3b\xe8\x79\x63\x60\x22\x96\x8b\xf0\xca\x7b\x22\x53\x2f\x73\xb2\xcb\x0a\xef\xb8\x07\xd6\xf0\x95\xf4\xbb\x82\xb8\x87\x09\x7d\xa5\x40\xb1\xe2\x90\x78\xaf\x8a\x75\xef\xc6\x32\xfe\x41\x71\x3e\x6d\x0e\x8b\x76\x68\x7e\xa5\x8a\x2b\x70\x94\xbf\xce\x7d\x54\xf2\x2c\x5c\x30\xc8\x5f\x7e\xcb\x01\xd1\xb6\xf6\x90\xe2\x99\x0b\x07\x58\xe2\x49\x2d\x16\x59\x14\xf1\x89\x2f\xcc\xa7\x28\xa1\x1c\xd5\x0b\xba\xcc\x89\xf6\x60\xde\x51\x86\xb0\x65\xb3\x6b\x6e\x06\xab\xd5\x84\x8b\x69\x61\xa0\x8f\x61\xb1\xe6\xd3\x2f\x0b\x12\x4b\xbb\xd2\xdc\x75\xca\x44\xd7\xb0\xfc\x43\x1e\x58\x89\x24\x2f\xc4\x6f\x67\xcc\x96\x80\xc9\x20\x1e\xfe\x69\x5a\x15\xca\xa2\x04\x5f\x7d\x5e\x22\x0c\xbc\x4d\x73\xad\xdb\x94\x91\xe1\x23\x7d\x8a\x17\x02\x11\x05\xcf\x3b\x43\xb7\x50\x26\x15\xc1\x36\x0b\xea\x98\x3a\x09\xdd\x56\x26\xb6\x22\xe0\x68\x3a\xa2\x31\x89\xec\x99\xd8\xe1\x47\xb6\xb7\xd2\x3f\xac\x57\x94\xcb\x8d\x1e\x9f\x4b\x57\x09\x7f\x69\x54\xe7\x49\x0e\xfb\x7b\xa9\x10\x85\x4a\xd4\x7a\x31\xb5\xaa\x18\x62\x49\x89\x7b\x35\x04\xc7\x16\xb4\x87\x7a\xda\xc9\xb2\x11\x90\xf7\xf6\x37\x2c\x92\x32\x4a\xfe\xbd\x57\x48\x91\x85\x59\xd3\x6b\x67\x09\x4c\xc2\x38\x28\xec\x62\x31\x43\xa8\x39\x00\xa7\x14\xa3\xf2\x53\xcc\x8d\xfe\x2a\x49\x45\xc0\x62\x04\x6c\x79\xec\x61\x70\x5d\x52\x17\xf0\xb9\x41\x8c\x1b\x41\x4e\x65\x47\x40\x44\x3a\x02\x4c\x70\x50\xfb\x47\x6d\xe0\x1b\x91\x6e\xea\xfd\xa7\x56\xc1\x93\x93\x93\x93\x6d\x65\xb5\xcc\xfa\x76\x71\x54\xa3\x0e\xac\x87\xaf\x5f\xbf\x7e\xed\x3c\x9c\x4e\xa7\x53\x7f\x45\xb2\xed\x47\xfe\xac\xfc\x03\xb3\x11\xe7\x49\xf1\xce\x21\xc6\xa5\xc4\x25\x63\x5b\x63\xf5\xbc\xfc\xbe\xd6\x7a\xda\xeb\x7f\xfa\xba\x94\x0d\xbb\xf3\xe1\x2c\xfc\x52\xc6\x86\xfc\x95\x4d\xe4\x99\x85\xbd\xb8\x81\xad\x50\xab\x55\x0d\x14\x70\xad\x9c\x1e\xc2\x84\x44\x11\xcb\xed\xce\x1f\x76\x6d\x22\xfe\x22\x15\xe7\xab\xc4\x6e\xdd\xb7\x91\xf1\x57\xe9\xf0\x0d\xfd\x6f\xa1\x64\x87\x69\x86\xdd\x5a\x31\xd7\x46\xa3\x91\x33\x9c\x46\xbe\x87\x41\xe0\x79\xe4\x7d\x16\x6c\xa3\xe9\x63\x92\x06\x36\x1d\xc4\xc1\x74\xec\x47\xa3\x64\x99\x5c\x17\x4d\x4d\xb2\x8d\xf5\xcb\x56\xf6\xa0\x65\xe6\xc8\x61\xcb\x7f\x6d\x15\x5f\xe1\x9c\xb2\x8c\xcc\x17\x6e\xd9\xcf\x4e\x53\x3e\x7f\xde\x05\xdd\x1f\x49\xec\x34\xe0\x7c\x6b\x41\x67\xa6\xba\xc3\xd3\x29\x54\x36\x14\x1c\xc2\x8d\xf1\xa5\xe4\x92\x47\x28\x79\x24\x92\xf3\xe8\xcd\x1b\xe7\xd1\x6c\xe6\x3c\x9a\xcf\x9d\x47\x8c\x39\x8f\x56\x2b\xe7\xd1\xc7\x8f\x3b\x0b\xc0\x5c\x0e\xd8\x02\xf0\x34\xf5\x88\x08\xc9\x1c\x97\x37\xee\xd8\x77\xdb\xec\x36\xd9\x6d\xb1\xdb\x60\xb7\xbd\x6e\x73\x9d\x27\xd4\x79\xf2\x72\x07\xe1\x50\xd1\xe4\x93\x64\x0b\x47\xed\xa9\x68\xa9\xb2\xaa\x5e\x4b\x4b\xd1\xa2\x4a\x95\x30\xde\xac\x91\x78\x6e\xb2\x17\x2f\xd9\x98\x2c\x68\x7d\x19\x53\xfc\x22\x77\xc4\xb8\x87\x29\x34\x72\x97\x97\xe2\x9a\x5b\xde\x73\xfb\x0d\xae\xc9\x36\xb7\xc1\x4c\x4e\xcb\x91\xd0\x9d\xbf\x4a\x93\xb9\x08\x57\xe4\x51\x97\x31\x15\x3c\x5a\x7e\xc1\x48\x05\x4f\x8d\x3d\x99\x8a\x6f\x7e\xfe\xc7\x88\x64\xe3\x19\x1a\xca\x4b\x4c\x52\x71\xe0\x4a\x04\xdc\xe4\x5f\x5c\x59\x21\x7e\xb2\x3f\x5e\xcc\x96\xf1\xad\x08\x18\x68\xe2\xbc\x70\x9e\x14\x51\x83\xfa\x57\x02\x9b\x7d\xf9\x90\x62\xe4\x89\xba\xc2\x2a\xae\xf6\x74\x8a\x24\x31\xf8\x9a\xa6\x82\xa6\x5a\xbb\xd6\x82\x5e\x0b\x7a\x57\x65\x79\x00\x9a\x75\x44\x7d\xd1\xbf\xc2\xb8\xf5\x0d\x68\xca\x28\x04\xe2\xf1\xde\x95\x27\xe2\xa3\x78\xd5\x13\x3e\xc1\xb5\x66\x0d\x8e\xa0\xad\x30\x0e\x14\x6e\xe7\xc0\x5c\x04\x39\xe0\xc3\x0e\xa3\x0d\xc9\x6e\x10\x97\x95\x18\x3d\x3e\xa3\x66\xef\x92\x20\xe0\x0d\x3b\x4f\xd0\x65\x88\x77\xae\xb1\xaf\x96\x7e\x11\xa5\xdb\x6b\x8e\xf0\x03\x49\xb3\x63\xa9\x01\x52\xe3\x9d\x68\x8d\x2a\xdd\x61\x77\xbb\xf0\x8f\xdf\x8e\x7f\x3d\x7f\xf9\xeb\x96\x4d\x77\xae\x20\xab\x0a\x66\x61\x90\xa2\xbc\xc2\x79\x87\x22\xb7\xe5\x61\x11\x3d\x9f\x1e\xc2\x7e\xd5\x9e\xc3\xf2\x53\xea\x76\x85\x53\xb9\x23\x0c\x61\x80\x6c\x27\x51\x54\xb8\x09\x26\x30\x1a\xb9\x4b\x0a\x7c\xbf\xe6\xd8\xad\xb9\x47\x43\x8a\xcd\x4e\x19\xe5\x1e\xda\x5d\xea\x89\xd6\xcd\x52\xac\x69\x26\x7f\xca\x93\xc6\x38\x97\xe5\x4e\xb2\x8e\x3f\x8a\x34\x68\x0a\x83\xb8\x96\x89\x23\xa0\xbc\x1a\x03\x99\xa5\x89\xa4\xc2\xc5\x13\xb5\x3e\xe8\x98\x89\xca\x98\x8e\xc3\x50\xf2\x0d\xcc\x24\x3b\xea\xf6\x54\x2b\x6c\x2f\xe4\xa1\xad\x79\xd8\xda\x07\xdd\x2e\x9c\x1c\x7f\x82\xd3\x57\xde\x31\x75\x52\xd2\x33\x27\x27\xee\x9e\xe4\xaf\x8f\x29\x11\xfb\xc0\x1c\x52\xf7\x1e\x4e\x27\xc9\x77\xa7\x04\xa5\x2d\xff\xe2\x94\x32\xaa\x31\x14\xe6\xf2\xc2\xa8\x71\xd1\xbb\x6a\x41\xbf\x67\xaf\x75\x3b\xf6\xc9\xa7\x97\xc7\xb6\x28\x3a\x39\x29\xef\x14\x4f\xb7\x7c\x63\xc7\xe4\x19\x7f\xf2\x60\x02\xd5\xdd\xb2\xa5\x39\x9e\x76\x7c\xfa\x64\x13\x66\x76\x01\xc6\xbb\x28\xac\xea\xc5\x8a\x27\x77\x45\x78\x59\xe5\x23\xc4\x3b\x22\xf0\xcc\x0e\xfe\xa3\xbc\xff\xf1\x8e\xa4\x95\x33\xc4\xe5\xc0\xf1\x08\xba\xf0\xc1\x16\x67\xa4\xa4\x2b\x8f\x9d\x63\x97\x45\x90\xea\x9f\x90\x7d\x98\xbb\xe2\x2f\x64\x1f\x46\x3b\xd2\xf5\xe6\xf4\x37\xbb\x67\x66\x25\x44\xcd\x66\xee\x49\xa1\x84\x2c\xdd\x9d\xdf\x4a\x39\x07\x3b\x1d\xa2\xdf\x94\xd0\xf0\xc6\x96\x50\x6f\xde\x54\xf7\x95\x0c\x65\x72\xaf\xbe\x12\x01\x41\x9c\x13\x81\x9f\xa2\xf9\xdc\x3d\x2c\x55\x52\xa4\xa2\x8f\xdc\x8f\x26\x11\x12\xc4\x39\x93\xf8\x69\x62\xcc\x3d\xad\x55\xd2\xa4\xa2\x90\xdc\x97\x4f\x79\xac\x12\xfb\xbc\xeb\x4e\xac\x33\xef\x33\xff\xc3\xb3\x6d\x1c\xd4\x02\xa7\x28\x92\xeb\xb5\x1e\x86\x5d\x96\x3b\x91\x87\x98\x9e\x69\x6b\x13\x7e\x7b\xff\xf6\xbf\xe0\xf4\xd5\xab\xb3\x97\xe7\x50\xd7\xf0\x9e\x35\x2c\xaa\x6c\xa5\x45\x2e\x20\xf5\x44\x69\x3a\xf3\x76\xab\xfa\xfc\xed\xe8\xe5\xd9\xf9\xf1\xe8\x03\x7c\x7c\x7b\xfe\x06\x46\x67\x56\xb5\xb6\xca\xc3\x5b\x2d\xca\xc6\x57\x51\x52\x5c\x41\xec\xd8\x7a\x5e\xfb\xe7\xd3\xf7\xf6\x50\xff\x5c\x32\xac\x3e\x7f\xb6\x01\x3f\x97\x09\x80\x25\xa3\x22\xd1\x88\x3b\xf9\x15\x88\xc8\x73\x52\x7e\x98\xdb\x6d\x0c\x7e\x7c\xf9\xf2\xff\xf0\xc5\xb2\x0d\xb3\xe5\x9c\xc4\xf6\xe1\xff\x9b\xf5\x63\x9e\x4d\xa5\x61\x46\xed\x25\xcf\xde\x3f\x4e\x69\x06\x44\x79\x05\x6c\xd9\x40\xde\x6f\xff\xa8\x48\x5b\x69\x64\xae\xf8\x01\xf0\xcf\xaf\xae\x01\x6d\x0e\x70\x51\x0b\x6a\x7f\x6d\x9b\xf9\x51\xb6\xe5\x9b\x36\x9a\xbc\xaf\x5a\xf8\x2f\x88\x2e\x8b\x97\x73\x9a\x86\x63\xab\x37\x5c\xbd\x8a\x4f\xb3\x54\xad\x6b\x2a\xd3\xfd\x6c\xd7\xc7\xe0\x39\x01\xa5\xca\x2d\x8d\x3b\x22\x98\x44\xbd\xd7\x02\xdb\x5a\x79\xfb\x1a\x66\xe9\xff\x2b\x6e\x4c\xec\x0b\x84\x2a\x3a\xec\xa4\xef\xf9\x76\xee\x3b\x0e\x13\xac\xf3\x2f\xef\xc4\xbd\xad\x2f\x91\x67\x5b\x09\xf4\x10\xb7\xf3\xce\xb0\x24\x37\xb1\xda\xda\x72\x99\xc3\xc7\xf5\xdb\x78\x92\x78\x1c\xe0\xef\x48\x0a\xab\x16\xce\xe2\x4f\x18\x72\x8f\x7f\x6b\xa9\x59\x5d\xc4\xda\x6b\x41\x46\xe7\x7a\x48\x5d\xa3\x4d\x05\x35\xbc\xc3\x56\x9d\xd7\xaf\xf3\x7c\xe4\x9b\x0d\xac\x3a\x1f\xcd\x9f\x2f\xcb\x26\x7f\x80\x11\xb6\xac\x53\x76\x90\xf0\x19\x79\x60\x39\x0e\xe5\xb9\x20\xb4\xfc\xe0\x99\x72\xdf\x51\x31\x7b\x42\x96\x7c\xcc\x5b\x76\xb3\xcc\x84\x71\x55\x40\x17\x34\x0e\x18\x24\xb1\x8d\x71\x96\xac\xb8\x80\x0b\xe3\x8c\xa6\x8b\x94\x66\x10\x27\x2b\x19\x54\xa6\x05\xcb\x6c\xdc\x82\x49\xf8\x05\x33\xc8\x63\x70\xf5\x0e\x9c\x25\x32\x9f\x84\x8d\x89\x60\xd1\x3b\x9a\x32\xcc\xf1\x3b\xc9\x49\x12\x3c\x83\x3a\xd2\x5a\xc4\xcf\x90\x89\xa5\x26\x11\x99\x32\x4c\x68\x6e\x23\x14\xd5\xa0\x3d\xb2\x79\x1a\x57\x5d\x07\x43\xcc\x48\xcf\x99\x5f\x28\x02\xf2\xc8\x7a\x6e\x88\xc5\x46\x0b\xfa\x2d\x38\x68\x60\xf6\x16\x6b\xfc\xa3\x81\x99\xc2\xf7\xd1\x15\x0f\xab\x5c\x50\x0a\x90\x97\x26\x88\x57\xe4\x8a\xbe\xb5\x35\xb4\xca\x12\xcf\xd7\xe5\x25\xb0\x6b\x6b\x24\x38\x0c\x98\x4e\x77\x65\x40\x11\x49\x72\x1b\x13\x56\xa2\x85\x8e\x70\x5a\x75\x82\xaa\x95\xac\xdb\xcd\x79\xd5\x6e\x43\x94\xac\xd0\x20\x50\x98\x6d\x32\x4c\x14\x39\x4e\x62\x16\x06\x18\xd2\x1b\xaf\xe2\x39\xb8\x83\xa6\xe0\xf7\xaa\x13\xb8\xb2\x0d\x09\x91\x20\xcf\x78\xa3\xca\xbc\x54\x9a\x4d\xd3\xbe\x31\xef\x30\xdf\x8a\x29\x9a\x47\xb7\x34\x0f\x3b\x47\x6f\x24\x86\xa3\x15\x3e\x21\xa8\xe4\xc5\xd0\x0e\x37\x74\x1a\xc6\x32\x6a\xd1\xd6\x16\x52\x11\xf0\x73\xc7\x65\xbc\xdb\xcd\x35\xf9\x59\x72\x9f\x8a\xdc\x2a\x7e\x70\xbf\x71\xa9\xc7\x61\x6d\x71\xca\xea\x15\x22\x53\xc8\x4d\x7d\xb8\x58\xc3\x91\x2f\x3e\x74\xbe\xc0\x51\xf7\xd4\x01\x32\xd4\x12\x1c\x2c\x7f\x60\x2b\xa1\x95\xe2\x59\x25\x62\xe0\x1c\x20\xb8\xf7\xea\x28\x90\x3c\x40\x9b\xf2\xb9\x99\x87\x69\x9a\xa4\xf8\x7c\x41\x52\x32\xa7\x98\x3c\xf4\x86\x46\xc9\x4a\x95\x89\x93\x8c\x0e\x80\xef\x8f\x31\xa8\x2c\x13\xbe\x02\xca\xda\x14\x87\x6d\xb2\xe0\xcb\x0c\x89\xb8\xa8\x82\x55\x18\x45\x7a\x27\x88\x20\x71\x2b\xca\xb2\xfc\xae\x40\x60\xca\xa9\xba\xd0\xc2\xca\x62\xf2\x09\x68\xa1\xcd\xbf\xf2\xb0\x69\x49\xb7\x83\x96\x9e\xd7\xe3\xca\x5e\xe2\x32\xca\xbb\x43\xa6\xa8\xf4\xaf\x6d\xa1\x50\x9a\x4b\xd5\x3a\xba\x8b\xb6\x94\x2c\x3e\xc1\x17\x9c\x92\xf3\xe4\x37\x46\x9d\x48\xc2\x2a\x2d\xf4\xee\x81\xbd\x35\xc4\x5c\x7e\x15\xbf\x44\x46\x8c\x3c\x1d\xb5\xb6\x6f\x1c\x27\xf3\xc5\x32\xa3\xba\xa1\x30\x32\x19\xa7\x8d\xc8\x5d\x8b\x2c\x96\xdb\x73\x2f\x89\x2b\x11\x8b\x4c\x0d\x31\xa9\xdf\x2b\x92\x06\x15\xaf\x94\x2e\xb6\x64\xf9\xad\xda\x34\x78\x1b\xdc\xed\x86\x13\xb9\xdf\x37\xc9\x0f\x19\x30\x9a\xf1\xf5\x72\xba\xe4\xc3\x65\x99\xc1\x0a\x83\x46\xf1\x45\xd9\xcf\x67\x55\xb9\x4d\x55\xde\x41\x52\x18\x3b\xa2\x5d\xe3\xb3\x78\xe4\x13\xd4\xee\xe4\x7a\x6e\x07\x09\xc6\x4a\xbc\xde\xa2\xda\x51\xc1\x13\x89\xd4\x77\x0e\xb4\x94\x86\x81\x18\x11\x73\x72\x4b\x55\xe0\xe4\xbc\x46\xbc\xd1\x72\xb9\xe0\xdf\x21\x16\x5d\x28\xa6\xb9\x88\xc4\x2c\x22\xe9\x96\x16\x51\x0a\x5f\xad\x44\x85\x79\x65\xb7\x0b\x27\xc5\x5c\x56\xfb\x96\x42\xa8\x48\x98\x87\x9c\xad\x71\x02\xce\x4c\x4e\x26\xf2\x4e\x81\xcb\x89\x69\x78\x47\xe3\x96\x21\x1c\x92\x80\xac\x1d\x44\x46\xc1\x90\xd9\xe5\x24\xc2\x58\x38\xdd\x38\xa5\xcb\x8a\x25\x71\xb4\xf6\x97\x50\x83\x54\x15\x40\x1f\x6f\x55\x8c\xc4\xeb\x6c\xa6\x67\x7a\xb6\xcd\x7b\xf7\xcd\x59\x15\xe6\x33\xea\x29\x34\x9b\x4e\xa0\x7a\x13\x50\x48\x22\xf1\x55\x1f\xb9\xba\x1d\xaf\xd9\x1b\x9f\x69\x9a\xe4\x33\x88\xde\xd1\x14\x56\x84\xa1\x1b\xa6\x24\x98\x06\x5c\xbe\x8d\xa3\x65\xc0\x57\xbe\x2c\x9c\x53\x93\xf2\x2a\xcf\xf7\x72\xe2\xea\xbe\x06\x36\xe0\x08\x39\x31\x1c\xc2\x1e\x1c\x41\x1f\x06\xd0\x6b\x68\x37\xef\xa4\xa2\x1d\x2f\x30\x75\x10\xa7\x68\xef\x60\xd0\xeb\x0d\x7a\xbd\x8e\x9e\xaf\x5c\x9f\xa5\x4e\x94\xe6\xd2\x29\x59\x04\x3c\x2e\x8d\xc2\x5a\x80\xe6\x6a\xb5\xed\xa0\xa6\x1a\xce\x9f\x2f\x42\xc0\x2a\x6f\xc8\x2a\x75\x50\xde\x1e\xdd\x6e\xf4\xab\xbb\x3f\x08\x74\xbe\x4b\x35\xd3\x91\x2e\x36\x60\x80\xbf\xf8\xd7\x86\x74\x17\xe4\xdd\x22\xd7\xb7\x86\xa9\x95\xe7\xaf\x73\x1d\x14\xa8\x23\x46\x1e\xc7\xaf\x83\x4e\x27\x64\x9c\x2d\x49\x04\x08\x32\x26\x31\xdc\x50\x18\xcf\x48\x3c\xa5\x81\x8e\x6b\x15\x66\x33\x61\xc6\xf1\x39\x89\x35\x41\xa0\x77\x9a\x48\x01\xec\x5d\x59\xf2\xf6\x75\x98\x10\x58\x42\x21\x56\x48\x65\x25\xc8\xe4\xf3\x06\x34\x75\x55\x9a\x5f\x50\xe9\x75\xcb\x4e\x28\x1f\xdd\x8a\xff\x7b\x07\xdb\x8f\xce\x62\x5f\x21\xf2\xa9\x94\xec\x2b\x9c\x24\x29\x7f\x79\xef\xe0\x26\xbc\xf1\xa6\xcc\xc9\xef\x46\x1a\xee\xc6\x91\xf0\xfd\x8d\x51\x9f\x85\x14\x37\x9c\x65\x59\x74\x04\x84\x10\xe4\x95\x20\x5c\x56\x6f\x36\x9e\xc7\x19\xad\x2e\x88\x3b\xbc\xea\xda\xc5\xee\xaf\x12\x46\xee\x0c\xb7\xe0\xc9\x77\x8d\x39\x9c\x9e\xe4\xc4\xbf\x77\xf4\x9b\xe2\x97\x6d\xe3\x9c\x11\xb1\xd2\xd5\xd6\x56\x66\x4f\x73\x4e\x97\x18\xde\x5f\x38\xf2\x28\x4e\x56\x72\x66\xbc\x5a\x46\x11\xee\x54\x1a\x6e\x26\x97\x02\x4a\x6e\x04\xaa\x40\x04\x75\x06\xc0\xd5\x96\xa3\xbb\x22\x4f\x22\xd1\x48\x51\x78\x55\xbd\xea\xb7\xa8\xe4\xaa\x64\xaa\xf1\x23\x1b\x97\x65\x28\x8a\xa4\xd1\x0c\x5f\xdb\xa5\x39\xbf\x78\x62\x76\x82\x12\x7a\x85\x0a\xfd\x38\x77\x8f\x70\xfb\x43\xe7\xf8\x04\xa5\xb7\x54\xa7\xbd\x3d\x3b\xbd\xfe\xf9\xb0\xe7\x78\xe6\x8b\x4b\xf0\xb3\x53\x77\xb3\x0b\x5b\x76\xfc\xfa\xd4\xbb\x72\xa7\x64\x1e\x69\x5d\xad\x0e\xba\x50\x3d\x9f\x85\x4c\xc5\xfd\x65\xb0\x64\x42\x8b\x85\x41\x68\x08\x88\xd3\x09\x0d\x31\x77\x2c\x8a\xdf\xff\x56\x83\xeb\xbf\x21\x49\xe1\xbf\x55\x8a\x8e\xff\x36\x86\x61\x6e\x13\x86\xa9\x92\x73\x69\x61\xe5\x65\x6b\x89\x16\x8b\xd9\x22\xcd\x47\x58\x6e\x46\xc2\x6e\xc3\xc5\x82\x5a\x53\x4c\x20\x7e\xa7\x7c\xc6\xa4\x0d\x99\x4c\x2f\x67\x40\x66\x49\x26\x6d\xee\x04\xfe\xbc\x8c\x9e\xac\x45\x54\x69\x3b\xf1\xe4\x9d\xd6\xb2\xb4\x3f\x8d\x32\x37\x37\x61\x5d\xe6\xf5\x70\x13\xdb\x9e\x4c\x0f\xd5\xee\xdd\x02\x19\xca\x68\x37\x11\xb9\xc6\x29\xc7\x78\x6e\x17\x2f\x09\x65\x4e\x77\xd1\xf3\xc4\x3b\xd1\x90\xfb\x0e\x1e\xb2\x27\x0a\x7e\x17\xaa\x72\xf9\x40\xe5\xb6\xd2\x11\x95\xc5\xe5\x13\xc8\x2a\x32\xb9\x7b\x46\xaf\x88\x77\x2f\xa4\x2a\xe6\x0f\x92\x58\x76\x8a\xe3\x63\x19\x28\xca\xd0\x28\x15\x94\x43\x53\x67\xb7\x0a\x83\xee\x56\x55\x32\xc4\x9a\x43\x4f\xf1\x4a\x83\xf7\xae\xdc\xfa\x0b\x6f\x67\x15\x14\x1e\x43\x9c\xc0\x6d\x9c\xac\x62\xcd\x37\x46\xe7\xa5\xd7\x89\x51\x28\xef\xbd\xe9\xb1\xb6\x77\x35\xf8\xa5\x06\x06\xef\xdd\x85\xd7\x15\xf1\x60\x9d\xee\x94\xfe\x4c\xd8\x9f\xc2\x4e\x70\x97\x1a\xb6\x18\x2f\x1a\x12\xc5\x2b\x47\x3d\xe9\xad\x74\x49\xad\x45\x3f\xdc\xc2\xab\x7b\x37\xc8\xeb\xf5\xd9\xed\xf2\x26\x41\x4a\xe7\x44\xe8\x0c\x97\xb1\xa8\x57\x2a\x8b\xe4\x3c\x91\x0a\x2d\x6d\x55\xb2\x48\xb0\x72\x48\x98\x92\xb2\x5d\x32\x56\xcd\xed\x81\x21\x4d\x7d\x33\xb3\x72\x46\x0a\xc3\xe0\xb2\x63\xd7\x38\xe2\x67\xdd\xeb\xfe\xde\x0c\xaf\x17\x78\x7d\x7c\x23\xc6\x97\x9c\x67\x43\xe8\xef\x79\x57\x4d\x2b\x65\x05\x26\xed\x35\xce\xbc\x32\xff\x0e\x47\x50\x41\x6b\x61\x27\xe3\x49\x7a\xf1\x55\xa7\x72\x46\xe2\x20\xa2\x40\xe6\xb0\x98\x7b\x29\x42\x63\x20\x1f\x09\x15\x14\x28\x98\xa6\x99\xd5\xcf\xa8\x58\xa4\xb2\xed\xef\x01\x99\xb7\xe4\xc9\x47\x84\x1f\xe1\x1d\xef\x3f\x9d\x0a\xbb\xa4\xa1\x9c\x9c\x3e\xa2\xf8\xcb\xed\x64\x59\xa7\x41\xf5\xad\x6a\x73\x8a\x68\x8c\xbc\x50\x95\x7b\x57\xcb\x62\x9d\x79\xb2\x82\x30\xdd\x41\xbd\x7e\x79\xd1\xd8\xf0\x3f\x57\x8d\xcd\xe5\x45\xfd\xe2\x9f\x97\x57\x97\x17\x57\x0f\x1b\x97\x57\xfc\x69\xa7\x61\xc6\xc3\xc2\x35\x90\x06\x2d\x58\xf4\x5b\xb0\xd8\x6b\xc1\x62\xbf\x05\x8b\x83\x92\xdd\xed\x02\xf3\x40\x2d\xf6\xf0\xdf\x7d\xfc\x57\x3f\x8b\x35\x6c\xe5\xf6\x8b\x24\x90\x5b\xc4\x59\x96\x2d\x06\xdd\x2e\xcb\xc8\xf8\x56\xa9\xdf\x3a\xe3\x64\xde\xfd\xd7\x92\x32\x14\xbd\xdd\xfd\x47\x87\xfd\x83\x27\xfb\xdd\x90\xb5\xf9\x86\x89\xb6\x49\x5b\x98\xee\xb7\x05\x03\xda\x8a\xea\x76\x18\xb7\x7f\x27\x77\x84\x8d\xd3\x70\x61\xb9\x34\x1b\xc6\xfe\x5b\x78\x75\xd1\xbe\xec\x5e\x5e\xfe\xf3\x6f\x0f\x9b\x47\x9d\x7a\x63\x73\x71\x79\xf5\xe7\xd7\x2b\xf4\xef\xbf\xbc\xfc\xdb\x4f\x35\xa7\x35\xde\x0d\xaf\xd8\xfb\x15\x11\x47\x64\x18\xad\x1d\xb6\xbe\x55\x27\x91\x8c\xce\x17\x62\xec\x98\xfb\xb2\x1b\xca\xa4\xbf\x76\xcb\xd4\x4e\xb2\x71\x92\xd2\xf3\xe4\xef\x94\x64\xf6\x3e\xd1\x1c\xbf\xe2\x24\x74\xc6\xc1\x4b\x4e\xbc\x13\x23\x27\x4e\x85\x64\x30\x93\x02\x55\xe9\x4e\x0c\x6b\xa0\xf7\xe4\xfd\xee\x9b\x73\x37\x53\xa2\x49\xa4\x5f\x21\xa6\x35\xd2\xf5\xf3\x2d\x78\x8b\x17\x94\x8b\xb5\x9c\xa4\x7f\x7e\x2d\x59\xf3\xdc\xc3\x5f\xd5\x85\x5a\x81\x5e\xb3\x32\x32\x8b\x57\x2d\xa9\x7a\xf1\xc5\x04\x86\x4a\x41\x28\x3d\x87\x5f\x45\x64\xca\x6c\x35\xb1\x5e\x66\xa2\xd5\x36\x71\x36\xc2\x55\x67\xb0\x02\x8b\x4f\xf9\xfe\x40\xc5\x00\xd0\xc0\x4a\xd6\xf5\x2c\x8c\xb7\xe8\xd2\x85\xcc\xc6\x59\x2e\x92\x90\xaf\x95\xc7\xc5\x8c\x64\xb9\x6a\x54\xae\xe4\x7c\x81\x27\xb0\xa0\x31\x89\xb2\x35\x0e\x08\x95\x70\x63\x4e\xb2\xf2\x7e\x6f\x0e\x2d\x5e\x9a\x8b\xbc\x63\x8b\xc0\xf1\xe2\x16\xe4\x3e\x28\x7d\xa9\xa4\x1e\x42\xbf\x67\x61\xb7\x4a\x31\x39\x30\x4b\x26\xa3\x62\xb9\x36\xa7\xf3\xab\xa0\xcd\xc6\x24\xe9\x99\x3e\xf3\xbd\xc7\x0f\x1d\x89\x55\xa3\x0d\x5b\x48\x17\xd0\x5b\xba\xc3\x3e\x4c\xa6\x72\x10\x03\xaf\xa5\x23\xda\x6c\xc0\x18\x58\x50\x22\x52\x43\x96\xe8\x5d\x9a\x8b\x4e\xfb\x58\xef\x5e\x0e\x46\xbe\x43\xae\x36\x0b\x2c\x09\x88\x2b\x1e\x0c\x79\x85\x78\xe4\xeb\xd0\x2f\x74\x5c\x6c\xc0\x0c\x91\x88\xb0\x55\x12\x90\x25\x5e\xb9\x67\x84\x68\x11\x75\xf1\x59\xc7\xcc\x00\x2d\xa5\xb1\x45\xd0\x64\x4a\x16\xb9\x08\xaf\x2e\xfa\x57\x06\x91\xe5\x99\x88\x44\xe3\x2e\x1e\x5d\x69\xd1\x19\x6b\xe7\x35\x48\xd2\x62\xf3\x56\x79\xbc\x98\x68\xc4\xf2\x9a\x7b\x57\xd0\x94\x6c\xb8\x38\x44\x37\xb0\x1a\x94\x45\x95\xdd\x29\x5b\xd1\xd7\x6d\x7c\x42\x17\xd9\xfb\xf1\x09\x8b\xdc\x83\x4f\x45\x63\x9b\x45\x95\xa2\xb5\xdf\xad\x65\xda\x89\xa0\xd4\x47\xaf\xea\x58\x84\xb4\xd5\x3e\x97\x06\x83\x84\x2d\xc2\xdc\xbd\xf1\xf5\x9d\x2e\x8b\xdd\xb0\x4a\xba\x67\x9d\x55\xcb\x75\x7e\xc5\x7c\xe5\xa3\x6b\x42\xa2\xe8\x86\x8c\x6f\xb7\x6d\x7b\x3c\xb3\xb8\x5c\x6f\x67\xee\xd7\x55\xba\x45\x49\xa3\x73\xf1\x4d\x23\x9a\x51\xbb\x45\xd6\xea\x27\x34\x88\xc2\x0e\x8b\x13\x85\x27\xb0\x57\x92\x76\xdf\x2d\x39\x78\x83\x3c\x2d\xea\x24\x4d\x5b\x30\x71\x92\x20\x8b\x2c\x46\x17\x57\x46\x1e\x1a\x7b\x0b\x43\xd2\x34\x1f\xdf\x9e\xab\xc6\x94\xca\x43\xf0\x24\xe6\xd5\x5c\x84\x1c\x5b\xa3\x2a\x46\x55\x4a\x4b\x12\xf6\xeb\xfc\xc7\xa6\x96\x09\x51\xa9\x18\x2b\x24\x26\xc8\x73\x81\xd9\x19\x12\x4e\xcf\x7f\x58\x7a\x4b\x54\xa2\x48\xd7\x0c\x93\x8c\x7c\x4d\x3b\xe1\x69\x3a\x86\x93\x05\x36\x75\x92\x81\x21\x10\xb6\x78\x4f\xb3\x5f\x58\x12\x6b\x02\x5e\x55\xf3\xa0\xc4\x70\xc2\x5f\xa1\x44\x7a\x61\x64\xcf\xd3\x6a\x95\xd1\x06\x0b\xc6\xd4\xc4\xa4\x77\x92\x02\x95\x4f\x85\x12\xde\x88\xd3\x41\x35\x73\x08\xda\x23\x2c\x64\x28\x34\x99\x64\xaf\xa1\x1f\xef\x92\x9b\xdf\xb7\x05\x97\x78\x1b\x67\x1c\x0c\x9d\xc0\x2c\x69\x63\xa7\xe0\xda\x72\xa8\x75\xf8\xa2\xec\x7e\x91\x31\x22\x00\x95\xc3\x18\xff\x55\xdd\xae\x48\x4b\xd2\xd9\x77\xbb\x32\xb3\x64\x71\x87\xc4\xb6\xf7\x76\xc9\xe8\xfa\xf3\xdf\x22\x43\xc4\x70\xa8\xaf\x31\x4d\x7d\xd0\x82\x59\x0b\x46\x2d\x60\x2d\x98\x33\xd3\xe3\x77\x4c\xe2\x5a\x26\x53\x35\xe1\x65\x71\x03\x6d\x3a\x84\x2d\xa9\xb0\x14\x1b\x68\xe0\x3b\x1c\xb4\xfb\x3f\xf7\xf7\x0f\x7e\xee\x8a\x70\x65\x59\x48\xb2\x30\x9e\xb6\x89\x76\xa4\x6e\x8b\xbe\x6a\xdf\xac\xdb\x63\x12\x45\xfc\x75\x9e\x9d\xab\x3d\x4e\x62\x96\xa5\xcb\x71\x96\xa4\x6d\x24\xc8\x10\x25\xd2\x4a\x26\xe7\xa9\xb7\x7d\xc6\x15\x4a\xee\x6a\xa0\x21\x86\x20\xa1\x8c\x37\x5b\x64\xaa\x12\x61\x5a\xe1\x19\xf4\x9f\x3c\x36\xd5\x39\x6b\xf9\xd0\x37\xaa\x3a\x4c\xbb\xe7\x5a\x57\x09\xd0\x20\x8f\x82\xe8\xeb\xa7\xdc\xda\xc7\x16\x9b\x76\x5b\xd5\x6d\x8e\x71\xa9\xaf\xd2\xe0\xb3\x86\xb5\xb2\x6d\x23\x5d\xbf\x30\xfc\x46\xea\x71\x7e\x4b\x8f\x08\xe5\x66\xec\x06\x20\xbb\x97\x1c\x93\x47\xc1\xf7\xe4\x7d\x89\x6c\x02\xe5\x69\x0a\xc3\x42\xbe\xc8\xba\x5d\x09\x63\xfc\x2a\x51\x7f\x2b\x6c\x3b\x7b\xb9\x78\x1b\xf5\xa0\x42\x5c\x58\x0c\x75\x33\x9f\xba\xb4\x56\xa4\x64\xd4\x1c\x4f\xbe\x29\x9b\xde\xaf\x32\x00\x2e\x9c\x2b\x2b\xa0\x7b\x46\x0a\x9b\xd1\x68\x41\x53\x23\xcc\x9f\x12\x5b\x93\xb8\xc3\x05\x63\xcb\xfa\xfd\x3e\x59\xa1\xc5\xba\x7a\x1c\x2c\x53\xc2\x8b\xf2\xf7\xe8\xb6\x14\xfe\x61\x45\x41\xc0\x4b\xac\x30\x5b\x66\x18\xe5\xe1\x78\x9a\xd4\x55\x50\xe1\x92\x98\xc3\x2a\xd6\xb0\x6f\x04\x9a\x41\xeb\xf4\x00\xc0\x32\xae\x2e\x3f\x78\xf4\x5b\xf0\xe0\xc1\xb6\x40\xc6\xfe\x79\x60\x60\x5c\x24\xec\x3d\x9d\x9e\xc8\x16\x3a\x74\xfa\x03\xf4\x29\x86\x14\x5e\x1d\xea\x89\x85\xaf\xd1\x21\x37\xcc\xbe\xbd\x97\x2b\x10\x0c\x21\x4d\x96\x71\x50\xcf\xd9\x4b\x58\xbd\xc6\x6a\x8d\x46\x59\x28\x0c\x0f\xf8\xdc\x01\x17\x9a\x6e\x2f\xf0\xcc\x01\xc6\xc4\x3c\x5e\xd8\xc0\xa5\x43\x24\xb1\xf3\x42\x8f\x1c\x68\x21\xa3\xbd\xc0\x6b\x04\x36\xa0\x49\x3a\xe5\xc0\x8a\x33\xcf\x8c\x3e\x3a\x9f\xa5\x94\xcd\x92\x28\x60\x1d\x06\x3f\xfd\x04\x17\x35\x56\x53\xe6\xc4\xec\xca\x97\x98\x3f\x67\xd9\x70\x08\x7d\x51\x64\x5e\xab\x84\x2c\xad\x71\x2e\x8b\xcf\x6b\x79\xae\x00\x2f\x22\xc9\xf6\xa2\xc2\x99\xbf\x42\x01\x57\x5a\xdd\x4c\x16\x9e\xd5\x84\xf9\xb4\xbf\x32\xd1\x6d\x45\x5d\x81\xbf\x2e\x04\x2b\xad\x2a\x90\x65\x83\x1a\x5a\x79\x96\x70\x52\x76\x7a\x51\xd7\xa8\x84\x91\x02\xb0\xb4\xb6\x91\x2c\x3d\xaa\x49\xd3\x52\x7f\x7d\x72\xd8\x14\xd5\xad\x6b\x22\xdc\x4c\x6d\xbd\xae\x09\xd3\x6e\xa6\xdb\x06\xf0\x81\x73\xb1\x77\x05\x43\x73\xe2\x3e\x35\x01\xf6\x39\x40\xd3\x9c\x9a\xf0\x5c\xd7\x04\x23\xd8\xc1\x55\xbe\xae\x3c\xb5\xa5\x91\x23\xe1\xe4\xb2\xfe\xe7\x57\x5c\xd4\x59\x21\x6b\xbe\x41\xc6\x7f\x94\xe1\x9f\x3f\x29\xc3\xd6\x7b\x8a\x78\x0c\x22\x8d\xe6\xcb\x88\x49\x7c\x7a\x7c\x42\x2d\xe3\x16\x1c\xf2\x2f\x52\x91\xd6\xed\xda\x1c\x17\x1f\xcb\xe2\xbb\x88\x5b\x2d\x7d\x3e\xd4\xc3\x4a\x24\xf5\x25\x5b\x92\x28\x5a\xf3\x6a\x11\x19\x5f\x68\xf8\xb7\x86\x9f\x50\x69\x6d\x7d\x6f\x42\xb5\x98\xd9\x21\xb3\xe8\xcd\xe3\x6c\xe7\x80\x95\xe8\x54\xce\x6d\xab\xed\xd5\xcd\xa4\xd3\x0e\xbc\x3d\x3b\x95\xc6\xfc\x22\xf7\xaf\x48\x89\x06\xf5\x83\x46\xc3\x5c\x6d\xec\x78\xe5\x26\x0b\xec\xdf\xae\xc1\x3c\x5f\x6f\x68\x8c\xca\x18\x1f\xf3\xda\x36\x42\x47\xbe\x9f\x27\xc5\xc8\x28\x45\x32\x4f\x64\xaa\x30\xb3\x3c\x09\xf8\x49\x83\x06\x42\x7b\xfb\xf4\x07\x53\x1f\x6a\x63\x7f\xce\x09\xf5\xb8\x20\x18\x40\xed\x21\x3c\x2e\x35\xfe\xb4\x81\x9f\x61\xd3\xdb\xf0\x78\x1b\xd6\x66\x19\x56\xb3\x05\x45\x76\xae\x79\x32\x6f\x74\x48\x10\xd8\x55\xb6\x80\x2f\x7d\xce\xf4\x37\x6b\xe7\x7d\x3a\x80\x11\xc9\x66\x9d\x31\x0d\xa3\xba\x59\x49\xe1\xdd\x53\x6f\x40\x17\x1e\x7b\x56\xc6\x81\x45\x17\x9a\x71\x6a\x36\x7c\x76\x34\x67\x79\x8c\xa3\x71\x67\x15\xde\x86\x0b\x1a\x84\xa4\x93\xa4\xd3\x2e\xff\xd5\x7d\x7b\x76\x8a\x9e\x74\xd7\x7c\xeb\xff\x1f\x2f\x48\x34\x5e\x46\x78\x8a\xbb\x26\xf8\xe8\x1a\x4d\xe2\xaf\xb3\x19\xbd\xc6\xd8\xf2\x7b\x2f\x04\xb8\xd8\x4c\x5d\x93\x38\x50\x29\xb7\xcc\x91\xeb\x71\x91\x5a\xfb\xdc\xa3\x7c\x43\xca\x7e\xea\xec\xa0\x3c\xbe\x13\xe8\x36\xd1\x6f\xe4\x56\x8d\x6b\x74\xe8\xc3\xee\x39\x0e\x82\x16\x68\x4e\x53\x39\x2e\x8e\x27\x90\xd6\xdf\x47\xf0\x18\x06\xa0\x29\xa9\x34\x17\x34\xf9\x4d\x39\xad\x1e\xe5\x4f\x06\x16\xa1\x45\xe9\xbc\x66\x67\xd6\x40\x1b\x02\x68\x42\x3d\x80\xe7\xfe\xf9\x24\x28\xe9\x61\x1e\xf1\x00\x9e\xd9\xc5\xd5\x6b\xa3\xae\xdc\xf5\xe4\x31\x3c\x14\xce\x7f\x22\xd8\x56\xb3\xf0\x04\xb4\xe7\x3a\x7f\x59\x50\xd9\x84\xbe\x1b\x09\xcd\x75\xbc\x19\x80\xee\x30\xc3\xb9\x86\x9e\x13\x03\xf1\xa7\x0d\x7d\x47\x82\x08\x60\xb7\x9c\xf6\x60\x60\x7b\xde\x28\xda\x73\x90\xb2\xa1\x7d\xaf\x75\xf2\x3c\x59\xc0\x3b\xcc\xab\x9e\x9b\x68\xdd\x67\xb9\x04\xfb\x2c\x2f\x63\x9d\xef\xaa\x06\x35\x18\x93\x47\xaa\x2e\x2c\x1c\x8d\xf7\xa8\x86\xcd\x9f\x98\xb6\x8f\x8e\x2b\x2c\xdf\xe2\xc8\x93\x84\x16\xeb\x3c\x87\xb1\x2f\xa2\x8a\x83\xb9\xba\x05\xac\x6b\x19\x4e\x72\x6d\x2c\xdf\x41\x69\x67\xf8\x5a\x69\xbc\x76\x99\x44\x5f\x5c\xe0\xd7\xff\xe4\x48\x51\x8f\x35\xc0\xcb\xac\xaf\xe5\xc6\xfa\x3b\x2b\x0a\x72\x26\x2a\x8f\x14\xd7\x1b\x58\x65\x28\xf1\xf8\xc3\x1b\x75\xfa\x53\xfe\x97\x34\x2d\xa6\x2b\xd0\xe1\x5a\xd8\x22\xbf\x42\xd1\x8d\x77\x9f\xf3\x5b\xea\x5f\x4b\x82\x96\x43\xd9\xed\x8b\xe5\x24\xa8\xc3\x97\x7a\xbf\xde\xeb\x1a\x07\x4c\xdd\x83\x57\x43\x59\xa6\xf5\xf7\x32\x58\x5c\x59\x68\x5c\xf3\x5e\xc3\xa4\x94\x95\x3a\x68\x74\xbb\x70\x1c\xa0\xdb\x52\xc8\x80\xcd\x49\x9a\x01\x8d\x31\xe2\x04\xc1\xb3\x20\x9c\x9c\x9d\xdb\x13\x05\x17\xe2\xbe\xbd\xf4\xaa\x97\x9a\x3f\x8e\xd7\xe6\xcc\x96\x79\xf6\x05\xc8\x5c\x2d\xfd\x56\xc6\xbc\x22\xcb\xb8\x18\x81\xbe\x6c\xe3\x5c\x10\x8c\x9f\xfa\x06\x7d\x5d\xa9\x06\x70\xd8\xdf\x24\x49\x44\x89\x9b\xfd\x3f\x0f\x9f\x6e\x1f\x2b\x40\xc5\xa4\xa7\x3b\x98\xd2\x09\x05\x6c\xa1\x12\x45\xf9\xb5\x64\x19\xdc\x60\x32\x53\x2a\xf6\xb0\x2b\xb2\x36\xfc\xf9\xf8\xa6\x81\x0d\xba\xdd\x69\x98\xcd\x96\x37\xa8\xf5\x15\xac\x50\x7f\x42\xc6\x96\x94\x75\xfb\x07\x7b\xfb\x85\xa0\x82\xa1\x11\xcc\x62\xdc\xb9\x0e\xd9\xb1\x18\x0c\x42\x29\xef\x5c\x71\x8f\xb5\x69\x6d\x3c\x9d\xe4\x71\xfc\x8d\xc7\x91\x87\x1d\xe3\xdc\x58\x74\x08\x76\x84\x79\x24\x41\x18\xce\x58\xf7\x91\xe3\x6a\xa3\x18\x7b\x60\xe8\x22\x5f\x9d\xd7\x9e\xea\x63\xa4\xc3\x96\x8b\x45\x4a\x19\x3b\xa1\x8b\x94\x8e\xf1\x9c\xf8\x91\xa4\x31\x66\x42\xcc\x6b\xd7\x0b\x94\x28\xfe\x91\x26\x81\x82\x16\x61\xf8\x6a\x72\x24\x1a\xfd\x28\xa2\xb2\x60\xa1\x2c\x81\xdf\x19\x2a\x8f\x3b\xc2\x93\x20\x64\x50\x83\x66\x51\x3e\x08\xd9\x38\x59\xa6\x64\x4a\x83\xc2\x4d\xfb\x86\xca\x84\x29\x01\x84\x31\x2c\x17\xe3\x64\xce\x67\xdf\x9c\xfc\x9e\xa4\x66\xf1\x94\x46\x94\x30\xda\x81\x0f\xf8\x17\x52\x3a\xa1\x29\xaf\xd5\x80\xda\x7d\xd8\xf4\x1e\x4b\x65\x62\x4a\x21\x8c\x27\x49\x47\xcb\x42\x54\xcc\x35\x77\x75\x85\xb2\x2b\x97\x62\x95\x68\x7a\x9c\xe6\x6a\xf0\xdb\xf9\x0b\x4c\xf8\x55\x73\x2f\x40\xf3\x2c\x45\x5d\xf8\x10\x8e\x6f\x31\x0c\x26\x32\x7b\x2e\xef\x7e\xf0\x17\x03\x96\x88\x73\xe2\xfc\x62\x12\x5f\xd5\x93\x6c\x46\xd3\x06\x9e\x22\xd3\x25\xc5\xd6\x90\x28\x52\x88\xf0\xad\xec\x8a\x94\x46\x21\x65\x90\xc4\xe2\x60\x99\x2b\x53\x63\x11\xa3\x00\xb2\x94\xc4\x2c\xcc\xc2\xbb\xdc\x25\x5e\x61\xc9\x6b\x16\x36\x18\xd2\xff\xe3\x86\x16\x3e\xfe\xe8\x26\x8b\xc4\x8a\x89\xce\xf8\xc9\x59\xbd\x6d\xc1\x6a\x96\x30\x6a\x9c\xa0\x81\x46\x74\x2e\xc2\xa1\x54\x60\xe9\x98\x1b\x9e\x45\x38\xbe\xfd\xfb\xba\x3e\x89\x95\xba\x97\x79\xee\xab\x8d\xab\xea\x62\xb5\x65\xba\x11\x20\x6a\x66\xd4\x92\x28\xdf\x5f\xf4\xae\x9c\x65\x51\x35\x5c\x9d\xb9\x98\x61\x51\xf1\xd5\xa8\xe6\x81\x59\x4f\xe5\x46\xa5\x5e\x72\xfd\x51\x56\x53\x7e\xe3\xde\x17\x37\xee\x66\x55\xde\x5b\x77\xad\xe5\x17\xe1\x15\x0e\x95\x94\x32\xef\xc2\x6f\xd6\x5b\x9e\xbb\x67\xeb\x3d\xbd\x94\x28\xf3\x30\x36\x96\x2a\x37\x57\xd4\x54\x58\x15\x88\x1b\x5e\x91\x47\x28\xbf\x56\x6a\xe1\xb1\xc2\xae\x4a\x76\x7d\x2d\x64\x7f\xa7\x93\x24\xa5\x35\x53\x67\x65\x8a\xb4\x39\xf9\xf2\x6f\x24\xe0\x78\x92\xd1\xd4\x5f\xbf\x8a\x89\xc3\xa5\x17\xba\x47\x2d\xb3\xb1\x4e\xd8\x32\x1b\xff\xbf\x45\xfc\xdf\xb8\x88\x97\x04\xc1\xd3\x96\x5f\xe7\x45\xc9\x52\x7e\xaf\xed\x40\xd5\xba\xff\xcd\xab\x3b\x1f\x2c\xf5\xad\xe3\x2b\x0e\xbf\xa0\x37\x35\x26\x61\xe0\x03\x4a\xdd\x2a\x34\x8c\x71\xc7\xc1\x9c\x81\xe7\xb9\xb1\x9a\x6b\x07\x0d\x33\xa6\xa1\x46\x82\xba\x0a\xd1\x6b\xd0\xee\x93\x9c\xe1\x6d\xa5\xe2\xb6\xae\x9f\x04\x90\xbd\x01\x47\x3b\x15\x34\x49\x9f\x92\x30\x66\x99\xb4\x83\xe7\xcb\x05\xfd\xb2\xa0\x31\x0b\xef\x68\x0b\x82\x04\xc2\x8c\xaf\x68\x01\x9d\xdb\xf1\xa9\x94\x59\x24\xde\x5a\x9b\x93\x21\x9c\xc6\xf6\x49\x37\x73\x62\xc1\x33\xfa\x96\x25\x96\x26\x21\x9c\x4c\x7e\x35\x0e\xc5\xc6\x69\x4e\xe9\xe5\x4b\xce\x73\x5a\x9b\x3d\x67\x26\x36\x90\x0e\xf0\xd7\xba\x8d\x87\xeb\x34\x1b\xe4\x70\x01\x59\x7b\xde\x8f\x0a\x3c\x78\x47\x61\xca\xf2\x1d\x6d\x7e\x4a\xae\x95\xf5\x16\x7c\x75\x4d\xca\x3d\x29\xd7\xf5\x52\x2a\x83\xb8\x2f\x8e\x61\xd9\x51\x32\xbf\x75\xd3\x99\xb2\x2d\x16\xa2\xd6\xb4\x07\x0f\xea\x6a\x1c\x08\x23\xaa\xf3\x70\x4e\xcf\x16\x24\xf6\x1b\x53\x39\x62\x33\x9c\xf2\xc6\x4a\x7b\xd1\xbe\x8c\xc6\xdf\xae\x35\xe0\x08\xda\x7d\x18\x38\x61\xe1\xaa\xba\x78\x3d\x80\x9e\xb7\x3f\x45\xcc\x3f\x51\x07\x86\x45\x69\xc0\x43\xcf\x20\xe5\x9f\x99\x09\x8d\x2e\x3b\xe5\xd0\x73\x13\x5a\x06\xa5\x28\x87\x67\x26\xbc\x8c\x34\x51\x81\x9f\xd9\x15\x14\xf1\x29\x54\xa9\x1d\xc6\x9f\xd6\x49\x21\x4b\xd4\x2c\xfa\xfe\xbd\xa3\x26\xb5\x2d\xa3\x4a\xa2\x88\x7d\xa4\xb5\x40\x3a\xf1\x47\x6b\xbc\x23\xf9\x9f\xff\x09\xe3\x85\x34\xd8\x0f\x99\x88\xde\xb7\x8c\x27\x49\x9a\x2d\x63\x92\xd1\x68\xcd\xa5\x11\x89\x58\xe2\x43\x27\xe3\x62\x31\x98\x44\x09\xc9\xd0\x93\x2b\x8c\xd5\x16\xd7\x82\xe5\xd5\xcc\xc9\x9a\xaf\xab\xf9\x9a\xdc\xe2\x1b\xff\x31\x49\xe9\x64\x19\x81\xb4\x62\x52\xd9\xe3\xb8\x08\x0c\x33\x17\x55\x61\xc2\xc9\x31\xfe\xf4\x13\x98\x81\x6b\x8b\x3c\x21\xad\x5a\x0b\x6a\x1d\x27\x41\x88\x24\x07\xef\x09\x05\xbb\x45\x82\xbc\x15\xad\xa5\x14\x30\x74\x92\x67\x37\x29\x32\x3c\x0b\x9b\x1a\xbe\xe7\x84\x23\xe8\xc1\x00\xf0\xab\x18\x14\x4f\xcb\x46\x05\xec\x30\x89\x54\x37\xca\x7e\xdf\xb3\x93\x82\x80\x90\x82\x16\xd8\xbe\x0f\x2c\x70\xc0\x0e\x7c\x60\x33\x07\xec\x91\x0f\x6c\xee\x80\x1d\xfa\xc0\x98\x03\xf6\xd8\x07\xb6\x72\xc0\x7e\xbe\x6a\xec\x2e\xcd\x0b\x2e\x6a\xb6\x8a\xbe\xf0\x32\xf5\x1a\x3f\x5d\xd6\xf8\xc9\x3b\x2f\xb3\xd9\x40\x2d\x4b\x8c\x67\xee\x72\x26\x16\xc3\xe2\xe4\x70\x12\x4e\x26\x34\xa5\xf1\x98\xaa\x68\x86\x85\xd5\x4d\x9a\xcc\x1b\xea\xd0\x56\x3c\xce\x92\x86\xed\x99\x53\xb1\xc4\x14\x6b\x01\xaf\x54\x56\x6f\x2c\x0c\x25\xf0\x23\x1d\x1c\x17\xc5\x32\xdd\x9b\x3a\xc9\xab\x85\x3c\x6f\xfc\x8e\x4b\x3e\x9f\x62\x33\xc2\x4e\x57\xf1\x87\x34\x59\xa8\xfd\x4f\x4d\xea\x87\xbd\xda\x6b\x4d\xa1\x2e\xd7\x6d\x7b\x37\xea\x53\x0f\x66\xce\xa6\x4c\x85\xf5\x14\x4b\xb7\xbe\x35\x53\x6f\x86\xf0\x9f\x2f\x7f\x3d\x7b\x7b\xfa\x5e\xdb\xc9\xc9\xe0\x52\x9a\x9f\x8a\xda\xcf\x89\x37\xb9\x2b\x5c\xc8\x92\x57\x72\xe3\x9b\xef\x44\x13\x61\x6f\x29\xb4\x11\xa8\x89\x61\xca\x31\xf9\xed\xd9\x29\xf0\x97\x01\x49\x03\x1d\xad\x8a\x75\x61\x1f\xcf\xb4\x86\x7c\x88\x96\x53\x71\xfb\x4d\x32\x74\x95\x5a\xa4\xc9\x82\xa6\x59\x48\x73\x05\x04\x17\xb1\xf8\x8a\x57\x75\x4b\xd7\x80\x7e\x57\x68\x9f\x28\x62\xfa\xc9\xe9\xd4\xed\x72\x99\xb9\x12\x31\x84\x04\x9a\x68\x0d\xe3\x08\x23\x0f\x2d\x53\x46\xa3\x3b\x2a\x05\xb0\x3a\x39\xe2\x9f\x0f\x45\x8d\x6a\x74\x17\x8f\x0a\x4a\x51\xab\x52\xdc\x92\x4b\x4d\x16\x17\xcd\x34\x80\xd5\x8c\xc6\x18\x17\x2b\x57\xe3\x84\x0c\xe6\xcb\x8c\x64\x34\xc8\x43\x0e\xbe\xc5\xa7\x61\x9c\xd1\x38\x10\x81\x36\x6e\x29\x5d\x60\xb3\x64\x64\x24\xbe\xa1\x5f\xc7\x63\xb1\xdb\xe7\xcf\x55\xe8\x24\x83\xec\xe5\x22\x20\x19\x15\x59\xdc\x2a\x58\x6b\x12\x4c\xa2\x28\x59\x31\x58\x27\x4b\x8c\x60\x8f\x91\xb3\x33\x65\xee\x82\xab\x9c\x32\x84\xc1\x4a\x0d\x47\x50\x59\xaf\xd7\x52\xc6\x20\x20\x47\xd8\x82\x28\x9c\x87\x4e\x2e\x5e\xbf\xad\xcd\x45\x5e\xec\xaa\xda\x3a\x5f\xe5\x31\xf5\x39\x79\xa8\x2a\xb0\xde\x9d\xd0\x6c\x25\xc6\xaf\xb5\xd9\xda\x02\xd1\x74\xe7\x46\xbe\x38\x8b\x5a\xfa\x8b\x88\xa0\xbf\x57\xb9\xfe\x55\x40\x84\xac\x00\x09\x3a\xf0\x1b\xa3\xe6\x0d\x1c\xe6\x6f\xa6\x24\xf0\x2b\x35\x6f\xe9\xba\x25\x67\x4b\xe5\x9d\x9a\xc0\xa5\x83\x57\x28\x2e\x3d\x53\x22\x4a\x48\xa0\x54\x0c\x44\x24\x78\x8d\x71\xb4\xf1\xd1\x3c\x8d\x92\x1b\x12\x29\x43\x49\x80\xb7\x13\x85\x29\x4e\x0a\x4b\x63\x8c\xda\xb7\x20\x4c\x84\x41\x68\xf1\x5d\x16\xa2\x66\xe1\x9c\x6f\x4c\xf2\x3c\xf0\x45\x90\x65\x81\x57\xe1\x92\xb5\xdf\xd2\xb5\x31\x6b\x72\xc1\xeb\x63\x8a\xa3\x5a\x0c\x48\x46\x4c\xc5\xa2\xe7\xbc\xa3\xe9\x65\x14\x16\xb4\xd3\xcd\x47\x9e\xd7\x54\x97\xa3\xd6\x0c\x31\x11\xf2\x9d\xcd\x76\x3b\x1d\xf0\x4e\xa6\xc6\x26\x66\xed\x62\x96\xd3\x5e\xe9\xd1\x2a\x6c\x59\x32\xe2\xbd\x29\xb4\x8c\x6a\x8b\x25\x4c\xbe\x29\x1e\x98\x5c\x83\x32\x77\x4b\x73\xc8\xe5\xd1\x95\xc9\xcd\x4d\xea\x9d\x21\x3a\x8f\x8c\x0e\x14\x21\xff\xdd\x1e\xe4\xcd\x91\x81\x63\xcb\x1c\x66\xc4\xeb\x0e\xaf\x93\xef\x03\xc8\x9c\xba\x47\xdc\x07\x82\x32\x76\xc1\x5f\x7b\xa3\xaa\x18\x00\x72\x3f\x21\xfb\xb2\xb2\x03\x8d\x72\x1d\x46\xb3\x7a\xde\xeb\xb6\x6e\xe4\x86\x8c\x6f\x57\x24\x0d\x18\x8c\x93\xf9\x42\x78\x0e\x43\x9c\xac\x06\x62\x61\x54\x73\x4b\x60\xfc\xc1\xd3\x71\x72\x4a\xf3\xaa\x6c\xf4\x86\xe5\xb2\xa4\x66\x8b\x03\x49\xb7\xcb\x0f\x47\xfc\x54\x82\x27\x23\xca\x32\x3d\x26\x09\x14\xae\x6c\x25\x48\xa1\xcc\x50\xfd\x6b\x99\x6c\x3c\x11\xa3\x7a\x8b\x7c\x44\xa8\x6d\x32\x52\x00\x6d\x91\x93\xbb\x08\x48\xcf\xac\x72\xa4\xa3\x28\xc7\x94\x3c\xe2\x73\xc3\x95\x47\xb2\x71\xa5\x04\x70\x59\xa4\xb6\x88\xb6\x38\xe2\xfb\x4f\x2e\xe5\xd4\xfc\x33\x7f\x8a\xf9\x64\x37\x86\x17\x1b\xba\x60\xa5\xc6\x0b\x0f\xb6\x32\xa4\x6a\x07\x2b\xdd\x2d\xc4\xcd\x0b\xc7\xe4\x5e\xbe\xb3\x59\x92\x66\xed\x71\x98\x8e\x97\x61\x06\x7c\x0f\x25\x22\x9f\xe2\xd8\xf3\xcc\x19\x54\xe0\x92\xa0\x10\x98\x9e\x68\x07\xae\x11\xbc\x45\xba\x4f\x2f\xfe\xd5\xc3\x27\x54\x62\x55\xed\xcd\xc7\xb3\x24\x61\xd4\x21\x46\xd7\xe0\xf2\x49\x9b\x52\xf3\xaa\x4b\x1f\x07\xca\x2e\xc4\x18\x05\x96\xe3\x9b\xac\x2d\xb9\xf9\x1d\x84\xdb\xd3\x98\x1f\xfa\x72\x17\x75\x83\x72\x5e\x36\xb7\x1b\x33\x4f\x28\xe8\x27\x57\xb3\x55\xeb\xb9\x1e\x40\xa3\x1a\xe7\xf6\x7a\x41\x31\xd0\x0b\xef\x8d\xdc\x0a\x59\xde\xd5\x99\x2d\x38\xf1\xe9\x83\x77\x6a\x83\x2a\x69\x52\x90\xdf\x80\x45\x21\xcb\xf4\x54\x9e\x4f\x41\x24\xeb\x7f\x0a\xed\xb6\x71\x09\x36\x27\xb7\xf4\x5d\xc8\xb2\x3a\x96\xb8\x08\xaf\x1a\xbe\xbb\xaa\x3c\x48\x23\x46\xb2\x34\xa8\x5d\xf2\x27\x1e\x7a\xcd\x22\x12\xcc\xbb\x4a\x49\x73\x24\x03\x2b\x66\x53\xb0\xe7\xf3\xbc\x58\x3a\x97\xd9\xd8\x0a\x28\x82\x86\x3d\xbc\x54\x59\x90\x0e\x19\xab\x60\xde\xb9\x5e\x4c\x5a\x22\x5d\x83\xf7\x7e\xd1\x67\x5a\x23\x82\x3e\x30\x9a\xbe\x15\xb4\x72\x31\xe9\x5c\x93\x78\x16\x6a\x6f\x7b\xf3\x58\xac\xa5\xb7\x6f\xa6\xa0\xf0\xbb\x95\x15\x68\xec\xeb\x8f\xb2\xfc\x23\x3b\x5d\x6d\x18\x69\x33\x9b\x56\x52\xd0\xe7\x70\xf8\x33\x1c\x41\xff\x49\xaf\x07\x03\xd8\xf3\x5c\x7b\xdc\xcb\xca\x4f\xce\xc3\x0f\xca\xc7\x10\x5f\xec\x68\xe2\xf7\x83\xde\xa5\xca\xa9\x09\x86\x12\x67\x27\xf7\x5b\x6c\xc1\x9f\x9a\x71\x1e\x9e\x69\x07\x25\x5c\x77\x38\x5f\xcf\x66\xa1\x31\x46\x34\x67\x16\xdc\x76\x9c\x4e\x76\x41\xd6\xe4\x68\x3a\xd7\x68\x49\x5a\x17\xdf\xe5\xb1\x75\xb3\x81\x5e\x03\xb3\xdd\x9a\x59\xb1\xf4\x8a\xf0\x52\x6a\x87\x5a\xd0\x48\x79\x12\x25\x49\x5a\xc7\x0a\xa1\x6b\xe7\xda\xd2\xb1\x66\x89\x30\x39\xdb\x05\x33\x92\x8c\xac\xab\x37\xd4\xa6\xa8\x46\xe3\x5a\xa3\x23\x14\x22\xf5\x5a\x10\x04\x30\x1a\x8d\xe0\xe4\x04\x3e\x7d\xfa\xf4\x09\xde\xbc\x19\xcc\xe7\x03\xc6\xe0\xe2\xf5\xe8\xfc\xea\xf3\xe7\x5a\x29\x15\x32\x30\xf2\x6e\x34\x28\xb6\x1d\x69\x9e\xda\xd8\x45\x30\x90\x00\x41\x59\x3d\x6f\xcf\x4e\x77\x68\xb0\x29\x64\x44\xf7\xeb\x17\x8c\xea\xc3\x65\x4d\x0f\x9e\xc1\x5c\x9a\x73\xf3\xe5\x22\xff\xfe\x6c\x08\x4f\x9e\x3c\x79\x52\x16\xb8\xa2\xa6\xaa\xaf\x89\xf0\x6c\x42\x0f\x89\xb6\x40\xf9\xa0\xed\x68\x04\x57\x44\xfd\x88\x85\xda\x81\x1f\xef\xd0\x4a\x44\x2c\x25\x21\x83\xff\x79\xd4\xfb\x02\x13\xc2\x32\x9a\xb6\x50\x25\xcf\x8f\x82\xfc\x40\x29\x94\x3c\x5e\x7c\x3a\xa3\x45\xbf\xd4\x1b\x3a\x1d\x36\x0f\xa0\xea\x42\x4a\x43\x28\xc6\x88\xbc\xaf\x9d\xb7\x44\x26\xcb\xf6\x68\xd4\x3e\x39\xb9\x38\xbf\x52\x23\xa5\x73\x76\x76\x76\xf1\xf9\xca\x17\x63\xc4\x9b\xe1\xa4\x74\x87\xe2\xad\x6e\xf7\x0a\xbf\x96\x8c\x1f\x91\xb6\x79\x97\xb1\xc3\x19\xe8\xdd\xb5\xbb\x21\x82\xd5\x90\xf1\xe8\xc8\x85\x06\xd6\xff\x2a\xc0\xbe\xf1\xbd\x41\x47\xb2\x12\x7c\x2a\x3c\xb7\xef\xa5\x54\x0c\x97\x95\x2c\x54\xc7\x15\xd1\x87\x35\x76\xa9\xa0\x1d\x3b\xcc\xeb\x3c\xba\x54\xb9\xa4\x0d\xd9\xc9\xd9\xf9\xd9\x2c\x9c\xf0\x35\xb7\x0a\x25\x6a\x15\x50\x0c\x78\x8f\xe3\xfa\x00\x57\xd5\x36\x44\x04\x40\xdc\x69\x62\x17\x33\x85\xa1\xa5\x70\x09\x93\x88\x23\x7d\xe3\x91\x57\x32\xd0\x25\x05\x7f\xc2\x67\x8c\xd8\xb4\x37\x1a\xa6\xdf\x19\xb8\xba\x83\x12\xad\x9c\xd6\xf4\x85\x66\x09\xb1\x0b\x37\xe5\x7a\xf8\xe7\xd7\x96\x94\x87\x8b\x49\x19\x53\xc5\x3e\xe6\x38\xdb\x59\xf6\x2e\x26\x1d\x15\x57\xa0\x64\xa1\xca\xc6\x06\x8d\xb7\x94\x2e\x70\x83\x7f\x1e\xce\xcb\x94\x67\x88\xfa\x0f\xbe\xb2\xf4\x5a\x60\x16\xf0\x57\x22\x72\x16\xed\x5c\x4d\x31\x24\xb0\x1b\xbd\x71\xdb\x76\x21\xc1\x00\xb6\x8d\x54\xbd\x62\xbe\x92\x2c\x03\x1d\x09\x02\x49\x23\x9f\xd8\xe7\x7f\x08\xfd\x74\xbd\xd1\x82\xda\x7c\x07\x79\x58\xc6\x56\x3f\xff\xa4\xf7\xc0\xc0\xde\x09\xfa\xd7\x1a\x2e\xd3\x92\x65\x26\xac\xf8\x0d\xc9\x2a\x6e\x76\xb5\xa2\x9a\x63\x83\x71\x29\xe2\x0d\xf9\x27\x1a\xae\x69\x04\x1a\x9d\x45\xc2\x32\xb9\x9d\x10\x35\x96\x0c\x00\x12\x70\x21\x20\xac\x71\x8f\x83\x80\xa6\x68\x4e\x4e\x82\xa0\xa6\xbb\x1a\xb3\xe5\x4d\x96\x92\x71\x66\x81\xb6\x39\xac\x7a\x67\x14\x08\xc2\xc9\xc4\xe5\x4a\x0b\xf0\xd8\xd2\x02\xc2\xf0\x36\xd8\xc7\x1f\xbc\x80\x11\x3e\x4e\xc7\x2c\xf7\x3d\xe0\xe2\xcc\x15\xa6\x7c\x98\x9d\xf0\x9a\x86\x72\x58\xe2\xb8\x6b\x40\x1b\xb1\xc8\x5f\xb8\x21\xa4\x07\x9e\x6b\xd8\x70\x32\x69\xc9\xfe\x10\xfe\x52\xc7\xe8\x5b\x66\x8d\xc0\xa5\x3c\xa2\x95\x1c\xc0\x9c\xf9\x21\xe1\x87\x43\xa8\xf1\xe5\xa8\xc6\x7b\x52\x7b\x86\x0b\x91\x57\x1f\xdb\xed\x02\xb9\xa3\x29\x99\x52\x79\x9d\x06\xc9\x44\xb8\x22\x87\x42\xcd\x2c\x5d\x85\xe5\x2f\x74\x4e\xc3\xa8\x15\xcc\xdb\xb4\x9c\x29\xc2\xc3\x48\xc6\xa5\x87\xa6\xe0\x8d\xf1\x90\xb3\xe8\x60\x7f\x8f\x3e\x7a\xca\x89\xd8\x3b\xc0\x2d\xb4\xfa\x87\xef\x7a\xa1\x0b\x7b\x3e\x7a\x83\xfc\xf2\x95\x53\xe5\x31\xfd\xe1\x9f\x7c\xc4\xcb\xdd\xba\xdc\xd7\xc9\x4e\x12\xbf\x30\x95\xed\x9e\x38\x21\x71\x18\xb9\x5c\x2b\x20\xf9\xb3\xc4\x4e\x00\x7b\x0d\x6e\xd6\x90\x11\xd4\x11\x98\x54\xa1\xc1\x52\x09\x67\xbd\xe8\xe2\x00\x02\x96\x99\x6c\x16\x4d\x73\x4d\x1d\x8a\x51\xa3\xd8\x2d\x7c\x42\x8b\xed\x2e\xfa\x01\x9f\x4e\xea\xaa\xe3\x1b\xd0\xf6\xca\xae\x3a\x0e\x7c\xad\x30\xc9\x3c\x85\xbd\x0c\x60\x64\x8e\x19\x66\xc9\x4d\x72\x47\xd1\x3c\x04\xef\xed\xf8\xf0\xc7\x48\xf6\x10\xd3\x29\x46\xb9\x89\x22\xde\xb2\xaa\x46\xb4\xf3\x5e\xca\xa7\x52\x65\x6b\xf2\x39\xe6\x6f\x54\xde\x30\x0f\x3a\x5f\xfb\x14\x3a\x39\x67\xdd\xd6\xca\xb1\xd4\x1c\xea\x44\x8b\x71\xe8\x02\xfb\x66\x63\xd9\xd2\x91\x0f\x52\xf9\xa5\x6b\x84\x49\x56\x9f\x1d\xf7\xce\xfa\xf4\x93\x43\xd8\xd3\x73\x79\x95\x1a\x8d\x62\x5f\x58\x83\x23\x81\xa3\x0b\x7d\xba\x2f\x92\x34\xf7\xf5\x04\x41\xfa\x47\x97\x2d\xb8\x29\xd5\x4a\x1f\xd2\x83\xa2\x34\x4e\xe8\x6d\x28\xf8\x96\x57\x43\xb0\x7f\x48\x1f\x59\x18\x76\x42\x13\x90\x35\xc7\x52\x47\x34\xed\x5c\x50\x37\xa0\x0b\x3f\x1f\x1e\xf8\x71\xc2\x43\xd8\x3b\x68\xa9\xc1\xea\x1b\xa8\x56\x25\x2b\x4a\x6f\xcb\x6a\x39\xec\x1d\xfc\x5c\x51\x0d\x3c\x84\xc7\x5b\xab\x72\x47\x95\x77\x77\x20\x17\x33\x38\x52\x3d\x3a\x00\x72\xc3\x7e\xc5\xf8\x1d\x95\x6b\x2f\xfa\x57\xe8\x8b\x64\x16\xce\xa9\x15\x49\xa5\x5a\xe7\x9d\x47\x4f\xf9\x33\x4b\x06\xd2\x3c\x8c\x63\x1d\xe0\xdd\xf9\xd7\x5c\xbd\xa0\xed\x0f\xea\x8d\x46\x1e\x8b\xa6\x6e\x06\x82\xa9\x20\xf3\x7d\xb2\x32\x28\xdd\x85\x46\xac\x94\x17\xd6\xd2\x8c\xee\x52\x1f\xa7\x32\x0e\xd0\x39\xd6\x64\x8d\xc7\x63\xee\x23\x85\x15\x1a\x83\x24\xb9\x82\x5b\x44\xa8\x27\x69\x86\x71\x09\x12\xf4\xb4\xbe\x63\x82\x1a\xbb\xf8\x6b\x9a\x15\x09\x3a\xdb\xc9\xa4\x8d\xf0\x5a\x5a\x5c\x7e\xcc\x17\x69\x47\xd0\xf6\x8c\x8f\xb0\x5a\x00\x78\xf1\x65\x19\xbe\x15\x89\x6f\xd0\x6c\x21\xdf\xbe\xf9\x0e\x81\x2c\x09\x8a\x2d\x4e\x9c\xac\xe4\x06\xa7\x10\x87\x7c\xfa\xf8\x0c\xc7\x84\x5c\x11\xab\x7a\x38\x99\xd4\x59\x12\xb4\x70\xb2\xb1\x9a\x74\xd0\x74\x0b\xe5\xfe\xb6\x58\xfa\x19\xb4\x0f\xe1\x08\x6a\x7c\xcd\x78\x19\x31\x6a\x27\x76\x37\xaa\x7a\x06\xed\x3e\x07\x8e\x08\xcb\x3e\xe2\x64\xab\x04\xee\x29\xd8\x13\x3e\xfb\x2b\x41\xfb\x8a\x86\xed\xa0\x7b\x1c\x54\x7a\x32\x6e\x01\x7d\xac\x40\x25\xb1\x5a\x33\xcb\xb7\xcd\x72\x97\xec\x6e\xa1\xd5\x38\xac\x2b\x47\x09\x31\xbf\x64\xb7\xc6\xc9\xaa\xd1\x28\x3d\x62\xbf\xa3\x64\x21\x1d\xbc\x77\x38\xb3\x2b\x68\x7d\x7f\x54\x75\x7a\xdf\x05\xab\xb1\x8a\x3f\x33\x95\x8e\x62\x3b\xd5\x53\xcb\xad\x2f\x9e\xcc\xd6\xd2\x8f\xf2\xc5\xda\x4f\x68\x60\xe9\x77\xbc\xb9\xcb\x85\x85\xc3\x5a\x8d\xe9\x5c\x39\x20\xcf\x6f\x7a\x44\x83\x42\x27\x29\xb2\x2a\xad\x7d\x4a\x44\x15\xa3\xac\x34\xaa\xb8\x11\x52\xcd\x0a\xe9\xe6\x8c\x00\xcf\x9a\xad\x0f\x1c\x7e\xd0\x14\xf8\xda\x80\x52\xc6\xf5\xc2\xdd\xa6\x5d\x0b\xc8\x7a\x17\x7d\x99\x48\xea\x28\xf2\xdd\x1d\x8f\xc7\x94\xb1\x24\xad\xd7\x70\xf3\x5e\xcc\xfb\xe2\xb0\x26\xa4\x88\xc1\x7d\xe7\x56\x09\xb6\x9f\x6c\x74\x50\x99\x3e\x77\x92\x44\x51\xb2\x42\x89\xb9\x0a\xb3\xf1\x4c\x18\x91\x89\xfc\xb7\xd1\x1a\x92\x39\x47\x88\x61\x7e\xe1\x96\xae\x57\x49\x6a\xc5\x8b\xe4\x68\x12\x58\x66\x21\xaf\x0d\x3d\x38\x31\x4d\xa3\xcc\xac\x8f\xa6\x34\x84\x51\x4b\x4e\xcb\xaa\xfc\x6d\x10\xf9\xe6\x71\x6b\xe7\x8a\x06\xed\x28\x61\x87\xcc\x83\x2d\xa9\xfd\x0b\xdc\xff\x5a\x92\x34\xa3\x36\x7a\xf1\x4e\x6c\x5b\x4b\x2a\x46\xbd\xa2\x9d\x2f\x7c\xf7\x7a\x71\x77\xe3\xab\x54\xa6\x72\xf7\xbe\xe3\x0b\x47\x09\x39\x42\x99\xf9\xed\x7c\xc0\x9d\x61\x19\x8f\xa5\x36\xf4\xdb\xb1\xcb\xad\x6b\x09\x7e\xa5\x2e\xfd\x76\xfc\x72\x63\x5d\x4a\xbf\xa6\x93\xfd\x96\x4a\xdc\xc0\xfc\x32\x61\x71\x4a\x81\x00\x5b\xd0\x71\x48\x22\x24\xa5\x4a\x5f\x80\x5d\x5e\xaa\x54\x93\xd1\x4c\x1c\xfa\x34\x2b\x6c\x0d\x97\x1a\x25\xa5\xe8\x24\x00\xc7\x68\x0f\x52\xb7\x35\x72\x12\xc8\x06\xa1\xbd\x8f\x68\x53\x55\x73\xd4\xcc\x29\x25\x41\x4c\x4d\xed\xa6\xcd\x38\xfb\x77\x61\x9f\x9f\x03\xf7\xab\x89\xdb\xaa\xa2\xa3\x71\x70\x3a\xf9\x9e\xb2\xd0\x6c\x65\x11\x34\xc4\xd2\xf3\x14\x43\xca\xcb\x00\x2f\xdd\x50\xa5\x81\xcc\xb7\x87\x82\x28\x15\xfb\xc1\xd7\xe9\x7c\x1f\xb4\x92\x7b\x20\x01\xdd\xe8\x28\x3d\x1d\x2a\xf8\xe6\xac\xec\x0e\x51\x7a\x9a\x96\xe9\xee\x7c\x2b\x38\xbe\x1f\x59\xcd\x28\x61\xa8\xbc\x9f\x13\x6f\x2d\x23\x45\x38\x92\xcf\x07\x16\xfb\xaa\xf8\xbf\x95\xd1\x6a\xc9\xf7\x87\x3f\x81\x23\x09\x30\x30\xbc\x10\xcb\x97\x7e\x71\x19\xfc\x1c\x9a\xf7\x71\x28\x93\x1c\xaa\xa2\xa2\xa9\xc8\x68\xee\x46\x87\x42\xf9\x4c\xde\x87\xab\xdd\x99\x39\x48\x76\xd9\x5d\x28\xe7\xe6\xff\xd7\xe5\x95\x5d\xfe\xec\xff\x7a\x97\x9b\x1d\x8d\x72\x4d\x09\xb3\x67\xfe\x1e\x29\xeb\xf0\x33\x32\xff\xb7\x75\xb7\x78\xbc\xd9\xfc\xff\x7d\x87\xf2\x9a\xbf\xb1\x4b\x77\xed\xb0\x7a\xc5\xd4\x44\xcb\x06\x85\x52\x05\x9c\x1a\x61\x26\x3a\xab\x9c\xde\xd3\x3b\xcd\xe8\x79\x18\x0f\x7c\x76\xaa\xf9\xa7\xa6\x74\x13\x18\x35\xc1\xb0\x56\x15\x06\x0e\x5a\x4c\x05\x65\xa6\xba\xbb\x47\xfd\xa3\x83\x9f\x6b\xae\x1e\x42\xb7\xc8\x13\xd1\x43\xfc\x9a\x58\x11\x3d\xa4\xe8\x6c\xbf\xb9\x96\xcb\x73\x9d\xf1\x02\x85\x38\xb7\xca\xe3\x24\x0c\xc4\x53\x4f\x41\x6d\xc5\xd5\xcf\x51\x73\xf2\xa5\x92\x8b\x1a\x13\xc9\x97\x2a\x26\xf2\xb7\xdf\x89\x89\x3b\xf2\xf0\x2f\xb0\xd0\xe0\xe0\xf3\xdd\x38\x58\x30\x50\xe7\x5f\xb7\x6b\xde\xff\x4a\x03\x3f\x98\x53\x12\x33\x48\xe2\x68\xad\x92\x0c\xea\x1e\x46\xb9\x8e\x50\xc7\x43\x26\x13\x3a\xce\xc4\x59\x51\x5a\x74\x63\x94\xdf\x0e\x9c\x25\xf0\x68\xb0\xdf\x1f\xec\x1d\x42\xb3\xb7\xdf\xeb\x41\xbb\x7d\x81\x7a\x89\x3d\x79\x30\xbe\x6a\xb7\x9f\xeb\xa8\x0a\xe8\xbd\x5e\x4f\xba\x42\x2d\x12\xc6\xc2\x9b\x88\x8a\xcb\x47\x05\xa1\x82\xe7\xd3\x2f\x21\x5e\x07\x65\xa8\xfe\xd3\x71\x21\x8e\x96\xf4\xf6\x92\xd7\x50\xaa\x2d\x40\x18\xc4\x94\x06\x7c\x30\x88\x48\x37\x68\x21\xa0\xc7\xa8\xd0\x51\xfd\x1f\x4a\x17\xaa\x7d\xa2\x38\x26\xa3\x8f\xd6\x40\x82\x80\x75\xd5\xe6\x8d\x41\x3d\x89\x45\x56\xc6\x86\x5e\x1c\x55\xc9\x59\x91\xc3\x3e\xe5\x43\x91\xd1\x38\xa3\x01\xa2\xeb\xc0\x39\x6f\x5a\xc8\x60\x35\x5b\x0b\xb3\xa5\x28\x02\xdd\x81\xcb\x60\xb7\x0c\xe7\x20\x8b\xbe\x8d\xc5\x21\x2a\xcc\x50\xd9\xca\x60\x89\x1e\x77\x5a\xe7\x49\x43\x32\x8c\x9a\xa0\x23\xba\x16\x30\x6f\xe3\x0f\x69\x32\x4d\x29\xe3\x42\x57\x0c\x02\x8e\xb0\x25\xbc\x72\x56\x14\x66\xe4\x8e\x72\x94\x82\x87\x2d\xb8\xa1\x63\xb2\x64\x06\xaf\xf3\x2c\x67\x71\x02\x6c\x39\x9e\x09\x2e\x19\x97\x74\xa6\x93\x1a\xc8\x0b\x62\xdf\x35\x74\xa5\x35\x01\xde\xd2\x2b\xa7\x36\xc7\xbe\xd0\x9d\x93\x38\x1c\xd5\xd5\xb1\xfe\x62\x37\x8d\xd4\x7d\xa2\x01\xe6\x85\xe4\x7a\xa8\x5a\x3c\x12\xe7\x6f\x2d\x2b\x4a\xd9\xca\xe4\xe6\xb2\xe5\x04\xe0\x11\x8c\xdc\x30\xb5\xa0\x3e\x83\xfe\xe1\xb6\xba\x55\xb4\x8e\xc3\xde\xae\xb5\x3c\xd0\x95\x7c\xe8\x24\xb0\x83\x4d\x87\xc6\xdd\xbc\x3b\x4c\xc3\x8e\x5d\xaa\x37\xba\xd1\x1b\xc8\x01\x1c\x73\x14\x37\x1f\x19\xe8\x76\xfd\x92\xa6\x8a\xae\xcd\x51\xe6\x47\x2f\xad\xe0\x6e\xe6\x28\xaa\x46\x49\x39\xdf\x3d\x7b\x15\xa9\x3a\xec\x03\x53\xea\x6e\x36\xb2\x5d\xf6\x5c\x2c\x5d\x80\x85\x59\xc8\x69\x7a\x26\xc9\x56\xb6\xf1\x7c\x78\xe9\xf6\x2a\xa5\xa5\xd5\xc7\xbe\xa5\x92\xad\x68\x83\x72\x51\x9e\xd7\x1a\x2d\xe8\xb7\x64\x2a\x2a\xff\x82\xa4\x87\x6c\xb8\x7f\x43\xfc\x25\x4a\x7b\xd7\xa2\x5c\x17\x90\xd2\x46\xc7\x0a\x83\xb9\x73\x7d\xfe\x6c\x18\xe0\xed\xf1\xfb\x99\x68\x9a\xaa\x73\xc9\xe3\xc1\x0e\x53\xe5\x9e\xb6\x4e\x5c\xd0\x1c\xdf\xdc\xec\x74\xa7\x61\xd2\x54\xcb\xe3\xcf\x95\x63\x7e\x4f\xe6\xf7\xb0\x5c\xce\x31\xbf\x48\x92\x34\x08\x63\x74\x20\xf8\x2d\x0e\xef\x68\xca\x48\x84\x29\x3f\xaa\x2a\x2c\x5c\x06\x76\x33\x80\xcc\xfe\x98\x57\xdb\xba\x15\x60\xa5\xba\x39\x29\xe4\x25\xfd\x5b\xc5\xbc\x8d\x3b\xfc\x6b\x9d\x37\x23\xec\x38\x0a\xa7\x31\x0d\xde\x24\xcb\xf4\x54\x0d\x92\x2d\xf7\x33\xc2\x6f\xaa\x4c\xe0\xa8\x95\xc0\x31\xcb\xd4\x7f\x6d\xc9\x46\x63\x1c\xa4\xe4\x8d\xd2\x2e\xfa\x3e\xcb\x48\x45\xd2\xf8\x23\x1c\xf6\x44\x50\xeb\xd2\x4b\x29\x65\xf5\xb4\xcb\x58\xd3\x8d\xa4\xb4\xab\xb9\x96\xae\xbd\xac\xb8\xff\xca\x63\x3c\xef\x76\x0b\x96\x07\xb2\x16\xa9\x3f\xea\x7e\xc3\x1b\xbc\x1a\x2e\x35\xcb\x11\x36\x2e\xb9\x99\x45\x43\x04\xb7\xf6\x34\x4d\xed\x35\x54\x58\x6f\x9d\xdc\xfc\x76\x4b\xbf\xde\x92\x01\xf6\xed\x5b\x2e\xbd\xc9\x52\xdf\xbb\xbd\xc1\x25\x34\x14\x71\xe1\x4d\x45\x70\x13\xfa\x52\x1b\x3c\xd0\x39\x9f\x53\xd7\x47\x35\x31\x5a\xb6\x69\xa5\x7e\x34\x34\xc7\x3a\x9d\x2b\x4a\x6f\x77\xef\x99\xb5\xe8\x14\x2d\x1d\x81\x5c\x08\x9c\x0b\x63\x8c\x06\xdf\x09\xd4\x7d\xbe\xff\xe5\xba\x81\xa3\x68\xa7\x4e\x59\x97\xf5\xc7\x5a\x76\xc5\xba\x5c\x8b\x8b\x8a\xe0\xbf\xde\xca\x7e\x0b\x0e\xfe\x57\x28\xc6\xc0\xed\x3b\x91\xba\x12\x09\x19\x5c\x16\xf3\x17\xb6\xe5\x7b\x05\xad\xb2\x46\x97\xd6\x15\x86\x88\x47\x0b\xa1\xf2\xc1\x2e\x39\x7c\x2f\x92\x4b\xb8\xbb\x32\xc2\xe7\xff\xdb\x28\xd6\x22\xf7\xef\x46\xb1\xb8\x99\xcf\x8d\x48\x71\x26\x3e\x46\x7b\xb6\xd2\x91\xcf\xa7\xdd\xe3\x9d\xdb\x22\xa8\x71\x2e\xd3\xf3\x04\x09\x5b\xb9\xbf\x53\x73\xba\x5d\xb8\xa1\xfc\x84\x29\x72\x9b\x28\x6b\x49\x21\x40\xff\x83\xa3\xa0\x5f\xc6\x74\x91\xd9\x85\x08\x03\x02\x53\x9a\xa1\xd7\x8f\x72\xa2\x7e\xac\x54\x39\x90\x4c\xa0\x07\xf5\x7e\xfb\x31\xa4\x78\x0e\xd6\x9f\xb7\x0f\x1b\x5e\x6c\x4c\x62\x93\x79\x5e\xf2\xec\xc2\x51\xc2\x8f\xfe\x22\x88\xcd\x22\xa5\x77\x61\xb2\x64\xc8\x86\xce\x2e\xac\xd4\x3a\x68\xb3\xc1\x14\x09\xf9\x13\xed\xd5\x8f\x68\x1e\xa3\x14\xa5\x8a\xd7\x8f\xab\x19\x2c\x53\x13\xec\xb2\x58\xae\x0a\x70\x73\xb1\xc4\x41\x5e\x3e\x24\x77\xa9\x42\x8d\xc8\xb7\xf1\x24\xf1\x4e\xfd\xeb\xd2\x39\x54\x4a\x96\xc2\x27\x04\xb6\xf6\x6b\x5d\x42\xec\xd4\xda\x31\xfd\xd5\x7b\x44\x6d\xcf\x76\x81\xef\xaf\xea\x25\x35\xdb\x7b\x35\x69\x45\xef\x0d\xa3\x72\xcf\x8b\x4c\x6d\x57\x2a\x89\x10\x3b\xd3\xdc\xab\xae\x6c\x6f\xaa\x48\xb6\x83\xb3\xc0\xfd\xf7\xa6\xdd\x2e\xbc\x9d\xa8\x48\x2b\x44\x8b\x9b\xa2\xc5\x5c\x31\xa2\x4b\xe4\xc1\xf0\x74\x14\xca\x99\xbb\x03\x70\x9a\xcd\x68\xba\x0a\x19\x2d\x10\x68\xd1\x5a\x24\x0e\x11\x26\x5b\x0f\x2a\x2a\x11\xdd\x91\x34\x24\x37\x11\x65\x79\x35\x05\xee\x1c\x4e\x22\x19\x54\x87\x6c\x40\xa3\x40\xba\x7a\x97\x0f\x55\x8f\xbf\x00\x7a\xf8\x57\x85\x09\x02\xfb\xf0\xe3\x0f\x98\x00\x55\x47\x45\x83\x88\x1d\x43\xb3\x28\x02\xcd\xb2\xbb\xe8\x3b\x8a\x40\x2c\x56\xe3\x6d\x68\xf7\xe8\xbb\xc3\xb5\xb8\xe1\xbf\x44\xd0\x05\xb5\x44\x4b\x5f\x68\xe8\x39\x5c\xbd\x61\xc7\xe5\x78\x2b\x44\xb6\xae\xad\xcf\x5d\x72\x85\x60\xe1\x42\x79\xaa\xc6\x1e\x89\xa7\x4b\x32\xb5\x46\x8e\x1e\xdd\xa3\xf0\xe7\x6d\x68\x0a\x52\x55\x8e\x75\x2c\x85\x7e\xe5\xd0\x81\xfb\x0c\x0f\xa8\x70\x05\xfa\x36\x37\x53\xdd\x62\xd8\x3f\x34\xca\xfc\xa6\x1a\xb6\x7b\x99\x18\x37\x3b\x1f\xed\x9d\x30\x1e\x1a\x3e\x43\x9d\x51\x89\xb2\xdb\x85\xd3\x18\x5e\x85\x29\x9d\x24\x5f\x3a\x7b\x07\xe8\x11\xfc\x1f\x53\x11\x8a\x95\x1f\x1b\x25\x0e\xb5\xae\x13\x11\x20\x33\x8c\xa7\xb0\x48\xc2\x38\x73\x4c\x85\xb7\x5e\xdc\x2c\x96\x51\xd4\xed\xff\xfc\xb8\xef\x6b\x1a\x1e\x6d\xc4\xb9\x4e\xb3\x62\x34\x69\x41\x93\x97\xfe\x23\x74\x85\x79\xa4\xb5\x1f\xbf\x7d\x55\xae\x46\x45\x36\x4e\xb2\xc2\x93\xe9\x19\xee\x29\x44\x8e\x34\x67\x45\xc8\x8f\x96\x08\x6a\x24\x0c\x86\xf3\xd3\x93\xd3\x01\x8c\x92\x3b\x19\x41\x3b\x59\xa2\xc9\xf4\x8c\xa6\xf4\x41\xb1\x0f\x28\xd6\x08\x44\x5e\xa9\xb7\x90\x10\x98\x14\xcd\x58\x9e\x85\xfb\x8c\x48\x35\xeb\x5b\x30\x72\x6a\x8e\x63\x71\xf1\xc4\xc2\x88\xc6\x19\x4c\x48\x18\x2d\x53\x7a\x54\xb6\x6c\x89\x0a\xb7\xe5\xa4\x2d\x6c\xe6\x4b\x45\x8a\x75\x6e\x17\x1a\x82\xa1\xe8\xb6\x79\x18\xd7\x45\x9a\x37\xbf\x9f\xb0\xae\x25\xe0\x70\x6a\x83\x21\x1a\xaa\xb5\x94\xbf\xbc\x0e\x2e\x6a\x8c\x66\x35\x68\x62\x3c\x47\x9f\x8e\x8c\x6f\xb3\xa5\x71\xa7\x5c\x5e\x5b\x1a\x55\x6e\x8a\xb5\xbc\x5d\x4e\xbe\x56\xb2\x7a\xad\x0d\x0e\xbe\x60\xfb\xa3\x62\x20\x55\xd3\xed\x54\x71\x0c\xf9\x26\xc5\x53\xdb\x99\x55\x9b\x67\x40\xaa\x8b\x7f\x31\x8e\x46\x5e\x67\x38\x15\x17\xaf\x74\x80\x6b\x93\xc3\x27\xca\xac\x86\xed\xc0\x6e\xd1\x30\x7f\x9c\x39\x5f\x2e\xeb\xdc\x08\x57\xb4\xf2\x96\xd2\x85\x7d\x87\xa1\xbc\x91\x73\x09\xe5\xdd\xad\xe5\x01\xc2\xaa\xd6\xd5\x82\xb3\xe2\xd4\xa8\xb3\xd6\x95\xcb\xe5\xaa\xeb\x9c\xcc\x4a\xbb\xe6\xfb\x59\x30\x17\x63\xac\xa0\xad\xdc\x46\xc1\x18\x39\x45\xee\x64\xcd\xfc\xa3\xd8\x9b\x4c\x9c\xf0\xdb\x96\xf9\xb3\xf6\xb2\x66\x5e\x21\x14\x18\x3c\x48\xcb\xf0\x9d\x6d\x41\x25\x2c\x54\x2d\xfa\x54\x86\x61\x9b\x34\x7c\x6e\xa1\xea\x76\xe1\x4c\xfa\x9b\xf0\xed\xc4\x2c\x59\xa6\xea\x04\x98\xc7\xdf\x14\x1e\x40\xf2\xfa\x13\x9f\x2c\x19\x4d\x81\x7e\x59\x44\xe1\x38\xcc\x64\x96\xf8\x6e\x57\x98\x5f\x4e\x42\x0c\xf9\x19\x8e\x67\x02\xdb\x4c\x78\xc3\x30\xbc\x16\xcf\xd2\x75\x28\x4e\x95\x73\x12\x62\x6e\xcf\xe2\xf8\x8b\xd0\x75\x79\x57\x8b\x17\xbe\x31\x5d\xe5\xb7\x89\x0d\x6c\x0e\x03\x46\x63\x46\x3b\x32\x2b\x55\x7e\x05\xcd\x91\x8a\x64\xbc\x41\x42\x19\xc4\x49\x26\xcd\xc2\x15\x32\x5c\x4c\xd2\x65\x64\x06\x0b\x9d\xc4\x68\x81\x6c\xf0\x4f\xa5\x5c\x36\xb9\xf7\x86\x3f\xad\x19\x37\x2d\x79\x36\x18\xe4\x3a\x0a\x67\xdc\xca\x09\xc3\x4b\x46\x17\x24\xc5\x48\xd8\x56\x85\x32\xb3\xbc\x89\x9e\x6f\x04\x4c\xec\x66\x01\x66\xc4\x78\xab\x89\x47\x44\x16\xf7\x45\x76\xc3\x5a\x8a\x60\x6e\x15\xd5\x39\xf5\x49\xad\x9b\x59\x42\xa5\xab\x2f\x23\x52\x65\x88\xd6\x88\x14\x8f\xaa\x88\xc4\x9a\x4a\x89\xb4\xab\xd4\xa2\xc7\x61\x2c\xdc\x68\x99\x92\x08\xe6\x34\x9b\x25\x01\x73\x78\xb6\x66\x46\xaf\xe6\x4e\x0d\x56\x97\x99\x50\x73\xb1\x21\x31\xe1\x84\xd1\xf4\xd0\x7a\x62\x43\x29\xdd\x84\x01\x28\x1f\xda\xb0\xb9\xe1\xf2\xd0\x7d\x68\x36\x92\x44\x21\xe1\x07\x50\xe9\x2f\xe5\x6f\x6c\x96\xfc\x72\x76\xfa\xde\x40\xa6\xc5\x74\xf9\xa6\xa8\x4d\x79\xcc\xb2\x6f\x8f\xdb\xa4\x67\x1e\x65\xe7\xc9\x27\x1c\x0d\x98\xa0\x55\x5f\x4e\xba\x5d\x38\xe8\xf5\x64\xa6\x68\xb4\xb8\xe8\x1f\x1c\xf6\x9e\x3c\x16\x3e\xe6\x75\xe9\x3c\x1d\xc6\x59\xc2\x47\x52\xb2\x8c\x33\x88\x28\x59\x88\xa1\xc3\xe7\x33\x6b\xd8\xab\x1b\x96\x7c\x88\x68\xbb\x12\x9b\x7f\x73\x80\x95\x62\xb6\x58\x06\x98\xe7\xd2\xa6\x4c\x50\xf5\x10\xf6\x0f\x1f\x41\xb3\xf0\x9f\x14\x8f\xbb\x70\xa0\x7b\x18\xcb\xfc\xc2\x0e\x50\xbf\xd7\x6b\x78\x0b\x1b\x61\x9b\x24\xe9\xaa\x42\xc9\x03\x84\x32\x68\x37\x83\x61\x69\xa9\xfc\x61\x98\xf7\x59\x49\x5c\xac\xeb\x9b\xe5\xcd\x4d\x54\x7d\xb9\x88\xf1\x6d\xcc\xf5\x4d\x9c\x0c\xb6\x24\xe2\x10\xb3\x4d\x5d\xee\xfa\x72\x71\xe4\x93\x4d\xe2\xc3\x9f\x3e\x4c\xa8\x09\xc8\xaf\x89\x89\xc7\x4f\x51\x52\xa1\x12\xb8\xcb\xd4\xea\xad\x3c\x49\x7d\xcf\x0d\x13\x7a\x6e\xb8\x09\x8d\x93\x80\x82\xe0\x06\x83\xe5\x42\x46\x3b\x6d\x01\xa3\xd2\xea\x8b\xb2\x0c\xf5\x2c\x36\x1a\xfa\x85\xcc\x17\xbc\x50\x32\x81\xd5\x8c\xc8\x70\xdf\x68\x3a\x66\x1e\xcd\x38\xe5\xce\x46\x41\xff\xf9\x23\xfa\xff\x5a\x84\x16\xb0\xf9\x68\x31\x0a\x39\xc1\xbe\xf2\xaa\x8a\x92\x45\x05\x87\x36\xfa\x62\x63\x90\xa3\x2f\x30\x1f\x7a\xf1\x6a\x7b\x09\xf9\xcd\x83\x57\x2d\x98\x1a\xd1\x02\xb6\x0c\xab\x2a\x20\xfe\xfe\x08\x7b\x07\x76\xe4\x7b\x3e\x9e\x9a\x1a\x46\x01\xd9\x85\xbd\x03\x4f\x0c\xd8\xe3\xf1\x78\x29\x56\x5a\x95\x58\x42\x20\xc8\x12\x31\x24\x5a\x40\x18\x5b\xce\x95\x03\x2e\x5a\xa5\xa1\xf8\xe8\x99\x9d\xa6\xc6\x4f\x5e\xab\x26\xb8\x84\xdc\x72\x1a\xb3\x66\xd0\x1e\x5a\x73\x5b\x08\x14\x29\x4f\x3c\xe4\xee\xf7\x72\xf2\x88\x98\x16\xbe\x53\x27\xd4\x43\x76\x9b\xd2\xb8\x31\xc0\x95\x92\xc4\xe3\x59\x92\x8a\x55\xbd\x1e\x85\xb7\x14\xfa\x2c\x83\x5f\x48\xdc\x50\x5e\xc6\x7c\x1b\xe8\xba\x13\xcb\x69\xd7\xb4\x5a\x05\x9c\x0c\x5f\x6b\x7e\x1c\xc2\xbe\x67\xfe\xf4\xf7\x14\xa6\xf6\x73\xe8\x23\xa7\x3c\xac\xd3\x6b\x91\xe0\xbc\xa8\x55\x8f\x7c\xf3\xe3\x10\x83\x19\xb8\xa3\x43\x0a\x13\xfe\xc7\x37\x22\x8b\x45\xdb\xcc\x5e\x90\x43\xa8\x6e\xc4\xbf\x7e\x8d\x0d\xb9\xa9\x8e\xb4\xe4\xca\x3c\x75\xec\x26\x37\x2a\x78\x94\xfe\xd6\x6a\x61\x21\x07\xdd\x62\x38\x8e\x7c\xe0\x79\xc3\xec\x7a\xf0\xb9\x3d\x8e\x0a\x01\x69\x8b\x19\xa7\x3e\x0b\xa4\x84\x56\x43\x88\xf8\x70\x6c\x2d\x5e\xc8\x0a\x3f\x09\xf8\xb6\xbc\xb8\x12\x0a\xbe\xc2\xf8\xae\xa2\xe6\x12\xd6\x69\x2f\xcb\x0b\xab\xe1\xe2\x2b\x2b\xe6\xb0\x3f\x2c\x74\xf9\xcd\x81\xd8\x2f\xee\xa0\x5a\xcc\x27\x8b\xba\x10\x63\x32\xc5\xbc\x1f\xef\x3d\xa2\x51\x7a\x06\x70\xd3\x5a\x48\xb5\x41\xfa\x50\x86\xbf\xb0\x41\x8c\x11\xc8\x97\xac\xbd\x06\x3c\x84\xbd\x47\x4f\xf6\xe8\xa1\x8b\x0f\x63\x88\x1a\x25\xba\xb2\xc4\x7e\xff\xd1\xfe\x21\x3d\x2c\xb1\x01\x92\x61\x1f\x9c\x48\x0e\xfe\x30\x0e\x46\xb4\x2a\x3d\xdf\x80\x3c\xea\x3f\x28\x8a\xfa\x9d\xa7\x1d\x4d\x47\x79\x5d\xa0\xc7\x43\x71\xaf\xf7\x16\x84\x65\xaf\x96\xd9\x32\x95\x11\x2a\x55\xd8\xa6\x9d\x5d\x03\xff\x4a\x70\x2c\xc7\x7a\xf8\x8e\x38\x6a\x1a\x7e\x22\x5f\x2e\x16\x49\x9a\x49\xcb\xf6\xbd\x4e\xaf\xcd\xb2\x75\x44\x41\xa5\x68\x66\xb5\x06\xa6\x27\x0d\xd4\x9e\xb2\xe1\x70\x3b\xd0\xcf\xc7\x81\x91\xe4\x45\xd4\xea\x15\x4d\xe6\xd8\x1b\x72\x2c\xe6\xc3\x52\x91\xa9\x80\xdd\x05\xc0\x18\x5c\x39\x4e\xb9\x0e\x78\x20\xc5\x16\xaf\x7e\xef\x09\xac\x05\x16\xdb\x85\xcd\xdf\x89\x49\xed\xfb\x30\xa9\xbd\x1b\x93\xda\xff\x3e\x26\xfd\xdb\x2f\x9e\x3b\x59\xf2\x2e\x59\xd1\xf4\x05\x61\x14\xad\x3c\x6a\xac\x56\x7a\x19\x4d\xd8\x76\x62\xe4\xb5\x03\x46\xcb\x70\xf7\x0e\x7f\x21\xa2\x9a\x70\xb8\xb7\x5c\x6d\x4b\x03\x3b\x39\x87\x25\x65\x23\x76\x6d\x6d\xf6\x51\x28\xfb\x54\xa9\x9e\x93\x14\x34\xc1\xd9\xad\x62\xf4\xb2\x52\xad\xaa\x4b\xff\x91\x42\x3d\x00\x4d\x80\xef\xa8\x79\xed\x76\x61\x46\xe2\x20\xa2\xe6\x39\xa7\xd0\x82\xe5\xfa\xc3\x64\x62\xdd\x6a\xc1\x9c\x64\x33\xa0\x69\x9a\xa4\x8c\x6f\x7b\xd9\x92\xc2\x7f\xf4\x7f\x3e\x7c\xdc\xd8\x89\x77\xda\x2d\x96\xbe\xff\x76\x57\x22\x8f\x86\xb9\x32\x8a\x83\xfa\xe8\x91\x0f\x0c\x1d\x43\x17\x1e\x97\xf5\x9d\x88\xf4\xe4\x37\xad\xd6\x82\x22\x18\xe8\xee\x37\x0c\xc0\x8a\x81\x60\x69\x3f\xf6\x0e\xca\xf0\xed\x1f\x56\xa3\x53\x41\x0f\x5c\x84\x18\xa8\xaa\xac\xc1\xbe\xc0\x68\xe0\x44\x3a\x28\x41\x5a\x85\x59\x1c\x94\x7d\xa8\xbb\x5d\x2d\x20\x36\x9a\x28\x61\x86\x9c\x8a\xd1\x35\xa3\x29\xad\x6c\x7a\xe1\xf1\x39\xf0\xc4\xdc\xf6\x51\x2d\x33\xc3\x7a\xa9\xf7\x93\x2d\x43\x67\x0e\x30\x6c\xc3\x0a\x95\xdc\x2f\x39\x79\xf5\xda\x6f\xf1\x6d\x9c\xac\xc4\xdc\x84\x9a\xbc\x02\xf2\xf9\xc4\x95\x5d\x73\x7b\xac\x10\x0a\x9d\x20\x7f\x50\xa8\x53\x72\x5b\x11\x0d\x40\xe4\x5c\x36\x42\x6a\xb3\x22\x86\x78\x99\x3d\x83\x06\xe5\x5a\x33\xc8\xe4\xf4\x78\x71\xa0\xc7\x99\xce\x2d\xd3\x6a\xd6\x4e\xb2\x56\x8f\x93\x2c\x1c\x53\x19\x78\x65\x11\x66\x24\x62\x8d\x52\x23\x85\x6d\x76\x29\x15\xc1\xad\xfd\xd6\x01\xbb\x86\x11\x17\xc6\x3d\x8b\x30\xa5\x01\xdc\xac\x7d\x37\xf1\x41\x92\x06\x61\x14\x51\x79\x17\xdf\x0e\x59\xa2\x76\x06\xdd\x9b\x28\xb9\xe9\xce\x31\x78\x77\x37\xf7\x1f\xce\x5f\x77\x7e\x67\xce\xca\xe5\x3f\xa7\xe0\xd3\x7a\xc3\x17\xd3\xd9\x7f\x28\x12\x8f\xbd\x25\xbc\x07\x56\x71\x2a\xf1\x25\x82\xf4\x9e\xd7\x64\x70\x6a\x1f\x3d\x25\xc7\xc3\x3c\x66\xb5\x2f\x24\x59\xc9\x89\x34\x0f\x54\x9d\x9b\x57\x1b\xe1\xab\x0b\x45\x99\xb3\x6a\x0b\x67\x1d\xc2\xce\x14\x6c\x49\xcc\x53\x61\x60\x65\xda\x66\xbe\xf8\x8f\x1a\x83\xfa\xfb\x24\x20\x0d\x8c\xc7\xb9\x58\x67\x33\xdc\x19\xb2\x24\x20\x19\x6d\x74\x3a\xde\x04\xa6\x37\xcb\x0c\xef\xa3\x84\x0d\xc1\x2f\x67\x50\x9f\x26\xc9\x14\x6f\x75\xdc\x05\x4e\x0e\xdd\xda\x87\xde\x49\x6d\x77\x8f\x03\xad\x3d\x2a\xe2\x59\x3b\xbf\x47\x76\xea\xa8\x7d\xb0\xe7\x1c\xff\x48\xc5\xf4\x91\xd2\xe5\x40\xed\x53\x39\x0a\xa5\xde\xc9\xb7\x0c\x4d\xa8\x8d\x2a\xc0\x71\x68\x1d\xa9\x65\xae\x76\x52\x01\x2a\x75\x7d\x9b\x4d\x3e\x62\x36\x9b\x3c\x91\x37\x6f\xd9\x79\x45\x61\x51\xf6\x48\x0e\xce\x26\xd4\xde\x54\xb5\x41\xe2\x3f\xca\x6b\xda\xd2\x0a\x35\x1c\x8f\xf2\x81\xd9\x84\xda\x99\x2c\xe0\xdf\x97\x7e\x17\x5b\x23\xfc\x96\xdb\xda\xb8\xba\xff\x4e\x9e\xe8\xc1\x39\x82\xf8\xef\x82\x0c\xb3\x01\x75\x6d\x20\x6f\xcc\x31\x13\x96\x46\x9e\x8b\x30\xcf\xe7\xb5\x63\x7b\x02\x92\x11\x27\x7b\x96\x79\x23\x23\x32\xda\x84\x62\xe5\xd3\xee\xd0\x5f\x91\x71\x96\xa4\x4e\xf6\x32\x2d\x6b\x8f\xbf\x40\x0b\x42\x67\x66\x7b\xda\x1a\x9a\x67\x8c\x32\x2b\x0b\x0f\x4f\x09\x1b\x99\x6a\xb7\xca\x1c\x2f\x72\x92\xd6\xb5\x08\x37\x5f\x9f\x96\xa3\x3e\xbb\x27\xd6\x9d\x90\x8e\x72\xf9\xbb\x23\xa9\xbb\x20\x7d\x23\x17\x81\xdd\x50\xce\x76\x41\x79\x22\x56\xa1\xdd\x30\x06\xbb\x60\x54\xd7\xb2\xbb\xa1\x44\xed\xdd\x4e\x0c\x55\x0b\xec\x6e\x78\x47\xbb\xe0\xfc\x24\x17\xf9\xdd\x50\xae\x6b\x7f\x29\x33\xcf\x89\xcc\x78\xfb\xae\x48\x8e\x77\x9f\xfb\x5d\x61\x39\x92\xe7\xcd\x95\x9b\x47\xb9\xcc\xc9\xdd\x25\x5a\x39\x87\xf1\x8c\xa6\xa1\xbc\x78\x79\x19\x4f\xa3\x90\xcd\x3c\xc9\x27\x31\xdd\x4c\x4b\x6b\xae\xf0\xa1\x8c\xd0\x40\x6f\x00\xdd\xcb\xe0\xcf\x7e\x6b\xef\x6b\x3d\x9b\x6d\x58\xb6\x89\x83\x4d\x1a\x34\xba\x2d\x1b\xda\x10\xb3\xc2\xfc\xce\xa7\x07\xb8\x41\xe7\x57\x8c\xba\xfd\x23\xf4\x3d\xfe\xf3\x45\x7c\x70\xa1\xd8\xd4\x80\xf1\x5a\xb9\xd7\xc0\xb3\x73\x1f\x97\x24\x7e\x7a\x76\x83\xb8\xd5\x6f\x34\x10\x96\x55\x80\xec\x21\x48\x1c\x54\x80\xec\x23\x48\x1a\xe0\x6a\x93\xcd\xfc\xa1\x43\x25\x91\x4d\x49\x7d\xe9\x12\xd2\x7d\x08\x2f\x47\x7f\x7f\x79\x72\xfd\xee\xf4\xc5\xf1\xbb\x97\x67\xc0\x3b\xf5\xfe\x03\xe8\xe5\x97\x45\xc2\xf8\xb2\x23\xfc\xaf\xef\x33\x82\xc0\x5e\x85\x5e\x63\x96\xd2\xba\x30\x3d\x3a\x51\x07\x08\xe3\x3e\xfe\xa1\xcc\x90\x4a\xe3\x80\xa6\x03\x34\x62\xd2\x23\xde\x69\x16\x98\x08\xb1\x2d\xdb\xa8\xe0\x99\xcd\x23\xec\xfb\x28\x10\xe4\xe4\xb9\xe7\x44\xcd\x67\xe3\x64\x41\x65\x5e\xe4\xa7\x46\xbd\x15\x64\xf3\x8f\x5b\xdc\x9f\xb2\x51\xff\xd4\x84\x21\x4c\xc1\x5e\x23\x22\xa5\x64\x05\xe3\x28\xf9\x3e\xd5\xb7\xa3\x43\x2c\x7a\xf8\x17\xbe\x69\x55\xa9\x99\x53\x3a\x4f\xee\x30\x87\x2c\x90\x18\x96\x8b\x71\x32\xe7\x55\x95\xe2\x49\x29\x1e\xe4\x6c\x6b\x71\xf5\x91\xca\xe3\x2d\x36\x90\x5e\x3e\xd8\xfc\x34\x96\xde\x6e\x17\x5e\x24\xf3\x79\x12\xff\x72\x06\xf3\x24\x58\x46\x54\xb3\xb1\xfa\x01\x8a\xfd\xc0\x08\x5f\x9a\x1b\x17\xfe\xa4\x43\xbf\x08\x05\xb8\x59\x91\x27\x49\x3c\xe2\xb4\xfc\x4c\xe0\xa7\x9f\xe4\x8b\x0e\x99\x1b\x46\xee\xe2\x69\x5d\x1a\xf3\xd7\x5a\x9a\xd4\x49\xe9\xbf\x96\x61\x4a\x5b\x20\xab\x6e\x49\x52\x7c\x66\x96\x92\x48\x61\xbc\x8f\x19\xa6\xf4\x07\x32\xe9\x94\xf9\xa8\x13\x27\x62\x74\x8a\xd4\x52\xa9\x6b\xbf\x09\x2a\xc5\xa6\x38\x7b\x6b\xe3\x45\x79\x91\x38\xe0\xde\x9e\xb1\xe6\xc1\x2e\xe7\x11\xa7\x33\x75\x4b\xe3\x62\x9a\x6b\x26\x64\xce\x40\xd1\xc0\x72\xa3\xde\xaf\x18\xf8\x38\x52\x7e\x94\xff\xbf\x00\x00\x00\xff\xff\x4a\x12\x3c\x43\x7d\x78\x01\x00") + +func assetsJsMoment284JsBytes() ([]byte, error) { + return bindataRead( + _assetsJsMoment284Js, + "assets/js/moment-2.8.4.js", + ) +} + +func assetsJsMoment284Js() (*asset, error) { + bytes, err := assetsJsMoment284JsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/moment-2.8.4.js", size: 96381, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsPunycodeJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x57\x6f\x4f\xdb\x4e\x12\x7e\x9f\x4f\xf1\x14\xe9\x57\xd9\x24\xb1\x43\x28\xd0\xc6\x31\x88\x16\x5e\xe4\xae\xf4\xaa\xc2\xe9\x2a\x9d\x2a\xe4\xd8\x9b\x64\xc1\x59\x1b\xef\xba\x69\xd5\xf2\xdd\x4f\xb3\xbb\xfe\x17\xd2\x5e\xd1\x1d\x12\x49\x76\x76\xfe\x3c\xb3\x33\xf3\xac\xed\xfb\x58\x29\x95\xcb\x89\xef\x17\xd1\xc6\x5b\x72\xb5\x2a\xe7\xa5\x64\x45\x9c\x09\xc5\x84\xf2\xe2\x6c\xed\xdf\x95\x39\x57\xac\xf0\x45\x96\xb0\xa1\x54\x45\xa9\x78\xea\xaf\x23\x49\xb2\x94\xcf\xfd\xbc\x14\xdf\xe3\x2c\x61\xde\x9d\xec\xf5\x7c\x1f\xe7\xe9\x3a\x93\x0a\x29\x19\x45\x29\x54\x11\x09\x99\x46\x8a\x67\x02\xd9\x02\x6a\xc5\xf0\x0e\xa4\x0f\x2e\x7a\x16\xc0\xc4\xf7\x37\x9b\x8d\xc7\x99\x5a\x78\x59\xb1\xf4\x8b\x45\x4c\xff\x87\xaf\xde\x8c\x3d\xf5\x4d\x41\x65\xf8\x5b\xf4\x35\xba\x8e\x0b\x9e\x2b\x8f\xac\xde\x65\xeb\x35\x13\x4a\xa2\x60\xeb\xec\x2b\x4b\x3c\xe0\x93\xf9\x85\xbd\x38\x92\xec\x76\x91\x46\x4b\xb9\x07\x59\xe6\x79\x56\x28\xaf\xd7\x5b\x94\x22\xd6\x20\x66\x82\xab\x8f\xa5\xf8\xfe\x2e\x4b\x98\xe3\xe2\x47\xef\x6b\x54\xe0\xed\xf9\xf5\x25\x42\x1c\x1e\x07\x7a\x79\x73\x35\xfb\x80\x10\x07\xd5\xea\xfc\x33\x42\x8c\xed\xe6\xf5\xdf\x2f\xff\x45\xba\xaf\xcd\xf2\xe2\xfc\xea\x23\x42\x9c\x8c\x46\x66\x3d\xfb\x30\xbb\x99\x9d\xbf\xbf\x7d\x3b\x3b\xbf\x26\xf9\xb8\x2b\x26\xbf\xa3\x6f\xaf\xad\xf2\xc5\xe5\xfb\xd9\xd5\xec\xe6\xf2\x93\x96\x8e\x2f\x8c\xf4\xea\xfc\xf3\xec\xc3\x0d\x42\x5c\x45\x6a\xe5\xe5\xd9\xc6\x19\x0f\x70\x78\xe0\x62\x78\x10\x00\xbe\x8f\x99\xc0\xe1\x78\x38\xe7\x0a\x92\x2f\x05\x4b\xc0\x85\x62\x4b\x56\xb4\xf3\x9c\x47\x92\xc7\x4e\x9c\x53\x8a\x40\xc1\x54\x59\x08\xc4\x39\xa6\x36\xfc\x63\x4b\x37\x61\x29\x5f\xef\xd0\x0d\xc3\x06\xe1\xb6\x05\xd5\xf0\x36\xe1\x4b\xae\xb6\x0d\xe1\xc4\x39\x86\x78\xf5\x1a\x53\x1c\x8c\x70\x06\xbd\x1c\x8f\x31\x81\xf9\x79\x7c\x84\x29\xc6\xc7\xd5\xce\xf1\x11\x26\x3d\x34\x7f\x5a\xf8\xe6\xa4\xa3\xf3\xe6\x84\xac\xa9\x4c\x6e\x17\x08\x13\x2d\x20\xc9\x00\x54\xf8\x0e\x1a\x27\x41\x9f\x82\xf7\x71\x72\x84\x7d\x5a\x92\x5f\x17\x43\x38\x0e\x29\xe3\x45\x88\x91\x8b\xe9\x14\x47\xee\x96\x6f\xda\x5e\xb2\xc4\x99\x6f\x25\x48\x82\x26\x8d\xdd\x80\xcc\xf1\xcf\xe3\xbc\x0d\x49\xdb\x85\x95\xbd\x4d\xd1\xc4\x0e\x1a\xf7\xb4\xdb\x87\xe3\xbc\xd0\xf0\x5e\xbe\xdc\x8e\x67\xc1\x76\xc3\x46\x49\x94\x2b\x27\x61\xa9\x8a\x06\x10\xe5\x3a\xcf\xb8\x50\x72\x80\x05\x2f\xa4\x52\x7c\xcd\x0c\x02\x6a\xaf\x7b\x8a\xa5\x35\xab\x16\x5b\xa4\x59\x56\x38\xb5\x2a\xce\xec\xb6\x6f\xba\x7b\x52\x2f\xc7\x6e\x63\xdb\xef\x18\x57\x1a\x75\x68\xad\xb9\xc8\x0a\x38\xf7\xd4\xdc\x41\x65\x76\xda\xb6\x72\x1c\x3d\x79\x43\x3d\x71\x2e\xf6\xf5\xac\xb9\x26\x10\x70\x4f\x31\x74\xcd\x35\xf6\x9d\xa0\xab\xb8\x1d\x47\x3a\xf6\x63\x73\xa2\x2d\xfd\x7b\x3a\xda\x96\x2e\xfa\x38\xa0\xc0\xb5\x1f\x9b\x9c\x1e\x73\xdb\x10\xbe\x8f\x4b\x5d\x55\x89\x3d\x2e\xf2\x52\xed\x81\x0b\xd4\xc4\x07\xfc\x43\x40\x96\x71\xcc\xa4\x1c\xd8\x90\x12\xaa\x28\x19\x59\x46\x22\x81\x54\x59\xc1\xa4\x26\xbf\x82\xc9\x32\x55\x64\xbf\x97\x95\x8a\x7c\x79\xc0\xdb\x4c\xad\x6a\xd7\x91\x48\xc8\xae\xda\x46\x54\x30\x44\x45\x11\x7d\x97\x44\xa0\xff\x14\x5c\xb3\xa7\xfe\x30\x27\xed\x35\x5d\x50\x61\xba\x35\x5d\xe8\x68\x97\x03\x18\x57\x4d\x07\x08\x84\x0d\x21\x05\x56\x58\x1d\xee\xa8\x12\x64\xa5\x6a\x2f\xe7\x3c\x92\x2d\x3b\xe2\xb7\xa0\x57\xd5\x98\x14\xee\x6c\x9d\xef\x30\x85\x0e\xec\xa5\x4c\x2c\xd5\x2a\x00\xfa\xfd\xbb\xaa\x86\x7c\x01\xc7\x0c\x87\xd6\xf9\xf7\xdd\x17\xb7\xda\x82\x05\xea\xe5\xa5\x5c\x35\xdb\x81\xde\x7c\xd4\x25\xb5\x58\x56\x08\x49\xb7\x86\xd6\x2c\xb5\x7b\x9c\xd2\x48\xb7\x9d\xd5\x34\xe6\x6a\xcc\x9b\x15\x4f\x19\x9c\xd5\x16\xd2\x0a\x08\xf9\x5c\x53\x9f\x69\x22\x36\xf1\x9f\x99\xa6\x41\x52\xe5\x80\xd3\x10\x82\x46\xb9\x16\x4c\xb1\x76\x75\x8c\x4a\x52\x65\x59\x1f\xd2\x1a\x43\x88\xad\x71\xb1\x37\xc3\xd0\x14\x8b\x06\xc5\x59\xe9\x0e\x76\x5d\x1b\xd5\x76\xfc\x22\x4a\x25\x0b\x5a\x43\xd3\x0f\xad\x47\x6a\x76\x6b\x64\xf6\xa9\x19\xd6\x41\xef\xff\x90\xe4\x14\x02\xfe\x3e\x7e\xfe\xc4\x56\x81\xb1\xef\xa3\xb1\x31\x56\xfd\xbe\x6d\x38\x4d\xbf\x4f\x61\xd7\x67\xb1\x15\x24\x0c\x29\x87\xc6\x17\xa1\x7d\x40\x68\xd2\x0c\x6a\x71\x9d\x09\xb1\x0f\xcd\x7b\x00\xec\xa2\x94\xc6\x09\x35\xfb\x3d\xa6\xa1\x69\xf4\x33\xc3\x0e\x9d\x8b\x09\x64\x7f\x6a\x15\xfa\xe6\xb9\xe0\xcc\x7c\x4d\x70\x8f\xa1\xde\x08\x5a\x16\x04\xfc\x01\x53\x28\x17\xf3\x82\x45\xf7\xed\xbd\x76\x77\x76\x2e\x31\x45\x0c\xf5\x80\x21\x59\xfd\x55\x73\x95\x72\x07\x18\xb9\x6e\xdb\xc3\x43\x97\x09\x2b\x1b\xbf\x65\xd3\xd2\xaf\x4f\xf3\x37\xa1\x1f\x06\xa6\x02\x6d\x3b\x3b\xf6\x9d\xfb\x45\xb7\x0f\x7d\x85\x21\xe6\x2d\xdd\x0e\x85\x98\xbf\x7e\x7f\xd5\xd4\xb3\xf9\xb4\xd5\x0f\xec\x42\x6c\x11\x36\x91\x67\x45\xbd\x17\xac\x4b\xbd\x2a\xdb\x49\x82\x1d\x16\x26\xbb\x36\x11\xff\x31\x0b\x6b\xe6\x6d\x88\xf8\x7f\x64\x61\xf3\x94\xf4\x2c\x16\xfe\x43\xd2\xad\x58\x6f\x14\x3c\x87\x81\xa9\x1f\xcd\xb3\x5e\x8b\x7b\xc9\xcd\xdd\xaf\x99\x7c\xfe\x94\xbe\x5f\x3c\xe1\xef\xa7\xe3\xfb\x4b\x26\xaf\x39\x9c\xb7\xf3\xe4\x22\x47\x08\x4d\xdc\x38\xc3\x9c\xfa\x0b\x93\x56\x76\x81\xd6\xd8\x91\x55\x56\x9d\xa8\x3d\xbe\x34\x21\xbf\x3c\xa8\x25\x1b\xf3\x20\xff\x3c\x4e\xb0\x8c\x43\xc3\xde\xbd\x1f\x76\xf1\x94\xbe\x3c\x69\x7e\x34\x0b\xb5\xc6\xc9\xe4\xcd\x45\xde\xef\x7f\xa9\xa7\x44\xd7\x40\x6b\x9f\x56\x51\x77\x39\x6d\xa9\xed\xbe\x01\x38\x4d\xfa\x66\xe7\xd9\x03\x9c\x52\x32\xe6\xfb\xd8\xb4\x81\x12\x48\xe7\xbf\xd2\xdc\x1f\xf0\xdc\x8e\x84\x9e\x12\x1d\xed\x6d\xba\x19\xd8\x04\x3a\x2c\xb5\x3b\x89\x0d\xf6\xc3\x96\x56\xe7\x82\xec\xb0\x12\xc7\x50\x17\x5e\x8f\x98\xa1\x26\xd3\x07\x74\xb5\x04\xcd\x8d\xca\x29\xaa\x55\x71\x09\x55\x75\x96\x62\x17\x00\xb1\xf5\x84\xdb\xb1\xb6\x68\x38\xfe\x0a\x1b\x61\xa7\xf3\x65\x9e\xf2\x98\x39\x7c\x80\xd1\x00\xc2\xad\x98\x8e\xff\x86\xe9\x2e\xbf\xd1\xcb\x2a\x4b\x50\x31\x89\xf4\x7a\x56\xed\x87\x7d\xaf\x98\x6c\x3f\xe2\x0d\x9a\xca\x99\xde\x9b\x6c\xd3\x0f\x1e\x83\xde\x63\xd0\xd3\x6f\x96\xd5\x8b\x2f\x42\x30\x1d\x4c\x7a\x2d\x51\xf7\xd5\x38\xe8\xfd\x27\x00\x00\xff\xff\xd4\x01\xd7\x13\x20\x10\x00\x00") + +func assetsJsPunycodeJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsPunycodeJs, + "assets/js/punycode.js", + ) +} + +func assetsJsPunycodeJs() (*asset, error) { + bytes, err := assetsJsPunycodeJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/punycode.js", size: 4128, mode: os.FileMode(420), modTime: time.Unix(1468174457, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsSjis_mapJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\xb7\x49\xef\x83\x3c\x97\xf6\xb9\xaf\x4f\x71\xef\x6a\x81\xea\x49\x20\x40\x92\xb7\xf5\x2e\x98\x03\x84\x19\x6c\xec\x56\xeb\x11\x53\x98\x6c\x86\x04\x02\xa4\xd5\xdf\xbd\xf5\xaf\xda\xb5\x9a\x0d\xe2\x1c\x7c\xce\x75\x7e\x97\x25\xcb\xa7\xd3\x3f\xcd\xb2\x4c\x9f\xff\x75\x3a\xbd\xb3\xed\x5f\x75\xbb\x34\x6b\xbe\x7e\xaa\x77\x31\x0e\x4b\x35\x2c\xff\x2a\x46\x7a\xea\xd6\xa9\x5d\xaa\xf7\x69\x18\xcb\xea\xbf\x3e\xcb\x7b\x5d\x5a\x72\xa2\xd9\xe7\x2f\x46\xda\xfc\xf4\xe9\xda\xcf\xbf\x69\x36\xfd\xab\xfb\xfc\xc7\x7f\x9c\x4e\xff\x18\xd5\x50\xbd\xb3\xa5\x2a\xff\x79\xbd\x47\xfa\xdf\x0d\xfe\xd7\xe9\xf4\x19\xd7\x77\x51\xfd\xab\x2d\xd6\xff\x9a\xde\x63\x57\x15\xcb\xbf\xc6\x77\x7d\x7a\x57\xd3\xf8\x39\xb5\xc5\x7a\x2a\xb3\x25\x3b\x2d\xef\x75\xe8\x4f\x45\x93\xbd\x3f\xd5\xf2\x3f\xa1\xb5\xa0\xa7\x36\xa7\xff\x75\xe7\x2f\xff\xf6\x59\x41\xfa\x2f\xee\x7c\xbe\xfc\x6b\x2d\xe8\x7f\x7c\xb3\xf7\x3f\x91\x65\x46\xff\x76\x24\xff\xdf\x9a\xab\x78\xaa\xa6\xfe\xf3\xbf\xff\xa9\xf6\x69\x7c\x2f\x9f\x7f\xfd\xff\xa4\xfe\xef\xff\xe7\xff\xf8\x8f\xff\x6f\xf8\xff\xfc\xcf\xd0\x4b\x5c\x35\x0e\x4d\xff\x3f\xff\xaf\x7f\xfe\xf7\x3f\xff\x29\xfd\xcf\x23\x4b\x92\x26\x49\xb5\xa4\x48\x92\x23\x49\xdb\xdf\x47\x20\xc9\x81\xa4\x4b\x12\x92\xe4\x5a\x7a\x48\x52\xf1\x97\x34\x25\xa9\x97\x94\x40\xb2\x25\x69\x94\x94\x4d\x7a\xfe\xfd\xac\x4a\x92\x2b\x49\x67\x49\xad\x25\x4f\x92\x6e\x92\xba\xfd\x2d\x96\x24\x2d\x90\x42\x49\x36\x25\xad\x96\x62\x49\x76\xfe\x8a\x25\x92\x9c\x48\x7a\x20\x41\x49\x46\x92\xbe\x49\xe9\x5f\x71\x43\x92\xb0\x24\xf7\xd2\x6b\x93\x32\x49\xfe\x48\xc6\x7f\xbf\x37\xe9\x11\x48\xa5\x24\xf3\xd2\xa3\x96\x5e\x92\x7c\xfb\x6b\x5e\x4b\x8a\x26\x99\x81\xd4\x4a\x8a\x29\x99\x9b\xd4\xfd\x89\xb1\x24\x89\x48\x4a\x22\x59\xb5\x44\x25\xa5\x90\xac\xed\x4f\x5c\x2d\xd9\x81\x34\x49\xca\x28\xd9\xb5\xf4\x96\x94\xcf\x9f\xd8\x8f\xa4\x9c\xa5\x67\x20\xad\x92\xc2\x4b\xcf\x4d\xfa\xfe\x89\x77\x24\x69\x97\x54\x4d\x72\x6a\xe9\x90\x54\x47\x72\xb6\xbf\x61\x02\xc9\x0d\x24\x56\x52\x91\xe4\xd6\xd2\x45\x52\x8b\xbf\xe1\x78\x49\xed\x25\x2f\x90\x44\x49\x1d\x25\x6f\x93\xae\x7f\xc3\xfa\x92\x74\x97\xd4\xb3\xe4\xd7\x12\x23\xa9\x37\xc9\xdf\xfe\x07\x67\x10\xc8\xb2\xa4\x99\x52\x50\xcb\xaa\xa4\x39\x7f\x30\x34\x49\x4b\xa4\x30\x90\x0d\x49\x43\x52\xb8\xc9\x8f\x3f\x38\x91\x24\x5b\x92\xd6\x4b\x51\x2d\xdb\x92\xf6\x91\xa2\x4d\x76\x24\x6d\x93\xe2\x40\x76\x25\x8d\x97\xe2\x5a\xf6\x25\xed\xf6\x07\x2f\x90\x74\x4d\x4a\x02\x39\x92\x74\x53\x4a\x36\x39\xfe\x83\x09\x24\x19\x48\x7a\x22\x81\x5a\x86\x92\x5e\x48\x60\xfb\x83\x5b\x4b\x30\x90\xb1\xa4\x8f\x12\xac\xe5\x5c\xd2\x3f\x7f\xb0\x0b\x49\x3f\x4b\x69\x20\x57\x92\xce\x4b\xe9\x26\xbf\xfe\xe0\x23\x49\x6e\x24\x43\x93\x50\x2d\xb7\x92\xe1\x48\x68\x93\x7b\xc9\x08\x24\x1c\xc8\x44\x32\x90\x84\x6b\x79\x90\x8c\xe2\xcf\x94\x51\x32\x7a\x29\x0b\xe4\x59\x32\x46\x29\xdb\xe4\xf7\x9f\x59\xb9\x24\x2f\x92\x71\x96\xf2\x5a\x5e\x25\xe3\x26\xe5\xdb\x9f\x79\x92\x54\x04\xf2\x2e\x3d\x4c\xa9\xa8\xe5\x9f\xf4\x70\xfe\xcc\x3c\x4b\x8f\x44\x2a\x03\x99\x93\x1e\x48\x2a\x37\xf9\xf2\x67\x6e\x25\xc9\x82\xf4\xe8\xa5\xaa\x96\x45\xe9\xf1\x91\xaa\x4d\xbe\x49\x8f\x4d\x7a\x05\xf2\x5d\x7a\xf0\xd2\xab\x96\x0a\xe9\xc1\xc8\x54\x52\x86\x3a\xe1\xa5\xd9\x34\x9e\xd2\x53\x91\x5f\x81\xb2\xd7\xc9\x26\x2d\xe6\xe3\x22\x3d\x33\xf9\x55\xab\x69\x8d\x24\xe9\xce\x7b\x2f\x49\x30\xfe\x1c\x8a\x6a\x51\x53\x7b\xde\x6b\x25\x21\x52\xc7\xcd\x03\xb5\x18\xa8\x64\xf4\x88\x24\x54\xea\x54\x7b\xa8\x16\x0b\x95\x22\x6f\x94\x84\x59\x9d\x03\x2f\xaf\xc5\x51\x1d\x4c\xef\x2d\x09\x9c\xfa\x96\xbc\xaa\x16\xcf\xea\xc0\x7b\xab\x24\x2a\xea\x7b\xf3\x9a\xfa\x2a\xa9\x23\xef\xed\x92\x18\xa9\x9f\xda\x23\xf5\xd5\x51\xa7\xd1\x3b\x4b\x62\xa5\x2e\x81\x37\xd6\x57\xa4\xce\xc8\x3b\x49\x57\x43\xdd\x24\xef\xa8\x6f\x9a\xfa\xe1\x7d\x45\xba\x46\xea\xb6\x79\x6c\x7d\x0b\xd4\x65\xf4\x75\xe9\x5a\xa9\x7b\xed\xf1\xf5\xad\x50\x57\xe4\x9b\xd2\x75\x56\x8f\xc0\xbb\xd6\xb7\x51\xfd\x9a\xfe\x53\xba\x72\xea\x4f\xf2\x98\xfa\x76\x56\xbf\xbc\xef\x49\x37\x45\xfd\x6d\xbe\x5c\xdf\x25\x75\xe3\xfd\x50\xba\x45\xea\xb9\xf6\xf5\xfa\xee\xa8\xfb\xe8\x27\xd2\xad\x52\xd9\xc0\x37\xeb\x3b\x52\x0f\x14\x1a\xb2\x64\x68\x81\x14\x04\x8d\xa6\x69\x1a\x0a\x15\x59\xb6\xb5\x60\x0b\xe2\x46\x0b\x34\xdd\x0c\x75\x59\x86\x5a\xb8\x05\xb0\xd1\x6a\x4d\xe7\x43\x4b\x96\x5b\x2d\xaa\x03\xdc\x68\x1f\xcd\x18\x43\x47\x96\x57\x2d\x0e\x82\xa2\xd1\x78\xed\x81\x42\x5f\x96\x45\x2d\x91\x82\x57\xa3\x6b\x9a\x69\x86\x91\xac\x18\x5a\xb2\x05\x6d\xa3\x07\x9a\xc9\x87\x40\x56\x22\x0d\xd4\x01\x69\xf4\x42\xb3\xc6\x10\xc9\x4a\xa5\xc1\x20\x18\x1b\x7d\xd4\x6c\x14\xe6\xb2\x32\x6b\xa9\x14\xbc\x1b\xfd\xac\x3d\xcd\xb0\x92\x15\x4e\x4b\xb7\x60\x6d\x0c\x49\x7b\xf2\xe1\x26\xab\x8a\x56\x04\xc1\xde\x3c\x4c\xcd\x19\xc3\x9f\xac\x7a\x5a\x29\x05\xe7\xe6\x91\x68\x2e\x0a\x2f\xb2\x9a\x69\x95\x14\x5c\x9a\x47\xaf\x79\x66\x28\xca\x2a\xd5\xaa\x2d\x10\x9b\xc7\xa6\x79\x7c\x78\x97\xd5\x43\x7b\xd5\xc1\xbd\x31\x25\xcd\x1f\x23\x59\x56\x19\xad\xae\x43\xa9\x31\x1d\x2d\x40\x91\x26\x6b\xb6\xd6\x04\xa1\xda\x98\x48\x0b\xcd\xe8\x21\x6b\x50\x6b\xa5\xd0\x68\xcc\x5e\x0b\xf9\xc8\x96\xb5\x56\x6b\xb7\xd0\x6a\xcc\x4d\x8b\xc6\xc8\x95\xb5\x55\xeb\xea\xd0\x69\xcc\x9b\x16\xa3\x28\x90\x35\x51\xeb\x83\xd0\x6f\x1e\x48\x4b\x90\x5e\x9a\xb2\x22\xa7\x8a\x04\x6a\x98\xd4\x86\xa9\x53\x53\xa6\x32\x3e\xa4\xa2\x86\x75\xfd\x40\x0f\xd6\x54\x14\xf9\xde\x4a\x4d\x0d\x83\xda\x42\x7a\x67\x2a\x99\x7c\x8b\xa4\xad\x46\x5b\xed\x8c\x86\x6b\xaa\x9e\x3c\xb5\xd2\xb5\x46\x7c\x23\xf1\x95\x62\x86\xd9\xa3\x51\xb4\xa6\x7e\x49\x8d\xcd\x97\x89\x09\x95\x07\x88\xf4\xa6\x61\x51\x83\xc6\x32\x35\xa1\xf7\x80\x8a\xde\x37\x6c\xdf\x60\x54\x66\x26\xcc\x1e\xf0\xd0\x87\x86\xdd\x9a\xcc\x2c\x4b\x13\x0e\x62\xa0\xe8\x1b\xd3\x6b\x4d\xf1\x9a\x14\x33\x7d\x8a\xc1\xa1\xff\x98\x3e\x68\x4a\x7f\xd2\xcd\x34\x15\xc3\x56\xe7\x98\xbe\x68\xca\xd3\x64\x9a\x69\x27\x46\x91\x2e\xd4\x59\xdf\xf4\xa6\x31\x9b\xd8\x90\x67\xc5\x88\xea\xec\xd3\xf4\xfc\xe3\x69\x96\xb6\xfc\x53\x1e\x49\x5d\x9c\x5b\xc9\x7c\x94\x66\x6d\xcb\xbf\xd6\x54\xeb\x92\x6f\x65\xde\xe0\xcd\xba\x95\xd7\xc8\x7c\x36\x42\xd0\x6a\xe8\xd1\x99\xcd\x2c\x0b\x91\x59\xd6\xa8\x68\x1f\x63\x85\xcc\x86\x91\xb9\xd6\xac\x6b\xa8\xb5\x16\x7a\x98\x66\x5b\xc9\x47\x64\x8e\x75\x7e\x6b\x6d\x64\x30\x66\x3b\xcb\xc2\x61\xbe\xeb\xaa\x6e\x9f\x66\x15\x9b\xad\x28\xb7\x8a\x79\xae\x2b\xd4\xba\xe8\xd1\x9b\x1d\x27\xf3\x8a\x15\xd5\xc8\x6c\x91\xf9\x78\x99\xd4\x90\x9b\xc8\xa2\x35\x42\x2d\xe6\x1f\x8d\x49\x67\x99\x6f\xad\x77\x9d\x6f\x6d\x3d\x1a\x77\x73\xf4\xe4\xb5\xb5\x8d\x3a\xff\xb4\x0d\xff\xc8\xcd\x19\x3e\x68\x64\x9f\xea\x72\xeb\xb4\xb1\x94\x2c\x43\x79\x04\x51\xd8\x34\x67\xb3\x47\x63\xa9\x5a\x86\xf7\x08\x95\xb0\x6f\xce\x49\x8f\x51\x69\x58\x46\xf6\x08\x8f\x70\x68\xce\x75\x9f\x99\xa5\x65\x19\xf4\x11\xb5\xe1\xdc\x9c\x3f\x7d\xc6\x97\x8e\x65\x1c\x8f\x38\x0a\x97\xe6\xcc\xf7\xf9\x58\xfa\x96\xc1\x3c\x12\x25\xdc\x1a\x56\xeb\x0b\x54\x46\xd6\xc3\x7e\x24\x47\xf8\x6b\xac\x1b\x91\xcc\x68\xb6\x02\x43\x1b\x95\x44\x69\xec\x0f\x91\xf8\xa8\xb1\x82\x43\x7b\x2b\x89\xdf\xd8\x26\xd1\xcc\x68\xb1\x42\x4f\x9b\x94\x24\x69\xec\x1b\xd1\xf9\xa8\xb3\xc2\x56\x7b\xb7\x49\xde\xd8\x09\x79\x98\x91\x68\x85\x9c\xb6\x44\x49\xdd\x3c\x25\x62\xf2\xd1\x60\x45\x91\xf6\x55\x12\xd2\x3c\x0b\x62\x9b\xd1\x61\x45\xab\x36\xb5\xc9\xa7\x79\x22\xf2\xe4\xa3\xab\x15\x2b\xda\x27\x4a\x7e\x8d\x5d\x13\xd7\x8c\x78\x2b\xae\xb4\x6f\x94\xf0\xcd\xd3\x21\x1e\x1f\x4d\x56\x7c\x68\x6b\x94\x9c\x9a\x27\x4f\x82\x31\x3a\x5b\xc9\x2a\x8f\x11\xac\xeb\x4c\x22\x23\x32\x3a\x2b\xb7\xe5\xb1\x85\xbf\x3a\x4b\xc8\xd7\x34\x7a\x2b\xe7\xe4\xe1\x48\x8d\x1a\xf3\x64\xe7\x8d\xdc\x2a\x56\x79\x88\x52\xaf\xc6\x1b\xf9\xf1\x8f\x9b\x55\x31\x32\x6d\x91\x5e\xe3\x9e\xca\xa3\x61\x5b\xbd\x22\xb7\x11\x56\xea\x57\x40\xb3\xf1\xf1\xb3\x28\x27\xdf\x5a\xfc\xad\x13\x69\x93\x4c\x5d\x76\x24\x43\x0e\x3a\x49\xa9\x01\xda\x24\x5e\x47\x8e\x04\x65\x18\x4b\x46\x0d\xc6\x4d\xe6\xf5\xdd\x91\x5a\xb9\xe8\x24\xab\x4e\x9d\x4d\x19\xf5\xb3\x23\xad\x72\x19\x4b\x4e\x9d\xa2\x4d\x45\xfa\xc5\x91\x44\xb9\x52\x25\xbf\x4e\xfb\x4d\x33\x75\xd1\x91\x0d\x79\xfa\x49\x51\x9d\x6d\x9b\xc6\xeb\x6f\x47\x8e\xe4\x5c\x95\x40\xc3\x4b\xdb\x03\x55\xb2\x23\x33\xca\xf0\x93\xe5\x7a\x96\xb6\x60\xb4\x1b\x47\xf3\x94\xb1\x93\xb5\x7a\x76\xb6\x10\xd9\xbd\xa3\x65\xca\x14\xcb\x8f\x7a\x46\x5b\x64\xda\x83\xa3\x51\x65\x56\x65\xbb\x9e\xfb\x2d\xe2\xed\xd9\xd1\x0e\x65\xfe\xc9\x6e\x3d\x6f\x5b\x3c\xda\x8b\xa3\x31\xca\xbb\x93\x83\x7a\xbe\x6d\x09\xb2\x37\x47\xb7\x95\x4f\x2c\xc7\xf5\xdb\xdc\x80\x69\xff\x1c\x1d\x2a\x8b\x2a\xc3\xfa\x9d\x6c\x80\xb7\x39\x47\x6f\x95\xe5\x27\xe3\xfa\x5d\x6f\x70\xb4\x05\x47\x5f\x95\xb5\x93\x8b\xfa\xfd\xd9\x52\x64\xdf\x1c\x5d\x54\xbe\xb1\xfc\xaa\xdf\xfc\x86\x4c\xfb\xe4\x18\x86\xb2\xa9\x72\x5b\x7f\xb4\x0d\xf1\x4f\xc5\x31\x22\x65\xfb\xc9\xa4\xfe\x04\x1b\x1e\x9f\xba\x63\x54\xca\xde\xc9\x63\xfd\x29\xb6\x0c\x3d\x4d\xc7\x98\x95\x23\x96\xdf\xf5\x67\xdc\x72\xf3\xf9\x74\x0c\x4e\xf9\xa9\xf2\x5a\x7f\xce\x5b\xce\x3f\x3d\xe7\xa1\x28\xbf\x9f\xbc\xd7\x8b\xb4\x15\xe3\x33\x74\x1e\x9e\x72\xee\xe4\x73\xbd\x38\x5b\x89\x9e\x89\xf3\xc8\x14\x36\x96\x2f\xf5\x82\xb6\xca\x7c\xa6\xce\x83\x2a\x9c\x2a\x8b\xf5\xd2\x6f\x15\xff\xcc\x9c\xc7\xa1\x70\x3f\xf9\x5e\x2f\xdb\xf6\x1a\x9f\xa5\xf3\x60\x94\x4b\xa7\x48\xf5\x72\xdb\x6a\xf4\xac\x1d\xd3\x56\xf8\x58\x51\xeb\xd5\xdc\x1a\xf3\xd9\x39\x26\x54\x04\x55\x31\xea\x35\xd9\x1a\xfe\x49\x1d\xb3\x55\x84\x9f\x62\xd5\x6b\xbd\xb5\xe3\x73\x72\xcc\x55\x11\x3b\xc5\xa9\xd7\xcf\xd6\xa1\xe7\xc7\x31\x45\xe5\x1a\x2b\x7e\xbd\xf2\x5b\x6f\x3e\xbf\x8e\x65\x28\x37\x55\x89\xea\xaf\xb6\xf5\xbc\x6e\x3b\xd6\x2a\x47\x3f\xa5\xa8\x41\xb0\x0d\x48\x07\x8e\x25\xaa\x81\xaa\x34\xf5\x59\xdb\xc6\xd1\x55\x1c\xdb\x53\x83\x9f\xd2\xd7\xe7\x60\x9b\x90\xab\x3b\x76\xa6\x86\x9d\x32\xd4\xe7\x62\x9b\x4d\xd7\x74\x6c\xaa\x46\xb1\x32\xd7\xe7\x71\x9b\x79\xf7\xe9\xd8\x87\x1a\xab\xca\x52\x9f\xcf\xdb\x7b\x74\x3d\xc7\x66\xd4\xf8\xa7\x6c\x35\x2b\x6d\x1f\xe4\x86\xce\xd3\x56\x93\x4e\xf9\xd5\xac\xb3\x2d\xa6\x9b\x38\x4f\xa8\x82\x58\xe1\x6a\x16\x6d\x0b\xef\xa6\xce\xb3\x55\xa1\xaa\x08\x35\xdb\x6f\xeb\xe8\x66\xce\x73\x55\xe1\x4f\xb9\xd5\xec\xb6\x7d\x91\x5b\x3a\x4f\x51\x4d\x3b\xe5\x54\xb3\xb7\x6d\x33\xdd\xda\x71\x0c\x15\xc5\xaa\x52\x73\xe6\xb6\xf1\x6e\xe7\x38\x91\x8a\x55\x55\xaf\xb9\x64\xdb\x47\x97\x3a\x4e\xa5\xe2\x9f\x6a\xd6\x5c\xbd\x1d\xc8\x9d\x1c\x67\x56\xb3\x4e\x7d\xd6\xdc\x67\xfb\x99\xee\xc7\x71\x38\x35\x8f\x55\xaf\xe6\xf8\xed\xc7\xbb\x5f\xc7\x55\xd4\x42\x55\xc3\xfa\xa2\x6d\xe7\xd1\x3d\x1c\xd7\x53\x8b\x9f\x9a\xd4\x97\x60\x63\x91\xcb\x3a\x6e\xa6\x96\x9d\x9a\xd6\x97\x62\xe3\x4c\x97\x77\x5c\xaa\x56\xb1\x9a\xd5\x97\x71\xe3\x78\xf7\xea\xb8\x87\xfa\x52\xd5\xb2\xbe\x9c\xb7\xcb\xe8\x32\x8e\xcb\xa8\xb5\xaa\xd6\x35\xaf\x6d\x3c\xf2\x14\xc7\xb3\xd5\xfa\xa7\x76\x35\x1f\x6c\x82\xe9\xe9\x8e\x07\xd5\xa6\x53\x69\xcd\x17\x9b\xc0\x7b\xa6\xe3\xb5\x6a\x1b\xab\x53\xcd\x8f\x9b\x38\x7a\x4f\xc7\x5b\xd5\x4e\x55\x3f\x35\x7f\xde\xae\xc8\xf3\x1c\x4f\x54\xbb\x9f\xfa\xad\x05\x69\xbb\x99\x5e\xe8\xf8\x86\xda\x77\xea\x51\x0b\xce\x76\xe3\xbd\xc4\xf1\x23\x95\xc4\x2a\x5b\x0b\x68\xbb\x8f\xba\xee\xf8\xab\x0c\x7f\xea\xad\x06\xe6\x76\x42\x7a\xec\xf8\xe2\xa3\xed\xcc\xbd\xe1\x3f\x87\x33\x56\x8e\xd3\xd1\x47\x13\xdb\x7d\xc3\xa3\x63\x42\xd5\xc3\x99\xb3\x47\xab\xda\x43\xc3\xf7\xc7\x6c\x96\xc4\xd9\xbc\x47\x16\x3b\x6e\xc3\x49\x3f\xdd\x2c\x3b\x67\x6f\x1f\x28\x76\xda\x86\xfb\xfc\x4c\xbe\x9c\x9d\x23\x7b\x60\xd5\x19\x1a\x6e\xfb\xd9\x7c\x49\x9d\x5f\xf6\xc8\x3b\xe7\xda\xb0\xb7\x5f\x84\xca\xc5\x39\xcf\x0f\xd4\xb9\x6e\xc3\x15\xbf\x04\x95\xa3\xc3\x56\x8f\x57\xe7\x5e\x1b\xfe\xf6\x7b\x99\x95\xe7\x5c\xb8\x47\x17\xbb\x4c\x73\x31\x7f\xdd\x58\xfe\x1c\x9e\x79\xe4\x3f\xaf\x68\x2e\xd2\x6f\x40\xe5\xee\x08\xe2\xa3\x8c\xbd\xa6\xb9\x04\xbf\xdd\xac\x54\xe7\xc6\x99\x62\xcf\x4b\xfd\x34\x79\x12\x12\xd9\xb8\xf6\xe0\xa0\xf1\x8f\x8e\x09\x3d\xc5\x14\xfc\xb8\xa6\x3e\x7f\xe6\xed\x36\x9f\x3c\x45\x00\xbf\xb8\xe6\xd2\xb4\xe7\x3d\x6a\xcb\x9e\x66\x12\x2f\x6e\x0c\xbb\xeb\xf9\x84\xda\xba\xa7\x63\xa5\x8d\x9b\x0c\x6f\x1a\x9f\xb6\x17\xe0\x19\x16\xe4\xe3\x86\xfa\x42\xc2\x57\xe4\xba\x7b\x26\x4e\xa5\xb8\xcd\xc5\x4c\xe3\x47\x6a\x5b\x9e\x3d\xd9\x46\xdc\x72\x68\x3c\xf3\x7b\x7b\x6a\x3c\x67\x6a\xfb\xb8\xcb\x6c\xee\xcc\xf3\x7d\x7f\xf7\x3c\x74\x25\x71\xb7\xa2\x29\xe1\x6f\xd4\xc6\x9e\x2f\xb4\x43\xdc\xdb\x09\xd0\x04\xb5\xbd\x60\x2f\xc4\x21\x8c\xfb\x35\xe6\x13\xc1\xed\x1c\xdd\x8b\x27\x1c\xc5\xfd\x89\x64\x9a\x00\xa8\xdd\x78\x60\x3c\xd1\x98\x54\x68\x4e\x04\xd4\xe6\xae\x07\xd1\xb7\x8b\x09\xe7\x5c\x7b\xa1\x22\x6b\xe9\xa5\xc2\xda\xc7\xd4\x4e\x7b\x4d\xd8\xfb\xd3\xe2\x15\xfc\xdc\xc5\x83\xf8\x04\x9a\x28\x51\x7b\xf2\xea\xa9\x7d\xc7\x23\x4c\xd7\x44\x34\x08\xbb\x7b\xad\x65\x98\xf1\x48\xd1\x3b\x11\xed\x6e\xc2\x5e\x2b\xf8\x7b\x3c\x1e\xe8\xa3\x89\x5e\x0b\x58\xaf\x47\xbf\x32\x9e\x6c\xe7\xa2\x89\x49\xeb\x85\x1e\xc1\xcd\x1c\x4f\x2d\xca\x12\x11\x77\xb9\xee\x51\xbe\x7d\xc5\xd3\x81\x3e\x89\x58\xd1\xa7\xe5\x0d\x42\xfb\x8b\x67\x05\x26\x67\xb1\xa1\xcf\xd0\x1b\xc7\xdf\x16\xcf\x91\x29\x24\x22\x21\x93\xe5\x4d\xe3\x5a\xc4\x73\xfb\x1c\x12\xf1\xdd\x0a\x82\xf7\xb6\x9e\x75\x3c\x73\xe9\xda\x8b\x2b\x7d\x02\xef\x63\xb5\x5c\xfc\xf6\xd0\x72\x16\xb9\xde\xd8\xbd\x75\xbc\xe3\xf8\xa3\x04\x79\x72\x95\xe9\x73\xf7\xb6\xa9\x15\xe3\x4f\x84\xd6\xf3\xd5\x68\x2f\xa5\xb7\xf3\x5c\x13\x7f\x66\xeb\xda\x5f\x9f\xf4\x49\xbc\x1f\x6e\xf9\xf8\x23\x82\xe9\x7c\xf5\x3b\x0a\x3c\xd6\x14\xfa\x78\x81\xe1\x57\xbb\x42\xfa\x64\x3d\x56\x00\xe7\x78\x69\x03\x21\xb9\xe2\x1a\x94\xde\x05\xb7\x4c\xbc\x88\x68\xd3\xae\x2f\x86\x12\x8f\xc7\x8f\x2e\x5e\xbd\xf4\x72\xbe\xf6\xad\xd3\x78\x02\x6e\x4f\xf1\xca\x59\x5f\xed\xba\xb6\x37\xcb\xbb\x59\xf6\x23\xfe\xda\x4e\x77\xbe\x72\xd4\xd1\xbd\xbb\x10\xaa\xf1\xf7\x2b\x66\xfd\xf5\xc6\xd0\xc5\x97\xcc\xf7\x14\x6f\x0f\x31\xd7\x6e\x2a\x75\x2c\x5f\x41\x9d\x15\x6f\xb3\x73\xe9\x6f\x6e\xbb\x4e\xbe\x3a\xc1\x2c\xde\x98\xe4\xa3\xdd\x82\xf6\xd2\xf8\x1a\x1a\xbe\xf1\x3e\x23\x21\xb9\x15\x3d\x27\xfb\x0f\x1c\x39\xf1\xc1\xa0\x5d\xbb\x6d\xe4\x39\xf9\xae\xf5\xaa\xe3\x5f\x16\xc4\xda\x8d\x67\x28\xeb\x7b\x48\xa0\xf1\x6f\xf6\xc8\xf9\x76\x6b\x73\xc1\xf7\xf1\xd3\x8f\xcf\x5e\x14\x24\x77\x83\x3a\x8d\x1f\xf2\x9d\x1d\x9f\xb9\x88\x4f\xee\x5e\xc7\x4e\x7e\xcc\x73\x47\xcc\x2a\x69\x70\xbe\x87\x7d\xb1\xfb\x09\x4f\xef\x31\x9b\x8a\x79\x7f\x87\xd4\x29\x7d\x20\x94\x65\xcc\x52\xb4\x9d\xef\x19\x75\x80\x0f\xf9\xcb\x27\x66\x0f\xb4\xf7\xf7\x92\x9e\x5d\x3f\x9d\x3a\x2f\xe6\x28\x3a\x27\xf7\x2f\x75\xee\x7e\x61\x0e\x52\x7c\xf1\xc0\x9a\xdc\x59\xea\x10\xbf\x9c\x3a\x37\xbe\xac\xce\x2d\xb9\xdf\x3a\x5a\xfa\x2f\x7e\xee\x63\xde\x43\xe7\x9e\x31\xa8\x33\xf9\xad\x3f\x6d\x31\x3f\xa7\x7c\xc2\x3c\xbb\xa9\xf1\x3b\xdc\x3d\x63\x9e\x41\x67\x8d\x09\x19\x7a\xf7\xfb\xef\x74\xc4\x42\x84\xce\x67\x06\x52\x67\xf7\xa9\x3f\xed\xb1\x30\x3f\x87\x33\x93\xb7\xce\xe2\x0f\x68\xad\x63\x51\xb1\xbe\x67\xa6\xa1\xe7\xd0\x9f\x85\x0c\xc7\x22\x07\xba\x9e\x59\x3b\xdf\xf2\xdf\x82\xec\xc5\x57\x98\x2e\x09\xc3\x91\x12\xfb\x5f\x7e\x4f\xe3\x9b\x1d\x8e\xe7\x93\xda\x56\x96\xbf\xfb\x53\x13\xdf\xa8\x5f\xf4\x27\x9b\x19\x5c\xff\x87\xbb\x34\xbe\x89\xe8\xa2\x9d\x02\xea\x4e\xfe\x19\x77\x20\xbe\x47\xe1\x3b\x39\xa5\xd4\x6d\x7c\xce\xea\xf2\xf8\x3e\x23\x2e\x39\xe5\xa4\x5c\xfc\x0b\xee\x60\x7c\x67\x82\x38\x39\x35\x64\x72\x7d\x5e\xe8\xca\x98\x89\xd0\xa5\x3f\x91\xee\xec\xfa\xd7\xa9\x7b\xc7\x0c\x93\xe4\xe7\xd3\x8f\x00\xe0\xdf\x71\x47\xe3\x53\x06\xae\xfd\x89\x6f\xf3\xd0\x67\xa6\x6e\x8e\x4f\x57\xb1\xec\x4f\x27\xea\x85\x81\x8c\xbb\x25\x91\xb2\xb0\x00\x92\xd5\x39\x56\xa0\x08\xe1\x35\x91\x2e\xf5\x0e\x24\x9f\x7a\x7b\xa0\x61\xf7\x96\xc8\x36\xe2\x81\x94\x74\x7e\x18\xe8\xe3\xef\x97\xc8\x14\x5d\x58\x29\x63\x86\x32\x78\x8c\x57\x94\xc8\x0c\x12\x58\xa9\x61\x06\x10\x98\x53\xba\x24\x8a\x17\xe5\xba\xd4\x53\xcf\x0d\x2c\x74\x84\x89\x92\x21\x5e\x97\x46\xea\x35\x81\x8d\xbb\x36\x51\xe6\xf4\xc7\x4a\x6f\xea\x91\xe0\x69\x35\x75\xa2\x70\x4f\x41\x97\xb8\xce\x92\x03\xef\x35\x9d\x13\x4d\x15\x2b\x22\x2b\xd4\x13\x82\xe0\x34\xf1\x89\x96\xa1\x2b\x2b\x3f\xa8\xef\x06\x91\xd9\x39\x89\x46\xc1\x8f\xc8\x3e\xf5\xad\x20\xb1\xba\x3d\xd1\x21\xba\x03\x19\x52\x3f\x0c\xe0\xf4\x6c\x13\xfd\x70\x7a\x22\x13\xea\xe3\x20\xf7\x27\x21\x79\x28\xde\xc6\xca\x47\x9f\x85\x41\x69\x3d\xbb\xe4\x01\x9f\x77\x5d\xe6\xa8\x5f\x06\x95\xb9\x80\xe4\xc1\x21\x46\x57\x24\xea\x4f\x41\x83\x71\x92\x98\x9c\xd3\x10\x25\x64\x86\x25\x20\xa6\x10\x24\x56\x9b\xdc\x81\x82\xa9\x4f\x02\x3a\x5e\xd4\xc4\x3e\x52\x44\x94\x85\xfa\x7b\xf0\x99\x88\x92\x3c\x3d\xc4\xb0\xca\xb9\x2b\xac\x60\x41\x4c\x99\x3c\x2b\x07\xea\x0a\x43\x13\x37\xd8\xc6\xaf\x9b\x38\x10\x07\xba\x6a\xd1\x44\x0f\x8e\xc9\x5b\x12\x87\x0b\x07\x5d\xf5\x5b\x51\x0f\xce\x18\x7f\x12\x17\xe2\x50\x57\x21\x33\xb0\x01\x67\x55\xd7\xc4\x9d\x71\x08\xd4\x8a\x26\x4d\xc0\x0b\xc4\x48\x3c\x18\xe6\x40\x1d\x68\x52\x06\x57\x4c\xac\xc4\xbb\x8a\x2f\x5d\x3d\xd3\x64\x09\xee\x98\xd8\x89\x4f\xc1\x4e\xd4\x6b\xcb\xe2\x50\xb2\x88\x9b\x04\x06\x8e\x89\xa6\xb4\x19\x1b\xca\x16\x71\x92\x80\x7a\x37\xa2\x45\x14\xe8\xa1\x6e\x91\x20\x09\x21\x8e\x59\x0d\x52\x37\x0c\x0d\x8b\x44\x49\x38\xfb\x03\xd1\x5e\x14\xb8\xa1\x89\x4b\x2d\x89\x66\xc8\xb2\xda\x41\x01\x08\x5d\x81\x24\x49\x3c\x63\xc0\x6a\x57\x0a\x70\xe8\x5b\x04\x25\x31\x83\x21\xd0\xa5\xd6\xb7\xc2\x00\x1d\xbf\x24\xf1\x1c\x48\x74\xad\x63\x97\x30\xc4\x76\x9e\x24\xd9\x73\x24\xfa\xa3\xf7\x70\x18\x99\x3f\x36\x49\x06\xf1\x45\x74\xbb\x43\x42\x18\x09\x24\x4f\x92\x03\xee\x44\x77\x7b\x0e\x84\xf1\x28\xe2\x04\x28\x18\x12\x3d\xa2\x60\x0f\x81\xe5\xde\x13\x30\xdb\x04\xe8\x05\x05\x6c\x88\xbe\xb3\x94\xc0\x28\x3e\xe9\x3a\xe9\x81\x1b\x66\x16\x79\x25\x90\x62\xa4\xeb\x33\xb1\xa7\x30\xe3\x7f\x5c\x02\x0f\x04\x89\xbe\x50\xa8\x87\xf9\xb8\xf6\x49\x6a\x80\x95\xe8\x6c\x9f\x87\x61\x39\x7e\xbf\x49\x5a\xc5\x40\xd7\xf9\xce\x72\xc3\x97\x45\xda\x04\x29\x18\xb1\x86\xd2\x33\x72\xd8\x20\xc2\x24\x28\xc3\x98\x18\x56\xf7\x5a\xc2\x76\x22\x24\x41\x87\xbb\xeb\x86\x4b\x61\x19\x76\x8c\xff\x49\xb0\x82\x33\xdd\x08\x09\x95\xc3\x7e\x22\x53\x82\x3d\x9c\x11\x03\x50\xb8\x84\x64\x3c\x0d\x09\xae\xbc\x83\x18\x98\x19\xf5\x70\x40\x33\x49\x32\x05\xe7\xc4\x68\x29\xdc\xc3\xc9\xca\xae\x49\x06\x71\x0e\x0c\x4a\x52\x12\xce\x16\xf9\x26\x19\xc5\x85\x6e\xcc\x34\xd5\xc3\x59\x70\x99\x24\x3b\x70\x09\x8c\x8d\xa6\x6e\xf8\xc1\xe4\x9c\xe4\x36\x2e\x88\xf1\xeb\x2a\x3d\x5c\x2c\xc2\x25\x39\x84\xa2\x6e\x70\x84\xb1\xc2\x45\x20\x97\x24\xbf\x88\x35\x31\x98\xde\xc6\xe1\x6e\x11\x3e\x29\xa0\x5f\x81\x87\x41\x53\x12\x1e\xd8\x2e\x92\x62\x4d\xbf\xe0\xe1\xf4\xbc\x1c\xfe\xf0\xa0\x26\x65\x86\x2b\xf2\xc8\xc5\xd9\x0d\x2f\xe6\x57\x4d\x4a\x0e\x57\xec\xa3\x26\x03\x1b\xf2\x88\x31\x93\x2a\x0b\x19\xf2\x18\x68\xca\x86\x22\xf6\xdb\xa4\x7a\x8b\x35\xfb\xf8\xd0\x54\x08\xaf\x98\x4a\xc9\x4b\xb1\x63\xf0\xd8\x29\xd2\xc3\x3b\x5a\x49\xf2\xca\xe2\x83\x3c\xf8\x16\x4f\x21\x83\xee\xdf\xe4\x35\x27\x03\xfb\xb8\x53\x64\x85\xa7\xc9\x93\x93\x5a\x09\x72\x62\xaa\x14\xb9\x91\x6c\xc1\x39\xa9\xb3\x80\xd3\xcd\x47\x3b\xcb\x91\x62\xce\x43\x52\xcf\xb8\xd1\xcd\x27\x45\x38\x52\xc7\x1d\x27\x8d\x81\x1b\x60\x26\xcc\x18\x46\x3a\x7e\xed\x49\x53\xf9\x2d\x30\x4b\xf2\x5c\x22\xcb\x4a\xed\xa4\x85\xb8\x61\xcd\x81\x08\x4d\x64\x63\x6a\x26\xed\x8c\x5b\x60\xae\xbd\x20\x44\x8e\x45\xed\xa4\xf3\x82\x89\x35\xb9\xee\xb5\x47\x2e\x7f\x24\x49\xd7\xe2\x96\x35\x85\x8e\x36\x91\x37\x72\x7e\xd2\xad\x91\xa0\x5b\x2a\x45\x6c\x14\x5a\x06\x49\xfa\xca\xbd\x02\xcb\xa6\x48\x88\x22\x81\xfa\x49\x7f\x84\x31\x6b\xb9\x14\xed\x51\x2c\xd0\x30\x21\x11\x04\xc0\x82\x1d\x0a\x23\x28\xd0\x20\x21\xa2\x43\x80\xd5\x75\xe5\x1e\x61\x2b\x72\x13\x0a\x31\xd1\xad\x89\x62\x2b\xca\x26\x98\x27\x94\xf1\x45\xdd\xda\x28\x5e\xa2\x02\xcd\x5a\x32\xd8\x98\x00\xeb\x47\xb1\x1b\x95\x96\xbe\x26\x03\xc4\x84\xb5\xee\x14\xe3\xe8\xc5\x4f\x5d\x32\x7a\x4e\xad\xdb\x0f\x8a\xf7\xa8\xb5\xaa\x77\x32\x52\x4c\x75\xdb\xa5\x98\x8d\x7a\x4c\xb3\x64\xb2\x31\x05\x76\x42\x6e\x6c\x44\x4f\xb3\x9e\x4c\x87\x73\x67\xed\x57\x5b\xe8\xd1\x68\xbd\x8e\x64\xf6\xc5\x86\xd8\xb4\x13\x40\x34\x63\xf7\x92\xcc\xb3\xdb\x00\xfb\x4d\x33\x39\x7a\x5b\xb4\x49\xe6\xcb\xb5\x64\xed\x2f\x61\xdc\xe8\x83\x1b\x3b\x79\x47\x78\x64\x6d\xb6\xf3\x9b\x68\xc5\xb4\x4d\xde\x87\x1d\x13\x9b\x61\xc6\x32\xda\x2c\xda\x27\x1f\x03\x96\xe0\xa9\xf6\xef\x29\xda\x71\xa9\x27\x9f\x0a\xb0\xec\xd3\xa2\x19\x88\x7e\x55\x17\x27\x8b\x1d\xbf\xc9\x13\xd0\x0c\x47\x2c\x3f\x8f\xc9\xd2\xc2\x0f\x78\x62\x66\x6c\x22\x8e\x67\x5e\xc9\xc2\xe1\x89\x7d\x56\xa4\x02\xd1\x45\xa0\xef\x64\x55\x82\x59\x7f\xb6\x34\x6b\x22\x9e\xff\x7a\xc9\x1a\xe1\x19\x3c\x69\x3b\x93\x48\xe0\x77\x37\xf9\xda\xf8\xad\x3f\x7f\x34\x63\xa3\x3b\xa6\x6b\xf2\x6d\xf1\x9b\x7d\x0a\xdd\x42\x22\x66\xfc\x09\xc9\x57\x84\x17\xfd\x79\x62\x46\x12\x4b\x56\x4e\x93\xcd\x88\xef\xc0\x51\x48\x75\x8f\x65\x4c\xb7\x64\xcb\xc5\x96\x38\x0f\x9a\xeb\xb1\x62\xd1\x5f\xb2\x71\x78\x01\x8e\x4f\xf3\x30\xd6\x2c\xca\x25\x3b\xb4\x56\xd6\x81\x84\x2e\xb1\xce\x5f\xc4\x64\xa7\x78\x61\x9d\xac\x4f\x9b\xf8\x81\x98\x3a\x39\x94\xe7\xc4\x3a\x0d\xcd\x9b\xd8\x3c\xcd\xcf\xe4\x88\x12\x0e\x38\x33\xcd\x49\xfc\x14\xa8\x98\xfc\x0c\xbc\xb2\xce\x8f\xe6\x7b\xec\x59\x40\x4d\x7e\xf4\x29\x10\x47\x6c\x3d\x37\xf6\x04\xef\x9e\xfc\x18\xfc\x05\xae\xd4\xb1\x7b\x1c\x60\x75\x48\xce\x1e\xfe\xb2\xae\x4e\x73\x21\x0e\x47\xa6\x49\xce\x95\x73\x61\x5d\x93\x16\x7a\x1c\xe1\xe8\x96\x9c\x67\xbc\x11\xd7\x25\xee\x14\x27\xd8\x38\x12\xd6\x0e\xaf\xba\x1b\xb7\x22\x8e\x81\xe5\x7f\x12\xb6\x8a\x12\xdd\x45\xc4\x14\x62\x38\xe1\x25\x61\x0f\xbc\xeb\x6e\xd5\x7b\x4d\x8c\xcc\x3d\x49\xb8\x0c\xef\xc0\x9d\x68\x81\xe3\x7c\x24\xcf\x84\x63\xcc\x1b\xeb\x6e\xed\xba\xc4\xc5\x6b\x76\x92\x8b\x1d\x4e\xc4\xfd\xb5\x17\x39\x2e\xad\x2a\x4c\x2e\x10\x1f\xc0\xbd\xb4\x39\x88\x2b\x6b\x30\x93\xcb\xfa\x9c\x75\xf7\x44\x8b\x29\xae\xa7\xfc\x9b\xf0\xb1\xd8\x01\x2f\xa6\xc5\x12\x93\xe9\x15\x24\x42\xeb\x30\xc4\xcb\xba\x67\x18\x0f\xc2\xe0\x24\xa2\x82\x7f\xc4\x23\xb4\x60\xe3\x69\x92\x99\x44\x6c\x2d\xa8\x7b\x53\x9b\xb2\xf1\x1b\x0f\x7e\x22\x8a\xf8\xac\x7b\x1b\x33\x0a\xf1\x67\x3c\xd8\xe4\xea\xe1\x33\xf0\xb8\x96\x17\xe2\x95\x17\xc2\xe4\x66\xe3\x33\xf1\x55\x32\x85\xf1\x61\x72\xbf\xe4\x46\x9f\x15\xf0\x6d\x72\xc6\xf1\x21\xe8\xdf\xe4\x76\x24\x5f\xe0\xbb\xdd\x77\x89\x7f\xe3\x9d\x26\xf7\xc8\x13\x88\x0f\xbb\xaf\x1b\xb3\x3c\x03\x93\x3b\x4d\xbe\xc4\xcf\x99\xf1\x1e\x5f\xf0\x00\x92\x3b\x63\x21\xe2\x37\x7d\x2a\xc7\xfc\xf8\xbb\x26\x8c\xe7\x6c\xac\xdf\xb7\x0c\x88\x05\x3c\xe0\x84\x69\xa3\x40\xf7\xa7\xfe\xb5\xc7\xe2\xb8\x4e\x09\xb3\xfa\x23\xf1\x3f\xb4\x9c\xe2\x2b\x1e\x50\xc2\x88\xd6\x46\xfc\x6f\x5f\x85\xf1\xcd\x14\xb9\xe4\x64\x78\x19\xf1\x8f\x36\x01\xf1\x8d\x9f\x83\xe4\x94\xb9\x0d\xf1\x2f\x1d\x25\x31\x63\x0d\x79\x72\x9a\xf1\x45\x0f\xe4\x96\x6b\x12\x89\x9f\x08\x90\x22\xb7\x61\x03\xb3\xe5\xca\x44\xc1\xcf\x12\x48\xb3\x15\xea\xc1\xb3\x17\xef\x89\x6a\x65\x37\x20\x71\x6e\xa0\x07\x1e\x11\x48\xa2\x0a\x2e\x05\xb2\xe2\x9c\xf4\x20\xec\x34\x21\x31\x84\x81\x00\x99\x7b\xf2\x20\x78\x11\x4a\x12\xd3\x8a\x73\xa0\x64\x58\xd0\x83\xa9\x5d\xf6\xc4\x16\x86\x17\x50\x0e\xcc\xeb\xc1\x42\x2b\x2b\x79\x4e\x43\x07\xd4\xec\x59\x91\x80\xef\x4d\x3d\xf1\x30\x7c\x03\x75\xc5\x3c\x08\x6e\xb4\x64\x13\x1f\xfd\x1a\xa0\x8a\xf8\x42\x42\x89\x6a\x6e\x12\x4c\xe9\x06\xb4\x2c\x12\x48\x68\x76\x9e\x9c\x44\x88\x0b\x80\x36\x63\x81\x84\x5e\x7f\x5f\x92\x04\x0f\x33\xd0\x19\xef\xa4\x87\x63\xf7\x0d\x93\x6c\x1a\x16\xf0\x50\xb0\xc8\x86\x3b\x99\xf5\xa4\x10\x86\x11\x3c\x20\xbe\x81\x90\xa3\xd5\x9e\x94\xc2\xf0\x05\x8f\xd5\xd9\xf5\xf0\x46\xde\x6c\xf2\xc2\xc3\x06\x4c\x05\xdf\x48\xa4\xd1\x57\x98\x34\xdf\x39\x02\xe6\xec\x5e\x49\xf4\xa4\x86\x9e\x74\xd6\x30\x01\x53\xc4\x02\x1b\xf9\xf4\xe5\x26\xbd\x35\xac\xc0\x7a\x8a\x3d\x88\x0a\xfa\xc2\xc9\x38\x4d\x0a\xb0\x23\xcc\xe8\x11\xa1\xaf\x3d\x99\xfd\x39\x06\x36\xcd\x02\x3d\x7a\xd3\x17\x49\xde\xd6\x54\x02\x9b\x71\x05\x36\x3a\x5a\x22\x27\x1f\x61\xb8\x80\x67\x9b\x85\x7a\x74\x6b\xfd\x30\xf9\xe2\x49\x05\x4f\xd1\x1c\xd9\x58\x22\x90\x24\x1b\x9e\x64\xe0\xd8\x98\x21\xb1\x46\x5f\x20\xd9\x85\xe1\x0a\x9c\xd6\xdd\x49\x6c\xd1\x1e\x24\x9c\xd9\xb1\xc0\x33\xb2\x98\xc4\x2d\xed\x71\x22\xe0\xe9\x01\xbc\xcc\x1f\xd9\x78\x24\x23\x49\x44\x3c\x39\xc0\xe3\xb2\x88\x8d\xd7\xfe\x2c\x24\xb7\x69\x72\x81\x3f\x67\x11\x89\xef\xcc\x14\x26\x27\x9e\xc4\x20\x88\xdc\x45\x4f\x8c\x5e\xbb\x03\x59\x98\x4c\x10\x30\x71\x4d\x92\x80\xf6\x04\xe8\x66\x5b\x83\x30\xcb\x12\x36\x59\xc9\xd9\x02\x4f\x9e\x21\x20\x36\x32\x08\x92\x1f\x25\x0d\xf0\xac\xc9\x07\x31\x0d\x37\x90\x30\x94\xc8\x20\xb0\x1e\x0b\x48\xa2\x0c\x00\xa0\x77\x62\x08\xc2\x69\x8a\x40\x72\x40\x9e\x00\xbf\xd3\x17\x90\x08\x13\x04\x20\xcb\x00\x0b\x52\x4a\x42\x90\x5a\x53\x06\x00\x97\x25\x00\x74\x94\xca\xa0\x12\x26\x02\xd2\x23\x43\x00\x30\x94\xec\xa0\xb6\x26\x0a\x90\x17\x26\x3a\xd4\x98\x09\x80\x66\x9a\x46\x80\x2a\x37\x00\xd0\xa2\x44\x00\xed\x64\x97\x00\xad\x19\x22\x10\x51\xb2\x00\x8a\xe6\x37\xc0\xb3\x7d\xd5\x61\xd1\x8e\x00\x0c\x78\xea\x00\x16\xb3\x94\x85\xaf\xce\xc2\x60\x12\xa6\x09\x64\x6d\x86\x59\x38\xf5\xa9\x05\xe6\x71\x99\x40\xb6\x3e\x67\x02\x3f\x94\x86\xe0\x3d\x7e\x0f\x90\x2b\x16\x62\x21\x47\x29\x0b\x76\x6b\x7a\x83\x02\x66\x13\x48\x1f\x74\x90\x01\x6b\x4d\x33\x28\xe7\x2c\x27\x69\x41\xe9\x0e\x2e\xbc\xf0\x06\x95\x97\xe5\x6c\xda\xd3\xc1\x02\x77\x61\xba\x80\x17\xcd\x4a\x90\xde\xe9\x10\x82\xd3\x64\x85\xa0\xce\xac\x8d\x45\x16\x1d\x74\xa8\x5b\xd3\x0f\x34\x99\x3f\x11\x94\xb6\xc0\x82\x86\x35\x71\xa0\x59\xad\x8b\x8e\x26\x3a\x5a\xf0\xc9\x9f\x44\xd0\x19\xd9\x0b\xa0\x83\x0e\x0b\x74\xad\xe9\x06\xba\x2c\x7b\x11\xc4\xb7\x60\x87\xc1\xa4\x23\xd0\x1f\x59\xa5\x63\x8f\x0e\x04\x26\xe6\x9c\x01\xb2\x66\x35\xc0\x7d\xbb\xb2\x30\xb3\x66\x0d\xd0\x39\xab\x75\xfc\xa6\xa3\x0b\x73\x0b\x7e\xc0\x10\xc5\x67\x16\xf3\xe4\x89\x61\x35\xcd\x06\x18\x95\xac\x01\x99\xd1\xd2\x10\x36\xc2\xfc\x00\xe3\x9c\xb5\x24\xf3\xe9\x48\x20\xb1\x66\x13\xcc\x4a\x02\xf5\xac\xa5\xe3\x02\x27\x3c\x3b\x60\x16\xb3\x8e\x64\x67\x3a\xb2\x70\x99\xe6\x00\xbc\x8f\xac\x67\x73\x89\x4e\x3a\xdc\xf0\xec\x83\x8f\x9d\xf5\x24\x57\xe9\x14\xc2\xc3\x9a\x01\xf8\x88\x19\x21\x79\x48\xa7\x12\x9e\x85\x19\x81\xa5\xc2\x58\xcf\x51\xf7\x9d\x20\x37\x0a\x1f\xb0\xac\xd6\x0d\xe4\x55\xeb\x63\xc8\x5b\x56\x07\x56\x2f\xa3\x20\x5f\xbb\xcc\x82\x37\xb3\x73\xc1\xd7\x0e\x5e\x20\xff\xd1\x69\x82\x0c\xfa\xe9\xe0\x3b\xbb\x3d\xc8\xef\x74\xda\xe1\x49\x98\x73\xb0\x29\xe0\x42\x0a\x95\x4e\x6c\x2a\x5b\xf3\x0b\x6c\x6d\x36\x90\xc2\xa2\xb3\x9c\x2a\xc2\xdc\x80\x8d\x73\x08\x5b\xf8\x2d\x92\x53\x6d\x9a\x5b\xb0\x7b\xd9\xa4\x17\x90\xce\x6e\x6a\x58\x33\x05\xfb\x11\x57\xa0\x78\xd1\xb9\x4c\xad\xb1\xfd\x81\xa3\x72\x2f\xa0\x18\x3b\x7d\x4f\x9f\xd8\x5a\xc1\x4f\xc9\x66\xbd\xb8\xd0\x99\xa4\x9e\x35\xbf\xc1\x6f\xcd\xde\x7a\x29\x75\x95\x95\x06\xe3\xd7\x07\xe7\x0a\x02\x52\xda\x74\x9e\xd2\x78\x9a\x17\x70\x66\xdc\x2f\x5b\x06\x5d\x62\xa5\xc9\x6b\x86\x80\xa5\xd9\x07\x94\x4d\x97\xb9\x29\xf6\xe7\x14\x70\x30\x4a\x48\x49\xe9\x2c\xa4\x19\x7e\x22\xc0\xcd\xd9\x87\x94\xa7\xde\xb4\xd2\x7a\x9a\x37\xc0\xb7\xd9\x87\xad\xac\x4e\x17\xd2\x56\x98\xcf\x40\xf0\xb2\x05\x54\x75\x97\xb8\xe9\x38\x4e\x2f\x20\x7a\xd9\xc2\x56\x3d\x7d\x37\xe9\xfc\x9d\x11\x10\x8f\x6c\x05\xd5\x46\xdf\x38\xfd\x08\xf3\x17\xdc\x94\x6c\x25\x2f\x95\xbe\x97\x74\xff\xce\x19\xb8\xbd\x44\x0a\x5e\x26\x19\xc3\xf4\xe0\x4f\x13\xb8\x89\xd9\x17\xbc\x22\xfa\x16\xd2\xb3\x30\xdf\xc0\x3d\xca\x36\xfd\x05\x89\x5e\xa6\x17\xb3\xa3\xe0\xce\x80\x12\xbc\x6a\xfa\xd1\x53\x9e\x3f\x5d\xc1\x29\xf2\x16\xf6\x75\x21\x8f\x3d\x65\xd0\x7b\x05\xa7\xd9\x15\xc1\xeb\x46\x86\x06\x49\x96\xb7\x41\xc9\x76\xa8\x5e\xeb\x7d\xc1\x22\x79\x9a\x4f\x50\x9a\xb3\x8d\xd4\xcf\xbe\xb0\x90\x8e\xdf\x2a\x94\x69\xb6\xeb\x75\x49\x3f\x18\x99\xf8\x39\x40\x25\xb2\xdf\x7a\x3d\x8b\xd3\x1d\x3d\x79\x2a\x43\x55\x01\x37\x50\xef\x1d\x33\x21\xd7\x72\x07\xa8\x42\x57\xd0\x6b\x91\x7e\x76\xe4\x63\x78\x85\x9a\x92\x72\x6c\x23\xb7\x2f\x0b\x45\xd3\xdb\x84\xda\x1a\x42\xd0\x84\xf4\xb3\xa0\x64\xf2\x54\xa8\x47\x71\xa6\x37\x69\xcf\x87\x08\x5a\xd1\x05\xea\x34\x3a\xd8\x26\xeb\x8a\x12\xa5\xd3\xfb\x01\x0d\xdb\x22\xa4\x99\x7a\x16\xa0\x4c\x78\x5b\xf0\xa1\x64\x3b\x68\x8e\xde\xb8\xa3\x12\xbf\x5d\xf8\xa0\x7e\x0e\x1a\xa6\x15\x17\x54\x0b\x6f\x0f\x9a\x10\x08\xa4\x8d\x7b\xcc\x22\x22\x3c\x35\x68\xfd\xc4\x01\xb4\x15\x5d\x64\x34\x08\x78\x85\x76\x9b\x9d\x41\xfb\xa6\x0b\x46\xef\xef\x5c\xc1\xa7\x0d\xde\xa0\xfd\xd1\x05\xa0\xd5\x7a\xfb\xf0\x49\xb3\x33\x69\x45\xba\x84\x68\xe5\xb9\x1e\x3e\x45\xb0\xb3\x9d\x4c\x97\x12\xed\xd8\xea\xa1\x53\x59\x37\xb6\xb3\x3b\x66\x41\x3f\xeb\x8d\xa1\x6b\x64\x9c\xde\xc5\x1d\x6a\x10\x8b\xdf\x19\x74\xab\xec\xa2\x77\x88\x2e\x0b\xe2\xf0\xbb\x82\xee\x91\x9d\xd9\xae\xa2\xab\x8c\x2e\xc2\xfb\x05\xbd\x28\xbb\x80\x8e\x74\x94\x45\xa2\x20\x6f\xd0\x3b\xc2\x82\xed\x56\xba\xea\xe8\x2a\x28\x22\xf4\x15\x53\x64\xbb\x9d\x98\x21\xba\x4d\x4f\x0c\xfd\x2a\xe3\xd9\x4e\xa0\xab\x85\x98\xe9\xdd\x43\x7f\xcd\x04\xd0\xdd\xe8\x8a\xd1\x09\xbf\x07\x18\xd8\xe0\xc7\xf6\x16\x5d\x1b\xac\x7c\xe7\x17\x0c\x56\x6b\xd7\x7b\x9f\xae\x04\x6b\x56\x99\xc3\x10\xda\x31\xdb\x43\x5a\x94\xd8\x30\xef\x03\x0c\x69\xf8\x05\x7d\x46\xd7\x09\x1b\x42\x3e\xc1\xf0\x80\x1f\xd2\xb7\x74\xdd\xb1\x85\x1f\x04\x46\x55\x0c\x48\x3f\xf5\xb9\x80\xed\xe9\x6f\xb7\xaf\xd9\x15\xf4\x1f\xba\x0a\xf8\x89\x68\x0e\x23\xd1\x5b\xf5\x7e\xa7\xeb\x1d\x3b\x63\xe7\xc1\xb8\xca\x6e\x7a\xcf\xd3\xaf\x8e\xfd\x91\x2a\x30\x89\xec\x2b\x4b\x1e\xfd\x5d\xc0\x91\x95\x1e\x30\xa1\xd9\x1d\x10\xaf\x4f\x43\x1c\x0b\xef\x33\x04\x8a\x93\xb2\x24\x64\x66\xf9\xef\x80\x13\x21\x88\xb2\x1b\x4b\x40\xcf\x03\x0c\x84\xf7\x05\x82\x36\xbb\x13\x92\x31\xb3\x8e\xe1\x69\x6e\x21\xe0\x32\x06\x90\x9a\x7e\x1b\x8c\xbe\x73\x07\xa1\x67\x0d\x3a\x21\xf4\x3b\x61\xcc\x33\x03\x84\x6d\x76\xd2\xc9\xd4\xf7\x21\xce\xa6\xf7\x15\xc2\x03\x7c\x00\x59\x3b\xa1\xc4\x85\xe0\x8a\x30\x8d\xf2\x40\x27\x7c\x97\x84\xf8\x85\x17\x19\x22\x23\x09\x74\xaa\x10\x77\xc7\xb5\x90\xfb\x10\x45\x49\xa8\x53\x9b\x9e\x27\xdc\xa1\x25\x85\xd8\x4b\xb1\x4e\x21\x99\x59\x4c\xf1\x3a\x43\xbc\xe6\x01\xa1\x25\x3d\x03\x3c\x9e\xe6\x1e\x66\x51\xb8\xb1\x94\x10\x52\xe2\xd9\x72\x27\x98\x1d\x79\x48\xe8\x41\x46\x80\xd7\xd7\x4c\x60\x3e\xbb\x87\x4e\xaf\x9d\xd8\xe0\xef\xb4\x3c\x60\x91\x79\x39\x3b\x58\x1d\x15\xf0\xc1\xb7\x17\x58\x2a\xce\x4e\x86\xb0\xb7\x09\x3e\xf3\x9d\x0f\xcb\x28\x8f\xd8\x01\xd3\xf3\x8e\xb9\x69\xb1\x60\x79\x58\x80\x1d\x48\x3b\xb3\x58\x98\x16\x13\x56\x2d\xdc\xd8\x61\x26\x40\xc6\x22\xdf\x52\xf8\xca\xcc\x3b\x3b\x5c\xbb\x41\xc6\x27\xbe\x0b\x60\x6d\x98\x23\x18\x55\xca\xea\x99\x82\x17\x1f\x36\x06\x5c\xc9\x88\x28\x6b\x65\xc6\xb4\x04\xb0\x39\xf2\x98\x8c\xaf\x5e\x97\x33\xd3\x5a\x5c\xf8\x47\x54\x1f\xa7\xce\xb3\xb2\xa7\xb0\x40\xd8\xc1\x1c\xb0\x23\xd7\x89\x24\xf3\xad\x25\x86\xbd\x82\x22\x76\x92\x89\xb1\x64\xe1\xb4\x00\xd8\x53\x77\x02\x53\x46\xd9\x26\x43\x13\xb8\x40\x9a\xe5\x10\x4c\x33\x65\xc3\x2c\xb7\x32\x01\x0e\x4c\xf2\x02\x73\x44\xd9\x29\xa3\x13\x08\xe1\xb4\xe6\x90\x9d\x6f\x94\xbd\x67\x5f\xbc\x14\xf0\x2d\x5a\x3b\x78\xcb\x94\x15\xb2\x6d\x14\x05\xf8\xa1\x79\x0a\xde\xcf\xce\x22\xd9\xcf\x5a\xde\x70\x51\x72\xac\xbf\x21\xe5\xf4\x8c\x15\x6c\x0d\xae\x46\x8e\xf4\x77\x47\x39\x2b\x13\xa6\xa5\x83\x2b\xcd\x31\x78\x8b\x94\xc3\x19\xc3\xbf\x37\xb8\xd1\x3c\xd3\x3f\x4f\xca\x95\xb9\x6a\x2d\x13\xdc\x33\xff\xaa\x7f\x5a\xca\xed\xb9\x3d\x3d\x33\x78\x1c\x16\xd6\x3f\x1b\xe5\xa6\xdc\x99\x96\x05\xfe\xb2\x3c\x27\x1f\x86\x5e\xf4\x3c\xb0\x96\x2f\x3c\x7b\x79\xa1\x2f\x7a\x37\xe8\x79\x62\x2d\x07\x64\x0d\x37\x04\x4b\x42\x2f\x6e\x0e\x5e\x33\x85\x6c\xe6\x51\xb2\xa4\x7d\x8e\x73\x68\x2d\x67\xc8\xce\x79\x09\x96\xbc\x1b\x48\x9e\x9a\xac\x01\x59\x0e\x9e\xf5\xe5\xd5\x9e\xcb\x1c\xf1\xbf\x07\xe4\xa2\xbc\x24\x0b\x69\x87\x32\xc7\xd3\x72\x81\x1c\x0d\x17\x76\x79\xd3\x4b\x93\x17\xd6\xda\xc0\x8b\x91\x57\x60\xf9\xd1\xcb\x94\x97\x78\xb9\xc2\x4b\x9b\xbf\xc0\x22\xd2\x8b\x90\xd7\xd6\x2a\x41\xde\x0b\xaf\x64\xd5\xdb\x04\xe7\x0d\x7f\x1d\x20\xdf\x9a\x9b\xbe\x5a\x7d\x8a\xf3\x96\x9f\x57\xc8\x1f\xde\x87\x5d\xdd\x2e\x29\xf3\x4e\xf0\x0c\x28\x40\x3f\xd0\xd7\xb4\x9d\xef\x39\xb5\x6c\x13\x0a\x34\x12\xf5\x35\x6b\x9f\x38\xa7\xfc\x82\xa0\x70\x80\x1b\xbb\x96\xdd\x47\xce\x07\x7e\xd9\xa1\x68\x07\x22\x58\xbb\xee\x3d\xe5\x93\x55\x3e\xa0\x08\xf3\x1a\xac\xb4\xbd\x2c\xf9\x7b\xbc\x58\xf0\xaa\xd8\x09\x58\x7f\x2d\x72\xf3\xc5\x64\x66\x78\x85\xd6\x4e\x56\x8e\xf2\x56\xbe\x5a\x25\x81\x57\xea\x67\xfa\x7a\x62\xe6\x32\xdf\xcc\x6b\x0b\x6f\x76\x5e\xb3\x5f\xb5\xfd\xea\xf9\x6e\xf9\x01\xbc\x41\x38\xb1\x5f\x83\xf2\x61\xbe\x0b\xab\x0e\x6f\x14\x54\xfa\xd7\xa1\x7c\x99\x9f\xcd\x99\xc2\xbb\xfd\xbc\x83\x6f\x4c\x79\x9c\xb3\xfe\x3c\xc1\x7b\x6b\x7f\xf4\x6f\xde\xeb\x7a\x7e\xc1\xeb\x13\xde\x45\x2f\xd0\xbf\xaf\xb6\x28\x73\x1e\xaf\x36\x64\xec\xbc\xd5\xbf\x3d\xe5\xf7\x5c\xc0\xab\x05\x99\x2c\x89\xc8\x77\x18\x3e\x4b\x2e\x5a\x72\x04\x19\x9a\x77\xe0\xfb\x66\xe6\x29\xbf\x5a\x15\x03\x19\x31\xef\xc8\x77\xa3\x82\x9c\xdf\x04\xbb\x82\x27\x98\x77\xec\x97\xeb\x6d\x3d\x67\x4c\x31\x87\xa7\x39\xfc\x91\x2f\xd3\x7d\x41\x7e\x12\x20\x48\x25\x23\x10\xc9\xa6\x74\x9f\xa5\x90\xad\x35\x4c\x25\xe8\xcf\xec\x66\x50\xc1\x2a\x64\x61\x8d\x53\xa9\x35\xcf\x60\xb3\xfa\xbc\x29\x94\x49\xde\x53\x69\xcd\x89\xbe\xb9\xfd\x55\x2f\xd4\x91\xf9\xa4\x12\xe3\xbf\xc1\x16\x52\x01\x14\x9a\xa0\xbe\x53\x39\xf3\xdf\x64\xcb\x98\x79\x29\x1e\xd3\x0a\x53\x45\xc9\x09\xbb\xb5\x64\x11\x0a\xcb\x5a\x51\xaa\xb4\xcf\x5d\xdf\x96\xee\xac\x17\x0e\x5e\x71\xaa\xb6\x39\x25\x9b\xd0\x2d\x53\xe1\x4d\xf2\x33\x55\xd7\xf8\x46\xb6\x5b\xff\x70\x0b\x1f\xc7\x5c\xaa\x8a\x49\x00\xb6\x53\x7b\x2b\x8b\xc0\x5a\xf3\x54\x33\x9e\x1d\xbb\xeb\x54\xd8\x8b\x70\xfc\xde\x52\xad\x8d\x7f\x60\xb7\xdb\x4c\x28\x22\x5e\x38\x52\x8d\xcb\x07\xb0\x7b\x54\x94\x8b\x58\x58\x5f\xa9\xae\x3c\x19\x76\x0f\xa9\x20\x14\x89\xe0\xa6\xa9\x0e\xc3\x37\xd9\xab\x9e\x9b\x0a\x64\x5e\x8d\xd4\x30\xc2\x92\xdd\x7b\x22\x4c\x05\xc6\x6b\x9b\x1a\x47\x3e\xb2\xfb\xda\xdf\xc3\x22\xe7\x85\x28\x7d\x18\xf9\x04\x76\x8e\x8a\xb8\xa8\xf0\x3a\xa4\xe6\x61\xdf\xc8\x11\x50\xb1\x29\x7a\xbc\x4e\xa9\x15\x59\x33\x39\x1a\x66\xde\x8b\x69\xd2\xb3\xd4\x6e\x6d\x9e\x1c\x13\x15\x97\x62\x16\x32\x9a\xda\x47\x78\xd6\x8f\xbd\x1d\x9a\xe2\x23\xac\x4b\xfa\xcc\xf2\x37\x7b\x5c\xda\x85\x2d\x56\x7f\x5e\xd2\xe7\x9c\xbf\xf5\xe3\x4a\x45\xa1\xf8\x5a\xeb\x9e\x3e\xc5\xfc\xa3\xff\x74\x7a\xb5\x8a\x5d\x58\x7f\xa9\x4b\xe3\x95\xfd\xd5\xad\xb8\x17\x3c\x1a\xba\xd4\x6b\xf3\x45\xff\x4d\xf4\x4a\x0a\x71\x5a\x2f\xa9\xc7\x81\x3b\xf8\x7d\xc9\x2b\x2c\x6e\xfe\xbc\xa6\x3e\x8c\x1b\xf6\xc7\xd1\x2b\x2e\x98\xf1\xfe\x4b\xfd\x35\x5f\xc0\xef\xde\x5b\x56\x29\x0b\xab\x98\x06\xab\x2b\xea\x67\x8f\xde\xe4\x52\xc3\x5f\x39\x0d\xa3\x7c\x65\xcf\xa0\x25\x56\xa9\x4f\xeb\x2d\x0d\xab\x7c\x07\x67\x44\x6f\x61\x69\xe0\xaf\x9a\x86\x73\xfe\x65\xcf\x39\xbd\x0a\xe5\x43\xf8\x2a\x69\xf4\x14\xdf\xec\x79\x20\x2f\x5c\xda\xaf\xf9\x48\x13\x3b\x3f\x00\xfb\xa4\x37\x5c\xc6\xd6\xd7\x4c\x13\x31\xed\x09\x1b\xd0\x5b\x59\x26\xdf\x79\x4b\x81\x97\x7f\x01\x5b\xf4\x96\x5b\x66\xf8\x6b\xa7\xf0\x27\x7e\x58\x76\xe9\x72\x50\xe6\xc2\xf7\x99\xa6\x5e\xfe\xd3\x59\x8e\xde\xee\x65\x3d\x7d\xbd\x14\x45\xf9\x0f\x70\x8f\x9e\x6f\xca\x56\x58\xf9\x14\x1d\x39\x0b\xb8\x80\xde\xf5\x72\xc0\xdf\x20\xcd\xec\xfc\x4c\xb8\x0f\xbd\xbb\xe5\x7b\xfa\xc2\x34\x7f\x89\x8b\xce\xf1\xcc\x1b\x94\x2b\x7e\xf5\x69\x3e\xe7\x2c\xcb\xdd\xe8\x3d\x2c\xbf\xf8\x8b\xd2\x82\xda\x17\x72\x71\xe8\x9d\x94\xbf\xd7\xcc\xa5\xa5\x92\x73\xec\x25\xa2\xf7\xa9\x3c\x0b\xdf\x22\x2d\xb3\xfc\x02\x2e\x79\xef\xed\xe5\x05\xdd\x95\xb4\x14\xfd\x46\xbf\x34\x3d\x72\x4b\x9e\x67\xcd\xb4\x82\xee\x42\x2e\xb4\x4b\x48\x29\xf0\x6b\x90\x56\x6d\x7e\x21\x97\x77\x97\x97\xe5\x75\xfc\x99\xe9\xcb\xc8\x2f\xec\xe5\x20\x73\x58\xde\x84\xb0\x4d\x5f\x51\xce\xeb\x17\xb6\x4b\xa6\xf2\xce\xcf\x73\xfa\x5a\xa3\x90\x5c\xee\xed\x5d\x2e\x4f\xa3\xf0\x4b\x6b\x1b\x54\x84\x57\xc9\xf3\x5e\xc9\xd3\xb7\x49\xeb\xd5\xbe\xb1\xbc\x43\x99\xb0\xd2\xb0\xfd\x4a\x9b\x2c\xe7\x59\x1e\x53\xc6\xaa\x8c\xe9\x4b\xd2\x66\x8d\x44\xc0\x97\xbd\xe9\x56\x16\x12\xce\x69\xbb\x06\x87\xce\x2f\x7d\xa9\x57\x4f\x7e\x91\xd3\x4e\x89\x46\x9d\xff\x51\x06\x57\xee\xf4\x1d\xd2\xae\xf2\xaf\x80\xe7\x09\x69\x2a\x1f\x7f\xe7\xb4\x57\x72\x11\x08\x2a\x65\x9a\x2a\xb4\x60\x99\xf6\x30\xbf\x01\xe1\x41\x06\x52\xc5\xd6\xf7\x9d\xf6\x62\x7e\x05\x42\x42\xc6\xa5\x02\xf8\xfb\x49\x49\x95\x5f\x89\xf0\x22\x36\xae\x10\xfe\x7e\x53\x6a\x83\xaf\x2e\x74\xf4\x24\x57\xd8\x9c\xf7\x74\xb0\xc1\x17\x08\x3f\xa2\x09\x55\x69\x7d\x8f\x74\x80\xf9\x8d\x15\xb8\x2e\x59\xaa\xca\x9c\x8f\x74\xa0\xf9\x5d\x17\xc4\xee\x89\xab\x4a\x28\xbb\x74\x38\xd2\x48\x17\xee\xed\x37\xac\x5e\xd3\x97\x4b\x07\x26\x1a\x81\x28\x77\xc9\x5e\xd5\x3c\xf3\x4d\xc7\x28\xb9\x00\xf1\xd1\x5d\xe5\xaa\x1d\x19\x94\x8e\x4c\x24\x12\x11\x90\x57\x59\x91\xc9\x45\xe9\x54\xb9\x31\x10\x33\x92\x2e\xd5\x60\x7d\x2f\xe9\xac\xc4\x95\x2e\xd2\xae\x90\xab\x89\xff\x59\xe9\xbc\x46\x22\x2b\x2e\xad\xa3\x57\x0b\x62\xbc\xf4\x9d\xb9\x31\x11\x2f\x84\xc3\xd5\x6a\x7d\xf9\xf4\x63\xe4\x0c\xb8\x2a\xe4\x21\x57\x9b\xf0\x15\xd3\x4f\x9b\xde\xc1\xd5\xa2\xda\x5e\x1d\xd3\xf7\x96\x7e\x98\x9c\x61\xaf\x41\x4b\x71\x75\x16\x76\x29\x5d\xb2\x22\x60\xaf\xd9\xa0\x85\x15\x27\xec\x4a\xba\x70\x20\x65\xaf\xaf\xee\xaa\x57\xbc\xb5\x1b\xe9\x6a\x14\x21\xb8\xb6\x83\xa6\x57\xbc\xb0\x3f\xd2\xb5\x2d\x22\xfd\x3a\x0d\x1a\xa9\xae\xd6\xee\xa4\x5f\xa5\x88\xc8\x75\x1f\xb4\xa5\xba\x09\xbb\x9b\x7e\x23\xab\xd1\xaf\x5c\xbf\xee\xd5\x5d\xd8\xbd\xf4\xdb\x3a\x94\x5c\xc5\xf6\x15\x56\x8c\x10\x82\xf4\x7b\x14\x31\x7b\x65\xfa\x13\xa9\x4e\x42\x8a\xd3\xcd\x28\x12\xfd\xa6\x52\x8d\x7d\xc9\xd6\x1e\xa6\x1b\x05\x5f\x72\xb3\x07\x3d\x7c\x29\x42\xfb\x4a\xb7\x03\xbd\xd9\x9b\xdb\xcd\xc2\x4b\x15\xfc\x5f\xba\x2b\x05\x00\xb7\xb0\xbd\xec\x2f\x4d\xb0\xdb\x74\x8f\x4c\x46\xbf\x81\x41\xc7\x2f\x7d\x82\x7d\xba\x57\x6e\xcc\xde\x50\x4f\xef\x2f\x43\x78\x2e\xe9\x7e\x12\x17\xf6\xd6\x90\x95\x7d\x59\xe8\xb8\xa4\x47\xe6\x1c\xe4\x36\x0c\x7a\xf9\xb2\xf1\x8e\xd2\x83\x2b\x52\x72\xfb\x76\xab\xfb\x72\x5e\x33\x9f\xfe\xa2\x68\x64\x6f\x6c\x2b\xb2\x2f\x57\xd8\x71\xfa\x6b\x41\x44\x6e\xb7\x9e\x82\x97\x3f\xed\x59\x7a\x7e\x88\x98\xbd\xeb\x83\xbe\xbc\x22\x73\x5d\xd3\xf3\x5c\xa4\xfa\xdd\x19\x74\xf6\x15\x4f\xfb\x2b\x65\x8d\x98\x90\x7b\x3c\x18\xf2\x0b\x4c\x7b\x93\xb2\x55\x81\xc8\x1d\x0f\xba\xfb\x4a\xad\x3d\x4a\x59\xae\x40\xec\xbd\xe9\x0c\xf9\x85\x26\x60\xa4\x5c\x2e\xae\xe0\x3e\x74\xc5\xf4\xca\x30\x80\x29\x37\x47\x93\x7e\x7f\x13\x38\xbd\x72\x6b\xef\x53\x8e\xf3\x3f\xe4\xbe\xb5\x10\xbc\x0a\xbc\x93\xf4\xe2\x15\x98\xdc\x2f\xe4\x2b\xbf\x2a\x1c\x57\xe9\xe5\x28\x32\x70\x3f\xb5\x98\x7d\xd5\x96\x32\xa7\xbc\x51\x64\x3a\xa3\x0c\x46\xf9\xaa\xf9\xbd\x49\xf9\x28\x3c\x13\x46\x1f\x0c\xf6\xd5\x08\xfb\x3b\xe5\xdb\x22\x23\x8c\x4d\x44\xf0\x6a\xf9\x5f\x97\xf2\x87\x4f\x01\x13\x0c\xc6\xfe\xea\xb1\xfb\x4e\x05\xdb\x4f\x01\x13\xf7\x57\xe1\x45\x84\x7d\x4b\x85\xb6\xc8\x59\x06\x0f\x86\xf0\x1a\xa6\x7d\x4f\x45\xc5\x11\x74\xa6\x19\x1e\xd6\x6b\xb6\x60\x91\x8a\xd4\xaf\x08\x33\x0f\x0f\xf7\xf5\xc6\xf1\x25\x15\xc5\xf8\xcb\x32\xbf\x7e\x06\xaf\xc5\x9f\xc5\xf4\x5a\xc5\x31\xcb\x08\xc3\x23\x7c\x7d\xcd\xc5\x4e\xaf\x5c\x90\xb0\x27\x95\x24\xcb\x6b\x47\x6f\x36\xbd\x1d\x49\x08\x4e\xee\xf0\x00\x2f\x76\x14\xd8\xf4\x5e\x41\x08\x4e\x88\x90\xe9\xc5\x21\x5a\xa5\xf7\xa3\xa8\xc8\xa9\x64\xde\xcb\xeb\x32\xd9\x56\xca\x28\x45\xc9\x9e\xfa\xf6\x05\x5e\xa2\x70\xbc\xd3\x93\x52\x54\xe0\xb4\x13\xed\xfe\xba\xe3\x9d\x4f\x4f\x6d\x51\x92\xd3\xb5\xc3\xd3\xeb\x84\xf7\x5b\x7a\x62\x8a\x9a\x93\xbc\xc1\x24\xb5\x2a\x1c\x32\x92\x95\xb8\xe2\xa4\x68\x30\x71\xad\x63\x70\x43\x72\x56\xd4\x86\x84\x07\x13\xd4\x86\xf0\x22\x48\x3e\xbc\x92\x4a\x65\x5f\xba\xb5\x69\xed\x77\xa4\x18\xcf\x17\x94\xc8\x60\x36\xb5\x35\x29\x6f\xa4\x54\x56\x03\xa5\x71\x30\xad\xda\x46\x03\x87\x94\xb9\x68\x38\xe9\xdd\x8a\xf7\xfa\x29\x1c\x1a\x52\x8d\xa2\xa5\x92\x38\x98\x7b\x1d\xe0\x03\x22\xcd\x2e\x88\x21\xab\x83\xa5\xd7\xe1\x74\x04\x48\x9b\xd3\x3b\x95\x9f\x83\x65\xd5\x31\x5a\x37\xa4\x2b\x6e\x62\xc8\x51\x27\x4c\x35\xc0\x07\x46\x3a\x2d\x5a\x4e\xce\x98\xf7\x5e\xa7\xf8\xf0\x91\xce\x14\x2f\x2a\xd7\xed\xab\xa9\xd1\x74\xc4\xc8\xf0\x0a\x02\xe5\xbe\x1f\xe4\x1a\x23\x8e\x22\xa3\xb5\x16\x2a\x4f\x83\xc9\xd6\xd9\x74\x20\x64\xac\x05\xe1\xe4\x4f\x7b\xd5\xeb\x1c\x1b\x03\x32\x18\xbb\xa1\xf2\xd6\x19\x56\x5d\xe2\xc3\x43\x8f\xaa\xa0\x54\x91\x07\x8b\xad\x6b\xe1\x78\x21\x33\x16\xbf\x50\xd1\xbb\xf7\x52\xb7\xaf\x99\x41\xe6\x5c\x4c\x50\x79\xf6\xab\x50\x77\xd6\x91\x23\x93\x2b\x46\x4e\x89\xda\x57\x59\x13\xeb\x68\x90\x95\x15\x23\x55\xd2\xc1\x12\x6a\x3a\x1d\x35\xb2\x56\x47\x80\xca\x8b\x9c\x49\x3d\x9a\xf3\x0f\xd9\x9e\x55\x19\x0a\x1d\xec\xb0\x9e\x84\x10\x23\x9b\x9a\x33\xa7\xcc\xc4\xbd\xd7\x9f\x69\xbf\xa2\xa7\x57\xcc\x54\x39\x0f\xb6\x50\x2f\x38\xef\xd0\x33\x2b\x26\x4e\xe1\x7b\x9e\xd4\x5f\xeb\xf8\xa0\x27\xe7\x5f\xa9\xaa\x0f\x36\x5b\xef\x93\x0f\x90\x53\x21\x4c\xd5\x70\xb0\x49\x7d\x3e\xbd\x25\xe4\xc2\xe2\xcd\xa9\xa8\xc3\x4b\xcd\x4d\xaa\x85\xdc\x9f\xf8\xe5\xd4\xaa\x75\xad\xfa\x22\x1c\x23\xf2\x94\x62\xa2\x6a\xd3\xa7\xa4\xe6\x85\xa3\x40\x5e\xe5\x25\x9c\x3a\xf6\x45\x58\xdf\xac\xe3\x8a\xfc\x87\xb8\x51\xf5\xe8\xd3\xa9\xbe\x09\x07\x87\xfc\xa8\xf8\x70\x2a\x37\x3c\xc3\xfa\xce\x5f\x7b\xe4\xd3\x62\xe1\x54\x71\x78\x4e\x35\x23\x1c\x2c\x0a\x14\x3f\x34\x34\x79\x78\x36\x8d\x24\x1c\x07\x0a\x32\xc8\x50\xcd\x24\x5f\xd2\x28\xf8\xb8\xa1\x80\x2b\xbe\x50\xf3\x5a\xd7\x6d\xd4\xd3\x5b\x45\xa1\x51\x7c\xa0\x06\xda\x93\xdc\x18\x63\xdb\xa3\x70\xb5\x17\x43\x7b\x31\x1f\xbd\x31\xad\x43\x40\x91\x51\x6c\x50\x1b\x06\x47\x6e\x6c\xeb\xa7\xa3\xe8\x27\xee\x50\xdb\x06\x07\x37\xae\xff\xd6\x50\x5c\x15\xbb\xa1\xdd\x06\xa7\x6c\x7c\x7c\x9c\x50\x2c\x16\x1b\xa7\x9d\x06\xa7\x69\x82\xe9\x67\xa1\x24\x2a\xbe\x54\x7f\x74\xd3\xde\x44\xd6\x4f\x41\xc9\x1c\xb2\x86\xfe\xec\x80\xde\xc4\xd6\xb1\xa1\x84\x0b\x80\xa1\x7b\x83\x8b\x9b\x44\x48\x07\x04\x60\xf1\x33\x74\x34\x38\x6c\x03\xf1\xcf\x43\x60\x2e\x58\xa8\x97\x83\x1b\x36\xa9\x90\x95\x08\xda\xf6\x02\xf5\x6e\x70\xad\x06\xa3\xbd\x47\xb0\xb2\x13\x4e\x1f\x07\xe7\xde\x64\x42\xc5\x21\x28\x16\x67\xa8\x7f\x5b\x37\x6c\x0a\xeb\x17\xa3\xd4\x28\x0e\xaa\xff\x06\x57\x6e\x4a\xeb\x97\xa2\x14\x3a\x88\xd3\xb9\xc1\x59\x9a\x52\x28\x6f\x28\x15\xd3\x88\x1a\xca\xe0\x4e\x4d\x23\xfc\x2a\x84\xe6\x70\xa0\x86\x47\x4e\x65\xd3\x5b\xbf\x17\xc2\x46\x71\x31\x8c\x64\x70\x49\x43\xbe\x6f\x03\xe1\xb6\xe0\x0c\x03\x0f\x2e\xdb\xd0\x09\xae\x28\x8b\xe2\x0f\x35\x86\xce\x00\xcd\x8c\x7f\x35\xca\xd6\x82\xe3\x8c\xcf\xe0\xe9\xcd\x7b\x3c\x72\x94\xdb\xd6\x9b\x33\xb8\xc1\x23\xcd\x3a\xce\x1c\xca\xc5\x42\xe0\x1e\xea\xe0\x35\xcd\x3e\x72\x03\x2a\xaa\x42\xa0\x0f\x73\xf0\xc2\xe6\xc0\xbf\x0e\x15\x73\x21\xd2\xc7\x73\xf0\xac\xe6\x67\xfd\x3e\xa8\xe0\x2c\x06\x3e\x82\xc1\x13\x1a\x5e\xf8\x2d\xa8\xca\xa2\x89\x3e\x8e\xc1\xd7\x9b\xbb\xf5\xfb\xa2\x57\x56\x08\xf0\x71\xe9\xac\xbd\x61\xac\xdf\x86\x5e\x73\x71\x37\x1e\xb7\xc1\x77\x9b\x13\xfe\xb1\xe8\x25\x16\x37\xfa\x38\x0d\x3e\x6e\x25\xeb\x77\x41\x75\x5b\x30\x86\x69\x91\xaa\x69\x95\xe9\x27\xa2\xfa\x28\x18\x68\xba\x1d\x2b\xb4\xea\xa4\x7c\x50\xa3\x58\x82\x61\x86\xed\x6b\x6a\xb5\xef\xfb\x81\x1a\xaf\x60\x38\x33\x69\x9f\x6c\xab\x4f\xaa\x8d\x9a\xb9\x38\x19\x66\x2e\x7c\xf4\xf6\x81\x59\x09\x35\xa2\x53\x43\xf3\x35\x24\x7a\x6b\x62\x75\x41\x6d\x56\x06\xd4\x9c\x87\xc4\x6d\x9f\xe3\x82\x51\xcb\x94\xa1\x61\x6e\x43\x02\x5a\x67\x62\x0d\xd4\x79\x21\x0b\xcd\x73\xe7\x2c\xad\x67\xe5\x2f\xd4\xad\x10\x72\xe6\xa9\xe3\xa7\x36\xb0\xd8\x07\xea\x8d\xe0\x4a\xad\x87\x70\x5d\xda\xc8\x8a\x6b\xd4\x53\x4f\x34\xac\x67\x57\x2c\x6d\x8c\x59\x13\xf5\x62\xb8\x43\x2b\x26\x19\x68\x01\x7e\x7c\x11\x69\xcb\x88\xb3\xf2\x21\x21\x6d\x3a\xb1\x0e\xa2\x4a\x19\x51\xab\x1b\x12\xb6\xcd\x2c\xf8\x45\x54\x34\x97\xbf\x2b\x62\xca\xb6\xe5\x14\x37\x68\xa0\x65\x4c\xad\xdb\x00\xf4\xf6\x35\x32\x3f\x34\x30\x4f\x48\x6d\x69\x48\xee\x6d\x3d\xb1\x10\x8d\x9e\xbf\x18\xb6\x36\x00\xb9\x6d\x71\xd8\xa1\x71\x4e\x5f\xd0\x0e\x07\x60\xb5\xfd\xc4\xc6\x68\xf2\x4a\xc0\xd9\x49\xcf\x4f\x2d\xc1\x6c\x82\xa6\xcc\x4d\xa8\x9d\xf6\xee\xde\x52\x8b\x25\x68\x5a\x93\x0f\xb5\x8b\xfe\x25\xb7\xc3\xf7\x6d\xa2\x39\x4b\x78\x6a\xbf\x87\x6c\x69\xdf\x56\xca\xa3\xb7\x11\x5d\x39\x9b\x25\x13\x68\x57\xcc\x66\xe8\xbd\x5a\x03\x67\xdf\xfa\x71\x6a\xbf\x98\xed\xd0\xc7\x8e\x12\xee\xa9\x0f\x80\x6d\xf7\x89\xed\xd1\xa7\x2a\x53\xee\x69\x0e\x10\xb7\x07\x66\x5b\xf4\x99\x4b\x04\x9f\x0e\x31\xef\xed\x0f\xb3\x39\xfa\x30\x16\xc3\x3d\x83\x01\x90\xf6\x8c\xd6\x10\x2d\x76\x78\x83\xcf\x78\x00\xa0\x65\x2d\x16\xa1\xa5\x72\x13\xee\x89\x7a\x97\xb4\x1c\x62\x58\xb4\xac\x25\x32\x9e\x05\x79\xe8\xed\x05\xad\x11\x5a\x15\x1b\x73\xcf\xa6\x1d\xcb\xf6\x6a\xc9\x12\x5a\xb9\x32\x33\x9e\xeb\x00\xd9\xf6\x2a\xb0\x13\xfa\x1a\xce\x00\x9f\xbf\x01\x0a\xed\x1d\x09\x32\xfa\x66\x6e\x0b\x9f\x97\xee\x0c\xda\xd3\xc4\x16\xe8\xcb\x78\x03\x74\xe4\x01\x2e\x9d\x34\x0a\x17\xb4\x55\x65\x6e\x38\x66\xeb\x58\x9d\x82\xd9\x01\x6d\x47\x34\x71\x4e\xd8\x0a\x6e\x67\xa0\xf5\x40\x3b\x53\x66\xd4\x19\x5a\x1b\x74\xb6\x79\x91\xd1\xb1\x06\x00\x3a\xdf\xfe\x2b\x77\xde\x14\x47\xe8\xc7\x95\x85\xe1\x30\x7d\xca\x76\xbe\x60\x8c\xe8\x4c\xbd\x88\xba\xce\x90\xea\x5d\x8c\xd9\x1f\x3a\x33\x65\xce\xb9\x01\x29\xef\x1d\xc0\xf6\x15\xb1\x55\x58\x71\x6e\x41\x5e\xa4\xc3\xfc\xd5\x41\x5c\x5b\xd6\x86\x3b\x0d\xa9\xd0\x65\x82\x82\x10\x27\x3a\x03\x75\x8f\x21\x6d\xba\x72\x64\x2e\xe8\x52\xc5\x02\x75\x45\xa2\xcb\x5d\x25\xb0\x1c\xe2\x95\xf0\x65\x78\x6a\xf7\xc5\x5d\x6b\xb1\x57\xc4\x53\x7f\xa1\x9e\x33\xa4\xa0\xeb\x26\x56\x44\x3c\x93\x14\xd4\x8b\x86\x34\xec\xc8\xb8\x4b\x48\x68\xed\x97\xe1\xe5\x43\xba\x77\x83\x50\x4d\x48\x54\xdc\x9f\xe1\x35\x3d\x09\xbb\x71\x62\x05\x24\x7a\x01\x47\x3d\xd2\x81\xb0\x9b\x04\x45\x43\x62\x6b\x35\xd4\x9b\x7a\xb0\x74\xf3\xc4\x5e\x90\xb8\x3e\xb1\xe1\x7d\x3a\x03\x77\x9f\xe9\xe9\xa2\x6b\x54\xbe\xa0\xc7\xf6\xa9\xd0\xad\x02\x27\xa3\xab\x58\xd6\x9c\x2f\xf5\x39\xe8\x36\x81\xb3\xd0\x2d\x2a\x1b\xc3\x37\x06\x84\xbb\x03\x83\x1a\xdd\x98\xe8\x06\xfd\x60\x40\x65\x77\x9e\xca\x27\xba\x67\x29\xe6\xfc\xac\x7d\x97\x1d\xc7\xb7\x1f\xc4\x18\x65\x03\xfd\x6e\x40\x56\x27\xa2\x37\x87\x18\xd1\x6a\x38\xff\xcc\x7c\x48\x77\xc7\x9c\x89\x4e\x59\x9a\x19\xbe\x38\xa0\xbd\x97\x27\x43\xc0\x12\x57\xf6\x5c\xe0\x0f\x88\xed\x35\x81\xb3\xb1\x9c\x95\x3d\x0c\xd2\x21\xb5\xfa\x87\xc5\x79\x58\xc9\xca\x9e\x06\x23\x71\xe4\xfe\x69\x79\x4f\xac\x70\x65\xcb\x05\xe7\x01\xdd\x7b\x77\xdc\x07\xac\xce\xee\x95\x0b\x98\xde\x5d\xfa\x60\xe2\x52\xac\x89\x71\x08\x43\xc4\x7c\xa6\x1e\x59\x5c\x82\x8d\x0a\xd6\x46\x38\x0d\x18\xf4\xb9\xc0\x41\xfc\xc8\xe0\xcf\x08\xf9\xde\x96\xfb\x6a\x3c\x14\x6c\x7a\xe5\x00\x23\xb3\x23\x61\xdf\x4f\x5c\x86\x2d\xaf\xa4\x30\x02\x44\xd7\x7b\xfa\x7d\x3f\xb1\xc5\xc5\x1f\x2e\xaa\x7a\x56\xee\x27\x8b\xcb\xb1\x0d\xcb\xc1\x88\x26\x82\xee\xfd\x2c\x84\x3d\xb6\x39\x2f\xa0\xd1\xda\x7b\xf7\xfe\x63\xe1\x2f\x7e\xda\x76\x66\x44\xc2\x90\xb9\xfd\x2a\x70\x15\x7e\x1e\x69\x06\x63\x79\xc8\x40\xbf\x4d\x5c\x83\x1d\x58\x8e\x34\x7e\xf4\x48\xee\x7f\xaf\xb7\x83\x1d\xb1\x1c\x8d\x38\x1a\x80\xd0\xb3\x16\xd7\x63\xb7\x2d\x07\x2e\xce\x86\x8c\xf4\xbc\xc5\xcd\xd8\x33\xe2\x90\xc6\xed\x90\xed\x3d\xcf\x0b\x2a\xf6\xb2\x72\xe2\xe2\xa1\x65\x97\xfe\x6a\x71\x0b\xf6\x98\x72\xa2\xf1\x3e\xe4\x7a\x7f\x9b\xb8\x0d\xfb\x51\xf9\xe6\x62\x6e\xc8\xad\x9e\x99\xb8\x33\xf6\x39\xff\xca\xc5\xcc\x90\xbb\x44\xb2\xb8\x0b\x0e\x60\xb9\xc0\x04\x0d\x39\x26\x0f\x8b\x0b\x70\xc8\x95\x2b\x4c\xba\x21\x6f\x88\x65\x71\x08\x47\x73\xb9\xd2\xe4\x3d\x64\x02\x79\x9a\x02\x8f\x23\xa6\x5c\xb9\xe4\x3c\xe4\x3b\x71\x31\xc7\xe0\x38\x2b\xbf\x30\xb9\x0c\xf9\x9d\x78\xe6\x70\xc3\x31\x75\x01\x4c\xae\xe4\x35\x11\x7f\x52\x16\x1c\x33\xce\xcf\x00\xfa\x50\xe8\x24\xb2\x2e\x1a\x4e\x2e\xe2\x0f\x02\x8f\xa4\x3a\x89\xf9\x85\xc1\xc0\x28\x37\x0e\x80\xa1\xb0\x08\x98\xc2\x1f\x06\x55\xb9\x43\x80\xda\xab\x4b\x20\xbe\x3c\x30\xe0\xca\x9d\x82\xaa\x7d\x37\x04\x8d\x02\xc0\xd0\x8b\x59\x0a\x68\x67\x34\x24\xb7\x94\x04\xa7\x4a\x79\x18\xe0\xe8\x6d\x81\x94\x96\xfb\xc0\x29\x04\x2f\x0a\x2e\x43\x41\x48\x65\x5d\x6c\x8c\xec\xf2\xe0\xa0\x4a\x72\x4c\x1a\x61\xb9\x61\xd4\x06\xbb\x01\x2d\x02\x17\xd2\x99\x17\x88\x91\x98\xf0\x1c\x0c\x88\xa3\x93\x1e\xbb\x1f\x8c\xab\xf4\xcb\x41\x3c\x14\x2c\xa1\xfc\xd5\xc3\xf8\x28\x7f\x14\xbe\xda\x67\x48\x46\xf4\x8d\x70\x16\x05\x07\x07\x09\x41\x32\x99\x84\x8b\x8f\xb3\xd5\x43\x10\x7e\x7a\x8a\xc9\x1b\x09\x22\xce\x98\x00\x50\xb8\x0d\xa5\x4c\x16\x21\xbd\xe2\x9c\x5a\x84\x83\xb7\x6e\x58\xc8\x17\x5f\x62\x5c\x18\xe5\x19\xa6\xea\x50\x86\x64\xb7\xaa\x0b\x2e\x60\x79\xa6\xa9\xd1\xfb\x84\x1c\xc2\x05\xe0\xe2\x08\x3f\x46\xea\x0f\x25\x26\xe7\xf1\xcd\xe3\xb2\x2a\x39\x23\xc5\x43\x59\x12\x4e\xb8\x60\x5c\x29\x25\x47\xd3\xa6\xfd\x12\xc2\x4f\xbe\x88\x2b\x18\x01\x98\xd2\x96\xdf\x89\xc0\x0b\x37\x5c\xb5\x61\x0d\xd3\xa9\xbb\x2c\xe4\x6a\xb6\x2b\xae\xb8\x92\xe3\xd2\xbd\xcd\x64\xc2\x4c\x97\x17\x7e\x7d\xc5\x1f\x45\x52\x07\x30\x95\xa6\x4b\x85\x6b\xcf\x9d\x21\x32\xba\x6b\x43\xe5\xd3\x3b\xc4\x35\x2d\x2f\x10\xd9\xdd\x95\x50\xd5\xca\x18\x5c\x8b\xee\x6c\x20\xbf\x75\x01\xd5\x04\xd5\xc1\x4d\x2c\xfe\x38\x04\x86\x2a\xa4\x0f\xff\x1d\xe3\x46\x0c\xde\x1c\x7a\xb5\x10\x53\xd3\x7f\x27\xb8\x8d\xfc\xd2\x40\x84\x8c\x98\x5a\xfc\x65\xc3\x6d\xeb\xaf\x14\x2d\xcc\x62\xd1\xe7\xa4\x10\xdc\x9e\x44\xc4\xa1\x7d\xa8\x5c\xea\x5a\x97\x06\x77\xb0\xe4\x29\xe2\x98\x45\xa6\x9e\x60\x3f\x71\x77\x54\x21\x44\xa7\xa1\x6a\x68\x80\xc4\x0a\xf7\xb6\x0b\x38\xac\x0e\x15\xa6\xa1\x75\x19\x70\x4f\x03\xc0\xe1\xe7\x50\x01\x1a\xf3\x82\x87\xc9\x53\x64\x29\x4e\x99\xa5\xa4\x10\x5f\x66\x4c\xb8\x52\x84\xb8\x1a\x2a\x81\xa6\xc2\xe5\x8b\xa9\x5d\x8a\x1c\xee\x99\x05\x50\x8c\x26\x19\xd3\xac\xbc\x1a\x78\x18\x2a\x96\x66\x56\x1c\x63\x4a\x41\x0d\xf1\xda\x19\x84\xe6\xc2\x65\xc3\x83\x2a\x72\x10\xff\xfa\xa7\x4c\x4b\x93\xb9\xe2\x21\x8b\x0a\x88\xc5\xf6\x06\x68\x8d\x2f\x3b\x1e\xbd\xf2\x0e\x33\xad\x2d\x08\x6d\x84\xcb\x81\xc7\xb6\xbc\x1b\x99\x35\xbc\x5c\xda\x8d\xcc\x13\x4f\x46\x84\xb9\x0c\xb6\x8e\x4b\x89\x70\xe1\xf0\xd4\x89\x1c\xcd\xf0\xf0\x2a\xe9\xf0\x7a\xe7\x78\x56\xa2\xd9\xc8\x5a\xc2\xdc\xe9\x34\x0a\x2d\x9e\x57\x20\xc2\x6c\x65\x96\x9d\x7e\x26\x5c\xe0\x77\x54\x05\x30\xe3\x87\x17\xa1\x2b\xbe\xdc\xf0\xfb\x28\x19\x2e\x63\x98\x85\xa5\x5f\xe1\xc2\xe3\x8f\x51\x05\x46\xae\xf5\xf7\x9d\xee\xc2\x45\xc4\x1f\x5a\x05\x34\x87\x1d\xbf\x53\x0e\x0b\x2a\x5e\xe6\x34\xa3\x79\x41\xac\x86\x5e\xb0\xa0\xe1\x55\xa9\x42\x9a\xd3\xa1\x2f\xa9\x88\x05\x13\x7f\x95\xe7\x61\xe4\x47\x0b\x4b\x7a\xe3\x59\x84\xbf\x51\x15\xc1\x9c\x1d\xfa\x89\xde\x79\x26\xc4\xdf\x36\xac\x69\x2e\x30\x8b\x40\x99\xef\x44\xf1\x77\xc5\x2c\xcd\x6f\x3d\x60\xe9\x09\xeb\x05\xfe\x8a\x21\x4b\xf3\x53\x57\x80\x41\xb2\xba\x0d\x6f\x9e\xd3\xd1\xc2\x24\xe7\x7d\x50\x70\x7a\xc3\xdb\x0a\x06\x5a\xb8\xcc\x72\x1f\xd4\x49\x78\xe2\x8d\x71\x6f\xb0\x48\xfa\x37\x3b\xe8\x58\x70\xf0\x9e\xa1\x98\x16\x29\x21\xec\x60\x08\xf6\x84\x77\xae\x8a\x61\x51\xb5\xdf\x69\x78\x08\x82\x87\x8f\xac\x8a\xb9\x62\x20\x4b\x33\xd8\x56\xd6\xe2\x63\x86\x84\x16\x6f\x32\x2c\xc3\xd3\x14\x34\x7c\x70\x55\x02\x8b\xb5\x5b\xc9\xe0\x60\xbc\xe1\x5f\x54\x25\x5c\xc1\x0d\x04\x0f\xae\x20\x00\xfc\x6b\xed\x3b\x57\x88\x2d\x2f\x0f\x3e\x16\x22\xfc\x63\x2a\x60\x94\xf2\x40\xca\x21\x9c\x14\x8c\xcf\x34\xa5\x5c\xe9\xb5\x4e\x39\xc4\xfc\xa5\xc2\xac\x12\xae\xb4\x0c\xbb\x65\x19\x12\xfe\xb4\x63\x36\xab\x20\x2d\x71\xcf\xb1\x43\x6a\x09\x08\xb3\x62\x38\xc3\xf2\x35\x10\x32\x20\xf3\xb4\x61\xce\x80\x1c\x57\xb6\x03\x59\x06\x24\x08\x05\xe6\xa2\xb4\x35\x4a\xc2\xac\xfa\x80\x27\xa1\xc1\xdc\xec\x42\x58\x2e\xe4\x11\x0e\xb9\x20\x54\xf8\xa2\xc4\x9d\x51\xee\x43\xb9\x0f\xc5\x74\xa9\xf1\xc5\x7b\xe6\xb4\x64\x89\x81\x87\x52\x10\x6a\x7c\x39\xfc\xaf\x51\x32\xc4\xb1\x86\x97\x20\x50\xcc\xc3\x84\x31\xaa\xc7\x40\xd8\xff\x97\x63\x3b\x59\x7b\x4e\x09\x80\x00\x7c\x41\xbd\x48\xd0\x4d\x2c\xbf\x48\xcc\x41\x10\xd3\xce\xd0\x68\x5a\x1b\x82\x44\xae\xfe\x3c\xff\xb9\x86\x5a\xbc\x55\x8b\x62\x24\x43\x5d\x06\x37\x9c\x0e\xf8\xd1\x3f\x38\xd6\x9b\xb9\x93\xa1\x38\x39\xc7\x38\xa1\x63\xc5\x86\x91\x59\x19\x3a\xdc\x3a\xc6\xd5\xa0\x55\x6c\x34\x11\xcd\x44\xed\x49\x63\x4c\xd8\xe0\xb3\x69\x42\x75\x26\x0e\x8f\x5f\x8c\x77\x36\xac\xec\x8d\xd0\x94\x49\x81\x79\xf0\x98\x67\x43\xc5\x56\x84\xd6\x4c\x22\xb8\xe4\x31\x02\x9b\xc9\xb6\xd3\xd2\x67\x17\xc5\xff\x0e\xf5\x95\x16\x32\xfb\x9a\x88\xcb\x2e\x79\xf4\x8c\x6b\x8b\x31\x9f\xfd\xa6\xe0\x99\x5d\x40\x9c\x0c\xf5\x93\x2c\x94\x9d\xb3\x1b\x97\xc9\xae\x97\xf0\xf5\xab\x5f\x55\xc6\x9b\x95\x93\xc9\x33\x2e\xb5\xba\x62\x83\xcc\x84\x09\x7d\x33\x60\xe1\x62\xa8\x7b\xc6\x32\x86\x10\x7a\x67\x60\xc0\xf9\x50\xbf\x19\x33\x99\x34\xa1\x31\x03\x20\xe8\xb4\xfa\x4b\xf7\x8c\x5d\xa0\x74\xcf\x4e\x81\x73\x19\x6a\xae\x2b\x5a\x06\x50\xee\x65\x27\xd1\x4a\xb5\xfa\x04\xb6\x68\xfc\xcb\xec\x47\xfe\x67\x85\x87\xd6\xdc\x48\xdc\x8e\x57\xf3\xf6\xc9\xaf\xee\xf3\x3d\x34\x71\x77\xa7\xa3\x8a\x10\xcc\xaf\xa2\x13\x0f\x4d\x4b\xa6\xef\x68\x4c\x48\xcc\x95\xc1\xa2\x5a\x33\xb3\x51\x1d\x2d\x84\xe4\xfc\x66\x3d\x2f\x71\x73\x26\xc3\x34\xba\x06\x3f\xe7\xb7\xc1\xca\xe3\xe6\xd2\x95\xdc\xe8\x65\x48\xca\xef\xca\xa3\x8d\xdb\x6b\xa7\x4d\xe3\x73\x72\x9d\xfc\xee\x89\x68\x68\xef\x8c\xd1\xd1\x1f\xbb\x7b\x7e\x27\xb8\xd6\x5a\x87\x31\x34\x86\xe3\x6e\xe7\xaa\xf2\x08\xf8\xd6\x07\x9b\x33\xbe\xc6\x59\xcc\x55\xd7\xce\x87\xf6\xc5\x46\x73\x8c\x53\x41\xc8\xd5\x23\xee\xe3\xb6\xea\x68\x36\x26\x48\xbc\xe5\x9a\x1b\x85\x7c\xcb\xd8\x28\x8f\x95\x31\x7c\x73\x3d\xc7\xad\xd6\x0a\x6c\x8a\xc6\x7a\x12\xd5\x5c\x07\xc9\x47\x23\x57\x36\x7e\xc7\x06\xf9\x20\x37\x62\x4c\x35\xe2\xb0\xb1\x1a\x3b\x48\x8e\xdc\x74\x31\x89\xc9\xab\x8b\xd6\x91\x22\xd1\xce\xcd\x0d\x93\x81\x54\x6c\xcc\x46\x86\x44\x3f\xb7\x14\x6f\x8f\x09\x19\xb6\x75\x9c\xc6\xdf\x90\x5b\x38\x61\x1a\x19\xd9\xd8\x8e\x4b\x66\x1f\xb9\x05\xac\xe7\x40\x3e\x5d\xbe\x8e\xef\x4c\xfc\xcb\x6d\x17\xf7\x1a\xe1\xc8\xa8\x8e\xeb\x24\xba\xb9\x3d\xe0\x7e\x20\x62\x0f\xd1\xb8\x1b\xcb\x25\x7f\x04\xf8\xad\x75\x1a\x18\xfc\xf1\x30\x0b\x3d\x7f\x0c\x98\xf2\x9d\x45\xf6\x75\x3c\x90\x88\xf3\x87\x20\x22\xbe\xf3\x28\x95\xc7\xf3\x24\xd6\xb9\x13\xe0\x31\xee\x22\x36\x47\x23\xf7\x8f\x43\x87\x04\x41\xdc\xe5\x3d\x94\x47\x01\x89\x53\xee\x2a\x98\x69\x5d\xcb\xe6\x6c\x84\x48\x6c\x72\x17\x3f\x63\xad\xdb\xd8\x3c\x8d\x12\x52\xbe\xb9\x67\xe1\x59\xeb\x10\x59\xd6\x11\x4c\xed\x9e\x3f\x15\x4c\x87\xfe\xca\x66\x7f\xba\x1a\x5d\x9c\x3f\x63\x3c\x68\xbd\x41\x97\x76\x52\x90\x58\xe5\xcf\xe3\xf9\x8c\x7b\xa7\x7f\x47\xd3\x6d\x12\xc3\xfc\x09\xf0\xc8\xf7\x41\x6f\x4e\x93\x96\x89\x6b\xee\xcf\x56\x1f\xf7\x45\x67\xca\x93\x6e\x8a\x7b\x1e\x68\x78\x18\x7a\xc2\x66\x34\x19\x48\x64\x79\x10\xe3\x81\xef\x07\x36\xaf\x93\x65\x8a\xef\x3c\x98\xf1\x1e\xf7\x9f\xfe\xf2\x9d\x1c\x53\x24\x79\x98\xe3\x2d\xee\x11\x5b\xd6\xc9\xcb\xec\x38\x0f\x41\x92\xf3\xd4\xa2\x59\x36\xbd\x90\xc8\xe7\x51\xe0\x1f\x1a\x8d\xd8\xf2\x9d\xe2\x4c\xc5\x79\x34\xe3\x37\x4f\x4b\xf6\xbe\x4e\x49\x26\x9e\xf2\x48\x0c\xa5\x98\x36\x6c\x41\x53\x9a\x79\x63\x1e\xdb\xa2\x18\xd3\x91\xbd\xcd\x29\x9f\x44\x2e\x8f\x37\xfb\x3b\xd0\x95\x2d\xed\x54\x8c\xf2\x25\x8f\xc1\xab\xd1\xe8\x8f\x2d\xd3\x54\x19\xbb\x99\x27\x31\x7e\x0f\x54\x60\x8b\x3f\x61\x53\xfc\xe6\xc9\x90\x86\x3c\xbd\x10\x46\xa7\x3a\x13\x85\x3c\x11\xf1\x27\x1e\xae\x84\xfa\x53\x33\x0a\x34\x4f\x67\xb3\xd6\x06\x97\xad\xe6\xd4\x67\xed\x33\xcf\x02\xcc\xc5\x43\x04\xb6\x75\x1a\xcc\x6b\x96\x67\x1b\xe6\xb4\xa1\x64\xab\x33\x8d\xa6\xf4\xcc\x73\x8c\xbf\xda\xb0\xb1\x4d\x9d\xde\x99\x74\xcb\x0b\x0b\x73\xc3\x70\x66\x6f\x34\x6d\x48\x32\xf3\x42\xc4\xdf\x61\x38\xb1\x77\x35\x7d\x32\xc9\xcb\x4b\x6f\x1e\x35\xa6\xb3\xf7\x77\x3a\x46\xae\xcc\xcb\x2d\xf8\x0e\xec\xd1\xa7\xfe\xf4\xcb\x24\x2b\x2f\x45\xfc\x8d\xd9\x93\xbd\xdb\xe9\x8c\xaa\x77\x5e\x91\x98\x0c\x2c\x63\x6f\x6e\x12\x32\x29\xc9\x2b\x49\x94\x34\x46\xd8\x2a\x4f\x08\x49\x69\x8e\x09\x46\x31\x5b\xd8\xe6\x4c\x52\x26\xe1\xbc\xb6\xb0\x10\x33\xd4\xbf\xd1\x04\x90\xa6\xe6\x35\x8f\x79\x9e\x9d\xd8\x4a\xe7\xbf\x49\x6a\xf2\x26\xc6\x68\x18\x2d\xea\x39\xb3\x82\xa4\x77\xde\x1c\x18\xf1\x63\xc0\xb6\x69\xbe\x23\xa9\xcf\xdb\x20\xa0\xda\x98\xd0\xa8\x9a\xb5\x4c\xca\xf3\x76\xc3\x70\x18\x71\x27\xa1\x59\x47\x85\x93\x13\x0d\xcb\xc3\x48\xd8\x46\x67\x03\x1e\x4d\x4e\x06\x73\x8c\xc7\x99\x30\x34\x5b\x48\xf2\x73\x22\x89\x52\x3c\x7e\x3a\x49\x9e\x9d\x4c\xda\xf2\x2e\xc7\x72\x3c\xc2\x6e\xaf\x66\x37\x9d\x83\xbc\x9b\x83\x30\x1e\x65\xb6\xad\xb3\xef\x2d\x7b\xde\xe7\xf8\xa2\x4d\x3a\xdb\xfd\x39\x30\xb6\x73\xde\x6f\x76\xce\x4f\x29\xdb\xcd\x39\x4e\xd7\xbf\x9c\x82\xf0\x88\xa7\x96\xed\xea\x9c\x4e\xd2\x2f\x1f\x0a\x51\x1a\xa6\x85\x6d\xdc\x5c\xee\xcb\x27\x67\x2e\x96\xf8\x09\x82\x5d\x9d\xeb\x71\xfe\xcb\x19\x08\x72\x6d\xfe\x63\xfb\x34\xb7\xa6\x04\xf3\x91\x7f\x20\x7e\x76\xd9\x5e\xcd\xbd\x29\xff\xe5\x13\xc6\x15\x3f\x97\x6c\xa7\xf3\x68\x4a\x52\x3e\x5b\xf8\xa4\xcd\x1d\x3b\xaf\xf3\x3c\xc9\x7a\x3e\x1f\xb8\x8b\xe7\x8d\x9d\xb3\xf9\x8d\x64\x35\x5f\x48\xfd\x1c\x66\x89\x6d\xed\xfc\xc9\xe4\x7b\xfe\xb6\xea\x27\xbf\xdc\xd8\x99\xce\xe7\xac\x55\xf3\xd5\xad\x43\x6d\xc9\xc9\x89\xce\x3c\x92\x8d\x7c\x15\xeb\x60\x58\x6a\xb0\x9b\x33\xdc\x97\x5f\xbe\x05\xaf\x29\x5e\x46\x76\xe6\x66\x71\x92\xfd\x7c\x9f\xeb\x70\x58\x24\x8a\x9c\xe5\x6a\xca\x5e\xfe\x89\xb1\xa0\xbd\x2d\xc6\x99\xcb\x7d\x92\xc3\xfc\x9b\x9b\x91\xf6\xae\x18\x17\x2d\x3a\x3c\xf4\xfc\x50\x5c\xc6\xbf\x5b\x22\x3b\x8b\x01\x07\x92\x1f\x38\xa9\x87\xf7\xc1\xb8\x6a\x71\x90\x1c\xe7\x3f\x52\xc7\xf1\x1b\x11\xee\xbb\xb8\xe3\xfe\xca\x7f\xbc\xb5\x6b\x6f\xc0\xb8\xef\xf2\x44\x72\x91\x9f\x71\x9d\xc4\xab\x49\xca\xef\x12\x9a\x66\x9c\x9f\xc5\x3a\x19\xd6\x27\x59\xb8\xe5\x85\xe4\x26\xe7\x82\x3a\xe1\xd7\x8c\xf1\xea\x12\x23\x99\xe4\x1c\xa8\x53\x7e\x6d\x3b\x86\x96\x74\x52\x7e\x39\xef\x3a\x8c\x5f\x7b\x9a\x5d\x97\x6c\x4a\x9a\x9c\x1f\xd2\x94\x5f\xe7\x6e\x8a\x96\x02\x0a\x6e\x2e\xb8\xc9\x45\x5b\xcf\x8c\xf7\x17\x6c\xca\x34\x17\x06\xb7\xd1\x56\x89\xf1\xd9\x52\x23\x99\xe5\x50\xa9\xf3\x78\xbb\x31\xbe\x5d\x5a\x33\x13\x72\x98\x7b\x75\xbc\x99\xdd\x36\x2d\x64\x44\x5d\x0e\xb7\x3a\x1f\x36\x87\xf1\xdf\x85\x66\x57\x25\x47\x79\x9d\xf3\x5b\xca\x78\x6e\x61\x93\xbc\xe5\x62\x50\x17\xfc\x36\x33\xe1\xba\xcc\x48\xfe\xe6\x22\xa8\x4b\x7e\xfb\x32\xc1\x5c\xde\x93\x7c\xce\x25\xd7\x1c\xf9\xed\xdc\x0f\x74\x59\x33\x99\xcb\x25\xec\xfa\xf1\x26\x92\x61\x5d\x36\x24\xf3\xb9\x74\x84\x69\xbc\x9d\x86\xf7\xb4\x7c\x8c\x55\xc9\x2f\x71\x5d\xf1\xbb\xc6\x84\x76\x39\x50\x32\xe7\x17\x3e\x26\xda\xee\xf6\x97\x68\x39\x4f\x32\xca\x65\xf7\x85\xb4\xfd\x05\x76\x7f\xe1\xa6\x10\xe5\x32\x89\xcf\xf1\x5e\x30\x61\x5a\x04\x24\x5f\x72\xb0\xd5\x98\xdf\xdf\x4c\x40\x8b\x84\x64\x39\x3f\xb9\x75\x13\x7f\x8c\x6e\x54\xdf\x37\x94\xef\xc5\x55\xab\x9b\xe1\x13\x32\xe8\xbc\x55\x63\xbd\x15\x57\x5c\xb7\xda\xa7\x60\x30\x7b\x1b\x08\xa8\x85\x12\x3c\xdb\xf8\x73\xa6\x51\xfb\x76\x20\x9d\x8a\x1b\x79\x7d\xf8\x0f\x00\x7b\xf4\xf6\x90\xfd\x2b\xee\x8a\x97\x6a\xdf\x2b\x81\xea\xfb\x39\x85\xf7\xe2\x2e\xba\x8b\xf6\x7d\x32\xd8\xbe\xa3\x74\x06\x85\x8a\xcd\x41\xfb\xe6\x60\xcf\xde\x89\xe9\x7d\x0a\x95\xaf\x5b\xfe\x8b\xbb\x88\x7b\x27\xc8\x3c\x0a\x4d\xa9\x49\xfc\x25\x0c\xa9\xef\xdc\x04\x56\xa1\x2d\x22\xd0\xbe\x7b\x5f\xc8\xef\xd2\xd8\x94\x42\xb7\xea\x7e\xf8\xfe\x3a\xa3\x7d\xe3\x71\xbd\x17\x3a\x5f\xf7\xda\x17\x30\x88\xde\x4d\x06\xec\xc2\xb0\x92\x46\x3b\x6e\x60\xaf\xde\xed\x64\x81\xc2\x20\x21\xc7\x1f\x0f\x06\xbf\xef\x2e\x03\xaf\xc2\x54\xea\x9e\x3f\x82\xee\x6e\xbe\x7b\x38\x2c\x85\x99\x3b\x5b\x7c\x64\x0c\x72\xef\x61\x02\x5e\x61\x6e\x71\x35\x1c\x6d\x5f\x9b\xef\x71\xca\x93\xc2\xda\x6a\xa6\x1d\x1b\x43\xdc\xfb\x9d\x32\xa7\xb0\xdd\x68\x1a\x0e\x48\xf7\xf5\xbd\x65\xa0\x2e\xec\xd9\x1d\xe3\x43\xea\x2e\xd7\xf7\x6e\x82\xb4\xb0\xf9\x9a\x0d\x07\x20\x69\xfb\xde\xe1\xc6\x15\x0f\xad\xa6\xf1\xef\xce\xd0\xf4\xfe\x66\xb7\xa3\x78\x0c\xaf\x3e\xfe\x59\xd4\x8d\xde\x3f\x13\x24\x85\xe3\xc6\x4f\xed\x17\x31\x44\xdf\x1c\x02\xa4\x70\x98\x08\xe2\x5f\xce\xc4\xeb\x9b\x47\xa0\x28\x1c\x3e\x7e\xc6\xbf\x96\x6a\xd5\x1b\x8e\xdb\xad\x70\xdd\xd0\xd7\x7e\xb4\x1f\xb9\xb7\x68\x82\xae\x70\xe7\x7a\x8c\x7f\x7b\x5f\x55\xef\x8b\x09\xe2\xc2\xd3\xcc\x7c\xf8\xfd\xc0\x3e\xad\x57\xb3\x5a\x8b\xe7\x56\x2f\xc3\xf9\xc1\x44\x6e\xbd\x4f\xb7\x73\xe1\xe3\x7a\x1e\xce\x19\x85\xdf\x55\x43\xee\xb9\xf0\xc5\x7a\xd2\xce\x75\xff\x76\x56\x33\xa5\x4b\x11\x0c\x4e\x32\x9c\x67\x26\x56\xab\x05\x65\xad\x08\xad\x7a\xd1\xce\x3f\x26\xae\xab\x93\x81\xa1\x08\xf3\x7a\x8e\xcf\x90\x8c\xed\xea\x22\x30\x16\x21\xff\xca\xb5\x33\xa0\xe2\x77\x7d\xa6\xa7\xa3\x78\x05\xcf\x0b\xcf\xa9\x4c\xf2\xd7\x38\x03\x47\x11\xcd\x51\xa1\x71\x25\x13\xe5\x35\x45\xe0\x5b\xc4\x81\x19\xc7\xdc\xd0\x45\xf2\x9a\x67\xad\x5f\xc4\xb3\x95\x68\xdc\x9b\xa6\xe6\x5a\xec\xcb\xa5\x88\x41\xd2\xc4\xdc\x99\xf4\xce\x5a\xa1\x6b\x5e\x24\xa4\x7e\xf3\x1c\x62\x52\xbb\xb6\xf5\x22\x15\x29\xf6\x3e\x31\x6f\xd0\xb3\xbc\x76\x26\xe0\x8a\x54\xac\xdf\x1a\x1f\x32\x29\x5b\x69\xbd\xfe\x15\x59\x9e\x08\x1a\x9f\xf5\xc8\x59\x07\xe4\xfd\x15\xd9\x4f\x7a\xc6\xfc\x9b\xd0\x68\x5d\x20\x3d\x17\x85\x55\xef\x1a\xcf\x31\x49\x5e\x37\xb3\xbe\x16\xc5\x91\xb4\x9a\xf0\xc7\x2e\xd9\xfa\xcd\x4e\x7f\x45\x99\xd7\x7b\x2c\xe8\x54\x36\xd7\x03\x9d\x6e\x45\xf9\x93\x9e\x83\xe0\x75\x3c\x5d\xcf\xd9\x49\x2d\x2a\xab\x3e\x06\x21\xea\x91\xba\xf2\xe6\xc9\x28\xaa\xa1\xfe\x0c\x02\xee\x69\xb5\xc2\xec\x64\x16\x38\xa8\xf7\x41\x18\xd8\xc5\x5f\x45\xf3\x64\x17\x78\x36\xc0\x20\x2c\xec\xa2\xae\x92\x79\x7a\x14\x58\x7c\xc6\xbc\xf0\x05\x67\x7f\xbd\x8c\x32\x28\x6a\x37\x1a\x79\x81\xeb\xf2\xef\x2a\x9f\xd6\x5b\x51\x93\x7a\x8b\x05\xc4\x2e\xd5\x0a\x26\x27\x2b\xea\x5d\xf2\x63\xe1\xd2\xdb\xfe\x76\x4d\x67\xb3\x68\xb0\xf3\xe3\xa1\xd1\x5d\xcc\x4d\xc9\x80\x54\x34\xb3\x97\xc6\xd0\xee\xb4\x75\xbb\x23\x20\x16\x6d\x5c\x9f\x35\x98\x75\x90\xdb\xb4\xf1\x80\x45\xbb\xd5\x02\x0f\x2b\x26\xd3\x4d\x87\xdb\xab\x20\x4a\x58\x0c\xb0\x65\xb2\xbf\x19\xe8\x54\x15\x24\x30\x96\x18\x52\x12\xa9\x9b\xb9\xaf\x46\x41\xb0\xb9\xf2\x70\x62\x72\xb6\x59\x48\x9b\x0b\x72\xd4\xbf\x18\xae\xec\x22\x6f\xf6\xc8\x35\x05\x01\x35\xd4\x20\x04\xe7\x6c\x73\xb3\x53\x51\x74\x8b\x14\xc4\xf0\xc2\x64\x67\xf3\xa6\x53\x5e\xf4\x6e\x3c\xc7\xc8\x62\x72\xbb\x85\xd9\xa9\x2c\x7a\xf1\xf1\x1b\x50\xdc\x5d\x9c\x2d\x36\xcd\xb4\xa0\xbb\xe4\xf3\xa8\x64\xb2\xb9\x25\xa8\x72\x8b\x01\xd7\x5c\x8c\x16\x76\x41\x5b\x31\xb9\x41\x31\x80\xfa\x1c\xa3\x83\xc9\xd5\x56\x4d\xed\xa7\x60\xa2\xbb\x6b\xe8\x44\x27\xb4\x35\xe6\xa9\x2d\x46\xeb\xb5\x68\xe2\x83\x01\x6e\xeb\xe0\x81\x8a\x49\xf1\x1a\x4d\x8c\x19\x70\xb6\xc1\xc4\x6b\x31\x1d\x4e\x1a\x8b\x15\x3b\x5d\x37\x06\xbb\x77\x31\x5b\xb5\x34\x88\x94\x01\x73\x9b\xa7\xd3\x58\xcc\xa0\x16\x07\xf1\xa0\x3c\xda\xd6\xe9\x44\x8b\x05\x87\x61\x2c\x8a\x0c\x54\xdb\x5e\xaf\x56\xb1\x80\x5a\xe2\x25\x85\x01\xba\x7d\xcd\x42\x2d\xde\x71\x8d\x34\xc9\xec\xe6\xeb\x76\xa0\xd3\xa5\x78\x1f\x16\x19\x24\x9f\x81\x6c\x3b\xa3\xd3\x52\xac\x41\x2d\x69\x52\xd4\xe3\x69\x13\x32\x3d\x2d\x56\xb1\x96\x35\xe9\xcd\x4e\xd3\x26\xa1\x13\x2c\x76\x2b\x0c\x34\xe9\x0c\xef\xe6\x26\xa3\x13\x57\xec\xa4\x96\x07\x09\x30\x19\x6d\x27\xb8\x65\xc5\x47\x8b\xe2\xf8\xa2\x74\x0b\xb7\x5f\x47\x3e\x29\x3e\x43\xfa\x1a\x2e\x1e\x3b\x99\xfb\x1d\x5f\xaf\xc5\xd7\x35\x49\x7c\x79\xf5\x69\xb6\xab\x59\x90\x15\x87\x62\xed\xfc\x85\xd0\x53\xbb\x1b\x28\xaf\x8b\x63\x0b\xce\xda\xe5\xcd\x4e\x74\x7f\x64\x27\xa9\xf8\x59\xfe\x2b\xbe\x40\x78\xbf\xee\xde\x74\x12\x8a\x1f\xa8\x2f\xb1\x7c\x25\x6f\x75\xf7\xd3\xc3\x2c\xb8\xb0\x09\x07\x39\x85\x77\xba\xc7\xe8\xc6\x17\xdc\x61\x35\xbc\x5c\x77\x50\xdd\x33\xf7\x1a\x14\x7c\xd1\x04\xbc\xbc\xf6\xf3\xb4\x17\xdb\xd5\x28\x78\x10\x70\xbc\xfc\x81\xda\xba\x57\xee\x55\x2d\x84\xae\xf1\x35\x59\x84\x77\x6e\xaf\xdd\xab\x5e\xc0\x5b\xe3\x0f\xe0\x0a\xef\xdf\xbd\x99\x94\xba\x80\x61\xf3\xe4\x81\x06\xce\xeb\x4e\xdc\xab\x57\x40\xa9\x79\x69\xc0\x27\xef\xeb\x4e\xc1\x35\x2a\x44\xbd\x89\x34\xd0\x41\x35\xdb\x27\xf7\x9a\x15\xe2\x1c\xa6\x03\xf8\x42\xd5\xd9\xdf\xa7\xf5\x51\x48\x49\x13\xf1\x00\x75\x86\xb3\x7f\x4c\x5d\x28\x2e\x7a\xf3\x8a\x4f\x0a\x55\xa7\xfd\x03\xae\x69\x71\x29\x9a\x24\x3e\xbd\xa0\xba\xee\x1c\xbe\xe2\x42\xee\x9a\x34\x3e\x15\x50\x9d\x76\x01\xf2\x56\x01\x94\x97\xcf\x9f\x5a\x26\x55\x3b\x32\xf1\xab\x00\x7b\x93\x68\xa7\x37\xd4\xae\xbb\x34\xe9\xbf\x02\x9c\x9a\x84\x3f\x7d\xe1\x7d\xda\x2f\xa7\xd5\x29\x4e\xc9\x48\xe2\x13\x0f\x35\x7f\x07\xdb\x75\x2c\x4e\x52\x93\xb1\xbf\x2b\x38\xa3\xcf\xb5\x5e\xbd\xf2\xaf\x6e\x52\xf6\x67\x42\xcd\xf9\x28\xe0\xca\xca\xbf\x53\x93\x25\x7f\x3e\x8d\xb9\x8f\x8a\xaf\x6b\x79\xed\x9a\x9c\xfd\xe5\x50\xa3\x1f\x0d\x5c\xdf\xe5\x95\x0f\xcf\xec\x0f\x43\x0d\x7d\x74\x64\x45\xa5\x92\xfb\xa2\xf0\xc7\x00\x77\xfd\x58\xa6\xd2\x95\xca\xaf\x29\x84\xbf\x0f\xd4\xd5\xcf\x63\xbb\x7e\xca\x9b\x58\x5f\x84\xeb\x03\xea\xe6\xe7\x95\x79\xb4\x54\xbb\xa6\x14\xae\x1d\x29\xd1\x27\x47\xee\xab\xd4\x80\xe5\xeb\xd7\x0f\x81\xfe\x07\x1b\x52\x59\xea\x87\x73\xd6\xaf\x32\xe0\xd4\x4f\x9b\xb5\x5a\x69\x0c\xcf\x96\x29\x16\x49\xa7\x4f\xb7\x5d\xb9\xd2\xb4\x9b\x4a\x57\x32\xc0\x99\x9f\x19\x5c\x61\x69\x1d\x41\x9c\x28\x2b\xd4\xd7\xcf\xb2\x5d\xf9\xd2\x3a\x35\x98\x29\x3f\xa8\xd3\xcf\x66\x3a\x75\x69\x0f\x06\x27\x28\x22\x18\xcc\xcf\x86\xea\x5f\xf9\xe8\x9a\x3a\xb9\xd9\xe4\x55\x7d\x7e\x40\xf9\x2b\x1d\xd6\xd4\xec\x56\x41\xfd\xfb\x11\xc0\x55\x28\x3d\x2d\x7e\xb2\x1b\x82\x86\xf9\x39\xd5\xeb\xab\x7c\x86\x4d\x93\xdc\x4d\xc0\x39\xdf\x1b\x1c\xec\xd2\x0f\x9b\x56\xbf\x67\xb4\xb8\x7e\xb5\x4d\xb9\x95\xfe\x11\xbf\x85\x7b\xdb\x5d\xa2\xaf\x39\xa9\x41\x19\xe6\xde\x57\xbf\x5f\x00\x97\x7d\xfd\x7d\x4d\xca\x17\x4e\x40\xa2\x9a\xd0\x98\xbe\xa1\x79\x13\xca\x97\xd4\xb4\x4c\x8d\xa0\xb1\x7e\xa3\x71\x78\x94\x11\x93\xa2\x44\x2d\xa1\x41\xbf\xe9\x14\x5c\xcb\x38\x6c\xda\x44\xa5\xd0\x68\xbf\xd9\x78\xd2\xca\x18\xbf\x7e\x82\x3a\x41\xe3\xfb\x2d\x0c\xc9\x2b\x63\xf1\x09\x74\x55\x86\x86\xfc\x6d\x5d\x45\x2f\x53\xf2\xf0\x99\x66\x41\x83\xfb\x76\xa8\xda\xcb\x2c\x6c\x7a\x5d\x8b\xc4\xd9\xff\x0e\xa9\xbc\x95\xd9\xa9\xe9\x13\x6d\x84\xa6\xf9\x5d\x4c\xdf\x29\x0b\xbd\xa1\xba\x86\xa0\x19\x7d\xf7\x7d\xcd\xca\x52\x7b\xbd\x98\x7e\xeb\x51\xf4\x3d\x5c\x25\x29\x4b\xd6\x0c\x89\xee\x52\xd9\xf9\x9e\x5d\x25\x2e\x2b\xbb\x19\x74\xfd\x45\x52\xee\xcb\x61\x25\x2c\x2b\x9c\x63\xa6\xd7\xd0\x9c\xbe\xd0\xd4\xf4\x12\xc7\x6e\x24\xe8\x03\x34\xbf\x5f\x04\x94\xa2\xc4\xc7\xf3\x29\xe8\xeb\x50\x55\x5f\x69\x53\xaa\xb2\x4e\x1a\x26\xe8\x08\x1a\xe8\x0b\x80\x82\xcb\xfa\x27\xc5\x4c\x07\xd0\xba\x7e\x4f\x28\xc8\xcb\xa6\x68\xc6\xc4\x70\xa0\x65\x1e\x77\x57\xe9\xca\x76\x6f\x26\xdd\x18\xfb\xf5\x7b\x58\x9b\x32\x94\xe4\xd7\x4c\x89\xb1\x42\xab\x3a\x1e\xae\x32\x96\x9d\xe5\x0a\x89\xc1\xd1\xd4\x39\x9c\xa9\x98\xcb\x6e\x69\xe6\xc4\x90\xa0\x35\x1d\x9e\xa9\x72\x65\xc7\xbb\x23\x33\x00\xb4\xd6\xc3\x03\xca\xbb\xec\x6f\xcd\x92\x98\x1a\xad\xae\x87\x8f\x42\xb5\xec\xbb\x66\x61\xa6\x4d\xf5\xec\x08\x4d\x6b\x29\xa9\xdd\x2c\x82\x99\x12\x1c\x1d\x71\xba\x39\x25\xdd\xe2\xaf\x6e\x56\x74\xf1\x8f\x04\x0e\x47\x39\x68\xe9\x4b\x30\x09\x65\xea\x91\xa1\x78\x2c\x87\xe1\xb9\x26\xe6\x01\xed\xeb\x51\x99\xde\xb5\x64\xc3\x63\x4c\x4c\x19\xda\xea\x51\x8f\x42\x50\x8e\xb7\xe6\x2d\x58\x57\x68\x9b\x47\xb3\x29\xe7\x72\xac\x9b\x35\xb1\x02\x68\x67\x07\x1d\xd7\xaa\x9c\x6f\xcd\x2a\x58\x04\xda\xed\x31\xc1\x83\x94\xf3\xf1\xfa\x32\x6b\x07\xdc\x7a\xbc\xb1\x22\x96\x8b\xe5\x5d\x04\x8b\x87\x36\x3d\xb6\x7a\x2d\xcb\x45\xb4\x57\x66\x2b\xd0\x5e\x8f\x0f\x50\xe4\xf2\x1d\x36\xbb\x6e\x6b\xd0\x46\xc7\x6f\xfc\x79\xe5\x7a\x6b\x76\xc1\x0e\x08\xa8\x0e\x0e\xa9\x75\xb9\x0e\x0e\x4b\xec\x02\x3e\xd4\x03\xba\x37\xa5\xdc\xf4\xe6\xa3\xdb\xa4\xdb\xd6\x43\xcc\x3c\xad\xdc\x0e\x7b\x15\xec\x15\x3e\xfc\x43\x46\xa6\x5d\xee\x5d\xf3\x11\x6c\x34\xa8\xfe\x71\x32\x03\xa5\xdc\x85\xe6\x2b\x3c\x2c\xf8\xa0\x3f\x75\xbb\x69\xe5\x17\xc7\x67\xf6\x28\xe0\xa3\xfd\xe9\xee\xcd\x2a\xbf\x7c\xf2\x61\x8f\x1a\x70\xdc\xcf\x74\x6f\x6e\x79\x24\xcd\x2f\x79\x4c\xfd\x94\xfd\xac\xc9\x7f\x94\xc7\xf6\x18\x85\xc7\x06\x1f\xdf\x9f\x0d\x6e\x76\xf9\x0b\x92\x97\xfe\xe0\x29\xa7\xfe\x1c\x70\xf3\xca\x9f\x68\x76\xec\x71\xea\xb2\xec\xe7\x1b\xa2\x52\x9e\x93\xe6\xac\x3b\x2e\x74\xd4\x5f\x08\x6e\x61\xc9\x61\x2f\x65\x4e\x07\x9d\xe8\x97\xbb\xb7\x57\xc9\x2f\x0d\xc7\x9c\x0f\x19\xbe\xbf\x72\xbb\xa5\xa5\x90\x48\x89\xe0\x08\xd0\xa9\x7e\xd8\xbd\xe5\xa5\xb0\x34\x7c\xe2\x48\x9d\x3d\xfd\x5a\x13\x0f\x25\xc4\xf6\xc1\x5c\x93\xe4\xfe\x8f\xc0\x7d\x2c\x51\x6e\x09\x82\x3b\x51\x90\xfd\xde\xdb\xad\x2c\x25\xaf\x11\x98\x2b\x01\xfe\xfa\xdb\xf1\xad\x2e\x2f\x8a\xf9\x13\x3c\x05\x3a\xeb\xef\xf0\xd6\xb6\xbc\x0c\x6e\xac\x7b\x56\xbf\xc8\xbf\x1f\xbe\x55\xe5\x45\x92\x32\xdd\x0b\x00\x6f\xfe\xb8\xed\x46\x4a\x59\x74\x25\xdd\x6b\x00\xef\xfc\x20\xb8\x35\x25\x88\x1f\x49\xe2\xcd\xf4\x51\xfd\x24\x7c\x6b\x4b\x20\x35\x27\xdd\xfb\x02\x3e\xfb\xc9\xf8\xc6\xca\x13\x79\x6c\x82\x07\x08\x8c\xce\x7f\xe0\xd6\x57\x7f\x71\xc2\x92\xa7\x06\xf8\xe8\x7c\x45\x78\xab\xfe\x06\x5f\xd6\x9f\x04\xba\xd9\xd9\xac\x57\x56\x29\x85\x94\x27\xcf\x09\xf0\xed\xd9\xda\xd7\xb9\x52\xa4\x46\xd4\x9f\x07\x95\xfd\xf3\x03\xee\x51\x75\x0b\x5e\x80\x3d\x39\xaa\xd1\xb3\xb3\xdd\xa6\xea\xb6\x34\xa2\xf0\x3c\x41\x17\x9d\x9f\xf8\x36\x57\x6a\xd2\x48\x89\x9f\x75\x6e\x7b\x8e\x47\xfa\xae\xd4\xbd\x91\x04\xbf\xec\xcd\xeb\x39\xd9\x6e\xef\x4a\x05\x09\xcf\xfc\x06\xf0\xeb\x39\xdd\x6e\x47\xa5\x79\xf3\xc8\xfc\x1e\x7a\xd7\x73\x8e\x6f\xbf\x4a\x5b\x1a\x94\xf8\x3b\xf4\xd4\x73\x69\xf0\x62\xa5\x7b\x8d\xac\xfb\x3c\xf4\xa2\x73\xfd\x6f\x9b\x1b\x9e\x54\xe8\x81\x09\xbd\xec\x4c\xc0\x4d\xa8\x4c\x49\x2a\x92\xa0\x86\xae\x73\x1e\xb7\x1b\xac\x2c\x6c\x7d\x58\xf0\xe9\x66\xe7\xbc\xe3\x1b\xaa\x1e\x4b\x03\x58\xe8\x41\x6f\x3d\x73\x06\xcd\x2b\xe7\xd7\x3e\xf5\xb0\xa1\xd1\x74\x86\x9b\x7a\xad\x5c\xd7\x1a\x59\x38\xc0\x97\x79\x46\x40\xbd\x55\x2e\x6b\x7d\x3d\xdc\xe0\x2b\x3b\x5f\x5c\x55\xaf\x3c\xbd\xf5\x93\xf0\xa0\x89\x79\x96\x37\xd5\xac\xbc\xba\x0d\xf4\x10\x02\x1e\x71\x7f\x58\xb5\xab\xa7\xd7\x06\xec\x75\x87\xaf\x2f\x77\xc5\xaa\x53\x3d\x7f\x6d\x28\xbc\x1c\xf8\x42\xdc\x6d\xe4\xb3\xca\xd7\xdb\x57\xf2\x0a\x61\x74\xe5\xd4\x74\xb9\x55\x3e\x79\x96\xec\x95\xf7\xdc\xca\xe9\xae\x1a\x54\xbe\xf8\x5c\xd9\xab\xee\x28\xe5\x0c\x38\x64\x55\x90\xb4\x2f\xe1\x35\x50\xe1\xca\x59\x66\xd2\x56\xc1\xde\x46\xfa\xeb\x0d\xe6\x96\xb3\x91\xd3\x55\xa1\x92\xbc\xd8\xeb\xdb\xc5\x26\xf7\x98\xae\x65\x15\xba\x41\xce\x5e\xc2\x50\x98\x9c\x6b\x5a\xef\x2a\x9c\x4d\xc4\x5e\x12\x8c\x22\xce\x73\xd5\xb8\x7a\x85\x6d\x2c\x44\x1a\x8c\x28\x17\x60\x35\xad\x5e\x73\xf5\xd1\x23\x9b\xf4\x11\x17\xba\x6a\x52\xbd\x78\x83\xd7\x23\x8f\x5a\x2d\xf7\xca\x42\xa3\x8a\x82\x64\x11\xa2\x0c\x46\x5f\x2e\xde\xd4\xbc\x8a\xb6\x00\x0b\x51\xd9\x5b\x3e\x97\x64\xc1\x54\xc5\x4a\x14\xea\x11\x81\x11\xe2\x32\x13\xcf\x55\x1c\x3f\x0a\x3d\x1a\x60\x24\x73\x19\x50\xab\x2a\x1e\x5e\x9c\x1e\xcd\x30\xbe\x72\x39\x50\xdb\x2a\x16\xa4\x42\x88\x76\xe2\x50\xae\x34\x4e\xe7\x2a\xf1\xda\x8c\x45\x67\x18\x3b\x5c\x35\x79\x4b\x95\xd4\x6d\xca\x22\x48\xce\x11\x57\x03\x75\xaa\x52\xbb\xcd\xf4\x58\x83\x71\xc4\xb5\x40\x1d\xab\x94\xb5\x99\x10\x5b\xf4\xe5\x73\x04\xa9\x6d\x95\x8a\x7e\xaa\xc7\x1e\xe1\x10\xd7\x63\x75\xae\xb2\xb0\xcd\x85\x38\x87\xf1\x97\x63\x58\xdd\xaa\xdc\x6b\x8b\x24\xa6\x24\x89\xb8\x19\xa8\x7c\x55\x68\x2f\xc4\xe2\x03\x26\x57\xee\x0d\xd4\xa3\x2a\x92\xb6\xd2\x63\xd8\xab\x1c\xb7\x61\x95\xab\x8a\x5f\x5b\x0a\xb1\xdc\x2d\x88\xdb\x37\x75\xaf\x4a\xbb\x2d\x93\xe4\x46\x63\x95\xfb\xa6\x27\xbd\x2a\xeb\x16\xeb\x89\x05\x93\x8a\xfb\x61\x15\x55\x95\xe5\x4e\x7a\xf2\xea\x72\x8e\xe3\x32\x37\xa9\xaa\xae\xc5\x2c\xc9\xfa\x37\xe5\x78\xa0\x5e\xaa\x4a\x4c\x98\x90\x10\x98\xac\x1c\x44\x9a\x59\x61\xd6\x36\x2c\xf9\xc0\xd4\xe7\x2e\x9b\xa6\x56\xb5\x1b\x94\x42\x72\x86\xa9\xc3\x81\x4d\xfb\xab\xea\x5f\x5b\x27\x09\x80\x09\xe2\x4e\x40\xbb\x56\x8d\xde\x12\x3d\x35\x61\x9a\xf1\x0a\xd0\xf4\xaa\x11\x5a\x92\xa4\x35\x4c\x57\xde\x70\xb5\x47\x45\xf4\xb6\x4b\x52\x02\x53\xc4\x9b\xae\x66\x55\xa4\x6e\x7b\x3d\xfd\xc0\x54\xe6\x1d\x57\xf3\xab\x6e\x4b\x3e\x42\xa6\xc0\xcc\xe7\xfd\x4d\x0b\xaa\xbe\x6e\x7b\x21\x33\xc8\x76\xe5\x43\xb3\xb8\x54\xd4\x8a\x0e\x3d\x8b\x61\x96\xf1\xb1\xab\x45\x15\xfd\xb5\x54\xc8\x5a\x98\xb5\x7c\xba\x69\x65\x35\xd4\xed\x90\x64\x23\xcc\x26\x3e\xc7\x5a\x51\x0d\x4b\xcb\x92\xec\x0d\x33\xc4\x97\xae\x56\x57\xcc\x6e\x47\x3d\xe3\x61\xae\xf2\xd8\x0c\xd6\x8a\xcd\x61\x21\x64\x12\xcc\x4d\xbe\x36\x83\xa0\x62\x7c\xf4\x12\x32\x00\x73\x87\x6f\xbc\xf5\x53\x8d\x76\x3b\xe9\xf9\xad\x3f\x53\xbe\x35\x26\xad\x1a\x73\x27\x15\x72\x1d\xe6\x11\x4f\x5c\x6d\xa8\xc6\xbd\x9d\x84\xdc\xed\xfa\x96\xef\x5d\x6d\xaa\x26\xaf\x9d\xf5\x3c\x86\xf9\xc4\x0f\x58\x5b\xaa\x69\x91\x4a\x21\x2f\x80\xa0\xf2\xcc\x5b\x8f\x6a\x92\xa4\x4a\xcf\x07\xea\x56\xfc\xb2\x69\xef\x6a\xb9\xb5\x4b\x92\x9f\xc5\x91\xf2\x2b\xd0\xb6\x6a\xe9\xda\x45\xc8\x11\x2c\xae\xfc\x36\x22\xa7\x5a\x4e\xed\x3b\x29\x14\xaa\x47\xfc\x07\x65\xa0\x7a\xe7\x66\x91\x14\x06\x49\x32\xfe\xd8\xb4\xa3\x7a\x0b\xed\xaa\x17\x01\x2c\x1c\x9e\x9b\xdc\x67\xb5\xe2\xe7\x2a\x14\x05\xe3\x5a\x5e\x70\x35\xae\x5a\xc5\x78\x17\x8a\x1a\x16\x19\x0f\xd3\xe5\x5e\x6d\xee\x8b\x4b\x8a\x1e\x16\x15\x8f\xb0\x06\xab\xad\x6e\xb7\xa4\x98\xe9\x3a\xf1\xd2\x54\x84\xd5\x6e\x05\xbb\x5e\x9c\xfb\x74\xe2\x81\xab\x49\xd5\xbe\x79\x0d\x2b\x40\x77\x69\x85\x3f\xac\x81\xea\x13\xb6\x7b\x52\xea\xb0\xf8\x0a\x8a\x19\x4a\xd5\x67\xb0\xbe\x49\x69\x77\x56\x25\xdc\x5c\xfd\x5e\x7d\xf7\xf6\x93\x94\xb8\x57\x91\xa0\xa3\xfc\x53\x1d\xb7\xf6\xa3\x97\x3d\x2c\x4d\xc1\xc4\xfa\xad\x3a\x8a\x76\x17\xca\x09\x96\x91\xe0\x00\x5d\xab\x7e\x24\x58\x92\x52\x24\x9b\x2a\x78\xa6\xa5\x56\xe7\x9b\x54\xb1\x4a\x83\x65\x25\xf8\x40\x37\x2a\x6e\x69\x0f\xa1\x2a\x7a\xa3\x12\xd2\xcc\x53\x2a\xde\x6b\x7f\x7a\x45\x29\x33\x85\x6c\xd3\xcd\x8a\xef\xda\x83\x55\x0b\x2c\x65\x01\x63\xdd\xad\x04\xa9\xfd\x25\xd5\x09\x56\xaa\x40\x80\xfe\xac\xa0\xd4\x9e\x19\xf6\x61\xe5\x0b\x6c\xd3\xc3\x4a\x54\xa2\x43\xc0\xb4\x13\x22\x61\x31\xeb\x7b\x25\x0a\x2d\x97\xe0\x4f\x2f\x45\xc2\x1b\xe8\x71\x25\x15\x2d\x27\x60\x04\xab\x55\xd8\x80\x9e\x55\xd2\xaf\xe5\x19\x96\x61\xd5\x0a\x3b\xd0\xcb\xea\x52\xb7\x42\x52\x3b\xb0\x42\x02\x07\xf4\xba\x92\xe7\x78\x4d\xea\x02\xe2\xab\x20\x98\xc5\x56\x01\xbb\x85\x49\xdd\xf5\x03\x27\xa0\x2c\xb0\x2a\x80\x6d\x31\xa9\xa7\x9e\x4e\x82\x84\x75\x52\x01\xd1\xde\xf4\x7a\xef\x1f\x48\xb8\x00\xbd\xab\x4e\x87\xb3\x09\x8d\x02\xb1\x0f\x6f\xae\x4e\xf1\xd5\x7a\x4c\x7a\xf3\xea\x2a\x07\xaa\x58\x67\x58\xb9\x49\x58\x6f\xda\x5e\x88\xa0\x99\x0a\x2f\xac\xe4\x76\x91\x34\x8c\xf6\x0e\x7c\x4c\xfe\x8c\x6f\x41\x58\xb1\x46\xec\x92\x15\x7a\x40\x9f\xf0\x3d\x91\x70\xd2\xba\xdd\x85\xc2\xa4\x5e\x45\xac\x05\xc9\x5b\x6f\x97\x2e\xf6\x61\x61\x1c\x14\x6b\xe0\x35\x26\xed\x01\xf1\x0a\x2b\x6f\x95\xb0\xbe\xb4\x52\xd2\x5e\x3a\x97\xc2\x06\xeb\x6f\x6c\xe4\x81\xac\x13\x1d\x62\x19\x76\xc6\x14\x63\x43\x68\x45\x46\x5c\xea\xb6\xb0\x4f\xa9\x87\x4d\xd7\x11\x19\x89\x06\x5d\x85\x14\xe8\x1b\x36\x97\xf6\xa2\x93\x8e\x96\x14\x4e\xe8\x96\x60\x8b\xb5\x17\x46\x66\x58\x3b\x70\x01\xfa\x17\xdb\xb1\x55\x24\x44\x84\x35\x85\xbb\xab\x43\x6c\x8b\xee\x94\x74\x57\x58\x4f\xf0\x8b\x75\x0e\x3f\x8a\x16\x08\x9d\x05\xeb\x0c\x1e\x28\x8c\xb1\x73\x6b\x65\xbd\xf3\x61\x5d\x41\xce\x35\xaf\xd8\x59\xc8\x53\xef\x18\x1d\x55\x28\xba\xfa\x05\xbb\x87\x21\x26\xdd\x0e\x7b\x07\xca\xae\xa9\x60\x8f\xf7\x0e\xd6\x5f\x61\xef\xa3\x2b\x52\x09\x7e\x4a\xc4\x67\xbd\x0f\xfb\x08\xdd\x37\x53\xc7\x3e\x6b\x11\xeb\x07\x88\x5b\x64\x6d\xa6\x89\x83\x9d\x04\x7a\xff\x06\xc2\x17\x3d\x0c\x71\xc0\xe1\x9c\x20\xa1\xbf\x74\xeb\x15\x79\x9b\x69\xe1\x97\xf2\x88\x18\xbd\x12\x4e\x46\x3e\x5c\x35\xfc\x22\x6e\x23\x50\x93\x72\x0e\x7a\xb9\xe6\x13\x47\x1e\x09\x05\x1a\xf5\xb1\x83\xa2\xcd\x7c\xe0\xa8\x26\x21\xa3\x79\xc7\x4f\x28\xc9\xae\x35\x8e\x24\x12\x26\xb4\x86\xfd\x8a\x52\xd3\x37\x71\x6c\x79\x87\x40\x29\x8d\x56\x94\x1b\x42\x84\x63\x3e\x1c\x74\x2a\x40\xaa\x22\xbc\x99\x01\x4e\x4e\x24\xd7\x87\x3f\x22\x67\xa8\xc9\xda\x12\xa7\x81\x1f\xe9\x83\x0a\xa9\x83\xc8\xc8\x9e\x38\xe5\x03\x39\x19\x5c\x9a\xc9\xa8\x3b\x6d\x57\x9c\x85\x52\x23\x0c\x05\xa4\x3e\x62\xe9\x96\xe3\xbc\x20\x51\x32\x30\x48\x2b\x34\x6f\x66\x8a\x73\xf1\x15\xe8\xc3\x07\x52\x8a\xde\xc0\xcc\x71\xc1\x48\x2c\x0c\x22\x91\x2b\xb4\xa7\xcc\xc7\x85\x18\x7e\x84\xe1\xd4\x9d\x2b\xf4\x31\xc4\x3b\x2e\x75\x92\xe8\xcc\xec\xce\x2d\x3a\x20\x33\x70\xa5\x45\x29\x63\x01\xa4\x1c\xe2\xb2\x70\xc2\x15\xf1\x33\x9d\xd5\x70\xb8\x22\x88\xcd\x16\x63\xf7\x45\x12\xd6\xf7\xda\x15\xa1\xcd\xc4\x18\xe3\xa0\x49\xd8\x04\xa9\x8c\x24\xe3\xf4\xc0\xb5\x62\xf0\x8c\x49\xe4\xdc\x8a\x7f\xae\x49\x70\x43\x02\x99\x8d\x36\x1c\x1c\xf1\x96\xdd\x54\xdc\x88\xf1\x2c\x8c\x2f\xfa\x32\x45\x15\x98\x3d\x6e\x3b\x92\x25\x63\xd6\x33\x5f\xd4\xa6\x5a\xc5\xed\x8f\x64\xc2\x58\xc3\x21\x13\x0d\x43\x5a\x31\x91\x48\x9e\x8c\x5f\xe2\x22\xf1\xb1\x99\x6f\xdc\xd5\x24\x67\xa3\x44\x2a\x53\xf4\x8c\xef\x8a\x3b\x81\xe4\xc2\x08\xba\x38\x12\x3d\xc8\x07\xb8\x57\x22\xa4\x4f\x0a\x1c\x38\xf1\x89\xb2\x1f\xee\x0b\x52\x08\x93\xd9\x3f\x64\x31\x4c\xe9\x86\x7b\xd1\xdc\xf4\xc9\x23\xd6\x24\xbe\x5c\x73\xc3\xb4\x26\xa5\x3e\xb5\x90\xa9\x62\x3a\x9e\x38\x3c\x78\xa4\x64\xd3\x44\x06\x24\xe6\xc0\x3c\x63\xa6\x3c\x08\x9b\xce\x04\x66\x62\xb5\x99\x1c\x66\x83\x7d\x11\x26\x11\xb2\x4c\xac\xb3\x9b\x88\x19\x08\x0f\x61\xbe\xf6\x0e\x12\x1b\x28\xfc\xf0\x18\x92\x4a\x98\x8d\x7e\x34\xc5\x7e\xd2\x6c\x3c\x79\x04\x27\x73\x04\xd9\x2a\xd2\xcd\x84\x78\xaa\x09\x66\x73\xda\xdd\x55\x91\x01\xf3\x82\xe7\xe1\xe1\x27\xf3\x4c\x60\x25\x2e\x53\xf5\xc5\xf3\x89\xd4\x6c\xfe\xc0\xf1\x2a\xae\x23\x75\xf0\xb2\x90\x46\x98\x4f\x64\xca\xc4\x0f\xb0\x14\xfc\x0e\x49\x93\x2c\x2a\x1c\x23\xf1\x0b\x4c\x19\xbf\x3b\xd2\xb2\xc5\xa2\x62\x25\x1e\xc0\xd2\xf1\x5b\x20\x44\x5f\x3c\x00\x7d\xf1\x9c\x2d\x07\x5e\x6d\x42\xd8\x12\xc2\x91\x8a\x1c\xb6\x6c\xbc\x32\xd2\xe9\x4b\x4e\x25\x47\x14\x5c\xcb\xc1\xab\x30\x4a\xc9\x52\x77\x17\x4e\x84\xae\xe5\xe2\x4d\x27\x9d\xb0\x90\x4e\xc8\x44\x88\x5c\x1e\x6f\x09\xe9\xf5\x65\x00\x30\x12\x11\x32\x75\xbc\x2d\x52\x2b\x2c\x0b\x9c\x54\x51\xca\xcc\x02\x6f\x27\xd2\xb3\xe5\x43\x44\x47\x94\x27\x8a\xf1\x4e\x82\x5a\x5f\x50\xb7\xa8\x22\x18\x17\x0d\xef\x27\xd2\x0b\x6f\x05\xce\x57\xe9\xea\x5a\x31\xfe\xe4\x36\xd1\xdf\x06\x9c\x22\x49\xd9\x2c\x82\x3f\x3b\xa1\xfa\xdb\xeb\x2e\x48\xba\x63\x2b\xc5\xdf\x8e\x0c\xc9\x3b\xeb\xcf\x93\xa4\x01\x2b\xc7\x5f\xd1\xaa\x93\x77\xd3\xeb\x54\x32\xb3\xf8\x8e\x8f\x82\x30\xfd\x3d\xf6\x38\x93\x6c\xd7\x4a\xf0\xcf\x23\x83\xf0\xe6\xe0\xc4\x49\xce\x28\x20\xfc\x63\x64\xd2\x57\x95\xbe\x38\xc9\x9f\x82\x1e\x9f\x49\x38\x24\xab\x49\xe4\x56\x0a\x80\xd5\xe1\xf3\x8f\x8c\xc9\xea\x50\xdb\x91\x42\x60\x61\xcc\x29\x41\x9d\xac\x7e\x8f\x56\xe9\x35\xb9\x39\xe6\x02\x47\xd6\xd7\x18\x2e\x99\x94\x60\x6b\xc0\x7c\x42\x66\x7d\x65\x70\x5e\xa5\xc2\xb5\xde\x98\x97\xc8\x9c\xac\x1f\x38\x4f\x52\x89\x2d\x86\x85\x90\x4c\xff\xba\xd2\x24\x4b\x78\x4a\x1c\x0c\x73\xf3\x2c\x6c\x3a\x5c\x1c\x89\x00\xeb\x83\xa1\x40\xd6\x64\xf3\xe0\xe2\x4b\xfd\x14\x84\x18\x05\xf1\x94\x6c\x51\x47\x27\x89\x02\x6b\xc3\xa8\x23\xab\xb0\x65\x70\x31\xa5\x61\xb3\xbe\x18\xfd\xc8\x92\x6c\x15\x80\xad\xc4\x36\x6b\xc7\x08\x58\x5f\x61\x6b\x7b\xfa\x95\xe6\xe9\x26\x61\x91\x7f\x8d\xfa\xf6\x85\xcb\x57\x5a\xcd\x80\x60\x89\x3c\x05\x61\xff\x83\x0b\x95\x3e\x59\xe8\xe0\x4b\x48\xf6\x64\xd7\x68\xa5\x4a\x5f\x64\x8a\xf8\xc2\xc8\xa6\xef\x36\x5c\x26\xe9\xe7\x5a\x12\xbe\x9c\xc8\xce\xf6\xaa\x7b\x9b\x12\x34\xbd\x3b\x06\x21\xf9\x08\x3b\x85\x6f\x53\x42\x9b\x75\xc2\x60\x48\xa3\x64\x5f\xe1\xbb\x95\x2e\xc0\x7e\xe0\x53\x41\x8e\x64\x17\xe0\x3b\xba\xfc\xb9\xb6\x56\xff\xd5\xe4\x10\x3e\x0e\x7c\x5f\x2f\xf7\x8c\x85\xf5\xd5\x26\x5f\xe1\x13\xc2\xb7\x7a\x51\x5d\xdb\xaa\xaf\x35\x39\xeb\x9f\x9a\xbc\xdb\x8b\x81\x6d\xa7\x56\x3c\xf2\x63\x1f\x06\xdf\xf2\xc5\xda\xec\xa0\x56\x76\x72\x4e\x3e\x02\xf5\xfc\x8b\xeb\xda\x61\x7d\xe3\x13\xc0\x3e\x80\xe2\xf5\xe2\x01\x3b\xad\xef\x37\xc2\x25\xdf\x1b\x5c\xfd\x4b\x68\xde\x9e\xf5\x5d\x20\x9c\xf0\xf5\xe0\x4a\x2f\x2f\xd7\x8e\x6b\x35\x24\x42\xf2\x8d\xe1\x3a\x5d\x62\xd7\x2e\x6a\xf5\x44\xbe\xfa\xb7\x81\xeb\xf7\x92\xb9\x36\xae\xb5\x84\x08\xc2\xf7\x4d\x4b\xff\x52\x02\xbb\xa9\xf5\x38\x86\xfa\x17\x90\xcb\xf7\xd2\xa4\x5f\xa3\x36\x6c\x02\x93\xe3\x46\x0b\xf3\x42\x32\xc5\xa8\x8d\x2d\x5e\xd8\xe1\xc0\xcd\xbc\xf4\x26\xfe\xd6\xa6\xf5\xa2\xfa\x11\xf5\x71\x74\xa1\xc8\x0f\x6b\x93\x78\x85\x7e\x14\xc4\x46\x17\x06\x6c\x56\x5b\x3a\x41\xc9\x41\xe0\xe6\x5c\x26\x63\xae\x6b\x2b\xf6\x7e\xc2\xc1\xe0\xd6\x5e\x66\xd7\x1e\x6a\x6b\x27\x48\x3f\x56\xb8\x7d\x2f\xcb\x66\x2f\xb5\xad\x13\x91\x1d\x07\xdc\xe8\xe5\x0d\xec\xb5\xb6\x19\x91\xd8\x21\xf7\x76\x7b\xd9\x37\x7b\xaf\x1f\x37\x72\x49\x7e\x0a\xdc\xaf\x97\x6f\xfa\x7b\xd6\x8f\xd9\x8f\x84\x9f\x0b\x77\xe7\x72\x9e\xdc\xb2\x76\x0a\x72\x61\xbf\x14\xee\xfe\x45\x30\xe3\x5f\xed\x88\x7e\xa7\xff\xea\x2e\xce\x2e\xd0\xb5\xb9\xda\xb5\x92\x2f\xfb\x31\xb8\x57\x17\x09\xd8\xb0\xf6\x6c\x02\x92\xdf\x19\xee\xd3\x45\x1e\x45\xb5\xf6\x3a\x02\x84\x9f\xd8\x69\xe8\x02\xe0\x66\xd5\x9e\x68\x07\xc9\xf9\x0f\x9e\xaf\xf2\xdf\x54\x7c\xeb\x67\xe0\x64\xc2\x59\x85\xfb\x57\xbe\x6e\xce\xad\x7e\xce\x31\xd2\xcf\x36\x55\x57\xf9\x96\x45\x41\xed\x2b\x5e\x23\x9c\x5f\xf0\x6c\xca\x6a\x2a\xf9\xb5\x8f\x9d\x5c\x3f\xa7\xdd\x98\xc9\x5a\xba\x99\xb5\x3f\x47\xab\x7e\x2e\xe0\x59\x95\x75\x53\x1d\xea\x40\x89\xd3\xe4\xdc\x76\x75\x24\x1b\xa3\xa8\xd7\xc1\x16\xf0\xc2\xf9\x0d\xcf\x99\x6c\x4f\x75\x55\x07\xc0\xe1\x84\xf3\x07\x9e\x2b\xf9\x31\x5d\xdb\x3a\xf4\xba\x20\x39\x73\x9d\x7c\x95\xdd\x94\xdf\xea\x70\xe9\x02\xfd\x7c\xea\xce\x54\x7e\x8e\xc7\xa5\x7e\xb9\x7e\x26\x70\x77\x78\xf6\x65\x1f\x3b\x56\xfd\x2a\x24\xc2\x38\x03\x9e\x23\x39\x80\xdf\xbd\x7e\xfd\xba\x30\xe1\x5c\xc8\xa9\x72\x08\x0f\xbb\x8e\x6e\x5d\xa8\x73\x31\xe4\x22\x39\x3e\x6d\x76\x1d\x1d\x4e\x9e\x70\x98\x42\x4e\x4e\x53\x22\xd6\xb1\xdd\xbd\x18\xd7\x11\xb8\xca\xd9\xe6\x78\x75\xdc\x75\x2f\x9d\xdb\x7a\xc4\xc9\x25\x76\xdc\x3a\xb1\xbb\x40\xe0\x7e\xa4\xaf\xe4\x2a\xbb\x91\x3a\xc9\x1f\x13\xe3\x10\xe4\x2a\xb9\xc6\xce\xab\x4e\x59\x17\x31\xde\x83\x9c\x23\xf7\xf0\xfb\xa9\xb3\xc1\x7f\x27\x7c\x0e\xb9\x56\x1e\x90\xe6\xd6\xd9\xaf\xcb\x12\xbe\x06\x90\x93\x47\xd7\x69\xeb\xdc\xee\x62\x81\xef\x20\x27\xcb\x33\x94\x60\x9d\x1f\x06\x2f\xf0\x2b\xe4\x26\x79\xd9\x1c\x52\xe7\xa7\x2e\x63\xfc\xa7\x8b\x27\xf9\x9d\x15\xaf\xba\xb0\x02\x4e\xe7\xcf\x90\xfb\xca\x6b\xbd\x3d\xea\xa2\xee\x32\x9d\x87\x90\xa3\xf2\x36\x99\x55\x5d\xec\x5d\xc2\x78\x99\xd8\xab\xbc\x4f\x85\x51\x17\xa7\x2e\x49\x04\x9d\xc8\x54\x3e\xa6\x70\xae\xcb\xcd\xef\x12\xc1\xa3\x17\x24\x9f\x53\xe0\xd5\x95\xdd\x75\x4c\x88\x00\x44\x32\xb7\x39\xac\xae\xc8\xf3\xa4\x0b\x39\xe4\x1d\x59\x70\x9d\xb1\xae\x84\x2e\x67\x02\xee\xf7\x4a\x86\xae\xb3\xd6\x58\xef\xf2\x44\xe8\x69\x65\xca\xa2\xb1\x98\x35\x1e\xe2\x23\x11\xde\xc4\xf9\xca\x12\x70\xde\x75\x6d\x25\x40\x10\xce\x90\x5f\x65\x00\x07\xaf\x6e\xb4\x50\x64\xf0\x0e\x79\x04\xae\xd8\xe1\xea\x86\x75\x85\x00\x2d\x28\x64\x40\x01\xce\x51\xb7\xd6\x6b\x10\x60\xd1\xbd\x5b\xa0\x6f\xce\xb9\x6e\x4f\x5d\x99\xc0\x16\x0a\x15\x30\x36\xe7\x53\x13\xd7\x4b\x05\x38\xd0\xde\x07\x16\x94\x97\x9a\x48\x5d\x29\xc0\x2f\x84\x57\xf0\xd8\x1c\xa9\xee\x92\xae\x66\x50\x80\xc2\x17\xb8\xd8\xbd\xd6\xdd\xd2\x61\x06\x25\xc8\x5f\x81\x97\xdd\xfc\xba\x13\x5f\x47\x82\xae\x50\xe0\xc0\x13\x38\xb0\xee\x73\xff\xa9\x23\xab\xd3\x55\x10\x40\xd9\xaa\x7b\x41\xea\x04\x14\xf4\x77\x1f\x44\xa6\x1a\xd5\x34\xe9\x5a\x1d\xc5\x10\x66\x20\xc6\xae\x5e\xd3\xa5\x6b\x04\x54\x41\x18\x81\x64\x73\x50\x3d\x14\x5d\xc3\x10\x83\x70\x02\x39\x76\xcd\x7a\x98\xe3\x81\xa1\xb5\xbb\x4f\xa0\x74\x5d\xa3\x66\xac\xeb\x74\x24\x41\xb8\x82\xda\x75\xbd\x9a\x09\x5d\x9f\xa0\x53\x47\x57\xd0\x6c\xae\x53\x8f\x5e\xd7\x33\xd1\x80\xc8\x01\xa4\x9e\xca\x7a\x5c\x3a\xaa\x8b\x0f\x88\x26\xd0\x4d\x4e\x5e\x8f\xa7\x8e\x32\xf1\x09\x51\x04\xfa\xcd\x4d\xea\xc9\xeb\x06\x5d\x7c\x41\x44\x01\xdd\xdc\xa2\x9e\xf6\x8e\xe9\x62\x49\xde\xd3\xc9\xd9\xdc\xaa\xfe\x75\x1d\x63\x17\x11\x22\xf9\xe4\xd7\xdb\xb3\x3e\xd7\xdd\xa8\xcb\x0f\x28\xaa\xa7\x10\xbb\xa4\x3e\x4b\xdd\x28\xc8\x4f\x28\xfa\xa7\x17\x76\x87\x9a\x0b\xbb\x29\x91\x23\x28\x56\xa7\xd8\x75\xc7\x9a\x3b\x75\x73\x22\x37\x50\xfc\x9e\x32\xe0\xce\x35\xdf\x75\xb3\x20\x4f\x5d\x25\x9f\xf2\xf1\x7b\xd4\xfc\x16\x54\x89\xbc\x51\x5b\x3d\x95\x06\x78\xd6\x82\xf5\x2a\x74\x99\xa3\xee\x7a\xaa\x80\xbb\xd6\x02\x29\x45\x41\x46\x50\x44\xa7\x66\x73\x3f\x35\x74\x93\x36\x01\x2a\x14\xe5\x53\xbb\xb9\x47\x0d\xeb\xee\x9d\x00\x83\x0a\xe6\x89\x6c\xee\xaf\x86\xc7\xeb\xa4\x03\x17\x4a\xfe\x89\xba\xae\x50\xa3\xa5\x5b\x19\xa8\xa0\x14\x9d\xd8\xbe\xf9\xb5\xa8\x77\x9b\x0e\xba\x4e\x55\x4f\x93\xa9\x5e\x6b\x91\xd8\xa9\x0e\x26\x28\x7d\x4f\xcb\xe6\xa2\x5a\x3c\x75\x1b\x03\x07\x94\xb8\xd3\xba\xb9\xa0\x96\xba\x6e\x13\x00\x22\xaf\xf6\xb4\xa7\x03\xad\x2f\x7a\xf7\xd1\x4f\x2a\xbc\xa8\xa7\xef\xe6\x29\xf5\x65\x4e\x1a\x76\x7a\x74\xe7\xf5\x74\xde\xbc\x7b\x2d\x87\xdd\x47\x38\x45\xbd\x41\x4f\xd0\xf5\xd4\x1a\xe8\xdd\x97\x9d\x06\x78\xa9\x4e\x62\xba\x74\x35\xd8\xac\x43\x38\x7d\xe0\xa5\x3d\x5d\x80\x67\xd6\xa7\x21\xae\xf5\x93\x44\xa1\x73\x3a\x99\xd5\xaf\xf9\x53\xd2\x68\xfc\xbb\x76\xf1\xf1\xf7\x07\xbc\x47\xf3\x17\xb8\xe7\xf1\x4f\x85\x97\xed\xef\xba\x79\x4e\xf3\xb7\xb9\x13\xfc\x7b\xf4\x25\xf8\xbb\xbb\x9e\xdb\x5c\x2d\x27\x87\x7f\x11\x5d\xe3\x3f\x15\x78\x5e\x73\xed\xba\xb3\xf1\x97\x41\x59\xfb\xd3\x5d\x2f\x68\x14\xbd\x3b\xc3\xbf\xb1\x9b\xc9\xdf\x03\x15\x4b\x73\x2b\x3a\x2e\xfd\x93\x7a\x2a\xfe\x79\xd8\x7b\x35\xb7\x53\xc7\xc1\xab\x06\xe5\xfc\x2f\xd8\xbc\xb4\x51\xad\xe7\x96\x5e\x63\x28\x0f\x7f\xb1\xeb\xe5\x8d\x3a\x47\x2b\xbc\x62\x28\x6f\x7f\x09\xd2\xbc\x46\xd3\x3b\xc1\xb8\x12\x28\xf3\x7f\xb9\x59\x5f\x1a\xed\xd4\x41\xe3\xfa\x81\x32\xf8\x2b\x37\x0f\x37\xba\x1b\x2c\xe3\xf5\x0c\x81\xf6\x57\x4d\x57\xb5\xd1\xeb\x0e\x8e\x57\x04\x81\xfb\x57\x67\x6d\xd2\xe8\x52\x87\x8c\xeb\x09\x82\xf8\xaf\x75\x3d\xd6\x18\x49\x87\x46\x45\xa3\x96\xfb\xd7\x22\x4f\x68\x8c\x21\x4d\x52\xc5\xa6\x16\xfe\xeb\x5c\x6f\x6a\x4c\xd7\x3b\xa7\x4a\x4c\x5f\xc3\xdf\xe0\x7a\x73\x63\x2e\x9d\x68\x28\x05\x79\x1f\x7f\x2c\xfd\x05\x8d\xa5\xb9\xc4\x50\x08\x75\x8f\xbf\x29\x3d\xc6\xc6\x1a\xe2\x74\x54\x66\x08\xf8\xbf\xc5\xf5\x96\xc6\xe2\x9d\x22\x55\xf6\x2e\x16\xff\xde\x69\xc7\x1a\xdb\x72\xd0\xa8\x9c\xa9\x4e\xfe\xb6\xb1\xab\x9a\x87\xd7\x5d\xc6\xdb\xbd\xa7\xe0\xef\x3b\xf9\x42\xf3\x38\x7c\x3e\xbd\xb9\xf0\x14\xfc\x71\x9b\xf7\x69\x1c\xd6\x5d\xe0\x2d\x87\x40\xfc\xe3\x81\xf7\x6d\x1c\x3e\xf6\xd3\x1b\xee\x1c\xf7\x0f\xa6\x9d\xd4\xb8\x61\x27\xc1\x1b\x85\xa7\xfc\x4f\x02\x9e\xd0\x78\x5a\xb8\xc2\xdb\x99\x48\xc3\x1f\x70\x7d\xb5\xf1\x8e\x57\x62\xdc\xe4\x6e\x1c\xae\x7f\xe3\x26\x36\xcf\xf8\xf9\x1d\xef\xda\xa0\xc5\xd7\x2b\xca\xdf\xcd\xb3\xeb\xe4\xf4\x6e\xf6\x8e\x75\x55\xc6\xf5\x68\xfc\xa5\x03\xc6\xbd\x80\xa7\xf9\x6a\x00\x0f\x35\x01\xeb\x00\xbc\xef\x7d\x1f\x5f\x1f\x99\x5f\x35\xa1\x1b\x2c\xf0\x8e\xd0\xdd\xba\x7a\x9b\x7f\x6d\x5e\x45\x77\x32\x54\xbb\xd7\x83\x6b\x38\xc5\x6a\x13\xdd\x7a\xdf\x50\x7d\x74\x77\xaf\x2f\xc8\xed\x4d\x14\xa4\xe5\xa8\x46\x48\x0d\xae\x09\xf0\x8d\x26\x4e\xfa\x20\x55\x87\x6e\x13\xaf\x39\xf0\xf5\x26\x16\x9d\xc1\x50\x3f\xe8\x9e\x5f\x4b\xec\x5b\x4d\x12\x04\x6f\x43\x85\x34\x57\xae\x38\x53\x95\x26\x99\x7d\x7e\x54\x4f\xe8\x2e\x5e\x1b\xd7\xf7\x9a\xd4\xee\x03\xa8\xdd\xd0\xfd\xb8\x12\xd7\x77\x9a\x74\x76\x4a\x43\xf3\x90\x1a\x5f\x7b\xe0\xfb\x4d\x16\x47\xed\xa8\xe5\x74\x3c\xae\xcc\x8c\xf4\x26\x13\xfa\x97\xa1\x35\x48\x75\xaf\x23\xf0\x83\x26\x0f\xe2\x14\x6a\x23\x52\xf3\xeb\x8c\xfd\xa4\x29\x14\x3f\x1a\xb5\x1f\x52\xc9\x75\xc5\x7e\xde\x14\x5d\x9f\x8c\x9a\x88\xd4\xed\xba\x63\x3f\x6b\x0a\xf1\x95\x8c\xda\x09\xa9\xc7\xf5\xe3\xfa\x55\x53\x5a\xe6\xdb\xd0\x35\xa4\x05\xd7\xc3\xf5\xeb\xa6\x64\x7d\x6a\xe8\x0e\xd2\xb4\xeb\x39\xd3\xea\xa6\xf2\xfa\x14\xea\x29\xd2\xac\x2b\x8f\x7d\xda\x54\x4b\x9f\x8d\x7a\x8d\x34\x7c\x85\xe6\x95\x34\xd8\x35\x11\xd4\x29\xd2\xc8\x15\xa1\x3a\x6a\x30\x71\xe7\x54\x9f\xbb\xf3\x71\x95\x52\xd1\x6a\x6a\x37\xa8\x46\xfd\x8c\xb4\xe1\x0a\x36\x7f\x6e\xea\xcd\x7c\x19\xfa\x05\x69\xdb\xf5\xb4\xf9\xef\xa6\xd1\xfb\x22\x35\x14\xa4\x89\xca\x15\xfb\x7b\xd3\x60\x7b\x83\x86\xc1\x72\xa2\x28\xd8\xff\x34\xcd\xfc\x84\xd0\x78\x20\x5d\x53\x6e\xa9\x64\x36\x8d\xd4\x97\xa3\xf1\x1c\x2c\x51\xb9\x6f\xfe\xaf\x69\xf3\x48\x30\x8c\x84\xac\xb3\xa2\x99\xea\xad\x69\x37\xaf\x82\x46\x49\x33\x4d\xd1\x47\xd9\x69\xda\x53\x5f\x19\xc6\xd4\x25\x9a\x62\x6d\x3e\xd7\x90\xed\x75\x8c\xc6\x1b\x19\x81\x62\x6f\xbe\xd0\x74\xae\xff\x85\x06\x47\xcd\x58\x71\xc6\x43\x6e\xba\xba\xaf\x46\x03\xf6\xaf\x40\x71\xb1\x0f\x9b\x5e\x09\x80\x61\xea\x48\x9f\x95\xd8\xf5\x51\x43\x59\x5f\x1b\x66\x8e\xf4\x4d\x49\xb0\x2f\x37\xf4\xd4\x37\x86\x49\x90\x2e\x2a\x99\xb1\x38\xcd\x50\xf4\x4d\x6a\x8e\xc8\xb0\x94\x7c\x0b\x6e\xcd\xb0\x39\x0b\x34\x37\x7a\xc1\x4a\x01\x02\xb5\x61\xda\xd3\x1f\xcd\x83\x64\x8a\x52\x6d\x81\xd6\xb0\xba\x6f\xa1\x09\x91\x41\x94\x7a\xec\x3e\xcd\xb8\xf7\x24\xb5\x1c\x64\xcc\x4a\x3f\xc5\x7a\x33\x0d\xee\x37\xb5\x2a\x64\x1c\x0a\x83\x93\xd1\xcc\xb1\xf1\x36\xac\x01\x19\x9b\x32\x83\xc0\x6d\xe6\xe3\x55\xa4\xd6\xda\x6b\xae\xb2\x40\xf6\x6a\x16\x2d\xf6\x47\xeb\xd7\xe9\x87\xb2\x19\x7b\xde\x2c\xac\xef\x52\x4b\x22\x98\x28\x7b\x3a\xb7\xcd\x3b\x36\xfb\xd4\xf6\x91\x69\x29\xe7\xa9\x1e\x9b\xd5\xf5\x79\x68\xbf\x68\xec\x2a\x1c\x08\x70\xb3\x0e\x26\x97\xda\x05\x32\x0f\x45\x70\x83\xbc\x59\xa5\xbe\x4f\xed\x1a\x19\x40\x81\x38\x78\x36\x9b\xeb\xc2\xd4\xa6\x04\xcc\x0a\x9a\xac\xa4\xd9\x70\xf8\x83\xf6\x42\x12\x45\xb9\xe0\xe0\xd5\xec\x5e\xdf\x43\xfb\x8c\xcc\x41\x01\x38\x88\x9a\x7d\xe9\x07\xc3\x96\x00\x72\x6f\x7f\x59\xe1\x36\x1f\xbb\xa7\xf0\x71\x23\x55\x7e\xbb\x1a\x73\xd5\x7c\x92\x7e\x80\x0f\x0d\x99\xfc\x4d\x49\xbf\xbf\xe6\x23\xf5\x63\xfa\x88\x91\x35\xdf\x54\x10\x2c\xcd\x97\x18\x73\xfa\x28\x91\x6d\xdd\x0c\xd8\xed\xcd\xd1\xf5\x73\xfa\x58\x90\x45\x6e\x36\x08\xba\xe6\xa7\xf7\xe3\xf8\x38\x90\xa5\xdc\x1c\x37\xa8\x9b\x5f\x1c\x34\xf0\xc1\xf7\xf5\x70\x73\xdd\x80\x36\x3f\xd6\x4f\x86\xf3\x87\x2c\x7c\xf3\x33\xed\xd9\x9c\x87\x47\x65\x38\x16\x89\x95\x5b\x08\x82\xa1\xe1\x14\xa7\x1c\x9d\xa0\xcf\xb4\x5b\xec\x6d\xaf\x86\xb7\xfb\xcd\x70\x7e\xc8\x1e\x6e\x55\xca\x92\x46\xc0\xe6\x62\x38\x12\xb2\xf3\x5b\xed\x6d\x51\x23\x9c\xfa\xc5\x70\x55\x64\x07\xb7\x16\x04\x52\x03\x59\xbf\xa6\xae\x85\x6c\xf7\xd6\x6d\x41\xdc\x20\xaf\x7f\xa7\x6e\x8c\x2c\xfe\x36\x8c\x8b\xdb\x20\xa9\x5f\xa0\x5b\x23\x7b\xbe\x8d\x6e\xf0\x69\x44\xbb\xdf\x0d\x77\x44\x96\x78\x9b\xa7\xa0\x6c\xc4\x2d\x21\xa9\xfb\x45\x36\xbe\xad\x38\x74\x1a\x49\xe8\xbf\xa9\x77\xed\xcd\xed\xf6\xad\xb7\xb8\xb9\x60\x3b\x4b\x3d\x8b\xc8\xdb\xed\xe7\x86\x7f\xcd\x45\x34\xf9\xd4\x0b\x3b\xd9\xba\x71\x5b\x78\x6b\x64\xe2\xf0\x86\x57\xf6\x82\x72\x13\x40\x68\x34\x40\x89\x24\xc3\x9b\x90\x0d\x6e\x22\x64\x69\x03\xc0\x83\x33\xbc\x0f\x7d\x91\xdb\x05\x87\x66\x73\xb2\xfb\x3d\xf5\xce\x00\xe1\x9b\xbc\x85\x5a\x73\xaa\xfb\xb3\xe1\x49\xe8\xa1\xdd\x4e\x38\x54\xda\x3f\x37\xdc\x8c\xe7\x1d\x3d\xf0\xfd\x0a\xc2\x7b\xfb\xb7\xc5\x3e\x7c\x3e\xd0\x63\xbe\xdf\xd2\x0e\xb7\x7f\x52\xbf\x8f\xcf\x10\x3d\x8e\xbb\xe1\x86\x76\xab\x58\x2f\x02\x9f\x13\x72\xac\xbb\xb5\x85\x55\xab\x1c\x16\x1b\x9f\x5f\xe4\x2a\x77\x07\x87\x6e\x7b\xeb\xfa\x33\x7c\x5e\x28\x14\xef\x1e\x0e\xcb\xf6\x5e\x48\x83\xe1\x1b\x54\x08\xee\x41\x86\xc7\xf6\x2e\x06\x83\xe1\x27\x64\xdc\xee\x31\x8a\x83\x56\xd3\x7b\x38\xfa\xa4\x47\xe0\x9e\x42\xb2\xb7\x5a\xd1\xf3\xd0\x9f\x90\x83\xef\x39\xd2\x82\x56\xfb\xf5\xe7\xd4\x5f\x91\x33\xdc\x8b\x2d\xc4\xad\x06\x5e\x01\xf4\xbf\xc4\x22\xf7\x0a\x87\x71\xab\xd7\xbd\x00\x7d\x44\x33\x72\xc7\x5b\x98\xb7\x86\xdd\x73\x69\x70\xef\x64\xf7\x4e\xa0\xec\xb6\xa6\xe2\xce\x63\xf0\xa2\x6b\x7e\x1f\xb2\x68\x68\xcd\x5f\x8f\xd2\xa0\x46\xae\x78\x1f\x71\x98\xb6\x16\x6f\x51\x18\x1c\x00\x0d\xf7\xd5\x38\xf1\xad\xdd\xf5\x10\x06\x08\xb9\xe4\xbe\x21\x2d\x6c\xed\x5f\x8f\x8c\xe0\x84\xdc\xed\xfe\xc9\x4c\xd0\x3e\xc2\x5e\x32\x42\x8d\x0a\xf1\xfd\xc0\x61\xdb\x3e\x66\x2b\x82\xa1\x8d\x5c\x7c\xff\xe1\x70\x6e\x1d\x25\x9e\xc7\xd0\x47\x2e\x7f\xe7\xb6\x70\x68\x1d\xd6\x8b\x69\x98\x83\x41\xb9\x0b\x66\x66\xb4\xee\x91\x3e\x8d\x70\x43\x9e\x76\x97\xdd\x10\xb6\xde\xaf\xbf\x18\xe1\xa9\x7b\x6b\xea\x9f\x1b\x7a\xed\x33\x8f\x7e\xc6\xcb\xa7\xb3\xa2\xde\x41\x28\xb4\x7e\xd8\xcb\xe3\x2b\x42\x9e\xa5\xaa\x20\xfc\xb5\x3e\x31\xa3\xf4\x95\x23\x2f\x56\x75\x10\xee\x6d\xa0\x05\x67\xf8\x1a\x90\x17\xa8\xb6\xd1\x5d\xda\x80\xf7\x47\xe3\xc5\xd1\x52\x53\x3d\x1c\xa2\xf6\x75\xa3\x4f\x23\xba\x52\x07\xab\x4f\x10\x5e\xda\x17\xf1\x38\x23\x32\xbb\x37\x56\x83\x2d\x52\xda\xd7\x66\xef\x46\xe4\x02\x34\xab\x2f\x10\xdd\xda\x28\x8e\x86\x34\x4a\x90\xb7\xa9\xb1\xb7\x15\x6d\xc4\x7a\xce\x88\x72\xe4\xcd\x6a\x8a\xda\xad\x8d\x49\x38\x1a\xd1\x44\x33\x57\xcd\xf7\xad\x6c\xe3\x9d\x06\x63\xb4\xa2\x48\x51\x2b\x10\xf9\x6d\x22\x51\xdf\x88\xff\xa8\x99\xab\xad\x1b\xb9\x6d\x5a\x53\x7f\x8c\x0d\xf4\x22\x2a\xd9\xa2\xa0\xcd\x6e\xd4\x87\xb1\x8f\x5e\x9b\x4a\x8d\x21\x68\x33\x1c\x42\x18\x67\xe8\x75\xa8\x03\x88\xbc\x36\xfb\x51\x3f\x8d\xfb\xfe\x15\xab\xd3\x16\x99\x6d\x4e\x5c\x7f\x8c\xa7\x5e\x0b\xd4\x79\xfc\x7a\x6d\xbe\xc5\x97\x31\x7e\xd3\x1d\xab\xcb\x08\x82\x36\x3f\x49\x6c\x8c\x3f\x28\xca\xd5\x0d\x47\xaf\xb6\x98\xd3\x22\x4d\xae\x28\x72\xd5\x23\xc3\x51\x5b\x0a\x34\x4a\x13\x0f\x45\x58\x3d\xbb\x51\xda\x56\x09\x8d\x61\x52\xa2\x68\x50\x85\xcc\x6d\x5b\x1c\xd2\x78\x4c\x28\x7d\x6c\xaa\x88\x23\xa7\xc5\xb3\xd7\xc3\x44\x40\xd1\xa1\x02\x1c\xb5\x6d\x3d\xfb\xd4\x48\x24\x14\x2b\xea\x69\x8b\xae\x6d\x63\xd3\x74\x4c\xb5\x3e\x26\xda\x15\x44\x55\xdb\x2c\x34\x81\xa9\x8d\x22\x51\xbb\x23\xf9\xd9\xb6\x79\xfd\x4c\xd3\x04\xc5\x81\xa6\x6d\x51\xd7\x12\x2b\xa1\x63\xba\xc2\x62\xd6\x6c\x10\xd1\xb6\xbb\xd1\x6c\x4c\x4f\x28\xc6\x5a\x98\xfe\xa2\xb6\x17\xed\x12\x66\x4f\x14\x0f\x5a\x64\xd2\x4b\x4b\x63\x9b\xa6\x59\x4e\x25\xa2\x25\xc6\xfe\x6d\xa9\x44\xf3\x31\xab\x51\xbc\x69\x19\xb2\xdc\x76\xd8\x69\x61\x64\xdf\xfe\x44\x34\x9c\x12\xd8\xb2\xcd\x84\x69\x6e\xa1\x44\xd3\x08\x88\x8e\x76\xfc\xd1\x22\xcd\xc3\x8e\x1e\x1a\xc5\xd1\xd6\xce\xee\x2b\x4d\xf3\x1e\xc5\x40\x9b\x71\xf4\x69\xe7\x85\xe2\x31\x5f\x50\x12\x68\x0b\x88\x84\x76\xb9\xd1\x12\xe6\x3c\x4a\x62\xed\xeb\x46\x7c\xfb\xce\x5d\x6e\x2c\x74\x94\x10\xed\xc8\xcc\xa6\x7d\x6f\x8f\x2a\x2d\x1c\x32\x68\xda\x6f\x8b\xa4\x76\x0d\xac\x64\x2c\x32\x94\x6a\x1a\x0f\xa2\x4b\xbb\x4a\xb4\x31\x8a\x9a\xda\x44\x43\x6e\x24\xb7\x1b\xa3\xf5\x58\xbc\x69\x8c\x35\x29\x0b\xd3\x76\x93\x68\x33\x16\x7b\x5f\x6f\x1a\x70\xe3\x47\xbb\x33\x4a\x8c\x42\x22\x78\xd0\x4e\x5b\xac\xb5\x1f\x25\x0e\xd2\x52\x41\x29\xd6\xff\x40\x7c\x6f\x3f\x05\x6d\xd3\xd2\x40\xe9\xac\x2b\x38\x76\xda\xcf\x42\x09\x2c\x1d\x94\x0e\xfa\x1d\xc7\xb7\xf6\x6b\x05\x15\x2c\x53\x94\x05\xba\x36\xe5\x63\xfb\xfd\xd1\x7e\x2c\x29\xca\x5c\xdd\xc2\xb1\xdb\xfe\x42\xda\x1b\xa5\x80\x32\x4d\x77\x41\xec\xb5\x3f\xf0\x44\x46\x65\x0e\x2a\xd1\x03\x10\xa7\xed\xf9\x47\x87\xb4\x72\x51\x06\xf4\x17\xba\x9a\x2d\x97\xd0\x01\x56\x09\xca\x44\x3d\xc6\x71\xdc\x72\x27\x4a\xd3\xaa\x41\xb9\xa2\xa7\x90\xe5\x2d\x5f\x50\x66\x54\x23\xca\x35\x3d\xdf\xe2\xaa\xe5\x25\x3a\x8c\xd5\xb9\x5f\x34\xbd\xda\xe2\xa4\x15\xc8\x8b\x18\xd5\x09\xe5\xff\xec\xae\xf2\x16\x0a\x74\x32\x70\x8d\x72\x57\x1f\xb7\xf8\xdd\x8a\x3b\x9d\x46\xbc\xa3\x5c\xd4\xdf\x08\x6b\xad\xb4\xd0\x77\x8a\x25\x94\x13\x7d\xc7\xf1\xd4\x5e\x6e\x74\x49\xeb\x3b\x2a\x14\xfd\xbb\xc5\x7b\x7b\xa9\xe9\x04\x6b\x1b\xe5\xb3\x7e\x76\x63\xa9\x95\x6d\xba\x1a\x75\x83\x0a\x4b\x97\x40\xfc\x6b\x4f\x36\xdd\x8c\x9a\x47\xc5\xa0\xcb\x70\x32\xdb\xd3\x60\xa7\x69\x2d\xa1\x02\xeb\xa7\x2d\x26\xe4\x2f\x91\xc6\xb4\xd1\x51\x91\x1b\x37\x1c\x8b\xe4\x4f\xa2\x6b\xda\x78\xa8\x38\x8c\x3b\x8e\x01\xb9\x26\x74\x4f\x9b\x18\x95\x8a\x61\xe0\xf8\x44\x14\x9b\xe2\xb4\xe9\x50\x19\x18\x26\x48\xae\xe4\xa6\xd3\xcf\xd8\xf0\xa8\x74\x0d\x17\x27\x2a\xb9\x6d\x8f\xce\x68\xff\x50\x89\x8d\xe7\x96\x68\xe4\x1e\x78\x21\x6c\xb5\x2e\x71\x8d\xd0\x04\x94\xdc\x05\x7a\x18\x6d\xd0\x09\x8a\xf1\x82\x53\x4a\xd4\x9a\x1e\x69\x9b\x91\x44\x33\x62\x78\x8a\x88\x2a\xd0\x63\x6c\x71\x97\x04\x46\x8a\x13\x9b\x68\x96\x21\xc0\xb6\xa3\xd1\x61\xe4\x6e\xf2\x20\xda\xf6\x24\x63\xfb\x41\x95\x6b\x94\x5b\xf2\x24\x7a\x1c\x74\xb0\x15\x50\xa5\x19\x35\x4e\x5c\xa2\x8b\xb6\x60\xb4\x27\x54\xf2\x46\x83\x93\x17\x31\xac\x47\x94\x12\xa3\xaf\x0e\x83\x80\x24\x27\x86\x40\xb9\x91\x04\x7d\xe1\x1a\x74\x4b\x22\x62\xd6\x94\x37\x48\x86\x4a\x60\xb0\x2d\xc9\x88\x65\x53\x1e\x92\x9e\xba\xbc\x31\x83\x24\x21\x96\x44\x05\x83\x7c\x50\x25\x1a\xef\xf4\xe7\x13\x3b\xa4\xe7\x91\x70\xc4\x06\xc6\x0a\x92\x8a\xd8\xc0\xe1\xd3\xee\x4a\x4f\x81\xf1\xd9\x92\x9a\x3c\x3c\x0a\x8d\xee\xde\x67\xb1\xf1\xcd\x70\x43\x1e\x27\x0a\xd3\xee\x45\xb9\xc0\xe0\x70\x42\x88\xd3\x51\x08\xbb\x8c\x62\xcb\x10\xdc\xa4\x27\x0e\xef\xec\x63\x57\x53\x51\x33\x20\x4e\x26\xe2\x76\x54\x1c\xbb\xa3\x93\x73\xe3\x02\x92\x91\x78\xa1\x34\x8e\x1d\x47\x21\x36\x80\x9b\x50\xe2\x31\x8a\x60\x77\xe9\xed\xcd\x38\x65\x0a\x26\x9e\x44\xd1\xd8\x2b\x08\x6f\xe6\xd5\x8c\x5b\xf2\xac\xa9\x94\xf6\x16\xc2\x87\x79\x33\xe6\x07\xf1\x95\x38\x18\xfb\x00\x61\xd1\xbc\x9f\xa6\x8a\xf8\x3f\x0a\xc6\xbe\x42\xb5\x62\xea\x5b\xf2\x25\x41\x42\x2f\x63\x3f\xa3\xda\x35\x2d\x90\x08\x24\x2c\x28\x30\x7a\x88\xea\xdc\x74\x41\x72\x26\x2f\x9d\x4a\x90\xde\x50\x1d\x9b\xbe\x9b\x20\xf2\xfa\x8d\x6b\x4a\x1d\x92\xe7\x66\xb4\x25\x17\x12\x89\xb6\x90\xd2\x1a\xd5\x9b\x99\xba\xd9\x95\xc4\xe1\xf0\x34\xe8\x80\x7a\xd7\xcc\xb7\x4c\x21\xb1\x30\xf8\x06\xdd\x3b\x4e\x31\xcb\x2d\x53\x49\x12\x0e\xfe\x48\x05\xd4\x63\xb3\x9e\x94\x0b\x49\x40\x52\x8d\xc3\x15\xf5\xc4\x6c\x50\x4c\x48\x9a\xbf\xb2\x74\xd0\x51\x3f\x98\xc4\xcd\x2c\x92\xce\x8f\x39\x1d\x6c\x72\xde\xcc\x0e\x64\x36\xc9\x5c\x97\xc0\x21\xa6\x9a\x62\x52\x90\x3d\x48\x46\xac\x02\x0e\x39\xea\x79\x73\xc4\x99\x47\xf2\x3c\xa1\x70\x60\xa8\x17\xcd\x39\xbb\x52\x92\x2f\xc3\xcb\x18\xde\x88\x6a\xe6\x02\xb2\x80\x14\x96\xf5\x83\xc3\x0f\x51\xd7\xdc\xb6\xec\x45\x0a\x61\x88\xd2\xe1\x84\x68\x6e\x7e\x8c\xe9\x43\x2a\x7b\x88\x20\xcb\x11\x25\xa6\xe0\x66\x19\xa9\x78\xf3\x62\xb0\xae\xbf\x63\x13\x6d\x59\x4e\x70\x3d\xc4\x90\x9d\x11\x3d\x4c\x60\x1c\x80\x34\x4a\x00\xd2\x51\x41\x94\xb7\xfe\xe0\x97\x27\x0d\x79\x56\xe9\x68\xa1\x41\xb1\x6e\xa6\x4b\x48\x23\x0d\x09\x1c\x9f\x40\x74\xad\xfb\xf8\x7d\x92\xd6\x1b\x92\x71\x8c\xfb\x3a\xb6\x54\xb8\x3e\x48\xdb\x0d\x69\x3a\x16\x68\xb0\x2c\x3d\x3d\x25\xa4\x05\x8f\x2e\x1d\x3b\x34\xb8\x96\x99\x65\x36\x21\xf3\x53\x48\xc7\x95\xa0\xdc\x7a\x64\xc5\x8f\x74\xae\x9f\xa7\xe3\x19\x0d\x81\xe5\xec\x5b\x4f\x3a\xfc\xcc\xc6\x51\xec\x27\xc5\x72\xe1\x29\x25\xdd\xef\xff\x5f\x33\x1a\x88\xe5\x6f\xd9\x44\x7a\xe2\xec\xc6\xf4\xec\x4b\xc5\x7a\xe1\x8c\x11\x6a\x79\x7c\x3a\xbd\x68\xc4\x5b\x11\xce\x06\x42\x37\xb7\x33\x26\x4c\x12\xcb\x4a\xdd\x6c\x25\x83\xf5\xa8\xe0\xd4\x75\xa3\x68\x65\xa3\xe8\x90\x61\x48\x0b\x63\x5a\xd0\x70\x58\x85\x9b\x2d\x64\xe0\x7d\x7f\x9c\x36\xc2\x1f\x56\x69\xb6\x84\x30\xcd\x8a\xd3\xe9\xe8\xe4\xd9\x2a\x4f\x1b\x25\x8c\x0d\xf9\x38\x5d\xd0\x00\xac\x66\xcb\x3e\x64\x0c\x87\x62\x9c\xd5\xce\xc9\xad\x16\x55\x35\x19\x07\xb7\x83\xf3\x83\xde\x73\xab\xc3\xd9\x8f\x4c\xda\x73\x1f\xe7\xb0\x1f\x34\x8b\x66\x55\x44\xa6\x6e\xa8\xc6\x39\xef\xdc\xd9\x62\x93\x22\x93\xf9\x36\x94\xe3\xdc\x22\x86\xad\x11\xfe\x16\x32\x87\x43\x65\xcc\x14\xb1\xd8\x9a\xf6\x6d\x20\x73\x3d\x94\xe9\x3c\xf6\xae\x62\x2d\xa6\xa7\x93\x99\x0f\xc2\x71\xfe\x90\x6a\xb3\xde\x53\xb8\x91\x65\xb0\xd3\x71\xbe\x00\x11\x5b\xfb\x64\x1d\x64\x39\x0d\x78\x5c\x14\xc4\x88\xf5\x35\xcd\x85\xbc\xf1\x73\x87\x8b\x4d\x56\xc5\xfa\xb9\x19\x22\x6f\xfe\x89\xc7\xc5\xa3\x17\x62\x9d\xa7\xb6\x26\x6b\x31\x60\xb8\xe4\x68\xc4\x16\x8f\xac\x1f\x59\x7f\x43\x3b\x2e\x18\x88\xc4\x12\x40\x7e\x23\xdb\x6d\x20\x70\x69\xd1\x18\x58\x70\xcb\xff\xc8\x16\x04\x60\x5c\x06\xc4\x44\x0b\x81\xec\x42\xb6\x2d\x79\x1a\xcb\xda\x4d\x8a\x25\x6d\xf9\x95\xec\xfa\x50\xa7\xcb\x0f\x88\xb3\x25\x6f\xb9\x4a\x76\xec\x51\x63\x81\x9d\x0d\x2c\x30\xe9\x90\xec\x62\x9c\x19\xef\x3f\x92\x0c\xf6\x5f\xda\x35\xe4\x63\x85\x23\x7c\xdf\xd1\x38\xd8\x57\x90\x1b\xe4\x73\x84\xc8\x78\xbb\x68\xe4\xed\xbb\x9b\x2b\xe4\x1b\x0e\x9d\xf1\x8e\xd1\x28\xda\x2a\x3c\x66\xf2\x65\x03\x19\xdf\x79\x97\xc4\xb6\x06\xa5\x90\x7c\x85\xa1\x83\xef\x86\x0a\xd8\x36\x70\x1e\x90\xa3\x18\x68\xfa\x1e\xd1\xe4\xda\x16\x8a\x5e\xe4\xf8\x0d\xbd\xf1\xfe\x11\x59\xb4\x5d\x9c\xbf\xc8\x4f\x1a\xe8\xb8\x5e\xd1\x34\xdb\x01\xce\x13\x72\xfe\x0d\x43\xba\xba\x68\x22\x76\x78\xda\x16\xc2\x79\xc3\x00\xd7\xb8\x9b\x81\x1d\xbb\x79\x45\xb8\x65\x60\xc6\x5a\xd0\x94\xd8\x89\x9b\xd7\x84\x03\x0f\x6c\xac\x03\x9a\x44\x3b\x07\x79\x43\xf8\xdf\x30\xa6\xeb\x4e\x78\xd7\x2e\x5d\xf7\x44\x04\xcd\x93\xe1\x7a\xa0\xd9\xb2\x2b\xe3\xf7\x26\x42\x3d\x8c\x70\x95\x81\x78\xd8\x35\xc8\x7b\x02\x15\x37\x49\xb7\x1b\x2b\x0f\x9b\x6c\x39\x25\xf0\x37\x4c\xe3\xe6\x76\x9c\x66\xf7\x6e\xce\x08\xb2\x87\xd9\xd8\x42\x34\x0f\x36\xdd\xf2\x99\x20\x36\xcc\x70\xcb\xfb\x7e\x7e\x38\x20\x7f\x77\xb7\x65\x58\xc6\xcf\x09\xcd\xfc\xe3\x99\xb9\x7d\x77\x2f\x86\x05\x7e\x0d\xda\x1f\x8f\x60\xcb\x3f\xdd\xfd\x37\xbc\xd3\xaf\x8b\x16\xeb\xf1\x72\xf3\x5f\xa7\xc6\x21\x6f\x7c\xf3\x4e\xde\x1e\x29\xce\xcf\x9d\x66\x39\x04\x7e\xe7\xc1\x3a\x1e\x39\xc8\xb9\x4e\xfb\x0d\xeb\xf8\x85\x34\x12\x1f\x18\xe7\x42\xa7\x2f\xc3\x0e\xbf\x17\xb4\x90\x47\xb3\xe5\x62\x67\x24\xc3\x96\x1e\x26\x5a\xb6\x07\x99\x32\xda\x19\xbf\x61\x37\x0e\x07\x2d\xfc\xa3\xdb\x72\xd0\x99\xe1\xf0\x31\x8e\x94\xf4\xc7\x83\x65\x36\xed\x4c\x31\x22\xe9\xd1\x74\x58\x79\x8c\x29\xc7\x77\x96\x15\x15\xe3\xc1\x48\xc5\x3f\x66\x33\x7c\x74\x16\x1b\x3e\xff\x72\x5c\xb5\xc7\x8c\x6e\x61\x67\xfd\x86\xcf\x78\xac\xe8\x8d\x1f\xcb\x64\x65\x9d\x05\x62\x98\x1e\x1f\xf4\x8e\x1f\xef\xad\xd0\x3a\xdb\xb5\xc3\xf4\x38\xa3\x37\x79\xac\x53\x70\xeb\x6c\xec\x0b\xe9\x01\xa9\x0b\x1e\x1b\x72\xca\xce\xfe\x0d\x5f\xe3\x90\xe9\x90\x3f\x76\xc8\xe6\xee\x71\x1b\x8e\xf1\x77\x1d\xee\xf8\xf1\x99\xec\xbf\xee\xe1\xa6\x99\xf1\xbb\x77\x93\xf6\xf8\x82\xc2\xec\x1e\xc4\x5f\xe0\xcf\x42\xeb\xfc\xf8\x65\xaa\xde\x3d\xc4\x50\x1e\x7f\x3e\x8d\xc1\xe3\x0c\x0a\xa7\x73\x66\x37\x19\x7f\x45\x37\x59\x0f\xc1\x38\x95\x9d\x23\xbe\xda\xf4\xd7\x74\xd6\xf6\x80\x5b\xf1\xe8\x5c\x6f\x38\xe0\xaf\xa7\xe9\xfc\x40\xa3\x78\xea\xdc\x39\x2c\xd3\xdf\x0a\x44\xfe\x71\xf1\xb6\xad\xf3\xc2\xe1\x07\x7f\x22\x5a\x95\x07\x80\x9c\xd0\x79\xbf\xe1\x37\xfe\x64\xb4\x6a\xce\xd5\x2d\x82\xee\x99\x0c\x9c\x71\xd6\xfb\x5c\x73\x14\xb7\x08\xbb\xe7\x6c\x21\xe3\x6c\xa3\x35\x77\x6e\xb8\x88\xba\xe7\x69\xe0\xe0\xf9\x09\x44\xe0\xdc\xb7\x22\xeb\x7c\x6f\xe0\xe1\xf9\x85\xd6\xc3\x51\xa7\xdb\xab\x8b\x03\xf7\x97\x72\x03\x5a\x79\x27\x83\xd3\xb7\x8b\xf7\x41\x18\xb9\xb5\xcf\x72\xa7\x74\x8b\xba\x4b\xf4\x01\x1a\xdc\x8f\xa6\x9b\x53\x79\xdb\xa7\x4b\x72\x3b\x1c\x39\x01\x6d\x9a\xd3\x64\xd6\xb9\x4b\x63\x13\x8f\xbc\x85\x36\xcb\x19\x52\x69\xef\x72\xf7\x49\x47\x7e\xec\xf3\xcd\x79\x83\x82\x76\xc5\x32\x20\x83\x07\x68\x73\x9d\xcf\x56\x2c\x5d\xb9\x0f\x62\x2a\x3c\xd0\x96\x3b\x3f\x50\x8c\x5d\x55\x0c\x08\x0a\x39\xda\x66\x87\x87\x5b\xd2\x55\xc2\x20\x8d\x42\xdd\x3b\xb1\x03\x71\xb1\x77\xd8\x7d\x70\x50\x18\xd1\x76\x38\xe2\x56\xac\x1d\xde\xd2\xc0\x10\xf6\x7e\x89\x9d\x0b\x52\x8d\xae\x4e\x86\x8b\x21\x5c\xd0\xee\x3a\x27\x50\x7c\xbb\xa6\x1b\x2e\x23\x34\xa9\x40\x5c\x65\x72\x69\xd7\x9c\x06\x79\x84\x4f\xb4\x07\xae\x8e\xff\xe3\xe0\xfe\xf6\xd7\xe3\x01\x00\x00\x5f\xd0\x0e\x84\xcd\x9f\xc3\x6f\xa9\x84\xda\x8a\x22\x67\x64\x8b\x61\xa4\xb6\xe2\xea\xdf\xcf\xfb\xbb\x88\xe7\xf4\x29\x75\x5e\xdb\xbd\x0b\x21\x43\xab\x06\x87\xb2\xb4\x38\xf7\x7a\x00\xe1\x0a\xa9\x1e\x9f\x68\x09\x79\x1b\xc6\x00\xa2\x2d\x5a\x6d\xf0\x05\x54\x5b\xde\x72\x71\xbe\xa3\x00\xa9\x19\xc7\xb2\xda\xf0\x76\x11\x67\x88\xce\x68\xf5\xc2\x37\x5a\xed\x78\xd7\x9f\xf5\x01\x31\xb4\xa2\xf8\x8e\xab\x80\xf7\x44\x5c\x06\xd4\xa2\xd5\x8c\x1f\x83\x1b\x73\x91\x88\x18\x22\x03\xad\x0c\xcc\x70\x85\xf9\xe0\x8b\xeb\xdd\xda\x22\x7d\x83\x6b\x5a\x11\x3e\x30\x71\x85\x56\x88\xf4\x10\x37\xa8\x5c\xf1\xc1\x14\xb7\xbb\x75\x41\x7a\x8c\x5b\x50\xa5\x7c\x4c\xc4\x0d\x5a\x39\xd2\x7b\x3c\xd0\xea\xce\x5f\xaf\x73\x0e\xad\x09\xe9\x2f\x3c\x1d\xd4\xc4\x5f\x9a\x48\xa1\xf5\x45\xba\x81\xdf\xb4\xa2\x7c\xb2\x45\x06\xed\x1d\xd2\x67\xfc\x93\xd5\x93\xbf\x1b\xac\x1f\xec\x10\x19\x7b\x3c\xc3\x0f\xe1\xef\xf9\x78\x1d\xec\x13\xb0\x43\xbc\xc0\xf9\xcd\x3f\x91\xb8\x0f\x76\xd9\x02\x0b\x9b\xe8\x54\x71\x19\x89\x3b\xb4\x39\x32\x0a\x6c\x41\x6b\xe6\x8a\x8b\xfc\x6e\xdb\xc8\x88\xb1\x76\xf8\x21\xae\x4c\x91\x43\x1b\x34\x22\x24\x7f\xa0\x1a\xf9\x37\x3d\x19\x83\x13\x20\xa3\x21\x1b\x59\xfd\xf8\x77\x11\x05\x74\x62\x64\x18\x64\x8b\x32\xce\x7f\x89\x28\x06\xe7\x86\x8c\x99\xec\x69\xf5\xe5\x3f\x25\xca\xc1\x79\x34\xfa\x86\xf8\xb4\x52\xfc\xa7\x89\xc7\xe0\xf4\x9d\xdf\x93\x30\x67\x29\x9f\x5f\xe4\x0a\x1d\x85\x4c\x4c\x8e\xa8\x5a\xf3\x85\x8b\xea\xee\x20\x64\xc6\x04\x83\x0a\xf2\xc5\xca\xee\x07\x47\x43\x26\x25\xe7\xe1\x75\xe2\xab\x44\x54\x83\xbb\x43\xa6\x24\x17\x59\x59\x7c\x25\x04\xbd\xbb\xc7\x56\xdf\x93\x84\x56\x0e\x5f\xd9\x82\xdd\xdd\x0c\x99\x16\xc9\x0e\xc6\x91\xeb\xe0\x78\x39\xb8\x35\x82\x1b\x72\x97\x74\xcd\x0d\x22\x9e\x83\xdb\xb6\xfb\x86\xf4\x80\x7a\x1c\xcd\xf8\x05\x01\x45\x30\x26\x02\xd0\x1d\xb7\x70\x2e\x20\x10\x7d\x6e\x91\x17\xa6\x7b\x6e\x99\xbc\x3d\x00\x89\x20\x25\x13\x0a\x3c\x6e\x6f\xce\xf1\x00\x7e\xdd\x0e\x90\xb7\xa4\x07\x6e\xd3\xdb\x0a\x02\xab\xfd\x84\x44\x42\x83\x72\x7b\x8e\xe3\x03\xd0\x9a\x6b\x4f\xbe\x63\x71\xe7\x4e\x7c\xae\x06\x6d\xc7\x7d\x83\x2c\x83\x62\xdc\xdd\xdf\xf4\x83\x76\x45\xb0\x27\x86\xa4\x11\x07\x91\x68\x06\xad\x6b\x2a\x8b\xa0\x91\xac\x38\x10\x82\x1f\xb4\x57\x17\x50\x62\xa1\x53\xcc\x81\x29\xf8\x5d\x53\xdc\xdc\x13\x07\x53\xc2\xb5\x38\xfd\x1e\x34\x13\x21\x8b\x00\x4c\x2f\x5c\x13\xa2\x1d\x34\xab\x7d\x53\xa2\xe5\x3e\x6d\xff\x36\x97\x0e\xfd\xad\x5b\xab\x38\xff\x01\x7a\x6e\xff\xd2\xa8\x0a\xfe\xf6\x08\xf5\xe7\x0d\xa0\x69\xfb\x67\x8a\x01\xfd\xe1\xd6\xa2\x67\x0f\x85\x7f\xed\xda\x13\x2d\xfa\xbb\xb4\x6a\x3e\x6f\xd1\x69\x6e\xd7\x89\xe8\x82\xbf\x1b\x42\xcd\x79\x37\x6e\xfe\xda\x35\xbd\xd6\xe8\x2f\x6f\xdf\xaf\xf3\x7e\xf4\xfe\xda\xb5\x29\x3a\xf4\x47\xdb\x62\x3e\xfb\x68\xdf\xb4\x1b\x4f\x74\xf9\x5f\xdd\x84\xf4\x7c\x18\xeb\x75\xbb\x21\xa2\x1f\xff\x44\x5b\x81\x73\x34\xb8\xd7\xd6\xdb\x9f\x8b\xfc\x6f\x46\x68\x3e\x9f\x28\x2d\x5b\xaf\x38\xd8\xf9\x1f\x44\xc8\x38\xe3\xfc\x86\x5b\x6f\x11\x63\xfe\x07\x5a\xb7\x3f\x9f\xf3\x4d\xd4\x6e\xc3\x98\x06\xeb\x5d\xa3\x15\xe7\x0b\xa0\x6d\xbb\xed\xb3\xdb\xb8\x0e\x9b\x9b\x75\x8e\x51\x76\x6b\xb7\x46\x60\xa2\x35\x46\x08\x9c\x13\x40\x9f\xed\xce\x13\x43\xbe\xbe\x20\x2b\x3c\x5f\x47\x8c\xda\x1d\x8e\xcf\xe3\xfa\xda\xe0\xfd\xf9\x46\x69\xdf\xee\x4a\x31\xa2\xf5\xdd\x7a\xed\xcf\x69\xbe\xb7\xdb\xdd\x22\x5e\xc1\x9a\x36\x39\x3e\xdf\x83\xdd\xd4\xee\xf7\xc7\x29\x5f\xf3\xce\xec\xcf\x39\x93\x7a\xbb\x67\xe2\x95\xaf\x87\x76\x25\xcf\x45\xbe\xbf\xb7\x7b\x03\xeb\xf9\x5a\x22\xeb\x75\x2e\x01\xfd\xb4\x7e\x48\xea\x7c\xad\x23\x4b\x9e\xab\x71\x17\xb6\x3e\xbd\xc4\xf9\x1a\x36\x38\x3c\xd3\x91\x05\xad\xbf\x88\x09\xad\xdd\x8e\x6c\xce\x0c\xd0\x5f\x7b\xf0\xc4\x3b\xd8\xac\x91\x65\x9d\x9f\x32\xdc\xb6\x07\x1c\xae\xc6\xcd\x16\x41\xeb\x5c\x03\xba\xb4\x07\x21\xde\xe3\x26\x44\x76\x7c\xe6\xa8\xca\xda\x60\x9f\x98\x68\xc3\xbb\xd6\x38\x8f\x92\xea\x6d\xd8\x60\x1d\x6d\x5e\xc8\x2e\xce\x13\xa0\x66\x1b\xf9\x42\x06\x1b\xbd\x5d\x6d\xce\xf2\xc0\x87\xf6\xb8\x3f\xd1\xc0\x0b\xfb\x5d\x7f\x5e\x24\x75\xda\x93\xb2\x3f\xa3\x47\xf9\x0e\x9f\x21\xa5\xa8\xc5\x91\x90\xa3\xd7\x76\x79\x7c\xb6\x0e\xe3\xd2\x62\x23\x4b\x03\x4f\x6f\x6c\xe3\xec\xa2\xd3\xd2\x12\x53\xa8\x7c\xbb\x41\xb6\x75\xd9\x2a\x09\xdb\x4b\x26\x14\xda\xe6\xc0\xee\x2f\x01\x3a\xad\xdb\xd8\x14\xdf\x7c\xfb\x45\xce\xe6\x72\x1c\xc9\xa5\xbd\x0a\xf1\x1d\x77\x21\xd7\xd3\x4b\x0c\x6d\xda\x5e\xe7\x2b\x1d\x77\xa7\x76\xdc\x5f\x92\xc1\xfe\xb6\xb7\xf0\xcc\x83\xdd\x15\x39\xf8\x72\x93\x6c\xdb\xde\x9a\x33\x0b\x76\x0d\x72\xd2\xcb\x1d\xb0\x7d\x9b\x66\xe2\x87\x76\x63\x07\xc1\xa5\x18\xdc\xb4\x4d\x17\x31\xe7\xbb\x19\x39\xcd\xe5\x01\x75\xd4\x66\xe9\xa9\x45\x3b\x93\x77\xe0\x42\x31\x3b\xb6\xf7\x90\xd4\xe3\xde\x47\x8e\xbc\x34\x94\x85\xed\x5d\x5e\x10\xda\x9f\x38\x36\x2e\x6d\xe0\xad\xdb\x3c\xbc\x4e\xe3\x3e\xe3\x7a\x73\x11\x98\x9d\xda\x22\x24\x66\xbe\x6f\x91\xbb\xb9\xbc\x24\xc3\x6d\xa1\xc4\x82\xf6\x0a\xb9\xe1\xe5\x83\xd9\xa5\x2d\x53\x02\x82\x3d\x44\x2e\xbe\x48\xc9\xae\xed\xc3\x13\x7a\xee\xaf\xbb\xa3\x75\xf9\x0d\xe6\xa5\x7d\x50\x6c\x22\xff\x80\xdc\xe2\x32\x53\x96\xb5\x0f\x99\x0d\xa3\x7f\xe4\x46\x7c\x59\xf2\xf2\xdd\x3e\xac\x6c\x1e\x7d\x82\xdc\xe6\xb2\x3a\xa8\x67\x5b\xf9\xc2\xc8\xfd\x14\xd8\xf2\xa2\xa3\xd3\xa6\xad\xb8\x2d\x47\xbf\x40\xee\x7c\x31\xe0\xeb\xde\x56\xf3\xb9\x18\xfd\x0a\xd8\xf3\xc5\x94\xac\x68\x2b\x4d\x18\xc8\xaf\xdb\x8f\x75\x81\x9a\xd4\x5a\x9a\xd8\xdf\xc0\xef\x3a\x11\x5f\xd0\xa0\xac\x96\x32\x5b\xe5\xfe\x07\xd8\xd6\xc5\x96\x8c\xb6\x2c\x13\x26\xf2\x0d\xe4\x1a\x17\x0d\xb3\xba\x65\x9a\xfd\xcd\x0f\x7b\xe0\xe0\x78\x33\x92\xaa\x7d\x1a\xe1\x7d\x3c\x60\xe0\x84\xf1\x16\xb3\xae\xad\x7d\x01\xc7\xc3\x15\x81\x38\xde\x51\xf6\x6c\x6b\x7b\x28\xc7\xc3\x88\x00\x8e\xa3\x80\x8d\x2d\x8f\x8f\x46\x70\x30\x81\xf3\x8a\x31\x53\xdb\x96\x4f\xf6\x6f\x3c\x38\x08\x18\x31\xd1\xd4\xae\x6d\x37\xc9\x15\x05\x5b\x04\x9a\xf8\x42\xd9\xd4\xb6\x5c\x58\x79\x10\x20\x60\xc5\xb1\xa6\xfc\xb6\xb5\x85\x8d\x82\x33\x70\xfa\xf8\x4a\x99\x68\x3b\x66\xcf\x41\x90\x23\x2d\x8e\xd3\xa1\xbf\xb6\x9d\x12\x68\x0c\x68\x17\xca\xf8\x2e\xd9\xab\xed\x63\x62\x8e\x41\x0f\x1c\x19\xe7\x50\xb7\x5a\xe1\xdb\x4b\x1e\x98\xc0\xb1\x62\x1a\xe4\xa2\x15\x56\x04\xc7\xf0\x8f\x1b\x69\xfc\x44\xd8\x6a\x87\xcc\xca\x50\x78\x68\xaf\x73\xdc\x52\x36\xb7\x23\x11\x76\x10\xde\x90\xb6\x8f\xbb\xb1\x5c\xb7\x63\x13\x7f\xc6\xb0\x40\x1a\x8e\x7b\xc0\xbe\xed\xb8\xd8\x4b\x10\x8a\xf6\x2a\xe3\x89\x32\xb3\x9d\x98\x70\xc7\x10\x21\x2d\x8d\x17\x4d\xc5\xed\x67\x93\x26\x63\x14\x03\xb7\x88\x57\x9a\xba\xb6\x9f\xcc\x5e\x05\x51\x06\xdc\x7d\x6c\x30\x75\x6b\xe5\x86\xf4\x28\x6a\x81\x03\x62\x04\x18\x6c\x65\x7f\x33\xf3\xe8\xd5\x64\x38\xb6\xf3\x5b\xd7\xaa\x30\x6e\xc7\x68\x69\x50\x13\x03\x32\x76\xad\x12\x02\x8c\x91\x05\xdc\x3e\x06\x50\x77\x5a\xb5\xd8\x66\x10\x69\xc0\xb5\x92\xbf\x01\x45\xed\xb7\x14\x20\x3f\x92\xf6\x60\x24\xdb\x60\x83\xdb\x1f\x1f\xce\xc1\x31\xb7\xb6\x61\xb2\x57\xaa\x6a\x7f\xa6\x6d\xa0\x23\xe5\x5a\x9f\x1c\x88\xba\xb7\xb3\x3f\x9c\xf3\x63\x63\x6d\x71\x72\xd0\x54\xd6\xce\x69\xb4\xca\x8f\x7d\x97\xc6\x49\x78\xb0\x9f\xed\x2c\xef\xe7\xf1\xf8\x46\xda\x9c\x44\x83\x69\xb4\x33\xb8\x67\xe3\x71\xb6\xb6\x69\x72\xa2\xf5\xb6\x5d\xa6\xe1\x32\x1e\x6d\xa4\xc9\xe4\x42\x46\xda\xae\x9a\x04\xa1\x53\xd4\x9a\x71\x92\xe4\xd1\xad\xd5\x93\x21\x46\xa7\x14\x80\x4d\x72\x43\x41\xd3\xea\x6a\xb8\xa0\xd3\xc3\xda\x36\xc9\xfd\xf0\x3b\xb6\xc6\x32\xc4\xe3\x49\x02\x17\x24\x8f\xc3\x2c\x5b\x33\x1b\xe2\xfc\xe4\x70\x17\x24\x6c\x78\xe5\x2d\x5c\x86\x04\xe1\x2b\x2f\x8d\xa4\x1b\xf7\x79\x8b\x68\x3c\x07\xb8\x00\x60\x9f\x8c\x87\xb1\x68\x2d\x36\x24\x39\x7e\x5b\x5b\x2b\x99\xf2\x68\xdd\x5a\xf6\x90\x04\xf8\x6b\xed\x36\x89\xa4\x75\xda\x3a\xc4\x86\x23\xd9\x5b\xbb\x3e\x99\x71\x7d\x6f\xdd\x4d\x92\x04\xe4\x62\xed\xf6\x89\x2e\xeb\xb8\x75\xd9\x70\xcb\xc9\xdd\xda\xd1\xc4\x64\x8a\xb7\xae\x15\xa9\x91\xd4\xd6\xee\x95\x20\x5c\x5f\x5b\x90\x0d\x57\x44\x06\x00\xe2\x04\xe0\x9a\x76\x7f\x64\xc8\xd0\xd9\xb7\xf6\x9b\xeb\x16\xd7\x55\xb7\x26\x43\x16\x9c\xaf\x1c\x6c\xae\xfb\x00\x0f\xdd\x5a\x0c\x29\x3a\x17\xd6\x3e\xbe\x1e\x68\xdd\x74\x1b\x65\xa3\xfc\xfc\xb3\xf6\xf8\x7a\xa2\x75\xdd\x79\xc5\xc5\x1d\xcf\xd0\xda\xa7\x57\x2c\xeb\xbe\xdb\xfa\x43\x11\x5c\xb6\x00\x14\xd7\x0b\x53\xa2\xdb\x36\xe1\x0a\x5d\x2e\xd6\x9e\x5e\xaf\x63\x09\xbb\x1d\x19\x1e\xe8\x52\x58\xfb\xfe\x9a\x82\xfa\xdd\xed\xec\xa1\x18\x2f\x4f\x6b\x2f\xaf\x77\x59\x7f\xba\xfd\x34\x94\xe8\xf2\xb5\xfc\xcd\xb5\xa2\xf5\xaf\xf3\xd9\x50\x05\x17\xc7\xf2\xc3\x2b\xa3\xb5\xde\xf9\xf6\x50\xa1\x8b\x66\xf9\xc5\xf5\x99\x87\x66\x97\xd1\x14\xe5\xe9\x9f\xe5\x37\xb7\xe7\xb8\x3b\x75\x77\x32\xd0\x3c\xf5\xbb\x47\x78\x6b\x68\x6d\x75\xf7\x57\x18\x8f\x69\xd4\xdc\xe4\x8d\xc3\xe9\xd6\xe5\xbe\x6d\x05\x69\xdc\x7c\xe2\x5b\x0b\x6a\xbb\xcb\x93\x81\x05\x69\x6a\xf9\xc6\xad\xc7\x35\xe8\x72\x31\x3c\x83\xf4\xd9\x7c\x8a\xdb\x30\x8c\xab\xae\xc0\x27\x96\xa7\x6d\x17\xc5\xb7\x91\x36\x9b\xae\x60\xc3\x33\x4f\x07\xeb\x80\x6f\xd3\xbd\xb3\xbb\x32\x1a\xea\x31\x45\xd6\x21\xbd\x49\xd0\x6c\xbb\x72\x19\x6a\x94\x02\xeb\xf0\xba\x7d\x21\xdf\x75\x0f\x36\x34\x41\x16\x5a\x87\xf9\xb6\xe0\x26\xea\x1e\xe6\xc0\xc7\xec\x6a\x1d\x8c\x9b\x4e\x1b\xd2\x55\x45\x32\x05\xd9\xdd\x0a\x36\x37\x13\x37\x97\x8e\xfa\x43\x8b\xb2\xc6\xfa\xdf\x68\x9e\x1e\xbb\x7a\x19\xba\xe0\x5e\x5b\x41\x9a\x86\x07\x93\x77\xcd\x34\x74\xe3\x5d\x5a\x01\x4d\x23\x94\x0f\x1d\x0f\x2f\xc5\x78\xb7\x9b\x30\x4c\x09\xf2\x83\xae\xf5\x86\x3e\xc8\x37\xdd\xdd\x48\x2f\xb8\x29\xbb\x56\x0d\x7d\x9e\x1f\x79\x66\xa5\x09\x6d\x8a\xae\x05\xc7\x6f\x90\x9f\xbb\x07\x4e\x53\xd0\x54\x5d\xb7\x0c\x02\xe5\x95\x15\x58\x69\x26\x9b\x67\xd7\x81\xe0\x1c\xe4\x4d\xeb\xd3\xf4\x0e\xc1\xa3\xeb\xe3\x50\x47\x79\x67\x85\xfb\x34\x1f\xe3\x7d\xd7\x4f\xc3\x80\xf2\x77\x73\xdd\xa7\x0f\xdc\x34\x9d\x08\xe3\xef\x98\x2f\x9d\x23\xd3\x2a\xc7\x63\x27\xca\x41\x04\xb9\xd9\x59\x71\x4a\x0f\xb3\xea\xc4\x2b\xa3\x63\xee\x36\x1a\x4d\xeb\x9c\xce\xdd\x50\x1c\x2f\xa8\x38\xb4\x74\x93\x36\xf2\xf2\xd7\x0d\x6a\x18\x83\xe2\xd4\xb4\x32\xe5\xe3\x86\x74\x03\x08\xab\xbc\xb8\x5a\x61\x91\x76\xf4\xdf\x32\x34\x8c\x79\x71\xe7\x87\x38\xed\xef\x66\xd9\x8d\x92\xc0\xbc\x78\x00\x20\x53\x71\xef\x36\xdd\x6b\x93\xe9\xa8\xe0\x56\xd8\xa7\x23\xa0\xef\xee\xc5\x87\x57\x50\xbc\x00\x98\xd3\x09\x34\xef\x6e\xf2\x86\xd7\x58\xfc\xac\x50\xa6\x6f\xd9\x7c\xba\x29\x19\xa6\xb1\x30\x3a\xf0\x4a\x3f\xa0\x51\xdd\xc4\x87\x77\x50\xa0\xf6\x48\x53\x89\x62\xd4\x4d\xf3\x59\xe4\xe5\x5f\x23\xd3\xf4\x9b\x57\x79\xf7\x8e\x03\x0b\x95\x3b\xae\xd3\xf4\x37\x2c\x79\xf7\x66\xc3\x1b\x95\x81\x15\x85\xe9\x0c\xad\xa4\x7b\x2f\xc3\x27\x28\x4f\x56\xb4\x4f\x97\x01\xf9\xdd\xc7\x1f\x64\x50\xde\x50\x21\x53\x7d\x14\xd7\xee\xd3\x9f\x3b\x54\x96\x56\x54\xa4\x66\x40\x79\x27\xc3\xc4\x46\x25\x6f\xae\xaf\xd4\x0a\xbc\xba\x93\x2f\xfc\x09\xca\xa9\x2b\xd3\xd4\x39\x74\xac\x53\x61\x66\xa1\xd2\xe8\xa0\x4c\x5d\xd0\xa0\x4e\xf5\x49\x1e\x94\x36\x57\x7d\xf6\x87\x1b\xab\xfb\x26\x83\x44\x8f\x7d\xbb\x97\xd9\x1a\x34\x4e\xf7\x6d\x32\x3b\x78\x84\x56\x44\x33\x8f\x36\xa0\xfb\xda\xc3\x37\x78\x10\x2b\x02\xd9\x96\x36\x6e\xf7\x23\xc3\x37\x7f\xa4\xd6\x31\xcc\xf6\xf9\xbe\xe8\x7e\x73\x00\x83\x07\xb5\x8e\x38\x0b\x82\xc2\xe8\x66\x36\xfc\x82\xc7\xcb\x3a\xa6\xd9\x31\xa8\x83\x6e\x89\x6c\x3b\x7f\x2c\xa2\xdb\x64\x18\xf3\x7d\xb7\x08\xdb\x1e\x1f\xb6\x75\xa4\x19\xa1\xfc\xd0\x2d\xf6\xb0\x04\xd5\x06\x00\x90\x9d\x01\x0f\xba\x55\x32\xcc\x63\xb5\xb7\x8e\x32\x8b\x31\x3f\x75\x2b\x61\x3b\x41\x75\x02\xda\x3e\x4b\x34\x35\x77\xfa\xfe\xfc\x1d\xab\x18\x68\x38\xbb\xe5\xa5\xde\xe9\xc5\xf9\x8b\xaa\xdc\x3a\x5a\x59\x16\x24\xbf\x4e\xb7\x87\x05\x55\x4f\x4b\x84\xd9\x3d\x2f\xc3\xce\x88\x86\x55\x50\xb5\xd6\x69\x9f\xe5\x92\xc7\x9d\xd1\x84\xd5\x58\x8d\xd6\x29\xce\x0a\xb4\x86\x9d\x61\x0e\x7a\x5e\xfd\xf8\x16\x67\x15\xe6\x69\x67\x8a\xc1\x18\x2b\xcb\x3a\x35\x19\xc3\x3c\xef\xe0\x3e\x6c\x11\xdd\x5a\x27\x9a\xd5\x94\x97\x1d\x2c\x07\x33\xa0\x51\x73\x2c\x32\x4e\x79\xd5\x41\x6d\x30\x47\x7a\xe6\x20\xcc\x7a\xcc\x59\x87\xe6\x28\x1f\xe9\xd3\xc2\x61\x36\x00\x5e\x77\x56\x39\xc0\x80\x0e\x68\xdc\x67\x2f\x94\x15\x9d\x65\x0e\x10\xd1\xc5\xc2\x71\xf6\xc1\xbc\xeb\x1c\x32\xa0\x91\xed\x2d\x4c\xb3\x19\xf3\xa1\x73\x64\x68\x04\x2c\xb1\x70\x9f\x99\x98\xbf\x3a\x60\x5c\xcf\x23\x93\x16\x9e\x33\x67\xe8\x51\xa7\x91\xc1\x46\x4c\xb7\xb0\x95\xb9\x43\xe7\x75\x9a\x8c\x14\x62\x5a\xf7\x48\xef\x7f\x79\x08\xfb\xbf\xf0\x34\x04\x4f\x8f\xdf\x37\xf7\xf5\x1d\xf8\xfd\x5f\x71\xa6\xe8\x79\xb0\xc8\xfe\xee\x61\xfe\xed\xff\x40\x76\xcf\x9f\xe7\x46\x16\xf7\x6d\x9e\x9c\xfb\x75\x98\x18\xe3\x33\x69\x83\xf9\xbe\x43\xec\xd8\xaf\x9b\x23\x1d\x9f\x85\x45\xe2\xfb\x81\xf2\xa5\xdf\xc4\x69\x31\x3e\xdf\xad\xf5\xba\x47\xf7\x4e\xf5\x5e\x32\xb8\xf9\xd3\xb4\x48\x78\xc7\xc1\xed\xdb\x7b\x32\x6b\xc6\xa7\x63\x91\xe2\x4e\x28\x37\xfb\x6d\x39\x80\xbc\x8e\x5a\xda\xdc\x93\xc3\x68\xf5\x5b\x23\xa4\xa8\xc6\x16\x69\xee\x09\x9c\x44\xbf\x8b\x8f\xef\xa0\xbe\x01\x2d\xbe\xdf\xe0\x34\xf4\xbb\x26\xc9\xc6\xba\xec\x5c\xeb\x9e\x29\xa5\xf7\xfb\xf4\x68\x8c\xb5\xb0\xc8\xeb\x5e\x00\x6e\xf7\x7b\x6d\xd0\x82\xfa\x6b\x5d\x37\xf7\x07\xed\x36\xbd\x4f\xc6\x73\x5e\xaf\xba\x9c\xde\x5f\xb8\xf3\xfa\x70\x1a\x2f\x41\xa3\xac\x6b\x7a\x7f\xd3\x6e\xdf\x47\xe5\x18\x07\xdc\xb3\xae\xf4\xfe\xc3\x5d\xd0\x1f\x8b\xab\x33\xf2\x12\x3a\xaf\xbb\x19\xac\x0f\xfd\x09\x44\xd7\x9c\x37\xd6\xf5\x75\xb7\x68\x17\xf5\x58\xe6\xaf\x91\x7f\x84\xfe\xba\xdb\x63\x72\xe9\x31\x38\x80\x9c\xcf\x4d\xd4\xdf\xdd\x83\x75\xed\xc9\x9c\x26\x88\xbb\x5c\x9b\xef\x9a\xec\x8e\xfd\x19\xa7\x66\xde\xee\xac\xab\x91\x6f\xf2\xca\xee\xcf\xaf\xe0\x9e\xb7\x47\xde\x6f\xf2\x2d\xee\x70\x7f\x09\x03\x3b\x68\x13\xeb\x0a\xf2\x1d\xee\xce\xfd\x85\x8f\xd7\xb1\xad\xac\x1b\xce\x7d\xd9\xdd\xfa\xd8\x1b\xaf\x79\x5b\x5b\xb7\x38\x0f\x88\x82\x7d\x4c\x43\x23\x6f\x07\xeb\x56\xe4\x11\xee\xb2\x3e\xb6\xc7\x34\x68\x5d\xeb\xd6\xe7\x44\x76\x45\x7f\x8d\xc6\x2c\xe8\x76\xd6\x4d\xe6\x31\xed\x68\x7f\x55\xe3\x3d\xef\x8e\xd6\xcd\xc8\xaf\xb8\x63\xfd\xcd\x1f\xef\x41\x17\x5b\x69\x98\xdf\xee\xea\xaf\xbf\x51\xec\xe4\x7d\x6a\xa5\x38\xef\x40\xd7\xf6\x79\x73\x7a\xe6\x7d\x0e\xb4\x57\x2e\x64\xd7\xf5\x45\x1a\x66\x79\x3f\x74\x7b\x2b\x9f\x70\xd7\xf7\x85\x39\xe6\xa8\x97\xad\xe8\xf3\x37\x22\x63\x5f\x26\x63\x11\xf4\x4e\x17\x18\xf9\x37\xf7\xc3\xfe\x11\x07\x15\x12\xbb\x06\xcc\xf9\x6f\x50\x9f\xfe\xd1\xc4\x2d\x12\x67\x2b\x35\xf2\xd5\x5d\xc9\xbe\x0a\x03\x3b\x17\x37\x2b\x9d\x73\x03\x77\xaf\xbe\x52\x63\x81\x44\x65\xa5\x7d\x6e\x82\xce\xec\x69\x34\x96\xa3\xf8\x58\x29\xc8\x6d\xd9\x7d\x7b\xe6\x8f\x8f\x5c\xcc\x56\x86\x73\x80\xbb\xb9\x67\x92\xd0\x40\x68\x56\x16\x17\x7f\xb4\x33\xfa\x67\x1a\x5d\xc7\x01\x5b\x59\x5a\x78\x68\x5f\xf6\x75\x78\x7c\xe7\x43\x62\x65\x4d\xb1\xcf\xfd\xa8\x6f\xf8\x48\xf3\x61\x6a\x2d\x59\x1c\x71\x67\xf5\x9c\x8d\xcf\x60\x00\x56\x66\x14\x67\xdc\x39\x7d\x1b\x8d\x6c\x1c\x3d\x2b\x93\xc5\x85\xf6\x9b\xbe\x35\x6d\x80\x46\x6c\xdd\xf7\xc5\x8d\xf6\xdb\xbe\xa3\xd1\x37\x1f\x0b\xeb\x8e\x8b\x14\xf4\xbb\xbe\xd3\xc6\x7a\x1c\x1b\xeb\xde\x14\x39\xee\xfd\xbe\xcf\xc6\x26\x1f\x47\xeb\x2e\x8b\x42\xf6\x61\xdf\xcb\x93\x08\x5e\x83\x75\x9f\x8b\x89\xf6\xa7\x7e\xda\x84\x29\x7a\x41\xeb\x6e\x15\x0a\xf7\xa4\x7f\x6f\xce\x6d\x3e\x6d\xad\x7c\x53\x2c\xa0\xbf\xf4\x1f\x7f\x6c\xc7\x29\xb1\x72\x5c\xe8\x07\x63\xd3\x7f\xb8\xad\x05\x53\xae\x6d\x37\x85\x89\xfb\x6b\xff\xb1\xc7\x2e\x9f\x98\x95\x17\x05\x94\x7d\xd6\x4b\x32\xf6\xc1\xd4\x77\x21\x28\x2c\xd9\x17\xbd\x94\xb7\x4b\x3e\x7d\xac\x5c\x16\xb6\xec\xf3\x5e\x6a\xa3\xc8\xa7\x9f\x95\xcf\x85\x8b\x7b\xda\x2b\x36\x0a\x34\xd9\x56\xb1\x29\xd7\xb2\xaf\xfb\x1f\x1f\x87\xf1\x5d\x58\x05\x2e\x7d\xd0\xb7\xfd\x1c\x8d\x63\xfe\xe6\x56\x51\x94\x01\xed\x45\x3f\xb3\xf1\x15\xbc\x07\xab\xe8\xcb\x90\xf6\xaf\x7e\x9e\xc6\x17\x7a\x4b\xab\x98\xcb\x08\xb9\xd7\x7e\xf1\xc7\x29\x7f\xcf\x50\x15\x25\x86\x9f\xa4\x5f\xe6\xf0\x1c\x7c\xd6\xbc\xdc\x94\x67\xd9\xab\x7e\x45\xc6\x69\xfc\x6c\xbb\x17\x2e\x2f\xb4\xff\xf5\x2b\x73\x7c\x8f\x1f\x6c\x95\x9b\x32\x01\xfd\xd2\xeb\xfb\xf4\x39\x7e\xae\x56\x19\x97\xe9\x41\x96\xbd\xfe\xba\x5f\x82\x8f\xd2\xb6\x61\xf9\x90\xbd\xde\x9b\x89\x73\xce\x3f\xba\x55\xd2\xf2\x09\x1b\xa7\x87\xb6\x73\x46\x92\x58\x65\x53\xb6\x79\x3a\xf6\x28\x1a\x3f\xa3\x4c\xac\xb2\x2f\x3b\xd9\x5b\x3d\x62\xa3\x44\x92\x59\xe5\x5c\x0e\xb8\x77\x7b\xab\x49\xf9\x28\x5f\xbc\x9d\xcb\x17\x34\x61\x6f\x19\x97\x64\x94\x52\xdb\xc6\xe5\x9b\xf6\xa0\xb7\x93\xf1\x9b\x4b\xa4\x6d\xd3\x52\x82\x5e\xeb\x1d\x6f\xfc\x8e\x6a\xcf\x31\x28\x67\x2a\xfe\x7a\x67\x1a\xbf\x48\x11\xeb\x11\x97\x2b\x2a\x76\xbd\x1b\x8d\x73\xae\xae\xbc\xed\x4b\x7d\xf4\x9b\xde\x55\xe3\x3c\xaa\xda\x7a\xd0\x12\x4a\xb1\xef\x01\x19\xe7\x40\xb5\xdc\xb7\x4a\x0b\x0b\xdc\x6b\xde\xb8\xe4\xea\x67\x3d\xe6\xd2\x19\x9a\x5f\xaf\x65\xce\x65\xfc\xfe\x59\x55\xf3\x58\x63\x71\x15\x7f\xe5\xa8\xe7\xdf\x83\x55\xed\x1f\x1b\x2a\x32\xf1\x37\x8d\x2b\xf4\x3d\x36\x43\xf8\xf0\xf2\x7a\x12\x6b\x6f\xd4\xc7\x6f\x6c\x55\xe1\x63\x0b\xc4\x59\xac\x93\x71\x41\xdf\x9b\x55\xbd\x1e\x7b\x20\x2a\xb1\xf1\x47\x33\xf8\xb6\x56\x25\x1f\x41\x7e\x1b\xc4\xc6\x1c\x8d\xfc\x2b\x1b\xb2\x7f\x44\x40\x50\xe1\x79\x23\x0c\xbe\x73\x33\x80\x07\xa6\x22\x12\xde\x2b\xb8\x8d\x5f\xdb\xa2\xe1\x83\x48\x51\x8b\x6d\x39\x9a\xe8\xe7\xb7\xed\xfc\x88\x83\xe2\x2c\x76\x61\x66\x04\xbf\xcc\xa2\xf8\x91\x4a\xd1\x8a\xbd\x37\xa2\xfc\x27\x2c\x5a\x3c\x2a\x29\x84\xf0\x9b\x58\xe6\x4b\x67\xd1\xe6\x81\x50\xac\x0b\x2c\x46\x3b\x5f\x26\x8b\xf6\x0f\x1b\x8b\x97\x20\x9b\xf4\x1a\x2c\x4b\xf7\x0e\x1f\x6e\x40\xb0\x20\xe5\x68\x8f\x2b\xcf\xa2\xa0\x5a\x8f\xd8\x11\x67\x36\xda\xc1\xea\x60\x51\x59\x6d\xee\xfd\x20\xce\xf6\xe8\xa2\x55\x6c\xb1\xa2\xda\xdd\xfb\x9b\xb8\xa8\xd1\x0d\x56\xcc\x62\xb8\x3a\x00\xf1\x13\x71\x11\xf6\x68\x35\x58\x6c\x53\x85\x83\xf5\x15\xb1\x0c\x46\xb4\x7a\xf3\x3b\xae\x30\x10\x96\x48\xec\x11\xe4\x2b\xcd\x62\x4d\x75\xa6\x42\x17\xd7\x64\x04\x48\xdf\x5b\x6c\xae\x62\x3c\x6e\xc5\xcd\x7b\x9d\x91\x7e\xb1\xda\xb4\x4a\xef\xdd\x51\xdc\x96\xd7\x39\xd0\x2b\xab\xdd\x57\xd9\x60\x5c\x45\xba\x49\x3f\x48\xaf\xad\x36\xac\x72\xf2\x3b\x88\x54\xa6\xd7\x5c\x7f\x5b\xed\xab\x2a\xb5\x9f\x2f\x32\xef\x75\x19\xf5\xd9\x6a\x65\x45\xe5\x78\x10\x77\xf6\xba\x20\x23\xe0\xbe\xac\x38\x18\x8f\x22\x9f\x5e\x49\x6e\xb4\x56\x6b\x55\x2f\x3a\x06\xa2\x50\xa3\x33\x1a\xca\x6a\x41\xf5\x1e\x23\x26\xca\xe4\x75\x45\x06\xb4\xba\xb8\x92\x72\x8c\x45\xa9\x5e\xd7\xdc\x5c\x5b\x1d\xad\xbe\x72\x3c\x8b\x47\xf2\xba\xe5\xe6\xde\xea\x8a\x6a\x01\x63\x2e\x2a\xf2\x4a\x03\x33\xb7\x3a\x59\x21\x39\x3e\x04\x35\x5f\x59\x6e\xaa\x7e\xdf\x54\x8e\x1c\x0b\xc1\x9a\x8b\x95\x9b\x88\x53\x59\x01\x39\x52\xc1\x4c\x27\x1e\x61\x6e\x75\x80\xee\xe5\xf8\x14\xb5\x7a\xdd\x73\x48\xad\x3e\xa4\xd5\x7d\x9e\x85\xe0\xaf\x3b\x42\xc8\xea\x63\xca\xee\xd6\x47\x08\xed\x95\xe7\xd6\xda\xea\x0b\xda\xe0\x51\x88\x41\xbd\x8a\xc0\x3a\x5a\xbd\xa4\x2d\x1d\x47\x31\x86\xf7\x14\x59\x89\xd5\xbf\x68\x97\xb3\x8f\x18\xd9\xab\x0c\xac\xaa\x73\x7b\x2a\xc0\xf8\x11\xaf\xf4\x2a\x46\xab\xb7\x7a\x8b\xbe\xe8\xf8\x15\xaf\xe9\xf5\xc8\xad\x8f\xd5\x03\x2a\x0f\xc6\x49\x4c\x7d\x3a\x23\xcb\xea\x06\x4c\x25\x52\xba\x98\x66\xf6\x0c\x2c\xd0\x8d\x92\x2a\xd8\x8f\xe2\x9d\xbc\x1e\xc8\x3e\x36\x06\xa0\x0b\x1d\x57\xe2\x6d\xbf\xaa\xdc\x26\x96\x28\xe8\x8a\xfc\x22\xf1\xd9\x9f\xba\xdc\x8e\x2d\x41\xa9\x8e\xbd\x58\x7c\x9a\xd4\xc8\xed\xbc\xa5\x7b\x6a\x80\x11\x8a\xcf\xf2\xa2\xa3\x5d\x59\xa2\xa7\xa6\x1c\x6d\x21\xbd\x17\x0b\xec\xce\x12\x06\xb5\xf0\x08\x84\xd4\x5e\xcf\xc0\x5e\x59\xc3\x9e\xba\xf2\xb5\x11\x8a\xbd\x9e\xc8\x46\xd6\x10\x53\x00\x5e\x3b\xa1\x96\x57\x3d\xda\xae\x35\x50\xb6\x06\xaf\x83\xf8\x36\xc9\x19\x39\x98\x9f\x24\xdb\x82\x57\x28\x7e\xe9\xa5\x0c\x9c\xa7\x35\x48\x76\xa0\xaf\xa3\x98\xe7\xdb\x39\x70\x6c\x6b\x30\x18\x91\x2f\x2c\x56\x53\x73\x1b\xdd\x08\x7d\x1a\x96\x48\x3e\x89\x95\xf6\xe2\xc8\x8d\xad\x71\xc3\x6e\xf8\x15\x0b\x5d\x7b\xb5\xc8\x7d\x5a\x63\xcc\xee\x39\x93\xc2\x88\x5e\x6d\xee\x72\x6b\x4c\x59\x2e\x5f\xa9\x30\xd8\xab\x0f\xdc\x97\x35\x52\x56\xe2\x57\x21\xcc\xe8\xd5\x23\xd7\xb0\xc6\x9e\x55\x88\xae\x04\x34\x5f\x22\x00\x37\x6b\x34\x98\xc0\xc1\x22\x90\xf9\x12\x23\x78\x3a\x5b\xef\xf9\x47\xd6\x6b\xf8\xe7\x7f\xcf\xf2\x6f\xe3\x6c\xc9\xf3\x4f\x5b\x6f\xe1\x5f\xf2\xbd\xd0\xbf\x9d\xb3\x2d\x9f\x6b\xb5\xf6\xe1\x1f\xfb\xc6\xf8\xef\xe0\x6c\xc5\x73\xc3\xd6\x21\xfc\x9b\xbe\x31\xf8\x8b\x9c\xed\xf2\xf4\xc8\xfa\x04\xff\xcc\x6f\x22\xff\xb0\xb3\xd5\x9e\x9e\xb6\x3e\xc3\xb5\xf7\xbd\xd2\xbf\x8b\xb3\x8b\x9e\x5b\xb5\x4e\xe0\x9a\x7c\x6f\xf8\xef\xea\xec\xb2\xe7\x8e\xad\x53\xb8\x2e\xbf\x37\xf0\x97\x39\x3b\xfe\xdc\x93\x75\x0e\xd7\xe2\x9b\xca\xbf\xc2\xd9\xa9\xe7\x5e\x5b\x3f\xe0\x7a\xf9\x66\xf4\xaf\x72\x76\xf6\xd3\x57\x6b\x06\xd7\xda\xf7\x8e\xff\x9e\xce\xde\x7f\x1e\xd8\xba\x81\x9b\xe8\x7b\x07\x7f\xdc\xd9\x27\xcf\x80\xac\x3b\xb8\xc9\xbe\xb9\xfc\xeb\x9d\x3d\x7b\x06\xda\x7a\x80\x1b\xfe\x2d\xe8\xdf\xe8\xec\xa7\x67\xa8\xd6\x13\xdc\xa8\x6f\x89\xff\xde\xce\xde\x7c\x46\x6c\x2d\xe1\xc6\xfe\x96\xe0\x4f\x39\xbe\xf7\x3c\x92\xf5\x0f\x7a\xfe\xf7\x21\xff\x66\xc7\x27\xcf\xa3\xb6\x5e\x41\x2f\xf9\x56\xf4\x4f\x77\xfc\xf2\x79\x52\x6b\x13\x7a\xec\x4b\xf1\x1f\x74\x7c\xf1\xc4\x6c\x6d\x41\x6f\xfa\x52\xf0\x67\x3b\xfe\xf2\x24\x64\xed\x42\xcf\xfc\x32\xf9\x07\x9c\x83\xf7\x24\xda\x66\x0d\xb7\xde\xf7\x29\xd7\x6b\xe7\x40\x9e\x67\xb5\xd9\xc2\x2d\xf9\xd6\x74\xbd\x75\x0e\xe5\xf3\xc2\x36\x3e\xdc\x96\xdf\x06\xaf\x7d\xe7\x20\x9e\x31\xd9\x84\x70\x2b\xbe\x0d\x58\x87\xce\x61\x79\xc6\xda\xe6\x04\xb7\xcb\x97\xcb\xf5\xc9\x39\x68\xcf\x44\x6d\xce\x70\xab\x7d\x5b\xba\x3e\x3b\x41\xf4\xbc\xb2\x4d\x02\x77\xd1\xb7\xc3\xeb\xc4\x09\xb2\xe7\x8d\x6c\x52\xb8\xcb\xbe\x1d\x58\xa7\x4e\xc0\x9f\x37\x6d\x93\xc3\x1d\xff\xf6\x72\x9d\x3b\x81\x7a\xa6\x6a\xf3\x80\x3b\xf5\x15\x74\xfd\x70\x02\xfb\x99\xb1\x0d\x83\x3b\xfb\x3b\xe0\x35\x73\x42\xff\x79\x27\x9b\x06\xee\xfd\xef\x00\xd6\x8d\x13\x26\xcf\xbb\xb6\xe9\xe0\x3e\xf9\x8e\x72\xdd\x39\x21\x7b\xe6\x6a\x33\xc0\x3d\xfb\xbe\xe8\x7a\x70\xc2\xe9\x59\xb0\xcd\x04\xf7\xd3\x77\xc2\xeb\xc9\x09\xcd\x67\x49\x36\x12\xee\xcd\xef\x04\xd6\xd2\x89\xbc\x67\xa9\x6d\x7e\xd0\xf7\xbe\x6f\xb9\xfe\x39\x11\x79\x3e\xd4\x66\x05\x7d\xf2\xfd\xd0\xf5\xca\x89\xca\x67\xc5\x36\x26\xf4\xcb\xaf\xc4\x6b\xd3\x89\xc4\x93\x92\x8d\x05\x7d\xf1\x95\x60\x6d\x39\xd1\xf2\xa4\xda\xc6\x85\xfe\xf2\x55\x72\xed\x3a\x91\xf6\x64\xca\xfb\x83\xbe\xf6\xfd\xd2\xcd\x9f\x73\x8c\x9e\x4f\xe6\x79\xf0\x10\x7d\x7f\x78\xe3\x39\xc7\xec\x59\x13\x6f\x0f\x0f\xd9\xf7\x07\x36\x7b\xe7\xc8\x9f\xb5\xe6\x05\xf0\xc0\xbf\xb3\xdc\x04\xce\x51\x3d\x1b\xe5\x1d\xe1\x41\x7d\x17\xba\x39\x3a\x47\xfb\xc9\x99\x47\xe0\xc1\xfe\xae\xf0\x86\x38\x27\xff\xd9\x12\x2f\x86\x81\xff\x5d\x81\x4d\xec\x9c\x92\x67\xab\x79\x37\x18\x24\x5f\x5d\x6e\x6e\xce\x89\x3d\x3b\xe5\xdd\x61\xc0\xbe\x06\xdd\xdc\x9d\xd3\xf4\xec\x99\x57\xc2\x60\xfa\x9a\x78\x53\x3a\x27\xf3\x29\x88\x47\x61\x60\x7e\x4d\xb0\xa1\x0e\xf6\x9e\x42\xf3\x6a\x18\x7a\x5f\x28\x37\xb5\x83\xc9\x73\x50\x5e\x0b\x43\xf2\x45\x74\xd3\x3a\xb8\x7c\x8e\xcc\x13\x30\x2c\xbf\x16\xde\x08\x07\x8b\xe7\x8b\x78\x2f\x18\x8a\xaf\x05\x36\x2f\x07\x2f\xcf\x97\xe6\x7d\x60\xb8\x7c\x6d\xb9\xf9\x38\x58\x7b\x4e\xca\xfb\xc2\x50\xfb\x3a\x74\xf3\x75\x48\xf4\x7c\x33\x6f\x81\x51\xf4\x75\xf1\x66\x71\x48\xf6\xfc\x10\xcf\x80\x51\xf6\x75\xc1\xc6\x70\x08\x7f\x7e\x34\x0f\xc1\x88\x7f\x81\xdc\x20\x87\xa8\xa7\x54\x9e\x03\x23\xf5\x3b\xe3\x8d\xe3\x5c\xfd\xa7\x62\xbb\x0d\x8c\xec\xdf\x19\x6c\x34\xe7\x9a\x3c\xbf\x64\xb7\x83\x47\xff\x77\x91\xde\xc6\xb9\xb2\xe7\x57\xdb\x1d\xe0\x31\xf9\xc5\xd4\xdb\x39\xd7\xe9\xf9\x53\xbb\x08\x1e\xd9\x2f\xc1\xde\xc1\xb9\x9a\xcf\x99\xed\x30\x3c\x4e\xbf\x04\x78\x91\x73\xf3\x9e\x0b\xd9\x5d\xe0\xd1\xfc\x5d\xa5\x87\x9d\x1b\x79\x2e\xda\xee\x0a\x4f\xde\xef\x46\xbd\x8b\x73\x2b\x9f\x2b\xb5\xcb\xe0\x89\xfc\x52\xec\x5d\x9d\x9b\x78\xea\x6c\x57\xc0\x53\xf9\x4b\x81\x97\x39\xb7\xe5\x69\x90\x5d\x05\x4f\xe2\x97\x49\xaf\x70\x6e\xda\xd3\xd0\x76\x4f\x78\x5a\x7e\x77\xea\x55\x4e\x1a\x3d\x4d\xb5\xe3\xf0\xa4\xfd\x72\xec\x3d\x9d\x34\x7b\x42\xb6\xeb\x21\x8e\x7e\x39\xf0\xb8\x93\xf2\x27\x22\xbb\x11\xe2\xec\x57\x48\xaf\x77\x52\xf5\x44\xda\xee\x0d\x31\xff\x95\xd4\x1b\x9d\xd4\x7e\x5a\x6a\xa7\x20\x56\xbf\x07\xf6\xde\x4e\xe6\x3f\x6d\xb6\x9b\x21\xb6\x7f\x0f\xe0\x29\x27\x4b\x9e\x0e\xd9\xe9\x90\xf8\xbf\x4a\x7a\xb3\x93\xb1\xa7\xa3\xed\x20\x24\xc9\x8f\x52\x4f\x77\xb2\xe9\xe9\xaa\x9d\x0d\x09\xfb\x31\xec\x41\x27\x33\x9f\x80\xed\x00\x24\xd3\xef\x89\x3d\xdb\xb9\xfb\x4f\x8d\xec\x37\x90\x98\xbf\x27\xf0\x80\x73\x4f\x9e\x9a\xb6\xdf\xc1\xb3\xf7\xab\xe5\x76\xed\xdc\x59\xfd\xa7\xf6\x07\x78\x26\xbf\x86\x6e\xb7\xce\x7d\xaa\xd7\x6c\x1f\xc1\x73\xf9\xe3\x78\xeb\x3b\x77\xb3\xde\x90\x3d\x86\x67\xf1\xe3\x60\x1b\x3a\xb9\x57\x6f\xb4\xfd\x05\x9e\x97\x5f\x2b\xb7\x27\x27\x27\xb5\xa7\xf6\x57\x78\xd6\x7e\x1d\xdd\x9e\x9d\xbc\xac\xb7\x6c\x9f\xc1\x4b\xf4\xeb\xf1\x36\x71\x72\x51\xef\xc8\xbe\x80\x97\xec\xd7\x83\x6d\xea\xe4\x4b\xbd\xd3\xf6\x15\xbc\xf0\x9f\x90\xdb\xdc\xc9\xb5\x7a\xaf\xf6\x4f\x78\x51\xbf\x81\x6e\x1f\x4e\x11\xd5\x3e\xdb\x73\x78\xb1\x7f\x23\xde\x32\xa7\xc8\xea\x03\xd9\xf7\x30\xf6\x7f\x23\xd8\x36\x4e\xc1\xeb\x83\xb6\x1f\x61\x9c\xfc\x5e\x72\xdb\x39\x85\xaa\x03\xb5\x7f\xc3\x98\xfd\x26\xba\x1d\x9c\xc2\xae\x43\xb6\x57\x30\x9e\x7e\x6f\xbc\x9d\x9c\xd2\xaf\x23\xb2\x9f\x61\x6c\xfe\xde\x60\x2b\x9d\x32\xa9\x23\x6d\xaf\xc3\xc4\xfb\x7d\xe4\xf6\xe7\x94\xac\x3e\xaa\x3d\x84\x09\xf9\x49\xba\x5d\x39\xe5\x54\x9f\xd8\xde\x86\x49\xf9\x53\x78\x6b\x3a\xa5\x59\x63\xb2\x07\x30\x11\x3f\x05\xb6\x96\xf3\xf0\x6a\xac\xf9\x6b\x98\x2c\xbf\xaf\xdc\xba\xce\x83\xd4\x44\xf9\x5b\x98\x68\xbf\x1f\xdd\xfd\x39\x8f\xb2\x3e\x33\xdf\x87\xd7\xe8\x37\xe3\x9d\xe7\x3c\x44\x7d\x21\x7e\x08\xaf\xd9\x6f\x06\xbb\xbd\xf3\x58\xea\x8b\xe6\x9f\xe0\x95\xff\x16\xb9\x0b\x9c\x87\x56\xc7\xca\x3f\xc3\xab\xfa\xad\xe8\xee\xe8\x54\x51\x9d\x30\x3f\x81\x57\xfb\xa7\xe3\x1d\x71\xaa\xac\xbe\x12\x3f\x85\x37\xff\xa7\x83\x5d\xec\x54\xbc\xbe\x6a\x7e\x0e\x6f\xc9\xcf\x90\xbb\x9b\x53\xa9\xfa\xa6\xfc\x07\xbc\xb1\x9f\x49\x77\x77\xa7\xb2\xeb\x94\xf9\x0c\xde\xa6\x1f\xc4\xbb\xd2\xa1\x7e\x9d\x11\xbf\x81\x37\xf3\x07\xc1\x8e\x3a\x34\xa9\x33\xcd\xef\x60\xea\xfd\x90\xdc\xd5\x0e\x65\xf5\x5d\xf9\x03\x4c\xc9\xcf\xa2\xbb\xd6\xa1\x53\x9d\x33\x7f\x82\x69\xf9\xb3\xf1\x4e\x38\xd4\xac\x0b\xe2\x4b\x98\x8a\x9f\x0d\x76\x2f\x87\x79\x75\xa1\xf9\x3f\x98\x2e\x3f\x47\xee\x3e\x0e\x23\x75\xa9\xfc\x15\x4c\xb5\x9f\x4b\x77\x5f\x87\x95\xf5\x83\xf9\x26\xcc\xa2\x1f\xc0\xbb\xc5\x61\xa2\xae\x88\x6f\xc1\x2c\xfb\x01\xb0\x33\x1c\xb6\xd4\x95\x16\xfc\xc1\x8c\xcf\x67\xba\x43\x4e\x1b\xd5\x54\x05\x1e\xcc\xd4\x7c\xc1\x3b\xc7\x69\xb3\x9a\xb1\x60\x0f\x33\x7b\xbe\x80\x9d\xe6\xb4\xbc\x7e\x92\x20\x80\x77\x7f\x8e\xe5\x7e\xe3\xb4\xaa\x7e\x6a\xc1\x11\xde\x93\x39\xa1\xfb\x9d\xd3\xda\x75\xad\x02\x02\xef\x6c\xbe\xe2\xfd\xc1\xe9\xfc\xba\x61\x41\x0c\xef\xd3\x7c\x05\xfb\xc8\xe9\x92\x9a\x93\xe0\x06\xef\xe6\x7c\x93\x7b\xec\x74\xac\xe6\x5a\x70\x87\xb9\x37\xa7\x74\x7f\x71\xba\xa9\x6e\x55\x50\xc2\x9c\xcc\x19\xde\x5f\x9d\xce\xac\x3b\x16\x50\x98\x97\x73\x06\xf6\x99\xd3\x7b\x75\x4f\x82\x1a\xe6\x62\xbe\xcb\x7d\xe1\xf4\xa4\xee\xb5\xa0\x85\xf9\x32\xe7\x74\x5f\x39\x7d\x59\x0b\x15\x08\x98\x6b\x73\x81\xf7\x4f\xa7\x17\xf5\xc0\x82\x17\x2c\xa2\xb9\x00\x7b\xee\xf4\x4b\x3d\x92\xe0\x03\x8b\x6c\x2e\xe5\xbe\x77\x7a\xad\x1e\xb5\xe0\x0b\x0b\x3e\x3f\xe8\x7e\x74\x44\x54\xbf\x54\xb0\xc0\x42\xcd\x15\xde\xbf\x1d\x91\xd5\x13\x0b\x0c\x58\xd8\x73\x05\xf6\xca\x11\xbc\x7e\x93\x00\xc1\xd2\x9f\xa9\xdc\xcf\x8e\x50\xf5\x5b\x0b\x1c\x58\x26\x33\xa3\x7b\xdd\x11\x76\xfd\x51\xe1\x1f\x2c\xd9\xfc\xa4\x7b\xe8\x0c\x51\x2d\x59\xe8\xc1\x72\x9a\x6b\xbc\xb7\x9d\x21\xab\x15\x09\xf7\xb0\x34\xe7\x1a\xec\x81\x33\xf0\x5a\x69\x61\x00\x1f\xde\xdc\x48\x7f\xed\x0c\xaa\xfe\xaa\xf0\x08\x1f\x64\xe6\xd4\xdf\x3a\x83\x5d\xff\x58\x48\xe0\xa3\x9c\x5b\xec\xfb\xce\xe8\xd7\x33\x09\x63\xf8\x10\x73\x0b\xfc\xd0\x19\x93\x7a\xd6\xc2\x1b\x7c\x2c\x73\x27\xfd\x93\x33\xb2\x7a\x51\xe1\x1d\x3e\xb4\xb9\xa7\xfe\xd9\x19\xa7\x7a\xc5\xc2\x12\x56\xd1\x2c\xb0\x9f\x38\xa3\x59\xeb\x24\xa4\xb0\xca\x66\x01\xfc\xd4\x79\x79\xb5\xae\x85\x35\xac\xf8\x3c\x48\x3f\x77\x5e\xa4\x36\x54\xd8\xc2\x4a\xcd\x23\xf5\x1f\xce\xab\xac\x4d\x16\x0a\x58\xd9\xf3\x0b\xfb\xcc\x79\x89\x1a\x92\xf0\x05\xa9\x3f\xbf\x80\xdf\x38\xaf\xa5\x86\x5a\xf8\x81\x34\x99\x27\xe9\x77\xce\x4b\xab\x91\x0a\xbf\x90\xb2\xf9\x4d\xfd\xc1\x99\xa2\xda\x62\xe1\x02\xe9\x34\x7f\xb0\x3f\x39\x53\x56\xdb\x24\x34\x20\x35\xe7\x0f\xf0\xa5\x33\xf1\xda\xd6\x42\x04\x99\x37\x4b\xe9\xff\x9c\x49\xd5\x8e\x0a\x1d\xc8\xc8\xac\xa8\xbf\x72\x26\xbb\x76\x59\xa8\x41\x56\xce\x5f\xec\x9b\xce\xdb\xaf\x01\x89\x36\x90\x89\xf9\x0b\x7c\xcb\x79\x27\x35\xd0\xa2\x1d\x64\xcb\xfc\x93\xbe\xeb\xbc\x59\xad\xa9\xe8\x00\x99\x36\xcf\xf4\xf0\xe7\xbc\xa7\xe6\x8f\x45\x11\x7c\x46\xf3\x82\x0f\x9e\xf3\x36\x9b\x35\x89\x30\x7c\x66\xf3\x02\x0e\x7b\xe7\xe3\x35\x6b\x2d\xba\xc0\x27\x9f\x57\xf2\x10\x38\x1f\xd2\x6c\x54\x74\x85\x4f\x35\xeb\xf4\x70\x74\x3e\x65\xe3\xb1\x28\x83\x4f\x7b\x36\xf0\x81\x38\x1f\xd1\x6c\x49\x54\xc0\xda\x9f\x0d\x70\x88\x9d\xcf\xd2\x6c\xb5\xa8\x82\x75\x32\x9b\xf2\x70\x73\x3e\x5a\xb3\x53\xd1\x13\xd6\x6c\x86\xf4\x70\x77\x64\xd4\xec\x59\xc4\x61\x3d\xcd\x08\x1f\x4a\x47\x66\x8d\x4f\xa2\x1e\xd6\xe6\x8c\xc0\x81\x3a\x92\x37\xbe\x16\x8d\xb0\xf1\x66\x4b\x1e\x6a\x47\xaa\xe6\xa0\xa2\x37\x6c\xc8\x6c\xd3\x43\xeb\x48\xbb\x09\x58\xa4\x60\x53\xce\x0e\x3e\x08\x47\xf9\x4d\x48\xa2\x19\x36\x62\x76\xc0\xe1\xe5\xa8\xa4\x09\xb5\x48\x87\xcd\x32\xbb\xf2\xf0\x71\x14\x6b\x22\x15\x41\xd8\x68\x33\xa0\x87\xaf\xa3\xa6\xe6\xc8\x22\x1b\xf2\x68\xd6\xf0\x61\x71\x56\x5e\x73\x22\xa7\x35\xe4\xd9\x72\x96\x07\xc3\x59\x91\xe6\xa4\x9d\xb6\x90\xf3\xe5\x42\x0f\xc8\x59\x95\x0d\x56\x27\x1f\x72\xb5\xc4\xf8\xe0\x38\x2b\xd1\x10\x76\x0a\x21\xb7\x97\x18\x1c\x34\x67\xb5\x34\x67\x72\x3a\xc1\xd6\x5f\x12\x19\x6c\x9c\x95\xd6\x9c\xb5\xd3\x19\xb6\xc9\x72\xa5\xc1\xce\xd1\xa3\xe6\xa2\x4e\x09\x6c\xd9\x72\xc3\xc1\xc1\xd1\xb3\x26\x66\xa7\x14\xb6\xd3\x72\x03\x41\xe4\xe8\xbc\x49\xc8\x29\x87\xad\xb9\xa4\x32\xc0\x8e\xae\x9a\x44\x3b\x3d\x60\xe7\x2d\x19\x0d\x2e\x8e\x6e\x37\x57\x75\x62\xb0\x23\xcb\x1d\x07\x57\xc7\xf0\x9b\x1b\x3b\x35\xb0\x2b\x97\x3b\x08\x32\xc7\x48\x9a\x94\x9c\x3a\xd8\x89\x25\x97\x41\xe1\x18\xac\x49\xb5\xd3\x00\xbb\x65\x29\x68\x50\x39\xc6\xd4\x64\xea\x34\xc1\x4e\x5b\x4a\x1c\x3c\x1d\xc3\x6c\xee\xec\x24\x61\x1f\x2d\x25\x08\xb8\x63\x7a\x4d\x4e\x4e\x3f\xd8\x67\xcb\x43\x06\xbd\x63\x92\x26\xd7\x4e\x2b\xd8\xf3\xa5\xa2\xc1\xe8\x98\x65\x53\xa8\x93\x09\x7b\xb5\x50\x1c\xbc\x1d\x53\x34\x25\x3b\x59\xb0\xb7\x17\x0a\x02\xe5\x98\x4b\xf3\x20\x27\x17\x0a\x7f\x61\x32\x98\x1d\xe8\x35\x0f\x0d\xaf\xa1\x48\x96\xa7\x0c\x74\x07\x92\xa6\x52\x78\x0b\x05\x5b\x6a\x1a\x40\x07\x96\x0d\x65\xd8\x87\x62\x5a\x1a\x1c\xd8\x0e\x14\x0d\x23\x38\x84\xc2\x5c\x1a\x10\x00\x07\x2e\x0d\xd3\xf0\x09\x0e\xde\xc2\x65\xb8\x76\xa0\xd6\x3c\x15\x3e\xc3\x81\x2c\x2d\x0d\xb7\x0e\x8a\x9a\x9a\xe1\x04\x0e\xe5\xd2\xe1\xd0\x77\x50\xd6\x34\x04\xa7\x70\x10\x4b\x07\xc2\xd0\x41\xbc\x69\x34\x9c\xc3\x61\x59\x7a\x19\x9e\x1c\xa4\x1a\xae\xf0\x03\x0e\xda\x22\x68\x78\x76\x90\xdd\xb4\x0c\x33\x38\x46\xcb\x80\xc3\xc4\xb1\xfc\xa6\x23\xb8\x81\x63\xb6\x0c\x20\x4c\x1d\x2b\x69\x3a\x0d\x77\x70\xe4\xcb\x28\xc3\xdc\xb1\x58\xd3\x2b\x3c\xc0\x51\x2d\x2f\x1a\x3e\x1c\x6b\x6a\x04\xc3\x13\x1c\xed\x65\xc2\x21\x73\x2c\xb3\x19\x08\x96\xf0\xe5\x2f\x13\x08\x1b\xc7\xf6\x9a\x41\xc3\x3f\xf8\x4a\x96\xb7\x0c\x3b\xc7\x26\xcd\xa8\xf0\x0a\xbe\xd8\xf2\xa1\xe1\xe0\xd8\x65\xf3\x62\xd8\x84\xaf\x69\x91\x38\x9c\x1c\x5b\x34\x13\xc1\x16\x7c\x99\x8b\x04\xa1\x74\xec\xa5\x99\x34\xec\xc2\xc9\x5b\x94\x0c\x7f\x8e\xad\x35\x6f\x45\xfe\xe0\x44\x96\x2f\x0d\x57\x8e\x13\x35\x1f\x46\x3c\x38\x95\xcb\x0f\x87\xa6\xe3\x64\x8d\x24\x64\x0f\x27\xb1\xfc\x40\x68\x39\x0e\x6f\xa4\x46\x02\x38\x2d\xcb\x2c\x43\xd7\x71\x54\xa3\x14\x39\xc2\x49\x5b\x16\x1a\xfd\x39\x8e\xdd\x7c\x19\x21\xf0\x1d\x2d\x2b\x1c\x79\x8e\xeb\x37\x3f\x42\x62\xf8\xce\x96\x15\x88\xf6\x8e\x9b\x34\x3f\x8d\xdc\xe0\x9b\x2f\xba\x8c\x02\xc7\x65\xcd\xac\xc8\x1d\xbe\xd5\x62\xd0\xe8\xe8\xb8\x53\xb3\x30\x52\xc2\xb7\xbd\x98\x38\x22\x8e\x6b\x36\x2b\x42\x28\xfc\xf8\x8b\x09\xa2\xd8\x01\x5e\xb3\xd2\x48\x0d\x3f\xc9\x02\x65\x74\x73\x00\x69\x74\x45\x5a\xf8\x61\x0b\xa2\xd1\xdd\x01\x65\x63\x30\x22\xe0\x67\x5a\x2c\x1c\x95\x0e\x10\x8d\x49\xc8\x0b\x7e\xcc\xc5\x02\x11\x75\xc0\xd2\x98\x1a\xf9\x40\xe9\x2d\xb6\x8c\x6a\x07\x68\x0d\x54\xe4\x0b\x25\x59\x1c\x1a\xb5\x8e\x16\x35\x88\x91\x05\xca\x72\x71\x71\x24\x1c\x2d\x6b\x2c\x42\x0c\x28\xc5\xe2\x82\xe8\xe5\x68\xbc\xb1\x34\x82\xa0\x5c\x16\x20\xa3\x8f\xa3\xa9\xc6\x56\xc4\x81\x52\x5b\x9d\x71\xf4\x75\xb7\x7e\xe3\xb0\xcb\x06\xaa\x68\x75\x06\xd1\xe2\x6e\x93\xc6\x25\x97\x1d\x54\xd9\xea\x22\x23\xc3\xdd\xb2\xc6\xd5\x2e\x07\xa8\xf8\x2a\xa6\x11\x72\xb7\x53\x03\xd4\x25\x82\x4a\xad\x12\x1c\x39\xee\xd6\x6c\x34\x76\xc1\x50\xd9\xab\x04\x44\x9a\xbb\xf3\xf8\x1f\xb9\x5c\xe0\xd7\x5f\x5d\xe5\x71\xe3\xee\x08\xff\xd3\x2e\x57\xf8\x4d\x56\x37\x7a\xdc\xb9\xbb\x92\xaf\xd5\x25\x83\x5f\xb6\x4a\xf1\xf1\xe0\xee\x04\xdf\xb0\x4b\x01\xbf\xd3\x2a\x05\xc7\xc8\xdd\x2d\xdc\x23\x97\x0a\x7e\xcd\x55\x26\x8f\xd8\xdd\x69\xdc\xd3\x2e\x4f\xf8\xf3\x56\x77\x7a\xbc\xb8\xfb\x88\x6f\xd5\x85\xc3\x1f\x59\xe5\xf8\x78\x75\xf7\x19\xdf\xb1\x4b\x0f\x7f\xe5\x2a\x07\xc7\xcc\xdd\x73\xbe\x27\x97\x11\xfe\xc4\xaa\x90\xc7\xc2\xdd\x2b\xbe\xd7\x2e\x6f\xf8\x5b\x56\x25\x3d\x56\xee\xde\xe6\xbe\xba\x28\xf8\xd3\x56\x0f\x7c\x7c\xba\xbe\xcf\x0f\xec\x32\xc3\x39\x5a\x3d\xc0\x91\xbb\x7e\xc2\x03\x72\xd1\xe1\x9c\xad\x2a\x79\xec\x5d\x9f\xf1\x40\xbb\x40\x38\xf3\x15\xa5\xc7\xd1\xf5\x27\x1e\xaa\x8b\x0d\x67\xb5\x62\xf8\xf8\x76\x7d\x93\x47\xec\x02\xe0\x6c\xaf\x9e\xf8\xa8\xdc\x83\xcf\x8f\x24\xde\xc0\xc5\x5f\x3d\xc1\x71\x76\x0f\x09\x3f\x6a\xf1\x0e\x2e\xc9\xaa\x96\x47\xdd\x3d\x30\x7e\x52\xf1\x01\x2e\x6c\xd5\xd0\x23\x74\x0f\x13\xc7\x2c\x8e\xe0\x32\xad\x38\x3e\xda\xee\xc1\xe4\x84\xc4\x18\x2e\xe6\x8a\x83\x23\x70\x03\x8f\x13\x2d\xbe\xc0\x95\xb7\x6a\xe5\x69\xed\x06\x84\x9f\x55\x7c\x85\x2b\xb2\xea\xe8\x69\xeb\x06\x25\xbf\xb0\x38\x83\xab\x72\xd5\xe3\x93\xef\x06\x82\xc7\x24\x2e\xe0\x4a\xac\x7a\x70\x0a\xdd\x60\xe1\xb1\x16\x57\x70\xb5\xac\x84\x3c\x9d\xdc\x40\xe3\x89\x8a\x9f\x70\xa5\xad\x06\x7a\x3a\xbb\x61\xc4\xaf\x2c\xe6\x50\x8f\x56\x23\x3e\x25\x6e\x98\xf1\x1b\x89\x7b\xa8\x67\xab\x11\x9c\x52\x37\xe4\xfc\xa6\xc5\x23\xd4\xf9\xea\x25\x4f\xb9\x1b\x2a\x9e\xaa\xf8\x0d\x75\xb5\x9a\xe8\xe9\xe1\x86\x36\xcf\x58\xac\xa0\x6e\xaf\xde\xf8\xc4\xdc\xc8\xe7\x77\x12\xcf\xd0\xf0\x57\x6f\x70\x6a\xdc\x28\xe1\x77\x2d\xd6\xa1\x91\xac\x3e\xf2\xd4\xb9\x11\xe3\xb9\x8a\x21\x34\xd8\x4a\xd2\xd3\xe0\x46\x13\x2f\x58\x6c\x43\x63\x5a\x29\x7c\x9a\xdc\xc8\xe4\x25\x89\x01\x34\xcc\x95\x02\x27\xe9\x1e\x3d\x5e\x6a\xc9\x1a\x9a\xde\xea\x2b\x4f\x3f\xf7\x48\xf8\x43\x25\x5b\x68\x92\xd5\x8f\x9e\x56\xee\xb1\xe4\x15\x4b\x7c\x68\x96\xab\x19\x9f\x4c\xf7\x28\x38\x25\x49\x08\x4d\xb1\x9a\xc1\xc9\x72\x8f\x0b\xa7\x5a\x72\x82\xe6\xb2\x5a\xe4\xc9\x75\x8f\x1a\x67\x2a\x39\x43\x53\x5b\xad\x28\xfe\x73\x4f\x11\x7f\xb2\x24\x81\x30\x5a\xe9\x18\x7b\xee\x29\xe3\x35\x49\x52\x08\xb3\x95\x0e\xf0\xde\x3d\x71\x5e\x6b\x49\x0e\x21\x5f\x19\x12\x07\xee\x49\xf1\x46\x25\x0f\x08\xd5\xca\xa4\xf8\xe8\x9e\x6c\xce\x59\xc2\x20\xb4\x57\x10\x63\xe2\x62\x9f\xb7\x24\x69\x20\xf2\x57\x10\xe0\xd8\xc5\x09\x6f\xb5\xa4\x83\x28\x59\x21\x89\x6f\x2e\x66\xbc\x53\xc9\x00\x11\x5b\x59\x14\xdf\x5d\x3c\xf1\x9e\x25\x13\x44\xd3\xca\xc6\xb8\x74\xb1\xc9\x05\x49\x24\x44\xe6\xca\x06\x98\xba\xc4\xe3\x42\x4b\x7e\xd0\xf2\x56\x8e\xc4\xb5\x4b\x08\x1f\x54\xb2\x82\x16\x59\xb9\x14\xb7\x2e\x29\xf9\xc8\x12\x13\x5a\xe5\x0a\x60\x2c\x5c\x22\xf8\x8b\x24\x16\xb4\xc4\x0a\x00\xfc\x72\xc9\xc2\x5f\xda\xed\x0f\x5a\x8b\x7e\xa6\xf8\xe3\x5e\x23\x3e\xa9\x9b\x07\x2d\x4d\xbf\x60\xfc\x75\xaf\x19\x7f\xb3\xdb\x1e\xda\x91\x7e\x01\x78\x71\xaf\x9c\x7f\xc8\x2d\x80\x76\xa6\xc7\x12\x1b\xee\x55\xf1\x8f\x76\x3b\x42\x9b\xeb\x09\xc5\xc8\xbd\xda\x5c\xaa\x1b\x81\xb6\xd2\xaf\x18\x3b\xee\xcd\xe7\x8a\xdd\x62\x68\xdb\xfa\x15\x60\xcd\xbd\x25\xfc\x4b\x6e\x37\xe8\xf8\xfa\x4d\x92\x8d\x7b\x63\xfc\xab\xdd\xee\xd0\x49\xf4\x94\x92\x9d\x7b\x9b\xf8\x4f\xdd\x4a\xe8\x30\x3d\xc3\xe4\xe0\xde\x4c\x3e\xb3\x1b\x85\xce\xa4\x67\x80\x44\x6e\xea\xf1\x85\xdc\x6a\xe8\x98\xfa\x5d\x12\xec\xa6\x84\x2f\xda\xad\x85\xae\xa7\xe7\x94\x5c\xdc\xb4\xe4\x2b\x75\x13\xd0\x25\x7a\x81\xc9\xd5\x4d\x05\xd7\xd9\xed\x05\xdd\x52\x2f\x00\xc9\xdc\x74\xe1\x06\xb9\x7d\xa0\x2b\xf4\x52\x92\xc2\x4d\x35\x6e\x68\xb7\x2f\x74\x17\xfd\x41\x49\xe5\x66\x11\x37\xd5\x6d\x81\xae\xa6\x57\x98\x3c\xdd\x2c\xe3\x90\xdd\x0c\x08\x22\xbd\x02\x84\xbb\x19\xe7\x88\xdc\x10\x04\x99\x4e\x25\xe9\xdd\x4c\x71\xa4\xdd\x1c\x08\xb8\xce\x28\x19\xdd\xcc\xe6\x96\x4a\xff\x20\x50\xfa\x93\x92\xb7\x7b\x8f\xb8\xcd\x52\x0f\x02\x5b\xaf\x31\x51\xee\x3d\xe3\x0e\x49\xf7\x50\xf3\xf5\x1a\x90\xd9\xbd\x73\xee\x68\x69\x00\xb5\x44\x6f\x24\xd1\xdd\xbb\xe2\xae\x4a\x8f\x50\x63\x3a\xa7\x04\xba\x77\x9b\x03\x96\x12\xa8\x4d\x7a\x8b\x89\xed\xe6\x3e\xd7\x48\x1a\x43\xcd\xd4\x5b\x40\x80\x9b\x27\x5c\xd3\xd2\x1b\xfa\xf3\xf4\x4e\x9e\xd7\x6e\xce\xda\x3f\x95\xde\xd1\x1f\xd1\x7b\x7a\xde\xba\xf9\xd4\xae\x59\x5a\xa2\xbf\x52\x17\xf8\xec\xbb\xb9\xd9\x6e\x48\x4a\xd1\x9f\xd0\x05\x38\x87\x6e\xe1\xb5\x1b\x2d\xad\xd1\xdf\xa2\x0f\xf2\x7c\x72\x0b\xd2\x7a\x2a\x6d\xd1\x9f\xa6\x8f\xf4\x7c\x76\x8b\xb2\xdd\xb2\x54\xa0\x75\xa4\xbf\xf0\x39\x71\x0b\xd1\xee\x48\xfa\x42\xeb\x4c\x7f\x81\x73\xea\x16\x4b\xbb\xd3\xd2\x0f\x5a\x73\x7d\x92\xe7\xdc\x2d\xb4\x76\xaf\xd2\x2f\x5a\x2b\xfd\x4d\xcf\x0f\xb7\x8c\x5a\x9f\xa5\x0b\x5a\xdb\xfa\x07\x9f\x99\x5b\x66\xed\x81\xa4\x06\xda\xf8\xfa\x07\x9c\x1b\xb7\xe4\xed\x41\x4b\x11\xda\x24\xba\x94\xe7\xce\x2d\x55\x1b\xa8\xd4\x41\x1b\xa6\x2b\x7a\x1e\xdc\xd2\x6e\x43\x96\x6a\x68\x33\xe9\x5f\x7c\x9e\xdc\x87\xdf\x46\x24\xdb\xa0\x8d\xa9\x7f\xc1\x59\xba\x8f\xa4\x8d\xb4\x6c\x87\x3c\x4f\xff\xc9\xf3\xcf\x7d\xb0\xf6\xa8\xb2\x03\xf2\x88\x3e\xd3\xf3\xca\x7d\x4c\xed\x89\x65\x11\xf2\x4a\x7d\xc1\x67\xd3\x7d\x98\x2d\x26\x19\x46\x9e\xd0\x17\x70\xb6\xdc\xca\x6b\xb1\x96\x5d\x90\xb7\xe8\x2b\x79\x76\xdd\x8a\xb4\x44\x65\x57\xe4\x69\xba\x4e\x2f\x7f\x6e\x55\xb6\x67\x96\x65\x68\x1b\xe9\x06\xbe\x78\x6e\x25\xda\x0b\xc9\x0a\xb4\xcd\x74\x03\x5c\xf6\x6e\xb5\xb4\x17\x2d\xab\xd0\x96\xeb\xa6\xbc\x04\x6e\xa5\xb5\xb1\xca\x9e\x68\xab\x74\x48\x2f\x47\x97\x46\x6d\xc2\x32\x8e\xb6\xb6\x8e\xf0\x85\xb8\x34\x6b\xaf\x24\xeb\xd1\xce\xd7\x11\xb8\xc4\x2e\xe5\xed\x55\xcb\x46\xb4\x4b\x74\x4b\x5e\x6e\x2e\x55\xed\x4d\x65\x6f\xb4\x63\xba\x4d\x2f\x77\x97\xda\x6d\xca\x32\x85\x76\x93\xee\xe0\x4b\xe9\x32\xbf\xcd\x48\x36\xa3\x9d\xa9\x3b\xe0\x42\x5d\x96\xb4\x99\x96\xe9\x68\xef\xe9\xae\xbc\xd4\x2e\x63\xed\x5d\x65\x10\xed\x89\x0e\xe8\xa5\x75\xd9\xd4\xe6\x2c\xb3\xd1\xbe\xd4\x35\x7c\x11\x6e\xeb\xb5\x05\xc9\xd7\x68\x2f\x8c\xb3\xbc\xbc\xdc\x96\xb4\x85\x96\x6f\xd1\x7e\x31\x2e\xf4\xf2\x71\xdb\xb2\x2d\x55\xee\xa3\xbd\x66\xc4\xf8\xf2\x75\x5b\xd1\x3e\x58\x1e\x22\x3f\x32\x62\x70\x59\xdc\x76\x69\x2b\x92\x9f\x90\x9f\x19\x89\xbc\x18\x6e\xab\xb5\x95\x96\x9f\x91\xcf\x8d\x2b\xbd\x20\xb7\x8b\x5a\xaa\xf2\x04\xf9\xca\xb8\xe1\x8b\xe3\x76\x59\xcb\x58\x9e\x22\xdf\x36\x6e\xe0\xa2\xb9\x1d\x6f\x9f\x24\xcf\xd1\xc1\x37\x52\x19\x6f\xdc\x4e\xb5\x4f\x2d\x7f\xa0\x43\x62\x64\x34\xde\xb9\x9d\xdd\xd6\x2a\x67\xe8\xc0\x8c\x3b\x8e\x0f\x6e\xef\xb7\x0d\xcb\x1b\x74\x98\x8c\x3b\x88\x23\xb7\x4f\x5a\x4e\xf2\x0e\x1d\x4c\x23\x97\x31\x76\x7b\xd6\x72\x2d\x1f\x50\xe0\x19\x05\x8d\x2f\x6e\x3f\xb5\xad\xca\x27\x14\x10\xa3\xc4\xf1\xd5\xed\xcd\xb6\x63\xb9\x44\x41\x69\x94\x20\xce\x5c\xe1\xb5\x3d\xc9\x7f\x28\x10\xc6\x43\xc6\x85\x2b\x48\xdb\x6b\xf9\x0a\x05\x8b\x51\xd1\xb8\x72\x45\xd9\x0a\x95\x9b\x28\xd0\x0c\x8a\xe3\xa7\x2b\x44\x3b\xb0\xdc\x42\x61\x64\x50\x10\x73\x57\x2c\xed\x48\x72\x17\x85\x99\xc1\x64\xdc\xbb\x83\xd7\x8e\x5a\xb1\x46\x21\x37\x9e\x32\x1e\xdd\x81\xb4\x2f\x55\x6c\x51\xa8\x8c\x9a\xc6\x6f\x77\x28\xdb\x89\x15\x3e\x0a\x6d\xa3\xc1\xb1\x72\x07\xd1\xbe\x49\x11\xa2\xc8\x37\x1a\x10\xcf\xee\xb0\xb4\x6f\xad\x38\xa1\x28\x31\xb8\x8c\x75\x77\xd0\xda\x8f\x2a\xce\x28\x62\x46\x4b\x63\xe8\x8e\x51\x2b\x59\x91\xa0\x68\x32\x3a\x1c\xdb\xee\x98\xb5\x8a\x14\x29\x8a\x4c\xa3\x03\x31\x70\x47\xde\x2a\xad\xc8\xd1\xd1\x33\x7a\x99\xac\xdd\x51\xb5\x5f\x55\x3c\xd0\x91\x18\x82\x26\x5b\x77\xb4\xdb\x1f\x2b\x18\x3a\x96\xc6\x80\x13\xdf\x7d\xf9\xed\x4c\x8a\x06\x1d\x85\x31\x80\x24\x74\x5f\x49\x3b\x6b\x45\x87\x8e\x8b\x31\xca\xe4\xe4\xbe\x58\xbb\xa8\x62\x40\x47\xcd\x78\xd1\xe4\xec\xbe\xa6\x76\xc5\x8a\x09\x9d\x22\x63\xc2\x49\xe2\xbe\xcc\x56\x27\x85\x44\xa7\xcc\x98\x40\x92\xba\x93\xd7\xea\x5a\xf1\x43\x27\x6e\xbc\x65\x92\xbb\x13\x69\x0d\x55\xac\xd0\x49\x19\x1f\x9a\x3c\xdc\xa9\x6c\x4d\x56\x98\xe8\x64\x1b\x12\x27\xcc\x9d\x44\x0b\x49\x61\x21\xec\x1b\x12\x24\x8d\x3b\x2d\x2d\xd4\x0a\x17\xe1\xc4\x50\x32\xe9\xdc\x49\x6b\x91\x2a\xff\x10\x66\xc6\x97\x26\x83\xfb\x8e\x5a\x8b\x95\x1e\xc2\x93\xf1\xc3\xc9\xe4\xbe\xb3\xd6\x26\xe5\x1e\x61\xd3\xf8\x81\x44\xba\x6f\xde\xda\x5a\x19\x20\xe2\x19\xb3\x4c\x7e\xee\x5b\xb5\x8e\x2a\x8f\x88\x10\x63\xa1\xc9\xca\x7d\xdb\xad\xcb\x4a\x82\x48\x69\xac\x70\x62\xba\x1f\xbf\x05\xa4\x8c\x11\x11\xc6\x0a\x24\x96\xfb\x49\x5a\xa0\x95\x37\x44\x16\x43\x97\x89\xeb\x7e\x58\xab\xa9\xf2\x8e\x88\x66\x18\xf4\xfa\xe7\x7e\xa6\xee\x8f\x95\x25\x3a\x47\x86\x89\xaf\x9e\xfb\x31\xbb\x35\x29\x29\x3a\x67\x86\x09\xae\x7b\x57\x7a\xdd\x5a\x2b\x6b\x74\xe6\x06\x94\xd7\xc0\x95\xa4\xdb\xa8\xb2\x45\x67\x65\x20\x7a\x3d\xba\xb2\xec\x3c\x56\x0a\x74\xb6\x0d\x0b\x5f\x89\x2b\x45\xb7\x25\xe5\x0b\x5d\x7c\xc3\x02\xd7\xd8\x95\x4b\xb7\xd5\xca\x0f\xba\x24\x86\x2d\xaf\x37\x57\x6a\xdd\x4e\x95\x5f\x74\x61\x86\x43\xaf\x77\x57\x45\xdd\x9e\x95\x0b\xba\x4c\x86\x8b\xaf\xa5\xab\xb2\xce\x27\xa5\x81\x2e\xa6\xe1\x82\x2b\x75\x15\xef\x7c\xad\x44\x28\xf6\x0c\x20\xaf\xb5\xab\x54\x77\x50\xa5\x83\x62\x62\x9e\xf1\xb5\x75\x57\x7e\x17\xb0\x6a\x83\xe2\xd2\x3c\x83\xab\x70\x57\x49\x17\x92\x6a\x87\x62\x61\x5e\xe4\xf5\xe5\xae\x58\x17\x6a\xd5\x01\xc5\x8b\x19\xd3\xeb\xc7\x5d\x4d\x5d\xa4\xaa\x08\xc5\x9a\x99\xe0\xeb\xd7\x5d\x99\xdd\x91\x55\x18\x25\x91\x99\x80\xeb\xe2\xea\x5e\x77\x22\xd5\x05\x25\x99\x79\x95\x57\xc3\xd5\x49\x77\xd2\xaa\x2b\x4a\xb8\x79\xa3\x57\xe4\xea\x65\x87\x55\x95\xa1\x44\x99\x29\xbe\x3a\xae\x2e\x3a\xc2\xaa\x02\x25\xb6\x99\x82\xab\xe6\xea\x4b\x77\x26\x55\x85\xae\xbe\x99\xc9\xdb\xc6\xd5\xb5\xee\xac\x55\x4f\x74\x4d\xcc\x3b\xbd\xed\x5c\x23\xea\x2e\xaa\xe2\xe8\xca\xcc\x1c\xdf\x0e\xae\x91\x75\x31\xab\x7a\x74\x9d\xcc\x1c\xdc\x22\xd7\xe0\x5d\x42\xaa\x11\x5d\x4d\xb3\x90\x37\xec\x1a\xaa\x4b\xb4\xea\x8d\x6e\x9e\x59\xd2\xdb\xc5\x35\xec\xee\xaa\x2a\x85\x6e\xc4\x7c\xe0\xdb\xd5\x35\xfd\xee\xc6\xaa\x19\xdd\x4a\xf3\x01\x6e\x99\x6b\x26\x5d\x4a\x2a\x1d\xdd\x84\x59\xc9\x5b\xe1\x9a\xac\x4b\xb5\x0a\xa2\xdb\x62\x52\x7a\xab\x5c\x73\xea\x32\x55\xd9\xe8\xa6\x99\x0c\xdf\x9e\xae\x69\x76\x77\x56\x01\x94\x46\xe6\x13\xdf\xb8\x0b\xfd\x2e\x27\x74\x83\xd2\xcc\x7c\x82\x5b\xef\xc2\xa4\xcb\x35\xba\x43\x29\x37\x6b\x79\x1b\x5d\xc8\xba\x42\xd1\x03\x4a\x95\xd9\xd0\xdb\xdb\x85\x53\x57\x32\x1a\xa1\xd4\x36\x39\xbe\x29\x17\x9a\xdd\x83\x50\x8c\x32\xdf\xe4\xe0\x36\xbb\xc8\xeb\x1e\x1a\xbd\xa0\x2c\x31\x5b\x79\xd3\x5d\x44\xba\x4a\xd1\x2b\xca\x98\xd9\xd1\x1b\x74\x51\xd9\x51\x46\x33\x94\x4d\x66\x8f\x6f\xb6\x8b\x44\xc7\x08\x2d\x50\x66\x9a\x3d\xb8\x01\x17\x2d\x1d\xd3\x68\x85\xee\x9e\x29\x64\xba\x76\x91\xd6\x3d\x15\x7d\xa2\x3b\x31\x07\x9a\x6e\x5d\x2b\xea\x6a\x46\x39\xba\x97\xe6\x88\x53\xdf\xb5\xb2\xae\x21\xb4\x47\x77\x61\x8e\x20\x0d\x5d\x8b\x77\x8d\x46\x47\x74\x5f\xcc\x97\x4c\x4f\xae\xa5\x3a\xae\xe8\x1b\xdd\x35\x73\xa2\xe9\xd9\xb5\xec\xae\x65\x54\xa1\x3c\x32\xdf\x38\x4d\x5c\xdb\xef\x3a\x42\x67\x94\x67\xe6\x1b\xa4\xa9\x6b\x27\x5d\xa7\x51\x1d\xe5\xdc\xfc\xc8\x34\x77\x6d\xd6\xf5\x8a\x42\x94\x2b\x53\xd2\xf4\xe1\xda\x53\x27\x18\xb5\x51\x6e\x9b\x0a\xa7\xcc\xb5\xcd\x6e\x20\x14\xa0\xc2\x37\x15\x48\x1b\xd7\xf1\xba\x41\x63\x6b\x54\x24\xe6\x57\xa6\x9d\xeb\x90\x6e\x54\x6c\x8b\x0a\x66\xfe\x68\x3a\xb8\x4e\xd9\xbd\x18\xf3\x51\x31\x99\x33\x4e\x27\xd7\x11\xdd\x44\x58\x88\x0a\xd3\x9c\x41\x2a\x5d\x67\xe9\x26\x8d\x9d\x50\xe9\x99\x8b\x4c\x7f\xae\xa3\x75\x6f\xc5\xce\xa8\x24\xe6\x8a\xa6\x2b\xd7\x8d\xba\x0f\x63\x09\x2a\x4b\x53\xc7\xa9\xe9\xba\x59\x27\x09\x4b\x51\x29\x4c\x1d\xa4\x96\xeb\xf2\x4e\x6a\x2c\x47\xe5\x62\x1a\x32\x75\x5d\x57\x75\x4a\xb1\x07\x2a\x35\xd3\xa4\xd9\x9f\xeb\xda\xdd\x97\x31\x86\x1e\x91\x09\x71\xe6\xb9\xc0\xef\x7e\x84\x35\xe8\x91\x99\x10\x64\x7b\x17\x24\xdd\x4f\x63\x1d\x7a\x70\x13\xc9\x2c\x70\x01\xeb\x66\xc5\x06\xf4\x50\xa6\x45\xb3\xa3\x0b\xa6\x6e\x61\x6c\x42\x0f\xdb\xb4\x71\x46\x5c\x60\x76\x2b\xc2\x24\xaa\x7c\xd3\x06\x59\xec\x6a\x5e\xb7\xd2\xd8\x0f\x55\x89\xe9\xc8\xec\xe6\x6a\xa4\xd3\x15\x5b\xa1\x8a\x99\x2e\xcd\xee\xae\x56\x76\x06\x63\x26\xaa\x26\x13\xe0\xac\x74\x35\xd1\x99\x84\x59\xa8\x32\x4d\x00\x32\xea\x6a\x4b\x67\x6a\xf5\x1f\xa2\x1e\x3c\xd3\xac\x06\xdb\xa8\x83\xaa\xf6\x10\x25\xf0\x82\xb3\x16\x6c\xb3\x0e\xb1\x7a\x8f\x68\x09\x2f\x20\x13\x60\xcb\x3b\x8b\xd4\x01\xa2\x02\xc6\x32\x7b\x81\xad\xea\x2c\xad\x3e\x22\xba\xc0\x84\x66\x1f\xb0\xb5\x3b\x5b\xd5\x04\x51\x0d\x5e\x71\xf6\x05\x3b\xbf\x73\x58\x1d\x23\x16\xc1\x2b\xc8\x16\xb0\x4b\x3a\x97\xd4\x37\xc4\x32\x78\x93\x99\x01\x76\xac\x73\xb5\xfa\x8e\x18\x87\x29\xcd\x10\xd8\x4d\x1d\x50\x75\x89\x98\x82\x19\xce\x1c\xb0\x33\x3b\x8d\xd5\x14\x31\x1b\x66\x20\xd3\xc0\xde\xeb\xff\x48\x5d\xa3\xa7\x0f\xef\xf2\xbe\x01\x7b\xd2\xff\x69\x75\x8b\x9e\x09\xcc\xe9\x7d\x07\xf6\x65\xbf\x56\xb5\x40\x4f\x06\x0b\x7c\x3f\x80\xbd\xe8\x37\xac\x7e\xa1\xe7\x04\x0b\x70\x8f\xc0\x7e\xe9\x3d\x52\x7f\xd0\xd3\x84\xa5\xbc\x63\xb0\xd7\x7a\x4f\xab\xbf\xa8\xf6\xe0\x83\xde\x2f\xc0\x8f\xfa\xad\xaa\x17\x54\x13\x58\xe1\xfb\x15\xf8\x59\xbf\x63\xb5\x81\xea\x12\x56\xe0\x9e\x01\x9f\xf7\x7b\x52\x23\x54\x0b\x48\xe5\xbd\x00\xbe\xea\xf7\x5a\xed\xa0\x7a\x81\x8c\xde\x2b\xe0\xdb\xbd\xaf\x9a\x3f\x54\x6b\xf0\x49\xef\x4f\x70\x88\xfa\x03\x6b\x3c\xd4\x44\xb0\xc6\x77\x0e\x0e\x59\x1f\x90\x66\x8f\x9a\x0c\xd6\xe0\xde\x83\x03\xef\x03\xad\x09\x50\xc3\x61\x23\xef\x23\x38\xa8\x3e\x54\xcd\x11\x35\x0a\x72\x7a\x7f\x83\x83\xdd\x47\xac\x21\xa8\xb1\x61\x8b\xef\x0a\x04\x7e\x7f\x24\x4d\x8c\xb8\x0f\x5b\x70\x9f\x41\x90\xf4\x47\xad\xb9\x21\x9e\xc0\x4e\xde\x75\x10\xb0\xfe\xa4\x9a\x3b\xe2\x0c\xf6\xf4\x0e\x41\x30\xf5\x98\x35\x25\xe2\x13\x14\xf8\x6e\x83\xc0\xec\x09\x69\x28\xe2\x26\x14\xe0\x0e\x40\xe8\xf5\x44\x6b\x6a\xd4\x7a\x70\x90\xf9\x1a\x84\xa4\x3f\xab\xa6\x45\x2d\x81\x23\xcd\xb7\x20\x2c\xfb\x0b\x6b\x04\x6a\x4b\xf8\xc2\xb9\x0f\x42\xd1\xc7\xa4\x79\xa1\x56\xc0\x17\xc8\x43\x10\x2e\x7d\xac\x35\x1f\xd4\x2e\x70\x92\xf9\x09\x84\x5a\x9f\xa8\xe6\x8b\x5a\x0d\xbe\x69\x7e\x06\x51\xd4\x5f\x59\xb3\xa0\x2e\x82\x1f\x9c\x27\x20\xca\xfa\x1b\x69\x0c\xd4\x65\xf0\x03\xf2\x14\x44\xbc\xbf\x69\x0d\x42\x1d\x87\x52\xe6\x39\x88\x54\x9f\xaa\xc6\x41\x9d\x82\x8a\xe6\x0f\x10\xd9\x7d\xc6\x1a\x0d\x75\x36\xfc\xe2\x9c\x81\xa3\xdf\xdf\x09\xdf\xa0\xde\x87\x5f\x90\x37\xe0\x98\xf4\x77\x8d\xef\x50\x9f\xc0\x9f\xcc\x3b\x70\x64\x7d\xae\xf8\x01\xf5\x0c\xce\x34\x1f\xc0\x71\xea\x0b\xc6\x23\xd4\x4f\x70\xc1\xf9\x04\x8e\x66\x5f\x12\x8e\x51\x6f\xc2\x05\xe4\x12\x9c\xbc\xbe\xd4\xf8\x05\x09\x0f\xae\x64\xfe\x03\x27\xd2\x3f\x14\xbf\x22\x41\xa0\x4e\xf3\x15\x38\x95\x7d\xc5\x78\x86\x44\x09\x0d\x9c\x9b\xe0\x24\x7a\x4a\x78\x81\x84\x80\x06\xc8\x2d\x70\x5a\x7a\xaa\xf1\x0a\x89\x05\x9a\x32\x77\xc1\x49\xeb\x99\xe2\x4f\x24\x34\x08\x69\xf1\x07\x70\xd4\x3f\x19\xe7\x68\x88\x20\xc2\x85\x07\x70\xd6\xd7\x84\xf7\x68\xc8\x20\x02\xc5\x1e\x60\xde\xd7\x1a\x1f\xd1\xc0\xa1\x25\x8b\x00\x60\xd5\x37\x8a\xbf\xd1\xa0\xa0\x4d\x8b\x23\xc0\x76\xcf\x19\x57\x68\xb0\xa1\x83\x0b\x02\x88\xdf\xb7\x84\xcf\x68\xf4\xa1\x03\x8a\x18\x90\xa4\x6f\x35\xae\xa3\x31\x81\xae\x2c\x6e\x80\xb0\xbe\x53\x1c\xa2\x91\x41\x40\x8b\x3b\x20\x53\xdf\x33\x6e\xa3\x71\x82\x1a\x2e\x4a\x70\xf5\x7a\x41\xba\x35\x1a\x4d\x74\x96\x05\x05\x57\xd2\x0b\xad\xdb\xa2\x97\x87\x2e\xb4\xa8\xc1\xb5\xec\x07\xd5\xf9\xe8\x45\x50\x8c\x8b\x16\x5c\x45\x3f\xb2\x2e\x44\xaf\x12\xc5\xa0\x10\xe0\xba\xf4\x2f\xd2\x9d\xd0\x4b\xa0\x44\x16\x2f\x70\xd5\xfa\x97\xd6\x9d\xd1\x6b\x41\x57\x5a\x7c\xc0\x2d\xea\x27\xd5\x25\xe8\xa5\xa1\x1b\x2e\xbe\xe0\x96\xf5\x6f\xd6\xa5\x68\x8a\xd0\x0d\x14\x0b\xb8\xf1\xfe\x43\xba\x1c\x4d\x19\x4a\x65\x61\x80\x9b\xea\x3f\x5a\xf7\x40\x13\x47\x19\x2d\x10\xb8\xd9\xbd\x54\x1d\x43\x93\x42\x77\x5c\x38\x20\xf5\x7b\xc5\xba\x06\x4d\x36\xba\x83\x42\x03\x69\xd2\x7f\x49\xd7\xa1\xb7\x8f\x72\x59\x6e\x40\xca\xfa\xaf\xd6\x0d\xe8\x9d\xa0\x82\x96\x3b\x90\x4e\xfd\x4f\x75\x13\x7a\x33\x54\xe2\xf2\x00\x52\xb3\x9f\x59\x27\xd1\x7b\x42\x25\x28\x23\x90\x79\xfd\x42\xba\x1f\x7a\x9b\xe8\x21\x4b\x0c\x32\xd2\x2f\x5a\xb7\x42\x1f\x0f\x55\xb4\xbc\x80\xac\xec\x57\xaa\x33\xd1\x87\x20\x8a\xcb\x2b\xc8\x44\xaf\xb3\xce\x42\x9f\x12\x51\x50\x66\x20\x5b\x7a\x83\x74\x2e\xfa\x08\xc4\x64\x59\x80\xbb\xd7\x1b\x5a\xbf\x46\x9f\x05\x3d\x65\x59\x81\x3b\xe9\x4d\xd5\x6f\xd1\x47\x43\x35\x2d\x9f\xe0\x5e\xf6\x90\xf5\x3e\x92\x11\x6a\x70\xc9\xc1\x5d\xf4\x88\xf4\x21\x92\x19\x6a\x40\xd9\x83\xfb\xd2\x23\xad\x3f\x21\xc9\x11\x97\xe5\x08\xee\x5a\x6f\xa9\xfe\x8c\xa4\x42\x2d\x2d\xdf\x20\x8f\x7a\x9b\xf5\x09\x92\x36\xea\x70\xa9\x40\x9e\xf5\x0e\xe9\x53\xa4\x7c\xd4\x81\x72\x06\x39\xef\x1d\xad\xcf\x91\x4a\x50\x2f\x4b\x1d\xe4\xaa\x77\x55\xff\x40\x8a\x21\x41\x4b\x08\x72\xbb\x07\xac\x67\x48\x4d\x68\xc0\xa5\x0d\x0a\xbf\xd7\x48\xdf\x20\x65\xa2\x01\x94\x00\x14\x49\xaf\x69\x7d\x87\xbe\x1e\x1a\xe5\x63\x0d\x0a\x26\xfe\x54\x3f\xa0\x2f\x41\x2f\xfa\xd8\x82\x62\x12\x6b\xd6\x4f\xe8\x5b\xa2\x09\x3f\x7c\x50\x98\x62\x43\x7a\x89\xbe\x02\x4d\xe0\x11\x82\xd2\x13\x1b\xad\xff\xa1\xef\x82\xde\xf2\x71\x02\x25\x11\x9e\xea\x57\xe8\xab\xa1\x0f\x7d\x9c\x41\x59\x8a\x2d\xeb\x4d\xf4\x8b\x90\xc4\x8f\x04\x94\x42\xec\x48\x6f\xa1\x5f\x86\x24\x78\xa4\xa0\x5c\xc4\x4e\xeb\x5d\xf4\xe3\x48\xc9\x47\x0e\x4a\x4d\xec\x95\xf8\x43\x3f\x85\xbe\xf4\xf1\x00\x8f\x48\xf8\x4c\x78\xe8\x67\xa3\x1f\x7e\x30\xf0\xc8\xc4\x81\x88\x3d\x9a\x7d\xf4\x03\x8f\x06\x3c\xb8\x38\x68\x22\x40\x73\x82\x66\xf9\xe8\xc0\x43\x89\x40\x89\x23\x9a\x19\x5a\xe8\x63\x00\x0f\x5b\x84\x4c\x10\x34\x4f\x68\x85\x1f\x13\xa8\x7c\x11\x11\x11\xa3\xd9\x44\x2b\xf0\x90\xa0\x4a\x44\xa4\x89\x1b\x5a\x3c\xa4\xcb\xc7\x0f\x54\x4c\x1c\x95\xb8\xa3\x85\x20\x83\x3e\x56\xa0\x9a\xc4\x89\x89\x12\x2d\x25\x32\xf1\xc3\x04\x95\x29\x30\x11\x14\x2d\x02\x99\xe0\x61\x01\xea\x09\xac\x89\x1a\x2d\x0b\x82\xf2\xe1\x02\x4a\x04\x51\xa2\x45\x8b\x86\x10\xad\xfe\x00\x2d\xc5\x99\x09\x81\x56\x11\xb2\x70\xe5\x01\x2a\xc4\x85\x88\x17\x5a\x65\xc8\x02\xd5\x1e\xd0\x45\x5c\x34\xf1\x41\x2b\x8e\x6c\x59\x05\x80\x6a\x22\x56\xe2\x8b\x56\x0a\x39\xb4\x3a\x02\x16\x89\x84\x89\x05\xad\x6c\xe4\xe2\x8a\x00\x96\x89\x2b\x11\x06\xd2\x7d\xe4\x82\x2a\x06\x8c\x8b\xab\x26\x10\xd2\x13\x04\xfe\x63\xb3\xce\x75\x1e\xe4\xb6\x04\x81\xe6\xfd\x14\x37\xfb\x83\x13\x6c\x03\x86\x6d\xd4\xba\x01\x06\x63\x06\x7f\x06\x9b\x99\x56\xeb\xca\xcc\xf3\x60\x9f\x83\x87\xa7\x2f\x55\x58\x52\xbd\xc2\x8a\x16\x2b\x42\x52\x6d\x53\xb8\x4d\x07\x91\xab\xa4\xbd\xdb\x2f\x84\x4c\xa2\xe0\xae\x37\x52\xa3\x34\xc2\xec\x92\xe5\x27\x9d\xdc\xf5\x43\x1a\x43\xe2\xdd\xd9\x23\xac\x93\x4e\xf0\x5c\x49\xe3\x63\xe4\xce\x21\xe1\x50\xd2\x37\xca\x91\xa6\xc2\xaa\x9a\x13\x22\xa0\x74\xae\x98\x42\x9a\x27\xd6\xdb\x9c\x91\x7d\x26\x19\x2e\xb3\x48\x23\x60\xbf\xcd\x25\x11\x05\xc9\x00\x56\x91\x56\xc3\xd9\x9d\x1b\x22\x4d\x92\xb9\xb1\x0f\x69\x5d\x7c\xc1\xdc\x13\xf4\x25\xab\x62\x02\x69\x33\xdc\xc1\x3c\x11\xf9\x29\xd9\xee\xb6\x92\x76\x42\x79\x9b\x57\x02\x95\x64\xc3\x26\x92\xf6\x77\xf0\xaa\x99\xd6\xc1\x04\x4a\xb5\xc4\xf0\xb6\x8f\x83\x7b\xd0\xea\x54\x83\xa3\x79\xf6\xe1\x1d\x1d\x87\xea\x70\x26\x43\x06\xc7\xbd\xbe\xc0\xbb\x3d\x3e\xb6\x83\x55\xa7\x19\xa8\xb3\x8e\xf0\x66\xc7\x1b\x1c\xfe\xea\xf8\x07\x5a\xa2\x9f\xe0\x2d\x1d\xe3\xed\xe0\xd6\x3d\xc0\xc9\xb4\x6e\xf0\x39\xab\x41\x75\xf0\xea\xe1\x02\xa7\xbd\xe5\xc3\xc7\x53\x43\xf7\x10\xd6\x43\x0c\xfa\x6c\x45\xf0\x29\xd5\x10\x0e\x49\x3d\x74\x70\x4e\xf4\x33\x7c\xd6\xe3\x1d\x0e\x59\x9d\xb8\x60\x98\xe7\x23\x7c\xf8\x63\xe3\x1e\xca\x3a\xe8\xc0\xd8\x9f\x63\xf8\xaa\x6a\xe2\x1e\x9a\x7a\x34\xc0\x9c\xad\x16\xbe\x8e\x9a\xc0\xa1\xaf\x47\x1f\xac\xc4\x1a\xe0\xfb\x50\xd3\xed\x30\xd5\x63\x05\xb6\x69\xcd\xf0\x1d\xd5\x47\x75\x58\xeb\xf1\x09\xf6\xde\x7a\xc2\xf7\xab\x66\xee\x81\xd6\xa3\x00\x97\xd9\x62\xf0\x25\x6a\x06\x87\x77\x3d\x69\xf0\x97\x58\x1f\xf8\xd9\x6a\xbe\x1d\x7e\xf5\xe4\xc2\xd5\xb4\x76\xf0\x8b\xd4\xa2\x3a\xf0\xf5\x94\xc1\x75\x6f\x09\xf0\x6b\xd5\xd2\x3d\x88\xf5\x34\x81\x33\xeb\x14\x7e\xec\x18\xc3\xe1\x50\x47\x08\x6e\xa2\xbb\xf0\x93\x8e\x41\x75\x80\x3a\x10\xe0\x66\xda\x47\xd8\x9d\xd5\x7a\x93\xd5\x7a\x76\xe1\xb6\xb7\x4f\xb0\xf3\xd4\xa6\x92\xf5\x7a\xce\xe0\x3e\xdb\x06\xec\x4a\xb5\x75\x65\xb3\x9e\x27\xf0\x12\xdb\x86\xdd\xaa\xb6\x20\x5f\xea\xf9\x07\xbe\x69\x5f\x61\xc7\xab\xdd\x26\x3b\xf5\x0c\xe0\xef\xed\x1b\x70\xaa\xda\x57\xf2\xbd\x5e\x2e\x10\xcc\xb6\x0f\x9c\xa3\x0e\xae\x1c\xd4\x4b\x0c\x61\x62\x47\xc0\x3d\xd4\x01\xe4\xb8\x5e\x3a\x88\x4c\x3b\x05\x6e\x54\xc7\x4d\x7e\xd4\x11\x40\xb4\xd7\x5b\xe0\xbe\xc7\xdc\x95\x8b\x3a\xd2\x20\xae\xd5\x06\xf8\x93\x32\x6f\x72\xab\xd8\x2e\x24\x6f\xb5\x07\xfe\xa6\x2c\x95\x3c\x28\x76\x06\x69\xad\x4e\xc0\xe7\xca\xea\xca\xb3\x62\x4f\xf0\xb8\xa9\x2b\xf0\xb3\xb2\x82\xfc\x54\xec\x1f\x64\x8a\x4a\x81\xdf\x29\xcf\x4d\x66\x8a\x0d\x90\xbd\xd5\x37\x08\x8a\xf2\xaa\xe4\x8f\x72\xb9\x40\x5e\xab\x3f\x10\xfe\x14\xea\xca\x3b\xe5\x12\x43\x71\x53\x79\x10\x12\x85\x82\x2c\x28\x97\x0e\x4a\x45\x15\x41\xe8\x15\xb6\xc9\x92\x72\xd9\xa0\x7c\xab\x07\x10\xde\xca\x56\xc9\xb2\x72\x41\xa8\x6a\x15\x40\x38\x28\x6f\x97\x28\xca\x9f\x01\xf5\x4d\x53\x61\x6f\x2a\x6f\x20\x9a\xf2\xe7\x43\xa3\x68\x3a\xec\x03\xe5\xb3\x91\xb3\xf2\x57\x41\xf3\xd6\x4c\xd8\xd7\xca\xb7\x22\x96\xf2\xf7\x84\xb6\xd6\x2e\xb0\x7f\x29\x3f\x97\xfc\x29\x7f\x02\x74\x37\xcd\x81\xfd\x5e\xf9\x01\x71\x95\xab\x06\xbd\xa2\xdd\x41\x3c\x29\xbb\x8d\x78\xca\xd5\x85\xfe\xad\x05\x20\xde\x14\xae\x22\xa1\x72\xcd\x60\xa8\xb5\x18\xc4\x5c\xe1\x5d\x92\x28\xd7\x09\xc6\x9b\xf6\x00\x71\x56\x78\x20\x99\x72\xfd\xc1\xa4\x68\x05\x88\x3b\x45\xd8\x48\xa9\x5c\x01\xa6\xfd\xf9\x0e\x44\x3d\xf6\x1b\x34\x75\xfe\x84\xfd\xac\xdf\x80\xb8\x52\x58\x41\x5f\x27\x00\xe2\xed\xdf\xff\xfe\xe7\xff\xfe\x1f\xcf\x32\xbd\xff\xfc\x29\xee\x7f\x4e\x57\xd5\xd1\x4e\xda\xff\xfb\xc7\x09\x7c\x37\xf0\xff\xe3\x5c\x2f\xc9\x3f\xff\xff\x5f\xff\xfe\xd7\x3f\x8a\xfe\x56\x96\x6a\x09\x15\xfb\x71\x8c\x55\x25\xa8\xa3\x53\xad\xd7\x47\x62\x6a\xd2\xb1\x52\x4d\xaf\x8e\x94\xb7\x61\xb2\xda\x27\x6a\xd0\x85\x56\xd1\xda\xc7\x30\x9e\xd7\x47\xb8\x8c\x41\xa4\x67\x76\xcf\x85\x49\x92\xb2\x3a\xd6\x99\xf3\x19\x3e\x6d\x1f\x8b\xbd\x6e\x5d\xae\xa9\x7e\x2e\x28\x1f\xb4\x5d\x65\xcd\xc7\x54\x0a\x1e\xa6\x14\x3c\xcf\xf2\xbd\x3f\x1c\xdf\xc7\x79\xbc\xe4\xbe\x7a\x6f\xe3\x64\xec\xc5\x46\x7c\xa5\x56\x5e\x1d\xb1\x2b\x63\xd1\xec\x76\x0b\x49\x92\xcf\xa7\x1a\xb7\xfe\x9e\xe8\xc7\xce\xf0\xb4\xfb\x52\x5a\x8d\xb2\xba\xbb\x7d\xd0\xf5\x8e\x67\xa0\xd5\x24\xed\x91\x5c\xa4\x3d\x2a\x9d\xcc\xdf\x9f\x96\xc7\xfa\xec\x1c\x3d\x96\xfa\x2d\xb9\x8f\xc4\x49\xaf\xe5\xa8\xaf\xf7\xaf\xb8\x78\xed\xa3\x2d\xb8\xfd\xf7\x3b\x4d\xdf\x6b\x97\x4a\xbb\xe1\xc5\x4a\x9a\x94\x2a\x39\x1f\xfe\x77\x21\xf3\xfa\x3f\x81\xc8\xd0\x37\xfa\xb6\x3c\x4c\xcf\x90\xbc\x56\xaf\x49\xff\x6a\x92\x6a\xf9\x33\xa3\x8b\xe4\x7b\x7a\x47\xfa\x7d\x93\xba\x8b\x6b\x46\xb1\x14\xa8\xfa\x48\x86\x53\x93\xc2\xe2\x99\x51\x27\x05\x5f\x7d\x41\x76\x68\x72\x07\xdf\x66\x6c\xb0\x83\xa7\x7f\x71\x33\x9b\x9c\xe0\xcf\x8c\x7d\x26\xab\x3a\x87\x5b\xd0\x14\x0c\x79\x33\xae\x98\xfc\xd5\xf7\xb8\xd5\x4d\x99\x94\xa1\xd9\xac\xc6\xf0\x35\xeb\x46\x7c\xb5\x76\x52\xe6\x66\xbb\x1a\x7d\x6b\x3e\x1b\x71\x6e\xaf\xd5\x92\x99\x5d\x64\xf4\xaa\xe5\x35\xe2\xa9\x4d\x92\x32\x32\xd7\x58\x8a\x34\xf3\x83\xc1\xc7\xb1\x1d\xee\xea\x33\x83\xfa\x3d\x1e\x30\x90\x5d\xc5\xe1\x6e\xfe\xdb\xa5\x41\x70\x10\x31\xb4\xdc\x90\x71\x81\xbf\x7f\xd2\x60\x47\x3c\x0c\x53\x77\x70\xb8\xd0\x17\x9f\xf4\x1e\x80\x85\x61\xe1\xfe\x4a\xee\xe1\x03\xd0\x88\x53\x4a\x0c\x87\x9b\xc9\xb8\x24\x38\x69\x34\x1e\x8e\x2a\x86\x9f\xdb\x9d\x71\x45\x60\x68\x34\xe6\xd4\x00\x23\xfd\xc6\x3b\x5c\x1d\xb8\x3e\x4d\x06\xdd\xc6\xe8\x7a\x4f\x1d\xae\x0f\x52\x81\xa6\xe1\x99\x60\x94\xde\xd1\xe1\xa6\xa0\x89\xe9\x43\xb7\x73\x8c\x06\x6f\x61\x62\x16\xac\x40\x1f\xc3\x45\xc1\x88\x7a\x3c\xe1\x5e\xc1\x5b\xa3\x59\xf8\x67\x60\x24\xfa\x96\xc3\x6d\x81\x70\xa1\xb9\xee\xf8\x18\xeb\xfe\x8b\x71\xdf\x40\x16\x68\x11\x7a\x36\xc6\xf7\x60\x72\x38\x3e\xb4\x27\x5a\x70\x3e\x60\xdc\x84\x0d\xe3\xc4\x90\x9b\x68\x39\x14\x03\xc6\x34\x7e\x3a\x9c\x1c\x1e\x2a\x5a\xe9\x95\x89\x89\x9e\x4c\x8c\x57\xa3\xcb\x85\xd6\x5c\x7f\xc1\xe4\x9e\x06\x84\xd7\xa3\x70\xa3\xcd\x30\x14\x98\x14\x69\x42\x78\x33\x7a\xf8\xb4\x0d\x47\x09\x93\x25\x0b\x19\x7f\x89\x0e\x1a\xed\xc2\x2d\xc1\x44\xcc\xd0\xe1\xdd\xf8\x88\xb4\xd7\xbf\x23\xa6\x7a\xce\x18\xef\xc5\x6e\x4c\x7b\x6e\x37\x61\x9a\x16\x37\xc6\x07\x71\xe8\xd2\x81\xe3\x28\xa6\x4d\xc1\x1c\x3e\x8d\xb3\x89\x8e\x83\x70\xc3\x94\x56\x66\xc9\xe7\xf1\xcf\xa7\x1e\x27\xeb\x98\x72\x55\x4a\xf8\x32\xc6\x8a\x4e\x1c\x94\xf8\x38\xd6\x71\xc9\x37\x89\x19\xd3\x79\x54\x6d\x7c\xdc\x6b\xae\xe4\xbb\xe4\x8a\x74\x19\xb5\x2f\x3e\x8a\xe6\x54\xf2\x43\xe2\x69\x74\x8d\x4e\x6f\x7c\x34\xcd\x95\xf0\x6b\x92\x76\x74\xe5\x4d\x1f\x1f\x9f\x76\x61\x3c\x4d\x20\xa6\xcf\xf1\x5e\xe3\x43\xee\xa7\x92\x7f\xa7\x7f\x48\x5f\x51\xe8\x60\x66\x8d\x8a\xc3\x73\x69\x3d\xd1\x17\x9f\x84\x98\x15\xa3\xc1\xf8\x7d\xda\xfa\x94\x8e\x09\xc3\xa0\x18\xff\x4a\x7e\x97\x76\x1b\x65\x63\x1a\x63\x46\xc7\xa8\xe4\xc5\x74\x8c\xe9\x16\xa5\x3f\xcc\xc4\x71\x2c\x79\x48\x57\x8d\xbe\xcf\x8f\x2f\xe6\xfa\xb8\x11\x41\x4d\xb7\x27\xf5\xc6\x0c\x31\xbf\x4e\x1a\x13\xf4\x94\xcf\xe8\x67\x2c\x11\xf3\x66\x7a\x3b\x82\xf5\x50\x0c\xfa\x1d\x9b\x13\xe6\xc5\x1c\x30\xce\x7c\xfc\x75\xf4\xcb\x77\x2e\xe6\xdc\xf2\x70\x04\xf7\x91\x76\x74\x77\x9e\x5a\x2c\xf4\xf5\xcf\x11\xfc\x47\x9f\xd1\xdd\xb8\x3c\xb1\xb8\xaf\x39\x11\xc2\xc7\x84\x94\x1b\x9f\x2d\x16\xc5\x2a\x3a\x42\xf2\x90\x33\xca\x47\x6f\xc0\x62\x79\xc5\x8e\x90\x67\x67\xa0\x3c\xff\x3d\x63\xc1\xbd\x78\x26\x94\xd9\xcd\xa7\xfb\x33\xb7\x61\x21\xd3\x86\x08\x4d\x96\x66\x74\x3f\xf2\x2f\x2c\xaf\xf4\x47\x84\x21\xab\x2e\x54\x3c\x0b\x7b\x2c\x53\x0a\x8e\xb0\x64\x6d\x45\x45\x7e\x2f\x62\xb9\x30\xd7\x11\xe6\x6c\xf8\x51\x89\x97\x00\xcb\xcf\xd6\x3a\x02\xcd\x30\xa6\x38\x02\x87\xa5\xfc\x3e\x96\xc2\x3b\x57\x2a\x7a\x88\x95\x19\x2b\xeb\xdd\x94\xc2\x2f\xb7\x37\x7a\x9f\x54\xc4\x2a\xfc\x1c\x1d\x61\x97\xdf\x80\xca\x82\x7e\xc6\xaa\xf9\xdc\x89\xc0\xe7\xe1\x8f\x92\xc9\x38\x62\x45\x3f\xc0\x84\x43\xfe\x34\xd8\xcd\xb0\x09\xf6\xfa\xcf\x72\x44\x2d\x17\x2a\x76\x37\x1c\x19\xfb\xf0\xf7\x2d\x45\x33\x97\x2f\xec\x3e\xb9\x11\xf6\xc5\x6f\x4f\x44\x3b\x87\x98\x79\xf1\xcd\xc0\x9e\xee\x2c\x26\x5e\x0b\x75\x62\xbe\x71\x5b\xb1\x17\x77\x17\x26\xba\xc5\xf9\xc2\x02\xc3\xb3\x70\xd0\x77\x13\x11\xbd\xe2\x66\xd0\xce\x08\x36\x1c\xae\x5c\x46\xc4\xa0\x98\x2f\x2c\x14\x1e\x19\x0e\x21\x3f\x39\x62\x54\x2c\xc8\x22\xe3\x31\xe2\xb0\x08\x77\x26\xe6\xa5\x6a\xb0\x38\x6e\x1c\x1c\xc4\x7d\xea\x88\x55\x69\x3c\x59\x62\xf4\x6f\x1c\xef\xe2\xe0\x88\x63\x99\x6e\x2c\x15\x9e\x77\x1c\x1b\x49\x24\xe2\x5a\xb2\x8d\x3d\x04\x56\xe2\xc8\xc9\x9e\x23\xb2\x2a\xfc\xb1\xdc\xe0\x6b\x1c\x65\x99\x12\xf1\x53\x15\x19\xcb\x27\xd1\xc3\xe0\x48\x5a\x26\xfe\xaa\x5d\xc5\x0a\x83\x34\x38\x3d\x34\xa5\x14\x85\x9a\xbf\xb0\xd2\xbc\x02\x4e\xa3\xf6\x21\xa2\x54\x43\xc6\xca\xfd\xdd\xc4\xe9\x7b\xa2\x0e\x77\x6a\xae\x3f\x56\x25\xa1\x8f\x93\xa4\x47\xa5\xa4\x34\xd1\xc6\xea\x39\x7a\xe3\x1c\x99\x47\x22\x9d\x5b\x37\xa6\xb7\xa4\xcf\x71\x2e\xed\x13\x93\xcc\xb6\xab\x58\x9b\x2c\x22\xce\xab\xbd\x10\xe9\xd2\x3e\x91\x75\xe6\xb3\xc2\x59\xb2\x65\x26\xb9\x2d\xe7\xb2\xde\xa4\x80\xcb\xf9\xef\xe0\x48\x5e\xe7\xfa\xac\xdf\xef\x3c\x5c\xbc\x6b\xc1\xa4\xa8\x7b\x01\x1b\xd3\xe3\x84\xcb\x7a\x13\x98\x94\xf7\xf7\x98\x4d\xe9\x69\xc2\x85\xdc\x39\x22\x95\x7d\xf1\x64\xb3\x65\x94\xb8\x3a\x77\xd1\x91\xfa\xbe\x8c\xd9\x9c\x1a\x14\x57\xfb\x8e\x4c\x1a\xfa\x3a\x63\x8b\x68\xda\xb8\x3e\xbc\x93\x23\xb1\xbe\x9b\xd8\x6a\x99\x12\xae\xab\xe7\x3a\xd2\xd2\xf7\x1a\x5b\x45\xcb\xc1\x95\xf7\x82\x52\x7a\xf5\xc3\xc4\x9e\xa2\x35\xe1\xf3\xec\x15\x44\xfa\xf6\x53\x47\x6f\xa2\x6d\xe2\x53\xf5\x16\x22\xf1\x3d\xd5\x18\x5b\x2e\x3e\x3e\x5b\x8f\x2b\xa5\x5d\x4f\x2b\x46\xd3\x4b\x8a\xcf\xd1\xdb\x3b\xd2\xaf\x67\x15\xf5\xd2\x8b\x88\x4f\xde\x23\x04\x95\x7e\x03\xf6\x5e\xfe\x54\x7c\x9d\x7d\xa3\x94\xa0\xff\x20\xdb\xac\xbf\x06\x9f\xcc\xb7\x4a\x4e\xed\x77\x1d\xfb\x58\xd7\x18\x5f\x8e\x9f\x3b\xa8\xf7\x92\xcf\x3e\x8b\x7b\xc6\x57\xe9\x0b\x0c\xcd\x1e\x3a\xf6\x4d\x6f\x1f\x7c\xad\xc1\xbd\xc4\xcb\x70\xea\xd8\xcf\x8a\x3c\x7c\x91\x68\x2a\xf1\x36\xac\xc0\x76\x69\xfe\x43\x6a\xc7\x0e\x41\x7f\xd8\xb9\x8c\xb3\x8a\x2b\xd2\x28\xf6\x09\x46\x03\x67\x30\x4e\x2c\x42\xa4\x6d\x12\x12\x4c\xc7\x73\xcc\x04\xab\x9f\x90\x4a\xe9\xc4\xb0\x1a\x7b\x64\x7b\xeb\x99\x22\x3b\x3f\x04\x07\xbb\x51\xb8\xb0\xfd\x42\x39\x64\x5e\xd6\x11\x1c\x46\x34\x98\xb8\x30\x44\x56\xe6\x8a\x83\xcb\x14\x6d\x4c\xb2\xb8\x37\x32\x56\x9e\x4b\x7c\x4d\xd4\xa0\x1f\xb7\x5f\xf0\x25\x88\x82\xc3\xfd\x48\x8d\xb4\xda\x66\x17\x13\x4d\x3a\x39\x7c\x48\x1a\x83\x6e\xee\xec\x61\xfe\x93\x4e\x44\x70\x48\xe3\x53\x52\xcd\x21\xf6\x17\x49\x67\x62\x4a\x9a\x8a\x25\xd5\x9c\xe0\x78\x91\xce\xa5\xd8\x91\xe6\xc9\xd2\x6a\xce\x70\x9c\x24\xc3\x11\x5f\xa4\x11\x58\x51\xcd\x25\xce\x86\x64\x10\x49\x23\xad\xc6\x1a\x77\x6e\x70\x16\x24\x93\x49\x21\x69\x5d\x36\xc0\xdc\xe3\xd2\x49\x56\x29\x65\xa4\xcd\x18\x85\x79\xc2\x27\x4a\xb6\x83\x0e\x69\x27\xc6\x6f\xf3\x8a\x74\x93\x6c\x82\x05\x69\x7f\x4c\xda\x66\x8a\xdb\x0f\x14\x86\x08\xef\x8a\x91\x0a\x5a\x32\xf8\xb0\x67\x28\x01\xb9\xfd\x77\x38\xfe\x2b\x00\x00\xff\xff\x45\xc8\x06\xe8\x73\xce\x00\x00") + +func assetsJsSjis_mapJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsSjis_mapJs, + "assets/js/sjis_map.js", + ) +} + +func assetsJsSjis_mapJs() (*asset, error) { + bytes, err := assetsJsSjis_mapJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/sjis_map.js", size: 52851, mode: os.FileMode(420), modTime: time.Unix(1468174422, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsJsStrutilJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3d\x7f\x77\xda\x48\x92\xff\xe7\x53\x54\xd8\x4c\x80\x31\x06\x21\x18\x87\x31\x51\x7c\x40\x70\x86\x6c\xfc\x23\xc6\xde\xd9\x39\xc7\xcb\x13\xd0\x18\x39\x80\x18\x49\x24\xf6\xee\xcc\xbd\xb7\xf7\xee\x9b\xee\x17\xb9\xd7\x3f\xd4\xbf\xd4\x12\xc2\xc9\xce\xce\xde\xbb\xbc\x97\x04\xa4\xae\xee\xea\xea\xaa\xea\xaa\xea\xea\xa2\x56\x83\xfd\x6f\xf7\x61\xe2\x4f\xbd\xd5\xed\x21\x6c\xa2\xd9\x7e\x0b\x3f\x79\xf2\xa4\x56\x83\x37\x67\xfb\x27\x9d\xc1\xbb\x1f\xce\xde\x1c\xc2\xe5\xdc\x0b\x61\xe6\x2d\x10\x8c\xfd\x20\xf0\x3f\xa3\x29\xcc\x02\x7f\x09\xf3\x28\x5a\x1f\xd6\x6a\xd6\xfd\x64\x52\x5d\xa1\xa8\x76\x17\xa2\x70\xe2\xae\x51\x2d\x8c\x82\x4d\xe4\x2d\xaa\x77\x21\xe9\xeb\x2a\xf2\x16\x5e\xf4\x00\xb3\xcd\x6a\x12\x79\xfe\x2a\x84\x99\x1f\x40\x18\x05\xde\xea\x36\xac\x3e\xa9\xd5\x70\xa3\x9e\xbf\x7e\x08\xbc\xdb\x79\x04\xa5\x5e\x19\x6c\xcb\x7a\x01\x43\x37\xf2\x83\x0d\x5c\xba\x1f\xdd\xb1\xfb\xe0\x86\x73\x0f\x5e\x86\xf4\x59\x3c\xe6\x2b\x0c\xda\x59\x2c\x80\x80\x86\x10\xa0\x10\x05\x9f\xd0\xb4\x0a\x14\x6b\x8c\x78\x80\x10\x84\xfe\x2c\xfa\xec\x06\x08\x3e\x7b\xd1\x1c\x3a\xdd\xe1\xd9\xbb\xab\xcb\xfe\xbb\x9f\xe0\xf4\x0c\x7e\xec\x5c\x5c\x74\x4e\x2f\x7f\xc2\x98\xc0\x4f\xfe\x06\x26\xee\x0a\x02\x34\xf5\x30\x86\xe3\x4d\x84\xc0\x8b\xc0\x5d\x4d\x6b\x7e\x00\x4b\x7f\xea\xcd\x1e\xf0\x83\xcd\x6a\x8a\x02\x88\xe6\x08\x22\x14\x2c\x43\xf0\x67\x18\x1c\x7f\x7f\x73\x7a\x05\x6f\xd0\x0a\x05\xee\x02\xce\x37\xe3\x85\x37\x81\x77\xde\x04\xad\x42\x04\x9f\x50\x10\x7a\xfe\x0a\xec\x2a\x21\xcc\xe9\xd9\x65\x7f\x78\xc8\x08\x30\xdc\x04\x81\x7f\xeb\x46\x08\xd6\xae\x17\x84\xf1\x63\x80\x7a\x18\x81\x75\xff\xba\x65\x59\xb0\x8f\x3f\x74\x8f\x8f\xa1\x34\xf7\x6e\xe7\x10\xc6\x20\x65\xda\xd2\x5e\x4d\x71\x83\x5e\xdc\xf2\x18\xb7\x5c\xf8\x9f\xd5\x86\x64\x49\x2e\x8f\xf7\x5b\x10\xa2\x9f\x37\x68\x35\x41\xd2\x60\xd6\x3d\xfd\xc3\x86\xae\xd3\xef\xc0\xfe\xe7\x8f\xe9\x77\xfe\x38\xf9\x9e\x3c\x48\xbe\x17\x0d\x9f\x7c\x72\x03\xe8\xbf\xbf\xea\xbc\x1b\x0d\x07\x6f\x4e\xc1\x01\xeb\xbe\xf1\xba\x4d\x1e\xbf\xbf\xea\x0f\x2f\x07\x67\xa7\xa3\x93\xce\xc5\x1f\xe9\x9b\xe3\x36\xa1\x58\xe1\x1f\x7f\xff\xef\x7f\xfc\xfd\x7f\x0a\xe0\xbc\x82\x6b\xfc\xdc\x6a\xda\x15\xa0\x1f\x9a\x70\xf3\x24\x66\x31\x98\xf8\xab\x4f\x28\x88\x86\x84\xc9\x2e\xfd\xab\x95\x37\xf1\xa7\xa8\xe7\x4f\xd1\xb9\xef\xad\xa2\xb0\x14\x46\x41\x19\xfe\xf6\x04\x00\x0f\xc8\xe9\x33\xc2\xc4\x76\xc0\x6a\xb3\x17\x1b\x0a\x37\xc2\xff\x84\xe0\xc0\xf5\x0d\x7e\x83\xd9\xb7\x84\x5f\x7b\xa4\x2d\x78\xf0\x12\xb3\x73\x75\x81\x56\xb7\xd1\xbc\x0d\x7b\x7b\x1e\xed\x9b\x75\x12\xcd\xea\x07\xa4\x0b\x70\x48\xbb\xc9\xdc\x0d\x30\x2a\x9d\xa8\xe4\x95\xdb\xa4\x9d\x37\x83\x92\x8a\xc5\x53\x07\xac\xb8\x17\xfa\x5e\xea\xe7\x95\x13\x2f\xf4\xf3\xe7\x72\xff\x2f\x1d\xb6\xee\x02\x52\x9f\x21\x66\x12\x47\x82\x69\x2b\xed\xe4\x09\x83\xa3\xe3\xb4\xcf\x18\xb1\x0c\xdf\x42\xa9\x0e\x2f\x5f\x42\xdd\x2a\xc3\x5e\xfc\xf9\xa0\x0c\x7b\xbc\x37\xc3\x9f\x92\x8a\xc5\x3e\x9b\x43\x59\xa0\xa0\xd0\xbb\xba\xde\x84\xf3\x92\xfc\x88\xb7\xfc\x15\xd0\x22\x44\xd2\x1c\x6b\x35\x38\x71\x17\x33\x3f\x58\xa2\xa9\x98\x2c\x11\x25\xf0\x6e\x57\x7e\x80\xa6\xd5\x18\x96\xfd\x6f\x5c\x74\xde\xb5\x91\xe0\xad\x14\x82\x77\x65\x82\xeb\xfd\xea\xa4\xd6\x70\x37\x4d\x99\x43\xb0\x09\x63\x94\xf1\xdf\x00\x45\x9b\x60\xa5\x82\xb4\x9f\xfc\x4a\x44\x03\x8b\x43\xbf\x51\x01\xeb\xbe\x55\x27\xff\xda\x15\xfd\x49\x13\x6e\x54\xc1\x49\x95\x9b\xab\x68\xd6\xea\x3e\x44\x28\x34\x89\xce\x26\x9a\xb5\x46\x63\xfc\x56\x48\x90\x59\x50\x0c\x1c\xc5\x45\x6b\xb5\x59\x8e\x66\xfe\x62\x41\xf6\x13\xf6\xdc\x24\x58\x62\xb4\x0c\xf9\xa2\x2d\x28\xb1\x59\xeb\x6b\xef\x46\x88\x96\x68\x42\x16\xb2\x6e\x49\xa2\xa5\xb0\x0e\x6e\x08\xa4\xa1\xc2\x35\x12\x53\x48\x7d\x3d\x07\xeb\xbe\x67\x95\xc1\xc1\x7d\xb6\x34\x69\x55\xe6\xf7\x4a\x96\x65\x48\x48\x99\xf2\xfd\xe5\x4b\x38\x28\xc3\x2f\xa0\x0d\xd4\x98\x49\x72\xa2\x74\xbe\xef\x40\x3d\x9f\x60\xa8\x6a\xdf\x2c\x18\x5a\x0f\x89\xa9\x38\x4e\xfa\x5c\x1e\x2f\xb2\x79\x30\xd3\x97\xf2\x25\xa5\xfa\xdf\x48\x57\xf5\x7d\xfc\x2c\x8d\xc2\x1c\x28\x85\x84\x5c\xfa\xb3\x96\xba\x1f\x2f\x35\x5e\x73\x3a\xaa\x9d\x6f\x54\x02\x5e\x9f\xa5\x0e\xae\x2f\x9f\x61\xf0\xe3\x78\xf0\x3e\x1f\xbc\xb1\xc3\xe0\x56\xfa\xe0\x76\x8e\xc1\x5b\x6c\xf0\x63\x3e\x78\x73\x97\xc1\x5f\xa4\x0e\xde\xf8\x8a\x8c\xcb\x94\x64\x26\xc7\xe6\xe1\x56\x05\x95\x9c\x68\xe0\x81\xd5\xbe\xc3\xb9\x37\x8b\x4a\xe5\x36\xe9\xe2\x32\xf0\x96\xc4\x38\x9c\x79\x41\x18\x01\x5a\xa0\x25\x5a\x45\xd5\x2d\x2a\xfd\x07\xb4\x58\xa3\x80\xdb\xcd\xd5\x84\x9a\xee\x13\x7b\x7b\x8a\x75\x73\x78\xe9\x93\xff\xb0\x61\x53\x81\x75\x80\x66\xde\x7d\x05\xc6\x6e\x88\x2a\x84\xe6\x63\x2f\x92\xd4\xf5\xda\x0d\xa2\x90\x59\x23\xe1\x7a\xe1\x45\x25\x0a\x41\xe6\x4f\x5e\xe6\xc5\x1f\xf7\x96\x54\xfa\x4b\xf7\x1e\x1c\x38\x71\xa3\x79\x75\xed\x7f\x2e\xd9\x12\x0e\x69\x7a\x9e\x8e\x9a\xa2\xe2\x19\x5b\xad\xdd\x20\x44\x83\x55\x54\x22\x8d\xaf\xbd\x1b\x3a\x43\xc9\x86\xe2\x9b\x35\xde\xa7\xa9\x3a\xc5\xc8\x08\x85\x25\x2d\xbc\xbc\xc1\xaa\xdc\xa7\x2c\x3a\xe9\x45\xdd\x0d\xd4\xed\x58\x59\xb3\xa0\xf8\x61\x83\x37\x57\xf2\x6f\xb3\x98\xb2\xdf\x62\xe3\xdf\x8f\x10\x44\x73\x37\x22\x74\x0d\xa0\x58\xad\x56\x8b\xb0\xf2\x23\x97\xac\xb0\x17\x6a\xde\xd6\xf9\x43\x34\xcf\xe0\x81\x2b\x6c\x33\x30\x46\x10\x9f\x85\x99\xcb\x71\xcd\x66\x9c\xc2\x87\x0f\x9b\x42\x05\xea\x07\xf8\x6f\x59\x9a\xd4\x95\x65\x59\x16\x99\x58\xfc\x29\x75\x72\xe9\x18\x36\xec\x18\xc3\x74\x7b\x3c\x3f\xa2\x57\x0c\xd1\x86\x2d\x23\x7a\xdf\x6f\x7c\xb8\x6f\xd5\x3f\xdc\xb7\x6c\xe9\xb3\x40\x76\xbb\x8d\xc4\x3a\x6a\x34\x1b\x1f\x6c\xab\xfe\xc1\xb6\x6c\xe9\x33\xef\xa8\xd1\xc4\x60\xb6\x55\x27\xff\xe2\x8e\xd4\x27\x19\x94\x60\x96\x15\xf9\x8f\xce\x86\x70\xb1\x90\x4e\x22\x8b\xd8\x30\xc0\xcf\xb1\xfe\xaa\x1f\xc0\x11\x9e\xf2\x7d\x01\x0e\xf1\xff\x05\xc2\xb7\x39\x49\xa5\x2a\x83\x16\x27\x56\xe1\xb9\xbb\x5c\xb7\xff\x50\xb7\x1b\xdf\x35\xdb\xe2\xf3\x41\xbb\x90\xce\xb5\x0c\x86\xbc\x69\x8b\xcf\xcd\x54\x18\x9d\x04\xa7\x9b\xe5\x05\x9a\xa5\x70\x80\x4e\x08\xac\x34\x02\x34\x53\x35\x55\xa1\x4d\x67\x1f\xbf\xac\xae\xfd\x75\x42\x4f\x2d\xdc\xa4\x9a\xca\xef\xcc\xf1\xae\x53\xd4\xd1\x14\x4d\xbc\xa5\xbb\x18\x85\x51\x00\x0e\x6f\x7d\xed\xdd\x54\x03\xb4\x5e\xb8\x13\x54\xaa\xfd\xe5\xf9\x1f\xee\x8f\x6a\x15\x28\x14\x98\x8a\x31\xd8\xc2\x5c\x9d\x49\xfd\x29\x1a\x2d\xd7\x6e\x95\xc3\x2f\x50\xd7\x24\x7d\x75\xaf\x89\x93\xd3\xb4\x2a\xd4\x33\xeb\x8a\xb6\xb6\x65\x91\xaf\x98\xc8\x1d\xcd\xc1\x4a\xea\xa4\xc4\xe2\x2a\x3a\x49\x41\x53\x72\x21\xb8\xd7\x93\xbd\x38\x2a\x51\xd2\x7c\x02\xcd\x1e\x91\x61\x54\xcf\x40\x31\xbd\x85\x27\x2b\x76\x0c\x09\xaf\x54\xf3\x56\xdb\x3f\x30\x06\x74\xa7\x74\xb0\x2d\x25\x0f\xb1\x2f\x0f\x51\x13\x5e\x34\x76\xa3\xa9\x87\xd9\x96\x3a\x09\xd1\xc4\x27\xfe\xba\xda\xc9\x37\x09\xb8\x9e\x80\x4b\xe0\x4b\x30\x29\xa7\xbd\xa5\x43\x94\x8d\x7e\xa6\x68\x1b\x73\x13\xe5\x1a\xb3\x2e\x35\xf9\x91\x1a\x23\x10\x3e\xa0\x9e\xa5\x32\x23\x5d\xf0\x85\x1b\xc7\x59\xc1\xb0\x58\xcc\xe9\xd2\xed\x7f\xc9\x63\xcc\x34\xf0\xd2\x97\xbf\x5e\x36\x18\xf8\x7a\xb7\x2a\xec\xab\x57\xaf\xa8\xdb\x46\xdc\x83\x76\x0e\x08\xe2\xd4\x1d\x53\x90\x96\x95\x0f\xb1\x83\xb2\xc1\xf8\xdf\x8e\x58\xdd\xa6\xc3\xf4\x53\x31\xd3\x61\xf0\x5c\x98\xd7\x29\x23\xf8\x4f\x98\x93\x2d\x88\xdd\xdc\x69\x4e\x2d\x3a\xcc\x71\xfe\x39\x61\x32\x18\x30\xdc\x85\x1c\x5b\x21\xb7\x92\x43\x11\x2f\x06\xbb\x5d\x57\xe7\xb0\x5a\xf2\x29\x61\x83\xf0\x85\x99\x72\xf7\x68\x15\x1c\x77\xb3\xa3\x2a\xc0\xea\x39\x41\x5c\x25\xb2\x53\x9d\xf8\xab\x89\x1b\x95\x68\x08\x6a\x2b\x51\xad\xfb\xd9\x0c\x93\xb1\x30\x9b\x15\x94\xef\x8d\x17\x2f\x0a\x82\x6a\xd8\xda\x77\xb1\x79\x32\x46\x01\xf6\x1f\xc7\x28\x90\xfd\xa7\xa9\x77\xab\x78\x50\x7c\xeb\x1f\xa3\xa0\x1a\xf9\x34\xd0\x4c\xec\xb5\x72\x35\xf2\xaf\xd6\x6b\x14\xf4\xdc\x10\x95\x92\xfe\x8e\x1c\x29\x8e\x8d\x0d\xda\xbb\x42\x42\x3a\x40\xc1\x2a\xc0\x1e\xfe\xac\x4d\x93\x3c\xf9\x95\x46\xd1\xbb\x9d\x61\xff\xa0\x09\x0e\x06\x2b\x74\xba\xbd\xd7\xfd\xe3\x37\x3f\x0c\xde\xfe\xf1\xdd\xc9\xe9\xd9\xf9\xfb\x8b\xe1\xe5\xd5\x9f\x7e\xfc\xf3\x4f\xff\xe9\x8e\x27\x53\x34\xbb\x9d\x7b\x77\x1f\x17\xcb\x95\xbf\xfe\x39\x08\xa3\xcd\xa7\xcf\xf7\x0f\x7f\xb5\xea\x76\xa3\xf9\xdd\xc1\x8b\xd6\xf7\x7b\xb5\x42\xfb\x89\xa0\x09\x5a\xe1\x15\xe9\xba\x21\x3a\x68\x52\x67\xb4\x34\x75\x23\x57\x50\x81\x36\x98\x2a\x4a\x1a\xb7\x60\x13\x24\xa6\x6b\x3c\x21\xd6\x96\xca\x09\xc5\x99\x44\xc2\x3b\x11\x01\xb9\xb6\x6e\xb0\xa0\xd9\x65\xb6\xf8\x19\xcd\x4b\x1c\xe0\x39\x34\xca\x58\x89\x34\xcb\x46\xb0\xa2\x53\xcc\x7a\x2c\xa9\x26\x0d\x69\xfb\xb7\x41\x1a\x7e\xc9\x0a\x97\xe3\x3f\x14\xa8\x4e\x46\x49\x99\xa4\x71\x98\xfa\x0d\x0d\xdc\x90\x81\xec\x6c\xea\xa4\x93\xa1\xf1\x7f\x8c\x0c\x79\x07\xb2\x6f\xa8\xce\xcf\x31\x50\xdc\x9e\x6d\x96\xba\x3a\x8a\x21\xef\x7c\x6f\x55\x2a\x16\x85\xef\xd5\x6c\xbe\xe9\x35\x9b\x6f\xfa\x85\xc7\x68\xf8\x29\x12\x72\x59\x62\x43\x08\xa1\xa4\x6f\xa7\x9a\x1e\x27\x6f\xdc\xc8\xcd\xa1\xde\x63\xa4\x85\x96\xda\x73\xf0\x32\x51\x5e\x10\x9d\x70\x4e\x89\xa3\xa7\xbc\xb3\x3b\x70\xc0\x6b\xc3\x1d\xbc\xc4\xc0\xd0\xc4\x9a\xed\xae\xac\xd8\xc7\x0b\x14\x45\x08\xab\xb8\x78\x34\x46\xd0\x3b\x1e\x31\xc6\x0c\x19\xb7\x72\xa0\xe0\x14\xe0\x97\x5f\x40\x7a\x50\x90\xc3\xd0\xe3\x00\xb9\x1f\xdb\x5a\xbc\x58\x99\x33\x38\x4c\x53\x56\xbd\xd5\x14\xdd\x9f\xcd\x58\xe7\xca\x78\xa2\xf5\x2b\x07\x0e\x9a\xb1\x65\x22\xa2\x41\x63\x42\x74\xd2\x6b\x35\x7b\x70\x89\x4e\x84\x6f\xf8\x77\xe9\x50\x47\x1b\x34\x34\xe9\xcd\x6d\x08\x68\xe2\x9b\xe8\xc8\xe6\x26\xb2\xbd\x3f\xf6\xa2\x18\x6b\x85\x4b\x98\xf1\x22\xe0\xb1\x80\x32\x91\x91\xbb\x15\x22\x98\x38\x2c\x33\x8e\xdd\xe0\x63\xb7\xbe\xfa\xd8\xe6\x6e\x34\x00\x21\xfd\x4d\xbd\x3b\x5b\xd5\x59\xdb\xa6\xc2\x79\xc1\x6e\xfe\xde\xa7\xb2\xbd\xbb\x58\x61\x95\xc5\x69\x93\xf4\xb6\x71\x53\x36\x1f\x3c\x2a\xdd\xee\x7e\xf0\x28\x94\x9e\xd9\xc4\x90\x70\x30\x99\x18\xc5\x62\x9a\xc2\x4a\xea\x24\xa6\xb4\x1a\xb2\x41\xea\x46\xa3\xa5\x1f\x46\xa3\x68\x1e\x20\xc4\xd5\xa0\x04\x1a\x2e\xbc\x09\x2a\x79\x15\xa2\xb3\x1a\xaa\xee\xc7\xbd\x19\xcc\x21\x43\x9f\x29\x5b\x00\x21\x97\xa6\xc1\xdf\x6f\xfc\x08\x4d\xcf\x03\x6f\x15\xb9\xe3\x05\x62\x7d\x4a\x41\xbb\x6d\x4a\x7d\x4b\x26\x42\x3c\x7b\x92\x5d\xc0\x12\x0f\x48\xd2\x01\x66\x68\x79\x84\x14\x9e\xe1\x01\x2a\x12\x7d\xdb\x8c\xc3\x28\x28\x61\xda\xd4\x2b\x60\x97\x49\x84\x58\x28\x4f\x42\x6e\x63\x34\xc4\xd0\x71\x22\x0b\x82\xf7\xb3\xb7\xe7\xe5\x67\xbd\x82\xd3\x6f\x38\xad\xba\xd3\xb2\xe3\x0f\xcd\x2f\xd8\x4f\xb5\xd5\x10\x21\x69\x6a\x8a\x63\x9c\x79\x78\x6f\x54\xbb\xad\x40\x01\x0a\x65\xa2\x12\x2e\x8e\x7b\x60\x5b\xcd\x17\x55\x1d\xdf\x8c\x05\x2e\x38\x85\xf2\x6f\x32\x8f\x1f\xbd\x68\xee\x6f\xa2\x8b\xe3\x1e\x46\x31\x11\x68\xdf\x0d\xd1\x6f\xfa\x8d\x6f\x5a\xf5\x6f\x5a\x76\xfc\xe1\x4b\x10\xbd\x0a\x16\x8f\x40\xe7\x1b\x86\x8e\xa6\x42\xcc\x20\x42\xba\x45\x1c\x3c\x9c\xfb\x9b\xc5\x74\x44\x93\xd5\xd2\x15\x8d\x88\xc4\xf3\x78\x2d\xf9\x26\x33\xae\x95\x7a\x9c\x65\x52\x49\x7a\x14\x59\xb2\x4c\x24\xed\x2b\x47\x27\x15\x54\x25\x0b\x42\x48\xad\xa4\x9e\xd8\xb1\xc1\x9e\xea\xca\x2a\x3d\xd3\x03\x13\xdb\x1c\xb5\x94\xba\xa2\xee\x6c\x75\x16\xf8\xcb\x1e\x9b\xad\xd1\x7e\x49\x51\x73\xbb\xed\x0a\x06\xe6\xdf\xb2\xb8\xc6\x8d\x42\xa1\x15\x38\xfc\xd8\xb4\x34\x8e\xa9\xc5\x30\x1d\xc3\x4b\x68\xd8\xd8\x98\x1c\xc3\x2b\xa8\xdb\x07\xf4\xa3\xe3\xc8\xf9\x68\xf1\x23\x25\x17\x8d\x68\xf6\xb6\x3e\xe7\xed\x9c\x57\x74\x8a\x3a\xdb\x71\xef\xfd\xea\xe2\xdd\x68\xd8\x39\xee\x53\xff\xfd\x4b\x1d\xf8\x51\x75\xbf\xd0\xde\x75\x01\x0c\x42\xad\x2f\x00\x16\xd5\x2f\x22\x7a\x3c\x4d\x6e\x7c\x9b\x58\x6c\x5c\x26\x3b\xd3\x7e\xfd\xd1\x84\xfe\xc6\x4c\xe8\xd4\xd8\x5a\x9c\x50\x68\xca\x80\xe2\xe7\xa9\x2c\xb8\x23\x85\xc3\xe5\xc4\x27\x3a\x4e\xb6\x81\x22\x47\xdd\x0d\xda\x40\x74\x92\x22\x7b\x12\x7c\x1c\x1e\x53\xce\x7d\x18\xf8\x63\xe7\x9a\x8c\x14\xc6\x53\xce\x73\x54\xf3\x88\x43\x9f\xe4\xe9\xe5\x16\x7a\xab\x1a\x7f\xe9\x3e\x8c\xd1\x60\xe5\x45\x27\xee\x3a\x8c\x1d\xe0\xd1\xd2\x5d\x87\x15\x88\xfc\x51\x3c\xd6\xd2\x5d\x57\xc8\xe1\xb9\xfc\x84\xce\x02\x2b\x57\xb5\x65\xd5\x0b\x47\xde\xca\x8b\x3c\x77\xe1\xfd\x35\x76\xa7\x63\x2c\x63\x82\x73\xb5\x1d\x3d\xac\xa9\x19\x06\xc5\x8b\xb3\xab\xd3\xd7\x97\x17\x83\xf3\x62\x05\x8a\x83\xd3\xf3\xab\xcb\xd1\xd9\xe9\xbb\x9f\xf0\xb7\xb3\xab\x4b\xfe\x15\x52\x0d\x36\xd1\x61\xe6\x4e\x81\x5b\xc4\x3b\x05\x69\xcd\x77\x0a\x69\xf7\x1a\xe1\xd7\xc2\xa9\x26\x34\xb9\xe6\x20\x52\x7b\x25\x14\x60\x8a\x27\x90\x9e\xca\x06\xbf\xde\xa2\x7e\xbd\x61\x7f\xbb\x53\xe2\x04\xcc\xcd\xf7\x27\xee\x82\x27\xba\x49\x9b\xd1\x1d\xf1\x8c\x48\x10\x5f\x7e\x8a\xad\xcb\x1b\xf9\x08\x4c\xcf\x95\xd3\x1a\xdb\xa9\xdd\x34\x6e\x64\xc7\xde\x23\x69\x40\x58\xad\x7b\xb1\x77\x4d\x4d\xb7\x78\xf5\xc0\x0f\x40\xac\x1e\x77\xed\x55\x26\xb9\x16\xd3\xb9\xd1\x8e\x15\x75\xf7\xdf\x30\xa8\x6d\x1c\x54\x62\x12\x3e\xaa\xce\xb4\xd7\xf2\x48\x78\x64\x81\x47\xdb\x98\x04\x95\xc9\xdb\xe0\x40\x14\x6c\x10\xdf\x82\x86\x6f\x07\xc3\xd1\xe5\xd9\xe8\xea\x74\xd0\x3b\x7b\xdd\x07\x07\xfe\xf6\x2b\xdd\x9b\xe8\x03\xfc\x0e\xb7\xa1\x2f\x30\xfe\xe8\xe7\x8d\x17\xa0\xf0\x10\xc2\x3b\x2f\x24\x23\xdc\x85\x4c\xef\xc2\x18\xc1\xc2\x77\xa7\x68\x5a\x35\x08\xec\xf0\xce\x0b\x89\xd0\x52\x2e\x51\x05\x99\xe0\x71\xd2\x39\x1f\xf5\x4f\xf1\xb0\xaf\x2b\x3a\x66\x15\x1d\x23\xb1\x8d\x0e\x86\x67\xad\xd6\x77\xdf\xd7\xb7\xcd\x23\x6e\x67\x98\x8b\x17\xfa\xb4\x8b\x1d\xe6\x33\x60\x30\xa9\x73\xe2\x78\x29\xf3\x32\x60\x5b\x49\x84\x26\x0d\x58\x6b\x7a\x70\xe1\xfb\x1f\x37\xeb\x13\x77\x8d\x6d\xfc\xd7\x68\xe6\x6e\x16\x51\x89\x68\xbd\x8f\xe8\xa1\x02\x53\xfa\x64\xf4\xc9\x5d\x6c\x24\x43\x97\x7c\x05\x07\x30\x5f\x7d\x44\x0f\x3c\x70\xff\x54\x6a\x07\xbc\x95\xd2\x89\xb6\xf1\xb0\x67\xdb\x0e\xaf\xa8\xe9\xd1\xb1\x84\x19\xd2\xc9\x73\x58\x8c\x77\x82\x3b\x2f\x4c\x3d\xb0\x32\x30\x55\x6c\xb7\x13\xb6\xfc\x4a\xe7\x58\xb9\x52\x09\xf8\xa0\xac\x95\x71\x65\x34\xe6\x4d\xae\x78\xea\x1f\xf5\xac\x5c\xb1\x49\xe5\x0b\x04\x1c\x01\x92\x96\x4e\x92\xd2\xc5\xd9\x38\x60\xbf\xc5\x9d\x44\x28\x88\x63\x57\x82\x4a\xcc\x2b\x8f\xe1\xcd\xfe\x41\x6a\x73\x78\xf5\x8a\xa4\x15\x6d\x6b\xf6\x9c\x22\x65\x74\x1f\x04\xd4\x76\x7e\xea\x34\x29\x0f\x55\xc4\xe7\x9c\x07\xa0\xfd\xcd\xe4\xed\xfa\x31\x0c\x85\x36\x93\xbb\xf5\xef\x9f\xa3\x54\x46\xc9\xcf\x5f\xdb\x39\xea\x15\x67\x28\xcc\x51\xaf\xfd\xcd\x78\x81\xc0\xcc\x56\xc4\x50\x10\x88\xc7\x57\x71\xee\xbc\x10\x2f\xc5\xa5\xff\xd6\x0b\xff\x6c\x5b\x2d\x62\xd8\xea\x2c\x27\x53\x9b\xc1\xf3\xae\xe8\x29\x7a\x8b\x27\xba\x48\x6b\x42\x39\x4d\x02\x53\x38\x32\xab\xa1\xca\x93\x22\x06\x2c\xcd\xdc\x51\x12\x4d\x48\x20\x3b\x39\xe9\xc4\x18\xd6\x7d\xab\x9f\x8e\x41\x9a\xa8\x91\x21\x5e\xe4\x1c\x22\xd1\x89\xe6\x91\x8b\xf6\x44\xa6\xf2\x08\x48\xbc\x9f\x6d\x97\x11\x75\xe7\x8b\xe5\x64\xe1\x46\xde\xea\x37\x97\x13\x3a\x6a\x4e\x41\x89\xf7\xd2\x1d\xc4\x23\x87\xfe\x95\x26\x4e\x17\x47\xe0\xa4\xbb\x6b\x52\x53\x59\xd7\x99\x77\xc9\x9c\x69\x95\x7c\xa3\x34\x66\x56\x72\xdd\xba\x55\xcf\xed\x70\xe1\x4d\xa8\x79\x2d\xda\xac\x6b\xae\xfd\xba\xa6\xd1\x58\xcc\x4b\xf4\xa0\xc4\xbc\x04\xba\x4c\xf4\xea\xf0\xfc\xb9\x04\x48\xf6\xb6\xef\x8f\xcb\xf0\x8b\x38\xcd\xd5\x61\xfa\x96\x01\xe6\xb8\x27\xc5\xcd\x78\x9c\x59\xc3\xcb\x36\x23\xa6\xa3\x66\xd3\x71\x9a\xea\x38\x36\x1d\xe8\x45\x5f\x41\x4e\x46\xcf\x8e\xd5\x89\x09\x4e\x41\x10\x14\x1a\x4a\x13\x8c\xdd\x1d\x01\x2d\x6e\x57\x48\xb3\x32\xde\xe6\x91\xbb\xe4\xf0\x86\xd0\x7b\x9a\x08\x1a\x65\x4b\x37\xd2\x77\x90\x2b\x09\x23\xb3\x58\x7d\x71\x06\xac\x2e\x28\x8a\x82\x33\x09\x8b\x24\x9d\xb9\x34\x5e\x7e\x89\x91\x55\x44\x8a\xc6\x53\x15\x99\x68\xaf\x68\xbb\x3c\x6b\x92\xcb\xc1\xc8\xfa\x23\x30\xf9\x27\x2d\x0c\xc9\xc4\xb2\x9b\x36\x49\x26\xc5\x1a\xcf\xb5\x12\x8b\x25\x59\x0a\xd4\x17\x20\x36\x03\xdf\xf5\xb8\x47\x73\x57\x97\xed\x04\xbc\xf7\xc7\xab\x73\x67\xcb\x6f\xe8\x66\x8f\xdf\xd5\x6a\xf1\xf5\xf5\x35\xf2\xd7\x0b\x54\x9d\xa2\xb1\xe7\xae\xaa\x7e\x70\x5b\xfb\xaf\x8f\x9b\xb1\x1f\xb9\x35\x86\xf3\x7e\xf8\xb0\x1c\xfb\x8b\x70\x7f\xe9\xae\xed\xea\x3c\x5a\x2e\xaa\x77\x6e\xec\x67\xd4\x49\x86\xef\x5d\x1d\xf6\xa1\x5e\x26\x39\x86\xe4\x3e\x2c\x7e\x42\x44\xfa\xbb\x7e\x19\x8e\xb0\x4a\xa8\xc3\x21\x58\xf7\xdd\xba\x70\x51\x08\x66\x76\xdc\xfa\x39\x86\x3c\xc2\x9f\x6d\x92\xd9\x7a\x60\x51\xc0\xfa\x31\x01\xb4\xad\x32\xf9\xff\x45\x5f\x8e\x9d\x95\xc2\xba\x50\x07\xb6\x20\x2b\x26\x26\x25\x2b\x26\xb0\x71\xb3\xc8\x32\xc5\x44\x74\xb7\x1e\xeb\x89\x04\x61\x43\x5b\x79\xf5\xd5\x29\x4b\x96\x94\xcd\xaf\x5e\x86\x7d\xfa\x99\xa8\xfe\x19\x21\x0c\xb2\x08\x41\xea\x98\x50\xf8\x2d\x25\x1b\x79\x49\x68\x5d\x56\x58\x20\xb4\xc9\x75\xe3\xfa\x8c\xb5\x25\x5a\xf8\x85\x68\x2c\x3f\x66\x03\x7c\x87\x78\x37\x31\xb9\xef\x04\xb9\xef\x6c\x79\xef\xb6\x89\x17\x62\x93\x1d\x9a\x7d\xde\xdd\xff\x65\x8b\xc1\x34\x93\x70\x7d\xb5\xdd\x7b\x07\xff\x36\xb1\x45\xd3\x63\x5a\x5b\x56\x39\xf2\x26\x23\xef\x7b\x62\xa6\xe2\xa1\x14\x9c\xd3\x37\xf9\x7c\x12\x4b\x61\x73\x39\x92\xb9\xdc\xc8\xad\x0e\x64\xb6\x51\x65\x5e\xb6\x2c\xe3\x4a\x5e\xa3\x84\x5d\x15\x93\x33\xc7\x19\x7d\x9e\x95\x31\xef\xff\xca\xda\x84\xe9\x8b\xf3\x58\x0f\x4c\x23\xbb\x69\x69\xd2\x9a\x98\x17\x26\xb1\x2e\x3d\x7f\x15\x46\xee\x2a\x0a\x61\x13\xa2\x29\x78\xb2\x00\xa4\x6e\xcb\xe5\x2a\x89\xe4\x75\x86\xbd\xc1\x80\x26\x9c\xe1\xaf\x6f\x07\xc3\x3f\xdb\x56\x9d\x5e\xa1\x15\x0f\x5a\xf4\x5a\xeb\x13\x92\x38\xb5\xd6\x87\x19\x84\xbe\x6d\xd9\x36\x0b\x04\x64\x0c\xd6\x1f\xf6\x3a\xe7\xfd\xd1\xb0\xff\xfe\xaa\x7f\xda\x23\xce\xc3\x09\x8b\x2b\x3e\x01\x28\x94\xba\x85\x43\x8a\x50\x85\x7c\x7d\x5b\x38\x8c\x11\x22\x0f\x9e\x75\xf9\x83\x16\x7d\xf0\x1f\xe2\xc1\x93\x5f\x53\xf1\x33\xbb\x65\x12\xca\x31\x7e\x27\xcc\xa3\xd1\xf0\xa4\xa1\xcd\x94\x97\xd7\x04\xe1\x1b\x70\x08\xfe\xed\xd4\x66\x6c\x22\xb4\xe1\xdb\xad\x0d\x5b\xa4\xe1\xb3\xae\x74\xf8\x58\xef\x0a\xb1\x6a\xca\x22\x46\x3e\xb3\xb7\xad\xf8\xad\xe2\xe8\x18\x64\x70\xfb\xa2\x79\xb4\x45\xec\xf2\x6e\x75\x75\x66\x8b\x4d\x38\x97\x8f\x2c\x97\xc4\xd8\x91\x8f\x13\xfd\x4d\xb4\xde\x44\x69\x2e\xa9\x10\x71\xea\x1d\x2c\x89\xb4\x39\x94\x25\xca\xe6\x02\x0f\xca\x51\x7f\x22\xe8\x10\xf7\xc0\x88\xcf\xb3\x0f\x49\x5d\x9c\xb9\xfb\x09\xc1\xdc\x5d\xcc\xf6\x3f\x7b\xd3\x68\x0e\x7f\x74\x23\xf7\xa3\xbb\x72\x8f\x52\xc6\xc9\xe3\x19\x4a\x47\xba\x5b\x90\x69\xa9\xc7\x3a\xca\x06\xb4\x65\xff\x4a\x0c\xf2\x38\x5c\x25\x6d\x6b\x88\x99\x5c\xad\x3e\xae\xfc\xcf\x2b\xc0\x58\x4b\xe9\x95\x8f\x8a\x3d\x00\x5b\xf8\xa4\x59\x2b\x5d\x4e\xa0\xfd\x9b\x93\x61\x09\x46\xbd\x05\x72\x03\x7a\x37\x7c\x6b\x91\x0c\x4a\x6b\xca\x39\xf1\xb3\xc9\x26\x08\xd0\x2a\x1a\xe5\x4c\xda\xd5\xd8\xdf\x94\x02\xa6\x35\xc1\x1b\x09\xb9\xd5\x5f\xef\x72\x4e\x23\x77\x9d\x43\x98\xcc\xdd\xd5\xad\xb8\x60\x4f\x44\x85\xc9\x47\x12\x2d\x35\xea\x18\x26\x53\xb9\x94\x3b\xdc\xa6\xe3\xed\x24\x62\x39\x9d\x95\x04\x20\xd9\x04\x39\x06\x8c\xac\x29\x7a\xfc\x9a\x1c\xa6\xc9\xfe\xfd\xd3\x25\x35\x7f\x13\x1c\x25\x52\x7d\xf5\x95\x02\xf9\xc8\x8f\x6c\xe1\xc6\xd8\x79\x92\x6a\x94\xb9\x92\x33\x4f\xcf\x84\xdb\x7d\x15\xb6\xdd\x0b\x35\x07\xd2\xf3\x5e\xeb\xe6\xb1\x74\x93\xb4\x4a\xc1\xc7\xaf\x18\x74\x92\x43\xa0\x06\x06\x97\x5e\x63\xe6\x96\x42\x2d\x34\x6d\xb1\x6c\xec\x02\x9e\x3f\xe7\xcb\xab\xf4\x40\x98\x49\x8a\xff\xa6\x45\xa8\xf5\x71\x63\xeb\x2c\xd9\x59\xdb\x1c\x22\xd7\xe2\xd1\x2f\x8e\x5f\x1c\x27\x82\x53\x8f\xb0\xb3\x7f\xa3\x10\xce\xd6\x20\x4e\xfe\x22\x31\x19\x12\x64\x58\xdf\x97\xda\xc2\x18\xc7\x51\x61\x32\xcb\xd1\x0c\x48\x91\x07\x08\xbd\xd5\xed\x02\x45\xfe\x8a\xc5\xfa\x31\xac\x5e\x89\x26\x2d\x4d\xd5\x28\x6a\x92\x5d\x13\xcb\xd6\x8e\xc6\x51\xce\xd0\xbd\x6c\x23\xee\x76\xbe\x65\xda\x80\x48\xf3\x1e\xd9\x09\x4e\xe8\x6b\x6e\x2a\xad\xd0\xe7\xd1\x92\x87\x0a\x24\xf3\xe7\xa9\x03\xfa\x3b\xae\x33\xe3\x17\xca\x49\x4f\x38\x19\xb9\xe1\x88\x16\x03\x04\x27\xcd\xa4\xbd\x5e\xca\xaa\x5a\x02\x24\x53\x5c\x13\x0a\x48\x66\x44\x6a\xd5\x37\x65\x38\xc1\x75\xda\xd6\xc9\xce\x6f\xea\x5d\x56\x55\xa0\x3f\xec\x91\xdd\xab\x6a\x6e\x0f\x4e\xa2\x07\x76\x43\x31\x89\xa4\x76\x52\x43\xd4\x5b\xa2\xb7\xff\x3f\x5e\xfc\xe7\x1d\x2f\x6a\x4c\x5d\x8a\xad\xdb\x4c\x5e\x30\x1f\x74\x67\x37\xfd\x5a\x07\x8b\x66\x84\xeb\xd9\x58\x3c\xe6\x78\x51\x1f\x88\xba\x31\xbb\x0d\xc3\xd8\x3a\xbd\x2b\xa6\x26\xb5\xde\x78\x16\xcf\xc9\xe0\xa4\x3f\x3a\xbe\x7a\xf7\x6e\x74\xd2\xb9\xec\xfd\x00\x0e\xd4\xfe\xe2\x7c\x38\x2a\x5d\xff\xe5\xe8\x66\xaf\x8c\x3f\x74\xdf\x8f\x7f\xbe\x29\x4b\x8f\x9c\x67\xb5\xb6\x80\x3d\xef\x5c\x5c\x0e\x3a\xbb\x80\xd7\x58\x65\x49\xe7\x88\x54\x77\x3a\xea\x1e\x35\x9b\x6f\x7a\x47\x0e\xc9\x6b\x8f\x82\x0d\x22\x6f\x67\xbe\x3f\x76\x03\xf2\x6c\xe6\x2e\x42\x24\x14\xb2\x17\x9e\x78\x4b\xd4\xa7\x49\x73\x2c\x73\x51\x4f\x6a\x0f\xa3\xa0\xba\x74\xa3\xc9\xbc\xa4\x4d\xb0\x4c\x14\xe6\x66\xb1\x10\x37\x01\x4c\x68\x5c\x17\xc8\xc3\x42\x05\xae\xf5\xa4\xde\x9b\x1b\x05\xec\xfd\x11\xcf\xa6\xce\x0d\x3b\x38\xfd\x53\xe7\xdd\xe0\x35\x6d\x9d\x48\xd2\xc7\xb3\x53\xab\x65\x2e\xd9\x65\x08\xf3\x8c\xe2\x6c\xa2\xa5\x52\xbf\x69\xee\x06\x23\x92\x58\x48\xd5\xfc\xf2\x3a\xb6\x85\x6a\x35\xf8\x11\xc1\xd4\x5f\x15\x23\x58\x21\x34\x65\xd5\x5b\x56\xb7\x1b\xf7\x16\x81\xb7\xa2\xb9\xec\x18\x9d\x75\x80\x26\x68\x8a\xa6\x30\x7e\x80\xe2\xb7\x45\xca\xb6\x7a\xc7\xca\x77\x71\x5d\xe3\xc3\xb7\xd5\x6f\x9f\xd1\x6a\x2c\x1c\xa7\xa5\xb7\x44\x2a\x4e\xb6\xa4\x1b\xc9\x5b\x7a\xf1\x63\x79\xdd\x90\x13\x27\xd5\x8b\x28\x7c\xf7\x53\x7b\x73\xa0\xd0\x25\xf7\x15\x93\xcf\xc7\x85\x94\x3b\x37\x7a\x22\x66\x8c\x82\xc1\x35\x4f\x74\xfa\x3e\x65\xb0\x9f\xb7\x0e\xa6\xa7\xd6\xeb\xa3\xf2\x19\xaa\xa4\x7e\xea\x40\xa1\x80\x2d\x6b\xa5\x57\x31\x18\xe3\xfc\x6b\x05\xaa\xa2\xb6\xbe\x31\x59\x50\x78\xf3\x63\xda\x80\x65\x46\xf6\xce\x4e\xff\xd4\xbf\xb8\xec\x5f\x0c\x59\xe4\xad\x38\x18\x9e\x11\x53\xe7\xbc\x78\x98\xdb\x20\xaa\x30\x40\x72\x2c\x56\x3c\x84\xbc\x49\x10\x04\x6e\xf8\xc3\xe0\xf8\xf2\xed\x60\x98\x0d\xc7\xc3\x17\x04\xa6\x7f\xd5\x23\x08\x12\x36\xcd\x91\x91\x44\x80\xae\x2e\x8f\x5b\x0c\x26\x4f\x1d\x07\x9e\xfd\x78\x9a\x9b\x50\x5b\x03\x69\x69\x84\xda\x76\x72\x9a\x46\xa8\xac\xa0\x4e\x1a\xa1\x32\x7d\xcb\x54\x42\x65\x14\x2d\x35\x1d\x05\x1b\x08\x6b\x30\x9d\x2b\x10\x73\xaf\x54\x97\x0a\x2b\x25\x92\x4a\x2b\x2b\x10\xfe\xb4\xcf\x9e\x9d\xba\x4b\x54\xe2\xd0\x3c\xae\x43\x47\x1f\x71\x74\x9c\x24\xa3\x5f\x1b\x46\xe0\x79\x9a\x7a\x07\xda\x4d\x0b\xfd\xb5\x21\xf5\x3e\x29\x6e\x3a\x6d\x72\x44\x0c\x7f\x0b\xc2\xe8\x7c\xfd\x55\xe9\xa2\xc5\x25\x93\x44\xa9\xd5\xa0\x48\xef\x4c\x90\xa2\x6f\x5a\x69\x3f\xe9\x8a\x0c\xb9\x7d\xc1\xae\x3b\xa8\x7b\xa5\x7c\x39\x64\xf7\xca\xd1\x73\x74\x6f\x2a\x19\x2d\xea\x8d\xd4\x0f\x0c\xd5\x46\x00\xa4\xdb\x24\xa4\xa0\x1f\xec\x41\xc1\xb2\x2c\xab\x10\x5f\xe2\x9c\xa3\x7b\x36\x66\x19\xf6\xf0\x30\x1a\x01\xb4\xfb\x24\x1a\x15\x4c\xb5\x00\x8d\xd4\x68\xd8\x99\xd4\x30\xc5\x7e\x72\x15\xee\x4e\x71\x8f\x72\x79\x47\x94\xa6\xba\x53\xb4\x23\x49\xaf\x38\x49\xbf\x84\xac\x72\x35\xf3\xc2\xf3\xb8\x10\x5f\x5c\x84\xcf\xd0\x82\x95\xdd\x8b\x4b\xee\x25\x69\x4e\xab\xeb\x99\x4a\xe9\x3d\x9a\xce\x29\xeb\xc6\x6b\x14\xf2\x12\x85\x16\x1c\x41\xb1\x08\x70\x08\xc5\xfb\xf4\x8b\x50\x79\x96\x28\xc5\x71\xdd\x5a\x66\x47\x29\x1a\x08\x0e\xa6\x18\x5e\x27\x7e\x2f\x92\xf4\xbb\x07\x85\x76\x41\x5f\x52\x06\xb3\xc3\x72\x2d\x5a\x77\xc8\xb0\x00\xe7\x9b\xd5\x03\xf5\x3c\x65\xbe\xdf\x42\xfc\x18\x48\x10\x5d\xbb\x1b\x95\xf3\x7e\xd6\xee\x77\x2f\xd3\xcb\x65\xb2\x7e\x72\x54\xb9\xa4\xfd\xa4\x55\xcb\x4c\xdb\x59\x58\xb5\x4a\x36\x0f\x79\x57\x51\xf9\x36\xcf\xed\xba\xed\x57\x6d\xf3\x56\xd4\x14\x1c\x44\x2b\x32\xc9\xfc\x8d\x01\x6c\x38\x8c\x2f\xb9\x4b\xc8\xc5\x09\x8d\xb9\x2e\xe0\x26\x4a\x4a\xe9\xbc\x28\x77\x9a\x9f\x21\xaf\xad\xfb\x83\x1e\x89\xd6\x93\xa8\xe1\x41\x87\xfc\xfb\x1d\xad\xd8\xc8\xb8\x55\xb9\xed\xb2\xde\xac\x1e\x48\x50\x2b\xfb\xa6\x4b\x26\xab\x7e\x1d\xed\x82\x31\x31\x9c\x89\x05\x28\xdc\x2c\x22\x2c\xc6\x85\x78\x87\x8f\x47\xaf\xd2\x3b\x6a\xba\xa1\x26\x3a\x2a\x6b\x7b\xbf\x78\x93\x27\x2f\x0d\xcb\x8f\x89\x98\xda\x35\xca\x2f\x20\x27\x27\x23\x97\x64\x09\xf7\x2d\x45\xf5\x15\x42\x50\x7f\x4a\x82\xd6\x8f\x81\xcc\x46\x50\x7e\x8d\xa2\x55\x3a\xde\x02\x2d\xcd\xc2\xc4\xa4\x59\xe5\x79\x21\xfe\x59\x12\x03\x50\x6a\x29\x5e\x01\x94\xd0\xc4\x72\xad\x5d\xb1\x21\x9a\x8c\xd6\x2f\x62\x5e\xe5\x74\xf6\xb1\x8e\x45\x52\xe5\xe7\xd3\x92\xc6\x9d\x49\x54\x96\xca\xa0\x0e\x0b\x31\x10\xba\xfc\xce\x29\x92\x56\x21\xc6\x38\x79\x53\x21\x8d\x0c\x32\x18\x4a\x7e\xfc\x9b\xd0\x23\xa3\x22\x82\x91\x30\xd9\x77\xfc\x63\x93\x9d\x16\xe4\xf8\x37\x21\x81\x56\x93\xc0\xcc\x0f\x4a\x38\x15\x8b\xc5\x91\x93\xb4\xac\x0d\xd1\x53\xce\x3f\xb8\x7d\x82\x50\x71\x50\xb4\xa2\x86\xdc\x2a\x6a\xfc\xf1\x5f\x4f\xbd\x1d\xcf\x71\x21\x11\x52\xe5\xe1\x5c\x12\x0a\x95\x8b\xae\xb1\xa5\xa0\x9b\xf3\xaf\x09\x6b\xad\xe0\x1c\x61\xdb\x5b\x0d\x1a\xee\x41\xe1\x88\x6f\xe6\x89\x60\x65\x91\x96\x36\x2b\xf2\xa2\x83\x92\xcb\xd5\xa5\x70\xaa\xa1\x94\xaa\x18\xb4\xe3\x5d\xb9\xa3\xf7\xa9\x1d\x65\x4a\x14\x9d\xa2\x04\x53\x3c\x72\x8a\xed\x54\xcb\x4c\x0d\x15\x98\x8b\x2f\xc4\x55\x1b\x8e\x03\x7f\x69\x88\x1c\x18\x6b\x2c\x6c\x2f\xf6\x6f\xf0\x1e\x72\x54\x56\x48\xad\xf1\x9f\x0b\x75\xdd\xcd\x4f\xe1\xf6\xdc\xbf\x03\xd0\xfe\xd7\x96\x99\xd8\xfe\x3b\x02\xb2\x09\xb8\xe5\x97\x02\xb2\x89\x97\xdf\x48\x31\x29\x81\xec\x9f\x13\x48\xcb\xae\x79\x54\x84\xef\x0b\x9d\x52\xfa\xd3\x01\x7a\x84\x43\x27\x65\x32\xc2\xb1\x9d\x82\x3b\x47\x3c\xf2\xfc\x00\xc1\x97\xbb\xe0\xd4\xe3\xda\x8e\xfe\xa3\xe2\x05\xe9\x52\xa3\x22\x9d\xf4\x32\x52\x90\x55\x8a\x91\x66\x23\x9c\x6d\x38\x66\x9e\x67\x29\xa2\xbd\x2b\x53\xca\x1d\x7f\x3d\xbe\xcc\xa8\xbd\x96\x4d\x86\x9c\x86\x63\xbe\x23\x37\x13\x61\x34\x51\xff\x4d\x08\x23\xd9\x51\x79\x26\x9d\x2c\x2c\xf7\x68\x12\x18\x6a\xd4\xfd\xce\x08\x92\x51\xfc\x6e\xcb\xfe\x98\x6e\x53\x9b\x49\x13\x57\xc5\xfb\x1d\x12\x00\xd4\xa4\x08\xf8\xb0\x12\x0f\xa4\x84\x88\xfe\x72\x1d\x3d\x9c\x05\x43\xf6\x3b\x59\x67\xb3\x1f\xe7\x5e\x84\x86\x6b\x77\x22\xc7\x8d\x76\x3c\x0b\x99\x6c\xfd\xfd\xcc\xa7\xf4\xd7\x9f\x48\x4a\xb3\xf5\x3d\xfc\xf2\x0b\x4d\x2f\xb8\xec\x74\x25\x33\x58\x6a\xd2\xe1\x4d\xde\x1d\x9b\x5b\xbc\xe6\x2d\x7a\x17\xc6\x16\xb6\xc5\x7f\xbc\x60\x78\xde\xe9\xf5\xd5\xc3\x6f\x92\x29\x62\x4c\x13\xe4\xe5\x77\xd4\x94\x8f\x6f\x8f\x1c\x50\xbe\xb1\x0c\x0e\xf5\x59\x45\x03\x29\xdc\x24\xbb\x39\x3e\x3b\x4b\x83\xc5\xaf\xa4\x2c\x0f\xf2\xa3\x3a\xd8\x9f\xd1\x73\x57\xbc\x59\xe9\x29\xfd\x22\x1d\x8b\x89\x64\xf6\xf8\x27\xc4\x44\xc0\x8e\xe5\x24\xf3\x88\xdd\xe7\xb9\xb7\x40\xd4\x73\x78\x2a\x7b\x0e\x29\x39\x24\x4a\xea\x4e\x59\x24\x56\x94\x95\x14\xd0\xa7\x5b\xd8\x8b\x21\xa1\x5c\xa4\xa6\x3f\x2d\x46\x7f\xf3\x8b\xbd\xd6\x53\xb7\x75\xdc\x35\xb0\xe5\xb5\x25\x52\x47\x45\x39\x50\x76\xec\x83\xdf\xc6\xe7\x3e\x59\xd9\xdf\xd8\x6f\x90\xca\xb0\x5a\xe9\x3d\xd6\xb5\x84\xaa\xc7\xcc\x3c\x65\xd6\x12\x17\x92\x16\x9c\x0d\x69\x9a\x10\x51\x68\x57\x97\xc7\x2d\x6a\x91\x0d\xe7\xde\x2c\x1a\xbd\x1d\x0c\xe9\x8b\xf8\x78\x5f\xd2\x75\x5b\x0e\x77\xe5\x34\x28\x9e\x97\xa3\x9c\xdc\x88\x2c\x9d\xeb\xd1\xfe\x0d\xa9\xab\x2a\x57\x46\x35\x39\xf0\x09\xc3\xd1\x39\xe2\x88\x1e\x75\x8f\x6e\x7f\xee\xf5\xfc\x5b\xc7\x31\xb7\x1c\x0c\xcf\xf6\x6d\xcb\xb6\xf7\xdf\x9e\x1f\x75\x8f\xde\x3c\x5c\xf4\xde\xf6\x06\x1f\xdf\x76\x43\xff\x7d\x2a\x4c\x66\x78\x20\x13\x9b\xf7\x47\xb8\x75\xc7\x22\xff\xda\xdb\x31\x7a\x7f\xe4\xd4\xbb\xcf\xba\xcf\x0a\xcf\x9e\x39\xf5\x6e\xa9\xab\x43\x18\xf7\x98\x64\x8e\x16\xff\x81\x3f\x83\x74\xb7\x0d\xa5\x0b\x29\xd7\xef\xf4\xbb\x7c\xf4\x46\x49\x32\xf9\x2d\xfe\x6d\xbe\xb2\x9a\x31\x4f\x7e\x8a\xd7\x91\x93\xca\x78\x43\xf9\x0a\x06\xf9\x41\x29\x51\x75\xdb\x4a\x56\x60\xc7\xca\x82\xfd\x7a\x78\x15\x60\xf8\xd1\x5b\x83\x28\xc7\x4d\x92\x41\x22\x6f\xb5\x49\xd4\x63\xfb\x14\x17\xc9\xcb\xca\x49\xc0\xa3\xcb\xa2\x9e\xf0\xbc\x48\x83\xf4\x02\x75\x3b\xfa\x57\x8f\x09\xcf\xb0\x3f\xca\xb6\x0e\x7a\x0d\xc9\x47\x84\xf9\x0d\x3f\x4c\x2c\x75\x18\xaf\x55\x4a\xd2\xbb\x14\xfe\xf8\xdf\x00\x00\x00\xff\xff\xee\x04\xf2\x57\x57\x7e\x00\x00") + +func assetsJsStrutilJsBytes() ([]byte, error) { + return bindataRead( + _assetsJsStrutilJs, + "assets/js/strutil.js", + ) +} + +func assetsJsStrutilJs() (*asset, error) { + bytes, err := assetsJsStrutilJsBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/js/strutil.js", size: 32343, mode: os.FileMode(420), modTime: time.Unix(1467921154, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsTemplatesIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5b\x73\xdb\x36\x16\x7e\xcf\xaf\x80\xd1\xdd\x5a\x9a\x94\x92\x9c\xc6\x93\x5d\x57\x62\x9b\x8d\xb3\x93\xcc\xd6\x8e\xa7\x76\x9e\x32\x79\x80\xc8\x23\x11\x0d\x08\x70\x00\x48\xb6\xeb\xea\xbf\xef\x00\xbc\x08\x20\x21\x9b\x72\xd3\x6c\x77\xb7\x7e\x11\x89\xcb\x39\xdf\xb9\xe0\x5c\x60\x4e\x53\xba\x46\x09\x23\x4a\xcd\xb0\x16\x82\xcd\x89\xc4\x88\x2f\x23\xba\x98\xe1\x83\x42\xc2\x9a\xc2\x35\xfa\xfa\x6b\x74\xa0\x80\xc8\x24\xa3\x7c\x89\xe3\x27\x08\x4d\xe7\x2b\xad\x05\xaf\x77\xce\x35\x47\x73\xcd\xa3\x14\x16\x64\xc5\xb4\xa5\x90\x30\x9a\x7c\x9a\x61\x09\x0b\x09\x2a\x1b\x0c\x31\xd2\x54\x33\x98\xe1\x9f\xca\x11\x4b\x07\xa1\x29\xad\x89\x2c\xd9\x6d\x91\xd1\x44\x70\xd4\x3c\x45\xb2\x5e\x3b\x1d\x53\xcb\x77\x5c\x32\x8e\x9f\x98\x17\x55\x90\x06\x42\xb1\x62\x2c\x92\x74\x99\xe9\x9a\xb0\x3b\x9b\x83\x52\x64\x09\x51\x22\x56\x5c\x37\x02\x0e\xb4\xd0\x84\x9d\x95\x73\x0a\xfd\xfa\x2b\x9a\x0c\xd1\xc1\x0c\x4d\x2a\x12\x86\x08\x30\x48\xb4\xd9\x90\x8b\x14\xd8\x0c\x53\x0d\xb9\xba\x00\x79\x41\x96\x50\xca\x99\x11\xbe\x84\x19\x56\x99\xb8\x7e\x5f\xa4\x44\x43\x3a\x70\x17\x0d\x1b\x62\x08\x4d\x45\xa1\xa9\xe0\x68\x4d\xd8\x0a\x66\xf8\x68\x82\xe3\xa3\xc9\x74\x5c\x8e\xee\x5c\xf6\xec\x18\xc7\xcf\x8e\x1f\x5c\x76\x3c\xc1\xf1\xf1\xc3\xd4\x5e\x1c\xe3\xf8\xc5\xc3\xd4\x8e\x26\x16\x5c\x87\xde\x74\x5c\xaa\x64\xab\x21\x2d\x05\x5f\xc6\x77\x77\x48\x69\x22\x75\xa3\xcd\xa7\xe8\x08\x6d\x36\x51\x60\xdc\x1a\xa1\x79\xdf\x6c\xa6\xe3\x8a\x46\x45\x52\x2c\xba\xb4\x7d\x4b\xb5\xf7\x4c\xc7\xc6\xd8\xd6\x29\xf6\xf1\x4d\x63\xb2\x73\xb8\x06\xe9\x78\xa7\x7d\xaf\x16\xd9\xfd\x77\x87\x29\x55\x64\xce\x20\x3d\x3c\xf1\x24\x99\xce\x26\x9b\xad\xa3\xdc\xeb\xc6\x49\x06\x6b\x29\x78\xc4\x60\xa1\x1b\x5f\x6e\x79\xf3\xbe\xc0\xdf\xb1\xd4\x03\x6e\xdf\x7b\x01\x7f\xea\x19\x20\x9e\x79\xba\xdd\x57\xa4\xea\xc8\x05\x64\xda\x9a\x65\x3a\x4e\xe9\x3a\x7e\xf2\xc4\x0d\x36\x79\x6d\xcb\x44\x70\x4d\x28\x07\x19\x2d\xd8\x8a\xa6\xbd\xa2\x8f\x4b\x47\x2d\x19\x55\x3a\xaa\xe8\x21\x29\xae\x2d\x09\x09\x05\x10\xdd\xf0\x41\x94\xa3\x9a\xa5\xa7\x49\xeb\xcc\x95\xf0\x83\x6a\x45\x7d\x64\x5d\x3e\x89\x60\x51\x9e\x46\xdf\x22\xf3\xa0\xf2\xe8\x79\xa3\xa7\xbb\x3b\xb4\x04\x7d\x09\xdc\xd8\xa3\xa6\x80\x36\x9b\x27\xb5\x1e\x0d\x95\x4a\xa8\x6a\x7a\xf4\x4a\x70\x0d\x5c\x8f\xde\x00\x49\x41\xaa\x0f\x87\x57\xe2\xf0\xa3\x1b\x28\xaa\x3d\xb5\x14\x5a\x38\x02\xec\xd8\x8d\x94\xbe\x35\x8e\x90\x08\x26\xe4\x09\xfa\xea\xc5\x8b\x17\x0e\xc5\x1a\xe7\x29\x55\x05\x23\xb7\xe7\x24\x87\x81\x96\xb7\xa7\x90\x88\x14\xce\xa8\x79\x13\x43\x0b\xbb\xc1\x50\x5a\xcd\x7b\x09\x88\x74\xf0\x79\x64\xba\x12\x7d\x04\xd0\x62\x74\x46\x28\x9b\x8b\x1b\xb4\xd9\xfc\x50\x0e\x9c\x8a\x9c\x50\xfe\x10\xf2\xb6\x10\x01\xdb\x1e\xd7\xb6\x3d\x76\xe2\xbf\x93\x44\xd4\x6a\xfe\xb3\x49\x06\x2b\x2e\x81\xa4\xd8\x86\x25\x4f\x83\xbb\x34\x81\x2f\xcb\x9d\xf8\xe3\x87\xc9\xc7\x61\x19\xbd\xec\xc1\x68\xe3\xeb\x62\x7a\x5e\x63\xfa\x76\x8b\xc9\x59\x65\xbc\xbd\xa5\x61\x7f\xff\xdf\xeb\xfd\x47\xcf\x90\x86\x1b\xed\xa5\x48\xd7\x2f\xce\x44\x0e\x5c\x0f\x4c\xfe\xda\xca\x21\xc1\xa4\xb3\xe1\x70\xb4\x90\x22\x3f\x17\xd7\x83\xdd\x0e\x72\xff\x69\xb9\x97\xfb\x82\x32\xb8\xa4\xbf\x6c\xf9\xfe\x44\xae\x47\xa7\x44\x93\x11\x03\xbe\xd4\xd9\x83\x5e\xe9\x3d\x56\x0f\xa1\x98\xd3\x2e\x70\x5a\x51\xa5\x47\x39\x51\x79\x68\x41\xd2\x94\x1a\x57\x36\x0b\x4e\xd0\xdf\x8a\x1b\x1c\xc8\x87\x36\xcc\x5e\x5a\x1e\x4d\xe6\x8a\xd1\x04\x7d\x5f\x66\xc4\xd6\x8c\xc9\x97\x27\x68\x52\xe5\xcc\x41\x78\x49\x80\xe4\xd0\xd6\x2d\xfb\xa4\xd1\x16\xd5\xe0\xf6\x2f\x9a\x51\x7d\x40\xff\x75\x79\xd5\x87\xff\x34\x60\xa3\x2a\xc7\xfa\x83\xbf\x47\xa6\xdd\xab\x34\x9f\x93\xe4\xd3\x95\x78\xcb\xe7\xe2\xc6\x91\xf7\x1f\x24\xf9\x84\xb4\x40\x76\xbc\x57\x91\x4e\xa4\x14\xd7\xbe\x0d\x3c\x6c\x7f\x88\x5e\xc1\x09\x03\xaa\x20\x09\x48\xb3\xae\x4e\x07\xf6\x70\xc7\x97\x75\x38\x40\x0b\x21\x9b\x6a\xc1\x39\x3e\x65\xbc\xf8\x17\xe5\xa9\x73\x5c\x4c\x04\x2b\x27\x20\xbd\x82\x1b\xed\x84\xf7\x47\xd5\x3d\x9f\xa5\xd4\x51\x9e\xa7\xfd\x59\xf0\xfc\x59\xf0\xdc\x6b\xdb\xff\x44\xc1\x73\x3f\xa8\x3c\x8d\xc4\x62\xa1\x40\x6f\x41\x7e\x1b\x2a\x21\x1e\x55\xbc\x3c\xa6\x56\xa8\xba\x91\x3d\x6f\x3f\xbe\x48\x88\x7d\x38\xbc\xf5\xc6\x9b\x02\x03\x0d\xef\x38\x0c\x2a\x79\x87\xdf\xa1\xba\x0f\x9b\x21\xbe\x62\xac\x17\x5c\x2d\xc9\xce\x40\x4c\x76\xc2\xa8\xb4\x73\x2a\xae\x39\x13\x24\xc5\x28\x93\xb0\x98\xe1\xbb\x3b\x94\x09\x65\xe2\x2a\x29\xe8\x78\x7d\x34\xae\x43\xe8\xf8\xee\xae\x06\x37\x7a\x7b\x8a\x36\x9b\x71\x5a\x6f\xed\x03\x52\x91\x35\x38\x18\x49\x2f\x55\x35\x79\x89\x01\x51\xe0\x27\x2f\x3b\xe4\xea\xae\x1f\x8c\x8c\x48\x08\xe8\x2a\xe4\x94\xb5\x13\x06\x9d\xd2\x6f\x0b\x50\x56\x9e\xc5\xdd\x91\xfd\xc8\xb9\xe6\xd2\xa6\x9e\x71\x22\x97\x9e\x8b\xf4\xb6\xdd\x89\xbf\x64\xec\x8d\x47\xb4\x5e\x2c\xdd\x57\x33\x90\xc5\xff\x94\x22\x9f\x8e\x75\xd6\x9e\x49\xbb\x41\xa4\x36\x61\x27\x88\x18\x1a\x36\x82\x98\x12\xb5\x5e\x65\x06\x9b\x90\xf8\x14\xe1\x1f\x30\x7a\xea\x4f\x96\xe1\xb1\x8c\x3a\x3a\xf5\x90\x8e\x7d\xa8\x41\xe4\x55\xe8\x0a\x83\x77\x4b\xe9\x7e\x42\x04\x22\x61\x49\xe2\x51\xe0\xae\x44\x18\x97\x37\x50\x26\x0e\x0f\xde\x6e\x7c\x57\x02\x5b\xfd\x7e\xf8\x38\x1c\xfd\x2c\x28\x1f\x1c\x7e\x83\x0e\x87\xae\xc6\xaf\xc4\x87\xc9\xc7\x9d\x2a\x2f\x67\xb7\x3a\xf7\xa1\xdd\x2b\xe3\x74\x6c\xdd\x6c\x97\xdb\x3d\xe8\x75\x6e\x6e\x1d\x94\xee\xfe\x4d\x79\x7d\x39\x34\x89\x76\x87\xc8\xb8\xab\xd5\x8e\xba\x4a\x62\x95\x0b\x3d\xac\xee\x76\xa2\x5f\x1b\xf6\x16\x88\xcd\x99\x6b\x4b\xc7\xeb\x95\xf7\x56\xce\x74\xec\x1c\xd1\xfb\xaf\x0c\x9e\x6d\x8f\x75\x15\xcc\x68\x3a\xc3\x19\x4d\x21\xaa\x63\xc2\x6e\x15\x3b\x01\x4d\x8b\xe5\x92\x41\x35\x31\x58\x10\xa6\xc0\xa4\xb0\xdb\x02\x66\xb8\x24\x8c\x77\x84\x49\xb4\xed\x9e\xed\xf0\x8d\xab\xf4\x37\x34\x85\x3a\x38\xf5\xec\x7c\x56\x85\xd3\xf6\x74\xda\x3b\x5f\x4e\xd3\xc2\x75\xe4\x0c\x44\xb0\x9d\x82\x6a\xb9\xfa\x2c\x72\x5e\x66\xdb\x20\xdc\x53\x4e\x93\xbe\x76\x48\x8a\x02\x65\x4b\xbb\x3d\x20\x94\x45\x49\xe9\xec\x75\xd4\x5f\xb1\x7a\x96\x93\x35\xe2\x64\x1d\x69\x32\xdf\xa2\x9c\x32\x5a\xab\x28\x23\xea\xcd\xd5\xd9\x8f\xdb\xdc\xe5\x76\xbc\x88\x24\x9a\xae\xe1\x04\xb5\x57\xa1\x0d\x8e\xa7\xa4\x4a\xd4\x5f\x55\xa3\x51\xa6\x73\x86\x51\x4a\x34\x89\x4a\xdd\xce\xb0\x26\x73\x1c\x9b\xad\x26\xd1\x4e\xc7\x8c\xb6\x20\x74\x38\x1d\xf4\x63\x55\x30\x42\x79\x88\xd7\x85\x99\xb0\x15\x63\x80\x63\x80\x90\x12\x2b\x99\x40\x88\xd2\xa5\x9d\xd9\x81\xdb\x39\x45\xa3\xb3\xb7\x67\xaf\x43\x18\x73\x9a\x07\x09\x9b\xf5\x3e\xd9\xe9\x78\xc5\x02\x95\xb1\x26\xf3\x96\x61\x4d\x51\xb1\x90\x24\x07\xa4\x89\x5c\x82\x8e\xe6\x8c\xf0\x4f\x33\x8c\x7f\xb3\x39\x5d\x9e\x05\xe1\x80\xed\xa9\xf2\x2d\xab\x64\x92\x8a\xc4\x54\x66\xb5\xe8\xd5\xaf\x21\xb6\xd9\x60\xd3\x7e\xe6\x0c\x94\x42\x16\xe3\x5c\xc8\x14\xe4\x0c\x4f\x9a\x86\xe7\x9a\xa6\x3a\x3b\x41\x47\x93\xc9\x5f\xad\xbf\xdb\x65\xa1\xfb\xcd\x2d\x8a\xbe\x3e\xe2\xc1\xad\xbc\x83\x2f\xa3\x39\xe5\xa9\x45\x3f\xc3\x0b\x21\x73\x52\x77\xc0\xd6\x4d\x9c\x82\xcd\xef\xa4\x82\x48\x5c\x06\x95\xd7\xc4\x55\x4b\x6c\xdf\x1c\x34\x9b\x3d\xc9\x59\x4f\xd9\xdd\x40\x16\x44\x6a\x37\xb3\x19\x07\x1a\x5d\x10\xa9\x55\x63\x36\x43\x21\x32\xeb\xfc\x64\x49\xf6\xaf\xa5\x0d\xa5\xb1\xa1\x64\xa6\xfe\x42\x79\x0a\x37\x5e\x89\xdd\x2f\x42\x9a\x67\x95\xb7\x73\x6e\xff\xba\x7c\xfb\x57\xb7\x05\x5e\xc6\x24\xed\x76\xd9\x2f\xca\x88\x74\x2a\x9d\xaa\x0e\x88\xae\x6e\x0b\x68\xca\x4a\xfc\x9e\x7f\xe2\xe2\x9a\x5b\x69\xb0\x31\x19\x1a\x18\x55\x98\x9d\x97\xf4\x17\x30\x03\xf3\x5b\x0d\x6a\xf8\xf8\x1b\xe8\x83\x28\x42\x67\x22\x25\x4c\xa1\x28\x8a\xfd\xdb\x20\x33\x8c\x16\x24\xad\x1c\x21\x11\x7c\x41\x65\x1e\x95\x7d\x58\x44\xaa\x7e\xab\xb3\x25\x4a\x29\x61\x62\x19\x28\xee\xcb\xe9\x4e\xb4\xe8\xac\x28\x33\x93\xeb\x6c\x55\x12\x0d\x9a\x35\x61\x42\xd5\x31\x2c\xa5\x2a\xa7\x0d\x21\x8c\x88\xa4\x24\xca\x68\x9a\x02\x9f\x61\x93\x3d\x71\xfc\xb5\xa6\x39\xa8\xef\xfc\xf4\x65\x99\x64\xcf\x7d\x18\xb6\x9f\xc2\xf1\xa9\x95\x17\x11\xc6\x9a\x7b\xb7\xef\xa7\xe3\xec\x79\x40\xcd\x21\x61\x4c\xa5\xe4\x8a\x52\xc4\x2f\x25\xa0\x5b\xb1\x42\x6a\x55\x3d\x5c\x13\xae\x4d\xcf\x9d\x06\x39\x15\x3d\x19\x2d\x84\xd0\xfd\xb5\xd6\xe9\x1e\x43\xfa\x8b\x5f\x11\x9e\x00\x0b\xe8\xaa\x17\x69\xc2\x97\xcd\xf5\xb4\xd3\xc2\xbf\x64\xec\x55\xe9\x4b\x83\x61\x50\xbd\x6d\x7e\x7b\xfe\x2b\xa5\xed\xb8\x55\xf7\x1b\x09\x0e\xff\x1f\x1e\x5b\xdd\x00\xd4\xfa\xfc\x4d\xce\x7a\x25\x50\xa5\x3f\xa4\x33\xaa\x6a\x9a\xdf\xa0\xea\xeb\x13\xc2\xd1\xe5\xd9\xd5\x05\x52\x20\xd7\x20\x91\x90\x08\xb8\x06\x89\x92\x95\xd2\x22\x47\x0a\xb4\xa6\x7c\xa9\x4e\x1c\x3f\x46\x68\x6a\xf2\x1c\x92\xc2\xe4\x5b\xf3\xe8\x27\x04\x07\x95\x99\x8c\x96\x52\x98\x2a\xdb\x0f\xd3\x9d\x8f\x5f\xca\x01\x48\xdf\xad\xf4\x52\x50\xbe\x34\xa8\x7c\xfb\xd7\x1f\xda\x88\x6a\x05\xf6\xb8\x18\x23\x4b\xc1\x70\xa7\x81\xf2\xbf\x3d\xb9\xbb\x43\x6a\x74\x6e\xaa\x1b\x53\x4c\x38\x09\x50\x99\xec\x27\x5c\xe6\xb1\xbb\xb6\xfb\x51\x4b\x90\x3c\x8e\xdf\x2b\x68\x2b\x2f\xbc\xb7\xfd\xb5\x4b\xc7\xbc\xa8\x75\x39\x1c\xd2\x10\x9a\xcd\xd0\xe1\x61\x5b\xb9\x7d\x2c\xd0\xea\xef\x32\x48\x3e\x6d\x6f\x0c\xbd\x65\x8c\xcc\x81\xa1\x85\x90\x5d\x53\x94\xf9\xb4\xb3\xc5\xa4\x61\x5e\xac\x3c\xf3\x92\x35\x18\xc0\x97\xd6\xcf\xea\x0c\xdf\xb0\x0d\x1a\x7a\x27\xf5\x4b\xb2\x36\xee\x0c\x0a\x1a\x1d\x77\x61\x8f\x2d\xee\x8e\xd0\xa1\x66\xb9\x3b\x14\xd6\x60\x63\x09\x5f\x98\x0e\x8f\xfb\x34\x66\xb7\x44\x9c\x98\x6a\xac\xdc\x8f\xcc\xcb\x2e\xb8\xa5\x1e\x4b\x6d\x99\x8e\x03\x23\xb2\xd2\x62\x21\x92\x95\x0a\xba\x7f\x58\x91\x2e\xd3\xfb\x65\x0f\x7b\xe0\x83\xc7\xf9\x1e\x89\xc1\x34\x8f\x38\x7e\x6d\x7e\x10\x49\x53\x09\x4a\x05\xa5\xf5\x64\x2d\x77\x3d\x46\xd8\x6a\x67\xc1\x48\x02\x99\x60\xb6\x3d\x50\x22\x07\xc1\xe1\x07\xb8\x21\x79\xc1\x60\x94\x88\x56\xcc\xfa\xa2\xe7\xee\x3e\xf7\xc8\x75\x11\x99\x32\x1a\xc7\x4e\x58\xee\xef\x1c\xfd\x5d\xa2\x61\xe4\x6b\xca\x28\x6f\xb4\x4b\x4d\xfb\x9c\x95\xbd\xa5\x2e\x84\xac\xa5\x36\x8f\x7d\x64\xe6\xab\x7c\x6e\x82\xc9\x7e\x52\x5b\x46\xee\x07\x90\x5f\x4a\xc2\x95\x02\x59\x9e\xc1\x97\x2b\x9d\x01\xd7\x34\x21\x26\x2f\xec\x12\xb5\x9b\x23\x73\x5d\xe4\x90\x64\xf7\x08\x67\xa6\x09\xa7\x2a\xef\x97\x1d\xb7\x09\xac\xf6\xf2\x5a\x31\xe7\xef\xce\x5f\xe3\xf8\x5c\x70\xd8\x95\xfa\x3a\xc9\xef\xe2\xc7\x97\x6f\xcf\x71\x6c\x7f\x7a\x6f\x7a\xf5\xd3\xcb\xb3\xb3\xd3\x63\x1c\x9b\x87\xe8\xec\x34\xf0\xf9\x68\x6d\x98\x6e\xbe\x7c\x54\xf0\xae\x94\x88\x0e\x66\xe8\xd0\x48\xd9\x3e\xc6\x7b\x59\xf2\x7d\xf5\xf4\x7b\x1d\xd1\x86\xd3\xb6\xc2\xf8\x03\xc8\x5f\x10\xa5\xae\x85\x2c\xff\x6f\xdb\x10\x34\x31\xb1\x32\xe7\x21\xfa\x1e\xe1\x4b\x48\x24\x68\x8c\x4e\x10\xbe\xa8\x37\xd8\x52\xea\x61\x55\x35\x0c\xf6\x3d\xdb\xcd\xbe\x9e\xea\x6a\x7f\x68\x36\x36\x8c\xfe\x77\x3a\xb6\xaa\xe9\xaf\x3a\x8a\xfa\xd3\x8c\x61\xa0\xc7\xd8\xb7\x65\xb3\x57\x0f\xaf\x79\x8a\xc4\x02\xe5\xdb\x1b\x88\x7f\x07\x00\x00\xff\xff\xcf\x3c\x31\x97\xf5\x2f\x00\x00") + +func assetsTemplatesIndexHtmlBytes() ([]byte, error) { + return bindataRead( + _assetsTemplatesIndexHtml, + "assets/templates/index.html", + ) +} + +func assetsTemplatesIndexHtml() (*asset, error) { + bytes, err := assetsTemplatesIndexHtmlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/templates/index.html", size: 12277, mode: os.FileMode(420), modTime: time.Unix(1467929039, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _assetsTemplatesLayoutHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x59\x6d\x73\xdb\xb8\x11\xfe\x9e\x5f\xb1\x61\xdb\xb3\xdd\x1a\xa4\x64\xe7\x3a\xa9\x43\xaa\xe3\x71\x72\x4d\x32\xcd\x5c\xe6\x9c\x4e\xdb\xb9\xc9\x74\x40\x72\x49\xc2\x02\x01\x1e\xb0\x54\xec\x7a\xf4\xdf\x3b\xe0\x8b\x44\x89\x72\x2c\xfb\x2e\xae\xbf\x08\x2f\xbb\x8b\x67\x77\x1f\x2c\x40\x38\x7c\xfe\xfa\xc7\x8b\x4f\xff\xfe\xf8\x06\x0a\x2a\xe5\xec\x59\xe8\x7e\x40\xe5\x8c\x57\x55\xe4\x95\x5c\xc8\x42\xe7\xe7\x55\xe5\xcd\x9e\x01\x84\x05\xf2\xd4\x35\x00\x42\x12\x24\x71\xf6\x81\x0b\xf9\x56\xe7\x61\xd0\x76\xdb\xa9\x12\x89\x43\x52\x70\x63\x91\x22\xaf\xa6\x8c\xbd\xf4\x86\x53\x05\x51\xc5\xf0\x97\x5a\x2c\x22\xef\x5f\xec\x1f\xe7\xec\x42\x97\x15\x27\x11\x4b\xf4\x20\xd1\x8a\x50\x51\xe4\xbd\x7b\x13\x61\x9a\xe3\x86\xa6\xe2\x25\x46\xde\x42\xe0\x97\x4a\x1b\x1a\x08\x7f\x11\x29\x15\x51\x8a\x0b\x91\x20\x6b\x3a\xc7\x20\x94\x20\xc1\x25\xb3\x09\x97\x18\x4d\x77\x18\x32\x98\xa1\x31\x68\x06\x86\x94\x66\xab\xd1\xd9\xb3\x56\x43\x0a\x35\x07\x83\x32\xf2\x44\xa2\x95\x07\x74\x53\x61\xe4\x89\x92\xe7\x18\x54\x2a\xf7\xa0\x30\x98\x75\x03\x36\x28\x74\xee\xbb\xd1\xb1\xb6\xa5\x1b\x89\xb6\x40\xa4\x5e\x25\xb1\x36\xb8\xfa\xa5\x46\x73\xc3\x6a\xc1\xa6\xfe\x74\xe2\xbf\x60\xb6\xd4\x9a\x0a\x85\xd6\xfa\x89\xb5\x3d\xec\xfb\xcc\xc4\x5a\x93\x25\xc3\x2b\x76\xea\x9f\xfa\x27\x7e\x29\xd4\x43\xd4\x9b\xd1\x95\x42\x18\xf4\x99\x0e\x63\x9d\xde\x38\x3e\xb8\x08\x19\x2d\x25\x9a\xc8\x73\x59\xbf\x20\x23\xbd\x66\x42\x8a\x64\x1e\x79\x73\xc4\x4a\x57\xa8\xa2\x8c\x4b\xbb\xca\x9a\xe2\x0b\x48\x24\xb7\x36\xf2\x14\x5f\xc4\xdc\x40\xfb\xc3\x52\xcc\x78\x2d\xa9\xef\x5a\xe2\x24\x12\x46\xba\xf2\xc0\x68\x89\x8d\xb8\xc8\x39\x09\xad\x3a\x5b\x00\x61\x2a\x56\xd6\x1c\x1c\x2e\x14\x1a\x96\xc9\x5a\xa4\x2b\x99\x6d\x29\xc9\xca\x94\x9d\x80\x6b\xd8\x92\x9d\x0e\xe4\x36\x25\x3b\x1c\xce\xed\x26\xf3\x30\xf8\x0b\xf9\x96\x54\x6c\xb8\x4a\xfb\xe8\xfd\x6e\x4b\x1a\x20\x14\x65\x0e\xd6\x24\x23\x4a\x40\x81\x22\x2f\x28\xf2\x4e\x26\x1e\x70\x49\x6d\x24\xdf\xea\xdc\x9b\x41\xd7\xda\x5c\x38\xe0\x1b\x78\x83\x54\x2c\x06\x8e\xb6\xdd\xaf\x39\x3e\x9d\xf4\x9e\xff\x65\xd3\xf3\x4c\x9b\x72\xcb\xa9\x66\xa8\x6b\x4b\xcc\xa8\x4f\x84\x45\x6e\x92\x62\x3b\x24\x83\xb5\x9c\x22\xcb\x8d\xae\x2b\x70\x7a\x4c\x28\x97\x16\x9e\xa6\x83\xd4\xad\x43\xd3\x6b\xe5\xf2\xa6\x2a\xdc\x7e\x82\x55\x8b\xf5\x4b\x85\x81\x18\xf8\xd5\x6b\xaa\xaa\x26\x47\xb8\x52\xa7\x0d\x8f\x1b\xe1\x4f\x78\x4d\xfd\x8e\xa4\xa6\xad\x72\x36\xc7\x1b\x86\x8a\x1c\x55\x5b\xa9\xc3\x83\x8e\x2f\x42\xe5\x07\xc7\xb0\x56\x3d\xf2\x36\xbc\xe8\x48\xee\x01\xaf\x49\x27\xba\xac\x24\x12\x46\x9e\xce\x32\x0f\x2a\xc9\x13\x2c\xb4\x4c\x9d\xd9\xcb\x16\x29\x88\x74\x15\x20\xb7\x70\xa6\x93\xda\x0e\xf6\x02\x99\x1a\x87\x9b\xe4\xf7\xb8\x40\x45\xbe\x25\x5d\x7d\x34\xba\xe2\x2d\xc1\x0f\x8f\xbc\xb1\xbb\x83\x00\x4b\x61\xa9\x0d\x70\x63\x4b\x64\x43\xe7\x7d\x89\x2a\xa7\x02\x66\x30\x81\xef\xbe\x83\x7e\xe9\x51\xe4\x1b\x1a\xf7\x8c\x1d\x40\xda\x3b\x40\x6b\x14\x4c\x10\x96\x3b\x16\x00\xf8\x41\xa8\x14\x4a\xb4\xd6\xd1\x1e\x42\x4b\x46\xab\x7c\xb6\x36\x1d\x06\xdd\x10\xdc\xde\x0e\x16\x81\xe5\x72\x8c\x76\x93\xfb\xfb\xb8\x40\xfa\x37\x87\x4e\xfa\xdb\x42\xce\x8c\x2e\x37\x41\xbf\xfa\x0d\x50\x3b\xab\xbf\x0e\xf7\x56\xa9\xd9\x39\x14\x06\x6e\xcf\x6c\x30\x37\xac\xe5\xa0\xaa\xf4\xd5\x64\xd0\x34\xae\xfe\x6d\xd7\x12\x29\x46\xcb\x73\x20\x6e\x72\x77\x7d\xf8\x4f\x2c\xb9\x9a\xf7\xc5\xd6\x5d\x1d\xec\x59\x10\xe4\x82\x8a\x3a\xf6\x13\x5d\x06\xdd\x1d\x25\x58\x95\xd2\xb1\x7f\xdb\xf5\xb8\xd3\xde\x28\xc9\xd3\x3f\x77\x25\xf9\x6f\x82\xde\xd6\xb1\x37\x83\xb6\x31\x0a\x0c\xdf\x0e\xcb\x26\xfc\x30\xa8\xe5\xa8\x46\x8f\x3a\x61\xa0\x78\x5f\xbb\xf7\x39\xd6\x86\x32\x46\x7f\x79\xdc\x71\x37\x4a\x0e\xab\x84\x94\xb6\x69\x59\xe2\xc9\x1c\xd3\xbd\x52\xb3\xe2\x73\x73\xe9\x8b\xbc\x37\xae\xa8\x81\x25\x83\xbc\x74\x37\x29\x85\x09\x61\x3a\xa4\x3b\xe9\x3c\x97\x78\xd9\x48\x34\xd5\x6e\x94\x22\x5b\x71\xf5\xb5\xa3\x41\x67\x99\x23\x72\xc1\x6d\xb3\xda\xa5\xae\x4d\x82\xf0\x57\x38\x28\xb8\x65\x4d\x55\x65\xb6\x19\x3b\x80\x33\x38\x50\x7a\x6b\x6c\xb9\x74\xa7\x8a\x5b\x64\xbc\xf6\x4e\xb3\x17\xbd\x1b\x8d\xbd\xd7\xc2\x26\xeb\x81\xd1\x16\xba\x83\x14\x0f\x09\xe5\x3a\x56\x31\x4f\xe6\x9f\xf4\x3b\x15\xeb\xeb\x1f\x84\xb1\xb4\x33\x5e\xcd\x34\x1c\xde\xde\x92\x26\x2e\x3f\x74\x05\x60\xb9\x3c\xfa\x96\xc8\x52\x74\xc7\xe1\xb9\x94\x8f\x4b\xa1\xc1\x52\x2f\x90\x25\xc2\x24\x12\xef\x4e\xc7\xeb\x66\x15\xe0\x52\xae\x0a\xdb\xe3\xf6\xe0\x1d\x37\xbd\x2f\x28\x25\x5c\x89\x92\xb9\xc6\x36\xdf\x8b\xd3\xd9\x7b\x51\x86\x41\x71\xba\x35\x51\x6d\x03\x7d\x2f\x4a\x10\x16\x9a\x0f\x1d\x6d\xa1\xd4\x6a\x8e\x37\x7e\x18\x9b\x3b\x63\x79\x7f\xed\x0a\x62\xa9\xe3\xa0\xe4\x96\xd0\x04\xa9\x4e\x6c\xf0\xfe\xdd\x07\xbf\x4c\xbd\xed\x6a\x38\x6b\xea\xbe\xae\x09\x4a\x6d\x10\x38\x75\xc5\xca\x45\xc6\xdf\x0a\x4d\xb5\xe3\xe6\xd6\xdd\x22\xae\xc4\xf8\x54\xb9\x23\xf5\xc2\xf2\x58\xe2\x7b\xe1\xb6\x6f\x1f\xc9\x98\x14\xc4\xa4\xd8\xb5\x6d\x7e\x52\xae\x72\x77\x77\x7e\xdd\xca\x42\x13\xc8\x51\xa6\xc6\xe7\xca\x16\xa0\xde\xba\x4b\x51\xa2\x55\x26\xc6\x25\x7d\x98\xce\xb5\xd8\x5d\xa7\x64\x7f\x2a\x9e\x27\x09\x56\xe4\xf2\xa5\x12\x5c\x1d\x8f\xbb\x79\x3c\xbb\xbd\x75\x1c\xf1\x5b\x9d\x8b\x46\x05\xfe\x08\xd3\xc9\x04\x96\xcb\x3f\xec\xa6\xee\x0e\xdf\x1e\x0b\x75\x5d\x6f\x1e\x06\x77\xad\xf7\xe4\x90\xff\xee\x3e\x30\x6d\x85\x98\x02\xcf\xb2\x07\x23\x77\xea\x97\x4e\xfb\xbc\x55\x6e\x80\x3f\x31\xee\x52\x28\x51\xd6\xe5\x43\x11\x7f\x10\x0a\x96\xcb\x79\x5c\xd9\x27\x05\xcb\xaf\x1f\x05\x96\x5f\x3f\x15\xd8\x9f\xf0\xca\x65\xd2\xa2\x4a\xd1\x3c\x8c\x0d\xad\xea\x65\xa3\xf9\xe4\x4c\xee\x70\x1b\x4c\x44\x25\xdc\xcd\xe6\x11\xd0\x7f\xea\x95\xff\x5f\xe8\x79\x4d\xc5\x63\x80\x9f\xd7\x54\x3c\x1a\xf3\x3d\xd5\xfd\xf9\xfe\xe7\x0d\xaa\xfb\x8f\x9b\xf6\x05\xc9\x9b\xbd\x51\xfb\x1f\x37\xbf\xea\x09\xa5\x7f\x25\xdc\xf0\xe1\xe7\x33\xf0\x2f\xda\x71\x38\xfb\xbc\xc7\xc5\x7f\xbd\x62\x68\x13\x23\x2a\x6a\x3f\x4d\xae\x56\x2f\x81\x53\x7f\x3a\xf5\x27\xcd\x03\xde\x95\x6d\xee\x49\x8d\xd8\xec\x6b\x3a\xab\xd7\xc3\x3d\xd5\x76\xbd\x16\xde\xaf\xc5\x55\x5e\x4b\x6e\xd8\xd4\x3f\xf5\x5f\xee\x21\x5f\xea\xd2\x5d\xc2\x4f\xfc\x97\xfe\x8b\x3d\xc4\x33\x21\xd1\x8a\xff\x22\x3b\xf5\xa7\x7b\x63\xb2\x64\x6a\x12\x72\x0f\xc9\xf5\x0b\xa6\xbd\x5b\xba\x4f\x59\x56\xab\x84\x84\x56\x80\x2a\xb5\xff\x14\x54\x1c\x5a\x32\xc7\x60\xeb\x2c\x13\xd7\x47\x70\xbb\x4a\xb4\x41\xaa\x8d\x72\x5f\x3f\xbe\x50\x29\x5e\xff\x98\x1d\xb6\x42\xc7\xcd\x58\xf7\x3a\xc3\x3a\xcd\xae\x7f\x04\xcf\xa3\x08\xd8\xf4\x55\x67\x66\xd9\x53\x70\xc1\x0d\xf0\x4a\xbc\xd5\x96\x20\x02\xcf\x91\xeb\xfc\xe3\xbb\xa6\x7b\xf6\xd9\xeb\xc5\x45\x76\xd8\x09\x6d\xbd\xfe\x3c\x5f\xa1\xed\xe6\x8f\xc1\x0b\xbc\xa3\x21\xde\xde\xfa\x9f\x22\x37\xb5\x13\x40\xa2\x65\x5d\x2a\x0b\x11\xfc\x3c\xfd\xfe\x78\xfa\xfd\xf1\x8b\xc9\xf1\xc9\xe4\x78\x3a\xf9\xfc\xaa\xe3\xf0\x3a\x56\x61\x10\xeb\xf4\x66\xf6\x2c\x0c\xda\xff\x1f\xfc\x2f\x00\x00\xff\xff\xdd\x0b\xb1\xae\x50\x18\x00\x00") + +func assetsTemplatesLayoutHtmlBytes() ([]byte, error) { + return bindataRead( + _assetsTemplatesLayoutHtml, + "assets/templates/layout.html", + ) +} + +func assetsTemplatesLayoutHtml() (*asset, error) { + bytes, err := assetsTemplatesLayoutHtmlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "assets/templates/layout.html", size: 6224, mode: os.FileMode(420), modTime: time.Unix(1467928150, 0)} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +// Asset loads and returns the asset for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func Asset(name string) ([]byte, error) { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) + } + return a.bytes, nil + } + return nil, fmt.Errorf("Asset %s not found", name) +} + +// MustAsset is like Asset but panics when Asset would return an error. +// It simplifies safe initialization of global variables. +func MustAsset(name string) []byte { + a, err := Asset(name) + if err != nil { + panic("asset: Asset(" + name + "): " + err.Error()) + } + + return a +} + +// AssetInfo loads and returns the asset info for the given name. +// It returns an error if the asset could not be found or +// could not be loaded. +func AssetInfo(name string) (os.FileInfo, error) { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { + a, err := f() + if err != nil { + return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) + } + return a.info, nil + } + return nil, fmt.Errorf("AssetInfo %s not found", name) +} + +// AssetNames returns the names of the assets. +func AssetNames() []string { + names := make([]string, 0, len(_bindata)) + for name := range _bindata { + names = append(names, name) + } + return names +} + +// _bindata is a table, holding each asset generator, mapped to its name. +var _bindata = map[string]func() (*asset, error){ + "assets/css/bootstrap-3.3.2.min.css": assetsCssBootstrap332MinCss, + "assets/css/jquery-ui-1.10.4-smoothness.css": assetsCssJqueryUi1104SmoothnessCss, + "assets/css/style.css": assetsCssStyleCss, + "assets/fonts/glyphicons-halflings-regular.eot": assetsFontsGlyphiconsHalflingsRegularEot, + "assets/fonts/glyphicons-halflings-regular.svg": assetsFontsGlyphiconsHalflingsRegularSvg, + "assets/fonts/glyphicons-halflings-regular.ttf": assetsFontsGlyphiconsHalflingsRegularTtf, + "assets/fonts/glyphicons-halflings-regular.woff": assetsFontsGlyphiconsHalflingsRegularWoff, + "assets/fonts/glyphicons-halflings-regular.woff2": assetsFontsGlyphiconsHalflingsRegularWoff2, + "assets/images/github.png": assetsImagesGithubPng, + "assets/images/hog.png": assetsImagesHogPng, + "assets/js/angular-1.3.8.js": assetsJsAngular138Js, + "assets/js/bootstrap-3.3.2.min.js": assetsJsBootstrap332MinJs, + "assets/js/controllers.js": assetsJsControllersJs, + "assets/js/filesize-3.1.2.min.js": assetsJsFilesize312MinJs, + "assets/js/iso88591_map.js": assetsJsIso88591_mapJs, + "assets/js/jquery-1.11.0.min.js": assetsJsJquery1110MinJs, + "assets/js/jquery-ui-1.10.4.min.js": assetsJsJqueryUi1104MinJs, + "assets/js/moment-2.8.4.js": assetsJsMoment284Js, + "assets/js/punycode.js": assetsJsPunycodeJs, + "assets/js/sjis_map.js": assetsJsSjis_mapJs, + "assets/js/strutil.js": assetsJsStrutilJs, + "assets/templates/index.html": assetsTemplatesIndexHtml, + "assets/templates/layout.html": assetsTemplatesLayoutHtml, +} + +// AssetDir returns the file names below a certain +// directory embedded in the file by go-bindata. +// For example if you run go-bindata on data/... and data contains the +// following hierarchy: +// data/ +// foo.txt +// img/ +// a.png +// b.png +// then AssetDir("data") would return []string{"foo.txt", "img"} +// AssetDir("data/img") would return []string{"a.png", "b.png"} +// AssetDir("foo.txt") and AssetDir("notexist") would return an error +// AssetDir("") will return []string{"data"}. +func AssetDir(name string) ([]string, error) { + node := _bintree + if len(name) != 0 { + cannonicalName := strings.Replace(name, "\\", "/", -1) + pathList := strings.Split(cannonicalName, "/") + for _, p := range pathList { + node = node.Children[p] + if node == nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + } + } + if node.Func != nil { + return nil, fmt.Errorf("Asset %s not found", name) + } + rv := make([]string, 0, len(node.Children)) + for childName := range node.Children { + rv = append(rv, childName) + } + return rv, nil +} + +type bintree struct { + Func func() (*asset, error) + Children map[string]*bintree +} + +var _bintree = &bintree{nil, map[string]*bintree{ + "assets": &bintree{nil, map[string]*bintree{ + "css": &bintree{nil, map[string]*bintree{ + "bootstrap-3.3.2.min.css": &bintree{assetsCssBootstrap332MinCss, map[string]*bintree{}}, + "jquery-ui-1.10.4-smoothness.css": &bintree{assetsCssJqueryUi1104SmoothnessCss, map[string]*bintree{}}, + "style.css": &bintree{assetsCssStyleCss, map[string]*bintree{}}, + }}, + "fonts": &bintree{nil, map[string]*bintree{ + "glyphicons-halflings-regular.eot": &bintree{assetsFontsGlyphiconsHalflingsRegularEot, map[string]*bintree{}}, + "glyphicons-halflings-regular.svg": &bintree{assetsFontsGlyphiconsHalflingsRegularSvg, map[string]*bintree{}}, + "glyphicons-halflings-regular.ttf": &bintree{assetsFontsGlyphiconsHalflingsRegularTtf, map[string]*bintree{}}, + "glyphicons-halflings-regular.woff": &bintree{assetsFontsGlyphiconsHalflingsRegularWoff, map[string]*bintree{}}, + "glyphicons-halflings-regular.woff2": &bintree{assetsFontsGlyphiconsHalflingsRegularWoff2, map[string]*bintree{}}, + }}, + "images": &bintree{nil, map[string]*bintree{ + "github.png": &bintree{assetsImagesGithubPng, map[string]*bintree{}}, + "hog.png": &bintree{assetsImagesHogPng, map[string]*bintree{}}, + }}, + "js": &bintree{nil, map[string]*bintree{ + "angular-1.3.8.js": &bintree{assetsJsAngular138Js, map[string]*bintree{}}, + "bootstrap-3.3.2.min.js": &bintree{assetsJsBootstrap332MinJs, map[string]*bintree{}}, + "controllers.js": &bintree{assetsJsControllersJs, map[string]*bintree{}}, + "filesize-3.1.2.min.js": &bintree{assetsJsFilesize312MinJs, map[string]*bintree{}}, + "iso88591_map.js": &bintree{assetsJsIso88591_mapJs, map[string]*bintree{}}, + "jquery-1.11.0.min.js": &bintree{assetsJsJquery1110MinJs, map[string]*bintree{}}, + "jquery-ui-1.10.4.min.js": &bintree{assetsJsJqueryUi1104MinJs, map[string]*bintree{}}, + "moment-2.8.4.js": &bintree{assetsJsMoment284Js, map[string]*bintree{}}, + "punycode.js": &bintree{assetsJsPunycodeJs, map[string]*bintree{}}, + "sjis_map.js": &bintree{assetsJsSjis_mapJs, map[string]*bintree{}}, + "strutil.js": &bintree{assetsJsStrutilJs, map[string]*bintree{}}, + }}, + "templates": &bintree{nil, map[string]*bintree{ + "index.html": &bintree{assetsTemplatesIndexHtml, map[string]*bintree{}}, + "layout.html": &bintree{assetsTemplatesLayoutHtml, map[string]*bintree{}}, + }}, + }}, +}} + +// RestoreAsset restores an asset under the given directory +func RestoreAsset(dir, name string) error { + data, err := Asset(name) + if err != nil { + return err + } + info, err := AssetInfo(name) + if err != nil { + return err + } + err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) + if err != nil { + return err + } + err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) + if err != nil { + return err + } + err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + if err != nil { + return err + } + return nil +} + +// RestoreAssets restores an asset under the given directory recursively +func RestoreAssets(dir, name string) error { + children, err := AssetDir(name) + // File + if err != nil { + return RestoreAsset(dir, name) + } + // Dir + for _, child := range children { + err = RestoreAssets(dir, filepath.Join(name, child)) + if err != nil { + return err + } + } + return nil +} + +func _filePath(dir, name string) string { + cannonicalName := strings.Replace(name, "\\", "/", -1) + return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) +} diff --git a/vendor/github.com/mailhog/MailHog-UI/config/config.go b/vendor/github.com/mailhog/MailHog-UI/config/config.go new file mode 100644 index 0000000..9e0b2fe --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/config/config.go @@ -0,0 +1,32 @@ +package config + +import ( + "flag" + + "github.com/ian-kent/envconf" +) + +func DefaultConfig() *Config { + return &Config{ + APIHost: "", + UIBindAddr: "0.0.0.0:8025", + WebPath: "", + } +} + +type Config struct { + APIHost string + UIBindAddr string + WebPath string +} + +var cfg = DefaultConfig() + +func Configure() *Config { + return cfg +} + +func RegisterFlags() { + flag.StringVar(&cfg.APIHost, "api-host", envconf.FromEnvP("MH_API_HOST", "").(string), "API URL for MailHog UI to connect to, e.g. http://some.host:1234") + flag.StringVar(&cfg.UIBindAddr, "ui-bind-addr", envconf.FromEnvP("MH_UI_BIND_ADDR", "0.0.0.0:8025").(string), "HTTP bind interface and port for UI, e.g. 0.0.0.0:8025 or just :8025") +} diff --git a/vendor/github.com/mailhog/MailHog-UI/main.go b/vendor/github.com/mailhog/MailHog-UI/main.go new file mode 100644 index 0000000..68cc01c --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/main.go @@ -0,0 +1,54 @@ +package main + +import ( + "flag" + "os" + + gohttp "net/http" + + "github.com/gorilla/pat" + "github.com/ian-kent/go-log/log" + "github.com/mailhog/MailHog-UI/assets" + "github.com/mailhog/MailHog-UI/config" + "github.com/mailhog/MailHog-UI/web" + comcfg "github.com/mailhog/MailHog/config" + "github.com/mailhog/http" +) + +var conf *config.Config +var comconf *comcfg.Config +var exitCh chan int + +func configure() { + comcfg.RegisterFlags() + config.RegisterFlags() + flag.Parse() + conf = config.Configure() + comconf = comcfg.Configure() + // FIXME hacky + web.APIHost = conf.APIHost +} + +func main() { + configure() + + // FIXME need to make API URL configurable + + if comconf.AuthFile != "" { + http.AuthFile(comconf.AuthFile) + } + + exitCh = make(chan int) + cb := func(r gohttp.Handler) { + web.CreateWeb(conf, r.(*pat.Router), assets.Asset) + } + go http.Listen(conf.UIBindAddr, assets.Asset, exitCh, cb) + + for { + select { + case <-exitCh: + log.Printf("Received exit signal") + os.Exit(0) + } + } +} diff --git a/vendor/github.com/mailhog/MailHog-UI/web/web.go b/vendor/github.com/mailhog/MailHog-UI/web/web.go new file mode 100644 index 0000000..901109a --- /dev/null +++ b/vendor/github.com/mailhog/MailHog-UI/web/web.go @@ -0,0 +1,119 @@ +package web + +import ( + "bytes" + "html/template" + "log" + "mime" + "net/http" + "path/filepath" + "strings" + + "github.com/gorilla/pat" + "github.com/mailhog/MailHog-UI/config" +) + +var APIHost string +var WebPath string + +type Web struct { + config *config.Config + asset func(string) ([]byte, error) +} + +func CreateWeb(cfg *config.Config, r http.Handler, asset func(string) ([]byte, error)) *Web { + web := &Web{ + config: cfg, + asset: asset, + } + + pat := r.(*pat.Router) + + WebPath = cfg.WebPath + + log.Printf("Serving under http://%s%s/", cfg.UIBindAddr, WebPath) + + pat.Path(WebPath + "/images/{file:.*}").Methods("GET").HandlerFunc(web.Static("assets/images/{{file}}")) + pat.Path(WebPath + "/css/{file:.*}").Methods("GET").HandlerFunc(web.Static("assets/css/{{file}}")) + pat.Path(WebPath + "/js/{file:.*}").Methods("GET").HandlerFunc(web.Static("assets/js/{{file}}")) + pat.Path(WebPath + "/fonts/{file:.*}").Methods("GET").HandlerFunc(web.Static("assets/fonts/{{file}}")) + pat.StrictSlash(true).Path(WebPath + "/").Methods("GET").HandlerFunc(web.Index()) + + return web +} + +func (web Web) Static(pattern string) func(http.ResponseWriter, *http.Request) { + return func(w http.ResponseWriter, req *http.Request) { + fp := strings.TrimSuffix(pattern, "{{file}}") + req.URL.Query().Get(":file") + if b, err := web.asset(fp); err == nil { + ext := filepath.Ext(fp) + + w.Header().Set("Content-Type", mime.TypeByExtension(ext)) + w.WriteHeader(200) + w.Write(b) + return + } + log.Printf("[UI] File not found: %s", fp) + w.WriteHeader(404) + } +} + +func (web Web) Index() func(http.ResponseWriter, *http.Request) { + tmpl := template.New("index.html") + tmpl.Delims("[:", ":]") + + asset, err := web.asset("assets/templates/index.html") + if err != nil { + log.Fatalf("[UI] Error loading index.html: %s", err) + } + + tmpl, err = tmpl.Parse(string(asset)) + if err != nil { + log.Fatalf("[UI] Error parsing index.html: %s", err) + } + + layout := template.New("layout.html") + layout.Delims("[:", ":]") + + asset, err = web.asset("assets/templates/layout.html") + if err != nil { + log.Fatalf("[UI] Error loading layout.html: %s", err) + } + + layout, err = layout.Parse(string(asset)) + if err != nil { + log.Fatalf("[UI] Error parsing layout.html: %s", err) + } + + return func(w http.ResponseWriter, req *http.Request) { + data := map[string]interface{}{ + "config": web.config, + "Page": "Browse", + "APIHost": APIHost, + } + + b := new(bytes.Buffer) + err := tmpl.Execute(b, data) + + if err != nil { + log.Printf("[UI] Error executing template: %s", err) + w.WriteHeader(500) + return + } + + data["Content"] = template.HTML(b.String()) + + b = new(bytes.Buffer) + err = layout.Execute(b, data) + + if err != nil { + log.Printf("[UI] Error executing template: %s", err) + w.WriteHeader(500) + return + } + + w.Header().Set("Content-Type", "text/html; charset=utf-8") + w.WriteHeader(200) + w.Write(b.Bytes()) + } +} diff --git a/vendor/github.com/mailhog/data/LICENSE.md b/vendor/github.com/mailhog/data/LICENSE.md new file mode 100644 index 0000000..1f0d994 --- /dev/null +++ b/vendor/github.com/mailhog/data/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/data/README.md b/vendor/github.com/mailhog/data/README.md new file mode 100644 index 0000000..3bf0037 --- /dev/null +++ b/vendor/github.com/mailhog/data/README.md @@ -0,0 +1,10 @@ +MailHog data library [![GoDoc](https://godoc.org/github.com/mailhog/data?status.svg)](https://godoc.org/github.com/mailhog/data) [![Build Status](https://travis-ci.org/mailhog/data.svg?branch=master)](https://travis-ci.org/mailhog/data) +========= + +`github.com/mailhog/data` implements a data library + +### Licence + +Copyright ©‎ 2014-2015, Ian Kent (http://iankent.uk) + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/mailhog/data/message.go b/vendor/github.com/mailhog/data/message.go new file mode 100644 index 0000000..58e464b --- /dev/null +++ b/vendor/github.com/mailhog/data/message.go @@ -0,0 +1,330 @@ +package data + +import ( + "bytes" + "crypto/rand" + "encoding/base64" + "io" + "log" + "mime" + "strings" + "time" +) + +// LogHandler is called for each log message. If nil, log messages will +// be output using log.Printf instead. +var LogHandler func(message string, args ...interface{}) + +func logf(message string, args ...interface{}) { + if LogHandler != nil { + LogHandler(message, args...) + } else { + log.Printf(message, args...) + } +} + +// MessageID represents the ID of an SMTP message including the hostname part +type MessageID string + +// NewMessageID generates a new message ID +func NewMessageID(hostname string) (MessageID, error) { + size := 32 + + rb := make([]byte, size) + _, err := rand.Read(rb) + + if err != nil { + return MessageID(""), err + } + + rs := base64.URLEncoding.EncodeToString(rb) + + return MessageID(rs + "@" + hostname), nil +} + +// Messages represents an array of Messages +// - TODO is this even required? +type Messages []Message + +// Message represents a parsed SMTP message +type Message struct { + ID MessageID + From *Path + To []*Path + Content *Content + Created time.Time + MIME *MIMEBody // FIXME refactor to use Content.MIME + Raw *SMTPMessage +} + +// Path represents an SMTP forward-path or return-path +type Path struct { + Relays []string + Mailbox string + Domain string + Params string +} + +// Content represents the body content of an SMTP message +type Content struct { + Headers map[string][]string + Body string + Size int + MIME *MIMEBody +} + +// SMTPMessage represents a raw SMTP message +type SMTPMessage struct { + From string + To []string + Data string + Helo string +} + +// MIMEBody represents a collection of MIME parts +type MIMEBody struct { + Parts []*Content +} + +// Parse converts a raw SMTP message to a parsed MIME message +func (m *SMTPMessage) Parse(hostname string) *Message { + var arr []*Path + for _, path := range m.To { + arr = append(arr, PathFromString(path)) + } + + id, _ := NewMessageID(hostname) + msg := &Message{ + ID: id, + From: PathFromString(m.From), + To: arr, + Content: ContentFromString(m.Data), + Created: time.Now(), + Raw: m, + } + + if msg.Content.IsMIME() { + logf("Parsing MIME body") + msg.MIME = msg.Content.ParseMIMEBody() + } + + // find headers + var hasMessageID bool + var receivedHeaderName string + var returnPathHeaderName string + + for k := range msg.Content.Headers { + if strings.ToLower(k) == "message-id" { + hasMessageID = true + continue + } + if strings.ToLower(k) == "received" { + receivedHeaderName = k + continue + } + if strings.ToLower(k) == "return-path" { + returnPathHeaderName = k + continue + } + } + + if !hasMessageID { + msg.Content.Headers["Message-ID"] = []string{string(id)} + } + + if len(receivedHeaderName) > 0 { + msg.Content.Headers[receivedHeaderName] = append(msg.Content.Headers[receivedHeaderName], "from "+m.Helo+" by "+hostname+" (MailHog)\r\n id "+string(id)+"; "+time.Now().Format(time.RFC1123Z)) + } else { + msg.Content.Headers["Received"] = []string{"from " + m.Helo + " by " + hostname + " (MailHog)\r\n id " + string(id) + "; " + time.Now().Format(time.RFC1123Z)} + } + + if len(returnPathHeaderName) > 0 { + msg.Content.Headers[returnPathHeaderName] = append(msg.Content.Headers[returnPathHeaderName], "<"+m.From+">") + } else { + msg.Content.Headers["Return-Path"] = []string{"<" + m.From + ">"} + } + + return msg +} + +// Bytes returns an io.Reader containing the raw message data +func (m *SMTPMessage) Bytes() io.Reader { + var b = new(bytes.Buffer) + + b.WriteString("HELO:<" + m.Helo + ">\r\n") + b.WriteString("FROM:<" + m.From + ">\r\n") + for _, t := range m.To { + b.WriteString("TO:<" + t + ">\r\n") + } + b.WriteString("\r\n") + b.WriteString(m.Data) + + return b +} + +// FromBytes returns a SMTPMessage from raw message bytes (as output by SMTPMessage.Bytes()) +func FromBytes(b []byte) *SMTPMessage { + msg := &SMTPMessage{} + var headerDone bool + for _, l := range strings.Split(string(b), "\n") { + if !headerDone { + if strings.HasPrefix(l, "HELO:<") { + l = strings.TrimPrefix(l, "HELO:<") + l = strings.TrimSuffix(l, ">\r") + msg.Helo = l + continue + } + if strings.HasPrefix(l, "FROM:<") { + l = strings.TrimPrefix(l, "FROM:<") + l = strings.TrimSuffix(l, ">\r") + msg.From = l + continue + } + if strings.HasPrefix(l, "TO:<") { + l = strings.TrimPrefix(l, "TO:<") + l = strings.TrimSuffix(l, ">\r") + msg.To = append(msg.To, l) + continue + } + if strings.TrimSpace(l) == "" { + headerDone = true + continue + } + } + msg.Data += l + "\n" + } + return msg +} + +// Bytes returns an io.Reader containing the raw message data +func (m *Message) Bytes() io.Reader { + var b = new(bytes.Buffer) + + for k, vs := range m.Content.Headers { + for _, v := range vs { + b.WriteString(k + ": " + v + "\r\n") + } + } + + b.WriteString("\r\n") + b.WriteString(m.Content.Body) + + return b +} + +// IsMIME detects a valid MIME header +func (content *Content) IsMIME() bool { + header, ok := content.Headers["Content-Type"] + if !ok { + return false + } + return strings.HasPrefix(header[0], "multipart/") +} + +// ParseMIMEBody parses SMTP message content into multiple MIME parts +func (content *Content) ParseMIMEBody() *MIMEBody { + var parts []*Content + + if hdr, ok := content.Headers["Content-Type"]; ok { + if len(hdr) > 0 { + boundary := extractBoundary(hdr[0]) + var p []string + if len(boundary) > 0 { + p = strings.Split(content.Body, "--"+boundary) + logf("Got boundary: %s", boundary) + } else { + logf("Boundary not found: %s", hdr[0]) + } + + for _, s := range p { + if len(s) > 0 { + part := ContentFromString(strings.Trim(s, "\r\n")) + if part.IsMIME() { + logf("Parsing inner MIME body") + part.MIME = part.ParseMIMEBody() + } + parts = append(parts, part) + } + } + } + } + + return &MIMEBody{ + Parts: parts, + } +} + +// PathFromString parses a forward-path or reverse-path into its parts +func PathFromString(path string) *Path { + var relays []string + email := path + if strings.Contains(path, ":") { + x := strings.SplitN(path, ":", 2) + r, e := x[0], x[1] + email = e + relays = strings.Split(r, ",") + } + mailbox, domain := "", "" + if strings.Contains(email, "@") { + x := strings.SplitN(email, "@", 2) + mailbox, domain = x[0], x[1] + } else { + mailbox = email + } + + return &Path{ + Relays: relays, + Mailbox: mailbox, + Domain: domain, + Params: "", // FIXME? + } +} + +// ContentFromString parses SMTP content into separate headers and body +func ContentFromString(data string) *Content { + logf("Parsing Content from string: '%s'", data) + x := strings.SplitN(data, "\r\n\r\n", 2) + h := make(map[string][]string, 0) + + // FIXME this fails if the message content has no headers - specifically, + // if it doesn't contain \r\n\r\n + + if len(x) == 2 { + headers, body := x[0], x[1] + hdrs := strings.Split(headers, "\r\n") + var lastHdr = "" + for _, hdr := range hdrs { + if lastHdr != "" && (strings.HasPrefix(hdr, " ") || strings.HasPrefix(hdr, "\t")) { + h[lastHdr][len(h[lastHdr])-1] = h[lastHdr][len(h[lastHdr])-1] + hdr + } else if strings.Contains(hdr, ": ") { + y := strings.SplitN(hdr, ": ", 2) + key, value := y[0], y[1] + // TODO multiple header fields + h[key] = []string{value} + lastHdr = key + } else if len(hdr) > 0 { + logf("Found invalid header: '%s'", hdr) + } + } + return &Content{ + Size: len(data), + Headers: h, + Body: body, + } + } + return &Content{ + Size: len(data), + Headers: h, + Body: x[0], + } +} + +// extractBoundary extract boundary string in contentType. +// It returns empty string if no valid boundary found +func extractBoundary(contentType string) string { + _, params, err := mime.ParseMediaType(contentType) + if err == nil { + return params["boundary"] + } + return "" +} diff --git a/vendor/github.com/mailhog/http/LICENSE.md b/vendor/github.com/mailhog/http/LICENSE.md new file mode 100644 index 0000000..a2d34e9 --- /dev/null +++ b/vendor/github.com/mailhog/http/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/http/README.md b/vendor/github.com/mailhog/http/README.md new file mode 100644 index 0000000..8b14057 --- /dev/null +++ b/vendor/github.com/mailhog/http/README.md @@ -0,0 +1,10 @@ +MailHog HTTP utilities [![GoDoc](https://godoc.org/github.com/mailhog/http?status.svg)](https://godoc.org/github.com/mailhog/http) [![Build Status](https://travis-ci.org/mailhog/http.svg?branch=master)](https://travis-ci.org/mailhog/http) +========= + +`github.com/mailhog/http` provides HTTP utilities used by MailHog-UI and MailHog-Server. + +### Licence + +Copyright ©‎ 2014-2015, Ian Kent (http://iankent.uk) + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/mailhog/http/server.go b/vendor/github.com/mailhog/http/server.go new file mode 100644 index 0000000..6c7e7c2 --- /dev/null +++ b/vendor/github.com/mailhog/http/server.go @@ -0,0 +1,112 @@ +package http + +import ( + "bytes" + "io" + "io/ioutil" + "net/http" + "os" + "strings" + + "github.com/gorilla/pat" + "github.com/ian-kent/go-log/log" + "golang.org/x/crypto/bcrypt" +) + +// Authorised should be given a function to enable HTTP Basic Authentication +var Authorised func(string, string) bool +var users map[string]string + +// AuthFile sets Authorised to a function which validates against file +func AuthFile(file string) { + users = make(map[string]string) + + b, err := ioutil.ReadFile(file) + if err != nil { + log.Fatalf("[HTTP] Error reading auth-file: %s", err) + // FIXME - go-log + os.Exit(1) + } + + buf := bytes.NewBuffer(b) + + for { + l, err := buf.ReadString('\n') + l = strings.TrimSpace(l) + if len(l) > 0 { + p := strings.SplitN(l, ":", 2) + if len(p) < 2 { + log.Fatalf("[HTTP] Error reading auth-file, invalid line: %s", l) + // FIXME - go-log + os.Exit(1) + } + users[p[0]] = p[1] + } + switch { + case err == io.EOF: + break + case err != nil: + log.Fatalf("[HTTP] Error reading auth-file: %s", err) + // FIXME - go-log + os.Exit(1) + break + } + if err == io.EOF { + break + } else if err != nil { + } + } + + log.Printf("[HTTP] Loaded %d users from %s", len(users), file) + + Authorised = func(u, pw string) bool { + hpw, ok := users[u] + if !ok { + return false + } + + err := bcrypt.CompareHashAndPassword([]byte(hpw), []byte(pw)) + if err != nil { + return false + } + + return true + } +} + +// BasicAuthHandler is middleware to check HTTP Basic Authentication +// if an authorisation function is defined. +func BasicAuthHandler(h http.Handler) http.Handler { + f := func(w http.ResponseWriter, req *http.Request) { + if Authorised == nil { + h.ServeHTTP(w, req) + return + } + + u, pw, ok := req.BasicAuth() + if !ok || !Authorised(u, pw) { + w.Header().Set("WWW-Authenticate", "Basic") + w.WriteHeader(401) + return + } + h.ServeHTTP(w, req) + } + + return http.HandlerFunc(f) +} + +// Listen binds to httpBindAddr +func Listen(httpBindAddr string, Asset func(string) ([]byte, error), exitCh chan int, registerCallback func(http.Handler)) { + log.Info("[HTTP] Binding to address: %s", httpBindAddr) + + pat := pat.New() + registerCallback(pat) + + //compress := handlers.CompressHandler(pat) + auth := BasicAuthHandler(pat) //compress) + + err := http.ListenAndServe(httpBindAddr, auth) + if err != nil { + log.Fatalf("[HTTP] Error binding to address %s: %s", httpBindAddr, err) + } +} diff --git a/vendor/github.com/mailhog/mhsendmail/LICENSE.md b/vendor/github.com/mailhog/mhsendmail/LICENSE.md new file mode 100644 index 0000000..63c32dd --- /dev/null +++ b/vendor/github.com/mailhog/mhsendmail/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 - 2016 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/mhsendmail/cmd/cmd.go b/vendor/github.com/mailhog/mhsendmail/cmd/cmd.go new file mode 100644 index 0000000..d59cb30 --- /dev/null +++ b/vendor/github.com/mailhog/mhsendmail/cmd/cmd.go @@ -0,0 +1,82 @@ +package cmd + +import ( + "bytes" + "fmt" + "io/ioutil" + "log" + "net/mail" + "net/smtp" + "os" + "os/user" +) + +import flag "github.com/spf13/pflag" + +// Go runs the MailHog sendmail replacement. +func Go() { + host, err := os.Hostname() + if err != nil { + host = "localhost" + } + + username := "nobody" + user, err := user.Current() + if err == nil && user != nil && len(user.Username) > 0 { + username = user.Username + } + + fromAddr := username + "@" + host + smtpAddr := "localhost:1025" + var recip []string + + // defaults from envars if provided + if len(os.Getenv("MH_SENDMAIL_SMTP_ADDR")) > 0 { + smtpAddr = os.Getenv("MH_SENDMAIL_SMTP_ADDR") + } + if len(os.Getenv("MH_SENDMAIL_FROM")) > 0 { + fromAddr = os.Getenv("MH_SENDMAIL_FROM") + } + + var verbose bool + + // override defaults from cli flags + flag.StringVar(&smtpAddr, "smtp-addr", smtpAddr, "SMTP server address") + flag.StringVarP(&fromAddr, "from", "f", fromAddr, "SMTP sender") + flag.BoolP("long-i", "i", true, "Ignored. This flag exists for sendmail compatibility.") + flag.BoolP("long-t", "t", true, "Ignored. This flag exists for sendmail compatibility.") + flag.BoolVarP(&verbose, "verbose", "v", false, "Verbose mode (sends debug output to stderr)") + flag.Parse() + + // allow recipient to be passed as an argument + recip = flag.Args() + + if verbose { + fmt.Fprintln(os.Stderr, smtpAddr, fromAddr) + } + + body, err := ioutil.ReadAll(os.Stdin) + if err != nil { + fmt.Fprintln(os.Stderr, "error reading stdin") + os.Exit(11) + } + + msg, err := mail.ReadMessage(bytes.NewReader(body)) + if err != nil { + fmt.Fprintln(os.Stderr, "error parsing message body") + os.Exit(11) + } + + if len(recip) == 0 { + // We only need to parse the message to get a recipient if none where + // provided on the command line. + recip = append(recip, msg.Header.Get("To")) + } + + err = smtp.SendMail(smtpAddr, nil, fromAddr, recip, body) + if err != nil { + fmt.Fprintln(os.Stderr, "error sending mail") + log.Fatal(err) + } + +} diff --git a/vendor/github.com/mailhog/smtp/LICENSE.md b/vendor/github.com/mailhog/smtp/LICENSE.md new file mode 100644 index 0000000..1f0d994 --- /dev/null +++ b/vendor/github.com/mailhog/smtp/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/smtp/README.md b/vendor/github.com/mailhog/smtp/README.md new file mode 100644 index 0000000..7ca37cc --- /dev/null +++ b/vendor/github.com/mailhog/smtp/README.md @@ -0,0 +1,100 @@ +MailHog SMTP Protocol [![GoDoc](https://godoc.org/github.com/mailhog/smtp?status.svg)](https://godoc.org/github.com/mailhog/smtp) [![Build Status](https://travis-ci.org/mailhog/smtp.svg?branch=master)](https://travis-ci.org/mailhog/smtp) +========= + +`github.com/mailhog/smtp` implements an SMTP server state machine. + +It attempts to encapsulate as much of the SMTP protocol (plus its extensions) as possible +without compromising configurability or requiring specific backend implementations. + + * ESMTP server implementing [RFC5321](http://tools.ietf.org/html/rfc5321) + * Support for: + * AUTH [RFC4954](http://tools.ietf.org/html/rfc4954) + * PIPELINING [RFC2920](http://tools.ietf.org/html/rfc2920) + * STARTTLS [RFC3207](http://tools.ietf.org/html/rfc3207) + +```go +proto := NewProtocol() +reply := proto.Start() +reply = proto.ProcessCommand("EHLO localhost") +// ... +``` + +See [MailHog-Server](https://github.com/mailhog/MailHog-Server) and [MailHog-MTA](https://github.com/mailhog/MailHog-MTA) for example implementations. + +### Commands and replies + +Interaction with the state machine is via: +* the `Parse` function +* the `ProcessCommand` and `ProcessData` functions + +You can mix the use of all three functions as necessary. + +#### Parse + +`Parse` should be used on a raw text stream. It looks for an end of line (`\r\n`), and if found, processes a single command. Any unprocessed data is returned. + +If any unprocessed data is returned, `Parse` should be +called again to process then next command. + +```go +text := "EHLO localhost\r\nMAIL FROM:\r\nDATA\r\nTest\r\n.\r\n" + +var reply *smtp.Reply +for { + text, reply = proto.Parse(text) + if len(text) == 0 { + break + } +} +``` + +#### ProcessCommand and ProcessData + +`ProcessCommand` should be used for an already parsed command (i.e., a complete +SMTP "line" excluding the line ending). + +`ProcessData` should be used if the protocol is in `DATA` state. + +```go +reply = proto.ProcessCommand("EHLO localhost") +reply = proto.ProcessCommand("MAIL FROM:") +reply = proto.ProcessCommand("DATA") +reply = proto.ProcessData("Test\r\n.\r\n") +``` + +### Hooks + +The state machine provides hooks to manipulate its behaviour. + +See [![GoDoc](https://godoc.org/github.com/mailhog/smtp?status.svg)](https://godoc.org/github.com/mailhog/smtp) for more information. + +| Hook | Description +| ---------------------------------- | ----------- +| LogHandler | Called for every log message +| MessageReceivedHandler | Called for each message received +| ValidateSenderHandler | Called after MAIL FROM +| ValidateRecipientHandler | Called after RCPT TO +| ValidateAuthenticationHandler | Called after AUTH +| SMTPVerbFilter | Called for every SMTP command processed +| TLSHandler | Callback mashup called after STARTTLS +| GetAuthenticationMechanismsHandler | Called for each EHLO command + +### Behaviour flags + +The state machine also exports variables to control its behaviour: + +See [![GoDoc](https://godoc.org/github.com/mailhog/smtp?status.svg)](https://godoc.org/github.com/mailhog/smtp) for more information. + +| Variable | Description +| ---------------------- | ----------- +| RejectBrokenRCPTSyntax | Reject non-conforming RCPT syntax +| RejectBrokenMAILSyntax | Reject non-conforming MAIL syntax +| RequireTLS | Require STARTTLS before other commands +| MaximumRecipients | Maximum recipients per message +| MaximumLineLength | Maximum length of SMTP line + +### Licence + +Copyright ©‎ 2014-2015, Ian Kent (http://iankent.uk) + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/mailhog/smtp/protocol.go b/vendor/github.com/mailhog/smtp/protocol.go new file mode 100644 index 0000000..a09f82d --- /dev/null +++ b/vendor/github.com/mailhog/smtp/protocol.go @@ -0,0 +1,504 @@ +package smtp + +// http://www.rfc-editor.org/rfc/rfc5321.txt + +import ( + "encoding/base64" + "errors" + "log" + "regexp" + "strings" + + "github.com/mailhog/data" +) + +// Command is a struct representing an SMTP command (verb + arguments) +type Command struct { + verb string + args string + orig string +} + +// ParseCommand returns a Command from the line string +func ParseCommand(line string) *Command { + words := strings.Split(line, " ") + command := strings.ToUpper(words[0]) + args := strings.Join(words[1:len(words)], " ") + + return &Command{ + verb: command, + args: args, + orig: line, + } +} + +// Protocol is a state machine representing an SMTP session +type Protocol struct { + lastCommand *Command + + TLSPending bool + TLSUpgraded bool + + State State + Message *data.SMTPMessage + + Hostname string + Ident string + + MaximumLineLength int + MaximumRecipients int + + // LogHandler is called for each log message. If nil, log messages will + // be output using log.Printf instead. + LogHandler func(message string, args ...interface{}) + // MessageReceivedHandler is called for each message accepted by the + // SMTP protocol. It must return a MessageID or error. If nil, messages + // will be rejected with an error. + MessageReceivedHandler func(*data.SMTPMessage) (string, error) + // ValidateSenderHandler should return true if the sender is valid, + // otherwise false. If nil, all senders will be accepted. + ValidateSenderHandler func(from string) bool + // ValidateRecipientHandler should return true if the recipient is valid, + // otherwise false. If nil, all recipients will be accepted. + ValidateRecipientHandler func(to string) bool + // ValidateAuthenticationhandler should return true if the authentication + // parameters are valid, otherwise false. If nil, all authentication + // attempts will be accepted. + ValidateAuthenticationHandler func(mechanism string, args ...string) (errorReply *Reply, ok bool) + // SMTPVerbFilter is called after each command is parsed, but before + // any code is executed. This provides an opportunity to reject unwanted verbs, + // e.g. to require AUTH before MAIL + SMTPVerbFilter func(verb string, args ...string) (errorReply *Reply) + // TLSHandler is called when a STARTTLS command is received. + // + // It should acknowledge the TLS request and set ok to true. + // It should also return a callback which will be invoked after the reply is + // sent. E.g., a TCP connection can only perform the upgrade after sending the reply + // + // Once the upgrade is complete, invoke the done function (e.g., from the returned callback) + // + // If TLS upgrade isn't possible, return an errorReply and set ok to false. + TLSHandler func(done func(ok bool)) (errorReply *Reply, callback func(), ok bool) + + // GetAuthenticationMechanismsHandler should return an array of strings + // listing accepted authentication mechanisms + GetAuthenticationMechanismsHandler func() []string + + // RejectBrokenRCPTSyntax controls whether the protocol accepts technically + // invalid syntax for the RCPT command. Set to true, the RCPT syntax requires + // no space between `TO:` and the opening `<` + RejectBrokenRCPTSyntax bool + // RejectBrokenMAILSyntax controls whether the protocol accepts technically + // invalid syntax for the MAIL command. Set to true, the MAIL syntax requires + // no space between `FROM:` and the opening `<` + RejectBrokenMAILSyntax bool + // RequireTLS controls whether TLS is required for a connection before other + // commands can be issued, applied at the protocol layer. + RequireTLS bool +} + +// NewProtocol returns a new SMTP state machine in INVALID state +// handler is called when a message is received and should return a message ID +func NewProtocol() *Protocol { + p := &Protocol{ + Hostname: "mailhog.example", + Ident: "ESMTP MailHog", + State: INVALID, + MaximumLineLength: -1, + MaximumRecipients: -1, + } + p.resetState() + return p +} + +func (proto *Protocol) resetState() { + proto.Message = &data.SMTPMessage{} +} + +func (proto *Protocol) logf(message string, args ...interface{}) { + message = strings.Join([]string{"[PROTO: %s]", message}, " ") + args = append([]interface{}{StateMap[proto.State]}, args...) + + if proto.LogHandler != nil { + proto.LogHandler(message, args...) + } else { + log.Printf(message, args...) + } +} + +// Start begins an SMTP conversation with a 220 reply, placing the state +// machine in ESTABLISH state. +func (proto *Protocol) Start() *Reply { + proto.logf("Started session, switching to ESTABLISH state") + proto.State = ESTABLISH + return ReplyIdent(proto.Hostname + " " + proto.Ident) +} + +// Parse parses a line string and returns any remaining line string +// and a reply, if a command was found. Parse does nothing until a +// new line is found. +// - TODO decide whether to move this to a buffer inside Protocol +// sort of like it this way, since it gives control back to the caller +func (proto *Protocol) Parse(line string) (string, *Reply) { + var reply *Reply + + if !strings.Contains(line, "\r\n") { + return line, reply + } + + parts := strings.SplitN(line, "\r\n", 2) + line = parts[1] + + if proto.MaximumLineLength > -1 { + if len(parts[0]) > proto.MaximumLineLength { + return line, ReplyLineTooLong() + } + } + + // TODO collapse AUTH states into separate processing + if proto.State == DATA { + reply = proto.ProcessData(parts[0]) + } else { + reply = proto.ProcessCommand(parts[0]) + } + + return line, reply +} + +// ProcessData handles content received (with newlines stripped) while +// in the SMTP DATA state +func (proto *Protocol) ProcessData(line string) (reply *Reply) { + proto.Message.Data += line + "\r\n" + + if strings.HasSuffix(proto.Message.Data, "\r\n.\r\n") { + proto.Message.Data = strings.Replace(proto.Message.Data, "\r\n..", "\r\n.", -1) + + proto.logf("Got EOF, storing message and switching to MAIL state") + proto.Message.Data = strings.TrimSuffix(proto.Message.Data, "\r\n.\r\n") + proto.State = MAIL + + defer proto.resetState() + + if proto.MessageReceivedHandler == nil { + return ReplyStorageFailed("No storage backend") + } + + id, err := proto.MessageReceivedHandler(proto.Message) + if err != nil { + proto.logf("Error storing message: %s", err) + return ReplyStorageFailed("Unable to store message") + } + return ReplyOk("Ok: queued as " + id) + } + + return +} + +// ProcessCommand processes a line of text as a command +// It expects the line string to be a properly formed SMTP verb and arguments +func (proto *Protocol) ProcessCommand(line string) (reply *Reply) { + line = strings.Trim(line, "\r\n") + proto.logf("Processing line: %s", line) + + words := strings.Split(line, " ") + command := strings.ToUpper(words[0]) + args := strings.Join(words[1:len(words)], " ") + proto.logf("In state %d, got command '%s', args '%s'", proto.State, command, args) + + cmd := ParseCommand(strings.TrimSuffix(line, "\r\n")) + return proto.Command(cmd) +} + +// Command applies an SMTP verb and arguments to the state machine +func (proto *Protocol) Command(command *Command) (reply *Reply) { + defer func() { + proto.lastCommand = command + }() + if proto.SMTPVerbFilter != nil { + proto.logf("sending to SMTP verb filter") + r := proto.SMTPVerbFilter(command.verb) + if r != nil { + proto.logf("response returned by SMTP verb filter") + return r + } + } + switch { + case proto.TLSPending && !proto.TLSUpgraded: + proto.logf("Got command before TLS upgrade complete") + // FIXME what to do? + return ReplyBye() + case "RSET" == command.verb: + proto.logf("Got RSET command, switching to MAIL state") + proto.State = MAIL + proto.Message = &data.SMTPMessage{} + return ReplyOk() + case "NOOP" == command.verb: + proto.logf("Got NOOP verb, staying in %s state", StateMap[proto.State]) + return ReplyOk() + case "QUIT" == command.verb: + proto.logf("Got QUIT verb, staying in %s state", StateMap[proto.State]) + proto.State = DONE + return ReplyBye() + case ESTABLISH == proto.State: + proto.logf("In ESTABLISH state") + switch command.verb { + case "HELO": + return proto.HELO(command.args) + case "EHLO": + return proto.EHLO(command.args) + case "STARTTLS": + return proto.STARTTLS(command.args) + default: + proto.logf("Got unknown command for ESTABLISH state: '%s'", command.verb) + return ReplyUnrecognisedCommand() + } + case "STARTTLS" == command.verb: + proto.logf("Got STARTTLS command outside ESTABLISH state") + return proto.STARTTLS(command.args) + case proto.RequireTLS && !proto.TLSUpgraded: + proto.logf("RequireTLS set and not TLS not upgraded") + return ReplyMustIssueSTARTTLSFirst() + case AUTHPLAIN == proto.State: + proto.logf("Got PLAIN authentication response: '%s', switching to MAIL state", command.args) + proto.State = MAIL + if proto.ValidateAuthenticationHandler != nil { + // TODO error handling + val, _ := base64.StdEncoding.DecodeString(command.orig) + bits := strings.Split(string(val), string(rune(0))) + + if len(bits) < 3 { + return ReplyError(errors.New("Badly formed parameter")) + } + + user, pass := bits[1], bits[2] + + if reply, ok := proto.ValidateAuthenticationHandler("PLAIN", user, pass); !ok { + return reply + } + } + return ReplyAuthOk() + case AUTHLOGIN == proto.State: + proto.logf("Got LOGIN authentication response: '%s', switching to AUTHLOGIN2 state", command.args) + proto.State = AUTHLOGIN2 + return ReplyAuthResponse("UGFzc3dvcmQ6") + case AUTHLOGIN2 == proto.State: + proto.logf("Got LOGIN authentication response: '%s', switching to MAIL state", command.args) + proto.State = MAIL + if proto.ValidateAuthenticationHandler != nil { + if reply, ok := proto.ValidateAuthenticationHandler("LOGIN", proto.lastCommand.orig, command.orig); !ok { + return reply + } + } + return ReplyAuthOk() + case AUTHCRAMMD5 == proto.State: + proto.logf("Got CRAM-MD5 authentication response: '%s', switching to MAIL state", command.args) + proto.State = MAIL + if proto.ValidateAuthenticationHandler != nil { + if reply, ok := proto.ValidateAuthenticationHandler("CRAM-MD5", command.orig); !ok { + return reply + } + } + return ReplyAuthOk() + case MAIL == proto.State: + proto.logf("In MAIL state") + switch command.verb { + case "AUTH": + proto.logf("Got AUTH command, staying in MAIL state") + switch { + case strings.HasPrefix(command.args, "PLAIN "): + proto.logf("Got PLAIN authentication: %s", strings.TrimPrefix(command.args, "PLAIN ")) + if proto.ValidateAuthenticationHandler != nil { + val, _ := base64.StdEncoding.DecodeString(strings.TrimPrefix(command.args, "PLAIN ")) + bits := strings.Split(string(val), string(rune(0))) + + if len(bits) < 3 { + return ReplyError(errors.New("Badly formed parameter")) + } + + user, pass := bits[1], bits[2] + + if reply, ok := proto.ValidateAuthenticationHandler("PLAIN", user, pass); !ok { + return reply + } + } + return ReplyAuthOk() + case "LOGIN" == command.args: + proto.logf("Got LOGIN authentication, switching to AUTH state") + proto.State = AUTHLOGIN + return ReplyAuthResponse("VXNlcm5hbWU6") + case "PLAIN" == command.args: + proto.logf("Got PLAIN authentication (no args), switching to AUTH2 state") + proto.State = AUTHPLAIN + return ReplyAuthResponse("") + case "CRAM-MD5" == command.args: + proto.logf("Got CRAM-MD5 authentication, switching to AUTH state") + proto.State = AUTHCRAMMD5 + return ReplyAuthResponse("PDQxOTI5NDIzNDEuMTI4Mjg0NzJAc291cmNlZm91ci5hbmRyZXcuY211LmVkdT4=") + case strings.HasPrefix(command.args, "EXTERNAL "): + proto.logf("Got EXTERNAL authentication: %s", strings.TrimPrefix(command.args, "EXTERNAL ")) + if proto.ValidateAuthenticationHandler != nil { + if reply, ok := proto.ValidateAuthenticationHandler("EXTERNAL", strings.TrimPrefix(command.args, "EXTERNAL ")); !ok { + return reply + } + } + return ReplyAuthOk() + default: + return ReplyUnsupportedAuth() + } + case "MAIL": + proto.logf("Got MAIL command, switching to RCPT state") + from, err := proto.ParseMAIL(command.args) + if err != nil { + return ReplyError(err) + } + if proto.ValidateSenderHandler != nil { + if !proto.ValidateSenderHandler(from) { + // TODO correct sender error response + return ReplyError(errors.New("Invalid sender " + from)) + } + } + proto.Message.From = from + proto.State = RCPT + return ReplySenderOk(from) + case "HELO": + return proto.HELO(command.args) + case "EHLO": + return proto.EHLO(command.args) + default: + proto.logf("Got unknown command for MAIL state: '%s'", command) + return ReplyUnrecognisedCommand() + } + case RCPT == proto.State: + proto.logf("In RCPT state") + switch command.verb { + case "RCPT": + proto.logf("Got RCPT command") + if proto.MaximumRecipients > -1 && len(proto.Message.To) >= proto.MaximumRecipients { + return ReplyTooManyRecipients() + } + to, err := proto.ParseRCPT(command.args) + if err != nil { + return ReplyError(err) + } + if proto.ValidateRecipientHandler != nil { + if !proto.ValidateRecipientHandler(to) { + // TODO correct send error response + return ReplyError(errors.New("Invalid recipient " + to)) + } + } + proto.Message.To = append(proto.Message.To, to) + proto.State = RCPT + return ReplyRecipientOk(to) + case "HELO": + return proto.HELO(command.args) + case "EHLO": + return proto.EHLO(command.args) + case "DATA": + proto.logf("Got DATA command, switching to DATA state") + proto.State = DATA + return ReplyDataResponse() + default: + proto.logf("Got unknown command for RCPT state: '%s'", command) + return ReplyUnrecognisedCommand() + } + default: + proto.logf("Command not recognised") + return ReplyUnrecognisedCommand() + } +} + +// HELO creates a reply to a HELO command +func (proto *Protocol) HELO(args string) (reply *Reply) { + proto.logf("Got HELO command, switching to MAIL state") + proto.State = MAIL + proto.Message.Helo = args + return ReplyOk("Hello " + args) +} + +// EHLO creates a reply to a EHLO command +func (proto *Protocol) EHLO(args string) (reply *Reply) { + proto.logf("Got EHLO command, switching to MAIL state") + proto.State = MAIL + proto.Message.Helo = args + replyArgs := []string{"Hello " + args, "PIPELINING"} + + if proto.TLSHandler != nil && !proto.TLSPending && !proto.TLSUpgraded { + replyArgs = append(replyArgs, "STARTTLS") + } + + if !proto.RequireTLS || proto.TLSUpgraded { + if proto.GetAuthenticationMechanismsHandler != nil { + mechanisms := proto.GetAuthenticationMechanismsHandler() + if len(mechanisms) > 0 { + replyArgs = append(replyArgs, "AUTH "+strings.Join(mechanisms, " ")) + } + } + } + return ReplyOk(replyArgs...) +} + +// STARTTLS creates a reply to a STARTTLS command +func (proto *Protocol) STARTTLS(args string) (reply *Reply) { + if proto.TLSUpgraded { + return ReplyUnrecognisedCommand() + } + + if proto.TLSHandler == nil { + proto.logf("tls handler not found") + return ReplyUnrecognisedCommand() + } + + if len(args) > 0 { + return ReplySyntaxError("no parameters allowed") + } + + r, callback, ok := proto.TLSHandler(func(ok bool) { + proto.TLSUpgraded = ok + proto.TLSPending = ok + if ok { + proto.resetState() + proto.State = ESTABLISH + } + }) + if !ok { + return r + } + + proto.TLSPending = true + return ReplyReadyToStartTLS(callback) +} + +var parseMailBrokenRegexp = regexp.MustCompile("(?i:From):\\s*<([^>]+)>") +var parseMailRFCRegexp = regexp.MustCompile("(?i:From):<([^>]+)>") + +// ParseMAIL returns the forward-path from a MAIL command argument +func (proto *Protocol) ParseMAIL(mail string) (string, error) { + var match []string + if proto.RejectBrokenMAILSyntax { + match = parseMailRFCRegexp.FindStringSubmatch(mail) + } else { + match = parseMailBrokenRegexp.FindStringSubmatch(mail) + } + + if len(match) != 2 { + return "", errors.New("Invalid syntax in MAIL command") + } + return match[1], nil +} + +var parseRcptBrokenRegexp = regexp.MustCompile("(?i:To):\\s*<([^>]+)>") +var parseRcptRFCRegexp = regexp.MustCompile("(?i:To):<([^>]+)>") + +// ParseRCPT returns the return-path from a RCPT command argument +func (proto *Protocol) ParseRCPT(rcpt string) (string, error) { + var match []string + if proto.RejectBrokenRCPTSyntax { + match = parseRcptRFCRegexp.FindStringSubmatch(rcpt) + } else { + match = parseRcptBrokenRegexp.FindStringSubmatch(rcpt) + } + if len(match) != 2 { + return "", errors.New("Invalid syntax in RCPT command") + } + return match[1], nil +} diff --git a/vendor/github.com/mailhog/smtp/reply.go b/vendor/github.com/mailhog/smtp/reply.go new file mode 100644 index 0000000..86e50b3 --- /dev/null +++ b/vendor/github.com/mailhog/smtp/reply.go @@ -0,0 +1,111 @@ +package smtp + +import "strconv" + +// http://www.rfc-editor.org/rfc/rfc5321.txt + +// Reply is a struct representing an SMTP reply (status code + lines) +type Reply struct { + Status int + lines []string + Done func() +} + +// Lines returns the formatted SMTP reply +func (r Reply) Lines() []string { + var lines []string + + if len(r.lines) == 0 { + l := strconv.Itoa(r.Status) + lines = append(lines, l+"\n") + return lines + } + + for i, line := range r.lines { + l := "" + if i == len(r.lines)-1 { + l = strconv.Itoa(r.Status) + " " + line + "\r\n" + } else { + l = strconv.Itoa(r.Status) + "-" + line + "\r\n" + } + lines = append(lines, l) + } + + return lines +} + +// ReplyIdent creates a 220 welcome reply +func ReplyIdent(ident string) *Reply { return &Reply{220, []string{ident}, nil} } + +// ReplyReadyToStartTLS creates a 220 ready to start TLS reply +func ReplyReadyToStartTLS(callback func()) *Reply { + return &Reply{220, []string{"Ready to start TLS"}, callback} +} + +// ReplyBye creates a 221 Bye reply +func ReplyBye() *Reply { return &Reply{221, []string{"Bye"}, nil} } + +// ReplyAuthOk creates a 235 authentication successful reply +func ReplyAuthOk() *Reply { return &Reply{235, []string{"Authentication successful"}, nil} } + +// ReplyOk creates a 250 Ok reply +func ReplyOk(message ...string) *Reply { + if len(message) == 0 { + message = []string{"Ok"} + } + return &Reply{250, message, nil} +} + +// ReplySenderOk creates a 250 Sender ok reply +func ReplySenderOk(sender string) *Reply { + return &Reply{250, []string{"Sender " + sender + " ok"}, nil} +} + +// ReplyRecipientOk creates a 250 Sender ok reply +func ReplyRecipientOk(recipient string) *Reply { + return &Reply{250, []string{"Recipient " + recipient + " ok"}, nil} +} + +// ReplyAuthResponse creates a 334 authentication reply +func ReplyAuthResponse(response string) *Reply { return &Reply{334, []string{response}, nil} } + +// ReplyDataResponse creates a 354 data reply +func ReplyDataResponse() *Reply { return &Reply{354, []string{"End data with ."}, nil} } + +// ReplyStorageFailed creates a 452 error reply +func ReplyStorageFailed(reason string) *Reply { return &Reply{452, []string{reason}, nil} } + +// ReplyUnrecognisedCommand creates a 500 Unrecognised command reply +func ReplyUnrecognisedCommand() *Reply { return &Reply{500, []string{"Unrecognised command"}, nil} } + +// ReplyLineTooLong creates a 500 Line too long reply +func ReplyLineTooLong() *Reply { return &Reply{500, []string{"Line too long"}, nil} } + +// ReplySyntaxError creates a 501 Syntax error reply +func ReplySyntaxError(response string) *Reply { + if len(response) > 0 { + response = " (" + response + ")" + } + return &Reply{501, []string{"Syntax error" + response}, nil} +} + +// ReplyUnsupportedAuth creates a 504 unsupported authentication reply +func ReplyUnsupportedAuth() *Reply { + return &Reply{504, []string{"Unsupported authentication mechanism"}, nil} +} + +// ReplyMustIssueSTARTTLSFirst creates a 530 reply for RFC3207 +func ReplyMustIssueSTARTTLSFirst() *Reply { + return &Reply{530, []string{"Must issue a STARTTLS command first"}, nil} +} + +// ReplyInvalidAuth creates a 535 error reply +func ReplyInvalidAuth() *Reply { + return &Reply{535, []string{"Authentication credentials invalid"}, nil} +} + +// ReplyError creates a 500 error reply +func ReplyError(err error) *Reply { return &Reply{550, []string{err.Error()}, nil} } + +// ReplyTooManyRecipients creates a 552 too many recipients reply +func ReplyTooManyRecipients() *Reply { return &Reply{552, []string{"Too many recipients"}, nil} } diff --git a/vendor/github.com/mailhog/smtp/state.go b/vendor/github.com/mailhog/smtp/state.go new file mode 100644 index 0000000..af601e3 --- /dev/null +++ b/vendor/github.com/mailhog/smtp/state.go @@ -0,0 +1,32 @@ +package smtp + +// State represents the state of an SMTP conversation +type State int + +// SMTP message conversation states +const ( + INVALID = State(-1) + ESTABLISH = State(iota) + AUTHPLAIN + AUTHLOGIN + AUTHLOGIN2 + AUTHCRAMMD5 + MAIL + RCPT + DATA + DONE +) + +// StateMap provides string representations of SMTP conversation states +var StateMap = map[State]string{ + INVALID: "INVALID", + ESTABLISH: "ESTABLISH", + AUTHPLAIN: "AUTHPLAIN", + AUTHLOGIN: "AUTHLOGIN", + AUTHLOGIN2: "AUTHLOGIN2", + AUTHCRAMMD5: "AUTHCRAMMD5", + MAIL: "MAIL", + RCPT: "RCPT", + DATA: "DATA", + DONE: "DONE", +} diff --git a/vendor/github.com/mailhog/storage/LICENSE.md b/vendor/github.com/mailhog/storage/LICENSE.md new file mode 100644 index 0000000..eec4a9a --- /dev/null +++ b/vendor/github.com/mailhog/storage/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 - 2016 Ian Kent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/mailhog/storage/README.md b/vendor/github.com/mailhog/storage/README.md new file mode 100644 index 0000000..8aa299a --- /dev/null +++ b/vendor/github.com/mailhog/storage/README.md @@ -0,0 +1,16 @@ +MailHog storage backends [![GoDoc](https://godoc.org/github.com/mailhog/storage?status.svg)](https://godoc.org/github.com/mailhog/storage) [![Build Status](https://travis-ci.org/mailhog/storage.svg?branch=master)](https://travis-ci.org/mailhog/storage) +========= + +`github.com/mailhog/storage` implements MailHog storage backends: + + * In-memory + * MongoDB + +You should implement `storage.Storage` interface to provide your +own storage backend. + +### Licence + +Copyright ©‎ 2014 - 2016, Ian Kent (http://iankent.uk) + +Released under MIT license, see [LICENSE](LICENSE.md) for details. diff --git a/vendor/github.com/mailhog/storage/maildir.go b/vendor/github.com/mailhog/storage/maildir.go new file mode 100644 index 0000000..d102549 --- /dev/null +++ b/vendor/github.com/mailhog/storage/maildir.go @@ -0,0 +1,184 @@ +package storage + +import ( + "errors" + "io/ioutil" + "log" + "os" + "path/filepath" + "strings" + + "github.com/mailhog/data" +) + +// Maildir is a maildir storage backend +type Maildir struct { + Path string +} + +// CreateMaildir creates a new maildir storage backend +func CreateMaildir(path string) *Maildir { + if len(path) == 0 { + dir, err := ioutil.TempDir("", "mailhog") + if err != nil { + panic(err) + } + path = dir + } + if _, err := os.Stat(path); err != nil { + err := os.MkdirAll(path, 0770) + if err != nil { + panic(err) + } + } + log.Println("Maildir path is", path) + return &Maildir{ + Path: path, + } +} + +// Store stores a message and returns its storage ID +func (maildir *Maildir) Store(m *data.Message) (string, error) { + b, err := ioutil.ReadAll(m.Raw.Bytes()) + if err != nil { + return "", err + } + err = ioutil.WriteFile(filepath.Join(maildir.Path, string(m.ID)), b, 0660) + return string(m.ID), err +} + +// Count returns the number of stored messages +func (maildir *Maildir) Count() int { + // FIXME may be wrong, ../. ? + // and handle error? + dir, err := os.Open(maildir.Path) + if err != nil { + panic(err) + } + defer dir.Close() + n, _ := dir.Readdirnames(0) + return len(n) +} + +// Search finds messages matching the query +func (maildir *Maildir) Search(kind, query string, start, limit int) (*data.Messages, int, error) { + query = strings.ToLower(query) + var filteredMessages = make([]data.Message, 0) + + var matched int + + err := filepath.Walk(maildir.Path, func(path string, info os.FileInfo, err error) error { + if limit > 0 && len(filteredMessages) >= limit { + return errors.New("reached limit") + } + + if info.IsDir() { + return nil + } + + msg, err := maildir.Load(info.Name()) + if err != nil { + log.Println(err) + return nil + } + + switch kind { + case "to": + for _, t := range msg.To { + if strings.Contains(strings.ToLower(t.Mailbox+"@"+t.Domain), query) { + if start > matched { + matched++ + break + } + filteredMessages = append(filteredMessages, *msg) + break + } + } + case "from": + if strings.Contains(strings.ToLower(msg.From.Mailbox+"@"+msg.From.Domain), query) { + if start > matched { + matched++ + break + } + filteredMessages = append(filteredMessages, *msg) + } + case "containing": + if strings.Contains(strings.ToLower(msg.Raw.Data), query) { + if start > matched { + matched++ + break + } + filteredMessages = append(filteredMessages, *msg) + } + } + + return nil + }) + + if err != nil { + log.Println(err) + } + + msgs := data.Messages(filteredMessages) + return &msgs, len(filteredMessages), nil +} + +// List lists stored messages by index +func (maildir *Maildir) List(start, limit int) (*data.Messages, error) { + log.Println("Listing messages in", maildir.Path) + messages := make([]data.Message, 0) + + dir, err := os.Open(maildir.Path) + if err != nil { + return nil, err + } + defer dir.Close() + + n, err := dir.Readdir(0) + if err != nil { + return nil, err + } + + for _, fileinfo := range n { + b, err := ioutil.ReadFile(filepath.Join(maildir.Path, fileinfo.Name())) + if err != nil { + return nil, err + } + msg := data.FromBytes(b) + // FIXME domain + m := *msg.Parse("mailhog.example") + m.ID = data.MessageID(fileinfo.Name()) + m.Created = fileinfo.ModTime() + messages = append(messages, m) + } + + log.Printf("Found %d messages", len(messages)) + msgs := data.Messages(messages) + return &msgs, nil +} + +// DeleteOne deletes an individual message by storage ID +func (maildir *Maildir) DeleteOne(id string) error { + return os.Remove(filepath.Join(maildir.Path, id)) +} + +// DeleteAll deletes all in memory messages +func (maildir *Maildir) DeleteAll() error { + err := os.RemoveAll(maildir.Path) + if err != nil { + return err + } + return os.Mkdir(maildir.Path, 0770) +} + +// Load returns an individual message by storage ID +func (maildir *Maildir) Load(id string) (*data.Message, error) { + b, err := ioutil.ReadFile(filepath.Join(maildir.Path, id)) + if err != nil { + return nil, err + } + // FIXME domain + m := data.FromBytes(b).Parse("mailhog.example") + m.ID = data.MessageID(id) + return m, nil +} diff --git a/vendor/github.com/mailhog/storage/memory.go b/vendor/github.com/mailhog/storage/memory.go new file mode 100644 index 0000000..59762a4 --- /dev/null +++ b/vendor/github.com/mailhog/storage/memory.go @@ -0,0 +1,199 @@ +package storage + +import ( + "errors" + "strings" + "sync" + + "github.com/mailhog/data" +) + +// InMemory is an in memory storage backend +type InMemory struct { + MessageIDIndex map[string]int + Messages []*data.Message + mu sync.Mutex +} + +// CreateInMemory creates a new in memory storage backend +func CreateInMemory() *InMemory { + return &InMemory{ + MessageIDIndex: make(map[string]int), + Messages: make([]*data.Message, 0), + } +} + +// Store stores a message and returns its storage ID +func (memory *InMemory) Store(m *data.Message) (string, error) { + memory.mu.Lock() + defer memory.mu.Unlock() + memory.Messages = append(memory.Messages, m) + memory.MessageIDIndex[string(m.ID)] = len(memory.Messages) - 1 + return string(m.ID), nil +} + +// Count returns the number of stored messages +func (memory *InMemory) Count() int { + return len(memory.Messages) +} + +// Search finds messages matching the query +func (memory *InMemory) Search(kind, query string, start, limit int) (*data.Messages, int, error) { + // FIXME needs optimising, or replacing with a proper db! + query = strings.ToLower(query) + var filteredMessages = make([]*data.Message, 0) + for _, m := range memory.Messages { + doAppend := false + + switch kind { + case "to": + for _, to := range m.To { + if strings.Contains(strings.ToLower(to.Mailbox+"@"+to.Domain), query) { + doAppend = true + break + } + } + if !doAppend { + if hdr, ok := m.Content.Headers["To"]; ok { + for _, to := range hdr { + if strings.Contains(strings.ToLower(to), query) { + doAppend = true + break + } + } + } + } + case "from": + if strings.Contains(strings.ToLower(m.From.Mailbox+"@"+m.From.Domain), query) { + doAppend = true + } + if !doAppend { + if hdr, ok := m.Content.Headers["From"]; ok { + for _, from := range hdr { + if strings.Contains(strings.ToLower(from), query) { + doAppend = true + break + } + } + } + } + case "containing": + if strings.Contains(strings.ToLower(m.Content.Body), query) { + doAppend = true + } + if !doAppend { + for _, hdr := range m.Content.Headers { + for _, v := range hdr { + if strings.Contains(strings.ToLower(v), query) { + doAppend = true + } + } + } + } + } + + if doAppend { + filteredMessages = append(filteredMessages, m) + } + } + + var messages = make([]data.Message, 0) + + if len(filteredMessages) == 0 || start > len(filteredMessages) { + msgs := data.Messages(messages) + return &msgs, 0, nil + } + + if start+limit > len(filteredMessages) { + limit = len(filteredMessages) - start + } + + start = len(filteredMessages) - start - 1 + end := start - limit + + if start < 0 { + start = 0 + } + if end < -1 { + end = -1 + } + + for i := start; i > end; i-- { + //for _, m := range memory.MessageIndex[start:end] { + messages = append(messages, *filteredMessages[i]) + } + + msgs := data.Messages(messages) + return &msgs, len(filteredMessages), nil +} + +// List lists stored messages by index +func (memory *InMemory) List(start int, limit int) (*data.Messages, error) { + var messages = make([]data.Message, 0) + + if len(memory.Messages) == 0 || start > len(memory.Messages) { + msgs := data.Messages(messages) + return &msgs, nil + } + + if start+limit > len(memory.Messages) { + limit = len(memory.Messages) - start + } + + start = len(memory.Messages) - start - 1 + end := start - limit + + if start < 0 { + start = 0 + } + if end < -1 { + end = -1 + } + + for i := start; i > end; i-- { + //for _, m := range memory.MessageIndex[start:end] { + messages = append(messages, *memory.Messages[i]) + } + + msgs := data.Messages(messages) + return &msgs, nil +} + +// DeleteOne deletes an individual message by storage ID +func (memory *InMemory) DeleteOne(id string) error { + memory.mu.Lock() + defer memory.mu.Unlock() + + var index int + var ok bool + + if index, ok = memory.MessageIDIndex[id]; !ok && true { + return errors.New("message not found") + } + + delete(memory.MessageIDIndex, id) + for k, v := range memory.MessageIDIndex { + if v > index { + memory.MessageIDIndex[k] = v - 1 + } + } + memory.Messages = append(memory.Messages[:index], memory.Messages[index+1:]...) + return nil +} + +// DeleteAll deletes all in memory messages +func (memory *InMemory) DeleteAll() error { + memory.mu.Lock() + defer memory.mu.Unlock() + memory.Messages = make([]*data.Message, 0) + memory.MessageIDIndex = make(map[string]int) + return nil +} + +// Load returns an individual message by storage ID +func (memory *InMemory) Load(id string) (*data.Message, error) { + if idx, ok := memory.MessageIDIndex[id]; ok { + return memory.Messages[idx], nil + } + return nil, nil +} diff --git a/vendor/github.com/mailhog/storage/mongodb.go b/vendor/github.com/mailhog/storage/mongodb.go new file mode 100644 index 0000000..788e268 --- /dev/null +++ b/vendor/github.com/mailhog/storage/mongodb.go @@ -0,0 +1,122 @@ +package storage + +import ( + "github.com/mailhog/data" + "gopkg.in/mgo.v2" + "gopkg.in/mgo.v2/bson" + "log" +) + +// MongoDB represents MongoDB backed storage backend +type MongoDB struct { + Session *mgo.Session + Collection *mgo.Collection +} + +// CreateMongoDB creates a MongoDB backed storage backend +func CreateMongoDB(uri, db, coll string) *MongoDB { + log.Printf("Connecting to MongoDB: %s\n", uri) + session, err := mgo.Dial(uri) + if err != nil { + log.Printf("Error connecting to MongoDB: %s", err) + return nil + } + err = session.DB(db).C(coll).EnsureIndexKey("created") + if err != nil { + log.Printf("Failed creating index: %s", err) + return nil + } + return &MongoDB{ + Session: session, + Collection: session.DB(db).C(coll), + } +} + +// Store stores a message in MongoDB and returns its storage ID +func (mongo *MongoDB) Store(m *data.Message) (string, error) { + err := mongo.Collection.Insert(m) + if err != nil { + log.Printf("Error inserting message: %s", err) + return "", err + } + return string(m.ID), nil +} + +// Count returns the number of stored messages +func (mongo *MongoDB) Count() int { + c, _ := mongo.Collection.Count() + return c +} + +// Search finds messages matching the query +func (mongo *MongoDB) Search(kind, query string, start, limit int) (*data.Messages, int, error) { + messages := &data.Messages{} + var count = 0 + var field = "raw.data" + switch kind { + case "to": + field = "raw.to" + case "from": + field = "raw.from" + } + err := mongo.Collection.Find(bson.M{field: bson.RegEx{Pattern: query, Options: "i"}}).Skip(start).Limit(limit).Sort("-created").Select(bson.M{ + "id": 1, + "_id": 1, + "from": 1, + "to": 1, + "content.headers": 1, + "content.size": 1, + "created": 1, + "raw": 1, + }).All(messages) + if err != nil { + log.Printf("Error loading messages: %s", err) + return nil, 0, err + } + count, _ = mongo.Collection.Find(bson.M{field: bson.RegEx{Pattern: query, Options: "i"}}).Count() + + return messages, count, nil +} + +// List returns a list of messages by index +func (mongo *MongoDB) List(start int, limit int) (*data.Messages, error) { + messages := &data.Messages{} + err := mongo.Collection.Find(bson.M{}).Skip(start).Limit(limit).Sort("-created").Select(bson.M{ + "id": 1, + "_id": 1, + "from": 1, + "to": 1, + "content.headers": 1, + "content.size": 1, + "created": 1, + "raw": 1, + }).All(messages) + if err != nil { + log.Printf("Error loading messages: %s", err) + return nil, err + } + return messages, nil +} + +// DeleteOne deletes an individual message by storage ID +func (mongo *MongoDB) DeleteOne(id string) error { + _, err := mongo.Collection.RemoveAll(bson.M{"id": id}) + return err +} + +// DeleteAll deletes all messages stored in MongoDB +func (mongo *MongoDB) DeleteAll() error { + _, err := mongo.Collection.RemoveAll(bson.M{}) + return err +} + +// Load loads an individual message by storage ID +func (mongo *MongoDB) Load(id string) (*data.Message, error) { + result := &data.Message{} + err := mongo.Collection.Find(bson.M{"id": id}).One(&result) + if err != nil { + log.Printf("Error loading message: %s", err) + return nil, err + } + return result, nil +} diff --git a/vendor/github.com/mailhog/storage/storage.go b/vendor/github.com/mailhog/storage/storage.go new file mode 100644 index 0000000..80966f0 --- /dev/null +++ b/vendor/github.com/mailhog/storage/storage.go @@ -0,0 +1,14 @@ +package storage + +import "github.com/mailhog/data" + +// Storage represents a storage backend +type Storage interface { + Store(m *data.Message) (string, error) + List(start, limit int) (*data.Messages, error) + Search(kind, query string, start, limit int) (*data.Messages, int, error) + Count() int + DeleteOne(id string) error + DeleteAll() error + Load(id string) (*data.Message, error) +} diff --git a/vendor/github.com/philhofer/fwd/LICENSE.md b/vendor/github.com/philhofer/fwd/LICENSE.md new file mode 100644 index 0000000..1ac6a81 --- /dev/null +++ b/vendor/github.com/philhofer/fwd/LICENSE.md @@ -0,0 +1,7 @@ +Copyright (c) 2014-2015, Philip Hofer + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/vendor/github.com/philhofer/fwd/README.md b/vendor/github.com/philhofer/fwd/README.md new file mode 100644 index 0000000..38349af --- /dev/null +++ b/vendor/github.com/philhofer/fwd/README.md @@ -0,0 +1,315 @@ + +# fwd + import "github.com/philhofer/fwd" + +The `fwd` package provides a buffered reader +and writer. Each has methods that help improve +the encoding/decoding performance of some binary +protocols. + +The `fwd.Writer` and `fwd.Reader` type provide similar +functionality to their counterparts in `bufio`, plus +a few extra utility methods that simplify read-ahead +and write-ahead. I wrote this package to improve serialization +performance for http://github.com/tinylib/msgp, +where it provided about a 2x speedup over `bufio` for certain +workloads. However, care must be taken to understand the semantics of the +extra methods provided by this package, as they allow +the user to access and manipulate the buffer memory +directly. + +The extra methods for `fwd.Reader` are `Peek`, `Skip` +and `Next`. `(*fwd.Reader).Peek`, unlike `(*bufio.Reader).Peek`, +will re-allocate the read buffer in order to accommodate arbitrarily +large read-ahead. `(*fwd.Reader).Skip` skips the next `n` bytes +in the stream, and uses the `io.Seeker` interface if the underlying +stream implements it. `(*fwd.Reader).Next` returns a slice pointing +to the next `n` bytes in the read buffer (like `Peek`), but also +increments the read position. This allows users to process streams +in arbitrary block sizes without having to manage appropriately-sized +slices. Additionally, obviating the need to copy the data from the +buffer to another location in memory can improve performance dramatically +in CPU-bound applications. + +`fwd.Writer` only has one extra method, which is `(*fwd.Writer).Next`, which +returns a slice pointing to the next `n` bytes of the writer, and increments +the write position by the length of the returned slice. This allows users +to write directly to the end of the buffer. + + + + +## Constants +``` go +const ( + // DefaultReaderSize is the default size of the read buffer + DefaultReaderSize = 2048 +) +``` +``` go +const ( + // DefaultWriterSize is the + // default write buffer size. + DefaultWriterSize = 2048 +) +``` + + + +## type Reader +``` go +type Reader struct { + // contains filtered or unexported fields +} +``` +Reader is a buffered look-ahead reader + + + + + + + + + +### func NewReader +``` go +func NewReader(r io.Reader) *Reader +``` +NewReader returns a new *Reader that reads from 'r' + + +### func NewReaderSize +``` go +func NewReaderSize(r io.Reader, n int) *Reader +``` +NewReaderSize returns a new *Reader that +reads from 'r' and has a buffer size 'n' + + + + +### func (\*Reader) BufferSize +``` go +func (r *Reader) BufferSize() int +``` +BufferSize returns the total size of the buffer + + + +### func (\*Reader) Buffered +``` go +func (r *Reader) Buffered() int +``` +Buffered returns the number of bytes currently in the buffer + + + +### func (\*Reader) Next +``` go +func (r *Reader) Next(n int) ([]byte, error) +``` +Next returns the next 'n' bytes in the stream. +Unlike Peek, Next advances the reader position. +The returned bytes point to the same +data as the buffer, so the slice is +only valid until the next reader method call. +An EOF is considered an unexpected error. +If an the returned slice is less than the +length asked for, an error will be returned, +and the reader position will not be incremented. + + + +### func (\*Reader) Peek +``` go +func (r *Reader) Peek(n int) ([]byte, error) +``` +Peek returns the next 'n' buffered bytes, +reading from the underlying reader if necessary. +It will only return a slice shorter than 'n' bytes +if it also returns an error. Peek does not advance +the reader. EOF errors are *not* returned as +io.ErrUnexpectedEOF. + + + +### func (\*Reader) Read +``` go +func (r *Reader) Read(b []byte) (int, error) +``` +Read implements `io.Reader` + + + +### func (\*Reader) ReadByte +``` go +func (r *Reader) ReadByte() (byte, error) +``` +ReadByte implements `io.ByteReader` + + + +### func (\*Reader) ReadFull +``` go +func (r *Reader) ReadFull(b []byte) (int, error) +``` +ReadFull attempts to read len(b) bytes into +'b'. It returns the number of bytes read into +'b', and an error if it does not return len(b). +EOF is considered an unexpected error. + + + +### func (\*Reader) Reset +``` go +func (r *Reader) Reset(rd io.Reader) +``` +Reset resets the underlying reader +and the read buffer. + + + +### func (\*Reader) Skip +``` go +func (r *Reader) Skip(n int) (int, error) +``` +Skip moves the reader forward 'n' bytes. +Returns the number of bytes skipped and any +errors encountered. It is analogous to Seek(n, 1). +If the underlying reader implements io.Seeker, then +that method will be used to skip forward. + +If the reader encounters +an EOF before skipping 'n' bytes, it +returns io.ErrUnexpectedEOF. If the +underlying reader implements io.Seeker, then +those rules apply instead. (Many implementations +will not return `io.EOF` until the next call +to Read.) + + + +### func (\*Reader) WriteTo +``` go +func (r *Reader) WriteTo(w io.Writer) (int64, error) +``` +WriteTo implements `io.WriterTo` + + + +## type Writer +``` go +type Writer struct { + // contains filtered or unexported fields +} +``` +Writer is a buffered writer + + + + + + + + + +### func NewWriter +``` go +func NewWriter(w io.Writer) *Writer +``` +NewWriter returns a new writer +that writes to 'w' and has a buffer +that is `DefaultWriterSize` bytes. + + +### func NewWriterSize +``` go +func NewWriterSize(w io.Writer, size int) *Writer +``` +NewWriterSize returns a new writer +that writes to 'w' and has a buffer +that is 'size' bytes. + + + + +### func (\*Writer) BufferSize +``` go +func (w *Writer) BufferSize() int +``` +BufferSize returns the maximum size of the buffer. + + + +### func (\*Writer) Buffered +``` go +func (w *Writer) Buffered() int +``` +Buffered returns the number of buffered bytes +in the reader. + + + +### func (\*Writer) Flush +``` go +func (w *Writer) Flush() error +``` +Flush flushes any buffered bytes +to the underlying writer. + + + +### func (\*Writer) Next +``` go +func (w *Writer) Next(n int) ([]byte, error) +``` +Next returns the next 'n' free bytes +in the write buffer, flushing the writer +as necessary. Next will return `io.ErrShortBuffer` +if 'n' is greater than the size of the write buffer. +Calls to 'next' increment the write position by +the size of the returned buffer. + + + +### func (\*Writer) ReadFrom +``` go +func (w *Writer) ReadFrom(r io.Reader) (int64, error) +``` +ReadFrom implements `io.ReaderFrom` + + + +### func (\*Writer) Write +``` go +func (w *Writer) Write(p []byte) (int, error) +``` +Write implements `io.Writer` + + + +### func (\*Writer) WriteByte +``` go +func (w *Writer) WriteByte(b byte) error +``` +WriteByte implements `io.ByteWriter` + + + +### func (\*Writer) WriteString +``` go +func (w *Writer) WriteString(s string) (int, error) +``` +WriteString is analogous to Write, but it takes a string. + + + + + + + + + +- - - +Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md) \ No newline at end of file diff --git a/vendor/github.com/philhofer/fwd/reader.go b/vendor/github.com/philhofer/fwd/reader.go new file mode 100644 index 0000000..e591910 --- /dev/null +++ b/vendor/github.com/philhofer/fwd/reader.go @@ -0,0 +1,379 @@ +// The `fwd` package provides a buffered reader +// and writer. Each has methods that help improve +// the encoding/decoding performance of some binary +// protocols. +// +// The `fwd.Writer` and `fwd.Reader` type provide similar +// functionality to their counterparts in `bufio`, plus +// a few extra utility methods that simplify read-ahead +// and write-ahead. I wrote this package to improve serialization +// performance for http://github.com/tinylib/msgp, +// where it provided about a 2x speedup over `bufio` for certain +// workloads. However, care must be taken to understand the semantics of the +// extra methods provided by this package, as they allow +// the user to access and manipulate the buffer memory +// directly. +// +// The extra methods for `fwd.Reader` are `Peek`, `Skip` +// and `Next`. `(*fwd.Reader).Peek`, unlike `(*bufio.Reader).Peek`, +// will re-allocate the read buffer in order to accommodate arbitrarily +// large read-ahead. `(*fwd.Reader).Skip` skips the next `n` bytes +// in the stream, and uses the `io.Seeker` interface if the underlying +// stream implements it. `(*fwd.Reader).Next` returns a slice pointing +// to the next `n` bytes in the read buffer (like `Peek`), but also +// increments the read position. This allows users to process streams +// in arbitrary block sizes without having to manage appropriately-sized +// slices. Additionally, obviating the need to copy the data from the +// buffer to another location in memory can improve performance dramatically +// in CPU-bound applications. +// +// `fwd.Writer` only has one extra method, which is `(*fwd.Writer).Next`, which +// returns a slice pointing to the next `n` bytes of the writer, and increments +// the write position by the length of the returned slice. This allows users +// to write directly to the end of the buffer. +// +package fwd + +import "io" + +const ( + // DefaultReaderSize is the default size of the read buffer + DefaultReaderSize = 2048 + + // minimum read buffer; straight from bufio + minReaderSize = 16 +) + +// NewReader returns a new *Reader that reads from 'r' +func NewReader(r io.Reader) *Reader { + return NewReaderSize(r, DefaultReaderSize) +} + +// NewReaderSize returns a new *Reader that +// reads from 'r' and has a buffer size 'n' +func NewReaderSize(r io.Reader, n int) *Reader { + rd := &Reader{ + r: r, + data: make([]byte, 0, max(minReaderSize, n)), + } + if s, ok := r.(io.Seeker); ok { + rd.rs = s + } + return rd +} + +// Reader is a buffered look-ahead reader +type Reader struct { + r io.Reader // underlying reader + + // data[n:len(data)] is buffered data; data[len(data):cap(data)] is free buffer space + data []byte // data + n int // read offset + state error // last read error + + // if the reader past to NewReader was + // also an io.Seeker, this is non-nil + rs io.Seeker +} + +// Reset resets the underlying reader +// and the read buffer. +func (r *Reader) Reset(rd io.Reader) { + r.r = rd + r.data = r.data[0:0] + r.n = 0 + r.state = nil + if s, ok := rd.(io.Seeker); ok { + r.rs = s + } else { + r.rs = nil + } +} + +// more() does one read on the underlying reader +func (r *Reader) more() { + // move data backwards so that + // the read offset is 0; this way + // we can supply the maximum number of + // bytes to the reader + if r.n != 0 { + if r.n < len(r.data) { + r.data = r.data[:copy(r.data[0:], r.data[r.n:])] + } else { + r.data = r.data[:0] + } + r.n = 0 + } + var a int + a, r.state = r.r.Read(r.data[len(r.data):cap(r.data)]) + if a == 0 && r.state == nil { + r.state = io.ErrNoProgress + return + } + r.data = r.data[:len(r.data)+a] +} + +// pop error +func (r *Reader) err() (e error) { + e, r.state = r.state, nil + return +} + +// pop error; EOF -> io.ErrUnexpectedEOF +func (r *Reader) noEOF() (e error) { + e, r.state = r.state, nil + if e == io.EOF { + e = io.ErrUnexpectedEOF + } + return +} + +// buffered bytes +func (r *Reader) buffered() int { return len(r.data) - r.n } + +// Buffered returns the number of bytes currently in the buffer +func (r *Reader) Buffered() int { return len(r.data) - r.n } + +// BufferSize returns the total size of the buffer +func (r *Reader) BufferSize() int { return cap(r.data) } + +// Peek returns the next 'n' buffered bytes, +// reading from the underlying reader if necessary. +// It will only return a slice shorter than 'n' bytes +// if it also returns an error. Peek does not advance +// the reader. EOF errors are *not* returned as +// io.ErrUnexpectedEOF. +func (r *Reader) Peek(n int) ([]byte, error) { + // in the degenerate case, + // we may need to realloc + // (the caller asked for more + // bytes than the size of the buffer) + if cap(r.data) < n { + old := r.data[r.n:] + r.data = make([]byte, n+r.buffered()) + r.data = r.data[:copy(r.data, old)] + r.n = 0 + } + + // keep filling until + // we hit an error or + // read enough bytes + for r.buffered() < n && r.state == nil { + r.more() + } + + // we must have hit an error + if r.buffered() < n { + return r.data[r.n:], r.err() + } + + return r.data[r.n : r.n+n], nil +} + +// Skip moves the reader forward 'n' bytes. +// Returns the number of bytes skipped and any +// errors encountered. It is analogous to Seek(n, 1). +// If the underlying reader implements io.Seeker, then +// that method will be used to skip forward. +// +// If the reader encounters +// an EOF before skipping 'n' bytes, it +// returns io.ErrUnexpectedEOF. If the +// underlying reader implements io.Seeker, then +// those rules apply instead. (Many implementations +// will not return `io.EOF` until the next call +// to Read.) +func (r *Reader) Skip(n int) (int, error) { + + // fast path + if r.buffered() >= n { + r.n += n + return n, nil + } + + // use seeker implementation + // if we can + if r.rs != nil { + return r.skipSeek(n) + } + + // loop on filling + // and then erasing + o := n + for r.buffered() < n && r.state == nil { + r.more() + // we can skip forward + // up to r.buffered() bytes + step := min(r.buffered(), n) + r.n += step + n -= step + } + // at this point, n should be + // 0 if everything went smoothly + return o - n, r.noEOF() +} + +// Next returns the next 'n' bytes in the stream. +// Unlike Peek, Next advances the reader position. +// The returned bytes point to the same +// data as the buffer, so the slice is +// only valid until the next reader method call. +// An EOF is considered an unexpected error. +// If an the returned slice is less than the +// length asked for, an error will be returned, +// and the reader position will not be incremented. +func (r *Reader) Next(n int) ([]byte, error) { + + // in case the buffer is too small + if cap(r.data) < n { + old := r.data[r.n:] + r.data = make([]byte, n+r.buffered()) + r.data = r.data[:copy(r.data, old)] + r.n = 0 + } + + // fill at least 'n' bytes + for r.buffered() < n && r.state == nil { + r.more() + } + + if r.buffered() < n { + return r.data[r.n:], r.noEOF() + } + out := r.data[r.n : r.n+n] + r.n += n + return out, nil +} + +// skipSeek uses the io.Seeker to seek forward. +// only call this function when n > r.buffered() +func (r *Reader) skipSeek(n int) (int, error) { + o := r.buffered() + // first, clear buffer + n -= o + r.n = 0 + r.data = r.data[:0] + + // then seek forward remaning bytes + i, err := r.rs.Seek(int64(n), 1) + return int(i) + o, err +} + +// Read implements `io.Reader` +func (r *Reader) Read(b []byte) (int, error) { + // if we have data in the buffer, just + // return that. + if r.buffered() != 0 { + x := copy(b, r.data[r.n:]) + r.n += x + return x, nil + } + var n int + // we have no buffered data; determine + // whether or not to buffer or call + // the underlying reader directly + if len(b) >= cap(r.data) { + n, r.state = r.r.Read(b) + } else { + r.more() + n = copy(b, r.data) + r.n = n + } + if n == 0 { + return 0, r.err() + } + return n, nil +} + +// ReadFull attempts to read len(b) bytes into +// 'b'. It returns the number of bytes read into +// 'b', and an error if it does not return len(b). +// EOF is considered an unexpected error. +func (r *Reader) ReadFull(b []byte) (int, error) { + var n int // read into b + var nn int // scratch + l := len(b) + // either read buffered data, + // or read directly for the underlying + // buffer, or fetch more buffered data. + for n < l && r.state == nil { + if r.buffered() != 0 { + nn = copy(b[n:], r.data[r.n:]) + n += nn + r.n += nn + } else if l-n > cap(r.data) { + nn, r.state = r.r.Read(b[n:]) + n += nn + } else { + r.more() + } + } + if n < l { + return n, r.noEOF() + } + return n, nil +} + +// ReadByte implements `io.ByteReader` +func (r *Reader) ReadByte() (byte, error) { + for r.buffered() < 1 && r.state == nil { + r.more() + } + if r.buffered() < 1 { + return 0, r.err() + } + b := r.data[r.n] + r.n++ + return b, nil +} + +// WriteTo implements `io.WriterTo` +func (r *Reader) WriteTo(w io.Writer) (int64, error) { + var ( + i int64 + ii int + err error + ) + // first, clear buffer + if r.buffered() > 0 { + ii, err = w.Write(r.data[r.n:]) + i += int64(ii) + if err != nil { + return i, err + } + r.data = r.data[0:0] + r.n = 0 + } + for r.state == nil { + // here we just do + // 1:1 reads and writes + r.more() + if r.buffered() > 0 { + ii, err = w.Write(r.data) + i += int64(ii) + if err != nil { + return i, err + } + r.data = r.data[0:0] + r.n = 0 + } + } + if r.state != io.EOF { + return i, r.err() + } + return i, nil +} + +func min(a int, b int) int { + if a < b { + return a + } + return b +} + +func max(a int, b int) int { + if a < b { + return b + } + return a +} diff --git a/vendor/github.com/philhofer/fwd/writer.go b/vendor/github.com/philhofer/fwd/writer.go new file mode 100644 index 0000000..2dc392a --- /dev/null +++ b/vendor/github.com/philhofer/fwd/writer.go @@ -0,0 +1,224 @@ +package fwd + +import "io" + +const ( + // DefaultWriterSize is the + // default write buffer size. + DefaultWriterSize = 2048 + + minWriterSize = minReaderSize +) + +// Writer is a buffered writer +type Writer struct { + w io.Writer // writer + buf []byte // 0:len(buf) is bufered data +} + +// NewWriter returns a new writer +// that writes to 'w' and has a buffer +// that is `DefaultWriterSize` bytes. +func NewWriter(w io.Writer) *Writer { + if wr, ok := w.(*Writer); ok { + return wr + } + return &Writer{ + w: w, + buf: make([]byte, 0, DefaultWriterSize), + } +} + +// NewWriterSize returns a new writer +// that writes to 'w' and has a buffer +// that is 'size' bytes. +func NewWriterSize(w io.Writer, size int) *Writer { + if wr, ok := w.(*Writer); ok && cap(wr.buf) >= size { + return wr + } + return &Writer{ + w: w, + buf: make([]byte, 0, max(size, minWriterSize)), + } +} + +// Buffered returns the number of buffered bytes +// in the reader. +func (w *Writer) Buffered() int { return len(w.buf) } + +// BufferSize returns the maximum size of the buffer. +func (w *Writer) BufferSize() int { return cap(w.buf) } + +// Flush flushes any buffered bytes +// to the underlying writer. +func (w *Writer) Flush() error { + l := len(w.buf) + if l > 0 { + n, err := w.w.Write(w.buf) + + // if we didn't write the whole + // thing, copy the unwritten + // bytes to the beginnning of the + // buffer. + if n < l && n > 0 { + w.pushback(n) + if err == nil { + err = io.ErrShortWrite + } + } + if err != nil { + return err + } + w.buf = w.buf[:0] + return nil + } + return nil +} + +// Write implements `io.Writer` +func (w *Writer) Write(p []byte) (int, error) { + c, l, ln := cap(w.buf), len(w.buf), len(p) + avail := c - l + + // requires flush + if avail < ln { + if err := w.Flush(); err != nil { + return 0, err + } + l = len(w.buf) + } + // too big to fit in buffer; + // write directly to w.w + if c < ln { + return w.w.Write(p) + } + + // grow buf slice; copy; return + w.buf = w.buf[:l+ln] + return copy(w.buf[l:], p), nil +} + +// WriteString is analogous to Write, but it takes a string. +func (w *Writer) WriteString(s string) (int, error) { + c, l, ln := cap(w.buf), len(w.buf), len(s) + avail := c - l + + // requires flush + if avail < ln { + if err := w.Flush(); err != nil { + return 0, err + } + l = len(w.buf) + } + // too big to fit in buffer; + // write directly to w.w + // + // yes, this is unsafe. *but* + // io.Writer is not allowed + // to mutate its input or + // maintain a reference to it, + // per the spec in package io. + // + // plus, if the string is really + // too big to fit in the buffer, then + // creating a copy to write it is + // expensive (and, strictly speaking, + // unnecessary) + if c < ln { + return w.w.Write(unsafestr(s)) + } + + // grow buf slice; copy; return + w.buf = w.buf[:l+ln] + return copy(w.buf[l:], s), nil +} + +// WriteByte implements `io.ByteWriter` +func (w *Writer) WriteByte(b byte) error { + if len(w.buf) == cap(w.buf) { + if err := w.Flush(); err != nil { + return err + } + } + w.buf = append(w.buf, b) + return nil +} + +// Next returns the next 'n' free bytes +// in the write buffer, flushing the writer +// as necessary. Next will return `io.ErrShortBuffer` +// if 'n' is greater than the size of the write buffer. +// Calls to 'next' increment the write position by +// the size of the returned buffer. +func (w *Writer) Next(n int) ([]byte, error) { + c, l := cap(w.buf), len(w.buf) + if n > c { + return nil, io.ErrShortBuffer + } + avail := c - l + if avail < n { + if err := w.Flush(); err != nil { + return nil, err + } + l = len(w.buf) + } + w.buf = w.buf[:l+n] + return w.buf[l:], nil +} + +// take the bytes from w.buf[n:len(w.buf)] +// and put them at the beginning of w.buf, +// and resize to the length of the copied segment. +func (w *Writer) pushback(n int) { + w.buf = w.buf[:copy(w.buf, w.buf[n:])] +} + +// ReadFrom implements `io.ReaderFrom` +func (w *Writer) ReadFrom(r io.Reader) (int64, error) { + // anticipatory flush + if err := w.Flush(); err != nil { + return 0, err + } + + w.buf = w.buf[0:cap(w.buf)] // expand buffer + + var nn int64 // written + var err error // error + var x int // read + + // 1:1 reads and writes + for err == nil { + x, err = r.Read(w.buf) + if x > 0 { + n, werr := w.w.Write(w.buf[:x]) + nn += int64(n) + + if err != nil { + if n < x && n > 0 { + w.pushback(n - x) + } + return nn, werr + } + if n < x { + w.pushback(n - x) + return nn, io.ErrShortWrite + } + } else if err == nil { + err = io.ErrNoProgress + break + } + } + if err != io.EOF { + return nn, err + } + + // we only clear here + // because we are sure + // the writes have + // succeeded. otherwise, + // we retain the data in case + // future writes succeed. + w.buf = w.buf[0:0] + + return nn, nil +} diff --git a/vendor/github.com/philhofer/fwd/writer_appengine.go b/vendor/github.com/philhofer/fwd/writer_appengine.go new file mode 100644 index 0000000..e367f39 --- /dev/null +++ b/vendor/github.com/philhofer/fwd/writer_appengine.go @@ -0,0 +1,5 @@ +// +build appengine + +package fwd + +func unsafestr(s string) []byte { return []byte(s) } diff --git a/vendor/github.com/philhofer/fwd/writer_unsafe.go b/vendor/github.com/philhofer/fwd/writer_unsafe.go new file mode 100644 index 0000000..a0bf453 --- /dev/null +++ b/vendor/github.com/philhofer/fwd/writer_unsafe.go @@ -0,0 +1,18 @@ +// +build !appengine + +package fwd + +import ( + "reflect" + "unsafe" +) + +// unsafe cast string as []byte +func unsafestr(b string) []byte { + l := len(b) + return *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader{ + Len: l, + Cap: l, + Data: (*reflect.StringHeader)(unsafe.Pointer(&b)).Data, + })) +} diff --git a/vendor/github.com/smartystreets/assertions/CONTRIBUTING.md b/vendor/github.com/smartystreets/assertions/CONTRIBUTING.md new file mode 100644 index 0000000..1820ecb --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/CONTRIBUTING.md @@ -0,0 +1,12 @@ +# Contributing + +In general, the code posted to the [SmartyStreets github organization](https://github.com/smartystreets) is created to solve specific problems at SmartyStreets that are ancillary to our core products in the address verification industry and may or may not be useful to other organizations or developers. Our reason for posting said code isn't necessarily to solicit feedback or contributions from the community but more as a showcase of some of the approaches to solving problems we have adopted. + +Having stated that, we do consider issues raised by other githubbers as well as contributions submitted via pull requests. When submitting such a pull request, please follow these guidelines: + +- _Look before you leap:_ If the changes you plan to make are significant, it's in everyone's best interest for you to discuss them with a SmartyStreets team member prior to opening a pull request. +- _License and ownership:_ If modifying the `LICENSE.md` file, limit your changes to fixing typographical mistakes. Do NOT modify the actual terms in the license or the copyright by **SmartyStreets, LLC**. Code submitted to SmartyStreets projects becomes property of SmartyStreets and must be compatible with the associated license. +- _Testing:_ If the code you are submitting resides in packages/modules covered by automated tests, be sure to add passing tests that cover your changes and assert expected behavior and state. Submit the additional test cases as part of your change set. +- _Style:_ Match your approach to **naming** and **formatting** with the surrounding code. Basically, the code you submit shouldn't stand out. + - "Naming" refers to such constructs as variables, methods, functions, classes, structs, interfaces, packages, modules, directories, files, etc... + - "Formatting" refers to such constructs as whitespace, horizontal line length, vertical function length, vertical file length, indentation, curly braces, etc... diff --git a/vendor/github.com/smartystreets/assertions/LICENSE.md b/vendor/github.com/smartystreets/assertions/LICENSE.md new file mode 100644 index 0000000..8ea6f94 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/LICENSE.md @@ -0,0 +1,23 @@ +Copyright (c) 2016 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. diff --git a/vendor/github.com/smartystreets/assertions/README.md b/vendor/github.com/smartystreets/assertions/README.md new file mode 100644 index 0000000..58383bb --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/README.md @@ -0,0 +1,575 @@ +# assertions +-- + import "github.com/smartystreets/assertions" + +Package assertions contains the implementations for all assertions which are +referenced in goconvey's `convey` package +(github.com/smartystreets/goconvey/convey) and gunit +(github.com/smartystreets/gunit) for use with the So(...) method. They can also +be used in traditional Go test functions and even in applications. + +Many of the assertions lean heavily on work done by Aaron Jacobs in his +excellent oglematchers library. (https://github.com/jacobsa/oglematchers) The +ShouldResemble assertion leans heavily on work done by Daniel Jacques in his +very helpful go-render library. (https://github.com/luci/go-render) + +## Usage + +#### func GoConveyMode + +```go +func GoConveyMode(yes bool) +``` +GoConveyMode provides control over JSON serialization of failures. When using +the assertions in this package from the convey package JSON results are very +helpful and can be rendered in a DIFF view. In that case, this function will be +called with a true value to enable the JSON serialization. By default, the +assertions in this package will not serializer a JSON result, making standalone +ussage more convenient. + +#### func ShouldAlmostEqual + +```go +func ShouldAlmostEqual(actual interface{}, expected ...interface{}) string +``` +ShouldAlmostEqual makes sure that two parameters are close enough to being +equal. The acceptable delta may be specified with a third argument, or a very +small default delta will be used. + +#### func ShouldBeBetween + +```go +func ShouldBeBetween(actual interface{}, expected ...interface{}) string +``` +ShouldBeBetween receives exactly three parameters: an actual value, a lower +bound, and an upper bound. It ensures that the actual value is between both +bounds (but not equal to either of them). + +#### func ShouldBeBetweenOrEqual + +```go +func ShouldBeBetweenOrEqual(actual interface{}, expected ...interface{}) string +``` +ShouldBeBetweenOrEqual receives exactly three parameters: an actual value, a +lower bound, and an upper bound. It ensures that the actual value is between +both bounds or equal to one of them. + +#### func ShouldBeBlank + +```go +func ShouldBeBlank(actual interface{}, expected ...interface{}) string +``` +ShouldBeBlank receives exactly 1 string parameter and ensures that it is equal +to "". + +#### func ShouldBeChronological + +```go +func ShouldBeChronological(actual interface{}, expected ...interface{}) string +``` +ShouldBeChronological receives a []time.Time slice and asserts that the are in +chronological order starting with the first time.Time as the earliest. + +#### func ShouldBeEmpty + +```go +func ShouldBeEmpty(actual interface{}, expected ...interface{}) string +``` +ShouldBeEmpty receives a single parameter (actual) and determines whether or not +calling len(actual) would return `0`. It obeys the rules specified by the len +function for determining length: http://golang.org/pkg/builtin/#len + +#### func ShouldBeFalse + +```go +func ShouldBeFalse(actual interface{}, expected ...interface{}) string +``` +ShouldBeFalse receives a single parameter and ensures that it is false. + +#### func ShouldBeGreaterThan + +```go +func ShouldBeGreaterThan(actual interface{}, expected ...interface{}) string +``` +ShouldBeGreaterThan receives exactly two parameters and ensures that the first +is greater than the second. + +#### func ShouldBeGreaterThanOrEqualTo + +```go +func ShouldBeGreaterThanOrEqualTo(actual interface{}, expected ...interface{}) string +``` +ShouldBeGreaterThanOrEqualTo receives exactly two parameters and ensures that +the first is greater than or equal to the second. + +#### func ShouldBeIn + +```go +func ShouldBeIn(actual interface{}, expected ...interface{}) string +``` +ShouldBeIn receives at least 2 parameters. The first is a proposed member of the +collection that is passed in either as the second parameter, or of the +collection that is comprised of all the remaining parameters. This assertion +ensures that the proposed member is in the collection (using ShouldEqual). + +#### func ShouldBeLessThan + +```go +func ShouldBeLessThan(actual interface{}, expected ...interface{}) string +``` +ShouldBeLessThan receives exactly two parameters and ensures that the first is +less than the second. + +#### func ShouldBeLessThanOrEqualTo + +```go +func ShouldBeLessThanOrEqualTo(actual interface{}, expected ...interface{}) string +``` +ShouldBeLessThan receives exactly two parameters and ensures that the first is +less than or equal to the second. + +#### func ShouldBeNil + +```go +func ShouldBeNil(actual interface{}, expected ...interface{}) string +``` +ShouldBeNil receives a single parameter and ensures that it is nil. + +#### func ShouldBeTrue + +```go +func ShouldBeTrue(actual interface{}, expected ...interface{}) string +``` +ShouldBeTrue receives a single parameter and ensures that it is true. + +#### func ShouldBeZeroValue + +```go +func ShouldBeZeroValue(actual interface{}, expected ...interface{}) string +``` +ShouldBeZeroValue receives a single parameter and ensures that it is the Go +equivalent of the default value, or "zero" value. + +#### func ShouldContain + +```go +func ShouldContain(actual interface{}, expected ...interface{}) string +``` +ShouldContain receives exactly two parameters. The first is a slice and the +second is a proposed member. Membership is determined using ShouldEqual. + +#### func ShouldContainKey + +```go +func ShouldContainKey(actual interface{}, expected ...interface{}) string +``` +ShouldContainKey receives exactly two parameters. The first is a map and the +second is a proposed key. Keys are compared with a simple '=='. + +#### func ShouldContainSubstring + +```go +func ShouldContainSubstring(actual interface{}, expected ...interface{}) string +``` +ShouldContainSubstring receives exactly 2 string parameters and ensures that the +first contains the second as a substring. + +#### func ShouldEndWith + +```go +func ShouldEndWith(actual interface{}, expected ...interface{}) string +``` +ShouldEndWith receives exactly 2 string parameters and ensures that the first +ends with the second. + +#### func ShouldEqual + +```go +func ShouldEqual(actual interface{}, expected ...interface{}) string +``` +ShouldEqual receives exactly two parameters and does an equality check. + +#### func ShouldEqualTrimSpace + +```go +func ShouldEqualTrimSpace(actual interface{}, expected ...interface{}) string +``` +ShouldEqualTrimSpace receives exactly 2 string parameters and ensures that the +first is equal to the second after removing all leading and trailing whitespace +using strings.TrimSpace(first). + +#### func ShouldEqualWithout + +```go +func ShouldEqualWithout(actual interface{}, expected ...interface{}) string +``` +ShouldEqualWithout receives exactly 3 string parameters and ensures that the +first is equal to the second after removing all instances of the third from the +first using strings.Replace(first, third, "", -1). + +#### func ShouldHappenAfter + +```go +func ShouldHappenAfter(actual interface{}, expected ...interface{}) string +``` +ShouldHappenAfter receives exactly 2 time.Time arguments and asserts that the +first happens after the second. + +#### func ShouldHappenBefore + +```go +func ShouldHappenBefore(actual interface{}, expected ...interface{}) string +``` +ShouldHappenBefore receives exactly 2 time.Time arguments and asserts that the +first happens before the second. + +#### func ShouldHappenBetween + +```go +func ShouldHappenBetween(actual interface{}, expected ...interface{}) string +``` +ShouldHappenBetween receives exactly 3 time.Time arguments and asserts that the +first happens between (not on) the second and third. + +#### func ShouldHappenOnOrAfter + +```go +func ShouldHappenOnOrAfter(actual interface{}, expected ...interface{}) string +``` +ShouldHappenOnOrAfter receives exactly 2 time.Time arguments and asserts that +the first happens on or after the second. + +#### func ShouldHappenOnOrBefore + +```go +func ShouldHappenOnOrBefore(actual interface{}, expected ...interface{}) string +``` +ShouldHappenOnOrBefore receives exactly 2 time.Time arguments and asserts that +the first happens on or before the second. + +#### func ShouldHappenOnOrBetween + +```go +func ShouldHappenOnOrBetween(actual interface{}, expected ...interface{}) string +``` +ShouldHappenOnOrBetween receives exactly 3 time.Time arguments and asserts that +the first happens between or on the second and third. + +#### func ShouldHappenWithin + +```go +func ShouldHappenWithin(actual interface{}, expected ...interface{}) string +``` +ShouldHappenWithin receives a time.Time, a time.Duration, and a time.Time (3 +arguments) and asserts that the first time.Time happens within or on the +duration specified relative to the other time.Time. + +#### func ShouldHaveLength + +```go +func ShouldHaveLength(actual interface{}, expected ...interface{}) string +``` +ShouldHaveLength receives 2 parameters. The first is a collection to check the +length of, the second being the expected length. It obeys the rules specified by +the len function for determining length: http://golang.org/pkg/builtin/#len + +#### func ShouldHaveSameTypeAs + +```go +func ShouldHaveSameTypeAs(actual interface{}, expected ...interface{}) string +``` +ShouldHaveSameTypeAs receives exactly two parameters and compares their +underlying types for equality. + +#### func ShouldImplement + +```go +func ShouldImplement(actual interface{}, expectedList ...interface{}) string +``` +ShouldImplement receives exactly two parameters and ensures that the first +implements the interface type of the second. + +#### func ShouldNotAlmostEqual + +```go +func ShouldNotAlmostEqual(actual interface{}, expected ...interface{}) string +``` +ShouldNotAlmostEqual is the inverse of ShouldAlmostEqual + +#### func ShouldNotBeBetween + +```go +func ShouldNotBeBetween(actual interface{}, expected ...interface{}) string +``` +ShouldNotBeBetween receives exactly three parameters: an actual value, a lower +bound, and an upper bound. It ensures that the actual value is NOT between both +bounds. + +#### func ShouldNotBeBetweenOrEqual + +```go +func ShouldNotBeBetweenOrEqual(actual interface{}, expected ...interface{}) string +``` +ShouldNotBeBetweenOrEqual receives exactly three parameters: an actual value, a +lower bound, and an upper bound. It ensures that the actual value is nopt +between the bounds nor equal to either of them. + +#### func ShouldNotBeBlank + +```go +func ShouldNotBeBlank(actual interface{}, expected ...interface{}) string +``` +ShouldNotBeBlank receives exactly 1 string parameter and ensures that it is +equal to "". + +#### func ShouldNotBeEmpty + +```go +func ShouldNotBeEmpty(actual interface{}, expected ...interface{}) string +``` +ShouldNotBeEmpty receives a single parameter (actual) and determines whether or +not calling len(actual) would return a value greater than zero. It obeys the +rules specified by the `len` function for determining length: +http://golang.org/pkg/builtin/#len + +#### func ShouldNotBeIn + +```go +func ShouldNotBeIn(actual interface{}, expected ...interface{}) string +``` +ShouldNotBeIn receives at least 2 parameters. The first is a proposed member of +the collection that is passed in either as the second parameter, or of the +collection that is comprised of all the remaining parameters. This assertion +ensures that the proposed member is NOT in the collection (using ShouldEqual). + +#### func ShouldNotBeNil + +```go +func ShouldNotBeNil(actual interface{}, expected ...interface{}) string +``` +ShouldNotBeNil receives a single parameter and ensures that it is not nil. + +#### func ShouldNotContain + +```go +func ShouldNotContain(actual interface{}, expected ...interface{}) string +``` +ShouldNotContain receives exactly two parameters. The first is a slice and the +second is a proposed member. Membership is determinied using ShouldEqual. + +#### func ShouldNotContainKey + +```go +func ShouldNotContainKey(actual interface{}, expected ...interface{}) string +``` +ShouldNotContainKey receives exactly two parameters. The first is a map and the +second is a proposed absent key. Keys are compared with a simple '=='. + +#### func ShouldNotContainSubstring + +```go +func ShouldNotContainSubstring(actual interface{}, expected ...interface{}) string +``` +ShouldNotContainSubstring receives exactly 2 string parameters and ensures that +the first does NOT contain the second as a substring. + +#### func ShouldNotEndWith + +```go +func ShouldNotEndWith(actual interface{}, expected ...interface{}) string +``` +ShouldEndWith receives exactly 2 string parameters and ensures that the first +does not end with the second. + +#### func ShouldNotEqual + +```go +func ShouldNotEqual(actual interface{}, expected ...interface{}) string +``` +ShouldNotEqual receives exactly two parameters and does an inequality check. + +#### func ShouldNotHappenOnOrBetween + +```go +func ShouldNotHappenOnOrBetween(actual interface{}, expected ...interface{}) string +``` +ShouldNotHappenOnOrBetween receives exactly 3 time.Time arguments and asserts +that the first does NOT happen between or on the second or third. + +#### func ShouldNotHappenWithin + +```go +func ShouldNotHappenWithin(actual interface{}, expected ...interface{}) string +``` +ShouldNotHappenWithin receives a time.Time, a time.Duration, and a time.Time (3 +arguments) and asserts that the first time.Time does NOT happen within or on the +duration specified relative to the other time.Time. + +#### func ShouldNotHaveSameTypeAs + +```go +func ShouldNotHaveSameTypeAs(actual interface{}, expected ...interface{}) string +``` +ShouldNotHaveSameTypeAs receives exactly two parameters and compares their +underlying types for inequality. + +#### func ShouldNotImplement + +```go +func ShouldNotImplement(actual interface{}, expectedList ...interface{}) string +``` +ShouldNotImplement receives exactly two parameters and ensures that the first +does NOT implement the interface type of the second. + +#### func ShouldNotPanic + +```go +func ShouldNotPanic(actual interface{}, expected ...interface{}) (message string) +``` +ShouldNotPanic receives a void, niladic function and expects to execute the +function without any panic. + +#### func ShouldNotPanicWith + +```go +func ShouldNotPanicWith(actual interface{}, expected ...interface{}) (message string) +``` +ShouldNotPanicWith receives a void, niladic function and expects to recover a +panic whose content differs from the second argument. + +#### func ShouldNotPointTo + +```go +func ShouldNotPointTo(actual interface{}, expected ...interface{}) string +``` +ShouldNotPointTo receives exactly two parameters and checks to see that they +point to different addresess. + +#### func ShouldNotResemble + +```go +func ShouldNotResemble(actual interface{}, expected ...interface{}) string +``` +ShouldNotResemble receives exactly two parameters and does an inverse deep equal +check (see reflect.DeepEqual) + +#### func ShouldNotStartWith + +```go +func ShouldNotStartWith(actual interface{}, expected ...interface{}) string +``` +ShouldNotStartWith receives exactly 2 string parameters and ensures that the +first does not start with the second. + +#### func ShouldPanic + +```go +func ShouldPanic(actual interface{}, expected ...interface{}) (message string) +``` +ShouldPanic receives a void, niladic function and expects to recover a panic. + +#### func ShouldPanicWith + +```go +func ShouldPanicWith(actual interface{}, expected ...interface{}) (message string) +``` +ShouldPanicWith receives a void, niladic function and expects to recover a panic +with the second argument as the content. + +#### func ShouldPointTo + +```go +func ShouldPointTo(actual interface{}, expected ...interface{}) string +``` +ShouldPointTo receives exactly two parameters and checks to see that they point +to the same address. + +#### func ShouldResemble + +```go +func ShouldResemble(actual interface{}, expected ...interface{}) string +``` +ShouldResemble receives exactly two parameters and does a deep equal check (see +reflect.DeepEqual) + +#### func ShouldStartWith + +```go +func ShouldStartWith(actual interface{}, expected ...interface{}) string +``` +ShouldStartWith receives exactly 2 string parameters and ensures that the first +starts with the second. + +#### func So + +```go +func So(actual interface{}, assert assertion, expected ...interface{}) (bool, string) +``` +So is a convenience function (as opposed to an inconvenience function?) for +running assertions on arbitrary arguments in any context, be it for testing or +even application logging. It allows you to perform assertion-like behavior (and +get nicely formatted messages detailing discrepancies) but without the program +blowing up or panicking. All that is required is to import this package and call +`So` with one of the assertions exported by this package as the second +parameter. The first return parameter is a boolean indicating if the assertion +was true. The second return parameter is the well-formatted message showing why +an assertion was incorrect, or blank if the assertion was correct. + +Example: + + if ok, message := So(x, ShouldBeGreaterThan, y); !ok { + log.Println(message) + } + +#### type Assertion + +```go +type Assertion struct { +} +``` + + +#### func New + +```go +func New(t testingT) *Assertion +``` +New swallows the *testing.T struct and prints failed assertions using t.Error. +Example: assertions.New(t).So(1, should.Equal, 1) + +#### func (*Assertion) Failed + +```go +func (this *Assertion) Failed() bool +``` +Failed reports whether any calls to So (on this Assertion instance) have failed. + +#### func (*Assertion) So + +```go +func (this *Assertion) So(actual interface{}, assert assertion, expected ...interface{}) bool +``` +So calls the standalone So function and additionally, calls t.Error in failure +scenarios. + +#### type FailureView + +```go +type FailureView struct { + Message string `json:"Message"` + Expected string `json:"Expected"` + Actual string `json:"Actual"` +} +``` + +This struct is also declared in +github.com/smartystreets/goconvey/convey/reporting. The json struct tags should +be equal in both declarations. + +#### type Serializer + +```go +type Serializer interface { + // contains filtered or unexported methods +} +``` diff --git a/vendor/github.com/smartystreets/assertions/collections.go b/vendor/github.com/smartystreets/assertions/collections.go new file mode 100644 index 0000000..d7f407e --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/collections.go @@ -0,0 +1,244 @@ +package assertions + +import ( + "fmt" + "reflect" + + "github.com/smartystreets/assertions/internal/oglematchers" +) + +// ShouldContain receives exactly two parameters. The first is a slice and the +// second is a proposed member. Membership is determined using ShouldEqual. +func ShouldContain(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + if matchError := oglematchers.Contains(expected[0]).Matches(actual); matchError != nil { + typeName := reflect.TypeOf(actual) + + if fmt.Sprintf("%v", matchError) == "which is not a slice or array" { + return fmt.Sprintf(shouldHaveBeenAValidCollection, typeName) + } + return fmt.Sprintf(shouldHaveContained, typeName, expected[0]) + } + return success +} + +// ShouldNotContain receives exactly two parameters. The first is a slice and the +// second is a proposed member. Membership is determinied using ShouldEqual. +func ShouldNotContain(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + typeName := reflect.TypeOf(actual) + + if matchError := oglematchers.Contains(expected[0]).Matches(actual); matchError != nil { + if fmt.Sprintf("%v", matchError) == "which is not a slice or array" { + return fmt.Sprintf(shouldHaveBeenAValidCollection, typeName) + } + return success + } + return fmt.Sprintf(shouldNotHaveContained, typeName, expected[0]) +} + +// ShouldContainKey receives exactly two parameters. The first is a map and the +// second is a proposed key. Keys are compared with a simple '=='. +func ShouldContainKey(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + keys, isMap := mapKeys(actual) + if !isMap { + return fmt.Sprintf(shouldHaveBeenAValidMap, reflect.TypeOf(actual)) + } + + if !keyFound(keys, expected[0]) { + return fmt.Sprintf(shouldHaveContainedKey, reflect.TypeOf(actual), expected) + } + + return "" +} + +// ShouldNotContainKey receives exactly two parameters. The first is a map and the +// second is a proposed absent key. Keys are compared with a simple '=='. +func ShouldNotContainKey(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + keys, isMap := mapKeys(actual) + if !isMap { + return fmt.Sprintf(shouldHaveBeenAValidMap, reflect.TypeOf(actual)) + } + + if keyFound(keys, expected[0]) { + return fmt.Sprintf(shouldNotHaveContainedKey, reflect.TypeOf(actual), expected) + } + + return "" +} + +func mapKeys(m interface{}) ([]reflect.Value, bool) { + value := reflect.ValueOf(m) + if value.Kind() != reflect.Map { + return nil, false + } + return value.MapKeys(), true +} +func keyFound(keys []reflect.Value, expectedKey interface{}) bool { + found := false + for _, key := range keys { + if key.Interface() == expectedKey { + found = true + } + } + return found +} + +// ShouldBeIn receives at least 2 parameters. The first is a proposed member of the collection +// that is passed in either as the second parameter, or of the collection that is comprised +// of all the remaining parameters. This assertion ensures that the proposed member is in +// the collection (using ShouldEqual). +func ShouldBeIn(actual interface{}, expected ...interface{}) string { + if fail := atLeast(1, expected); fail != success { + return fail + } + + if len(expected) == 1 { + return shouldBeIn(actual, expected[0]) + } + return shouldBeIn(actual, expected) +} +func shouldBeIn(actual interface{}, expected interface{}) string { + if matchError := oglematchers.Contains(actual).Matches(expected); matchError != nil { + return fmt.Sprintf(shouldHaveBeenIn, actual, reflect.TypeOf(expected)) + } + return success +} + +// ShouldNotBeIn receives at least 2 parameters. The first is a proposed member of the collection +// that is passed in either as the second parameter, or of the collection that is comprised +// of all the remaining parameters. This assertion ensures that the proposed member is NOT in +// the collection (using ShouldEqual). +func ShouldNotBeIn(actual interface{}, expected ...interface{}) string { + if fail := atLeast(1, expected); fail != success { + return fail + } + + if len(expected) == 1 { + return shouldNotBeIn(actual, expected[0]) + } + return shouldNotBeIn(actual, expected) +} +func shouldNotBeIn(actual interface{}, expected interface{}) string { + if matchError := oglematchers.Contains(actual).Matches(expected); matchError == nil { + return fmt.Sprintf(shouldNotHaveBeenIn, actual, reflect.TypeOf(expected)) + } + return success +} + +// ShouldBeEmpty receives a single parameter (actual) and determines whether or not +// calling len(actual) would return `0`. It obeys the rules specified by the len +// function for determining length: http://golang.org/pkg/builtin/#len +func ShouldBeEmpty(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } + + if actual == nil { + return success + } + + value := reflect.ValueOf(actual) + switch value.Kind() { + case reflect.Slice: + if value.Len() == 0 { + return success + } + case reflect.Chan: + if value.Len() == 0 { + return success + } + case reflect.Map: + if value.Len() == 0 { + return success + } + case reflect.String: + if value.Len() == 0 { + return success + } + case reflect.Ptr: + elem := value.Elem() + kind := elem.Kind() + if (kind == reflect.Slice || kind == reflect.Array) && elem.Len() == 0 { + return success + } + } + + return fmt.Sprintf(shouldHaveBeenEmpty, actual) +} + +// ShouldNotBeEmpty receives a single parameter (actual) and determines whether or not +// calling len(actual) would return a value greater than zero. It obeys the rules +// specified by the `len` function for determining length: http://golang.org/pkg/builtin/#len +func ShouldNotBeEmpty(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } + + if empty := ShouldBeEmpty(actual, expected...); empty != success { + return success + } + return fmt.Sprintf(shouldNotHaveBeenEmpty, actual) +} + +// ShouldHaveLength receives 2 parameters. The first is a collection to check +// the length of, the second being the expected length. It obeys the rules +// specified by the len function for determining length: +// http://golang.org/pkg/builtin/#len +func ShouldHaveLength(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + var expectedLen int64 + lenValue := reflect.ValueOf(expected[0]) + switch lenValue.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + expectedLen = lenValue.Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + expectedLen = int64(lenValue.Uint()) + default: + return fmt.Sprintf(shouldHaveBeenAValidInteger, reflect.TypeOf(expected[0])) + } + + if expectedLen < 0 { + return fmt.Sprintf(shouldHaveBeenAValidLength, expected[0]) + } + + value := reflect.ValueOf(actual) + switch value.Kind() { + case reflect.Slice, + reflect.Chan, + reflect.Map, + reflect.String: + if int64(value.Len()) == expectedLen { + return success + } else { + return fmt.Sprintf(shouldHaveHadLength, actual, value.Len(), expectedLen) + } + case reflect.Ptr: + elem := value.Elem() + kind := elem.Kind() + if kind == reflect.Slice || kind == reflect.Array { + if int64(elem.Len()) == expectedLen { + return success + } else { + return fmt.Sprintf(shouldHaveHadLength, actual, elem.Len(), expectedLen) + } + } + } + return fmt.Sprintf(shouldHaveBeenAValidCollection, reflect.TypeOf(actual)) +} diff --git a/vendor/github.com/smartystreets/assertions/doc.go b/vendor/github.com/smartystreets/assertions/doc.go new file mode 100644 index 0000000..43ceb6e --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/doc.go @@ -0,0 +1,105 @@ +// Package assertions contains the implementations for all assertions which +// are referenced in goconvey's `convey` package +// (github.com/smartystreets/goconvey/convey) and gunit (github.com/smartystreets/gunit) +// for use with the So(...) method. +// They can also be used in traditional Go test functions and even in +// applications. +// +// Many of the assertions lean heavily on work done by Aaron Jacobs in his excellent oglematchers library. +// (https://github.com/jacobsa/oglematchers) +// The ShouldResemble assertion leans heavily on work done by Daniel Jacques in his very helpful go-render library. +// (https://github.com/luci/go-render) +package assertions + +import ( + "fmt" + "runtime" +) + +// By default we use a no-op serializer. The actual Serializer provides a JSON +// representation of failure results on selected assertions so the goconvey +// web UI can display a convenient diff. +var serializer Serializer = new(noopSerializer) + +// GoConveyMode provides control over JSON serialization of failures. When +// using the assertions in this package from the convey package JSON results +// are very helpful and can be rendered in a DIFF view. In that case, this function +// will be called with a true value to enable the JSON serialization. By default, +// the assertions in this package will not serializer a JSON result, making +// standalone usage more convenient. +func GoConveyMode(yes bool) { + if yes { + serializer = newSerializer() + } else { + serializer = new(noopSerializer) + } +} + +type testingT interface { + Error(args ...interface{}) +} + +type Assertion struct { + t testingT + failed bool +} + +// New swallows the *testing.T struct and prints failed assertions using t.Error. +// Example: assertions.New(t).So(1, should.Equal, 1) +func New(t testingT) *Assertion { + return &Assertion{t: t} +} + +// Failed reports whether any calls to So (on this Assertion instance) have failed. +func (this *Assertion) Failed() bool { + return this.failed +} + +// So calls the standalone So function and additionally, calls t.Error in failure scenarios. +func (this *Assertion) So(actual interface{}, assert assertion, expected ...interface{}) bool { + ok, result := So(actual, assert, expected...) + if !ok { + this.failed = true + _, file, line, _ := runtime.Caller(1) + this.t.Error(fmt.Sprintf("\n%s:%d\n%s", file, line, result)) + } + return ok +} + +// So is a convenience function (as opposed to an inconvenience function?) +// for running assertions on arbitrary arguments in any context, be it for testing or even +// application logging. It allows you to perform assertion-like behavior (and get nicely +// formatted messages detailing discrepancies) but without the program blowing up or panicking. +// All that is required is to import this package and call `So` with one of the assertions +// exported by this package as the second parameter. +// The first return parameter is a boolean indicating if the assertion was true. The second +// return parameter is the well-formatted message showing why an assertion was incorrect, or +// blank if the assertion was correct. +// +// Example: +// +// if ok, message := So(x, ShouldBeGreaterThan, y); !ok { +// log.Println(message) +// } +// +func So(actual interface{}, assert assertion, expected ...interface{}) (bool, string) { + if result := so(actual, assert, expected...); len(result) == 0 { + return true, result + } else { + return false, result + } +} + +// so is like So, except that it only returns the string message, which is blank if the +// assertion passed. Used to facilitate testing. +func so(actual interface{}, assert func(interface{}, ...interface{}) string, expected ...interface{}) string { + return assert(actual, expected...) +} + +// assertion is an alias for a function with a signature that the So() +// function can handle. Any future or custom assertions should conform to this +// method signature. The return value should be an empty string if the assertion +// passes and a well-formed failure message if not. +type assertion func(actual interface{}, expected ...interface{}) string + +//////////////////////////////////////////////////////////////////////////// diff --git a/vendor/github.com/smartystreets/assertions/equality.go b/vendor/github.com/smartystreets/assertions/equality.go new file mode 100644 index 0000000..315ed88 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/equality.go @@ -0,0 +1,280 @@ +package assertions + +import ( + "errors" + "fmt" + "math" + "reflect" + "strings" + + "github.com/smartystreets/assertions/internal/go-render/render" + "github.com/smartystreets/assertions/internal/oglematchers" +) + +// default acceptable delta for ShouldAlmostEqual +const defaultDelta = 0.0000000001 + +// ShouldEqual receives exactly two parameters and does an equality check. +func ShouldEqual(actual interface{}, expected ...interface{}) string { + if message := need(1, expected); message != success { + return message + } + return shouldEqual(actual, expected[0]) +} +func shouldEqual(actual, expected interface{}) (message string) { + defer func() { + if r := recover(); r != nil { + message = serializer.serialize(expected, actual, fmt.Sprintf(shouldHaveBeenEqual, expected, actual)) + return + } + }() + + if matchError := oglematchers.Equals(expected).Matches(actual); matchError != nil { + expectedSyntax := fmt.Sprintf("%v", expected) + actualSyntax := fmt.Sprintf("%v", actual) + if expectedSyntax == actualSyntax && reflect.TypeOf(expected) != reflect.TypeOf(actual) { + message = fmt.Sprintf(shouldHaveBeenEqualTypeMismatch, expected, expected, actual, actual) + } else { + message = fmt.Sprintf(shouldHaveBeenEqual, expected, actual) + } + message = serializer.serialize(expected, actual, message) + return + } + + return success +} + +// ShouldNotEqual receives exactly two parameters and does an inequality check. +func ShouldNotEqual(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } else if ShouldEqual(actual, expected[0]) == success { + return fmt.Sprintf(shouldNotHaveBeenEqual, actual, expected[0]) + } + return success +} + +// ShouldAlmostEqual makes sure that two parameters are close enough to being equal. +// The acceptable delta may be specified with a third argument, +// or a very small default delta will be used. +func ShouldAlmostEqual(actual interface{}, expected ...interface{}) string { + actualFloat, expectedFloat, deltaFloat, err := cleanAlmostEqualInput(actual, expected...) + + if err != "" { + return err + } + + if math.Abs(actualFloat-expectedFloat) <= deltaFloat { + return success + } else { + return fmt.Sprintf(shouldHaveBeenAlmostEqual, actualFloat, expectedFloat) + } +} + +// ShouldNotAlmostEqual is the inverse of ShouldAlmostEqual +func ShouldNotAlmostEqual(actual interface{}, expected ...interface{}) string { + actualFloat, expectedFloat, deltaFloat, err := cleanAlmostEqualInput(actual, expected...) + + if err != "" { + return err + } + + if math.Abs(actualFloat-expectedFloat) > deltaFloat { + return success + } else { + return fmt.Sprintf(shouldHaveNotBeenAlmostEqual, actualFloat, expectedFloat) + } +} + +func cleanAlmostEqualInput(actual interface{}, expected ...interface{}) (float64, float64, float64, string) { + deltaFloat := 0.0000000001 + + if len(expected) == 0 { + return 0.0, 0.0, 0.0, "This assertion requires exactly one comparison value and an optional delta (you provided neither)" + } else if len(expected) == 2 { + delta, err := getFloat(expected[1]) + + if err != nil { + return 0.0, 0.0, 0.0, "delta must be a numerical type" + } + + deltaFloat = delta + } else if len(expected) > 2 { + return 0.0, 0.0, 0.0, "This assertion requires exactly one comparison value and an optional delta (you provided more values)" + } + + actualFloat, err := getFloat(actual) + + if err != nil { + return 0.0, 0.0, 0.0, err.Error() + } + + expectedFloat, err := getFloat(expected[0]) + + if err != nil { + return 0.0, 0.0, 0.0, err.Error() + } + + return actualFloat, expectedFloat, deltaFloat, "" +} + +// returns the float value of any real number, or error if it is not a numerical type +func getFloat(num interface{}) (float64, error) { + numValue := reflect.ValueOf(num) + numKind := numValue.Kind() + + if numKind == reflect.Int || + numKind == reflect.Int8 || + numKind == reflect.Int16 || + numKind == reflect.Int32 || + numKind == reflect.Int64 { + return float64(numValue.Int()), nil + } else if numKind == reflect.Uint || + numKind == reflect.Uint8 || + numKind == reflect.Uint16 || + numKind == reflect.Uint32 || + numKind == reflect.Uint64 { + return float64(numValue.Uint()), nil + } else if numKind == reflect.Float32 || + numKind == reflect.Float64 { + return numValue.Float(), nil + } else { + return 0.0, errors.New("must be a numerical type, but was " + numKind.String()) + } +} + +// ShouldResemble receives exactly two parameters and does a deep equal check (see reflect.DeepEqual) +func ShouldResemble(actual interface{}, expected ...interface{}) string { + if message := need(1, expected); message != success { + return message + } + + if matchError := oglematchers.DeepEquals(expected[0]).Matches(actual); matchError != nil { + return serializer.serializeDetailed(expected[0], actual, + fmt.Sprintf(shouldHaveResembled, render.Render(expected[0]), render.Render(actual))) + } + + return success +} + +// ShouldNotResemble receives exactly two parameters and does an inverse deep equal check (see reflect.DeepEqual) +func ShouldNotResemble(actual interface{}, expected ...interface{}) string { + if message := need(1, expected); message != success { + return message + } else if ShouldResemble(actual, expected[0]) == success { + return fmt.Sprintf(shouldNotHaveResembled, render.Render(actual), render.Render(expected[0])) + } + return success +} + +// ShouldPointTo receives exactly two parameters and checks to see that they point to the same address. +func ShouldPointTo(actual interface{}, expected ...interface{}) string { + if message := need(1, expected); message != success { + return message + } + return shouldPointTo(actual, expected[0]) + +} +func shouldPointTo(actual, expected interface{}) string { + actualValue := reflect.ValueOf(actual) + expectedValue := reflect.ValueOf(expected) + + if ShouldNotBeNil(actual) != success { + return fmt.Sprintf(shouldHaveBeenNonNilPointer, "first", "nil") + } else if ShouldNotBeNil(expected) != success { + return fmt.Sprintf(shouldHaveBeenNonNilPointer, "second", "nil") + } else if actualValue.Kind() != reflect.Ptr { + return fmt.Sprintf(shouldHaveBeenNonNilPointer, "first", "not") + } else if expectedValue.Kind() != reflect.Ptr { + return fmt.Sprintf(shouldHaveBeenNonNilPointer, "second", "not") + } else if ShouldEqual(actualValue.Pointer(), expectedValue.Pointer()) != success { + actualAddress := reflect.ValueOf(actual).Pointer() + expectedAddress := reflect.ValueOf(expected).Pointer() + return serializer.serialize(expectedAddress, actualAddress, fmt.Sprintf(shouldHavePointedTo, + actual, actualAddress, + expected, expectedAddress)) + } + return success +} + +// ShouldNotPointTo receives exactly two parameters and checks to see that they point to different addresess. +func ShouldNotPointTo(actual interface{}, expected ...interface{}) string { + if message := need(1, expected); message != success { + return message + } + compare := ShouldPointTo(actual, expected[0]) + if strings.HasPrefix(compare, shouldBePointers) { + return compare + } else if compare == success { + return fmt.Sprintf(shouldNotHavePointedTo, actual, expected[0], reflect.ValueOf(actual).Pointer()) + } + return success +} + +// ShouldBeNil receives a single parameter and ensures that it is nil. +func ShouldBeNil(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } else if actual == nil { + return success + } else if interfaceHasNilValue(actual) { + return success + } + return fmt.Sprintf(shouldHaveBeenNil, actual) +} +func interfaceHasNilValue(actual interface{}) bool { + value := reflect.ValueOf(actual) + kind := value.Kind() + nilable := kind == reflect.Slice || + kind == reflect.Chan || + kind == reflect.Func || + kind == reflect.Ptr || + kind == reflect.Map + + // Careful: reflect.Value.IsNil() will panic unless it's an interface, chan, map, func, slice, or ptr + // Reference: http://golang.org/pkg/reflect/#Value.IsNil + return nilable && value.IsNil() +} + +// ShouldNotBeNil receives a single parameter and ensures that it is not nil. +func ShouldNotBeNil(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } else if ShouldBeNil(actual) == success { + return fmt.Sprintf(shouldNotHaveBeenNil, actual) + } + return success +} + +// ShouldBeTrue receives a single parameter and ensures that it is true. +func ShouldBeTrue(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } else if actual != true { + return fmt.Sprintf(shouldHaveBeenTrue, actual) + } + return success +} + +// ShouldBeFalse receives a single parameter and ensures that it is false. +func ShouldBeFalse(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } else if actual != false { + return fmt.Sprintf(shouldHaveBeenFalse, actual) + } + return success +} + +// ShouldBeZeroValue receives a single parameter and ensures that it is +// the Go equivalent of the default value, or "zero" value. +func ShouldBeZeroValue(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } + zeroVal := reflect.Zero(reflect.TypeOf(actual)).Interface() + if !reflect.DeepEqual(zeroVal, actual) { + return serializer.serialize(zeroVal, actual, fmt.Sprintf(shouldHaveBeenZeroValue, actual)) + } + return success +} diff --git a/vendor/github.com/smartystreets/assertions/filter.go b/vendor/github.com/smartystreets/assertions/filter.go new file mode 100644 index 0000000..ee368a9 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/filter.go @@ -0,0 +1,23 @@ +package assertions + +import "fmt" + +const ( + success = "" + needExactValues = "This assertion requires exactly %d comparison values (you provided %d)." + needNonEmptyCollection = "This assertion requires at least 1 comparison value (you provided 0)." +) + +func need(needed int, expected []interface{}) string { + if len(expected) != needed { + return fmt.Sprintf(needExactValues, needed, len(expected)) + } + return success +} + +func atLeast(minimum int, expected []interface{}) string { + if len(expected) < 1 { + return needNonEmptyCollection + } + return success +} diff --git a/vendor/github.com/smartystreets/assertions/internal/go-render/LICENSE b/vendor/github.com/smartystreets/assertions/internal/go-render/LICENSE new file mode 100644 index 0000000..6280ff0 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/go-render/LICENSE @@ -0,0 +1,27 @@ +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/smartystreets/assertions/internal/go-render/render/render.go b/vendor/github.com/smartystreets/assertions/internal/go-render/render/render.go new file mode 100644 index 0000000..23b7a58 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/go-render/render/render.go @@ -0,0 +1,477 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package render + +import ( + "bytes" + "fmt" + "reflect" + "sort" + "strconv" +) + +var builtinTypeMap = map[reflect.Kind]string{ + reflect.Bool: "bool", + reflect.Complex128: "complex128", + reflect.Complex64: "complex64", + reflect.Float32: "float32", + reflect.Float64: "float64", + reflect.Int16: "int16", + reflect.Int32: "int32", + reflect.Int64: "int64", + reflect.Int8: "int8", + reflect.Int: "int", + reflect.String: "string", + reflect.Uint16: "uint16", + reflect.Uint32: "uint32", + reflect.Uint64: "uint64", + reflect.Uint8: "uint8", + reflect.Uint: "uint", + reflect.Uintptr: "uintptr", +} + +var builtinTypeSet = map[string]struct{}{} + +func init() { + for _, v := range builtinTypeMap { + builtinTypeSet[v] = struct{}{} + } +} + +var typeOfString = reflect.TypeOf("") +var typeOfInt = reflect.TypeOf(int(1)) +var typeOfUint = reflect.TypeOf(uint(1)) +var typeOfFloat = reflect.TypeOf(10.1) + +// Render converts a structure to a string representation. Unline the "%#v" +// format string, this resolves pointer types' contents in structs, maps, and +// slices/arrays and prints their field values. +func Render(v interface{}) string { + buf := bytes.Buffer{} + s := (*traverseState)(nil) + s.render(&buf, 0, reflect.ValueOf(v), false) + return buf.String() +} + +// renderPointer is called to render a pointer value. +// +// This is overridable so that the test suite can have deterministic pointer +// values in its expectations. +var renderPointer = func(buf *bytes.Buffer, p uintptr) { + fmt.Fprintf(buf, "0x%016x", p) +} + +// traverseState is used to note and avoid recursion as struct members are being +// traversed. +// +// traverseState is allowed to be nil. Specifically, the root state is nil. +type traverseState struct { + parent *traverseState + ptr uintptr +} + +func (s *traverseState) forkFor(ptr uintptr) *traverseState { + for cur := s; cur != nil; cur = cur.parent { + if ptr == cur.ptr { + return nil + } + } + + fs := &traverseState{ + parent: s, + ptr: ptr, + } + return fs +} + +func (s *traverseState) render(buf *bytes.Buffer, ptrs int, v reflect.Value, implicit bool) { + if v.Kind() == reflect.Invalid { + buf.WriteString("nil") + return + } + vt := v.Type() + + // If the type being rendered is a potentially recursive type (a type that + // can contain itself as a member), we need to avoid recursion. + // + // If we've already seen this type before, mark that this is the case and + // write a recursion placeholder instead of actually rendering it. + // + // If we haven't seen it before, fork our `seen` tracking so any higher-up + // renderers will also render it at least once, then mark that we've seen it + // to avoid recursing on lower layers. + pe := uintptr(0) + vk := vt.Kind() + switch vk { + case reflect.Ptr: + // Since structs and arrays aren't pointers, they can't directly be + // recursed, but they can contain pointers to themselves. Record their + // pointer to avoid this. + switch v.Elem().Kind() { + case reflect.Struct, reflect.Array: + pe = v.Pointer() + } + + case reflect.Slice, reflect.Map: + pe = v.Pointer() + } + if pe != 0 { + s = s.forkFor(pe) + if s == nil { + buf.WriteString("") + return + } + } + + isAnon := func(t reflect.Type) bool { + if t.Name() != "" { + if _, ok := builtinTypeSet[t.Name()]; !ok { + return false + } + } + return t.Kind() != reflect.Interface + } + + switch vk { + case reflect.Struct: + if !implicit { + writeType(buf, ptrs, vt) + } + structAnon := vt.Name() == "" + buf.WriteRune('{') + for i := 0; i < vt.NumField(); i++ { + if i > 0 { + buf.WriteString(", ") + } + anon := structAnon && isAnon(vt.Field(i).Type) + + if !anon { + buf.WriteString(vt.Field(i).Name) + buf.WriteRune(':') + } + + s.render(buf, 0, v.Field(i), anon) + } + buf.WriteRune('}') + + case reflect.Slice: + if v.IsNil() { + if !implicit { + writeType(buf, ptrs, vt) + buf.WriteString("(nil)") + } else { + buf.WriteString("nil") + } + return + } + fallthrough + + case reflect.Array: + if !implicit { + writeType(buf, ptrs, vt) + } + anon := vt.Name() == "" && isAnon(vt.Elem()) + buf.WriteString("{") + for i := 0; i < v.Len(); i++ { + if i > 0 { + buf.WriteString(", ") + } + + s.render(buf, 0, v.Index(i), anon) + } + buf.WriteRune('}') + + case reflect.Map: + if !implicit { + writeType(buf, ptrs, vt) + } + if v.IsNil() { + buf.WriteString("(nil)") + } else { + buf.WriteString("{") + + mkeys := v.MapKeys() + tryAndSortMapKeys(vt, mkeys) + + kt := vt.Key() + keyAnon := typeOfString.ConvertibleTo(kt) || typeOfInt.ConvertibleTo(kt) || typeOfUint.ConvertibleTo(kt) || typeOfFloat.ConvertibleTo(kt) + valAnon := vt.Name() == "" && isAnon(vt.Elem()) + for i, mk := range mkeys { + if i > 0 { + buf.WriteString(", ") + } + + s.render(buf, 0, mk, keyAnon) + buf.WriteString(":") + s.render(buf, 0, v.MapIndex(mk), valAnon) + } + buf.WriteRune('}') + } + + case reflect.Ptr: + ptrs++ + fallthrough + case reflect.Interface: + if v.IsNil() { + writeType(buf, ptrs, v.Type()) + buf.WriteString("(nil)") + } else { + s.render(buf, ptrs, v.Elem(), false) + } + + case reflect.Chan, reflect.Func, reflect.UnsafePointer: + writeType(buf, ptrs, vt) + buf.WriteRune('(') + renderPointer(buf, v.Pointer()) + buf.WriteRune(')') + + default: + tstr := vt.String() + implicit = implicit || (ptrs == 0 && builtinTypeMap[vk] == tstr) + if !implicit { + writeType(buf, ptrs, vt) + buf.WriteRune('(') + } + + switch vk { + case reflect.String: + fmt.Fprintf(buf, "%q", v.String()) + case reflect.Bool: + fmt.Fprintf(buf, "%v", v.Bool()) + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + fmt.Fprintf(buf, "%d", v.Int()) + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + fmt.Fprintf(buf, "%d", v.Uint()) + + case reflect.Float32, reflect.Float64: + fmt.Fprintf(buf, "%g", v.Float()) + + case reflect.Complex64, reflect.Complex128: + fmt.Fprintf(buf, "%g", v.Complex()) + } + + if !implicit { + buf.WriteRune(')') + } + } +} + +func writeType(buf *bytes.Buffer, ptrs int, t reflect.Type) { + parens := ptrs > 0 + switch t.Kind() { + case reflect.Chan, reflect.Func, reflect.UnsafePointer: + parens = true + } + + if parens { + buf.WriteRune('(') + for i := 0; i < ptrs; i++ { + buf.WriteRune('*') + } + } + + switch t.Kind() { + case reflect.Ptr: + if ptrs == 0 { + // This pointer was referenced from within writeType (e.g., as part of + // rendering a list), and so hasn't had its pointer asterisk accounted + // for. + buf.WriteRune('*') + } + writeType(buf, 0, t.Elem()) + + case reflect.Interface: + if n := t.Name(); n != "" { + buf.WriteString(t.String()) + } else { + buf.WriteString("interface{}") + } + + case reflect.Array: + buf.WriteRune('[') + buf.WriteString(strconv.FormatInt(int64(t.Len()), 10)) + buf.WriteRune(']') + writeType(buf, 0, t.Elem()) + + case reflect.Slice: + if t == reflect.SliceOf(t.Elem()) { + buf.WriteString("[]") + writeType(buf, 0, t.Elem()) + } else { + // Custom slice type, use type name. + buf.WriteString(t.String()) + } + + case reflect.Map: + if t == reflect.MapOf(t.Key(), t.Elem()) { + buf.WriteString("map[") + writeType(buf, 0, t.Key()) + buf.WriteRune(']') + writeType(buf, 0, t.Elem()) + } else { + // Custom map type, use type name. + buf.WriteString(t.String()) + } + + default: + buf.WriteString(t.String()) + } + + if parens { + buf.WriteRune(')') + } +} + +type cmpFn func(a, b reflect.Value) int + +type sortableValueSlice struct { + cmp cmpFn + elements []reflect.Value +} + +func (s sortableValueSlice) Len() int { + return len(s.elements) +} + +func (s sortableValueSlice) Less(i, j int) bool { + return s.cmp(s.elements[i], s.elements[j]) < 0 +} + +func (s sortableValueSlice) Swap(i, j int) { + s.elements[i], s.elements[j] = s.elements[j], s.elements[i] +} + +// cmpForType returns a cmpFn which sorts the data for some type t in the same +// order that a go-native map key is compared for equality. +func cmpForType(t reflect.Type) cmpFn { + switch t.Kind() { + case reflect.String: + return func(av, bv reflect.Value) int { + a, b := av.String(), bv.String() + if a < b { + return -1 + } else if a > b { + return 1 + } + return 0 + } + + case reflect.Bool: + return func(av, bv reflect.Value) int { + a, b := av.Bool(), bv.Bool() + if !a && b { + return -1 + } else if a && !b { + return 1 + } + return 0 + } + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return func(av, bv reflect.Value) int { + a, b := av.Int(), bv.Int() + if a < b { + return -1 + } else if a > b { + return 1 + } + return 0 + } + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, + reflect.Uint64, reflect.Uintptr, reflect.UnsafePointer: + return func(av, bv reflect.Value) int { + a, b := av.Uint(), bv.Uint() + if a < b { + return -1 + } else if a > b { + return 1 + } + return 0 + } + + case reflect.Float32, reflect.Float64: + return func(av, bv reflect.Value) int { + a, b := av.Float(), bv.Float() + if a < b { + return -1 + } else if a > b { + return 1 + } + return 0 + } + + case reflect.Interface: + return func(av, bv reflect.Value) int { + a, b := av.InterfaceData(), bv.InterfaceData() + if a[0] < b[0] { + return -1 + } else if a[0] > b[0] { + return 1 + } + if a[1] < b[1] { + return -1 + } else if a[1] > b[1] { + return 1 + } + return 0 + } + + case reflect.Complex64, reflect.Complex128: + return func(av, bv reflect.Value) int { + a, b := av.Complex(), bv.Complex() + if real(a) < real(b) { + return -1 + } else if real(a) > real(b) { + return 1 + } + if imag(a) < imag(b) { + return -1 + } else if imag(a) > imag(b) { + return 1 + } + return 0 + } + + case reflect.Ptr, reflect.Chan: + return func(av, bv reflect.Value) int { + a, b := av.Pointer(), bv.Pointer() + if a < b { + return -1 + } else if a > b { + return 1 + } + return 0 + } + + case reflect.Struct: + cmpLst := make([]cmpFn, t.NumField()) + for i := range cmpLst { + cmpLst[i] = cmpForType(t.Field(i).Type) + } + return func(a, b reflect.Value) int { + for i, cmp := range cmpLst { + if rslt := cmp(a.Field(i), b.Field(i)); rslt != 0 { + return rslt + } + } + return 0 + } + } + + return nil +} + +func tryAndSortMapKeys(mt reflect.Type, k []reflect.Value) { + if cmp := cmpForType(mt.Key()); cmp != nil { + sort.Sort(sortableValueSlice{cmp, k}) + } +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/LICENSE b/vendor/github.com/smartystreets/assertions/internal/oglematchers/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/README.md b/vendor/github.com/smartystreets/assertions/internal/oglematchers/README.md new file mode 100644 index 0000000..215a2bb --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/README.md @@ -0,0 +1,58 @@ +[![GoDoc](https://godoc.org/github.com/smartystreets/assertions/internal/oglematchers?status.svg)](https://godoc.org/github.com/smartystreets/assertions/internal/oglematchers) + +`oglematchers` is a package for the Go programming language containing a set of +matchers, useful in a testing or mocking framework, inspired by and mostly +compatible with [Google Test][googletest] for C++ and +[Google JS Test][google-js-test]. The package is used by the +[ogletest][ogletest] testing framework and [oglemock][oglemock] mocking +framework, which may be more directly useful to you, but can be generically used +elsewhere as well. + +A "matcher" is simply an object with a `Matches` method defining a set of golang +values matched by the matcher, and a `Description` method describing that set. +For example, here are some matchers: + +```go +// Numbers +Equals(17.13) +LessThan(19) + +// Strings +Equals("taco") +HasSubstr("burrito") +MatchesRegex("t.*o") + +// Combining matchers +AnyOf(LessThan(17), GreaterThan(19)) +``` + +There are lots more; see [here][reference] for a reference. You can also add +your own simply by implementing the `oglematchers.Matcher` interface. + + +Installation +------------ + +First, make sure you have installed Go 1.0.2 or newer. See +[here][golang-install] for instructions. + +Use the following command to install `oglematchers` and keep it up to date: + + go get -u github.com/smartystreets/assertions/internal/oglematchers + + +Documentation +------------- + +See [here][reference] for documentation. Alternatively, you can install the +package and then use `godoc`: + + godoc github.com/smartystreets/assertions/internal/oglematchers + + +[reference]: http://godoc.org/github.com/smartystreets/assertions/internal/oglematchers +[golang-install]: http://golang.org/doc/install.html +[googletest]: http://code.google.com/p/googletest/ +[google-js-test]: http://code.google.com/p/google-js-test/ +[ogletest]: http://github.com/smartystreets/assertions/internal/ogletest +[oglemock]: http://github.com/smartystreets/assertions/internal/oglemock diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/any_of.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/any_of.go new file mode 100644 index 0000000..2918b51 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/any_of.go @@ -0,0 +1,94 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "errors" + "fmt" + "reflect" + "strings" +) + +// AnyOf accepts a set of values S and returns a matcher that follows the +// algorithm below when considering a candidate c: +// +// 1. If there exists a value m in S such that m implements the Matcher +// interface and m matches c, return true. +// +// 2. Otherwise, if there exists a value v in S such that v does not implement +// the Matcher interface and the matcher Equals(v) matches c, return true. +// +// 3. Otherwise, if there is a value m in S such that m implements the Matcher +// interface and m returns a fatal error for c, return that fatal error. +// +// 4. Otherwise, return false. +// +// This is akin to a logical OR operation for matchers, with non-matchers x +// being treated as Equals(x). +func AnyOf(vals ...interface{}) Matcher { + // Get ahold of a type variable for the Matcher interface. + var dummy *Matcher + matcherType := reflect.TypeOf(dummy).Elem() + + // Create a matcher for each value, or use the value itself if it's already a + // matcher. + wrapped := make([]Matcher, len(vals)) + for i, v := range vals { + t := reflect.TypeOf(v) + if t != nil && t.Implements(matcherType) { + wrapped[i] = v.(Matcher) + } else { + wrapped[i] = Equals(v) + } + } + + return &anyOfMatcher{wrapped} +} + +type anyOfMatcher struct { + wrapped []Matcher +} + +func (m *anyOfMatcher) Description() string { + wrappedDescs := make([]string, len(m.wrapped)) + for i, matcher := range m.wrapped { + wrappedDescs[i] = matcher.Description() + } + + return fmt.Sprintf("or(%s)", strings.Join(wrappedDescs, ", ")) +} + +func (m *anyOfMatcher) Matches(c interface{}) (err error) { + err = errors.New("") + + // Try each matcher in turn. + for _, matcher := range m.wrapped { + wrappedErr := matcher.Matches(c) + + // Return immediately if there's a match. + if wrappedErr == nil { + err = nil + return + } + + // Note the fatal error, if any. + if _, isFatal := wrappedErr.(*FatalError); isFatal { + err = wrappedErr + } + } + + return +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/contains.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/contains.go new file mode 100644 index 0000000..87f107d --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/contains.go @@ -0,0 +1,61 @@ +// Copyright 2012 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "fmt" + "reflect" +) + +// Return a matcher that matches arrays slices with at least one element that +// matches the supplied argument. If the argument x is not itself a Matcher, +// this is equivalent to Contains(Equals(x)). +func Contains(x interface{}) Matcher { + var result containsMatcher + var ok bool + + if result.elementMatcher, ok = x.(Matcher); !ok { + result.elementMatcher = DeepEquals(x) + } + + return &result +} + +type containsMatcher struct { + elementMatcher Matcher +} + +func (m *containsMatcher) Description() string { + return fmt.Sprintf("contains: %s", m.elementMatcher.Description()) +} + +func (m *containsMatcher) Matches(candidate interface{}) error { + // The candidate must be a slice or an array. + v := reflect.ValueOf(candidate) + if v.Kind() != reflect.Slice && v.Kind() != reflect.Array { + return NewFatalError("which is not a slice or array") + } + + // Check each element. + for i := 0; i < v.Len(); i++ { + elem := v.Index(i) + if matchErr := m.elementMatcher.Matches(elem.Interface()); matchErr == nil { + return nil + } + } + + return fmt.Errorf("") +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/deep_equals.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/deep_equals.go new file mode 100644 index 0000000..1d91bae --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/deep_equals.go @@ -0,0 +1,88 @@ +// Copyright 2012 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "bytes" + "errors" + "fmt" + "reflect" +) + +var byteSliceType reflect.Type = reflect.TypeOf([]byte{}) + +// DeepEquals returns a matcher that matches based on 'deep equality', as +// defined by the reflect package. This matcher requires that values have +// identical types to x. +func DeepEquals(x interface{}) Matcher { + return &deepEqualsMatcher{x} +} + +type deepEqualsMatcher struct { + x interface{} +} + +func (m *deepEqualsMatcher) Description() string { + xDesc := fmt.Sprintf("%v", m.x) + xValue := reflect.ValueOf(m.x) + + // Special case: fmt.Sprintf presents nil slices as "[]", but + // reflect.DeepEqual makes a distinction between nil and empty slices. Make + // this less confusing. + if xValue.Kind() == reflect.Slice && xValue.IsNil() { + xDesc = "" + } + + return fmt.Sprintf("deep equals: %s", xDesc) +} + +func (m *deepEqualsMatcher) Matches(c interface{}) error { + // Make sure the types match. + ct := reflect.TypeOf(c) + xt := reflect.TypeOf(m.x) + + if ct != xt { + return NewFatalError(fmt.Sprintf("which is of type %v", ct)) + } + + // Special case: handle byte slices more efficiently. + cValue := reflect.ValueOf(c) + xValue := reflect.ValueOf(m.x) + + if ct == byteSliceType && !cValue.IsNil() && !xValue.IsNil() { + xBytes := m.x.([]byte) + cBytes := c.([]byte) + + if bytes.Equal(cBytes, xBytes) { + return nil + } + + return errors.New("") + } + + // Defer to the reflect package. + if reflect.DeepEqual(m.x, c) { + return nil + } + + // Special case: if the comparison failed because c is the nil slice, given + // an indication of this (since its value is printed as "[]"). + if cValue.Kind() == reflect.Slice && cValue.IsNil() { + return errors.New("which is nil") + } + + return errors.New("") +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/equals.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/equals.go new file mode 100644 index 0000000..a510707 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/equals.go @@ -0,0 +1,541 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "errors" + "fmt" + "math" + "reflect" +) + +// Equals(x) returns a matcher that matches values v such that v and x are +// equivalent. This includes the case when the comparison v == x using Go's +// built-in comparison operator is legal (except for structs, which this +// matcher does not support), but for convenience the following rules also +// apply: +// +// * Type checking is done based on underlying types rather than actual +// types, so that e.g. two aliases for string can be compared: +// +// type stringAlias1 string +// type stringAlias2 string +// +// a := "taco" +// b := stringAlias1("taco") +// c := stringAlias2("taco") +// +// ExpectTrue(a == b) // Legal, passes +// ExpectTrue(b == c) // Illegal, doesn't compile +// +// ExpectThat(a, Equals(b)) // Passes +// ExpectThat(b, Equals(c)) // Passes +// +// * Values of numeric type are treated as if they were abstract numbers, and +// compared accordingly. Therefore Equals(17) will match int(17), +// int16(17), uint(17), float32(17), complex64(17), and so on. +// +// If you want a stricter matcher that contains no such cleverness, see +// IdenticalTo instead. +// +// Arrays are supported by this matcher, but do not participate in the +// exceptions above. Two arrays compared with this matcher must have identical +// types, and their element type must itself be comparable according to Go's == +// operator. +func Equals(x interface{}) Matcher { + v := reflect.ValueOf(x) + + // This matcher doesn't support structs. + if v.Kind() == reflect.Struct { + panic(fmt.Sprintf("oglematchers.Equals: unsupported kind %v", v.Kind())) + } + + // The == operator is not defined for non-nil slices. + if v.Kind() == reflect.Slice && v.Pointer() != uintptr(0) { + panic(fmt.Sprintf("oglematchers.Equals: non-nil slice")) + } + + return &equalsMatcher{v} +} + +type equalsMatcher struct { + expectedValue reflect.Value +} + +//////////////////////////////////////////////////////////////////////// +// Numeric types +//////////////////////////////////////////////////////////////////////// + +func isSignedInteger(v reflect.Value) bool { + k := v.Kind() + return k >= reflect.Int && k <= reflect.Int64 +} + +func isUnsignedInteger(v reflect.Value) bool { + k := v.Kind() + return k >= reflect.Uint && k <= reflect.Uintptr +} + +func isInteger(v reflect.Value) bool { + return isSignedInteger(v) || isUnsignedInteger(v) +} + +func isFloat(v reflect.Value) bool { + k := v.Kind() + return k == reflect.Float32 || k == reflect.Float64 +} + +func isComplex(v reflect.Value) bool { + k := v.Kind() + return k == reflect.Complex64 || k == reflect.Complex128 +} + +func checkAgainstInt64(e int64, c reflect.Value) (err error) { + err = errors.New("") + + switch { + case isSignedInteger(c): + if c.Int() == e { + err = nil + } + + case isUnsignedInteger(c): + u := c.Uint() + if u <= math.MaxInt64 && int64(u) == e { + err = nil + } + + // Turn around the various floating point types so that the checkAgainst* + // functions for them can deal with precision issues. + case isFloat(c), isComplex(c): + return Equals(c.Interface()).Matches(e) + + default: + err = NewFatalError("which is not numeric") + } + + return +} + +func checkAgainstUint64(e uint64, c reflect.Value) (err error) { + err = errors.New("") + + switch { + case isSignedInteger(c): + i := c.Int() + if i >= 0 && uint64(i) == e { + err = nil + } + + case isUnsignedInteger(c): + if c.Uint() == e { + err = nil + } + + // Turn around the various floating point types so that the checkAgainst* + // functions for them can deal with precision issues. + case isFloat(c), isComplex(c): + return Equals(c.Interface()).Matches(e) + + default: + err = NewFatalError("which is not numeric") + } + + return +} + +func checkAgainstFloat32(e float32, c reflect.Value) (err error) { + err = errors.New("") + + switch { + case isSignedInteger(c): + if float32(c.Int()) == e { + err = nil + } + + case isUnsignedInteger(c): + if float32(c.Uint()) == e { + err = nil + } + + case isFloat(c): + // Compare using float32 to avoid a false sense of precision; otherwise + // e.g. Equals(float32(0.1)) won't match float32(0.1). + if float32(c.Float()) == e { + err = nil + } + + case isComplex(c): + comp := c.Complex() + rl := real(comp) + im := imag(comp) + + // Compare using float32 to avoid a false sense of precision; otherwise + // e.g. Equals(float32(0.1)) won't match (0.1 + 0i). + if im == 0 && float32(rl) == e { + err = nil + } + + default: + err = NewFatalError("which is not numeric") + } + + return +} + +func checkAgainstFloat64(e float64, c reflect.Value) (err error) { + err = errors.New("") + + ck := c.Kind() + + switch { + case isSignedInteger(c): + if float64(c.Int()) == e { + err = nil + } + + case isUnsignedInteger(c): + if float64(c.Uint()) == e { + err = nil + } + + // If the actual value is lower precision, turn the comparison around so we + // apply the low-precision rules. Otherwise, e.g. Equals(0.1) may not match + // float32(0.1). + case ck == reflect.Float32 || ck == reflect.Complex64: + return Equals(c.Interface()).Matches(e) + + // Otherwise, compare with double precision. + case isFloat(c): + if c.Float() == e { + err = nil + } + + case isComplex(c): + comp := c.Complex() + rl := real(comp) + im := imag(comp) + + if im == 0 && rl == e { + err = nil + } + + default: + err = NewFatalError("which is not numeric") + } + + return +} + +func checkAgainstComplex64(e complex64, c reflect.Value) (err error) { + err = errors.New("") + realPart := real(e) + imaginaryPart := imag(e) + + switch { + case isInteger(c) || isFloat(c): + // If we have no imaginary part, then we should just compare against the + // real part. Otherwise, we can't be equal. + if imaginaryPart != 0 { + return + } + + return checkAgainstFloat32(realPart, c) + + case isComplex(c): + // Compare using complex64 to avoid a false sense of precision; otherwise + // e.g. Equals(0.1 + 0i) won't match float32(0.1). + if complex64(c.Complex()) == e { + err = nil + } + + default: + err = NewFatalError("which is not numeric") + } + + return +} + +func checkAgainstComplex128(e complex128, c reflect.Value) (err error) { + err = errors.New("") + realPart := real(e) + imaginaryPart := imag(e) + + switch { + case isInteger(c) || isFloat(c): + // If we have no imaginary part, then we should just compare against the + // real part. Otherwise, we can't be equal. + if imaginaryPart != 0 { + return + } + + return checkAgainstFloat64(realPart, c) + + case isComplex(c): + if c.Complex() == e { + err = nil + } + + default: + err = NewFatalError("which is not numeric") + } + + return +} + +//////////////////////////////////////////////////////////////////////// +// Other types +//////////////////////////////////////////////////////////////////////// + +func checkAgainstBool(e bool, c reflect.Value) (err error) { + if c.Kind() != reflect.Bool { + err = NewFatalError("which is not a bool") + return + } + + err = errors.New("") + if c.Bool() == e { + err = nil + } + return +} + +func checkAgainstChan(e reflect.Value, c reflect.Value) (err error) { + // Create a description of e's type, e.g. "chan int". + typeStr := fmt.Sprintf("%s %s", e.Type().ChanDir(), e.Type().Elem()) + + // Make sure c is a chan of the correct type. + if c.Kind() != reflect.Chan || + c.Type().ChanDir() != e.Type().ChanDir() || + c.Type().Elem() != e.Type().Elem() { + err = NewFatalError(fmt.Sprintf("which is not a %s", typeStr)) + return + } + + err = errors.New("") + if c.Pointer() == e.Pointer() { + err = nil + } + return +} + +func checkAgainstFunc(e reflect.Value, c reflect.Value) (err error) { + // Make sure c is a function. + if c.Kind() != reflect.Func { + err = NewFatalError("which is not a function") + return + } + + err = errors.New("") + if c.Pointer() == e.Pointer() { + err = nil + } + return +} + +func checkAgainstMap(e reflect.Value, c reflect.Value) (err error) { + // Make sure c is a map. + if c.Kind() != reflect.Map { + err = NewFatalError("which is not a map") + return + } + + err = errors.New("") + if c.Pointer() == e.Pointer() { + err = nil + } + return +} + +func checkAgainstPtr(e reflect.Value, c reflect.Value) (err error) { + // Create a description of e's type, e.g. "*int". + typeStr := fmt.Sprintf("*%v", e.Type().Elem()) + + // Make sure c is a pointer of the correct type. + if c.Kind() != reflect.Ptr || + c.Type().Elem() != e.Type().Elem() { + err = NewFatalError(fmt.Sprintf("which is not a %s", typeStr)) + return + } + + err = errors.New("") + if c.Pointer() == e.Pointer() { + err = nil + } + return +} + +func checkAgainstSlice(e reflect.Value, c reflect.Value) (err error) { + // Create a description of e's type, e.g. "[]int". + typeStr := fmt.Sprintf("[]%v", e.Type().Elem()) + + // Make sure c is a slice of the correct type. + if c.Kind() != reflect.Slice || + c.Type().Elem() != e.Type().Elem() { + err = NewFatalError(fmt.Sprintf("which is not a %s", typeStr)) + return + } + + err = errors.New("") + if c.Pointer() == e.Pointer() { + err = nil + } + return +} + +func checkAgainstString(e reflect.Value, c reflect.Value) (err error) { + // Make sure c is a string. + if c.Kind() != reflect.String { + err = NewFatalError("which is not a string") + return + } + + err = errors.New("") + if c.String() == e.String() { + err = nil + } + return +} + +func checkAgainstArray(e reflect.Value, c reflect.Value) (err error) { + // Create a description of e's type, e.g. "[2]int". + typeStr := fmt.Sprintf("%v", e.Type()) + + // Make sure c is the correct type. + if c.Type() != e.Type() { + err = NewFatalError(fmt.Sprintf("which is not %s", typeStr)) + return + } + + // Check for equality. + if e.Interface() != c.Interface() { + err = errors.New("") + return + } + + return +} + +func checkAgainstUnsafePointer(e reflect.Value, c reflect.Value) (err error) { + // Make sure c is a pointer. + if c.Kind() != reflect.UnsafePointer { + err = NewFatalError("which is not a unsafe.Pointer") + return + } + + err = errors.New("") + if c.Pointer() == e.Pointer() { + err = nil + } + return +} + +func checkForNil(c reflect.Value) (err error) { + err = errors.New("") + + // Make sure it is legal to call IsNil. + switch c.Kind() { + case reflect.Invalid: + case reflect.Chan: + case reflect.Func: + case reflect.Interface: + case reflect.Map: + case reflect.Ptr: + case reflect.Slice: + + default: + err = NewFatalError("which cannot be compared to nil") + return + } + + // Ask whether the value is nil. Handle a nil literal (kind Invalid) + // specially, since it's not legal to call IsNil there. + if c.Kind() == reflect.Invalid || c.IsNil() { + err = nil + } + return +} + +//////////////////////////////////////////////////////////////////////// +// Public implementation +//////////////////////////////////////////////////////////////////////// + +func (m *equalsMatcher) Matches(candidate interface{}) error { + e := m.expectedValue + c := reflect.ValueOf(candidate) + ek := e.Kind() + + switch { + case ek == reflect.Bool: + return checkAgainstBool(e.Bool(), c) + + case isSignedInteger(e): + return checkAgainstInt64(e.Int(), c) + + case isUnsignedInteger(e): + return checkAgainstUint64(e.Uint(), c) + + case ek == reflect.Float32: + return checkAgainstFloat32(float32(e.Float()), c) + + case ek == reflect.Float64: + return checkAgainstFloat64(e.Float(), c) + + case ek == reflect.Complex64: + return checkAgainstComplex64(complex64(e.Complex()), c) + + case ek == reflect.Complex128: + return checkAgainstComplex128(complex128(e.Complex()), c) + + case ek == reflect.Chan: + return checkAgainstChan(e, c) + + case ek == reflect.Func: + return checkAgainstFunc(e, c) + + case ek == reflect.Map: + return checkAgainstMap(e, c) + + case ek == reflect.Ptr: + return checkAgainstPtr(e, c) + + case ek == reflect.Slice: + return checkAgainstSlice(e, c) + + case ek == reflect.String: + return checkAgainstString(e, c) + + case ek == reflect.Array: + return checkAgainstArray(e, c) + + case ek == reflect.UnsafePointer: + return checkAgainstUnsafePointer(e, c) + + case ek == reflect.Invalid: + return checkForNil(c) + } + + panic(fmt.Sprintf("equalsMatcher.Matches: unexpected kind: %v", ek)) +} + +func (m *equalsMatcher) Description() string { + // Special case: handle nil. + if !m.expectedValue.IsValid() { + return "is nil" + } + + return fmt.Sprintf("%v", m.expectedValue.Interface()) +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_or_equal.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_or_equal.go new file mode 100644 index 0000000..4b9d103 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_or_equal.go @@ -0,0 +1,39 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "fmt" + "reflect" +) + +// GreaterOrEqual returns a matcher that matches integer, floating point, or +// strings values v such that v >= x. Comparison is not defined between numeric +// and string types, but is defined between all integer and floating point +// types. +// +// x must itself be an integer, floating point, or string type; otherwise, +// GreaterOrEqual will panic. +func GreaterOrEqual(x interface{}) Matcher { + desc := fmt.Sprintf("greater than or equal to %v", x) + + // Special case: make it clear that strings are strings. + if reflect.TypeOf(x).Kind() == reflect.String { + desc = fmt.Sprintf("greater than or equal to \"%s\"", x) + } + + return transformDescription(Not(LessThan(x)), desc) +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_than.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_than.go new file mode 100644 index 0000000..3eef321 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/greater_than.go @@ -0,0 +1,39 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "fmt" + "reflect" +) + +// GreaterThan returns a matcher that matches integer, floating point, or +// strings values v such that v > x. Comparison is not defined between numeric +// and string types, but is defined between all integer and floating point +// types. +// +// x must itself be an integer, floating point, or string type; otherwise, +// GreaterThan will panic. +func GreaterThan(x interface{}) Matcher { + desc := fmt.Sprintf("greater than %v", x) + + // Special case: make it clear that strings are strings. + if reflect.TypeOf(x).Kind() == reflect.String { + desc = fmt.Sprintf("greater than \"%s\"", x) + } + + return transformDescription(Not(LessOrEqual(x)), desc) +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/less_or_equal.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/less_or_equal.go new file mode 100644 index 0000000..8402cde --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/less_or_equal.go @@ -0,0 +1,41 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "fmt" + "reflect" +) + +// LessOrEqual returns a matcher that matches integer, floating point, or +// strings values v such that v <= x. Comparison is not defined between numeric +// and string types, but is defined between all integer and floating point +// types. +// +// x must itself be an integer, floating point, or string type; otherwise, +// LessOrEqual will panic. +func LessOrEqual(x interface{}) Matcher { + desc := fmt.Sprintf("less than or equal to %v", x) + + // Special case: make it clear that strings are strings. + if reflect.TypeOf(x).Kind() == reflect.String { + desc = fmt.Sprintf("less than or equal to \"%s\"", x) + } + + // Put LessThan last so that its error messages will be used in the event of + // failure. + return transformDescription(AnyOf(Equals(x), LessThan(x)), desc) +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/less_than.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/less_than.go new file mode 100644 index 0000000..8258e45 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/less_than.go @@ -0,0 +1,152 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "errors" + "fmt" + "math" + "reflect" +) + +// LessThan returns a matcher that matches integer, floating point, or strings +// values v such that v < x. Comparison is not defined between numeric and +// string types, but is defined between all integer and floating point types. +// +// x must itself be an integer, floating point, or string type; otherwise, +// LessThan will panic. +func LessThan(x interface{}) Matcher { + v := reflect.ValueOf(x) + kind := v.Kind() + + switch { + case isInteger(v): + case isFloat(v): + case kind == reflect.String: + + default: + panic(fmt.Sprintf("LessThan: unexpected kind %v", kind)) + } + + return &lessThanMatcher{v} +} + +type lessThanMatcher struct { + limit reflect.Value +} + +func (m *lessThanMatcher) Description() string { + // Special case: make it clear that strings are strings. + if m.limit.Kind() == reflect.String { + return fmt.Sprintf("less than \"%s\"", m.limit.String()) + } + + return fmt.Sprintf("less than %v", m.limit.Interface()) +} + +func compareIntegers(v1, v2 reflect.Value) (err error) { + err = errors.New("") + + switch { + case isSignedInteger(v1) && isSignedInteger(v2): + if v1.Int() < v2.Int() { + err = nil + } + return + + case isSignedInteger(v1) && isUnsignedInteger(v2): + if v1.Int() < 0 || uint64(v1.Int()) < v2.Uint() { + err = nil + } + return + + case isUnsignedInteger(v1) && isSignedInteger(v2): + if v1.Uint() <= math.MaxInt64 && int64(v1.Uint()) < v2.Int() { + err = nil + } + return + + case isUnsignedInteger(v1) && isUnsignedInteger(v2): + if v1.Uint() < v2.Uint() { + err = nil + } + return + } + + panic(fmt.Sprintf("compareIntegers: %v %v", v1, v2)) +} + +func getFloat(v reflect.Value) float64 { + switch { + case isSignedInteger(v): + return float64(v.Int()) + + case isUnsignedInteger(v): + return float64(v.Uint()) + + case isFloat(v): + return v.Float() + } + + panic(fmt.Sprintf("getFloat: %v", v)) +} + +func (m *lessThanMatcher) Matches(c interface{}) (err error) { + v1 := reflect.ValueOf(c) + v2 := m.limit + + err = errors.New("") + + // Handle strings as a special case. + if v1.Kind() == reflect.String && v2.Kind() == reflect.String { + if v1.String() < v2.String() { + err = nil + } + return + } + + // If we get here, we require that we are dealing with integers or floats. + v1Legal := isInteger(v1) || isFloat(v1) + v2Legal := isInteger(v2) || isFloat(v2) + if !v1Legal || !v2Legal { + err = NewFatalError("which is not comparable") + return + } + + // Handle the various comparison cases. + switch { + // Both integers + case isInteger(v1) && isInteger(v2): + return compareIntegers(v1, v2) + + // At least one float32 + case v1.Kind() == reflect.Float32 || v2.Kind() == reflect.Float32: + if float32(getFloat(v1)) < float32(getFloat(v2)) { + err = nil + } + return + + // At least one float64 + case v1.Kind() == reflect.Float64 || v2.Kind() == reflect.Float64: + if getFloat(v1) < getFloat(v2) { + err = nil + } + return + } + + // We shouldn't get here. + panic(fmt.Sprintf("lessThanMatcher.Matches: Shouldn't get here: %v %v", v1, v2)) +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/matcher.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/matcher.go new file mode 100644 index 0000000..78159a0 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/matcher.go @@ -0,0 +1,86 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package oglematchers provides a set of matchers useful in a testing or +// mocking framework. These matchers are inspired by and mostly compatible with +// Google Test for C++ and Google JS Test. +// +// This package is used by github.com/smartystreets/assertions/internal/ogletest and +// github.com/smartystreets/assertions/internal/oglemock, which may be more directly useful if you're not +// writing your own testing package or defining your own matchers. +package oglematchers + +// A Matcher is some predicate implicitly defining a set of values that it +// matches. For example, GreaterThan(17) matches all numeric values greater +// than 17, and HasSubstr("taco") matches all strings with the substring +// "taco". +// +// Matchers are typically exposed to tests via constructor functions like +// HasSubstr. In order to implement such a function you can either define your +// own matcher type or use NewMatcher. +type Matcher interface { + // Check whether the supplied value belongs to the the set defined by the + // matcher. Return a non-nil error if and only if it does not. + // + // The error describes why the value doesn't match. The error text is a + // relative clause that is suitable for being placed after the value. For + // example, a predicate that matches strings with a particular substring may, + // when presented with a numerical value, return the following error text: + // + // "which is not a string" + // + // Then the failure message may look like: + // + // Expected: has substring "taco" + // Actual: 17, which is not a string + // + // If the error is self-apparent based on the description of the matcher, the + // error text may be empty (but the error still non-nil). For example: + // + // Expected: 17 + // Actual: 19 + // + // If you are implementing a new matcher, see also the documentation on + // FatalError. + Matches(candidate interface{}) error + + // Description returns a string describing the property that values matching + // this matcher have, as a verb phrase where the subject is the value. For + // example, "is greather than 17" or "has substring "taco"". + Description() string +} + +// FatalError is an implementation of the error interface that may be returned +// from matchers, indicating the error should be propagated. Returning a +// *FatalError indicates that the matcher doesn't process values of the +// supplied type, or otherwise doesn't know how to handle the value. +// +// For example, if GreaterThan(17) returned false for the value "taco" without +// a fatal error, then Not(GreaterThan(17)) would return true. This is +// technically correct, but is surprising and may mask failures where the wrong +// sort of matcher is accidentally used. Instead, GreaterThan(17) can return a +// fatal error, which will be propagated by Not(). +type FatalError struct { + errorText string +} + +// NewFatalError creates a FatalError struct with the supplied error text. +func NewFatalError(s string) *FatalError { + return &FatalError{s} +} + +func (e *FatalError) Error() string { + return e.errorText +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/not.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/not.go new file mode 100644 index 0000000..623789f --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/not.go @@ -0,0 +1,53 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +import ( + "errors" + "fmt" +) + +// Not returns a matcher that inverts the set of values matched by the wrapped +// matcher. It does not transform the result for values for which the wrapped +// matcher returns a fatal error. +func Not(m Matcher) Matcher { + return ¬Matcher{m} +} + +type notMatcher struct { + wrapped Matcher +} + +func (m *notMatcher) Matches(c interface{}) (err error) { + err = m.wrapped.Matches(c) + + // Did the wrapped matcher say yes? + if err == nil { + return errors.New("") + } + + // Did the wrapped matcher return a fatal error? + if _, isFatal := err.(*FatalError); isFatal { + return err + } + + // The wrapped matcher returned a non-fatal error. + return nil +} + +func (m *notMatcher) Description() string { + return fmt.Sprintf("not(%s)", m.wrapped.Description()) +} diff --git a/vendor/github.com/smartystreets/assertions/internal/oglematchers/transform_description.go b/vendor/github.com/smartystreets/assertions/internal/oglematchers/transform_description.go new file mode 100644 index 0000000..8ea2807 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/internal/oglematchers/transform_description.go @@ -0,0 +1,36 @@ +// Copyright 2011 Aaron Jacobs. All Rights Reserved. +// Author: aaronjjacobs@gmail.com (Aaron Jacobs) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package oglematchers + +// transformDescription returns a matcher that is equivalent to the supplied +// one, except that it has the supplied description instead of the one attached +// to the existing matcher. +func transformDescription(m Matcher, newDesc string) Matcher { + return &transformDescriptionMatcher{newDesc, m} +} + +type transformDescriptionMatcher struct { + desc string + wrappedMatcher Matcher +} + +func (m *transformDescriptionMatcher) Description() string { + return m.desc +} + +func (m *transformDescriptionMatcher) Matches(c interface{}) error { + return m.wrappedMatcher.Matches(c) +} diff --git a/vendor/github.com/smartystreets/assertions/messages.go b/vendor/github.com/smartystreets/assertions/messages.go new file mode 100644 index 0000000..9c57ab2 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/messages.go @@ -0,0 +1,93 @@ +package assertions + +const ( // equality + shouldHaveBeenEqual = "Expected: '%v'\nActual: '%v'\n(Should be equal)" + shouldNotHaveBeenEqual = "Expected '%v'\nto NOT equal '%v'\n(but it did)!" + shouldHaveBeenEqualTypeMismatch = "Expected: '%v' (%T)\nActual: '%v' (%T)\n(Should be equal, type mismatch)" + shouldHaveBeenAlmostEqual = "Expected '%v' to almost equal '%v' (but it didn't)!" + shouldHaveNotBeenAlmostEqual = "Expected '%v' to NOT almost equal '%v' (but it did)!" + shouldHaveResembled = "Expected: '%s'\nActual: '%s'\n(Should resemble)!" + shouldNotHaveResembled = "Expected '%#v'\nto NOT resemble '%#v'\n(but it did)!" + shouldBePointers = "Both arguments should be pointers " + shouldHaveBeenNonNilPointer = shouldBePointers + "(the %s was %s)!" + shouldHavePointedTo = "Expected '%+v' (address: '%v') and '%+v' (address: '%v') to be the same address (but their weren't)!" + shouldNotHavePointedTo = "Expected '%+v' and '%+v' to be different references (but they matched: '%v')!" + shouldHaveBeenNil = "Expected: nil\nActual: '%v'" + shouldNotHaveBeenNil = "Expected '%+v' to NOT be nil (but it was)!" + shouldHaveBeenTrue = "Expected: true\nActual: %v" + shouldHaveBeenFalse = "Expected: false\nActual: %v" + shouldHaveBeenZeroValue = "'%+v' should have been the zero value" //"Expected: (zero value)\nActual: %v" +) + +const ( // quantity comparisons + shouldHaveBeenGreater = "Expected '%v' to be greater than '%v' (but it wasn't)!" + shouldHaveBeenGreaterOrEqual = "Expected '%v' to be greater than or equal to '%v' (but it wasn't)!" + shouldHaveBeenLess = "Expected '%v' to be less than '%v' (but it wasn't)!" + shouldHaveBeenLessOrEqual = "Expected '%v' to be less than or equal to '%v' (but it wasn't)!" + shouldHaveBeenBetween = "Expected '%v' to be between '%v' and '%v' (but it wasn't)!" + shouldNotHaveBeenBetween = "Expected '%v' NOT to be between '%v' and '%v' (but it was)!" + shouldHaveDifferentUpperAndLower = "The lower and upper bounds must be different values (they were both '%v')." + shouldHaveBeenBetweenOrEqual = "Expected '%v' to be between '%v' and '%v' or equal to one of them (but it wasn't)!" + shouldNotHaveBeenBetweenOrEqual = "Expected '%v' NOT to be between '%v' and '%v' or equal to one of them (but it was)!" +) + +const ( // collections + shouldHaveContained = "Expected the container (%v) to contain: '%v' (but it didn't)!" + shouldNotHaveContained = "Expected the container (%v) NOT to contain: '%v' (but it did)!" + shouldHaveContainedKey = "Expected the %v to contain the key: %v (but it didn't)!" + shouldNotHaveContainedKey = "Expected the %v NOT to contain the key: %v (but it did)!" + shouldHaveBeenIn = "Expected '%v' to be in the container (%v), but it wasn't!" + shouldNotHaveBeenIn = "Expected '%v' NOT to be in the container (%v), but it was!" + shouldHaveBeenAValidCollection = "You must provide a valid container (was %v)!" + shouldHaveBeenAValidMap = "You must provide a valid map type (was %v)!" + shouldHaveBeenEmpty = "Expected %+v to be empty (but it wasn't)!" + shouldNotHaveBeenEmpty = "Expected %+v to NOT be empty (but it was)!" + shouldHaveBeenAValidInteger = "You must provide a valid integer (was %v)!" + shouldHaveBeenAValidLength = "You must provide a valid positive integer (was %v)!" + shouldHaveHadLength = "Expected %+v (length: %v) to have length equal to '%v', but it wasn't!" +) + +const ( // strings + shouldHaveStartedWith = "Expected '%v'\nto start with '%v'\n(but it didn't)!" + shouldNotHaveStartedWith = "Expected '%v'\nNOT to start with '%v'\n(but it did)!" + shouldHaveEndedWith = "Expected '%v'\nto end with '%v'\n(but it didn't)!" + shouldNotHaveEndedWith = "Expected '%v'\nNOT to end with '%v'\n(but it did)!" + shouldAllBeStrings = "All arguments to this assertion must be strings (you provided: %v)." + shouldBothBeStrings = "Both arguments to this assertion must be strings (you provided %v and %v)." + shouldBeString = "The argument to this assertion must be a string (you provided %v)." + shouldHaveContainedSubstring = "Expected '%s' to contain substring '%s' (but it didn't)!" + shouldNotHaveContainedSubstring = "Expected '%s' NOT to contain substring '%s' (but it did)!" + shouldHaveBeenBlank = "Expected '%s' to be blank (but it wasn't)!" + shouldNotHaveBeenBlank = "Expected value to NOT be blank (but it was)!" +) + +const ( // panics + shouldUseVoidNiladicFunction = "You must provide a void, niladic function as the first argument!" + shouldHavePanickedWith = "Expected func() to panic with '%v' (but it panicked with '%v')!" + shouldHavePanicked = "Expected func() to panic (but it didn't)!" + shouldNotHavePanicked = "Expected func() NOT to panic (error: '%+v')!" + shouldNotHavePanickedWith = "Expected func() NOT to panic with '%v' (but it did)!" +) + +const ( // type checking + shouldHaveBeenA = "Expected '%v' to be: '%v' (but was: '%v')!" + shouldNotHaveBeenA = "Expected '%v' to NOT be: '%v' (but it was)!" + + shouldHaveImplemented = "Expected: '%v interface support'\nActual: '%v' does not implement the interface!" + shouldNotHaveImplemented = "Expected '%v'\nto NOT implement '%v'\n(but it did)!" + shouldCompareWithInterfacePointer = "The expected value must be a pointer to an interface type (eg. *fmt.Stringer)" + shouldNotBeNilActual = "The actual value was 'nil' and should be a value or a pointer to a value!" +) + +const ( // time comparisons + shouldUseTimes = "You must provide time instances as arguments to this assertion." + shouldUseTimeSlice = "You must provide a slice of time instances as the first argument to this assertion." + shouldUseDurationAndTime = "You must provide a duration and a time as arguments to this assertion." + shouldHaveHappenedBefore = "Expected '%v' to happen before '%v' (it happened '%v' after)!" + shouldHaveHappenedAfter = "Expected '%v' to happen after '%v' (it happened '%v' before)!" + shouldHaveHappenedBetween = "Expected '%v' to happen between '%v' and '%v' (it happened '%v' outside threshold)!" + shouldNotHaveHappenedOnOrBetween = "Expected '%v' to NOT happen on or between '%v' and '%v' (but it did)!" + + // format params: incorrect-index, previous-index, previous-time, incorrect-index, incorrect-time + shouldHaveBeenChronological = "The 'Time' at index [%d] should have happened after the previous one (but it didn't!):\n [%d]: %s\n [%d]: %s (see, it happened before!)" +) diff --git a/vendor/github.com/smartystreets/assertions/panic.go b/vendor/github.com/smartystreets/assertions/panic.go new file mode 100644 index 0000000..7e75db1 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/panic.go @@ -0,0 +1,115 @@ +package assertions + +import "fmt" + +// ShouldPanic receives a void, niladic function and expects to recover a panic. +func ShouldPanic(actual interface{}, expected ...interface{}) (message string) { + if fail := need(0, expected); fail != success { + return fail + } + + action, _ := actual.(func()) + + if action == nil { + message = shouldUseVoidNiladicFunction + return + } + + defer func() { + recovered := recover() + if recovered == nil { + message = shouldHavePanicked + } else { + message = success + } + }() + action() + + return +} + +// ShouldNotPanic receives a void, niladic function and expects to execute the function without any panic. +func ShouldNotPanic(actual interface{}, expected ...interface{}) (message string) { + if fail := need(0, expected); fail != success { + return fail + } + + action, _ := actual.(func()) + + if action == nil { + message = shouldUseVoidNiladicFunction + return + } + + defer func() { + recovered := recover() + if recovered != nil { + message = fmt.Sprintf(shouldNotHavePanicked, recovered) + } else { + message = success + } + }() + action() + + return +} + +// ShouldPanicWith receives a void, niladic function and expects to recover a panic with the second argument as the content. +func ShouldPanicWith(actual interface{}, expected ...interface{}) (message string) { + if fail := need(1, expected); fail != success { + return fail + } + + action, _ := actual.(func()) + + if action == nil { + message = shouldUseVoidNiladicFunction + return + } + + defer func() { + recovered := recover() + if recovered == nil { + message = shouldHavePanicked + } else { + if equal := ShouldEqual(recovered, expected[0]); equal != success { + message = serializer.serialize(expected[0], recovered, fmt.Sprintf(shouldHavePanickedWith, expected[0], recovered)) + } else { + message = success + } + } + }() + action() + + return +} + +// ShouldNotPanicWith receives a void, niladic function and expects to recover a panic whose content differs from the second argument. +func ShouldNotPanicWith(actual interface{}, expected ...interface{}) (message string) { + if fail := need(1, expected); fail != success { + return fail + } + + action, _ := actual.(func()) + + if action == nil { + message = shouldUseVoidNiladicFunction + return + } + + defer func() { + recovered := recover() + if recovered == nil { + message = success + } else { + if equal := ShouldEqual(recovered, expected[0]); equal == success { + message = fmt.Sprintf(shouldNotHavePanickedWith, expected[0]) + } else { + message = success + } + } + }() + action() + + return +} diff --git a/vendor/github.com/smartystreets/assertions/quantity.go b/vendor/github.com/smartystreets/assertions/quantity.go new file mode 100644 index 0000000..f28b0a0 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/quantity.go @@ -0,0 +1,141 @@ +package assertions + +import ( + "fmt" + + "github.com/smartystreets/assertions/internal/oglematchers" +) + +// ShouldBeGreaterThan receives exactly two parameters and ensures that the first is greater than the second. +func ShouldBeGreaterThan(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + if matchError := oglematchers.GreaterThan(expected[0]).Matches(actual); matchError != nil { + return fmt.Sprintf(shouldHaveBeenGreater, actual, expected[0]) + } + return success +} + +// ShouldBeGreaterThanOrEqualTo receives exactly two parameters and ensures that the first is greater than or equal to the second. +func ShouldBeGreaterThanOrEqualTo(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } else if matchError := oglematchers.GreaterOrEqual(expected[0]).Matches(actual); matchError != nil { + return fmt.Sprintf(shouldHaveBeenGreaterOrEqual, actual, expected[0]) + } + return success +} + +// ShouldBeLessThan receives exactly two parameters and ensures that the first is less than the second. +func ShouldBeLessThan(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } else if matchError := oglematchers.LessThan(expected[0]).Matches(actual); matchError != nil { + return fmt.Sprintf(shouldHaveBeenLess, actual, expected[0]) + } + return success +} + +// ShouldBeLessThan receives exactly two parameters and ensures that the first is less than or equal to the second. +func ShouldBeLessThanOrEqualTo(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } else if matchError := oglematchers.LessOrEqual(expected[0]).Matches(actual); matchError != nil { + return fmt.Sprintf(shouldHaveBeenLessOrEqual, actual, expected[0]) + } + return success +} + +// ShouldBeBetween receives exactly three parameters: an actual value, a lower bound, and an upper bound. +// It ensures that the actual value is between both bounds (but not equal to either of them). +func ShouldBeBetween(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + lower, upper, fail := deriveBounds(expected) + + if fail != success { + return fail + } else if !isBetween(actual, lower, upper) { + return fmt.Sprintf(shouldHaveBeenBetween, actual, lower, upper) + } + return success +} + +// ShouldNotBeBetween receives exactly three parameters: an actual value, a lower bound, and an upper bound. +// It ensures that the actual value is NOT between both bounds. +func ShouldNotBeBetween(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + lower, upper, fail := deriveBounds(expected) + + if fail != success { + return fail + } else if isBetween(actual, lower, upper) { + return fmt.Sprintf(shouldNotHaveBeenBetween, actual, lower, upper) + } + return success +} +func deriveBounds(values []interface{}) (lower interface{}, upper interface{}, fail string) { + lower = values[0] + upper = values[1] + + if ShouldNotEqual(lower, upper) != success { + return nil, nil, fmt.Sprintf(shouldHaveDifferentUpperAndLower, lower) + } else if ShouldBeLessThan(lower, upper) != success { + lower, upper = upper, lower + } + return lower, upper, success +} +func isBetween(value, lower, upper interface{}) bool { + if ShouldBeGreaterThan(value, lower) != success { + return false + } else if ShouldBeLessThan(value, upper) != success { + return false + } + return true +} + +// ShouldBeBetweenOrEqual receives exactly three parameters: an actual value, a lower bound, and an upper bound. +// It ensures that the actual value is between both bounds or equal to one of them. +func ShouldBeBetweenOrEqual(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + lower, upper, fail := deriveBounds(expected) + + if fail != success { + return fail + } else if !isBetweenOrEqual(actual, lower, upper) { + return fmt.Sprintf(shouldHaveBeenBetweenOrEqual, actual, lower, upper) + } + return success +} + +// ShouldNotBeBetweenOrEqual receives exactly three parameters: an actual value, a lower bound, and an upper bound. +// It ensures that the actual value is nopt between the bounds nor equal to either of them. +func ShouldNotBeBetweenOrEqual(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + lower, upper, fail := deriveBounds(expected) + + if fail != success { + return fail + } else if isBetweenOrEqual(actual, lower, upper) { + return fmt.Sprintf(shouldNotHaveBeenBetweenOrEqual, actual, lower, upper) + } + return success +} + +func isBetweenOrEqual(value, lower, upper interface{}) bool { + if ShouldBeGreaterThanOrEqualTo(value, lower) != success { + return false + } else if ShouldBeLessThanOrEqualTo(value, upper) != success { + return false + } + return true +} diff --git a/vendor/github.com/smartystreets/assertions/serializer.go b/vendor/github.com/smartystreets/assertions/serializer.go new file mode 100644 index 0000000..b263c30 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/serializer.go @@ -0,0 +1,69 @@ +package assertions + +import ( + "encoding/json" + "fmt" + + "github.com/smartystreets/assertions/internal/go-render/render" +) + +type Serializer interface { + serialize(expected, actual interface{}, message string) string + serializeDetailed(expected, actual interface{}, message string) string +} + +type failureSerializer struct{} + +func (self *failureSerializer) serializeDetailed(expected, actual interface{}, message string) string { + view := FailureView{ + Message: message, + Expected: render.Render(expected), + Actual: render.Render(actual), + } + serialized, err := json.Marshal(view) + if err != nil { + return message + } + return string(serialized) +} + +func (self *failureSerializer) serialize(expected, actual interface{}, message string) string { + view := FailureView{ + Message: message, + Expected: fmt.Sprintf("%+v", expected), + Actual: fmt.Sprintf("%+v", actual), + } + serialized, err := json.Marshal(view) + if err != nil { + return message + } + return string(serialized) +} + +func newSerializer() *failureSerializer { + return &failureSerializer{} +} + +/////////////////////////////////////////////////////////////////////////////// + +// This struct is also declared in github.com/smartystreets/goconvey/convey/reporting. +// The json struct tags should be equal in both declarations. +type FailureView struct { + Message string `json:"Message"` + Expected string `json:"Expected"` + Actual string `json:"Actual"` +} + +/////////////////////////////////////////////////////// + +// noopSerializer just gives back the original message. This is useful when we are using +// the assertions from a context other than the GoConvey Web UI, that requires the JSON +// structure provided by the failureSerializer. +type noopSerializer struct{} + +func (self *noopSerializer) serialize(expected, actual interface{}, message string) string { + return message +} +func (self *noopSerializer) serializeDetailed(expected, actual interface{}, message string) string { + return message +} diff --git a/vendor/github.com/smartystreets/assertions/strings.go b/vendor/github.com/smartystreets/assertions/strings.go new file mode 100644 index 0000000..dbc3f04 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/strings.go @@ -0,0 +1,227 @@ +package assertions + +import ( + "fmt" + "reflect" + "strings" +) + +// ShouldStartWith receives exactly 2 string parameters and ensures that the first starts with the second. +func ShouldStartWith(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + value, valueIsString := actual.(string) + prefix, prefixIsString := expected[0].(string) + + if !valueIsString || !prefixIsString { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + return shouldStartWith(value, prefix) +} +func shouldStartWith(value, prefix string) string { + if !strings.HasPrefix(value, prefix) { + shortval := value + if len(shortval) > len(prefix) { + shortval = shortval[:len(prefix)] + "..." + } + return serializer.serialize(prefix, shortval, fmt.Sprintf(shouldHaveStartedWith, value, prefix)) + } + return success +} + +// ShouldNotStartWith receives exactly 2 string parameters and ensures that the first does not start with the second. +func ShouldNotStartWith(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + value, valueIsString := actual.(string) + prefix, prefixIsString := expected[0].(string) + + if !valueIsString || !prefixIsString { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + return shouldNotStartWith(value, prefix) +} +func shouldNotStartWith(value, prefix string) string { + if strings.HasPrefix(value, prefix) { + if value == "" { + value = "" + } + if prefix == "" { + prefix = "" + } + return fmt.Sprintf(shouldNotHaveStartedWith, value, prefix) + } + return success +} + +// ShouldEndWith receives exactly 2 string parameters and ensures that the first ends with the second. +func ShouldEndWith(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + value, valueIsString := actual.(string) + suffix, suffixIsString := expected[0].(string) + + if !valueIsString || !suffixIsString { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + return shouldEndWith(value, suffix) +} +func shouldEndWith(value, suffix string) string { + if !strings.HasSuffix(value, suffix) { + shortval := value + if len(shortval) > len(suffix) { + shortval = "..." + shortval[len(shortval)-len(suffix):] + } + return serializer.serialize(suffix, shortval, fmt.Sprintf(shouldHaveEndedWith, value, suffix)) + } + return success +} + +// ShouldEndWith receives exactly 2 string parameters and ensures that the first does not end with the second. +func ShouldNotEndWith(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + value, valueIsString := actual.(string) + suffix, suffixIsString := expected[0].(string) + + if !valueIsString || !suffixIsString { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + return shouldNotEndWith(value, suffix) +} +func shouldNotEndWith(value, suffix string) string { + if strings.HasSuffix(value, suffix) { + if value == "" { + value = "" + } + if suffix == "" { + suffix = "" + } + return fmt.Sprintf(shouldNotHaveEndedWith, value, suffix) + } + return success +} + +// ShouldContainSubstring receives exactly 2 string parameters and ensures that the first contains the second as a substring. +func ShouldContainSubstring(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + long, longOk := actual.(string) + short, shortOk := expected[0].(string) + + if !longOk || !shortOk { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + if !strings.Contains(long, short) { + return serializer.serialize(expected[0], actual, fmt.Sprintf(shouldHaveContainedSubstring, long, short)) + } + return success +} + +// ShouldNotContainSubstring receives exactly 2 string parameters and ensures that the first does NOT contain the second as a substring. +func ShouldNotContainSubstring(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + long, longOk := actual.(string) + short, shortOk := expected[0].(string) + + if !longOk || !shortOk { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + if strings.Contains(long, short) { + return fmt.Sprintf(shouldNotHaveContainedSubstring, long, short) + } + return success +} + +// ShouldBeBlank receives exactly 1 string parameter and ensures that it is equal to "". +func ShouldBeBlank(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } + value, ok := actual.(string) + if !ok { + return fmt.Sprintf(shouldBeString, reflect.TypeOf(actual)) + } + if value != "" { + return serializer.serialize("", value, fmt.Sprintf(shouldHaveBeenBlank, value)) + } + return success +} + +// ShouldNotBeBlank receives exactly 1 string parameter and ensures that it is equal to "". +func ShouldNotBeBlank(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } + value, ok := actual.(string) + if !ok { + return fmt.Sprintf(shouldBeString, reflect.TypeOf(actual)) + } + if value == "" { + return shouldNotHaveBeenBlank + } + return success +} + +// ShouldEqualWithout receives exactly 3 string parameters and ensures that the first is equal to the second +// after removing all instances of the third from the first using strings.Replace(first, third, "", -1). +func ShouldEqualWithout(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + actualString, ok1 := actual.(string) + expectedString, ok2 := expected[0].(string) + replace, ok3 := expected[1].(string) + + if !ok1 || !ok2 || !ok3 { + return fmt.Sprintf(shouldAllBeStrings, []reflect.Type{ + reflect.TypeOf(actual), + reflect.TypeOf(expected[0]), + reflect.TypeOf(expected[1]), + }) + } + + replaced := strings.Replace(actualString, replace, "", -1) + if replaced == expectedString { + return "" + } + + return fmt.Sprintf("Expected '%s' to equal '%s' but without any '%s' (but it didn't).", actualString, expectedString, replace) +} + +// ShouldEqualTrimSpace receives exactly 2 string parameters and ensures that the first is equal to the second +// after removing all leading and trailing whitespace using strings.TrimSpace(first). +func ShouldEqualTrimSpace(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + actualString, valueIsString := actual.(string) + _, value2IsString := expected[0].(string) + + if !valueIsString || !value2IsString { + return fmt.Sprintf(shouldBothBeStrings, reflect.TypeOf(actual), reflect.TypeOf(expected[0])) + } + + actualString = strings.TrimSpace(actualString) + return ShouldEqual(actualString, expected[0]) +} diff --git a/vendor/github.com/smartystreets/assertions/time.go b/vendor/github.com/smartystreets/assertions/time.go new file mode 100644 index 0000000..7e05026 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/time.go @@ -0,0 +1,202 @@ +package assertions + +import ( + "fmt" + "time" +) + +// ShouldHappenBefore receives exactly 2 time.Time arguments and asserts that the first happens before the second. +func ShouldHappenBefore(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + expectedTime, secondOk := expected[0].(time.Time) + + if !firstOk || !secondOk { + return shouldUseTimes + } + + if !actualTime.Before(expectedTime) { + return fmt.Sprintf(shouldHaveHappenedBefore, actualTime, expectedTime, actualTime.Sub(expectedTime)) + } + + return success +} + +// ShouldHappenOnOrBefore receives exactly 2 time.Time arguments and asserts that the first happens on or before the second. +func ShouldHappenOnOrBefore(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + expectedTime, secondOk := expected[0].(time.Time) + + if !firstOk || !secondOk { + return shouldUseTimes + } + + if actualTime.Equal(expectedTime) { + return success + } + return ShouldHappenBefore(actualTime, expectedTime) +} + +// ShouldHappenAfter receives exactly 2 time.Time arguments and asserts that the first happens after the second. +func ShouldHappenAfter(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + expectedTime, secondOk := expected[0].(time.Time) + + if !firstOk || !secondOk { + return shouldUseTimes + } + if !actualTime.After(expectedTime) { + return fmt.Sprintf(shouldHaveHappenedAfter, actualTime, expectedTime, expectedTime.Sub(actualTime)) + } + return success +} + +// ShouldHappenOnOrAfter receives exactly 2 time.Time arguments and asserts that the first happens on or after the second. +func ShouldHappenOnOrAfter(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + expectedTime, secondOk := expected[0].(time.Time) + + if !firstOk || !secondOk { + return shouldUseTimes + } + if actualTime.Equal(expectedTime) { + return success + } + return ShouldHappenAfter(actualTime, expectedTime) +} + +// ShouldHappenBetween receives exactly 3 time.Time arguments and asserts that the first happens between (not on) the second and third. +func ShouldHappenBetween(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + min, secondOk := expected[0].(time.Time) + max, thirdOk := expected[1].(time.Time) + + if !firstOk || !secondOk || !thirdOk { + return shouldUseTimes + } + + if !actualTime.After(min) { + return fmt.Sprintf(shouldHaveHappenedBetween, actualTime, min, max, min.Sub(actualTime)) + } + if !actualTime.Before(max) { + return fmt.Sprintf(shouldHaveHappenedBetween, actualTime, min, max, actualTime.Sub(max)) + } + return success +} + +// ShouldHappenOnOrBetween receives exactly 3 time.Time arguments and asserts that the first happens between or on the second and third. +func ShouldHappenOnOrBetween(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + min, secondOk := expected[0].(time.Time) + max, thirdOk := expected[1].(time.Time) + + if !firstOk || !secondOk || !thirdOk { + return shouldUseTimes + } + if actualTime.Equal(min) || actualTime.Equal(max) { + return success + } + return ShouldHappenBetween(actualTime, min, max) +} + +// ShouldNotHappenOnOrBetween receives exactly 3 time.Time arguments and asserts that the first +// does NOT happen between or on the second or third. +func ShouldNotHappenOnOrBetween(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + min, secondOk := expected[0].(time.Time) + max, thirdOk := expected[1].(time.Time) + + if !firstOk || !secondOk || !thirdOk { + return shouldUseTimes + } + if actualTime.Equal(min) || actualTime.Equal(max) { + return fmt.Sprintf(shouldNotHaveHappenedOnOrBetween, actualTime, min, max) + } + if actualTime.After(min) && actualTime.Before(max) { + return fmt.Sprintf(shouldNotHaveHappenedOnOrBetween, actualTime, min, max) + } + return success +} + +// ShouldHappenWithin receives a time.Time, a time.Duration, and a time.Time (3 arguments) +// and asserts that the first time.Time happens within or on the duration specified relative to +// the other time.Time. +func ShouldHappenWithin(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + tolerance, secondOk := expected[0].(time.Duration) + threshold, thirdOk := expected[1].(time.Time) + + if !firstOk || !secondOk || !thirdOk { + return shouldUseDurationAndTime + } + + min := threshold.Add(-tolerance) + max := threshold.Add(tolerance) + return ShouldHappenOnOrBetween(actualTime, min, max) +} + +// ShouldNotHappenWithin receives a time.Time, a time.Duration, and a time.Time (3 arguments) +// and asserts that the first time.Time does NOT happen within or on the duration specified relative to +// the other time.Time. +func ShouldNotHappenWithin(actual interface{}, expected ...interface{}) string { + if fail := need(2, expected); fail != success { + return fail + } + actualTime, firstOk := actual.(time.Time) + tolerance, secondOk := expected[0].(time.Duration) + threshold, thirdOk := expected[1].(time.Time) + + if !firstOk || !secondOk || !thirdOk { + return shouldUseDurationAndTime + } + + min := threshold.Add(-tolerance) + max := threshold.Add(tolerance) + return ShouldNotHappenOnOrBetween(actualTime, min, max) +} + +// ShouldBeChronological receives a []time.Time slice and asserts that the are +// in chronological order starting with the first time.Time as the earliest. +func ShouldBeChronological(actual interface{}, expected ...interface{}) string { + if fail := need(0, expected); fail != success { + return fail + } + + times, ok := actual.([]time.Time) + if !ok { + return shouldUseTimeSlice + } + + var previous time.Time + for i, current := range times { + if i > 0 && current.Before(previous) { + return fmt.Sprintf(shouldHaveBeenChronological, + i, i-1, previous.String(), i, current.String()) + } + previous = current + } + return "" +} diff --git a/vendor/github.com/smartystreets/assertions/type.go b/vendor/github.com/smartystreets/assertions/type.go new file mode 100644 index 0000000..3fc00f6 --- /dev/null +++ b/vendor/github.com/smartystreets/assertions/type.go @@ -0,0 +1,112 @@ +package assertions + +import ( + "fmt" + "reflect" +) + +// ShouldHaveSameTypeAs receives exactly two parameters and compares their underlying types for equality. +func ShouldHaveSameTypeAs(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + first := reflect.TypeOf(actual) + second := reflect.TypeOf(expected[0]) + + if equal := ShouldEqual(first, second); equal != success { + return serializer.serialize(second, first, fmt.Sprintf(shouldHaveBeenA, actual, second, first)) + } + return success +} + +// ShouldNotHaveSameTypeAs receives exactly two parameters and compares their underlying types for inequality. +func ShouldNotHaveSameTypeAs(actual interface{}, expected ...interface{}) string { + if fail := need(1, expected); fail != success { + return fail + } + + first := reflect.TypeOf(actual) + second := reflect.TypeOf(expected[0]) + + if equal := ShouldEqual(first, second); equal == success { + return fmt.Sprintf(shouldNotHaveBeenA, actual, second) + } + return success +} + +// ShouldImplement receives exactly two parameters and ensures +// that the first implements the interface type of the second. +func ShouldImplement(actual interface{}, expectedList ...interface{}) string { + if fail := need(1, expectedList); fail != success { + return fail + } + + expected := expectedList[0] + if fail := ShouldBeNil(expected); fail != success { + return shouldCompareWithInterfacePointer + } + + if fail := ShouldNotBeNil(actual); fail != success { + return shouldNotBeNilActual + } + + var actualType reflect.Type + if reflect.TypeOf(actual).Kind() != reflect.Ptr { + actualType = reflect.PtrTo(reflect.TypeOf(actual)) + } else { + actualType = reflect.TypeOf(actual) + } + + expectedType := reflect.TypeOf(expected) + if fail := ShouldNotBeNil(expectedType); fail != success { + return shouldCompareWithInterfacePointer + } + + expectedInterface := expectedType.Elem() + + if actualType == nil { + return fmt.Sprintf(shouldHaveImplemented, expectedInterface, actual) + } + + if !actualType.Implements(expectedInterface) { + return fmt.Sprintf(shouldHaveImplemented, expectedInterface, actualType) + } + return success +} + +// ShouldNotImplement receives exactly two parameters and ensures +// that the first does NOT implement the interface type of the second. +func ShouldNotImplement(actual interface{}, expectedList ...interface{}) string { + if fail := need(1, expectedList); fail != success { + return fail + } + + expected := expectedList[0] + if fail := ShouldBeNil(expected); fail != success { + return shouldCompareWithInterfacePointer + } + + if fail := ShouldNotBeNil(actual); fail != success { + return shouldNotBeNilActual + } + + var actualType reflect.Type + if reflect.TypeOf(actual).Kind() != reflect.Ptr { + actualType = reflect.PtrTo(reflect.TypeOf(actual)) + } else { + actualType = reflect.TypeOf(actual) + } + + expectedType := reflect.TypeOf(expected) + if fail := ShouldNotBeNil(expectedType); fail != success { + return shouldCompareWithInterfacePointer + } + + expectedInterface := expectedType.Elem() + + if actualType.Implements(expectedInterface) { + return fmt.Sprintf(shouldNotHaveImplemented, actualType, expectedInterface) + } + return success +} diff --git a/vendor/github.com/smartystreets/goconvey/LICENSE.md b/vendor/github.com/smartystreets/goconvey/LICENSE.md new file mode 100644 index 0000000..3f87a40 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/LICENSE.md @@ -0,0 +1,23 @@ +Copyright (c) 2016 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. diff --git a/vendor/github.com/smartystreets/goconvey/convey/assertions.go b/vendor/github.com/smartystreets/goconvey/convey/assertions.go new file mode 100644 index 0000000..1e87b82 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/assertions.go @@ -0,0 +1,68 @@ +package convey + +import "github.com/smartystreets/assertions" + +var ( + ShouldEqual = assertions.ShouldEqual + ShouldNotEqual = assertions.ShouldNotEqual + ShouldAlmostEqual = assertions.ShouldAlmostEqual + ShouldNotAlmostEqual = assertions.ShouldNotAlmostEqual + ShouldResemble = assertions.ShouldResemble + ShouldNotResemble = assertions.ShouldNotResemble + ShouldPointTo = assertions.ShouldPointTo + ShouldNotPointTo = assertions.ShouldNotPointTo + ShouldBeNil = assertions.ShouldBeNil + ShouldNotBeNil = assertions.ShouldNotBeNil + ShouldBeTrue = assertions.ShouldBeTrue + ShouldBeFalse = assertions.ShouldBeFalse + ShouldBeZeroValue = assertions.ShouldBeZeroValue + + ShouldBeGreaterThan = assertions.ShouldBeGreaterThan + ShouldBeGreaterThanOrEqualTo = assertions.ShouldBeGreaterThanOrEqualTo + ShouldBeLessThan = assertions.ShouldBeLessThan + ShouldBeLessThanOrEqualTo = assertions.ShouldBeLessThanOrEqualTo + ShouldBeBetween = assertions.ShouldBeBetween + ShouldNotBeBetween = assertions.ShouldNotBeBetween + ShouldBeBetweenOrEqual = assertions.ShouldBeBetweenOrEqual + ShouldNotBeBetweenOrEqual = assertions.ShouldNotBeBetweenOrEqual + + ShouldContain = assertions.ShouldContain + ShouldNotContain = assertions.ShouldNotContain + ShouldContainKey = assertions.ShouldContainKey + ShouldNotContainKey = assertions.ShouldNotContainKey + ShouldBeIn = assertions.ShouldBeIn + ShouldNotBeIn = assertions.ShouldNotBeIn + ShouldBeEmpty = assertions.ShouldBeEmpty + ShouldNotBeEmpty = assertions.ShouldNotBeEmpty + ShouldHaveLength = assertions.ShouldHaveLength + + ShouldStartWith = assertions.ShouldStartWith + ShouldNotStartWith = assertions.ShouldNotStartWith + ShouldEndWith = assertions.ShouldEndWith + ShouldNotEndWith = assertions.ShouldNotEndWith + ShouldBeBlank = assertions.ShouldBeBlank + ShouldNotBeBlank = assertions.ShouldNotBeBlank + ShouldContainSubstring = assertions.ShouldContainSubstring + ShouldNotContainSubstring = assertions.ShouldNotContainSubstring + + ShouldPanic = assertions.ShouldPanic + ShouldNotPanic = assertions.ShouldNotPanic + ShouldPanicWith = assertions.ShouldPanicWith + ShouldNotPanicWith = assertions.ShouldNotPanicWith + + ShouldHaveSameTypeAs = assertions.ShouldHaveSameTypeAs + ShouldNotHaveSameTypeAs = assertions.ShouldNotHaveSameTypeAs + ShouldImplement = assertions.ShouldImplement + ShouldNotImplement = assertions.ShouldNotImplement + + ShouldHappenBefore = assertions.ShouldHappenBefore + ShouldHappenOnOrBefore = assertions.ShouldHappenOnOrBefore + ShouldHappenAfter = assertions.ShouldHappenAfter + ShouldHappenOnOrAfter = assertions.ShouldHappenOnOrAfter + ShouldHappenBetween = assertions.ShouldHappenBetween + ShouldHappenOnOrBetween = assertions.ShouldHappenOnOrBetween + ShouldNotHappenOnOrBetween = assertions.ShouldNotHappenOnOrBetween + ShouldHappenWithin = assertions.ShouldHappenWithin + ShouldNotHappenWithin = assertions.ShouldNotHappenWithin + ShouldBeChronological = assertions.ShouldBeChronological +) diff --git a/vendor/github.com/smartystreets/goconvey/convey/context.go b/vendor/github.com/smartystreets/goconvey/convey/context.go new file mode 100644 index 0000000..2c75c2d --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/context.go @@ -0,0 +1,272 @@ +package convey + +import ( + "fmt" + + "github.com/jtolds/gls" + "github.com/smartystreets/goconvey/convey/reporting" +) + +type conveyErr struct { + fmt string + params []interface{} +} + +func (e *conveyErr) Error() string { + return fmt.Sprintf(e.fmt, e.params...) +} + +func conveyPanic(fmt string, params ...interface{}) { + panic(&conveyErr{fmt, params}) +} + +const ( + missingGoTest = `Top-level calls to Convey(...) need a reference to the *testing.T. + Hint: Convey("description here", t, func() { /* notice that the second argument was the *testing.T (t)! */ }) ` + extraGoTest = `Only the top-level call to Convey(...) needs a reference to the *testing.T.` + noStackContext = "Convey operation made without context on goroutine stack.\n" + + "Hint: Perhaps you meant to use `Convey(..., func(c C){...})` ?" + differentConveySituations = "Different set of Convey statements on subsequent pass!\nDid not expect %#v." + multipleIdenticalConvey = "Multiple convey suites with identical names: %#v" +) + +const ( + failureHalt = "___FAILURE_HALT___" + + nodeKey = "node" +) + +///////////////////////////////// Stack Context ///////////////////////////////// + +func getCurrentContext() *context { + ctx, ok := ctxMgr.GetValue(nodeKey) + if ok { + return ctx.(*context) + } + return nil +} + +func mustGetCurrentContext() *context { + ctx := getCurrentContext() + if ctx == nil { + conveyPanic(noStackContext) + } + return ctx +} + +//////////////////////////////////// Context //////////////////////////////////// + +// context magically handles all coordination of Convey's and So assertions. +// +// It is tracked on the stack as goroutine-local-storage with the gls package, +// or explicitly if the user decides to call convey like: +// +// Convey(..., func(c C) { +// c.So(...) +// }) +// +// This implements the `C` interface. +type context struct { + reporter reporting.Reporter + + children map[string]*context + + resets []func() + + executedOnce bool + expectChildRun *bool + complete bool + + focus bool + failureMode FailureMode +} + +// rootConvey is the main entry point to a test suite. This is called when +// there's no context in the stack already, and items must contain a `t` object, +// or this panics. +func rootConvey(items ...interface{}) { + entry := discover(items) + + if entry.Test == nil { + conveyPanic(missingGoTest) + } + + expectChildRun := true + ctx := &context{ + reporter: buildReporter(), + + children: make(map[string]*context), + + expectChildRun: &expectChildRun, + + focus: entry.Focus, + failureMode: defaultFailureMode.combine(entry.FailMode), + } + ctxMgr.SetValues(gls.Values{nodeKey: ctx}, func() { + ctx.reporter.BeginStory(reporting.NewStoryReport(entry.Test)) + defer ctx.reporter.EndStory() + + for ctx.shouldVisit() { + ctx.conveyInner(entry.Situation, entry.Func) + expectChildRun = true + } + }) +} + +//////////////////////////////////// Methods //////////////////////////////////// + +func (ctx *context) SkipConvey(items ...interface{}) { + ctx.Convey(items, skipConvey) +} + +func (ctx *context) FocusConvey(items ...interface{}) { + ctx.Convey(items, focusConvey) +} + +func (ctx *context) Convey(items ...interface{}) { + entry := discover(items) + + // we're a branch, or leaf (on the wind) + if entry.Test != nil { + conveyPanic(extraGoTest) + } + if ctx.focus && !entry.Focus { + return + } + + var inner_ctx *context + if ctx.executedOnce { + var ok bool + inner_ctx, ok = ctx.children[entry.Situation] + if !ok { + conveyPanic(differentConveySituations, entry.Situation) + } + } else { + if _, ok := ctx.children[entry.Situation]; ok { + conveyPanic(multipleIdenticalConvey, entry.Situation) + } + inner_ctx = &context{ + reporter: ctx.reporter, + + children: make(map[string]*context), + + expectChildRun: ctx.expectChildRun, + + focus: entry.Focus, + failureMode: ctx.failureMode.combine(entry.FailMode), + } + ctx.children[entry.Situation] = inner_ctx + } + + if inner_ctx.shouldVisit() { + ctxMgr.SetValues(gls.Values{nodeKey: inner_ctx}, func() { + inner_ctx.conveyInner(entry.Situation, entry.Func) + }) + } +} + +func (ctx *context) SkipSo(stuff ...interface{}) { + ctx.assertionReport(reporting.NewSkipReport()) +} + +func (ctx *context) So(actual interface{}, assert assertion, expected ...interface{}) { + if result := assert(actual, expected...); result == assertionSuccess { + ctx.assertionReport(reporting.NewSuccessReport()) + } else { + ctx.assertionReport(reporting.NewFailureReport(result)) + } +} + +func (ctx *context) Reset(action func()) { + /* TODO: Failure mode configuration */ + ctx.resets = append(ctx.resets, action) +} + +func (ctx *context) Print(items ...interface{}) (int, error) { + fmt.Fprint(ctx.reporter, items...) + return fmt.Print(items...) +} + +func (ctx *context) Println(items ...interface{}) (int, error) { + fmt.Fprintln(ctx.reporter, items...) + return fmt.Println(items...) +} + +func (ctx *context) Printf(format string, items ...interface{}) (int, error) { + fmt.Fprintf(ctx.reporter, format, items...) + return fmt.Printf(format, items...) +} + +//////////////////////////////////// Private //////////////////////////////////// + +// shouldVisit returns true iff we should traverse down into a Convey. Note +// that just because we don't traverse a Convey this time, doesn't mean that +// we may not traverse it on a subsequent pass. +func (c *context) shouldVisit() bool { + return !c.complete && *c.expectChildRun +} + +// conveyInner is the function which actually executes the user's anonymous test +// function body. At this point, Convey or RootConvey has decided that this +// function should actually run. +func (ctx *context) conveyInner(situation string, f func(C)) { + // Record/Reset state for next time. + defer func() { + ctx.executedOnce = true + + // This is only needed at the leaves, but there's no harm in also setting it + // when returning from branch Convey's + *ctx.expectChildRun = false + }() + + // Set up+tear down our scope for the reporter + ctx.reporter.Enter(reporting.NewScopeReport(situation)) + defer ctx.reporter.Exit() + + // Recover from any panics in f, and assign the `complete` status for this + // node of the tree. + defer func() { + ctx.complete = true + if problem := recover(); problem != nil { + if problem, ok := problem.(*conveyErr); ok { + panic(problem) + } + if problem != failureHalt { + ctx.reporter.Report(reporting.NewErrorReport(problem)) + } + } else { + for _, child := range ctx.children { + if !child.complete { + ctx.complete = false + return + } + } + } + }() + + // Resets are registered as the `f` function executes, so nil them here. + // All resets are run in registration order (FIFO). + ctx.resets = []func(){} + defer func() { + for _, r := range ctx.resets { + // panics handled by the previous defer + r() + } + }() + + if f == nil { + // if f is nil, this was either a Convey(..., nil), or a SkipConvey + ctx.reporter.Report(reporting.NewSkipReport()) + } else { + f(ctx) + } +} + +// assertionReport is a helper for So and SkipSo which makes the report and +// then possibly panics, depending on the current context's failureMode. +func (ctx *context) assertionReport(r *reporting.AssertionResult) { + ctx.reporter.Report(r) + if r.Failure != "" && ctx.failureMode == FailureHalts { + panic(failureHalt) + } +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/convey.goconvey b/vendor/github.com/smartystreets/goconvey/convey/convey.goconvey new file mode 100644 index 0000000..a2d9327 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/convey.goconvey @@ -0,0 +1,4 @@ +#ignore +-timeout=1s +#-covermode=count +#-coverpkg=github.com/smartystreets/goconvey/convey,github.com/smartystreets/goconvey/convey/gotest,github.com/smartystreets/goconvey/convey/reporting \ No newline at end of file diff --git a/vendor/github.com/smartystreets/goconvey/convey/discovery.go b/vendor/github.com/smartystreets/goconvey/convey/discovery.go new file mode 100644 index 0000000..eb8d4cb --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/discovery.go @@ -0,0 +1,103 @@ +package convey + +type actionSpecifier uint8 + +const ( + noSpecifier actionSpecifier = iota + skipConvey + focusConvey +) + +type suite struct { + Situation string + Test t + Focus bool + Func func(C) // nil means skipped + FailMode FailureMode +} + +func newSuite(situation string, failureMode FailureMode, f func(C), test t, specifier actionSpecifier) *suite { + ret := &suite{ + Situation: situation, + Test: test, + Func: f, + FailMode: failureMode, + } + switch specifier { + case skipConvey: + ret.Func = nil + case focusConvey: + ret.Focus = true + } + return ret +} + +func discover(items []interface{}) *suite { + name, items := parseName(items) + test, items := parseGoTest(items) + failure, items := parseFailureMode(items) + action, items := parseAction(items) + specifier, items := parseSpecifier(items) + + if len(items) != 0 { + conveyPanic(parseError) + } + + return newSuite(name, failure, action, test, specifier) +} +func item(items []interface{}) interface{} { + if len(items) == 0 { + conveyPanic(parseError) + } + return items[0] +} +func parseName(items []interface{}) (string, []interface{}) { + if name, parsed := item(items).(string); parsed { + return name, items[1:] + } + conveyPanic(parseError) + panic("never get here") +} +func parseGoTest(items []interface{}) (t, []interface{}) { + if test, parsed := item(items).(t); parsed { + return test, items[1:] + } + return nil, items +} +func parseFailureMode(items []interface{}) (FailureMode, []interface{}) { + if mode, parsed := item(items).(FailureMode); parsed { + return mode, items[1:] + } + return FailureInherits, items +} +func parseAction(items []interface{}) (func(C), []interface{}) { + switch x := item(items).(type) { + case nil: + return nil, items[1:] + case func(C): + return x, items[1:] + case func(): + return func(C) { x() }, items[1:] + } + conveyPanic(parseError) + panic("never get here") +} +func parseSpecifier(items []interface{}) (actionSpecifier, []interface{}) { + if len(items) == 0 { + return noSpecifier, items + } + if spec, ok := items[0].(actionSpecifier); ok { + return spec, items[1:] + } + conveyPanic(parseError) + panic("never get here") +} + +// This interface allows us to pass the *testing.T struct +// throughout the internals of this package without ever +// having to import the "testing" package. +type t interface { + Fail() +} + +const parseError = "You must provide a name (string), then a *testing.T (if in outermost scope), an optional FailureMode, and then an action (func())." diff --git a/vendor/github.com/smartystreets/goconvey/convey/doc.go b/vendor/github.com/smartystreets/goconvey/convey/doc.go new file mode 100644 index 0000000..2562ce4 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/doc.go @@ -0,0 +1,218 @@ +// Package convey contains all of the public-facing entry points to this project. +// This means that it should never be required of the user to import any other +// packages from this project as they serve internal purposes. +package convey + +import "github.com/smartystreets/goconvey/convey/reporting" + +////////////////////////////////// suite ////////////////////////////////// + +// C is the Convey context which you can optionally obtain in your action +// by calling Convey like: +// +// Convey(..., func(c C) { +// ... +// }) +// +// See the documentation on Convey for more details. +// +// All methods in this context behave identically to the global functions of the +// same name in this package. +type C interface { + Convey(items ...interface{}) + SkipConvey(items ...interface{}) + FocusConvey(items ...interface{}) + + So(actual interface{}, assert assertion, expected ...interface{}) + SkipSo(stuff ...interface{}) + + Reset(action func()) + + Println(items ...interface{}) (int, error) + Print(items ...interface{}) (int, error) + Printf(format string, items ...interface{}) (int, error) +} + +// Convey is the method intended for use when declaring the scopes of +// a specification. Each scope has a description and a func() which may contain +// other calls to Convey(), Reset() or Should-style assertions. Convey calls can +// be nested as far as you see fit. +// +// IMPORTANT NOTE: The top-level Convey() within a Test method +// must conform to the following signature: +// +// Convey(description string, t *testing.T, action func()) +// +// All other calls should look like this (no need to pass in *testing.T): +// +// Convey(description string, action func()) +// +// Don't worry, goconvey will panic if you get it wrong so you can fix it. +// +// Additionally, you may explicitly obtain access to the Convey context by doing: +// +// Convey(description string, action func(c C)) +// +// You may need to do this if you want to pass the context through to a +// goroutine, or to close over the context in a handler to a library which +// calls your handler in a goroutine (httptest comes to mind). +// +// All Convey()-blocks also accept an optional parameter of FailureMode which sets +// how goconvey should treat failures for So()-assertions in the block and +// nested blocks. See the constants in this file for the available options. +// +// By default it will inherit from its parent block and the top-level blocks +// default to the FailureHalts setting. +// +// This parameter is inserted before the block itself: +// +// Convey(description string, t *testing.T, mode FailureMode, action func()) +// Convey(description string, mode FailureMode, action func()) +// +// See the examples package for, well, examples. +func Convey(items ...interface{}) { + if ctx := getCurrentContext(); ctx == nil { + rootConvey(items...) + } else { + ctx.Convey(items...) + } +} + +// SkipConvey is analagous to Convey except that the scope is not executed +// (which means that child scopes defined within this scope are not run either). +// The reporter will be notified that this step was skipped. +func SkipConvey(items ...interface{}) { + Convey(append(items, skipConvey)...) +} + +// FocusConvey is has the inverse effect of SkipConvey. If the top-level +// Convey is changed to `FocusConvey`, only nested scopes that are defined +// with FocusConvey will be run. The rest will be ignored completely. This +// is handy when debugging a large suite that runs a misbehaving function +// repeatedly as you can disable all but one of that function +// without swaths of `SkipConvey` calls, just a targeted chain of calls +// to FocusConvey. +func FocusConvey(items ...interface{}) { + Convey(append(items, focusConvey)...) +} + +// Reset registers a cleanup function to be run after each Convey() +// in the same scope. See the examples package for a simple use case. +func Reset(action func()) { + mustGetCurrentContext().Reset(action) +} + +/////////////////////////////////// Assertions /////////////////////////////////// + +// assertion is an alias for a function with a signature that the convey.So() +// method can handle. Any future or custom assertions should conform to this +// method signature. The return value should be an empty string if the assertion +// passes and a well-formed failure message if not. +type assertion func(actual interface{}, expected ...interface{}) string + +const assertionSuccess = "" + +// So is the means by which assertions are made against the system under test. +// The majority of exported names in the assertions package begin with the word +// 'Should' and describe how the first argument (actual) should compare with any +// of the final (expected) arguments. How many final arguments are accepted +// depends on the particular assertion that is passed in as the assert argument. +// See the examples package for use cases and the assertions package for +// documentation on specific assertion methods. A failing assertion will +// cause t.Fail() to be invoked--you should never call this method (or other +// failure-inducing methods) in your test code. Leave that to GoConvey. +func So(actual interface{}, assert assertion, expected ...interface{}) { + mustGetCurrentContext().So(actual, assert, expected...) +} + +// SkipSo is analagous to So except that the assertion that would have been passed +// to So is not executed and the reporter is notified that the assertion was skipped. +func SkipSo(stuff ...interface{}) { + mustGetCurrentContext().SkipSo() +} + +// FailureMode is a type which determines how the So() blocks should fail +// if their assertion fails. See constants further down for acceptable values +type FailureMode string + +const ( + + // FailureContinues is a failure mode which prevents failing + // So()-assertions from halting Convey-block execution, instead + // allowing the test to continue past failing So()-assertions. + FailureContinues FailureMode = "continue" + + // FailureHalts is the default setting for a top-level Convey()-block + // and will cause all failing So()-assertions to halt further execution + // in that test-arm and continue on to the next arm. + FailureHalts FailureMode = "halt" + + // FailureInherits is the default setting for failure-mode, it will + // default to the failure-mode of the parent block. You should never + // need to specify this mode in your tests.. + FailureInherits FailureMode = "inherits" +) + +func (f FailureMode) combine(other FailureMode) FailureMode { + if other == FailureInherits { + return f + } + return other +} + +var defaultFailureMode FailureMode = FailureHalts + +// SetDefaultFailureMode allows you to specify the default failure mode +// for all Convey blocks. It is meant to be used in an init function to +// allow the default mode to be changdd across all tests for an entire packgae +// but it can be used anywhere. +func SetDefaultFailureMode(mode FailureMode) { + if mode == FailureContinues || mode == FailureHalts { + defaultFailureMode = mode + } else { + panic("You may only use the constants named 'FailureContinues' and 'FailureHalts' as default failure modes.") + } +} + +//////////////////////////////////// Print functions //////////////////////////////////// + +// Print is analogous to fmt.Print (and it even calls fmt.Print). It ensures that +// output is aligned with the corresponding scopes in the web UI. +func Print(items ...interface{}) (written int, err error) { + return mustGetCurrentContext().Print(items...) +} + +// Print is analogous to fmt.Println (and it even calls fmt.Println). It ensures that +// output is aligned with the corresponding scopes in the web UI. +func Println(items ...interface{}) (written int, err error) { + return mustGetCurrentContext().Println(items...) +} + +// Print is analogous to fmt.Printf (and it even calls fmt.Printf). It ensures that +// output is aligned with the corresponding scopes in the web UI. +func Printf(format string, items ...interface{}) (written int, err error) { + return mustGetCurrentContext().Printf(format, items...) +} + +/////////////////////////////////////////////////////////////////////////////// + +// SuppressConsoleStatistics prevents automatic printing of console statistics. +// Calling PrintConsoleStatistics explicitly will force printing of statistics. +func SuppressConsoleStatistics() { + reporting.SuppressConsoleStatistics() +} + +// ConsoleStatistics may be called at any time to print assertion statistics. +// Generally, the best place to do this would be in a TestMain function, +// after all tests have been run. Something like this: +// +// func TestMain(m *testing.M) { +// convey.SuppressConsoleStatistics() +// result := m.Run() +// convey.PrintConsoleStatistics() +// os.Exit(result) +// } +// +func PrintConsoleStatistics() { + reporting.PrintConsoleStatistics() +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/gotest/utils.go b/vendor/github.com/smartystreets/goconvey/convey/gotest/utils.go new file mode 100644 index 0000000..3a5c848 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/gotest/utils.go @@ -0,0 +1,28 @@ +// Package gotest contains internal functionality. Although this package +// contains one or more exported names it is not intended for public +// consumption. See the examples package for how to use this project. +package gotest + +import ( + "runtime" + "strings" +) + +func ResolveExternalCaller() (file string, line int, name string) { + var caller_id uintptr + callers := runtime.Callers(0, callStack) + + for x := 0; x < callers; x++ { + caller_id, file, line, _ = runtime.Caller(x) + if strings.HasSuffix(file, "_test.go") || strings.HasSuffix(file, "_tests.go") { + name = runtime.FuncForPC(caller_id).Name() + return + } + } + file, line, name = "", -1, "" + return // panic? +} + +const maxStackDepth = 100 // This had better be enough... + +var callStack []uintptr = make([]uintptr, maxStackDepth, maxStackDepth) diff --git a/vendor/github.com/smartystreets/goconvey/convey/init.go b/vendor/github.com/smartystreets/goconvey/convey/init.go new file mode 100644 index 0000000..1d77ff3 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/init.go @@ -0,0 +1,81 @@ +package convey + +import ( + "flag" + "os" + + "github.com/jtolds/gls" + "github.com/smartystreets/assertions" + "github.com/smartystreets/goconvey/convey/reporting" +) + +func init() { + assertions.GoConveyMode(true) + + declareFlags() + + ctxMgr = gls.NewContextManager() +} + +func declareFlags() { + flag.BoolVar(&json, "convey-json", false, "When true, emits results in JSON blocks. Default: 'false'") + flag.BoolVar(&silent, "convey-silent", false, "When true, all output from GoConvey is suppressed.") + flag.BoolVar(&story, "convey-story", false, "When true, emits story output, otherwise emits dot output. When not provided, this flag mirros the value of the '-test.v' flag") + + if noStoryFlagProvided() { + story = verboseEnabled + } + + // FYI: flag.Parse() is called from the testing package. +} + +func noStoryFlagProvided() bool { + return !story && !storyDisabled +} + +func buildReporter() reporting.Reporter { + selectReporter := os.Getenv("GOCONVEY_REPORTER") + + switch { + case testReporter != nil: + return testReporter + case json || selectReporter == "json": + return reporting.BuildJsonReporter() + case silent || selectReporter == "silent": + return reporting.BuildSilentReporter() + case selectReporter == "dot": + // Story is turned on when verbose is set, so we need to check for dot reporter first. + return reporting.BuildDotReporter() + case story || selectReporter == "story": + return reporting.BuildStoryReporter() + default: + return reporting.BuildDotReporter() + } +} + +var ( + ctxMgr *gls.ContextManager + + // only set by internal tests + testReporter reporting.Reporter +) + +var ( + json bool + silent bool + story bool + + verboseEnabled = flagFound("-test.v=true") + storyDisabled = flagFound("-story=false") +) + +// flagFound parses the command line args manually for flags defined in other +// packages. Like the '-v' flag from the "testing" package, for instance. +func flagFound(flagValue string) bool { + for _, arg := range os.Args { + if arg == flagValue { + return true + } + } + return false +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/nilReporter.go b/vendor/github.com/smartystreets/goconvey/convey/nilReporter.go new file mode 100644 index 0000000..777b2a5 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/nilReporter.go @@ -0,0 +1,15 @@ +package convey + +import ( + "github.com/smartystreets/goconvey/convey/reporting" +) + +type nilReporter struct{} + +func (self *nilReporter) BeginStory(story *reporting.StoryReport) {} +func (self *nilReporter) Enter(scope *reporting.ScopeReport) {} +func (self *nilReporter) Report(report *reporting.AssertionResult) {} +func (self *nilReporter) Exit() {} +func (self *nilReporter) EndStory() {} +func (self *nilReporter) Write(p []byte) (int, error) { return len(p), nil } +func newNilReporter() *nilReporter { return &nilReporter{} } diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/console.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/console.go new file mode 100644 index 0000000..7bf67db --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/console.go @@ -0,0 +1,16 @@ +package reporting + +import ( + "fmt" + "io" +) + +type console struct{} + +func (self *console) Write(p []byte) (n int, err error) { + return fmt.Print(string(p)) +} + +func NewConsole() io.Writer { + return new(console) +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/doc.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/doc.go new file mode 100644 index 0000000..a37d001 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/doc.go @@ -0,0 +1,5 @@ +// Package reporting contains internal functionality related +// to console reporting and output. Although this package has +// exported names is not intended for public consumption. See the +// examples package for how to use this project. +package reporting diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/dot.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/dot.go new file mode 100644 index 0000000..47d57c6 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/dot.go @@ -0,0 +1,40 @@ +package reporting + +import "fmt" + +type dot struct{ out *Printer } + +func (self *dot) BeginStory(story *StoryReport) {} + +func (self *dot) Enter(scope *ScopeReport) {} + +func (self *dot) Report(report *AssertionResult) { + if report.Error != nil { + fmt.Print(redColor) + self.out.Insert(dotError) + } else if report.Failure != "" { + fmt.Print(yellowColor) + self.out.Insert(dotFailure) + } else if report.Skipped { + fmt.Print(yellowColor) + self.out.Insert(dotSkip) + } else { + fmt.Print(greenColor) + self.out.Insert(dotSuccess) + } + fmt.Print(resetColor) +} + +func (self *dot) Exit() {} + +func (self *dot) EndStory() {} + +func (self *dot) Write(content []byte) (written int, err error) { + return len(content), nil // no-op +} + +func NewDotReporter(out *Printer) *dot { + self := new(dot) + self.out = out + return self +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/gotest.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/gotest.go new file mode 100644 index 0000000..c396e16 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/gotest.go @@ -0,0 +1,33 @@ +package reporting + +type gotestReporter struct{ test T } + +func (self *gotestReporter) BeginStory(story *StoryReport) { + self.test = story.Test +} + +func (self *gotestReporter) Enter(scope *ScopeReport) {} + +func (self *gotestReporter) Report(r *AssertionResult) { + if !passed(r) { + self.test.Fail() + } +} + +func (self *gotestReporter) Exit() {} + +func (self *gotestReporter) EndStory() { + self.test = nil +} + +func (self *gotestReporter) Write(content []byte) (written int, err error) { + return len(content), nil // no-op +} + +func NewGoTestReporter() *gotestReporter { + return new(gotestReporter) +} + +func passed(r *AssertionResult) bool { + return r.Error == nil && r.Failure == "" +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/init.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/init.go new file mode 100644 index 0000000..44d080e --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/init.go @@ -0,0 +1,94 @@ +package reporting + +import ( + "os" + "runtime" + "strings" +) + +func init() { + if !isColorableTerminal() { + monochrome() + } + + if runtime.GOOS == "windows" { + success, failure, error_ = dotSuccess, dotFailure, dotError + } +} + +func BuildJsonReporter() Reporter { + out := NewPrinter(NewConsole()) + return NewReporters( + NewGoTestReporter(), + NewJsonReporter(out)) +} +func BuildDotReporter() Reporter { + out := NewPrinter(NewConsole()) + return NewReporters( + NewGoTestReporter(), + NewDotReporter(out), + NewProblemReporter(out), + consoleStatistics) +} +func BuildStoryReporter() Reporter { + out := NewPrinter(NewConsole()) + return NewReporters( + NewGoTestReporter(), + NewStoryReporter(out), + NewProblemReporter(out), + consoleStatistics) +} +func BuildSilentReporter() Reporter { + out := NewPrinter(NewConsole()) + return NewReporters( + NewGoTestReporter(), + NewSilentProblemReporter(out)) +} + +var ( + newline = "\n" + success = "✔" + failure = "✘" + error_ = "🔥" + skip = "⚠" + dotSuccess = "." + dotFailure = "x" + dotError = "E" + dotSkip = "S" + errorTemplate = "* %s \nLine %d: - %v \n%s\n" + failureTemplate = "* %s \nLine %d:\n%s\n" +) + +var ( + greenColor = "\033[32m" + yellowColor = "\033[33m" + redColor = "\033[31m" + resetColor = "\033[0m" +) + +var consoleStatistics = NewStatisticsReporter(NewPrinter(NewConsole())) + +func SuppressConsoleStatistics() { consoleStatistics.Suppress() } +func PrintConsoleStatistics() { consoleStatistics.PrintSummary() } + +// QuiteMode disables all console output symbols. This is only meant to be used +// for tests that are internal to goconvey where the output is distracting or +// otherwise not needed in the test output. +func QuietMode() { + success, failure, error_, skip, dotSuccess, dotFailure, dotError, dotSkip = "", "", "", "", "", "", "", "" +} + +func monochrome() { + greenColor, yellowColor, redColor, resetColor = "", "", "", "" +} + +func isColorableTerminal() bool { + return strings.Contains(os.Getenv("TERM"), "color") +} + +// This interface allows us to pass the *testing.T struct +// throughout the internals of this tool without ever +// having to import the "testing" package. +type T interface { + Fail() +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/json.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/json.go new file mode 100644 index 0000000..f852697 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/json.go @@ -0,0 +1,88 @@ +// TODO: under unit test + +package reporting + +import ( + "bytes" + "encoding/json" + "fmt" + "strings" +) + +type JsonReporter struct { + out *Printer + currentKey []string + current *ScopeResult + index map[string]*ScopeResult + scopes []*ScopeResult +} + +func (self *JsonReporter) depth() int { return len(self.currentKey) } + +func (self *JsonReporter) BeginStory(story *StoryReport) {} + +func (self *JsonReporter) Enter(scope *ScopeReport) { + self.currentKey = append(self.currentKey, scope.Title) + ID := strings.Join(self.currentKey, "|") + if _, found := self.index[ID]; !found { + next := newScopeResult(scope.Title, self.depth(), scope.File, scope.Line) + self.scopes = append(self.scopes, next) + self.index[ID] = next + } + self.current = self.index[ID] +} + +func (self *JsonReporter) Report(report *AssertionResult) { + self.current.Assertions = append(self.current.Assertions, report) +} + +func (self *JsonReporter) Exit() { + self.currentKey = self.currentKey[:len(self.currentKey)-1] +} + +func (self *JsonReporter) EndStory() { + self.report() + self.reset() +} +func (self *JsonReporter) report() { + scopes := []string{} + for _, scope := range self.scopes { + serialized, err := json.Marshal(scope) + if err != nil { + self.out.Println(jsonMarshalFailure) + panic(err) + } + var buffer bytes.Buffer + json.Indent(&buffer, serialized, "", " ") + scopes = append(scopes, buffer.String()) + } + self.out.Print(fmt.Sprintf("%s\n%s,\n%s\n", OpenJson, strings.Join(scopes, ","), CloseJson)) +} +func (self *JsonReporter) reset() { + self.scopes = []*ScopeResult{} + self.index = map[string]*ScopeResult{} + self.currentKey = nil +} + +func (self *JsonReporter) Write(content []byte) (written int, err error) { + self.current.Output += string(content) + return len(content), nil +} + +func NewJsonReporter(out *Printer) *JsonReporter { + self := new(JsonReporter) + self.out = out + self.reset() + return self +} + +const OpenJson = ">->->OPEN-JSON->->->" // "⌦" +const CloseJson = "<-<-<-CLOSE-JSON<-<-<" // "⌫" +const jsonMarshalFailure = ` + +GOCONVEY_JSON_MARSHALL_FAILURE: There was an error when attempting to convert test results to JSON. +Please file a bug report and reference the code that caused this failure if possible. + +Here's the panic: + +` diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/printer.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/printer.go new file mode 100644 index 0000000..6d4a879 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/printer.go @@ -0,0 +1,57 @@ +package reporting + +import ( + "fmt" + "io" + "strings" +) + +type Printer struct { + out io.Writer + prefix string +} + +func (self *Printer) Println(message string, values ...interface{}) { + formatted := self.format(message, values...) + newline + self.out.Write([]byte(formatted)) +} + +func (self *Printer) Print(message string, values ...interface{}) { + formatted := self.format(message, values...) + self.out.Write([]byte(formatted)) +} + +func (self *Printer) Insert(text string) { + self.out.Write([]byte(text)) +} + +func (self *Printer) format(message string, values ...interface{}) string { + var formatted string + if len(values) == 0 { + formatted = self.prefix + message + } else { + formatted = self.prefix + fmt.Sprintf(message, values...) + } + indented := strings.Replace(formatted, newline, newline+self.prefix, -1) + return strings.TrimRight(indented, space) +} + +func (self *Printer) Indent() { + self.prefix += pad +} + +func (self *Printer) Dedent() { + if len(self.prefix) >= padLength { + self.prefix = self.prefix[:len(self.prefix)-padLength] + } +} + +func NewPrinter(out io.Writer) *Printer { + self := new(Printer) + self.out = out + return self +} + +const space = " " +const pad = space + space +const padLength = len(pad) diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/problems.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/problems.go new file mode 100644 index 0000000..9ae493a --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/problems.go @@ -0,0 +1,80 @@ +package reporting + +import "fmt" + +type problem struct { + silent bool + out *Printer + errors []*AssertionResult + failures []*AssertionResult +} + +func (self *problem) BeginStory(story *StoryReport) {} + +func (self *problem) Enter(scope *ScopeReport) {} + +func (self *problem) Report(report *AssertionResult) { + if report.Error != nil { + self.errors = append(self.errors, report) + } else if report.Failure != "" { + self.failures = append(self.failures, report) + } +} + +func (self *problem) Exit() {} + +func (self *problem) EndStory() { + self.show(self.showErrors, redColor) + self.show(self.showFailures, yellowColor) + self.prepareForNextStory() +} +func (self *problem) show(display func(), color string) { + if !self.silent { + fmt.Print(color) + } + display() + if !self.silent { + fmt.Print(resetColor) + } + self.out.Dedent() +} +func (self *problem) showErrors() { + for i, e := range self.errors { + if i == 0 { + self.out.Println("\nErrors:\n") + self.out.Indent() + } + self.out.Println(errorTemplate, e.File, e.Line, e.Error, e.StackTrace) + } +} +func (self *problem) showFailures() { + for i, f := range self.failures { + if i == 0 { + self.out.Println("\nFailures:\n") + self.out.Indent() + } + self.out.Println(failureTemplate, f.File, f.Line, f.Failure) + } +} + +func (self *problem) Write(content []byte) (written int, err error) { + return len(content), nil // no-op +} + +func NewProblemReporter(out *Printer) *problem { + self := new(problem) + self.out = out + self.prepareForNextStory() + return self +} + +func NewSilentProblemReporter(out *Printer) *problem { + self := NewProblemReporter(out) + self.silent = true + return self +} + +func (self *problem) prepareForNextStory() { + self.errors = []*AssertionResult{} + self.failures = []*AssertionResult{} +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/reporter.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/reporter.go new file mode 100644 index 0000000..cce6c5e --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/reporter.go @@ -0,0 +1,39 @@ +package reporting + +import "io" + +type Reporter interface { + BeginStory(story *StoryReport) + Enter(scope *ScopeReport) + Report(r *AssertionResult) + Exit() + EndStory() + io.Writer +} + +type reporters struct{ collection []Reporter } + +func (self *reporters) BeginStory(s *StoryReport) { self.foreach(func(r Reporter) { r.BeginStory(s) }) } +func (self *reporters) Enter(s *ScopeReport) { self.foreach(func(r Reporter) { r.Enter(s) }) } +func (self *reporters) Report(a *AssertionResult) { self.foreach(func(r Reporter) { r.Report(a) }) } +func (self *reporters) Exit() { self.foreach(func(r Reporter) { r.Exit() }) } +func (self *reporters) EndStory() { self.foreach(func(r Reporter) { r.EndStory() }) } + +func (self *reporters) Write(contents []byte) (written int, err error) { + self.foreach(func(r Reporter) { + written, err = r.Write(contents) + }) + return written, err +} + +func (self *reporters) foreach(action func(Reporter)) { + for _, r := range self.collection { + action(r) + } +} + +func NewReporters(collection ...Reporter) *reporters { + self := new(reporters) + self.collection = collection + return self +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/reporting.goconvey b/vendor/github.com/smartystreets/goconvey/convey/reporting/reporting.goconvey new file mode 100644 index 0000000..7998285 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/reporting.goconvey @@ -0,0 +1,2 @@ +#ignore +-timeout=1s diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/reports.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/reports.go new file mode 100644 index 0000000..712e6ad --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/reports.go @@ -0,0 +1,179 @@ +package reporting + +import ( + "encoding/json" + "fmt" + "runtime" + "strings" + + "github.com/smartystreets/goconvey/convey/gotest" +) + +////////////////// ScopeReport //////////////////// + +type ScopeReport struct { + Title string + File string + Line int +} + +func NewScopeReport(title string) *ScopeReport { + file, line, _ := gotest.ResolveExternalCaller() + self := new(ScopeReport) + self.Title = title + self.File = file + self.Line = line + return self +} + +////////////////// ScopeResult //////////////////// + +type ScopeResult struct { + Title string + File string + Line int + Depth int + Assertions []*AssertionResult + Output string +} + +func newScopeResult(title string, depth int, file string, line int) *ScopeResult { + self := new(ScopeResult) + self.Title = title + self.Depth = depth + self.File = file + self.Line = line + self.Assertions = []*AssertionResult{} + return self +} + +/////////////////// StoryReport ///////////////////// + +type StoryReport struct { + Test T + Name string + File string + Line int +} + +func NewStoryReport(test T) *StoryReport { + file, line, name := gotest.ResolveExternalCaller() + name = removePackagePath(name) + self := new(StoryReport) + self.Test = test + self.Name = name + self.File = file + self.Line = line + return self +} + +// name comes in looking like "github.com/smartystreets/goconvey/examples.TestName". +// We only want the stuff after the last '.', which is the name of the test function. +func removePackagePath(name string) string { + parts := strings.Split(name, ".") + return parts[len(parts)-1] +} + +/////////////////// FailureView //////////////////////// + +// This struct is also declared in github.com/smartystreets/assertions. +// The json struct tags should be equal in both declarations. +type FailureView struct { + Message string `json:"Message"` + Expected string `json:"Expected"` + Actual string `json:"Actual"` +} + +////////////////////AssertionResult ////////////////////// + +type AssertionResult struct { + File string + Line int + Expected string + Actual string + Failure string + Error interface{} + StackTrace string + Skipped bool +} + +func NewFailureReport(failure string) *AssertionResult { + report := new(AssertionResult) + report.File, report.Line = caller() + report.StackTrace = stackTrace() + parseFailure(failure, report) + return report +} +func parseFailure(failure string, report *AssertionResult) { + view := new(FailureView) + err := json.Unmarshal([]byte(failure), view) + if err == nil { + report.Failure = view.Message + report.Expected = view.Expected + report.Actual = view.Actual + } else { + report.Failure = failure + } +} +func NewErrorReport(err interface{}) *AssertionResult { + report := new(AssertionResult) + report.File, report.Line = caller() + report.StackTrace = fullStackTrace() + report.Error = fmt.Sprintf("%v", err) + return report +} +func NewSuccessReport() *AssertionResult { + return new(AssertionResult) +} +func NewSkipReport() *AssertionResult { + report := new(AssertionResult) + report.File, report.Line = caller() + report.StackTrace = fullStackTrace() + report.Skipped = true + return report +} + +func caller() (file string, line int) { + file, line, _ = gotest.ResolveExternalCaller() + return +} + +func stackTrace() string { + buffer := make([]byte, 1024*64) + n := runtime.Stack(buffer, false) + return removeInternalEntries(string(buffer[:n])) +} +func fullStackTrace() string { + buffer := make([]byte, 1024*64) + n := runtime.Stack(buffer, true) + return removeInternalEntries(string(buffer[:n])) +} +func removeInternalEntries(stack string) string { + lines := strings.Split(stack, newline) + filtered := []string{} + for _, line := range lines { + if !isExternal(line) { + filtered = append(filtered, line) + } + } + return strings.Join(filtered, newline) +} +func isExternal(line string) bool { + for _, p := range internalPackages { + if strings.Contains(line, p) { + return true + } + } + return false +} + +// NOTE: any new packages that host goconvey packages will need to be added here! +// An alternative is to scan the goconvey directory and then exclude stuff like +// the examples package but that's nasty too. +var internalPackages = []string{ + "goconvey/assertions", + "goconvey/convey", + "goconvey/execution", + "goconvey/gotest", + "goconvey/reporting", +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/statistics.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/statistics.go new file mode 100644 index 0000000..c3ccd05 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/statistics.go @@ -0,0 +1,108 @@ +package reporting + +import ( + "fmt" + "sync" +) + +func (self *statistics) BeginStory(story *StoryReport) {} + +func (self *statistics) Enter(scope *ScopeReport) {} + +func (self *statistics) Report(report *AssertionResult) { + self.Lock() + defer self.Unlock() + + if !self.failing && report.Failure != "" { + self.failing = true + } + if !self.erroring && report.Error != nil { + self.erroring = true + } + if report.Skipped { + self.skipped += 1 + } else { + self.total++ + } +} + +func (self *statistics) Exit() {} + +func (self *statistics) EndStory() { + self.Lock() + defer self.Unlock() + + if !self.suppressed { + self.printSummaryLocked() + } +} + +func (self *statistics) Suppress() { + self.Lock() + defer self.Unlock() + self.suppressed = true +} + +func (self *statistics) PrintSummary() { + self.Lock() + defer self.Unlock() + self.printSummaryLocked() +} + +func (self *statistics) printSummaryLocked() { + self.reportAssertionsLocked() + self.reportSkippedSectionsLocked() + self.completeReportLocked() +} +func (self *statistics) reportAssertionsLocked() { + self.decideColorLocked() + self.out.Print("\n%d total %s", self.total, plural("assertion", self.total)) +} +func (self *statistics) decideColorLocked() { + if self.failing && !self.erroring { + fmt.Print(yellowColor) + } else if self.erroring { + fmt.Print(redColor) + } else { + fmt.Print(greenColor) + } +} +func (self *statistics) reportSkippedSectionsLocked() { + if self.skipped > 0 { + fmt.Print(yellowColor) + self.out.Print(" (one or more sections skipped)") + } +} +func (self *statistics) completeReportLocked() { + fmt.Print(resetColor) + self.out.Print("\n") + self.out.Print("\n") +} + +func (self *statistics) Write(content []byte) (written int, err error) { + return len(content), nil // no-op +} + +func NewStatisticsReporter(out *Printer) *statistics { + self := statistics{} + self.out = out + return &self +} + +type statistics struct { + sync.Mutex + + out *Printer + total int + failing bool + erroring bool + skipped int + suppressed bool +} + +func plural(word string, count int) string { + if count == 1 { + return word + } + return word + "s" +} diff --git a/vendor/github.com/smartystreets/goconvey/convey/reporting/story.go b/vendor/github.com/smartystreets/goconvey/convey/reporting/story.go new file mode 100644 index 0000000..9e73c97 --- /dev/null +++ b/vendor/github.com/smartystreets/goconvey/convey/reporting/story.go @@ -0,0 +1,73 @@ +// TODO: in order for this reporter to be completely honest +// we need to retrofit to be more like the json reporter such that: +// 1. it maintains ScopeResult collections, which count assertions +// 2. it reports only after EndStory(), so that all tick marks +// are placed near the appropriate title. +// 3. Under unit test + +package reporting + +import ( + "fmt" + "strings" +) + +type story struct { + out *Printer + titlesById map[string]string + currentKey []string +} + +func (self *story) BeginStory(story *StoryReport) {} + +func (self *story) Enter(scope *ScopeReport) { + self.out.Indent() + + self.currentKey = append(self.currentKey, scope.Title) + ID := strings.Join(self.currentKey, "|") + + if _, found := self.titlesById[ID]; !found { + self.out.Println("") + self.out.Print(scope.Title) + self.out.Insert(" ") + self.titlesById[ID] = scope.Title + } +} + +func (self *story) Report(report *AssertionResult) { + if report.Error != nil { + fmt.Print(redColor) + self.out.Insert(error_) + } else if report.Failure != "" { + fmt.Print(yellowColor) + self.out.Insert(failure) + } else if report.Skipped { + fmt.Print(yellowColor) + self.out.Insert(skip) + } else { + fmt.Print(greenColor) + self.out.Insert(success) + } + fmt.Print(resetColor) +} + +func (self *story) Exit() { + self.out.Dedent() + self.currentKey = self.currentKey[:len(self.currentKey)-1] +} + +func (self *story) EndStory() { + self.titlesById = make(map[string]string) + self.out.Println("\n") +} + +func (self *story) Write(content []byte) (written int, err error) { + return len(content), nil // no-op +} + +func NewStoryReporter(out *Printer) *story { + self := new(story) + self.out = out + self.titlesById = make(map[string]string) + return self +} diff --git a/vendor/github.com/spf13/pflag/LICENSE b/vendor/github.com/spf13/pflag/LICENSE new file mode 100644 index 0000000..63ed1cf --- /dev/null +++ b/vendor/github.com/spf13/pflag/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2012 Alex Ogier. All rights reserved. +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md new file mode 100644 index 0000000..0bafd38 --- /dev/null +++ b/vendor/github.com/spf13/pflag/README.md @@ -0,0 +1,256 @@ +[![Build Status](https://travis-ci.org/spf13/pflag.svg?branch=master)](https://travis-ci.org/spf13/pflag) + +## Description + +pflag is a drop-in replacement for Go's flag package, implementing +POSIX/GNU-style --flags. + +pflag is compatible with the [GNU extensions to the POSIX recommendations +for command-line options][1]. For a more precise description, see the +"Command-line flag syntax" section below. + +[1]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + +pflag is available under the same style of BSD license as the Go language, +which can be found in the LICENSE file. + +## Installation + +pflag is available using the standard `go get` command. + +Install by running: + + go get github.com/spf13/pflag + +Run tests by running: + + go test github.com/spf13/pflag + +## Usage + +pflag is a drop-in replacement of Go's native flag package. If you import +pflag under the name "flag" then all code should continue to function +with no changes. + +``` go +import flag "github.com/spf13/pflag" +``` + +There is one exception to this: if you directly instantiate the Flag struct +there is one more field "Shorthand" that you will need to set. +Most code never instantiates this struct directly, and instead uses +functions such as String(), BoolVar(), and Var(), and is therefore +unaffected. + +Define flags using flag.String(), Bool(), Int(), etc. + +This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + +``` go +var ip *int = flag.Int("flagname", 1234, "help message for flagname") +``` + +If you like, you can bind the flag to a variable using the Var() functions. + +``` go +var flagvar int +func init() { + flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") +} +``` + +Or you can create custom flags that satisfy the Value interface (with +pointer receivers) and couple them to flag parsing by + +``` go +flag.Var(&flagVal, "name", "help message for flagname") +``` + +For such flags, the default value is just the initial value of the variable. + +After all flags are defined, call + +``` go +flag.Parse() +``` + +to parse the command line into the defined flags. + +Flags may then be used directly. If you're using the flags themselves, +they are all pointers; if you bind to variables, they're values. + +``` go +fmt.Println("ip has value ", *ip) +fmt.Println("flagvar has value ", flagvar) +``` + +There are helpers function to get values later if you have the FlagSet but +it was difficult to keep up with all of the flag pointers in your code. +If you have a pflag.FlagSet with a flag called 'flagname' of type int you +can use GetInt() to get the int value. But notice that 'flagname' must exist +and it must be an int. GetString("flagname") will fail. + +``` go +i, err := flagset.GetInt("flagname") +``` + +After parsing, the arguments after the flag are available as the +slice flag.Args() or individually as flag.Arg(i). +The arguments are indexed from 0 through flag.NArg()-1. + +The pflag package also defines some new functions that are not in flag, +that give one-letter shorthands for flags. You can use these by appending +'P' to the name of any function that defines a flag. + +``` go +var ip = flag.IntP("flagname", "f", 1234, "help message") +var flagvar bool +func init() { + flag.BoolVarP("boolname", "b", true, "help message") +} +flag.VarP(&flagVar, "varname", "v", 1234, "help message") +``` + +Shorthand letters can be used with single dashes on the command line. +Boolean shorthand flags can be combined with other shorthand flags. + +The default set of command-line flags is controlled by +top-level functions. The FlagSet type allows one to define +independent sets of flags, such as to implement subcommands +in a command-line interface. The methods of FlagSet are +analogous to the top-level functions for the command-line +flag set. + +## Setting no option default values for flags + +After you create a flag it is possible to set the pflag.NoOptDefVal for +the given flag. Doing this changes the meaning of the flag slightly. If +a flag has a NoOptDefVal and the flag is set on the command line without +an option the flag will be set to the NoOptDefVal. For example given: + +``` go +var ip = flag.IntP("flagname", "f", 1234, "help message") +flag.Lookup("flagname").NoOptDefVal = "4321" +``` + +Would result in something like + +| Parsed Arguments | Resulting Value | +| ------------- | ------------- | +| --flagname=1357 | ip=1357 | +| --flagname | ip=4321 | +| [nothing] | ip=1234 | + +## Command line flag syntax + +``` +--flag // boolean flags, or flags with no option default values +--flag x // only on flags without a default value +--flag=x +``` + +Unlike the flag package, a single dash before an option means something +different than a double dash. Single dashes signify a series of shorthand +letters for flags. All but the last shorthand letter must be boolean flags +or a flag with a default value + +``` +// boolean or flags where the 'no option default value' is set +-f +-f=true +-abc +but +-b true is INVALID + +// non-boolean and flags without a 'no option default value' +-n 1234 +-n=1234 +-n1234 + +// mixed +-abcs "hello" +-absd="hello" +-abcs1234 +``` + +Flag parsing stops after the terminator "--". Unlike the flag package, +flags can be interspersed with arguments anywhere on the command line +before this terminator. + +Integer flags accept 1234, 0664, 0x1234 and may be negative. +Boolean flags (in their long form) accept 1, 0, t, f, true, false, +TRUE, FALSE, True, False. +Duration flags accept any input valid for time.ParseDuration. + +## Mutating or "Normalizing" Flag names + +It is possible to set a custom flag name 'normalization function.' It allows flag names to be mutated both when created in the code and when used on the command line to some 'normalized' form. The 'normalized' form is used for comparison. Two examples of using the custom normalization func follow. + +**Example #1**: You want -, _, and . in flags to compare the same. aka --my-flag == --my_flag == --my.flag + +``` go +func wordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + from := []string{"-", "_"} + to := "." + for _, sep := range from { + name = strings.Replace(name, sep, to, -1) + } + return pflag.NormalizedName(name) +} + +myFlagSet.SetNormalizeFunc(wordSepNormalizeFunc) +``` + +**Example #2**: You want to alias two flags. aka --old-flag-name == --new-flag-name + +``` go +func aliasNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName { + switch name { + case "old-flag-name": + name = "new-flag-name" + break + } + return pflag.NormalizedName(name) +} + +myFlagSet.SetNormalizeFunc(aliasNormalizeFunc) +``` + +## Deprecating a flag or its shorthand +It is possible to deprecate a flag, or just its shorthand. Deprecating a flag/shorthand hides it from help text and prints a usage message when the deprecated flag/shorthand is used. + +**Example #1**: You want to deprecate a flag named "badflag" as well as inform the users what flag they should use instead. +```go +// deprecate a flag by specifying its name and a usage message +flags.MarkDeprecated("badflag", "please use --good-flag instead") +``` +This hides "badflag" from help text, and prints `Flag --badflag has been deprecated, please use --good-flag instead` when "badflag" is used. + +**Example #2**: You want to keep a flag name "noshorthandflag" but deprecate its shortname "n". +```go +// deprecate a flag shorthand by specifying its flag name and a usage message +flags.MarkShorthandDeprecated("noshorthandflag", "please use --noshorthandflag only") +``` +This hides the shortname "n" from help text, and prints `Flag shorthand -n has been deprecated, please use --noshorthandflag only` when the shorthand "n" is used. + +Note that usage message is essential here, and it should not be empty. + +## Hidden flags +It is possible to mark a flag as hidden, meaning it will still function as normal, however will not show up in usage/help text. + +**Example**: You have a flag named "secretFlag" that you need for internal use only and don't want it showing up in help text, or for its usage text to be available. +```go +// hide a flag by specifying its name +flags.MarkHidden("secretFlag") +``` + +## More info + +You can see the full reference documentation of the pflag package +[at godoc.org][3], or through go's standard documentation system by +running `godoc -http=:6060` and browsing to +[http://localhost:6060/pkg/github.com/ogier/pflag][2] after +installation. + +[2]: http://localhost:6060/pkg/github.com/ogier/pflag +[3]: http://godoc.org/github.com/ogier/pflag diff --git a/vendor/github.com/spf13/pflag/bool.go b/vendor/github.com/spf13/pflag/bool.go new file mode 100644 index 0000000..d272e40 --- /dev/null +++ b/vendor/github.com/spf13/pflag/bool.go @@ -0,0 +1,97 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// optional interface to indicate boolean flags that can be +// supplied without "=value" text +type boolFlag interface { + Value + IsBoolFlag() bool +} + +// -- bool Value +type boolValue bool + +func newBoolValue(val bool, p *bool) *boolValue { + *p = val + return (*boolValue)(p) +} + +func (b *boolValue) Set(s string) error { + v, err := strconv.ParseBool(s) + *b = boolValue(v) + return err +} + +func (b *boolValue) Type() string { + return "bool" +} + +func (b *boolValue) String() string { return fmt.Sprintf("%v", *b) } + +func (b *boolValue) IsBoolFlag() bool { return true } + +func boolConv(sval string) (interface{}, error) { + return strconv.ParseBool(sval) +} + +// GetBool return the bool value of a flag with the given name +func (f *FlagSet) GetBool(name string) (bool, error) { + val, err := f.getFlagType(name, "bool", boolConv) + if err != nil { + return false, err + } + return val.(bool), nil +} + +// BoolVar defines a bool flag with specified name, default value, and usage string. +// The argument p points to a bool variable in which to store the value of the flag. +func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string) { + f.BoolVarP(p, name, "", value, usage) +} + +// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolVarP(p *bool, name, shorthand string, value bool, usage string) { + flag := f.VarPF(newBoolValue(value, p), name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// BoolVar defines a bool flag with specified name, default value, and usage string. +// The argument p points to a bool variable in which to store the value of the flag. +func BoolVar(p *bool, name string, value bool, usage string) { + BoolVarP(p, name, "", value, usage) +} + +// BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash. +func BoolVarP(p *bool, name, shorthand string, value bool, usage string) { + flag := CommandLine.VarPF(newBoolValue(value, p), name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// Bool defines a bool flag with specified name, default value, and usage string. +// The return value is the address of a bool variable that stores the value of the flag. +func (f *FlagSet) Bool(name string, value bool, usage string) *bool { + return f.BoolP(name, "", value, usage) +} + +// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolP(name, shorthand string, value bool, usage string) *bool { + p := new(bool) + f.BoolVarP(p, name, shorthand, value, usage) + return p +} + +// Bool defines a bool flag with specified name, default value, and usage string. +// The return value is the address of a bool variable that stores the value of the flag. +func Bool(name string, value bool, usage string) *bool { + return BoolP(name, "", value, usage) +} + +// BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash. +func BoolP(name, shorthand string, value bool, usage string) *bool { + b := CommandLine.BoolP(name, shorthand, value, usage) + return b +} diff --git a/vendor/github.com/spf13/pflag/count.go b/vendor/github.com/spf13/pflag/count.go new file mode 100644 index 0000000..7b1f142 --- /dev/null +++ b/vendor/github.com/spf13/pflag/count.go @@ -0,0 +1,97 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- count Value +type countValue int + +func newCountValue(val int, p *int) *countValue { + *p = val + return (*countValue)(p) +} + +func (i *countValue) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + // -1 means that no specific value was passed, so increment + if v == -1 { + *i = countValue(*i + 1) + } else { + *i = countValue(v) + } + return err +} + +func (i *countValue) Type() string { + return "count" +} + +func (i *countValue) String() string { return fmt.Sprintf("%v", *i) } + +func countConv(sval string) (interface{}, error) { + i, err := strconv.Atoi(sval) + if err != nil { + return nil, err + } + return i, nil +} + +// GetCount return the int value of a flag with the given name +func (f *FlagSet) GetCount(name string) (int, error) { + val, err := f.getFlagType(name, "count", countConv) + if err != nil { + return 0, err + } + return val.(int), nil +} + +// CountVar defines a count flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +// A count flag will add 1 to its value evey time it is found on the command line +func (f *FlagSet) CountVar(p *int, name string, usage string) { + f.CountVarP(p, name, "", usage) +} + +// CountVarP is like CountVar only take a shorthand for the flag name. +func (f *FlagSet) CountVarP(p *int, name, shorthand string, usage string) { + flag := f.VarPF(newCountValue(0, p), name, shorthand, usage) + flag.NoOptDefVal = "-1" +} + +// CountVar like CountVar only the flag is placed on the CommandLine instead of a given flag set +func CountVar(p *int, name string, usage string) { + CommandLine.CountVar(p, name, usage) +} + +// CountVarP is like CountVar only take a shorthand for the flag name. +func CountVarP(p *int, name, shorthand string, usage string) { + CommandLine.CountVarP(p, name, shorthand, usage) +} + +// Count defines a count flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +// A count flag will add 1 to its value evey time it is found on the command line +func (f *FlagSet) Count(name string, usage string) *int { + p := new(int) + f.CountVarP(p, name, "", usage) + return p +} + +// CountP is like Count only takes a shorthand for the flag name. +func (f *FlagSet) CountP(name, shorthand string, usage string) *int { + p := new(int) + f.CountVarP(p, name, shorthand, usage) + return p +} + +// Count like Count only the flag is placed on the CommandLine isntead of a given flag set +func Count(name string, usage string) *int { + return CommandLine.CountP(name, "", usage) +} + +// CountP is like Count only takes a shorthand for the flag name. +func CountP(name, shorthand string, usage string) *int { + return CommandLine.CountP(name, shorthand, usage) +} diff --git a/vendor/github.com/spf13/pflag/duration.go b/vendor/github.com/spf13/pflag/duration.go new file mode 100644 index 0000000..e9debef --- /dev/null +++ b/vendor/github.com/spf13/pflag/duration.go @@ -0,0 +1,86 @@ +package pflag + +import ( + "time" +) + +// -- time.Duration Value +type durationValue time.Duration + +func newDurationValue(val time.Duration, p *time.Duration) *durationValue { + *p = val + return (*durationValue)(p) +} + +func (d *durationValue) Set(s string) error { + v, err := time.ParseDuration(s) + *d = durationValue(v) + return err +} + +func (d *durationValue) Type() string { + return "duration" +} + +func (d *durationValue) String() string { return (*time.Duration)(d).String() } + +func durationConv(sval string) (interface{}, error) { + return time.ParseDuration(sval) +} + +// GetDuration return the duration value of a flag with the given name +func (f *FlagSet) GetDuration(name string) (time.Duration, error) { + val, err := f.getFlagType(name, "duration", durationConv) + if err != nil { + return 0, err + } + return val.(time.Duration), nil +} + +// DurationVar defines a time.Duration flag with specified name, default value, and usage string. +// The argument p points to a time.Duration variable in which to store the value of the flag. +func (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string) { + f.VarP(newDurationValue(value, p), name, "", usage) +} + +// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) { + f.VarP(newDurationValue(value, p), name, shorthand, usage) +} + +// DurationVar defines a time.Duration flag with specified name, default value, and usage string. +// The argument p points to a time.Duration variable in which to store the value of the flag. +func DurationVar(p *time.Duration, name string, value time.Duration, usage string) { + CommandLine.VarP(newDurationValue(value, p), name, "", usage) +} + +// DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash. +func DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string) { + CommandLine.VarP(newDurationValue(value, p), name, shorthand, usage) +} + +// Duration defines a time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a time.Duration variable that stores the value of the flag. +func (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration { + p := new(time.Duration) + f.DurationVarP(p, name, "", value, usage) + return p +} + +// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration { + p := new(time.Duration) + f.DurationVarP(p, name, shorthand, value, usage) + return p +} + +// Duration defines a time.Duration flag with specified name, default value, and usage string. +// The return value is the address of a time.Duration variable that stores the value of the flag. +func Duration(name string, value time.Duration, usage string) *time.Duration { + return CommandLine.DurationP(name, "", value, usage) +} + +// DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash. +func DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration { + return CommandLine.DurationP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go new file mode 100644 index 0000000..965df13 --- /dev/null +++ b/vendor/github.com/spf13/pflag/flag.go @@ -0,0 +1,934 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package pflag is a drop-in replacement for Go's flag package, implementing +POSIX/GNU-style --flags. + +pflag is compatible with the GNU extensions to the POSIX recommendations +for command-line options. See +http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + +Usage: + +pflag is a drop-in replacement of Go's native flag package. If you import +pflag under the name "flag" then all code should continue to function +with no changes. + + import flag "github.com/ogier/pflag" + + There is one exception to this: if you directly instantiate the Flag struct +there is one more field "Shorthand" that you will need to set. +Most code never instantiates this struct directly, and instead uses +functions such as String(), BoolVar(), and Var(), and is therefore +unaffected. + +Define flags using flag.String(), Bool(), Int(), etc. + +This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + var ip = flag.Int("flagname", 1234, "help message for flagname") +If you like, you can bind the flag to a variable using the Var() functions. + var flagvar int + func init() { + flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") + } +Or you can create custom flags that satisfy the Value interface (with +pointer receivers) and couple them to flag parsing by + flag.Var(&flagVal, "name", "help message for flagname") +For such flags, the default value is just the initial value of the variable. + +After all flags are defined, call + flag.Parse() +to parse the command line into the defined flags. + +Flags may then be used directly. If you're using the flags themselves, +they are all pointers; if you bind to variables, they're values. + fmt.Println("ip has value ", *ip) + fmt.Println("flagvar has value ", flagvar) + +After parsing, the arguments after the flag are available as the +slice flag.Args() or individually as flag.Arg(i). +The arguments are indexed from 0 through flag.NArg()-1. + +The pflag package also defines some new functions that are not in flag, +that give one-letter shorthands for flags. You can use these by appending +'P' to the name of any function that defines a flag. + var ip = flag.IntP("flagname", "f", 1234, "help message") + var flagvar bool + func init() { + flag.BoolVarP("boolname", "b", true, "help message") + } + flag.VarP(&flagVar, "varname", "v", 1234, "help message") +Shorthand letters can be used with single dashes on the command line. +Boolean shorthand flags can be combined with other shorthand flags. + +Command line flag syntax: + --flag // boolean flags only + --flag=x + +Unlike the flag package, a single dash before an option means something +different than a double dash. Single dashes signify a series of shorthand +letters for flags. All but the last shorthand letter must be boolean flags. + // boolean flags + -f + -abc + // non-boolean flags + -n 1234 + -Ifile + // mixed + -abcs "hello" + -abcn1234 + +Flag parsing stops after the terminator "--". Unlike the flag package, +flags can be interspersed with arguments anywhere on the command line +before this terminator. + +Integer flags accept 1234, 0664, 0x1234 and may be negative. +Boolean flags (in their long form) accept 1, 0, t, f, true, false, +TRUE, FALSE, True, False. +Duration flags accept any input valid for time.ParseDuration. + +The default set of command-line flags is controlled by +top-level functions. The FlagSet type allows one to define +independent sets of flags, such as to implement subcommands +in a command-line interface. The methods of FlagSet are +analogous to the top-level functions for the command-line +flag set. +*/ +package pflag + +import ( + "bytes" + "errors" + "fmt" + "io" + "os" + "sort" + "strings" +) + +// ErrHelp is the error returned if the flag -help is invoked but no such flag is defined. +var ErrHelp = errors.New("pflag: help requested") + +// ErrorHandling defines how to handle flag parsing errors. +type ErrorHandling int + +const ( + // ContinueOnError will return an err from Parse() if an error is found + ContinueOnError ErrorHandling = iota + // ExitOnError will call os.Exit(2) if an error is found when parsing + ExitOnError + // PanicOnError will panic() if an error is found when parsing flags + PanicOnError +) + +// NormalizedName is a flag name that has been normalized according to rules +// for the FlagSet (e.g. making '-' and '_' equivalent). +type NormalizedName string + +// A FlagSet represents a set of defined flags. +type FlagSet struct { + // Usage is the function called when an error occurs while parsing flags. + // The field is a function (not a method) that may be changed to point to + // a custom error handler. + Usage func() + + name string + parsed bool + actual map[NormalizedName]*Flag + formal map[NormalizedName]*Flag + shorthands map[byte]*Flag + args []string // arguments after flags + argsLenAtDash int // len(args) when a '--' was located when parsing, or -1 if no -- + exitOnError bool // does the program exit if there's an error? + errorHandling ErrorHandling + output io.Writer // nil means stderr; use out() accessor + interspersed bool // allow interspersed option/non-option args + normalizeNameFunc func(f *FlagSet, name string) NormalizedName +} + +// A Flag represents the state of a flag. +type Flag struct { + Name string // name as it appears on command line + Shorthand string // one-letter abbreviated flag + Usage string // help message + Value Value // value as set + DefValue string // default value (as text); for usage message + Changed bool // If the user set the value (or if left to default) + NoOptDefVal string //default value (as text); if the flag is on the command line without any options + Deprecated string // If this flag is deprecated, this string is the new or now thing to use + Hidden bool // used by cobra.Command to allow flags to be hidden from help/usage text + ShorthandDeprecated string // If the shorthand of this flag is deprecated, this string is the new or now thing to use + Annotations map[string][]string // used by cobra.Command bash autocomple code +} + +// Value is the interface to the dynamic value stored in a flag. +// (The default value is represented as a string.) +type Value interface { + String() string + Set(string) error + Type() string +} + +// sortFlags returns the flags as a slice in lexicographical sorted order. +func sortFlags(flags map[NormalizedName]*Flag) []*Flag { + list := make(sort.StringSlice, len(flags)) + i := 0 + for k := range flags { + list[i] = string(k) + i++ + } + list.Sort() + result := make([]*Flag, len(list)) + for i, name := range list { + result[i] = flags[NormalizedName(name)] + } + return result +} + +// SetNormalizeFunc allows you to add a function which can translate flag names. +// Flags added to the FlagSet will be translated and then when anything tries to +// look up the flag that will also be translated. So it would be possible to create +// a flag named "getURL" and have it translated to "geturl". A user could then pass +// "--getUrl" which may also be translated to "geturl" and everything will work. +func (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) NormalizedName) { + f.normalizeNameFunc = n + for k, v := range f.formal { + delete(f.formal, k) + nname := f.normalizeFlagName(string(k)) + f.formal[nname] = v + v.Name = string(nname) + } +} + +// GetNormalizeFunc returns the previously set NormalizeFunc of a function which +// does no translation, if not set previously. +func (f *FlagSet) GetNormalizeFunc() func(f *FlagSet, name string) NormalizedName { + if f.normalizeNameFunc != nil { + return f.normalizeNameFunc + } + return func(f *FlagSet, name string) NormalizedName { return NormalizedName(name) } +} + +func (f *FlagSet) normalizeFlagName(name string) NormalizedName { + n := f.GetNormalizeFunc() + return n(f, name) +} + +func (f *FlagSet) out() io.Writer { + if f.output == nil { + return os.Stderr + } + return f.output +} + +// SetOutput sets the destination for usage and error messages. +// If output is nil, os.Stderr is used. +func (f *FlagSet) SetOutput(output io.Writer) { + f.output = output +} + +// VisitAll visits the flags in lexicographical order, calling fn for each. +// It visits all flags, even those not set. +func (f *FlagSet) VisitAll(fn func(*Flag)) { + for _, flag := range sortFlags(f.formal) { + fn(flag) + } +} + +// HasFlags returns a bool to indicate if the FlagSet has any flags definied. +func (f *FlagSet) HasFlags() bool { + return len(f.formal) > 0 +} + +// HasAvailableFlags returns a bool to indicate if the FlagSet has any flags +// definied that are not hidden or deprecated. +func (f *FlagSet) HasAvailableFlags() bool { + for _, flag := range f.formal { + if !flag.Hidden && len(flag.Deprecated) == 0 { + return true + } + } + return false +} + +// VisitAll visits the command-line flags in lexicographical order, calling +// fn for each. It visits all flags, even those not set. +func VisitAll(fn func(*Flag)) { + CommandLine.VisitAll(fn) +} + +// Visit visits the flags in lexicographical order, calling fn for each. +// It visits only those flags that have been set. +func (f *FlagSet) Visit(fn func(*Flag)) { + for _, flag := range sortFlags(f.actual) { + fn(flag) + } +} + +// Visit visits the command-line flags in lexicographical order, calling fn +// for each. It visits only those flags that have been set. +func Visit(fn func(*Flag)) { + CommandLine.Visit(fn) +} + +// Lookup returns the Flag structure of the named flag, returning nil if none exists. +func (f *FlagSet) Lookup(name string) *Flag { + return f.lookup(f.normalizeFlagName(name)) +} + +// lookup returns the Flag structure of the named flag, returning nil if none exists. +func (f *FlagSet) lookup(name NormalizedName) *Flag { + return f.formal[name] +} + +// func to return a given type for a given flag name +func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) { + flag := f.Lookup(name) + if flag == nil { + err := fmt.Errorf("flag accessed but not defined: %s", name) + return nil, err + } + + if flag.Value.Type() != ftype { + err := fmt.Errorf("trying to get %s value of flag of type %s", ftype, flag.Value.Type()) + return nil, err + } + + sval := flag.Value.String() + result, err := convFunc(sval) + if err != nil { + return nil, err + } + return result, nil +} + +// ArgsLenAtDash will return the length of f.Args at the moment when a -- was +// found during arg parsing. This allows your program to know which args were +// before the -- and which came after. +func (f *FlagSet) ArgsLenAtDash() int { + return f.argsLenAtDash +} + +// MarkDeprecated indicated that a flag is deprecated in your program. It will +// continue to function but will not show up in help or usage messages. Using +// this flag will also print the given usageMessage. +func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + if len(usageMessage) == 0 { + return fmt.Errorf("deprecated message for flag %q must be set", name) + } + flag.Deprecated = usageMessage + return nil +} + +// MarkShorthandDeprecated will mark the shorthand of a flag deprecated in your +// program. It will continue to function but will not show up in help or usage +// messages. Using this flag will also print the given usageMessage. +func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + if len(usageMessage) == 0 { + return fmt.Errorf("deprecated message for flag %q must be set", name) + } + flag.ShorthandDeprecated = usageMessage + return nil +} + +// MarkHidden sets a flag to 'hidden' in your program. It will continue to +// function but will not show up in help or usage messages. +func (f *FlagSet) MarkHidden(name string) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag %q does not exist", name) + } + flag.Hidden = true + return nil +} + +// Lookup returns the Flag structure of the named command-line flag, +// returning nil if none exists. +func Lookup(name string) *Flag { + return CommandLine.Lookup(name) +} + +// Set sets the value of the named flag. +func (f *FlagSet) Set(name, value string) error { + normalName := f.normalizeFlagName(name) + flag, ok := f.formal[normalName] + if !ok { + return fmt.Errorf("no such flag -%v", name) + } + err := flag.Value.Set(value) + if err != nil { + return err + } + if f.actual == nil { + f.actual = make(map[NormalizedName]*Flag) + } + f.actual[normalName] = flag + flag.Changed = true + if len(flag.Deprecated) > 0 { + fmt.Fprintf(os.Stderr, "Flag --%s has been deprecated, %s\n", flag.Name, flag.Deprecated) + } + return nil +} + +// SetAnnotation allows one to set arbitrary annotations on a flag in the FlagSet. +// This is sometimes used by spf13/cobra programs which want to generate additional +// bash completion information. +func (f *FlagSet) SetAnnotation(name, key string, values []string) error { + normalName := f.normalizeFlagName(name) + flag, ok := f.formal[normalName] + if !ok { + return fmt.Errorf("no such flag -%v", name) + } + if flag.Annotations == nil { + flag.Annotations = map[string][]string{} + } + flag.Annotations[key] = values + return nil +} + +// Changed returns true if the flag was explicitly set during Parse() and false +// otherwise +func (f *FlagSet) Changed(name string) bool { + flag := f.Lookup(name) + // If a flag doesn't exist, it wasn't changed.... + if flag == nil { + return false + } + return flag.Changed +} + +// Set sets the value of the named command-line flag. +func Set(name, value string) error { + return CommandLine.Set(name, value) +} + +// PrintDefaults prints, to standard error unless configured +// otherwise, the default values of all defined flags in the set. +func (f *FlagSet) PrintDefaults() { + usages := f.FlagUsages() + fmt.Fprintf(f.out(), "%s", usages) +} + +// isZeroValue guesses whether the string represents the zero +// value for a flag. It is not accurate but in practice works OK. +func isZeroValue(value string) bool { + switch value { + case "false": + return true + case "": + return true + case "": + return true + case "0": + return true + } + return false +} + +// UnquoteUsage extracts a back-quoted name from the usage +// string for a flag and returns it and the un-quoted usage. +// Given "a `name` to show" it returns ("name", "a name to show"). +// If there are no back quotes, the name is an educated guess of the +// type of the flag's value, or the empty string if the flag is boolean. +func UnquoteUsage(flag *Flag) (name string, usage string) { + // Look for a back-quoted name, but avoid the strings package. + usage = flag.Usage + for i := 0; i < len(usage); i++ { + if usage[i] == '`' { + for j := i + 1; j < len(usage); j++ { + if usage[j] == '`' { + name = usage[i+1 : j] + usage = usage[:i] + name + usage[j+1:] + return name, usage + } + } + break // Only one back quote; use type name. + } + } + // No explicit name, so use type if we can find one. + name = "value" + switch flag.Value.(type) { + case boolFlag: + name = "" + case *durationValue: + name = "duration" + case *float64Value: + name = "float" + case *intValue, *int64Value: + name = "int" + case *stringValue: + name = "string" + case *uintValue, *uint64Value: + name = "uint" + } + return +} + +// FlagUsages Returns a string containing the usage information for all flags in +// the FlagSet +func (f *FlagSet) FlagUsages() string { + x := new(bytes.Buffer) + + lines := make([]string, 0, len(f.formal)) + + maxlen := 0 + f.VisitAll(func(flag *Flag) { + if len(flag.Deprecated) > 0 || flag.Hidden { + return + } + + line := "" + if len(flag.Shorthand) > 0 && len(flag.ShorthandDeprecated) == 0 { + line = fmt.Sprintf(" -%s, --%s", flag.Shorthand, flag.Name) + } else { + line = fmt.Sprintf(" --%s", flag.Name) + } + + varname, usage := UnquoteUsage(flag) + if len(varname) > 0 { + line += " " + varname + } + if len(flag.NoOptDefVal) > 0 { + switch flag.Value.Type() { + case "string": + line += fmt.Sprintf("[=%q]", flag.NoOptDefVal) + case "bool": + if flag.NoOptDefVal != "true" { + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + default: + line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) + } + } + + // This special character will be replaced with spacing once the + // correct alignment is calculated + line += "\x00" + if len(line) > maxlen { + maxlen = len(line) + } + + line += usage + if !isZeroValue(flag.DefValue) { + if flag.Value.Type() == "string" { + line += fmt.Sprintf(" (default %q)", flag.DefValue) + } else { + line += fmt.Sprintf(" (default %s)", flag.DefValue) + } + } + + lines = append(lines, line) + }) + + for _, line := range lines { + sidx := strings.Index(line, "\x00") + spacing := strings.Repeat(" ", maxlen-sidx) + fmt.Fprintln(x, line[:sidx], spacing, line[sidx+1:]) + } + + return x.String() +} + +// PrintDefaults prints to standard error the default values of all defined command-line flags. +func PrintDefaults() { + CommandLine.PrintDefaults() +} + +// defaultUsage is the default function to print a usage message. +func defaultUsage(f *FlagSet) { + fmt.Fprintf(f.out(), "Usage of %s:\n", f.name) + f.PrintDefaults() +} + +// NOTE: Usage is not just defaultUsage(CommandLine) +// because it serves (via godoc flag Usage) as the example +// for how to write your own usage function. + +// Usage prints to standard error a usage message documenting all defined command-line flags. +// The function is a variable that may be changed to point to a custom function. +// By default it prints a simple header and calls PrintDefaults; for details about the +// format of the output and how to control it, see the documentation for PrintDefaults. +var Usage = func() { + fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0]) + PrintDefaults() +} + +// NFlag returns the number of flags that have been set. +func (f *FlagSet) NFlag() int { return len(f.actual) } + +// NFlag returns the number of command-line flags that have been set. +func NFlag() int { return len(CommandLine.actual) } + +// Arg returns the i'th argument. Arg(0) is the first remaining argument +// after flags have been processed. +func (f *FlagSet) Arg(i int) string { + if i < 0 || i >= len(f.args) { + return "" + } + return f.args[i] +} + +// Arg returns the i'th command-line argument. Arg(0) is the first remaining argument +// after flags have been processed. +func Arg(i int) string { + return CommandLine.Arg(i) +} + +// NArg is the number of arguments remaining after flags have been processed. +func (f *FlagSet) NArg() int { return len(f.args) } + +// NArg is the number of arguments remaining after flags have been processed. +func NArg() int { return len(CommandLine.args) } + +// Args returns the non-flag arguments. +func (f *FlagSet) Args() []string { return f.args } + +// Args returns the non-flag command-line arguments. +func Args() []string { return CommandLine.args } + +// Var defines a flag with the specified name and usage string. The type and +// value of the flag are represented by the first argument, of type Value, which +// typically holds a user-defined implementation of Value. For instance, the +// caller could create a flag that turns a comma-separated string into a slice +// of strings by giving the slice the methods of Value; in particular, Set would +// decompose the comma-separated string into the slice. +func (f *FlagSet) Var(value Value, name string, usage string) { + f.VarP(value, name, "", usage) +} + +// VarPF is like VarP, but returns the flag created +func (f *FlagSet) VarPF(value Value, name, shorthand, usage string) *Flag { + // Remember the default value as a string; it won't change. + flag := &Flag{ + Name: name, + Shorthand: shorthand, + Usage: usage, + Value: value, + DefValue: value.String(), + } + f.AddFlag(flag) + return flag +} + +// VarP is like Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) VarP(value Value, name, shorthand, usage string) { + _ = f.VarPF(value, name, shorthand, usage) +} + +// AddFlag will add the flag to the FlagSet +func (f *FlagSet) AddFlag(flag *Flag) { + // Call normalizeFlagName function only once + normalizedFlagName := f.normalizeFlagName(flag.Name) + + _, alreadythere := f.formal[normalizedFlagName] + if alreadythere { + msg := fmt.Sprintf("%s flag redefined: %s", f.name, flag.Name) + fmt.Fprintln(f.out(), msg) + panic(msg) // Happens only if flags are declared with identical names + } + if f.formal == nil { + f.formal = make(map[NormalizedName]*Flag) + } + + flag.Name = string(normalizedFlagName) + f.formal[normalizedFlagName] = flag + + if len(flag.Shorthand) == 0 { + return + } + if len(flag.Shorthand) > 1 { + fmt.Fprintf(f.out(), "%s shorthand more than ASCII character: %s\n", f.name, flag.Shorthand) + panic("shorthand is more than one character") + } + if f.shorthands == nil { + f.shorthands = make(map[byte]*Flag) + } + c := flag.Shorthand[0] + old, alreadythere := f.shorthands[c] + if alreadythere { + fmt.Fprintf(f.out(), "%s shorthand reused: %q for %s already used for %s\n", f.name, c, flag.Name, old.Name) + panic("shorthand redefinition") + } + f.shorthands[c] = flag +} + +// AddFlagSet adds one FlagSet to another. If a flag is already present in f +// the flag from newSet will be ignored +func (f *FlagSet) AddFlagSet(newSet *FlagSet) { + if newSet == nil { + return + } + newSet.VisitAll(func(flag *Flag) { + if f.Lookup(flag.Name) == nil { + f.AddFlag(flag) + } + }) +} + +// Var defines a flag with the specified name and usage string. The type and +// value of the flag are represented by the first argument, of type Value, which +// typically holds a user-defined implementation of Value. For instance, the +// caller could create a flag that turns a comma-separated string into a slice +// of strings by giving the slice the methods of Value; in particular, Set would +// decompose the comma-separated string into the slice. +func Var(value Value, name string, usage string) { + CommandLine.VarP(value, name, "", usage) +} + +// VarP is like Var, but accepts a shorthand letter that can be used after a single dash. +func VarP(value Value, name, shorthand, usage string) { + CommandLine.VarP(value, name, shorthand, usage) +} + +// failf prints to standard error a formatted error and usage message and +// returns the error. +func (f *FlagSet) failf(format string, a ...interface{}) error { + err := fmt.Errorf(format, a...) + fmt.Fprintln(f.out(), err) + f.usage() + return err +} + +// usage calls the Usage method for the flag set, or the usage function if +// the flag set is CommandLine. +func (f *FlagSet) usage() { + if f == CommandLine { + Usage() + } else if f.Usage == nil { + defaultUsage(f) + } else { + f.Usage() + } +} + +func (f *FlagSet) setFlag(flag *Flag, value string, origArg string) error { + if err := flag.Value.Set(value); err != nil { + return f.failf("invalid argument %q for %s: %v", value, origArg, err) + } + // mark as visited for Visit() + if f.actual == nil { + f.actual = make(map[NormalizedName]*Flag) + } + f.actual[f.normalizeFlagName(flag.Name)] = flag + flag.Changed = true + if len(flag.Deprecated) > 0 { + fmt.Fprintf(os.Stderr, "Flag --%s has been deprecated, %s\n", flag.Name, flag.Deprecated) + } + if len(flag.ShorthandDeprecated) > 0 && containsShorthand(origArg, flag.Shorthand) { + fmt.Fprintf(os.Stderr, "Flag shorthand -%s has been deprecated, %s\n", flag.Shorthand, flag.ShorthandDeprecated) + } + return nil +} + +func containsShorthand(arg, shorthand string) bool { + // filter out flags -- + if strings.HasPrefix(arg, "-") { + return false + } + arg = strings.SplitN(arg, "=", 2)[0] + return strings.Contains(arg, shorthand) +} + +func (f *FlagSet) parseLongArg(s string, args []string) (a []string, err error) { + a = args + name := s[2:] + if len(name) == 0 || name[0] == '-' || name[0] == '=' { + err = f.failf("bad flag syntax: %s", s) + return + } + split := strings.SplitN(name, "=", 2) + name = split[0] + flag, alreadythere := f.formal[f.normalizeFlagName(name)] + if !alreadythere { + if name == "help" { // special case for nice help message. + f.usage() + return a, ErrHelp + } + err = f.failf("unknown flag: --%s", name) + return + } + var value string + if len(split) == 2 { + // '--flag=arg' + value = split[1] + } else if len(flag.NoOptDefVal) > 0 { + // '--flag' (arg was optional) + value = flag.NoOptDefVal + } else if len(a) > 0 { + // '--flag arg' + value = a[0] + a = a[1:] + } else { + // '--flag' (arg was required) + err = f.failf("flag needs an argument: %s", s) + return + } + err = f.setFlag(flag, value, s) + return +} + +func (f *FlagSet) parseSingleShortArg(shorthands string, args []string) (outShorts string, outArgs []string, err error) { + if strings.HasPrefix(shorthands, "test.") { + return + } + outArgs = args + outShorts = shorthands[1:] + c := shorthands[0] + + flag, alreadythere := f.shorthands[c] + if !alreadythere { + if c == 'h' { // special case for nice help message. + f.usage() + err = ErrHelp + return + } + //TODO continue on error + err = f.failf("unknown shorthand flag: %q in -%s", c, shorthands) + return + } + var value string + if len(shorthands) > 2 && shorthands[1] == '=' { + value = shorthands[2:] + outShorts = "" + } else if len(flag.NoOptDefVal) > 0 { + value = flag.NoOptDefVal + } else if len(shorthands) > 1 { + value = shorthands[1:] + outShorts = "" + } else if len(args) > 0 { + value = args[0] + outArgs = args[1:] + } else { + err = f.failf("flag needs an argument: %q in -%s", c, shorthands) + return + } + err = f.setFlag(flag, value, shorthands) + return +} + +func (f *FlagSet) parseShortArg(s string, args []string) (a []string, err error) { + a = args + shorthands := s[1:] + + for len(shorthands) > 0 { + shorthands, a, err = f.parseSingleShortArg(shorthands, args) + if err != nil { + return + } + } + + return +} + +func (f *FlagSet) parseArgs(args []string) (err error) { + for len(args) > 0 { + s := args[0] + args = args[1:] + if len(s) == 0 || s[0] != '-' || len(s) == 1 { + if !f.interspersed { + f.args = append(f.args, s) + f.args = append(f.args, args...) + return nil + } + f.args = append(f.args, s) + continue + } + + if s[1] == '-' { + if len(s) == 2 { // "--" terminates the flags + f.argsLenAtDash = len(f.args) + f.args = append(f.args, args...) + break + } + args, err = f.parseLongArg(s, args) + } else { + args, err = f.parseShortArg(s, args) + } + if err != nil { + return + } + } + return +} + +// Parse parses flag definitions from the argument list, which should not +// include the command name. Must be called after all flags in the FlagSet +// are defined and before flags are accessed by the program. +// The return value will be ErrHelp if -help was set but not defined. +func (f *FlagSet) Parse(arguments []string) error { + f.parsed = true + f.args = make([]string, 0, len(arguments)) + err := f.parseArgs(arguments) + if err != nil { + switch f.errorHandling { + case ContinueOnError: + return err + case ExitOnError: + os.Exit(2) + case PanicOnError: + panic(err) + } + } + return nil +} + +// Parsed reports whether f.Parse has been called. +func (f *FlagSet) Parsed() bool { + return f.parsed +} + +// Parse parses the command-line flags from os.Args[1:]. Must be called +// after all flags are defined and before flags are accessed by the program. +func Parse() { + // Ignore errors; CommandLine is set for ExitOnError. + CommandLine.Parse(os.Args[1:]) +} + +// SetInterspersed sets whether to support interspersed option/non-option arguments. +func SetInterspersed(interspersed bool) { + CommandLine.SetInterspersed(interspersed) +} + +// Parsed returns true if the command-line flags have been parsed. +func Parsed() bool { + return CommandLine.Parsed() +} + +// CommandLine is the default set of command-line flags, parsed from os.Args. +var CommandLine = NewFlagSet(os.Args[0], ExitOnError) + +// NewFlagSet returns a new, empty flag set with the specified name and +// error handling property. +func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet { + f := &FlagSet{ + name: name, + errorHandling: errorHandling, + argsLenAtDash: -1, + interspersed: true, + } + return f +} + +// SetInterspersed sets whether to support interspersed option/non-option arguments. +func (f *FlagSet) SetInterspersed(interspersed bool) { + f.interspersed = interspersed +} + +// Init sets the name and error handling property for a flag set. +// By default, the zero FlagSet uses an empty name and the +// ContinueOnError error handling policy. +func (f *FlagSet) Init(name string, errorHandling ErrorHandling) { + f.name = name + f.errorHandling = errorHandling + f.argsLenAtDash = -1 +} diff --git a/vendor/github.com/spf13/pflag/float32.go b/vendor/github.com/spf13/pflag/float32.go new file mode 100644 index 0000000..7683fae --- /dev/null +++ b/vendor/github.com/spf13/pflag/float32.go @@ -0,0 +1,91 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- float32 Value +type float32Value float32 + +func newFloat32Value(val float32, p *float32) *float32Value { + *p = val + return (*float32Value)(p) +} + +func (f *float32Value) Set(s string) error { + v, err := strconv.ParseFloat(s, 32) + *f = float32Value(v) + return err +} + +func (f *float32Value) Type() string { + return "float32" +} + +func (f *float32Value) String() string { return fmt.Sprintf("%v", *f) } + +func float32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseFloat(sval, 32) + if err != nil { + return 0, err + } + return float32(v), nil +} + +// GetFloat32 return the float32 value of a flag with the given name +func (f *FlagSet) GetFloat32(name string) (float32, error) { + val, err := f.getFlagType(name, "float32", float32Conv) + if err != nil { + return 0, err + } + return val.(float32), nil +} + +// Float32Var defines a float32 flag with specified name, default value, and usage string. +// The argument p points to a float32 variable in which to store the value of the flag. +func (f *FlagSet) Float32Var(p *float32, name string, value float32, usage string) { + f.VarP(newFloat32Value(value, p), name, "", usage) +} + +// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32VarP(p *float32, name, shorthand string, value float32, usage string) { + f.VarP(newFloat32Value(value, p), name, shorthand, usage) +} + +// Float32Var defines a float32 flag with specified name, default value, and usage string. +// The argument p points to a float32 variable in which to store the value of the flag. +func Float32Var(p *float32, name string, value float32, usage string) { + CommandLine.VarP(newFloat32Value(value, p), name, "", usage) +} + +// Float32VarP is like Float32Var, but accepts a shorthand letter that can be used after a single dash. +func Float32VarP(p *float32, name, shorthand string, value float32, usage string) { + CommandLine.VarP(newFloat32Value(value, p), name, shorthand, usage) +} + +// Float32 defines a float32 flag with specified name, default value, and usage string. +// The return value is the address of a float32 variable that stores the value of the flag. +func (f *FlagSet) Float32(name string, value float32, usage string) *float32 { + p := new(float32) + f.Float32VarP(p, name, "", value, usage) + return p +} + +// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float32P(name, shorthand string, value float32, usage string) *float32 { + p := new(float32) + f.Float32VarP(p, name, shorthand, value, usage) + return p +} + +// Float32 defines a float32 flag with specified name, default value, and usage string. +// The return value is the address of a float32 variable that stores the value of the flag. +func Float32(name string, value float32, usage string) *float32 { + return CommandLine.Float32P(name, "", value, usage) +} + +// Float32P is like Float32, but accepts a shorthand letter that can be used after a single dash. +func Float32P(name, shorthand string, value float32, usage string) *float32 { + return CommandLine.Float32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/float64.go b/vendor/github.com/spf13/pflag/float64.go new file mode 100644 index 0000000..50fbf8c --- /dev/null +++ b/vendor/github.com/spf13/pflag/float64.go @@ -0,0 +1,87 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- float64 Value +type float64Value float64 + +func newFloat64Value(val float64, p *float64) *float64Value { + *p = val + return (*float64Value)(p) +} + +func (f *float64Value) Set(s string) error { + v, err := strconv.ParseFloat(s, 64) + *f = float64Value(v) + return err +} + +func (f *float64Value) Type() string { + return "float64" +} + +func (f *float64Value) String() string { return fmt.Sprintf("%v", *f) } + +func float64Conv(sval string) (interface{}, error) { + return strconv.ParseFloat(sval, 64) +} + +// GetFloat64 return the float64 value of a flag with the given name +func (f *FlagSet) GetFloat64(name string) (float64, error) { + val, err := f.getFlagType(name, "float64", float64Conv) + if err != nil { + return 0, err + } + return val.(float64), nil +} + +// Float64Var defines a float64 flag with specified name, default value, and usage string. +// The argument p points to a float64 variable in which to store the value of the flag. +func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string) { + f.VarP(newFloat64Value(value, p), name, "", usage) +} + +// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64VarP(p *float64, name, shorthand string, value float64, usage string) { + f.VarP(newFloat64Value(value, p), name, shorthand, usage) +} + +// Float64Var defines a float64 flag with specified name, default value, and usage string. +// The argument p points to a float64 variable in which to store the value of the flag. +func Float64Var(p *float64, name string, value float64, usage string) { + CommandLine.VarP(newFloat64Value(value, p), name, "", usage) +} + +// Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash. +func Float64VarP(p *float64, name, shorthand string, value float64, usage string) { + CommandLine.VarP(newFloat64Value(value, p), name, shorthand, usage) +} + +// Float64 defines a float64 flag with specified name, default value, and usage string. +// The return value is the address of a float64 variable that stores the value of the flag. +func (f *FlagSet) Float64(name string, value float64, usage string) *float64 { + p := new(float64) + f.Float64VarP(p, name, "", value, usage) + return p +} + +// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Float64P(name, shorthand string, value float64, usage string) *float64 { + p := new(float64) + f.Float64VarP(p, name, shorthand, value, usage) + return p +} + +// Float64 defines a float64 flag with specified name, default value, and usage string. +// The return value is the address of a float64 variable that stores the value of the flag. +func Float64(name string, value float64, usage string) *float64 { + return CommandLine.Float64P(name, "", value, usage) +} + +// Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash. +func Float64P(name, shorthand string, value float64, usage string) *float64 { + return CommandLine.Float64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/golangflag.go b/vendor/github.com/spf13/pflag/golangflag.go new file mode 100644 index 0000000..b056147 --- /dev/null +++ b/vendor/github.com/spf13/pflag/golangflag.go @@ -0,0 +1,104 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pflag + +import ( + goflag "flag" + "fmt" + "reflect" + "strings" +) + +var _ = fmt.Print + +// flagValueWrapper implements pflag.Value around a flag.Value. The main +// difference here is the addition of the Type method that returns a string +// name of the type. As this is generally unknown, we approximate that with +// reflection. +type flagValueWrapper struct { + inner goflag.Value + flagType string +} + +// We are just copying the boolFlag interface out of goflag as that is what +// they use to decide if a flag should get "true" when no arg is given. +type goBoolFlag interface { + goflag.Value + IsBoolFlag() bool +} + +func wrapFlagValue(v goflag.Value) Value { + // If the flag.Value happens to also be a pflag.Value, just use it directly. + if pv, ok := v.(Value); ok { + return pv + } + + pv := &flagValueWrapper{ + inner: v, + } + + t := reflect.TypeOf(v) + if t.Kind() == reflect.Interface || t.Kind() == reflect.Ptr { + t = t.Elem() + } + + pv.flagType = strings.TrimSuffix(t.Name(), "Value") + return pv +} + +func (v *flagValueWrapper) String() string { + return v.inner.String() +} + +func (v *flagValueWrapper) Set(s string) error { + return v.inner.Set(s) +} + +func (v *flagValueWrapper) Type() string { + return v.flagType +} + +// PFlagFromGoFlag will return a *pflag.Flag given a *flag.Flag +// If the *flag.Flag.Name was a single character (ex: `v`) it will be accessiblei +// with both `-v` and `--v` in flags. If the golang flag was more than a single +// character (ex: `verbose`) it will only be accessible via `--verbose` +func PFlagFromGoFlag(goflag *goflag.Flag) *Flag { + // Remember the default value as a string; it won't change. + flag := &Flag{ + Name: goflag.Name, + Usage: goflag.Usage, + Value: wrapFlagValue(goflag.Value), + // Looks like golang flags don't set DefValue correctly :-( + //DefValue: goflag.DefValue, + DefValue: goflag.Value.String(), + } + // Ex: if the golang flag was -v, allow both -v and --v to work + if len(flag.Name) == 1 { + flag.Shorthand = flag.Name + } + if fv, ok := goflag.Value.(goBoolFlag); ok && fv.IsBoolFlag() { + flag.NoOptDefVal = "true" + } + return flag +} + +// AddGoFlag will add the given *flag.Flag to the pflag.FlagSet +func (f *FlagSet) AddGoFlag(goflag *goflag.Flag) { + if f.Lookup(goflag.Name) != nil { + return + } + newflag := PFlagFromGoFlag(goflag) + f.AddFlag(newflag) +} + +// AddGoFlagSet will add the given *flag.FlagSet to the pflag.FlagSet +func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) { + if newSet == nil { + return + } + newSet.VisitAll(func(goflag *goflag.Flag) { + f.AddGoFlag(goflag) + }) +} diff --git a/vendor/github.com/spf13/pflag/int.go b/vendor/github.com/spf13/pflag/int.go new file mode 100644 index 0000000..b656036 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int.go @@ -0,0 +1,87 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- int Value +type intValue int + +func newIntValue(val int, p *int) *intValue { + *p = val + return (*intValue)(p) +} + +func (i *intValue) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + *i = intValue(v) + return err +} + +func (i *intValue) Type() string { + return "int" +} + +func (i *intValue) String() string { return fmt.Sprintf("%v", *i) } + +func intConv(sval string) (interface{}, error) { + return strconv.Atoi(sval) +} + +// GetInt return the int value of a flag with the given name +func (f *FlagSet) GetInt(name string) (int, error) { + val, err := f.getFlagType(name, "int", intConv) + if err != nil { + return 0, err + } + return val.(int), nil +} + +// IntVar defines an int flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +func (f *FlagSet) IntVar(p *int, name string, value int, usage string) { + f.VarP(newIntValue(value, p), name, "", usage) +} + +// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntVarP(p *int, name, shorthand string, value int, usage string) { + f.VarP(newIntValue(value, p), name, shorthand, usage) +} + +// IntVar defines an int flag with specified name, default value, and usage string. +// The argument p points to an int variable in which to store the value of the flag. +func IntVar(p *int, name string, value int, usage string) { + CommandLine.VarP(newIntValue(value, p), name, "", usage) +} + +// IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash. +func IntVarP(p *int, name, shorthand string, value int, usage string) { + CommandLine.VarP(newIntValue(value, p), name, shorthand, usage) +} + +// Int defines an int flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +func (f *FlagSet) Int(name string, value int, usage string) *int { + p := new(int) + f.IntVarP(p, name, "", value, usage) + return p +} + +// IntP is like Int, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntP(name, shorthand string, value int, usage string) *int { + p := new(int) + f.IntVarP(p, name, shorthand, value, usage) + return p +} + +// Int defines an int flag with specified name, default value, and usage string. +// The return value is the address of an int variable that stores the value of the flag. +func Int(name string, value int, usage string) *int { + return CommandLine.IntP(name, "", value, usage) +} + +// IntP is like Int, but accepts a shorthand letter that can be used after a single dash. +func IntP(name, shorthand string, value int, usage string) *int { + return CommandLine.IntP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int32.go b/vendor/github.com/spf13/pflag/int32.go new file mode 100644 index 0000000..41659a9 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int32.go @@ -0,0 +1,91 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- int32 Value +type int32Value int32 + +func newInt32Value(val int32, p *int32) *int32Value { + *p = val + return (*int32Value)(p) +} + +func (i *int32Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 32) + *i = int32Value(v) + return err +} + +func (i *int32Value) Type() string { + return "int32" +} + +func (i *int32Value) String() string { return fmt.Sprintf("%v", *i) } + +func int32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 32) + if err != nil { + return 0, err + } + return int32(v), nil +} + +// GetInt32 return the int32 value of a flag with the given name +func (f *FlagSet) GetInt32(name string) (int32, error) { + val, err := f.getFlagType(name, "int32", int32Conv) + if err != nil { + return 0, err + } + return val.(int32), nil +} + +// Int32Var defines an int32 flag with specified name, default value, and usage string. +// The argument p points to an int32 variable in which to store the value of the flag. +func (f *FlagSet) Int32Var(p *int32, name string, value int32, usage string) { + f.VarP(newInt32Value(value, p), name, "", usage) +} + +// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32VarP(p *int32, name, shorthand string, value int32, usage string) { + f.VarP(newInt32Value(value, p), name, shorthand, usage) +} + +// Int32Var defines an int32 flag with specified name, default value, and usage string. +// The argument p points to an int32 variable in which to store the value of the flag. +func Int32Var(p *int32, name string, value int32, usage string) { + CommandLine.VarP(newInt32Value(value, p), name, "", usage) +} + +// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used after a single dash. +func Int32VarP(p *int32, name, shorthand string, value int32, usage string) { + CommandLine.VarP(newInt32Value(value, p), name, shorthand, usage) +} + +// Int32 defines an int32 flag with specified name, default value, and usage string. +// The return value is the address of an int32 variable that stores the value of the flag. +func (f *FlagSet) Int32(name string, value int32, usage string) *int32 { + p := new(int32) + f.Int32VarP(p, name, "", value, usage) + return p +} + +// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int32P(name, shorthand string, value int32, usage string) *int32 { + p := new(int32) + f.Int32VarP(p, name, shorthand, value, usage) + return p +} + +// Int32 defines an int32 flag with specified name, default value, and usage string. +// The return value is the address of an int32 variable that stores the value of the flag. +func Int32(name string, value int32, usage string) *int32 { + return CommandLine.Int32P(name, "", value, usage) +} + +// Int32P is like Int32, but accepts a shorthand letter that can be used after a single dash. +func Int32P(name, shorthand string, value int32, usage string) *int32 { + return CommandLine.Int32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int64.go b/vendor/github.com/spf13/pflag/int64.go new file mode 100644 index 0000000..6e67e38 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int64.go @@ -0,0 +1,87 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- int64 Value +type int64Value int64 + +func newInt64Value(val int64, p *int64) *int64Value { + *p = val + return (*int64Value)(p) +} + +func (i *int64Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 64) + *i = int64Value(v) + return err +} + +func (i *int64Value) Type() string { + return "int64" +} + +func (i *int64Value) String() string { return fmt.Sprintf("%v", *i) } + +func int64Conv(sval string) (interface{}, error) { + return strconv.ParseInt(sval, 0, 64) +} + +// GetInt64 return the int64 value of a flag with the given name +func (f *FlagSet) GetInt64(name string) (int64, error) { + val, err := f.getFlagType(name, "int64", int64Conv) + if err != nil { + return 0, err + } + return val.(int64), nil +} + +// Int64Var defines an int64 flag with specified name, default value, and usage string. +// The argument p points to an int64 variable in which to store the value of the flag. +func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string) { + f.VarP(newInt64Value(value, p), name, "", usage) +} + +// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64VarP(p *int64, name, shorthand string, value int64, usage string) { + f.VarP(newInt64Value(value, p), name, shorthand, usage) +} + +// Int64Var defines an int64 flag with specified name, default value, and usage string. +// The argument p points to an int64 variable in which to store the value of the flag. +func Int64Var(p *int64, name string, value int64, usage string) { + CommandLine.VarP(newInt64Value(value, p), name, "", usage) +} + +// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash. +func Int64VarP(p *int64, name, shorthand string, value int64, usage string) { + CommandLine.VarP(newInt64Value(value, p), name, shorthand, usage) +} + +// Int64 defines an int64 flag with specified name, default value, and usage string. +// The return value is the address of an int64 variable that stores the value of the flag. +func (f *FlagSet) Int64(name string, value int64, usage string) *int64 { + p := new(int64) + f.Int64VarP(p, name, "", value, usage) + return p +} + +// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int64P(name, shorthand string, value int64, usage string) *int64 { + p := new(int64) + f.Int64VarP(p, name, shorthand, value, usage) + return p +} + +// Int64 defines an int64 flag with specified name, default value, and usage string. +// The return value is the address of an int64 variable that stores the value of the flag. +func Int64(name string, value int64, usage string) *int64 { + return CommandLine.Int64P(name, "", value, usage) +} + +// Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash. +func Int64P(name, shorthand string, value int64, usage string) *int64 { + return CommandLine.Int64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int8.go b/vendor/github.com/spf13/pflag/int8.go new file mode 100644 index 0000000..400db21 --- /dev/null +++ b/vendor/github.com/spf13/pflag/int8.go @@ -0,0 +1,91 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- int8 Value +type int8Value int8 + +func newInt8Value(val int8, p *int8) *int8Value { + *p = val + return (*int8Value)(p) +} + +func (i *int8Value) Set(s string) error { + v, err := strconv.ParseInt(s, 0, 8) + *i = int8Value(v) + return err +} + +func (i *int8Value) Type() string { + return "int8" +} + +func (i *int8Value) String() string { return fmt.Sprintf("%v", *i) } + +func int8Conv(sval string) (interface{}, error) { + v, err := strconv.ParseInt(sval, 0, 8) + if err != nil { + return 0, err + } + return int8(v), nil +} + +// GetInt8 return the int8 value of a flag with the given name +func (f *FlagSet) GetInt8(name string) (int8, error) { + val, err := f.getFlagType(name, "int8", int8Conv) + if err != nil { + return 0, err + } + return val.(int8), nil +} + +// Int8Var defines an int8 flag with specified name, default value, and usage string. +// The argument p points to an int8 variable in which to store the value of the flag. +func (f *FlagSet) Int8Var(p *int8, name string, value int8, usage string) { + f.VarP(newInt8Value(value, p), name, "", usage) +} + +// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int8VarP(p *int8, name, shorthand string, value int8, usage string) { + f.VarP(newInt8Value(value, p), name, shorthand, usage) +} + +// Int8Var defines an int8 flag with specified name, default value, and usage string. +// The argument p points to an int8 variable in which to store the value of the flag. +func Int8Var(p *int8, name string, value int8, usage string) { + CommandLine.VarP(newInt8Value(value, p), name, "", usage) +} + +// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used after a single dash. +func Int8VarP(p *int8, name, shorthand string, value int8, usage string) { + CommandLine.VarP(newInt8Value(value, p), name, shorthand, usage) +} + +// Int8 defines an int8 flag with specified name, default value, and usage string. +// The return value is the address of an int8 variable that stores the value of the flag. +func (f *FlagSet) Int8(name string, value int8, usage string) *int8 { + p := new(int8) + f.Int8VarP(p, name, "", value, usage) + return p +} + +// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Int8P(name, shorthand string, value int8, usage string) *int8 { + p := new(int8) + f.Int8VarP(p, name, shorthand, value, usage) + return p +} + +// Int8 defines an int8 flag with specified name, default value, and usage string. +// The return value is the address of an int8 variable that stores the value of the flag. +func Int8(name string, value int8, usage string) *int8 { + return CommandLine.Int8P(name, "", value, usage) +} + +// Int8P is like Int8, but accepts a shorthand letter that can be used after a single dash. +func Int8P(name, shorthand string, value int8, usage string) *int8 { + return CommandLine.Int8P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/int_slice.go b/vendor/github.com/spf13/pflag/int_slice.go new file mode 100644 index 0000000..1e7c9ed --- /dev/null +++ b/vendor/github.com/spf13/pflag/int_slice.go @@ -0,0 +1,128 @@ +package pflag + +import ( + "fmt" + "strconv" + "strings" +) + +// -- intSlice Value +type intSliceValue struct { + value *[]int + changed bool +} + +func newIntSliceValue(val []int, p *[]int) *intSliceValue { + isv := new(intSliceValue) + isv.value = p + *isv.value = val + return isv +} + +func (s *intSliceValue) Set(val string) error { + ss := strings.Split(val, ",") + out := make([]int, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return err + } + + } + if !s.changed { + *s.value = out + } else { + *s.value = append(*s.value, out...) + } + s.changed = true + return nil +} + +func (s *intSliceValue) Type() string { + return "intSlice" +} + +func (s *intSliceValue) String() string { + out := make([]string, len(*s.value)) + for i, d := range *s.value { + out[i] = fmt.Sprintf("%d", d) + } + return "[" + strings.Join(out, ",") + "]" +} + +func intSliceConv(val string) (interface{}, error) { + val = strings.Trim(val, "[]") + // Empty string would cause a slice with one (empty) entry + if len(val) == 0 { + return []int{}, nil + } + ss := strings.Split(val, ",") + out := make([]int, len(ss)) + for i, d := range ss { + var err error + out[i], err = strconv.Atoi(d) + if err != nil { + return nil, err + } + + } + return out, nil +} + +// GetIntSlice return the []int value of a flag with the given name +func (f *FlagSet) GetIntSlice(name string) ([]int, error) { + val, err := f.getFlagType(name, "intSlice", intSliceConv) + if err != nil { + return []int{}, err + } + return val.([]int), nil +} + +// IntSliceVar defines a intSlice flag with specified name, default value, and usage string. +// The argument p points to a []int variable in which to store the value of the flag. +func (f *FlagSet) IntSliceVar(p *[]int, name string, value []int, usage string) { + f.VarP(newIntSliceValue(value, p), name, "", usage) +} + +// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) { + f.VarP(newIntSliceValue(value, p), name, shorthand, usage) +} + +// IntSliceVar defines a int[] flag with specified name, default value, and usage string. +// The argument p points to a int[] variable in which to store the value of the flag. +func IntSliceVar(p *[]int, name string, value []int, usage string) { + CommandLine.VarP(newIntSliceValue(value, p), name, "", usage) +} + +// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash. +func IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) { + CommandLine.VarP(newIntSliceValue(value, p), name, shorthand, usage) +} + +// IntSlice defines a []int flag with specified name, default value, and usage string. +// The return value is the address of a []int variable that stores the value of the flag. +func (f *FlagSet) IntSlice(name string, value []int, usage string) *[]int { + p := []int{} + f.IntSliceVarP(&p, name, "", value, usage) + return &p +} + +// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IntSliceP(name, shorthand string, value []int, usage string) *[]int { + p := []int{} + f.IntSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// IntSlice defines a []int flag with specified name, default value, and usage string. +// The return value is the address of a []int variable that stores the value of the flag. +func IntSlice(name string, value []int, usage string) *[]int { + return CommandLine.IntSliceP(name, "", value, usage) +} + +// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash. +func IntSliceP(name, shorthand string, value []int, usage string) *[]int { + return CommandLine.IntSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ip.go b/vendor/github.com/spf13/pflag/ip.go new file mode 100644 index 0000000..88a1743 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ip.go @@ -0,0 +1,96 @@ +package pflag + +import ( + "fmt" + "net" + "strings" +) + +var _ = strings.TrimSpace + +// -- net.IP value +type ipValue net.IP + +func newIPValue(val net.IP, p *net.IP) *ipValue { + *p = val + return (*ipValue)(p) +} + +func (i *ipValue) String() string { return net.IP(*i).String() } +func (i *ipValue) Set(s string) error { + ip := net.ParseIP(strings.TrimSpace(s)) + if ip == nil { + return fmt.Errorf("failed to parse IP: %q", s) + } + *i = ipValue(ip) + return nil +} + +func (i *ipValue) Type() string { + return "ip" +} + +func ipConv(sval string) (interface{}, error) { + ip := net.ParseIP(sval) + if ip != nil { + return ip, nil + } + return nil, fmt.Errorf("invalid string being converted to IP address: %s", sval) +} + +// GetIP return the net.IP value of a flag with the given name +func (f *FlagSet) GetIP(name string) (net.IP, error) { + val, err := f.getFlagType(name, "ip", ipConv) + if err != nil { + return nil, err + } + return val.(net.IP), nil +} + +// IPVar defines an net.IP flag with specified name, default value, and usage string. +// The argument p points to an net.IP variable in which to store the value of the flag. +func (f *FlagSet) IPVar(p *net.IP, name string, value net.IP, usage string) { + f.VarP(newIPValue(value, p), name, "", usage) +} + +// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) { + f.VarP(newIPValue(value, p), name, shorthand, usage) +} + +// IPVar defines an net.IP flag with specified name, default value, and usage string. +// The argument p points to an net.IP variable in which to store the value of the flag. +func IPVar(p *net.IP, name string, value net.IP, usage string) { + CommandLine.VarP(newIPValue(value, p), name, "", usage) +} + +// IPVarP is like IPVar, but accepts a shorthand letter that can be used after a single dash. +func IPVarP(p *net.IP, name, shorthand string, value net.IP, usage string) { + CommandLine.VarP(newIPValue(value, p), name, shorthand, usage) +} + +// IP defines an net.IP flag with specified name, default value, and usage string. +// The return value is the address of an net.IP variable that stores the value of the flag. +func (f *FlagSet) IP(name string, value net.IP, usage string) *net.IP { + p := new(net.IP) + f.IPVarP(p, name, "", value, usage) + return p +} + +// IPP is like IP, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPP(name, shorthand string, value net.IP, usage string) *net.IP { + p := new(net.IP) + f.IPVarP(p, name, shorthand, value, usage) + return p +} + +// IP defines an net.IP flag with specified name, default value, and usage string. +// The return value is the address of an net.IP variable that stores the value of the flag. +func IP(name string, value net.IP, usage string) *net.IP { + return CommandLine.IPP(name, "", value, usage) +} + +// IPP is like IP, but accepts a shorthand letter that can be used after a single dash. +func IPP(name, shorthand string, value net.IP, usage string) *net.IP { + return CommandLine.IPP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ipmask.go b/vendor/github.com/spf13/pflag/ipmask.go new file mode 100644 index 0000000..5bd44bd --- /dev/null +++ b/vendor/github.com/spf13/pflag/ipmask.go @@ -0,0 +1,122 @@ +package pflag + +import ( + "fmt" + "net" + "strconv" +) + +// -- net.IPMask value +type ipMaskValue net.IPMask + +func newIPMaskValue(val net.IPMask, p *net.IPMask) *ipMaskValue { + *p = val + return (*ipMaskValue)(p) +} + +func (i *ipMaskValue) String() string { return net.IPMask(*i).String() } +func (i *ipMaskValue) Set(s string) error { + ip := ParseIPv4Mask(s) + if ip == nil { + return fmt.Errorf("failed to parse IP mask: %q", s) + } + *i = ipMaskValue(ip) + return nil +} + +func (i *ipMaskValue) Type() string { + return "ipMask" +} + +// ParseIPv4Mask written in IP form (e.g. 255.255.255.0). +// This function should really belong to the net package. +func ParseIPv4Mask(s string) net.IPMask { + mask := net.ParseIP(s) + if mask == nil { + if len(s) != 8 { + return nil + } + // net.IPMask.String() actually outputs things like ffffff00 + // so write a horrible parser for that as well :-( + m := []int{} + for i := 0; i < 4; i++ { + b := "0x" + s[2*i:2*i+2] + d, err := strconv.ParseInt(b, 0, 0) + if err != nil { + return nil + } + m = append(m, int(d)) + } + s := fmt.Sprintf("%d.%d.%d.%d", m[0], m[1], m[2], m[3]) + mask = net.ParseIP(s) + if mask == nil { + return nil + } + } + return net.IPv4Mask(mask[12], mask[13], mask[14], mask[15]) +} + +func parseIPv4Mask(sval string) (interface{}, error) { + mask := ParseIPv4Mask(sval) + if mask == nil { + return nil, fmt.Errorf("unable to parse %s as net.IPMask", sval) + } + return mask, nil +} + +// GetIPv4Mask return the net.IPv4Mask value of a flag with the given name +func (f *FlagSet) GetIPv4Mask(name string) (net.IPMask, error) { + val, err := f.getFlagType(name, "ipMask", parseIPv4Mask) + if err != nil { + return nil, err + } + return val.(net.IPMask), nil +} + +// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string. +// The argument p points to an net.IPMask variable in which to store the value of the flag. +func (f *FlagSet) IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) { + f.VarP(newIPMaskValue(value, p), name, "", usage) +} + +// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) { + f.VarP(newIPMaskValue(value, p), name, shorthand, usage) +} + +// IPMaskVar defines an net.IPMask flag with specified name, default value, and usage string. +// The argument p points to an net.IPMask variable in which to store the value of the flag. +func IPMaskVar(p *net.IPMask, name string, value net.IPMask, usage string) { + CommandLine.VarP(newIPMaskValue(value, p), name, "", usage) +} + +// IPMaskVarP is like IPMaskVar, but accepts a shorthand letter that can be used after a single dash. +func IPMaskVarP(p *net.IPMask, name, shorthand string, value net.IPMask, usage string) { + CommandLine.VarP(newIPMaskValue(value, p), name, shorthand, usage) +} + +// IPMask defines an net.IPMask flag with specified name, default value, and usage string. +// The return value is the address of an net.IPMask variable that stores the value of the flag. +func (f *FlagSet) IPMask(name string, value net.IPMask, usage string) *net.IPMask { + p := new(net.IPMask) + f.IPMaskVarP(p, name, "", value, usage) + return p +} + +// IPMaskP is like IPMask, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask { + p := new(net.IPMask) + f.IPMaskVarP(p, name, shorthand, value, usage) + return p +} + +// IPMask defines an net.IPMask flag with specified name, default value, and usage string. +// The return value is the address of an net.IPMask variable that stores the value of the flag. +func IPMask(name string, value net.IPMask, usage string) *net.IPMask { + return CommandLine.IPMaskP(name, "", value, usage) +} + +// IPMaskP is like IP, but accepts a shorthand letter that can be used after a single dash. +func IPMaskP(name, shorthand string, value net.IPMask, usage string) *net.IPMask { + return CommandLine.IPMaskP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/ipnet.go b/vendor/github.com/spf13/pflag/ipnet.go new file mode 100644 index 0000000..149b764 --- /dev/null +++ b/vendor/github.com/spf13/pflag/ipnet.go @@ -0,0 +1,100 @@ +package pflag + +import ( + "fmt" + "net" + "strings" +) + +// IPNet adapts net.IPNet for use as a flag. +type ipNetValue net.IPNet + +func (ipnet ipNetValue) String() string { + n := net.IPNet(ipnet) + return n.String() +} + +func (ipnet *ipNetValue) Set(value string) error { + _, n, err := net.ParseCIDR(strings.TrimSpace(value)) + if err != nil { + return err + } + *ipnet = ipNetValue(*n) + return nil +} + +func (*ipNetValue) Type() string { + return "ipNet" +} + +var _ = strings.TrimSpace + +func newIPNetValue(val net.IPNet, p *net.IPNet) *ipNetValue { + *p = val + return (*ipNetValue)(p) +} + +func ipNetConv(sval string) (interface{}, error) { + _, n, err := net.ParseCIDR(strings.TrimSpace(sval)) + if err == nil { + return *n, nil + } + return nil, fmt.Errorf("invalid string being converted to IPNet: %s", sval) +} + +// GetIPNet return the net.IPNet value of a flag with the given name +func (f *FlagSet) GetIPNet(name string) (net.IPNet, error) { + val, err := f.getFlagType(name, "ipNet", ipNetConv) + if err != nil { + return net.IPNet{}, err + } + return val.(net.IPNet), nil +} + +// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string. +// The argument p points to an net.IPNet variable in which to store the value of the flag. +func (f *FlagSet) IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) { + f.VarP(newIPNetValue(value, p), name, "", usage) +} + +// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) { + f.VarP(newIPNetValue(value, p), name, shorthand, usage) +} + +// IPNetVar defines an net.IPNet flag with specified name, default value, and usage string. +// The argument p points to an net.IPNet variable in which to store the value of the flag. +func IPNetVar(p *net.IPNet, name string, value net.IPNet, usage string) { + CommandLine.VarP(newIPNetValue(value, p), name, "", usage) +} + +// IPNetVarP is like IPNetVar, but accepts a shorthand letter that can be used after a single dash. +func IPNetVarP(p *net.IPNet, name, shorthand string, value net.IPNet, usage string) { + CommandLine.VarP(newIPNetValue(value, p), name, shorthand, usage) +} + +// IPNet defines an net.IPNet flag with specified name, default value, and usage string. +// The return value is the address of an net.IPNet variable that stores the value of the flag. +func (f *FlagSet) IPNet(name string, value net.IPNet, usage string) *net.IPNet { + p := new(net.IPNet) + f.IPNetVarP(p, name, "", value, usage) + return p +} + +// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet { + p := new(net.IPNet) + f.IPNetVarP(p, name, shorthand, value, usage) + return p +} + +// IPNet defines an net.IPNet flag with specified name, default value, and usage string. +// The return value is the address of an net.IPNet variable that stores the value of the flag. +func IPNet(name string, value net.IPNet, usage string) *net.IPNet { + return CommandLine.IPNetP(name, "", value, usage) +} + +// IPNetP is like IPNet, but accepts a shorthand letter that can be used after a single dash. +func IPNetP(name, shorthand string, value net.IPNet, usage string) *net.IPNet { + return CommandLine.IPNetP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string.go b/vendor/github.com/spf13/pflag/string.go new file mode 100644 index 0000000..e296136 --- /dev/null +++ b/vendor/github.com/spf13/pflag/string.go @@ -0,0 +1,82 @@ +package pflag + +import "fmt" + +// -- string Value +type stringValue string + +func newStringValue(val string, p *string) *stringValue { + *p = val + return (*stringValue)(p) +} + +func (s *stringValue) Set(val string) error { + *s = stringValue(val) + return nil +} +func (s *stringValue) Type() string { + return "string" +} + +func (s *stringValue) String() string { return fmt.Sprintf("%s", *s) } + +func stringConv(sval string) (interface{}, error) { + return sval, nil +} + +// GetString return the string value of a flag with the given name +func (f *FlagSet) GetString(name string) (string, error) { + val, err := f.getFlagType(name, "string", stringConv) + if err != nil { + return "", err + } + return val.(string), nil +} + +// StringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a string variable in which to store the value of the flag. +func (f *FlagSet) StringVar(p *string, name string, value string, usage string) { + f.VarP(newStringValue(value, p), name, "", usage) +} + +// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringVarP(p *string, name, shorthand string, value string, usage string) { + f.VarP(newStringValue(value, p), name, shorthand, usage) +} + +// StringVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a string variable in which to store the value of the flag. +func StringVar(p *string, name string, value string, usage string) { + CommandLine.VarP(newStringValue(value, p), name, "", usage) +} + +// StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash. +func StringVarP(p *string, name, shorthand string, value string, usage string) { + CommandLine.VarP(newStringValue(value, p), name, shorthand, usage) +} + +// String defines a string flag with specified name, default value, and usage string. +// The return value is the address of a string variable that stores the value of the flag. +func (f *FlagSet) String(name string, value string, usage string) *string { + p := new(string) + f.StringVarP(p, name, "", value, usage) + return p +} + +// StringP is like String, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringP(name, shorthand string, value string, usage string) *string { + p := new(string) + f.StringVarP(p, name, shorthand, value, usage) + return p +} + +// String defines a string flag with specified name, default value, and usage string. +// The return value is the address of a string variable that stores the value of the flag. +func String(name string, value string, usage string) *string { + return CommandLine.StringP(name, "", value, usage) +} + +// StringP is like String, but accepts a shorthand letter that can be used after a single dash. +func StringP(name, shorthand string, value string, usage string) *string { + return CommandLine.StringP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/string_slice.go b/vendor/github.com/spf13/pflag/string_slice.go new file mode 100644 index 0000000..b53648b --- /dev/null +++ b/vendor/github.com/spf13/pflag/string_slice.go @@ -0,0 +1,111 @@ +package pflag + +import ( + "encoding/csv" + "fmt" + "strings" +) + +var _ = fmt.Fprint + +// -- stringSlice Value +type stringSliceValue struct { + value *[]string + changed bool +} + +func newStringSliceValue(val []string, p *[]string) *stringSliceValue { + ssv := new(stringSliceValue) + ssv.value = p + *ssv.value = val + return ssv +} + +func (s *stringSliceValue) Set(val string) error { + stringReader := strings.NewReader(val) + csvReader := csv.NewReader(stringReader) + v, err := csvReader.Read() + if err != nil { + return err + } + if !s.changed { + *s.value = v + } else { + *s.value = append(*s.value, v...) + } + s.changed = true + return nil +} + +func (s *stringSliceValue) Type() string { + return "stringSlice" +} + +func (s *stringSliceValue) String() string { return "[" + strings.Join(*s.value, ",") + "]" } + +func stringSliceConv(sval string) (interface{}, error) { + sval = strings.Trim(sval, "[]") + // An empty string would cause a slice with one (empty) string + if len(sval) == 0 { + return []string{}, nil + } + v := strings.Split(sval, ",") + return v, nil +} + +// GetStringSlice return the []string value of a flag with the given name +func (f *FlagSet) GetStringSlice(name string) ([]string, error) { + val, err := f.getFlagType(name, "stringSlice", stringSliceConv) + if err != nil { + return []string{}, err + } + return val.([]string), nil +} + +// StringSliceVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +func (f *FlagSet) StringSliceVar(p *[]string, name string, value []string, usage string) { + f.VarP(newStringSliceValue(value, p), name, "", usage) +} + +// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) { + f.VarP(newStringSliceValue(value, p), name, shorthand, usage) +} + +// StringSliceVar defines a string flag with specified name, default value, and usage string. +// The argument p points to a []string variable in which to store the value of the flag. +func StringSliceVar(p *[]string, name string, value []string, usage string) { + CommandLine.VarP(newStringSliceValue(value, p), name, "", usage) +} + +// StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash. +func StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string) { + CommandLine.VarP(newStringSliceValue(value, p), name, shorthand, usage) +} + +// StringSlice defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +func (f *FlagSet) StringSlice(name string, value []string, usage string) *[]string { + p := []string{} + f.StringSliceVarP(&p, name, "", value, usage) + return &p +} + +// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) StringSliceP(name, shorthand string, value []string, usage string) *[]string { + p := []string{} + f.StringSliceVarP(&p, name, shorthand, value, usage) + return &p +} + +// StringSlice defines a string flag with specified name, default value, and usage string. +// The return value is the address of a []string variable that stores the value of the flag. +func StringSlice(name string, value []string, usage string) *[]string { + return CommandLine.StringSliceP(name, "", value, usage) +} + +// StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash. +func StringSliceP(name, shorthand string, value []string, usage string) *[]string { + return CommandLine.StringSliceP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint.go b/vendor/github.com/spf13/pflag/uint.go new file mode 100644 index 0000000..e142b49 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint.go @@ -0,0 +1,91 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- uint Value +type uintValue uint + +func newUintValue(val uint, p *uint) *uintValue { + *p = val + return (*uintValue)(p) +} + +func (i *uintValue) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 64) + *i = uintValue(v) + return err +} + +func (i *uintValue) Type() string { + return "uint" +} + +func (i *uintValue) String() string { return fmt.Sprintf("%v", *i) } + +func uintConv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 0) + if err != nil { + return 0, err + } + return uint(v), nil +} + +// GetUint return the uint value of a flag with the given name +func (f *FlagSet) GetUint(name string) (uint, error) { + val, err := f.getFlagType(name, "uint", uintConv) + if err != nil { + return 0, err + } + return val.(uint), nil +} + +// UintVar defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) { + f.VarP(newUintValue(value, p), name, "", usage) +} + +// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintVarP(p *uint, name, shorthand string, value uint, usage string) { + f.VarP(newUintValue(value, p), name, shorthand, usage) +} + +// UintVar defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func UintVar(p *uint, name string, value uint, usage string) { + CommandLine.VarP(newUintValue(value, p), name, "", usage) +} + +// UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash. +func UintVarP(p *uint, name, shorthand string, value uint, usage string) { + CommandLine.VarP(newUintValue(value, p), name, shorthand, usage) +} + +// Uint defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func (f *FlagSet) Uint(name string, value uint, usage string) *uint { + p := new(uint) + f.UintVarP(p, name, "", value, usage) + return p +} + +// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) UintP(name, shorthand string, value uint, usage string) *uint { + p := new(uint) + f.UintVarP(p, name, shorthand, value, usage) + return p +} + +// Uint defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func Uint(name string, value uint, usage string) *uint { + return CommandLine.UintP(name, "", value, usage) +} + +// UintP is like Uint, but accepts a shorthand letter that can be used after a single dash. +func UintP(name, shorthand string, value uint, usage string) *uint { + return CommandLine.UintP(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint16.go b/vendor/github.com/spf13/pflag/uint16.go new file mode 100644 index 0000000..5c96c19 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint16.go @@ -0,0 +1,89 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- uint16 value +type uint16Value uint16 + +func newUint16Value(val uint16, p *uint16) *uint16Value { + *p = val + return (*uint16Value)(p) +} +func (i *uint16Value) String() string { return fmt.Sprintf("%d", *i) } +func (i *uint16Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 16) + *i = uint16Value(v) + return err +} + +func (i *uint16Value) Type() string { + return "uint16" +} + +func uint16Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 16) + if err != nil { + return 0, err + } + return uint16(v), nil +} + +// GetUint16 return the uint16 value of a flag with the given name +func (f *FlagSet) GetUint16(name string) (uint16, error) { + val, err := f.getFlagType(name, "uint16", uint16Conv) + if err != nil { + return 0, err + } + return val.(uint16), nil +} + +// Uint16Var defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func (f *FlagSet) Uint16Var(p *uint16, name string, value uint16, usage string) { + f.VarP(newUint16Value(value, p), name, "", usage) +} + +// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) { + f.VarP(newUint16Value(value, p), name, shorthand, usage) +} + +// Uint16Var defines a uint flag with specified name, default value, and usage string. +// The argument p points to a uint variable in which to store the value of the flag. +func Uint16Var(p *uint16, name string, value uint16, usage string) { + CommandLine.VarP(newUint16Value(value, p), name, "", usage) +} + +// Uint16VarP is like Uint16Var, but accepts a shorthand letter that can be used after a single dash. +func Uint16VarP(p *uint16, name, shorthand string, value uint16, usage string) { + CommandLine.VarP(newUint16Value(value, p), name, shorthand, usage) +} + +// Uint16 defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func (f *FlagSet) Uint16(name string, value uint16, usage string) *uint16 { + p := new(uint16) + f.Uint16VarP(p, name, "", value, usage) + return p +} + +// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint16P(name, shorthand string, value uint16, usage string) *uint16 { + p := new(uint16) + f.Uint16VarP(p, name, shorthand, value, usage) + return p +} + +// Uint16 defines a uint flag with specified name, default value, and usage string. +// The return value is the address of a uint variable that stores the value of the flag. +func Uint16(name string, value uint16, usage string) *uint16 { + return CommandLine.Uint16P(name, "", value, usage) +} + +// Uint16P is like Uint16, but accepts a shorthand letter that can be used after a single dash. +func Uint16P(name, shorthand string, value uint16, usage string) *uint16 { + return CommandLine.Uint16P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint32.go b/vendor/github.com/spf13/pflag/uint32.go new file mode 100644 index 0000000..294fcaa --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint32.go @@ -0,0 +1,89 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- uint16 value +type uint32Value uint32 + +func newUint32Value(val uint32, p *uint32) *uint32Value { + *p = val + return (*uint32Value)(p) +} +func (i *uint32Value) String() string { return fmt.Sprintf("%d", *i) } +func (i *uint32Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 32) + *i = uint32Value(v) + return err +} + +func (i *uint32Value) Type() string { + return "uint32" +} + +func uint32Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 32) + if err != nil { + return 0, err + } + return uint32(v), nil +} + +// GetUint32 return the uint32 value of a flag with the given name +func (f *FlagSet) GetUint32(name string) (uint32, error) { + val, err := f.getFlagType(name, "uint32", uint32Conv) + if err != nil { + return 0, err + } + return val.(uint32), nil +} + +// Uint32Var defines a uint32 flag with specified name, default value, and usage string. +// The argument p points to a uint32 variable in which to store the value of the flag. +func (f *FlagSet) Uint32Var(p *uint32, name string, value uint32, usage string) { + f.VarP(newUint32Value(value, p), name, "", usage) +} + +// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) { + f.VarP(newUint32Value(value, p), name, shorthand, usage) +} + +// Uint32Var defines a uint32 flag with specified name, default value, and usage string. +// The argument p points to a uint32 variable in which to store the value of the flag. +func Uint32Var(p *uint32, name string, value uint32, usage string) { + CommandLine.VarP(newUint32Value(value, p), name, "", usage) +} + +// Uint32VarP is like Uint32Var, but accepts a shorthand letter that can be used after a single dash. +func Uint32VarP(p *uint32, name, shorthand string, value uint32, usage string) { + CommandLine.VarP(newUint32Value(value, p), name, shorthand, usage) +} + +// Uint32 defines a uint32 flag with specified name, default value, and usage string. +// The return value is the address of a uint32 variable that stores the value of the flag. +func (f *FlagSet) Uint32(name string, value uint32, usage string) *uint32 { + p := new(uint32) + f.Uint32VarP(p, name, "", value, usage) + return p +} + +// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint32P(name, shorthand string, value uint32, usage string) *uint32 { + p := new(uint32) + f.Uint32VarP(p, name, shorthand, value, usage) + return p +} + +// Uint32 defines a uint32 flag with specified name, default value, and usage string. +// The return value is the address of a uint32 variable that stores the value of the flag. +func Uint32(name string, value uint32, usage string) *uint32 { + return CommandLine.Uint32P(name, "", value, usage) +} + +// Uint32P is like Uint32, but accepts a shorthand letter that can be used after a single dash. +func Uint32P(name, shorthand string, value uint32, usage string) *uint32 { + return CommandLine.Uint32P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint64.go b/vendor/github.com/spf13/pflag/uint64.go new file mode 100644 index 0000000..c681885 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint64.go @@ -0,0 +1,91 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- uint64 Value +type uint64Value uint64 + +func newUint64Value(val uint64, p *uint64) *uint64Value { + *p = val + return (*uint64Value)(p) +} + +func (i *uint64Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 64) + *i = uint64Value(v) + return err +} + +func (i *uint64Value) Type() string { + return "uint64" +} + +func (i *uint64Value) String() string { return fmt.Sprintf("%v", *i) } + +func uint64Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 64) + if err != nil { + return 0, err + } + return uint64(v), nil +} + +// GetUint64 return the uint64 value of a flag with the given name +func (f *FlagSet) GetUint64(name string) (uint64, error) { + val, err := f.getFlagType(name, "uint64", uint64Conv) + if err != nil { + return 0, err + } + return val.(uint64), nil +} + +// Uint64Var defines a uint64 flag with specified name, default value, and usage string. +// The argument p points to a uint64 variable in which to store the value of the flag. +func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string) { + f.VarP(newUint64Value(value, p), name, "", usage) +} + +// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) { + f.VarP(newUint64Value(value, p), name, shorthand, usage) +} + +// Uint64Var defines a uint64 flag with specified name, default value, and usage string. +// The argument p points to a uint64 variable in which to store the value of the flag. +func Uint64Var(p *uint64, name string, value uint64, usage string) { + CommandLine.VarP(newUint64Value(value, p), name, "", usage) +} + +// Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash. +func Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string) { + CommandLine.VarP(newUint64Value(value, p), name, shorthand, usage) +} + +// Uint64 defines a uint64 flag with specified name, default value, and usage string. +// The return value is the address of a uint64 variable that stores the value of the flag. +func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64 { + p := new(uint64) + f.Uint64VarP(p, name, "", value, usage) + return p +} + +// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint64P(name, shorthand string, value uint64, usage string) *uint64 { + p := new(uint64) + f.Uint64VarP(p, name, shorthand, value, usage) + return p +} + +// Uint64 defines a uint64 flag with specified name, default value, and usage string. +// The return value is the address of a uint64 variable that stores the value of the flag. +func Uint64(name string, value uint64, usage string) *uint64 { + return CommandLine.Uint64P(name, "", value, usage) +} + +// Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash. +func Uint64P(name, shorthand string, value uint64, usage string) *uint64 { + return CommandLine.Uint64P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/spf13/pflag/uint8.go b/vendor/github.com/spf13/pflag/uint8.go new file mode 100644 index 0000000..26db418 --- /dev/null +++ b/vendor/github.com/spf13/pflag/uint8.go @@ -0,0 +1,91 @@ +package pflag + +import ( + "fmt" + "strconv" +) + +// -- uint8 Value +type uint8Value uint8 + +func newUint8Value(val uint8, p *uint8) *uint8Value { + *p = val + return (*uint8Value)(p) +} + +func (i *uint8Value) Set(s string) error { + v, err := strconv.ParseUint(s, 0, 8) + *i = uint8Value(v) + return err +} + +func (i *uint8Value) Type() string { + return "uint8" +} + +func (i *uint8Value) String() string { return fmt.Sprintf("%v", *i) } + +func uint8Conv(sval string) (interface{}, error) { + v, err := strconv.ParseUint(sval, 0, 8) + if err != nil { + return 0, err + } + return uint8(v), nil +} + +// GetUint8 return the uint8 value of a flag with the given name +func (f *FlagSet) GetUint8(name string) (uint8, error) { + val, err := f.getFlagType(name, "uint8", uint8Conv) + if err != nil { + return 0, err + } + return val.(uint8), nil +} + +// Uint8Var defines a uint8 flag with specified name, default value, and usage string. +// The argument p points to a uint8 variable in which to store the value of the flag. +func (f *FlagSet) Uint8Var(p *uint8, name string, value uint8, usage string) { + f.VarP(newUint8Value(value, p), name, "", usage) +} + +// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) { + f.VarP(newUint8Value(value, p), name, shorthand, usage) +} + +// Uint8Var defines a uint8 flag with specified name, default value, and usage string. +// The argument p points to a uint8 variable in which to store the value of the flag. +func Uint8Var(p *uint8, name string, value uint8, usage string) { + CommandLine.VarP(newUint8Value(value, p), name, "", usage) +} + +// Uint8VarP is like Uint8Var, but accepts a shorthand letter that can be used after a single dash. +func Uint8VarP(p *uint8, name, shorthand string, value uint8, usage string) { + CommandLine.VarP(newUint8Value(value, p), name, shorthand, usage) +} + +// Uint8 defines a uint8 flag with specified name, default value, and usage string. +// The return value is the address of a uint8 variable that stores the value of the flag. +func (f *FlagSet) Uint8(name string, value uint8, usage string) *uint8 { + p := new(uint8) + f.Uint8VarP(p, name, "", value, usage) + return p +} + +// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) Uint8P(name, shorthand string, value uint8, usage string) *uint8 { + p := new(uint8) + f.Uint8VarP(p, name, shorthand, value, usage) + return p +} + +// Uint8 defines a uint8 flag with specified name, default value, and usage string. +// The return value is the address of a uint8 variable that stores the value of the flag. +func Uint8(name string, value uint8, usage string) *uint8 { + return CommandLine.Uint8P(name, "", value, usage) +} + +// Uint8P is like Uint8, but accepts a shorthand letter that can be used after a single dash. +func Uint8P(name, shorthand string, value uint8, usage string) *uint8 { + return CommandLine.Uint8P(name, shorthand, value, usage) +} diff --git a/vendor/github.com/t-k/fluent-logger-golang/LICENSE b/vendor/github.com/t-k/fluent-logger-golang/LICENSE new file mode 100644 index 0000000..1aa91de --- /dev/null +++ b/vendor/github.com/t-k/fluent-logger-golang/LICENSE @@ -0,0 +1,13 @@ +Copyright (c) 2013 Tatsuo Kaniwa + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/vendor/github.com/t-k/fluent-logger-golang/fluent/fluent.go b/vendor/github.com/t-k/fluent-logger-golang/fluent/fluent.go new file mode 100644 index 0000000..f746c51 --- /dev/null +++ b/vendor/github.com/t-k/fluent-logger-golang/fluent/fluent.go @@ -0,0 +1,245 @@ +package fluent + +import ( + "errors" + "fmt" + "math" + "net" + "reflect" + "strconv" + "sync" + "time" +) + +const ( + defaultHost = "127.0.0.1" + defaultPort = 24224 + defaultTimeout = 3 * time.Second + defaultBufferLimit = 8 * 1024 * 1024 + defaultRetryWait = 500 + defaultMaxRetry = 13 + defaultReconnectWaitIncreRate = 1.5 +) + +type Config struct { + FluentPort int + FluentHost string + Timeout time.Duration + BufferLimit int + RetryWait int + MaxRetry int + TagPrefix string +} + +type Fluent struct { + Config + conn net.Conn + pending []byte + reconnecting bool + mu sync.Mutex +} + +// New creates a new Logger. +func New(config Config) (f *Fluent, err error) { + if config.FluentHost == "" { + config.FluentHost = defaultHost + } + if config.FluentPort == 0 { + config.FluentPort = defaultPort + } + if config.Timeout == 0 { + config.Timeout = defaultTimeout + } + if config.BufferLimit == 0 { + config.BufferLimit = defaultBufferLimit + } + if config.RetryWait == 0 { + config.RetryWait = defaultRetryWait + } + if config.MaxRetry == 0 { + config.MaxRetry = defaultMaxRetry + } + f = &Fluent{Config: config, reconnecting: false} + err = f.connect() + return +} + +// Post writes the output for a logging event. +// +// Examples: +// +// // send string +// f.Post("tag_name", "data") +// +// // send map[string] +// mapStringData := map[string]string{ +// "foo": "bar", +// } +// f.Post("tag_name", mapStringData) +// +// // send message with specified time +// mapStringData := map[string]string{ +// "foo": "bar", +// } +// tm := time.Now() +// f.PostWithTime("tag_name", tm, mapStringData) +// +// // send struct +// structData := struct { +// Name string `msg:"name"` +// } { +// "john smith", +// } +// f.Post("tag_name", structData) +// +func (f *Fluent) Post(tag string, message interface{}) error { + timeNow := time.Now() + return f.PostWithTime(tag, timeNow, message) +} + +func (f *Fluent) PostWithTime(tag string, tm time.Time, message interface{}) error { + if len(f.TagPrefix) > 0 { + tag = f.TagPrefix + "." + tag + } + + msg := reflect.ValueOf(message) + msgtype := msg.Type() + + if msgtype.Kind() == reflect.Struct { + // message should be tagged by "codec" or "msg" + kv := make(map[string]interface{}) + fields := msgtype.NumField() + for i := 0; i < fields; i++ { + field := msgtype.Field(i) + name := field.Name + if n1 := field.Tag.Get("msg"); n1 != "" { + name = n1 + } else if n2 := field.Tag.Get("codec"); n2 != "" { + name = n2 + } + kv[name] = msg.FieldByIndex(field.Index).Interface() + } + return f.EncodeAndPostData(tag, tm, kv) + } + + if msgtype.Kind() != reflect.Map { + return errors.New("messge must be a map") + } else if msgtype.Key().Kind() != reflect.String { + return errors.New("map keys must be strings") + } + + kv := make(map[string]interface{}) + for _, k := range msg.MapKeys() { + kv[k.String()] = msg.MapIndex(k).Interface() + } + + return f.EncodeAndPostData(tag, tm, kv) +} + +func (f *Fluent) EncodeAndPostData(tag string, tm time.Time, message interface{}) error { + if data, dumperr := f.EncodeData(tag, tm, message); dumperr != nil { + return fmt.Errorf("fluent#EncodeAndPostData: can't convert '%s' to msgpack:%s", message, dumperr) + // fmt.Println("fluent#Post: can't convert to msgpack:", message, dumperr) + } else { + f.PostRawData(data) + return nil + } +} + +func (f *Fluent) PostRawData(data []byte) { + f.mu.Lock() + f.pending = append(f.pending, data...) + f.mu.Unlock() + if err := f.send(); err != nil { + f.close() + if len(f.pending) > f.Config.BufferLimit { + f.flushBuffer() + } + } else { + f.flushBuffer() + } +} + +func (f *Fluent) EncodeData(tag string, tm time.Time, message interface{}) (data []byte, err error) { + timeUnix := tm.Unix() + msg := &Message{Tag: tag, Time: timeUnix, Record: message} + data, err = msg.MarshalMsg(nil) + return +} + +// Close closes the connection. +func (f *Fluent) Close() (err error) { + if len(f.pending) > 0 { + _ = f.send() + } + err = f.close() + return +} + +// close closes the connection. +func (f *Fluent) close() (err error) { + if f.conn != nil { + f.mu.Lock() + defer f.mu.Unlock() + } else { + return + } + if f.conn != nil { + f.conn.Close() + f.conn = nil + } + return +} + +// connect establishes a new connection using the specified transport. +func (f *Fluent) connect() (err error) { + f.conn, err = net.DialTimeout("tcp", f.Config.FluentHost+":"+strconv.Itoa(f.Config.FluentPort), f.Config.Timeout) + return +} + +func e(x, y float64) int { + return int(math.Pow(x, y)) +} + +func (f *Fluent) reconnect() { + go func() { + for i := 0; ; i++ { + err := f.connect() + if err == nil { + f.mu.Lock() + f.reconnecting = false + f.mu.Unlock() + break + } else { + if i == f.Config.MaxRetry { + panic("fluent#reconnect: failed to reconnect!") + } + waitTime := f.Config.RetryWait * e(defaultReconnectWaitIncreRate, float64(i-1)) + time.Sleep(time.Duration(waitTime) * time.Millisecond) + } + } + }() +} + +func (f *Fluent) flushBuffer() { + f.mu.Lock() + defer f.mu.Unlock() + f.pending = f.pending[0:0] +} + +func (f *Fluent) send() (err error) { + if f.conn == nil { + if f.reconnecting == false { + f.mu.Lock() + f.reconnecting = true + f.mu.Unlock() + f.reconnect() + } + err = errors.New("fluent#send: can't send logs, client is reconnecting") + } else { + f.mu.Lock() + _, err = f.conn.Write(f.pending) + f.mu.Unlock() + } + return +} diff --git a/vendor/github.com/t-k/fluent-logger-golang/fluent/proto.go b/vendor/github.com/t-k/fluent-logger-golang/fluent/proto.go new file mode 100644 index 0000000..268d614 --- /dev/null +++ b/vendor/github.com/t-k/fluent-logger-golang/fluent/proto.go @@ -0,0 +1,24 @@ +//go:generate msgp + +package fluent + +//msgp:tuple Entry +type Entry struct { + Time int64 `msg:"time"` + Record interface{} `msg:"record"` +} + +//msgp:tuple Forward +type Forward struct { + Tag string `msg:"tag"` + Entries []Entry `msg:"entries"` + Option interface{} `msg:"option"` +} + +//msgp:tuple Message +type Message struct { + Tag string `msg:"tag"` + Time int64 `msg:"time"` + Record interface{} `msg:"record"` + Option interface{} `msg:"option"` +} diff --git a/vendor/github.com/t-k/fluent-logger-golang/fluent/proto_gen.go b/vendor/github.com/t-k/fluent-logger-golang/fluent/proto_gen.go new file mode 100644 index 0000000..afb9d6d --- /dev/null +++ b/vendor/github.com/t-k/fluent-logger-golang/fluent/proto_gen.go @@ -0,0 +1,372 @@ +package fluent + +// NOTE: THIS FILE WAS PRODUCED BY THE +// MSGP CODE GENERATION TOOL (github.com/tinylib/msgp) +// DO NOT EDIT + +import ( + "github.com/tinylib/msgp/msgp" +) + +// DecodeMsg implements msgp.Decodable +func (z *Entry) DecodeMsg(dc *msgp.Reader) (err error) { + var ssz uint32 + ssz, err = dc.ReadArrayHeader() + if err != nil { + return + } + if ssz != 2 { + err = msgp.ArrayError{Wanted: 2, Got: ssz} + return + } + z.Time, err = dc.ReadInt64() + if err != nil { + return + } + z.Record, err = dc.ReadIntf() + if err != nil { + return + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z Entry) EncodeMsg(en *msgp.Writer) (err error) { + err = en.WriteArrayHeader(2) + if err != nil { + return + } + err = en.WriteInt64(z.Time) + if err != nil { + return + } + err = en.WriteIntf(z.Record) + if err != nil { + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z Entry) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendArrayHeader(o, 2) + o = msgp.AppendInt64(o, z.Time) + o, err = msgp.AppendIntf(o, z.Record) + if err != nil { + return + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Entry) UnmarshalMsg(bts []byte) (o []byte, err error) { + { + var ssz uint32 + ssz, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + return + } + if ssz != 2 { + err = msgp.ArrayError{Wanted: 2, Got: ssz} + return + } + } + z.Time, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + return + } + z.Record, bts, err = msgp.ReadIntfBytes(bts) + if err != nil { + return + } + o = bts + return +} + +func (z Entry) Msgsize() (s int) { + s = msgp.ArrayHeaderSize + msgp.Int64Size + msgp.GuessSize(z.Record) + return +} + +// DecodeMsg implements msgp.Decodable +func (z *Forward) DecodeMsg(dc *msgp.Reader) (err error) { + var ssz uint32 + ssz, err = dc.ReadArrayHeader() + if err != nil { + return + } + if ssz != 3 { + err = msgp.ArrayError{Wanted: 3, Got: ssz} + return + } + z.Tag, err = dc.ReadString() + if err != nil { + return + } + var xsz uint32 + xsz, err = dc.ReadArrayHeader() + if err != nil { + return + } + if cap(z.Entries) >= int(xsz) { + z.Entries = z.Entries[:xsz] + } else { + z.Entries = make([]Entry, xsz) + } + for xvk := range z.Entries { + var ssz uint32 + ssz, err = dc.ReadArrayHeader() + if err != nil { + return + } + if ssz != 2 { + err = msgp.ArrayError{Wanted: 2, Got: ssz} + return + } + z.Entries[xvk].Time, err = dc.ReadInt64() + if err != nil { + return + } + z.Entries[xvk].Record, err = dc.ReadIntf() + if err != nil { + return + } + } + z.Option, err = dc.ReadIntf() + if err != nil { + return + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z *Forward) EncodeMsg(en *msgp.Writer) (err error) { + err = en.WriteArrayHeader(3) + if err != nil { + return + } + err = en.WriteString(z.Tag) + if err != nil { + return + } + err = en.WriteArrayHeader(uint32(len(z.Entries))) + if err != nil { + return + } + for xvk := range z.Entries { + err = en.WriteArrayHeader(2) + if err != nil { + return + } + err = en.WriteInt64(z.Entries[xvk].Time) + if err != nil { + return + } + err = en.WriteIntf(z.Entries[xvk].Record) + if err != nil { + return + } + } + err = en.WriteIntf(z.Option) + if err != nil { + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *Forward) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendArrayHeader(o, 3) + o = msgp.AppendString(o, z.Tag) + o = msgp.AppendArrayHeader(o, uint32(len(z.Entries))) + for xvk := range z.Entries { + o = msgp.AppendArrayHeader(o, 2) + o = msgp.AppendInt64(o, z.Entries[xvk].Time) + o, err = msgp.AppendIntf(o, z.Entries[xvk].Record) + if err != nil { + return + } + } + o, err = msgp.AppendIntf(o, z.Option) + if err != nil { + return + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Forward) UnmarshalMsg(bts []byte) (o []byte, err error) { + { + var ssz uint32 + ssz, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + return + } + if ssz != 3 { + err = msgp.ArrayError{Wanted: 3, Got: ssz} + return + } + } + z.Tag, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + return + } + var xsz uint32 + xsz, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + return + } + if cap(z.Entries) >= int(xsz) { + z.Entries = z.Entries[:xsz] + } else { + z.Entries = make([]Entry, xsz) + } + for xvk := range z.Entries { + { + var ssz uint32 + ssz, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + return + } + if ssz != 2 { + err = msgp.ArrayError{Wanted: 2, Got: ssz} + return + } + } + z.Entries[xvk].Time, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + return + } + z.Entries[xvk].Record, bts, err = msgp.ReadIntfBytes(bts) + if err != nil { + return + } + } + z.Option, bts, err = msgp.ReadIntfBytes(bts) + if err != nil { + return + } + o = bts + return +} + +func (z *Forward) Msgsize() (s int) { + s = msgp.ArrayHeaderSize + msgp.StringPrefixSize + len(z.Tag) + msgp.ArrayHeaderSize + for xvk := range z.Entries { + s += msgp.ArrayHeaderSize + msgp.Int64Size + msgp.GuessSize(z.Entries[xvk].Record) + } + s += msgp.GuessSize(z.Option) + return +} + +// DecodeMsg implements msgp.Decodable +func (z *Message) DecodeMsg(dc *msgp.Reader) (err error) { + var ssz uint32 + ssz, err = dc.ReadArrayHeader() + if err != nil { + return + } + if ssz != 4 { + err = msgp.ArrayError{Wanted: 4, Got: ssz} + return + } + z.Tag, err = dc.ReadString() + if err != nil { + return + } + z.Time, err = dc.ReadInt64() + if err != nil { + return + } + z.Record, err = dc.ReadIntf() + if err != nil { + return + } + z.Option, err = dc.ReadIntf() + if err != nil { + return + } + return +} + +// EncodeMsg implements msgp.Encodable +func (z *Message) EncodeMsg(en *msgp.Writer) (err error) { + err = en.WriteArrayHeader(4) + if err != nil { + return + } + err = en.WriteString(z.Tag) + if err != nil { + return + } + err = en.WriteInt64(z.Time) + if err != nil { + return + } + err = en.WriteIntf(z.Record) + if err != nil { + return + } + err = en.WriteIntf(z.Option) + if err != nil { + return + } + return +} + +// MarshalMsg implements msgp.Marshaler +func (z *Message) MarshalMsg(b []byte) (o []byte, err error) { + o = msgp.Require(b, z.Msgsize()) + o = msgp.AppendArrayHeader(o, 4) + o = msgp.AppendString(o, z.Tag) + o = msgp.AppendInt64(o, z.Time) + o, err = msgp.AppendIntf(o, z.Record) + if err != nil { + return + } + o, err = msgp.AppendIntf(o, z.Option) + if err != nil { + return + } + return +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (z *Message) UnmarshalMsg(bts []byte) (o []byte, err error) { + { + var ssz uint32 + ssz, bts, err = msgp.ReadArrayHeaderBytes(bts) + if err != nil { + return + } + if ssz != 4 { + err = msgp.ArrayError{Wanted: 4, Got: ssz} + return + } + } + z.Tag, bts, err = msgp.ReadStringBytes(bts) + if err != nil { + return + } + z.Time, bts, err = msgp.ReadInt64Bytes(bts) + if err != nil { + return + } + z.Record, bts, err = msgp.ReadIntfBytes(bts) + if err != nil { + return + } + z.Option, bts, err = msgp.ReadIntfBytes(bts) + if err != nil { + return + } + o = bts + return +} + +func (z *Message) Msgsize() (s int) { + s = msgp.ArrayHeaderSize + msgp.StringPrefixSize + len(z.Tag) + msgp.Int64Size + msgp.GuessSize(z.Record) + msgp.GuessSize(z.Option) + return +} diff --git a/vendor/github.com/t-k/fluent-logger-golang/fluent/version.go b/vendor/github.com/t-k/fluent-logger-golang/fluent/version.go new file mode 100644 index 0000000..4ee1555 --- /dev/null +++ b/vendor/github.com/t-k/fluent-logger-golang/fluent/version.go @@ -0,0 +1,3 @@ +package fluent + +const Version = "0.5.1" diff --git a/vendor/github.com/tinylib/msgp/LICENSE b/vendor/github.com/tinylib/msgp/LICENSE new file mode 100644 index 0000000..14d6042 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/LICENSE @@ -0,0 +1,8 @@ +Copyright (c) 2014 Philip Hofer +Portions Copyright (c) 2009 The Go Authors (license at http://golang.org) where indicated + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/vendor/github.com/tinylib/msgp/msgp/advise_linux.go b/vendor/github.com/tinylib/msgp/msgp/advise_linux.go new file mode 100644 index 0000000..6c6bb37 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/advise_linux.go @@ -0,0 +1,24 @@ +// +build linux,!appengine + +package msgp + +import ( + "os" + "syscall" +) + +func adviseRead(mem []byte) { + syscall.Madvise(mem, syscall.MADV_SEQUENTIAL|syscall.MADV_WILLNEED) +} + +func adviseWrite(mem []byte) { + syscall.Madvise(mem, syscall.MADV_SEQUENTIAL) +} + +func fallocate(f *os.File, sz int64) error { + err := syscall.Fallocate(int(f.Fd()), 0, 0, sz) + if err == syscall.ENOTSUP { + return f.Truncate(sz) + } + return err +} diff --git a/vendor/github.com/tinylib/msgp/msgp/advise_other.go b/vendor/github.com/tinylib/msgp/msgp/advise_other.go new file mode 100644 index 0000000..da65ea5 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/advise_other.go @@ -0,0 +1,17 @@ +// +build !linux appengine + +package msgp + +import ( + "os" +) + +// TODO: darwin, BSD support + +func adviseRead(mem []byte) {} + +func adviseWrite(mem []byte) {} + +func fallocate(f *os.File, sz int64) error { + return f.Truncate(sz) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/appengine.go b/vendor/github.com/tinylib/msgp/msgp/appengine.go new file mode 100644 index 0000000..bff9e76 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/appengine.go @@ -0,0 +1,15 @@ +// +build appengine + +package msgp + +// let's just assume appengine +// uses 64-bit hardware... +const smallint = false + +func UnsafeString(b []byte) string { + return string(b) +} + +func UnsafeBytes(s string) []byte { + return []byte(s) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/circular.go b/vendor/github.com/tinylib/msgp/msgp/circular.go new file mode 100644 index 0000000..a0434c7 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/circular.go @@ -0,0 +1,39 @@ +package msgp + +type timer interface { + StartTimer() + StopTimer() +} + +// EndlessReader is an io.Reader +// that loops over the same data +// endlessly. It is used for benchmarking. +type EndlessReader struct { + tb timer + data []byte + offset int +} + +// NewEndlessReader returns a new endless reader +func NewEndlessReader(b []byte, tb timer) *EndlessReader { + return &EndlessReader{tb: tb, data: b, offset: 0} +} + +// Read implements io.Reader. In practice, it +// always returns (len(p), nil), although it +// fills the supplied slice while the benchmark +// timer is stopped. +func (c *EndlessReader) Read(p []byte) (int, error) { + c.tb.StopTimer() + var n int + l := len(p) + m := len(c.data) + for n < l { + nn := copy(p[n:], c.data[c.offset:]) + n += nn + c.offset += nn + c.offset %= m + } + c.tb.StartTimer() + return n, nil +} diff --git a/vendor/github.com/tinylib/msgp/msgp/defs.go b/vendor/github.com/tinylib/msgp/msgp/defs.go new file mode 100644 index 0000000..c634eef --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/defs.go @@ -0,0 +1,142 @@ +// This package is the support library for the msgp code generator (http://github.com/tinylib/msgp). +// +// This package defines the utilites used by the msgp code generator for encoding and decoding MessagePack +// from []byte and io.Reader/io.Writer types. Much of this package is devoted to helping the msgp code +// generator implement the Marshaler/Unmarshaler and Encodable/Decodable interfaces. +// +// This package defines four "families" of functions: +// - AppendXxxx() appends an object to a []byte in MessagePack encoding. +// - ReadXxxxBytes() reads an object from a []byte and returns the remaining bytes. +// - (*Writer).WriteXxxx() writes an object to the buffered *Writer type. +// - (*Reader).ReadXxxx() reads an object from a buffered *Reader type. +// +// Once a type has satisfied the `Encodable` and `Decodable` interfaces, +// it can be written and read from arbitrary `io.Writer`s and `io.Reader`s using +// msgp.Encode(io.Writer, msgp.Encodable) +// and +// msgp.Decode(io.Reader, msgp.Decodable) +// +// There are also methods for converting MessagePack to JSON without +// an explicit de-serialization step. +// +// For additional tips, tricks, and gotchas, please visit +// the wiki at http://github.com/tinylib/msgp +package msgp + +const last4 = 0x0f +const first4 = 0xf0 +const last5 = 0x1f +const first3 = 0xe0 +const last7 = 0x7f + +func isfixint(b byte) bool { + return b>>7 == 0 +} + +func isnfixint(b byte) bool { + return b&first3 == mnfixint +} + +func isfixmap(b byte) bool { + return b&first4 == mfixmap +} + +func isfixarray(b byte) bool { + return b&first4 == mfixarray +} + +func isfixstr(b byte) bool { + return b&first3 == mfixstr +} + +func wfixint(u uint8) byte { + return u & last7 +} + +func rfixint(b byte) uint8 { + return b +} + +func wnfixint(i int8) byte { + return byte(i) | mnfixint +} + +func rnfixint(b byte) int8 { + return int8(b) +} + +func rfixmap(b byte) uint8 { + return b & last4 +} + +func wfixmap(u uint8) byte { + return mfixmap | (u & last4) +} + +func rfixstr(b byte) uint8 { + return b & last5 +} + +func wfixstr(u uint8) byte { + return (u & last5) | mfixstr +} + +func rfixarray(b byte) uint8 { + return (b & last4) +} + +func wfixarray(u uint8) byte { + return (u & last4) | mfixarray +} + +// These are all the byte +// prefixes defined by the +// msgpack standard +const ( + // 0XXXXXXX + mfixint uint8 = 0x00 + + // 111XXXXX + mnfixint uint8 = 0xe0 + + // 1000XXXX + mfixmap uint8 = 0x80 + + // 1001XXXX + mfixarray uint8 = 0x90 + + // 101XXXXX + mfixstr uint8 = 0xa0 + + mnil uint8 = 0xc0 + mfalse uint8 = 0xc2 + mtrue uint8 = 0xc3 + mbin8 uint8 = 0xc4 + mbin16 uint8 = 0xc5 + mbin32 uint8 = 0xc6 + mext8 uint8 = 0xc7 + mext16 uint8 = 0xc8 + mext32 uint8 = 0xc9 + mfloat32 uint8 = 0xca + mfloat64 uint8 = 0xcb + muint8 uint8 = 0xcc + muint16 uint8 = 0xcd + muint32 uint8 = 0xce + muint64 uint8 = 0xcf + mint8 uint8 = 0xd0 + mint16 uint8 = 0xd1 + mint32 uint8 = 0xd2 + mint64 uint8 = 0xd3 + mfixext1 uint8 = 0xd4 + mfixext2 uint8 = 0xd5 + mfixext4 uint8 = 0xd6 + mfixext8 uint8 = 0xd7 + mfixext16 uint8 = 0xd8 + mstr8 uint8 = 0xd9 + mstr16 uint8 = 0xda + mstr32 uint8 = 0xdb + marray16 uint8 = 0xdc + marray32 uint8 = 0xdd + mmap16 uint8 = 0xde + mmap32 uint8 = 0xdf +) diff --git a/vendor/github.com/tinylib/msgp/msgp/edit.go b/vendor/github.com/tinylib/msgp/msgp/edit.go new file mode 100644 index 0000000..41f9298 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/edit.go @@ -0,0 +1,241 @@ +package msgp + +import ( + "math" +) + +// Locate returns a []byte pointing to the field +// in a messagepack map with the provided key. (The returned []byte +// points to a sub-slice of 'raw'; Locate does no allocations.) If the +// key doesn't exist in the map, a zero-length []byte will be returned. +func Locate(key string, raw []byte) []byte { + s, n := locate(raw, key) + return raw[s:n] +} + +// Replace takes a key ("key") in a messagepack map ("raw") +// and replaces its value with the one provided and returns +// the new []byte. The returned []byte may point to the same +// memory as "raw". Replace makes no effort to evaluate the validity +// of the contents of 'val'. It may use up to the full capacity of 'raw.' +// Replace returns 'nil' if the field doesn't exist or if the object in 'raw' +// is not a map. +func Replace(key string, raw []byte, val []byte) []byte { + start, end := locate(raw, key) + if start == end { + return nil + } + return replace(raw, start, end, val, true) +} + +// CopyReplace works similarly to Replace except that the returned +// byte slice does not point to the same memory as 'raw'. CopyReplace +// returns 'nil' if the field doesn't exist or 'raw' isn't a map. +func CopyReplace(key string, raw []byte, val []byte) []byte { + start, end := locate(raw, key) + if start == end { + return nil + } + return replace(raw, start, end, val, false) +} + +// Remove removes a key-value pair from 'raw'. It returns +// 'raw' unchanged if the key didn't exist. +func Remove(key string, raw []byte) []byte { + start, end := locateKV(raw, key) + if start == end { + return raw + } + raw = raw[:start+copy(raw[start:], raw[end:])] + return resizeMap(raw, -1) +} + +// HasKey returns whether the map in 'raw' has +// a field with key 'key' +func HasKey(key string, raw []byte) bool { + sz, bts, err := ReadMapHeaderBytes(raw) + if err != nil { + return false + } + var field []byte + for i := uint32(0); i < sz; i++ { + field, bts, err = ReadStringZC(bts) + if err != nil { + return false + } + if UnsafeString(field) == key { + return true + } + } + return false +} + +func replace(raw []byte, start int, end int, val []byte, inplace bool) []byte { + ll := end - start // length of segment to replace + lv := len(val) + + if inplace { + extra := lv - ll + + // fastest case: we're doing + // a 1:1 replacement + if extra == 0 { + copy(raw[start:], val) + return raw + + } else if extra < 0 { + // 'val' smaller than replaced value + // copy in place and shift back + + x := copy(raw[start:], val) + y := copy(raw[start+x:], raw[end:]) + return raw[:start+x+y] + + } else if extra < cap(raw)-len(raw) { + // 'val' less than (cap-len) extra bytes + // copy in place and shift forward + raw = raw[0 : len(raw)+extra] + // shift end forward + copy(raw[end+extra:], raw[end:]) + copy(raw[start:], val) + return raw + } + } + + // we have to allocate new space + out := make([]byte, len(raw)+len(val)-ll) + x := copy(out, raw[:start]) + y := copy(out[x:], val) + copy(out[x+y:], raw[end:]) + return out +} + +// locate does a naive O(n) search for the map key; returns start, end +// (returns 0,0 on error) +func locate(raw []byte, key string) (start int, end int) { + var ( + sz uint32 + bts []byte + field []byte + err error + ) + sz, bts, err = ReadMapHeaderBytes(raw) + if err != nil { + return + } + + // loop and locate field + for i := uint32(0); i < sz; i++ { + field, bts, err = ReadStringZC(bts) + if err != nil { + return 0, 0 + } + if UnsafeString(field) == key { + // start location + l := len(raw) + start = l - len(bts) + bts, err = Skip(bts) + if err != nil { + return 0, 0 + } + end = l - len(bts) + return + } + bts, err = Skip(bts) + if err != nil { + return 0, 0 + } + } + return 0, 0 +} + +// locate key AND value +func locateKV(raw []byte, key string) (start int, end int) { + var ( + sz uint32 + bts []byte + field []byte + err error + ) + sz, bts, err = ReadMapHeaderBytes(raw) + if err != nil { + return 0, 0 + } + + for i := uint32(0); i < sz; i++ { + tmp := len(bts) + field, bts, err = ReadStringZC(bts) + if err != nil { + return 0, 0 + } + if UnsafeString(field) == key { + start = len(raw) - tmp + bts, err = Skip(bts) + if err != nil { + return 0, 0 + } + end = len(raw) - len(bts) + return + } + bts, err = Skip(bts) + if err != nil { + return 0, 0 + } + } + return 0, 0 +} + +// delta is delta on map size +func resizeMap(raw []byte, delta int64) []byte { + var sz int64 + switch raw[0] { + case mmap16: + sz = int64(big.Uint16(raw[1:])) + if sz+delta <= math.MaxUint16 { + big.PutUint16(raw[1:], uint16(sz+delta)) + return raw + } + if cap(raw)-len(raw) >= 2 { + raw = raw[0 : len(raw)+2] + copy(raw[5:], raw[3:]) + big.PutUint32(raw[1:], uint32(sz+delta)) + return raw + } + n := make([]byte, 0, len(raw)+5) + n = AppendMapHeader(n, uint32(sz+delta)) + return append(n, raw[3:]...) + + case mmap32: + sz = int64(big.Uint32(raw[1:])) + big.PutUint32(raw[1:], uint32(sz+delta)) + return raw + + default: + sz = int64(rfixmap(raw[0])) + if sz+delta < 16 { + raw[0] = wfixmap(uint8(sz + delta)) + return raw + } else if sz+delta <= math.MaxUint16 { + if cap(raw)-len(raw) >= 2 { + raw = raw[0 : len(raw)+2] + copy(raw[3:], raw[1:]) + raw[0] = mmap16 + big.PutUint16(raw[1:], uint16(sz+delta)) + return raw + } + n := make([]byte, 0, len(raw)+5) + n = AppendMapHeader(n, uint32(sz+delta)) + return append(n, raw[1:]...) + } + if cap(raw)-len(raw) >= 4 { + raw = raw[0 : len(raw)+4] + copy(raw[5:], raw[1:]) + raw[0] = mmap32 + big.PutUint32(raw[1:], uint32(sz+delta)) + return raw + } + n := make([]byte, 0, len(raw)+5) + n = AppendMapHeader(n, uint32(sz+delta)) + return append(n, raw[1:]...) + } +} diff --git a/vendor/github.com/tinylib/msgp/msgp/elsize.go b/vendor/github.com/tinylib/msgp/msgp/elsize.go new file mode 100644 index 0000000..95762e7 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/elsize.go @@ -0,0 +1,99 @@ +package msgp + +// size of every object on the wire, +// plus type information. gives us +// constant-time type information +// for traversing composite objects. +// +var sizes = [256]bytespec{ + mnil: {size: 1, extra: constsize, typ: NilType}, + mfalse: {size: 1, extra: constsize, typ: BoolType}, + mtrue: {size: 1, extra: constsize, typ: BoolType}, + mbin8: {size: 2, extra: extra8, typ: BinType}, + mbin16: {size: 3, extra: extra16, typ: BinType}, + mbin32: {size: 5, extra: extra32, typ: BinType}, + mext8: {size: 3, extra: extra8, typ: ExtensionType}, + mext16: {size: 4, extra: extra16, typ: ExtensionType}, + mext32: {size: 6, extra: extra32, typ: ExtensionType}, + mfloat32: {size: 5, extra: constsize, typ: Float32Type}, + mfloat64: {size: 9, extra: constsize, typ: Float64Type}, + muint8: {size: 2, extra: constsize, typ: UintType}, + muint16: {size: 3, extra: constsize, typ: UintType}, + muint32: {size: 5, extra: constsize, typ: UintType}, + muint64: {size: 9, extra: constsize, typ: UintType}, + mint8: {size: 2, extra: constsize, typ: IntType}, + mint16: {size: 3, extra: constsize, typ: IntType}, + mint32: {size: 5, extra: constsize, typ: IntType}, + mint64: {size: 9, extra: constsize, typ: IntType}, + mfixext1: {size: 3, extra: constsize, typ: ExtensionType}, + mfixext2: {size: 4, extra: constsize, typ: ExtensionType}, + mfixext4: {size: 6, extra: constsize, typ: ExtensionType}, + mfixext8: {size: 10, extra: constsize, typ: ExtensionType}, + mfixext16: {size: 18, extra: constsize, typ: ExtensionType}, + mstr8: {size: 2, extra: extra8, typ: StrType}, + mstr16: {size: 3, extra: extra16, typ: StrType}, + mstr32: {size: 5, extra: extra32, typ: StrType}, + marray16: {size: 3, extra: array16v, typ: ArrayType}, + marray32: {size: 5, extra: array32v, typ: ArrayType}, + mmap16: {size: 3, extra: map16v, typ: MapType}, + mmap32: {size: 5, extra: map32v, typ: MapType}, +} + +func init() { + // set up fixed fields + + // fixint + for i := mfixint; i < 0x80; i++ { + sizes[i] = bytespec{size: 1, extra: constsize, typ: IntType} + } + + // nfixint + for i := uint16(mnfixint); i < 0x100; i++ { + sizes[uint8(i)] = bytespec{size: 1, extra: constsize, typ: IntType} + } + + // fixstr gets constsize, + // since the prefix yields the size + for i := mfixstr; i < 0xc0; i++ { + sizes[i] = bytespec{size: 1 + rfixstr(i), extra: constsize, typ: StrType} + } + + // fixmap + for i := mfixmap; i < 0x90; i++ { + sizes[i] = bytespec{size: 1, extra: varmode(2 * rfixmap(i)), typ: MapType} + } + + // fixarray + for i := mfixarray; i < 0xa0; i++ { + sizes[i] = bytespec{size: 1, extra: varmode(rfixarray(i)), typ: ArrayType} + } +} + +// a valid bytespsec has +// non-zero 'size' and +// non-zero 'typ' +type bytespec struct { + size uint8 // prefix size information + extra varmode // extra size information + typ Type // type + _ byte // makes bytespec 4 bytes (yes, this matters) +} + +// size mode +// if positive, # elements for composites +type varmode int8 + +const ( + constsize varmode = 0 // constant size (size bytes + uint8(varmode) objects) + extra8 = -1 // has uint8(p[1]) extra bytes + extra16 = -2 // has be16(p[1:]) extra bytes + extra32 = -3 // has be32(p[1:]) extra bytes + map16v = -4 // use map16 + map32v = -5 // use map32 + array16v = -6 // use array16 + array32v = -7 // use array32 +) + +func getType(v byte) Type { + return sizes[v].typ +} diff --git a/vendor/github.com/tinylib/msgp/msgp/errors.go b/vendor/github.com/tinylib/msgp/msgp/errors.go new file mode 100644 index 0000000..5c24f27 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/errors.go @@ -0,0 +1,142 @@ +package msgp + +import ( + "fmt" + "reflect" +) + +var ( + // ErrShortBytes is returned when the + // slice being decoded is too short to + // contain the contents of the message + ErrShortBytes error = errShort{} + + // this error is only returned + // if we reach code that should + // be unreachable + fatal error = errFatal{} +) + +// Error is the interface satisfied +// by all of the errors that originate +// from this package. +type Error interface { + error + + // Resumable returns whether + // or not the error means that + // the stream of data is malformed + // and the information is unrecoverable. + Resumable() bool +} + +type errShort struct{} + +func (e errShort) Error() string { return "msgp: too few bytes left to read object" } +func (e errShort) Resumable() bool { return false } + +type errFatal struct{} + +func (f errFatal) Error() string { return "msgp: fatal decoding error (unreachable code)" } +func (f errFatal) Resumable() bool { return false } + +// ArrayError is an error returned +// when decoding a fix-sized array +// of the wrong size +type ArrayError struct { + Wanted uint32 + Got uint32 +} + +// Error implements the error interface +func (a ArrayError) Error() string { + return fmt.Sprintf("msgp: wanted array of size %d; got %d", a.Wanted, a.Got) +} + +// Resumable is always 'true' for ArrayErrors +func (a ArrayError) Resumable() bool { return true } + +// IntOverflow is returned when a call +// would downcast an integer to a type +// with too few bits to hold its value. +type IntOverflow struct { + Value int64 // the value of the integer + FailedBitsize int // the bit size that the int64 could not fit into +} + +// Error implements the error interface +func (i IntOverflow) Error() string { + return fmt.Sprintf("msgp: %d overflows int%d", i.Value, i.FailedBitsize) +} + +// Resumable is always 'true' for overflows +func (i IntOverflow) Resumable() bool { return true } + +// UintOverflow is returned when a call +// would downcast an unsigned integer to a type +// with too few bits to hold its value +type UintOverflow struct { + Value uint64 // value of the uint + FailedBitsize int // the bit size that couldn't fit the value +} + +// Error implements the error interface +func (u UintOverflow) Error() string { + return fmt.Sprintf("msgp: %d overflows uint%d", u.Value, u.FailedBitsize) +} + +// Resumable is always 'true' for overflows +func (u UintOverflow) Resumable() bool { return true } + +// A TypeError is returned when a particular +// decoding method is unsuitable for decoding +// a particular MessagePack value. +type TypeError struct { + Method Type // Type expected by method + Encoded Type // Type actually encoded +} + +// Error implements the error interface +func (t TypeError) Error() string { + return fmt.Sprintf("msgp: attempted to decode type %q with method for %q", t.Encoded, t.Method) +} + +// Resumable returns 'true' for TypeErrors +func (t TypeError) Resumable() bool { return true } + +// returns either InvalidPrefixError or +// TypeError depending on whether or not +// the prefix is recognized +func badPrefix(want Type, lead byte) error { + t := sizes[lead].typ + if t == InvalidType { + return InvalidPrefixError(lead) + } + return TypeError{Method: want, Encoded: t} +} + +// InvalidPrefixError is returned when a bad encoding +// uses a prefix that is not recognized in the MessagePack standard. +// This kind of error is unrecoverable. +type InvalidPrefixError byte + +// Error implements the error interface +func (i InvalidPrefixError) Error() string { + return fmt.Sprintf("msgp: unrecognized type prefix 0x%x", byte(i)) +} + +// Resumable returns 'false' for InvalidPrefixErrors +func (i InvalidPrefixError) Resumable() bool { return false } + +// ErrUnsupportedType is returned +// when a bad argument is supplied +// to a function that takes `interface{}`. +type ErrUnsupportedType struct { + T reflect.Type +} + +// Error implements error +func (e *ErrUnsupportedType) Error() string { return fmt.Sprintf("msgp: type %q not supported", e.T) } + +// Resumable returns 'true' for ErrUnsupportedType +func (e *ErrUnsupportedType) Resumable() bool { return true } diff --git a/vendor/github.com/tinylib/msgp/msgp/extension.go b/vendor/github.com/tinylib/msgp/msgp/extension.go new file mode 100644 index 0000000..588b18f --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/extension.go @@ -0,0 +1,548 @@ +package msgp + +import ( + "fmt" + "math" +) + +const ( + // Complex64Extension is the extension number used for complex64 + Complex64Extension = 3 + + // Complex128Extension is the extension number used for complex128 + Complex128Extension = 4 + + // TimeExtension is the extension number used for time.Time + TimeExtension = 5 +) + +// our extensions live here +var extensionReg = make(map[int8]func() Extension) + +// RegisterExtension registers extensions so that they +// can be initialized and returned by methods that +// decode `interface{}` values. This should only +// be called during initialization. f() should return +// a newly-initialized zero value of the extension. Keep in +// mind that extensions 3, 4, and 5 are reserved for +// complex64, complex128, and time.Time, respectively, +// and that MessagePack reserves extension types from -127 to -1. +// +// For example, if you wanted to register a user-defined struct: +// +// msgp.RegisterExtension(10, func() msgp.Extension { &MyExtension{} }) +// +// RegisterExtension will panic if you call it multiple times +// with the same 'typ' argument, or if you use a reserved +// type (3, 4, or 5). +func RegisterExtension(typ int8, f func() Extension) { + switch typ { + case Complex64Extension, Complex128Extension, TimeExtension: + panic(fmt.Sprint("msgp: forbidden extension type:", typ)) + } + if _, ok := extensionReg[typ]; ok { + panic(fmt.Sprint("msgp: RegisterExtension() called with typ", typ, "more than once")) + } + extensionReg[typ] = f +} + +// ExtensionTypeError is an error type returned +// when there is a mis-match between an extension type +// and the type encoded on the wire +type ExtensionTypeError struct { + Got int8 + Want int8 +} + +// Error implements the error interface +func (e ExtensionTypeError) Error() string { + return fmt.Sprintf("msgp: error decoding extension: wanted type %d; got type %d", e.Want, e.Got) +} + +// Resumable returns 'true' for ExtensionTypeErrors +func (e ExtensionTypeError) Resumable() bool { return true } + +func errExt(got int8, wanted int8) error { + return ExtensionTypeError{Got: got, Want: wanted} +} + +// Extension is the interface fulfilled +// by types that want to define their +// own binary encoding. +type Extension interface { + // ExtensionType should return + // a int8 that identifies the concrete + // type of the extension. (Types <0 are + // officially reserved by the MessagePack + // specifications.) + ExtensionType() int8 + + // Len should return the length + // of the data to be encoded + Len() int + + // MarshalBinaryTo should copy + // the data into the supplied slice, + // assuming that the slice has length Len() + MarshalBinaryTo([]byte) error + + UnmarshalBinary([]byte) error +} + +// RawExtension implements the Extension interface +type RawExtension struct { + Data []byte + Type int8 +} + +// ExtensionType implements Extension.ExtensionType, and returns r.Type +func (r *RawExtension) ExtensionType() int8 { return r.Type } + +// Len implements Extension.Len, and returns len(r.Data) +func (r *RawExtension) Len() int { return len(r.Data) } + +// MarshalBinaryTo implements Extension.MarshalBinaryTo, +// and returns a copy of r.Data +func (r *RawExtension) MarshalBinaryTo(d []byte) error { + copy(d, r.Data) + return nil +} + +// UnmarshalBinary implements Extension.UnmarshalBinary, +// and sets r.Data to the contents of the provided slice +func (r *RawExtension) UnmarshalBinary(b []byte) error { + if cap(r.Data) >= len(b) { + r.Data = r.Data[0:len(b)] + } else { + r.Data = make([]byte, len(b)) + } + copy(r.Data, b) + return nil +} + +// WriteExtension writes an extension type to the writer +func (mw *Writer) WriteExtension(e Extension) error { + l := e.Len() + var err error + switch l { + case 0: + o, err := mw.require(3) + if err != nil { + return err + } + mw.buf[o] = mext8 + mw.buf[o+1] = 0 + mw.buf[o+2] = byte(e.ExtensionType()) + case 1: + o, err := mw.require(2) + if err != nil { + return err + } + mw.buf[o] = mfixext1 + mw.buf[o+1] = byte(e.ExtensionType()) + case 2: + o, err := mw.require(2) + if err != nil { + return err + } + mw.buf[o] = mfixext2 + mw.buf[o+1] = byte(e.ExtensionType()) + case 4: + o, err := mw.require(2) + if err != nil { + return err + } + mw.buf[o] = mfixext4 + mw.buf[o+1] = byte(e.ExtensionType()) + case 8: + o, err := mw.require(2) + if err != nil { + return err + } + mw.buf[o] = mfixext8 + mw.buf[o+1] = byte(e.ExtensionType()) + case 16: + o, err := mw.require(2) + if err != nil { + return err + } + mw.buf[o] = mfixext16 + mw.buf[o+1] = byte(e.ExtensionType()) + default: + switch { + case l < math.MaxUint8: + o, err := mw.require(3) + if err != nil { + return err + } + mw.buf[o] = mext8 + mw.buf[o+1] = byte(uint8(l)) + mw.buf[o+2] = byte(e.ExtensionType()) + case l < math.MaxUint16: + o, err := mw.require(4) + if err != nil { + return err + } + mw.buf[o] = mext16 + big.PutUint16(mw.buf[o+1:], uint16(l)) + mw.buf[o+3] = byte(e.ExtensionType()) + default: + o, err := mw.require(6) + if err != nil { + return err + } + mw.buf[o] = mext32 + big.PutUint32(mw.buf[o+1:], uint32(l)) + mw.buf[o+5] = byte(e.ExtensionType()) + } + } + // we can only write directly to the + // buffer if we're sure that it + // fits the object + if l <= mw.bufsize() { + o, err := mw.require(l) + if err != nil { + return err + } + return e.MarshalBinaryTo(mw.buf[o:]) + } + // here we create a new buffer + // just large enough for the body + // and save it as the write buffer + err = mw.flush() + if err != nil { + return err + } + buf := make([]byte, l) + err = e.MarshalBinaryTo(buf) + if err != nil { + return err + } + mw.buf = buf + mw.wloc = l + return nil +} + +// peek at the extension type, assuming the next +// kind to be read is Extension +func (m *Reader) peekExtensionType() (int8, error) { + p, err := m.R.Peek(2) + if err != nil { + return 0, err + } + spec := sizes[p[0]] + if spec.typ != ExtensionType { + return 0, badPrefix(ExtensionType, p[0]) + } + if spec.extra == constsize { + return int8(p[1]), nil + } + size := spec.size + p, err = m.R.Peek(int(size)) + if err != nil { + return 0, err + } + return int8(p[size-1]), nil +} + +// peekExtension peeks at the extension encoding type +// (must guarantee at least 1 byte in 'b') +func peekExtension(b []byte) (int8, error) { + spec := sizes[b[0]] + size := spec.size + if spec.typ != ExtensionType { + return 0, badPrefix(ExtensionType, b[0]) + } + if len(b) < int(size) { + return 0, ErrShortBytes + } + // for fixed extensions, + // the type information is in + // the second byte + if spec.extra == constsize { + return int8(b[1]), nil + } + // otherwise, it's in the last + // part of the prefix + return int8(b[size-1]), nil +} + +// ReadExtension reads the next object from the reader +// as an extension. ReadExtension will fail if the next +// object in the stream is not an extension, or if +// e.Type() is not the same as the wire type. +func (m *Reader) ReadExtension(e Extension) (err error) { + var p []byte + p, err = m.R.Peek(2) + if err != nil { + return + } + lead := p[0] + var read int + var off int + switch lead { + case mfixext1: + if int8(p[1]) != e.ExtensionType() { + err = errExt(int8(p[1]), e.ExtensionType()) + return + } + p, err = m.R.Peek(3) + if err != nil { + return + } + err = e.UnmarshalBinary(p[2:]) + if err == nil { + _, err = m.R.Skip(3) + } + return + + case mfixext2: + if int8(p[1]) != e.ExtensionType() { + err = errExt(int8(p[1]), e.ExtensionType()) + return + } + p, err = m.R.Peek(4) + if err != nil { + return + } + err = e.UnmarshalBinary(p[2:]) + if err == nil { + _, err = m.R.Skip(4) + } + return + + case mfixext4: + if int8(p[1]) != e.ExtensionType() { + err = errExt(int8(p[1]), e.ExtensionType()) + return + } + p, err = m.R.Peek(6) + if err != nil { + return + } + err = e.UnmarshalBinary(p[2:]) + if err == nil { + _, err = m.R.Skip(6) + } + return + + case mfixext8: + if int8(p[1]) != e.ExtensionType() { + err = errExt(int8(p[1]), e.ExtensionType()) + return + } + p, err = m.R.Peek(10) + if err != nil { + return + } + err = e.UnmarshalBinary(p[2:]) + if err == nil { + _, err = m.R.Skip(10) + } + return + + case mfixext16: + if int8(p[1]) != e.ExtensionType() { + err = errExt(int8(p[1]), e.ExtensionType()) + return + } + p, err = m.R.Peek(18) + if err != nil { + return + } + err = e.UnmarshalBinary(p[2:]) + if err == nil { + _, err = m.R.Skip(18) + } + return + + case mext8: + p, err = m.R.Peek(3) + if err != nil { + return + } + if int8(p[2]) != e.ExtensionType() { + err = errExt(int8(p[2]), e.ExtensionType()) + return + } + read = int(uint8(p[1])) + off = 3 + + case mext16: + p, err = m.R.Peek(4) + if err != nil { + return + } + if int8(p[3]) != e.ExtensionType() { + err = errExt(int8(p[3]), e.ExtensionType()) + return + } + read = int(big.Uint16(p[1:])) + off = 4 + + case mext32: + p, err = m.R.Peek(6) + if err != nil { + return + } + if int8(p[5]) != e.ExtensionType() { + err = errExt(int8(p[5]), e.ExtensionType()) + return + } + read = int(big.Uint32(p[1:])) + off = 6 + + default: + err = badPrefix(ExtensionType, lead) + return + } + + p, err = m.R.Peek(read + off) + if err != nil { + return + } + err = e.UnmarshalBinary(p[off:]) + if err == nil { + _, err = m.R.Skip(read + off) + } + return +} + +// AppendExtension appends a MessagePack extension to the provided slice +func AppendExtension(b []byte, e Extension) ([]byte, error) { + l := e.Len() + var o []byte + var n int + switch l { + case 0: + o, n = ensure(b, 3) + o[n] = mext8 + o[n+1] = 0 + o[n+2] = byte(e.ExtensionType()) + return o[:n+3], nil + case 1: + o, n = ensure(b, 3) + o[n] = mfixext1 + o[n+1] = byte(e.ExtensionType()) + n += 2 + case 2: + o, n = ensure(b, 4) + o[n] = mfixext2 + o[n+1] = byte(e.ExtensionType()) + n += 2 + case 4: + o, n = ensure(b, 6) + o[n] = mfixext4 + o[n+1] = byte(e.ExtensionType()) + n += 2 + case 8: + o, n = ensure(b, 10) + o[n] = mfixext8 + o[n+1] = byte(e.ExtensionType()) + n += 2 + case 16: + o, n = ensure(b, 18) + o[n] = mfixext16 + o[n+1] = byte(e.ExtensionType()) + n += 2 + } + switch { + case l < math.MaxUint8: + o, n = ensure(b, l+3) + o[n] = mext8 + o[n+1] = byte(uint8(l)) + o[n+2] = byte(e.ExtensionType()) + n += 3 + case l < math.MaxUint16: + o, n = ensure(b, l+4) + o[n] = mext16 + big.PutUint16(o[n+1:], uint16(l)) + o[n+3] = byte(e.ExtensionType()) + n += 4 + default: + o, n = ensure(b, l+6) + o[n] = mext32 + big.PutUint32(o[n+1:], uint32(l)) + o[n+5] = byte(e.ExtensionType()) + n += 6 + } + return o, e.MarshalBinaryTo(o[n:]) +} + +// ReadExtensionBytes reads an extension from 'b' into 'e' +// and returns any remaining bytes. +// Possible errors: +// - ErrShortBytes ('b' not long enough) +// - ExtensionTypeErorr{} (wire type not the same as e.Type()) +// - TypeErorr{} (next object not an extension) +// - InvalidPrefixError +// - An umarshal error returned from e.UnmarshalBinary +func ReadExtensionBytes(b []byte, e Extension) ([]byte, error) { + l := len(b) + if l < 3 { + return b, ErrShortBytes + } + lead := b[0] + var ( + sz int // size of 'data' + off int // offset of 'data' + typ int8 + ) + switch lead { + case mfixext1: + typ = int8(b[1]) + sz = 1 + off = 2 + case mfixext2: + typ = int8(b[1]) + sz = 2 + off = 2 + case mfixext4: + typ = int8(b[1]) + sz = 4 + off = 2 + case mfixext8: + typ = int8(b[1]) + sz = 8 + off = 2 + case mfixext16: + typ = int8(b[1]) + sz = 16 + off = 2 + case mext8: + sz = int(uint8(b[1])) + typ = int8(b[2]) + off = 3 + if sz == 0 { + return b[3:], e.UnmarshalBinary(b[3:3]) + } + case mext16: + if l < 4 { + return b, ErrShortBytes + } + sz = int(big.Uint16(b[1:])) + typ = int8(b[3]) + off = 4 + case mext32: + if l < 6 { + return b, ErrShortBytes + } + sz = int(big.Uint32(b[1:])) + typ = int8(b[5]) + off = 6 + default: + return b, badPrefix(ExtensionType, lead) + } + + if typ != e.ExtensionType() { + return b, errExt(typ, e.ExtensionType()) + } + + // the data of the extension starts + // at 'off' and is 'sz' bytes long + if len(b[off:]) < sz { + return b, ErrShortBytes + } + tot := off + sz + return b[tot:], e.UnmarshalBinary(b[off:tot]) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/file.go b/vendor/github.com/tinylib/msgp/msgp/file.go new file mode 100644 index 0000000..cbbf56c --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/file.go @@ -0,0 +1,91 @@ +// +build linux,!appengine darwin dragonfly freebsd netbsd openbsd + +package msgp + +import ( + "os" + "syscall" +) + +// ReadFile reads a file into 'dst' using +// a read-only memory mapping. Consequently, +// the file must be mmap-able, and the +// Unmarshaler should never write to +// the source memory. (Methods generated +// by the msgp tool obey that constraint, but +// user-defined implementations may not.) +// +// Reading and writing through file mappings +// is only efficient for large files; small +// files are best read and written using +// the ordinary streaming interfaces. +// +func ReadFile(dst Unmarshaler, file *os.File) error { + stat, err := file.Stat() + if err != nil { + return err + } + data, err := syscall.Mmap(int(file.Fd()), 0, int(stat.Size()), syscall.PROT_READ, syscall.MAP_SHARED) + if err != nil { + return err + } + adviseRead(data) + _, err = dst.UnmarshalMsg(data) + uerr := syscall.Munmap(data) + if err == nil { + err = uerr + } + return err +} + +// MarshalSizer is the combination +// of the Marshaler and Sizer +// interfaces. +type MarshalSizer interface { + Marshaler + Sizer +} + +// WriteFile writes a file from 'src' using +// memory mapping. It overwrites the entire +// contents of the previous file. +// The mapping size is calculated +// using the `Msgsize()` method +// of 'src', so it must produce a result +// equal to or greater than the actual encoded +// size of the object. Otherwise, +// a fault (SIGBUS) will occur. +// +// Reading and writing through file mappings +// is only efficient for large files; small +// files are best read and written using +// the ordinary streaming interfaces. +// +// NOTE: The performance of this call +// is highly OS- and filesystem-dependent. +// Users should take care to test that this +// performs as expected in a production environment. +// (Linux users should run a kernel and filesystem +// that support fallocate(2) for the best results.) +func WriteFile(src MarshalSizer, file *os.File) error { + sz := src.Msgsize() + err := fallocate(file, int64(sz)) + if err != nil { + return err + } + data, err := syscall.Mmap(int(file.Fd()), 0, sz, syscall.PROT_READ|syscall.PROT_WRITE, syscall.MAP_SHARED) + if err != nil { + return err + } + adviseWrite(data) + chunk := data[:0] + chunk, err = src.MarshalMsg(chunk) + if err != nil { + return err + } + uerr := syscall.Munmap(data) + if uerr != nil { + return uerr + } + return file.Truncate(int64(len(chunk))) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/file_port.go b/vendor/github.com/tinylib/msgp/msgp/file_port.go new file mode 100644 index 0000000..6e654db --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/file_port.go @@ -0,0 +1,47 @@ +// +build windows appengine + +package msgp + +import ( + "io/ioutil" + "os" +) + +// MarshalSizer is the combination +// of the Marshaler and Sizer +// interfaces. +type MarshalSizer interface { + Marshaler + Sizer +} + +func ReadFile(dst Unmarshaler, file *os.File) error { + if u, ok := dst.(Decodable); ok { + return u.DecodeMsg(NewReader(file)) + } + + data, err := ioutil.ReadAll(file) + if err != nil { + return err + } + _, err = dst.UnmarshalMsg(data) + return err +} + +func WriteFile(src MarshalSizer, file *os.File) error { + if e, ok := src.(Encodable); ok { + w := NewWriter(file) + err := e.EncodeMsg(w) + if err == nil { + err = w.Flush() + } + return err + } + + raw, err := src.MarshalMsg(nil) + if err != nil { + return err + } + _, err = file.Write(raw) + return err +} diff --git a/vendor/github.com/tinylib/msgp/msgp/integers.go b/vendor/github.com/tinylib/msgp/msgp/integers.go new file mode 100644 index 0000000..f817d77 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/integers.go @@ -0,0 +1,174 @@ +package msgp + +/* ---------------------------------- + integer encoding utilities + (inline-able) + + TODO(tinylib): there are faster, + albeit non-portable solutions + to the code below. implement + byteswap? + ---------------------------------- */ + +func putMint64(b []byte, i int64) { + b[0] = mint64 + b[1] = byte(i >> 56) + b[2] = byte(i >> 48) + b[3] = byte(i >> 40) + b[4] = byte(i >> 32) + b[5] = byte(i >> 24) + b[6] = byte(i >> 16) + b[7] = byte(i >> 8) + b[8] = byte(i) +} + +func getMint64(b []byte) int64 { + return (int64(b[1]) << 56) | (int64(b[2]) << 48) | + (int64(b[3]) << 40) | (int64(b[4]) << 32) | + (int64(b[5]) << 24) | (int64(b[6]) << 16) | + (int64(b[7]) << 8) | (int64(b[8])) +} + +func putMint32(b []byte, i int32) { + b[0] = mint32 + b[1] = byte(i >> 24) + b[2] = byte(i >> 16) + b[3] = byte(i >> 8) + b[4] = byte(i) +} + +func getMint32(b []byte) int32 { + return (int32(b[1]) << 24) | (int32(b[2]) << 16) | (int32(b[3]) << 8) | (int32(b[4])) +} + +func putMint16(b []byte, i int16) { + b[0] = mint16 + b[1] = byte(i >> 8) + b[2] = byte(i) +} + +func getMint16(b []byte) (i int16) { + return (int16(b[1]) << 8) | int16(b[2]) +} + +func putMint8(b []byte, i int8) { + b[0] = mint8 + b[1] = byte(i) +} + +func getMint8(b []byte) (i int8) { + return int8(b[1]) +} + +func putMuint64(b []byte, u uint64) { + b[0] = muint64 + b[1] = byte(u >> 56) + b[2] = byte(u >> 48) + b[3] = byte(u >> 40) + b[4] = byte(u >> 32) + b[5] = byte(u >> 24) + b[6] = byte(u >> 16) + b[7] = byte(u >> 8) + b[8] = byte(u) +} + +func getMuint64(b []byte) uint64 { + return (uint64(b[1]) << 56) | (uint64(b[2]) << 48) | + (uint64(b[3]) << 40) | (uint64(b[4]) << 32) | + (uint64(b[5]) << 24) | (uint64(b[6]) << 16) | + (uint64(b[7]) << 8) | (uint64(b[8])) +} + +func putMuint32(b []byte, u uint32) { + b[0] = muint32 + b[1] = byte(u >> 24) + b[2] = byte(u >> 16) + b[3] = byte(u >> 8) + b[4] = byte(u) +} + +func getMuint32(b []byte) uint32 { + return (uint32(b[1]) << 24) | (uint32(b[2]) << 16) | (uint32(b[3]) << 8) | (uint32(b[4])) +} + +func putMuint16(b []byte, u uint16) { + b[0] = muint16 + b[1] = byte(u >> 8) + b[2] = byte(u) +} + +func getMuint16(b []byte) uint16 { + return (uint16(b[1]) << 8) | uint16(b[2]) +} + +func putMuint8(b []byte, u uint8) { + b[0] = muint8 + b[1] = byte(u) +} + +func getMuint8(b []byte) uint8 { + return uint8(b[1]) +} + +func getUnix(b []byte) (sec int64, nsec int32) { + sec = (int64(b[0]) << 56) | (int64(b[1]) << 48) | + (int64(b[2]) << 40) | (int64(b[3]) << 32) | + (int64(b[4]) << 24) | (int64(b[5]) << 16) | + (int64(b[6]) << 8) | (int64(b[7])) + + nsec = (int32(b[8]) << 24) | (int32(b[9]) << 16) | (int32(b[10]) << 8) | (int32(b[11])) + return +} + +func putUnix(b []byte, sec int64, nsec int32) { + b[0] = byte(sec >> 56) + b[1] = byte(sec >> 48) + b[2] = byte(sec >> 40) + b[3] = byte(sec >> 32) + b[4] = byte(sec >> 24) + b[5] = byte(sec >> 16) + b[6] = byte(sec >> 8) + b[7] = byte(sec) + b[8] = byte(nsec >> 24) + b[9] = byte(nsec >> 16) + b[10] = byte(nsec >> 8) + b[11] = byte(nsec) +} + +/* ----------------------------- + prefix utilities + ----------------------------- */ + +// write prefix and uint8 +func prefixu8(b []byte, pre byte, sz uint8) { + b[0] = pre + b[1] = byte(sz) +} + +// write prefix and big-endian uint16 +func prefixu16(b []byte, pre byte, sz uint16) { + b[0] = pre + b[1] = byte(sz >> 8) + b[2] = byte(sz) +} + +// write prefix and big-endian uint32 +func prefixu32(b []byte, pre byte, sz uint32) { + b[0] = pre + b[1] = byte(sz >> 24) + b[2] = byte(sz >> 16) + b[3] = byte(sz >> 8) + b[4] = byte(sz) +} + +func prefixu64(b []byte, pre byte, sz uint64) { + b[0] = pre + b[1] = byte(sz >> 56) + b[2] = byte(sz >> 48) + b[3] = byte(sz >> 40) + b[4] = byte(sz >> 32) + b[5] = byte(sz >> 24) + b[6] = byte(sz >> 16) + b[7] = byte(sz >> 8) + b[8] = byte(sz) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/json.go b/vendor/github.com/tinylib/msgp/msgp/json.go new file mode 100644 index 0000000..4325860 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/json.go @@ -0,0 +1,542 @@ +package msgp + +import ( + "bufio" + "encoding/base64" + "encoding/json" + "io" + "strconv" + "unicode/utf8" +) + +var ( + null = []byte("null") + hex = []byte("0123456789abcdef") +) + +var defuns [_maxtype]func(jsWriter, *Reader) (int, error) + +// note: there is an initialization loop if +// this isn't set up during init() +func init() { + // since none of these functions are inline-able, + // there is not much of a penalty to the indirect + // call. however, this is best expressed as a jump-table... + defuns = [_maxtype]func(jsWriter, *Reader) (int, error){ + StrType: rwString, + BinType: rwBytes, + MapType: rwMap, + ArrayType: rwArray, + Float64Type: rwFloat64, + Float32Type: rwFloat32, + BoolType: rwBool, + IntType: rwInt, + UintType: rwUint, + NilType: rwNil, + ExtensionType: rwExtension, + Complex64Type: rwExtension, + Complex128Type: rwExtension, + TimeType: rwTime, + } +} + +// this is the interface +// used to write json +type jsWriter interface { + io.Writer + io.ByteWriter + WriteString(string) (int, error) +} + +// CopyToJSON reads MessagePack from 'src' and copies it +// as JSON to 'dst' until EOF. +func CopyToJSON(dst io.Writer, src io.Reader) (n int64, err error) { + r := NewReader(src) + n, err = r.WriteToJSON(dst) + freeR(r) + return +} + +// WriteToJSON translates MessagePack from 'r' and writes it as +// JSON to 'w' until the underlying reader returns io.EOF. It returns +// the number of bytes written, and an error if it stopped before EOF. +func (r *Reader) WriteToJSON(w io.Writer) (n int64, err error) { + var j jsWriter + var bf *bufio.Writer + if jsw, ok := w.(jsWriter); ok { + j = jsw + } else { + bf = bufio.NewWriter(w) + j = bf + } + var nn int + for err == nil { + nn, err = rwNext(j, r) + n += int64(nn) + } + if err != io.EOF { + if bf != nil { + bf.Flush() + } + return + } + err = nil + if bf != nil { + err = bf.Flush() + } + return +} + +func rwNext(w jsWriter, src *Reader) (int, error) { + t, err := src.NextType() + if err != nil { + return 0, err + } + return defuns[t](w, src) +} + +func rwMap(dst jsWriter, src *Reader) (n int, err error) { + var comma bool + var sz uint32 + var field []byte + + sz, err = src.ReadMapHeader() + if err != nil { + return + } + + if sz == 0 { + return dst.WriteString("{}") + } + + err = dst.WriteByte('{') + if err != nil { + return + } + n++ + var nn int + for i := uint32(0); i < sz; i++ { + if comma { + err = dst.WriteByte(',') + if err != nil { + return + } + n++ + } + + field, err = src.ReadMapKeyPtr() + if err != nil { + return + } + nn, err = rwquoted(dst, field) + n += nn + if err != nil { + return + } + + err = dst.WriteByte(':') + if err != nil { + return + } + n++ + nn, err = rwNext(dst, src) + n += nn + if err != nil { + return + } + if !comma { + comma = true + } + } + + err = dst.WriteByte('}') + if err != nil { + return + } + n++ + return +} + +func rwArray(dst jsWriter, src *Reader) (n int, err error) { + err = dst.WriteByte('[') + if err != nil { + return + } + var sz uint32 + var nn int + sz, err = src.ReadArrayHeader() + if err != nil { + return + } + comma := false + for i := uint32(0); i < sz; i++ { + if comma { + err = dst.WriteByte(',') + if err != nil { + return + } + n++ + } + nn, err = rwNext(dst, src) + n += nn + if err != nil { + return + } + comma = true + } + + err = dst.WriteByte(']') + if err != nil { + return + } + n++ + return +} + +func rwNil(dst jsWriter, src *Reader) (int, error) { + err := src.ReadNil() + if err != nil { + return 0, err + } + return dst.Write(null) +} + +func rwFloat32(dst jsWriter, src *Reader) (int, error) { + f, err := src.ReadFloat32() + if err != nil { + return 0, err + } + src.scratch = strconv.AppendFloat(src.scratch[:0], float64(f), 'f', -1, 64) + return dst.Write(src.scratch) +} + +func rwFloat64(dst jsWriter, src *Reader) (int, error) { + f, err := src.ReadFloat64() + if err != nil { + return 0, err + } + src.scratch = strconv.AppendFloat(src.scratch[:0], f, 'f', -1, 32) + return dst.Write(src.scratch) +} + +func rwInt(dst jsWriter, src *Reader) (int, error) { + i, err := src.ReadInt64() + if err != nil { + return 0, err + } + src.scratch = strconv.AppendInt(src.scratch[:0], i, 10) + return dst.Write(src.scratch) +} + +func rwUint(dst jsWriter, src *Reader) (int, error) { + u, err := src.ReadUint64() + if err != nil { + return 0, err + } + src.scratch = strconv.AppendUint(src.scratch[:0], u, 10) + return dst.Write(src.scratch) +} + +func rwBool(dst jsWriter, src *Reader) (int, error) { + b, err := src.ReadBool() + if err != nil { + return 0, err + } + if b { + return dst.WriteString("true") + } + return dst.WriteString("false") +} + +func rwTime(dst jsWriter, src *Reader) (int, error) { + t, err := src.ReadTime() + if err != nil { + return 0, err + } + bts, err := t.MarshalJSON() + if err != nil { + return 0, err + } + return dst.Write(bts) +} + +func rwExtension(dst jsWriter, src *Reader) (n int, err error) { + et, err := src.peekExtensionType() + if err != nil { + return 0, err + } + + // registered extensions can override + // the JSON encoding + if j, ok := extensionReg[et]; ok { + var bts []byte + e := j() + err = src.ReadExtension(e) + if err != nil { + return + } + bts, err = json.Marshal(e) + if err != nil { + return + } + return dst.Write(bts) + } + + e := RawExtension{} + e.Type = et + err = src.ReadExtension(&e) + if err != nil { + return + } + + var nn int + err = dst.WriteByte('{') + if err != nil { + return + } + n++ + + nn, err = dst.WriteString(`"type:"`) + n += nn + if err != nil { + return + } + + src.scratch = strconv.AppendInt(src.scratch[0:0], int64(e.Type), 10) + nn, err = dst.Write(src.scratch) + n += nn + if err != nil { + return + } + + nn, err = dst.WriteString(`,"data":"`) + n += nn + if err != nil { + return + } + + enc := base64.NewEncoder(base64.StdEncoding, dst) + + nn, err = enc.Write(e.Data) + n += nn + if err != nil { + return + } + err = enc.Close() + if err != nil { + return + } + nn, err = dst.WriteString(`"}`) + n += nn + return +} + +func rwString(dst jsWriter, src *Reader) (n int, err error) { + var p []byte + p, err = src.R.Peek(1) + if err != nil { + return + } + lead := p[0] + var read int + + if isfixstr(lead) { + read = int(rfixstr(lead)) + src.R.Skip(1) + goto write + } + + switch lead { + case mstr8: + p, err = src.R.Next(2) + if err != nil { + return + } + read = int(uint8(p[1])) + case mstr16: + p, err = src.R.Next(3) + if err != nil { + return + } + read = int(big.Uint16(p[1:])) + case mstr32: + p, err = src.R.Next(5) + if err != nil { + return + } + read = int(big.Uint32(p[1:])) + default: + err = badPrefix(StrType, lead) + return + } +write: + p, err = src.R.Next(read) + if err != nil { + return + } + n, err = rwquoted(dst, p) + return +} + +func rwBytes(dst jsWriter, src *Reader) (n int, err error) { + var nn int + err = dst.WriteByte('"') + if err != nil { + return + } + n++ + src.scratch, err = src.ReadBytes(src.scratch[:0]) + if err != nil { + return + } + enc := base64.NewEncoder(base64.StdEncoding, dst) + nn, err = enc.Write(src.scratch) + n += nn + if err != nil { + return + } + err = enc.Close() + if err != nil { + return + } + err = dst.WriteByte('"') + if err != nil { + return + } + n++ + return +} + +// Below (c) The Go Authors, 2009-2014 +// Subject to the BSD-style license found at http://golang.org +// +// see: encoding/json/encode.go:(*encodeState).stringbytes() +func rwquoted(dst jsWriter, s []byte) (n int, err error) { + var nn int + err = dst.WriteByte('"') + if err != nil { + return + } + n++ + start := 0 + for i := 0; i < len(s); { + if b := s[i]; b < utf8.RuneSelf { + if 0x20 <= b && b != '\\' && b != '"' && b != '<' && b != '>' && b != '&' { + i++ + continue + } + if start < i { + nn, err = dst.Write(s[start:i]) + n += nn + if err != nil { + return + } + } + switch b { + case '\\', '"': + err = dst.WriteByte('\\') + if err != nil { + return + } + n++ + err = dst.WriteByte(b) + if err != nil { + return + } + n++ + case '\n': + err = dst.WriteByte('\\') + if err != nil { + return + } + n++ + err = dst.WriteByte('n') + if err != nil { + return + } + n++ + case '\r': + err = dst.WriteByte('\\') + if err != nil { + return + } + n++ + err = dst.WriteByte('r') + if err != nil { + return + } + n++ + default: + nn, err = dst.WriteString(`\u00`) + n += nn + if err != nil { + return + } + err = dst.WriteByte(hex[b>>4]) + if err != nil { + return + } + n++ + err = dst.WriteByte(hex[b&0xF]) + if err != nil { + return + } + n++ + } + i++ + start = i + continue + } + c, size := utf8.DecodeRune(s[i:]) + if c == utf8.RuneError && size == 1 { + if start < i { + nn, err = dst.Write(s[start:i]) + n += nn + if err != nil { + return + } + nn, err = dst.WriteString(`\ufffd`) + n += nn + if err != nil { + return + } + i += size + start = i + continue + } + } + if c == '\u2028' || c == '\u2029' { + if start < i { + nn, err = dst.Write(s[start:i]) + n += nn + if err != nil { + return + } + nn, err = dst.WriteString(`\u202`) + n += nn + if err != nil { + return + } + err = dst.WriteByte(hex[c&0xF]) + if err != nil { + return + } + n++ + } + } + i += size + } + if start < len(s) { + nn, err = dst.Write(s[start:]) + n += nn + if err != nil { + return + } + } + err = dst.WriteByte('"') + if err != nil { + return + } + n++ + return +} diff --git a/vendor/github.com/tinylib/msgp/msgp/json_bytes.go b/vendor/github.com/tinylib/msgp/msgp/json_bytes.go new file mode 100644 index 0000000..438caf5 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/json_bytes.go @@ -0,0 +1,363 @@ +package msgp + +import ( + "bufio" + "encoding/base64" + "encoding/json" + "io" + "strconv" + "time" +) + +var unfuns [_maxtype]func(jsWriter, []byte, []byte) ([]byte, []byte, error) + +func init() { + + // NOTE(pmh): this is best expressed as a jump table, + // but gc doesn't do that yet. revisit post-go1.5. + unfuns = [_maxtype]func(jsWriter, []byte, []byte) ([]byte, []byte, error){ + StrType: rwStringBytes, + BinType: rwBytesBytes, + MapType: rwMapBytes, + ArrayType: rwArrayBytes, + Float64Type: rwFloat64Bytes, + Float32Type: rwFloat32Bytes, + BoolType: rwBoolBytes, + IntType: rwIntBytes, + UintType: rwUintBytes, + NilType: rwNullBytes, + ExtensionType: rwExtensionBytes, + Complex64Type: rwExtensionBytes, + Complex128Type: rwExtensionBytes, + TimeType: rwTimeBytes, + } +} + +// UnmarshalAsJSON takes raw messagepack and writes +// it as JSON to 'w'. If an error is returned, the +// bytes not translated will also be returned. If +// no errors are encountered, the length of the returned +// slice will be zero. +func UnmarshalAsJSON(w io.Writer, msg []byte) ([]byte, error) { + var ( + scratch []byte + cast bool + dst jsWriter + err error + ) + if jsw, ok := w.(jsWriter); ok { + dst = jsw + cast = true + } else { + dst = bufio.NewWriterSize(w, 512) + } + for len(msg) > 0 && err == nil { + msg, scratch, err = writeNext(dst, msg, scratch) + } + if !cast && err == nil { + err = dst.(*bufio.Writer).Flush() + } + return msg, err +} + +func writeNext(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + if len(msg) < 1 { + return msg, scratch, ErrShortBytes + } + t := getType(msg[0]) + if t == InvalidType { + return msg, scratch, InvalidPrefixError(msg[0]) + } + if t == ExtensionType { + et, err := peekExtension(msg) + if err != nil { + return nil, scratch, err + } + if et == TimeExtension { + t = TimeType + } + } + return unfuns[t](w, msg, scratch) +} + +func rwArrayBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + sz, msg, err := ReadArrayHeaderBytes(msg) + if err != nil { + return msg, scratch, err + } + err = w.WriteByte('[') + if err != nil { + return msg, scratch, err + } + for i := uint32(0); i < sz; i++ { + if i != 0 { + err = w.WriteByte(',') + if err != nil { + return msg, scratch, err + } + } + msg, scratch, err = writeNext(w, msg, scratch) + if err != nil { + return msg, scratch, err + } + } + err = w.WriteByte(']') + return msg, scratch, err +} + +func rwMapBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + sz, msg, err := ReadMapHeaderBytes(msg) + if err != nil { + return msg, scratch, err + } + err = w.WriteByte('{') + if err != nil { + return msg, scratch, err + } + for i := uint32(0); i < sz; i++ { + if i != 0 { + err = w.WriteByte(',') + if err != nil { + return msg, scratch, err + } + } + msg, scratch, err = rwMapKeyBytes(w, msg, scratch) + if err != nil { + return msg, scratch, err + } + err = w.WriteByte(':') + if err != nil { + return msg, scratch, err + } + msg, scratch, err = writeNext(w, msg, scratch) + if err != nil { + return msg, scratch, err + } + } + err = w.WriteByte('}') + return msg, scratch, err +} + +func rwMapKeyBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + msg, scratch, err := rwStringBytes(w, msg, scratch) + if err != nil { + if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType { + return rwBytesBytes(w, msg, scratch) + } + } + return msg, scratch, err +} + +func rwStringBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + str, msg, err := ReadStringZC(msg) + if err != nil { + return msg, scratch, err + } + _, err = rwquoted(w, str) + return msg, scratch, err +} + +func rwBytesBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + bts, msg, err := ReadBytesZC(msg) + if err != nil { + return msg, scratch, err + } + l := base64.StdEncoding.EncodedLen(len(bts)) + if cap(scratch) >= l { + scratch = scratch[0:l] + } else { + scratch = make([]byte, l) + } + base64.StdEncoding.Encode(scratch, bts) + err = w.WriteByte('"') + if err != nil { + return msg, scratch, err + } + _, err = w.Write(scratch) + if err != nil { + return msg, scratch, err + } + err = w.WriteByte('"') + return msg, scratch, err +} + +func rwNullBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + msg, err := ReadNilBytes(msg) + if err != nil { + return msg, scratch, err + } + _, err = w.Write(null) + return msg, scratch, err +} + +func rwBoolBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + b, msg, err := ReadBoolBytes(msg) + if err != nil { + return msg, scratch, err + } + if b { + _, err = w.WriteString("true") + return msg, scratch, err + } + _, err = w.WriteString("false") + return msg, scratch, err +} + +func rwIntBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + i, msg, err := ReadInt64Bytes(msg) + if err != nil { + return msg, scratch, err + } + scratch = strconv.AppendInt(scratch[0:0], i, 10) + _, err = w.Write(scratch) + return msg, scratch, err +} + +func rwUintBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + u, msg, err := ReadUint64Bytes(msg) + if err != nil { + return msg, scratch, err + } + scratch = strconv.AppendUint(scratch[0:0], u, 10) + _, err = w.Write(scratch) + return msg, scratch, err +} + +func rwFloatBytes(w jsWriter, msg []byte, f64 bool, scratch []byte) ([]byte, []byte, error) { + var f float64 + var err error + var sz int + if f64 { + sz = 64 + f, msg, err = ReadFloat64Bytes(msg) + } else { + sz = 32 + var v float32 + v, msg, err = ReadFloat32Bytes(msg) + f = float64(v) + } + if err != nil { + return msg, scratch, err + } + scratch = strconv.AppendFloat(scratch, f, 'f', -1, sz) + _, err = w.Write(scratch) + return msg, scratch, err +} + +func rwFloat32Bytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + var f float32 + var err error + f, msg, err = ReadFloat32Bytes(msg) + if err != nil { + return msg, scratch, err + } + scratch = strconv.AppendFloat(scratch[:0], float64(f), 'f', -1, 32) + _, err = w.Write(scratch) + return msg, scratch, err +} + +func rwFloat64Bytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + var f float64 + var err error + f, msg, err = ReadFloat64Bytes(msg) + if err != nil { + return msg, scratch, err + } + scratch = strconv.AppendFloat(scratch[:0], f, 'f', -1, 64) + _, err = w.Write(scratch) + return msg, scratch, err +} + +func rwTimeBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + var t time.Time + var err error + t, msg, err = ReadTimeBytes(msg) + if err != nil { + return msg, scratch, err + } + bts, err := t.MarshalJSON() + if err != nil { + return msg, scratch, err + } + _, err = w.Write(bts) + return msg, scratch, err +} + +func rwExtensionBytes(w jsWriter, msg []byte, scratch []byte) ([]byte, []byte, error) { + var err error + var et int8 + et, err = peekExtension(msg) + if err != nil { + return msg, scratch, err + } + + // if it's time.Time + if et == TimeExtension { + var tm time.Time + tm, msg, err = ReadTimeBytes(msg) + if err != nil { + return msg, scratch, err + } + bts, err := tm.MarshalJSON() + if err != nil { + return msg, scratch, err + } + _, err = w.Write(bts) + return msg, scratch, err + } + + // if the extension is registered, + // use its canonical JSON form + if f, ok := extensionReg[et]; ok { + e := f() + msg, err = ReadExtensionBytes(msg, e) + if err != nil { + return msg, scratch, err + } + bts, err := json.Marshal(e) + if err != nil { + return msg, scratch, err + } + _, err = w.Write(bts) + return msg, scratch, err + } + + // otherwise, write `{"type": , "data": ""}` + r := RawExtension{} + r.Type = et + msg, err = ReadExtensionBytes(msg, &r) + if err != nil { + return msg, scratch, err + } + scratch, err = writeExt(w, r, scratch) + return msg, scratch, err +} + +func writeExt(w jsWriter, r RawExtension, scratch []byte) ([]byte, error) { + _, err := w.WriteString(`{"type":`) + if err != nil { + return scratch, err + } + scratch = strconv.AppendInt(scratch[0:0], int64(r.Type), 10) + _, err = w.Write(scratch) + if err != nil { + return scratch, err + } + _, err = w.WriteString(`,"data":"`) + if err != nil { + return scratch, err + } + l := base64.StdEncoding.EncodedLen(len(r.Data)) + if cap(scratch) >= l { + scratch = scratch[0:l] + } else { + scratch = make([]byte, l) + } + base64.StdEncoding.Encode(scratch, r.Data) + _, err = w.Write(scratch) + if err != nil { + return scratch, err + } + _, err = w.WriteString(`"}`) + return scratch, err +} diff --git a/vendor/github.com/tinylib/msgp/msgp/number.go b/vendor/github.com/tinylib/msgp/msgp/number.go new file mode 100644 index 0000000..ad07ef9 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/number.go @@ -0,0 +1,267 @@ +package msgp + +import ( + "math" + "strconv" +) + +// The portable parts of the Number implementation + +// Number can be +// an int64, uint64, float32, +// or float64 internally. +// It can decode itself +// from any of the native +// messagepack number types. +// The zero-value of Number +// is Int(0). Using the equality +// operator with Number compares +// both the type and the value +// of the number. +type Number struct { + // internally, this + // is just a tagged union. + // the raw bits of the number + // are stored the same way regardless. + bits uint64 + typ Type +} + +// AsInt sets the number to an int64. +func (n *Number) AsInt(i int64) { + + // we always store int(0) + // as {0, InvalidType} in + // order to preserve + // the behavior of the == operator + if i == 0 { + n.typ = InvalidType + n.bits = 0 + return + } + + n.typ = IntType + n.bits = uint64(i) +} + +// AsUint sets the number to a uint64. +func (n *Number) AsUint(u uint64) { + n.typ = UintType + n.bits = u +} + +// AsFloat32 sets the value of the number +// to a float32. +func (n *Number) AsFloat32(f float32) { + n.typ = Float32Type + n.bits = uint64(math.Float32bits(f)) +} + +// AsFloat64 sets the value of the +// number to a float64. +func (n *Number) AsFloat64(f float64) { + n.typ = Float64Type + n.bits = math.Float64bits(f) +} + +// Int casts the number as an int64, and +// returns whether or not that was the +// underlying type. +func (n *Number) Int() (int64, bool) { + return int64(n.bits), n.typ == IntType || n.typ == InvalidType +} + +// Uint casts the number as a uint64, and returns +// whether or not that was the underlying type. +func (n *Number) Uint() (uint64, bool) { + return n.bits, n.typ == UintType +} + +// Float casts the number to a float64, and +// returns whether or not that was the underlying +// type (either a float64 or a float32). +func (n *Number) Float() (float64, bool) { + switch n.typ { + case Float32Type: + return float64(math.Float32frombits(uint32(n.bits))), true + case Float64Type: + return math.Float64frombits(n.bits), true + default: + return 0.0, false + } +} + +// Type will return one of: +// Float64Type, Float32Type, UintType, or IntType. +func (n *Number) Type() Type { + if n.typ == InvalidType { + return IntType + } + return n.typ +} + +// DecodeMsg implements msgp.Decodable +func (n *Number) DecodeMsg(r *Reader) error { + typ, err := r.NextType() + if err != nil { + return err + } + switch typ { + case Float32Type: + f, err := r.ReadFloat32() + if err != nil { + return err + } + n.AsFloat32(f) + return nil + case Float64Type: + f, err := r.ReadFloat64() + if err != nil { + return err + } + n.AsFloat64(f) + return nil + case IntType: + i, err := r.ReadInt64() + if err != nil { + return err + } + n.AsInt(i) + return nil + case UintType: + u, err := r.ReadUint64() + if err != nil { + return err + } + n.AsUint(u) + return nil + default: + return TypeError{Encoded: typ, Method: IntType} + } +} + +// UnmarshalMsg implements msgp.Unmarshaler +func (n *Number) UnmarshalMsg(b []byte) ([]byte, error) { + typ := NextType(b) + switch typ { + case IntType: + i, o, err := ReadInt64Bytes(b) + if err != nil { + return b, err + } + n.AsInt(i) + return o, nil + case UintType: + u, o, err := ReadUint64Bytes(b) + if err != nil { + return b, err + } + n.AsUint(u) + return o, nil + case Float64Type: + f, o, err := ReadFloat64Bytes(b) + if err != nil { + return b, err + } + n.AsFloat64(f) + return o, nil + case Float32Type: + f, o, err := ReadFloat32Bytes(b) + if err != nil { + return b, err + } + n.AsFloat32(f) + return o, nil + default: + return b, TypeError{Method: IntType, Encoded: typ} + } +} + +// MarshalMsg implements msgp.Marshaler +func (n *Number) MarshalMsg(b []byte) ([]byte, error) { + switch n.typ { + case IntType: + return AppendInt64(b, int64(n.bits)), nil + case UintType: + return AppendUint64(b, uint64(n.bits)), nil + case Float64Type: + return AppendFloat64(b, math.Float64frombits(n.bits)), nil + case Float32Type: + return AppendFloat32(b, math.Float32frombits(uint32(n.bits))), nil + default: + return AppendInt64(b, 0), nil + } +} + +// EncodeMsg implements msgp.Encodable +func (n *Number) EncodeMsg(w *Writer) error { + switch n.typ { + case IntType: + return w.WriteInt64(int64(n.bits)) + case UintType: + return w.WriteUint64(n.bits) + case Float64Type: + return w.WriteFloat64(math.Float64frombits(n.bits)) + case Float32Type: + return w.WriteFloat32(math.Float32frombits(uint32(n.bits))) + default: + return w.WriteInt64(0) + } +} + +// Msgsize implements msgp.Sizer +func (n *Number) Msgsize() int { + switch n.typ { + case Float32Type: + return Float32Size + case Float64Type: + return Float64Size + case IntType: + return Int64Size + case UintType: + return Uint64Size + default: + return 1 // fixint(0) + } +} + +// MarshalJSON implements json.Marshaler +func (n *Number) MarshalJSON() ([]byte, error) { + t := n.Type() + if t == InvalidType { + return []byte{'0'}, nil + } + out := make([]byte, 0, 32) + switch t { + case Float32Type, Float64Type: + f, _ := n.Float() + return strconv.AppendFloat(out, f, 'f', -1, 64), nil + case IntType: + i, _ := n.Int() + return strconv.AppendInt(out, i, 10), nil + case UintType: + u, _ := n.Uint() + return strconv.AppendUint(out, u, 10), nil + default: + panic("(*Number).typ is invalid") + } +} + +// String implements fmt.Stringer +func (n *Number) String() string { + switch n.typ { + case InvalidType: + return "0" + case Float32Type, Float64Type: + f, _ := n.Float() + return strconv.FormatFloat(f, 'f', -1, 64) + case IntType: + i, _ := n.Int() + return strconv.FormatInt(i, 10) + case UintType: + u, _ := n.Uint() + return strconv.FormatUint(u, 10) + default: + panic("(*Number).typ is invalid") + } +} diff --git a/vendor/github.com/tinylib/msgp/msgp/read.go b/vendor/github.com/tinylib/msgp/msgp/read.go new file mode 100644 index 0000000..a493f94 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/read.go @@ -0,0 +1,1213 @@ +package msgp + +import ( + "io" + "math" + "sync" + "time" + + "github.com/philhofer/fwd" +) + +// where we keep old *Readers +var readerPool = sync.Pool{New: func() interface{} { return &Reader{} }} + +// Type is a MessagePack wire type, +// including this package's built-in +// extension types. +type Type byte + +// MessagePack Types +// +// The zero value of Type +// is InvalidType. +const ( + InvalidType Type = iota + + // MessagePack built-in types + + StrType + BinType + MapType + ArrayType + Float64Type + Float32Type + BoolType + IntType + UintType + NilType + ExtensionType + + // pseudo-types provided + // by extensions + + Complex64Type + Complex128Type + TimeType + + _maxtype +) + +// String implements fmt.Stringer +func (t Type) String() string { + switch t { + case StrType: + return "str" + case BinType: + return "bin" + case MapType: + return "map" + case ArrayType: + return "array" + case Float64Type: + return "float64" + case Float32Type: + return "float32" + case BoolType: + return "bool" + case UintType: + return "uint" + case IntType: + return "int" + case ExtensionType: + return "ext" + case NilType: + return "nil" + default: + return "" + } +} + +func freeR(m *Reader) { + readerPool.Put(m) +} + +// Unmarshaler is the interface fulfilled +// by objects that know how to unmarshal +// themselves from MessagePack. +// UnmarshalMsg unmarshals the object +// from binary, returing any leftover +// bytes and any errors encountered. +type Unmarshaler interface { + UnmarshalMsg([]byte) ([]byte, error) +} + +// Decodable is the interface fulfilled +// by objects that know how to read +// themselves from a *Reader. +type Decodable interface { + DecodeMsg(*Reader) error +} + +// Decode decodes 'd' from 'r'. +func Decode(r io.Reader, d Decodable) error { + rd := NewReader(r) + err := d.DecodeMsg(rd) + freeR(rd) + return err +} + +// NewReader returns a *Reader that +// reads from the provided reader. The +// reader will be buffered. +func NewReader(r io.Reader) *Reader { + p := readerPool.Get().(*Reader) + if p.R == nil { + p.R = fwd.NewReader(r) + } else { + p.R.Reset(r) + } + return p +} + +// NewReaderSize returns a *Reader with a buffer of the given size. +// (This is vastly preferable to passing the decoder a reader that is already buffered.) +func NewReaderSize(r io.Reader, sz int) *Reader { + return &Reader{R: fwd.NewReaderSize(r, sz)} +} + +// Reader wraps an io.Reader and provides +// methods to read MessagePack-encoded values +// from it. Readers are buffered. +type Reader struct { + // R is the buffered reader + // that the Reader uses + // to decode MessagePack. + // The Reader itself + // is stateless; all the + // buffering is done + // within R. + R *fwd.Reader + scratch []byte +} + +// Read implements `io.Reader` +func (m *Reader) Read(p []byte) (int, error) { + return m.R.Read(p) +} + +// ReadFull implements `io.ReadFull` +func (m *Reader) ReadFull(p []byte) (int, error) { + return m.R.ReadFull(p) +} + +// Reset resets the underlying reader. +func (m *Reader) Reset(r io.Reader) { m.R.Reset(r) } + +// Buffered returns the number of bytes currently in the read buffer. +func (m *Reader) Buffered() int { return m.R.Buffered() } + +// BufferSize returns the capacity of the read buffer. +func (m *Reader) BufferSize() int { return m.R.BufferSize() } + +// NextType returns the next object type to be decoded. +func (m *Reader) NextType() (Type, error) { + p, err := m.R.Peek(1) + if err != nil { + return InvalidType, err + } + t := getType(p[0]) + if t == InvalidType { + return t, InvalidPrefixError(p[0]) + } + if t == ExtensionType { + v, err := m.peekExtensionType() + if err != nil { + return InvalidType, err + } + switch v { + case Complex64Extension: + return Complex64Type, nil + case Complex128Extension: + return Complex128Type, nil + case TimeExtension: + return TimeType, nil + } + } + return t, nil +} + +// IsNil returns whether or not +// the next byte is a null messagepack byte +func (m *Reader) IsNil() bool { + p, err := m.R.Peek(1) + return err == nil && p[0] == mnil +} + +// returns (obj size, obj elements, error) +// only maps and arrays have non-zero obj elements +// +// use uintptr b/c it's guaranteed to be large enough +// to hold whatever we can fit in memory. +func getNextSize(r *fwd.Reader) (uintptr, uintptr, error) { + b, err := r.Peek(1) + if err != nil { + return 0, 0, err + } + lead := b[0] + spec := &sizes[lead] + size, mode := spec.size, spec.extra + if size == 0 { + return 0, 0, InvalidPrefixError(lead) + } + if mode >= 0 { + return uintptr(size), uintptr(mode), nil + } + b, err = r.Peek(int(size)) + if err != nil { + return 0, 0, err + } + switch mode { + case extra8: + return uintptr(size) + uintptr(b[1]), 0, nil + case extra16: + return uintptr(size) + uintptr(big.Uint16(b[1:])), 0, nil + case extra32: + return uintptr(size) + uintptr(big.Uint32(b[1:])), 0, nil + case map16v: + return uintptr(size), 2 * uintptr(big.Uint16(b[1:])), nil + case map32v: + return uintptr(size), 2 * uintptr(big.Uint32(b[1:])), nil + case array16v: + return uintptr(size), uintptr(big.Uint16(b[1:])), nil + case array32v: + return uintptr(size), uintptr(big.Uint32(b[1:])), nil + default: + return 0, 0, fatal + } +} + +// Skip skips over the next object, regardless of +// its type. If it is an array or map, the whole array +// or map will be skipped. +func (m *Reader) Skip() error { + var ( + v uintptr // bytes + o uintptr // objects + err error + p []byte + ) + + // we can use the faster + // method if we have enough + // buffered data + if m.R.Buffered() >= 5 { + p, err = m.R.Peek(5) + if err != nil { + return err + } + v, o, err = getSize(p) + if err != nil { + return err + } + } else { + v, o, err = getNextSize(m.R) + if err != nil { + return err + } + } + + // 'v' is always non-zero + // if err == nil + _, err = m.R.Skip(int(v)) + if err != nil { + return err + } + + // for maps and slices, skip elements + for x := uintptr(0); x < o; x++ { + err = m.Skip() + if err != nil { + return err + } + } + return nil +} + +// ReadMapHeader reads the next object +// as a map header and returns the size +// of the map and the number of bytes written. +// It will return a TypeError{} if the next +// object is not a map. +func (m *Reader) ReadMapHeader() (sz uint32, err error) { + var p []byte + var lead byte + p, err = m.R.Peek(1) + if err != nil { + return + } + lead = p[0] + if isfixmap(lead) { + sz = uint32(rfixmap(lead)) + _, err = m.R.Skip(1) + return + } + switch lead { + case mmap16: + p, err = m.R.Next(3) + if err != nil { + return + } + sz = uint32(big.Uint16(p[1:])) + return + case mmap32: + p, err = m.R.Next(5) + if err != nil { + return + } + sz = big.Uint32(p[1:]) + return + default: + err = badPrefix(MapType, lead) + return + } +} + +// ReadMapKey reads either a 'str' or 'bin' field from +// the reader and returns the value as a []byte. It uses +// scratch for storage if it is large enough. +func (m *Reader) ReadMapKey(scratch []byte) ([]byte, error) { + out, err := m.ReadStringAsBytes(scratch) + if err != nil { + if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType { + return m.ReadBytes(scratch) + } + return nil, err + } + return out, nil +} + +// MapKeyPtr returns a []byte pointing to the contents +// of a valid map key. The key cannot be empty, and it +// must be shorter than the total buffer size of the +// *Reader. Additionally, the returned slice is only +// valid until the next *Reader method call. Users +// should exercise extreme care when using this +// method; writing into the returned slice may +// corrupt future reads. +func (m *Reader) ReadMapKeyPtr() ([]byte, error) { + p, err := m.R.Peek(1) + if err != nil { + return nil, err + } + lead := p[0] + var read int + if isfixstr(lead) { + read = int(rfixstr(lead)) + m.R.Skip(1) + goto fill + } + switch lead { + case mstr8, mbin8: + p, err = m.R.Next(2) + if err != nil { + return nil, err + } + read = int(p[1]) + case mstr16, mbin16: + p, err = m.R.Next(3) + if err != nil { + return nil, err + } + read = int(big.Uint16(p[1:])) + case mstr32, mbin32: + p, err = m.R.Next(5) + if err != nil { + return nil, err + } + read = int(big.Uint32(p[1:])) + default: + return nil, badPrefix(StrType, lead) + } +fill: + if read == 0 { + return nil, ErrShortBytes + } + return m.R.Next(read) +} + +// ReadArrayHeader reads the next object as an +// array header and returns the size of the array +// and the number of bytes read. +func (m *Reader) ReadArrayHeader() (sz uint32, err error) { + var lead byte + var p []byte + p, err = m.R.Peek(1) + if err != nil { + return + } + lead = p[0] + if isfixarray(lead) { + sz = uint32(rfixarray(lead)) + _, err = m.R.Skip(1) + return + } + switch lead { + case marray16: + p, err = m.R.Next(3) + if err != nil { + return + } + sz = uint32(big.Uint16(p[1:])) + return + + case marray32: + p, err = m.R.Next(5) + if err != nil { + return + } + sz = big.Uint32(p[1:]) + return + + default: + err = badPrefix(ArrayType, lead) + return + } +} + +// ReadNil reads a 'nil' MessagePack byte from the reader +func (m *Reader) ReadNil() error { + p, err := m.R.Peek(1) + if err != nil { + return err + } + if p[0] != mnil { + return badPrefix(NilType, p[0]) + } + _, err = m.R.Skip(1) + return err +} + +// ReadFloat64 reads a float64 from the reader. +// (If the value on the wire is encoded as a float32, +// it will be up-cast to a float64.) +func (m *Reader) ReadFloat64() (f float64, err error) { + var p []byte + p, err = m.R.Peek(9) + if err != nil { + // we'll allow a coversion from float32 to float64, + // since we don't lose any precision + if err == io.EOF && len(p) > 0 && p[0] == mfloat32 { + ef, err := m.ReadFloat32() + return float64(ef), err + } + return + } + if p[0] != mfloat64 { + // see above + if p[0] == mfloat32 { + ef, err := m.ReadFloat32() + return float64(ef), err + } + err = badPrefix(Float64Type, p[0]) + return + } + f = math.Float64frombits(getMuint64(p)) + _, err = m.R.Skip(9) + return +} + +// ReadFloat32 reads a float32 from the reader +func (m *Reader) ReadFloat32() (f float32, err error) { + var p []byte + p, err = m.R.Peek(5) + if err != nil { + return + } + if p[0] != mfloat32 { + err = badPrefix(Float32Type, p[0]) + return + } + f = math.Float32frombits(getMuint32(p)) + _, err = m.R.Skip(5) + return +} + +// ReadBool reads a bool from the reader +func (m *Reader) ReadBool() (b bool, err error) { + var p []byte + p, err = m.R.Peek(1) + if err != nil { + return + } + switch p[0] { + case mtrue: + b = true + case mfalse: + default: + err = badPrefix(BoolType, p[0]) + return + } + _, err = m.R.Skip(1) + return +} + +// ReadInt64 reads an int64 from the reader +func (m *Reader) ReadInt64() (i int64, err error) { + var p []byte + var lead byte + p, err = m.R.Peek(1) + if err != nil { + return + } + lead = p[0] + + if isfixint(lead) { + i = int64(rfixint(lead)) + _, err = m.R.Skip(1) + return + } else if isnfixint(lead) { + i = int64(rnfixint(lead)) + _, err = m.R.Skip(1) + return + } + + switch lead { + case mint8: + p, err = m.R.Next(2) + if err != nil { + return + } + i = int64(getMint8(p)) + return + + case mint16: + p, err = m.R.Next(3) + if err != nil { + return + } + i = int64(getMint16(p)) + return + + case mint32: + p, err = m.R.Next(5) + if err != nil { + return + } + i = int64(getMint32(p)) + return + + case mint64: + p, err = m.R.Next(9) + if err != nil { + return + } + i = getMint64(p) + return + + default: + err = badPrefix(IntType, lead) + return + } +} + +// ReadInt32 reads an int32 from the reader +func (m *Reader) ReadInt32() (i int32, err error) { + var in int64 + in, err = m.ReadInt64() + if in > math.MaxInt32 || in < math.MinInt32 { + err = IntOverflow{Value: in, FailedBitsize: 32} + return + } + i = int32(in) + return +} + +// ReadInt16 reads an int16 from the reader +func (m *Reader) ReadInt16() (i int16, err error) { + var in int64 + in, err = m.ReadInt64() + if in > math.MaxInt16 || in < math.MinInt16 { + err = IntOverflow{Value: in, FailedBitsize: 16} + return + } + i = int16(in) + return +} + +// ReadInt8 reads an int8 from the reader +func (m *Reader) ReadInt8() (i int8, err error) { + var in int64 + in, err = m.ReadInt64() + if in > math.MaxInt8 || in < math.MinInt8 { + err = IntOverflow{Value: in, FailedBitsize: 8} + return + } + i = int8(in) + return +} + +// ReadInt reads an int from the reader +func (m *Reader) ReadInt() (i int, err error) { + if smallint { + var in int32 + in, err = m.ReadInt32() + i = int(in) + return + } + var in int64 + in, err = m.ReadInt64() + i = int(in) + return +} + +// ReadUint64 reads a uint64 from the reader +func (m *Reader) ReadUint64() (u uint64, err error) { + var p []byte + var lead byte + p, err = m.R.Peek(1) + if err != nil { + return + } + lead = p[0] + if isfixint(lead) { + u = uint64(rfixint(lead)) + _, err = m.R.Skip(1) + return + } + switch lead { + case muint8: + p, err = m.R.Next(2) + if err != nil { + return + } + u = uint64(getMuint8(p)) + return + + case muint16: + p, err = m.R.Next(3) + if err != nil { + return + } + u = uint64(getMuint16(p)) + return + + case muint32: + p, err = m.R.Next(5) + if err != nil { + return + } + u = uint64(getMuint32(p)) + return + + case muint64: + p, err = m.R.Next(9) + if err != nil { + return + } + u = getMuint64(p) + return + + default: + err = badPrefix(UintType, lead) + return + + } +} + +// ReadUint32 reads a uint32 from the reader +func (m *Reader) ReadUint32() (u uint32, err error) { + var in uint64 + in, err = m.ReadUint64() + if in > math.MaxUint32 { + err = UintOverflow{Value: in, FailedBitsize: 32} + return + } + u = uint32(in) + return +} + +// ReadUint16 reads a uint16 from the reader +func (m *Reader) ReadUint16() (u uint16, err error) { + var in uint64 + in, err = m.ReadUint64() + if in > math.MaxUint16 { + err = UintOverflow{Value: in, FailedBitsize: 16} + return + } + u = uint16(in) + return +} + +// ReadUint8 reads a uint8 from the reader +func (m *Reader) ReadUint8() (u uint8, err error) { + var in uint64 + in, err = m.ReadUint64() + if in > math.MaxUint8 { + err = UintOverflow{Value: in, FailedBitsize: 8} + return + } + u = uint8(in) + return +} + +// ReadUint reads a uint from the reader +func (m *Reader) ReadUint() (u uint, err error) { + if smallint { + var un uint32 + un, err = m.ReadUint32() + u = uint(un) + return + } + var un uint64 + un, err = m.ReadUint64() + u = uint(un) + return +} + +// ReadByte is analogous to ReadUint8. +// +// NOTE: this is *not* an implementation +// of io.ByteReader. +func (m *Reader) ReadByte() (b byte, err error) { + var in uint64 + in, err = m.ReadUint64() + if in > math.MaxUint8 { + err = UintOverflow{Value: in, FailedBitsize: 8} + return + } + b = byte(in) + return +} + +// ReadBytes reads a MessagePack 'bin' object +// from the reader and returns its value. It may +// use 'scratch' for storage if it is non-nil. +func (m *Reader) ReadBytes(scratch []byte) (b []byte, err error) { + var p []byte + var lead byte + p, err = m.R.Peek(2) + if err != nil { + return + } + lead = p[0] + var read int64 + switch lead { + case mbin8: + read = int64(p[1]) + m.R.Skip(2) + case mbin16: + p, err = m.R.Next(3) + if err != nil { + return + } + read = int64(big.Uint16(p[1:])) + case mbin32: + p, err = m.R.Next(5) + if err != nil { + return + } + read = int64(big.Uint32(p[1:])) + default: + err = badPrefix(BinType, lead) + return + } + if int64(cap(scratch)) < read { + b = make([]byte, read) + } else { + b = scratch[0:read] + } + _, err = m.R.ReadFull(b) + return +} + +// ReadBytesHeader reads the size header +// of a MessagePack 'bin' object. The user +// is responsible for dealing with the next +// 'sz' bytes from the reader in an application-specific +// way. +func (m *Reader) ReadBytesHeader() (sz uint32, err error) { + var p []byte + p, err = m.R.Peek(1) + if err != nil { + return + } + switch p[0] { + case mbin8: + p, err = m.R.Next(2) + if err != nil { + return + } + sz = uint32(p[1]) + return + case mbin16: + p, err = m.R.Next(3) + if err != nil { + return + } + sz = uint32(big.Uint16(p[1:])) + return + case mbin32: + p, err = m.R.Next(5) + if err != nil { + return + } + sz = uint32(big.Uint32(p[1:])) + return + default: + err = badPrefix(BinType, p[0]) + return + } +} + +// ReadExactBytes reads a MessagePack 'bin'-encoded +// object off of the wire into the provided slice. An +// ArrayError will be returned if the object is not +// exactly the length of the input slice. +func (m *Reader) ReadExactBytes(into []byte) error { + p, err := m.R.Peek(2) + if err != nil { + return err + } + lead := p[0] + var read int64 // bytes to read + var skip int // prefix size to skip + switch lead { + case mbin8: + read = int64(p[1]) + skip = 2 + case mbin16: + p, err = m.R.Peek(3) + if err != nil { + return err + } + read = int64(big.Uint16(p[1:])) + skip = 3 + case mbin32: + p, err = m.R.Peek(5) + if err != nil { + return err + } + read = int64(big.Uint32(p[1:])) + skip = 5 + default: + return badPrefix(BinType, lead) + } + if read != int64(len(into)) { + return ArrayError{Wanted: uint32(len(into)), Got: uint32(read)} + } + m.R.Skip(skip) + _, err = m.R.ReadFull(into) + return err +} + +// ReadStringAsBytes reads a MessagePack 'str' (utf-8) string +// and returns its value as bytes. It may use 'scratch' for storage +// if it is non-nil. +func (m *Reader) ReadStringAsBytes(scratch []byte) (b []byte, err error) { + var p []byte + var lead byte + p, err = m.R.Peek(1) + if err != nil { + return + } + lead = p[0] + var read int64 + + if isfixstr(lead) { + read = int64(rfixstr(lead)) + m.R.Skip(1) + goto fill + } + + switch lead { + case mstr8: + p, err = m.R.Next(2) + if err != nil { + return + } + read = int64(uint8(p[1])) + case mstr16: + p, err = m.R.Next(3) + if err != nil { + return + } + read = int64(big.Uint16(p[1:])) + case mstr32: + p, err = m.R.Next(5) + if err != nil { + return + } + read = int64(big.Uint32(p[1:])) + default: + err = badPrefix(StrType, lead) + return + } +fill: + if int64(cap(scratch)) < read { + b = make([]byte, read) + } else { + b = scratch[0:read] + } + _, err = m.R.ReadFull(b) + return +} + +// ReadStringHeader reads a string header +// off of the wire. The user is then responsible +// for dealing with the next 'sz' bytes from +// the reader in an application-specific manner. +func (m *Reader) ReadStringHeader() (sz uint32, err error) { + var p []byte + p, err = m.R.Peek(1) + if err != nil { + return + } + lead := p[0] + if isfixstr(lead) { + sz = uint32(rfixstr(lead)) + m.R.Skip(1) + return + } + switch lead { + case mstr8: + p, err = m.R.Next(2) + if err != nil { + return + } + sz = uint32(p[1]) + return + case mstr16: + p, err = m.R.Next(3) + if err != nil { + return + } + sz = uint32(big.Uint16(p[1:])) + return + case mstr32: + p, err = m.R.Next(5) + if err != nil { + return + } + sz = big.Uint32(p[1:]) + return + default: + err = badPrefix(StrType, lead) + return + } +} + +// ReadString reads a utf-8 string from the reader +func (m *Reader) ReadString() (s string, err error) { + var p []byte + var lead byte + var read int64 + p, err = m.R.Peek(1) + if err != nil { + return + } + lead = p[0] + + if isfixstr(lead) { + read = int64(rfixstr(lead)) + m.R.Skip(1) + goto fill + } + + switch lead { + case mstr8: + p, err = m.R.Next(2) + if err != nil { + return + } + read = int64(uint8(p[1])) + case mstr16: + p, err = m.R.Next(3) + if err != nil { + return + } + read = int64(big.Uint16(p[1:])) + case mstr32: + p, err = m.R.Next(5) + if err != nil { + return + } + read = int64(big.Uint32(p[1:])) + default: + err = badPrefix(StrType, lead) + return + } +fill: + if read == 0 { + s, err = "", nil + return + } + // reading into the memory + // that will become the string + // itself has vastly superior + // worst-case performance, because + // the reader buffer doesn't have + // to be large enough to hold the string. + // the idea here is to make it more + // difficult for someone malicious + // to cause the system to run out of + // memory by sending very large strings. + // + // NOTE: this works because the argument + // passed to (*fwd.Reader).ReadFull escapes + // to the heap; its argument may, in turn, + // be passed to the underlying reader, and + // thus escape analysis *must* conclude that + // 'out' escapes. + out := make([]byte, read) + _, err = m.R.ReadFull(out) + if err != nil { + return + } + s = UnsafeString(out) + return +} + +// ReadComplex64 reads a complex64 from the reader +func (m *Reader) ReadComplex64() (f complex64, err error) { + var p []byte + p, err = m.R.Peek(10) + if err != nil { + return + } + if p[0] != mfixext8 { + err = badPrefix(Complex64Type, p[0]) + return + } + if int8(p[1]) != Complex64Extension { + err = errExt(int8(p[1]), Complex64Extension) + return + } + f = complex(math.Float32frombits(big.Uint32(p[2:])), + math.Float32frombits(big.Uint32(p[6:]))) + _, err = m.R.Skip(10) + return +} + +// ReadComplex128 reads a complex128 from the reader +func (m *Reader) ReadComplex128() (f complex128, err error) { + var p []byte + p, err = m.R.Peek(18) + if err != nil { + return + } + if p[0] != mfixext16 { + err = badPrefix(Complex128Type, p[0]) + return + } + if int8(p[1]) != Complex128Extension { + err = errExt(int8(p[1]), Complex128Extension) + return + } + f = complex(math.Float64frombits(big.Uint64(p[2:])), + math.Float64frombits(big.Uint64(p[10:]))) + _, err = m.R.Skip(18) + return +} + +// ReadMapStrIntf reads a MessagePack map into a map[string]interface{}. +// (You must pass a non-nil map into the function.) +func (m *Reader) ReadMapStrIntf(mp map[string]interface{}) (err error) { + var sz uint32 + sz, err = m.ReadMapHeader() + if err != nil { + return + } + for key := range mp { + delete(mp, key) + } + for i := uint32(0); i < sz; i++ { + var key string + var val interface{} + key, err = m.ReadString() + if err != nil { + return + } + val, err = m.ReadIntf() + if err != nil { + return + } + mp[key] = val + } + return +} + +// ReadTime reads a time.Time object from the reader. +// The returned time's location will be set to time.Local. +func (m *Reader) ReadTime() (t time.Time, err error) { + var p []byte + p, err = m.R.Peek(15) + if err != nil { + return + } + if p[0] != mext8 || p[1] != 12 { + err = badPrefix(TimeType, p[0]) + return + } + if int8(p[2]) != TimeExtension { + err = errExt(int8(p[2]), TimeExtension) + return + } + sec, nsec := getUnix(p[3:]) + t = time.Unix(sec, int64(nsec)).Local() + _, err = m.R.Skip(15) + return +} + +// ReadIntf reads out the next object as a raw interface{}. +// Arrays are decoded as []interface{}, and maps are decoded +// as map[string]interface{}. Integers are decoded as int64 +// and unsigned integers are decoded as uint64. +func (m *Reader) ReadIntf() (i interface{}, err error) { + var t Type + t, err = m.NextType() + if err != nil { + return + } + switch t { + case BoolType: + i, err = m.ReadBool() + return + + case IntType: + i, err = m.ReadInt64() + return + + case UintType: + i, err = m.ReadUint64() + return + + case BinType: + i, err = m.ReadBytes(nil) + return + + case StrType: + i, err = m.ReadString() + return + + case Complex64Type: + i, err = m.ReadComplex64() + return + + case Complex128Type: + i, err = m.ReadComplex128() + return + + case TimeType: + i, err = m.ReadTime() + return + + case ExtensionType: + var t int8 + t, err = m.peekExtensionType() + if err != nil { + return + } + f, ok := extensionReg[t] + if ok { + e := f() + err = m.ReadExtension(e) + i = e + return + } + var e RawExtension + e.Type = t + err = m.ReadExtension(&e) + i = &e + return + + case MapType: + mp := make(map[string]interface{}) + err = m.ReadMapStrIntf(mp) + i = mp + return + + case NilType: + err = m.ReadNil() + i = nil + return + + case Float32Type: + i, err = m.ReadFloat32() + return + + case Float64Type: + i, err = m.ReadFloat64() + return + + case ArrayType: + var sz uint32 + sz, err = m.ReadArrayHeader() + + if err != nil { + return + } + out := make([]interface{}, int(sz)) + for j := range out { + out[j], err = m.ReadIntf() + if err != nil { + return + } + } + i = out + return + + default: + return nil, fatal // unreachable + } +} diff --git a/vendor/github.com/tinylib/msgp/msgp/read_bytes.go b/vendor/github.com/tinylib/msgp/msgp/read_bytes.go new file mode 100644 index 0000000..78e466f --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/read_bytes.go @@ -0,0 +1,1089 @@ +package msgp + +import ( + "bytes" + "encoding/binary" + "math" + "time" +) + +var big = binary.BigEndian + +// NextType returns the type of the next +// object in the slice. If the length +// of the input is zero, it returns +// InvalidType. +func NextType(b []byte) Type { + if len(b) == 0 { + return InvalidType + } + spec := sizes[b[0]] + t := spec.typ + if t == ExtensionType && len(b) > int(spec.size) { + var tp int8 + if spec.extra == constsize { + tp = int8(b[1]) + } else { + tp = int8(b[spec.size-1]) + } + switch tp { + case TimeExtension: + return TimeType + case Complex128Extension: + return Complex128Type + case Complex64Extension: + return Complex64Type + default: + return ExtensionType + } + } + return t +} + +// IsNil returns true if len(b)>0 and +// the leading byte is a 'nil' MessagePack +// byte; false otherwise +func IsNil(b []byte) bool { + if len(b) != 0 && b[0] == mnil { + return true + } + return false +} + +// Raw is raw MessagePack. +// Raw allows you to read and write +// data without interpreting its contents. +type Raw []byte + +// MarshalMsg implements msgp.Marshaler. +// It appends the raw contents of 'raw' +// to the provided byte slice. If 'raw' +// is 0 bytes, 'nil' will be appended instead. +func (r Raw) MarshalMsg(b []byte) ([]byte, error) { + i := len(r) + if i == 0 { + return AppendNil(b), nil + } + o, l := ensure(b, i) + copy(o[l:], []byte(r)) + return o, nil +} + +// UnmarshalMsg implements msgp.Unmarshaler. +// It sets the contents of *Raw to be the next +// object in the provided byte slice. +func (r *Raw) UnmarshalMsg(b []byte) ([]byte, error) { + l := len(b) + out, err := Skip(b) + if err != nil { + return b, err + } + rlen := l - len(out) + if cap(*r) < rlen { + *r = make(Raw, rlen) + } else { + *r = (*r)[0:rlen] + } + copy(*r, b[:rlen]) + return out, nil +} + +// EncodeMsg implements msgp.Encodable. +// It writes the raw bytes to the writer. +// If r is empty, it writes 'nil' instead. +func (r Raw) EncodeMsg(w *Writer) error { + if len(r) == 0 { + return w.WriteNil() + } + _, err := w.Write([]byte(r)) + return err +} + +// DecodeMsg implements msgp.Decodable. +// It sets the value of *Raw to be the +// next object on the wire. +func (r *Raw) DecodeMsg(f *Reader) error { + *r = (*r)[:0] + return appendNext(f, (*[]byte)(r)) +} + +// Msgsize implements msgp.Sizer +func (r Raw) Msgsize() int { + l := len(r) + if l == 0 { + return 1 // for 'nil' + } + return l +} + +func appendNext(f *Reader, d *[]byte) error { + amt, o, err := getNextSize(f.R) + if err != nil { + return err + } + var i int + *d, i = ensure(*d, int(amt)) + _, err = f.R.ReadFull((*d)[i:]) + if err != nil { + return err + } + for o > 0 { + err = appendNext(f, d) + if err != nil { + return err + } + o-- + } + return nil +} + +// MarshalJSON implements json.Marshaler +func (r *Raw) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + _, err := UnmarshalAsJSON(&buf, []byte(*r)) + return buf.Bytes(), err +} + +// ReadMapHeaderBytes reads a map header size +// from 'b' and returns the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a map) +func ReadMapHeaderBytes(b []byte) (sz uint32, o []byte, err error) { + l := len(b) + if l < 1 { + err = ErrShortBytes + return + } + + lead := b[0] + if isfixmap(lead) { + sz = uint32(rfixmap(lead)) + o = b[1:] + return + } + + switch lead { + case mmap16: + if l < 3 { + err = ErrShortBytes + return + } + sz = uint32(big.Uint16(b[1:])) + o = b[3:] + return + + case mmap32: + if l < 5 { + err = ErrShortBytes + return + } + sz = big.Uint32(b[1:]) + o = b[5:] + return + + default: + err = badPrefix(MapType, lead) + return + } +} + +// ReadMapKeyZC attempts to read a map key +// from 'b' and returns the key bytes and the remaining bytes +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a str or bin) +func ReadMapKeyZC(b []byte) ([]byte, []byte, error) { + o, b, err := ReadStringZC(b) + if err != nil { + if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType { + return ReadBytesZC(b) + } + return nil, b, err + } + return o, b, nil +} + +// ReadArrayHeaderBytes attempts to read +// the array header size off of 'b' and return +// the size and remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not an array) +func ReadArrayHeaderBytes(b []byte) (sz uint32, o []byte, err error) { + if len(b) < 1 { + return 0, nil, ErrShortBytes + } + lead := b[0] + if isfixarray(lead) { + sz = uint32(rfixarray(lead)) + o = b[1:] + return + } + + switch lead { + case marray16: + if len(b) < 3 { + err = ErrShortBytes + return + } + sz = uint32(big.Uint16(b[1:])) + o = b[3:] + return + + case marray32: + if len(b) < 5 { + err = ErrShortBytes + return + } + sz = big.Uint32(b[1:]) + o = b[5:] + return + + default: + err = badPrefix(ArrayType, lead) + return + } +} + +// ReadNilBytes tries to read a "nil" byte +// off of 'b' and return the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a 'nil') +// - InvalidPrefixError +func ReadNilBytes(b []byte) ([]byte, error) { + if len(b) < 1 { + return nil, ErrShortBytes + } + if b[0] != mnil { + return b, badPrefix(NilType, b[0]) + } + return b[1:], nil +} + +// ReadFloat64Bytes tries to read a float64 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a float64) +func ReadFloat64Bytes(b []byte) (f float64, o []byte, err error) { + if len(b) < 9 { + if len(b) >= 5 && b[0] == mfloat32 { + var tf float32 + tf, o, err = ReadFloat32Bytes(b) + f = float64(tf) + return + } + err = ErrShortBytes + return + } + + if b[0] != mfloat64 { + if b[0] == mfloat32 { + var tf float32 + tf, o, err = ReadFloat32Bytes(b) + f = float64(tf) + return + } + err = badPrefix(Float64Type, b[0]) + return + } + + f = math.Float64frombits(getMuint64(b)) + o = b[9:] + return +} + +// ReadFloat32Bytes tries to read a float64 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a float32) +func ReadFloat32Bytes(b []byte) (f float32, o []byte, err error) { + if len(b) < 5 { + err = ErrShortBytes + return + } + + if b[0] != mfloat32 { + err = TypeError{Method: Float32Type, Encoded: getType(b[0])} + return + } + + f = math.Float32frombits(getMuint32(b)) + o = b[5:] + return +} + +// ReadBoolBytes tries to read a float64 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a bool) +func ReadBoolBytes(b []byte) (bool, []byte, error) { + if len(b) < 1 { + return false, b, ErrShortBytes + } + switch b[0] { + case mtrue: + return true, b[1:], nil + case mfalse: + return false, b[1:], nil + default: + return false, b, badPrefix(BoolType, b[0]) + } +} + +// ReadInt64Bytes tries to read an int64 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError (not a int) +func ReadInt64Bytes(b []byte) (i int64, o []byte, err error) { + l := len(b) + if l < 1 { + return 0, nil, ErrShortBytes + } + + lead := b[0] + if isfixint(lead) { + i = int64(rfixint(lead)) + o = b[1:] + return + } + if isnfixint(lead) { + i = int64(rnfixint(lead)) + o = b[1:] + return + } + + switch lead { + case mint8: + if l < 2 { + err = ErrShortBytes + return + } + i = int64(getMint8(b)) + o = b[2:] + return + + case mint16: + if l < 3 { + err = ErrShortBytes + return + } + i = int64(getMint16(b)) + o = b[3:] + return + + case mint32: + if l < 5 { + err = ErrShortBytes + return + } + i = int64(getMint32(b)) + o = b[5:] + return + + case mint64: + if l < 9 { + err = ErrShortBytes + return + } + i = getMint64(b) + o = b[9:] + return + + default: + err = badPrefix(IntType, lead) + return + } +} + +// ReadInt32Bytes tries to read an int32 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a int) +// - IntOverflow{} (value doesn't fit in int32) +func ReadInt32Bytes(b []byte) (int32, []byte, error) { + i, o, err := ReadInt64Bytes(b) + if i > math.MaxInt32 || i < math.MinInt32 { + return 0, o, IntOverflow{Value: i, FailedBitsize: 32} + } + return int32(i), o, err +} + +// ReadInt16Bytes tries to read an int16 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a int) +// - IntOverflow{} (value doesn't fit in int16) +func ReadInt16Bytes(b []byte) (int16, []byte, error) { + i, o, err := ReadInt64Bytes(b) + if i > math.MaxInt16 || i < math.MinInt16 { + return 0, o, IntOverflow{Value: i, FailedBitsize: 16} + } + return int16(i), o, err +} + +// ReadInt8Bytes tries to read an int16 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a int) +// - IntOverflow{} (value doesn't fit in int8) +func ReadInt8Bytes(b []byte) (int8, []byte, error) { + i, o, err := ReadInt64Bytes(b) + if i > math.MaxInt8 || i < math.MinInt8 { + return 0, o, IntOverflow{Value: i, FailedBitsize: 8} + } + return int8(i), o, err +} + +// ReadIntBytes tries to read an int +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a int) +// - IntOverflow{} (value doesn't fit in int; 32-bit platforms only) +func ReadIntBytes(b []byte) (int, []byte, error) { + if smallint { + i, b, err := ReadInt32Bytes(b) + return int(i), b, err + } + i, b, err := ReadInt64Bytes(b) + return int(i), b, err +} + +// ReadUint64Bytes tries to read a uint64 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a uint) +func ReadUint64Bytes(b []byte) (u uint64, o []byte, err error) { + l := len(b) + if l < 1 { + return 0, nil, ErrShortBytes + } + + lead := b[0] + if isfixint(lead) { + u = uint64(rfixint(lead)) + o = b[1:] + return + } + + switch lead { + case muint8: + if l < 2 { + err = ErrShortBytes + return + } + u = uint64(getMuint8(b)) + o = b[2:] + return + + case muint16: + if l < 3 { + err = ErrShortBytes + return + } + u = uint64(getMuint16(b)) + o = b[3:] + return + + case muint32: + if l < 5 { + err = ErrShortBytes + return + } + u = uint64(getMuint32(b)) + o = b[5:] + return + + case muint64: + if l < 9 { + err = ErrShortBytes + return + } + u = getMuint64(b) + o = b[9:] + return + + default: + err = badPrefix(UintType, lead) + return + } +} + +// ReadUint32Bytes tries to read a uint32 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a uint) +// - UintOverflow{} (value too large for uint32) +func ReadUint32Bytes(b []byte) (uint32, []byte, error) { + v, o, err := ReadUint64Bytes(b) + if v > math.MaxUint32 { + return 0, nil, UintOverflow{Value: v, FailedBitsize: 32} + } + return uint32(v), o, err +} + +// ReadUint16Bytes tries to read a uint16 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a uint) +// - UintOverflow{} (value too large for uint16) +func ReadUint16Bytes(b []byte) (uint16, []byte, error) { + v, o, err := ReadUint64Bytes(b) + if v > math.MaxUint16 { + return 0, nil, UintOverflow{Value: v, FailedBitsize: 16} + } + return uint16(v), o, err +} + +// ReadUint8Bytes tries to read a uint8 +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a uint) +// - UintOverflow{} (value too large for uint8) +func ReadUint8Bytes(b []byte) (uint8, []byte, error) { + v, o, err := ReadUint64Bytes(b) + if v > math.MaxUint8 { + return 0, nil, UintOverflow{Value: v, FailedBitsize: 8} + } + return uint8(v), o, err +} + +// ReadUintBytes tries to read a uint +// from 'b' and return the value and the remaining bytes. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a uint) +// - UintOverflow{} (value too large for uint; 32-bit platforms only) +func ReadUintBytes(b []byte) (uint, []byte, error) { + if smallint { + u, b, err := ReadUint32Bytes(b) + return uint(u), b, err + } + u, b, err := ReadUint64Bytes(b) + return uint(u), b, err +} + +// ReadByteBytes is analogous to ReadUint8Bytes +func ReadByteBytes(b []byte) (byte, []byte, error) { + return ReadUint8Bytes(b) +} + +// ReadBytesBytes reads a 'bin' object +// from 'b' and returns its vaue and +// the remaining bytes in 'b'. +// Possible errors: +// - ErrShortBytes (too few bytes) +// - TypeError{} (not a 'bin' object) +func ReadBytesBytes(b []byte, scratch []byte) (v []byte, o []byte, err error) { + return readBytesBytes(b, scratch, false) +} + +func readBytesBytes(b []byte, scratch []byte, zc bool) (v []byte, o []byte, err error) { + l := len(b) + if l < 1 { + return nil, nil, ErrShortBytes + } + + lead := b[0] + var read int + switch lead { + case mbin8: + if l < 2 { + err = ErrShortBytes + return + } + + read = int(b[1]) + b = b[2:] + + case mbin16: + if l < 3 { + err = ErrShortBytes + return + } + read = int(big.Uint16(b[1:])) + b = b[3:] + + case mbin32: + if l < 5 { + err = ErrShortBytes + return + } + read = int(big.Uint32(b[1:])) + b = b[5:] + + default: + err = badPrefix(BinType, lead) + return + } + + if len(b) < read { + err = ErrShortBytes + return + } + + // zero-copy + if zc { + v = b[0:read] + o = b[read:] + return + } + + if cap(scratch) >= read { + v = scratch[0:read] + } else { + v = make([]byte, read) + } + + o = b[copy(v, b):] + return +} + +// ReadBytesZC extracts the messagepack-encoded +// binary field without copying. The returned []byte +// points to the same memory as the input slice. +// Possible errors: +// - ErrShortBytes (b not long enough) +// - TypeError{} (object not 'bin') +func ReadBytesZC(b []byte) (v []byte, o []byte, err error) { + return readBytesBytes(b, nil, true) +} + +func ReadExactBytes(b []byte, into []byte) (o []byte, err error) { + l := len(b) + if l < 1 { + err = ErrShortBytes + return + } + + lead := b[0] + var read uint32 + var skip int + switch lead { + case mbin8: + if l < 2 { + err = ErrShortBytes + return + } + + read = uint32(b[1]) + skip = 2 + + case mbin16: + if l < 3 { + err = ErrShortBytes + return + } + read = uint32(big.Uint16(b[1:])) + skip = 3 + + case mbin32: + if l < 5 { + err = ErrShortBytes + return + } + read = uint32(big.Uint32(b[1:])) + skip = 5 + + default: + err = badPrefix(BinType, lead) + return + } + + if read != uint32(len(into)) { + err = ArrayError{Wanted: uint32(len(into)), Got: read} + return + } + + o = b[skip+copy(into, b[skip:]):] + return +} + +// ReadStringZC reads a messagepack string field +// without copying. The returned []byte points +// to the same memory as the input slice. +// Possible errors: +// - ErrShortBytes (b not long enough) +// - TypeError{} (object not 'str') +func ReadStringZC(b []byte) (v []byte, o []byte, err error) { + l := len(b) + if l < 1 { + return nil, nil, ErrShortBytes + } + + lead := b[0] + var read int + + if isfixstr(lead) { + read = int(rfixstr(lead)) + b = b[1:] + } else { + switch lead { + case mstr8: + if l < 2 { + err = ErrShortBytes + return + } + read = int(b[1]) + b = b[2:] + + case mstr16: + if l < 3 { + err = ErrShortBytes + return + } + read = int(big.Uint16(b[1:])) + b = b[3:] + + case mstr32: + if l < 5 { + err = ErrShortBytes + return + } + read = int(big.Uint32(b[1:])) + b = b[5:] + + default: + err = TypeError{Method: StrType, Encoded: getType(lead)} + return + } + } + + if len(b) < read { + err = ErrShortBytes + return + } + + v = b[0:read] + o = b[read:] + return +} + +// ReadStringBytes reads a 'str' object +// from 'b' and returns its value and the +// remaining bytes in 'b'. +// Possible errors: +// - ErrShortBytes (b not long enough) +// - TypeError{} (not 'str' type) +// - InvalidPrefixError +func ReadStringBytes(b []byte) (string, []byte, error) { + v, o, err := ReadStringZC(b) + return string(v), o, err +} + +// ReadStringAsBytes reads a 'str' object +// into a slice of bytes. 'v' is the value of +// the 'str' object, which may reside in memory +// pointed to by 'scratch.' 'o' is the remaining bytes +// in 'b.'' +// Possible errors: +// - ErrShortBytes (b not long enough) +// - TypeError{} (not 'str' type) +// - InvalidPrefixError (unknown type marker) +func ReadStringAsBytes(b []byte, scratch []byte) (v []byte, o []byte, err error) { + var tmp []byte + tmp, o, err = ReadStringZC(b) + v = append(scratch[:0], tmp...) + return +} + +// ReadComplex128Bytes reads a complex128 +// extension object from 'b' and returns the +// remaining bytes. +// Possible errors: +// - ErrShortBytes (not enough bytes in 'b') +// - TypeError{} (object not a complex128) +// - InvalidPrefixError +// - ExtensionTypeError{} (object an extension of the correct size, but not a complex128) +func ReadComplex128Bytes(b []byte) (c complex128, o []byte, err error) { + if len(b) < 18 { + err = ErrShortBytes + return + } + if b[0] != mfixext16 { + err = badPrefix(Complex128Type, b[0]) + return + } + if int8(b[1]) != Complex128Extension { + err = errExt(int8(b[1]), Complex128Extension) + return + } + c = complex(math.Float64frombits(big.Uint64(b[2:])), + math.Float64frombits(big.Uint64(b[10:]))) + o = b[18:] + return +} + +// ReadComplex64Bytes reads a complex64 +// extension object from 'b' and returns the +// remaining bytes. +// Possible errors: +// - ErrShortBytes (not enough bytes in 'b') +// - TypeError{} (object not a complex64) +// - ExtensionTypeError{} (object an extension of the correct size, but not a complex64) +func ReadComplex64Bytes(b []byte) (c complex64, o []byte, err error) { + if len(b) < 10 { + err = ErrShortBytes + return + } + if b[0] != mfixext8 { + err = badPrefix(Complex64Type, b[0]) + return + } + if b[1] != Complex64Extension { + err = errExt(int8(b[1]), Complex64Extension) + return + } + c = complex(math.Float32frombits(big.Uint32(b[2:])), + math.Float32frombits(big.Uint32(b[6:]))) + o = b[10:] + return +} + +// ReadTimeBytes reads a time.Time +// extension object from 'b' and returns the +// remaining bytes. +// Possible errors: +// - ErrShortBytes (not enough bytes in 'b') +// - TypeError{} (object not a complex64) +// - ExtensionTypeError{} (object an extension of the correct size, but not a time.Time) +func ReadTimeBytes(b []byte) (t time.Time, o []byte, err error) { + if len(b) < 15 { + err = ErrShortBytes + return + } + if b[0] != mext8 || b[1] != 12 { + err = badPrefix(TimeType, b[0]) + return + } + if int8(b[2]) != TimeExtension { + err = errExt(int8(b[2]), TimeExtension) + return + } + sec, nsec := getUnix(b[3:]) + t = time.Unix(sec, int64(nsec)).Local() + o = b[15:] + return +} + +// ReadMapStrIntfBytes reads a map[string]interface{} +// out of 'b' and returns the map and remaining bytes. +// If 'old' is non-nil, the values will be read into that map. +func ReadMapStrIntfBytes(b []byte, old map[string]interface{}) (v map[string]interface{}, o []byte, err error) { + var sz uint32 + o = b + sz, o, err = ReadMapHeaderBytes(o) + + if err != nil { + return + } + + if old != nil { + for key := range old { + delete(old, key) + } + v = old + } else { + v = make(map[string]interface{}, int(sz)) + } + + for z := uint32(0); z < sz; z++ { + if len(o) < 1 { + err = ErrShortBytes + return + } + var key []byte + key, o, err = ReadMapKeyZC(o) + if err != nil { + return + } + var val interface{} + val, o, err = ReadIntfBytes(o) + if err != nil { + return + } + v[string(key)] = val + } + return +} + +// ReadIntfBytes attempts to read +// the next object out of 'b' as a raw interface{} and +// return the remaining bytes. +func ReadIntfBytes(b []byte) (i interface{}, o []byte, err error) { + if len(b) < 1 { + err = ErrShortBytes + return + } + + k := NextType(b) + + switch k { + case MapType: + i, o, err = ReadMapStrIntfBytes(b, nil) + return + + case ArrayType: + var sz uint32 + sz, o, err = ReadArrayHeaderBytes(b) + if err != nil { + return + } + j := make([]interface{}, int(sz)) + i = j + for d := range j { + j[d], o, err = ReadIntfBytes(o) + if err != nil { + return + } + } + return + + case Float32Type: + i, o, err = ReadFloat32Bytes(b) + return + + case Float64Type: + i, o, err = ReadFloat64Bytes(b) + return + + case IntType: + i, o, err = ReadInt64Bytes(b) + return + + case UintType: + i, o, err = ReadUint64Bytes(b) + return + + case BoolType: + i, o, err = ReadBoolBytes(b) + return + + case TimeType: + i, o, err = ReadTimeBytes(b) + return + + case Complex64Type: + i, o, err = ReadComplex64Bytes(b) + return + + case Complex128Type: + i, o, err = ReadComplex128Bytes(b) + return + + case ExtensionType: + var t int8 + t, err = peekExtension(b) + if err != nil { + return + } + // use a user-defined extension, + // if it's been registered + f, ok := extensionReg[t] + if ok { + e := f() + o, err = ReadExtensionBytes(b, e) + i = e + return + } + // last resort is a raw extension + e := RawExtension{} + e.Type = int8(t) + o, err = ReadExtensionBytes(b, &e) + i = &e + return + + case NilType: + o, err = ReadNilBytes(b) + return + + case BinType: + i, o, err = ReadBytesBytes(b, nil) + return + + case StrType: + i, o, err = ReadStringBytes(b) + return + + default: + err = InvalidPrefixError(b[0]) + return + } +} + +// Skip skips the next object in 'b' and +// returns the remaining bytes. If the object +// is a map or array, all of its elements +// will be skipped. +// Possible Errors: +// - ErrShortBytes (not enough bytes in b) +// - InvalidPrefixError (bad encoding) +func Skip(b []byte) ([]byte, error) { + sz, asz, err := getSize(b) + if err != nil { + return b, err + } + if uintptr(len(b)) < sz { + return b, ErrShortBytes + } + b = b[sz:] + for asz > 0 { + b, err = Skip(b) + if err != nil { + return b, err + } + asz-- + } + return b, nil +} + +// returns (skip N bytes, skip M objects, error) +func getSize(b []byte) (uintptr, uintptr, error) { + l := len(b) + if l == 0 { + return 0, 0, ErrShortBytes + } + lead := b[0] + spec := &sizes[lead] // get type information + size, mode := spec.size, spec.extra + if size == 0 { + return 0, 0, InvalidPrefixError(lead) + } + if mode >= 0 { // fixed composites + return uintptr(size), uintptr(mode), nil + } + if l < int(size) { + return 0, 0, ErrShortBytes + } + switch mode { + case extra8: + return uintptr(size) + uintptr(b[1]), 0, nil + case extra16: + return uintptr(size) + uintptr(big.Uint16(b[1:])), 0, nil + case extra32: + return uintptr(size) + uintptr(big.Uint32(b[1:])), 0, nil + case map16v: + return uintptr(size), 2 * uintptr(big.Uint16(b[1:])), nil + case map32v: + return uintptr(size), 2 * uintptr(big.Uint32(b[1:])), nil + case array16v: + return uintptr(size), uintptr(big.Uint16(b[1:])), nil + case array32v: + return uintptr(size), uintptr(big.Uint32(b[1:])), nil + default: + return 0, 0, fatal + } +} diff --git a/vendor/github.com/tinylib/msgp/msgp/size.go b/vendor/github.com/tinylib/msgp/msgp/size.go new file mode 100644 index 0000000..ce2f8b1 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/size.go @@ -0,0 +1,38 @@ +package msgp + +// The sizes provided +// are the worst-case +// encoded sizes for +// each type. For variable- +// length types ([]byte, string), +// the total encoded size is +// the prefix size plus the +// length of the object. +const ( + Int64Size = 9 + IntSize = Int64Size + UintSize = Int64Size + Int8Size = 2 + Int16Size = 3 + Int32Size = 5 + Uint8Size = 2 + ByteSize = Uint8Size + Uint16Size = 3 + Uint32Size = 5 + Uint64Size = Int64Size + Float64Size = 9 + Float32Size = 5 + Complex64Size = 10 + Complex128Size = 18 + + TimeSize = 15 + BoolSize = 1 + NilSize = 1 + + MapHeaderSize = 5 + ArrayHeaderSize = 5 + + BytesPrefixSize = 5 + StringPrefixSize = 5 + ExtensionPrefixSize = 6 +) diff --git a/vendor/github.com/tinylib/msgp/msgp/unsafe.go b/vendor/github.com/tinylib/msgp/msgp/unsafe.go new file mode 100644 index 0000000..0cb972e --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/unsafe.go @@ -0,0 +1,40 @@ +// +build !appengine + +package msgp + +import ( + "reflect" + "unsafe" +) + +// NOTE: +// all of the definition in this file +// should be repeated in appengine.go, +// but without using unsafe + +const ( + // spec says int and uint are always + // the same size, but that int/uint + // size may not be machine word size + smallint = unsafe.Sizeof(int(0)) == 4 +) + +// UnsafeString returns the byte slice as a volatile string +// THIS SHOULD ONLY BE USED BY THE CODE GENERATOR. +// THIS IS EVIL CODE. +// YOU HAVE BEEN WARNED. +func UnsafeString(b []byte) string { + return *(*string)(unsafe.Pointer(&reflect.StringHeader{Data: uintptr(unsafe.Pointer(&b[0])), Len: len(b)})) +} + +// UnsafeBytes returns the string as a byte slice +// THIS SHOULD ONLY BE USED BY THE CODE GENERATOR. +// THIS IS EVIL CODE. +// YOU HAVE BEEN WARNED. +func UnsafeBytes(s string) []byte { + return *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader{ + Len: len(s), + Cap: len(s), + Data: (*(*reflect.StringHeader)(unsafe.Pointer(&s))).Data, + })) +} diff --git a/vendor/github.com/tinylib/msgp/msgp/write.go b/vendor/github.com/tinylib/msgp/msgp/write.go new file mode 100644 index 0000000..0245c1b --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/write.go @@ -0,0 +1,845 @@ +package msgp + +import ( + "errors" + "fmt" + "io" + "math" + "reflect" + "sync" + "time" +) + +// Sizer is an interface implemented +// by types that can estimate their +// size when MessagePack encoded. +// This interface is optional, but +// encoding/marshaling implementations +// may use this as a way to pre-allocate +// memory for serialization. +type Sizer interface { + Msgsize() int +} + +var ( + // Nowhere is an io.Writer to nowhere + Nowhere io.Writer = nwhere{} + + btsType = reflect.TypeOf(([]byte)(nil)) + writerPool = sync.Pool{ + New: func() interface{} { + return &Writer{buf: make([]byte, 2048)} + }, + } +) + +func popWriter(w io.Writer) *Writer { + wr := writerPool.Get().(*Writer) + wr.Reset(w) + return wr +} + +func pushWriter(wr *Writer) { + wr.w = nil + wr.wloc = 0 + writerPool.Put(wr) +} + +// freeW frees a writer for use +// by other processes. It is not necessary +// to call freeW on a writer. However, maintaining +// a reference to a *Writer after calling freeW on +// it will cause undefined behavior. +func freeW(w *Writer) { pushWriter(w) } + +// Require ensures that cap(old)-len(old) >= extra. +func Require(old []byte, extra int) []byte { + l := len(old) + c := cap(old) + r := l + extra + if c >= r { + return old + } else if l == 0 { + return make([]byte, 0, extra) + } + // the new size is the greater + // of double the old capacity + // and the sum of the old length + // and the number of new bytes + // necessary. + c <<= 1 + if c < r { + c = r + } + n := make([]byte, l, c) + copy(n, old) + return n +} + +// nowhere writer +type nwhere struct{} + +func (n nwhere) Write(p []byte) (int, error) { return len(p), nil } + +// Marshaler is the interface implemented +// by types that know how to marshal themselves +// as MessagePack. MarshalMsg appends the marshalled +// form of the object to the provided +// byte slice, returning the extended +// slice and any errors encountered. +type Marshaler interface { + MarshalMsg([]byte) ([]byte, error) +} + +// Encodable is the interface implemented +// by types that know how to write themselves +// as MessagePack using a *msgp.Writer. +type Encodable interface { + EncodeMsg(*Writer) error +} + +// Writer is a buffered writer +// that can be used to write +// MessagePack objects to an io.Writer. +// You must call *Writer.Flush() in order +// to flush all of the buffered data +// to the underlying writer. +type Writer struct { + w io.Writer + buf []byte + wloc int +} + +// NewWriter returns a new *Writer. +func NewWriter(w io.Writer) *Writer { + if wr, ok := w.(*Writer); ok { + return wr + } + return popWriter(w) +} + +// NewWriterSize returns a writer with a custom buffer size. +func NewWriterSize(w io.Writer, sz int) *Writer { + // we must be able to require() 18 + // contiguous bytes, so that is the + // practical minimum buffer size + if sz < 18 { + sz = 18 + } + + return &Writer{ + w: w, + buf: make([]byte, sz), + } +} + +// Encode encodes an Encodable to an io.Writer. +func Encode(w io.Writer, e Encodable) error { + wr := NewWriter(w) + err := e.EncodeMsg(wr) + if err == nil { + err = wr.Flush() + } + freeW(wr) + return err +} + +func (mw *Writer) flush() error { + if mw.wloc == 0 { + return nil + } + n, err := mw.w.Write(mw.buf[:mw.wloc]) + if err != nil { + if n > 0 { + mw.wloc = copy(mw.buf, mw.buf[n:mw.wloc]) + } + return err + } + mw.wloc = 0 + return nil +} + +// Flush flushes all of the buffered +// data to the underlying writer. +func (mw *Writer) Flush() error { return mw.flush() } + +// Buffered returns the number bytes in the write buffer +func (mw *Writer) Buffered() int { return len(mw.buf) - mw.wloc } + +func (mw *Writer) avail() int { return len(mw.buf) - mw.wloc } + +func (mw *Writer) bufsize() int { return len(mw.buf) } + +// NOTE: this should only be called with +// a number that is guaranteed to be less than +// len(mw.buf). typically, it is called with a constant. +// +// NOTE: this is a hot code path +func (mw *Writer) require(n int) (int, error) { + c := len(mw.buf) + wl := mw.wloc + if c-wl < n { + if err := mw.flush(); err != nil { + return 0, err + } + wl = mw.wloc + } + mw.wloc += n + return wl, nil +} + +func (mw *Writer) Append(b ...byte) error { + if mw.avail() < len(b) { + err := mw.flush() + if err != nil { + return err + } + } + mw.wloc += copy(mw.buf[mw.wloc:], b) + return nil +} + +// push one byte onto the buffer +// +// NOTE: this is a hot code path +func (mw *Writer) push(b byte) error { + if mw.wloc == len(mw.buf) { + if err := mw.flush(); err != nil { + return err + } + } + mw.buf[mw.wloc] = b + mw.wloc++ + return nil +} + +func (mw *Writer) prefix8(b byte, u uint8) error { + const need = 2 + if len(mw.buf)-mw.wloc < need { + if err := mw.flush(); err != nil { + return err + } + } + prefixu8(mw.buf[mw.wloc:], b, u) + mw.wloc += need + return nil +} + +func (mw *Writer) prefix16(b byte, u uint16) error { + const need = 3 + if len(mw.buf)-mw.wloc < need { + if err := mw.flush(); err != nil { + return err + } + } + prefixu16(mw.buf[mw.wloc:], b, u) + mw.wloc += need + return nil +} + +func (mw *Writer) prefix32(b byte, u uint32) error { + const need = 5 + if len(mw.buf)-mw.wloc < need { + if err := mw.flush(); err != nil { + return err + } + } + prefixu32(mw.buf[mw.wloc:], b, u) + mw.wloc += need + return nil +} + +func (mw *Writer) prefix64(b byte, u uint64) error { + const need = 9 + if len(mw.buf)-mw.wloc < need { + if err := mw.flush(); err != nil { + return err + } + } + prefixu64(mw.buf[mw.wloc:], b, u) + mw.wloc += need + return nil +} + +// Write implements io.Writer, and writes +// data directly to the buffer. +func (mw *Writer) Write(p []byte) (int, error) { + l := len(p) + if mw.avail() < l { + if err := mw.flush(); err != nil { + return 0, err + } + if l > len(mw.buf) { + return mw.w.Write(p) + } + } + mw.wloc += copy(mw.buf[mw.wloc:], p) + return l, nil +} + +// implements io.WriteString +func (mw *Writer) writeString(s string) error { + l := len(s) + if mw.avail() < l { + if err := mw.flush(); err != nil { + return err + } + if l > len(mw.buf) { + _, err := io.WriteString(mw.w, s) + return err + } + } + mw.wloc += copy(mw.buf[mw.wloc:], s) + return nil +} + +// Reset changes the underlying writer used by the Writer +func (mw *Writer) Reset(w io.Writer) { + mw.buf = mw.buf[:cap(mw.buf)] + mw.w = w + mw.wloc = 0 +} + +// WriteMapHeader writes a map header of the given +// size to the writer +func (mw *Writer) WriteMapHeader(sz uint32) error { + switch { + case sz <= 15: + return mw.push(wfixmap(uint8(sz))) + case sz <= math.MaxUint16: + return mw.prefix16(mmap16, uint16(sz)) + default: + return mw.prefix32(mmap32, sz) + } +} + +// WriteArrayHeader writes an array header of the +// given size to the writer +func (mw *Writer) WriteArrayHeader(sz uint32) error { + switch { + case sz <= 15: + return mw.push(wfixarray(uint8(sz))) + case sz <= math.MaxUint16: + return mw.prefix16(marray16, uint16(sz)) + default: + return mw.prefix32(marray32, sz) + } +} + +// WriteNil writes a nil byte to the buffer +func (mw *Writer) WriteNil() error { + return mw.push(mnil) +} + +// WriteFloat64 writes a float64 to the writer +func (mw *Writer) WriteFloat64(f float64) error { + return mw.prefix64(mfloat64, math.Float64bits(f)) +} + +// WriteFloat32 writes a float32 to the writer +func (mw *Writer) WriteFloat32(f float32) error { + return mw.prefix32(mfloat32, math.Float32bits(f)) +} + +// WriteInt64 writes an int64 to the writer +func (mw *Writer) WriteInt64(i int64) error { + if i >= 0 { + switch { + case i <= math.MaxInt8: + return mw.push(wfixint(uint8(i))) + case i <= math.MaxInt16: + return mw.prefix16(mint16, uint16(i)) + case i <= math.MaxInt32: + return mw.prefix32(mint32, uint32(i)) + default: + return mw.prefix64(mint64, uint64(i)) + } + } + switch { + case i >= -32: + return mw.push(wnfixint(int8(i))) + case i >= math.MinInt8: + return mw.prefix8(mint8, uint8(i)) + case i >= math.MinInt16: + return mw.prefix16(mint16, uint16(i)) + case i >= math.MinInt32: + return mw.prefix32(mint32, uint32(i)) + default: + return mw.prefix64(mint64, uint64(i)) + } +} + +// WriteInt8 writes an int8 to the writer +func (mw *Writer) WriteInt8(i int8) error { return mw.WriteInt64(int64(i)) } + +// WriteInt16 writes an int16 to the writer +func (mw *Writer) WriteInt16(i int16) error { return mw.WriteInt64(int64(i)) } + +// WriteInt32 writes an int32 to the writer +func (mw *Writer) WriteInt32(i int32) error { return mw.WriteInt64(int64(i)) } + +// WriteInt writes an int to the writer +func (mw *Writer) WriteInt(i int) error { return mw.WriteInt64(int64(i)) } + +// WriteUint64 writes a uint64 to the writer +func (mw *Writer) WriteUint64(u uint64) error { + switch { + case u <= (1<<7)-1: + return mw.push(wfixint(uint8(u))) + case u <= math.MaxUint8: + return mw.prefix8(muint8, uint8(u)) + case u <= math.MaxUint16: + return mw.prefix16(muint16, uint16(u)) + case u <= math.MaxUint32: + return mw.prefix32(muint32, uint32(u)) + default: + return mw.prefix64(muint64, u) + } +} + +// WriteByte is analogous to WriteUint8 +func (mw *Writer) WriteByte(u byte) error { return mw.WriteUint8(uint8(u)) } + +// WriteUint8 writes a uint8 to the writer +func (mw *Writer) WriteUint8(u uint8) error { return mw.WriteUint64(uint64(u)) } + +// WriteUint16 writes a uint16 to the writer +func (mw *Writer) WriteUint16(u uint16) error { return mw.WriteUint64(uint64(u)) } + +// WriteUint32 writes a uint32 to the writer +func (mw *Writer) WriteUint32(u uint32) error { return mw.WriteUint64(uint64(u)) } + +// WriteUint writes a uint to the writer +func (mw *Writer) WriteUint(u uint) error { return mw.WriteUint64(uint64(u)) } + +// WriteBytes writes binary as 'bin' to the writer +func (mw *Writer) WriteBytes(b []byte) error { + sz := uint32(len(b)) + var err error + switch { + case sz <= math.MaxUint8: + err = mw.prefix8(mbin8, uint8(sz)) + case sz <= math.MaxUint16: + err = mw.prefix16(mbin16, uint16(sz)) + default: + err = mw.prefix32(mbin32, sz) + } + if err != nil { + return err + } + _, err = mw.Write(b) + return err +} + +// WriteBytesHeader writes just the size header +// of a MessagePack 'bin' object. The user is responsible +// for then writing 'sz' more bytes into the stream. +func (mw *Writer) WriteBytesHeader(sz uint32) error { + switch { + case sz <= math.MaxUint8: + return mw.prefix8(mbin8, uint8(sz)) + case sz <= math.MaxUint16: + return mw.prefix16(mbin16, uint16(sz)) + default: + return mw.prefix32(mbin32, sz) + } +} + +// WriteBool writes a bool to the writer +func (mw *Writer) WriteBool(b bool) error { + if b { + return mw.push(mtrue) + } + return mw.push(mfalse) +} + +// WriteString writes a messagepack string to the writer. +// (This is NOT an implementation of io.StringWriter) +func (mw *Writer) WriteString(s string) error { + sz := uint32(len(s)) + var err error + switch { + case sz <= 31: + err = mw.push(wfixstr(uint8(sz))) + case sz <= math.MaxUint8: + err = mw.prefix8(mstr8, uint8(sz)) + case sz <= math.MaxUint16: + err = mw.prefix16(mstr16, uint16(sz)) + default: + err = mw.prefix32(mstr32, sz) + } + if err != nil { + return err + } + return mw.writeString(s) +} + +// WriteStringHeader writes just the string size +// header of a MessagePack 'str' object. The user +// is responsible for writing 'sz' more valid UTF-8 +// bytes to the stream. +func (mw *Writer) WriteStringHeader(sz uint32) error { + switch { + case sz <= 31: + return mw.push(wfixstr(uint8(sz))) + case sz <= math.MaxUint8: + return mw.prefix8(mstr8, uint8(sz)) + case sz <= math.MaxUint16: + return mw.prefix16(mstr16, uint16(sz)) + default: + return mw.prefix32(mstr32, sz) + } +} + +// WriteStringFromBytes writes a 'str' object +// from a []byte. +func (mw *Writer) WriteStringFromBytes(str []byte) error { + sz := uint32(len(str)) + var err error + switch { + case sz <= 31: + err = mw.push(wfixstr(uint8(sz))) + case sz <= math.MaxUint8: + err = mw.prefix8(mstr8, uint8(sz)) + case sz <= math.MaxUint16: + err = mw.prefix16(mstr16, uint16(sz)) + default: + err = mw.prefix32(mstr32, sz) + } + if err != nil { + return err + } + _, err = mw.Write(str) + return err +} + +// WriteComplex64 writes a complex64 to the writer +func (mw *Writer) WriteComplex64(f complex64) error { + o, err := mw.require(10) + if err != nil { + return err + } + mw.buf[o] = mfixext8 + mw.buf[o+1] = Complex64Extension + big.PutUint32(mw.buf[o+2:], math.Float32bits(real(f))) + big.PutUint32(mw.buf[o+6:], math.Float32bits(imag(f))) + return nil +} + +// WriteComplex128 writes a complex128 to the writer +func (mw *Writer) WriteComplex128(f complex128) error { + o, err := mw.require(18) + if err != nil { + return err + } + mw.buf[o] = mfixext16 + mw.buf[o+1] = Complex128Extension + big.PutUint64(mw.buf[o+2:], math.Float64bits(real(f))) + big.PutUint64(mw.buf[o+10:], math.Float64bits(imag(f))) + return nil +} + +// WriteMapStrStr writes a map[string]string to the writer +func (mw *Writer) WriteMapStrStr(mp map[string]string) (err error) { + err = mw.WriteMapHeader(uint32(len(mp))) + if err != nil { + return + } + for key, val := range mp { + err = mw.WriteString(key) + if err != nil { + return + } + err = mw.WriteString(val) + if err != nil { + return + } + } + return nil +} + +// WriteMapStrIntf writes a map[string]interface to the writer +func (mw *Writer) WriteMapStrIntf(mp map[string]interface{}) (err error) { + err = mw.WriteMapHeader(uint32(len(mp))) + if err != nil { + return + } + for key, val := range mp { + err = mw.WriteString(key) + if err != nil { + return + } + err = mw.WriteIntf(val) + if err != nil { + return + } + } + return +} + +// WriteTime writes a time.Time object to the wire. +// +// Time is encoded as Unix time, which means that +// location (time zone) data is removed from the object. +// The encoded object itself is 12 bytes: 8 bytes for +// a big-endian 64-bit integer denoting seconds +// elapsed since "zero" Unix time, followed by 4 bytes +// for a big-endian 32-bit signed integer denoting +// the nanosecond offset of the time. This encoding +// is intended to ease portability across languages. +// (Note that this is *not* the standard time.Time +// binary encoding, because its implementation relies +// heavily on the internal representation used by the +// time package.) +func (mw *Writer) WriteTime(t time.Time) error { + t = t.UTC() + o, err := mw.require(15) + if err != nil { + return err + } + mw.buf[o] = mext8 + mw.buf[o+1] = 12 + mw.buf[o+2] = TimeExtension + putUnix(mw.buf[o+3:], t.Unix(), int32(t.Nanosecond())) + return nil +} + +// WriteIntf writes the concrete type of 'v'. +// WriteIntf will error if 'v' is not one of the following: +// - A bool, float, string, []byte, int, uint, or complex +// - A map of supported types (with string keys) +// - An array or slice of supported types +// - A pointer to a supported type +// - A type that satisfies the msgp.Encodable interface +// - A type that satisfies the msgp.Extension interface +func (mw *Writer) WriteIntf(v interface{}) error { + if v == nil { + return mw.WriteNil() + } + switch v := v.(type) { + + // preferred interfaces + + case Encodable: + return v.EncodeMsg(mw) + case Extension: + return mw.WriteExtension(v) + + // concrete types + + case bool: + return mw.WriteBool(v) + case float32: + return mw.WriteFloat32(v) + case float64: + return mw.WriteFloat64(v) + case complex64: + return mw.WriteComplex64(v) + case complex128: + return mw.WriteComplex128(v) + case uint8: + return mw.WriteUint8(v) + case uint16: + return mw.WriteUint16(v) + case uint32: + return mw.WriteUint32(v) + case uint64: + return mw.WriteUint64(v) + case uint: + return mw.WriteUint(v) + case int8: + return mw.WriteInt8(v) + case int16: + return mw.WriteInt16(v) + case int32: + return mw.WriteInt32(v) + case int64: + return mw.WriteInt64(v) + case int: + return mw.WriteInt(v) + case string: + return mw.WriteString(v) + case []byte: + return mw.WriteBytes(v) + case map[string]string: + return mw.WriteMapStrStr(v) + case map[string]interface{}: + return mw.WriteMapStrIntf(v) + case time.Time: + return mw.WriteTime(v) + } + + val := reflect.ValueOf(v) + if !isSupported(val.Kind()) || !val.IsValid() { + return fmt.Errorf("msgp: type %s not supported", val) + } + + switch val.Kind() { + case reflect.Ptr: + if val.IsNil() { + return mw.WriteNil() + } + return mw.WriteIntf(val.Elem().Interface()) + case reflect.Slice: + return mw.writeSlice(val) + case reflect.Map: + return mw.writeMap(val) + } + return &ErrUnsupportedType{val.Type()} +} + +func (mw *Writer) writeMap(v reflect.Value) (err error) { + if v.Elem().Kind() != reflect.String { + return errors.New("msgp: map keys must be strings") + } + ks := v.MapKeys() + err = mw.WriteMapHeader(uint32(len(ks))) + if err != nil { + return + } + for _, key := range ks { + val := v.MapIndex(key) + err = mw.WriteString(key.String()) + if err != nil { + return + } + err = mw.WriteIntf(val.Interface()) + if err != nil { + return + } + } + return +} + +func (mw *Writer) writeSlice(v reflect.Value) (err error) { + // is []byte + if v.Type().ConvertibleTo(btsType) { + return mw.WriteBytes(v.Bytes()) + } + + sz := uint32(v.Len()) + err = mw.WriteArrayHeader(sz) + if err != nil { + return + } + for i := uint32(0); i < sz; i++ { + err = mw.WriteIntf(v.Index(int(i)).Interface()) + if err != nil { + return + } + } + return +} + +func (mw *Writer) writeStruct(v reflect.Value) error { + if enc, ok := v.Interface().(Encodable); ok { + return enc.EncodeMsg(mw) + } + return fmt.Errorf("msgp: unsupported type: %s", v.Type()) +} + +func (mw *Writer) writeVal(v reflect.Value) error { + if !isSupported(v.Kind()) { + return fmt.Errorf("msgp: msgp/enc: type %q not supported", v.Type()) + } + + // shortcut for nil values + if v.IsNil() { + return mw.WriteNil() + } + switch v.Kind() { + case reflect.Bool: + return mw.WriteBool(v.Bool()) + + case reflect.Float32, reflect.Float64: + return mw.WriteFloat64(v.Float()) + + case reflect.Complex64, reflect.Complex128: + return mw.WriteComplex128(v.Complex()) + + case reflect.Int, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int8: + return mw.WriteInt64(v.Int()) + + case reflect.Interface, reflect.Ptr: + if v.IsNil() { + mw.WriteNil() + } + return mw.writeVal(v.Elem()) + + case reflect.Map: + return mw.writeMap(v) + + case reflect.Uint, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint8: + return mw.WriteUint64(v.Uint()) + + case reflect.String: + return mw.WriteString(v.String()) + + case reflect.Slice, reflect.Array: + return mw.writeSlice(v) + + case reflect.Struct: + return mw.writeStruct(v) + + } + return fmt.Errorf("msgp: msgp/enc: type %q not supported", v.Type()) +} + +// is the reflect.Kind encodable? +func isSupported(k reflect.Kind) bool { + switch k { + case reflect.Func, reflect.Chan, reflect.Invalid, reflect.UnsafePointer: + return false + default: + return true + } +} + +// GuessSize guesses the size of the underlying +// value of 'i'. If the underlying value is not +// a simple builtin (or []byte), GuessSize defaults +// to 512. +func GuessSize(i interface{}) int { + if i == nil { + return NilSize + } + + switch i := i.(type) { + case Sizer: + return i.Msgsize() + case Extension: + return ExtensionPrefixSize + i.Len() + case float64: + return Float64Size + case float32: + return Float32Size + case uint8, uint16, uint32, uint64, uint: + return UintSize + case int8, int16, int32, int64, int: + return IntSize + case []byte: + return BytesPrefixSize + len(i) + case string: + return StringPrefixSize + len(i) + case complex64: + return Complex64Size + case complex128: + return Complex128Size + case bool: + return BoolSize + case map[string]interface{}: + s := MapHeaderSize + for key, val := range i { + s += StringPrefixSize + len(key) + GuessSize(val) + } + return s + case map[string]string: + s := MapHeaderSize + for key, val := range i { + s += 2*StringPrefixSize + len(key) + len(val) + } + return s + default: + return 512 + } +} diff --git a/vendor/github.com/tinylib/msgp/msgp/write_bytes.go b/vendor/github.com/tinylib/msgp/msgp/write_bytes.go new file mode 100644 index 0000000..eaa03c4 --- /dev/null +++ b/vendor/github.com/tinylib/msgp/msgp/write_bytes.go @@ -0,0 +1,411 @@ +package msgp + +import ( + "math" + "reflect" + "time" +) + +// ensure 'sz' extra bytes in 'b' btw len(b) and cap(b) +func ensure(b []byte, sz int) ([]byte, int) { + l := len(b) + c := cap(b) + if c-l < sz { + o := make([]byte, (2*c)+sz) // exponential growth + n := copy(o, b) + return o[:n+sz], n + } + return b[:l+sz], l +} + +// AppendMapHeader appends a map header with the +// given size to the slice +func AppendMapHeader(b []byte, sz uint32) []byte { + switch { + case sz <= 15: + return append(b, wfixmap(uint8(sz))) + + case sz <= math.MaxUint16: + o, n := ensure(b, 3) + prefixu16(o[n:], mmap16, uint16(sz)) + return o + + default: + o, n := ensure(b, 5) + prefixu32(o[n:], mmap32, sz) + return o + } +} + +// AppendArrayHeader appends an array header with +// the given size to the slice +func AppendArrayHeader(b []byte, sz uint32) []byte { + switch { + case sz <= 15: + return append(b, wfixarray(uint8(sz))) + + case sz <= math.MaxUint16: + o, n := ensure(b, 3) + prefixu16(o[n:], marray16, uint16(sz)) + return o + + default: + o, n := ensure(b, 5) + prefixu32(o[n:], marray32, sz) + return o + } +} + +// AppendNil appends a 'nil' byte to the slice +func AppendNil(b []byte) []byte { return append(b, mnil) } + +// AppendFloat64 appends a float64 to the slice +func AppendFloat64(b []byte, f float64) []byte { + o, n := ensure(b, Float64Size) + prefixu64(o[n:], mfloat64, math.Float64bits(f)) + return o +} + +// AppendFloat32 appends a float32 to the slice +func AppendFloat32(b []byte, f float32) []byte { + o, n := ensure(b, Float32Size) + prefixu32(o[n:], mfloat32, math.Float32bits(f)) + return o +} + +// AppendInt64 appends an int64 to the slice +func AppendInt64(b []byte, i int64) []byte { + if i >= 0 { + switch { + case i <= math.MaxInt8: + return append(b, wfixint(uint8(i))) + case i <= math.MaxInt16: + o, n := ensure(b, 3) + putMint16(o[n:], int16(i)) + return o + case i <= math.MaxInt32: + o, n := ensure(b, 5) + putMint32(o[n:], int32(i)) + return o + default: + o, n := ensure(b, 9) + putMint64(o[n:], i) + return o + } + } + switch { + case i >= -32: + return append(b, wnfixint(int8(i))) + case i >= math.MinInt8: + o, n := ensure(b, 2) + putMint8(o[n:], int8(i)) + return o + case i >= math.MinInt16: + o, n := ensure(b, 3) + putMint16(o[n:], int16(i)) + return o + case i >= math.MinInt32: + o, n := ensure(b, 5) + putMint32(o[n:], int32(i)) + return o + default: + o, n := ensure(b, 9) + putMint64(o[n:], i) + return o + } +} + +// AppendInt appends an int to the slice +func AppendInt(b []byte, i int) []byte { return AppendInt64(b, int64(i)) } + +// AppendInt8 appends an int8 to the slice +func AppendInt8(b []byte, i int8) []byte { return AppendInt64(b, int64(i)) } + +// AppendInt16 appends an int16 to the slice +func AppendInt16(b []byte, i int16) []byte { return AppendInt64(b, int64(i)) } + +// AppendInt32 appends an int32 to the slice +func AppendInt32(b []byte, i int32) []byte { return AppendInt64(b, int64(i)) } + +// AppendUint64 appends a uint64 to the slice +func AppendUint64(b []byte, u uint64) []byte { + switch { + case u <= (1<<7)-1: + return append(b, wfixint(uint8(u))) + + case u <= math.MaxUint8: + o, n := ensure(b, 2) + putMuint8(o[n:], uint8(u)) + return o + + case u <= math.MaxUint16: + o, n := ensure(b, 3) + putMuint16(o[n:], uint16(u)) + return o + + case u <= math.MaxUint32: + o, n := ensure(b, 5) + putMuint32(o[n:], uint32(u)) + return o + + default: + o, n := ensure(b, 9) + putMuint64(o[n:], u) + return o + + } +} + +// AppendUint appends a uint to the slice +func AppendUint(b []byte, u uint) []byte { return AppendUint64(b, uint64(u)) } + +// AppendUint8 appends a uint8 to the slice +func AppendUint8(b []byte, u uint8) []byte { return AppendUint64(b, uint64(u)) } + +// AppendByte is analogous to AppendUint8 +func AppendByte(b []byte, u byte) []byte { return AppendUint8(b, uint8(u)) } + +// AppendUint16 appends a uint16 to the slice +func AppendUint16(b []byte, u uint16) []byte { return AppendUint64(b, uint64(u)) } + +// AppendUint32 appends a uint32 to the slice +func AppendUint32(b []byte, u uint32) []byte { return AppendUint64(b, uint64(u)) } + +// AppendBytes appends bytes to the slice as MessagePack 'bin' data +func AppendBytes(b []byte, bts []byte) []byte { + sz := len(bts) + var o []byte + var n int + switch { + case sz <= math.MaxUint8: + o, n = ensure(b, 2+sz) + prefixu8(o[n:], mbin8, uint8(sz)) + n += 2 + case sz <= math.MaxUint16: + o, n = ensure(b, 3+sz) + prefixu16(o[n:], mbin16, uint16(sz)) + n += 3 + default: + o, n = ensure(b, 5+sz) + prefixu32(o[n:], mbin32, uint32(sz)) + n += 5 + } + return o[:n+copy(o[n:], bts)] +} + +// AppendBool appends a bool to the slice +func AppendBool(b []byte, t bool) []byte { + if t { + return append(b, mtrue) + } + return append(b, mfalse) +} + +// AppendString appends a string as a MessagePack 'str' to the slice +func AppendString(b []byte, s string) []byte { + sz := len(s) + var n int + var o []byte + switch { + case sz <= 31: + o, n = ensure(b, 1+sz) + o[n] = wfixstr(uint8(sz)) + n++ + case sz <= math.MaxUint8: + o, n = ensure(b, 2+sz) + prefixu8(o[n:], mstr8, uint8(sz)) + n += 2 + case sz <= math.MaxUint16: + o, n = ensure(b, 3+sz) + prefixu16(o[n:], mstr16, uint16(sz)) + n += 3 + default: + o, n = ensure(b, 5+sz) + prefixu32(o[n:], mstr32, uint32(sz)) + n += 5 + } + return o[:n+copy(o[n:], s)] +} + +// AppendStringFromBytes appends a []byte +// as a MessagePack 'str' to the slice 'b.' +func AppendStringFromBytes(b []byte, str []byte) []byte { + sz := len(str) + var n int + var o []byte + switch { + case sz <= 31: + o, n = ensure(b, 1+sz) + o[n] = wfixstr(uint8(sz)) + n++ + case sz <= math.MaxUint8: + o, n = ensure(b, 2+sz) + prefixu8(o[n:], mstr8, uint8(sz)) + n += 2 + case sz <= math.MaxUint16: + o, n = ensure(b, 3+sz) + prefixu16(o[n:], mstr16, uint16(sz)) + n += 3 + default: + o, n = ensure(b, 5+sz) + prefixu32(o[n:], mstr32, uint32(sz)) + n += 5 + } + return o[:n+copy(o[n:], str)] +} + +// AppendComplex64 appends a complex64 to the slice as a MessagePack extension +func AppendComplex64(b []byte, c complex64) []byte { + o, n := ensure(b, Complex64Size) + o[n] = mfixext8 + o[n+1] = Complex64Extension + big.PutUint32(o[n+2:], math.Float32bits(real(c))) + big.PutUint32(o[n+6:], math.Float32bits(imag(c))) + return o +} + +// AppendComplex128 appends a complex128 to the slice as a MessagePack extension +func AppendComplex128(b []byte, c complex128) []byte { + o, n := ensure(b, Complex128Size) + o[n] = mfixext16 + o[n+1] = Complex128Extension + big.PutUint64(o[n+2:], math.Float64bits(real(c))) + big.PutUint64(o[n+10:], math.Float64bits(imag(c))) + return o +} + +// AppendTime appends a time.Time to the slice as a MessagePack extension +func AppendTime(b []byte, t time.Time) []byte { + o, n := ensure(b, TimeSize) + t = t.UTC() + o[n] = mext8 + o[n+1] = 12 + o[n+2] = TimeExtension + putUnix(o[n+3:], t.Unix(), int32(t.Nanosecond())) + return o +} + +// AppendMapStrStr appends a map[string]string to the slice +// as a MessagePack map with 'str'-type keys and values +func AppendMapStrStr(b []byte, m map[string]string) []byte { + sz := uint32(len(m)) + b = AppendMapHeader(b, sz) + for key, val := range m { + b = AppendString(b, key) + b = AppendString(b, val) + } + return b +} + +// AppendMapStrIntf appends a map[string]interface{} to the slice +// as a MessagePack map with 'str'-type keys. +func AppendMapStrIntf(b []byte, m map[string]interface{}) ([]byte, error) { + sz := uint32(len(m)) + b = AppendMapHeader(b, sz) + var err error + for key, val := range m { + b = AppendString(b, key) + b, err = AppendIntf(b, val) + if err != nil { + return b, err + } + } + return b, nil +} + +// AppendIntf appends the concrete type of 'i' to the +// provided []byte. 'i' must be one of the following: +// - 'nil' +// - A bool, float, string, []byte, int, uint, or complex +// - A map[string]interface{} or map[string]string +// - A []T, where T is another supported type +// - A *T, where T is another supported type +// - A type that satisfieds the msgp.Marshaler interface +// - A type that satisfies the msgp.Extension interface +func AppendIntf(b []byte, i interface{}) ([]byte, error) { + if i == nil { + return AppendNil(b), nil + } + + // all the concrete types + // for which we have methods + switch i := i.(type) { + case Marshaler: + return i.MarshalMsg(b) + case Extension: + return AppendExtension(b, i) + case bool: + return AppendBool(b, i), nil + case float32: + return AppendFloat32(b, i), nil + case float64: + return AppendFloat64(b, i), nil + case complex64: + return AppendComplex64(b, i), nil + case complex128: + return AppendComplex128(b, i), nil + case string: + return AppendString(b, i), nil + case []byte: + return AppendBytes(b, i), nil + case int8: + return AppendInt8(b, i), nil + case int16: + return AppendInt16(b, i), nil + case int32: + return AppendInt32(b, i), nil + case int64: + return AppendInt64(b, i), nil + case int: + return AppendInt64(b, int64(i)), nil + case uint: + return AppendUint64(b, uint64(i)), nil + case uint8: + return AppendUint8(b, i), nil + case uint16: + return AppendUint16(b, i), nil + case uint32: + return AppendUint32(b, i), nil + case uint64: + return AppendUint64(b, i), nil + case time.Time: + return AppendTime(b, i), nil + case map[string]interface{}: + return AppendMapStrIntf(b, i) + case map[string]string: + return AppendMapStrStr(b, i), nil + case []interface{}: + b = AppendArrayHeader(b, uint32(len(i))) + var err error + for _, k := range i { + b, err = AppendIntf(b, k) + if err != nil { + return b, err + } + } + return b, nil + } + + var err error + v := reflect.ValueOf(i) + switch v.Kind() { + case reflect.Array, reflect.Slice: + l := v.Len() + b = AppendArrayHeader(b, uint32(l)) + for i := 0; i < l; i++ { + b, err = AppendIntf(b, v.Index(i).Interface()) + if err != nil { + return b, err + } + } + return b, nil + case reflect.Ptr: + if v.IsNil() { + return AppendNil(b), err + } + b, err = AppendIntf(b, v.Elem().Interface()) + return b, err + default: + return b, &ErrUnsupportedType{T: v.Type()} + } +} diff --git a/vendor/golang.org/x/crypto/LICENSE b/vendor/golang.org/x/crypto/LICENSE new file mode 100644 index 0000000..6a66aea --- /dev/null +++ b/vendor/golang.org/x/crypto/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/crypto/PATENTS b/vendor/golang.org/x/crypto/PATENTS new file mode 100644 index 0000000..7330990 --- /dev/null +++ b/vendor/golang.org/x/crypto/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the Go project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of Go, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of Go. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of Go or any code incorporated within this +implementation of Go constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of Go +shall terminate as of the date such litigation is filed. diff --git a/vendor/golang.org/x/crypto/bcrypt/base64.go b/vendor/golang.org/x/crypto/bcrypt/base64.go new file mode 100644 index 0000000..fc31160 --- /dev/null +++ b/vendor/golang.org/x/crypto/bcrypt/base64.go @@ -0,0 +1,35 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package bcrypt + +import "encoding/base64" + +const alphabet = "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + +var bcEncoding = base64.NewEncoding(alphabet) + +func base64Encode(src []byte) []byte { + n := bcEncoding.EncodedLen(len(src)) + dst := make([]byte, n) + bcEncoding.Encode(dst, src) + for dst[n-1] == '=' { + n-- + } + return dst[:n] +} + +func base64Decode(src []byte) ([]byte, error) { + numOfEquals := 4 - (len(src) % 4) + for i := 0; i < numOfEquals; i++ { + src = append(src, '=') + } + + dst := make([]byte, bcEncoding.DecodedLen(len(src))) + n, err := bcEncoding.Decode(dst, src) + if err != nil { + return nil, err + } + return dst[:n], nil +} diff --git a/vendor/golang.org/x/crypto/bcrypt/bcrypt.go b/vendor/golang.org/x/crypto/bcrypt/bcrypt.go new file mode 100644 index 0000000..f8b807f --- /dev/null +++ b/vendor/golang.org/x/crypto/bcrypt/bcrypt.go @@ -0,0 +1,294 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing +// algorithm. See http://www.usenix.org/event/usenix99/provos/provos.pdf +package bcrypt // import "golang.org/x/crypto/bcrypt" + +// The code is a port of Provos and Mazières's C implementation. +import ( + "crypto/rand" + "crypto/subtle" + "errors" + "fmt" + "golang.org/x/crypto/blowfish" + "io" + "strconv" +) + +const ( + MinCost int = 4 // the minimum allowable cost as passed in to GenerateFromPassword + MaxCost int = 31 // the maximum allowable cost as passed in to GenerateFromPassword + DefaultCost int = 10 // the cost that will actually be set if a cost below MinCost is passed into GenerateFromPassword +) + +// The error returned from CompareHashAndPassword when a password and hash do +// not match. +var ErrMismatchedHashAndPassword = errors.New("crypto/bcrypt: hashedPassword is not the hash of the given password") + +// The error returned from CompareHashAndPassword when a hash is too short to +// be a bcrypt hash. +var ErrHashTooShort = errors.New("crypto/bcrypt: hashedSecret too short to be a bcrypted password") + +// The error returned from CompareHashAndPassword when a hash was created with +// a bcrypt algorithm newer than this implementation. +type HashVersionTooNewError byte + +func (hv HashVersionTooNewError) Error() string { + return fmt.Sprintf("crypto/bcrypt: bcrypt algorithm version '%c' requested is newer than current version '%c'", byte(hv), majorVersion) +} + +// The error returned from CompareHashAndPassword when a hash starts with something other than '$' +type InvalidHashPrefixError byte + +func (ih InvalidHashPrefixError) Error() string { + return fmt.Sprintf("crypto/bcrypt: bcrypt hashes must start with '$', but hashedSecret started with '%c'", byte(ih)) +} + +type InvalidCostError int + +func (ic InvalidCostError) Error() string { + return fmt.Sprintf("crypto/bcrypt: cost %d is outside allowed range (%d,%d)", int(ic), int(MinCost), int(MaxCost)) +} + +const ( + majorVersion = '2' + minorVersion = 'a' + maxSaltSize = 16 + maxCryptedHashSize = 23 + encodedSaltSize = 22 + encodedHashSize = 31 + minHashSize = 59 +) + +// magicCipherData is an IV for the 64 Blowfish encryption calls in +// bcrypt(). It's the string "OrpheanBeholderScryDoubt" in big-endian bytes. +var magicCipherData = []byte{ + 0x4f, 0x72, 0x70, 0x68, + 0x65, 0x61, 0x6e, 0x42, + 0x65, 0x68, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x53, + 0x63, 0x72, 0x79, 0x44, + 0x6f, 0x75, 0x62, 0x74, +} + +type hashed struct { + hash []byte + salt []byte + cost int // allowed range is MinCost to MaxCost + major byte + minor byte +} + +// GenerateFromPassword returns the bcrypt hash of the password at the given +// cost. If the cost given is less than MinCost, the cost will be set to +// DefaultCost, instead. Use CompareHashAndPassword, as defined in this package, +// to compare the returned hashed password with its cleartext version. +func GenerateFromPassword(password []byte, cost int) ([]byte, error) { + p, err := newFromPassword(password, cost) + if err != nil { + return nil, err + } + return p.Hash(), nil +} + +// CompareHashAndPassword compares a bcrypt hashed password with its possible +// plaintext equivalent. Returns nil on success, or an error on failure. +func CompareHashAndPassword(hashedPassword, password []byte) error { + p, err := newFromHash(hashedPassword) + if err != nil { + return err + } + + otherHash, err := bcrypt(password, p.cost, p.salt) + if err != nil { + return err + } + + otherP := &hashed{otherHash, p.salt, p.cost, p.major, p.minor} + if subtle.ConstantTimeCompare(p.Hash(), otherP.Hash()) == 1 { + return nil + } + + return ErrMismatchedHashAndPassword +} + +// Cost returns the hashing cost used to create the given hashed +// password. When, in the future, the hashing cost of a password system needs +// to be increased in order to adjust for greater computational power, this +// function allows one to establish which passwords need to be updated. +func Cost(hashedPassword []byte) (int, error) { + p, err := newFromHash(hashedPassword) + if err != nil { + return 0, err + } + return p.cost, nil +} + +func newFromPassword(password []byte, cost int) (*hashed, error) { + if cost < MinCost { + cost = DefaultCost + } + p := new(hashed) + p.major = majorVersion + p.minor = minorVersion + + err := checkCost(cost) + if err != nil { + return nil, err + } + p.cost = cost + + unencodedSalt := make([]byte, maxSaltSize) + _, err = io.ReadFull(rand.Reader, unencodedSalt) + if err != nil { + return nil, err + } + + p.salt = base64Encode(unencodedSalt) + hash, err := bcrypt(password, p.cost, p.salt) + if err != nil { + return nil, err + } + p.hash = hash + return p, err +} + +func newFromHash(hashedSecret []byte) (*hashed, error) { + if len(hashedSecret) < minHashSize { + return nil, ErrHashTooShort + } + p := new(hashed) + n, err := p.decodeVersion(hashedSecret) + if err != nil { + return nil, err + } + hashedSecret = hashedSecret[n:] + n, err = p.decodeCost(hashedSecret) + if err != nil { + return nil, err + } + hashedSecret = hashedSecret[n:] + + // The "+2" is here because we'll have to append at most 2 '=' to the salt + // when base64 decoding it in expensiveBlowfishSetup(). + p.salt = make([]byte, encodedSaltSize, encodedSaltSize+2) + copy(p.salt, hashedSecret[:encodedSaltSize]) + + hashedSecret = hashedSecret[encodedSaltSize:] + p.hash = make([]byte, len(hashedSecret)) + copy(p.hash, hashedSecret) + + return p, nil +} + +func bcrypt(password []byte, cost int, salt []byte) ([]byte, error) { + cipherData := make([]byte, len(magicCipherData)) + copy(cipherData, magicCipherData) + + c, err := expensiveBlowfishSetup(password, uint32(cost), salt) + if err != nil { + return nil, err + } + + for i := 0; i < 24; i += 8 { + for j := 0; j < 64; j++ { + c.Encrypt(cipherData[i:i+8], cipherData[i:i+8]) + } + } + + // Bug compatibility with C bcrypt implementations. We only encode 23 of + // the 24 bytes encrypted. + hsh := base64Encode(cipherData[:maxCryptedHashSize]) + return hsh, nil +} + +func expensiveBlowfishSetup(key []byte, cost uint32, salt []byte) (*blowfish.Cipher, error) { + + csalt, err := base64Decode(salt) + if err != nil { + return nil, err + } + + // Bug compatibility with C bcrypt implementations. They use the trailing + // NULL in the key string during expansion. + ckey := append(key, 0) + + c, err := blowfish.NewSaltedCipher(ckey, csalt) + if err != nil { + return nil, err + } + + var i, rounds uint64 + rounds = 1 << cost + for i = 0; i < rounds; i++ { + blowfish.ExpandKey(ckey, c) + blowfish.ExpandKey(csalt, c) + } + + return c, nil +} + +func (p *hashed) Hash() []byte { + arr := make([]byte, 60) + arr[0] = '$' + arr[1] = p.major + n := 2 + if p.minor != 0 { + arr[2] = p.minor + n = 3 + } + arr[n] = '$' + n += 1 + copy(arr[n:], []byte(fmt.Sprintf("%02d", p.cost))) + n += 2 + arr[n] = '$' + n += 1 + copy(arr[n:], p.salt) + n += encodedSaltSize + copy(arr[n:], p.hash) + n += encodedHashSize + return arr[:n] +} + +func (p *hashed) decodeVersion(sbytes []byte) (int, error) { + if sbytes[0] != '$' { + return -1, InvalidHashPrefixError(sbytes[0]) + } + if sbytes[1] > majorVersion { + return -1, HashVersionTooNewError(sbytes[1]) + } + p.major = sbytes[1] + n := 3 + if sbytes[2] != '$' { + p.minor = sbytes[2] + n++ + } + return n, nil +} + +// sbytes should begin where decodeVersion left off. +func (p *hashed) decodeCost(sbytes []byte) (int, error) { + cost, err := strconv.Atoi(string(sbytes[0:2])) + if err != nil { + return -1, err + } + err = checkCost(cost) + if err != nil { + return -1, err + } + p.cost = cost + return 3, nil +} + +func (p *hashed) String() string { + return fmt.Sprintf("&{hash: %#v, salt: %#v, cost: %d, major: %c, minor: %c}", string(p.hash), p.salt, p.cost, p.major, p.minor) +} + +func checkCost(cost int) error { + if cost < MinCost || cost > MaxCost { + return InvalidCostError(cost) + } + return nil +} diff --git a/vendor/golang.org/x/crypto/blowfish/block.go b/vendor/golang.org/x/crypto/blowfish/block.go new file mode 100644 index 0000000..9d80f19 --- /dev/null +++ b/vendor/golang.org/x/crypto/blowfish/block.go @@ -0,0 +1,159 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package blowfish + +// getNextWord returns the next big-endian uint32 value from the byte slice +// at the given position in a circular manner, updating the position. +func getNextWord(b []byte, pos *int) uint32 { + var w uint32 + j := *pos + for i := 0; i < 4; i++ { + w = w<<8 | uint32(b[j]) + j++ + if j >= len(b) { + j = 0 + } + } + *pos = j + return w +} + +// ExpandKey performs a key expansion on the given *Cipher. Specifically, it +// performs the Blowfish algorithm's key schedule which sets up the *Cipher's +// pi and substitution tables for calls to Encrypt. This is used, primarily, +// by the bcrypt package to reuse the Blowfish key schedule during its +// set up. It's unlikely that you need to use this directly. +func ExpandKey(key []byte, c *Cipher) { + j := 0 + for i := 0; i < 18; i++ { + // Using inlined getNextWord for performance. + var d uint32 + for k := 0; k < 4; k++ { + d = d<<8 | uint32(key[j]) + j++ + if j >= len(key) { + j = 0 + } + } + c.p[i] ^= d + } + + var l, r uint32 + for i := 0; i < 18; i += 2 { + l, r = encryptBlock(l, r, c) + c.p[i], c.p[i+1] = l, r + } + + for i := 0; i < 256; i += 2 { + l, r = encryptBlock(l, r, c) + c.s0[i], c.s0[i+1] = l, r + } + for i := 0; i < 256; i += 2 { + l, r = encryptBlock(l, r, c) + c.s1[i], c.s1[i+1] = l, r + } + for i := 0; i < 256; i += 2 { + l, r = encryptBlock(l, r, c) + c.s2[i], c.s2[i+1] = l, r + } + for i := 0; i < 256; i += 2 { + l, r = encryptBlock(l, r, c) + c.s3[i], c.s3[i+1] = l, r + } +} + +// This is similar to ExpandKey, but folds the salt during the key +// schedule. While ExpandKey is essentially expandKeyWithSalt with an all-zero +// salt passed in, reusing ExpandKey turns out to be a place of inefficiency +// and specializing it here is useful. +func expandKeyWithSalt(key []byte, salt []byte, c *Cipher) { + j := 0 + for i := 0; i < 18; i++ { + c.p[i] ^= getNextWord(key, &j) + } + + j = 0 + var l, r uint32 + for i := 0; i < 18; i += 2 { + l ^= getNextWord(salt, &j) + r ^= getNextWord(salt, &j) + l, r = encryptBlock(l, r, c) + c.p[i], c.p[i+1] = l, r + } + + for i := 0; i < 256; i += 2 { + l ^= getNextWord(salt, &j) + r ^= getNextWord(salt, &j) + l, r = encryptBlock(l, r, c) + c.s0[i], c.s0[i+1] = l, r + } + + for i := 0; i < 256; i += 2 { + l ^= getNextWord(salt, &j) + r ^= getNextWord(salt, &j) + l, r = encryptBlock(l, r, c) + c.s1[i], c.s1[i+1] = l, r + } + + for i := 0; i < 256; i += 2 { + l ^= getNextWord(salt, &j) + r ^= getNextWord(salt, &j) + l, r = encryptBlock(l, r, c) + c.s2[i], c.s2[i+1] = l, r + } + + for i := 0; i < 256; i += 2 { + l ^= getNextWord(salt, &j) + r ^= getNextWord(salt, &j) + l, r = encryptBlock(l, r, c) + c.s3[i], c.s3[i+1] = l, r + } +} + +func encryptBlock(l, r uint32, c *Cipher) (uint32, uint32) { + xl, xr := l, r + xl ^= c.p[0] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[1] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[2] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[3] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[4] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[5] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[6] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[7] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[8] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[9] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[10] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[11] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[12] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[13] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[14] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[15] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[16] + xr ^= c.p[17] + return xr, xl +} + +func decryptBlock(l, r uint32, c *Cipher) (uint32, uint32) { + xl, xr := l, r + xl ^= c.p[17] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[16] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[15] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[14] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[13] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[12] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[11] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[10] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[9] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[8] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[7] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[6] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[5] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[4] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[3] + xr ^= ((c.s0[byte(xl>>24)] + c.s1[byte(xl>>16)]) ^ c.s2[byte(xl>>8)]) + c.s3[byte(xl)] ^ c.p[2] + xl ^= ((c.s0[byte(xr>>24)] + c.s1[byte(xr>>16)]) ^ c.s2[byte(xr>>8)]) + c.s3[byte(xr)] ^ c.p[1] + xr ^= c.p[0] + return xr, xl +} diff --git a/vendor/golang.org/x/crypto/blowfish/cipher.go b/vendor/golang.org/x/crypto/blowfish/cipher.go new file mode 100644 index 0000000..a73954f --- /dev/null +++ b/vendor/golang.org/x/crypto/blowfish/cipher.go @@ -0,0 +1,91 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. +package blowfish // import "golang.org/x/crypto/blowfish" + +// The code is a port of Bruce Schneier's C implementation. +// See http://www.schneier.com/blowfish.html. + +import "strconv" + +// The Blowfish block size in bytes. +const BlockSize = 8 + +// A Cipher is an instance of Blowfish encryption using a particular key. +type Cipher struct { + p [18]uint32 + s0, s1, s2, s3 [256]uint32 +} + +type KeySizeError int + +func (k KeySizeError) Error() string { + return "crypto/blowfish: invalid key size " + strconv.Itoa(int(k)) +} + +// NewCipher creates and returns a Cipher. +// The key argument should be the Blowfish key, from 1 to 56 bytes. +func NewCipher(key []byte) (*Cipher, error) { + var result Cipher + if k := len(key); k < 1 || k > 56 { + return nil, KeySizeError(k) + } + initCipher(&result) + ExpandKey(key, &result) + return &result, nil +} + +// NewSaltedCipher creates a returns a Cipher that folds a salt into its key +// schedule. For most purposes, NewCipher, instead of NewSaltedCipher, is +// sufficient and desirable. For bcrypt compatibility, the key can be over 56 +// bytes. +func NewSaltedCipher(key, salt []byte) (*Cipher, error) { + if len(salt) == 0 { + return NewCipher(key) + } + var result Cipher + if k := len(key); k < 1 { + return nil, KeySizeError(k) + } + initCipher(&result) + expandKeyWithSalt(key, salt, &result) + return &result, nil +} + +// BlockSize returns the Blowfish block size, 8 bytes. +// It is necessary to satisfy the Block interface in the +// package "crypto/cipher". +func (c *Cipher) BlockSize() int { return BlockSize } + +// Encrypt encrypts the 8-byte buffer src using the key k +// and stores the result in dst. +// Note that for amounts of data larger than a block, +// it is not safe to just call Encrypt on successive blocks; +// instead, use an encryption mode like CBC (see crypto/cipher/cbc.go). +func (c *Cipher) Encrypt(dst, src []byte) { + l := uint32(src[0])<<24 | uint32(src[1])<<16 | uint32(src[2])<<8 | uint32(src[3]) + r := uint32(src[4])<<24 | uint32(src[5])<<16 | uint32(src[6])<<8 | uint32(src[7]) + l, r = encryptBlock(l, r, c) + dst[0], dst[1], dst[2], dst[3] = byte(l>>24), byte(l>>16), byte(l>>8), byte(l) + dst[4], dst[5], dst[6], dst[7] = byte(r>>24), byte(r>>16), byte(r>>8), byte(r) +} + +// Decrypt decrypts the 8-byte buffer src using the key k +// and stores the result in dst. +func (c *Cipher) Decrypt(dst, src []byte) { + l := uint32(src[0])<<24 | uint32(src[1])<<16 | uint32(src[2])<<8 | uint32(src[3]) + r := uint32(src[4])<<24 | uint32(src[5])<<16 | uint32(src[6])<<8 | uint32(src[7]) + l, r = decryptBlock(l, r, c) + dst[0], dst[1], dst[2], dst[3] = byte(l>>24), byte(l>>16), byte(l>>8), byte(l) + dst[4], dst[5], dst[6], dst[7] = byte(r>>24), byte(r>>16), byte(r>>8), byte(r) +} + +func initCipher(c *Cipher) { + copy(c.p[0:], p[0:]) + copy(c.s0[0:], s0[0:]) + copy(c.s1[0:], s1[0:]) + copy(c.s2[0:], s2[0:]) + copy(c.s3[0:], s3[0:]) +} diff --git a/vendor/golang.org/x/crypto/blowfish/const.go b/vendor/golang.org/x/crypto/blowfish/const.go new file mode 100644 index 0000000..8c5ee4c --- /dev/null +++ b/vendor/golang.org/x/crypto/blowfish/const.go @@ -0,0 +1,199 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// The startup permutation array and substitution boxes. +// They are the hexadecimal digits of PI; see: +// http://www.schneier.com/code/constants.txt. + +package blowfish + +var s0 = [256]uint32{ + 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, + 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, + 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658, + 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, + 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, + 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, + 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6, + 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, + 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, + 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, + 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1, + 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, + 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, + 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, + 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176, + 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, + 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, + 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, + 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, + 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, + 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, + 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, + 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, + 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, + 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, + 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, + 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8, + 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, + 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, + 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, + 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0, + 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, + 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, + 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, + 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705, + 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, + 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, + 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, + 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, + 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, + 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, + 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, + 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a, +} + +var s1 = [256]uint32{ + 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, + 0x9cee60b8, 0x8fedb266, 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, + 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, + 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, + 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, + 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, + 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, + 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, + 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, + 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, + 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, + 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, + 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, + 0x501adde6, 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, + 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, + 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, + 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, + 0x3c11183b, 0x5924a509, 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, + 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, + 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, + 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, + 0x1939260f, 0x19c27960, 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, + 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, + 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, + 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, + 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, + 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, + 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, + 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, + 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, + 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, + 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, + 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, + 0xdb6c4f15, 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, + 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, + 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, + 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, + 0x1dadf43e, 0x233f7061, 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, + 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, + 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, + 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, + 0x675fda79, 0xe3674340, 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, + 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7, +} + +var s2 = [256]uint32{ + 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, + 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, + 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af, + 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, + 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, + 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, + 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, + 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, + 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, + 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, + 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, 0x55a867bc, 0xa1159a58, + 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, + 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, + 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, + 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, 0x257b7834, 0x602a9c60, + 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, + 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, + 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, + 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, 0x0a476341, 0x992eff74, + 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, + 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, + 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, + 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979, + 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, + 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, + 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, + 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, + 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, + 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, + 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, + 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, + 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, + 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, + 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, + 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, 0xdcb7da83, 0x573906fe, + 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, + 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, + 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, + 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409, 0x4b7c0188, + 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, + 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, + 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, + 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0, +} + +var s3 = [256]uint32{ + 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, + 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, + 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79, + 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, + 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, + 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, + 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1, + 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, + 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, + 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, + 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, + 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, + 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, + 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, + 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5, + 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, + 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, + 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, + 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd, + 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, + 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, + 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, + 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc, + 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, + 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, + 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, + 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a, + 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, + 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, + 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, + 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, + 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, + 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, + 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, + 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623, + 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, + 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, + 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, + 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3, + 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, + 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, + 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, + 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6, +} + +var p = [18]uint32{ + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, + 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, + 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b, +} diff --git a/vendor/gopkg.in/mgo.v2/LICENSE b/vendor/gopkg.in/mgo.v2/LICENSE new file mode 100644 index 0000000..770c767 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/LICENSE @@ -0,0 +1,25 @@ +mgo - MongoDB driver for Go + +Copyright (c) 2010-2013 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/gopkg.in/mgo.v2/Makefile b/vendor/gopkg.in/mgo.v2/Makefile new file mode 100644 index 0000000..51bee73 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/Makefile @@ -0,0 +1,5 @@ +startdb: + @testdb/setup.sh start + +stopdb: + @testdb/setup.sh stop diff --git a/vendor/gopkg.in/mgo.v2/README.md b/vendor/gopkg.in/mgo.v2/README.md new file mode 100644 index 0000000..f4e452c --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/README.md @@ -0,0 +1,4 @@ +The MongoDB driver for Go +------------------------- + +Please go to [http://labix.org/mgo](http://labix.org/mgo) for all project details. diff --git a/vendor/gopkg.in/mgo.v2/auth.go b/vendor/gopkg.in/mgo.v2/auth.go new file mode 100644 index 0000000..dc26e52 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/auth.go @@ -0,0 +1,467 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "crypto/md5" + "crypto/sha1" + "encoding/hex" + "errors" + "fmt" + "sync" + + "gopkg.in/mgo.v2/bson" + "gopkg.in/mgo.v2/internal/scram" +) + +type authCmd struct { + Authenticate int + + Nonce string + User string + Key string +} + +type startSaslCmd struct { + StartSASL int `bson:"startSasl"` +} + +type authResult struct { + ErrMsg string + Ok bool +} + +type getNonceCmd struct { + GetNonce int +} + +type getNonceResult struct { + Nonce string + Err string "$err" + Code int +} + +type logoutCmd struct { + Logout int +} + +type saslCmd struct { + Start int `bson:"saslStart,omitempty"` + Continue int `bson:"saslContinue,omitempty"` + ConversationId int `bson:"conversationId,omitempty"` + Mechanism string `bson:"mechanism,omitempty"` + Payload []byte +} + +type saslResult struct { + Ok bool `bson:"ok"` + NotOk bool `bson:"code"` // Server <= 2.3.2 returns ok=1 & code>0 on errors (WTF?) + Done bool + + ConversationId int `bson:"conversationId"` + Payload []byte + ErrMsg string +} + +type saslStepper interface { + Step(serverData []byte) (clientData []byte, done bool, err error) + Close() +} + +func (socket *mongoSocket) getNonce() (nonce string, err error) { + socket.Lock() + for socket.cachedNonce == "" && socket.dead == nil { + debugf("Socket %p to %s: waiting for nonce", socket, socket.addr) + socket.gotNonce.Wait() + } + if socket.cachedNonce == "mongos" { + socket.Unlock() + return "", errors.New("Can't authenticate with mongos; see http://j.mp/mongos-auth") + } + debugf("Socket %p to %s: got nonce", socket, socket.addr) + nonce, err = socket.cachedNonce, socket.dead + socket.cachedNonce = "" + socket.Unlock() + if err != nil { + nonce = "" + } + return +} + +func (socket *mongoSocket) resetNonce() { + debugf("Socket %p to %s: requesting a new nonce", socket, socket.addr) + op := &queryOp{} + op.query = &getNonceCmd{GetNonce: 1} + op.collection = "admin.$cmd" + op.limit = -1 + op.replyFunc = func(err error, reply *replyOp, docNum int, docData []byte) { + if err != nil { + socket.kill(errors.New("getNonce: "+err.Error()), true) + return + } + result := &getNonceResult{} + err = bson.Unmarshal(docData, &result) + if err != nil { + socket.kill(errors.New("Failed to unmarshal nonce: "+err.Error()), true) + return + } + debugf("Socket %p to %s: nonce unmarshalled: %#v", socket, socket.addr, result) + if result.Code == 13390 { + // mongos doesn't yet support auth (see http://j.mp/mongos-auth) + result.Nonce = "mongos" + } else if result.Nonce == "" { + var msg string + if result.Err != "" { + msg = fmt.Sprintf("Got an empty nonce: %s (%d)", result.Err, result.Code) + } else { + msg = "Got an empty nonce" + } + socket.kill(errors.New(msg), true) + return + } + socket.Lock() + if socket.cachedNonce != "" { + socket.Unlock() + panic("resetNonce: nonce already cached") + } + socket.cachedNonce = result.Nonce + socket.gotNonce.Signal() + socket.Unlock() + } + err := socket.Query(op) + if err != nil { + socket.kill(errors.New("resetNonce: "+err.Error()), true) + } +} + +func (socket *mongoSocket) Login(cred Credential) error { + socket.Lock() + if cred.Mechanism == "" && socket.serverInfo.MaxWireVersion >= 3 { + cred.Mechanism = "SCRAM-SHA-1" + } + for _, sockCred := range socket.creds { + if sockCred == cred { + debugf("Socket %p to %s: login: db=%q user=%q (already logged in)", socket, socket.addr, cred.Source, cred.Username) + socket.Unlock() + return nil + } + } + if socket.dropLogout(cred) { + debugf("Socket %p to %s: login: db=%q user=%q (cached)", socket, socket.addr, cred.Source, cred.Username) + socket.creds = append(socket.creds, cred) + socket.Unlock() + return nil + } + socket.Unlock() + + debugf("Socket %p to %s: login: db=%q user=%q", socket, socket.addr, cred.Source, cred.Username) + + var err error + switch cred.Mechanism { + case "", "MONGODB-CR", "MONGO-CR": // Name changed to MONGODB-CR in SERVER-8501. + err = socket.loginClassic(cred) + case "PLAIN": + err = socket.loginPlain(cred) + case "MONGODB-X509": + err = socket.loginX509(cred) + default: + // Try SASL for everything else, if it is available. + err = socket.loginSASL(cred) + } + + if err != nil { + debugf("Socket %p to %s: login error: %s", socket, socket.addr, err) + } else { + debugf("Socket %p to %s: login successful", socket, socket.addr) + } + return err +} + +func (socket *mongoSocket) loginClassic(cred Credential) error { + // Note that this only works properly because this function is + // synchronous, which means the nonce won't get reset while we're + // using it and any other login requests will block waiting for a + // new nonce provided in the defer call below. + nonce, err := socket.getNonce() + if err != nil { + return err + } + defer socket.resetNonce() + + psum := md5.New() + psum.Write([]byte(cred.Username + ":mongo:" + cred.Password)) + + ksum := md5.New() + ksum.Write([]byte(nonce + cred.Username)) + ksum.Write([]byte(hex.EncodeToString(psum.Sum(nil)))) + + key := hex.EncodeToString(ksum.Sum(nil)) + + cmd := authCmd{Authenticate: 1, User: cred.Username, Nonce: nonce, Key: key} + res := authResult{} + return socket.loginRun(cred.Source, &cmd, &res, func() error { + if !res.Ok { + return errors.New(res.ErrMsg) + } + socket.Lock() + socket.dropAuth(cred.Source) + socket.creds = append(socket.creds, cred) + socket.Unlock() + return nil + }) +} + +type authX509Cmd struct { + Authenticate int + User string + Mechanism string +} + +func (socket *mongoSocket) loginX509(cred Credential) error { + cmd := authX509Cmd{Authenticate: 1, User: cred.Username, Mechanism: "MONGODB-X509"} + res := authResult{} + return socket.loginRun(cred.Source, &cmd, &res, func() error { + if !res.Ok { + return errors.New(res.ErrMsg) + } + socket.Lock() + socket.dropAuth(cred.Source) + socket.creds = append(socket.creds, cred) + socket.Unlock() + return nil + }) +} + +func (socket *mongoSocket) loginPlain(cred Credential) error { + cmd := saslCmd{Start: 1, Mechanism: "PLAIN", Payload: []byte("\x00" + cred.Username + "\x00" + cred.Password)} + res := authResult{} + return socket.loginRun(cred.Source, &cmd, &res, func() error { + if !res.Ok { + return errors.New(res.ErrMsg) + } + socket.Lock() + socket.dropAuth(cred.Source) + socket.creds = append(socket.creds, cred) + socket.Unlock() + return nil + }) +} + +func (socket *mongoSocket) loginSASL(cred Credential) error { + var sasl saslStepper + var err error + if cred.Mechanism == "SCRAM-SHA-1" { + // SCRAM is handled without external libraries. + sasl = saslNewScram(cred) + } else if len(cred.ServiceHost) > 0 { + sasl, err = saslNew(cred, cred.ServiceHost) + } else { + sasl, err = saslNew(cred, socket.Server().Addr) + } + if err != nil { + return err + } + defer sasl.Close() + + // The goal of this logic is to carry a locked socket until the + // local SASL step confirms the auth is valid; the socket needs to be + // locked so that concurrent action doesn't leave the socket in an + // auth state that doesn't reflect the operations that took place. + // As a simple case, imagine inverting login=>logout to logout=>login. + // + // The logic below works because the lock func isn't called concurrently. + locked := false + lock := func(b bool) { + if locked != b { + locked = b + if b { + socket.Lock() + } else { + socket.Unlock() + } + } + } + + lock(true) + defer lock(false) + + start := 1 + cmd := saslCmd{} + res := saslResult{} + for { + payload, done, err := sasl.Step(res.Payload) + if err != nil { + return err + } + if done && res.Done { + socket.dropAuth(cred.Source) + socket.creds = append(socket.creds, cred) + break + } + lock(false) + + cmd = saslCmd{ + Start: start, + Continue: 1 - start, + ConversationId: res.ConversationId, + Mechanism: cred.Mechanism, + Payload: payload, + } + start = 0 + err = socket.loginRun(cred.Source, &cmd, &res, func() error { + // See the comment on lock for why this is necessary. + lock(true) + if !res.Ok || res.NotOk { + return fmt.Errorf("server returned error on SASL authentication step: %s", res.ErrMsg) + } + return nil + }) + if err != nil { + return err + } + if done && res.Done { + socket.dropAuth(cred.Source) + socket.creds = append(socket.creds, cred) + break + } + } + + return nil +} + +func saslNewScram(cred Credential) *saslScram { + credsum := md5.New() + credsum.Write([]byte(cred.Username + ":mongo:" + cred.Password)) + client := scram.NewClient(sha1.New, cred.Username, hex.EncodeToString(credsum.Sum(nil))) + return &saslScram{cred: cred, client: client} +} + +type saslScram struct { + cred Credential + client *scram.Client +} + +func (s *saslScram) Close() {} + +func (s *saslScram) Step(serverData []byte) (clientData []byte, done bool, err error) { + more := s.client.Step(serverData) + return s.client.Out(), !more, s.client.Err() +} + +func (socket *mongoSocket) loginRun(db string, query, result interface{}, f func() error) error { + var mutex sync.Mutex + var replyErr error + mutex.Lock() + + op := queryOp{} + op.query = query + op.collection = db + ".$cmd" + op.limit = -1 + op.replyFunc = func(err error, reply *replyOp, docNum int, docData []byte) { + defer mutex.Unlock() + + if err != nil { + replyErr = err + return + } + + err = bson.Unmarshal(docData, result) + if err != nil { + replyErr = err + } else { + // Must handle this within the read loop for the socket, so + // that concurrent login requests are properly ordered. + replyErr = f() + } + } + + err := socket.Query(&op) + if err != nil { + return err + } + mutex.Lock() // Wait. + return replyErr +} + +func (socket *mongoSocket) Logout(db string) { + socket.Lock() + cred, found := socket.dropAuth(db) + if found { + debugf("Socket %p to %s: logout: db=%q (flagged)", socket, socket.addr, db) + socket.logout = append(socket.logout, cred) + } + socket.Unlock() +} + +func (socket *mongoSocket) LogoutAll() { + socket.Lock() + if l := len(socket.creds); l > 0 { + debugf("Socket %p to %s: logout all (flagged %d)", socket, socket.addr, l) + socket.logout = append(socket.logout, socket.creds...) + socket.creds = socket.creds[0:0] + } + socket.Unlock() +} + +func (socket *mongoSocket) flushLogout() (ops []interface{}) { + socket.Lock() + if l := len(socket.logout); l > 0 { + debugf("Socket %p to %s: logout all (flushing %d)", socket, socket.addr, l) + for i := 0; i != l; i++ { + op := queryOp{} + op.query = &logoutCmd{1} + op.collection = socket.logout[i].Source + ".$cmd" + op.limit = -1 + ops = append(ops, &op) + } + socket.logout = socket.logout[0:0] + } + socket.Unlock() + return +} + +func (socket *mongoSocket) dropAuth(db string) (cred Credential, found bool) { + for i, sockCred := range socket.creds { + if sockCred.Source == db { + copy(socket.creds[i:], socket.creds[i+1:]) + socket.creds = socket.creds[:len(socket.creds)-1] + return sockCred, true + } + } + return cred, false +} + +func (socket *mongoSocket) dropLogout(cred Credential) (found bool) { + for i, sockCred := range socket.logout { + if sockCred == cred { + copy(socket.logout[i:], socket.logout[i+1:]) + socket.logout = socket.logout[:len(socket.logout)-1] + return true + } + } + return false +} diff --git a/vendor/gopkg.in/mgo.v2/bson/LICENSE b/vendor/gopkg.in/mgo.v2/bson/LICENSE new file mode 100644 index 0000000..8903260 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/bson/LICENSE @@ -0,0 +1,25 @@ +BSON library for Go + +Copyright (c) 2010-2012 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/gopkg.in/mgo.v2/bson/bson.go b/vendor/gopkg.in/mgo.v2/bson/bson.go new file mode 100644 index 0000000..579aec1 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/bson/bson.go @@ -0,0 +1,721 @@ +// BSON library for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Package bson is an implementation of the BSON specification for Go: +// +// http://bsonspec.org +// +// It was created as part of the mgo MongoDB driver for Go, but is standalone +// and may be used on its own without the driver. +package bson + +import ( + "bytes" + "crypto/md5" + "crypto/rand" + "encoding/binary" + "encoding/hex" + "errors" + "fmt" + "io" + "os" + "reflect" + "runtime" + "strings" + "sync" + "sync/atomic" + "time" +) + +// -------------------------------------------------------------------------- +// The public API. + +// A value implementing the bson.Getter interface will have its GetBSON +// method called when the given value has to be marshalled, and the result +// of this method will be marshaled in place of the actual object. +// +// If GetBSON returns return a non-nil error, the marshalling procedure +// will stop and error out with the provided value. +type Getter interface { + GetBSON() (interface{}, error) +} + +// A value implementing the bson.Setter interface will receive the BSON +// value via the SetBSON method during unmarshaling, and the object +// itself will not be changed as usual. +// +// If setting the value works, the method should return nil or alternatively +// bson.SetZero to set the respective field to its zero value (nil for +// pointer types). If SetBSON returns a value of type bson.TypeError, the +// BSON value will be omitted from a map or slice being decoded and the +// unmarshalling will continue. If it returns any other non-nil error, the +// unmarshalling procedure will stop and error out with the provided value. +// +// This interface is generally useful in pointer receivers, since the method +// will want to change the receiver. A type field that implements the Setter +// interface doesn't have to be a pointer, though. +// +// Unlike the usual behavior, unmarshalling onto a value that implements a +// Setter interface will NOT reset the value to its zero state. This allows +// the value to decide by itself how to be unmarshalled. +// +// For example: +// +// type MyString string +// +// func (s *MyString) SetBSON(raw bson.Raw) error { +// return raw.Unmarshal(s) +// } +// +type Setter interface { + SetBSON(raw Raw) error +} + +// SetZero may be returned from a SetBSON method to have the value set to +// its respective zero value. When used in pointer values, this will set the +// field to nil rather than to the pre-allocated value. +var SetZero = errors.New("set to zero") + +// M is a convenient alias for a map[string]interface{} map, useful for +// dealing with BSON in a native way. For instance: +// +// bson.M{"a": 1, "b": true} +// +// There's no special handling for this type in addition to what's done anyway +// for an equivalent map type. Elements in the map will be dumped in an +// undefined ordered. See also the bson.D type for an ordered alternative. +type M map[string]interface{} + +// D represents a BSON document containing ordered elements. For example: +// +// bson.D{{"a", 1}, {"b", true}} +// +// In some situations, such as when creating indexes for MongoDB, the order in +// which the elements are defined is important. If the order is not important, +// using a map is generally more comfortable. See bson.M and bson.RawD. +type D []DocElem + +// DocElem is an element of the bson.D document representation. +type DocElem struct { + Name string + Value interface{} +} + +// Map returns a map out of the ordered element name/value pairs in d. +func (d D) Map() (m M) { + m = make(M, len(d)) + for _, item := range d { + m[item.Name] = item.Value + } + return m +} + +// The Raw type represents raw unprocessed BSON documents and elements. +// Kind is the kind of element as defined per the BSON specification, and +// Data is the raw unprocessed data for the respective element. +// Using this type it is possible to unmarshal or marshal values partially. +// +// Relevant documentation: +// +// http://bsonspec.org/#/specification +// +type Raw struct { + Kind byte + Data []byte +} + +// RawD represents a BSON document containing raw unprocessed elements. +// This low-level representation may be useful when lazily processing +// documents of uncertain content, or when manipulating the raw content +// documents in general. +type RawD []RawDocElem + +// See the RawD type. +type RawDocElem struct { + Name string + Value Raw +} + +// ObjectId is a unique ID identifying a BSON value. It must be exactly 12 bytes +// long. MongoDB objects by default have such a property set in their "_id" +// property. +// +// http://www.mongodb.org/display/DOCS/Object+IDs +type ObjectId string + +// ObjectIdHex returns an ObjectId from the provided hex representation. +// Calling this function with an invalid hex representation will +// cause a runtime panic. See the IsObjectIdHex function. +func ObjectIdHex(s string) ObjectId { + d, err := hex.DecodeString(s) + if err != nil || len(d) != 12 { + panic(fmt.Sprintf("invalid input to ObjectIdHex: %q", s)) + } + return ObjectId(d) +} + +// IsObjectIdHex returns whether s is a valid hex representation of +// an ObjectId. See the ObjectIdHex function. +func IsObjectIdHex(s string) bool { + if len(s) != 24 { + return false + } + _, err := hex.DecodeString(s) + return err == nil +} + +// objectIdCounter is atomically incremented when generating a new ObjectId +// using NewObjectId() function. It's used as a counter part of an id. +var objectIdCounter uint32 = readRandomUint32() + +// readRandomUint32 returns a random objectIdCounter. +func readRandomUint32() uint32 { + var b [4]byte + _, err := io.ReadFull(rand.Reader, b[:]) + if err != nil { + panic(fmt.Errorf("cannot read random object id: %v", err)) + } + return uint32((uint32(b[0]) << 0) | (uint32(b[1]) << 8) | (uint32(b[2]) << 16) | (uint32(b[3]) << 24)) +} + +// machineId stores machine id generated once and used in subsequent calls +// to NewObjectId function. +var machineId = readMachineId() + +// readMachineId generates and returns a machine id. +// If this function fails to get the hostname it will cause a runtime error. +func readMachineId() []byte { + var sum [3]byte + id := sum[:] + hostname, err1 := os.Hostname() + if err1 != nil { + _, err2 := io.ReadFull(rand.Reader, id) + if err2 != nil { + panic(fmt.Errorf("cannot get hostname: %v; %v", err1, err2)) + } + return id + } + hw := md5.New() + hw.Write([]byte(hostname)) + copy(id, hw.Sum(nil)) + return id +} + +// NewObjectId returns a new unique ObjectId. +func NewObjectId() ObjectId { + var b [12]byte + // Timestamp, 4 bytes, big endian + binary.BigEndian.PutUint32(b[:], uint32(time.Now().Unix())) + // Machine, first 3 bytes of md5(hostname) + b[4] = machineId[0] + b[5] = machineId[1] + b[6] = machineId[2] + // Pid, 2 bytes, specs don't specify endianness, but we use big endian. + pid := os.Getpid() + b[7] = byte(pid >> 8) + b[8] = byte(pid) + // Increment, 3 bytes, big endian + i := atomic.AddUint32(&objectIdCounter, 1) + b[9] = byte(i >> 16) + b[10] = byte(i >> 8) + b[11] = byte(i) + return ObjectId(b[:]) +} + +// NewObjectIdWithTime returns a dummy ObjectId with the timestamp part filled +// with the provided number of seconds from epoch UTC, and all other parts +// filled with zeroes. It's not safe to insert a document with an id generated +// by this method, it is useful only for queries to find documents with ids +// generated before or after the specified timestamp. +func NewObjectIdWithTime(t time.Time) ObjectId { + var b [12]byte + binary.BigEndian.PutUint32(b[:4], uint32(t.Unix())) + return ObjectId(string(b[:])) +} + +// String returns a hex string representation of the id. +// Example: ObjectIdHex("4d88e15b60f486e428412dc9"). +func (id ObjectId) String() string { + return fmt.Sprintf(`ObjectIdHex("%x")`, string(id)) +} + +// Hex returns a hex representation of the ObjectId. +func (id ObjectId) Hex() string { + return hex.EncodeToString([]byte(id)) +} + +// MarshalJSON turns a bson.ObjectId into a json.Marshaller. +func (id ObjectId) MarshalJSON() ([]byte, error) { + return []byte(fmt.Sprintf(`"%x"`, string(id))), nil +} + +var nullBytes = []byte("null") + +// UnmarshalJSON turns *bson.ObjectId into a json.Unmarshaller. +func (id *ObjectId) UnmarshalJSON(data []byte) error { + if len(data) == 2 && data[0] == '"' && data[1] == '"' || bytes.Equal(data, nullBytes) { + *id = "" + return nil + } + if len(data) != 26 || data[0] != '"' || data[25] != '"' { + return errors.New(fmt.Sprintf("invalid ObjectId in JSON: %s", string(data))) + } + var buf [12]byte + _, err := hex.Decode(buf[:], data[1:25]) + if err != nil { + return errors.New(fmt.Sprintf("invalid ObjectId in JSON: %s (%s)", string(data), err)) + } + *id = ObjectId(string(buf[:])) + return nil +} + +// MarshalText turns bson.ObjectId into an encoding.TextMarshaler. +func (id ObjectId) MarshalText() ([]byte, error) { + return []byte(fmt.Sprintf("%x", string(id))), nil +} + +// UnmarshalText turns *bson.ObjectId into an encoding.TextUnmarshaler. +func (id *ObjectId) UnmarshalText(data []byte) error { + if len(data) == 1 && data[0] == ' ' || len(data) == 0 { + *id = "" + return nil + } + if len(data) != 24 { + return fmt.Errorf("invalid ObjectId: %s", data) + } + var buf [12]byte + _, err := hex.Decode(buf[:], data[:]) + if err != nil { + return fmt.Errorf("invalid ObjectId: %s (%s)", data, err) + } + *id = ObjectId(string(buf[:])) + return nil +} + +// Valid returns true if id is valid. A valid id must contain exactly 12 bytes. +func (id ObjectId) Valid() bool { + return len(id) == 12 +} + +// byteSlice returns byte slice of id from start to end. +// Calling this function with an invalid id will cause a runtime panic. +func (id ObjectId) byteSlice(start, end int) []byte { + if len(id) != 12 { + panic(fmt.Sprintf("invalid ObjectId: %q", string(id))) + } + return []byte(string(id)[start:end]) +} + +// Time returns the timestamp part of the id. +// It's a runtime error to call this method with an invalid id. +func (id ObjectId) Time() time.Time { + // First 4 bytes of ObjectId is 32-bit big-endian seconds from epoch. + secs := int64(binary.BigEndian.Uint32(id.byteSlice(0, 4))) + return time.Unix(secs, 0) +} + +// Machine returns the 3-byte machine id part of the id. +// It's a runtime error to call this method with an invalid id. +func (id ObjectId) Machine() []byte { + return id.byteSlice(4, 7) +} + +// Pid returns the process id part of the id. +// It's a runtime error to call this method with an invalid id. +func (id ObjectId) Pid() uint16 { + return binary.BigEndian.Uint16(id.byteSlice(7, 9)) +} + +// Counter returns the incrementing value part of the id. +// It's a runtime error to call this method with an invalid id. +func (id ObjectId) Counter() int32 { + b := id.byteSlice(9, 12) + // Counter is stored as big-endian 3-byte value + return int32(uint32(b[0])<<16 | uint32(b[1])<<8 | uint32(b[2])) +} + +// The Symbol type is similar to a string and is used in languages with a +// distinct symbol type. +type Symbol string + +// Now returns the current time with millisecond precision. MongoDB stores +// timestamps with the same precision, so a Time returned from this method +// will not change after a roundtrip to the database. That's the only reason +// why this function exists. Using the time.Now function also works fine +// otherwise. +func Now() time.Time { + return time.Unix(0, time.Now().UnixNano()/1e6*1e6) +} + +// MongoTimestamp is a special internal type used by MongoDB that for some +// strange reason has its own datatype defined in BSON. +type MongoTimestamp int64 + +type orderKey int64 + +// MaxKey is a special value that compares higher than all other possible BSON +// values in a MongoDB database. +var MaxKey = orderKey(1<<63 - 1) + +// MinKey is a special value that compares lower than all other possible BSON +// values in a MongoDB database. +var MinKey = orderKey(-1 << 63) + +type undefined struct{} + +// Undefined represents the undefined BSON value. +var Undefined undefined + +// Binary is a representation for non-standard binary values. Any kind should +// work, but the following are known as of this writing: +// +// 0x00 - Generic. This is decoded as []byte(data), not Binary{0x00, data}. +// 0x01 - Function (!?) +// 0x02 - Obsolete generic. +// 0x03 - UUID +// 0x05 - MD5 +// 0x80 - User defined. +// +type Binary struct { + Kind byte + Data []byte +} + +// RegEx represents a regular expression. The Options field may contain +// individual characters defining the way in which the pattern should be +// applied, and must be sorted. Valid options as of this writing are 'i' for +// case insensitive matching, 'm' for multi-line matching, 'x' for verbose +// mode, 'l' to make \w, \W, and similar be locale-dependent, 's' for dot-all +// mode (a '.' matches everything), and 'u' to make \w, \W, and similar match +// unicode. The value of the Options parameter is not verified before being +// marshaled into the BSON format. +type RegEx struct { + Pattern string + Options string +} + +// JavaScript is a type that holds JavaScript code. If Scope is non-nil, it +// will be marshaled as a mapping from identifiers to values that may be +// used when evaluating the provided Code. +type JavaScript struct { + Code string + Scope interface{} +} + +// DBPointer refers to a document id in a namespace. +// +// This type is deprecated in the BSON specification and should not be used +// except for backwards compatibility with ancient applications. +type DBPointer struct { + Namespace string + Id ObjectId +} + +const initialBufferSize = 64 + +func handleErr(err *error) { + if r := recover(); r != nil { + if _, ok := r.(runtime.Error); ok { + panic(r) + } else if _, ok := r.(externalPanic); ok { + panic(r) + } else if s, ok := r.(string); ok { + *err = errors.New(s) + } else if e, ok := r.(error); ok { + *err = e + } else { + panic(r) + } + } +} + +// Marshal serializes the in value, which may be a map or a struct value. +// In the case of struct values, only exported fields will be serialized, +// and the order of serialized fields will match that of the struct itself. +// The lowercased field name is used as the key for each exported field, +// but this behavior may be changed using the respective field tag. +// The tag may also contain flags to tweak the marshalling behavior for +// the field. The tag formats accepted are: +// +// "[][,[,]]" +// +// `(...) bson:"[][,[,]]" (...)` +// +// The following flags are currently supported: +// +// omitempty Only include the field if it's not set to the zero +// value for the type or to empty slices or maps. +// +// minsize Marshal an int64 value as an int32, if that's feasible +// while preserving the numeric value. +// +// inline Inline the field, which must be a struct or a map, +// causing all of its fields or keys to be processed as if +// they were part of the outer struct. For maps, keys must +// not conflict with the bson keys of other struct fields. +// +// Some examples: +// +// type T struct { +// A bool +// B int "myb" +// C string "myc,omitempty" +// D string `bson:",omitempty" json:"jsonkey"` +// E int64 ",minsize" +// F int64 "myf,omitempty,minsize" +// } +// +func Marshal(in interface{}) (out []byte, err error) { + defer handleErr(&err) + e := &encoder{make([]byte, 0, initialBufferSize)} + e.addDoc(reflect.ValueOf(in)) + return e.out, nil +} + +// Unmarshal deserializes data from in into the out value. The out value +// must be a map, a pointer to a struct, or a pointer to a bson.D value. +// In the case of struct values, only exported fields will be deserialized. +// The lowercased field name is used as the key for each exported field, +// but this behavior may be changed using the respective field tag. +// The tag may also contain flags to tweak the marshalling behavior for +// the field. The tag formats accepted are: +// +// "[][,[,]]" +// +// `(...) bson:"[][,[,]]" (...)` +// +// The following flags are currently supported during unmarshal (see the +// Marshal method for other flags): +// +// inline Inline the field, which must be a struct or a map. +// Inlined structs are handled as if its fields were part +// of the outer struct. An inlined map causes keys that do +// not match any other struct field to be inserted in the +// map rather than being discarded as usual. +// +// The target field or element types of out may not necessarily match +// the BSON values of the provided data. The following conversions are +// made automatically: +// +// - Numeric types are converted if at least the integer part of the +// value would be preserved correctly +// - Bools are converted to numeric types as 1 or 0 +// - Numeric types are converted to bools as true if not 0 or false otherwise +// - Binary and string BSON data is converted to a string, array or byte slice +// +// If the value would not fit the type and cannot be converted, it's +// silently skipped. +// +// Pointer values are initialized when necessary. +func Unmarshal(in []byte, out interface{}) (err error) { + if raw, ok := out.(*Raw); ok { + raw.Kind = 3 + raw.Data = in + return nil + } + defer handleErr(&err) + v := reflect.ValueOf(out) + switch v.Kind() { + case reflect.Ptr: + fallthrough + case reflect.Map: + d := newDecoder(in) + d.readDocTo(v) + case reflect.Struct: + return errors.New("Unmarshal can't deal with struct values. Use a pointer.") + default: + return errors.New("Unmarshal needs a map or a pointer to a struct.") + } + return nil +} + +// Unmarshal deserializes raw into the out value. If the out value type +// is not compatible with raw, a *bson.TypeError is returned. +// +// See the Unmarshal function documentation for more details on the +// unmarshalling process. +func (raw Raw) Unmarshal(out interface{}) (err error) { + defer handleErr(&err) + v := reflect.ValueOf(out) + switch v.Kind() { + case reflect.Ptr: + v = v.Elem() + fallthrough + case reflect.Map: + d := newDecoder(raw.Data) + good := d.readElemTo(v, raw.Kind) + if !good { + return &TypeError{v.Type(), raw.Kind} + } + case reflect.Struct: + return errors.New("Raw Unmarshal can't deal with struct values. Use a pointer.") + default: + return errors.New("Raw Unmarshal needs a map or a valid pointer.") + } + return nil +} + +type TypeError struct { + Type reflect.Type + Kind byte +} + +func (e *TypeError) Error() string { + return fmt.Sprintf("BSON kind 0x%02x isn't compatible with type %s", e.Kind, e.Type.String()) +} + +// -------------------------------------------------------------------------- +// Maintain a mapping of keys to structure field indexes + +type structInfo struct { + FieldsMap map[string]fieldInfo + FieldsList []fieldInfo + InlineMap int + Zero reflect.Value +} + +type fieldInfo struct { + Key string + Num int + OmitEmpty bool + MinSize bool + Inline []int +} + +var structMap = make(map[reflect.Type]*structInfo) +var structMapMutex sync.RWMutex + +type externalPanic string + +func (e externalPanic) String() string { + return string(e) +} + +func getStructInfo(st reflect.Type) (*structInfo, error) { + structMapMutex.RLock() + sinfo, found := structMap[st] + structMapMutex.RUnlock() + if found { + return sinfo, nil + } + n := st.NumField() + fieldsMap := make(map[string]fieldInfo) + fieldsList := make([]fieldInfo, 0, n) + inlineMap := -1 + for i := 0; i != n; i++ { + field := st.Field(i) + if field.PkgPath != "" && !field.Anonymous { + continue // Private field + } + + info := fieldInfo{Num: i} + + tag := field.Tag.Get("bson") + if tag == "" && strings.Index(string(field.Tag), ":") < 0 { + tag = string(field.Tag) + } + if tag == "-" { + continue + } + + inline := false + fields := strings.Split(tag, ",") + if len(fields) > 1 { + for _, flag := range fields[1:] { + switch flag { + case "omitempty": + info.OmitEmpty = true + case "minsize": + info.MinSize = true + case "inline": + inline = true + default: + msg := fmt.Sprintf("Unsupported flag %q in tag %q of type %s", flag, tag, st) + panic(externalPanic(msg)) + } + } + tag = fields[0] + } + + if inline { + switch field.Type.Kind() { + case reflect.Map: + if inlineMap >= 0 { + return nil, errors.New("Multiple ,inline maps in struct " + st.String()) + } + if field.Type.Key() != reflect.TypeOf("") { + return nil, errors.New("Option ,inline needs a map with string keys in struct " + st.String()) + } + inlineMap = info.Num + case reflect.Struct: + sinfo, err := getStructInfo(field.Type) + if err != nil { + return nil, err + } + for _, finfo := range sinfo.FieldsList { + if _, found := fieldsMap[finfo.Key]; found { + msg := "Duplicated key '" + finfo.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + if finfo.Inline == nil { + finfo.Inline = []int{i, finfo.Num} + } else { + finfo.Inline = append([]int{i}, finfo.Inline...) + } + fieldsMap[finfo.Key] = finfo + fieldsList = append(fieldsList, finfo) + } + default: + panic("Option ,inline needs a struct value or map field") + } + continue + } + + if tag != "" { + info.Key = tag + } else { + info.Key = strings.ToLower(field.Name) + } + + if _, found = fieldsMap[info.Key]; found { + msg := "Duplicated key '" + info.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + + fieldsList = append(fieldsList, info) + fieldsMap[info.Key] = info + } + sinfo = &structInfo{ + fieldsMap, + fieldsList, + inlineMap, + reflect.New(st).Elem(), + } + structMapMutex.Lock() + structMap[st] = sinfo + structMapMutex.Unlock() + return sinfo, nil +} diff --git a/vendor/gopkg.in/mgo.v2/bson/decode.go b/vendor/gopkg.in/mgo.v2/bson/decode.go new file mode 100644 index 0000000..9bd73f9 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/bson/decode.go @@ -0,0 +1,844 @@ +// BSON library for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// gobson - BSON library for Go. + +package bson + +import ( + "fmt" + "math" + "net/url" + "reflect" + "strconv" + "sync" + "time" +) + +type decoder struct { + in []byte + i int + docType reflect.Type +} + +var typeM = reflect.TypeOf(M{}) + +func newDecoder(in []byte) *decoder { + return &decoder{in, 0, typeM} +} + +// -------------------------------------------------------------------------- +// Some helper functions. + +func corrupted() { + panic("Document is corrupted") +} + +func settableValueOf(i interface{}) reflect.Value { + v := reflect.ValueOf(i) + sv := reflect.New(v.Type()).Elem() + sv.Set(v) + return sv +} + +// -------------------------------------------------------------------------- +// Unmarshaling of documents. + +const ( + setterUnknown = iota + setterNone + setterType + setterAddr +) + +var setterStyles map[reflect.Type]int +var setterIface reflect.Type +var setterMutex sync.RWMutex + +func init() { + var iface Setter + setterIface = reflect.TypeOf(&iface).Elem() + setterStyles = make(map[reflect.Type]int) +} + +func setterStyle(outt reflect.Type) int { + setterMutex.RLock() + style := setterStyles[outt] + setterMutex.RUnlock() + if style == setterUnknown { + setterMutex.Lock() + defer setterMutex.Unlock() + if outt.Implements(setterIface) { + setterStyles[outt] = setterType + } else if reflect.PtrTo(outt).Implements(setterIface) { + setterStyles[outt] = setterAddr + } else { + setterStyles[outt] = setterNone + } + style = setterStyles[outt] + } + return style +} + +func getSetter(outt reflect.Type, out reflect.Value) Setter { + style := setterStyle(outt) + if style == setterNone { + return nil + } + if style == setterAddr { + if !out.CanAddr() { + return nil + } + out = out.Addr() + } else if outt.Kind() == reflect.Ptr && out.IsNil() { + out.Set(reflect.New(outt.Elem())) + } + return out.Interface().(Setter) +} + +func clearMap(m reflect.Value) { + var none reflect.Value + for _, k := range m.MapKeys() { + m.SetMapIndex(k, none) + } +} + +func (d *decoder) readDocTo(out reflect.Value) { + var elemType reflect.Type + outt := out.Type() + outk := outt.Kind() + + for { + if outk == reflect.Ptr && out.IsNil() { + out.Set(reflect.New(outt.Elem())) + } + if setter := getSetter(outt, out); setter != nil { + var raw Raw + d.readDocTo(reflect.ValueOf(&raw)) + err := setter.SetBSON(raw) + if _, ok := err.(*TypeError); err != nil && !ok { + panic(err) + } + return + } + if outk == reflect.Ptr { + out = out.Elem() + outt = out.Type() + outk = out.Kind() + continue + } + break + } + + var fieldsMap map[string]fieldInfo + var inlineMap reflect.Value + start := d.i + + origout := out + if outk == reflect.Interface { + if d.docType.Kind() == reflect.Map { + mv := reflect.MakeMap(d.docType) + out.Set(mv) + out = mv + } else { + dv := reflect.New(d.docType).Elem() + out.Set(dv) + out = dv + } + outt = out.Type() + outk = outt.Kind() + } + + docType := d.docType + keyType := typeString + convertKey := false + switch outk { + case reflect.Map: + keyType = outt.Key() + if keyType.Kind() != reflect.String { + panic("BSON map must have string keys. Got: " + outt.String()) + } + if keyType != typeString { + convertKey = true + } + elemType = outt.Elem() + if elemType == typeIface { + d.docType = outt + } + if out.IsNil() { + out.Set(reflect.MakeMap(out.Type())) + } else if out.Len() > 0 { + clearMap(out) + } + case reflect.Struct: + if outt != typeRaw { + sinfo, err := getStructInfo(out.Type()) + if err != nil { + panic(err) + } + fieldsMap = sinfo.FieldsMap + out.Set(sinfo.Zero) + if sinfo.InlineMap != -1 { + inlineMap = out.Field(sinfo.InlineMap) + if !inlineMap.IsNil() && inlineMap.Len() > 0 { + clearMap(inlineMap) + } + elemType = inlineMap.Type().Elem() + if elemType == typeIface { + d.docType = inlineMap.Type() + } + } + } + case reflect.Slice: + switch outt.Elem() { + case typeDocElem: + origout.Set(d.readDocElems(outt)) + return + case typeRawDocElem: + origout.Set(d.readRawDocElems(outt)) + return + } + fallthrough + default: + panic("Unsupported document type for unmarshalling: " + out.Type().String()) + } + + end := int(d.readInt32()) + end += d.i - 4 + if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { + corrupted() + } + for d.in[d.i] != '\x00' { + kind := d.readByte() + name := d.readCStr() + if d.i >= end { + corrupted() + } + + switch outk { + case reflect.Map: + e := reflect.New(elemType).Elem() + if d.readElemTo(e, kind) { + k := reflect.ValueOf(name) + if convertKey { + k = k.Convert(keyType) + } + out.SetMapIndex(k, e) + } + case reflect.Struct: + if outt == typeRaw { + d.dropElem(kind) + } else { + if info, ok := fieldsMap[name]; ok { + if info.Inline == nil { + d.readElemTo(out.Field(info.Num), kind) + } else { + d.readElemTo(out.FieldByIndex(info.Inline), kind) + } + } else if inlineMap.IsValid() { + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + e := reflect.New(elemType).Elem() + if d.readElemTo(e, kind) { + inlineMap.SetMapIndex(reflect.ValueOf(name), e) + } + } else { + d.dropElem(kind) + } + } + case reflect.Slice: + } + + if d.i >= end { + corrupted() + } + } + d.i++ // '\x00' + if d.i != end { + corrupted() + } + d.docType = docType + + if outt == typeRaw { + out.Set(reflect.ValueOf(Raw{0x03, d.in[start:d.i]})) + } +} + +func (d *decoder) readArrayDocTo(out reflect.Value) { + end := int(d.readInt32()) + end += d.i - 4 + if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { + corrupted() + } + i := 0 + l := out.Len() + for d.in[d.i] != '\x00' { + if i >= l { + panic("Length mismatch on array field") + } + kind := d.readByte() + for d.i < end && d.in[d.i] != '\x00' { + d.i++ + } + if d.i >= end { + corrupted() + } + d.i++ + d.readElemTo(out.Index(i), kind) + if d.i >= end { + corrupted() + } + i++ + } + if i != l { + panic("Length mismatch on array field") + } + d.i++ // '\x00' + if d.i != end { + corrupted() + } +} + +func (d *decoder) readSliceDoc(t reflect.Type) interface{} { + tmp := make([]reflect.Value, 0, 8) + elemType := t.Elem() + if elemType == typeRawDocElem { + d.dropElem(0x04) + return reflect.Zero(t).Interface() + } + + end := int(d.readInt32()) + end += d.i - 4 + if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { + corrupted() + } + for d.in[d.i] != '\x00' { + kind := d.readByte() + for d.i < end && d.in[d.i] != '\x00' { + d.i++ + } + if d.i >= end { + corrupted() + } + d.i++ + e := reflect.New(elemType).Elem() + if d.readElemTo(e, kind) { + tmp = append(tmp, e) + } + if d.i >= end { + corrupted() + } + } + d.i++ // '\x00' + if d.i != end { + corrupted() + } + + n := len(tmp) + slice := reflect.MakeSlice(t, n, n) + for i := 0; i != n; i++ { + slice.Index(i).Set(tmp[i]) + } + return slice.Interface() +} + +var typeSlice = reflect.TypeOf([]interface{}{}) +var typeIface = typeSlice.Elem() + +func (d *decoder) readDocElems(typ reflect.Type) reflect.Value { + docType := d.docType + d.docType = typ + slice := make([]DocElem, 0, 8) + d.readDocWith(func(kind byte, name string) { + e := DocElem{Name: name} + v := reflect.ValueOf(&e.Value) + if d.readElemTo(v.Elem(), kind) { + slice = append(slice, e) + } + }) + slicev := reflect.New(typ).Elem() + slicev.Set(reflect.ValueOf(slice)) + d.docType = docType + return slicev +} + +func (d *decoder) readRawDocElems(typ reflect.Type) reflect.Value { + docType := d.docType + d.docType = typ + slice := make([]RawDocElem, 0, 8) + d.readDocWith(func(kind byte, name string) { + e := RawDocElem{Name: name} + v := reflect.ValueOf(&e.Value) + if d.readElemTo(v.Elem(), kind) { + slice = append(slice, e) + } + }) + slicev := reflect.New(typ).Elem() + slicev.Set(reflect.ValueOf(slice)) + d.docType = docType + return slicev +} + +func (d *decoder) readDocWith(f func(kind byte, name string)) { + end := int(d.readInt32()) + end += d.i - 4 + if end <= d.i || end > len(d.in) || d.in[end-1] != '\x00' { + corrupted() + } + for d.in[d.i] != '\x00' { + kind := d.readByte() + name := d.readCStr() + if d.i >= end { + corrupted() + } + f(kind, name) + if d.i >= end { + corrupted() + } + } + d.i++ // '\x00' + if d.i != end { + corrupted() + } +} + +// -------------------------------------------------------------------------- +// Unmarshaling of individual elements within a document. + +var blackHole = settableValueOf(struct{}{}) + +func (d *decoder) dropElem(kind byte) { + d.readElemTo(blackHole, kind) +} + +// Attempt to decode an element from the document and put it into out. +// If the types are not compatible, the returned ok value will be +// false and out will be unchanged. +func (d *decoder) readElemTo(out reflect.Value, kind byte) (good bool) { + + start := d.i + + if kind == 0x03 { + // Delegate unmarshaling of documents. + outt := out.Type() + outk := out.Kind() + switch outk { + case reflect.Interface, reflect.Ptr, reflect.Struct, reflect.Map: + d.readDocTo(out) + return true + } + if setterStyle(outt) != setterNone { + d.readDocTo(out) + return true + } + if outk == reflect.Slice { + switch outt.Elem() { + case typeDocElem: + out.Set(d.readDocElems(outt)) + case typeRawDocElem: + out.Set(d.readRawDocElems(outt)) + default: + d.readDocTo(blackHole) + } + return true + } + d.readDocTo(blackHole) + return true + } + + var in interface{} + + switch kind { + case 0x01: // Float64 + in = d.readFloat64() + case 0x02: // UTF-8 string + in = d.readStr() + case 0x03: // Document + panic("Can't happen. Handled above.") + case 0x04: // Array + outt := out.Type() + if setterStyle(outt) != setterNone { + // Skip the value so its data is handed to the setter below. + d.dropElem(kind) + break + } + for outt.Kind() == reflect.Ptr { + outt = outt.Elem() + } + switch outt.Kind() { + case reflect.Array: + d.readArrayDocTo(out) + return true + case reflect.Slice: + in = d.readSliceDoc(outt) + default: + in = d.readSliceDoc(typeSlice) + } + case 0x05: // Binary + b := d.readBinary() + if b.Kind == 0x00 || b.Kind == 0x02 { + in = b.Data + } else { + in = b + } + case 0x06: // Undefined (obsolete, but still seen in the wild) + in = Undefined + case 0x07: // ObjectId + in = ObjectId(d.readBytes(12)) + case 0x08: // Bool + in = d.readBool() + case 0x09: // Timestamp + // MongoDB handles timestamps as milliseconds. + i := d.readInt64() + if i == -62135596800000 { + in = time.Time{} // In UTC for convenience. + } else { + in = time.Unix(i/1e3, i%1e3*1e6) + } + case 0x0A: // Nil + in = nil + case 0x0B: // RegEx + in = d.readRegEx() + case 0x0C: + in = DBPointer{Namespace: d.readStr(), Id: ObjectId(d.readBytes(12))} + case 0x0D: // JavaScript without scope + in = JavaScript{Code: d.readStr()} + case 0x0E: // Symbol + in = Symbol(d.readStr()) + case 0x0F: // JavaScript with scope + d.i += 4 // Skip length + js := JavaScript{d.readStr(), make(M)} + d.readDocTo(reflect.ValueOf(js.Scope)) + in = js + case 0x10: // Int32 + in = int(d.readInt32()) + case 0x11: // Mongo-specific timestamp + in = MongoTimestamp(d.readInt64()) + case 0x12: // Int64 + in = d.readInt64() + case 0x7F: // Max key + in = MaxKey + case 0xFF: // Min key + in = MinKey + default: + panic(fmt.Sprintf("Unknown element kind (0x%02X)", kind)) + } + + outt := out.Type() + + if outt == typeRaw { + out.Set(reflect.ValueOf(Raw{kind, d.in[start:d.i]})) + return true + } + + if setter := getSetter(outt, out); setter != nil { + err := setter.SetBSON(Raw{kind, d.in[start:d.i]}) + if err == SetZero { + out.Set(reflect.Zero(outt)) + return true + } + if err == nil { + return true + } + if _, ok := err.(*TypeError); !ok { + panic(err) + } + return false + } + + if in == nil { + out.Set(reflect.Zero(outt)) + return true + } + + outk := outt.Kind() + + // Dereference and initialize pointer if necessary. + first := true + for outk == reflect.Ptr { + if !out.IsNil() { + out = out.Elem() + } else { + elem := reflect.New(outt.Elem()) + if first { + // Only set if value is compatible. + first = false + defer func(out, elem reflect.Value) { + if good { + out.Set(elem) + } + }(out, elem) + } else { + out.Set(elem) + } + out = elem + } + outt = out.Type() + outk = outt.Kind() + } + + inv := reflect.ValueOf(in) + if outt == inv.Type() { + out.Set(inv) + return true + } + + switch outk { + case reflect.Interface: + out.Set(inv) + return true + case reflect.String: + switch inv.Kind() { + case reflect.String: + out.SetString(inv.String()) + return true + case reflect.Slice: + if b, ok := in.([]byte); ok { + out.SetString(string(b)) + return true + } + case reflect.Int, reflect.Int64: + if outt == typeJSONNumber { + out.SetString(strconv.FormatInt(inv.Int(), 10)) + return true + } + case reflect.Float64: + if outt == typeJSONNumber { + out.SetString(strconv.FormatFloat(inv.Float(), 'f', -1, 64)) + return true + } + } + case reflect.Slice, reflect.Array: + // Remember, array (0x04) slices are built with the correct + // element type. If we are here, must be a cross BSON kind + // conversion (e.g. 0x05 unmarshalling on string). + if outt.Elem().Kind() != reflect.Uint8 { + break + } + switch inv.Kind() { + case reflect.String: + slice := []byte(inv.String()) + out.Set(reflect.ValueOf(slice)) + return true + case reflect.Slice: + switch outt.Kind() { + case reflect.Array: + reflect.Copy(out, inv) + case reflect.Slice: + out.SetBytes(inv.Bytes()) + } + return true + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch inv.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + out.SetInt(inv.Int()) + return true + case reflect.Float32, reflect.Float64: + out.SetInt(int64(inv.Float())) + return true + case reflect.Bool: + if inv.Bool() { + out.SetInt(1) + } else { + out.SetInt(0) + } + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + panic("can't happen: no uint types in BSON (!?)") + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch inv.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + out.SetUint(uint64(inv.Int())) + return true + case reflect.Float32, reflect.Float64: + out.SetUint(uint64(inv.Float())) + return true + case reflect.Bool: + if inv.Bool() { + out.SetUint(1) + } else { + out.SetUint(0) + } + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + panic("Can't happen. No uint types in BSON.") + } + case reflect.Float32, reflect.Float64: + switch inv.Kind() { + case reflect.Float32, reflect.Float64: + out.SetFloat(inv.Float()) + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + out.SetFloat(float64(inv.Int())) + return true + case reflect.Bool: + if inv.Bool() { + out.SetFloat(1) + } else { + out.SetFloat(0) + } + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + panic("Can't happen. No uint types in BSON?") + } + case reflect.Bool: + switch inv.Kind() { + case reflect.Bool: + out.SetBool(inv.Bool()) + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + out.SetBool(inv.Int() != 0) + return true + case reflect.Float32, reflect.Float64: + out.SetBool(inv.Float() != 0) + return true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + panic("Can't happen. No uint types in BSON?") + } + case reflect.Struct: + if outt == typeURL && inv.Kind() == reflect.String { + u, err := url.Parse(inv.String()) + if err != nil { + panic(err) + } + out.Set(reflect.ValueOf(u).Elem()) + return true + } + if outt == typeBinary { + if b, ok := in.([]byte); ok { + out.Set(reflect.ValueOf(Binary{Data: b})) + return true + } + } + } + + return false +} + +// -------------------------------------------------------------------------- +// Parsers of basic types. + +func (d *decoder) readRegEx() RegEx { + re := RegEx{} + re.Pattern = d.readCStr() + re.Options = d.readCStr() + return re +} + +func (d *decoder) readBinary() Binary { + l := d.readInt32() + b := Binary{} + b.Kind = d.readByte() + b.Data = d.readBytes(l) + if b.Kind == 0x02 && len(b.Data) >= 4 { + // Weird obsolete format with redundant length. + b.Data = b.Data[4:] + } + return b +} + +func (d *decoder) readStr() string { + l := d.readInt32() + b := d.readBytes(l - 1) + if d.readByte() != '\x00' { + corrupted() + } + return string(b) +} + +func (d *decoder) readCStr() string { + start := d.i + end := start + l := len(d.in) + for ; end != l; end++ { + if d.in[end] == '\x00' { + break + } + } + d.i = end + 1 + if d.i > l { + corrupted() + } + return string(d.in[start:end]) +} + +func (d *decoder) readBool() bool { + b := d.readByte() + if b == 0 { + return false + } + if b == 1 { + return true + } + panic(fmt.Sprintf("encoded boolean must be 1 or 0, found %d", b)) +} + +func (d *decoder) readFloat64() float64 { + return math.Float64frombits(uint64(d.readInt64())) +} + +func (d *decoder) readInt32() int32 { + b := d.readBytes(4) + return int32((uint32(b[0]) << 0) | + (uint32(b[1]) << 8) | + (uint32(b[2]) << 16) | + (uint32(b[3]) << 24)) +} + +func (d *decoder) readInt64() int64 { + b := d.readBytes(8) + return int64((uint64(b[0]) << 0) | + (uint64(b[1]) << 8) | + (uint64(b[2]) << 16) | + (uint64(b[3]) << 24) | + (uint64(b[4]) << 32) | + (uint64(b[5]) << 40) | + (uint64(b[6]) << 48) | + (uint64(b[7]) << 56)) +} + +func (d *decoder) readByte() byte { + i := d.i + d.i++ + if d.i > len(d.in) { + corrupted() + } + return d.in[i] +} + +func (d *decoder) readBytes(length int32) []byte { + if length < 0 { + corrupted() + } + start := d.i + d.i += int(length) + if d.i < start || d.i > len(d.in) { + corrupted() + } + return d.in[start : start+int(length)] +} diff --git a/vendor/gopkg.in/mgo.v2/bson/encode.go b/vendor/gopkg.in/mgo.v2/bson/encode.go new file mode 100644 index 0000000..c228e28 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/bson/encode.go @@ -0,0 +1,509 @@ +// BSON library for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// gobson - BSON library for Go. + +package bson + +import ( + "encoding/json" + "fmt" + "math" + "net/url" + "reflect" + "strconv" + "time" +) + +// -------------------------------------------------------------------------- +// Some internal infrastructure. + +var ( + typeBinary = reflect.TypeOf(Binary{}) + typeObjectId = reflect.TypeOf(ObjectId("")) + typeDBPointer = reflect.TypeOf(DBPointer{"", ObjectId("")}) + typeSymbol = reflect.TypeOf(Symbol("")) + typeMongoTimestamp = reflect.TypeOf(MongoTimestamp(0)) + typeOrderKey = reflect.TypeOf(MinKey) + typeDocElem = reflect.TypeOf(DocElem{}) + typeRawDocElem = reflect.TypeOf(RawDocElem{}) + typeRaw = reflect.TypeOf(Raw{}) + typeURL = reflect.TypeOf(url.URL{}) + typeTime = reflect.TypeOf(time.Time{}) + typeString = reflect.TypeOf("") + typeJSONNumber = reflect.TypeOf(json.Number("")) +) + +const itoaCacheSize = 32 + +var itoaCache []string + +func init() { + itoaCache = make([]string, itoaCacheSize) + for i := 0; i != itoaCacheSize; i++ { + itoaCache[i] = strconv.Itoa(i) + } +} + +func itoa(i int) string { + if i < itoaCacheSize { + return itoaCache[i] + } + return strconv.Itoa(i) +} + +// -------------------------------------------------------------------------- +// Marshaling of the document value itself. + +type encoder struct { + out []byte +} + +func (e *encoder) addDoc(v reflect.Value) { + for { + if vi, ok := v.Interface().(Getter); ok { + getv, err := vi.GetBSON() + if err != nil { + panic(err) + } + v = reflect.ValueOf(getv) + continue + } + if v.Kind() == reflect.Ptr { + v = v.Elem() + continue + } + break + } + + if v.Type() == typeRaw { + raw := v.Interface().(Raw) + if raw.Kind != 0x03 && raw.Kind != 0x00 { + panic("Attempted to marshal Raw kind " + strconv.Itoa(int(raw.Kind)) + " as a document") + } + if len(raw.Data) == 0 { + panic("Attempted to marshal empty Raw document") + } + e.addBytes(raw.Data...) + return + } + + start := e.reserveInt32() + + switch v.Kind() { + case reflect.Map: + e.addMap(v) + case reflect.Struct: + e.addStruct(v) + case reflect.Array, reflect.Slice: + e.addSlice(v) + default: + panic("Can't marshal " + v.Type().String() + " as a BSON document") + } + + e.addBytes(0) + e.setInt32(start, int32(len(e.out)-start)) +} + +func (e *encoder) addMap(v reflect.Value) { + for _, k := range v.MapKeys() { + e.addElem(k.String(), v.MapIndex(k), false) + } +} + +func (e *encoder) addStruct(v reflect.Value) { + sinfo, err := getStructInfo(v.Type()) + if err != nil { + panic(err) + } + var value reflect.Value + if sinfo.InlineMap >= 0 { + m := v.Field(sinfo.InlineMap) + if m.Len() > 0 { + for _, k := range m.MapKeys() { + ks := k.String() + if _, found := sinfo.FieldsMap[ks]; found { + panic(fmt.Sprintf("Can't have key %q in inlined map; conflicts with struct field", ks)) + } + e.addElem(ks, m.MapIndex(k), false) + } + } + } + for _, info := range sinfo.FieldsList { + if info.Inline == nil { + value = v.Field(info.Num) + } else { + value = v.FieldByIndex(info.Inline) + } + if info.OmitEmpty && isZero(value) { + continue + } + e.addElem(info.Key, value, info.MinSize) + } +} + +func isZero(v reflect.Value) bool { + switch v.Kind() { + case reflect.String: + return len(v.String()) == 0 + case reflect.Ptr, reflect.Interface: + return v.IsNil() + case reflect.Slice: + return v.Len() == 0 + case reflect.Map: + return v.Len() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Struct: + vt := v.Type() + if vt == typeTime { + return v.Interface().(time.Time).IsZero() + } + for i := 0; i < v.NumField(); i++ { + if vt.Field(i).PkgPath != "" && !vt.Field(i).Anonymous { + continue // Private field + } + if !isZero(v.Field(i)) { + return false + } + } + return true + } + return false +} + +func (e *encoder) addSlice(v reflect.Value) { + vi := v.Interface() + if d, ok := vi.(D); ok { + for _, elem := range d { + e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) + } + return + } + if d, ok := vi.(RawD); ok { + for _, elem := range d { + e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) + } + return + } + l := v.Len() + et := v.Type().Elem() + if et == typeDocElem { + for i := 0; i < l; i++ { + elem := v.Index(i).Interface().(DocElem) + e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) + } + return + } + if et == typeRawDocElem { + for i := 0; i < l; i++ { + elem := v.Index(i).Interface().(RawDocElem) + e.addElem(elem.Name, reflect.ValueOf(elem.Value), false) + } + return + } + for i := 0; i < l; i++ { + e.addElem(itoa(i), v.Index(i), false) + } +} + +// -------------------------------------------------------------------------- +// Marshaling of elements in a document. + +func (e *encoder) addElemName(kind byte, name string) { + e.addBytes(kind) + e.addBytes([]byte(name)...) + e.addBytes(0) +} + +func (e *encoder) addElem(name string, v reflect.Value, minSize bool) { + + if !v.IsValid() { + e.addElemName('\x0A', name) + return + } + + if getter, ok := v.Interface().(Getter); ok { + getv, err := getter.GetBSON() + if err != nil { + panic(err) + } + e.addElem(name, reflect.ValueOf(getv), minSize) + return + } + + switch v.Kind() { + + case reflect.Interface: + e.addElem(name, v.Elem(), minSize) + + case reflect.Ptr: + e.addElem(name, v.Elem(), minSize) + + case reflect.String: + s := v.String() + switch v.Type() { + case typeObjectId: + if len(s) != 12 { + panic("ObjectIDs must be exactly 12 bytes long (got " + + strconv.Itoa(len(s)) + ")") + } + e.addElemName('\x07', name) + e.addBytes([]byte(s)...) + case typeSymbol: + e.addElemName('\x0E', name) + e.addStr(s) + case typeJSONNumber: + n := v.Interface().(json.Number) + if i, err := n.Int64(); err == nil { + e.addElemName('\x12', name) + e.addInt64(i) + } else if f, err := n.Float64(); err == nil { + e.addElemName('\x01', name) + e.addFloat64(f) + } else { + panic("failed to convert json.Number to a number: " + s) + } + default: + e.addElemName('\x02', name) + e.addStr(s) + } + + case reflect.Float32, reflect.Float64: + e.addElemName('\x01', name) + e.addFloat64(v.Float()) + + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + u := v.Uint() + if int64(u) < 0 { + panic("BSON has no uint64 type, and value is too large to fit correctly in an int64") + } else if u <= math.MaxInt32 && (minSize || v.Kind() <= reflect.Uint32) { + e.addElemName('\x10', name) + e.addInt32(int32(u)) + } else { + e.addElemName('\x12', name) + e.addInt64(int64(u)) + } + + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch v.Type() { + case typeMongoTimestamp: + e.addElemName('\x11', name) + e.addInt64(v.Int()) + + case typeOrderKey: + if v.Int() == int64(MaxKey) { + e.addElemName('\x7F', name) + } else { + e.addElemName('\xFF', name) + } + + default: + i := v.Int() + if (minSize || v.Type().Kind() != reflect.Int64) && i >= math.MinInt32 && i <= math.MaxInt32 { + // It fits into an int32, encode as such. + e.addElemName('\x10', name) + e.addInt32(int32(i)) + } else { + e.addElemName('\x12', name) + e.addInt64(i) + } + } + + case reflect.Bool: + e.addElemName('\x08', name) + if v.Bool() { + e.addBytes(1) + } else { + e.addBytes(0) + } + + case reflect.Map: + e.addElemName('\x03', name) + e.addDoc(v) + + case reflect.Slice: + vt := v.Type() + et := vt.Elem() + if et.Kind() == reflect.Uint8 { + e.addElemName('\x05', name) + e.addBinary('\x00', v.Bytes()) + } else if et == typeDocElem || et == typeRawDocElem { + e.addElemName('\x03', name) + e.addDoc(v) + } else { + e.addElemName('\x04', name) + e.addDoc(v) + } + + case reflect.Array: + et := v.Type().Elem() + if et.Kind() == reflect.Uint8 { + e.addElemName('\x05', name) + if v.CanAddr() { + e.addBinary('\x00', v.Slice(0, v.Len()).Interface().([]byte)) + } else { + n := v.Len() + e.addInt32(int32(n)) + e.addBytes('\x00') + for i := 0; i < n; i++ { + el := v.Index(i) + e.addBytes(byte(el.Uint())) + } + } + } else { + e.addElemName('\x04', name) + e.addDoc(v) + } + + case reflect.Struct: + switch s := v.Interface().(type) { + + case Raw: + kind := s.Kind + if kind == 0x00 { + kind = 0x03 + } + if len(s.Data) == 0 && kind != 0x06 && kind != 0x0A && kind != 0xFF && kind != 0x7F { + panic("Attempted to marshal empty Raw document") + } + e.addElemName(kind, name) + e.addBytes(s.Data...) + + case Binary: + e.addElemName('\x05', name) + e.addBinary(s.Kind, s.Data) + + case DBPointer: + e.addElemName('\x0C', name) + e.addStr(s.Namespace) + if len(s.Id) != 12 { + panic("ObjectIDs must be exactly 12 bytes long (got " + + strconv.Itoa(len(s.Id)) + ")") + } + e.addBytes([]byte(s.Id)...) + + case RegEx: + e.addElemName('\x0B', name) + e.addCStr(s.Pattern) + e.addCStr(s.Options) + + case JavaScript: + if s.Scope == nil { + e.addElemName('\x0D', name) + e.addStr(s.Code) + } else { + e.addElemName('\x0F', name) + start := e.reserveInt32() + e.addStr(s.Code) + e.addDoc(reflect.ValueOf(s.Scope)) + e.setInt32(start, int32(len(e.out)-start)) + } + + case time.Time: + // MongoDB handles timestamps as milliseconds. + e.addElemName('\x09', name) + e.addInt64(s.Unix()*1000 + int64(s.Nanosecond()/1e6)) + + case url.URL: + e.addElemName('\x02', name) + e.addStr(s.String()) + + case undefined: + e.addElemName('\x06', name) + + default: + e.addElemName('\x03', name) + e.addDoc(v) + } + + default: + panic("Can't marshal " + v.Type().String() + " in a BSON document") + } +} + +// -------------------------------------------------------------------------- +// Marshaling of base types. + +func (e *encoder) addBinary(subtype byte, v []byte) { + if subtype == 0x02 { + // Wonder how that brilliant idea came to life. Obsolete, luckily. + e.addInt32(int32(len(v) + 4)) + e.addBytes(subtype) + e.addInt32(int32(len(v))) + } else { + e.addInt32(int32(len(v))) + e.addBytes(subtype) + } + e.addBytes(v...) +} + +func (e *encoder) addStr(v string) { + e.addInt32(int32(len(v) + 1)) + e.addCStr(v) +} + +func (e *encoder) addCStr(v string) { + e.addBytes([]byte(v)...) + e.addBytes(0) +} + +func (e *encoder) reserveInt32() (pos int) { + pos = len(e.out) + e.addBytes(0, 0, 0, 0) + return pos +} + +func (e *encoder) setInt32(pos int, v int32) { + e.out[pos+0] = byte(v) + e.out[pos+1] = byte(v >> 8) + e.out[pos+2] = byte(v >> 16) + e.out[pos+3] = byte(v >> 24) +} + +func (e *encoder) addInt32(v int32) { + u := uint32(v) + e.addBytes(byte(u), byte(u>>8), byte(u>>16), byte(u>>24)) +} + +func (e *encoder) addInt64(v int64) { + u := uint64(v) + e.addBytes(byte(u), byte(u>>8), byte(u>>16), byte(u>>24), + byte(u>>32), byte(u>>40), byte(u>>48), byte(u>>56)) +} + +func (e *encoder) addFloat64(v float64) { + e.addInt64(int64(math.Float64bits(v))) +} + +func (e *encoder) addBytes(v ...byte) { + e.out = append(e.out, v...) +} diff --git a/vendor/gopkg.in/mgo.v2/bulk.go b/vendor/gopkg.in/mgo.v2/bulk.go new file mode 100644 index 0000000..072a520 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/bulk.go @@ -0,0 +1,351 @@ +package mgo + +import ( + "bytes" + "sort" + + "gopkg.in/mgo.v2/bson" +) + +// Bulk represents an operation that can be prepared with several +// orthogonal changes before being delivered to the server. +// +// MongoDB servers older than version 2.6 do not have proper support for bulk +// operations, so the driver attempts to map its API as much as possible into +// the functionality that works. In particular, in those releases updates and +// removals are sent individually, and inserts are sent in bulk but have +// suboptimal error reporting compared to more recent versions of the server. +// See the documentation of BulkErrorCase for details on that. +// +// Relevant documentation: +// +// http://blog.mongodb.org/post/84922794768/mongodbs-new-bulk-api +// +type Bulk struct { + c *Collection + opcount int + actions []bulkAction + ordered bool +} + +type bulkOp int + +const ( + bulkInsert bulkOp = iota + 1 + bulkUpdate + bulkUpdateAll + bulkRemove +) + +type bulkAction struct { + op bulkOp + docs []interface{} + idxs []int +} + +type bulkUpdateOp []interface{} +type bulkDeleteOp []interface{} + +// BulkResult holds the results for a bulk operation. +type BulkResult struct { + Matched int + Modified int // Available only for MongoDB 2.6+ + + // Be conservative while we understand exactly how to report these + // results in a useful and convenient way, and also how to emulate + // them with prior servers. + private bool +} + +// BulkError holds an error returned from running a Bulk operation. +// Individual errors may be obtained and inspected via the Cases method. +type BulkError struct { + ecases []BulkErrorCase +} + +func (e *BulkError) Error() string { + if len(e.ecases) == 0 { + return "invalid BulkError instance: no errors" + } + if len(e.ecases) == 1 { + return e.ecases[0].Err.Error() + } + msgs := make([]string, 0, len(e.ecases)) + seen := make(map[string]bool) + for _, ecase := range e.ecases { + msg := ecase.Err.Error() + if !seen[msg] { + seen[msg] = true + msgs = append(msgs, msg) + } + } + if len(msgs) == 1 { + return msgs[0] + } + var buf bytes.Buffer + buf.WriteString("multiple errors in bulk operation:\n") + for _, msg := range msgs { + buf.WriteString(" - ") + buf.WriteString(msg) + buf.WriteByte('\n') + } + return buf.String() +} + +type bulkErrorCases []BulkErrorCase + +func (slice bulkErrorCases) Len() int { return len(slice) } +func (slice bulkErrorCases) Less(i, j int) bool { return slice[i].Index < slice[j].Index } +func (slice bulkErrorCases) Swap(i, j int) { slice[i], slice[j] = slice[j], slice[i] } + +// BulkErrorCase holds an individual error found while attempting a single change +// within a bulk operation, and the position in which it was enqueued. +// +// MongoDB servers older than version 2.6 do not have proper support for bulk +// operations, so the driver attempts to map its API as much as possible into +// the functionality that works. In particular, only the last error is reported +// for bulk inserts and without any positional information, so the Index +// field is set to -1 in these cases. +type BulkErrorCase struct { + Index int // Position of operation that failed, or -1 if unknown. + Err error +} + +// Cases returns all individual errors found while attempting the requested changes. +// +// See the documentation of BulkErrorCase for limitations in older MongoDB releases. +func (e *BulkError) Cases() []BulkErrorCase { + return e.ecases +} + +// Bulk returns a value to prepare the execution of a bulk operation. +func (c *Collection) Bulk() *Bulk { + return &Bulk{c: c, ordered: true} +} + +// Unordered puts the bulk operation in unordered mode. +// +// In unordered mode the indvidual operations may be sent +// out of order, which means latter operations may proceed +// even if prior ones have failed. +func (b *Bulk) Unordered() { + b.ordered = false +} + +func (b *Bulk) action(op bulkOp, opcount int) *bulkAction { + var action *bulkAction + if len(b.actions) > 0 && b.actions[len(b.actions)-1].op == op { + action = &b.actions[len(b.actions)-1] + } else if !b.ordered { + for i := range b.actions { + if b.actions[i].op == op { + action = &b.actions[i] + break + } + } + } + if action == nil { + b.actions = append(b.actions, bulkAction{op: op}) + action = &b.actions[len(b.actions)-1] + } + for i := 0; i < opcount; i++ { + action.idxs = append(action.idxs, b.opcount) + b.opcount++ + } + return action +} + +// Insert queues up the provided documents for insertion. +func (b *Bulk) Insert(docs ...interface{}) { + action := b.action(bulkInsert, len(docs)) + action.docs = append(action.docs, docs...) +} + +// Remove queues up the provided selectors for removing matching documents. +// Each selector will remove only a single matching document. +func (b *Bulk) Remove(selectors ...interface{}) { + action := b.action(bulkRemove, len(selectors)) + for _, selector := range selectors { + if selector == nil { + selector = bson.D{} + } + action.docs = append(action.docs, &deleteOp{ + Collection: b.c.FullName, + Selector: selector, + Flags: 1, + Limit: 1, + }) + } +} + +// RemoveAll queues up the provided selectors for removing all matching documents. +// Each selector will remove all matching documents. +func (b *Bulk) RemoveAll(selectors ...interface{}) { + action := b.action(bulkRemove, len(selectors)) + for _, selector := range selectors { + if selector == nil { + selector = bson.D{} + } + action.docs = append(action.docs, &deleteOp{ + Collection: b.c.FullName, + Selector: selector, + Flags: 0, + Limit: 0, + }) + } +} + +// Update queues up the provided pairs of updating instructions. +// The first element of each pair selects which documents must be +// updated, and the second element defines how to update it. +// Each pair matches exactly one document for updating at most. +func (b *Bulk) Update(pairs ...interface{}) { + if len(pairs)%2 != 0 { + panic("Bulk.Update requires an even number of parameters") + } + action := b.action(bulkUpdate, len(pairs)/2) + for i := 0; i < len(pairs); i += 2 { + selector := pairs[i] + if selector == nil { + selector = bson.D{} + } + action.docs = append(action.docs, &updateOp{ + Collection: b.c.FullName, + Selector: selector, + Update: pairs[i+1], + }) + } +} + +// UpdateAll queues up the provided pairs of updating instructions. +// The first element of each pair selects which documents must be +// updated, and the second element defines how to update it. +// Each pair updates all documents matching the selector. +func (b *Bulk) UpdateAll(pairs ...interface{}) { + if len(pairs)%2 != 0 { + panic("Bulk.UpdateAll requires an even number of parameters") + } + action := b.action(bulkUpdate, len(pairs)/2) + for i := 0; i < len(pairs); i += 2 { + selector := pairs[i] + if selector == nil { + selector = bson.D{} + } + action.docs = append(action.docs, &updateOp{ + Collection: b.c.FullName, + Selector: selector, + Update: pairs[i+1], + Flags: 2, + Multi: true, + }) + } +} + +// Upsert queues up the provided pairs of upserting instructions. +// The first element of each pair selects which documents must be +// updated, and the second element defines how to update it. +// Each pair matches exactly one document for updating at most. +func (b *Bulk) Upsert(pairs ...interface{}) { + if len(pairs)%2 != 0 { + panic("Bulk.Update requires an even number of parameters") + } + action := b.action(bulkUpdate, len(pairs)/2) + for i := 0; i < len(pairs); i += 2 { + selector := pairs[i] + if selector == nil { + selector = bson.D{} + } + action.docs = append(action.docs, &updateOp{ + Collection: b.c.FullName, + Selector: selector, + Update: pairs[i+1], + Flags: 1, + Upsert: true, + }) + } +} + +// Run runs all the operations queued up. +// +// If an error is reported on an unordered bulk operation, the error value may +// be an aggregation of all issues observed. As an exception to that, Insert +// operations running on MongoDB versions prior to 2.6 will report the last +// error only due to a limitation in the wire protocol. +func (b *Bulk) Run() (*BulkResult, error) { + var result BulkResult + var berr BulkError + var failed bool + for i := range b.actions { + action := &b.actions[i] + var ok bool + switch action.op { + case bulkInsert: + ok = b.runInsert(action, &result, &berr) + case bulkUpdate: + ok = b.runUpdate(action, &result, &berr) + case bulkRemove: + ok = b.runRemove(action, &result, &berr) + default: + panic("unknown bulk operation") + } + if !ok { + failed = true + if b.ordered { + break + } + } + } + if failed { + sort.Sort(bulkErrorCases(berr.ecases)) + return nil, &berr + } + return &result, nil +} + +func (b *Bulk) runInsert(action *bulkAction, result *BulkResult, berr *BulkError) bool { + op := &insertOp{b.c.FullName, action.docs, 0} + if !b.ordered { + op.flags = 1 // ContinueOnError + } + lerr, err := b.c.writeOp(op, b.ordered) + return b.checkSuccess(action, berr, lerr, err) +} + +func (b *Bulk) runUpdate(action *bulkAction, result *BulkResult, berr *BulkError) bool { + lerr, err := b.c.writeOp(bulkUpdateOp(action.docs), b.ordered) + if lerr != nil { + result.Matched += lerr.N + result.Modified += lerr.modified + } + return b.checkSuccess(action, berr, lerr, err) +} + +func (b *Bulk) runRemove(action *bulkAction, result *BulkResult, berr *BulkError) bool { + lerr, err := b.c.writeOp(bulkDeleteOp(action.docs), b.ordered) + if lerr != nil { + result.Matched += lerr.N + result.Modified += lerr.modified + } + return b.checkSuccess(action, berr, lerr, err) +} + +func (b *Bulk) checkSuccess(action *bulkAction, berr *BulkError, lerr *LastError, err error) bool { + if lerr != nil && len(lerr.ecases) > 0 { + for i := 0; i < len(lerr.ecases); i++ { + // Map back from the local error index into the visible one. + ecase := lerr.ecases[i] + idx := ecase.Index + if idx >= 0 { + idx = action.idxs[idx] + } + berr.ecases = append(berr.ecases, BulkErrorCase{idx, ecase.Err}) + } + return false + } else if err != nil { + for i := 0; i < len(action.idxs); i++ { + berr.ecases = append(berr.ecases, BulkErrorCase{action.idxs[i], err}) + } + return false + } + return true +} diff --git a/vendor/gopkg.in/mgo.v2/cluster.go b/vendor/gopkg.in/mgo.v2/cluster.go new file mode 100644 index 0000000..e28af5b --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/cluster.go @@ -0,0 +1,679 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "errors" + "fmt" + "net" + "strconv" + "strings" + "sync" + "time" + + "gopkg.in/mgo.v2/bson" +) + +// --------------------------------------------------------------------------- +// Mongo cluster encapsulation. +// +// A cluster enables the communication with one or more servers participating +// in a mongo cluster. This works with individual servers, a replica set, +// a replica pair, one or multiple mongos routers, etc. + +type mongoCluster struct { + sync.RWMutex + serverSynced sync.Cond + userSeeds []string + dynaSeeds []string + servers mongoServers + masters mongoServers + references int + syncing bool + direct bool + failFast bool + syncCount uint + setName string + cachedIndex map[string]bool + sync chan bool + dial dialer +} + +func newCluster(userSeeds []string, direct, failFast bool, dial dialer, setName string) *mongoCluster { + cluster := &mongoCluster{ + userSeeds: userSeeds, + references: 1, + direct: direct, + failFast: failFast, + dial: dial, + setName: setName, + } + cluster.serverSynced.L = cluster.RWMutex.RLocker() + cluster.sync = make(chan bool, 1) + stats.cluster(+1) + go cluster.syncServersLoop() + return cluster +} + +// Acquire increases the reference count for the cluster. +func (cluster *mongoCluster) Acquire() { + cluster.Lock() + cluster.references++ + debugf("Cluster %p acquired (refs=%d)", cluster, cluster.references) + cluster.Unlock() +} + +// Release decreases the reference count for the cluster. Once +// it reaches zero, all servers will be closed. +func (cluster *mongoCluster) Release() { + cluster.Lock() + if cluster.references == 0 { + panic("cluster.Release() with references == 0") + } + cluster.references-- + debugf("Cluster %p released (refs=%d)", cluster, cluster.references) + if cluster.references == 0 { + for _, server := range cluster.servers.Slice() { + server.Close() + } + // Wake up the sync loop so it can die. + cluster.syncServers() + stats.cluster(-1) + } + cluster.Unlock() +} + +func (cluster *mongoCluster) LiveServers() (servers []string) { + cluster.RLock() + for _, serv := range cluster.servers.Slice() { + servers = append(servers, serv.Addr) + } + cluster.RUnlock() + return servers +} + +func (cluster *mongoCluster) removeServer(server *mongoServer) { + cluster.Lock() + cluster.masters.Remove(server) + other := cluster.servers.Remove(server) + cluster.Unlock() + if other != nil { + other.Close() + log("Removed server ", server.Addr, " from cluster.") + } + server.Close() +} + +type isMasterResult struct { + IsMaster bool + Secondary bool + Primary string + Hosts []string + Passives []string + Tags bson.D + Msg string + SetName string `bson:"setName"` + MaxWireVersion int `bson:"maxWireVersion"` +} + +func (cluster *mongoCluster) isMaster(socket *mongoSocket, result *isMasterResult) error { + // Monotonic let's it talk to a slave and still hold the socket. + session := newSession(Monotonic, cluster, 10*time.Second) + session.setSocket(socket) + err := session.Run("ismaster", result) + session.Close() + return err +} + +type possibleTimeout interface { + Timeout() bool +} + +var syncSocketTimeout = 5 * time.Second + +func (cluster *mongoCluster) syncServer(server *mongoServer) (info *mongoServerInfo, hosts []string, err error) { + var syncTimeout time.Duration + if raceDetector { + // This variable is only ever touched by tests. + globalMutex.Lock() + syncTimeout = syncSocketTimeout + globalMutex.Unlock() + } else { + syncTimeout = syncSocketTimeout + } + + addr := server.Addr + log("SYNC Processing ", addr, "...") + + // Retry a few times to avoid knocking a server down for a hiccup. + var result isMasterResult + var tryerr error + for retry := 0; ; retry++ { + if retry == 3 || retry == 1 && cluster.failFast { + return nil, nil, tryerr + } + if retry > 0 { + // Don't abuse the server needlessly if there's something actually wrong. + if err, ok := tryerr.(possibleTimeout); ok && err.Timeout() { + // Give a chance for waiters to timeout as well. + cluster.serverSynced.Broadcast() + } + time.Sleep(syncShortDelay) + } + + // It's not clear what would be a good timeout here. Is it + // better to wait longer or to retry? + socket, _, err := server.AcquireSocket(0, syncTimeout) + if err != nil { + tryerr = err + logf("SYNC Failed to get socket to %s: %v", addr, err) + continue + } + err = cluster.isMaster(socket, &result) + socket.Release() + if err != nil { + tryerr = err + logf("SYNC Command 'ismaster' to %s failed: %v", addr, err) + continue + } + debugf("SYNC Result of 'ismaster' from %s: %#v", addr, result) + break + } + + if cluster.setName != "" && result.SetName != cluster.setName { + logf("SYNC Server %s is not a member of replica set %q", addr, cluster.setName) + return nil, nil, fmt.Errorf("server %s is not a member of replica set %q", addr, cluster.setName) + } + + if result.IsMaster { + debugf("SYNC %s is a master.", addr) + if !server.info.Master { + // Made an incorrect assumption above, so fix stats. + stats.conn(-1, false) + stats.conn(+1, true) + } + } else if result.Secondary { + debugf("SYNC %s is a slave.", addr) + } else if cluster.direct { + logf("SYNC %s in unknown state. Pretending it's a slave due to direct connection.", addr) + } else { + logf("SYNC %s is neither a master nor a slave.", addr) + // Let stats track it as whatever was known before. + return nil, nil, errors.New(addr + " is not a master nor slave") + } + + info = &mongoServerInfo{ + Master: result.IsMaster, + Mongos: result.Msg == "isdbgrid", + Tags: result.Tags, + SetName: result.SetName, + MaxWireVersion: result.MaxWireVersion, + } + + hosts = make([]string, 0, 1+len(result.Hosts)+len(result.Passives)) + if result.Primary != "" { + // First in the list to speed up master discovery. + hosts = append(hosts, result.Primary) + } + hosts = append(hosts, result.Hosts...) + hosts = append(hosts, result.Passives...) + + debugf("SYNC %s knows about the following peers: %#v", addr, hosts) + return info, hosts, nil +} + +type syncKind bool + +const ( + completeSync syncKind = true + partialSync syncKind = false +) + +func (cluster *mongoCluster) addServer(server *mongoServer, info *mongoServerInfo, syncKind syncKind) { + cluster.Lock() + current := cluster.servers.Search(server.ResolvedAddr) + if current == nil { + if syncKind == partialSync { + cluster.Unlock() + server.Close() + log("SYNC Discarding unknown server ", server.Addr, " due to partial sync.") + return + } + cluster.servers.Add(server) + if info.Master { + cluster.masters.Add(server) + log("SYNC Adding ", server.Addr, " to cluster as a master.") + } else { + log("SYNC Adding ", server.Addr, " to cluster as a slave.") + } + } else { + if server != current { + panic("addServer attempting to add duplicated server") + } + if server.Info().Master != info.Master { + if info.Master { + log("SYNC Server ", server.Addr, " is now a master.") + cluster.masters.Add(server) + } else { + log("SYNC Server ", server.Addr, " is now a slave.") + cluster.masters.Remove(server) + } + } + } + server.SetInfo(info) + debugf("SYNC Broadcasting availability of server %s", server.Addr) + cluster.serverSynced.Broadcast() + cluster.Unlock() +} + +func (cluster *mongoCluster) getKnownAddrs() []string { + cluster.RLock() + max := len(cluster.userSeeds) + len(cluster.dynaSeeds) + cluster.servers.Len() + seen := make(map[string]bool, max) + known := make([]string, 0, max) + + add := func(addr string) { + if _, found := seen[addr]; !found { + seen[addr] = true + known = append(known, addr) + } + } + + for _, addr := range cluster.userSeeds { + add(addr) + } + for _, addr := range cluster.dynaSeeds { + add(addr) + } + for _, serv := range cluster.servers.Slice() { + add(serv.Addr) + } + cluster.RUnlock() + + return known +} + +// syncServers injects a value into the cluster.sync channel to force +// an iteration of the syncServersLoop function. +func (cluster *mongoCluster) syncServers() { + select { + case cluster.sync <- true: + default: + } +} + +// How long to wait for a checkup of the cluster topology if nothing +// else kicks a synchronization before that. +const syncServersDelay = 30 * time.Second +const syncShortDelay = 500 * time.Millisecond + +// syncServersLoop loops while the cluster is alive to keep its idea of +// the server topology up-to-date. It must be called just once from +// newCluster. The loop iterates once syncServersDelay has passed, or +// if somebody injects a value into the cluster.sync channel to force a +// synchronization. A loop iteration will contact all servers in +// parallel, ask them about known peers and their own role within the +// cluster, and then attempt to do the same with all the peers +// retrieved. +func (cluster *mongoCluster) syncServersLoop() { + for { + debugf("SYNC Cluster %p is starting a sync loop iteration.", cluster) + + cluster.Lock() + if cluster.references == 0 { + cluster.Unlock() + break + } + cluster.references++ // Keep alive while syncing. + direct := cluster.direct + cluster.Unlock() + + cluster.syncServersIteration(direct) + + // We just synchronized, so consume any outstanding requests. + select { + case <-cluster.sync: + default: + } + + cluster.Release() + + // Hold off before allowing another sync. No point in + // burning CPU looking for down servers. + if !cluster.failFast { + time.Sleep(syncShortDelay) + } + + cluster.Lock() + if cluster.references == 0 { + cluster.Unlock() + break + } + cluster.syncCount++ + // Poke all waiters so they have a chance to timeout or + // restart syncing if they wish to. + cluster.serverSynced.Broadcast() + // Check if we have to restart immediately either way. + restart := !direct && cluster.masters.Empty() || cluster.servers.Empty() + cluster.Unlock() + + if restart { + log("SYNC No masters found. Will synchronize again.") + time.Sleep(syncShortDelay) + continue + } + + debugf("SYNC Cluster %p waiting for next requested or scheduled sync.", cluster) + + // Hold off until somebody explicitly requests a synchronization + // or it's time to check for a cluster topology change again. + select { + case <-cluster.sync: + case <-time.After(syncServersDelay): + } + } + debugf("SYNC Cluster %p is stopping its sync loop.", cluster) +} + +func (cluster *mongoCluster) server(addr string, tcpaddr *net.TCPAddr) *mongoServer { + cluster.RLock() + server := cluster.servers.Search(tcpaddr.String()) + cluster.RUnlock() + if server != nil { + return server + } + return newServer(addr, tcpaddr, cluster.sync, cluster.dial) +} + +func resolveAddr(addr string) (*net.TCPAddr, error) { + // Simple cases that do not need actual resolution. Works with IPv4 and v6. + if host, port, err := net.SplitHostPort(addr); err == nil { + if port, _ := strconv.Atoi(port); port > 0 { + zone := "" + if i := strings.LastIndex(host, "%"); i >= 0 { + zone = host[i+1:] + host = host[:i] + } + ip := net.ParseIP(host) + if ip != nil { + return &net.TCPAddr{IP: ip, Port: port, Zone: zone}, nil + } + } + } + + // Attempt to resolve IPv4 and v6 concurrently. + addrChan := make(chan *net.TCPAddr, 2) + for _, network := range []string{"udp4", "udp6"} { + network := network + go func() { + // The unfortunate UDP dialing hack allows having a timeout on address resolution. + conn, err := net.DialTimeout(network, addr, 10*time.Second) + if err != nil { + addrChan <- nil + } else { + addrChan <- (*net.TCPAddr)(conn.RemoteAddr().(*net.UDPAddr)) + conn.Close() + } + }() + } + + // Wait for the result of IPv4 and v6 resolution. Use IPv4 if available. + tcpaddr := <-addrChan + if tcpaddr == nil || len(tcpaddr.IP) != 4 { + var timeout <-chan time.Time + if tcpaddr != nil { + // Don't wait too long if an IPv6 address is known. + timeout = time.After(50 * time.Millisecond) + } + select { + case <-timeout: + case tcpaddr2 := <-addrChan: + if tcpaddr == nil || tcpaddr2 != nil { + // It's an IPv4 address or the only known address. Use it. + tcpaddr = tcpaddr2 + } + } + } + + if tcpaddr == nil { + log("SYNC Failed to resolve server address: ", addr) + return nil, errors.New("failed to resolve server address: " + addr) + } + if tcpaddr.String() != addr { + debug("SYNC Address ", addr, " resolved as ", tcpaddr.String()) + } + return tcpaddr, nil +} + +type pendingAdd struct { + server *mongoServer + info *mongoServerInfo +} + +func (cluster *mongoCluster) syncServersIteration(direct bool) { + log("SYNC Starting full topology synchronization...") + + var wg sync.WaitGroup + var m sync.Mutex + notYetAdded := make(map[string]pendingAdd) + addIfFound := make(map[string]bool) + seen := make(map[string]bool) + syncKind := partialSync + + var spawnSync func(addr string, byMaster bool) + spawnSync = func(addr string, byMaster bool) { + wg.Add(1) + go func() { + defer wg.Done() + + tcpaddr, err := resolveAddr(addr) + if err != nil { + log("SYNC Failed to start sync of ", addr, ": ", err.Error()) + return + } + resolvedAddr := tcpaddr.String() + + m.Lock() + if byMaster { + if pending, ok := notYetAdded[resolvedAddr]; ok { + delete(notYetAdded, resolvedAddr) + m.Unlock() + cluster.addServer(pending.server, pending.info, completeSync) + return + } + addIfFound[resolvedAddr] = true + } + if seen[resolvedAddr] { + m.Unlock() + return + } + seen[resolvedAddr] = true + m.Unlock() + + server := cluster.server(addr, tcpaddr) + info, hosts, err := cluster.syncServer(server) + if err != nil { + cluster.removeServer(server) + return + } + + m.Lock() + add := direct || info.Master || addIfFound[resolvedAddr] + if add { + syncKind = completeSync + } else { + notYetAdded[resolvedAddr] = pendingAdd{server, info} + } + m.Unlock() + if add { + cluster.addServer(server, info, completeSync) + } + if !direct { + for _, addr := range hosts { + spawnSync(addr, info.Master) + } + } + }() + } + + knownAddrs := cluster.getKnownAddrs() + for _, addr := range knownAddrs { + spawnSync(addr, false) + } + wg.Wait() + + if syncKind == completeSync { + logf("SYNC Synchronization was complete (got data from primary).") + for _, pending := range notYetAdded { + cluster.removeServer(pending.server) + } + } else { + logf("SYNC Synchronization was partial (cannot talk to primary).") + for _, pending := range notYetAdded { + cluster.addServer(pending.server, pending.info, partialSync) + } + } + + cluster.Lock() + mastersLen := cluster.masters.Len() + logf("SYNC Synchronization completed: %d master(s) and %d slave(s) alive.", mastersLen, cluster.servers.Len()-mastersLen) + + // Update dynamic seeds, but only if we have any good servers. Otherwise, + // leave them alone for better chances of a successful sync in the future. + if syncKind == completeSync { + dynaSeeds := make([]string, cluster.servers.Len()) + for i, server := range cluster.servers.Slice() { + dynaSeeds[i] = server.Addr + } + cluster.dynaSeeds = dynaSeeds + debugf("SYNC New dynamic seeds: %#v\n", dynaSeeds) + } + cluster.Unlock() +} + +// AcquireSocket returns a socket to a server in the cluster. If slaveOk is +// true, it will attempt to return a socket to a slave server. If it is +// false, the socket will necessarily be to a master server. +func (cluster *mongoCluster) AcquireSocket(mode Mode, slaveOk bool, syncTimeout time.Duration, socketTimeout time.Duration, serverTags []bson.D, poolLimit int) (s *mongoSocket, err error) { + var started time.Time + var syncCount uint + warnedLimit := false + for { + cluster.RLock() + for { + mastersLen := cluster.masters.Len() + slavesLen := cluster.servers.Len() - mastersLen + debugf("Cluster has %d known masters and %d known slaves.", mastersLen, slavesLen) + if !(slaveOk && mode == Secondary) && mastersLen > 0 || slaveOk && slavesLen > 0 { + break + } + if started.IsZero() { + // Initialize after fast path above. + started = time.Now() + syncCount = cluster.syncCount + } else if syncTimeout != 0 && started.Before(time.Now().Add(-syncTimeout)) || cluster.failFast && cluster.syncCount != syncCount { + cluster.RUnlock() + return nil, errors.New("no reachable servers") + } + log("Waiting for servers to synchronize...") + cluster.syncServers() + + // Remember: this will release and reacquire the lock. + cluster.serverSynced.Wait() + } + + var server *mongoServer + if slaveOk { + server = cluster.servers.BestFit(mode, serverTags) + } else { + server = cluster.masters.BestFit(mode, nil) + } + cluster.RUnlock() + + if server == nil { + // Must have failed the requested tags. Sleep to avoid spinning. + time.Sleep(1e8) + continue + } + + s, abended, err := server.AcquireSocket(poolLimit, socketTimeout) + if err == errPoolLimit { + if !warnedLimit { + warnedLimit = true + log("WARNING: Per-server connection limit reached.") + } + time.Sleep(100 * time.Millisecond) + continue + } + if err != nil { + cluster.removeServer(server) + cluster.syncServers() + continue + } + if abended && !slaveOk { + var result isMasterResult + err := cluster.isMaster(s, &result) + if err != nil || !result.IsMaster { + logf("Cannot confirm server %s as master (%v)", server.Addr, err) + s.Release() + cluster.syncServers() + time.Sleep(100 * time.Millisecond) + continue + } + } + return s, nil + } + panic("unreached") +} + +func (cluster *mongoCluster) CacheIndex(cacheKey string, exists bool) { + cluster.Lock() + if cluster.cachedIndex == nil { + cluster.cachedIndex = make(map[string]bool) + } + if exists { + cluster.cachedIndex[cacheKey] = true + } else { + delete(cluster.cachedIndex, cacheKey) + } + cluster.Unlock() +} + +func (cluster *mongoCluster) HasCachedIndex(cacheKey string) (result bool) { + cluster.RLock() + if cluster.cachedIndex != nil { + result = cluster.cachedIndex[cacheKey] + } + cluster.RUnlock() + return +} + +func (cluster *mongoCluster) ResetIndexCache() { + cluster.Lock() + cluster.cachedIndex = make(map[string]bool) + cluster.Unlock() +} diff --git a/vendor/gopkg.in/mgo.v2/doc.go b/vendor/gopkg.in/mgo.v2/doc.go new file mode 100644 index 0000000..859fd9b --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/doc.go @@ -0,0 +1,31 @@ +// Package mgo offers a rich MongoDB driver for Go. +// +// Details about the mgo project (pronounced as "mango") are found +// in its web page: +// +// http://labix.org/mgo +// +// Usage of the driver revolves around the concept of sessions. To +// get started, obtain a session using the Dial function: +// +// session, err := mgo.Dial(url) +// +// This will establish one or more connections with the cluster of +// servers defined by the url parameter. From then on, the cluster +// may be queried with multiple consistency rules (see SetMode) and +// documents retrieved with statements such as: +// +// c := session.DB(database).C(collection) +// err := c.Find(query).One(&result) +// +// New sessions are typically created by calling session.Copy on the +// initial session obtained at dial time. These new sessions will share +// the same cluster information and connection pool, and may be easily +// handed into other methods and functions for organizing logic. +// Every session created must have its Close method called at the end +// of its life time, so its resources may be put back in the pool or +// collected, depending on the case. +// +// For more details, see the documentation for the types and methods. +// +package mgo diff --git a/vendor/gopkg.in/mgo.v2/gridfs.go b/vendor/gopkg.in/mgo.v2/gridfs.go new file mode 100644 index 0000000..2ac4ff5 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/gridfs.go @@ -0,0 +1,761 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "crypto/md5" + "encoding/hex" + "errors" + "hash" + "io" + "os" + "sync" + "time" + + "gopkg.in/mgo.v2/bson" +) + +type GridFS struct { + Files *Collection + Chunks *Collection +} + +type gfsFileMode int + +const ( + gfsClosed gfsFileMode = 0 + gfsReading gfsFileMode = 1 + gfsWriting gfsFileMode = 2 +) + +type GridFile struct { + m sync.Mutex + c sync.Cond + gfs *GridFS + mode gfsFileMode + err error + + chunk int + offset int64 + + wpending int + wbuf []byte + wsum hash.Hash + + rbuf []byte + rcache *gfsCachedChunk + + doc gfsFile +} + +type gfsFile struct { + Id interface{} "_id" + ChunkSize int "chunkSize" + UploadDate time.Time "uploadDate" + Length int64 ",minsize" + MD5 string + Filename string ",omitempty" + ContentType string "contentType,omitempty" + Metadata *bson.Raw ",omitempty" +} + +type gfsChunk struct { + Id interface{} "_id" + FilesId interface{} "files_id" + N int + Data []byte +} + +type gfsCachedChunk struct { + wait sync.Mutex + n int + data []byte + err error +} + +func newGridFS(db *Database, prefix string) *GridFS { + return &GridFS{db.C(prefix + ".files"), db.C(prefix + ".chunks")} +} + +func (gfs *GridFS) newFile() *GridFile { + file := &GridFile{gfs: gfs} + file.c.L = &file.m + //runtime.SetFinalizer(file, finalizeFile) + return file +} + +func finalizeFile(file *GridFile) { + file.Close() +} + +// Create creates a new file with the provided name in the GridFS. If the file +// name already exists, a new version will be inserted with an up-to-date +// uploadDate that will cause it to be atomically visible to the Open and +// OpenId methods. If the file name is not important, an empty name may be +// provided and the file Id used instead. +// +// It's important to Close files whether they are being written to +// or read from, and to check the err result to ensure the operation +// completed successfully. +// +// A simple example inserting a new file: +// +// func check(err error) { +// if err != nil { +// panic(err.String()) +// } +// } +// file, err := db.GridFS("fs").Create("myfile.txt") +// check(err) +// n, err := file.Write([]byte("Hello world!")) +// check(err) +// err = file.Close() +// check(err) +// fmt.Printf("%d bytes written\n", n) +// +// The io.Writer interface is implemented by *GridFile and may be used to +// help on the file creation. For example: +// +// file, err := db.GridFS("fs").Create("myfile.txt") +// check(err) +// messages, err := os.Open("/var/log/messages") +// check(err) +// defer messages.Close() +// err = io.Copy(file, messages) +// check(err) +// err = file.Close() +// check(err) +// +func (gfs *GridFS) Create(name string) (file *GridFile, err error) { + file = gfs.newFile() + file.mode = gfsWriting + file.wsum = md5.New() + file.doc = gfsFile{Id: bson.NewObjectId(), ChunkSize: 255 * 1024, Filename: name} + return +} + +// OpenId returns the file with the provided id, for reading. +// If the file isn't found, err will be set to mgo.ErrNotFound. +// +// It's important to Close files whether they are being written to +// or read from, and to check the err result to ensure the operation +// completed successfully. +// +// The following example will print the first 8192 bytes from the file: +// +// func check(err error) { +// if err != nil { +// panic(err.String()) +// } +// } +// file, err := db.GridFS("fs").OpenId(objid) +// check(err) +// b := make([]byte, 8192) +// n, err := file.Read(b) +// check(err) +// fmt.Println(string(b)) +// check(err) +// err = file.Close() +// check(err) +// fmt.Printf("%d bytes read\n", n) +// +// The io.Reader interface is implemented by *GridFile and may be used to +// deal with it. As an example, the following snippet will dump the whole +// file into the standard output: +// +// file, err := db.GridFS("fs").OpenId(objid) +// check(err) +// err = io.Copy(os.Stdout, file) +// check(err) +// err = file.Close() +// check(err) +// +func (gfs *GridFS) OpenId(id interface{}) (file *GridFile, err error) { + var doc gfsFile + err = gfs.Files.Find(bson.M{"_id": id}).One(&doc) + if err != nil { + return + } + file = gfs.newFile() + file.mode = gfsReading + file.doc = doc + return +} + +// Open returns the most recently uploaded file with the provided +// name, for reading. If the file isn't found, err will be set +// to mgo.ErrNotFound. +// +// It's important to Close files whether they are being written to +// or read from, and to check the err result to ensure the operation +// completed successfully. +// +// The following example will print the first 8192 bytes from the file: +// +// file, err := db.GridFS("fs").Open("myfile.txt") +// check(err) +// b := make([]byte, 8192) +// n, err := file.Read(b) +// check(err) +// fmt.Println(string(b)) +// check(err) +// err = file.Close() +// check(err) +// fmt.Printf("%d bytes read\n", n) +// +// The io.Reader interface is implemented by *GridFile and may be used to +// deal with it. As an example, the following snippet will dump the whole +// file into the standard output: +// +// file, err := db.GridFS("fs").Open("myfile.txt") +// check(err) +// err = io.Copy(os.Stdout, file) +// check(err) +// err = file.Close() +// check(err) +// +func (gfs *GridFS) Open(name string) (file *GridFile, err error) { + var doc gfsFile + err = gfs.Files.Find(bson.M{"filename": name}).Sort("-uploadDate").One(&doc) + if err != nil { + return + } + file = gfs.newFile() + file.mode = gfsReading + file.doc = doc + return +} + +// OpenNext opens the next file from iter for reading, sets *file to it, +// and returns true on the success case. If no more documents are available +// on iter or an error occurred, *file is set to nil and the result is false. +// Errors will be available via iter.Err(). +// +// The iter parameter must be an iterator on the GridFS files collection. +// Using the GridFS.Find method is an easy way to obtain such an iterator, +// but any iterator on the collection will work. +// +// If the provided *file is non-nil, OpenNext will close it before attempting +// to iterate to the next element. This means that in a loop one only +// has to worry about closing files when breaking out of the loop early +// (break, return, or panic). +// +// For example: +// +// gfs := db.GridFS("fs") +// query := gfs.Find(nil).Sort("filename") +// iter := query.Iter() +// var f *mgo.GridFile +// for gfs.OpenNext(iter, &f) { +// fmt.Printf("Filename: %s\n", f.Name()) +// } +// if iter.Close() != nil { +// panic(iter.Close()) +// } +// +func (gfs *GridFS) OpenNext(iter *Iter, file **GridFile) bool { + if *file != nil { + // Ignoring the error here shouldn't be a big deal + // as we're reading the file and the loop iteration + // for this file is finished. + _ = (*file).Close() + } + var doc gfsFile + if !iter.Next(&doc) { + *file = nil + return false + } + f := gfs.newFile() + f.mode = gfsReading + f.doc = doc + *file = f + return true +} + +// Find runs query on GridFS's files collection and returns +// the resulting Query. +// +// This logic: +// +// gfs := db.GridFS("fs") +// iter := gfs.Find(nil).Iter() +// +// Is equivalent to: +// +// files := db.C("fs" + ".files") +// iter := files.Find(nil).Iter() +// +func (gfs *GridFS) Find(query interface{}) *Query { + return gfs.Files.Find(query) +} + +// RemoveId deletes the file with the provided id from the GridFS. +func (gfs *GridFS) RemoveId(id interface{}) error { + err := gfs.Files.Remove(bson.M{"_id": id}) + if err != nil { + return err + } + _, err = gfs.Chunks.RemoveAll(bson.D{{"files_id", id}}) + return err +} + +type gfsDocId struct { + Id interface{} "_id" +} + +// Remove deletes all files with the provided name from the GridFS. +func (gfs *GridFS) Remove(name string) (err error) { + iter := gfs.Files.Find(bson.M{"filename": name}).Select(bson.M{"_id": 1}).Iter() + var doc gfsDocId + for iter.Next(&doc) { + if e := gfs.RemoveId(doc.Id); e != nil { + err = e + } + } + if err == nil { + err = iter.Close() + } + return err +} + +func (file *GridFile) assertMode(mode gfsFileMode) { + switch file.mode { + case mode: + return + case gfsWriting: + panic("GridFile is open for writing") + case gfsReading: + panic("GridFile is open for reading") + case gfsClosed: + panic("GridFile is closed") + default: + panic("internal error: missing GridFile mode") + } +} + +// SetChunkSize sets size of saved chunks. Once the file is written to, it +// will be split in blocks of that size and each block saved into an +// independent chunk document. The default chunk size is 256kb. +// +// It is a runtime error to call this function once the file has started +// being written to. +func (file *GridFile) SetChunkSize(bytes int) { + file.assertMode(gfsWriting) + debugf("GridFile %p: setting chunk size to %d", file, bytes) + file.m.Lock() + file.doc.ChunkSize = bytes + file.m.Unlock() +} + +// Id returns the current file Id. +func (file *GridFile) Id() interface{} { + return file.doc.Id +} + +// SetId changes the current file Id. +// +// It is a runtime error to call this function once the file has started +// being written to, or when the file is not open for writing. +func (file *GridFile) SetId(id interface{}) { + file.assertMode(gfsWriting) + file.m.Lock() + file.doc.Id = id + file.m.Unlock() +} + +// Name returns the optional file name. An empty string will be returned +// in case it is unset. +func (file *GridFile) Name() string { + return file.doc.Filename +} + +// SetName changes the optional file name. An empty string may be used to +// unset it. +// +// It is a runtime error to call this function when the file is not open +// for writing. +func (file *GridFile) SetName(name string) { + file.assertMode(gfsWriting) + file.m.Lock() + file.doc.Filename = name + file.m.Unlock() +} + +// ContentType returns the optional file content type. An empty string will be +// returned in case it is unset. +func (file *GridFile) ContentType() string { + return file.doc.ContentType +} + +// ContentType changes the optional file content type. An empty string may be +// used to unset it. +// +// It is a runtime error to call this function when the file is not open +// for writing. +func (file *GridFile) SetContentType(ctype string) { + file.assertMode(gfsWriting) + file.m.Lock() + file.doc.ContentType = ctype + file.m.Unlock() +} + +// GetMeta unmarshals the optional "metadata" field associated with the +// file into the result parameter. The meaning of keys under that field +// is user-defined. For example: +// +// result := struct{ INode int }{} +// err = file.GetMeta(&result) +// if err != nil { +// panic(err.String()) +// } +// fmt.Printf("inode: %d\n", result.INode) +// +func (file *GridFile) GetMeta(result interface{}) (err error) { + file.m.Lock() + if file.doc.Metadata != nil { + err = bson.Unmarshal(file.doc.Metadata.Data, result) + } + file.m.Unlock() + return +} + +// SetMeta changes the optional "metadata" field associated with the +// file. The meaning of keys under that field is user-defined. +// For example: +// +// file.SetMeta(bson.M{"inode": inode}) +// +// It is a runtime error to call this function when the file is not open +// for writing. +func (file *GridFile) SetMeta(metadata interface{}) { + file.assertMode(gfsWriting) + data, err := bson.Marshal(metadata) + file.m.Lock() + if err != nil && file.err == nil { + file.err = err + } else { + file.doc.Metadata = &bson.Raw{Data: data} + } + file.m.Unlock() +} + +// Size returns the file size in bytes. +func (file *GridFile) Size() (bytes int64) { + file.m.Lock() + bytes = file.doc.Length + file.m.Unlock() + return +} + +// MD5 returns the file MD5 as a hex-encoded string. +func (file *GridFile) MD5() (md5 string) { + return file.doc.MD5 +} + +// UploadDate returns the file upload time. +func (file *GridFile) UploadDate() time.Time { + return file.doc.UploadDate +} + +// SetUploadDate changes the file upload time. +// +// It is a runtime error to call this function when the file is not open +// for writing. +func (file *GridFile) SetUploadDate(t time.Time) { + file.assertMode(gfsWriting) + file.m.Lock() + file.doc.UploadDate = t + file.m.Unlock() +} + +// Close flushes any pending changes in case the file is being written +// to, waits for any background operations to finish, and closes the file. +// +// It's important to Close files whether they are being written to +// or read from, and to check the err result to ensure the operation +// completed successfully. +func (file *GridFile) Close() (err error) { + file.m.Lock() + defer file.m.Unlock() + if file.mode == gfsWriting { + if len(file.wbuf) > 0 && file.err == nil { + file.insertChunk(file.wbuf) + file.wbuf = file.wbuf[0:0] + } + file.completeWrite() + } else if file.mode == gfsReading && file.rcache != nil { + file.rcache.wait.Lock() + file.rcache = nil + } + file.mode = gfsClosed + debugf("GridFile %p: closed", file) + return file.err +} + +func (file *GridFile) completeWrite() { + for file.wpending > 0 { + debugf("GridFile %p: waiting for %d pending chunks to complete file write", file, file.wpending) + file.c.Wait() + } + if file.err == nil { + hexsum := hex.EncodeToString(file.wsum.Sum(nil)) + if file.doc.UploadDate.IsZero() { + file.doc.UploadDate = bson.Now() + } + file.doc.MD5 = hexsum + file.err = file.gfs.Files.Insert(file.doc) + } + if file.err != nil { + file.gfs.Chunks.RemoveAll(bson.D{{"files_id", file.doc.Id}}) + } + if file.err == nil { + index := Index{ + Key: []string{"files_id", "n"}, + Unique: true, + } + file.err = file.gfs.Chunks.EnsureIndex(index) + } +} + +// Abort cancels an in-progress write, preventing the file from being +// automically created and ensuring previously written chunks are +// removed when the file is closed. +// +// It is a runtime error to call Abort when the file was not opened +// for writing. +func (file *GridFile) Abort() { + if file.mode != gfsWriting { + panic("file.Abort must be called on file opened for writing") + } + file.err = errors.New("write aborted") +} + +// Write writes the provided data to the file and returns the +// number of bytes written and an error in case something +// wrong happened. +// +// The file will internally cache the data so that all but the last +// chunk sent to the database have the size defined by SetChunkSize. +// This also means that errors may be deferred until a future call +// to Write or Close. +// +// The parameters and behavior of this function turn the file +// into an io.Writer. +func (file *GridFile) Write(data []byte) (n int, err error) { + file.assertMode(gfsWriting) + file.m.Lock() + debugf("GridFile %p: writing %d bytes", file, len(data)) + defer file.m.Unlock() + + if file.err != nil { + return 0, file.err + } + + n = len(data) + file.doc.Length += int64(n) + chunkSize := file.doc.ChunkSize + + if len(file.wbuf)+len(data) < chunkSize { + file.wbuf = append(file.wbuf, data...) + return + } + + // First, flush file.wbuf complementing with data. + if len(file.wbuf) > 0 { + missing := chunkSize - len(file.wbuf) + if missing > len(data) { + missing = len(data) + } + file.wbuf = append(file.wbuf, data[:missing]...) + data = data[missing:] + file.insertChunk(file.wbuf) + file.wbuf = file.wbuf[0:0] + } + + // Then, flush all chunks from data without copying. + for len(data) > chunkSize { + size := chunkSize + if size > len(data) { + size = len(data) + } + file.insertChunk(data[:size]) + data = data[size:] + } + + // And append the rest for a future call. + file.wbuf = append(file.wbuf, data...) + + return n, file.err +} + +func (file *GridFile) insertChunk(data []byte) { + n := file.chunk + file.chunk++ + debugf("GridFile %p: adding to checksum: %q", file, string(data)) + file.wsum.Write(data) + + for file.doc.ChunkSize*file.wpending >= 1024*1024 { + // Hold on.. we got a MB pending. + file.c.Wait() + if file.err != nil { + return + } + } + + file.wpending++ + + debugf("GridFile %p: inserting chunk %d with %d bytes", file, n, len(data)) + + // We may not own the memory of data, so rather than + // simply copying it, we'll marshal the document ahead of time. + data, err := bson.Marshal(gfsChunk{bson.NewObjectId(), file.doc.Id, n, data}) + if err != nil { + file.err = err + return + } + + go func() { + err := file.gfs.Chunks.Insert(bson.Raw{Data: data}) + file.m.Lock() + file.wpending-- + if err != nil && file.err == nil { + file.err = err + } + file.c.Broadcast() + file.m.Unlock() + }() +} + +// Seek sets the offset for the next Read or Write on file to +// offset, interpreted according to whence: 0 means relative to +// the origin of the file, 1 means relative to the current offset, +// and 2 means relative to the end. It returns the new offset and +// an error, if any. +func (file *GridFile) Seek(offset int64, whence int) (pos int64, err error) { + file.m.Lock() + debugf("GridFile %p: seeking for %s (whence=%d)", file, offset, whence) + defer file.m.Unlock() + switch whence { + case os.SEEK_SET: + case os.SEEK_CUR: + offset += file.offset + case os.SEEK_END: + offset += file.doc.Length + default: + panic("unsupported whence value") + } + if offset > file.doc.Length { + return file.offset, errors.New("seek past end of file") + } + if offset == file.doc.Length { + // If we're seeking to the end of the file, + // no need to read anything. This enables + // a client to find the size of the file using only the + // io.ReadSeeker interface with low overhead. + file.offset = offset + return file.offset, nil + } + chunk := int(offset / int64(file.doc.ChunkSize)) + if chunk+1 == file.chunk && offset >= file.offset { + file.rbuf = file.rbuf[int(offset-file.offset):] + file.offset = offset + return file.offset, nil + } + file.offset = offset + file.chunk = chunk + file.rbuf = nil + file.rbuf, err = file.getChunk() + if err == nil { + file.rbuf = file.rbuf[int(file.offset-int64(chunk)*int64(file.doc.ChunkSize)):] + } + return file.offset, err +} + +// Read reads into b the next available data from the file and +// returns the number of bytes written and an error in case +// something wrong happened. At the end of the file, n will +// be zero and err will be set to io.EOF. +// +// The parameters and behavior of this function turn the file +// into an io.Reader. +func (file *GridFile) Read(b []byte) (n int, err error) { + file.assertMode(gfsReading) + file.m.Lock() + debugf("GridFile %p: reading at offset %d into buffer of length %d", file, file.offset, len(b)) + defer file.m.Unlock() + if file.offset == file.doc.Length { + return 0, io.EOF + } + for err == nil { + i := copy(b, file.rbuf) + n += i + file.offset += int64(i) + file.rbuf = file.rbuf[i:] + if i == len(b) || file.offset == file.doc.Length { + break + } + b = b[i:] + file.rbuf, err = file.getChunk() + } + return n, err +} + +func (file *GridFile) getChunk() (data []byte, err error) { + cache := file.rcache + file.rcache = nil + if cache != nil && cache.n == file.chunk { + debugf("GridFile %p: Getting chunk %d from cache", file, file.chunk) + cache.wait.Lock() + data, err = cache.data, cache.err + } else { + debugf("GridFile %p: Fetching chunk %d", file, file.chunk) + var doc gfsChunk + err = file.gfs.Chunks.Find(bson.D{{"files_id", file.doc.Id}, {"n", file.chunk}}).One(&doc) + data = doc.Data + } + file.chunk++ + if int64(file.chunk)*int64(file.doc.ChunkSize) < file.doc.Length { + // Read the next one in background. + cache = &gfsCachedChunk{n: file.chunk} + cache.wait.Lock() + debugf("GridFile %p: Scheduling chunk %d for background caching", file, file.chunk) + // Clone the session to avoid having it closed in between. + chunks := file.gfs.Chunks + session := chunks.Database.Session.Clone() + go func(id interface{}, n int) { + defer session.Close() + chunks = chunks.With(session) + var doc gfsChunk + cache.err = chunks.Find(bson.D{{"files_id", id}, {"n", n}}).One(&doc) + cache.data = doc.Data + cache.wait.Unlock() + }(file.doc.Id, file.chunk) + file.rcache = cache + } + debugf("Returning err: %#v", err) + return +} diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sasl.c b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl.c new file mode 100644 index 0000000..8be0bc4 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl.c @@ -0,0 +1,77 @@ +// +build !windows + +#include +#include +#include +#include + +static int mgo_sasl_simple(void *context, int id, const char **result, unsigned int *len) +{ + if (!result) { + return SASL_BADPARAM; + } + switch (id) { + case SASL_CB_USER: + *result = (char *)context; + break; + case SASL_CB_AUTHNAME: + *result = (char *)context; + break; + case SASL_CB_LANGUAGE: + *result = NULL; + break; + default: + return SASL_BADPARAM; + } + if (len) { + *len = *result ? strlen(*result) : 0; + } + return SASL_OK; +} + +typedef int (*callback)(void); + +static int mgo_sasl_secret(sasl_conn_t *conn, void *context, int id, sasl_secret_t **result) +{ + if (!conn || !result || id != SASL_CB_PASS) { + return SASL_BADPARAM; + } + *result = (sasl_secret_t *)context; + return SASL_OK; +} + +sasl_callback_t *mgo_sasl_callbacks(const char *username, const char *password) +{ + sasl_callback_t *cb = malloc(4 * sizeof(sasl_callback_t)); + int n = 0; + + size_t len = strlen(password); + sasl_secret_t *secret = (sasl_secret_t*)malloc(sizeof(sasl_secret_t) + len); + if (!secret) { + free(cb); + return NULL; + } + strcpy((char *)secret->data, password); + secret->len = len; + + cb[n].id = SASL_CB_PASS; + cb[n].proc = (callback)&mgo_sasl_secret; + cb[n].context = secret; + n++; + + cb[n].id = SASL_CB_USER; + cb[n].proc = (callback)&mgo_sasl_simple; + cb[n].context = (char*)username; + n++; + + cb[n].id = SASL_CB_AUTHNAME; + cb[n].proc = (callback)&mgo_sasl_simple; + cb[n].context = (char*)username; + n++; + + cb[n].id = SASL_CB_LIST_END; + cb[n].proc = NULL; + cb[n].context = NULL; + + return cb; +} diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sasl.go b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl.go new file mode 100644 index 0000000..8375ddd --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl.go @@ -0,0 +1,138 @@ +// Package sasl is an implementation detail of the mgo package. +// +// This package is not meant to be used by itself. +// + +// +build !windows + +package sasl + +// #cgo LDFLAGS: -lsasl2 +// +// struct sasl_conn {}; +// +// #include +// #include +// +// sasl_callback_t *mgo_sasl_callbacks(const char *username, const char *password); +// +import "C" + +import ( + "fmt" + "strings" + "sync" + "unsafe" +) + +type saslStepper interface { + Step(serverData []byte) (clientData []byte, done bool, err error) + Close() +} + +type saslSession struct { + conn *C.sasl_conn_t + step int + mech string + + cstrings []*C.char + callbacks *C.sasl_callback_t +} + +var initError error +var initOnce sync.Once + +func initSASL() { + rc := C.sasl_client_init(nil) + if rc != C.SASL_OK { + initError = saslError(rc, nil, "cannot initialize SASL library") + } +} + +func New(username, password, mechanism, service, host string) (saslStepper, error) { + initOnce.Do(initSASL) + if initError != nil { + return nil, initError + } + + ss := &saslSession{mech: mechanism} + if service == "" { + service = "mongodb" + } + if i := strings.Index(host, ":"); i >= 0 { + host = host[:i] + } + ss.callbacks = C.mgo_sasl_callbacks(ss.cstr(username), ss.cstr(password)) + rc := C.sasl_client_new(ss.cstr(service), ss.cstr(host), nil, nil, ss.callbacks, 0, &ss.conn) + if rc != C.SASL_OK { + ss.Close() + return nil, saslError(rc, nil, "cannot create new SASL client") + } + return ss, nil +} + +func (ss *saslSession) cstr(s string) *C.char { + cstr := C.CString(s) + ss.cstrings = append(ss.cstrings, cstr) + return cstr +} + +func (ss *saslSession) Close() { + for _, cstr := range ss.cstrings { + C.free(unsafe.Pointer(cstr)) + } + ss.cstrings = nil + + if ss.callbacks != nil { + C.free(unsafe.Pointer(ss.callbacks)) + } + + // The documentation of SASL dispose makes it clear that this should only + // be done when the connection is done, not when the authentication phase + // is done, because an encryption layer may have been negotiated. + // Even then, we'll do this for now, because it's simpler and prevents + // keeping track of this state for every socket. If it breaks, we'll fix it. + C.sasl_dispose(&ss.conn) +} + +func (ss *saslSession) Step(serverData []byte) (clientData []byte, done bool, err error) { + ss.step++ + if ss.step > 10 { + return nil, false, fmt.Errorf("too many SASL steps without authentication") + } + var cclientData *C.char + var cclientDataLen C.uint + var rc C.int + if ss.step == 1 { + var mechanism *C.char // ignored - must match cred + rc = C.sasl_client_start(ss.conn, ss.cstr(ss.mech), nil, &cclientData, &cclientDataLen, &mechanism) + } else { + var cserverData *C.char + var cserverDataLen C.uint + if len(serverData) > 0 { + cserverData = (*C.char)(unsafe.Pointer(&serverData[0])) + cserverDataLen = C.uint(len(serverData)) + } + rc = C.sasl_client_step(ss.conn, cserverData, cserverDataLen, nil, &cclientData, &cclientDataLen) + } + if cclientData != nil && cclientDataLen > 0 { + clientData = C.GoBytes(unsafe.Pointer(cclientData), C.int(cclientDataLen)) + } + if rc == C.SASL_OK { + return clientData, true, nil + } + if rc == C.SASL_CONTINUE { + return clientData, false, nil + } + return nil, false, saslError(rc, ss.conn, "cannot establish SASL session") +} + +func saslError(rc C.int, conn *C.sasl_conn_t, msg string) error { + var detail string + if conn == nil { + detail = C.GoString(C.sasl_errstring(rc, nil, nil)) + } else { + detail = C.GoString(C.sasl_errdetail(conn)) + } + return fmt.Errorf(msg + ": " + detail) +} diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.c b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.c new file mode 100644 index 0000000..dd6a88a --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.c @@ -0,0 +1,118 @@ +#include "sasl_windows.h" + +static const LPSTR SSPI_PACKAGE_NAME = "kerberos"; + +SECURITY_STATUS SEC_ENTRY sspi_acquire_credentials_handle(CredHandle *cred_handle, char *username, char *password, char *domain) +{ + SEC_WINNT_AUTH_IDENTITY auth_identity; + SECURITY_INTEGER ignored; + + auth_identity.Flags = SEC_WINNT_AUTH_IDENTITY_ANSI; + auth_identity.User = (LPSTR) username; + auth_identity.UserLength = strlen(username); + auth_identity.Password = (LPSTR) password; + auth_identity.PasswordLength = strlen(password); + auth_identity.Domain = (LPSTR) domain; + auth_identity.DomainLength = strlen(domain); + return call_sspi_acquire_credentials_handle(NULL, SSPI_PACKAGE_NAME, SECPKG_CRED_OUTBOUND, NULL, &auth_identity, NULL, NULL, cred_handle, &ignored); +} + +int sspi_step(CredHandle *cred_handle, int has_context, CtxtHandle *context, PVOID *buffer, ULONG *buffer_length, char *target) +{ + SecBufferDesc inbuf; + SecBuffer in_bufs[1]; + SecBufferDesc outbuf; + SecBuffer out_bufs[1]; + + if (has_context > 0) { + // If we already have a context, we now have data to send. + // Put this data in an inbuf. + inbuf.ulVersion = SECBUFFER_VERSION; + inbuf.cBuffers = 1; + inbuf.pBuffers = in_bufs; + in_bufs[0].pvBuffer = *buffer; + in_bufs[0].cbBuffer = *buffer_length; + in_bufs[0].BufferType = SECBUFFER_TOKEN; + } + + outbuf.ulVersion = SECBUFFER_VERSION; + outbuf.cBuffers = 1; + outbuf.pBuffers = out_bufs; + out_bufs[0].pvBuffer = NULL; + out_bufs[0].cbBuffer = 0; + out_bufs[0].BufferType = SECBUFFER_TOKEN; + + ULONG context_attr = 0; + + int ret = call_sspi_initialize_security_context(cred_handle, + has_context > 0 ? context : NULL, + (LPSTR) target, + ISC_REQ_ALLOCATE_MEMORY | ISC_REQ_MUTUAL_AUTH, + 0, + SECURITY_NETWORK_DREP, + has_context > 0 ? &inbuf : NULL, + 0, + context, + &outbuf, + &context_attr, + NULL); + + *buffer = malloc(out_bufs[0].cbBuffer); + *buffer_length = out_bufs[0].cbBuffer; + memcpy(*buffer, out_bufs[0].pvBuffer, *buffer_length); + + return ret; +} + +int sspi_send_client_authz_id(CtxtHandle *context, PVOID *buffer, ULONG *buffer_length, char *user_plus_realm) +{ + SecPkgContext_Sizes sizes; + SECURITY_STATUS status = call_sspi_query_context_attributes(context, SECPKG_ATTR_SIZES, &sizes); + + if (status != SEC_E_OK) { + return status; + } + + size_t user_plus_realm_length = strlen(user_plus_realm); + int msgSize = 4 + user_plus_realm_length; + char *msg = malloc((sizes.cbSecurityTrailer + msgSize + sizes.cbBlockSize) * sizeof(char)); + msg[sizes.cbSecurityTrailer + 0] = 1; + msg[sizes.cbSecurityTrailer + 1] = 0; + msg[sizes.cbSecurityTrailer + 2] = 0; + msg[sizes.cbSecurityTrailer + 3] = 0; + memcpy(&msg[sizes.cbSecurityTrailer + 4], user_plus_realm, user_plus_realm_length); + + SecBuffer wrapBufs[3]; + SecBufferDesc wrapBufDesc; + wrapBufDesc.cBuffers = 3; + wrapBufDesc.pBuffers = wrapBufs; + wrapBufDesc.ulVersion = SECBUFFER_VERSION; + + wrapBufs[0].cbBuffer = sizes.cbSecurityTrailer; + wrapBufs[0].BufferType = SECBUFFER_TOKEN; + wrapBufs[0].pvBuffer = msg; + + wrapBufs[1].cbBuffer = msgSize; + wrapBufs[1].BufferType = SECBUFFER_DATA; + wrapBufs[1].pvBuffer = msg + sizes.cbSecurityTrailer; + + wrapBufs[2].cbBuffer = sizes.cbBlockSize; + wrapBufs[2].BufferType = SECBUFFER_PADDING; + wrapBufs[2].pvBuffer = msg + sizes.cbSecurityTrailer + msgSize; + + status = call_sspi_encrypt_message(context, SECQOP_WRAP_NO_ENCRYPT, &wrapBufDesc, 0); + if (status != SEC_E_OK) { + free(msg); + return status; + } + + *buffer_length = wrapBufs[0].cbBuffer + wrapBufs[1].cbBuffer + wrapBufs[2].cbBuffer; + *buffer = malloc(*buffer_length); + + memcpy(*buffer, wrapBufs[0].pvBuffer, wrapBufs[0].cbBuffer); + memcpy(*buffer + wrapBufs[0].cbBuffer, wrapBufs[1].pvBuffer, wrapBufs[1].cbBuffer); + memcpy(*buffer + wrapBufs[0].cbBuffer + wrapBufs[1].cbBuffer, wrapBufs[2].pvBuffer, wrapBufs[2].cbBuffer); + + free(msg); + return SEC_E_OK; +} diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.go b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.go new file mode 100644 index 0000000..3302cfe --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.go @@ -0,0 +1,140 @@ +package sasl + +// #include "sasl_windows.h" +import "C" + +import ( + "fmt" + "strings" + "sync" + "unsafe" +) + +type saslStepper interface { + Step(serverData []byte) (clientData []byte, done bool, err error) + Close() +} + +type saslSession struct { + // Credentials + mech string + service string + host string + userPlusRealm string + target string + domain string + + // Internal state + authComplete bool + errored bool + step int + + // C internal state + credHandle C.CredHandle + context C.CtxtHandle + hasContext C.int + + // Keep track of pointers we need to explicitly free + stringsToFree []*C.char +} + +var initError error +var initOnce sync.Once + +func initSSPI() { + rc := C.load_secur32_dll() + if rc != 0 { + initError = fmt.Errorf("Error loading libraries: %v", rc) + } +} + +func New(username, password, mechanism, service, host string) (saslStepper, error) { + initOnce.Do(initSSPI) + ss := &saslSession{mech: mechanism, hasContext: 0, userPlusRealm: username} + if service == "" { + service = "mongodb" + } + if i := strings.Index(host, ":"); i >= 0 { + host = host[:i] + } + ss.service = service + ss.host = host + + usernameComponents := strings.Split(username, "@") + if len(usernameComponents) < 2 { + return nil, fmt.Errorf("Username '%v' doesn't contain a realm!", username) + } + user := usernameComponents[0] + ss.domain = usernameComponents[1] + ss.target = fmt.Sprintf("%s/%s", ss.service, ss.host) + + var status C.SECURITY_STATUS + // Step 0: call AcquireCredentialsHandle to get a nice SSPI CredHandle + if len(password) > 0 { + status = C.sspi_acquire_credentials_handle(&ss.credHandle, ss.cstr(user), ss.cstr(password), ss.cstr(ss.domain)) + } else { + status = C.sspi_acquire_credentials_handle(&ss.credHandle, ss.cstr(user), nil, ss.cstr(ss.domain)) + } + if status != C.SEC_E_OK { + ss.errored = true + return nil, fmt.Errorf("Couldn't create new SSPI client, error code %v", status) + } + return ss, nil +} + +func (ss *saslSession) cstr(s string) *C.char { + cstr := C.CString(s) + ss.stringsToFree = append(ss.stringsToFree, cstr) + return cstr +} + +func (ss *saslSession) Close() { + for _, cstr := range ss.stringsToFree { + C.free(unsafe.Pointer(cstr)) + } +} + +func (ss *saslSession) Step(serverData []byte) (clientData []byte, done bool, err error) { + ss.step++ + if ss.step > 10 { + return nil, false, fmt.Errorf("too many SSPI steps without authentication") + } + var buffer C.PVOID + var bufferLength C.ULONG + if len(serverData) > 0 { + buffer = (C.PVOID)(unsafe.Pointer(&serverData[0])) + bufferLength = C.ULONG(len(serverData)) + } + var status C.int + if ss.authComplete { + // Step 3: last bit of magic to use the correct server credentials + status = C.sspi_send_client_authz_id(&ss.context, &buffer, &bufferLength, ss.cstr(ss.userPlusRealm)) + } else { + // Step 1 + Step 2: set up security context with the server and TGT + status = C.sspi_step(&ss.credHandle, ss.hasContext, &ss.context, &buffer, &bufferLength, ss.cstr(ss.target)) + } + if buffer != C.PVOID(nil) { + defer C.free(unsafe.Pointer(buffer)) + } + if status != C.SEC_E_OK && status != C.SEC_I_CONTINUE_NEEDED { + ss.errored = true + return nil, false, ss.handleSSPIErrorCode(status) + } + + clientData = C.GoBytes(unsafe.Pointer(buffer), C.int(bufferLength)) + if status == C.SEC_E_OK { + ss.authComplete = true + return clientData, true, nil + } else { + ss.hasContext = 1 + return clientData, false, nil + } +} + +func (ss *saslSession) handleSSPIErrorCode(code C.int) error { + switch { + case code == C.SEC_E_TARGET_UNKNOWN: + return fmt.Errorf("Target %v@%v not found", ss.target, ss.domain) + } + return fmt.Errorf("Unknown error doing step %v, error code %v", ss.step, code) +} diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.h b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.h new file mode 100644 index 0000000..94321b2 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sasl_windows.h @@ -0,0 +1,7 @@ +#include + +#include "sspi_windows.h" + +SECURITY_STATUS SEC_ENTRY sspi_acquire_credentials_handle(CredHandle* cred_handle, char* username, char* password, char* domain); +int sspi_step(CredHandle* cred_handle, int has_context, CtxtHandle* context, PVOID* buffer, ULONG* buffer_length, char* target); +int sspi_send_client_authz_id(CtxtHandle* context, PVOID* buffer, ULONG* buffer_length, char* user_plus_realm); diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.c b/vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.c new file mode 100644 index 0000000..63f9a6f --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.c @@ -0,0 +1,96 @@ +// Code adapted from the NodeJS kerberos library: +// +// https://github.com/christkv/kerberos/tree/master/lib/win32/kerberos_sspi.c +// +// Under the terms of the Apache License, Version 2.0: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +#include + +#include "sspi_windows.h" + +static HINSTANCE sspi_secur32_dll = NULL; + +int load_secur32_dll() +{ + sspi_secur32_dll = LoadLibrary("secur32.dll"); + if (sspi_secur32_dll == NULL) { + return GetLastError(); + } + return 0; +} + +SECURITY_STATUS SEC_ENTRY call_sspi_encrypt_message(PCtxtHandle phContext, unsigned long fQOP, PSecBufferDesc pMessage, unsigned long MessageSeqNo) +{ + if (sspi_secur32_dll == NULL) { + return -1; + } + encryptMessage_fn pfn_encryptMessage = (encryptMessage_fn) GetProcAddress(sspi_secur32_dll, "EncryptMessage"); + if (!pfn_encryptMessage) { + return -2; + } + return (*pfn_encryptMessage)(phContext, fQOP, pMessage, MessageSeqNo); +} + +SECURITY_STATUS SEC_ENTRY call_sspi_acquire_credentials_handle( + LPSTR pszPrincipal, LPSTR pszPackage, unsigned long fCredentialUse, + void *pvLogonId, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, + PCredHandle phCredential, PTimeStamp ptsExpiry) +{ + if (sspi_secur32_dll == NULL) { + return -1; + } + acquireCredentialsHandle_fn pfn_acquireCredentialsHandle; +#ifdef _UNICODE + pfn_acquireCredentialsHandle = (acquireCredentialsHandle_fn) GetProcAddress(sspi_secur32_dll, "AcquireCredentialsHandleW"); +#else + pfn_acquireCredentialsHandle = (acquireCredentialsHandle_fn) GetProcAddress(sspi_secur32_dll, "AcquireCredentialsHandleA"); +#endif + if (!pfn_acquireCredentialsHandle) { + return -2; + } + return (*pfn_acquireCredentialsHandle)( + pszPrincipal, pszPackage, fCredentialUse, pvLogonId, pAuthData, + pGetKeyFn, pvGetKeyArgument, phCredential, ptsExpiry); +} + +SECURITY_STATUS SEC_ENTRY call_sspi_initialize_security_context( + PCredHandle phCredential, PCtxtHandle phContext, LPSTR pszTargetName, + unsigned long fContextReq, unsigned long Reserved1, unsigned long TargetDataRep, + PSecBufferDesc pInput, unsigned long Reserved2, PCtxtHandle phNewContext, + PSecBufferDesc pOutput, unsigned long *pfContextAttr, PTimeStamp ptsExpiry) +{ + if (sspi_secur32_dll == NULL) { + return -1; + } + initializeSecurityContext_fn pfn_initializeSecurityContext; +#ifdef _UNICODE + pfn_initializeSecurityContext = (initializeSecurityContext_fn) GetProcAddress(sspi_secur32_dll, "InitializeSecurityContextW"); +#else + pfn_initializeSecurityContext = (initializeSecurityContext_fn) GetProcAddress(sspi_secur32_dll, "InitializeSecurityContextA"); +#endif + if (!pfn_initializeSecurityContext) { + return -2; + } + return (*pfn_initializeSecurityContext)( + phCredential, phContext, pszTargetName, fContextReq, Reserved1, TargetDataRep, + pInput, Reserved2, phNewContext, pOutput, pfContextAttr, ptsExpiry); +} + +SECURITY_STATUS SEC_ENTRY call_sspi_query_context_attributes(PCtxtHandle phContext, unsigned long ulAttribute, void *pBuffer) +{ + if (sspi_secur32_dll == NULL) { + return -1; + } + queryContextAttributes_fn pfn_queryContextAttributes; +#ifdef _UNICODE + pfn_queryContextAttributes = (queryContextAttributes_fn) GetProcAddress(sspi_secur32_dll, "QueryContextAttributesW"); +#else + pfn_queryContextAttributes = (queryContextAttributes_fn) GetProcAddress(sspi_secur32_dll, "QueryContextAttributesA"); +#endif + if (!pfn_queryContextAttributes) { + return -2; + } + return (*pfn_queryContextAttributes)(phContext, ulAttribute, pBuffer); +} diff --git a/vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.h b/vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.h new file mode 100644 index 0000000..d283270 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/sasl/sspi_windows.h @@ -0,0 +1,70 @@ +// Code adapted from the NodeJS kerberos library: +// +// https://github.com/christkv/kerberos/tree/master/lib/win32/kerberos_sspi.h +// +// Under the terms of the Apache License, Version 2.0: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +#ifndef SSPI_WINDOWS_H +#define SSPI_WINDOWS_H + +#define SECURITY_WIN32 1 + +#include +#include + +int load_secur32_dll(); + +SECURITY_STATUS SEC_ENTRY call_sspi_encrypt_message(PCtxtHandle phContext, unsigned long fQOP, PSecBufferDesc pMessage, unsigned long MessageSeqNo); + +typedef DWORD (WINAPI *encryptMessage_fn)(PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo); + +SECURITY_STATUS SEC_ENTRY call_sspi_acquire_credentials_handle( + LPSTR pszPrincipal, // Name of principal + LPSTR pszPackage, // Name of package + unsigned long fCredentialUse, // Flags indicating use + void *pvLogonId, // Pointer to logon ID + void *pAuthData, // Package specific data + SEC_GET_KEY_FN pGetKeyFn, // Pointer to GetKey() func + void *pvGetKeyArgument, // Value to pass to GetKey() + PCredHandle phCredential, // (out) Cred Handle + PTimeStamp ptsExpiry // (out) Lifetime (optional) +); + +typedef DWORD (WINAPI *acquireCredentialsHandle_fn)( + LPSTR pszPrincipal, LPSTR pszPackage, unsigned long fCredentialUse, + void *pvLogonId, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, + PCredHandle phCredential, PTimeStamp ptsExpiry +); + +SECURITY_STATUS SEC_ENTRY call_sspi_initialize_security_context( + PCredHandle phCredential, // Cred to base context + PCtxtHandle phContext, // Existing context (OPT) + LPSTR pszTargetName, // Name of target + unsigned long fContextReq, // Context Requirements + unsigned long Reserved1, // Reserved, MBZ + unsigned long TargetDataRep, // Data rep of target + PSecBufferDesc pInput, // Input Buffers + unsigned long Reserved2, // Reserved, MBZ + PCtxtHandle phNewContext, // (out) New Context handle + PSecBufferDesc pOutput, // (inout) Output Buffers + unsigned long *pfContextAttr, // (out) Context attrs + PTimeStamp ptsExpiry // (out) Life span (OPT) +); + +typedef DWORD (WINAPI *initializeSecurityContext_fn)( + PCredHandle phCredential, PCtxtHandle phContext, LPSTR pszTargetName, unsigned long fContextReq, + unsigned long Reserved1, unsigned long TargetDataRep, PSecBufferDesc pInput, unsigned long Reserved2, + PCtxtHandle phNewContext, PSecBufferDesc pOutput, unsigned long *pfContextAttr, PTimeStamp ptsExpiry); + +SECURITY_STATUS SEC_ENTRY call_sspi_query_context_attributes( + PCtxtHandle phContext, // Context to query + unsigned long ulAttribute, // Attribute to query + void *pBuffer // Buffer for attributes +); + +typedef DWORD (WINAPI *queryContextAttributes_fn)( + PCtxtHandle phContext, unsigned long ulAttribute, void *pBuffer); + +#endif // SSPI_WINDOWS_H diff --git a/vendor/gopkg.in/mgo.v2/internal/scram/scram.go b/vendor/gopkg.in/mgo.v2/internal/scram/scram.go new file mode 100644 index 0000000..2deb2c7 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/internal/scram/scram.go @@ -0,0 +1,266 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2014 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Pacakage scram implements a SCRAM-{SHA-1,etc} client per RFC5802. +// +// http://tools.ietf.org/html/rfc5802 +// +package scram + +import ( + "bytes" + "crypto/hmac" + "crypto/rand" + "encoding/base64" + "fmt" + "hash" + "strconv" + "strings" +) + +// Client implements a SCRAM-* client (SCRAM-SHA-1, SCRAM-SHA-256, etc). +// +// A Client may be used within a SASL conversation with logic resembling: +// +// var in []byte +// var client = scram.NewClient(sha1.New, user, pass) +// for client.Step(in) { +// out := client.Out() +// // send out to server +// in := serverOut +// } +// if client.Err() != nil { +// // auth failed +// } +// +type Client struct { + newHash func() hash.Hash + + user string + pass string + step int + out bytes.Buffer + err error + + clientNonce []byte + serverNonce []byte + saltedPass []byte + authMsg bytes.Buffer +} + +// NewClient returns a new SCRAM-* client with the provided hash algorithm. +// +// For SCRAM-SHA-1, for example, use: +// +// client := scram.NewClient(sha1.New, user, pass) +// +func NewClient(newHash func() hash.Hash, user, pass string) *Client { + c := &Client{ + newHash: newHash, + user: user, + pass: pass, + } + c.out.Grow(256) + c.authMsg.Grow(256) + return c +} + +// Out returns the data to be sent to the server in the current step. +func (c *Client) Out() []byte { + if c.out.Len() == 0 { + return nil + } + return c.out.Bytes() +} + +// Err returns the error that ocurred, or nil if there were no errors. +func (c *Client) Err() error { + return c.err +} + +// SetNonce sets the client nonce to the provided value. +// If not set, the nonce is generated automatically out of crypto/rand on the first step. +func (c *Client) SetNonce(nonce []byte) { + c.clientNonce = nonce +} + +var escaper = strings.NewReplacer("=", "=3D", ",", "=2C") + +// Step processes the incoming data from the server and makes the +// next round of data for the server available via Client.Out. +// Step returns false if there are no errors and more data is +// still expected. +func (c *Client) Step(in []byte) bool { + c.out.Reset() + if c.step > 2 || c.err != nil { + return false + } + c.step++ + switch c.step { + case 1: + c.err = c.step1(in) + case 2: + c.err = c.step2(in) + case 3: + c.err = c.step3(in) + } + return c.step > 2 || c.err != nil +} + +func (c *Client) step1(in []byte) error { + if len(c.clientNonce) == 0 { + const nonceLen = 6 + buf := make([]byte, nonceLen+b64.EncodedLen(nonceLen)) + if _, err := rand.Read(buf[:nonceLen]); err != nil { + return fmt.Errorf("cannot read random SCRAM-SHA-1 nonce from operating system: %v", err) + } + c.clientNonce = buf[nonceLen:] + b64.Encode(c.clientNonce, buf[:nonceLen]) + } + c.authMsg.WriteString("n=") + escaper.WriteString(&c.authMsg, c.user) + c.authMsg.WriteString(",r=") + c.authMsg.Write(c.clientNonce) + + c.out.WriteString("n,,") + c.out.Write(c.authMsg.Bytes()) + return nil +} + +var b64 = base64.StdEncoding + +func (c *Client) step2(in []byte) error { + c.authMsg.WriteByte(',') + c.authMsg.Write(in) + + fields := bytes.Split(in, []byte(",")) + if len(fields) != 3 { + return fmt.Errorf("expected 3 fields in first SCRAM-SHA-1 server message, got %d: %q", len(fields), in) + } + if !bytes.HasPrefix(fields[0], []byte("r=")) || len(fields[0]) < 2 { + return fmt.Errorf("server sent an invalid SCRAM-SHA-1 nonce: %q", fields[0]) + } + if !bytes.HasPrefix(fields[1], []byte("s=")) || len(fields[1]) < 6 { + return fmt.Errorf("server sent an invalid SCRAM-SHA-1 salt: %q", fields[1]) + } + if !bytes.HasPrefix(fields[2], []byte("i=")) || len(fields[2]) < 6 { + return fmt.Errorf("server sent an invalid SCRAM-SHA-1 iteration count: %q", fields[2]) + } + + c.serverNonce = fields[0][2:] + if !bytes.HasPrefix(c.serverNonce, c.clientNonce) { + return fmt.Errorf("server SCRAM-SHA-1 nonce is not prefixed by client nonce: got %q, want %q+\"...\"", c.serverNonce, c.clientNonce) + } + + salt := make([]byte, b64.DecodedLen(len(fields[1][2:]))) + n, err := b64.Decode(salt, fields[1][2:]) + if err != nil { + return fmt.Errorf("cannot decode SCRAM-SHA-1 salt sent by server: %q", fields[1]) + } + salt = salt[:n] + iterCount, err := strconv.Atoi(string(fields[2][2:])) + if err != nil { + return fmt.Errorf("server sent an invalid SCRAM-SHA-1 iteration count: %q", fields[2]) + } + c.saltPassword(salt, iterCount) + + c.authMsg.WriteString(",c=biws,r=") + c.authMsg.Write(c.serverNonce) + + c.out.WriteString("c=biws,r=") + c.out.Write(c.serverNonce) + c.out.WriteString(",p=") + c.out.Write(c.clientProof()) + return nil +} + +func (c *Client) step3(in []byte) error { + var isv, ise bool + var fields = bytes.Split(in, []byte(",")) + if len(fields) == 1 { + isv = bytes.HasPrefix(fields[0], []byte("v=")) + ise = bytes.HasPrefix(fields[0], []byte("e=")) + } + if ise { + return fmt.Errorf("SCRAM-SHA-1 authentication error: %s", fields[0][2:]) + } else if !isv { + return fmt.Errorf("unsupported SCRAM-SHA-1 final message from server: %q", in) + } + if !bytes.Equal(c.serverSignature(), fields[0][2:]) { + return fmt.Errorf("cannot authenticate SCRAM-SHA-1 server signature: %q", fields[0][2:]) + } + return nil +} + +func (c *Client) saltPassword(salt []byte, iterCount int) { + mac := hmac.New(c.newHash, []byte(c.pass)) + mac.Write(salt) + mac.Write([]byte{0, 0, 0, 1}) + ui := mac.Sum(nil) + hi := make([]byte, len(ui)) + copy(hi, ui) + for i := 1; i < iterCount; i++ { + mac.Reset() + mac.Write(ui) + mac.Sum(ui[:0]) + for j, b := range ui { + hi[j] ^= b + } + } + c.saltedPass = hi +} + +func (c *Client) clientProof() []byte { + mac := hmac.New(c.newHash, c.saltedPass) + mac.Write([]byte("Client Key")) + clientKey := mac.Sum(nil) + hash := c.newHash() + hash.Write(clientKey) + storedKey := hash.Sum(nil) + mac = hmac.New(c.newHash, storedKey) + mac.Write(c.authMsg.Bytes()) + clientProof := mac.Sum(nil) + for i, b := range clientKey { + clientProof[i] ^= b + } + clientProof64 := make([]byte, b64.EncodedLen(len(clientProof))) + b64.Encode(clientProof64, clientProof) + return clientProof64 +} + +func (c *Client) serverSignature() []byte { + mac := hmac.New(c.newHash, c.saltedPass) + mac.Write([]byte("Server Key")) + serverKey := mac.Sum(nil) + + mac = hmac.New(c.newHash, serverKey) + mac.Write(c.authMsg.Bytes()) + serverSignature := mac.Sum(nil) + + encoded := make([]byte, b64.EncodedLen(len(serverSignature))) + b64.Encode(encoded, serverSignature) + return encoded +} diff --git a/vendor/gopkg.in/mgo.v2/log.go b/vendor/gopkg.in/mgo.v2/log.go new file mode 100644 index 0000000..53eb423 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/log.go @@ -0,0 +1,133 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "fmt" + "sync" +) + +// --------------------------------------------------------------------------- +// Logging integration. + +// Avoid importing the log type information unnecessarily. There's a small cost +// associated with using an interface rather than the type. Depending on how +// often the logger is plugged in, it would be worth using the type instead. +type log_Logger interface { + Output(calldepth int, s string) error +} + +var ( + globalLogger log_Logger + globalDebug bool + globalMutex sync.Mutex +) + +// RACE WARNING: There are known data races when logging, which are manually +// silenced when the race detector is in use. These data races won't be +// observed in typical use, because logging is supposed to be set up once when +// the application starts. Having raceDetector as a constant, the compiler +// should elide the locks altogether in actual use. + +// Specify the *log.Logger object where log messages should be sent to. +func SetLogger(logger log_Logger) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + globalLogger = logger +} + +// Enable the delivery of debug messages to the logger. Only meaningful +// if a logger is also set. +func SetDebug(debug bool) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + globalDebug = debug +} + +func log(v ...interface{}) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if globalLogger != nil { + globalLogger.Output(2, fmt.Sprint(v...)) + } +} + +func logln(v ...interface{}) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if globalLogger != nil { + globalLogger.Output(2, fmt.Sprintln(v...)) + } +} + +func logf(format string, v ...interface{}) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if globalLogger != nil { + globalLogger.Output(2, fmt.Sprintf(format, v...)) + } +} + +func debug(v ...interface{}) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if globalDebug && globalLogger != nil { + globalLogger.Output(2, fmt.Sprint(v...)) + } +} + +func debugln(v ...interface{}) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if globalDebug && globalLogger != nil { + globalLogger.Output(2, fmt.Sprintln(v...)) + } +} + +func debugf(format string, v ...interface{}) { + if raceDetector { + globalMutex.Lock() + defer globalMutex.Unlock() + } + if globalDebug && globalLogger != nil { + globalLogger.Output(2, fmt.Sprintf(format, v...)) + } +} diff --git a/vendor/gopkg.in/mgo.v2/queue.go b/vendor/gopkg.in/mgo.v2/queue.go new file mode 100644 index 0000000..e9245de --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/queue.go @@ -0,0 +1,91 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +type queue struct { + elems []interface{} + nelems, popi, pushi int +} + +func (q *queue) Len() int { + return q.nelems +} + +func (q *queue) Push(elem interface{}) { + //debugf("Pushing(pushi=%d popi=%d cap=%d): %#v\n", + // q.pushi, q.popi, len(q.elems), elem) + if q.nelems == len(q.elems) { + q.expand() + } + q.elems[q.pushi] = elem + q.nelems++ + q.pushi = (q.pushi + 1) % len(q.elems) + //debugf(" Pushed(pushi=%d popi=%d cap=%d): %#v\n", + // q.pushi, q.popi, len(q.elems), elem) +} + +func (q *queue) Pop() (elem interface{}) { + //debugf("Popping(pushi=%d popi=%d cap=%d)\n", + // q.pushi, q.popi, len(q.elems)) + if q.nelems == 0 { + return nil + } + elem = q.elems[q.popi] + q.elems[q.popi] = nil // Help GC. + q.nelems-- + q.popi = (q.popi + 1) % len(q.elems) + //debugf(" Popped(pushi=%d popi=%d cap=%d): %#v\n", + // q.pushi, q.popi, len(q.elems), elem) + return elem +} + +func (q *queue) expand() { + curcap := len(q.elems) + var newcap int + if curcap == 0 { + newcap = 8 + } else if curcap < 1024 { + newcap = curcap * 2 + } else { + newcap = curcap + (curcap / 4) + } + elems := make([]interface{}, newcap) + + if q.popi == 0 { + copy(elems, q.elems) + q.pushi = curcap + } else { + newpopi := newcap - (curcap - q.popi) + copy(elems, q.elems[:q.popi]) + copy(elems[newpopi:], q.elems[q.popi:]) + q.popi = newpopi + } + for i := range q.elems { + q.elems[i] = nil // Help GC. + } + q.elems = elems +} diff --git a/vendor/gopkg.in/mgo.v2/raceoff.go b/vendor/gopkg.in/mgo.v2/raceoff.go new file mode 100644 index 0000000..e60b141 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/raceoff.go @@ -0,0 +1,5 @@ +// +build !race + +package mgo + +const raceDetector = false diff --git a/vendor/gopkg.in/mgo.v2/raceon.go b/vendor/gopkg.in/mgo.v2/raceon.go new file mode 100644 index 0000000..737b08e --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/raceon.go @@ -0,0 +1,5 @@ +// +build race + +package mgo + +const raceDetector = true diff --git a/vendor/gopkg.in/mgo.v2/saslimpl.go b/vendor/gopkg.in/mgo.v2/saslimpl.go new file mode 100644 index 0000000..0d25f25 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/saslimpl.go @@ -0,0 +1,11 @@ +//+build sasl + +package mgo + +import ( + "gopkg.in/mgo.v2/internal/sasl" +) + +func saslNew(cred Credential, host string) (saslStepper, error) { + return sasl.New(cred.Username, cred.Password, cred.Mechanism, cred.Service, host) +} diff --git a/vendor/gopkg.in/mgo.v2/saslstub.go b/vendor/gopkg.in/mgo.v2/saslstub.go new file mode 100644 index 0000000..6e9e309 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/saslstub.go @@ -0,0 +1,11 @@ +//+build !sasl + +package mgo + +import ( + "fmt" +) + +func saslNew(cred Credential, host string) (saslStepper, error) { + return nil, fmt.Errorf("SASL support not enabled during build (-tags sasl)") +} diff --git a/vendor/gopkg.in/mgo.v2/server.go b/vendor/gopkg.in/mgo.v2/server.go new file mode 100644 index 0000000..f677359 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/server.go @@ -0,0 +1,452 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "errors" + "net" + "sort" + "sync" + "time" + + "gopkg.in/mgo.v2/bson" +) + +// --------------------------------------------------------------------------- +// Mongo server encapsulation. + +type mongoServer struct { + sync.RWMutex + Addr string + ResolvedAddr string + tcpaddr *net.TCPAddr + unusedSockets []*mongoSocket + liveSockets []*mongoSocket + closed bool + abended bool + sync chan bool + dial dialer + pingValue time.Duration + pingIndex int + pingCount uint32 + pingWindow [6]time.Duration + info *mongoServerInfo +} + +type dialer struct { + old func(addr net.Addr) (net.Conn, error) + new func(addr *ServerAddr) (net.Conn, error) +} + +func (dial dialer) isSet() bool { + return dial.old != nil || dial.new != nil +} + +type mongoServerInfo struct { + Master bool + Mongos bool + Tags bson.D + MaxWireVersion int + SetName string +} + +var defaultServerInfo mongoServerInfo + +func newServer(addr string, tcpaddr *net.TCPAddr, sync chan bool, dial dialer) *mongoServer { + server := &mongoServer{ + Addr: addr, + ResolvedAddr: tcpaddr.String(), + tcpaddr: tcpaddr, + sync: sync, + dial: dial, + info: &defaultServerInfo, + pingValue: time.Hour, // Push it back before an actual ping. + } + go server.pinger(true) + return server +} + +var errPoolLimit = errors.New("per-server connection limit reached") +var errServerClosed = errors.New("server was closed") + +// AcquireSocket returns a socket for communicating with the server. +// This will attempt to reuse an old connection, if one is available. Otherwise, +// it will establish a new one. The returned socket is owned by the call site, +// and will return to the cache when the socket has its Release method called +// the same number of times as AcquireSocket + Acquire were called for it. +// If the poolLimit argument is greater than zero and the number of sockets in +// use in this server is greater than the provided limit, errPoolLimit is +// returned. +func (server *mongoServer) AcquireSocket(poolLimit int, timeout time.Duration) (socket *mongoSocket, abended bool, err error) { + for { + server.Lock() + abended = server.abended + if server.closed { + server.Unlock() + return nil, abended, errServerClosed + } + n := len(server.unusedSockets) + if poolLimit > 0 && len(server.liveSockets)-n >= poolLimit { + server.Unlock() + return nil, false, errPoolLimit + } + if n > 0 { + socket = server.unusedSockets[n-1] + server.unusedSockets[n-1] = nil // Help GC. + server.unusedSockets = server.unusedSockets[:n-1] + info := server.info + server.Unlock() + err = socket.InitialAcquire(info, timeout) + if err != nil { + continue + } + } else { + server.Unlock() + socket, err = server.Connect(timeout) + if err == nil { + server.Lock() + // We've waited for the Connect, see if we got + // closed in the meantime + if server.closed { + server.Unlock() + socket.Release() + socket.Close() + return nil, abended, errServerClosed + } + server.liveSockets = append(server.liveSockets, socket) + server.Unlock() + } + } + return + } + panic("unreachable") +} + +// Connect establishes a new connection to the server. This should +// generally be done through server.AcquireSocket(). +func (server *mongoServer) Connect(timeout time.Duration) (*mongoSocket, error) { + server.RLock() + master := server.info.Master + dial := server.dial + server.RUnlock() + + logf("Establishing new connection to %s (timeout=%s)...", server.Addr, timeout) + var conn net.Conn + var err error + switch { + case !dial.isSet(): + // Cannot do this because it lacks timeout support. :-( + //conn, err = net.DialTCP("tcp", nil, server.tcpaddr) + conn, err = net.DialTimeout("tcp", server.ResolvedAddr, timeout) + if tcpconn, ok := conn.(*net.TCPConn); ok { + tcpconn.SetKeepAlive(true) + } else if err == nil { + panic("internal error: obtained TCP connection is not a *net.TCPConn!?") + } + case dial.old != nil: + conn, err = dial.old(server.tcpaddr) + case dial.new != nil: + conn, err = dial.new(&ServerAddr{server.Addr, server.tcpaddr}) + default: + panic("dialer is set, but both dial.old and dial.new are nil") + } + if err != nil { + logf("Connection to %s failed: %v", server.Addr, err.Error()) + return nil, err + } + logf("Connection to %s established.", server.Addr) + + stats.conn(+1, master) + return newSocket(server, conn, timeout), nil +} + +// Close forces closing all sockets that are alive, whether +// they're currently in use or not. +func (server *mongoServer) Close() { + server.Lock() + server.closed = true + liveSockets := server.liveSockets + unusedSockets := server.unusedSockets + server.liveSockets = nil + server.unusedSockets = nil + server.Unlock() + logf("Connections to %s closing (%d live sockets).", server.Addr, len(liveSockets)) + for i, s := range liveSockets { + s.Close() + liveSockets[i] = nil + } + for i := range unusedSockets { + unusedSockets[i] = nil + } +} + +// RecycleSocket puts socket back into the unused cache. +func (server *mongoServer) RecycleSocket(socket *mongoSocket) { + server.Lock() + if !server.closed { + server.unusedSockets = append(server.unusedSockets, socket) + } + server.Unlock() +} + +func removeSocket(sockets []*mongoSocket, socket *mongoSocket) []*mongoSocket { + for i, s := range sockets { + if s == socket { + copy(sockets[i:], sockets[i+1:]) + n := len(sockets) - 1 + sockets[n] = nil + sockets = sockets[:n] + break + } + } + return sockets +} + +// AbendSocket notifies the server that the given socket has terminated +// abnormally, and thus should be discarded rather than cached. +func (server *mongoServer) AbendSocket(socket *mongoSocket) { + server.Lock() + server.abended = true + if server.closed { + server.Unlock() + return + } + server.liveSockets = removeSocket(server.liveSockets, socket) + server.unusedSockets = removeSocket(server.unusedSockets, socket) + server.Unlock() + // Maybe just a timeout, but suggest a cluster sync up just in case. + select { + case server.sync <- true: + default: + } +} + +func (server *mongoServer) SetInfo(info *mongoServerInfo) { + server.Lock() + server.info = info + server.Unlock() +} + +func (server *mongoServer) Info() *mongoServerInfo { + server.Lock() + info := server.info + server.Unlock() + return info +} + +func (server *mongoServer) hasTags(serverTags []bson.D) bool { +NextTagSet: + for _, tags := range serverTags { + NextReqTag: + for _, req := range tags { + for _, has := range server.info.Tags { + if req.Name == has.Name { + if req.Value == has.Value { + continue NextReqTag + } + continue NextTagSet + } + } + continue NextTagSet + } + return true + } + return false +} + +var pingDelay = 15 * time.Second + +func (server *mongoServer) pinger(loop bool) { + var delay time.Duration + if raceDetector { + // This variable is only ever touched by tests. + globalMutex.Lock() + delay = pingDelay + globalMutex.Unlock() + } else { + delay = pingDelay + } + op := queryOp{ + collection: "admin.$cmd", + query: bson.D{{"ping", 1}}, + flags: flagSlaveOk, + limit: -1, + } + for { + if loop { + time.Sleep(delay) + } + op := op + socket, _, err := server.AcquireSocket(0, delay) + if err == nil { + start := time.Now() + _, _ = socket.SimpleQuery(&op) + delay := time.Now().Sub(start) + + server.pingWindow[server.pingIndex] = delay + server.pingIndex = (server.pingIndex + 1) % len(server.pingWindow) + server.pingCount++ + var max time.Duration + for i := 0; i < len(server.pingWindow) && uint32(i) < server.pingCount; i++ { + if server.pingWindow[i] > max { + max = server.pingWindow[i] + } + } + socket.Release() + server.Lock() + if server.closed { + loop = false + } + server.pingValue = max + server.Unlock() + logf("Ping for %s is %d ms", server.Addr, max/time.Millisecond) + } else if err == errServerClosed { + return + } + if !loop { + return + } + } +} + +type mongoServerSlice []*mongoServer + +func (s mongoServerSlice) Len() int { + return len(s) +} + +func (s mongoServerSlice) Less(i, j int) bool { + return s[i].ResolvedAddr < s[j].ResolvedAddr +} + +func (s mongoServerSlice) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} + +func (s mongoServerSlice) Sort() { + sort.Sort(s) +} + +func (s mongoServerSlice) Search(resolvedAddr string) (i int, ok bool) { + n := len(s) + i = sort.Search(n, func(i int) bool { + return s[i].ResolvedAddr >= resolvedAddr + }) + return i, i != n && s[i].ResolvedAddr == resolvedAddr +} + +type mongoServers struct { + slice mongoServerSlice +} + +func (servers *mongoServers) Search(resolvedAddr string) (server *mongoServer) { + if i, ok := servers.slice.Search(resolvedAddr); ok { + return servers.slice[i] + } + return nil +} + +func (servers *mongoServers) Add(server *mongoServer) { + servers.slice = append(servers.slice, server) + servers.slice.Sort() +} + +func (servers *mongoServers) Remove(other *mongoServer) (server *mongoServer) { + if i, found := servers.slice.Search(other.ResolvedAddr); found { + server = servers.slice[i] + copy(servers.slice[i:], servers.slice[i+1:]) + n := len(servers.slice) - 1 + servers.slice[n] = nil // Help GC. + servers.slice = servers.slice[:n] + } + return +} + +func (servers *mongoServers) Slice() []*mongoServer { + return ([]*mongoServer)(servers.slice) +} + +func (servers *mongoServers) Get(i int) *mongoServer { + return servers.slice[i] +} + +func (servers *mongoServers) Len() int { + return len(servers.slice) +} + +func (servers *mongoServers) Empty() bool { + return len(servers.slice) == 0 +} + +// BestFit returns the best guess of what would be the most interesting +// server to perform operations on at this point in time. +func (servers *mongoServers) BestFit(mode Mode, serverTags []bson.D) *mongoServer { + var best *mongoServer + for _, next := range servers.slice { + if best == nil { + best = next + best.RLock() + if serverTags != nil && !next.info.Mongos && !best.hasTags(serverTags) { + best.RUnlock() + best = nil + } + continue + } + next.RLock() + swap := false + switch { + case serverTags != nil && !next.info.Mongos && !next.hasTags(serverTags): + // Must have requested tags. + case next.info.Master != best.info.Master && mode != Nearest: + // Prefer slaves, unless the mode is PrimaryPreferred. + swap = (mode == PrimaryPreferred) != best.info.Master + case absDuration(next.pingValue-best.pingValue) > 15*time.Millisecond: + // Prefer nearest server. + swap = next.pingValue < best.pingValue + case len(next.liveSockets)-len(next.unusedSockets) < len(best.liveSockets)-len(best.unusedSockets): + // Prefer servers with less connections. + swap = true + } + if swap { + best.RUnlock() + best = next + } else { + next.RUnlock() + } + } + if best != nil { + best.RUnlock() + } + return best +} + +func absDuration(d time.Duration) time.Duration { + if d < 0 { + return -d + } + return d +} diff --git a/vendor/gopkg.in/mgo.v2/session.go b/vendor/gopkg.in/mgo.v2/session.go new file mode 100644 index 0000000..a8ad115 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/session.go @@ -0,0 +1,4722 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "crypto/md5" + "encoding/hex" + "errors" + "fmt" + "math" + "net" + "net/url" + "reflect" + "sort" + "strconv" + "strings" + "sync" + "time" + + "gopkg.in/mgo.v2/bson" +) + +type Mode int + +const ( + // Relevant documentation on read preference modes: + // + // http://docs.mongodb.org/manual/reference/read-preference/ + // + Primary Mode = 2 // Default mode. All operations read from the current replica set primary. + PrimaryPreferred Mode = 3 // Read from the primary if available. Read from the secondary otherwise. + Secondary Mode = 4 // Read from one of the nearest secondary members of the replica set. + SecondaryPreferred Mode = 5 // Read from one of the nearest secondaries if available. Read from primary otherwise. + Nearest Mode = 6 // Read from one of the nearest members, irrespective of it being primary or secondary. + + // Read preference modes are specific to mgo: + Eventual Mode = 0 // Same as Nearest, but may change servers between reads. + Monotonic Mode = 1 // Same as SecondaryPreferred before first write. Same as Primary after first write. + Strong Mode = 2 // Same as Primary. +) + +// mgo.v3: Drop Strong mode, suffix all modes with "Mode". + +// When changing the Session type, check if newSession and copySession +// need to be updated too. + +// Session represents a communication session with the database. +// +// All Session methods are concurrency-safe and may be called from multiple +// goroutines. In all session modes but Eventual, using the session from +// multiple goroutines will cause them to share the same underlying socket. +// See the documentation on Session.SetMode for more details. +type Session struct { + m sync.RWMutex + cluster_ *mongoCluster + slaveSocket *mongoSocket + masterSocket *mongoSocket + slaveOk bool + consistency Mode + queryConfig query + safeOp *queryOp + syncTimeout time.Duration + sockTimeout time.Duration + defaultdb string + sourcedb string + dialCred *Credential + creds []Credential + poolLimit int + bypassValidation bool +} + +type Database struct { + Session *Session + Name string +} + +type Collection struct { + Database *Database + Name string // "collection" + FullName string // "db.collection" +} + +type Query struct { + m sync.Mutex + session *Session + query // Enables default settings in session. +} + +type query struct { + op queryOp + prefetch float64 + limit int32 +} + +type getLastError struct { + CmdName int "getLastError,omitempty" + W interface{} "w,omitempty" + WTimeout int "wtimeout,omitempty" + FSync bool "fsync,omitempty" + J bool "j,omitempty" +} + +type Iter struct { + m sync.Mutex + gotReply sync.Cond + session *Session + server *mongoServer + docData queue + err error + op getMoreOp + prefetch float64 + limit int32 + docsToReceive int + docsBeforeMore int + timeout time.Duration + timedout bool + findCmd bool +} + +var ( + ErrNotFound = errors.New("not found") + ErrCursor = errors.New("invalid cursor") +) + +const defaultPrefetch = 0.25 + +// Dial establishes a new session to the cluster identified by the given seed +// server(s). The session will enable communication with all of the servers in +// the cluster, so the seed servers are used only to find out about the cluster +// topology. +// +// Dial will timeout after 10 seconds if a server isn't reached. The returned +// session will timeout operations after one minute by default if servers +// aren't available. To customize the timeout, see DialWithTimeout, +// SetSyncTimeout, and SetSocketTimeout. +// +// This method is generally called just once for a given cluster. Further +// sessions to the same cluster are then established using the New or Copy +// methods on the obtained session. This will make them share the underlying +// cluster, and manage the pool of connections appropriately. +// +// Once the session is not useful anymore, Close must be called to release the +// resources appropriately. +// +// The seed servers must be provided in the following format: +// +// [mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options] +// +// For example, it may be as simple as: +// +// localhost +// +// Or more involved like: +// +// mongodb://myuser:mypass@localhost:40001,otherhost:40001/mydb +// +// If the port number is not provided for a server, it defaults to 27017. +// +// The username and password provided in the URL will be used to authenticate +// into the database named after the slash at the end of the host names, or +// into the "admin" database if none is provided. The authentication information +// will persist in sessions obtained through the New method as well. +// +// The following connection options are supported after the question mark: +// +// connect=direct +// +// Disables the automatic replica set server discovery logic, and +// forces the use of servers provided only (even if secondaries). +// Note that to talk to a secondary the consistency requirements +// must be relaxed to Monotonic or Eventual via SetMode. +// +// +// connect=replicaSet +// +// Discover replica sets automatically. Default connection behavior. +// +// +// replicaSet= +// +// If specified will prevent the obtained session from communicating +// with any server which is not part of a replica set with the given name. +// The default is to communicate with any server specified or discovered +// via the servers contacted. +// +// +// authSource= +// +// Informs the database used to establish credentials and privileges +// with a MongoDB server. Defaults to the database name provided via +// the URL path, and "admin" if that's unset. +// +// +// authMechanism= +// +// Defines the protocol for credential negotiation. Defaults to "MONGODB-CR", +// which is the default username/password challenge-response mechanism. +// +// +// gssapiServiceName= +// +// Defines the service name to use when authenticating with the GSSAPI +// mechanism. Defaults to "mongodb". +// +// +// maxPoolSize= +// +// Defines the per-server socket pool limit. Defaults to 4096. +// See Session.SetPoolLimit for details. +// +// +// Relevant documentation: +// +// http://docs.mongodb.org/manual/reference/connection-string/ +// +func Dial(url string) (*Session, error) { + session, err := DialWithTimeout(url, 10*time.Second) + if err == nil { + session.SetSyncTimeout(1 * time.Minute) + session.SetSocketTimeout(1 * time.Minute) + } + return session, err +} + +// DialWithTimeout works like Dial, but uses timeout as the amount of time to +// wait for a server to respond when first connecting and also on follow up +// operations in the session. If timeout is zero, the call may block +// forever waiting for a connection to be made. +// +// See SetSyncTimeout for customizing the timeout for the session. +func DialWithTimeout(url string, timeout time.Duration) (*Session, error) { + info, err := ParseURL(url) + if err != nil { + return nil, err + } + info.Timeout = timeout + return DialWithInfo(info) +} + +// ParseURL parses a MongoDB URL as accepted by the Dial function and returns +// a value suitable for providing into DialWithInfo. +// +// See Dial for more details on the format of url. +func ParseURL(url string) (*DialInfo, error) { + uinfo, err := extractURL(url) + if err != nil { + return nil, err + } + direct := false + mechanism := "" + service := "" + source := "" + setName := "" + poolLimit := 0 + for k, v := range uinfo.options { + switch k { + case "authSource": + source = v + case "authMechanism": + mechanism = v + case "gssapiServiceName": + service = v + case "replicaSet": + setName = v + case "maxPoolSize": + poolLimit, err = strconv.Atoi(v) + if err != nil { + return nil, errors.New("bad value for maxPoolSize: " + v) + } + case "connect": + if v == "direct" { + direct = true + break + } + if v == "replicaSet" { + break + } + fallthrough + default: + return nil, errors.New("unsupported connection URL option: " + k + "=" + v) + } + } + info := DialInfo{ + Addrs: uinfo.addrs, + Direct: direct, + Database: uinfo.db, + Username: uinfo.user, + Password: uinfo.pass, + Mechanism: mechanism, + Service: service, + Source: source, + PoolLimit: poolLimit, + ReplicaSetName: setName, + } + return &info, nil +} + +// DialInfo holds options for establishing a session with a MongoDB cluster. +// To use a URL, see the Dial function. +type DialInfo struct { + // Addrs holds the addresses for the seed servers. + Addrs []string + + // Direct informs whether to establish connections only with the + // specified seed servers, or to obtain information for the whole + // cluster and establish connections with further servers too. + Direct bool + + // Timeout is the amount of time to wait for a server to respond when + // first connecting and on follow up operations in the session. If + // timeout is zero, the call may block forever waiting for a connection + // to be established. Timeout does not affect logic in DialServer. + Timeout time.Duration + + // FailFast will cause connection and query attempts to fail faster when + // the server is unavailable, instead of retrying until the configured + // timeout period. Note that an unavailable server may silently drop + // packets instead of rejecting them, in which case it's impossible to + // distinguish it from a slow server, so the timeout stays relevant. + FailFast bool + + // Database is the default database name used when the Session.DB method + // is called with an empty name, and is also used during the initial + // authentication if Source is unset. + Database string + + // ReplicaSetName, if specified, will prevent the obtained session from + // communicating with any server which is not part of a replica set + // with the given name. The default is to communicate with any server + // specified or discovered via the servers contacted. + ReplicaSetName string + + // Source is the database used to establish credentials and privileges + // with a MongoDB server. Defaults to the value of Database, if that is + // set, or "admin" otherwise. + Source string + + // Service defines the service name to use when authenticating with the GSSAPI + // mechanism. Defaults to "mongodb". + Service string + + // ServiceHost defines which hostname to use when authenticating + // with the GSSAPI mechanism. If not specified, defaults to the MongoDB + // server's address. + ServiceHost string + + // Mechanism defines the protocol for credential negotiation. + // Defaults to "MONGODB-CR". + Mechanism string + + // Username and Password inform the credentials for the initial authentication + // done on the database defined by the Source field. See Session.Login. + Username string + Password string + + // PoolLimit defines the per-server socket pool limit. Defaults to 4096. + // See Session.SetPoolLimit for details. + PoolLimit int + + // DialServer optionally specifies the dial function for establishing + // connections with the MongoDB servers. + DialServer func(addr *ServerAddr) (net.Conn, error) + + // WARNING: This field is obsolete. See DialServer above. + Dial func(addr net.Addr) (net.Conn, error) +} + +// mgo.v3: Drop DialInfo.Dial. + +// ServerAddr represents the address for establishing a connection to an +// individual MongoDB server. +type ServerAddr struct { + str string + tcp *net.TCPAddr +} + +// String returns the address that was provided for the server before resolution. +func (addr *ServerAddr) String() string { + return addr.str +} + +// TCPAddr returns the resolved TCP address for the server. +func (addr *ServerAddr) TCPAddr() *net.TCPAddr { + return addr.tcp +} + +// DialWithInfo establishes a new session to the cluster identified by info. +func DialWithInfo(info *DialInfo) (*Session, error) { + addrs := make([]string, len(info.Addrs)) + for i, addr := range info.Addrs { + p := strings.LastIndexAny(addr, "]:") + if p == -1 || addr[p] != ':' { + // XXX This is untested. The test suite doesn't use the standard port. + addr += ":27017" + } + addrs[i] = addr + } + cluster := newCluster(addrs, info.Direct, info.FailFast, dialer{info.Dial, info.DialServer}, info.ReplicaSetName) + session := newSession(Eventual, cluster, info.Timeout) + session.defaultdb = info.Database + if session.defaultdb == "" { + session.defaultdb = "test" + } + session.sourcedb = info.Source + if session.sourcedb == "" { + session.sourcedb = info.Database + if session.sourcedb == "" { + session.sourcedb = "admin" + } + } + if info.Username != "" { + source := session.sourcedb + if info.Source == "" && + (info.Mechanism == "GSSAPI" || info.Mechanism == "PLAIN" || info.Mechanism == "MONGODB-X509") { + source = "$external" + } + session.dialCred = &Credential{ + Username: info.Username, + Password: info.Password, + Mechanism: info.Mechanism, + Service: info.Service, + ServiceHost: info.ServiceHost, + Source: source, + } + session.creds = []Credential{*session.dialCred} + } + if info.PoolLimit > 0 { + session.poolLimit = info.PoolLimit + } + cluster.Release() + + // People get confused when we return a session that is not actually + // established to any servers yet (e.g. what if url was wrong). So, + // ping the server to ensure there's someone there, and abort if it + // fails. + if err := session.Ping(); err != nil { + session.Close() + return nil, err + } + session.SetMode(Strong, true) + return session, nil +} + +func isOptSep(c rune) bool { + return c == ';' || c == '&' +} + +type urlInfo struct { + addrs []string + user string + pass string + db string + options map[string]string +} + +func extractURL(s string) (*urlInfo, error) { + if strings.HasPrefix(s, "mongodb://") { + s = s[10:] + } + info := &urlInfo{options: make(map[string]string)} + if c := strings.Index(s, "?"); c != -1 { + for _, pair := range strings.FieldsFunc(s[c+1:], isOptSep) { + l := strings.SplitN(pair, "=", 2) + if len(l) != 2 || l[0] == "" || l[1] == "" { + return nil, errors.New("connection option must be key=value: " + pair) + } + info.options[l[0]] = l[1] + } + s = s[:c] + } + if c := strings.Index(s, "@"); c != -1 { + pair := strings.SplitN(s[:c], ":", 2) + if len(pair) > 2 || pair[0] == "" { + return nil, errors.New("credentials must be provided as user:pass@host") + } + var err error + info.user, err = url.QueryUnescape(pair[0]) + if err != nil { + return nil, fmt.Errorf("cannot unescape username in URL: %q", pair[0]) + } + if len(pair) > 1 { + info.pass, err = url.QueryUnescape(pair[1]) + if err != nil { + return nil, fmt.Errorf("cannot unescape password in URL") + } + } + s = s[c+1:] + } + if c := strings.Index(s, "/"); c != -1 { + info.db = s[c+1:] + s = s[:c] + } + info.addrs = strings.Split(s, ",") + return info, nil +} + +func newSession(consistency Mode, cluster *mongoCluster, timeout time.Duration) (session *Session) { + cluster.Acquire() + session = &Session{ + cluster_: cluster, + syncTimeout: timeout, + sockTimeout: timeout, + poolLimit: 4096, + } + debugf("New session %p on cluster %p", session, cluster) + session.SetMode(consistency, true) + session.SetSafe(&Safe{}) + session.queryConfig.prefetch = defaultPrefetch + return session +} + +func copySession(session *Session, keepCreds bool) (s *Session) { + cluster := session.cluster() + cluster.Acquire() + if session.masterSocket != nil { + session.masterSocket.Acquire() + } + if session.slaveSocket != nil { + session.slaveSocket.Acquire() + } + var creds []Credential + if keepCreds { + creds = make([]Credential, len(session.creds)) + copy(creds, session.creds) + } else if session.dialCred != nil { + creds = []Credential{*session.dialCred} + } + scopy := *session + scopy.m = sync.RWMutex{} + scopy.creds = creds + s = &scopy + debugf("New session %p on cluster %p (copy from %p)", s, cluster, session) + return s +} + +// LiveServers returns a list of server addresses which are +// currently known to be alive. +func (s *Session) LiveServers() (addrs []string) { + s.m.RLock() + addrs = s.cluster().LiveServers() + s.m.RUnlock() + return addrs +} + +// DB returns a value representing the named database. If name +// is empty, the database name provided in the dialed URL is +// used instead. If that is also empty, "test" is used as a +// fallback in a way equivalent to the mongo shell. +// +// Creating this value is a very lightweight operation, and +// involves no network communication. +func (s *Session) DB(name string) *Database { + if name == "" { + name = s.defaultdb + } + return &Database{s, name} +} + +// C returns a value representing the named collection. +// +// Creating this value is a very lightweight operation, and +// involves no network communication. +func (db *Database) C(name string) *Collection { + return &Collection{db, name, db.Name + "." + name} +} + +// With returns a copy of db that uses session s. +func (db *Database) With(s *Session) *Database { + newdb := *db + newdb.Session = s + return &newdb +} + +// With returns a copy of c that uses session s. +func (c *Collection) With(s *Session) *Collection { + newdb := *c.Database + newdb.Session = s + newc := *c + newc.Database = &newdb + return &newc +} + +// GridFS returns a GridFS value representing collections in db that +// follow the standard GridFS specification. +// The provided prefix (sometimes known as root) will determine which +// collections to use, and is usually set to "fs" when there is a +// single GridFS in the database. +// +// See the GridFS Create, Open, and OpenId methods for more details. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/GridFS +// http://www.mongodb.org/display/DOCS/GridFS+Tools +// http://www.mongodb.org/display/DOCS/GridFS+Specification +// +func (db *Database) GridFS(prefix string) *GridFS { + return newGridFS(db, prefix) +} + +// Run issues the provided command on the db database and unmarshals +// its result in the respective argument. The cmd argument may be either +// a string with the command name itself, in which case an empty document of +// the form bson.M{cmd: 1} will be used, or it may be a full command document. +// +// Note that MongoDB considers the first marshalled key as the command +// name, so when providing a command with options, it's important to +// use an ordering-preserving document, such as a struct value or an +// instance of bson.D. For instance: +// +// db.Run(bson.D{{"create", "mycollection"}, {"size", 1024}}) +// +// For privilleged commands typically run on the "admin" database, see +// the Run method in the Session type. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Commands +// http://www.mongodb.org/display/DOCS/List+of+Database+CommandSkips +// +func (db *Database) Run(cmd interface{}, result interface{}) error { + socket, err := db.Session.acquireSocket(true) + if err != nil { + return err + } + defer socket.Release() + + // This is an optimized form of db.C("$cmd").Find(cmd).One(result). + return db.run(socket, cmd, result) +} + +// Credential holds details to authenticate with a MongoDB server. +type Credential struct { + // Username and Password hold the basic details for authentication. + // Password is optional with some authentication mechanisms. + Username string + Password string + + // Source is the database used to establish credentials and privileges + // with a MongoDB server. Defaults to the default database provided + // during dial, or "admin" if that was unset. + Source string + + // Service defines the service name to use when authenticating with the GSSAPI + // mechanism. Defaults to "mongodb". + Service string + + // ServiceHost defines which hostname to use when authenticating + // with the GSSAPI mechanism. If not specified, defaults to the MongoDB + // server's address. + ServiceHost string + + // Mechanism defines the protocol for credential negotiation. + // Defaults to "MONGODB-CR". + Mechanism string +} + +// Login authenticates with MongoDB using the provided credential. The +// authentication is valid for the whole session and will stay valid until +// Logout is explicitly called for the same database, or the session is +// closed. +func (db *Database) Login(user, pass string) error { + return db.Session.Login(&Credential{Username: user, Password: pass, Source: db.Name}) +} + +// Login authenticates with MongoDB using the provided credential. The +// authentication is valid for the whole session and will stay valid until +// Logout is explicitly called for the same database, or the session is +// closed. +func (s *Session) Login(cred *Credential) error { + socket, err := s.acquireSocket(true) + if err != nil { + return err + } + defer socket.Release() + + credCopy := *cred + if cred.Source == "" { + if cred.Mechanism == "GSSAPI" { + credCopy.Source = "$external" + } else { + credCopy.Source = s.sourcedb + } + } + err = socket.Login(credCopy) + if err != nil { + return err + } + + s.m.Lock() + s.creds = append(s.creds, credCopy) + s.m.Unlock() + return nil +} + +func (s *Session) socketLogin(socket *mongoSocket) error { + for _, cred := range s.creds { + if err := socket.Login(cred); err != nil { + return err + } + } + return nil +} + +// Logout removes any established authentication credentials for the database. +func (db *Database) Logout() { + session := db.Session + dbname := db.Name + session.m.Lock() + found := false + for i, cred := range session.creds { + if cred.Source == dbname { + copy(session.creds[i:], session.creds[i+1:]) + session.creds = session.creds[:len(session.creds)-1] + found = true + break + } + } + if found { + if session.masterSocket != nil { + session.masterSocket.Logout(dbname) + } + if session.slaveSocket != nil { + session.slaveSocket.Logout(dbname) + } + } + session.m.Unlock() +} + +// LogoutAll removes all established authentication credentials for the session. +func (s *Session) LogoutAll() { + s.m.Lock() + for _, cred := range s.creds { + if s.masterSocket != nil { + s.masterSocket.Logout(cred.Source) + } + if s.slaveSocket != nil { + s.slaveSocket.Logout(cred.Source) + } + } + s.creds = s.creds[0:0] + s.m.Unlock() +} + +// User represents a MongoDB user. +// +// Relevant documentation: +// +// http://docs.mongodb.org/manual/reference/privilege-documents/ +// http://docs.mongodb.org/manual/reference/user-privileges/ +// +type User struct { + // Username is how the user identifies itself to the system. + Username string `bson:"user"` + + // Password is the plaintext password for the user. If set, + // the UpsertUser method will hash it into PasswordHash and + // unset it before the user is added to the database. + Password string `bson:",omitempty"` + + // PasswordHash is the MD5 hash of Username+":mongo:"+Password. + PasswordHash string `bson:"pwd,omitempty"` + + // CustomData holds arbitrary data admins decide to associate + // with this user, such as the full name or employee id. + CustomData interface{} `bson:"customData,omitempty"` + + // Roles indicates the set of roles the user will be provided. + // See the Role constants. + Roles []Role `bson:"roles"` + + // OtherDBRoles allows assigning roles in other databases from + // user documents inserted in the admin database. This field + // only works in the admin database. + OtherDBRoles map[string][]Role `bson:"otherDBRoles,omitempty"` + + // UserSource indicates where to look for this user's credentials. + // It may be set to a database name, or to "$external" for + // consulting an external resource such as Kerberos. UserSource + // must not be set if Password or PasswordHash are present. + // + // WARNING: This setting was only ever supported in MongoDB 2.4, + // and is now obsolete. + UserSource string `bson:"userSource,omitempty"` +} + +type Role string + +const ( + // Relevant documentation: + // + // http://docs.mongodb.org/manual/reference/user-privileges/ + // + RoleRoot Role = "root" + RoleRead Role = "read" + RoleReadAny Role = "readAnyDatabase" + RoleReadWrite Role = "readWrite" + RoleReadWriteAny Role = "readWriteAnyDatabase" + RoleDBAdmin Role = "dbAdmin" + RoleDBAdminAny Role = "dbAdminAnyDatabase" + RoleUserAdmin Role = "userAdmin" + RoleUserAdminAny Role = "userAdminAnyDatabase" + RoleClusterAdmin Role = "clusterAdmin" +) + +// UpsertUser updates the authentication credentials and the roles for +// a MongoDB user within the db database. If the named user doesn't exist +// it will be created. +// +// This method should only be used from MongoDB 2.4 and on. For older +// MongoDB releases, use the obsolete AddUser method instead. +// +// Relevant documentation: +// +// http://docs.mongodb.org/manual/reference/user-privileges/ +// http://docs.mongodb.org/manual/reference/privilege-documents/ +// +func (db *Database) UpsertUser(user *User) error { + if user.Username == "" { + return fmt.Errorf("user has no Username") + } + if (user.Password != "" || user.PasswordHash != "") && user.UserSource != "" { + return fmt.Errorf("user has both Password/PasswordHash and UserSource set") + } + if len(user.OtherDBRoles) > 0 && db.Name != "admin" && db.Name != "$external" { + return fmt.Errorf("user with OtherDBRoles is only supported in the admin or $external databases") + } + + // Attempt to run this using 2.6+ commands. + rundb := db + if user.UserSource != "" { + // Compatibility logic for the userSource field of MongoDB <= 2.4.X + rundb = db.Session.DB(user.UserSource) + } + err := rundb.runUserCmd("updateUser", user) + // retry with createUser when isAuthError in order to enable the "localhost exception" + if isNotFound(err) || isAuthError(err) { + return rundb.runUserCmd("createUser", user) + } + if !isNoCmd(err) { + return err + } + + // Command does not exist. Fallback to pre-2.6 behavior. + var set, unset bson.D + if user.Password != "" { + psum := md5.New() + psum.Write([]byte(user.Username + ":mongo:" + user.Password)) + set = append(set, bson.DocElem{"pwd", hex.EncodeToString(psum.Sum(nil))}) + unset = append(unset, bson.DocElem{"userSource", 1}) + } else if user.PasswordHash != "" { + set = append(set, bson.DocElem{"pwd", user.PasswordHash}) + unset = append(unset, bson.DocElem{"userSource", 1}) + } + if user.UserSource != "" { + set = append(set, bson.DocElem{"userSource", user.UserSource}) + unset = append(unset, bson.DocElem{"pwd", 1}) + } + if user.Roles != nil || user.OtherDBRoles != nil { + set = append(set, bson.DocElem{"roles", user.Roles}) + if len(user.OtherDBRoles) > 0 { + set = append(set, bson.DocElem{"otherDBRoles", user.OtherDBRoles}) + } else { + unset = append(unset, bson.DocElem{"otherDBRoles", 1}) + } + } + users := db.C("system.users") + err = users.Update(bson.D{{"user", user.Username}}, bson.D{{"$unset", unset}, {"$set", set}}) + if err == ErrNotFound { + set = append(set, bson.DocElem{"user", user.Username}) + if user.Roles == nil && user.OtherDBRoles == nil { + // Roles must be sent, as it's the way MongoDB distinguishes + // old-style documents from new-style documents in pre-2.6. + set = append(set, bson.DocElem{"roles", user.Roles}) + } + err = users.Insert(set) + } + return err +} + +func isNoCmd(err error) bool { + e, ok := err.(*QueryError) + return ok && (e.Code == 59 || e.Code == 13390 || strings.HasPrefix(e.Message, "no such cmd:")) +} + +func isNotFound(err error) bool { + e, ok := err.(*QueryError) + return ok && e.Code == 11 +} + +func isAuthError(err error) bool { + e, ok := err.(*QueryError) + return ok && e.Code == 13 +} + +func (db *Database) runUserCmd(cmdName string, user *User) error { + cmd := make(bson.D, 0, 16) + cmd = append(cmd, bson.DocElem{cmdName, user.Username}) + if user.Password != "" { + cmd = append(cmd, bson.DocElem{"pwd", user.Password}) + } + var roles []interface{} + for _, role := range user.Roles { + roles = append(roles, role) + } + for db, dbroles := range user.OtherDBRoles { + for _, role := range dbroles { + roles = append(roles, bson.D{{"role", role}, {"db", db}}) + } + } + if roles != nil || user.Roles != nil || cmdName == "createUser" { + cmd = append(cmd, bson.DocElem{"roles", roles}) + } + err := db.Run(cmd, nil) + if !isNoCmd(err) && user.UserSource != "" && (user.UserSource != "$external" || db.Name != "$external") { + return fmt.Errorf("MongoDB 2.6+ does not support the UserSource setting") + } + return err +} + +// AddUser creates or updates the authentication credentials of user within +// the db database. +// +// WARNING: This method is obsolete and should only be used with MongoDB 2.2 +// or earlier. For MongoDB 2.4 and on, use UpsertUser instead. +func (db *Database) AddUser(username, password string, readOnly bool) error { + // Try to emulate the old behavior on 2.6+ + user := &User{Username: username, Password: password} + if db.Name == "admin" { + if readOnly { + user.Roles = []Role{RoleReadAny} + } else { + user.Roles = []Role{RoleReadWriteAny} + } + } else { + if readOnly { + user.Roles = []Role{RoleRead} + } else { + user.Roles = []Role{RoleReadWrite} + } + } + err := db.runUserCmd("updateUser", user) + if isNotFound(err) { + return db.runUserCmd("createUser", user) + } + if !isNoCmd(err) { + return err + } + + // Command doesn't exist. Fallback to pre-2.6 behavior. + psum := md5.New() + psum.Write([]byte(username + ":mongo:" + password)) + digest := hex.EncodeToString(psum.Sum(nil)) + c := db.C("system.users") + _, err = c.Upsert(bson.M{"user": username}, bson.M{"$set": bson.M{"user": username, "pwd": digest, "readOnly": readOnly}}) + return err +} + +// RemoveUser removes the authentication credentials of user from the database. +func (db *Database) RemoveUser(user string) error { + err := db.Run(bson.D{{"dropUser", user}}, nil) + if isNoCmd(err) { + users := db.C("system.users") + return users.Remove(bson.M{"user": user}) + } + if isNotFound(err) { + return ErrNotFound + } + return err +} + +type indexSpec struct { + Name, NS string + Key bson.D + Unique bool ",omitempty" + DropDups bool "dropDups,omitempty" + Background bool ",omitempty" + Sparse bool ",omitempty" + Bits int ",omitempty" + Min, Max float64 ",omitempty" + BucketSize float64 "bucketSize,omitempty" + ExpireAfter int "expireAfterSeconds,omitempty" + Weights bson.D ",omitempty" + DefaultLanguage string "default_language,omitempty" + LanguageOverride string "language_override,omitempty" + TextIndexVersion int "textIndexVersion,omitempty" +} + +type Index struct { + Key []string // Index key fields; prefix name with dash (-) for descending order + Unique bool // Prevent two documents from having the same index key + DropDups bool // Drop documents with the same index key as a previously indexed one + Background bool // Build index in background and return immediately + Sparse bool // Only index documents containing the Key fields + + // If ExpireAfter is defined the server will periodically delete + // documents with indexed time.Time older than the provided delta. + ExpireAfter time.Duration + + // Name holds the stored index name. On creation if this field is unset it is + // computed by EnsureIndex based on the index key. + Name string + + // Properties for spatial indexes. + // + // Min and Max were improperly typed as int when they should have been + // floats. To preserve backwards compatibility they are still typed as + // int and the following two fields enable reading and writing the same + // fields as float numbers. In mgo.v3, these fields will be dropped and + // Min/Max will become floats. + Min, Max int + Minf, Maxf float64 + BucketSize float64 + Bits int + + // Properties for text indexes. + DefaultLanguage string + LanguageOverride string + + // Weights defines the significance of provided fields relative to other + // fields in a text index. The score for a given word in a document is derived + // from the weighted sum of the frequency for each of the indexed fields in + // that document. The default field weight is 1. + Weights map[string]int +} + +// mgo.v3: Drop Minf and Maxf and transform Min and Max to floats. +// mgo.v3: Drop DropDups as it's unsupported past 2.8. + +type indexKeyInfo struct { + name string + key bson.D + weights bson.D +} + +func parseIndexKey(key []string) (*indexKeyInfo, error) { + var keyInfo indexKeyInfo + isText := false + var order interface{} + for _, field := range key { + raw := field + if keyInfo.name != "" { + keyInfo.name += "_" + } + var kind string + if field != "" { + if field[0] == '$' { + if c := strings.Index(field, ":"); c > 1 && c < len(field)-1 { + kind = field[1:c] + field = field[c+1:] + keyInfo.name += field + "_" + kind + } else { + field = "\x00" + } + } + switch field[0] { + case 0: + // Logic above failed. Reset and error. + field = "" + case '@': + order = "2d" + field = field[1:] + // The shell used to render this field as key_ instead of key_2d, + // and mgo followed suit. This has been fixed in recent server + // releases, and mgo followed as well. + keyInfo.name += field + "_2d" + case '-': + order = -1 + field = field[1:] + keyInfo.name += field + "_-1" + case '+': + field = field[1:] + fallthrough + default: + if kind == "" { + order = 1 + keyInfo.name += field + "_1" + } else { + order = kind + } + } + } + if field == "" || kind != "" && order != kind { + return nil, fmt.Errorf(`invalid index key: want "[$:][-]", got %q`, raw) + } + if kind == "text" { + if !isText { + keyInfo.key = append(keyInfo.key, bson.DocElem{"_fts", "text"}, bson.DocElem{"_ftsx", 1}) + isText = true + } + keyInfo.weights = append(keyInfo.weights, bson.DocElem{field, 1}) + } else { + keyInfo.key = append(keyInfo.key, bson.DocElem{field, order}) + } + } + if keyInfo.name == "" { + return nil, errors.New("invalid index key: no fields provided") + } + return &keyInfo, nil +} + +// EnsureIndexKey ensures an index with the given key exists, creating it +// if necessary. +// +// This example: +// +// err := collection.EnsureIndexKey("a", "b") +// +// Is equivalent to: +// +// err := collection.EnsureIndex(mgo.Index{Key: []string{"a", "b"}}) +// +// See the EnsureIndex method for more details. +func (c *Collection) EnsureIndexKey(key ...string) error { + return c.EnsureIndex(Index{Key: key}) +} + +// EnsureIndex ensures an index with the given key exists, creating it with +// the provided parameters if necessary. EnsureIndex does not modify a previously +// existent index with a matching key. The old index must be dropped first instead. +// +// Once EnsureIndex returns successfully, following requests for the same index +// will not contact the server unless Collection.DropIndex is used to drop the +// same index, or Session.ResetIndexCache is called. +// +// For example: +// +// index := Index{ +// Key: []string{"lastname", "firstname"}, +// Unique: true, +// DropDups: true, +// Background: true, // See notes. +// Sparse: true, +// } +// err := collection.EnsureIndex(index) +// +// The Key value determines which fields compose the index. The index ordering +// will be ascending by default. To obtain an index with a descending order, +// the field name should be prefixed by a dash (e.g. []string{"-time"}). It can +// also be optionally prefixed by an index kind, as in "$text:summary" or +// "$2d:-point". The key string format is: +// +// [$:][-] +// +// If the Unique field is true, the index must necessarily contain only a single +// document per Key. With DropDups set to true, documents with the same key +// as a previously indexed one will be dropped rather than an error returned. +// +// If Background is true, other connections will be allowed to proceed using +// the collection without the index while it's being built. Note that the +// session executing EnsureIndex will be blocked for as long as it takes for +// the index to be built. +// +// If Sparse is true, only documents containing the provided Key fields will be +// included in the index. When using a sparse index for sorting, only indexed +// documents will be returned. +// +// If ExpireAfter is non-zero, the server will periodically scan the collection +// and remove documents containing an indexed time.Time field with a value +// older than ExpireAfter. See the documentation for details: +// +// http://docs.mongodb.org/manual/tutorial/expire-data +// +// Other kinds of indexes are also supported through that API. Here is an example: +// +// index := Index{ +// Key: []string{"$2d:loc"}, +// Bits: 26, +// } +// err := collection.EnsureIndex(index) +// +// The example above requests the creation of a "2d" index for the "loc" field. +// +// The 2D index bounds may be changed using the Min and Max attributes of the +// Index value. The default bound setting of (-180, 180) is suitable for +// latitude/longitude pairs. +// +// The Bits parameter sets the precision of the 2D geohash values. If not +// provided, 26 bits are used, which is roughly equivalent to 1 foot of +// precision for the default (-180, 180) index bounds. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Indexes +// http://www.mongodb.org/display/DOCS/Indexing+Advice+and+FAQ +// http://www.mongodb.org/display/DOCS/Indexing+as+a+Background+Operation +// http://www.mongodb.org/display/DOCS/Geospatial+Indexing +// http://www.mongodb.org/display/DOCS/Multikeys +// +func (c *Collection) EnsureIndex(index Index) error { + keyInfo, err := parseIndexKey(index.Key) + if err != nil { + return err + } + + session := c.Database.Session + cacheKey := c.FullName + "\x00" + keyInfo.name + if session.cluster().HasCachedIndex(cacheKey) { + return nil + } + + spec := indexSpec{ + Name: keyInfo.name, + NS: c.FullName, + Key: keyInfo.key, + Unique: index.Unique, + DropDups: index.DropDups, + Background: index.Background, + Sparse: index.Sparse, + Bits: index.Bits, + Min: index.Minf, + Max: index.Maxf, + BucketSize: index.BucketSize, + ExpireAfter: int(index.ExpireAfter / time.Second), + Weights: keyInfo.weights, + DefaultLanguage: index.DefaultLanguage, + LanguageOverride: index.LanguageOverride, + } + + if spec.Min == 0 && spec.Max == 0 { + spec.Min = float64(index.Min) + spec.Max = float64(index.Max) + } + + if index.Name != "" { + spec.Name = index.Name + } + +NextField: + for name, weight := range index.Weights { + for i, elem := range spec.Weights { + if elem.Name == name { + spec.Weights[i].Value = weight + continue NextField + } + } + panic("weight provided for field that is not part of index key: " + name) + } + + cloned := session.Clone() + defer cloned.Close() + cloned.SetMode(Strong, false) + cloned.EnsureSafe(&Safe{}) + db := c.Database.With(cloned) + + // Try with a command first. + err = db.Run(bson.D{{"createIndexes", c.Name}, {"indexes", []indexSpec{spec}}}, nil) + if isNoCmd(err) { + // Command not yet supported. Insert into the indexes collection instead. + err = db.C("system.indexes").Insert(&spec) + } + if err == nil { + session.cluster().CacheIndex(cacheKey, true) + } + return err +} + +// DropIndex drops the index with the provided key from the c collection. +// +// See EnsureIndex for details on the accepted key variants. +// +// For example: +// +// err1 := collection.DropIndex("firstField", "-secondField") +// err2 := collection.DropIndex("customIndexName") +// +func (c *Collection) DropIndex(key ...string) error { + keyInfo, err := parseIndexKey(key) + if err != nil { + return err + } + + session := c.Database.Session + cacheKey := c.FullName + "\x00" + keyInfo.name + session.cluster().CacheIndex(cacheKey, false) + + session = session.Clone() + defer session.Close() + session.SetMode(Strong, false) + + db := c.Database.With(session) + result := struct { + ErrMsg string + Ok bool + }{} + err = db.Run(bson.D{{"dropIndexes", c.Name}, {"index", keyInfo.name}}, &result) + if err != nil { + return err + } + if !result.Ok { + return errors.New(result.ErrMsg) + } + return nil +} + +// DropIndexName removes the index with the provided index name. +// +// For example: +// +// err := collection.DropIndex("customIndexName") +// +func (c *Collection) DropIndexName(name string) error { + session := c.Database.Session + + session = session.Clone() + defer session.Close() + session.SetMode(Strong, false) + + c = c.With(session) + + indexes, err := c.Indexes() + if err != nil { + return err + } + + var index Index + for _, idx := range indexes { + if idx.Name == name { + index = idx + break + } + } + + if index.Name != "" { + keyInfo, err := parseIndexKey(index.Key) + if err != nil { + return err + } + + cacheKey := c.FullName + "\x00" + keyInfo.name + session.cluster().CacheIndex(cacheKey, false) + } + + result := struct { + ErrMsg string + Ok bool + }{} + err = c.Database.Run(bson.D{{"dropIndexes", c.Name}, {"index", name}}, &result) + if err != nil { + return err + } + if !result.Ok { + return errors.New(result.ErrMsg) + } + return nil +} + +// nonEventual returns a clone of session and ensures it is not Eventual. +// This guarantees that the server that is used for queries may be reused +// afterwards when a cursor is received. +func (session *Session) nonEventual() *Session { + cloned := session.Clone() + if cloned.consistency == Eventual { + cloned.SetMode(Monotonic, false) + } + return cloned +} + +// Indexes returns a list of all indexes for the collection. +// +// For example, this snippet would drop all available indexes: +// +// indexes, err := collection.Indexes() +// if err != nil { +// return err +// } +// for _, index := range indexes { +// err = collection.DropIndex(index.Key...) +// if err != nil { +// return err +// } +// } +// +// See the EnsureIndex method for more details on indexes. +func (c *Collection) Indexes() (indexes []Index, err error) { + cloned := c.Database.Session.nonEventual() + defer cloned.Close() + + batchSize := int(cloned.queryConfig.op.limit) + + // Try with a command. + var result struct { + Indexes []bson.Raw + Cursor cursorData + } + var iter *Iter + err = c.Database.With(cloned).Run(bson.D{{"listIndexes", c.Name}, {"cursor", bson.D{{"batchSize", batchSize}}}}, &result) + if err == nil { + firstBatch := result.Indexes + if firstBatch == nil { + firstBatch = result.Cursor.FirstBatch + } + ns := strings.SplitN(result.Cursor.NS, ".", 2) + if len(ns) < 2 { + iter = c.With(cloned).NewIter(nil, firstBatch, result.Cursor.Id, nil) + } else { + iter = cloned.DB(ns[0]).C(ns[1]).NewIter(nil, firstBatch, result.Cursor.Id, nil) + } + } else if isNoCmd(err) { + // Command not yet supported. Query the database instead. + iter = c.Database.C("system.indexes").Find(bson.M{"ns": c.FullName}).Iter() + } else { + return nil, err + } + + var spec indexSpec + for iter.Next(&spec) { + indexes = append(indexes, indexFromSpec(spec)) + } + if err = iter.Close(); err != nil { + return nil, err + } + sort.Sort(indexSlice(indexes)) + return indexes, nil +} + +func indexFromSpec(spec indexSpec) Index { + index := Index{ + Name: spec.Name, + Key: simpleIndexKey(spec.Key), + Unique: spec.Unique, + DropDups: spec.DropDups, + Background: spec.Background, + Sparse: spec.Sparse, + Minf: spec.Min, + Maxf: spec.Max, + Bits: spec.Bits, + BucketSize: spec.BucketSize, + DefaultLanguage: spec.DefaultLanguage, + LanguageOverride: spec.LanguageOverride, + ExpireAfter: time.Duration(spec.ExpireAfter) * time.Second, + } + if float64(int(spec.Min)) == spec.Min && float64(int(spec.Max)) == spec.Max { + index.Min = int(spec.Min) + index.Max = int(spec.Max) + } + if spec.TextIndexVersion > 0 { + index.Key = make([]string, len(spec.Weights)) + index.Weights = make(map[string]int) + for i, elem := range spec.Weights { + index.Key[i] = "$text:" + elem.Name + if w, ok := elem.Value.(int); ok { + index.Weights[elem.Name] = w + } + } + } + return index +} + +type indexSlice []Index + +func (idxs indexSlice) Len() int { return len(idxs) } +func (idxs indexSlice) Less(i, j int) bool { return idxs[i].Name < idxs[j].Name } +func (idxs indexSlice) Swap(i, j int) { idxs[i], idxs[j] = idxs[j], idxs[i] } + +func simpleIndexKey(realKey bson.D) (key []string) { + for i := range realKey { + field := realKey[i].Name + vi, ok := realKey[i].Value.(int) + if !ok { + vf, _ := realKey[i].Value.(float64) + vi = int(vf) + } + if vi == 1 { + key = append(key, field) + continue + } + if vi == -1 { + key = append(key, "-"+field) + continue + } + if vs, ok := realKey[i].Value.(string); ok { + key = append(key, "$"+vs+":"+field) + continue + } + panic("Got unknown index key type for field " + field) + } + return +} + +// ResetIndexCache() clears the cache of previously ensured indexes. +// Following requests to EnsureIndex will contact the server. +func (s *Session) ResetIndexCache() { + s.cluster().ResetIndexCache() +} + +// New creates a new session with the same parameters as the original +// session, including consistency, batch size, prefetching, safety mode, +// etc. The returned session will use sockets from the pool, so there's +// a chance that writes just performed in another session may not yet +// be visible. +// +// Login information from the original session will not be copied over +// into the new session unless it was provided through the initial URL +// for the Dial function. +// +// See the Copy and Clone methods. +// +func (s *Session) New() *Session { + s.m.Lock() + scopy := copySession(s, false) + s.m.Unlock() + scopy.Refresh() + return scopy +} + +// Copy works just like New, but preserves the exact authentication +// information from the original session. +func (s *Session) Copy() *Session { + s.m.Lock() + scopy := copySession(s, true) + s.m.Unlock() + scopy.Refresh() + return scopy +} + +// Clone works just like Copy, but also reuses the same socket as the original +// session, in case it had already reserved one due to its consistency +// guarantees. This behavior ensures that writes performed in the old session +// are necessarily observed when using the new session, as long as it was a +// strong or monotonic session. That said, it also means that long operations +// may cause other goroutines using the original session to wait. +func (s *Session) Clone() *Session { + s.m.Lock() + scopy := copySession(s, true) + s.m.Unlock() + return scopy +} + +// Close terminates the session. It's a runtime error to use a session +// after it has been closed. +func (s *Session) Close() { + s.m.Lock() + if s.cluster_ != nil { + debugf("Closing session %p", s) + s.unsetSocket() + s.cluster_.Release() + s.cluster_ = nil + } + s.m.Unlock() +} + +func (s *Session) cluster() *mongoCluster { + if s.cluster_ == nil { + panic("Session already closed") + } + return s.cluster_ +} + +// Refresh puts back any reserved sockets in use and restarts the consistency +// guarantees according to the current consistency setting for the session. +func (s *Session) Refresh() { + s.m.Lock() + s.slaveOk = s.consistency != Strong + s.unsetSocket() + s.m.Unlock() +} + +// SetMode changes the consistency mode for the session. +// +// In the Strong consistency mode reads and writes will always be made to +// the primary server using a unique connection so that reads and writes are +// fully consistent, ordered, and observing the most up-to-date data. +// This offers the least benefits in terms of distributing load, but the +// most guarantees. See also Monotonic and Eventual. +// +// In the Monotonic consistency mode reads may not be entirely up-to-date, +// but they will always see the history of changes moving forward, the data +// read will be consistent across sequential queries in the same session, +// and modifications made within the session will be observed in following +// queries (read-your-writes). +// +// In practice, the Monotonic mode is obtained by performing initial reads +// on a unique connection to an arbitrary secondary, if one is available, +// and once the first write happens, the session connection is switched over +// to the primary server. This manages to distribute some of the reading +// load with secondaries, while maintaining some useful guarantees. +// +// In the Eventual consistency mode reads will be made to any secondary in the +// cluster, if one is available, and sequential reads will not necessarily +// be made with the same connection. This means that data may be observed +// out of order. Writes will of course be issued to the primary, but +// independent writes in the same Eventual session may also be made with +// independent connections, so there are also no guarantees in terms of +// write ordering (no read-your-writes guarantees either). +// +// The Eventual mode is the fastest and most resource-friendly, but is +// also the one offering the least guarantees about ordering of the data +// read and written. +// +// If refresh is true, in addition to ensuring the session is in the given +// consistency mode, the consistency guarantees will also be reset (e.g. +// a Monotonic session will be allowed to read from secondaries again). +// This is equivalent to calling the Refresh function. +// +// Shifting between Monotonic and Strong modes will keep a previously +// reserved connection for the session unless refresh is true or the +// connection is unsuitable (to a secondary server in a Strong session). +func (s *Session) SetMode(consistency Mode, refresh bool) { + s.m.Lock() + debugf("Session %p: setting mode %d with refresh=%v (master=%p, slave=%p)", s, consistency, refresh, s.masterSocket, s.slaveSocket) + s.consistency = consistency + if refresh { + s.slaveOk = s.consistency != Strong + s.unsetSocket() + } else if s.consistency == Strong { + s.slaveOk = false + } else if s.masterSocket == nil { + s.slaveOk = true + } + s.m.Unlock() +} + +// Mode returns the current consistency mode for the session. +func (s *Session) Mode() Mode { + s.m.RLock() + mode := s.consistency + s.m.RUnlock() + return mode +} + +// SetSyncTimeout sets the amount of time an operation with this session +// will wait before returning an error in case a connection to a usable +// server can't be established. Set it to zero to wait forever. The +// default value is 7 seconds. +func (s *Session) SetSyncTimeout(d time.Duration) { + s.m.Lock() + s.syncTimeout = d + s.m.Unlock() +} + +// SetSocketTimeout sets the amount of time to wait for a non-responding +// socket to the database before it is forcefully closed. +func (s *Session) SetSocketTimeout(d time.Duration) { + s.m.Lock() + s.sockTimeout = d + if s.masterSocket != nil { + s.masterSocket.SetTimeout(d) + } + if s.slaveSocket != nil { + s.slaveSocket.SetTimeout(d) + } + s.m.Unlock() +} + +// SetCursorTimeout changes the standard timeout period that the server +// enforces on created cursors. The only supported value right now is +// 0, which disables the timeout. The standard server timeout is 10 minutes. +func (s *Session) SetCursorTimeout(d time.Duration) { + s.m.Lock() + if d == 0 { + s.queryConfig.op.flags |= flagNoCursorTimeout + } else { + panic("SetCursorTimeout: only 0 (disable timeout) supported for now") + } + s.m.Unlock() +} + +// SetPoolLimit sets the maximum number of sockets in use in a single server +// before this session will block waiting for a socket to be available. +// The default limit is 4096. +// +// This limit must be set to cover more than any expected workload of the +// application. It is a bad practice and an unsupported use case to use the +// database driver to define the concurrency limit of an application. Prevent +// such concurrency "at the door" instead, by properly restricting the amount +// of used resources and number of goroutines before they are created. +func (s *Session) SetPoolLimit(limit int) { + s.m.Lock() + s.poolLimit = limit + s.m.Unlock() +} + +// SetBypassValidation sets whether the server should bypass the registered +// validation expressions executed when documents are inserted or modified, +// in the interest of preserving invariants in the collection being modified. +// The default is to not bypass, and thus to perform the validation +// expressions registered for modified collections. +// +// Document validation was introuced in MongoDB 3.2. +// +// Relevant documentation: +// +// https://docs.mongodb.org/manual/release-notes/3.2/#bypass-validation +// +func (s *Session) SetBypassValidation(bypass bool) { + s.m.Lock() + s.bypassValidation = bypass + s.m.Unlock() +} + +// SetBatch sets the default batch size used when fetching documents from the +// database. It's possible to change this setting on a per-query basis as +// well, using the Query.Batch method. +// +// The default batch size is defined by the database itself. As of this +// writing, MongoDB will use an initial size of min(100 docs, 4MB) on the +// first batch, and 4MB on remaining ones. +func (s *Session) SetBatch(n int) { + if n == 1 { + // Server interprets 1 as -1 and closes the cursor (!?) + n = 2 + } + s.m.Lock() + s.queryConfig.op.limit = int32(n) + s.m.Unlock() +} + +// SetPrefetch sets the default point at which the next batch of results will be +// requested. When there are p*batch_size remaining documents cached in an +// Iter, the next batch will be requested in background. For instance, when +// using this: +// +// session.SetBatch(200) +// session.SetPrefetch(0.25) +// +// and there are only 50 documents cached in the Iter to be processed, the +// next batch of 200 will be requested. It's possible to change this setting on +// a per-query basis as well, using the Prefetch method of Query. +// +// The default prefetch value is 0.25. +func (s *Session) SetPrefetch(p float64) { + s.m.Lock() + s.queryConfig.prefetch = p + s.m.Unlock() +} + +// See SetSafe for details on the Safe type. +type Safe struct { + W int // Min # of servers to ack before success + WMode string // Write mode for MongoDB 2.0+ (e.g. "majority") + WTimeout int // Milliseconds to wait for W before timing out + FSync bool // Sync via the journal if present, or via data files sync otherwise + J bool // Sync via the journal if present +} + +// Safe returns the current safety mode for the session. +func (s *Session) Safe() (safe *Safe) { + s.m.Lock() + defer s.m.Unlock() + if s.safeOp != nil { + cmd := s.safeOp.query.(*getLastError) + safe = &Safe{WTimeout: cmd.WTimeout, FSync: cmd.FSync, J: cmd.J} + switch w := cmd.W.(type) { + case string: + safe.WMode = w + case int: + safe.W = w + } + } + return +} + +// SetSafe changes the session safety mode. +// +// If the safe parameter is nil, the session is put in unsafe mode, and writes +// become fire-and-forget, without error checking. The unsafe mode is faster +// since operations won't hold on waiting for a confirmation. +// +// If the safe parameter is not nil, any changing query (insert, update, ...) +// will be followed by a getLastError command with the specified parameters, +// to ensure the request was correctly processed. +// +// The safe.W parameter determines how many servers should confirm a write +// before the operation is considered successful. If set to 0 or 1, the +// command will return as soon as the primary is done with the request. +// If safe.WTimeout is greater than zero, it determines how many milliseconds +// to wait for the safe.W servers to respond before returning an error. +// +// Starting with MongoDB 2.0.0 the safe.WMode parameter can be used instead +// of W to request for richer semantics. If set to "majority" the server will +// wait for a majority of members from the replica set to respond before +// returning. Custom modes may also be defined within the server to create +// very detailed placement schemas. See the data awareness documentation in +// the links below for more details (note that MongoDB internally reuses the +// "w" field name for WMode). +// +// If safe.J is true, servers will block until write operations have been +// committed to the journal. Cannot be used in combination with FSync. Prior +// to MongoDB 2.6 this option was ignored if the server was running without +// journaling. Starting with MongoDB 2.6 write operations will fail with an +// exception if this option is used when the server is running without +// journaling. +// +// If safe.FSync is true and the server is running without journaling, blocks +// until the server has synced all data files to disk. If the server is running +// with journaling, this acts the same as the J option, blocking until write +// operations have been committed to the journal. Cannot be used in +// combination with J. +// +// Since MongoDB 2.0.0, the safe.J option can also be used instead of FSync +// to force the server to wait for a group commit in case journaling is +// enabled. The option has no effect if the server has journaling disabled. +// +// For example, the following statement will make the session check for +// errors, without imposing further constraints: +// +// session.SetSafe(&mgo.Safe{}) +// +// The following statement will force the server to wait for a majority of +// members of a replica set to return (MongoDB 2.0+ only): +// +// session.SetSafe(&mgo.Safe{WMode: "majority"}) +// +// The following statement, on the other hand, ensures that at least two +// servers have flushed the change to disk before confirming the success +// of operations: +// +// session.EnsureSafe(&mgo.Safe{W: 2, FSync: true}) +// +// The following statement, on the other hand, disables the verification +// of errors entirely: +// +// session.SetSafe(nil) +// +// See also the EnsureSafe method. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/getLastError+Command +// http://www.mongodb.org/display/DOCS/Verifying+Propagation+of+Writes+with+getLastError +// http://www.mongodb.org/display/DOCS/Data+Center+Awareness +// +func (s *Session) SetSafe(safe *Safe) { + s.m.Lock() + s.safeOp = nil + s.ensureSafe(safe) + s.m.Unlock() +} + +// EnsureSafe compares the provided safety parameters with the ones +// currently in use by the session and picks the most conservative +// choice for each setting. +// +// That is: +// +// - safe.WMode is always used if set. +// - safe.W is used if larger than the current W and WMode is empty. +// - safe.FSync is always used if true. +// - safe.J is used if FSync is false. +// - safe.WTimeout is used if set and smaller than the current WTimeout. +// +// For example, the following statement will ensure the session is +// at least checking for errors, without enforcing further constraints. +// If a more conservative SetSafe or EnsureSafe call was previously done, +// the following call will be ignored. +// +// session.EnsureSafe(&mgo.Safe{}) +// +// See also the SetSafe method for details on what each option means. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/getLastError+Command +// http://www.mongodb.org/display/DOCS/Verifying+Propagation+of+Writes+with+getLastError +// http://www.mongodb.org/display/DOCS/Data+Center+Awareness +// +func (s *Session) EnsureSafe(safe *Safe) { + s.m.Lock() + s.ensureSafe(safe) + s.m.Unlock() +} + +func (s *Session) ensureSafe(safe *Safe) { + if safe == nil { + return + } + + var w interface{} + if safe.WMode != "" { + w = safe.WMode + } else if safe.W > 0 { + w = safe.W + } + + var cmd getLastError + if s.safeOp == nil { + cmd = getLastError{1, w, safe.WTimeout, safe.FSync, safe.J} + } else { + // Copy. We don't want to mutate the existing query. + cmd = *(s.safeOp.query.(*getLastError)) + if cmd.W == nil { + cmd.W = w + } else if safe.WMode != "" { + cmd.W = safe.WMode + } else if i, ok := cmd.W.(int); ok && safe.W > i { + cmd.W = safe.W + } + if safe.WTimeout > 0 && safe.WTimeout < cmd.WTimeout { + cmd.WTimeout = safe.WTimeout + } + if safe.FSync { + cmd.FSync = true + cmd.J = false + } else if safe.J && !cmd.FSync { + cmd.J = true + } + } + s.safeOp = &queryOp{ + query: &cmd, + collection: "admin.$cmd", + limit: -1, + } +} + +// Run issues the provided command on the "admin" database and +// and unmarshals its result in the respective argument. The cmd +// argument may be either a string with the command name itself, in +// which case an empty document of the form bson.M{cmd: 1} will be used, +// or it may be a full command document. +// +// Note that MongoDB considers the first marshalled key as the command +// name, so when providing a command with options, it's important to +// use an ordering-preserving document, such as a struct value or an +// instance of bson.D. For instance: +// +// db.Run(bson.D{{"create", "mycollection"}, {"size", 1024}}) +// +// For commands on arbitrary databases, see the Run method in +// the Database type. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Commands +// http://www.mongodb.org/display/DOCS/List+of+Database+CommandSkips +// +func (s *Session) Run(cmd interface{}, result interface{}) error { + return s.DB("admin").Run(cmd, result) +} + +// SelectServers restricts communication to servers configured with the +// given tags. For example, the following statement restricts servers +// used for reading operations to those with both tag "disk" set to +// "ssd" and tag "rack" set to 1: +// +// session.SelectServers(bson.D{{"disk", "ssd"}, {"rack", 1}}) +// +// Multiple sets of tags may be provided, in which case the used server +// must match all tags within any one set. +// +// If a connection was previously assigned to the session due to the +// current session mode (see Session.SetMode), the tag selection will +// only be enforced after the session is refreshed. +// +// Relevant documentation: +// +// http://docs.mongodb.org/manual/tutorial/configure-replica-set-tag-sets +// +func (s *Session) SelectServers(tags ...bson.D) { + s.m.Lock() + s.queryConfig.op.serverTags = tags + s.m.Unlock() +} + +// Ping runs a trivial ping command just to get in touch with the server. +func (s *Session) Ping() error { + return s.Run("ping", nil) +} + +// Fsync flushes in-memory writes to disk on the server the session +// is established with. If async is true, the call returns immediately, +// otherwise it returns after the flush has been made. +func (s *Session) Fsync(async bool) error { + return s.Run(bson.D{{"fsync", 1}, {"async", async}}, nil) +} + +// FsyncLock locks all writes in the specific server the session is +// established with and returns. Any writes attempted to the server +// after it is successfully locked will block until FsyncUnlock is +// called for the same server. +// +// This method works on secondaries as well, preventing the oplog from +// being flushed while the server is locked, but since only the server +// connected to is locked, for locking specific secondaries it may be +// necessary to establish a connection directly to the secondary (see +// Dial's connect=direct option). +// +// As an important caveat, note that once a write is attempted and +// blocks, follow up reads will block as well due to the way the +// lock is internally implemented in the server. More details at: +// +// https://jira.mongodb.org/browse/SERVER-4243 +// +// FsyncLock is often used for performing consistent backups of +// the database files on disk. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/fsync+Command +// http://www.mongodb.org/display/DOCS/Backups +// +func (s *Session) FsyncLock() error { + return s.Run(bson.D{{"fsync", 1}, {"lock", true}}, nil) +} + +// FsyncUnlock releases the server for writes. See FsyncLock for details. +func (s *Session) FsyncUnlock() error { + err := s.Run(bson.D{{"fsyncUnlock", 1}}, nil) + if isNoCmd(err) { + err = s.DB("admin").C("$cmd.sys.unlock").Find(nil).One(nil) // WTF? + } + return err +} + +// Find prepares a query using the provided document. The document may be a +// map or a struct value capable of being marshalled with bson. The map +// may be a generic one using interface{} for its key and/or values, such as +// bson.M, or it may be a properly typed map. Providing nil as the document +// is equivalent to providing an empty document such as bson.M{}. +// +// Further details of the query may be tweaked using the resulting Query value, +// and then executed to retrieve results using methods such as One, For, +// Iter, or Tail. +// +// In case the resulting document includes a field named $err or errmsg, which +// are standard ways for MongoDB to return query errors, the returned err will +// be set to a *QueryError value including the Err message and the Code. In +// those cases, the result argument is still unmarshalled into with the +// received document so that any other custom values may be obtained if +// desired. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Querying +// http://www.mongodb.org/display/DOCS/Advanced+Queries +// +func (c *Collection) Find(query interface{}) *Query { + session := c.Database.Session + session.m.RLock() + q := &Query{session: session, query: session.queryConfig} + session.m.RUnlock() + q.op.query = query + q.op.collection = c.FullName + return q +} + +type repairCmd struct { + RepairCursor string `bson:"repairCursor"` + Cursor *repairCmdCursor ",omitempty" +} + +type repairCmdCursor struct { + BatchSize int `bson:"batchSize,omitempty"` +} + +// Repair returns an iterator that goes over all recovered documents in the +// collection, in a best-effort manner. This is most useful when there are +// damaged data files. Multiple copies of the same document may be returned +// by the iterator. +// +// Repair is supported in MongoDB 2.7.8 and later. +func (c *Collection) Repair() *Iter { + // Clone session and set it to Monotonic mode so that the server + // used for the query may be safely obtained afterwards, if + // necessary for iteration when a cursor is received. + session := c.Database.Session + cloned := session.nonEventual() + defer cloned.Close() + + batchSize := int(cloned.queryConfig.op.limit) + + var result struct{ Cursor cursorData } + + cmd := repairCmd{ + RepairCursor: c.Name, + Cursor: &repairCmdCursor{batchSize}, + } + + clonedc := c.With(cloned) + err := clonedc.Database.Run(cmd, &result) + return clonedc.NewIter(session, result.Cursor.FirstBatch, result.Cursor.Id, err) +} + +// FindId is a convenience helper equivalent to: +// +// query := collection.Find(bson.M{"_id": id}) +// +// See the Find method for more details. +func (c *Collection) FindId(id interface{}) *Query { + return c.Find(bson.D{{"_id", id}}) +} + +type Pipe struct { + session *Session + collection *Collection + pipeline interface{} + allowDisk bool + batchSize int +} + +type pipeCmd struct { + Aggregate string + Pipeline interface{} + Cursor *pipeCmdCursor ",omitempty" + Explain bool ",omitempty" + AllowDisk bool "allowDiskUse,omitempty" +} + +type pipeCmdCursor struct { + BatchSize int `bson:"batchSize,omitempty"` +} + +// Pipe prepares a pipeline to aggregate. The pipeline document +// must be a slice built in terms of the aggregation framework language. +// +// For example: +// +// pipe := collection.Pipe([]bson.M{{"$match": bson.M{"name": "Otavio"}}}) +// iter := pipe.Iter() +// +// Relevant documentation: +// +// http://docs.mongodb.org/manual/reference/aggregation +// http://docs.mongodb.org/manual/applications/aggregation +// http://docs.mongodb.org/manual/tutorial/aggregation-examples +// +func (c *Collection) Pipe(pipeline interface{}) *Pipe { + session := c.Database.Session + session.m.RLock() + batchSize := int(session.queryConfig.op.limit) + session.m.RUnlock() + return &Pipe{ + session: session, + collection: c, + pipeline: pipeline, + batchSize: batchSize, + } +} + +// Iter executes the pipeline and returns an iterator capable of going +// over all the generated results. +func (p *Pipe) Iter() *Iter { + // Clone session and set it to Monotonic mode so that the server + // used for the query may be safely obtained afterwards, if + // necessary for iteration when a cursor is received. + cloned := p.session.nonEventual() + defer cloned.Close() + c := p.collection.With(cloned) + + var result struct { + Result []bson.Raw // 2.4, no cursors. + Cursor cursorData // 2.6+, with cursors. + } + + cmd := pipeCmd{ + Aggregate: c.Name, + Pipeline: p.pipeline, + AllowDisk: p.allowDisk, + Cursor: &pipeCmdCursor{p.batchSize}, + } + err := c.Database.Run(cmd, &result) + if e, ok := err.(*QueryError); ok && e.Message == `unrecognized field "cursor` { + cmd.Cursor = nil + cmd.AllowDisk = false + err = c.Database.Run(cmd, &result) + } + firstBatch := result.Result + if firstBatch == nil { + firstBatch = result.Cursor.FirstBatch + } + return c.NewIter(p.session, firstBatch, result.Cursor.Id, err) +} + +// NewIter returns a newly created iterator with the provided parameters. +// Using this method is not recommended unless the desired functionality +// is not yet exposed via a more convenient interface (Find, Pipe, etc). +// +// The optional session parameter associates the lifetime of the returned +// iterator to an arbitrary session. If nil, the iterator will be bound to +// c's session. +// +// Documents in firstBatch will be individually provided by the returned +// iterator before documents from cursorId are made available. If cursorId +// is zero, only the documents in firstBatch are provided. +// +// If err is not nil, the iterator's Err method will report it after +// exhausting documents in firstBatch. +// +// NewIter must be called right after the cursor id is obtained, and must not +// be called on a collection in Eventual mode, because the cursor id is +// associated with the specific server that returned it. The provided session +// parameter may be in any mode or state, though. +// +func (c *Collection) NewIter(session *Session, firstBatch []bson.Raw, cursorId int64, err error) *Iter { + var server *mongoServer + csession := c.Database.Session + csession.m.RLock() + socket := csession.masterSocket + if socket == nil { + socket = csession.slaveSocket + } + if socket != nil { + server = socket.Server() + } + csession.m.RUnlock() + + if server == nil { + if csession.Mode() == Eventual { + panic("Collection.NewIter called in Eventual mode") + } + if err == nil { + err = errors.New("server not available") + } + } + + if session == nil { + session = csession + } + + iter := &Iter{ + session: session, + server: server, + timeout: -1, + err: err, + } + iter.gotReply.L = &iter.m + for _, doc := range firstBatch { + iter.docData.Push(doc.Data) + } + if cursorId != 0 { + iter.op.cursorId = cursorId + iter.op.collection = c.FullName + iter.op.replyFunc = iter.replyFunc() + } + return iter +} + +// All works like Iter.All. +func (p *Pipe) All(result interface{}) error { + return p.Iter().All(result) +} + +// One executes the pipeline and unmarshals the first item from the +// result set into the result parameter. +// It returns ErrNotFound if no items are generated by the pipeline. +func (p *Pipe) One(result interface{}) error { + iter := p.Iter() + if iter.Next(result) { + return nil + } + if err := iter.Err(); err != nil { + return err + } + return ErrNotFound +} + +// Explain returns a number of details about how the MongoDB server would +// execute the requested pipeline, such as the number of objects examined, +// the number of times the read lock was yielded to allow writes to go in, +// and so on. +// +// For example: +// +// var m bson.M +// err := collection.Pipe(pipeline).Explain(&m) +// if err == nil { +// fmt.Printf("Explain: %#v\n", m) +// } +// +func (p *Pipe) Explain(result interface{}) error { + c := p.collection + cmd := pipeCmd{ + Aggregate: c.Name, + Pipeline: p.pipeline, + AllowDisk: p.allowDisk, + Explain: true, + } + return c.Database.Run(cmd, result) +} + +// AllowDiskUse enables writing to the "/_tmp" server directory so +// that aggregation pipelines do not have to be held entirely in memory. +func (p *Pipe) AllowDiskUse() *Pipe { + p.allowDisk = true + return p +} + +// Batch sets the batch size used when fetching documents from the database. +// It's possible to change this setting on a per-session basis as well, using +// the Batch method of Session. +// +// The default batch size is defined by the database server. +func (p *Pipe) Batch(n int) *Pipe { + p.batchSize = n + return p +} + +// mgo.v3: Use a single user-visible error type. + +type LastError struct { + Err string + Code, N, Waited int + FSyncFiles int `bson:"fsyncFiles"` + WTimeout bool + UpdatedExisting bool `bson:"updatedExisting"` + UpsertedId interface{} `bson:"upserted"` + + modified int + ecases []BulkErrorCase +} + +func (err *LastError) Error() string { + return err.Err +} + +type queryError struct { + Err string "$err" + ErrMsg string + Assertion string + Code int + AssertionCode int "assertionCode" + LastError *LastError "lastErrorObject" +} + +type QueryError struct { + Code int + Message string + Assertion bool +} + +func (err *QueryError) Error() string { + return err.Message +} + +// IsDup returns whether err informs of a duplicate key error because +// a primary key index or a secondary unique index already has an entry +// with the given value. +func IsDup(err error) bool { + // Besides being handy, helps with MongoDB bugs SERVER-7164 and SERVER-11493. + // What follows makes me sad. Hopefully conventions will be more clear over time. + switch e := err.(type) { + case *LastError: + return e.Code == 11000 || e.Code == 11001 || e.Code == 12582 || e.Code == 16460 && strings.Contains(e.Err, " E11000 ") + case *QueryError: + return e.Code == 11000 || e.Code == 11001 || e.Code == 12582 + case *BulkError: + for _, ecase := range e.ecases { + if !IsDup(ecase.Err) { + return false + } + } + return true + } + return false +} + +// Insert inserts one or more documents in the respective collection. In +// case the session is in safe mode (see the SetSafe method) and an error +// happens while inserting the provided documents, the returned error will +// be of type *LastError. +func (c *Collection) Insert(docs ...interface{}) error { + _, err := c.writeOp(&insertOp{c.FullName, docs, 0}, true) + return err +} + +// Update finds a single document matching the provided selector document +// and modifies it according to the update document. +// If the session is in safe mode (see SetSafe) a ErrNotFound error is +// returned if a document isn't found, or a value of type *LastError +// when some other error is detected. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Updating +// http://www.mongodb.org/display/DOCS/Atomic+Operations +// +func (c *Collection) Update(selector interface{}, update interface{}) error { + if selector == nil { + selector = bson.D{} + } + op := updateOp{ + Collection: c.FullName, + Selector: selector, + Update: update, + } + lerr, err := c.writeOp(&op, true) + if err == nil && lerr != nil && !lerr.UpdatedExisting { + return ErrNotFound + } + return err +} + +// UpdateId is a convenience helper equivalent to: +// +// err := collection.Update(bson.M{"_id": id}, update) +// +// See the Update method for more details. +func (c *Collection) UpdateId(id interface{}, update interface{}) error { + return c.Update(bson.D{{"_id", id}}, update) +} + +// ChangeInfo holds details about the outcome of an update operation. +type ChangeInfo struct { + // Updated reports the number of existing documents modified. + // Due to server limitations, this reports the same value as the Matched field when + // talking to MongoDB <= 2.4 and on Upsert and Apply (findAndModify) operations. + Updated int + Removed int // Number of documents removed + Matched int // Number of documents matched but not necessarily changed + UpsertedId interface{} // Upserted _id field, when not explicitly provided +} + +// UpdateAll finds all documents matching the provided selector document +// and modifies them according to the update document. +// If the session is in safe mode (see SetSafe) details of the executed +// operation are returned in info or an error of type *LastError when +// some problem is detected. It is not an error for the update to not be +// applied on any documents because the selector doesn't match. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Updating +// http://www.mongodb.org/display/DOCS/Atomic+Operations +// +func (c *Collection) UpdateAll(selector interface{}, update interface{}) (info *ChangeInfo, err error) { + if selector == nil { + selector = bson.D{} + } + op := updateOp{ + Collection: c.FullName, + Selector: selector, + Update: update, + Flags: 2, + Multi: true, + } + lerr, err := c.writeOp(&op, true) + if err == nil && lerr != nil { + info = &ChangeInfo{Updated: lerr.modified, Matched: lerr.N} + } + return info, err +} + +// Upsert finds a single document matching the provided selector document +// and modifies it according to the update document. If no document matching +// the selector is found, the update document is applied to the selector +// document and the result is inserted in the collection. +// If the session is in safe mode (see SetSafe) details of the executed +// operation are returned in info, or an error of type *LastError when +// some problem is detected. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Updating +// http://www.mongodb.org/display/DOCS/Atomic+Operations +// +func (c *Collection) Upsert(selector interface{}, update interface{}) (info *ChangeInfo, err error) { + if selector == nil { + selector = bson.D{} + } + op := updateOp{ + Collection: c.FullName, + Selector: selector, + Update: update, + Flags: 1, + Upsert: true, + } + lerr, err := c.writeOp(&op, true) + if err == nil && lerr != nil { + info = &ChangeInfo{} + if lerr.UpdatedExisting { + info.Matched = lerr.N + info.Updated = lerr.modified + } else { + info.UpsertedId = lerr.UpsertedId + } + } + return info, err +} + +// UpsertId is a convenience helper equivalent to: +// +// info, err := collection.Upsert(bson.M{"_id": id}, update) +// +// See the Upsert method for more details. +func (c *Collection) UpsertId(id interface{}, update interface{}) (info *ChangeInfo, err error) { + return c.Upsert(bson.D{{"_id", id}}, update) +} + +// Remove finds a single document matching the provided selector document +// and removes it from the database. +// If the session is in safe mode (see SetSafe) a ErrNotFound error is +// returned if a document isn't found, or a value of type *LastError +// when some other error is detected. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Removing +// +func (c *Collection) Remove(selector interface{}) error { + if selector == nil { + selector = bson.D{} + } + lerr, err := c.writeOp(&deleteOp{c.FullName, selector, 1, 1}, true) + if err == nil && lerr != nil && lerr.N == 0 { + return ErrNotFound + } + return err +} + +// RemoveId is a convenience helper equivalent to: +// +// err := collection.Remove(bson.M{"_id": id}) +// +// See the Remove method for more details. +func (c *Collection) RemoveId(id interface{}) error { + return c.Remove(bson.D{{"_id", id}}) +} + +// RemoveAll finds all documents matching the provided selector document +// and removes them from the database. In case the session is in safe mode +// (see the SetSafe method) and an error happens when attempting the change, +// the returned error will be of type *LastError. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Removing +// +func (c *Collection) RemoveAll(selector interface{}) (info *ChangeInfo, err error) { + if selector == nil { + selector = bson.D{} + } + lerr, err := c.writeOp(&deleteOp{c.FullName, selector, 0, 0}, true) + if err == nil && lerr != nil { + info = &ChangeInfo{Removed: lerr.N, Matched: lerr.N} + } + return info, err +} + +// DropDatabase removes the entire database including all of its collections. +func (db *Database) DropDatabase() error { + return db.Run(bson.D{{"dropDatabase", 1}}, nil) +} + +// DropCollection removes the entire collection including all of its documents. +func (c *Collection) DropCollection() error { + return c.Database.Run(bson.D{{"drop", c.Name}}, nil) +} + +// The CollectionInfo type holds metadata about a collection. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/createCollection+Command +// http://www.mongodb.org/display/DOCS/Capped+Collections +// +type CollectionInfo struct { + // DisableIdIndex prevents the automatic creation of the index + // on the _id field for the collection. + DisableIdIndex bool + + // ForceIdIndex enforces the automatic creation of the index + // on the _id field for the collection. Capped collections, + // for example, do not have such an index by default. + ForceIdIndex bool + + // If Capped is true new documents will replace old ones when + // the collection is full. MaxBytes must necessarily be set + // to define the size when the collection wraps around. + // MaxDocs optionally defines the number of documents when it + // wraps, but MaxBytes still needs to be set. + Capped bool + MaxBytes int + MaxDocs int + + // Validator contains a validation expression that defines which + // documents should be considered valid for this collection. + Validator interface{} + + // ValidationLevel may be set to "strict" (the default) to force + // MongoDB to validate all documents on inserts and updates, to + // "moderate" to apply the validation rules only to documents + // that already fulfill the validation criteria, or to "off" for + // disabling validation entirely. + ValidationLevel string + + // ValidationAction determines how MongoDB handles documents that + // violate the validation rules. It may be set to "error" (the default) + // to reject inserts or updates that violate the rules, or to "warn" + // to log invalid operations but allow them to proceed. + ValidationAction string + + // StorageEngine allows specifying collection options for the + // storage engine in use. The map keys must hold the storage engine + // name for which options are being specified. + StorageEngine interface{} +} + +// Create explicitly creates the c collection with details of info. +// MongoDB creates collections automatically on use, so this method +// is only necessary when creating collection with non-default +// characteristics, such as capped collections. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/createCollection+Command +// http://www.mongodb.org/display/DOCS/Capped+Collections +// +func (c *Collection) Create(info *CollectionInfo) error { + cmd := make(bson.D, 0, 4) + cmd = append(cmd, bson.DocElem{"create", c.Name}) + if info.Capped { + if info.MaxBytes < 1 { + return fmt.Errorf("Collection.Create: with Capped, MaxBytes must also be set") + } + cmd = append(cmd, bson.DocElem{"capped", true}) + cmd = append(cmd, bson.DocElem{"size", info.MaxBytes}) + if info.MaxDocs > 0 { + cmd = append(cmd, bson.DocElem{"max", info.MaxDocs}) + } + } + if info.DisableIdIndex { + cmd = append(cmd, bson.DocElem{"autoIndexId", false}) + } + if info.ForceIdIndex { + cmd = append(cmd, bson.DocElem{"autoIndexId", true}) + } + if info.Validator != nil { + cmd = append(cmd, bson.DocElem{"validator", info.Validator}) + } + if info.ValidationLevel != "" { + cmd = append(cmd, bson.DocElem{"validationLevel", info.ValidationLevel}) + } + if info.ValidationAction != "" { + cmd = append(cmd, bson.DocElem{"validationAction", info.ValidationAction}) + } + if info.StorageEngine != nil { + cmd = append(cmd, bson.DocElem{"storageEngine", info.StorageEngine}) + } + return c.Database.Run(cmd, nil) +} + +// Batch sets the batch size used when fetching documents from the database. +// It's possible to change this setting on a per-session basis as well, using +// the Batch method of Session. + +// The default batch size is defined by the database itself. As of this +// writing, MongoDB will use an initial size of min(100 docs, 4MB) on the +// first batch, and 4MB on remaining ones. +func (q *Query) Batch(n int) *Query { + if n == 1 { + // Server interprets 1 as -1 and closes the cursor (!?) + n = 2 + } + q.m.Lock() + q.op.limit = int32(n) + q.m.Unlock() + return q +} + +// Prefetch sets the point at which the next batch of results will be requested. +// When there are p*batch_size remaining documents cached in an Iter, the next +// batch will be requested in background. For instance, when using this: +// +// query.Batch(200).Prefetch(0.25) +// +// and there are only 50 documents cached in the Iter to be processed, the +// next batch of 200 will be requested. It's possible to change this setting on +// a per-session basis as well, using the SetPrefetch method of Session. +// +// The default prefetch value is 0.25. +func (q *Query) Prefetch(p float64) *Query { + q.m.Lock() + q.prefetch = p + q.m.Unlock() + return q +} + +// Skip skips over the n initial documents from the query results. Note that +// this only makes sense with capped collections where documents are naturally +// ordered by insertion time, or with sorted results. +func (q *Query) Skip(n int) *Query { + q.m.Lock() + q.op.skip = int32(n) + q.m.Unlock() + return q +} + +// Limit restricts the maximum number of documents retrieved to n, and also +// changes the batch size to the same value. Once n documents have been +// returned by Next, the following call will return ErrNotFound. +func (q *Query) Limit(n int) *Query { + q.m.Lock() + switch { + case n == 1: + q.limit = 1 + q.op.limit = -1 + case n == math.MinInt32: // -MinInt32 == -MinInt32 + q.limit = math.MaxInt32 + q.op.limit = math.MinInt32 + 1 + case n < 0: + q.limit = int32(-n) + q.op.limit = int32(n) + default: + q.limit = int32(n) + q.op.limit = int32(n) + } + q.m.Unlock() + return q +} + +// Select enables selecting which fields should be retrieved for the results +// found. For example, the following query would only retrieve the name field: +// +// err := collection.Find(nil).Select(bson.M{"name": 1}).One(&result) +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields +// +func (q *Query) Select(selector interface{}) *Query { + q.m.Lock() + q.op.selector = selector + q.m.Unlock() + return q +} + +// Sort asks the database to order returned documents according to the +// provided field names. A field name may be prefixed by - (minus) for +// it to be sorted in reverse order. +// +// For example: +// +// query1 := collection.Find(nil).Sort("firstname", "lastname") +// query2 := collection.Find(nil).Sort("-age") +// query3 := collection.Find(nil).Sort("$natural") +// query4 := collection.Find(nil).Select(bson.M{"score": bson.M{"$meta": "textScore"}}).Sort("$textScore:score") +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order +// +func (q *Query) Sort(fields ...string) *Query { + q.m.Lock() + var order bson.D + for _, field := range fields { + n := 1 + var kind string + if field != "" { + if field[0] == '$' { + if c := strings.Index(field, ":"); c > 1 && c < len(field)-1 { + kind = field[1:c] + field = field[c+1:] + } + } + switch field[0] { + case '+': + field = field[1:] + case '-': + n = -1 + field = field[1:] + } + } + if field == "" { + panic("Sort: empty field name") + } + if kind == "textScore" { + order = append(order, bson.DocElem{field, bson.M{"$meta": kind}}) + } else { + order = append(order, bson.DocElem{field, n}) + } + } + q.op.options.OrderBy = order + q.op.hasOptions = true + q.m.Unlock() + return q +} + +// Explain returns a number of details about how the MongoDB server would +// execute the requested query, such as the number of objects examined, +// the number of times the read lock was yielded to allow writes to go in, +// and so on. +// +// For example: +// +// m := bson.M{} +// err := collection.Find(bson.M{"filename": name}).Explain(m) +// if err == nil { +// fmt.Printf("Explain: %#v\n", m) +// } +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Optimization +// http://www.mongodb.org/display/DOCS/Query+Optimizer +// +func (q *Query) Explain(result interface{}) error { + q.m.Lock() + clone := &Query{session: q.session, query: q.query} + q.m.Unlock() + clone.op.options.Explain = true + clone.op.hasOptions = true + if clone.op.limit > 0 { + clone.op.limit = -q.op.limit + } + iter := clone.Iter() + if iter.Next(result) { + return nil + } + return iter.Close() +} + +// TODO: Add Collection.Explain. See https://goo.gl/1MDlvz. + +// Hint will include an explicit "hint" in the query to force the server +// to use a specified index, potentially improving performance in some +// situations. The provided parameters are the fields that compose the +// key of the index to be used. For details on how the indexKey may be +// built, see the EnsureIndex method. +// +// For example: +// +// query := collection.Find(bson.M{"firstname": "Joe", "lastname": "Winter"}) +// query.Hint("lastname", "firstname") +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Optimization +// http://www.mongodb.org/display/DOCS/Query+Optimizer +// +func (q *Query) Hint(indexKey ...string) *Query { + q.m.Lock() + keyInfo, err := parseIndexKey(indexKey) + q.op.options.Hint = keyInfo.key + q.op.hasOptions = true + q.m.Unlock() + if err != nil { + panic(err) + } + return q +} + +// SetMaxScan constrains the query to stop after scanning the specified +// number of documents. +// +// This modifier is generally used to prevent potentially long running +// queries from disrupting performance by scanning through too much data. +func (q *Query) SetMaxScan(n int) *Query { + q.m.Lock() + q.op.options.MaxScan = n + q.op.hasOptions = true + q.m.Unlock() + return q +} + +// SetMaxTime constrains the query to stop after running for the specified time. +// +// When the time limit is reached MongoDB automatically cancels the query. +// This can be used to efficiently prevent and identify unexpectedly slow queries. +// +// A few important notes about the mechanism enforcing this limit: +// +// - Requests can block behind locking operations on the server, and that blocking +// time is not accounted for. In other words, the timer starts ticking only after +// the actual start of the query when it initially acquires the appropriate lock; +// +// - Operations are interrupted only at interrupt points where an operation can be +// safely aborted – the total execution time may exceed the specified value; +// +// - The limit can be applied to both CRUD operations and commands, but not all +// commands are interruptible; +// +// - While iterating over results, computing follow up batches is included in the +// total time and the iteration continues until the alloted time is over, but +// network roundtrips are not taken into account for the limit. +// +// - This limit does not override the inactive cursor timeout for idle cursors +// (default is 10 min). +// +// This mechanism was introduced in MongoDB 2.6. +// +// Relevant documentation: +// +// http://blog.mongodb.org/post/83621787773/maxtimems-and-query-optimizer-introspection-in +// +func (q *Query) SetMaxTime(d time.Duration) *Query { + q.m.Lock() + q.op.options.MaxTimeMS = int(d / time.Millisecond) + q.op.hasOptions = true + q.m.Unlock() + return q +} + +// Snapshot will force the performed query to make use of an available +// index on the _id field to prevent the same document from being returned +// more than once in a single iteration. This might happen without this +// setting in situations when the document changes in size and thus has to +// be moved while the iteration is running. +// +// Because snapshot mode traverses the _id index, it may not be used with +// sorting or explicit hints. It also cannot use any other index for the +// query. +// +// Even with snapshot mode, items inserted or deleted during the query may +// or may not be returned; that is, this mode is not a true point-in-time +// snapshot. +// +// The same effect of Snapshot may be obtained by using any unique index on +// field(s) that will not be modified (best to use Hint explicitly too). +// A non-unique index (such as creation time) may be made unique by +// appending _id to the index when creating it. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/How+to+do+Snapshotted+Queries+in+the+Mongo+Database +// +func (q *Query) Snapshot() *Query { + q.m.Lock() + q.op.options.Snapshot = true + q.op.hasOptions = true + q.m.Unlock() + return q +} + +// Comment adds a comment to the query to identify it in the database profiler output. +// +// Relevant documentation: +// +// http://docs.mongodb.org/manual/reference/operator/meta/comment +// http://docs.mongodb.org/manual/reference/command/profile +// http://docs.mongodb.org/manual/administration/analyzing-mongodb-performance/#database-profiling +// +func (q *Query) Comment(comment string) *Query { + q.m.Lock() + q.op.options.Comment = comment + q.op.hasOptions = true + q.m.Unlock() + return q +} + +// LogReplay enables an option that optimizes queries that are typically +// made on the MongoDB oplog for replaying it. This is an internal +// implementation aspect and most likely uninteresting for other uses. +// It has seen at least one use case, though, so it's exposed via the API. +func (q *Query) LogReplay() *Query { + q.m.Lock() + q.op.flags |= flagLogReplay + q.m.Unlock() + return q +} + +func checkQueryError(fullname string, d []byte) error { + l := len(d) + if l < 16 { + return nil + } + if d[5] == '$' && d[6] == 'e' && d[7] == 'r' && d[8] == 'r' && d[9] == '\x00' && d[4] == '\x02' { + goto Error + } + if len(fullname) < 5 || fullname[len(fullname)-5:] != ".$cmd" { + return nil + } + for i := 0; i+8 < l; i++ { + if d[i] == '\x02' && d[i+1] == 'e' && d[i+2] == 'r' && d[i+3] == 'r' && d[i+4] == 'm' && d[i+5] == 's' && d[i+6] == 'g' && d[i+7] == '\x00' { + goto Error + } + } + return nil + +Error: + result := &queryError{} + bson.Unmarshal(d, result) + if result.LastError != nil { + return result.LastError + } + if result.Err == "" && result.ErrMsg == "" { + return nil + } + if result.AssertionCode != 0 && result.Assertion != "" { + return &QueryError{Code: result.AssertionCode, Message: result.Assertion, Assertion: true} + } + if result.Err != "" { + return &QueryError{Code: result.Code, Message: result.Err} + } + return &QueryError{Code: result.Code, Message: result.ErrMsg} +} + +// One executes the query and unmarshals the first obtained document into the +// result argument. The result must be a struct or map value capable of being +// unmarshalled into by gobson. This function blocks until either a result +// is available or an error happens. For example: +// +// err := collection.Find(bson.M{"a": 1}).One(&result) +// +// In case the resulting document includes a field named $err or errmsg, which +// are standard ways for MongoDB to return query errors, the returned err will +// be set to a *QueryError value including the Err message and the Code. In +// those cases, the result argument is still unmarshalled into with the +// received document so that any other custom values may be obtained if +// desired. +// +func (q *Query) One(result interface{}) (err error) { + q.m.Lock() + session := q.session + op := q.op // Copy. + q.m.Unlock() + + socket, err := session.acquireSocket(true) + if err != nil { + return err + } + defer socket.Release() + + op.limit = -1 + + session.prepareQuery(&op) + + expectFindReply := prepareFindOp(socket, &op, 1) + + data, err := socket.SimpleQuery(&op) + if err != nil { + return err + } + if data == nil { + return ErrNotFound + } + if expectFindReply { + var findReply struct { + Ok bool + Code int + Errmsg string + Cursor cursorData + } + err = bson.Unmarshal(data, &findReply) + if err != nil { + return err + } + if !findReply.Ok && findReply.Errmsg != "" { + return &QueryError{Code: findReply.Code, Message: findReply.Errmsg} + } + if len(findReply.Cursor.FirstBatch) == 0 { + return ErrNotFound + } + data = findReply.Cursor.FirstBatch[0].Data + } + if result != nil { + err = bson.Unmarshal(data, result) + if err == nil { + debugf("Query %p document unmarshaled: %#v", q, result) + } else { + debugf("Query %p document unmarshaling failed: %#v", q, err) + return err + } + } + return checkQueryError(op.collection, data) +} + +// prepareFindOp translates op from being an old-style wire protocol query into +// a new-style find command if that's supported by the MongoDB server (3.2+). +// It returns whether to expect a find command result or not. Note op may be +// translated into an explain command, in which case the function returns false. +func prepareFindOp(socket *mongoSocket, op *queryOp, limit int32) bool { + if socket.ServerInfo().MaxWireVersion < 4 || op.collection == "admin.$cmd" { + return false + } + + nameDot := strings.Index(op.collection, ".") + if nameDot < 0 { + panic("invalid query collection name: " + op.collection) + } + + find := findCmd{ + Collection: op.collection[nameDot+1:], + Filter: op.query, + Projection: op.selector, + Sort: op.options.OrderBy, + Skip: op.skip, + Limit: limit, + MaxTimeMS: op.options.MaxTimeMS, + MaxScan: op.options.MaxScan, + Hint: op.options.Hint, + Comment: op.options.Comment, + Snapshot: op.options.Snapshot, + OplogReplay: op.flags&flagLogReplay != 0, + } + if op.limit < 0 { + find.BatchSize = -op.limit + find.SingleBatch = true + } else { + find.BatchSize = op.limit + } + + explain := op.options.Explain + + op.collection = op.collection[:nameDot] + ".$cmd" + op.query = &find + op.skip = 0 + op.limit = -1 + op.options = queryWrapper{} + op.hasOptions = false + + if explain { + op.query = bson.D{{"explain", op.query}} + return false + } + return true +} + +type cursorData struct { + FirstBatch []bson.Raw "firstBatch" + NextBatch []bson.Raw "nextBatch" + NS string + Id int64 +} + +// findCmd holds the command used for performing queries on MongoDB 3.2+. +// +// Relevant documentation: +// +// https://docs.mongodb.org/master/reference/command/find/#dbcmd.find +// +type findCmd struct { + Collection string `bson:"find"` + Filter interface{} `bson:"filter,omitempty"` + Sort interface{} `bson:"sort,omitempty"` + Projection interface{} `bson:"projection,omitempty"` + Hint interface{} `bson:"hint,omitempty"` + Skip interface{} `bson:"skip,omitempty"` + Limit int32 `bson:"limit,omitempty"` + BatchSize int32 `bson:"batchSize,omitempty"` + SingleBatch bool `bson:"singleBatch,omitempty"` + Comment string `bson:"comment,omitempty"` + MaxScan int `bson:"maxScan,omitempty"` + MaxTimeMS int `bson:"maxTimeMS,omitempty"` + ReadConcern interface{} `bson:"readConcern,omitempty"` + Max interface{} `bson:"max,omitempty"` + Min interface{} `bson:"min,omitempty"` + ReturnKey bool `bson:"returnKey,omitempty"` + ShowRecordId bool `bson:"showRecordId,omitempty"` + Snapshot bool `bson:"snapshot,omitempty"` + Tailable bool `bson:"tailable,omitempty"` + AwaitData bool `bson:"awaitData,omitempty"` + OplogReplay bool `bson:"oplogReplay,omitempty"` + NoCursorTimeout bool `bson:"noCursorTimeout,omitempty"` + AllowPartialResults bool `bson:"allowPartialResults,omitempty"` +} + +// getMoreCmd holds the command used for requesting more query results on MongoDB 3.2+. +// +// Relevant documentation: +// +// https://docs.mongodb.org/master/reference/command/getMore/#dbcmd.getMore +// +type getMoreCmd struct { + CursorId int64 `bson:"getMore"` + Collection string `bson:"collection"` + BatchSize int32 `bson:"batchSize,omitempty"` + MaxTimeMS int64 `bson:"maxTimeMS,omitempty"` +} + +// run duplicates the behavior of collection.Find(query).One(&result) +// as performed by Database.Run, specializing the logic for running +// database commands on a given socket. +func (db *Database) run(socket *mongoSocket, cmd, result interface{}) (err error) { + // Database.Run: + if name, ok := cmd.(string); ok { + cmd = bson.D{{name, 1}} + } + + // Collection.Find: + session := db.Session + session.m.RLock() + op := session.queryConfig.op // Copy. + session.m.RUnlock() + op.query = cmd + op.collection = db.Name + ".$cmd" + + // Query.One: + session.prepareQuery(&op) + op.limit = -1 + + data, err := socket.SimpleQuery(&op) + if err != nil { + return err + } + if data == nil { + return ErrNotFound + } + if result != nil { + err = bson.Unmarshal(data, result) + if err == nil { + var res bson.M + bson.Unmarshal(data, &res) + debugf("Run command unmarshaled: %#v, result: %#v", op, res) + } else { + debugf("Run command unmarshaling failed: %#v", op, err) + return err + } + } + return checkQueryError(op.collection, data) +} + +// The DBRef type implements support for the database reference MongoDB +// convention as supported by multiple drivers. This convention enables +// cross-referencing documents between collections and databases using +// a structure which includes a collection name, a document id, and +// optionally a database name. +// +// See the FindRef methods on Session and on Database. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Database+References +// +type DBRef struct { + Collection string `bson:"$ref"` + Id interface{} `bson:"$id"` + Database string `bson:"$db,omitempty"` +} + +// NOTE: Order of fields for DBRef above does matter, per documentation. + +// FindRef returns a query that looks for the document in the provided +// reference. If the reference includes the DB field, the document will +// be retrieved from the respective database. +// +// See also the DBRef type and the FindRef method on Session. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Database+References +// +func (db *Database) FindRef(ref *DBRef) *Query { + var c *Collection + if ref.Database == "" { + c = db.C(ref.Collection) + } else { + c = db.Session.DB(ref.Database).C(ref.Collection) + } + return c.FindId(ref.Id) +} + +// FindRef returns a query that looks for the document in the provided +// reference. For a DBRef to be resolved correctly at the session level +// it must necessarily have the optional DB field defined. +// +// See also the DBRef type and the FindRef method on Database. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Database+References +// +func (s *Session) FindRef(ref *DBRef) *Query { + if ref.Database == "" { + panic(errors.New(fmt.Sprintf("Can't resolve database for %#v", ref))) + } + c := s.DB(ref.Database).C(ref.Collection) + return c.FindId(ref.Id) +} + +// CollectionNames returns the collection names present in the db database. +func (db *Database) CollectionNames() (names []string, err error) { + // Clone session and set it to Monotonic mode so that the server + // used for the query may be safely obtained afterwards, if + // necessary for iteration when a cursor is received. + cloned := db.Session.nonEventual() + defer cloned.Close() + + batchSize := int(cloned.queryConfig.op.limit) + + // Try with a command. + var result struct { + Collections []bson.Raw + Cursor cursorData + } + err = db.With(cloned).Run(bson.D{{"listCollections", 1}, {"cursor", bson.D{{"batchSize", batchSize}}}}, &result) + if err == nil { + firstBatch := result.Collections + if firstBatch == nil { + firstBatch = result.Cursor.FirstBatch + } + var iter *Iter + ns := strings.SplitN(result.Cursor.NS, ".", 2) + if len(ns) < 2 { + iter = db.With(cloned).C("").NewIter(nil, firstBatch, result.Cursor.Id, nil) + } else { + iter = cloned.DB(ns[0]).C(ns[1]).NewIter(nil, firstBatch, result.Cursor.Id, nil) + } + var coll struct{ Name string } + for iter.Next(&coll) { + names = append(names, coll.Name) + } + if err := iter.Close(); err != nil { + return nil, err + } + sort.Strings(names) + return names, err + } + if err != nil && !isNoCmd(err) { + return nil, err + } + + // Command not yet supported. Query the database instead. + nameIndex := len(db.Name) + 1 + iter := db.C("system.namespaces").Find(nil).Iter() + var coll struct{ Name string } + for iter.Next(&coll) { + if strings.Index(coll.Name, "$") < 0 || strings.Index(coll.Name, ".oplog.$") >= 0 { + names = append(names, coll.Name[nameIndex:]) + } + } + if err := iter.Close(); err != nil { + return nil, err + } + sort.Strings(names) + return names, nil +} + +type dbNames struct { + Databases []struct { + Name string + Empty bool + } +} + +// DatabaseNames returns the names of non-empty databases present in the cluster. +func (s *Session) DatabaseNames() (names []string, err error) { + var result dbNames + err = s.Run("listDatabases", &result) + if err != nil { + return nil, err + } + for _, db := range result.Databases { + if !db.Empty { + names = append(names, db.Name) + } + } + sort.Strings(names) + return names, nil +} + +// Iter executes the query and returns an iterator capable of going over all +// the results. Results will be returned in batches of configurable +// size (see the Batch method) and more documents will be requested when a +// configurable number of documents is iterated over (see the Prefetch method). +func (q *Query) Iter() *Iter { + q.m.Lock() + session := q.session + op := q.op + prefetch := q.prefetch + limit := q.limit + q.m.Unlock() + + iter := &Iter{ + session: session, + prefetch: prefetch, + limit: limit, + timeout: -1, + } + iter.gotReply.L = &iter.m + iter.op.collection = op.collection + iter.op.limit = op.limit + iter.op.replyFunc = iter.replyFunc() + iter.docsToReceive++ + + socket, err := session.acquireSocket(true) + if err != nil { + iter.err = err + return iter + } + defer socket.Release() + + session.prepareQuery(&op) + op.replyFunc = iter.op.replyFunc + + if prepareFindOp(socket, &op, limit) { + iter.findCmd = true + } + + iter.server = socket.Server() + err = socket.Query(&op) + if err != nil { + // Must lock as the query is already out and it may call replyFunc. + iter.m.Lock() + iter.err = err + iter.m.Unlock() + } + + return iter +} + +// Tail returns a tailable iterator. Unlike a normal iterator, a +// tailable iterator may wait for new values to be inserted in the +// collection once the end of the current result set is reached, +// A tailable iterator may only be used with capped collections. +// +// The timeout parameter indicates how long Next will block waiting +// for a result before timing out. If set to -1, Next will not +// timeout, and will continue waiting for a result for as long as +// the cursor is valid and the session is not closed. If set to 0, +// Next times out as soon as it reaches the end of the result set. +// Otherwise, Next will wait for at least the given number of +// seconds for a new document to be available before timing out. +// +// On timeouts, Next will unblock and return false, and the Timeout +// method will return true if called. In these cases, Next may still +// be called again on the same iterator to check if a new value is +// available at the current cursor position, and again it will block +// according to the specified timeoutSecs. If the cursor becomes +// invalid, though, both Next and Timeout will return false and +// the query must be restarted. +// +// The following example demonstrates timeout handling and query +// restarting: +// +// iter := collection.Find(nil).Sort("$natural").Tail(5 * time.Second) +// for { +// for iter.Next(&result) { +// fmt.Println(result.Id) +// lastId = result.Id +// } +// if iter.Err() != nil { +// return iter.Close() +// } +// if iter.Timeout() { +// continue +// } +// query := collection.Find(bson.M{"_id": bson.M{"$gt": lastId}}) +// iter = query.Sort("$natural").Tail(5 * time.Second) +// } +// iter.Close() +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Tailable+Cursors +// http://www.mongodb.org/display/DOCS/Capped+Collections +// http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order +// +func (q *Query) Tail(timeout time.Duration) *Iter { + q.m.Lock() + session := q.session + op := q.op + prefetch := q.prefetch + q.m.Unlock() + + iter := &Iter{session: session, prefetch: prefetch} + iter.gotReply.L = &iter.m + iter.timeout = timeout + iter.op.collection = op.collection + iter.op.limit = op.limit + iter.op.replyFunc = iter.replyFunc() + iter.docsToReceive++ + session.prepareQuery(&op) + op.replyFunc = iter.op.replyFunc + op.flags |= flagTailable | flagAwaitData + + socket, err := session.acquireSocket(true) + if err != nil { + iter.err = err + } else { + iter.server = socket.Server() + err = socket.Query(&op) + if err != nil { + // Must lock as the query is already out and it may call replyFunc. + iter.m.Lock() + iter.err = err + iter.m.Unlock() + } + socket.Release() + } + return iter +} + +func (s *Session) prepareQuery(op *queryOp) { + s.m.RLock() + op.mode = s.consistency + if s.slaveOk { + op.flags |= flagSlaveOk + } + s.m.RUnlock() + return +} + +// Err returns nil if no errors happened during iteration, or the actual +// error otherwise. +// +// In case a resulting document included a field named $err or errmsg, which are +// standard ways for MongoDB to report an improper query, the returned value has +// a *QueryError type, and includes the Err message and the Code. +func (iter *Iter) Err() error { + iter.m.Lock() + err := iter.err + iter.m.Unlock() + if err == ErrNotFound { + return nil + } + return err +} + +// Close kills the server cursor used by the iterator, if any, and returns +// nil if no errors happened during iteration, or the actual error otherwise. +// +// Server cursors are automatically closed at the end of an iteration, which +// means close will do nothing unless the iteration was interrupted before +// the server finished sending results to the driver. If Close is not called +// in such a situation, the cursor will remain available at the server until +// the default cursor timeout period is reached. No further problems arise. +// +// Close is idempotent. That means it can be called repeatedly and will +// return the same result every time. +// +// In case a resulting document included a field named $err or errmsg, which are +// standard ways for MongoDB to report an improper query, the returned value has +// a *QueryError type. +func (iter *Iter) Close() error { + iter.m.Lock() + cursorId := iter.op.cursorId + iter.op.cursorId = 0 + err := iter.err + iter.m.Unlock() + if cursorId == 0 { + if err == ErrNotFound { + return nil + } + return err + } + socket, err := iter.acquireSocket() + if err == nil { + // TODO Batch kills. + err = socket.Query(&killCursorsOp{[]int64{cursorId}}) + socket.Release() + } + + iter.m.Lock() + if err != nil && (iter.err == nil || iter.err == ErrNotFound) { + iter.err = err + } else if iter.err != ErrNotFound { + err = iter.err + } + iter.m.Unlock() + return err +} + +// Timeout returns true if Next returned false due to a timeout of +// a tailable cursor. In those cases, Next may be called again to continue +// the iteration at the previous cursor position. +func (iter *Iter) Timeout() bool { + iter.m.Lock() + result := iter.timedout + iter.m.Unlock() + return result +} + +// Next retrieves the next document from the result set, blocking if necessary. +// This method will also automatically retrieve another batch of documents from +// the server when the current one is exhausted, or before that in background +// if pre-fetching is enabled (see the Query.Prefetch and Session.SetPrefetch +// methods). +// +// Next returns true if a document was successfully unmarshalled onto result, +// and false at the end of the result set or if an error happened. +// When Next returns false, the Err method should be called to verify if +// there was an error during iteration. +// +// For example: +// +// iter := collection.Find(nil).Iter() +// for iter.Next(&result) { +// fmt.Printf("Result: %v\n", result.Id) +// } +// if err := iter.Close(); err != nil { +// return err +// } +// +func (iter *Iter) Next(result interface{}) bool { + iter.m.Lock() + iter.timedout = false + timeout := time.Time{} + for iter.err == nil && iter.docData.Len() == 0 && (iter.docsToReceive > 0 || iter.op.cursorId != 0) { + if iter.docsToReceive == 0 { + if iter.timeout >= 0 { + if timeout.IsZero() { + timeout = time.Now().Add(iter.timeout) + } + if time.Now().After(timeout) { + iter.timedout = true + iter.m.Unlock() + return false + } + } + iter.getMore() + if iter.err != nil { + break + } + } + iter.gotReply.Wait() + } + + // Exhaust available data before reporting any errors. + if docData, ok := iter.docData.Pop().([]byte); ok { + close := false + if iter.limit > 0 { + iter.limit-- + if iter.limit == 0 { + if iter.docData.Len() > 0 { + iter.m.Unlock() + panic(fmt.Errorf("data remains after limit exhausted: %d", iter.docData.Len())) + } + iter.err = ErrNotFound + close = true + } + } + if iter.op.cursorId != 0 && iter.err == nil { + iter.docsBeforeMore-- + if iter.docsBeforeMore == -1 { + iter.getMore() + } + } + iter.m.Unlock() + + if close { + iter.Close() + } + err := bson.Unmarshal(docData, result) + if err != nil { + debugf("Iter %p document unmarshaling failed: %#v", iter, err) + iter.m.Lock() + if iter.err == nil { + iter.err = err + } + iter.m.Unlock() + return false + } + debugf("Iter %p document unmarshaled: %#v", iter, result) + // XXX Only have to check first document for a query error? + err = checkQueryError(iter.op.collection, docData) + if err != nil { + iter.m.Lock() + if iter.err == nil { + iter.err = err + } + iter.m.Unlock() + return false + } + return true + } else if iter.err != nil { + debugf("Iter %p returning false: %s", iter, iter.err) + iter.m.Unlock() + return false + } else if iter.op.cursorId == 0 { + iter.err = ErrNotFound + debugf("Iter %p exhausted with cursor=0", iter) + iter.m.Unlock() + return false + } + + panic("unreachable") +} + +// All retrieves all documents from the result set into the provided slice +// and closes the iterator. +// +// The result argument must necessarily be the address for a slice. The slice +// may be nil or previously allocated. +// +// WARNING: Obviously, All must not be used with result sets that may be +// potentially large, since it may consume all memory until the system +// crashes. Consider building the query with a Limit clause to ensure the +// result size is bounded. +// +// For instance: +// +// var result []struct{ Value int } +// iter := collection.Find(nil).Limit(100).Iter() +// err := iter.All(&result) +// if err != nil { +// return err +// } +// +func (iter *Iter) All(result interface{}) error { + resultv := reflect.ValueOf(result) + if resultv.Kind() != reflect.Ptr || resultv.Elem().Kind() != reflect.Slice { + panic("result argument must be a slice address") + } + slicev := resultv.Elem() + slicev = slicev.Slice(0, slicev.Cap()) + elemt := slicev.Type().Elem() + i := 0 + for { + if slicev.Len() == i { + elemp := reflect.New(elemt) + if !iter.Next(elemp.Interface()) { + break + } + slicev = reflect.Append(slicev, elemp.Elem()) + slicev = slicev.Slice(0, slicev.Cap()) + } else { + if !iter.Next(slicev.Index(i).Addr().Interface()) { + break + } + } + i++ + } + resultv.Elem().Set(slicev.Slice(0, i)) + return iter.Close() +} + +// All works like Iter.All. +func (q *Query) All(result interface{}) error { + return q.Iter().All(result) +} + +// The For method is obsolete and will be removed in a future release. +// See Iter as an elegant replacement. +func (q *Query) For(result interface{}, f func() error) error { + return q.Iter().For(result, f) +} + +// The For method is obsolete and will be removed in a future release. +// See Iter as an elegant replacement. +func (iter *Iter) For(result interface{}, f func() error) (err error) { + valid := false + v := reflect.ValueOf(result) + if v.Kind() == reflect.Ptr { + v = v.Elem() + switch v.Kind() { + case reflect.Map, reflect.Ptr, reflect.Interface, reflect.Slice: + valid = v.IsNil() + } + } + if !valid { + panic("For needs a pointer to nil reference value. See the documentation.") + } + zero := reflect.Zero(v.Type()) + for { + v.Set(zero) + if !iter.Next(result) { + break + } + err = f() + if err != nil { + return err + } + } + return iter.Err() +} + +// acquireSocket acquires a socket from the same server that the iterator +// cursor was obtained from. +// +// WARNING: This method must not be called with iter.m locked. Acquiring the +// socket depends on the cluster sync loop, and the cluster sync loop might +// attempt actions which cause replyFunc to be called, inducing a deadlock. +func (iter *Iter) acquireSocket() (*mongoSocket, error) { + socket, err := iter.session.acquireSocket(true) + if err != nil { + return nil, err + } + if socket.Server() != iter.server { + // Socket server changed during iteration. This may happen + // with Eventual sessions, if a Refresh is done, or if a + // monotonic session gets a write and shifts from secondary + // to primary. Our cursor is in a specific server, though. + iter.session.m.Lock() + sockTimeout := iter.session.sockTimeout + iter.session.m.Unlock() + socket.Release() + socket, _, err = iter.server.AcquireSocket(0, sockTimeout) + if err != nil { + return nil, err + } + err := iter.session.socketLogin(socket) + if err != nil { + socket.Release() + return nil, err + } + } + return socket, nil +} + +func (iter *Iter) getMore() { + // Increment now so that unlocking the iterator won't cause a + // different goroutine to get here as well. + iter.docsToReceive++ + iter.m.Unlock() + socket, err := iter.acquireSocket() + iter.m.Lock() + if err != nil { + iter.err = err + return + } + defer socket.Release() + + debugf("Iter %p requesting more documents", iter) + if iter.limit > 0 { + // The -1 below accounts for the fact docsToReceive was incremented above. + limit := iter.limit - int32(iter.docsToReceive-1) - int32(iter.docData.Len()) + if limit < iter.op.limit { + iter.op.limit = limit + } + } + var op interface{} + if iter.findCmd { + op = iter.getMoreCmd() + } else { + op = &iter.op + } + if err := socket.Query(op); err != nil { + iter.docsToReceive-- + iter.err = err + } +} + +func (iter *Iter) getMoreCmd() *queryOp { + // TODO: Define the query statically in the Iter type, next to getMoreOp. + nameDot := strings.Index(iter.op.collection, ".") + if nameDot < 0 { + panic("invalid query collection name: " + iter.op.collection) + } + + getMore := getMoreCmd{ + CursorId: iter.op.cursorId, + Collection: iter.op.collection[nameDot+1:], + BatchSize: iter.op.limit, + } + + var op queryOp + op.collection = iter.op.collection[:nameDot] + ".$cmd" + op.query = &getMore + op.limit = -1 + op.replyFunc = iter.op.replyFunc + return &op +} + +type countCmd struct { + Count string + Query interface{} + Limit int32 ",omitempty" + Skip int32 ",omitempty" +} + +// Count returns the total number of documents in the result set. +func (q *Query) Count() (n int, err error) { + q.m.Lock() + session := q.session + op := q.op + limit := q.limit + q.m.Unlock() + + c := strings.Index(op.collection, ".") + if c < 0 { + return 0, errors.New("Bad collection name: " + op.collection) + } + + dbname := op.collection[:c] + cname := op.collection[c+1:] + query := op.query + if query == nil { + query = bson.D{} + } + result := struct{ N int }{} + err = session.DB(dbname).Run(countCmd{cname, query, limit, op.skip}, &result) + return result.N, err +} + +// Count returns the total number of documents in the collection. +func (c *Collection) Count() (n int, err error) { + return c.Find(nil).Count() +} + +type distinctCmd struct { + Collection string "distinct" + Key string + Query interface{} ",omitempty" +} + +// Distinct unmarshals into result the list of distinct values for the given key. +// +// For example: +// +// var result []int +// err := collection.Find(bson.M{"gender": "F"}).Distinct("age", &result) +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/Aggregation +// +func (q *Query) Distinct(key string, result interface{}) error { + q.m.Lock() + session := q.session + op := q.op // Copy. + q.m.Unlock() + + c := strings.Index(op.collection, ".") + if c < 0 { + return errors.New("Bad collection name: " + op.collection) + } + + dbname := op.collection[:c] + cname := op.collection[c+1:] + + var doc struct{ Values bson.Raw } + err := session.DB(dbname).Run(distinctCmd{cname, key, op.query}, &doc) + if err != nil { + return err + } + return doc.Values.Unmarshal(result) +} + +type mapReduceCmd struct { + Collection string "mapreduce" + Map string ",omitempty" + Reduce string ",omitempty" + Finalize string ",omitempty" + Limit int32 ",omitempty" + Out interface{} + Query interface{} ",omitempty" + Sort interface{} ",omitempty" + Scope interface{} ",omitempty" + Verbose bool ",omitempty" +} + +type mapReduceResult struct { + Results bson.Raw + Result bson.Raw + TimeMillis int64 "timeMillis" + Counts struct{ Input, Emit, Output int } + Ok bool + Err string + Timing *MapReduceTime +} + +type MapReduce struct { + Map string // Map Javascript function code (required) + Reduce string // Reduce Javascript function code (required) + Finalize string // Finalize Javascript function code (optional) + Out interface{} // Output collection name or document. If nil, results are inlined into the result parameter. + Scope interface{} // Optional global scope for Javascript functions + Verbose bool +} + +type MapReduceInfo struct { + InputCount int // Number of documents mapped + EmitCount int // Number of times reduce called emit + OutputCount int // Number of documents in resulting collection + Database string // Output database, if results are not inlined + Collection string // Output collection, if results are not inlined + Time int64 // Time to run the job, in nanoseconds + VerboseTime *MapReduceTime // Only defined if Verbose was true +} + +type MapReduceTime struct { + Total int64 // Total time, in nanoseconds + Map int64 "mapTime" // Time within map function, in nanoseconds + EmitLoop int64 "emitLoop" // Time within the emit/map loop, in nanoseconds +} + +// MapReduce executes a map/reduce job for documents covered by the query. +// That kind of job is suitable for very flexible bulk aggregation of data +// performed at the server side via Javascript functions. +// +// Results from the job may be returned as a result of the query itself +// through the result parameter in case they'll certainly fit in memory +// and in a single document. If there's the possibility that the amount +// of data might be too large, results must be stored back in an alternative +// collection or even a separate database, by setting the Out field of the +// provided MapReduce job. In that case, provide nil as the result parameter. +// +// These are some of the ways to set Out: +// +// nil +// Inline results into the result parameter. +// +// bson.M{"replace": "mycollection"} +// The output will be inserted into a collection which replaces any +// existing collection with the same name. +// +// bson.M{"merge": "mycollection"} +// This option will merge new data into the old output collection. In +// other words, if the same key exists in both the result set and the +// old collection, the new key will overwrite the old one. +// +// bson.M{"reduce": "mycollection"} +// If documents exist for a given key in the result set and in the old +// collection, then a reduce operation (using the specified reduce +// function) will be performed on the two values and the result will be +// written to the output collection. If a finalize function was +// provided, this will be run after the reduce as well. +// +// bson.M{...., "db": "mydb"} +// Any of the above options can have the "db" key included for doing +// the respective action in a separate database. +// +// The following is a trivial example which will count the number of +// occurrences of a field named n on each document in a collection, and +// will return results inline: +// +// job := &mgo.MapReduce{ +// Map: "function() { emit(this.n, 1) }", +// Reduce: "function(key, values) { return Array.sum(values) }", +// } +// var result []struct { Id int "_id"; Value int } +// _, err := collection.Find(nil).MapReduce(job, &result) +// if err != nil { +// return err +// } +// for _, item := range result { +// fmt.Println(item.Value) +// } +// +// This function is compatible with MongoDB 1.7.4+. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/MapReduce +// +func (q *Query) MapReduce(job *MapReduce, result interface{}) (info *MapReduceInfo, err error) { + q.m.Lock() + session := q.session + op := q.op // Copy. + limit := q.limit + q.m.Unlock() + + c := strings.Index(op.collection, ".") + if c < 0 { + return nil, errors.New("Bad collection name: " + op.collection) + } + + dbname := op.collection[:c] + cname := op.collection[c+1:] + + cmd := mapReduceCmd{ + Collection: cname, + Map: job.Map, + Reduce: job.Reduce, + Finalize: job.Finalize, + Out: fixMROut(job.Out), + Scope: job.Scope, + Verbose: job.Verbose, + Query: op.query, + Sort: op.options.OrderBy, + Limit: limit, + } + + if cmd.Out == nil { + cmd.Out = bson.D{{"inline", 1}} + } + + var doc mapReduceResult + err = session.DB(dbname).Run(&cmd, &doc) + if err != nil { + return nil, err + } + if doc.Err != "" { + return nil, errors.New(doc.Err) + } + + info = &MapReduceInfo{ + InputCount: doc.Counts.Input, + EmitCount: doc.Counts.Emit, + OutputCount: doc.Counts.Output, + Time: doc.TimeMillis * 1e6, + } + + if doc.Result.Kind == 0x02 { + err = doc.Result.Unmarshal(&info.Collection) + info.Database = dbname + } else if doc.Result.Kind == 0x03 { + var v struct{ Collection, Db string } + err = doc.Result.Unmarshal(&v) + info.Collection = v.Collection + info.Database = v.Db + } + + if doc.Timing != nil { + info.VerboseTime = doc.Timing + info.VerboseTime.Total *= 1e6 + info.VerboseTime.Map *= 1e6 + info.VerboseTime.EmitLoop *= 1e6 + } + + if err != nil { + return nil, err + } + if result != nil { + return info, doc.Results.Unmarshal(result) + } + return info, nil +} + +// The "out" option in the MapReduce command must be ordered. This was +// found after the implementation was accepting maps for a long time, +// so rather than breaking the API, we'll fix the order if necessary. +// Details about the order requirement may be seen in MongoDB's code: +// +// http://goo.gl/L8jwJX +// +func fixMROut(out interface{}) interface{} { + outv := reflect.ValueOf(out) + if outv.Kind() != reflect.Map || outv.Type().Key() != reflect.TypeOf("") { + return out + } + outs := make(bson.D, outv.Len()) + + outTypeIndex := -1 + for i, k := range outv.MapKeys() { + ks := k.String() + outs[i].Name = ks + outs[i].Value = outv.MapIndex(k).Interface() + switch ks { + case "normal", "replace", "merge", "reduce", "inline": + outTypeIndex = i + } + } + if outTypeIndex > 0 { + outs[0], outs[outTypeIndex] = outs[outTypeIndex], outs[0] + } + return outs +} + +// Change holds fields for running a findAndModify MongoDB command via +// the Query.Apply method. +type Change struct { + Update interface{} // The update document + Upsert bool // Whether to insert in case the document isn't found + Remove bool // Whether to remove the document found rather than updating + ReturnNew bool // Should the modified document be returned rather than the old one +} + +type findModifyCmd struct { + Collection string "findAndModify" + Query, Update, Sort, Fields interface{} ",omitempty" + Upsert, Remove, New bool ",omitempty" +} + +type valueResult struct { + Value bson.Raw + LastError LastError "lastErrorObject" +} + +// Apply runs the findAndModify MongoDB command, which allows updating, upserting +// or removing a document matching a query and atomically returning either the old +// version (the default) or the new version of the document (when ReturnNew is true). +// If no objects are found Apply returns ErrNotFound. +// +// The Sort and Select query methods affect the result of Apply. In case +// multiple documents match the query, Sort enables selecting which document to +// act upon by ordering it first. Select enables retrieving only a selection +// of fields of the new or old document. +// +// This simple example increments a counter and prints its new value: +// +// change := mgo.Change{ +// Update: bson.M{"$inc": bson.M{"n": 1}}, +// ReturnNew: true, +// } +// info, err = col.Find(M{"_id": id}).Apply(change, &doc) +// fmt.Println(doc.N) +// +// This method depends on MongoDB >= 2.0 to work properly. +// +// Relevant documentation: +// +// http://www.mongodb.org/display/DOCS/findAndModify+Command +// http://www.mongodb.org/display/DOCS/Updating +// http://www.mongodb.org/display/DOCS/Atomic+Operations +// +func (q *Query) Apply(change Change, result interface{}) (info *ChangeInfo, err error) { + q.m.Lock() + session := q.session + op := q.op // Copy. + q.m.Unlock() + + c := strings.Index(op.collection, ".") + if c < 0 { + return nil, errors.New("bad collection name: " + op.collection) + } + + dbname := op.collection[:c] + cname := op.collection[c+1:] + + cmd := findModifyCmd{ + Collection: cname, + Update: change.Update, + Upsert: change.Upsert, + Remove: change.Remove, + New: change.ReturnNew, + Query: op.query, + Sort: op.options.OrderBy, + Fields: op.selector, + } + + session = session.Clone() + defer session.Close() + session.SetMode(Strong, false) + + var doc valueResult + err = session.DB(dbname).Run(&cmd, &doc) + if err != nil { + if qerr, ok := err.(*QueryError); ok && qerr.Message == "No matching object found" { + return nil, ErrNotFound + } + return nil, err + } + if doc.LastError.N == 0 { + return nil, ErrNotFound + } + if doc.Value.Kind != 0x0A && result != nil { + err = doc.Value.Unmarshal(result) + if err != nil { + return nil, err + } + } + info = &ChangeInfo{} + lerr := &doc.LastError + if lerr.UpdatedExisting { + info.Updated = lerr.N + info.Matched = lerr.N + } else if change.Remove { + info.Removed = lerr.N + info.Matched = lerr.N + } else if change.Upsert { + info.UpsertedId = lerr.UpsertedId + } + return info, nil +} + +// The BuildInfo type encapsulates details about the running MongoDB server. +// +// Note that the VersionArray field was introduced in MongoDB 2.0+, but it is +// internally assembled from the Version information for previous versions. +// In both cases, VersionArray is guaranteed to have at least 4 entries. +type BuildInfo struct { + Version string + VersionArray []int `bson:"versionArray"` // On MongoDB 2.0+; assembled from Version otherwise + GitVersion string `bson:"gitVersion"` + OpenSSLVersion string `bson:"OpenSSLVersion"` + SysInfo string `bson:"sysInfo"` // Deprecated and empty on MongoDB 3.2+. + Bits int + Debug bool + MaxObjectSize int `bson:"maxBsonObjectSize"` +} + +// VersionAtLeast returns whether the BuildInfo version is greater than or +// equal to the provided version number. If more than one number is +// provided, numbers will be considered as major, minor, and so on. +func (bi *BuildInfo) VersionAtLeast(version ...int) bool { + for i := range version { + if i == len(bi.VersionArray) { + return false + } + if bi.VersionArray[i] < version[i] { + return false + } + } + return true +} + +// BuildInfo retrieves the version and other details about the +// running MongoDB server. +func (s *Session) BuildInfo() (info BuildInfo, err error) { + err = s.Run(bson.D{{"buildInfo", "1"}}, &info) + if len(info.VersionArray) == 0 { + for _, a := range strings.Split(info.Version, ".") { + i, err := strconv.Atoi(a) + if err != nil { + break + } + info.VersionArray = append(info.VersionArray, i) + } + } + for len(info.VersionArray) < 4 { + info.VersionArray = append(info.VersionArray, 0) + } + if i := strings.IndexByte(info.GitVersion, ' '); i >= 0 { + // Strip off the " modules: enterprise" suffix. This is a _git version_. + // That information may be moved to another field if people need it. + info.GitVersion = info.GitVersion[:i] + } + if info.SysInfo == "deprecated" { + info.SysInfo = "" + } + return +} + +// --------------------------------------------------------------------------- +// Internal session handling helpers. + +func (s *Session) acquireSocket(slaveOk bool) (*mongoSocket, error) { + + // Read-only lock to check for previously reserved socket. + s.m.RLock() + // If there is a slave socket reserved and its use is acceptable, take it as long + // as there isn't a master socket which would be preferred by the read preference mode. + if s.slaveSocket != nil && s.slaveOk && slaveOk && (s.masterSocket == nil || s.consistency != PrimaryPreferred && s.consistency != Monotonic) { + socket := s.slaveSocket + socket.Acquire() + s.m.RUnlock() + return socket, nil + } + if s.masterSocket != nil { + socket := s.masterSocket + socket.Acquire() + s.m.RUnlock() + return socket, nil + } + s.m.RUnlock() + + // No go. We may have to request a new socket and change the session, + // so try again but with an exclusive lock now. + s.m.Lock() + defer s.m.Unlock() + + if s.slaveSocket != nil && s.slaveOk && slaveOk && (s.masterSocket == nil || s.consistency != PrimaryPreferred && s.consistency != Monotonic) { + s.slaveSocket.Acquire() + return s.slaveSocket, nil + } + if s.masterSocket != nil { + s.masterSocket.Acquire() + return s.masterSocket, nil + } + + // Still not good. We need a new socket. + sock, err := s.cluster().AcquireSocket(s.consistency, slaveOk && s.slaveOk, s.syncTimeout, s.sockTimeout, s.queryConfig.op.serverTags, s.poolLimit) + if err != nil { + return nil, err + } + + // Authenticate the new socket. + if err = s.socketLogin(sock); err != nil { + sock.Release() + return nil, err + } + + // Keep track of the new socket, if necessary. + // Note that, as a special case, if the Eventual session was + // not refreshed (s.slaveSocket != nil), it means the developer + // asked to preserve an existing reserved socket, so we'll + // keep a master one around too before a Refresh happens. + if s.consistency != Eventual || s.slaveSocket != nil { + s.setSocket(sock) + } + + // Switch over a Monotonic session to the master. + if !slaveOk && s.consistency == Monotonic { + s.slaveOk = false + } + + return sock, nil +} + +// setSocket binds socket to this section. +func (s *Session) setSocket(socket *mongoSocket) { + info := socket.Acquire() + if info.Master { + if s.masterSocket != nil { + panic("setSocket(master) with existing master socket reserved") + } + s.masterSocket = socket + } else { + if s.slaveSocket != nil { + panic("setSocket(slave) with existing slave socket reserved") + } + s.slaveSocket = socket + } +} + +// unsetSocket releases any slave and/or master sockets reserved. +func (s *Session) unsetSocket() { + if s.masterSocket != nil { + s.masterSocket.Release() + } + if s.slaveSocket != nil { + s.slaveSocket.Release() + } + s.masterSocket = nil + s.slaveSocket = nil +} + +func (iter *Iter) replyFunc() replyFunc { + return func(err error, op *replyOp, docNum int, docData []byte) { + iter.m.Lock() + iter.docsToReceive-- + if err != nil { + iter.err = err + debugf("Iter %p received an error: %s", iter, err.Error()) + } else if docNum == -1 { + debugf("Iter %p received no documents (cursor=%d).", iter, op.cursorId) + if op != nil && op.cursorId != 0 { + // It's a tailable cursor. + iter.op.cursorId = op.cursorId + } else if op != nil && op.cursorId == 0 && op.flags&1 == 1 { + // Cursor likely timed out. + iter.err = ErrCursor + } else { + iter.err = ErrNotFound + } + } else if iter.findCmd { + debugf("Iter %p received reply document %d/%d (cursor=%d)", iter, docNum+1, int(op.replyDocs), op.cursorId) + var findReply struct { + Ok bool + Code int + Errmsg string + Cursor cursorData + } + if err := bson.Unmarshal(docData, &findReply); err != nil { + iter.err = err + } else if !findReply.Ok && findReply.Errmsg != "" { + iter.err = &QueryError{Code: findReply.Code, Message: findReply.Errmsg} + } else if len(findReply.Cursor.FirstBatch) == 0 && len(findReply.Cursor.NextBatch) == 0 { + iter.err = ErrNotFound + } else { + batch := findReply.Cursor.FirstBatch + if len(batch) == 0 { + batch = findReply.Cursor.NextBatch + } + rdocs := len(batch) + for _, raw := range batch { + iter.docData.Push(raw.Data) + } + iter.docsToReceive = 0 + docsToProcess := iter.docData.Len() + if iter.limit == 0 || int32(docsToProcess) < iter.limit { + iter.docsBeforeMore = docsToProcess - int(iter.prefetch*float64(rdocs)) + } else { + iter.docsBeforeMore = -1 + } + iter.op.cursorId = findReply.Cursor.Id + } + } else { + rdocs := int(op.replyDocs) + if docNum == 0 { + iter.docsToReceive += rdocs - 1 + docsToProcess := iter.docData.Len() + rdocs + if iter.limit == 0 || int32(docsToProcess) < iter.limit { + iter.docsBeforeMore = docsToProcess - int(iter.prefetch*float64(rdocs)) + } else { + iter.docsBeforeMore = -1 + } + iter.op.cursorId = op.cursorId + } + debugf("Iter %p received reply document %d/%d (cursor=%d)", iter, docNum+1, rdocs, op.cursorId) + iter.docData.Push(docData) + } + iter.gotReply.Broadcast() + iter.m.Unlock() + } +} + +type writeCmdResult struct { + Ok bool + N int + NModified int `bson:"nModified"` + Upserted []struct { + Index int + Id interface{} `_id` + } + ConcernError writeConcernError `bson:"writeConcernError"` + Errors []writeCmdError `bson:"writeErrors"` +} + +type writeConcernError struct { + Code int + ErrMsg string +} + +type writeCmdError struct { + Index int + Code int + ErrMsg string +} + +func (r *writeCmdResult) BulkErrorCases() []BulkErrorCase { + ecases := make([]BulkErrorCase, len(r.Errors)) + for i, err := range r.Errors { + ecases[i] = BulkErrorCase{err.Index, &QueryError{Code: err.Code, Message: err.ErrMsg}} + } + return ecases +} + +// writeOp runs the given modifying operation, potentially followed up +// by a getLastError command in case the session is in safe mode. The +// LastError result is made available in lerr, and if lerr.Err is set it +// will also be returned as err. +func (c *Collection) writeOp(op interface{}, ordered bool) (lerr *LastError, err error) { + s := c.Database.Session + socket, err := s.acquireSocket(c.Database.Name == "local") + if err != nil { + return nil, err + } + defer socket.Release() + + s.m.RLock() + safeOp := s.safeOp + bypassValidation := s.bypassValidation + s.m.RUnlock() + + if socket.ServerInfo().MaxWireVersion >= 2 { + // Servers with a more recent write protocol benefit from write commands. + if op, ok := op.(*insertOp); ok && len(op.documents) > 1000 { + var lerr LastError + + // Maximum batch size is 1000. Must split out in separate operations for compatibility. + all := op.documents + for i := 0; i < len(all); i += 1000 { + l := i + 1000 + if l > len(all) { + l = len(all) + } + op.documents = all[i:l] + oplerr, err := c.writeOpCommand(socket, safeOp, op, ordered, bypassValidation) + lerr.N += oplerr.N + lerr.modified += oplerr.modified + if err != nil { + for ei := range lerr.ecases { + oplerr.ecases[ei].Index += i + } + lerr.ecases = append(lerr.ecases, oplerr.ecases...) + if op.flags&1 == 0 { + return &lerr, err + } + } + } + if len(lerr.ecases) != 0 { + return &lerr, lerr.ecases[0].Err + } + return &lerr, nil + } + return c.writeOpCommand(socket, safeOp, op, ordered, bypassValidation) + } else if updateOps, ok := op.(bulkUpdateOp); ok { + var lerr LastError + for i, updateOp := range updateOps { + oplerr, err := c.writeOpQuery(socket, safeOp, updateOp, ordered) + lerr.N += oplerr.N + lerr.modified += oplerr.modified + if err != nil { + lerr.ecases = append(lerr.ecases, BulkErrorCase{i, err}) + if ordered { + break + } + } + } + if len(lerr.ecases) != 0 { + return &lerr, lerr.ecases[0].Err + } + return &lerr, nil + } else if deleteOps, ok := op.(bulkDeleteOp); ok { + var lerr LastError + for i, deleteOp := range deleteOps { + oplerr, err := c.writeOpQuery(socket, safeOp, deleteOp, ordered) + lerr.N += oplerr.N + lerr.modified += oplerr.modified + if err != nil { + lerr.ecases = append(lerr.ecases, BulkErrorCase{i, err}) + if ordered { + break + } + } + } + if len(lerr.ecases) != 0 { + return &lerr, lerr.ecases[0].Err + } + return &lerr, nil + } + return c.writeOpQuery(socket, safeOp, op, ordered) +} + +func (c *Collection) writeOpQuery(socket *mongoSocket, safeOp *queryOp, op interface{}, ordered bool) (lerr *LastError, err error) { + if safeOp == nil { + return nil, socket.Query(op) + } + + var mutex sync.Mutex + var replyData []byte + var replyErr error + mutex.Lock() + query := *safeOp // Copy the data. + query.collection = c.Database.Name + ".$cmd" + query.replyFunc = func(err error, reply *replyOp, docNum int, docData []byte) { + replyData = docData + replyErr = err + mutex.Unlock() + } + err = socket.Query(op, &query) + if err != nil { + return nil, err + } + mutex.Lock() // Wait. + if replyErr != nil { + return nil, replyErr // XXX TESTME + } + if hasErrMsg(replyData) { + // Looks like getLastError itself failed. + err = checkQueryError(query.collection, replyData) + if err != nil { + return nil, err + } + } + result := &LastError{} + bson.Unmarshal(replyData, &result) + debugf("Result from writing query: %#v", result) + if result.Err != "" { + result.ecases = []BulkErrorCase{{Index: 0, Err: result}} + if insert, ok := op.(*insertOp); ok && len(insert.documents) > 1 { + result.ecases[0].Index = -1 + } + return result, result + } + // With MongoDB <2.6 we don't know how many actually changed, so make it the same as matched. + result.modified = result.N + return result, nil +} + +func (c *Collection) writeOpCommand(socket *mongoSocket, safeOp *queryOp, op interface{}, ordered, bypassValidation bool) (lerr *LastError, err error) { + var writeConcern interface{} + if safeOp == nil { + writeConcern = bson.D{{"w", 0}} + } else { + writeConcern = safeOp.query.(*getLastError) + } + + var cmd bson.D + switch op := op.(type) { + case *insertOp: + // http://docs.mongodb.org/manual/reference/command/insert + cmd = bson.D{ + {"insert", c.Name}, + {"documents", op.documents}, + {"writeConcern", writeConcern}, + {"ordered", op.flags&1 == 0}, + } + case *updateOp: + // http://docs.mongodb.org/manual/reference/command/update + cmd = bson.D{ + {"update", c.Name}, + {"updates", []interface{}{op}}, + {"writeConcern", writeConcern}, + {"ordered", ordered}, + } + case bulkUpdateOp: + // http://docs.mongodb.org/manual/reference/command/update + cmd = bson.D{ + {"update", c.Name}, + {"updates", op}, + {"writeConcern", writeConcern}, + {"ordered", ordered}, + } + case *deleteOp: + // http://docs.mongodb.org/manual/reference/command/delete + cmd = bson.D{ + {"delete", c.Name}, + {"deletes", []interface{}{op}}, + {"writeConcern", writeConcern}, + {"ordered", ordered}, + } + case bulkDeleteOp: + // http://docs.mongodb.org/manual/reference/command/delete + cmd = bson.D{ + {"delete", c.Name}, + {"deletes", op}, + {"writeConcern", writeConcern}, + {"ordered", ordered}, + } + } + if bypassValidation { + cmd = append(cmd, bson.DocElem{"bypassDocumentValidation", true}) + } + + var result writeCmdResult + err = c.Database.run(socket, cmd, &result) + debugf("Write command result: %#v (err=%v)", result, err) + ecases := result.BulkErrorCases() + lerr = &LastError{ + UpdatedExisting: result.N > 0 && len(result.Upserted) == 0, + N: result.N, + + modified: result.NModified, + ecases: ecases, + } + if len(result.Upserted) > 0 { + lerr.UpsertedId = result.Upserted[0].Id + } + if len(result.Errors) > 0 { + e := result.Errors[0] + lerr.Code = e.Code + lerr.Err = e.ErrMsg + err = lerr + } else if result.ConcernError.Code != 0 { + e := result.ConcernError + lerr.Code = e.Code + lerr.Err = e.ErrMsg + err = lerr + } + + if err == nil && safeOp == nil { + return nil, nil + } + return lerr, err +} + +func hasErrMsg(d []byte) bool { + l := len(d) + for i := 0; i+8 < l; i++ { + if d[i] == '\x02' && d[i+1] == 'e' && d[i+2] == 'r' && d[i+3] == 'r' && d[i+4] == 'm' && d[i+5] == 's' && d[i+6] == 'g' && d[i+7] == '\x00' { + return true + } + } + return false +} diff --git a/vendor/gopkg.in/mgo.v2/socket.go b/vendor/gopkg.in/mgo.v2/socket.go new file mode 100644 index 0000000..8891dd5 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/socket.go @@ -0,0 +1,707 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "errors" + "fmt" + "net" + "sync" + "time" + + "gopkg.in/mgo.v2/bson" +) + +type replyFunc func(err error, reply *replyOp, docNum int, docData []byte) + +type mongoSocket struct { + sync.Mutex + server *mongoServer // nil when cached + conn net.Conn + timeout time.Duration + addr string // For debugging only. + nextRequestId uint32 + replyFuncs map[uint32]replyFunc + references int + creds []Credential + logout []Credential + cachedNonce string + gotNonce sync.Cond + dead error + serverInfo *mongoServerInfo +} + +type queryOpFlags uint32 + +const ( + _ queryOpFlags = 1 << iota + flagTailable + flagSlaveOk + flagLogReplay + flagNoCursorTimeout + flagAwaitData +) + +type queryOp struct { + collection string + query interface{} + skip int32 + limit int32 + selector interface{} + flags queryOpFlags + replyFunc replyFunc + + mode Mode + options queryWrapper + hasOptions bool + serverTags []bson.D +} + +type queryWrapper struct { + Query interface{} "$query" + OrderBy interface{} "$orderby,omitempty" + Hint interface{} "$hint,omitempty" + Explain bool "$explain,omitempty" + Snapshot bool "$snapshot,omitempty" + ReadPreference bson.D "$readPreference,omitempty" + MaxScan int "$maxScan,omitempty" + MaxTimeMS int "$maxTimeMS,omitempty" + Comment string "$comment,omitempty" +} + +func (op *queryOp) finalQuery(socket *mongoSocket) interface{} { + if op.flags&flagSlaveOk != 0 && socket.ServerInfo().Mongos { + var modeName string + switch op.mode { + case Strong: + modeName = "primary" + case Monotonic, Eventual: + modeName = "secondaryPreferred" + case PrimaryPreferred: + modeName = "primaryPreferred" + case Secondary: + modeName = "secondary" + case SecondaryPreferred: + modeName = "secondaryPreferred" + case Nearest: + modeName = "nearest" + default: + panic(fmt.Sprintf("unsupported read mode: %d", op.mode)) + } + op.hasOptions = true + op.options.ReadPreference = make(bson.D, 0, 2) + op.options.ReadPreference = append(op.options.ReadPreference, bson.DocElem{"mode", modeName}) + if len(op.serverTags) > 0 { + op.options.ReadPreference = append(op.options.ReadPreference, bson.DocElem{"tags", op.serverTags}) + } + } + if op.hasOptions { + if op.query == nil { + var empty bson.D + op.options.Query = empty + } else { + op.options.Query = op.query + } + debugf("final query is %#v\n", &op.options) + return &op.options + } + return op.query +} + +type getMoreOp struct { + collection string + limit int32 + cursorId int64 + replyFunc replyFunc +} + +type replyOp struct { + flags uint32 + cursorId int64 + firstDoc int32 + replyDocs int32 +} + +type insertOp struct { + collection string // "database.collection" + documents []interface{} // One or more documents to insert + flags uint32 +} + +type updateOp struct { + Collection string `bson:"-"` // "database.collection" + Selector interface{} `bson:"q"` + Update interface{} `bson:"u"` + Flags uint32 `bson:"-"` + Multi bool `bson:"multi,omitempty"` + Upsert bool `bson:"upsert,omitempty"` +} + +type deleteOp struct { + Collection string `bson:"-"` // "database.collection" + Selector interface{} `bson:"q"` + Flags uint32 `bson:"-"` + Limit int `bson:"limit"` +} + +type killCursorsOp struct { + cursorIds []int64 +} + +type requestInfo struct { + bufferPos int + replyFunc replyFunc +} + +func newSocket(server *mongoServer, conn net.Conn, timeout time.Duration) *mongoSocket { + socket := &mongoSocket{ + conn: conn, + addr: server.Addr, + server: server, + replyFuncs: make(map[uint32]replyFunc), + } + socket.gotNonce.L = &socket.Mutex + if err := socket.InitialAcquire(server.Info(), timeout); err != nil { + panic("newSocket: InitialAcquire returned error: " + err.Error()) + } + stats.socketsAlive(+1) + debugf("Socket %p to %s: initialized", socket, socket.addr) + socket.resetNonce() + go socket.readLoop() + return socket +} + +// Server returns the server that the socket is associated with. +// It returns nil while the socket is cached in its respective server. +func (socket *mongoSocket) Server() *mongoServer { + socket.Lock() + server := socket.server + socket.Unlock() + return server +} + +// ServerInfo returns details for the server at the time the socket +// was initially acquired. +func (socket *mongoSocket) ServerInfo() *mongoServerInfo { + socket.Lock() + serverInfo := socket.serverInfo + socket.Unlock() + return serverInfo +} + +// InitialAcquire obtains the first reference to the socket, either +// right after the connection is made or once a recycled socket is +// being put back in use. +func (socket *mongoSocket) InitialAcquire(serverInfo *mongoServerInfo, timeout time.Duration) error { + socket.Lock() + if socket.references > 0 { + panic("Socket acquired out of cache with references") + } + if socket.dead != nil { + dead := socket.dead + socket.Unlock() + return dead + } + socket.references++ + socket.serverInfo = serverInfo + socket.timeout = timeout + stats.socketsInUse(+1) + stats.socketRefs(+1) + socket.Unlock() + return nil +} + +// Acquire obtains an additional reference to the socket. +// The socket will only be recycled when it's released as many +// times as it's been acquired. +func (socket *mongoSocket) Acquire() (info *mongoServerInfo) { + socket.Lock() + if socket.references == 0 { + panic("Socket got non-initial acquire with references == 0") + } + // We'll track references to dead sockets as well. + // Caller is still supposed to release the socket. + socket.references++ + stats.socketRefs(+1) + serverInfo := socket.serverInfo + socket.Unlock() + return serverInfo +} + +// Release decrements a socket reference. The socket will be +// recycled once its released as many times as it's been acquired. +func (socket *mongoSocket) Release() { + socket.Lock() + if socket.references == 0 { + panic("socket.Release() with references == 0") + } + socket.references-- + stats.socketRefs(-1) + if socket.references == 0 { + stats.socketsInUse(-1) + server := socket.server + socket.Unlock() + socket.LogoutAll() + // If the socket is dead server is nil. + if server != nil { + server.RecycleSocket(socket) + } + } else { + socket.Unlock() + } +} + +// SetTimeout changes the timeout used on socket operations. +func (socket *mongoSocket) SetTimeout(d time.Duration) { + socket.Lock() + socket.timeout = d + socket.Unlock() +} + +type deadlineType int + +const ( + readDeadline deadlineType = 1 + writeDeadline deadlineType = 2 +) + +func (socket *mongoSocket) updateDeadline(which deadlineType) { + var when time.Time + if socket.timeout > 0 { + when = time.Now().Add(socket.timeout) + } + whichstr := "" + switch which { + case readDeadline | writeDeadline: + whichstr = "read/write" + socket.conn.SetDeadline(when) + case readDeadline: + whichstr = "read" + socket.conn.SetReadDeadline(when) + case writeDeadline: + whichstr = "write" + socket.conn.SetWriteDeadline(when) + default: + panic("invalid parameter to updateDeadline") + } + debugf("Socket %p to %s: updated %s deadline to %s ahead (%s)", socket, socket.addr, whichstr, socket.timeout, when) +} + +// Close terminates the socket use. +func (socket *mongoSocket) Close() { + socket.kill(errors.New("Closed explicitly"), false) +} + +func (socket *mongoSocket) kill(err error, abend bool) { + socket.Lock() + if socket.dead != nil { + debugf("Socket %p to %s: killed again: %s (previously: %s)", socket, socket.addr, err.Error(), socket.dead.Error()) + socket.Unlock() + return + } + logf("Socket %p to %s: closing: %s (abend=%v)", socket, socket.addr, err.Error(), abend) + socket.dead = err + socket.conn.Close() + stats.socketsAlive(-1) + replyFuncs := socket.replyFuncs + socket.replyFuncs = make(map[uint32]replyFunc) + server := socket.server + socket.server = nil + socket.gotNonce.Broadcast() + socket.Unlock() + for _, replyFunc := range replyFuncs { + logf("Socket %p to %s: notifying replyFunc of closed socket: %s", socket, socket.addr, err.Error()) + replyFunc(err, nil, -1, nil) + } + if abend { + server.AbendSocket(socket) + } +} + +func (socket *mongoSocket) SimpleQuery(op *queryOp) (data []byte, err error) { + var wait, change sync.Mutex + var replyDone bool + var replyData []byte + var replyErr error + wait.Lock() + op.replyFunc = func(err error, reply *replyOp, docNum int, docData []byte) { + change.Lock() + if !replyDone { + replyDone = true + replyErr = err + if err == nil { + replyData = docData + } + } + change.Unlock() + wait.Unlock() + } + err = socket.Query(op) + if err != nil { + return nil, err + } + wait.Lock() + change.Lock() + data = replyData + err = replyErr + change.Unlock() + return data, err +} + +func (socket *mongoSocket) Query(ops ...interface{}) (err error) { + + if lops := socket.flushLogout(); len(lops) > 0 { + ops = append(lops, ops...) + } + + buf := make([]byte, 0, 256) + + // Serialize operations synchronously to avoid interrupting + // other goroutines while we can't really be sending data. + // Also, record id positions so that we can compute request + // ids at once later with the lock already held. + requests := make([]requestInfo, len(ops)) + requestCount := 0 + + for _, op := range ops { + debugf("Socket %p to %s: serializing op: %#v", socket, socket.addr, op) + if qop, ok := op.(*queryOp); ok { + if cmd, ok := qop.query.(*findCmd); ok { + debugf("Socket %p to %s: find command: %#v", socket, socket.addr, cmd) + } + } + start := len(buf) + var replyFunc replyFunc + switch op := op.(type) { + + case *updateOp: + buf = addHeader(buf, 2001) + buf = addInt32(buf, 0) // Reserved + buf = addCString(buf, op.Collection) + buf = addInt32(buf, int32(op.Flags)) + debugf("Socket %p to %s: serializing selector document: %#v", socket, socket.addr, op.Selector) + buf, err = addBSON(buf, op.Selector) + if err != nil { + return err + } + debugf("Socket %p to %s: serializing update document: %#v", socket, socket.addr, op.Update) + buf, err = addBSON(buf, op.Update) + if err != nil { + return err + } + + case *insertOp: + buf = addHeader(buf, 2002) + buf = addInt32(buf, int32(op.flags)) + buf = addCString(buf, op.collection) + for _, doc := range op.documents { + debugf("Socket %p to %s: serializing document for insertion: %#v", socket, socket.addr, doc) + buf, err = addBSON(buf, doc) + if err != nil { + return err + } + } + + case *queryOp: + buf = addHeader(buf, 2004) + buf = addInt32(buf, int32(op.flags)) + buf = addCString(buf, op.collection) + buf = addInt32(buf, op.skip) + buf = addInt32(buf, op.limit) + buf, err = addBSON(buf, op.finalQuery(socket)) + if err != nil { + return err + } + if op.selector != nil { + buf, err = addBSON(buf, op.selector) + if err != nil { + return err + } + } + replyFunc = op.replyFunc + + case *getMoreOp: + buf = addHeader(buf, 2005) + buf = addInt32(buf, 0) // Reserved + buf = addCString(buf, op.collection) + buf = addInt32(buf, op.limit) + buf = addInt64(buf, op.cursorId) + replyFunc = op.replyFunc + + case *deleteOp: + buf = addHeader(buf, 2006) + buf = addInt32(buf, 0) // Reserved + buf = addCString(buf, op.Collection) + buf = addInt32(buf, int32(op.Flags)) + debugf("Socket %p to %s: serializing selector document: %#v", socket, socket.addr, op.Selector) + buf, err = addBSON(buf, op.Selector) + if err != nil { + return err + } + + case *killCursorsOp: + buf = addHeader(buf, 2007) + buf = addInt32(buf, 0) // Reserved + buf = addInt32(buf, int32(len(op.cursorIds))) + for _, cursorId := range op.cursorIds { + buf = addInt64(buf, cursorId) + } + + default: + panic("internal error: unknown operation type") + } + + setInt32(buf, start, int32(len(buf)-start)) + + if replyFunc != nil { + request := &requests[requestCount] + request.replyFunc = replyFunc + request.bufferPos = start + requestCount++ + } + } + + // Buffer is ready for the pipe. Lock, allocate ids, and enqueue. + + socket.Lock() + if socket.dead != nil { + dead := socket.dead + socket.Unlock() + debugf("Socket %p to %s: failing query, already closed: %s", socket, socket.addr, socket.dead.Error()) + // XXX This seems necessary in case the session is closed concurrently + // with a query being performed, but it's not yet tested: + for i := 0; i != requestCount; i++ { + request := &requests[i] + if request.replyFunc != nil { + request.replyFunc(dead, nil, -1, nil) + } + } + return dead + } + + wasWaiting := len(socket.replyFuncs) > 0 + + // Reserve id 0 for requests which should have no responses. + requestId := socket.nextRequestId + 1 + if requestId == 0 { + requestId++ + } + socket.nextRequestId = requestId + uint32(requestCount) + for i := 0; i != requestCount; i++ { + request := &requests[i] + setInt32(buf, request.bufferPos+4, int32(requestId)) + socket.replyFuncs[requestId] = request.replyFunc + requestId++ + } + + debugf("Socket %p to %s: sending %d op(s) (%d bytes)", socket, socket.addr, len(ops), len(buf)) + stats.sentOps(len(ops)) + + socket.updateDeadline(writeDeadline) + _, err = socket.conn.Write(buf) + if !wasWaiting && requestCount > 0 { + socket.updateDeadline(readDeadline) + } + socket.Unlock() + return err +} + +func fill(r net.Conn, b []byte) error { + l := len(b) + n, err := r.Read(b) + for n != l && err == nil { + var ni int + ni, err = r.Read(b[n:]) + n += ni + } + return err +} + +// Estimated minimum cost per socket: 1 goroutine + memory for the largest +// document ever seen. +func (socket *mongoSocket) readLoop() { + p := make([]byte, 36) // 16 from header + 20 from OP_REPLY fixed fields + s := make([]byte, 4) + conn := socket.conn // No locking, conn never changes. + for { + err := fill(conn, p) + if err != nil { + socket.kill(err, true) + return + } + + totalLen := getInt32(p, 0) + responseTo := getInt32(p, 8) + opCode := getInt32(p, 12) + + // Don't use socket.server.Addr here. socket is not + // locked and socket.server may go away. + debugf("Socket %p to %s: got reply (%d bytes)", socket, socket.addr, totalLen) + + _ = totalLen + + if opCode != 1 { + socket.kill(errors.New("opcode != 1, corrupted data?"), true) + return + } + + reply := replyOp{ + flags: uint32(getInt32(p, 16)), + cursorId: getInt64(p, 20), + firstDoc: getInt32(p, 28), + replyDocs: getInt32(p, 32), + } + + stats.receivedOps(+1) + stats.receivedDocs(int(reply.replyDocs)) + + socket.Lock() + replyFunc, ok := socket.replyFuncs[uint32(responseTo)] + if ok { + delete(socket.replyFuncs, uint32(responseTo)) + } + socket.Unlock() + + if replyFunc != nil && reply.replyDocs == 0 { + replyFunc(nil, &reply, -1, nil) + } else { + for i := 0; i != int(reply.replyDocs); i++ { + err := fill(conn, s) + if err != nil { + if replyFunc != nil { + replyFunc(err, nil, -1, nil) + } + socket.kill(err, true) + return + } + + b := make([]byte, int(getInt32(s, 0))) + + // copy(b, s) in an efficient way. + b[0] = s[0] + b[1] = s[1] + b[2] = s[2] + b[3] = s[3] + + err = fill(conn, b[4:]) + if err != nil { + if replyFunc != nil { + replyFunc(err, nil, -1, nil) + } + socket.kill(err, true) + return + } + + if globalDebug && globalLogger != nil { + m := bson.M{} + if err := bson.Unmarshal(b, m); err == nil { + debugf("Socket %p to %s: received document: %#v", socket, socket.addr, m) + } + } + + if replyFunc != nil { + replyFunc(nil, &reply, i, b) + } + + // XXX Do bound checking against totalLen. + } + } + + socket.Lock() + if len(socket.replyFuncs) == 0 { + // Nothing else to read for now. Disable deadline. + socket.conn.SetReadDeadline(time.Time{}) + } else { + socket.updateDeadline(readDeadline) + } + socket.Unlock() + + // XXX Do bound checking against totalLen. + } +} + +var emptyHeader = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} + +func addHeader(b []byte, opcode int) []byte { + i := len(b) + b = append(b, emptyHeader...) + // Enough for current opcodes. + b[i+12] = byte(opcode) + b[i+13] = byte(opcode >> 8) + return b +} + +func addInt32(b []byte, i int32) []byte { + return append(b, byte(i), byte(i>>8), byte(i>>16), byte(i>>24)) +} + +func addInt64(b []byte, i int64) []byte { + return append(b, byte(i), byte(i>>8), byte(i>>16), byte(i>>24), + byte(i>>32), byte(i>>40), byte(i>>48), byte(i>>56)) +} + +func addCString(b []byte, s string) []byte { + b = append(b, []byte(s)...) + b = append(b, 0) + return b +} + +func addBSON(b []byte, doc interface{}) ([]byte, error) { + if doc == nil { + return append(b, 5, 0, 0, 0, 0), nil + } + data, err := bson.Marshal(doc) + if err != nil { + return b, err + } + return append(b, data...), nil +} + +func setInt32(b []byte, pos int, i int32) { + b[pos] = byte(i) + b[pos+1] = byte(i >> 8) + b[pos+2] = byte(i >> 16) + b[pos+3] = byte(i >> 24) +} + +func getInt32(b []byte, pos int) int32 { + return (int32(b[pos+0])) | + (int32(b[pos+1]) << 8) | + (int32(b[pos+2]) << 16) | + (int32(b[pos+3]) << 24) +} + +func getInt64(b []byte, pos int) int64 { + return (int64(b[pos+0])) | + (int64(b[pos+1]) << 8) | + (int64(b[pos+2]) << 16) | + (int64(b[pos+3]) << 24) | + (int64(b[pos+4]) << 32) | + (int64(b[pos+5]) << 40) | + (int64(b[pos+6]) << 48) | + (int64(b[pos+7]) << 56) +} diff --git a/vendor/gopkg.in/mgo.v2/stats.go b/vendor/gopkg.in/mgo.v2/stats.go new file mode 100644 index 0000000..59723e6 --- /dev/null +++ b/vendor/gopkg.in/mgo.v2/stats.go @@ -0,0 +1,147 @@ +// mgo - MongoDB driver for Go +// +// Copyright (c) 2010-2012 - Gustavo Niemeyer +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package mgo + +import ( + "sync" +) + +var stats *Stats +var statsMutex sync.Mutex + +func SetStats(enabled bool) { + statsMutex.Lock() + if enabled { + if stats == nil { + stats = &Stats{} + } + } else { + stats = nil + } + statsMutex.Unlock() +} + +func GetStats() (snapshot Stats) { + statsMutex.Lock() + snapshot = *stats + statsMutex.Unlock() + return +} + +func ResetStats() { + statsMutex.Lock() + debug("Resetting stats") + old := stats + stats = &Stats{} + // These are absolute values: + stats.Clusters = old.Clusters + stats.SocketsInUse = old.SocketsInUse + stats.SocketsAlive = old.SocketsAlive + stats.SocketRefs = old.SocketRefs + statsMutex.Unlock() + return +} + +type Stats struct { + Clusters int + MasterConns int + SlaveConns int + SentOps int + ReceivedOps int + ReceivedDocs int + SocketsAlive int + SocketsInUse int + SocketRefs int +} + +func (stats *Stats) cluster(delta int) { + if stats != nil { + statsMutex.Lock() + stats.Clusters += delta + statsMutex.Unlock() + } +} + +func (stats *Stats) conn(delta int, master bool) { + if stats != nil { + statsMutex.Lock() + if master { + stats.MasterConns += delta + } else { + stats.SlaveConns += delta + } + statsMutex.Unlock() + } +} + +func (stats *Stats) sentOps(delta int) { + if stats != nil { + statsMutex.Lock() + stats.SentOps += delta + statsMutex.Unlock() + } +} + +func (stats *Stats) receivedOps(delta int) { + if stats != nil { + statsMutex.Lock() + stats.ReceivedOps += delta + statsMutex.Unlock() + } +} + +func (stats *Stats) receivedDocs(delta int) { + if stats != nil { + statsMutex.Lock() + stats.ReceivedDocs += delta + statsMutex.Unlock() + } +} + +func (stats *Stats) socketsInUse(delta int) { + if stats != nil { + statsMutex.Lock() + stats.SocketsInUse += delta + statsMutex.Unlock() + } +} + +func (stats *Stats) socketsAlive(delta int) { + if stats != nil { + statsMutex.Lock() + stats.SocketsAlive += delta + statsMutex.Unlock() + } +} + +func (stats *Stats) socketRefs(delta int) { + if stats != nil { + statsMutex.Lock() + stats.SocketRefs += delta + statsMutex.Unlock() + } +} diff --git a/vendor/vendor.json b/vendor/vendor.json new file mode 100644 index 0000000..bbcb431 --- /dev/null +++ b/vendor/vendor.json @@ -0,0 +1,272 @@ +{ + "comment": "", + "ignore": "test", + "package": [ + { + "checksumSHA1": "g/V4qrXjUGG9B+e3hB+4NAYJ5Gs=", + "path": "github.com/gorilla/context", + "revision": "08b5f424b9271eedf6f9f0ce86cb9396ed337a42", + "revisionTime": "2016-08-17T18:46:32Z" + }, + { + "checksumSHA1": "zmCk+lgIeiOf0Ng9aFP9aFy8ksE=", + "path": "github.com/gorilla/mux", + "revision": "599cba5e7b6137d46ddf58fb1765f5d928e69604", + "revisionTime": "2017-02-28T22:43:54Z" + }, + { + "checksumSHA1": "41syjEeyv9W/6j89XArd1yyWNBU=", + "path": "github.com/gorilla/pat", + "revision": "cf955c3d1f2c27ee96f93e9738085c762ff5f49d", + "revisionTime": "2016-04-13T04:16:32Z" + }, + { + "checksumSHA1": "hEnH6sgR83Qfx7UNnphNNlelmj0=", + "path": "github.com/gorilla/websocket", + "revision": "a91eba7f97777409bc2c443f5534d41dd20c5720", + "revisionTime": "2017-03-19T17:27:27Z" + }, + { + "checksumSHA1": "jOXIxsHHi2+Kq4evLnADdtynshs=", + "path": "github.com/ian-kent/envconf", + "revision": "c19809918c02ab33dc8635d68c77649313185275", + "revisionTime": "2014-10-26T12:11:21Z" + }, + { + "checksumSHA1": "eSeZeKPsZJy0bpJy3Lgcs9xYBtI=", + "path": "github.com/ian-kent/go-log/appenders", + "revision": "5731446c36ab9f716106ce0731f484c50fdf1ad1", + "revisionTime": "2016-01-13T21:12:17Z" + }, + { + "checksumSHA1": "nI7CV/zH5XAsaJeAWdqXGCpjS9A=", + "path": "github.com/ian-kent/go-log/layout", + "revision": "5731446c36ab9f716106ce0731f484c50fdf1ad1", + "revisionTime": "2016-01-13T21:12:17Z" + }, + { + "checksumSHA1": "IH+wMnVjqQmCxpMBhnCB8z5Ooy4=", + "path": "github.com/ian-kent/go-log/levels", + "revision": "5731446c36ab9f716106ce0731f484c50fdf1ad1", + "revisionTime": "2016-01-13T21:12:17Z" + }, + { + "checksumSHA1": "fHZUVCG0T4Ciyli/PO0YxnB8SX8=", + "path": "github.com/ian-kent/go-log/log", + "revision": "5731446c36ab9f716106ce0731f484c50fdf1ad1", + "revisionTime": "2016-01-13T21:12:17Z" + }, + { + "checksumSHA1": "xtv/qqck1gxetQcn2Ixg39MM+0g=", + "path": "github.com/ian-kent/go-log/logger", + "revision": "5731446c36ab9f716106ce0731f484c50fdf1ad1", + "revisionTime": "2016-01-13T21:12:17Z" + }, + { + "checksumSHA1": "kaSS4mHWwdHmFfq8jJAWI8rXkVE=", + "path": "github.com/ian-kent/goose", + "revision": "c3541ea826ad9e0f8a4a8c15ca831e8b0adde58c", + "revisionTime": "2014-12-21T09:00:59Z" + }, + { + "checksumSHA1": "8a3jdb/e82m61ZwOgB2NbxuTjIc=", + "path": "github.com/ian-kent/linkio", + "revision": "77fb4b01842cb4b019137c0227df9a8f9779d0bd", + "revisionTime": "2014-12-29T11:24:53Z" + }, + { + "checksumSHA1": "L6/CjN/3IdKLxfaBGRPTJ7e62bg=", + "path": "github.com/jtolds/gls", + "revision": "bb0351aa7eb6f322f32667d51375f26a2bca6628", + "revisionTime": "2016-12-28T00:43:38Z" + }, + { + "checksumSHA1": "lV4/k0jg1EoqKiJ370h4oASb47o=", + "path": "github.com/mailhog/MailHog-Server", + "revision": "50f74a1aa2991b96313144d1ac718ce4d6739dfd", + "revisionTime": "2017-04-16T23:29:09Z" + }, + { + "checksumSHA1": "3mLt9lHm23gzSdVgjZQmaNxoR2Q=", + "path": "github.com/mailhog/MailHog-Server/api", + "revision": "50f74a1aa2991b96313144d1ac718ce4d6739dfd", + "revisionTime": "2017-04-16T23:29:09Z" + }, + { + "checksumSHA1": "fBFfD/YTkxKmuCE7SlEL4/im9nU=", + "path": "github.com/mailhog/MailHog-Server/config", + "revision": "50f74a1aa2991b96313144d1ac718ce4d6739dfd", + "revisionTime": "2017-04-16T23:29:09Z" + }, + { + "checksumSHA1": "P0jngUraVKUOjL+uPeTc6XPAAPs=", + "path": "github.com/mailhog/MailHog-Server/monkey", + "revision": "50f74a1aa2991b96313144d1ac718ce4d6739dfd", + "revisionTime": "2017-04-16T23:29:09Z" + }, + { + "checksumSHA1": "mgcmDb5LYslWuo+N7v1QU+wv3BI=", + "path": "github.com/mailhog/MailHog-Server/smtp", + "revision": "50f74a1aa2991b96313144d1ac718ce4d6739dfd", + "revisionTime": "2017-04-16T23:29:09Z" + }, + { + "checksumSHA1": "c+xf40wui4+o6gvZ+8NRL1oRviY=", + "path": "github.com/mailhog/MailHog-Server/websockets", + "revision": "50f74a1aa2991b96313144d1ac718ce4d6739dfd", + "revisionTime": "2017-04-16T23:29:09Z" + }, + { + "checksumSHA1": "ITV3qoBKMNZn3GQHMTUHf2NqpGI=", + "path": "github.com/mailhog/MailHog-UI", + "revision": "24b31a47cc5b65d23576bb9884c941d2b88381f7", + "revisionTime": "2017-04-16T23:28:50Z" + }, + { + "checksumSHA1": "At166WzE7Ma17bS+0FOpT8B28dA=", + "path": "github.com/mailhog/MailHog-UI/assets", + "revision": "24b31a47cc5b65d23576bb9884c941d2b88381f7", + "revisionTime": "2017-04-16T23:28:50Z" + }, + { + "checksumSHA1": "Sx9nmFV6wOzDqJIALIEEDLJnnEM=", + "path": "github.com/mailhog/MailHog-UI/config", + "revision": "24b31a47cc5b65d23576bb9884c941d2b88381f7", + "revisionTime": "2017-04-16T23:28:50Z" + }, + { + "checksumSHA1": "ks01ED8w5QMi7arlnp9oTfSZP1A=", + "path": "github.com/mailhog/MailHog-UI/web", + "revision": "24b31a47cc5b65d23576bb9884c941d2b88381f7", + "revisionTime": "2017-04-16T23:28:50Z" + }, + { + "checksumSHA1": "ucMoXRa6ccPO5FyBzhey+N+IOsA=", + "path": "github.com/mailhog/data", + "revision": "024d554958b5bea5db220bfd84922a584d878ded", + "revisionTime": "2017-04-16T19:13:44Z" + }, + { + "checksumSHA1": "vyMXU+/pSliAx1yRf6YdKRhF9Ik=", + "path": "github.com/mailhog/http", + "revision": "2e653938bf190d0e2fbe4825ce74e5bc149a62f2", + "revisionTime": "2017-04-16T22:27:52Z" + }, + { + "checksumSHA1": "fAi7lDdIXYe0NIXdDKci8jsCjLc=", + "path": "github.com/mailhog/mhsendmail/cmd", + "revision": "c097b3bc3fe79388dd44769557c61f424705816e", + "revisionTime": "2016-09-20T20:42:33Z" + }, + { + "checksumSHA1": "eD34ZZL4TFFtDl7tCXMEpp+tDSU=", + "path": "github.com/mailhog/smtp", + "revision": "0c4e9b7e0625fec61d0c30d7b2f6c62852be6c54", + "revisionTime": "2016-11-19T23:01:07Z" + }, + { + "checksumSHA1": "o0iY7SpW0phHTRA/xW3O2CyNLF8=", + "path": "github.com/mailhog/storage", + "revision": "6d871fb23ecd873cb10cdfc3a8dec5f50d2af8fa", + "revisionTime": "2017-04-16T22:27:39Z" + }, + { + "checksumSHA1": "mbhJnsNwGAwkTQH5c2hVRO9YmxA=", + "path": "github.com/philhofer/fwd", + "revision": "98c11a7a6ec829d672b03833c3d69a7fae1ca972", + "revisionTime": "2016-01-29T03:59:39Z" + }, + { + "checksumSHA1": "RPVh5/wbvFG0q0CWHXifXpkYTDg=", + "path": "github.com/smartystreets/assertions", + "revision": "26acb9229f421449ac63d014995b282d59261a8b", + "revisionTime": "2016-12-13T22:48:10Z" + }, + { + "checksumSHA1": "Vzb+dEH/LTYbvr8RXHmt6xJHz04=", + "path": "github.com/smartystreets/assertions/internal/go-render/render", + "revision": "26acb9229f421449ac63d014995b282d59261a8b", + "revisionTime": "2016-12-13T22:48:10Z" + }, + { + "checksumSHA1": "dSZQzhiGN0tEILHxUZcrFFNW2Xw=", + "path": "github.com/smartystreets/assertions/internal/oglematchers", + "revision": "26acb9229f421449ac63d014995b282d59261a8b", + "revisionTime": "2016-12-13T22:48:10Z" + }, + { + "checksumSHA1": "/mwAihy9AmznMzmbPQ5nWJXBiRU=", + "path": "github.com/smartystreets/goconvey/convey", + "revision": "3bd662eac601ad6436e64776af2e112069eb2edc", + "revisionTime": "2017-01-10T12:00:22Z" + }, + { + "checksumSHA1": "9LakndErFi5uCXtY1KWl0iRnT4c=", + "path": "github.com/smartystreets/goconvey/convey/gotest", + "revision": "3bd662eac601ad6436e64776af2e112069eb2edc", + "revisionTime": "2017-01-10T12:00:22Z" + }, + { + "checksumSHA1": "FWDhk37bhAwZ2363D/L2xePwR64=", + "path": "github.com/smartystreets/goconvey/convey/reporting", + "revision": "3bd662eac601ad6436e64776af2e112069eb2edc", + "revisionTime": "2017-01-10T12:00:22Z" + }, + { + "checksumSHA1": "s0GYwa3YNJJXON/b+6ci2Sz9mEw=", + "origin": "github.com/mailhog/mhsendmail/vendor/github.com/spf13/pflag", + "path": "github.com/spf13/pflag", + "revision": "c097b3bc3fe79388dd44769557c61f424705816e", + "revisionTime": "2016-09-20T20:42:33Z" + }, + { + "checksumSHA1": "pf4v+LE9ec8YJ6KAv46/OA9U6os=", + "path": "github.com/t-k/fluent-logger-golang/fluent", + "revision": "0f8ec08f2057a61574b6943e75045fffbeae894e", + "revisionTime": "2015-05-26T07:56:18Z" + }, + { + "checksumSHA1": "aTiJJQgo4zVRwQ9O3y0IY7O9cAk=", + "path": "github.com/tinylib/msgp/msgp", + "revision": "05e600edf28f1b907005ddf6b0488fe68b819971", + "revisionTime": "2016-05-24T15:06:06Z" + }, + { + "checksumSHA1": "vE43s37+4CJ2CDU6TlOUOYE0K9c=", + "path": "golang.org/x/crypto/bcrypt", + "revision": "f6b343c37ca80bfa8ea539da67a0b621f84fab1d", + "revisionTime": "2016-12-21T04:54:10Z" + }, + { + "checksumSHA1": "JsJdKXhz87gWenMwBeejTOeNE7k=", + "path": "golang.org/x/crypto/blowfish", + "revision": "f6b343c37ca80bfa8ea539da67a0b621f84fab1d", + "revisionTime": "2016-12-21T04:54:10Z" + }, + { + "checksumSHA1": "o+ZqT87RLprKCGKMboo5vCxdAvA=", + "path": "gopkg.in/mgo.v2", + "revision": "29cc868a5ca65f401ff318143f9408d02f4799cc", + "revisionTime": "2016-06-09T18:00:28Z" + }, + { + "checksumSHA1": "zTjQOFGy4XTv4L33Kd2FhrV+mbM=", + "path": "gopkg.in/mgo.v2/bson", + "revision": "29cc868a5ca65f401ff318143f9408d02f4799cc", + "revisionTime": "2016-06-09T18:00:28Z" + }, + { + "checksumSHA1": "CkCDTsyN2Lbj1cL8+oaYKoPpI9w=", + "path": "gopkg.in/mgo.v2/internal/sasl", + "revision": "29cc868a5ca65f401ff318143f9408d02f4799cc", + "revisionTime": "2016-06-09T18:00:28Z" + }, + { + "checksumSHA1": "+1WDRPaOphSCmRMxVPIPBV4aubc=", + "path": "gopkg.in/mgo.v2/internal/scram", + "revision": "29cc868a5ca65f401ff318143f9408d02f4799cc", + "revisionTime": "2016-06-09T18:00:28Z" + } + ], + "rootPath": "github.com/mailhog/MailHog" +}